From 6fba79495278c399042e2195d21805be4e9fd99d Mon Sep 17 00:00:00 2001 From: "yuqi.pyq" Date: Thu, 15 Jun 2023 17:03:32 +0800 Subject: [PATCH 1/6] feat: impl page rank --- .github/workflows/ci.yml | 31 + .gitignore | 5 + .husky/commit-msg | 4 + .husky/pre-commit | 4 + CHANGELOG.md | 93 -- README-zh_CN.md | 40 - README.md | 87 +- jest.config.js | 30 + package.json | 57 +- packages/graph-gpu/.prettierrc.js | 5 - packages/graph-gpu/package.json | 9 +- packages/graph-gpu/src/index.ts | 1 + .../graph-gpu/src/link-analysis/pageRank.ts | 14 +- packages/graph-rust/Cargo.toml | 5 + packages/graph-rust/README.md | 0 packages/graph-rust/rustfmt.toml | 8 + packages/graph-rust/src/lib.rs | 5 + packages/graph-rust/src/page_rank.rs | 184 +++ packages/graph-rust/src/prelude.rs | 4 + packages/graph-rust/src/utils.rs | 1 + packages/graph-wasm/.gitignore | 5 - packages/graph-wasm/Cargo.lock | 44 +- packages/graph-wasm/Cargo.toml | 2 +- packages/graph-wasm/rust-src/lib.rs | 4 +- packages/graph-wasm/tsconfig.json | 24 + packages/graph/.prettierrc.js | 5 - packages/graph/jest.config.js | 15 - packages/graph/package.json | 44 +- packages/graph/src/adjacent-matrix.ts | 38 - packages/graph/src/asyncIndex.ts | 69 - packages/graph/src/bfs.ts | 89 -- packages/graph/src/connected-component.ts | 113 -- packages/graph/src/constants/time.ts | 2 - packages/graph/src/cosine-similarity.ts | 27 - packages/graph/src/degree.ts | 51 - packages/graph/src/detect-cycle.ts | 346 ----- packages/graph/src/dfs.ts | 76 -- packages/graph/src/dijkstra.ts | 105 -- packages/graph/src/find-path.ts | 70 - packages/graph/src/floydWarshall.ts | 34 - packages/graph/src/gSpan/gSpan.ts | 954 ------------- packages/graph/src/gSpan/struct.ts | 114 -- packages/graph/src/gaddi.ts | 1211 ----------------- packages/graph/src/i-louvain.ts | 28 - packages/graph/src/index.ts | 89 +- packages/graph/src/k-core.ts | 37 - packages/graph/src/k-means.ts | 216 --- packages/graph/src/label-propagation.ts | 151 -- packages/graph/src/louvain.ts | 401 ------ packages/graph/src/mts.ts | 116 -- packages/graph/src/nodes-cosine-similarity.ts | 50 - packages/graph/src/pageRank.ts | 54 +- packages/graph/src/structs/binary-heap.ts | 90 -- packages/graph/src/structs/linked-list.ts | 245 ---- packages/graph/src/structs/queue.ts | 46 - packages/graph/src/structs/stack.ts | 65 - packages/graph/src/structs/union-find.ts | 45 - packages/graph/src/types.ts | 113 +- packages/graph/src/util.ts | 59 - .../graph/src/utils/data-preprocessing.ts | 110 -- packages/graph/src/utils/node-properties.ts | 78 -- packages/graph/src/utils/vector.ts | 159 --- packages/graph/src/workers/algorithm.ts | 16 - packages/graph/src/workers/constant.ts | 31 - packages/graph/src/workers/createWorker.ts | 33 - packages/graph/src/workers/index.ts | 253 ---- packages/graph/src/workers/index.worker.ts | 27 - packages/graph/tsconfig.json | 1 + site/benchmark/index.html | 4 +- site/benchmark/main.ts | 16 +- site/benchmark/page-rank.ts | 6 +- site/datasets.ts | 15 +- site/types.ts | 2 +- tsconfig.json | 11 + tslint.json | 21 + 75 files changed, 530 insertions(+), 6087 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .husky/commit-msg create mode 100644 .husky/pre-commit delete mode 100644 CHANGELOG.md delete mode 100644 README-zh_CN.md create mode 100644 jest.config.js delete mode 100644 packages/graph-gpu/.prettierrc.js create mode 100644 packages/graph-rust/README.md create mode 100644 packages/graph-rust/rustfmt.toml create mode 100644 packages/graph-rust/src/lib.rs create mode 100644 packages/graph-rust/src/page_rank.rs create mode 100644 packages/graph-rust/src/prelude.rs create mode 100644 packages/graph-rust/src/utils.rs delete mode 100644 packages/graph-wasm/.gitignore create mode 100644 packages/graph-wasm/tsconfig.json delete mode 100644 packages/graph/.prettierrc.js delete mode 100644 packages/graph/jest.config.js delete mode 100644 packages/graph/src/adjacent-matrix.ts delete mode 100644 packages/graph/src/asyncIndex.ts delete mode 100644 packages/graph/src/bfs.ts delete mode 100644 packages/graph/src/connected-component.ts delete mode 100644 packages/graph/src/constants/time.ts delete mode 100644 packages/graph/src/cosine-similarity.ts delete mode 100644 packages/graph/src/degree.ts delete mode 100644 packages/graph/src/detect-cycle.ts delete mode 100644 packages/graph/src/dfs.ts delete mode 100644 packages/graph/src/dijkstra.ts delete mode 100644 packages/graph/src/find-path.ts delete mode 100644 packages/graph/src/floydWarshall.ts delete mode 100644 packages/graph/src/gSpan/gSpan.ts delete mode 100644 packages/graph/src/gSpan/struct.ts delete mode 100644 packages/graph/src/gaddi.ts delete mode 100644 packages/graph/src/i-louvain.ts delete mode 100644 packages/graph/src/k-core.ts delete mode 100644 packages/graph/src/k-means.ts delete mode 100644 packages/graph/src/label-propagation.ts delete mode 100644 packages/graph/src/louvain.ts delete mode 100644 packages/graph/src/mts.ts delete mode 100644 packages/graph/src/nodes-cosine-similarity.ts delete mode 100644 packages/graph/src/structs/binary-heap.ts delete mode 100644 packages/graph/src/structs/linked-list.ts delete mode 100644 packages/graph/src/structs/queue.ts delete mode 100644 packages/graph/src/structs/stack.ts delete mode 100644 packages/graph/src/structs/union-find.ts delete mode 100644 packages/graph/src/util.ts delete mode 100644 packages/graph/src/utils/data-preprocessing.ts delete mode 100644 packages/graph/src/utils/node-properties.ts delete mode 100644 packages/graph/src/utils/vector.ts delete mode 100644 packages/graph/src/workers/algorithm.ts delete mode 100644 packages/graph/src/workers/constant.ts delete mode 100644 packages/graph/src/workers/createWorker.ts delete mode 100644 packages/graph/src/workers/index.ts delete mode 100644 packages/graph/src/workers/index.worker.ts create mode 100644 tsconfig.json create mode 100644 tslint.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..ec72c12 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,31 @@ +name: CI + +on: ["push", "pull_request"] + +jobs: + ci: + runs-on: ubuntu-20.04 + strategy: + matrix: + node-version: [15] + steps: + - uses: actions/checkout@v3 + - uses: pnpm/action-setup@v2 + with: + version: 7 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: "pnpm" + - name: Install dependencies + run: pnpm install + - name: lint + run: | + pnpm lint + - name: build + run: | + pnpm build:ci + - name: test + run: | + pnpm test diff --git a/.gitignore b/.gitignore index 04afe08..759f228 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,8 @@ dist !mock-cert.pem pnpm-lock.yaml tsconfig.tsbuildinfo +target +Cargo.lock +pkg +pkg-node +pkg-parallel diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100644 index 0000000..62aa592 --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx --no-install commitlint --edit "$1" \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..c37466e --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx lint-staged \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 77bd6ce..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,93 +0,0 @@ -# ChangeLog -#### 0.1.25 - -- feat: Optimized data preprocessing coding - when the feature values are all numerical, use the original values (plus normalization), and do not use one-hot coding -#### 0.1.24 - -- fix: i-louvain without cluster problem; -#### 0.1.23 - -- perf: k-means algorithm: set K to minimum -#### 0.1.22 - -- fix: k-means algorithm, perf: louvain -- support specified parameters such as propertyKey,involvedKeys and uninvolvedKeys -#### 0.1.21 - -- perf: k-means algorithm -- Optimize parameters and return - -#### 0.1.20 - -- feat: add k-means algorithm for nodes clustering - -#### 0.1.19 - -- fix: GADDI matched failed problem; - -#### 0.1.18 - -- feat: add one-hot data preprocessing; - -#### 0.1.17 - -- feat: add consine-similarity algorithm and nodes-consine-similarity algorithm; - -#### 0.1.16 - -- feat: add i-louvain based on louvain according to academic; - -#### 0.1.15 - -- feat: k-core algorithm; - -#### 0.1.14 - -- fix: GADDI with proper begin p node; -- feat: louvain with property similarity measure - -#### 0.1.10 - -- fix: GADDI with better accuracy; - -#### 0.1.9 - -- chore: separate sync and async functions into different entries; - -#### 0.1.8 - -- fix: CPU usage increases due to 0.1.3-beta ~ 0.1.3 with publicPath configuration; -- fix: CPU usage increases due to 0.1.6 ~ 0.17 with browser output; -- feat: export fix: export detectAllCycles, detectAllDirectedCycle, detectAllUndirectedCycle; - -#### 0.1.6 - -- fix: louvain with increased clusterId and node with correct new clusterId; - -#### 0.1.5 - -- fix: worker async problem; -- chore: unify allPath and allPaths; - -#### 0.1.2 - -- fix: failed to find result problem in dijkstra; - -#### 0.1.1 - -- fix: shortestPath with wrong result; - -#### 0.1.0 - -- fix: findShortestPath undefined is not interatable; - -#### 0.1.0-beta.3 - -- fix: cannot read degree of undefined problem of GADDI; - -#### 0.1.0-beta - -- feat: worker for algorithms; -- feat: gaddi for graph pattern matching; - -#### 0.0.7 - -- feat: dijkstra supports finding multiple shortest paths; diff --git a/README-zh_CN.md b/README-zh_CN.md deleted file mode 100644 index 59bfce3..0000000 --- a/README-zh_CN.md +++ /dev/null @@ -1,40 +0,0 @@ -### AntV Algorithm - -AntV 算法包,包括图算法及其他各类算法。 - -graph 包下面包括的都是图算法。 - -AntV 共支持以下图算法: -- **社区发现** - - k-core: K-Core社区发现算法 -- 找到符合指定核心度K的密切相关子图结构 - - louvain: LOUVAIN 算法 -- 根据模块度划分社区 - - i-louvain: I-LOUVAIN 算法 -- 根据模块度和惯性模块度(属性相似度)划分社区 - - labelPropagation: 标签传播算法 - - minimumSpanningTree: 图的最小生成树 - -- **节点聚类** - - k-means: K-Means算法 - 根据节点之间的距离将节点分为K个簇 - -- **相似性** - - cosineSimilarity: 余弦相似度算法 -- 计算两个元素的余弦相似度 - - nodesCosineSimilarity: 节点余弦相似度算法 -- 计算节点与种子节点之间的余弦相似度 - - -- **中心性** - - pageRank: 节点排序的页面排序算法 - - degree: 计算节点的入度、出度和总度 - -- **路径** - - dijkstra: Dijkstra 最短路径算法 - - findPath: 通过Dijkstra找到两个节点的最短路径和所有路径 - - floydWarshall: 弗洛伊德最短路径算法 - -- **其它** - - neighbors: 在图中查找节点的邻居 - - GADDI: 图结构和语义模式匹配算法 - - detectCycle: 环路检测 - - dfs: D深度优先遍历 - - adjacentMatrix: 邻接矩阵 - - connectedComponent: 联通子图 - -并支持在 web-worker 中计算上述算法 diff --git a/README.md b/README.md index 54dd385..6332e29 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,64 @@ -### AntV Algorithm +

+AntV Algorithm +

-It is an algorithm package of AntV, mainly includes graph related algorithms: -- **Community Detection** - - k-core: K-Core community detection algorithm -- Find the closely related subgraph structure that conforms to the specified core degree K - - louvain: LOUVAIN algorithm -- Divide communities according to Modularity - - i-louvain: I-LOUVAIN algorithm -- Divide communities according to Modularity and Inertial Modularity (properties similarity) - - labelPropagation: Label Propagation(LP) clustering algorithm - - minimumSpanningTree: Generate the minimum spanning tree for a graph +[![Build Status](https://github.com/antvis/algorithm/workflows/build/badge.svg?branch=next)](https://github.com/antvis//actions) +[![Coverage Status](https://img.shields.io/coveralls/github/antvis/algorithm/next.svg)](https://coveralls.io/github/antvis/algorithm?branch=next) +[![npm Download](https://img.shields.io/npm/dm/@antv/algorithm.svg)](https://www.npmjs.com/package/@antv/algorithm) +[![npm License](https://img.shields.io/npm/l/@antv/algorithm.svg)](https://www.npmjs.com/package/@antv/algorithm) -- **nodes clustering** - - k-means: K-Means algorithm - Cluster nodes into K clusters according to the distance between node +- [@antv/graph](./packages/graph/README.md) [![npm Version](https://img.shields.io/npm/v/@antv/graph/alpha)](https://www.npmjs.com/package/@antv/graph) Implemented with TypeScript. [Online Demo](https://observablehq.com/d/2db6b0cc5e97d8d6) +- [@antv/graph-rust](./packages/graph-rust/README.md) Implemented with Rust. +- [@antv/graph-wasm](./packages/graph-wasm/README.md) [![npm Version](https://img.shields.io/npm/v/@antv/graph-wasm)](https://www.npmjs.com/package/@antv/graph-wasm) Provide a WASM binding of `@antv/graph-rust`. [Online Demo](https://observablehq.com/d/288c16a54543a141) +- [@antv/graph-gpu](./packages/graph-gpu/README.md) [![npm Version](https://img.shields.io/npm/v/@antv/graph-gpu)](https://www.npmjs.com/package/@antv/graph-gpu) Accelerate some parallelizable algorithms such as Fruchterman with WebGPU which has a better performance under large amount of data. -- **Similarity** - - cosineSimilarity: Cosine Similarity algorithm -- Calculate cosine similarity - - nodesCosineSimilarity: Nodes Cosine Similarity algorithm -- Calculate the cosine similarity between other nodes and seed node +It is an algorithm package of AntV, mainly includes graph related algorithms: - **Centrality** - pageRank: page rank algorithm for nodes ranking - - degree: calculate the in degree, out degree, and total degree for nodes - -- **Path** - - dijkstra: Dijkstra shortest path algorithm - - findPath: Find the shortest paths and all paths for two nodes by Dijkstra - - floydWarshall: Floyd Warshall shortest path algorithm - -- **Other** - - neighbors: Find the neighbors for a node in the graph - - GADDI: graph structural and semantic pattern matching algorithm - - detectCycle: Detect the cycles of the graph data - - dfs: Depth-First search algorithm - - adjacentMatrix: calculate the adjacency matrix for graph data - - connectedComponent: Calculate the connected components for graph data - -All the algorithms above supports to be calculated with web-worker. \ No newline at end of file + +## Development + +We use [Vite](https://vitejs.dev/) to start a dev server: + +```bash +$ pnpm dev +``` + +## Test + +Run all the test cases with Jest: + +```bash +$ pnpm test +``` + +## Publish + +Using Changesets with pnpm: https://pnpm.io/next/using-changesets + +The generated markdown files in the .changeset directory should be committed to the repository. + +```bash +pnpm changeset +``` + +This will bump the versions of the packages previously specified with pnpm changeset (and any dependents of those) and update the changelog files. + +```bash +pnpm changeset version +``` + +Commit the changes. This command will publish all packages that have bumped versions not yet present in the registry. + +```bash +pnpm publish -r +``` + +If you want to publish versions for test: + +```bash +pnpm changeset pre enter alpha +pnpm changeset pre enter beta +pnpm changeset pre enter rc +``` diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..3f84e26 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,30 @@ +// module.exports = { + +// preset: "ts-jest", +// collectCoverage: false, +// collectCoverageFrom: [ +// "packages/layout/src/**/*.{ts,js}", +// "!**/node_modules/**", +// "!**/vendor/**", +// ], + +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + testEnvironment: "jsdom", + testRegex: "__tests__/.*test\\.ts?$", + moduleDirectories: ["node_modules", "src", "es"], + moduleFileExtensions: ["js", "ts", "json"], + moduleNameMapper: { + "@antv/algorithm/(.*)": "/src/$1", + }, + transform: { + // '^.+\\.[tj]sx?$' to process js/ts with `ts-jest` + // '^.+\\.m?[tj]sx?$' to process js/ts/mjs/mts with `ts-jest` + "^.+\\.tsx?$": [ + "ts-jest", + { + diagnostics: false, + }, + ], + }, +}; diff --git a/package.json b/package.json index 0708270..2ce7e1a 100644 --- a/package.json +++ b/package.json @@ -1,26 +1,69 @@ { "name": "@antv/algorithm", "private": true, + "homepage": "https://github.com/antvis/algorithm", + "bugs": { + "url": "https://github.com/antvis/algorithm/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/antvis/algorithm.git" + }, + "license": "MIT", "scripts": { "dev": "vite", + "lint:es": "eslint --ext .js --fix", + "lint:ts": "tslint -c tslint.json -p packages/layout/tsconfig.json --fix", + "lint": "npm run lint:ts && npm run lint:es", + "lint-staged": "lint-staged", "build": "pnpm -r run build", - "lint": "pnpm -r run lint", + "build:ci": "pnpm -r run build:ci", + "prepare": "husky install", "test": "pnpm -r run test --no-private", - "prettier": "prettier --write '**/*.{js,jsx,tsx,ts,less,md,json}'", - "pretty-quick": "pretty-quick", - "clean": "pnpm -r run clean", - "clean:modules": "rimraf node_modules", - "ls": "pnpm -r list", + "coverage": "jest --coverage", "build:site": "vite build", - "deploy": "gh-pages -d site/dist" + "deploy": "gh-pages -d site/dist", + "preview": "vite preview --port 9092" + }, + "lint-staged": { + "*.js": [ + "eslint --fix" + ], + "packages/**/*/src/**/*.ts": [ + "tslint -c tslint.json -p ./tsconfig.json --fix" + ] }, "devDependencies": { "@antv/graphlib": "^2.0.0", + "@changesets/cli": "^2.26.1", + "cross-env": "^7.0.3", + "eslint": "^7.32.0", + "eslint-config-airbnb-base": "^14.2.1", + "eslint-config-prettier": "^6.15.0", + "eslint-plugin-import": "^2.27.5", + "gh-pages": "^5.0.0", "graphology": "^0.25.1", "graphology-generators": "^0.11.2", "graphology-types": "^0.24.7", "graphology-metrics": "^2.1.0", "graphology-shortest-path": "^2.0.2", + "husky": "^7.0.4", + "jest": "^29.5.0", + "jest-environment-jsdom": "29.5.0", + "lint-staged": "^10.5.4", + "npm-run-all": "^4.1.5", + "rimraf": "^3.0.2", + "ts-jest": "^29.1.0", + "ts-loader": "^8.4.0", + "tslint": "^6.1.3", + "tslint-config-airbnb": "^5.11.2", + "tslint-config-prettier": "^1.18.0", + "tslint-eslint-rules": "^5.4.0", + "typescript": "^4.9.5", "vite": "^4.3.8" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org" } } diff --git a/packages/graph-gpu/.prettierrc.js b/packages/graph-gpu/.prettierrc.js deleted file mode 100644 index 7b597d7..0000000 --- a/packages/graph-gpu/.prettierrc.js +++ /dev/null @@ -1,5 +0,0 @@ -const fabric = require('@umijs/fabric'); - -module.exports = { - ...fabric.prettier, -}; diff --git a/packages/graph-gpu/package.json b/packages/graph-gpu/package.json index 8eb5c94..f383505 100644 --- a/packages/graph-gpu/package.json +++ b/packages/graph-gpu/package.json @@ -31,15 +31,10 @@ "dev:umd": "webpack --config webpack.dev.config.js --mode development", "ci": "npm run build && npm run coverage", "clean": "rimraf lib dist", - "coverage": "jest --coverage", "lint": "eslint --ext .js,.jsx,.ts,.tsx --format=pretty \"./\"", "lint:src": "eslint --ext .ts --format=pretty \"./src\"", "prettier": "prettier -c --write \"**/*\"", - "test": "npm run build:umd && jest", - "test-live": "npm run build:umd && DEBUG_MODE=1 jest --watch ./tests/unit/louvain-spec.ts", - "test-live:async": "npm run build:umd && DEBUG_MODE=1 jest --watch ./tests/unit/louvain-async-spec.ts", - "lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx", - "cdn": "antv-bin upload -n @antv/webgpu-graph" + "lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx" }, "homepage": "https://g6.antv.vision", "bugs": { @@ -59,9 +54,7 @@ "@types/jest": "^26.0.18", "@umijs/fabric": "^2.5.6", "babel-loader": "^8.2.2", - "jest": "^26.6.3", "rimraf": "^3.0.2", - "ts-jest": "^26.4.4", "ts-loader": "^8.0.14", "tslint": "^6.1.3", "typescript": "^4.1.3", diff --git a/packages/graph-gpu/src/index.ts b/packages/graph-gpu/src/index.ts index 70508e2..fb741ab 100644 --- a/packages/graph-gpu/src/index.ts +++ b/packages/graph-gpu/src/index.ts @@ -1,3 +1,4 @@ export * from './WebGPUGraph'; export * from './link-analysis'; export * from './traversal'; +export * from './types'; diff --git a/packages/graph-gpu/src/link-analysis/pageRank.ts b/packages/graph-gpu/src/link-analysis/pageRank.ts index ba2eeb5..5cad8b2 100644 --- a/packages/graph-gpu/src/link-analysis/pageRank.ts +++ b/packages/graph-gpu/src/link-analysis/pageRank.ts @@ -1,7 +1,7 @@ -import { DeviceRenderer } from '@antv/g-webgpu'; -import { Kernel } from '@antv/g-plugin-gpgpu'; -import { convertGraphData2CSC } from '../util'; -import { Graph } from '../types'; +import { DeviceRenderer } from "@antv/g-webgpu"; +import { Kernel } from "@antv/g-plugin-gpgpu"; +import { convertGraphData2CSC } from "../util"; +import { Graph } from "../types"; const { BufferUsage } = DeviceRenderer; @@ -18,9 +18,9 @@ const { BufferUsage } = DeviceRenderer; export async function pageRank( device: DeviceRenderer.Device, graphData: Graph, - eps = 1e-5, + tolerance = 1e-5, alpha = 0.85, - maxIteration = 1000, + maxIteration = 1000 ) { const BLOCK_SIZE = 1; const BLOCKS = 256; @@ -152,7 +152,7 @@ fn main( const last = (await readback.readBuffer(rLastBuffer)) as Float32Array; const result = last.reduce((prev, cur) => prev + cur, 0); - if (result < eps) { + if (result < tolerance) { break; } } diff --git a/packages/graph-rust/Cargo.toml b/packages/graph-rust/Cargo.toml index 7a4b3d4..39ebbd5 100644 --- a/packages/graph-rust/Cargo.toml +++ b/packages/graph-rust/Cargo.toml @@ -17,7 +17,12 @@ lto = true opt-level = 's' [dependencies] +atomic_float = "0.1.0" graph_builder = "0.3.1" rayon = "1.5.1" +serde = { optional = true } + +[dev-dependencies] +graph_builder = { version = "^0.3.1", features = ["gdl"] } diff --git a/packages/graph-rust/README.md b/packages/graph-rust/README.md new file mode 100644 index 0000000..e69de29 diff --git a/packages/graph-rust/rustfmt.toml b/packages/graph-rust/rustfmt.toml new file mode 100644 index 0000000..6df7c47 --- /dev/null +++ b/packages/graph-rust/rustfmt.toml @@ -0,0 +1,8 @@ +hard_tabs = false +newline_style = "unix" + +unstable_features = true +format_code_in_doc_comments = true +format_macro_bodies = true +format_macro_matchers = true +format_strings = true diff --git a/packages/graph-rust/src/lib.rs b/packages/graph-rust/src/lib.rs new file mode 100644 index 0000000..6f978b0 --- /dev/null +++ b/packages/graph-rust/src/lib.rs @@ -0,0 +1,5 @@ +pub mod page_rank; +pub mod prelude; +pub mod utils; + +const DEFAULT_PARALLELISM: usize = 4; diff --git a/packages/graph-rust/src/page_rank.rs b/packages/graph-rust/src/page_rank.rs new file mode 100644 index 0000000..dde9605 --- /dev/null +++ b/packages/graph-rust/src/page_rank.rs @@ -0,0 +1,184 @@ +use crate::{prelude::*, DEFAULT_PARALLELISM}; + +use atomic_float::AtomicF64; +use graph_builder::SharedMut; +use rayon::prelude::*; + +use std::sync::atomic::Ordering; +use std::thread::available_parallelism; + +const CHUNK_SIZE: usize = 16384; + +#[derive(Copy, Clone, Debug)] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +pub struct PageRankConfig { + /// The maximum number of page rank iterations. + pub max_iterations: usize, + + /// If the sum of page rank deltas per iteration is + /// below the tolerance value, the computation stop. + pub tolerance: f64, + + /// Imagining a random surfer clicking links, the + /// damping factor defines the probability if the + /// surfer will continue at any step. + pub damping_factor: f32, +} + +impl Default for PageRankConfig { + fn default() -> Self { + Self { + max_iterations: Self::DEFAULT_MAX_ITERATIONS, + tolerance: Self::DEFAULT_TOLERANCE, + damping_factor: Self::DEFAULT_DAMPING_FACTOR, + } + } +} + +impl PageRankConfig { + pub const DEFAULT_MAX_ITERATIONS: usize = 20; + pub const DEFAULT_TOLERANCE: f64 = 1E-4; + pub const DEFAULT_DAMPING_FACTOR: f32 = 0.85; + + pub fn new(max_iterations: usize, tolerance: f64, damping_factor: f32) -> Self { + Self { + max_iterations, + tolerance, + damping_factor, + } + } +} + +pub fn page_rank(graph: &G, config: PageRankConfig) -> (Vec, usize, f64) +where + NI: Idx, + G: Graph + DirectedDegrees + DirectedNeighbors + Sync, +{ + let PageRankConfig { + max_iterations, + tolerance, + damping_factor, + } = config; + + let node_count = graph.node_count().index(); + let init_score = 1_f32 / node_count as f32; + let base_score = (1.0_f32 - damping_factor) / node_count as f32; + + let mut out_scores = Vec::with_capacity(node_count); + + (0..node_count) + .into_par_iter() + .map(NI::new) + .map(|node| init_score / graph.out_degree(node).index() as f32) + .collect_into_vec(&mut out_scores); + + let mut scores = vec![init_score; node_count]; + + let scores_ptr = SharedMut::new(scores.as_mut_ptr()); + let out_scores_ptr = SharedMut::new(out_scores.as_mut_ptr()); + + let mut iteration = 0; + + loop { + let error = page_rank_iteration( + graph, + base_score, + damping_factor, + &out_scores_ptr, + &scores_ptr, + ); + + iteration += 1; + + if error < tolerance || iteration == max_iterations { + return (scores, iteration, error); + } + } +} + +fn page_rank_iteration( + graph: &G, + base_score: f32, + damping_factor: f32, + out_scores: &SharedMut, + scores: &SharedMut, +) -> f64 +where + NI: Idx, + G: Graph + DirectedDegrees + DirectedNeighbors + Sync, +{ + let next_chunk = Atomic::new(NI::zero()); + let total_error = AtomicF64::new(0_f64); + + std::thread::scope(|s| { + let num_threads = available_parallelism().map_or(DEFAULT_PARALLELISM, |p| p.get()); + + for _ in 0..num_threads { + s.spawn(|| { + let mut error = 0_f64; + + loop { + let start = NI::fetch_add(&next_chunk, NI::new(CHUNK_SIZE), Ordering::AcqRel); + if start >= graph.node_count() { + break; + } + + let end = (start + NI::new(CHUNK_SIZE)).min(graph.node_count()); + + for u in start.range(end) { + let incoming_total = graph + .in_neighbors(u) + .map(|v| unsafe { out_scores.add(v.index()).read() }) + .sum::(); + + let old_score = unsafe { scores.add(u.index()).read() }; + let new_score = base_score + damping_factor * incoming_total; + + unsafe { scores.add(u.index()).write(new_score) }; + let diff = (new_score - old_score) as f64; + error += f64::abs(diff); + + unsafe { + out_scores + .add(u.index()) + .write(new_score / graph.out_degree(u).index() as f32) + } + } + } + total_error.fetch_add(error, Ordering::SeqCst); + }); + } + }); + + total_error.load(Ordering::SeqCst) +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::prelude::{CsrLayout, GraphBuilder}; + + #[test] + fn test_pr_two_components() { + let gdl = "(a)-->()-->()<--(a),(b)-->()-->()<--(b)"; + + let graph: DirectedCsrGraph = GraphBuilder::new() + .csr_layout(CsrLayout::Sorted) + .gdl_str::(gdl) + .build() + .unwrap(); + + let (scores, _, _) = page_rank(&graph, PageRankConfig::default()); + + let expected: Vec = vec![ + 0.024999997, + 0.035624996, + 0.06590624, + 0.024999997, + 0.035624996, + 0.06590624, + ]; + + assert_eq!(scores, expected); + } +} diff --git a/packages/graph-rust/src/prelude.rs b/packages/graph-rust/src/prelude.rs new file mode 100644 index 0000000..e151dda --- /dev/null +++ b/packages/graph-rust/src/prelude.rs @@ -0,0 +1,4 @@ +pub use crate::page_rank::*; +pub use crate::utils::*; + +pub use graph_builder::prelude::*; diff --git a/packages/graph-rust/src/utils.rs b/packages/graph-rust/src/utils.rs new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/packages/graph-rust/src/utils.rs @@ -0,0 +1 @@ + diff --git a/packages/graph-wasm/.gitignore b/packages/graph-wasm/.gitignore deleted file mode 100644 index 63392d8..0000000 --- a/packages/graph-wasm/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -target -pkg -pkg-node -pkg-parallel -*.lock \ No newline at end of file diff --git a/packages/graph-wasm/Cargo.lock b/packages/graph-wasm/Cargo.lock index 8a9f789..d27fd0a 100644 --- a/packages/graph-wasm/Cargo.lock +++ b/packages/graph-wasm/Cargo.lock @@ -3,24 +3,22 @@ version = 3 [[package]] -name = "ahash" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +name = "antv-graph" +version = "0.0.1" dependencies = [ - "cfg-if 1.0.0", - "getrandom", - "once_cell", - "version_check", + "atomic_float", + "graph_builder", + "rayon", + "serde", ] [[package]] name = "antv-graph-wasm" version = "0.0.1" dependencies = [ + "antv-graph", "console_error_panic_hook", "getrandom", - "graph", "js-sys", "serde", "serde-wasm-bindgen", @@ -210,22 +208,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "graph" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624b74cfef1d6e08adeac4b5947e8e79351d0a53491b07b9d342701f8e58b68f" -dependencies = [ - "ahash", - "atomic_float", - "graph_builder", - "log", - "nanorand", - "num-format", - "rayon", - "serde", -] - [[package]] name = "graph_builder" version = "0.3.1" @@ -342,12 +324,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" -[[package]] -name = "nanorand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" - [[package]] name = "num" version = "0.4.0" @@ -646,12 +622,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" diff --git a/packages/graph-wasm/Cargo.toml b/packages/graph-wasm/Cargo.toml index c0166f0..ebc25d7 100644 --- a/packages/graph-wasm/Cargo.toml +++ b/packages/graph-wasm/Cargo.toml @@ -24,7 +24,7 @@ path = "rust-src/lib.rs" [dependencies] getrandom = { version = "0.2", features = ["js"] } -graph = { version = "0.3.0", features = ["serde"] } +antv-graph = { path = "../graph-rust/", features = ["serde"] } console_error_panic_hook = "0.1" js-sys = "0.3.51" serde-wasm-bindgen = "0.5" diff --git a/packages/graph-wasm/rust-src/lib.rs b/packages/graph-wasm/rust-src/lib.rs index c08f7ae..e2aedf4 100644 --- a/packages/graph-wasm/rust-src/lib.rs +++ b/packages/graph-wasm/rust-src/lib.rs @@ -1,4 +1,4 @@ -use graph::prelude::*; +use antv_graph::prelude::*; use js_sys::Array; use wasm_bindgen::prelude::*; @@ -42,7 +42,7 @@ pub fn page_rank(val: JsValue) -> Array { ]) .build(); - let (ranks, iterations, _) = graph::prelude::page_rank( + let (ranks, iterations, _) = antv_graph::prelude::page_rank( &graph, PageRankConfig::new( options.max_iterations, diff --git a/packages/graph-wasm/tsconfig.json b/packages/graph-wasm/tsconfig.json new file mode 100644 index 0000000..02c8ba0 --- /dev/null +++ b/packages/graph-wasm/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "rootDir": "./src", + "composite": true, + "module": "esnext", + "declaration": true, + "sourceMap": true, + "target": "es5", + "outDir": "lib", + "jsx": "react", + "importHelpers": true, + "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "lib": ["esnext", "dom"], + "experimentalDecorators": false /* Enables experimental support for ES7 decorators. */, + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + "downlevelIteration": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["src/**/*.spec.ts"] +} diff --git a/packages/graph/.prettierrc.js b/packages/graph/.prettierrc.js deleted file mode 100644 index 7b597d7..0000000 --- a/packages/graph/.prettierrc.js +++ /dev/null @@ -1,5 +0,0 @@ -const fabric = require('@umijs/fabric'); - -module.exports = { - ...fabric.prettier, -}; diff --git a/packages/graph/jest.config.js b/packages/graph/jest.config.js deleted file mode 100644 index 74a1e59..0000000 --- a/packages/graph/jest.config.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - runner: 'jest-electron/runner', - testEnvironment: 'jest-electron/environment', - preset: 'ts-jest', - collectCoverage: false, - collectCoverageFrom: ['src/**/*.{ts,js}', '!**/node_modules/**', '!**/vendor/**'], - testRegex: '/tests/.*-spec\\.ts?$', - moduleDirectories: ['node_modules', 'src'], - moduleFileExtensions: ['js', 'ts', 'json'], - globals: { - 'ts-jest': { - diagnostics: false, - }, - }, -}; diff --git a/packages/graph/package.json b/packages/graph/package.json index 6c1754f..b9096a6 100644 --- a/packages/graph/package.json +++ b/packages/graph/package.json @@ -1,12 +1,11 @@ { - "name": "@antv/algorithm", - "version": "0.1.25", + "name": "@antv/graph", + "version": "0.0.1", "description": "graph algorithm", "keywords": [ "graph", "algorithm", - "antv", - "G6" + "antv" ], "files": [ "package.json", @@ -15,26 +14,19 @@ "LICENSE", "README.md" ], + "sideEffects": false, "main": "dist/index.min.js", "module": "lib/index.js", "types": "lib/index.d.ts", "unpkg": "dist/index.min.js", "scripts": { + "clean": "rimraf dist lib", + "dev": "webpack --config webpack.dev.config.js --mode development", "build": "npm run clean && npm run build:esm && npm run build:umd", + "build:ci": "npm run build", "build:esm": "tsc", "build:umd": "webpack --config webpack.config.js --mode production", - "dev:umd": "webpack --config webpack.dev.config.js --mode development", - "ci": "npm run build && npm run coverage", - "clean": "rimraf lib dist", - "coverage": "jest --coverage", - "lint": "eslint --ext .js,.jsx,.ts,.tsx --format=pretty \"./\"", - "lint:src": "eslint --ext .ts --format=pretty \"./src\"", - "prettier": "prettier -c --write \"**/*\"", - "test": "npm run build:umd && jest", - "test-live": "npm run build:umd && DEBUG_MODE=1 jest --watch ./tests/unit/louvain-spec.ts", - "test-live:async": "npm run build:umd && DEBUG_MODE=1 jest --watch ./tests/unit/louvain-async-spec.ts", - "lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx", - "cdn": "antv-bin upload -n @antv/algorithm" + "publish:alpha": "npm publish --tag alpha" }, "homepage": "https://g6.antv.vision", "bugs": { @@ -47,25 +39,19 @@ "license": "MIT", "author": "https://github.com/orgs/antvis/people", "devDependencies": { - "@babel/core": "^7.12.10", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/preset-env": "^7.12.7", - "@babel/preset-typescript": "^7.12.7", - "@types/jest": "^26.0.18", - "@umijs/fabric": "^2.5.6", - "babel-loader": "^8.2.2", - "jest": "^26.6.3", - "rimraf": "^3.0.2", - "ts-jest": "^26.4.4", - "ts-loader": "^8.0.14", - "tslint": "^6.1.3", - "typescript": "^4.1.3", + "@babel/core": "^7.7.7", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@types/d3-force": "^3.0.4", + "babel-loader": "^8.0.6", + "ts-loader": "^7.0.3", + "typescript": "^4.0.3", "webpack": "^5.38.1", "webpack-cli": "^5.0.2", "worker-loader": "^3.0.7" }, "dependencies": { "@antv/util": "^2.0.13", + "@antv/graphlib": "^2.0.0", "tslib": "^2.5.2" } } diff --git a/packages/graph/src/adjacent-matrix.ts b/packages/graph/src/adjacent-matrix.ts deleted file mode 100644 index 6c484b4..0000000 --- a/packages/graph/src/adjacent-matrix.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { GraphData, Matrix } from "./types"; - -const adjMatrix = (graphData: GraphData, directed?: boolean): Matrix[] => { - const { nodes, edges } = graphData; - const matrix: Matrix[] = []; - // map node with index in data.nodes - const nodeMap: { - [key: string]: number; - } = {}; - - if (!nodes) { - throw new Error("invalid nodes data!"); - } - - if (nodes) { - nodes.forEach((node, i) => { - nodeMap[node.id] = i; - const row: number[] = []; - matrix.push(row); - }); - } - - if (edges) { - edges.forEach((edge) => { - const { source, target } = edge; - const sIndex = nodeMap[source as string]; - const tIndex = nodeMap[target as string]; - if ((!sIndex && sIndex !== 0) || (!tIndex && tIndex !== 0)) return; - matrix[sIndex][tIndex] = 1; - if (!directed) { - matrix[tIndex][sIndex] = 1; - } - }); - } - return matrix; -}; - -export default adjMatrix; diff --git a/packages/graph/src/asyncIndex.ts b/packages/graph/src/asyncIndex.ts deleted file mode 100644 index 1ee629b..0000000 --- a/packages/graph/src/asyncIndex.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { - getAdjMatrixAsync, - connectedComponentAsync, - getDegreeAsync, - getInDegreeAsync, - getOutDegreeAsync, - detectCycleAsync, - detectAllCyclesAsync, - detectAllDirectedCycleAsync, - detectAllUndirectedCycleAsync, - dijkstraAsync, - findAllPathAsync, - findShortestPathAsync, - floydWarshallAsync, - labelPropagationAsync, - louvainAsync, - minimumSpanningTreeAsync, - pageRankAsync, - getNeighborsAsync, - GADDIAsync, -} from './workers/index'; - -const detectDirectedCycleAsync = detectCycleAsync; - -export { - getAdjMatrixAsync, - connectedComponentAsync, - getDegreeAsync, - getInDegreeAsync, - getOutDegreeAsync, - detectCycleAsync, - detectDirectedCycleAsync, - detectAllCyclesAsync, - detectAllDirectedCycleAsync, - detectAllUndirectedCycleAsync, - dijkstraAsync, - findAllPathAsync, - findShortestPathAsync, - floydWarshallAsync, - labelPropagationAsync, - louvainAsync, - minimumSpanningTreeAsync, - pageRankAsync, - getNeighborsAsync, - GADDIAsync, -}; - -export default { - getAdjMatrixAsync, - connectedComponentAsync, - getDegreeAsync, - getInDegreeAsync, - getOutDegreeAsync, - detectCycleAsync, - detectDirectedCycleAsync, - detectAllCyclesAsync, - detectAllDirectedCycleAsync, - detectAllUndirectedCycleAsync, - dijkstraAsync, - findAllPathAsync, - findShortestPathAsync, - floydWarshallAsync, - labelPropagationAsync, - louvainAsync, - minimumSpanningTreeAsync, - pageRankAsync, - getNeighborsAsync, - GADDIAsync, -}; \ No newline at end of file diff --git a/packages/graph/src/bfs.ts b/packages/graph/src/bfs.ts deleted file mode 100644 index 69df6d2..0000000 --- a/packages/graph/src/bfs.ts +++ /dev/null @@ -1,89 +0,0 @@ -import Queue from './structs/queue' -import { GraphData, IAlgorithmCallbacks } from './types'; -import { getNeighbors } from './util'; - -/** - * - * @param callbacks - * allowTraversal: 确定 BFS 是否从顶点沿着边遍历到其邻居,默认情况下,同一个节点只能遍历一次 - * enterNode: 当 BFS 访问某个节点时调用 - * leaveNode: 当 BFS 访问访问结束某个节点时调用 - */ -function initCallbacks(callbacks: IAlgorithmCallbacks = {} as IAlgorithmCallbacks) { - const initiatedCallback = callbacks; - - const stubCallback = () => {}; - - const allowTraversalCallback = (() => { - const seen = {}; - return ({ next }) => { - const id = next; - if (!seen[id]) { - seen[id] = true; - return true; - } - return false; - }; - })(); - - initiatedCallback.allowTraversal = callbacks.allowTraversal || allowTraversalCallback; - initiatedCallback.enter = callbacks.enter || stubCallback; - initiatedCallback.leave = callbacks.leave || stubCallback; - - return initiatedCallback; -} - -/** - * 广度优先遍历图 - * @param graph Graph 图实例 - * @param startNode 开始遍历的节点 - * @param originalCallbacks 回调 - */ -const breadthFirstSearch = ( - graphData: GraphData, - startNodeId: string, - originalCallbacks?: IAlgorithmCallbacks, - directed: boolean = true -) => { - const callbacks = initCallbacks(originalCallbacks); - const nodeQueue = new Queue(); - - const { edges = [] } = graphData - - // 初始化队列元素 - nodeQueue.enqueue(startNodeId); - - let previousNode = ''; - - // 遍历队列中的所有顶点 - while (!nodeQueue.isEmpty()) { - const currentNode: string = nodeQueue.dequeue(); - callbacks.enter({ - current: currentNode, - previous: previousNode, - }); - - // 将所有邻居添加到队列中以便遍历 - getNeighbors(currentNode, edges, directed ? 'target' : undefined).forEach((nextNode) => { - if ( - callbacks.allowTraversal({ - previous: previousNode, - current: currentNode, - next: nextNode, - }) - ) { - nodeQueue.enqueue(nextNode); - } - }); - - callbacks.leave({ - current: currentNode, - previous: previousNode, - }); - - // 下一次循环之前存储当前顶点 - previousNode = currentNode; - } -}; - -export default breadthFirstSearch; diff --git a/packages/graph/src/connected-component.ts b/packages/graph/src/connected-component.ts deleted file mode 100644 index 4db77be..0000000 --- a/packages/graph/src/connected-component.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { GraphData, NodeConfig } from "./types"; -import { getNeighbors } from "./util"; - -/** - * Generate all connected components for an undirected graph - * @param graph - */ -export const detectConnectedComponents = (graphData: GraphData): NodeConfig[][] => { - const { nodes = [], edges = [] } = graphData - const allComponents: NodeConfig[][] = []; - const visited = {}; - const nodeStack: NodeConfig[] = []; - - const getComponent = (node: NodeConfig) => { - nodeStack.push(node); - visited[node.id] = true; - const neighbors = getNeighbors(node.id, edges); - for (let i = 0; i < neighbors.length; ++i) { - const neighbor = neighbors[i]; - if (!visited[neighbor]) { - const targetNode = nodes.filter(node => node.id === neighbor) - if (targetNode.length > 0) { - getComponent(targetNode[0]); - } - } - } - }; - - for (let i = 0; i < nodes.length; i++) { - const node = nodes[i]; - if (!visited[node.id]) { - // 对于无向图进行dfs遍历,每一次调用后都得到一个连通分量 - getComponent(node); - const component = []; - while (nodeStack.length > 0) { - component.push(nodeStack.pop()); - } - allComponents.push(component); - } - } - return allComponents; -} - -/** - * Tarjan's Algorithm 复杂度 O(|V|+|E|) - * For directed graph only - * a directed graph is said to be strongly connected if "every vertex is reachable from every other vertex". - * refer: http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm - * @param graph - * @return a list of strongly connected components - */ -export const detectStrongConnectComponents = (graphData: GraphData): NodeConfig[][] => { - const { nodes = [], edges = [] } = graphData - const nodeStack: NodeConfig[] = []; - const inStack = {}; // 辅助判断是否已经在stack中,减少查找开销 - const indices = {}; - const lowLink = {}; - const allComponents: NodeConfig[][] = []; - let index = 0; - - const getComponent = (node: NodeConfig) => { - // Set the depth index for v to the smallest unused index - indices[node.id] = index; - lowLink[node.id] = index; - index += 1; - nodeStack.push(node); - inStack[node.id] = true; - - // 考虑每个邻接点 - const neighbors = getNeighbors(node.id, edges, 'target').filter((n) => nodes.map(node => node.id).indexOf(n) > -1); - for (let i = 0; i < neighbors.length; i++) { - const targetNodeID = neighbors[i]; - if (!indices[targetNodeID] && indices[targetNodeID] !== 0) { - const targetNode = nodes.filter(node => node.id === targetNodeID) - if (targetNode.length > 0) { - getComponent(targetNode[0]); - } - // tree edge - lowLink[node.id] = Math.min(lowLink[node.id], lowLink[targetNodeID]); - } else if (inStack[targetNodeID]) { - // back edge, target node is in the current SCC - lowLink[node.id] = Math.min(lowLink[node.id], indices[targetNodeID]); - } - } - - // If node is a root node, generate an SCC - if (lowLink[node.id] === indices[node.id]) { - const component = []; - while (nodeStack.length > 0) { - const tmpNode = nodeStack.pop(); - inStack[tmpNode.id] = false; - component.push(tmpNode); - if (tmpNode === node) break; - } - if (component.length > 0) { - allComponents.push(component); - } - } - }; - - for (const node of nodes) { - if (!indices[node.id] && indices[node.id] !== 0) { - getComponent(node); - } - } - - return allComponents; -} - -export default function getConnectedComponents(graphData: GraphData, directed?: boolean): NodeConfig[][] { - if (directed) return detectStrongConnectComponents(graphData); - return detectConnectedComponents(graphData); -} diff --git a/packages/graph/src/constants/time.ts b/packages/graph/src/constants/time.ts deleted file mode 100644 index 383bcae..0000000 --- a/packages/graph/src/constants/time.ts +++ /dev/null @@ -1,2 +0,0 @@ -export const secondReg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; -export const dateReg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; diff --git a/packages/graph/src/cosine-similarity.ts b/packages/graph/src/cosine-similarity.ts deleted file mode 100644 index 2b6e25c..0000000 --- a/packages/graph/src/cosine-similarity.ts +++ /dev/null @@ -1,27 +0,0 @@ -import Vector from './utils/vector'; -/** - * cosine-similarity算法 计算余弦相似度 - * @param item 元素 - * @param targetItem 目标元素 - */ -const cosineSimilarity = ( - item: number[], - targetItem: number[], -): number => { - // 目标元素向量 - const targetItemVector = new Vector(targetItem); - // 目标元素向量的模长 - const targetNodeNorm2 = targetItemVector.norm2(); - // 元素向量 - const itemVector = new Vector(item); - // 元素向量的模长 - const itemNorm2 = itemVector.norm2(); - // 计算元素向量和目标元素向量的点积 - const dot = targetItemVector.dot(itemVector); - const norm2Product = targetNodeNorm2 * itemNorm2; - // 计算元素向量和目标元素向量的余弦相似度 - const cosineSimilarity = norm2Product ? dot / norm2Product : 0; - return cosineSimilarity; -} - -export default cosineSimilarity; diff --git a/packages/graph/src/degree.ts b/packages/graph/src/degree.ts deleted file mode 100644 index 8a58adc..0000000 --- a/packages/graph/src/degree.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { GraphData, DegreeType } from "./types"; - -const degree = (graphData: GraphData): DegreeType => { - const degrees: DegreeType = {}; - const { nodes = [], edges = [] } = graphData - - nodes.forEach((node) => { - degrees[node.id] = { - degree: 0, - inDegree: 0, - outDegree: 0, - }; - }); - - edges.forEach((edge) => { - degrees[edge.source].degree++; - degrees[edge.source].outDegree++; - degrees[edge.target].degree++; - degrees[edge.target].inDegree++; - }); - - return degrees; -}; - -export default degree; - -/** - * 获取指定节点的入度 - * @param graphData 图数据 - * @param nodeId 节点ID - */ -export const getInDegree = (graphData: GraphData, nodeId: string): number => { - const nodeDegree = degree(graphData) - if (nodeDegree[nodeId]) { - return degree(graphData)[nodeId].inDegree - } - return 0 -} - -/** - * 获取指定节点的出度 - * @param graphData 图数据 - * @param nodeId 节点ID - */ -export const getOutDegree = (graphData: GraphData, nodeId: string): number => { - const nodeDegree = degree(graphData) - if (nodeDegree[nodeId]) { - return degree(graphData)[nodeId].outDegree - } - return 0 -} diff --git a/packages/graph/src/detect-cycle.ts b/packages/graph/src/detect-cycle.ts deleted file mode 100644 index e6f1b25..0000000 --- a/packages/graph/src/detect-cycle.ts +++ /dev/null @@ -1,346 +0,0 @@ -import dfs from './dfs'; -import getConnectedComponents, { detectStrongConnectComponents } from './connected-component'; -import { GraphData, IAlgorithmCallbacks, NodeConfig } from './types'; -import { getNeighbors } from './util'; - -const detectDirectedCycle = (graphData: GraphData): { - [key: string]: string; -} => { - let cycle: { - [key: string]: string; - } = null; - - const { nodes = [] } = graphData - - const dfsParentMap = {}; - - // 所有没有被访问的节点集合 - const unvisitedSet = {}; - - // 正在被访问的节点集合 - const visitingSet = {}; - - // 所有已经被访问过的节点集合 - const visitedSet = {}; - - // 初始化 unvisitedSet - nodes.forEach((node) => { - unvisitedSet[node.id] = node; - }); - - const callbacks: IAlgorithmCallbacks = { - enter: ({ current: currentNode, previous: previousNode }) => { - if (visitingSet[currentNode]) { - // 如果当前节点正在访问中,则说明检测到环路了 - cycle = {}; - - let currentCycleNode = currentNode; - let previousCycleNode = previousNode; - - while (previousCycleNode !== currentNode) { - cycle[currentCycleNode] = previousCycleNode; - currentCycleNode = previousCycleNode; - previousCycleNode = dfsParentMap[previousCycleNode]; - } - - cycle[currentCycleNode] = previousCycleNode; - } else { - // 如果不存在正在访问集合中,则将其放入正在访问集合,并从未访问集合中删除 - visitingSet[currentNode] = currentNode; - delete unvisitedSet[currentNode]; - - // 更新 DSF parents 列表 - dfsParentMap[currentNode] = previousNode; - } - }, - leave: ({ current: currentNode }) => { - // 如果所有的节点的子节点都已经访问过了,则从正在访问集合中删除掉,并将其移入到已访问集合中, - // 同时也意味着当前节点的所有邻居节点都被访问过了 - visitedSet[currentNode] = currentNode; - delete visitingSet[currentNode]; - }, - allowTraversal: ({ next: nextNode }) => { - // 如果检测到环路则需要终止所有进一步的遍历,否则会导致无限循环遍历 - if (cycle) { - return false; - } - - // 仅允许遍历没有访问的节点,visitedSet 中的都已经访问过了 - return !visitedSet[nextNode]; - }, - }; - - // 开始遍历节点 - while (Object.keys(unvisitedSet).length) { - // 从第一个节点开始进行 DFS 遍历 - const firsetUnVisitedKey = Object.keys(unvisitedSet)[0]; - - dfs(graphData, firsetUnVisitedKey, callbacks); - } - - return cycle; -}; - -/** - * 检测无向图中的所有Base cycles - * refer: https://www.codeproject.com/Articles/1158232/Enumerating-All-Cycles-in-an-Undirected-Graph - * @param graph - * @param nodeIds 节点 ID 的数组 - * @param include 包含或排除指定的节点 - * @return [{[key: string]: INode}] 返回一组base cycles - */ -export const detectAllUndirectedCycle = (graphData: GraphData, nodeIds?: string[], include = true) => { - const allCycles = []; - const components = getConnectedComponents(graphData, false); - - // loop through all connected components - for (const component of components) { - if (!component.length) continue; - const root = component[0]; - const rootId = root.id; - - const stack = [root]; - const parent = { [rootId]: root }; - const used = { [rootId]: new Set() }; - - // walk a spanning tree to find cycles - while (stack.length > 0) { - const curNode = stack.pop(); - const curNodeId = curNode.id; - const neighbors = getNeighbors(curNodeId, graphData.edges); - for (let i = 0; i < neighbors.length; i += 1) { - const neighborId = neighbors[i]; - const neighbor = graphData.nodes.find(node => node.id === neighborId) - // const neighborId = neighbor.get('id'); - if (neighborId === curNodeId) { - // 自环 - allCycles.push({ [neighborId]: curNode }); - } else if (!(neighborId in used)) { - // visit a new node - parent[neighborId] = curNode; - stack.push(neighbor); - used[neighborId] = new Set([curNode]); - } else if (!used[curNodeId].has(neighbor)) { - // a cycle found - let cycleValid = true; - const cyclePath = [neighbor, curNode]; - let p = parent[curNodeId]; - while (used[neighborId].size && !used[neighborId].has(p)) { - cyclePath.push(p); - if (p === parent[p.id]) break; - else p = parent[p.id]; - } - cyclePath.push(p); - - if (nodeIds && include) { - // 如果有指定包含的节点 - cycleValid = false; - if (cyclePath.findIndex((node) => nodeIds.indexOf(node.id) > -1) > -1) { - cycleValid = true; - } - } else if (nodeIds && !include) { - // 如果有指定不包含的节点 - if (cyclePath.findIndex((node) => nodeIds.indexOf(node.id) > -1) > -1) { - cycleValid = false; - } - } - - // 把 node list 形式转换为 cycle 的格式 - if (cycleValid) { - const cycle = {}; - for (let index = 1; index < cyclePath.length; index += 1) { - cycle[cyclePath[index - 1].id] = cyclePath[index]; - } - if (cyclePath.length) { - cycle[cyclePath[cyclePath.length - 1].id] = cyclePath[0]; - } - allCycles.push(cycle); - } - - used[neighborId].add(curNode); - } - } - } - } - - return allCycles; -}; - -/** - * Johnson's algorithm, 时间复杂度 O((V + E)(C + 1))$ and space bounded by O(V + E) - * refer: https://www.cs.tufts.edu/comp/150GA/homeworks/hw1/Johnson%2075.PDF - * refer: https://networkx.github.io/documentation/stable/_modules/networkx/algorithms/cycles.html#simple_cycles - * @param graph - * @param nodeIds 节点 ID 的数组 - * @param include 包含或排除指定的节点 - * @return [{[key: string]: INode}] 返回所有的 simple cycles - */ -export const detectAllDirectedCycle = (graphData: GraphData, nodeIds?: string[], include = true) => { - const path = []; // stack of nodes in current path - const blocked = new Set(); - const B = []; // remember portions of the graph that yield no elementary circuit - const allCycles = []; - const idx2Node: { - [key: string]: NodeConfig; - } = {}; - const node2Idx = {}; - - // 辅助函数: unblock all blocked nodes - const unblock = (thisNode: NodeConfig) => { - const stack = [thisNode]; - while (stack.length > 0) { - const node = stack.pop(); - if (blocked.has(node)) { - blocked.delete(node); - B[node.id].forEach((n) => { - stack.push(n); - }); - B[node.id].clear(); - } - } - }; - - const circuit = (node: NodeConfig, start: NodeConfig, adjList) => { - let closed = false; // whether a path is closed - if (nodeIds && include === false && nodeIds.indexOf(node.id) > -1) return closed; - path.push(node); - blocked.add(node); - - const neighbors = adjList[node.id]; - for (let i = 0; i < neighbors.length; i += 1) { - const neighbor = idx2Node[neighbors[i]]; - if (neighbor === start) { - const cycle = {}; - for (let index = 1; index < path.length; index += 1) { - cycle[path[index - 1].id] = path[index]; - } - if (path.length) { - cycle[path[path.length - 1].id] = path[0]; - } - allCycles.push(cycle); - closed = true; - } else if (!blocked.has(neighbor)) { - if (circuit(neighbor, start, adjList)) { - closed = true; - } - } - } - - if (closed) { - unblock(node); - } else { - for (let i = 0; i < neighbors.length; i += 1) { - const neighbor = idx2Node[neighbors[i]]; - if (!B[neighbor.id].has(node)) { - B[neighbor.id].add(node); - } - } - } - path.pop(); - return closed; - }; - - const { nodes = [] } = graphData; - - // Johnson's algorithm 要求给节点赋顺序,先按节点在数组中的顺序 - for (let i = 0; i < nodes.length; i += 1) { - const node = nodes[i]; - const nodeId = node.id; - node2Idx[nodeId] = i; - idx2Node[i] = node; - } - // 如果有指定包含的节点,则把指定节点排序在前,以便提早结束搜索 - if (nodeIds && include) { - for (let i = 0; i < nodeIds.length; i++) { - const nodeId = nodeIds[i]; - node2Idx[nodes[i].id] = node2Idx[nodeId]; - node2Idx[nodeId] = 0; - idx2Node[0] = nodes.find(node => node.id === nodeId); - idx2Node[node2Idx[nodes[i].id]] = nodes[i]; - } - } - - // 返回 节点顺序 >= nodeOrder 的强连通分量的adjList - const getMinComponentAdj = (components: NodeConfig[][]) => { - let minCompIdx; - let minIdx = Infinity; - - // Find least component and the lowest node - for (let i = 0; i < components.length; i += 1) { - const comp = components[i]; - for (let j = 0; j < comp.length; j++) { - const nodeIdx = node2Idx[comp[j].id]; - if (nodeIdx < minIdx) { - minIdx = nodeIdx; - minCompIdx = i; - } - } - } - - const component = components[minCompIdx]; - const adjList = []; - for (let i = 0; i < component.length; i += 1) { - const node = component[i]; - adjList[node.id] = []; - for (const neighbor of getNeighbors(node.id, graphData.edges, 'target').filter((n) => component.map(c => c.id).indexOf(n) > -1)) { - // 对自环情况 (点连向自身) 特殊处理:记录自环,但不加入adjList - if (neighbor === node.id && !(include === false && nodeIds.indexOf(node.id) > -1)) { - allCycles.push({ [node.id]: node }); - } else { - adjList[node.id].push(node2Idx[neighbor]); - } - } - } - - return { - component, - adjList, - minIdx, - }; - }; - - let nodeIdx = 0; - while (nodeIdx < nodes.length) { - const subgraphNodes = nodes.filter((n) => node2Idx[n.id] >= nodeIdx); - const sccs = detectStrongConnectComponents({ nodes: subgraphNodes, edges: graphData.edges }).filter( - (component) => component.length > 1, - ); - if (sccs.length === 0) break; - - const scc = getMinComponentAdj(sccs); - const { minIdx, adjList, component } = scc; - if (component.length > 1) { - component.forEach((node) => { - B[node.id] = new Set(); - }); - const startNode = idx2Node[minIdx]; - // startNode 不在指定要包含的节点中,提前结束搜索 - if (nodeIds && include && nodeIds.indexOf(startNode.id) === -1) return allCycles; - circuit(startNode, startNode, adjList); - nodeIdx = minIdx + 1; - } else { - break; - } - } - return allCycles; -}; - -/** - * 查找图中所有满足要求的圈 - * @param graph - * @param directed 是否为有向图 - * @param nodeIds 节点 ID 的数组,若不指定,则返回图中所有的圈 - * @param include 包含或排除指定的节点 - * @return [{[key: string]: Node}] 包含所有环的数组,每个环用一个Object表示,其中key为节点id,value为该节点在环中指向的下一个节点 - */ -export const detectAllCycles = ( - graphData: GraphData, - directed?: boolean, - nodeIds?: string[], - include = true, -) => { - if (directed) return detectAllDirectedCycle(graphData, nodeIds, include); - return detectAllUndirectedCycle(graphData, nodeIds, include); -}; - -export default detectDirectedCycle; diff --git a/packages/graph/src/dfs.ts b/packages/graph/src/dfs.ts deleted file mode 100644 index cb0166c..0000000 --- a/packages/graph/src/dfs.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { IAlgorithmCallbacks, GraphData } from './types' -import { getNeighbors } from './util' - -function initCallbacks(callbacks: IAlgorithmCallbacks = {} as IAlgorithmCallbacks) { - const initiatedCallback = callbacks; - - const stubCallback = () => {}; - - const allowTraversalCallback = (() => { - const seen = {}; - return ({ next }) => { - if (!seen[next]) { - seen[next] = true; - return true; - } - return false; - }; - })(); - - initiatedCallback.allowTraversal = callbacks.allowTraversal || allowTraversalCallback; - initiatedCallback.enter = callbacks.enter || stubCallback; - initiatedCallback.leave = callbacks.leave || stubCallback; - - return initiatedCallback; -} - -/** - * @param {Graph} graph - * @param {GraphNode} currentNode - * @param {GraphNode} previousNode - * @param {Callbacks} callbacks - */ -function depthFirstSearchRecursive( - graphData: GraphData, - currentNode: string, - previousNode: string, - callbacks: IAlgorithmCallbacks, -) { - callbacks.enter({ - current: currentNode, - previous: previousNode, - }); - - const { edges = [] } = graphData - - getNeighbors(currentNode, edges, 'target').forEach((nextNode) => { - if ( - callbacks.allowTraversal({ - previous: previousNode, - current: currentNode, - next: nextNode, - }) - ) { - depthFirstSearchRecursive(graphData, nextNode, currentNode, callbacks); - } - }); - - callbacks.leave({ - current: currentNode, - previous: previousNode, - }); -} - -/** - * 深度优先遍历图 - * @param data GraphData 图数据 - * @param startNodeId 开始遍历的节点的 ID - * @param originalCallbacks 回调 - */ -export default function depthFirstSearch( - graphData: GraphData, - startNodeId: string, - callbacks?: IAlgorithmCallbacks, -) { - depthFirstSearchRecursive(graphData, startNodeId, '', initCallbacks(callbacks)); -} diff --git a/packages/graph/src/dijkstra.ts b/packages/graph/src/dijkstra.ts deleted file mode 100644 index a557215..0000000 --- a/packages/graph/src/dijkstra.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { isArray } from '@antv/util'; -import { GraphData, NodeConfig, EdgeConfig } from './types'; -import { getOutEdgesNodeId, getEdgesByNodeId } from './util'; - -const minVertex = ( - D: { [key: string]: number }, - nodes: NodeConfig[], - marks: { [key: string]: boolean }, -): NodeConfig => { - // 找出最小的点 - let minDis = Infinity; - let minNode; - for (let i = 0; i < nodes.length; i++) { - const nodeId = nodes[i].id; - if (!marks[nodeId] && D[nodeId] <= minDis) { - minDis = D[nodeId]; - minNode = nodes[i]; - } - } - return minNode; -}; - -const dijkstra = ( - graphData: GraphData, - source: string, - directed?: boolean, - weightPropertyName?: string, -) => { - const { nodes = [], edges = [] } = graphData; - const nodeIds = []; - const marks = {}; - const D = {}; - const prevs = {}; // key: 顶点, value: 顶点的前驱点数组(可能有多条等长的最短路径) - nodes.forEach((node, i) => { - const id = node.id; - nodeIds.push(id); - D[id] = Infinity; - if (id === source) D[id] = 0; - }); - - const nodeNum = nodes.length; - for (let i = 0; i < nodeNum; i++) { - // Process the vertices - const minNode = minVertex(D, nodes, marks); - const minNodeId = minNode.id; - marks[minNodeId] = true; - - if (D[minNodeId] === Infinity) continue; // Unreachable vertices cannot be the intermediate point - - let relatedEdges: EdgeConfig[] = []; - if (directed) relatedEdges = getOutEdgesNodeId(minNodeId, edges); - else relatedEdges = getEdgesByNodeId(minNodeId, edges); - - relatedEdges.forEach(edge => { - const edgeTarget = edge.target; - const edgeSource = edge.source; - const w = edgeTarget === minNodeId ? edgeSource : edgeTarget; - const weight = weightPropertyName && edge[weightPropertyName] ? edge[weightPropertyName] : 1; - if (D[w] > D[minNode.id] + weight) { - D[w] = D[minNode.id] + weight; - prevs[w] = [minNode.id]; - } else if (D[w] === D[minNode.id] + weight) { - prevs[w].push(minNode.id); - } - }); - } - - prevs[source] = [source]; - // 每个节点存可能存在多条最短路径 - const paths = {}; - for (const target in D) { - if (D[target] !== Infinity) { - findAllPaths(source, target, prevs, paths); - } - } - - // 兼容之前单路径 - const path = {}; - for (const target in paths) { - path[target] = paths[target][0]; - } - return { length: D, path, allPath: paths }; -}; - -export default dijkstra; - -function findAllPaths(source, target, prevs, foundPaths) { - if (source === target) { - return [source]; - } - if (foundPaths[target]) { - return foundPaths[target]; - } - const paths = []; - for (let prev of prevs[target]) { - const prevPaths = findAllPaths(source, prev, prevs, foundPaths); - if (!prevPaths) return; - for (let prePath of prevPaths) { - if (isArray(prePath)) paths.push([...prePath, target]); - else paths.push([prePath, target]); - } - } - foundPaths[target] = paths; - return foundPaths[target]; -} diff --git a/packages/graph/src/find-path.ts b/packages/graph/src/find-path.ts deleted file mode 100644 index 846d46e..0000000 --- a/packages/graph/src/find-path.ts +++ /dev/null @@ -1,70 +0,0 @@ -import dijkstra from './dijkstra'; -import { GraphData } from './types'; -import { getNeighbors } from './util'; - -export const findShortestPath = ( - graphData: GraphData, - start: string, - end: string, - directed?: boolean, - weightPropertyName?: string -) => { - const { length, path, allPath } = dijkstra( - graphData, - start, - directed, - weightPropertyName - ); - return { length: length[end], path: path[end], allPath: allPath[end] }; -}; - -export const findAllPath = ( - graphData: GraphData, - start: string, - end: string, - directed?: boolean -) => { - if (start === end) return [[start]]; - - const { edges = [] } = graphData; - - const visited = [start]; - const isVisited = { [start]: true }; - const stack: string[][] = []; // 辅助栈,用于存储访问过的节点的邻居节点 - const allPath = []; - let neighbors = directed - ? getNeighbors(start, edges, 'target') - : getNeighbors(start, edges); - stack.push(neighbors); - - while (visited.length > 0 && stack.length > 0) { - const children = stack[stack.length - 1]; - if (children.length) { - const child = children.shift(); - if (child) { - visited.push(child); - isVisited[child] = true; - neighbors = directed - ? getNeighbors(child, edges, 'target') - : getNeighbors(child, edges); - stack.push(neighbors.filter(neighbor => !isVisited[neighbor])); - } - } else { - const node = visited.pop(); - isVisited[node] = false; - stack.pop(); - continue; - } - - if (visited[visited.length - 1] === end) { - const path = visited.map(node => node); - allPath.push(path); - - const node = visited.pop(); - isVisited[node] = false; - stack.pop(); - } - } - - return allPath; -}; diff --git a/packages/graph/src/floydWarshall.ts b/packages/graph/src/floydWarshall.ts deleted file mode 100644 index 70e2ffe..0000000 --- a/packages/graph/src/floydWarshall.ts +++ /dev/null @@ -1,34 +0,0 @@ -import getAdjMatrix from "./adjacent-matrix"; -import { GraphData, Matrix } from "./types"; - -const floydWarshall = (graphData: GraphData, directed?: boolean) => { - const adjacentMatrix = getAdjMatrix(graphData, directed); - - const dist: Matrix[] = []; - const size = adjacentMatrix.length; - for (let i = 0; i < size; i += 1) { - dist[i] = []; - for (let j = 0; j < size; j += 1) { - if (i === j) { - dist[i][j] = 0; - } else if (adjacentMatrix[i][j] === 0 || !adjacentMatrix[i][j]) { - dist[i][j] = Infinity; - } else { - dist[i][j] = adjacentMatrix[i][j]; - } - } - } - // floyd - for (let k = 0; k < size; k += 1) { - for (let i = 0; i < size; i += 1) { - for (let j = 0; j < size; j += 1) { - if (dist[i][j] > dist[i][k] + dist[k][j]) { - dist[i][j] = dist[i][k] + dist[k][j]; - } - } - } - } - return dist; -}; - -export default floydWarshall; diff --git a/packages/graph/src/gSpan/gSpan.ts b/packages/graph/src/gSpan/gSpan.ts deleted file mode 100644 index 6e68cd8..0000000 --- a/packages/graph/src/gSpan/gSpan.ts +++ /dev/null @@ -1,954 +0,0 @@ -import { GraphData } from "../types"; -import { clone } from "@antv/util"; -import { - Graph, - Edge, - VACANT_NODE_LABEL, - VACANT_GRAPH_ID, - Node, - VACANT_EDGE_LABEL, -} from "./struct"; - -export interface EdgeMap { - [key: string]: { - // key 的格式为 source-target - idx: number; // 该边在原图 graphData.edges 的序号 - edge: any; - }; -} - -export interface NodeMap { - [key: string]: { - // key 格式为 node.id - idx: number; // 该j客店在原图 graphData.nodes 的序号 - node: any; - degree: number; - inDegree: number; - outDegree: number; - }; -} - -interface PDFS { - graphId: number; - edge: any; - preNode: any; -} - -class DFSedge { - public fromNode: number; - public toNode: number; - public nodeEdgeNodeLabel: { - nodeLabel1: string; - edgeLabel: string; - nodeLabel2: string; - }; - - constructor( - fromNode: number, - toNode: number, - fromNodeLabel: string, - edgeLabel: string, - toNodeLabel: string - ) { - this.fromNode = fromNode; - this.toNode = toNode; - this.nodeEdgeNodeLabel = { - nodeLabel1: fromNodeLabel || VACANT_NODE_LABEL, - edgeLabel: edgeLabel || VACANT_EDGE_LABEL, - nodeLabel2: toNodeLabel || VACANT_NODE_LABEL, - }; - } - - equalTo(other) { - return ( - this.fromNode === other.formNode && - this.toNode === other.toNode && - this.nodeEdgeNodeLabel === other.nodeEdgeNodeLabel - ); - } - - notEqualTo(other) { - return !this.equalTo(other); - } -} - -// DFScode 是 DESedge 的数组 -class DFScode { - public dfsEdgeList: DFSedge[]; - public rmpath: any; - - constructor() { - this.rmpath = []; - this.dfsEdgeList = []; - } - - equalTo(other) { - const aLength = this.dfsEdgeList.length; - const bLength = other.length; - if (aLength !== bLength) return false; - for (let i = 0; i < aLength; i++) { - if (this.dfsEdgeList[i] !== other[i]) return false; - } - return true; - } - - notEqualTo(other) { - return !this.equalTo(other); - } - - /** 增加一条 edge 到 DFScode */ - pushBack(fromNode, toNode, fromNodeLabel, edgeLabel, toNodeLabel) { - this.dfsEdgeList.push( - new DFSedge(fromNode, toNode, fromNodeLabel, edgeLabel, toNodeLabel) - ); - return this.dfsEdgeList; - } - - /** 根据 dfs 构建图 */ - toGraph(graphId: number = VACANT_GRAPH_ID, directed = false) { - const graph = new Graph(graphId, true, directed); - this.dfsEdgeList.forEach((dfsEdge) => { - const fromNodeId = dfsEdge.fromNode; - const toNodeId = dfsEdge.toNode; - const { nodeLabel1, edgeLabel, nodeLabel2 } = dfsEdge.nodeEdgeNodeLabel; - - if (nodeLabel1 !== VACANT_NODE_LABEL) graph.addNode(fromNodeId, nodeLabel1); - if (nodeLabel2 !== VACANT_NODE_LABEL) graph.addNode(toNodeId, nodeLabel2); - if (nodeLabel1 !== VACANT_NODE_LABEL && nodeLabel2 !== nodeLabel1) graph.addEdge(undefined, fromNodeId, toNodeId, edgeLabel); - }); - return graph; - } - - // 建立 rightmost path - buildRmpath() { - this.rmpath = []; - let oldFrom = undefined; - const selfLength = this.dfsEdgeList.length; - for (let i = selfLength - 1; i >= 0; i--) { - const dfsEdge = this.dfsEdgeList[i]; - const fromNodeIdx = dfsEdge.fromNode; - const toNodeIdx = dfsEdge.toNode; - if ( - fromNodeIdx < toNodeIdx && - (oldFrom === undefined || toNodeIdx === oldFrom) - ) { - this.rmpath.push(i); - oldFrom = fromNodeIdx; - } - } - return this.rmpath; - } - - getNodeNum() { - const nodeMap = {}; - this.dfsEdgeList.forEach((dfsEdge) => { - if (!nodeMap[dfsEdge.fromNode]) nodeMap[dfsEdge.fromNode] = true; - if (!nodeMap[dfsEdge.toNode]) nodeMap[dfsEdge.toNode] = true; - }); - return Object.keys(nodeMap).length; - } -} - -class History { - public his: object; - public edges: Edge[]; - public nodesUsed: object; - public edgesUsed: object; - - constructor(pdfs: PDFS) { - this.his = {}; - this.nodesUsed = {}; - this.edgesUsed = {}; - this.edges = []; - if (!pdfs) return; - while (pdfs) { - const e = pdfs.edge; - this.edges.push(e); - this.nodesUsed[e.from] = 1; - this.nodesUsed[e.to] = 1; - this.edgesUsed[e.id] = 1; - pdfs = pdfs.preNode; - } - // 倒序 - this.edges = this.edges.reverse(); - } - - hasNode(node: Node) { - return this.nodesUsed[node.id] === 1; - } - - hasEdge(edge: Edge) { - return this.edgesUsed[edge.id] === 1; - } -} - -interface Root { - [key: string]: { - projected: PDFS[]; - nodeLabel1?: string; - edgeLabel?: string; - nodeLabel2?: string; - fromNodeId?: number; - toNodeId?: number; - }; -} - -interface GraphDataMap { - [key: string]: GraphData; -} -interface GraphMap { - [key: number]: Graph; -} - -interface AlgorithmProps { - graphs: GraphMap; // 图数据 - minSupport: number; // 算法参数,最小支持数量,根据 graphs 内图的数量指定 - directed?: boolean; // 是否有向图,默认为 false - minNodeNum?: number; // 每个子图中边的最少个数,默认为 1 - maxNodeNum?: number; // 每个子图中边的最多个数,默认为 4 - top?: number; // 返回前 top 个频繁子图,默认为 10 - verbose?: boolean; -} - -class GSpan { - public graphs: GraphMap; - public dfsCode: DFScode; - public support: number; - public frequentSize1Subgraphs: GraphData[]; - public frequentSubgraphs: Graph[]; - public reportDF: []; - public maxNodeNum: number; - public minNodeNum: number; - public minSupport: number; - public top: number; - public directed: boolean; - private counter: number; // 用于生成图的 id,自增 - public verbose: boolean; - - constructor({ - graphs, - minSupport = 2, - minNodeNum = 1, - maxNodeNum = 4, - top = 10, - directed = false, - verbose = false, - }: AlgorithmProps) { - // -------- 第零步,初始化------- - this.graphs = graphs; - this.dfsCode = new DFScode(); - this.support = 0; - this.frequentSize1Subgraphs = []; - this.frequentSubgraphs = []; - this.minSupport = minSupport; - this.top = top; - this.directed = directed; - this.counter = 0; - // TODO? timestamp = {} - this.maxNodeNum = maxNodeNum; - this.minNodeNum = minNodeNum; - this.verbose = verbose; - if (this.maxNodeNum < this.minNodeNum) this.maxNodeNum = this.minNodeNum; - this.reportDF = []; // matrix - } - - // Line 352 - findForwardRootEdges(graph: Graph, fromNode: Node): Edge[] { - const result = []; - const nodeMap = graph.nodeMap; - fromNode.edges.forEach((edge) => { - if (this.directed || fromNode.label <= nodeMap[edge.to].label) - result.push(edge); - }); - - return result; - } - - findBackwardEdge( - graph: Graph, - edge1: Edge, - edge2: Edge, - history: History - ): Edge { - if (!this.directed && edge1 === edge2) return null; - const nodeMap = graph.nodeMap; - const edge2To = nodeMap[edge2.to]; - const edge2ToEdges = edge2To.edges; - const edgeLength = edge2ToEdges.length; - for (let i = 0; i < edgeLength; i++) { - const edge = edge2ToEdges[i]; - if (history.hasEdge(edge) || edge.to !== edge1.from) continue; - if (!this.directed) { - if ( - edge1.label < edge.label || - (edge1.label === edge.label && - nodeMap[edge1.to].label <= nodeMap[edge2.to].label) - ) { - return edge; - } - } else { - if ( - nodeMap[edge1.from].label < nodeMap[edge2.to].label || - (nodeMap[edge1.from].label === nodeMap[edge2.to].label && - edge1.label <= edge.label) - ) { - return edge; - } - } - } - return null; - } - - findForwardPureEdges( - graph, - rightmostEdge, - minNodeLabel, - history: History - ): Edge[] { - const result = []; - const rightmostEdgeToId = rightmostEdge.to; - const edges = graph.nodeMap[rightmostEdgeToId].edges; - const edgeLength = edges.length; - for (let i = 0; i < edgeLength; i++) { - const edge = edges[i]; - const toNode = graph.nodeMap[edge.to]; - if (minNodeLabel <= toNode.label && !history.hasNode(toNode)) { - result.push(edge); - } - } - return result; - } - - findForwardRmpathEdges( - graph: Graph, - rightmostEdge: Edge, - minNodeLabel: string, - history: History - ): Edge[] { - const result = []; - const nodeMap = graph.nodeMap; - const toNodeLabel = nodeMap[rightmostEdge.to].label; - const fromNode = nodeMap[rightmostEdge.from]; - const edges = fromNode.edges; - const edgeLength = edges.length; - for (let i = 0; i < edgeLength; i++) { - const edge = edges[i]; - const newToNodeLabel = nodeMap[edge.to].label; - if ( - rightmostEdge.to === edge.to || - minNodeLabel > newToNodeLabel || - history.hasNode(nodeMap[edge.to]) - ) { - continue; - } - if ( - rightmostEdge.label < edge.label || - (rightmostEdge.label === edge.label && toNodeLabel <= newToNodeLabel) - ) { - result.push(edge); - } - } - return result; - } - - getSupport(projected: PDFS[]): number { - const graphMap = {}; - projected.forEach((pro) => { - if (!graphMap[pro.graphId]) graphMap[pro.graphId] = true; - }); - return Object.keys(graphMap).length; - } - - findMinLabel( - obj: Root - ): { - nodeLabel1?: string; - edgeLabel: string; - nodeLabel2?: string; - } { - let minLabel = undefined; - Object.keys(obj).forEach((nodeEdgeNodeLabel) => { - const { nodeLabel1, edgeLabel, nodeLabel2 } = obj[nodeEdgeNodeLabel]; - if (!minLabel) { - minLabel = { - nodeLabel1, - edgeLabel, - nodeLabel2, - }; - return; - } - if ( - nodeLabel1 < minLabel.nodeLabel1 || - (nodeLabel1 === minLabel.nodeLabel1 && - edgeLabel < minLabel.edgeLabel) || - (nodeLabel1 === minLabel.nodeLabel1 && - edgeLabel === minLabel.edgeLabel && - nodeLabel2 < minLabel.nodeLabel2) - ) { - minLabel = { - nodeLabel1, - edgeLabel, - nodeLabel2, - }; - } - }); - return minLabel; - } - - isMin() { - const dfsCode = this.dfsCode; - if (this.verbose) console.log("isMin checking", dfsCode); - if (dfsCode.dfsEdgeList.length === 1) return true; - const directed = this.directed; - const graph = dfsCode.toGraph(VACANT_GRAPH_ID, directed); - const nodeMap = graph.nodeMap; - const dfsCodeMin = new DFScode(); - const root: Root = {}; - graph.nodes.forEach((node) => { - const forwardEdges = this.findForwardRootEdges(graph, node); - forwardEdges.forEach((edge) => { - let otherNode = nodeMap[edge.to]; - const nodeEdgeNodeLabel = `${node.label}-${edge.label}-${otherNode.label}`; - if (!root[nodeEdgeNodeLabel]) - root[nodeEdgeNodeLabel] = { - projected: [], - nodeLabel1: node.label, - edgeLabel: edge.label, - nodeLabel2: otherNode.label, - }; - const pdfs: PDFS = { - graphId: graph.id, - edge, - preNode: null, - }; - root[nodeEdgeNodeLabel].projected.push(pdfs); - }); - }); - - // 比较 root 中每一项的 nodeEdgeNodeLabel 大小,按照 nodeLabel1、edgeLabe、nodeLabel2 的顺序比较 - let minLabel = this.findMinLabel(root); // line 419 - if (!minLabel) return; - dfsCodeMin.dfsEdgeList.push( - new DFSedge( - 0, - 1, - minLabel.nodeLabel1, - minLabel.edgeLabel, - minLabel.nodeLabel2 - ) - ); - - // line 423 - const projectIsMin = (projected: PDFS[]) => { - // right most path - const rmpath = dfsCodeMin.buildRmpath(); - const minNodeLabel = - dfsCodeMin.dfsEdgeList[0].nodeEdgeNodeLabel.nodeLabel1; - const maxToC = dfsCodeMin.dfsEdgeList[rmpath[0]].toNode; // node id - - const backwardRoot: Root = {}; - let flag = false, - newTo = 0; - let end = directed ? -1 : 0; // 遍历到 1 还是到 0 - for (let i = rmpath.length - 1; i > end; i--) { - if (flag) break; - // line 435 - projected.forEach((p) => { - const history = new History(p); - const backwardEdge = this.findBackwardEdge( - graph, - history.edges[rmpath[i]], - history.edges[rmpath[0]], - history - ); - if (backwardEdge) { - // Line 441 - if (!backwardRoot[backwardEdge.label]) { - backwardRoot[backwardEdge.label] = { - projected: [], - edgeLabel: backwardEdge.label, - }; - } - backwardRoot[backwardEdge.label].projected.push({ - graphId: graph.id, - edge: backwardRoot, - preNode: p, - }); - newTo = dfsCodeMin.dfsEdgeList[rmpath[i]].fromNode; - flag = true; - } - }); - } - - if (flag) { - const minBackwardEdgeLabel = this.findMinLabel(backwardRoot); - dfsCodeMin.dfsEdgeList.push( - new DFSedge( - maxToC, - newTo, - VACANT_NODE_LABEL, - minBackwardEdgeLabel.edgeLabel, - VACANT_NODE_LABEL - ) - ); - const idx = dfsCodeMin.dfsEdgeList.length - 1; - if (this.dfsCode.dfsEdgeList[idx] !== dfsCodeMin.dfsEdgeList[idx]) - return false; - return projectIsMin( - backwardRoot[minBackwardEdgeLabel.edgeLabel].projected - ); - } - const forwardRoot: Root = {}; - flag = false; - let newFrom = 0; - projected.forEach((p) => { - const history = new History(p); - const forwardPureEdges = this.findForwardPureEdges( - graph, - history.edges[rmpath[0]], - minNodeLabel, - history - ); - if (forwardPureEdges.length > 0) { - flag = true; - newFrom = maxToC; - forwardPureEdges.forEach((edge) => { - const key = `${edge.label}-${nodeMap[edge.to].label}`; - if (!forwardRoot[key]) - forwardRoot[key] = { - projected: [], - edgeLabel: edge.label, - nodeLabel2: nodeMap[edge.to].label, - }; - forwardRoot[key].projected.push({ - graphId: graph.id, - edge, - preNode: p, - }); - }); - } - }); - - const pathLength = rmpath.length; - for (let i = 0; i < pathLength; i++) { - if (flag) break; - const value = rmpath[i]; - projected.forEach((p) => { - const history = new History(p); - const forwardRmpathEdges = this.findForwardRmpathEdges( - graph, - history.edges[value], - minNodeLabel, - history - ); - if (forwardRmpathEdges.length > 0) { - flag = true; - newFrom = dfsCodeMin.dfsEdgeList[value].fromNode; - forwardRmpathEdges.forEach((edge) => { - const key = `${edge.label}-${nodeMap[edge.to].label}`; - if (!forwardRoot[key]) - forwardRoot[key] = { - projected: [], - edgeLabel: edge.label, - nodeLabel2: nodeMap[edge.to].label, - }; - forwardRoot[key].projected.push({ - graphId: graph.id, - edge, - preNode: p, - }); - }); - } - }); - } - - if (!flag) return true; - - const forwardMinEdgeNodeLabel = this.findMinLabel(forwardRoot); - dfsCodeMin.dfsEdgeList.push( - new DFSedge( - newFrom, - maxToC + 1, - VACANT_NODE_LABEL, - forwardMinEdgeNodeLabel.edgeLabel, - forwardMinEdgeNodeLabel.nodeLabel2 - ) - ); - const idx = dfsCodeMin.dfsEdgeList.length - 1; - if (dfsCode.dfsEdgeList[idx] !== dfsCodeMin.dfsEdgeList[idx]) - return false; - return projectIsMin( - forwardRoot[ - `${forwardMinEdgeNodeLabel.edgeLabel}-${forwardMinEdgeNodeLabel.nodeLabel2}` - ].projected - ); - }; - const key = `${minLabel.nodeLabel1}-${minLabel.edgeLabel}-${minLabel.nodeLabel2}`; - return projectIsMin(root[key].projected); - } - - report() { - if (this.dfsCode.getNodeNum() < this.minNodeNum) return; - this.counter++; - const graph = this.dfsCode.toGraph(this.counter, this.directed); - this.frequentSubgraphs.push(clone(graph)); - } - - subGraphMining(projected) { - const support = this.getSupport(projected); - if (support < this.minSupport) return; - if (!this.isMin()) return; - this.report(); - - const nodeNum = this.dfsCode.getNodeNum(); - const rmpath = this.dfsCode.buildRmpath(); - const maxToC = this.dfsCode.dfsEdgeList[rmpath[0]].toNode; - const minNodeLabel = this.dfsCode.dfsEdgeList[0].nodeEdgeNodeLabel - .nodeLabel1; - - const forwardRoot: Root = {}; - const backwardRoot: Root = {}; - - projected.forEach((p) => { - const graph = this.graphs[p.graphId]; - const nodeMap = graph.nodeMap; - const history = new History(p); - // backward Line 526 - for (let i = rmpath.length - 1; i >= 0; i--) { - const backwardEdge = this.findBackwardEdge( - graph, - history.edges[rmpath[i]], - history.edges[rmpath[0]], - history - ); - if (backwardEdge) { - const key = `${this.dfsCode.dfsEdgeList[rmpath[i]].fromNode}-${ - backwardEdge.label - }`; - if (!backwardRoot[key]) - backwardRoot[key] = { - projected: [], - toNodeId: this.dfsCode.dfsEdgeList[rmpath[i]].fromNode, - edgeLabel: backwardEdge.label, - }; - backwardRoot[key].projected.push({ - graphId: p.graphId, - edge: backwardEdge, - preNode: p, - }); - } - } - - // pure forward - if (nodeNum >= this.maxNodeNum) return; - const forwardPureEdges = this.findForwardPureEdges( - graph, - history.edges[rmpath[0]], - minNodeLabel, - history - ); - forwardPureEdges.forEach((edge) => { - const key = `${maxToC}-${edge.label}-${nodeMap[edge.to].label}`; - if (!forwardRoot[key]) - forwardRoot[key] = { - projected: [], - fromNodeId: maxToC, - edgeLabel: edge.label, - nodeLabel2: nodeMap[edge.to].label, - }; - forwardRoot[key].projected.push({ - graphId: p.graphId, - edge, - preNode: p, - }); - }); - - // rmpath forward - for (let i = 0; i < rmpath.length; i++) { - const forwardRmpathEdges = this.findForwardRmpathEdges( - graph, - history.edges[rmpath[i]], - minNodeLabel, - history - ); - forwardRmpathEdges.forEach((edge) => { - const key = `${this.dfsCode.dfsEdgeList[rmpath[i]].fromNode}-${ - edge.label - }-${nodeMap[edge.to].label}`; - if (!forwardRoot[key]) - forwardRoot[key] = { - projected: [], - fromNodeId: this.dfsCode.dfsEdgeList[rmpath[i]].fromNode, - edgeLabel: edge.label, - nodeLabel2: nodeMap[edge.to].label, - }; - forwardRoot[key].projected.push({ - graphId: p.graphId, - edge, - preNode: p, - }); - }); - } - }); - - // backward - Object.keys(backwardRoot).forEach((key) => { - const { toNodeId, edgeLabel } = backwardRoot[key]; - this.dfsCode.dfsEdgeList.push( - new DFSedge(maxToC, toNodeId, "-1", edgeLabel, "-1") - ); - this.subGraphMining(backwardRoot[key].projected); - this.dfsCode.dfsEdgeList.pop(); - }); - - // forward - Object.keys(forwardRoot).forEach((key) => { - const { fromNodeId, edgeLabel, nodeLabel2 } = forwardRoot[key]; - this.dfsCode.dfsEdgeList.push( - new DFSedge( - fromNodeId, - maxToC + 1, - VACANT_NODE_LABEL, - edgeLabel, - nodeLabel2 - ) - ); - this.subGraphMining(forwardRoot[key].projected); - this.dfsCode.dfsEdgeList.pop(); - }); - } - - generate1EdgeFrequentSubGraphs() { - const graphs = this.graphs; - const directed = this.directed; - const minSupport = this.minSupport; - const frequentSize1Subgraphs = this.frequentSize1Subgraphs; - let nodeLabelCounter = {}, - nodeEdgeNodeCounter = {}; - // 保存各个图和各自节点的关系 map,key 格式为 graphKey-node类型 - const nodeLableCounted = {}; - // 保存各个图和各自边的关系 map,key 格式为 graphKey-fromNode类型-edge类型-toNode类型 - const nodeEdgeNodeLabelCounted = {}; - Object.keys(graphs).forEach((key) => { - // Line 271 - const graph = graphs[key]; - const nodeMap = graph.nodeMap; - // 遍历节点,记录对应图 与 每个节点的 label 到 nodeLableCounted - graph.nodes.forEach((node, i) => { - // Line 272 - const nodeLabel = node.label; - const graphNodeKey = `${key}-${nodeLabel}`; - if (!nodeLableCounted[graphNodeKey]) { - let counter = nodeLabelCounter[nodeLabel] || 0; - counter++; - nodeLabelCounter[nodeLabel] = counter; - } - nodeLableCounted[graphNodeKey] = { - graphKey: key, - label: nodeLabel, - }; - // 遍历该节点的所有边,记录各个图和各自边的关系到 nodeEdgeNodeLabelCounted. Line 276 - node.edges.forEach((edge) => { - let nodeLabel1 = nodeLabel; - let nodeLabel2 = nodeMap[edge.to].label; - if (!directed && nodeLabel1 > nodeLabel2) { - const tmp = nodeLabel2; - nodeLabel2 = nodeLabel1; - nodeLabel1 = tmp; - } - const edgeLabel = edge.label; - - const graphNodeEdgeNodeKey = `${key}-${nodeLabel1}-${edgeLabel}-${nodeLabel2}`; - const nodeEdgeNodeKey = `${nodeLabel1}-${edgeLabel}-${nodeLabel2}`; - - if (!nodeEdgeNodeCounter[nodeEdgeNodeKey]) { - let counter = nodeEdgeNodeCounter[nodeEdgeNodeKey] || 0; - counter++; - nodeEdgeNodeCounter[nodeEdgeNodeKey] = counter; // Line281 - } - nodeEdgeNodeLabelCounted[graphNodeEdgeNodeKey] = { - graphId: key, - nodeLabel1, - edgeLabel, - nodeLabel2, - }; - }); - }); - }); - - // 计算频繁的节点 - Object.keys(nodeLabelCounter).forEach((label) => { - const count = nodeLabelCounter[label]; - if (count < minSupport) return; - const g = { nodes: [], edges: [] }; - g.nodes.push({ - id: "0", - label, - }); - frequentSize1Subgraphs.push(g); - // if (minNodeNum <= 1) reportSize1 TODO - }); - - return frequentSize1Subgraphs; - } - - run() { - // -------- 第一步, _generate_1edge_frequent_subgraphs:频繁的单个节点------- - this.frequentSize1Subgraphs = this.generate1EdgeFrequentSubGraphs(); - - if (this.maxNodeNum < 2) return; - - const graphs = this.graphs; - const directed = this.directed; - - // PDFS 数组的 map Line 304 - const root: Root = {}; - Object.keys(graphs).forEach((graphId: any) => { - const graph = graphs[graphId]; - const nodeMap = graph.nodeMap; - // Line 306 - graph.nodes.forEach((node) => { - const forwardRootEdges = this.findForwardRootEdges(graph, node); - // Line 308 - forwardRootEdges.forEach((edge) => { - let toNode = nodeMap[edge.to]; - const nodeEdgeNodeLabel = `${node.label}-${edge.label}-${toNode.label}`; - if (!root[nodeEdgeNodeLabel]) - root[nodeEdgeNodeLabel] = { - projected: [], - nodeLabel1: node.label as string, - edgeLabel: edge.label as string, - nodeLabel2: toNode.label as string, - }; - const pdfs: PDFS = { - graphId, - edge, - preNode: null, - }; - root[nodeEdgeNodeLabel].projected.push(pdfs); - }); - }); - }); - - // Line 313 - Object.keys(root).forEach((nodeEdgeNodeLabel) => { - const { projected, nodeLabel1, edgeLabel, nodeLabel2 } = root[ - nodeEdgeNodeLabel - ]; - - this.dfsCode.dfsEdgeList.push( - new DFSedge(0, 1, nodeLabel1, edgeLabel, nodeLabel2) - ); - this.subGraphMining(projected); - this.dfsCode.dfsEdgeList.pop(); - }); - } -} - -const formatGraphs = ( - graphs: GraphDataMap, - directed: boolean, - nodeLabelProp: string, - edgeLabelProp: string -): GraphMap => { - const result: { [key: number]: Graph } = {}; - Object.keys(graphs).forEach((key, i) => { - const graph = graphs[key]; - const fGraph = new Graph(i, true, directed); - const nodeIdxMap = {}; - graph.nodes.forEach((node, j) => { - fGraph.addNode(j, node[nodeLabelProp]); - nodeIdxMap[node.id] = j; - }); - graph.edges.forEach((edge, k) => { - const sourceIdx = nodeIdxMap[edge.source]; - const targetIdx = nodeIdxMap[edge.target]; - fGraph.addEdge(-1, sourceIdx, targetIdx, edge[edgeLabelProp]); - }); - if (fGraph && fGraph.getNodeNum()) result[fGraph.id] = fGraph; - }); - return result; -}; - -const toGraphDatas = ( - graphs: Graph[], - nodeLabelProp: string, - edgeLabelProp: string -) => { - const result = []; - graphs.forEach((graph) => { - const graphData = { nodes: [], edges: [] }; - graph.nodes.forEach((node) => { - graphData.nodes.push({ - id: `${node.id}`, - [nodeLabelProp]: node.label, - }); - }); - graph.edges.forEach((edge) => { - graphData.edges.push({ - source: `${edge.from}`, - target: `${edge.to}`, - [edgeLabelProp]: edge.label, - }); - }); - result.push(graphData); - }); - return result; -}; - -interface Props { - graphs: GraphDataMap; // 图数据 - minSupport: number; // 算法参数,最小支持数量,根据 graphs 内图的数量指定 - directed?: boolean; // 是否有向图,默认为 false - nodeLabelProp?: string; // 节点类型的属性名 - edgeLabelProp?: string; // 边类型的属性名 - minNodeNum?: number; // 每个子图中节点的最少个数,默认为 1 - maxNodeNum?: number; // 每个子图中节点的最多个数,默认为 4 - top?: number; // 返回前 top 个频繁子图,默认为 10 - verbose?: boolean; -} - -const DEFAULT_LABEL_NAME = "cluster"; - -/** - * gSpan 频繁子图计算算法(frequent graph mining) - * @param params 参数 - */ -const gSpan = (params: Props): GraphData[] => { - // ------- 将图数据 GraphData 的 map 转换为格式 ------- - const { - graphs, - directed = false, - nodeLabelProp = DEFAULT_LABEL_NAME, - edgeLabelProp = DEFAULT_LABEL_NAME, - } = params; - const formattedGraphs = formatGraphs( - graphs, - directed, - nodeLabelProp, - edgeLabelProp - ); - const { minSupport, maxNodeNum, minNodeNum, verbose, top } = params; - - // ------- 初始化与执行算法 ------- - const algoParams = { - graphs: formattedGraphs, - minSupport, - maxNodeNum, - minNodeNum, - top, - verbose, - directed, - }; - const calculator = new GSpan(algoParams); - calculator.run(); - - const result = toGraphDatas( - calculator.frequentSubgraphs, - nodeLabelProp, - edgeLabelProp - ); - return result; -}; - -export default gSpan; diff --git a/packages/graph/src/gSpan/struct.ts b/packages/graph/src/gSpan/struct.ts deleted file mode 100644 index 03de226..0000000 --- a/packages/graph/src/gSpan/struct.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { indexOf } from "@antv/util"; - -export const VACANT_EDGE_ID = -1; -export const VACANT_NODE_ID = -1; -export const VACANT_EDGE_LABEL = "-1"; -export const VACANT_NODE_LABEL = "-1"; -export const VACANT_GRAPH_ID = -1; -export const AUTO_EDGE_ID = "-1"; - -export class Edge { - public id: number; - public from: number; - public to: number; - public label: string; - - constructor( - id = VACANT_EDGE_ID, - from = VACANT_NODE_ID, - to = VACANT_NODE_ID, - label = VACANT_EDGE_LABEL - ) { - this.id = id; - this.from = from; - this.to = to; - this.label = label; - } -} - -export class Node { - public id: number; - public from: number; - public to: number; - public label: string; - public edges: Edge[]; - public edgeMap: {}; - - constructor(id = VACANT_NODE_ID, label = VACANT_NODE_LABEL) { - this.id = id; - this.label = label; - this.edges = []; - this.edgeMap = {}; - } - - addEdge(edge) { - this.edges.push(edge); - this.edgeMap[edge.id] = edge; - } -} - -export class Graph { - public id: number; - public from: number; - public to: number; - public label: string; - public edgeIdAutoIncrease: boolean; - public nodes: Node[]; - public edges: Edge[]; - public nodeMap: {}; - public edgeMap: {}; - public nodeLabelMap: {}; // key 是 label,value 是节点 id 的数组 - public edgeLabelMap: {}; - private counter: number; // 自增用于自动生成边 id - public directed: boolean; - - constructor( - id = VACANT_NODE_ID, - edgeIdAutoIncrease = true, - directed = false - ) { - this.id = id; - this.edgeIdAutoIncrease = edgeIdAutoIncrease; - this.edges = []; - this.nodes = []; - this.nodeMap = {}; - this.edgeMap = {}; - this.nodeLabelMap = {}; - this.edgeLabelMap = {}; - this.counter = 0; - this.directed = directed; - } - - getNodeNum() { - return this.nodes.length; - } - - addNode(id: number, label: string) { - if (this.nodeMap[id]) return; - const node = new Node(id, label); - this.nodes.push(node); - this.nodeMap[id] = node; - if (!this.nodeLabelMap[label]) this.nodeLabelMap[label] = []; - this.nodeLabelMap[label].push(id); - } - - addEdge(id: number, from: number, to: number, label: string) { - if (this.edgeIdAutoIncrease || id === undefined) id = this.counter++; - if (this.nodeMap[from] && this.nodeMap[to] && this.nodeMap[to].edgeMap[id]) - return; - const edge = new Edge(id, from, to, label); - this.edges.push(edge); - this.edgeMap[id] = edge; - - this.nodeMap[from].addEdge(edge); - - if (!this.edgeLabelMap[label]) this.edgeLabelMap[label] = []; - this.edgeLabelMap[label].push(edge); - - if (!this.directed) { - const rEdge = new Edge(id, to, from, label); - this.nodeMap[to].addEdge(rEdge); - this.edgeLabelMap[label].push(rEdge); - } - } -} diff --git a/packages/graph/src/gaddi.ts b/packages/graph/src/gaddi.ts deleted file mode 100644 index b9a61bf..0000000 --- a/packages/graph/src/gaddi.ts +++ /dev/null @@ -1,1211 +0,0 @@ -import floydWarshall from './floydWarshall'; -import { GraphData, Matrix } from './types'; -import gSpan, { EdgeMap, NodeMap } from './gSpan/gSpan'; -import dijkstra from './dijkstra'; -import { uniqueId } from './util'; - -/** 节点对 map */ -interface NodePairMap { - [key: string]: { - // key 的格式为 startNodeIdx-endNodeIdx - start: number; // 第一个节点的 idx - end: number; // 第二个节点的 idx - distance: number; // 两节点最短路径长度 - }; -} - -interface LabelMap { - [label: string]: any; -} - -/** 邻居单元类型 */ -interface NeighborUnit { - nodeId: string; - nodeIdx: number; - nodeIdxs: number[]; // the first one is nodeIdx - neighbors: any[]; // - neighborNum: number; - nodeLabelCountMap: { - [label: string]: { - count: number; - dists: number[]; // 按照从小到大排序的距离数组 - }; - }; -} - -/** 节点对的邻居交集的诱导子图 map */ -interface InterGraphMap { - [key: string]: GraphData; // key 格式由节点对的 idx 组成:beginIdx-endIdx,和 nodePairMap 对应 -} - -/** - * 为 graphData 中每个节点生成邻居单元数组 - * @param graphData - * @param spm - * @param nodeLabelProp - * @param k k-近邻 - */ -const findKNeighborUnits = ( - graphData: GraphData, - spm: Matrix[], - nodeLabelProp: string = 'cluster', - k: number = 2, -): NeighborUnit[] => { - const units: NeighborUnit[] = []; - const nodes = graphData.nodes; - spm.forEach((row: number[], i) => { - units.push(findKNeighborUnit(nodes, row, i, nodeLabelProp, k)); - }); - return units; -}; - -const findKNeighborUnit = (nodes, row, i, nodeLabelProp, k) => { - const unitNodeIdxs = [i]; - const neighbors = []; - const labelCountMap = {}; - row.forEach((v, j) => { - if (v <= k && i !== j) { - unitNodeIdxs.push(j); - neighbors.push(nodes[j]); - const label = nodes[j][nodeLabelProp]; - if (!labelCountMap[label]) labelCountMap[label] = { count: 1, dists: [v] }; - else { - labelCountMap[label].count++; - labelCountMap[label].dists.push(v); - } - } - }); - // 将 labelCountMap 中的 dists 按照从小到大排序,方便后面使用 - Object.keys(labelCountMap).forEach(label => { - labelCountMap[label].dists = labelCountMap[label].dists.sort((a, b) => a - b); - }); - return { - nodeIdx: i, - nodeId: nodes[i].id, - nodeIdxs: unitNodeIdxs, - neighbors, - neighborNum: unitNodeIdxs.length - 1, - nodeLabelCountMap: labelCountMap, - }; -}; - -/** - * 随机寻找点对,满足距离小于 k - * @param k 参数 k,表示 k-近邻 - * @param nodeNum 参数 length - * @param maxNodePairNum 寻找点对的数量不超过 maxNodePairNum - * @param spm 最短路径矩阵 - */ -const findNodePairsRandomly = ( - k: number, - nodeNum: number, - maxNodePairNum: number, - kNeighborUnits: NeighborUnit[], - spm: Matrix[], -): NodePairMap => { - // 每个节点需要随机找出的点对数 - let nodePairNumEachNode = Math.ceil(maxNodePairNum / nodeNum); - const nodePairMap = {}; - let foundNodePairCount = 0; - - // 遍历节点,为每个节点随机找出 nodePairNumEachNode 个点对,满足距离小于 k。找到的点对数量超过 maxNodePairNum 或所有节点遍历结束时终止 - kNeighborUnits.forEach((unit, i) => { - // 若未达到 nodePairNumEachNode,或循环次数小于最大循环次数(2 * nodeNum),继续循环 - let nodePairForICount = 0; - let outerLoopCount = 0; - const neighbors = unit.nodeIdxs; // the first one is the center node - const neighborNum = unit.neighborNum - 1; - while (nodePairForICount < nodePairNumEachNode) { - // 另一端节点在节点数组中的的 index - let oidx = neighbors[1 + Math.floor(Math.random() * neighborNum)]; - let innerLoopCount = 0; - // 若随机得到的另一端 idx 不符合条件,则继续 random。条件是不是同一个节点、这个点对没有被记录过、距离小于 k - while (nodePairMap[`${i}-${oidx}`] || nodePairMap[`${oidx}-${i}`]) { - oidx = Math.floor(Math.random() * nodeNum); - innerLoopCount++; - if (innerLoopCount > 2 * nodeNum) break; // 循环次数大于最大循环次数(2 * nodeNum)跳出循环,避免死循环 - } - if (innerLoopCount < 2 * nodeNum) { - // 未达到最大循环次数,说明找到了合适的另一端 - nodePairMap[`${i}-${oidx}`] = { - start: i, - end: oidx, - distance: spm[i][oidx], - }; - nodePairForICount++; - foundNodePairCount++; - // 如果当前找到的点对数量达到了上限,返回结果 - if (foundNodePairCount >= maxNodePairNum) return nodePairMap; - } - outerLoopCount++; - if (outerLoopCount > 2 * nodeNum) break; // 循环次数大于最大循环次数(2 * nodeNum)跳出循环,避免死循环 - } - // 这个节点没有找到足够 nodePairNumEachNode 的点对。更新 nodePairNumEachNode,让后续节点找更多的点对 - if (nodePairForICount < nodePairNumEachNode) { - const gap = nodePairNumEachNode - nodePairForICount; - nodePairNumEachNode = (nodePairNumEachNode + gap) / (nodeNum - i - 1); - } - }); - return nodePairMap; -}; - -/** - * 计算所有 nodePairMap 中节点对的相交邻居诱导子图 - * @param nodePairMap 节点对 map,key 为 node1.id-node2.id,value 为 { startNodeIdx, endNodeIdx, distance } - * @param neighborUnits 每个节点的邻居元数组 - * @param graphData 原图数据 - * @param edgeMap 边的 map,方便检索 - * @param cachedInducedGraphMap 缓存的结果,下次进入该函数将继续更新该缓存,若 key 在缓存中存在则不需要重复计算 - */ -const getIntersectNeighborInducedGraph = ( - nodePairMap: NodePairMap, - neighborUnits: NeighborUnit[], - graphData: GraphData, - cachedInducedGraphMap?: InterGraphMap, -): InterGraphMap => { - const nodes = graphData.nodes; - if (!cachedInducedGraphMap) cachedInducedGraphMap = {}; - Object.keys(nodePairMap).forEach(key => { - if (cachedInducedGraphMap && cachedInducedGraphMap[key]) return; - cachedInducedGraphMap[key] = { nodes: [], edges: [] }; - const pair = nodePairMap[key]; - const startUnitNodeIds = neighborUnits[pair.start]?.nodeIdxs; - const endUnitNodeIds = neighborUnits[pair.end]?.nodeIdxs; - if (!startUnitNodeIds || !endUnitNodeIds) return; // 不存在邻元,返回空图 - const endSet = new Set(endUnitNodeIds); - const intersect = startUnitNodeIds.filter(x => endSet.has(x)); // 可能会爆栈(在 1580 + 6 nodes full-connected 时出现) - if (!intersect || !intersect.length) return; // 没有交集,返回空图 - const intersectIdMap = {}; - const intersectLength = intersect.length; - for (let i = 0; i < intersectLength; i++) { - const node = nodes[intersect[i]]; - cachedInducedGraphMap[key].nodes.push(node); // 将交集中的点加入诱导子图 - intersectIdMap[node.id] = true; - } - // 遍历所有边数据,如果边的两端都在交集中,将该边加入诱导子图 - graphData.edges.forEach(edge => { - if (intersectIdMap[edge.source] && intersectIdMap[edge.target]) - cachedInducedGraphMap[key].edges.push(edge); - }); - }); - return cachedInducedGraphMap; -}; - -/** - * 计算 strcutre 在 graph 上的匹配数量 - * @param graph 图数据 - * @param structure 目前支持只有两个节点一条边的最简单结构 - * @param nodeLabelProp 节点类型字段名 - * @param edgeLabelProp 边类型字段名 - */ -const getMatchedCount = (graph, structure, nodeLabelProp, edgeLabelProp) => { - const nodeMap = {}; - graph.nodes.forEach(node => { - nodeMap[node.id] = node; - }); - let count = 0; - if (!structure?.edges?.length || structure?.nodes?.length < 2) return 0; - graph.edges.forEach(e => { - const sourceLabel = nodeMap[e.source][nodeLabelProp]; - const targetLabel = nodeMap[e.target][nodeLabelProp]; - const strNodeLabel1 = structure?.nodes[0][nodeLabelProp]; - const strNodeLabel2 = structure?.nodes[1][nodeLabelProp]; - const strEdgeLabel = structure?.edges[0][edgeLabelProp]; - - if (e[edgeLabelProp] !== strEdgeLabel) return; - if ( - (sourceLabel === strNodeLabel1 && targetLabel === strNodeLabel2) || - (sourceLabel === strNodeLabel2 && targetLabel === strNodeLabel1) - ) { - count++; - } - }); - return count; -}; - -/** - * structures 中寻找最具有代表性的一个。这个结构是使得 matchedCountMap 的分组方式类内间距最小,类间间距最大 - * @param matchedCountMap 每个 structure 分类后的各图匹配数量,格式 { [strcture.idx]: { [interInducedGraphKey]: count } } - * @param structureNum strcuture 个数,与 matchedCountMap.length 对应 - * @param structures - */ -const findRepresentStructure = (matchedCountMap, structureNum, structures) => { - let maxOffset = Infinity, - representClusterType = 0; - for (let i = 0; i < structureNum; i++) { - // 一种分组的 map,key 是 intGraph 的 key,value 是 structures[i] 的匹配个数 - const countMapI = matchedCountMap[i]; - // 按照 value 为该组排序,生成 keys 的数组: - const sortedGraphKeys = Object.keys(countMapI).sort((a, b) => { - return countMapI[a] - countMapI[b]; - }); - - // 共 100 个 graphKeys,将 graphKeys 按顺序分为 groupNum 组 - const groupNum = 10; - const clusters = []; // 总共有 groupNum 个项 - sortedGraphKeys.forEach((key, j) => { - if (!clusters[j % groupNum]) - clusters[j % groupNum] = { graphs: [], totalCount: 0, aveCount: 0 }; - clusters[j % groupNum].graphs.push(key); - clusters[j % groupNum].totalCount += countMapI[key]; - }); - - // 计算 cluster 与 cluster 之间的距离 innerDist,每个 cluster 内部的距离 intraDist - let aveIntraDist = 0; // 该类的类内平均值 - const aveCounts = []; // 类内平均匹配数量,将用于计算类间距离 - clusters.forEach(graphsInCluster => { - // 类内均值 - const aveCount = graphsInCluster.totalCount / graphsInCluster.graphs.length; - graphsInCluster.aveCount = aveCount; - aveCounts.push(aveCount); - - // 对于每类,计算类内间距平均值 - let aveIntraPerCluster = 0; - const graphsNum = graphsInCluster.length; - graphsInCluster.graphs.forEach((graphKey1, j) => { - const graph1Count = countMapI[graphKey1]; - graphsInCluster.graphs.forEach((graphKey2, k) => { - if (j === k) return; - aveIntraPerCluster += Math.abs(graph1Count - countMapI[graphKey2]); - }); - }); - aveIntraPerCluster /= (graphsNum * (graphsNum - 1)) / 2; - aveIntraDist += aveIntraPerCluster; - }); - - aveIntraDist /= clusters.length; - - // 用类内均值计算类间距 - let aveInterDist = 0; // 类间间距平均值 - aveCounts.forEach((aveCount1, j) => { - aveCounts.forEach((aveCount2, k) => { - if (j === k) return; - aveInterDist += Math.abs(aveCount1 - aveCount2); - }); - aveInterDist /= (aveCounts.length * (aveCounts.length - 1)) / 2; - }); - - // 寻找 (类间间距均值-类内间距均值) 最大的一种分组方式(对应的 structure 就是最终要找的唯一 DS(G)) - const offset = aveInterDist - aveIntraDist; - if (maxOffset < offset) { - maxOffset = offset; - representClusterType = i; - } - } - return { - structure: structures[representClusterType], - structureCountMap: matchedCountMap[representClusterType], - }; -}; - -const getNodeMaps = (nodes, nodeLabelProp): { nodeMap: NodeMap; nodeLabelMap: LabelMap } => { - const nodeMap: NodeMap = {}, - nodeLabelMap: LabelMap = {}; - nodes.forEach((node, i) => { - nodeMap[node.id] = { idx: i, node, degree: 0, inDegree: 0, outDegree: 0 }; - const label = node[nodeLabelProp]; - if (!nodeLabelMap[label]) nodeLabelMap[label] = []; - nodeLabelMap[label].push(node); - }); - return { nodeMap, nodeLabelMap }; -}; - -const getEdgeMaps = ( - edges, - edgeLabelProp, - nodeMap: NodeMap, -): { edgeMap: EdgeMap; edgeLabelMap: LabelMap } => { - const edgeMap = {}, - edgeLabelMap = {}; - edges.forEach((edge, i) => { - edgeMap[`${uniqueId}`] = { idx: i, edge }; - const label = edge[edgeLabelProp]; - if (!edgeLabelMap[label]) edgeLabelMap[label] = []; - edgeLabelMap[label].push(edge); - - const sourceNode = nodeMap[edge.source]; - if (sourceNode) { - sourceNode.degree++; - sourceNode.outDegree++; - } - const targetNode = nodeMap[edge.target]; - if (targetNode) { - targetNode.degree++; - targetNode.inDegree++; - } - }); - return { edgeMap, edgeLabelMap }; -}; - -/** - * 输出最短路径的 map,key 为 sourceNode.id-targetNode.id,value 为这两个节点的最短路径长度 - * @param nodes - * @param spm - * @param directed - */ -const getSpmMap = (nodes, spm, directed): { [key: string]: number } => { - const length = spm.length; - const map = {}; - spm.forEach((row, i) => { - const start = directed ? 0 : i + 1; - const iId = nodes[i].id; - for (let j = start; j < length; j++) { - if (i === j) continue; - const jId = nodes[j].id; - const dist = row[j]; - map[`${iId}-${jId}`] = dist; - if (!directed) map[`${jId}-${iId}`] = dist; - } - }); - return map; -}; - -/** - * 计算一对节点(node1,node2)的 NDS 距离 - * @param graph 原图数据 - * @param node1 - * @param node2 - */ -const getNDSDist = ( - graph, - node1, - node2, - nodeMap, - spDist, - kNeighborUnits, - structure, - nodeLabelProp, - edgeLabelProp, - cachedNDSMap, - cachedInterInducedGraph, -) => { - const key = `${node1.id}-${node2.id}`; - if (cachedNDSMap && cachedNDSMap[key]) return cachedNDSMap[key]; - let interInducedGraph = cachedInterInducedGraph ? cachedInterInducedGraph[key] : undefined; - // 若没有缓存相交邻居诱导子图,计算 - if (!interInducedGraph) { - const pairMap: NodePairMap = { - [key]: { - start: nodeMap[node1.id].idx, - end: nodeMap[node2.id].idx, - distance: spDist, - }, - }; - - cachedInterInducedGraph = getIntersectNeighborInducedGraph( - pairMap, - kNeighborUnits, - graph, - cachedInterInducedGraph, - ); - interInducedGraph = cachedInterInducedGraph[key]; - } - - return getMatchedCount(interInducedGraph, structure, nodeLabelProp, edgeLabelProp); -}; - -/** - * 计算 pattern 上绩点的度数并存储到 minPatternNodeLabelDegreeMap - */ -const stashPatternNodeLabelDegreeMap = (minPatternNodeLabelDegreeMap, neighborLabel, patternNodeMap, patternNodeLabelMap) => { - let minPatternNodeLabelDegree = minPatternNodeLabelDegreeMap[neighborLabel]?.degree; - let minPatternNodeLabelInDegree = minPatternNodeLabelDegreeMap[neighborLabel]?.inDegree; - let minPatternNodeLabelOutDegree = minPatternNodeLabelDegreeMap[neighborLabel]?.outDegree; - - if (minPatternNodeLabelDegreeMap[neighborLabel] === undefined) { - minPatternNodeLabelDegree = Infinity; - minPatternNodeLabelInDegree = Infinity; - minPatternNodeLabelOutDegree = Infinity; - patternNodeLabelMap[neighborLabel].forEach(patternNodeWithLabel => { - const patternNodeDegree = patternNodeMap[patternNodeWithLabel.id].degree; - if (minPatternNodeLabelDegree > patternNodeDegree) - minPatternNodeLabelDegree = patternNodeDegree; - const patternNodeInDegree = patternNodeMap[patternNodeWithLabel.id].inDegree; - if (minPatternNodeLabelInDegree > patternNodeInDegree) - minPatternNodeLabelInDegree = patternNodeInDegree; - const patternNodeOutDegree = patternNodeMap[patternNodeWithLabel.id].outDegree; - if (minPatternNodeLabelOutDegree > patternNodeOutDegree) - minPatternNodeLabelOutDegree = patternNodeOutDegree; - }); - minPatternNodeLabelDegreeMap[neighborLabel] = { - degree: minPatternNodeLabelDegree, - inDegree: minPatternNodeLabelInDegree, - outDegree: minPatternNodeLabelOutDegree - }; - } - - return { - minPatternNodeLabelDegree, - minPatternNodeLabelInDegree, - minPatternNodeLabelOutDegree - } -} - -/** - * GADDI 模式匹配 - * @param graphData 原图数据 - * @param pattern 搜索图(需要在原图上搜索的模式)数据 - * @param directed 是否计算有向图,默认 false - * @param k 参数 k,表示 k-近邻 - * @param length 参数 length - * @param nodeLabelProp 节点数据中代表节点标签(分类信息)的属性名。默认为 cluster - * @param edgeLabelProp 边数据中代表边标签(分类信息)的属性名。默认为 cluster - */ -const GADDI = ( - graphData: GraphData, - pattern: GraphData, - directed: boolean = false, - k: number, - length: number, - nodeLabelProp: string = 'cluster', - edgeLabelProp: string = 'cluster', -): GraphData[] => { - if (!graphData || !graphData.nodes) return; - // 分为三步: - // 0. 预计算:节点/边数,邻接矩阵、最短路径矩阵 - // 1. 处理原图 graphData。再分为 1~5 小步 - // 2. 匹配 - - // console.log("----- stage-pre: preprocessing -------"); - - // -------- 第零步,预计算:节点/边数,邻接矩阵、最短路径矩阵------- - const nodeNum = graphData.nodes.length; - if (!nodeNum) return; - // console.log("----- stage-pre.1: calc shortest path matrix for graph -------"); - const spm = floydWarshall(graphData, directed); - // console.log( - // "----- stage-pre.2: calc shortest path matrix for pattern -------" - // ); - const patternSpm = floydWarshall(pattern, directed); - // console.log( - // "----- stage-pre.3: calc shortest path matrix map for graph -------" - // ); - const spmMap = getSpmMap(graphData.nodes, spm, directed); - // console.log( - // "----- stage-pre.4: calc shortest path matrix map for pattern -------" - // ); - const patternSpmMap = getSpmMap(pattern.nodes, patternSpm, directed); - - // console.log("----- stage-pre.5: establish maps -------"); - // 节点的 map,以 id 为 id 映射,方便后续快速检索 - const { nodeMap, nodeLabelMap } = getNodeMaps(graphData.nodes, nodeLabelProp); - const { nodeMap: patternNodeMap, nodeLabelMap: patternNodeLabelMap } = getNodeMaps( - pattern.nodes, - nodeLabelProp, - ); - - // 计算节点度数 - getEdgeMaps(graphData.edges, edgeLabelProp, nodeMap); - - const { edgeLabelMap: patternEdgeLabelMap } = getEdgeMaps( - pattern.edges, - edgeLabelProp, - patternNodeMap, - ); - - // 若未指定 length,自动计算 pattern 半径(最短路径最大值) - let patternSpmSpread = []; - patternSpm?.forEach(row => { - patternSpmSpread = patternSpmSpread.concat(row); - }) - if (!length) length = Math.max(...patternSpmSpread, 2); - if (!k) k = length; - - // console.log("params", directed, length, k); - - // console.log("----- stage-pre.6: calc k neighbor units -------"); - // 计算每个节点的 k 邻元集合 - const kNeighborUnits = findKNeighborUnits(graphData, spm, nodeLabelProp, k); - const patternKNeighborUnits = findKNeighborUnits(pattern, patternSpm, nodeLabelProp, k); - - // console.log( - // "----- stage0: going to processing graph and find intersect neighbor induced graphs -------" - // ); - - // console.log("----- stage0.1: going to select random node pairs -------"); - // -------- 第一步,处理原图 graphData------- - - // 1.1. 随机选择最多 100 个点对,满足距离小于 Length 和 k - // 当 graphData 少于 20 个节点,则不能找出 100 个点对,只找出不多于 n(n-1)/2 个点对 - const maxNodePairNum = Math.min(100, (nodeNum * (nodeNum - 1)) / 2); - const nodePairsMap = findNodePairsRandomly( - k, - nodeNum, - maxNodePairNum, - kNeighborUnits, - spm, - ); - - // console.log( - // "----- stage0.2: going to calculate intersect neighbor induced graphs -------" - // ); - // 1.2. 生成上面节点对的相应相交邻居诱导子图。格式为 {'beginNodeIdx-endNodeIdx': {nodes: [], edges: []}} - let intGMap = getIntersectNeighborInducedGraph(nodePairsMap, kNeighborUnits, graphData); - // 1.3. 使用 gSpan 算法(frequent graph mining)计算 ISIntG 的前 10 个频率最高的子结构(3-4条边) - const top = 10, - minSupport = 1, - minNodeNum = 1, - maxNodeNum = 4; - const params = { - graphs: intGMap, - nodeLabelProp, - edgeLabelProp, - minSupport, - minNodeNum, - maxNodeNum, - directed, - }; - - // console.log( - // "----- stage1: (gSpan) going to find frequent structure dsG -------" - // ); - // console.log("----- stage1.1: going to run gSpan -------"); - // 暂时假设生成的 sub structure 都只有一条边 - const freStructures = gSpan(params).slice(0, top); - // structureNum 可能小于 top - const structureNum = freStructures.length; - - // 1.4. 计算上述 10 个子结构在 intGMap 中每个诱导子图的匹配个数 - const matchedCountMap = []; - freStructures.forEach((structure, i) => { - matchedCountMap[i] = {}; - Object.keys(intGMap).forEach(key => { - const graph = intGMap[key]; - const subStructureCount = getMatchedCount(graph, structure, nodeLabelProp, edgeLabelProp); - matchedCountMap[i][key] = subStructureCount; - }); - }); - - // console.log( - // "----- stage1.1: going to find the most represent strucutre -------" - // ); - - // 1.5. 对于每个子结构,根据匹配个数为 intGMap 中的诱导子图分组,生成 structureNum 种分组 - // 计算每种分组的类间距和类内间距,找到类间距最大、类内间距最小的一种分组,这种分组对应的子结构被选为唯一代表性子结构 DS(G) - const { structure: dsG, structureCountMap: ndsDist } = findRepresentStructure( - matchedCountMap, - structureNum, - freStructures, - ); - - // -------- 第二步,匹配------- - // 2.1 找到从 Q 中的一个节点作为起始节点,寻找 G 中的匹配。这个其实节点的标签可以在 G 中找到最多的节点 - let beginPNode = pattern.nodes[0], - candidates = [], - label = pattern.nodes[0]?.[nodeLabelProp], - maxNodeNumWithSameLabel = -Infinity; - pattern.nodes.forEach(node => { - const pLabel = node[nodeLabelProp]; - const nodesWithSameLabel = nodeLabelMap[pLabel] - if (nodesWithSameLabel?.length > maxNodeNumWithSameLabel) { - maxNodeNumWithSameLabel = nodesWithSameLabel.length; - candidates = nodesWithSameLabel; - label = pLabel; - beginPNode = node; - } - }); - - // console.log("----- stage2: going to find candidates -------"); - - // 全局缓存,避免重复计算 - const minPatternNodeLabelDegreeMap = {}; // key 是 label,value 是该 label 节点的最小度数 - let patternIntGraphMap = {}, - patternNDSDist = {}, // key 为 node.id-node.id - patternNDSDistMap = {}; // key 为 node.id-label2,value nds距离值数组(按从大到小排序,无需关心具体对应哪个 node2) - // 2.2.2 对于 Q 中的另一个标签的 k 个节点,计算它们到 node 的最短路径以及 NDS 距离 - const patternSpDist = {}; - const patternSpDistBack = {}; - Object.keys(patternNodeLabelMap).forEach((label2, j) => { - patternSpDist[label2] = []; - if (directed) { - patternSpDistBack[label2] = []; - } - let maxDist = -Infinity; - const patternNodesWithLabel2 = patternNodeLabelMap[label2]; - const patternNodePairMap = {}; - patternNodesWithLabel2.forEach(nodeWithLabel2 => { - const dist = patternSpmMap[`${beginPNode.id}-${nodeWithLabel2.id}`]; - dist && patternSpDist[label2].push(dist); - if (maxDist < dist) maxDist = dist; - patternNodePairMap[`${beginPNode.id}-${nodeWithLabel2.id}`] = { - start: 0, - end: patternNodeMap[nodeWithLabel2.id].idx, - distance: dist, - }; - if (directed) { - const distBack = patternSpmMap[`${nodeWithLabel2.id}-${beginPNode.id}`]; - distBack && patternSpDistBack[label2].push(distBack); - } - }); - - // spDist[label2] 按照从小到大排序 - patternSpDist[label2] = patternSpDist[label2].sort((a, b) => a - b); - if (directed) patternSpDistBack[label2] = patternSpDistBack[label2].sort((a, b) => a - b); - - // 计算 Q 中所有 label2 节点到 beginPNode 的 NDS 距离 - // 所有 label2 节点到 beginPNode 的邻居相交诱导子图: - // key: node1.id-node2.id - patternIntGraphMap = getIntersectNeighborInducedGraph( - patternNodePairMap, - patternKNeighborUnits, - pattern, - patternIntGraphMap, - ); - // pattern 中 beginNode 到当前 label2 节点 的 NDS 距离(数组,无需关心具体对应到哪个节点) - let currentPatternNDSDistArray = []; - Object.keys(patternNodePairMap).forEach(key => { - if (patternNDSDist[key]) { - currentPatternNDSDistArray.push(patternNDSDist[key]); - return; // 缓存过则不需要再次计算 - } - const patternIntGraph = patternIntGraphMap[key]; - patternNDSDist[key] = getMatchedCount(patternIntGraph, dsG, nodeLabelProp, edgeLabelProp); - currentPatternNDSDistArray.push(patternNDSDist[key]); - }); - - // 根据值为 currentPatternNDSDist 从大到小排序 - currentPatternNDSDistArray = currentPatternNDSDistArray.sort((a, b) => b - a); - patternNDSDistMap[`${beginPNode.id}-${label2}`] = currentPatternNDSDistArray; - - if (label2 === label) return; - - const candidatesNum = candidates?.length || 0; - for (let m = candidatesNum - 1; m >= 0; m--) { - const cNode = candidates[m]; - - // prune1:若 candidates 中节点 cNode 的 kNeighborUnits 中标签为 label2 的节点个数少于 pattern 中 label2 个数,删去它 - const graphNeighborUnit = kNeighborUnits[nodeMap[cNode.id].idx]; - const graphNeighborUnitCountMap = graphNeighborUnit.nodeLabelCountMap[label2]; - const patternLabel2Num = patternNodeLabelMap[label2].length; - if (!graphNeighborUnitCountMap || graphNeighborUnitCountMap.count < patternLabel2Num) { - candidates.splice(m, 1); - continue; - } - - // prune2:若 candidates 中节点 cNode 到 kNeighborUnits 中标签为 label2 的节点最短路径大于 patternSpDist[label2],删去它 - // (prune2 规则即:candidate 相关的最短路径的最大 spDist[label2].length 个,按照大小顺序依次和 patternSpDist[label2] 中的值比较,只要遇到一个是 G > Q 的,就删去这个 candidate) - let prune2Invalid = false; - for (let n = 0; n < patternLabel2Num; n++) { - if (graphNeighborUnitCountMap.dists[n] > patternSpDist[label2][n]) { - prune2Invalid = true; - break; - } - } - if (prune2Invalid) { - candidates.splice(m, 1); - continue; - } - - // prune3:若 candidates 中节点 cNode 到 kNeighborUnits 中标签为 label2 的节点 NDS 距离小于 patternNDSDist[beginNode.id-label2],删去它 - // TODO:prune3,currentPatternNDSDistArray 与 currentNDSDist 的比较 - - // 计算 G 中所有 label2 节点到 cNode 的 NDS 距离 - // 所有 label2 节点到 cNode 的邻居相交诱导子图: - const cNodePairMap = {}; - graphNeighborUnit.neighbors.forEach(neighborNode => { - const dist = spmMap[`${cNode.id}-${neighborNode.id}`]; - cNodePairMap[`${cNode.id}-${neighborNode.id}`] = { - start: nodeMap[cNode.id].idx, - end: nodeMap[neighborNode.id].idx, - distance: dist, - }; - }); - // 更新 intGMap - intGMap = getIntersectNeighborInducedGraph(cNodePairMap, kNeighborUnits, graphData, intGMap); - // candidate 到它周围 label2 节点的 NDS 距离, key 是 node.id-node.id - let currentNDSDistArray = []; - Object.keys(cNodePairMap).forEach(key => { - if (ndsDist[key]) { - currentNDSDistArray.push(ndsDist[key]); - return; // 缓存过则不需要再次计算 - } - const intGraph = intGMap[key]; - ndsDist[key] = getMatchedCount(intGraph, dsG, nodeLabelProp, edgeLabelProp); - currentNDSDistArray.push(ndsDist[key]); - }); - - // 根据值为 currentNDSDistArray 从大到小排序 - currentNDSDistArray = currentNDSDistArray.sort((a, b) => b - a); - - let prune3Invalid = false; - for (let n = 0; n < patternLabel2Num; n++) { - if (currentNDSDistArray[n] < currentPatternNDSDistArray[n]) { - prune3Invalid = true; - break; - } - } - if (prune3Invalid) { - candidates.splice(m, 1); - continue; - } - } - }); - - const candidateGraphs = []; - - // console.log( - // "----- stage3: going to splice neighbors for each candidate graph -------" - // ); - - // candidates 经过筛选后,以每个 candidate 为中心,生成 Length-neighbor 的邻居诱导子图 - // 并在诱导子图中去除不可能在 Q 上找到匹配的点:在 Q 上不存在的 label,其他 label 到 candidate 的最大最短距离符合 Q、NDS 距离符合 Q - candidates?.forEach(candidate => { - const nodeIdx = nodeMap[candidate.id].idx; - const lengthNeighborUnit = findKNeighborUnit( - graphData.nodes, - spm[nodeIdx], - nodeIdx, - nodeLabelProp, - length, - ); - - const neighborNodes = lengthNeighborUnit.neighbors; - - // 删除不可能找到匹配的邻居点 - const neighborNum = neighborNodes.length; - let unmatched = false; - for (let i = neighborNum - 1; i >= 0; i--) { - // 如果通过裁剪,符合条件的节点数量已过少,说明不能匹配这个 candidate 相关的图 - if (neighborNodes.length + 1 < pattern.nodes.length) { - unmatched = true; - return; - } - const neighborNode = neighborNodes[i]; - const neighborLabel = neighborNode[nodeLabelProp]; - // prune1: 若该邻居点的 label 不存在于 pattern 中,移除这个点 - if (!patternNodeLabelMap[neighborLabel] || !patternNodeLabelMap[neighborLabel].length) { - neighborNodes.splice(i, 1); - continue; - } - - // prune2: 若该邻居点到 candidate 的最短路径比和它有相同 label 的节点到 beginPNode 的最大最短路径长度长,移除这个点 - // prune2.1: 如果没有这个标签到 beginPNode 的距离记录,说明 pattern 上(可能 beginPNode 是这个 label)没有其他这个 label 的节点 - if (!patternSpDist[neighborLabel] || !patternSpDist[neighborLabel].length) { - neighborNodes.splice(i, 1); - continue; - } - - const key = `${candidate.id}-${neighborNode.id}`; - - // prune2.2 - const distToCandidate = spmMap[key]; - let idx = patternSpDist[neighborLabel].length - 1; - let maxDistWithLabelInPattern = patternSpDist[neighborLabel][idx]; // patternSpDist[neighborLabel] 已经按照从小到大排序 - if (distToCandidate > maxDistWithLabelInPattern) { - neighborNodes.splice(i, 1); - continue; - } - - if (directed) { - const keyBack = `${neighborNode.id}-${candidate.id}`; - const distFromCandidate = spmMap[keyBack]; - idx = patternSpDistBack[neighborLabel].length - 1; - let maxBackDistWithLabelInPattern = patternSpDistBack[neighborLabel][idx]; - if (distFromCandidate > maxBackDistWithLabelInPattern) { - neighborNodes.splice(i, 1); - continue; - } - } - - // prune3: 若该邻居点到 candidate 的 NDS 距离比和它有相同 label 的节点到 beginPNode 的最小 NDS 距离小,移除这个点 - const ndsToCandidate = ndsDist[key] - ? ndsDist[key] - : getNDSDist( - graphData, - candidate, - neighborNode, - nodeMap, - distToCandidate, - kNeighborUnits, - dsG, - nodeLabelProp, - edgeLabelProp, - ndsDist, - intGMap, - ); - const patternKey = `${beginPNode.id}-${neighborLabel}`; - const minNdsWithLabelInPattern = - patternNDSDistMap[patternKey][patternNDSDistMap[patternKey].length - 1]; // patternNDSDist[key] 一定存在 - if (ndsToCandidate < minNdsWithLabelInPattern) { - neighborNodes.splice(i, 1); - continue; - } - - // prune4: 若该邻居点的度数小于 pattern 同 label 节点最小度数,删去该点 - const { - minPatternNodeLabelDegree, - minPatternNodeLabelInDegree, - minPatternNodeLabelOutDegree - } = stashPatternNodeLabelDegreeMap(minPatternNodeLabelDegreeMap, neighborLabel, patternNodeMap,patternNodeLabelMap); - - if (nodeMap[neighborNode.id].degree < minPatternNodeLabelDegree) { - neighborNodes.splice(i, 1); - continue; - } - } - - // 节点在个数上符合匹配(不少于 pattern 的节点个数),现在筛选相关边 - if (!unmatched) { - candidateGraphs.push({ - nodes: [candidate].concat(neighborNodes), - }); - } - }); - - // console.log( - // "----- stage4: going to splice edges and neighbors for each candidate graph -------" - // ); - - const { length: undirectedLengthsToBeginPNode } = dijkstra(pattern, beginPNode.id, false); - - let undirectedLengthsToBeginPNodeLabelMap = {}; - if (directed) { - Object.keys(undirectedLengthsToBeginPNode).forEach(nodeId => { - const nodeLabel = patternNodeMap[nodeId].node[nodeLabelProp]; - if (!undirectedLengthsToBeginPNodeLabelMap[nodeLabel]) - undirectedLengthsToBeginPNodeLabelMap[nodeLabel] = [undirectedLengthsToBeginPNode[nodeId]]; - else - undirectedLengthsToBeginPNodeLabelMap[nodeLabel].push( - undirectedLengthsToBeginPNode[nodeId], - ); - }); - Object.keys(undirectedLengthsToBeginPNodeLabelMap).forEach(pLabel => { - undirectedLengthsToBeginPNodeLabelMap[pLabel].sort((a, b) => a - b); - }); - } else { - undirectedLengthsToBeginPNodeLabelMap = patternSpDist; - } - - // 现在 candidateGraphs 里面只有节点,进行边的筛选 - let candidateGraphNum = candidateGraphs.length; - for (let i = candidateGraphNum - 1; i >= 0; i--) { - const candidateGraph = candidateGraphs[i]; - const candidate = candidateGraph.nodes[0]; - - const candidateNodeLabelCountMap = {}; - const candidateNodeMap = {}; - candidateGraph.nodes.forEach((node, q) => { - candidateNodeMap[node.id] = { - idx: q, - node, - degree: 0, - inDegree: 0, - outDegree: 0 - }; - const cNodeLabel = node[nodeLabelProp]; - if (!candidateNodeLabelCountMap[cNodeLabel]) candidateNodeLabelCountMap[cNodeLabel] = 1; - else candidateNodeLabelCountMap[cNodeLabel]++; - }); - - // 根据 candidate 和 neighborNodes 中的节点生成 G 的诱导子图 - // 即,将 graphData 上两端都在 candidateGraph.nodes 中的边放入 candidateEdges - const candidateEdges = []; - const edgeLabelCountMap = {}; - graphData.edges.forEach(edge => { - if (candidateNodeMap[edge.source] && candidateNodeMap[edge.target]) { - candidateEdges.push(edge); - if (!edgeLabelCountMap[edge[edgeLabelProp]]) edgeLabelCountMap[edge[edgeLabelProp]] = 1; - else edgeLabelCountMap[edge[edgeLabelProp]]++; - candidateNodeMap[edge.source].degree++; - candidateNodeMap[edge.target].degree++; - candidateNodeMap[edge.source].outDegree++; - candidateNodeMap[edge.target].inDegree++; - } - }); - - // prune:若有一个 edgeLabel 在 candidateGraph 上的个数少于 pattern,去除该图 - const pattenrEdgeLabelNum = Object.keys(patternEdgeLabelMap).length; - let prunedByEdgeLabel = false; - for (let e = 0; e < pattenrEdgeLabelNum; e++) { - const label = Object.keys(patternEdgeLabelMap)[e]; - if ( - !edgeLabelCountMap[label] || - edgeLabelCountMap[label] < patternEdgeLabelMap[label].length - ) { - prunedByEdgeLabel = true; - break; - } - } - if (prunedByEdgeLabel) { - candidateGraphs.splice(i, 1); - continue; - } - - // 遍历 candidateEdges,进行边的筛选 - let candidateEdgeNum = candidateEdges.length; - - // prune:若边数过少,去除该图 - if (candidateEdgeNum < pattern.edges.length) { - candidateGraphs.splice(i, 1); - break; - } - let candidateGraphInvalid = false; - for (let e = candidateEdgeNum - 1; e >= 0; e--) { - const edge = candidateEdges[e]; - const edgeLabel = edge[edgeLabelProp]; - const patternEdgesWithLabel = patternEdgeLabelMap[edgeLabel]; - - // prune 1: 若边的 label 不存在于 pattern 边 label 中,去除该边 - if (!patternEdgesWithLabel || !patternEdgesWithLabel.length) { - edgeLabelCountMap[edgeLabel]--; - // 若这个 label 的 count 减少之后,该 label 的边数不足,去除该图 - if (patternEdgesWithLabel && edgeLabelCountMap[edgeLabel] < patternEdgesWithLabel.length) { - candidateGraphInvalid = true; - break; - } - candidateEdges.splice(e, 1); - candidateNodeMap[edge.source].degree--; - candidateNodeMap[edge.target].degree--; - candidateNodeMap[edge.source].outDegree--; - candidateNodeMap[edge.target].inDegree--; - continue; - } - - // prune 2: 若边的 label +两端 label 的三元组关系不能在 pattern 中找到,去除该边 - const sourceLabel = candidateNodeMap[edge.source].node[nodeLabelProp]; - const targetLabel = candidateNodeMap[edge.target].node[nodeLabelProp]; - - let edgeMatched = false; - patternEdgesWithLabel.forEach(patternEdge => { - const patternSource = patternNodeMap[patternEdge.source].node; - const patternTarget = patternNodeMap[patternEdge.target].node; - if ( - patternSource[nodeLabelProp] === sourceLabel && - patternTarget[nodeLabelProp] === targetLabel - ) - edgeMatched = true; - if ( - !directed && - patternSource[nodeLabelProp] === targetLabel && - patternTarget[nodeLabelProp] === sourceLabel - ) - edgeMatched = true; - }); - if (!edgeMatched) { - edgeLabelCountMap[edgeLabel]--; - // 若这个 label 的 count 减少之后,该 label 的边数不足,去除该图 - if (patternEdgesWithLabel && edgeLabelCountMap[edgeLabel] < patternEdgesWithLabel.length) { - candidateGraphInvalid = true; - break; - } - candidateEdges.splice(e, 1); - candidateNodeMap[edge.source].degree--; - candidateNodeMap[edge.target].degree--; - candidateNodeMap[edge.source].outDegree--; - candidateNodeMap[edge.target].inDegree--; - continue; - } - } - - // prune2: 删除边的过程中,发现边数过少/边 label 数过少时,去除该图 - if (candidateGraphInvalid) { - candidateGraphs.splice(i, 1); - continue; - } - - candidateGraph.edges = candidateEdges; - - const { length: lengthsToCandidate } = dijkstra( - candidateGraph, - candidateGraph.nodes[0].id, - false, // 此处计算路径长度用于判断是否连通,因此使用无向图 - ); - Object.keys(lengthsToCandidate) - .reverse() - .forEach(targetId => { - if (targetId === candidateGraph.nodes[0].id || candidateGraphInvalid) return; - // prune4: 通过上述裁剪,可能导致该邻居子图变为不连通。裁剪掉目前在这个邻居子图中和 candidate(第一个节点)不连通的节点 - if (lengthsToCandidate[targetId] === Infinity) { - const targetNodeLabel = candidateNodeMap[targetId].node[nodeLabelProp]; - candidateNodeLabelCountMap[targetNodeLabel]--; - if ( - candidateNodeLabelCountMap[targetNodeLabel] < - patternNodeLabelMap[targetNodeLabel].length - ) { - candidateGraphInvalid = true; - return; - } - const idx = candidateGraph.nodes.indexOf(candidateNodeMap[targetId].node); - candidateGraph.nodes.splice(idx, 1); - candidateNodeMap[targetId] = undefined; - return; - } - // prune5: 经过边裁剪后,可能又出现了最短路径过长的节点 (比 pattern 中同 label 的节点到 beginNode 最大最短距离远),删去这些节点 - const nLabel = nodeMap[targetId].node[nodeLabelProp]; - if ( - !undirectedLengthsToBeginPNodeLabelMap[nLabel] || - !undirectedLengthsToBeginPNodeLabelMap[nLabel].length || - lengthsToCandidate[targetId] > - undirectedLengthsToBeginPNodeLabelMap[nLabel][ - undirectedLengthsToBeginPNodeLabelMap[nLabel].length - 1 - ] - ) { - const targetNodeLabel = candidateNodeMap[targetId].node[nodeLabelProp]; - candidateNodeLabelCountMap[targetNodeLabel]--; - if ( - candidateNodeLabelCountMap[targetNodeLabel] < - patternNodeLabelMap[targetNodeLabel].length - ) { - candidateGraphInvalid = true; - return; - } - const idx = candidateGraph.nodes.indexOf(candidateNodeMap[targetId].node); - candidateGraph.nodes.splice(idx, 1); - candidateNodeMap[targetId] = undefined; - } - }); - - if (candidateGraphInvalid) { - candidateGraphs.splice(i, 1); - continue; - } - - let degreeChanged = true; - let loopCount = 0; - while (degreeChanged && !candidateGraphInvalid) { - degreeChanged = false; - - // candidate 度数不足,删去该图 - const condition = directed ? (candidateNodeMap[candidate.id].degree < patternNodeMap[beginPNode.id].degree || - candidateNodeMap[candidate.id].inDegree < patternNodeMap[beginPNode.id].inDegree || - candidateNodeMap[candidate.id].outDegree < patternNodeMap[beginPNode.id].outDegree) : - candidateNodeMap[candidate.id].degree < patternNodeMap[beginPNode.id].degree; - if (condition) { - candidateGraphInvalid = true; - break; - } - // candidate label 个数不足,删去该图 - if ( - candidateNodeLabelCountMap[candidate[nodeLabelProp]] < - patternNodeLabelMap[candidate[nodeLabelProp]].length - ) { - candidateGraphInvalid = true; - break; - } - - // prune6:去除度数过小的节点 - const currentCandidateNodeNum = candidateGraph.nodes.length; - for (let o = currentCandidateNodeNum - 1; o >= 0; o--) { - const cgNode = candidateGraph.nodes[o]; - const nodeDegree = candidateNodeMap[cgNode.id].degree; - const nodeInDegree = candidateNodeMap[cgNode.id].inDegree; - const nodeOutDegree = candidateNodeMap[cgNode.id].outDegree; - const cNodeLabel = cgNode[nodeLabelProp]; - - const { - minPatternNodeLabelDegree, - minPatternNodeLabelInDegree, - minPatternNodeLabelOutDegree - } = stashPatternNodeLabelDegreeMap(minPatternNodeLabelDegreeMap, cNodeLabel, patternNodeMap,patternNodeLabelMap); - - const deleteCondition = directed ? (nodeDegree < minPatternNodeLabelDegree || - nodeInDegree < minPatternNodeLabelInDegree || - nodeOutDegree < minPatternNodeLabelOutDegree) : - nodeDegree < minPatternNodeLabelDegree; - if (deleteCondition) { - candidateNodeLabelCountMap[cgNode[nodeLabelProp]]--; - // 节点 label 个数不足 - if ( - candidateNodeLabelCountMap[cgNode[nodeLabelProp]] < - patternNodeLabelMap[cgNode[nodeLabelProp]].length - ) { - candidateGraphInvalid = true; - break; - } - candidateGraph.nodes.splice(o, 1); - candidateNodeMap[cgNode.id] = undefined; - degreeChanged = true; - } - } - if (candidateGraphInvalid || (!degreeChanged && loopCount !== 0)) break; - // 经过 prune5 节点裁剪,删去端点已经不在 candidateGraph 中的边 - candidateEdgeNum = candidateEdges.length; - for (let y = candidateEdgeNum - 1; y >= 0; y--) { - const cedge = candidateEdges[y]; - if (!candidateNodeMap[cedge.source] || !candidateNodeMap[cedge.target]) { - candidateEdges.splice(y, 1); - const edgeLabel = cedge[edgeLabelProp]; - edgeLabelCountMap[edgeLabel]--; - if (candidateNodeMap[cedge.source]) { - candidateNodeMap[cedge.source].degree--; - candidateNodeMap[cedge.source].outDegree--; - } - if (candidateNodeMap[cedge.target]) { - candidateNodeMap[cedge.target].degree--; - candidateNodeMap[cedge.target].inDegree--; - } - // 边 label 数量不足 - if ( - patternEdgeLabelMap[edgeLabel] && - edgeLabelCountMap[edgeLabel] < patternEdgeLabelMap[edgeLabel].length - ) { - candidateGraphInvalid = true; - break; - } - degreeChanged = true; - } - } - loopCount++; - } - - if (candidateGraphInvalid) { - candidateGraphs.splice(i, 1); - continue; - } - - // prune: 若节点/边数过少,节点/边 label 过少,去掉这个图 - if ( - candidateGraphInvalid || - candidateGraph.nodes.length < pattern.nodes.length || - candidateEdges.length < pattern.edges.length - ) { - candidateGraphs.splice(i, 1); - continue; - } - } - - // 此时已经生成的多个 candidateGraphs,可能有重复 - - // console.log( - // "----- stage5: going to splice dulplicated candidate graphs -------" - // ); - - // 删去 candidateGraphs 中一模一样的子图,通过边的 node-node-edgeLabel 作为 key,这类边个数作为 value,进行匹配 - let currentLength = candidateGraphs.length; - for (let i = 0; i <= currentLength - 1; i++) { - const cg1 = candidateGraphs[i]; - const cg1EdgeMap = {}; // [node1.id-node2.id-edge.label]: count - cg1.edges.forEach(edge => { - const key = `${edge.source}-${edge.target}-${edge.label}`; - if (!cg1EdgeMap[key]) cg1EdgeMap[key] = 1; - else cg1EdgeMap[key]++; - }); - - for (let j = currentLength - 1; j > i; j--) { - const cg2 = candidateGraphs[j]; - const cg2EdgeMap = {}; // [node1.id-node2.id-edge.label]: count - cg2.edges.forEach(edge => { - const key = `${edge.source}-${edge.target}-${edge.label}`; - if (!cg2EdgeMap[key]) cg2EdgeMap[key] = 1; - else cg2EdgeMap[key]++; - }); - - let same = true; - if (Object.keys(cg2EdgeMap).length !== Object.keys(cg1EdgeMap).length) { - same = false; - } else { - Object.keys(cg1EdgeMap).forEach(key => { - if (cg2EdgeMap[key] !== cg1EdgeMap[key]) same = false; - }); - } - if (same) { - candidateGraphs.splice(j, 1); - } - } - currentLength = candidateGraphs.length; - } - - return candidateGraphs; -}; - -export default GADDI; diff --git a/packages/graph/src/i-louvain.ts b/packages/graph/src/i-louvain.ts deleted file mode 100644 index f6f6898..0000000 --- a/packages/graph/src/i-louvain.ts +++ /dev/null @@ -1,28 +0,0 @@ -import louvain from './louvain'; -import type { ClusterData, GraphData } from './types'; - -/** - * 社区发现 i-louvain 算法:模块度 + 惯性模块度(即节点属性相似性) - * @param graphData 图数据 - * @param directed 是否有向图,默认为 false - * @param weightPropertyName 权重的属性字段 - * @param threshold 差值阈值 - * @param propertyKey 属性的字段名 - * @param involvedKeys 参与计算的key集合 - * @param uninvolvedKeys 不参与计算的key集合 - * @param inertialWeight 惯性模块度权重 - */ -const iLouvain = ( - graphData: GraphData, - directed: boolean = false, - weightPropertyName: string = 'weight', - threshold: number = 0.0001, - propertyKey: string = undefined, - involvedKeys: string[] = [], - uninvolvedKeys: string[] = ['id'], - inertialWeight: number = 1, - ): ClusterData => { - return louvain(graphData, directed, weightPropertyName, threshold, true, propertyKey, involvedKeys, uninvolvedKeys, inertialWeight); -} - -export default iLouvain; diff --git a/packages/graph/src/index.ts b/packages/graph/src/index.ts index a0b8833..d80201a 100644 --- a/packages/graph/src/index.ts +++ b/packages/graph/src/index.ts @@ -1,88 +1 @@ -import getAdjMatrix from './adjacent-matrix'; -import breadthFirstSearch from './bfs'; -import connectedComponent from './connected-component'; -import getDegree from './degree'; -import { getInDegree, getOutDegree } from './degree'; -import detectCycle, { detectAllCycles, detectAllDirectedCycle, detectAllUndirectedCycle } from './detect-cycle'; -import depthFirstSearch from './dfs'; -import dijkstra from './dijkstra'; -import { findAllPath, findShortestPath } from './find-path'; -import floydWarshall from './floydWarshall'; -import labelPropagation from './label-propagation'; -import louvain from './louvain'; -import iLouvain from './i-louvain'; -import kCore from './k-core'; -import kMeans from './k-means'; -import cosineSimilarity from './cosine-similarity'; -import nodesCosineSimilarity from './nodes-cosine-similarity'; -import minimumSpanningTree from './mts'; -import pageRank from './pageRank'; -import GADDI from './gaddi'; -import Stack from './structs/stack'; -import { getNeighbors } from './util'; -import { IAlgorithm } from './types'; - -const detectDirectedCycle = detectCycle; - -export { - getAdjMatrix, - breadthFirstSearch, - connectedComponent, - getDegree, - getInDegree, - getOutDegree, - detectCycle, - detectDirectedCycle, - detectAllCycles, - detectAllDirectedCycle, - detectAllUndirectedCycle, - depthFirstSearch, - dijkstra, - findAllPath, - findShortestPath, - floydWarshall, - labelPropagation, - louvain, - iLouvain, - kCore, - kMeans, - cosineSimilarity, - nodesCosineSimilarity, - minimumSpanningTree, - pageRank, - getNeighbors, - Stack, - GADDI, - IAlgorithm -}; - -export default { - getAdjMatrix, - breadthFirstSearch, - connectedComponent, - getDegree, - getInDegree, - getOutDegree, - detectCycle, - detectDirectedCycle, - detectAllCycles, - detectAllDirectedCycle, - detectAllUndirectedCycle, - depthFirstSearch, - dijkstra, - findAllPath, - findShortestPath, - floydWarshall, - labelPropagation, - louvain, - iLouvain, - kCore, - kMeans, - cosineSimilarity, - nodesCosineSimilarity, - minimumSpanningTree, - pageRank, - getNeighbors, - Stack, - GADDI, -}; \ No newline at end of file +export * from "./pageRank"; diff --git a/packages/graph/src/k-core.ts b/packages/graph/src/k-core.ts deleted file mode 100644 index e62d4d4..0000000 --- a/packages/graph/src/k-core.ts +++ /dev/null @@ -1,37 +0,0 @@ - -import { clone } from '@antv/util'; -import degree from './degree'; -import { GraphData } from './types'; -/** - * k-core算法 找出符合指定核心度的紧密关联的子图结构 - * @param graphData 图数据 - * @param k 核心度数 - */ -const kCore = ( - graphData: GraphData, - k: number = 1, - ): GraphData => { - const data = clone(graphData); - const { nodes = [] } = data; - let { edges = [] } = data; - while (true) { - // 获取图中节点的度数 - const degrees = degree({ nodes, edges}); - const nodeIds = Object.keys(degrees); - // 按照度数进行排序 - nodeIds.sort((a, b) => degrees[a]?.degree - degrees[b]?.degree); - const minIndexId = nodeIds[0]; - if (!nodes.length || degrees[minIndexId]?.degree >= k) { - break; - } - const originIndex = nodes.findIndex(node => node.id === minIndexId); - // 移除度数小于k的节点 - nodes.splice(originIndex, 1); - // 移除度数小于k的节点相关的边 - edges = edges.filter(edge => !(edge.source === minIndexId || edge.target === minIndexId)); - } - - return { nodes, edges }; -} - -export default kCore; diff --git a/packages/graph/src/k-means.ts b/packages/graph/src/k-means.ts deleted file mode 100644 index be017c4..0000000 --- a/packages/graph/src/k-means.ts +++ /dev/null @@ -1,216 +0,0 @@ -import { isEqual, uniq } from '@antv/util'; -import { getAllProperties } from './utils/node-properties'; -import { oneHot, getDistance } from './utils/data-preprocessing'; -import Vector from './utils/vector'; -import { GraphData, ClusterData, DistanceType } from './types'; - -// 获取质心 -const getCentroid = (distanceType, allPropertiesWeight, index) => { - let centroid = []; - switch (distanceType) { - case DistanceType.EuclideanDistance: - centroid = allPropertiesWeight[index]; - break; - default: - centroid = []; - break; - } - return centroid; -} - -/** - * k-means算法 根据节点之间的距离将节点聚类为K个簇 - * @param data 图数据 - * @param k 质心(聚类中心)个数 - * @param propertyKey 属性的字段名 - * @param involvedKeys 参与计算的key集合 - * @param uninvolvedKeys 不参与计算的key集合 - * @param distanceType 距离类型 默认节点属性的欧式距离 - */ -const kMeans = ( - data: GraphData, - k: number = 3, - propertyKey: string = undefined, - involvedKeys: string[] = [], - uninvolvedKeys: string[] = ['id'], - distanceType: DistanceType = DistanceType.EuclideanDistance, -) : ClusterData => { - const { nodes = [], edges = [] } = data; - - const defaultClusterInfo = { - clusters: [ - { - id: "0", - nodes, - } - ], - clusterEdges: [] - }; - - // 距离类型为欧式距离且没有属性时,直接return - if (distanceType === DistanceType.EuclideanDistance && !nodes.every(node => node.hasOwnProperty(propertyKey))){ - return defaultClusterInfo; - } - - // 所有节点属性集合 - let properties = []; - // 所有节点属性one-hot特征向量集合 - let allPropertiesWeight = []; - if (distanceType === DistanceType.EuclideanDistance) { - properties = getAllProperties(nodes, propertyKey); - allPropertiesWeight = oneHot(properties, involvedKeys, uninvolvedKeys); - } - if (!allPropertiesWeight.length) { - return defaultClusterInfo; - } - const allPropertiesWeightUniq = uniq(allPropertiesWeight.map(item => item.join(''))); - // 当输入节点数量或者属性集合的长度小于k时,k调整为其中最小的值 - const finalK = Math.min(k, nodes.length, allPropertiesWeightUniq.length); - - // 记录节点的原始index,与allPropertiesWeight对应 - for (let i = 0; i < nodes.length; i++) { - nodes[i].originIndex = i; - } - // 初始化质心(聚类中心) - const centroids = []; - const centroidIndexList = []; - const clusters = []; - for (let i = 0; i < finalK; i++) { - if (i === 0) { - // 随机选取质心(聚类中心) - const randomIndex = Math.floor(Math.random() * nodes.length); - switch (distanceType) { - case DistanceType.EuclideanDistance: - centroids[i] = allPropertiesWeight[randomIndex]; - break; - default: - centroids[i] = []; - break; - } - centroidIndexList.push(randomIndex); - clusters[i] = [nodes[randomIndex]]; - nodes[randomIndex].clusterId = String(i); - } else { - let maxDistance = -Infinity; - let maxDistanceNodeIndex = 0; - // 选取与已有质心平均距离最远的点做为新的质心 - for (let m = 0; m < nodes.length; m++) { - if (!centroidIndexList.includes(m)) { - let totalDistance = 0; - for (let j = 0; j < centroids.length; j++) { - // 求节点到质心的距离(默认节点属性的欧式距离) - let distance = 0; - switch (distanceType) { - case DistanceType.EuclideanDistance: - distance = getDistance(allPropertiesWeight[nodes[m].originIndex], centroids[j], distanceType); - break; - default: - break; - } - totalDistance += distance; - } - // 节点到各质心的平均距离(默认欧式距离) - const avgDistance = totalDistance / centroids.length; - // 记录到已有质心最远的的距离和节点索引 - if (avgDistance > maxDistance && - !centroids.find(centroid => isEqual(centroid, getCentroid(distanceType, allPropertiesWeight, nodes[m].originIndex)))) { - maxDistance = avgDistance; - maxDistanceNodeIndex = m; - } - } - } - - centroids[i] = getCentroid(distanceType, allPropertiesWeight, maxDistanceNodeIndex); - centroidIndexList.push(maxDistanceNodeIndex); - clusters[i] = [nodes[maxDistanceNodeIndex]]; - nodes[maxDistanceNodeIndex].clusterId = String(i); - } - } - - - let iterations = 0; - while (true) { - for (let i = 0; i < nodes.length; i++) { - let minDistanceIndex = 0; - let minDistance = Infinity; - if (!(iterations === 0 && centroidIndexList.includes(i))) { - for (let j = 0; j < centroids.length; j++) { - // 求节点到质心的距离(默认节点属性的欧式距离) - let distance = 0; - switch (distanceType) { - case DistanceType.EuclideanDistance: - distance = getDistance(allPropertiesWeight[i], centroids[j], distanceType); - break; - default: - break; - } - // 记录节点最近的质心的索引 - if (distance < minDistance) { - minDistance = distance; - minDistanceIndex = j; - } - } - - // 从原来的类别删除节点 - if (nodes[i].clusterId !== undefined) { - for (let n = clusters[Number(nodes[i].clusterId)].length - 1; n >= 0 ; n--) { - if (clusters[Number(nodes[i].clusterId)][n].id === nodes[i].id) { - clusters[Number(nodes[i].clusterId)].splice(n, 1); - } - } - } - // 将节点划分到距离最小的质心(聚类中心)所对应的类中 - nodes[i].clusterId = String(minDistanceIndex); - clusters[minDistanceIndex].push(nodes[i]); - } - } - - // 是否存在质心(聚类中心)移动 - let centroidsEqualAvg = false; - for (let i = 0; i < clusters.length; i ++) { - const clusterNodes = clusters[i]; - let totalVector = new Vector([]); - for (let j = 0; j < clusterNodes.length; j++) { - totalVector = totalVector.add(new Vector(allPropertiesWeight[clusterNodes[j].originIndex])); - } - // 计算每个类别的均值向量 - const avgVector = totalVector.avg(clusterNodes.length); - // 如果均值向量不等于质心向量 - if (!avgVector.equal(new Vector(centroids[i]))) { - centroidsEqualAvg = true; - // 移动/更新每个类别的质心(聚类中心)到该均值向量 - centroids[i] = avgVector.getArr(); - } - } - iterations++; - // 如果每个节点都归属了类别,且不存在质心(聚类中心)移动或者迭代次数超过1000,则停止 - if (nodes.every(node => node.clusterId !== undefined) && centroidsEqualAvg || iterations >= 1000) { - break; - } - } - - // get the cluster edges - const clusterEdges = []; - const clusterEdgeMap = {}; - edges.forEach(edge => { - const { source, target } = edge; - const sourceClusterId = nodes.find(node => node.id === source)?.clusterId; - const targetClusterId = nodes.find(node => node.id === target)?.clusterId; - const newEdgeId = `${sourceClusterId}---${targetClusterId}`; - if (clusterEdgeMap[newEdgeId]) { - clusterEdgeMap[newEdgeId].count++; - } else { - const newEdge = { - source: sourceClusterId, - target: targetClusterId, - count: 1 - }; - clusterEdgeMap[newEdgeId] = newEdge; - clusterEdges.push(newEdge); - } - }); - - return { clusters, clusterEdges }; -} - -export default kMeans; diff --git a/packages/graph/src/label-propagation.ts b/packages/graph/src/label-propagation.ts deleted file mode 100644 index ea5dc3c..0000000 --- a/packages/graph/src/label-propagation.ts +++ /dev/null @@ -1,151 +0,0 @@ - -import getAdjMatrix from './adjacent-matrix' -import { uniqueId } from './util'; -import { GraphData, ClusterData } from './types'; - -/** - * 标签传播算法 - * @param graphData 图数据 - * @param directed 是否有向图,默认为 false - * @param weightPropertyName 权重的属性字段 - * @param maxIteration 最大迭代次数 - */ -const labelPropagation = ( - graphData: GraphData, - directed: boolean = false, - weightPropertyName: string = 'weight', - maxIteration: number = 1000 -): ClusterData => { - // the origin data - const { nodes = [], edges = [] } = graphData; - - const clusters = {}; - const nodeMap = {}; - // init the clusters and nodeMap - nodes.forEach((node, i) => { - const cid: string = uniqueId(); - node.clusterId = cid; - clusters[cid] = { - id: cid, - nodes: [node] - }; - nodeMap[node.id] = { - node, - idx: i - }; - }); - - // the adjacent matrix of calNodes inside clusters - const adjMatrix = getAdjMatrix(graphData, directed); - // the sum of each row in adjacent matrix - const ks = []; - /** - * neighbor nodes (id for key and weight for value) for each node - * neighbors = { - * id(node_id): { id(neighbor_1_id): weight(weight of the edge), id(neighbor_2_id): weight(weight of the edge), ... }, - * ... - * } - */ - const neighbors = {}; - adjMatrix.forEach((row, i) => { - let k = 0; - const iid = nodes[i].id; - neighbors[iid] = {}; - row.forEach((entry, j) => { - if (!entry) return; - k += entry; - const jid = nodes[j].id; - neighbors[iid][jid] = entry; - }); - ks.push(k); - }); - - let iter = 0; - - while (iter < maxIteration) { - let changed = false; - nodes.forEach(node => { - const neighborClusters = {}; - Object.keys(neighbors[node.id]).forEach(neighborId => { - const neighborWeight = neighbors[node.id][neighborId]; - const neighborNode = nodeMap[neighborId].node; - const neighborClusterId = neighborNode.clusterId; - if (!neighborClusters[neighborClusterId]) neighborClusters[neighborClusterId] = 0; - neighborClusters[neighborClusterId] += neighborWeight; - }); - // find the cluster with max weight - let maxWeight = -Infinity; - let bestClusterIds = []; - Object.keys(neighborClusters).forEach(clusterId => { - if (maxWeight < neighborClusters[clusterId]) { - maxWeight = neighborClusters[clusterId]; - bestClusterIds = [clusterId]; - } else if (maxWeight === neighborClusters[clusterId]) { - bestClusterIds.push(clusterId); - } - }); - if (bestClusterIds.length === 1 && bestClusterIds[0] === node.clusterId) return; - const selfClusterIdx = bestClusterIds.indexOf(node.clusterId); - if (selfClusterIdx >= 0) bestClusterIds.splice(selfClusterIdx, 1); - if (bestClusterIds && bestClusterIds.length) { - changed = true; - - // remove from origin cluster - const selfCluster = clusters[node.clusterId as string]; - const nodeInSelfClusterIdx = selfCluster.nodes.indexOf(node); - selfCluster.nodes.splice(nodeInSelfClusterIdx, 1); - - // move the node to the best cluster - const randomIdx = Math.floor(Math.random() * bestClusterIds.length); - const bestCluster = clusters[bestClusterIds[randomIdx]]; - bestCluster.nodes.push(node); - node.clusterId = bestCluster.id; - } - }); - if (!changed) break; - iter++; - } - - // delete the empty clusters - Object.keys(clusters).forEach(clusterId => { - const cluster = clusters[clusterId]; - if (!cluster.nodes || !cluster.nodes.length) { - delete clusters[clusterId]; - } - }); - - // get the cluster edges - const clusterEdges = []; - const clusterEdgeMap = {}; - edges.forEach(edge => { - const { source, target } = edge; - const weight = edge[weightPropertyName] || 1; - const sourceClusterId = nodeMap[source].node.clusterId; - const targetClusterId = nodeMap[target].node.clusterId; - const newEdgeId = `${sourceClusterId}---${targetClusterId}`; - if (clusterEdgeMap[newEdgeId]) { - clusterEdgeMap[newEdgeId].weight += weight; - clusterEdgeMap[newEdgeId].count++; - } else { - const newEdge = { - source: sourceClusterId, - target: targetClusterId, - weight, - count: 1 - }; - clusterEdgeMap[newEdgeId] = newEdge; - clusterEdges.push(newEdge); - } - }); - - const clustersArray = []; - Object.keys(clusters).forEach(clusterId => { - clustersArray.push(clusters[clusterId]); - }); - return { - clusters: clustersArray, - clusterEdges - } -} - -export default labelPropagation; diff --git a/packages/graph/src/louvain.ts b/packages/graph/src/louvain.ts deleted file mode 100644 index 75abc49..0000000 --- a/packages/graph/src/louvain.ts +++ /dev/null @@ -1,401 +0,0 @@ -import { clone } from '@antv/util'; -import getAdjMatrix from './adjacent-matrix'; -import { NodeConfig, ClusterData, GraphData, ClusterMap } from './types'; -import Vector from './utils/vector'; -import { getAllProperties } from './utils/node-properties'; -import { oneHot } from './utils/data-preprocessing'; - -const getModularity = ( - nodes: NodeConfig[], - adjMatrix: number[][], - ks: number[], - m: number -) => { - const length = adjMatrix.length; - const param = 2 * m; - let modularity = 0; - for (let i = 0; i < length; i++) { - const clusteri = nodes[i].clusterId; - for (let j = 0; j < length; j++) { - const clusterj = nodes[j].clusterId; - if (clusteri !== clusterj) continue; - const entry = adjMatrix[i][j] || 0; - const ki = ks[i] || 0; - const kj = ks[j] || 0; - modularity += (entry - ki * kj / param); - } - } - modularity *= (1 / param); - return modularity; -} - -// 模块惯性度,衡量属性相似度 -const getInertialModularity = ( - nodes: NodeConfig[] = [], - allPropertiesWeight: number[][], -) => { - const length = nodes.length; - let totalProperties = new Vector([]); - for (let i = 0; i < length; i++) { - totalProperties = totalProperties.add(new Vector(allPropertiesWeight[i])); - } - // 均值向量 - const avgProperties = totalProperties.avg(length); - - avgProperties.normalize(); - // 节点集合的方差: 节点v与均值向量的平方欧式距离之和 - let variance: number = 0; - for (let i = 0; i < length; i++) { - const propertiesi = new Vector(allPropertiesWeight[i]); - const squareEuclideanDistance = propertiesi.squareEuclideanDistance(avgProperties); - variance += squareEuclideanDistance; - } - - // 任意两点间的欧式平方距离 - let squareEuclideanDistanceInfo = []; - nodes.forEach(() => { - squareEuclideanDistanceInfo.push([]); - }); - for (let i = 0; i < length; i++) { - const propertiesi = new Vector(allPropertiesWeight[i]); - nodes[i]['clusterInertial'] = 0; - for (let j = 0; j < length; j++) { - if ( i === j) { - squareEuclideanDistanceInfo[i][j] = 0; - continue; - } - const propertiesj = new Vector(allPropertiesWeight[j]); - squareEuclideanDistanceInfo[i][j] = propertiesi.squareEuclideanDistance(propertiesj); - nodes[i]['clusterInertial'] += squareEuclideanDistanceInfo[i][j]; - } - } - - // 计算模块惯性度 - let inertialModularity: number = 0; - const param = 2 * length * variance; - for (let i = 0; i < length; i++) { - const clusteri = nodes[i].clusterId; - for (let j = 0; j < length; j++) { - const clusterj = nodes[j].clusterId; - if ( i === j || clusteri !== clusterj) continue; - const inertial = (nodes[i].clusterInertial * nodes[j].clusterInertial) / Math.pow(param, 2) - squareEuclideanDistanceInfo[i][j] / param; - inertialModularity += inertial; - } - } - return Number(inertialModularity.toFixed(4)); -} - - -/** - * 社区发现 louvain 算法 - * @param graphData 图数据 - * @param directed 是否有向图,默认为 false - * @param weightPropertyName 权重的属性字段 - * @param threshold 差值阈值 - * @param inertialModularity 是否使用惯性模块度(即节点属性相似性) - * @param propertyKey 属性的字段名 - * @param involvedKeys 参与计算的key集合 - * @param uninvolvedKeys 不参与计算的key集合 - * @param inertialWeight 惯性模块度权重 - */ -const louvain = ( - graphData: GraphData, - directed: boolean = false, - weightPropertyName: string = 'weight', - threshold: number = 0.0001, - inertialModularity: boolean = false, - propertyKey: string = undefined, - involvedKeys: string[] = [], - uninvolvedKeys: string[] = ['id'], - inertialWeight: number = 1, -): ClusterData => { - // the origin data - const { nodes = [], edges = [] } = graphData; - - let allPropertiesWeight = []; - if (inertialModularity) { - nodes.forEach((node, index) => { - node.properties = node.properties || {}; - node.originIndex = index; - }) - - let nodeTypeInfo = []; - if (nodes.every(node => node.hasOwnProperty('nodeType'))) { - nodeTypeInfo = Array.from(new Set(nodes.map(node => node.nodeType))); - nodes.forEach(node => { - node.properties.nodeType = nodeTypeInfo.findIndex(nodeType => nodeType === node.nodeType); - }) - } - // 所有节点属性集合 - const properties = getAllProperties(nodes, propertyKey); - // 所有节点属性one-hot特征向量集合 - allPropertiesWeight = oneHot(properties, involvedKeys, uninvolvedKeys); - } - - let uniqueId = 1; - - const clusters: ClusterMap = {}; - const nodeMap = {}; - // init the clusters and nodeMap - nodes.forEach((node, i) => { - const cid: string = String(uniqueId++); - node.clusterId = cid; - clusters[cid] = { - id: cid, - nodes: [node] - }; - nodeMap[node.id] = { - node, - idx: i - }; - }); - // the adjacent matrix of calNodes inside clusters - const adjMatrix = getAdjMatrix(graphData, directed); - // the sum of each row in adjacent matrix - const ks = []; - /** - * neighbor nodes (id for key and weight for value) for each node - * neighbors = { - * id(node_id): { id(neighbor_1_id): weight(weight of the edge), id(neighbor_2_id): weight(weight of the edge), ... }, - * ... - * } - */ - const neighbors = {}; - // the sum of the weights of all edges in the graph - let m = 0; - adjMatrix.forEach((row, i) => { - let k = 0; - const iid = nodes[i].id; - neighbors[iid] = {}; - row.forEach((entry, j) => { - if (!entry) return; - k += entry; - const jid = nodes[j].id; - neighbors[iid][jid] = entry; - m += entry; - }); - ks.push(k); - }); - - m /= 2; - - let totalModularity = Infinity; - let previousModularity = Infinity; - let iter = 0; - - let finalNodes = []; - let finalClusters = {}; - while (true) { - if (inertialModularity && nodes.every(node => node.hasOwnProperty('properties'))) { - totalModularity = getModularity(nodes, adjMatrix, ks, m) + getInertialModularity(nodes, allPropertiesWeight) * inertialWeight; - } else { - totalModularity = getModularity(nodes, adjMatrix, ks, m); - } - - // 第一次迭代previousModularity直接赋值 - if (iter === 0) { - previousModularity = totalModularity; - finalNodes = nodes; - finalClusters = clusters; - } - - const increaseWithinThreshold = totalModularity > 0 && totalModularity > previousModularity && totalModularity - previousModularity < threshold; - // 总模块度增加才更新最优解 - if (totalModularity > previousModularity) { - finalNodes = nodes.map(node => ({ - node, - clusterId: node.clusterId - })); - finalClusters = clone(clusters); - previousModularity = totalModularity; - } - - // whether to terminate the iterations - if ( increaseWithinThreshold || iter > 100) { - break; - }; - iter++; - // pre compute some values for current clusters - Object.keys(clusters).forEach(clusterId => { - // sum of weights of edges to nodes in cluster - let sumTot = 0; - edges.forEach(edge => { - const { source, target } = edge; - const sourceClusterId = nodeMap[source].node.clusterId; - const targetClusterId = nodeMap[target].node.clusterId; - if ((sourceClusterId === clusterId && targetClusterId !== clusterId) - || (targetClusterId === clusterId && sourceClusterId !== clusterId)) { - sumTot = sumTot + (edge[weightPropertyName] as number || 1); - } - }); - clusters[clusterId].sumTot = sumTot; - }); - - - // move the nodes to increase the delta modularity - nodes.forEach((node, i) => { - const selfCluster = clusters[node.clusterId as string]; - let bestIncrease = 0; - let bestCluster; - - const commonParam = ks[i] / (2 * m); - - // sum of weights of edges from node to nodes in cluster - let kiin = 0; - const selfClusterNodes = selfCluster.nodes; - selfClusterNodes.forEach(scNode => { - const scNodeIdx = nodeMap[scNode.id].idx; - kiin += adjMatrix[i][scNodeIdx] || 0; - }); - // the modurarity for **removing** the node i from the origin cluster of node i - const removeModurarity = kiin - selfCluster.sumTot * commonParam; - // nodes for **removing** node i into this neighbor cluster - const selfClusterNodesAfterRemove = selfClusterNodes.filter(scNode => scNode.id !== node.id); - let propertiesWeightRemove = []; - selfClusterNodesAfterRemove.forEach((nodeRemove, index) => { - propertiesWeightRemove[index] = allPropertiesWeight[nodeRemove.originIndex]; - }) - // the inertialModularity for **removing** the node i from the origin cluster of node i - const removeInertialModularity = getInertialModularity(selfClusterNodesAfterRemove, allPropertiesWeight) * inertialWeight; - - // the neightbors of the node - const nodeNeighborIds = neighbors[node.id]; - Object.keys(nodeNeighborIds).forEach(neighborNodeId => { - const neighborNode = nodeMap[neighborNodeId].node; - const neighborClusterId = neighborNode.clusterId; - - // if the node and the neighbor of node are in the same cluster, reutrn - if (neighborClusterId === node.clusterId) return; - const neighborCluster = clusters[neighborClusterId]; - const clusterNodes = neighborCluster.nodes; - - // if the cluster is empty, remove the cluster and return - if (!clusterNodes || !clusterNodes.length) return; - - // sum of weights of edges from node to nodes in cluster - let neighborClusterKiin = 0; - clusterNodes.forEach(cNode => { - const cNodeIdx = nodeMap[cNode.id].idx; - neighborClusterKiin += adjMatrix[i][cNodeIdx] || 0; - }); - - // the modurarity for **adding** node i into this neighbor cluster - const addModurarity = neighborClusterKiin - neighborCluster.sumTot * commonParam; - // nodes for **adding** node i into this neighbor cluster - const clusterNodesAfterAdd= clusterNodes.concat([node]); - let propertiesWeightAdd = []; - clusterNodesAfterAdd.forEach((nodeAdd, index) => { - propertiesWeightAdd[index] = allPropertiesWeight[nodeAdd.originIndex]; - }) - // the inertialModularity for **adding** node i into this neighbor cluster - const addInertialModularity = getInertialModularity(clusterNodesAfterAdd, allPropertiesWeight) * inertialWeight; - - // the increase modurarity is the difference between addModurarity and removeModurarity - let increase = addModurarity - removeModurarity; - if (inertialModularity) { - increase = (addModurarity + addInertialModularity) - (removeModurarity + removeInertialModularity); - } - - // find the best cluster to move node i into - if (increase > bestIncrease) { - bestIncrease = increase; - bestCluster = neighborCluster; - } - }); - - // if found a best cluster to move into - if (bestIncrease > 0) { - bestCluster.nodes.push(node); - const previousClusterId = node.clusterId; - node.clusterId = bestCluster.id; - // move the node to the best cluster - const nodeInSelfClusterIdx = selfCluster.nodes.indexOf(node); - // remove from origin cluster - selfCluster.nodes.splice(nodeInSelfClusterIdx, 1); - // update sumTot for clusters - // sum of weights of edges to nodes in cluster - let neighborClusterSumTot = 0; - let selfClusterSumTot = 0; - edges.forEach(edge => { - const { source, target } = edge; - const sourceClusterId = nodeMap[source].node.clusterId; - const targetClusterId = nodeMap[target].node.clusterId; - if ((sourceClusterId === bestCluster.id && targetClusterId !== bestCluster.id) - || (targetClusterId === bestCluster.id && sourceClusterId !== bestCluster.id)) { - neighborClusterSumTot = neighborClusterSumTot + (edge[weightPropertyName] as number || 1); - } - if ((sourceClusterId === previousClusterId && targetClusterId !== previousClusterId) - || (targetClusterId === previousClusterId && sourceClusterId !== previousClusterId)) { - selfClusterSumTot = selfClusterSumTot + (edge[weightPropertyName] as number || 1); - } - }); - - // the nodes of the clusters to move into and remove are changed, update their sumTot - bestCluster.sumTot = neighborClusterSumTot; - selfCluster.sumTot = selfClusterSumTot; - } - }); - } - - // delete the empty clusters, assign increasing clusterId - const newClusterIdMap = {} - let clusterIdx = 0; - Object.keys(finalClusters).forEach((clusterId) => { - const cluster = finalClusters[clusterId]; - if (!cluster.nodes || !cluster.nodes.length) { - delete finalClusters[clusterId]; - return; - } - const newId = String(clusterIdx + 1); - if (newId === clusterId) { - return; - } - cluster.id = newId; - cluster.nodes = cluster.nodes.map(item => ({ id: item.id, clusterId: newId })); - finalClusters[newId] = cluster; - newClusterIdMap[clusterId] = newId; - delete finalClusters[clusterId]; - clusterIdx ++; - }); - // restore node clusterId - finalNodes.forEach(nodeInfo => { - const { node, clusterId } = nodeInfo; - if (!node) return; - node.clusterId = clusterId; - if (node.clusterId && newClusterIdMap[node.clusterId]) node.clusterId = newClusterIdMap[node.clusterId] - }) - // get the cluster edges - const clusterEdges = []; - const clusterEdgeMap = {}; - edges.forEach(edge => { - const { source, target } = edge; - const weight = edge[weightPropertyName] || 1; - const sourceClusterId = nodeMap[source].node.clusterId; - const targetClusterId = nodeMap[target].node.clusterId; - if (!sourceClusterId || !targetClusterId) return; - const newEdgeId = `${sourceClusterId}---${targetClusterId}`; - if (clusterEdgeMap[newEdgeId]) { - clusterEdgeMap[newEdgeId].weight += weight; - clusterEdgeMap[newEdgeId].count++; - } else { - const newEdge = { - source: sourceClusterId, - target: targetClusterId, - weight, - count: 1 - }; - clusterEdgeMap[newEdgeId] = newEdge; - clusterEdges.push(newEdge); - } - }); - const clustersArray = []; - Object.keys(finalClusters).forEach(clusterId => { - clustersArray.push(finalClusters[clusterId]); - }); - return { - clusters: clustersArray, - clusterEdges - } -} - -export default louvain; diff --git a/packages/graph/src/mts.ts b/packages/graph/src/mts.ts deleted file mode 100644 index e97edad..0000000 --- a/packages/graph/src/mts.ts +++ /dev/null @@ -1,116 +0,0 @@ -import UnionFind from './structs/union-find'; -import MinBinaryHeap from './structs/binary-heap'; -import { GraphData, EdgeConfig } from './types'; -import { getEdgesByNodeId } from './util'; - -/** - * Prim algorithm,use priority queue,复杂度 O(E+V*logV), V: 节点数量,E: 边的数量 - * refer: https://en.wikipedia.org/wiki/Prim%27s_algorithm - * @param graph - * @param weight 指定用于作为边权重的属性,若不指定,则认为所有边权重一致 - */ -const primMST = (graphData: GraphData, weight?: string) => { - const selectedEdges = []; - const { nodes = [], edges = [] } = graphData; - if (nodes.length === 0) { - return selectedEdges; - } - - // 从nodes[0]开始 - const currNode = nodes[0]; - const visited = new Set(); - visited.add(currNode); - - // 用二叉堆维护距已加入节点的其他节点的边的权值 - const compareWeight = (a: EdgeConfig, b: EdgeConfig) => { - if (weight) { - return a.weight - b.weight; - } - return 0; - - }; - const edgeQueue = new MinBinaryHeap(compareWeight); - getEdgesByNodeId(currNode.id, edges).forEach((edge) => { - edgeQueue.insert(edge); - }); - - while (!edgeQueue.isEmpty()) { - // 选取与已加入的结点之间边权最小的结点 - const currEdge: EdgeConfig = edgeQueue.delMin(); - const source = currEdge.source; - const target = currEdge.target; - if (visited.has(source) && visited.has(target)) continue; - selectedEdges.push(currEdge); - - if (!visited.has(source)) { - visited.add(source); - getEdgesByNodeId(source, edges).forEach((edge) => { - edgeQueue.insert(edge); - }); - } - if (!visited.has(target)) { - visited.add(target); - getEdgesByNodeId(target, edges).forEach((edge) => { - edgeQueue.insert(edge); - }); - } - } - return selectedEdges; -}; - -/** - * Kruskal algorithm,复杂度 O(E*logE), E: 边的数量 - * refer: https://en.wikipedia.org/wiki/Kruskal%27s_algorithm - * @param graph - * @param weight 指定用于作为边权重的属性,若不指定,则认为所有边权重一致 - * @return IEdge[] 返回构成MST的边的数组 - */ -const kruskalMST = (graphData: GraphData, weight?: string): EdgeConfig[] => { - const selectedEdges = []; - const { nodes = [], edges = [] } = graphData - if (nodes.length === 0) { - return selectedEdges; - } - - // 若指定weight,则将所有的边按权值从小到大排序 - const weightEdges = edges.map((edge) => edge); - if (weight) { - weightEdges.sort((a, b) => { - return a.weight - b.weight; - }); - } - const disjointSet = new UnionFind(nodes.map((n) => n.id)); - - // 从权值最小的边开始,如果这条边连接的两个节点于图G中不在同一个连通分量中,则添加这条边 - // 直到遍历完所有点或边 - while (weightEdges.length > 0) { - const curEdge = weightEdges.shift(); - const source = curEdge.source; - const target = curEdge.target; - if (!disjointSet.connected(source, target)) { - selectedEdges.push(curEdge); - disjointSet.union(source, target); - } - } - return selectedEdges; -}; - -/** - * 最小生成树 - * refer: https://en.wikipedia.org/wiki/Kruskal%27s_algorithm - * @param graph - * @param weight 指定用于作为边权重的属性,若不指定,则认为所有边权重一致 - * @param algo 'prim' | 'kruskal' 算法类型 - * @return EdgeConfig[] 返回构成MST的边的数组 - */ -const minimumSpanningTree = (graphData: GraphData, weight?: string, algo?: string): EdgeConfig[] => { - const algos = { - prim: primMST, - kruskal: kruskalMST, - }; - if (!algo) return kruskalMST(graphData, weight); - - return algos[algo](graphData, weight); -} - -export default minimumSpanningTree diff --git a/packages/graph/src/nodes-cosine-similarity.ts b/packages/graph/src/nodes-cosine-similarity.ts deleted file mode 100644 index 2e593eb..0000000 --- a/packages/graph/src/nodes-cosine-similarity.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { clone } from '@antv/util'; -import { NodeConfig } from './types'; -import { getAllProperties } from './utils/node-properties'; -import { oneHot } from './utils/data-preprocessing'; -import cosineSimilarity from './cosine-similarity'; -/** - * nodes-cosine-similarity算法 基于节点属性计算余弦相似度(基于种子节点寻找相似节点) - * @param nodes 图节点数据 - * @param seedNode 种子节点 - * @param propertyKey 属性的字段名 - * @param involvedKeys 参与计算的key集合 - * @param uninvolvedKeys 不参与计算的key集合 - */ -const nodesCosineSimilarity = ( - nodes: NodeConfig[] = [], - seedNode: NodeConfig, - propertyKey: string = undefined, - involvedKeys: string[] = [], - uninvolvedKeys: string[] = [], -): { - allCosineSimilarity: number[], - similarNodes: NodeConfig[], -} => { - const similarNodes = clone(nodes.filter(node => node.id !== seedNode.id)); - const seedNodeIndex = nodes.findIndex(node => node.id === seedNode.id); - // 所有节点属性集合 - const properties = getAllProperties(nodes, propertyKey); - // 所有节点属性one-hot特征向量集合 - const allPropertiesWeight = oneHot(properties, involvedKeys, uninvolvedKeys); - // 种子节点属性 - const seedNodeProperties = allPropertiesWeight[seedNodeIndex]; - - const allCosineSimilarity: number[] = []; - similarNodes.forEach((node, index) => { - if (node.id !== seedNode.id) { - // 节点属性 - const nodeProperties = allPropertiesWeight[index]; - // 计算节点向量和种子节点向量的余弦相似度 - const cosineSimilarityValue = cosineSimilarity(nodeProperties, seedNodeProperties); - allCosineSimilarity.push(cosineSimilarityValue); - node.cosineSimilarity = cosineSimilarityValue; - } - }); - - // 将返回的节点按照余弦相似度大小排序 - similarNodes.sort((a, b) => b.cosineSimilarity - a.cosineSimilarity); - return { allCosineSimilarity, similarNodes }; -} - -export default nodesCosineSimilarity; diff --git a/packages/graph/src/pageRank.ts b/packages/graph/src/pageRank.ts index bda8cfd..d18d38f 100644 --- a/packages/graph/src/pageRank.ts +++ b/packages/graph/src/pageRank.ts @@ -1,40 +1,40 @@ -import { GraphData } from "./types"; -import degree from './degree' -import { getNeighbors } from "./util"; +import { ID } from "@antv/graphlib"; +import { Graph } from "./types"; /** * PageRank https://en.wikipedia.org/wiki/PageRank * refer: https://github.com/anvaka/ngraph.pagerank - * @param graph - * @param epsilon 判断是否收敛的精度值,默认 0.000001 - * @param linkProb 阻尼系数(dumping factor),指任意时刻,用户访问到某节点后继续访问该节点链接的下一个节点的概率,经验值 0.85 + * @param graph + * @param tolerance + * @param alpha + * @param maxIterations */ -const pageRank = (graphData: GraphData, epsilon?: number, linkProb?: number): { - [key: string]: number; -} => { - if (typeof epsilon !== 'number') epsilon = 0.000001; - if (typeof linkProb !== 'number') linkProb = 0.85; - +export const pageRank = ( + graph: Graph, + tolerance = 1e-5, + alpha = 0.85, + maxIterations = 1000 +): { id: ID; score: number }[] => { let distance = 1; let leakedRank = 0; - let maxIterations = 1000; - const { nodes = [], edges = [] } = graphData; + const nodes = graph.getAllNodes(); + const edges = graph.getAllEdges(); const nodesCount = nodes.length; - let currentRank; - const curRanks = {}; - const prevRanks = {} + let currentRank: number; + const curRanks: Record = {}; + const prevRanks: Record = {}; // Initialize pageranks 初始化 for (let j = 0; j < nodesCount; ++j) { const node = nodes[j]; const nodeId = node.id; - curRanks[nodeId] = (1 / nodesCount) - prevRanks[nodeId] = (1 / nodesCount) + curRanks[nodeId] = 1 / nodesCount; + prevRanks[nodeId] = 1 / nodesCount; } - const nodeDegree = degree(graphData) - while (maxIterations > 0 && distance > epsilon) { + const nodeDegree = degree(graphData); + while (maxIterations > 0 && distance > tolerance) { leakedRank = 0; for (let j = 0; j < nodesCount; ++j) { const node = nodes[j]; @@ -43,13 +43,13 @@ const pageRank = (graphData: GraphData, epsilon?: number, linkProb?: number): { if (nodeDegree[node.id].inDegree === 0) { curRanks[nodeId] = 0; } else { - const neighbors = getNeighbors(nodeId, edges, 'source'); + const neighbors = graph.getRelatedEdges(nodeId, "in"); for (let i = 0; i < neighbors.length; ++i) { const neighbor = neighbors[i]; const outDegree: number = nodeDegree[neighbor].outDegree; - if (outDegree > 0) currentRank += (prevRanks[neighbor] / outDegree); + if (outDegree > 0) currentRank += prevRanks[neighbor] / outDegree; } - curRanks[nodeId] = linkProb * currentRank; + curRanks[nodeId] = alpha * currentRank; leakedRank += curRanks[nodeId]; } } @@ -63,10 +63,8 @@ const pageRank = (graphData: GraphData, epsilon?: number, linkProb?: number): { distance += Math.abs(currentRank - prevRanks[nodeId]); prevRanks[nodeId] = currentRank; } - maxIterations -= 1 + maxIterations -= 1; } return prevRanks; -} - -export default pageRank +}; diff --git a/packages/graph/src/structs/binary-heap.ts b/packages/graph/src/structs/binary-heap.ts deleted file mode 100644 index bf3eb70..0000000 --- a/packages/graph/src/structs/binary-heap.ts +++ /dev/null @@ -1,90 +0,0 @@ -const defaultCompare = (a, b) => { - return a - b; -}; - -export default class MinBinaryHeap { - list: any[]; - - compareFn: (a: any, b: any) => number; - - constructor(compareFn = defaultCompare) { - this.compareFn = compareFn; - this.list = []; - } - - getLeft(index) { - return 2 * index + 1; - } - - getRight(index) { - return 2 * index + 2; - } - - getParent(index) { - if (index === 0) { - return null; - } - return Math.floor((index - 1) / 2); - } - - isEmpty() { - return this.list.length <= 0; - } - - top() { - return this.isEmpty() ? undefined : this.list[0]; - } - - delMin() { - const top = this.top(); - const bottom = this.list.pop(); - if (this.list.length > 0) { - this.list[0] = bottom; - this.moveDown(0); - } - return top; - } - - insert(value) { - if (value !== null) { - this.list.push(value); - const index = this.list.length - 1; - this.moveUp(index); - return true; - } - return false; - } - - moveUp(index) { - let parent = this.getParent(index); - while (index && index > 0 && this.compareFn(this.list[parent], this.list[index]) > 0) { - // swap - const tmp = this.list[parent]; - this.list[parent] = this.list[index]; - this.list[index] = tmp; - // [this.list[index], this.list[parent]] = [this.list[parent], this.list[index]] - index = parent; - parent = this.getParent(index); - } - } - - moveDown(index) { - let element = index; - const left = this.getLeft(index); - const right = this.getRight(index); - const size = this.list.length; - if (left !== null && left < size && this.compareFn(this.list[element], this.list[left]) > 0) { - element = left; - } else if ( - right !== null && - right < size && - this.compareFn(this.list[element], this.list[right]) > 0 - ) { - element = right; - } - if (index !== element) { - [this.list[index], this.list[element]] = [this.list[element], this.list[index]]; - this.moveDown(element); - } - } -} diff --git a/packages/graph/src/structs/linked-list.ts b/packages/graph/src/structs/linked-list.ts deleted file mode 100644 index b4ebee6..0000000 --- a/packages/graph/src/structs/linked-list.ts +++ /dev/null @@ -1,245 +0,0 @@ -const defaultComparator = (a, b) => { - if (a === b) { - return true; - } - - return false; -} - -/** - * 链表中单个元素节点 - */ -export class LinkedListNode { - public value; - - public next: LinkedListNode; - - constructor(value, next: LinkedListNode = null) { - this.value = value; - this.next = next; - } - - toString(callback?: any) { - return callback ? callback(this.value) : `${this.value}`; - } -} - -export default class LinkedList { - public head: LinkedListNode; - - public tail: LinkedListNode; - - public compare: Function; - - constructor(comparator = defaultComparator) { - this.head = null; - this.tail = null; - this.compare = comparator; - } - - /** - * 将指定元素添加到链表头部 - * @param value - */ - prepend(value) { - // 在头部添加一个节点 - const newNode = new LinkedListNode(value, this.head); - this.head = newNode; - - if (!this.tail) { - this.tail = newNode; - } - - return this; - } - - /** - * 将指定元素添加到链表中 - * @param value - */ - append(value) { - const newNode = new LinkedListNode(value); - - // 如果不存在头节点,则将创建的新节点作为头节点 - if (!this.head) { - this.head = newNode; - this.tail = newNode; - - return this; - } - - // 将新节点附加到链表末尾 - this.tail.next = newNode; - this.tail = newNode; - - return this; - } - - /** - * 删除指定元素 - * @param value 要删除的元素 - */ - delete(value): LinkedListNode { - if (!this.head) { - return null; - } - - let deleteNode = null; - - // 如果删除的是头部元素,则将next作为头元素 - while (this.head && this.compare(this.head.value, value)) { - deleteNode = this.head; - this.head = this.head.next; - } - - let currentNode = this.head; - - if (currentNode !== null) { - // 如果删除了节点以后,将next节点前移 - while (currentNode.next) { - if (this.compare(currentNode.next.value, value)) { - deleteNode = currentNode.next; - currentNode.next = currentNode.next.next; - } else { - currentNode = currentNode.next; - } - } - } - - // 检查尾部节点是否被删除 - if (this.compare(this.tail.value, value)) { - this.tail = currentNode; - } - - return deleteNode; - } - - /** - * 查找指定的元素 - * @param param0 - */ - find({ value = undefined, callback = undefined }): LinkedListNode { - if (!this.head) { - return null; - } - - let currentNode = this.head; - - while (currentNode) { - // 如果指定了 callback,则按指定的 callback 查找 - if (callback && callback(currentNode.value)) { - return currentNode; - } - - // 如果指定了 value,则按 value 查找 - if (value !== undefined && this.compare(currentNode.value, value)) { - return currentNode; - } - - currentNode = currentNode.next; - } - - return null; - } - - /** - * 删除尾部节点 - */ - deleteTail() { - const deletedTail = this.tail; - - if (this.head === this.tail) { - // 链表中只有一个元素 - this.head = null; - this.tail = null; - return deletedTail; - } - - let currentNode = this.head; - while (currentNode.next) { - if (!currentNode.next.next) { - currentNode.next = null; - } else { - currentNode = currentNode.next; - } - } - - this.tail = currentNode; - - return deletedTail; - } - - /** - * 删除头部节点 - */ - deleteHead() { - if (!this.head) { - return null; - } - - const deletedHead = this.head; - - if (this.head.next) { - this.head = this.head.next; - } else { - this.head = null; - this.tail = null; - } - - return deletedHead; - } - - /** - * 将一组元素转成链表中的节点 - * @param values 链表中的元素 - */ - fromArray(values) { - values.forEach((value) => this.append(value)); - return this; - } - - /** - * 将链表中的节点转成数组元素 - */ - toArray() { - const nodes = []; - - let currentNode = this.head; - - while (currentNode) { - nodes.push(currentNode); - currentNode = currentNode.next; - } - - return nodes; - } - - /** - * 反转链表中的元素节点 - */ - reverse() { - let currentNode = this.head; - let prevNode = null; - let nextNode = null; - while (currentNode) { - // 存储下一个元素节点 - nextNode = currentNode.next; - - // 更改当前节点的下一个节点,以便将它连接到上一个节点上 - currentNode.next = prevNode; - - // 将 prevNode 和 currentNode 向前移动一步 - prevNode = currentNode; - currentNode = nextNode; - } - - this.tail = this.head; - this.head = prevNode; - } - - toString(callback = undefined) { - return this.toArray() - .map((node) => node.toString(callback)) - .toString(); - } -} diff --git a/packages/graph/src/structs/queue.ts b/packages/graph/src/structs/queue.ts deleted file mode 100644 index f265e0c..0000000 --- a/packages/graph/src/structs/queue.ts +++ /dev/null @@ -1,46 +0,0 @@ -import LinkedList from './linked-list'; - -export default class Queue { - public linkedList: LinkedList; - - constructor() { - this.linkedList = new LinkedList(); - } - - /** - * 队列是否为空 - */ - public isEmpty() { - return !this.linkedList.head; - } - - /** - * 读取队列头部的元素, 不删除队列中的元素 - */ - public peek() { - if (!this.linkedList.head) { - return null; - } - return this.linkedList.head.value; - } - - /** - * 在队列的尾部新增一个元素 - * @param value - */ - public enqueue(value) { - this.linkedList.append(value); - } - - /** - * 删除队列中的头部元素,如果队列为空,则返回 null - */ - public dequeue() { - const removeHead = this.linkedList.deleteHead(); - return removeHead ? removeHead.value : null; - } - - public toString(callback?: any) { - return this.linkedList.toString(callback); - } -} diff --git a/packages/graph/src/structs/stack.ts b/packages/graph/src/structs/stack.ts deleted file mode 100644 index af60cb3..0000000 --- a/packages/graph/src/structs/stack.ts +++ /dev/null @@ -1,65 +0,0 @@ -import LinkedList from './linked-list'; - -export default class Stack { - - private linkedList: LinkedList; - - private maxStep: number; - - constructor(maxStep: number = 10) { - this.linkedList = new LinkedList(); - this.maxStep = maxStep; - } - - get length() { - return this.linkedList.toArray().length; - } - - /** - * 判断栈是否为空,如果链表中没有头部元素,则栈为空 - */ - isEmpty() { - return !this.linkedList.head; - } - - /** - * 是否到定义的栈的最大长度,如果达到最大长度后,不再允许入栈 - */ - isMaxStack() { - return this.toArray().length >= this.maxStep; - } - - /** - * 访问顶端元素 - */ - peek() { - if (this.isEmpty()) { - return null; - } - - // 返回头部元素,不删除元素 - return this.linkedList.head.value; - } - - push(value) { - this.linkedList.prepend(value); - if (this.length > this.maxStep) { - this.linkedList.deleteTail(); - } - } - - pop() { - const removeHead = this.linkedList.deleteHead(); - return removeHead ? removeHead.value : null; - } - - toArray() { - return this.linkedList.toArray().map((node) => node.value); - } - - clear() { - while (!this.isEmpty()) { - this.pop(); - } - } -} diff --git a/packages/graph/src/structs/union-find.ts b/packages/graph/src/structs/union-find.ts deleted file mode 100644 index 940ed6d..0000000 --- a/packages/graph/src/structs/union-find.ts +++ /dev/null @@ -1,45 +0,0 @@ -/** - * 并查集 Disjoint set to support quick union - */ -export default class UnionFind { - count: number; - - parent: {}; - - constructor(items: (number | string)[]) { - this.count = items.length; - this.parent = {}; - for (const i of items) { - this.parent[i] = i; - } - } - - // find the root of the item - find(item) { - while (this.parent[item] !== item) { - item = this.parent[item]; - } - return item; - } - - union(a, b) { - const rootA = this.find(a); - const rootB = this.find(b); - - if (rootA === rootB) return; - - // make the element with smaller root the parent - if (rootA < rootB) { - if (this.parent[b] !== b) this.union(this.parent[b], a); - this.parent[b] = this.parent[a]; - } else { - if (this.parent[a] !== a) this.union(this.parent[a], b); - this.parent[a] = this.parent[b]; - } - } - - // whether a and b are connected, i.e. a and b have the same root - connected(a, b) { - return this.find(a) === this.find(b); - } -} diff --git a/packages/graph/src/types.ts b/packages/graph/src/types.ts index 47a03fc..88318c3 100644 --- a/packages/graph/src/types.ts +++ b/packages/graph/src/types.ts @@ -1,114 +1,9 @@ +import { Graph as IGraph, PlainObject } from "@antv/graphlib"; -export type Matrix = number[]; +export interface NodeData extends PlainObject {} -export interface NodeConfig { - id: string; - clusterId?: string; - [key: string]: any; -} - -export interface EdgeConfig { - source: string; - target: string; +export interface EdgeData extends PlainObject { weight?: number; - [key: string]: any; -} - -export interface GraphData { - nodes?: NodeConfig[]; - edges?: EdgeConfig[]; -} - -export interface Cluster { - id: string; - nodes: NodeConfig[]; - sumTot?: number; -} - -export interface ClusterData { - clusters: Cluster[]; - clusterEdges: EdgeConfig[]; -} - -export interface ClusterMap { - [key: string]: Cluster -} - -// 图算法回调方法接口定义 -export interface IAlgorithmCallbacks { - enter?: (param: { current: string; previous: string }) => void; - leave?: (param: { current: string; previous?: string }) => void; - allowTraversal?: (param: { previous?: string; current?: string; next: string }) => boolean; -} - -export interface DegreeType { - [key: string]: { - degree: number; - inDegree: number; - outDegree: number; - } -} - -export enum DistanceType { - EuclideanDistance = 'euclideanDistance', -} - -export interface PlainObject { - [key: string]: any; -} - -// 数据集中属性/特征值分布的map -export interface KeyValueMap { - [key:string]: any[]; } -export interface IAlgorithm { - getAdjMatrix: (graphData: GraphData, directed?: boolean) => Matrix[], - breadthFirstSearch: ( - graphData: GraphData, - startNodeId: string, - originalCallbacks?: IAlgorithmCallbacks, - directed?: boolean - ) => void, - connectedComponent: (graphData: GraphData, directed?: boolean) => NodeConfig[][], - getDegree: (graphData: GraphData) => DegreeType, - getInDegree: (graphData: GraphData, nodeId: string) => number, - getOutDegree: (graphData: GraphData, nodeId: string) => number, - detectCycle: (graphData: GraphData) => { [key: string]: string }, - detectDirectedCycle: (graphData: GraphData) => { [key: string]: string }, - detectAllCycles: (graphData: GraphData, directed?: boolean, nodeIds?: string[], include?: boolean) => any, - detectAllDirectedCycle: (graphData: GraphData, nodeIds?: string[], include?: boolean) => any, - detectAllUndirectedCycle: (graphData: GraphData, nodeIds?: string[], include?: boolean) => any, - depthFirstSearch: (graphData: GraphData, startNodeId: string, callbacks?: IAlgorithmCallbacks) => void, - dijkstra: (graphData: GraphData, source: string, directed?: boolean, weightPropertyName?: string) => { length: object, allPath: object, path: object}, - findAllPath: (graphData: GraphData, start: string, end: string, directed?: boolean) => any, - findShortestPath: (graphData: GraphData, start: string, end: string, directed?: boolean, weightPropertyName?: string) => any, - floydWarshall: (graphData: GraphData, directed?: boolean) => Matrix[], - labelPropagation: (graphData: GraphData, directed?: boolean, weightPropertyName?: string, maxIteration?: number) => ClusterData, - louvain: (graphData: GraphData, directed: boolean, weightPropertyName: string, threshold: number) => ClusterData, - minimumSpanningTree: (graphData: GraphData, weight?: string, algo?: string) => EdgeConfig[], - pageRank: (graphData: GraphData, epsilon?: number, linkProb?: number) => { [key: string]: number}, - getNeighbors: (nodeId: string, edges?: EdgeConfig[], type?: 'target' | 'source' | undefined) => string[], - Stack: any, - GADDI: (graphData: GraphData, pattern: GraphData, directed: boolean, k: number, length: number, nodeLabelProp: string, edgeLabelProp: string) => GraphData[], - getAdjMatrixAsync: (graphData: GraphData, directed?: boolean) => Matrix[], - connectedComponentAsync: (graphData: GraphData, directed?: boolean) => NodeConfig[][], - getDegreeAsync: (graphData: GraphData) => DegreeType, - getInDegreeAsync: (graphData: GraphData, nodeId: string) => number, - getOutDegreeAsync: (graphData: GraphData, nodeId: string) => number, - detectCycleAsync: (graphData: GraphData) => { [key: string]: string }, - detectDirectedCycleAsync: (graphData: GraphData) => { [key: string]: string }, - detectAllCyclesAsync: (graphData: GraphData, directed?: boolean, nodeIds?: string[], include?: boolean) => any, - detectAllDirectedCycleAsync: (graphData: GraphData, nodeIds?: string[], include?: boolean) => any, - detectAllUndirectedCycleAsync: (graphData: GraphData, nodeIds?: string[], include?: boolean) => any, - dijkstraAsync: (graphData: GraphData, source: string, directed?: boolean, weightPropertyName?: string) => { length: object, allPath: object, path: object}, - findAllPathAsync: (graphData: GraphData, start: string, end: string, directed?: boolean) => any, - findShortestPathAsync: (graphData: GraphData, start: string, end: string, directed?: boolean, weightPropertyName?: string) => any, - floydWarshallAsync: (graphData: GraphData, directed?: boolean) => Matrix[], - labelPropagationAsync: (graphData: GraphData, directed?: boolean, weightPropertyName?: string, maxIteration?: number) => ClusterData, - louvainAsync: (graphData: GraphData, directed: boolean, weightPropertyName: string, threshold: number) => ClusterData, - minimumSpanningTreeAsync: (graphData: GraphData, weight?: string, algo?: string) => EdgeConfig[], - pageRankAsync: (graphData: GraphData, epsilon?: number, linkProb?: number) => { [key: string]: number}, - getNeighborsAsync: (nodeId: string, edges?: EdgeConfig[], type?: 'target' | 'source' | undefined) => string[], - GADDIAsync: (graphData: GraphData, pattern: GraphData, directed: boolean, k: number, length: number, nodeLabelProp: string, edgeLabelProp: string) => GraphData[], -} \ No newline at end of file +export type Graph = IGraph; diff --git a/packages/graph/src/util.ts b/packages/graph/src/util.ts deleted file mode 100644 index 35ae015..0000000 --- a/packages/graph/src/util.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { EdgeConfig, GraphData, Matrix } from './types' - -/** - * 获取指定节点的所有邻居 - * @param nodeId 节点 ID - * @param edges 图中的所有边数据 - * @param type 邻居类型 - */ -export const getNeighbors = (nodeId: string, edges: EdgeConfig[] = [], type?: 'target' | 'source' | undefined): string[] => { - const currentEdges = edges.filter(edge => edge.source === nodeId || edge.target === nodeId) - if (type === 'target') { - // 当前节点为 source,它所指向的目标节点 - const neighhborsConverter = (edge: EdgeConfig) => { - return edge.source === nodeId; - }; - return currentEdges.filter(neighhborsConverter).map((edge) => edge.target); - } - if (type === 'source') { - // 当前节点为 target,它所指向的源节点 - const neighhborsConverter = (edge: EdgeConfig) => { - return edge.target === nodeId; - }; - return currentEdges.filter(neighhborsConverter).map((edge) => edge.source); - } - - // 若未指定 type ,则返回所有邻居 - const neighhborsConverter = (edge: EdgeConfig) => { - return edge.source === nodeId ? edge.target : edge.source; - }; - return currentEdges.map(neighhborsConverter); -} - -/** - * 获取指定节点的出边 - * @param nodeId 节点 ID - * @param edges 图中的所有边数据 - */ -export const getOutEdgesNodeId = (nodeId: string, edges: EdgeConfig[]) => { - return edges.filter(edge => edge.source === nodeId) -} - -/** - * 获取指定节点的边,包括出边和入边 - * @param nodeId 节点 ID - * @param edges 图中的所有边数据 - */ -export const getEdgesByNodeId = (nodeId: string, edges: EdgeConfig[]) => { - return edges.filter(edge => edge.source === nodeId || edge.target === nodeId) -} - -/** - * 生成唯一的 ID,规则是序号 + 时间戳 - * @param index 序号 - */ -export const uniqueId = (index: number = 0) => { - const random1 = `${Math.random()}`.split('.')[1].substr(0, 5); - const random2 = `${Math.random()}`.split('.')[1].substr(0, 5); - return `${index}-${random1}${random2}` -}; diff --git a/packages/graph/src/utils/data-preprocessing.ts b/packages/graph/src/utils/data-preprocessing.ts deleted file mode 100644 index fcf54cd..0000000 --- a/packages/graph/src/utils/data-preprocessing.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { uniq } from '@antv/util'; -import { PlainObject, DistanceType, GraphData, KeyValueMap } from '../types'; -import Vector from './vector'; - -/** - * 获取数据中所有的属性及其对应的值 - * @param dataList 数据集 - * @param involvedKeys 参与计算的key集合 - * @param uninvolvedKeys 不参与计算的key集合 - */ -export const getAllKeyValueMap = (dataList: PlainObject[], involvedKeys?: string[], uninvolvedKeys?: string[]) => { - let keys = []; - // 指定了参与计算的keys时,使用指定的keys - if (involvedKeys?.length) { - keys = involvedKeys; - } else { - // 未指定抽取的keys时,提取数据中所有的key - dataList.forEach(data => { - keys = keys.concat(Object.keys(data)); - }) - keys = uniq(keys); - } - // 获取所有值非空的key的value数组 - const allKeyValueMap: KeyValueMap = {}; - keys.forEach(key => { - let value = []; - dataList.forEach(data => { - if (data[key] !== undefined && data[key] !== '') { - value.push(data[key]); - } - }) - if (value.length && !uninvolvedKeys?.includes(key)) { - allKeyValueMap[key] = uniq(value); - } - }) - - return allKeyValueMap; -} - -/** - * one-hot编码:数据特征提取 - * @param dataList 数据集 - * @param involvedKeys 参与计算的的key集合 - * @param uninvolvedKeys 不参与计算的key集合 - */ -export const oneHot = (dataList: PlainObject[], involvedKeys?: string[], uninvolvedKeys?: string[]) => { - // 获取数据中所有的属性/特征及其对应的值 - const allKeyValueMap = getAllKeyValueMap(dataList, involvedKeys, uninvolvedKeys); - const oneHotCode = []; - if (!Object.keys(allKeyValueMap).length) { - return oneHotCode; - } - - // 获取所有的属性/特征值 - const allValue = Object.values(allKeyValueMap); - // 是否所有属性/特征的值都是数值型 - const isAllNumber = allValue.every(value => value.every(item => (typeof(item) === 'number'))); - - // 对数据进行one-hot编码 - dataList.forEach((data, index) => { - let code = []; - Object.keys(allKeyValueMap).forEach(key => { - const keyValue = data[key]; - const allKeyValue = allKeyValueMap[key]; - const valueIndex = allKeyValue.findIndex(value => keyValue === value); - let subCode = []; - // 如果属性/特征所有的值都能转成数值型,不满足分箱,则直接用值(todo: 为了收敛更快,需做归一化处理) - if (isAllNumber) { - subCode.push(keyValue); - } else { - // 进行one-hot编码 - for(let i = 0; i < allKeyValue.length; i++) { - if (i === valueIndex) { - subCode.push(1); - } else { - subCode.push(0); - } - } - } - code = code.concat(subCode); - }) - oneHotCode[index] = code; - }) - return oneHotCode; -} - -/** - * getDistance:获取两个元素之间的距离 - * @param item - * @param otherItem - * @param distanceType 距离类型 - * @param graphData 图数据 - */ -export const getDistance = (item, otherItem, distanceType: DistanceType = DistanceType.EuclideanDistance, graphData?: GraphData) => { - let distance = 0; - switch (distanceType) { - case DistanceType.EuclideanDistance: - distance = new Vector(item).euclideanDistance(new Vector(otherItem)); - break; - default: - break; - } - return distance; -} - -export default { - getAllKeyValueMap, - oneHot, - getDistance, -} diff --git a/packages/graph/src/utils/node-properties.ts b/packages/graph/src/utils/node-properties.ts deleted file mode 100644 index 3fc53a7..0000000 --- a/packages/graph/src/utils/node-properties.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { NodeConfig } from '../types'; -import { secondReg, dateReg } from '../constants/time'; - -// 获取所有属性并排序 -export const getAllSortProperties = (nodes: NodeConfig[] = [], n: number = 100) => { - const propertyKeyInfo = {}; - nodes.forEach(node => { - if (!node.properties) { - return; - } - Object.keys(node.properties).forEach(propertyKey => { - // 目前过滤只保留可以转成数值型的或日期型的, todo: 统一转成one-hot特征向量或者embedding - if (propertyKey === 'id' || !`${node.properties[propertyKey]}`.match(secondReg) && - !`${node.properties[propertyKey]}`.match(dateReg) && - isNaN(Number(node.properties[propertyKey]))) { - if (propertyKeyInfo.hasOwnProperty(propertyKey)) { - delete propertyKeyInfo[propertyKey]; - } - return; - } - if (propertyKeyInfo.hasOwnProperty(propertyKey)) { - propertyKeyInfo[propertyKey] += 1; - } else { - propertyKeyInfo[propertyKey] = 1; - } - }) - }) - - // 取top50的属性 - const sortKeys = Object.keys(propertyKeyInfo).sort((a,b) => propertyKeyInfo[b] - propertyKeyInfo[a]); - return sortKeys.length < n ? sortKeys : sortKeys.slice(0, n); -} - -const processProperty = (properties, propertyKeys) => propertyKeys.map(key => { - if (properties.hasOwnProperty(key)) { - // // 可以转成数值的直接转成数值 - // if (!isNaN(Number(properties[key]))) { - // return Number(properties[key]); - // } - // // 时间型的转成时间戳 - // if (properties[key].match(secondReg) || properties[key].match(dateReg)) { - // // @ts-ignore - // return Number(Date.parse(new Date(properties[key]))) / 1000; - // } - return properties[key]; - } - return 0; -}) - -// 获取属性特征权重 -export const getPropertyWeight = (nodes: NodeConfig[]) => { - const propertyKeys = getAllSortProperties(nodes); - let allPropertiesWeight = []; - for (let i = 0; i < nodes.length; i++) { - allPropertiesWeight[i] = processProperty(nodes[i].properties, propertyKeys); - } - return allPropertiesWeight; -} - -// 获取所有节点的属性集合 -export const getAllProperties = (nodes, key = undefined) => { - const allProperties = []; - nodes.forEach(node => { - if (key === undefined) { - allProperties.push(node); - } - if (node[key] !== undefined) { - allProperties.push(node[key]); - } - }) - return allProperties; -} - -export default { - getAllSortProperties, - getPropertyWeight, - getAllProperties -} diff --git a/packages/graph/src/utils/vector.ts b/packages/graph/src/utils/vector.ts deleted file mode 100644 index 1b61849..0000000 --- a/packages/graph/src/utils/vector.ts +++ /dev/null @@ -1,159 +0,0 @@ - -/** - * 向量运算 - */ -import { clone } from '@antv/util'; - -class Vector { - arr: number[]; - - constructor(arr) { - this.arr = arr; - } - - getArr() { - return this.arr || []; - } - - add(otherVector) { - const otherArr = otherVector.arr; - if (!this.arr?.length) { - return new Vector(otherArr); - } - if (!otherArr?.length) { - return new Vector(this.arr); - } - if (this.arr.length === otherArr.length) { - let res = []; - for (let index in this.arr) { - res[index] = this.arr[index] + otherArr[index]; - } - return new Vector(res); - } - } - - subtract(otherVector) { - const otherArr = otherVector.arr; - if (!this.arr?.length) { - return new Vector(otherArr); - } - if (!otherArr?.length) { - return new Vector(this.arr); - } - if (this.arr.length === otherArr.length) { - let res = []; - for (let index in this.arr) { - res[index] = this.arr[index] - otherArr[index]; - } - return new Vector(res); - } - } - - avg(length) { - let res = []; - if (length !== 0) { - for (let index in this.arr) { - res[index] = this.arr[index] / length; - } - } - return new Vector(res); - } - - negate() { - let res = []; - for (let index in this.arr) { - res[index] = - this.arr[index]; - } - return new Vector(res); - } - - // 平方欧式距离 - squareEuclideanDistance(otherVector) { - const otherArr = otherVector.arr; - if (!this.arr?.length || !otherArr?.length) { - return 0; - } - if (this.arr.length === otherArr.length) { - let res = 0; - for (let index in this.arr) { - res += Math.pow(this.arr[index] - otherVector.arr[index], 2); - } - return res; - } - } - - // 欧式距离 - euclideanDistance(otherVector) { - const otherArr = otherVector.arr; - if (!this.arr?.length || !otherArr?.length) { - return 0; - } - if (this.arr.length === otherArr.length) { - let res = 0; - for (let index in this.arr) { - res += Math.pow(this.arr[index] - otherVector.arr[index], 2); - } - return Math.sqrt(res); - } else { - console.error('The two vectors are unequal in length.') - } - } - - // 归一化处理 - normalize() { - let res = []; - const cloneArr = clone(this.arr); - cloneArr.sort((a, b) => a - b); - const max = cloneArr[cloneArr.length - 1]; - const min = cloneArr[0]; - for (let index in this.arr) { - res[index] = (this.arr[index] - min) / (max - min); - } - return new Vector(res); - } - - // 2范数 or 模长 - norm2() { - if (!this.arr?.length) { - return 0; - } - let res = 0; - for (let index in this.arr) { - res += Math.pow(this.arr[index], 2); - } - return Math.sqrt(res); - } - - // 两个向量的点积 - dot(otherVector) { - const otherArr = otherVector.arr; - if (!this.arr?.length || !otherArr?.length) { - return 0; - } - if (this.arr.length === otherArr.length) { - let res = 0; - for (let index in this.arr) { - res += this.arr[index] * otherVector.arr[index]; - } - return res; - } else { - console.error('The two vectors are unequal in length.') - } - } - - // 两个向量比较 - equal(otherVector) { - const otherArr = otherVector.arr; - if (this.arr?.length !== otherArr?.length) { - return false; - } - for (let index in this.arr) { - if (this.arr[index] !== otherArr[index]) { - return false; - } - } - return true; - } -} - -export default Vector; diff --git a/packages/graph/src/workers/algorithm.ts b/packages/graph/src/workers/algorithm.ts deleted file mode 100644 index acade39..0000000 --- a/packages/graph/src/workers/algorithm.ts +++ /dev/null @@ -1,16 +0,0 @@ -export { default as getAdjMatrix } from '../adjacent-matrix'; -export { default as breadthFirstSearch } from '../bfs'; -export { default as connectedComponent } from '../connected-component'; -export { default as getDegree } from '../degree'; -export { getInDegree, getOutDegree } from '../degree'; -export { default as detectCycle } from '../detect-cycle'; -export { default as depthFirstSearch } from '../dfs'; -export { default as dijkstra } from '../dijkstra'; -export { findAllPath, findShortestPath } from '../find-path'; -export { default as floydWarshall } from '../floydWarshall'; -export { default as labelPropagation } from '../label-propagation'; -export { default as louvain } from '../louvain'; -export { default as minimumSpanningTree } from '../mts'; -export { default as pageRank } from '../pageRank'; -export { default as GADDI } from '../gaddi'; -export { getNeighbors } from '../util'; diff --git a/packages/graph/src/workers/constant.ts b/packages/graph/src/workers/constant.ts deleted file mode 100644 index cceaec6..0000000 --- a/packages/graph/src/workers/constant.ts +++ /dev/null @@ -1,31 +0,0 @@ -export const ALGORITHM = { - pageRank: 'pageRank', - breadthFirstSearch: 'breadthFirstSearch', - connectedComponent: 'connectedComponent', - depthFirstSearch: 'depthFirstSearch', - detectCycle: 'detectCycle', - detectDirectedCycle: 'detectDirectedCycle', - detectAllCycles: 'detectAllCycles', - detectAllDirectedCycle: 'detectAllDirectedCycle', - detectAllUndirectedCycle: 'detectAllUndirectedCycle', - dijkstra: 'dijkstra', - findAllPath: 'findAllPath', - findShortestPath: 'findShortestPath', - floydWarshall: 'floydWarshall', - getAdjMatrix: 'getAdjMatrix', - getDegree: 'getDegree', - getInDegree: 'getInDegree', - getNeighbors: 'getNeighbors', - getOutDegree: 'getOutDegree', - labelPropagation: 'labelPropagation', - louvain: 'louvain', - GADDI: 'GADDI', - minimumSpanningTree: 'minimumSpanningTree', - SUCCESS: 'SUCCESS', - FAILURE: 'FAILURE', -}; - -export const MESSAGE = { - SUCCESS: 'SUCCESS', - FAILURE: 'FAILURE', -}; diff --git a/packages/graph/src/workers/createWorker.ts b/packages/graph/src/workers/createWorker.ts deleted file mode 100644 index 37f8112..0000000 --- a/packages/graph/src/workers/createWorker.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { MESSAGE } from './constant'; -import Worker from './index.worker'; - -interface Event { - type: string; - data: any; -} - -/** - * 创建一个在worker中运行的算法 - * @param type 算法类型 - */ -const createWorker = (type: string) => (...data) => - new Promise((resolve, reject) => { - const worker = new Worker(); - worker.postMessage({ - _algorithmType:type, - data, - }); - - worker.onmessage = (event: Event) => { - const { data, _algorithmType } = event.data; - if (MESSAGE.SUCCESS === _algorithmType) { - resolve(data); - } else { - reject(); - } - - worker.terminate(); - }; - }); - -export default createWorker; diff --git a/packages/graph/src/workers/index.ts b/packages/graph/src/workers/index.ts deleted file mode 100644 index 467a320..0000000 --- a/packages/graph/src/workers/index.ts +++ /dev/null @@ -1,253 +0,0 @@ -import { - GraphData, - DegreeType, - Matrix, - ClusterData, - EdgeConfig, - NodeConfig, -} from '../types'; -import createWorker from './createWorker'; -import { ALGORITHM } from './constant'; - -/** - * @param graphData 图数据 - * @param directed 是否为有向图 - */ -const getAdjMatrixAsync = (graphData: GraphData, directed?: boolean) => - createWorker(ALGORITHM.getAdjMatrix)(...[graphData, directed]); - -/** - * 图的连通分量 - * @param graphData 图数据 - * @param directed 是否为有向图 - */ -const connectedComponentAsync = (graphData: GraphData, directed?: boolean) => - createWorker(ALGORITHM.connectedComponent)(...[graphData, directed]); - -/** - * 获取节点的度 - * @param graphData 图数据 - */ -const getDegreeAsync = (graphData: GraphData) => - createWorker(ALGORITHM.getDegree)(graphData); - -/** - * 获取节点的入度 - * @param graphData 图数据 - * @param nodeId 节点ID - */ -const getInDegreeAsync = (graphData: GraphData, nodeId: string) => - createWorker(ALGORITHM.getInDegree)(graphData, nodeId); - -/** - * 获取节点的出度 - * @param graphData 图数据 - * @param nodeId 节点ID - */ -const getOutDegreeAsync = (graphData: GraphData, nodeId: string) => - createWorker(ALGORITHM.getOutDegree)(graphData, nodeId); - -/** - * 检测图中的(有向) Cycle - * @param graphData 图数据 - */ -const detectCycleAsync = (graphData: GraphData) => - createWorker<{ - [key: string]: string; - }>(ALGORITHM.detectCycle)(graphData); - -/** - * 检测图中的(无向) Cycle - * @param graphData 图数据 - */ - const detectAllCyclesAsync = (graphData: GraphData) => - createWorker<{ - [key: string]: string; - }>(ALGORITHM.detectAllCycles)(graphData); - -/** - * 检测图中的所有(有向) Cycle - * @param graphData 图数据 - */ - const detectAllDirectedCycleAsync = (graphData: GraphData) => - createWorker<{ - [key: string]: string; - }>(ALGORITHM.detectAllDirectedCycle)(graphData); - -/** - * 检测图中的所有(无向) Cycle - * @param graphData 图数据 - */ - const detectAllUndirectedCycleAsync = (graphData: GraphData) => - createWorker<{ - [key: string]: string; - }>(ALGORITHM.detectAllUndirectedCycle)(graphData); - -/** - * Dijkstra's algorithm, See {@link https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm} - * @param graphData 图数据 - */ -const dijkstraAsync = ( - graphData: GraphData, - source: string, - directed?: boolean, - weightPropertyName?: string, -) => - createWorker<{ - length: number; - path: any; - allPath: any; - }>(ALGORITHM.dijkstra)(...[graphData, source, directed, weightPropertyName]); - -/** - * 查找两点之间的所有路径 - * @param graphData 图数据 - * @param start 路径起始点ID - * @param end 路径终点ID - * @param directed 是否为有向图 - */ -const findAllPathAsync = (graphData: GraphData, start: string, end: string, directed?: boolean) => - createWorker(ALGORITHM.findAllPath)(...[graphData, start, end, directed]); - -/** - * 查找两点之间的所有路径 - * @param graphData 图数据 - * @param start 路径起始点ID - * @param end 路径终点ID - * @param directed 是否为有向图 - * @param weightPropertyName 边权重的属名称,若数据中没有权重,则默认每条边权重为 1 - */ -const findShortestPathAsync = ( - graphData: GraphData, - start: string, - end: string, - directed?: boolean, - weightPropertyName?: string, -) => - createWorker<{ - length: number; - path: any; - allPath: any; - }>(ALGORITHM.findShortestPath)(...[graphData, start, end, directed, weightPropertyName]); - -/** - * Floyd–Warshall algorithm, See {@link https://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm} - * @param graphData 图数据 - * @param directed 是否为有向图 - */ -const floydWarshallAsync = (graphData: GraphData, directed?: boolean) => - createWorker(ALGORITHM.floydWarshall)(...[graphData, directed]); - -/** - * 标签传播算法 - * @param graphData 图数据 - * @param directed 是否有向图,默认为 false - * @param weightPropertyName 权重的属性字段 - * @param maxIteration 最大迭代次数 - */ -const labelPropagationAsync = ( - graphData: GraphData, - directed: boolean, - weightPropertyName: string, - maxIteration: number = 1000, -) => - createWorker(ALGORITHM.labelPropagation)( - graphData, - directed, - weightPropertyName, - maxIteration, - ); - -/** - * 社区发现 louvain 算法 - * @param graphData 图数据 - * @param directed 是否有向图,默认为 false - * @param weightPropertyName 权重的属性字段 - * @param threshold - */ -const louvainAsync = ( - graphData: GraphData, - directed: boolean, - weightPropertyName: string, - threshold: number, -) => - createWorker(ALGORITHM.louvain)(graphData, directed, weightPropertyName, threshold); - -/** - * 最小生成树,See {@link https://en.wikipedia.org/wiki/Kruskal%27s_algorithm} - * @param graph - * @param weight 指定用于作为边权重的属性,若不指定,则认为所有边权重一致 - * @param algo 'prim' | 'kruskal' 算法类型 - * @return EdgeConfig[] 返回构成MST的边的数组 - */ -const minimumSpanningTreeAsync = (graphData: GraphData, weight?: boolean, algo?: string) => - createWorker(ALGORITHM.minimumSpanningTree)(...[graphData, weight, algo]); - -/** - * PageRank https://en.wikipedia.org/wiki/PageRank - * refer: https://github.com/anvaka/ngraph.pagerank - * @param graph - * @param epsilon 判断是否收敛的精度值,默认 0.000001 - * @param linkProb 阻尼系数(dumping factor),指任意时刻,用户访问到某节点后继续访问该节点链接的下一个节点的概率,经验值 0.85 - */ -const pageRankAsync = (graphData: GraphData, epsilon?: number, linkProb?: number) => - createWorker<{ - [key: string]: number; - }>(ALGORITHM.pageRank)(...[graphData, epsilon, linkProb]); - -/** - * 获取指定节点的所有邻居 - * @param nodeId 节点 ID - * @param edges 图中的所有边数据 - * @param type 邻居类型 - */ -const getNeighborsAsync = ( - nodeId: string, - edges: EdgeConfig[], - type?: 'target' | 'source' | undefined, -) => createWorker(ALGORITHM.getNeighbors)(...[nodeId, edges, type]); - -/** - * GADDI 图模式匹配 - * @param graphData 原图数据 - * @param pattern 搜索图(需要在原图上搜索的模式)数据 - * @param directed 是否计算有向图,默认 false - * @param k 参数 k,表示 k-近邻 - * @param length 参数 length - * @param nodeLabelProp 节点数据中代表节点标签(分类信息)的属性名。默认为 cluster - * @param edgeLabelProp 边数据中代表边标签(分类信息)的属性名。默认为 cluster - */ -const GADDIAsync = ( - graphData: GraphData, - pattern: GraphData, - directed: boolean = false, - k: number, - length: number, - nodeLabelProp: string = 'cluster', - edgeLabelProp: string = 'cluster', -) => - createWorker(ALGORITHM.GADDI)( - ...[graphData, pattern, directed, k, length, nodeLabelProp, edgeLabelProp], - ); - -export { - getAdjMatrixAsync, - connectedComponentAsync, - getDegreeAsync, - getInDegreeAsync, - getOutDegreeAsync, - detectCycleAsync, - detectAllCyclesAsync, - detectAllDirectedCycleAsync, - detectAllUndirectedCycleAsync, - dijkstraAsync, - findAllPathAsync, - findShortestPathAsync, - floydWarshallAsync, - labelPropagationAsync, - louvainAsync, - minimumSpanningTreeAsync, - pageRankAsync, - getNeighborsAsync, - GADDIAsync, -}; diff --git a/packages/graph/src/workers/index.worker.ts b/packages/graph/src/workers/index.worker.ts deleted file mode 100644 index dbdb581..0000000 --- a/packages/graph/src/workers/index.worker.ts +++ /dev/null @@ -1,27 +0,0 @@ -import * as algorithm from './algorithm'; -import { MESSAGE } from './constant'; - -const ctx: Worker = (typeof self !== 'undefined') ? self : {} as any; - -interface Event { - type: string; - data: any; -} - -ctx.onmessage = (event: Event) => { - const { _algorithmType, data } = event.data; - // 如果发送内容没有私有类型。说明不是自己发的。不管 - // fix: https://github.com/antvis/algorithm/issues/25 - if(!_algorithmType){ - return; - } - if (typeof algorithm[_algorithmType] === 'function') { - const result = algorithm[_algorithmType](...data); - ctx.postMessage({ _algorithmType: MESSAGE.SUCCESS, data: result }); - return; - } - ctx.postMessage({ _algorithmType: MESSAGE.FAILURE }); -}; - -// https://stackoverflow.com/questions/50210416/webpack-worker-loader-fails-to-compile-typescript-worker -export default null as any; diff --git a/packages/graph/tsconfig.json b/packages/graph/tsconfig.json index ba439d3..2ccebef 100644 --- a/packages/graph/tsconfig.json +++ b/packages/graph/tsconfig.json @@ -1,4 +1,5 @@ { + "extends": "../../tsconfig.json", "compilerOptions": { "rootDir": "./src", "composite": true, diff --git a/site/benchmark/index.html b/site/benchmark/index.html index 7a1e793..d0a428a 100644 --- a/site/benchmark/index.html +++ b/site/benchmark/index.html @@ -170,8 +170,8 @@
-
-
@antv/webgpu-graph
+
+
@antv/graph-gpu
diff --git a/site/benchmark/main.ts b/site/benchmark/main.ts index d875fd6..e08981e 100644 --- a/site/benchmark/main.ts +++ b/site/benchmark/main.ts @@ -15,10 +15,10 @@ const TestsConfig = [ name: TestName.ANTV_ALGORITHM, }, { - name: TestName.ANTV_WEBGPU_GRAPH, + name: TestName.ANTV_GRAPH_GPU, }, { - name: TestName.ANTV_WEBGPU_GRAPH, + name: TestName.ANTV_GRAPH_WASM, }, ]; @@ -63,7 +63,7 @@ const $results = TestsConfig.map(({ name }) => { }, }, { - name: TestName.ANTV_WEBGPU_GRAPH, + name: TestName.ANTV_GRAPH_GPU, methods: { pageRank: webgpuPageRank, sssp: webgpuSSSP, @@ -72,7 +72,7 @@ const $results = TestsConfig.map(({ name }) => { { name: TestName.ANTV_GRAPH_WASM, methods: { - // pageRank: webgpuPageRank, + // pageRank: wasmPageRank, // sssp: webgpuSSSP, }, }, @@ -82,10 +82,10 @@ const $results = TestsConfig.map(({ name }) => { const dataset = datasets[$dataset.value]; const algorithmName = $algorithm.value; let options = null; - if (algorithmName === "sssp") { - const graph = dataset[TestName.ANTV_WEBGPU_GRAPH]; - options = graph.getAllNodes()[1].id; - } + // if (algorithmName === "sssp") { + // const graph = dataset[TestName.ANTV_WEBGPU_GRAPH]; + // options = graph.getAllNodes()[1].id; + // } await Promise.all( layoutConfig.map(async ({ name, methods }: any, i: number) => { diff --git a/site/benchmark/page-rank.ts b/site/benchmark/page-rank.ts index 8e3246b..a47433c 100644 --- a/site/benchmark/page-rank.ts +++ b/site/benchmark/page-rank.ts @@ -1,5 +1,7 @@ +import { Graph } from "@antv/graphlib"; import pagerank from "graphology-metrics/centrality/pagerank"; -import { WebGPUGraph } from "../../packages/graph-gpu/src"; +import { WebGPUGraph } from "../../packages/graph-gpu"; +import { Threads } from "../../packages/graph-wasm"; interface Options { alpha: number; @@ -29,7 +31,7 @@ export async function graphology(graph: any, options: Partial) { } export async function webgpu( - graph: any, + graph: Graph, options: Partial, webgpuGraph: WebGPUGraph ) { diff --git a/site/datasets.ts b/site/datasets.ts index c65d72c..8a3573a 100644 --- a/site/datasets.ts +++ b/site/datasets.ts @@ -17,17 +17,8 @@ export const loadDatasets = async () => { clusters: 5, }); graph.edges().forEach(function(edge, i) { - // graph.setEdgeAttribute(edge, "weight", i > EDGES / 2 ? 1 : 100); graph.setEdgeAttribute(edge, "weight", 1); }); - // graph.nodes().forEach(function (node) { - // graph.setNodeAttribute(node, "x", Math.random() * CANVAS_SIZE); - // graph.setNodeAttribute(node, "y", Math.random() * CANVAS_SIZE); - - // if (dimensions === 3) { - // graph.setNodeAttribute(node, "z", Math.random() * CANVAS_SIZE); - // } - // }); const antvgraph = graphology2antv(graph); @@ -36,7 +27,8 @@ export const loadDatasets = async () => { "Creates a graph with the desired number of nodes & edges and having a given number of clusters. Generated by Graphology Generators.", [TestName.GRAPHOLOGY]: graph, [TestName.ANTV_ALGORITHM]: antvgraph, - [TestName.ANTV_WEBGPU_GRAPH]: antvgraph, + [TestName.ANTV_GRAPH_GPU]: antvgraph, + [TestName.ANTV_GRAPH_WASM]: antvgraph, }; }; @@ -94,7 +86,8 @@ export const loadDatasets = async () => { desc, [TestName.GRAPHOLOGY]: graphlibModel, [TestName.ANTV_ALGORITHM]: oldG6GraphFormat, - [TestName.ANTV_WEBGPU_GRAPH]: antvGraphModel, + [TestName.ANTV_GRAPH_GPU]: antvGraphModel, + [TestName.ANTV_GRAPH_WASM]: antvGraphModel, }; }; }; diff --git a/site/types.ts b/site/types.ts index 75f046e..761db8f 100644 --- a/site/types.ts +++ b/site/types.ts @@ -1,6 +1,6 @@ export enum TestName { GRAPHOLOGY = "graphology", ANTV_ALGORITHM = "@antv/algorithm", - ANTV_WEBGPU_GRAPH = "@antv/webgpu-graph", + ANTV_GRAPH_GPU = "@antv/graph-gpu", ANTV_GRAPH_WASM = "@antv/graph-wasm", } diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..03e2ca5 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "noImplicitAny": true, + "module": "esnext", + "target": "es5", + "jsx": "react", + "allowJs": true, + "moduleResolution": "node", + "allowSyntheticDefaultImports": true + } +} diff --git a/tslint.json b/tslint.json new file mode 100644 index 0000000..31d6c78 --- /dev/null +++ b/tslint.json @@ -0,0 +1,21 @@ +{ + "extends": [ + "tslint-config-airbnb", + "tslint-eslint-rules", + "tslint-config-prettier" + ], + "linterOptions": { + "exclude": ["**/es/**/*.d.ts", "**/lib/**/*.d.ts"] + }, + "rules": { + "no-construct": true, + "no-debugger": true, + "no-reference": true, + "import-name": false, + "semicolon": [true, "always"], + "arrow-parens": true, + "no-this-assignment": false, + "no-increment-decrement": false, + "object-shorthand-properties-first": false + } +} From 8d7f23a08e10ab78dc56fa03eaecb2947e92d0d8 Mon Sep 17 00:00:00 2001 From: "yuqi.pyq" Date: Thu, 29 Jun 2023 15:20:42 +0800 Subject: [PATCH 2/6] feat: sssp impl --- packages/graph-rust/src/lib.rs | 1 + packages/graph-rust/src/prelude.rs | 1 + packages/graph-rust/src/sssp.rs | 303 +++++++++++++++++++++++++ packages/graph-wasm/README.md | 117 ++++++++++ packages/graph-wasm/rust-src/lib.rs | 11 + packages/graph-wasm/src/wasm-worker.js | 12 +- 6 files changed, 439 insertions(+), 6 deletions(-) create mode 100644 packages/graph-rust/src/sssp.rs diff --git a/packages/graph-rust/src/lib.rs b/packages/graph-rust/src/lib.rs index 6f978b0..63d2d12 100644 --- a/packages/graph-rust/src/lib.rs +++ b/packages/graph-rust/src/lib.rs @@ -1,5 +1,6 @@ pub mod page_rank; pub mod prelude; +pub mod sssp; pub mod utils; const DEFAULT_PARALLELISM: usize = 4; diff --git a/packages/graph-rust/src/prelude.rs b/packages/graph-rust/src/prelude.rs index e151dda..836519f 100644 --- a/packages/graph-rust/src/prelude.rs +++ b/packages/graph-rust/src/prelude.rs @@ -1,4 +1,5 @@ pub use crate::page_rank::*; +pub use crate::sssp::*; pub use crate::utils::*; pub use graph_builder::prelude::*; diff --git a/packages/graph-rust/src/sssp.rs b/packages/graph-rust/src/sssp.rs new file mode 100644 index 0000000..29add5c --- /dev/null +++ b/packages/graph-rust/src/sssp.rs @@ -0,0 +1,303 @@ +use crate::prelude::*; + +use atomic_float::AtomicF32; +use rayon::prelude::*; + +use std::sync::atomic::{AtomicUsize, Ordering}; + +const INF: f32 = f32::MAX; +const NO_BIN: usize = usize::MAX; +const BIN_SIZE_THRESHOLD: usize = 1000; + +const BATCH_SIZE: usize = 64; + +#[derive(Copy, Clone, Debug)] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +pub struct DeltaSteppingConfig { + /// The node for which to compute distances to all reachable nodes. + pub start_node: usize, + + /// Defines the "bucket width". A bucket maintains nodes with the + /// same tentative distance to the start node. + pub delta: f32, +} + +impl DeltaSteppingConfig { + pub fn new(start_node: usize, delta: f32) -> Self { + Self { start_node, delta } + } +} + +pub fn delta_stepping(graph: &G, config: DeltaSteppingConfig) -> Vec +where + NI: Idx, + G: Graph + DirectedNeighborsWithValues + Sync, +{ + let DeltaSteppingConfig { start_node, delta } = config; + + let node_count = graph.node_count().index(); + let thread_count = rayon::current_num_threads(); + + let mut distance: Vec = Vec::with_capacity(node_count); + distance.resize_with(node_count, || AtomicF32::new(INF)); + distance[start_node.index()].store(0.0, Ordering::Release); + + let mut frontier = vec![NI::zero(); graph.edge_count().index()]; + frontier[0] = NI::new(start_node); + let frontier_idx = AtomicUsize::new(0); + let mut frontier_len = 1; + + let mut local_bins = Vec::with_capacity(thread_count); + local_bins.resize_with(thread_count, ThreadLocalBins::::new); + + let mut curr_bin = 0; + + while curr_bin != NO_BIN { + frontier_idx.store(0, Ordering::Relaxed); + + let next_bin = local_bins + .par_iter_mut() + .map(|local_bins| { + process_shared_bin( + local_bins, + curr_bin, + graph, + (&frontier, &frontier_idx, frontier_len), + &distance, + delta, + ) + }) + .map(|local_bins| process_local_bins(local_bins, curr_bin, graph, &distance, delta)) + .map(|local_bins| min_non_empty_bin(local_bins, curr_bin)) + .min_by(|x, y| x.cmp(y)) + .unwrap_or(NO_BIN); + + // copy next local bins into shared global bin + frontier_len = frontier_slices(&mut frontier, &local_bins, next_bin) + .par_iter_mut() + .zip(local_bins.par_iter_mut()) + .filter(|(_, local_bins)| local_bins.contains(next_bin)) + .map(|(slice, local_bins)| { + slice.copy_from_slice(local_bins.slice(next_bin)); + local_bins.clear(next_bin); + slice.len() + }) + .sum(); + + curr_bin = next_bin; + } + + distance +} + +fn process_shared_bin<'bins, NI, G>( + bins: &'bins mut ThreadLocalBins, + curr_bin: usize, + graph: &G, + (frontier, frontier_idx, frontier_len): (&[NI], &AtomicUsize, usize), + distance: &[AtomicF32], + delta: f32, +) -> &'bins mut ThreadLocalBins +where + NI: Idx, + G: Graph + DirectedNeighborsWithValues + Sync, +{ + loop { + let offset = frontier_idx.fetch_add(BATCH_SIZE, Ordering::AcqRel); + + if offset >= frontier_len { + break; + } + + let limit = usize::min(offset + BATCH_SIZE, frontier_len); + + for node in frontier[offset..limit].iter() { + if distance[node.index()].load(Ordering::Acquire) >= delta * curr_bin as f32 { + relax_edges(graph, distance, bins, *node, delta); + } + } + } + bins +} + +fn process_local_bins<'bins, NI, G>( + bins: &'bins mut ThreadLocalBins, + curr_bin: usize, + graph: &G, + distance: &[AtomicF32], + delta: f32, +) -> &'bins mut ThreadLocalBins +where + NI: Idx, + G: Graph + DirectedNeighborsWithValues + Sync, +{ + while curr_bin < bins.len() + && !bins.is_empty(curr_bin) + && bins.bin_len(curr_bin) < BIN_SIZE_THRESHOLD + { + let current_bin_copy = bins.clone(curr_bin); + bins.clear(curr_bin); + + for node in current_bin_copy { + relax_edges(graph, distance, bins, node, delta); + } + } + bins +} + +fn min_non_empty_bin(local_bins: &mut ThreadLocalBins, curr_bin: usize) -> usize { + let mut next_local_bin = NO_BIN; + for bin in curr_bin..local_bins.len() { + if !local_bins.is_empty(bin) { + next_local_bin = bin; + break; + } + } + next_local_bin +} + +fn relax_edges( + graph: &G, + distances: &[AtomicF32], + local_bins: &mut ThreadLocalBins, + node: NI, + delta: f32, +) where + NI: Idx, + G: Graph + DirectedNeighborsWithValues + Sync, +{ + for Target { target, value } in graph.out_neighbors_with_values(node) { + let mut old_distance = distances[target.index()].load(Ordering::Acquire); + let new_distance = distances[node.index()].load(Ordering::Acquire) + value; + + while new_distance < old_distance { + match distances[target.index()].compare_exchange_weak( + old_distance, + new_distance, + Ordering::Release, + Ordering::Relaxed, + ) { + Ok(_) => { + let dest_bin = (new_distance / delta) as usize; + if dest_bin >= local_bins.len() { + local_bins.resize(dest_bin + 1); + } + local_bins.push(dest_bin, *target); + break; + } + // CAX failed -> retry with new min distance + Err(min_distance) => old_distance = min_distance, + } + } + } +} + +fn frontier_slices<'a, NI: Idx>( + frontier: &'a mut [NI], + bins: &[ThreadLocalBins], + next_bin: usize, +) -> Vec<&'a mut [NI]> { + let mut slices = Vec::with_capacity(bins.len()); + let mut tail = frontier; + + for local_bins in bins.iter() { + if local_bins.contains(next_bin) { + let (head, remainder) = tail.split_at_mut(local_bins.bin_len(next_bin)); + slices.push(head); + tail = remainder; + } else { + slices.push(&mut []); + } + } + + slices +} + +#[derive(Debug)] +struct ThreadLocalBins { + bins: Vec>, +} + +impl ThreadLocalBins +where + T: Clone, +{ + fn new() -> Self { + Self { bins: vec![vec![]] } + } + + fn contains(&self, bin: usize) -> bool { + self.len() > bin + } + + fn len(&self) -> usize { + self.bins.len() + } + + fn bin_len(&self, bin: usize) -> usize { + self.bins[bin].len() + } + + fn is_empty(&self, bin: usize) -> bool { + self.bins[bin].is_empty() + } + + fn clone(&self, bin: usize) -> Vec { + self.bins[bin].clone() + } + + fn clear(&mut self, bin: usize) { + self.bins[bin].clear(); + } + + fn slice(&self, bin: usize) -> &[T] { + &self.bins[bin] + } + + fn resize(&mut self, new_len: usize) { + self.bins.resize_with(new_len, Vec::new) + } + + fn push(&mut self, bin: usize, val: T) { + self.bins[bin].push(val); + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::prelude::{CsrLayout, GraphBuilder}; + + #[test] + fn test_sssp() { + let gdl = "(a:A) + (b:B) + (c:C) + (d:D) + (e:E) + (f:F) + (a)-[{cost: 4.0 }]->(b) + (a)-[{cost: 2.0 }]->(c) + (b)-[{cost: 5.0 }]->(c) + (b)-[{cost: 10.0 }]->(d) + (c)-[{cost: 3.0 }]->(e) + (d)-[{cost: 11.0 }]->(f) + (e)-[{cost: 4.0 }]->(d)"; + + let graph: DirectedCsrGraph = GraphBuilder::new() + .csr_layout(CsrLayout::Deduplicated) + .gdl_str::(gdl) + .build() + .unwrap(); + + let config = DeltaSteppingConfig::new(0, 3.0); + + let actual: Vec = delta_stepping(&graph, config) + .into_iter() + .map(|d| d.load(Ordering::Relaxed)) + .collect(); + let expected: Vec = vec![0.0, 4.0, 2.0, 9.0, 5.0, 20.0]; + + assert_eq!(actual, expected); + } +} diff --git a/packages/graph-wasm/README.md b/packages/graph-wasm/README.md index e69de29..43694a9 100644 --- a/packages/graph-wasm/README.md +++ b/packages/graph-wasm/README.md @@ -0,0 +1,117 @@ +# @antv/graph-wasm + +A WASM binding of `@antv/graph-rust`. We used [wasm-bindgen-rayon](https://github.com/GoogleChromeLabs/wasm-bindgen-rayon) to implement data parallelism with WebWorkers. + +- [Use with Webpack](#webpack) +- [Use with Vite](#vite) + +## Usage + +Since [cross origin workers are blocked](https://stackoverflow.com/questions/58098143/why-are-cross-origin-workers-blocked-and-why-is-the-workaround-ok/60015898#60015898), we do not recommand the UMD way of using it for now. You can opt to ESM usage with bundler such as [Webpack](#webpack) or [Vite](#vite). + +### ESM + +```js +import { initThreads, supportsThreads } from "@antv/graph-wasm"; +``` + +Since [Not all browsers](https://webassembly.org/roadmap/) support WebAssembly threads yet, we need to use feature detection to choose the right one on the JavaScript side. + +```js +const supported = await supportsThreads(); // `true` means we can use multithreads now! +const threads = await initThreads(supported); +``` + +```js +import { Graph } from "@antv/graphlib"; + +const results = await threads.pageRank( + graph, + { + tolerance: 1e-5, + alpha: 0.85, + maxIterations: 1000 + } +); +``` + +### Use WASM with multithreads + +First of all, in order to use SharedArrayBuffer on the Web, you need to enable [cross-origin isolation policies](https://web.dev/coop-coep/). Check out the linked article for details. + +To opt in to a cross-origin isolated state, you need to send the following HTTP headers on the main document: + +``` +Cross-Origin-Embedder-Policy: require-corp +Cross-Origin-Opener-Policy: same-origin +``` + +If you can't control the server, try this hacky workaround which implemented with ServiceWorker: https://github.com/orgs/community/discussions/13309#discussioncomment-3844940. Here's an example on [Stackblitz](https://stackblitz.com/edit/github-wpncwj-fxmffg?file=src/index.js). + +### Webpack + +Webpack has good support for Webworker, here's an example on [Stackblitz](https://stackblitz.com/edit/github-wpncwj?file=src/index.js). We use [statikk](https://www.npmjs.com/package/statikk) as static server in this example since it has a good support of cross-origin isolation headers. For more information, please refer to [Use WASM with multithreads](#use-wasm-with-multithreads). + +### Vite + +Vite also provides [worker options](https://vitejs.dev/config/worker-options.html) in its config. To let Vite [process URL correctly](https://vitejs.dev/guide/dep-pre-bundling.html#customizing-the-behavior) when creating WebWorker in third-party packages, we need to add the package to `optimizeDeps.exclude`: + +```js +// vite.config.js +optimizeDeps: { + exclude: ['@antv/graph-wasm'], +}, +``` + +To enable COOP & COEP headers, we can set them with `plugins`: + +```js +// vite.config.js +plugins: [ + { + name: 'isolation', + configureServer(server) { + // @see https://gist.github.com/mizchi/afcc5cf233c9e6943720fde4b4579a2b + server.middlewares.use((_req, res, next) => { + res.setHeader('Cross-Origin-Opener-Policy', 'same-origin'); + res.setHeader('Cross-Origin-Embedder-Policy', 'require-corp'); + next(); + }); + }, + }, +], +``` + +Here's a complete example on [Stackblitz](https://stackblitz.com/edit/vite-6b9ga6?file=README.md). + +If you can't control the server, try this hacky workaround which implemented with ServiceWorker: https://github.com/orgs/community/discussions/13309#discussioncomment-3844940 + +## API Reference + +### PageRank + +* `tolerance` Set the tolerance the approximation, this parameter should be a small magnitude value. The lower the tolerance the better the approximation. +* `alpha` The damping factor alpha represents the probability to follow an outgoing edge, standard value is 0.85. +* `maxIterations` Set the maximum number of iterations. + +### SSSP + +## Build + +Install [wasm-pack](https://rustwasm.github.io/wasm-pack/installer/) first. + +Then run the command `npm run build`, the compiled package will be outputted under the `/dist` directory. + +```bash +$ npm run build +``` + +## Publish + +```bash +$ npm publish +``` + +## License + +The scripts and documentation in this project are released under the [MIT License](LICENSE). diff --git a/packages/graph-wasm/rust-src/lib.rs b/packages/graph-wasm/rust-src/lib.rs index e2aedf4..722725d 100644 --- a/packages/graph-wasm/rust-src/lib.rs +++ b/packages/graph-wasm/rust-src/lib.rs @@ -1,3 +1,4 @@ +use std::sync::atomic::Ordering; use antv_graph::prelude::*; use js_sys::Array; use wasm_bindgen::prelude::*; @@ -14,6 +15,16 @@ pub fn start() { console_error_panic_hook::set_once(); } +#[wasm_bindgen(js_name = "sssp")] +pub fn sssp(val: JsValue) -> Array { + let graph: DirectedCsrGraph = GraphBuilder::new().edges_with_values(vec![]).build(); + let config = DeltaSteppingConfig::new(0, 3.0); + let result: Vec = antv_graph::prelude::delta_stepping(&graph, config).into_iter() + .map(|d| d.load(Ordering::Relaxed)) + .collect(); + result.into_iter().map(JsValue::from).collect() +} + #[wasm_bindgen(js_name = "pageRank")] pub fn page_rank(val: JsValue) -> Array { let options: PageRankConfig = serde_wasm_bindgen::from_value(val).unwrap(); diff --git a/packages/graph-wasm/src/wasm-worker.js b/packages/graph-wasm/src/wasm-worker.js index ff2fbb2..3103352 100644 --- a/packages/graph-wasm/src/wasm-worker.js +++ b/packages/graph-wasm/src/wasm-worker.js @@ -1,4 +1,4 @@ -import * as Comlink from "comlink"; +import * as Comlink from 'comlink'; const DEFAULT_PAGE_RANK_OPTIONS = { max_iterations: 10, @@ -6,8 +6,8 @@ const DEFAULT_PAGE_RANK_OPTIONS = { damping_factor: 0.85, }; -const wrapTransfer = (page_rank) => { - return (options) => { +const wrapTransfer = page_rank => { + return options => { const ranks = page_rank({ ...DEFAULT_PAGE_RANK_OPTIONS, ...options, @@ -23,20 +23,20 @@ const wrapTransfer = (page_rank) => { // Wrap wasm-bindgen exports (the `generate` function) to add time measurement. function wrapExports({ page_rank }) { return { - page_rank: wrapTransfer(page_rank), + pageRank: wrapTransfer(page_rank), }; } async function initHandlers(useMultiThread) { if (useMultiThread) { // @ts-ignore - const multiThread = await import("../pkg-parallel/antv_graph_wasm.js"); + const multiThread = await import('../pkg-parallel/antv_graph_wasm.js'); await multiThread.default(); await multiThread.initThreadPool(navigator.hardwareConcurrency); return Comlink.proxy(wrapExports(multiThread)); } else { // @ts-ignore - const singleThread = await import("../pkg/antv_graph_wasm.js"); + const singleThread = await import('../pkg/antv_graph_wasm.js'); await singleThread.default(); return Comlink.proxy(wrapExports(singleThread)); } From 3a3d98d7ac774dbe1b9804b9f171f218f80a1fd8 Mon Sep 17 00:00:00 2001 From: "yuqi.pyq" Date: Tue, 11 Jul 2023 11:49:19 +0800 Subject: [PATCH 3/6] fix: use rayon to spawn threads instead of std:threads --- README.md | 4 +- __tests__/unit/pageRank.spec.ts | 172 + jest.config.js | 4 +- package.json | 10 +- packages/graph-gpu/package.json | 10 +- packages/graph-gpu/src/WebGPUGraph.ts | 6 +- .../graph-gpu/src/link-analysis/pageRank.ts | 18 +- packages/graph-gpu/tsconfig.json | 1 + packages/graph-rust/Cargo.toml | 37 +- packages/graph-rust/README.md | 3 + .../graph-rust/src/graph_builder/builder.rs | 540 + .../graph-rust/src/graph_builder/compat.rs | 109 + .../graph-rust/src/graph_builder/graph/csr.rs | 873 + .../graph-rust/src/graph_builder/graph/mod.rs | 1 + .../graph-rust/src/graph_builder/graph_ops.rs | 627 + .../graph-rust/src/graph_builder/index.rs | 103 + .../src/graph_builder/input/edgelist.rs | 258 + .../graph-rust/src/graph_builder/input/mod.rs | 93 + packages/graph-rust/src/graph_builder/mod.rs | 171 + .../graph-rust/src/graph_builder/prelude.rs | 32 + packages/graph-rust/src/lib.rs | 1 + packages/graph-rust/src/page_rank.rs | 43 +- packages/graph-rust/src/prelude.rs | 2 +- packages/graph-rust/src/sssp.rs | 39 - packages/graph-wasm/Cargo.lock | 133 +- packages/graph-wasm/README.md | 6 +- packages/graph-wasm/package.json | 9 - packages/graph-wasm/rust-src/lib.rs | 60 +- packages/graph-wasm/src/interface.ts | 22 +- packages/graph-wasm/src/wasm-worker.js | 40 +- packages/graph-wasm/tsconfig.json | 1 + packages/graph/package.json | 7 +- packages/graph/src/pageRank.ts | 36 +- .../tests/unit/adjacent-matrix-async-spec.ts | 116 - .../graph/tests/unit/adjacent-matrix-spec.ts | 114 - packages/graph/tests/unit/bfs-spec.ts | 175 - .../unit/connected-component-async-spec.ts | 112 - .../tests/unit/connected-component-spec.ts | 106 - .../graph/tests/unit/cosineSimilarity-spec.ts | 41 - .../tests/unit/data/cluster-origin-data.json | 1 - .../data/cluster-origin-properties-data.json | 370 - packages/graph/tests/unit/data/test-data.ts | 38635 ---------------- .../graph/tests/unit/degree-async-spec.ts | 119 - packages/graph/tests/unit/degree-spec.ts | 139 - .../tests/unit/detect-cycle-async-spec.ts | 74 - .../graph/tests/unit/detect-cycle-spec.ts | 508 - packages/graph/tests/unit/dfs-spec.ts | 170 - .../graph/tests/unit/find-path-async-spec.ts | 132 - packages/graph/tests/unit/find-path-spec.ts | 122 - .../tests/unit/floydWarshall-async-spec.ts | 110 - .../graph/tests/unit/floydWarshall-spec.ts | 108 - packages/graph/tests/unit/gSpan-spec.ts | 483 - packages/graph/tests/unit/gaddi-async-spec.ts | 388 - packages/graph/tests/unit/gaddi-spec.ts | 1110 - packages/graph/tests/unit/kMeans-spec.ts | 236 - .../unit/label-propagation-async-spec.ts | 89 - .../tests/unit/label-propagation-spec.ts | 54 - packages/graph/tests/unit/linked-list-spec.ts | 88 - .../graph/tests/unit/louvain-async-spec.ts | 67 - packages/graph/tests/unit/louvain-spec.ts | 67 - packages/graph/tests/unit/mst-spec.ts | 84 - .../tests/unit/nodesCosineSimilarity-spec.ts | 104 - .../graph/tests/unit/pagerank-async-spec.ts | 138 - packages/graph/tests/unit/pagerank-spec.ts | 137 - packages/graph/tests/unit/queue-spec.ts | 65 - packages/graph/tests/unit/stack-spec.ts | 85 - packages/graph/tests/unit/util-spec.ts | 116 - packages/graph/tests/unit/utils.ts | 20 - packages/graph/webpack.config.js | 64 +- site/benchmark/index.html | 4 +- site/benchmark/main.ts | 30 +- site/benchmark/page-rank.ts | 64 +- site/datasets.ts | 2 +- site/index.html | 2 +- site/types.ts | 2 +- vite.config.js | 14 + 76 files changed, 3316 insertions(+), 44820 deletions(-) create mode 100644 __tests__/unit/pageRank.spec.ts create mode 100644 packages/graph-rust/src/graph_builder/builder.rs create mode 100644 packages/graph-rust/src/graph_builder/compat.rs create mode 100644 packages/graph-rust/src/graph_builder/graph/csr.rs create mode 100644 packages/graph-rust/src/graph_builder/graph/mod.rs create mode 100644 packages/graph-rust/src/graph_builder/graph_ops.rs create mode 100644 packages/graph-rust/src/graph_builder/index.rs create mode 100644 packages/graph-rust/src/graph_builder/input/edgelist.rs create mode 100644 packages/graph-rust/src/graph_builder/input/mod.rs create mode 100644 packages/graph-rust/src/graph_builder/mod.rs create mode 100644 packages/graph-rust/src/graph_builder/prelude.rs delete mode 100644 packages/graph/tests/unit/adjacent-matrix-async-spec.ts delete mode 100644 packages/graph/tests/unit/adjacent-matrix-spec.ts delete mode 100644 packages/graph/tests/unit/bfs-spec.ts delete mode 100644 packages/graph/tests/unit/connected-component-async-spec.ts delete mode 100644 packages/graph/tests/unit/connected-component-spec.ts delete mode 100644 packages/graph/tests/unit/cosineSimilarity-spec.ts delete mode 100644 packages/graph/tests/unit/data/cluster-origin-data.json delete mode 100644 packages/graph/tests/unit/data/cluster-origin-properties-data.json delete mode 100644 packages/graph/tests/unit/data/test-data.ts delete mode 100644 packages/graph/tests/unit/degree-async-spec.ts delete mode 100644 packages/graph/tests/unit/degree-spec.ts delete mode 100644 packages/graph/tests/unit/detect-cycle-async-spec.ts delete mode 100644 packages/graph/tests/unit/detect-cycle-spec.ts delete mode 100644 packages/graph/tests/unit/dfs-spec.ts delete mode 100644 packages/graph/tests/unit/find-path-async-spec.ts delete mode 100644 packages/graph/tests/unit/find-path-spec.ts delete mode 100644 packages/graph/tests/unit/floydWarshall-async-spec.ts delete mode 100644 packages/graph/tests/unit/floydWarshall-spec.ts delete mode 100644 packages/graph/tests/unit/gSpan-spec.ts delete mode 100644 packages/graph/tests/unit/gaddi-async-spec.ts delete mode 100644 packages/graph/tests/unit/gaddi-spec.ts delete mode 100644 packages/graph/tests/unit/kMeans-spec.ts delete mode 100644 packages/graph/tests/unit/label-propagation-async-spec.ts delete mode 100644 packages/graph/tests/unit/label-propagation-spec.ts delete mode 100644 packages/graph/tests/unit/linked-list-spec.ts delete mode 100644 packages/graph/tests/unit/louvain-async-spec.ts delete mode 100644 packages/graph/tests/unit/louvain-spec.ts delete mode 100644 packages/graph/tests/unit/mst-spec.ts delete mode 100644 packages/graph/tests/unit/nodesCosineSimilarity-spec.ts delete mode 100644 packages/graph/tests/unit/pagerank-async-spec.ts delete mode 100644 packages/graph/tests/unit/pagerank-spec.ts delete mode 100644 packages/graph/tests/unit/queue-spec.ts delete mode 100644 packages/graph/tests/unit/stack-spec.ts delete mode 100644 packages/graph/tests/unit/util-spec.ts delete mode 100644 packages/graph/tests/unit/utils.ts diff --git a/README.md b/README.md index 6332e29..428e1dc 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ [![Build Status](https://github.com/antvis/algorithm/workflows/build/badge.svg?branch=next)](https://github.com/antvis//actions) [![Coverage Status](https://img.shields.io/coveralls/github/antvis/algorithm/next.svg)](https://coveralls.io/github/antvis/algorithm?branch=next) -[![npm Download](https://img.shields.io/npm/dm/@antv/algorithm.svg)](https://www.npmjs.com/package/@antv/algorithm) -[![npm License](https://img.shields.io/npm/l/@antv/algorithm.svg)](https://www.npmjs.com/package/@antv/algorithm) +[![npm Download](https://img.shields.io/npm/dm/@antv/graph.svg)](https://www.npmjs.com/package/@antv/graph) +[![npm License](https://img.shields.io/npm/l/@antv/graph.svg)](https://www.npmjs.com/package/@antv/graph) - [@antv/graph](./packages/graph/README.md) [![npm Version](https://img.shields.io/npm/v/@antv/graph/alpha)](https://www.npmjs.com/package/@antv/graph) Implemented with TypeScript. [Online Demo](https://observablehq.com/d/2db6b0cc5e97d8d6) - [@antv/graph-rust](./packages/graph-rust/README.md) Implemented with Rust. diff --git a/__tests__/unit/pageRank.spec.ts b/__tests__/unit/pageRank.spec.ts new file mode 100644 index 0000000..ac0bfd6 --- /dev/null +++ b/__tests__/unit/pageRank.spec.ts @@ -0,0 +1,172 @@ +import { Graph } from "@antv/graphlib"; +import { pageRank } from "../../packages/graph/src"; + +describe('Calculate pagerank of graph nodes', () => { + test('calculate pagerank', () => { + const graph = new Graph({ + nodes: [ + { + id: 'A', + data: {} + }, + { + id: 'B', + data: {} + }, + { + id: 'C', + data: {} + }, + { + id: 'D', + data: {} + }, + { + id: 'E', + data: {} + }, + { + id: 'F', + data: {} + }, + { + id: 'G', + data: {} + }, + { + id: 'H', + data: {} + }, + { + id: 'I', + data: {} + }, + { + id: 'J', + data: {} + }, + { + id: 'K', + data: {} + } + ], + edges: [ + { + id: 'e0', + source: 'D', + target: 'A', + data: {} + }, + { + id: 'e1', + source: 'D', + target: 'B', + data: {} + }, + { + id: 'e2', + source: 'B', + target: 'C', + data: {} + }, + { + id: 'e3', + source: 'C', + target: 'B', + data: {} + }, + { + id: 'e4', + source: 'F', + target: 'B', + data: {} + }, + { + id: 'e5', + source: 'F', + target: 'E', + data: {} + }, + { + id: 'e6', + source: 'E', + target: 'F', + data: {} + }, + { + id: 'e7', + source: 'E', + target: 'D', + data: {} + }, + { + id: 'e8', + source: 'E', + target: 'B', + data: {} + }, + { + id: 'e9', + source: 'K', + target: 'E', + data: {} + }, + { + id: 'e10', + source: 'J', + target: 'E', + data: {} + }, + { + id: 'e11', + source: 'I', + target: 'E', + data: {} + }, + { + id: 'e12', + source: 'H', + target: 'E', + data: {} + }, + { + id: 'e13', + source: 'G', + target: 'E', + data: {} + }, + { + id: 'e14', + source: 'G', + target: 'B', + data: {} + }, + { + id: 'e15', + source: 'H', + target: 'B', + data: {} + }, + { + id: 'e16', + source: 'I', + target: 'B', + data: {} + }, + ], + }); + + const result = pageRank(graph); + + let maxNodeId; + let maxVal = 0; + for (let nodeId in result) { + const val = result[nodeId]; + if (val >= maxVal) { + maxNodeId = nodeId; + maxVal = val + } + } + expect(maxNodeId).toBe('B') + }) +}); \ No newline at end of file diff --git a/jest.config.js b/jest.config.js index 3f84e26..646d8b3 100644 --- a/jest.config.js +++ b/jest.config.js @@ -11,11 +11,11 @@ /** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { testEnvironment: "jsdom", - testRegex: "__tests__/.*test\\.ts?$", + testRegex: "__tests__/.*spec\\.ts?$", moduleDirectories: ["node_modules", "src", "es"], moduleFileExtensions: ["js", "ts", "json"], moduleNameMapper: { - "@antv/algorithm/(.*)": "/src/$1", + "@antv/graph/(.*)": "/src/$1", }, transform: { // '^.+\\.[tj]sx?$' to process js/ts with `ts-jest` diff --git a/package.json b/package.json index 2ce7e1a..439a852 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,4 @@ { - "name": "@antv/algorithm", "private": true, "homepage": "https://github.com/antvis/algorithm", "bugs": { @@ -13,13 +12,13 @@ "scripts": { "dev": "vite", "lint:es": "eslint --ext .js --fix", - "lint:ts": "tslint -c tslint.json -p packages/layout/tsconfig.json --fix", + "lint:ts": "tslint -c tslint.json -p packages/graph/tsconfig.json --fix", "lint": "npm run lint:ts && npm run lint:es", "lint-staged": "lint-staged", "build": "pnpm -r run build", "build:ci": "pnpm -r run build:ci", "prepare": "husky install", - "test": "pnpm -r run test --no-private", + "test": "jest", "coverage": "jest --coverage", "build:site": "vite build", "deploy": "gh-pages -d site/dist", @@ -36,6 +35,7 @@ "devDependencies": { "@antv/graphlib": "^2.0.0", "@changesets/cli": "^2.26.1", + "@types/jest": "latest", "cross-env": "^7.0.3", "eslint": "^7.32.0", "eslint-config-airbnb-base": "^14.2.1", @@ -60,7 +60,9 @@ "tslint-config-prettier": "^1.18.0", "tslint-eslint-rules": "^5.4.0", "typescript": "^4.9.5", - "vite": "^4.3.8" + "vite": "^4.3.8", + "webpack": "^5.38.1", + "webpack-cli": "^5.0.2" }, "publishConfig": { "access": "public", diff --git a/packages/graph-gpu/package.json b/packages/graph-gpu/package.json index f383505..177e9a3 100644 --- a/packages/graph-gpu/package.json +++ b/packages/graph-gpu/package.json @@ -51,15 +51,7 @@ "@babel/plugin-proposal-class-properties": "^7.12.1", "@babel/preset-env": "^7.12.7", "@babel/preset-typescript": "^7.12.7", - "@types/jest": "^26.0.18", - "@umijs/fabric": "^2.5.6", - "babel-loader": "^8.2.2", - "rimraf": "^3.0.2", - "ts-loader": "^8.0.14", - "tslint": "^6.1.3", - "typescript": "^4.1.3", - "webpack": "^5.38.1", - "webpack-cli": "^5.0.2" + "babel-loader": "^8.2.2" }, "dependencies": { "@antv/g": "^5.16.26", diff --git a/packages/graph-gpu/src/WebGPUGraph.ts b/packages/graph-gpu/src/WebGPUGraph.ts index a75208f..d1b1c2d 100644 --- a/packages/graph-gpu/src/WebGPUGraph.ts +++ b/packages/graph-gpu/src/WebGPUGraph.ts @@ -1,7 +1,7 @@ import { Canvas } from '@antv/g'; import { Renderer } from '@antv/g-webgpu'; import { Plugin } from '@antv/g-plugin-gpgpu'; -import { pageRank } from './link-analysis'; +import { PageRankParams, pageRank } from './link-analysis'; import { sssp } from './traversal'; import { Graph } from './types'; @@ -41,9 +41,9 @@ export class WebGPUGraph { return plugin.getDevice(); } - async pageRank(graphData: Graph, eps = 1e-5, alpha = 0.85, maxIteration = 1000) { + async pageRank(graphData: Graph, params?: PageRankParams) { const device = await this.getDevice(); - return pageRank(device, graphData, eps, alpha, maxIteration); + return pageRank(device, graphData, params); } async sssp(graphData: Graph, sourceId: string, weightPropertyName: string = 'weight') { diff --git a/packages/graph-gpu/src/link-analysis/pageRank.ts b/packages/graph-gpu/src/link-analysis/pageRank.ts index 5cad8b2..d948145 100644 --- a/packages/graph-gpu/src/link-analysis/pageRank.ts +++ b/packages/graph-gpu/src/link-analysis/pageRank.ts @@ -5,6 +5,12 @@ import { Graph } from "../types"; const { BufferUsage } = DeviceRenderer; +export interface PageRankParams { + alpha: number; + maxIterations: number; + tolerance: number; +} + /** * Pagerank using power method, ported from CUDA * @@ -18,10 +24,14 @@ const { BufferUsage } = DeviceRenderer; export async function pageRank( device: DeviceRenderer.Device, graphData: Graph, - tolerance = 1e-5, - alpha = 0.85, - maxIteration = 1000 + params?: PageRankParams ) { + let { + tolerance = 1e-5, + alpha = 0.85, + maxIterations = 1000 + } = params || {}; + const BLOCK_SIZE = 1; const BLOCKS = 256; @@ -145,7 +155,7 @@ fn main( const grids = Math.ceil(V.length / (BLOCKS * BLOCK_SIZE)); - while (maxIteration--) { + while (maxIterations--) { storeKernel.dispatch(grids, 1); matmulKernel.dispatch(grids, 1); rankDiffKernel.dispatch(grids, 1); diff --git a/packages/graph-gpu/tsconfig.json b/packages/graph-gpu/tsconfig.json index ba439d3..2ccebef 100644 --- a/packages/graph-gpu/tsconfig.json +++ b/packages/graph-gpu/tsconfig.json @@ -1,4 +1,5 @@ { + "extends": "../../tsconfig.json", "compilerOptions": { "rootDir": "./src", "composite": true, diff --git a/packages/graph-rust/Cargo.toml b/packages/graph-rust/Cargo.toml index 39ebbd5..7f4302c 100644 --- a/packages/graph-rust/Cargo.toml +++ b/packages/graph-rust/Cargo.toml @@ -17,12 +17,43 @@ lto = true opt-level = 's' [dependencies] +atoi = "2.0.0" +atomic = "0.5.1" atomic_float = "0.1.0" -graph_builder = "0.3.1" +byte-slice-cast = "1.2.2" +dashmap = "5.4.0" +delegate = "0.8.0" +fast-float = "0.2.0" +fxhash = "0.2.1" +gdl = { version = "0.2.7", optional = true} rayon = "1.5.1" serde = { optional = true } -[dev-dependencies] -graph_builder = { version = "^0.3.1", features = ["gdl"] } +[dependencies.linereader] +version = "0.4.0" + +[dependencies.log] +version = "0.4.17" + +[dependencies.memmap2] +version = "0.5.8" + +[dependencies.num] +version = "0.4.0" + +[dependencies.num-format] +version = "0.4.3" + +[dependencies.num_cpus] +version = "1.14.0" + +[dependencies.page_size] +version = "0.4.2" + +[dependencies.parking_lot] +version = "0.12.1" + +[dependencies.thiserror] +version = "1.0.37" diff --git a/packages/graph-rust/README.md b/packages/graph-rust/README.md index e69de29..e2794fb 100644 --- a/packages/graph-rust/README.md +++ b/packages/graph-rust/README.md @@ -0,0 +1,3 @@ +# @antv/graph-rust + +This crate builds on top of the [graph_builder](https://docs.rs/graph_builder/latest/graph_builder/) crate, which can be used as a building block for custom graph algorithms. \ No newline at end of file diff --git a/packages/graph-rust/src/graph_builder/builder.rs b/packages/graph-rust/src/graph_builder/builder.rs new file mode 100644 index 0000000..727273f --- /dev/null +++ b/packages/graph-rust/src/graph_builder/builder.rs @@ -0,0 +1,540 @@ +use std::{convert::TryFrom, marker::PhantomData}; + +use super::{ + graph::csr::{CsrLayout, NodeValues}, + index::Idx, + input::{edgelist::EdgeList, InputCapabilities, InputPath}, + prelude::edgelist::{EdgeIterator, EdgeWithValueIterator}, + Error, +}; +use std::path::Path as StdPath; + +pub struct Uninitialized { + csr_layout: CsrLayout, +} + +pub struct FromEdges +where + NI: Idx, + Edges: IntoIterator, +{ + csr_layout: CsrLayout, + edges: Edges, + _node: PhantomData, +} + +pub struct FromEdgeListAndNodeValues +where + NI: Idx, +{ + csr_layout: CsrLayout, + node_values: NodeValues, + edge_list: EdgeList, +} + +pub struct FromEdgesWithValues +where + NI: Idx, + Edges: IntoIterator, +{ + csr_layout: CsrLayout, + edges: Edges, + _node: PhantomData, +} + +#[cfg(feature = "gdl")] +#[cfg_attr(all(feature = "gdl", has_doc_cfg), doc(cfg(feature = "gdl")))] +pub struct FromGdlString +where + NI: Idx, +{ + csr_layout: CsrLayout, + gdl: String, + _node: PhantomData, +} + +#[cfg(feature = "gdl")] +#[cfg_attr(all(feature = "gdl", has_doc_cfg), doc(cfg(feature = "gdl")))] +pub struct FromGdlGraph<'a, NI> +where + NI: Idx, +{ + csr_layout: CsrLayout, + gdl_graph: &'a gdl::Graph, + _node: PhantomData, +} + +pub struct FromInput +where + P: AsRef, + NI: Idx, + Format: InputCapabilities, + Format::GraphInput: TryFrom>, +{ + csr_layout: CsrLayout, + _idx: PhantomData, + _path: PhantomData

, + _format: PhantomData, +} + +pub struct FromPath +where + P: AsRef, + NI: Idx, + Format: InputCapabilities, + Format::GraphInput: TryFrom>, +{ + csr_layout: CsrLayout, + path: P, + _idx: PhantomData, + _format: PhantomData, +} + +/// A builder to create graphs in a type-safe way. +/// +/// The builder implementation uses different states to allow staged building of +/// graphs. Each individual state enables stage-specific methods on the builder. +/// +/// # Examples +/// +/// Create a directed graph from a vec of edges: +/// +/// ``` +/// use graph_builder::prelude::*; +/// +/// let graph: DirectedCsrGraph = GraphBuilder::new() +/// .edges(vec![(0, 1), (0, 2), (1, 2), (1, 3), (2, 3)]) +/// .build(); +/// +/// assert_eq!(graph.node_count(), 4); +/// ``` +/// +/// Create an undirected graph from a vec of edges: +/// +/// ``` +/// use graph_builder::prelude::*; +/// +/// let graph: UndirectedCsrGraph = GraphBuilder::new() +/// .edges(vec![(0, 1), (0, 2), (1, 2), (1, 3), (2, 3)]) +/// .build(); +/// +/// assert_eq!(graph.node_count(), 4); +/// ``` +pub struct GraphBuilder { + state: State, +} + +impl Default for GraphBuilder { + fn default() -> Self { + GraphBuilder::new() + } +} + +impl GraphBuilder { + /// Creates a new builder + pub fn new() -> Self { + Self { + state: Uninitialized { + csr_layout: CsrLayout::default(), + }, + } + } + + /// Sets the [`CsrLayout`] to use during CSR construction. + /// + /// # Examples + /// + /// Store the neighbors sorted: + /// + /// ``` + /// use graph_builder::prelude::*; + /// + /// let graph: UndirectedCsrGraph = GraphBuilder::new() + /// .csr_layout(CsrLayout::Sorted) + /// .edges(vec![(0, 7), (0, 3), (0, 3), (0, 1)]) + /// .build(); + /// + /// assert_eq!(graph.neighbors(0).copied().collect::>(), &[1, 3, 3, 7]); + /// ``` + /// + /// Store the neighbors sorted and deduplicated: + /// + /// ``` + /// use graph_builder::prelude::*; + /// + /// let graph: UndirectedCsrGraph = GraphBuilder::new() + /// .csr_layout(CsrLayout::Deduplicated) + /// .edges(vec![(0, 7), (0, 3), (0, 3), (0, 1)]) + /// .build(); + /// + /// assert_eq!(graph.neighbors(0).copied().collect::>(), &[1, 3, 7]); + /// ``` + #[must_use] + pub fn csr_layout(mut self, csr_layout: CsrLayout) -> Self { + self.state.csr_layout = csr_layout; + self + } + + /// Create a graph from the given edge tuples. + /// + /// # Example + /// + /// ``` + /// use graph_builder::prelude::*; + /// + /// let graph: DirectedCsrGraph = GraphBuilder::new() + /// .edges(vec![(0, 1), (0, 2), (1, 2), (1, 3), (2, 3)]) + /// .build(); + /// + /// assert_eq!(graph.node_count(), 4); + /// assert_eq!(graph.edge_count(), 5); + /// ``` + pub fn edges(self, edges: Edges) -> GraphBuilder> + where + NI: Idx, + Edges: IntoIterator, + { + GraphBuilder { + state: FromEdges { + csr_layout: self.state.csr_layout, + edges, + _node: PhantomData, + }, + } + } + + /// Create a graph from the given edge triplets. + /// + /// # Example + /// + /// ``` + /// use graph_builder::prelude::*; + /// + /// let graph: DirectedCsrGraph = GraphBuilder::new() + /// .edges_with_values(vec![(0, 1, 0.1), (0, 2, 0.2), (1, 2, 0.3), (1, 3, 0.4), (2, 3, 0.5)]) + /// .build(); + /// + /// assert_eq!(graph.node_count(), 4); + /// assert_eq!(graph.edge_count(), 5); + /// ``` + pub fn edges_with_values( + self, + edges: Edges, + ) -> GraphBuilder> + where + NI: Idx, + Edges: IntoIterator, + { + GraphBuilder { + state: FromEdgesWithValues { + csr_layout: self.state.csr_layout, + edges, + _node: PhantomData, + }, + } + } + + /// Creates a graph using Graph Definition Language (GDL). + /// + /// Creating graphs from GDL is recommended for small graphs only, e.g., + /// during testing. The graph construction is **not** parallelized. + /// + /// See [GDL on crates.io](https://crates.io/crates/gdl) for more + /// information on how to define graphs using GDL. + /// + /// # Example + /// + /// ``` + /// use graph_builder::prelude::*; + /// + /// let g: UndirectedCsrGraph = GraphBuilder::new() + /// .gdl_str::("(a)-->(),(a)-->()") + /// .build() + /// .unwrap(); + /// + /// assert_eq!(g.node_count(), 3); + /// assert_eq!(g.edge_count(), 2); + /// ``` + /// + /// One can also create weighted graphs using GDL. There needs to be exactly + /// one edge property with the same type as specified for the edge value. + /// The property key is not relevant. + /// + /// ``` + /// use graph_builder::prelude::*; + /// + /// let g: UndirectedCsrGraph = GraphBuilder::new() + /// .csr_layout(CsrLayout::Sorted) + /// .gdl_str::("(a)-[{f: 0.42}]->(),(a)-[{f: 13.37}]->()") + /// .build() + /// .unwrap(); + /// + /// assert_eq!(g.node_count(), 3); + /// assert_eq!(g.edge_count(), 2); + /// + /// let mut neighbors = g.neighbors_with_values(0); + /// assert_eq!(neighbors.next(), Some(&Target::new(1, 0.42))); + /// assert_eq!(neighbors.next(), Some(&Target::new(2, 13.37))); + /// assert_eq!(neighbors.next(), None); + /// ``` + #[cfg(feature = "gdl")] + #[cfg_attr(all(feature = "gdl", has_doc_cfg), doc(cfg(feature = "gdl")))] + pub fn gdl_str(self, gdl: S) -> GraphBuilder> + where + NI: Idx, + S: Into, + { + GraphBuilder { + state: FromGdlString { + csr_layout: self.state.csr_layout, + gdl: gdl.into(), + _node: PhantomData, + }, + } + } + + /// Creates a graph from an already constructed GDL graph. + /// + /// Creating graphs from GDL is recommended for small graphs only, e.g., + /// during testing. The graph construction is **not** parallelized. + /// + /// See [GDL on crates.io](https://crates.io/crates/gdl) for more + /// information on how to define graphs using GDL. + /// + /// # Example + /// + /// ``` + /// use graph_builder::prelude::*; + /// + /// let gdl_graph = "(a)-->(),(a)-->()".parse::<::gdl::Graph>().unwrap(); + /// + /// let g: DirectedCsrGraph = GraphBuilder::new() + /// .gdl_graph::(&gdl_graph) + /// .build() + /// .unwrap(); + /// + /// assert_eq!(g.node_count(), 3); + /// assert_eq!(g.edge_count(), 2); + /// + /// let id_a = gdl_graph.get_node("a").unwrap().id(); + /// + /// assert_eq!(g.out_neighbors(id_a).len(), 2); + /// ``` + #[cfg(feature = "gdl")] + #[cfg_attr(all(feature = "gdl", has_doc_cfg), doc(cfg(feature = "gdl")))] + pub fn gdl_graph(self, gdl_graph: &::gdl::Graph) -> GraphBuilder> + where + NI: Idx, + { + GraphBuilder { + state: FromGdlGraph { + csr_layout: self.state.csr_layout, + gdl_graph, + _node: PhantomData, + }, + } + } + + /// Creates a graph by reading it from the given file format. + /// + /// # Examples + /// + /// Read a directed graph from an edge list file: + /// + /// ``` + /// use std::path::PathBuf; + /// + /// use graph_builder::prelude::*; + /// + /// let path = [env!("CARGO_MANIFEST_DIR"), "resources", "example.el"] + /// .iter() + /// .collect::(); + /// + /// let graph: DirectedCsrGraph = GraphBuilder::new() + /// .file_format(EdgeListInput::default()) + /// .path(path) + /// .build() + /// .expect("loading failed"); + /// + /// assert_eq!(graph.node_count(), 4); + /// assert_eq!(graph.edge_count(), 5); + /// ``` + pub fn file_format( + self, + _format: Format, + ) -> GraphBuilder> + where + Path: AsRef, + NI: Idx, + Format: InputCapabilities, + Format::GraphInput: TryFrom>, + { + GraphBuilder { + state: FromInput { + csr_layout: self.state.csr_layout, + _idx: PhantomData, + _path: PhantomData, + _format: PhantomData, + }, + } + } +} + +impl GraphBuilder> +where + NI: Idx, + Edges: IntoIterator, +{ + pub fn node_values( + self, + node_values: I, + ) -> GraphBuilder> + where + I: IntoIterator, + { + let edge_list = EdgeList::from(EdgeIterator(self.state.edges)); + let node_values = node_values.into_iter().collect::>(); + + GraphBuilder { + state: FromEdgeListAndNodeValues { + csr_layout: self.state.csr_layout, + node_values, + edge_list, + }, + } + } + + /// Build the graph from the given vec of edges. + pub fn build(self) -> Graph + where + Graph: From<(EdgeList, CsrLayout)>, + { + Graph::from(( + EdgeList::from(EdgeIterator(self.state.edges)), + self.state.csr_layout, + )) + } +} + +impl GraphBuilder> +where + NI: Idx, + EV: Sync, + Edges: IntoIterator, +{ + pub fn node_values( + self, + node_values: I, + ) -> GraphBuilder> + where + I: IntoIterator, + { + let edge_list = EdgeList::from(EdgeWithValueIterator(self.state.edges)); + let node_values = node_values.into_iter().collect::>(); + + GraphBuilder { + state: FromEdgeListAndNodeValues { + csr_layout: self.state.csr_layout, + node_values, + edge_list, + }, + } + } + + /// Build the graph from the given vec of edges. + pub fn build(self) -> Graph + where + Graph: From<(EdgeList, CsrLayout)>, + { + Graph::from(( + EdgeList::new(self.state.edges.into_iter().collect()), + self.state.csr_layout, + )) + } +} + +impl GraphBuilder> { + pub fn build(self) -> Graph + where + Graph: From<(NodeValues, EdgeList, CsrLayout)>, + { + Graph::from(( + self.state.node_values, + self.state.edge_list, + self.state.csr_layout, + )) + } +} + +#[cfg(feature = "gdl")] +#[cfg_attr(all(feature = "gdl", has_doc_cfg), doc(cfg(feature = "gdl")))] +impl GraphBuilder> +where + NI: Idx, +{ + /// Builds the graph from the given GDL string. + pub fn build(self) -> Result + where + Graph: From<(gdl::Graph, CsrLayout)>, + { + let gdl_graph = self.state.gdl.parse::()?; + let graph = Graph::from((gdl_graph, self.state.csr_layout)); + Ok(graph) + } +} + +#[cfg(feature = "gdl")] +#[cfg_attr(all(feature = "gdl", has_doc_cfg), doc(cfg(feature = "gdl")))] +impl<'a, NI> GraphBuilder> +where + NI: Idx, +{ + /// Build the graph from the given GDL graph. + pub fn build(self) -> Result + where + Graph: From<(&'a gdl::Graph, CsrLayout)>, + { + Ok(Graph::from((self.state.gdl_graph, self.state.csr_layout))) + } +} + +impl GraphBuilder> +where + Path: AsRef, + NI: Idx, + Format: InputCapabilities, + Format::GraphInput: TryFrom>, +{ + /// Set the location where the graph is stored. + pub fn path(self, path: Path) -> GraphBuilder> { + GraphBuilder { + state: FromPath { + csr_layout: self.state.csr_layout, + path, + _idx: PhantomData, + _format: PhantomData, + }, + } + } +} + +impl GraphBuilder> +where + Path: AsRef, + NI: Idx, + Format: InputCapabilities, + Format::GraphInput: TryFrom>, + super::Error: From<>>::Error>, +{ + /// Build the graph from the given input format and path. + pub fn build(self) -> Result + where + Graph: TryFrom<(Format::GraphInput, CsrLayout)>, + super::Error: From, + { + let input = Format::GraphInput::try_from(InputPath(self.state.path))?; + let graph = Graph::try_from((input, self.state.csr_layout))?; + + Ok(graph) + } +} \ No newline at end of file diff --git a/packages/graph-rust/src/graph_builder/compat.rs b/packages/graph-rust/src/graph_builder/compat.rs new file mode 100644 index 0000000..5dcdf25 --- /dev/null +++ b/packages/graph-rust/src/graph_builder/compat.rs @@ -0,0 +1,109 @@ +use std::mem::MaybeUninit; + +pub(crate) trait MaybeUninitWriteSliceExt { + fn write_slice_compat<'a>(this: &'a mut [MaybeUninit], src: &[T]) -> &'a mut [T] + where + T: Copy; +} + +#[cfg(not(has_maybe_uninit_write_slice))] +impl MaybeUninitWriteSliceExt for MaybeUninit { + fn write_slice_compat<'a>(this: &'a mut [MaybeUninit], src: &[T]) -> &'a mut [T] + where + T: Copy, + { + // SAFETY: &[T] and &[MaybeUninit] have the same layout + let uninit_src: &[MaybeUninit] = unsafe { std::mem::transmute(src) }; + + this.copy_from_slice(uninit_src); + + // SAFETY: Valid elements have just been copied into `this` so it is initialized + // SAFETY: similar to safety notes for `slice_get_ref`, but we have a + // mutable reference which is also guaranteed to be valid for writes. + unsafe { &mut *(this as *mut [MaybeUninit] as *mut [T]) } + } +} + +#[cfg(has_maybe_uninit_write_slice)] +impl MaybeUninitWriteSliceExt for MaybeUninit { + fn write_slice_compat<'a>(this: &'a mut [MaybeUninit], src: &[T]) -> &'a mut [T] + where + T: Copy, + { + MaybeUninit::write_slice(this, src) + } +} + +pub(crate) trait NewUninitExt { + fn new_uninit_slice_compat(len: usize) -> Box<[MaybeUninit]>; + + unsafe fn assume_init_compat(self) -> Box<[T]>; +} + +#[cfg(not(has_new_uninit))] +impl NewUninitExt for Box<[MaybeUninit]> { + fn new_uninit_slice_compat(len: usize) -> Box<[MaybeUninit]> { + use std::mem::ManuallyDrop; + use std::slice::from_raw_parts_mut; + + let vec = Vec::::with_capacity(len); + let mut vec = ManuallyDrop::new(vec); + + unsafe { + let slice = from_raw_parts_mut(vec.as_mut_ptr() as *mut MaybeUninit, len); + Box::from_raw(slice) + } + } + + unsafe fn assume_init_compat(self) -> Box<[T]> { + unsafe { Box::from_raw(Box::into_raw(self) as *mut [T]) } + } +} + +#[cfg(has_new_uninit)] +impl NewUninitExt for Box<[MaybeUninit]> { + fn new_uninit_slice_compat(len: usize) -> Box<[MaybeUninit]> { + Box::<[T]>::new_uninit_slice(len) + } + + unsafe fn assume_init_compat(self) -> Box<[T]> { + unsafe { self.assume_init() } + } +} + +pub(crate) trait SlicePartitionDedupExt { + fn partition_dedup_compat(&mut self) -> (&mut [T], &mut [T]); +} + +#[cfg(not(has_slice_partition_dedup))] +impl SlicePartitionDedupExt for [T] { + fn partition_dedup_compat(&mut self) -> (&mut [T], &mut [T]) { + let len = self.len(); + if len <= 1 { + return (self, &mut []); + } + + let ptr = self.as_mut_ptr(); + let mut next_read: usize = 1; + let mut next_write: usize = 1; + + unsafe { + while next_read < len { + let ptr_read = ptr.add(next_read); + let prev_ptr_write = ptr.add(next_write - 1); + // Changed from if `!same_bucket(&mut *ptr_read, &mut *prev_ptr_write)` + // as the original implementation is copied from `partition_dedup_by`. + if *ptr_read != *prev_ptr_write { + if next_read != next_write { + let ptr_write = prev_ptr_write.offset(1); + core::ptr::swap(ptr_read, ptr_write); + } + next_write += 1; + } + next_read += 1; + } + } + + self.split_at_mut(next_write) + } +} diff --git a/packages/graph-rust/src/graph_builder/graph/csr.rs b/packages/graph-rust/src/graph_builder/graph/csr.rs new file mode 100644 index 0000000..ee194cd --- /dev/null +++ b/packages/graph-rust/src/graph_builder/graph/csr.rs @@ -0,0 +1,873 @@ +use atomic::Atomic; +use byte_slice_cast::{AsByteSlice, AsMutByteSlice, ToByteSlice, ToMutByteSlice}; +use std::{ + convert::TryFrom, + fs::File, + io::{BufReader, Read, Write}, + iter::FromIterator, + mem::{ManuallyDrop, MaybeUninit}, + path::PathBuf, + sync::atomic::Ordering::Acquire, +}; + +use rayon::prelude::*; + +use super::super::compat::*; +use super::super::{ + graph_ops::{DeserializeGraphOp, SerializeGraphOp, ToUndirectedOp}, + index::Idx, + input::{edgelist::Edges, Direction}, + DirectedDegrees, DirectedNeighbors, DirectedNeighborsWithValues, Error, Graph, + NodeValues as NodeValuesTrait, SharedMut, UndirectedDegrees, UndirectedNeighbors, + UndirectedNeighborsWithValues, +}; + +/// Defines how the neighbor list of individual nodes are organized within the +/// CSR target array. +#[derive(Clone, Copy, Debug)] +pub enum CsrLayout { + /// Neighbor lists are sorted and may contain duplicate target ids. This is + /// the default representation. + Sorted, + /// Neighbor lists are not in any particular order. + Unsorted, + /// Neighbor lists are sorted and do not contain duplicate target ids. + /// Self-loops, i.e., edges in the form of `(u, u)` are removed. + Deduplicated, +} + +impl Default for CsrLayout { + fn default() -> Self { + CsrLayout::Unsorted + } +} + +/// A Compressed-Sparse-Row data structure to represent sparse graphs. +/// +/// The data structure is composed of two arrays: `offsets` and `targets`. For a +/// graph with node count `n` and edge count `m`, `offsets` has exactly `n + 1` +/// and `targets` exactly `m` entries. +/// +/// For a given node `u`, `offsets[u]` stores the start index of the neighbor +/// list of `u` in `targets`. The degree of `u`, i.e., the length of the +/// neighbor list is defined by `offsets[u + 1] - offsets[u]`. The neighbor list +/// of `u` is defined by the slice `&targets[offsets[u]..offsets[u + 1]]`. +#[derive(Debug)] +pub struct Csr { + offsets: Box<[Index]>, + targets: Box<[Target]>, +} + +/// Represents the target of an edge and its associated value. +#[derive(Clone, Copy, Debug)] +#[repr(C)] +pub struct Target { + pub target: NI, + pub value: EV, +} + +impl Ord for Target { + fn cmp(&self, other: &Self) -> std::cmp::Ordering { + self.target.cmp(&other.target) + } +} + +impl PartialOrd for Target { + fn partial_cmp(&self, other: &Self) -> Option { + self.target.partial_cmp(&other.target) + } +} + +impl PartialEq for Target { + fn eq(&self, other: &Self) -> bool { + self.target.eq(&other.target) + } +} + +impl Eq for Target {} + +impl Target { + pub fn new(target: T, value: EV) -> Self { + Self { target, value } + } +} + +impl Csr { + pub(crate) fn new(offsets: Box<[Index]>, targets: Box<[Target]>) -> Self { + Self { offsets, targets } + } + + #[inline] + pub(crate) fn node_count(&self) -> Index { + Index::new(self.offsets.len() - 1) + } + + #[inline] + pub(crate) fn edge_count(&self) -> Index { + Index::new(self.targets.len()) + } + + #[inline] + pub(crate) fn degree(&self, i: Index) -> Index { + let from = self.offsets[i.index()]; + let to = self.offsets[(i + Index::new(1)).index()]; + + to - from + } + + #[inline] + pub(crate) fn targets_with_values(&self, i: Index) -> &[Target] { + let from = self.offsets[i.index()]; + let to = self.offsets[(i + Index::new(1)).index()]; + + &self.targets[from.index()..to.index()] + } +} + +impl Csr { + #[inline] + pub(crate) fn targets(&self, i: Index) -> &[NI] { + assert_eq!( + std::mem::size_of::>(), + std::mem::size_of::() + ); + assert_eq!( + std::mem::align_of::>(), + std::mem::align_of::() + ); + let from = self.offsets[i.index()]; + let to = self.offsets[(i + Index::new(1)).index()]; + + let len = (to - from).index(); + + let targets = &self.targets[from.index()..to.index()]; + + // SAFETY: len is within bounds as it is calculated above as `to - from`. + // The types Target and T are verified to have the same + // size and alignment. + unsafe { std::slice::from_raw_parts(targets.as_ptr() as *const _, len) } + } +} + +pub trait SwapCsr { + fn swap_csr(&mut self, csr: Csr) -> &mut Self; +} + +impl From<(&'_ E, NI, Direction, CsrLayout)> for Csr +where + NI: Idx, + EV: Copy + Send + Sync, + E: Edges, +{ + fn from( + (edge_list, node_count, direction, csr_layout): (&'_ E, NI, Direction, CsrLayout), + ) -> Self { + let degrees = edge_list.degrees(node_count, direction); + let offsets = prefix_sum_atomic(degrees); + let edge_count = offsets[node_count.index()].load(Acquire).index(); + let mut targets = Vec::>::with_capacity(edge_count); + let targets_ptr = SharedMut::new(targets.as_mut_ptr()); + + // The following loop writes all targets into their correct position. + // The offsets are a prefix sum of all degrees, which will produce + // non-overlapping positions for all node values. + // + // SAFETY: for any (s, t) tuple from the same edge_list we use the + // prefix_sum to find a unique position for the target value, so that we + // only write once into each position and every thread that might run + // will write into different positions. + if matches!(direction, Direction::Outgoing | Direction::Undirected) { + edge_list.edges().for_each(|(s, t, v)| { + let offset = NI::get_and_increment(&offsets[s.index()], Acquire); + + unsafe { + targets_ptr.add(offset.index()).write(Target::new(t, v)); + } + }) + } + + if matches!(direction, Direction::Incoming | Direction::Undirected) { + edge_list.edges().for_each(|(s, t, v)| { + let offset = NI::get_and_increment(&offsets[t.index()], Acquire); + + unsafe { + targets_ptr.add(offset.index()).write(Target::new(s, v)); + } + }) + } + + // SAFETY: The previous loops iterated the input edge list once (twice + // for undirected) and inserted one node id for each edge. The + // `edge_count` is defined by the highest offset value. + unsafe { + targets.set_len(edge_count); + } + let mut offsets = ManuallyDrop::new(offsets); + let (ptr, len, cap) = (offsets.as_mut_ptr(), offsets.len(), offsets.capacity()); + + // SAFETY: NI and NI::Atomic have the same memory layout + let mut offsets = unsafe { + let ptr = ptr as *mut _; + Vec::from_raw_parts(ptr, len, cap) + }; + + // Each insert into the target array in the previous loops incremented + // the offset for the corresponding node by one. As a consequence the + // offset values are shifted one index to the right. We need to correct + // this in order to get correct offsets. + offsets.rotate_right(1); + offsets[0] = NI::zero(); + + let (offsets, targets) = match csr_layout { + CsrLayout::Unsorted => (offsets, targets), + CsrLayout::Sorted => { + sort_targets(&offsets, &mut targets); + (offsets, targets) + } + CsrLayout::Deduplicated => { + let offsets_targets = sort_and_deduplicate_targets(&offsets, &mut targets[..]); + offsets_targets + } + }; + + Csr { + offsets: offsets.into_boxed_slice(), + targets: targets.into_boxed_slice(), + } + } +} + +unsafe impl ToByteSlice for Target +where + NI: ToByteSlice, + EV: ToByteSlice, +{ + fn to_byte_slice + ?Sized>(slice: &S) -> &[u8] { + let slice = slice.as_ref(); + let len = slice.len() * std::mem::size_of::>(); + unsafe { std::slice::from_raw_parts(slice.as_ptr() as *const u8, len) } + } +} + +unsafe impl ToMutByteSlice for Target +where + NI: ToMutByteSlice, + EV: ToMutByteSlice, +{ + fn to_mut_byte_slice + ?Sized>(slice: &mut S) -> &mut [u8] { + let slice = slice.as_mut(); + let len = slice.len() * std::mem::size_of::>(); + unsafe { std::slice::from_raw_parts_mut(slice.as_mut_ptr() as *mut u8, len) } + } +} + +impl Csr +where + NI: Idx + ToByteSlice, + EV: ToByteSlice, +{ + fn serialize(&self, output: &mut W) -> Result<(), Error> { + let type_name = std::any::type_name::().as_bytes(); + output.write_all([type_name.len()].as_byte_slice())?; + output.write_all(type_name)?; + + let node_count = self.node_count(); + let edge_count = self.edge_count(); + let meta = [node_count, edge_count]; + output.write_all(meta.as_byte_slice())?; + + output.write_all(self.offsets.as_byte_slice())?; + output.write_all(self.targets.as_byte_slice())?; + + Ok(()) + } +} + +impl Csr +where + NI: Idx + ToMutByteSlice, + EV: ToMutByteSlice, +{ + fn deserialize(read: &mut R) -> Result, Error> { + let mut type_name_len = [0_usize; 1]; + read.read_exact(type_name_len.as_mut_byte_slice())?; + let [type_name_len] = type_name_len; + + let mut type_name = vec![0_u8; type_name_len]; + read.read_exact(type_name.as_mut_byte_slice())?; + let type_name = String::from_utf8(type_name).expect("could not read type name"); + + let expected_type_name = std::any::type_name::().to_string(); + + if type_name != expected_type_name { + return Err(Error::InvalidIdType { + expected: expected_type_name, + actual: type_name, + }); + } + + let mut meta = [NI::zero(); 2]; + read.read_exact(meta.as_mut_byte_slice())?; + + let [node_count, edge_count] = meta; + + let mut offsets = Box::new_uninit_slice_compat(node_count.index() + 1); + let offsets_ptr = offsets.as_mut_ptr() as *mut NI; + let offsets_ptr = + unsafe { std::slice::from_raw_parts_mut(offsets_ptr, node_count.index() + 1) }; + read.read_exact(offsets_ptr.as_mut_byte_slice())?; + + let mut targets = Box::new_uninit_slice_compat(edge_count.index()); + let targets_ptr = targets.as_mut_ptr() as *mut Target; + let targets_ptr = + unsafe { std::slice::from_raw_parts_mut(targets_ptr, edge_count.index()) }; + read.read_exact(targets_ptr.as_mut_byte_slice())?; + + let offsets = unsafe { offsets.assume_init_compat() }; + let targets = unsafe { targets.assume_init_compat() }; + + Ok(Csr::new(offsets, targets)) + } +} + +pub struct NodeValues(Box<[NV]>); + +impl NodeValues { + pub fn new(node_values: Vec) -> Self { + Self(node_values.into_boxed_slice()) + } +} + +impl FromIterator for NodeValues { + fn from_iter>(iter: T) -> Self { + Self(iter.into_iter().collect::>().into_boxed_slice()) + } +} + +impl NodeValues +where + NV: ToByteSlice, +{ + fn serialize(&self, output: &mut W) -> Result<(), Error> { + let node_count = self.0.len(); + let meta = [node_count]; + output.write_all(meta.as_byte_slice())?; + output.write_all(self.0.as_byte_slice())?; + Ok(()) + } +} + +impl NodeValues +where + NV: ToMutByteSlice, +{ + fn deserialize(read: &mut R) -> Result { + let mut meta = [0_usize; 1]; + read.read_exact(meta.as_mut_byte_slice())?; + let [node_count] = meta; + + let mut node_values = Box::new_uninit_slice_compat(node_count); + let node_values_ptr = node_values.as_mut_ptr() as *mut NV; + let node_values_slice = + unsafe { std::slice::from_raw_parts_mut(node_values_ptr, node_count.index()) }; + read.read_exact(node_values_slice.as_mut_byte_slice())?; + + let offsets = unsafe { node_values.assume_init_compat() }; + + Ok(NodeValues(offsets)) + } +} + +pub struct DirectedCsrGraph { + node_values: NodeValues, + csr_out: Csr, + csr_inc: Csr, +} + +impl DirectedCsrGraph { + pub fn new( + node_values: NodeValues, + csr_out: Csr, + csr_inc: Csr, + ) -> Self { + let g = Self { + node_values, + csr_out, + csr_inc, + }; + + g + } +} + +impl ToUndirectedOp for DirectedCsrGraph +where + NI: Idx, + NV: Clone + Send + Sync, + EV: Copy + Send + Sync, +{ + type Undirected = UndirectedCsrGraph; + + fn to_undirected(&self, layout: impl Into>) -> Self::Undirected { + let node_values = NodeValues::new(self.node_values.0.to_vec()); + let layout = layout.into().unwrap_or_default(); + let edges = ToUndirectedEdges { g: self }; + + UndirectedCsrGraph::from((node_values, edges, layout)) + } +} + +struct ToUndirectedEdges<'g, NI: Idx, NV, EV> { + g: &'g DirectedCsrGraph, +} + +impl<'g, NI, NV, EV> Edges for ToUndirectedEdges<'g, NI, NV, EV> +where + NI: Idx, + NV: Send + Sync, + EV: Copy + Send + Sync, +{ + type NI = NI; + + type EV = EV; + + type EdgeIter<'a> = ToUndirectedEdgesIter<'a, NI, NV, EV> + where + Self: 'a; + + fn edges(&self) -> Self::EdgeIter<'_> { + ToUndirectedEdgesIter { g: self.g } + } + + fn max_node_id(&self) -> Self::NI { + self.g.node_count() - NI::new(1) + } + + #[cfg(test)] + fn len(&self) -> usize { + unimplemented!("This type is not used in tests") + } +} + +struct ToUndirectedEdgesIter<'g, NI: Idx, NV, EV> { + g: &'g DirectedCsrGraph, +} + +impl<'g, NI: Idx, NV: Send + Sync, EV: Copy + Send + Sync> ParallelIterator + for ToUndirectedEdgesIter<'g, NI, NV, EV> +{ + type Item = (NI, NI, EV); + + fn drive_unindexed(self, consumer: C) -> C::Result + where + C: rayon::iter::plumbing::UnindexedConsumer, + { + let par_iter = (0..self.g.node_count().index()) + .into_par_iter() + .flat_map_iter(|n| { + let n = NI::new(n); + self.g + .out_neighbors_with_values(n) + .map(move |t| (n, t.target, t.value)) + }); + par_iter.drive_unindexed(consumer) + } +} + +impl Graph for DirectedCsrGraph { + delegate::delegate! { + to self.csr_out { + fn node_count(&self) -> NI; + fn edge_count(&self) -> NI; + } + } +} + +impl NodeValuesTrait for DirectedCsrGraph { + fn node_value(&self, node: NI) -> &NV { + &self.node_values.0[node.index()] + } +} + +impl DirectedDegrees for DirectedCsrGraph { + fn out_degree(&self, node: NI) -> NI { + self.csr_out.degree(node) + } + + fn in_degree(&self, node: NI) -> NI { + self.csr_inc.degree(node) + } +} + +impl DirectedNeighbors for DirectedCsrGraph { + type NeighborsIterator<'a> = std::slice::Iter<'a, NI> where NV: 'a; + + fn out_neighbors(&self, node: NI) -> Self::NeighborsIterator<'_> { + self.csr_out.targets(node).iter() + } + + fn in_neighbors(&self, node: NI) -> Self::NeighborsIterator<'_> { + self.csr_inc.targets(node).iter() + } +} + +impl DirectedNeighborsWithValues for DirectedCsrGraph { + type NeighborsIterator<'a> = std::slice::Iter<'a, Target> where NV:'a, EV: 'a; + + fn out_neighbors_with_values(&self, node: NI) -> Self::NeighborsIterator<'_> { + self.csr_out.targets_with_values(node).iter() + } + + fn in_neighbors_with_values(&self, node: NI) -> Self::NeighborsIterator<'_> { + self.csr_inc.targets_with_values(node).iter() + } +} + +impl From<(E, CsrLayout)> for DirectedCsrGraph +where + NI: Idx, + EV: Copy + Send + Sync, + E: Edges, +{ + fn from((edge_list, csr_option): (E, CsrLayout)) -> Self { + let node_count = edge_list.max_node_id() + NI::new(1); + + let node_values = NodeValues::new(vec![(); node_count.index()]); + + let csr_out = Csr::from((&edge_list, node_count, Direction::Outgoing, csr_option)); + let csr_inc = Csr::from((&edge_list, node_count, Direction::Incoming, csr_option)); + + DirectedCsrGraph::new(node_values, csr_out, csr_inc) + } +} + +impl From<(NodeValues, E, CsrLayout)> for DirectedCsrGraph +where + NI: Idx, + EV: Copy + Send + Sync, + E: Edges, +{ + fn from((node_values, edge_list, csr_option): (NodeValues, E, CsrLayout)) -> Self { + let node_count = edge_list.max_node_id() + NI::new(1); + + assert!( + node_values.0.len() >= node_count.index(), + "number of node values ({}) does not match node count of edge list ({})", + node_values.0.len(), + node_count.index() + ); + + let csr_out = Csr::from((&edge_list, node_count, Direction::Outgoing, csr_option)); + let csr_inc = Csr::from((&edge_list, node_count, Direction::Incoming, csr_option)); + + DirectedCsrGraph::new(node_values, csr_out, csr_inc) + } +} + + +impl SerializeGraphOp for DirectedCsrGraph +where + W: Write, + NI: Idx + ToByteSlice, + NV: ToByteSlice, + EV: ToByteSlice, +{ + fn serialize(&self, mut output: W) -> Result<(), Error> { + let DirectedCsrGraph { + node_values, + csr_out, + csr_inc, + } = self; + + node_values.serialize(&mut output)?; + csr_out.serialize(&mut output)?; + csr_inc.serialize(&mut output)?; + + Ok(()) + } +} + +impl DeserializeGraphOp for DirectedCsrGraph +where + R: Read, + NI: Idx + ToMutByteSlice, + NV: ToMutByteSlice, + EV: ToMutByteSlice, +{ + fn deserialize(mut read: R) -> Result { + let node_values: NodeValues = NodeValues::deserialize(&mut read)?; + let csr_out: Csr = Csr::deserialize(&mut read)?; + let csr_inc: Csr = Csr::deserialize(&mut read)?; + Ok(DirectedCsrGraph::new(node_values, csr_out, csr_inc)) + } +} + +impl TryFrom<(PathBuf, CsrLayout)> for DirectedCsrGraph +where + NI: Idx + ToMutByteSlice, + EV: ToMutByteSlice, +{ + type Error = Error; + + fn try_from((path, _): (PathBuf, CsrLayout)) -> Result { + let reader = BufReader::new(File::open(path)?); + let graph = DirectedCsrGraph::deserialize(reader)?; + + Ok(graph) + } +} + +pub struct UndirectedCsrGraph { + node_values: NodeValues, + csr: Csr, +} + +impl From> for UndirectedCsrGraph { + fn from(csr: Csr) -> Self { + UndirectedCsrGraph::new(NodeValues::new(vec![(); csr.node_count().index()]), csr) + } +} + +impl UndirectedCsrGraph { + pub fn new(node_values: NodeValues, csr: Csr) -> Self { + let g = Self { node_values, csr }; + + g + } +} + +impl Graph for UndirectedCsrGraph { + fn node_count(&self) -> NI { + self.csr.node_count() + } + + fn edge_count(&self) -> NI { + self.csr.edge_count() / NI::new(2) + } +} + +impl NodeValuesTrait for UndirectedCsrGraph { + fn node_value(&self, node: NI) -> &NV { + &self.node_values.0[node.index()] + } +} + +impl UndirectedDegrees for UndirectedCsrGraph { + fn degree(&self, node: NI) -> NI { + self.csr.degree(node) + } +} + +impl UndirectedNeighbors for UndirectedCsrGraph { + type NeighborsIterator<'a> = std::slice::Iter<'a, NI> where NV: 'a; + + fn neighbors(&self, node: NI) -> Self::NeighborsIterator<'_> { + self.csr.targets(node).iter() + } +} + +impl UndirectedNeighborsWithValues for UndirectedCsrGraph { + type NeighborsIterator<'a> = std::slice::Iter<'a, Target> where NV: 'a, EV: 'a; + + fn neighbors_with_values(&self, node: NI) -> Self::NeighborsIterator<'_> { + self.csr.targets_with_values(node).iter() + } +} + +impl SwapCsr for UndirectedCsrGraph { + fn swap_csr(&mut self, mut csr: Csr) -> &mut Self { + std::mem::swap(&mut self.csr, &mut csr); + self + } +} + +impl From<(E, CsrLayout)> for UndirectedCsrGraph +where + NI: Idx, + EV: Copy + Send + Sync, + E: Edges, +{ + fn from((edge_list, csr_option): (E, CsrLayout)) -> Self { + let node_count = edge_list.max_node_id() + NI::new(1); + + let node_values = NodeValues::new(vec![(); node_count.index()]); + + let csr = Csr::from((&edge_list, node_count, Direction::Undirected, csr_option)); + + UndirectedCsrGraph::new(node_values, csr) + } +} + +impl From<(NodeValues, E, CsrLayout)> for UndirectedCsrGraph +where + NI: Idx, + EV: Copy + Send + Sync, + E: Edges, +{ + fn from((node_values, edge_list, csr_option): (NodeValues, E, CsrLayout)) -> Self { + let node_count = edge_list.max_node_id() + NI::new(1); + + let csr = Csr::from((&edge_list, node_count, Direction::Undirected, csr_option)); + + UndirectedCsrGraph::new(node_values, csr) + } +} + +impl SerializeGraphOp for UndirectedCsrGraph +where + W: Write, + NI: Idx + ToByteSlice, + NV: ToByteSlice, + EV: ToByteSlice, +{ + fn serialize(&self, mut output: W) -> Result<(), Error> { + let UndirectedCsrGraph { node_values, csr } = self; + + node_values.serialize(&mut output)?; + csr.serialize(&mut output)?; + + Ok(()) + } +} + +impl DeserializeGraphOp for UndirectedCsrGraph +where + R: Read, + NI: Idx + ToMutByteSlice, + NV: ToMutByteSlice, + EV: ToMutByteSlice, +{ + fn deserialize(mut read: R) -> Result { + let node_values = NodeValues::deserialize(&mut read)?; + let csr: Csr = Csr::deserialize(&mut read)?; + Ok(UndirectedCsrGraph::new(node_values, csr)) + } +} + +impl TryFrom<(PathBuf, CsrLayout)> for UndirectedCsrGraph +where + NI: Idx + ToMutByteSlice, + EV: ToMutByteSlice, +{ + type Error = Error; + + fn try_from((path, _): (PathBuf, CsrLayout)) -> Result { + let reader = BufReader::new(File::open(path)?); + UndirectedCsrGraph::deserialize(reader) + } +} + +fn prefix_sum_atomic(degrees: Vec>) -> Vec> { + let mut last = degrees.last().unwrap().load(Acquire); + let mut sums = degrees + .into_iter() + .scan(NI::zero(), |total, degree| { + let value = *total; + *total += degree.into_inner(); + Some(Atomic::new(value)) + }) + .collect::>(); + + last += sums.last().unwrap().load(Acquire); + sums.push(Atomic::new(last)); + + sums +} + +pub(crate) fn prefix_sum(degrees: Vec) -> Vec { + let mut last = *degrees.last().unwrap(); + let mut sums = degrees + .into_iter() + .scan(NI::zero(), |total, degree| { + let value = *total; + *total += degree; + Some(value) + }) + .collect::>(); + last += *sums.last().unwrap(); + sums.push(last); + sums +} + +pub(crate) fn sort_targets(offsets: &[NI], targets: &mut [Target]) +where + NI: Idx, + T: Copy + Send + Ord, + EV: Send, +{ + to_mut_slices(offsets, targets) + .par_iter_mut() + .for_each(|list| list.sort_unstable()); +} + +fn sort_and_deduplicate_targets( + offsets: &[NI], + targets: &mut [Target], +) -> (Vec, Vec>) +where + NI: Idx, + EV: Copy + Send, +{ + let node_count = offsets.len() - 1; + + let mut new_degrees = Vec::with_capacity(node_count); + let mut target_slices = to_mut_slices(offsets, targets); + + target_slices + .par_iter_mut() + .enumerate() + .map(|(node, slice)| { + slice.sort_unstable(); + // deduplicate + let (dedup, _) = slice.partition_dedup_compat(); + let mut new_degree = dedup.len(); + // remove self loops .. there is at most once occurence of node inside dedup + if let Ok(idx) = dedup.binary_search_by_key(&NI::new(node), |t| t.target) { + dedup[idx..].rotate_left(1); + new_degree -= 1; + } + NI::new(new_degree) + }) + .collect_into_vec(&mut new_degrees); + + let new_offsets = prefix_sum(new_degrees); + debug_assert_eq!(new_offsets.len(), node_count + 1); + + let edge_count = new_offsets[node_count].index(); + let mut new_targets: Vec> = Vec::with_capacity(edge_count); + let new_target_slices = to_mut_slices(&new_offsets, new_targets.spare_capacity_mut()); + + target_slices + .into_par_iter() + .zip(new_target_slices.into_par_iter()) + .for_each(|(old_slice, new_slice)| { + MaybeUninit::write_slice_compat(new_slice, &old_slice[..new_slice.len()]); + }); + + // SAFETY: We copied all (potentially shortened) target ids from the old + // target list to the new one. + unsafe { + new_targets.set_len(edge_count); + } + + (new_offsets, new_targets) +} + +fn to_mut_slices<'targets, NI: Idx, T>( + offsets: &[NI], + targets: &'targets mut [T], +) -> Vec<&'targets mut [T]> { + let node_count = offsets.len() - 1; + let mut target_slices = Vec::with_capacity(node_count); + let mut tail = targets; + let mut prev_offset = offsets[0]; + + for &offset in &offsets[1..] { + let (list, remainder) = tail.split_at_mut((offset - prev_offset).index()); + target_slices.push(list); + tail = remainder; + prev_offset = offset; + } + + target_slices +} diff --git a/packages/graph-rust/src/graph_builder/graph/mod.rs b/packages/graph-rust/src/graph_builder/graph/mod.rs new file mode 100644 index 0000000..571c09b --- /dev/null +++ b/packages/graph-rust/src/graph_builder/graph/mod.rs @@ -0,0 +1 @@ +pub mod csr; \ No newline at end of file diff --git a/packages/graph-rust/src/graph_builder/graph_ops.rs b/packages/graph-rust/src/graph_builder/graph_ops.rs new file mode 100644 index 0000000..06b2d9c --- /dev/null +++ b/packages/graph-rust/src/graph_builder/graph_ops.rs @@ -0,0 +1,627 @@ +use rayon::prelude::*; + +use super::graph::csr::{prefix_sum, Csr, SwapCsr, Target}; +use super::index::Idx; +use super::{ + CsrLayout, DirectedDegrees, DirectedNeighborsWithValues, Error, Graph, SharedMut, + UndirectedDegrees, UndirectedNeighborsWithValues, +}; + +use std::ops::Range; +use std::sync::Arc; + +/// Partition the node set based on the degrees of the nodes. +pub trait DegreePartitionOp { + /// Creates a range-based degree partition of the nodes. + /// + /// Divide the nodes into `concurrency` number of ranges such that these + /// ranges have roughly equal total degree. That is, the sum of the degrees + /// of the nodes of each range should be roughly equal to the extent that + /// that's actually possible. + /// The length of the returned vector will never exceed `concurrency`. + fn degree_partition(&self, concurrency: usize) -> Vec>; +} + +/// Partition the node set based on the out degrees of the nodes. +pub trait OutDegreePartitionOp { + /// Creates a range-based out degree partition of the nodes. + /// + /// Divide the nodes into `concurrency` number of ranges such that these + /// ranges have roughly equal total out degree. That is, the sum of the out + /// degrees of the nodes of each range should be roughly equal to the extent + /// that that's actually possible. + /// The length of the returned vector will never exceed `concurrency`. + fn out_degree_partition(&self, concurrency: usize) -> Vec>; +} + +/// Partition the node set based on the in degrees of the nodes. +pub trait InDegreePartitionOp { + /// Creates a range-based in degree partition of the nodes. + /// + /// Divide the nodes into `concurrency` number of ranges such that these + /// ranges have roughly equal total in degree. That is, the sum of the in + /// degrees of the nodes of each range should be roughly equal to the extent + /// that that's actually possible. + /// The length of the returned vector will never exceed `concurrency`. + fn in_degree_partition(&self, concurrency: usize) -> Vec>; +} + +/// Call a particular function for each node with its corresponding state in parallel. +pub trait ForEachNodeParallelOp { + /// For each node calls `node_fn` with the node and its corresponding mutable + /// state in parallel. + /// + /// For every node `n` in the graph `node_fn(&self, n, node_values[n.index()])` + /// will be called. + /// + /// `node_values` must have length exactly equal to the number of nodes in + /// the graph. + /// + /// # Example + /// + /// ``` + /// # use graph_builder::prelude::*; + /// # use std::ops::Range; + /// let graph: DirectedCsrGraph = GraphBuilder::new() + /// .edges(vec![(0, 1), (0, 2), (1, 2)]) + /// .build(); + /// let mut node_values = vec![0; 3]; + /// + /// graph. + /// for_each_node_par(&mut node_values, |g, node, node_state| { + /// *node_state = g.out_degree(node); + /// }); + /// + /// assert_eq!(node_values[0], 2); + /// assert_eq!(node_values[1], 1); + /// assert_eq!(node_values[2], 0); + /// ``` + fn for_each_node_par(&self, node_values: &mut [T], node_fn: F) -> Result<(), Error> + where + T: Send, + F: Fn(&Self, NI, &mut T) + Send + Sync; +} + +/// Call a particular function for each node with its corresponding state in parallel based on a +/// partition. +pub trait ForEachNodeParallelByPartitionOp { + /// For each node calls `node_fn` with the node and its corresponding + /// mutable state in parallel, using `partition` as a parallelization hint. + /// + /// For every node `n` in the graph `node_fn(&self, n, node_values[n.index()])` + /// will be called. + /// + /// `node_values` must have length exactly equal to the number of nodes in + /// the graph. + /// + /// The parallelization will be implemented such that the work for a set of + /// nodes represented by each range in `partition` will correspond to a task + /// that will run in a single thread. + /// + /// # Example + /// + /// ``` + /// # use graph_builder::prelude::*; + /// # use std::ops::Range; + /// let graph: DirectedCsrGraph = GraphBuilder::new() + /// .edges(vec![(0, 1), (0, 2), (1, 2)]) + /// .build(); + /// let mut node_values = vec![0; 3]; + /// let partition: Vec> = graph.out_degree_partition(num_cpus::get()); + /// + /// graph. + /// for_each_node_par_by_partition(&partition, &mut node_values, |g, node, node_state| { + /// *node_state = g.out_degree(node); + /// }); + /// + /// assert_eq!(node_values[0], 2); + /// assert_eq!(node_values[1], 1); + /// assert_eq!(node_values[2], 0); + /// ``` + fn for_each_node_par_by_partition( + &self, + partition: &[Range], + node_values: &mut [T], + node_fn: F, + ) -> Result<(), Error> + where + T: Send, + F: Fn(&Self, NI, &mut T) + Send + Sync; +} + +pub trait RelabelByDegreeOp { + /// Creates a new graph by relabeling the node ids of the given graph. + /// + /// Ids are relabaled using descending degree-order, i.e., given `n` nodes, + /// the node with the largest degree will become node id `0`, the node with + /// the smallest degree will become node id `n - 1`. + /// + /// Note, that this method creates a new graph with the same space + /// requirements as the input graph. + /// + /// # Example + /// + /// ``` + /// use graph_builder::prelude::*; + /// + /// let mut graph: UndirectedCsrGraph = GraphBuilder::new() + /// .edges(vec![(0, 1), (1, 2), (1, 3), (3, 0)]) + /// .build(); + /// + /// assert_eq!(graph.degree(0), 2); + /// assert_eq!(graph.degree(1), 3); + /// assert_eq!(graph.degree(2), 1); + /// assert_eq!(graph.degree(3), 2); + /// + /// let mut neighbors = graph.neighbors(0); + /// assert_eq!(neighbors.next(), Some(&1)); + /// assert_eq!(neighbors.next(), Some(&3)); + /// assert_eq!(neighbors.next(), None); + /// + /// graph.make_degree_ordered(); + /// + /// assert_eq!(graph.degree(0), 3); + /// assert_eq!(graph.degree(1), 2); + /// assert_eq!(graph.degree(2), 2); + /// assert_eq!(graph.degree(3), 1); + /// + /// assert_eq!(graph.neighbors(0).as_slice(), &[1, 2, 3]); + /// ``` + fn make_degree_ordered(&mut self); +} + +pub trait ToUndirectedOp { + type Undirected; + + /// Creates a new undirected graph from the edges of an existing graph. + /// + /// Note, that this method creates a new graph with the same space + /// requirements as the input graph. + /// + /// # Example + /// + /// ``` + /// use graph_builder::prelude::*; + /// + /// let graph: DirectedCsrGraph = GraphBuilder::new() + /// .edges(vec![(0, 1), (2, 0)]) + /// .build(); + /// + /// assert_eq!(graph.out_degree(0), 1); + /// assert_eq!(graph.out_neighbors(0).as_slice(), &[1]); + /// + /// assert_eq!(graph.in_degree(0), 1); + /// assert_eq!(graph.in_neighbors(0).as_slice(), &[2]); + /// + /// let graph = graph.to_undirected(None); + /// + /// assert_eq!(graph.degree(0), 2); + /// assert_eq!(graph.neighbors(0).as_slice(), &[1, 2]); + /// ``` + /// + /// This method accepts an optional [`CsrLayout`] as second parameter, + /// which has the same effect as described in [`GraphBuilder::csr_layout`] + + /// # Example + /// + /// ``` + /// use graph_builder::prelude::*; + /// + /// let graph: DirectedCsrGraph = GraphBuilder::new() + /// .edges(vec![(0, 2), (1, 0), (2, 0)]) + /// .build(); + /// + /// // No layout specified, a default layput is chosen + /// let un_graph = graph.to_undirected(None); + /// assert_eq!(un_graph.neighbors(0).as_slice(), &[2, 1, 2]); + /// + /// // The `Sorted` layout + /// let un_graph = graph.to_undirected(CsrLayout::Sorted); + /// assert_eq!(un_graph.neighbors(0).as_slice(), &[1, 2, 2]); + /// + /// // The `Deduplicated` layout + /// let un_graph = graph.to_undirected(CsrLayout::Deduplicated); + /// assert_eq!(un_graph.neighbors(0).as_slice(), &[1, 2]); + /// ``` + fn to_undirected(&self, layout: impl Into>) -> Self::Undirected; +} + +pub trait SerializeGraphOp { + fn serialize(&self, write: W) -> Result<(), Error>; +} + +pub trait DeserializeGraphOp { + fn deserialize(read: R) -> Result; +} + +impl RelabelByDegreeOp for G +where + NI: Idx, + EV: Copy + Ord + Sync, + G: Graph + + UndirectedDegrees + + UndirectedNeighborsWithValues + + SwapCsr + + Sync, +{ + fn make_degree_ordered(&mut self) { + relabel_by_degree(self) + } +} + +impl ForEachNodeParallelOp for G +where + NI: Idx, + G: Graph + Sync, +{ + /// For each node calls a given function with the node and its corresponding + /// mutable state in parallel. + /// + /// The parallelization is done by means of a [rayon](https://docs.rs/rayon/) + /// based fork join with a task for each node. + fn for_each_node_par(&self, node_values: &mut [T], node_fn: F) -> Result<(), Error> + where + T: Send, + F: Fn(&Self, NI, &mut T) + Send + Sync, + { + if node_values.len() != self.node_count().index() { + return Err(Error::InvalidNodeValues); + } + + let node_fn = Arc::new(node_fn); + + node_values + .into_par_iter() + .enumerate() + .for_each(|(i, node_state)| node_fn(self, NI::new(i), node_state)); + + Ok(()) + } +} + +impl ForEachNodeParallelByPartitionOp for G +where + NI: Idx, + G: Graph + Sync, +{ + /// For each node calls a given function with the node and its corresponding + /// mutable state in parallel based on the provided node partition. + /// + /// The parallelization is done by means of a [rayon](https://docs.rs/rayon/) + /// based fork join with a task for each range in the provided node partition. + fn for_each_node_par_by_partition( + &self, + partition: &[Range], + node_values: &mut [T], + node_fn: F, + ) -> Result<(), Error> + where + T: Send, + F: Fn(&Self, NI, &mut T) + Send + Sync, + { + if node_values.len() != self.node_count().index() { + return Err(Error::InvalidNodeValues); + } + + if partition.iter().map(|r| r.end - r.start).sum::() != self.node_count() { + return Err(Error::InvalidPartitioning); + } + + let node_fn = Arc::new(node_fn); + + let node_value_splits = split_by_partition(partition, node_values); + + node_value_splits + .into_par_iter() + .zip(partition.into_par_iter()) + .for_each_with(node_fn, |node_fn, (mutable_chunk, range)| { + for (node_state, node) in mutable_chunk.iter_mut().zip(range.start.range(range.end)) + { + node_fn(self, node, node_state); + } + }); + + Ok(()) + } +} + +impl DegreePartitionOp for U +where + NI: Idx, + U: Graph + UndirectedDegrees + UndirectedNeighborsWithValues, +{ + /// Creates a greedy range-based degree partition of the nodes. + /// + /// It is greedy in the sense that it goes through the node set only once + /// and simply adds a new range to the result whenever the current range's + /// nodes' degrees sum up to at least the average node degree. + /// + /// # Example + /// + /// ``` + /// # use graph_builder::prelude::*; + /// # use std::ops::Range; + /// let graph: UndirectedCsrGraph = GraphBuilder::new() + /// .edges(vec![(0, 1), (0, 2), (0, 3), (0, 3)]) + /// .build(); + /// + /// let partition: Vec> = graph.degree_partition(2); + /// + /// assert_eq!(partition.len(), 2); + /// assert_eq!(partition[0], 0..1); + /// assert_eq!(partition[1], 1..4); + /// ``` + fn degree_partition(&self, concurrency: usize) -> Vec> { + let batch_size = ((self.edge_count().index() * 2) as f64 / concurrency as f64).ceil(); + greedy_node_map_partition( + |node| self.degree(node).index(), + self.node_count(), + batch_size as usize, + concurrency, + ) + } +} + +impl OutDegreePartitionOp for D +where + NI: Idx, + D: Graph + DirectedDegrees + DirectedNeighborsWithValues, +{ + /// Creates a greedy range-based out degree partition of the nodes. + /// + /// It is greedy in the sense that it goes through the node set only once + /// and simply adds a new range to the result whenever the current range's + /// nodes' out degrees sum up to at least the average node out degree. + /// + /// # Example + /// + /// ``` + /// # use graph_builder::prelude::*; + /// # use std::ops::Range; + /// let graph: DirectedCsrGraph = GraphBuilder::new() + /// .edges(vec![(0, 1), (0, 2), (2, 1), (2, 3)]) + /// .build(); + /// + /// let partition: Vec> = graph.out_degree_partition(2); + /// + /// assert_eq!(partition.len(), 2); + /// assert_eq!(partition[0], 0..1); + /// assert_eq!(partition[1], 1..4); + /// ``` + fn out_degree_partition(&self, concurrency: usize) -> Vec> { + let batch_size = (self.edge_count().index() as f64 / concurrency as f64).ceil(); + greedy_node_map_partition( + |node| self.out_degree(node).index(), + self.node_count(), + batch_size as usize, + concurrency, + ) + } +} + +impl InDegreePartitionOp for D +where + NI: Idx, + D: Graph + DirectedDegrees + DirectedNeighborsWithValues, +{ + /// Creates a greedy range-based in degree partition of the nodes. + /// + /// It is greedy in the sense that it goes through the node set only once + /// and simply adds a new range to the result whenever the current range's + /// nodes' in degrees sum up to at least the average node in degree. + /// + /// # Example + /// + /// ``` + /// # use graph_builder::prelude::*; + /// # use std::ops::Range; + /// let graph: DirectedCsrGraph = GraphBuilder::new() + /// .edges(vec![(1, 0), (1, 2), (2, 0), (3, 2)]) + /// .build(); + /// + /// let partition: Vec> = graph.in_degree_partition(2); + /// + /// assert_eq!(partition.len(), 2); + /// assert_eq!(partition[0], 0..1); + /// assert_eq!(partition[1], 1..4); + /// ``` + fn in_degree_partition(&self, concurrency: usize) -> Vec> { + let batch_size = (self.edge_count().index() as f64 / concurrency as f64).ceil(); + greedy_node_map_partition( + |node| self.in_degree(node).index(), + self.node_count(), + batch_size as usize, + concurrency, + ) + } +} + +// Split input slice into a vector of partition.len() disjoint slices such that +// the slice at index i in the output vector has the same length as the range at +// index i in the input partition. +fn split_by_partition<'a, NI: Idx, T>( + partition: &[Range], + slice: &'a mut [T], +) -> Vec<&'a mut [T]> { + debug_assert_eq!( + partition + .iter() + .map(|r| r.end - r.start) + .sum::() + .index(), + slice.len() + ); + + let mut splits = Vec::with_capacity(partition.len()); + + let mut remainder = slice; + let mut current_start = NI::zero(); + for range in partition.iter() { + let next_end = range.end - current_start; + current_start += next_end; + + let (left, right) = remainder.split_at_mut(next_end.index()); + + splits.push(left); + remainder = right; + } + + splits +} + +// Partition nodes 0..node_count().index() into at most max_batches ranges such +// that the sums of node_map(node) for each range are roughly equal. It does so +// greedily and therefore does not guarantee an optimally balanced range-based +// partition. +fn greedy_node_map_partition( + node_map: F, + node_count: NI, + batch_size: usize, + max_batches: usize, +) -> Vec> +where + F: Fn(NI) -> usize, + NI: Idx, +{ + let mut partitions = Vec::with_capacity(max_batches); + + let mut partition_size = 0; + let mut partition_start = NI::zero(); + let upper_bound = node_count - NI::new(1); + + for node in NI::zero().range(node_count) { + partition_size += node_map(node); + + if (partitions.len() < max_batches - 1 && partition_size >= batch_size) + || node == upper_bound + { + let partition_end = node + NI::new(1); + partitions.push(partition_start..partition_end); + partition_size = 0; + partition_start = partition_end; + } + } + + partitions +} + +fn relabel_by_degree(graph: &mut G) +where + NI: Idx, + G: Graph + + UndirectedDegrees + + UndirectedNeighborsWithValues + + SwapCsr + + Sync, + EV: Copy + Ord + Sync, +{ + let degree_node_pairs = sort_by_degree_desc(graph); + let (degrees, nodes) = unzip_degrees_and_nodes(degree_node_pairs); + let offsets = prefix_sum(degrees); + let targets = relabel_targets(graph, nodes, &offsets); + + graph.swap_csr(Csr::new( + offsets.into_boxed_slice(), + targets.into_boxed_slice(), + )); +} + +// Extracts (degree, node_id) pairs from the given graph and sorts them by +// degree descending. +fn sort_by_degree_desc(graph: &G) -> Vec<(NI, NI)> +where + NI: Idx, + G: Graph + UndirectedDegrees + UndirectedNeighborsWithValues + Sync, +{ + let node_count = graph.node_count().index(); + let mut degree_node_pairs = Vec::with_capacity(node_count); + + (0..node_count) + .into_par_iter() + .map(NI::new) + .map(|node_id| (graph.degree(node_id), node_id)) + .collect_into_vec(&mut degree_node_pairs); + degree_node_pairs.par_sort_unstable_by(|left, right| left.cmp(right).reverse()); + + degree_node_pairs +} + +// Unzips (degree, node-id) pairs into `degrees` and `nodes` +// +// `degrees` maps a new node id to its degree. +// `nodes` maps the previous node id to the new node id. +fn unzip_degrees_and_nodes(degree_node_pairs: Vec<(NI, NI)>) -> (Vec, Vec) { + let node_count = degree_node_pairs.len(); + let mut degrees = Vec::::with_capacity(node_count); + let mut nodes = Vec::::with_capacity(node_count); + let nodes_ptr = SharedMut::new(nodes.as_mut_ptr()); + + (0..node_count) + .into_par_iter() + .map(|n| { + let (degree, node) = degree_node_pairs[n]; + + // SAFETY: node is the node_id from degree_node_pairs which is + // created from 0..node_count -- the values are all distinct and we + // will not write into the same location in parallel + unsafe { + nodes_ptr.add(node.index()).write(NI::new(n)); + } + + degree + }) + .collect_into_vec(&mut degrees); + + // SAFETY: degree_node_pairs contains each value in 0..node_count once + unsafe { + nodes.set_len(node_count); + } + + (degrees, nodes) +} + +// Relabel target ids according to the given node mapping and offsets. +fn relabel_targets(graph: &G, nodes: Vec, offsets: &[NI]) -> Vec> +where + NI: Idx, + G: Graph + UndirectedNeighborsWithValues + Sync, + EV: Copy + Ord + Sync, +{ + let node_count = graph.node_count().index(); + let edge_count = offsets[node_count].index(); + let mut targets = Vec::>::with_capacity(edge_count); + let targets_ptr = SharedMut::new(targets.as_mut_ptr()); + + (0..node_count).into_par_iter().map(NI::new).for_each(|u| { + let new_u = nodes[u.index()]; + let start_offset = offsets[new_u.index()].index(); + let mut end_offset = start_offset; + + for &v in graph.neighbors_with_values(u) { + let new_v = nodes[v.target.index()]; + // SAFETY: a node u is processed by at most one thread. We write + // into a non-overlapping range defined by the offsets for that + // node. No two threads will write into the same range. + unsafe { + targets_ptr + .add(end_offset) + .write(Target::new(new_v, v.value)); + } + end_offset += 1; + } + + // SAFETY: start_offset..end_offset is a non-overlapping range for + // a node u which is processed by exactly one thread. + unsafe { + std::slice::from_raw_parts_mut(targets_ptr.add(start_offset), end_offset - start_offset) + } + .sort_unstable(); + }); + + // SAFETY: we inserted every relabeled target id of which there are edge_count many. + unsafe { + targets.set_len(edge_count); + } + + targets +} diff --git a/packages/graph-rust/src/graph_builder/index.rs b/packages/graph-rust/src/graph_builder/index.rs new file mode 100644 index 0000000..8f7c7c0 --- /dev/null +++ b/packages/graph-rust/src/graph_builder/index.rs @@ -0,0 +1,103 @@ +use std::fmt::Debug; +use std::iter::Sum; +use std::ops::{Range, RangeInclusive}; +use std::sync::atomic::Ordering; + +use atoi::FromRadix10; +use atomic::Atomic; + +pub trait Idx: + Copy + + std::ops::Add + + std::ops::AddAssign + + std::ops::Sub + + std::ops::Div + + std::ops::Mul + + Ord + + Debug + + Send + + Sum + + Sync + + Sized + + 'static +{ + fn new(idx: usize) -> Self; + + fn zero() -> Self; + + fn index(self) -> usize; + + type RangeIter: Iterator; + + fn range(self, end: Self) -> Self::RangeIter; + + type RangeInclusiveIter: Iterator; + + fn range_inclusive(self, end: Self) -> Self::RangeInclusiveIter; + + fn parse(bytes: &[u8]) -> (Self, usize); + + fn get_and_increment(this: &Atomic, order: Ordering) -> Self { + Self::fetch_add(this, Self::new(1), order) + } + + fn fetch_add(this: &Atomic, val: Self, order: Ordering) -> Self; +} + +macro_rules! impl_idx { + ($TYPE:ty) => { + impl Idx for $TYPE { + #[inline] + fn new(idx: usize) -> Self { + assert!(idx <= <$TYPE>::MAX as usize); + idx as $TYPE + } + + #[inline] + fn zero() -> Self { + 0 + } + + #[inline] + fn index(self) -> usize { + self as usize + } + + type RangeIter = Range; + + #[inline] + fn range(self, end: Self) -> Self::RangeIter { + self..end + } + + type RangeInclusiveIter = RangeInclusive; + + #[inline] + fn range_inclusive(self, end: Self) -> Self::RangeInclusiveIter { + self..=end + } + + #[inline] + fn parse(bytes: &[u8]) -> (Self, usize) { + FromRadix10::from_radix_10(bytes) + } + + #[inline] + fn fetch_add(this: &Atomic<$TYPE>, val: $TYPE, order: Ordering) -> $TYPE { + this.fetch_add(val, order) + } + } + }; +} + +impl_idx!(u8); +impl_idx!(u16); +impl_idx!(u32); +impl_idx!(u64); +impl_idx!(usize); + +impl_idx!(i8); +impl_idx!(i16); +impl_idx!(i32); +impl_idx!(i64); +impl_idx!(isize); \ No newline at end of file diff --git a/packages/graph-rust/src/graph_builder/input/edgelist.rs b/packages/graph-rust/src/graph_builder/input/edgelist.rs new file mode 100644 index 0000000..552d4a7 --- /dev/null +++ b/packages/graph-rust/src/graph_builder/input/edgelist.rs @@ -0,0 +1,258 @@ +use atomic::Atomic; +use std::{convert::TryFrom, fs::File, marker::PhantomData, path::Path, sync::Arc}; + +use parking_lot::Mutex; +use rayon::prelude::*; +use std::sync::atomic::Ordering::AcqRel; + +use crate::prelude::{Idx, Error}; + +use super::{InputCapabilities, InputPath, ParseValue, Direction}; + +/// Reads a graph from a file that contains an edge per line. +/// +/// An edge is represented by a source node id and a target node id. The two +/// node ids must be separated by a 1-byte character (e.g. whitespace or tab). +/// +/// The node count of the resulting graph is the highest node id within the file +/// plus one. The edge count will be twice the number of lines in the file. +/// +/// # Example +/// +/// ```ignore +/// > cat my_graph.edgelist +/// 0 1 +/// 0 2 +/// 1 3 +/// 2 0 +/// ``` +pub struct EdgeListInput { + _idx: PhantomData<(NI, EV)>, +} + +impl Default for EdgeListInput { + fn default() -> Self { + Self { _idx: PhantomData } + } +} + +impl InputCapabilities for EdgeListInput { + type GraphInput = EdgeList; +} + +#[allow(clippy::len_without_is_empty)] +pub trait Edges { + type NI: Idx; + type EV; + + type EdgeIter<'a>: ParallelIterator + where + Self: 'a; + + fn edges(&self) -> Self::EdgeIter<'_>; + + fn max_node_id(&self) -> Self::NI { + default_max_node_id(self) + } + + fn degrees(&self, node_count: Self::NI, direction: Direction) -> Vec> { + let mut degrees = Vec::with_capacity(node_count.index()); + degrees.resize_with(node_count.index(), || Atomic::new(Self::NI::zero())); + + if matches!(direction, Direction::Outgoing | Direction::Undirected) { + self.edges().for_each(|(s, _, _)| { + Self::NI::get_and_increment(°rees[s.index()], AcqRel); + }); + } + + if matches!(direction, Direction::Incoming | Direction::Undirected) { + self.edges().for_each(|(_, t, _)| { + Self::NI::get_and_increment(°rees[t.index()], AcqRel); + }); + } + + degrees + } + + #[cfg(test)] + fn len(&self) -> usize; +} + +fn default_max_node_id(edges: &E) -> E::NI { + edges + .edges() + .into_par_iter() + .map(|(s, t, _)| E::NI::max(s, t)) + .reduce(E::NI::zero, E::NI::max) +} + +#[derive(Debug)] +pub struct EdgeList { + list: Box<[(NI, NI, EV)]>, + max_node_id: Option, +} + +impl EdgeList { + pub fn new(edges: Vec<(NI, NI, EV)>) -> Self { + Self { + list: edges.into_boxed_slice(), + max_node_id: None, + } + } + + pub fn with_max_node_id(edges: Vec<(NI, NI, EV)>, max_node_id: NI) -> Self { + Self { + list: edges.into_boxed_slice(), + max_node_id: Some(max_node_id), + } + } +} + +impl Edges for EdgeList { + type NI = NI; + + type EV = EV; + + type EdgeIter<'a> = rayon::iter::Copied> + where + Self: 'a; + + fn edges(&self) -> Self::EdgeIter<'_> { + self.list.into_par_iter().copied() + } + + #[cfg(test)] + fn len(&self) -> usize { + self.list.len() + } + + fn max_node_id(&self) -> Self::NI { + match self.max_node_id { + Some(id) => id, + None => default_max_node_id(self), + } + } +} + +pub(crate) struct EdgeIterator>(pub I); + +impl From> for EdgeList +where + NI: Idx, + I: IntoIterator, +{ + fn from(iter: EdgeIterator) -> Self { + EdgeList::new(iter.0.into_iter().map(|(s, t)| (s, t, ())).collect()) + } +} + +pub(crate) struct EdgeWithValueIterator>(pub I); + +impl From> for EdgeList +where + NI: Idx, + EV: Sync, + I: IntoIterator, +{ + fn from(iter: EdgeWithValueIterator) -> Self { + EdgeList::new(iter.0.into_iter().map(|(s, t, v)| (s, t, v)).collect()) + } +} + +impl TryFrom> for EdgeList +where + P: AsRef, + NI: Idx, + EV: ParseValue + std::fmt::Debug + Send + Sync, +{ + type Error = Error; + + fn try_from(path: InputPath

) -> Result { + let file = File::open(path.0.as_ref())?; + let mmap = unsafe { memmap2::MmapOptions::new().populate().map(&file)? }; + EdgeList::try_from(mmap.as_ref()) + } +} + +impl TryFrom<&[u8]> for EdgeList +where + NI: Idx, + EV: ParseValue + std::fmt::Debug + Send + Sync, +{ + type Error = Error; + + fn try_from(bytes: &[u8]) -> Result { + let page_size = page_size::get(); + let cpu_count = num_cpus::get_physical(); + let chunk_size = + (usize::max(1, bytes.len() / cpu_count) + (page_size - 1)) & !(page_size - 1); + + let all_edges = Arc::new(Mutex::new(Vec::new())); + + let new_line_bytes = new_line_bytes(bytes); + + rayon::scope(|s| { + for start in (0..bytes.len()).step_by(chunk_size) { + let all_edges = Arc::clone(&all_edges); + s.spawn(move |_| { + let mut end = usize::min(start + chunk_size, bytes.len()); + while end <= bytes.len() && bytes[end - 1] != b'\n' { + end += 1; + } + + let mut start = start; + if start != 0 { + while bytes[start - 1] != b'\n' { + start += 1; + } + } + + let mut edges = Vec::new(); + let mut chunk = &bytes[start..end]; + while !chunk.is_empty() { + let (source, source_bytes) = NI::parse(chunk); + chunk = &chunk[source_bytes + 1..]; + + let (target, target_bytes) = NI::parse(chunk); + chunk = &chunk[target_bytes..]; + + let value = match chunk.strip_prefix(b" ") { + Some(value_chunk) => { + let (value, value_bytes) = EV::parse(value_chunk); + chunk = &value_chunk[value_bytes + new_line_bytes..]; + value + } + None => { + chunk = &chunk[new_line_bytes..]; + // if the input does not have a value, the default for EV is used + EV::parse(&[]).0 + } + }; + + edges.push((source, target, value)); + } + + let mut all_edges = all_edges.lock(); + all_edges.append(&mut edges); + }); + } + }); + + let edges = Arc::try_unwrap(all_edges).unwrap().into_inner(); + + Ok(EdgeList::new(edges)) + } +} + +// Returns the OS-dependent number of bytes for newline: +// +// `1` for Linux/macOS style (b'\n') +// '2' for Windows style (b'\r\n') +fn new_line_bytes(bytes: &[u8]) -> usize { + 1 + bytes + .iter() + .position(|b| *b == b'\n') + .and_then(|idx| idx.checked_sub(1)) + .and_then(|idx| bytes.get(idx).copied()) + .map_or(0, |b| (b == b'\r') as usize) +} diff --git a/packages/graph-rust/src/graph_builder/input/mod.rs b/packages/graph-rust/src/graph_builder/input/mod.rs new file mode 100644 index 0000000..77ea902 --- /dev/null +++ b/packages/graph-rust/src/graph_builder/input/mod.rs @@ -0,0 +1,93 @@ +pub mod edgelist; + + +pub use edgelist::EdgeList; +pub use edgelist::EdgeListInput; +pub use edgelist::Edges; + +use super::index::Idx; + +pub struct InputPath

(pub(crate) P); + +pub trait InputCapabilities { + type GraphInput; +} + +#[derive(Debug, Clone, Copy)] +pub enum Direction { + Outgoing, + Incoming, + Undirected, +} + +/// Used by input formats to read node or edge values from bytes. +pub trait ParseValue: Default + Sized { + /// Parses a value from a slice. + /// + /// # Example + /// + /// ``` + /// use graph_builder::input::ParseValue; + /// + /// let bytes = "13.37".as_bytes(); + /// + /// let (number, len) = f32::parse(bytes); + /// + /// assert_eq!(number, 13.37); + /// assert_eq!(len, 5); + /// ``` + /// + /// # Return + /// + /// Returns a tuple containing two entries. The first is the parsed value, + /// the second is the index of the byte right after the parsed value. + fn parse(bytes: &[u8]) -> (Self, usize); +} + +impl ParseValue for () { + fn parse(_bytes: &[u8]) -> (Self, usize) { + ((), 0) + } +} + +macro_rules! impl_parse_value { + ($atoi:path, $($ty:ty),+ $(,)?) => { + $( + impl $crate::graph_builder::input::ParseValue for $ty { + fn parse(bytes: &[u8]) -> (Self, usize) { + if bytes.len() == 0 { + (<$ty as ::std::default::Default>::default(), 0) + } else { + $atoi(bytes) + } + } + } + )+ + }; +} + +impl_parse_value!( + ::atoi::FromRadix10::from_radix_10, + u8, + u16, + u32, + u64, + u128, + usize, +); + +impl_parse_value!( + ::atoi::FromRadix10Signed::from_radix_10_signed, + i8, + i16, + i32, + i64, + i128, + isize, +); + +impl_parse_value!(parse_float, f32, f64); + +fn parse_float(bytes: &[u8]) -> (T, usize) { + fast_float::parse_partial(bytes).unwrap() +} \ No newline at end of file diff --git a/packages/graph-rust/src/graph_builder/mod.rs b/packages/graph-rust/src/graph_builder/mod.rs new file mode 100644 index 0000000..62aeab7 --- /dev/null +++ b/packages/graph-rust/src/graph_builder/mod.rs @@ -0,0 +1,171 @@ + + +pub mod builder; +mod compat; +pub mod graph; +pub mod graph_ops; +pub mod index; +pub mod input; +pub mod prelude; + +pub use self::builder::GraphBuilder; +pub use self::graph::csr::CsrLayout; +pub use self::graph::csr::DirectedCsrGraph; +pub use self::graph::csr::UndirectedCsrGraph; + +use std::convert::Infallible; + +use self::graph::csr::Target; +use thiserror::Error; + +use self::index::Idx; + +#[derive(Error, Debug)] +pub enum Error { + #[error("error while loading graph")] + IoError { + #[from] + source: std::io::Error, + }, + #[error("incompatible index type")] + IdxError { + #[from] + source: std::num::TryFromIntError, + }, + #[error("invalid partitioning")] + InvalidPartitioning, + #[error("number of node values must be the same as node count")] + InvalidNodeValues, + #[error("invalid id size, expected {expected:?} bytes, got {actual:?} bytes")] + InvalidIdType { expected: String, actual: String }, +} + +impl From for Error { + fn from(_: Infallible) -> Self { + unreachable!() + } +} + +/// A graph is a tuple `(N, E)`, where `N` is a set of nodes and `E` a set of +/// edges. Each edge connects exactly two nodes. +/// +/// `Graph` is parameterized over the node index type `Node` which is used to +/// uniquely identify a node. An edge is a tuple of node identifiers. +pub trait Graph { + /// Returns the number of nodes in the graph. + fn node_count(&self) -> NI; + + /// Returns the number of edges in the graph. + fn edge_count(&self) -> NI; +} + +/// A graph that allows storing a value per node. +pub trait NodeValues { + fn node_value(&self, node: NI) -> &NV; +} + +pub trait UndirectedDegrees { + /// Returns the number of edges connected to the given node. + fn degree(&self, node: NI) -> NI; +} + +/// Returns the neighbors of a given node. +/// +/// The edge `(42, 1337)` is equivalent to the edge `(1337, 42)`. +pub trait UndirectedNeighbors { + type NeighborsIterator<'a>: Iterator + where + Self: 'a; + + /// Returns an iterator of all nodes connected to the given node. + fn neighbors(&self, node: NI) -> Self::NeighborsIterator<'_>; +} + +/// Returns the neighbors of a given node. +/// +/// The edge `(42, 1337)` is equivalent to the edge `(1337, 42)`. +pub trait UndirectedNeighborsWithValues { + type NeighborsIterator<'a>: Iterator> + where + Self: 'a, + EV: 'a; + + /// Returns an iterator of all nodes connected to the given node + /// including the value of the connecting edge. + fn neighbors_with_values(&self, node: NI) -> Self::NeighborsIterator<'_>; +} + +pub trait DirectedDegrees { + /// Returns the number of edges where the given node is a source node. + fn out_degree(&self, node: NI) -> NI; + + /// Returns the number of edges where the given node is a target node. + fn in_degree(&self, node: NI) -> NI; +} + +/// Returns the neighbors of a given node either in outgoing or incoming direction. +/// +/// An edge tuple `e = (u, v)` has a source node `u` and a target node `v`. From +/// the perspective of `u`, the edge `e` is an **outgoing** edge. From the +/// perspective of node `v`, the edge `e` is an **incoming** edge. The edges +/// `(u, v)` and `(v, u)` are not considered equivalent. +pub trait DirectedNeighbors { + type NeighborsIterator<'a>: Iterator + where + Self: 'a; + + /// Returns an iterator of all nodes which are connected in outgoing direction + /// to the given node, i.e., the given node is the source node of the + /// connecting edge. + fn out_neighbors(&self, node: NI) -> Self::NeighborsIterator<'_>; + + /// Returns an iterator of all nodes which are connected in incoming direction + /// to the given node, i.e., the given node is the target node of the + /// connecting edge. + fn in_neighbors(&self, node: NI) -> Self::NeighborsIterator<'_>; +} + +/// Returns the neighbors of a given node either in outgoing or incoming direction. +/// +/// An edge tuple `e = (u, v)` has a source node `u` and a target node `v`. From +/// the perspective of `u`, the edge `e` is an **outgoing** edge. From the +/// perspective of node `v`, the edge `e` is an **incoming** edge. The edges +/// `(u, v)` and `(v, u)` are not considered equivale +pub trait DirectedNeighborsWithValues { + type NeighborsIterator<'a>: Iterator> + where + Self: 'a, + EV: 'a; + + /// Returns an iterator of all nodes which are connected in outgoing direction + /// to the given node, i.e., the given node is the source node of the + /// connecting edge. For each connected node, the value of the connecting + /// edge is also returned. + fn out_neighbors_with_values(&self, node: NI) -> Self::NeighborsIterator<'_>; + + /// Returns an iterator of all nodes which are connected in incoming direction + /// to the given node, i.e., the given node is the target node of the + /// connecting edge. For each connected node, the value of the connecting + /// edge is also returned. + fn in_neighbors_with_values(&self, node: NI) -> Self::NeighborsIterator<'_>; +} + +#[repr(transparent)] +pub struct SharedMut(*mut T); +unsafe impl Send for SharedMut {} +unsafe impl Sync for SharedMut {} + +impl SharedMut { + pub fn new(ptr: *mut T) -> Self { + SharedMut(ptr) + } + + delegate::delegate! { + to self.0 { + /// # Safety + /// + /// Ensure that `count` does not exceed the capacity of the Vec. + pub unsafe fn add(&self, count: usize) -> *mut T; + } + } +} \ No newline at end of file diff --git a/packages/graph-rust/src/graph_builder/prelude.rs b/packages/graph-rust/src/graph_builder/prelude.rs new file mode 100644 index 0000000..a6a225c --- /dev/null +++ b/packages/graph-rust/src/graph_builder/prelude.rs @@ -0,0 +1,32 @@ +pub use super::builder::GraphBuilder; + +pub use super::graph::csr::CsrLayout; +pub use super::graph::csr::DirectedCsrGraph; +pub use super::graph::csr::Target; +pub use super::graph::csr::UndirectedCsrGraph; + +pub use super::graph_ops::DegreePartitionOp; +pub use super::graph_ops::DeserializeGraphOp; +pub use super::graph_ops::ForEachNodeParallelByPartitionOp; +pub use super::graph_ops::ForEachNodeParallelOp; +pub use super::graph_ops::InDegreePartitionOp; +pub use super::graph_ops::OutDegreePartitionOp; +pub use super::graph_ops::RelabelByDegreeOp; +pub use super::graph_ops::SerializeGraphOp; +pub use super::graph_ops::ToUndirectedOp; + +pub use super::index::Idx; +pub use atomic::Atomic; + +pub use super::input::*; + +pub use super::DirectedDegrees; +pub use super::DirectedNeighbors; +pub use super::DirectedNeighborsWithValues; +pub use super::Graph; +pub use super::NodeValues; +pub use super::UndirectedDegrees; +pub use super::UndirectedNeighbors; +pub use super::UndirectedNeighborsWithValues; + +pub use super::Error; \ No newline at end of file diff --git a/packages/graph-rust/src/lib.rs b/packages/graph-rust/src/lib.rs index 63d2d12..e18da0b 100644 --- a/packages/graph-rust/src/lib.rs +++ b/packages/graph-rust/src/lib.rs @@ -2,5 +2,6 @@ pub mod page_rank; pub mod prelude; pub mod sssp; pub mod utils; +pub mod graph_builder; const DEFAULT_PARALLELISM: usize = 4; diff --git a/packages/graph-rust/src/page_rank.rs b/packages/graph-rust/src/page_rank.rs index dde9605..735ffdd 100644 --- a/packages/graph-rust/src/page_rank.rs +++ b/packages/graph-rust/src/page_rank.rs @@ -1,11 +1,10 @@ -use crate::{prelude::*, DEFAULT_PARALLELISM}; +use super::graph_builder::{prelude::*, SharedMut}; +use crate::DEFAULT_PARALLELISM; use atomic_float::AtomicF64; -use graph_builder::SharedMut; use rayon::prelude::*; use std::sync::atomic::Ordering; -use std::thread::available_parallelism; const CHUNK_SIZE: usize = 16384; @@ -36,7 +35,7 @@ impl Default for PageRankConfig { } impl PageRankConfig { - pub const DEFAULT_MAX_ITERATIONS: usize = 20; + pub const DEFAULT_MAX_ITERATIONS: usize = 1000; pub const DEFAULT_TOLERANCE: f64 = 1E-4; pub const DEFAULT_DAMPING_FACTOR: f32 = 0.85; @@ -110,11 +109,11 @@ where let next_chunk = Atomic::new(NI::zero()); let total_error = AtomicF64::new(0_f64); - std::thread::scope(|s| { - let num_threads = available_parallelism().map_or(DEFAULT_PARALLELISM, |p| p.get()); + rayon::scope(|s| { + let num_threads = DEFAULT_PARALLELISM; for _ in 0..num_threads { - s.spawn(|| { + s.spawn(|_| { let mut error = 0_f64; loop { @@ -152,33 +151,3 @@ where total_error.load(Ordering::SeqCst) } - -#[cfg(test)] -mod tests { - use super::*; - use crate::prelude::{CsrLayout, GraphBuilder}; - - #[test] - fn test_pr_two_components() { - let gdl = "(a)-->()-->()<--(a),(b)-->()-->()<--(b)"; - - let graph: DirectedCsrGraph = GraphBuilder::new() - .csr_layout(CsrLayout::Sorted) - .gdl_str::(gdl) - .build() - .unwrap(); - - let (scores, _, _) = page_rank(&graph, PageRankConfig::default()); - - let expected: Vec = vec![ - 0.024999997, - 0.035624996, - 0.06590624, - 0.024999997, - 0.035624996, - 0.06590624, - ]; - - assert_eq!(scores, expected); - } -} diff --git a/packages/graph-rust/src/prelude.rs b/packages/graph-rust/src/prelude.rs index 836519f..541de1d 100644 --- a/packages/graph-rust/src/prelude.rs +++ b/packages/graph-rust/src/prelude.rs @@ -2,4 +2,4 @@ pub use crate::page_rank::*; pub use crate::sssp::*; pub use crate::utils::*; -pub use graph_builder::prelude::*; +pub use super::graph_builder::prelude::*; diff --git a/packages/graph-rust/src/sssp.rs b/packages/graph-rust/src/sssp.rs index 29add5c..ea95035 100644 --- a/packages/graph-rust/src/sssp.rs +++ b/packages/graph-rust/src/sssp.rs @@ -262,42 +262,3 @@ where self.bins[bin].push(val); } } - -#[cfg(test)] -mod tests { - use super::*; - use crate::prelude::{CsrLayout, GraphBuilder}; - - #[test] - fn test_sssp() { - let gdl = "(a:A) - (b:B) - (c:C) - (d:D) - (e:E) - (f:F) - (a)-[{cost: 4.0 }]->(b) - (a)-[{cost: 2.0 }]->(c) - (b)-[{cost: 5.0 }]->(c) - (b)-[{cost: 10.0 }]->(d) - (c)-[{cost: 3.0 }]->(e) - (d)-[{cost: 11.0 }]->(f) - (e)-[{cost: 4.0 }]->(d)"; - - let graph: DirectedCsrGraph = GraphBuilder::new() - .csr_layout(CsrLayout::Deduplicated) - .gdl_str::(gdl) - .build() - .unwrap(); - - let config = DeltaSteppingConfig::new(0, 3.0); - - let actual: Vec = delta_stepping(&graph, config) - .into_iter() - .map(|d| d.load(Ordering::Relaxed)) - .collect(); - let expected: Vec = vec![0.0, 4.0, 2.0, 9.0, 5.0, 20.0]; - - assert_eq!(actual, expected); - } -} diff --git a/packages/graph-wasm/Cargo.lock b/packages/graph-wasm/Cargo.lock index d27fd0a..b3a6368 100644 --- a/packages/graph-wasm/Cargo.lock +++ b/packages/graph-wasm/Cargo.lock @@ -6,10 +6,25 @@ version = 3 name = "antv-graph" version = "0.0.1" dependencies = [ + "atoi", + "atomic", "atomic_float", - "graph_builder", + "byte-slice-cast", + "dashmap", + "delegate", + "fast-float", + "fxhash", + "linereader", + "log", + "memmap2", + "num", + "num-format", + "num_cpus", + "page_size", + "parking_lot", "rayon", "serde", + "thiserror", ] [[package]] @@ -30,9 +45,9 @@ dependencies = [ [[package]] name = "arrayvec" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "atoi" @@ -208,31 +223,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "graph_builder" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bed82dbbf80a458a59ee9fa11b03e194e1429b36d94da2ac59356b44eb926d7" -dependencies = [ - "atoi", - "atomic", - "byte-slice-cast", - "dashmap", - "delegate", - "fast-float", - "fxhash", - "linereader", - "log", - "memmap2", - "num", - "num-format", - "num_cpus", - "page_size", - "parking_lot", - "rayon", - "thiserror", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -280,9 +270,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" dependencies = [ "autocfg", "scopeguard", @@ -448,31 +438,31 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-targets", ] [[package]] name = "proc-macro2" -version = "1.0.59" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b" +checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.28" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" dependencies = [ "proc-macro2", ] @@ -501,9 +491,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.16" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ "bitflags", ] @@ -548,7 +538,7 @@ checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.25", ] [[package]] @@ -564,9 +554,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "spmc" @@ -587,9 +577,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.18" +version = "2.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" +checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2" dependencies = [ "proc-macro2", "quote", @@ -598,22 +588,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.25", ] [[package]] @@ -651,7 +641,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.25", "wasm-bindgen-shared", ] @@ -673,7 +663,7 @@ checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.25", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -730,20 +720,11 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets", -] - [[package]] name = "windows-targets" -version = "0.42.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", @@ -756,42 +737,42 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" [[package]] name = "windows_aarch64_msvc" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" [[package]] name = "windows_i686_gnu" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" [[package]] name = "windows_i686_msvc" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" [[package]] name = "windows_x86_64_gnu" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" [[package]] name = "windows_x86_64_msvc" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" diff --git a/packages/graph-wasm/README.md b/packages/graph-wasm/README.md index 43694a9..0d90557 100644 --- a/packages/graph-wasm/README.md +++ b/packages/graph-wasm/README.md @@ -5,6 +5,8 @@ A WASM binding of `@antv/graph-rust`. We used [wasm-bindgen-rayon](https://githu - [Use with Webpack](#webpack) - [Use with Vite](#vite) +![pagerank](https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*klB7TKFwbskAAAAAAAAAAAAADmJ7AQ/original) + ## Usage Since [cross origin workers are blocked](https://stackoverflow.com/questions/58098143/why-are-cross-origin-workers-blocked-and-why-is-the-workaround-ok/60015898#60015898), we do not recommand the UMD way of using it for now. You can opt to ESM usage with bundler such as [Webpack](#webpack) or [Vite](#vite). @@ -90,9 +92,9 @@ If you can't control the server, try this hacky workaround which implemented wit ### PageRank -* `tolerance` Set the tolerance the approximation, this parameter should be a small magnitude value. The lower the tolerance the better the approximation. +* `tolerance` Set the tolerance the approximation, this parameter should be a small magnitude value. The lower the tolerance the better the approximation. The default value is 0.0001. * `alpha` The damping factor alpha represents the probability to follow an outgoing edge, standard value is 0.85. -* `maxIterations` Set the maximum number of iterations. +* `maxIterations` Set the maximum number of iterations. The default value is 1000. ### SSSP diff --git a/packages/graph-wasm/package.json b/packages/graph-wasm/package.json index 9ff17cd..383fcee 100644 --- a/packages/graph-wasm/package.json +++ b/packages/graph-wasm/package.json @@ -38,14 +38,5 @@ "comlink": "^4.3.1", "wasm-feature-detect": "^1.2.10", "tslib": "^2.5.0" - }, - "devDependencies": { - "cross-env": "^7.0.3", - "npm-run-all": "^4.1.5", - "rimraf": "^3.0.2", - "ts-loader": "^7.0.3", - "typescript": "^4.0.3", - "webpack": "^5.38.1", - "webpack-cli": "^5.0.2" } } diff --git a/packages/graph-wasm/rust-src/lib.rs b/packages/graph-wasm/rust-src/lib.rs index 722725d..62d7ca1 100644 --- a/packages/graph-wasm/rust-src/lib.rs +++ b/packages/graph-wasm/rust-src/lib.rs @@ -2,6 +2,7 @@ use std::sync::atomic::Ordering; use antv_graph::prelude::*; use js_sys::Array; use wasm_bindgen::prelude::*; +use serde::{Deserialize, Serialize}; #[cfg(feature = "parallel")] pub use wasm_bindgen_rayon::init_thread_pool; @@ -15,45 +16,23 @@ pub fn start() { console_error_panic_hook::set_once(); } -#[wasm_bindgen(js_name = "sssp")] -pub fn sssp(val: JsValue) -> Array { - let graph: DirectedCsrGraph = GraphBuilder::new().edges_with_values(vec![]).build(); - let config = DeltaSteppingConfig::new(0, 3.0); - let result: Vec = antv_graph::prelude::delta_stepping(&graph, config).into_iter() - .map(|d| d.load(Ordering::Relaxed)) - .collect(); - result.into_iter().map(JsValue::from).collect() +#[derive(Serialize, Deserialize)] +pub struct PageRankParams { + pub max_iterations: usize, + pub tolerance: f64, + pub damping_factor: f32, + pub edgelist: Vec<(usize, usize)>, } #[wasm_bindgen(js_name = "pageRank")] pub fn page_rank(val: JsValue) -> Array { - let options: PageRankConfig = serde_wasm_bindgen::from_value(val).unwrap(); + let options: PageRankParams = serde_wasm_bindgen::from_value(val).unwrap(); let graph: DirectedCsrGraph = GraphBuilder::new() - .edges(vec![ - (1, 2), // B->C - (2, 1), // C->B - (4, 0), // D->A - (4, 1), // D->B - (5, 4), // E->D - (5, 1), // E->B - (5, 6), // E->F - (6, 1), // F->B - (6, 5), // F->E - (7, 1), // G->B - (7, 5), // F->E - (8, 1), // G->B - (8, 5), // G->E - (9, 1), // H->B - (9, 5), // H->E - (10, 1), // I->B - (10, 5), // I->E - (11, 5), // J->B - (12, 5), // K->B - ]) + .edges(options.edgelist) .build(); - let (ranks, iterations, _) = antv_graph::prelude::page_rank( + let (ranks, _, _) = antv_graph::prelude::page_rank( &graph, PageRankConfig::new( options.max_iterations, @@ -65,3 +44,22 @@ pub fn page_rank(val: JsValue) -> Array { // @see https://stackoverflow.com/a/58996628 ranks.into_iter().map(JsValue::from).collect() } + +#[derive(Serialize, Deserialize)] +pub struct SSSPParams { + pub start_node: usize, + pub delta: f32, + pub edgelist: Vec<(usize, usize, f32)>, +} + +#[wasm_bindgen(js_name = "sssp")] +pub fn sssp(val: JsValue) -> Array { + let options: SSSPParams = serde_wasm_bindgen::from_value(val).unwrap(); + + let graph: DirectedCsrGraph = GraphBuilder::new().edges_with_values(options.edgelist).build(); + let config = DeltaSteppingConfig::new(options.start_node, options.delta); + let result: Vec = antv_graph::prelude::delta_stepping(&graph, config).into_iter() + .map(|d| d.load(Ordering::Relaxed)) + .collect(); + result.into_iter().map(JsValue::from).collect() +} diff --git a/packages/graph-wasm/src/interface.ts b/packages/graph-wasm/src/interface.ts index 6ce1c7c..960ce97 100644 --- a/packages/graph-wasm/src/interface.ts +++ b/packages/graph-wasm/src/interface.ts @@ -1,3 +1,23 @@ +export interface PageRankParams { + maxIterations?: number; + alpha?: number; + tolerance?: number; + /** + * [source, target] + */ + edgelist: [number, number][]; +} + +export interface SSSPParams { + startNode?: number; + delta?: number; + /** + * [source, target, weight] + */ + edgelist: [number, number, number][]; +} + export interface Threads { - page_rank: (options: any) => Promise<{ ranks: number[] }>; + pageRank: (options: PageRankParams) => Promise; + sssp: (options: SSSPParams) => Promise<{ ranks: number[] }>; } diff --git a/packages/graph-wasm/src/wasm-worker.js b/packages/graph-wasm/src/wasm-worker.js index 3103352..fc3e785 100644 --- a/packages/graph-wasm/src/wasm-worker.js +++ b/packages/graph-wasm/src/wasm-worker.js @@ -1,29 +1,39 @@ import * as Comlink from 'comlink'; -const DEFAULT_PAGE_RANK_OPTIONS = { - max_iterations: 10, - tolerance: 0.0001, - damping_factor: 0.85, +const wrapTransferPageRank = pageRank => { + return options => { + const params = { + max_iterations: options.maxIterations || 1000, + tolerance: options.tolerance || 0.0001, + damping_factor: options.alpha || 0.85, + edgelist: options.edgelist + }; + + const ranks = pageRank(params); + + return Comlink.transfer(ranks, []); + }; }; -const wrapTransfer = page_rank => { +const wrapTransferSSSP = sssp => { return options => { - const ranks = page_rank({ - ...DEFAULT_PAGE_RANK_OPTIONS, - ...options, - }); - - return { - // Little perf boost to transfer data to the main thread w/o copying. - ranks: Comlink.transfer(ranks, [ranks]), + const params = { + start_node: options.startNode || 0, + delta: options.delta || 3, + edgelist: options.edgelist }; + + const ranks = sssp(params); + + return Comlink.transfer(ranks, []); }; }; // Wrap wasm-bindgen exports (the `generate` function) to add time measurement. -function wrapExports({ page_rank }) { +function wrapExports({ pageRank, sssp }) { return { - pageRank: wrapTransfer(page_rank), + pageRank: wrapTransferPageRank(pageRank), + sssp: wrapTransferSSSP(sssp), }; } diff --git a/packages/graph-wasm/tsconfig.json b/packages/graph-wasm/tsconfig.json index 02c8ba0..6663048 100644 --- a/packages/graph-wasm/tsconfig.json +++ b/packages/graph-wasm/tsconfig.json @@ -1,4 +1,5 @@ { + "extends": "../../tsconfig.json", "compilerOptions": { "rootDir": "./src", "composite": true, diff --git a/packages/graph/package.json b/packages/graph/package.json index b9096a6..ea5fecb 100644 --- a/packages/graph/package.json +++ b/packages/graph/package.json @@ -42,12 +42,7 @@ "@babel/core": "^7.7.7", "@babel/plugin-proposal-class-properties": "^7.1.0", "@types/d3-force": "^3.0.4", - "babel-loader": "^8.0.6", - "ts-loader": "^7.0.3", - "typescript": "^4.0.3", - "webpack": "^5.38.1", - "webpack-cli": "^5.0.2", - "worker-loader": "^3.0.7" + "babel-loader": "^8.0.6" }, "dependencies": { "@antv/util": "^2.0.13", diff --git a/packages/graph/src/pageRank.ts b/packages/graph/src/pageRank.ts index d18d38f..f2e63db 100644 --- a/packages/graph/src/pageRank.ts +++ b/packages/graph/src/pageRank.ts @@ -1,31 +1,37 @@ import { ID } from "@antv/graphlib"; import { Graph } from "./types"; +interface Params { + alpha: number; + maxIterations: number; + tolerance: number; +} + /** * PageRank https://en.wikipedia.org/wiki/PageRank * refer: https://github.com/anvaka/ngraph.pagerank * @param graph - * @param tolerance - * @param alpha - * @param maxIterations + * @param params */ export const pageRank = ( graph: Graph, - tolerance = 1e-5, - alpha = 0.85, - maxIterations = 1000 -): { id: ID; score: number }[] => { + params?: Params, +): Record => { + const { + tolerance = 1e-5, + alpha = 0.85, + maxIterations = 1000 + } = params || {}; + let distance = 1; let leakedRank = 0; const nodes = graph.getAllNodes(); - const edges = graph.getAllEdges(); const nodesCount = nodes.length; let currentRank: number; const curRanks: Record = {}; const prevRanks: Record = {}; - // Initialize pageranks 初始化 for (let j = 0; j < nodesCount; ++j) { const node = nodes[j]; const nodeId = node.id; @@ -33,21 +39,21 @@ export const pageRank = ( prevRanks[nodeId] = 1 / nodesCount; } - const nodeDegree = degree(graphData); - while (maxIterations > 0 && distance > tolerance) { + let iterations = maxIterations; + while (iterations > 0 && distance > tolerance) { leakedRank = 0; for (let j = 0; j < nodesCount; ++j) { const node = nodes[j]; const nodeId = node.id; currentRank = 0; - if (nodeDegree[node.id].inDegree === 0) { + if (graph.getDegree(nodeId, 'in') === 0) { curRanks[nodeId] = 0; } else { const neighbors = graph.getRelatedEdges(nodeId, "in"); for (let i = 0; i < neighbors.length; ++i) { const neighbor = neighbors[i]; - const outDegree: number = nodeDegree[neighbor].outDegree; - if (outDegree > 0) currentRank += prevRanks[neighbor] / outDegree; + const outDegree: number = graph.getDegree(neighbor.source, 'out'); + if (outDegree > 0) currentRank += prevRanks[neighbor.source] / outDegree; } curRanks[nodeId] = alpha * currentRank; leakedRank += curRanks[nodeId]; @@ -63,7 +69,7 @@ export const pageRank = ( distance += Math.abs(currentRank - prevRanks[nodeId]); prevRanks[nodeId] = currentRank; } - maxIterations -= 1; + iterations -= 1; } return prevRanks; diff --git a/packages/graph/tests/unit/adjacent-matrix-async-spec.ts b/packages/graph/tests/unit/adjacent-matrix-async-spec.ts deleted file mode 100644 index ccdd4a7..0000000 --- a/packages/graph/tests/unit/adjacent-matrix-async-spec.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { getAlgorithm } from './utils'; - -const data = { - nodes: [ - { - id: 'A', - label: '0', - }, - { - id: 'B', - label: '1', - }, - { - id: 'C', - label: '2', - }, - { - id: 'D', - label: '3', - }, - { - id: 'E', - label: '4', - }, - { - id: 'F', - label: '5', - }, - { - id: 'G', - label: '6', - }, - { - id: 'H', - label: '7', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'C', - target: 'G', - }, - { - source: 'A', - target: 'D', - }, - { - source: 'A', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - ], -}; - -describe('(Async) Adjacency Matrix', () => { - it('undirected', async () => { - const { getAdjMatrixAsync } = await getAlgorithm(); - const matrix = await getAdjMatrixAsync(data); - expect(Object.keys(matrix).length).toBe(8); - const node0Adj = matrix[0]; - expect(node0Adj.length).toBe(5); - expect(node0Adj[0]).toBe(undefined); - expect(node0Adj[1]).toBe(1); - expect(node0Adj[2]).toBe(undefined); - expect(node0Adj[3]).toBe(1); - expect(node0Adj[4]).toBe(1); - - const node1Adj = matrix[1]; - expect(node1Adj.length).toBe(3); - expect(node1Adj[0]).toBe(1); - expect(node1Adj[1]).toBe(undefined); - expect(node1Adj[2]).toBe(1); - - const node5Adj = matrix[5]; - expect(node5Adj.length).toBe(5); - expect(node5Adj[0]).toBe(undefined); - expect(node5Adj[1]).toBe(undefined); - expect(node5Adj[2]).toBe(undefined); - expect(node5Adj[3]).toBe(1); - expect(node5Adj[4]).toBe(1); - }); - - it('directed', async () => { - const { getAdjMatrixAsync } = await getAlgorithm(); - const matrix = await getAdjMatrixAsync(data, true); - expect(Object.keys(matrix).length).toBe(8); - const node0Adj = matrix[0]; - expect(node0Adj.length).toBe(5); - expect(node0Adj[0]).toBe(undefined); - expect(node0Adj[1]).toBe(1); - expect(node0Adj[2]).toBe(undefined); - expect(node0Adj[3]).toBe(1); - expect(node0Adj[4]).toBe(1); - - const node1Adj = matrix[1]; - expect(node1Adj.length).toBe(3); - expect(node1Adj[0]).toBe(undefined); - expect(node1Adj[1]).toBe(undefined); - expect(node1Adj[2]).toBe(1); - }); -}); diff --git a/packages/graph/tests/unit/adjacent-matrix-spec.ts b/packages/graph/tests/unit/adjacent-matrix-spec.ts deleted file mode 100644 index ec485a8..0000000 --- a/packages/graph/tests/unit/adjacent-matrix-spec.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { getAdjMatrix } from '../../src'; - -const data = { - nodes: [ - { - id: 'A', - label: '0', - }, - { - id: 'B', - label: '1', - }, - { - id: 'C', - label: '2', - }, - { - id: 'D', - label: '3', - }, - { - id: 'E', - label: '4', - }, - { - id: 'F', - label: '5', - }, - { - id: 'G', - label: '6', - }, - { - id: 'H', - label: '7', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'C', - target: 'G', - }, - { - source: 'A', - target: 'D', - }, - { - source: 'A', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - ], -}; - -describe('Adjacency Matrix', () => { - it('undirected', () => { - const matrix = getAdjMatrix(data); - expect(Object.keys(matrix).length).toBe(8); - const node0Adj = matrix[0]; - expect(node0Adj.length).toBe(5); - expect(node0Adj[0]).toBe(undefined); - expect(node0Adj[1]).toBe(1); - expect(node0Adj[2]).toBe(undefined); - expect(node0Adj[3]).toBe(1); - expect(node0Adj[4]).toBe(1); - - const node1Adj = matrix[1]; - expect(node1Adj.length).toBe(3); - expect(node1Adj[0]).toBe(1); - expect(node1Adj[1]).toBe(undefined); - expect(node1Adj[2]).toBe(1); - - const node5Adj = matrix[5]; - expect(node5Adj.length).toBe(5); - expect(node5Adj[0]).toBe(undefined); - expect(node5Adj[1]).toBe(undefined); - expect(node5Adj[2]).toBe(undefined); - expect(node5Adj[3]).toBe(1); - expect(node5Adj[4]).toBe(1); - }); - - it('directed', () => { - const matrix = getAdjMatrix(data, true); - expect(Object.keys(matrix).length).toBe(8); - const node0Adj = matrix[0]; - expect(node0Adj.length).toBe(5); - expect(node0Adj[0]).toBe(undefined); - expect(node0Adj[1]).toBe(1); - expect(node0Adj[2]).toBe(undefined); - expect(node0Adj[3]).toBe(1); - expect(node0Adj[4]).toBe(1); - - const node1Adj = matrix[1]; - expect(node1Adj.length).toBe(3); - expect(node1Adj[0]).toBe(undefined); - expect(node1Adj[1]).toBe(undefined); - expect(node1Adj[2]).toBe(1); - }); -}); diff --git a/packages/graph/tests/unit/bfs-spec.ts b/packages/graph/tests/unit/bfs-spec.ts deleted file mode 100644 index 68a5c8c..0000000 --- a/packages/graph/tests/unit/bfs-spec.ts +++ /dev/null @@ -1,175 +0,0 @@ -import { breadthFirstSearch } from '../../src'; - -const data = { - nodes: [ - { - id: 'A', - }, - { - id: 'B', - }, - { - id: 'C', - }, - { - id: 'D', - }, - { - id: 'E', - }, - { - id: 'F', - }, - { - id: 'G', - }, - { - id: 'H', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'C', - target: 'G', - }, - { - source: 'A', - target: 'D', - }, - { - source: 'A', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - ], -}; - -describe('breadthFirstSearch', () => { - it('should perform BFS operation on graph', () => { - const enterNodeCallback = jest.fn(); - const leaveNodeCallback = jest.fn(); - - // Traverse graphs without callbacks first. - breadthFirstSearch(data, 'A'); - - // Traverse graph with enterNode and leaveNode callbacks. - breadthFirstSearch(data, 'A', { - enter: enterNodeCallback, - leave: leaveNodeCallback, - }); - - expect(enterNodeCallback).toHaveBeenCalledTimes(7); - expect(leaveNodeCallback).toHaveBeenCalledTimes(7); - - const nodeA = 'A'; - const nodeB = 'B'; - const nodeC = 'C'; - const nodeD = 'D'; - const nodeE = 'E'; - const nodeF = 'F'; - const nodeG = 'G'; - - const enterNodeParamsMap = [ - { currentNode: nodeA, previousNode: '' }, - { currentNode: nodeB, previousNode: nodeA }, - { currentNode: nodeD, previousNode: nodeB }, - { currentNode: nodeE, previousNode: nodeD }, - { currentNode: nodeC, previousNode: nodeE }, - { currentNode: nodeF, previousNode: nodeC }, - { currentNode: nodeG, previousNode: nodeF }, - ]; - - for (let callIndex = 0; callIndex < 6; callIndex += 1) { - const params = enterNodeCallback.mock.calls[callIndex][0]; - expect(params.current).toEqual(enterNodeParamsMap[callIndex].currentNode); - expect(params.previous).toEqual( - enterNodeParamsMap[callIndex].previousNode && - enterNodeParamsMap[callIndex].previousNode, - ); - } - - const leaveNodeParamsMap = [ - { currentNode: nodeA, previousNode: '' }, - { currentNode: nodeB, previousNode: nodeA }, - { currentNode: nodeD, previousNode: nodeB }, - { currentNode: nodeE, previousNode: nodeD }, - { currentNode: nodeC, previousNode: nodeE }, - { currentNode: nodeF, previousNode: nodeC }, - { currentNode: nodeG, previousNode: nodeF }, - ]; - - for (let callIndex = 0; callIndex < 6; callIndex += 1) { - const params = leaveNodeCallback.mock.calls[callIndex][0]; - expect(params.current).toEqual(leaveNodeParamsMap[callIndex].currentNode); - expect(params.previous).toEqual( - leaveNodeParamsMap[callIndex].previousNode && - leaveNodeParamsMap[callIndex].previousNode, - ); - } - }); - - it('should allow to create custom node visiting logic', () => { - - const enterNodeCallback = jest.fn(); - const leaveNodeCallback = jest.fn(); - - // Traverse graph with enterNode and leaveNode callbacks. - breadthFirstSearch(data, 'A', { - enter: enterNodeCallback, - leave: leaveNodeCallback, - allowTraversal: ({ current, next }) => { - return !(current === 'A' && next === 'B'); - }, - }); - - expect(enterNodeCallback).toHaveBeenCalledTimes(5); - expect(leaveNodeCallback).toHaveBeenCalledTimes(5); - - const enterNodeParamsMap = [ - { currentNode: 'A', previousNode: '' }, - { currentNode: 'D', previousNode: 'A' }, - { currentNode: 'E', previousNode: 'D' }, - { currentNode: 'F', previousNode: 'E' }, - { currentNode: 'D', previousNode: 'F' }, - ]; - - for (let callIndex = 0; callIndex < 5; callIndex += 1) { - const params = enterNodeCallback.mock.calls[callIndex][0]; - expect(params.current).toEqual(enterNodeParamsMap[callIndex].currentNode); - expect(params.previous).toEqual( - enterNodeParamsMap[callIndex].previousNode, - ); - } - - const leaveNodeParamsMap = [ - { currentNode: 'A', previousNode: '' }, - { currentNode: 'D', previousNode: 'A' }, - { currentNode: 'E', previousNode: 'D' }, - { currentNode: 'F', previousNode: 'E' }, - { currentNode: 'D', previousNode: 'F' }, - ]; - - for (let callIndex = 0; callIndex < 5; callIndex += 1) { - const params = leaveNodeCallback.mock.calls[callIndex][0]; - expect(params.current).toEqual(leaveNodeParamsMap[callIndex].currentNode); - expect(params.previous).toEqual( - leaveNodeParamsMap[callIndex].previousNode, - ); - } - }); -}); diff --git a/packages/graph/tests/unit/connected-component-async-spec.ts b/packages/graph/tests/unit/connected-component-async-spec.ts deleted file mode 100644 index bea990a..0000000 --- a/packages/graph/tests/unit/connected-component-async-spec.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { getAlgorithm } from './utils'; - -const data = { - nodes: [ - { - id: 'A', - }, - { - id: 'B', - }, - { - id: 'C', - }, - { - id: 'D', - }, - { - id: 'E', - }, - { - id: 'F', - }, - { - id: 'G', - }, - { - id: 'H', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'A', - target: 'C', - }, - { - source: 'D', - target: 'A', - }, - { - source: 'D', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - { - source: 'G', - target: 'H', - }, - { - source: 'H', - target: 'G', - }, - ], -}; - -describe('(Async) find connected components', () => { - it('detect strongly connected components in undirected graph', async done => { - const { connectedComponentAsync } = await getAlgorithm(); - let result = await connectedComponentAsync(data, false); - expect(result.length).toEqual(2); - expect(result[0].map(node => node.id).sort()).toEqual(['A', 'B', 'C', 'D', 'E', 'F']); - expect(result[1].map(node => node.id).sort()).toEqual(['G', 'H']); - done(); - }); - - it('detect strongly connected components in directed graph', async done => { - const { connectedComponentAsync } = await getAlgorithm(); - let result = await connectedComponentAsync(data, true); - expect(result.length).toEqual(5); - expect(result[3].map(node => node.id).sort()).toEqual(['D', 'E', 'F']); - expect(result[4].map(node => node.id).sort()).toEqual(['G', 'H']); - done(); - }); - - it('test connected components detection performance using large graph', async done => { - fetch('https://gw.alipayobjects.com/os/basement_prod/da5a1b47-37d6-44d7-8d10-f3e046dabf82.json') - .then(res => res.json()) - .then(async data => { - const { connectedComponentAsync } = await getAlgorithm(); - - data.nodes.forEach(node => { - node.label = node.olabel; - node.degree = 0; - data.edges.forEach(edge => { - if (edge.source === node.id || edge.target === node.id) { - node.degree++; - } - }); - }); - - let directedComps = await connectedComponentAsync(data, true); - let undirectedComps = await connectedComponentAsync(data, false); - expect(directedComps.length).toEqual(1589); - expect(undirectedComps.length).toEqual(396); - done(); - }); - }); -}); diff --git a/packages/graph/tests/unit/connected-component-spec.ts b/packages/graph/tests/unit/connected-component-spec.ts deleted file mode 100644 index abf7346..0000000 --- a/packages/graph/tests/unit/connected-component-spec.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { connectedComponent } from '../../src' - -const data = { - nodes: [ - { - id: 'A', - }, - { - id: 'B', - }, - { - id: 'C', - }, - { - id: 'D', - }, - { - id: 'E', - }, - { - id: 'F', - }, - { - id: 'G', - }, - { - id: 'H', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'A', - target: 'C', - }, - { - source: 'D', - target: 'A', - }, - { - source: 'D', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - { - source: 'G', - target: 'H', - }, - { - source: 'H', - target: 'G', - }, - ], -}; - -describe('find connected components', () => { - - it('detect strongly connected components in undirected graph', () => { - let result = connectedComponent(data, false); - expect(result.length).toEqual(2); - expect(result[0].map((node) => node.id).sort()).toEqual(['A', 'B', 'C', 'D', 'E', 'F']); - expect(result[1].map((node) => node.id).sort()).toEqual(['G', 'H']); - }); - - it('detect strongly connected components in directed graph', () => { - let result = connectedComponent(data, true); - expect(result.length).toEqual(5); - expect(result[3].map((node) => node.id).sort()).toEqual(['D', 'E', 'F']); - expect(result[4].map((node) => node.id).sort()).toEqual(['G', 'H']); - }); - - it('test connected components detection performance using large graph', () => { - fetch('https://gw.alipayobjects.com/os/basement_prod/da5a1b47-37d6-44d7-8d10-f3e046dabf82.json') - .then((res) => res.json()) - .then((data) => { - data.nodes.forEach((node) => { - node.label = node.olabel; - node.degree = 0; - data.edges.forEach((edge) => { - if (edge.source === node.id || edge.target === node.id) { - node.degree++; - } - }); - }); - - let directedComps = connectedComponent(data, true); - let undirectedComps = connectedComponent(data, false); - expect(directedComps.length).toEqual(1589); - expect(undirectedComps.length).toEqual(396); - }); - }); -}); diff --git a/packages/graph/tests/unit/cosineSimilarity-spec.ts b/packages/graph/tests/unit/cosineSimilarity-spec.ts deleted file mode 100644 index 3824680..0000000 --- a/packages/graph/tests/unit/cosineSimilarity-spec.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { cosineSimilarity } from '../../src'; - -describe('cosineSimilarity abnormal demo: ', () => { - it('item contains only zeros: ', () => { - const item = [0, 0, 0]; - const targetTtem = [3, 1, 1]; - const cosineSimilarityValue = cosineSimilarity(item, targetTtem); - expect(cosineSimilarityValue).toBe(0); - }); - it('targetTtem contains only zeros: ', () => { - const item = [3, 5, 2]; - const targetTtem = [0, 0, 0]; - const cosineSimilarityValue = cosineSimilarity(item, targetTtem); - expect(cosineSimilarityValue).toBe(0); - }); - it('item and targetTtem both contains only zeros: ', () => { - const item = [0, 0, 0]; - const targetTtem = [0, 0, 0]; - const cosineSimilarityValue = cosineSimilarity(item, targetTtem); - expect(cosineSimilarityValue).toBe(0); - }); -}); - -describe('cosineSimilarity normal demo: ', () => { - it('demo similar: ', () => { - const item = [30, 0, 100]; - const targetTtem = [32, 1, 120]; - const cosineSimilarityValue = cosineSimilarity(item, targetTtem); - expect(cosineSimilarityValue).toBeGreaterThanOrEqual(0); - expect(cosineSimilarityValue).toBeLessThan(1); - expect(Number(cosineSimilarityValue.toFixed(3))).toBe(0.999); - }); - it('demo dissimilar: ', () => { - const item = [10, 300, 2]; - const targetTtem = [1, 2, 30]; - const cosineSimilarityValue = cosineSimilarity(item, targetTtem); - expect(cosineSimilarityValue).toBeGreaterThanOrEqual(0); - expect(cosineSimilarityValue).toBeLessThan(1); - expect(Number(cosineSimilarityValue.toFixed(3))).toBe(0.074); - }); -}); diff --git a/packages/graph/tests/unit/data/cluster-origin-data.json b/packages/graph/tests/unit/data/cluster-origin-data.json deleted file mode 100644 index 9e26dfe..0000000 --- a/packages/graph/tests/unit/data/cluster-origin-data.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/packages/graph/tests/unit/data/cluster-origin-properties-data.json b/packages/graph/tests/unit/data/cluster-origin-properties-data.json deleted file mode 100644 index e3349f2..0000000 --- a/packages/graph/tests/unit/data/cluster-origin-properties-data.json +++ /dev/null @@ -1,370 +0,0 @@ -{ - "nodes": [ - { - "id": "node-0", - "label": "node-0", - "properties": { - "city": "110000", - "age": 20, - "amount": 100, - "wifi": "wifi-0" - } - }, - { - "id": "node-1", - "label": "node-1", - "properties": { - "city": "110000", - "age": 22, - "amount": 100, - "wifi": "wifi-1" - } - }, - { - "id": "node-2", - "label": "node-2", - "properties": { - "city": "110000", - "age": 20, - "amount": 100, - "wifi": "wifi-2" - } - }, - { - "id": "node-3", - "label": "node-3", - "properties": { - "city": "110000", - "age": 21, - "amount": 100, - "wifi": "wifi-3" - } - }, - { - "id": "node-4", - "label": "node-4", - "properties": { - "city": "110000", - "age": 22, - "amount": 100, - "wifi": "wifi-4" - } - }, - { - "id": "node-5", - "label": "node-5", - "properties": { - "city": "310000", - "age": 30, - "amount": 1000, - "wifi": "wifi-5" - } - }, - { - "id": "node-6", - "label": "node-6", - "properties": { - "city": "310000", - "age": 31, - "amount": 1000, - "wifi": "wifi-6" - } - }, - { - "id": "node-7", - "label": "node-7", - "properties": { - "city": "310000", - "age": 31, - "amount": 1000, - "wifi": "wifi-7" - } - }, - { - "id": "node-8", - "label": "node-8", - "properties": { - "city": "310000", - "age": 32, - "amount": 1000, - "wifi": "wifi-8" - } - }, - { - "id": "node-9", - "label": "node-9", - "properties": { - "city": "310000", - "age": 30, - "amount": 1000, - "wifi": "wifi-9" - } - }, - { - "id": "node-10", - "label": "node-10", - "properties": { - "city": "310000", - "age": 30, - "amount": 1000, - "wifi": "wifi-10" - } - }, - { - "id": "node-11", - "label": "node-11", - "properties": { - "city": "440300", - "age": 40, - "amount": 10000, - "wifi": "wifi-11" - } - }, - { - "id": "node-12", - "label": "node-12", - "properties": { - "city": "440300", - "age": 40, - "amount": 10000, - "wifi": "wifi-12" - } - }, - { - "id": "node-13", - "label": "node-13", - "properties": { - "city": "440300", - "age": 41, - "amount": 10000, - "wifi": "wifi-13" - } - }, - { - "id": "node-14", - "label": "node-14", - "properties": { - "city": "440300", - "age": 42, - "amount": 10000, - "wifi": "wifi-14" - } - }, - { - "id": "node-15", - "label": "node-15", - "properties": { - "city": "440300", - "age": 41, - "amount": 10000, - "wifi": "wifi-15" - } - }, - { - "id": "node-16", - "label": "node-16", - "properties": { - "city": "440300", - "age": 43, - "amount": 10000, - "wifi": "wifi-16" - } - } - ], - "edges": [ - { - "id": "edge-0", - "source": "node-0", - "target": "node-1" - }, - { - "id": "edge-1", - "source": "node-0", - "target": "node-2" - }, - { - "id": "edge-2", - "source": "node-0", - "target": "node-3" - }, - { - "id": "edge-3", - "source": "node-0", - "target": "node-4" - }, - { - "id": "edge-4", - "source": "node-1", - "target": "node-2" - }, - { - "id": "edge-5", - "source": "node-1", - "target": "node-3" - }, - { - "id": "edge-6", - "source": "node-1", - "target": "node-4" - }, - { - "id": "edge-7", - "source": "node-2", - "target": "node-3" - }, - { - "id": "edge-8", - "source": "node-2", - "target": "node-4" - }, - { - "id": "edge-9", - "source": "node-3", - "target": "node-4" - }, - - - { - "id": "edge-10", - "source": "node-5", - "target": "node-6" - }, - { - "id": "edge-11", - "source": "node-5", - "target": "node-7" - }, - { - "id": "edge-12", - "source": "node-5", - "target": "node-8" - }, - { - "id": "edge-13", - "source": "node-5", - "target": "node-9" - }, - { - "id": "edge-14", - "source": "node-6", - "target": "node-7" - }, - { - "id": "edge-15", - "source": "node-6", - "target": "node-8" - }, - { - "id": "edge-16", - "source": "node-6", - "target": "node-9" - }, - { - "id": "edge-17", - "source": "node-7", - "target": "node-8" - }, - { - "id": "edge-18", - "source": "node-7", - "target": "node-9" - }, - { - "id": "edge-19", - "source": "node-8", - "target": "node-9" - }, - { - "id": "edge-20", - "source": "node-9", - "target": "node-10" - }, - { - "id": "edge-40", - "source": "node-10", - "target": "node-5" - }, - - - { - "id": "edge-21", - "source": "node-11", - "target": "node-12" - }, - { - "id": "edge-22", - "source": "node-11", - "target": "node-13" - }, - { - "id": "edge-23", - "source": "node-11", - "target": "node-14" - }, - { - "id": "edge-24", - "source": "node-11", - "target": "node-15" - }, - { - "id": "edge-25", - "source": "node-12", - "target": "node-13" - }, - { - "id": "edge-26", - "source": "node-12", - "target": "node-14" - }, - { - "id": "edge-27", - "source": "node-12", - "target": "node-15" - }, - { - "id": "edge-28", - "source": "node-13", - "target": "node-14" - }, - { - "id": "edge-29", - "source": "node-13", - "target": "node-15" - }, - { - "id": "edge-30", - "source": "node-14", - "target": "node-15" - }, - { - "id": "edge-31", - "source": "node-0", - "target": "node-5" - }, - { - "id": "edge-32", - "source": "node-5", - "target": "node-11" - }, - { - "id": "edge-33", - "source": "node-11", - "target": "node-0" - }, - { - "id": "edge-34", - "source": "node-16", - "target": "node-0" - }, - { - "id": "edge-35", - "source": "node-16", - "target": "node-5" - }, - { - "id": "edge-36", - "source": "node-16", - "target": "node-11" - } - ] -} \ No newline at end of file diff --git a/packages/graph/tests/unit/data/test-data.ts b/packages/graph/tests/unit/data/test-data.ts deleted file mode 100644 index 8657282..0000000 --- a/packages/graph/tests/unit/data/test-data.ts +++ /dev/null @@ -1,38635 +0,0 @@ -export const nodes20 = {"nodes":[{"id":"5","dataType":"Person"},{"id":"4","dataType":"Person"},{"id":"6","dataType":"Person"},{"id":"7","dataType":"Person"},{"id":"1004","dataType":"Enterprise"},{"id":"1005","dataType":"Enterprise"},{"id":"8","dataType":"Person"},{"id":"1006","dataType":"Enterprise"},{"id":"9","dataType":"Person"},{"id":"1007","dataType":"Enterprise"},{"id":"10","dataType":"Person"},{"id":"1008","dataType":"Enterprise"},{"id":"11","dataType":"Person"},{"id":"1009","dataType":"Enterprise"},{"id":"2023","dataType":"Enterprise"},{"id":"1003","dataType":"Enterprise"},{"id":"2024","dataType":"Enterprise"},{"id":"2025","dataType":"Enterprise"},{"id":"2026","dataType":"Enterprise"},{"id":"2027","dataType":"Enterprise"}],"edges":[{"id":"edge-4|5|Person2Person#Social|1608187834","source":"4","target":"5","dataType":"Person2Person#Social"},{"id":"edge-4|6|Person2Person#Social|1608187834","source":"4","target":"6","dataType":"Person2Person#Social"},{"id":"edge-4|7|Person2Person#Social|1608187834","source":"4","target":"7","dataType":"Person2Person#Social"},{"id":"edge-4|5|Person2Person#Social|1609144894","source":"4","target":"5","dataType":"Person2Person#Social"},{"id":"edge-4|6|Person2Person#Social|1609144894","source":"4","target":"6","dataType":"Person2Person#Social"},{"id":"edge-4|7|Person2Person#Social|1609144894","source":"4","target":"7","dataType":"Person2Person#Social"},{"id":"edge-4|5|Person2Person#Social|1610530388","source":"4","target":"5","dataType":"Person2Person#Social"},{"id":"edge-4|6|Person2Person#Social|1610530388","source":"4","target":"6","dataType":"Person2Person#Social"},{"id":"edge-4|7|Person2Person#Social|1610530388","source":"4","target":"7","dataType":"Person2Person#Social"},{"id":"edge-4|5|Person2Person#Social|1612412936","source":"4","target":"5","dataType":"Person2Person#Social"},{"id":"edge-4|6|Person2Person#Social|1612412936","source":"4","target":"6","dataType":"Person2Person#Social"},{"id":"edge-4|7|Person2Person#Social|1612412936","source":"4","target":"7","dataType":"Person2Person#Social"},{"id":"edge-4|5|Person2Person#Benefit|1608187834","source":"4","target":"5","dataType":"Person2Person#Benefit"},{"id":"edge-4|6|Person2Person#Benefit|1608187834","source":"4","target":"6","dataType":"Person2Person#Benefit"},{"id":"edge-4|7|Person2Person#Benefit|1608187834","source":"4","target":"7","dataType":"Person2Person#Benefit"},{"id":"edge-4|5|Person2Person#Benefit|1609144894","source":"4","target":"5","dataType":"Person2Person#Benefit"},{"id":"edge-4|6|Person2Person#Benefit|1609144894","source":"4","target":"6","dataType":"Person2Person#Benefit"},{"id":"edge-4|7|Person2Person#Benefit|1609144894","source":"4","target":"7","dataType":"Person2Person#Benefit"},{"id":"edge-4|5|Person2Person#Benefit|1610530388","source":"4","target":"5","dataType":"Person2Person#Benefit"},{"id":"edge-4|6|Person2Person#Benefit|1610530388","source":"4","target":"6","dataType":"Person2Person#Benefit"},{"id":"edge-4|7|Person2Person#Benefit|1610530388","source":"4","target":"7","dataType":"Person2Person#Benefit"},{"id":"edge-4|5|Person2Person#Benefit|1612412936","source":"4","target":"5","dataType":"Person2Person#Benefit"},{"id":"edge-4|6|Person2Person#Benefit|1612412936","source":"4","target":"6","dataType":"Person2Person#Benefit"},{"id":"edge-4|7|Person2Person#Benefit|1612412936","source":"4","target":"7","dataType":"Person2Person#Benefit"},{"id":"edge-4|5|Person2Person#Co_Borrower|1608187834","source":"4","target":"5","dataType":"Person2Person#Co_Borrower"},{"id":"edge-4|6|Person2Person#Co_Borrower|1608187834","source":"4","target":"6","dataType":"Person2Person#Co_Borrower"},{"id":"edge-4|7|Person2Person#Co_Borrower|1608187834","source":"4","target":"7","dataType":"Person2Person#Co_Borrower"},{"id":"edge-4|5|Person2Person#Co_Borrower|1609144894","source":"4","target":"5","dataType":"Person2Person#Co_Borrower"},{"id":"edge-4|6|Person2Person#Co_Borrower|1609144894","source":"4","target":"6","dataType":"Person2Person#Co_Borrower"},{"id":"edge-4|7|Person2Person#Co_Borrower|1609144894","source":"4","target":"7","dataType":"Person2Person#Co_Borrower"},{"id":"edge-4|5|Person2Person#Co_Borrower|1610530388","source":"4","target":"5","dataType":"Person2Person#Co_Borrower"},{"id":"edge-4|6|Person2Person#Co_Borrower|1610530388","source":"4","target":"6","dataType":"Person2Person#Co_Borrower"},{"id":"edge-4|7|Person2Person#Co_Borrower|1610530388","source":"4","target":"7","dataType":"Person2Person#Co_Borrower"},{"id":"edge-4|5|Person2Person#Co_Borrower|1612412936","source":"4","target":"5","dataType":"Person2Person#Co_Borrower"},{"id":"edge-4|6|Person2Person#Co_Borrower|1612412936","source":"4","target":"6","dataType":"Person2Person#Co_Borrower"},{"id":"edge-4|7|Person2Person#Co_Borrower|1612412936","source":"4","target":"7","dataType":"Person2Person#Co_Borrower"},{"id":"edge-4|5|Person2Person#Guarantee|1608187834","source":"4","target":"5","dataType":"Person2Person#Guarantee"},{"id":"edge-4|6|Person2Person#Guarantee|1608187834","source":"4","target":"6","dataType":"Person2Person#Guarantee"},{"id":"edge-4|7|Person2Person#Guarantee|1608187835","source":"4","target":"7","dataType":"Person2Person#Guarantee"},{"id":"edge-4|5|Person2Person#Guarantee|1609144894","source":"4","target":"5","dataType":"Person2Person#Guarantee"},{"id":"edge-4|6|Person2Person#Guarantee|1609144894","source":"4","target":"6","dataType":"Person2Person#Guarantee"},{"id":"edge-4|7|Person2Person#Guarantee|1609144894","source":"4","target":"7","dataType":"Person2Person#Guarantee"},{"id":"edge-4|5|Person2Person#Guarantee|1610530388","source":"4","target":"5","dataType":"Person2Person#Guarantee"},{"id":"edge-4|6|Person2Person#Guarantee|1610530388","source":"4","target":"6","dataType":"Person2Person#Guarantee"},{"id":"edge-4|7|Person2Person#Guarantee|1610530388","source":"4","target":"7","dataType":"Person2Person#Guarantee"},{"id":"edge-4|5|Person2Person#Guarantee|1612412936","source":"4","target":"5","dataType":"Person2Person#Guarantee"},{"id":"edge-4|6|Person2Person#Guarantee|1612412936","source":"4","target":"6","dataType":"Person2Person#Guarantee"},{"id":"edge-4|7|Person2Person#Guarantee|1612412936","source":"4","target":"7","dataType":"Person2Person#Guarantee"},{"id":"edge-4|1004|Person2Enterprise#Guarantee|1608187857","source":"4","target":"1004","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-4|1005|Person2Enterprise#Guarantee|1608187857","source":"4","target":"1005","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-4|1004|Person2Enterprise#Guarantee|1610530398","source":"4","target":"1004","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-4|1005|Person2Enterprise#Guarantee|1610530398","source":"4","target":"1005","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-4|1004|Person2Enterprise#Guarantee|1612412940","source":"4","target":"1004","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-4|1005|Person2Enterprise#Guarantee|1612412940","source":"4","target":"1005","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-4|1004|Person2Enterprise#Serve|1608187857","source":"4","target":"1004","dataType":"Person2Enterprise#Serve"},{"id":"edge-4|1005|Person2Enterprise#Serve|1608187857","source":"4","target":"1005","dataType":"Person2Enterprise#Serve"},{"id":"edge-4|1004|Person2Enterprise#Serve|1610530398","source":"4","target":"1004","dataType":"Person2Enterprise#Serve"},{"id":"edge-4|1005|Person2Enterprise#Serve|1610530398","source":"4","target":"1005","dataType":"Person2Enterprise#Serve"},{"id":"edge-4|1004|Person2Enterprise#Serve|1612412940","source":"4","target":"1004","dataType":"Person2Enterprise#Serve"},{"id":"edge-4|1005|Person2Enterprise#Serve|1612412940","source":"4","target":"1005","dataType":"Person2Enterprise#Serve"},{"id":"edge-4|1004|Person2Enterprise#Investment|1608187857","source":"4","target":"1004","dataType":"Person2Enterprise#Investment"},{"id":"edge-4|1005|Person2Enterprise#Investment|1608187857","source":"4","target":"1005","dataType":"Person2Enterprise#Investment"},{"id":"edge-4|1004|Person2Enterprise#Investment|1610530398","source":"4","target":"1004","dataType":"Person2Enterprise#Investment"},{"id":"edge-4|1005|Person2Enterprise#Investment|1610530398","source":"4","target":"1005","dataType":"Person2Enterprise#Investment"},{"id":"edge-4|1004|Person2Enterprise#Investment|1612412940","source":"4","target":"1004","dataType":"Person2Enterprise#Investment"},{"id":"edge-4|1005|Person2Enterprise#Investment|1612412940","source":"4","target":"1005","dataType":"Person2Enterprise#Investment"},{"id":"edge-5|6|Person2Person#Social|1608187835","source":"5","target":"6","dataType":"Person2Person#Social"},{"id":"edge-5|7|Person2Person#Social|1608187835","source":"5","target":"7","dataType":"Person2Person#Social"},{"id":"edge-5|8|Person2Person#Social|1608187835","source":"5","target":"8","dataType":"Person2Person#Social"},{"id":"edge-5|6|Person2Person#Social|1609144894","source":"5","target":"6","dataType":"Person2Person#Social"},{"id":"edge-5|7|Person2Person#Social|1609144894","source":"5","target":"7","dataType":"Person2Person#Social"},{"id":"edge-5|8|Person2Person#Social|1609144894","source":"5","target":"8","dataType":"Person2Person#Social"},{"id":"edge-5|6|Person2Person#Social|1610530388","source":"5","target":"6","dataType":"Person2Person#Social"},{"id":"edge-5|7|Person2Person#Social|1610530388","source":"5","target":"7","dataType":"Person2Person#Social"},{"id":"edge-5|8|Person2Person#Social|1610530388","source":"5","target":"8","dataType":"Person2Person#Social"},{"id":"edge-5|6|Person2Person#Social|1612412936","source":"5","target":"6","dataType":"Person2Person#Social"},{"id":"edge-5|7|Person2Person#Social|1612412936","source":"5","target":"7","dataType":"Person2Person#Social"},{"id":"edge-5|8|Person2Person#Social|1612412936","source":"5","target":"8","dataType":"Person2Person#Social"},{"id":"edge-5|6|Person2Person#Benefit|1608187835","source":"5","target":"6","dataType":"Person2Person#Benefit"},{"id":"edge-5|7|Person2Person#Benefit|1608187835","source":"5","target":"7","dataType":"Person2Person#Benefit"},{"id":"edge-5|8|Person2Person#Benefit|1608187835","source":"5","target":"8","dataType":"Person2Person#Benefit"},{"id":"edge-5|6|Person2Person#Benefit|1609144894","source":"5","target":"6","dataType":"Person2Person#Benefit"},{"id":"edge-5|7|Person2Person#Benefit|1609144894","source":"5","target":"7","dataType":"Person2Person#Benefit"},{"id":"edge-5|8|Person2Person#Benefit|1609144894","source":"5","target":"8","dataType":"Person2Person#Benefit"},{"id":"edge-5|6|Person2Person#Benefit|1610530388","source":"5","target":"6","dataType":"Person2Person#Benefit"},{"id":"edge-5|7|Person2Person#Benefit|1610530388","source":"5","target":"7","dataType":"Person2Person#Benefit"},{"id":"edge-5|8|Person2Person#Benefit|1610530388","source":"5","target":"8","dataType":"Person2Person#Benefit"},{"id":"edge-5|6|Person2Person#Benefit|1612412936","source":"5","target":"6","dataType":"Person2Person#Benefit"},{"id":"edge-5|7|Person2Person#Benefit|1612412936","source":"5","target":"7","dataType":"Person2Person#Benefit"},{"id":"edge-5|8|Person2Person#Benefit|1612412936","source":"5","target":"8","dataType":"Person2Person#Benefit"},{"id":"edge-5|6|Person2Person#Co_Borrower|1608187835","source":"5","target":"6","dataType":"Person2Person#Co_Borrower"},{"id":"edge-5|7|Person2Person#Co_Borrower|1608187835","source":"5","target":"7","dataType":"Person2Person#Co_Borrower"},{"id":"edge-5|8|Person2Person#Co_Borrower|1608187835","source":"5","target":"8","dataType":"Person2Person#Co_Borrower"},{"id":"edge-5|6|Person2Person#Co_Borrower|1609144894","source":"5","target":"6","dataType":"Person2Person#Co_Borrower"},{"id":"edge-5|7|Person2Person#Co_Borrower|1609144894","source":"5","target":"7","dataType":"Person2Person#Co_Borrower"},{"id":"edge-5|8|Person2Person#Co_Borrower|1609144894","source":"5","target":"8","dataType":"Person2Person#Co_Borrower"},{"id":"edge-5|6|Person2Person#Co_Borrower|1610530388","source":"5","target":"6","dataType":"Person2Person#Co_Borrower"},{"id":"edge-5|7|Person2Person#Co_Borrower|1610530388","source":"5","target":"7","dataType":"Person2Person#Co_Borrower"},{"id":"edge-5|8|Person2Person#Co_Borrower|1610530388","source":"5","target":"8","dataType":"Person2Person#Co_Borrower"},{"id":"edge-5|6|Person2Person#Co_Borrower|1612412936","source":"5","target":"6","dataType":"Person2Person#Co_Borrower"},{"id":"edge-5|7|Person2Person#Co_Borrower|1612412936","source":"5","target":"7","dataType":"Person2Person#Co_Borrower"},{"id":"edge-5|8|Person2Person#Co_Borrower|1612412936","source":"5","target":"8","dataType":"Person2Person#Co_Borrower"},{"id":"edge-5|6|Person2Person#Guarantee|1608187835","source":"5","target":"6","dataType":"Person2Person#Guarantee"},{"id":"edge-5|7|Person2Person#Guarantee|1608187835","source":"5","target":"7","dataType":"Person2Person#Guarantee"},{"id":"edge-5|8|Person2Person#Guarantee|1608187835","source":"5","target":"8","dataType":"Person2Person#Guarantee"},{"id":"edge-5|6|Person2Person#Guarantee|1609144894","source":"5","target":"6","dataType":"Person2Person#Guarantee"},{"id":"edge-5|7|Person2Person#Guarantee|1609144894","source":"5","target":"7","dataType":"Person2Person#Guarantee"},{"id":"edge-5|8|Person2Person#Guarantee|1609144894","source":"5","target":"8","dataType":"Person2Person#Guarantee"},{"id":"edge-5|6|Person2Person#Guarantee|1610530388","source":"5","target":"6","dataType":"Person2Person#Guarantee"},{"id":"edge-5|7|Person2Person#Guarantee|1610530388","source":"5","target":"7","dataType":"Person2Person#Guarantee"},{"id":"edge-5|8|Person2Person#Guarantee|1610530388","source":"5","target":"8","dataType":"Person2Person#Guarantee"},{"id":"edge-5|6|Person2Person#Guarantee|1612412936","source":"5","target":"6","dataType":"Person2Person#Guarantee"},{"id":"edge-5|7|Person2Person#Guarantee|1612412936","source":"5","target":"7","dataType":"Person2Person#Guarantee"},{"id":"edge-5|8|Person2Person#Guarantee|1612412936","source":"5","target":"8","dataType":"Person2Person#Guarantee"},{"id":"edge-5|1005|Person2Enterprise#Guarantee|1608187857","source":"5","target":"1005","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-5|1006|Person2Enterprise#Guarantee|1608187857","source":"5","target":"1006","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-5|1005|Person2Enterprise#Guarantee|1610530398","source":"5","target":"1005","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-5|1006|Person2Enterprise#Guarantee|1610530398","source":"5","target":"1006","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-5|1005|Person2Enterprise#Guarantee|1612412940","source":"5","target":"1005","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-5|1006|Person2Enterprise#Guarantee|1612412940","source":"5","target":"1006","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-5|1005|Person2Enterprise#Serve|1608187857","source":"5","target":"1005","dataType":"Person2Enterprise#Serve"},{"id":"edge-5|1006|Person2Enterprise#Serve|1608187857","source":"5","target":"1006","dataType":"Person2Enterprise#Serve"},{"id":"edge-5|1005|Person2Enterprise#Serve|1610530398","source":"5","target":"1005","dataType":"Person2Enterprise#Serve"},{"id":"edge-5|1006|Person2Enterprise#Serve|1610530398","source":"5","target":"1006","dataType":"Person2Enterprise#Serve"},{"id":"edge-5|1005|Person2Enterprise#Serve|1612412940","source":"5","target":"1005","dataType":"Person2Enterprise#Serve"},{"id":"edge-5|1006|Person2Enterprise#Serve|1612412940","source":"5","target":"1006","dataType":"Person2Enterprise#Serve"},{"id":"edge-5|1005|Person2Enterprise#Investment|1608187857","source":"5","target":"1005","dataType":"Person2Enterprise#Investment"},{"id":"edge-5|1006|Person2Enterprise#Investment|1608187857","source":"5","target":"1006","dataType":"Person2Enterprise#Investment"},{"id":"edge-5|1005|Person2Enterprise#Investment|1610530398","source":"5","target":"1005","dataType":"Person2Enterprise#Investment"},{"id":"edge-5|1006|Person2Enterprise#Investment|1610530398","source":"5","target":"1006","dataType":"Person2Enterprise#Investment"},{"id":"edge-5|1005|Person2Enterprise#Investment|1612412940","source":"5","target":"1005","dataType":"Person2Enterprise#Investment"},{"id":"edge-5|1006|Person2Enterprise#Investment|1612412940","source":"5","target":"1006","dataType":"Person2Enterprise#Investment"},{"id":"edge-6|7|Person2Person#Social|1608187835","source":"6","target":"7","dataType":"Person2Person#Social"},{"id":"edge-6|8|Person2Person#Social|1608187836","source":"6","target":"8","dataType":"Person2Person#Social"},{"id":"edge-6|9|Person2Person#Social|1608187836","source":"6","target":"9","dataType":"Person2Person#Social"},{"id":"edge-6|7|Person2Person#Social|1609144894","source":"6","target":"7","dataType":"Person2Person#Social"},{"id":"edge-6|8|Person2Person#Social|1609144894","source":"6","target":"8","dataType":"Person2Person#Social"},{"id":"edge-6|9|Person2Person#Social|1609144895","source":"6","target":"9","dataType":"Person2Person#Social"},{"id":"edge-6|7|Person2Person#Social|1610530388","source":"6","target":"7","dataType":"Person2Person#Social"},{"id":"edge-6|8|Person2Person#Social|1610530389","source":"6","target":"8","dataType":"Person2Person#Social"},{"id":"edge-6|9|Person2Person#Social|1610530389","source":"6","target":"9","dataType":"Person2Person#Social"},{"id":"edge-6|7|Person2Person#Social|1612412936","source":"6","target":"7","dataType":"Person2Person#Social"},{"id":"edge-6|8|Person2Person#Social|1612412936","source":"6","target":"8","dataType":"Person2Person#Social"},{"id":"edge-6|9|Person2Person#Social|1612412936","source":"6","target":"9","dataType":"Person2Person#Social"},{"id":"edge-6|7|Person2Person#Benefit|1608187836","source":"6","target":"7","dataType":"Person2Person#Benefit"},{"id":"edge-6|8|Person2Person#Benefit|1608187836","source":"6","target":"8","dataType":"Person2Person#Benefit"},{"id":"edge-6|9|Person2Person#Benefit|1608187836","source":"6","target":"9","dataType":"Person2Person#Benefit"},{"id":"edge-6|7|Person2Person#Benefit|1609144894","source":"6","target":"7","dataType":"Person2Person#Benefit"},{"id":"edge-6|8|Person2Person#Benefit|1609144894","source":"6","target":"8","dataType":"Person2Person#Benefit"},{"id":"edge-6|9|Person2Person#Benefit|1609144895","source":"6","target":"9","dataType":"Person2Person#Benefit"},{"id":"edge-6|7|Person2Person#Benefit|1610530389","source":"6","target":"7","dataType":"Person2Person#Benefit"},{"id":"edge-6|8|Person2Person#Benefit|1610530389","source":"6","target":"8","dataType":"Person2Person#Benefit"},{"id":"edge-6|9|Person2Person#Benefit|1610530389","source":"6","target":"9","dataType":"Person2Person#Benefit"},{"id":"edge-6|7|Person2Person#Benefit|1612412936","source":"6","target":"7","dataType":"Person2Person#Benefit"},{"id":"edge-6|8|Person2Person#Benefit|1612412936","source":"6","target":"8","dataType":"Person2Person#Benefit"},{"id":"edge-6|9|Person2Person#Benefit|1612412936","source":"6","target":"9","dataType":"Person2Person#Benefit"},{"id":"edge-6|7|Person2Person#Co_Borrower|1608187836","source":"6","target":"7","dataType":"Person2Person#Co_Borrower"},{"id":"edge-6|8|Person2Person#Co_Borrower|1608187836","source":"6","target":"8","dataType":"Person2Person#Co_Borrower"},{"id":"edge-6|9|Person2Person#Co_Borrower|1608187836","source":"6","target":"9","dataType":"Person2Person#Co_Borrower"},{"id":"edge-6|7|Person2Person#Co_Borrower|1609144894","source":"6","target":"7","dataType":"Person2Person#Co_Borrower"},{"id":"edge-6|8|Person2Person#Co_Borrower|1609144894","source":"6","target":"8","dataType":"Person2Person#Co_Borrower"},{"id":"edge-6|9|Person2Person#Co_Borrower|1609144895","source":"6","target":"9","dataType":"Person2Person#Co_Borrower"},{"id":"edge-6|7|Person2Person#Co_Borrower|1610530389","source":"6","target":"7","dataType":"Person2Person#Co_Borrower"},{"id":"edge-6|8|Person2Person#Co_Borrower|1610530389","source":"6","target":"8","dataType":"Person2Person#Co_Borrower"},{"id":"edge-6|9|Person2Person#Co_Borrower|1610530389","source":"6","target":"9","dataType":"Person2Person#Co_Borrower"},{"id":"edge-6|7|Person2Person#Co_Borrower|1612412936","source":"6","target":"7","dataType":"Person2Person#Co_Borrower"},{"id":"edge-6|8|Person2Person#Co_Borrower|1612412936","source":"6","target":"8","dataType":"Person2Person#Co_Borrower"},{"id":"edge-6|9|Person2Person#Co_Borrower|1612412937","source":"6","target":"9","dataType":"Person2Person#Co_Borrower"},{"id":"edge-6|7|Person2Person#Guarantee|1608187836","source":"6","target":"7","dataType":"Person2Person#Guarantee"},{"id":"edge-6|8|Person2Person#Guarantee|1608187836","source":"6","target":"8","dataType":"Person2Person#Guarantee"},{"id":"edge-6|9|Person2Person#Guarantee|1608187836","source":"6","target":"9","dataType":"Person2Person#Guarantee"},{"id":"edge-6|7|Person2Person#Guarantee|1609144894","source":"6","target":"7","dataType":"Person2Person#Guarantee"},{"id":"edge-6|8|Person2Person#Guarantee|1609144894","source":"6","target":"8","dataType":"Person2Person#Guarantee"},{"id":"edge-6|9|Person2Person#Guarantee|1609144895","source":"6","target":"9","dataType":"Person2Person#Guarantee"},{"id":"edge-6|7|Person2Person#Guarantee|1610530389","source":"6","target":"7","dataType":"Person2Person#Guarantee"},{"id":"edge-6|8|Person2Person#Guarantee|1610530389","source":"6","target":"8","dataType":"Person2Person#Guarantee"},{"id":"edge-6|9|Person2Person#Guarantee|1610530389","source":"6","target":"9","dataType":"Person2Person#Guarantee"},{"id":"edge-6|7|Person2Person#Guarantee|1612412936","source":"6","target":"7","dataType":"Person2Person#Guarantee"},{"id":"edge-6|8|Person2Person#Guarantee|1612412936","source":"6","target":"8","dataType":"Person2Person#Guarantee"},{"id":"edge-6|9|Person2Person#Guarantee|1612412937","source":"6","target":"9","dataType":"Person2Person#Guarantee"},{"id":"edge-6|1006|Person2Enterprise#Guarantee|1608187857","source":"6","target":"1006","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-6|1007|Person2Enterprise#Guarantee|1608187857","source":"6","target":"1007","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-6|1006|Person2Enterprise#Guarantee|1610530398","source":"6","target":"1006","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-6|1007|Person2Enterprise#Guarantee|1610530398","source":"6","target":"1007","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-6|1006|Person2Enterprise#Guarantee|1612412940","source":"6","target":"1006","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-6|1007|Person2Enterprise#Guarantee|1612412940","source":"6","target":"1007","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-6|1006|Person2Enterprise#Serve|1608187857","source":"6","target":"1006","dataType":"Person2Enterprise#Serve"},{"id":"edge-6|1007|Person2Enterprise#Serve|1608187858","source":"6","target":"1007","dataType":"Person2Enterprise#Serve"},{"id":"edge-6|1006|Person2Enterprise#Serve|1610530398","source":"6","target":"1006","dataType":"Person2Enterprise#Serve"},{"id":"edge-6|1007|Person2Enterprise#Serve|1610530398","source":"6","target":"1007","dataType":"Person2Enterprise#Serve"},{"id":"edge-6|1006|Person2Enterprise#Serve|1612412940","source":"6","target":"1006","dataType":"Person2Enterprise#Serve"},{"id":"edge-6|1007|Person2Enterprise#Serve|1612412940","source":"6","target":"1007","dataType":"Person2Enterprise#Serve"},{"id":"edge-6|1006|Person2Enterprise#Investment|1608187857","source":"6","target":"1006","dataType":"Person2Enterprise#Investment"},{"id":"edge-6|1007|Person2Enterprise#Investment|1608187858","source":"6","target":"1007","dataType":"Person2Enterprise#Investment"},{"id":"edge-6|1006|Person2Enterprise#Investment|1610530398","source":"6","target":"1006","dataType":"Person2Enterprise#Investment"},{"id":"edge-6|1007|Person2Enterprise#Investment|1610530398","source":"6","target":"1007","dataType":"Person2Enterprise#Investment"},{"id":"edge-6|1006|Person2Enterprise#Investment|1612412940","source":"6","target":"1006","dataType":"Person2Enterprise#Investment"},{"id":"edge-6|1007|Person2Enterprise#Investment|1612412940","source":"6","target":"1007","dataType":"Person2Enterprise#Investment"},{"id":"edge-7|8|Person2Person#Social|1608187836","source":"7","target":"8","dataType":"Person2Person#Social"},{"id":"edge-7|9|Person2Person#Social|1608187837","source":"7","target":"9","dataType":"Person2Person#Social"},{"id":"edge-7|10|Person2Person#Social|1608187837","source":"7","target":"10","dataType":"Person2Person#Social"},{"id":"edge-7|8|Person2Person#Social|1609144895","source":"7","target":"8","dataType":"Person2Person#Social"},{"id":"edge-7|9|Person2Person#Social|1609144895","source":"7","target":"9","dataType":"Person2Person#Social"},{"id":"edge-7|10|Person2Person#Social|1609144895","source":"7","target":"10","dataType":"Person2Person#Social"},{"id":"edge-7|8|Person2Person#Social|1610530389","source":"7","target":"8","dataType":"Person2Person#Social"},{"id":"edge-7|9|Person2Person#Social|1610530389","source":"7","target":"9","dataType":"Person2Person#Social"},{"id":"edge-7|10|Person2Person#Social|1610530389","source":"7","target":"10","dataType":"Person2Person#Social"},{"id":"edge-7|8|Person2Person#Social|1612412937","source":"7","target":"8","dataType":"Person2Person#Social"},{"id":"edge-7|9|Person2Person#Social|1612412937","source":"7","target":"9","dataType":"Person2Person#Social"},{"id":"edge-7|10|Person2Person#Social|1612412937","source":"7","target":"10","dataType":"Person2Person#Social"},{"id":"edge-7|8|Person2Person#Benefit|1608187836","source":"7","target":"8","dataType":"Person2Person#Benefit"},{"id":"edge-7|9|Person2Person#Benefit|1608187837","source":"7","target":"9","dataType":"Person2Person#Benefit"},{"id":"edge-7|10|Person2Person#Benefit|1608187837","source":"7","target":"10","dataType":"Person2Person#Benefit"},{"id":"edge-7|8|Person2Person#Benefit|1609144895","source":"7","target":"8","dataType":"Person2Person#Benefit"},{"id":"edge-7|9|Person2Person#Benefit|1609144895","source":"7","target":"9","dataType":"Person2Person#Benefit"},{"id":"edge-7|10|Person2Person#Benefit|1609144895","source":"7","target":"10","dataType":"Person2Person#Benefit"},{"id":"edge-7|8|Person2Person#Benefit|1610530389","source":"7","target":"8","dataType":"Person2Person#Benefit"},{"id":"edge-7|9|Person2Person#Benefit|1610530389","source":"7","target":"9","dataType":"Person2Person#Benefit"},{"id":"edge-7|10|Person2Person#Benefit|1610530389","source":"7","target":"10","dataType":"Person2Person#Benefit"},{"id":"edge-7|8|Person2Person#Benefit|1612412937","source":"7","target":"8","dataType":"Person2Person#Benefit"},{"id":"edge-7|9|Person2Person#Benefit|1612412937","source":"7","target":"9","dataType":"Person2Person#Benefit"},{"id":"edge-7|10|Person2Person#Benefit|1612412937","source":"7","target":"10","dataType":"Person2Person#Benefit"},{"id":"edge-7|8|Person2Person#Co_Borrower|1608187836","source":"7","target":"8","dataType":"Person2Person#Co_Borrower"},{"id":"edge-7|9|Person2Person#Co_Borrower|1608187837","source":"7","target":"9","dataType":"Person2Person#Co_Borrower"},{"id":"edge-7|10|Person2Person#Co_Borrower|1608187837","source":"7","target":"10","dataType":"Person2Person#Co_Borrower"},{"id":"edge-7|8|Person2Person#Co_Borrower|1609144895","source":"7","target":"8","dataType":"Person2Person#Co_Borrower"},{"id":"edge-7|9|Person2Person#Co_Borrower|1609144895","source":"7","target":"9","dataType":"Person2Person#Co_Borrower"},{"id":"edge-7|10|Person2Person#Co_Borrower|1609144895","source":"7","target":"10","dataType":"Person2Person#Co_Borrower"},{"id":"edge-7|8|Person2Person#Co_Borrower|1610530389","source":"7","target":"8","dataType":"Person2Person#Co_Borrower"},{"id":"edge-7|9|Person2Person#Co_Borrower|1610530389","source":"7","target":"9","dataType":"Person2Person#Co_Borrower"},{"id":"edge-7|10|Person2Person#Co_Borrower|1610530390","source":"7","target":"10","dataType":"Person2Person#Co_Borrower"},{"id":"edge-7|8|Person2Person#Co_Borrower|1612412937","source":"7","target":"8","dataType":"Person2Person#Co_Borrower"},{"id":"edge-7|9|Person2Person#Co_Borrower|1612412937","source":"7","target":"9","dataType":"Person2Person#Co_Borrower"},{"id":"edge-7|10|Person2Person#Co_Borrower|1612412937","source":"7","target":"10","dataType":"Person2Person#Co_Borrower"},{"id":"edge-7|8|Person2Person#Guarantee|1608187837","source":"7","target":"8","dataType":"Person2Person#Guarantee"},{"id":"edge-7|9|Person2Person#Guarantee|1608187837","source":"7","target":"9","dataType":"Person2Person#Guarantee"},{"id":"edge-7|10|Person2Person#Guarantee|1608187837","source":"7","target":"10","dataType":"Person2Person#Guarantee"},{"id":"edge-7|8|Person2Person#Guarantee|1609144895","source":"7","target":"8","dataType":"Person2Person#Guarantee"},{"id":"edge-7|9|Person2Person#Guarantee|1609144895","source":"7","target":"9","dataType":"Person2Person#Guarantee"},{"id":"edge-7|10|Person2Person#Guarantee|1609144895","source":"7","target":"10","dataType":"Person2Person#Guarantee"},{"id":"edge-7|8|Person2Person#Guarantee|1610530389","source":"7","target":"8","dataType":"Person2Person#Guarantee"},{"id":"edge-7|9|Person2Person#Guarantee|1610530389","source":"7","target":"9","dataType":"Person2Person#Guarantee"},{"id":"edge-7|10|Person2Person#Guarantee|1610530390","source":"7","target":"10","dataType":"Person2Person#Guarantee"},{"id":"edge-7|8|Person2Person#Guarantee|1612412937","source":"7","target":"8","dataType":"Person2Person#Guarantee"},{"id":"edge-7|9|Person2Person#Guarantee|1612412937","source":"7","target":"9","dataType":"Person2Person#Guarantee"},{"id":"edge-7|10|Person2Person#Guarantee|1612412937","source":"7","target":"10","dataType":"Person2Person#Guarantee"},{"id":"edge-7|1007|Person2Enterprise#Guarantee|1608187858","source":"7","target":"1007","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-7|1008|Person2Enterprise#Guarantee|1608187858","source":"7","target":"1008","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-7|1007|Person2Enterprise#Guarantee|1610530398","source":"7","target":"1007","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-7|1008|Person2Enterprise#Guarantee|1610530398","source":"7","target":"1008","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-7|1007|Person2Enterprise#Guarantee|1612412940","source":"7","target":"1007","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-7|1008|Person2Enterprise#Guarantee|1612412940","source":"7","target":"1008","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-7|1007|Person2Enterprise#Serve|1608187858","source":"7","target":"1007","dataType":"Person2Enterprise#Serve"},{"id":"edge-7|1008|Person2Enterprise#Serve|1608187858","source":"7","target":"1008","dataType":"Person2Enterprise#Serve"},{"id":"edge-7|1007|Person2Enterprise#Serve|1610530398","source":"7","target":"1007","dataType":"Person2Enterprise#Serve"},{"id":"edge-7|1008|Person2Enterprise#Serve|1610530398","source":"7","target":"1008","dataType":"Person2Enterprise#Serve"},{"id":"edge-7|1007|Person2Enterprise#Serve|1612412940","source":"7","target":"1007","dataType":"Person2Enterprise#Serve"},{"id":"edge-7|1008|Person2Enterprise#Serve|1612412940","source":"7","target":"1008","dataType":"Person2Enterprise#Serve"},{"id":"edge-7|1007|Person2Enterprise#Investment|1608187858","source":"7","target":"1007","dataType":"Person2Enterprise#Investment"},{"id":"edge-7|1008|Person2Enterprise#Investment|1608187858","source":"7","target":"1008","dataType":"Person2Enterprise#Investment"},{"id":"edge-7|1007|Person2Enterprise#Investment|1610530398","source":"7","target":"1007","dataType":"Person2Enterprise#Investment"},{"id":"edge-7|1008|Person2Enterprise#Investment|1610530398","source":"7","target":"1008","dataType":"Person2Enterprise#Investment"},{"id":"edge-7|1007|Person2Enterprise#Investment|1612412940","source":"7","target":"1007","dataType":"Person2Enterprise#Investment"},{"id":"edge-7|1008|Person2Enterprise#Investment|1612412940","source":"7","target":"1008","dataType":"Person2Enterprise#Investment"},{"id":"edge-8|9|Person2Person#Social|1608187837","source":"8","target":"9","dataType":"Person2Person#Social"},{"id":"edge-8|10|Person2Person#Social|1608187837","source":"8","target":"10","dataType":"Person2Person#Social"},{"id":"edge-8|11|Person2Person#Social|1608187838","source":"8","target":"11","dataType":"Person2Person#Social"},{"id":"edge-8|9|Person2Person#Social|1609144895","source":"8","target":"9","dataType":"Person2Person#Social"},{"id":"edge-8|10|Person2Person#Social|1609144895","source":"8","target":"10","dataType":"Person2Person#Social"},{"id":"edge-8|11|Person2Person#Social|1609144895","source":"8","target":"11","dataType":"Person2Person#Social"},{"id":"edge-8|9|Person2Person#Social|1610530390","source":"8","target":"9","dataType":"Person2Person#Social"},{"id":"edge-8|10|Person2Person#Social|1610530390","source":"8","target":"10","dataType":"Person2Person#Social"},{"id":"edge-8|11|Person2Person#Social|1610530390","source":"8","target":"11","dataType":"Person2Person#Social"},{"id":"edge-8|9|Person2Person#Social|1612412937","source":"8","target":"9","dataType":"Person2Person#Social"},{"id":"edge-8|10|Person2Person#Social|1612412937","source":"8","target":"10","dataType":"Person2Person#Social"},{"id":"edge-8|11|Person2Person#Social|1612412937","source":"8","target":"11","dataType":"Person2Person#Social"},{"id":"edge-8|9|Person2Person#Benefit|1608187837","source":"8","target":"9","dataType":"Person2Person#Benefit"},{"id":"edge-8|10|Person2Person#Benefit|1608187838","source":"8","target":"10","dataType":"Person2Person#Benefit"},{"id":"edge-8|11|Person2Person#Benefit|1608187838","source":"8","target":"11","dataType":"Person2Person#Benefit"},{"id":"edge-8|9|Person2Person#Benefit|1609144895","source":"8","target":"9","dataType":"Person2Person#Benefit"},{"id":"edge-8|10|Person2Person#Benefit|1609144895","source":"8","target":"10","dataType":"Person2Person#Benefit"},{"id":"edge-8|11|Person2Person#Benefit|1609144895","source":"8","target":"11","dataType":"Person2Person#Benefit"},{"id":"edge-8|9|Person2Person#Benefit|1610530390","source":"8","target":"9","dataType":"Person2Person#Benefit"},{"id":"edge-8|10|Person2Person#Benefit|1610530390","source":"8","target":"10","dataType":"Person2Person#Benefit"},{"id":"edge-8|11|Person2Person#Benefit|1610530390","source":"8","target":"11","dataType":"Person2Person#Benefit"},{"id":"edge-8|9|Person2Person#Benefit|1612412937","source":"8","target":"9","dataType":"Person2Person#Benefit"},{"id":"edge-8|10|Person2Person#Benefit|1612412937","source":"8","target":"10","dataType":"Person2Person#Benefit"},{"id":"edge-8|11|Person2Person#Benefit|1612412937","source":"8","target":"11","dataType":"Person2Person#Benefit"},{"id":"edge-8|9|Person2Person#Co_Borrower|1608187837","source":"8","target":"9","dataType":"Person2Person#Co_Borrower"},{"id":"edge-8|10|Person2Person#Co_Borrower|1608187838","source":"8","target":"10","dataType":"Person2Person#Co_Borrower"},{"id":"edge-8|11|Person2Person#Co_Borrower|1608187838","source":"8","target":"11","dataType":"Person2Person#Co_Borrower"},{"id":"edge-8|9|Person2Person#Co_Borrower|1609144895","source":"8","target":"9","dataType":"Person2Person#Co_Borrower"},{"id":"edge-8|10|Person2Person#Co_Borrower|1609144895","source":"8","target":"10","dataType":"Person2Person#Co_Borrower"},{"id":"edge-8|11|Person2Person#Co_Borrower|1609144895","source":"8","target":"11","dataType":"Person2Person#Co_Borrower"},{"id":"edge-8|9|Person2Person#Co_Borrower|1610530390","source":"8","target":"9","dataType":"Person2Person#Co_Borrower"},{"id":"edge-8|10|Person2Person#Co_Borrower|1610530390","source":"8","target":"10","dataType":"Person2Person#Co_Borrower"},{"id":"edge-8|11|Person2Person#Co_Borrower|1610530390","source":"8","target":"11","dataType":"Person2Person#Co_Borrower"},{"id":"edge-8|9|Person2Person#Co_Borrower|1612412937","source":"8","target":"9","dataType":"Person2Person#Co_Borrower"},{"id":"edge-8|10|Person2Person#Co_Borrower|1612412937","source":"8","target":"10","dataType":"Person2Person#Co_Borrower"},{"id":"edge-8|11|Person2Person#Co_Borrower|1612412937","source":"8","target":"11","dataType":"Person2Person#Co_Borrower"},{"id":"edge-8|9|Person2Person#Guarantee|1608187837","source":"8","target":"9","dataType":"Person2Person#Guarantee"},{"id":"edge-8|10|Person2Person#Guarantee|1608187838","source":"8","target":"10","dataType":"Person2Person#Guarantee"},{"id":"edge-8|11|Person2Person#Guarantee|1608187838","source":"8","target":"11","dataType":"Person2Person#Guarantee"},{"id":"edge-8|9|Person2Person#Guarantee|1609144895","source":"8","target":"9","dataType":"Person2Person#Guarantee"},{"id":"edge-8|10|Person2Person#Guarantee|1609144895","source":"8","target":"10","dataType":"Person2Person#Guarantee"},{"id":"edge-8|11|Person2Person#Guarantee|1609144895","source":"8","target":"11","dataType":"Person2Person#Guarantee"},{"id":"edge-8|9|Person2Person#Guarantee|1610530390","source":"8","target":"9","dataType":"Person2Person#Guarantee"},{"id":"edge-8|10|Person2Person#Guarantee|1610530390","source":"8","target":"10","dataType":"Person2Person#Guarantee"},{"id":"edge-8|11|Person2Person#Guarantee|1610530390","source":"8","target":"11","dataType":"Person2Person#Guarantee"},{"id":"edge-8|9|Person2Person#Guarantee|1612412937","source":"8","target":"9","dataType":"Person2Person#Guarantee"},{"id":"edge-8|10|Person2Person#Guarantee|1612412937","source":"8","target":"10","dataType":"Person2Person#Guarantee"},{"id":"edge-8|11|Person2Person#Guarantee|1612412937","source":"8","target":"11","dataType":"Person2Person#Guarantee"},{"id":"edge-8|1008|Person2Enterprise#Guarantee|1608187858","source":"8","target":"1008","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-8|1009|Person2Enterprise#Guarantee|1608187858","source":"8","target":"1009","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-8|1008|Person2Enterprise#Guarantee|1610530398","source":"8","target":"1008","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-8|1009|Person2Enterprise#Guarantee|1610530398","source":"8","target":"1009","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-8|1008|Person2Enterprise#Guarantee|1612412940","source":"8","target":"1008","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-8|1009|Person2Enterprise#Guarantee|1612412940","source":"8","target":"1009","dataType":"Person2Enterprise#Guarantee"},{"id":"edge-8|1008|Person2Enterprise#Serve|1608187858","source":"8","target":"1008","dataType":"Person2Enterprise#Serve"},{"id":"edge-8|1009|Person2Enterprise#Serve|1608187858","source":"8","target":"1009","dataType":"Person2Enterprise#Serve"},{"id":"edge-8|1008|Person2Enterprise#Serve|1610530398","source":"8","target":"1008","dataType":"Person2Enterprise#Serve"},{"id":"edge-8|1009|Person2Enterprise#Serve|1610530398","source":"8","target":"1009","dataType":"Person2Enterprise#Serve"},{"id":"edge-8|1008|Person2Enterprise#Serve|1612412940","source":"8","target":"1008","dataType":"Person2Enterprise#Serve"},{"id":"edge-8|1009|Person2Enterprise#Serve|1612412940","source":"8","target":"1009","dataType":"Person2Enterprise#Serve"},{"id":"edge-8|1008|Person2Enterprise#Investment|1608187858","source":"8","target":"1008","dataType":"Person2Enterprise#Investment"},{"id":"edge-8|1009|Person2Enterprise#Investment|1608187858","source":"8","target":"1009","dataType":"Person2Enterprise#Investment"},{"id":"edge-8|1008|Person2Enterprise#Investment|1610530398","source":"8","target":"1008","dataType":"Person2Enterprise#Investment"},{"id":"edge-8|1009|Person2Enterprise#Investment|1610530398","source":"8","target":"1009","dataType":"Person2Enterprise#Investment"},{"id":"edge-8|1008|Person2Enterprise#Investment|1612412940","source":"8","target":"1008","dataType":"Person2Enterprise#Investment"},{"id":"edge-8|1009|Person2Enterprise#Investment|1612412940","source":"8","target":"1009","dataType":"Person2Enterprise#Investment"},{"id":"edge-1003|2023|Enterprise2Enterprise#Guarantee|1608187863","source":"1003","target":"2023","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1003|2024|Enterprise2Enterprise#Guarantee|1608187863","source":"1003","target":"2024","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1003|2023|Enterprise2Enterprise#Guarantee|1610530400","source":"1003","target":"2023","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1003|2024|Enterprise2Enterprise#Guarantee|1610530400","source":"1003","target":"2024","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1003|2023|Enterprise2Enterprise#Guarantee|1612412940","source":"1003","target":"2023","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1003|2024|Enterprise2Enterprise#Guarantee|1612412940","source":"1003","target":"2024","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1003|2023|Enterprise2Enterprise#Investment|1608187863","source":"1003","target":"2023","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1003|2024|Enterprise2Enterprise#Investment|1608187863","source":"1003","target":"2024","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1003|2023|Enterprise2Enterprise#Investment|1610530400","source":"1003","target":"2023","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1003|2024|Enterprise2Enterprise#Investment|1610530400","source":"1003","target":"2024","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1003|2023|Enterprise2Enterprise#Investment|1612412940","source":"1003","target":"2023","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1003|2024|Enterprise2Enterprise#Investment|1612412940","source":"1003","target":"2024","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1003|2023|Enterprise2Enterprise#Level|1608187863","source":"1003","target":"2023","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1003|2024|Enterprise2Enterprise#Level|1608187863","source":"1003","target":"2024","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1003|2023|Enterprise2Enterprise#Level|1610530400","source":"1003","target":"2023","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1003|2024|Enterprise2Enterprise#Level|1610530400","source":"1003","target":"2024","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1003|2023|Enterprise2Enterprise#Level|1612412940","source":"1003","target":"2023","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1003|2024|Enterprise2Enterprise#Level|1612412940","source":"1003","target":"2024","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1004|2024|Enterprise2Enterprise#Guarantee|1608187863","source":"1004","target":"2024","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1004|2025|Enterprise2Enterprise#Guarantee|1608187864","source":"1004","target":"2025","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1004|2024|Enterprise2Enterprise#Guarantee|1610530400","source":"1004","target":"2024","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1004|2025|Enterprise2Enterprise#Guarantee|1610530400","source":"1004","target":"2025","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1004|2024|Enterprise2Enterprise#Guarantee|1612412940","source":"1004","target":"2024","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1004|2025|Enterprise2Enterprise#Guarantee|1612412940","source":"1004","target":"2025","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1004|2024|Enterprise2Enterprise#Investment|1608187863","source":"1004","target":"2024","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1004|2025|Enterprise2Enterprise#Investment|1608187863","source":"1004","target":"2025","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1004|2024|Enterprise2Enterprise#Investment|1610530400","source":"1004","target":"2024","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1004|2025|Enterprise2Enterprise#Investment|1610530400","source":"1004","target":"2025","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1004|2024|Enterprise2Enterprise#Investment|1612412940","source":"1004","target":"2024","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1004|2025|Enterprise2Enterprise#Investment|1612412940","source":"1004","target":"2025","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1004|2024|Enterprise2Enterprise#Level|1608187863","source":"1004","target":"2024","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1004|2025|Enterprise2Enterprise#Level|1608187863","source":"1004","target":"2025","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1004|2024|Enterprise2Enterprise#Level|1610530400","source":"1004","target":"2024","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1004|2025|Enterprise2Enterprise#Level|1610530400","source":"1004","target":"2025","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1004|2024|Enterprise2Enterprise#Level|1612412940","source":"1004","target":"2024","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1004|2025|Enterprise2Enterprise#Level|1612412940","source":"1004","target":"2025","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1005|2025|Enterprise2Enterprise#Guarantee|1608187864","source":"1005","target":"2025","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1005|2026|Enterprise2Enterprise#Guarantee|1608187864","source":"1005","target":"2026","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1005|2025|Enterprise2Enterprise#Guarantee|1610530400","source":"1005","target":"2025","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1005|2026|Enterprise2Enterprise#Guarantee|1610530400","source":"1005","target":"2026","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1005|2025|Enterprise2Enterprise#Guarantee|1612412941","source":"1005","target":"2025","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1005|2026|Enterprise2Enterprise#Guarantee|1612412941","source":"1005","target":"2026","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1005|2025|Enterprise2Enterprise#Investment|1608187864","source":"1005","target":"2025","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1005|2026|Enterprise2Enterprise#Investment|1608187864","source":"1005","target":"2026","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1005|2025|Enterprise2Enterprise#Investment|1610530400","source":"1005","target":"2025","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1005|2026|Enterprise2Enterprise#Investment|1610530400","source":"1005","target":"2026","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1005|2025|Enterprise2Enterprise#Investment|1612412941","source":"1005","target":"2025","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1005|2026|Enterprise2Enterprise#Investment|1612412941","source":"1005","target":"2026","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1005|2025|Enterprise2Enterprise#Level|1608187864","source":"1005","target":"2025","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1005|2026|Enterprise2Enterprise#Level|1608187864","source":"1005","target":"2026","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1005|2025|Enterprise2Enterprise#Level|1610530400","source":"1005","target":"2025","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1005|2026|Enterprise2Enterprise#Level|1610530400","source":"1005","target":"2026","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1005|2025|Enterprise2Enterprise#Level|1612412941","source":"1005","target":"2025","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1005|2026|Enterprise2Enterprise#Level|1612412941","source":"1005","target":"2026","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1006|2026|Enterprise2Enterprise#Guarantee|1608187864","source":"1006","target":"2026","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1006|2027|Enterprise2Enterprise#Guarantee|1608187864","source":"1006","target":"2027","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1006|2026|Enterprise2Enterprise#Guarantee|1610530400","source":"1006","target":"2026","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1006|2027|Enterprise2Enterprise#Guarantee|1610530400","source":"1006","target":"2027","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1006|2026|Enterprise2Enterprise#Guarantee|1612412941","source":"1006","target":"2026","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1006|2027|Enterprise2Enterprise#Guarantee|1612412941","source":"1006","target":"2027","dataType":"Enterprise2Enterprise#Guarantee"},{"id":"edge-1006|2026|Enterprise2Enterprise#Investment|1608187864","source":"1006","target":"2026","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1006|2027|Enterprise2Enterprise#Investment|1608187864","source":"1006","target":"2027","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1006|2026|Enterprise2Enterprise#Investment|1610530400","source":"1006","target":"2026","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1006|2027|Enterprise2Enterprise#Investment|1610530400","source":"1006","target":"2027","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1006|2026|Enterprise2Enterprise#Investment|1612412941","source":"1006","target":"2026","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1006|2027|Enterprise2Enterprise#Investment|1612412941","source":"1006","target":"2027","dataType":"Enterprise2Enterprise#Investment"},{"id":"edge-1006|2026|Enterprise2Enterprise#Level|1608187864","source":"1006","target":"2026","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1006|2027|Enterprise2Enterprise#Level|1608187864","source":"1006","target":"2027","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1006|2026|Enterprise2Enterprise#Level|1610530400","source":"1006","target":"2026","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1006|2027|Enterprise2Enterprise#Level|1610530400","source":"1006","target":"2027","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1006|2026|Enterprise2Enterprise#Level|1612412941","source":"1006","target":"2026","dataType":"Enterprise2Enterprise#Level"},{"id":"edge-1006|2027|Enterprise2Enterprise#Level|1612412941","source":"1006","target":"2027","dataType":"Enterprise2Enterprise#Level"}]} - -export const nodes77 = { - nodes: [ - { id: "0", cluster: "A", label: "0-A" }, - { id: "1", cluster: "B", label: "1-B" }, - { id: "2", cluster: "C", label: "2-C" }, - { id: "3", cluster: "C", label: "3-C" }, - { id: "4", cluster: "C", label: "4-C" }, - { id: "5", cluster: "B", label: "5-B" }, - { id: "6", cluster: "C", label: "6-C" }, - { id: "7", cluster: "B", label: "7-B" }, - { id: "8", cluster: "A", label: "8-A" }, - { id: "9", cluster: "A", label: "9-A" }, - { id: "10", cluster: "B", label: "10-B" }, - { id: "11", cluster: "B", label: "11-B" }, - { id: "12", cluster: "C", label: "12-C" }, - { id: "13", cluster: "B", label: "13-B" }, - { id: "14", cluster: "B", label: "14-B" }, - { id: "15", cluster: "B", label: "15-B" }, - { id: "16", cluster: "B", label: "16-B" }, - { id: "17", cluster: "B", label: "17-B" }, - { id: "18", cluster: "B", label: "18-B" }, - { id: "19", cluster: "C", label: "19-C" }, - { id: "20", cluster: "B", label: "20-B" }, - { id: "21", cluster: "A", label: "21-A" }, - { id: "22", cluster: "B", label: "22-B" }, - { id: "23", cluster: "B", label: "23-B" }, - { id: "24", cluster: "C", label: "24-C" }, - { id: "25", cluster: "C", label: "25-C" }, - { id: "26", cluster: "B", label: "26-B" }, - { id: "27", cluster: "A", label: "27-A" }, - { id: "28", cluster: "C", label: "28-C" }, - { id: "29", cluster: "C", label: "29-C" }, - { id: "30", cluster: "B", label: "30-B" }, - { id: "31", cluster: "B", label: "31-B" }, - { id: "32", cluster: "C", label: "32-C" }, - { id: "33", cluster: "A", label: "33-A" }, - { id: "34", cluster: "A", label: "34-A" }, - { id: "35", cluster: "C", label: "35-C" }, - { id: "36", cluster: "A", label: "36-A" }, - { id: "37", cluster: "C", label: "37-C" }, - { id: "38", cluster: "C", label: "38-C" }, - { id: "39", cluster: "B", label: "39-B" }, - { id: "40", cluster: "C", label: "40-C" }, - { id: "41", cluster: "B", label: "41-B" }, - { id: "42", cluster: "B", label: "42-B" }, - { id: "43", cluster: "A", label: "43-A" }, - { id: "44", cluster: "C", label: "44-C" }, - { id: "45", cluster: "B", label: "45-B" }, - { id: "46", cluster: "B", label: "46-B" }, - { id: "47", cluster: "C", label: "47-C" }, - { id: "48", cluster: "B", label: "48-B" }, - { id: "49", cluster: "C", label: "49-C" }, - { id: "50", cluster: "A", label: "50-A" }, - { id: "51", cluster: "C", label: "51-C" }, - { id: "52", cluster: "C", label: "52-C" }, - { id: "53", cluster: "C", label: "53-C" }, - { id: "54", cluster: "C", label: "54-C" }, - { id: "55", cluster: "A", label: "55-A" }, - { id: "56", cluster: "B", label: "56-B" }, - { id: "57", cluster: "A", label: "57-A" }, - { id: "58", cluster: "B", label: "58-B" }, - { id: "59", cluster: "C", label: "59-C" }, - { id: "60", cluster: "B", label: "60-B" }, - { id: "61", cluster: "B", label: "61-B" }, - { id: "62", cluster: "C", label: "62-C" }, - { id: "63", cluster: "B", label: "63-B" }, - { id: "64", cluster: "B", label: "64-B" }, - { id: "65", cluster: "A", label: "65-A" }, - { id: "66", cluster: "B", label: "66-B" }, - { id: "67", cluster: "C", label: "67-C" }, - { id: "68", cluster: "B", label: "68-B" }, - { id: "69", cluster: "A", label: "69-A" }, - { id: "70", cluster: "C", label: "70-C" }, - { id: "71", cluster: "C", label: "71-C" }, - { id: "72", cluster: "B", label: "72-B" }, - { id: "73", cluster: "A", label: "73-A" }, - { id: "74", cluster: "A", label: "74-A" }, - { id: "75", cluster: "A", label: "75-A" }, - { id: "76", cluster: "C", label: "76-C" }, - ], - edges: [ - { source: "1", target: "0", value: 1, cluster: "a", label: "a" }, - { source: "2", target: "0", value: 8, cluster: "c", label: "c" }, - { source: "3", target: "0", value: 10, cluster: "c", label: "c" }, - { source: "3", target: "2", value: 6, cluster: "c", label: "c" }, - { source: "4", target: "0", value: 1, cluster: "a", label: "a" }, - { source: "5", target: "0", value: 1, cluster: "a", label: "a" }, - { source: "6", target: "0", value: 1, cluster: "a", label: "a" }, - { source: "7", target: "0", value: 1, cluster: "a", label: "a" }, - { source: "8", target: "0", value: 2, cluster: "b", label: "b" }, - { source: "9", target: "0", value: 1, cluster: "a", label: "a" }, - { source: "11", target: "10", value: 1, cluster: "a", label: "a" }, - { source: "11", target: "3", value: 3, cluster: "b", label: "b" }, - { source: "11", target: "2", value: 3, cluster: "b", label: "b" }, - { source: "11", target: "0", value: 5, cluster: "c", label: "c" }, - { source: "12", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "13", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "14", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "15", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "17", target: "16", value: 4, cluster: "b", label: "b" }, - { source: "18", target: "16", value: 4, cluster: "b", label: "b" }, - { source: "18", target: "17", value: 4, cluster: "b", label: "b" }, - { source: "19", target: "16", value: 4, cluster: "b", label: "b" }, - { source: "19", target: "17", value: 4, cluster: "b", label: "b" }, - { source: "19", target: "18", value: 4, cluster: "b", label: "b" }, - { source: "20", target: "16", value: 3, cluster: "b", label: "b" }, - { source: "20", target: "17", value: 3, cluster: "b", label: "b" }, - { source: "20", target: "18", value: 3, cluster: "b", label: "b" }, - { source: "20", target: "19", value: 4, cluster: "b", label: "b" }, - { source: "21", target: "16", value: 3, cluster: "b", label: "b" }, - { source: "21", target: "17", value: 3, cluster: "b", label: "b" }, - { source: "21", target: "18", value: 3, cluster: "b", label: "b" }, - { source: "21", target: "19", value: 3, cluster: "b", label: "b" }, - { source: "21", target: "20", value: 5, cluster: "c", label: "c" }, - { source: "22", target: "16", value: 3, cluster: "b", label: "b" }, - { source: "22", target: "17", value: 3, cluster: "b", label: "b" }, - { source: "22", target: "18", value: 3, cluster: "b", label: "b" }, - { source: "22", target: "19", value: 3, cluster: "b", label: "b" }, - { source: "22", target: "20", value: 4, cluster: "b", label: "b" }, - { source: "22", target: "21", value: 4, cluster: "b", label: "b" }, - { source: "23", target: "16", value: 3, cluster: "b", label: "b" }, - { source: "23", target: "17", value: 3, cluster: "b", label: "b" }, - { source: "23", target: "18", value: 3, cluster: "b", label: "b" }, - { source: "23", target: "19", value: 3, cluster: "b", label: "b" }, - { source: "23", target: "20", value: 4, cluster: "b", label: "b" }, - { source: "23", target: "21", value: 4, cluster: "b", label: "b" }, - { source: "23", target: "22", value: 4, cluster: "b", label: "b" }, - { source: "23", target: "12", value: 2, cluster: "b", label: "b" }, - { source: "23", target: "11", value: 9, cluster: "c", label: "c" }, - { source: "24", target: "23", value: 2, cluster: "b", label: "b" }, - { source: "24", target: "11", value: 7, cluster: "c", label: "c" }, - { source: "25", target: "24", value: 13, cluster: "c", label: "c" }, - { source: "25", target: "23", value: 1, cluster: "a", label: "a" }, - { source: "25", target: "11", value: 12, cluster: "c", label: "c" }, - { source: "26", target: "24", value: 4, cluster: "b", label: "b" }, - { source: "26", target: "11", value: 31, cluster: "c", label: "c" }, - { source: "26", target: "16", value: 1, cluster: "a", label: "a" }, - { source: "26", target: "25", value: 1, cluster: "a", label: "a" }, - { source: "27", target: "11", value: 17, cluster: "c", label: "c" }, - { source: "27", target: "23", value: 5, cluster: "c", label: "c" }, - { source: "27", target: "25", value: 5, cluster: "c", label: "c" }, - { source: "27", target: "24", value: 1, cluster: "a", label: "a" }, - { source: "27", target: "26", value: 1, cluster: "a", label: "a" }, - { source: "28", target: "11", value: 8, cluster: "c", label: "c" }, - { source: "28", target: "27", value: 1, cluster: "a", label: "a" }, - { source: "29", target: "23", value: 1, cluster: "a", label: "a" }, - { source: "29", target: "27", value: 1, cluster: "a", label: "a" }, - { source: "29", target: "11", value: 2, cluster: "b", label: "b" }, - { source: "30", target: "23", value: 1, cluster: "a", label: "a" }, - { source: "31", target: "30", value: 2, cluster: "b", label: "b" }, - { source: "31", target: "11", value: 3, cluster: "b", label: "b" }, - { source: "31", target: "23", value: 2, cluster: "b", label: "b" }, - { source: "31", target: "27", value: 1, cluster: "a", label: "a" }, - { source: "32", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "33", target: "11", value: 2, cluster: "b", label: "b" }, - { source: "33", target: "27", value: 1, cluster: "a", label: "a" }, - { source: "34", target: "11", value: 3, cluster: "b", label: "b" }, - { source: "34", target: "29", value: 2, cluster: "b", label: "b" }, - { source: "35", target: "11", value: 3, cluster: "b", label: "b" }, - { source: "35", target: "34", value: 3, cluster: "b", label: "b" }, - { source: "35", target: "29", value: 2, cluster: "b", label: "b" }, - { source: "36", target: "34", value: 2, cluster: "b", label: "b" }, - { source: "36", target: "35", value: 2, cluster: "b", label: "b" }, - { source: "36", target: "11", value: 2, cluster: "b", label: "b" }, - { source: "36", target: "29", value: 1, cluster: "a", label: "a" }, - { source: "37", target: "34", value: 2, cluster: "b", label: "b" }, - { source: "37", target: "35", value: 2, cluster: "b", label: "b" }, - { source: "37", target: "36", value: 2, cluster: "b", label: "b" }, - { source: "37", target: "11", value: 2, cluster: "b", label: "b" }, - { source: "37", target: "29", value: 1, cluster: "a", label: "a" }, - { source: "38", target: "34", value: 2, cluster: "b", label: "b" }, - { source: "38", target: "35", value: 2, cluster: "b", label: "b" }, - { source: "38", target: "36", value: 2, cluster: "b", label: "b" }, - { source: "38", target: "37", value: 2, cluster: "b", label: "b" }, - { source: "38", target: "11", value: 2, cluster: "b", label: "b" }, - { source: "38", target: "29", value: 1, cluster: "a", label: "a" }, - { source: "39", target: "25", value: 1, cluster: "a", label: "a" }, - { source: "40", target: "25", value: 1, cluster: "a", label: "a" }, - { source: "41", target: "24", value: 2, cluster: "b", label: "b" }, - { source: "41", target: "25", value: 3, cluster: "b", label: "b" }, - { source: "42", target: "41", value: 2, cluster: "b", label: "b" }, - { source: "42", target: "25", value: 2, cluster: "b", label: "b" }, - { source: "42", target: "24", value: 1, cluster: "a", label: "a" }, - { source: "43", target: "11", value: 3, cluster: "b", label: "b" }, - { source: "43", target: "26", value: 1, cluster: "a", label: "a" }, - { source: "43", target: "27", value: 1, cluster: "a", label: "a" }, - { source: "44", target: "28", value: 3, cluster: "b", label: "b" }, - { source: "44", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "45", target: "28", value: 2, cluster: "b", label: "b" }, - { source: "47", target: "46", value: 1, cluster: "a", label: "a" }, - { source: "48", target: "47", value: 2, cluster: "b", label: "b" }, - { source: "48", target: "25", value: 1, cluster: "a", label: "a" }, - { source: "48", target: "27", value: 1, cluster: "a", label: "a" }, - { source: "48", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "49", target: "26", value: 3, cluster: "b", label: "b" }, - { source: "49", target: "11", value: 2, cluster: "b", label: "b" }, - { source: "50", target: "49", value: 1, cluster: "a", label: "a" }, - { source: "50", target: "24", value: 1, cluster: "a", label: "a" }, - { source: "51", target: "49", value: 9, cluster: "c", label: "c" }, - { source: "51", target: "26", value: 2, cluster: "b", label: "b" }, - { source: "51", target: "11", value: 2, cluster: "b", label: "b" }, - { source: "52", target: "51", value: 1, cluster: "a", label: "a" }, - { source: "52", target: "39", value: 1, cluster: "a", label: "a" }, - { source: "53", target: "51", value: 1, cluster: "a", label: "a" }, - { source: "54", target: "51", value: 2, cluster: "b", label: "b" }, - { source: "54", target: "49", value: 1, cluster: "a", label: "a" }, - { source: "54", target: "26", value: 1, cluster: "a", label: "a" }, - { source: "55", target: "51", value: 6, cluster: "c", label: "c" }, - { source: "55", target: "49", value: 12, cluster: "c", label: "c" }, - { source: "55", target: "39", value: 1, cluster: "a", label: "a" }, - { source: "55", target: "54", value: 1, cluster: "a", label: "a" }, - { source: "55", target: "26", value: 21, cluster: "c", label: "c" }, - { source: "55", target: "11", value: 19, cluster: "c", label: "c" }, - { source: "55", target: "16", value: 1, cluster: "a", label: "a" }, - { source: "55", target: "25", value: 2, cluster: "b", label: "b" }, - { source: "55", target: "41", value: 5, cluster: "c", label: "c" }, - { source: "55", target: "48", value: 4, cluster: "b", label: "b" }, - { source: "56", target: "49", value: 1, cluster: "a", label: "a" }, - { source: "56", target: "55", value: 1, cluster: "a", label: "a" }, - { source: "57", target: "55", value: 1, cluster: "a", label: "a" }, - { source: "57", target: "41", value: 1, cluster: "a", label: "a" }, - { source: "57", target: "48", value: 1, cluster: "a", label: "a" }, - { source: "58", target: "55", value: 7, cluster: "c", label: "c" }, - { source: "58", target: "48", value: 7, cluster: "c", label: "c" }, - { source: "58", target: "27", value: 6, cluster: "c", label: "c" }, - { source: "58", target: "57", value: 1, cluster: "a", label: "a" }, - { source: "58", target: "11", value: 4, cluster: "b", label: "b" }, - { source: "59", target: "58", value: 15, cluster: "c", label: "c" }, - { source: "59", target: "55", value: 5, cluster: "c", label: "c" }, - { source: "59", target: "48", value: 6, cluster: "c", label: "c" }, - { source: "59", target: "57", value: 2, cluster: "b", label: "b" }, - { source: "60", target: "48", value: 1, cluster: "a", label: "a" }, - { source: "60", target: "58", value: 4, cluster: "b", label: "b" }, - { source: "60", target: "59", value: 2, cluster: "b", label: "b" }, - { source: "61", target: "48", value: 2, cluster: "b", label: "b" }, - { source: "61", target: "58", value: 6, cluster: "c", label: "c" }, - { source: "61", target: "60", value: 2, cluster: "b", label: "b" }, - { source: "61", target: "59", value: 5, cluster: "c", label: "c" }, - { source: "61", target: "57", value: 1, cluster: "a", label: "a" }, - { source: "61", target: "55", value: 1, cluster: "a", label: "a" }, - { source: "62", target: "55", value: 9, cluster: "c", label: "c" }, - { source: "62", target: "58", value: 17, cluster: "c", label: "c" }, - { source: "62", target: "59", value: 13, cluster: "c", label: "c" }, - { source: "62", target: "48", value: 7, cluster: "c", label: "c" }, - { source: "62", target: "57", value: 2, cluster: "b", label: "b" }, - { source: "62", target: "41", value: 1, cluster: "a", label: "a" }, - { source: "62", target: "61", value: 6, cluster: "c", label: "c" }, - { source: "62", target: "60", value: 3, cluster: "b", label: "b" }, - { source: "63", target: "59", value: 5, cluster: "c", label: "c" }, - { source: "63", target: "48", value: 5, cluster: "c", label: "c" }, - { source: "63", target: "62", value: 6, cluster: "c", label: "c" }, - { source: "63", target: "57", value: 2, cluster: "b", label: "b" }, - { source: "63", target: "58", value: 4, cluster: "b", label: "b" }, - { source: "63", target: "61", value: 3, cluster: "b", label: "b" }, - { source: "63", target: "60", value: 2, cluster: "b", label: "b" }, - { source: "63", target: "55", value: 1, cluster: "a", label: "a" }, - { source: "64", target: "55", value: 5, cluster: "c", label: "c" }, - { source: "64", target: "62", value: 12, cluster: "c", label: "c" }, - { source: "64", target: "48", value: 5, cluster: "c", label: "c" }, - { source: "64", target: "63", value: 4, cluster: "b", label: "b" }, - { source: "64", target: "58", value: 10, cluster: "c", label: "c" }, - { source: "64", target: "61", value: 6, cluster: "c", label: "c" }, - { source: "64", target: "60", value: 2, cluster: "b", label: "b" }, - { source: "64", target: "59", value: 9, cluster: "c", label: "c" }, - { source: "64", target: "57", value: 1, cluster: "a", label: "a" }, - { source: "64", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "65", target: "63", value: 5, cluster: "c", label: "c" }, - { source: "65", target: "64", value: 7, cluster: "c", label: "c" }, - { source: "65", target: "48", value: 3, cluster: "b", label: "b" }, - { source: "65", target: "62", value: 5, cluster: "c", label: "c" }, - { source: "65", target: "58", value: 5, cluster: "c", label: "c" }, - { source: "65", target: "61", value: 5, cluster: "c", label: "c" }, - { source: "65", target: "60", value: 2, cluster: "b", label: "b" }, - { source: "65", target: "59", value: 5, cluster: "c", label: "c" }, - { source: "65", target: "57", value: 1, cluster: "a", label: "a" }, - { source: "65", target: "55", value: 2, cluster: "b", label: "b" }, - { source: "66", target: "64", value: 3, cluster: "b", label: "b" }, - { source: "66", target: "58", value: 3, cluster: "b", label: "b" }, - { source: "66", target: "59", value: 1, cluster: "a", label: "a" }, - { source: "66", target: "62", value: 2, cluster: "b", label: "b" }, - { source: "66", target: "65", value: 2, cluster: "b", label: "b" }, - { source: "66", target: "48", value: 1, cluster: "a", label: "a" }, - { source: "66", target: "63", value: 1, cluster: "a", label: "a" }, - { source: "66", target: "61", value: 1, cluster: "a", label: "a" }, - { source: "66", target: "60", value: 1, cluster: "a", label: "a" }, - { source: "67", target: "57", value: 3, cluster: "b", label: "b" }, - { source: "68", target: "25", value: 5, cluster: "c", label: "c" }, - { source: "68", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "68", target: "24", value: 1, cluster: "a", label: "a" }, - { source: "68", target: "27", value: 1, cluster: "a", label: "a" }, - { source: "68", target: "48", value: 1, cluster: "a", label: "a" }, - { source: "68", target: "41", value: 1, cluster: "a", label: "a" }, - { source: "69", target: "25", value: 6, cluster: "c", label: "c" }, - { source: "69", target: "68", value: 6, cluster: "c", label: "c" }, - { source: "69", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "69", target: "24", value: 1, cluster: "a", label: "a" }, - { source: "69", target: "27", value: 2, cluster: "b", label: "b" }, - { source: "69", target: "48", value: 1, cluster: "a", label: "a" }, - { source: "69", target: "41", value: 1, cluster: "a", label: "a" }, - { source: "70", target: "25", value: 4, cluster: "b", label: "b" }, - { source: "70", target: "69", value: 4, cluster: "b", label: "b" }, - { source: "70", target: "68", value: 4, cluster: "b", label: "b" }, - { source: "70", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "70", target: "24", value: 1, cluster: "a", label: "a" }, - { source: "70", target: "27", value: 1, cluster: "a", label: "a" }, - { source: "70", target: "41", value: 1, cluster: "a", label: "a" }, - { source: "70", target: "58", value: 1, cluster: "a", label: "a" }, - { source: "71", target: "27", value: 1, cluster: "a", label: "a" }, - { source: "71", target: "69", value: 2, cluster: "b", label: "b" }, - { source: "71", target: "68", value: 2, cluster: "b", label: "b" }, - { source: "71", target: "70", value: 2, cluster: "b", label: "b" }, - { source: "71", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "71", target: "48", value: 1, cluster: "a", label: "a" }, - { source: "71", target: "41", value: 1, cluster: "a", label: "a" }, - { source: "71", target: "25", value: 1, cluster: "a", label: "a" }, - { source: "72", target: "26", value: 2, cluster: "b", label: "b" }, - { source: "72", target: "27", value: 1, cluster: "a", label: "a" }, - { source: "72", target: "11", value: 1, cluster: "a", label: "a" }, - { source: "73", target: "48", value: 2, cluster: "b", label: "b" }, - { source: "74", target: "48", value: 2, cluster: "b", label: "b" }, - { source: "74", target: "73", value: 3, cluster: "b", label: "b" }, - { source: "75", target: "69", value: 3, cluster: "b", label: "b" }, - { source: "75", target: "68", value: 3, cluster: "b", label: "b" }, - { source: "75", target: "25", value: 3, cluster: "b", label: "b" }, - { source: "75", target: "48", value: 1, cluster: "a", label: "a" }, - { source: "75", target: "41", value: 1, cluster: "a", label: "a" }, - { source: "75", target: "70", value: 1, cluster: "a", label: "a" }, - { source: "75", target: "71", value: 1, cluster: "a", label: "a" }, - { source: "76", target: "64", value: 1, cluster: "a", label: "a" }, - { source: "76", target: "65", value: 1, cluster: "a", label: "a" }, - { source: "76", target: "66", value: 1, cluster: "a", label: "a" }, - { source: "76", target: "63", value: 1, cluster: "a", label: "a" }, - { source: "76", target: "62", value: 1, cluster: "a", label: "a" }, - { source: "76", target: "48", value: 1, cluster: "a", label: "a" }, - { source: "76", target: "58", value: 1, cluster: "a", label: "a" }, - ], -}; - -export const nodes202 = { - nodes: [ - { - id: "1", - label: "1-A", - cluster: "A", - x: 301.20880899273163, - y: 16.498563471350245, - }, - { - id: "2", - label: "2-B", - cluster: "B", - x: 167.71579022730245, - y: 21.169092644111863, - }, - { - id: "3", - label: "3-C", - cluster: "C", - x: 225.60113755765104, - y: 53.38237357832761, - }, - { - id: "4", - label: "4-D", - cluster: "D", - x: 257.2171264302781, - y: 10.65803240773092, - }, - { - id: "5", - label: "5-E", - cluster: "E", - x: 631.9192989141275, - y: 16.185060075215628, - }, - { - id: "6", - label: "6-A", - cluster: "A", - x: 147.70380559678026, - y: 22.309088056991207, - }, - { - id: "7", - label: "7-B", - cluster: "B", - x: 127.84189789787449, - y: 93.67277180968523, - }, - { - id: "8", - label: "8-C", - cluster: "C", - x: 707.7325190040664, - y: 6.916731320922539, - }, - { - id: "9", - label: "9-D", - cluster: "D", - x: 235.0228391142811, - y: 4.721612635411866, - }, - { - id: "10", - label: "10-E", - cluster: "E", - x: 112.17360443437231, - y: 85.14322322856475, - }, - { - id: "11", - label: "11-A", - cluster: "A", - x: 151.94058879507244, - y: 39.805144202813125, - }, - { - id: "12", - label: "12-B", - cluster: "B", - x: 222.2986880590628, - y: 88.06947603346353, - }, - { - id: "13", - label: "13-C", - cluster: "C", - x: 604.6951590389173, - y: -53.95978614928713, - }, - { - id: "14", - label: "14-D", - cluster: "D", - x: 78.13869258561154, - y: 53.854113269521804, - }, - { - id: "15", - label: "15-E", - cluster: "E", - x: 57.32017518529654, - y: 104.76288631835605, - }, - { - id: "16", - label: "16-A", - cluster: "A", - x: 673.6741242664087, - y: 26.82550911323939, - }, - { - id: "17", - label: "17-B", - cluster: "B", - x: 155.47170625632668, - y: 116.73379987079107, - }, - { - id: "18", - label: "18-C", - cluster: "C", - x: 659.8004935950742, - y: -4.488657283902915, - }, - { - id: "19", - label: "19-D", - cluster: "D", - x: 599.0010245474674, - y: -20.64496545181059, - }, - { - id: "20", - label: "20-E", - cluster: "E", - x: 592.751970574288, - y: 75.641401815118, - }, - { - id: "21", - label: "21-A", - cluster: "A", - x: 430.06880990239205, - y: 31.849250143249904, - }, - { - id: "22", - label: "22-B", - cluster: "B", - x: 233.90199011505297, - y: 29.14332300354274, - }, - { - id: "23", - label: "23-C", - cluster: "C", - x: 140.53417335176366, - y: 104.24293269089377, - }, - { - id: "24", - label: "24-D", - cluster: "D", - x: 657.6323691943008, - y: -77.4386558440363, - }, - { - id: "25", - label: "25-E", - cluster: "E", - x: 104.62839595086363, - y: 34.708443038044265, - }, - { - id: "26", - label: "26-A", - cluster: "A", - x: 246.65151766730597, - y: 100.61314350776709, - }, - { - id: "27", - label: "27-B", - cluster: "B", - x: 287.73976326614627, - y: 93.6794945238267, - }, - { - id: "28", - label: "28-C", - cluster: "C", - x: 701.5483534740976, - y: -35.947008798702385, - }, - { - id: "29", - label: "29-D", - cluster: "D", - x: 18.817352550124035, - y: 81.91483226407264, - }, - { - id: "30", - label: "30-E", - cluster: "E", - x: 252.54666325089096, - y: -198.63655309420574, - }, - { - id: "31", - label: "31-A", - cluster: "A", - x: 733.8237869966578, - y: -90.26277289379352, - }, - { - id: "32", - label: "32-B", - cluster: "B", - x: 674.3876779304654, - y: -56.10785937643712, - }, - { - id: "33", - label: "33-C", - cluster: "C", - x: 199.6492065642083, - y: 1.7727263515040845, - }, - { - id: "34", - label: "34-D", - cluster: "D", - x: 574.8062458666107, - y: 23.966554376971402, - }, - { - id: "35", - label: "35-E", - cluster: "E", - x: 167.98611042812948, - y: 172.15142154155532, - }, - { - id: "36", - label: "36-A", - cluster: "A", - x: 1283.9532146261135, - y: 155.858407876654, - }, - { - id: "37", - label: "37-B", - cluster: "B", - x: 588.7131468576222, - y: 52.64924625939446, - }, - { - id: "38", - label: "38-C", - cluster: "C", - x: 691.8047077339269, - y: -132.2652032838732, - }, - { - id: "39", - label: "39-D", - cluster: "D", - x: 138.21798305095118, - y: -101.64990039655224, - }, - { - id: "40", - label: "40-E", - cluster: "E", - x: 203.00175801495834, - y: 22.5563777520993, - }, - { - id: "41", - label: "41-A", - cluster: "A", - x: 161.11913453893496, - y: -5.513899552777263, - }, - { - id: "42", - label: "42-B", - cluster: "B", - x: 683.1449997888833, - y: -26.836451326762237, - }, - { - id: "43", - label: "43-C", - cluster: "C", - x: -300.084433851007, - y: -329.3475097692899, - }, - { - id: "44", - label: "44-D", - cluster: "D", - x: 740.9106679320191, - y: -39.796159644362206, - }, - { - id: "45", - label: "45-E", - cluster: "E", - x: 678.1922622322952, - y: 89.31025514147821, - }, - { - id: "46", - label: "46-A", - cluster: "A", - x: 706.9247977830264, - y: 83.30216828609257, - }, - { - id: "47", - label: "47-B", - cluster: "B", - x: 223.76942665280342, - y: -163.6813672134135, - }, - { - id: "48", - label: "48-C", - cluster: "C", - x: 94.61061490581231, - y: -91.41876243605611, - }, - { - id: "49", - label: "49-D", - cluster: "D", - x: 235.24424301409536, - y: -99.86663382097574, - }, - { - id: "50", - label: "50-E", - cluster: "E", - x: 19.627144223819307, - y: 36.28745839469572, - }, - { - id: "51", - label: "51-A", - cluster: "A", - x: 218.6666943227235, - y: 143.02882889214789, - }, - { - id: "52", - label: "52-B", - cluster: "B", - x: 821.3004836613433, - y: -30.61921565291595, - }, - { - id: "53", - label: "53-C", - cluster: "C", - x: 238.08249656023094, - y: -164.657891404515, - }, - { - id: "54", - label: "54-D", - cluster: "D", - x: 10.678175610522628, - y: 102.03121522445221, - }, - { - id: "55", - label: "55-E", - cluster: "E", - x: 74.78892208872713, - y: 93.32603724694751, - }, - { - id: "56", - label: "56-A", - cluster: "A", - x: 86.5481979982473, - y: 152.77723217737145, - }, - { - id: "57", - label: "57-B", - cluster: "B", - x: -50.53758659577995, - y: 66.17163295696331, - }, - { - id: "58", - label: "58-C", - cluster: "C", - x: 124.99232912102912, - y: 49.17014499847617, - }, - { - id: "59", - label: "59-D", - cluster: "D", - x: 239.03934495453748, - y: 128.19542560190095, - }, - { - id: "60", - label: "60-E", - cluster: "E", - x: 177.46567825384528, - y: 77.58436899474053, - }, - { - id: "61", - label: "61-A", - cluster: "A", - x: 47.80720410493432, - y: 26.910816917159025, - }, - { - id: "62", - label: "62-B", - cluster: "B", - x: 180.75866443546886, - y: -25.603485857861273, - }, - { - id: "63", - label: "63-C", - cluster: "C", - x: 79.94308772846239, - y: 30.250594698990923, - }, - { - id: "64", - label: "64-D", - cluster: "D", - x: 256.69482468295365, - y: 66.62642141029733, - }, - { - id: "65", - label: "65-E", - cluster: "E", - x: -56.27184094162641, - y: 100.60158868441853, - }, - { - id: "66", - label: "66-A", - cluster: "A", - x: 1163.118843617073, - y: 137.54073131117298, - }, - { - id: "67", - label: "67-B", - cluster: "B", - x: 935.6722362869774, - y: 10.961269762472613, - }, - { - id: "68", - label: "68-C", - cluster: "C", - x: 877.6388891428642, - y: -54.423553799531945, - }, - { - id: "69", - label: "69-D", - cluster: "D", - x: 862.5620555673153, - y: 68.21871413386326, - }, - { - id: "70", - label: "70-E", - cluster: "E", - x: 651.8117046813284, - y: 383.43786860491366, - }, - { - id: "71", - label: "71-A", - cluster: "A", - x: 112.32321798605142, - y: 110.57036191354275, - }, - { - id: "72", - label: "72-B", - cluster: "B", - x: 163.22223644436053, - y: 306.97878145497214, - }, - { - id: "73", - label: "73-C", - cluster: "C", - x: 73.09128707297499, - y: 73.28475817485352, - }, - { - id: "74", - label: "74-D", - cluster: "D", - x: 149.37488556005434, - y: 56.86691119191546, - }, - { - id: "75", - label: "75-E", - cluster: "E", - x: 208.1151118841309, - y: 45.62303635045838, - }, - { - id: "76", - label: "76-A", - cluster: "A", - x: 155.72918363379713, - y: 182.62425088813723, - }, - { - id: "77", - label: "77-B", - cluster: "B", - x: 131.51716435242332, - y: 26.29232947924133, - }, - { - id: "78", - label: "78-C", - cluster: "C", - x: 137.17854905360056, - y: 130.72293947212546, - }, - { - id: "79", - label: "79-D", - cluster: "D", - x: 201.57554128119486, - y: 179.7740851197805, - }, - { - id: "80", - label: "80-E", - cluster: "E", - x: 201.7639359765842, - y: 80.30550969861244, - }, - { - id: "81", - label: "81-A", - cluster: "A", - x: 193.08525675227216, - y: -26.776909498595103, - }, - { - id: "82", - label: "82-B", - cluster: "B", - x: 176.2257737238614, - y: 119.09358069641392, - }, - { - id: "83", - label: "83-C", - cluster: "C", - x: 123.36955853851471, - y: 72.90227074539227, - }, - { - id: "84", - label: "84-D", - cluster: "D", - x: 95.64731600310219, - y: 191.94832453165574, - }, - { - id: "85", - label: "85-E", - cluster: "E", - x: 257.49904006196067, - y: 162.90681458635993, - }, - { - id: "86", - label: "86-A", - cluster: "A", - x: 159.89629572452498, - y: 139.17657479670177, - }, - { - id: "87", - label: "87-B", - cluster: "B", - x: 242.21787636263187, - y: 180.37532154393148, - }, - { - id: "88", - label: "88-C", - cluster: "C", - x: 153.51557429284753, - y: 219.4644332165533, - }, - { - id: "89", - label: "89-D", - cluster: "D", - x: 212.52903527794774, - y: 162.10562812559996, - }, - { - id: "90", - label: "90-E", - cluster: "E", - x: 114.4364042216654, - y: 157.9470622335633, - }, - { - id: "91", - label: "91-A", - cluster: "A", - x: 168.67221661354546, - y: 147.51719703393715, - }, - { - id: "92", - label: "92-B", - cluster: "B", - x: 218.7011415961873, - y: 63.98091093584418, - }, - { - id: "93", - label: "93-C", - cluster: "C", - x: 191.80778191120422, - y: 230.90752723217858, - }, - { - id: "94", - label: "94-D", - cluster: "D", - x: 86.33718673366937, - y: 121.1409627480123, - }, - { - id: "95", - label: "95-E", - cluster: "E", - x: 151.00866403910925, - y: -25.318171679581756, - }, - { - id: "96", - label: "96-A", - cluster: "A", - x: 87.6034441569486, - y: 221.12987808165747, - }, - { - id: "97", - label: "97-B", - cluster: "B", - x: 189.98824266912817, - y: 100.82865551344841, - }, - { - id: "98", - label: "98-C", - cluster: "C", - x: 175.75892612938924, - y: 199.98300035294818, - }, - { - id: "99", - label: "99-D", - cluster: "D", - x: 203.27976655688812, - y: 126.51763569908216, - }, - { - id: "100", - label: "100-E", - cluster: "E", - x: 765.5355367329136, - y: 21.991836134813855, - }, - { - id: "101", - label: "101-A", - cluster: "A", - x: 551.8236283021658, - y: 72.3733197711641, - }, - { - id: "102", - label: "102-B", - cluster: "B", - x: 674.3850330350368, - y: 106.79756526421562, - }, - { - id: "103", - label: "103-C", - cluster: "C", - x: 111.07370967244908, - y: -9.790899903800316, - }, - { - id: "104", - label: "104-D", - cluster: "D", - x: 119.21985296306136, - y: 178.81172825379036, - }, - { - id: "105", - label: "105-E", - cluster: "E", - x: 214.86617576389293, - y: -43.19275406620191, - }, - { - id: "106", - label: "106-A", - cluster: "A", - x: 30.289142228062424, - y: -61.72078405043325, - }, - { - id: "107", - label: "107-B", - cluster: "B", - x: 1025.3920882208713, - y: 13.502860193287079, - }, - { - id: "108", - label: "108-C", - cluster: "C", - x: 786.6692472601269, - y: 115.72166424829832, - }, - { - id: "109", - label: "109-D", - cluster: "D", - x: 1024.6034606822714, - y: 220.8015852158882, - }, - { - id: "110", - label: "110-E", - cluster: "E", - x: 615.6865253904227, - y: 419.9760884117146, - }, - { - id: "111", - label: "111-A", - cluster: "A", - x: 971.4477618233167, - y: 187.43451740080653, - }, - { - id: "112", - label: "112-B", - cluster: "B", - x: 945.8801867385047, - y: 92.19746645363625, - }, - { - id: "113", - label: "113-C", - cluster: "C", - x: -353.411964141735, - y: 15.557630395473382, - }, - { - id: "114", - label: "114-D", - cluster: "D", - x: 1088.652155541285, - y: 18.818088004958867, - }, - { - id: "115", - label: "115-E", - cluster: "E", - x: 1086.728613491952, - y: -95.63408676603015, - }, - { - id: "116", - label: "116-A", - cluster: "A", - x: 926.7945186040679, - y: -61.18983090733566, - }, - { - id: "117", - label: "117-B", - cluster: "B", - x: 820.5732912157398, - y: 267.31458070683175, - }, - { - id: "118", - label: "118-C", - cluster: "C", - x: 935.1903441769451, - y: 63.67984213485708, - }, - { - id: "119", - label: "119-D", - cluster: "D", - x: 1024.758652171975, - y: -84.44385070311073, - }, - { - id: "120", - label: "120-E", - cluster: "E", - x: 757.0664354811632, - y: 302.42111840057305, - }, - { - id: "121", - label: "121-A", - cluster: "A", - x: 1007.7437119515743, - y: 109.49839233278878, - }, - { - id: "122", - label: "122-B", - cluster: "B", - x: 1252.2492355396016, - y: 286.24593655305375, - }, - { - id: "123", - label: "123-C", - cluster: "C", - x: 892.8275941260738, - y: 138.52451111528993, - }, - { - id: "124", - label: "124-D", - cluster: "D", - x: 842.4255493601262, - y: 139.35551446409832, - }, - { - id: "125", - label: "125-E", - cluster: "E", - x: 593.0412757441654, - y: 10.294314532063877, - }, - { - id: "126", - label: "126-A", - cluster: "A", - x: 627.5479548267614, - y: 65.43946532594332, - }, - { - id: "127", - label: "127-B", - cluster: "B", - x: 135.00735420463275, - y: -46.94743441043235, - }, - { - id: "128", - label: "128-C", - cluster: "C", - x: 172.5238836141652, - y: -55.44953631357154, - }, - { - id: "129", - label: "129-D", - cluster: "D", - x: -213.81641910146016, - y: -206.47713431654057, - }, - { - id: "130", - label: "130-E", - cluster: "E", - x: 160.9528968591336, - y: -140.27644391846695, - }, - { - id: "131", - label: "131-A", - cluster: "A", - x: -30.78200717710388, - y: 487.5766073569424, - }, - { - id: "132", - label: "132-B", - cluster: "B", - x: 66.62022802641216, - y: 220.46416962288401, - }, - { - id: "133", - label: "133-C", - cluster: "C", - x: 120.69304097565829, - y: 123.94198081629291, - }, - { - id: "134", - label: "134-D", - cluster: "D", - x: 147.2327669741633, - y: 152.17115842734196, - }, - { - id: "135", - label: "135-E", - cluster: "E", - x: 23.329054890579606, - y: 145.73838811733077, - }, - { - id: "136", - label: "136-A", - cluster: "A", - x: 158.78066230982623, - y: 78.78804617286528, - }, - { - id: "137", - label: "137-B", - cluster: "B", - x: 71.78274323900831, - y: 4.731490305795481, - }, - { - id: "138", - label: "138-C", - cluster: "C", - x: 977.228108785002, - y: 322.8506994680398, - }, - { - id: "139", - label: "139-D", - cluster: "D", - x: 367.11870560819267, - y: 53.79525849686702, - }, - { - id: "140", - label: "140-E", - cluster: "E", - x: 776.5069284177829, - y: 74.43881832509166, - }, - { - id: "141", - label: "141-A", - cluster: "A", - x: 207.92776432366253, - y: 249.59603315351407, - }, - { - id: "142", - label: "142-B", - cluster: "B", - x: 189.23164680621463, - y: 144.62812901270115, - }, - { - id: "143", - label: "143-C", - cluster: "C", - x: 252.35534342960798, - y: 138.64175122896205, - }, - { - id: "144", - label: "144-D", - cluster: "D", - x: 709.9159025238168, - y: 155.77021873052814, - }, - { - id: "145", - label: "145-E", - cluster: "E", - x: 710.5355246169398, - y: 41.625156650586334, - }, - { - id: "146", - label: "146-A", - cluster: "A", - x: 82.76717654857714, - y: -6.09235703895017, - }, - { - id: "147", - label: "147-B", - cluster: "B", - x: -338.1614981107765, - y: 134.21355162657056, - }, - { - id: "148", - label: "148-C", - cluster: "C", - x: -227.29816209687795, - y: 143.00359108916223, - }, - { - id: "149", - label: "149-D", - cluster: "D", - x: 727.0685061905149, - y: 134.4240436632823, - }, - { - id: "150", - label: "150-E", - cluster: "E", - x: -145.6616099293072, - y: 298.51006093374883, - }, - { - id: "151", - label: "151-A", - cluster: "A", - x: -72.66309420437324, - y: 350.29205105446476, - }, - { - id: "152", - label: "152-B", - cluster: "B", - x: 263.0301980708025, - y: -266.20340332271786, - }, - { - id: "153", - label: "153-C", - cluster: "C", - x: 46.37991296050985, - y: 139.97666831120384, - }, - { - id: "154", - label: "154-D", - cluster: "D", - x: 22.079654228536, - y: 173.64861126511883, - }, - { - id: "155", - label: "155-E", - cluster: "E", - x: 44.921983005139985, - y: 49.64394785275453, - }, - { - id: "156", - label: "156-A", - cluster: "A", - x: 998.6142557905692, - y: 401.55783090672037, - }, - { - id: "157", - label: "157-B", - cluster: "B", - x: 188.08622242944477, - y: 74.27211688287946, - }, - { - id: "158", - label: "158-C", - cluster: "C", - x: 745.1327127954743, - y: 27.421877477502576, - }, - { - id: "159", - label: "159-D", - cluster: "D", - x: 251.3745373974632, - y: -162.47475895768983, - }, - { - id: "160", - label: "160-E", - cluster: "E", - x: -181.98639977836228, - y: -309.01291228021284, - }, - { - id: "161", - label: "161-A", - cluster: "A", - x: 294.24381122390747, - y: 167.00098938926124, - }, - { - id: "162", - label: "162-B", - cluster: "B", - x: -333.7060884625014, - y: -223.6801628758006, - }, - { - id: "163", - label: "163-C", - cluster: "C", - x: 275.94296483121997, - y: -149.6805967726044, - }, - { - id: "164", - label: "164-D", - cluster: "D", - x: 96.22725635233175, - y: 78.79260615773312, - }, - { - id: "165", - label: "165-E", - cluster: "E", - x: 364.1793079070278, - y: 38.49960660371982, - }, - { - id: "166", - label: "166-A", - cluster: "A", - x: 238.10488324736093, - y: 89.09801871174066, - }, - { - id: "167", - label: "167-B", - cluster: "B", - x: 723.0477204673247, - y: 61.77825420252528, - }, - { - id: "168", - label: "168-C", - cluster: "C", - x: 129.75358848024626, - y: 160.5421549627697, - }, - { - id: "169", - label: "169-D", - cluster: "D", - x: 319.6404917526244, - y: 95.44477430795284, - }, - { - id: "170", - label: "170-E", - cluster: "E", - x: -10.681581811514377, - y: 378.98292524596127, - }, - { - id: "171", - label: "171-A", - cluster: "A", - x: 64.36108612033038, - y: 151.15316521097904, - }, - { - id: "172", - label: "172-B", - cluster: "B", - x: 179.97839152033131, - y: 41.879262091915436, - }, - { - id: "173", - label: "173-C", - cluster: "C", - x: 130.46476102050713, - y: -10.048207810102186, - }, - { - id: "174", - label: "174-D", - cluster: "D", - x: 263.7998854926317, - y: -157.55419667530353, - }, - { - id: "175", - label: "175-E", - cluster: "E", - x: 1115.737840406699, - y: 272.9671996979247, - }, - { - id: "176", - label: "176-A", - cluster: "A", - x: -9.666569041009136, - y: 118.10548063425229, - }, - { - id: "177", - label: "177-B", - cluster: "B", - x: 1129.0078870632929, - y: 379.9178277095208, - }, - { - id: "178", - label: "178-C", - cluster: "C", - x: 671.1033519796003, - y: -92.17867642468052, - }, - { - id: "179", - label: "179-D", - cluster: "D", - x: -234.31881293529852, - y: -109.06098908496614, - }, - { - id: "180", - label: "180-E", - cluster: "E", - x: -54.2998253475184, - y: 118.67689330725311, - }, - { - id: "181", - label: "181-A", - cluster: "A", - x: -223.65537186799054, - y: 371.2467998057821, - }, - { - id: "182", - label: "182-B", - cluster: "B", - x: 187.46362455608778, - y: 164.64625644016735, - }, - { - id: "183", - label: "183-C", - cluster: "C", - x: 273.9708095201669, - y: 50.89708997251593, - }, - { - id: "184", - label: "184-D", - cluster: "D", - x: 205.39326919908555, - y: 104.98949735103047, - }, - { - id: "185", - label: "185-E", - cluster: "E", - x: 96.89204827534553, - y: 280.0112001086855, - }, - { - id: "186", - label: "186-A", - cluster: "A", - x: 243.47004810648707, - y: 413.23927103180085, - }, - { - id: "187", - label: "187-B", - cluster: "B", - x: 299.6955709867217, - y: 112.57138091332776, - }, - { - id: "188", - label: "188-C", - cluster: "C", - x: 37.36566200489474, - y: 199.802557714513, - }, - { - id: "189", - label: "189-D", - cluster: "D", - x: 69.9299869950787, - y: 399.0117874585658, - }, - { - id: "190", - label: "190-E", - cluster: "E", - x: 162.34532486050728, - y: 404.9916702591727, - }, - { - id: "191", - label: "191-A", - cluster: "A", - x: 1082.2186916155908, - y: 453.9477946504978, - }, - { - id: "192", - label: "192-B", - cluster: "B", - x: 282.33003219044895, - y: 232.45968621745422, - }, - { - id: "193", - label: "193-C", - cluster: "C", - x: 187.71931085745743, - y: 9.629295250638146, - }, - { - id: "194", - label: "194-D", - cluster: "D", - x: 1276.9573781634297, - y: 42.231935517085844, - }, - { - id: "195", - label: "195-E", - cluster: "E", - x: 830.4529856451716, - y: 157.31948217833366, - }, - { - id: "196", - label: "196-A", - cluster: "A", - x: -327.14756438610607, - y: -103.93091411526683, - }, - { - id: "197", - label: "197-B", - cluster: "B", - x: -242.9450432804366, - y: 9.931988750796847, - }, - { - id: "198", - label: "198-C", - cluster: "C", - x: -305.00487635742434, - y: 281.4489860295073, - }, - { - id: "199", - label: "199-D", - cluster: "D", - x: -200.4630379466602, - y: 235.96788771441092, - }, - { - id: "200", - label: "200-E", - cluster: "E", - x: -135.9153743516249, - y: 436.7394953482768, - }, - { - id: "201", - label: "201-A", - cluster: "A", - x: 103.64332211929491, - y: 506.47972110568867, - }, - { - id: "202", - label: "202-B", - cluster: "B", - x: 207.5975173389843, - y: 508.45514796611644, - }, - ], - edges: [ - { id: "edge-0", source: "1", target: "2", cluster: "c", label: "c" }, - { id: "edge-20", source: "1", target: "22", cluster: "c", label: "c" }, - { id: "edge-40", source: "42", target: "19", cluster: "c", label: "c" }, - { id: "edge-60", source: "18", target: "37", cluster: "c", label: "c" }, - { id: "edge-80", source: "50", target: "55", cluster: "c", label: "c" }, - { id: "edge-100", source: "63", target: "10", cluster: "a", label: "a" }, - { id: "edge-120", source: "71", target: "54", cluster: "a", label: "a" }, - { id: "edge-140", source: "19", target: "16", cluster: "c", label: "c" }, - { id: "edge-160", source: "56", target: "15", cluster: "a", label: "a" }, - { id: "edge-180", source: "56", target: "86", cluster: "c", label: "c" }, - { id: "edge-200", source: "56", target: "98", cluster: "c", label: "c" }, - { id: "edge-220", source: "23", target: "14", cluster: "a", label: "a" }, - { id: "edge-240", source: "23", target: "61", cluster: "c", label: "c" }, - { id: "edge-260", source: "24", target: "38", cluster: "c", label: "c" }, - { id: "edge-280", source: "25", target: "12", cluster: "a", label: "a" }, - { id: "edge-300", source: "25", target: "33", cluster: "c", label: "c" }, - { id: "edge-320", source: "26", target: "10", cluster: "a", label: "a" }, - { id: "edge-340", source: "26", target: "92", cluster: "c", label: "c" }, - { id: "edge-360", source: "85", target: "93", cluster: "c", label: "c" }, - { id: "edge-380", source: "69", target: "118", cluster: "a", label: "a" }, - { id: "edge-400", source: "90", target: "96", cluster: "a", label: "a" }, - { id: "edge-420", source: "34", target: "32", cluster: "c", label: "c" }, - { id: "edge-440", source: "35", target: "15", cluster: "c", label: "c" }, - { id: "edge-460", source: "35", target: "93", cluster: "c", label: "c" }, - { id: "edge-480", source: "119", target: "115", cluster: "c", label: "c" }, - { id: "edge-500", source: "37", target: "16", cluster: "a", label: "a" }, - { id: "edge-520", source: "40", target: "11", cluster: "c", label: "c" }, - { id: "edge-540", source: "97", target: "92", cluster: "c", label: "c" }, - { id: "edge-560", source: "41", target: "105", cluster: "c", label: "c" }, - { id: "edge-580", source: "123", target: "108", cluster: "c", label: "c" }, - { id: "edge-600", source: "124", target: "108", cluster: "c", label: "c" }, - { id: "edge-620", source: "46", target: "8", cluster: "c", label: "c" }, - { id: "edge-640", source: "2", target: "14", cluster: "c", label: "c" }, - { id: "edge-660", source: "2", target: "94", cluster: "a", label: "a" }, - { id: "edge-680", source: "51", target: "83", cluster: "c", label: "c" }, - { id: "edge-700", source: "103", target: "9", cluster: "a", label: "a" }, - { id: "edge-720", source: "116", target: "52", cluster: "a", label: "a" }, - { id: "edge-740", source: "8", target: "32", cluster: "c", label: "c" }, - { id: "edge-760", source: "9", target: "128", cluster: "a", label: "a" }, - { id: "edge-780", source: "104", target: "17", cluster: "c", label: "c" }, - { id: "edge-800", source: "33", target: "60", cluster: "a", label: "a" }, - { id: "edge-820", source: "11", target: "82", cluster: "c", label: "c" }, - { id: "edge-840", source: "12", target: "4", cluster: "a", label: "a" }, - { id: "edge-860", source: "12", target: "87", cluster: "a", label: "a" }, - { id: "edge-880", source: "75", target: "99", cluster: "c", label: "c" }, - { id: "edge-900", source: "110", target: "70", cluster: "a", label: "a" }, - { id: "edge-920", source: "14", target: "94", cluster: "c", label: "c" }, - { id: "edge-940", source: "77", target: "15", cluster: "c", label: "c" }, - { id: "edge-960", source: "77", target: "127", cluster: "a", label: "a" }, - { id: "edge-980", source: "87", target: "98", cluster: "a", label: "a" }, - { id: "edge-1000", source: "79", target: "82", cluster: "c", label: "c" }, - { id: "edge-1020", source: "86", target: "92", cluster: "a", label: "a" }, - { id: "edge-1040", source: "32", target: "31", cluster: "c", label: "c" }, - { id: "edge-1060", source: "60", target: "17", cluster: "a", label: "a" }, - { id: "edge-1080", source: "61", target: "22", cluster: "a", label: "a" }, - { id: "edge-1100", source: "99", target: "74", cluster: "a", label: "a" }, - { id: "edge-1120", source: "4", target: "27", cluster: "c", label: "c" }, - { id: "edge-1140", source: "6", target: "7", cluster: "c", label: "c" }, - { id: "edge-1160", source: "6", target: "39", cluster: "a", label: "a" }, - { id: "edge-1180", source: "109", target: "111", cluster: "c", label: "c" }, - { id: "edge-1200", source: "67", target: "118", cluster: "c", label: "c" }, - { id: "edge-1220", source: "10", target: "55", cluster: "c", label: "c" }, - { id: "edge-1240", source: "49", target: "30", cluster: "c", label: "c" }, - { id: "edge-1260", source: "17", target: "83", cluster: "a", label: "a" }, - { id: "edge-1280", source: "112", target: "121", cluster: "a", label: "a" }, - { id: "edge-1300", source: "114", target: "107", cluster: "c", label: "c" }, - { id: "edge-1320", source: "57", target: "29", cluster: "a", label: "a" }, - { id: "edge-1340", source: "27", target: "20", cluster: "c", label: "c" }, - { id: "edge-1360", source: "120", target: "117", cluster: "c", label: "c" }, - { id: "edge-1380", source: "94", target: "98", cluster: "c", label: "c" }, - { id: "edge-1400", source: "98", target: "82", cluster: "a", label: "a" }, - { id: "edge-1420", source: "81", target: "22", cluster: "a", label: "a" }, - { id: "edge-1440", source: "28", target: "31", cluster: "a", label: "a" }, - { id: "edge-1460", source: "132", target: "84", cluster: "c", label: "c" }, - { id: "edge-1480", source: "1", target: "27", cluster: "a", label: "a" }, - { id: "edge-1500", source: "1", target: "33", cluster: "c", label: "c" }, - { id: "edge-1520", source: "18", target: "19", cluster: "a", label: "a" }, - { id: "edge-1540", source: "50", target: "54", cluster: "a", label: "a" }, - { id: "edge-1560", source: "71", target: "82", cluster: "a", label: "a" }, - { id: "edge-1580", source: "139", target: "37", cluster: "a", label: "a" }, - { id: "edge-1600", source: "56", target: "73", cluster: "c", label: "c" }, - { id: "edge-1620", source: "56", target: "55", cluster: "c", label: "c" }, - { id: "edge-1640", source: "56", target: "94", cluster: "a", label: "a" }, - { id: "edge-1660", source: "23", target: "9", cluster: "a", label: "a" }, - { id: "edge-1680", source: "23", target: "84", cluster: "a", label: "a" }, - { id: "edge-1700", source: "24", target: "28", cluster: "c", label: "c" }, - { id: "edge-1720", source: "25", target: "7", cluster: "c", label: "c" }, - { id: "edge-1740", source: "25", target: "59", cluster: "c", label: "c" }, - { id: "edge-1760", source: "39", target: "48", cluster: "a", label: "a" }, - { id: "edge-1780", source: "26", target: "74", cluster: "c", label: "c" }, - { id: "edge-1800", source: "26", target: "87", cluster: "c", label: "c" }, - { id: "edge-1820", source: "69", target: "112", cluster: "a", label: "a" }, - { id: "edge-1840", source: "90", target: "11", cluster: "c", label: "c" }, - { id: "edge-1860", source: "140", target: "45", cluster: "a", label: "a" }, - { id: "edge-1880", source: "133", target: "55", cluster: "c", label: "c" }, - { id: "edge-1900", source: "133", target: "76", cluster: "a", label: "a" }, - { id: "edge-1920", source: "35", target: "7", cluster: "a", label: "a" }, - { id: "edge-1940", source: "35", target: "58", cluster: "c", label: "c" }, - { id: "edge-1960", source: "119", target: "116", cluster: "c", label: "c" }, - { id: "edge-1980", source: "145", target: "46", cluster: "a", label: "a" }, - { id: "edge-2000", source: "37", target: "102", cluster: "c", label: "c" }, - { id: "edge-2020", source: "40", target: "83", cluster: "c", label: "c" }, - { id: "edge-2040", source: "97", target: "74", cluster: "a", label: "a" }, - { id: "edge-2060", source: "97", target: "87", cluster: "c", label: "c" }, - { id: "edge-2080", source: "41", target: "74", cluster: "a", label: "a" }, - { id: "edge-2100", source: "41", target: "60", cluster: "c", label: "c" }, - { id: "edge-2120", source: "123", target: "111", cluster: "c", label: "c" }, - { id: "edge-2140", source: "2", target: "27", cluster: "c", label: "c" }, - { id: "edge-2160", source: "2", target: "33", cluster: "a", label: "a" }, - { id: "edge-2180", source: "51", target: "82", cluster: "a", label: "a" }, - { id: "edge-2200", source: "135", target: "84", cluster: "c", label: "c" }, - { id: "edge-2220", source: "8", target: "5", cluster: "c", label: "c" }, - { id: "edge-2240", source: "9", target: "83", cluster: "c", label: "c" }, - { id: "edge-2260", source: "33", target: "10", cluster: "c", label: "c" }, - { id: "edge-2280", source: "11", target: "82", cluster: "a", label: "a" }, - { id: "edge-2300", source: "11", target: "48", cluster: "c", label: "c" }, - { id: "edge-2320", source: "12", target: "91", cluster: "c", label: "c" }, - { id: "edge-2340", source: "13", target: "32", cluster: "a", label: "a" }, - { id: "edge-2360", source: "14", target: "136", cluster: "a", label: "a" }, - { id: "edge-2380", source: "76", target: "79", cluster: "a", label: "a" }, - { id: "edge-2400", source: "77", target: "55", cluster: "a", label: "a" }, - { id: "edge-2420", source: "16", target: "20", cluster: "c", label: "c" }, - { id: "edge-2440", source: "87", target: "98", cluster: "c", label: "c" }, - { id: "edge-2460", source: "128", target: "6", cluster: "c", label: "c" }, - { id: "edge-2480", source: "86", target: "10", cluster: "a", label: "a" }, - { id: "edge-2500", source: "32", target: "44", cluster: "c", label: "c" }, - { id: "edge-2520", source: "89", target: "134", cluster: "a", label: "a" }, - { id: "edge-2540", source: "60", target: "55", cluster: "a", label: "a" }, - { id: "edge-2560", source: "61", target: "10", cluster: "a", label: "a" }, - { id: "edge-2580", source: "143", target: "82", cluster: "c", label: "c" }, - { id: "edge-2600", source: "99", target: "88", cluster: "c", label: "c" }, - { id: "edge-2620", source: "95", target: "82", cluster: "c", label: "c" }, - { id: "edge-2640", source: "136", target: "134", cluster: "c", label: "c" }, - { id: "edge-2660", source: "6", target: "55", cluster: "a", label: "a" }, - { id: "edge-2680", source: "52", target: "68", cluster: "a", label: "a" }, - { id: "edge-2700", source: "67", target: "107", cluster: "c", label: "c" }, - { id: "edge-2720", source: "74", target: "94", cluster: "c", label: "c" }, - { id: "edge-2740", source: "10", target: "94", cluster: "c", label: "c" }, - { id: "edge-2760", source: "49", target: "53", cluster: "c", label: "c" }, - { id: "edge-2780", source: "17", target: "22", cluster: "a", label: "a" }, - { id: "edge-2800", source: "59", target: "22", cluster: "c", label: "c" }, - { id: "edge-2820", source: "83", target: "54", cluster: "c", label: "c" }, - { id: "edge-2840", source: "27", target: "82", cluster: "a", label: "a" }, - { id: "edge-2860", source: "94", target: "15", cluster: "a", label: "a" }, - { id: "edge-2880", source: "15", target: "84", cluster: "c", label: "c" }, - { id: "edge-2900", source: "146", target: "58", cluster: "c", label: "c" }, - { id: "edge-2920", source: "22", target: "84", cluster: "c", label: "c" }, - { id: "edge-2940", source: "132", target: "154", cluster: "c", label: "c" }, - { id: "edge-2960", source: "132", target: "76", cluster: "c", label: "c" }, - { id: "edge-2980", source: "47", target: "49", cluster: "c", label: "c" }, - { id: "edge-3000", source: "161", target: "59", cluster: "a", label: "a" }, - { id: "edge-3020", source: "139", target: "166", cluster: "a", label: "a" }, - { id: "edge-3040", source: "56", target: "7", cluster: "c", label: "c" }, - { id: "edge-3060", source: "56", target: "26", cluster: "c", label: "c" }, - { id: "edge-3080", source: "56", target: "60", cluster: "c", label: "c" }, - { id: "edge-3100", source: "23", target: "77", cluster: "c", label: "c" }, - { id: "edge-3120", source: "23", target: "164", cluster: "c", label: "c" }, - { id: "edge-3140", source: "23", target: "99", cluster: "a", label: "a" }, - { id: "edge-3160", source: "25", target: "6", cluster: "c", label: "c" }, - { id: "edge-3180", source: "25", target: "58", cluster: "a", label: "a" }, - { id: "edge-3200", source: "25", target: "40", cluster: "c", label: "c" }, - { id: "edge-3220", source: "26", target: "74", cluster: "c", label: "c" }, - { id: "edge-3240", source: "26", target: "87", cluster: "c", label: "c" }, - { id: "edge-3260", source: "26", target: "35", cluster: "a", label: "a" }, - { id: "edge-3280", source: "69", target: "102", cluster: "a", label: "a" }, - { id: "edge-3300", source: "90", target: "2", cluster: "c", label: "c" }, - { id: "edge-3320", source: "90", target: "166", cluster: "c", label: "c" }, - { id: "edge-3340", source: "140", target: "100", cluster: "a", label: "a" }, - { id: "edge-3360", source: "133", target: "136", cluster: "c", label: "c" }, - { id: "edge-3380", source: "133", target: "97", cluster: "c", label: "c" }, - { id: "edge-3400", source: "35", target: "7", cluster: "c", label: "c" }, - { id: "edge-3420", source: "35", target: "58", cluster: "c", label: "c" }, - { id: "edge-3440", source: "35", target: "97", cluster: "a", label: "a" }, - { id: "edge-3460", source: "145", target: "126", cluster: "c", label: "c" }, - { id: "edge-3480", source: "37", target: "169", cluster: "c", label: "c" }, - { id: "edge-3500", source: "40", target: "77", cluster: "a", label: "a" }, - { id: "edge-3520", source: "97", target: "73", cluster: "c", label: "c" }, - { id: "edge-3540", source: "97", target: "6", cluster: "a", label: "a" }, - { id: "edge-3560", source: "97", target: "99", cluster: "a", label: "a" }, - { id: "edge-3580", source: "41", target: "83", cluster: "c", label: "c" }, - { id: "edge-3600", source: "102", target: "46", cluster: "c", label: "c" }, - { id: "edge-3620", source: "157", target: "142", cluster: "c", label: "c" }, - { id: "edge-3640", source: "46", target: "20", cluster: "c", label: "c" }, - { id: "edge-3660", source: "2", target: "80", cluster: "c", label: "c" }, - { id: "edge-3680", source: "103", target: "6", cluster: "c", label: "c" }, - { id: "edge-3700", source: "135", target: "14", cluster: "a", label: "a" }, - { id: "edge-3720", source: "7", target: "15", cluster: "a", label: "a" }, - { id: "edge-3740", source: "7", target: "61", cluster: "c", label: "c" }, - { id: "edge-3760", source: "9", target: "80", cluster: "a", label: "a" }, - { id: "edge-3780", source: "9", target: "92", cluster: "a", label: "a" }, - { id: "edge-3800", source: "11", target: "79", cluster: "c", label: "c" }, - { id: "edge-3820", source: "11", target: "127", cluster: "a", label: "a" }, - { id: "edge-3840", source: "12", target: "55", cluster: "c", label: "c" }, - { id: "edge-3860", source: "12", target: "60", cluster: "a", label: "a" }, - { id: "edge-3880", source: "14", target: "6", cluster: "c", label: "c" }, - { id: "edge-3900", source: "14", target: "61", cluster: "c", label: "c" }, - { id: "edge-3920", source: "76", target: "58", cluster: "c", label: "c" }, - { id: "edge-3940", source: "77", target: "4", cluster: "c", label: "c" }, - { id: "edge-3960", source: "77", target: "166", cluster: "c", label: "c" }, - { id: "edge-3980", source: "16", target: "20", cluster: "c", label: "c" }, - { id: "edge-4000", source: "79", target: "82", cluster: "c", label: "c" }, - { id: "edge-4020", source: "163", target: "49", cluster: "c", label: "c" }, - { id: "edge-4040", source: "86", target: "94", cluster: "c", label: "c" }, - { id: "edge-4060", source: "164", target: "61", cluster: "c", label: "c" }, - { id: "edge-4080", source: "166", target: "165", cluster: "c", label: "c" }, - { id: "edge-4100", source: "89", target: "82", cluster: "c", label: "c" }, - { id: "edge-4120", source: "158", target: "44", cluster: "c", label: "c" }, - { id: "edge-4140", source: "155", target: "58", cluster: "a", label: "a" }, - { id: "edge-4160", source: "60", target: "58", cluster: "c", label: "c" }, - { id: "edge-4180", source: "61", target: "153", cluster: "a", label: "a" }, - { id: "edge-4200", source: "91", target: "74", cluster: "c", label: "c" }, - { id: "edge-4220", source: "99", target: "6", cluster: "c", label: "c" }, - { id: "edge-4240", source: "95", target: "92", cluster: "a", label: "a" }, - { id: "edge-4260", source: "136", target: "64", cluster: "c", label: "c" }, - { id: "edge-4280", source: "5", target: "21", cluster: "c", label: "c" }, - { id: "edge-4300", source: "6", target: "127", cluster: "c", label: "c" }, - { id: "edge-4320", source: "74", target: "15", cluster: "a", label: "a" }, - { id: "edge-4340", source: "10", target: "153", cluster: "c", label: "c" }, - { id: "edge-4360", source: "92", target: "59", cluster: "c", label: "c" }, - { id: "edge-4380", source: "49", target: "58", cluster: "a", label: "a" }, - { id: "edge-4400", source: "17", target: "94", cluster: "a", label: "a" }, - { id: "edge-4420", source: "59", target: "134", cluster: "a", label: "a" }, - { id: "edge-4440", source: "83", target: "134", cluster: "a", label: "a" }, - { id: "edge-4460", source: "134", target: "84", cluster: "a", label: "a" }, - { id: "edge-4480", source: "39", target: "48", cluster: "a", label: "a" }, - { id: "edge-4500", source: "153", target: "88", cluster: "a", label: "a" }, - { id: "edge-4520", source: "82", target: "58", cluster: "c", label: "c" }, - { id: "edge-4540", source: "84", target: "88", cluster: "c", label: "c" }, - { id: "edge-4560", source: "132", target: "54", cluster: "c", label: "c" }, - { id: "edge-4580", source: "132", target: "90", cluster: "c", label: "c" }, - { id: "edge-4600", source: "1", target: "2", cluster: "c", label: "c" }, - { id: "edge-4620", source: "1", target: "22", cluster: "c", label: "c" }, - { id: "edge-4640", source: "42", target: "5", cluster: "a", label: "a" }, - { id: "edge-4660", source: "63", target: "74", cluster: "a", label: "a" }, - { id: "edge-4680", source: "65", target: "54", cluster: "c", label: "c" }, - { id: "edge-4700", source: "159", target: "49", cluster: "c", label: "c" }, - { id: "edge-4720", source: "19", target: "34", cluster: "c", label: "c" }, - { id: "edge-4740", source: "56", target: "153", cluster: "a", label: "a" }, - { id: "edge-4760", source: "56", target: "40", cluster: "c", label: "c" }, - { id: "edge-4780", source: "56", target: "35", cluster: "c", label: "c" }, - { id: "edge-4800", source: "100", target: "69", cluster: "c", label: "c" }, - { id: "edge-4820", source: "23", target: "82", cluster: "a", label: "a" }, - { id: "edge-4840", source: "23", target: "94", cluster: "c", label: "c" }, - { id: "edge-4860", source: "24", target: "125", cluster: "c", label: "c" }, - { id: "edge-4880", source: "25", target: "153", cluster: "c", label: "c" }, - { id: "edge-4900", source: "25", target: "29", cluster: "a", label: "a" }, - { id: "edge-4920", source: "25", target: "157", cluster: "c", label: "c" }, - { id: "edge-4940", source: "26", target: "87", cluster: "c", label: "c" }, - { id: "edge-4960", source: "26", target: "89", cluster: "a", label: "a" }, - { id: "edge-4980", source: "26", target: "40", cluster: "c", label: "c" }, - { id: "edge-5000", source: "69", target: "158", cluster: "c", label: "c" }, - { id: "edge-5020", source: "167", target: "108", cluster: "c", label: "c" }, - { id: "edge-5040", source: "90", target: "80", cluster: "a", label: "a" }, - { id: "edge-5060", source: "90", target: "88", cluster: "c", label: "c" }, - { id: "edge-5080", source: "140", target: "158", cluster: "c", label: "c" }, - { id: "edge-5100", source: "133", target: "77", cluster: "c", label: "c" }, - { id: "edge-5120", source: "133", target: "87", cluster: "a", label: "a" }, - { id: "edge-5140", source: "133", target: "97", cluster: "c", label: "c" }, - { id: "edge-5160", source: "34", target: "126", cluster: "c", label: "c" }, - { id: "edge-5180", source: "35", target: "59", cluster: "c", label: "c" }, - { id: "edge-5200", source: "35", target: "84", cluster: "c", label: "c" }, - { id: "edge-5220", source: "125", target: "126", cluster: "a", label: "a" }, - { id: "edge-5240", source: "126", target: "108", cluster: "c", label: "c" }, - { id: "edge-5260", source: "37", target: "102", cluster: "c", label: "c" }, - { id: "edge-5280", source: "40", target: "139", cluster: "c", label: "c" }, - { id: "edge-5300", source: "40", target: "95", cluster: "c", label: "c" }, - { id: "edge-5320", source: "97", target: "77", cluster: "a", label: "a" }, - { id: "edge-5340", source: "97", target: "87", cluster: "c", label: "c" }, - { id: "edge-5360", source: "97", target: "41", cluster: "c", label: "c" }, - { id: "edge-5380", source: "41", target: "80", cluster: "c", label: "c" }, - { id: "edge-5400", source: "41", target: "61", cluster: "a", label: "a" }, - { id: "edge-5420", source: "173", target: "172", cluster: "c", label: "c" }, - { id: "edge-5440", source: "102", target: "149", cluster: "c", label: "c" }, - { id: "edge-5460", source: "157", target: "78", cluster: "a", label: "a" }, - { id: "edge-5480", source: "157", target: "91", cluster: "c", label: "c" }, - { id: "edge-5500", source: "46", target: "108", cluster: "c", label: "c" }, - { id: "edge-5520", source: "2", target: "55", cluster: "a", label: "a" }, - { id: "edge-5540", source: "2", target: "49", cluster: "c", label: "c" }, - { id: "edge-5560", source: "135", target: "54", cluster: "a", label: "a" }, - { id: "edge-5580", source: "73", target: "83", cluster: "c", label: "c" }, - { id: "edge-5600", source: "7", target: "12", cluster: "c", label: "c" }, - { id: "edge-5620", source: "7", target: "87", cluster: "a", label: "a" }, - { id: "edge-5640", source: "9", target: "77", cluster: "c", label: "c" }, - { id: "edge-5660", source: "9", target: "87", cluster: "a", label: "a" }, - { id: "edge-5680", source: "104", target: "153", cluster: "c", label: "c" }, - { id: "edge-5700", source: "11", target: "92", cluster: "a", label: "a" }, - { id: "edge-5720", source: "11", target: "22", cluster: "a", label: "a" }, - { id: "edge-5740", source: "12", target: "3", cluster: "c", label: "c" }, - { id: "edge-5760", source: "12", target: "86", cluster: "c", label: "c" }, - { id: "edge-5780", source: "13", target: "52", cluster: "a", label: "a" }, - { id: "edge-5800", source: "14", target: "6", cluster: "c", label: "c" }, - { id: "edge-5820", source: "76", target: "55", cluster: "c", label: "c" }, - { id: "edge-5840", source: "76", target: "99", cluster: "c", label: "c" }, - { id: "edge-5860", source: "77", target: "22", cluster: "c", label: "c" }, - { id: "edge-5880", source: "16", target: "52", cluster: "a", label: "a" }, - { id: "edge-5900", source: "45", target: "149", cluster: "c", label: "c" }, - { id: "edge-5920", source: "86", target: "171", cluster: "c", label: "c" }, - { id: "edge-5940", source: "86", target: "60", cluster: "c", label: "c" }, - { id: "edge-5960", source: "164", target: "82", cluster: "c", label: "c" }, - { id: "edge-5980", source: "164", target: "84", cluster: "c", label: "c" }, - { id: "edge-6000", source: "166", target: "87", cluster: "a", label: "a" }, - { id: "edge-6020", source: "89", target: "3", cluster: "c", label: "c" }, - { id: "edge-6040", source: "89", target: "6", cluster: "c", label: "c" }, - { id: "edge-6060", source: "158", target: "5", cluster: "c", label: "c" }, - { id: "edge-6080", source: "155", target: "15", cluster: "a", label: "a" }, - { id: "edge-6100", source: "60", target: "87", cluster: "c", label: "c" }, - { id: "edge-6120", source: "61", target: "54", cluster: "c", label: "c" }, - { id: "edge-6140", source: "91", target: "141", cluster: "c", label: "c" }, - { id: "edge-6160", source: "143", target: "22", cluster: "c", label: "c" }, - { id: "edge-6180", source: "99", target: "92", cluster: "c", label: "c" }, - { id: "edge-6200", source: "136", target: "6", cluster: "c", label: "c" }, - { id: "edge-6220", source: "174", target: "49", cluster: "a", label: "a" }, - { id: "edge-6240", source: "6", target: "17", cluster: "a", label: "a" }, - { id: "edge-6260", source: "6", target: "80", cluster: "a", label: "a" }, - { id: "edge-6280", source: "74", target: "17", cluster: "c", label: "c" }, - { id: "edge-6300", source: "10", target: "153", cluster: "a", label: "a" }, - { id: "edge-6320", source: "92", target: "15", cluster: "c", label: "c" }, - { id: "edge-6340", source: "92", target: "49", cluster: "a", label: "a" }, - { id: "edge-6360", source: "101", target: "21", cluster: "c", label: "c" }, - { id: "edge-6380", source: "78", target: "93", cluster: "a", label: "a" }, - { id: "edge-6400", source: "141", target: "98", cluster: "c", label: "c" }, - { id: "edge-6420", source: "180", target: "54", cluster: "c", label: "c" }, - { id: "edge-6440", source: "83", target: "84", cluster: "a", label: "a" }, - { id: "edge-6460", source: "93", target: "82", cluster: "a", label: "a" }, - { id: "edge-6480", source: "176", target: "15", cluster: "c", label: "c" }, - { id: "edge-6500", source: "153", target: "55", cluster: "a", label: "a" }, - { id: "edge-6520", source: "54", target: "171", cluster: "c", label: "c" }, - { id: "edge-6540", source: "58", target: "22", cluster: "c", label: "c" }, - { id: "edge-6560", source: "132", target: "79", cluster: "a", label: "a" }, - { id: "edge-6580", source: "132", target: "88", cluster: "c", label: "c" }, - { id: "edge-6600", source: "1", target: "12", cluster: "c", label: "c" }, - { id: "edge-6620", source: "1", target: "86", cluster: "a", label: "a" }, - { id: "edge-6640", source: "1", target: "157", cluster: "a", label: "a" }, - { id: "edge-6660", source: "42", target: "100", cluster: "c", label: "c" }, - { id: "edge-6680", source: "50", target: "7", cluster: "c", label: "c" }, - { id: "edge-6700", source: "182", target: "97", cluster: "a", label: "a" }, - { id: "edge-6720", source: "71", target: "166", cluster: "c", label: "c" }, - { id: "edge-6740", source: "72", target: "185", cluster: "c", label: "c" }, - { id: "edge-6760", source: "19", target: "21", cluster: "a", label: "a" }, - { id: "edge-6780", source: "56", target: "73", cluster: "c", label: "c" }, - { id: "edge-6800", source: "56", target: "54", cluster: "a", label: "a" }, - { id: "edge-6820", source: "56", target: "29", cluster: "c", label: "c" }, - { id: "edge-6840", source: "56", target: "188", cluster: "c", label: "c" }, - { id: "edge-6860", source: "23", target: "14", cluster: "c", label: "c" }, - { id: "edge-6880", source: "23", target: "26", cluster: "c", label: "c" }, - { id: "edge-6900", source: "23", target: "35", cluster: "c", label: "c" }, - { id: "edge-6920", source: "25", target: "6", cluster: "a", label: "a" }, - { id: "edge-6940", source: "25", target: "82", cluster: "a", label: "a" }, - { id: "edge-6960", source: "25", target: "94", cluster: "a", label: "a" }, - { id: "edge-6980", source: "26", target: "7", cluster: "c", label: "c" }, - { id: "edge-7000", source: "26", target: "21", cluster: "c", label: "c" }, - { id: "edge-7020", source: "26", target: "173", cluster: "c", label: "c" }, - { id: "edge-7040", source: "85", target: "92", cluster: "c", label: "c" }, - { id: "edge-7060", source: "69", target: "67", cluster: "a", label: "a" }, - { id: "edge-7080", source: "69", target: "123", cluster: "a", label: "a" }, - { id: "edge-7100", source: "167", target: "100", cluster: "c", label: "c" }, - { id: "edge-7120", source: "90", target: "58", cluster: "c", label: "c" }, - { id: "edge-7140", source: "90", target: "94", cluster: "c", label: "c" }, - { id: "edge-7160", source: "140", target: "145", cluster: "c", label: "c" }, - { id: "edge-7180", source: "133", target: "17", cluster: "a", label: "a" }, - { id: "edge-7200", source: "133", target: "59", cluster: "a", label: "a" }, - { id: "edge-7220", source: "34", target: "165", cluster: "a", label: "a" }, - { id: "edge-7240", source: "35", target: "2", cluster: "c", label: "c" }, - { id: "edge-7260", source: "35", target: "59", cluster: "a", label: "a" }, - { id: "edge-7280", source: "35", target: "93", cluster: "c", label: "c" }, - { id: "edge-7300", source: "145", target: "5", cluster: "c", label: "c" }, - { id: "edge-7320", source: "126", target: "21", cluster: "a", label: "a" }, - { id: "edge-7340", source: "37", target: "28", cluster: "a", label: "a" }, - { id: "edge-7360", source: "40", target: "4", cluster: "c", label: "c" }, - { id: "edge-7380", source: "40", target: "82", cluster: "a", label: "a" }, - { id: "edge-7400", source: "40", target: "95", cluster: "c", label: "c" }, - { id: "edge-7420", source: "97", target: "77", cluster: "a", label: "a" }, - { id: "edge-7440", source: "97", target: "169", cluster: "a", label: "a" }, - { id: "edge-7460", source: "97", target: "183", cluster: "c", label: "c" }, - { id: "edge-7480", source: "41", target: "75", cluster: "a", label: "a" }, - { id: "edge-7500", source: "41", target: "48", cluster: "c", label: "c" }, - { id: "edge-7520", source: "41", target: "99", cluster: "c", label: "c" }, - { id: "edge-7540", source: "173", target: "128", cluster: "a", label: "a" }, - { id: "edge-7560", source: "173", target: "49", cluster: "c", label: "c" }, - { id: "edge-7580", source: "102", target: "144", cluster: "c", label: "c" }, - { id: "edge-7600", source: "157", target: "58", cluster: "a", label: "a" }, - { id: "edge-7620", source: "157", target: "99", cluster: "a", label: "a" }, - { id: "edge-7640", source: "46", target: "108", cluster: "c", label: "c" }, - { id: "edge-7660", source: "2", target: "105", cluster: "c", label: "c" }, - { id: "edge-7680", source: "2", target: "155", cluster: "a", label: "a" }, - { id: "edge-7700", source: "73", target: "7", cluster: "c", label: "c" }, - { id: "edge-7720", source: "73", target: "168", cluster: "c", label: "c" }, - { id: "edge-7740", source: "7", target: "77", cluster: "c", label: "c" }, - { id: "edge-7760", source: "7", target: "166", cluster: "c", label: "c" }, - { id: "edge-7780", source: "9", target: "12", cluster: "c", label: "c" }, - { id: "edge-7800", source: "9", target: "172", cluster: "c", label: "c" }, - { id: "edge-7820", source: "9", target: "183", cluster: "c", label: "c" }, - { id: "edge-7840", source: "104", target: "99", cluster: "a", label: "a" }, - { id: "edge-7860", source: "11", target: "76", cluster: "c", label: "c" }, - { id: "edge-7880", source: "11", target: "22", cluster: "c", label: "c" }, - { id: "edge-7900", source: "11", target: "48", cluster: "c", label: "c" }, - { id: "edge-7920", source: "12", target: "98", cluster: "c", label: "c" }, - { id: "edge-7940", source: "12", target: "91", cluster: "c", label: "c" }, - { id: "edge-7960", source: "13", target: "178", cluster: "c", label: "c" }, - { id: "edge-7980", source: "14", target: "77", cluster: "c", label: "c" }, - { id: "edge-8000", source: "14", target: "166", cluster: "a", label: "a" }, - { id: "edge-8020", source: "76", target: "141", cluster: "c", label: "c" }, - { id: "edge-8040", source: "130", target: "48", cluster: "c", label: "c" }, - { id: "edge-8060", source: "77", target: "81", cluster: "c", label: "c" }, - { id: "edge-8080", source: "77", target: "95", cluster: "c", label: "c" }, - { id: "edge-8100", source: "106", target: "48", cluster: "c", label: "c" }, - { id: "edge-8120", source: "128", target: "74", cluster: "c", label: "c" }, - { id: "edge-8140", source: "128", target: "95", cluster: "c", label: "c" }, - { id: "edge-8160", source: "86", target: "83", cluster: "a", label: "a" }, - { id: "edge-8180", source: "86", target: "94", cluster: "a", label: "a" }, - { id: "edge-8200", source: "164", target: "4", cluster: "a", label: "a" }, - { id: "edge-8220", source: "164", target: "58", cluster: "c", label: "c" }, - { id: "edge-8240", source: "164", target: "60", cluster: "c", label: "c" }, - { id: "edge-8260", source: "166", target: "187", cluster: "c", label: "c" }, - { id: "edge-8280", source: "166", target: "183", cluster: "c", label: "c" }, - { id: "edge-8300", source: "89", target: "78", cluster: "a", label: "a" }, - { id: "edge-8320", source: "89", target: "184", cluster: "a", label: "a" }, - { id: "edge-8340", source: "158", target: "28", cluster: "a", label: "a" }, - { id: "edge-8360", source: "155", target: "15", cluster: "a", label: "a" }, - { id: "edge-8380", source: "155", target: "95", cluster: "a", label: "a" }, - { id: "edge-8400", source: "60", target: "82", cluster: "a", label: "a" }, - { id: "edge-8420", source: "60", target: "169", cluster: "a", label: "a" }, - { id: "edge-8440", source: "61", target: "58", cluster: "c", label: "c" }, - { id: "edge-8460", source: "91", target: "153", cluster: "c", label: "c" }, - { id: "edge-8480", source: "91", target: "92", cluster: "c", label: "c" }, - { id: "edge-8500", source: "143", target: "99", cluster: "c", label: "c" }, - { id: "edge-8520", source: "99", target: "6", cluster: "c", label: "c" }, - { id: "edge-8540", source: "137", target: "58", cluster: "c", label: "c" }, - { id: "edge-8560", source: "136", target: "74", cluster: "c", label: "c" }, - { id: "edge-8580", source: "185", target: "84", cluster: "c", label: "c" }, - { id: "edge-8600", source: "4", target: "127", cluster: "a", label: "a" }, - { id: "edge-8620", source: "6", target: "78", cluster: "c", label: "c" }, - { id: "edge-8640", source: "6", target: "184", cluster: "c", label: "c" }, - { id: "edge-8660", source: "52", target: "100", cluster: "c", label: "c" }, - { id: "edge-8680", source: "74", target: "64", cluster: "a", label: "a" }, - { id: "edge-8700", source: "10", target: "27", cluster: "a", label: "a" }, - { id: "edge-8720", source: "10", target: "54", cluster: "a", label: "a" }, - { id: "edge-8740", source: "92", target: "82", cluster: "a", label: "a" }, - { id: "edge-8760", source: "49", target: "21", cluster: "c", label: "c" }, - { id: "edge-8780", source: "169", target: "168", cluster: "c", label: "c" }, - { id: "edge-8800", source: "78", target: "172", cluster: "c", label: "c" }, - { id: "edge-8820", source: "79", target: "58", cluster: "a", label: "a" }, - { id: "edge-8840", source: "141", target: "87", cluster: "c", label: "c" }, - { id: "edge-8860", source: "105", target: "22", cluster: "c", label: "c" }, - { id: "edge-8880", source: "87", target: "93", cluster: "c", label: "c" }, - { id: "edge-8900", source: "27", target: "21", cluster: "c", label: "c" }, - { id: "edge-8920", source: "93", target: "84", cluster: "a", label: "a" }, - { id: "edge-8940", source: "127", target: "48", cluster: "a", label: "a" }, - { id: "edge-8960", source: "98", target: "142", cluster: "c", label: "c" }, - { id: "edge-8980", source: "153", target: "55", cluster: "a", label: "a" }, - { id: "edge-9000", source: "64", target: "21", cluster: "c", label: "c" }, - { id: "edge-9020", source: "82", target: "84", cluster: "c", label: "c" }, - { id: "edge-9040", source: "58", target: "172", cluster: "c", label: "c" }, - { id: "edge-9060", source: "142", target: "88", cluster: "c", label: "c" }, - { id: "edge-9080", source: "132", target: "56", cluster: "c", label: "c" }, - { id: "edge-9100", source: "132", target: "133", cluster: "a", label: "a" }, - { id: "edge-9120", source: "1", target: "13", cluster: "c", label: "c" }, - { id: "edge-9140", source: "42", target: "13", cluster: "a", label: "a" }, - { id: "edge-9160", source: "18", target: "44", cluster: "c", label: "c" }, - { id: "edge-9180", source: "50", target: "106", cluster: "a", label: "a" }, - { id: "edge-9200", source: "195", target: "108", cluster: "c", label: "c" }, - { id: "edge-9220", source: "72", target: "93", cluster: "c", label: "c" }, - { id: "edge-9240", source: "19", target: "32", cluster: "c", label: "c" }, - { id: "edge-9260", source: "56", target: "11", cluster: "c", label: "c" }, - { id: "edge-9280", source: "56", target: "154", cluster: "c", label: "c" }, - { id: "edge-9300", source: "56", target: "59", cluster: "a", label: "a" }, - { id: "edge-9320", source: "56", target: "97", cluster: "c", label: "c" }, - { id: "edge-9340", source: "100", target: "37", cluster: "c", label: "c" }, - { id: "edge-9360", source: "23", target: "79", cluster: "a", label: "a" }, - { id: "edge-9380", source: "23", target: "164", cluster: "c", label: "c" }, - { id: "edge-9400", source: "23", target: "143", cluster: "c", label: "c" }, - { id: "edge-9420", source: "25", target: "3", cluster: "a", label: "a" }, - { id: "edge-9440", source: "25", target: "54", cluster: "a", label: "a" }, - { id: "edge-9460", source: "25", target: "127", cluster: "a", label: "a" }, - { id: "edge-9480", source: "25", target: "157", cluster: "c", label: "c" }, - { id: "edge-9500", source: "62", target: "172", cluster: "a", label: "a" }, - { id: "edge-9520", source: "26", target: "9", cluster: "a", label: "a" }, - { id: "edge-9540", source: "26", target: "86", cluster: "c", label: "c" }, - { id: "edge-9560", source: "26", target: "97", cluster: "c", label: "c" }, - { id: "edge-9580", source: "85", target: "79", cluster: "a", label: "a" }, - { id: "edge-9600", source: "85", target: "89", cluster: "a", label: "a" }, - { id: "edge-9620", source: "85", target: "157", cluster: "c", label: "c" }, - { id: "edge-9640", source: "167", target: "125", cluster: "c", label: "c" }, - { id: "edge-9660", source: "90", target: "153", cluster: "a", label: "a" }, - { id: "edge-9680", source: "90", target: "89", cluster: "a", label: "a" }, - { id: "edge-9700", source: "90", target: "98", cluster: "a", label: "a" }, - { id: "edge-9720", source: "133", target: "103", cluster: "c", label: "c" }, - { id: "edge-9740", source: "133", target: "64", cluster: "c", label: "c" }, - { id: "edge-9760", source: "133", target: "168", cluster: "c", label: "c" }, - { id: "edge-9780", source: "133", target: "155", cluster: "a", label: "a" }, - { id: "edge-9800", source: "34", target: "46", cluster: "c", label: "c" }, - { id: "edge-9820", source: "35", target: "80", cluster: "c", label: "c" }, - { id: "edge-9840", source: "35", target: "89", cluster: "c", label: "c" }, - { id: "edge-9860", source: "35", target: "143", cluster: "c", label: "c" }, - { id: "edge-9880", source: "125", target: "21", cluster: "c", label: "c" }, - { id: "edge-9900", source: "126", target: "5", cluster: "c", label: "c" }, - { id: "edge-9920", source: "37", target: "45", cluster: "a", label: "a" }, - { id: "edge-9940", source: "40", target: "3", cluster: "a", label: "a" }, - { id: "edge-9960", source: "40", target: "55", cluster: "a", label: "a" }, - { id: "edge-9980", source: "40", target: "95", cluster: "c", label: "c" }, - { id: "edge-10000", source: "97", target: "14", cluster: "c", label: "c" }, - { id: "edge-10020", source: "97", target: "59", cluster: "a", label: "a" }, - { id: "edge-10040", source: "97", target: "60", cluster: "a", label: "a" }, - { id: "edge-10060", source: "41", target: "77", cluster: "a", label: "a" }, - { id: "edge-10080", source: "41", target: "166", cluster: "a", label: "a" }, - { id: "edge-10100", source: "173", target: "73", cluster: "a", label: "a" }, - { id: "edge-10120", source: "173", target: "55", cluster: "c", label: "c" }, - { id: "edge-10140", source: "173", target: "61", cluster: "a", label: "a" }, - { - id: "edge-10160", - source: "102", - target: "101", - cluster: "c", - label: "c", - }, - { id: "edge-10180", source: "157", target: "15", cluster: "a", label: "a" }, - { id: "edge-10200", source: "157", target: "86", cluster: "a", label: "a" }, - { id: "edge-10220", source: "157", target: "99", cluster: "a", label: "a" }, - { id: "edge-10240", source: "2", target: "73", cluster: "c", label: "c" }, - { id: "edge-10260", source: "2", target: "83", cluster: "a", label: "a" }, - { id: "edge-10280", source: "2", target: "92", cluster: "c", label: "c" }, - { id: "edge-10300", source: "51", target: "12", cluster: "a", label: "a" }, - { id: "edge-10320", source: "51", target: "166", cluster: "a", label: "a" }, - { - id: "edge-10340", - source: "103", - target: "106", - cluster: "a", - label: "a", - }, - { id: "edge-10360", source: "73", target: "6", cluster: "c", label: "c" }, - { id: "edge-10380", source: "73", target: "58", cluster: "c", label: "c" }, - { id: "edge-10400", source: "7", target: "27", cluster: "c", label: "c" }, - { id: "edge-10420", source: "7", target: "58", cluster: "c", label: "c" }, - { id: "edge-10440", source: "7", target: "136", cluster: "c", label: "c" }, - { id: "edge-10460", source: "9", target: "11", cluster: "a", label: "a" }, - { id: "edge-10480", source: "9", target: "21", cluster: "c", label: "c" }, - { id: "edge-10500", source: "9", target: "95", cluster: "a", label: "a" }, - { id: "edge-10520", source: "178", target: "28", cluster: "c", label: "c" }, - { id: "edge-10540", source: "165", target: "22", cluster: "c", label: "c" }, - { id: "edge-10560", source: "11", target: "3", cluster: "c", label: "c" }, - { id: "edge-10580", source: "11", target: "142", cluster: "c", label: "c" }, - { id: "edge-10600", source: "12", target: "4", cluster: "a", label: "a" }, - { id: "edge-10620", source: "12", target: "193", cluster: "c", label: "c" }, - { id: "edge-10640", source: "12", target: "94", cluster: "a", label: "a" }, - { id: "edge-10660", source: "13", target: "32", cluster: "a", label: "a" }, - { id: "edge-10680", source: "14", target: "55", cluster: "a", label: "a" }, - { id: "edge-10700", source: "76", target: "27", cluster: "a", label: "a" }, - { id: "edge-10720", source: "76", target: "87", cluster: "c", label: "c" }, - { id: "edge-10740", source: "130", target: "49", cluster: "c", label: "c" }, - { id: "edge-10760", source: "77", target: "54", cluster: "a", label: "a" }, - { id: "edge-10780", source: "77", target: "142", cluster: "a", label: "a" }, - { id: "edge-10800", source: "77", target: "99", cluster: "c", label: "c" }, - { id: "edge-10820", source: "45", target: "20", cluster: "a", label: "a" }, - { id: "edge-10840", source: "86", target: "79", cluster: "a", label: "a" }, - { id: "edge-10860", source: "86", target: "88", cluster: "c", label: "c" }, - { id: "edge-10880", source: "86", target: "99", cluster: "c", label: "c" }, - { id: "edge-10900", source: "164", target: "82", cluster: "c", label: "c" }, - { - id: "edge-10920", - source: "164", - target: "136", - cluster: "c", - label: "c", - }, - { id: "edge-10940", source: "166", target: "79", cluster: "a", label: "a" }, - { id: "edge-10960", source: "166", target: "94", cluster: "c", label: "c" }, - { id: "edge-10980", source: "89", target: "10", cluster: "c", label: "c" }, - { id: "edge-11000", source: "89", target: "87", cluster: "c", label: "c" }, - { id: "edge-11020", source: "158", target: "20", cluster: "a", label: "a" }, - { - id: "edge-11040", - source: "155", - target: "153", - cluster: "a", - label: "a", - }, - { id: "edge-11060", source: "155", target: "61", cluster: "a", label: "a" }, - { id: "edge-11080", source: "60", target: "17", cluster: "c", label: "c" }, - { id: "edge-11100", source: "60", target: "91", cluster: "c", label: "c" }, - { id: "edge-11120", source: "61", target: "153", cluster: "a", label: "a" }, - { id: "edge-11140", source: "61", target: "94", cluster: "a", label: "a" }, - { id: "edge-11160", source: "91", target: "55", cluster: "c", label: "c" }, - { id: "edge-11180", source: "143", target: "27", cluster: "c", label: "c" }, - { - id: "edge-11200", - source: "143", - target: "142", - cluster: "a", - label: "a", - }, - { id: "edge-11220", source: "99", target: "3", cluster: "a", label: "a" }, - { id: "edge-11240", source: "99", target: "93", cluster: "a", label: "a" }, - { id: "edge-11260", source: "95", target: "193", cluster: "a", label: "a" }, - { id: "edge-11280", source: "136", target: "80", cluster: "a", label: "a" }, - { id: "edge-11300", source: "136", target: "92", cluster: "a", label: "a" }, - { id: "edge-11320", source: "4", target: "21", cluster: "c", label: "c" }, - { id: "edge-11340", source: "6", target: "27", cluster: "a", label: "a" }, - { id: "edge-11360", source: "6", target: "172", cluster: "a", label: "a" }, - { id: "edge-11380", source: "52", target: "67", cluster: "a", label: "a" }, - { id: "edge-11400", source: "74", target: "78", cluster: "c", label: "c" }, - { id: "edge-11420", source: "74", target: "94", cluster: "a", label: "a" }, - { id: "edge-11440", source: "10", target: "172", cluster: "c", label: "c" }, - { id: "edge-11460", source: "92", target: "59", cluster: "c", label: "c" }, - { id: "edge-11480", source: "92", target: "134", cluster: "a", label: "a" }, - { id: "edge-11500", source: "152", target: "30", cluster: "c", label: "c" }, - { id: "edge-11520", source: "17", target: "79", cluster: "c", label: "c" }, - { id: "edge-11540", source: "78", target: "153", cluster: "c", label: "c" }, - { id: "edge-11560", source: "79", target: "27", cluster: "a", label: "a" }, - { id: "edge-11580", source: "79", target: "184", cluster: "c", label: "c" }, - { id: "edge-11600", source: "141", target: "88", cluster: "c", label: "c" }, - { id: "edge-11620", source: "59", target: "21", cluster: "c", label: "c" }, - { id: "edge-11640", source: "87", target: "192", cluster: "c", label: "c" }, - { id: "edge-11660", source: "87", target: "80", cluster: "c", label: "c" }, - { id: "edge-11680", source: "27", target: "88", cluster: "a", label: "a" }, - { id: "edge-11700", source: "134", target: "55", cluster: "c", label: "c" }, - { id: "edge-11720", source: "93", target: "142", cluster: "a", label: "a" }, - { id: "edge-11740", source: "94", target: "84", cluster: "c", label: "c" }, - { id: "edge-11760", source: "39", target: "48", cluster: "c", label: "c" }, - { id: "edge-11780", source: "98", target: "172", cluster: "c", label: "c" }, - { - id: "edge-11800", - source: "153", - target: "168", - cluster: "c", - label: "c", - }, - { id: "edge-11820", source: "80", target: "58", cluster: "a", label: "a" }, - { id: "edge-11840", source: "193", target: "58", cluster: "a", label: "a" }, - { id: "edge-11860", source: "55", target: "154", cluster: "c", label: "c" }, - { id: "edge-11880", source: "172", target: "22", cluster: "c", label: "c" }, - ], -}; - -export const nodes1589 = { - nodes: [ - { - id: "0", - olabel: "Kuperman_M", - x: 26.22602890442184, - y: 33.48766498594824, - cluster: "A", - label: "0-A", - degree: 1.4422495703074083, - }, - { - id: "1", - olabel: "Acebron_J", - x: 762.9747722969743, - y: 1076.5655474780835, - cluster: "B", - label: "1-B", - degree: 1.5874010519681994, - }, - { - id: "2", - olabel: "Bonilla_L", - x: 753.056692997006, - y: 1017.9822431435797, - cluster: "C", - label: "2-C", - degree: 1.5874010519681994, - }, - { - id: "3", - olabel: "Perezvicente_C", - x: 780.7209197522006, - y: 1043.2465155564882, - cluster: "A", - label: "3-A", - degree: 1.5874010519681994, - }, - { - id: "4", - olabel: "Ritort_F", - x: 720.7513914110218, - y: 1031.8931814456985, - cluster: "B", - label: "4-B", - degree: 1.5874010519681994, - }, - { - id: "5", - olabel: "Spigler_R", - x: 725.8939629672293, - y: 1070.7323716825538, - cluster: "C", - label: "5-C", - degree: 1.5874010519681994, - }, - { - id: "6", - olabel: "Adamic_L", - x: 232.80665735466172, - y: 1024.7862385984115, - cluster: "A", - label: "6-A", - degree: 1.5874010519681994, - }, - { - id: "7", - olabel: "Adar_E", - x: 282.21324055452686, - y: 1040.805009893429, - cluster: "B", - label: "7-B", - degree: 1, - }, - { - id: "8", - olabel: "Huberman_B", - x: 187.78093501739752, - y: 984.9937052834931, - cluster: "C", - label: "8-C", - degree: 1.8171205928321397, - }, - { - id: "9", - olabel: "Lukose_R", - x: 231.7726811466466, - y: 980.0841215194478, - cluster: "A", - label: "9-A", - degree: 1.4422495703074083, - }, - { - id: "10", - olabel: "Puniyani_A", - x: 186.81571738249275, - y: 1027.3189294316453, - cluster: "B", - label: "10-B", - degree: 1.4422495703074083, - }, - { - id: "11", - olabel: "Aertsen_A", - x: 169.631288622247, - y: -318.82954507138595, - cluster: "C", - label: "11-C", - degree: 1.912931182772389, - }, - { - id: "12", - olabel: "Gerstein_G", - x: 178.87731750009542, - y: -377.02813683173326, - cluster: "A", - label: "12-A", - degree: 1.4422495703074083, - }, - { - id: "13", - olabel: "Habib_M", - x: 207.16213271794734, - y: -344.03445947269074, - cluster: "B", - label: "13-B", - degree: 1.4422495703074083, - }, - { - id: "14", - olabel: "Palm_G", - x: 143.36672371991568, - y: -352.65874245166486, - cluster: "C", - label: "14-C", - degree: 1.4422495703074083, - }, - { - id: "15", - olabel: "Afraimovich_V", - x: 950.9584716919528, - y: 825.8835448114284, - cluster: "A", - label: "15-A", - degree: 1.2599210498948732, - }, - { - id: "16", - olabel: "Verichev_N", - x: 969.1542595358858, - y: 778.1775747867533, - cluster: "B", - label: "16-B", - degree: 1.2599210498948732, - }, - { - id: "17", - olabel: "Rabinovich_M", - x: 1002.2909561787844, - y: 816.5380988942067, - cluster: "C", - label: "17-C", - degree: 1.2599210498948732, - }, - { - id: "18", - olabel: "Agrawal_H", - x: -142.11322396404245, - y: -198.33302809323567, - cluster: "A", - label: "18-A", - degree: 0, - }, - { - id: "19", - olabel: "Ahuja_R", - x: -361.48144893456737, - y: 453.3505230660559, - cluster: "B", - label: "19-B", - degree: 1.2599210498948732, - }, - { - id: "20", - olabel: "Magnanti_T", - x: -328.6962598023044, - y: 415.35963139776993, - cluster: "C", - label: "20-C", - degree: 1.2599210498948732, - }, - { - id: "21", - olabel: "Orlin_J", - x: -379.4237415354165, - y: 404.1115137935761, - cluster: "A", - label: "21-A", - degree: 1.2599210498948732, - }, - { - id: "22", - olabel: "Aiello_W", - x: 677.975013993169, - y: -174.9971017880964, - cluster: "B", - label: "22-B", - degree: 1.2599210498948732, - }, - { - id: "23", - olabel: "Chung_F", - x: 653.2043348893678, - y: -222.36805315380067, - cluster: "C", - label: "23-C", - degree: 1.709975946676697, - }, - { - id: "24", - olabel: "Lu_L", - x: 693.9159356830949, - y: -222.81516672350165, - cluster: "A", - label: "24-A", - degree: 1.709975946676697, - }, - { - id: "25", - olabel: "Alba_R", - x: 1130.8810428496574, - y: 63.59369269840533, - cluster: "B", - label: "25-B", - degree: 0, - }, - { - id: "26", - olabel: "Alberich_R", - x: -230.84646543748545, - y: 42.895892314011384, - cluster: "C", - label: "26-C", - degree: 1.2599210498948732, - }, - { - id: "27", - olabel: "Mirojulia_J", - x: -183.12765558033888, - y: 23.204137454101172, - cluster: "A", - label: "27-A", - degree: 1.2599210498948732, - }, - { - id: "28", - olabel: "Rossello_F", - x: -190.08464270812544, - y: 74.92074515269795, - cluster: "B", - label: "28-B", - degree: 1.2599210498948732, - }, - { - id: "29", - olabel: "Albert_R", - x: 366.1238094286407, - y: 461.2890040818969, - cluster: "C", - label: "29-C", - degree: 2.154434690031884, - }, - { - id: "30", - olabel: "Albert_I", - x: 411.75208708099586, - y: 503.2486778049018, - cluster: "A", - label: "30-A", - degree: 1.2599210498948732, - }, - { - id: "31", - olabel: "Nakarado_G", - x: 370.83088732177265, - y: 521.8230239300182, - cluster: "B", - label: "31-B", - degree: 1.2599210498948732, - }, - { - id: "32", - olabel: "Barabasi_A", - x: 338.5811549065092, - y: 417.1950120150372, - cluster: "C", - label: "32-C", - degree: 3.239611801277483, - }, - { - id: "33", - olabel: "Jeong_H", - x: 351.43478556972093, - y: 330.1025120769567, - cluster: "A", - label: "33-A", - degree: 3, - }, - { - id: "34", - olabel: "Alberts_B", - x: 366.48751976081627, - y: 1066.059326640129, - cluster: "B", - label: "34-B", - degree: 1.709975946676697, - }, - { - id: "35", - olabel: "Bray_D", - x: 355.1572248309234, - y: 1033.6740771189257, - cluster: "C", - label: "35-C", - degree: 1.709975946676697, - }, - { - id: "36", - olabel: "Lewis_J", - x: 397.220538257295, - y: 1072.0127773504853, - cluster: "A", - label: "36-A", - degree: 1.709975946676697, - }, - { - id: "37", - olabel: "Raff_M", - x: 419.0020811719315, - y: 1045.810990479428, - cluster: "B", - label: "37-B", - degree: 1.709975946676697, - }, - { - id: "38", - olabel: "Roberts_K", - x: 408.47299033155286, - y: 1016.314092941727, - cluster: "C", - label: "38-C", - degree: 1.709975946676697, - }, - { - id: "39", - olabel: "Watson_J", - x: 377.5883902548084, - y: 1009.5031497671828, - cluster: "A", - label: "39-A", - degree: 1.709975946676697, - }, - { - id: "40", - olabel: "Aldana_M", - x: -271.2265373929837, - y: 785.4361748516999, - cluster: "B", - label: "40-B", - degree: 0, - }, - { - id: "41", - olabel: "Aldous_D", - x: -154.347599484381, - y: 296.16783061463593, - cluster: "C", - label: "41-C", - degree: 1, - }, - { - id: "42", - olabel: "Pittel_B", - x: -136.59155066884966, - y: 344.6239698584075, - cluster: "A", - label: "42-A", - degree: 1, - }, - { - id: "43", - olabel: "Aleksiejuk_A", - x: 173.36788038959003, - y: 283.62881004311186, - cluster: "B", - label: "43-B", - degree: 1.2599210498948732, - }, - { - id: "44", - olabel: "Holyst_J", - x: 135.90751734288398, - y: 256.7355411624484, - cluster: "C", - label: "44-C", - degree: 1.8171205928321397, - }, - { - id: "45", - olabel: "Stauffer_D", - x: 155.78254780513132, - y: 340.5633778974935, - cluster: "A", - label: "45-A", - degree: 2.2894284851066637, - }, - { - id: "46", - olabel: "Allaria_E", - x: 533.8208087639604, - y: 678.7283998660142, - cluster: "B", - label: "46-B", - degree: 1.4422495703074083, - }, - { - id: "47", - olabel: "Arecchi_F", - x: 552.5613177364871, - y: 633.2501615773097, - cluster: "C", - label: "47-C", - degree: 1.8171205928321397, - }, - { - id: "48", - olabel: "Digarbo_A", - x: 575.8926314941893, - y: 689.6017058691314, - cluster: "A", - label: "48-A", - degree: 1.4422495703074083, - }, - { - id: "49", - olabel: "Meucci_R", - x: 594.9561023892414, - y: 647.4219971618055, - cluster: "B", - label: "49-B", - degree: 1.4422495703074083, - }, - { - id: "50", - olabel: "Almaas_E", - x: 379.84356604706176, - y: 383.83053702417305, - cluster: "C", - label: "50-C", - degree: 2.080083823051904, - }, - { - id: "51", - olabel: "Kovacs_B", - x: 351.6534959177693, - y: 350.81404980398815, - cluster: "A", - label: "51-A", - degree: 1.5874010519681994, - }, - { - id: "52", - olabel: "Vicsek_T", - x: 321.37222288006586, - y: 298.7999674039417, - cluster: "B", - label: "52-B", - degree: 2.5198420997897464, - }, - { - id: "53", - olabel: "Oltvai_Z", - x: 327.668578454135, - y: 400.9790648042079, - cluster: "C", - label: "53-C", - degree: 2.7589241763811203, - }, - { - id: "54", - olabel: "Krapivsky_P", - x: 431.16793499991456, - y: 421.114971212521, - cluster: "A", - label: "54-A", - degree: 2.080083823051904, - }, - { - id: "55", - olabel: "Redner_S", - x: 425.97696705220994, - y: 402.01946914566673, - cluster: "B", - label: "55-B", - degree: 2, - }, - { - id: "56", - olabel: "Kulkarni_R", - x: 427.6492954629509, - y: 349.5217973604171, - cluster: "C", - label: "56-C", - degree: 1.4422495703074083, - }, - { - id: "57", - olabel: "Stroud_D", - x: 432.63005494013566, - y: 403.38411044525674, - cluster: "A", - label: "57-A", - degree: 1.2599210498948732, - }, - { - id: "58", - olabel: "Alon_N", - x: -243.82758179945253, - y: 401.56221110357137, - cluster: "B", - label: "58-B", - degree: 1.2599210498948732, - }, - { - id: "59", - olabel: "Yuster_R", - x: -199.91250621861067, - y: 428.9077406175801, - cluster: "C", - label: "59-C", - degree: 1.2599210498948732, - }, - { - id: "60", - olabel: "Zwick_U", - x: -246.17576469515828, - y: 453.218413567331, - cluster: "A", - label: "60-A", - degree: 1.2599210498948732, - }, - { - id: "61", - olabel: "Alon_U", - x: 861.5139228545198, - y: 106.57462803383032, - cluster: "B", - label: "61-B", - degree: 2.668401648721945, - }, - { - id: "62", - olabel: "Surette_M", - x: 860.4400494828877, - y: 158.45777236403728, - cluster: "C", - label: "62-C", - degree: 2.080083823051904, - }, - { - id: "63", - olabel: "Barkai_N", - x: 831.0247290391778, - y: 145.73426809379407, - cluster: "A", - label: "63-A", - degree: 1.912931182772389, - }, - { - id: "64", - olabel: "Leiber_S", - x: 804.0823361782718, - y: 132.46852535665593, - cluster: "B", - label: "64-B", - degree: 1.4422495703074083, - }, - { - id: "65", - olabel: "Alter_O", - x: 557.2894270552255, - y: 1075.0948741138332, - cluster: "C", - label: "65-C", - degree: 1.2599210498948732, - }, - { - id: "66", - olabel: "Brown_P", - x: 608.0593125519623, - y: 1085.2796370437438, - cluster: "A", - label: "66-A", - degree: 1.2599210498948732, - }, - { - id: "67", - olabel: "Botstein_D", - x: 573.0563222363766, - y: 1123.981839638713, - cluster: "B", - label: "67-B", - degree: 1.2599210498948732, - }, - { - id: "68", - olabel: "Amaral_L", - x: 468.65136311652725, - y: 259.5878706999372, - cluster: "C", - label: "68-C", - degree: 2.2894284851066637, - }, - { - id: "69", - olabel: "Scala_A", - x: 518.4594909026472, - y: 258.9770803953774, - cluster: "A", - label: "69-A", - degree: 1.4422495703074083, - }, - { - id: "70", - olabel: "Barthelemy_M", - x: 549.8323685780148, - y: 315.37075656422587, - cluster: "B", - label: "70-B", - degree: 2.2239800905693152, - }, - { - id: "71", - olabel: "Stanley_H", - x: 465.6943005961387, - y: 228.1179035155226, - cluster: "C", - label: "71-C", - degree: 2.154434690031884, - }, - { - id: "72", - olabel: "Amengual_A", - x: 181.6630430923958, - y: 31.579715378410032, - cluster: "A", - label: "72-A", - degree: 1.4422495703074083, - }, - { - id: "73", - olabel: "Hernandezgarcia_E", - x: 204.16157726453727, - y: 68.20550891929832, - cluster: "B", - label: "73-B", - degree: 1.4422495703074083, - }, - { - id: "74", - olabel: "Montagne_R", - x: 213.3704904651828, - y: 5.466754273026092, - cluster: "C", - label: "74-C", - degree: 1.4422495703074083, - }, - { - id: "75", - olabel: "Sanmiguel_M", - x: 241.91748667602366, - y: 42.65022759844667, - cluster: "A", - label: "75-A", - degree: 1.8171205928321397, - }, - { - id: "76", - olabel: "Ancelmeyers_L", - x: 189.6522582358684, - y: 371.2706047002947, - cluster: "B", - label: "76-B", - degree: 1.4422495703074083, - }, - { - id: "77", - olabel: "Newman_M", - x: 227.1835229149581, - y: 402.8644522734153, - cluster: "C", - label: "77-C", - degree: 3, - }, - { - id: "78", - olabel: "Martin_M", - x: 177.22577092168714, - y: 435.0212400052293, - cluster: "A", - label: "78-A", - degree: 1.4422495703074083, - }, - { - id: "79", - olabel: "Schrag_S", - x: 158.20742706485612, - y: 398.0030868815084, - cluster: "B", - label: "79-B", - degree: 1.4422495703074083, - }, - { - id: "80", - olabel: "Anderson_C", - x: 16.67604437070923, - y: 618.1925671864431, - cluster: "C", - label: "80-C", - degree: 1.2599210498948732, - }, - { - id: "81", - olabel: "Wasserman_S", - x: -27.230010797897293, - y: 585.3637218270544, - cluster: "A", - label: "81-A", - degree: 1.5874010519681994, - }, - { - id: "82", - olabel: "Crouch_B", - x: -30.949382856782755, - y: 638.9820296922918, - cluster: "B", - label: "82-B", - degree: 1.2599210498948732, - }, - { - id: "83", - olabel: "Anderson_P", - x: -198.62719934828587, - y: 603.9653632328807, - cluster: "C", - label: "83-C", - degree: 1.2599210498948732, - }, - { - id: "84", - olabel: "Arrow_K", - x: -148.36845017536726, - y: 595.9646285482156, - cluster: "A", - label: "84-A", - degree: 1.2599210498948732, - }, - { - id: "85", - olabel: "Pines_D", - x: -182.06990192579573, - y: 555.5112833249616, - cluster: "B", - label: "85-B", - degree: 1.2599210498948732, - }, - { - id: "86", - olabel: "Anderson_R", - x: 306.4872452976673, - y: -207.08595612593825, - cluster: "C", - label: "86-C", - degree: 1.2599210498948732, - }, - { - id: "87", - olabel: "May_R", - x: 255.09118329498247, - y: -212.17523400332797, - cluster: "A", - label: "87-A", - degree: 1.5874010519681994, - }, - { - id: "88", - olabel: "Andersson_H", - x: 467.69718241151696, - y: -408.94796002818356, - cluster: "B", - label: "88-B", - degree: 0, - }, - { - id: "89", - olabel: "Antal_T", - x: 483.3174903762191, - y: 422.5787568711627, - cluster: "C", - label: "89-C", - degree: 1, - }, - { - id: "90", - olabel: "Apic_G", - x: 236.77716009745785, - y: -125.51953964936054, - cluster: "A", - label: "90-A", - degree: 1.2599210498948732, - }, - { - id: "91", - olabel: "Gough_J", - x: 235.2247203914756, - y: -175.22819007134134, - cluster: "B", - label: "91-B", - degree: 1.2599210498948732, - }, - { - id: "92", - olabel: "Teichmann_S", - x: 281.75256430404875, - y: -150.75802346593994, - cluster: "C", - label: "92-C", - degree: 1.2599210498948732, - }, - { - id: "93", - olabel: "Arenas_A", - x: 623.630413799889, - y: 330.85657586948065, - cluster: "A", - label: "93-A", - degree: 2.080083823051904, - }, - { - id: "94", - olabel: "Cabrales_A", - x: 652.0287078814205, - y: 278.5437097374396, - cluster: "B", - label: "94-B", - degree: 1.5874010519681994, - }, - { - id: "95", - olabel: "Diazguilera_A", - x: 650.2491506360584, - y: 319.7644710460025, - cluster: "C", - label: "95-C", - degree: 2.46621207433047, - }, - { - id: "96", - olabel: "Guimera_R", - x: 576.461240320604, - y: 271.0495184455709, - cluster: "A", - label: "96-A", - degree: 2.2239800905693152, - }, - { - id: "97", - olabel: "Vegaredondo_F", - x: 624.8897823121064, - y: 262.4659449451634, - cluster: "B", - label: "97-B", - degree: 1.5874010519681994, - }, - { - id: "98", - olabel: "Danon_L", - x: 644.8708633666953, - y: 273.3805448573515, - cluster: "C", - label: "98-C", - degree: 1.709975946676697, - }, - { - id: "99", - olabel: "Gleiser_P", - x: 617.6632078673686, - y: 274.277477904013, - cluster: "A", - label: "99-A", - degree: 1.5874010519681994, - }, - { - id: "100", - olabel: "Arita_M", - x: 423.48833539218765, - y: 1195.0409283828624, - cluster: "B", - label: "100-B", - degree: 0, - }, - { - id: "101", - olabel: "Ashwin_P", - x: 790.5511239281931, - y: -233.04527008337922, - cluster: "C", - label: "101-C", - degree: 1.2599210498948732, - }, - { - id: "102", - olabel: "Buescu_J", - x: 740.135991223458, - y: -223.19642675036766, - cluster: "A", - label: "102-A", - degree: 1.2599210498948732, - }, - { - id: "103", - olabel: "Stewart_I", - x: 772.3325508509155, - y: -184.7818909383405, - cluster: "B", - label: "103-B", - degree: 1.2599210498948732, - }, - { - id: "104", - olabel: "Atay_F", - x: 907.9370142338845, - y: 894.3530908325605, - cluster: "C", - label: "104-C", - degree: 1.2599210498948732, - }, - { - id: "105", - olabel: "Jost_J", - x: 898.4748598698233, - y: 842.0196520674226, - cluster: "A", - label: "105-A", - degree: 1.4422495703074083, - }, - { - id: "106", - olabel: "Wende_A", - x: 945.6430365480581, - y: 858.5404580631607, - cluster: "B", - label: "106-B", - degree: 1.2599210498948732, - }, - { - id: "107", - olabel: "Aumann_R", - x: 731.5056543698747, - y: 979.8834717617518, - cluster: "C", - label: "107-C", - degree: 1, - }, - { - id: "108", - olabel: "Hart_S", - x: 702.2382451062969, - y: 937.9582890135448, - cluster: "A", - label: "108-A", - degree: 1, - }, - { - id: "109", - olabel: "Axelrod_R", - x: -312.2529188338993, - y: 363.1519673573536, - cluster: "B", - label: "109-B", - degree: 0, - }, - { - id: "110", - olabel: "Bader_G", - x: 1020.8907059498191, - y: 326.08801672857896, - cluster: "C", - label: "110-C", - degree: 1, - }, - { - id: "111", - olabel: "Hogue_C", - x: 1031.3190280355936, - y: 276.1498952167141, - cluster: "A", - label: "111-A", - degree: 1, - }, - { - id: "112", - olabel: "Baiesi_M", - x: 597.0877174615775, - y: 542.5953625775473, - cluster: "B", - label: "112-B", - degree: 1, - }, - { - id: "113", - olabel: "Paczuski_M", - x: 561.0195829919986, - y: 505.90087913463657, - cluster: "C", - label: "113-C", - degree: 1.4422495703074083, - }, - { - id: "114", - olabel: "Bailey_N", - x: -275.4954638830583, - y: 725.4482128223023, - cluster: "A", - label: "114-A", - degree: 0, - }, - { - id: "115", - olabel: "Baird_D", - x: 613.9529808572793, - y: -179.22123397959987, - cluster: "B", - label: "115-B", - degree: 1, - }, - { - id: "116", - olabel: "Ulanowicz_R", - x: 662.9305603488668, - y: -161.0694639507385, - cluster: "C", - label: "116-C", - degree: 1.709975946676697, - }, - { - id: "117", - olabel: "Baker_W", - x: 96.25957488723007, - y: -134.01148943829605, - cluster: "A", - label: "117-A", - degree: 1.4422495703074083, - }, - { - id: "118", - olabel: "Faulkner_R", - x: 125.49498468795007, - y: -177.71193078528222, - cluster: "B", - label: "118-B", - degree: 1, - }, - { - id: "119", - olabel: "Bak_P", - x: 202.5754973539644, - y: 262.2722620199964, - cluster: "C", - label: "119-C", - degree: 1, - }, - { - id: "120", - olabel: "Sneppen_K", - x: 241.87428590043302, - y: 299.2099197835236, - cluster: "A", - label: "120-A", - degree: 2.080083823051904, - }, - { - id: "121", - olabel: "Ball_F", - x: 941.9226930378551, - y: 439.07939667306096, - cluster: "B", - label: "121-B", - degree: 1.2599210498948732, - }, - { - id: "122", - olabel: "Mollison_D", - x: 951.970669653041, - y: 490.7589294883544, - cluster: "C", - label: "122-C", - degree: 1.2599210498948732, - }, - { - id: "123", - olabel: "Scaliatomba_G", - x: 990.8172844822197, - y: 456.01800873226125, - cluster: "A", - label: "123-A", - degree: 1.2599210498948732, - }, - { - id: "124", - olabel: "Ball_P", - x: 1000.2526523102302, - y: 263.7197585460644, - cluster: "B", - label: "124-B", - degree: 0, - }, - { - id: "125", - olabel: "Banavar_J", - x: 764.4251503170645, - y: 401.81872732477336, - cluster: "C", - label: "125-C", - degree: 1.8171205928321397, - }, - { - id: "126", - olabel: "Maritan_A", - x: 700.2520570042503, - y: 407.3345509519499, - cluster: "A", - label: "126-A", - degree: 2.2894284851066637, - }, - { - id: "127", - olabel: "Rinaldo_A", - x: 737.2472142511053, - y: 439.5672245460782, - cluster: "B", - label: "127-B", - degree: 1.709975946676697, - }, - { - id: "128", - olabel: "Banks_D", - x: 1192.843744670072, - y: 454.2860518515217, - cluster: "C", - label: "128-C", - degree: 1, - }, - { - id: "129", - olabel: "Carley_K", - x: 1189.7837193990044, - y: 403.1638248601295, - cluster: "A", - label: "129-A", - degree: 1, - }, - { - id: "130", - olabel: "Bianconi_G", - x: 403.8904671519672, - y: 365.7230491832245, - cluster: "B", - label: "130-B", - degree: 1.5874010519681994, - }, - { - id: "131", - olabel: "Ravasz_E", - x: 277.5751055793852, - y: 375.6433646156327, - cluster: "C", - label: "131-C", - degree: 2.154434690031884, - }, - { - id: "132", - olabel: "Neda_Z", - x: 339.116465210139, - y: 359.48229216111446, - cluster: "A", - label: "132-A", - degree: 2, - }, - { - id: "133", - olabel: "Schubert_A", - x: 289.2528508215826, - y: 349.47898751779826, - cluster: "B", - label: "133-B", - degree: 2, - }, - { - id: "134", - olabel: "Barahona_M", - x: 501.1676185757558, - y: 652.0944838191909, - cluster: "C", - label: "134-C", - degree: 1, - }, - { - id: "135", - olabel: "Pecora_L", - x: 551.8072253142345, - y: 657.502837965088, - cluster: "A", - label: "135-A", - degree: 1.912931182772389, - }, - { - id: "136", - olabel: "Barbour_A", - x: -242.74712884500832, - y: 725.2706633495707, - cluster: "B", - label: "136-B", - degree: 1, - }, - { - id: "137", - olabel: "Reinert_G", - x: -243.85378261960633, - y: 673.9365123278575, - cluster: "C", - label: "137-C", - degree: 1, - }, - { - id: "138", - olabel: "Barjoseph_Z", - x: 1003.4176255179544, - y: 609.0590534201515, - cluster: "A", - label: "138-A", - degree: 2.080083823051904, - }, - { - id: "139", - olabel: "Gerber_G", - x: 942.1612144885444, - y: 602.943325431745, - cluster: "B", - label: "139-B", - degree: 2.080083823051904, - }, - { - id: "140", - olabel: "Lee_T", - x: 976.774631991718, - y: 552.6339968217047, - cluster: "C", - label: "140-C", - degree: 2.080083823051904, - }, - { - id: "141", - olabel: "Rinaldi_N", - x: 985.065054248429, - y: 625.2364592831557, - cluster: "A", - label: "141-A", - degree: 2.080083823051904, - }, - { - id: "142", - olabel: "Yoo_J", - x: 950.6154036591444, - y: 558.4399623129997, - cluster: "B", - label: "142-B", - degree: 2.080083823051904, - }, - { - id: "143", - olabel: "Robert_F", - x: 973.9736812859985, - y: 588.7762159999525, - cluster: "C", - label: "143-C", - degree: 2.080083823051904, - }, - { - id: "144", - olabel: "Gordon_D", - x: 997.6913097857141, - y: 563.3680162882708, - cluster: "A", - label: "144-A", - degree: 2.080083823051904, - }, - { - id: "145", - olabel: "Fraenkel_E", - x: 961.7005535514903, - y: 621.2035744565769, - cluster: "B", - label: "145-B", - degree: 2.080083823051904, - }, - { - id: "146", - olabel: "Jaakkola_T", - x: 1009.0567390531979, - y: 585.2273936519118, - cluster: "C", - label: "146-C", - degree: 2.080083823051904, - }, - { - id: "147", - olabel: "Young_R", - x: 940.3777977453744, - y: 578.9585947700059, - cluster: "A", - label: "147-A", - degree: 2.080083823051904, - }, - { - id: "148", - olabel: "Barrat_A", - x: 604.3701820444569, - y: 352.56107253239895, - cluster: "B", - label: "148-B", - degree: 1.5874010519681994, - }, - { - id: "149", - olabel: "Pastorsatorras_R", - x: 589.6628198069884, - y: 389.04865452709856, - cluster: "C", - label: "149-C", - degree: 2.46621207433047, - }, - { - id: "150", - olabel: "Vespignani_A", - x: 642.492879038252, - y: 377.82536350030927, - cluster: "A", - label: "150-A", - degree: 2.4101422641752297, - }, - { - id: "151", - olabel: "Weigt_M", - x: 650.9657684167126, - y: 395.5887296712313, - cluster: "B", - label: "151-B", - degree: 1.2599210498948732, - }, - { - id: "152", - olabel: "Barreto_E", - x: 671.0619352913649, - y: -18.968884866836884, - cluster: "C", - label: "152-C", - degree: 1.4422495703074083, - }, - { - id: "153", - olabel: "So_P", - x: 710.4693925231123, - y: 31.58595100609458, - cluster: "A", - label: "153-A", - degree: 1.4422495703074083, - }, - { - id: "154", - olabel: "Gluckmann_B", - x: 666.2389316417633, - y: 24.479631962054356, - cluster: "B", - label: "154-B", - degree: 1.4422495703074083, - }, - { - id: "155", - olabel: "Schiff_S", - x: 715.9981598696834, - y: -12.287254280497523, - cluster: "C", - label: "155-C", - degree: 1.4422495703074083, - }, - { - id: "156", - olabel: "Gondran_B", - x: 567.0363320945801, - y: 266.54504943836423, - cluster: "A", - label: "156-A", - degree: 1.2599210498948732, - }, - { - id: "157", - olabel: "Guichard_E", - x: 603.2101341574833, - y: 305.8072143581205, - cluster: "B", - label: "157-B", - degree: 1.2599210498948732, - }, - { - id: "158", - olabel: "Baryam_Y", - x: -352.9729129938605, - y: 122.0914719458274, - cluster: "C", - label: "158-C", - degree: 0, - }, - { - id: "159", - olabel: "Batagelj_V", - x: -324.4246015873293, - y: 206.08700385737566, - cluster: "A", - label: "159-A", - degree: 1, - }, - { - id: "160", - olabel: "Mrvar_A", - x: -338.38287759558085, - y: 255.5217905100444, - cluster: "B", - label: "160-B", - degree: 1, - }, - { - id: "161", - olabel: "Battiston_S", - x: 608.6888765987899, - y: 190.6284268257541, - cluster: "C", - label: "161-C", - degree: 1.709975946676697, - }, - { - id: "162", - olabel: "Catanzaro_M", - x: 625.6278981808005, - y: 142.00523384813783, - cluster: "A", - label: "162-A", - degree: 1, - }, - { - id: "163", - olabel: "Batty_M", - x: 1034.9958130639925, - y: 490.2064554445967, - cluster: "B", - label: "163-B", - degree: 1, - }, - { - id: "164", - olabel: "Longley_P", - x: 1026.7016875182753, - y: 540.4007487599921, - cluster: "C", - label: "164-C", - degree: 1, - }, - { - id: "165", - olabel: "Bauer_M", - x: 891.2815190809828, - y: 981.716289177186, - cluster: "A", - label: "165-A", - degree: 1.2599210498948732, - }, - { - id: "166", - olabel: "Bernard_D", - x: 839.9861920944511, - y: 985.3571028138074, - cluster: "B", - label: "166-B", - degree: 1, - }, - { - id: "167", - olabel: "Bavelas_A", - x: 1186.687996699901, - y: 529.003879166695, - cluster: "C", - label: "167-C", - degree: 0, - }, - { - id: "168", - olabel: "Bchklovskii_D", - x: 402.30958866075457, - y: -374.8874519465581, - cluster: "A", - label: "168-A", - degree: 1.2599210498948732, - }, - { - id: "169", - olabel: "Schikorski_T", - x: 452.76059946587816, - y: -359.24022348726857, - cluster: "B", - label: "169-B", - degree: 1.2599210498948732, - }, - { - id: "170", - olabel: "Stevens_C", - x: 441.716165308534, - y: -408.0048845765867, - cluster: "C", - label: "170-C", - degree: 1.4422495703074083, - }, - { - id: "171", - olabel: "Bearman_P", - x: 801.5742165344656, - y: 1010.0939012589745, - cluster: "A", - label: "171-A", - degree: 1.2599210498948732, - }, - { - id: "172", - olabel: "Moody_J", - x: 820.5107309680698, - y: 962.4620489437692, - cluster: "B", - label: "172-B", - degree: 1.2599210498948732, - }, - { - id: "173", - olabel: "Stovel_K", - x: 770.2226229075743, - y: 968.8116152136533, - cluster: "C", - label: "173-C", - degree: 1.2599210498948732, - }, - { - id: "174", - olabel: "Bekessy_A", - x: 53.75863958289639, - y: -229.15401809770543, - cluster: "A", - label: "174-A", - degree: 1.2599210498948732, - }, - { - id: "175", - olabel: "Bekessy_P", - x: 55.17572257381667, - y: -281.99109158825723, - cluster: "B", - label: "175-B", - degree: 1.2599210498948732, - }, - { - id: "176", - olabel: "Komlos_J", - x: 10.81031846684468, - y: -255.58875985689497, - cluster: "C", - label: "176-C", - degree: 1.4422495703074083, - }, - { - id: "177", - olabel: "Bell_H", - x: 66.09585971767066, - y: -268.0549546346574, - cluster: "A", - label: "177-A", - degree: 0, - }, - { - id: "178", - olabel: "Belykh_I", - x: 488.5230552332, - y: -193.4963232977411, - cluster: "B", - label: "178-B", - degree: 1.2599210498948732, - }, - { - id: "179", - olabel: "Belykh_V", - x: 444.6280502492138, - y: -166.47938639280676, - cluster: "C", - label: "179-C", - degree: 1.2599210498948732, - }, - { - id: "180", - olabel: "Hasler_M", - x: 490.1637584090743, - y: -142.1121018779945, - cluster: "A", - label: "180-A", - degree: 1.2599210498948732, - }, - { - id: "181", - olabel: "Bender_E", - x: 139.04178692496964, - y: 1013.6194381946337, - cluster: "B", - label: "181-B", - degree: 1, - }, - { - id: "182", - olabel: "Canfield_E", - x: 99.74205395660147, - y: 981.8295706526877, - cluster: "C", - label: "182-C", - degree: 1, - }, - { - id: "183", - olabel: "Bennaim_E", - x: 477.3713750191685, - y: 449.1020680986353, - cluster: "A", - label: "183-A", - degree: 1.5874010519681994, - }, - { - id: "184", - olabel: "Frauenfelder_H", - x: 449.2793188785274, - y: 495.2403550404966, - cluster: "B", - label: "184-B", - degree: 1.2599210498948732, - }, - { - id: "185", - olabel: "Toroczkai_Z", - x: 499.031113334443, - y: 505.0897443545757, - cluster: "C", - label: "185-C", - degree: 1.8171205928321397, - }, - { - id: "186", - olabel: "Berg_J", - x: -17.529470848582765, - y: 1038.522596251808, - cluster: "A", - label: "186-A", - degree: 1.2599210498948732, - }, - { - id: "187", - olabel: "Lassig_M", - x: 33.70444677882968, - y: 1026.4393910825468, - cluster: "B", - label: "187-B", - degree: 1.2599210498948732, - }, - { - id: "188", - olabel: "Wagner_A", - x: -0.36716224980531137, - y: 989.394647885725, - cluster: "C", - label: "188-C", - degree: 1.709975946676697, - }, - { - id: "189", - olabel: "Berlow_E", - x: 376.6054725599951, - y: 453.66663832790925, - cluster: "A", - label: "189-A", - degree: 1.5874010519681994, - }, - { - id: "190", - olabel: "Bernardes_A", - x: 82.71522124756379, - y: 307.191856531329, - cluster: "B", - label: "190-B", - degree: 1.5874010519681994, - }, - { - id: "191", - olabel: "Costa_U", - x: 126.64972588486556, - y: 291.62754007160004, - cluster: "C", - label: "191-C", - degree: 1.4422495703074083, - }, - { - id: "192", - olabel: "Araujo_A", - x: 97.3510759617776, - y: 344.6450233458732, - cluster: "A", - label: "192-A", - degree: 1.4422495703074083, - }, - { - id: "193", - olabel: "Kertesz_J", - x: 106.91252322080362, - y: 264.1088213156669, - cluster: "B", - label: "193-B", - degree: 2.154434690031884, - }, - { - id: "194", - olabel: "Bernard_H", - x: -144.5672598062467, - y: 41.92665299034045, - cluster: "C", - label: "194-C", - degree: 1.5874010519681994, - }, - { - id: "195", - olabel: "Killworth_P", - x: -129.39684709962825, - y: 77.0953069631436, - cluster: "A", - label: "195-A", - degree: 1.5874010519681994, - }, - { - id: "196", - olabel: "Evans_M", - x: -82.8023213316255, - y: 32.92395411605512, - cluster: "B", - label: "196-B", - degree: 1.5874010519681994, - }, - { - id: "197", - olabel: "Mccarty_C", - x: -115.71263917983883, - y: 17.3211322102605, - cluster: "C", - label: "197-C", - degree: 1.5874010519681994, - }, - { - id: "198", - olabel: "Shelley_G", - x: -92.34481670795728, - y: 70.91741327194195, - cluster: "A", - label: "198-A", - degree: 1.5874010519681994, - }, - { - id: "199", - olabel: "Bhan_A", - x: 701.950148105426, - y: -310.15320052609525, - cluster: "B", - label: "199-B", - degree: 1.2599210498948732, - }, - { - id: "200", - olabel: "Galas_D", - x: 712.8558468564735, - y: -257.4490832845917, - cluster: "C", - label: "200-C", - degree: 1.5874010519681994, - }, - { - id: "201", - olabel: "Dewey_T", - x: 669.9973763632379, - y: -268.658961881166, - cluster: "A", - label: "201-A", - degree: 1.5874010519681994, - }, - { - id: "202", - olabel: "Capocci_A", - x: 502.0441391376805, - y: 258.2297432693008, - cluster: "B", - label: "202-B", - degree: 1.8171205928321397, - }, - { - id: "203", - olabel: "Biggs_N", - x: 841.9522675557446, - y: -108.88776204667315, - cluster: "C", - label: "203-C", - degree: 0, - }, - { - id: "204", - olabel: "Bilke_S", - x: 1061.033775245569, - y: 593.9654019805793, - cluster: "A", - label: "204-A", - degree: 1, - }, - { - id: "205", - olabel: "Peterson_C", - x: 1076.7266541984527, - y: 545.0046116377836, - cluster: "B", - label: "205-B", - degree: 1, - }, - { - id: "206", - olabel: "Blanchard_P", - x: -163.91402008129114, - y: 157.71450483677836, - cluster: "C", - label: "206-C", - degree: 1.5874010519681994, - }, - { - id: "207", - olabel: "Chang_C", - x: -196.3408602976745, - y: 113.1970665305612, - cluster: "A", - label: "207-A", - degree: 1.2599210498948732, - }, - { - id: "208", - olabel: "Kruger_T", - x: -218.87150597223598, - y: 157.89639519852525, - cluster: "B", - label: "208-B", - degree: 1.2599210498948732, - }, - { - id: "209", - olabel: "Blasius_B", - x: 1044.560850916277, - y: 447.4423256810121, - cluster: "C", - label: "209-C", - degree: 1.2599210498948732, - }, - { - id: "210", - olabel: "Huppert_A", - x: 1008.6914791168487, - y: 484.9115221098019, - cluster: "A", - label: "210-A", - degree: 1.2599210498948732, - }, - { - id: "211", - olabel: "Stone_L", - x: 995.306891154361, - y: 433.9332000259953, - cluster: "B", - label: "211-B", - degree: 1.2599210498948732, - }, - { - id: "212", - olabel: "Blower_S", - x: 695.8874016160893, - y: 633.2981682184671, - cluster: "C", - label: "212-C", - degree: 1.2599210498948732, - }, - { - id: "213", - olabel: "Samuel_M", - x: 727.2199227494842, - y: 674.5802510080011, - cluster: "A", - label: "213-A", - degree: 1.2599210498948732, - }, - { - id: "214", - olabel: "Wiley_J", - x: 678.1949699579574, - y: 682.7835198945693, - cluster: "B", - label: "214-B", - degree: 1.2599210498948732, - }, - { - id: "215", - olabel: "Boccaletti_S", - x: 590.2013755385494, - y: 608.8989910893514, - cluster: "C", - label: "215-C", - degree: 2.668401648721945, - }, - { - id: "216", - olabel: "Bragard_J", - x: 623.0492654130597, - y: 640.0982730481618, - cluster: "A", - label: "216-A", - degree: 1.709975946676697, - }, - { - id: "217", - olabel: "Mancini_H", - x: 595.4623308017649, - y: 656.1584525716739, - cluster: "B", - label: "217-B", - degree: 2.080083823051904, - }, - { - id: "218", - olabel: "Kurths_J", - x: 550.6948960153976, - y: 707.444388695336, - cluster: "C", - label: "218-C", - degree: 2.6207413942088964, - }, - { - id: "219", - olabel: "Valladares_D", - x: 558.0512480703347, - y: 645.4244069393769, - cluster: "A", - label: "219-A", - degree: 1.8171205928321397, - }, - { - id: "220", - olabel: "Osipov_G", - x: 530.6784090297989, - y: 669.2545575680729, - cluster: "B", - label: "220-B", - degree: 1.8171205928321397, - }, - { - id: "221", - olabel: "Zhou_C", - x: 593.827590352103, - y: 673.887101381504, - cluster: "C", - label: "221-C", - degree: 1.709975946676697, - }, - { - id: "222", - olabel: "Pelaez_A", - x: 533.394611083016, - y: 613.1272249996669, - cluster: "A", - label: "222-A", - degree: 1.2599210498948732, - }, - { - id: "223", - olabel: "Maza_D", - x: 615.6310569503055, - y: 673.0812823670713, - cluster: "B", - label: "223-B", - degree: 1.709975946676697, - }, - { - id: "224", - olabel: "Boguna_M", - x: 631.580080073776, - y: 410.7921891393011, - cluster: "C", - label: "224-C", - degree: 1.8171205928321397, - }, - { - id: "225", - olabel: "Bohland_J", - x: 374.93605482188593, - y: -357.66546081701995, - cluster: "A", - label: "225-A", - degree: 1, - }, - { - id: "226", - olabel: "Minai_A", - x: 323.34867937370655, - y: -363.0723354163659, - cluster: "B", - label: "226-B", - degree: 1.2599210498948732, - }, - { - id: "227", - olabel: "Bollobas_B", - x: -152.3984888588961, - y: 463.01421806808145, - cluster: "C", - label: "227-C", - degree: 1.4422495703074083, - }, - { - id: "228", - olabel: "Riordan_O", - x: -167.90228083950754, - y: 422.09313902416955, - cluster: "A", - label: "228-A", - degree: 1.4422495703074083, - }, - { - id: "229", - olabel: "Spencer_J", - x: -210.76656998827048, - y: 438.24339207376994, - cluster: "B", - label: "229-B", - degree: 1.4422495703074083, - }, - { - id: "230", - olabel: "Tusnady_G", - x: -194.76628948236953, - y: 478.6979396133808, - cluster: "C", - label: "230-C", - degree: 1.4422495703074083, - }, - { - id: "231", - olabel: "Bonacich_P", - x: -403.5219641710712, - y: 514.1877548581508, - cluster: "A", - label: "231-A", - degree: 0, - }, - { - id: "232", - olabel: "Bonanno_G", - x: 440.89004845567865, - y: 151.16541532756966, - cluster: "B", - label: "232-B", - degree: 1.2599210498948732, - }, - { - id: "233", - olabel: "Lillo_F", - x: 486.228616546761, - y: 124.50538160881335, - cluster: "C", - label: "233-C", - degree: 1.2599210498948732, - }, - { - id: "234", - olabel: "Mantegna_R", - x: 488.04074428564724, - y: 178.06890988660976, - cluster: "A", - label: "234-A", - degree: 1.4422495703074083, - }, - { - id: "235", - olabel: "Bonnekoh_J", - x: -197.60107607271215, - y: 952.2830122145418, - cluster: "B", - label: "235-B", - degree: 0, - }, - { - id: "236", - olabel: "Bordens_M", - x: 1088.5520555975595, - y: 90.94342190233174, - cluster: "C", - label: "236-C", - degree: 1, - }, - { - id: "237", - olabel: "Gomez_I", - x: 1065.2040595628723, - y: 136.58882668873295, - cluster: "A", - label: "237-A", - degree: 1, - }, - { - id: "238", - olabel: "Borgatti_S", - x: 297.10331156385575, - y: 1071.1345548809493, - cluster: "B", - label: "238-B", - degree: 1.8171205928321397, - }, - { - id: "239", - olabel: "Everett_M", - x: 297.1677541757349, - y: 1122.6571949522518, - cluster: "C", - label: "239-C", - degree: 1, - }, - { - id: "240", - olabel: "Foster_P", - x: 249.7822717983707, - y: 1089.9067646761496, - cluster: "A", - label: "240-A", - degree: 1, - }, - { - id: "241", - olabel: "Borgers_C", - x: -205.23478519455952, - y: 60.4202417739114, - cluster: "B", - label: "241-B", - degree: 1, - }, - { - id: "242", - olabel: "Kopell_N", - x: -249.7243017369088, - y: 87.9481287968032, - cluster: "C", - label: "242-C", - degree: 1.709975946676697, - }, - { - id: "243", - olabel: "Bornholdt_S", - x: 475.08778894838474, - y: 971.9417992033701, - cluster: "A", - label: "243-A", - degree: 1.8171205928321397, - }, - { - id: "244", - olabel: "Ebel_H", - x: 510.7064266959504, - y: 935.0920210003238, - cluster: "B", - label: "244-B", - degree: 1.4422495703074083, - }, - { - id: "245", - olabel: "Rohlf_T", - x: 424.52292193114954, - y: 961.0211762044862, - cluster: "C", - label: "245-C", - degree: 1, - }, - { - id: "246", - olabel: "Schuster_H", - x: 437.15276668969807, - y: 945.6538250473524, - cluster: "A", - label: "246-A", - degree: 1.5874010519681994, - }, - { - id: "247", - olabel: "Bota_M", - x: 869.8437147621019, - y: 470.9127895515046, - cluster: "B", - label: "247-B", - degree: 1.2599210498948732, - }, - { - id: "248", - olabel: "Dong_H", - x: 891.9771807147819, - y: 517.1298945131479, - cluster: "C", - label: "248-C", - degree: 1.2599210498948732, - }, - { - id: "249", - olabel: "Swanson_L", - x: 920.6222123628979, - y: 475.38038138185243, - cluster: "A", - label: "249-A", - degree: 1.2599210498948732, - }, - { - id: "250", - olabel: "Mendoza_C", - x: 654.3784132712358, - y: 627.5284168825443, - cluster: "B", - label: "250-B", - degree: 1.5874010519681994, - }, - { - id: "251", - olabel: "Hentschel_H", - x: 618.7248567293896, - y: 595.8643450481724, - cluster: "C", - label: "251-C", - degree: 1.912931182772389, - }, - { - id: "252", - olabel: "Brandes_U", - x: 1075.5051329037362, - y: -50.52766627639454, - cluster: "A", - label: "252-A", - degree: 0, - }, - { - id: "253", - olabel: "Breiger_R", - x: 248.8277924386245, - y: 702.0087748113945, - cluster: "B", - label: "253-B", - degree: 1.4422495703074083, - }, - { - id: "254", - olabel: "Boorman_S", - x: 216.47525272249757, - y: 752.7449968781256, - cluster: "C", - label: "254-C", - degree: 1.4422495703074083, - }, - { - id: "255", - olabel: "Arabie_P", - x: 266.7186391287996, - y: 749.1767867349432, - cluster: "A", - label: "255-A", - degree: 1.2599210498948732, - }, - { - id: "256", - olabel: "Bressler_S", - x: 1152.6695741755225, - y: 89.66194833273674, - cluster: "B", - label: "256-B", - degree: 0, - }, - { - id: "257", - olabel: "Brin_S", - x: 830.0262276039821, - y: -164.22993149066932, - cluster: "C", - label: "257-C", - degree: 1.4422495703074083, - }, - { - id: "258", - olabel: "Page_L", - x: 789.8220889799237, - y: -179.63546504340673, - cluster: "A", - label: "258-A", - degree: 1.4422495703074083, - }, - { - id: "259", - olabel: "Broadbent_S", - x: 555.860058579477, - y: -271.6451725120989, - cluster: "B", - label: "259-B", - degree: 1, - }, - { - id: "260", - olabel: "Hammersley_J", - x: 595.7391961488893, - y: -304.11026218318995, - cluster: "C", - label: "260-C", - degree: 1, - }, - { - id: "261", - olabel: "Broder_A", - x: 51.18261588979155, - y: 532.6678026882763, - cluster: "A", - label: "261-A", - degree: 1.912931182772389, - }, - { - id: "262", - olabel: "Kumar_R", - x: 63.47927582023234, - y: 568.1628934988065, - cluster: "B", - label: "262-B", - degree: 2.080083823051904, - }, - { - id: "263", - olabel: "Maghoul_F", - x: 55.62152954986773, - y: 505.59977725722695, - cluster: "C", - label: "263-C", - degree: 1.912931182772389, - }, - { - id: "264", - olabel: "Raghavan_P", - x: 107.92533013197188, - y: 516.5057573873421, - cluster: "A", - label: "264-A", - degree: 2.2239800905693152, - }, - { - id: "265", - olabel: "Rajagopalan_S", - x: 123.08826345298806, - y: 530.4860189464898, - cluster: "B", - label: "265-B", - degree: 2.2239800905693152, - }, - { - id: "266", - olabel: "Stata_R", - x: 97.99068291356515, - y: 568.3319978821329, - cluster: "C", - label: "266-C", - degree: 1.912931182772389, - }, - { - id: "267", - olabel: "Tomkins_A", - x: 87.53043425067519, - y: 498.7331443525407, - cluster: "A", - label: "267-A", - degree: 2.2239800905693152, - }, - { - id: "268", - olabel: "Wiener_J", - x: 84.21872380098856, - y: 543.2721318300929, - cluster: "B", - label: "268-B", - degree: 1.912931182772389, - }, - { - id: "269", - olabel: "Broida_A", - x: -47.860850297502466, - y: 830.7564403032255, - cluster: "C", - label: "269-C", - degree: 1, - }, - { - id: "270", - olabel: "Claffy_K", - x: -91.46683700339511, - y: 804.0970273870709, - cluster: "A", - label: "270-A", - degree: 1, - }, - { - id: "271", - olabel: "Buchanan_M", - x: 922.491582952037, - y: 951.9328203278177, - cluster: "B", - label: "271-B", - degree: 0, - }, - { - id: "272", - olabel: "Buchel_C", - x: 800.1300377724222, - y: 849.6817211541291, - cluster: "C", - label: "272-C", - degree: 1.2599210498948732, - }, - { - id: "273", - olabel: "Coull_J", - x: 756.1925580224802, - y: 826.1239636057056, - cluster: "A", - label: "273-A", - degree: 1.2599210498948732, - }, - { - id: "274", - olabel: "Friston_K", - x: 756.129304659626, - y: 880.4775533158219, - cluster: "B", - label: "274-B", - degree: 1.709975946676697, - }, - { - id: "275", - olabel: "Bucolo_M", - x: 449.3807817250236, - y: 677.4518548788449, - cluster: "C", - label: "275-C", - degree: 1.2599210498948732, - }, - { - id: "276", - olabel: "Fortuna_L", - x: 404.5193160305415, - y: 651.3504671323376, - cluster: "A", - label: "276-A", - degree: 2, - }, - { - id: "277", - olabel: "Larosa_M", - x: 425.83638894031344, - y: 633.4901386902546, - cluster: "B", - label: "277-B", - degree: 2, - }, - { - id: "278", - olabel: "Buhl_J", - x: 517.0498947449469, - y: 396.98346696780504, - cluster: "C", - label: "278-C", - degree: 1.8171205928321397, - }, - { - id: "279", - olabel: "Gautrais_J", - x: 535.8286288734627, - y: 360.51023402349887, - cluster: "A", - label: "279-A", - degree: 1.8171205928321397, - }, - { - id: "280", - olabel: "Sole_R", - x: 471.2908978536005, - y: 401.3086757947733, - cluster: "B", - label: "280-B", - degree: 2.571281590658235, - }, - { - id: "281", - olabel: "Kuntz_P", - x: 554.9987368151882, - y: 391.5220225478602, - cluster: "C", - label: "281-C", - degree: 1.912931182772389, - }, - { - id: "282", - olabel: "Valverde_S", - x: 548.4980736116737, - y: 423.36200197672747, - cluster: "A", - label: "282-A", - degree: 2, - }, - { - id: "283", - olabel: "Deneubourg_J", - x: 512.9420365377418, - y: 430.958556429604, - cluster: "B", - label: "283-B", - degree: 1.8171205928321397, - }, - { - id: "284", - olabel: "Theraulaz_G", - x: 501.5384149740033, - y: 366.90428143345133, - cluster: "C", - label: "284-C", - degree: 1.8171205928321397, - }, - { - id: "285", - olabel: "Burda_Z", - x: -17.89272625750321, - y: -90.65767419120259, - cluster: "A", - label: "285-A", - degree: 1.4422495703074083, - }, - { - id: "286", - olabel: "Correia_J", - x: 34.29563826767741, - y: -101.26417288166013, - cluster: "B", - label: "286-B", - degree: 1.2599210498948732, - }, - { - id: "287", - olabel: "Krzywicki_A", - x: 16.283655521447532, - y: -52.71772394612357, - cluster: "C", - label: "287-C", - degree: 1.4422495703074083, - }, - { - id: "288", - olabel: "Jurkiewicz_J", - x: -33.510087257249126, - y: -40.93027600421515, - cluster: "A", - label: "288-A", - degree: 1.2599210498948732, - }, - { - id: "289", - olabel: "Burioni_R", - x: 1089.4123294950107, - y: 372.8584051225115, - cluster: "B", - label: "289-B", - degree: 1.2599210498948732, - }, - { - id: "290", - olabel: "Cassi_D", - x: 1078.4252208826513, - y: 322.22045821272644, - cluster: "C", - label: "290-C", - degree: 1.2599210498948732, - }, - { - id: "291", - olabel: "Vezzani_A", - x: 1038.7279328090417, - y: 355.22113615773907, - cluster: "A", - label: "291-A", - degree: 1.2599210498948732, - }, - { - id: "292", - olabel: "Burns_G", - x: 315.3131847513656, - y: -35.98509925871261, - cluster: "B", - label: "292-B", - degree: 2.080083823051904, - }, - { - id: "293", - olabel: "Young_M", - x: 287.7137480778839, - y: -38.7166623088895, - cluster: "C", - label: "293-C", - degree: 2.7144176165949063, - }, - { - id: "294", - olabel: "Burt_R", - x: 669.0833077780312, - y: 955.082009064975, - cluster: "A", - label: "294-A", - degree: 0, - }, - { - id: "295", - olabel: "Buzsaki_G", - x: -13.264204006290495, - y: 688.3102665185344, - cluster: "B", - label: "295-B", - degree: 1.5874010519681994, - }, - { - id: "296", - olabel: "Chrobak_J", - x: 32.005650301165716, - y: 662.698801457788, - cluster: "C", - label: "296-C", - degree: 1, - }, - { - id: "297", - olabel: "Geisler_C", - x: -59.56366048919929, - y: 685.2145612772724, - cluster: "A", - label: "297-A", - degree: 1.4422495703074083, - }, - { - id: "298", - olabel: "Henze_D", - x: -14.161200877445145, - y: 729.881048801267, - cluster: "B", - label: "298-B", - degree: 1.4422495703074083, - }, - { - id: "299", - olabel: "Wang_X", - x: -63.71625013964174, - y: 732.6038144002255, - cluster: "C", - label: "299-C", - degree: 1.709975946676697, - }, - { - id: "300", - olabel: "Caldarelli_G", - x: 594.8246430170996, - y: 252.6151925536907, - cluster: "A", - label: "300-A", - degree: 2.2894284851066637, - }, - { - id: "301", - olabel: "Delosrios_P", - x: 550.9951780568234, - y: 223.48481073649972, - cluster: "B", - label: "301-B", - degree: 1.709975946676697, - }, - { - id: "302", - olabel: "Munoz_M", - x: 538.2568201217283, - y: 184.76009668992336, - cluster: "C", - label: "302-C", - degree: 1.912931182772389, - }, - { - id: "303", - olabel: "Coccetti_F", - x: 595.6114960891935, - y: 198.45357793468796, - cluster: "A", - label: "303-A", - degree: 1.2599210498948732, - }, - { - id: "304", - olabel: "Callaway_D", - x: 162.98341705859943, - y: 412.648138330183, - cluster: "B", - label: "304-B", - degree: 1.709975946676697, - }, - { - id: "305", - olabel: "Hopcroft_J", - x: 195.54232505598728, - y: 465.4232789554354, - cluster: "C", - label: "305-C", - degree: 1.5874010519681994, - }, - { - id: "306", - olabel: "Kleinberg_J", - x: 150.7835453587314, - y: 475.7204998992786, - cluster: "A", - label: "306-A", - degree: 2.080083823051904, - }, - { - id: "307", - olabel: "Strogatz_S", - x: 144.06860454461878, - y: 445.63935763899246, - cluster: "B", - label: "307-B", - degree: 2, - }, - { - id: "308", - olabel: "Watts_D", - x: 189.99376853196475, - y: 427.3662441752541, - cluster: "C", - label: "308-C", - degree: 1.912931182772389, - }, - { - id: "309", - olabel: "Camacho_J", - x: 520.0206609766514, - y: 287.56134177639285, - cluster: "A", - label: "309-A", - degree: 1.2599210498948732, - }, - { - id: "310", - olabel: "Campbell_N", - x: 283.9819561999665, - y: 1198.4901652806323, - cluster: "B", - label: "310-B", - degree: 1, - }, - { - id: "311", - olabel: "Reece_J", - x: 236.44485819976728, - y: 1178.706073022887, - cluster: "C", - label: "311-C", - degree: 1, - }, - { - id: "312", - olabel: "Campbell_S", - x: -286.3508708630456, - y: 387.8567890916965, - cluster: "A", - label: "312-A", - degree: 1.2599210498948732, - }, - { - id: "313", - olabel: "Wang_D", - x: -246.1338828115725, - y: 353.84927552071224, - cluster: "B", - label: "313-B", - degree: 1.4422495703074083, - }, - { - id: "314", - olabel: "Jayaprakash_C", - x: -295.4605916130881, - y: 337.6925434398086, - cluster: "C", - label: "314-C", - degree: 1.2599210498948732, - }, - { - id: "315", - olabel: "Servedio_V", - x: 571.3144439123917, - y: 206.0846507723239, - cluster: "A", - label: "315-A", - degree: 1.8171205928321397, - }, - { - id: "316", - olabel: "Colaiori_F", - x: 547.8767836269901, - y: 250.95966659828358, - cluster: "B", - label: "316-B", - degree: 1.4422495703074083, - }, - { - id: "317", - olabel: "Carlson_J", - x: 1126.9628071100533, - y: 206.77735348431492, - cluster: "C", - label: "317-C", - degree: 1, - }, - { - id: "318", - olabel: "Doyle_J", - x: 1148.5466189738797, - y: 253.26299749450945, - cluster: "A", - label: "318-A", - degree: 1.2599210498948732, - }, - { - id: "319", - olabel: "Carreras_B", - x: -127.59144555376649, - y: -126.70150404184646, - cluster: "B", - label: "319-B", - degree: 1.8171205928321397, - }, - { - id: "320", - olabel: "Lynch_V", - x: -122.29531716767441, - y: -62.89532916704849, - cluster: "C", - label: "320-C", - degree: 1.5874010519681994, - }, - { - id: "321", - olabel: "Dobson_I", - x: -162.2453338561635, - y: -90.70994673214764, - cluster: "A", - label: "321-A", - degree: 1.4422495703074083, - }, - { - id: "322", - olabel: "Newman_D", - x: -106.18409587061839, - y: -100.5710774304257, - cluster: "B", - label: "322-B", - degree: 1.709975946676697, - }, - { - id: "323", - olabel: "Dolrou_I", - x: -66.2476956712859, - y: -119.87996753517008, - cluster: "C", - label: "323-C", - degree: 1.4422495703074083, - }, - { - id: "324", - olabel: "Poole_A", - x: -89.95254914760216, - y: -157.1820619573486, - cluster: "A", - label: "324-A", - degree: 1.4422495703074083, - }, - { - id: "325", - olabel: "Caruso_F", - x: 372.2950845280152, - y: 595.7921544179064, - cluster: "B", - label: "325-B", - degree: 1.4422495703074083, - }, - { - id: "326", - olabel: "Latora_V", - x: 314.25688958102955, - y: 559.7079361997149, - cluster: "C", - label: "326-C", - degree: 2.46621207433047, - }, - { - id: "327", - olabel: "Rapisarda_A", - x: 331.46742091710126, - y: 594.5876606371564, - cluster: "A", - label: "327-A", - degree: 1.8171205928321397, - }, - { - id: "328", - olabel: "Tadic_B", - x: 379.9494137694021, - y: 550.6987953867829, - cluster: "B", - label: "328-B", - degree: 1.709975946676697, - }, - { - id: "329", - olabel: "Castellano_C", - x: 698.7213009857087, - y: 318.713302274958, - cluster: "C", - label: "329-C", - degree: 1.8171205928321397, - }, - { - id: "330", - olabel: "Vilone_D", - x: 695.2532998663509, - y: 372.9825334991891, - cluster: "A", - label: "330-A", - degree: 1.2599210498948732, - }, - { - id: "331", - olabel: "Catania_J", - x: 26.843513657062925, - y: 884.3298735815157, - cluster: "B", - label: "331-B", - degree: 1.4422495703074083, - }, - { - id: "332", - olabel: "Coates_T", - x: 50.503652119143396, - y: 943.9715264096075, - cluster: "C", - label: "332-C", - degree: 1.4422495703074083, - }, - { - id: "333", - olabel: "Kegels_S", - x: 9.386084349273984, - y: 925.5469847091751, - cluster: "A", - label: "333-A", - degree: 1.4422495703074083, - }, - { - id: "334", - olabel: "Fullilove_M", - x: 66.87840775917283, - y: 902.1013924120073, - cluster: "B", - label: "334-B", - degree: 1.4422495703074083, - }, - { - id: "335", - olabel: "Challet_D", - x: 278.36898492612477, - y: 910.7841127421212, - cluster: "C", - label: "335-C", - degree: 1, - }, - { - id: "336", - olabel: "Zhang_Y", - x: 317.43520247629283, - y: 876.6453903097396, - cluster: "A", - label: "336-A", - degree: 1.8171205928321397, - }, - { - id: "337", - olabel: "Chan_D", - x: -120.19142393698013, - y: 396.509286722654, - cluster: "B", - label: "337-B", - degree: 1.4422495703074083, - }, - { - id: "338", - olabel: "Hughes_B", - x: -81.80235681001267, - y: 445.62506475143374, - cluster: "C", - label: "338-C", - degree: 1.4422495703074083, - }, - { - id: "339", - olabel: "Leong_A", - x: -76.42472495604893, - y: 403.0251168023375, - cluster: "A", - label: "339-A", - degree: 1.4422495703074083, - }, - { - id: "340", - olabel: "Reed_W", - x: -126.95462843811261, - y: 440.10866106716765, - cluster: "B", - label: "340-B", - degree: 1.4422495703074083, - }, - { - id: "341", - olabel: "Chate_H", - x: 474.1984536051162, - y: 786.1683268174231, - cluster: "C", - label: "341-C", - degree: 1.4422495703074083, - }, - { - id: "342", - olabel: "Pikovsky_A", - x: 497.04320913411686, - y: 731.849086690782, - cluster: "A", - label: "342-A", - degree: 2.154434690031884, - }, - { - id: "343", - olabel: "Rudzick_O", - x: 443.3620205780459, - y: 748.336876349709, - cluster: "B", - label: "343-B", - degree: 1.2599210498948732, - }, - { - id: "344", - olabel: "Chavez_M", - x: 576.7408831623135, - y: 565.5279367180001, - cluster: "C", - label: "344-C", - degree: 1.5874010519681994, - }, - { - id: "345", - olabel: "Hwang_D", - x: 612.8789290254533, - y: 553.0147892031083, - cluster: "A", - label: "345-A", - degree: 1.8171205928321397, - }, - { - id: "346", - olabel: "Amann_A", - x: 648.6189818263048, - y: 581.421495046285, - cluster: "B", - label: "346-B", - degree: 1.5874010519681994, - }, - { - id: "347", - olabel: "Chen_Q", - x: 947.0708462968763, - y: 244.14157844225477, - cluster: "C", - label: "347-C", - degree: 1.709975946676697, - }, - { - id: "348", - olabel: "Chang_H", - x: 958.8467148553337, - y: 211.40257848950054, - cluster: "A", - label: "348-A", - degree: 1.709975946676697, - }, - { - id: "349", - olabel: "Govindan_R", - x: 938.2046031949849, - y: 186.05488848197518, - cluster: "B", - label: "349-B", - degree: 1.8171205928321397, - }, - { - id: "350", - olabel: "Jamin_S", - x: 917.6121478064889, - y: 246.49817462494747, - cluster: "C", - label: "350-C", - degree: 1.709975946676697, - }, - { - id: "351", - olabel: "Shenker_S", - x: 893.1754071915595, - y: 224.30515329117358, - cluster: "A", - label: "351-A", - degree: 1.709975946676697, - }, - { - id: "352", - olabel: "Willinger_W", - x: 905.2739506246226, - y: 195.65368735034102, - cluster: "B", - label: "352-B", - degree: 1.709975946676697, - }, - { - id: "353", - olabel: "Chen_Y", - x: 745.2652866656564, - y: 105.11191589224102, - cluster: "C", - label: "353-C", - degree: 1.2599210498948732, - }, - { - id: "354", - olabel: "Rangarajan_G", - x: 695.6361665226616, - y: 102.57216219776781, - cluster: "A", - label: "354-A", - degree: 1.2599210498948732, - }, - { - id: "355", - olabel: "Ding_M", - x: 721.7491137826663, - y: 148.86923305306902, - cluster: "B", - label: "355-B", - degree: 1.2599210498948732, - }, - { - id: "356", - olabel: "Cherniak_C", - x: 373.5426404103465, - y: -198.2133221168545, - cluster: "C", - label: "356-C", - degree: 1.5874010519681994, - }, - { - id: "357", - olabel: "Changizi_M", - x: 314.29993544531305, - y: -171.34512315322652, - cluster: "A", - label: "357-A", - degree: 1.5874010519681994, - }, - { - id: "358", - olabel: "Kang_D", - x: 361.7542222174951, - y: -147.92005606109288, - cluster: "B", - label: "358-B", - degree: 1.2599210498948732, - }, - { - id: "359", - olabel: "Mokhtarzada_Z", - x: 356.1769265750146, - y: -160.54628183082855, - cluster: "C", - label: "359-C", - degree: 1.4422495703074083, - }, - { - id: "360", - olabel: "Rodriguezesteban_R", - x: 331.4656455904419, - y: -215.18687614926188, - cluster: "A", - label: "360-A", - degree: 1.4422495703074083, - }, - { - id: "361", - olabel: "Chklovskii_D", - x: 821.9836392350966, - y: 80.33660444356795, - cluster: "B", - label: "361-B", - degree: 2.2894284851066637, - }, - { - id: "362", - olabel: "Koulakov_A", - x: 828.4616157723444, - y: 27.38501653890279, - cluster: "C", - label: "362-C", - degree: 1, - }, - { - id: "363", - olabel: "Mel_B", - x: 851.7764340032793, - y: 31.6169067464845, - cluster: "A", - label: "363-A", - degree: 1.2599210498948732, - }, - { - id: "364", - olabel: "Svoboda_K", - x: 797.1392616996415, - y: 33.563869710313924, - cluster: "B", - label: "364-B", - degree: 1.2599210498948732, - }, - { - id: "365", - olabel: "Chowell_G", - x: 1032.196133226379, - y: 752.9281928248448, - cluster: "C", - label: "365-C", - degree: 1.2599210498948732, - }, - { - id: "366", - olabel: "Hyman_J", - x: 993.4897628049349, - y: 715.5619789100155, - cluster: "A", - label: "366-A", - degree: 1.2599210498948732, - }, - { - id: "367", - olabel: "Eubank_S", - x: 1041.9867199481055, - y: 701.5915612464498, - cluster: "B", - label: "367-B", - degree: 1.2599210498948732, - }, - { - id: "368", - olabel: "Vu_V", - x: 664.1199475877285, - y: -271.53599715951236, - cluster: "C", - label: "368-C", - degree: 1.2599210498948732, - }, - { - id: "369", - olabel: "Clauset_A", - x: 175.71451433901248, - y: 386.9681523313985, - cluster: "A", - label: "369-A", - degree: 1.2599210498948732, - }, - { - id: "370", - olabel: "Moore_C", - x: 192.21800163608526, - y: 346.96256647338146, - cluster: "B", - label: "370-B", - degree: 1.8171205928321397, - }, - { - id: "371", - olabel: "Cohen_J", - x: 226.24462952549786, - y: 1099.5966216501533, - cluster: "C", - label: "371-C", - degree: 1.2599210498948732, - }, - { - id: "372", - olabel: "Briand_F", - x: 277.82368907224003, - y: 1107.5749412595774, - cluster: "A", - label: "372-A", - degree: 1.2599210498948732, - }, - { - id: "373", - olabel: "Newman_C", - x: 243.69519582367124, - y: 1147.438252194771, - cluster: "B", - label: "373-B", - degree: 1.2599210498948732, - }, - { - id: "374", - olabel: "Cohen_R", - x: 344.65538620823065, - y: 494.5480222080325, - cluster: "C", - label: "374-C", - degree: 1.8171205928321397, - }, - { - id: "375", - olabel: "Benavraham_D", - x: 319.1199942362186, - y: 487.1165302052023, - cluster: "A", - label: "375-A", - degree: 1.8171205928321397, - }, - { - id: "376", - olabel: "Havlin_S", - x: 288.6413807872825, - y: 501.77965602096634, - cluster: "B", - label: "376-B", - degree: 2, - }, - { - id: "377", - olabel: "Erez_K", - x: 325.13433903639094, - y: 543.1327561834279, - cluster: "C", - label: "377-C", - degree: 1.4422495703074083, - }, - { - id: "378", - olabel: "Connor_R", - x: -66.49958274175718, - y: -267.04930216924345, - cluster: "A", - label: "378-A", - degree: 1.2599210498948732, - }, - { - id: "379", - olabel: "Heithaus_M", - x: -46.286369674130746, - y: -221.04786441696953, - cluster: "B", - label: "379-B", - degree: 1.2599210498948732, - }, - { - id: "380", - olabel: "Barre_L", - x: -15.022387155160246, - y: -262.01247915291276, - cluster: "C", - label: "380-C", - degree: 1.2599210498948732, - }, - { - id: "381", - olabel: "Coppersmith_S", - x: 1036.7528155456018, - y: 36.29772567893868, - cluster: "A", - label: "381-A", - degree: 1.2599210498948732, - }, - { - id: "382", - olabel: "Kadanoff_L", - x: 984.4164197341938, - y: 45.38706359691514, - cluster: "B", - label: "382-B", - degree: 1.2599210498948732, - }, - { - id: "383", - olabel: "Zhang_Z", - x: 1018.3573974410509, - y: 83.57358995185636, - cluster: "C", - label: "383-C", - degree: 1.2599210498948732, - }, - { - id: "384", - olabel: "Cordes_D", - x: 144.37815899472338, - y: 128.9484381651319, - cluster: "A", - label: "384-A", - degree: 1.912931182772389, - }, - { - id: "385", - olabel: "Haughton_V", - x: 76.00309944812521, - y: 109.55189890611076, - cluster: "B", - label: "385-B", - degree: 1.912931182772389, - }, - { - id: "386", - olabel: "Arfanakis_K", - x: 112.03462181509971, - y: 112.43849919237893, - cluster: "C", - label: "386-C", - degree: 1.912931182772389, - }, - { - id: "387", - olabel: "Carew_J", - x: 123.6127441580576, - y: 78.14031654271717, - cluster: "A", - label: "387-A", - degree: 1.912931182772389, - }, - { - id: "388", - olabel: "Turski_P", - x: 116.77127344476955, - y: 144.82781349573906, - cluster: "B", - label: "388-B", - degree: 1.912931182772389, - }, - { - id: "389", - olabel: "Moritz_C", - x: 85.74904985460304, - y: 137.8523133409633, - cluster: "C", - label: "389-C", - degree: 1.912931182772389, - }, - { - id: "390", - olabel: "Quigley_M", - x: 94.68840837975655, - y: 82.69542745222905, - cluster: "A", - label: "390-A", - degree: 1.912931182772389, - }, - { - id: "391", - olabel: "Meyerand_M", - x: 146.43562292552784, - y: 99.13666053623668, - cluster: "B", - label: "391-B", - degree: 1.912931182772389, - }, - { - id: "392", - olabel: "Corman_S", - x: -54.779078056330555, - y: -160.18298647516363, - cluster: "C", - label: "392-C", - degree: 1.4422495703074083, - }, - { - id: "393", - olabel: "Kuhn_T", - x: -75.81359644623346, - y: -219.52432819457027, - cluster: "A", - label: "393-A", - degree: 1.4422495703074083, - }, - { - id: "394", - olabel: "Mcphee_R", - x: -35.80115416641743, - y: -199.78099324194721, - cluster: "B", - label: "394-B", - degree: 1.4422495703074083, - }, - { - id: "395", - olabel: "Dooley_K", - x: -94.44030015312642, - y: -179.17642401753525, - cluster: "C", - label: "395-C", - degree: 1.4422495703074083, - }, - { - id: "396", - olabel: "Cormen_T", - x: 622.557019687224, - y: 915.4522289526798, - cluster: "A", - label: "396-A", - degree: 1.4422495703074083, - }, - { - id: "397", - olabel: "Leiserson_C", - x: 590.8421391951342, - y: 968.4668378071445, - cluster: "B", - label: "397-B", - degree: 1.4422495703074083, - }, - { - id: "398", - olabel: "Rivest_R", - x: 634.1609801330114, - y: 956.314782920957, - cluster: "C", - label: "398-C", - degree: 1.4422495703074083, - }, - { - id: "399", - olabel: "Stein_C", - x: 578.1783660273829, - y: 927.5500044533445, - cluster: "A", - label: "399-A", - degree: 1.4422495703074083, - }, - { - id: "400", - olabel: "Cosenza_S", - x: 418.3859033350286, - y: 601.0105927180507, - cluster: "B", - label: "400-B", - degree: 1.8171205928321397, - }, - { - id: "401", - olabel: "Crucitti_P", - x: 374.7055156466934, - y: 578.7258630677686, - cluster: "C", - label: "401-C", - degree: 2.2894284851066637, - }, - { - id: "402", - olabel: "Frasca_M", - x: 375.79021015246065, - y: 660.5814379248152, - cluster: "A", - label: "402-A", - degree: 1.912931182772389, - }, - { - id: "403", - olabel: "Stagni_C", - x: 358.23297552597694, - y: 626.5933964735137, - cluster: "B", - label: "403-B", - degree: 1.8171205928321397, - }, - { - id: "404", - olabel: "Usai_L", - x: 384.9271786045686, - y: 622.0040744735517, - cluster: "C", - label: "404-C", - degree: 1.8171205928321397, - }, - { - id: "405", - olabel: "Coulumb_S", - x: 859.6413018994841, - y: 1021.229391019933, - cluster: "A", - label: "405-A", - degree: 1, - }, - { - id: "406", - olabel: "Crane_D", - x: 366.01153686654385, - y: -222.9444189466612, - cluster: "B", - label: "406-B", - degree: 0, - }, - { - id: "407", - olabel: "Criado_R", - x: -257.72575759061914, - y: 282.6196617349765, - cluster: "C", - label: "407-C", - degree: 1.709975946676697, - }, - { - id: "408", - olabel: "Flores_J", - x: -279.25030966179145, - y: 322.3158834008884, - cluster: "A", - label: "408-A", - degree: 1.5874010519681994, - }, - { - id: "409", - olabel: "Hernandezbermejo_B", - x: -285.4806313282566, - y: 273.9020358981052, - cluster: "B", - label: "409-B", - degree: 1.709975946676697, - }, - { - id: "410", - olabel: "Pello_J", - x: -318.2580163740044, - y: 309.72289024446656, - cluster: "C", - label: "410-C", - degree: 1.5874010519681994, - }, - { - id: "411", - olabel: "Romance_M", - x: -314.3191793006053, - y: 264.85948421587574, - cluster: "A", - label: "411-A", - degree: 1.709975946676697, - }, - { - id: "412", - olabel: "Garciadelamo_A", - x: -275.1933007702278, - y: 227.2400065670164, - cluster: "B", - label: "412-B", - degree: 1.4422495703074083, - }, - { - id: "413", - olabel: "Crick_F", - x: 475.0743298737519, - y: 1013.8492830918024, - cluster: "C", - label: "413-C", - degree: 1, - }, - { - id: "414", - olabel: "Koch_C", - x: 486.67646160449516, - y: 963.8464203046804, - cluster: "A", - label: "414-A", - degree: 1.912931182772389, - }, - { - id: "415", - olabel: "Marchiori_M", - x: 279.7937210220743, - y: 567.5877760692123, - cluster: "B", - label: "415-B", - degree: 2.080083823051904, - }, - { - id: "416", - olabel: "Porta_S", - x: 334.368264571363, - y: 612.4763721720213, - cluster: "C", - label: "416-C", - degree: 1.2599210498948732, - }, - { - id: "417", - olabel: "Csanyi_G", - x: 850.3958565076587, - y: 674.2016292488325, - cluster: "A", - label: "417-A", - degree: 1, - }, - { - id: "418", - olabel: "Szendroi_B", - x: 842.052200869247, - y: 724.0584022684054, - cluster: "B", - label: "418-B", - degree: 1, - }, - { - id: "419", - olabel: "Csermely_P", - x: 902.8706943917691, - y: 1014.4397531063796, - cluster: "C", - label: "419-C", - degree: 0, - }, - { - id: "420", - olabel: "Csete_M", - x: 1199.756636514036, - y: 252.98954982298002, - cluster: "A", - label: "420-A", - degree: 1, - }, - { - id: "421", - olabel: "Cunha_C", - x: -36.15459567877035, - y: -138.73343213198206, - cluster: "B", - label: "421-B", - degree: 1.2599210498948732, - }, - { - id: "422", - olabel: "Bestavros_A", - x: -52.358854680393705, - y: -89.19479443711656, - cluster: "C", - label: "422-C", - degree: 1.2599210498948732, - }, - { - id: "423", - olabel: "Crovella_M", - x: -1.6672718059795921, - y: -100.02469012343471, - cluster: "A", - label: "423-A", - degree: 1.2599210498948732, - }, - { - id: "424", - olabel: "Cvetkovic_D", - x: 497.37407115855353, - y: 1133.0860006730115, - cluster: "B", - label: "424-B", - degree: 1.2599210498948732, - }, - { - id: "425", - olabel: "Doob_M", - x: 469.0299749964586, - y: 1089.4351708469956, - cluster: "C", - label: "425-C", - degree: 1.2599210498948732, - }, - { - id: "426", - olabel: "Sachs_H", - x: 519.8682595081102, - y: 1087.0678026462201, - cluster: "A", - label: "426-A", - degree: 1.2599210498948732, - }, - { - id: "427", - olabel: "Dafontouracosta_L", - x: 99.14407329987752, - y: 296.92934214864744, - cluster: "B", - label: "427-B", - degree: 1.5874010519681994, - }, - { - id: "428", - olabel: "Diambra_L", - x: 52.16563143310196, - y: 321.9970702529725, - cluster: "C", - label: "428-C", - degree: 1, - }, - { - id: "429", - olabel: "Daley_D", - x: 974.9824234483715, - y: -41.0809840324121, - cluster: "A", - label: "429-A", - degree: 1.2599210498948732, - }, - { - id: "430", - olabel: "Gani_J", - x: 998.0319862116619, - y: 5.205658767254506, - cluster: "B", - label: "430-B", - degree: 1, - }, - { - id: "431", - olabel: "Kendall_D", - x: 930.4111598083983, - y: -67.95379080828704, - cluster: "C", - label: "431-C", - degree: 1, - }, - { - id: "432", - olabel: "Dall_J", - x: 1124.804833711586, - y: 576.0565186532505, - cluster: "A", - label: "432-A", - degree: 1, - }, - { - id: "433", - olabel: "Christensen_M", - x: 1153.8377417346935, - y: 534.2596919795045, - cluster: "B", - label: "433-B", - degree: 1, - }, - { - id: "434", - olabel: "Davidsen_J", - x: 460.2026172930966, - y: 921.5443176835006, - cluster: "C", - label: "434-C", - degree: 1.2599210498948732, - }, - { - id: "435", - olabel: "Davis_A", - x: 323.3246297605958, - y: 1147.8834023306651, - cluster: "A", - label: "435-A", - degree: 1.2599210498948732, - }, - { - id: "436", - olabel: "Gardner_B", - x: 273.5023628570106, - y: 1130.508616319178, - cluster: "B", - label: "436-B", - degree: 1.2599210498948732, - }, - { - id: "437", - olabel: "Gardner_M", - x: 281.3243795124652, - y: 1179.7191769542783, - cluster: "C", - label: "437-C", - degree: 1.2599210498948732, - }, - { - id: "438", - olabel: "Davis_G", - x: 44.913033035298746, - y: -127.42120959998056, - cluster: "A", - label: "438-A", - degree: 1.4422495703074083, - }, - { - id: "439", - olabel: "Greve_H", - x: 42.86517999966232, - y: -75.6637248806955, - cluster: "B", - label: "439-B", - degree: 1, - }, - { - id: "440", - olabel: "Yoo_M", - x: 66.73174215027345, - y: -175.06866622649162, - cluster: "C", - label: "440-C", - degree: 1.2599210498948732, - }, - { - id: "441", - olabel: "Dearcangelis_L", - x: 460.4631832387259, - y: 116.32647053195167, - cluster: "A", - label: "441-A", - degree: 1, - }, - { - id: "442", - olabel: "Herrmann_H", - x: 442.36109355748215, - y: 165.35723559338447, - cluster: "B", - label: "442-B", - degree: 1.8171205928321397, - }, - { - id: "443", - olabel: "Decastro_R", - x: 1.3477283420241544, - y: 838.1455360270987, - cluster: "C", - label: "443-C", - degree: 1, - }, - { - id: "444", - olabel: "Grossman_J", - x: 48.54938257625714, - y: 858.5700595599402, - cluster: "A", - label: "444-A", - degree: 1.2599210498948732, - }, - { - id: "445", - olabel: "Deffuant_G", - x: 684.6637253026717, - y: 786.00866335772, - cluster: "B", - label: "445-B", - degree: 1.4422495703074083, - }, - { - id: "446", - olabel: "Neau_D", - x: 653.2225001670334, - y: 821.1328476967684, - cluster: "C", - label: "446-C", - degree: 1.4422495703074083, - }, - { - id: "447", - olabel: "Amblard_F", - x: 653.2892506018167, - y: 754.4789063547414, - cluster: "A", - label: "447-A", - degree: 1.4422495703074083, - }, - { - id: "448", - olabel: "Weisbuch_G", - x: 622.5903970028915, - y: 789.8124888833022, - cluster: "B", - label: "448-B", - degree: 1.4422495703074083, - }, - { - id: "449", - olabel: "Defraysseix_H", - x: 570.4709287930008, - y: 442.24439655732624, - cluster: "C", - label: "449-C", - degree: 1, - }, - { - id: "450", - olabel: "Degroot_M", - x: 956.0240164494338, - y: 898.0602269314152, - cluster: "A", - label: "450-A", - degree: 0, - }, - { - id: "451", - olabel: "Delimaesilva_D", - x: 159.5893930816211, - y: 775.9649244958014, - cluster: "B", - label: "451-B", - degree: 1.912931182772389, - }, - { - id: "452", - olabel: "Medeirossoares_M", - x: 148.52768116980883, - y: 827.6897359975989, - cluster: "C", - label: "452-C", - degree: 1.912931182772389, - }, - { - id: "453", - olabel: "Henriques_M", - x: 176.45896561418206, - y: 808.9269382305873, - cluster: "A", - label: "453-A", - degree: 1.912931182772389, - }, - { - id: "454", - olabel: "Schivanialves_M", - x: 190.852921044389, - y: 777.8059268636482, - cluster: "B", - label: "454-B", - degree: 1.912931182772389, - }, - { - id: "455", - olabel: "Deaguilar_S", - x: 207.1892431969165, - y: 825.6413140537475, - cluster: "C", - label: "455-C", - degree: 1.912931182772389, - }, - { - id: "456", - olabel: "Decarvalho_T", - x: 213.6377427509622, - y: 796.8947723476967, - cluster: "A", - label: "456-A", - degree: 1.912931182772389, - }, - { - id: "457", - olabel: "Corso_G", - x: 177.3701736127806, - y: 842.2642431817738, - cluster: "B", - label: "457-B", - degree: 1.912931182772389, - }, - { - id: "458", - olabel: "Lucena_L", - x: 140.4870480184784, - y: 799.4822915837682, - cluster: "C", - label: "458-C", - degree: 1.912931182772389, - }, - { - id: "459", - olabel: "Delucia_M", - x: 649.8219454072552, - y: 139.99039411110635, - cluster: "A", - label: "459-A", - degree: 1.4422495703074083, - }, - { - id: "460", - olabel: "Bottaccio_M", - x: 588.5598075866534, - y: 121.01047346689417, - cluster: "B", - label: "460-B", - degree: 1.4422495703074083, - }, - { - id: "461", - olabel: "Montuori_M", - x: 624.5845074848874, - y: 104.41071467907389, - cluster: "C", - label: "461-C", - degree: 1.4422495703074083, - }, - { - id: "462", - olabel: "Pietronero_L", - x: 606.8056500873935, - y: 171.1584729305421, - cluster: "A", - label: "462-A", - degree: 1.709975946676697, - }, - { - id: "463", - olabel: "Demenezes_M", - x: 284.67947093005665, - y: 459.802725423933, - cluster: "B", - label: "463-B", - degree: 1.4422495703074083, - }, - { - id: "464", - olabel: "Moukarzel_C", - x: 268.8432265030893, - y: 516.5420600340645, - cluster: "C", - label: "464-C", - degree: 1.2599210498948732, - }, - { - id: "465", - olabel: "Penna_T", - x: 231.71925330613644, - y: 488.6877061961444, - cluster: "A", - label: "465-A", - degree: 1.2599210498948732, - }, - { - id: "466", - olabel: "Demers_A", - x: -83.14179982858973, - y: 893.7491134762726, - cluster: "B", - label: "466-B", - degree: 1.5874010519681994, - }, - { - id: "467", - olabel: "Greene_D", - x: -117.58654172877567, - y: 908.9086973008823, - cluster: "C", - label: "467-C", - degree: 1.5874010519681994, - }, - { - id: "468", - olabel: "Hauser_C", - x: -75.71441444327762, - y: 955.6640074775833, - cluster: "A", - label: "468-A", - degree: 1.5874010519681994, - }, - { - id: "469", - olabel: "Irish_W", - x: -58.23121375425787, - y: 921.836970704026, - cluster: "B", - label: "469-B", - degree: 1.5874010519681994, - }, - { - id: "470", - olabel: "Larson_J", - x: -110.63910724310735, - y: 945.9581609325198, - cluster: "C", - label: "470-C", - degree: 1.5874010519681994, - }, - { - id: "471", - olabel: "Demoura_A", - x: 631.1342676047291, - y: 771.8508590858783, - cluster: "A", - label: "471-A", - degree: 1.5874010519681994, - }, - { - id: "472", - olabel: "Motter_A", - x: 587.631171635627, - y: 738.9967430732228, - cluster: "B", - label: "472-B", - degree: 2, - }, - { - id: "473", - olabel: "Grebogi_C", - x: 637.692622686246, - y: 718.7508619602328, - cluster: "C", - label: "473-C", - degree: 1.2599210498948732, - }, - { - id: "474", - olabel: "Derrida_B", - x: 920.7647267328595, - y: 405.81178388478077, - cluster: "A", - label: "474-A", - degree: 1.4422495703074083, - }, - { - id: "475", - olabel: "Flyvbjerg_H", - x: 871.6202910766851, - y: 394.20047980041085, - cluster: "B", - label: "475-B", - degree: 1, - }, - { - id: "476", - olabel: "Gardner_E", - x: 888.258959656576, - y: 446.4702806642652, - cluster: "C", - label: "476-C", - degree: 1.2599210498948732, - }, - { - id: "477", - olabel: "Zippelius_A", - x: 938.8619820875609, - y: 454.1222851861421, - cluster: "A", - label: "477-A", - degree: 1.4422495703074083, - }, - { - id: "478", - olabel: "Deshazer_D", - x: -4.219888757135715, - y: 106.00454005207582, - cluster: "B", - label: "478-B", - degree: 1.4422495703074083, - }, - { - id: "479", - olabel: "Breban_R", - x: -80.1937469462285, - y: 110.74089365638508, - cluster: "C", - label: "479-C", - degree: 1.4422495703074083, - }, - { - id: "480", - olabel: "Ott_E", - x: -46.838341587862345, - y: 81.21255354698063, - cluster: "A", - label: "480-A", - degree: 1.912931182772389, - }, - { - id: "481", - olabel: "Roy_R", - x: -38.798527651134556, - y: 122.20041946367265, - cluster: "B", - label: "481-B", - degree: 2.080083823051904, - }, - { - id: "482", - olabel: "Destexhe_A", - x: 553.3059106258178, - y: -322.19364277672736, - cluster: "C", - label: "482-C", - degree: 1, - }, - { - id: "483", - olabel: "Marder_E", - x: 509.5679650422173, - y: -295.8101955614743, - cluster: "A", - label: "483-A", - degree: 1, - }, - { - id: "484", - olabel: "Dezso_Z", - x: 334.0206555755512, - y: 469.48073252840067, - cluster: "B", - label: "484-B", - degree: 1, - }, - { - id: "485", - olabel: "Diekmann_O", - x: 544.5420856788323, - y: 912.0159680857373, - cluster: "C", - label: "485-C", - degree: 1, - }, - { - id: "486", - olabel: "Heesterbeek_J", - x: 595.6922203890157, - y: 908.1035232932107, - cluster: "A", - label: "486-A", - degree: 1, - }, - { - id: "487", - olabel: "Dobrin_R", - x: 280.8141398509347, - y: 420.05580249439294, - cluster: "B", - label: "487-B", - degree: 1.4422495703074083, - }, - { - id: "488", - olabel: "Beg_Q", - x: 313.0201632730561, - y: 460.42802098717664, - cluster: "C", - label: "488-C", - degree: 1.4422495703074083, - }, - { - id: "489", - olabel: "Dodds_P", - x: 158.93902890656935, - y: 385.8963795205568, - cluster: "A", - label: "489-A", - degree: 1.709975946676697, - }, - { - id: "490", - olabel: "Muhamad_R", - x: 129.3431693039625, - y: 425.02623794328474, - cluster: "B", - label: "490-B", - degree: 1.2599210498948732, - }, - { - id: "491", - olabel: "Rothman_D", - x: 104.98379549146009, - y: 383.2879337890422, - cluster: "C", - label: "491-C", - degree: 1, - }, - { - id: "492", - olabel: "Sabel_C", - x: 134.19970043462493, - y: 435.01919659413295, - cluster: "A", - label: "492-A", - degree: 1.2599210498948732, - }, - { - id: "493", - olabel: "Dodel_S", - x: -264.7506119142414, - y: 613.8998757335723, - cluster: "B", - label: "493-B", - degree: 1.2599210498948732, - }, - { - id: "494", - olabel: "Herrmann_J", - x: -214.2154330468078, - y: 625.7338259507677, - cluster: "C", - label: "494-C", - degree: 1.2599210498948732, - }, - { - id: "495", - olabel: "Geisel_T", - x: -230.1750468294039, - y: 575.2782376885157, - cluster: "A", - label: "495-A", - degree: 1.8171205928321397, - }, - { - id: "496", - olabel: "Donath_W", - x: 209.4639326091585, - y: -274.0222240658607, - cluster: "B", - label: "496-B", - degree: 1, - }, - { - id: "497", - olabel: "Hoffman_A", - x: 248.20342417558007, - y: -307.3607534962205, - cluster: "C", - label: "497-C", - degree: 1, - }, - { - id: "498", - olabel: "Donetti_L", - x: 562.0627260780265, - y: 137.83915218783181, - cluster: "A", - label: "498-A", - degree: 1, - }, - { - id: "499", - olabel: "Dorogovtsev_S", - x: 657.9366810420821, - y: 362.4643555027206, - cluster: "B", - label: "499-B", - degree: 1.709975946676697, - }, - { - id: "500", - olabel: "Goltsev_A", - x: 650.4250355391524, - y: 309.68816308333146, - cluster: "C", - label: "500-C", - degree: 1.2599210498948732, - }, - { - id: "501", - olabel: "Mendes_J", - x: 699.480574227797, - y: 311.2164667250228, - cluster: "A", - label: "501-A", - degree: 1.4422495703074083, - }, - { - id: "502", - olabel: "Samukhin_A", - x: 714.1801239303437, - y: 357.0052880582202, - cluster: "B", - label: "502-B", - degree: 1.2599210498948732, - }, - { - id: "503", - olabel: "Doye_J", - x: -218.3758759774534, - y: 131.0454739247659, - cluster: "C", - label: "503-C", - degree: 0, - }, - { - id: "504", - olabel: "Du_D", - x: 226.41396283912272, - y: -256.902162246529, - cluster: "A", - label: "504-A", - degree: 1, - }, - { - id: "505", - olabel: "Gu_J", - x: 194.0102606923569, - y: -216.61446827401505, - cluster: "B", - label: "505-B", - degree: 1, - }, - { - id: "506", - olabel: "Dunne_J", - x: 383.4001102196341, - y: 486.20503668193317, - cluster: "C", - label: "506-C", - degree: 1.5874010519681994, - }, - { - id: "507", - olabel: "Williams_R", - x: 401.7942444591989, - y: 439.83097558819424, - cluster: "A", - label: "507-A", - degree: 1.5874010519681994, - }, - { - id: "508", - olabel: "Martinez_N", - x: 345.74334374842385, - y: 476.91425891118155, - cluster: "B", - label: "508-B", - degree: 1.5874010519681994, - }, - { - id: "509", - olabel: "Durrett_R", - x: 978.1815895997743, - y: 962.852065071586, - cluster: "C", - label: "509-C", - degree: 0, - }, - { - id: "510", - olabel: "Eames_K", - x: 1109.5340028370224, - y: 77.3178210097402, - cluster: "A", - label: "510-A", - degree: 1, - }, - { - id: "511", - olabel: "Keeling_M", - x: 1082.731690514515, - y: 33.293875258604544, - cluster: "B", - label: "511-B", - degree: 1, - }, - { - id: "512", - olabel: "Mielsch_L", - x: 525.8071726398682, - y: 984.8584331388502, - cluster: "C", - label: "512-C", - degree: 1.2599210498948732, - }, - { - id: "513", - olabel: "Echenique_P", - x: 617.1995322985453, - y: 461.40795166510384, - cluster: "A", - label: "513-A", - degree: 1.4422495703074083, - }, - { - id: "514", - olabel: "Gomezgardenes_J", - x: 670.8981754993911, - y: 501.0541409803289, - cluster: "B", - label: "514-B", - degree: 1.5874010519681994, - }, - { - id: "515", - olabel: "Moreno_Y", - x: 621.7246258586442, - y: 496.8443329891363, - cluster: "C", - label: "515-C", - degree: 2.4101422641752297, - }, - { - id: "516", - olabel: "Vazquez_A", - x: 663.6949131108073, - y: 448.4000644246539, - cluster: "A", - label: "516-A", - degree: 2.2894284851066637, - }, - { - id: "517", - olabel: "Eckmann_J", - x: -371.98763604143375, - y: 212.88688421121032, - cluster: "B", - label: "517-B", - degree: 1, - }, - { - id: "518", - olabel: "Moses_E", - x: -379.77277509025043, - y: 263.55433823195256, - cluster: "C", - label: "518-C", - degree: 1, - }, - { - id: "519", - olabel: "Egghe_L", - x: -89.91515119562241, - y: -15.880223299179411, - cluster: "A", - label: "519-A", - degree: 1, - }, - { - id: "520", - olabel: "Rousseau_R", - x: -134.77879595791478, - y: 9.785851578067094, - cluster: "B", - label: "520-B", - degree: 1, - }, - { - id: "521", - olabel: "Eguiluz_V", - x: 294.0099268774406, - y: 69.92481087997606, - cluster: "C", - label: "521-C", - degree: 2, - }, - { - id: "522", - olabel: "Chialvo_D", - x: 367.433775340809, - y: 42.32780284799427, - cluster: "A", - label: "522-A", - degree: 1.912931182772389, - }, - { - id: "523", - olabel: "Cecchi_G", - x: 299.73668463166575, - y: 31.34240363481816, - cluster: "B", - label: "523-B", - degree: 1.709975946676697, - }, - { - id: "524", - olabel: "Baliki_M", - x: 335.40905308016437, - y: 26.236470002541115, - cluster: "C", - label: "524-C", - degree: 1.5874010519681994, - }, - { - id: "525", - olabel: "Apkarian_A", - x: 337.5349010913534, - y: 79.5821791002354, - cluster: "A", - label: "525-A", - degree: 1.5874010519681994, - }, - { - id: "526", - olabel: "Klemm_K", - x: 345.5345759318537, - y: 66.26246943175683, - cluster: "B", - label: "526-B", - degree: 1, - }, - { - id: "527", - olabel: "Eigen_M", - x: 615.0135134976318, - y: -344.8747982373158, - cluster: "C", - label: "527-C", - degree: 1, - }, - { - id: "528", - olabel: "Schuster_P", - x: 563.9179480588742, - y: -349.66316610646123, - cluster: "A", - label: "528-A", - degree: 1, - }, - { - id: "529", - olabel: "Eisenberg_D", - x: 470.17712905385014, - y: -240.8245492614887, - cluster: "B", - label: "529-B", - degree: 1.8171205928321397, - }, - { - id: "530", - olabel: "Marcotte_E", - x: 454.6769748814667, - y: -217.98996473610433, - cluster: "C", - label: "530-C", - degree: 1.8171205928321397, - }, - { - id: "531", - olabel: "Xenarios_I", - x: 449.60316355614003, - y: -190.75218628718645, - cluster: "A", - label: "531-A", - degree: 1.8171205928321397, - }, - { - id: "532", - olabel: "Yeates_T", - x: 502.9984020318387, - y: -198.73508581071297, - cluster: "B", - label: "532-B", - degree: 1.4422495703074083, - }, - { - id: "533", - olabel: "Eisenberg_E", - x: -341.2513191076595, - y: 212.75143299610158, - cluster: "C", - label: "533-C", - degree: 1, - }, - { - id: "534", - olabel: "Levanon_E", - x: -344.5757664084651, - y: 161.6158618547622, - cluster: "A", - label: "534-A", - degree: 1, - }, - { - id: "535", - olabel: "Eldar_A", - x: -382.1919075706349, - y: 311.5770279234235, - cluster: "B", - label: "535-B", - degree: 0, - }, - { - id: "536", - olabel: "Engel_A", - x: -127.37722411480446, - y: 513.6838326947036, - cluster: "C", - label: "536-C", - degree: 1.912931182772389, - }, - { - id: "537", - olabel: "Fries_P", - x: -173.9856977594549, - y: 492.3606421166812, - cluster: "A", - label: "537-A", - degree: 1.2599210498948732, - }, - { - id: "538", - olabel: "Singer_W", - x: -158.8461262176766, - y: 542.3606495438191, - cluster: "B", - label: "538-B", - degree: 1.5874010519681994, - }, - { - id: "539", - olabel: "Moll_C", - x: -154.86852008874877, - y: 480.18949038517866, - cluster: "C", - label: "539-C", - degree: 1.4422495703074083, - }, - { - id: "540", - olabel: "Fried_I", - x: -117.95227013446963, - y: 454.24340150682775, - cluster: "A", - label: "540-A", - degree: 1.4422495703074083, - }, - { - id: "541", - olabel: "Ojemann_G", - x: -91.10084110356173, - y: 485.26242793211907, - cluster: "B", - label: "541-B", - degree: 1.4422495703074083, - }, - { - id: "542", - olabel: "Ennis_J", - x: 1127.9687011329925, - y: 350.7940950558885, - cluster: "C", - label: "542-C", - degree: 0, - }, - { - id: "543", - olabel: "Erdos_P", - x: 217.84781943781167, - y: -378.5917093944646, - cluster: "A", - label: "543-A", - degree: 1, - }, - { - id: "544", - olabel: "Renyi_A", - x: 267.8884525555145, - y: -389.3705603963142, - cluster: "B", - label: "544-B", - degree: 1, - }, - { - id: "545", - olabel: "Ergun_G", - x: 456.0481155104235, - y: 518.9286647704638, - cluster: "C", - label: "545-C", - degree: 1, - }, - { - id: "546", - olabel: "Rodgers_G", - x: 414.28290651641817, - y: 487.210872775036, - cluster: "A", - label: "546-A", - degree: 1.8171205928321397, - }, - { - id: "547", - olabel: "Eriksen_K", - x: 211.00529668856447, - y: 254.46158709045045, - cluster: "B", - label: "547-B", - degree: 1.4422495703074083, - }, - { - id: "548", - olabel: "Simonsen_I", - x: 202.36418052072403, - y: 320.03005038571786, - cluster: "C", - label: "548-C", - degree: 1.4422495703074083, - }, - { - id: "549", - olabel: "Maslov_S", - x: 180.65318995714136, - y: 285.420327698934, - cluster: "A", - label: "549-A", - degree: 1.5874010519681994, - }, - { - id: "550", - olabel: "Everitt_B", - x: 829.1096920756139, - y: 1030.889113124979, - cluster: "B", - label: "550-B", - degree: 0, - }, - { - id: "551", - olabel: "Fabrikant_A", - x: 76.93946498001547, - y: -234.31522749877544, - cluster: "C", - label: "551-C", - degree: 1.2599210498948732, - }, - { - id: "552", - olabel: "Koutsoupias_E", - x: 126.9958050267339, - y: -227.54343437316885, - cluster: "A", - label: "552-A", - degree: 1.2599210498948732, - }, - { - id: "553", - olabel: "Papadimitriou_C", - x: 106.61121292416098, - y: -275.73776772882024, - cluster: "B", - label: "553-B", - degree: 1.2599210498948732, - }, - { - id: "554", - olabel: "Falconer_K", - x: 50.93227576870373, - y: -317.6591327636208, - cluster: "C", - label: "554-C", - degree: 0, - }, - { - id: "555", - olabel: "Faloutsos_M", - x: 945.1100068197103, - y: 753.9203656218594, - cluster: "A", - label: "555-A", - degree: 1.2599210498948732, - }, - { - id: "556", - olabel: "Faloutsos_P", - x: 995.2290585878387, - y: 730.9697547572111, - cluster: "B", - label: "556-B", - degree: 1.2599210498948732, - }, - { - id: "557", - olabel: "Faloutsos_C", - x: 953.5089135038501, - y: 702.5084671326276, - cluster: "C", - label: "557-C", - degree: 1.2599210498948732, - }, - { - id: "558", - olabel: "Fararo_T", - x: -321.20815489900474, - y: 583.4175733730966, - cluster: "A", - label: "558-A", - degree: 1, - }, - { - id: "559", - olabel: "Sunshine_M", - x: -334.1315912319355, - y: 632.94738698186, - cluster: "B", - label: "559-B", - degree: 1, - }, - { - id: "560", - olabel: "Farkas_I", - x: 308.09275238403944, - y: 375.56592592862114, - cluster: "C", - label: "560-C", - degree: 2, - }, - { - id: "561", - olabel: "Derenyi_I", - x: 311.0378528021792, - y: 336.49135050310525, - cluster: "A", - label: "561-A", - degree: 2, - }, - { - id: "562", - olabel: "Faust_K", - x: -25.403879913573043, - y: 625.7860530868724, - cluster: "B", - label: "562-B", - degree: 1.5874010519681994, - }, - { - id: "563", - olabel: "Willert_K", - x: -1.6919679288444378, - y: 587.2077309899319, - cluster: "C", - label: "563-C", - degree: 1.4422495703074083, - }, - { - id: "564", - olabel: "Rowlee_D", - x: -40.401713926599896, - y: 561.370225985964, - cluster: "A", - label: "564-A", - degree: 1.4422495703074083, - }, - { - id: "565", - olabel: "Skvoretz_J", - x: -64.7483551662307, - y: 597.0675868849579, - cluster: "B", - label: "565-B", - degree: 1.4422495703074083, - }, - { - id: "566", - olabel: "Fell_D", - x: -40.02448417328094, - y: 973.3556380073874, - cluster: "C", - label: "566-C", - degree: 1.4422495703074083, - }, - { - id: "567", - olabel: "Felleman_D", - x: -362.3758291713413, - y: 564.4186825718253, - cluster: "A", - label: "567-A", - degree: 1, - }, - { - id: "568", - olabel: "Vanessen_D", - x: -351.1325146114868, - y: 614.1588897706401, - cluster: "B", - label: "568-B", - degree: 1, - }, - { - id: "569", - olabel: "Femat_R", - x: 481.26199520278595, - y: 1067.923725922745, - cluster: "C", - label: "569-C", - degree: 1, - }, - { - id: "570", - olabel: "Solisperales_G", - x: 430.2875229237969, - y: 1066.363105771442, - cluster: "A", - label: "570-A", - degree: 1, - }, - { - id: "571", - olabel: "Ferguson_N", - x: 511.06421761189995, - y: -329.32642576732724, - cluster: "B", - label: "571-B", - degree: 1, - }, - { - id: "572", - olabel: "Garnett_G", - x: 460.7062140523719, - y: -336.4058900639856, - cluster: "C", - label: "572-C", - degree: 1, - }, - { - id: "573", - olabel: "Ferrericancho_R", - x: 507.3539493713009, - y: 457.69571272455426, - cluster: "A", - label: "573-A", - degree: 1.5874010519681994, - }, - { - id: "574", - olabel: "Janssen_C", - x: 456.75137079994926, - y: 455.9213786969917, - cluster: "B", - label: "574-B", - degree: 1.2599210498948732, - }, - { - id: "575", - olabel: "Kohler_R", - x: 523.9607043530121, - y: 411.4680237053515, - cluster: "C", - label: "575-C", - degree: 1.2599210498948732, - }, - { - id: "576", - olabel: "Fiduccia_C", - x: 563.6034261178683, - y: -283.80217819433733, - cluster: "A", - label: "576-A", - degree: 1, - }, - { - id: "577", - olabel: "Mattheyses_R", - x: 517.674121007099, - y: -260.11656183051406, - cluster: "B", - label: "577-B", - degree: 1, - }, - { - id: "578", - olabel: "Fiedler_M", - x: 1069.3392706933375, - y: 71.51706015375431, - cluster: "C", - label: "578-C", - degree: 0, - }, - { - id: "579", - olabel: "Filatrella_G", - x: 1185.6617082377763, - y: 296.6641243018832, - cluster: "A", - label: "579-A", - degree: 1.2599210498948732, - }, - { - id: "580", - olabel: "Straughn_B", - x: 1136.4531479328007, - y: 280.87099954085977, - cluster: "B", - label: "580-B", - degree: 1.2599210498948732, - }, - { - id: "581", - olabel: "Barbara_P", - x: 1148.42070716545, - y: 331.0976740575973, - cluster: "C", - label: "581-C", - degree: 1.2599210498948732, - }, - { - id: "582", - olabel: "Fingelkurts_A", - x: -322.17281360340087, - y: 105.849447272402, - cluster: "A", - label: "582-A", - degree: 1, - }, - { - id: "583", - olabel: "Kahkonen_S", - x: -306.14725468181047, - y: 154.99820332636497, - cluster: "B", - label: "583-B", - degree: 1, - }, - { - id: "584", - olabel: "Fink_K", - x: 501.7641539476904, - y: 640.0103835208073, - cluster: "C", - label: "584-C", - degree: 1.4422495703074083, - }, - { - id: "585", - olabel: "Johnson_G", - x: 525.5881609086674, - y: 697.7074083455749, - cluster: "A", - label: "585-A", - degree: 1.4422495703074083, - }, - { - id: "586", - olabel: "Carroll_T", - x: 485.28558174327713, - y: 679.7899009186262, - cluster: "B", - label: "586-B", - degree: 1.5874010519681994, - }, - { - id: "587", - olabel: "Fitzhugh_R", - x: -165.09877379396661, - y: 988.3576668795556, - cluster: "C", - label: "587-C", - degree: 0, - }, - { - id: "588", - olabel: "Flake_G", - x: 1.985452835378222, - y: 460.9152717826773, - cluster: "A", - label: "588-A", - degree: 1.709975946676697, - }, - { - id: "589", - olabel: "Lawrence_S", - x: 72.54133288496233, - y: 434.80609230226275, - cluster: "B", - label: "589-B", - degree: 1.8171205928321397, - }, - { - id: "590", - olabel: "Giles_C", - x: 3.8833161055086403, - y: 426.1549328116515, - cluster: "C", - label: "590-C", - degree: 1.709975946676697, - }, - { - id: "591", - olabel: "Coetzee_F", - x: 40.7152105058417, - y: 462.9228951136098, - cluster: "A", - label: "591-A", - degree: 1.4422495703074083, - }, - { - id: "592", - olabel: "Fontes_L", - x: 1135.4694499664413, - y: 694.0610979499941, - cluster: "B", - label: "592-B", - degree: 1, - }, - { - id: "593", - olabel: "Schonmann_R", - x: 1112.62753863888, - y: 740.7910839515995, - cluster: "C", - label: "593-C", - degree: 1, - }, - { - id: "594", - olabel: "Spata_A", - x: 419.869421950056, - y: 692.4968317827393, - cluster: "A", - label: "594-A", - degree: 1.4422495703074083, - }, - { - id: "595", - olabel: "Fortunato_S", - x: 241.28956873809915, - y: 475.7688987505958, - cluster: "B", - label: "595-B", - degree: 1.4422495703074083, - }, - { - id: "596", - olabel: "Foster_I", - x: 1158.2743205389365, - y: 373.09731774601545, - cluster: "C", - label: "596-C", - degree: 1.4422495703074083, - }, - { - id: "597", - olabel: "Kesselman_C", - x: 1118.9204113865028, - y: 406.143617151557, - cluster: "A", - label: "597-A", - degree: 1, - }, - { - id: "598", - olabel: "Fox_J", - x: -169.58831067145246, - y: -67.76866587429157, - cluster: "B", - label: "598-B", - degree: 1, - }, - { - id: "599", - olabel: "Hill_C", - x: -162.4662368144253, - y: -118.51674010229462, - cluster: "C", - label: "599-C", - degree: 1, - }, - { - id: "600", - olabel: "Frank_L", - x: 952.6271890398532, - y: 997.9663078047964, - cluster: "A", - label: "600-A", - degree: 0, - }, - { - id: "601", - olabel: "Frank_O", - x: 1041.480000716795, - y: 369.4972165676486, - cluster: "B", - label: "601-B", - degree: 1, - }, - { - id: "602", - olabel: "Strauss_D", - x: 999.8903087971916, - y: 398.4182076053868, - cluster: "C", - label: "602-C", - degree: 1, - }, - { - id: "603", - olabel: "Freeman_L", - x: -186.64242110672708, - y: 394.01360058129455, - cluster: "A", - label: "603-A", - degree: 0, - }, - { - id: "604", - olabel: "French_J", - x: -368.72772583716534, - y: 653.3855194519972, - cluster: "B", - label: "604-B", - degree: 0, - }, - { - id: "605", - olabel: "Frith_C", - x: 710.4872400580662, - y: 894.5632510780471, - cluster: "C", - label: "605-C", - degree: 1.4422495703074083, - }, - { - id: "606", - olabel: "Liddle_P", - x: 724.699118033506, - y: 934.6079448156662, - cluster: "A", - label: "606-A", - degree: 1.4422495703074083, - }, - { - id: "607", - olabel: "Frackowiak_R", - x: 766.2138155820487, - y: 925.4099778166258, - cluster: "B", - label: "607-B", - degree: 1.4422495703074083, - }, - { - id: "608", - olabel: "Fronczak_A", - x: 86.76924010451442, - y: 218.71842606030094, - cluster: "C", - label: "608-C", - degree: 1.5874010519681994, - }, - { - id: "609", - olabel: "Fronczak_P", - x: 92.97024683089958, - y: 277.75567008587444, - cluster: "A", - label: "609-A", - degree: 1.2599210498948732, - }, - { - id: "610", - olabel: "Jedynak_M", - x: 138.44208868310042, - y: 208.95570910577558, - cluster: "B", - label: "610-B", - degree: 1.4422495703074083, - }, - { - id: "611", - olabel: "Sienkiewicz_J", - x: 88.97841833062225, - y: 260.10184763776164, - cluster: "C", - label: "611-C", - degree: 1.4422495703074083, - }, - { - id: "612", - olabel: "Fu_C", - x: 1070.4709412793895, - y: 232.05698735315, - cluster: "A", - label: "612-A", - degree: 0, - }, - { - id: "613", - olabel: "Fujisaka_H", - x: 43.95814953715358, - y: 75.95799354725453, - cluster: "B", - label: "613-B", - degree: 1, - }, - { - id: "614", - olabel: "Yamada_T", - x: 30.161395719205647, - y: 125.462179652621, - cluster: "C", - label: "614-C", - degree: 1, - }, - { - id: "615", - olabel: "Gade_P", - x: -377.91349615850845, - y: 452.90438177773115, - cluster: "A", - label: "615-A", - degree: 1, - }, - { - id: "616", - olabel: "Hu_C", - x: -374.97277241515036, - y: 504.2838223848603, - cluster: "B", - label: "616-B", - degree: 1, - }, - { - id: "617", - olabel: "Gafiychuk_V", - x: 1024.3837040373737, - y: 132.5236191181019, - cluster: "C", - label: "617-C", - degree: 1.2599210498948732, - }, - { - id: "618", - olabel: "Lubashevsky_I", - x: 981.841032217774, - y: 161.62924868077954, - cluster: "A", - label: "618-A", - degree: 1.2599210498948732, - }, - { - id: "619", - olabel: "Stosyk_A", - x: 1029.8079117842094, - y: 183.15497111705156, - cluster: "B", - label: "619-B", - degree: 1.2599210498948732, - }, - { - id: "620", - olabel: "Galaskiewicz_J", - x: 1099.9667652052935, - y: 642.4441821373833, - cluster: "C", - label: "620-C", - degree: 1, - }, - { - id: "621", - olabel: "Marsden_P", - x: 1097.0554185439703, - y: 693.5277220310777, - cluster: "A", - label: "621-A", - degree: 1, - }, - { - id: "622", - olabel: "Galstyan_A", - x: 973.3591380383479, - y: 849.8756651946876, - cluster: "B", - label: "622-B", - degree: 1, - }, - { - id: "623", - olabel: "Lerman_K", - x: 936.0403686697383, - y: 885.5305078135508, - cluster: "C", - label: "623-C", - degree: 1, - }, - { - id: "624", - olabel: "Gammaitoni_L", - x: 603.1742305385504, - y: -122.08833450377186, - cluster: "A", - label: "624-A", - degree: 1.4422495703074083, - }, - { - id: "625", - olabel: "Hanggi_P", - x: 643.0665380249063, - y: -136.39509875155522, - cluster: "B", - label: "625-B", - degree: 1.4422495703074083, - }, - { - id: "626", - olabel: "Jung_P", - x: 587.0536403057359, - y: -164.18656060601, - cluster: "C", - label: "626-C", - degree: 1.4422495703074083, - }, - { - id: "627", - olabel: "Marchesoni_F", - x: 630.5212053785955, - y: -179.2841727235224, - cluster: "A", - label: "627-A", - degree: 1.4422495703074083, - }, - { - id: "628", - olabel: "Gao_Z", - x: 340.7380489276557, - y: 779.2592029323639, - cluster: "B", - label: "628-B", - degree: 1.2599210498948732, - }, - { - id: "629", - olabel: "Hu_B", - x: 381.9382350137478, - y: 811.1599322979173, - cluster: "C", - label: "629-C", - degree: 1.4422495703074083, - }, - { - id: "630", - olabel: "Hu_G", - x: 332.9088632729501, - y: 830.7905916218738, - cluster: "A", - label: "630-A", - degree: 2.2239800905693152, - }, - { - id: "631", - olabel: "Garey_M", - x: 935.177127154205, - y: 977.9846326279834, - cluster: "B", - label: "631-B", - degree: 1, - }, - { - id: "632", - olabel: "Johnson_D", - x: 956.3452236483228, - y: 931.3484590149469, - cluster: "C", - label: "632-C", - degree: 1, - }, - { - id: "633", - olabel: "Garfield_E", - x: -378.4148854875405, - y: 605.9881185044487, - cluster: "A", - label: "633-A", - degree: 0, - }, - { - id: "634", - olabel: "Garfinkel_I", - x: 1003.7058267293564, - y: -40.690282810051, - cluster: "B", - label: "634-B", - degree: 1.2599210498948732, - }, - { - id: "635", - olabel: "Glei_D", - x: 1035.5957208480843, - y: -80.84969241168795, - cluster: "C", - label: "635-C", - degree: 1.2599210498948732, - }, - { - id: "636", - olabel: "Mclanahan_S", - x: 985.3376593398096, - y: -89.07761397508709, - cluster: "A", - label: "636-A", - degree: 1.2599210498948732, - }, - { - id: "637", - olabel: "Garlaschelli_D", - x: 645.8004216277575, - y: 183.90502972659164, - cluster: "B", - label: "637-B", - degree: 1.8171205928321397, - }, - { - id: "638", - olabel: "Castri_M", - x: 636.5145866901756, - y: 221.60349260336696, - cluster: "C", - label: "638-C", - degree: 1.5874010519681994, - }, - { - id: "639", - olabel: "Loffredo_M", - x: 631.8645157733417, - y: 131.628179354062, - cluster: "A", - label: "639-A", - degree: 1, - }, - { - id: "640", - olabel: "Gastner_M", - x: 206.14915569755746, - y: 450.9851036634063, - cluster: "B", - label: "640-B", - degree: 1, - }, - { - id: "641", - olabel: "Gauthier_D", - x: 796.7069158580521, - y: 466.1710496449515, - cluster: "C", - label: "641-C", - degree: 1.4422495703074083, - }, - { - id: "642", - olabel: "Bienfang_J", - x: 791.6599242137286, - y: 415.5970612848199, - cluster: "A", - label: "642-A", - degree: 1, - }, - { - id: "643", - olabel: "Gerschgorin_S", - x: 87.92395164364657, - y: -344.5567352226378, - cluster: "B", - label: "643-B", - degree: 0, - }, - { - id: "644", - olabel: "Giot_L", - x: 756.6717922148729, - y: 627.6471760269279, - cluster: "C", - label: "644-C", - degree: 2.668401648721945, - }, - { - id: "645", - olabel: "Girvan_M", - x: 185.43059915746164, - y: 439.6890645491156, - cluster: "A", - label: "645-A", - degree: 1.2599210498948732, - }, - { - id: "646", - olabel: "Glanz_J", - x: 875.39043631656, - y: -123.21452856996703, - cluster: "B", - label: "646-B", - degree: 1, - }, - { - id: "647", - olabel: "Perezpena_R", - x: 924.8570184817214, - y: -107.6103784110076, - cluster: "C", - label: "647-C", - degree: 1, - }, - { - id: "648", - olabel: "Glass_L", - x: -161.9670396481081, - y: 79.45456761871775, - cluster: "A", - label: "648-A", - degree: 0, - }, - { - id: "649", - olabel: "Gleiss_P", - x: -19.4784123812806, - y: 932.5368985241389, - cluster: "B", - label: "649-B", - degree: 1.4422495703074083, - }, - { - id: "650", - olabel: "Stadler_P", - x: 20.85789498605641, - y: 951.1811095483239, - cluster: "C", - label: "650-C", - degree: 1.4422495703074083, - }, - { - id: "651", - olabel: "Goh_K", - x: 382.04443315025424, - y: 283.86299790724223, - cluster: "A", - label: "651-A", - degree: 1.912931182772389, - }, - { - id: "652", - olabel: "Ghim_C", - x: 430.7055079683959, - y: 264.2750486616113, - cluster: "B", - label: "652-B", - degree: 1.4422495703074083, - }, - { - id: "653", - olabel: "Kahng_B", - x: 411.09269961108987, - y: 311.11293930087083, - cluster: "C", - label: "653-C", - degree: 2.4101422641752297, - }, - { - id: "654", - olabel: "Kim_D", - x: 391.6869490938638, - y: 305.55630974447655, - cluster: "A", - label: "654-A", - degree: 1.912931182772389, - }, - { - id: "655", - olabel: "Lee_D", - x: 414.3736803520987, - y: 252.50013892929272, - cluster: "B", - label: "655-B", - degree: 1.4422495703074083, - }, - { - id: "656", - olabel: "Oh_E", - x: 374.38102353021054, - y: 253.6462979161971, - cluster: "C", - label: "656-C", - degree: 1.8171205928321397, - }, - { - id: "657", - olabel: "Goldberg_D", - x: 784.0926607662788, - y: 729.4861664820138, - cluster: "A", - label: "657-A", - degree: 1.4422495703074083, - }, - { - id: "658", - olabel: "Nichols_D", - x: 758.0069925959813, - y: 764.2375824756564, - cluster: "B", - label: "658-B", - degree: 1.4422495703074083, - }, - { - id: "659", - olabel: "Oki_B", - x: 792.1044552064967, - y: 791.0480680341009, - cluster: "C", - label: "659-C", - degree: 1.4422495703074083, - }, - { - id: "660", - olabel: "Terry_D", - x: 818.8780497655346, - y: 754.1113601438947, - cluster: "A", - label: "660-A", - degree: 1.4422495703074083, - }, - { - id: "661", - olabel: "Goldbeter_A", - x: 238.61521379803682, - y: 883.2530647898237, - cluster: "B", - label: "661-B", - degree: 2, - }, - { - id: "662", - olabel: "Gonze_D", - x: 202.58945575178143, - y: 932.7798230572979, - cluster: "C", - label: "662-C", - degree: 1.709975946676697, - }, - { - id: "663", - olabel: "Houart_G", - x: 211.1204379707555, - y: 903.2278207569042, - cluster: "A", - label: "663-A", - degree: 1.5874010519681994, - }, - { - id: "664", - olabel: "Leloup_J", - x: 196.6915028268029, - y: 863.0077431016991, - cluster: "B", - label: "664-B", - degree: 1.5874010519681994, - }, - { - id: "665", - olabel: "Dupont_G", - x: 170.61757635307538, - y: 893.1737266661596, - cluster: "C", - label: "665-C", - degree: 1.5874010519681994, - }, - { - id: "666", - olabel: "Goldwasser_L", - x: 64.99431595726723, - y: 800.8149406336145, - cluster: "A", - label: "666-A", - degree: 1, - }, - { - id: "667", - olabel: "Roughgarden_J", - x: 20.158611061636805, - y: 824.0330092387285, - cluster: "B", - label: "667-B", - degree: 1, - }, - { - id: "668", - olabel: "Golomb_D", - x: 84.69393646438694, - y: -17.708343835364136, - cluster: "C", - label: "668-C", - degree: 1.2599210498948732, - }, - { - id: "669", - olabel: "Hansel_D", - x: 71.3301020186749, - y: -68.23790289217703, - cluster: "A", - label: "669-A", - degree: 1.2599210498948732, - }, - { - id: "670", - olabel: "Rinzel_J", - x: 65.1443230105031, - y: 30.05825300591568, - cluster: "B", - label: "670-B", - degree: 1, - }, - { - id: "671", - olabel: "Golub_G", - x: -10.500250550574624, - y: 851.7322743133858, - cluster: "C", - label: "671-C", - degree: 1, - }, - { - id: "672", - olabel: "Vanloan_C", - x: -3.0324170719361114, - y: 800.7135683374264, - cluster: "A", - label: "672-A", - degree: 1, - }, - { - id: "673", - olabel: "Floria_L", - x: 648.3409982575347, - y: 458.19379951631197, - cluster: "B", - label: "673-B", - degree: 1.2599210498948732, - }, - { - id: "674", - olabel: "Gonzales_M", - x: 471.93138715835033, - y: 118.30853679772228, - cluster: "C", - label: "674-C", - degree: 1.2599210498948732, - }, - { - id: "675", - olabel: "Sousa_A", - x: 420.21213649916365, - y: 122.33570824448147, - cluster: "A", - label: "675-A", - degree: 1.709975946676697, - }, - { - id: "676", - olabel: "Hally_J", - x: 253.24196531032624, - y: 934.5614905208596, - cluster: "B", - label: "676-B", - degree: 1.2599210498948732, - }, - { - id: "677", - olabel: "Goodhill_A", - x: 20.082623396256093, - y: -169.92205059119087, - cluster: "C", - label: "677-C", - degree: 1.2599210498948732, - }, - { - id: "678", - olabel: "Simmen_M", - x: 18.609039901223642, - y: -221.65187589113825, - cluster: "A", - label: "678-A", - degree: 1.2599210498948732, - }, - { - id: "679", - olabel: "Willshaw_D", - x: 64.12802538429185, - y: -197.81316992775209, - cluster: "B", - label: "679-B", - degree: 1.2599210498948732, - }, - { - id: "680", - olabel: "Goodman_M", - x: -198.8560774494755, - y: 235.17315974598577, - cluster: "C", - label: "680-C", - degree: 1.4422495703074083, - }, - { - id: "681", - olabel: "Hall_D", - x: -141.95209256650847, - y: 207.29958346350938, - cluster: "A", - label: "681-A", - degree: 1.4422495703074083, - }, - { - id: "682", - olabel: "Avery_L", - x: -157.90357939547073, - y: 249.44423256794906, - cluster: "B", - label: "682-B", - degree: 1.4422495703074083, - }, - { - id: "683", - olabel: "Lockery_S", - x: -183.47415888682585, - y: 194.12267349045908, - cluster: "C", - label: "683-C", - degree: 1.4422495703074083, - }, - { - id: "684", - olabel: "Gorman_S", - x: 471.3192364949561, - y: 315.70085766486613, - cluster: "A", - label: "684-A", - degree: 1, - }, - { - id: "685", - olabel: "Tangmunarunkit_H", - x: 989.4511997517102, - y: 177.47950371109138, - cluster: "B", - label: "685-B", - degree: 1, - }, - { - id: "686", - olabel: "Granovetter_M", - x: -392.1710229039235, - y: 568.2036736096502, - cluster: "C", - label: "686-C", - degree: 0, - }, - { - id: "687", - olabel: "Grassberger_P", - x: 798.6376677019626, - y: 1075.092282783046, - cluster: "A", - label: "687-A", - degree: 0, - }, - { - id: "688", - olabel: "Gray_C", - x: -94.94858236124958, - y: 540.8856938616454, - cluster: "B", - label: "688-B", - degree: 1.4422495703074083, - }, - { - id: "689", - olabel: "Konig_P", - x: -125.665838084197, - y: 573.7789103553025, - cluster: "C", - label: "689-C", - degree: 1.4422495703074083, - }, - { - id: "690", - olabel: "Greenhalgh_D", - x: 1115.2656260887234, - y: 608.4939495997979, - cluster: "A", - label: "690-A", - degree: 0, - }, - { - id: "691", - olabel: "Gregoire_G", - x: 427.04200741366145, - y: 768.2553125017799, - cluster: "B", - label: "691-B", - degree: 1, - }, - { - id: "692", - olabel: "Gross_J", - x: 545.1289655042833, - y: 814.7406936679943, - cluster: "C", - label: "692-C", - degree: 1.709975946676697, - }, - { - id: "693", - olabel: "Kujala_J", - x: 487.75373541380173, - y: 790.4793140061225, - cluster: "A", - label: "693-A", - degree: 1.709975946676697, - }, - { - id: "694", - olabel: "Hamalainen_M", - x: 499.53201180624194, - y: 846.6188203718733, - cluster: "B", - label: "694-B", - degree: 2.080083823051904, - }, - { - id: "695", - olabel: "Timmermann_L", - x: 528.8770029366757, - y: 845.1405249845155, - cluster: "C", - label: "695-C", - degree: 1.709975946676697, - }, - { - id: "696", - olabel: "Schnitzler_A", - x: 519.1644861888354, - y: 793.0378406137846, - cluster: "A", - label: "696-A", - degree: 2.2894284851066637, - }, - { - id: "697", - olabel: "Salmelin_R", - x: 470.9679201678923, - y: 824.4420590367222, - cluster: "B", - label: "697-B", - degree: 1.709975946676697, - }, - { - id: "698", - olabel: "Ion_P", - x: 49.813824604839695, - y: 910.4857867735831, - cluster: "C", - label: "698-C", - degree: 1, - }, - { - id: "699", - olabel: "Guardiola_X", - x: 680.4703805573166, - y: 250.12625295192035, - cluster: "A", - label: "699-A", - degree: 1.4422495703074083, - }, - { - id: "700", - olabel: "Llas_M", - x: 692.2617667904902, - y: 285.10662413409574, - cluster: "B", - label: "700-B", - degree: 1.4422495703074083, - }, - { - id: "701", - olabel: "Perez_C", - x: 641.4204142183246, - y: 261.28398996438364, - cluster: "C", - label: "701-C", - degree: 1.4422495703074083, - }, - { - id: "702", - olabel: "Guare_J", - x: 965.1355436488, - y: 344.0344158816217, - cluster: "A", - label: "702-A", - degree: 0, - }, - { - id: "703", - olabel: "Guelzim_N", - x: 1105.334276861345, - y: 731.5651773176304, - cluster: "B", - label: "703-B", - degree: 1.4422495703074083, - }, - { - id: "704", - olabel: "Bottani_S", - x: 1043.6395294428278, - y: 736.686947707429, - cluster: "C", - label: "704-C", - degree: 1.4422495703074083, - }, - { - id: "705", - olabel: "Bourgine_P", - x: 1075.6359490241339, - y: 767.6085830424147, - cluster: "A", - label: "705-A", - degree: 1.4422495703074083, - }, - { - id: "706", - olabel: "Kepes_F", - x: 1072.330405901548, - y: 705.3249197726999, - cluster: "B", - label: "706-B", - degree: 1.4422495703074083, - }, - { - id: "707", - olabel: "Giralt_F", - x: 593.0649918896848, - y: 310.6598537112542, - cluster: "C", - label: "707-C", - degree: 1.5874010519681994, - }, - { - id: "708", - olabel: "Mossa_S", - x: 514.2563434076415, - y: 272.9894343981864, - cluster: "A", - label: "708-A", - degree: 1.709975946676697, - }, - { - id: "709", - olabel: "Turtschi_A", - x: 523.2043796251062, - y: 229.5313613155718, - cluster: "B", - label: "709-B", - degree: 1.4422495703074083, - }, - { - id: "710", - olabel: "Gupta_S", - x: 283.4254097965962, - y: -256.4605536605248, - cluster: "C", - label: "710-C", - degree: 1.2599210498948732, - }, - { - id: "711", - olabel: "Hall_G", - x: 792.1125502711092, - y: 515.5534642010462, - cluster: "A", - label: "711-A", - degree: 1.2599210498948732, - }, - { - id: "712", - olabel: "Bahar_S", - x: 839.5234188318678, - y: 494.6462255386077, - cluster: "B", - label: "712-B", - degree: 1.2599210498948732, - }, - { - id: "713", - olabel: "Hall_K", - x: 617.5474344865855, - y: -373.89575627836035, - cluster: "C", - label: "713-C", - degree: 0, - }, - { - id: "714", - olabel: "Hari_R", - x: 481.8007621590696, - y: 821.1218515857189, - cluster: "A", - label: "714-A", - degree: 1.5874010519681994, - }, - { - id: "715", - olabel: "Ilmoniemi_R", - x: 463.71918158450217, - y: 866.6848549108132, - cluster: "B", - label: "715-B", - degree: 1.5874010519681994, - }, - { - id: "716", - olabel: "Knuutila_J", - x: 536.4748182062355, - y: 854.3134689072239, - cluster: "C", - label: "716-C", - degree: 1.5874010519681994, - }, - { - id: "717", - olabel: "Lounasmaa_O", - x: 504.36117020229824, - y: 888.4087673706138, - cluster: "A", - label: "717-A", - degree: 1.5874010519681994, - }, - { - id: "718", - olabel: "Handcock_M", - x: 600.7917189361528, - y: -236.71956654659402, - cluster: "B", - label: "718-B", - degree: 1.4422495703074083, - }, - { - id: "719", - olabel: "Jones_J", - x: 553.9101890494667, - y: -214.31174412405372, - cluster: "C", - label: "719-C", - degree: 1, - }, - { - id: "720", - olabel: "Sompolinsky_H", - x: 109.80515683452046, - y: -33.96622950961985, - cluster: "A", - label: "720-A", - degree: 1.4422495703074083, - }, - { - id: "721", - olabel: "Harary_F", - x: 173.9142356726914, - y: 1173.933955215264, - cluster: "B", - label: "721-B", - degree: 0, - }, - { - id: "722", - olabel: "Harwell_L", - x: 442.13591088726173, - y: 1104.608631951584, - cluster: "C", - label: "722-C", - degree: 1.4422495703074083, - }, - { - id: "723", - olabel: "Hopfield_J", - x: 449.8360939820348, - y: 1166.3854902364624, - cluster: "A", - label: "723-A", - degree: 1.4422495703074083, - }, - { - id: "724", - olabel: "Leibler_S", - x: 414.42604714458815, - y: 1137.1490571501113, - cluster: "B", - label: "724-B", - degree: 1.4422495703074083, - }, - { - id: "725", - olabel: "Murray_A", - x: 476.19533271619724, - y: 1129.673011419462, - cluster: "C", - label: "725-C", - degree: 1.4422495703074083, - }, - { - id: "726", - olabel: "Hayes_B", - x: 155.56557707224755, - y: 60.09890632045005, - cluster: "A", - label: "726-A", - degree: 0, - }, - { - id: "727", - olabel: "Haynie_D", - x: 5.889151799562, - y: -304.5805102744339, - cluster: "B", - label: "727-B", - degree: 0, - }, - { - id: "728", - olabel: "Heagy_J", - x: 506.6583591298495, - y: 630.1979707390385, - cluster: "C", - label: "728-C", - degree: 1.2599210498948732, - }, - { - id: "729", - olabel: "Hegselmann_R", - x: 959.7164970545533, - y: -84.50861703817056, - cluster: "A", - label: "729-A", - degree: 1, - }, - { - id: "730", - olabel: "Krause_U", - x: 914.4606130752098, - y: -109.50325551945888, - cluster: "B", - label: "730-B", - degree: 1, - }, - { - id: "731", - olabel: "He_M", - x: 171.4038356107455, - y: -67.01110400866884, - cluster: "C", - label: "731-C", - degree: 1.2599210498948732, - }, - { - id: "732", - olabel: "Xu_H", - x: 122.34606185651192, - y: -55.97341543068664, - cluster: "A", - label: "732-A", - degree: 1.2599210498948732, - }, - { - id: "733", - olabel: "Sun_Q", - x: 138.10073080937627, - y: -105.66048518894637, - cluster: "B", - label: "733-B", - degree: 1.2599210498948732, - }, - { - id: "734", - olabel: "Herrero_C", - x: -319.7027244467872, - y: 773.571230724573, - cluster: "C", - label: "734-C", - degree: 0, - }, - { - id: "735", - olabel: "Herrmann_C", - x: 538.2216347812711, - y: 267.7356220312466, - cluster: "A", - label: "735-A", - degree: 1.2599210498948732, - }, - { - id: "736", - olabel: "Provero_P", - x: 589.441339545836, - y: 282.930547037597, - cluster: "B", - label: "736-B", - degree: 1.2599210498948732, - }, - { - id: "737", - olabel: "Hong_D", - x: 490.69816735157855, - y: 173.03333797434658, - cluster: "C", - label: "737-C", - degree: 1.2599210498948732, - }, - { - id: "738", - olabel: "Roux_S", - x: 408.17351055593036, - y: 124.65823366914772, - cluster: "A", - label: "738-A", - degree: 1, - }, - { - id: "739", - olabel: "Hethcote_H", - x: 923.5551710157266, - y: 7.831770927870397, - cluster: "B", - label: "739-B", - degree: 0, - }, - { - id: "740", - olabel: "Higham_D", - x: 983.1707259806959, - y: -156.8225682498522, - cluster: "C", - label: "740-C", - degree: 0, - }, - { - id: "741", - olabel: "Hilgetag_C", - x: 351.61176649166714, - y: -7.174087166359074, - cluster: "A", - label: "741-A", - degree: 2.2239800905693152, - }, - { - id: "742", - olabel: "Oneill_M", - x: 322.9808147262987, - y: 2.4784962637481582, - cluster: "B", - label: "742-B", - degree: 1.912931182772389, - }, - { - id: "743", - olabel: "Scannell_J", - x: 327.16082924965673, - y: -62.47757919630009, - cluster: "C", - label: "743-C", - degree: 2, - }, - { - id: "744", - olabel: "Grant_A", - x: 336.54067877305624, - y: 43.11821900000114, - cluster: "A", - label: "744-A", - degree: 1, - }, - { - id: "745", - olabel: "Kaiser_M", - x: 319.8086927552838, - y: 24.052619283017055, - cluster: "B", - label: "745-B", - degree: 1.8171205928321397, - }, - { - id: "746", - olabel: "Hillier_B", - x: 1176.4163030926106, - y: 566.2503026393682, - cluster: "C", - label: "746-C", - degree: 1, - }, - { - id: "747", - olabel: "Hanson_J", - x: 1161.8200180308806, - y: 615.4067450462692, - cluster: "A", - label: "747-A", - degree: 1, - }, - { - id: "748", - olabel: "Hirsch_J", - x: 1108.3453213380178, - y: 255.34855991127623, - cluster: "B", - label: "748-B", - degree: 0, - }, - { - id: "749", - olabel: "Hodgkin_A", - x: -274.16657773048007, - y: 539.4945542316211, - cluster: "C", - label: "749-C", - degree: 1, - }, - { - id: "750", - olabel: "Huxley_A", - x: -294.074019319861, - y: 586.818541947405, - cluster: "A", - label: "750-A", - degree: 1, - }, - { - id: "751", - olabel: "Hoff_P", - x: 652.4596173898228, - y: -239.95714689280163, - cluster: "B", - label: "751-B", - degree: 1.2599210498948732, - }, - { - id: "752", - olabel: "Raftery_A", - x: 624.2120813579074, - y: -282.6952161787432, - cluster: "C", - label: "752-C", - degree: 1.2599210498948732, - }, - { - id: "753", - olabel: "Holland_P", - x: 39.36654682467038, - y: 550.4096853224361, - cluster: "A", - label: "753-A", - degree: 1, - }, - { - id: "754", - olabel: "Leinhardt_S", - x: -5.1521173186177585, - y: 523.0310654370904, - cluster: "B", - label: "754-B", - degree: 1, - }, - { - id: "755", - olabel: "Holme_P", - x: 291.06495867312583, - y: 287.66493570147895, - cluster: "C", - label: "755-C", - degree: 2.4101422641752297, - }, - { - id: "756", - olabel: "Edling_C", - x: 382.4797921243735, - y: 232.98889214786445, - cluster: "A", - label: "756-A", - degree: 1.709975946676697, - }, - { - id: "757", - olabel: "Liljeros_F", - x: 393.7335984992419, - y: 266.0821872412015, - cluster: "B", - label: "757-B", - degree: 1.709975946676697, - }, - { - id: "758", - olabel: "Ghoshal_G", - x: 250.4722437082049, - y: 344.1900972222674, - cluster: "C", - label: "758-C", - degree: 1.4422495703074083, - }, - { - id: "759", - olabel: "Huss_M", - x: 301.39222491892474, - y: 338.45990511112115, - cluster: "A", - label: "759-A", - degree: 1.2599210498948732, - }, - { - id: "760", - olabel: "Kim_B", - x: 276.74037615894156, - y: 269.512160861883, - cluster: "B", - label: "760-B", - degree: 2.154434690031884, - }, - { - id: "761", - olabel: "Yoon_C", - x: 329.54344971912275, - y: 269.1560996947845, - cluster: "C", - label: "761-C", - degree: 1.5874010519681994, - }, - { - id: "762", - olabel: "Han_S", - x: 297.0435525706243, - y: 321.7605354230827, - cluster: "A", - label: "762-A", - degree: 1.5874010519681994, - }, - { - id: "763", - olabel: "Trusina_A", - x: 228.43344897701797, - y: 287.6080986970107, - cluster: "B", - label: "763-B", - degree: 1.912931182772389, - }, - { - id: "764", - olabel: "Minnhagen_P", - x: 222.79438319523302, - y: 235.88252511448067, - cluster: "C", - label: "764-C", - degree: 1.912931182772389, - }, - { - id: "765", - olabel: "Holmgren_C", - x: 978.1771342338216, - y: 138.04013194229663, - cluster: "A", - label: "765-A", - degree: 1.4422495703074083, - }, - { - id: "766", - olabel: "Harkany_T", - x: 946.1834047513976, - y: 109.22147462020008, - cluster: "B", - label: "766-B", - degree: 1.4422495703074083, - }, - { - id: "767", - olabel: "Svennenfors_B", - x: 973.7256879846216, - y: 75.69651789158915, - cluster: "C", - label: "767-C", - degree: 1.4422495703074083, - }, - { - id: "768", - olabel: "Zilberter_Y", - x: 1006.7765168263774, - y: 105.96572019587809, - cluster: "A", - label: "768-A", - degree: 1.4422495703074083, - }, - { - id: "769", - olabel: "Holter_N", - x: 740.9093668797065, - y: 349.50881472913187, - cluster: "B", - label: "769-B", - degree: 1.709975946676697, - }, - { - id: "770", - olabel: "Mitra_M", - x: 763.7486540480336, - y: 367.9455654457108, - cluster: "C", - label: "770-C", - degree: 1.709975946676697, - }, - { - id: "771", - olabel: "Cieplak_M", - x: 711.4428597579908, - y: 367.2943344578366, - cluster: "A", - label: "771-A", - degree: 1.709975946676697, - }, - { - id: "772", - olabel: "Fedroff_N", - x: 739.6897180625217, - y: 419.1910103009477, - cluster: "B", - label: "772-B", - degree: 1.709975946676697, - }, - { - id: "773", - olabel: "Hong_H", - x: 334.2309901247768, - y: 252.59468687541582, - cluster: "C", - label: "773-C", - degree: 1.8171205928321397, - }, - { - id: "774", - olabel: "Choi_M", - x: 261.44347494897517, - y: 215.9311729718986, - cluster: "A", - label: "774-A", - degree: 1.912931182772389, - }, - { - id: "775", - olabel: "Park_H", - x: 303.95610836209045, - y: 213.0330997809111, - cluster: "B", - label: "775-B", - degree: 1.4422495703074083, - }, - { - id: "776", - olabel: "Horn_N", - x: -88.87748079013245, - y: 1012.4085822279937, - cluster: "C", - label: "776-C", - degree: 1, - }, - { - id: "777", - olabel: "Ruppin_E", - x: -82.4809183434926, - y: 1062.746378905822, - cluster: "A", - label: "777-A", - degree: 1, - }, - { - id: "778", - olabel: "Horwitz_B", - x: 695.6377361184947, - y: 1133.2669762132446, - cluster: "B", - label: "778-B", - degree: 0, - }, - { - id: "779", - olabel: "Hufnagel_L", - x: -281.53137044952535, - y: 566.9272725147545, - cluster: "C", - label: "779-C", - degree: 1.2599210498948732, - }, - { - id: "780", - olabel: "Brockmann_D", - x: -249.71587499459983, - y: 526.9816997693879, - cluster: "A", - label: "780-A", - degree: 1.2599210498948732, - }, - { - id: "781", - olabel: "Hugenii_C", - x: 1182.3361515062813, - y: 265.4160971048642, - cluster: "B", - label: "781-B", - degree: 0, - }, - { - id: "782", - olabel: "Yang_J", - x: 313.10719567744115, - y: 780.8859307036928, - cluster: "C", - label: "782-C", - degree: 1.4422495703074083, - }, - { - id: "783", - olabel: "Liu_W", - x: 364.00191083586174, - y: 789.2836534823476, - cluster: "A", - label: "783-A", - degree: 1.2599210498948732, - }, - { - id: "784", - olabel: "Huxham_M", - x: 348.73774542395114, - y: -263.5715570424733, - cluster: "B", - label: "784-B", - degree: 1.2599210498948732, - }, - { - id: "785", - olabel: "Beaney_S", - x: 315.987638258111, - y: -304.6818343976522, - cluster: "C", - label: "785-C", - degree: 1.2599210498948732, - }, - { - id: "786", - olabel: "Raffaelli_D", - x: 297.9934661488226, - y: -257.7127664115414, - cluster: "A", - label: "786-A", - degree: 1.2599210498948732, - }, - { - id: "787", - olabel: "Lopezruiz_R", - x: 644.4496585274823, - y: 559.1698248052627, - cluster: "B", - label: "787-B", - degree: 1.4422495703074083, - }, - { - id: "788", - olabel: "Iamnitchi_A", - x: 1209.4055148173272, - y: 373.7813021258216, - cluster: "C", - label: "788-C", - degree: 1.2599210498948732, - }, - { - id: "789", - olabel: "Ripeanu_M", - x: 1184.9726295410114, - y: 328.8586838020113, - cluster: "A", - label: "789-A", - degree: 1.2599210498948732, - }, - { - id: "790", - olabel: "Ichinomiya_T", - x: 1170.3969883602088, - y: 166.59575158031254, - cluster: "B", - label: "790-B", - degree: 0, - }, - { - id: "791", - olabel: "Igoshin_O", - x: 231.9574355241346, - y: 848.4814141360364, - cluster: "C", - label: "791-C", - degree: 1.4422495703074083, - }, - { - id: "792", - olabel: "Kaiser_D", - x: 283.6655811437352, - y: 873.572466681376, - cluster: "A", - label: "792-A", - degree: 1.4422495703074083, - }, - { - id: "793", - olabel: "Oster_G", - x: 245.100072392219, - y: 917.3073324084521, - cluster: "B", - label: "793-B", - degree: 1.4422495703074083, - }, - { - id: "794", - olabel: "Ihmels_J", - x: 796.6633788162651, - y: 131.03521129381514, - cluster: "C", - label: "794-C", - degree: 1.5874010519681994, - }, - { - id: "795", - olabel: "Friedlander_G", - x: 789.9247055388461, - y: 174.63860586088208, - cluster: "A", - label: "795-A", - degree: 1.5874010519681994, - }, - { - id: "796", - olabel: "Bergmann_S", - x: 822.7071130891921, - y: 194.43828106633353, - cluster: "B", - label: "796-B", - degree: 1.5874010519681994, - }, - { - id: "797", - olabel: "Ofersarig_Y", - x: 857.0455358738141, - y: 170.77564299538994, - cluster: "C", - label: "797-C", - degree: 1.5874010519681994, - }, - { - id: "798", - olabel: "Ito_T", - x: 635.0481648598941, - y: 872.3216931511284, - cluster: "A", - label: "798-A", - degree: 1.709975946676697, - }, - { - id: "799", - olabel: "Chiba_T", - x: 682.006514114331, - y: 823.7475222371258, - cluster: "B", - label: "799-B", - degree: 1.709975946676697, - }, - { - id: "800", - olabel: "Ozawa_R", - x: 689.7270608013542, - y: 854.4116887700094, - cluster: "C", - label: "800-C", - degree: 1.709975946676697, - }, - { - id: "801", - olabel: "Yoshida_M", - x: 650.230738484215, - y: 814.7347354464212, - cluster: "A", - label: "801-A", - degree: 1.709975946676697, - }, - { - id: "802", - olabel: "Hattori_M", - x: 625.7581601546392, - y: 844.2215817903781, - cluster: "B", - label: "802-B", - degree: 1.709975946676697, - }, - { - id: "803", - olabel: "Sakaki_Y", - x: 665.4891413823624, - y: 880.0052432605996, - cluster: "C", - label: "803-C", - degree: 1.709975946676697, - }, - { - id: "804", - olabel: "Itzkovitz_S", - x: 858.612973216704, - y: 57.37842244308049, - cluster: "A", - label: "804-A", - degree: 2.080083823051904, - }, - { - id: "805", - olabel: "Milo_R", - x: 845.1021431475912, - y: 32.73049150022623, - cluster: "B", - label: "805-B", - degree: 2.154434690031884, - }, - { - id: "806", - olabel: "Kashtan_N", - x: 823.5092857422884, - y: 43.63263556027175, - cluster: "C", - label: "806-C", - degree: 2.080083823051904, - }, - { - id: "807", - olabel: "Ziv_G", - x: 812.4032672732449, - y: 87.07991041807615, - cluster: "A", - label: "807-A", - degree: 1.5874010519681994, - }, - { - id: "808", - olabel: "Jacob_F", - x: 451.2741149141104, - y: -138.55394902410106, - cluster: "B", - label: "808-B", - degree: 1, - }, - { - id: "809", - olabel: "Monod_J", - x: 400.7466449839764, - y: -143.95255470763735, - cluster: "C", - label: "809-C", - degree: 1, - }, - { - id: "810", - olabel: "Jacobson_V", - x: 1032.6381056058624, - y: 859.7770627445342, - cluster: "A", - label: "810-A", - degree: 0, - }, - { - id: "811", - olabel: "Jaffe_A", - x: 747.7617189716583, - y: 3.1393153942215655, - cluster: "B", - label: "811-B", - degree: 1, - }, - { - id: "812", - olabel: "Trajtenberg_M", - x: 723.5000543815912, - y: -41.93907977817258, - cluster: "C", - label: "812-C", - degree: 1, - }, - { - id: "813", - olabel: "Jain_A", - x: -295.1049098438224, - y: 22.61156119725051, - cluster: "A", - label: "813-A", - degree: 1.2599210498948732, - }, - { - id: "814", - olabel: "Murty_M", - x: -254.71537184842444, - y: 53.76843153831554, - cluster: "B", - label: "814-B", - degree: 1.2599210498948732, - }, - { - id: "815", - olabel: "Flynn_P", - x: -247.94766831947936, - y: 2.410279561437153, - cluster: "C", - label: "815-C", - degree: 1.2599210498948732, - }, - { - id: "816", - olabel: "Jain_S", - x: 249.5178765009647, - y: 1047.279929640221, - cluster: "A", - label: "816-A", - degree: 1, - }, - { - id: "817", - olabel: "Krishna_S", - x: 200.71795361243127, - y: 1063.206567365028, - cluster: "B", - label: "817-B", - degree: 1, - }, - { - id: "818", - olabel: "Jalan_S", - x: -51.01929665658661, - y: -3.483423700034555, - cluster: "C", - label: "818-C", - degree: 1, - }, - { - id: "819", - olabel: "Amritkar_R", - x: -1.2344436939437742, - y: -16.82811504370456, - cluster: "A", - label: "819-A", - degree: 1.2599210498948732, - }, - { - id: "820", - olabel: "Jankowski_S", - x: 567.0751229917812, - y: -236.7662694494269, - cluster: "B", - label: "820-B", - degree: 1.4422495703074083, - }, - { - id: "821", - olabel: "Londei_A", - x: 539.2041500652093, - y: -179.28060616350098, - cluster: "C", - label: "821-C", - degree: 1.4422495703074083, - }, - { - id: "822", - olabel: "Mazur_C", - x: 580.0362410122221, - y: -195.2254348508321, - cluster: "A", - label: "822-A", - degree: 1.4422495703074083, - }, - { - id: "823", - olabel: "Lozowski_A", - x: 524.4229631750684, - y: -223.0492573893995, - cluster: "B", - label: "823-B", - degree: 1.4422495703074083, - }, - { - id: "824", - olabel: "Jansen_R", - x: 889.9714953858623, - y: 659.7966656786605, - cluster: "C", - label: "824-C", - degree: 2.080083823051904, - }, - { - id: "825", - olabel: "Yu_H", - x: 941.781348510274, - y: 663.427225668673, - cluster: "A", - label: "825-A", - degree: 2.080083823051904, - }, - { - id: "826", - olabel: "Greenbaum_D", - x: 898.0899817208756, - y: 691.6083333143039, - cluster: "B", - label: "826-B", - degree: 2.080083823051904, - }, - { - id: "827", - olabel: "Kluger_Y", - x: 916.6198174271022, - y: 653.0367878938197, - cluster: "C", - label: "827-C", - degree: 2.080083823051904, - }, - { - id: "828", - olabel: "Krogan_N", - x: 923.2159057216943, - y: 685.8333165258553, - cluster: "A", - label: "828-A", - degree: 2.080083823051904, - }, - { - id: "829", - olabel: "Chung_S", - x: 933.9880597286025, - y: 633.4624117635329, - cluster: "B", - label: "829-B", - degree: 2.080083823051904, - }, - { - id: "830", - olabel: "Emili_A", - x: 870.6020995667152, - y: 643.4211894613777, - cluster: "C", - label: "830-C", - degree: 2.080083823051904, - }, - { - id: "831", - olabel: "Snyder_M", - x: 910.430014667639, - y: 616.2628924537327, - cluster: "A", - label: "831-A", - degree: 2.080083823051904, - }, - { - id: "832", - olabel: "Greenblatt_J", - x: 887.857809980524, - y: 622.5087808274576, - cluster: "B", - label: "832-B", - degree: 2.080083823051904, - }, - { - id: "833", - olabel: "Gerstein_M", - x: 873.4773902096263, - y: 679.7991594544129, - cluster: "C", - label: "833-C", - degree: 2.080083823051904, - }, - { - id: "834", - olabel: "Janson_S", - x: 274.1813176000594, - y: -299.939379822522, - cluster: "A", - label: "834-A", - degree: 1.2599210498948732, - }, - { - id: "835", - olabel: "Luczak_T", - x: 316.57900688490184, - y: -330.4216488843522, - cluster: "B", - label: "835-B", - degree: 1.2599210498948732, - }, - { - id: "836", - olabel: "Rucinski_A", - x: 269.69774636100857, - y: -350.493699404034, - cluster: "C", - label: "836-C", - degree: 1.2599210498948732, - }, - { - id: "837", - olabel: "Jensen_H", - x: 1116.947035854052, - y: 162.09650748708887, - cluster: "A", - label: "837-A", - degree: 0, - }, - { - id: "838", - olabel: "Mason_S", - x: 311.68274583932174, - y: 360.4043046493557, - cluster: "B", - label: "838-B", - degree: 1.4422495703074083, - }, - { - id: "839", - olabel: "Tombor_B", - x: 382.5753320845224, - y: 405.9701946227164, - cluster: "C", - label: "839-C", - degree: 1.8171205928321397, - }, - { - id: "840", - olabel: "Jespersen_S", - x: 12.590640420042558, - y: 276.5205975322912, - cluster: "A", - label: "840-A", - degree: 1.2599210498948732, - }, - { - id: "841", - olabel: "Blumen_A", - x: 11.00683240712329, - y: 333.48118750554266, - cluster: "B", - label: "841-B", - degree: 1.2599210498948732, - }, - { - id: "842", - olabel: "Sokolov_I", - x: -26.62748982958123, - y: 304.19295853857625, - cluster: "C", - label: "842-C", - degree: 1.912931182772389, - }, - { - id: "843", - olabel: "Jia_L", - x: 731.0070572893295, - y: 885.1664224465778, - cluster: "A", - label: "843-A", - degree: 1.4422495703074083, - }, - { - id: "844", - olabel: "Sano_M", - x: 690.3585366317468, - y: 867.8542580279843, - cluster: "B", - label: "844-B", - degree: 1.4422495703074083, - }, - { - id: "845", - olabel: "Lai_P", - x: 711.8149465858837, - y: 825.7121338294548, - cluster: "C", - label: "845-C", - degree: 1.4422495703074083, - }, - { - id: "846", - olabel: "Chan_C", - x: 749.7278157722066, - y: 845.1171573323403, - cluster: "A", - label: "846-A", - degree: 1.4422495703074083, - }, - { - id: "847", - olabel: "Jiang_B", - x: 399.5196906704009, - y: -397.90685131947885, - cluster: "B", - label: "847-B", - degree: 1, - }, - { - id: "848", - olabel: "Claramunt_C", - x: 348.9934542476278, - y: -387.98287537866605, - cluster: "C", - label: "848-C", - degree: 1, - }, - { - id: "849", - olabel: "Jiang_Y", - x: 638.2146387360422, - y: 28.661871598006197, - cluster: "A", - label: "849-A", - degree: 1.2599210498948732, - }, - { - id: "850", - olabel: "Lozadacassou_M", - x: 688.9673052095468, - y: 17.747848277025387, - cluster: "B", - label: "850-B", - degree: 1.2599210498948732, - }, - { - id: "851", - olabel: "Vinet_A", - x: 674.4537624992843, - y: 66.42587088650802, - cluster: "C", - label: "851-C", - degree: 1.2599210498948732, - }, - { - id: "852", - olabel: "Jin_E", - x: 228.53413688961388, - y: 460.91635558597034, - cluster: "A", - label: "852-A", - degree: 1.2599210498948732, - }, - { - id: "853", - olabel: "Johnson_S", - x: 988.0260495876787, - y: 924.056161386982, - cluster: "B", - label: "853-B", - degree: 0, - }, - { - id: "854", - olabel: "Jordano_P", - x: 672.7907229683588, - y: 1096.0117970402384, - cluster: "C", - label: "854-C", - degree: 1.2599210498948732, - }, - { - id: "855", - olabel: "Bascompte_J", - x: 621.4873053262962, - y: 1106.094730173258, - cluster: "A", - label: "855-A", - degree: 1.2599210498948732, - }, - { - id: "856", - olabel: "Olesen_J", - x: 655.4976865198579, - y: 1143.7949552913883, - cluster: "B", - label: "856-B", - degree: 1.2599210498948732, - }, - { - id: "857", - olabel: "Josic_K", - x: 1148.6878389950953, - y: 723.8739399600198, - cluster: "C", - label: "857-C", - degree: 0, - }, - { - id: "858", - olabel: "Joy_M", - x: 935.8922849893387, - y: 807.2462437249835, - cluster: "A", - label: "858-A", - degree: 1, - }, - { - id: "859", - olabel: "Jouve_B", - x: 224.73905950340176, - y: -59.736744536545906, - cluster: "B", - label: "859-B", - degree: 1.912931182772389, - }, - { - id: "860", - olabel: "Rosentiehl_P", - x: 178.11112132823374, - y: -47.327382036005226, - cluster: "C", - label: "860-C", - degree: 1.2599210498948732, - }, - { - id: "861", - olabel: "Imbert_M", - x: 206.55910409827015, - y: -101.44670319255854, - cluster: "A", - label: "861-A", - degree: 1.2599210498948732, - }, - { - id: "862", - olabel: "Jung_S", - x: 425.9545856843668, - y: 252.63969445398646, - cluster: "B", - label: "862-B", - degree: 1.2599210498948732, - }, - { - id: "863", - olabel: "Kim_S", - x: 460.72362297335434, - y: 286.0559445570858, - cluster: "C", - label: "863-C", - degree: 1.2599210498948732, - }, - { - id: "864", - olabel: "Park_Y", - x: 370.6348190240325, - y: 275.9257857116619, - cluster: "A", - label: "864-A", - degree: 1.2599210498948732, - }, - { - id: "865", - olabel: "Kalapala_V", - x: 136.21656670284054, - y: 342.11577196478964, - cluster: "B", - label: "865-B", - degree: 1.2599210498948732, - }, - { - id: "866", - olabel: "Sanwalani_V", - x: 156.991101929987, - y: 298.21605522682086, - cluster: "C", - label: "866-C", - degree: 1.2599210498948732, - }, - { - id: "867", - olabel: "Kaneko_K", - x: 735.5695218670456, - y: -269.52912498713994, - cluster: "A", - label: "867-A", - degree: 0, - }, - { - id: "868", - olabel: "Karbowski_J", - x: -296.4577883391088, - y: 193.98370887419645, - cluster: "B", - label: "868-B", - degree: 0, - }, - { - id: "869", - olabel: "Karev_G", - x: -144.9736116150218, - y: 790.7697860612585, - cluster: "C", - label: "869-C", - degree: 1.5874010519681994, - }, - { - id: "870", - olabel: "Wolf_Y", - x: -82.128722899883, - y: 788.1261725632144, - cluster: "A", - label: "870-A", - degree: 1.5874010519681994, - }, - { - id: "871", - olabel: "Rzhetsky_A", - x: -99.4588691881996, - y: 753.2779783090974, - cluster: "B", - label: "871-B", - degree: 1.709975946676697, - }, - { - id: "872", - olabel: "Berezovskaya_F", - x: -136.54406975889626, - y: 754.595372069959, - cluster: "C", - label: "872-C", - degree: 1.5874010519681994, - }, - { - id: "873", - olabel: "Koonin_E", - x: -115.01615364798943, - y: 810.9362555120055, - cluster: "A", - label: "873-A", - degree: 1.5874010519681994, - }, - { - id: "874", - olabel: "Karinthy_F", - x: -105.7804535667288, - y: -202.12497978601442, - cluster: "B", - label: "874-B", - degree: 0, - }, - { - id: "875", - olabel: "Karonski_M", - x: 649.3318155700224, - y: 1169.3168457159434, - cluster: "C", - label: "875-C", - degree: 0, - }, - { - id: "876", - olabel: "Karp_P", - x: 151.516452538108, - y: -121.19668534477117, - cluster: "A", - label: "876-A", - degree: 1.5874010519681994, - }, - { - id: "877", - olabel: "Riley_M", - x: 156.9335218778863, - y: -183.21801062864196, - cluster: "B", - label: "877-B", - degree: 1.5874010519681994, - }, - { - id: "878", - olabel: "Paley_S", - x: 174.21025718277144, - y: -149.58472056981518, - cluster: "C", - label: "878-C", - degree: 1.5874010519681994, - }, - { - id: "879", - olabel: "Pellegrinitoole_A", - x: 116.89036619284275, - y: -174.4255595856991, - cluster: "A", - label: "879-A", - degree: 1.5874010519681994, - }, - { - id: "880", - olabel: "Krummenacker_M", - x: 117.21351110050192, - y: -138.36055633016966, - cluster: "B", - label: "880-B", - degree: 1.5874010519681994, - }, - { - id: "881", - olabel: "Kauffman_S", - x: 1023.596250879942, - y: -10.320250752538605, - cluster: "C", - label: "881-C", - degree: 1, - }, - { - id: "882", - olabel: "Kautz_H", - x: -48.936853069159525, - y: 606.5424278764822, - cluster: "A", - label: "882-A", - degree: 1.2599210498948732, - }, - { - id: "883", - olabel: "Selman_B", - x: -94.94921223571106, - y: 628.8625990377984, - cluster: "B", - label: "883-B", - degree: 1.2599210498948732, - }, - { - id: "884", - olabel: "Shah_M", - x: -51.98973620353973, - y: 657.6826251752021, - cluster: "C", - label: "884-C", - degree: 1.2599210498948732, - }, - { - id: "885", - olabel: "Kephart_J", - x: 528.595142795947, - y: 1141.9357700004707, - cluster: "A", - label: "885-A", - degree: 1, - }, - { - id: "886", - olabel: "White_S", - x: 482.88952165375633, - y: 1165.249009626602, - cluster: "B", - label: "886-B", - degree: 1, - }, - { - id: "887", - olabel: "Kermarrec_A", - x: 1192.132346042363, - y: 500.66248114063404, - cluster: "C", - label: "887-C", - degree: 1.2599210498948732, - }, - { - id: "888", - olabel: "Ganesh_A", - x: 1142.0106357077298, - y: 493.5878882130541, - cluster: "A", - label: "888-A", - degree: 1.2599210498948732, - }, - { - id: "889", - olabel: "Massoulie_L", - x: 1172.7022020288125, - y: 452.6972679671143, - cluster: "B", - label: "889-B", - degree: 1.2599210498948732, - }, - { - id: "890", - olabel: "Kernighan_B", - x: 858.8223405743852, - y: -223.59679655435355, - cluster: "C", - label: "890-C", - degree: 0, - }, - { - id: "891", - olabel: "Chung_J", - x: 257.1070060326464, - y: 241.6916458005443, - cluster: "A", - label: "891-A", - degree: 1.709975946676697, - }, - { - id: "892", - olabel: "Kim_J", - x: 434.18905518154594, - y: 349.80124915378394, - cluster: "B", - label: "892-B", - degree: 1.709975946676697, - }, - { - id: "893", - olabel: "Kinney_R", - x: 358.0749106692509, - y: 525.5165701792088, - cluster: "C", - label: "893-C", - degree: 1.4422495703074083, - }, - { - id: "894", - olabel: "Kinouchi_O", - x: -350.0209620255439, - y: 501.24526936037796, - cluster: "A", - label: "894-A", - degree: 1.5874010519681994, - }, - { - id: "895", - olabel: "Martinez_A", - x: -294.59734973658124, - y: 523.9104244757866, - cluster: "B", - label: "895-B", - degree: 1.5874010519681994, - }, - { - id: "896", - olabel: "Lima_G", - x: -329.2876708081977, - y: 533.9133937806265, - cluster: "C", - label: "896-C", - degree: 1.5874010519681994, - }, - { - id: "897", - olabel: "Lourenc_G", - x: -292.4014341475983, - y: 486.5212374518872, - cluster: "A", - label: "897-A", - degree: 1.5874010519681994, - }, - { - id: "898", - olabel: "Risaugusman_S", - x: -326.9898825976628, - y: 472.0090919861611, - cluster: "B", - label: "898-B", - degree: 1.5874010519681994, - }, - { - id: "899", - olabel: "Kirkpatrick_S", - x: -113.70976522062608, - y: 328.4140823379704, - cluster: "C", - label: "899-C", - degree: 1.4422495703074083, - }, - { - id: "900", - olabel: "Gelatt_C", - x: -93.6656204566208, - y: 376.39457742289756, - cluster: "A", - label: "900-A", - degree: 1.2599210498948732, - }, - { - id: "901", - olabel: "Vecchi_M", - x: -62.15843478498974, - y: 335.062667901379, - cluster: "B", - label: "901-B", - degree: 1.2599210498948732, - }, - { - id: "902", - olabel: "Kiss_I", - x: 849.2153329988838, - y: 389.65916938405104, - cluster: "C", - label: "902-C", - degree: 1.2599210498948732, - }, - { - id: "903", - olabel: "Zhai_Y", - x: 804.0280735459476, - y: 405.7691245698731, - cluster: "A", - label: "903-A", - degree: 1.2599210498948732, - }, - { - id: "904", - olabel: "Hudson_J", - x: 836.952178262272, - y: 443.5301481734128, - cluster: "B", - label: "904-B", - degree: 1.2599210498948732, - }, - { - id: "905", - olabel: "Kleczkowski_A", - x: 1053.3219101996517, - y: 871.69323745888, - cluster: "C", - label: "905-C", - degree: 1, - }, - { - id: "906", - olabel: "Grenfell_B", - x: 1021.0733347998515, - y: 912.3200981747154, - cluster: "A", - label: "906-A", - degree: 1, - }, - { - id: "907", - olabel: "Kumar_S", - x: 109.08992546661214, - y: 463.57529493527704, - cluster: "B", - label: "907-B", - degree: 1.5874010519681994, - }, - { - id: "908", - olabel: "Klevecz_R", - x: 883.583773261226, - y: -199.57039584961535, - cluster: "C", - label: "908-C", - degree: 1.2599210498948732, - }, - { - id: "909", - olabel: "Bolen_J", - x: 917.4075228896484, - y: -236.86334129013204, - cluster: "A", - label: "909-A", - degree: 1.2599210498948732, - }, - { - id: "910", - olabel: "Duran_O", - x: 935.2532870010493, - y: -188.96322046212953, - cluster: "B", - label: "910-B", - degree: 1.2599210498948732, - }, - { - id: "911", - olabel: "Klovdahl_A", - x: 110.53788933030955, - y: 684.5465542788241, - cluster: "C", - label: "911-C", - degree: 1.709975946676697, - }, - { - id: "912", - olabel: "Potterat_J", - x: 158.3976817816452, - y: 715.735214184173, - cluster: "A", - label: "912-A", - degree: 2.4101422641752297, - }, - { - id: "913", - olabel: "Woodhouse_D", - x: 89.3802262876902, - y: 715.2084541794043, - cluster: "B", - label: "913-B", - degree: 2.080083823051904, - }, - { - id: "914", - olabel: "Muth_J", - x: 95.46185853428013, - y: 738.2215496385992, - cluster: "C", - label: "914-C", - degree: 2.080083823051904, - }, - { - id: "915", - olabel: "Muth_S", - x: 141.9949790076281, - y: 699.3212543756969, - cluster: "A", - label: "915-A", - degree: 2.5198420997897464, - }, - { - id: "916", - olabel: "Darrow_W", - x: 130.12728109578342, - y: 751.7468171192954, - cluster: "B", - label: "916-B", - degree: 1.709975946676697, - }, - { - id: "917", - olabel: "Klyachko_V", - x: 489.13575845812824, - y: -387.27251743931726, - cluster: "C", - label: "917-C", - degree: 1, - }, - { - id: "918", - olabel: "Knuth_D", - x: -351.66222336845453, - y: 535.4930802661474, - cluster: "A", - label: "918-A", - degree: 0, - }, - { - id: "919", - olabel: "Kocarev_L", - x: -93.70985808654511, - y: 559.1319804053736, - cluster: "B", - label: "919-B", - degree: 1, - }, - { - id: "920", - olabel: "Parlitz_U", - x: -114.44064393933847, - y: 605.8302207203394, - cluster: "C", - label: "920-C", - degree: 1, - }, - { - id: "921", - olabel: "Laurent_G", - x: 507.54739166528657, - y: 1010.9201174992916, - cluster: "A", - label: "921-A", - degree: 1, - }, - { - id: "922", - olabel: "Koch_M", - x: 86.94121006119434, - y: 902.8189974170615, - cluster: "B", - label: "922-B", - degree: 1.2599210498948732, - }, - { - id: "923", - olabel: "Norris_D", - x: 130.2157167657231, - y: 877.7793731703212, - cluster: "C", - label: "923-C", - degree: 1.2599210498948732, - }, - { - id: "924", - olabel: "Hundgeorgiadis_M", - x: 87.7473633072477, - y: 848.5894951602328, - cluster: "A", - label: "924-A", - degree: 1.2599210498948732, - }, - { - id: "925", - olabel: "Paturi_R", - x: -10.789153891143398, - y: -208.8195875505075, - cluster: "B", - label: "925-B", - degree: 1, - }, - { - id: "926", - olabel: "Ermentrout_B", - x: -264.129633981776, - y: 136.25624130566547, - cluster: "C", - label: "926-C", - degree: 1.5874010519681994, - }, - { - id: "927", - olabel: "Kor_J", - x: 833.6209365159684, - y: -291.6712778773927, - cluster: "A", - label: "927-A", - degree: 0, - }, - { - id: "928", - olabel: "Korte_C", - x: 762.5255158163316, - y: 1001.4156117868256, - cluster: "B", - label: "928-B", - degree: 1, - }, - { - id: "929", - olabel: "Milgram_S", - x: 712.8543010768223, - y: 986.6769684229772, - cluster: "C", - label: "929-C", - degree: 1.2599210498948732, - }, - { - id: "930", - olabel: "Kotter_R", - x: 367.7903493698046, - y: -39.35022587506243, - cluster: "A", - label: "930-A", - degree: 2.2239800905693152, - }, - { - id: "931", - olabel: "Stephan_K", - x: 338.37914477128425, - y: -52.89794443696968, - cluster: "B", - label: "931-B", - degree: 1.912931182772389, - }, - { - id: "932", - olabel: "Sommer_F", - x: 419.8351632366208, - y: -44.42838750999788, - cluster: "C", - label: "932-C", - degree: 1, - }, - { - id: "933", - olabel: "Leyvraz_F", - x: 474.013564576032, - y: 389.2295179765178, - cluster: "A", - label: "933-A", - degree: 1.2599210498948732, - }, - { - id: "934", - olabel: "Krause_A", - x: 685.1781361983035, - y: -129.4077093695314, - cluster: "B", - label: "934-B", - degree: 1.5874010519681994, - }, - { - id: "935", - olabel: "Frank_K", - x: 722.1249544117761, - y: -141.66971919162006, - cluster: "C", - label: "935-C", - degree: 1.5874010519681994, - }, - { - id: "936", - olabel: "Mason_D", - x: 688.582838173841, - y: -192.80855223631062, - cluster: "A", - label: "936-A", - degree: 1.5874010519681994, - }, - { - id: "937", - olabel: "Taylor_W", - x: 721.0962247974502, - y: -177.30989439296502, - cluster: "B", - label: "937-B", - degree: 1.5874010519681994, - }, - { - id: "938", - olabel: "Krebs_V", - x: -258.52060473334546, - y: 495.4704763756486, - cluster: "C", - label: "938-C", - degree: 0, - }, - { - id: "939", - olabel: "Kree_R", - x: 967.5433386428077, - y: 411.05926879617454, - cluster: "A", - label: "939-A", - degree: 1, - }, - { - id: "940", - olabel: "Kretzschmar_M", - x: 632.5869417807864, - y: -104.34769028989335, - cluster: "B", - label: "940-B", - degree: 1.2599210498948732, - }, - { - id: "941", - olabel: "Vanduynhoven_Y", - x: 650.3662379781728, - y: -56.369097706031795, - cluster: "C", - label: "941-C", - degree: 1.2599210498948732, - }, - { - id: "942", - olabel: "Severijnen_A", - x: 682.695552780091, - y: -97.1337633355022, - cluster: "A", - label: "942-A", - degree: 1.2599210498948732, - }, - { - id: "943", - olabel: "Sivakumar_D", - x: 62.97827725876536, - y: 526.6845445399874, - cluster: "B", - label: "943-B", - degree: 1.709975946676697, - }, - { - id: "944", - olabel: "Upfal_E", - x: 108.32939199781133, - y: 564.6179056065318, - cluster: "C", - label: "944-C", - degree: 1.709975946676697, - }, - { - id: "945", - olabel: "Zanette_D", - x: -14.300178601322813, - y: 66.25042415911742, - cluster: "A", - label: "945-A", - degree: 1, - }, - { - id: "946", - olabel: "Kuramoto_Y", - x: 1034.7289882689092, - y: 632.3871910734531, - cluster: "B", - label: "946-B", - degree: 1.4422495703074083, - }, - { - id: "947", - olabel: "Nakao_H", - x: 1047.8411839069527, - y: 581.5378265277603, - cluster: "C", - label: "947-C", - degree: 1, - }, - { - id: "948", - olabel: "Kwon_O", - x: -263.17555077584785, - y: 411.08770338343567, - cluster: "A", - label: "948-A", - degree: 1, - }, - { - id: "949", - olabel: "Moon_H", - x: -221.3195454752629, - y: 380.87892138419573, - cluster: "B", - label: "949-B", - degree: 1, - }, - { - id: "950", - olabel: "Lagofernandez_L", - x: 1087.4440323824429, - y: 334.59465462498986, - cluster: "C", - label: "950-C", - degree: 1.4422495703074083, - }, - { - id: "951", - olabel: "Corbacho_F", - x: 1055.4481369727132, - y: 302.38049524574734, - cluster: "A", - label: "951-A", - degree: 1.4422495703074083, - }, - { - id: "952", - olabel: "Huerta_R", - x: 1086.500965403102, - y: 271.7371376569124, - cluster: "B", - label: "952-B", - degree: 1.4422495703074083, - }, - { - id: "953", - olabel: "Siguenza_J", - x: 1118.2644434360075, - y: 303.2041606136441, - cluster: "C", - label: "953-C", - degree: 1.4422495703074083, - }, - { - id: "954", - olabel: "Lahtinen_J", - x: 115.10165339193267, - y: 208.91063378443695, - cluster: "A", - label: "954-A", - degree: 1.2599210498948732, - }, - { - id: "955", - olabel: "Kaski_K", - x: 58.8518519149524, - y: 204.82648212723745, - cluster: "B", - label: "955-B", - degree: 1.8171205928321397, - }, - { - id: "956", - olabel: "Lawniczak_A", - x: 519.6716945365712, - y: 1046.1011473150163, - cluster: "C", - label: "956-C", - degree: 1.2599210498948732, - }, - { - id: "957", - olabel: "Maxie_K", - x: 545.8075317552763, - y: 1090.768055591177, - cluster: "A", - label: "957-A", - degree: 1.2599210498948732, - }, - { - id: "958", - olabel: "Gerisch_A", - x: 569.9708471192084, - y: 1043.343883925143, - cluster: "B", - label: "958-B", - degree: 1.2599210498948732, - }, - { - id: "959", - olabel: "Lee_L", - x: -209.903420278123, - y: 322.76602894641684, - cluster: "C", - label: "959-C", - degree: 1.2599210498948732, - }, - { - id: "960", - olabel: "Harrison_L", - x: -234.31148565801976, - y: 275.3845108121827, - cluster: "A", - label: "960-A", - degree: 1.2599210498948732, - }, - { - id: "961", - olabel: "Mechelli_A", - x: -183.12878759861042, - y: 278.46534236533796, - cluster: "B", - label: "961-B", - degree: 1.2599210498948732, - }, - { - id: "962", - olabel: "Leone_M", - x: 682.7854553046255, - y: 413.7812415379868, - cluster: "C", - label: "962-C", - degree: 1.4422495703074083, - }, - { - id: "963", - olabel: "Zecchina_R", - x: 622.4061778761256, - y: 427.07658323602277, - cluster: "A", - label: "963-A", - degree: 1.4422495703074083, - }, - { - id: "964", - olabel: "Levanquyen_M", - x: 454.4750403832196, - y: -262.0643565132125, - cluster: "B", - label: "964-B", - degree: 1.709975946676697, - }, - { - id: "965", - olabel: "Quilichini_P", - x: 414.7082602458715, - y: -312.8308407234701, - cluster: "C", - label: "965-C", - degree: 1.709975946676697, - }, - { - id: "966", - olabel: "Bernard_C", - x: 400.5941572918751, - y: -283.1133144851496, - cluster: "A", - label: "966-A", - degree: 1.709975946676697, - }, - { - id: "967", - olabel: "Esclapez_M", - x: 468.23531678710907, - y: -291.9633768311521, - cluster: "B", - label: "967-B", - degree: 1.709975946676697, - }, - { - id: "968", - olabel: "Benari_Y", - x: 446.30885455669323, - y: -314.53250316213393, - cluster: "C", - label: "968-C", - degree: 1.709975946676697, - }, - { - id: "969", - olabel: "Gozlan_H", - x: 420.2768925116826, - y: -256.1643442099241, - cluster: "A", - label: "969-A", - degree: 1.709975946676697, - }, - { - id: "970", - olabel: "Levin_S", - x: -296.6082634682281, - y: 639.9417675826371, - cluster: "B", - label: "970-B", - degree: 0, - }, - { - id: "971", - olabel: "Li_C", - x: -25.911099870124634, - y: 743.8942391329014, - cluster: "C", - label: "971-C", - degree: 1, - }, - { - id: "972", - olabel: "Chen_G", - x: -43.672175387304335, - y: 695.4413623886078, - cluster: "A", - label: "972-A", - degree: 1.8171205928321397, - }, - { - id: "973", - olabel: "Lieberman_E", - x: 262.1717589902114, - y: -186.09643491249957, - cluster: "B", - label: "973-B", - degree: 1.2599210498948732, - }, - { - id: "974", - olabel: "Hauert_C", - x: 238.86261833562955, - y: -233.48263506136269, - cluster: "C", - label: "974-C", - degree: 1.2599210498948732, - }, - { - id: "975", - olabel: "Nowak_M", - x: 291.1743585156405, - y: -229.76112470863433, - cluster: "A", - label: "975-A", - degree: 1.5874010519681994, - }, - { - id: "976", - olabel: "Aberg_Y", - x: 421.3212256146727, - y: 218.2707534272325, - cluster: "B", - label: "976-B", - degree: 1.5874010519681994, - }, - { - id: "977", - olabel: "Li_R", - x: 305.5344785345577, - y: -403.4396748623946, - cluster: "C", - label: "977-C", - degree: 1, - }, - { - id: "978", - olabel: "Erneux_T", - x: 356.0623308553036, - y: -412.7670256616718, - cluster: "A", - label: "978-A", - degree: 1, - }, - { - id: "979", - olabel: "Li_S", - x: 496.6102829660187, - y: -113.4897959821812, - cluster: "B", - label: "979-B", - degree: 1.2599210498948732, - }, - { - id: "980", - olabel: "Wand_H", - x: 513.2265034084331, - y: -161.28487796879182, - cluster: "C", - label: "980-C", - degree: 1.2599210498948732, - }, - { - id: "981", - olabel: "Ouyang_Q", - x: 548.4570348033179, - y: -124.64780974508857, - cluster: "A", - label: "981-A", - degree: 1.2599210498948732, - }, - { - id: "982", - olabel: "Liu_Z", - x: 614.6961050313444, - y: 834.787298245932, - cluster: "B", - label: "982-B", - degree: 1.4422495703074083, - }, - { - id: "983", - olabel: "Lai_Y", - x: 573.5256658855111, - y: 813.4020941174895, - cluster: "C", - label: "983-C", - degree: 1.912931182772389, - }, - { - id: "984", - olabel: "Hoppensteadt_F", - x: 606.6861192175922, - y: 780.014336841469, - cluster: "A", - label: "984-A", - degree: 1.5874010519681994, - }, - { - id: "985", - olabel: "Ye_N", - x: 572.2721887386515, - y: 866.8976681039624, - cluster: "B", - label: "985-B", - degree: 1.2599210498948732, - }, - { - id: "986", - olabel: "Li_W", - x: 76.73674546054278, - y: 71.24752430990036, - cluster: "C", - label: "986-C", - degree: 1, - }, - { - id: "987", - olabel: "Cai_X", - x: 117.70216849118961, - y: 39.87098082368105, - cluster: "A", - label: "987-A", - degree: 1, - }, - { - id: "988", - olabel: "Li_X", - x: -44.10813507349917, - y: 747.7161407996658, - cluster: "B", - label: "988-B", - degree: 1, - }, - { - id: "989", - olabel: "Llinas_R", - x: -30.391810314045824, - y: -282.48319083005094, - cluster: "C", - label: "989-C", - degree: 0, - }, - { - id: "990", - olabel: "Lloyd_A", - x: 303.3194998927839, - y: -232.55545008466913, - cluster: "A", - label: "990-A", - degree: 1, - }, - { - id: "991", - olabel: "Lockhart_D", - x: -256.0454866450087, - y: 843.5272062614303, - cluster: "B", - label: "991-B", - degree: 1, - }, - { - id: "992", - olabel: "Winzeler_E", - x: -292.03175033308617, - y: 806.7538860857014, - cluster: "C", - label: "992-C", - degree: 1, - }, - { - id: "993", - olabel: "Logothetis_N", - x: 1107.026289407388, - y: 479.1723139184968, - cluster: "A", - label: "993-A", - degree: 1.5874010519681994, - }, - { - id: "994", - olabel: "Pauls_J", - x: 1065.7392065616866, - y: 524.74253771658, - cluster: "B", - label: "994-B", - degree: 1.5874010519681994, - }, - { - id: "995", - olabel: "Augath_M", - x: 1126.8139576478015, - y: 514.82183058078, - cluster: "C", - label: "995-C", - degree: 1.5874010519681994, - }, - { - id: "996", - olabel: "Trinath_T", - x: 1072.7689880861003, - y: 489.8466739500387, - cluster: "A", - label: "996-A", - degree: 1.5874010519681994, - }, - { - id: "997", - olabel: "Oeltermann_A", - x: 1102.2084671013931, - y: 541.4911379021687, - cluster: "B", - label: "997-B", - degree: 1.5874010519681994, - }, - { - id: "998", - olabel: "Lorrain_F", - x: 185.0300037210478, - y: 655.0731454121836, - cluster: "C", - label: "998-C", - degree: 1, - }, - { - id: "999", - olabel: "White_H", - x: 196.8847166174795, - y: 706.2158317582729, - cluster: "A", - label: "999-A", - degree: 2.2894284851066637, - }, - { - id: "1000", - olabel: "Lotka_A", - x: -168.5186121714211, - y: 758.0535855420238, - cluster: "B", - label: "1000-B", - degree: 0, - }, - { - id: "1001", - olabel: "Lu_J", - x: -90.5588043824414, - y: 684.6422848732894, - cluster: "C", - label: "1001-C", - degree: 1.4422495703074083, - }, - { - id: "1002", - olabel: "Yu_X", - x: -97.68376684116316, - y: 727.203708967905, - cluster: "A", - label: "1002-A", - degree: 1.4422495703074083, - }, - { - id: "1003", - olabel: "Chen_D", - x: -56.314663582111905, - y: 739.6549624523542, - cluster: "B", - label: "1003-B", - degree: 1.4422495703074083, - }, - { - id: "1004", - olabel: "Lusseau_D", - x: 212.523400280992, - y: 354.288056199628, - cluster: "C", - label: "1004-C", - degree: 1, - }, - { - id: "1005", - olabel: "Lu_W", - x: 162.6115473002487, - y: 1050.5669810690092, - cluster: "A", - label: "1005-A", - degree: 1, - }, - { - id: "1006", - olabel: "Chen_T", - x: 111.81367846133628, - y: 1044.4041639533245, - cluster: "B", - label: "1006-B", - degree: 1, - }, - { - id: "1007", - olabel: "Macdonald_P", - x: 387.59766316755713, - y: 437.6457952396524, - cluster: "C", - label: "1007-C", - degree: 1.2599210498948732, - }, - { - id: "1008", - olabel: "Macgraw_P", - x: 88.54103386699218, - y: 1134.383961459987, - cluster: "A", - label: "1008-A", - degree: 1, - }, - { - id: "1009", - olabel: "Menzinger_M", - x: 45.975649879323015, - y: 1105.8270738724302, - cluster: "B", - label: "1009-B", - degree: 1.2599210498948732, - }, - { - id: "1010", - olabel: "Mahadevan_R", - x: 914.3169228964925, - y: -150.4302545819902, - cluster: "C", - label: "1010-C", - degree: 1, - }, - { - id: "1011", - olabel: "Palsson_B", - x: 864.2391232021164, - y: -165.33311474126282, - cluster: "A", - label: "1011-A", - degree: 1, - }, - { - id: "1012", - olabel: "Ma_H", - x: 1087.9319297059938, - y: 167.8369385249744, - cluster: "B", - label: "1012-B", - degree: 1, - }, - { - id: "1013", - olabel: "Zeng_A", - x: 1061.8783409536193, - y: 123.07752126753667, - cluster: "C", - label: "1013-C", - degree: 1, - }, - { - id: "1014", - olabel: "Majorana_E", - x: -220.35177041867354, - y: 495.0776559129717, - cluster: "A", - label: "1014-A", - degree: 0, - }, - { - id: "1015", - olabel: "Mangan_S", - x: 877.8906780686002, - y: 61.76447596007482, - cluster: "B", - label: "1015-B", - degree: 1.4422495703074083, - }, - { - id: "1016", - olabel: "Manna_S", - x: 626.9186740725842, - y: 981.4761203417245, - cluster: "C", - label: "1016-C", - degree: 1.709975946676697, - }, - { - id: "1017", - olabel: "Sen_P", - x: 633.7516407720635, - y: 1035.2373839110785, - cluster: "A", - label: "1017-A", - degree: 2, - }, - { - id: "1018", - olabel: "Mari_C", - x: -153.90993621841378, - y: 875.7038001700423, - cluster: "B", - label: "1018-B", - degree: 0, - }, - { - id: "1019", - olabel: "Mariolis_P", - x: 867.259521268203, - y: 1048.6795167193038, - cluster: "C", - label: "1019-C", - degree: 0, - }, - { - id: "1020", - olabel: "Rigon_R", - x: 729.2744367827577, - y: 363.1924859668326, - cluster: "A", - label: "1020-A", - degree: 1.5874010519681994, - }, - { - id: "1021", - olabel: "Giacometti_A", - x: 767.7172275731677, - y: 389.3657775601939, - cluster: "B", - label: "1021-B", - degree: 1.5874010519681994, - }, - { - id: "1022", - olabel: "Rodrigueziturbe_I", - x: 741.2232169734302, - y: 401.01330721901684, - cluster: "C", - label: "1022-C", - degree: 1.5874010519681994, - }, - { - id: "1023", - olabel: "Marodi_M", - x: 328.6278448937384, - y: 236.15099257366757, - cluster: "A", - label: "1023-A", - degree: 1.2599210498948732, - }, - { - id: "1024", - olabel: "Dovidio_F", - x: 284.43225355515915, - y: 253.92742449182026, - cluster: "B", - label: "1024-B", - degree: 1.2599210498948732, - }, - { - id: "1025", - olabel: "Marro_J", - x: 546.2952118841463, - y: 114.72593132792882, - cluster: "C", - label: "1025-C", - degree: 1.5874010519681994, - }, - { - id: "1026", - olabel: "Dickman_R", - x: 549.6968487504291, - y: 63.2824989395075, - cluster: "A", - label: "1026-A", - degree: 1, - }, - { - id: "1027", - olabel: "Martin_R", - x: 326.29066896762043, - y: -16.000467516250417, - cluster: "B", - label: "1027-B", - degree: 1.4422495703074083, - }, - { - id: "1028", - olabel: "Andras_P", - x: 267.88899968831316, - y: 10.944026311697309, - cluster: "C", - label: "1028-C", - degree: 1.4422495703074083, - }, - { - id: "1029", - olabel: "Zaliznyak_A", - x: 218.68510205142078, - y: 246.53872779056593, - cluster: "A", - label: "1029-A", - degree: 1.2599210498948732, - }, - { - id: "1030", - olabel: "Masoller_C", - x: 1073.4215575626567, - y: 183.39137095872226, - cluster: "B", - label: "1030-B", - degree: 1, - }, - { - id: "1031", - olabel: "Marti_A", - x: 1110.0359863383344, - y: 219.36754748716933, - cluster: "C", - label: "1031-C", - degree: 1, - }, - { - id: "1032", - olabel: "Massunaga_M", - x: 1125.4060543151436, - y: 670.6577772947977, - cluster: "A", - label: "1032-A", - degree: 1, - }, - { - id: "1033", - olabel: "Bahiana_M", - x: 1138.306233548768, - y: 621.360555184927, - cluster: "B", - label: "1033-B", - degree: 1, - }, - { - id: "1034", - olabel: "Masuda_N", - x: 951.5187431928025, - y: 294.91640050292546, - cluster: "C", - label: "1034-C", - degree: 1.4422495703074083, - }, - { - id: "1035", - olabel: "Aihara_K", - x: 978.0333862816187, - y: 340.07404488218305, - cluster: "A", - label: "1035-A", - degree: 1, - }, - { - id: "1036", - olabel: "Miwa_H", - x: 963.7309863249134, - y: 243.93366350087874, - cluster: "B", - label: "1036-B", - degree: 1.2599210498948732, - }, - { - id: "1037", - olabel: "Konno_N", - x: 999.589764520854, - y: 282.7567387780367, - cluster: "C", - label: "1037-C", - degree: 1.2599210498948732, - }, - { - id: "1038", - olabel: "Matthews_P", - x: 120.33739321703548, - y: 494.4331849200258, - cluster: "A", - label: "1038-A", - degree: 1.2599210498948732, - }, - { - id: "1039", - olabel: "Mirollo_R", - x: 87.23949731885668, - y: 451.62882522168246, - cluster: "B", - label: "1039-B", - degree: 1.2599210498948732, - }, - { - id: "1040", - olabel: "Vallone_A", - x: 638.5507180237024, - y: 618.6610648468703, - cluster: "C", - label: "1040-C", - degree: 1.4422495703074083, - }, - { - id: "1041", - olabel: "Mccann_K", - x: -233.09072801508688, - y: 881.6466308310031, - cluster: "A", - label: "1041-A", - degree: 1.2599210498948732, - }, - { - id: "1042", - olabel: "Hastings_A", - x: -221.50971600417037, - y: 831.3775784283066, - cluster: "B", - label: "1042-B", - degree: 1.2599210498948732, - }, - { - id: "1043", - olabel: "Huxel_G", - x: -182.08262221493888, - y: 868.2725619005922, - cluster: "C", - label: "1043-C", - degree: 1.2599210498948732, - }, - { - id: "1044", - olabel: "Mcgraw_P", - x: 97.01373594413818, - y: 1100.9266048686302, - cluster: "A", - label: "1044-A", - degree: 1, - }, - { - id: "1045", - olabel: "Meester_R", - x: -90.39709924717509, - y: 129.52117127592936, - cluster: "B", - label: "1045-B", - degree: 1, - }, - { - id: "1046", - olabel: "Mehring_C", - x: 200.336160714452, - y: -308.0311647710246, - cluster: "C", - label: "1046-C", - degree: 1.5874010519681994, - }, - { - id: "1047", - olabel: "Hehl_U", - x: 135.20285594639662, - y: -318.1144096695148, - cluster: "A", - label: "1047-A", - degree: 1.5874010519681994, - }, - { - id: "1048", - olabel: "Kubo_M", - x: 140.33691469399176, - y: -276.6953832216968, - cluster: "B", - label: "1048-B", - degree: 1.5874010519681994, - }, - { - id: "1049", - olabel: "Diesmann_M", - x: 178.97875653352548, - y: -269.65062740257724, - cluster: "C", - label: "1049-C", - degree: 1.5874010519681994, - }, - { - id: "1050", - olabel: "Mehta_M", - x: 123.38728513771673, - y: 1162.520021494604, - cluster: "A", - label: "1050-A", - degree: 0, - }, - { - id: "1051", - olabel: "Melin_G", - x: -213.24081603709345, - y: 787.3078838846586, - cluster: "B", - label: "1051-B", - degree: 1, - }, - { - id: "1052", - olabel: "Persson_O", - x: -208.72804346190924, - y: 838.3192394847003, - cluster: "C", - label: "1052-C", - degree: 1, - }, - { - id: "1053", - olabel: "Menczer_F", - x: 363.58566371655485, - y: 1146.3325824244253, - cluster: "A", - label: "1053-A", - degree: 1.5874010519681994, - }, - { - id: "1054", - olabel: "Belew_R", - x: 314.10794985483506, - y: 1162.7044371962063, - cluster: "B", - label: "1054-B", - degree: 1, - }, - { - id: "1055", - olabel: "Pant_G", - x: 409.4023371149475, - y: 1104.687599582698, - cluster: "C", - label: "1055-C", - degree: 1.4422495703074083, - }, - { - id: "1056", - olabel: "Ruiz_M", - x: 409.4402401688635, - y: 1149.7642260920193, - cluster: "A", - label: "1056-A", - degree: 1.4422495703074083, - }, - { - id: "1057", - olabel: "Srinivasan_P", - x: 366.0204933767837, - y: 1102.7539521793785, - cluster: "B", - label: "1057-B", - degree: 1.4422495703074083, - }, - { - id: "1058", - olabel: "Merton_R", - x: 999.9407039996626, - y: 757.3508144274047, - cluster: "C", - label: "1058-C", - degree: 0, - }, - { - id: "1059", - olabel: "Mewes_H", - x: 801.6817719315878, - y: 858.6805481724048, - cluster: "A", - label: "1059-A", - degree: 2.154434690031884, - }, - { - id: "1060", - olabel: "Frishman_D", - x: 816.2552038919598, - y: 832.1745378908619, - cluster: "B", - label: "1060-B", - degree: 2.080083823051904, - }, - { - id: "1061", - olabel: "Guldener_U", - x: 844.0526350174997, - y: 846.5348615692449, - cluster: "C", - label: "1061-C", - degree: 2.080083823051904, - }, - { - id: "1062", - olabel: "Mannhaupt_G", - x: 862.7148643488919, - y: 885.6658504368334, - cluster: "A", - label: "1062-A", - degree: 2.080083823051904, - }, - { - id: "1063", - olabel: "Mayer_K", - x: 845.3933141230749, - y: 820.9277562333726, - cluster: "B", - label: "1063-B", - degree: 2.080083823051904, - }, - { - id: "1064", - olabel: "Mokrejs_M", - x: 809.9105519576533, - y: 884.6460403287389, - cluster: "C", - label: "1064-C", - degree: 2.080083823051904, - }, - { - id: "1065", - olabel: "Morgenstern_B", - x: 869.9296755992539, - y: 835.686979127396, - cluster: "A", - label: "1065-A", - degree: 2.080083823051904, - }, - { - id: "1066", - olabel: "Munsterkotter_M", - x: 837.355399033483, - y: 898.5645826628439, - cluster: "B", - label: "1066-B", - degree: 2.080083823051904, - }, - { - id: "1067", - olabel: "Rudd_S", - x: 834.9088959246379, - y: 872.0784893271125, - cluster: "C", - label: "1067-C", - degree: 2.080083823051904, - }, - { - id: "1068", - olabel: "Weil_B", - x: 876.258020225027, - y: 864.3881158691491, - cluster: "A", - label: "1068-A", - degree: 2.080083823051904, - }, - { - id: "1069", - olabel: "Levitt_R", - x: 885.9378550925144, - y: 47.28644008737563, - cluster: "B", - label: "1069-B", - degree: 1.912931182772389, - }, - { - id: "1070", - olabel: "Shenorr_S", - x: 814.5457858360388, - y: 65.04520729591736, - cluster: "C", - label: "1070-C", - degree: 2.080083823051904, - }, - { - id: "1071", - olabel: "Ayzenshtat_I", - x: 885.9140045558227, - y: 78.53646824967991, - cluster: "A", - label: "1071-A", - degree: 1.912931182772389, - }, - { - id: "1072", - olabel: "Sheffer_M", - x: 833.0681925081745, - y: 95.2836506859569, - cluster: "B", - label: "1072-B", - degree: 1.912931182772389, - }, - { - id: "1073", - olabel: "Levy_W", - x: 272.85465685125916, - y: -374.85476458765885, - cluster: "C", - label: "1073-C", - degree: 1, - }, - { - id: "1074", - olabel: "Mitchell_M", - x: 791.0197797697333, - y: -282.56814446362995, - cluster: "A", - label: "1074-A", - degree: 0, - }, - { - id: "1075", - olabel: "Mizruchi_M", - x: -373.5608870697493, - y: 161.34796908586657, - cluster: "B", - label: "1075-B", - degree: 0, - }, - { - id: "1076", - olabel: "Mohar_B", - x: -322.78360319976576, - y: 40.10644325544803, - cluster: "C", - label: "1076-C", - degree: 0, - }, - { - id: "1077", - olabel: "Molloy_M", - x: -195.37076496019324, - y: 759.8216436602268, - cluster: "A", - label: "1077-A", - degree: 1, - }, - { - id: "1078", - olabel: "Reed_B", - x: -217.58772432389497, - y: 713.4593433129193, - cluster: "B", - label: "1078-B", - degree: 1, - }, - { - id: "1079", - olabel: "Monasson_R", - x: -3.0071867434602915, - y: 1053.827761534162, - cluster: "C", - label: "1079-C", - degree: 0, - }, - { - id: "1080", - olabel: "Montoya_J", - x: 484.96046555806123, - y: 350.15284545949953, - cluster: "A", - label: "1080-A", - degree: 1, - }, - { - id: "1081", - olabel: "Moreira_A", - x: 450.638079524922, - y: 205.76431909591517, - cluster: "B", - label: "1081-B", - degree: 1.2599210498948732, - }, - { - id: "1082", - olabel: "Andrade_J", - x: 498.6935970561376, - y: 216.2737724787072, - cluster: "C", - label: "1082-C", - degree: 1.2599210498948732, - }, - { - id: "1083", - olabel: "Morelli_L", - x: 71.76092883393295, - y: 6.398263698377655, - cluster: "A", - label: "1083-A", - degree: 1.2599210498948732, - }, - { - id: "1084", - olabel: "Moreno_J", - x: -336.81371801080024, - y: 74.4580381348093, - cluster: "B", - label: "1084-B", - degree: 0, - }, - { - id: "1085", - olabel: "Gomez_J", - x: 663.0300357755906, - y: 530.5997100495337, - cluster: "C", - label: "1085-C", - degree: 1.2599210498948732, - }, - { - id: "1086", - olabel: "Pacheco_A", - x: 672.9568852119048, - y: 479.1800195871123, - cluster: "A", - label: "1086-A", - degree: 1.5874010519681994, - }, - { - id: "1087", - olabel: "Nekovee_M", - x: 631.9694158308989, - y: 441.9813225977501, - cluster: "B", - label: "1087-B", - degree: 1.4422495703074083, - }, - { - id: "1088", - olabel: "Vazquezprada_M", - x: 671.0743984789208, - y: 526.313034344644, - cluster: "C", - label: "1088-C", - degree: 1.2599210498948732, - }, - { - id: "1089", - olabel: "Morris_M", - x: 57.742396237998314, - y: 1134.0110924653777, - cluster: "A", - label: "1089-A", - degree: 0, - }, - { - id: "1090", - olabel: "Dasgupta_P", - x: 592.2740063154245, - y: 782.198460853488, - cluster: "B", - label: "1090-B", - degree: 1.4422495703074083, - }, - { - id: "1091", - olabel: "Nishikawa_T", - x: 546.1211920995944, - y: 771.3026608687571, - cluster: "C", - label: "1091-C", - degree: 1.4422495703074083, - }, - { - id: "1092", - olabel: "Mrowka_R", - x: 173.45986189089209, - y: 918.2817020042281, - cluster: "A", - label: "1092-A", - degree: 1.4422495703074083, - }, - { - id: "1093", - olabel: "Patzak_A", - x: 131.35213838622724, - y: 906.520913711288, - cluster: "B", - label: "1093-B", - degree: 1.4422495703074083, - }, - { - id: "1094", - olabel: "Herzel_H", - x: 161.6552633912687, - y: 961.8717221361717, - cluster: "C", - label: "1094-C", - degree: 1.4422495703074083, - }, - { - id: "1095", - olabel: "Holste_D", - x: 118.50000296484232, - y: 947.2691142012038, - cluster: "A", - label: "1095-A", - degree: 1.4422495703074083, - }, - { - id: "1096", - olabel: "Muller_J", - x: -243.40909094042033, - y: 798.3066073394315, - cluster: "B", - label: "1096-B", - degree: 1.2599210498948732, - }, - { - id: "1097", - olabel: "Schonfisch_B", - x: -271.6389780487603, - y: 754.9281591772695, - cluster: "C", - label: "1097-C", - degree: 1.2599210498948732, - }, - { - id: "1098", - olabel: "Kirkilionis_M", - x: -220.27983675452705, - y: 751.8959044230597, - cluster: "A", - label: "1098-A", - degree: 1.2599210498948732, - }, - { - id: "1099", - olabel: "Murray_J", - x: 777.5753278806919, - y: 1108.7160433258018, - cluster: "B", - label: "1099-B", - degree: 0, - }, - { - id: "1100", - olabel: "Nagumo_J", - x: -224.73068020995797, - y: 212.51086537897677, - cluster: "C", - label: "1100-C", - degree: 1.2599210498948732, - }, - { - id: "1101", - olabel: "Arimoto_S", - x: -267.0865820447113, - y: 242.14230337664367, - cluster: "A", - label: "1101-A", - degree: 1.2599210498948732, - }, - { - id: "1102", - olabel: "Yoshizawa_S", - x: -219.7707125715759, - y: 263.4505283786658, - cluster: "B", - label: "1102-B", - degree: 1.2599210498948732, - }, - { - id: "1103", - olabel: "Nakamura_I", - x: 140.36757107022237, - y: -249.81911805486448, - cluster: "C", - label: "1103-C", - degree: 0, - }, - { - id: "1104", - olabel: "Neiman_A", - x: 494.71311990775484, - y: 3.24384688758014, - cluster: "A", - label: "1104-A", - degree: 2, - }, - { - id: "1105", - olabel: "Pei_X", - x: 526.3091473458348, - y: 14.44887006812552, - cluster: "B", - label: "1105-B", - degree: 2, - }, - { - id: "1106", - olabel: "Russell_D", - x: 452.6545942587858, - y: -2.486565629396962, - cluster: "C", - label: "1106-C", - degree: 2.2239800905693152, - }, - { - id: "1107", - olabel: "Wojtenek_W", - x: 461.524306616313, - y: 22.13182100305323, - cluster: "A", - label: "1107-A", - degree: 2, - }, - { - id: "1108", - olabel: "Wilkens_L", - x: 467.0995188160592, - y: -26.15444603537939, - cluster: "B", - label: "1108-B", - degree: 2, - }, - { - id: "1109", - olabel: "Moss_F", - x: 480.0044406853933, - y: 38.30157555181074, - cluster: "C", - label: "1109-C", - degree: 2, - }, - { - id: "1110", - olabel: "Braun_H", - x: 495.7236990075115, - y: -32.41095598941793, - cluster: "A", - label: "1110-A", - degree: 2, - }, - { - id: "1111", - olabel: "Huber_M", - x: 506.7782899911634, - y: 34.698527882304944, - cluster: "B", - label: "1111-B", - degree: 2, - }, - { - id: "1112", - olabel: "Voigt_K", - x: 519.9236416497697, - y: -12.738903932364968, - cluster: "C", - label: "1112-C", - degree: 2, - }, - { - id: "1113", - olabel: "Nemeth_G", - x: -403.30897168059164, - y: 473.28011759862585, - cluster: "A", - label: "1113-A", - degree: 1, - }, - { - id: "1114", - olabel: "Vattay_G", - x: -405.21977627838965, - y: 422.0594138471628, - cluster: "B", - label: "1114-B", - degree: 1, - }, - { - id: "1115", - olabel: "Netoff_T", - x: 890.2047840169707, - y: 280.46160027254837, - cluster: "C", - label: "1115-C", - degree: 1.5874010519681994, - }, - { - id: "1116", - olabel: "Clewley_R", - x: 876.6738947443401, - y: 344.2774496757906, - cluster: "A", - label: "1116-A", - degree: 1.5874010519681994, - }, - { - id: "1117", - olabel: "Arno_S", - x: 925.9801745695928, - y: 301.52091899144494, - cluster: "B", - label: "1117-B", - degree: 1.5874010519681994, - }, - { - id: "1118", - olabel: "Keck_T", - x: 860.9295777306427, - y: 303.8962431447885, - cluster: "C", - label: "1118-C", - degree: 1.5874010519681994, - }, - { - id: "1119", - olabel: "White_J", - x: 909.1724151715389, - y: 331.41628921828124, - cluster: "A", - label: "1119-A", - degree: 1.912931182772389, - }, - { - id: "1120", - olabel: "Forrest_S", - x: 212.72751419863883, - y: 459.46189530045535, - cluster: "B", - label: "1120-B", - degree: 1.2599210498948732, - }, - { - id: "1121", - olabel: "Balthrop_J", - x: 176.44692527987473, - y: 422.15971171136283, - cluster: "C", - label: "1121-C", - degree: 1.2599210498948732, - }, - { - id: "1122", - olabel: "Leicht_E", - x: 247.27816339938855, - y: 338.59973104832056, - cluster: "A", - label: "1122-A", - degree: 1.2599210498948732, - }, - { - id: "1123", - olabel: "Niebur_E", - x: 460.08031337306875, - y: 1003.5162936916752, - cluster: "B", - label: "1123-B", - degree: 1.4422495703074083, - }, - { - id: "1124", - olabel: "Kammen_D", - x: 425.7821408446537, - y: 985.7272779520206, - cluster: "C", - label: "1124-C", - degree: 1.4422495703074083, - }, - { - id: "1125", - olabel: "Nieminen_J", - x: 172.30341241471038, - y: -238.98019553545677, - cluster: "A", - label: "1125-A", - degree: 0, - }, - { - id: "1126", - olabel: "Noh_J", - x: 776.7950659507067, - y: -261.1614384859525, - cluster: "B", - label: "1126-B", - degree: 1, - }, - { - id: "1127", - olabel: "Rieger_H", - x: 740.9455383638881, - y: -297.6573379824022, - cluster: "C", - label: "1127-C", - degree: 1, - }, - { - id: "1128", - olabel: "Sigmund_K", - x: 242.13850140730267, - y: -212.2305189649054, - cluster: "A", - label: "1128-A", - degree: 1, - }, - { - id: "1129", - olabel: "Rho_K", - x: 344.53880491436206, - y: 291.6655348490403, - cluster: "B", - label: "1129-B", - degree: 1.5874010519681994, - }, - { - id: "1130", - olabel: "Ohira_T", - x: 988.1013290767771, - y: -115.51010725211394, - cluster: "C", - label: "1130-C", - degree: 1, - }, - { - id: "1131", - olabel: "Sawatari_R", - x: 953.0609889946414, - y: -152.43436031638817, - cluster: "A", - label: "1131-A", - degree: 1, - }, - { - id: "1132", - olabel: "Okane_D", - x: 1104.8153895737728, - y: 783.3346816684674, - cluster: "B", - label: "1132-B", - degree: 1, - }, - { - id: "1133", - olabel: "Treves_A", - x: 1073.8281998893633, - y: 823.8905473043955, - cluster: "C", - label: "1133-C", - degree: 1, - }, - { - id: "1134", - olabel: "Onnela_J", - x: 41.230893634252034, - y: 238.4939442000361, - cluster: "A", - label: "1134-A", - degree: 1.709975946676697, - }, - { - id: "1135", - olabel: "Chakraborti_A", - x: 94.93751456728374, - y: 214.17935812224323, - cluster: "B", - label: "1135-B", - degree: 1.5874010519681994, - }, - { - id: "1136", - olabel: "Kanto_A", - x: 58.19448252017498, - y: 268.84718580097143, - cluster: "C", - label: "1136-C", - degree: 1.5874010519681994, - }, - { - id: "1137", - olabel: "Jarisaramaki_J", - x: 90.64919662017691, - y: 228.3970087950964, - cluster: "A", - label: "1137-A", - degree: 1.4422495703074083, - }, - { - id: "1138", - olabel: "Onody_R", - x: -286.51301839307195, - y: -9.170399137520603, - cluster: "B", - label: "1138-B", - degree: 1, - }, - { - id: "1139", - olabel: "Decastro_P", - x: -247.5045207965863, - y: -42.82881222787484, - cluster: "C", - label: "1139-C", - degree: 1, - }, - { - id: "1140", - olabel: "Oosawa_C", - x: -98.8852812033488, - y: 268.8378863291413, - cluster: "A", - label: "1140-A", - degree: 1, - }, - { - id: "1141", - olabel: "Savageau_M", - x: -79.16873181775075, - y: 220.72718584332088, - cluster: "B", - label: "1141-B", - degree: 1.4422495703074083, - }, - { - id: "1142", - olabel: "Oram_A", - x: 1042.9633208320072, - y: 61.540548004773235, - cluster: "C", - label: "1142-C", - degree: 0, - }, - { - id: "1143", - olabel: "Osborne_M", - x: 188.38074449189568, - y: -172.65563778093593, - cluster: "A", - label: "1143-A", - degree: 0, - }, - { - id: "1144", - olabel: "Rosenblum_M", - x: 542.5168325206174, - y: 739.2211526056341, - cluster: "B", - label: "1144-B", - degree: 2.2894284851066637, - }, - { - id: "1145", - olabel: "Otsuka_K", - x: 14.378034600272807, - y: 562.6418821055584, - cluster: "C", - label: "1145-C", - degree: 1.5874010519681994, - }, - { - id: "1146", - olabel: "Kawai_R", - x: 14.336869854303268, - y: 523.4991593953572, - cluster: "A", - label: "1146-A", - degree: 1.5874010519681994, - }, - { - id: "1147", - olabel: "Hwong_S", - x: -43.27500983870528, - y: 530.8726781363061, - cluster: "B", - label: "1147-B", - degree: 1.5874010519681994, - }, - { - id: "1148", - olabel: "Ko_J", - x: -22.85138761896462, - y: 563.4509587473744, - cluster: "C", - label: "1148-C", - degree: 1.5874010519681994, - }, - { - id: "1149", - olabel: "Chern_J", - x: -17.713886782220438, - y: 501.9315031542701, - cluster: "A", - label: "1149-A", - degree: 1.5874010519681994, - }, - { - id: "1150", - olabel: "Overbay_T", - x: -250.56977300673086, - y: -71.84670468482406, - cluster: "B", - label: "1150-B", - degree: 0, - }, - { - id: "1151", - olabel: "Overbeek_R", - x: 308.10816489948576, - y: 949.3912604551542, - cluster: "C", - label: "1151-C", - degree: 2, - }, - { - id: "1152", - olabel: "Larsen_N", - x: 304.6384818658566, - y: 923.2377064199414, - cluster: "A", - label: "1152-A", - degree: 2, - }, - { - id: "1153", - olabel: "Pusch_G", - x: 292.1790907388858, - y: 982.337193723383, - cluster: "B", - label: "1153-B", - degree: 2, - }, - { - id: "1154", - olabel: "Dsouza_M", - x: 348.42915942084176, - y: 982.9255642224363, - cluster: "C", - label: "1154-C", - degree: 2, - }, - { - id: "1155", - olabel: "Selkovjr_E", - x: 335.9196971775983, - y: 961.7750315257681, - cluster: "A", - label: "1155-A", - degree: 2, - }, - { - id: "1156", - olabel: "Kyrpides_N", - x: 282.3008267410301, - y: 955.9565421091902, - cluster: "B", - label: "1156-B", - degree: 2, - }, - { - id: "1157", - olabel: "Fonstein_M", - x: 335.0511089984037, - y: 924.7411505919233, - cluster: "C", - label: "1157-C", - degree: 2, - }, - { - id: "1158", - olabel: "Maltsev_N", - x: 357.53527225935187, - y: 945.9859830095223, - cluster: "A", - label: "1158-A", - degree: 2, - }, - { - id: "1159", - olabel: "Selkov_E", - x: 317.3518440965884, - y: 992.1937472041906, - cluster: "B", - label: "1159-B", - degree: 2, - }, - { - id: "1160", - olabel: "Ozana_M", - x: 901.694852872551, - y: -184.42508253470515, - cluster: "C", - label: "1160-C", - degree: 0, - }, - { - id: "1161", - olabel: "Bassler_K", - x: 561.01878292377, - y: 546.9990375172317, - cluster: "A", - label: "1161-A", - degree: 1.8171205928321397, - }, - { - id: "1162", - olabel: "Corral_A", - x: 518.9785855878348, - y: 552.5343566285975, - cluster: "B", - label: "1162-B", - degree: 1.2599210498948732, - }, - { - id: "1163", - olabel: "Padgett_J", - x: 874.115059531393, - y: -248.6277047972397, - cluster: "C", - label: "1163-C", - degree: 1, - }, - { - id: "1164", - olabel: "Ansell_C", - x: 826.4317033951404, - y: -267.02127213269216, - cluster: "A", - label: "1164-A", - degree: 1, - }, - { - id: "1165", - olabel: "Motwani_R", - x: 775.5288997613055, - y: -136.23572690859754, - cluster: "B", - label: "1165-B", - degree: 1.4422495703074083, - }, - { - id: "1166", - olabel: "Winograd_T", - x: 817.3205262232916, - y: -122.11490898030755, - cluster: "C", - label: "1166-C", - degree: 1.4422495703074083, - }, - { - id: "1167", - olabel: "Pandey_A", - x: 867.8427051816125, - y: -158.0124094713596, - cluster: "A", - label: "1167-A", - degree: 1, - }, - { - id: "1168", - olabel: "Mann_M", - x: 826.2913451979907, - y: -190.35961450076513, - cluster: "B", - label: "1168-B", - degree: 1, - }, - { - id: "1169", - olabel: "Pandit_S", - x: 46.205920141240966, - y: -38.36153724950806, - cluster: "C", - label: "1169-C", - degree: 1, - }, - { - id: "1170", - olabel: "Pandya_R", - x: -148.3350825986957, - y: -20.19980802088862, - cluster: "A", - label: "1170-A", - degree: 0, - }, - { - id: "1171", - olabel: "Park_J", - x: 176.87159912151813, - y: 395.7087618959528, - cluster: "B", - label: "1171-B", - degree: 1, - }, - { - id: "1172", - olabel: "Parmananda_P", - x: -179.43224012666758, - y: 697.2798434401368, - cluster: "C", - label: "1172-C", - degree: 0, - }, - { - id: "1173", - olabel: "Pasemann_F", - x: -165.92318650884417, - y: 818.2662696216036, - cluster: "A", - label: "1173-A", - degree: 0, - }, - { - id: "1174", - olabel: "Passingham_R", - x: 414.3709422024738, - y: -66.68324457477344, - cluster: "B", - label: "1174-B", - degree: 1.2599210498948732, - }, - { - id: "1175", - olabel: "Sthepan_K", - x: 414.6913451719783, - y: -13.497195902401545, - cluster: "C", - label: "1175-C", - degree: 1.2599210498948732, - }, - { - id: "1176", - olabel: "Rubi_M", - x: 598.5184045501758, - y: 338.6535447540775, - cluster: "A", - label: "1176-A", - degree: 1.2599210498948732, - }, - { - id: "1177", - olabel: "Smith_E", - x: 531.0940837875636, - y: 374.54744145319177, - cluster: "B", - label: "1177-B", - degree: 1.4422495703074083, - }, - { - id: "1178", - olabel: "Pekalski_A", - x: -20.325501827210378, - y: 1021.5172737986675, - cluster: "C", - label: "1178-C", - degree: 0, - }, - { - id: "1179", - olabel: "Pennock_D", - x: 33.55458716316994, - y: 409.69499313193097, - cluster: "A", - label: "1179-A", - degree: 1.5874010519681994, - }, - { - id: "1180", - olabel: "Glover_E", - x: 44.39444473220761, - y: 469.6609454191667, - cluster: "B", - label: "1180-B", - degree: 1.5874010519681994, - }, - { - id: "1181", - olabel: "Petermannn_T", - x: 561.8649648599653, - y: 171.83674746597794, - cluster: "C", - label: "1181-C", - degree: 1, - }, - { - id: "1182", - olabel: "Pimm_S", - x: -275.96558822266917, - y: 456.4927329794604, - cluster: "A", - label: "1182-A", - degree: 0, - }, - { - id: "1183", - olabel: "Pinto_S", - x: -204.9652429492291, - y: 680.3637234807205, - cluster: "B", - label: "1183-B", - degree: 1.2599210498948732, - }, - { - id: "1184", - olabel: "Lopes_S", - x: -227.01662897181004, - y: 633.8484916324497, - cluster: "C", - label: "1184-C", - degree: 1.2599210498948732, - }, - { - id: "1185", - olabel: "Viana_R", - x: -174.63925793431716, - y: 638.0398170245422, - cluster: "A", - label: "1185-A", - degree: 1.2599210498948732, - }, - { - id: "1186", - olabel: "Piot_P", - x: 203.4437486896158, - y: -129.6964785469862, - cluster: "B", - label: "1186-B", - degree: 0, - }, - { - id: "1187", - olabel: "Pitts_F", - x: 73.87716335467596, - y: 1057.057067774351, - cluster: "C", - label: "1187-C", - degree: 0, - }, - { - id: "1188", - olabel: "Pluchino_A", - x: 290.88921549930404, - y: 614.7254832232456, - cluster: "A", - label: "1188-A", - degree: 1.2599210498948732, - }, - { - id: "1189", - olabel: "Podani_J", - x: 355.71030558611943, - y: 369.36596392058124, - cluster: "B", - label: "1189-B", - degree: 1.709975946676697, - }, - { - id: "1190", - olabel: "Szathmary_E", - x: 388.3573536190433, - y: 374.36813211034774, - cluster: "C", - label: "1190-C", - degree: 1.709975946676697, - }, - { - id: "1191", - olabel: "Polis_G", - x: 582.7875661237304, - y: -128.06743944190208, - cluster: "A", - label: "1191-A", - degree: 0, - }, - { - id: "1192", - olabel: "Pool_I", - x: 335.59425812507146, - y: -295.9840168089797, - cluster: "B", - label: "1192-B", - degree: 1, - }, - { - id: "1193", - olabel: "Kochen_M", - x: 367.7192491905829, - y: -335.4099613767311, - cluster: "C", - label: "1193-C", - degree: 1, - }, - { - id: "1194", - olabel: "Porter_M", - x: 190.5824518255243, - y: 452.8659375957385, - cluster: "A", - label: "1194-A", - degree: 1.4422495703074083, - }, - { - id: "1195", - olabel: "Mucha_P", - x: 248.61819943615913, - y: 459.732584440242, - cluster: "B", - label: "1195-B", - degree: 1.4422495703074083, - }, - { - id: "1196", - olabel: "Warmbrand_C", - x: 214.57465391198158, - y: 482.5748694911238, - cluster: "C", - label: "1196-C", - degree: 1.4422495703074083, - }, - { - id: "1197", - olabel: "Pothen_A", - x: -64.64974973998092, - y: 880.0581101508891, - cluster: "A", - label: "1197-A", - degree: 1.2599210498948732, - }, - { - id: "1198", - olabel: "Simon_H", - x: -86.92512780465857, - y: 834.1329124495055, - cluster: "B", - label: "1198-B", - degree: 1.2599210498948732, - }, - { - id: "1199", - olabel: "Liou_K", - x: -115.85571041672995, - y: 876.516246581323, - cluster: "C", - label: "1199-C", - degree: 1.2599210498948732, - }, - { - id: "1200", - olabel: "Rothenberg_R", - x: 152.94347611458136, - y: 691.5067477177607, - cluster: "A", - label: "1200-A", - degree: 2.4101422641752297, - }, - { - id: "1201", - olabel: "Zimmermanroger_H", - x: 190.79724619165907, - y: 735.646845769555, - cluster: "B", - label: "1201-B", - degree: 1.912931182772389, - }, - { - id: "1202", - olabel: "Green_D", - x: 200.05965995167887, - y: 668.480443410096, - cluster: "C", - label: "1202-C", - degree: 1.912931182772389, - }, - { - id: "1203", - olabel: "Taylor_J", - x: 216.8420646282773, - y: 710.3170116965887, - cluster: "A", - label: "1203-A", - degree: 1.912931182772389, - }, - { - id: "1204", - olabel: "Bonney_M", - x: 168.54530653972745, - y: 660.9726244074352, - cluster: "B", - label: "1204-B", - degree: 1.912931182772389, - }, - { - id: "1205", - olabel: "Phillipsplummer_L", - x: 101.9560244528637, - y: 684.8447554972047, - cluster: "C", - label: "1205-C", - degree: 1.912931182772389, - }, - { - id: "1206", - olabel: "Maldonadolong_T", - x: 120.412275711844, - y: 735.5061638733936, - cluster: "A", - label: "1206-A", - degree: 1.912931182772389, - }, - { - id: "1207", - olabel: "Zimmerman_H", - x: 145.8369906810579, - y: 749.159146741558, - cluster: "B", - label: "1207-B", - degree: 1.912931182772389, - }, - { - id: "1208", - olabel: "Powell_W", - x: 1003.0232705387317, - y: 199.27552333944314, - cluster: "C", - label: "1208-C", - degree: 1.4422495703074083, - }, - { - id: "1209", - olabel: "White_D", - x: 1041.1414396297987, - y: 249.32226372937635, - cluster: "A", - label: "1209-A", - degree: 1.4422495703074083, - }, - { - id: "1210", - olabel: "Koput_K", - x: 996.7008772431258, - y: 241.46321030353926, - cluster: "B", - label: "1210-B", - degree: 1.4422495703074083, - }, - { - id: "1211", - olabel: "Owensmith_J", - x: 1047.1912159306726, - y: 205.94058510339772, - cluster: "C", - label: "1211-C", - degree: 1.4422495703074083, - }, - { - id: "1212", - olabel: "Price_D", - x: 823.6005841774095, - y: -223.6572499940004, - cluster: "A", - label: "1212-A", - degree: 0, - }, - { - id: "1213", - olabel: "Radicchi_F", - x: 755.2441067304428, - y: 261.6966607166721, - cluster: "B", - label: "1213-B", - degree: 1.5874010519681994, - }, - { - id: "1214", - olabel: "Cecconi_F", - x: 758.0420251179222, - y: 308.08997219602236, - cluster: "C", - label: "1214-C", - degree: 1.5874010519681994, - }, - { - id: "1215", - olabel: "Loreto_V", - x: 729.9638528161565, - y: 288.8585475465189, - cluster: "A", - label: "1215-A", - degree: 1.5874010519681994, - }, - { - id: "1216", - olabel: "Parisi_D", - x: 715.2036005041208, - y: 252.53844639186096, - cluster: "B", - label: "1216-B", - degree: 1.5874010519681994, - }, - { - id: "1217", - olabel: "Raghavachari_S", - x: 1116.4332355150175, - y: 128.21923009754138, - cluster: "C", - label: "1217-C", - degree: 1, - }, - { - id: "1218", - olabel: "Glazier_J", - x: 1143.7576446247276, - y: 171.85524622348876, - cluster: "A", - label: "1218-A", - degree: 1, - }, - { - id: "1219", - olabel: "Rain_J", - x: -396.7090571305587, - y: 363.30442114140084, - cluster: "B", - label: "1219-B", - degree: 0, - }, - { - id: "1220", - olabel: "Ramasco_J", - x: 611.495912376255, - y: 344.4574468274585, - cluster: "C", - label: "1220-C", - degree: 1.2599210498948732, - }, - { - id: "1221", - olabel: "Ramezanpour_A", - x: 167.7143154183438, - y: 1081.148434124768, - cluster: "A", - label: "1221-A", - degree: 1.2599210498948732, - }, - { - id: "1222", - olabel: "Karimipour_V", - x: 116.44865211666387, - y: 1075.6641342475161, - cluster: "B", - label: "1222-B", - degree: 1.2599210498948732, - }, - { - id: "1223", - olabel: "Mashaghi_A", - x: 137.44129506851124, - y: 1122.4424500329305, - cluster: "C", - label: "1223-C", - degree: 1.2599210498948732, - }, - { - id: "1224", - olabel: "Rapoport_A", - x: -172.5753213089353, - y: 353.69297235249775, - cluster: "A", - label: "1224-A", - degree: 1.4422495703074083, - }, - { - id: "1225", - olabel: "Chammah_A", - x: -144.20721329286823, - y: 396.6142140842753, - cluster: "B", - label: "1225-B", - degree: 1, - }, - { - id: "1226", - olabel: "Horvath_W", - x: -132.71002444027684, - y: 321.29295632346174, - cluster: "C", - label: "1226-C", - degree: 1, - }, - { - id: "1227", - olabel: "Somera_A", - x: 283.5133433710482, - y: 427.7782977981754, - cluster: "A", - label: "1227-A", - degree: 1.5874010519681994, - }, - { - id: "1228", - olabel: "Mongru_D", - x: 305.4009376740814, - y: 368.3678979986649, - cluster: "B", - label: "1228-B", - degree: 1.5874010519681994, - }, - { - id: "1229", - olabel: "Reichardt_J", - x: 440.68589945675075, - y: 932.8025120314727, - cluster: "C", - label: "1229-C", - degree: 1, - }, - { - id: "1230", - olabel: "Resnick_P", - x: 885.4042482679521, - y: 760.4243347468224, - cluster: "A", - label: "1230-A", - degree: 1, - }, - { - id: "1231", - olabel: "Varian_H", - x: 835.4216296602955, - y: 768.2877351402808, - cluster: "B", - label: "1231-B", - degree: 1, - }, - { - id: "1232", - olabel: "Ress_G", - x: 537.937509140184, - y: 984.0224843895375, - cluster: "C", - label: "1232-C", - degree: 1.2599210498948732, - }, - { - id: "1233", - olabel: "Kreiman_G", - x: 495.3754254079982, - y: 1015.054093805387, - cluster: "A", - label: "1233-A", - degree: 1.2599210498948732, - }, - { - id: "1234", - olabel: "Restrepo_J", - x: -25.073096597015585, - y: 37.59551581120384, - cluster: "B", - label: "1234-B", - degree: 1.2599210498948732, - }, - { - id: "1235", - olabel: "Hunt_B", - x: -79.95035578342849, - y: 45.291471007856, - cluster: "C", - label: "1235-C", - degree: 1.2599210498948732, - }, - { - id: "1236", - olabel: "Rives_A", - x: -256.767897881164, - y: 186.95028331434435, - cluster: "A", - label: "1236-A", - degree: 1, - }, - { - id: "1237", - olabel: "Galitski_T", - x: -247.29253075009362, - y: 136.48425863388653, - cluster: "B", - label: "1237-B", - degree: 1, - }, - { - id: "1238", - olabel: "Darbydowman_K", - x: 426.4225593376855, - y: 539.8353083113424, - cluster: "C", - label: "1238-C", - degree: 1, - }, - { - id: "1239", - olabel: "Roethlisberger_F", - x: -134.38264473625608, - y: 943.1733709299937, - cluster: "A", - label: "1239-A", - degree: 1, - }, - { - id: "1240", - olabel: "Dickson_W", - x: -116.81316000183699, - y: 992.3533357262237, - cluster: "B", - label: "1240-B", - degree: 1, - }, - { - id: "1241", - olabel: "Rogers_J", - x: -124.65196604351935, - y: 256.269075746834, - cluster: "C", - label: "1241-C", - degree: 1, - }, - { - id: "1242", - olabel: "Wille_L", - x: -74.67409402562852, - y: 269.79751434398077, - cluster: "A", - label: "1242-A", - degree: 1, - }, - { - id: "1243", - olabel: "Rogister_F", - x: -73.52900535942642, - y: 128.03242838059316, - cluster: "B", - label: "1243-B", - degree: 1.5874010519681994, - }, - { - id: "1244", - olabel: "Thornburg_K", - x: -73.92707982256525, - y: 164.8371531458993, - cluster: "C", - label: "1244-C", - degree: 1.5874010519681994, - }, - { - id: "1245", - olabel: "Fabiny_L", - x: -35.56793633552836, - y: 176.20030608280445, - cluster: "A", - label: "1245-A", - degree: 1.5874010519681994, - }, - { - id: "1246", - olabel: "Moller_M", - x: -11.031005303120116, - y: 146.65826051329208, - cluster: "B", - label: "1246-B", - degree: 1.5874010519681994, - }, - { - id: "1247", - olabel: "Romano_S", - x: 422.23577342749394, - y: -351.16984476398244, - cluster: "C", - label: "1247-C", - degree: 1, - }, - { - id: "1248", - olabel: "Eguia_M", - x: 380.1441688396684, - y: -321.3586141089497, - cluster: "A", - label: "1248-A", - degree: 1, - }, - { - id: "1249", - olabel: "Rosa_E", - x: -36.92470006516842, - y: 32.690521954252894, - cluster: "B", - label: "1249-B", - degree: 1.2599210498948732, - }, - { - id: "1250", - olabel: "Hess_M", - x: 2.86581953251587, - y: 69.47831986016672, - cluster: "C", - label: "1250-C", - degree: 1.2599210498948732, - }, - { - id: "1251", - olabel: "Rosato_V", - x: 94.6234362845863, - y: 805.8969033529091, - cluster: "A", - label: "1251-A", - degree: 1.2599210498948732, - }, - { - id: "1252", - olabel: "Bologna_S", - x: 81.63902548434868, - y: 857.0885830207062, - cluster: "B", - label: "1252-B", - degree: 1.2599210498948732, - }, - { - id: "1253", - olabel: "Tiriticco_F", - x: 130.99781226420143, - y: 843.2162783738883, - cluster: "C", - label: "1253-C", - degree: 1.2599210498948732, - }, - { - id: "1254", - olabel: "Rosvall_M", - x: 188.9721587372299, - y: 276.0730559503971, - cluster: "A", - label: "1254-A", - degree: 1.4422495703074083, - }, - { - id: "1255", - olabel: "Baldwin_J", - x: 102.76660958020386, - y: 663.2723414867099, - cluster: "B", - label: "1255-B", - degree: 1.4422495703074083, - }, - { - id: "1256", - olabel: "Trotter_R", - x: 142.47806962825035, - y: 641.371319689074, - cluster: "C", - label: "1256-C", - degree: 1.4422495703074083, - }, - { - id: "1257", - olabel: "Rougemont_J", - x: -101.652664836822, - y: -30.274038067178036, - cluster: "A", - label: "1257-A", - degree: 1, - }, - { - id: "1258", - olabel: "Hingamp_P", - x: -55.86840600415635, - y: -52.62014196156833, - cluster: "B", - label: "1258-B", - degree: 1, - }, - { - id: "1259", - olabel: "Roxin_A", - x: 1070.5925184689715, - y: 380.7528443855152, - cluster: "C", - label: "1259-C", - degree: 1.2599210498948732, - }, - { - id: "1260", - olabel: "Riecke_H", - x: 1033.884641988179, - y: 415.9666757057334, - cluster: "A", - label: "1260-A", - degree: 1.2599210498948732, - }, - { - id: "1261", - olabel: "Solla_S", - x: 1083.4331307363916, - y: 431.13289735017037, - cluster: "B", - label: "1261-B", - degree: 1.2599210498948732, - }, - { - id: "1262", - olabel: "Rozenfeld_A", - x: 309.1383082795282, - y: 542.7135162320537, - cluster: "C", - label: "1262-C", - degree: 1.4422495703074083, - }, - { - id: "1263", - olabel: "Rulkov_N", - x: -154.95206144122636, - y: 708.6386314191609, - cluster: "A", - label: "1263-A", - degree: 1.4422495703074083, - }, - { - id: "1264", - olabel: "Sushchik_M", - x: -115.24215889483517, - y: 688.3185935920362, - cluster: "B", - label: "1264-B", - degree: 1.4422495703074083, - }, - { - id: "1265", - olabel: "Tsimring_L", - x: -173.51923094137712, - y: 667.7136713703887, - cluster: "C", - label: "1265-C", - degree: 1.4422495703074083, - }, - { - id: "1266", - olabel: "Abarbanel_H", - x: -134.20586663844173, - y: 648.6545321397656, - cluster: "A", - label: "1266-A", - degree: 1.4422495703074083, - }, - { - id: "1267", - olabel: "Gomez_S", - x: -129.03961919807256, - y: 710.615915173648, - cluster: "B", - label: "1267-B", - degree: 1, - }, - { - id: "1268", - olabel: "Sabidussi_G", - x: 1155.9551757559805, - y: 408.8258964779917, - cluster: "C", - label: "1268-C", - degree: 0, - }, - { - id: "1269", - olabel: "Sachtjen_M", - x: -84.96827927175279, - y: -98.35269578116183, - cluster: "A", - label: "1269-A", - degree: 1.2599210498948732, - }, - { - id: "1270", - olabel: "Sakaguchi_H", - x: 1058.5083286373276, - y: 677.6895167569284, - cluster: "B", - label: "1270-B", - degree: 1.2599210498948732, - }, - { - id: "1271", - olabel: "Shinomoto_S", - x: 1007.1568773101181, - y: 677.291659586551, - cluster: "C", - label: "1271-C", - degree: 1.2599210498948732, - }, - { - id: "1272", - olabel: "Sander_L", - x: -77.79615248082857, - y: 299.14725825464353, - cluster: "A", - label: "1272-A", - degree: 1.5874010519681994, - }, - { - id: "1273", - olabel: "Warren_C", - x: -31.609029958374403, - y: 341.8032414427958, - cluster: "B", - label: "1273-B", - degree: 1.5874010519681994, - }, - { - id: "1274", - olabel: "Simon_C", - x: -44.33320934662372, - y: 275.0602561959001, - cluster: "C", - label: "1274-C", - degree: 1.5874010519681994, - }, - { - id: "1275", - olabel: "Koopman_J", - x: -72.27096913218672, - y: 336.9193146135857, - cluster: "A", - label: "1275-A", - degree: 1.5874010519681994, - }, - { - id: "1276", - olabel: "Sator_N", - x: 241.3579380856119, - y: -343.7269024056071, - cluster: "B", - label: "1276-B", - degree: 0, - }, - { - id: "1277", - olabel: "Blackmore_C", - x: 285.31554409863026, - y: 0.4806407030798702, - cluster: "C", - label: "1277-C", - degree: 1.709975946676697, - }, - { - id: "1278", - olabel: "Grant_S", - x: 300.6554956432767, - y: -104.86823174844575, - cluster: "A", - label: "1278-A", - degree: 1.4422495703074083, - }, - { - id: "1279", - olabel: "Payne_B", - x: 365.8700988404145, - y: -94.24014481764786, - cluster: "B", - label: "1279-B", - degree: 1.4422495703074083, - }, - { - id: "1280", - olabel: "Baddeley_R", - x: 337.62798918633825, - y: -124.3532140411416, - cluster: "C", - label: "1280-C", - degree: 1.4422495703074083, - }, - { - id: "1281", - olabel: "Schafer_C", - x: 506.37531280742945, - y: 717.5418480382291, - cluster: "A", - label: "1281-A", - degree: 1.4422495703074083, - }, - { - id: "1282", - olabel: "Abel_H", - x: 587.8114185577124, - y: 712.742927368867, - cluster: "B", - label: "1282-B", - degree: 1.4422495703074083, - }, - { - id: "1283", - olabel: "Schelling_T", - x: 1050.2924542782148, - y: 897.8109121046836, - cluster: "C", - label: "1283-C", - degree: 0, - }, - { - id: "1284", - olabel: "Schneeberger_A", - x: -226.4931020572686, - y: -107.66762965899575, - cluster: "A", - label: "1284-A", - degree: 0, - }, - { - id: "1285", - olabel: "Schuster_S", - x: 568.4647953858902, - y: -58.36293683383619, - cluster: "B", - label: "1285-B", - degree: 2, - }, - { - id: "1286", - olabel: "Pfeiffer_T", - x: 523.1804887228967, - y: -41.17255828741327, - cluster: "C", - label: "1286-C", - degree: 1.5874010519681994, - }, - { - id: "1287", - olabel: "Moldenhauer_F", - x: 543.3573532661327, - y: -106.1656984777555, - cluster: "A", - label: "1287-A", - degree: 1.5874010519681994, - }, - { - id: "1288", - olabel: "Koch_I", - x: 499.15187170930153, - y: -84.80802075750978, - cluster: "B", - label: "1288-B", - degree: 1.5874010519681994, - }, - { - id: "1289", - olabel: "Dandekar_T", - x: 530.4082258684178, - y: -75.17378741220698, - cluster: "C", - label: "1289-C", - degree: 1.5874010519681994, - }, - { - id: "1290", - olabel: "Schuz_A", - x: 734.3856748596821, - y: 1125.746048795136, - cluster: "A", - label: "1290-A", - degree: 0, - }, - { - id: "1291", - olabel: "Schwartz_I", - x: 885.6002740069406, - y: 5.315576343396487, - cluster: "B", - label: "1291-B", - degree: 1.2599210498948732, - }, - { - id: "1292", - olabel: "Billings_L", - x: 872.3118497365986, - y: -45.296779017103596, - cluster: "C", - label: "1292-C", - degree: 1.2599210498948732, - }, - { - id: "1293", - olabel: "Bollt_E", - x: 920.8819855091507, - y: -29.337202065040863, - cluster: "A", - label: "1293-A", - degree: 1.5874010519681994, - }, - { - id: "1294", - olabel: "Schwartz_N", - x: 296.2858673078057, - y: 449.4273759300819, - cluster: "B", - label: "1294-B", - degree: 1.5874010519681994, - }, - { - id: "1295", - olabel: "Scott_J", - x: -394.796259142942, - y: 237.96867491002794, - cluster: "C", - label: "1295-C", - degree: 0, - }, - { - id: "1296", - olabel: "Searls_D", - x: -407.45275503527074, - y: 310.2590263736676, - cluster: "A", - label: "1296-A", - degree: 0, - }, - { - id: "1297", - olabel: "Seary_A", - x: -311.87652310706017, - y: 739.519974164208, - cluster: "B", - label: "1297-B", - degree: 1, - }, - { - id: "1298", - olabel: "Richards_W", - x: -299.915057350077, - y: 689.6635273042774, - cluster: "C", - label: "1298-C", - degree: 1, - }, - { - id: "1299", - olabel: "Sedgewick_R", - x: 873.6298795948511, - y: -81.42535614517182, - cluster: "A", - label: "1299-A", - degree: 0, - }, - { - id: "1300", - olabel: "Seglen_P", - x: -69.51354976094282, - y: 994.274954126753, - cluster: "B", - label: "1300-B", - degree: 0, - }, - { - id: "1301", - olabel: "Seidman_S", - x: 370.0355907356601, - y: 902.0533577423342, - cluster: "C", - label: "1301-C", - degree: 0, - }, - { - id: "1302", - olabel: "Banerjee_K", - x: 646.7913223499174, - y: 1085.1937388102754, - cluster: "A", - label: "1302-A", - degree: 1.2599210498948732, - }, - { - id: "1303", - olabel: "Biswas_T", - x: 596.7619201834916, - y: 1071.7918420113406, - cluster: "B", - label: "1303-B", - degree: 1.2599210498948732, - }, - { - id: "1304", - olabel: "Chakrabarti_B", - x: 679.6006740848343, - y: 1058.0412941249563, - cluster: "C", - label: "1304-C", - degree: 1, - }, - { - id: "1305", - olabel: "Dasgupta_S", - x: 599.8146603757527, - y: 1000.3390673321919, - cluster: "A", - label: "1305-A", - degree: 1.709975946676697, - }, - { - id: "1306", - olabel: "Chatterjee_A", - x: 604.0534126406868, - y: 1036.3959975088435, - cluster: "B", - label: "1306-B", - degree: 1.709975946676697, - }, - { - id: "1307", - olabel: "Sreeram_P", - x: 662.8644564565437, - y: 1030.4018174521427, - cluster: "C", - label: "1307-C", - degree: 1.709975946676697, - }, - { - id: "1308", - olabel: "Mukherjee_G", - x: 658.8576423744825, - y: 993.8865467876794, - cluster: "A", - label: "1308-A", - degree: 1.709975946676697, - }, - { - id: "1309", - olabel: "Shardanand_U", - x: 834.390818230374, - y: 232.95833933060874, - cluster: "B", - label: "1309-B", - degree: 1, - }, - { - id: "1310", - olabel: "Maes_P", - x: 882.3871490701097, - y: 250.42382331136895, - cluster: "C", - label: "1310-C", - degree: 1, - }, - { - id: "1311", - olabel: "Shefi_O", - x: 281.22532626158863, - y: 129.77289330041572, - cluster: "A", - label: "1311-A", - degree: 1.5874010519681994, - }, - { - id: "1312", - olabel: "Golding_I", - x: 317.2666322498654, - y: 144.39737648389598, - cluster: "B", - label: "1312-B", - degree: 1.5874010519681994, - }, - { - id: "1313", - olabel: "Segev_R", - x: 267.8341092273364, - y: 183.70176323921012, - cluster: "C", - label: "1313-C", - degree: 1.5874010519681994, - }, - { - id: "1314", - olabel: "Benjacob_E", - x: 306.03126597716056, - y: 188.08142277046275, - cluster: "A", - label: "1314-A", - degree: 2, - }, - { - id: "1315", - olabel: "Ayali_A", - x: 252.0107101129772, - y: 152.25562906735652, - cluster: "B", - label: "1315-B", - degree: 1.5874010519681994, - }, - { - id: "1316", - olabel: "Shepard_R", - x: 1016.2834930788978, - y: -116.30099269149758, - cluster: "C", - label: "1316-C", - degree: 0, - }, - { - id: "1317", - olabel: "Sherrington_D", - x: -112.2029651586236, - y: 276.8065716131717, - cluster: "A", - label: "1317-A", - degree: 1, - }, - { - id: "1318", - olabel: "Shockley_W", - x: -61.70075996328703, - y: 1038.189636714409, - cluster: "B", - label: "1318-B", - degree: 0, - }, - { - id: "1319", - olabel: "Shuai_J", - x: 727.0110931488698, - y: -337.0139084421996, - cluster: "C", - label: "1319-C", - degree: 1, - }, - { - id: "1320", - olabel: "Durand_D", - x: 773.8923830579889, - y: -316.1783331297854, - cluster: "A", - label: "1320-A", - degree: 1, - }, - { - id: "1321", - olabel: "Sigman_M", - x: 256.64658646767595, - y: 60.748065447125946, - cluster: "B", - label: "1321-B", - degree: 1, - }, - { - id: "1322", - olabel: "Simard_D", - x: -141.79840805962644, - y: 180.30719596400382, - cluster: "C", - label: "1322-C", - degree: 1.2599210498948732, - }, - { - id: "1323", - olabel: "Nadeau_L", - x: -91.55697184995078, - y: 190.60609170451767, - cluster: "A", - label: "1323-A", - degree: 1.2599210498948732, - }, - { - id: "1324", - olabel: "Kroger_H", - x: -124.84015361497121, - y: 228.9340411878782, - cluster: "B", - label: "1324-B", - degree: 1.2599210498948732, - }, - { - id: "1325", - olabel: "Singh_B", - x: 64.09034375496655, - y: 1085.0724846601847, - cluster: "C", - label: "1325-C", - degree: 1, - }, - { - id: "1326", - olabel: "Gupte_N", - x: 13.662870093705802, - y: 1077.305911888329, - cluster: "A", - label: "1326-A", - degree: 1, - }, - { - id: "1327", - olabel: "Smith_D", - x: 1084.8485220746413, - y: 593.3208857771228, - cluster: "B", - label: "1327-B", - degree: 1, - }, - { - id: "1328", - olabel: "Timberlake_M", - x: 1072.384197579069, - y: 643.244514329859, - cluster: "C", - label: "1328-C", - degree: 1, - }, - { - id: "1329", - olabel: "Smith_R", - x: 531.3345652273458, - y: 1191.9886738435894, - cluster: "A", - label: "1329-A", - degree: 0, - }, - { - id: "1330", - olabel: "Snel_B", - x: 24.201658680284176, - y: 775.548209425133, - cluster: "B", - label: "1330-B", - degree: 1.2599210498948732, - }, - { - id: "1331", - olabel: "Bork_P", - x: 24.522880627749267, - y: 722.5486870620063, - cluster: "C", - label: "1331-C", - degree: 1.2599210498948732, - }, - { - id: "1332", - olabel: "Huynen_M", - x: 66.74419277449984, - y: 750.0793656078813, - cluster: "A", - label: "1332-A", - degree: 1.2599210498948732, - }, - { - id: "1333", - olabel: "Snijders_T", - x: 380.37919044212356, - y: 1202.4867652476773, - cluster: "B", - label: "1333-B", - degree: 0, - }, - { - id: "1334", - olabel: "Soares_D", - x: 191.68738409197368, - y: 1168.6467820903777, - cluster: "C", - label: "1334-C", - degree: 1.4422495703074083, - }, - { - id: "1335", - olabel: "Tsallis_C", - x: 208.66086809616007, - y: 1127.4446500638535, - cluster: "A", - label: "1335-A", - degree: 1.5874010519681994, - }, - { - id: "1336", - olabel: "Mariz_A", - x: 151.1800130670109, - y: 1149.450445095129, - cluster: "B", - label: "1336-B", - degree: 1.4422495703074083, - }, - { - id: "1337", - olabel: "Dasilva_L", - x: 167.7194280464811, - y: 1109.8883273893164, - cluster: "C", - label: "1337-C", - degree: 1.4422495703074083, - }, - { - id: "1338", - olabel: "Socolar_J", - x: 1047.987654773239, - y: -54.85103794929067, - cluster: "A", - label: "1338-A", - degree: 1, - }, - { - id: "1339", - olabel: "Soderberg_B", - x: 659.8155458073263, - y: -354.9891294532168, - cluster: "B", - label: "1339-B", - degree: 0, - }, - { - id: "1340", - olabel: "Soffer_S", - x: 715.2234825456325, - y: 449.79447295050363, - cluster: "C", - label: "1340-C", - degree: 1, - }, - { - id: "1341", - olabel: "Kepler_T", - x: 532.5017706813928, - y: 421.0246015953867, - cluster: "A", - label: "1341-A", - degree: 1.4422495703074083, - }, - { - id: "1342", - olabel: "Salazarciudad_I", - x: 510.54639891414, - y: 361.34489637857655, - cluster: "B", - label: "1342-B", - degree: 1.2599210498948732, - }, - { - id: "1343", - olabel: "Garciafernandez_J", - x: 465.3957257632704, - y: 343.8133014910235, - cluster: "C", - label: "1343-C", - degree: 1.2599210498948732, - }, - { - id: "1344", - olabel: "Solomonoff_R", - x: -222.08810004966594, - y: 338.7635629371714, - cluster: "A", - label: "1344-A", - degree: 1, - }, - { - id: "1345", - olabel: "Crisanti_A", - x: 87.67773417034753, - y: -80.29487888592317, - cluster: "B", - label: "1345-B", - degree: 1, - }, - { - id: "1346", - olabel: "Song_C", - x: 291.87974994486336, - y: 560.2158271372164, - cluster: "C", - label: "1346-C", - degree: 1.2599210498948732, - }, - { - id: "1347", - olabel: "Makse_H", - x: 246.45515263519462, - y: 546.4758645464868, - cluster: "A", - label: "1347-A", - degree: 1.2599210498948732, - }, - { - id: "1348", - olabel: "Song_S", - x: 775.0674290378291, - y: 82.4224125386048, - cluster: "B", - label: "1348-B", - degree: 1.5874010519681994, - }, - { - id: "1349", - olabel: "Sjostrom_P", - x: 782.3038047428948, - y: 23.082909470204914, - cluster: "C", - label: "1349-C", - degree: 1.5874010519681994, - }, - { - id: "1350", - olabel: "Reigl_M", - x: 761.5496922647711, - y: 52.39551869968761, - cluster: "A", - label: "1350-A", - degree: 1.5874010519681994, - }, - { - id: "1351", - olabel: "Nelson_S", - x: 814.3658615505193, - y: 32.20399089841157, - cluster: "B", - label: "1351-B", - degree: 1.5874010519681994, - }, - { - id: "1352", - olabel: "Sotelo_C", - x: -353.0541289654462, - y: 706.2374010181426, - cluster: "C", - label: "1352-C", - degree: 0, - }, - { - id: "1353", - olabel: "Spirin_V", - x: -321.4985486716492, - y: 659.4164735421704, - cluster: "A", - label: "1353-A", - degree: 1, - }, - { - id: "1354", - olabel: "Mirny_L", - x: -327.90890193910434, - y: 710.0288530433703, - cluster: "B", - label: "1354-B", - degree: 1, - }, - { - id: "1355", - olabel: "Sporns_O", - x: 396.06523960240366, - y: -6.696750008998899, - cluster: "C", - label: "1355-C", - degree: 1.912931182772389, - }, - { - id: "1356", - olabel: "Tononi_G", - x: 421.84033198535894, - y: 19.894435536627356, - cluster: "A", - label: "1356-A", - degree: 1.5874010519681994, - }, - { - id: "1357", - olabel: "Edelman_G", - x: 424.79248785689555, - y: -49.099817139405154, - cluster: "B", - label: "1357-B", - degree: 1.5874010519681994, - }, - { - id: "1358", - olabel: "Zwi_J", - x: 427.4534259222794, - y: 35.53779742778023, - cluster: "C", - label: "1358-C", - degree: 1, - }, - { - id: "1359", - olabel: "Stam_C", - x: 1167.2162160005703, - y: 657.9237867709759, - cluster: "A", - label: "1359-A", - degree: 1, - }, - { - id: "1360", - olabel: "Aharony_A", - x: 144.20062589949362, - y: 285.18913576889, - cluster: "B", - label: "1360-B", - degree: 1.4422495703074083, - }, - { - id: "1361", - olabel: "Adler_J", - x: 106.45022977924117, - y: 337.4215270391595, - cluster: "C", - label: "1361-C", - degree: 1.4422495703074083, - }, - { - id: "1362", - olabel: "Meyerortmanns_H", - x: 105.69557768239756, - y: 323.412118171487, - cluster: "A", - label: "1362-A", - degree: 1, - }, - { - id: "1363", - olabel: "Stelling_J", - x: 553.005157447764, - y: -28.326838678260575, - cluster: "B", - label: "1363-B", - degree: 1.5874010519681994, - }, - { - id: "1364", - olabel: "Klamt_S", - x: 570.1292387191506, - y: -86.85432540581324, - cluster: "C", - label: "1364-C", - degree: 1.5874010519681994, - }, - { - id: "1365", - olabel: "Bettenbrock_K", - x: 613.265093041891, - y: -58.75345281330707, - cluster: "A", - label: "1365-A", - degree: 1.5874010519681994, - }, - { - id: "1366", - olabel: "Gilles_E", - x: 595.9053986427678, - y: -19.049848654156154, - cluster: "B", - label: "1366-B", - degree: 1.5874010519681994, - }, - { - id: "1367", - olabel: "Kamper_L", - x: 358.8483687752532, - y: -76.59127545596444, - cluster: "C", - label: "1367-C", - degree: 1.709975946676697, - }, - { - id: "1368", - olabel: "Bozkurt_A", - x: 323.11560248544146, - y: -89.09278333073121, - cluster: "A", - label: "1368-A", - degree: 1.709975946676697, - }, - { - id: "1369", - olabel: "Stephenson_K", - x: 335.0386485279441, - y: 1187.369048534465, - cluster: "B", - label: "1369-B", - degree: 1, - }, - { - id: "1370", - olabel: "Zelen_M", - x: 384.61852216371403, - y: 1175.5354379325279, - cluster: "C", - label: "1370-C", - degree: 1, - }, - { - id: "1371", - olabel: "Steyvers_M", - x: -355.2722086325492, - y: 285.0824273725376, - cluster: "A", - label: "1371-A", - degree: 1, - }, - { - id: "1372", - olabel: "Tenenbaum_J", - x: -339.40550814196087, - y: 333.7802785269553, - cluster: "B", - label: "1372-B", - degree: 1, - }, - { - id: "1373", - olabel: "Stiller_J", - x: 755.5479653039007, - y: 725.97344180002, - cluster: "C", - label: "1373-C", - degree: 1.2599210498948732, - }, - { - id: "1374", - olabel: "Nettle_D", - x: 706.671170190304, - y: 740.5601883948837, - cluster: "A", - label: "1374-A", - degree: 1.2599210498948732, - }, - { - id: "1375", - olabel: "Dunbar_R", - x: 742.1993617486341, - y: 777.0739915056948, - cluster: "B", - label: "1375-B", - degree: 1.2599210498948732, - }, - { - id: "1376", - olabel: "Stilwell_D", - x: 965.728779975226, - y: -6.113700879768438, - cluster: "C", - label: "1376-C", - degree: 1.2599210498948732, - }, - { - id: "1377", - olabel: "Roberson_D", - x: 961.5722856357802, - y: -58.7919798964755, - cluster: "A", - label: "1377-A", - degree: 1.2599210498948732, - }, - { - id: "1378", - olabel: "Stoneham_A", - x: 837.1135437399478, - y: 1072.2333433354906, - cluster: "B", - label: "1378-B", - degree: 0, - }, - { - id: "1379", - olabel: "Stuart_J", - x: 1108.1089889983848, - y: 26.941635000319845, - cluster: "C", - label: "1379-C", - degree: 0, - }, - { - id: "1380", - olabel: "Suchecki_K", - x: 241.16581367277365, - y: 91.85734295186943, - cluster: "A", - label: "1380-A", - degree: 1.2599210498948732, - }, - { - id: "1381", - olabel: "Svenson_P", - x: 706.0698155180904, - y: -299.77499231664797, - cluster: "B", - label: "1381-B", - degree: 0, - }, - { - id: "1382", - olabel: "Swedberg_R", - x: 997.303498300039, - y: 881.6104595773498, - cluster: "C", - label: "1382-C", - degree: 0, - }, - { - id: "1383", - olabel: "Szabo_G", - x: 57.9910974385534, - y: 250.7850427165416, - cluster: "A", - label: "1383-A", - degree: 1.2599210498948732, - }, - { - id: "1384", - olabel: "Alava_M", - x: 103.72987936598494, - y: 214.75101967084095, - cluster: "B", - label: "1384-B", - degree: 1.2599210498948732, - }, - { - id: "1385", - olabel: "Sznajdweron_K", - x: 531.3485232868632, - y: -391.70251734259165, - cluster: "C", - label: "1385-C", - degree: 1, - }, - { - id: "1386", - olabel: "Sznajd_J", - x: 580.1021032961706, - y: -376.83345891741, - cluster: "A", - label: "1386-A", - degree: 1, - }, - { - id: "1387", - olabel: "Szymanski_J", - x: -133.79459831225952, - y: 848.0573043202398, - cluster: "B", - label: "1387-B", - degree: 0, - }, - { - id: "1388", - olabel: "Thurner_S", - x: 436.06629283821053, - y: 540.0269582797586, - cluster: "C", - label: "1388-C", - degree: 1.2599210498948732, - }, - { - id: "1389", - olabel: "Takayasu_M", - x: -37.4168204795287, - y: 929.72270066732, - cluster: "A", - label: "1389-A", - degree: 1.2599210498948732, - }, - { - id: "1390", - olabel: "Takayasu_H", - x: -46.59842644373067, - y: 877.2202472632757, - cluster: "B", - label: "1390-B", - degree: 1.2599210498948732, - }, - { - id: "1391", - olabel: "Sato_T", - x: 0.5088171157492529, - y: 894.2103621717108, - cluster: "C", - label: "1391-C", - degree: 1.2599210498948732, - }, - { - id: "1392", - olabel: "Tanaka_R", - x: -283.0436397254365, - y: 843.4067100893997, - cluster: "A", - label: "1392-A", - degree: 0, - }, - { - id: "1393", - olabel: "Tass_P", - x: 514.2970380928703, - y: 756.3969855469172, - cluster: "B", - label: "1393-B", - degree: 1.912931182772389, - }, - { - id: "1394", - olabel: "Weule_M", - x: 565.2607115918124, - y: 756.589303507851, - cluster: "C", - label: "1394-C", - degree: 1.912931182772389, - }, - { - id: "1395", - olabel: "Volkmann_J", - x: 490.39859519254543, - y: 761.6787041594802, - cluster: "A", - label: "1395-A", - degree: 1.912931182772389, - }, - { - id: "1396", - olabel: "Freund_H", - x: 549.7958392773922, - y: 780.4952420985925, - cluster: "B", - label: "1396-B", - degree: 1.912931182772389, - }, - { - id: "1397", - olabel: "Terman_D", - x: -212.80068906103077, - y: 312.9297609533187, - cluster: "C", - label: "1397-C", - degree: 1, - }, - { - id: "1398", - olabel: "Ticos_C", - x: 743.8365541940653, - y: -44.093005333069875, - cluster: "A", - label: "1398-A", - degree: 1.5874010519681994, - }, - { - id: "1399", - olabel: "Rosajr_E", - x: 749.4078850615282, - y: -80.39816127337205, - cluster: "B", - label: "1399-B", - degree: 1.5874010519681994, - }, - { - id: "1400", - olabel: "Pardo_W", - x: 688.5201267508614, - y: -72.81028543062259, - cluster: "C", - label: "1400-C", - degree: 1.5874010519681994, - }, - { - id: "1401", - olabel: "Walkenstein_J", - x: 715.8318829292859, - y: -99.28210139033307, - cluster: "A", - label: "1401-A", - degree: 1.5874010519681994, - }, - { - id: "1402", - olabel: "Monti_M", - x: 703.1991739535541, - y: -39.953623597385615, - cluster: "B", - label: "1402-B", - degree: 1.5874010519681994, - }, - { - id: "1403", - olabel: "Tieri_P", - x: 278.92960810795336, - y: 627.5156955723736, - cluster: "C", - label: "1403-C", - degree: 1.8171205928321397, - }, - { - id: "1404", - olabel: "Valensin_S", - x: 312.87656673446514, - y: 635.8733015392188, - cluster: "A", - label: "1404-A", - degree: 1.8171205928321397, - }, - { - id: "1405", - olabel: "Castellani_G", - x: 303.13134923974036, - y: 605.208219561904, - cluster: "B", - label: "1405-B", - degree: 1.8171205928321397, - }, - { - id: "1406", - olabel: "Remondini_D", - x: 335.3384582217886, - y: 602.9984831235544, - cluster: "C", - label: "1406-C", - degree: 1.8171205928321397, - }, - { - id: "1407", - olabel: "Franceschi_C", - x: 261.01763284228423, - y: 602.046696689004, - cluster: "A", - label: "1407-A", - degree: 1.8171205928321397, - }, - { - id: "1408", - olabel: "Timme_M", - x: -202.21228680461886, - y: 531.1868925004405, - cluster: "B", - label: "1408-B", - degree: 1.2599210498948732, - }, - { - id: "1409", - olabel: "Wolf_F", - x: -177.84830402933292, - y: 576.7882580639924, - cluster: "C", - label: "1409-C", - degree: 1.2599210498948732, - }, - { - id: "1410", - olabel: "Mcintosh_A", - x: 475.46434362143106, - y: -28.464506306137455, - cluster: "A", - label: "1410-A", - degree: 1.4422495703074083, - }, - { - id: "1411", - olabel: "Tornow_S", - x: 821.1302882444369, - y: 810.1521145003578, - cluster: "B", - label: "1411-B", - degree: 1, - }, - { - id: "1412", - olabel: "Kozma_B", - x: 504.7367644705585, - y: 559.646018972351, - cluster: "C", - label: "1412-C", - degree: 1.5874010519681994, - }, - { - id: "1413", - olabel: "Hengartner_N", - x: 545.9582187608937, - y: 499.94292037346605, - cluster: "A", - label: "1413-A", - degree: 1.5874010519681994, - }, - { - id: "1414", - olabel: "Korniss_G", - x: 522.9094816615604, - y: 532.9595909942112, - cluster: "B", - label: "1414-B", - degree: 1.5874010519681994, - }, - { - id: "1415", - olabel: "Torres_J", - x: 574.1918630730657, - y: 148.57737244730077, - cluster: "C", - label: "1415-C", - degree: 1.4422495703074083, - }, - { - id: "1416", - olabel: "Garrido_P", - x: 511.7268676024454, - y: 138.6647971496395, - cluster: "A", - label: "1416-A", - degree: 1.4422495703074083, - }, - { - id: "1417", - olabel: "Travers_J", - x: 706.0889385184215, - y: 1037.3464914323486, - cluster: "B", - label: "1417-B", - degree: 1, - }, - { - id: "1418", - olabel: "Dealbuquerque_M", - x: 221.34187518604418, - y: 1077.095961734139, - cluster: "C", - label: "1418-C", - degree: 1, - }, - { - id: "1419", - olabel: "Tsodyks_M", - x: 855.3184748452728, - y: 973.6370269567849, - cluster: "A", - label: "1419-A", - degree: 1.4422495703074083, - }, - { - id: "1420", - olabel: "Kenet_T", - x: 830.6526810350434, - y: 935.6530186815929, - cluster: "B", - label: "1420-B", - degree: 1.4422495703074083, - }, - { - id: "1421", - olabel: "Grinvald_A", - x: 871.3658201394311, - y: 914.2919929347034, - cluster: "C", - label: "1421-C", - degree: 1.4422495703074083, - }, - { - id: "1422", - olabel: "Arieli_A", - x: 891.7220864048217, - y: 950.7974528552575, - cluster: "A", - label: "1422-A", - degree: 1.4422495703074083, - }, - { - id: "1423", - olabel: "Tyler_J", - x: 183.31241832863745, - y: 934.8995413739129, - cluster: "B", - label: "1423-B", - degree: 1.2599210498948732, - }, - { - id: "1424", - olabel: "Wilkinson_D", - x: 140.16104272783068, - y: 965.1108933951797, - cluster: "C", - label: "1424-C", - degree: 1.2599210498948732, - }, - { - id: "1425", - olabel: "Tyson_J", - x: 909.5051238243404, - y: 785.7130145221872, - cluster: "A", - label: "1425-A", - degree: 1.2599210498948732, - }, - { - id: "1426", - olabel: "Csikasznage_A", - x: 951.7003653182984, - y: 751.4820260969304, - cluster: "B", - label: "1426-B", - degree: 1.2599210498948732, - }, - { - id: "1427", - olabel: "Novak_B", - x: 901.7147114985172, - y: 735.6910262030128, - cluster: "C", - label: "1427-C", - degree: 1.2599210498948732, - }, - { - id: "1428", - olabel: "Uetz_P", - x: 820.5778409037904, - y: 635.8646289819011, - cluster: "A", - label: "1428-A", - degree: 2.7144176165949063, - }, - { - id: "1429", - olabel: "Cagney_G", - x: 810.1649472494519, - y: 620.9887562828935, - cluster: "B", - label: "1429-B", - degree: 2.7144176165949063, - }, - { - id: "1430", - olabel: "Mansfield_T", - x: 809.1192046213702, - y: 591.1843414394947, - cluster: "C", - label: "1430-C", - degree: 2.7144176165949063, - }, - { - id: "1431", - olabel: "Judson_R", - x: 828.684885281008, - y: 615.4619855026789, - cluster: "A", - label: "1431-A", - degree: 2.668401648721945, - }, - { - id: "1432", - olabel: "Knight_J", - x: 825.9474533884386, - y: 578.942688470704, - cluster: "B", - label: "1432-B", - degree: 2.668401648721945, - }, - { - id: "1433", - olabel: "Lockshon_D", - x: 782.4416830853389, - y: 585.0358880632468, - cluster: "C", - label: "1433-C", - degree: 2.668401648721945, - }, - { - id: "1434", - olabel: "Narayan_V", - x: 753.3823961640347, - y: 592.0889704975613, - cluster: "A", - label: "1434-A", - degree: 2.668401648721945, - }, - { - id: "1435", - olabel: "Srinivasan_M", - x: 785.5725317022186, - y: 649.0445763553669, - cluster: "B", - label: "1435-B", - degree: 2.668401648721945, - }, - { - id: "1436", - olabel: "Pochart_P", - x: 830.3530330788392, - y: 597.3884643934061, - cluster: "C", - label: "1436-C", - degree: 2.668401648721945, - }, - { - id: "1437", - olabel: "Qureshiemili_A", - x: 793.3106120172156, - y: 605.0839329204383, - cluster: "A", - label: "1437-A", - degree: 2.668401648721945, - }, - { - id: "1438", - olabel: "Li_Y", - x: 770.2354162514121, - y: 608.3365859039427, - cluster: "B", - label: "1438-B", - degree: 2.668401648721945, - }, - { - id: "1439", - olabel: "Godwin_B", - x: 776.5320284374103, - y: 565.787551056688, - cluster: "C", - label: "1439-C", - degree: 2.668401648721945, - }, - { - id: "1440", - olabel: "Conover_D", - x: 767.9963289097728, - y: 641.6377140768475, - cluster: "A", - label: "1440-A", - degree: 2.668401648721945, - }, - { - id: "1441", - olabel: "Kalbfleisch_T", - x: 794.9588385800797, - y: 564.2247276349464, - cluster: "B", - label: "1441-B", - degree: 2.668401648721945, - }, - { - id: "1442", - olabel: "Vijayadamodar_G", - x: 749.4202515602348, - y: 610.2778208397676, - cluster: "C", - label: "1442-C", - degree: 2.668401648721945, - }, - { - id: "1443", - olabel: "Yang_M", - x: 760.8695280592115, - y: 576.3552629029662, - cluster: "A", - label: "1443-A", - degree: 2.668401648721945, - }, - { - id: "1444", - olabel: "Johnston_M", - x: 785.019947110987, - y: 627.960498308853, - cluster: "B", - label: "1444-B", - degree: 2.668401648721945, - }, - { - id: "1445", - olabel: "Fields_S", - x: 811.6784135493951, - y: 567.5421899897514, - cluster: "C", - label: "1445-C", - degree: 2.668401648721945, - }, - { - id: "1446", - olabel: "Rothberg_J", - x: 803.3034973162937, - y: 645.9736736466821, - cluster: "A", - label: "1446-A", - degree: 2.668401648721945, - }, - { - id: "1447", - olabel: "Glot_L", - x: 859.9099580064402, - y: 598.4546484989396, - cluster: "B", - label: "1447-B", - degree: 1.4422495703074083, - }, - { - id: "1448", - olabel: "Valente_T", - x: 985.311234562736, - y: 483.3640303615157, - cluster: "C", - label: "1448-C", - degree: 1, - }, - { - id: "1449", - olabel: "Foreman_R", - x: 958.3212720177626, - y: 526.3113813866096, - cluster: "A", - label: "1449-A", - degree: 1, - }, - { - id: "1450", - olabel: "Cancho_R", - x: 520.3716568023906, - y: 381.2830895714408, - cluster: "B", - label: "1450-B", - degree: 1.2599210498948732, - }, - { - id: "1451", - olabel: "Vannucchi_F", - x: 639.6523293594254, - y: 624.6128594993168, - cluster: "C", - label: "1451-C", - degree: 1, - }, - { - id: "1452", - olabel: "Vanputten_M", - x: 1181.2454163922287, - y: 608.2133921459327, - cluster: "A", - label: "1452-A", - degree: 1, - }, - { - id: "1453", - olabel: "Vanvreeswijk_C", - x: 122.09305525293273, - y: -83.52162374030064, - cluster: "B", - label: "1453-B", - degree: 1, - }, - { - id: "1454", - olabel: "Vanwiggeren_G", - x: -84.02291190875034, - y: 96.12978292458754, - cluster: "C", - label: "1454-C", - degree: 1, - }, - { - id: "1455", - olabel: "Varela_F", - x: 776.8783251977621, - y: -80.79033460666547, - cluster: "A", - label: "1455-A", - degree: 1.4422495703074083, - }, - { - id: "1456", - olabel: "Lachaux_J", - x: 738.8722320225668, - y: -104.84468022761112, - cluster: "B", - label: "1456-B", - degree: 1.4422495703074083, - }, - { - id: "1457", - olabel: "Rodriguez_E", - x: 797.4208530687123, - y: -118.85609348025304, - cluster: "C", - label: "1457-C", - degree: 1.4422495703074083, - }, - { - id: "1458", - olabel: "Martinerie_J", - x: 760.199981434645, - y: -144.02133772936395, - cluster: "A", - label: "1458-A", - degree: 1.4422495703074083, - }, - { - id: "1459", - olabel: "Flammini_A", - x: 708.4770967245252, - y: 390.4233999502212, - cluster: "B", - label: "1459-B", - degree: 1.4422495703074083, - }, - { - id: "1460", - olabel: "Vazquez_F", - x: 466.6310038319758, - y: 451.2300920640087, - cluster: "C", - label: "1460-C", - degree: 1.2599210498948732, - }, - { - id: "1461", - olabel: "Venkatesh_S", - x: 1168.821579565573, - y: 212.14661561022538, - cluster: "A", - label: "1461-A", - degree: 0, - }, - { - id: "1462", - olabel: "Verdasca_J", - x: 515.1217377472609, - y: -359.01410574695035, - cluster: "B", - label: "1462-B", - degree: 0, - }, - { - id: "1463", - olabel: "Vezoli_J", - x: 249.20973027011493, - y: -15.444572237709124, - cluster: "C", - label: "1463-C", - degree: 1.709975946676697, - }, - { - id: "1464", - olabel: "Falchier_A", - x: 220.47150019857057, - y: -31.045141229840272, - cluster: "A", - label: "1464-A", - degree: 1.709975946676697, - }, - { - id: "1465", - olabel: "Knoblauch_K", - x: 274.36284076296124, - y: -69.4183449760755, - cluster: "B", - label: "1465-B", - degree: 1.709975946676697, - }, - { - id: "1466", - olabel: "Kennedy_H", - x: 250.37608117700935, - y: -84.56518343442477, - cluster: "C", - label: "1466-C", - degree: 1.709975946676697, - }, - { - id: "1467", - olabel: "Czirok_A", - x: 342.570974191294, - y: 219.79275981567156, - cluster: "A", - label: "1467-A", - degree: 1.5874010519681994, - }, - { - id: "1468", - olabel: "Cohen_I", - x: 282.035980374231, - y: 231.35605668858514, - cluster: "B", - label: "1468-B", - degree: 1.5874010519681994, - }, - { - id: "1469", - olabel: "Shochet_O", - x: 312.68540544243285, - y: 239.37295841877975, - cluster: "C", - label: "1469-C", - degree: 1.5874010519681994, - }, - { - id: "1470", - olabel: "Vogelstein_B", - x: -188.70544721002247, - y: -17.92388090912381, - cluster: "A", - label: "1470-A", - degree: 1.2599210498948732, - }, - { - id: "1471", - olabel: "Lane_D", - x: -153.2924482210544, - y: -55.985563902445456, - cluster: "B", - label: "1471-B", - degree: 1.2599210498948732, - }, - { - id: "1472", - olabel: "Levine_A", - x: -204.42835900121173, - y: -67.7370158667366, - cluster: "C", - label: "1472-C", - degree: 1.2599210498948732, - }, - { - id: "1473", - olabel: "Vogels_W", - x: 1012.5955834368967, - y: 789.7280809709374, - cluster: "A", - label: "1473-A", - degree: 1.2599210498948732, - }, - { - id: "1474", - olabel: "Vanrenesse_R", - x: 1057.9463932534381, - y: 811.6772807498763, - cluster: "B", - label: "1474-B", - degree: 1.2599210498948732, - }, - { - id: "1475", - olabel: "Birman_K", - x: 1014.6498478131542, - y: 841.0028505605017, - cluster: "C", - label: "1475-C", - degree: 1.2599210498948732, - }, - { - id: "1476", - olabel: "Volchenkov_D", - x: -168.91721841884734, - y: 116.01604036316562, - cluster: "A", - label: "1476-A", - degree: 1.2599210498948732, - }, - { - id: "1477", - olabel: "Volchenkova_L", - x: -205.2542166100671, - y: 168.210968212517, - cluster: "B", - label: "1477-B", - degree: 1.2599210498948732, - }, - { - id: "1478", - olabel: "Vonneumann_J", - x: 1031.6738961252897, - y: 20.97152141991892, - cluster: "C", - label: "1478-C", - degree: 1, - }, - { - id: "1479", - olabel: "Morgenstern_O", - x: 1067.791006195846, - y: -14.94464020906245, - cluster: "A", - label: "1479-A", - degree: 1, - }, - { - id: "1480", - olabel: "Vragovic_I", - x: 701.0013270813754, - y: 287.6919620841905, - cluster: "B", - label: "1480-B", - degree: 1.2599210498948732, - }, - { - id: "1481", - olabel: "Louis_E", - x: 660.8829831826201, - y: 261.74581659572203, - cluster: "C", - label: "1481-C", - degree: 1.2599210498948732, - }, - { - id: "1482", - olabel: "Vukadinovic_D", - x: 0.7560944448772454, - y: -127.39877284572182, - cluster: "A", - label: "1482-A", - degree: 1.2599210498948732, - }, - { - id: "1483", - olabel: "Huang_P", - x: 1.0352264106215707, - y: -178.34340901960744, - cluster: "B", - label: "1483-B", - degree: 1.2599210498948732, - }, - { - id: "1484", - olabel: "Erlebach_T", - x: 46.27887608074742, - y: -152.64603669977373, - cluster: "C", - label: "1484-C", - degree: 1.2599210498948732, - }, - { - id: "1485", - olabel: "Vukmirovic_O", - x: -177.46157450047872, - y: -136.8240215910876, - cluster: "A", - label: "1485-A", - degree: 1, - }, - { - id: "1486", - olabel: "Tilghman_S", - x: -137.28490207138165, - y: -167.8420521168059, - cluster: "B", - label: "1486-B", - degree: 1, - }, - { - id: "1487", - olabel: "Wall_M", - x: -27.931113046873964, - y: 212.60482591041423, - cluster: "C", - label: "1487-C", - degree: 1.2599210498948732, - }, - { - id: "1488", - olabel: "Hiavacek_W", - x: -57.18338164011164, - y: 172.16770381911584, - cluster: "A", - label: "1488-A", - degree: 1.2599210498948732, - }, - { - id: "1489", - olabel: "Walsh_T", - x: 1106.8209470826398, - y: -3.777369739412433, - cluster: "B", - label: "1489-B", - degree: 0, - }, - { - id: "1490", - olabel: "Wang_B", - x: 841.8078212149302, - y: 347.219132444759, - cluster: "C", - label: "1490-C", - degree: 1.709975946676697, - }, - { - id: "1491", - olabel: "Zhang_F", - x: 848.7295659183288, - y: 400.5711059335642, - cluster: "A", - label: "1491-A", - degree: 1, - }, - { - id: "1492", - olabel: "Wang_J", - x: 867.6630993085893, - y: 319.3315174150096, - cluster: "B", - label: "1492-B", - degree: 1.709975946676697, - }, - { - id: "1493", - olabel: "Dewilde_P", - x: 900.0446228652303, - y: 360.37586331699623, - cluster: "C", - label: "1493-C", - degree: 1, - }, - { - id: "1494", - olabel: "Wang_S", - x: -305.99993622970646, - y: 439.9835445351312, - cluster: "A", - label: "1494-A", - degree: 1, - }, - { - id: "1495", - olabel: "Zhang_C", - x: -324.8775431745042, - y: 392.31955963449855, - cluster: "B", - label: "1495-B", - degree: 1, - }, - { - id: "1496", - olabel: "Xu_J", - x: -14.22230018210676, - y: 751.1869205324257, - cluster: "C", - label: "1496-C", - degree: 1, - }, - { - id: "1497", - olabel: "Pattison_P", - x: -1.4999433912904367, - y: 630.4129356376205, - cluster: "A", - label: "1497-A", - degree: 1, - }, - { - id: "1498", - olabel: "Waxman_B", - x: 481.1425119497816, - y: 1198.1845833779555, - cluster: "B", - label: "1498-B", - degree: 0, - }, - { - id: "1499", - olabel: "Weeks_M", - x: 329.4662109214526, - y: 1086.0738568608974, - cluster: "C", - label: "1499-C", - degree: 1.5874010519681994, - }, - { - id: "1500", - olabel: "Clair_S", - x: 327.94395173567966, - y: 1022.9361369714202, - cluster: "A", - label: "1500-A", - degree: 1.5874010519681994, - }, - { - id: "1501", - olabel: "Radda_K", - x: 290.20610400728236, - y: 1031.9213676548025, - cluster: "B", - label: "1501-B", - degree: 1.5874010519681994, - }, - { - id: "1502", - olabel: "Schensul_J", - x: 350.3575560215585, - y: 1052.472808852806, - cluster: "C", - label: "1502-C", - degree: 1.5874010519681994, - }, - { - id: "1503", - olabel: "Wellman_B", - x: 199.275910280617, - y: 677.077692088309, - cluster: "A", - label: "1503-A", - degree: 1.912931182772389, - }, - { - id: "1504", - olabel: "Salaff_J", - x: 245.38304444390536, - y: 724.1906626810148, - cluster: "B", - label: "1504-B", - degree: 1.709975946676697, - }, - { - id: "1505", - olabel: "Dimitrova_D", - x: 226.14579964944116, - y: 700.4295561928059, - cluster: "C", - label: "1505-C", - degree: 1.709975946676697, - }, - { - id: "1506", - olabel: "Garton_L", - x: 229.5420688400016, - y: 653.4795939783666, - cluster: "A", - label: "1506-A", - degree: 1.709975946676697, - }, - { - id: "1507", - olabel: "Gulia_M", - x: 273.66230607058066, - y: 699.3606972801871, - cluster: "B", - label: "1507-B", - degree: 1.709975946676697, - }, - { - id: "1508", - olabel: "Haythornthwaite_C", - x: 262.8505549316972, - y: 667.6932608097626, - cluster: "C", - label: "1508-C", - degree: 1.709975946676697, - }, - { - id: "1509", - olabel: "West_D", - x: -159.73456320096292, - y: 961.3142659891028, - cluster: "A", - label: "1509-A", - degree: 0, - }, - { - id: "1510", - olabel: "West_G", - x: -254.1118645935833, - y: -25.100955606919893, - cluster: "B", - label: "1510-B", - degree: 1.2599210498948732, - }, - { - id: "1511", - olabel: "Brown_J", - x: -202.99087490438671, - y: -34.334104018727295, - cluster: "C", - label: "1511-C", - degree: 1.2599210498948732, - }, - { - id: "1512", - olabel: "Enquist_B", - x: -220.34087193835524, - y: 14.189283247987234, - cluster: "A", - label: "1512-A", - degree: 1.2599210498948732, - }, - { - id: "1513", - olabel: "Nazer_N", - x: 242.4724951229478, - y: 669.9648682807973, - cluster: "B", - label: "1513-B", - degree: 1.2599210498948732, - }, - { - id: "1514", - olabel: "Southgate_E", - x: 905.9893779236724, - y: 378.2275592024797, - cluster: "C", - label: "1514-C", - degree: 1.4422495703074083, - }, - { - id: "1515", - olabel: "Thompson_J", - x: 953.173496675415, - y: 331.95400612107386, - cluster: "A", - label: "1515-A", - degree: 1.4422495703074083, - }, - { - id: "1516", - olabel: "Brenner_S", - x: 949.1888382023305, - y: 376.2020645269619, - cluster: "B", - label: "1516-B", - degree: 1.4422495703074083, - }, - { - id: "1517", - olabel: "Whittington_M", - x: -284.27429837695115, - y: 106.49740888692794, - cluster: "C", - label: "1517-C", - degree: 1.5874010519681994, - }, - { - id: "1518", - olabel: "Traub_R", - x: -311.6576491096879, - y: 123.83092656288467, - cluster: "A", - label: "1518-A", - degree: 1.5874010519681994, - }, - { - id: "1519", - olabel: "Buhl_E", - x: -295.8009239169063, - y: 72.79123097829094, - cluster: "B", - label: "1519-B", - degree: 1.5874010519681994, - }, - { - id: "1520", - olabel: "Winfree_A", - x: 978.6046405593835, - y: 16.00545828138897, - cluster: "C", - label: "1520-C", - degree: 0, - }, - { - id: "1521", - olabel: "Winful_H", - x: 620.0223919441751, - y: 1146.2250007163152, - cluster: "A", - label: "1521-A", - degree: 1, - }, - { - id: "1522", - olabel: "Rahman_L", - x: 576.0831551315167, - y: 1172.3674925711052, - cluster: "B", - label: "1522-B", - degree: 1, - }, - { - id: "1523", - olabel: "Wolfram_S", - x: 1153.7461372015716, - y: 126.21497456786271, - cluster: "C", - label: "1523-C", - degree: 0, - }, - { - id: "1524", - olabel: "Wood_A", - x: -261.6568266931903, - y: 637.1671170722104, - cluster: "A", - label: "1524-A", - degree: 1, - }, - { - id: "1525", - olabel: "Wollenberg_B", - x: -272.25973462964544, - y: 687.083632775752, - cluster: "B", - label: "1525-B", - degree: 1, - }, - { - id: "1526", - olabel: "Woolf_M", - x: -217.0488521354785, - y: 909.4718527069724, - cluster: "C", - label: "1526-C", - degree: 0, - }, - { - id: "1527", - olabel: "Wormald_N", - x: -203.92673609116855, - y: -138.75838180736488, - cluster: "A", - label: "1527-A", - degree: 0, - }, - { - id: "1528", - olabel: "Wuchty_S", - x: 304.10963709457684, - y: 452.4577359065845, - cluster: "B", - label: "1528-B", - degree: 1.2599210498948732, - }, - { - id: "1529", - olabel: "Wu_C", - x: 664.568718770628, - y: -312.7592145237841, - cluster: "C", - label: "1529-C", - degree: 1, - }, - { - id: "1530", - olabel: "Chua_L", - x: 615.5867323581049, - y: -325.99528591736413, - cluster: "A", - label: "1530-A", - degree: 1, - }, - { - id: "1531", - olabel: "Wu_F", - x: 155.09022413148688, - y: 1024.5785663931626, - cluster: "B", - label: "1531-B", - degree: 1, - }, - { - id: "1532", - olabel: "Rice_D", - x: 405.2989781393463, - y: -234.79695682615395, - cluster: "C", - label: "1532-C", - degree: 1.709975946676697, - }, - { - id: "1533", - olabel: "Salwinski_L", - x: 432.64409374519596, - y: -258.58985274994734, - cluster: "A", - label: "1533-A", - degree: 1.709975946676697, - }, - { - id: "1534", - olabel: "Baron_M", - x: 412.26680811381794, - y: -201.57037344594468, - cluster: "B", - label: "1534-B", - degree: 1.709975946676697, - }, - { - id: "1535", - olabel: "Xulvibrunet_R", - x: -18.43348742635937, - y: 252.4630823776591, - cluster: "C", - label: "1535-C", - degree: 1, - }, - { - id: "1536", - olabel: "Yang_K", - x: 859.8529001149254, - y: -31.40991918962167, - cluster: "A", - label: "1536-A", - degree: 1.2599210498948732, - }, - { - id: "1537", - olabel: "Huang_L", - x: 809.7835882017991, - y: -45.600383606233365, - cluster: "B", - label: "1537-B", - degree: 1.2599210498948732, - }, - { - id: "1538", - olabel: "Yang_L", - x: 846.3945002821716, - y: -80.80787729729269, - cluster: "C", - label: "1538-C", - degree: 1.2599210498948732, - }, - { - id: "1539", - olabel: "Yan_G", - x: 846.3729824585076, - y: 283.2406901363107, - cluster: "A", - label: "1539-A", - degree: 1.5874010519681994, - }, - { - id: "1540", - olabel: "Zhou_T", - x: 811.9791101168661, - y: 291.49403068603425, - cluster: "B", - label: "1540-B", - degree: 1.5874010519681994, - }, - { - id: "1541", - olabel: "Fu_Z", - x: 809.3077558603541, - y: 328.9336245059641, - cluster: "C", - label: "1541-C", - degree: 1.5874010519681994, - }, - { - id: "1542", - olabel: "Yaoum_Y", - x: -357.65421252806897, - y: 386.2907633053075, - cluster: "A", - label: "1542-A", - degree: 1, - }, - { - id: "1543", - olabel: "Laumann_E", - x: -364.33924179374327, - y: 335.76762739134324, - cluster: "B", - label: "1543-B", - degree: 1, - }, - { - id: "1544", - olabel: "Yehia_A", - x: 74.19155663857333, - y: 975.4959094287007, - cluster: "C", - label: "1544-C", - degree: 1.4422495703074083, - }, - { - id: "1545", - olabel: "Jeandupreux_D", - x: 49.58721340688776, - y: 1033.9984755939806, - cluster: "A", - label: "1545-A", - degree: 1.4422495703074083, - }, - { - id: "1546", - olabel: "Alonso_F", - x: 33.494475096128184, - y: 991.5602321885441, - cluster: "B", - label: "1546-B", - degree: 1.4422495703074083, - }, - { - id: "1547", - olabel: "Guevara_M", - x: 90.00419460403718, - y: 1016.4336449085299, - cluster: "C", - label: "1547-C", - degree: 1.4422495703074083, - }, - { - id: "1548", - olabel: "Yeung_M", - x: 110.31895077129835, - y: 486.49136500138104, - cluster: "A", - label: "1548-A", - degree: 1, - }, - { - id: "1549", - olabel: "Yook_S", - x: 373.9965462939455, - y: 375.83293864173834, - cluster: "B", - label: "1549-B", - degree: 1.5874010519681994, - }, - { - id: "1550", - olabel: "Tu_Y", - x: 323.4910153959432, - y: 370.8436116301482, - cluster: "C", - label: "1550-C", - degree: 1.4422495703074083, - }, - { - id: "1551", - olabel: "Young_H", - x: -72.74646144886425, - y: 502.8363493400757, - cluster: "A", - label: "1551-A", - degree: 0, - }, - { - id: "1552", - olabel: "Sager_J", - x: 239.61134048633568, - y: -35.17078382441316, - cluster: "B", - label: "1552-B", - degree: 1.4422495703074083, - }, - { - id: "1553", - olabel: "Csardi_G", - x: 287.6248123143315, - y: -83.8878259472996, - cluster: "C", - label: "1553-C", - degree: 1.4422495703074083, - }, - { - id: "1554", - olabel: "Haga_P", - x: 242.02963601561916, - y: -77.44462273039262, - cluster: "A", - label: "1554-A", - degree: 1.4422495703074083, - }, - { - id: "1555", - olabel: "Yusong_T", - x: 380.38178764849147, - y: 104.1575100622787, - cluster: "B", - label: "1555-B", - degree: 1.4422495703074083, - }, - { - id: "1556", - olabel: "Lingjiang_K", - x: 448.4256716195015, - y: 89.79420252365527, - cluster: "C", - label: "1556-C", - degree: 1.4422495703074083, - }, - { - id: "1557", - olabel: "Muren_L", - x: 410.0091805332405, - y: 68.36260711686509, - cluster: "A", - label: "1557-A", - degree: 1.4422495703074083, - }, - { - id: "1558", - olabel: "Zachary_W", - x: -17.29764341854622, - y: 1091.4614840625302, - cluster: "B", - label: "1558-B", - degree: 0, - }, - { - id: "1559", - olabel: "Zaks_M", - x: 508.8758004918256, - y: 707.6966875538219, - cluster: "C", - label: "1559-C", - degree: 1.4422495703074083, - }, - { - id: "1560", - olabel: "Park_E", - x: 588.8749453120298, - y: 723.9451442062909, - cluster: "A", - label: "1560-A", - degree: 1.4422495703074083, - }, - { - id: "1561", - olabel: "Zaslaver_A", - x: 910.9162647581741, - y: 103.47234633454451, - cluster: "B", - label: "1561-B", - degree: 1.912931182772389, - }, - { - id: "1562", - olabel: "Mayo_A", - x: 917.8282259939692, - y: 133.2353988794058, - cluster: "C", - label: "1562-C", - degree: 1.912931182772389, - }, - { - id: "1563", - olabel: "Rosenberg_R", - x: 845.1774708246605, - y: 130.25364776591414, - cluster: "A", - label: "1563-A", - degree: 1.912931182772389, - }, - { - id: "1564", - olabel: "Bashkin_P", - x: 888.6510824716646, - y: 136.0558919530898, - cluster: "B", - label: "1564-B", - degree: 1.912931182772389, - }, - { - id: "1565", - olabel: "Sberro_H", - x: 880.5689964873814, - y: 91.13811935501248, - cluster: "C", - label: "1565-C", - degree: 1.912931182772389, - }, - { - id: "1566", - olabel: "Tsalyuk_M", - x: 897.6898630172698, - y: 160.30954126249074, - cluster: "A", - label: "1566-A", - degree: 1.912931182772389, - }, - { - id: "1567", - olabel: "Zekri_N", - x: 122.43770969280197, - y: -353.2660752423397, - cluster: "B", - label: "1567-B", - degree: 1, - }, - { - id: "1568", - olabel: "Clerc_J", - x: 96.89063908179062, - y: -308.9758292711688, - cluster: "C", - label: "1568-C", - degree: 1, - }, - { - id: "1569", - olabel: "Cerdeira_H", - x: 293.17708570563406, - y: 849.3167006244025, - cluster: "A", - label: "1569-A", - degree: 1.709975946676697, - }, - { - id: "1570", - olabel: "Chen_S", - x: 309.3734791586466, - y: 812.6597462596304, - cluster: "B", - label: "1570-B", - degree: 1.709975946676697, - }, - { - id: "1571", - olabel: "Braun_T", - x: 363.0366241808294, - y: 832.788211992535, - cluster: "C", - label: "1571-C", - degree: 1.709975946676697, - }, - { - id: "1572", - olabel: "Yao_Y", - x: 352.1285372334189, - y: 870.4274848906838, - cluster: "A", - label: "1572-A", - degree: 1.709975946676697, - }, - { - id: "1573", - olabel: "Zhan_M", - x: 280.3817937988482, - y: 819.6640217061573, - cluster: "B", - label: "1573-B", - degree: 1.2599210498948732, - }, - { - id: "1574", - olabel: "Zheng_D", - x: 1119.1369173597618, - y: 474.8300709125183, - cluster: "C", - label: "1574-C", - degree: 1.4422495703074083, - }, - { - id: "1575", - olabel: "Trimper_S", - x: 1135.357539079852, - y: 434.91794909937664, - cluster: "A", - label: "1575-A", - degree: 1.4422495703074083, - }, - { - id: "1576", - olabel: "Zheng_B", - x: 1076.869733901138, - y: 457.43266277039146, - cluster: "B", - label: "1576-B", - degree: 1.4422495703074083, - }, - { - id: "1577", - olabel: "Hui_P", - x: 1094.2551055871108, - y: 415.9444900262741, - cluster: "C", - label: "1577-C", - degree: 1.4422495703074083, - }, - { - id: "1578", - olabel: "Zheng_Z", - x: 377.69322091740486, - y: 861.3956185678643, - cluster: "A", - label: "1578-A", - degree: 1.2599210498948732, - }, - { - id: "1579", - olabel: "Zhongbao_K", - x: 709.9153809507998, - y: 721.4466017350761, - cluster: "B", - label: "1579-B", - degree: 1, - }, - { - id: "1580", - olabel: "Changshui_Z", - x: 684.7941367320393, - y: 766.160340878579, - cluster: "C", - label: "1580-C", - degree: 1, - }, - { - id: "1581", - olabel: "Zhou_H", - x: 723.5150359622728, - y: 1099.7208501569273, - cluster: "A", - label: "1581-A", - degree: 0, - }, - { - id: "1582", - olabel: "Zhou_S", - x: 538.6582127863875, - y: 1161.2457719044512, - cluster: "B", - label: "1582-B", - degree: 1, - }, - { - id: "1583", - olabel: "Mondragon_R", - x: 584.5892599572345, - y: 1138.350272922631, - cluster: "C", - label: "1583-C", - degree: 1, - }, - { - id: "1584", - olabel: "Zhu_H", - x: -173.59381078952205, - y: 917.907463585361, - cluster: "A", - label: "1584-A", - degree: 1.2599210498948732, - }, - { - id: "1585", - olabel: "Huang_Z", - x: -191.0004804678243, - y: 868.500938920181, - cluster: "B", - label: "1585-B", - degree: 1, - }, - { - id: "1586", - olabel: "Zhu_J", - x: -138.34259093567923, - y: 957.0415153077747, - cluster: "C", - label: "1586-C", - degree: 1, - }, - { - id: "1587", - olabel: "Zimmermann_M", - x: 286.49994208770687, - y: 17.237641560377643, - cluster: "A", - label: "1587-A", - degree: 1.2599210498948732, - }, - { - id: "1588", - olabel: "Abramson_G", - x: 26.466621923787905, - y: -17.464176537545743, - cluster: "B", - label: "1588-B", - degree: 1.2599210498948732, - }, - ], - edges: [ - { - source: "0", - target: "1588", - cluster: "B", - label: "B", - color: "#333", - id: "edge1", - }, - { - source: "2", - target: "1", - cluster: "A", - label: "A", - color: "#333", - id: "edge2", - }, - { - source: "3", - target: "1", - cluster: "B", - label: "B", - color: "#333", - id: "edge3", - }, - { - source: "3", - target: "2", - cluster: "C", - label: "C", - color: "#333", - id: "edge4", - }, - { - source: "4", - target: "1", - cluster: "C", - label: "C", - color: "#333", - id: "edge5", - }, - { - source: "4", - target: "2", - cluster: "A", - label: "A", - color: "#333", - id: "edge6", - }, - { - source: "4", - target: "3", - cluster: "B", - label: "B", - color: "#333", - id: "edge7", - }, - { - source: "5", - target: "1", - cluster: "A", - label: "A", - color: "#333", - id: "edge8", - }, - { - source: "5", - target: "2", - cluster: "B", - label: "B", - color: "#333", - id: "edge9", - }, - { - source: "5", - target: "3", - cluster: "C", - label: "C", - color: "#333", - id: "edge10", - }, - { - source: "5", - target: "4", - cluster: "A", - label: "A", - color: "#333", - id: "edge11", - }, - { - source: "7", - target: "6", - cluster: "B", - label: "B", - color: "#333", - id: "edge12", - }, - { - source: "8", - target: "6", - cluster: "C", - label: "C", - color: "#333", - id: "edge13", - }, - { - source: "9", - target: "6", - cluster: "A", - label: "A", - color: "#333", - id: "edge14", - }, - { - source: "9", - target: "8", - cluster: "C", - label: "C", - color: "#333", - id: "edge15", - }, - { - source: "10", - target: "6", - cluster: "B", - label: "B", - color: "#333", - id: "edge16", - }, - { - source: "10", - target: "9", - cluster: "B", - label: "B", - color: "#333", - id: "edge17", - }, - { - source: "10", - target: "8", - cluster: "A", - label: "A", - color: "#333", - id: "edge18", - }, - { - source: "12", - target: "11", - cluster: "C", - label: "C", - color: "#333", - id: "edge19", - }, - { - source: "13", - target: "11", - cluster: "A", - label: "A", - color: "#333", - id: "edge20", - }, - { - source: "13", - target: "12", - cluster: "B", - label: "B", - color: "#333", - id: "edge21", - }, - { - source: "14", - target: "11", - cluster: "B", - label: "B", - color: "#333", - id: "edge22", - }, - { - source: "14", - target: "12", - cluster: "C", - label: "C", - color: "#333", - id: "edge23", - }, - { - source: "14", - target: "13", - cluster: "A", - label: "A", - color: "#333", - id: "edge24", - }, - { - source: "16", - target: "15", - cluster: "B", - label: "B", - color: "#333", - id: "edge25", - }, - { - source: "17", - target: "15", - cluster: "C", - label: "C", - color: "#333", - id: "edge26", - }, - { - source: "17", - target: "16", - cluster: "A", - label: "A", - color: "#333", - id: "edge27", - }, - { - source: "20", - target: "19", - cluster: "A", - label: "A", - color: "#333", - id: "edge28", - }, - { - source: "21", - target: "19", - cluster: "B", - label: "B", - color: "#333", - id: "edge29", - }, - { - source: "21", - target: "20", - cluster: "C", - label: "C", - color: "#333", - id: "edge30", - }, - { - source: "23", - target: "22", - cluster: "A", - label: "A", - color: "#333", - id: "edge31", - }, - { - source: "24", - target: "22", - cluster: "B", - label: "B", - color: "#333", - id: "edge32", - }, - { - source: "24", - target: "23", - cluster: "C", - label: "C", - color: "#333", - id: "edge33", - }, - { - source: "27", - target: "26", - cluster: "C", - label: "C", - color: "#333", - id: "edge34", - }, - { - source: "28", - target: "26", - cluster: "A", - label: "A", - color: "#333", - id: "edge35", - }, - { - source: "28", - target: "27", - cluster: "B", - label: "B", - color: "#333", - id: "edge36", - }, - { - source: "30", - target: "29", - cluster: "C", - label: "C", - color: "#333", - id: "edge37", - }, - { - source: "31", - target: "29", - cluster: "A", - label: "A", - color: "#333", - id: "edge38", - }, - { - source: "31", - target: "30", - cluster: "B", - label: "B", - color: "#333", - id: "edge39", - }, - { - source: "32", - target: "29", - cluster: "B", - label: "B", - color: "#333", - id: "edge40", - }, - { - source: "33", - target: "29", - cluster: "C", - label: "C", - color: "#333", - id: "edge41", - }, - { - source: "33", - target: "32", - cluster: "C", - label: "C", - color: "#333", - id: "edge42", - }, - { - source: "35", - target: "34", - cluster: "A", - label: "A", - color: "#333", - id: "edge43", - }, - { - source: "36", - target: "34", - cluster: "B", - label: "B", - color: "#333", - id: "edge44", - }, - { - source: "36", - target: "35", - cluster: "C", - label: "C", - color: "#333", - id: "edge45", - }, - { - source: "37", - target: "34", - cluster: "C", - label: "C", - color: "#333", - id: "edge46", - }, - { - source: "37", - target: "35", - cluster: "A", - label: "A", - color: "#333", - id: "edge47", - }, - { - source: "37", - target: "36", - cluster: "B", - label: "B", - color: "#333", - id: "edge48", - }, - { - source: "38", - target: "34", - cluster: "A", - label: "A", - color: "#333", - id: "edge49", - }, - { - source: "38", - target: "35", - cluster: "B", - label: "B", - color: "#333", - id: "edge50", - }, - { - source: "38", - target: "36", - cluster: "C", - label: "C", - color: "#333", - id: "edge51", - }, - { - source: "38", - target: "37", - cluster: "A", - label: "A", - color: "#333", - id: "edge52", - }, - { - source: "39", - target: "34", - cluster: "B", - label: "B", - color: "#333", - id: "edge53", - }, - { - source: "39", - target: "35", - cluster: "C", - label: "C", - color: "#333", - id: "edge54", - }, - { - source: "39", - target: "36", - cluster: "A", - label: "A", - color: "#333", - id: "edge55", - }, - { - source: "39", - target: "37", - cluster: "B", - label: "B", - color: "#333", - id: "edge56", - }, - { - source: "39", - target: "38", - cluster: "C", - label: "C", - color: "#333", - id: "edge57", - }, - { - source: "42", - target: "41", - cluster: "C", - label: "C", - color: "#333", - id: "edge58", - }, - { - source: "44", - target: "43", - cluster: "A", - label: "A", - color: "#333", - id: "edge59", - }, - { - source: "45", - target: "43", - cluster: "B", - label: "B", - color: "#333", - id: "edge60", - }, - { - source: "45", - target: "44", - cluster: "C", - label: "C", - color: "#333", - id: "edge61", - }, - { - source: "47", - target: "46", - cluster: "A", - label: "A", - color: "#333", - id: "edge62", - }, - { - source: "48", - target: "46", - cluster: "B", - label: "B", - color: "#333", - id: "edge63", - }, - { - source: "48", - target: "47", - cluster: "C", - label: "C", - color: "#333", - id: "edge64", - }, - { - source: "49", - target: "46", - cluster: "C", - label: "C", - color: "#333", - id: "edge65", - }, - { - source: "49", - target: "47", - cluster: "A", - label: "A", - color: "#333", - id: "edge66", - }, - { - source: "49", - target: "48", - cluster: "B", - label: "B", - color: "#333", - id: "edge67", - }, - { - source: "50", - target: "32", - cluster: "B", - label: "B", - color: "#333", - id: "edge68", - }, - { - source: "51", - target: "50", - cluster: "C", - label: "C", - color: "#333", - id: "edge69", - }, - { - source: "51", - target: "32", - cluster: "C", - label: "C", - color: "#333", - id: "edge70", - }, - { - source: "52", - target: "50", - cluster: "A", - label: "A", - color: "#333", - id: "edge71", - }, - { - source: "52", - target: "51", - cluster: "B", - label: "B", - color: "#333", - id: "edge72", - }, - { - source: "52", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge73", - }, - { - source: "52", - target: "33", - cluster: "B", - label: "B", - color: "#333", - id: "edge74", - }, - { - source: "53", - target: "50", - cluster: "B", - label: "B", - color: "#333", - id: "edge75", - }, - { - source: "53", - target: "51", - cluster: "C", - label: "C", - color: "#333", - id: "edge76", - }, - { - source: "53", - target: "52", - cluster: "A", - label: "A", - color: "#333", - id: "edge77", - }, - { - source: "53", - target: "32", - cluster: "B", - label: "B", - color: "#333", - id: "edge78", - }, - { - source: "53", - target: "33", - cluster: "C", - label: "C", - color: "#333", - id: "edge79", - }, - { - source: "53", - target: "29", - cluster: "B", - label: "B", - color: "#333", - id: "edge80", - }, - { - source: "54", - target: "50", - cluster: "C", - label: "C", - color: "#333", - id: "edge81", - }, - { - source: "55", - target: "50", - cluster: "A", - label: "A", - color: "#333", - id: "edge82", - }, - { - source: "55", - target: "54", - cluster: "B", - label: "B", - color: "#333", - id: "edge83", - }, - { - source: "56", - target: "50", - cluster: "B", - label: "B", - color: "#333", - id: "edge84", - }, - { - source: "57", - target: "50", - cluster: "C", - label: "C", - color: "#333", - id: "edge85", - }, - { - source: "57", - target: "56", - cluster: "C", - label: "C", - color: "#333", - id: "edge86", - }, - { - source: "59", - target: "58", - cluster: "A", - label: "A", - color: "#333", - id: "edge87", - }, - { - source: "60", - target: "58", - cluster: "B", - label: "B", - color: "#333", - id: "edge88", - }, - { - source: "60", - target: "59", - cluster: "C", - label: "C", - color: "#333", - id: "edge89", - }, - { - source: "62", - target: "61", - cluster: "A", - label: "A", - color: "#333", - id: "edge90", - }, - { - source: "63", - target: "61", - cluster: "B", - label: "B", - color: "#333", - id: "edge91", - }, - { - source: "63", - target: "62", - cluster: "C", - label: "C", - color: "#333", - id: "edge92", - }, - { - source: "64", - target: "61", - cluster: "C", - label: "C", - color: "#333", - id: "edge93", - }, - { - source: "64", - target: "62", - cluster: "A", - label: "A", - color: "#333", - id: "edge94", - }, - { - source: "64", - target: "63", - cluster: "B", - label: "B", - color: "#333", - id: "edge95", - }, - { - source: "66", - target: "65", - cluster: "C", - label: "C", - color: "#333", - id: "edge96", - }, - { - source: "67", - target: "65", - cluster: "A", - label: "A", - color: "#333", - id: "edge97", - }, - { - source: "67", - target: "66", - cluster: "B", - label: "B", - color: "#333", - id: "edge98", - }, - { - source: "69", - target: "68", - cluster: "C", - label: "C", - color: "#333", - id: "edge99", - }, - { - source: "70", - target: "68", - cluster: "A", - label: "A", - color: "#333", - id: "edge100", - }, - { - source: "70", - target: "69", - cluster: "B", - label: "B", - color: "#333", - id: "edge101", - }, - { - source: "71", - target: "68", - cluster: "B", - label: "B", - color: "#333", - id: "edge102", - }, - { - source: "71", - target: "69", - cluster: "C", - label: "C", - color: "#333", - id: "edge103", - }, - { - source: "71", - target: "70", - cluster: "A", - label: "A", - color: "#333", - id: "edge104", - }, - { - source: "73", - target: "72", - cluster: "B", - label: "B", - color: "#333", - id: "edge105", - }, - { - source: "74", - target: "72", - cluster: "C", - label: "C", - color: "#333", - id: "edge106", - }, - { - source: "74", - target: "73", - cluster: "A", - label: "A", - color: "#333", - id: "edge107", - }, - { - source: "75", - target: "72", - cluster: "A", - label: "A", - color: "#333", - id: "edge108", - }, - { - source: "75", - target: "73", - cluster: "B", - label: "B", - color: "#333", - id: "edge109", - }, - { - source: "75", - target: "74", - cluster: "C", - label: "C", - color: "#333", - id: "edge110", - }, - { - source: "77", - target: "76", - cluster: "A", - label: "A", - color: "#333", - id: "edge111", - }, - { - source: "77", - target: "45", - cluster: "C", - label: "C", - color: "#333", - id: "edge112", - }, - { - source: "78", - target: "76", - cluster: "B", - label: "B", - color: "#333", - id: "edge113", - }, - { - source: "78", - target: "77", - cluster: "C", - label: "C", - color: "#333", - id: "edge114", - }, - { - source: "79", - target: "76", - cluster: "C", - label: "C", - color: "#333", - id: "edge115", - }, - { - source: "79", - target: "77", - cluster: "A", - label: "A", - color: "#333", - id: "edge116", - }, - { - source: "79", - target: "78", - cluster: "B", - label: "B", - color: "#333", - id: "edge117", - }, - { - source: "81", - target: "80", - cluster: "C", - label: "C", - color: "#333", - id: "edge118", - }, - { - source: "82", - target: "80", - cluster: "A", - label: "A", - color: "#333", - id: "edge119", - }, - { - source: "82", - target: "81", - cluster: "B", - label: "B", - color: "#333", - id: "edge120", - }, - { - source: "84", - target: "83", - cluster: "C", - label: "C", - color: "#333", - id: "edge121", - }, - { - source: "85", - target: "83", - cluster: "A", - label: "A", - color: "#333", - id: "edge122", - }, - { - source: "85", - target: "84", - cluster: "B", - label: "B", - color: "#333", - id: "edge123", - }, - { - source: "87", - target: "86", - cluster: "C", - label: "C", - color: "#333", - id: "edge124", - }, - { - source: "89", - target: "54", - cluster: "C", - label: "C", - color: "#333", - id: "edge125", - }, - { - source: "91", - target: "90", - cluster: "B", - label: "B", - color: "#333", - id: "edge126", - }, - { - source: "92", - target: "90", - cluster: "C", - label: "C", - color: "#333", - id: "edge127", - }, - { - source: "92", - target: "91", - cluster: "A", - label: "A", - color: "#333", - id: "edge128", - }, - { - source: "94", - target: "93", - cluster: "B", - label: "B", - color: "#333", - id: "edge129", - }, - { - source: "95", - target: "93", - cluster: "C", - label: "C", - color: "#333", - id: "edge130", - }, - { - source: "95", - target: "94", - cluster: "A", - label: "A", - color: "#333", - id: "edge131", - }, - { - source: "96", - target: "93", - cluster: "A", - label: "A", - color: "#333", - id: "edge132", - }, - { - source: "96", - target: "94", - cluster: "B", - label: "B", - color: "#333", - id: "edge133", - }, - { - source: "96", - target: "95", - cluster: "C", - label: "C", - color: "#333", - id: "edge134", - }, - { - source: "96", - target: "68", - cluster: "C", - label: "C", - color: "#333", - id: "edge135", - }, - { - source: "97", - target: "93", - cluster: "B", - label: "B", - color: "#333", - id: "edge136", - }, - { - source: "97", - target: "94", - cluster: "C", - label: "C", - color: "#333", - id: "edge137", - }, - { - source: "97", - target: "95", - cluster: "A", - label: "A", - color: "#333", - id: "edge138", - }, - { - source: "97", - target: "96", - cluster: "B", - label: "B", - color: "#333", - id: "edge139", - }, - { - source: "98", - target: "93", - cluster: "C", - label: "C", - color: "#333", - id: "edge140", - }, - { - source: "98", - target: "95", - cluster: "B", - label: "B", - color: "#333", - id: "edge141", - }, - { - source: "98", - target: "96", - cluster: "C", - label: "C", - color: "#333", - id: "edge142", - }, - { - source: "99", - target: "93", - cluster: "A", - label: "A", - color: "#333", - id: "edge143", - }, - { - source: "99", - target: "98", - cluster: "C", - label: "C", - color: "#333", - id: "edge144", - }, - { - source: "99", - target: "95", - cluster: "C", - label: "C", - color: "#333", - id: "edge145", - }, - { - source: "99", - target: "96", - cluster: "A", - label: "A", - color: "#333", - id: "edge146", - }, - { - source: "102", - target: "101", - cluster: "C", - label: "C", - color: "#333", - id: "edge147", - }, - { - source: "103", - target: "101", - cluster: "A", - label: "A", - color: "#333", - id: "edge148", - }, - { - source: "103", - target: "102", - cluster: "B", - label: "B", - color: "#333", - id: "edge149", - }, - { - source: "105", - target: "104", - cluster: "C", - label: "C", - color: "#333", - id: "edge150", - }, - { - source: "106", - target: "104", - cluster: "A", - label: "A", - color: "#333", - id: "edge151", - }, - { - source: "106", - target: "105", - cluster: "B", - label: "B", - color: "#333", - id: "edge152", - }, - { - source: "108", - target: "107", - cluster: "C", - label: "C", - color: "#333", - id: "edge153", - }, - { - source: "111", - target: "110", - cluster: "C", - label: "C", - color: "#333", - id: "edge154", - }, - { - source: "113", - target: "112", - cluster: "A", - label: "A", - color: "#333", - id: "edge155", - }, - { - source: "116", - target: "115", - cluster: "A", - label: "A", - color: "#333", - id: "edge156", - }, - { - source: "118", - target: "117", - cluster: "B", - label: "B", - color: "#333", - id: "edge157", - }, - { - source: "120", - target: "119", - cluster: "C", - label: "C", - color: "#333", - id: "edge158", - }, - { - source: "120", - target: "77", - cluster: "C", - label: "C", - color: "#333", - id: "edge159", - }, - { - source: "122", - target: "121", - cluster: "A", - label: "A", - color: "#333", - id: "edge160", - }, - { - source: "123", - target: "121", - cluster: "B", - label: "B", - color: "#333", - id: "edge161", - }, - { - source: "123", - target: "122", - cluster: "C", - label: "C", - color: "#333", - id: "edge162", - }, - { - source: "126", - target: "125", - cluster: "C", - label: "C", - color: "#333", - id: "edge163", - }, - { - source: "127", - target: "125", - cluster: "A", - label: "A", - color: "#333", - id: "edge164", - }, - { - source: "127", - target: "126", - cluster: "B", - label: "B", - color: "#333", - id: "edge165", - }, - { - source: "129", - target: "128", - cluster: "C", - label: "C", - color: "#333", - id: "edge166", - }, - { - source: "130", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge167", - }, - { - source: "130", - target: "29", - cluster: "A", - label: "A", - color: "#333", - id: "edge168", - }, - { - source: "130", - target: "33", - cluster: "B", - label: "B", - color: "#333", - id: "edge169", - }, - { - source: "131", - target: "32", - cluster: "B", - label: "B", - color: "#333", - id: "edge170", - }, - { - source: "131", - target: "33", - cluster: "C", - label: "C", - color: "#333", - id: "edge171", - }, - { - source: "131", - target: "52", - cluster: "A", - label: "A", - color: "#333", - id: "edge172", - }, - { - source: "131", - target: "53", - cluster: "B", - label: "B", - color: "#333", - id: "edge173", - }, - { - source: "132", - target: "32", - cluster: "C", - label: "C", - color: "#333", - id: "edge174", - }, - { - source: "132", - target: "33", - cluster: "A", - label: "A", - color: "#333", - id: "edge175", - }, - { - source: "132", - target: "131", - cluster: "C", - label: "C", - color: "#333", - id: "edge176", - }, - { - source: "132", - target: "52", - cluster: "B", - label: "B", - color: "#333", - id: "edge177", - }, - { - source: "132", - target: "53", - cluster: "C", - label: "C", - color: "#333", - id: "edge178", - }, - { - source: "133", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge179", - }, - { - source: "133", - target: "33", - cluster: "B", - label: "B", - color: "#333", - id: "edge180", - }, - { - source: "133", - target: "131", - cluster: "A", - label: "A", - color: "#333", - id: "edge181", - }, - { - source: "133", - target: "132", - cluster: "B", - label: "B", - color: "#333", - id: "edge182", - }, - { - source: "133", - target: "52", - cluster: "C", - label: "C", - color: "#333", - id: "edge183", - }, - { - source: "133", - target: "53", - cluster: "A", - label: "A", - color: "#333", - id: "edge184", - }, - { - source: "135", - target: "134", - cluster: "C", - label: "C", - color: "#333", - id: "edge185", - }, - { - source: "137", - target: "136", - cluster: "A", - label: "A", - color: "#333", - id: "edge186", - }, - { - source: "139", - target: "138", - cluster: "B", - label: "B", - color: "#333", - id: "edge187", - }, - { - source: "140", - target: "138", - cluster: "C", - label: "C", - color: "#333", - id: "edge188", - }, - { - source: "140", - target: "139", - cluster: "A", - label: "A", - color: "#333", - id: "edge189", - }, - { - source: "141", - target: "138", - cluster: "A", - label: "A", - color: "#333", - id: "edge190", - }, - { - source: "141", - target: "139", - cluster: "B", - label: "B", - color: "#333", - id: "edge191", - }, - { - source: "141", - target: "140", - cluster: "C", - label: "C", - color: "#333", - id: "edge192", - }, - { - source: "142", - target: "138", - cluster: "B", - label: "B", - color: "#333", - id: "edge193", - }, - { - source: "142", - target: "139", - cluster: "C", - label: "C", - color: "#333", - id: "edge194", - }, - { - source: "142", - target: "140", - cluster: "A", - label: "A", - color: "#333", - id: "edge195", - }, - { - source: "142", - target: "141", - cluster: "B", - label: "B", - color: "#333", - id: "edge196", - }, - { - source: "143", - target: "138", - cluster: "C", - label: "C", - color: "#333", - id: "edge197", - }, - { - source: "143", - target: "139", - cluster: "A", - label: "A", - color: "#333", - id: "edge198", - }, - { - source: "143", - target: "140", - cluster: "B", - label: "B", - color: "#333", - id: "edge199", - }, - { - source: "143", - target: "141", - cluster: "C", - label: "C", - color: "#333", - id: "edge200", - }, - { - source: "143", - target: "142", - cluster: "A", - label: "A", - color: "#333", - id: "edge201", - }, - { - source: "144", - target: "138", - cluster: "A", - label: "A", - color: "#333", - id: "edge202", - }, - { - source: "144", - target: "139", - cluster: "B", - label: "B", - color: "#333", - id: "edge203", - }, - { - source: "144", - target: "140", - cluster: "C", - label: "C", - color: "#333", - id: "edge204", - }, - { - source: "144", - target: "141", - cluster: "A", - label: "A", - color: "#333", - id: "edge205", - }, - { - source: "144", - target: "142", - cluster: "B", - label: "B", - color: "#333", - id: "edge206", - }, - { - source: "144", - target: "143", - cluster: "C", - label: "C", - color: "#333", - id: "edge207", - }, - { - source: "145", - target: "138", - cluster: "B", - label: "B", - color: "#333", - id: "edge208", - }, - { - source: "145", - target: "139", - cluster: "C", - label: "C", - color: "#333", - id: "edge209", - }, - { - source: "145", - target: "140", - cluster: "A", - label: "A", - color: "#333", - id: "edge210", - }, - { - source: "145", - target: "141", - cluster: "B", - label: "B", - color: "#333", - id: "edge211", - }, - { - source: "145", - target: "142", - cluster: "C", - label: "C", - color: "#333", - id: "edge212", - }, - { - source: "145", - target: "143", - cluster: "A", - label: "A", - color: "#333", - id: "edge213", - }, - { - source: "145", - target: "144", - cluster: "B", - label: "B", - color: "#333", - id: "edge214", - }, - { - source: "146", - target: "138", - cluster: "C", - label: "C", - color: "#333", - id: "edge215", - }, - { - source: "146", - target: "139", - cluster: "A", - label: "A", - color: "#333", - id: "edge216", - }, - { - source: "146", - target: "140", - cluster: "B", - label: "B", - color: "#333", - id: "edge217", - }, - { - source: "146", - target: "141", - cluster: "C", - label: "C", - color: "#333", - id: "edge218", - }, - { - source: "146", - target: "142", - cluster: "A", - label: "A", - color: "#333", - id: "edge219", - }, - { - source: "146", - target: "143", - cluster: "B", - label: "B", - color: "#333", - id: "edge220", - }, - { - source: "146", - target: "144", - cluster: "C", - label: "C", - color: "#333", - id: "edge221", - }, - { - source: "146", - target: "145", - cluster: "A", - label: "A", - color: "#333", - id: "edge222", - }, - { - source: "147", - target: "138", - cluster: "A", - label: "A", - color: "#333", - id: "edge223", - }, - { - source: "147", - target: "139", - cluster: "B", - label: "B", - color: "#333", - id: "edge224", - }, - { - source: "147", - target: "140", - cluster: "C", - label: "C", - color: "#333", - id: "edge225", - }, - { - source: "147", - target: "141", - cluster: "A", - label: "A", - color: "#333", - id: "edge226", - }, - { - source: "147", - target: "142", - cluster: "B", - label: "B", - color: "#333", - id: "edge227", - }, - { - source: "147", - target: "143", - cluster: "C", - label: "C", - color: "#333", - id: "edge228", - }, - { - source: "147", - target: "144", - cluster: "A", - label: "A", - color: "#333", - id: "edge229", - }, - { - source: "147", - target: "145", - cluster: "B", - label: "B", - color: "#333", - id: "edge230", - }, - { - source: "147", - target: "146", - cluster: "C", - label: "C", - color: "#333", - id: "edge231", - }, - { - source: "148", - target: "70", - cluster: "C", - label: "C", - color: "#333", - id: "edge232", - }, - { - source: "149", - target: "148", - cluster: "A", - label: "A", - color: "#333", - id: "edge233", - }, - { - source: "149", - target: "70", - cluster: "A", - label: "A", - color: "#333", - id: "edge234", - }, - { - source: "149", - target: "95", - cluster: "B", - label: "B", - color: "#333", - id: "edge235", - }, - { - source: "149", - target: "93", - cluster: "C", - label: "C", - color: "#333", - id: "edge236", - }, - { - source: "150", - target: "148", - cluster: "B", - label: "B", - color: "#333", - id: "edge237", - }, - { - source: "150", - target: "70", - cluster: "B", - label: "B", - color: "#333", - id: "edge238", - }, - { - source: "150", - target: "149", - cluster: "C", - label: "C", - color: "#333", - id: "edge239", - }, - { - source: "150", - target: "126", - cluster: "A", - label: "A", - color: "#333", - id: "edge240", - }, - { - source: "151", - target: "148", - cluster: "C", - label: "C", - color: "#333", - id: "edge241", - }, - { - source: "153", - target: "152", - cluster: "C", - label: "C", - color: "#333", - id: "edge242", - }, - { - source: "154", - target: "152", - cluster: "A", - label: "A", - color: "#333", - id: "edge243", - }, - { - source: "154", - target: "153", - cluster: "B", - label: "B", - color: "#333", - id: "edge244", - }, - { - source: "155", - target: "152", - cluster: "B", - label: "B", - color: "#333", - id: "edge245", - }, - { - source: "155", - target: "153", - cluster: "C", - label: "C", - color: "#333", - id: "edge246", - }, - { - source: "155", - target: "154", - cluster: "A", - label: "A", - color: "#333", - id: "edge247", - }, - { - source: "156", - target: "70", - cluster: "B", - label: "B", - color: "#333", - id: "edge248", - }, - { - source: "157", - target: "70", - cluster: "C", - label: "C", - color: "#333", - id: "edge249", - }, - { - source: "157", - target: "156", - cluster: "B", - label: "B", - color: "#333", - id: "edge250", - }, - { - source: "160", - target: "159", - cluster: "B", - label: "B", - color: "#333", - id: "edge251", - }, - { - source: "162", - target: "161", - cluster: "C", - label: "C", - color: "#333", - id: "edge252", - }, - { - source: "164", - target: "163", - cluster: "A", - label: "A", - color: "#333", - id: "edge253", - }, - { - source: "166", - target: "165", - cluster: "B", - label: "B", - color: "#333", - id: "edge254", - }, - { - source: "169", - target: "168", - cluster: "B", - label: "B", - color: "#333", - id: "edge255", - }, - { - source: "170", - target: "168", - cluster: "C", - label: "C", - color: "#333", - id: "edge256", - }, - { - source: "170", - target: "169", - cluster: "A", - label: "A", - color: "#333", - id: "edge257", - }, - { - source: "172", - target: "171", - cluster: "B", - label: "B", - color: "#333", - id: "edge258", - }, - { - source: "173", - target: "171", - cluster: "C", - label: "C", - color: "#333", - id: "edge259", - }, - { - source: "173", - target: "172", - cluster: "A", - label: "A", - color: "#333", - id: "edge260", - }, - { - source: "175", - target: "174", - cluster: "B", - label: "B", - color: "#333", - id: "edge261", - }, - { - source: "176", - target: "174", - cluster: "C", - label: "C", - color: "#333", - id: "edge262", - }, - { - source: "176", - target: "175", - cluster: "A", - label: "A", - color: "#333", - id: "edge263", - }, - { - source: "179", - target: "178", - cluster: "A", - label: "A", - color: "#333", - id: "edge264", - }, - { - source: "180", - target: "178", - cluster: "B", - label: "B", - color: "#333", - id: "edge265", - }, - { - source: "180", - target: "179", - cluster: "C", - label: "C", - color: "#333", - id: "edge266", - }, - { - source: "182", - target: "181", - cluster: "A", - label: "A", - color: "#333", - id: "edge267", - }, - { - source: "183", - target: "54", - cluster: "A", - label: "A", - color: "#333", - id: "edge268", - }, - { - source: "183", - target: "55", - cluster: "B", - label: "B", - color: "#333", - id: "edge269", - }, - { - source: "184", - target: "183", - cluster: "B", - label: "B", - color: "#333", - id: "edge270", - }, - { - source: "185", - target: "183", - cluster: "C", - label: "C", - color: "#333", - id: "edge271", - }, - { - source: "185", - target: "184", - cluster: "A", - label: "A", - color: "#333", - id: "edge272", - }, - { - source: "187", - target: "186", - cluster: "B", - label: "B", - color: "#333", - id: "edge273", - }, - { - source: "188", - target: "186", - cluster: "C", - label: "C", - color: "#333", - id: "edge274", - }, - { - source: "188", - target: "187", - cluster: "A", - label: "A", - color: "#333", - id: "edge275", - }, - { - source: "189", - target: "32", - cluster: "C", - label: "C", - color: "#333", - id: "edge276", - }, - { - source: "190", - target: "45", - cluster: "B", - label: "B", - color: "#333", - id: "edge277", - }, - { - source: "191", - target: "190", - cluster: "A", - label: "A", - color: "#333", - id: "edge278", - }, - { - source: "191", - target: "45", - cluster: "C", - label: "C", - color: "#333", - id: "edge279", - }, - { - source: "192", - target: "190", - cluster: "B", - label: "B", - color: "#333", - id: "edge280", - }, - { - source: "192", - target: "191", - cluster: "C", - label: "C", - color: "#333", - id: "edge281", - }, - { - source: "192", - target: "45", - cluster: "A", - label: "A", - color: "#333", - id: "edge282", - }, - { - source: "193", - target: "190", - cluster: "C", - label: "C", - color: "#333", - id: "edge283", - }, - { - source: "193", - target: "45", - cluster: "B", - label: "B", - color: "#333", - id: "edge284", - }, - { - source: "195", - target: "194", - cluster: "C", - label: "C", - color: "#333", - id: "edge285", - }, - { - source: "196", - target: "194", - cluster: "A", - label: "A", - color: "#333", - id: "edge286", - }, - { - source: "196", - target: "195", - cluster: "B", - label: "B", - color: "#333", - id: "edge287", - }, - { - source: "197", - target: "194", - cluster: "B", - label: "B", - color: "#333", - id: "edge288", - }, - { - source: "197", - target: "195", - cluster: "C", - label: "C", - color: "#333", - id: "edge289", - }, - { - source: "197", - target: "196", - cluster: "A", - label: "A", - color: "#333", - id: "edge290", - }, - { - source: "198", - target: "194", - cluster: "C", - label: "C", - color: "#333", - id: "edge291", - }, - { - source: "198", - target: "195", - cluster: "A", - label: "A", - color: "#333", - id: "edge292", - }, - { - source: "198", - target: "196", - cluster: "B", - label: "B", - color: "#333", - id: "edge293", - }, - { - source: "198", - target: "197", - cluster: "C", - label: "C", - color: "#333", - id: "edge294", - }, - { - source: "200", - target: "199", - cluster: "A", - label: "A", - color: "#333", - id: "edge295", - }, - { - source: "200", - target: "23", - cluster: "B", - label: "B", - color: "#333", - id: "edge296", - }, - { - source: "200", - target: "24", - cluster: "C", - label: "C", - color: "#333", - id: "edge297", - }, - { - source: "201", - target: "199", - cluster: "B", - label: "B", - color: "#333", - id: "edge298", - }, - { - source: "201", - target: "200", - cluster: "C", - label: "C", - color: "#333", - id: "edge299", - }, - { - source: "201", - target: "23", - cluster: "C", - label: "C", - color: "#333", - id: "edge300", - }, - { - source: "201", - target: "24", - cluster: "A", - label: "A", - color: "#333", - id: "edge301", - }, - { - source: "202", - target: "130", - cluster: "C", - label: "C", - color: "#333", - id: "edge302", - }, - { - source: "205", - target: "204", - cluster: "B", - label: "B", - color: "#333", - id: "edge303", - }, - { - source: "207", - target: "206", - cluster: "C", - label: "C", - color: "#333", - id: "edge304", - }, - { - source: "208", - target: "206", - cluster: "A", - label: "A", - color: "#333", - id: "edge305", - }, - { - source: "208", - target: "207", - cluster: "B", - label: "B", - color: "#333", - id: "edge306", - }, - { - source: "210", - target: "209", - cluster: "C", - label: "C", - color: "#333", - id: "edge307", - }, - { - source: "211", - target: "209", - cluster: "A", - label: "A", - color: "#333", - id: "edge308", - }, - { - source: "211", - target: "210", - cluster: "B", - label: "B", - color: "#333", - id: "edge309", - }, - { - source: "213", - target: "212", - cluster: "C", - label: "C", - color: "#333", - id: "edge310", - }, - { - source: "214", - target: "212", - cluster: "A", - label: "A", - color: "#333", - id: "edge311", - }, - { - source: "214", - target: "213", - cluster: "B", - label: "B", - color: "#333", - id: "edge312", - }, - { - source: "215", - target: "47", - cluster: "B", - label: "B", - color: "#333", - id: "edge313", - }, - { - source: "215", - target: "135", - cluster: "C", - label: "C", - color: "#333", - id: "edge314", - }, - { - source: "216", - target: "215", - cluster: "C", - label: "C", - color: "#333", - id: "edge315", - }, - { - source: "216", - target: "47", - cluster: "C", - label: "C", - color: "#333", - id: "edge316", - }, - { - source: "217", - target: "215", - cluster: "A", - label: "A", - color: "#333", - id: "edge317", - }, - { - source: "217", - target: "216", - cluster: "B", - label: "B", - color: "#333", - id: "edge318", - }, - { - source: "217", - target: "47", - cluster: "A", - label: "A", - color: "#333", - id: "edge319", - }, - { - source: "218", - target: "215", - cluster: "B", - label: "B", - color: "#333", - id: "edge320", - }, - { - source: "218", - target: "217", - cluster: "A", - label: "A", - color: "#333", - id: "edge321", - }, - { - source: "219", - target: "215", - cluster: "C", - label: "C", - color: "#333", - id: "edge322", - }, - { - source: "219", - target: "218", - cluster: "C", - label: "C", - color: "#333", - id: "edge323", - }, - { - source: "219", - target: "217", - cluster: "B", - label: "B", - color: "#333", - id: "edge324", - }, - { - source: "220", - target: "215", - cluster: "A", - label: "A", - color: "#333", - id: "edge325", - }, - { - source: "220", - target: "218", - cluster: "A", - label: "A", - color: "#333", - id: "edge326", - }, - { - source: "220", - target: "219", - cluster: "B", - label: "B", - color: "#333", - id: "edge327", - }, - { - source: "221", - target: "215", - cluster: "B", - label: "B", - color: "#333", - id: "edge328", - }, - { - source: "221", - target: "218", - cluster: "B", - label: "B", - color: "#333", - id: "edge329", - }, - { - source: "221", - target: "219", - cluster: "C", - label: "C", - color: "#333", - id: "edge330", - }, - { - source: "221", - target: "220", - cluster: "A", - label: "A", - color: "#333", - id: "edge331", - }, - { - source: "222", - target: "215", - cluster: "C", - label: "C", - color: "#333", - id: "edge332", - }, - { - source: "222", - target: "135", - cluster: "A", - label: "A", - color: "#333", - id: "edge333", - }, - { - source: "223", - target: "215", - cluster: "A", - label: "A", - color: "#333", - id: "edge334", - }, - { - source: "223", - target: "219", - cluster: "B", - label: "B", - color: "#333", - id: "edge335", - }, - { - source: "223", - target: "218", - cluster: "A", - label: "A", - color: "#333", - id: "edge336", - }, - { - source: "223", - target: "217", - cluster: "C", - label: "C", - color: "#333", - id: "edge337", - }, - { - source: "224", - target: "149", - cluster: "B", - label: "B", - color: "#333", - id: "edge338", - }, - { - source: "224", - target: "95", - cluster: "B", - label: "B", - color: "#333", - id: "edge339", - }, - { - source: "224", - target: "93", - cluster: "C", - label: "C", - color: "#333", - id: "edge340", - }, - { - source: "224", - target: "150", - cluster: "C", - label: "C", - color: "#333", - id: "edge341", - }, - { - source: "226", - target: "225", - cluster: "B", - label: "B", - color: "#333", - id: "edge342", - }, - { - source: "228", - target: "227", - cluster: "C", - label: "C", - color: "#333", - id: "edge343", - }, - { - source: "229", - target: "227", - cluster: "A", - label: "A", - color: "#333", - id: "edge344", - }, - { - source: "229", - target: "228", - cluster: "B", - label: "B", - color: "#333", - id: "edge345", - }, - { - source: "230", - target: "227", - cluster: "B", - label: "B", - color: "#333", - id: "edge346", - }, - { - source: "230", - target: "228", - cluster: "C", - label: "C", - color: "#333", - id: "edge347", - }, - { - source: "230", - target: "229", - cluster: "A", - label: "A", - color: "#333", - id: "edge348", - }, - { - source: "233", - target: "232", - cluster: "A", - label: "A", - color: "#333", - id: "edge349", - }, - { - source: "234", - target: "232", - cluster: "B", - label: "B", - color: "#333", - id: "edge350", - }, - { - source: "234", - target: "233", - cluster: "C", - label: "C", - color: "#333", - id: "edge351", - }, - { - source: "234", - target: "71", - cluster: "C", - label: "C", - color: "#333", - id: "edge352", - }, - { - source: "237", - target: "236", - cluster: "C", - label: "C", - color: "#333", - id: "edge353", - }, - { - source: "239", - target: "238", - cluster: "A", - label: "A", - color: "#333", - id: "edge354", - }, - { - source: "240", - target: "238", - cluster: "B", - label: "B", - color: "#333", - id: "edge355", - }, - { - source: "242", - target: "241", - cluster: "A", - label: "A", - color: "#333", - id: "edge356", - }, - { - source: "244", - target: "243", - cluster: "B", - label: "B", - color: "#333", - id: "edge357", - }, - { - source: "245", - target: "243", - cluster: "C", - label: "C", - color: "#333", - id: "edge358", - }, - { - source: "246", - target: "243", - cluster: "A", - label: "A", - color: "#333", - id: "edge359", - }, - { - source: "248", - target: "247", - cluster: "A", - label: "A", - color: "#333", - id: "edge360", - }, - { - source: "249", - target: "247", - cluster: "B", - label: "B", - color: "#333", - id: "edge361", - }, - { - source: "249", - target: "248", - cluster: "C", - label: "C", - color: "#333", - id: "edge362", - }, - { - source: "250", - target: "216", - cluster: "B", - label: "B", - color: "#333", - id: "edge363", - }, - { - source: "250", - target: "215", - cluster: "A", - label: "A", - color: "#333", - id: "edge364", - }, - { - source: "250", - target: "217", - cluster: "C", - label: "C", - color: "#333", - id: "edge365", - }, - { - source: "251", - target: "216", - cluster: "C", - label: "C", - color: "#333", - id: "edge366", - }, - { - source: "251", - target: "215", - cluster: "B", - label: "B", - color: "#333", - id: "edge367", - }, - { - source: "251", - target: "250", - cluster: "A", - label: "A", - color: "#333", - id: "edge368", - }, - { - source: "251", - target: "217", - cluster: "A", - label: "A", - color: "#333", - id: "edge369", - }, - { - source: "254", - target: "253", - cluster: "A", - label: "A", - color: "#333", - id: "edge370", - }, - { - source: "255", - target: "253", - cluster: "B", - label: "B", - color: "#333", - id: "edge371", - }, - { - source: "255", - target: "254", - cluster: "C", - label: "C", - color: "#333", - id: "edge372", - }, - { - source: "258", - target: "257", - cluster: "C", - label: "C", - color: "#333", - id: "edge373", - }, - { - source: "260", - target: "259", - cluster: "A", - label: "A", - color: "#333", - id: "edge374", - }, - { - source: "262", - target: "261", - cluster: "B", - label: "B", - color: "#333", - id: "edge375", - }, - { - source: "263", - target: "261", - cluster: "C", - label: "C", - color: "#333", - id: "edge376", - }, - { - source: "263", - target: "262", - cluster: "A", - label: "A", - color: "#333", - id: "edge377", - }, - { - source: "264", - target: "261", - cluster: "A", - label: "A", - color: "#333", - id: "edge378", - }, - { - source: "264", - target: "262", - cluster: "B", - label: "B", - color: "#333", - id: "edge379", - }, - { - source: "264", - target: "263", - cluster: "C", - label: "C", - color: "#333", - id: "edge380", - }, - { - source: "265", - target: "261", - cluster: "B", - label: "B", - color: "#333", - id: "edge381", - }, - { - source: "265", - target: "262", - cluster: "C", - label: "C", - color: "#333", - id: "edge382", - }, - { - source: "265", - target: "263", - cluster: "A", - label: "A", - color: "#333", - id: "edge383", - }, - { - source: "265", - target: "264", - cluster: "B", - label: "B", - color: "#333", - id: "edge384", - }, - { - source: "266", - target: "261", - cluster: "C", - label: "C", - color: "#333", - id: "edge385", - }, - { - source: "266", - target: "262", - cluster: "A", - label: "A", - color: "#333", - id: "edge386", - }, - { - source: "266", - target: "263", - cluster: "B", - label: "B", - color: "#333", - id: "edge387", - }, - { - source: "266", - target: "264", - cluster: "C", - label: "C", - color: "#333", - id: "edge388", - }, - { - source: "266", - target: "265", - cluster: "A", - label: "A", - color: "#333", - id: "edge389", - }, - { - source: "267", - target: "261", - cluster: "A", - label: "A", - color: "#333", - id: "edge390", - }, - { - source: "267", - target: "262", - cluster: "B", - label: "B", - color: "#333", - id: "edge391", - }, - { - source: "267", - target: "263", - cluster: "C", - label: "C", - color: "#333", - id: "edge392", - }, - { - source: "267", - target: "264", - cluster: "A", - label: "A", - color: "#333", - id: "edge393", - }, - { - source: "267", - target: "265", - cluster: "B", - label: "B", - color: "#333", - id: "edge394", - }, - { - source: "267", - target: "266", - cluster: "C", - label: "C", - color: "#333", - id: "edge395", - }, - { - source: "268", - target: "261", - cluster: "B", - label: "B", - color: "#333", - id: "edge396", - }, - { - source: "268", - target: "262", - cluster: "C", - label: "C", - color: "#333", - id: "edge397", - }, - { - source: "268", - target: "263", - cluster: "A", - label: "A", - color: "#333", - id: "edge398", - }, - { - source: "268", - target: "264", - cluster: "B", - label: "B", - color: "#333", - id: "edge399", - }, - { - source: "268", - target: "265", - cluster: "C", - label: "C", - color: "#333", - id: "edge400", - }, - { - source: "268", - target: "266", - cluster: "A", - label: "A", - color: "#333", - id: "edge401", - }, - { - source: "268", - target: "267", - cluster: "B", - label: "B", - color: "#333", - id: "edge402", - }, - { - source: "270", - target: "269", - cluster: "C", - label: "C", - color: "#333", - id: "edge403", - }, - { - source: "273", - target: "272", - cluster: "C", - label: "C", - color: "#333", - id: "edge404", - }, - { - source: "274", - target: "272", - cluster: "A", - label: "A", - color: "#333", - id: "edge405", - }, - { - source: "274", - target: "273", - cluster: "B", - label: "B", - color: "#333", - id: "edge406", - }, - { - source: "276", - target: "275", - cluster: "C", - label: "C", - color: "#333", - id: "edge407", - }, - { - source: "277", - target: "275", - cluster: "A", - label: "A", - color: "#333", - id: "edge408", - }, - { - source: "277", - target: "276", - cluster: "B", - label: "B", - color: "#333", - id: "edge409", - }, - { - source: "279", - target: "278", - cluster: "C", - label: "C", - color: "#333", - id: "edge410", - }, - { - source: "280", - target: "278", - cluster: "A", - label: "A", - color: "#333", - id: "edge411", - }, - { - source: "280", - target: "279", - cluster: "B", - label: "B", - color: "#333", - id: "edge412", - }, - { - source: "280", - target: "77", - cluster: "A", - label: "A", - color: "#333", - id: "edge413", - }, - { - source: "280", - target: "149", - cluster: "A", - label: "A", - color: "#333", - id: "edge414", - }, - { - source: "281", - target: "278", - cluster: "B", - label: "B", - color: "#333", - id: "edge415", - }, - { - source: "281", - target: "279", - cluster: "C", - label: "C", - color: "#333", - id: "edge416", - }, - { - source: "281", - target: "280", - cluster: "A", - label: "A", - color: "#333", - id: "edge417", - }, - { - source: "282", - target: "278", - cluster: "C", - label: "C", - color: "#333", - id: "edge418", - }, - { - source: "282", - target: "279", - cluster: "A", - label: "A", - color: "#333", - id: "edge419", - }, - { - source: "282", - target: "280", - cluster: "B", - label: "B", - color: "#333", - id: "edge420", - }, - { - source: "282", - target: "281", - cluster: "C", - label: "C", - color: "#333", - id: "edge421", - }, - { - source: "283", - target: "278", - cluster: "A", - label: "A", - color: "#333", - id: "edge422", - }, - { - source: "283", - target: "279", - cluster: "B", - label: "B", - color: "#333", - id: "edge423", - }, - { - source: "283", - target: "280", - cluster: "C", - label: "C", - color: "#333", - id: "edge424", - }, - { - source: "283", - target: "281", - cluster: "A", - label: "A", - color: "#333", - id: "edge425", - }, - { - source: "283", - target: "282", - cluster: "B", - label: "B", - color: "#333", - id: "edge426", - }, - { - source: "284", - target: "278", - cluster: "B", - label: "B", - color: "#333", - id: "edge427", - }, - { - source: "284", - target: "279", - cluster: "C", - label: "C", - color: "#333", - id: "edge428", - }, - { - source: "284", - target: "280", - cluster: "A", - label: "A", - color: "#333", - id: "edge429", - }, - { - source: "284", - target: "281", - cluster: "B", - label: "B", - color: "#333", - id: "edge430", - }, - { - source: "284", - target: "282", - cluster: "C", - label: "C", - color: "#333", - id: "edge431", - }, - { - source: "284", - target: "283", - cluster: "A", - label: "A", - color: "#333", - id: "edge432", - }, - { - source: "286", - target: "285", - cluster: "B", - label: "B", - color: "#333", - id: "edge433", - }, - { - source: "287", - target: "285", - cluster: "C", - label: "C", - color: "#333", - id: "edge434", - }, - { - source: "287", - target: "286", - cluster: "A", - label: "A", - color: "#333", - id: "edge435", - }, - { - source: "288", - target: "285", - cluster: "A", - label: "A", - color: "#333", - id: "edge436", - }, - { - source: "288", - target: "287", - cluster: "C", - label: "C", - color: "#333", - id: "edge437", - }, - { - source: "290", - target: "289", - cluster: "A", - label: "A", - color: "#333", - id: "edge438", - }, - { - source: "291", - target: "289", - cluster: "B", - label: "B", - color: "#333", - id: "edge439", - }, - { - source: "291", - target: "290", - cluster: "C", - label: "C", - color: "#333", - id: "edge440", - }, - { - source: "293", - target: "292", - cluster: "A", - label: "A", - color: "#333", - id: "edge441", - }, - { - source: "296", - target: "295", - cluster: "A", - label: "A", - color: "#333", - id: "edge442", - }, - { - source: "297", - target: "295", - cluster: "B", - label: "B", - color: "#333", - id: "edge443", - }, - { - source: "298", - target: "295", - cluster: "C", - label: "C", - color: "#333", - id: "edge444", - }, - { - source: "298", - target: "297", - cluster: "B", - label: "B", - color: "#333", - id: "edge445", - }, - { - source: "299", - target: "295", - cluster: "A", - label: "A", - color: "#333", - id: "edge446", - }, - { - source: "299", - target: "297", - cluster: "C", - label: "C", - color: "#333", - id: "edge447", - }, - { - source: "299", - target: "298", - cluster: "A", - label: "A", - color: "#333", - id: "edge448", - }, - { - source: "300", - target: "202", - cluster: "B", - label: "B", - color: "#333", - id: "edge449", - }, - { - source: "300", - target: "149", - cluster: "C", - label: "C", - color: "#333", - id: "edge450", - }, - { - source: "300", - target: "150", - cluster: "A", - label: "A", - color: "#333", - id: "edge451", - }, - { - source: "300", - target: "161", - cluster: "C", - label: "C", - color: "#333", - id: "edge452", - }, - { - source: "301", - target: "300", - cluster: "B", - label: "B", - color: "#333", - id: "edge453", - }, - { - source: "301", - target: "202", - cluster: "C", - label: "C", - color: "#333", - id: "edge454", - }, - { - source: "302", - target: "300", - cluster: "C", - label: "C", - color: "#333", - id: "edge455", - }, - { - source: "302", - target: "202", - cluster: "A", - label: "A", - color: "#333", - id: "edge456", - }, - { - source: "302", - target: "301", - cluster: "A", - label: "A", - color: "#333", - id: "edge457", - }, - { - source: "303", - target: "300", - cluster: "A", - label: "A", - color: "#333", - id: "edge458", - }, - { - source: "303", - target: "301", - cluster: "B", - label: "B", - color: "#333", - id: "edge459", - }, - { - source: "304", - target: "77", - cluster: "A", - label: "A", - color: "#333", - id: "edge460", - }, - { - source: "305", - target: "304", - cluster: "A", - label: "A", - color: "#333", - id: "edge461", - }, - { - source: "305", - target: "77", - cluster: "B", - label: "B", - color: "#333", - id: "edge462", - }, - { - source: "306", - target: "304", - cluster: "B", - label: "B", - color: "#333", - id: "edge463", - }, - { - source: "306", - target: "305", - cluster: "C", - label: "C", - color: "#333", - id: "edge464", - }, - { - source: "306", - target: "77", - cluster: "C", - label: "C", - color: "#333", - id: "edge465", - }, - { - source: "306", - target: "264", - cluster: "A", - label: "A", - color: "#333", - id: "edge466", - }, - { - source: "306", - target: "265", - cluster: "B", - label: "B", - color: "#333", - id: "edge467", - }, - { - source: "306", - target: "267", - cluster: "A", - label: "A", - color: "#333", - id: "edge468", - }, - { - source: "307", - target: "304", - cluster: "C", - label: "C", - color: "#333", - id: "edge469", - }, - { - source: "307", - target: "305", - cluster: "A", - label: "A", - color: "#333", - id: "edge470", - }, - { - source: "307", - target: "306", - cluster: "B", - label: "B", - color: "#333", - id: "edge471", - }, - { - source: "307", - target: "77", - cluster: "A", - label: "A", - color: "#333", - id: "edge472", - }, - { - source: "308", - target: "304", - cluster: "A", - label: "A", - color: "#333", - id: "edge473", - }, - { - source: "308", - target: "77", - cluster: "B", - label: "B", - color: "#333", - id: "edge474", - }, - { - source: "308", - target: "307", - cluster: "A", - label: "A", - color: "#333", - id: "edge475", - }, - { - source: "309", - target: "96", - cluster: "A", - label: "A", - color: "#333", - id: "edge476", - }, - { - source: "309", - target: "68", - cluster: "C", - label: "C", - color: "#333", - id: "edge477", - }, - { - source: "311", - target: "310", - cluster: "A", - label: "A", - color: "#333", - id: "edge478", - }, - { - source: "313", - target: "312", - cluster: "B", - label: "B", - color: "#333", - id: "edge479", - }, - { - source: "314", - target: "312", - cluster: "C", - label: "C", - color: "#333", - id: "edge480", - }, - { - source: "314", - target: "313", - cluster: "A", - label: "A", - color: "#333", - id: "edge481", - }, - { - source: "315", - target: "202", - cluster: "B", - label: "B", - color: "#333", - id: "edge482", - }, - { - source: "315", - target: "300", - cluster: "A", - label: "A", - color: "#333", - id: "edge483", - }, - { - source: "315", - target: "161", - cluster: "C", - label: "C", - color: "#333", - id: "edge484", - }, - { - source: "316", - target: "202", - cluster: "C", - label: "C", - color: "#333", - id: "edge485", - }, - { - source: "316", - target: "315", - cluster: "B", - label: "B", - color: "#333", - id: "edge486", - }, - { - source: "316", - target: "300", - cluster: "B", - label: "B", - color: "#333", - id: "edge487", - }, - { - source: "318", - target: "317", - cluster: "C", - label: "C", - color: "#333", - id: "edge488", - }, - { - source: "320", - target: "319", - cluster: "A", - label: "A", - color: "#333", - id: "edge489", - }, - { - source: "321", - target: "319", - cluster: "B", - label: "B", - color: "#333", - id: "edge490", - }, - { - source: "321", - target: "320", - cluster: "C", - label: "C", - color: "#333", - id: "edge491", - }, - { - source: "322", - target: "319", - cluster: "C", - label: "C", - color: "#333", - id: "edge492", - }, - { - source: "322", - target: "320", - cluster: "A", - label: "A", - color: "#333", - id: "edge493", - }, - { - source: "322", - target: "321", - cluster: "B", - label: "B", - color: "#333", - id: "edge494", - }, - { - source: "323", - target: "319", - cluster: "A", - label: "A", - color: "#333", - id: "edge495", - }, - { - source: "323", - target: "322", - cluster: "A", - label: "A", - color: "#333", - id: "edge496", - }, - { - source: "324", - target: "319", - cluster: "B", - label: "B", - color: "#333", - id: "edge497", - }, - { - source: "324", - target: "322", - cluster: "B", - label: "B", - color: "#333", - id: "edge498", - }, - { - source: "324", - target: "323", - cluster: "C", - label: "C", - color: "#333", - id: "edge499", - }, - { - source: "326", - target: "325", - cluster: "A", - label: "A", - color: "#333", - id: "edge500", - }, - { - source: "326", - target: "29", - cluster: "B", - label: "B", - color: "#333", - id: "edge501", - }, - { - source: "327", - target: "325", - cluster: "B", - label: "B", - color: "#333", - id: "edge502", - }, - { - source: "327", - target: "326", - cluster: "C", - label: "C", - color: "#333", - id: "edge503", - }, - { - source: "328", - target: "325", - cluster: "C", - label: "C", - color: "#333", - id: "edge504", - }, - { - source: "328", - target: "326", - cluster: "A", - label: "A", - color: "#333", - id: "edge505", - }, - { - source: "328", - target: "327", - cluster: "B", - label: "B", - color: "#333", - id: "edge506", - }, - { - source: "329", - target: "150", - cluster: "C", - label: "C", - color: "#333", - id: "edge507", - }, - { - source: "330", - target: "329", - cluster: "C", - label: "C", - color: "#333", - id: "edge508", - }, - { - source: "330", - target: "150", - cluster: "A", - label: "A", - color: "#333", - id: "edge509", - }, - { - source: "332", - target: "331", - cluster: "A", - label: "A", - color: "#333", - id: "edge510", - }, - { - source: "333", - target: "331", - cluster: "B", - label: "B", - color: "#333", - id: "edge511", - }, - { - source: "333", - target: "332", - cluster: "C", - label: "C", - color: "#333", - id: "edge512", - }, - { - source: "334", - target: "331", - cluster: "C", - label: "C", - color: "#333", - id: "edge513", - }, - { - source: "334", - target: "332", - cluster: "A", - label: "A", - color: "#333", - id: "edge514", - }, - { - source: "334", - target: "333", - cluster: "B", - label: "B", - color: "#333", - id: "edge515", - }, - { - source: "336", - target: "335", - cluster: "C", - label: "C", - color: "#333", - id: "edge516", - }, - { - source: "338", - target: "337", - cluster: "A", - label: "A", - color: "#333", - id: "edge517", - }, - { - source: "339", - target: "337", - cluster: "B", - label: "B", - color: "#333", - id: "edge518", - }, - { - source: "339", - target: "338", - cluster: "C", - label: "C", - color: "#333", - id: "edge519", - }, - { - source: "340", - target: "337", - cluster: "C", - label: "C", - color: "#333", - id: "edge520", - }, - { - source: "340", - target: "338", - cluster: "A", - label: "A", - color: "#333", - id: "edge521", - }, - { - source: "340", - target: "339", - cluster: "B", - label: "B", - color: "#333", - id: "edge522", - }, - { - source: "342", - target: "341", - cluster: "C", - label: "C", - color: "#333", - id: "edge523", - }, - { - source: "342", - target: "220", - cluster: "B", - label: "B", - color: "#333", - id: "edge524", - }, - { - source: "342", - target: "218", - cluster: "C", - label: "C", - color: "#333", - id: "edge525", - }, - { - source: "343", - target: "341", - cluster: "A", - label: "A", - color: "#333", - id: "edge526", - }, - { - source: "343", - target: "342", - cluster: "B", - label: "B", - color: "#333", - id: "edge527", - }, - { - source: "344", - target: "251", - cluster: "B", - label: "B", - color: "#333", - id: "edge528", - }, - { - source: "344", - target: "215", - cluster: "B", - label: "B", - color: "#333", - id: "edge529", - }, - { - source: "345", - target: "344", - cluster: "C", - label: "C", - color: "#333", - id: "edge530", - }, - { - source: "345", - target: "251", - cluster: "C", - label: "C", - color: "#333", - id: "edge531", - }, - { - source: "345", - target: "215", - cluster: "C", - label: "C", - color: "#333", - id: "edge532", - }, - { - source: "346", - target: "344", - cluster: "A", - label: "A", - color: "#333", - id: "edge533", - }, - { - source: "346", - target: "345", - cluster: "B", - label: "B", - color: "#333", - id: "edge534", - }, - { - source: "346", - target: "251", - cluster: "A", - label: "A", - color: "#333", - id: "edge535", - }, - { - source: "346", - target: "215", - cluster: "A", - label: "A", - color: "#333", - id: "edge536", - }, - { - source: "348", - target: "347", - cluster: "C", - label: "C", - color: "#333", - id: "edge537", - }, - { - source: "349", - target: "347", - cluster: "A", - label: "A", - color: "#333", - id: "edge538", - }, - { - source: "349", - target: "348", - cluster: "B", - label: "B", - color: "#333", - id: "edge539", - }, - { - source: "350", - target: "347", - cluster: "B", - label: "B", - color: "#333", - id: "edge540", - }, - { - source: "350", - target: "348", - cluster: "C", - label: "C", - color: "#333", - id: "edge541", - }, - { - source: "350", - target: "349", - cluster: "A", - label: "A", - color: "#333", - id: "edge542", - }, - { - source: "351", - target: "347", - cluster: "C", - label: "C", - color: "#333", - id: "edge543", - }, - { - source: "351", - target: "348", - cluster: "A", - label: "A", - color: "#333", - id: "edge544", - }, - { - source: "351", - target: "349", - cluster: "B", - label: "B", - color: "#333", - id: "edge545", - }, - { - source: "351", - target: "350", - cluster: "C", - label: "C", - color: "#333", - id: "edge546", - }, - { - source: "352", - target: "347", - cluster: "A", - label: "A", - color: "#333", - id: "edge547", - }, - { - source: "352", - target: "348", - cluster: "B", - label: "B", - color: "#333", - id: "edge548", - }, - { - source: "352", - target: "349", - cluster: "C", - label: "C", - color: "#333", - id: "edge549", - }, - { - source: "352", - target: "350", - cluster: "A", - label: "A", - color: "#333", - id: "edge550", - }, - { - source: "352", - target: "351", - cluster: "B", - label: "B", - color: "#333", - id: "edge551", - }, - { - source: "354", - target: "353", - cluster: "C", - label: "C", - color: "#333", - id: "edge552", - }, - { - source: "355", - target: "353", - cluster: "A", - label: "A", - color: "#333", - id: "edge553", - }, - { - source: "355", - target: "354", - cluster: "B", - label: "B", - color: "#333", - id: "edge554", - }, - { - source: "357", - target: "356", - cluster: "C", - label: "C", - color: "#333", - id: "edge555", - }, - { - source: "358", - target: "356", - cluster: "A", - label: "A", - color: "#333", - id: "edge556", - }, - { - source: "358", - target: "357", - cluster: "B", - label: "B", - color: "#333", - id: "edge557", - }, - { - source: "359", - target: "356", - cluster: "B", - label: "B", - color: "#333", - id: "edge558", - }, - { - source: "359", - target: "357", - cluster: "C", - label: "C", - color: "#333", - id: "edge559", - }, - { - source: "360", - target: "356", - cluster: "C", - label: "C", - color: "#333", - id: "edge560", - }, - { - source: "360", - target: "359", - cluster: "C", - label: "C", - color: "#333", - id: "edge561", - }, - { - source: "360", - target: "357", - cluster: "A", - label: "A", - color: "#333", - id: "edge562", - }, - { - source: "361", - target: "61", - cluster: "C", - label: "C", - color: "#333", - id: "edge563", - }, - { - source: "362", - target: "361", - cluster: "A", - label: "A", - color: "#333", - id: "edge564", - }, - { - source: "363", - target: "361", - cluster: "B", - label: "B", - color: "#333", - id: "edge565", - }, - { - source: "364", - target: "361", - cluster: "C", - label: "C", - color: "#333", - id: "edge566", - }, - { - source: "364", - target: "363", - cluster: "B", - label: "B", - color: "#333", - id: "edge567", - }, - { - source: "366", - target: "365", - cluster: "C", - label: "C", - color: "#333", - id: "edge568", - }, - { - source: "367", - target: "365", - cluster: "A", - label: "A", - color: "#333", - id: "edge569", - }, - { - source: "367", - target: "366", - cluster: "B", - label: "B", - color: "#333", - id: "edge570", - }, - { - source: "368", - target: "23", - cluster: "B", - label: "B", - color: "#333", - id: "edge571", - }, - { - source: "368", - target: "24", - cluster: "C", - label: "C", - color: "#333", - id: "edge572", - }, - { - source: "369", - target: "77", - cluster: "C", - label: "C", - color: "#333", - id: "edge573", - }, - { - source: "370", - target: "369", - cluster: "B", - label: "B", - color: "#333", - id: "edge574", - }, - { - source: "370", - target: "77", - cluster: "A", - label: "A", - color: "#333", - id: "edge575", - }, - { - source: "370", - target: "308", - cluster: "A", - label: "A", - color: "#333", - id: "edge576", - }, - { - source: "372", - target: "371", - cluster: "C", - label: "C", - color: "#333", - id: "edge577", - }, - { - source: "373", - target: "371", - cluster: "A", - label: "A", - color: "#333", - id: "edge578", - }, - { - source: "373", - target: "372", - cluster: "B", - label: "B", - color: "#333", - id: "edge579", - }, - { - source: "374", - target: "32", - cluster: "B", - label: "B", - color: "#333", - id: "edge580", - }, - { - source: "375", - target: "374", - cluster: "C", - label: "C", - color: "#333", - id: "edge581", - }, - { - source: "375", - target: "32", - cluster: "C", - label: "C", - color: "#333", - id: "edge582", - }, - { - source: "376", - target: "374", - cluster: "A", - label: "A", - color: "#333", - id: "edge583", - }, - { - source: "376", - target: "375", - cluster: "B", - label: "B", - color: "#333", - id: "edge584", - }, - { - source: "376", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge585", - }, - { - source: "377", - target: "374", - cluster: "B", - label: "B", - color: "#333", - id: "edge586", - }, - { - source: "377", - target: "375", - cluster: "C", - label: "C", - color: "#333", - id: "edge587", - }, - { - source: "377", - target: "376", - cluster: "A", - label: "A", - color: "#333", - id: "edge588", - }, - { - source: "379", - target: "378", - cluster: "B", - label: "B", - color: "#333", - id: "edge589", - }, - { - source: "380", - target: "378", - cluster: "C", - label: "C", - color: "#333", - id: "edge590", - }, - { - source: "380", - target: "379", - cluster: "A", - label: "A", - color: "#333", - id: "edge591", - }, - { - source: "382", - target: "381", - cluster: "B", - label: "B", - color: "#333", - id: "edge592", - }, - { - source: "383", - target: "381", - cluster: "C", - label: "C", - color: "#333", - id: "edge593", - }, - { - source: "383", - target: "382", - cluster: "A", - label: "A", - color: "#333", - id: "edge594", - }, - { - source: "385", - target: "384", - cluster: "B", - label: "B", - color: "#333", - id: "edge595", - }, - { - source: "386", - target: "384", - cluster: "C", - label: "C", - color: "#333", - id: "edge596", - }, - { - source: "386", - target: "385", - cluster: "A", - label: "A", - color: "#333", - id: "edge597", - }, - { - source: "387", - target: "384", - cluster: "A", - label: "A", - color: "#333", - id: "edge598", - }, - { - source: "387", - target: "385", - cluster: "B", - label: "B", - color: "#333", - id: "edge599", - }, - { - source: "387", - target: "386", - cluster: "C", - label: "C", - color: "#333", - id: "edge600", - }, - { - source: "388", - target: "384", - cluster: "B", - label: "B", - color: "#333", - id: "edge601", - }, - { - source: "388", - target: "385", - cluster: "C", - label: "C", - color: "#333", - id: "edge602", - }, - { - source: "388", - target: "386", - cluster: "A", - label: "A", - color: "#333", - id: "edge603", - }, - { - source: "388", - target: "387", - cluster: "B", - label: "B", - color: "#333", - id: "edge604", - }, - { - source: "389", - target: "384", - cluster: "C", - label: "C", - color: "#333", - id: "edge605", - }, - { - source: "389", - target: "385", - cluster: "A", - label: "A", - color: "#333", - id: "edge606", - }, - { - source: "389", - target: "386", - cluster: "B", - label: "B", - color: "#333", - id: "edge607", - }, - { - source: "389", - target: "387", - cluster: "C", - label: "C", - color: "#333", - id: "edge608", - }, - { - source: "389", - target: "388", - cluster: "A", - label: "A", - color: "#333", - id: "edge609", - }, - { - source: "390", - target: "384", - cluster: "A", - label: "A", - color: "#333", - id: "edge610", - }, - { - source: "390", - target: "385", - cluster: "B", - label: "B", - color: "#333", - id: "edge611", - }, - { - source: "390", - target: "386", - cluster: "C", - label: "C", - color: "#333", - id: "edge612", - }, - { - source: "390", - target: "387", - cluster: "A", - label: "A", - color: "#333", - id: "edge613", - }, - { - source: "390", - target: "388", - cluster: "B", - label: "B", - color: "#333", - id: "edge614", - }, - { - source: "390", - target: "389", - cluster: "C", - label: "C", - color: "#333", - id: "edge615", - }, - { - source: "391", - target: "384", - cluster: "B", - label: "B", - color: "#333", - id: "edge616", - }, - { - source: "391", - target: "385", - cluster: "C", - label: "C", - color: "#333", - id: "edge617", - }, - { - source: "391", - target: "386", - cluster: "A", - label: "A", - color: "#333", - id: "edge618", - }, - { - source: "391", - target: "387", - cluster: "B", - label: "B", - color: "#333", - id: "edge619", - }, - { - source: "391", - target: "388", - cluster: "C", - label: "C", - color: "#333", - id: "edge620", - }, - { - source: "391", - target: "389", - cluster: "A", - label: "A", - color: "#333", - id: "edge621", - }, - { - source: "391", - target: "390", - cluster: "B", - label: "B", - color: "#333", - id: "edge622", - }, - { - source: "393", - target: "392", - cluster: "C", - label: "C", - color: "#333", - id: "edge623", - }, - { - source: "394", - target: "392", - cluster: "A", - label: "A", - color: "#333", - id: "edge624", - }, - { - source: "394", - target: "393", - cluster: "B", - label: "B", - color: "#333", - id: "edge625", - }, - { - source: "395", - target: "392", - cluster: "B", - label: "B", - color: "#333", - id: "edge626", - }, - { - source: "395", - target: "393", - cluster: "C", - label: "C", - color: "#333", - id: "edge627", - }, - { - source: "395", - target: "394", - cluster: "A", - label: "A", - color: "#333", - id: "edge628", - }, - { - source: "397", - target: "396", - cluster: "B", - label: "B", - color: "#333", - id: "edge629", - }, - { - source: "398", - target: "396", - cluster: "C", - label: "C", - color: "#333", - id: "edge630", - }, - { - source: "398", - target: "397", - cluster: "A", - label: "A", - color: "#333", - id: "edge631", - }, - { - source: "399", - target: "396", - cluster: "A", - label: "A", - color: "#333", - id: "edge632", - }, - { - source: "399", - target: "397", - cluster: "B", - label: "B", - color: "#333", - id: "edge633", - }, - { - source: "399", - target: "398", - cluster: "C", - label: "C", - color: "#333", - id: "edge634", - }, - { - source: "400", - target: "276", - cluster: "B", - label: "B", - color: "#333", - id: "edge635", - }, - { - source: "400", - target: "277", - cluster: "C", - label: "C", - color: "#333", - id: "edge636", - }, - { - source: "401", - target: "400", - cluster: "A", - label: "A", - color: "#333", - id: "edge637", - }, - { - source: "401", - target: "276", - cluster: "C", - label: "C", - color: "#333", - id: "edge638", - }, - { - source: "401", - target: "277", - cluster: "A", - label: "A", - color: "#333", - id: "edge639", - }, - { - source: "401", - target: "326", - cluster: "B", - label: "B", - color: "#333", - id: "edge640", - }, - { - source: "401", - target: "327", - cluster: "C", - label: "C", - color: "#333", - id: "edge641", - }, - { - source: "401", - target: "29", - cluster: "B", - label: "B", - color: "#333", - id: "edge642", - }, - { - source: "402", - target: "400", - cluster: "B", - label: "B", - color: "#333", - id: "edge643", - }, - { - source: "402", - target: "401", - cluster: "C", - label: "C", - color: "#333", - id: "edge644", - }, - { - source: "402", - target: "276", - cluster: "A", - label: "A", - color: "#333", - id: "edge645", - }, - { - source: "402", - target: "277", - cluster: "B", - label: "B", - color: "#333", - id: "edge646", - }, - { - source: "403", - target: "400", - cluster: "C", - label: "C", - color: "#333", - id: "edge647", - }, - { - source: "403", - target: "401", - cluster: "A", - label: "A", - color: "#333", - id: "edge648", - }, - { - source: "403", - target: "276", - cluster: "B", - label: "B", - color: "#333", - id: "edge649", - }, - { - source: "403", - target: "402", - cluster: "B", - label: "B", - color: "#333", - id: "edge650", - }, - { - source: "403", - target: "277", - cluster: "C", - label: "C", - color: "#333", - id: "edge651", - }, - { - source: "404", - target: "400", - cluster: "A", - label: "A", - color: "#333", - id: "edge652", - }, - { - source: "404", - target: "401", - cluster: "B", - label: "B", - color: "#333", - id: "edge653", - }, - { - source: "404", - target: "276", - cluster: "C", - label: "C", - color: "#333", - id: "edge654", - }, - { - source: "404", - target: "402", - cluster: "C", - label: "C", - color: "#333", - id: "edge655", - }, - { - source: "404", - target: "277", - cluster: "A", - label: "A", - color: "#333", - id: "edge656", - }, - { - source: "404", - target: "403", - cluster: "A", - label: "A", - color: "#333", - id: "edge657", - }, - { - source: "405", - target: "165", - cluster: "A", - label: "A", - color: "#333", - id: "edge658", - }, - { - source: "408", - target: "407", - cluster: "C", - label: "C", - color: "#333", - id: "edge659", - }, - { - source: "409", - target: "407", - cluster: "A", - label: "A", - color: "#333", - id: "edge660", - }, - { - source: "409", - target: "408", - cluster: "B", - label: "B", - color: "#333", - id: "edge661", - }, - { - source: "410", - target: "407", - cluster: "B", - label: "B", - color: "#333", - id: "edge662", - }, - { - source: "410", - target: "408", - cluster: "C", - label: "C", - color: "#333", - id: "edge663", - }, - { - source: "410", - target: "409", - cluster: "A", - label: "A", - color: "#333", - id: "edge664", - }, - { - source: "411", - target: "407", - cluster: "C", - label: "C", - color: "#333", - id: "edge665", - }, - { - source: "411", - target: "408", - cluster: "A", - label: "A", - color: "#333", - id: "edge666", - }, - { - source: "411", - target: "409", - cluster: "B", - label: "B", - color: "#333", - id: "edge667", - }, - { - source: "411", - target: "410", - cluster: "C", - label: "C", - color: "#333", - id: "edge668", - }, - { - source: "412", - target: "407", - cluster: "A", - label: "A", - color: "#333", - id: "edge669", - }, - { - source: "412", - target: "409", - cluster: "C", - label: "C", - color: "#333", - id: "edge670", - }, - { - source: "412", - target: "411", - cluster: "B", - label: "B", - color: "#333", - id: "edge671", - }, - { - source: "414", - target: "413", - cluster: "C", - label: "C", - color: "#333", - id: "edge672", - }, - { - source: "414", - target: "246", - cluster: "A", - label: "A", - color: "#333", - id: "edge673", - }, - { - source: "415", - target: "401", - cluster: "A", - label: "A", - color: "#333", - id: "edge674", - }, - { - source: "415", - target: "326", - cluster: "A", - label: "A", - color: "#333", - id: "edge675", - }, - { - source: "415", - target: "327", - cluster: "B", - label: "B", - color: "#333", - id: "edge676", - }, - { - source: "416", - target: "401", - cluster: "B", - label: "B", - color: "#333", - id: "edge677", - }, - { - source: "416", - target: "326", - cluster: "B", - label: "B", - color: "#333", - id: "edge678", - }, - { - source: "418", - target: "417", - cluster: "B", - label: "B", - color: "#333", - id: "edge679", - }, - { - source: "420", - target: "318", - cluster: "A", - label: "A", - color: "#333", - id: "edge680", - }, - { - source: "422", - target: "421", - cluster: "A", - label: "A", - color: "#333", - id: "edge681", - }, - { - source: "423", - target: "421", - cluster: "B", - label: "B", - color: "#333", - id: "edge682", - }, - { - source: "423", - target: "422", - cluster: "C", - label: "C", - color: "#333", - id: "edge683", - }, - { - source: "425", - target: "424", - cluster: "A", - label: "A", - color: "#333", - id: "edge684", - }, - { - source: "426", - target: "424", - cluster: "B", - label: "B", - color: "#333", - id: "edge685", - }, - { - source: "426", - target: "425", - cluster: "C", - label: "C", - color: "#333", - id: "edge686", - }, - { - source: "427", - target: "45", - cluster: "B", - label: "B", - color: "#333", - id: "edge687", - }, - { - source: "428", - target: "427", - cluster: "A", - label: "A", - color: "#333", - id: "edge688", - }, - { - source: "430", - target: "429", - cluster: "B", - label: "B", - color: "#333", - id: "edge689", - }, - { - source: "431", - target: "429", - cluster: "C", - label: "C", - color: "#333", - id: "edge690", - }, - { - source: "433", - target: "432", - cluster: "B", - label: "B", - color: "#333", - id: "edge691", - }, - { - source: "434", - target: "244", - cluster: "A", - label: "A", - color: "#333", - id: "edge692", - }, - { - source: "434", - target: "243", - cluster: "C", - label: "C", - color: "#333", - id: "edge693", - }, - { - source: "436", - target: "435", - cluster: "B", - label: "B", - color: "#333", - id: "edge694", - }, - { - source: "437", - target: "435", - cluster: "C", - label: "C", - color: "#333", - id: "edge695", - }, - { - source: "437", - target: "436", - cluster: "A", - label: "A", - color: "#333", - id: "edge696", - }, - { - source: "438", - target: "117", - cluster: "A", - label: "A", - color: "#333", - id: "edge697", - }, - { - source: "439", - target: "438", - cluster: "B", - label: "B", - color: "#333", - id: "edge698", - }, - { - source: "440", - target: "438", - cluster: "C", - label: "C", - color: "#333", - id: "edge699", - }, - { - source: "440", - target: "117", - cluster: "C", - label: "C", - color: "#333", - id: "edge700", - }, - { - source: "442", - target: "441", - cluster: "B", - label: "B", - color: "#333", - id: "edge701", - }, - { - source: "442", - target: "71", - cluster: "A", - label: "A", - color: "#333", - id: "edge702", - }, - { - source: "444", - target: "443", - cluster: "C", - label: "C", - color: "#333", - id: "edge703", - }, - { - source: "446", - target: "445", - cluster: "A", - label: "A", - color: "#333", - id: "edge704", - }, - { - source: "447", - target: "445", - cluster: "B", - label: "B", - color: "#333", - id: "edge705", - }, - { - source: "447", - target: "446", - cluster: "C", - label: "C", - color: "#333", - id: "edge706", - }, - { - source: "448", - target: "445", - cluster: "C", - label: "C", - color: "#333", - id: "edge707", - }, - { - source: "448", - target: "446", - cluster: "A", - label: "A", - color: "#333", - id: "edge708", - }, - { - source: "448", - target: "447", - cluster: "B", - label: "B", - color: "#333", - id: "edge709", - }, - { - source: "449", - target: "281", - cluster: "B", - label: "B", - color: "#333", - id: "edge710", - }, - { - source: "452", - target: "451", - cluster: "A", - label: "A", - color: "#333", - id: "edge711", - }, - { - source: "453", - target: "451", - cluster: "B", - label: "B", - color: "#333", - id: "edge712", - }, - { - source: "453", - target: "452", - cluster: "C", - label: "C", - color: "#333", - id: "edge713", - }, - { - source: "454", - target: "451", - cluster: "C", - label: "C", - color: "#333", - id: "edge714", - }, - { - source: "454", - target: "452", - cluster: "A", - label: "A", - color: "#333", - id: "edge715", - }, - { - source: "454", - target: "453", - cluster: "B", - label: "B", - color: "#333", - id: "edge716", - }, - { - source: "455", - target: "451", - cluster: "A", - label: "A", - color: "#333", - id: "edge717", - }, - { - source: "455", - target: "452", - cluster: "B", - label: "B", - color: "#333", - id: "edge718", - }, - { - source: "455", - target: "453", - cluster: "C", - label: "C", - color: "#333", - id: "edge719", - }, - { - source: "455", - target: "454", - cluster: "A", - label: "A", - color: "#333", - id: "edge720", - }, - { - source: "456", - target: "451", - cluster: "B", - label: "B", - color: "#333", - id: "edge721", - }, - { - source: "456", - target: "452", - cluster: "C", - label: "C", - color: "#333", - id: "edge722", - }, - { - source: "456", - target: "453", - cluster: "A", - label: "A", - color: "#333", - id: "edge723", - }, - { - source: "456", - target: "454", - cluster: "B", - label: "B", - color: "#333", - id: "edge724", - }, - { - source: "456", - target: "455", - cluster: "C", - label: "C", - color: "#333", - id: "edge725", - }, - { - source: "457", - target: "451", - cluster: "C", - label: "C", - color: "#333", - id: "edge726", - }, - { - source: "457", - target: "452", - cluster: "A", - label: "A", - color: "#333", - id: "edge727", - }, - { - source: "457", - target: "453", - cluster: "B", - label: "B", - color: "#333", - id: "edge728", - }, - { - source: "457", - target: "454", - cluster: "C", - label: "C", - color: "#333", - id: "edge729", - }, - { - source: "457", - target: "455", - cluster: "A", - label: "A", - color: "#333", - id: "edge730", - }, - { - source: "457", - target: "456", - cluster: "B", - label: "B", - color: "#333", - id: "edge731", - }, - { - source: "458", - target: "451", - cluster: "A", - label: "A", - color: "#333", - id: "edge732", - }, - { - source: "458", - target: "452", - cluster: "B", - label: "B", - color: "#333", - id: "edge733", - }, - { - source: "458", - target: "453", - cluster: "C", - label: "C", - color: "#333", - id: "edge734", - }, - { - source: "458", - target: "454", - cluster: "A", - label: "A", - color: "#333", - id: "edge735", - }, - { - source: "458", - target: "455", - cluster: "B", - label: "B", - color: "#333", - id: "edge736", - }, - { - source: "458", - target: "456", - cluster: "C", - label: "C", - color: "#333", - id: "edge737", - }, - { - source: "458", - target: "457", - cluster: "A", - label: "A", - color: "#333", - id: "edge738", - }, - { - source: "460", - target: "459", - cluster: "B", - label: "B", - color: "#333", - id: "edge739", - }, - { - source: "461", - target: "459", - cluster: "C", - label: "C", - color: "#333", - id: "edge740", - }, - { - source: "461", - target: "460", - cluster: "A", - label: "A", - color: "#333", - id: "edge741", - }, - { - source: "462", - target: "459", - cluster: "A", - label: "A", - color: "#333", - id: "edge742", - }, - { - source: "462", - target: "460", - cluster: "B", - label: "B", - color: "#333", - id: "edge743", - }, - { - source: "462", - target: "461", - cluster: "C", - label: "C", - color: "#333", - id: "edge744", - }, - { - source: "462", - target: "300", - cluster: "A", - label: "A", - color: "#333", - id: "edge745", - }, - { - source: "463", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge746", - }, - { - source: "464", - target: "463", - cluster: "A", - label: "A", - color: "#333", - id: "edge747", - }, - { - source: "465", - target: "463", - cluster: "B", - label: "B", - color: "#333", - id: "edge748", - }, - { - source: "465", - target: "464", - cluster: "C", - label: "C", - color: "#333", - id: "edge749", - }, - { - source: "467", - target: "466", - cluster: "A", - label: "A", - color: "#333", - id: "edge750", - }, - { - source: "468", - target: "466", - cluster: "B", - label: "B", - color: "#333", - id: "edge751", - }, - { - source: "468", - target: "467", - cluster: "C", - label: "C", - color: "#333", - id: "edge752", - }, - { - source: "469", - target: "466", - cluster: "C", - label: "C", - color: "#333", - id: "edge753", - }, - { - source: "469", - target: "467", - cluster: "A", - label: "A", - color: "#333", - id: "edge754", - }, - { - source: "469", - target: "468", - cluster: "B", - label: "B", - color: "#333", - id: "edge755", - }, - { - source: "470", - target: "466", - cluster: "A", - label: "A", - color: "#333", - id: "edge756", - }, - { - source: "470", - target: "467", - cluster: "B", - label: "B", - color: "#333", - id: "edge757", - }, - { - source: "470", - target: "468", - cluster: "C", - label: "C", - color: "#333", - id: "edge758", - }, - { - source: "470", - target: "469", - cluster: "A", - label: "A", - color: "#333", - id: "edge759", - }, - { - source: "472", - target: "471", - cluster: "B", - label: "B", - color: "#333", - id: "edge760", - }, - { - source: "472", - target: "221", - cluster: "A", - label: "A", - color: "#333", - id: "edge761", - }, - { - source: "472", - target: "218", - cluster: "A", - label: "A", - color: "#333", - id: "edge762", - }, - { - source: "473", - target: "471", - cluster: "C", - label: "C", - color: "#333", - id: "edge763", - }, - { - source: "473", - target: "472", - cluster: "A", - label: "A", - color: "#333", - id: "edge764", - }, - { - source: "475", - target: "474", - cluster: "B", - label: "B", - color: "#333", - id: "edge765", - }, - { - source: "476", - target: "474", - cluster: "C", - label: "C", - color: "#333", - id: "edge766", - }, - { - source: "477", - target: "474", - cluster: "A", - label: "A", - color: "#333", - id: "edge767", - }, - { - source: "477", - target: "476", - cluster: "C", - label: "C", - color: "#333", - id: "edge768", - }, - { - source: "479", - target: "478", - cluster: "A", - label: "A", - color: "#333", - id: "edge769", - }, - { - source: "480", - target: "478", - cluster: "B", - label: "B", - color: "#333", - id: "edge770", - }, - { - source: "480", - target: "479", - cluster: "C", - label: "C", - color: "#333", - id: "edge771", - }, - { - source: "481", - target: "478", - cluster: "C", - label: "C", - color: "#333", - id: "edge772", - }, - { - source: "481", - target: "479", - cluster: "A", - label: "A", - color: "#333", - id: "edge773", - }, - { - source: "481", - target: "480", - cluster: "B", - label: "B", - color: "#333", - id: "edge774", - }, - { - source: "483", - target: "482", - cluster: "C", - label: "C", - color: "#333", - id: "edge775", - }, - { - source: "484", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge776", - }, - { - source: "486", - target: "485", - cluster: "C", - label: "C", - color: "#333", - id: "edge777", - }, - { - source: "487", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge778", - }, - { - source: "487", - target: "53", - cluster: "A", - label: "A", - color: "#333", - id: "edge779", - }, - { - source: "488", - target: "487", - cluster: "A", - label: "A", - color: "#333", - id: "edge780", - }, - { - source: "488", - target: "32", - cluster: "B", - label: "B", - color: "#333", - id: "edge781", - }, - { - source: "488", - target: "53", - cluster: "B", - label: "B", - color: "#333", - id: "edge782", - }, - { - source: "489", - target: "308", - cluster: "C", - label: "C", - color: "#333", - id: "edge783", - }, - { - source: "489", - target: "77", - cluster: "C", - label: "C", - color: "#333", - id: "edge784", - }, - { - source: "490", - target: "489", - cluster: "B", - label: "B", - color: "#333", - id: "edge785", - }, - { - source: "490", - target: "308", - cluster: "A", - label: "A", - color: "#333", - id: "edge786", - }, - { - source: "491", - target: "489", - cluster: "C", - label: "C", - color: "#333", - id: "edge787", - }, - { - source: "492", - target: "489", - cluster: "A", - label: "A", - color: "#333", - id: "edge788", - }, - { - source: "492", - target: "308", - cluster: "C", - label: "C", - color: "#333", - id: "edge789", - }, - { - source: "494", - target: "493", - cluster: "A", - label: "A", - color: "#333", - id: "edge790", - }, - { - source: "495", - target: "493", - cluster: "B", - label: "B", - color: "#333", - id: "edge791", - }, - { - source: "495", - target: "494", - cluster: "C", - label: "C", - color: "#333", - id: "edge792", - }, - { - source: "497", - target: "496", - cluster: "A", - label: "A", - color: "#333", - id: "edge793", - }, - { - source: "498", - target: "302", - cluster: "C", - label: "C", - color: "#333", - id: "edge794", - }, - { - source: "499", - target: "149", - cluster: "A", - label: "A", - color: "#333", - id: "edge795", - }, - { - source: "500", - target: "499", - cluster: "A", - label: "A", - color: "#333", - id: "edge796", - }, - { - source: "501", - target: "499", - cluster: "B", - label: "B", - color: "#333", - id: "edge797", - }, - { - source: "501", - target: "500", - cluster: "C", - label: "C", - color: "#333", - id: "edge798", - }, - { - source: "502", - target: "499", - cluster: "C", - label: "C", - color: "#333", - id: "edge799", - }, - { - source: "502", - target: "501", - cluster: "B", - label: "B", - color: "#333", - id: "edge800", - }, - { - source: "505", - target: "504", - cluster: "B", - label: "B", - color: "#333", - id: "edge801", - }, - { - source: "506", - target: "189", - cluster: "C", - label: "C", - color: "#333", - id: "edge802", - }, - { - source: "506", - target: "32", - cluster: "B", - label: "B", - color: "#333", - id: "edge803", - }, - { - source: "507", - target: "506", - cluster: "C", - label: "C", - color: "#333", - id: "edge804", - }, - { - source: "507", - target: "189", - cluster: "A", - label: "A", - color: "#333", - id: "edge805", - }, - { - source: "507", - target: "32", - cluster: "C", - label: "C", - color: "#333", - id: "edge806", - }, - { - source: "508", - target: "506", - cluster: "A", - label: "A", - color: "#333", - id: "edge807", - }, - { - source: "508", - target: "507", - cluster: "B", - label: "B", - color: "#333", - id: "edge808", - }, - { - source: "508", - target: "189", - cluster: "B", - label: "B", - color: "#333", - id: "edge809", - }, - { - source: "508", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge810", - }, - { - source: "511", - target: "510", - cluster: "B", - label: "B", - color: "#333", - id: "edge811", - }, - { - source: "512", - target: "244", - cluster: "A", - label: "A", - color: "#333", - id: "edge812", - }, - { - source: "512", - target: "243", - cluster: "C", - label: "C", - color: "#333", - id: "edge813", - }, - { - source: "514", - target: "513", - cluster: "B", - label: "B", - color: "#333", - id: "edge814", - }, - { - source: "515", - target: "513", - cluster: "C", - label: "C", - color: "#333", - id: "edge815", - }, - { - source: "515", - target: "514", - cluster: "A", - label: "A", - color: "#333", - id: "edge816", - }, - { - source: "515", - target: "345", - cluster: "C", - label: "C", - color: "#333", - id: "edge817", - }, - { - source: "515", - target: "215", - cluster: "B", - label: "B", - color: "#333", - id: "edge818", - }, - { - source: "515", - target: "150", - cluster: "C", - label: "C", - color: "#333", - id: "edge819", - }, - { - source: "515", - target: "149", - cluster: "B", - label: "B", - color: "#333", - id: "edge820", - }, - { - source: "515", - target: "224", - cluster: "B", - label: "B", - color: "#333", - id: "edge821", - }, - { - source: "516", - target: "513", - cluster: "A", - label: "A", - color: "#333", - id: "edge822", - }, - { - source: "516", - target: "514", - cluster: "B", - label: "B", - color: "#333", - id: "edge823", - }, - { - source: "516", - target: "515", - cluster: "C", - label: "C", - color: "#333", - id: "edge824", - }, - { - source: "516", - target: "150", - cluster: "A", - label: "A", - color: "#333", - id: "edge825", - }, - { - source: "516", - target: "149", - cluster: "C", - label: "C", - color: "#333", - id: "edge826", - }, - { - source: "516", - target: "224", - cluster: "C", - label: "C", - color: "#333", - id: "edge827", - }, - { - source: "516", - target: "126", - cluster: "A", - label: "A", - color: "#333", - id: "edge828", - }, - { - source: "516", - target: "151", - cluster: "B", - label: "B", - color: "#333", - id: "edge829", - }, - { - source: "518", - target: "517", - cluster: "A", - label: "A", - color: "#333", - id: "edge830", - }, - { - source: "520", - target: "519", - cluster: "B", - label: "B", - color: "#333", - id: "edge831", - }, - { - source: "521", - target: "75", - cluster: "C", - label: "C", - color: "#333", - id: "edge832", - }, - { - source: "522", - target: "521", - cluster: "C", - label: "C", - color: "#333", - id: "edge833", - }, - { - source: "523", - target: "521", - cluster: "A", - label: "A", - color: "#333", - id: "edge834", - }, - { - source: "523", - target: "522", - cluster: "B", - label: "B", - color: "#333", - id: "edge835", - }, - { - source: "524", - target: "521", - cluster: "B", - label: "B", - color: "#333", - id: "edge836", - }, - { - source: "524", - target: "522", - cluster: "C", - label: "C", - color: "#333", - id: "edge837", - }, - { - source: "524", - target: "523", - cluster: "A", - label: "A", - color: "#333", - id: "edge838", - }, - { - source: "525", - target: "521", - cluster: "C", - label: "C", - color: "#333", - id: "edge839", - }, - { - source: "525", - target: "522", - cluster: "A", - label: "A", - color: "#333", - id: "edge840", - }, - { - source: "525", - target: "523", - cluster: "B", - label: "B", - color: "#333", - id: "edge841", - }, - { - source: "525", - target: "524", - cluster: "C", - label: "C", - color: "#333", - id: "edge842", - }, - { - source: "526", - target: "521", - cluster: "A", - label: "A", - color: "#333", - id: "edge843", - }, - { - source: "528", - target: "527", - cluster: "C", - label: "C", - color: "#333", - id: "edge844", - }, - { - source: "530", - target: "529", - cluster: "A", - label: "A", - color: "#333", - id: "edge845", - }, - { - source: "531", - target: "529", - cluster: "B", - label: "B", - color: "#333", - id: "edge846", - }, - { - source: "531", - target: "530", - cluster: "C", - label: "C", - color: "#333", - id: "edge847", - }, - { - source: "532", - target: "529", - cluster: "C", - label: "C", - color: "#333", - id: "edge848", - }, - { - source: "532", - target: "530", - cluster: "A", - label: "A", - color: "#333", - id: "edge849", - }, - { - source: "532", - target: "531", - cluster: "B", - label: "B", - color: "#333", - id: "edge850", - }, - { - source: "534", - target: "533", - cluster: "C", - label: "C", - color: "#333", - id: "edge851", - }, - { - source: "537", - target: "536", - cluster: "C", - label: "C", - color: "#333", - id: "edge852", - }, - { - source: "538", - target: "536", - cluster: "A", - label: "A", - color: "#333", - id: "edge853", - }, - { - source: "538", - target: "537", - cluster: "B", - label: "B", - color: "#333", - id: "edge854", - }, - { - source: "539", - target: "536", - cluster: "B", - label: "B", - color: "#333", - id: "edge855", - }, - { - source: "540", - target: "536", - cluster: "C", - label: "C", - color: "#333", - id: "edge856", - }, - { - source: "540", - target: "539", - cluster: "C", - label: "C", - color: "#333", - id: "edge857", - }, - { - source: "541", - target: "536", - cluster: "A", - label: "A", - color: "#333", - id: "edge858", - }, - { - source: "541", - target: "539", - cluster: "A", - label: "A", - color: "#333", - id: "edge859", - }, - { - source: "541", - target: "540", - cluster: "B", - label: "B", - color: "#333", - id: "edge860", - }, - { - source: "544", - target: "543", - cluster: "B", - label: "B", - color: "#333", - id: "edge861", - }, - { - source: "546", - target: "545", - cluster: "C", - label: "C", - color: "#333", - id: "edge862", - }, - { - source: "546", - target: "54", - cluster: "A", - label: "A", - color: "#333", - id: "edge863", - }, - { - source: "546", - target: "55", - cluster: "B", - label: "B", - color: "#333", - id: "edge864", - }, - { - source: "546", - target: "328", - cluster: "B", - label: "B", - color: "#333", - id: "edge865", - }, - { - source: "547", - target: "120", - cluster: "B", - label: "B", - color: "#333", - id: "edge866", - }, - { - source: "548", - target: "547", - cluster: "A", - label: "A", - color: "#333", - id: "edge867", - }, - { - source: "548", - target: "120", - cluster: "C", - label: "C", - color: "#333", - id: "edge868", - }, - { - source: "549", - target: "547", - cluster: "B", - label: "B", - color: "#333", - id: "edge869", - }, - { - source: "549", - target: "548", - cluster: "C", - label: "C", - color: "#333", - id: "edge870", - }, - { - source: "549", - target: "120", - cluster: "A", - label: "A", - color: "#333", - id: "edge871", - }, - { - source: "552", - target: "551", - cluster: "C", - label: "C", - color: "#333", - id: "edge872", - }, - { - source: "553", - target: "551", - cluster: "A", - label: "A", - color: "#333", - id: "edge873", - }, - { - source: "553", - target: "552", - cluster: "B", - label: "B", - color: "#333", - id: "edge874", - }, - { - source: "556", - target: "555", - cluster: "B", - label: "B", - color: "#333", - id: "edge875", - }, - { - source: "557", - target: "555", - cluster: "C", - label: "C", - color: "#333", - id: "edge876", - }, - { - source: "557", - target: "556", - cluster: "A", - label: "A", - color: "#333", - id: "edge877", - }, - { - source: "559", - target: "558", - cluster: "B", - label: "B", - color: "#333", - id: "edge878", - }, - { - source: "560", - target: "32", - cluster: "B", - label: "B", - color: "#333", - id: "edge879", - }, - { - source: "560", - target: "52", - cluster: "A", - label: "A", - color: "#333", - id: "edge880", - }, - { - source: "560", - target: "33", - cluster: "C", - label: "C", - color: "#333", - id: "edge881", - }, - { - source: "560", - target: "132", - cluster: "C", - label: "C", - color: "#333", - id: "edge882", - }, - { - source: "560", - target: "53", - cluster: "B", - label: "B", - color: "#333", - id: "edge883", - }, - { - source: "560", - target: "131", - cluster: "B", - label: "B", - color: "#333", - id: "edge884", - }, - { - source: "560", - target: "133", - cluster: "A", - label: "A", - color: "#333", - id: "edge885", - }, - { - source: "561", - target: "560", - cluster: "C", - label: "C", - color: "#333", - id: "edge886", - }, - { - source: "561", - target: "32", - cluster: "C", - label: "C", - color: "#333", - id: "edge887", - }, - { - source: "561", - target: "52", - cluster: "B", - label: "B", - color: "#333", - id: "edge888", - }, - { - source: "561", - target: "33", - cluster: "A", - label: "A", - color: "#333", - id: "edge889", - }, - { - source: "561", - target: "132", - cluster: "A", - label: "A", - color: "#333", - id: "edge890", - }, - { - source: "561", - target: "53", - cluster: "C", - label: "C", - color: "#333", - id: "edge891", - }, - { - source: "561", - target: "131", - cluster: "C", - label: "C", - color: "#333", - id: "edge892", - }, - { - source: "561", - target: "133", - cluster: "B", - label: "B", - color: "#333", - id: "edge893", - }, - { - source: "562", - target: "81", - cluster: "B", - label: "B", - color: "#333", - id: "edge894", - }, - { - source: "563", - target: "562", - cluster: "A", - label: "A", - color: "#333", - id: "edge895", - }, - { - source: "564", - target: "562", - cluster: "B", - label: "B", - color: "#333", - id: "edge896", - }, - { - source: "564", - target: "563", - cluster: "C", - label: "C", - color: "#333", - id: "edge897", - }, - { - source: "565", - target: "562", - cluster: "C", - label: "C", - color: "#333", - id: "edge898", - }, - { - source: "565", - target: "563", - cluster: "A", - label: "A", - color: "#333", - id: "edge899", - }, - { - source: "565", - target: "564", - cluster: "B", - label: "B", - color: "#333", - id: "edge900", - }, - { - source: "566", - target: "188", - cluster: "B", - label: "B", - color: "#333", - id: "edge901", - }, - { - source: "568", - target: "567", - cluster: "B", - label: "B", - color: "#333", - id: "edge902", - }, - { - source: "570", - target: "569", - cluster: "C", - label: "C", - color: "#333", - id: "edge903", - }, - { - source: "572", - target: "571", - cluster: "A", - label: "A", - color: "#333", - id: "edge904", - }, - { - source: "573", - target: "280", - cluster: "B", - label: "B", - color: "#333", - id: "edge905", - }, - { - source: "573", - target: "282", - cluster: "A", - label: "A", - color: "#333", - id: "edge906", - }, - { - source: "574", - target: "573", - cluster: "B", - label: "B", - color: "#333", - id: "edge907", - }, - { - source: "574", - target: "280", - cluster: "C", - label: "C", - color: "#333", - id: "edge908", - }, - { - source: "575", - target: "573", - cluster: "C", - label: "C", - color: "#333", - id: "edge909", - }, - { - source: "575", - target: "280", - cluster: "A", - label: "A", - color: "#333", - id: "edge910", - }, - { - source: "577", - target: "576", - cluster: "B", - label: "B", - color: "#333", - id: "edge911", - }, - { - source: "580", - target: "579", - cluster: "B", - label: "B", - color: "#333", - id: "edge912", - }, - { - source: "581", - target: "579", - cluster: "C", - label: "C", - color: "#333", - id: "edge913", - }, - { - source: "581", - target: "580", - cluster: "A", - label: "A", - color: "#333", - id: "edge914", - }, - { - source: "583", - target: "582", - cluster: "B", - label: "B", - color: "#333", - id: "edge915", - }, - { - source: "584", - target: "135", - cluster: "C", - label: "C", - color: "#333", - id: "edge916", - }, - { - source: "585", - target: "584", - cluster: "C", - label: "C", - color: "#333", - id: "edge917", - }, - { - source: "585", - target: "135", - cluster: "A", - label: "A", - color: "#333", - id: "edge918", - }, - { - source: "586", - target: "584", - cluster: "A", - label: "A", - color: "#333", - id: "edge919", - }, - { - source: "586", - target: "585", - cluster: "B", - label: "B", - color: "#333", - id: "edge920", - }, - { - source: "586", - target: "135", - cluster: "B", - label: "B", - color: "#333", - id: "edge921", - }, - { - source: "589", - target: "588", - cluster: "B", - label: "B", - color: "#333", - id: "edge922", - }, - { - source: "589", - target: "306", - cluster: "B", - label: "B", - color: "#333", - id: "edge923", - }, - { - source: "590", - target: "588", - cluster: "C", - label: "C", - color: "#333", - id: "edge924", - }, - { - source: "590", - target: "589", - cluster: "A", - label: "A", - color: "#333", - id: "edge925", - }, - { - source: "591", - target: "588", - cluster: "A", - label: "A", - color: "#333", - id: "edge926", - }, - { - source: "591", - target: "589", - cluster: "B", - label: "B", - color: "#333", - id: "edge927", - }, - { - source: "591", - target: "590", - cluster: "C", - label: "C", - color: "#333", - id: "edge928", - }, - { - source: "593", - target: "592", - cluster: "A", - label: "A", - color: "#333", - id: "edge929", - }, - { - source: "594", - target: "276", - cluster: "A", - label: "A", - color: "#333", - id: "edge930", - }, - { - source: "594", - target: "402", - cluster: "A", - label: "A", - color: "#333", - id: "edge931", - }, - { - source: "594", - target: "277", - cluster: "B", - label: "B", - color: "#333", - id: "edge932", - }, - { - source: "595", - target: "326", - cluster: "A", - label: "A", - color: "#333", - id: "edge933", - }, - { - source: "595", - target: "415", - cluster: "C", - label: "C", - color: "#333", - id: "edge934", - }, - { - source: "595", - target: "45", - cluster: "B", - label: "B", - color: "#333", - id: "edge935", - }, - { - source: "597", - target: "596", - cluster: "C", - label: "C", - color: "#333", - id: "edge936", - }, - { - source: "599", - target: "598", - cluster: "A", - label: "A", - color: "#333", - id: "edge937", - }, - { - source: "602", - target: "601", - cluster: "A", - label: "A", - color: "#333", - id: "edge938", - }, - { - source: "605", - target: "274", - cluster: "A", - label: "A", - color: "#333", - id: "edge939", - }, - { - source: "606", - target: "274", - cluster: "B", - label: "B", - color: "#333", - id: "edge940", - }, - { - source: "606", - target: "605", - cluster: "C", - label: "C", - color: "#333", - id: "edge941", - }, - { - source: "607", - target: "274", - cluster: "C", - label: "C", - color: "#333", - id: "edge942", - }, - { - source: "607", - target: "605", - cluster: "A", - label: "A", - color: "#333", - id: "edge943", - }, - { - source: "607", - target: "606", - cluster: "B", - label: "B", - color: "#333", - id: "edge944", - }, - { - source: "608", - target: "44", - cluster: "B", - label: "B", - color: "#333", - id: "edge945", - }, - { - source: "609", - target: "608", - cluster: "C", - label: "C", - color: "#333", - id: "edge946", - }, - { - source: "609", - target: "44", - cluster: "C", - label: "C", - color: "#333", - id: "edge947", - }, - { - source: "610", - target: "608", - cluster: "A", - label: "A", - color: "#333", - id: "edge948", - }, - { - source: "610", - target: "44", - cluster: "A", - label: "A", - color: "#333", - id: "edge949", - }, - { - source: "611", - target: "608", - cluster: "B", - label: "B", - color: "#333", - id: "edge950", - }, - { - source: "611", - target: "44", - cluster: "B", - label: "B", - color: "#333", - id: "edge951", - }, - { - source: "611", - target: "610", - cluster: "A", - label: "A", - color: "#333", - id: "edge952", - }, - { - source: "614", - target: "613", - cluster: "A", - label: "A", - color: "#333", - id: "edge953", - }, - { - source: "616", - target: "615", - cluster: "B", - label: "B", - color: "#333", - id: "edge954", - }, - { - source: "618", - target: "617", - cluster: "C", - label: "C", - color: "#333", - id: "edge955", - }, - { - source: "619", - target: "617", - cluster: "A", - label: "A", - color: "#333", - id: "edge956", - }, - { - source: "619", - target: "618", - cluster: "B", - label: "B", - color: "#333", - id: "edge957", - }, - { - source: "621", - target: "620", - cluster: "C", - label: "C", - color: "#333", - id: "edge958", - }, - { - source: "623", - target: "622", - cluster: "A", - label: "A", - color: "#333", - id: "edge959", - }, - { - source: "625", - target: "624", - cluster: "B", - label: "B", - color: "#333", - id: "edge960", - }, - { - source: "626", - target: "624", - cluster: "C", - label: "C", - color: "#333", - id: "edge961", - }, - { - source: "626", - target: "625", - cluster: "A", - label: "A", - color: "#333", - id: "edge962", - }, - { - source: "627", - target: "624", - cluster: "A", - label: "A", - color: "#333", - id: "edge963", - }, - { - source: "627", - target: "625", - cluster: "B", - label: "B", - color: "#333", - id: "edge964", - }, - { - source: "627", - target: "626", - cluster: "C", - label: "C", - color: "#333", - id: "edge965", - }, - { - source: "629", - target: "628", - cluster: "A", - label: "A", - color: "#333", - id: "edge966", - }, - { - source: "630", - target: "628", - cluster: "B", - label: "B", - color: "#333", - id: "edge967", - }, - { - source: "630", - target: "629", - cluster: "C", - label: "C", - color: "#333", - id: "edge968", - }, - { - source: "630", - target: "336", - cluster: "A", - label: "A", - color: "#333", - id: "edge969", - }, - { - source: "632", - target: "631", - cluster: "A", - label: "A", - color: "#333", - id: "edge970", - }, - { - source: "635", - target: "634", - cluster: "A", - label: "A", - color: "#333", - id: "edge971", - }, - { - source: "636", - target: "634", - cluster: "B", - label: "B", - color: "#333", - id: "edge972", - }, - { - source: "636", - target: "635", - cluster: "C", - label: "C", - color: "#333", - id: "edge973", - }, - { - source: "637", - target: "161", - cluster: "A", - label: "A", - color: "#333", - id: "edge974", - }, - { - source: "637", - target: "315", - cluster: "B", - label: "B", - color: "#333", - id: "edge975", - }, - { - source: "637", - target: "300", - cluster: "B", - label: "B", - color: "#333", - id: "edge976", - }, - { - source: "637", - target: "462", - cluster: "B", - label: "B", - color: "#333", - id: "edge977", - }, - { - source: "638", - target: "637", - cluster: "A", - label: "A", - color: "#333", - id: "edge978", - }, - { - source: "638", - target: "161", - cluster: "B", - label: "B", - color: "#333", - id: "edge979", - }, - { - source: "638", - target: "315", - cluster: "C", - label: "C", - color: "#333", - id: "edge980", - }, - { - source: "638", - target: "300", - cluster: "C", - label: "C", - color: "#333", - id: "edge981", - }, - { - source: "639", - target: "637", - cluster: "B", - label: "B", - color: "#333", - id: "edge982", - }, - { - source: "640", - target: "77", - cluster: "A", - label: "A", - color: "#333", - id: "edge983", - }, - { - source: "642", - target: "641", - cluster: "C", - label: "C", - color: "#333", - id: "edge984", - }, - { - source: "645", - target: "77", - cluster: "C", - label: "C", - color: "#333", - id: "edge985", - }, - { - source: "647", - target: "646", - cluster: "A", - label: "A", - color: "#333", - id: "edge986", - }, - { - source: "649", - target: "188", - cluster: "A", - label: "A", - color: "#333", - id: "edge987", - }, - { - source: "649", - target: "566", - cluster: "A", - label: "A", - color: "#333", - id: "edge988", - }, - { - source: "650", - target: "649", - cluster: "A", - label: "A", - color: "#333", - id: "edge989", - }, - { - source: "650", - target: "188", - cluster: "B", - label: "B", - color: "#333", - id: "edge990", - }, - { - source: "650", - target: "566", - cluster: "B", - label: "B", - color: "#333", - id: "edge991", - }, - { - source: "651", - target: "33", - cluster: "A", - label: "A", - color: "#333", - id: "edge992", - }, - { - source: "652", - target: "651", - cluster: "B", - label: "B", - color: "#333", - id: "edge993", - }, - { - source: "653", - target: "651", - cluster: "C", - label: "C", - color: "#333", - id: "edge994", - }, - { - source: "653", - target: "652", - cluster: "A", - label: "A", - color: "#333", - id: "edge995", - }, - { - source: "653", - target: "33", - cluster: "C", - label: "C", - color: "#333", - id: "edge996", - }, - { - source: "653", - target: "54", - cluster: "C", - label: "C", - color: "#333", - id: "edge997", - }, - { - source: "653", - target: "55", - cluster: "A", - label: "A", - color: "#333", - id: "edge998", - }, - { - source: "654", - target: "651", - cluster: "A", - label: "A", - color: "#333", - id: "edge999", - }, - { - source: "654", - target: "652", - cluster: "B", - label: "B", - color: "#333", - id: "edge1000", - }, - { - source: "654", - target: "653", - cluster: "C", - label: "C", - color: "#333", - id: "edge1001", - }, - { - source: "654", - target: "33", - cluster: "A", - label: "A", - color: "#333", - id: "edge1002", - }, - { - source: "655", - target: "651", - cluster: "B", - label: "B", - color: "#333", - id: "edge1003", - }, - { - source: "655", - target: "653", - cluster: "A", - label: "A", - color: "#333", - id: "edge1004", - }, - { - source: "655", - target: "654", - cluster: "B", - label: "B", - color: "#333", - id: "edge1005", - }, - { - source: "656", - target: "651", - cluster: "C", - label: "C", - color: "#333", - id: "edge1006", - }, - { - source: "656", - target: "33", - cluster: "C", - label: "C", - color: "#333", - id: "edge1007", - }, - { - source: "656", - target: "653", - cluster: "B", - label: "B", - color: "#333", - id: "edge1008", - }, - { - source: "656", - target: "654", - cluster: "C", - label: "C", - color: "#333", - id: "edge1009", - }, - { - source: "658", - target: "657", - cluster: "B", - label: "B", - color: "#333", - id: "edge1010", - }, - { - source: "659", - target: "657", - cluster: "C", - label: "C", - color: "#333", - id: "edge1011", - }, - { - source: "659", - target: "658", - cluster: "A", - label: "A", - color: "#333", - id: "edge1012", - }, - { - source: "660", - target: "657", - cluster: "A", - label: "A", - color: "#333", - id: "edge1013", - }, - { - source: "660", - target: "658", - cluster: "B", - label: "B", - color: "#333", - id: "edge1014", - }, - { - source: "660", - target: "659", - cluster: "C", - label: "C", - color: "#333", - id: "edge1015", - }, - { - source: "662", - target: "661", - cluster: "A", - label: "A", - color: "#333", - id: "edge1016", - }, - { - source: "663", - target: "661", - cluster: "B", - label: "B", - color: "#333", - id: "edge1017", - }, - { - source: "663", - target: "662", - cluster: "C", - label: "C", - color: "#333", - id: "edge1018", - }, - { - source: "664", - target: "661", - cluster: "C", - label: "C", - color: "#333", - id: "edge1019", - }, - { - source: "664", - target: "662", - cluster: "A", - label: "A", - color: "#333", - id: "edge1020", - }, - { - source: "664", - target: "663", - cluster: "B", - label: "B", - color: "#333", - id: "edge1021", - }, - { - source: "665", - target: "661", - cluster: "A", - label: "A", - color: "#333", - id: "edge1022", - }, - { - source: "665", - target: "662", - cluster: "B", - label: "B", - color: "#333", - id: "edge1023", - }, - { - source: "665", - target: "663", - cluster: "C", - label: "C", - color: "#333", - id: "edge1024", - }, - { - source: "665", - target: "664", - cluster: "A", - label: "A", - color: "#333", - id: "edge1025", - }, - { - source: "667", - target: "666", - cluster: "B", - label: "B", - color: "#333", - id: "edge1026", - }, - { - source: "669", - target: "668", - cluster: "C", - label: "C", - color: "#333", - id: "edge1027", - }, - { - source: "670", - target: "668", - cluster: "A", - label: "A", - color: "#333", - id: "edge1028", - }, - { - source: "672", - target: "671", - cluster: "C", - label: "C", - color: "#333", - id: "edge1029", - }, - { - source: "673", - target: "514", - cluster: "C", - label: "C", - color: "#333", - id: "edge1030", - }, - { - source: "673", - target: "515", - cluster: "A", - label: "A", - color: "#333", - id: "edge1031", - }, - { - source: "674", - target: "442", - cluster: "A", - label: "A", - color: "#333", - id: "edge1032", - }, - { - source: "675", - target: "674", - cluster: "C", - label: "C", - color: "#333", - id: "edge1033", - }, - { - source: "675", - target: "442", - cluster: "B", - label: "B", - color: "#333", - id: "edge1034", - }, - { - source: "676", - target: "662", - cluster: "A", - label: "A", - color: "#333", - id: "edge1035", - }, - { - source: "676", - target: "661", - cluster: "C", - label: "C", - color: "#333", - id: "edge1036", - }, - { - source: "678", - target: "677", - cluster: "C", - label: "C", - color: "#333", - id: "edge1037", - }, - { - source: "679", - target: "677", - cluster: "A", - label: "A", - color: "#333", - id: "edge1038", - }, - { - source: "679", - target: "678", - cluster: "B", - label: "B", - color: "#333", - id: "edge1039", - }, - { - source: "681", - target: "680", - cluster: "C", - label: "C", - color: "#333", - id: "edge1040", - }, - { - source: "682", - target: "680", - cluster: "A", - label: "A", - color: "#333", - id: "edge1041", - }, - { - source: "682", - target: "681", - cluster: "B", - label: "B", - color: "#333", - id: "edge1042", - }, - { - source: "683", - target: "680", - cluster: "B", - label: "B", - color: "#333", - id: "edge1043", - }, - { - source: "683", - target: "681", - cluster: "C", - label: "C", - color: "#333", - id: "edge1044", - }, - { - source: "683", - target: "682", - cluster: "A", - label: "A", - color: "#333", - id: "edge1045", - }, - { - source: "684", - target: "56", - cluster: "C", - label: "C", - color: "#333", - id: "edge1046", - }, - { - source: "685", - target: "349", - cluster: "C", - label: "C", - color: "#333", - id: "edge1047", - }, - { - source: "688", - target: "536", - cluster: "A", - label: "A", - color: "#333", - id: "edge1048", - }, - { - source: "688", - target: "538", - cluster: "C", - label: "C", - color: "#333", - id: "edge1049", - }, - { - source: "689", - target: "688", - cluster: "A", - label: "A", - color: "#333", - id: "edge1050", - }, - { - source: "689", - target: "536", - cluster: "B", - label: "B", - color: "#333", - id: "edge1051", - }, - { - source: "689", - target: "538", - cluster: "A", - label: "A", - color: "#333", - id: "edge1052", - }, - { - source: "691", - target: "341", - cluster: "A", - label: "A", - color: "#333", - id: "edge1053", - }, - { - source: "693", - target: "692", - cluster: "C", - label: "C", - color: "#333", - id: "edge1054", - }, - { - source: "694", - target: "692", - cluster: "A", - label: "A", - color: "#333", - id: "edge1055", - }, - { - source: "694", - target: "693", - cluster: "B", - label: "B", - color: "#333", - id: "edge1056", - }, - { - source: "695", - target: "692", - cluster: "B", - label: "B", - color: "#333", - id: "edge1057", - }, - { - source: "695", - target: "693", - cluster: "C", - label: "C", - color: "#333", - id: "edge1058", - }, - { - source: "695", - target: "694", - cluster: "A", - label: "A", - color: "#333", - id: "edge1059", - }, - { - source: "696", - target: "692", - cluster: "C", - label: "C", - color: "#333", - id: "edge1060", - }, - { - source: "696", - target: "693", - cluster: "A", - label: "A", - color: "#333", - id: "edge1061", - }, - { - source: "696", - target: "694", - cluster: "B", - label: "B", - color: "#333", - id: "edge1062", - }, - { - source: "696", - target: "695", - cluster: "C", - label: "C", - color: "#333", - id: "edge1063", - }, - { - source: "696", - target: "218", - cluster: "C", - label: "C", - color: "#333", - id: "edge1064", - }, - { - source: "696", - target: "342", - cluster: "A", - label: "A", - color: "#333", - id: "edge1065", - }, - { - source: "697", - target: "692", - cluster: "A", - label: "A", - color: "#333", - id: "edge1066", - }, - { - source: "697", - target: "693", - cluster: "B", - label: "B", - color: "#333", - id: "edge1067", - }, - { - source: "697", - target: "694", - cluster: "C", - label: "C", - color: "#333", - id: "edge1068", - }, - { - source: "697", - target: "695", - cluster: "A", - label: "A", - color: "#333", - id: "edge1069", - }, - { - source: "697", - target: "696", - cluster: "B", - label: "B", - color: "#333", - id: "edge1070", - }, - { - source: "698", - target: "444", - cluster: "C", - label: "C", - color: "#333", - id: "edge1071", - }, - { - source: "699", - target: "95", - cluster: "C", - label: "C", - color: "#333", - id: "edge1072", - }, - { - source: "700", - target: "699", - cluster: "B", - label: "B", - color: "#333", - id: "edge1073", - }, - { - source: "700", - target: "95", - cluster: "A", - label: "A", - color: "#333", - id: "edge1074", - }, - { - source: "701", - target: "699", - cluster: "C", - label: "C", - color: "#333", - id: "edge1075", - }, - { - source: "701", - target: "95", - cluster: "B", - label: "B", - color: "#333", - id: "edge1076", - }, - { - source: "701", - target: "700", - cluster: "A", - label: "A", - color: "#333", - id: "edge1077", - }, - { - source: "704", - target: "703", - cluster: "A", - label: "A", - color: "#333", - id: "edge1078", - }, - { - source: "705", - target: "703", - cluster: "B", - label: "B", - color: "#333", - id: "edge1079", - }, - { - source: "705", - target: "704", - cluster: "C", - label: "C", - color: "#333", - id: "edge1080", - }, - { - source: "706", - target: "703", - cluster: "C", - label: "C", - color: "#333", - id: "edge1081", - }, - { - source: "706", - target: "704", - cluster: "A", - label: "A", - color: "#333", - id: "edge1082", - }, - { - source: "706", - target: "705", - cluster: "B", - label: "B", - color: "#333", - id: "edge1083", - }, - { - source: "707", - target: "96", - cluster: "C", - label: "C", - color: "#333", - id: "edge1084", - }, - { - source: "707", - target: "93", - cluster: "C", - label: "C", - color: "#333", - id: "edge1085", - }, - { - source: "707", - target: "95", - cluster: "B", - label: "B", - color: "#333", - id: "edge1086", - }, - { - source: "707", - target: "98", - cluster: "B", - label: "B", - color: "#333", - id: "edge1087", - }, - { - source: "708", - target: "96", - cluster: "A", - label: "A", - color: "#333", - id: "edge1088", - }, - { - source: "708", - target: "68", - cluster: "C", - label: "C", - color: "#333", - id: "edge1089", - }, - { - source: "708", - target: "70", - cluster: "B", - label: "B", - color: "#333", - id: "edge1090", - }, - { - source: "708", - target: "71", - cluster: "C", - label: "C", - color: "#333", - id: "edge1091", - }, - { - source: "709", - target: "96", - cluster: "B", - label: "B", - color: "#333", - id: "edge1092", - }, - { - source: "709", - target: "708", - cluster: "B", - label: "B", - color: "#333", - id: "edge1093", - }, - { - source: "709", - target: "68", - cluster: "A", - label: "A", - color: "#333", - id: "edge1094", - }, - { - source: "710", - target: "86", - cluster: "B", - label: "B", - color: "#333", - id: "edge1095", - }, - { - source: "710", - target: "87", - cluster: "C", - label: "C", - color: "#333", - id: "edge1096", - }, - { - source: "711", - target: "641", - cluster: "C", - label: "C", - color: "#333", - id: "edge1097", - }, - { - source: "712", - target: "711", - cluster: "B", - label: "B", - color: "#333", - id: "edge1098", - }, - { - source: "712", - target: "641", - cluster: "A", - label: "A", - color: "#333", - id: "edge1099", - }, - { - source: "714", - target: "694", - cluster: "B", - label: "B", - color: "#333", - id: "edge1100", - }, - { - source: "715", - target: "694", - cluster: "C", - label: "C", - color: "#333", - id: "edge1101", - }, - { - source: "715", - target: "714", - cluster: "B", - label: "B", - color: "#333", - id: "edge1102", - }, - { - source: "716", - target: "694", - cluster: "A", - label: "A", - color: "#333", - id: "edge1103", - }, - { - source: "716", - target: "714", - cluster: "C", - label: "C", - color: "#333", - id: "edge1104", - }, - { - source: "716", - target: "715", - cluster: "A", - label: "A", - color: "#333", - id: "edge1105", - }, - { - source: "717", - target: "694", - cluster: "B", - label: "B", - color: "#333", - id: "edge1106", - }, - { - source: "717", - target: "714", - cluster: "A", - label: "A", - color: "#333", - id: "edge1107", - }, - { - source: "717", - target: "715", - cluster: "B", - label: "B", - color: "#333", - id: "edge1108", - }, - { - source: "717", - target: "716", - cluster: "C", - label: "C", - color: "#333", - id: "edge1109", - }, - { - source: "719", - target: "718", - cluster: "A", - label: "A", - color: "#333", - id: "edge1110", - }, - { - source: "720", - target: "669", - cluster: "A", - label: "A", - color: "#333", - id: "edge1111", - }, - { - source: "723", - target: "722", - cluster: "C", - label: "C", - color: "#333", - id: "edge1112", - }, - { - source: "724", - target: "722", - cluster: "A", - label: "A", - color: "#333", - id: "edge1113", - }, - { - source: "724", - target: "723", - cluster: "B", - label: "B", - color: "#333", - id: "edge1114", - }, - { - source: "725", - target: "722", - cluster: "B", - label: "B", - color: "#333", - id: "edge1115", - }, - { - source: "725", - target: "723", - cluster: "C", - label: "C", - color: "#333", - id: "edge1116", - }, - { - source: "725", - target: "724", - cluster: "A", - label: "A", - color: "#333", - id: "edge1117", - }, - { - source: "728", - target: "135", - cluster: "C", - label: "C", - color: "#333", - id: "edge1118", - }, - { - source: "728", - target: "586", - cluster: "A", - label: "A", - color: "#333", - id: "edge1119", - }, - { - source: "730", - target: "729", - cluster: "B", - label: "B", - color: "#333", - id: "edge1120", - }, - { - source: "732", - target: "731", - cluster: "C", - label: "C", - color: "#333", - id: "edge1121", - }, - { - source: "733", - target: "731", - cluster: "A", - label: "A", - color: "#333", - id: "edge1122", - }, - { - source: "733", - target: "732", - cluster: "B", - label: "B", - color: "#333", - id: "edge1123", - }, - { - source: "735", - target: "70", - cluster: "B", - label: "B", - color: "#333", - id: "edge1124", - }, - { - source: "736", - target: "735", - cluster: "B", - label: "B", - color: "#333", - id: "edge1125", - }, - { - source: "736", - target: "70", - cluster: "C", - label: "C", - color: "#333", - id: "edge1126", - }, - { - source: "737", - target: "442", - cluster: "A", - label: "A", - color: "#333", - id: "edge1127", - }, - { - source: "737", - target: "71", - cluster: "B", - label: "B", - color: "#333", - id: "edge1128", - }, - { - source: "738", - target: "442", - cluster: "B", - label: "B", - color: "#333", - id: "edge1129", - }, - { - source: "741", - target: "292", - cluster: "B", - label: "B", - color: "#333", - id: "edge1130", - }, - { - source: "741", - target: "293", - cluster: "C", - label: "C", - color: "#333", - id: "edge1131", - }, - { - source: "741", - target: "522", - cluster: "A", - label: "A", - color: "#333", - id: "edge1132", - }, - { - source: "742", - target: "741", - cluster: "B", - label: "B", - color: "#333", - id: "edge1133", - }, - { - source: "742", - target: "292", - cluster: "C", - label: "C", - color: "#333", - id: "edge1134", - }, - { - source: "742", - target: "293", - cluster: "A", - label: "A", - color: "#333", - id: "edge1135", - }, - { - source: "743", - target: "741", - cluster: "C", - label: "C", - color: "#333", - id: "edge1136", - }, - { - source: "743", - target: "292", - cluster: "A", - label: "A", - color: "#333", - id: "edge1137", - }, - { - source: "743", - target: "742", - cluster: "A", - label: "A", - color: "#333", - id: "edge1138", - }, - { - source: "743", - target: "293", - cluster: "B", - label: "B", - color: "#333", - id: "edge1139", - }, - { - source: "744", - target: "741", - cluster: "A", - label: "A", - color: "#333", - id: "edge1140", - }, - { - source: "745", - target: "741", - cluster: "B", - label: "B", - color: "#333", - id: "edge1141", - }, - { - source: "745", - target: "293", - cluster: "A", - label: "A", - color: "#333", - id: "edge1142", - }, - { - source: "745", - target: "522", - cluster: "B", - label: "B", - color: "#333", - id: "edge1143", - }, - { - source: "747", - target: "746", - cluster: "C", - label: "C", - color: "#333", - id: "edge1144", - }, - { - source: "750", - target: "749", - cluster: "C", - label: "C", - color: "#333", - id: "edge1145", - }, - { - source: "751", - target: "718", - cluster: "C", - label: "C", - color: "#333", - id: "edge1146", - }, - { - source: "752", - target: "751", - cluster: "A", - label: "A", - color: "#333", - id: "edge1147", - }, - { - source: "752", - target: "718", - cluster: "A", - label: "A", - color: "#333", - id: "edge1148", - }, - { - source: "754", - target: "753", - cluster: "B", - label: "B", - color: "#333", - id: "edge1149", - }, - { - source: "755", - target: "33", - cluster: "C", - label: "C", - color: "#333", - id: "edge1150", - }, - { - source: "755", - target: "77", - cluster: "B", - label: "B", - color: "#333", - id: "edge1151", - }, - { - source: "756", - target: "755", - cluster: "C", - label: "C", - color: "#333", - id: "edge1152", - }, - { - source: "756", - target: "68", - cluster: "C", - label: "C", - color: "#333", - id: "edge1153", - }, - { - source: "756", - target: "71", - cluster: "C", - label: "C", - color: "#333", - id: "edge1154", - }, - { - source: "757", - target: "755", - cluster: "A", - label: "A", - color: "#333", - id: "edge1155", - }, - { - source: "757", - target: "756", - cluster: "B", - label: "B", - color: "#333", - id: "edge1156", - }, - { - source: "757", - target: "68", - cluster: "A", - label: "A", - color: "#333", - id: "edge1157", - }, - { - source: "757", - target: "71", - cluster: "A", - label: "A", - color: "#333", - id: "edge1158", - }, - { - source: "758", - target: "755", - cluster: "B", - label: "B", - color: "#333", - id: "edge1159", - }, - { - source: "758", - target: "77", - cluster: "B", - label: "B", - color: "#333", - id: "edge1160", - }, - { - source: "758", - target: "370", - cluster: "A", - label: "A", - color: "#333", - id: "edge1161", - }, - { - source: "759", - target: "755", - cluster: "C", - label: "C", - color: "#333", - id: "edge1162", - }, - { - source: "759", - target: "33", - cluster: "A", - label: "A", - color: "#333", - id: "edge1163", - }, - { - source: "760", - target: "755", - cluster: "A", - label: "A", - color: "#333", - id: "edge1164", - }, - { - source: "760", - target: "33", - cluster: "B", - label: "B", - color: "#333", - id: "edge1165", - }, - { - source: "761", - target: "755", - cluster: "B", - label: "B", - color: "#333", - id: "edge1166", - }, - { - source: "761", - target: "760", - cluster: "A", - label: "A", - color: "#333", - id: "edge1167", - }, - { - source: "761", - target: "33", - cluster: "C", - label: "C", - color: "#333", - id: "edge1168", - }, - { - source: "762", - target: "755", - cluster: "C", - label: "C", - color: "#333", - id: "edge1169", - }, - { - source: "762", - target: "760", - cluster: "B", - label: "B", - color: "#333", - id: "edge1170", - }, - { - source: "762", - target: "761", - cluster: "C", - label: "C", - color: "#333", - id: "edge1171", - }, - { - source: "762", - target: "33", - cluster: "A", - label: "A", - color: "#333", - id: "edge1172", - }, - { - source: "763", - target: "755", - cluster: "A", - label: "A", - color: "#333", - id: "edge1173", - }, - { - source: "763", - target: "760", - cluster: "C", - label: "C", - color: "#333", - id: "edge1174", - }, - { - source: "763", - target: "120", - cluster: "B", - label: "B", - color: "#333", - id: "edge1175", - }, - { - source: "764", - target: "755", - cluster: "B", - label: "B", - color: "#333", - id: "edge1176", - }, - { - source: "764", - target: "763", - cluster: "A", - label: "A", - color: "#333", - id: "edge1177", - }, - { - source: "764", - target: "760", - cluster: "A", - label: "A", - color: "#333", - id: "edge1178", - }, - { - source: "764", - target: "120", - cluster: "C", - label: "C", - color: "#333", - id: "edge1179", - }, - { - source: "766", - target: "765", - cluster: "B", - label: "B", - color: "#333", - id: "edge1180", - }, - { - source: "767", - target: "765", - cluster: "C", - label: "C", - color: "#333", - id: "edge1181", - }, - { - source: "767", - target: "766", - cluster: "A", - label: "A", - color: "#333", - id: "edge1182", - }, - { - source: "768", - target: "765", - cluster: "A", - label: "A", - color: "#333", - id: "edge1183", - }, - { - source: "768", - target: "766", - cluster: "B", - label: "B", - color: "#333", - id: "edge1184", - }, - { - source: "768", - target: "767", - cluster: "C", - label: "C", - color: "#333", - id: "edge1185", - }, - { - source: "769", - target: "126", - cluster: "B", - label: "B", - color: "#333", - id: "edge1186", - }, - { - source: "769", - target: "125", - cluster: "A", - label: "A", - color: "#333", - id: "edge1187", - }, - { - source: "770", - target: "769", - cluster: "A", - label: "A", - color: "#333", - id: "edge1188", - }, - { - source: "770", - target: "126", - cluster: "C", - label: "C", - color: "#333", - id: "edge1189", - }, - { - source: "770", - target: "125", - cluster: "B", - label: "B", - color: "#333", - id: "edge1190", - }, - { - source: "771", - target: "769", - cluster: "B", - label: "B", - color: "#333", - id: "edge1191", - }, - { - source: "771", - target: "770", - cluster: "C", - label: "C", - color: "#333", - id: "edge1192", - }, - { - source: "771", - target: "126", - cluster: "A", - label: "A", - color: "#333", - id: "edge1193", - }, - { - source: "771", - target: "125", - cluster: "C", - label: "C", - color: "#333", - id: "edge1194", - }, - { - source: "772", - target: "769", - cluster: "C", - label: "C", - color: "#333", - id: "edge1195", - }, - { - source: "772", - target: "770", - cluster: "A", - label: "A", - color: "#333", - id: "edge1196", - }, - { - source: "772", - target: "126", - cluster: "B", - label: "B", - color: "#333", - id: "edge1197", - }, - { - source: "772", - target: "771", - cluster: "B", - label: "B", - color: "#333", - id: "edge1198", - }, - { - source: "772", - target: "125", - cluster: "A", - label: "A", - color: "#333", - id: "edge1199", - }, - { - source: "773", - target: "760", - cluster: "A", - label: "A", - color: "#333", - id: "edge1200", - }, - { - source: "773", - target: "656", - cluster: "B", - label: "B", - color: "#333", - id: "edge1201", - }, - { - source: "773", - target: "653", - cluster: "B", - label: "B", - color: "#333", - id: "edge1202", - }, - { - source: "774", - target: "773", - cluster: "C", - label: "C", - color: "#333", - id: "edge1203", - }, - { - source: "774", - target: "760", - cluster: "B", - label: "B", - color: "#333", - id: "edge1204", - }, - { - source: "774", - target: "763", - cluster: "B", - label: "B", - color: "#333", - id: "edge1205", - }, - { - source: "774", - target: "755", - cluster: "C", - label: "C", - color: "#333", - id: "edge1206", - }, - { - source: "774", - target: "764", - cluster: "C", - label: "C", - color: "#333", - id: "edge1207", - }, - { - source: "775", - target: "773", - cluster: "A", - label: "A", - color: "#333", - id: "edge1208", - }, - { - source: "775", - target: "760", - cluster: "C", - label: "C", - color: "#333", - id: "edge1209", - }, - { - source: "775", - target: "774", - cluster: "B", - label: "B", - color: "#333", - id: "edge1210", - }, - { - source: "777", - target: "776", - cluster: "C", - label: "C", - color: "#333", - id: "edge1211", - }, - { - source: "779", - target: "495", - cluster: "C", - label: "C", - color: "#333", - id: "edge1212", - }, - { - source: "780", - target: "779", - cluster: "C", - label: "C", - color: "#333", - id: "edge1213", - }, - { - source: "780", - target: "495", - cluster: "A", - label: "A", - color: "#333", - id: "edge1214", - }, - { - source: "782", - target: "630", - cluster: "C", - label: "C", - color: "#333", - id: "edge1215", - }, - { - source: "783", - target: "630", - cluster: "A", - label: "A", - color: "#333", - id: "edge1216", - }, - { - source: "783", - target: "782", - cluster: "C", - label: "C", - color: "#333", - id: "edge1217", - }, - { - source: "785", - target: "784", - cluster: "A", - label: "A", - color: "#333", - id: "edge1218", - }, - { - source: "786", - target: "784", - cluster: "B", - label: "B", - color: "#333", - id: "edge1219", - }, - { - source: "786", - target: "785", - cluster: "C", - label: "C", - color: "#333", - id: "edge1220", - }, - { - source: "787", - target: "345", - cluster: "B", - label: "B", - color: "#333", - id: "edge1221", - }, - { - source: "787", - target: "215", - cluster: "A", - label: "A", - color: "#333", - id: "edge1222", - }, - { - source: "787", - target: "515", - cluster: "A", - label: "A", - color: "#333", - id: "edge1223", - }, - { - source: "788", - target: "596", - cluster: "B", - label: "B", - color: "#333", - id: "edge1224", - }, - { - source: "789", - target: "788", - cluster: "C", - label: "C", - color: "#333", - id: "edge1225", - }, - { - source: "789", - target: "596", - cluster: "C", - label: "C", - color: "#333", - id: "edge1226", - }, - { - source: "791", - target: "661", - cluster: "A", - label: "A", - color: "#333", - id: "edge1227", - }, - { - source: "792", - target: "791", - cluster: "C", - label: "C", - color: "#333", - id: "edge1228", - }, - { - source: "792", - target: "661", - cluster: "B", - label: "B", - color: "#333", - id: "edge1229", - }, - { - source: "793", - target: "791", - cluster: "A", - label: "A", - color: "#333", - id: "edge1230", - }, - { - source: "793", - target: "661", - cluster: "C", - label: "C", - color: "#333", - id: "edge1231", - }, - { - source: "793", - target: "792", - cluster: "B", - label: "B", - color: "#333", - id: "edge1232", - }, - { - source: "794", - target: "63", - cluster: "C", - label: "C", - color: "#333", - id: "edge1233", - }, - { - source: "795", - target: "794", - cluster: "C", - label: "C", - color: "#333", - id: "edge1234", - }, - { - source: "795", - target: "63", - cluster: "A", - label: "A", - color: "#333", - id: "edge1235", - }, - { - source: "796", - target: "794", - cluster: "A", - label: "A", - color: "#333", - id: "edge1236", - }, - { - source: "796", - target: "795", - cluster: "B", - label: "B", - color: "#333", - id: "edge1237", - }, - { - source: "796", - target: "63", - cluster: "B", - label: "B", - color: "#333", - id: "edge1238", - }, - { - source: "797", - target: "794", - cluster: "B", - label: "B", - color: "#333", - id: "edge1239", - }, - { - source: "797", - target: "795", - cluster: "C", - label: "C", - color: "#333", - id: "edge1240", - }, - { - source: "797", - target: "796", - cluster: "A", - label: "A", - color: "#333", - id: "edge1241", - }, - { - source: "797", - target: "63", - cluster: "C", - label: "C", - color: "#333", - id: "edge1242", - }, - { - source: "799", - target: "798", - cluster: "B", - label: "B", - color: "#333", - id: "edge1243", - }, - { - source: "800", - target: "798", - cluster: "C", - label: "C", - color: "#333", - id: "edge1244", - }, - { - source: "800", - target: "799", - cluster: "A", - label: "A", - color: "#333", - id: "edge1245", - }, - { - source: "801", - target: "798", - cluster: "A", - label: "A", - color: "#333", - id: "edge1246", - }, - { - source: "801", - target: "799", - cluster: "B", - label: "B", - color: "#333", - id: "edge1247", - }, - { - source: "801", - target: "800", - cluster: "C", - label: "C", - color: "#333", - id: "edge1248", - }, - { - source: "802", - target: "798", - cluster: "B", - label: "B", - color: "#333", - id: "edge1249", - }, - { - source: "802", - target: "799", - cluster: "C", - label: "C", - color: "#333", - id: "edge1250", - }, - { - source: "802", - target: "800", - cluster: "A", - label: "A", - color: "#333", - id: "edge1251", - }, - { - source: "802", - target: "801", - cluster: "B", - label: "B", - color: "#333", - id: "edge1252", - }, - { - source: "803", - target: "798", - cluster: "C", - label: "C", - color: "#333", - id: "edge1253", - }, - { - source: "803", - target: "799", - cluster: "A", - label: "A", - color: "#333", - id: "edge1254", - }, - { - source: "803", - target: "800", - cluster: "B", - label: "B", - color: "#333", - id: "edge1255", - }, - { - source: "803", - target: "801", - cluster: "C", - label: "C", - color: "#333", - id: "edge1256", - }, - { - source: "803", - target: "802", - cluster: "A", - label: "A", - color: "#333", - id: "edge1257", - }, - { - source: "804", - target: "61", - cluster: "B", - label: "B", - color: "#333", - id: "edge1258", - }, - { - source: "804", - target: "361", - cluster: "B", - label: "B", - color: "#333", - id: "edge1259", - }, - { - source: "805", - target: "804", - cluster: "B", - label: "B", - color: "#333", - id: "edge1260", - }, - { - source: "805", - target: "61", - cluster: "C", - label: "C", - color: "#333", - id: "edge1261", - }, - { - source: "805", - target: "361", - cluster: "C", - label: "C", - color: "#333", - id: "edge1262", - }, - { - source: "806", - target: "804", - cluster: "C", - label: "C", - color: "#333", - id: "edge1263", - }, - { - source: "806", - target: "805", - cluster: "A", - label: "A", - color: "#333", - id: "edge1264", - }, - { - source: "806", - target: "61", - cluster: "A", - label: "A", - color: "#333", - id: "edge1265", - }, - { - source: "806", - target: "361", - cluster: "A", - label: "A", - color: "#333", - id: "edge1266", - }, - { - source: "807", - target: "804", - cluster: "A", - label: "A", - color: "#333", - id: "edge1267", - }, - { - source: "807", - target: "805", - cluster: "B", - label: "B", - color: "#333", - id: "edge1268", - }, - { - source: "807", - target: "806", - cluster: "C", - label: "C", - color: "#333", - id: "edge1269", - }, - { - source: "807", - target: "61", - cluster: "B", - label: "B", - color: "#333", - id: "edge1270", - }, - { - source: "809", - target: "808", - cluster: "A", - label: "A", - color: "#333", - id: "edge1271", - }, - { - source: "812", - target: "811", - cluster: "A", - label: "A", - color: "#333", - id: "edge1272", - }, - { - source: "814", - target: "813", - cluster: "B", - label: "B", - color: "#333", - id: "edge1273", - }, - { - source: "815", - target: "813", - cluster: "C", - label: "C", - color: "#333", - id: "edge1274", - }, - { - source: "815", - target: "814", - cluster: "A", - label: "A", - color: "#333", - id: "edge1275", - }, - { - source: "817", - target: "816", - cluster: "B", - label: "B", - color: "#333", - id: "edge1276", - }, - { - source: "819", - target: "818", - cluster: "C", - label: "C", - color: "#333", - id: "edge1277", - }, - { - source: "821", - target: "820", - cluster: "A", - label: "A", - color: "#333", - id: "edge1278", - }, - { - source: "822", - target: "820", - cluster: "B", - label: "B", - color: "#333", - id: "edge1279", - }, - { - source: "822", - target: "821", - cluster: "C", - label: "C", - color: "#333", - id: "edge1280", - }, - { - source: "823", - target: "820", - cluster: "C", - label: "C", - color: "#333", - id: "edge1281", - }, - { - source: "823", - target: "821", - cluster: "A", - label: "A", - color: "#333", - id: "edge1282", - }, - { - source: "823", - target: "822", - cluster: "B", - label: "B", - color: "#333", - id: "edge1283", - }, - { - source: "825", - target: "824", - cluster: "C", - label: "C", - color: "#333", - id: "edge1284", - }, - { - source: "826", - target: "824", - cluster: "A", - label: "A", - color: "#333", - id: "edge1285", - }, - { - source: "826", - target: "825", - cluster: "B", - label: "B", - color: "#333", - id: "edge1286", - }, - { - source: "827", - target: "824", - cluster: "B", - label: "B", - color: "#333", - id: "edge1287", - }, - { - source: "827", - target: "825", - cluster: "C", - label: "C", - color: "#333", - id: "edge1288", - }, - { - source: "827", - target: "826", - cluster: "A", - label: "A", - color: "#333", - id: "edge1289", - }, - { - source: "828", - target: "824", - cluster: "C", - label: "C", - color: "#333", - id: "edge1290", - }, - { - source: "828", - target: "825", - cluster: "A", - label: "A", - color: "#333", - id: "edge1291", - }, - { - source: "828", - target: "826", - cluster: "B", - label: "B", - color: "#333", - id: "edge1292", - }, - { - source: "828", - target: "827", - cluster: "C", - label: "C", - color: "#333", - id: "edge1293", - }, - { - source: "829", - target: "824", - cluster: "A", - label: "A", - color: "#333", - id: "edge1294", - }, - { - source: "829", - target: "825", - cluster: "B", - label: "B", - color: "#333", - id: "edge1295", - }, - { - source: "829", - target: "826", - cluster: "C", - label: "C", - color: "#333", - id: "edge1296", - }, - { - source: "829", - target: "827", - cluster: "A", - label: "A", - color: "#333", - id: "edge1297", - }, - { - source: "829", - target: "828", - cluster: "B", - label: "B", - color: "#333", - id: "edge1298", - }, - { - source: "830", - target: "824", - cluster: "B", - label: "B", - color: "#333", - id: "edge1299", - }, - { - source: "830", - target: "825", - cluster: "C", - label: "C", - color: "#333", - id: "edge1300", - }, - { - source: "830", - target: "826", - cluster: "A", - label: "A", - color: "#333", - id: "edge1301", - }, - { - source: "830", - target: "827", - cluster: "B", - label: "B", - color: "#333", - id: "edge1302", - }, - { - source: "830", - target: "828", - cluster: "C", - label: "C", - color: "#333", - id: "edge1303", - }, - { - source: "830", - target: "829", - cluster: "A", - label: "A", - color: "#333", - id: "edge1304", - }, - { - source: "831", - target: "824", - cluster: "C", - label: "C", - color: "#333", - id: "edge1305", - }, - { - source: "831", - target: "825", - cluster: "A", - label: "A", - color: "#333", - id: "edge1306", - }, - { - source: "831", - target: "826", - cluster: "B", - label: "B", - color: "#333", - id: "edge1307", - }, - { - source: "831", - target: "827", - cluster: "C", - label: "C", - color: "#333", - id: "edge1308", - }, - { - source: "831", - target: "828", - cluster: "A", - label: "A", - color: "#333", - id: "edge1309", - }, - { - source: "831", - target: "829", - cluster: "B", - label: "B", - color: "#333", - id: "edge1310", - }, - { - source: "831", - target: "830", - cluster: "C", - label: "C", - color: "#333", - id: "edge1311", - }, - { - source: "832", - target: "824", - cluster: "A", - label: "A", - color: "#333", - id: "edge1312", - }, - { - source: "832", - target: "825", - cluster: "B", - label: "B", - color: "#333", - id: "edge1313", - }, - { - source: "832", - target: "826", - cluster: "C", - label: "C", - color: "#333", - id: "edge1314", - }, - { - source: "832", - target: "827", - cluster: "A", - label: "A", - color: "#333", - id: "edge1315", - }, - { - source: "832", - target: "828", - cluster: "B", - label: "B", - color: "#333", - id: "edge1316", - }, - { - source: "832", - target: "829", - cluster: "C", - label: "C", - color: "#333", - id: "edge1317", - }, - { - source: "832", - target: "830", - cluster: "A", - label: "A", - color: "#333", - id: "edge1318", - }, - { - source: "832", - target: "831", - cluster: "B", - label: "B", - color: "#333", - id: "edge1319", - }, - { - source: "833", - target: "824", - cluster: "B", - label: "B", - color: "#333", - id: "edge1320", - }, - { - source: "833", - target: "825", - cluster: "C", - label: "C", - color: "#333", - id: "edge1321", - }, - { - source: "833", - target: "826", - cluster: "A", - label: "A", - color: "#333", - id: "edge1322", - }, - { - source: "833", - target: "827", - cluster: "B", - label: "B", - color: "#333", - id: "edge1323", - }, - { - source: "833", - target: "828", - cluster: "C", - label: "C", - color: "#333", - id: "edge1324", - }, - { - source: "833", - target: "829", - cluster: "A", - label: "A", - color: "#333", - id: "edge1325", - }, - { - source: "833", - target: "830", - cluster: "B", - label: "B", - color: "#333", - id: "edge1326", - }, - { - source: "833", - target: "831", - cluster: "C", - label: "C", - color: "#333", - id: "edge1327", - }, - { - source: "833", - target: "832", - cluster: "A", - label: "A", - color: "#333", - id: "edge1328", - }, - { - source: "835", - target: "834", - cluster: "B", - label: "B", - color: "#333", - id: "edge1329", - }, - { - source: "836", - target: "834", - cluster: "C", - label: "C", - color: "#333", - id: "edge1330", - }, - { - source: "836", - target: "835", - cluster: "A", - label: "A", - color: "#333", - id: "edge1331", - }, - { - source: "838", - target: "33", - cluster: "B", - label: "B", - color: "#333", - id: "edge1332", - }, - { - source: "838", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge1333", - }, - { - source: "838", - target: "53", - cluster: "A", - label: "A", - color: "#333", - id: "edge1334", - }, - { - source: "839", - target: "33", - cluster: "C", - label: "C", - color: "#333", - id: "edge1335", - }, - { - source: "839", - target: "29", - cluster: "B", - label: "B", - color: "#333", - id: "edge1336", - }, - { - source: "839", - target: "53", - cluster: "B", - label: "B", - color: "#333", - id: "edge1337", - }, - { - source: "839", - target: "32", - cluster: "B", - label: "B", - color: "#333", - id: "edge1338", - }, - { - source: "841", - target: "840", - cluster: "B", - label: "B", - color: "#333", - id: "edge1339", - }, - { - source: "842", - target: "840", - cluster: "C", - label: "C", - color: "#333", - id: "edge1340", - }, - { - source: "842", - target: "841", - cluster: "A", - label: "A", - color: "#333", - id: "edge1341", - }, - { - source: "844", - target: "843", - cluster: "B", - label: "B", - color: "#333", - id: "edge1342", - }, - { - source: "845", - target: "843", - cluster: "C", - label: "C", - color: "#333", - id: "edge1343", - }, - { - source: "845", - target: "844", - cluster: "A", - label: "A", - color: "#333", - id: "edge1344", - }, - { - source: "846", - target: "843", - cluster: "A", - label: "A", - color: "#333", - id: "edge1345", - }, - { - source: "846", - target: "844", - cluster: "B", - label: "B", - color: "#333", - id: "edge1346", - }, - { - source: "846", - target: "845", - cluster: "C", - label: "C", - color: "#333", - id: "edge1347", - }, - { - source: "848", - target: "847", - cluster: "A", - label: "A", - color: "#333", - id: "edge1348", - }, - { - source: "850", - target: "849", - cluster: "B", - label: "B", - color: "#333", - id: "edge1349", - }, - { - source: "851", - target: "849", - cluster: "C", - label: "C", - color: "#333", - id: "edge1350", - }, - { - source: "851", - target: "850", - cluster: "A", - label: "A", - color: "#333", - id: "edge1351", - }, - { - source: "852", - target: "645", - cluster: "A", - label: "A", - color: "#333", - id: "edge1352", - }, - { - source: "852", - target: "77", - cluster: "C", - label: "C", - color: "#333", - id: "edge1353", - }, - { - source: "855", - target: "854", - cluster: "C", - label: "C", - color: "#333", - id: "edge1354", - }, - { - source: "856", - target: "854", - cluster: "A", - label: "A", - color: "#333", - id: "edge1355", - }, - { - source: "856", - target: "855", - cluster: "B", - label: "B", - color: "#333", - id: "edge1356", - }, - { - source: "858", - target: "105", - cluster: "A", - label: "A", - color: "#333", - id: "edge1357", - }, - { - source: "859", - target: "293", - cluster: "A", - label: "A", - color: "#333", - id: "edge1358", - }, - { - source: "860", - target: "859", - cluster: "A", - label: "A", - color: "#333", - id: "edge1359", - }, - { - source: "861", - target: "859", - cluster: "B", - label: "B", - color: "#333", - id: "edge1360", - }, - { - source: "861", - target: "860", - cluster: "C", - label: "C", - color: "#333", - id: "edge1361", - }, - { - source: "862", - target: "653", - cluster: "A", - label: "A", - color: "#333", - id: "edge1362", - }, - { - source: "863", - target: "862", - cluster: "A", - label: "A", - color: "#333", - id: "edge1363", - }, - { - source: "863", - target: "653", - cluster: "B", - label: "B", - color: "#333", - id: "edge1364", - }, - { - source: "864", - target: "653", - cluster: "C", - label: "C", - color: "#333", - id: "edge1365", - }, - { - source: "864", - target: "33", - cluster: "A", - label: "A", - color: "#333", - id: "edge1366", - }, - { - source: "865", - target: "370", - cluster: "C", - label: "C", - color: "#333", - id: "edge1367", - }, - { - source: "866", - target: "865", - cluster: "A", - label: "A", - color: "#333", - id: "edge1368", - }, - { - source: "866", - target: "370", - cluster: "A", - label: "A", - color: "#333", - id: "edge1369", - }, - { - source: "870", - target: "869", - cluster: "C", - label: "C", - color: "#333", - id: "edge1370", - }, - { - source: "871", - target: "869", - cluster: "A", - label: "A", - color: "#333", - id: "edge1371", - }, - { - source: "871", - target: "870", - cluster: "B", - label: "B", - color: "#333", - id: "edge1372", - }, - { - source: "872", - target: "869", - cluster: "B", - label: "B", - color: "#333", - id: "edge1373", - }, - { - source: "872", - target: "870", - cluster: "C", - label: "C", - color: "#333", - id: "edge1374", - }, - { - source: "872", - target: "871", - cluster: "A", - label: "A", - color: "#333", - id: "edge1375", - }, - { - source: "873", - target: "869", - cluster: "C", - label: "C", - color: "#333", - id: "edge1376", - }, - { - source: "873", - target: "870", - cluster: "A", - label: "A", - color: "#333", - id: "edge1377", - }, - { - source: "873", - target: "871", - cluster: "B", - label: "B", - color: "#333", - id: "edge1378", - }, - { - source: "873", - target: "872", - cluster: "C", - label: "C", - color: "#333", - id: "edge1379", - }, - { - source: "877", - target: "876", - cluster: "B", - label: "B", - color: "#333", - id: "edge1380", - }, - { - source: "878", - target: "876", - cluster: "C", - label: "C", - color: "#333", - id: "edge1381", - }, - { - source: "878", - target: "877", - cluster: "A", - label: "A", - color: "#333", - id: "edge1382", - }, - { - source: "879", - target: "876", - cluster: "A", - label: "A", - color: "#333", - id: "edge1383", - }, - { - source: "879", - target: "877", - cluster: "B", - label: "B", - color: "#333", - id: "edge1384", - }, - { - source: "879", - target: "878", - cluster: "C", - label: "C", - color: "#333", - id: "edge1385", - }, - { - source: "880", - target: "876", - cluster: "B", - label: "B", - color: "#333", - id: "edge1386", - }, - { - source: "880", - target: "877", - cluster: "C", - label: "C", - color: "#333", - id: "edge1387", - }, - { - source: "880", - target: "878", - cluster: "A", - label: "A", - color: "#333", - id: "edge1388", - }, - { - source: "880", - target: "879", - cluster: "B", - label: "B", - color: "#333", - id: "edge1389", - }, - { - source: "883", - target: "882", - cluster: "B", - label: "B", - color: "#333", - id: "edge1390", - }, - { - source: "884", - target: "882", - cluster: "C", - label: "C", - color: "#333", - id: "edge1391", - }, - { - source: "884", - target: "883", - cluster: "A", - label: "A", - color: "#333", - id: "edge1392", - }, - { - source: "886", - target: "885", - cluster: "B", - label: "B", - color: "#333", - id: "edge1393", - }, - { - source: "888", - target: "887", - cluster: "C", - label: "C", - color: "#333", - id: "edge1394", - }, - { - source: "889", - target: "887", - cluster: "A", - label: "A", - color: "#333", - id: "edge1395", - }, - { - source: "889", - target: "888", - cluster: "B", - label: "B", - color: "#333", - id: "edge1396", - }, - { - source: "891", - target: "760", - cluster: "B", - label: "B", - color: "#333", - id: "edge1397", - }, - { - source: "891", - target: "763", - cluster: "B", - label: "B", - color: "#333", - id: "edge1398", - }, - { - source: "891", - target: "755", - cluster: "C", - label: "C", - color: "#333", - id: "edge1399", - }, - { - source: "891", - target: "764", - cluster: "C", - label: "C", - color: "#333", - id: "edge1400", - }, - { - source: "891", - target: "774", - cluster: "A", - label: "A", - color: "#333", - id: "edge1401", - }, - { - source: "892", - target: "651", - cluster: "B", - label: "B", - color: "#333", - id: "edge1402", - }, - { - source: "892", - target: "653", - cluster: "A", - label: "A", - color: "#333", - id: "edge1403", - }, - { - source: "892", - target: "654", - cluster: "B", - label: "B", - color: "#333", - id: "edge1404", - }, - { - source: "892", - target: "54", - cluster: "B", - label: "B", - color: "#333", - id: "edge1405", - }, - { - source: "892", - target: "55", - cluster: "C", - label: "C", - color: "#333", - id: "edge1406", - }, - { - source: "893", - target: "401", - cluster: "B", - label: "B", - color: "#333", - id: "edge1407", - }, - { - source: "893", - target: "29", - cluster: "B", - label: "B", - color: "#333", - id: "edge1408", - }, - { - source: "893", - target: "326", - cluster: "B", - label: "B", - color: "#333", - id: "edge1409", - }, - { - source: "895", - target: "894", - cluster: "B", - label: "B", - color: "#333", - id: "edge1410", - }, - { - source: "896", - target: "894", - cluster: "C", - label: "C", - color: "#333", - id: "edge1411", - }, - { - source: "896", - target: "895", - cluster: "A", - label: "A", - color: "#333", - id: "edge1412", - }, - { - source: "897", - target: "894", - cluster: "A", - label: "A", - color: "#333", - id: "edge1413", - }, - { - source: "897", - target: "895", - cluster: "B", - label: "B", - color: "#333", - id: "edge1414", - }, - { - source: "897", - target: "896", - cluster: "C", - label: "C", - color: "#333", - id: "edge1415", - }, - { - source: "898", - target: "894", - cluster: "B", - label: "B", - color: "#333", - id: "edge1416", - }, - { - source: "898", - target: "895", - cluster: "C", - label: "C", - color: "#333", - id: "edge1417", - }, - { - source: "898", - target: "896", - cluster: "A", - label: "A", - color: "#333", - id: "edge1418", - }, - { - source: "898", - target: "897", - cluster: "B", - label: "B", - color: "#333", - id: "edge1419", - }, - { - source: "900", - target: "899", - cluster: "C", - label: "C", - color: "#333", - id: "edge1420", - }, - { - source: "901", - target: "899", - cluster: "A", - label: "A", - color: "#333", - id: "edge1421", - }, - { - source: "901", - target: "900", - cluster: "B", - label: "B", - color: "#333", - id: "edge1422", - }, - { - source: "903", - target: "902", - cluster: "C", - label: "C", - color: "#333", - id: "edge1423", - }, - { - source: "904", - target: "902", - cluster: "A", - label: "A", - color: "#333", - id: "edge1424", - }, - { - source: "904", - target: "903", - cluster: "B", - label: "B", - color: "#333", - id: "edge1425", - }, - { - source: "906", - target: "905", - cluster: "C", - label: "C", - color: "#333", - id: "edge1426", - }, - { - source: "907", - target: "306", - cluster: "B", - label: "B", - color: "#333", - id: "edge1427", - }, - { - source: "907", - target: "264", - cluster: "B", - label: "B", - color: "#333", - id: "edge1428", - }, - { - source: "907", - target: "265", - cluster: "C", - label: "C", - color: "#333", - id: "edge1429", - }, - { - source: "907", - target: "267", - cluster: "B", - label: "B", - color: "#333", - id: "edge1430", - }, - { - source: "909", - target: "908", - cluster: "C", - label: "C", - color: "#333", - id: "edge1431", - }, - { - source: "910", - target: "908", - cluster: "A", - label: "A", - color: "#333", - id: "edge1432", - }, - { - source: "910", - target: "909", - cluster: "B", - label: "B", - color: "#333", - id: "edge1433", - }, - { - source: "912", - target: "911", - cluster: "C", - label: "C", - color: "#333", - id: "edge1434", - }, - { - source: "913", - target: "911", - cluster: "A", - label: "A", - color: "#333", - id: "edge1435", - }, - { - source: "913", - target: "912", - cluster: "B", - label: "B", - color: "#333", - id: "edge1436", - }, - { - source: "914", - target: "911", - cluster: "B", - label: "B", - color: "#333", - id: "edge1437", - }, - { - source: "914", - target: "912", - cluster: "C", - label: "C", - color: "#333", - id: "edge1438", - }, - { - source: "914", - target: "913", - cluster: "A", - label: "A", - color: "#333", - id: "edge1439", - }, - { - source: "915", - target: "911", - cluster: "C", - label: "C", - color: "#333", - id: "edge1440", - }, - { - source: "915", - target: "912", - cluster: "A", - label: "A", - color: "#333", - id: "edge1441", - }, - { - source: "915", - target: "913", - cluster: "B", - label: "B", - color: "#333", - id: "edge1442", - }, - { - source: "915", - target: "914", - cluster: "C", - label: "C", - color: "#333", - id: "edge1443", - }, - { - source: "916", - target: "911", - cluster: "A", - label: "A", - color: "#333", - id: "edge1444", - }, - { - source: "916", - target: "912", - cluster: "B", - label: "B", - color: "#333", - id: "edge1445", - }, - { - source: "916", - target: "913", - cluster: "C", - label: "C", - color: "#333", - id: "edge1446", - }, - { - source: "916", - target: "914", - cluster: "A", - label: "A", - color: "#333", - id: "edge1447", - }, - { - source: "916", - target: "915", - cluster: "B", - label: "B", - color: "#333", - id: "edge1448", - }, - { - source: "917", - target: "170", - cluster: "B", - label: "B", - color: "#333", - id: "edge1449", - }, - { - source: "920", - target: "919", - cluster: "A", - label: "A", - color: "#333", - id: "edge1450", - }, - { - source: "921", - target: "414", - cluster: "A", - label: "A", - color: "#333", - id: "edge1451", - }, - { - source: "923", - target: "922", - cluster: "A", - label: "A", - color: "#333", - id: "edge1452", - }, - { - source: "924", - target: "922", - cluster: "B", - label: "B", - color: "#333", - id: "edge1453", - }, - { - source: "924", - target: "923", - cluster: "C", - label: "C", - color: "#333", - id: "edge1454", - }, - { - source: "925", - target: "176", - cluster: "A", - label: "A", - color: "#333", - id: "edge1455", - }, - { - source: "926", - target: "242", - cluster: "B", - label: "B", - color: "#333", - id: "edge1456", - }, - { - source: "929", - target: "928", - cluster: "A", - label: "A", - color: "#333", - id: "edge1457", - }, - { - source: "930", - target: "741", - cluster: "A", - label: "A", - color: "#333", - id: "edge1458", - }, - { - source: "930", - target: "292", - cluster: "B", - label: "B", - color: "#333", - id: "edge1459", - }, - { - source: "930", - target: "742", - cluster: "B", - label: "B", - color: "#333", - id: "edge1460", - }, - { - source: "930", - target: "293", - cluster: "C", - label: "C", - color: "#333", - id: "edge1461", - }, - { - source: "931", - target: "930", - cluster: "B", - label: "B", - color: "#333", - id: "edge1462", - }, - { - source: "931", - target: "741", - cluster: "B", - label: "B", - color: "#333", - id: "edge1463", - }, - { - source: "931", - target: "292", - cluster: "C", - label: "C", - color: "#333", - id: "edge1464", - }, - { - source: "931", - target: "742", - cluster: "C", - label: "C", - color: "#333", - id: "edge1465", - }, - { - source: "931", - target: "293", - cluster: "A", - label: "A", - color: "#333", - id: "edge1466", - }, - { - source: "932", - target: "930", - cluster: "C", - label: "C", - color: "#333", - id: "edge1467", - }, - { - source: "933", - target: "54", - cluster: "A", - label: "A", - color: "#333", - id: "edge1468", - }, - { - source: "933", - target: "55", - cluster: "B", - label: "B", - color: "#333", - id: "edge1469", - }, - { - source: "934", - target: "116", - cluster: "A", - label: "A", - color: "#333", - id: "edge1470", - }, - { - source: "935", - target: "934", - cluster: "A", - label: "A", - color: "#333", - id: "edge1471", - }, - { - source: "935", - target: "116", - cluster: "B", - label: "B", - color: "#333", - id: "edge1472", - }, - { - source: "936", - target: "934", - cluster: "B", - label: "B", - color: "#333", - id: "edge1473", - }, - { - source: "936", - target: "935", - cluster: "C", - label: "C", - color: "#333", - id: "edge1474", - }, - { - source: "936", - target: "116", - cluster: "C", - label: "C", - color: "#333", - id: "edge1475", - }, - { - source: "937", - target: "934", - cluster: "C", - label: "C", - color: "#333", - id: "edge1476", - }, - { - source: "937", - target: "935", - cluster: "A", - label: "A", - color: "#333", - id: "edge1477", - }, - { - source: "937", - target: "936", - cluster: "B", - label: "B", - color: "#333", - id: "edge1478", - }, - { - source: "937", - target: "116", - cluster: "A", - label: "A", - color: "#333", - id: "edge1479", - }, - { - source: "939", - target: "477", - cluster: "A", - label: "A", - color: "#333", - id: "edge1480", - }, - { - source: "941", - target: "940", - cluster: "A", - label: "A", - color: "#333", - id: "edge1481", - }, - { - source: "942", - target: "940", - cluster: "B", - label: "B", - color: "#333", - id: "edge1482", - }, - { - source: "942", - target: "941", - cluster: "C", - label: "C", - color: "#333", - id: "edge1483", - }, - { - source: "943", - target: "262", - cluster: "C", - label: "C", - color: "#333", - id: "edge1484", - }, - { - source: "943", - target: "264", - cluster: "B", - label: "B", - color: "#333", - id: "edge1485", - }, - { - source: "943", - target: "265", - cluster: "C", - label: "C", - color: "#333", - id: "edge1486", - }, - { - source: "943", - target: "267", - cluster: "B", - label: "B", - color: "#333", - id: "edge1487", - }, - { - source: "944", - target: "262", - cluster: "A", - label: "A", - color: "#333", - id: "edge1488", - }, - { - source: "944", - target: "264", - cluster: "C", - label: "C", - color: "#333", - id: "edge1489", - }, - { - source: "944", - target: "265", - cluster: "A", - label: "A", - color: "#333", - id: "edge1490", - }, - { - source: "944", - target: "943", - cluster: "A", - label: "A", - color: "#333", - id: "edge1491", - }, - { - source: "944", - target: "267", - cluster: "C", - label: "C", - color: "#333", - id: "edge1492", - }, - { - source: "945", - target: "0", - cluster: "A", - label: "A", - color: "#333", - id: "edge1493", - }, - { - source: "947", - target: "946", - cluster: "A", - label: "A", - color: "#333", - id: "edge1494", - }, - { - source: "949", - target: "948", - cluster: "B", - label: "B", - color: "#333", - id: "edge1495", - }, - { - source: "951", - target: "950", - cluster: "C", - label: "C", - color: "#333", - id: "edge1496", - }, - { - source: "952", - target: "950", - cluster: "A", - label: "A", - color: "#333", - id: "edge1497", - }, - { - source: "952", - target: "951", - cluster: "B", - label: "B", - color: "#333", - id: "edge1498", - }, - { - source: "953", - target: "950", - cluster: "B", - label: "B", - color: "#333", - id: "edge1499", - }, - { - source: "953", - target: "952", - cluster: "A", - label: "A", - color: "#333", - id: "edge1500", - }, - { - source: "953", - target: "951", - cluster: "C", - label: "C", - color: "#333", - id: "edge1501", - }, - { - source: "954", - target: "193", - cluster: "B", - label: "B", - color: "#333", - id: "edge1502", - }, - { - source: "955", - target: "954", - cluster: "B", - label: "B", - color: "#333", - id: "edge1503", - }, - { - source: "955", - target: "193", - cluster: "C", - label: "C", - color: "#333", - id: "edge1504", - }, - { - source: "957", - target: "956", - cluster: "C", - label: "C", - color: "#333", - id: "edge1505", - }, - { - source: "958", - target: "956", - cluster: "A", - label: "A", - color: "#333", - id: "edge1506", - }, - { - source: "958", - target: "957", - cluster: "B", - label: "B", - color: "#333", - id: "edge1507", - }, - { - source: "960", - target: "959", - cluster: "C", - label: "C", - color: "#333", - id: "edge1508", - }, - { - source: "961", - target: "959", - cluster: "A", - label: "A", - color: "#333", - id: "edge1509", - }, - { - source: "961", - target: "960", - cluster: "B", - label: "B", - color: "#333", - id: "edge1510", - }, - { - source: "962", - target: "516", - cluster: "C", - label: "C", - color: "#333", - id: "edge1511", - }, - { - source: "962", - target: "150", - cluster: "C", - label: "C", - color: "#333", - id: "edge1512", - }, - { - source: "963", - target: "962", - cluster: "C", - label: "C", - color: "#333", - id: "edge1513", - }, - { - source: "963", - target: "516", - cluster: "A", - label: "A", - color: "#333", - id: "edge1514", - }, - { - source: "963", - target: "150", - cluster: "A", - label: "A", - color: "#333", - id: "edge1515", - }, - { - source: "965", - target: "964", - cluster: "A", - label: "A", - color: "#333", - id: "edge1516", - }, - { - source: "966", - target: "964", - cluster: "B", - label: "B", - color: "#333", - id: "edge1517", - }, - { - source: "966", - target: "965", - cluster: "C", - label: "C", - color: "#333", - id: "edge1518", - }, - { - source: "967", - target: "964", - cluster: "C", - label: "C", - color: "#333", - id: "edge1519", - }, - { - source: "967", - target: "965", - cluster: "A", - label: "A", - color: "#333", - id: "edge1520", - }, - { - source: "967", - target: "966", - cluster: "B", - label: "B", - color: "#333", - id: "edge1521", - }, - { - source: "968", - target: "964", - cluster: "A", - label: "A", - color: "#333", - id: "edge1522", - }, - { - source: "968", - target: "965", - cluster: "B", - label: "B", - color: "#333", - id: "edge1523", - }, - { - source: "968", - target: "966", - cluster: "C", - label: "C", - color: "#333", - id: "edge1524", - }, - { - source: "968", - target: "967", - cluster: "A", - label: "A", - color: "#333", - id: "edge1525", - }, - { - source: "969", - target: "964", - cluster: "B", - label: "B", - color: "#333", - id: "edge1526", - }, - { - source: "969", - target: "965", - cluster: "C", - label: "C", - color: "#333", - id: "edge1527", - }, - { - source: "969", - target: "966", - cluster: "A", - label: "A", - color: "#333", - id: "edge1528", - }, - { - source: "969", - target: "967", - cluster: "B", - label: "B", - color: "#333", - id: "edge1529", - }, - { - source: "969", - target: "968", - cluster: "C", - label: "C", - color: "#333", - id: "edge1530", - }, - { - source: "972", - target: "971", - cluster: "C", - label: "C", - color: "#333", - id: "edge1531", - }, - { - source: "972", - target: "299", - cluster: "C", - label: "C", - color: "#333", - id: "edge1532", - }, - { - source: "974", - target: "973", - cluster: "A", - label: "A", - color: "#333", - id: "edge1533", - }, - { - source: "975", - target: "973", - cluster: "B", - label: "B", - color: "#333", - id: "edge1534", - }, - { - source: "975", - target: "974", - cluster: "C", - label: "C", - color: "#333", - id: "edge1535", - }, - { - source: "975", - target: "87", - cluster: "A", - label: "A", - color: "#333", - id: "edge1536", - }, - { - source: "976", - target: "757", - cluster: "C", - label: "C", - color: "#333", - id: "edge1537", - }, - { - source: "976", - target: "756", - cluster: "B", - label: "B", - color: "#333", - id: "edge1538", - }, - { - source: "976", - target: "68", - cluster: "A", - label: "A", - color: "#333", - id: "edge1539", - }, - { - source: "976", - target: "71", - cluster: "A", - label: "A", - color: "#333", - id: "edge1540", - }, - { - source: "978", - target: "977", - cluster: "C", - label: "C", - color: "#333", - id: "edge1541", - }, - { - source: "980", - target: "979", - cluster: "A", - label: "A", - color: "#333", - id: "edge1542", - }, - { - source: "981", - target: "979", - cluster: "B", - label: "B", - color: "#333", - id: "edge1543", - }, - { - source: "981", - target: "980", - cluster: "C", - label: "C", - color: "#333", - id: "edge1544", - }, - { - source: "983", - target: "982", - cluster: "A", - label: "A", - color: "#333", - id: "edge1545", - }, - { - source: "983", - target: "472", - cluster: "A", - label: "A", - color: "#333", - id: "edge1546", - }, - { - source: "983", - target: "471", - cluster: "C", - label: "C", - color: "#333", - id: "edge1547", - }, - { - source: "984", - target: "982", - cluster: "B", - label: "B", - color: "#333", - id: "edge1548", - }, - { - source: "984", - target: "983", - cluster: "C", - label: "C", - color: "#333", - id: "edge1549", - }, - { - source: "984", - target: "472", - cluster: "B", - label: "B", - color: "#333", - id: "edge1550", - }, - { - source: "985", - target: "982", - cluster: "C", - label: "C", - color: "#333", - id: "edge1551", - }, - { - source: "985", - target: "983", - cluster: "A", - label: "A", - color: "#333", - id: "edge1552", - }, - { - source: "987", - target: "986", - cluster: "C", - label: "C", - color: "#333", - id: "edge1553", - }, - { - source: "988", - target: "972", - cluster: "B", - label: "B", - color: "#333", - id: "edge1554", - }, - { - source: "990", - target: "87", - cluster: "A", - label: "A", - color: "#333", - id: "edge1555", - }, - { - source: "992", - target: "991", - cluster: "A", - label: "A", - color: "#333", - id: "edge1556", - }, - { - source: "994", - target: "993", - cluster: "B", - label: "B", - color: "#333", - id: "edge1557", - }, - { - source: "995", - target: "993", - cluster: "C", - label: "C", - color: "#333", - id: "edge1558", - }, - { - source: "995", - target: "994", - cluster: "A", - label: "A", - color: "#333", - id: "edge1559", - }, - { - source: "996", - target: "993", - cluster: "A", - label: "A", - color: "#333", - id: "edge1560", - }, - { - source: "996", - target: "994", - cluster: "B", - label: "B", - color: "#333", - id: "edge1561", - }, - { - source: "996", - target: "995", - cluster: "C", - label: "C", - color: "#333", - id: "edge1562", - }, - { - source: "997", - target: "993", - cluster: "B", - label: "B", - color: "#333", - id: "edge1563", - }, - { - source: "997", - target: "994", - cluster: "C", - label: "C", - color: "#333", - id: "edge1564", - }, - { - source: "997", - target: "995", - cluster: "A", - label: "A", - color: "#333", - id: "edge1565", - }, - { - source: "997", - target: "996", - cluster: "B", - label: "B", - color: "#333", - id: "edge1566", - }, - { - source: "999", - target: "998", - cluster: "C", - label: "C", - color: "#333", - id: "edge1567", - }, - { - source: "999", - target: "912", - cluster: "A", - label: "A", - color: "#333", - id: "edge1568", - }, - { - source: "999", - target: "915", - cluster: "A", - label: "A", - color: "#333", - id: "edge1569", - }, - { - source: "999", - target: "254", - cluster: "C", - label: "C", - color: "#333", - id: "edge1570", - }, - { - source: "999", - target: "253", - cluster: "B", - label: "B", - color: "#333", - id: "edge1571", - }, - { - source: "1001", - target: "972", - cluster: "C", - label: "C", - color: "#333", - id: "edge1572", - }, - { - source: "1002", - target: "1001", - cluster: "C", - label: "C", - color: "#333", - id: "edge1573", - }, - { - source: "1002", - target: "972", - cluster: "A", - label: "A", - color: "#333", - id: "edge1574", - }, - { - source: "1003", - target: "1001", - cluster: "A", - label: "A", - color: "#333", - id: "edge1575", - }, - { - source: "1003", - target: "1002", - cluster: "B", - label: "B", - color: "#333", - id: "edge1576", - }, - { - source: "1003", - target: "972", - cluster: "B", - label: "B", - color: "#333", - id: "edge1577", - }, - { - source: "1004", - target: "77", - cluster: "B", - label: "B", - color: "#333", - id: "edge1578", - }, - { - source: "1006", - target: "1005", - cluster: "B", - label: "B", - color: "#333", - id: "edge1579", - }, - { - source: "1007", - target: "50", - cluster: "B", - label: "B", - color: "#333", - id: "edge1580", - }, - { - source: "1007", - target: "32", - cluster: "B", - label: "B", - color: "#333", - id: "edge1581", - }, - { - source: "1009", - target: "1008", - cluster: "B", - label: "B", - color: "#333", - id: "edge1582", - }, - { - source: "1011", - target: "1010", - cluster: "C", - label: "C", - color: "#333", - id: "edge1583", - }, - { - source: "1013", - target: "1012", - cluster: "A", - label: "A", - color: "#333", - id: "edge1584", - }, - { - source: "1015", - target: "61", - cluster: "C", - label: "C", - color: "#333", - id: "edge1585", - }, - { - source: "1015", - target: "805", - cluster: "C", - label: "C", - color: "#333", - id: "edge1586", - }, - { - source: "1017", - target: "1016", - cluster: "C", - label: "C", - color: "#333", - id: "edge1587", - }, - { - source: "1020", - target: "126", - cluster: "A", - label: "A", - color: "#333", - id: "edge1588", - }, - { - source: "1020", - target: "127", - cluster: "B", - label: "B", - color: "#333", - id: "edge1589", - }, - { - source: "1021", - target: "126", - cluster: "B", - label: "B", - color: "#333", - id: "edge1590", - }, - { - source: "1021", - target: "127", - cluster: "C", - label: "C", - color: "#333", - id: "edge1591", - }, - { - source: "1021", - target: "1020", - cluster: "B", - label: "B", - color: "#333", - id: "edge1592", - }, - { - source: "1022", - target: "126", - cluster: "C", - label: "C", - color: "#333", - id: "edge1593", - }, - { - source: "1022", - target: "127", - cluster: "A", - label: "A", - color: "#333", - id: "edge1594", - }, - { - source: "1022", - target: "1020", - cluster: "C", - label: "C", - color: "#333", - id: "edge1595", - }, - { - source: "1022", - target: "1021", - cluster: "A", - label: "A", - color: "#333", - id: "edge1596", - }, - { - source: "1023", - target: "52", - cluster: "B", - label: "B", - color: "#333", - id: "edge1597", - }, - { - source: "1024", - target: "1023", - cluster: "B", - label: "B", - color: "#333", - id: "edge1598", - }, - { - source: "1024", - target: "52", - cluster: "C", - label: "C", - color: "#333", - id: "edge1599", - }, - { - source: "1025", - target: "302", - cluster: "B", - label: "B", - color: "#333", - id: "edge1600", - }, - { - source: "1026", - target: "1025", - cluster: "C", - label: "C", - color: "#333", - id: "edge1601", - }, - { - source: "1027", - target: "745", - cluster: "C", - label: "C", - color: "#333", - id: "edge1602", - }, - { - source: "1027", - target: "293", - cluster: "A", - label: "A", - color: "#333", - id: "edge1603", - }, - { - source: "1028", - target: "1027", - cluster: "A", - label: "A", - color: "#333", - id: "edge1604", - }, - { - source: "1028", - target: "745", - cluster: "A", - label: "A", - color: "#333", - id: "edge1605", - }, - { - source: "1028", - target: "293", - cluster: "B", - label: "B", - color: "#333", - id: "edge1606", - }, - { - source: "1029", - target: "549", - cluster: "A", - label: "A", - color: "#333", - id: "edge1607", - }, - { - source: "1029", - target: "120", - cluster: "A", - label: "A", - color: "#333", - id: "edge1608", - }, - { - source: "1031", - target: "1030", - cluster: "A", - label: "A", - color: "#333", - id: "edge1609", - }, - { - source: "1033", - target: "1032", - cluster: "B", - label: "B", - color: "#333", - id: "edge1610", - }, - { - source: "1035", - target: "1034", - cluster: "C", - label: "C", - color: "#333", - id: "edge1611", - }, - { - source: "1036", - target: "1034", - cluster: "A", - label: "A", - color: "#333", - id: "edge1612", - }, - { - source: "1037", - target: "1034", - cluster: "B", - label: "B", - color: "#333", - id: "edge1613", - }, - { - source: "1037", - target: "1036", - cluster: "A", - label: "A", - color: "#333", - id: "edge1614", - }, - { - source: "1038", - target: "307", - cluster: "B", - label: "B", - color: "#333", - id: "edge1615", - }, - { - source: "1039", - target: "1038", - cluster: "B", - label: "B", - color: "#333", - id: "edge1616", - }, - { - source: "1039", - target: "307", - cluster: "C", - label: "C", - color: "#333", - id: "edge1617", - }, - { - source: "1040", - target: "223", - cluster: "A", - label: "A", - color: "#333", - id: "edge1618", - }, - { - source: "1040", - target: "217", - cluster: "A", - label: "A", - color: "#333", - id: "edge1619", - }, - { - source: "1040", - target: "215", - cluster: "B", - label: "B", - color: "#333", - id: "edge1620", - }, - { - source: "1042", - target: "1041", - cluster: "B", - label: "B", - color: "#333", - id: "edge1621", - }, - { - source: "1043", - target: "1041", - cluster: "C", - label: "C", - color: "#333", - id: "edge1622", - }, - { - source: "1043", - target: "1042", - cluster: "A", - label: "A", - color: "#333", - id: "edge1623", - }, - { - source: "1044", - target: "1009", - cluster: "B", - label: "B", - color: "#333", - id: "edge1624", - }, - { - source: "1045", - target: "481", - cluster: "C", - label: "C", - color: "#333", - id: "edge1625", - }, - { - source: "1046", - target: "11", - cluster: "B", - label: "B", - color: "#333", - id: "edge1626", - }, - { - source: "1047", - target: "1046", - cluster: "C", - label: "C", - color: "#333", - id: "edge1627", - }, - { - source: "1047", - target: "11", - cluster: "C", - label: "C", - color: "#333", - id: "edge1628", - }, - { - source: "1048", - target: "1046", - cluster: "A", - label: "A", - color: "#333", - id: "edge1629", - }, - { - source: "1048", - target: "1047", - cluster: "B", - label: "B", - color: "#333", - id: "edge1630", - }, - { - source: "1048", - target: "11", - cluster: "A", - label: "A", - color: "#333", - id: "edge1631", - }, - { - source: "1049", - target: "1046", - cluster: "B", - label: "B", - color: "#333", - id: "edge1632", - }, - { - source: "1049", - target: "1047", - cluster: "C", - label: "C", - color: "#333", - id: "edge1633", - }, - { - source: "1049", - target: "1048", - cluster: "A", - label: "A", - color: "#333", - id: "edge1634", - }, - { - source: "1049", - target: "11", - cluster: "B", - label: "B", - color: "#333", - id: "edge1635", - }, - { - source: "1052", - target: "1051", - cluster: "A", - label: "A", - color: "#333", - id: "edge1636", - }, - { - source: "1054", - target: "1053", - cluster: "B", - label: "B", - color: "#333", - id: "edge1637", - }, - { - source: "1055", - target: "1053", - cluster: "C", - label: "C", - color: "#333", - id: "edge1638", - }, - { - source: "1056", - target: "1053", - cluster: "A", - label: "A", - color: "#333", - id: "edge1639", - }, - { - source: "1056", - target: "1055", - cluster: "C", - label: "C", - color: "#333", - id: "edge1640", - }, - { - source: "1057", - target: "1053", - cluster: "B", - label: "B", - color: "#333", - id: "edge1641", - }, - { - source: "1057", - target: "1055", - cluster: "A", - label: "A", - color: "#333", - id: "edge1642", - }, - { - source: "1057", - target: "1056", - cluster: "B", - label: "B", - color: "#333", - id: "edge1643", - }, - { - source: "1060", - target: "1059", - cluster: "B", - label: "B", - color: "#333", - id: "edge1644", - }, - { - source: "1061", - target: "1059", - cluster: "C", - label: "C", - color: "#333", - id: "edge1645", - }, - { - source: "1061", - target: "1060", - cluster: "A", - label: "A", - color: "#333", - id: "edge1646", - }, - { - source: "1062", - target: "1059", - cluster: "A", - label: "A", - color: "#333", - id: "edge1647", - }, - { - source: "1062", - target: "1060", - cluster: "B", - label: "B", - color: "#333", - id: "edge1648", - }, - { - source: "1062", - target: "1061", - cluster: "C", - label: "C", - color: "#333", - id: "edge1649", - }, - { - source: "1063", - target: "1059", - cluster: "B", - label: "B", - color: "#333", - id: "edge1650", - }, - { - source: "1063", - target: "1060", - cluster: "C", - label: "C", - color: "#333", - id: "edge1651", - }, - { - source: "1063", - target: "1061", - cluster: "A", - label: "A", - color: "#333", - id: "edge1652", - }, - { - source: "1063", - target: "1062", - cluster: "B", - label: "B", - color: "#333", - id: "edge1653", - }, - { - source: "1064", - target: "1059", - cluster: "C", - label: "C", - color: "#333", - id: "edge1654", - }, - { - source: "1064", - target: "1060", - cluster: "A", - label: "A", - color: "#333", - id: "edge1655", - }, - { - source: "1064", - target: "1061", - cluster: "B", - label: "B", - color: "#333", - id: "edge1656", - }, - { - source: "1064", - target: "1062", - cluster: "C", - label: "C", - color: "#333", - id: "edge1657", - }, - { - source: "1064", - target: "1063", - cluster: "A", - label: "A", - color: "#333", - id: "edge1658", - }, - { - source: "1065", - target: "1059", - cluster: "A", - label: "A", - color: "#333", - id: "edge1659", - }, - { - source: "1065", - target: "1060", - cluster: "B", - label: "B", - color: "#333", - id: "edge1660", - }, - { - source: "1065", - target: "1061", - cluster: "C", - label: "C", - color: "#333", - id: "edge1661", - }, - { - source: "1065", - target: "1062", - cluster: "A", - label: "A", - color: "#333", - id: "edge1662", - }, - { - source: "1065", - target: "1063", - cluster: "B", - label: "B", - color: "#333", - id: "edge1663", - }, - { - source: "1065", - target: "1064", - cluster: "C", - label: "C", - color: "#333", - id: "edge1664", - }, - { - source: "1066", - target: "1059", - cluster: "B", - label: "B", - color: "#333", - id: "edge1665", - }, - { - source: "1066", - target: "1060", - cluster: "C", - label: "C", - color: "#333", - id: "edge1666", - }, - { - source: "1066", - target: "1061", - cluster: "A", - label: "A", - color: "#333", - id: "edge1667", - }, - { - source: "1066", - target: "1062", - cluster: "B", - label: "B", - color: "#333", - id: "edge1668", - }, - { - source: "1066", - target: "1063", - cluster: "C", - label: "C", - color: "#333", - id: "edge1669", - }, - { - source: "1066", - target: "1064", - cluster: "A", - label: "A", - color: "#333", - id: "edge1670", - }, - { - source: "1066", - target: "1065", - cluster: "B", - label: "B", - color: "#333", - id: "edge1671", - }, - { - source: "1067", - target: "1059", - cluster: "C", - label: "C", - color: "#333", - id: "edge1672", - }, - { - source: "1067", - target: "1060", - cluster: "A", - label: "A", - color: "#333", - id: "edge1673", - }, - { - source: "1067", - target: "1061", - cluster: "B", - label: "B", - color: "#333", - id: "edge1674", - }, - { - source: "1067", - target: "1062", - cluster: "C", - label: "C", - color: "#333", - id: "edge1675", - }, - { - source: "1067", - target: "1063", - cluster: "A", - label: "A", - color: "#333", - id: "edge1676", - }, - { - source: "1067", - target: "1064", - cluster: "B", - label: "B", - color: "#333", - id: "edge1677", - }, - { - source: "1067", - target: "1065", - cluster: "C", - label: "C", - color: "#333", - id: "edge1678", - }, - { - source: "1067", - target: "1066", - cluster: "A", - label: "A", - color: "#333", - id: "edge1679", - }, - { - source: "1068", - target: "1059", - cluster: "A", - label: "A", - color: "#333", - id: "edge1680", - }, - { - source: "1068", - target: "1060", - cluster: "B", - label: "B", - color: "#333", - id: "edge1681", - }, - { - source: "1068", - target: "1061", - cluster: "C", - label: "C", - color: "#333", - id: "edge1682", - }, - { - source: "1068", - target: "1062", - cluster: "A", - label: "A", - color: "#333", - id: "edge1683", - }, - { - source: "1068", - target: "1063", - cluster: "B", - label: "B", - color: "#333", - id: "edge1684", - }, - { - source: "1068", - target: "1064", - cluster: "C", - label: "C", - color: "#333", - id: "edge1685", - }, - { - source: "1068", - target: "1065", - cluster: "A", - label: "A", - color: "#333", - id: "edge1686", - }, - { - source: "1068", - target: "1066", - cluster: "B", - label: "B", - color: "#333", - id: "edge1687", - }, - { - source: "1068", - target: "1067", - cluster: "C", - label: "C", - color: "#333", - id: "edge1688", - }, - { - source: "1069", - target: "805", - cluster: "C", - label: "C", - color: "#333", - id: "edge1689", - }, - { - source: "1069", - target: "804", - cluster: "B", - label: "B", - color: "#333", - id: "edge1690", - }, - { - source: "1069", - target: "806", - cluster: "A", - label: "A", - color: "#333", - id: "edge1691", - }, - { - source: "1069", - target: "61", - cluster: "C", - label: "C", - color: "#333", - id: "edge1692", - }, - { - source: "1070", - target: "805", - cluster: "A", - label: "A", - color: "#333", - id: "edge1693", - }, - { - source: "1070", - target: "804", - cluster: "C", - label: "C", - color: "#333", - id: "edge1694", - }, - { - source: "1070", - target: "806", - cluster: "B", - label: "B", - color: "#333", - id: "edge1695", - }, - { - source: "1070", - target: "1069", - cluster: "A", - label: "A", - color: "#333", - id: "edge1696", - }, - { - source: "1070", - target: "61", - cluster: "A", - label: "A", - color: "#333", - id: "edge1697", - }, - { - source: "1070", - target: "361", - cluster: "A", - label: "A", - color: "#333", - id: "edge1698", - }, - { - source: "1070", - target: "1015", - cluster: "A", - label: "A", - color: "#333", - id: "edge1699", - }, - { - source: "1071", - target: "805", - cluster: "B", - label: "B", - color: "#333", - id: "edge1700", - }, - { - source: "1071", - target: "804", - cluster: "A", - label: "A", - color: "#333", - id: "edge1701", - }, - { - source: "1071", - target: "806", - cluster: "C", - label: "C", - color: "#333", - id: "edge1702", - }, - { - source: "1071", - target: "1069", - cluster: "B", - label: "B", - color: "#333", - id: "edge1703", - }, - { - source: "1071", - target: "1070", - cluster: "C", - label: "C", - color: "#333", - id: "edge1704", - }, - { - source: "1071", - target: "61", - cluster: "B", - label: "B", - color: "#333", - id: "edge1705", - }, - { - source: "1072", - target: "805", - cluster: "C", - label: "C", - color: "#333", - id: "edge1706", - }, - { - source: "1072", - target: "804", - cluster: "B", - label: "B", - color: "#333", - id: "edge1707", - }, - { - source: "1072", - target: "806", - cluster: "A", - label: "A", - color: "#333", - id: "edge1708", - }, - { - source: "1072", - target: "1069", - cluster: "C", - label: "C", - color: "#333", - id: "edge1709", - }, - { - source: "1072", - target: "1070", - cluster: "A", - label: "A", - color: "#333", - id: "edge1710", - }, - { - source: "1072", - target: "1071", - cluster: "B", - label: "B", - color: "#333", - id: "edge1711", - }, - { - source: "1072", - target: "61", - cluster: "C", - label: "C", - color: "#333", - id: "edge1712", - }, - { - source: "1073", - target: "226", - cluster: "A", - label: "A", - color: "#333", - id: "edge1713", - }, - { - source: "1078", - target: "1077", - cluster: "B", - label: "B", - color: "#333", - id: "edge1714", - }, - { - source: "1080", - target: "280", - cluster: "B", - label: "B", - color: "#333", - id: "edge1715", - }, - { - source: "1081", - target: "68", - cluster: "A", - label: "A", - color: "#333", - id: "edge1716", - }, - { - source: "1082", - target: "1081", - cluster: "A", - label: "A", - color: "#333", - id: "edge1717", - }, - { - source: "1082", - target: "68", - cluster: "B", - label: "B", - color: "#333", - id: "edge1718", - }, - { - source: "1083", - target: "1588", - cluster: "B", - label: "B", - color: "#333", - id: "edge1719", - }, - { - source: "1083", - target: "0", - cluster: "A", - label: "A", - color: "#333", - id: "edge1720", - }, - { - source: "1085", - target: "515", - cluster: "B", - label: "B", - color: "#333", - id: "edge1721", - }, - { - source: "1086", - target: "515", - cluster: "C", - label: "C", - color: "#333", - id: "edge1722", - }, - { - source: "1086", - target: "1085", - cluster: "C", - label: "C", - color: "#333", - id: "edge1723", - }, - { - source: "1087", - target: "515", - cluster: "A", - label: "A", - color: "#333", - id: "edge1724", - }, - { - source: "1087", - target: "1086", - cluster: "B", - label: "B", - color: "#333", - id: "edge1725", - }, - { - source: "1087", - target: "150", - cluster: "B", - label: "B", - color: "#333", - id: "edge1726", - }, - { - source: "1088", - target: "515", - cluster: "B", - label: "B", - color: "#333", - id: "edge1727", - }, - { - source: "1088", - target: "1086", - cluster: "C", - label: "C", - color: "#333", - id: "edge1728", - }, - { - source: "1090", - target: "472", - cluster: "C", - label: "C", - color: "#333", - id: "edge1729", - }, - { - source: "1090", - target: "471", - cluster: "B", - label: "B", - color: "#333", - id: "edge1730", - }, - { - source: "1090", - target: "983", - cluster: "A", - label: "A", - color: "#333", - id: "edge1731", - }, - { - source: "1091", - target: "472", - cluster: "A", - label: "A", - color: "#333", - id: "edge1732", - }, - { - source: "1091", - target: "983", - cluster: "B", - label: "B", - color: "#333", - id: "edge1733", - }, - { - source: "1091", - target: "984", - cluster: "C", - label: "C", - color: "#333", - id: "edge1734", - }, - { - source: "1093", - target: "1092", - cluster: "B", - label: "B", - color: "#333", - id: "edge1735", - }, - { - source: "1094", - target: "1092", - cluster: "C", - label: "C", - color: "#333", - id: "edge1736", - }, - { - source: "1094", - target: "1093", - cluster: "A", - label: "A", - color: "#333", - id: "edge1737", - }, - { - source: "1095", - target: "1092", - cluster: "A", - label: "A", - color: "#333", - id: "edge1738", - }, - { - source: "1095", - target: "1093", - cluster: "B", - label: "B", - color: "#333", - id: "edge1739", - }, - { - source: "1095", - target: "1094", - cluster: "C", - label: "C", - color: "#333", - id: "edge1740", - }, - { - source: "1097", - target: "1096", - cluster: "A", - label: "A", - color: "#333", - id: "edge1741", - }, - { - source: "1098", - target: "1096", - cluster: "B", - label: "B", - color: "#333", - id: "edge1742", - }, - { - source: "1098", - target: "1097", - cluster: "C", - label: "C", - color: "#333", - id: "edge1743", - }, - { - source: "1101", - target: "1100", - cluster: "C", - label: "C", - color: "#333", - id: "edge1744", - }, - { - source: "1102", - target: "1100", - cluster: "A", - label: "A", - color: "#333", - id: "edge1745", - }, - { - source: "1102", - target: "1101", - cluster: "B", - label: "B", - color: "#333", - id: "edge1746", - }, - { - source: "1105", - target: "1104", - cluster: "B", - label: "B", - color: "#333", - id: "edge1747", - }, - { - source: "1106", - target: "1104", - cluster: "C", - label: "C", - color: "#333", - id: "edge1748", - }, - { - source: "1106", - target: "1105", - cluster: "A", - label: "A", - color: "#333", - id: "edge1749", - }, - { - source: "1107", - target: "1104", - cluster: "A", - label: "A", - color: "#333", - id: "edge1750", - }, - { - source: "1107", - target: "1105", - cluster: "B", - label: "B", - color: "#333", - id: "edge1751", - }, - { - source: "1107", - target: "1106", - cluster: "C", - label: "C", - color: "#333", - id: "edge1752", - }, - { - source: "1108", - target: "1104", - cluster: "B", - label: "B", - color: "#333", - id: "edge1753", - }, - { - source: "1108", - target: "1105", - cluster: "C", - label: "C", - color: "#333", - id: "edge1754", - }, - { - source: "1108", - target: "1106", - cluster: "A", - label: "A", - color: "#333", - id: "edge1755", - }, - { - source: "1108", - target: "1107", - cluster: "B", - label: "B", - color: "#333", - id: "edge1756", - }, - { - source: "1109", - target: "1104", - cluster: "C", - label: "C", - color: "#333", - id: "edge1757", - }, - { - source: "1109", - target: "1105", - cluster: "A", - label: "A", - color: "#333", - id: "edge1758", - }, - { - source: "1109", - target: "1106", - cluster: "B", - label: "B", - color: "#333", - id: "edge1759", - }, - { - source: "1109", - target: "1107", - cluster: "C", - label: "C", - color: "#333", - id: "edge1760", - }, - { - source: "1109", - target: "1108", - cluster: "A", - label: "A", - color: "#333", - id: "edge1761", - }, - { - source: "1110", - target: "1104", - cluster: "A", - label: "A", - color: "#333", - id: "edge1762", - }, - { - source: "1110", - target: "1105", - cluster: "B", - label: "B", - color: "#333", - id: "edge1763", - }, - { - source: "1110", - target: "1106", - cluster: "C", - label: "C", - color: "#333", - id: "edge1764", - }, - { - source: "1110", - target: "1107", - cluster: "A", - label: "A", - color: "#333", - id: "edge1765", - }, - { - source: "1110", - target: "1108", - cluster: "B", - label: "B", - color: "#333", - id: "edge1766", - }, - { - source: "1110", - target: "1109", - cluster: "C", - label: "C", - color: "#333", - id: "edge1767", - }, - { - source: "1111", - target: "1104", - cluster: "B", - label: "B", - color: "#333", - id: "edge1768", - }, - { - source: "1111", - target: "1105", - cluster: "C", - label: "C", - color: "#333", - id: "edge1769", - }, - { - source: "1111", - target: "1106", - cluster: "A", - label: "A", - color: "#333", - id: "edge1770", - }, - { - source: "1111", - target: "1107", - cluster: "B", - label: "B", - color: "#333", - id: "edge1771", - }, - { - source: "1111", - target: "1108", - cluster: "C", - label: "C", - color: "#333", - id: "edge1772", - }, - { - source: "1111", - target: "1109", - cluster: "A", - label: "A", - color: "#333", - id: "edge1773", - }, - { - source: "1111", - target: "1110", - cluster: "B", - label: "B", - color: "#333", - id: "edge1774", - }, - { - source: "1112", - target: "1104", - cluster: "C", - label: "C", - color: "#333", - id: "edge1775", - }, - { - source: "1112", - target: "1105", - cluster: "A", - label: "A", - color: "#333", - id: "edge1776", - }, - { - source: "1112", - target: "1106", - cluster: "B", - label: "B", - color: "#333", - id: "edge1777", - }, - { - source: "1112", - target: "1107", - cluster: "C", - label: "C", - color: "#333", - id: "edge1778", - }, - { - source: "1112", - target: "1108", - cluster: "A", - label: "A", - color: "#333", - id: "edge1779", - }, - { - source: "1112", - target: "1109", - cluster: "B", - label: "B", - color: "#333", - id: "edge1780", - }, - { - source: "1112", - target: "1110", - cluster: "C", - label: "C", - color: "#333", - id: "edge1781", - }, - { - source: "1112", - target: "1111", - cluster: "A", - label: "A", - color: "#333", - id: "edge1782", - }, - { - source: "1114", - target: "1113", - cluster: "B", - label: "B", - color: "#333", - id: "edge1783", - }, - { - source: "1116", - target: "1115", - cluster: "C", - label: "C", - color: "#333", - id: "edge1784", - }, - { - source: "1117", - target: "1115", - cluster: "A", - label: "A", - color: "#333", - id: "edge1785", - }, - { - source: "1117", - target: "1116", - cluster: "B", - label: "B", - color: "#333", - id: "edge1786", - }, - { - source: "1118", - target: "1115", - cluster: "B", - label: "B", - color: "#333", - id: "edge1787", - }, - { - source: "1118", - target: "1116", - cluster: "C", - label: "C", - color: "#333", - id: "edge1788", - }, - { - source: "1118", - target: "1117", - cluster: "A", - label: "A", - color: "#333", - id: "edge1789", - }, - { - source: "1119", - target: "1115", - cluster: "C", - label: "C", - color: "#333", - id: "edge1790", - }, - { - source: "1119", - target: "1116", - cluster: "A", - label: "A", - color: "#333", - id: "edge1791", - }, - { - source: "1119", - target: "1117", - cluster: "B", - label: "B", - color: "#333", - id: "edge1792", - }, - { - source: "1119", - target: "1118", - cluster: "C", - label: "C", - color: "#333", - id: "edge1793", - }, - { - source: "1120", - target: "77", - cluster: "A", - label: "A", - color: "#333", - id: "edge1794", - }, - { - source: "1121", - target: "77", - cluster: "B", - label: "B", - color: "#333", - id: "edge1795", - }, - { - source: "1121", - target: "1120", - cluster: "A", - label: "A", - color: "#333", - id: "edge1796", - }, - { - source: "1122", - target: "77", - cluster: "C", - label: "C", - color: "#333", - id: "edge1797", - }, - { - source: "1122", - target: "755", - cluster: "C", - label: "C", - color: "#333", - id: "edge1798", - }, - { - source: "1123", - target: "246", - cluster: "B", - label: "B", - color: "#333", - id: "edge1799", - }, - { - source: "1123", - target: "414", - cluster: "B", - label: "B", - color: "#333", - id: "edge1800", - }, - { - source: "1124", - target: "1123", - cluster: "A", - label: "A", - color: "#333", - id: "edge1801", - }, - { - source: "1124", - target: "246", - cluster: "C", - label: "C", - color: "#333", - id: "edge1802", - }, - { - source: "1124", - target: "414", - cluster: "C", - label: "C", - color: "#333", - id: "edge1803", - }, - { - source: "1127", - target: "1126", - cluster: "A", - label: "A", - color: "#333", - id: "edge1804", - }, - { - source: "1128", - target: "975", - cluster: "A", - label: "A", - color: "#333", - id: "edge1805", - }, - { - source: "1129", - target: "656", - cluster: "A", - label: "A", - color: "#333", - id: "edge1806", - }, - { - source: "1129", - target: "773", - cluster: "A", - label: "A", - color: "#333", - id: "edge1807", - }, - { - source: "1129", - target: "653", - cluster: "A", - label: "A", - color: "#333", - id: "edge1808", - }, - { - source: "1129", - target: "33", - cluster: "B", - label: "B", - color: "#333", - id: "edge1809", - }, - { - source: "1131", - target: "1130", - cluster: "C", - label: "C", - color: "#333", - id: "edge1810", - }, - { - source: "1133", - target: "1132", - cluster: "A", - label: "A", - color: "#333", - id: "edge1811", - }, - { - source: "1134", - target: "955", - cluster: "B", - label: "B", - color: "#333", - id: "edge1812", - }, - { - source: "1134", - target: "193", - cluster: "B", - label: "B", - color: "#333", - id: "edge1813", - }, - { - source: "1135", - target: "1134", - cluster: "B", - label: "B", - color: "#333", - id: "edge1814", - }, - { - source: "1135", - target: "955", - cluster: "C", - label: "C", - color: "#333", - id: "edge1815", - }, - { - source: "1135", - target: "193", - cluster: "C", - label: "C", - color: "#333", - id: "edge1816", - }, - { - source: "1136", - target: "1134", - cluster: "C", - label: "C", - color: "#333", - id: "edge1817", - }, - { - source: "1136", - target: "1135", - cluster: "A", - label: "A", - color: "#333", - id: "edge1818", - }, - { - source: "1136", - target: "955", - cluster: "A", - label: "A", - color: "#333", - id: "edge1819", - }, - { - source: "1136", - target: "193", - cluster: "A", - label: "A", - color: "#333", - id: "edge1820", - }, - { - source: "1137", - target: "1134", - cluster: "A", - label: "A", - color: "#333", - id: "edge1821", - }, - { - source: "1137", - target: "193", - cluster: "B", - label: "B", - color: "#333", - id: "edge1822", - }, - { - source: "1137", - target: "955", - cluster: "B", - label: "B", - color: "#333", - id: "edge1823", - }, - { - source: "1139", - target: "1138", - cluster: "A", - label: "A", - color: "#333", - id: "edge1824", - }, - { - source: "1141", - target: "1140", - cluster: "B", - label: "B", - color: "#333", - id: "edge1825", - }, - { - source: "1144", - target: "220", - cluster: "C", - label: "C", - color: "#333", - id: "edge1826", - }, - { - source: "1144", - target: "342", - cluster: "B", - label: "B", - color: "#333", - id: "edge1827", - }, - { - source: "1144", - target: "218", - cluster: "A", - label: "A", - color: "#333", - id: "edge1828", - }, - { - source: "1144", - target: "696", - cluster: "B", - label: "B", - color: "#333", - id: "edge1829", - }, - { - source: "1146", - target: "1145", - cluster: "C", - label: "C", - color: "#333", - id: "edge1830", - }, - { - source: "1147", - target: "1145", - cluster: "A", - label: "A", - color: "#333", - id: "edge1831", - }, - { - source: "1147", - target: "1146", - cluster: "B", - label: "B", - color: "#333", - id: "edge1832", - }, - { - source: "1148", - target: "1145", - cluster: "B", - label: "B", - color: "#333", - id: "edge1833", - }, - { - source: "1148", - target: "1146", - cluster: "C", - label: "C", - color: "#333", - id: "edge1834", - }, - { - source: "1148", - target: "1147", - cluster: "A", - label: "A", - color: "#333", - id: "edge1835", - }, - { - source: "1149", - target: "1145", - cluster: "C", - label: "C", - color: "#333", - id: "edge1836", - }, - { - source: "1149", - target: "1146", - cluster: "A", - label: "A", - color: "#333", - id: "edge1837", - }, - { - source: "1149", - target: "1147", - cluster: "B", - label: "B", - color: "#333", - id: "edge1838", - }, - { - source: "1149", - target: "1148", - cluster: "C", - label: "C", - color: "#333", - id: "edge1839", - }, - { - source: "1152", - target: "1151", - cluster: "C", - label: "C", - color: "#333", - id: "edge1840", - }, - { - source: "1153", - target: "1151", - cluster: "A", - label: "A", - color: "#333", - id: "edge1841", - }, - { - source: "1153", - target: "1152", - cluster: "B", - label: "B", - color: "#333", - id: "edge1842", - }, - { - source: "1154", - target: "1151", - cluster: "B", - label: "B", - color: "#333", - id: "edge1843", - }, - { - source: "1154", - target: "1152", - cluster: "C", - label: "C", - color: "#333", - id: "edge1844", - }, - { - source: "1154", - target: "1153", - cluster: "A", - label: "A", - color: "#333", - id: "edge1845", - }, - { - source: "1155", - target: "1151", - cluster: "C", - label: "C", - color: "#333", - id: "edge1846", - }, - { - source: "1155", - target: "1152", - cluster: "A", - label: "A", - color: "#333", - id: "edge1847", - }, - { - source: "1155", - target: "1153", - cluster: "B", - label: "B", - color: "#333", - id: "edge1848", - }, - { - source: "1155", - target: "1154", - cluster: "C", - label: "C", - color: "#333", - id: "edge1849", - }, - { - source: "1156", - target: "1151", - cluster: "A", - label: "A", - color: "#333", - id: "edge1850", - }, - { - source: "1156", - target: "1152", - cluster: "B", - label: "B", - color: "#333", - id: "edge1851", - }, - { - source: "1156", - target: "1153", - cluster: "C", - label: "C", - color: "#333", - id: "edge1852", - }, - { - source: "1156", - target: "1154", - cluster: "A", - label: "A", - color: "#333", - id: "edge1853", - }, - { - source: "1156", - target: "1155", - cluster: "B", - label: "B", - color: "#333", - id: "edge1854", - }, - { - source: "1157", - target: "1151", - cluster: "B", - label: "B", - color: "#333", - id: "edge1855", - }, - { - source: "1157", - target: "1152", - cluster: "C", - label: "C", - color: "#333", - id: "edge1856", - }, - { - source: "1157", - target: "1153", - cluster: "A", - label: "A", - color: "#333", - id: "edge1857", - }, - { - source: "1157", - target: "1154", - cluster: "B", - label: "B", - color: "#333", - id: "edge1858", - }, - { - source: "1157", - target: "1155", - cluster: "C", - label: "C", - color: "#333", - id: "edge1859", - }, - { - source: "1157", - target: "1156", - cluster: "A", - label: "A", - color: "#333", - id: "edge1860", - }, - { - source: "1158", - target: "1151", - cluster: "C", - label: "C", - color: "#333", - id: "edge1861", - }, - { - source: "1158", - target: "1152", - cluster: "A", - label: "A", - color: "#333", - id: "edge1862", - }, - { - source: "1158", - target: "1153", - cluster: "B", - label: "B", - color: "#333", - id: "edge1863", - }, - { - source: "1158", - target: "1154", - cluster: "C", - label: "C", - color: "#333", - id: "edge1864", - }, - { - source: "1158", - target: "1155", - cluster: "A", - label: "A", - color: "#333", - id: "edge1865", - }, - { - source: "1158", - target: "1156", - cluster: "B", - label: "B", - color: "#333", - id: "edge1866", - }, - { - source: "1158", - target: "1157", - cluster: "C", - label: "C", - color: "#333", - id: "edge1867", - }, - { - source: "1159", - target: "1151", - cluster: "A", - label: "A", - color: "#333", - id: "edge1868", - }, - { - source: "1159", - target: "1152", - cluster: "B", - label: "B", - color: "#333", - id: "edge1869", - }, - { - source: "1159", - target: "1153", - cluster: "C", - label: "C", - color: "#333", - id: "edge1870", - }, - { - source: "1159", - target: "1154", - cluster: "A", - label: "A", - color: "#333", - id: "edge1871", - }, - { - source: "1159", - target: "1155", - cluster: "B", - label: "B", - color: "#333", - id: "edge1872", - }, - { - source: "1159", - target: "1156", - cluster: "C", - label: "C", - color: "#333", - id: "edge1873", - }, - { - source: "1159", - target: "1157", - cluster: "A", - label: "A", - color: "#333", - id: "edge1874", - }, - { - source: "1159", - target: "1158", - cluster: "B", - label: "B", - color: "#333", - id: "edge1875", - }, - { - source: "1161", - target: "113", - cluster: "C", - label: "C", - color: "#333", - id: "edge1876", - }, - { - source: "1161", - target: "185", - cluster: "C", - label: "C", - color: "#333", - id: "edge1877", - }, - { - source: "1162", - target: "113", - cluster: "A", - label: "A", - color: "#333", - id: "edge1878", - }, - { - source: "1162", - target: "1161", - cluster: "B", - label: "B", - color: "#333", - id: "edge1879", - }, - { - source: "1164", - target: "1163", - cluster: "C", - label: "C", - color: "#333", - id: "edge1880", - }, - { - source: "1165", - target: "258", - cluster: "B", - label: "B", - color: "#333", - id: "edge1881", - }, - { - source: "1165", - target: "257", - cluster: "A", - label: "A", - color: "#333", - id: "edge1882", - }, - { - source: "1166", - target: "258", - cluster: "C", - label: "C", - color: "#333", - id: "edge1883", - }, - { - source: "1166", - target: "257", - cluster: "B", - label: "B", - color: "#333", - id: "edge1884", - }, - { - source: "1166", - target: "1165", - cluster: "A", - label: "A", - color: "#333", - id: "edge1885", - }, - { - source: "1168", - target: "1167", - cluster: "B", - label: "B", - color: "#333", - id: "edge1886", - }, - { - source: "1169", - target: "819", - cluster: "C", - label: "C", - color: "#333", - id: "edge1887", - }, - { - source: "1171", - target: "77", - cluster: "A", - label: "A", - color: "#333", - id: "edge1888", - }, - { - source: "1174", - target: "930", - cluster: "B", - label: "B", - color: "#333", - id: "edge1889", - }, - { - source: "1175", - target: "1174", - cluster: "A", - label: "A", - color: "#333", - id: "edge1890", - }, - { - source: "1175", - target: "930", - cluster: "C", - label: "C", - color: "#333", - id: "edge1891", - }, - { - source: "1176", - target: "149", - cluster: "C", - label: "C", - color: "#333", - id: "edge1892", - }, - { - source: "1176", - target: "95", - cluster: "C", - label: "C", - color: "#333", - id: "edge1893", - }, - { - source: "1177", - target: "149", - cluster: "A", - label: "A", - color: "#333", - id: "edge1894", - }, - { - source: "1177", - target: "280", - cluster: "C", - label: "C", - color: "#333", - id: "edge1895", - }, - { - source: "1179", - target: "588", - cluster: "A", - label: "A", - color: "#333", - id: "edge1896", - }, - { - source: "1179", - target: "589", - cluster: "B", - label: "B", - color: "#333", - id: "edge1897", - }, - { - source: "1179", - target: "590", - cluster: "C", - label: "C", - color: "#333", - id: "edge1898", - }, - { - source: "1180", - target: "1179", - cluster: "B", - label: "B", - color: "#333", - id: "edge1899", - }, - { - source: "1180", - target: "588", - cluster: "B", - label: "B", - color: "#333", - id: "edge1900", - }, - { - source: "1180", - target: "589", - cluster: "C", - label: "C", - color: "#333", - id: "edge1901", - }, - { - source: "1180", - target: "590", - cluster: "A", - label: "A", - color: "#333", - id: "edge1902", - }, - { - source: "1181", - target: "301", - cluster: "A", - label: "A", - color: "#333", - id: "edge1903", - }, - { - source: "1184", - target: "1183", - cluster: "A", - label: "A", - color: "#333", - id: "edge1904", - }, - { - source: "1185", - target: "1183", - cluster: "B", - label: "B", - color: "#333", - id: "edge1905", - }, - { - source: "1185", - target: "1184", - cluster: "C", - label: "C", - color: "#333", - id: "edge1906", - }, - { - source: "1188", - target: "326", - cluster: "C", - label: "C", - color: "#333", - id: "edge1907", - }, - { - source: "1188", - target: "327", - cluster: "A", - label: "A", - color: "#333", - id: "edge1908", - }, - { - source: "1189", - target: "53", - cluster: "A", - label: "A", - color: "#333", - id: "edge1909", - }, - { - source: "1189", - target: "33", - cluster: "B", - label: "B", - color: "#333", - id: "edge1910", - }, - { - source: "1189", - target: "839", - cluster: "A", - label: "A", - color: "#333", - id: "edge1911", - }, - { - source: "1189", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge1912", - }, - { - source: "1190", - target: "1189", - cluster: "A", - label: "A", - color: "#333", - id: "edge1913", - }, - { - source: "1190", - target: "53", - cluster: "B", - label: "B", - color: "#333", - id: "edge1914", - }, - { - source: "1190", - target: "33", - cluster: "C", - label: "C", - color: "#333", - id: "edge1915", - }, - { - source: "1190", - target: "839", - cluster: "B", - label: "B", - color: "#333", - id: "edge1916", - }, - { - source: "1190", - target: "32", - cluster: "B", - label: "B", - color: "#333", - id: "edge1917", - }, - { - source: "1193", - target: "1192", - cluster: "A", - label: "A", - color: "#333", - id: "edge1918", - }, - { - source: "1194", - target: "77", - cluster: "C", - label: "C", - color: "#333", - id: "edge1919", - }, - { - source: "1195", - target: "1194", - cluster: "B", - label: "B", - color: "#333", - id: "edge1920", - }, - { - source: "1195", - target: "77", - cluster: "A", - label: "A", - color: "#333", - id: "edge1921", - }, - { - source: "1196", - target: "1194", - cluster: "C", - label: "C", - color: "#333", - id: "edge1922", - }, - { - source: "1196", - target: "1195", - cluster: "A", - label: "A", - color: "#333", - id: "edge1923", - }, - { - source: "1196", - target: "77", - cluster: "B", - label: "B", - color: "#333", - id: "edge1924", - }, - { - source: "1198", - target: "1197", - cluster: "B", - label: "B", - color: "#333", - id: "edge1925", - }, - { - source: "1199", - target: "1197", - cluster: "C", - label: "C", - color: "#333", - id: "edge1926", - }, - { - source: "1199", - target: "1198", - cluster: "A", - label: "A", - color: "#333", - id: "edge1927", - }, - { - source: "1200", - target: "912", - cluster: "A", - label: "A", - color: "#333", - id: "edge1928", - }, - { - source: "1200", - target: "915", - cluster: "A", - label: "A", - color: "#333", - id: "edge1929", - }, - { - source: "1200", - target: "999", - cluster: "A", - label: "A", - color: "#333", - id: "edge1930", - }, - { - source: "1200", - target: "913", - cluster: "B", - label: "B", - color: "#333", - id: "edge1931", - }, - { - source: "1200", - target: "914", - cluster: "C", - label: "C", - color: "#333", - id: "edge1932", - }, - { - source: "1201", - target: "912", - cluster: "B", - label: "B", - color: "#333", - id: "edge1933", - }, - { - source: "1201", - target: "915", - cluster: "B", - label: "B", - color: "#333", - id: "edge1934", - }, - { - source: "1201", - target: "1200", - cluster: "B", - label: "B", - color: "#333", - id: "edge1935", - }, - { - source: "1201", - target: "999", - cluster: "B", - label: "B", - color: "#333", - id: "edge1936", - }, - { - source: "1202", - target: "912", - cluster: "C", - label: "C", - color: "#333", - id: "edge1937", - }, - { - source: "1202", - target: "915", - cluster: "C", - label: "C", - color: "#333", - id: "edge1938", - }, - { - source: "1202", - target: "1200", - cluster: "C", - label: "C", - color: "#333", - id: "edge1939", - }, - { - source: "1202", - target: "1201", - cluster: "A", - label: "A", - color: "#333", - id: "edge1940", - }, - { - source: "1202", - target: "999", - cluster: "C", - label: "C", - color: "#333", - id: "edge1941", - }, - { - source: "1203", - target: "912", - cluster: "A", - label: "A", - color: "#333", - id: "edge1942", - }, - { - source: "1203", - target: "915", - cluster: "A", - label: "A", - color: "#333", - id: "edge1943", - }, - { - source: "1203", - target: "1200", - cluster: "A", - label: "A", - color: "#333", - id: "edge1944", - }, - { - source: "1203", - target: "1201", - cluster: "B", - label: "B", - color: "#333", - id: "edge1945", - }, - { - source: "1203", - target: "1202", - cluster: "C", - label: "C", - color: "#333", - id: "edge1946", - }, - { - source: "1203", - target: "999", - cluster: "A", - label: "A", - color: "#333", - id: "edge1947", - }, - { - source: "1204", - target: "912", - cluster: "B", - label: "B", - color: "#333", - id: "edge1948", - }, - { - source: "1204", - target: "915", - cluster: "B", - label: "B", - color: "#333", - id: "edge1949", - }, - { - source: "1204", - target: "1200", - cluster: "B", - label: "B", - color: "#333", - id: "edge1950", - }, - { - source: "1204", - target: "1201", - cluster: "C", - label: "C", - color: "#333", - id: "edge1951", - }, - { - source: "1204", - target: "1202", - cluster: "A", - label: "A", - color: "#333", - id: "edge1952", - }, - { - source: "1204", - target: "1203", - cluster: "B", - label: "B", - color: "#333", - id: "edge1953", - }, - { - source: "1204", - target: "999", - cluster: "B", - label: "B", - color: "#333", - id: "edge1954", - }, - { - source: "1205", - target: "912", - cluster: "C", - label: "C", - color: "#333", - id: "edge1955", - }, - { - source: "1205", - target: "915", - cluster: "C", - label: "C", - color: "#333", - id: "edge1956", - }, - { - source: "1205", - target: "1200", - cluster: "C", - label: "C", - color: "#333", - id: "edge1957", - }, - { - source: "1205", - target: "913", - cluster: "A", - label: "A", - color: "#333", - id: "edge1958", - }, - { - source: "1205", - target: "914", - cluster: "B", - label: "B", - color: "#333", - id: "edge1959", - }, - { - source: "1206", - target: "912", - cluster: "A", - label: "A", - color: "#333", - id: "edge1960", - }, - { - source: "1206", - target: "1205", - cluster: "C", - label: "C", - color: "#333", - id: "edge1961", - }, - { - source: "1206", - target: "915", - cluster: "A", - label: "A", - color: "#333", - id: "edge1962", - }, - { - source: "1206", - target: "1200", - cluster: "A", - label: "A", - color: "#333", - id: "edge1963", - }, - { - source: "1206", - target: "913", - cluster: "B", - label: "B", - color: "#333", - id: "edge1964", - }, - { - source: "1206", - target: "914", - cluster: "C", - label: "C", - color: "#333", - id: "edge1965", - }, - { - source: "1207", - target: "912", - cluster: "B", - label: "B", - color: "#333", - id: "edge1966", - }, - { - source: "1207", - target: "1205", - cluster: "A", - label: "A", - color: "#333", - id: "edge1967", - }, - { - source: "1207", - target: "915", - cluster: "B", - label: "B", - color: "#333", - id: "edge1968", - }, - { - source: "1207", - target: "1200", - cluster: "B", - label: "B", - color: "#333", - id: "edge1969", - }, - { - source: "1207", - target: "913", - cluster: "C", - label: "C", - color: "#333", - id: "edge1970", - }, - { - source: "1207", - target: "1206", - cluster: "B", - label: "B", - color: "#333", - id: "edge1971", - }, - { - source: "1207", - target: "914", - cluster: "A", - label: "A", - color: "#333", - id: "edge1972", - }, - { - source: "1209", - target: "1208", - cluster: "C", - label: "C", - color: "#333", - id: "edge1973", - }, - { - source: "1210", - target: "1208", - cluster: "A", - label: "A", - color: "#333", - id: "edge1974", - }, - { - source: "1210", - target: "1209", - cluster: "B", - label: "B", - color: "#333", - id: "edge1975", - }, - { - source: "1211", - target: "1208", - cluster: "B", - label: "B", - color: "#333", - id: "edge1976", - }, - { - source: "1211", - target: "1209", - cluster: "C", - label: "C", - color: "#333", - id: "edge1977", - }, - { - source: "1211", - target: "1210", - cluster: "A", - label: "A", - color: "#333", - id: "edge1978", - }, - { - source: "1213", - target: "329", - cluster: "A", - label: "A", - color: "#333", - id: "edge1979", - }, - { - source: "1214", - target: "1213", - cluster: "A", - label: "A", - color: "#333", - id: "edge1980", - }, - { - source: "1214", - target: "329", - cluster: "B", - label: "B", - color: "#333", - id: "edge1981", - }, - { - source: "1215", - target: "1213", - cluster: "B", - label: "B", - color: "#333", - id: "edge1982", - }, - { - source: "1215", - target: "329", - cluster: "C", - label: "C", - color: "#333", - id: "edge1983", - }, - { - source: "1215", - target: "1214", - cluster: "C", - label: "C", - color: "#333", - id: "edge1984", - }, - { - source: "1216", - target: "1213", - cluster: "C", - label: "C", - color: "#333", - id: "edge1985", - }, - { - source: "1216", - target: "329", - cluster: "A", - label: "A", - color: "#333", - id: "edge1986", - }, - { - source: "1216", - target: "1214", - cluster: "A", - label: "A", - color: "#333", - id: "edge1987", - }, - { - source: "1216", - target: "1215", - cluster: "B", - label: "B", - color: "#333", - id: "edge1988", - }, - { - source: "1218", - target: "1217", - cluster: "C", - label: "C", - color: "#333", - id: "edge1989", - }, - { - source: "1220", - target: "499", - cluster: "A", - label: "A", - color: "#333", - id: "edge1990", - }, - { - source: "1220", - target: "149", - cluster: "B", - label: "B", - color: "#333", - id: "edge1991", - }, - { - source: "1222", - target: "1221", - cluster: "B", - label: "B", - color: "#333", - id: "edge1992", - }, - { - source: "1223", - target: "1221", - cluster: "C", - label: "C", - color: "#333", - id: "edge1993", - }, - { - source: "1223", - target: "1222", - cluster: "A", - label: "A", - color: "#333", - id: "edge1994", - }, - { - source: "1225", - target: "1224", - cluster: "B", - label: "B", - color: "#333", - id: "edge1995", - }, - { - source: "1226", - target: "1224", - cluster: "C", - label: "C", - color: "#333", - id: "edge1996", - }, - { - source: "1227", - target: "131", - cluster: "C", - label: "C", - color: "#333", - id: "edge1997", - }, - { - source: "1227", - target: "53", - cluster: "C", - label: "C", - color: "#333", - id: "edge1998", - }, - { - source: "1227", - target: "32", - cluster: "C", - label: "C", - color: "#333", - id: "edge1999", - }, - { - source: "1228", - target: "131", - cluster: "A", - label: "A", - color: "#333", - id: "edge2000", - }, - { - source: "1228", - target: "1227", - cluster: "B", - label: "B", - color: "#333", - id: "edge2001", - }, - { - source: "1228", - target: "53", - cluster: "A", - label: "A", - color: "#333", - id: "edge2002", - }, - { - source: "1228", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge2003", - }, - { - source: "1229", - target: "243", - cluster: "C", - label: "C", - color: "#333", - id: "edge2004", - }, - { - source: "1231", - target: "1230", - cluster: "B", - label: "B", - color: "#333", - id: "edge2005", - }, - { - source: "1232", - target: "414", - cluster: "C", - label: "C", - color: "#333", - id: "edge2006", - }, - { - source: "1233", - target: "1232", - cluster: "C", - label: "C", - color: "#333", - id: "edge2007", - }, - { - source: "1233", - target: "414", - cluster: "A", - label: "A", - color: "#333", - id: "edge2008", - }, - { - source: "1234", - target: "480", - cluster: "B", - label: "B", - color: "#333", - id: "edge2009", - }, - { - source: "1235", - target: "1234", - cluster: "A", - label: "A", - color: "#333", - id: "edge2010", - }, - { - source: "1235", - target: "480", - cluster: "C", - label: "C", - color: "#333", - id: "edge2011", - }, - { - source: "1237", - target: "1236", - cluster: "B", - label: "B", - color: "#333", - id: "edge2012", - }, - { - source: "1238", - target: "546", - cluster: "C", - label: "C", - color: "#333", - id: "edge2013", - }, - { - source: "1240", - target: "1239", - cluster: "B", - label: "B", - color: "#333", - id: "edge2014", - }, - { - source: "1242", - target: "1241", - cluster: "C", - label: "C", - color: "#333", - id: "edge2015", - }, - { - source: "1243", - target: "481", - cluster: "C", - label: "C", - color: "#333", - id: "edge2016", - }, - { - source: "1244", - target: "1243", - cluster: "A", - label: "A", - color: "#333", - id: "edge2017", - }, - { - source: "1244", - target: "481", - cluster: "A", - label: "A", - color: "#333", - id: "edge2018", - }, - { - source: "1245", - target: "1243", - cluster: "B", - label: "B", - color: "#333", - id: "edge2019", - }, - { - source: "1245", - target: "1244", - cluster: "C", - label: "C", - color: "#333", - id: "edge2020", - }, - { - source: "1245", - target: "481", - cluster: "B", - label: "B", - color: "#333", - id: "edge2021", - }, - { - source: "1246", - target: "1243", - cluster: "C", - label: "C", - color: "#333", - id: "edge2022", - }, - { - source: "1246", - target: "1244", - cluster: "A", - label: "A", - color: "#333", - id: "edge2023", - }, - { - source: "1246", - target: "1245", - cluster: "B", - label: "B", - color: "#333", - id: "edge2024", - }, - { - source: "1246", - target: "481", - cluster: "C", - label: "C", - color: "#333", - id: "edge2025", - }, - { - source: "1248", - target: "1247", - cluster: "C", - label: "C", - color: "#333", - id: "edge2026", - }, - { - source: "1249", - target: "480", - cluster: "B", - label: "B", - color: "#333", - id: "edge2027", - }, - { - source: "1250", - target: "1249", - cluster: "A", - label: "A", - color: "#333", - id: "edge2028", - }, - { - source: "1250", - target: "480", - cluster: "C", - label: "C", - color: "#333", - id: "edge2029", - }, - { - source: "1252", - target: "1251", - cluster: "B", - label: "B", - color: "#333", - id: "edge2030", - }, - { - source: "1253", - target: "1251", - cluster: "C", - label: "C", - color: "#333", - id: "edge2031", - }, - { - source: "1253", - target: "1252", - cluster: "A", - label: "A", - color: "#333", - id: "edge2032", - }, - { - source: "1254", - target: "763", - cluster: "B", - label: "B", - color: "#333", - id: "edge2033", - }, - { - source: "1254", - target: "764", - cluster: "C", - label: "C", - color: "#333", - id: "edge2034", - }, - { - source: "1254", - target: "120", - cluster: "A", - label: "A", - color: "#333", - id: "edge2035", - }, - { - source: "1255", - target: "1200", - cluster: "B", - label: "B", - color: "#333", - id: "edge2036", - }, - { - source: "1255", - target: "915", - cluster: "B", - label: "B", - color: "#333", - id: "edge2037", - }, - { - source: "1256", - target: "1200", - cluster: "C", - label: "C", - color: "#333", - id: "edge2038", - }, - { - source: "1256", - target: "1255", - cluster: "A", - label: "A", - color: "#333", - id: "edge2039", - }, - { - source: "1256", - target: "915", - cluster: "C", - label: "C", - color: "#333", - id: "edge2040", - }, - { - source: "1258", - target: "1257", - cluster: "B", - label: "B", - color: "#333", - id: "edge2041", - }, - { - source: "1260", - target: "1259", - cluster: "C", - label: "C", - color: "#333", - id: "edge2042", - }, - { - source: "1261", - target: "1259", - cluster: "A", - label: "A", - color: "#333", - id: "edge2043", - }, - { - source: "1261", - target: "1260", - cluster: "B", - label: "B", - color: "#333", - id: "edge2044", - }, - { - source: "1262", - target: "374", - cluster: "B", - label: "B", - color: "#333", - id: "edge2045", - }, - { - source: "1262", - target: "375", - cluster: "C", - label: "C", - color: "#333", - id: "edge2046", - }, - { - source: "1262", - target: "376", - cluster: "A", - label: "A", - color: "#333", - id: "edge2047", - }, - { - source: "1264", - target: "1263", - cluster: "B", - label: "B", - color: "#333", - id: "edge2048", - }, - { - source: "1265", - target: "1263", - cluster: "C", - label: "C", - color: "#333", - id: "edge2049", - }, - { - source: "1265", - target: "1264", - cluster: "A", - label: "A", - color: "#333", - id: "edge2050", - }, - { - source: "1266", - target: "1263", - cluster: "A", - label: "A", - color: "#333", - id: "edge2051", - }, - { - source: "1266", - target: "1264", - cluster: "B", - label: "B", - color: "#333", - id: "edge2052", - }, - { - source: "1266", - target: "1265", - cluster: "C", - label: "C", - color: "#333", - id: "edge2053", - }, - { - source: "1267", - target: "871", - cluster: "C", - label: "C", - color: "#333", - id: "edge2054", - }, - { - source: "1269", - target: "319", - cluster: "B", - label: "B", - color: "#333", - id: "edge2055", - }, - { - source: "1269", - target: "320", - cluster: "C", - label: "C", - color: "#333", - id: "edge2056", - }, - { - source: "1270", - target: "946", - cluster: "C", - label: "C", - color: "#333", - id: "edge2057", - }, - { - source: "1271", - target: "1270", - cluster: "A", - label: "A", - color: "#333", - id: "edge2058", - }, - { - source: "1271", - target: "946", - cluster: "A", - label: "A", - color: "#333", - id: "edge2059", - }, - { - source: "1272", - target: "842", - cluster: "C", - label: "C", - color: "#333", - id: "edge2060", - }, - { - source: "1273", - target: "1272", - cluster: "B", - label: "B", - color: "#333", - id: "edge2061", - }, - { - source: "1273", - target: "842", - cluster: "A", - label: "A", - color: "#333", - id: "edge2062", - }, - { - source: "1274", - target: "1272", - cluster: "C", - label: "C", - color: "#333", - id: "edge2063", - }, - { - source: "1274", - target: "1273", - cluster: "A", - label: "A", - color: "#333", - id: "edge2064", - }, - { - source: "1274", - target: "842", - cluster: "B", - label: "B", - color: "#333", - id: "edge2065", - }, - { - source: "1275", - target: "1272", - cluster: "A", - label: "A", - color: "#333", - id: "edge2066", - }, - { - source: "1275", - target: "1273", - cluster: "B", - label: "B", - color: "#333", - id: "edge2067", - }, - { - source: "1275", - target: "842", - cluster: "C", - label: "C", - color: "#333", - id: "edge2068", - }, - { - source: "1275", - target: "1274", - cluster: "C", - label: "C", - color: "#333", - id: "edge2069", - }, - { - source: "1277", - target: "743", - cluster: "B", - label: "B", - color: "#333", - id: "edge2070", - }, - { - source: "1277", - target: "293", - cluster: "B", - label: "B", - color: "#333", - id: "edge2071", - }, - { - source: "1277", - target: "742", - cluster: "A", - label: "A", - color: "#333", - id: "edge2072", - }, - { - source: "1277", - target: "741", - cluster: "C", - label: "C", - color: "#333", - id: "edge2073", - }, - { - source: "1277", - target: "292", - cluster: "A", - label: "A", - color: "#333", - id: "edge2074", - }, - { - source: "1278", - target: "743", - cluster: "C", - label: "C", - color: "#333", - id: "edge2075", - }, - { - source: "1279", - target: "743", - cluster: "A", - label: "A", - color: "#333", - id: "edge2076", - }, - { - source: "1279", - target: "1278", - cluster: "B", - label: "B", - color: "#333", - id: "edge2077", - }, - { - source: "1280", - target: "743", - cluster: "B", - label: "B", - color: "#333", - id: "edge2078", - }, - { - source: "1280", - target: "1278", - cluster: "C", - label: "C", - color: "#333", - id: "edge2079", - }, - { - source: "1280", - target: "1279", - cluster: "A", - label: "A", - color: "#333", - id: "edge2080", - }, - { - source: "1281", - target: "1144", - cluster: "B", - label: "B", - color: "#333", - id: "edge2081", - }, - { - source: "1281", - target: "218", - cluster: "C", - label: "C", - color: "#333", - id: "edge2082", - }, - { - source: "1282", - target: "1281", - cluster: "B", - label: "B", - color: "#333", - id: "edge2083", - }, - { - source: "1282", - target: "1144", - cluster: "C", - label: "C", - color: "#333", - id: "edge2084", - }, - { - source: "1282", - target: "218", - cluster: "A", - label: "A", - color: "#333", - id: "edge2085", - }, - { - source: "1286", - target: "1285", - cluster: "A", - label: "A", - color: "#333", - id: "edge2086", - }, - { - source: "1287", - target: "1285", - cluster: "B", - label: "B", - color: "#333", - id: "edge2087", - }, - { - source: "1287", - target: "1286", - cluster: "C", - label: "C", - color: "#333", - id: "edge2088", - }, - { - source: "1288", - target: "1285", - cluster: "C", - label: "C", - color: "#333", - id: "edge2089", - }, - { - source: "1288", - target: "1286", - cluster: "A", - label: "A", - color: "#333", - id: "edge2090", - }, - { - source: "1288", - target: "1287", - cluster: "B", - label: "B", - color: "#333", - id: "edge2091", - }, - { - source: "1289", - target: "1285", - cluster: "A", - label: "A", - color: "#333", - id: "edge2092", - }, - { - source: "1289", - target: "1286", - cluster: "B", - label: "B", - color: "#333", - id: "edge2093", - }, - { - source: "1289", - target: "1287", - cluster: "C", - label: "C", - color: "#333", - id: "edge2094", - }, - { - source: "1289", - target: "1288", - cluster: "A", - label: "A", - color: "#333", - id: "edge2095", - }, - { - source: "1292", - target: "1291", - cluster: "A", - label: "A", - color: "#333", - id: "edge2096", - }, - { - source: "1293", - target: "1291", - cluster: "B", - label: "B", - color: "#333", - id: "edge2097", - }, - { - source: "1293", - target: "1292", - cluster: "C", - label: "C", - color: "#333", - id: "edge2098", - }, - { - source: "1294", - target: "374", - cluster: "A", - label: "A", - color: "#333", - id: "edge2099", - }, - { - source: "1294", - target: "375", - cluster: "B", - label: "B", - color: "#333", - id: "edge2100", - }, - { - source: "1294", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge2101", - }, - { - source: "1294", - target: "376", - cluster: "C", - label: "C", - color: "#333", - id: "edge2102", - }, - { - source: "1298", - target: "1297", - cluster: "A", - label: "A", - color: "#333", - id: "edge2103", - }, - { - source: "1302", - target: "1017", - cluster: "A", - label: "A", - color: "#333", - id: "edge2104", - }, - { - source: "1303", - target: "1017", - cluster: "B", - label: "B", - color: "#333", - id: "edge2105", - }, - { - source: "1303", - target: "1302", - cluster: "B", - label: "B", - color: "#333", - id: "edge2106", - }, - { - source: "1304", - target: "1017", - cluster: "C", - label: "C", - color: "#333", - id: "edge2107", - }, - { - source: "1305", - target: "1017", - cluster: "A", - label: "A", - color: "#333", - id: "edge2108", - }, - { - source: "1305", - target: "1016", - cluster: "C", - label: "C", - color: "#333", - id: "edge2109", - }, - { - source: "1306", - target: "1017", - cluster: "B", - label: "B", - color: "#333", - id: "edge2110", - }, - { - source: "1306", - target: "1305", - cluster: "B", - label: "B", - color: "#333", - id: "edge2111", - }, - { - source: "1306", - target: "1016", - cluster: "A", - label: "A", - color: "#333", - id: "edge2112", - }, - { - source: "1307", - target: "1017", - cluster: "C", - label: "C", - color: "#333", - id: "edge2113", - }, - { - source: "1307", - target: "1305", - cluster: "C", - label: "C", - color: "#333", - id: "edge2114", - }, - { - source: "1307", - target: "1306", - cluster: "A", - label: "A", - color: "#333", - id: "edge2115", - }, - { - source: "1307", - target: "1016", - cluster: "B", - label: "B", - color: "#333", - id: "edge2116", - }, - { - source: "1308", - target: "1017", - cluster: "A", - label: "A", - color: "#333", - id: "edge2117", - }, - { - source: "1308", - target: "1305", - cluster: "A", - label: "A", - color: "#333", - id: "edge2118", - }, - { - source: "1308", - target: "1306", - cluster: "B", - label: "B", - color: "#333", - id: "edge2119", - }, - { - source: "1308", - target: "1307", - cluster: "C", - label: "C", - color: "#333", - id: "edge2120", - }, - { - source: "1308", - target: "1016", - cluster: "C", - label: "C", - color: "#333", - id: "edge2121", - }, - { - source: "1310", - target: "1309", - cluster: "A", - label: "A", - color: "#333", - id: "edge2122", - }, - { - source: "1312", - target: "1311", - cluster: "B", - label: "B", - color: "#333", - id: "edge2123", - }, - { - source: "1313", - target: "1311", - cluster: "C", - label: "C", - color: "#333", - id: "edge2124", - }, - { - source: "1313", - target: "1312", - cluster: "A", - label: "A", - color: "#333", - id: "edge2125", - }, - { - source: "1314", - target: "1311", - cluster: "A", - label: "A", - color: "#333", - id: "edge2126", - }, - { - source: "1314", - target: "1312", - cluster: "B", - label: "B", - color: "#333", - id: "edge2127", - }, - { - source: "1314", - target: "1313", - cluster: "C", - label: "C", - color: "#333", - id: "edge2128", - }, - { - source: "1314", - target: "52", - cluster: "B", - label: "B", - color: "#333", - id: "edge2129", - }, - { - source: "1315", - target: "1311", - cluster: "B", - label: "B", - color: "#333", - id: "edge2130", - }, - { - source: "1315", - target: "1312", - cluster: "C", - label: "C", - color: "#333", - id: "edge2131", - }, - { - source: "1315", - target: "1313", - cluster: "A", - label: "A", - color: "#333", - id: "edge2132", - }, - { - source: "1315", - target: "1314", - cluster: "B", - label: "B", - color: "#333", - id: "edge2133", - }, - { - source: "1317", - target: "899", - cluster: "C", - label: "C", - color: "#333", - id: "edge2134", - }, - { - source: "1320", - target: "1319", - cluster: "C", - label: "C", - color: "#333", - id: "edge2135", - }, - { - source: "1321", - target: "523", - cluster: "C", - label: "C", - color: "#333", - id: "edge2136", - }, - { - source: "1323", - target: "1322", - cluster: "C", - label: "C", - color: "#333", - id: "edge2137", - }, - { - source: "1324", - target: "1322", - cluster: "A", - label: "A", - color: "#333", - id: "edge2138", - }, - { - source: "1324", - target: "1323", - cluster: "B", - label: "B", - color: "#333", - id: "edge2139", - }, - { - source: "1326", - target: "1325", - cluster: "C", - label: "C", - color: "#333", - id: "edge2140", - }, - { - source: "1328", - target: "1327", - cluster: "A", - label: "A", - color: "#333", - id: "edge2141", - }, - { - source: "1331", - target: "1330", - cluster: "A", - label: "A", - color: "#333", - id: "edge2142", - }, - { - source: "1332", - target: "1330", - cluster: "B", - label: "B", - color: "#333", - id: "edge2143", - }, - { - source: "1332", - target: "1331", - cluster: "C", - label: "C", - color: "#333", - id: "edge2144", - }, - { - source: "1335", - target: "1334", - cluster: "C", - label: "C", - color: "#333", - id: "edge2145", - }, - { - source: "1336", - target: "1334", - cluster: "A", - label: "A", - color: "#333", - id: "edge2146", - }, - { - source: "1336", - target: "1335", - cluster: "B", - label: "B", - color: "#333", - id: "edge2147", - }, - { - source: "1337", - target: "1334", - cluster: "B", - label: "B", - color: "#333", - id: "edge2148", - }, - { - source: "1337", - target: "1335", - cluster: "C", - label: "C", - color: "#333", - id: "edge2149", - }, - { - source: "1337", - target: "1336", - cluster: "A", - label: "A", - color: "#333", - id: "edge2150", - }, - { - source: "1338", - target: "881", - cluster: "C", - label: "C", - color: "#333", - id: "edge2151", - }, - { - source: "1340", - target: "516", - cluster: "C", - label: "C", - color: "#333", - id: "edge2152", - }, - { - source: "1341", - target: "280", - cluster: "B", - label: "B", - color: "#333", - id: "edge2153", - }, - { - source: "1341", - target: "149", - cluster: "C", - label: "C", - color: "#333", - id: "edge2154", - }, - { - source: "1341", - target: "1177", - cluster: "B", - label: "B", - color: "#333", - id: "edge2155", - }, - { - source: "1342", - target: "280", - cluster: "C", - label: "C", - color: "#333", - id: "edge2156", - }, - { - source: "1343", - target: "280", - cluster: "A", - label: "A", - color: "#333", - id: "edge2157", - }, - { - source: "1343", - target: "1342", - cluster: "A", - label: "A", - color: "#333", - id: "edge2158", - }, - { - source: "1344", - target: "1224", - cluster: "A", - label: "A", - color: "#333", - id: "edge2159", - }, - { - source: "1345", - target: "720", - cluster: "B", - label: "B", - color: "#333", - id: "edge2160", - }, - { - source: "1346", - target: "376", - cluster: "A", - label: "A", - color: "#333", - id: "edge2161", - }, - { - source: "1347", - target: "1346", - cluster: "C", - label: "C", - color: "#333", - id: "edge2162", - }, - { - source: "1347", - target: "376", - cluster: "B", - label: "B", - color: "#333", - id: "edge2163", - }, - { - source: "1348", - target: "361", - cluster: "C", - label: "C", - color: "#333", - id: "edge2164", - }, - { - source: "1349", - target: "1348", - cluster: "A", - label: "A", - color: "#333", - id: "edge2165", - }, - { - source: "1349", - target: "361", - cluster: "A", - label: "A", - color: "#333", - id: "edge2166", - }, - { - source: "1350", - target: "1348", - cluster: "B", - label: "B", - color: "#333", - id: "edge2167", - }, - { - source: "1350", - target: "1349", - cluster: "C", - label: "C", - color: "#333", - id: "edge2168", - }, - { - source: "1350", - target: "361", - cluster: "B", - label: "B", - color: "#333", - id: "edge2169", - }, - { - source: "1351", - target: "1348", - cluster: "C", - label: "C", - color: "#333", - id: "edge2170", - }, - { - source: "1351", - target: "1349", - cluster: "A", - label: "A", - color: "#333", - id: "edge2171", - }, - { - source: "1351", - target: "1350", - cluster: "B", - label: "B", - color: "#333", - id: "edge2172", - }, - { - source: "1351", - target: "361", - cluster: "C", - label: "C", - color: "#333", - id: "edge2173", - }, - { - source: "1354", - target: "1353", - cluster: "B", - label: "B", - color: "#333", - id: "edge2174", - }, - { - source: "1355", - target: "522", - cluster: "C", - label: "C", - color: "#333", - id: "edge2175", - }, - { - source: "1355", - target: "745", - cluster: "A", - label: "A", - color: "#333", - id: "edge2176", - }, - { - source: "1355", - target: "741", - cluster: "C", - label: "C", - color: "#333", - id: "edge2177", - }, - { - source: "1355", - target: "930", - cluster: "C", - label: "C", - color: "#333", - id: "edge2178", - }, - { - source: "1356", - target: "1355", - cluster: "C", - label: "C", - color: "#333", - id: "edge2179", - }, - { - source: "1356", - target: "1106", - cluster: "C", - label: "C", - color: "#333", - id: "edge2180", - }, - { - source: "1357", - target: "1355", - cluster: "A", - label: "A", - color: "#333", - id: "edge2181", - }, - { - source: "1357", - target: "1356", - cluster: "B", - label: "B", - color: "#333", - id: "edge2182", - }, - { - source: "1357", - target: "1106", - cluster: "A", - label: "A", - color: "#333", - id: "edge2183", - }, - { - source: "1358", - target: "1355", - cluster: "B", - label: "B", - color: "#333", - id: "edge2184", - }, - { - source: "1360", - target: "45", - cluster: "B", - label: "B", - color: "#333", - id: "edge2185", - }, - { - source: "1360", - target: "427", - cluster: "C", - label: "C", - color: "#333", - id: "edge2186", - }, - { - source: "1361", - target: "45", - cluster: "C", - label: "C", - color: "#333", - id: "edge2187", - }, - { - source: "1361", - target: "1360", - cluster: "A", - label: "A", - color: "#333", - id: "edge2188", - }, - { - source: "1361", - target: "427", - cluster: "A", - label: "A", - color: "#333", - id: "edge2189", - }, - { - source: "1362", - target: "45", - cluster: "A", - label: "A", - color: "#333", - id: "edge2190", - }, - { - source: "1363", - target: "1285", - cluster: "C", - label: "C", - color: "#333", - id: "edge2191", - }, - { - source: "1364", - target: "1363", - cluster: "A", - label: "A", - color: "#333", - id: "edge2192", - }, - { - source: "1364", - target: "1285", - cluster: "A", - label: "A", - color: "#333", - id: "edge2193", - }, - { - source: "1365", - target: "1363", - cluster: "B", - label: "B", - color: "#333", - id: "edge2194", - }, - { - source: "1365", - target: "1364", - cluster: "C", - label: "C", - color: "#333", - id: "edge2195", - }, - { - source: "1365", - target: "1285", - cluster: "B", - label: "B", - color: "#333", - id: "edge2196", - }, - { - source: "1366", - target: "1363", - cluster: "C", - label: "C", - color: "#333", - id: "edge2197", - }, - { - source: "1366", - target: "1364", - cluster: "A", - label: "A", - color: "#333", - id: "edge2198", - }, - { - source: "1366", - target: "1365", - cluster: "B", - label: "B", - color: "#333", - id: "edge2199", - }, - { - source: "1366", - target: "1285", - cluster: "C", - label: "C", - color: "#333", - id: "edge2200", - }, - { - source: "1367", - target: "931", - cluster: "A", - label: "A", - color: "#333", - id: "edge2201", - }, - { - source: "1367", - target: "292", - cluster: "A", - label: "A", - color: "#333", - id: "edge2202", - }, - { - source: "1367", - target: "293", - cluster: "B", - label: "B", - color: "#333", - id: "edge2203", - }, - { - source: "1367", - target: "930", - cluster: "C", - label: "C", - color: "#333", - id: "edge2204", - }, - { - source: "1368", - target: "931", - cluster: "B", - label: "B", - color: "#333", - id: "edge2205", - }, - { - source: "1368", - target: "1367", - cluster: "C", - label: "C", - color: "#333", - id: "edge2206", - }, - { - source: "1368", - target: "292", - cluster: "B", - label: "B", - color: "#333", - id: "edge2207", - }, - { - source: "1368", - target: "293", - cluster: "C", - label: "C", - color: "#333", - id: "edge2208", - }, - { - source: "1368", - target: "930", - cluster: "A", - label: "A", - color: "#333", - id: "edge2209", - }, - { - source: "1370", - target: "1369", - cluster: "A", - label: "A", - color: "#333", - id: "edge2210", - }, - { - source: "1372", - target: "1371", - cluster: "B", - label: "B", - color: "#333", - id: "edge2211", - }, - { - source: "1374", - target: "1373", - cluster: "C", - label: "C", - color: "#333", - id: "edge2212", - }, - { - source: "1375", - target: "1373", - cluster: "A", - label: "A", - color: "#333", - id: "edge2213", - }, - { - source: "1375", - target: "1374", - cluster: "B", - label: "B", - color: "#333", - id: "edge2214", - }, - { - source: "1376", - target: "1293", - cluster: "C", - label: "C", - color: "#333", - id: "edge2215", - }, - { - source: "1377", - target: "1376", - cluster: "C", - label: "C", - color: "#333", - id: "edge2216", - }, - { - source: "1377", - target: "1293", - cluster: "A", - label: "A", - color: "#333", - id: "edge2217", - }, - { - source: "1380", - target: "521", - cluster: "C", - label: "C", - color: "#333", - id: "edge2218", - }, - { - source: "1380", - target: "75", - cluster: "A", - label: "A", - color: "#333", - id: "edge2219", - }, - { - source: "1383", - target: "193", - cluster: "B", - label: "B", - color: "#333", - id: "edge2220", - }, - { - source: "1384", - target: "1383", - cluster: "B", - label: "B", - color: "#333", - id: "edge2221", - }, - { - source: "1384", - target: "193", - cluster: "C", - label: "C", - color: "#333", - id: "edge2222", - }, - { - source: "1386", - target: "1385", - cluster: "C", - label: "C", - color: "#333", - id: "edge2223", - }, - { - source: "1388", - target: "328", - cluster: "A", - label: "A", - color: "#333", - id: "edge2224", - }, - { - source: "1388", - target: "546", - cluster: "C", - label: "C", - color: "#333", - id: "edge2225", - }, - { - source: "1390", - target: "1389", - cluster: "B", - label: "B", - color: "#333", - id: "edge2226", - }, - { - source: "1391", - target: "1389", - cluster: "C", - label: "C", - color: "#333", - id: "edge2227", - }, - { - source: "1391", - target: "1390", - cluster: "A", - label: "A", - color: "#333", - id: "edge2228", - }, - { - source: "1393", - target: "1144", - cluster: "C", - label: "C", - color: "#333", - id: "edge2229", - }, - { - source: "1393", - target: "218", - cluster: "A", - label: "A", - color: "#333", - id: "edge2230", - }, - { - source: "1393", - target: "342", - cluster: "B", - label: "B", - color: "#333", - id: "edge2231", - }, - { - source: "1393", - target: "696", - cluster: "B", - label: "B", - color: "#333", - id: "edge2232", - }, - { - source: "1394", - target: "1393", - cluster: "A", - label: "A", - color: "#333", - id: "edge2233", - }, - { - source: "1394", - target: "1144", - cluster: "A", - label: "A", - color: "#333", - id: "edge2234", - }, - { - source: "1394", - target: "218", - cluster: "B", - label: "B", - color: "#333", - id: "edge2235", - }, - { - source: "1394", - target: "342", - cluster: "C", - label: "C", - color: "#333", - id: "edge2236", - }, - { - source: "1394", - target: "696", - cluster: "C", - label: "C", - color: "#333", - id: "edge2237", - }, - { - source: "1395", - target: "1393", - cluster: "B", - label: "B", - color: "#333", - id: "edge2238", - }, - { - source: "1395", - target: "1144", - cluster: "B", - label: "B", - color: "#333", - id: "edge2239", - }, - { - source: "1395", - target: "1394", - cluster: "C", - label: "C", - color: "#333", - id: "edge2240", - }, - { - source: "1395", - target: "218", - cluster: "C", - label: "C", - color: "#333", - id: "edge2241", - }, - { - source: "1395", - target: "342", - cluster: "A", - label: "A", - color: "#333", - id: "edge2242", - }, - { - source: "1395", - target: "696", - cluster: "A", - label: "A", - color: "#333", - id: "edge2243", - }, - { - source: "1396", - target: "1393", - cluster: "C", - label: "C", - color: "#333", - id: "edge2244", - }, - { - source: "1396", - target: "1144", - cluster: "C", - label: "C", - color: "#333", - id: "edge2245", - }, - { - source: "1396", - target: "1394", - cluster: "A", - label: "A", - color: "#333", - id: "edge2246", - }, - { - source: "1396", - target: "218", - cluster: "A", - label: "A", - color: "#333", - id: "edge2247", - }, - { - source: "1396", - target: "342", - cluster: "B", - label: "B", - color: "#333", - id: "edge2248", - }, - { - source: "1396", - target: "1395", - cluster: "B", - label: "B", - color: "#333", - id: "edge2249", - }, - { - source: "1396", - target: "696", - cluster: "B", - label: "B", - color: "#333", - id: "edge2250", - }, - { - source: "1397", - target: "313", - cluster: "A", - label: "A", - color: "#333", - id: "edge2251", - }, - { - source: "1399", - target: "1398", - cluster: "B", - label: "B", - color: "#333", - id: "edge2252", - }, - { - source: "1400", - target: "1398", - cluster: "C", - label: "C", - color: "#333", - id: "edge2253", - }, - { - source: "1400", - target: "1399", - cluster: "A", - label: "A", - color: "#333", - id: "edge2254", - }, - { - source: "1401", - target: "1398", - cluster: "A", - label: "A", - color: "#333", - id: "edge2255", - }, - { - source: "1401", - target: "1399", - cluster: "B", - label: "B", - color: "#333", - id: "edge2256", - }, - { - source: "1401", - target: "1400", - cluster: "C", - label: "C", - color: "#333", - id: "edge2257", - }, - { - source: "1402", - target: "1398", - cluster: "B", - label: "B", - color: "#333", - id: "edge2258", - }, - { - source: "1402", - target: "1399", - cluster: "C", - label: "C", - color: "#333", - id: "edge2259", - }, - { - source: "1402", - target: "1400", - cluster: "A", - label: "A", - color: "#333", - id: "edge2260", - }, - { - source: "1402", - target: "1401", - cluster: "B", - label: "B", - color: "#333", - id: "edge2261", - }, - { - source: "1403", - target: "326", - cluster: "B", - label: "B", - color: "#333", - id: "edge2262", - }, - { - source: "1403", - target: "415", - cluster: "A", - label: "A", - color: "#333", - id: "edge2263", - }, - { - source: "1404", - target: "1403", - cluster: "C", - label: "C", - color: "#333", - id: "edge2264", - }, - { - source: "1404", - target: "326", - cluster: "C", - label: "C", - color: "#333", - id: "edge2265", - }, - { - source: "1404", - target: "415", - cluster: "B", - label: "B", - color: "#333", - id: "edge2266", - }, - { - source: "1405", - target: "1403", - cluster: "A", - label: "A", - color: "#333", - id: "edge2267", - }, - { - source: "1405", - target: "1404", - cluster: "B", - label: "B", - color: "#333", - id: "edge2268", - }, - { - source: "1405", - target: "326", - cluster: "A", - label: "A", - color: "#333", - id: "edge2269", - }, - { - source: "1405", - target: "415", - cluster: "C", - label: "C", - color: "#333", - id: "edge2270", - }, - { - source: "1406", - target: "1403", - cluster: "B", - label: "B", - color: "#333", - id: "edge2271", - }, - { - source: "1406", - target: "1404", - cluster: "C", - label: "C", - color: "#333", - id: "edge2272", - }, - { - source: "1406", - target: "326", - cluster: "B", - label: "B", - color: "#333", - id: "edge2273", - }, - { - source: "1406", - target: "1405", - cluster: "A", - label: "A", - color: "#333", - id: "edge2274", - }, - { - source: "1406", - target: "415", - cluster: "A", - label: "A", - color: "#333", - id: "edge2275", - }, - { - source: "1407", - target: "1403", - cluster: "C", - label: "C", - color: "#333", - id: "edge2276", - }, - { - source: "1407", - target: "1404", - cluster: "A", - label: "A", - color: "#333", - id: "edge2277", - }, - { - source: "1407", - target: "326", - cluster: "C", - label: "C", - color: "#333", - id: "edge2278", - }, - { - source: "1407", - target: "1405", - cluster: "B", - label: "B", - color: "#333", - id: "edge2279", - }, - { - source: "1407", - target: "415", - cluster: "B", - label: "B", - color: "#333", - id: "edge2280", - }, - { - source: "1407", - target: "1406", - cluster: "C", - label: "C", - color: "#333", - id: "edge2281", - }, - { - source: "1408", - target: "495", - cluster: "B", - label: "B", - color: "#333", - id: "edge2282", - }, - { - source: "1409", - target: "1408", - cluster: "A", - label: "A", - color: "#333", - id: "edge2283", - }, - { - source: "1409", - target: "495", - cluster: "C", - label: "C", - color: "#333", - id: "edge2284", - }, - { - source: "1410", - target: "1356", - cluster: "A", - label: "A", - color: "#333", - id: "edge2285", - }, - { - source: "1410", - target: "1106", - cluster: "C", - label: "C", - color: "#333", - id: "edge2286", - }, - { - source: "1410", - target: "1357", - cluster: "B", - label: "B", - color: "#333", - id: "edge2287", - }, - { - source: "1411", - target: "1059", - cluster: "B", - label: "B", - color: "#333", - id: "edge2288", - }, - { - source: "1412", - target: "185", - cluster: "B", - label: "B", - color: "#333", - id: "edge2289", - }, - { - source: "1412", - target: "1161", - cluster: "C", - label: "C", - color: "#333", - id: "edge2290", - }, - { - source: "1413", - target: "185", - cluster: "C", - label: "C", - color: "#333", - id: "edge2291", - }, - { - source: "1413", - target: "1412", - cluster: "C", - label: "C", - color: "#333", - id: "edge2292", - }, - { - source: "1413", - target: "1161", - cluster: "A", - label: "A", - color: "#333", - id: "edge2293", - }, - { - source: "1414", - target: "185", - cluster: "A", - label: "A", - color: "#333", - id: "edge2294", - }, - { - source: "1414", - target: "1412", - cluster: "A", - label: "A", - color: "#333", - id: "edge2295", - }, - { - source: "1414", - target: "1161", - cluster: "B", - label: "B", - color: "#333", - id: "edge2296", - }, - { - source: "1414", - target: "1413", - cluster: "B", - label: "B", - color: "#333", - id: "edge2297", - }, - { - source: "1415", - target: "302", - cluster: "B", - label: "B", - color: "#333", - id: "edge2298", - }, - { - source: "1415", - target: "1025", - cluster: "B", - label: "B", - color: "#333", - id: "edge2299", - }, - { - source: "1416", - target: "1415", - cluster: "C", - label: "C", - color: "#333", - id: "edge2300", - }, - { - source: "1416", - target: "302", - cluster: "C", - label: "C", - color: "#333", - id: "edge2301", - }, - { - source: "1416", - target: "1025", - cluster: "C", - label: "C", - color: "#333", - id: "edge2302", - }, - { - source: "1417", - target: "929", - cluster: "A", - label: "A", - color: "#333", - id: "edge2303", - }, - { - source: "1418", - target: "1335", - cluster: "C", - label: "C", - color: "#333", - id: "edge2304", - }, - { - source: "1420", - target: "1419", - cluster: "B", - label: "B", - color: "#333", - id: "edge2305", - }, - { - source: "1421", - target: "1419", - cluster: "C", - label: "C", - color: "#333", - id: "edge2306", - }, - { - source: "1421", - target: "1420", - cluster: "A", - label: "A", - color: "#333", - id: "edge2307", - }, - { - source: "1422", - target: "1419", - cluster: "A", - label: "A", - color: "#333", - id: "edge2308", - }, - { - source: "1422", - target: "1420", - cluster: "B", - label: "B", - color: "#333", - id: "edge2309", - }, - { - source: "1422", - target: "1421", - cluster: "C", - label: "C", - color: "#333", - id: "edge2310", - }, - { - source: "1423", - target: "8", - cluster: "A", - label: "A", - color: "#333", - id: "edge2311", - }, - { - source: "1424", - target: "1423", - cluster: "A", - label: "A", - color: "#333", - id: "edge2312", - }, - { - source: "1424", - target: "8", - cluster: "B", - label: "B", - color: "#333", - id: "edge2313", - }, - { - source: "1426", - target: "1425", - cluster: "B", - label: "B", - color: "#333", - id: "edge2314", - }, - { - source: "1427", - target: "1425", - cluster: "C", - label: "C", - color: "#333", - id: "edge2315", - }, - { - source: "1427", - target: "1426", - cluster: "A", - label: "A", - color: "#333", - id: "edge2316", - }, - { - source: "1428", - target: "644", - cluster: "C", - label: "C", - color: "#333", - id: "edge2317", - }, - { - source: "1429", - target: "1428", - cluster: "B", - label: "B", - color: "#333", - id: "edge2318", - }, - { - source: "1429", - target: "644", - cluster: "A", - label: "A", - color: "#333", - id: "edge2319", - }, - { - source: "1430", - target: "1428", - cluster: "C", - label: "C", - color: "#333", - id: "edge2320", - }, - { - source: "1430", - target: "644", - cluster: "B", - label: "B", - color: "#333", - id: "edge2321", - }, - { - source: "1430", - target: "1429", - cluster: "A", - label: "A", - color: "#333", - id: "edge2322", - }, - { - source: "1431", - target: "1428", - cluster: "A", - label: "A", - color: "#333", - id: "edge2323", - }, - { - source: "1431", - target: "644", - cluster: "C", - label: "C", - color: "#333", - id: "edge2324", - }, - { - source: "1431", - target: "1429", - cluster: "B", - label: "B", - color: "#333", - id: "edge2325", - }, - { - source: "1431", - target: "1430", - cluster: "C", - label: "C", - color: "#333", - id: "edge2326", - }, - { - source: "1432", - target: "1428", - cluster: "B", - label: "B", - color: "#333", - id: "edge2327", - }, - { - source: "1432", - target: "644", - cluster: "A", - label: "A", - color: "#333", - id: "edge2328", - }, - { - source: "1432", - target: "1429", - cluster: "C", - label: "C", - color: "#333", - id: "edge2329", - }, - { - source: "1432", - target: "1430", - cluster: "A", - label: "A", - color: "#333", - id: "edge2330", - }, - { - source: "1432", - target: "1431", - cluster: "B", - label: "B", - color: "#333", - id: "edge2331", - }, - { - source: "1433", - target: "1428", - cluster: "C", - label: "C", - color: "#333", - id: "edge2332", - }, - { - source: "1433", - target: "644", - cluster: "B", - label: "B", - color: "#333", - id: "edge2333", - }, - { - source: "1433", - target: "1429", - cluster: "A", - label: "A", - color: "#333", - id: "edge2334", - }, - { - source: "1433", - target: "1430", - cluster: "B", - label: "B", - color: "#333", - id: "edge2335", - }, - { - source: "1433", - target: "1431", - cluster: "C", - label: "C", - color: "#333", - id: "edge2336", - }, - { - source: "1433", - target: "1432", - cluster: "A", - label: "A", - color: "#333", - id: "edge2337", - }, - { - source: "1434", - target: "1428", - cluster: "A", - label: "A", - color: "#333", - id: "edge2338", - }, - { - source: "1434", - target: "644", - cluster: "C", - label: "C", - color: "#333", - id: "edge2339", - }, - { - source: "1434", - target: "1429", - cluster: "B", - label: "B", - color: "#333", - id: "edge2340", - }, - { - source: "1434", - target: "1430", - cluster: "C", - label: "C", - color: "#333", - id: "edge2341", - }, - { - source: "1434", - target: "1431", - cluster: "A", - label: "A", - color: "#333", - id: "edge2342", - }, - { - source: "1434", - target: "1432", - cluster: "B", - label: "B", - color: "#333", - id: "edge2343", - }, - { - source: "1434", - target: "1433", - cluster: "C", - label: "C", - color: "#333", - id: "edge2344", - }, - { - source: "1435", - target: "1428", - cluster: "B", - label: "B", - color: "#333", - id: "edge2345", - }, - { - source: "1435", - target: "644", - cluster: "A", - label: "A", - color: "#333", - id: "edge2346", - }, - { - source: "1435", - target: "1429", - cluster: "C", - label: "C", - color: "#333", - id: "edge2347", - }, - { - source: "1435", - target: "1430", - cluster: "A", - label: "A", - color: "#333", - id: "edge2348", - }, - { - source: "1435", - target: "1431", - cluster: "B", - label: "B", - color: "#333", - id: "edge2349", - }, - { - source: "1435", - target: "1432", - cluster: "C", - label: "C", - color: "#333", - id: "edge2350", - }, - { - source: "1435", - target: "1433", - cluster: "A", - label: "A", - color: "#333", - id: "edge2351", - }, - { - source: "1435", - target: "1434", - cluster: "B", - label: "B", - color: "#333", - id: "edge2352", - }, - { - source: "1436", - target: "1428", - cluster: "C", - label: "C", - color: "#333", - id: "edge2353", - }, - { - source: "1436", - target: "644", - cluster: "B", - label: "B", - color: "#333", - id: "edge2354", - }, - { - source: "1436", - target: "1429", - cluster: "A", - label: "A", - color: "#333", - id: "edge2355", - }, - { - source: "1436", - target: "1430", - cluster: "B", - label: "B", - color: "#333", - id: "edge2356", - }, - { - source: "1436", - target: "1431", - cluster: "C", - label: "C", - color: "#333", - id: "edge2357", - }, - { - source: "1436", - target: "1432", - cluster: "A", - label: "A", - color: "#333", - id: "edge2358", - }, - { - source: "1436", - target: "1433", - cluster: "B", - label: "B", - color: "#333", - id: "edge2359", - }, - { - source: "1436", - target: "1434", - cluster: "C", - label: "C", - color: "#333", - id: "edge2360", - }, - { - source: "1436", - target: "1435", - cluster: "A", - label: "A", - color: "#333", - id: "edge2361", - }, - { - source: "1437", - target: "1428", - cluster: "A", - label: "A", - color: "#333", - id: "edge2362", - }, - { - source: "1437", - target: "644", - cluster: "C", - label: "C", - color: "#333", - id: "edge2363", - }, - { - source: "1437", - target: "1429", - cluster: "B", - label: "B", - color: "#333", - id: "edge2364", - }, - { - source: "1437", - target: "1430", - cluster: "C", - label: "C", - color: "#333", - id: "edge2365", - }, - { - source: "1437", - target: "1431", - cluster: "A", - label: "A", - color: "#333", - id: "edge2366", - }, - { - source: "1437", - target: "1432", - cluster: "B", - label: "B", - color: "#333", - id: "edge2367", - }, - { - source: "1437", - target: "1433", - cluster: "C", - label: "C", - color: "#333", - id: "edge2368", - }, - { - source: "1437", - target: "1434", - cluster: "A", - label: "A", - color: "#333", - id: "edge2369", - }, - { - source: "1437", - target: "1435", - cluster: "B", - label: "B", - color: "#333", - id: "edge2370", - }, - { - source: "1437", - target: "1436", - cluster: "C", - label: "C", - color: "#333", - id: "edge2371", - }, - { - source: "1438", - target: "1428", - cluster: "B", - label: "B", - color: "#333", - id: "edge2372", - }, - { - source: "1438", - target: "644", - cluster: "A", - label: "A", - color: "#333", - id: "edge2373", - }, - { - source: "1438", - target: "1429", - cluster: "C", - label: "C", - color: "#333", - id: "edge2374", - }, - { - source: "1438", - target: "1430", - cluster: "A", - label: "A", - color: "#333", - id: "edge2375", - }, - { - source: "1438", - target: "1431", - cluster: "B", - label: "B", - color: "#333", - id: "edge2376", - }, - { - source: "1438", - target: "1432", - cluster: "C", - label: "C", - color: "#333", - id: "edge2377", - }, - { - source: "1438", - target: "1433", - cluster: "A", - label: "A", - color: "#333", - id: "edge2378", - }, - { - source: "1438", - target: "1434", - cluster: "B", - label: "B", - color: "#333", - id: "edge2379", - }, - { - source: "1438", - target: "1435", - cluster: "C", - label: "C", - color: "#333", - id: "edge2380", - }, - { - source: "1438", - target: "1436", - cluster: "A", - label: "A", - color: "#333", - id: "edge2381", - }, - { - source: "1438", - target: "1437", - cluster: "B", - label: "B", - color: "#333", - id: "edge2382", - }, - { - source: "1439", - target: "1428", - cluster: "C", - label: "C", - color: "#333", - id: "edge2383", - }, - { - source: "1439", - target: "644", - cluster: "B", - label: "B", - color: "#333", - id: "edge2384", - }, - { - source: "1439", - target: "1429", - cluster: "A", - label: "A", - color: "#333", - id: "edge2385", - }, - { - source: "1439", - target: "1430", - cluster: "B", - label: "B", - color: "#333", - id: "edge2386", - }, - { - source: "1439", - target: "1431", - cluster: "C", - label: "C", - color: "#333", - id: "edge2387", - }, - { - source: "1439", - target: "1432", - cluster: "A", - label: "A", - color: "#333", - id: "edge2388", - }, - { - source: "1439", - target: "1433", - cluster: "B", - label: "B", - color: "#333", - id: "edge2389", - }, - { - source: "1439", - target: "1434", - cluster: "C", - label: "C", - color: "#333", - id: "edge2390", - }, - { - source: "1439", - target: "1435", - cluster: "A", - label: "A", - color: "#333", - id: "edge2391", - }, - { - source: "1439", - target: "1436", - cluster: "B", - label: "B", - color: "#333", - id: "edge2392", - }, - { - source: "1439", - target: "1437", - cluster: "C", - label: "C", - color: "#333", - id: "edge2393", - }, - { - source: "1439", - target: "1438", - cluster: "A", - label: "A", - color: "#333", - id: "edge2394", - }, - { - source: "1440", - target: "1428", - cluster: "A", - label: "A", - color: "#333", - id: "edge2395", - }, - { - source: "1440", - target: "644", - cluster: "C", - label: "C", - color: "#333", - id: "edge2396", - }, - { - source: "1440", - target: "1429", - cluster: "B", - label: "B", - color: "#333", - id: "edge2397", - }, - { - source: "1440", - target: "1430", - cluster: "C", - label: "C", - color: "#333", - id: "edge2398", - }, - { - source: "1440", - target: "1431", - cluster: "A", - label: "A", - color: "#333", - id: "edge2399", - }, - { - source: "1440", - target: "1432", - cluster: "B", - label: "B", - color: "#333", - id: "edge2400", - }, - { - source: "1440", - target: "1433", - cluster: "C", - label: "C", - color: "#333", - id: "edge2401", - }, - { - source: "1440", - target: "1434", - cluster: "A", - label: "A", - color: "#333", - id: "edge2402", - }, - { - source: "1440", - target: "1435", - cluster: "B", - label: "B", - color: "#333", - id: "edge2403", - }, - { - source: "1440", - target: "1436", - cluster: "C", - label: "C", - color: "#333", - id: "edge2404", - }, - { - source: "1440", - target: "1437", - cluster: "A", - label: "A", - color: "#333", - id: "edge2405", - }, - { - source: "1440", - target: "1438", - cluster: "B", - label: "B", - color: "#333", - id: "edge2406", - }, - { - source: "1440", - target: "1439", - cluster: "C", - label: "C", - color: "#333", - id: "edge2407", - }, - { - source: "1441", - target: "1428", - cluster: "B", - label: "B", - color: "#333", - id: "edge2408", - }, - { - source: "1441", - target: "644", - cluster: "A", - label: "A", - color: "#333", - id: "edge2409", - }, - { - source: "1441", - target: "1429", - cluster: "C", - label: "C", - color: "#333", - id: "edge2410", - }, - { - source: "1441", - target: "1430", - cluster: "A", - label: "A", - color: "#333", - id: "edge2411", - }, - { - source: "1441", - target: "1431", - cluster: "B", - label: "B", - color: "#333", - id: "edge2412", - }, - { - source: "1441", - target: "1432", - cluster: "C", - label: "C", - color: "#333", - id: "edge2413", - }, - { - source: "1441", - target: "1433", - cluster: "A", - label: "A", - color: "#333", - id: "edge2414", - }, - { - source: "1441", - target: "1434", - cluster: "B", - label: "B", - color: "#333", - id: "edge2415", - }, - { - source: "1441", - target: "1435", - cluster: "C", - label: "C", - color: "#333", - id: "edge2416", - }, - { - source: "1441", - target: "1436", - cluster: "A", - label: "A", - color: "#333", - id: "edge2417", - }, - { - source: "1441", - target: "1437", - cluster: "B", - label: "B", - color: "#333", - id: "edge2418", - }, - { - source: "1441", - target: "1438", - cluster: "C", - label: "C", - color: "#333", - id: "edge2419", - }, - { - source: "1441", - target: "1439", - cluster: "A", - label: "A", - color: "#333", - id: "edge2420", - }, - { - source: "1441", - target: "1440", - cluster: "B", - label: "B", - color: "#333", - id: "edge2421", - }, - { - source: "1442", - target: "1428", - cluster: "C", - label: "C", - color: "#333", - id: "edge2422", - }, - { - source: "1442", - target: "644", - cluster: "B", - label: "B", - color: "#333", - id: "edge2423", - }, - { - source: "1442", - target: "1429", - cluster: "A", - label: "A", - color: "#333", - id: "edge2424", - }, - { - source: "1442", - target: "1430", - cluster: "B", - label: "B", - color: "#333", - id: "edge2425", - }, - { - source: "1442", - target: "1431", - cluster: "C", - label: "C", - color: "#333", - id: "edge2426", - }, - { - source: "1442", - target: "1432", - cluster: "A", - label: "A", - color: "#333", - id: "edge2427", - }, - { - source: "1442", - target: "1433", - cluster: "B", - label: "B", - color: "#333", - id: "edge2428", - }, - { - source: "1442", - target: "1434", - cluster: "C", - label: "C", - color: "#333", - id: "edge2429", - }, - { - source: "1442", - target: "1435", - cluster: "A", - label: "A", - color: "#333", - id: "edge2430", - }, - { - source: "1442", - target: "1436", - cluster: "B", - label: "B", - color: "#333", - id: "edge2431", - }, - { - source: "1442", - target: "1437", - cluster: "C", - label: "C", - color: "#333", - id: "edge2432", - }, - { - source: "1442", - target: "1438", - cluster: "A", - label: "A", - color: "#333", - id: "edge2433", - }, - { - source: "1442", - target: "1439", - cluster: "B", - label: "B", - color: "#333", - id: "edge2434", - }, - { - source: "1442", - target: "1440", - cluster: "C", - label: "C", - color: "#333", - id: "edge2435", - }, - { - source: "1442", - target: "1441", - cluster: "A", - label: "A", - color: "#333", - id: "edge2436", - }, - { - source: "1443", - target: "1428", - cluster: "A", - label: "A", - color: "#333", - id: "edge2437", - }, - { - source: "1443", - target: "644", - cluster: "C", - label: "C", - color: "#333", - id: "edge2438", - }, - { - source: "1443", - target: "1429", - cluster: "B", - label: "B", - color: "#333", - id: "edge2439", - }, - { - source: "1443", - target: "1430", - cluster: "C", - label: "C", - color: "#333", - id: "edge2440", - }, - { - source: "1443", - target: "1431", - cluster: "A", - label: "A", - color: "#333", - id: "edge2441", - }, - { - source: "1443", - target: "1432", - cluster: "B", - label: "B", - color: "#333", - id: "edge2442", - }, - { - source: "1443", - target: "1433", - cluster: "C", - label: "C", - color: "#333", - id: "edge2443", - }, - { - source: "1443", - target: "1434", - cluster: "A", - label: "A", - color: "#333", - id: "edge2444", - }, - { - source: "1443", - target: "1435", - cluster: "B", - label: "B", - color: "#333", - id: "edge2445", - }, - { - source: "1443", - target: "1436", - cluster: "C", - label: "C", - color: "#333", - id: "edge2446", - }, - { - source: "1443", - target: "1437", - cluster: "A", - label: "A", - color: "#333", - id: "edge2447", - }, - { - source: "1443", - target: "1438", - cluster: "B", - label: "B", - color: "#333", - id: "edge2448", - }, - { - source: "1443", - target: "1439", - cluster: "C", - label: "C", - color: "#333", - id: "edge2449", - }, - { - source: "1443", - target: "1440", - cluster: "A", - label: "A", - color: "#333", - id: "edge2450", - }, - { - source: "1443", - target: "1441", - cluster: "B", - label: "B", - color: "#333", - id: "edge2451", - }, - { - source: "1443", - target: "1442", - cluster: "C", - label: "C", - color: "#333", - id: "edge2452", - }, - { - source: "1444", - target: "1428", - cluster: "B", - label: "B", - color: "#333", - id: "edge2453", - }, - { - source: "1444", - target: "644", - cluster: "A", - label: "A", - color: "#333", - id: "edge2454", - }, - { - source: "1444", - target: "1429", - cluster: "C", - label: "C", - color: "#333", - id: "edge2455", - }, - { - source: "1444", - target: "1430", - cluster: "A", - label: "A", - color: "#333", - id: "edge2456", - }, - { - source: "1444", - target: "1431", - cluster: "B", - label: "B", - color: "#333", - id: "edge2457", - }, - { - source: "1444", - target: "1432", - cluster: "C", - label: "C", - color: "#333", - id: "edge2458", - }, - { - source: "1444", - target: "1433", - cluster: "A", - label: "A", - color: "#333", - id: "edge2459", - }, - { - source: "1444", - target: "1434", - cluster: "B", - label: "B", - color: "#333", - id: "edge2460", - }, - { - source: "1444", - target: "1435", - cluster: "C", - label: "C", - color: "#333", - id: "edge2461", - }, - { - source: "1444", - target: "1436", - cluster: "A", - label: "A", - color: "#333", - id: "edge2462", - }, - { - source: "1444", - target: "1437", - cluster: "B", - label: "B", - color: "#333", - id: "edge2463", - }, - { - source: "1444", - target: "1438", - cluster: "C", - label: "C", - color: "#333", - id: "edge2464", - }, - { - source: "1444", - target: "1439", - cluster: "A", - label: "A", - color: "#333", - id: "edge2465", - }, - { - source: "1444", - target: "1440", - cluster: "B", - label: "B", - color: "#333", - id: "edge2466", - }, - { - source: "1444", - target: "1441", - cluster: "C", - label: "C", - color: "#333", - id: "edge2467", - }, - { - source: "1444", - target: "1442", - cluster: "A", - label: "A", - color: "#333", - id: "edge2468", - }, - { - source: "1444", - target: "1443", - cluster: "B", - label: "B", - color: "#333", - id: "edge2469", - }, - { - source: "1445", - target: "1428", - cluster: "C", - label: "C", - color: "#333", - id: "edge2470", - }, - { - source: "1445", - target: "644", - cluster: "B", - label: "B", - color: "#333", - id: "edge2471", - }, - { - source: "1445", - target: "1429", - cluster: "A", - label: "A", - color: "#333", - id: "edge2472", - }, - { - source: "1445", - target: "1430", - cluster: "B", - label: "B", - color: "#333", - id: "edge2473", - }, - { - source: "1445", - target: "1431", - cluster: "C", - label: "C", - color: "#333", - id: "edge2474", - }, - { - source: "1445", - target: "1432", - cluster: "A", - label: "A", - color: "#333", - id: "edge2475", - }, - { - source: "1445", - target: "1433", - cluster: "B", - label: "B", - color: "#333", - id: "edge2476", - }, - { - source: "1445", - target: "1434", - cluster: "C", - label: "C", - color: "#333", - id: "edge2477", - }, - { - source: "1445", - target: "1435", - cluster: "A", - label: "A", - color: "#333", - id: "edge2478", - }, - { - source: "1445", - target: "1436", - cluster: "B", - label: "B", - color: "#333", - id: "edge2479", - }, - { - source: "1445", - target: "1437", - cluster: "C", - label: "C", - color: "#333", - id: "edge2480", - }, - { - source: "1445", - target: "1438", - cluster: "A", - label: "A", - color: "#333", - id: "edge2481", - }, - { - source: "1445", - target: "1439", - cluster: "B", - label: "B", - color: "#333", - id: "edge2482", - }, - { - source: "1445", - target: "1440", - cluster: "C", - label: "C", - color: "#333", - id: "edge2483", - }, - { - source: "1445", - target: "1441", - cluster: "A", - label: "A", - color: "#333", - id: "edge2484", - }, - { - source: "1445", - target: "1442", - cluster: "B", - label: "B", - color: "#333", - id: "edge2485", - }, - { - source: "1445", - target: "1443", - cluster: "C", - label: "C", - color: "#333", - id: "edge2486", - }, - { - source: "1445", - target: "1444", - cluster: "A", - label: "A", - color: "#333", - id: "edge2487", - }, - { - source: "1446", - target: "1428", - cluster: "A", - label: "A", - color: "#333", - id: "edge2488", - }, - { - source: "1446", - target: "644", - cluster: "C", - label: "C", - color: "#333", - id: "edge2489", - }, - { - source: "1446", - target: "1429", - cluster: "B", - label: "B", - color: "#333", - id: "edge2490", - }, - { - source: "1446", - target: "1430", - cluster: "C", - label: "C", - color: "#333", - id: "edge2491", - }, - { - source: "1446", - target: "1431", - cluster: "A", - label: "A", - color: "#333", - id: "edge2492", - }, - { - source: "1446", - target: "1432", - cluster: "B", - label: "B", - color: "#333", - id: "edge2493", - }, - { - source: "1446", - target: "1433", - cluster: "C", - label: "C", - color: "#333", - id: "edge2494", - }, - { - source: "1446", - target: "1434", - cluster: "A", - label: "A", - color: "#333", - id: "edge2495", - }, - { - source: "1446", - target: "1435", - cluster: "B", - label: "B", - color: "#333", - id: "edge2496", - }, - { - source: "1446", - target: "1436", - cluster: "C", - label: "C", - color: "#333", - id: "edge2497", - }, - { - source: "1446", - target: "1437", - cluster: "A", - label: "A", - color: "#333", - id: "edge2498", - }, - { - source: "1446", - target: "1438", - cluster: "B", - label: "B", - color: "#333", - id: "edge2499", - }, - { - source: "1446", - target: "1439", - cluster: "C", - label: "C", - color: "#333", - id: "edge2500", - }, - { - source: "1446", - target: "1440", - cluster: "A", - label: "A", - color: "#333", - id: "edge2501", - }, - { - source: "1446", - target: "1441", - cluster: "B", - label: "B", - color: "#333", - id: "edge2502", - }, - { - source: "1446", - target: "1442", - cluster: "C", - label: "C", - color: "#333", - id: "edge2503", - }, - { - source: "1446", - target: "1443", - cluster: "A", - label: "A", - color: "#333", - id: "edge2504", - }, - { - source: "1446", - target: "1444", - cluster: "B", - label: "B", - color: "#333", - id: "edge2505", - }, - { - source: "1446", - target: "1445", - cluster: "C", - label: "C", - color: "#333", - id: "edge2506", - }, - { - source: "1447", - target: "1428", - cluster: "B", - label: "B", - color: "#333", - id: "edge2507", - }, - { - source: "1447", - target: "1429", - cluster: "C", - label: "C", - color: "#333", - id: "edge2508", - }, - { - source: "1447", - target: "1430", - cluster: "A", - label: "A", - color: "#333", - id: "edge2509", - }, - { - source: "1449", - target: "1448", - cluster: "C", - label: "C", - color: "#333", - id: "edge2510", - }, - { - source: "1450", - target: "282", - cluster: "B", - label: "B", - color: "#333", - id: "edge2511", - }, - { - source: "1450", - target: "280", - cluster: "C", - label: "C", - color: "#333", - id: "edge2512", - }, - { - source: "1451", - target: "215", - cluster: "B", - label: "B", - color: "#333", - id: "edge2513", - }, - { - source: "1452", - target: "1359", - cluster: "A", - label: "A", - color: "#333", - id: "edge2514", - }, - { - source: "1453", - target: "720", - cluster: "B", - label: "B", - color: "#333", - id: "edge2515", - }, - { - source: "1454", - target: "481", - cluster: "A", - label: "A", - color: "#333", - id: "edge2516", - }, - { - source: "1456", - target: "1455", - cluster: "B", - label: "B", - color: "#333", - id: "edge2517", - }, - { - source: "1457", - target: "1455", - cluster: "C", - label: "C", - color: "#333", - id: "edge2518", - }, - { - source: "1457", - target: "1456", - cluster: "A", - label: "A", - color: "#333", - id: "edge2519", - }, - { - source: "1458", - target: "1455", - cluster: "A", - label: "A", - color: "#333", - id: "edge2520", - }, - { - source: "1458", - target: "1456", - cluster: "B", - label: "B", - color: "#333", - id: "edge2521", - }, - { - source: "1458", - target: "1457", - cluster: "C", - label: "C", - color: "#333", - id: "edge2522", - }, - { - source: "1459", - target: "516", - cluster: "B", - label: "B", - color: "#333", - id: "edge2523", - }, - { - source: "1459", - target: "126", - cluster: "B", - label: "B", - color: "#333", - id: "edge2524", - }, - { - source: "1459", - target: "150", - cluster: "B", - label: "B", - color: "#333", - id: "edge2525", - }, - { - source: "1460", - target: "54", - cluster: "C", - label: "C", - color: "#333", - id: "edge2526", - }, - { - source: "1460", - target: "55", - cluster: "A", - label: "A", - color: "#333", - id: "edge2527", - }, - { - source: "1463", - target: "859", - cluster: "A", - label: "A", - color: "#333", - id: "edge2528", - }, - { - source: "1463", - target: "293", - cluster: "B", - label: "B", - color: "#333", - id: "edge2529", - }, - { - source: "1464", - target: "1463", - cluster: "C", - label: "C", - color: "#333", - id: "edge2530", - }, - { - source: "1464", - target: "859", - cluster: "B", - label: "B", - color: "#333", - id: "edge2531", - }, - { - source: "1464", - target: "293", - cluster: "C", - label: "C", - color: "#333", - id: "edge2532", - }, - { - source: "1465", - target: "1463", - cluster: "A", - label: "A", - color: "#333", - id: "edge2533", - }, - { - source: "1465", - target: "1464", - cluster: "B", - label: "B", - color: "#333", - id: "edge2534", - }, - { - source: "1465", - target: "859", - cluster: "C", - label: "C", - color: "#333", - id: "edge2535", - }, - { - source: "1465", - target: "293", - cluster: "A", - label: "A", - color: "#333", - id: "edge2536", - }, - { - source: "1466", - target: "1463", - cluster: "B", - label: "B", - color: "#333", - id: "edge2537", - }, - { - source: "1466", - target: "1464", - cluster: "C", - label: "C", - color: "#333", - id: "edge2538", - }, - { - source: "1466", - target: "859", - cluster: "A", - label: "A", - color: "#333", - id: "edge2539", - }, - { - source: "1466", - target: "1465", - cluster: "A", - label: "A", - color: "#333", - id: "edge2540", - }, - { - source: "1466", - target: "293", - cluster: "B", - label: "B", - color: "#333", - id: "edge2541", - }, - { - source: "1467", - target: "52", - cluster: "B", - label: "B", - color: "#333", - id: "edge2542", - }, - { - source: "1467", - target: "1314", - cluster: "A", - label: "A", - color: "#333", - id: "edge2543", - }, - { - source: "1468", - target: "52", - cluster: "C", - label: "C", - color: "#333", - id: "edge2544", - }, - { - source: "1468", - target: "1467", - cluster: "B", - label: "B", - color: "#333", - id: "edge2545", - }, - { - source: "1468", - target: "1314", - cluster: "B", - label: "B", - color: "#333", - id: "edge2546", - }, - { - source: "1469", - target: "52", - cluster: "A", - label: "A", - color: "#333", - id: "edge2547", - }, - { - source: "1469", - target: "1467", - cluster: "C", - label: "C", - color: "#333", - id: "edge2548", - }, - { - source: "1469", - target: "1314", - cluster: "C", - label: "C", - color: "#333", - id: "edge2549", - }, - { - source: "1469", - target: "1468", - cluster: "A", - label: "A", - color: "#333", - id: "edge2550", - }, - { - source: "1471", - target: "1470", - cluster: "B", - label: "B", - color: "#333", - id: "edge2551", - }, - { - source: "1472", - target: "1470", - cluster: "C", - label: "C", - color: "#333", - id: "edge2552", - }, - { - source: "1472", - target: "1471", - cluster: "A", - label: "A", - color: "#333", - id: "edge2553", - }, - { - source: "1474", - target: "1473", - cluster: "B", - label: "B", - color: "#333", - id: "edge2554", - }, - { - source: "1475", - target: "1473", - cluster: "C", - label: "C", - color: "#333", - id: "edge2555", - }, - { - source: "1475", - target: "1474", - cluster: "A", - label: "A", - color: "#333", - id: "edge2556", - }, - { - source: "1476", - target: "206", - cluster: "C", - label: "C", - color: "#333", - id: "edge2557", - }, - { - source: "1477", - target: "1476", - cluster: "B", - label: "B", - color: "#333", - id: "edge2558", - }, - { - source: "1477", - target: "206", - cluster: "A", - label: "A", - color: "#333", - id: "edge2559", - }, - { - source: "1479", - target: "1478", - cluster: "C", - label: "C", - color: "#333", - id: "edge2560", - }, - { - source: "1480", - target: "95", - cluster: "A", - label: "A", - color: "#333", - id: "edge2561", - }, - { - source: "1481", - target: "1480", - cluster: "A", - label: "A", - color: "#333", - id: "edge2562", - }, - { - source: "1481", - target: "95", - cluster: "B", - label: "B", - color: "#333", - id: "edge2563", - }, - { - source: "1483", - target: "1482", - cluster: "B", - label: "B", - color: "#333", - id: "edge2564", - }, - { - source: "1484", - target: "1482", - cluster: "C", - label: "C", - color: "#333", - id: "edge2565", - }, - { - source: "1484", - target: "1483", - cluster: "A", - label: "A", - color: "#333", - id: "edge2566", - }, - { - source: "1486", - target: "1485", - cluster: "B", - label: "B", - color: "#333", - id: "edge2567", - }, - { - source: "1487", - target: "1141", - cluster: "A", - label: "A", - color: "#333", - id: "edge2568", - }, - { - source: "1488", - target: "1487", - cluster: "C", - label: "C", - color: "#333", - id: "edge2569", - }, - { - source: "1488", - target: "1141", - cluster: "B", - label: "B", - color: "#333", - id: "edge2570", - }, - { - source: "1491", - target: "1490", - cluster: "C", - label: "C", - color: "#333", - id: "edge2571", - }, - { - source: "1492", - target: "1490", - cluster: "A", - label: "A", - color: "#333", - id: "edge2572", - }, - { - source: "1493", - target: "1492", - cluster: "A", - label: "A", - color: "#333", - id: "edge2573", - }, - { - source: "1495", - target: "1494", - cluster: "B", - label: "B", - color: "#333", - id: "edge2574", - }, - { - source: "1496", - target: "299", - cluster: "B", - label: "B", - color: "#333", - id: "edge2575", - }, - { - source: "1497", - target: "81", - cluster: "A", - label: "A", - color: "#333", - id: "edge2576", - }, - { - source: "1499", - target: "238", - cluster: "A", - label: "A", - color: "#333", - id: "edge2577", - }, - { - source: "1500", - target: "1499", - cluster: "C", - label: "C", - color: "#333", - id: "edge2578", - }, - { - source: "1500", - target: "238", - cluster: "B", - label: "B", - color: "#333", - id: "edge2579", - }, - { - source: "1501", - target: "1499", - cluster: "A", - label: "A", - color: "#333", - id: "edge2580", - }, - { - source: "1501", - target: "1500", - cluster: "B", - label: "B", - color: "#333", - id: "edge2581", - }, - { - source: "1501", - target: "238", - cluster: "C", - label: "C", - color: "#333", - id: "edge2582", - }, - { - source: "1502", - target: "1499", - cluster: "B", - label: "B", - color: "#333", - id: "edge2583", - }, - { - source: "1502", - target: "1500", - cluster: "C", - label: "C", - color: "#333", - id: "edge2584", - }, - { - source: "1502", - target: "238", - cluster: "A", - label: "A", - color: "#333", - id: "edge2585", - }, - { - source: "1502", - target: "1501", - cluster: "A", - label: "A", - color: "#333", - id: "edge2586", - }, - { - source: "1503", - target: "999", - cluster: "A", - label: "A", - color: "#333", - id: "edge2587", - }, - { - source: "1504", - target: "1503", - cluster: "B", - label: "B", - color: "#333", - id: "edge2588", - }, - { - source: "1505", - target: "1503", - cluster: "C", - label: "C", - color: "#333", - id: "edge2589", - }, - { - source: "1505", - target: "1504", - cluster: "A", - label: "A", - color: "#333", - id: "edge2590", - }, - { - source: "1506", - target: "1503", - cluster: "A", - label: "A", - color: "#333", - id: "edge2591", - }, - { - source: "1506", - target: "1504", - cluster: "B", - label: "B", - color: "#333", - id: "edge2592", - }, - { - source: "1506", - target: "1505", - cluster: "C", - label: "C", - color: "#333", - id: "edge2593", - }, - { - source: "1507", - target: "1503", - cluster: "B", - label: "B", - color: "#333", - id: "edge2594", - }, - { - source: "1507", - target: "1504", - cluster: "C", - label: "C", - color: "#333", - id: "edge2595", - }, - { - source: "1507", - target: "1505", - cluster: "A", - label: "A", - color: "#333", - id: "edge2596", - }, - { - source: "1507", - target: "1506", - cluster: "B", - label: "B", - color: "#333", - id: "edge2597", - }, - { - source: "1508", - target: "1503", - cluster: "C", - label: "C", - color: "#333", - id: "edge2598", - }, - { - source: "1508", - target: "1504", - cluster: "A", - label: "A", - color: "#333", - id: "edge2599", - }, - { - source: "1508", - target: "1505", - cluster: "B", - label: "B", - color: "#333", - id: "edge2600", - }, - { - source: "1508", - target: "1506", - cluster: "C", - label: "C", - color: "#333", - id: "edge2601", - }, - { - source: "1508", - target: "1507", - cluster: "A", - label: "A", - color: "#333", - id: "edge2602", - }, - { - source: "1511", - target: "1510", - cluster: "A", - label: "A", - color: "#333", - id: "edge2603", - }, - { - source: "1512", - target: "1510", - cluster: "B", - label: "B", - color: "#333", - id: "edge2604", - }, - { - source: "1512", - target: "1511", - cluster: "C", - label: "C", - color: "#333", - id: "edge2605", - }, - { - source: "1513", - target: "999", - cluster: "B", - label: "B", - color: "#333", - id: "edge2606", - }, - { - source: "1513", - target: "1503", - cluster: "B", - label: "B", - color: "#333", - id: "edge2607", - }, - { - source: "1514", - target: "1119", - cluster: "C", - label: "C", - color: "#333", - id: "edge2608", - }, - { - source: "1515", - target: "1119", - cluster: "A", - label: "A", - color: "#333", - id: "edge2609", - }, - { - source: "1515", - target: "1514", - cluster: "C", - label: "C", - color: "#333", - id: "edge2610", - }, - { - source: "1516", - target: "1119", - cluster: "B", - label: "B", - color: "#333", - id: "edge2611", - }, - { - source: "1516", - target: "1514", - cluster: "A", - label: "A", - color: "#333", - id: "edge2612", - }, - { - source: "1516", - target: "1515", - cluster: "B", - label: "B", - color: "#333", - id: "edge2613", - }, - { - source: "1517", - target: "242", - cluster: "B", - label: "B", - color: "#333", - id: "edge2614", - }, - { - source: "1517", - target: "926", - cluster: "B", - label: "B", - color: "#333", - id: "edge2615", - }, - { - source: "1518", - target: "1517", - cluster: "C", - label: "C", - color: "#333", - id: "edge2616", - }, - { - source: "1518", - target: "242", - cluster: "C", - label: "C", - color: "#333", - id: "edge2617", - }, - { - source: "1518", - target: "926", - cluster: "C", - label: "C", - color: "#333", - id: "edge2618", - }, - { - source: "1519", - target: "1517", - cluster: "A", - label: "A", - color: "#333", - id: "edge2619", - }, - { - source: "1519", - target: "1518", - cluster: "B", - label: "B", - color: "#333", - id: "edge2620", - }, - { - source: "1519", - target: "242", - cluster: "A", - label: "A", - color: "#333", - id: "edge2621", - }, - { - source: "1519", - target: "926", - cluster: "A", - label: "A", - color: "#333", - id: "edge2622", - }, - { - source: "1522", - target: "1521", - cluster: "B", - label: "B", - color: "#333", - id: "edge2623", - }, - { - source: "1525", - target: "1524", - cluster: "B", - label: "B", - color: "#333", - id: "edge2624", - }, - { - source: "1528", - target: "53", - cluster: "A", - label: "A", - color: "#333", - id: "edge2625", - }, - { - source: "1528", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge2626", - }, - { - source: "1530", - target: "1529", - cluster: "C", - label: "C", - color: "#333", - id: "edge2627", - }, - { - source: "1531", - target: "8", - cluster: "A", - label: "A", - color: "#333", - id: "edge2628", - }, - { - source: "1532", - target: "531", - cluster: "C", - label: "C", - color: "#333", - id: "edge2629", - }, - { - source: "1532", - target: "530", - cluster: "B", - label: "B", - color: "#333", - id: "edge2630", - }, - { - source: "1532", - target: "529", - cluster: "A", - label: "A", - color: "#333", - id: "edge2631", - }, - { - source: "1533", - target: "531", - cluster: "A", - label: "A", - color: "#333", - id: "edge2632", - }, - { - source: "1533", - target: "1532", - cluster: "C", - label: "C", - color: "#333", - id: "edge2633", - }, - { - source: "1533", - target: "530", - cluster: "C", - label: "C", - color: "#333", - id: "edge2634", - }, - { - source: "1533", - target: "529", - cluster: "B", - label: "B", - color: "#333", - id: "edge2635", - }, - { - source: "1534", - target: "531", - cluster: "B", - label: "B", - color: "#333", - id: "edge2636", - }, - { - source: "1534", - target: "1532", - cluster: "A", - label: "A", - color: "#333", - id: "edge2637", - }, - { - source: "1534", - target: "1533", - cluster: "B", - label: "B", - color: "#333", - id: "edge2638", - }, - { - source: "1534", - target: "530", - cluster: "A", - label: "A", - color: "#333", - id: "edge2639", - }, - { - source: "1534", - target: "529", - cluster: "C", - label: "C", - color: "#333", - id: "edge2640", - }, - { - source: "1535", - target: "842", - cluster: "B", - label: "B", - color: "#333", - id: "edge2641", - }, - { - source: "1537", - target: "1536", - cluster: "B", - label: "B", - color: "#333", - id: "edge2642", - }, - { - source: "1538", - target: "1536", - cluster: "C", - label: "C", - color: "#333", - id: "edge2643", - }, - { - source: "1538", - target: "1537", - cluster: "A", - label: "A", - color: "#333", - id: "edge2644", - }, - { - source: "1539", - target: "1492", - cluster: "B", - label: "B", - color: "#333", - id: "edge2645", - }, - { - source: "1539", - target: "1490", - cluster: "C", - label: "C", - color: "#333", - id: "edge2646", - }, - { - source: "1540", - target: "1539", - cluster: "B", - label: "B", - color: "#333", - id: "edge2647", - }, - { - source: "1540", - target: "1492", - cluster: "C", - label: "C", - color: "#333", - id: "edge2648", - }, - { - source: "1540", - target: "1490", - cluster: "A", - label: "A", - color: "#333", - id: "edge2649", - }, - { - source: "1541", - target: "1539", - cluster: "C", - label: "C", - color: "#333", - id: "edge2650", - }, - { - source: "1541", - target: "1540", - cluster: "A", - label: "A", - color: "#333", - id: "edge2651", - }, - { - source: "1541", - target: "1492", - cluster: "A", - label: "A", - color: "#333", - id: "edge2652", - }, - { - source: "1541", - target: "1490", - cluster: "B", - label: "B", - color: "#333", - id: "edge2653", - }, - { - source: "1543", - target: "1542", - cluster: "B", - label: "B", - color: "#333", - id: "edge2654", - }, - { - source: "1545", - target: "1544", - cluster: "C", - label: "C", - color: "#333", - id: "edge2655", - }, - { - source: "1546", - target: "1544", - cluster: "A", - label: "A", - color: "#333", - id: "edge2656", - }, - { - source: "1546", - target: "1545", - cluster: "B", - label: "B", - color: "#333", - id: "edge2657", - }, - { - source: "1547", - target: "1544", - cluster: "B", - label: "B", - color: "#333", - id: "edge2658", - }, - { - source: "1547", - target: "1545", - cluster: "C", - label: "C", - color: "#333", - id: "edge2659", - }, - { - source: "1547", - target: "1546", - cluster: "A", - label: "A", - color: "#333", - id: "edge2660", - }, - { - source: "1548", - target: "307", - cluster: "B", - label: "B", - color: "#333", - id: "edge2661", - }, - { - source: "1549", - target: "33", - cluster: "B", - label: "B", - color: "#333", - id: "edge2662", - }, - { - source: "1549", - target: "32", - cluster: "A", - label: "A", - color: "#333", - id: "edge2663", - }, - { - source: "1549", - target: "53", - cluster: "A", - label: "A", - color: "#333", - id: "edge2664", - }, - { - source: "1550", - target: "1549", - cluster: "A", - label: "A", - color: "#333", - id: "edge2665", - }, - { - source: "1550", - target: "33", - cluster: "C", - label: "C", - color: "#333", - id: "edge2666", - }, - { - source: "1550", - target: "32", - cluster: "B", - label: "B", - color: "#333", - id: "edge2667", - }, - { - source: "1552", - target: "293", - cluster: "A", - label: "A", - color: "#333", - id: "edge2668", - }, - { - source: "1553", - target: "293", - cluster: "B", - label: "B", - color: "#333", - id: "edge2669", - }, - { - source: "1553", - target: "1552", - cluster: "A", - label: "A", - color: "#333", - id: "edge2670", - }, - { - source: "1554", - target: "293", - cluster: "C", - label: "C", - color: "#333", - id: "edge2671", - }, - { - source: "1554", - target: "1552", - cluster: "B", - label: "B", - color: "#333", - id: "edge2672", - }, - { - source: "1554", - target: "1553", - cluster: "C", - label: "C", - color: "#333", - id: "edge2673", - }, - { - source: "1555", - target: "675", - cluster: "B", - label: "B", - color: "#333", - id: "edge2674", - }, - { - source: "1556", - target: "1555", - cluster: "A", - label: "A", - color: "#333", - id: "edge2675", - }, - { - source: "1556", - target: "675", - cluster: "C", - label: "C", - color: "#333", - id: "edge2676", - }, - { - source: "1557", - target: "1555", - cluster: "B", - label: "B", - color: "#333", - id: "edge2677", - }, - { - source: "1557", - target: "675", - cluster: "A", - label: "A", - color: "#333", - id: "edge2678", - }, - { - source: "1557", - target: "1556", - cluster: "C", - label: "C", - color: "#333", - id: "edge2679", - }, - { - source: "1559", - target: "1144", - cluster: "A", - label: "A", - color: "#333", - id: "edge2680", - }, - { - source: "1559", - target: "218", - cluster: "B", - label: "B", - color: "#333", - id: "edge2681", - }, - { - source: "1560", - target: "1559", - cluster: "C", - label: "C", - color: "#333", - id: "edge2682", - }, - { - source: "1560", - target: "1144", - cluster: "B", - label: "B", - color: "#333", - id: "edge2683", - }, - { - source: "1560", - target: "218", - cluster: "C", - label: "C", - color: "#333", - id: "edge2684", - }, - { - source: "1561", - target: "62", - cluster: "A", - label: "A", - color: "#333", - id: "edge2685", - }, - { - source: "1561", - target: "61", - cluster: "C", - label: "C", - color: "#333", - id: "edge2686", - }, - { - source: "1562", - target: "1561", - cluster: "A", - label: "A", - color: "#333", - id: "edge2687", - }, - { - source: "1562", - target: "62", - cluster: "B", - label: "B", - color: "#333", - id: "edge2688", - }, - { - source: "1562", - target: "61", - cluster: "A", - label: "A", - color: "#333", - id: "edge2689", - }, - { - source: "1563", - target: "1561", - cluster: "B", - label: "B", - color: "#333", - id: "edge2690", - }, - { - source: "1563", - target: "1562", - cluster: "C", - label: "C", - color: "#333", - id: "edge2691", - }, - { - source: "1563", - target: "62", - cluster: "C", - label: "C", - color: "#333", - id: "edge2692", - }, - { - source: "1563", - target: "61", - cluster: "B", - label: "B", - color: "#333", - id: "edge2693", - }, - { - source: "1564", - target: "1561", - cluster: "C", - label: "C", - color: "#333", - id: "edge2694", - }, - { - source: "1564", - target: "1562", - cluster: "A", - label: "A", - color: "#333", - id: "edge2695", - }, - { - source: "1564", - target: "1563", - cluster: "B", - label: "B", - color: "#333", - id: "edge2696", - }, - { - source: "1564", - target: "62", - cluster: "A", - label: "A", - color: "#333", - id: "edge2697", - }, - { - source: "1564", - target: "61", - cluster: "C", - label: "C", - color: "#333", - id: "edge2698", - }, - { - source: "1565", - target: "1561", - cluster: "A", - label: "A", - color: "#333", - id: "edge2699", - }, - { - source: "1565", - target: "1562", - cluster: "B", - label: "B", - color: "#333", - id: "edge2700", - }, - { - source: "1565", - target: "1563", - cluster: "C", - label: "C", - color: "#333", - id: "edge2701", - }, - { - source: "1565", - target: "1564", - cluster: "A", - label: "A", - color: "#333", - id: "edge2702", - }, - { - source: "1565", - target: "62", - cluster: "B", - label: "B", - color: "#333", - id: "edge2703", - }, - { - source: "1565", - target: "61", - cluster: "A", - label: "A", - color: "#333", - id: "edge2704", - }, - { - source: "1566", - target: "1561", - cluster: "B", - label: "B", - color: "#333", - id: "edge2705", - }, - { - source: "1566", - target: "1562", - cluster: "C", - label: "C", - color: "#333", - id: "edge2706", - }, - { - source: "1566", - target: "1563", - cluster: "A", - label: "A", - color: "#333", - id: "edge2707", - }, - { - source: "1566", - target: "1564", - cluster: "B", - label: "B", - color: "#333", - id: "edge2708", - }, - { - source: "1566", - target: "1565", - cluster: "C", - label: "C", - color: "#333", - id: "edge2709", - }, - { - source: "1566", - target: "62", - cluster: "C", - label: "C", - color: "#333", - id: "edge2710", - }, - { - source: "1566", - target: "61", - cluster: "B", - label: "B", - color: "#333", - id: "edge2711", - }, - { - source: "1568", - target: "1567", - cluster: "A", - label: "A", - color: "#333", - id: "edge2712", - }, - { - source: "1569", - target: "336", - cluster: "A", - label: "A", - color: "#333", - id: "edge2713", - }, - { - source: "1569", - target: "630", - cluster: "A", - label: "A", - color: "#333", - id: "edge2714", - }, - { - source: "1570", - target: "336", - cluster: "B", - label: "B", - color: "#333", - id: "edge2715", - }, - { - source: "1570", - target: "630", - cluster: "B", - label: "B", - color: "#333", - id: "edge2716", - }, - { - source: "1570", - target: "1569", - cluster: "B", - label: "B", - color: "#333", - id: "edge2717", - }, - { - source: "1571", - target: "336", - cluster: "C", - label: "C", - color: "#333", - id: "edge2718", - }, - { - source: "1571", - target: "630", - cluster: "C", - label: "C", - color: "#333", - id: "edge2719", - }, - { - source: "1571", - target: "1569", - cluster: "C", - label: "C", - color: "#333", - id: "edge2720", - }, - { - source: "1571", - target: "1570", - cluster: "A", - label: "A", - color: "#333", - id: "edge2721", - }, - { - source: "1572", - target: "336", - cluster: "A", - label: "A", - color: "#333", - id: "edge2722", - }, - { - source: "1572", - target: "630", - cluster: "A", - label: "A", - color: "#333", - id: "edge2723", - }, - { - source: "1572", - target: "1569", - cluster: "A", - label: "A", - color: "#333", - id: "edge2724", - }, - { - source: "1572", - target: "1570", - cluster: "B", - label: "B", - color: "#333", - id: "edge2725", - }, - { - source: "1572", - target: "1571", - cluster: "C", - label: "C", - color: "#333", - id: "edge2726", - }, - { - source: "1573", - target: "630", - cluster: "B", - label: "B", - color: "#333", - id: "edge2727", - }, - { - source: "1573", - target: "782", - cluster: "A", - label: "A", - color: "#333", - id: "edge2728", - }, - { - source: "1575", - target: "1574", - cluster: "C", - label: "C", - color: "#333", - id: "edge2729", - }, - { - source: "1576", - target: "1574", - cluster: "A", - label: "A", - color: "#333", - id: "edge2730", - }, - { - source: "1576", - target: "1575", - cluster: "B", - label: "B", - color: "#333", - id: "edge2731", - }, - { - source: "1577", - target: "1574", - cluster: "B", - label: "B", - color: "#333", - id: "edge2732", - }, - { - source: "1577", - target: "1575", - cluster: "C", - label: "C", - color: "#333", - id: "edge2733", - }, - { - source: "1577", - target: "1576", - cluster: "A", - label: "A", - color: "#333", - id: "edge2734", - }, - { - source: "1578", - target: "630", - cluster: "A", - label: "A", - color: "#333", - id: "edge2735", - }, - { - source: "1578", - target: "629", - cluster: "C", - label: "C", - color: "#333", - id: "edge2736", - }, - { - source: "1580", - target: "1579", - cluster: "A", - label: "A", - color: "#333", - id: "edge2737", - }, - { - source: "1583", - target: "1582", - cluster: "A", - label: "A", - color: "#333", - id: "edge2738", - }, - { - source: "1585", - target: "1584", - cluster: "B", - label: "B", - color: "#333", - id: "edge2739", - }, - { - source: "1586", - target: "1584", - cluster: "C", - label: "C", - color: "#333", - id: "edge2740", - }, - { - source: "1587", - target: "521", - cluster: "C", - label: "C", - color: "#333", - id: "edge2741", - }, - { - source: "1587", - target: "75", - cluster: "A", - label: "A", - color: "#333", - id: "edge2742", - }, - ], -}; diff --git a/packages/graph/tests/unit/degree-async-spec.ts b/packages/graph/tests/unit/degree-async-spec.ts deleted file mode 100644 index e9debc2..0000000 --- a/packages/graph/tests/unit/degree-async-spec.ts +++ /dev/null @@ -1,119 +0,0 @@ -import { getAlgorithm } from './utils'; - -const data = { - nodes: [ - { - id: 'A', - }, - { - id: 'B', - }, - { - id: 'C', - }, - { - id: 'D', - }, - { - id: 'E', - }, - { - id: 'F', - }, - { - id: 'G', - }, - { - id: 'H', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'A', - target: 'C', - }, - { - source: 'D', - target: 'A', - }, - { - source: 'D', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - { - source: 'G', - target: 'H', - }, - { - source: 'H', - target: 'G', - }, - ], -}; - -describe('degree async algorithm', () => { - it('getDegreeAsync', async () => { - const degree = { - A: { - degree: 3, - inDegree: 1, - outDegree: 2, - }, - B: { - degree: 2, - inDegree: 1, - outDegree: 1, - }, - C: { - degree: 2, - inDegree: 2, - outDegree: 0, - }, - D: { - degree: 3, - inDegree: 1, - outDegree: 2, - }, - E: { - degree: 2, - inDegree: 1, - outDegree: 1, - }, - F: { - degree: 2, - inDegree: 1, - outDegree: 1, - }, - G: { - degree: 2, - inDegree: 1, - outDegree: 1, - }, - H: { - degree: 2, - inDegree: 1, - outDegree: 1, - }, - }; - - const { getDegreeAsync } = await getAlgorithm(); - const result = await getDegreeAsync(data); - expect(result).toEqual(degree); - }); -}); diff --git a/packages/graph/tests/unit/degree-spec.ts b/packages/graph/tests/unit/degree-spec.ts deleted file mode 100644 index 3fedf65..0000000 --- a/packages/graph/tests/unit/degree-spec.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { getDegree, getInDegree, getOutDegree } from '../../src' - -const data = { - nodes: [ - { - id: 'A', - }, - { - id: 'B', - }, - { - id: 'C', - }, - { - id: 'D', - }, - { - id: 'E', - }, - { - id: 'F', - }, - { - id: 'G', - }, - { - id: 'H', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'A', - target: 'C', - }, - { - source: 'D', - target: 'A', - }, - { - source: 'D', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - { - source: 'G', - target: 'H', - }, - { - source: 'H', - target: 'G', - }, - ], -}; - -describe('degree algorithm', () => { - it('getDegree', () => { - const degree = { - A: { - degree: 3, - inDegree: 1, - outDegree: 2 - }, - B: { - degree: 2, - inDegree: 1, - outDegree: 1 - }, - C: { - degree: 2, - inDegree: 2, - outDegree: 0 - }, - D: { - degree: 3, - inDegree: 1, - outDegree: 2 - }, - E: { - degree: 2, - inDegree: 1, - outDegree: 1 - }, - F: { - degree: 2, - inDegree: 1, - outDegree: 1 - }, - G: { - degree: 2, - inDegree: 1, - outDegree: 1 - }, - H: { - degree: 2, - inDegree: 1, - outDegree: 1 - } - } - let result = getDegree(data); - expect(result).toEqual(degree); - }); - - it('getInDegree', () => { - let result = getInDegree(data, 'A'); - expect(result).toBe(1); - - result = getInDegree(data, 'C') - expect(result).toBe(2) - - result = getInDegree(data, 'E') - expect(result).toBe(1) - }); - - it('getOutDegree', () => { - let result = getOutDegree(data, 'A'); - expect(result).toEqual(2); - - result = getOutDegree(data, 'D'); - expect(result).toEqual(2); - - result = getOutDegree(data, 'F'); - expect(result).toEqual(1); - }); -}); diff --git a/packages/graph/tests/unit/detect-cycle-async-spec.ts b/packages/graph/tests/unit/detect-cycle-async-spec.ts deleted file mode 100644 index f469fda..0000000 --- a/packages/graph/tests/unit/detect-cycle-async-spec.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { getAlgorithm } from './utils'; - -const data = { - nodes: [ - { - id: 'A', - }, - { - id: 'B', - }, - { - id: 'C', - }, - { - id: 'D', - }, - { - id: 'E', - }, - { - id: 'F', - }, - { - id: 'G', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'A', - target: 'C', - }, - { - source: 'D', - target: 'A', - }, - { - source: 'D', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - ], -}; - -describe('(Async) detectDirectedCycle', () => { - it('should detect directed cycle', async () => { - const { detectCycleAsync } = await getAlgorithm(); - - let result = await detectCycleAsync(data); - expect(result).toBeNull(); - - data.edges.push({ - source: 'F', - target: 'D', - }); - - result = await detectCycleAsync(data); - expect(result).toEqual({ - D: 'F', - F: 'E', - E: 'D', - }); - }); -}); diff --git a/packages/graph/tests/unit/detect-cycle-spec.ts b/packages/graph/tests/unit/detect-cycle-spec.ts deleted file mode 100644 index 8bbabc2..0000000 --- a/packages/graph/tests/unit/detect-cycle-spec.ts +++ /dev/null @@ -1,508 +0,0 @@ -import detectDirectedCycle, { detectAllCycles } from '../../src/detect-cycle'; - -const data = { - nodes: [ - { - id: 'A', - }, - { - id: 'B', - }, - { - id: 'C', - }, - { - id: 'D', - }, - { - id: 'E', - }, - { - id: 'F', - }, - { - id: 'G', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'A', - target: 'C', - }, - { - source: 'D', - target: 'A', - }, - { - source: 'D', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - ], -}; - -describe('detectDirectedCycle', () => { - it('should detect directed cycle', () => { - let result = detectDirectedCycle(data); - // debugger - expect(result).toBeNull(); - - data.edges.push({ - source: 'F', - target: 'D', - }); - - // 返回格式: - // { currentNodeId: prevNode } - result = detectDirectedCycle(data); - expect(result).toEqual({ - D: 'F', - F: 'E', - E: 'D', - }); - }); - it('detect all cycles in directed graph', () => { - data.edges.push({ - source: 'C', - target: 'D', - }); - - const result = detectAllCycles(data, true); - expect(result.length).toEqual(3); - - const result2 = detectAllCycles(data, true, ['B']); - expect(result2.length).toEqual(1); - - expect(result2[0]).toEqual({ - A: { id: 'B' }, - B: { id: 'C' }, - C: { id: 'D' }, - D: { id: 'A' }, - }); - }); - it('detect cycle in undirected graph', () => { - const result = detectAllCycles(data); - expect(result.length).toEqual(3); - const result2 = detectAllCycles(data, false, ['B'], false); - expect(Object.keys(result2[0]).sort()).toEqual(['D', 'E', 'F']); - }); - it('test another graph', () => { - const graphData = { - nodes: [ - { - id: '0', - label: '0', - }, - { - id: '1', - label: '1', - }, - { - id: '2', - label: '2', - }, - { - id: '3', - label: '3', - }, - { - id: '4', - label: '4', - }, - { - id: '5', - label: '5', - }, - { - id: '6', - label: '6', - }, - { - id: '7', - label: '7', - }, - { - id: '8', - label: '8', - }, - { - id: '9', - label: '9', - }, - { - id: '10', - label: '10', - }, - { - id: '11', - label: '11', - }, - { - id: '12', - label: '12', - }, - { - id: '13', - label: '13', - }, - { - id: '14', - label: '14', - }, - { - id: '15', - label: '15', - }, - { - id: '16', - label: '16', - }, - { - id: '17', - label: '17', - }, - { - id: '18', - label: '18', - }, - { - id: '19', - label: '19', - }, - { - id: '20', - label: '20', - }, - { - id: '21', - label: '21', - }, - { - id: '22', - label: '22', - }, - { - id: '23', - label: '23', - }, - { - id: '24', - label: '24', - }, - { - id: '25', - label: '25', - }, - { - id: '26', - label: '26', - }, - { - id: '27', - label: '27', - }, - { - id: '28', - label: '28', - }, - { - id: '29', - label: '29', - }, - { - id: '30', - label: '30', - }, - { - id: '31', - label: '31', - }, - { - id: '32', - label: '32', - }, - { - id: '33', - label: '33', - }, - ], - edges: [ - { - source: '0', - target: '1', - }, - { - source: '0', - target: '2', - }, - { - source: '3', - target: '0', - }, - { - source: '0', - target: '4', - }, - { - source: '5', - target: '0', - }, - { - source: '0', - target: '7', - }, - { - source: '0', - target: '8', - }, - { - source: '0', - target: '9', - }, - { - source: '0', - target: '10', - }, - { - source: '0', - target: '11', - }, - { - source: '0', - target: '13', - }, - { - source: '14', - target: '0', - }, - { - source: '0', - target: '15', - }, - { - source: '0', - target: '16', - }, - { - source: '2', - target: '3', - }, - { - source: '4', - target: '5', - }, - { - source: '4', - target: '6', - }, - { - source: '5', - target: '6', - }, - { - source: '7', - target: '13', - }, - { - source: '8', - target: '14', - }, - { - source: '9', - target: '10', - }, - { - source: '10', - target: '22', - }, - { - source: '10', - target: '14', - }, - { - source: '10', - target: '12', - }, - { - source: '10', - target: '24', - }, - { - source: '10', - target: '21', - }, - { - source: '10', - target: '20', - }, - { - source: '11', - target: '24', - }, - { - source: '11', - target: '22', - }, - { - source: '11', - target: '14', - }, - { - source: '12', - target: '13', - }, - { - source: '16', - target: '17', - }, - { - source: '16', - target: '18', - }, - { - source: '16', - target: '21', - }, - { - source: '16', - target: '22', - }, - { - source: '17', - target: '18', - }, - { - source: '17', - target: '20', - }, - { - source: '18', - target: '19', - }, - { - source: '19', - target: '20', - }, - { - source: '19', - target: '33', - }, - { - source: '19', - target: '22', - }, - { - source: '19', - target: '23', - }, - { - source: '20', - target: '21', - }, - { - source: '21', - target: '22', - }, - { - source: '22', - target: '24', - }, - { - source: '22', - target: '25', - }, - { - source: '22', - target: '26', - }, - { - source: '22', - target: '23', - }, - { - source: '22', - target: '28', - }, - { - source: '22', - target: '30', - }, - { - source: '22', - target: '31', - }, - { - source: '22', - target: '32', - }, - { - source: '22', - target: '33', - }, - { - source: '23', - target: '28', - }, - { - source: '23', - target: '27', - }, - { - source: '23', - target: '29', - }, - { - source: '23', - target: '30', - }, - { - source: '23', - target: '31', - }, - { - source: '23', - target: '33', - }, - { - source: '32', - target: '33', - }, - ], - }; - const result = detectAllCycles(graphData, true, ['14']); - const result2 = detectAllCycles(graphData); - expect(result.length).toEqual(4); - expect(result2.length).toEqual(27); - }); - it('test a large graph', () => { - fetch('https://gw.alipayobjects.com/os/basement_prod/da5a1b47-37d6-44d7-8d10-f3e046dabf82.json') - .then((res) => res.json()) - .then((data) => { - data.nodes.forEach((node) => { - node.label = node.olabel; - node.degree = 0; - data.edges.forEach((edge) => { - if (edge.source === node.id || edge.target === node.id) { - node.degree++; - } - }); - }); - - const directedCycles = detectAllCycles(data, true); - expect(directedCycles.length).toEqual(0); - const undirectedCycles = detectAllCycles(data, false, ['1084'], false); - expect(undirectedCycles.length).toEqual(1548); - }); - }); -}); diff --git a/packages/graph/tests/unit/dfs-spec.ts b/packages/graph/tests/unit/dfs-spec.ts deleted file mode 100644 index 9afc547..0000000 --- a/packages/graph/tests/unit/dfs-spec.ts +++ /dev/null @@ -1,170 +0,0 @@ -import { depthFirstSearch } from '../../src'; - -const data = { - nodes: [ - { - id: 'A', - }, - { - id: 'B', - }, - { - id: 'C', - }, - { - id: 'D', - }, - { - id: 'E', - }, - { - id: 'F', - }, - { - id: 'G', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'C', - target: 'G', - }, - { - source: 'A', - target: 'D', - }, - { - source: 'A', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - { - source: 'D', - target: 'G', - }, - ], -}; - -describe('depthFirstSearch', () => { - it('should perform DFS operation on graph', () => { - - const enterNodeCallback = jest.fn(); - const leaveNodeCallback = jest.fn(); - - // Traverse graphs without callbacks first to check default ones. - depthFirstSearch(data, 'A'); - - // Traverse graph with enterNode and leaveNode callbacks. - depthFirstSearch(data, 'A', { - enter: enterNodeCallback, - leave: leaveNodeCallback, - }); - - expect(enterNodeCallback).toHaveBeenCalledTimes(data.nodes.length); - expect(leaveNodeCallback).toHaveBeenCalledTimes(data.nodes.length); - - const enterNodeParamsMap = [ - { currentNode: 'A', previousNode: '' }, - { currentNode: 'B', previousNode: 'A' }, - { currentNode: 'C', previousNode: 'B' }, - { currentNode: 'G', previousNode: 'C' }, - { currentNode: 'D', previousNode: 'A' }, - { currentNode: 'E', previousNode: 'A' }, - { currentNode: 'F', previousNode: 'E' }, - ]; - - for (let callIndex = 0; callIndex < data.nodes.length; callIndex += 1) { - const params = enterNodeCallback.mock.calls[callIndex][0]; - expect(params.current).toEqual(enterNodeParamsMap[callIndex].currentNode); - expect(params.previous).toEqual( - enterNodeParamsMap[callIndex].previousNode, - ); - } - - const leaveNodeParamsMap = [ - { currentNode: 'G', previousNode: 'C' }, - { currentNode: 'C', previousNode: 'B' }, - { currentNode: 'B', previousNode: 'A' }, - { currentNode: 'D', previousNode: 'A' }, - { currentNode: 'F', previousNode: 'E' }, - { currentNode: 'E', previousNode: 'A' }, - { currentNode: 'A', previousNode: '' }, - ]; - - for (let callIndex = 0; callIndex < data.nodes.length; callIndex += 1) { - const params = leaveNodeCallback.mock.calls[callIndex][0]; - expect(params.current).toEqual(leaveNodeParamsMap[callIndex].currentNode); - expect(params.previous).toEqual( - leaveNodeParamsMap[callIndex].previousNode, - ); - } - }); - - it('allow users to redefine node visiting logic', () => { - - const enterNodeCallback = jest.fn(); - const leaveNodeCallback = jest.fn(); - - depthFirstSearch(data, 'A', { - enter: enterNodeCallback, - leave: leaveNodeCallback, - allowTraversal: ({ current: currentNode, next: nextNode }) => { - return !(currentNode === 'A' && nextNode === 'B'); - }, - }); - - expect(enterNodeCallback).toHaveBeenCalledTimes(7); - expect(leaveNodeCallback).toHaveBeenCalledTimes(7); - - const enterNodeParamsMap = [ - { currentNode: 'A', previousNode: '' }, - { currentNode: 'D', previousNode: 'A' }, - { currentNode: 'G', previousNode: 'D' }, - { currentNode: 'E', previousNode: 'A' }, - { currentNode: 'F', previousNode: 'E' }, - { currentNode: 'D', previousNode: 'F' }, - { currentNode: 'G', previousNode: 'D' }, - ]; - - for (let callIndex = 0; callIndex < data.nodes.length; callIndex += 1) { - const params = enterNodeCallback.mock.calls[callIndex][0]; - expect(params.current).toEqual(enterNodeParamsMap[callIndex].currentNode); - expect(params.previous && params.previous).toEqual( - enterNodeParamsMap[callIndex].previousNode, - ); - } - - const leaveNodeParamsMap = [ - { currentNode: 'G', previousNode: 'D' }, - { currentNode: 'D', previousNode: 'A' }, - { currentNode: 'G', previousNode: 'D' }, - { currentNode: 'D', previousNode: 'F' }, - { currentNode: 'F', previousNode: 'E' }, - { currentNode: 'E', previousNode: 'A' }, - { currentNode: 'A', previousNode: '' }, - ]; - - for (let callIndex = 0; callIndex < data.nodes.length; callIndex += 1) { - const params = leaveNodeCallback.mock.calls[callIndex][0]; - expect(params.current).toEqual(leaveNodeParamsMap[callIndex].currentNode); - expect(params.previous).toEqual( - leaveNodeParamsMap[callIndex].previousNode, - ); - } - }); -}); diff --git a/packages/graph/tests/unit/find-path-async-spec.ts b/packages/graph/tests/unit/find-path-async-spec.ts deleted file mode 100644 index ef99e05..0000000 --- a/packages/graph/tests/unit/find-path-async-spec.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { getAlgorithm } from './utils'; - -const data = { - nodes: [ - { - id: 'A', - label: 'A', - }, - { - id: 'B', - label: 'B', - }, - { - id: 'C', - label: 'C', - }, - { - id: 'D', - label: 'D', - }, - { - id: 'E', - label: 'E', - }, - { - id: 'F', - label: 'F', - }, - { - id: 'G', - label: 'G', - }, - { - id: 'H', - label: 'H', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'C', - target: 'G', - }, - { - source: 'A', - target: 'D', - }, - { - source: 'A', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - { - source: 'D', - target: 'E', - }, - ], -}; - -describe('(Async) Shortest Path from source to target on graph', () => { - it('find the shortest path', async done => { - const { findShortestPathAsync } = await getAlgorithm(); - const { length, path } = await findShortestPathAsync(data, 'A', 'C'); - expect(length).toBe(2); - expect(path).toStrictEqual(['A', 'B', 'C']); - done(); - }); - - it('find all shortest paths', async done => { - const { findShortestPathAsync } = await getAlgorithm(); - const { length, allPath } = await findShortestPathAsync(data, 'A', 'F'); - expect(length).toBe(2); - expect(allPath[0]).toStrictEqual(['A', 'E', 'F']); - expect(allPath[1]).toStrictEqual(['A', 'D', 'F']); - - const { - length: directedLenght, - path: directedPath, - allPath: directedAllPath, - } = await findShortestPathAsync(data, 'A', 'F', true); - expect(directedLenght).toBe(2); - expect(directedAllPath[0]).toStrictEqual(['A', 'E', 'F']); - expect(directedPath).toStrictEqual(['A', 'E', 'F']); - done(); - }); - - it('find all paths', async done => { - const { findAllPathAsync } = await getAlgorithm(); - const allPath = await findAllPathAsync(data, 'A', 'E'); - expect(allPath.length).toBe(3); - expect(allPath[0]).toStrictEqual(['A', 'D', 'F', 'E']); - expect(allPath[1]).toStrictEqual(['A', 'D', 'E']); - expect(allPath[2]).toStrictEqual(['A', 'E']); - done(); - }); - - it('find all paths in directed graph', async done => { - const { findAllPathAsync } = await getAlgorithm(); - const allPath = await findAllPathAsync(data, 'A', 'E', true); - expect(allPath.length).toStrictEqual(2); - expect(allPath[0]).toStrictEqual(['A', 'D', 'E']); - expect(allPath[1]).toStrictEqual(['A', 'E']); - done(); - }); - - it('find all shortest paths in weighted graph', async done => { - const { findShortestPathAsync } = await getAlgorithm(); - data.edges.forEach((edge: any, i) => { - edge.weight = ((i % 2) + 1) * 2; - if (edge.source === 'F' && edge.target === 'D') edge.weight = 10; - }); - const { length, path, allPath } = await findShortestPathAsync(data, 'A', 'F', false, 'weight'); - expect(length).toBe(6); - expect(allPath[0]).toStrictEqual(['A', 'E', 'F']); - expect(path).toStrictEqual(['A', 'E', 'F']); - done(); - }); -}); diff --git a/packages/graph/tests/unit/find-path-spec.ts b/packages/graph/tests/unit/find-path-spec.ts deleted file mode 100644 index e2dde9f..0000000 --- a/packages/graph/tests/unit/find-path-spec.ts +++ /dev/null @@ -1,122 +0,0 @@ -import { findAllPath, findShortestPath } from '../../src'; - -const data = { - nodes: [ - { - id: 'A', - label: 'A', - }, - { - id: 'B', - label: 'B', - }, - { - id: 'C', - label: 'C', - }, - { - id: 'D', - label: 'D', - }, - { - id: 'E', - label: 'E', - }, - { - id: 'F', - label: 'F', - }, - { - id: 'G', - label: 'G', - }, - { - id: 'H', - label: 'H', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'C', - target: 'G', - }, - { - source: 'A', - target: 'D', - }, - { - source: 'A', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - { - source: 'D', - target: 'E', - }, - ], -}; - -describe('Shortest Path from source to target on graph', () => { - it('find the shortest path', () => { - const { length, path } = findShortestPath(data, 'A', 'C'); - expect(length).toBe(2); - expect(path).toStrictEqual(['A', 'B', 'C']); - }); - - it('find all shortest paths', () => { - const { length, allPath } = findShortestPath(data, 'A', 'F'); - expect(length).toBe(2); - expect(allPath[0]).toStrictEqual(['A', 'E', 'F']); - expect(allPath[1]).toStrictEqual(['A', 'D', 'F']); - - const { - length: directedLenght, - path: directedPath, - allPath: directedAllPath, - } = findShortestPath(data, 'A', 'F', true); - expect(directedLenght).toBe(2); - expect(directedAllPath[0]).toStrictEqual(['A', 'E', 'F']); - expect(directedPath).toStrictEqual(['A', 'E', 'F']); - }); - - it('find all paths', () => { - const allPath = findAllPath(data, 'A', 'E'); - expect(allPath.length).toBe(3); - expect(allPath[0]).toStrictEqual(['A', 'D', 'F', 'E']); - expect(allPath[1]).toStrictEqual(['A', 'D', 'E']); - expect(allPath[2]).toStrictEqual(['A', 'E']); - }); - - it('find all paths in directed graph', () => { - const allPath = findAllPath(data, 'A', 'E', true); - expect(allPath.length).toStrictEqual(2); - expect(allPath[0]).toStrictEqual(['A', 'D', 'E']); - expect(allPath[1]).toStrictEqual(['A', 'E']); - }); - - it('find all shortest paths in weighted graph', () => { - data.edges.forEach((edge: any, i) => { - edge.weight = ((i % 2) + 1) * 2; - if (edge.source === 'F' && edge.target === 'D') edge.weight = 10; - }); - const { length, path, allPath } = findShortestPath(data, 'A', 'F', false, 'weight'); - expect(length).toBe(6); - expect(allPath[0]).toStrictEqual(['A', 'E', 'F']); - expect(path).toStrictEqual(['A', 'E', 'F']); - }); -}); diff --git a/packages/graph/tests/unit/floydWarshall-async-spec.ts b/packages/graph/tests/unit/floydWarshall-async-spec.ts deleted file mode 100644 index f33b939..0000000 --- a/packages/graph/tests/unit/floydWarshall-async-spec.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { getAlgorithm } from './utils'; - -const data = { - nodes: [ - { - id: 'A', - label: '0', - }, - { - id: 'B', - label: '1', - }, - { - id: 'C', - label: '2', - }, - { - id: 'D', - label: '3', - }, - { - id: 'E', - label: '4', - }, - { - id: 'F', - label: '5', - }, - { - id: 'G', - label: '6', - }, - { - id: 'H', - label: '7', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'C', - target: 'G', - }, - { - source: 'A', - target: 'D', - }, - { - source: 'A', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - ], -}; - -describe('(Async) Adjacency Matrix by Algorithm', () => { - it('get graph shortestpath matrix', async () => { - const { floydWarshallAsync } = await getAlgorithm(); - const matrix = await floydWarshallAsync(data); - expect(Object.keys(matrix).length).toBe(8); - const node0 = matrix[0]; - expect(node0.length).toBe(8); - expect(node0[0]).toBe(0); - expect(node0[1]).toBe(1); - expect(node0[2]).toBe(2); - expect(node0[3]).toBe(1); - expect(node0[4]).toBe(1); - expect(node0[5]).toBe(2); - expect(node0[6]).toBe(3); - expect(node0[7]).toBe(Infinity); - expect(matrix[1][7]).toBe(Infinity); - expect(matrix[2][7]).toBe(Infinity); - expect(matrix[3][7]).toBe(Infinity); - }); - - it('directed', async () => { - // directed - const { floydWarshallAsync } = await getAlgorithm(); - const matrix = await floydWarshallAsync(data, true); - expect(Object.keys(matrix).length).toBe(8); - const node0 = matrix[0]; - expect(node0.length).toBe(8); - expect(node0[0]).toBe(0); - expect(node0[1]).toBe(1); - expect(node0[2]).toBe(2); - expect(node0[3]).toBe(1); - expect(node0[4]).toBe(1); - expect(node0[5]).toBe(2); - expect(node0[6]).toBe(3); - expect(node0[7]).toBe(Infinity); - const node8 = matrix[6]; - expect(node8.length).toBe(8); - expect(node8[1]).toBe(Infinity); - expect(node8[6]).toBe(0); - }); -}); diff --git a/packages/graph/tests/unit/floydWarshall-spec.ts b/packages/graph/tests/unit/floydWarshall-spec.ts deleted file mode 100644 index 1fe4c44..0000000 --- a/packages/graph/tests/unit/floydWarshall-spec.ts +++ /dev/null @@ -1,108 +0,0 @@ -import { floydWarshall } from '../../src'; - -const data = { - nodes: [ - { - id: 'A', - label: '0', - }, - { - id: 'B', - label: '1', - }, - { - id: 'C', - label: '2', - }, - { - id: 'D', - label: '3', - }, - { - id: 'E', - label: '4', - }, - { - id: 'F', - label: '5', - }, - { - id: 'G', - label: '6', - }, - { - id: 'H', - label: '7', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'C', - target: 'G', - }, - { - source: 'A', - target: 'D', - }, - { - source: 'A', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - ], -}; - -describe('Adjacency Matrix by Algorithm', () => { - it('get graph shortestpath matrix', () => { - const matrix = floydWarshall(data); - expect(Object.keys(matrix).length).toBe(8); - const node0 = matrix[0]; - expect(node0.length).toBe(8); - expect(node0[0]).toBe(0); - expect(node0[1]).toBe(1); - expect(node0[2]).toBe(2); - expect(node0[3]).toBe(1); - expect(node0[4]).toBe(1); - expect(node0[5]).toBe(2); - expect(node0[6]).toBe(3); - expect(node0[7]).toBe(Infinity); - expect(matrix[1][7]).toBe(Infinity); - expect(matrix[2][7]).toBe(Infinity); - expect(matrix[3][7]).toBe(Infinity); - }); - - it('directed', () => { - // directed - const matrix = floydWarshall(data, true); - expect(Object.keys(matrix).length).toBe(8); - const node0 = matrix[0]; - expect(node0.length).toBe(8); - expect(node0[0]).toBe(0); - expect(node0[1]).toBe(1); - expect(node0[2]).toBe(2); - expect(node0[3]).toBe(1); - expect(node0[4]).toBe(1); - expect(node0[5]).toBe(2); - expect(node0[6]).toBe(3); - expect(node0[7]).toBe(Infinity); - const node8 = matrix[6]; - expect(node8.length).toBe(8); - expect(node8[1]).toBe(Infinity); - expect(node8[6]).toBe(0); - }); -}); diff --git a/packages/graph/tests/unit/gSpan-spec.ts b/packages/graph/tests/unit/gSpan-spec.ts deleted file mode 100644 index c201a80..0000000 --- a/packages/graph/tests/unit/gSpan-spec.ts +++ /dev/null @@ -1,483 +0,0 @@ -import gSpan from "../../src/gSpan/gSpan"; - -const data1 = { - nodes: [ - { - id: "0", - cluster: "B", - }, - { - id: "1", - cluster: "B", - }, - { - id: "2", - cluster: "B", - }, - { - id: "3", - cluster: "C", - }, - { - id: "4", - cluster: "B", - }, - { - id: "5", - cluster: "D", - }, - { - id: "6", - cluster: "B", - }, - { - id: "7", - cluster: "C", - }, - { - id: "8", - cluster: "C", - }, - { - id: "9", - cluster: "C", - }, - { - id: "10", - cluster: "B", - }, - { - id: "11", - cluster: "B", - }, - { - id: "12", - cluster: "B", - }, - { - id: "13", - cluster: "B", - }, - { - id: "14", - cluster: "B", - }, - { - id: "15", - cluster: "B", - }, - { - id: "16", - cluster: "B", - }, - { - id: "17", - cluster: "B", - }, - { - id: "18", - cluster: "B", - }, - ], - edges: [ - { - source: "0", - target: "1", - cluster: "b", - }, - { - source: "0", - target: "2", - cluster: "b", - }, - { - source: "2", - target: "3", - cluster: "c", - }, - { - source: "2", - target: "4", - cluster: "b", - }, - { - source: "3", - target: "5", - cluster: "b", - }, - { - source: "4", - target: "6", - cluster: "b", - }, - { - source: "5", - target: "7", - cluster: "b", - }, - { - source: "5", - target: "8", - cluster: "b", - }, - { - source: "5", - target: "9", - cluster: "b", - }, - { - source: "6", - target: "10", - cluster: "b", - }, - { - source: "6", - target: "9", - cluster: "c", - }, - { - source: "7", - target: "11", - cluster: "c", - }, - { - source: "8", - target: "12", - cluster: "c", - }, - { - source: "10", - target: "13", - cluster: "b", - }, - { - source: "11", - target: "14", - cluster: "b", - }, - { - source: "11", - target: "15", - cluster: "b", - }, - { - source: "12", - target: "16", - cluster: "b", - }, - { - source: "12", - target: "15", - cluster: "b", - }, - { - source: "14", - target: "17", - cluster: "b", - }, - { - source: "16", - target: "18", - cluster: "b", - }, - ], -}; -const data2 = { - nodes: [ - { - id: "0", - cluster: "B", - }, - { - id: "1", - cluster: "B", - }, - { - id: "2", - cluster: "F", - }, - { - id: "3", - cluster: "F", - }, - { - id: "4", - cluster: "C", - }, - { - id: "5", - cluster: "C", - }, - { - id: "6", - cluster: "C", - }, - { - id: "7", - cluster: "C", - }, - { - id: "8", - cluster: "C", - }, - { - id: "9", - cluster: "C", - }, - ], - edges: [ - { - source: "0", - target: "1", - cluster: "b", - }, - { - source: "0", - target: "2", - cluster: "b", - }, - { - source: "1", - target: "3", - cluster: "b", - }, - { - source: "2", - target: "4", - cluster: "c", - }, - { - source: "2", - target: "5", - cluster: "c", - }, - { - source: "2", - target: "6", - cluster: "b", - }, - { - source: "3", - target: "7", - cluster: "c", - }, - { - source: "3", - target: "8", - cluster: "c", - }, - { - source: "3", - target: "9", - cluster: "b", - }, - ], -}; -const data3 = { - nodes: [ - { - id: "0", - cluster: "F", - }, - { - id: "1", - cluster: "F", - }, - { - id: "2", - cluster: "B", - }, - { - id: "3", - cluster: "B", - }, - { - id: "4", - cluster: "B", - }, - { - id: "5", - cluster: "B", - }, - { - id: "6", - cluster: "B", - }, - { - id: "7", - cluster: "B", - }, - { - id: "8", - cluster: "B", - }, - { - id: "9", - cluster: "B", - }, - { - id: "10", - cluster: "B", - }, - { - id: "11", - cluster: "B", - }, - { - id: "12", - cluster: "B", - }, - { - id: "13", - cluster: "B", - }, - { - id: "14", - cluster: "C", - }, - { - id: "15", - cluster: "C", - }, - { - id: "16", - cluster: "B", - }, - { - id: "17", - cluster: "C", - }, - { - id: "18", - cluster: "C", - }, - { - id: "19", - cluster: "B", - }, - ], - edges: [ - { - source: "0", - target: "1", - cluster: "b", - }, - { - source: "0", - target: "2", - cluster: "b", - }, - { - source: "1", - target: "3", - cluster: "b", - }, - { - source: "2", - target: "4", - cluster: "e", - }, - { - source: "2", - target: "5", - cluster: "e", - }, - { - source: "3", - target: "6", - cluster: "e", - }, - { - source: "3", - target: "7", - cluster: "e", - }, - { - source: "4", - target: "2", - cluster: "b", - }, - { - source: "4", - target: "9", - cluster: "e", - }, - { - source: "5", - target: "10", - cluster: "e", - }, - { - source: "6", - target: "11", - cluster: "b", - }, - { - source: "6", - target: "12", - cluster: "e", - }, - { - source: "7", - target: "13", - cluster: "e", - }, - { - source: "8", - target: "14", - cluster: "c", - }, - { - source: "8", - target: "15", - cluster: "b", - }, - { - source: "9", - target: "16", - cluster: "e", - }, - { - source: "10", - target: "16", - cluster: "e", - }, - { - source: "11", - target: "17", - cluster: "c", - }, - { - source: "11", - target: "18", - cluster: "b", - }, - { - source: "12", - target: "19", - cluster: "e", - }, - { - source: "13", - target: "19", - cluster: "e", - }, - ], -}; - -describe("gSpan", () => { - it("gSpan first test", () => { - const graphDataMap = { - "a-name": data1, - "b-name": data2, - "c-name": data3, - }; - const result = gSpan({ - graphs: graphDataMap, - minSupport: 3, - minNodeNum: 2, - maxNodeNum: 4, - }); - console.log(result); - }); -}); diff --git a/packages/graph/tests/unit/gaddi-async-spec.ts b/packages/graph/tests/unit/gaddi-async-spec.ts deleted file mode 100644 index 2d65c9b..0000000 --- a/packages/graph/tests/unit/gaddi-async-spec.ts +++ /dev/null @@ -1,388 +0,0 @@ -import { getAlgorithm } from './utils'; -import { nodes77, nodes202 } from './data/test-data'; - -const data3 = { - nodes: [ - { - id: '0', - cluster: 'F', - }, - { - id: '1', - cluster: 'F', - }, - { - id: '2', - cluster: 'B', - }, - { - id: '3', - cluster: 'B', - }, - { - id: '4', - cluster: 'B', - }, - { - id: '5', - cluster: 'B', - }, - { - id: '6', - cluster: 'B', - }, - { - id: '7', - cluster: 'B', - }, - { - id: '8', - cluster: 'B', - }, - { - id: '9', - cluster: 'B', - }, - { - id: '10', - cluster: 'B', - }, - { - id: '11', - cluster: 'B', - }, - { - id: '12', - cluster: 'B', - }, - { - id: '13', - cluster: 'B', - }, - { - id: '14', - cluster: 'C', - }, - { - id: '15', - cluster: 'C', - }, - { - id: '16', - cluster: 'B', - }, - { - id: '17', - cluster: 'C', - }, - { - id: '18', - cluster: 'C', - }, - { - id: '19', - cluster: 'B', - }, - ], - edges: [ - { - source: '0', - target: '1', - cluster: 'b', - }, - { - source: '0', - target: '2', - cluster: 'b', - }, - { - source: '1', - target: '3', - cluster: 'b', - }, - { - source: '2', - target: '4', - cluster: 'e', - }, - { - source: '2', - target: '5', - cluster: 'e', - }, - { - source: '3', - target: '6', - cluster: 'e', - }, - { - source: '3', - target: '7', - cluster: 'e', - }, - { - source: '4', - target: '2', - cluster: 'b', - }, - { - source: '4', - target: '9', - cluster: 'e', - }, - { - source: '5', - target: '10', - cluster: 'e', - }, - { - source: '6', - target: '11', - cluster: 'b', - }, - { - source: '6', - target: '12', - cluster: 'e', - }, - { - source: '7', - target: '13', - cluster: 'e', - }, - { - source: '8', - target: '14', - cluster: 'c', - }, - { - source: '8', - target: '15', - cluster: 'b', - }, - { - source: '9', - target: '16', - cluster: 'e', - }, - { - source: '10', - target: '16', - cluster: 'e', - }, - { - source: '11', - target: '17', - cluster: 'c', - }, - { - source: '11', - target: '18', - cluster: 'c', - }, - { - source: '12', - target: '19', - cluster: 'e', - }, - { - source: '13', - target: '19', - cluster: 'e', - }, - ], -}; - -const pattern1 = { - nodes: [ - { - id: '0', - cluster: 'F', - }, - { - id: '1', - cluster: 'F', - }, - { - id: '2', - cluster: 'B', - }, - ], - edges: [ - { - source: '0', - target: '1', - cluster: 'b', - }, - { - source: '0', - target: '2', - cluster: 'b', - }, - ], -}; - -describe('(Async) gSpan', () => { - it('gSpan match pattern 1', async () => { - const { GADDIAsync } = await getAlgorithm(); - const matchedSubGraphs = await GADDIAsync( - data3, - pattern1, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - expect(matchedSubGraphs.length).toBe(2); - matchedSubGraphs.forEach(graph => { - expect(graph.nodes[0].cluster).toBe('F'); - expect(graph.nodes[1].cluster).toBe('F'); - expect(graph.nodes[2].cluster).toBe('B'); - expect(graph.edges[0].cluster).toBe('b'); - expect(graph.edges[1].cluster).toBe('b'); - }); - }); -}); - -describe('(Async) Performance: gSpan 77 nodes G', () => { - it('pattern 10 nodes', async () => { - const patternWith10Nodes = { - nodes: [ - { id: 'pn1', cluster: 'B' }, - { id: 'pn2', cluster: 'B' }, - { id: 'pn3', cluster: 'B' }, - { id: 'pn4', cluster: 'C' }, - { id: 'pn5', cluster: 'B' }, - { id: 'pn6', cluster: 'A' }, - { id: 'pn7', cluster: 'B' }, - { id: 'pn8', cluster: 'B' }, - { id: 'pn9', cluster: 'A' }, - { id: 'pn10', cluster: 'B' }, - ], - edges: [ - { source: 'pn1', target: 'pn2', cluster: 'b' }, - { source: 'pn1', target: 'pn3', cluster: 'b' }, - { source: 'pn1', target: 'pn4', cluster: 'b' }, - { source: 'pn1', target: 'pn5', cluster: 'b' }, - { source: 'pn1', target: 'pn6', cluster: 'b' }, - { source: 'pn1', target: 'pn7', cluster: 'b' }, - { source: 'pn1', target: 'pn8', cluster: 'b' }, - - { source: 'pn2', target: 'pn3', cluster: 'b' }, - { source: 'pn2', target: 'pn4', cluster: 'b' }, - { source: 'pn2', target: 'pn5', cluster: 'b' }, - { source: 'pn2', target: 'pn6', cluster: 'b' }, - { source: 'pn2', target: 'pn7', cluster: 'b' }, - { source: 'pn2', target: 'pn8', cluster: 'b' }, - - { source: 'pn3', target: 'pn4', cluster: 'b' }, - { source: 'pn3', target: 'pn5', cluster: 'b' }, - { source: 'pn3', target: 'pn6', cluster: 'b' }, - { source: 'pn3', target: 'pn7', cluster: 'b' }, - { source: 'pn3', target: 'pn8', cluster: 'b' }, - - { source: 'pn4', target: 'pn5', cluster: 'b' }, - { source: 'pn4', target: 'pn6', cluster: 'b' }, - { source: 'pn4', target: 'pn7', cluster: 'b' }, - { source: 'pn4', target: 'pn8', cluster: 'b' }, - - { source: 'pn5', target: 'pn6', cluster: 'b' }, - { source: 'pn5', target: 'pn7', cluster: 'b' }, - { source: 'pn5', target: 'pn8', cluster: 'b' }, - - { source: 'pn6', target: 'pn7', cluster: 'b' }, - { source: 'pn6', target: 'pn8', cluster: 'b' }, - - { source: 'pn7', target: 'pn8', cluster: 'b' }, - - { source: 'pn8', target: 'pn9', cluster: 'a' }, - { source: 'pn8', target: 'pn10', cluster: 'a' }, - ], - }; - const begin = performance.now(); - const { GADDIAsync } = await getAlgorithm(); - const result = await GADDIAsync( - nodes77, - patternWith10Nodes, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - console.log( - '77 nodes graph matching 10 nodes pattern', - performance.now() - begin, - result.length, - ); - result.forEach(re => { - console.log(JSON.stringify(re)); - }); - expect(result.length).toBe(3); - - expect(result[0].nodes[0].id).toBe('16'); - expect(result[1].nodes[0].id).toBe('17'); - expect(result[2].nodes[0].id).toBe('23'); - }); -}); - -describe('(Async) Performance: 202 nodes G', () => { - it('pattern with 14 nodes, directed', async () => { - const patternWith14Nodes = { - nodes: [ - { id: 'pn1', cluster: 'D' }, - { id: 'pn2', cluster: 'C' }, - { id: 'pn3', cluster: 'D' }, - { id: 'pn4', cluster: 'D' }, - { id: 'pn5', cluster: 'C' }, - { id: 'pn6', cluster: 'B' }, - { id: 'pn7', cluster: 'E' }, - { id: 'pn8', cluster: 'C' }, - { id: 'pn9', cluster: 'C' }, - { id: 'pn10', cluster: 'B' }, - { id: 'pn11', cluster: 'B' }, - { id: 'pn12', cluster: 'A' }, - { id: 'pn13', cluster: 'E' }, - { id: 'pn14', cluster: 'B' }, - ], - edges: [ - { source: 'pn2', target: 'pn1', cluster: 'c' }, - { source: 'pn3', target: 'pn1', cluster: 'a' }, - { source: 'pn4', target: 'pn1', cluster: 'c' }, - { source: 'pn1', target: 'pn5', cluster: 'c' }, - { source: 'pn6', target: 'pn1', cluster: 'c' }, - { source: 'pn7', target: 'pn1', cluster: 'c' }, - { source: 'pn8', target: 'pn1', cluster: 'c' }, - { source: 'pn1', target: 'pn9', cluster: 'a' }, - { source: 'pn10', target: 'pn1', cluster: 'c' }, - { source: 'pn11', target: 'pn1', cluster: 'a' }, - { source: 'pn1', target: 'pn12', cluster: 'c' }, - { source: 'pn1', target: 'pn13', cluster: 'c' }, - { source: 'pn14', target: 'pn13', cluster: 'c' }, - ], - }; - const begin = performance.now(); - const { GADDIAsync } = await getAlgorithm(); - const result = await GADDIAsync( - nodes202, - patternWith14Nodes, - true, - undefined, - undefined, - 'cluster', - 'cluster', - ); - - console.log( - '202 nodes graph matching 14 nodes pattern, directed', - performance.now() - begin, - result.length, - ); - result.forEach(re => { - console.log(JSON.stringify(re)); - }); - expect(result.length).toBe(1); - expect(result[0].nodes[0].id).toBe('49'); - }); -}); diff --git a/packages/graph/tests/unit/gaddi-spec.ts b/packages/graph/tests/unit/gaddi-spec.ts deleted file mode 100644 index 03f2383..0000000 --- a/packages/graph/tests/unit/gaddi-spec.ts +++ /dev/null @@ -1,1110 +0,0 @@ -import GADDI from '../../src/gaddi'; -import { nodes77, nodes202, nodes1589, nodes20 } from './data/test-data'; - -const data3 = { - nodes: [ - { - id: '0', - cluster: 'F', - }, - { - id: '1', - cluster: 'F', - }, - { - id: '2', - cluster: 'B', - }, - { - id: '3', - cluster: 'B', - }, - { - id: '4', - cluster: 'B', - }, - { - id: '5', - cluster: 'B', - }, - { - id: '6', - cluster: 'B', - }, - { - id: '7', - cluster: 'B', - }, - { - id: '8', - cluster: 'B', - }, - { - id: '9', - cluster: 'B', - }, - { - id: '10', - cluster: 'B', - }, - { - id: '11', - cluster: 'B', - }, - { - id: '12', - cluster: 'B', - }, - { - id: '13', - cluster: 'B', - }, - { - id: '14', - cluster: 'C', - }, - { - id: '15', - cluster: 'C', - }, - { - id: '16', - cluster: 'B', - }, - { - id: '17', - cluster: 'C', - }, - { - id: '18', - cluster: 'C', - }, - { - id: '19', - cluster: 'B', - }, - ], - edges: [ - { - source: '0', - target: '1', - cluster: 'b', - }, - { - source: '0', - target: '2', - cluster: 'b', - }, - { - source: '1', - target: '3', - cluster: 'b', - }, - { - source: '2', - target: '4', - cluster: 'e', - }, - { - source: '2', - target: '5', - cluster: 'e', - }, - { - source: '3', - target: '6', - cluster: 'e', - }, - { - source: '3', - target: '7', - cluster: 'e', - }, - { - source: '4', - target: '2', - cluster: 'b', - }, - { - source: '4', - target: '9', - cluster: 'e', - }, - { - source: '5', - target: '10', - cluster: 'e', - }, - { - source: '6', - target: '11', - cluster: 'b', - }, - { - source: '6', - target: '12', - cluster: 'e', - }, - { - source: '7', - target: '13', - cluster: 'e', - }, - { - source: '8', - target: '14', - cluster: 'c', - }, - { - source: '8', - target: '15', - cluster: 'b', - }, - { - source: '9', - target: '16', - cluster: 'e', - }, - { - source: '10', - target: '16', - cluster: 'e', - }, - { - source: '11', - target: '17', - cluster: 'c', - }, - { - source: '11', - target: '18', - cluster: 'c', - }, - { - source: '12', - target: '19', - cluster: 'e', - }, - { - source: '13', - target: '19', - cluster: 'e', - }, - ], -}; - -const pattern1 = { - nodes: [ - { - id: '0', - cluster: 'F', - }, - { - id: '1', - cluster: 'F', - }, - { - id: '2', - cluster: 'B', - }, - ], - edges: [ - { - source: '0', - target: '1', - cluster: 'b', - }, - { - source: '0', - target: '2', - cluster: 'b', - }, - ], -}; - -const pattern2 = { - nodes: [ - { - id: '11', - cluster: 'B', - }, - { - id: '17', - cluster: 'C', - }, - { - id: '18', - cluster: 'C', - }, - ], - edges: [ - { - source: '11', - target: '17', - cluster: 'c', - }, - { - source: '11', - target: '18', - cluster: 'b', - }, - ], -}; - -const circlePattern = { - nodes: [ - { id: '1', cluster: 'B' }, - { id: '2', cluster: 'B' }, - { id: '3', cluster: 'B' }, - { id: '4', cluster: 'B' }, - { id: '5', cluster: 'B' }, - { id: '6', cluster: 'B' }, - ], - edges: [ - { source: '1', target: '2', cluster: 'e' }, - { source: '2', target: '3', cluster: 'e' }, - { source: '3', target: '4', cluster: 'e' }, - { source: '4', target: '5', cluster: 'e' }, - { source: '5', target: '6', cluster: 'e' }, - { source: '6', target: '1', cluster: 'e' }, - ], -}; - -describe('gSpan', () => { - it('gSpan match pattern 1', () => { - const matchedSubGraphs = GADDI( - data3, - pattern1, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - console.log('test1', matchedSubGraphs); - expect(matchedSubGraphs.length).toBe(2); - matchedSubGraphs.forEach(graph => { - expect(graph.nodes[0].cluster).toBe('B'); - expect(graph.nodes[1].cluster).toBe('F'); - expect(graph.nodes[2].cluster).toBe('F'); - expect(graph.edges[0].cluster).toBe('b'); - expect(graph.edges[1].cluster).toBe('b'); - }); - }); - it('gSpan match pattern 2', () => { - const matchedSubGraphs = GADDI(data3, pattern2, false, 2, 1, 'cluster', 'cluster'); - console.log('test2', matchedSubGraphs); - expect(matchedSubGraphs.length).toBe(1); - // expect(matchedSubGraphs.nodes) - }); - it('gSpan match circular', () => { - const matchedSubGraphs = GADDI( - data3, - circlePattern, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - expect(matchedSubGraphs.length).toBe(2); - matchedSubGraphs.forEach(graph => { - graph.nodes.forEach(node => { - expect(node.cluster).toBe('B'); - }); - graph.edges.forEach(edge => { - expect(edge.cluster).toBe('e'); - }); - }); - }); - it('gSpan match circular2 with a parallel edge', () => { - const circlePattern2 = { - nodes: [ - { id: '1', cluster: 'B' }, - { id: '2', cluster: 'B' }, - { id: '3', cluster: 'B' }, - { id: '4', cluster: 'B' }, - { id: '5', cluster: 'B' }, - { id: '6', cluster: 'B' }, - ], - edges: [ - { source: '1', target: '2', cluster: 'e' }, - { source: '2', target: '3', cluster: 'e' }, - { source: '3', target: '4', cluster: 'e' }, - { source: '4', target: '5', cluster: 'e' }, // 平行边 - { source: '4', target: '5', cluster: 'b' }, // 平行边 - { source: '5', target: '6', cluster: 'e' }, - { source: '6', target: '1', cluster: 'e' }, - ], - }; - const matchedSubGraphs = GADDI( - data3, - circlePattern2, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - console.log('circle 2', matchedSubGraphs); - expect(matchedSubGraphs.length).toBe(1); - - matchedSubGraphs[0].nodes.forEach(node => { - expect(node.cluster).toBe('B'); - }); - matchedSubGraphs[0].edges.forEach((edge, i) => { - if (i === 2) { - expect(edge.cluster).toBe('b'); - return; - } - expect(edge.cluster).toBe('e'); - }); - }); - // 平行边可能被匹配成多条单独边 - it('gSpan match two parallel edges', () => { - const pattern3 = { - nodes: [ - { id: 'node1', cluster: 'B' }, - { id: 'node2', cluster: 'B' }, - ], - edges: [ - { source: 'node1', target: 'node2', cluster: 'b' }, - { source: 'node1', target: 'node2', cluster: 'e' }, - ], - }; - const matchedSubGraphs = GADDI( - data3, - pattern3, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - console.log('test3', matchedSubGraphs); - // expect(matchedSubGraphs.length).toBe(2); - // matchedSubGraphs.forEach((graph) => { - // expect(graph.nodes[0].cluster).toBe("F"); - // expect(graph.nodes[1].cluster).toBe("F"); - // expect(graph.nodes[2].cluster).toBe("B"); - // expect(graph.edges[0].cluster).toBe("b"); - // expect(graph.edges[1].cluster).toBe("b"); - // }); - }); -}); - -describe('gSpan directed', () => { - it('gSpan match pattern 1', () => { - const pattern11 = { - nodes: [ - { - id: '0', - cluster: 'F', - }, - { - id: '1', - cluster: 'F', - }, - { - id: '2', - cluster: 'B', - }, - ], - edges: [ - { - source: '0', - target: '1', - cluster: 'b', - }, - { - source: '0', - target: '2', - cluster: 'b', - }, - ], - }; - const matchedSubGraphs = GADDI( - data3, - pattern11, - true, - undefined, - undefined, - 'cluster', - 'cluster', - ); - expect(matchedSubGraphs.length).toBe(2); - expect(matchedSubGraphs[0].nodes[0].id).toBe('2'); - expect(matchedSubGraphs[0].nodes[1].id).toBe('0'); - expect(matchedSubGraphs[0].nodes[2].id).toBe('1'); - }); -}); - -describe('GADDI switch nodes', () => { - it('gSpan match pattern 1', () => { - const pattern1 = { - nodes: [ - { id: 'Person', dataType: 'Person' }, - { id: 'Enterprise', dataType: 'Enterprise' }, - ], - edges: [ - { - id: 'edge-1613700998017', - source: 'Person', - target: 'Enterprise', - dataType: 'Person2Enterprise#Guarantee', - rules: [], - }, - ], - }; - const res1 = GADDI(nodes20, pattern1, true, undefined, undefined, 'dataType', 'dataType'); - expect(res1.length).toBe(6); - const pattern2 = { - nodes: [ - { id: 'Enterprise', dataType: 'Enterprise' }, - { id: 'Person', dataType: 'Person' }, - ], - edges: [ - { - id: 'edge-1613700998017', - source: 'Person', - target: 'Enterprise', - dataType: 'Person2Enterprise#Guarantee', - rules: [], - }, - ], - }; - const res2 = GADDI(nodes20, pattern2, true, undefined, undefined, 'dataType', 'dataType'); - expect(res2.length).toBe(6); - }); -}); - -describe('Performance: gSpan 77 nodes G', () => { - // 100ms - it('pattern 3 nodes', () => { - const patternWith3Nodes = { - nodes: [ - { id: 'pn1', cluster: 'A' }, - { id: 'pn2', cluster: 'B' }, - { id: 'pn3', cluster: 'A' }, - ], - edges: [ - { source: 'pn1', target: 'pn2', cluster: 'b' }, - { source: 'pn1', target: 'pn3', cluster: 'a' }, - ], - }; - const begin = performance.now(); - const result = GADDI( - nodes77, - patternWith3Nodes, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - console.log('77 nodes graph matching 3 nodes pattern', performance.now() - begin); - result.forEach(re => { - console.log(JSON.stringify(re)); - }); - - expect(result.length).toBe(5); - expect(result[0].nodes[0].id).toBe('11'); - expect(result[1].nodes[0].id).toBe('48'); - expect(result[2].nodes[0].id).toBe('60'); - expect(result[3].nodes[0].id).toBe('63'); - expect(result[4].nodes[0].id).toBe('66'); - - expect(result[3].nodes.length).toBe(4); - expect(result[4].nodes.length).toBe(3); - }); - // 100ms - it('pattern 5 nodes', () => { - const patternWith5Nodes = { - nodes: [ - { id: 'pn1', cluster: 'A' }, - { id: 'pn2', cluster: 'C' }, - { id: 'pn3', cluster: 'C' }, - { id: 'pn4', cluster: 'B' }, - ], - edges: [ - { source: 'pn1', target: 'pn2', cluster: 'c' }, - { source: 'pn1', target: 'pn3', cluster: 'c' }, - { source: 'pn3', target: 'pn2', cluster: 'c' }, - { source: 'pn3', target: 'pn4', cluster: 'b' }, - { source: 'pn2', target: 'pn4', cluster: 'b' }, - { source: 'pn1', target: 'pn4', cluster: 'c' }, - ], - }; - const begin = performance.now(); - const result = GADDI( - nodes77, - patternWith5Nodes, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - console.log('77 nodes graph matching 5 nodes pattern', performance.now() - begin); - result.forEach(re => { - console.log(JSON.stringify(re)); - }); - expect(result.length).toBe(2); - expect(result[0].nodes[0].id).toBe('11'); - expect(result[1].nodes[0].id).toBe('26'); - - expect(result[0].nodes.length).toBe(7); - expect(result[1].nodes.length).toBe(4); - }); - it('pattern 10 nodes', () => { - const patternWith10Nodes = { - nodes: [ - { id: 'pn1', cluster: 'B' }, - { id: 'pn2', cluster: 'B' }, - { id: 'pn3', cluster: 'B' }, - { id: 'pn4', cluster: 'C' }, - { id: 'pn5', cluster: 'B' }, - { id: 'pn6', cluster: 'A' }, - { id: 'pn7', cluster: 'B' }, - { id: 'pn8', cluster: 'B' }, - { id: 'pn9', cluster: 'A' }, - { id: 'pn10', cluster: 'B' }, - ], - edges: [ - { source: 'pn1', target: 'pn2', cluster: 'b' }, - { source: 'pn1', target: 'pn3', cluster: 'b' }, - { source: 'pn1', target: 'pn4', cluster: 'b' }, - { source: 'pn1', target: 'pn5', cluster: 'b' }, - { source: 'pn1', target: 'pn6', cluster: 'b' }, - { source: 'pn1', target: 'pn7', cluster: 'b' }, - { source: 'pn1', target: 'pn8', cluster: 'b' }, - - { source: 'pn2', target: 'pn3', cluster: 'b' }, - { source: 'pn2', target: 'pn4', cluster: 'b' }, - { source: 'pn2', target: 'pn5', cluster: 'b' }, - { source: 'pn2', target: 'pn6', cluster: 'b' }, - { source: 'pn2', target: 'pn7', cluster: 'b' }, - { source: 'pn2', target: 'pn8', cluster: 'b' }, - - { source: 'pn3', target: 'pn4', cluster: 'b' }, - { source: 'pn3', target: 'pn5', cluster: 'b' }, - { source: 'pn3', target: 'pn6', cluster: 'b' }, - { source: 'pn3', target: 'pn7', cluster: 'b' }, - { source: 'pn3', target: 'pn8', cluster: 'b' }, - - { source: 'pn4', target: 'pn5', cluster: 'b' }, - { source: 'pn4', target: 'pn6', cluster: 'b' }, - { source: 'pn4', target: 'pn7', cluster: 'b' }, - { source: 'pn4', target: 'pn8', cluster: 'b' }, - - { source: 'pn5', target: 'pn6', cluster: 'b' }, - { source: 'pn5', target: 'pn7', cluster: 'b' }, - { source: 'pn5', target: 'pn8', cluster: 'b' }, - - { source: 'pn6', target: 'pn7', cluster: 'b' }, - { source: 'pn6', target: 'pn8', cluster: 'b' }, - - { source: 'pn7', target: 'pn8', cluster: 'b' }, - - { source: 'pn8', target: 'pn9', cluster: 'a' }, - { source: 'pn8', target: 'pn10', cluster: 'a' }, - ], - }; - const begin = performance.now(); - const result = GADDI( - nodes77, - patternWith10Nodes, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - console.log( - '77 nodes graph matching 10 nodes pattern', - performance.now() - begin, - result.length, - ); - result.forEach(re => { - console.log(JSON.stringify(re)); - }); - expect(result.length).toBe(3); - - expect(result[0].nodes[0].id).toBe('16'); - expect(result[1].nodes[0].id).toBe('17'); - expect(result[2].nodes[0].id).toBe('23'); - }); -}); - -describe('Performance: 202 nodes G', () => { - it('pattern with 4 nodes', () => { - const patternWith4Nodes = { - nodes: [ - { id: 'pn1', cluster: 'E' }, - { id: 'pn2', cluster: 'D' }, - { id: 'pn3', cluster: 'B' }, - { id: 'pn4', cluster: 'B' }, - ], - edges: [ - { source: 'pn1', target: 'pn2', cluster: 'c' }, - { source: 'pn2', target: 'pn3', cluster: 'a' }, - { source: 'pn3', target: 'pn4', cluster: 'a' }, - { source: 'pn1', target: 'pn4', cluster: 'c' }, - ], - }; - const begin = performance.now(); - const result = GADDI( - nodes202, - patternWith4Nodes, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - console.log('202 nodes graph matching 4 nodes pattern', performance.now() - begin); - result.forEach(re => { - console.log(JSON.stringify(re)); - }); - expect(result.length).toBe(1); - expect(result[0].nodes[0].id).toBe('67'); - expect(result[0].nodes.length).toBe(4); - }); - it('pattern with 7 nodes', () => { - const patternWith7Nodes = { - nodes: [ - { id: 'pn1', cluster: 'B' }, - { id: 'pn2', cluster: 'C' }, - { id: 'pn3', cluster: 'C' }, - { id: 'pn4', cluster: 'D' }, - { id: 'pn5', cluster: 'E' }, - { id: 'pn6', cluster: 'C' }, - { id: 'pn7', cluster: 'B' }, - ], - edges: [ - { source: 'pn1', target: 'pn2', cluster: 'c' }, - { source: 'pn2', target: 'pn3', cluster: 'c' }, - { source: 'pn3', target: 'pn4', cluster: 'a' }, - { source: 'pn4', target: 'pn5', cluster: 'c' }, - { source: 'pn5', target: 'pn1', cluster: 'c' }, - { source: 'pn4', target: 'pn6', cluster: 'a' }, - { source: 'pn4', target: 'pn7', cluster: 'a' }, - { source: 'pn6', target: 'pn7', cluster: 'c' }, - ], - }; - const begin = performance.now(); - const result = GADDI( - nodes202, - patternWith7Nodes, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - console.log('202 nodes graph matching 7 nodes pattern', performance.now() - begin); - result.forEach(re => { - console.log(JSON.stringify(re)); - }); - expect(result.length).toBe(6); - expect(result[0].nodes[0].id).toBe('2'); - expect(result[1].nodes[0].id).toBe('77'); - expect(result[2].nodes[0].id).toBe('87'); - expect(result[3].nodes[0].id).toBe('132'); - expect(result[4].nodes[0].id).toBe('157'); - expect(result[5].nodes[0].id).toBe('167'); - }); - it('pattern with 7 nodes, directed', () => { - const patternWith7Nodes = { - nodes: [ - { id: 'pn1', cluster: 'B' }, - { id: 'pn2', cluster: 'C' }, - { id: 'pn3', cluster: 'C' }, - { id: 'pn4', cluster: 'D' }, - { id: 'pn5', cluster: 'E' }, - { id: 'pn6', cluster: 'C' }, - { id: 'pn7', cluster: 'B' }, - ], - edges: [ - { source: 'pn1', target: 'pn2', cluster: 'c' }, - { source: 'pn1', target: 'pn5', cluster: 'c' }, - { source: 'pn3', target: 'pn2', cluster: 'c' }, - { source: 'pn4', target: 'pn3', cluster: 'a' }, - { source: 'pn5', target: 'pn4', cluster: 'c' }, - { source: 'pn4', target: 'pn6', cluster: 'a' }, - { source: 'pn4', target: 'pn7', cluster: 'a' }, - { source: 'pn7', target: 'pn6', cluster: 'c' }, - ], - }; - const begin = performance.now(); - const result = GADDI( - nodes202, - patternWith7Nodes, - true, - undefined, - undefined, - 'cluster', - 'cluster', - ); - console.log('202 nodes graph matching 7 nodes pattern, directed', performance.now() - begin); - result.forEach(re => { - console.log(JSON.stringify(re)); - }); - expect(result.length).toBe(1); - expect(result[0].nodes[0].id).toBe('167'); - expect(result[0].nodes.length).toBe(7); - }); - it('pattern with 14 nodes, directed', () => { - const patternWith14Nodes = { - nodes: [ - { id: 'pn1', cluster: 'D' }, - { id: 'pn2', cluster: 'C' }, - { id: 'pn3', cluster: 'D' }, - { id: 'pn4', cluster: 'D' }, - { id: 'pn5', cluster: 'C' }, - { id: 'pn6', cluster: 'B' }, - { id: 'pn7', cluster: 'E' }, - { id: 'pn8', cluster: 'C' }, - { id: 'pn9', cluster: 'C' }, - { id: 'pn10', cluster: 'B' }, - { id: 'pn11', cluster: 'B' }, - { id: 'pn12', cluster: 'A' }, - { id: 'pn13', cluster: 'E' }, - { id: 'pn14', cluster: 'B' }, - ], - edges: [ - { source: 'pn2', target: 'pn1', cluster: 'c' }, - { source: 'pn3', target: 'pn1', cluster: 'a' }, - { source: 'pn4', target: 'pn1', cluster: 'c' }, - { source: 'pn1', target: 'pn5', cluster: 'c' }, - { source: 'pn6', target: 'pn1', cluster: 'c' }, - { source: 'pn7', target: 'pn1', cluster: 'c' }, - { source: 'pn8', target: 'pn1', cluster: 'c' }, - { source: 'pn1', target: 'pn9', cluster: 'a' }, - { source: 'pn10', target: 'pn1', cluster: 'c' }, - { source: 'pn11', target: 'pn1', cluster: 'a' }, - { source: 'pn1', target: 'pn12', cluster: 'c' }, - { source: 'pn1', target: 'pn13', cluster: 'c' }, - { source: 'pn14', target: 'pn13', cluster: 'c' }, - ], - }; - const begin = performance.now(); - const result = GADDI( - nodes202, - patternWith14Nodes, - true, - undefined, - undefined, - 'cluster', - 'cluster', - ); - - console.log( - '202 nodes graph matching 14 nodes pattern, directed', - performance.now() - begin, - result.length, - ); - result.forEach(re => { - console.log(JSON.stringify(re)); - }); - // expect(result.length).toBe(8); - // expect(result[7].nodes[0].id).toBe("100"); - }); -}); -describe('Performance: 1589 nodes G', () => { - it('pattern with 4 nodes', () => { - const patternWith4Nodes = { - nodes: [ - { id: 'pn1', cluster: 'A' }, - { id: 'pn2', cluster: 'B' }, - { id: 'pn3', cluster: 'C' }, - { id: 'pn4', cluster: 'A' }, - ], - edges: [ - { source: 'pn1', target: 'pn2', cluster: 'B' }, - { source: 'pn1', target: 'pn3', cluster: 'C' }, - { source: 'pn2', target: 'pn3', cluster: 'A' }, - { source: 'pn3', target: 'pn4', cluster: 'C' }, - ], - }; - const begin = performance.now(); - const result = GADDI( - nodes1589, - patternWith4Nodes, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - console.log( - '1589 nodes graph matching 4 nodes pattern', - performance.now() - begin, - result.length, - ); - result.forEach(re => { - console.log(JSON.stringify(re)); - }); - - expect(result.length).toBe(163); - }); - // TODO: 爆栈 - xit('pattern with 6 nodes full-connected', () => { - const patternWith6Nodes = { - nodes: [ - { id: 'pn1', cluster: 'B' }, - { id: 'pn2', cluster: 'C' }, - { id: 'pn3', cluster: 'A' }, - { id: 'pn4', cluster: 'C' }, - { id: 'pn4', cluster: 'B' }, - { id: 'pn4', cluster: 'A' }, - ], - edges: [ - { source: 'pn1', target: 'pn2', cluster: 'A' }, - { source: 'pn1', target: 'pn3', cluster: 'B' }, - { source: 'pn1', target: 'pn4', cluster: 'A' }, - { source: 'pn1', target: 'pn5', cluster: 'C' }, - { source: 'pn1', target: 'pn6', cluster: 'B' }, - - { source: 'pn2', target: 'pn3', cluster: 'C' }, - { source: 'pn2', target: 'pn4', cluster: 'B' }, - { source: 'pn2', target: 'pn5', cluster: 'A' }, - { source: 'pn2', target: 'pn6', cluster: 'C' }, - - { source: 'pn3', target: 'pn3', cluster: 'C' }, - { source: 'pn3', target: 'pn5', cluster: 'B' }, - { source: 'pn3', target: 'pn6', cluster: 'A' }, - - { source: 'pn4', target: 'pn5', cluster: 'A' }, - { source: 'pn4', target: 'pn6', cluster: 'C' }, - - { source: 'pn5', target: 'pn6', cluster: 'B' }, - ], - }; - const begin = performance.now(); - const result = GADDI( - nodes1589, - patternWith6Nodes, - false, - undefined, - undefined, - 'cluster', - 'cluster', - ); - console.log( - '1589 nodes graph matching 6 nodes full-connected pattern', - performance.now() - begin, - result.length, - ); - result.forEach(re => { - console.log(JSON.stringify(re)); - }); - }); -}); - -describe('Prune', () => { - it('Prune', () => { - const dataPrune = { - "nodes":[ - { - "id":"0", - "cluster":"B" - }, - { - "id":"1", - "cluster":"B" - }, - { - "id":"2", - "cluster":"B" - }, - { - "id":"3", - "cluster":"C" - }, - ], - "edges":[ - { - "source":"0", - "target":"1", - "cluster":"b" - }, - { - "source":"1", - "target":"2", - "cluster":"b" - }, - { - "source":"1", - "target":"3", - "cluster":"b" - }, - ] - } - - const dataPrune2 = { - "nodes":[ - { - "id":"0", - "cluster":"B" - }, - { - "id":"1", - "cluster":"B" - }, - { - "id":"2", - "cluster":"B" - }, - { - "id":"3", - "cluster":"B" - }, - { - "id":"4", - "cluster":"B" - }, - { - "id":"5", - "cluster":"B" - }, - { - "id":"6", - "cluster":"B" - }, - { - "id":"7", - "cluster":"B" - }, - { - "id":"8", - "cluster":"B" - }, - { - "id":"9", - "cluster":"B" - }, - { - "id":"10", - "cluster":"B" - }, - { - "id":"11", - "cluster":"C" - }, - ], - "edges":[ - { - "source":"0", - "target":"6", - "cluster":"b" - }, - { - "source":"1", - "target":"6", - "cluster":"b" - }, - { - "source":"2", - "target":"6", - "cluster":"b" - }, - { - "source":"3", - "target":"6", - "cluster":"b" - }, - { - "source":"4", - "target":"6", - "cluster":"b" - }, - { - "source":"5", - "target":"6", - "cluster":"b" - }, - { - "source":"6", - "target":"7", - "cluster":"b" - }, - { - "source":"6", - "target":"8", - "cluster":"b" - }, - { - "source":"6", - "target":"9", - "cluster":"b" - }, - { - "source":"6", - "target":"10", - "cluster":"b" - }, - { - "source":"6", - "target":"11", - "cluster":"b" - }, - ] - } - const p = { - nodes: [ - { - id: '0', - cluster: 'B', - }, - { - id: '1', - cluster: 'B', - }, - { - id: '2', - cluster: 'B', - }, - { - id: '3', - cluster: 'C', - }, - ], - edges: [ - { - source: '0', - target: '1', - cluster: 'b', - }, - { - source: '2', - target: '1', - cluster: 'b', - }, - { - source: '1', - target: '3', - cluster: 'b', - }, - ], - }; - - const result = GADDI( - dataPrune2, - p, - true, - undefined, - undefined, - 'cluster', - 'cluster', - ); - - // console.log('res', result); - // // console.log(JSON.stringify(data3)); - - // result.forEach(re => { - // console.log(JSON.stringify(re)); - // }); - expect(result.length).toBe(1); - }) -}); \ No newline at end of file diff --git a/packages/graph/tests/unit/kMeans-spec.ts b/packages/graph/tests/unit/kMeans-spec.ts deleted file mode 100644 index 7e9ed1d..0000000 --- a/packages/graph/tests/unit/kMeans-spec.ts +++ /dev/null @@ -1,236 +0,0 @@ -import { kMeans } from '../../src'; -import { GraphData, NodeConfig } from '../../src/types'; -import propertiesGraphData from './data/cluster-origin-properties-data.json'; - -describe('kMeans abnormal demo', () => { - it('no properties demo: ', () => { - const noPropertiesData = { - nodes: [ - { - id: 'node-0', - }, - { - id: 'node-1', - }, - { - id: 'node-2', - }, - { - id: 'node-3', - } - ], - edges: [], - } - const { clusters, clusterEdges } = kMeans(noPropertiesData, 2); - expect(clusters.length).toBe(1); - expect(clusterEdges.length).toBe(0); - }); -}); - -describe('kMeans normal demo', () => { - const simpleGraphData = { - nodes: [ - { - id: 'node-0', - properties: { - amount: 10, - city: '10001', - } - }, - { - id: 'node-1', - properties: { - amount: 10000, - city: '10002', - } - }, - { - id: 'node-2', - properties: { - amount: 3000, - city: '10003', - } - }, - { - id: 'node-3', - properties: { - amount: 3200, - city: '10003', - } - }, - { - id: 'node-4', - properties: { - amount: 2000, - city: '10003', - } - } - ], - edges: [ - { - id: 'edge-0', - source: 'node-0', - target: 'node-1', - }, - { - id: 'edge-1', - source: 'node-0', - target: 'node-2', - }, - { - id: 'edge-4', - source: 'node-3', - target: 'node-2', - }, - { - id: 'edge-5', - source: 'node-2', - target: 'node-1', - }, - { - id: 'edge-6', - source: 'node-4', - target: 'node-1', - }, - ] - } - it('simple data demo: ', () => { - const nodes = simpleGraphData.nodes as NodeConfig[]; - const { clusters } = kMeans(simpleGraphData, 3, 'properties'); - expect(clusters.length).toBe(3); - expect(nodes[2].clusterId).toEqual(nodes[3].clusterId); - expect(nodes[2].clusterId).toEqual(nodes[4].clusterId); - }); - - it('complex data demo: ', () => { - const nodes = propertiesGraphData.nodes as NodeConfig[]; - const { clusters } = kMeans(propertiesGraphData as GraphData, 3, 'properties'); - expect(clusters.length).toBe(3); - expect(nodes[0].clusterId).toEqual(nodes[1].clusterId); - expect(nodes[0].clusterId).toEqual(nodes[2].clusterId); - expect(nodes[0].clusterId).toEqual(nodes[3].clusterId); - expect(nodes[0].clusterId).toEqual(nodes[4].clusterId); - expect(nodes[5].clusterId).toEqual(nodes[6].clusterId); - expect(nodes[5].clusterId).toEqual(nodes[7].clusterId); - expect(nodes[5].clusterId).toEqual(nodes[8].clusterId); - expect(nodes[5].clusterId).toEqual(nodes[9].clusterId); - expect(nodes[5].clusterId).toEqual(nodes[10].clusterId); - expect(nodes[11].clusterId).toEqual(nodes[12].clusterId); - expect(nodes[11].clusterId).toEqual(nodes[13].clusterId); - expect(nodes[11].clusterId).toEqual(nodes[14].clusterId); - expect(nodes[11].clusterId).toEqual(nodes[15].clusterId); - expect(nodes[11].clusterId).toEqual(nodes[16].clusterId); - }); - - - it('demo use involvedKeys: ', () => { - const involvedKeys = ['amount']; - const nodes = simpleGraphData.nodes as NodeConfig[]; - const { clusters } = kMeans(simpleGraphData, 3, 'properties', involvedKeys); - expect(clusters.length).toBe(3); - expect(nodes[2].clusterId).toEqual(nodes[3].clusterId); - expect(nodes[2].clusterId).toEqual(nodes[4].clusterId); - }); - - it('demo use uninvolvedKeys: ', () => { - const uninvolvedKeys = ['id', 'city']; - const nodes = simpleGraphData.nodes as NodeConfig[]; - const { clusters } = kMeans(simpleGraphData, 3, 'properties', [], uninvolvedKeys); - expect(clusters.length).toBe(3); - expect(nodes[2].clusterId).toEqual(nodes[3].clusterId); - expect(nodes[2].clusterId).toEqual(nodes[4].clusterId); - }); -}); - -describe('kMeans All properties values are numeric demo', () => { - it('all properties values are numeric demo: ', () => { - const allPropertiesValuesNumericData = { - nodes: [ - { - id: 'node-0', - properties: { - max: 1000000, - mean: 900000, - min: 800000, - } - }, - { - id: 'node-1', - properties: { - max: 1600000, - mean: 1100000, - min: 600000, - } - }, - { - id: 'node-2', - properties: { - max: 5000, - mean: 3500, - min: 2000, - } - }, - { - id: 'node-3', - properties: { - max: 9000, - mean: 7500, - min: 6000, - } - } - ], - edges: [], - } - const { clusters, clusterEdges } = kMeans(allPropertiesValuesNumericData, 2, 'properties'); - expect(clusters.length).toBe(2); - expect(clusterEdges.length).toBe(0); - const nodes = allPropertiesValuesNumericData.nodes as NodeConfig[]; - expect(nodes[0].clusterId).toEqual(nodes[1].clusterId); - expect(nodes[2].clusterId).toEqual(nodes[3].clusterId); - }); - - it('only one property and the value are numeric demo: ', () => { - const allPropertiesValuesNumericData = { - nodes: [ - { - id: 'node-0', - properties: { - num: 10, - } - }, - { - id: 'node-1', - properties: { - num: 12, - } - }, - { - id: 'node-2', - properties: { - num: 56, - } - }, - { - id: 'node-3', - properties: { - num: 300, - } - }, - { - id: 'node-4', - properties: { - num: 350, - } - } - ], - edges: [], - } - const { clusters, clusterEdges } = kMeans(allPropertiesValuesNumericData, 2, 'properties'); - expect(clusters.length).toBe(2); - expect(clusterEdges.length).toBe(0); - const nodes = allPropertiesValuesNumericData.nodes as NodeConfig[]; - expect(nodes[0].clusterId).toEqual(nodes[1].clusterId); - expect(nodes[0].clusterId).toEqual(nodes[2].clusterId); - expect(nodes[3].clusterId).toEqual(nodes[4].clusterId); - }); -}); diff --git a/packages/graph/tests/unit/label-propagation-async-spec.ts b/packages/graph/tests/unit/label-propagation-async-spec.ts deleted file mode 100644 index f2d5401..0000000 --- a/packages/graph/tests/unit/label-propagation-async-spec.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { getAlgorithm } from './utils'; -import { GraphData } from '../../src/types'; - -describe('(Async) label propagation', () => { - it('simple label propagation', async done => { - const { labelPropagationAsync } = await getAlgorithm(); - const data: GraphData = { - nodes: [ - { id: '0' }, - { id: '1' }, - { id: '2' }, - { id: '3' }, - { id: '4' }, - { id: '5' }, - { id: '6' }, - { id: '7' }, - { id: '8' }, - { id: '9' }, - { id: '10' }, - { id: '11' }, - { id: '12' }, - { id: '13' }, - { id: '14' }, - ], - edges: [ - { source: '0', target: '1' }, - { source: '0', target: '2' }, - { source: '0', target: '3' }, - { source: '0', target: '4' }, - { source: '1', target: '2' }, - { source: '1', target: '3' }, - { source: '1', target: '4' }, - { source: '2', target: '3' }, - { source: '2', target: '4' }, - { source: '3', target: '4' }, - { source: '0', target: '0' }, - { source: '0', target: '0' }, - { source: '0', target: '0' }, - - { source: '5', target: '6', weight: 5 }, - { source: '5', target: '7' }, - { source: '5', target: '8' }, - { source: '5', target: '9' }, - { source: '6', target: '7' }, - { source: '6', target: '8' }, - { source: '6', target: '9' }, - { source: '7', target: '8' }, - { source: '7', target: '9' }, - { source: '8', target: '9' }, - - { source: '10', target: '11' }, - { source: '10', target: '12' }, - { source: '10', target: '13' }, - { source: '10', target: '14' }, - { source: '11', target: '12' }, - { source: '11', target: '13' }, - { source: '11', target: '14' }, - { source: '12', target: '13' }, - { source: '12', target: '14' }, - { source: '13', target: '14', weight: 5 }, - - { source: '0', target: '5' }, - { source: '5', target: '10' }, - { source: '10', target: '0' }, - { source: '10', target: '0' }, - ], - }; - const clusteredData = await labelPropagationAsync(data, false, 'weight'); - expect(clusteredData.clusters.length).not.toBe(0); - expect(clusteredData.clusterEdges.length).not.toBe(0); - done(); - }); - it('label propagation with large graph', () => { - // https://gw.alipayobjects.com/os/antvdemo/assets/data/relations.json - fetch('https://gw.alipayobjects.com/os/basement_prod/da5a1b47-37d6-44d7-8d10-f3e046dabf82.json') - .then(res => res.json()) - .then(async data => { - // 1589 nodes, 2747 edges - const { labelPropagationAsync } = await getAlgorithm(); - const clusteredData = await labelPropagationAsync(data, false, 'weight'); - // console.log(`Call to doSomething took ${t1 - t0} milliseconds.`); - - // 9037.91999999521 ms - - expect(clusteredData.clusters.length).toBe(472); - expect(clusteredData.clusterEdges.length).toBe(444); - }); - }); -}); diff --git a/packages/graph/tests/unit/label-propagation-spec.ts b/packages/graph/tests/unit/label-propagation-spec.ts deleted file mode 100644 index 87ad625..0000000 --- a/packages/graph/tests/unit/label-propagation-spec.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { labelPropagation } from '../../src'; -import { GraphData } from '../../src/types'; - -describe('label propagation', () => { - it('simple label propagation', () => { - const data: GraphData = { - nodes: [ - { id: '0' }, { id: '1' }, { id: '2' }, { id: '3' }, { id: '4' }, - { id: '5' }, { id: '6' }, { id: '7' }, { id: '8' }, { id: '9' }, - { id: '10' }, { id: '11' }, { id: '12' }, { id: '13' }, { id: '14' }, - ], - edges: [ - { source: '0', target: '1' }, { source: '0', target: '2' }, { source: '0', target: '3' }, { source: '0', target: '4' }, - { source: '1', target: '2' }, { source: '1', target: '3' }, { source: '1', target: '4' }, - { source: '2', target: '3' }, { source: '2', target: '4' }, - { source: '3', target: '4' }, - { source: '0', target: '0' }, - { source: '0', target: '0' }, - { source: '0', target: '0' }, - - { source: '5', target: '6', weight: 5 }, { source: '5', target: '7' }, { source: '5', target: '8' }, { source: '5', target: '9' }, - { source: '6', target: '7' }, { source: '6', target: '8' }, { source: '6', target: '9' }, - { source: '7', target: '8' }, { source: '7', target: '9' }, - { source: '8', target: '9' }, - - { source: '10', target: '11' }, { source: '10', target: '12' }, { source: '10', target: '13' }, { source: '10', target: '14' }, - { source: '11', target: '12' }, { source: '11', target: '13' }, { source: '11', target: '14' }, - { source: '12', target: '13' }, { source: '12', target: '14' }, - { source: '13', target: '14', weight: 5 }, - - { source: '0', target: '5' }, - { source: '5', target: '10' }, - { source: '10', target: '0' }, - { source: '10', target: '0' }, - ] - } - const clusteredData = labelPropagation(data, false, 'weight'); - expect(clusteredData.clusters.length).not.toBe(0); - expect(clusteredData.clusterEdges.length).not.toBe(0); - }); - it('label propagation with large graph', () => { // https://gw.alipayobjects.com/os/antvdemo/assets/data/relations.json - fetch('https://gw.alipayobjects.com/os/basement_prod/da5a1b47-37d6-44d7-8d10-f3e046dabf82.json') - .then((res) => res.json()) - .then((data) => { // 1589 nodes, 2747 edges - const clusteredData = labelPropagation(data, false, 'weight'); - // console.log(`Call to doSomething took ${t1 - t0} milliseconds.`); - - // 9037.91999999521 ms - - expect(clusteredData.clusters.length).toBe(472); - expect(clusteredData.clusterEdges.length).toBe(444); - }); - }); -}); diff --git a/packages/graph/tests/unit/linked-list-spec.ts b/packages/graph/tests/unit/linked-list-spec.ts deleted file mode 100644 index 381ab27..0000000 --- a/packages/graph/tests/unit/linked-list-spec.ts +++ /dev/null @@ -1,88 +0,0 @@ -import LinkedList, { LinkedListNode } from '../../src/structs/linked-list' - -describe('linked list struct', () => { - it('init linedListNode', () => { - const linkedNode1 = new LinkedListNode(1) - const linkedNode2 = new LinkedListNode(2, linkedNode1) - - expect(linkedNode1.value).toBe(1) - expect(linkedNode1.next).toBe(null) - expect(linkedNode1.toString()).toEqual('1') - - expect(linkedNode2.value).toBe(2) - expect(linkedNode2.next).toBe(linkedNode1) - expect(linkedNode2.toString()).toBe('2') - }) - - const linkedList = new LinkedList() - it('init linked list', () => { - expect(linkedList).not.toBe(undefined) - }) - - it('find & append', () => { - let node1 = linkedList.find({ value: 1 }) - expect(node1).toBe(null) - - // append node - linkedList.append(1) - node1 = linkedList.find({ value: 1 }) - - expect(node1).not.toBe(null) - expect(node1.value).toBe(1) - }) - - it('prepend', () => { - linkedList.prepend(2) - - const node1 = linkedList.find({ value: 1 }) - const node2 = linkedList.find({ value: 2 }) - expect(linkedList.toArray()).toEqual([node2, node1]) - expect(linkedList.toString()).toEqual('2,1') - }) - - it('deleteHead', () => { - const deleteHead = linkedList.deleteHead() - expect(deleteHead).not.toBe(undefined) - expect(deleteHead.value).toEqual(2) - expect(deleteHead.next).toEqual({ next: null, value: 1 }) - }) - - it('deleteTail', () => { - linkedList.prepend(3) - - const deleteTail = linkedList.deleteTail() - expect(deleteTail).not.toBe(undefined) - expect(deleteTail.value).toBe(1) - expect(deleteTail.next).toBe(null) - }) - - it('delete', () => { - linkedList.append(5) - linkedList.append(6) - - const node3 = linkedList.find({ value: 3 }) - const node5 = linkedList.find({ value: 5 }) - const node6 = linkedList.find({ value: 6 }) - expect(linkedList.toArray()).toEqual([node3, node5, node6]) - expect(linkedList.toString()).toEqual('3,5,6') - - // 删除一个不存在的元素 - let deleteNode = linkedList.delete(8) - expect(deleteNode).toBe(null) - - // 删除存在的元素 - deleteNode = linkedList.delete(5) - expect(deleteNode).not.toBe(null) - expect(deleteNode.value).toBe(5) - expect(deleteNode.next).toEqual({ next: null, value: 6 }) - - deleteNode = linkedList.find({ value: 5 }) - expect(deleteNode).toBe(null) - }) - - it('reverse', () => { - expect(linkedList.toString()).toEqual('3,6') - linkedList.reverse() - expect(linkedList.toString()).toEqual('6,3') - }) -}) \ No newline at end of file diff --git a/packages/graph/tests/unit/louvain-async-spec.ts b/packages/graph/tests/unit/louvain-async-spec.ts deleted file mode 100644 index ae0b39e..0000000 --- a/packages/graph/tests/unit/louvain-async-spec.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { louvain } from '../../src'; -import { GraphData } from '../../src/types'; -import propertiesGraphData from './data/cluster-origin-properties-data.json'; - -describe('(Async) louvain', () => { - - it('simple louvain', () => { - const data: GraphData = { - nodes: [ - { id: '0' }, { id: '1' }, { id: '2' }, { id: '3' }, { id: '4' }, - { id: '5' }, { id: '6' }, { id: '7' }, { id: '8' }, { id: '9' }, - { id: '10' }, { id: '11' }, { id: '12' }, { id: '13' }, { id: '14' }, - ], - edges: [ - { source: '0', target: '1' }, { source: '0', target: '2' }, { source: '0', target: '3' }, { source: '0', target: '4' }, - { source: '1', target: '2' }, { source: '1', target: '3' }, { source: '1', target: '4' }, - { source: '2', target: '3' }, { source: '2', target: '4' }, - { source: '3', target: '4' }, - { source: '0', target: '0' }, - { source: '0', target: '0' }, - { source: '0', target: '0' }, - - { source: '5', target: '6', weight: 5 }, { source: '5', target: '7' }, { source: '5', target: '8' }, { source: '5', target: '9' }, - { source: '6', target: '7' }, { source: '6', target: '8' }, { source: '6', target: '9' }, - { source: '7', target: '8' }, { source: '7', target: '9' }, - { source: '8', target: '9' }, - - { source: '10', target: '11' }, { source: '10', target: '12' }, { source: '10', target: '13' }, { source: '10', target: '14' }, - { source: '11', target: '12' }, { source: '11', target: '13' }, { source: '11', target: '14' }, - { source: '12', target: '13' }, { source: '12', target: '14' }, - { source: '13', target: '14', weight: 5 }, - - { source: '0', target: '5' }, - { source: '5', target: '10' }, - { source: '10', target: '0' }, - { source: '10', target: '0' }, - ] - } - const clusteredData = louvain(data, false, 'weight'); - expect(clusteredData.clusters.length).toBe(3); - expect(clusteredData.clusters[0].sumTot).toBe(3); - expect(clusteredData.clusters[1].sumTot).toBe(2); - expect(clusteredData.clusterEdges.length).toBe(6); - expect(clusteredData.clusterEdges[0].count).toBe(13); - expect(clusteredData.clusterEdges[1].count).toBe(10); - expect(clusteredData.clusterEdges[1].weight).toBe(14); - }); - - it('louvain with large graph', () => { // https://gw.alipayobjects.com/os/antvdemo/assets/data/relations.json - fetch('https://gw.alipayobjects.com/os/basement_prod/da5a1b47-37d6-44d7-8d10-f3e046dabf82.json') - .then((res) => res.json()) - .then((data) => { // 1589 nodes, 2747 edges - const clusteredData = louvain(data, false, 'weight'); - expect(clusteredData.clusters.length).toBe(495); - expect(clusteredData.clusterEdges.length).toBe(505); - }); - }); - - it('louvain: add inertialModularity', () => { - const clusteredData = louvain(propertiesGraphData as GraphData, false, 'weight', 0.01, true, 'properties'); - expect(clusteredData.clusters.length).toBe(3); - expect(clusteredData.clusters[0].sumTot).toBe(3); - expect(clusteredData.clusters[1].sumTot).toBe(3); - expect(clusteredData.clusters[2].sumTot).toBe(4); - expect(clusteredData.clusterEdges.length).toBe(7); - }); -}); diff --git a/packages/graph/tests/unit/louvain-spec.ts b/packages/graph/tests/unit/louvain-spec.ts deleted file mode 100644 index 386e934..0000000 --- a/packages/graph/tests/unit/louvain-spec.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { louvain, iLouvain } from '../../src'; -import { GraphData } from '../../src/types'; -import propertiesGraphData from './data/cluster-origin-properties-data.json'; - -describe('louvain', () => { - - it('simple louvain', () => { - const data: GraphData = { - nodes: [ - { id: '0' }, { id: '1' }, { id: '2' }, { id: '3' }, { id: '4' }, - { id: '5' }, { id: '6' }, { id: '7' }, { id: '8' }, { id: '9' }, - { id: '10' }, { id: '11' }, { id: '12' }, { id: '13' }, { id: '14' }, - ], - edges: [ - { source: '0', target: '1' }, { source: '0', target: '2' }, { source: '0', target: '3' }, { source: '0', target: '4' }, - { source: '1', target: '2' }, { source: '1', target: '3' }, { source: '1', target: '4' }, - { source: '2', target: '3' }, { source: '2', target: '4' }, - { source: '3', target: '4' }, - { source: '0', target: '0' }, - { source: '0', target: '0' }, - { source: '0', target: '0' }, - - { source: '5', target: '6', weight: 5 }, { source: '5', target: '7' }, { source: '5', target: '8' }, { source: '5', target: '9' }, - { source: '6', target: '7' }, { source: '6', target: '8' }, { source: '6', target: '9' }, - { source: '7', target: '8' }, { source: '7', target: '9' }, - { source: '8', target: '9' }, - - { source: '10', target: '11' }, { source: '10', target: '12' }, { source: '10', target: '13' }, { source: '10', target: '14' }, - { source: '11', target: '12' }, { source: '11', target: '13' }, { source: '11', target: '14' }, - { source: '12', target: '13' }, { source: '12', target: '14' }, - { source: '13', target: '14', weight: 5 }, - - { source: '0', target: '5' }, - { source: '5', target: '10' }, - { source: '10', target: '0' }, - { source: '10', target: '0' }, - ] - } - const clusteredData = louvain(data, false, 'weight'); - expect(clusteredData.clusters.length).toBe(3); - expect(clusteredData.clusters[0].sumTot).toBe(3); - expect(clusteredData.clusters[1].sumTot).toBe(2); - expect(clusteredData.clusterEdges.length).toBe(6); - expect(clusteredData.clusterEdges[0].count).toBe(13); - expect(clusteredData.clusterEdges[1].count).toBe(10); - expect(clusteredData.clusterEdges[1].weight).toBe(14); - }); - - it('louvain with large graph', () => { // https://gw.alipayobjects.com/os/antvdemo/assets/data/relations.json - fetch('https://gw.alipayobjects.com/os/basement_prod/da5a1b47-37d6-44d7-8d10-f3e046dabf82.json') - .then((res) => res.json()) - .then((data) => { // 1589 nodes, 2747 edges - const clusteredData = louvain(data, false, 'weight'); - expect(clusteredData.clusters.length).toBe(495); - expect(clusteredData.clusterEdges.length).toBe(505); - }); - }); - - it('louvain: add inertialModularity', () => { - const clusteredData = iLouvain(propertiesGraphData as GraphData, false, 'weight', 0.01, 'properties'); - expect(clusteredData.clusters.length).toBe(3); - expect(clusteredData.clusters[0].sumTot).toBe(3); - expect(clusteredData.clusters[1].sumTot).toBe(3); - expect(clusteredData.clusters[2].sumTot).toBe(4); - expect(clusteredData.clusterEdges.length).toBe(7); - }); -}); \ No newline at end of file diff --git a/packages/graph/tests/unit/mst-spec.ts b/packages/graph/tests/unit/mst-spec.ts deleted file mode 100644 index fcedaee..0000000 --- a/packages/graph/tests/unit/mst-spec.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { minimumSpanningTree } from '../../src'; - -const data = { - nodes: [ - { - id: 'A', - }, - { - id: 'B', - }, - { - id: 'C', - }, - { - id: 'D', - }, - { - id: 'E', - }, - { - id: 'F', - }, - { - id: 'G', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - weight: 1, - }, - { - source: 'B', - target: 'C', - weight: 1, - }, - { - source: 'A', - target: 'C', - weight: 2, - }, - { - source: 'D', - target: 'A', - weight: 3, - }, - { - source: 'D', - target: 'E', - weight: 4, - }, - { - source: 'E', - target: 'F', - weight: 2, - }, - { - source: 'F', - target: 'D', - weight: 3, - }, - ], -}; - -describe('minimumSpanningTree', () => { - it('test kruskal algorithm', () => { - let result = minimumSpanningTree(data, 'weight'); - let totalWeight = 0; - for (let edge of result) { - totalWeight += edge.weight; - } - expect(totalWeight).toEqual(10); - }); - - it('test prim algorithm', () => { - let result = minimumSpanningTree(data, 'weight', 'prim'); - let totalWeight = 0; - for (let edge of result) { - totalWeight += edge.weight; - } - expect(totalWeight).toEqual(10); - }); -}); diff --git a/packages/graph/tests/unit/nodesCosineSimilarity-spec.ts b/packages/graph/tests/unit/nodesCosineSimilarity-spec.ts deleted file mode 100644 index 470e1e6..0000000 --- a/packages/graph/tests/unit/nodesCosineSimilarity-spec.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { nodesCosineSimilarity } from '../../src'; -import { NodeConfig } from '../../src/types'; -import propertiesGraphData from './data/cluster-origin-properties-data.json'; - -describe('nodesCosineSimilarity abnormal demo', () => { - it('no properties demo: ', () => { - const nodes = [ - { - id: 'node-0', - }, - { - id: 'node-1', - }, - { - id: 'node-2', - }, - { - id: 'node-3', - } - ]; - const { allCosineSimilarity, similarNodes } = nodesCosineSimilarity(nodes as NodeConfig[], nodes[0]); - expect(allCosineSimilarity.length).toBe(3); - expect(similarNodes.length).toBe(3); - expect(allCosineSimilarity[0]).toBe(1); - expect(allCosineSimilarity[1]).toBe(0); - expect(allCosineSimilarity[2]).toBe(0); - }); -}); - -describe('nodesCosineSimilarity normal demo', () => { - it('simple demo: ', () => { - const nodes = [ - { - id: 'node-0', - properties: { - amount: 10, - } - }, - { - id: 'node-2', - properties: { - amount: 100, - } - }, - { - id: 'node-3', - properties: { - amount: 1000, - } - }, - { - id: 'node-4', - properties: { - amount: 50, - } - } - ]; - const { allCosineSimilarity, similarNodes } = nodesCosineSimilarity(nodes as NodeConfig[], nodes[0], 'properties'); - expect(allCosineSimilarity.length).toBe(3); - expect(similarNodes.length).toBe(3); - allCosineSimilarity.forEach(data => { - expect(data).toBeGreaterThanOrEqual(0); - expect(data).toBeLessThanOrEqual(1); - }) - }); - - it('complex demo: ', () => { - const { nodes } = propertiesGraphData; - const { allCosineSimilarity, similarNodes } = nodesCosineSimilarity(nodes as NodeConfig[], nodes[16], 'properties'); - expect(allCosineSimilarity.length).toBe(16); - expect(similarNodes.length).toBe(16); - allCosineSimilarity.forEach(data => { - expect(data).toBeGreaterThanOrEqual(0); - expect(data).toBeLessThanOrEqual(1); - }) - }); - - - it('demo use involvedKeys: ', () => { - const involvedKeys = ['amount', 'wifi']; - const { nodes } = propertiesGraphData; - const { allCosineSimilarity, similarNodes } = nodesCosineSimilarity(nodes as NodeConfig[], nodes[16], 'properties', involvedKeys); - expect(allCosineSimilarity.length).toBe(16); - expect(similarNodes.length).toBe(16); - allCosineSimilarity.forEach(data => { - expect(data).toBeGreaterThanOrEqual(0); - expect(data).toBeLessThanOrEqual(1); - }) - expect(similarNodes[0].id).toBe('node-11'); - }); - - it('demo use uninvolvedKeys: ', () => { - const uninvolvedKeys = ['amount']; - const { nodes } = propertiesGraphData; - const { allCosineSimilarity, similarNodes } = nodesCosineSimilarity(nodes as NodeConfig[], nodes[16], 'properties', [], uninvolvedKeys); - expect(allCosineSimilarity.length).toBe(16); - expect(similarNodes.length).toBe(16); - allCosineSimilarity.forEach(data => { - expect(data).toBeGreaterThanOrEqual(0); - expect(data).toBeLessThanOrEqual(1); - }) - expect(similarNodes[0].id).toBe('node-11'); - }); -}); diff --git a/packages/graph/tests/unit/pagerank-async-spec.ts b/packages/graph/tests/unit/pagerank-async-spec.ts deleted file mode 100644 index ab78386..0000000 --- a/packages/graph/tests/unit/pagerank-async-spec.ts +++ /dev/null @@ -1,138 +0,0 @@ -import { getAlgorithm } from './utils'; - -const data = { - nodes: [ - { - id: 'A', - label: 'A', - }, - { - id: 'B', - label: 'B', - }, - { - id: 'C', - label: 'C', - }, - { - id: 'D', - label: 'D', - }, - { - id: 'E', - label: 'E', - }, - { - id: 'F', - label: 'F', - }, - { - id: 'G', - label: 'G', - }, - { - id: 'H', - label: 'H', - }, - { - id: 'I', - label: 'I', - }, - { - id: 'J', - label: 'J', - }, - { - id: 'K', - label: 'K', - } - ], - edges: [ - { - source: 'D', - target: 'A', - }, - { - source: 'D', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'C', - target: 'B', - }, - { - source: 'F', - target: 'B', - }, - { - source: 'F', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'E', - target: 'D', - }, - { - source: 'E', - target: 'B', - }, - { - source: 'K', - target: 'E', - }, - { - source: 'J', - target: 'E', - }, - { - source: 'I', - target: 'E', - }, - { - source: 'H', - target: 'E', - }, - { - source: 'G', - target: 'E', - }, - { - source: 'G', - target: 'B', - }, - { - source: 'H', - target: 'B', - }, - { - source: 'I', - target: 'B', - }, - ], -}; - -describe('(Async) Calculate pagerank of graph nodes', () => { - - it('calculate pagerank', async () => { - const { pageRankAsync } = await getAlgorithm(); - const result = await pageRankAsync(data); - let maxNodeId; - let maxVal = 0; - for (let nodeId in result) { - const val = result[nodeId]; - if (val >= maxVal) { - maxNodeId = nodeId; - maxVal = val - } - } - expect(maxNodeId).toBe('B') - }); -}); diff --git a/packages/graph/tests/unit/pagerank-spec.ts b/packages/graph/tests/unit/pagerank-spec.ts deleted file mode 100644 index 8d2dc92..0000000 --- a/packages/graph/tests/unit/pagerank-spec.ts +++ /dev/null @@ -1,137 +0,0 @@ -import { pageRank } from '../../src'; - -const data = { - nodes: [ - { - id: 'A', - label: 'A', - }, - { - id: 'B', - label: 'B', - }, - { - id: 'C', - label: 'C', - }, - { - id: 'D', - label: 'D', - }, - { - id: 'E', - label: 'E', - }, - { - id: 'F', - label: 'F', - }, - { - id: 'G', - label: 'G', - }, - { - id: 'H', - label: 'H', - }, - { - id: 'I', - label: 'I', - }, - { - id: 'J', - label: 'J', - }, - { - id: 'K', - label: 'K', - } - ], - edges: [ - { - source: 'D', - target: 'A', - }, - { - source: 'D', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'C', - target: 'B', - }, - { - source: 'F', - target: 'B', - }, - { - source: 'F', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'E', - target: 'D', - }, - { - source: 'E', - target: 'B', - }, - { - source: 'K', - target: 'E', - }, - { - source: 'J', - target: 'E', - }, - { - source: 'I', - target: 'E', - }, - { - source: 'H', - target: 'E', - }, - { - source: 'G', - target: 'E', - }, - { - source: 'G', - target: 'B', - }, - { - source: 'H', - target: 'B', - }, - { - source: 'I', - target: 'B', - }, - ], -}; - -describe('Calculate pagerank of graph nodes', () => { - - it('calculate pagerank', () => { - const result = pageRank(data); - let maxNodeId; - let maxVal = 0; - for (let nodeId in result) { - const val = result[nodeId]; - if (val >= maxVal) { - maxNodeId = nodeId; - maxVal = val - } - } - expect(maxNodeId).toBe('B') - }); -}); diff --git a/packages/graph/tests/unit/queue-spec.ts b/packages/graph/tests/unit/queue-spec.ts deleted file mode 100644 index d998481..0000000 --- a/packages/graph/tests/unit/queue-spec.ts +++ /dev/null @@ -1,65 +0,0 @@ -import Queue from '../../src/structs/queue'; - -describe('Queue', () => { - it('should create empty queue', () => { - const queue = new Queue(); - expect(queue).not.toBeNull(); - expect(queue.linkedList).not.toBeNull(); - }); - - it('should enqueue data to queue', () => { - const queue = new Queue(); - - queue.enqueue(1); - queue.enqueue(2); - - expect(queue.toString()).toBe('1,2'); - }); - - it('should be possible to enqueue/dequeue objects', () => { - const queue = new Queue(); - - queue.enqueue({ value: 'test1', key: 'key1' }); - queue.enqueue({ value: 'test2', key: 'key2' }); - - const stringifier = (value) => `${value.key}:${value.value}`; - - expect(queue.toString(stringifier)).toBe('key1:test1,key2:test2'); - expect(queue.dequeue().value).toBe('test1'); - expect(queue.dequeue().value).toBe('test2'); - }); - - it('should peek data from queue', () => { - const queue = new Queue(); - - expect(queue.peek()).toBeNull(); - - queue.enqueue(1); - queue.enqueue(2); - - expect(queue.peek()).toBe(1); - expect(queue.peek()).toBe(1); - }); - - it('should check if queue is empty', () => { - const queue = new Queue(); - - expect(queue.isEmpty()).toBe(true); - - queue.enqueue(1); - - expect(queue.isEmpty()).toBe(false); - }); - - it('should dequeue from queue in FIFO order', () => { - const queue = new Queue(); - - queue.enqueue(1); - queue.enqueue(2); - - expect(queue.dequeue()).toBe(1); - expect(queue.dequeue()).toBe(2); - expect(queue.dequeue()).toBeNull(); - expect(queue.isEmpty()).toBe(true); - }); -}); diff --git a/packages/graph/tests/unit/stack-spec.ts b/packages/graph/tests/unit/stack-spec.ts deleted file mode 100644 index c2cc948..0000000 --- a/packages/graph/tests/unit/stack-spec.ts +++ /dev/null @@ -1,85 +0,0 @@ -import Stack from '../../src/structs/stack'; - -describe('stack unit test', () => { - it('init stack', () => { - const stack = new Stack(); - for (let i = 0; i < 4; i++) { - stack.push({ - nodes: [ - { - id: `node${i}`, - }, - ], - }); - } - - const result = stack.pop(); - // console.log(stack.toArray()); - expect(result).toEqual({ - nodes: [ - { - id: 'node3', - }, - ], - }); - - expect(stack.peek()).toEqual({ - nodes: [ - { - id: 'node2', - }, - ], - }); - - expect(stack.isMaxStack()).toBe(false); - expect(stack.isEmpty()).toBe(false); - - stack.push({ - nodes: [ - { - id: 'node5', - }, - ], - }); - stack.push({ - nodes: [ - { - id: 'node6', - }, - ], - }); - - expect(stack.isMaxStack()).toBe(false); - stack.clear() - expect(stack.length).toBe(0) - }); - - it('init stack with maxStep', () => { - const stack = new Stack(3); - for (let i = 0; i < 5; i++) { - stack.push({ - nodes: [ - { - id: `node${i}`, - }, - ], - }); - } - expect(stack.length).toBe(3); - - expect(stack.toArray()).toEqual([ - { - nodes: [{ id: 'node4'}] - }, - { - nodes: [{ id: 'node3'}] - }, - { - nodes: [{ id: 'node2'}] - } - ]) - - stack.clear() - expect(stack.length).toBe(0) - }); -}); diff --git a/packages/graph/tests/unit/util-spec.ts b/packages/graph/tests/unit/util-spec.ts deleted file mode 100644 index bb2ec3f..0000000 --- a/packages/graph/tests/unit/util-spec.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { getNeighbors, getEdgesByNodeId, getOutEdgesNodeId } from '../../src/util' - -const data = { - nodes: [ - { - id: 'A', - }, - { - id: 'B', - }, - { - id: 'C', - }, - { - id: 'D', - }, - { - id: 'E', - }, - { - id: 'F', - }, - { - id: 'G', - }, - { - id: 'H', - }, - ], - edges: [ - { - source: 'A', - target: 'B', - }, - { - source: 'B', - target: 'C', - }, - { - source: 'A', - target: 'C', - }, - { - source: 'D', - target: 'A', - }, - { - source: 'D', - target: 'E', - }, - { - source: 'E', - target: 'F', - }, - { - source: 'F', - target: 'D', - }, - { - source: 'G', - target: 'H', - }, - { - source: 'H', - target: 'G', - }, - ], -}; - -describe('algorithm util method', () => { - it('getNeighbors', () => { - - let result = getNeighbors('A', data.edges); - expect(result).toEqual(['B', 'C', 'D']); - - result = getNeighbors('A', data.edges, 'source') - expect(result).toEqual(['D']) - - result = getNeighbors('A', data.edges, 'target') - expect(result).toEqual(['B', 'C']) - }); - - it('getEdgesByNodeId', () => { - const aEdges = [ - { - source: 'A', - target: 'B', - }, - { - source: 'A', - target: 'C', - }, - { - source: 'D', - target: 'A', - }, - ] - let result = getEdgesByNodeId('A', data.edges); - expect(result).toEqual(aEdges); - }); - - it('getOutEdgesNodeId', () => { - const aEdges = [ - { - source: 'A', - target: 'B', - }, - { - source: 'A', - target: 'C', - } - ] - let result = getOutEdgesNodeId('A', data.edges); - expect(result).toEqual(aEdges); - }); -}); diff --git a/packages/graph/tests/unit/utils.ts b/packages/graph/tests/unit/utils.ts deleted file mode 100644 index eed2d5a..0000000 --- a/packages/graph/tests/unit/utils.ts +++ /dev/null @@ -1,20 +0,0 @@ -import algorithm from '../../src/'; - -type IAlgorithm = typeof algorithm; -declare const window: Window & { - Algorithm: IAlgorithm; -}; - -export const getAlgorithm = () => - new Promise(resolve => { - if (window.Algorithm) { - resolve(window.Algorithm); - } - const script = document.createElement('script'); - script.type = 'text/javascript'; - script.src = `${process.cwd()}/dist/index.min.js`; - script.onload = function() { - resolve(window.Algorithm); - }; - document.body.append(script); - }); \ No newline at end of file diff --git a/packages/graph/webpack.config.js b/packages/graph/webpack.config.js index 4858a47..baaa168 100644 --- a/packages/graph/webpack.config.js +++ b/packages/graph/webpack.config.js @@ -1,22 +1,15 @@ -const webpack = require('webpack'); const resolve = require('path').resolve; module.exports = { - entry: { - index: './src/index.ts', - async: './src/asyncIndex.ts' - }, + entry: './src/index.ts', output: { - filename: '[name].min.js', - library: 'Algorithm', + filename: 'index.min.js', + library: 'GraphAlgorithm', libraryTarget: 'umd', - libraryExport: 'default', - path: resolve(process.cwd(), 'dist/'), + path: resolve(process.cwd(), 'dist'), globalObject: 'this', - publicPath: './dist', - }, - watchOptions: { - ignored: /node_modules/ + publicPath: '', + clean: true, }, resolve: { extensions: ['.ts', '.js'], @@ -24,50 +17,11 @@ module.exports = { module: { rules: [ { - test: /\.worker\.ts$/, - exclude: /(node_modules)/, - use: [ - { - loader: 'worker-loader', - options: { - inline: 'fallback', - filename: 'index.worker.js', - }, - }, - ], - }, - { - test: /\.js$/, - include: /node_modules/, - use: { - loader: 'babel-loader', - options: { - presets: [ - [ - '@babel/preset-env', - { - loose: true, - modules: false, - }, - ], - { - plugins: ['@babel/plugin-proposal-class-properties'], - }, - ], - }, - }, - }, - { - test: /\.ts$/, - use: { - loader: 'ts-loader', - options: { - transpileOnly: true, - }, - }, + test: /\.tsx?$/, + use: "ts-loader", + exclude: /node_modules/, }, ], }, - plugins: [new webpack.NoEmitOnErrorsPlugin(), new webpack.optimize.AggressiveMergingPlugin()], devtool: 'source-map', }; diff --git a/site/benchmark/index.html b/site/benchmark/index.html index d0a428a..30b377d 100644 --- a/site/benchmark/index.html +++ b/site/benchmark/index.html @@ -165,8 +165,8 @@

-
-
@antv/algorithm
+
+
@antv/graph
diff --git a/site/benchmark/main.ts b/site/benchmark/main.ts index e08981e..3a944fd 100644 --- a/site/benchmark/main.ts +++ b/site/benchmark/main.ts @@ -3,9 +3,12 @@ import { loadDatasets } from "../datasets"; import { TestName } from "../types"; import { graphology as graphologyPageRank, + antv as antvPageRank, webgpu as webgpuPageRank, + wasm as wasmPageRank } from "./page-rank"; import { graphology as graphologySSSP, webgpu as webgpuSSSP } from "./sssp"; +import { initThreads } from "../../packages/graph-wasm"; const TestsConfig = [ { @@ -31,6 +34,13 @@ const $results = TestsConfig.map(({ name }) => { return [$div.querySelector(".console")!, $div.querySelector(".time")!]; }); +const initThreadsPool = async () => { + const singleThread = await initThreads(false); + const multiThreads = await initThreads(true); + + return [singleThread, multiThreads]; +}; + (async () => { $run.innerHTML = "Loading..."; $run.disabled = true; @@ -44,7 +54,10 @@ const $results = TestsConfig.map(({ name }) => { // initialize WebGPU context const graph = new WebGPUGraph(); - $run.innerHTML = "Run layouts"; + console.time("Init WASM threads"); + const [forceSingleThread, forceMultiThreads] = await initThreadsPool(); + console.timeEnd("Init WASM threads"); + $run.innerHTML = 'Run layouts'; $run.disabled = false; const layoutConfig: any = [ @@ -52,27 +65,27 @@ const $results = TestsConfig.map(({ name }) => { name: TestName.GRAPHOLOGY, methods: { pageRank: graphologyPageRank, - sssp: graphologySSSP, + // sssp: graphologySSSP, }, }, { name: TestName.ANTV_ALGORITHM, methods: { - // pageRank: graphologyForceatlas2, + pageRank: antvPageRank, // sssp: graphologyFruchterman, }, }, { name: TestName.ANTV_GRAPH_GPU, methods: { - pageRank: webgpuPageRank, - sssp: webgpuSSSP, + // pageRank: webgpuPageRank, + // sssp: webgpuSSSP, }, }, { name: TestName.ANTV_GRAPH_WASM, methods: { - // pageRank: wasmPageRank, + pageRank: wasmPageRank, // sssp: webgpuSSSP, }, }, @@ -81,7 +94,7 @@ const $results = TestsConfig.map(({ name }) => { $run.onclick = async () => { const dataset = datasets[$dataset.value]; const algorithmName = $algorithm.value; - let options = null; + let options = {}; // if (algorithmName === "sssp") { // const graph = dataset[TestName.ANTV_WEBGPU_GRAPH]; // options = graph.getAllNodes()[1].id; @@ -94,7 +107,8 @@ const $results = TestsConfig.map(({ name }) => { const result = await methods[algorithmName]( dataset[name], options, - graph + graph, + forceMultiThreads ); $results[i][1].innerHTML = `${(performance.now() - start).toFixed( 2 diff --git a/site/benchmark/page-rank.ts b/site/benchmark/page-rank.ts index a47433c..fc9ff37 100644 --- a/site/benchmark/page-rank.ts +++ b/site/benchmark/page-rank.ts @@ -1,8 +1,13 @@ -import { Graph } from "@antv/graphlib"; +import { Graph, ID } from "@antv/graphlib"; import pagerank from "graphology-metrics/centrality/pagerank"; +import { pageRank } from "../../packages/graph"; import { WebGPUGraph } from "../../packages/graph-gpu"; import { Threads } from "../../packages/graph-wasm"; +function format(records: { id: ID; score: number}[]) { + return records.map(({ id, score }) => ({ id, score: score.toFixed(6) })); +} + interface Options { alpha: number; maxIterations: number; @@ -27,7 +32,23 @@ export async function graphology(graph: any, options: Partial) { score: result[key], })); - return r.sort((a, b) => b.score - a.score).slice(0, 10); // {id: 'Valjean', score: 0.1} + return format(r.sort((a, b) => b.score - a.score).slice(0, 10)); // {id: 'Valjean', score: 0.1} +} + +export async function antv( + graph: Graph, + options: Partial,) { + const result = pageRank(graph, { + ...DEFAULT_OPTIONS, + ...options, + }); + + const r = Object.keys(result).map((key) => ({ + id: key, + score: result[key], + })); + + return format(r.sort((a, b) => b.score - a.score).slice(0, 10)); // {id: 'Valjean', score: 0.1} } export async function webgpu( @@ -35,16 +56,39 @@ export async function webgpu( options: Partial, webgpuGraph: WebGPUGraph ) { - const { alpha, tolerance, maxIterations } = { - ...DEFAULT_OPTIONS, - ...options, - }; const result = await webgpuGraph.pageRank( graph, - tolerance, - alpha, - maxIterations + { + ...DEFAULT_OPTIONS, + ...options, + } ); - return result.slice(0, 10); // {id: 'Valjean', score: 0.1} + return format(result.slice(0, 10)); // {id: 'Valjean', score: 0.1} } + +export async function wasm( + graph: Graph, + options: Partial, + _: any, + threads: Threads +): Promise { + const edgelist: [number, number][] = []; + const nodeIdxMap: Record = {}; + const idxNodeMap: Record = {}; + const edges = graph.getAllEdges(); + graph.getAllNodes().forEach((node, i) => { + nodeIdxMap[node.id] = i; + idxNodeMap[i] = node.id; + }); + // convert graph to edgelist + edges.forEach((edge) => { + edgelist.push([nodeIdxMap[edge.source], nodeIdxMap[edge.target]]); + }); + const ranks = await threads.pageRank({ + ...options, + edgelist + }); + const formatted = ranks.map((rank, i) => ({ id: idxNodeMap[i], score: rank })); + return format(formatted.sort((a, b) => b.score - a.score).slice(0, 10)); // {id: 'Valjean', score: 0.1} +} \ No newline at end of file diff --git a/site/datasets.ts b/site/datasets.ts index 8a3573a..0203d3a 100644 --- a/site/datasets.ts +++ b/site/datasets.ts @@ -85,7 +85,7 @@ export const loadDatasets = async () => { return { desc, [TestName.GRAPHOLOGY]: graphlibModel, - [TestName.ANTV_ALGORITHM]: oldG6GraphFormat, + [TestName.ANTV_ALGORITHM]: antvGraphModel, [TestName.ANTV_GRAPH_GPU]: antvGraphModel, [TestName.ANTV_GRAPH_WASM]: antvGraphModel, }; diff --git a/site/index.html b/site/index.html index 2258375..d4c1a8d 100644 --- a/site/index.html +++ b/site/index.html @@ -8,7 +8,7 @@ Here are some examples using - @antv/algorithm. + @antv/graph.
  • Benchmarks between CPU, WASM and GPU diff --git a/site/types.ts b/site/types.ts index 761db8f..d63bbb6 100644 --- a/site/types.ts +++ b/site/types.ts @@ -1,6 +1,6 @@ export enum TestName { GRAPHOLOGY = "graphology", - ANTV_ALGORITHM = "@antv/algorithm", + ANTV_ALGORITHM = "@antv/graph", ANTV_GRAPH_GPU = "@antv/graph-gpu", ANTV_GRAPH_WASM = "@antv/graph-wasm", } diff --git a/vite.config.js b/vite.config.js index 3a81ae7..9ca6531 100644 --- a/vite.config.js +++ b/vite.config.js @@ -16,4 +16,18 @@ export default defineConfig({ }, }, }, + plugins: [ + { + name: "isolation", + configureServer(server) { + // The multithreads version of @antv/layout-wasm needs to use SharedArrayBuffer, which should be used in a secure context. + // @see https://gist.github.com/mizchi/afcc5cf233c9e6943720fde4b4579a2b + server.middlewares.use((_req, res, next) => { + res.setHeader("Cross-Origin-Opener-Policy", "same-origin"); + res.setHeader("Cross-Origin-Embedder-Policy", "require-corp"); + next(); + }); + }, + }, + ], }); From 5a14aff8dbf30d16bd5c33b8b79434bd8a9616ba Mon Sep 17 00:00:00 2001 From: "yuqi.pyq" Date: Tue, 11 Jul 2023 11:51:21 +0800 Subject: [PATCH 4/6] chore: commit pnpm lockfile --- .gitignore | 1 - pnpm-lock.yaml | 7616 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 7616 insertions(+), 1 deletion(-) create mode 100644 pnpm-lock.yaml diff --git a/.gitignore b/.gitignore index 759f228..bdd640c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,6 @@ es dist *.pem !mock-cert.pem -pnpm-lock.yaml tsconfig.tsbuildinfo target Cargo.lock diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..3935168 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,7616 @@ +lockfileVersion: '6.0' + +importers: + + .: + devDependencies: + '@antv/graphlib': + specifier: ^2.0.0 + version: 2.0.0 + '@changesets/cli': + specifier: ^2.26.1 + version: 2.26.1 + '@types/jest': + specifier: latest + version: 29.5.2 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + eslint: + specifier: ^7.32.0 + version: 7.32.0 + eslint-config-airbnb-base: + specifier: ^14.2.1 + version: 14.2.1(eslint-plugin-import@2.27.5)(eslint@7.32.0) + eslint-config-prettier: + specifier: ^6.15.0 + version: 6.15.0(eslint@7.32.0) + eslint-plugin-import: + specifier: ^2.27.5 + version: 2.27.5(eslint@7.32.0) + gh-pages: + specifier: ^5.0.0 + version: 5.0.0 + graphology: + specifier: ^0.25.1 + version: 0.25.1(graphology-types@0.24.7) + graphology-generators: + specifier: ^0.11.2 + version: 0.11.2(graphology-types@0.24.7) + graphology-metrics: + specifier: ^2.1.0 + version: 2.1.0(graphology-types@0.24.7) + graphology-shortest-path: + specifier: ^2.0.2 + version: 2.0.2(graphology-types@0.24.7) + graphology-types: + specifier: ^0.24.7 + version: 0.24.7 + husky: + specifier: ^7.0.4 + version: 7.0.4 + jest: + specifier: ^29.5.0 + version: 29.5.0 + jest-environment-jsdom: + specifier: 29.5.0 + version: 29.5.0 + lint-staged: + specifier: ^10.5.4 + version: 10.5.4 + npm-run-all: + specifier: ^4.1.5 + version: 4.1.5 + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + ts-jest: + specifier: ^29.1.0 + version: 29.1.0(@babel/core@7.22.1)(jest@29.5.0)(typescript@4.9.5) + ts-loader: + specifier: ^8.4.0 + version: 8.4.0(typescript@4.9.5)(webpack@5.38.1) + tslint: + specifier: ^6.1.3 + version: 6.1.3(typescript@4.9.5) + tslint-config-airbnb: + specifier: ^5.11.2 + version: 5.11.2(tslint@6.1.3)(typescript@4.9.5) + tslint-config-prettier: + specifier: ^1.18.0 + version: 1.18.0 + tslint-eslint-rules: + specifier: ^5.4.0 + version: 5.4.0(tslint@6.1.3)(typescript@4.9.5) + typescript: + specifier: ^4.9.5 + version: 4.9.5 + vite: + specifier: ^4.3.8 + version: 4.3.8 + webpack: + specifier: ^5.38.1 + version: 5.38.1(webpack-cli@5.0.2) + webpack-cli: + specifier: ^5.0.2 + version: 5.0.2(webpack@5.38.1) + + packages/graph: + dependencies: + '@antv/graphlib': + specifier: ^2.0.0 + version: 2.0.0 + '@antv/util': + specifier: ^2.0.13 + version: 2.0.13 + tslib: + specifier: ^2.5.2 + version: 2.5.2 + devDependencies: + '@babel/core': + specifier: ^7.7.7 + version: 7.12.10 + '@babel/plugin-proposal-class-properties': + specifier: ^7.1.0 + version: 7.12.1(@babel/core@7.12.10) + '@types/d3-force': + specifier: ^3.0.4 + version: 3.0.4 + babel-loader: + specifier: ^8.0.6 + version: 8.2.2(@babel/core@7.12.10)(webpack@5.38.1) + + packages/graph-gpu: + dependencies: + '@antv/g': + specifier: ^5.16.26 + version: 5.16.26 + '@antv/g-plugin-gpgpu': + specifier: ^1.7.49 + version: 1.7.49(@antv/g-lite@1.0.63)(@antv/g-webgpu@1.7.67) + '@antv/g-webgpu': + specifier: ^1.7.67 + version: 1.7.67(@antv/g-lite@1.0.63) + '@antv/graphlib': + specifier: ^2.0.0 + version: 2.0.0 + '@types/offscreencanvas': + specifier: ^2019.6.4 + version: 2019.6.4 + '@webgpu/types': + specifier: ^0.1.6 + version: 0.1.6 + tslib: + specifier: ^2.5.2 + version: 2.5.2 + devDependencies: + '@babel/core': + specifier: ^7.12.10 + version: 7.12.10 + '@babel/plugin-proposal-class-properties': + specifier: ^7.12.1 + version: 7.12.1(@babel/core@7.12.10) + '@babel/preset-env': + specifier: ^7.12.7 + version: 7.12.7(@babel/core@7.12.10) + '@babel/preset-typescript': + specifier: ^7.12.7 + version: 7.12.7(@babel/core@7.12.10) + babel-loader: + specifier: ^8.2.2 + version: 8.2.2(@babel/core@7.12.10)(webpack@5.38.1) + + packages/graph-wasm: + dependencies: + '@antv/util': + specifier: ^3.3.2 + version: 3.3.2 + comlink: + specifier: ^4.3.1 + version: 4.3.1 + tslib: + specifier: ^2.5.0 + version: 2.5.2 + wasm-feature-detect: + specifier: ^1.2.10 + version: 1.2.10 + +packages: + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + dev: true + + /@antv/event-emitter@0.1.3: + resolution: {integrity: sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==} + + /@antv/g-camera-api@1.0.40(@antv/g-lite@1.0.63): + resolution: {integrity: sha512-GhhNdrPlT+Pw9RtBqMsBEQxrXhbR8nbva4WxJ381/o4gTdSzF+DBEt4uND3u5mv910HeC2iNbq+8itQhMFvlTw==} + peerDependencies: + '@antv/g-lite': ^1.0.0 + dependencies: + '@antv/g-lite': 1.0.63 + '@antv/util': 3.3.2 + gl-matrix: 3.4.3 + dev: false + + /@antv/g-css-layout-api@1.0.38(@antv/g-lite@1.0.63): + resolution: {integrity: sha512-2KFNXOXVN20hVVFSyDiShLdFF1Bnc2whPDNQpfUgWlwlBTeUDx3Bd1tnNEuPg6MDQkV4luPE/1rEe8o6fOE3zg==} + peerDependencies: + '@antv/g-lite': ^1.0.0 + dependencies: + '@antv/g-lite': 1.0.63 + dev: false + + /@antv/g-css-typed-om-api@1.0.38(@antv/g-lite@1.0.63): + resolution: {integrity: sha512-eDLGxlzMyoJGdbORHeajC23JNXV3TjVInegFZdiZdYmS4jNBQzK/8Y7HKdlelfGTJZs4m19i5diHCSyQebNJoQ==} + peerDependencies: + '@antv/g-lite': ^1.0.0 + dependencies: + '@antv/g-lite': 1.0.63 + dev: false + + /@antv/g-dom-mutation-observer-api@1.0.38(@antv/g-lite@1.0.63): + resolution: {integrity: sha512-RIuXxTh5cFZz6OWc0D3n0ExlCEqBO/s5EQmLRB7QQTCBjrhBTqvJT7AV8Bp6reeBkCLyZ8eBjwIjc2LX9iWFnw==} + peerDependencies: + '@antv/g-lite': ^1.0.0 + dependencies: + '@antv/g-lite': 1.0.63 + dev: false + + /@antv/g-lite@1.0.63: + resolution: {integrity: sha512-wRWUmNR8JlSYBMPdYRfhNEvYMXcFapdUoNZiPNEs3HuGUHqtBepO8OUO+ECuW65baiW7Eyki1Dr1hyAx0ndBXw==} + dependencies: + '@antv/g-math': 1.7.49 + '@antv/util': 3.3.2 + '@types/offscreencanvas': 2019.6.4 + d3-color: 1.4.1 + eventemitter3: 4.0.7 + gl-matrix: 3.4.3 + rbush: 3.0.1 + tslib: 2.5.2 + dev: false + + /@antv/g-math@1.7.49: + resolution: {integrity: sha512-6eVtmtkmPAjqQrg1TZ6MICtHmBUv2jCDbgRpHl3VmX48KPPOaBlbkZlhh0ZEAEMN1ex075W8kYr/+xDHnhCvKg==} + dependencies: + gl-matrix: 3.4.3 + tslib: 2.5.2 + dev: false + + /@antv/g-plugin-device-renderer@1.7.64(@antv/g-lite@1.0.63): + resolution: {integrity: sha512-pRxkzZFtrOAuF2TAxYDZ/s+zOpMKMokhEh2fb1AhKXHdw85lSmDsI5oTpZ71cvESya3crIrJ9kYMfM7nRjl6hA==} + peerDependencies: + '@antv/g-lite': ^1.0.0 + dependencies: + '@antv/g-lite': 1.0.63 + '@antv/g-plugin-image-loader': 1.1.52(@antv/g-lite@1.0.63) + '@antv/g-shader-components': 1.7.50 + '@antv/util': 3.3.2 + '@types/offscreencanvas': 2019.6.4 + '@webgpu/types': 0.1.6 + earcut: 2.2.4 + eventemitter3: 4.0.7 + gl-matrix: 3.4.3 + regenerator-runtime: 0.13.11 + tslib: 2.5.2 + dev: false + + /@antv/g-plugin-dom-interaction@1.7.50(@antv/g-lite@1.0.63): + resolution: {integrity: sha512-mWJtPksEapLqoeOLGhHlmn1tYK0/wYL7H4+hMDRkqAD3Qzd9QwtTHDyXWIgnfVTcvs4FiYJTzeGZZ5Va11M50A==} + peerDependencies: + '@antv/g-lite': ^1.0.0 + dependencies: + '@antv/g-lite': 1.0.63 + tslib: 2.5.2 + dev: false + + /@antv/g-plugin-gpgpu@1.7.49(@antv/g-lite@1.0.63)(@antv/g-webgpu@1.7.67): + resolution: {integrity: sha512-FNftmEHWaBlAb5aFwzj9jChn8iZMgOIuHV8BbZPKOYuLAXvx3m4iWIc8O6Sf60XalUFLsad7nLBJKwVNHByQOQ==} + peerDependencies: + '@antv/g-lite': ^1.0.0 + '@antv/g-webgpu': ^1.0.1 + dependencies: + '@antv/g-lite': 1.0.63 + '@antv/g-webgpu': 1.7.67(@antv/g-lite@1.0.63) + tslib: 2.5.2 + dev: false + + /@antv/g-plugin-html-renderer@1.7.54(@antv/g-lite@1.0.63): + resolution: {integrity: sha512-KOOhZoHjYdLCHYQjbz787VtYS1Dr2xR1yPezKP+S9dhfiLbKyXkg0sVKy/HLCZITNzkFIOLdkNZV0P/P9T0VYw==} + peerDependencies: + '@antv/g-lite': ^1.0.0 + dependencies: + '@antv/g-lite': 1.0.63 + '@antv/util': 3.3.2 + gl-matrix: 3.4.3 + tslib: 2.5.2 + dev: false + + /@antv/g-plugin-image-loader@1.1.52(@antv/g-lite@1.0.63): + resolution: {integrity: sha512-ORQQtGgWxLdbQepVtXkfpvGKC5vfoWxH0NOY5oFVh/qOtgBJHdb4/qMWmVkm7xLw2ayAE3KeFfGZQim9ESQRZw==} + peerDependencies: + '@antv/g-lite': ^1.0.0 + dependencies: + '@antv/g-lite': 1.0.63 + '@antv/util': 3.3.2 + tslib: 2.5.2 + dev: false + + /@antv/g-plugin-webgpu-device@1.7.50(@antv/g-lite@1.0.63)(@antv/g-plugin-device-renderer@1.7.64): + resolution: {integrity: sha512-zNE3BJ61MSBXQ6trrhdYgWO7xR2Ajkdr5QA1kOFfeXmmW8ngt9FgFTfmQuizApCl6yHLLFuMrF5nqbPf6+jeDg==} + peerDependencies: + '@antv/g-lite': ^1.0.0 + '@antv/g-plugin-device-renderer': ^1.0.0 + dependencies: + '@antv/g-lite': 1.0.63 + '@antv/g-plugin-device-renderer': 1.7.64(@antv/g-lite@1.0.63) + '@antv/util': 3.3.2 + '@webgpu/types': 0.1.6 + eventemitter3: 4.0.7 + tslib: 2.5.2 + dev: false + + /@antv/g-shader-components@1.7.50: + resolution: {integrity: sha512-uFom3V7ZhMY7TOCjOGWSmJ9+XGSyB8J9Rhy/y0p5SJ6BEh8F9SS7m6QBgEcWvRdw+BmQinMvZ5xE/O9StnYIPQ==} + dev: false + + /@antv/g-web-animations-api@1.0.39(@antv/g-lite@1.0.63): + resolution: {integrity: sha512-0QXVzjk8kKrVokxHLLphkJsMPvbhLgcQN8/eVUdPaj+A0Yf6Cpg/hquYaGBBuqzwoMVB0ROUsIvwXgRtoXQONA==} + peerDependencies: + '@antv/g-lite': ^1.0.0 + dependencies: + '@antv/g-lite': 1.0.63 + '@antv/util': 3.3.2 + dev: false + + /@antv/g-webgpu@1.7.67(@antv/g-lite@1.0.63): + resolution: {integrity: sha512-C/HDibzeMxAIHp0P1xFMATid/ofVavHPXehfOOVYNLw/YWnlSzyTcKqjJCHCGuktEzP2X7GY9DEB8r8Sum3p3Q==} + peerDependencies: + '@antv/g-lite': ^1.0.0 + dependencies: + '@antv/g-lite': 1.0.63 + '@antv/g-plugin-device-renderer': 1.7.64(@antv/g-lite@1.0.63) + '@antv/g-plugin-dom-interaction': 1.7.50(@antv/g-lite@1.0.63) + '@antv/g-plugin-html-renderer': 1.7.54(@antv/g-lite@1.0.63) + '@antv/g-plugin-image-loader': 1.1.52(@antv/g-lite@1.0.63) + '@antv/g-plugin-webgpu-device': 1.7.50(@antv/g-lite@1.0.63)(@antv/g-plugin-device-renderer@1.7.64) + '@antv/util': 3.3.2 + '@webgpu/types': 0.1.6 + dev: false + + /@antv/g@5.16.26: + resolution: {integrity: sha512-L4quxJGpuexOdPx0ZBkpR8v5f6KvmIY8YWg0H1A7tq3BDfzurSGtQ9Wf1zEL4TUmi/T1ie3FIq0aVOS+ve47CA==} + dependencies: + '@antv/g-camera-api': 1.0.40(@antv/g-lite@1.0.63) + '@antv/g-css-layout-api': 1.0.38(@antv/g-lite@1.0.63) + '@antv/g-css-typed-om-api': 1.0.38(@antv/g-lite@1.0.63) + '@antv/g-dom-mutation-observer-api': 1.0.38(@antv/g-lite@1.0.63) + '@antv/g-lite': 1.0.63 + '@antv/g-web-animations-api': 1.0.39(@antv/g-lite@1.0.63) + dev: false + + /@antv/graphlib@2.0.0: + resolution: {integrity: sha512-YSJ5umX04UT3OibGPB/AdFQSFLVl8kl0fkxL0Oatlof2BHHsDsT/kMa2j0iteMVRv1qfmkm2Ml586lmoy4lyKQ==} + dependencies: + '@antv/event-emitter': 0.1.3 + + /@antv/util@2.0.13: + resolution: {integrity: sha512-mfYL7K8XJIeDmal33K+6abr8Yb526YXKg5XQlddNo+X1Doll+gun6HxnbdySoLv21vW4bLkcbVPjqxWl7ZJAFA==} + dependencies: + tslib: 2.5.2 + dev: false + + /@antv/util@3.3.2: + resolution: {integrity: sha512-uvyQxEOugdJs/FVlpz/+8pKxn70z8jEVydPqv+LI62cpIF7YDjVnMfNIsoMqwEoTzPUJ9TJalyLqZhT5rYez0w==} + dependencies: + fast-deep-equal: 3.1.3 + gl-matrix: 3.4.3 + tslib: 2.5.2 + dev: false + + /@babel/code-frame@7.12.11: + resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/code-frame@7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/compat-data@7.22.3: + resolution: {integrity: sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.12.10: + resolution: {integrity: sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-module-transforms': 7.22.1 + '@babel/helpers': 7.22.3 + '@babel/parser': 7.22.4 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + lodash: 4.17.21 + semver: 5.7.1 + source-map: 0.5.7 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/core@7.22.1: + resolution: {integrity: sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1) + '@babel/helper-module-transforms': 7.22.1 + '@babel/helpers': 7.22.3 + '@babel/parser': 7.22.4 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator@7.22.3: + resolution: {integrity: sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure@7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.3: + resolution: {integrity: sha512-ahEoxgqNoYXm0k22TvOke48i1PkavGu0qGCmcq9ugi6gnmvKNaMjKBSrZTnWUi1CFEeNAUiVba0Wtzm03aSkJg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-compilation-targets@7.22.1(@babel/core@7.12.10): + resolution: {integrity: sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.12.10 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.7 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: true + + /@babel/helper-compilation-targets@7.22.1(@babel/core@7.22.1): + resolution: {integrity: sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.22.1 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.7 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: true + + /@babel/helper-create-class-features-plugin@7.22.1(@babel/core@7.12.10): + resolution: {integrity: sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-member-expression-to-functions': 7.22.3 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.22.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-split-export-declaration': 7.18.6 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-create-regexp-features-plugin@7.22.1(@babel/core@7.12.10): + resolution: {integrity: sha512-WWjdnfR3LPIe+0EY8td7WmjhytxXtjKAEpnAxun/hkNiyOaPlvGK+NZaBFIdi9ndYV3Gav7BpFvtUwnaJlwi1w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.3.2 + semver: 6.3.0 + dev: true + + /@babel/helper-environment-visitor@7.22.1: + resolution: {integrity: sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name@7.21.0: + resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.21.9 + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-hoist-variables@7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-member-expression-to-functions@7.22.3: + resolution: {integrity: sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-module-imports@7.21.4: + resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-module-transforms@7.22.1: + resolution: {integrity: sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-simple-access': 7.21.5 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-optimise-call-expression@7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-plugin-utils@7.21.5: + resolution: {integrity: sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.12.10): + resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-wrap-function': 7.20.5 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-replace-supers@7.22.1: + resolution: {integrity: sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-member-expression-to-functions': 7.22.3 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-simple-access@7.21.5: + resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers@7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-split-export-declaration@7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-string-parser@7.21.5: + resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option@7.21.0: + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-wrap-function@7.20.5: + resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.21.0 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helpers@7.22.3: + resolution: {integrity: sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight@7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser@7.22.4: + resolution: {integrity: sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.12.10): + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.12.10) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.12.10) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-class-properties@7.12.1(@babel/core@7.12.10): + resolution: {integrity: sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-create-class-features-plugin': 7.22.1(@babel/core@7.12.10) + '@babel/helper-plugin-utils': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.12.10) + dev: true + + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.12.10): + resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.12.10) + dev: true + + /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.12.10) + dev: true + + /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.12.10): + resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.12.10) + dev: true + + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.12.10) + dev: true + + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.12.10) + dev: true + + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.12.10): + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.12.10 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.12.10) + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-transform-parameters': 7.22.3(@babel/core@7.12.10) + dev: true + + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.12.10) + dev: true + + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.12.10): + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.12.10) + dev: true + + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-create-class-features-plugin': 7.22.1(@babel/core@7.12.10) + '@babel/helper-plugin-utils': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-create-regexp-features-plugin': 7.22.1(@babel/core@7.12.10) + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.12.10): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.1): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.12.10): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.1): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.12.10): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.12.10): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.1): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.12.10): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.22.1): + resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.12.10): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.1): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.12.10): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.12.10): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.1): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.10): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.12.10): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.12.10): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.12.10): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.1): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.12.10): + resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.22.1): + resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-arrow-functions@7.21.5(@babel/core@7.12.10): + resolution: {integrity: sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.12.10): + resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.12.10) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.12.10): + resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-classes@7.21.0(@babel/core@7.12.10): + resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.12.10) + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-replace-supers': 7.22.1 + '@babel/helper-split-export-declaration': 7.18.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-computed-properties@7.21.5(@babel/core@7.12.10): + resolution: {integrity: sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/template': 7.21.9 + dev: true + + /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.12.10): + resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-create-regexp-features-plugin': 7.22.1(@babel/core@7.12.10) + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.12.10): + resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.3 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-for-of@7.21.5(@babel/core@7.12.10): + resolution: {integrity: sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.12.10): + resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.12.10) + '@babel/helper-function-name': 7.21.0 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-literals@7.18.9(@babel/core@7.12.10): + resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.12.10): + resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-module-transforms': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-commonjs@7.21.5(@babel/core@7.12.10): + resolution: {integrity: sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-module-transforms': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-simple-access': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-systemjs@7.22.3(@babel/core@7.12.10): + resolution: {integrity: sha512-V21W3bKLxO3ZjcBJZ8biSvo5gQ85uIXW2vJfh7JSWf/4SLUSr1tOoHX3ruN4+Oqa2m+BKfsxTR1I+PsvkIWvNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-validator-identifier': 7.19.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-module-transforms': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.22.3(@babel/core@7.12.10): + resolution: {integrity: sha512-c6HrD/LpUdNNJsISQZpds3TXvfYIAbo+efE9aWmY/PmSRD0agrJ9cPMt4BmArwUQ7ZymEWTFjTyp+yReLJZh0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-create-regexp-features-plugin': 7.22.1(@babel/core@7.12.10) + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-new-target@7.22.3(@babel/core@7.12.10): + resolution: {integrity: sha512-5RuJdSo89wKdkRTqtM9RVVJzHum9c2s0te9rB7vZC1zKKxcioWIy+xcu4OoIAjyFZhb/bp5KkunuLin1q7Ct+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-replace-supers': 7.22.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-parameters@7.22.3(@babel/core@7.12.10): + resolution: {integrity: sha512-x7QHQJHPuD9VmfpzboyGJ5aHEr9r7DsAsdxdhJiTB3J3j8dyl+NFZ+rX5Q2RWFDCs61c06qBfS4ys2QYn8UkMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-regenerator@7.21.5(@babel/core@7.12.10): + resolution: {integrity: sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + regenerator-transform: 0.15.1 + dev: true + + /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-spread@7.20.7(@babel/core@7.12.10): + resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + dev: true + + /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.12.10): + resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.12.10): + resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-typescript@7.22.3(@babel/core@7.12.10): + resolution: {integrity: sha512-pyjnCIniO5PNaEuGxT28h0HbMru3qCVrMqVgVOz/krComdIrY9W6FCLBq9NWHY8HDGaUlan+UhmZElDENIfCcw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.22.1(@babel/core@7.12.10) + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.12.10) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-unicode-escapes@7.21.5(@babel/core@7.12.10): + resolution: {integrity: sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.12.10): + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-create-regexp-features-plugin': 7.22.1(@babel/core@7.12.10) + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/preset-env@7.12.7(@babel/core@7.12.10): + resolution: {integrity: sha512-OnNdfAr1FUQg7ksb7bmbKoby4qFOHw6DKWWUNB9KqnnCldxhxJlP+21dpyaWFmf2h0rTbOkXJtAGevY3XW1eew==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.12.10 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.12.10) + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-validator-option': 7.21.0 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.12.10) + '@babel/plugin-proposal-class-properties': 7.12.1(@babel/core@7.12.10) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.12.10) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.12.10) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.12.10) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.12.10) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.12.10) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.12.10) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.12.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.12.10) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.12.10) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.12.10) + '@babel/plugin-transform-arrow-functions': 7.21.5(@babel/core@7.12.10) + '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.12.10) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.12.10) + '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.12.10) + '@babel/plugin-transform-computed-properties': 7.21.5(@babel/core@7.12.10) + '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.12.10) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.12.10) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-transform-for-of': 7.21.5(@babel/core@7.12.10) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.12.10) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.12.10) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.12.10) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.12.10) + '@babel/plugin-transform-modules-systemjs': 7.22.3(@babel/core@7.12.10) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.3(@babel/core@7.12.10) + '@babel/plugin-transform-new-target': 7.22.3(@babel/core@7.12.10) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-transform-parameters': 7.22.3(@babel/core@7.12.10) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-transform-regenerator': 7.21.5(@babel/core@7.12.10) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.12.10) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.12.10) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.12.10) + '@babel/plugin-transform-unicode-escapes': 7.21.5(@babel/core@7.12.10) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.12.10) + '@babel/preset-modules': 0.1.5(@babel/core@7.12.10) + '@babel/types': 7.22.4 + core-js-compat: 3.30.2 + semver: 5.7.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules@0.1.5(@babel/core@7.12.10): + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.12.10) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.12.10) + '@babel/types': 7.22.4 + esutils: 2.0.3 + dev: true + + /@babel/preset-typescript@7.12.7(@babel/core@7.12.10): + resolution: {integrity: sha512-nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.12.10 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-validator-option': 7.21.0 + '@babel/plugin-transform-typescript': 7.22.3(@babel/core@7.12.10) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true + + /@babel/runtime@7.22.3: + resolution: {integrity: sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: true + + /@babel/template@7.21.9: + resolution: {integrity: sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + dev: true + + /@babel/traverse@7.22.4: + resolution: {integrity: sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.22.4: + resolution: {integrity: sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.21.5 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@changesets/apply-release-plan@6.1.4: + resolution: {integrity: sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==} + dependencies: + '@babel/runtime': 7.22.3 + '@changesets/config': 2.3.1 + '@changesets/get-version-range-type': 0.3.2 + '@changesets/git': 2.0.0 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + detect-indent: 6.1.0 + fs-extra: 7.0.1 + lodash.startcase: 4.4.0 + outdent: 0.5.0 + prettier: 2.8.8 + resolve-from: 5.0.0 + semver: 7.5.4 + dev: true + + /@changesets/assemble-release-plan@5.2.4: + resolution: {integrity: sha512-xJkWX+1/CUaOUWTguXEbCDTyWJFECEhmdtbkjhn5GVBGxdP/JwaHBIU9sW3FR6gD07UwZ7ovpiPclQZs+j+mvg==} + dependencies: + '@babel/runtime': 7.22.3 + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.6 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + semver: 7.5.4 + dev: true + + /@changesets/changelog-git@0.1.14: + resolution: {integrity: sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==} + dependencies: + '@changesets/types': 5.2.1 + dev: true + + /@changesets/cli@2.26.1: + resolution: {integrity: sha512-XnTa+b51vt057fyAudvDKGB0Sh72xutQZNAdXkCqPBKO2zvs2yYZx5hFZj1u9cbtpwM6Sxtcr02/FQJfZOzemQ==} + hasBin: true + dependencies: + '@babel/runtime': 7.22.3 + '@changesets/apply-release-plan': 6.1.4 + '@changesets/assemble-release-plan': 5.2.4 + '@changesets/changelog-git': 0.1.14 + '@changesets/config': 2.3.1 + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.6 + '@changesets/get-release-plan': 3.0.17 + '@changesets/git': 2.0.0 + '@changesets/logger': 0.0.5 + '@changesets/pre': 1.0.14 + '@changesets/read': 0.5.9 + '@changesets/types': 5.2.1 + '@changesets/write': 0.2.3 + '@manypkg/get-packages': 1.1.3 + '@types/is-ci': 3.0.0 + '@types/semver': 6.2.3 + ansi-colors: 4.1.3 + chalk: 2.4.2 + enquirer: 2.3.6 + external-editor: 3.1.0 + fs-extra: 7.0.1 + human-id: 1.0.2 + is-ci: 3.0.1 + meow: 6.1.1 + outdent: 0.5.0 + p-limit: 2.3.0 + preferred-pm: 3.0.3 + resolve-from: 5.0.0 + semver: 5.7.1 + spawndamnit: 2.0.0 + term-size: 2.2.1 + tty-table: 4.2.1 + dev: true + + /@changesets/config@2.3.1: + resolution: {integrity: sha512-PQXaJl82CfIXddUOppj4zWu+987GCw2M+eQcOepxN5s+kvnsZOwjEJO3DH9eVy+OP6Pg/KFEWdsECFEYTtbg6w==} + dependencies: + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.6 + '@changesets/logger': 0.0.5 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + micromatch: 4.0.5 + dev: true + + /@changesets/errors@0.1.4: + resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} + dependencies: + extendable-error: 0.1.7 + dev: true + + /@changesets/get-dependents-graph@1.3.6: + resolution: {integrity: sha512-Q/sLgBANmkvUm09GgRsAvEtY3p1/5OCzgBE5vX3vgb5CvW0j7CEljocx5oPXeQSNph6FXulJlXV3Re/v3K3P3Q==} + dependencies: + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + chalk: 2.4.2 + fs-extra: 7.0.1 + semver: 7.5.4 + dev: true + + /@changesets/get-release-plan@3.0.17: + resolution: {integrity: sha512-6IwKTubNEgoOZwDontYc2x2cWXfr6IKxP3IhKeK+WjyD6y3M4Gl/jdQvBw+m/5zWILSOCAaGLu2ZF6Q+WiPniw==} + dependencies: + '@babel/runtime': 7.22.3 + '@changesets/assemble-release-plan': 5.2.4 + '@changesets/config': 2.3.1 + '@changesets/pre': 1.0.14 + '@changesets/read': 0.5.9 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + dev: true + + /@changesets/get-version-range-type@0.3.2: + resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} + dev: true + + /@changesets/git@2.0.0: + resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==} + dependencies: + '@babel/runtime': 7.22.3 + '@changesets/errors': 0.1.4 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + is-subdir: 1.2.0 + micromatch: 4.0.5 + spawndamnit: 2.0.0 + dev: true + + /@changesets/logger@0.0.5: + resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} + dependencies: + chalk: 2.4.2 + dev: true + + /@changesets/parse@0.3.16: + resolution: {integrity: sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==} + dependencies: + '@changesets/types': 5.2.1 + js-yaml: 3.14.1 + dev: true + + /@changesets/pre@1.0.14: + resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==} + dependencies: + '@babel/runtime': 7.22.3 + '@changesets/errors': 0.1.4 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + dev: true + + /@changesets/read@0.5.9: + resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==} + dependencies: + '@babel/runtime': 7.22.3 + '@changesets/git': 2.0.0 + '@changesets/logger': 0.0.5 + '@changesets/parse': 0.3.16 + '@changesets/types': 5.2.1 + chalk: 2.4.2 + fs-extra: 7.0.1 + p-filter: 2.1.0 + dev: true + + /@changesets/types@4.1.0: + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} + dev: true + + /@changesets/types@5.2.1: + resolution: {integrity: sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==} + dev: true + + /@changesets/write@0.2.3: + resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} + dependencies: + '@babel/runtime': 7.22.3 + '@changesets/types': 5.2.1 + fs-extra: 7.0.1 + human-id: 1.0.2 + prettier: 2.8.8 + dev: true + + /@discoveryjs/json-ext@0.5.7: + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + dev: true + + /@esbuild/android-arm64@0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint/eslintrc@0.4.3: + resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 7.3.1 + globals: 13.20.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + js-yaml: 3.14.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@fimbul/bifrost@0.21.0(tslint@6.1.3)(typescript@4.9.5): + resolution: {integrity: sha512-ou8VU+nTmOW1jeg+FT+sn+an/M0Xb9G16RucrfhjXGWv1Q97kCoM5CG9Qj7GYOSdu7km72k7nY83Eyr53Bkakg==} + peerDependencies: + tslint: ^5.0.0 + typescript: '>= 3.3.0 || >= 3.6.0-dev || >= 3.7.0-dev' + dependencies: + '@fimbul/ymir': 0.21.0(tsutils@3.21.0)(typescript@4.9.5) + get-caller-file: 2.0.5 + tslib: 1.14.1 + tslint: 6.1.3(typescript@4.9.5) + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + dev: true + + /@fimbul/ymir@0.21.0(tsutils@3.21.0)(typescript@4.9.5): + resolution: {integrity: sha512-T/y7WqPsm4n3zhT08EpB5sfdm2Kvw3gurAxr2Lr5dQeLi8ZsMlNT/Jby+ZmuuAAd1PnXYzKp+2SXgIkQIIMCUg==} + peerDependencies: + tsutils: '>=2.29.0' + typescript: '>= 3.3.0 || >= 3.6.0-dev || >= 3.7.0-dev' + dependencies: + inversify: 5.1.1 + reflect-metadata: 0.1.13 + tslib: 1.14.1 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + dev: true + + /@humanwhocodes/config-array@0.5.0: + resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/object-schema@1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + + /@istanbuljs/load-nyc-config@1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/console@29.6.1: + resolution: {integrity: sha512-Aj772AYgwTSr5w8qnyoJ0eDYvN6bMsH3ORH1ivMotrInHLKdUz6BDlaEXHdM6kODaBIkNIyQGzsMvRdOv7VG7Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.1 + '@types/node': 20.2.5 + chalk: 4.1.2 + jest-message-util: 29.6.1 + jest-util: 29.6.1 + slash: 3.0.0 + dev: true + + /@jest/core@29.6.1: + resolution: {integrity: sha512-CcowHypRSm5oYQ1obz1wfvkjZZ2qoQlrKKvlfPwh5jUXVU12TWr2qMeH8chLMuTFzHh5a1g2yaqlqDICbr+ukQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 29.6.1 + '@jest/reporters': 29.6.1 + '@jest/test-result': 29.6.1 + '@jest/transform': 29.6.1 + '@jest/types': 29.6.1 + '@types/node': 20.2.5 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.8.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.5.0 + jest-config: 29.6.1(@types/node@20.2.5) + jest-haste-map: 29.6.1 + jest-message-util: 29.6.1 + jest-regex-util: 29.4.3 + jest-resolve: 29.6.1 + jest-resolve-dependencies: 29.6.1 + jest-runner: 29.6.1 + jest-runtime: 29.6.1 + jest-snapshot: 29.6.1 + jest-util: 29.6.1 + jest-validate: 29.6.1 + jest-watcher: 29.6.1 + micromatch: 4.0.5 + pretty-format: 29.6.1 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + + /@jest/environment@29.6.1: + resolution: {integrity: sha512-RMMXx4ws+Gbvw3DfLSuo2cfQlK7IwGbpuEWXCqyYDcqYTI+9Ju3a5hDnXaxjNsa6uKh9PQF2v+qg+RLe63tz5A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/fake-timers': 29.6.1 + '@jest/types': 29.6.1 + '@types/node': 20.2.5 + jest-mock: 29.6.1 + dev: true + + /@jest/expect-utils@29.6.1: + resolution: {integrity: sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.4.3 + dev: true + + /@jest/expect@29.6.1: + resolution: {integrity: sha512-N5xlPrAYaRNyFgVf2s9Uyyvr795jnB6rObuPx4QFvNJz8aAjpZUDfO4bh5G/xuplMID8PrnuF1+SfSyDxhsgYg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + expect: 29.6.1 + jest-snapshot: 29.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/fake-timers@29.6.1: + resolution: {integrity: sha512-RdgHgbXyosCDMVYmj7lLpUwXA4c69vcNzhrt69dJJdf8azUrpRh3ckFCaTPNjsEeRi27Cig0oKDGxy5j7hOgHg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.1 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 20.2.5 + jest-message-util: 29.6.1 + jest-mock: 29.6.1 + jest-util: 29.6.1 + dev: true + + /@jest/globals@29.6.1: + resolution: {integrity: sha512-2VjpaGy78JY9n9370H8zGRCFbYVWwjY6RdDMhoJHa1sYfwe6XM/azGN0SjY8kk7BOZApIejQ1BFPyH7FPG0w3A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.6.1 + '@jest/expect': 29.6.1 + '@jest/types': 29.6.1 + jest-mock: 29.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/reporters@29.6.1: + resolution: {integrity: sha512-9zuaI9QKr9JnoZtFQlw4GREQbxgmNYXU6QuWtmuODvk5nvPUeBYapVR/VYMyi2WSx3jXTLJTJji8rN6+Cm4+FA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.6.1 + '@jest/test-result': 29.6.1 + '@jest/transform': 29.6.1 + '@jest/types': 29.6.1 + '@jridgewell/trace-mapping': 0.3.18 + '@types/node': 20.2.5 + chalk: 4.1.2 + collect-v8-coverage: 1.0.1 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-instrument: 5.2.1 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.5 + jest-message-util: 29.6.1 + jest-util: 29.6.1 + jest-worker: 29.6.1 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/schemas@29.6.0: + resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jest/source-map@29.6.0: + resolution: {integrity: sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jridgewell/trace-mapping': 0.3.18 + callsites: 3.1.0 + graceful-fs: 4.2.11 + dev: true + + /@jest/test-result@29.6.1: + resolution: {integrity: sha512-Ynr13ZRcpX6INak0TPUukU8GWRfm/vAytE3JbJNGAvINySWYdfE7dGZMbk36oVuK4CigpbhMn8eg1dixZ7ZJOw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.6.1 + '@jest/types': 29.6.1 + '@types/istanbul-lib-coverage': 2.0.4 + collect-v8-coverage: 1.0.1 + dev: true + + /@jest/test-sequencer@29.6.1: + resolution: {integrity: sha512-oBkC36PCDf/wb6dWeQIhaviU0l5u6VCsXa119yqdUosYAt7/FbQU2M2UoziO3igj/HBDEgp57ONQ3fm0v9uyyg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.6.1 + graceful-fs: 4.2.11 + jest-haste-map: 29.6.1 + slash: 3.0.0 + dev: true + + /@jest/transform@29.6.1: + resolution: {integrity: sha512-URnTneIU3ZjRSaf906cvf6Hpox3hIeJXRnz3VDSw5/X93gR8ycdfSIEy19FlVx8NFmpN7fe3Gb1xF+NjXaQLWg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.22.1 + '@jest/types': 29.6.1 + '@jridgewell/trace-mapping': 0.3.18 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.6.1 + jest-regex-util: 29.4.3 + jest-util: 29.6.1 + micromatch: 4.0.5 + pirates: 4.0.5 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/types@29.6.1: + resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.0 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 20.2.5 + '@types/yargs': 17.0.24 + chalk: 4.1.2 + dev: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + dev: true + + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/source-map@0.3.3: + resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + dev: true + + /@jridgewell/sourcemap-codec@1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@manypkg/find-root@1.1.0: + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + dependencies: + '@babel/runtime': 7.22.3 + '@types/node': 12.20.55 + find-up: 4.1.0 + fs-extra: 8.1.0 + dev: true + + /@manypkg/get-packages@1.1.3: + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + dependencies: + '@babel/runtime': 7.22.3 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 + fs-extra: 8.1.0 + globby: 11.1.0 + read-yaml-file: 1.1.0 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@sinonjs/commons@3.0.0: + resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers@10.3.0: + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + dependencies: + '@sinonjs/commons': 3.0.0 + dev: true + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + dev: true + + /@types/babel__core@7.20.1: + resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} + dependencies: + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.20.0 + dev: true + + /@types/babel__generator@7.6.4: + resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@types/babel__template@7.4.1: + resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + dependencies: + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + dev: true + + /@types/babel__traverse@7.20.0: + resolution: {integrity: sha512-TBOjqAGf0hmaqRwpii5LLkJLg7c6OMm4nHLmpsUxwk9bBHtoTC6dAHdVWdGv4TBxj2CZOZY8Xfq8WmfoVi7n4Q==} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@types/d3-force@3.0.4: + resolution: {integrity: sha512-q7xbVLrWcXvSBBEoadowIUJ7sRpS1yvgMWnzHJggFy5cUZBq2HZL5k/pBSm0GdYWS1vs5/EDwMjSKF55PDY4Aw==} + dev: true + + /@types/eslint-scope@3.7.4: + resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + dependencies: + '@types/eslint': 8.40.0 + '@types/estree': 1.0.1 + dev: true + + /@types/eslint@8.40.0: + resolution: {integrity: sha512-nbq2mvc/tBrK9zQQuItvjJl++GTN5j06DaPtp3hZCpngmG6Q3xoyEmd0TwZI0gAy/G1X0zhGBbr2imsGFdFV0g==} + dependencies: + '@types/estree': 1.0.1 + '@types/json-schema': 7.0.12 + dev: true + + /@types/estree@0.0.47: + resolution: {integrity: sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==} + dev: true + + /@types/estree@1.0.1: + resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} + dev: true + + /@types/graceful-fs@4.1.6: + resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} + dependencies: + '@types/node': 20.2.5 + dev: true + + /@types/is-ci@3.0.0: + resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} + dependencies: + ci-info: 3.8.0 + dev: true + + /@types/istanbul-lib-coverage@2.0.4: + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + dev: true + + /@types/istanbul-lib-report@3.0.0: + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + dev: true + + /@types/istanbul-reports@3.0.1: + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + dependencies: + '@types/istanbul-lib-report': 3.0.0 + dev: true + + /@types/jest@29.5.2: + resolution: {integrity: sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg==} + dependencies: + expect: 29.6.1 + pretty-format: 29.6.1 + dev: true + + /@types/jsdom@20.0.1: + resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} + dependencies: + '@types/node': 20.2.5 + '@types/tough-cookie': 4.0.2 + parse5: 7.1.2 + dev: true + + /@types/json-schema@7.0.12: + resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + dev: true + + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + + /@types/minimist@1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + dev: true + + /@types/node@12.20.55: + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + dev: true + + /@types/node@20.2.5: + resolution: {integrity: sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==} + dev: true + + /@types/normalize-package-data@2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + dev: true + + /@types/offscreencanvas@2019.6.4: + resolution: {integrity: sha512-u8SAgdZ8ROtkTF+mfZGOscl0or6BSj9A4g37e6nvxDc+YB/oDut0wHkK2PBBiC2bNR8TS0CPV+1gAk4fNisr1Q==} + dev: false + + /@types/parse-json@4.0.0: + resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + dev: true + + /@types/prettier@2.7.2: + resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} + dev: true + + /@types/semver@6.2.3: + resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} + dev: true + + /@types/stack-utils@2.0.1: + resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + dev: true + + /@types/tough-cookie@4.0.2: + resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} + dev: true + + /@types/yargs-parser@21.0.0: + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + dev: true + + /@types/yargs@17.0.24: + resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + dependencies: + '@types/yargs-parser': 21.0.0 + dev: true + + /@webassemblyjs/ast@1.11.0: + resolution: {integrity: sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==} + dependencies: + '@webassemblyjs/helper-numbers': 1.11.0 + '@webassemblyjs/helper-wasm-bytecode': 1.11.0 + dev: true + + /@webassemblyjs/floating-point-hex-parser@1.11.0: + resolution: {integrity: sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==} + dev: true + + /@webassemblyjs/helper-api-error@1.11.0: + resolution: {integrity: sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==} + dev: true + + /@webassemblyjs/helper-buffer@1.11.0: + resolution: {integrity: sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==} + dev: true + + /@webassemblyjs/helper-numbers@1.11.0: + resolution: {integrity: sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.0 + '@webassemblyjs/helper-api-error': 1.11.0 + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/helper-wasm-bytecode@1.11.0: + resolution: {integrity: sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==} + dev: true + + /@webassemblyjs/helper-wasm-section@1.11.0: + resolution: {integrity: sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==} + dependencies: + '@webassemblyjs/ast': 1.11.0 + '@webassemblyjs/helper-buffer': 1.11.0 + '@webassemblyjs/helper-wasm-bytecode': 1.11.0 + '@webassemblyjs/wasm-gen': 1.11.0 + dev: true + + /@webassemblyjs/ieee754@1.11.0: + resolution: {integrity: sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==} + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: true + + /@webassemblyjs/leb128@1.11.0: + resolution: {integrity: sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==} + dependencies: + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/utf8@1.11.0: + resolution: {integrity: sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==} + dev: true + + /@webassemblyjs/wasm-edit@1.11.0: + resolution: {integrity: sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==} + dependencies: + '@webassemblyjs/ast': 1.11.0 + '@webassemblyjs/helper-buffer': 1.11.0 + '@webassemblyjs/helper-wasm-bytecode': 1.11.0 + '@webassemblyjs/helper-wasm-section': 1.11.0 + '@webassemblyjs/wasm-gen': 1.11.0 + '@webassemblyjs/wasm-opt': 1.11.0 + '@webassemblyjs/wasm-parser': 1.11.0 + '@webassemblyjs/wast-printer': 1.11.0 + dev: true + + /@webassemblyjs/wasm-gen@1.11.0: + resolution: {integrity: sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==} + dependencies: + '@webassemblyjs/ast': 1.11.0 + '@webassemblyjs/helper-wasm-bytecode': 1.11.0 + '@webassemblyjs/ieee754': 1.11.0 + '@webassemblyjs/leb128': 1.11.0 + '@webassemblyjs/utf8': 1.11.0 + dev: true + + /@webassemblyjs/wasm-opt@1.11.0: + resolution: {integrity: sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==} + dependencies: + '@webassemblyjs/ast': 1.11.0 + '@webassemblyjs/helper-buffer': 1.11.0 + '@webassemblyjs/wasm-gen': 1.11.0 + '@webassemblyjs/wasm-parser': 1.11.0 + dev: true + + /@webassemblyjs/wasm-parser@1.11.0: + resolution: {integrity: sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==} + dependencies: + '@webassemblyjs/ast': 1.11.0 + '@webassemblyjs/helper-api-error': 1.11.0 + '@webassemblyjs/helper-wasm-bytecode': 1.11.0 + '@webassemblyjs/ieee754': 1.11.0 + '@webassemblyjs/leb128': 1.11.0 + '@webassemblyjs/utf8': 1.11.0 + dev: true + + /@webassemblyjs/wast-printer@1.11.0: + resolution: {integrity: sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==} + dependencies: + '@webassemblyjs/ast': 1.11.0 + '@xtuc/long': 4.2.2 + dev: true + + /@webgpu/types@0.1.6: + resolution: {integrity: sha512-5c3ZxNmGwVhTo8nW0b0iEaSVLTx89D056c7JzbzC2f9J+qebRM+U9rH52q9Z/HwZbZQTUAYX5UGp0c4BNv61Ew==} + dev: false + + /@webpack-cli/configtest@2.1.0(webpack-cli@5.0.2)(webpack@5.38.1): + resolution: {integrity: sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + dependencies: + webpack: 5.38.1(webpack-cli@5.0.2) + webpack-cli: 5.0.2(webpack@5.38.1) + dev: true + + /@webpack-cli/info@2.0.1(webpack-cli@5.0.2)(webpack@5.38.1): + resolution: {integrity: sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + dependencies: + webpack: 5.38.1(webpack-cli@5.0.2) + webpack-cli: 5.0.2(webpack@5.38.1) + dev: true + + /@webpack-cli/serve@2.0.4(webpack-cli@5.0.2)(webpack@5.38.1): + resolution: {integrity: sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + webpack-dev-server: '*' + peerDependenciesMeta: + webpack-dev-server: + optional: true + dependencies: + webpack: 5.38.1(webpack-cli@5.0.2) + webpack-cli: 5.0.2(webpack@5.38.1) + dev: true + + /@xtuc/ieee754@1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + dev: true + + /@xtuc/long@4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + dev: true + + /@yomguithereal/helpers@1.1.1: + resolution: {integrity: sha512-UYvAq/XCA7xoh1juWDYsq3W0WywOB+pz8cgVnE1b45ZfdMhBvHDrgmSFG3jXeZSr2tMTYLGHFHON+ekG05Jebg==} + dev: true + + /abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + dev: true + + /acorn-globals@7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + dependencies: + acorn: 8.8.2 + acorn-walk: 8.2.0 + dev: true + + /acorn-jsx@5.3.2(acorn@7.4.1): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 7.4.1 + dev: true + + /acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /acorn@8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + + /ajv-keywords@3.5.2(ajv@6.12.6): + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: 6.12.6 + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + dev: true + + /array-includes@3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.1 + is-string: 1.0.7 + dev: true + + /array-union@1.0.2: + resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} + engines: {node: '>=0.10.0'} + dependencies: + array-uniq: 1.0.3 + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array-uniq@1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} + dev: true + + /array.prototype.flat@1.3.1: + resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + dev: true + + /array.prototype.flatmap@1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + dev: true + + /arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + dev: true + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true + + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + + /babel-jest@29.6.1(@babel/core@7.22.1): + resolution: {integrity: sha512-qu+3bdPEQC6KZSPz+4Fyjbga5OODNcp49j6GKzG1EKbkfyJBxEYGVUmVGpwCSeGouG52R4EgYMLb6p9YeEEQ4A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.22.1 + '@jest/transform': 29.6.1 + '@types/babel__core': 7.20.1 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.5.0(@babel/core@7.22.1) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-loader@8.2.2(@babel/core@7.12.10)(webpack@5.38.1): + resolution: {integrity: sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==} + engines: {node: '>= 8.9'} + peerDependencies: + '@babel/core': ^7.0.0 + webpack: '>=2' + dependencies: + '@babel/core': 7.12.10 + find-cache-dir: 3.3.2 + loader-utils: 1.4.2 + make-dir: 3.1.0 + schema-utils: 2.7.1 + webpack: 5.38.1(webpack-cli@5.0.2) + dev: true + + /babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.21.5 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-jest-hoist@29.5.0: + resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/template': 7.21.9 + '@babel/types': 7.22.4 + '@types/babel__core': 7.20.1 + '@types/babel__traverse': 7.20.0 + dev: true + + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.1): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.1) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.1) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.1) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.1) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.1) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.1) + dev: true + + /babel-preset-jest@29.5.0(@babel/core@7.22.1): + resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + babel-plugin-jest-hoist: 29.5.0 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.1) + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /better-path-resolve@1.0.0: + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} + dependencies: + is-windows: 1.0.2 + dev: true + + /big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /breakword@1.0.6: + resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} + dependencies: + wcwidth: 1.0.1 + dev: true + + /browserslist@4.21.7: + resolution: {integrity: sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001492 + electron-to-chromium: 1.4.414 + node-releases: 2.0.12 + update-browserslist-db: 1.0.11(browserslist@4.21.7) + dev: true + + /bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + dependencies: + fast-json-stable-stringify: 2.1.0 + dev: true + + /bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /builtin-modules@1.1.1: + resolution: {integrity: sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==} + engines: {node: '>=0.10.0'} + dev: true + + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.1 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite@1.0.30001492: + resolution: {integrity: sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==} + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /chrome-trace-event@1.0.3: + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} + dev: true + + /ci-info@3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} + dev: true + + /cjs-module-lexer@1.2.3: + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + dev: true + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + dev: true + + /cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + dev: true + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true + + /collect-v8-coverage@1.0.1: + resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /comlink@4.3.1: + resolution: {integrity: sha512-+YbhUdNrpBZggBAHWcgQMLPLH1KDF3wJpeqrCKieWQ8RL7atmgsgTQko1XEBK6PsecfopWNntopJ+ByYG1lRaA==} + dev: false + + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + + /commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + dev: true + + /commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /confusing-browser-globals@1.0.11: + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + dev: true + + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /core-js-compat@3.30.2: + resolution: {integrity: sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==} + dependencies: + browserslist: 4.21.7 + dev: true + + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true + + /cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + dependencies: + '@types/parse-json': 4.0.0 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: true + + /cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + dependencies: + cross-spawn: 7.0.3 + dev: true + + /cross-spawn@5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + dependencies: + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + + /cross-spawn@6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.1 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + dev: true + + /cssom@0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + dev: true + + /cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + dependencies: + cssom: 0.3.8 + dev: true + + /csv-generate@3.4.3: + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + dev: true + + /csv-parse@4.16.3: + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + dev: true + + /csv-stringify@5.6.5: + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + dev: true + + /csv@5.5.3: + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} + dependencies: + csv-generate: 3.4.3 + csv-parse: 4.16.3 + csv-stringify: 5.6.5 + stream-transform: 2.1.3 + dev: true + + /d3-color@1.4.1: + resolution: {integrity: sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==} + dev: false + + /data-urls@3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + dev: true + + /dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-properties@1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: true + + /detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true + + /detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true + + /diff-sequences@29.4.3: + resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine@0.7.2: + resolution: {integrity: sha512-qiB/Rir6Un6Ad/TIgTRzsremsTGWzs8j7woXvp14jgq00676uBiBT5eUOi+FgRywZFVy5Us/c04ISRpZhRbS6w==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 1.1.6 + isarray: 0.0.1 + dev: true + + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /domexception@4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + dependencies: + webidl-conversions: 7.0.0 + dev: true + + /earcut@2.2.4: + resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==} + dev: false + + /electron-to-chromium@1.4.414: + resolution: {integrity: sha512-RRuCvP6ekngVh2SAJaOKT/hxqc9JAsK+Pe0hP5tGQIfonU2Zy9gMGdJ+mBdyl/vNucMG6gkXYtuM4H/1giws5w==} + dev: true + + /email-addresses@5.0.0: + resolution: {integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==} + dev: true + + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + + /enhanced-resolve@4.5.0: + resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} + engines: {node: '>=6.9.0'} + dependencies: + graceful-fs: 4.2.11 + memory-fs: 0.5.0 + tapable: 1.1.3 + dev: true + + /enhanced-resolve@5.14.1: + resolution: {integrity: sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /envinfo@7.8.1: + resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + dependencies: + prr: 1.0.1 + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.21.2: + resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.1 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.10 + is-weakref: 1.0.2 + object-inspect: 1.12.3 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.0 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.9 + dev: true + + /es-module-lexer@0.4.1: + resolution: {integrity: sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==} + dev: true + + /es-set-tostringtag@2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.3 + has-tostringtag: 1.0.0 + dev: true + + /es-shim-unscopables@1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + dev: true + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /escodegen@2.0.0: + resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /eslint-config-airbnb-base@14.2.1(eslint-plugin-import@2.27.5)(eslint@7.32.0): + resolution: {integrity: sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==} + engines: {node: '>= 6'} + peerDependencies: + eslint: ^5.16.0 || ^6.8.0 || ^7.2.0 + eslint-plugin-import: ^2.22.1 + dependencies: + confusing-browser-globals: 1.0.11 + eslint: 7.32.0 + eslint-plugin-import: 2.27.5(eslint@7.32.0) + object.assign: 4.1.4 + object.entries: 1.1.6 + dev: true + + /eslint-config-prettier@6.15.0(eslint@7.32.0): + resolution: {integrity: sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==} + hasBin: true + peerDependencies: + eslint: '>=3.14.1' + dependencies: + eslint: 7.32.0 + get-stdin: 6.0.0 + dev: true + + /eslint-import-resolver-node@0.3.7: + resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} + dependencies: + debug: 3.2.7 + is-core-module: 2.12.1 + resolve: 1.22.2 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils@2.8.0(eslint-import-resolver-node@0.3.7)(eslint@7.32.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + debug: 3.2.7 + eslint: 7.32.0 + eslint-import-resolver-node: 0.3.7 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-import@2.27.5(eslint@7.32.0): + resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 + array.prototype.flatmap: 1.3.1 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 7.32.0 + eslint-import-resolver-node: 0.3.7 + eslint-module-utils: 2.8.0(eslint-import-resolver-node@0.3.7)(eslint@7.32.0) + has: 1.0.3 + is-core-module: 2.12.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.values: 1.1.6 + resolve: 1.22.2 + semver: 6.3.0 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-utils@2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} + dependencies: + eslint-visitor-keys: 1.3.0 + dev: true + + /eslint-visitor-keys@1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + dev: true + + /eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + + /eslint@7.32.0: + resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} + engines: {node: ^10.12.0 || >=12.0.0} + hasBin: true + dependencies: + '@babel/code-frame': 7.12.11 + '@eslint/eslintrc': 0.4.3 + '@humanwhocodes/config-array': 0.5.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + enquirer: 2.3.6 + escape-string-regexp: 4.0.0 + eslint-scope: 5.1.1 + eslint-utils: 2.1.0 + eslint-visitor-keys: 2.1.0 + espree: 7.3.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 5.1.2 + globals: 13.20.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 3.14.1 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + progress: 2.0.3 + regexpp: 3.2.0 + semver: 7.5.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + table: 6.8.1 + text-table: 0.2.0 + v8-compile-cache: 2.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@7.3.1: + resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + acorn: 7.4.1 + acorn-jsx: 5.3.2(acorn@7.4.1) + eslint-visitor-keys: 1.3.0 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils@1.1.6: + resolution: {integrity: sha512-RG1ZkUT7iFJG9LSHr7KDuuMSlujfeTtMNIcInURxKAxhMtwQhI3NrQhz26gZQYlsYZQKzsnwtpKrFKj9K9Qu1A==} + engines: {node: '>=0.10.0'} + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: false + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: true + + /execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: true + + /expect@29.6.1: + resolution: {integrity: sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.6.1 + '@types/node': 20.2.5 + jest-get-type: 29.4.3 + jest-matcher-utils: 29.6.1 + jest-message-util: 29.6.1 + jest-util: 29.6.1 + dev: true + + /extendable-error@0.1.7: + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + dev: true + + /external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-glob@3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + dev: true + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + dev: true + + /filename-reserved-regex@2.0.0: + resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} + engines: {node: '>=4'} + dev: true + + /filenamify@4.3.0: + resolution: {integrity: sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==} + engines: {node: '>=8'} + dependencies: + filename-reserved-regex: 2.0.0 + strip-outer: 1.0.1 + trim-repeated: 1.0.0 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /find-yarn-workspace-root2@1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + dependencies: + micromatch: 4.0.5 + pkg-dir: 4.2.0 + dev: true + + /flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.7 + rimraf: 3.0.2 + dev: true + + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: true + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /function.prototype.name@1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + functions-have-names: 1.2.3 + dev: true + + /functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-proto: 1.0.1 + has-symbols: 1.0.3 + dev: true + + /get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + dev: true + + /get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-stdin@6.0.0: + resolution: {integrity: sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==} + engines: {node: '>=4'} + dev: true + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + dev: true + + /gh-pages@5.0.0: + resolution: {integrity: sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.4 + commander: 2.20.3 + email-addresses: 5.0.0 + filenamify: 4.3.0 + find-cache-dir: 3.3.2 + fs-extra: 8.1.0 + globby: 6.1.0 + dev: true + + /gl-matrix@3.4.3: + resolution: {integrity: sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==} + dev: false + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.0 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby@6.1.0: + resolution: {integrity: sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==} + engines: {node: '>=0.10.0'} + dependencies: + array-union: 1.0.2 + glob: 7.2.3 + object-assign: 4.1.1 + pify: 2.3.0 + pinkie-promise: 2.0.1 + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.1 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + + /graphology-generators@0.11.2(graphology-types@0.24.7): + resolution: {integrity: sha512-hx+F0OZRkVdoQ0B1tWrpxoakmHZNex0c6RAoR0PrqJ+6fz/gz6CQ88Qlw78C6yD9nlZVRgepIoDYhRTFV+bEHg==} + peerDependencies: + graphology-types: '>=0.19.0' + dependencies: + graphology-metrics: 2.1.0(graphology-types@0.24.7) + graphology-types: 0.24.7 + graphology-utils: 2.5.2(graphology-types@0.24.7) + dev: true + + /graphology-indices@0.17.0(graphology-types@0.24.7): + resolution: {integrity: sha512-A7RXuKQvdqSWOpn7ZVQo4S33O0vCfPBnUSf7FwE0zNCasqwZVUaCXePuWo5HBpWw68KJcwObZDHpFk6HKH6MYQ==} + peerDependencies: + graphology-types: '>=0.20.0' + dependencies: + graphology-types: 0.24.7 + graphology-utils: 2.5.2(graphology-types@0.24.7) + mnemonist: 0.39.5 + dev: true + + /graphology-metrics@2.1.0(graphology-types@0.24.7): + resolution: {integrity: sha512-E+y4kgVGxhYl/+bPHEftJeWLS8LgVno4/Wvg+C7IoDIjY6OlIZghgMKDR8LKsxU6GC43mlx08FTZs229cvEkwQ==} + peerDependencies: + graphology-types: '>=0.20.0' + dependencies: + graphology-shortest-path: 2.0.2(graphology-types@0.24.7) + graphology-types: 0.24.7 + graphology-utils: 2.5.2(graphology-types@0.24.7) + mnemonist: 0.39.5 + dev: true + + /graphology-shortest-path@2.0.2(graphology-types@0.24.7): + resolution: {integrity: sha512-hlGvh4Yb1Vmd2J7wT8Q8+t4RQ6Tx+9wRYm0/fZB9PZJ4uW3nml5kJ7yXZ2+JYWT+7wLLmY5mg3o9bLSAWmv/jQ==} + peerDependencies: + graphology-types: '>=0.20.0' + dependencies: + '@yomguithereal/helpers': 1.1.1 + graphology-indices: 0.17.0(graphology-types@0.24.7) + graphology-types: 0.24.7 + graphology-utils: 2.5.2(graphology-types@0.24.7) + mnemonist: 0.39.5 + dev: true + + /graphology-types@0.24.7: + resolution: {integrity: sha512-tdcqOOpwArNjEr0gNQKCXwaNCWnQJrog14nJNQPeemcLnXQUUGrsCWpWkVKt46zLjcS6/KGoayeJfHHyPDlvwA==} + dev: true + + /graphology-utils@2.5.2(graphology-types@0.24.7): + resolution: {integrity: sha512-ckHg8MXrXJkOARk56ZaSCM1g1Wihe2d6iTmz1enGOz4W/l831MBCKSayeFQfowgF8wd+PQ4rlch/56Vs/VZLDQ==} + peerDependencies: + graphology-types: '>=0.23.0' + dependencies: + graphology-types: 0.24.7 + dev: true + + /graphology@0.25.1(graphology-types@0.24.7): + resolution: {integrity: sha512-yYA7BJCcXN2DrKNQQ9Qf22zBHm/yTbyBR71T1MYBbGtywNHsv0QZtk8zaR6zxNcp2hCCZayUkHp9DyMSZCpoxQ==} + peerDependencies: + graphology-types: '>=0.24.0' + dependencies: + events: 3.3.0 + graphology-types: 0.24.7 + obliterator: 2.0.4 + dev: true + + /hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.2.1 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /html-encoding-sniffer@3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} + dependencies: + whatwg-encoding: 2.0.0 + dev: true + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /human-id@1.0.2: + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + dev: true + + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /husky@7.0.4: + resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==} + engines: {node: '>=12'} + hasBin: true + dev: true + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /ignore@4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + engines: {node: '>= 4'} + dev: true + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.3 + side-channel: 1.0.4 + dev: true + + /interpret@3.1.1: + resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} + engines: {node: '>=10.13.0'} + dev: true + + /inversify@5.1.1: + resolution: {integrity: sha512-j8grHGDzv1v+8T1sAQ+3boTCntFPfvxLCkNcxB1J8qA0lUN+fAlSyYd+RXKvaPRL4AGyPxViutBEJHNXOyUdFQ==} + dev: true + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.10 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + dependencies: + ci-info: 3.8.0 + dev: true + + /is-core-module@2.12.1: + resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} + dependencies: + has: 1.0.3 + dev: true + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-subdir@1.2.0: + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} + dependencies: + better-path-resolve: 1.0.0 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array@1.1.10: + resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + + /istanbul-lib-coverage@3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.22.1 + '@babel/parser': 7.22.4 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-report@3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.5: + resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + dev: true + + /jest-changed-files@29.5.0: + resolution: {integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + execa: 5.1.1 + p-limit: 3.1.0 + dev: true + + /jest-circus@29.6.1: + resolution: {integrity: sha512-tPbYLEiBU4MYAL2XoZme/bgfUeotpDBd81lgHLCbDZZFaGmECk0b+/xejPFtmiBP87GgP/y4jplcRpbH+fgCzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.6.1 + '@jest/expect': 29.6.1 + '@jest/test-result': 29.6.1 + '@jest/types': 29.6.1 + '@types/node': 20.2.5 + chalk: 4.1.2 + co: 4.6.0 + dedent: 0.7.0 + is-generator-fn: 2.1.0 + jest-each: 29.6.1 + jest-matcher-utils: 29.6.1 + jest-message-util: 29.6.1 + jest-runtime: 29.6.1 + jest-snapshot: 29.6.1 + jest-util: 29.6.1 + p-limit: 3.1.0 + pretty-format: 29.6.1 + pure-rand: 6.0.2 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-cli@29.6.1: + resolution: {integrity: sha512-607dSgTA4ODIN6go9w6xY3EYkyPFGicx51a69H7yfvt7lN53xNswEVLovq+E77VsTRi5fWprLH0yl4DJgE8Ing==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.6.1 + '@jest/test-result': 29.6.1 + '@jest/types': 29.6.1 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + import-local: 3.1.0 + jest-config: 29.6.1(@types/node@20.2.5) + jest-util: 29.6.1 + jest-validate: 29.6.1 + prompts: 2.4.2 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - supports-color + - ts-node + dev: true + + /jest-config@29.6.1(@types/node@20.2.5): + resolution: {integrity: sha512-XdjYV2fy2xYixUiV2Wc54t3Z4oxYPAELUzWnV6+mcbq0rh742X2p52pii5A3oeRzYjLnQxCsZmp0qpI6klE2cQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.22.1 + '@jest/test-sequencer': 29.6.1 + '@jest/types': 29.6.1 + '@types/node': 20.2.5 + babel-jest: 29.6.1(@babel/core@7.22.1) + chalk: 4.1.2 + ci-info: 3.8.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.6.1 + jest-environment-node: 29.6.1 + jest-get-type: 29.4.3 + jest-regex-util: 29.4.3 + jest-resolve: 29.6.1 + jest-runner: 29.6.1 + jest-util: 29.6.1 + jest-validate: 29.6.1 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.6.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-diff@29.6.1: + resolution: {integrity: sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.4.3 + jest-get-type: 29.4.3 + pretty-format: 29.6.1 + dev: true + + /jest-docblock@29.4.3: + resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + detect-newline: 3.1.0 + dev: true + + /jest-each@29.6.1: + resolution: {integrity: sha512-n5eoj5eiTHpKQCAVcNTT7DRqeUmJ01hsAL0Q1SMiBHcBcvTKDELixQOGMCpqhbIuTcfC4kMfSnpmDqRgRJcLNQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.1 + chalk: 4.1.2 + jest-get-type: 29.4.3 + jest-util: 29.6.1 + pretty-format: 29.6.1 + dev: true + + /jest-environment-jsdom@29.5.0: + resolution: {integrity: sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + '@jest/environment': 29.6.1 + '@jest/fake-timers': 29.6.1 + '@jest/types': 29.6.1 + '@types/jsdom': 20.0.1 + '@types/node': 20.2.5 + jest-mock: 29.6.1 + jest-util: 29.6.1 + jsdom: 20.0.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /jest-environment-node@29.6.1: + resolution: {integrity: sha512-ZNIfAiE+foBog24W+2caIldl4Irh8Lx1PUhg/GZ0odM1d/h2qORAsejiFc7zb+SEmYPn1yDZzEDSU5PmDkmVLQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.6.1 + '@jest/fake-timers': 29.6.1 + '@jest/types': 29.6.1 + '@types/node': 20.2.5 + jest-mock: 29.6.1 + jest-util: 29.6.1 + dev: true + + /jest-get-type@29.4.3: + resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-haste-map@29.6.1: + resolution: {integrity: sha512-0m7f9PZXxOCk1gRACiVgX85knUKPKLPg4oRCjLoqIm9brTHXaorMA0JpmtmVkQiT8nmXyIVoZd/nnH1cfC33ig==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.1 + '@types/graceful-fs': 4.1.6 + '@types/node': 20.2.5 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.4.3 + jest-util: 29.6.1 + jest-worker: 29.6.1 + micromatch: 4.0.5 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /jest-leak-detector@29.6.1: + resolution: {integrity: sha512-OrxMNyZirpOEwkF3UHnIkAiZbtkBWiye+hhBweCHkVbCgyEy71Mwbb5zgeTNYWJBi1qgDVfPC1IwO9dVEeTLwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.4.3 + pretty-format: 29.6.1 + dev: true + + /jest-matcher-utils@29.6.1: + resolution: {integrity: sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.6.1 + jest-get-type: 29.4.3 + pretty-format: 29.6.1 + dev: true + + /jest-message-util@29.6.1: + resolution: {integrity: sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.21.4 + '@jest/types': 29.6.1 + '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 29.6.1 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-mock@29.6.1: + resolution: {integrity: sha512-brovyV9HBkjXAEdRooaTQK42n8usKoSRR3gihzUpYeV/vwqgSoNfrksO7UfSACnPmxasO/8TmHM3w9Hp3G1dgw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.1 + '@types/node': 20.2.5 + jest-util: 29.6.1 + dev: true + + /jest-pnp-resolver@1.2.3(jest-resolve@29.6.1): + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 29.6.1 + dev: true + + /jest-regex-util@29.4.3: + resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-resolve-dependencies@29.6.1: + resolution: {integrity: sha512-BbFvxLXtcldaFOhNMXmHRWx1nXQO5LoXiKSGQcA1LxxirYceZT6ch8KTE1bK3X31TNG/JbkI7OkS/ABexVahiw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-regex-util: 29.4.3 + jest-snapshot: 29.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-resolve@29.6.1: + resolution: {integrity: sha512-AeRkyS8g37UyJiP9w3mmI/VXU/q8l/IH52vj/cDAyScDcemRbSBhfX/NMYIGilQgSVwsjxrCHf3XJu4f+lxCMg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.6.1 + jest-pnp-resolver: 1.2.3(jest-resolve@29.6.1) + jest-util: 29.6.1 + jest-validate: 29.6.1 + resolve: 1.22.2 + resolve.exports: 2.0.2 + slash: 3.0.0 + dev: true + + /jest-runner@29.6.1: + resolution: {integrity: sha512-tw0wb2Q9yhjAQ2w8rHRDxteryyIck7gIzQE4Reu3JuOBpGp96xWgF0nY8MDdejzrLCZKDcp8JlZrBN/EtkQvPQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.6.1 + '@jest/environment': 29.6.1 + '@jest/test-result': 29.6.1 + '@jest/transform': 29.6.1 + '@jest/types': 29.6.1 + '@types/node': 20.2.5 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.4.3 + jest-environment-node: 29.6.1 + jest-haste-map: 29.6.1 + jest-leak-detector: 29.6.1 + jest-message-util: 29.6.1 + jest-resolve: 29.6.1 + jest-runtime: 29.6.1 + jest-util: 29.6.1 + jest-watcher: 29.6.1 + jest-worker: 29.6.1 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-runtime@29.6.1: + resolution: {integrity: sha512-D6/AYOA+Lhs5e5il8+5pSLemjtJezUr+8zx+Sn8xlmOux3XOqx4d8l/2udBea8CRPqqrzhsKUsN/gBDE/IcaPQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.6.1 + '@jest/fake-timers': 29.6.1 + '@jest/globals': 29.6.1 + '@jest/source-map': 29.6.0 + '@jest/test-result': 29.6.1 + '@jest/transform': 29.6.1 + '@jest/types': 29.6.1 + '@types/node': 20.2.5 + chalk: 4.1.2 + cjs-module-lexer: 1.2.3 + collect-v8-coverage: 1.0.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.6.1 + jest-message-util: 29.6.1 + jest-mock: 29.6.1 + jest-regex-util: 29.4.3 + jest-resolve: 29.6.1 + jest-snapshot: 29.6.1 + jest-util: 29.6.1 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-snapshot@29.6.1: + resolution: {integrity: sha512-G4UQE1QQ6OaCgfY+A0uR1W2AY0tGXUPQpoUClhWHq1Xdnx1H6JOrC2nH5lqnOEqaDgbHFgIwZ7bNq24HpB180A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.22.1 + '@babel/generator': 7.22.3 + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.22.1) + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.22.1) + '@babel/types': 7.22.4 + '@jest/expect-utils': 29.6.1 + '@jest/transform': 29.6.1 + '@jest/types': 29.6.1 + '@types/prettier': 2.7.2 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.1) + chalk: 4.1.2 + expect: 29.6.1 + graceful-fs: 4.2.11 + jest-diff: 29.6.1 + jest-get-type: 29.4.3 + jest-matcher-utils: 29.6.1 + jest-message-util: 29.6.1 + jest-util: 29.6.1 + natural-compare: 1.4.0 + pretty-format: 29.6.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-util@29.6.1: + resolution: {integrity: sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.1 + '@types/node': 20.2.5 + chalk: 4.1.2 + ci-info: 3.8.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + + /jest-validate@29.6.1: + resolution: {integrity: sha512-r3Ds69/0KCN4vx4sYAbGL1EVpZ7MSS0vLmd3gV78O+NAx3PDQQukRU5hNHPXlyqCgFY8XUk7EuTMLugh0KzahA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.1 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.4.3 + leven: 3.1.0 + pretty-format: 29.6.1 + dev: true + + /jest-watcher@29.6.1: + resolution: {integrity: sha512-d4wpjWTS7HEZPaaj8m36QiaP856JthRZkrgcIY/7ISoUWPIillrXM23WPboZVLbiwZBt4/qn2Jke84Sla6JhFA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.6.1 + '@jest/types': 29.6.1 + '@types/node': 20.2.5 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.6.1 + string-length: 4.0.2 + dev: true + + /jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 20.2.5 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest-worker@29.6.1: + resolution: {integrity: sha512-U+Wrbca7S8ZAxAe9L6nb6g8kPdia5hj32Puu5iOqBCMTMWFHXuK6dOV2IFrpedbTV8fjMFLdWNttQTBL6u2MRA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@types/node': 20.2.5 + jest-util: 29.6.1 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest@29.5.0: + resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.6.1 + '@jest/types': 29.6.1 + import-local: 3.1.0 + jest-cli: 29.6.1 + transitivePeerDependencies: + - '@types/node' + - supports-color + - ts-node + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /jsdom@20.0.3: + resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} + engines: {node: '>=14'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.8.2 + acorn-globals: 7.0.1 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.4.3 + domexception: 4.0.0 + escodegen: 2.0.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.5 + parse5: 7.1.2 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.2 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.13.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + + /kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: true + + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /levn@0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /lint-staged@10.5.4: + resolution: {integrity: sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==} + hasBin: true + dependencies: + chalk: 4.1.2 + cli-truncate: 2.1.0 + commander: 6.2.1 + cosmiconfig: 7.1.0 + debug: 4.3.4 + dedent: 0.7.0 + enquirer: 2.3.6 + execa: 4.1.0 + listr2: 3.14.0(enquirer@2.3.6) + log-symbols: 4.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + please-upgrade-node: 3.2.0 + string-argv: 0.3.1 + stringify-object: 3.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /listr2@3.14.0(enquirer@2.3.6): + resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} + engines: {node: '>=10.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.20 + enquirer: 2.3.6 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.3.0 + rxjs: 7.8.1 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + + /load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + dependencies: + graceful-fs: 4.2.11 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + dev: true + + /load-yaml-file@0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + dev: true + + /loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + dev: true + + /loader-utils@1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.2 + dev: true + + /loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + dev: true + + /lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: 3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + dev: true + + /lru-cache@4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + dev: true + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + + /makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: true + + /map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /memory-fs@0.5.0: + resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} + engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + dependencies: + errno: 0.1.8 + readable-stream: 2.3.8 + dev: true + + /memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + dev: true + + /meow@6.1.1: + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 2.5.0 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.13.1 + yargs-parser: 18.1.3 + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /mixme@0.5.9: + resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} + engines: {node: '>= 8.0.0'} + dev: true + + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /mnemonist@0.39.5: + resolution: {integrity: sha512-FPUtkhtJ0efmEFGpU14x7jGbTB+s18LrzRL2KgoWz9YvcY3cPomz8tih01GbHwnGk/OmkOKfqd/RAQoc8Lm7DQ==} + dependencies: + obliterator: 2.0.4 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true + + /nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + dev: true + + /node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: true + + /node-releases@2.0.12: + resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + dev: true + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.2 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-all@4.1.5: + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} + engines: {node: '>= 4'} + hasBin: true + dependencies: + ansi-styles: 3.2.1 + chalk: 2.4.2 + cross-spawn: 6.0.5 + memorystream: 0.3.1 + minimatch: 3.1.2 + pidtree: 0.3.1 + read-pkg: 3.0.0 + shell-quote: 1.8.1 + string.prototype.padend: 3.1.4 + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /nwsapi@2.2.5: + resolution: {integrity: sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==} + dev: true + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.entries@1.1.6: + resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /object.values@1.1.6: + resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /obliterator@2.0.4: + resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /optionator@0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.3 + dev: true + + /optionator@0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + dev: true + + /os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /outdent@0.5.0: + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + dev: true + + /p-filter@2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + dependencies: + p-map: 2.1.0 + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-map@2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + dev: true + + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.21.4 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.5.0 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + dependencies: + pify: 3.0.0 + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pidtree@0.3.1: + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + dev: true + + /pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: true + + /pinkie-promise@2.0.1: + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} + engines: {node: '>=0.10.0'} + dependencies: + pinkie: 2.0.4 + dev: true + + /pinkie@2.0.4: + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} + engines: {node: '>=0.10.0'} + dev: true + + /pirates@4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + dev: true + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /please-upgrade-node@3.2.0: + resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} + dependencies: + semver-compare: 1.0.0 + dev: true + + /postcss@8.4.24: + resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /preferred-pm@3.0.3: + resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} + engines: {node: '>=10'} + dependencies: + find-up: 5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: 4.0.0 + which-pm: 2.0.0 + dev: true + + /prelude-ls@1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + dev: true + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /pretty-format@29.6.1: + resolution: {integrity: sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.0 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: true + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + + /prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + dev: true + + /pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: true + + /psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: true + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true + + /pure-rand@6.0.2: + resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==} + dev: true + + /querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + + /quickselect@2.0.0: + resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==} + dev: false + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /rbush@3.0.1: + resolution: {integrity: sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==} + dependencies: + quickselect: 2.0.0 + dev: false + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg@3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + dependencies: + load-json-file: 4.0.0 + normalize-package-data: 2.5.0 + path-type: 3.0.0 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /read-yaml-file@1.1.0: + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + dev: true + + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + + /rechoir@0.8.0: + resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} + engines: {node: '>= 10.13.0'} + dependencies: + resolve: 1.22.2 + dev: true + + /redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + + /reflect-metadata@0.1.13: + resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} + dev: true + + /regenerate-unicode-properties@10.1.0: + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + + /regenerator-transform@0.15.1: + resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} + dependencies: + '@babel/runtime': 7.22.3 + dev: true + + /regexp.prototype.flags@1.5.0: + resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + functions-have-names: 1.2.3 + dev: true + + /regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + dev: true + + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.0 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: true + + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true + + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true + + /resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + dev: true + + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + dependencies: + is-core-module: 2.12.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rfdc@1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rollup@3.23.0: + resolution: {integrity: sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + dependencies: + tslib: 2.5.2 + dev: true + + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-regex: 1.1.4 + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + dependencies: + xmlchars: 2.2.0 + dev: true + + /schema-utils@2.7.1: + resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} + engines: {node: '>= 8.9.0'} + dependencies: + '@types/json-schema': 7.0.12 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: true + + /schema-utils@3.1.2: + resolution: {integrity: sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.12 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: true + + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + dev: true + + /semver@5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + dev: true + + /semver@6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + + /semver@7.5.1: + resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /serialize-javascript@6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + dependencies: + randombytes: 2.1.0 + dev: true + + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true + + /shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + dependencies: + kind-of: 6.0.3 + dev: true + + /shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: 1.0.0 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + object-inspect: 1.12.3 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /smartwrap@2.0.2: + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + array.prototype.flat: 1.3.1 + breakword: 1.0.6 + grapheme-splitter: 1.0.4 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 15.4.1 + dev: true + + /source-list-map@2.0.1: + resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /spawndamnit@2.0.0: + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + dependencies: + cross-spawn: 5.1.0 + signal-exit: 3.0.7 + dev: true + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-license-ids@3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /stream-transform@2.1.3: + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + dependencies: + mixme: 0.5.9 + dev: true + + /string-argv@0.3.1: + resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} + engines: {node: '>=0.6.19'} + dev: true + + /string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string.prototype.padend@3.1.4: + resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /string.prototype.trim@1.2.7: + resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /string.prototype.trimend@1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /string.prototype.trimstart@1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strip-outer@1.0.1: + resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} + engines: {node: '>=0.10.0'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + dev: true + + /table@6.8.1: + resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} + engines: {node: '>=10.0.0'} + dependencies: + ajv: 8.12.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /tapable@1.1.3: + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} + dev: true + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + + /term-size@2.2.1: + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} + dev: true + + /terser-webpack-plugin@5.3.9(webpack@5.38.1): + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.18 + jest-worker: 27.5.1 + schema-utils: 3.1.2 + serialize-javascript: 6.0.1 + terser: 5.17.6 + webpack: 5.38.1(webpack-cli@5.0.2) + dev: true + + /terser@5.17.6: + resolution: {integrity: sha512-V8QHcs8YuyLkLHsJO5ucyff1ykrLVsR4dNnS//L5Y3NiSXpbK1J+WMVUs67eI0KTxs9JtHhgEQpXQVHlHI92DQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.3 + acorn: 8.8.2 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + + /tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /tough-cookie@4.1.2: + resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} + engines: {node: '>=6'} + dependencies: + psl: 1.9.0 + punycode: 2.3.0 + universalify: 0.2.0 + url-parse: 1.5.10 + dev: true + + /tr46@3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} + dependencies: + punycode: 2.3.0 + dev: true + + /trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + + /trim-repeated@1.0.0: + resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} + engines: {node: '>=0.10.0'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /ts-jest@29.1.0(@babel/core@7.22.1)(jest@29.5.0)(typescript@4.9.5): + resolution: {integrity: sha512-ZhNr7Z4PcYa+JjMl62ir+zPiNJfXJN6E8hSLnaUKhOgqcn8vb3e537cpkd0FuAfRK3sR1LSqM1MOhliXNgOFPA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + dependencies: + '@babel/core': 7.22.1 + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + jest: 29.5.0 + jest-util: 29.6.1 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.5.1 + typescript: 4.9.5 + yargs-parser: 21.1.1 + dev: true + + /ts-loader@8.4.0(typescript@4.9.5)(webpack@5.38.1): + resolution: {integrity: sha512-6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==} + engines: {node: '>=10.0.0'} + peerDependencies: + typescript: '*' + webpack: '*' + dependencies: + chalk: 4.1.2 + enhanced-resolve: 4.5.0 + loader-utils: 2.0.4 + micromatch: 4.0.5 + semver: 7.5.1 + typescript: 4.9.5 + webpack: 5.38.1(webpack-cli@5.0.2) + dev: true + + /tsconfig-paths@3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib@1.9.0: + resolution: {integrity: sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==} + dev: true + + /tslib@2.5.2: + resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==} + + /tslint-config-airbnb@5.11.2(tslint@6.1.3)(typescript@4.9.5): + resolution: {integrity: sha512-mUpHPTeeCFx8XARGG/kzYP4dPSOgoCqNiYbGHh09qTH8q+Y1ghsOgaeZKYYQT7IyxMos523z/QBaiv2zKNBcow==} + peerDependencies: + tslint: ^5.11.0 + dependencies: + tslint: 6.1.3(typescript@4.9.5) + tslint-consistent-codestyle: 1.16.0(tslint@6.1.3)(typescript@4.9.5) + tslint-eslint-rules: 5.4.0(tslint@6.1.3)(typescript@4.9.5) + tslint-microsoft-contrib: 5.2.1(tslint@6.1.3)(typescript@4.9.5) + transitivePeerDependencies: + - typescript + dev: true + + /tslint-config-prettier@1.18.0: + resolution: {integrity: sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg==} + engines: {node: '>=4.0.0'} + hasBin: true + dev: true + + /tslint-consistent-codestyle@1.16.0(tslint@6.1.3)(typescript@4.9.5): + resolution: {integrity: sha512-ebR/xHyMEuU36hGNOgCfjGBNYxBPixf0yU1Yoo6s3BrpBRFccjPOmIVaVvQsWAUAMdmfzHOCihVkcaMfimqvHw==} + peerDependencies: + tslint: ^5.0.0 + typescript: '>=2.1.4 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >=3.1.0-dev || >=3.2.0-dev || >=3.3.0-dev || >=3.4.0-dev' + dependencies: + '@fimbul/bifrost': 0.21.0(tslint@6.1.3)(typescript@4.9.5) + tslib: 1.14.1 + tslint: 6.1.3(typescript@4.9.5) + tsutils: 2.29.0(typescript@4.9.5) + typescript: 4.9.5 + dev: true + + /tslint-eslint-rules@5.4.0(tslint@6.1.3)(typescript@4.9.5): + resolution: {integrity: sha512-WlSXE+J2vY/VPgIcqQuijMQiel+UtmXS+4nvK4ZzlDiqBfXse8FAvkNnTcYhnQyOTW5KFM+uRRGXxYhFpuBc6w==} + peerDependencies: + tslint: ^5.0.0 + typescript: ^2.2.0 || ^3.0.0 + dependencies: + doctrine: 0.7.2 + tslib: 1.9.0 + tslint: 6.1.3(typescript@4.9.5) + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + dev: true + + /tslint-microsoft-contrib@5.2.1(tslint@6.1.3)(typescript@4.9.5): + resolution: {integrity: sha512-PDYjvpo0gN9IfMULwKk0KpVOPMhU6cNoT9VwCOLeDl/QS8v8W2yspRpFFuUS7/c5EIH/n8ApMi8TxJAz1tfFUA==} + deprecated: TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information. + peerDependencies: + tslint: ^5.1.0 + typescript: ^2.1.0 || ^3.0.0 + dependencies: + tslint: 6.1.3(typescript@4.9.5) + tsutils: 2.28.0(typescript@4.9.5) + typescript: 4.9.5 + dev: true + + /tslint@6.1.3(typescript@4.9.5): + resolution: {integrity: sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==} + engines: {node: '>=4.8.0'} + deprecated: TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information. + hasBin: true + peerDependencies: + typescript: '>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev' + dependencies: + '@babel/code-frame': 7.21.4 + builtin-modules: 1.1.1 + chalk: 2.4.2 + commander: 2.20.3 + diff: 4.0.2 + glob: 7.2.3 + js-yaml: 3.14.1 + minimatch: 3.1.2 + mkdirp: 0.5.6 + resolve: 1.22.2 + semver: 5.7.1 + tslib: 1.14.1 + tsutils: 2.29.0(typescript@4.9.5) + typescript: 4.9.5 + dev: true + + /tsutils@2.28.0(typescript@4.9.5): + resolution: {integrity: sha512-bh5nAtW0tuhvOJnx1GLRn5ScraRLICGyJV5wJhtRWOLsxW70Kk5tZtpK3O/hW6LDnqKS9mlUMPZj9fEMJ0gxqA==} + peerDependencies: + typescript: '>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev' + dependencies: + tslib: 1.14.1 + typescript: 4.9.5 + dev: true + + /tsutils@2.29.0(typescript@4.9.5): + resolution: {integrity: sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==} + peerDependencies: + typescript: '>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev' + dependencies: + tslib: 1.14.1 + typescript: 4.9.5 + dev: true + + /tsutils@3.21.0(typescript@4.9.5): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.9.5 + dev: true + + /tty-table@4.2.1: + resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + chalk: 4.1.2 + csv: 5.5.3 + kleur: 4.1.5 + smartwrap: 2.0.2 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 17.7.2 + dev: true + + /type-check@0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.10 + dev: true + + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true + + /update-browserslist-db@1.0.11(browserslist@4.21.7): + resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.7 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: true + + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /v8-compile-cache@2.3.0: + resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} + dev: true + + /v8-to-istanbul@9.1.0: + resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.18 + '@types/istanbul-lib-coverage': 2.0.4 + convert-source-map: 1.9.0 + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /vite@4.3.8: + resolution: {integrity: sha512-uYB8PwN7hbMrf4j1xzGDk/lqjsZvCDbt/JC5dyfxc19Pg8kRm14LinK/uq+HSLNswZEoKmweGdtpbnxRtrAXiQ==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.17.19 + postcss: 8.4.24 + rollup: 3.23.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /w3c-xmlserializer@4.0.0: + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} + dependencies: + xml-name-validator: 4.0.0 + dev: true + + /walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: true + + /wasm-feature-detect@1.2.10: + resolution: {integrity: sha512-rXaUUtV7khnL4FJP8sbuA+cOky0RWar1w41TEIpeRzYUzbZR4rFFlA9FINLWDji+5WSt+L6Q3gP+aPgGbmORVQ==} + dev: false + + /watchpack@2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + dev: true + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + dev: true + + /webpack-cli@5.0.2(webpack@5.38.1): + resolution: {integrity: sha512-4y3W5Dawri5+8dXm3+diW6Mn1Ya+Dei6eEVAdIduAmYNLzv1koKVAqsfgrrc9P2mhrYHQphx5htnGkcNwtubyQ==} + engines: {node: '>=14.15.0'} + hasBin: true + peerDependencies: + '@webpack-cli/generators': '*' + webpack: 5.x.x + webpack-bundle-analyzer: '*' + webpack-dev-server: '*' + peerDependenciesMeta: + '@webpack-cli/generators': + optional: true + webpack-bundle-analyzer: + optional: true + webpack-dev-server: + optional: true + dependencies: + '@discoveryjs/json-ext': 0.5.7 + '@webpack-cli/configtest': 2.1.0(webpack-cli@5.0.2)(webpack@5.38.1) + '@webpack-cli/info': 2.0.1(webpack-cli@5.0.2)(webpack@5.38.1) + '@webpack-cli/serve': 2.0.4(webpack-cli@5.0.2)(webpack@5.38.1) + colorette: 2.0.20 + commander: 10.0.1 + cross-spawn: 7.0.3 + envinfo: 7.8.1 + fastest-levenshtein: 1.0.16 + import-local: 3.1.0 + interpret: 3.1.1 + rechoir: 0.8.0 + webpack: 5.38.1(webpack-cli@5.0.2) + webpack-merge: 5.9.0 + dev: true + + /webpack-merge@5.9.0: + resolution: {integrity: sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==} + engines: {node: '>=10.0.0'} + dependencies: + clone-deep: 4.0.1 + wildcard: 2.0.1 + dev: true + + /webpack-sources@2.3.1: + resolution: {integrity: sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==} + engines: {node: '>=10.13.0'} + dependencies: + source-list-map: 2.0.1 + source-map: 0.6.1 + dev: true + + /webpack@5.38.1(webpack-cli@5.0.2): + resolution: {integrity: sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.4 + '@types/estree': 0.0.47 + '@webassemblyjs/ast': 1.11.0 + '@webassemblyjs/wasm-edit': 1.11.0 + '@webassemblyjs/wasm-parser': 1.11.0 + acorn: 8.8.2 + browserslist: 4.21.7 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.14.1 + es-module-lexer: 0.4.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-better-errors: 1.0.2 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.1.2 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.9(webpack@5.38.1) + watchpack: 2.4.0 + webpack-cli: 5.0.2(webpack@5.38.1) + webpack-sources: 2.3.1 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + + /whatwg-encoding@2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + dependencies: + iconv-lite: 0.6.3 + dev: true + + /whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + dev: true + + /whatwg-url@11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + dev: true + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + dev: true + + /which-pm@2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + dev: true + + /which-typed-array@1.1.9: + resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + is-typed-array: 1.1.10 + dev: true + + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + dev: true + + /word-wrap@1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: true + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + dev: true + + /ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + + /xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: true + + /y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true + + /yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true From 2ba389b1f399d90d253b216b2856d3c08927627b Mon Sep 17 00:00:00 2001 From: "yuqi.pyq" Date: Wed, 12 Jul 2023 11:03:41 +0800 Subject: [PATCH 5/6] feat: js impl fo louvain --- .../data/cluster-origin-properties-data.json | 404 +++++++++++++++++ __tests__/unit/findPath.spec.ts | 139 ++++++ __tests__/unit/louvain.spec.ts | 67 +++ packages/graph-gpu/src/traversal/sssp.ts | 2 +- packages/graph/src/adjMatrix.ts | 29 ++ packages/graph/src/dijkstra.ts | 107 +++++ packages/graph/src/findPath.ts | 68 +++ packages/graph/src/iLouvain.ts | 24 + packages/graph/src/index.ts | 3 + packages/graph/src/louvain.ts | 420 ++++++++++++++++++ packages/graph/src/types.ts | 28 +- packages/graph/src/utils.ts | 81 ++++ packages/graph/src/vector.ts | 156 +++++++ site/benchmark/main.ts | 14 +- site/benchmark/page-rank.ts | 16 +- site/benchmark/sssp.ts | 28 +- site/benchmark/util.ts | 20 + tsconfig.json | 1 + 18 files changed, 1582 insertions(+), 25 deletions(-) create mode 100644 __tests__/data/cluster-origin-properties-data.json create mode 100644 __tests__/unit/findPath.spec.ts create mode 100644 __tests__/unit/louvain.spec.ts create mode 100644 packages/graph/src/adjMatrix.ts create mode 100644 packages/graph/src/dijkstra.ts create mode 100644 packages/graph/src/findPath.ts create mode 100644 packages/graph/src/iLouvain.ts create mode 100644 packages/graph/src/louvain.ts create mode 100644 packages/graph/src/utils.ts create mode 100644 packages/graph/src/vector.ts create mode 100644 site/benchmark/util.ts diff --git a/__tests__/data/cluster-origin-properties-data.json b/__tests__/data/cluster-origin-properties-data.json new file mode 100644 index 0000000..f174b90 --- /dev/null +++ b/__tests__/data/cluster-origin-properties-data.json @@ -0,0 +1,404 @@ +{ + "nodes": [ + { + "id": "node-0", + "label": "node-0", + "data": { + "city": "110000", + "age": 20, + "amount": 100, + "wifi": "wifi-0" + } + }, + { + "id": "node-1", + "label": "node-1", + "data": { + "city": "110000", + "age": 22, + "amount": 100, + "wifi": "wifi-1" + } + }, + { + "id": "node-2", + "label": "node-2", + "data": { + "city": "110000", + "age": 20, + "amount": 100, + "wifi": "wifi-2" + } + }, + { + "id": "node-3", + "label": "node-3", + "data": { + "city": "110000", + "age": 21, + "amount": 100, + "wifi": "wifi-3" + } + }, + { + "id": "node-4", + "label": "node-4", + "data": { + "city": "110000", + "age": 22, + "amount": 100, + "wifi": "wifi-4" + } + }, + { + "id": "node-5", + "label": "node-5", + "data": { + "city": "310000", + "age": 30, + "amount": 1000, + "wifi": "wifi-5" + } + }, + { + "id": "node-6", + "label": "node-6", + "data": { + "city": "310000", + "age": 31, + "amount": 1000, + "wifi": "wifi-6" + } + }, + { + "id": "node-7", + "label": "node-7", + "data": { + "city": "310000", + "age": 31, + "amount": 1000, + "wifi": "wifi-7" + } + }, + { + "id": "node-8", + "label": "node-8", + "data": { + "city": "310000", + "age": 32, + "amount": 1000, + "wifi": "wifi-8" + } + }, + { + "id": "node-9", + "label": "node-9", + "data": { + "city": "310000", + "age": 30, + "amount": 1000, + "wifi": "wifi-9" + } + }, + { + "id": "node-10", + "label": "node-10", + "data": { + "city": "310000", + "age": 30, + "amount": 1000, + "wifi": "wifi-10" + } + }, + { + "id": "node-11", + "label": "node-11", + "data": { + "city": "440300", + "age": 40, + "amount": 10000, + "wifi": "wifi-11" + } + }, + { + "id": "node-12", + "label": "node-12", + "data": { + "city": "440300", + "age": 40, + "amount": 10000, + "wifi": "wifi-12" + } + }, + { + "id": "node-13", + "label": "node-13", + "data": { + "city": "440300", + "age": 41, + "amount": 10000, + "wifi": "wifi-13" + } + }, + { + "id": "node-14", + "label": "node-14", + "data": { + "city": "440300", + "age": 42, + "amount": 10000, + "wifi": "wifi-14" + } + }, + { + "id": "node-15", + "label": "node-15", + "data": { + "city": "440300", + "age": 41, + "amount": 10000, + "wifi": "wifi-15" + } + }, + { + "id": "node-16", + "label": "node-16", + "data": { + "city": "440300", + "age": 43, + "amount": 10000, + "wifi": "wifi-16" + } + } + ], + "edges": [ + { + "id": "edge-0", + "source": "node-0", + "target": "node-1", + "data": {} + }, + { + "id": "edge-1", + "source": "node-0", + "target": "node-2", + "data": {} + }, + { + "id": "edge-2", + "source": "node-0", + "target": "node-3", + "data": {} + }, + { + "id": "edge-3", + "source": "node-0", + "target": "node-4", + "data": {} + }, + { + "id": "edge-4", + "source": "node-1", + "target": "node-2", + "data": {} + }, + { + "id": "edge-5", + "source": "node-1", + "target": "node-3", + "data": {} + }, + { + "id": "edge-6", + "source": "node-1", + "target": "node-4", + "data": {} + }, + { + "id": "edge-7", + "source": "node-2", + "target": "node-3", + "data": {} + }, + { + "id": "edge-8", + "source": "node-2", + "target": "node-4", + "data": {} + }, + { + "id": "edge-9", + "source": "node-3", + "target": "node-4", + "data": {} + }, + { + "id": "edge-10", + "source": "node-5", + "target": "node-6", + "data": {} + }, + { + "id": "edge-11", + "source": "node-5", + "target": "node-7", + "data": {} + }, + { + "id": "edge-12", + "source": "node-5", + "target": "node-8", + "data": {} + }, + { + "id": "edge-13", + "source": "node-5", + "target": "node-9", + "data": {} + }, + { + "id": "edge-14", + "source": "node-6", + "target": "node-7", + "data": {} + }, + { + "id": "edge-15", + "source": "node-6", + "target": "node-8", + "data": {} + }, + { + "id": "edge-16", + "source": "node-6", + "target": "node-9", + "data": {} + }, + { + "id": "edge-17", + "source": "node-7", + "target": "node-8", + "data": {} + }, + { + "id": "edge-18", + "source": "node-7", + "target": "node-9", + "data": {} + }, + { + "id": "edge-19", + "source": "node-8", + "target": "node-9", + "data": {} + }, + { + "id": "edge-20", + "source": "node-9", + "target": "node-10", + "data": {} + }, + { + "id": "edge-40", + "source": "node-10", + "target": "node-5", + "data": {} + }, + { + "id": "edge-21", + "source": "node-11", + "target": "node-12", + "data": {} + }, + { + "id": "edge-22", + "source": "node-11", + "target": "node-13", + "data": {} + }, + { + "id": "edge-23", + "source": "node-11", + "target": "node-14", + "data": {} + }, + { + "id": "edge-24", + "source": "node-11", + "target": "node-15", + "data": {} + }, + { + "id": "edge-25", + "source": "node-12", + "target": "node-13", + "data": {} + }, + { + "id": "edge-26", + "source": "node-12", + "target": "node-14", + "data": {} + }, + { + "id": "edge-27", + "source": "node-12", + "target": "node-15", + "data": {} + }, + { + "id": "edge-28", + "source": "node-13", + "target": "node-14", + "data": {} + }, + { + "id": "edge-29", + "source": "node-13", + "target": "node-15", + "data": {} + }, + { + "id": "edge-30", + "source": "node-14", + "target": "node-15", + "data": {} + }, + { + "id": "edge-31", + "source": "node-0", + "target": "node-5", + "data": {} + }, + { + "id": "edge-32", + "source": "node-5", + "target": "node-11", + "data": {} + }, + { + "id": "edge-33", + "source": "node-11", + "target": "node-0", + "data": {} + }, + { + "id": "edge-34", + "source": "node-16", + "target": "node-0", + "data": {} + }, + { + "id": "edge-35", + "source": "node-16", + "target": "node-5", + "data": {} + }, + { + "id": "edge-36", + "source": "node-16", + "target": "node-11", + "data": {} + } + ] +} \ No newline at end of file diff --git a/__tests__/unit/findPath.spec.ts b/__tests__/unit/findPath.spec.ts new file mode 100644 index 0000000..e6278a6 --- /dev/null +++ b/__tests__/unit/findPath.spec.ts @@ -0,0 +1,139 @@ +import { Graph } from "@antv/graphlib"; +import { findShortestPath, findAllPath } from "../../packages/graph/src"; + +const graph = new Graph({ + nodes: [ + { + id: 'A', + data: {} + }, + { + id: 'B', + data: {} + }, + { + id: 'C', + data: {} + }, + { + id: 'D', + data: {} + }, + { + id: 'E', + data: {} + }, + { + id: 'F', + data: {} + }, + { + id: 'G', + data: {} + }, + { + id: 'H', + data: {} + }, + ], + edges: [ + { + id: 'e1', + source: 'A', + target: 'B', + data: {} + }, + { + id: 'e2', + source: 'B', + target: 'C', + data: {} + }, + { + id: 'e3', + source: 'C', + target: 'G', + data: {} + }, + { + id: 'e4', + source: 'A', + target: 'D', + data: {} + }, + { + id: 'e5', + source: 'A', + target: 'E', + data: {} + }, + { + id: 'e6', + source: 'E', + target: 'F', + data: {} + }, + { + id: 'e7', + source: 'F', + target: 'D', + data: {} + }, + { + id: 'e8', + source: 'D', + target: 'E', + data: {} + }, + ], +}); + +describe('Shortest Path from source to target on graph', () => { + it('find the shortest path', () => { + const { length, path } = findShortestPath(graph, 'A', 'C'); + expect(length).toBe(2); + expect(path).toStrictEqual(['A', 'B', 'C']); + }); + + it('find all shortest paths', () => { + const { length, allPath } = findShortestPath(graph, 'A', 'F'); + expect(length).toBe(2); + expect(allPath[0]).toStrictEqual(['A', 'E', 'F']); + expect(allPath[1]).toStrictEqual(['A', 'D', 'F']); + + const { + length: directedLenght, + path: directedPath, + allPath: directedAllPath, + } = findShortestPath(graph, 'A', 'F', true); + expect(directedLenght).toBe(2); + expect(directedAllPath[0]).toStrictEqual(['A', 'E', 'F']); + expect(directedPath).toStrictEqual(['A', 'E', 'F']); + }); + + it('find all paths', () => { + const allPath = findAllPath(graph, 'A', 'E'); + expect(allPath.length).toBe(3); + expect(allPath[0]).toStrictEqual(['A', 'D', 'F', 'E']); + expect(allPath[1]).toStrictEqual(['A', 'D', 'E']); + expect(allPath[2]).toStrictEqual(['A', 'E']); + }); + + it('find all paths in directed graph', () => { + const allPath = findAllPath(graph, 'A', 'E', true); + expect(allPath.length).toStrictEqual(2); + expect(allPath[0]).toStrictEqual(['A', 'D', 'E']); + expect(allPath[1]).toStrictEqual(['A', 'E']); + }); + + it('find all shortest paths in weighted graph', () => { + graph.getAllEdges().forEach((edge, i) => { + edge.data.weight = ((i % 2) + 1) * 2; + if (edge.source === 'F' && edge.target === 'D') edge.data.weight = 10; + }); + const { length, path, allPath } = findShortestPath(graph, 'A', 'F', false, 'weight'); + expect(length).toBe(6); + expect(allPath[0]).toStrictEqual(['A', 'E', 'F']); + expect(path).toStrictEqual(['A', 'E', 'F']); + }); +}); \ No newline at end of file diff --git a/__tests__/unit/louvain.spec.ts b/__tests__/unit/louvain.spec.ts new file mode 100644 index 0000000..9f9185f --- /dev/null +++ b/__tests__/unit/louvain.spec.ts @@ -0,0 +1,67 @@ +import { Graph } from "@antv/graphlib"; +import { louvain, iLouvain } from "../../packages/graph/src"; +import * as propertiesGraphData from "../data/cluster-origin-properties-data.json"; + +describe('Louvain', () => { + it('simple louvain', () => { + const graph = new Graph({ + nodes: [ + { id: '0', data: {} }, { id: '1', data: {} }, { id: '2', data: {} }, { id: '3', data: {} }, { id: '4', data: {} }, + { id: '5', data: {} }, { id: '6', data: {} }, { id: '7', data: {} }, { id: '8', data: {} }, { id: '9', data: {} }, + { id: '10', data: {} }, { id: '11', data: {} }, { id: '12', data: {} }, { id: '13', data: {} }, { id: '14', data: {} }, + ], + edges: [ + { id: 'e1', source: '0', target: '1', data: {} }, { id: 'e2', source: '0', target: '2', data: {} }, { id: 'e3', source: '0', target: '3', data: {} }, { id: 'e4', source: '0', target: '4', data: {} }, + { id: 'e5', source: '1', target: '2', data: {} }, { id: 'e6', source: '1', target: '3', data: {} }, { id: 'e7', source: '1', target: '4', data: {} }, + { id: 'e8', source: '2', target: '3', data: {} }, { id: 'e9', source: '2', target: '4', data: {} }, + { id: 'e10', source: '3', target: '4', data: {} }, + { id: 'e11', source: '0', target: '0', data: {} }, + { id: 'e12', source: '0', target: '0', data: {} }, + { id: 'e13', source: '0', target: '0', data: {} }, + + { id: 'e14', source: '5', target: '6', data: {weight: 5} }, { id: 'e15', source: '5', target: '7', data: {} }, { id: 'e16', source: '5', target: '8', data: {} }, { id: 'e17', source: '5', target: '9', data: {} }, + { id: 'e18', source: '6', target: '7', data: {} }, { id: 'e19', source: '6', target: '8', data: {} }, { id: 'e20', source: '6', target: '9', data: {} }, + { id: 'e21', source: '7', target: '8', data: {} }, { id: 'e22', source: '7', target: '9', data: {} }, + { id: 'e23',source: '8', target: '9', data: {} }, + + { id: 'e24',source: '10', target: '11', data: {} }, { id: 'e25',source: '10', target: '12', data: {} }, { id: 'e26',source: '10', target: '13', data: {} }, { id: 'e27',source: '10', target: '14', data: {} }, + { id: 'e28',source: '11', target: '12', data: {} }, { id: 'e29',source: '11', target: '13', data: {} }, { id: 'e30',source: '11', target: '14', data: {} }, + { id: 'e31',source: '12', target: '13', data: {} }, { id: 'e32',source: '12', target: '14', data: {} }, + { id: 'e33',source: '13', target: '14', data: { weight: 5 } }, + + { id: 'e34',source: '0', target: '5', data: {}}, + { id: 'e35',source: '5', target: '10', data: {} }, + { id: 'e36',source: '10', target: '0', data: {} }, + { id: 'e37',source: '10', target: '0', data: {} }, + ], + }); + const clusteredData = louvain(graph, false, 'weight'); + expect(clusteredData.clusters.length).toBe(3); + expect(clusteredData.clusters[0].sumTot).toBe(3); + expect(clusteredData.clusters[1].sumTot).toBe(2); + expect(clusteredData.clusterEdges.length).toBe(6); + expect(clusteredData.clusterEdges[0].data.count).toBe(13); + expect(clusteredData.clusterEdges[1].data.count).toBe(10); + expect(clusteredData.clusterEdges[1].data.weight).toBe(14); + }); + + // it('louvain with large graph', () => { // https://gw.alipayobjects.com/os/antvdemo/assets/data/relations.json + // fetch('https://gw.alipayobjects.com/os/basement_prod/da5a1b47-37d6-44d7-8d10-f3e046dabf82.json') + // .then((res) => res.json()) + // .then((data) => { // 1589 nodes, 2747 edges + // const clusteredData = louvain(data, false, 'weight'); + // expect(clusteredData.clusters.length).toBe(495); + // expect(clusteredData.clusterEdges.length).toBe(505); + // }); + // }); + + it('louvain: add inertialModularity', () => { + const graph = new Graph(propertiesGraphData); + const clusteredData = iLouvain(graph, false, 'weight', 0.01); + expect(clusteredData.clusters.length).toBe(3); + expect(clusteredData.clusters[0].sumTot).toBe(3); + expect(clusteredData.clusters[1].sumTot).toBe(3); + expect(clusteredData.clusters[2].sumTot).toBe(4); + expect(clusteredData.clusterEdges.length).toBe(7); + }); +}); \ No newline at end of file diff --git a/packages/graph-gpu/src/traversal/sssp.ts b/packages/graph-gpu/src/traversal/sssp.ts index 82638ae..cb20ee6 100644 --- a/packages/graph-gpu/src/traversal/sssp.ts +++ b/packages/graph-gpu/src/traversal/sssp.ts @@ -196,7 +196,7 @@ fn main( updatePredKernel.dispatch(grids, 1); const out = (await readback.readBuffer(DiOutBuffer)) as Float32Array; - const predecessor = await readback.readBuffer(POutBuffer); + const predecessor = await readback.readBuffer(POutBuffer) as Float32Array; return Array.from(out).map((distance, i) => ({ target: graphData.getAllNodes()[V[i]].id, diff --git a/packages/graph/src/adjMatrix.ts b/packages/graph/src/adjMatrix.ts new file mode 100644 index 0000000..6e607ab --- /dev/null +++ b/packages/graph/src/adjMatrix.ts @@ -0,0 +1,29 @@ +import { Graph, Matrix } from "./types"; + +export function graph2AdjacencyMatrix(graph: Graph, directed?: boolean): Matrix[] { + const matrix: Matrix[] = []; + // map node with index in data.nodes + const nodeMap: { + [key: string]: number; + } = {}; + + graph.getAllNodes().forEach((node, i) => { + nodeMap[node.id] = i; + const row: number[] = []; + matrix.push(row); + }); + + + graph.getAllEdges().forEach((edge) => { + const { source, target } = edge; + const sIndex = nodeMap[source as string]; + const tIndex = nodeMap[target as string]; + if ((!sIndex && sIndex !== 0) || (!tIndex && tIndex !== 0)) return; + matrix[sIndex][tIndex] = 1; + if (!directed) { + matrix[tIndex][sIndex] = 1; + } + }); + + return matrix; +} \ No newline at end of file diff --git a/packages/graph/src/dijkstra.ts b/packages/graph/src/dijkstra.ts new file mode 100644 index 0000000..5ffa2d9 --- /dev/null +++ b/packages/graph/src/dijkstra.ts @@ -0,0 +1,107 @@ +import { Edge, ID, Node } from "@antv/graphlib"; +import { isArray } from '@antv/util'; +import { EdgeData, Graph, NodeData } from "./types"; + +function minVertex( + D: { [key: ID]: number }, + nodes: Node[], + marks: { [key: string]: boolean }, +): Node { + let minDis = Infinity; + let minNode; + for (let i = 0; i < nodes.length; i++) { + const nodeId = nodes[i].id; + if (!marks[nodeId] && D[nodeId] <= minDis) { + minDis = D[nodeId]; + minNode = nodes[i]; + } + } + return minNode; +} + +function findAllPaths(source: ID, target: ID, prevs: Record, foundPaths: Record): ID[] { + if (source === target) { + return [source]; + } + if (foundPaths[target]) { + // @ts-ignore + return foundPaths[target]; + } + const paths: ID[][] = []; + for (const prev of prevs[target]) { + const prevPaths = findAllPaths(source, prev, prevs, foundPaths); + if (!prevPaths) return; + for (const prePath of prevPaths) { + if (isArray(prePath)) paths.push([...prePath, target]); + else paths.push([prePath, target]); + } + } + foundPaths[target] = paths; + // @ts-ignore + return foundPaths[target]; +} + +export function dijkstra( + graph: Graph, + source: ID, + directed?: boolean, + weightPropertyName?: string, +) { + const nodes = graph.getAllNodes(); + const nodeIds: ID[] = []; + const marks: Record = {}; + const D: Record = {}; + const prevs: Record = {}; // key: 顶点, value: 顶点的前驱点数组(可能有多条等长的最短路径) + nodes.forEach((node, i) => { + const id = node.id; + nodeIds.push(id); + D[id] = Infinity; + if (id === source) D[id] = 0; + }); + + const nodeNum = nodes.length; + for (let i = 0; i < nodeNum; i++) { + // Process the vertices + const minNode = minVertex(D, nodes, marks); + const minNodeId = minNode.id; + marks[minNodeId] = true; + + if (D[minNodeId] === Infinity) continue; // Unreachable vertices cannot be the intermediate point + + let relatedEdges: Edge[] = []; + if (directed) { + relatedEdges = graph.getRelatedEdges(minNodeId, 'out'); + } else { + relatedEdges = graph.getRelatedEdges(minNodeId, 'both'); + } + + relatedEdges.forEach((edge) => { + const edgeTarget = edge.target; + const edgeSource = edge.source; + const w = edgeTarget === minNodeId ? edgeSource : edgeTarget; + const weight = weightPropertyName && edge.data[weightPropertyName] as number ? edge.data[weightPropertyName] as number : 1; + if (D[w] > D[minNode.id] + weight) { + D[w] = D[minNode.id] + weight; + prevs[w] = [minNode.id]; + } else if (D[w] === D[minNode.id] + weight) { + prevs[w].push(minNode.id); + } + }); + } + + prevs[source] = [source]; + // 每个节点存可能存在多条最短路径 + const paths: Record = {}; + for (const target in D) { + if (D[target] !== Infinity) { + findAllPaths(source, target, prevs, paths); + } + } + + // 兼容之前单路径 + const path: Record = {}; + for (const target in paths) { + path[target] = paths[target][0]; + } + return { length: D, path, allPath: paths }; +} \ No newline at end of file diff --git a/packages/graph/src/findPath.ts b/packages/graph/src/findPath.ts new file mode 100644 index 0000000..b0a5e55 --- /dev/null +++ b/packages/graph/src/findPath.ts @@ -0,0 +1,68 @@ +import { ID, Node } from "@antv/graphlib"; +import { Graph, NodeData } from "./types"; +import { dijkstra } from "./dijkstra"; + +export const findShortestPath = ( + graph: Graph, + start: ID, + end: ID, + directed?: boolean, + weightPropertyName?: string +) => { + const { length, path, allPath } = dijkstra( + graph, + start, + directed, + weightPropertyName + ); + return { length: length[end], path: path[end], allPath: allPath[end] }; +}; + +export const findAllPath = ( + graph: Graph, + start: ID, + end: ID, + directed?: boolean +) => { + if (start === end) return [[start]]; + + const visited = [start]; + const isVisited = { [start]: true }; + const stack: Node[][] = []; // 辅助栈,用于存储访问过的节点的邻居节点 + const allPath = []; + let neighbors = directed + ? graph.getSuccessors(start) + : graph.getNeighbors(start); + stack.push(neighbors); + + while (visited.length > 0 && stack.length > 0) { + const children = stack[stack.length - 1]; + if (children.length) { + const child = children.shift(); + if (child) { + visited.push(child.id); + isVisited[child.id] = true; + neighbors = directed + ? graph.getSuccessors(child.id) + : graph.getNeighbors(child.id); + stack.push(neighbors.filter((neighbor) => !isVisited[neighbor.id])); + } + } else { + const node = visited.pop(); + isVisited[node] = false; + stack.pop(); + continue; + } + + if (visited[visited.length - 1] === end) { + const path = visited.map((node) => node); + allPath.push(path); + + const node = visited.pop(); + isVisited[node] = false; + stack.pop(); + } + } + + return allPath; +}; \ No newline at end of file diff --git a/packages/graph/src/iLouvain.ts b/packages/graph/src/iLouvain.ts new file mode 100644 index 0000000..2ad40b5 --- /dev/null +++ b/packages/graph/src/iLouvain.ts @@ -0,0 +1,24 @@ +import { louvain } from './louvain'; +import type { ClusterData, Graph } from "./types"; + +/** + * 社区发现 i-louvain 算法:模块度 + 惯性模块度(即节点属性相似性) + * @param graphData 图数据 + * @param directed 是否有向图,默认为 false + * @param weightPropertyName 权重的属性字段 + * @param threshold 差值阈值 + * @param involvedKeys 参与计算的key集合 + * @param uninvolvedKeys 不参与计算的key集合 + * @param inertialWeight 惯性模块度权重 + */ +export function iLouvain( + graph: Graph, + directed: boolean = false, + weightPropertyName: string = 'weight', + threshold: number = 0.0001, + involvedKeys: string[] = [], + uninvolvedKeys: string[] = ['id'], + inertialWeight: number = 1, +): ClusterData { + return louvain(graph, directed, weightPropertyName, threshold, true, involvedKeys, uninvolvedKeys, inertialWeight); +} \ No newline at end of file diff --git a/packages/graph/src/index.ts b/packages/graph/src/index.ts index d80201a..ab5387c 100644 --- a/packages/graph/src/index.ts +++ b/packages/graph/src/index.ts @@ -1 +1,4 @@ export * from "./pageRank"; +export * from "./findPath"; +export * from "./louvain"; +export * from "./iLouvain"; diff --git a/packages/graph/src/louvain.ts b/packages/graph/src/louvain.ts new file mode 100644 index 0000000..dfb477c --- /dev/null +++ b/packages/graph/src/louvain.ts @@ -0,0 +1,420 @@ +import { ID, Node } from "@antv/graphlib"; +import { clone } from "@antv/util"; +import { Cluster, ClusterData, ClusterMap, Graph, NodeData } from "./types"; +import { getAllProperties, oneHot } from "./utils"; +import { graph2AdjacencyMatrix } from "./adjMatrix"; +import { Vector } from "./vector"; + +/** + * The quality of the communities referred as partitions hereafter is measured by Modularity of the partition. + * @see https://medium.com/walmartglobaltech/demystifying-louvains-algorithm-and-its-implementation-in-gpu-9a07cdd3b010 + */ +function getModularity( + nodes: Node[], + adjMatrix: number[][], + ks: number[], + m: number +) { + const length = adjMatrix.length; + const param = 2 * m; // number if links + let modularity = 0; + for (let i = 0; i < length; i++) { + const clusteri = nodes[i].data.clusterId as string; + for (let j = 0; j < length; j++) { + const clusterj = nodes[j].data.clusterId as string; + if (clusteri !== clusterj) continue; // 1 if x = y and 0 otherwise + const entry = adjMatrix[i][j] || 0; // Aij: the weightof the edge between i & j + const ki = ks[i] || 0; // Ki: degree of the node + const kj = ks[j] || 0; + modularity += (entry - ki * kj / param); + } + } + modularity *= (1 / param); + return modularity; +} + +// 模块惯性度,衡量属性相似度 +function getInertialModularity( + nodes: Node[] = [], + allPropertiesWeight: number[][], +) { + const length = nodes.length; + let totalProperties = new Vector([]); + for (let i = 0; i < length; i++) { + totalProperties = totalProperties.add(new Vector(allPropertiesWeight[i])); + } + // 均值向量 + const avgProperties = totalProperties.avg(length); + + avgProperties.normalize(); + // 节点集合的方差: 节点v与均值向量的平方欧式距离之和 + let variance: number = 0; + for (let i = 0; i < length; i++) { + const propertiesi = new Vector(allPropertiesWeight[i]); + const squareEuclideanDistance = propertiesi.squareEuclideanDistance(avgProperties); + variance += squareEuclideanDistance; + } + + // 任意两点间的欧式平方距离 + const squareEuclideanDistanceInfo: number[][] = []; + nodes.forEach(() => { + squareEuclideanDistanceInfo.push([]); + }); + for (let i = 0; i < length; i++) { + const propertiesi = new Vector(allPropertiesWeight[i]); + nodes[i].data['clusterInertial'] = 0; + for (let j = 0; j < length; j++) { + if ( i === j) { + squareEuclideanDistanceInfo[i][j] = 0; + continue; + } + const propertiesj = new Vector(allPropertiesWeight[j]); + squareEuclideanDistanceInfo[i][j] = propertiesi.squareEuclideanDistance(propertiesj); + (nodes[i].data['clusterInertial'] as number) += squareEuclideanDistanceInfo[i][j]; + } + } + + // 计算模块惯性度 + let inertialModularity = 0; + const param = 2 * length * variance; + for (let i = 0; i < length; i++) { + const clusteri = nodes[i].data.clusterId; + for (let j = 0; j < length; j++) { + const clusterj = nodes[j].data.clusterId; + if ( i === j || clusteri !== clusterj) continue; + const inertial = ((nodes[i].data.clusterInertial as number) * (nodes[j].data.clusterInertial as number)) + / Math.pow(param, 2) - squareEuclideanDistanceInfo[i][j] / param; + inertialModularity += inertial; + } + } + return Number(inertialModularity.toFixed(4)); +} + +/** + * 社区发现 louvain 算法 + * @param graphData 图数据 + * @param directed 是否有向图,默认为 false + * @param weightPropertyName 权重的属性字段 + * @param threshold 差值阈值 + * @param inertialModularity 是否使用惯性模块度(即节点属性相似性) + * @param propertyKey 属性的字段名 + * @param involvedKeys 参与计算的key集合 + * @param uninvolvedKeys 不参与计算的key集合 + * @param inertialWeight 惯性模块度权重 + */ +export function louvain( + graph: Graph, + directed: boolean = false, + weightPropertyName: string = 'weight', + threshold: number = 0.0001, + inertialModularity: boolean = false, + involvedKeys: string[] = [], + uninvolvedKeys: string[] = ['id'], + inertialWeight: number = 1, +): ClusterData { + const nodes = graph.getAllNodes(); + const edges = graph.getAllEdges(); + + let allPropertiesWeight: number[][] = []; + if (inertialModularity) { + nodes.forEach((node, index) => { + node.data.originIndex = index; + }); + + let nodeTypeInfo: string[] = []; + if (nodes.every((node) => 'nodeType' in node.data)) { + nodeTypeInfo = Array.from(new Set(nodes.map((node) => node.data.nodeType as string))); + nodes.forEach((node) => { + node.data.nodeType = nodeTypeInfo.findIndex((nodeType) => nodeType === node.data.nodeType); + }); + } + // 所有节点属性集合 + const properties = getAllProperties(nodes); + + // 所有节点属性one-hot特征向量集合 + allPropertiesWeight = oneHot(properties, involvedKeys, uninvolvedKeys) as number[][]; + } + + /** + * 1. To start with each node is assigned to a different community or partition. + * The number of partitions is equal to number of nodes N. + */ + let uniqueId = 1; + const clusters: ClusterMap = {}; + const nodeMap: Record; idx: number }> = {}; + nodes.forEach((node, i) => { + const cid: string = String(uniqueId++); + node.data.clusterId = cid; + clusters[cid] = { + id: cid, + nodes: [node] + }; + nodeMap[node.id] = { + node, + idx: i + }; + }); + // the adjacent matrix of calNodes inside clusters + const adjMatrix = graph2AdjacencyMatrix(graph, directed); + // the sum of each row in adjacent matrix + const ks: number[] = []; + /** + * neighbor nodes (id for key and weight for value) for each node + * neighbors = { + * id(node_id): { id(neighbor_1_id): weight(weight of the edge), id(neighbor_2_id): weight(weight of the edge), ... }, + * ... + * } + */ + const neighbors: Record> = {}; + // the sum of the weights of all edges in the graph + let m = 0; + adjMatrix.forEach((row, i) => { + let k = 0; + const iid = nodes[i].id; + neighbors[iid] = {}; + row.forEach((entry, j) => { + if (!entry) return; + k += entry; + const jid = nodes[j].id; + neighbors[iid][jid] = entry; + m += entry; + }); + ks.push(k); + }); + + m /= 2; + + let totalModularity = Infinity; + let previousModularity = Infinity; + let iter = 0; + + let finalNodes: Node[] = []; + let finalClusters: ClusterMap = {}; + while (true) { + if (inertialModularity && nodes.every((node) => node.hasOwnProperty('properties'))) { + totalModularity = getModularity(nodes, adjMatrix, ks, m) + getInertialModularity(nodes, allPropertiesWeight) * inertialWeight; + } else { + totalModularity = getModularity(nodes, adjMatrix, ks, m); + } + + // 第一次迭代previousModularity直接赋值 + if (iter === 0) { + previousModularity = totalModularity; + finalNodes = nodes; + finalClusters = clusters; + } + + const increaseWithinThreshold = totalModularity > 0 && totalModularity > previousModularity && totalModularity - previousModularity < threshold; + // 总模块度增加才更新最优解 + if (totalModularity > previousModularity) { + finalClusters = clone(clusters); + previousModularity = totalModularity; + } + + // whether to terminate the iterations + if (increaseWithinThreshold || iter > 100) { + break; + } + iter++; + // pre compute some values for current clusters + Object.keys(clusters).forEach((clusterId) => { + // sum of weights of edges to nodes in cluster + let sumTot = 0; + edges.forEach((edge) => { + const { source, target } = edge; + const sourceClusterId = nodeMap[source].node.data.clusterId; + const targetClusterId = nodeMap[target].node.data.clusterId; + if ((sourceClusterId === clusterId && targetClusterId !== clusterId) + || (targetClusterId === clusterId && sourceClusterId !== clusterId)) { + sumTot = sumTot + (edge.data[weightPropertyName] as number || 1); + } + }); + clusters[clusterId].sumTot = sumTot; + }); + + + // move the nodes to increase the delta modularity + nodes.forEach((node, i) => { + const selfCluster = clusters[node.data.clusterId]; + let bestIncrease = 0; + let bestCluster: Cluster; + + const commonParam = ks[i] / (2 * m); + + // sum of weights of edges from node to nodes in cluster + let kiin = 0; + const selfClusterNodes = selfCluster.nodes; + selfClusterNodes.forEach((scNode) => { + const scNodeIdx = nodeMap[scNode.id].idx; + kiin += adjMatrix[i][scNodeIdx] || 0; + }); + // the modurarity for **removing** the node i from the origin cluster of node i + const removeModurarity = kiin - selfCluster.sumTot * commonParam; + // nodes for **removing** node i into this neighbor cluster + const selfClusterNodesAfterRemove = selfClusterNodes.filter((scNode) => scNode.id !== node.id); + const propertiesWeightRemove: number[][] = []; + selfClusterNodesAfterRemove.forEach((nodeRemove, index) => { + propertiesWeightRemove[index] = allPropertiesWeight[nodeRemove.data.originIndex as number]; + }); + // the inertialModularity for **removing** the node i from the origin cluster of node i + const removeInertialModularity = getInertialModularity(selfClusterNodesAfterRemove, allPropertiesWeight) * inertialWeight; + + // the neightbors of the node + const nodeNeighborIds = neighbors[node.id]; + Object.keys(nodeNeighborIds).forEach((neighborNodeId) => { + const neighborNode = nodeMap[neighborNodeId].node; + const neighborClusterId = neighborNode.data.clusterId; + + // if the node and the neighbor of node are in the same cluster, reutrn + if (neighborClusterId === node.data.clusterId) return; + const neighborCluster = clusters[neighborClusterId]; + const clusterNodes = neighborCluster.nodes; + + // if the cluster is empty, remove the cluster and return + if (!clusterNodes || !clusterNodes.length) return; + + // sum of weights of edges from node to nodes in cluster + let neighborClusterKiin = 0; + clusterNodes.forEach((cNode) => { + const cNodeIdx = nodeMap[cNode.id].idx; + neighborClusterKiin += adjMatrix[i][cNodeIdx] || 0; + }); + + // the modurarity for **adding** node i into this neighbor cluster + const addModurarity = neighborClusterKiin - neighborCluster.sumTot * commonParam; + // nodes for **adding** node i into this neighbor cluster + const clusterNodesAfterAdd= clusterNodes.concat([node]); + const propertiesWeightAdd: number[][] = []; + clusterNodesAfterAdd.forEach((nodeAdd, index) => { + propertiesWeightAdd[index] = allPropertiesWeight[nodeAdd.data.originIndex as number]; + }); + // the inertialModularity for **adding** node i into this neighbor cluster + const addInertialModularity = getInertialModularity(clusterNodesAfterAdd, allPropertiesWeight) * inertialWeight; + + // the increase modurarity is the difference between addModurarity and removeModurarity + let increase = addModurarity - removeModurarity; + if (inertialModularity) { + increase = (addModurarity + addInertialModularity) - (removeModurarity + removeInertialModularity); + } + + // find the best cluster to move node i into + if (increase > bestIncrease) { + bestIncrease = increase; + bestCluster = neighborCluster; + } + }); + + // if found a best cluster to move into + if (bestIncrease > 0) { + bestCluster.nodes.push(node); + const previousClusterId = node.data.clusterId; + node.data.clusterId = bestCluster.id; + // move the node to the best cluster + const nodeInSelfClusterIdx = selfCluster.nodes.indexOf(node); + // remove from origin cluster + selfCluster.nodes.splice(nodeInSelfClusterIdx, 1); + // update sumTot for clusters + // sum of weights of edges to nodes in cluster + let neighborClusterSumTot = 0; + let selfClusterSumTot = 0; + edges.forEach((edge) => { + const { source, target } = edge; + const sourceClusterId = nodeMap[source].node.data.clusterId; + const targetClusterId = nodeMap[target].node.data.clusterId; + if ((sourceClusterId === bestCluster.id && targetClusterId !== bestCluster.id) + || (targetClusterId === bestCluster.id && sourceClusterId !== bestCluster.id)) { + neighborClusterSumTot = neighborClusterSumTot + (edge.data[weightPropertyName] as number || 1); + } + if ((sourceClusterId === previousClusterId && targetClusterId !== previousClusterId) + || (targetClusterId === previousClusterId && sourceClusterId !== previousClusterId)) { + selfClusterSumTot = selfClusterSumTot + (edge.data[weightPropertyName] as number || 1); + } + }); + + // the nodes of the clusters to move into and remove are changed, update their sumTot + bestCluster.sumTot = neighborClusterSumTot; + selfCluster.sumTot = selfClusterSumTot; + } + }); + } + + // delete the empty clusters, assign increasing clusterId + const newClusterIdMap: Record = {}; + let clusterIdx = 0; + Object.keys(finalClusters).forEach((clusterId) => { + const cluster = finalClusters[clusterId]; + if (!cluster.nodes || !cluster.nodes.length) { + delete finalClusters[clusterId]; + return; + } + const newId = String(clusterIdx + 1); + if (newId === clusterId) { + return; + } + cluster.id = newId; + cluster.nodes.forEach((node) => { + node.data.clusterId = newId; + }); + finalClusters[newId] = cluster; + newClusterIdMap[clusterId] = newId; + delete finalClusters[clusterId]; + clusterIdx ++; + }); + // restore node clusterId + finalNodes.forEach((node) => { + if (node.data.clusterId && newClusterIdMap[node.data.clusterId]) { + node.data.clusterId = newClusterIdMap[node.data.clusterId]; + } + }); + // get the cluster edges + const clusterEdges: { + id: ID; + source: string; + target: string; + data: { + weight: number; + count: number; + } + }[] = []; + const clusterEdgeMap: Record = {}; + edges.forEach((edge) => { + const { source, target } = edge; + const weight = edge.data[weightPropertyName] as number || 1; + const sourceClusterId = nodeMap[source].node.data.clusterId; + const targetClusterId = nodeMap[target].node.data.clusterId; + if (!sourceClusterId || !targetClusterId) return; + const newEdgeId = `${sourceClusterId}---${targetClusterId}`; + if (clusterEdgeMap[newEdgeId]) { + clusterEdgeMap[newEdgeId].data.weight += weight; + clusterEdgeMap[newEdgeId].data.count++; + } else { + const newEdge = { + id: edge.id, + source: sourceClusterId, + target: targetClusterId, + data: { + weight, + count: 1 + } + }; + clusterEdgeMap[newEdgeId] = newEdge; + clusterEdges.push(newEdge); + } + }); + const clustersArray: Cluster[] = []; + Object.keys(finalClusters).forEach((clusterId) => { + clustersArray.push(finalClusters[clusterId]); + }); + return { + clusters: clustersArray, + clusterEdges + }; +} diff --git a/packages/graph/src/types.ts b/packages/graph/src/types.ts index 88318c3..8fe9dce 100644 --- a/packages/graph/src/types.ts +++ b/packages/graph/src/types.ts @@ -1,9 +1,33 @@ -import { Graph as IGraph, PlainObject } from "@antv/graphlib"; +import { Edge, Graph as IGraph, Node, PlainObject } from "@antv/graphlib"; -export interface NodeData extends PlainObject {} +// 数据集中属性/特征值分布的map +export interface KeyValueMap { + [key:string]: any[]; +} + +export interface NodeData extends PlainObject { + clusterId?: string; +} export interface EdgeData extends PlainObject { weight?: number; } +export interface Cluster { + id: string; + nodes: Node[]; + sumTot?: number; +} + +export interface ClusterData { + clusters: Cluster[]; + clusterEdges: Edge[]; +} + +export interface ClusterMap { + [key: string]: Cluster; +} + export type Graph = IGraph; + +export type Matrix = number[]; \ No newline at end of file diff --git a/packages/graph/src/utils.ts b/packages/graph/src/utils.ts new file mode 100644 index 0000000..80470f3 --- /dev/null +++ b/packages/graph/src/utils.ts @@ -0,0 +1,81 @@ +import { Node, PlainObject } from "@antv/graphlib"; +import { KeyValueMap, NodeData } from "./types"; +import { uniq } from "@antv/util"; + +export const getAllProperties = (nodes: Node[]) => { + const allProperties: NodeData[] = []; + nodes.forEach((node) => { + allProperties.push(node.data); + }); + return allProperties; +}; + +export const getAllKeyValueMap = (dataList: PlainObject[], involvedKeys?: string[], uninvolvedKeys?: string[]) => { + let keys: string[] = []; + // 指定了参与计算的keys时,使用指定的keys + if (involvedKeys?.length) { + keys = involvedKeys; + } else { + // 未指定抽取的keys时,提取数据中所有的key + dataList.forEach((data) => { + keys = keys.concat(Object.keys(data)); + }); + keys = uniq(keys); + } + // 获取所有值非空的key的value数组 + const allKeyValueMap: KeyValueMap = {}; + keys.forEach((key) => { + const value: unknown[] = []; + dataList.forEach((data) => { + if (data[key] !== undefined && data[key] !== '') { + value.push(data[key]); + } + }); + if (value.length && !uninvolvedKeys?.includes(key)) { + allKeyValueMap[key] = uniq(value); + } + }); + + return allKeyValueMap; +}; + +export const oneHot = (dataList: PlainObject[], involvedKeys?: string[], uninvolvedKeys?: string[]) => { + // 获取数据中所有的属性/特征及其对应的值 + const allKeyValueMap = getAllKeyValueMap(dataList, involvedKeys, uninvolvedKeys); + const oneHotCode: unknown[][] = []; + if (!Object.keys(allKeyValueMap).length) { + return oneHotCode; + } + + // 获取所有的属性/特征值 + const allValue = Object.values(allKeyValueMap); + // 是否所有属性/特征的值都是数值型 + const isAllNumber = allValue.every((value) => value.every((item) => (typeof(item) === 'number'))); + + // 对数据进行one-hot编码 + dataList.forEach((data, index) => { + let code: unknown[] = []; + Object.keys(allKeyValueMap).forEach((key) => { + const keyValue = data[key]; + const allKeyValue = allKeyValueMap[key]; + const valueIndex = allKeyValue.findIndex((value) => keyValue === value); + const subCode = []; + // 如果属性/特征所有的值都能转成数值型,不满足分箱,则直接用值(todo: 为了收敛更快,需做归一化处理) + if (isAllNumber) { + subCode.push(keyValue); + } else { + // 进行one-hot编码 + for(let i = 0; i < allKeyValue.length; i++) { + if (i === valueIndex) { + subCode.push(1); + } else { + subCode.push(0); + } + } + } + code = code.concat(subCode); + }); + oneHotCode[index] = code; + }); + return oneHotCode; +}; \ No newline at end of file diff --git a/packages/graph/src/vector.ts b/packages/graph/src/vector.ts new file mode 100644 index 0000000..ee65fa9 --- /dev/null +++ b/packages/graph/src/vector.ts @@ -0,0 +1,156 @@ +/** + * 向量运算 + */ +import { clone } from '@antv/util'; + +export class Vector { + arr: number[]; + + constructor(arr: number[]) { + this.arr = arr; + } + + getArr() { + return this.arr || []; + } + + add(otherVector: Vector) { + const otherArr = otherVector.arr; + if (!this.arr?.length) { + return new Vector(otherArr); + } + if (!otherArr?.length) { + return new Vector(this.arr); + } + if (this.arr.length === otherArr.length) { + const res: number[] = []; + for (const index in this.arr) { + res[index] = this.arr[index] + otherArr[index]; + } + return new Vector(res); + } + } + + subtract(otherVector: Vector) { + const otherArr = otherVector.arr; + if (!this.arr?.length) { + return new Vector(otherArr); + } + if (!otherArr?.length) { + return new Vector(this.arr); + } + if (this.arr.length === otherArr.length) { + const res: number[] = []; + for (const index in this.arr) { + res[index] = this.arr[index] - otherArr[index]; + } + return new Vector(res); + } + } + + avg(length: number) { + const res: number[] = []; + if (length !== 0) { + for (const index in this.arr) { + res[index] = this.arr[index] / length; + } + } + return new Vector(res); + } + + negate() { + const res: number[] = []; + for (const index in this.arr) { + res[index] = - this.arr[index]; + } + return new Vector(res); + } + + // 平方欧式距离 + squareEuclideanDistance(otherVector: Vector) { + const otherArr = otherVector.arr; + if (!this.arr?.length || !otherArr?.length) { + return 0; + } + if (this.arr.length === otherArr.length) { + let res = 0; + for (const index in this.arr) { + res += Math.pow(this.arr[index] - otherVector.arr[index], 2); + } + return res; + } + } + + // 欧式距离 + euclideanDistance(otherVector: Vector) { + const otherArr = otherVector.arr; + if (!this.arr?.length || !otherArr?.length) { + return 0; + } + if (this.arr.length === otherArr.length) { + let res = 0; + for (const index in this.arr) { + res += Math.pow(this.arr[index] - otherVector.arr[index], 2); + } + return Math.sqrt(res); + } + console.error('The two vectors are unequal in length.'); + + } + + // 归一化处理 + normalize() { + const res: number[] = []; + const cloneArr = clone(this.arr); + cloneArr.sort((a: number, b: number) => a - b); + const max = cloneArr[cloneArr.length - 1]; + const min = cloneArr[0]; + for (const index in this.arr) { + res[index] = (this.arr[index] - min) / (max - min); + } + return new Vector(res); + } + + // 2范数 or 模长 + norm2() { + if (!this.arr?.length) { + return 0; + } + let res = 0; + for (const index in this.arr) { + res += Math.pow(this.arr[index], 2); + } + return Math.sqrt(res); + } + + // 两个向量的点积 + dot(otherVector: Vector) { + const otherArr = otherVector.arr; + if (!this.arr?.length || !otherArr?.length) { + return 0; + } + if (this.arr.length === otherArr.length) { + let res = 0; + for (const index in this.arr) { + res += this.arr[index] * otherVector.arr[index]; + } + return res; + } + console.error('The two vectors are unequal in length.'); + + } + + // 两个向量比较 + equal(otherVector: Vector) { + const otherArr = otherVector.arr; + if (this.arr?.length !== otherArr?.length) { + return false; + } + for (const index in this.arr) { + if (this.arr[index] !== otherArr[index]) { + return false; + } + } + return true; + } +} diff --git a/site/benchmark/main.ts b/site/benchmark/main.ts index 3a944fd..8d46dc0 100644 --- a/site/benchmark/main.ts +++ b/site/benchmark/main.ts @@ -7,7 +7,7 @@ import { webgpu as webgpuPageRank, wasm as wasmPageRank } from "./page-rank"; -import { graphology as graphologySSSP, webgpu as webgpuSSSP } from "./sssp"; +import { graphology as graphologySSSP, webgpu as webgpuSSSP, wasm as wasmSSSP } from "./sssp"; import { initThreads } from "../../packages/graph-wasm"; const TestsConfig = [ @@ -65,7 +65,7 @@ const initThreadsPool = async () => { name: TestName.GRAPHOLOGY, methods: { pageRank: graphologyPageRank, - // sssp: graphologySSSP, + sssp: graphologySSSP, }, }, { @@ -86,7 +86,7 @@ const initThreadsPool = async () => { name: TestName.ANTV_GRAPH_WASM, methods: { pageRank: wasmPageRank, - // sssp: webgpuSSSP, + sssp: wasmSSSP, }, }, ]; @@ -95,10 +95,10 @@ const initThreadsPool = async () => { const dataset = datasets[$dataset.value]; const algorithmName = $algorithm.value; let options = {}; - // if (algorithmName === "sssp") { - // const graph = dataset[TestName.ANTV_WEBGPU_GRAPH]; - // options = graph.getAllNodes()[1].id; - // } + if (algorithmName === "sssp") { + const graph = dataset[TestName.ANTV_ALGORITHM]; + options = graph.getAllNodes()[1].id; + } await Promise.all( layoutConfig.map(async ({ name, methods }: any, i: number) => { diff --git a/site/benchmark/page-rank.ts b/site/benchmark/page-rank.ts index fc9ff37..fcc9a47 100644 --- a/site/benchmark/page-rank.ts +++ b/site/benchmark/page-rank.ts @@ -3,6 +3,7 @@ import pagerank from "graphology-metrics/centrality/pagerank"; import { pageRank } from "../../packages/graph"; import { WebGPUGraph } from "../../packages/graph-gpu"; import { Threads } from "../../packages/graph-wasm"; +import { graph2Edgelist } from "./util"; function format(records: { id: ID; score: number}[]) { return records.map(({ id, score }) => ({ id, score: score.toFixed(6) })); @@ -73,21 +74,10 @@ export async function wasm( _: any, threads: Threads ): Promise { - const edgelist: [number, number][] = []; - const nodeIdxMap: Record = {}; - const idxNodeMap: Record = {}; - const edges = graph.getAllEdges(); - graph.getAllNodes().forEach((node, i) => { - nodeIdxMap[node.id] = i; - idxNodeMap[i] = node.id; - }); - // convert graph to edgelist - edges.forEach((edge) => { - edgelist.push([nodeIdxMap[edge.source], nodeIdxMap[edge.target]]); - }); + const { edgelist, idxNodeMap } = graph2Edgelist(graph); const ranks = await threads.pageRank({ ...options, - edgelist + edgelist: edgelist as [number, number][] }); const formatted = ranks.map((rank, i) => ({ id: idxNodeMap[i], score: rank })); return format(formatted.sort((a, b) => b.score - a.score).slice(0, 10)); // {id: 'Valjean', score: 0.1} diff --git a/site/benchmark/sssp.ts b/site/benchmark/sssp.ts index 77c7572..06444d8 100644 --- a/site/benchmark/sssp.ts +++ b/site/benchmark/sssp.ts @@ -1,12 +1,20 @@ +import { Graph } from "@antv/graphlib"; import { dijkstra } from "graphology-shortest-path"; -import { WebGPUGraph } from "../../packages/graph-gpu/src"; +import { findShortestPath } from "../../packages/graph"; +import { WebGPUGraph } from "../../packages/graph-gpu"; +import { Threads } from "../../packages/graph-wasm"; +import { graph2Edgelist } from "./util"; export async function graphology(graph: any, source: string) { return dijkstra.singleSource(graph, source, "weight"); } +export async function antv(graph: Graph, source: string) { + // findShortestPath(graph, source) +} + export async function webgpu( - graph: any, + graph: Graph, source: string, webgpuGraph: WebGPUGraph ) { @@ -14,3 +22,19 @@ export async function webgpu( return result.filter((r) => r.distance !== 1000000); } + +export async function wasm( + graph: Graph, + source: string, + _: any, + threads: Threads +): Promise { + const { edgelist, nodeIdxMap, idxNodeMap } = graph2Edgelist(graph, 'weight'); + const paths = await threads.sssp({ + startNode: nodeIdxMap[source], + edgelist: edgelist as [number, number, number][], + }); + console.log(paths); + // const formatted = ranks.map((rank, i) => ({ id: idxNodeMap[i], score: rank })); + // return format(formatted.sort((a, b) => b.score - a.score).slice(0, 10)); // {id: 'Valjean', score: 0.1} +} \ No newline at end of file diff --git a/site/benchmark/util.ts b/site/benchmark/util.ts new file mode 100644 index 0000000..649d594 --- /dev/null +++ b/site/benchmark/util.ts @@ -0,0 +1,20 @@ +import { Graph, ID } from "@antv/graphlib"; + +export function graph2Edgelist(graph: Graph, weightPropertyName?: string) { + const edgelist: number[][] = []; + const nodeIdxMap: Record = {}; + const idxNodeMap: Record = {}; + const edges = graph.getAllEdges(); + graph.getAllNodes().forEach((node, i) => { + nodeIdxMap[node.id] = i; + idxNodeMap[i] = node.id; + }); + edges.forEach((edge) => { + if (weightPropertyName) { + edgelist.push([nodeIdxMap[edge.source], nodeIdxMap[edge.target], edge.data[weightPropertyName] || 1]); + } else { + edgelist.push([nodeIdxMap[edge.source], nodeIdxMap[edge.target]]); + } + }); + return { edgelist, nodeIdxMap, idxNodeMap }; +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 03e2ca5..cf11009 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,7 @@ "jsx": "react", "allowJs": true, "moduleResolution": "node", + "resolveJsonModule": true, "allowSyntheticDefaultImports": true } } From 1b42e9ede8680d0f164c0ee9f1a0531c00f53923 Mon Sep 17 00:00:00 2001 From: "yuqi.pyq" Date: Thu, 13 Jul 2023 15:28:52 +0800 Subject: [PATCH 6/6] feat: rust impl for louvain --- benchmarks/louvain.test.js | 54 ++ benchmarks/util.js | 60 ++ package.json | 5 + packages/graph-rust/Cargo.toml | 1 + .../graph-rust/src/graph_builder/builder.rs | 199 ------ packages/graph-rust/src/lib.rs | 1 + packages/graph-rust/src/louvain.rs | 604 ++++++++++++++++++ packages/graph-rust/src/prelude.rs | 3 +- packages/graph-wasm/Cargo.lock | 7 + packages/graph-wasm/rust-src/lib.rs | 15 + packages/graph-wasm/src/interface.ts | 7 +- packages/graph-wasm/src/wasm-worker.js | 17 +- packages/graph/src/louvain.ts | 4 +- pnpm-lock.yaml | 42 ++ site/benchmark/index.html | 2 + site/benchmark/louvain.ts | 44 ++ site/benchmark/main.ts | 50 +- site/benchmark/sssp.ts | 19 +- site/data/undirected1000.json | 1 + site/data/undirected500.json | 1 + site/datasets.ts | 28 +- 21 files changed, 927 insertions(+), 237 deletions(-) create mode 100644 benchmarks/louvain.test.js create mode 100644 benchmarks/util.js create mode 100644 packages/graph-rust/src/louvain.rs create mode 100644 site/benchmark/louvain.ts create mode 100644 site/data/undirected1000.json create mode 100644 site/data/undirected500.json diff --git a/benchmarks/louvain.test.js b/benchmarks/louvain.test.js new file mode 100644 index 0000000..28ae2bf --- /dev/null +++ b/benchmarks/louvain.test.js @@ -0,0 +1,54 @@ +var Benchmark = require("benchmark"); +var suite = new Benchmark.Suite(); + +/** + * Graphology + */ +var Graph = require("graphology"); +var louvain = require('graphology-communities-louvain'); +var { louvain: AntvLouvain } = require("../packages/graph"); +var randomClusters = require("graphology-generators/random/clusters"); +var seedrandom = require("seedrandom"); +var rng = function () { + return seedrandom("bench"); +}; +const { graphology2antv } = require("./util"); + +const NODE_NUM = 10; +const EDGE_NUM = 30; +var graph = randomClusters(Graph, { + order: NODE_NUM, + size: EDGE_NUM, + clusters: 5, + rng: rng(), +}); +graph.edges().forEach(function (edge, i) { + graph.setEdgeAttribute(edge, "weight", 1); +}); +// graph.nodes().forEach(function (node) { +// graph.setNodeAttribute(node, "x", Math.random() * CANVAS_SIZE); +// graph.setNodeAttribute(node, "y", Math.random() * CANVAS_SIZE); +// }); +const antvgraph = graphology2antv(graph); + +// add tests +suite + .add("Graphology", async function () { + louvain(graph); + }) + .add("@antv/layout", async function () { + AntvLouvain(antvgraph); + }) + // add listeners + .on("cycle", function (event) { + console.log(String(event.target)); + }) + .on("complete", function () { + console.log("Fastest is " + this.filter("fastest").map("name")); + }) + .run({ async: true }); + +// logs: +// Graphology x 154,854 ops/sec ±0.38% (98 runs sampled) +// @antv/layout x 1,163 ops/sec ±0.47% (97 runs sampled) +// Fastest is Graphology diff --git a/benchmarks/util.js b/benchmarks/util.js new file mode 100644 index 0000000..c0816cf --- /dev/null +++ b/benchmarks/util.js @@ -0,0 +1,60 @@ +var { Graph } = require("@antv/graphlib"); + +const graphology2antv = (graph) => { + return new Graph({ + nodes: graph.nodes().map((id) => ({ + id, + data: { + x: graph.getNodeAttribute(id, "x"), + y: graph.getNodeAttribute(id, "y"), + }, + })), + edges: graph.edges().map((id) => ({ + id, + source: graph.source(id), + target: graph.target(id), + data: { + weight: graph.getEdgeAttribute(id, "weight"), + }, + })), + }); +}; + +const graphology2antv_wasm = (graph) => { + const nodes = []; + const masses = []; + const edges = []; + const weights = []; + const nodeIdxMap = {}; + graph.nodes().forEach((id, i) => { + nodeIdxMap[id] = i; + nodes.push( + graph.getNodeAttribute(id, "x"), + graph.getNodeAttribute(id, "y") + ); + masses.push(1); + }); + graph.edges().forEach((id) => { + const weight = graph.getEdgeAttribute(id, "weight"); + const source = nodeIdxMap[graph.source(id)]; + const target = nodeIdxMap[graph.target(id)]; + + if (source !== undefined && target !== undefined) { + // n1 <- n2 + edges.push([target, source]); + weights.push(weight); + // @see https://github.com/graphology/graphology/blob/master/src/layout-forceatlas2/helpers.js#L156-L158 + masses[source] += weight; + masses[target] += weight; + } + }); + + return { + nodes, + masses, + edges, + weights, + }; +}; + +module.exports = { graphology2antv, graphology2antv_wasm }; diff --git a/package.json b/package.json index 439a852..cb0ec1a 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,8 @@ }, "license": "MIT", "scripts": { + "benchmarks": "run-p benchmarks:*", + "benchmarks:louvain": "node benchmarks/louvain.test.js", "dev": "vite", "lint:es": "eslint --ext .js --fix", "lint:ts": "tslint -c tslint.json -p packages/graph/tsconfig.json --fix", @@ -36,6 +38,7 @@ "@antv/graphlib": "^2.0.0", "@changesets/cli": "^2.26.1", "@types/jest": "latest", + "benchmark": "^2.1.4", "cross-env": "^7.0.3", "eslint": "^7.32.0", "eslint-config-airbnb-base": "^14.2.1", @@ -43,6 +46,7 @@ "eslint-plugin-import": "^2.27.5", "gh-pages": "^5.0.0", "graphology": "^0.25.1", + "graphology-communities-louvain": "latest", "graphology-generators": "^0.11.2", "graphology-types": "^0.24.7", "graphology-metrics": "^2.1.0", @@ -53,6 +57,7 @@ "lint-staged": "^10.5.4", "npm-run-all": "^4.1.5", "rimraf": "^3.0.2", + "seedrandom": "^3.0.5", "ts-jest": "^29.1.0", "ts-loader": "^8.4.0", "tslint": "^6.1.3", diff --git a/packages/graph-rust/Cargo.toml b/packages/graph-rust/Cargo.toml index 7f4302c..948423c 100644 --- a/packages/graph-rust/Cargo.toml +++ b/packages/graph-rust/Cargo.toml @@ -28,6 +28,7 @@ fxhash = "0.2.1" gdl = { version = "0.2.7", optional = true} rayon = "1.5.1" serde = { optional = true } +slotmap = {version = "0.4"} [dependencies.linereader] version = "0.4.0" diff --git a/packages/graph-rust/src/graph_builder/builder.rs b/packages/graph-rust/src/graph_builder/builder.rs index 727273f..46be7cd 100644 --- a/packages/graph-rust/src/graph_builder/builder.rs +++ b/packages/graph-rust/src/graph_builder/builder.rs @@ -42,28 +42,6 @@ where _node: PhantomData, } -#[cfg(feature = "gdl")] -#[cfg_attr(all(feature = "gdl", has_doc_cfg), doc(cfg(feature = "gdl")))] -pub struct FromGdlString -where - NI: Idx, -{ - csr_layout: CsrLayout, - gdl: String, - _node: PhantomData, -} - -#[cfg(feature = "gdl")] -#[cfg_attr(all(feature = "gdl", has_doc_cfg), doc(cfg(feature = "gdl")))] -pub struct FromGdlGraph<'a, NI> -where - NI: Idx, -{ - csr_layout: CsrLayout, - gdl_graph: &'a gdl::Graph, - _node: PhantomData, -} - pub struct FromInput where P: AsRef, @@ -233,151 +211,6 @@ impl GraphBuilder { }, } } - - /// Creates a graph using Graph Definition Language (GDL). - /// - /// Creating graphs from GDL is recommended for small graphs only, e.g., - /// during testing. The graph construction is **not** parallelized. - /// - /// See [GDL on crates.io](https://crates.io/crates/gdl) for more - /// information on how to define graphs using GDL. - /// - /// # Example - /// - /// ``` - /// use graph_builder::prelude::*; - /// - /// let g: UndirectedCsrGraph = GraphBuilder::new() - /// .gdl_str::("(a)-->(),(a)-->()") - /// .build() - /// .unwrap(); - /// - /// assert_eq!(g.node_count(), 3); - /// assert_eq!(g.edge_count(), 2); - /// ``` - /// - /// One can also create weighted graphs using GDL. There needs to be exactly - /// one edge property with the same type as specified for the edge value. - /// The property key is not relevant. - /// - /// ``` - /// use graph_builder::prelude::*; - /// - /// let g: UndirectedCsrGraph = GraphBuilder::new() - /// .csr_layout(CsrLayout::Sorted) - /// .gdl_str::("(a)-[{f: 0.42}]->(),(a)-[{f: 13.37}]->()") - /// .build() - /// .unwrap(); - /// - /// assert_eq!(g.node_count(), 3); - /// assert_eq!(g.edge_count(), 2); - /// - /// let mut neighbors = g.neighbors_with_values(0); - /// assert_eq!(neighbors.next(), Some(&Target::new(1, 0.42))); - /// assert_eq!(neighbors.next(), Some(&Target::new(2, 13.37))); - /// assert_eq!(neighbors.next(), None); - /// ``` - #[cfg(feature = "gdl")] - #[cfg_attr(all(feature = "gdl", has_doc_cfg), doc(cfg(feature = "gdl")))] - pub fn gdl_str(self, gdl: S) -> GraphBuilder> - where - NI: Idx, - S: Into, - { - GraphBuilder { - state: FromGdlString { - csr_layout: self.state.csr_layout, - gdl: gdl.into(), - _node: PhantomData, - }, - } - } - - /// Creates a graph from an already constructed GDL graph. - /// - /// Creating graphs from GDL is recommended for small graphs only, e.g., - /// during testing. The graph construction is **not** parallelized. - /// - /// See [GDL on crates.io](https://crates.io/crates/gdl) for more - /// information on how to define graphs using GDL. - /// - /// # Example - /// - /// ``` - /// use graph_builder::prelude::*; - /// - /// let gdl_graph = "(a)-->(),(a)-->()".parse::<::gdl::Graph>().unwrap(); - /// - /// let g: DirectedCsrGraph = GraphBuilder::new() - /// .gdl_graph::(&gdl_graph) - /// .build() - /// .unwrap(); - /// - /// assert_eq!(g.node_count(), 3); - /// assert_eq!(g.edge_count(), 2); - /// - /// let id_a = gdl_graph.get_node("a").unwrap().id(); - /// - /// assert_eq!(g.out_neighbors(id_a).len(), 2); - /// ``` - #[cfg(feature = "gdl")] - #[cfg_attr(all(feature = "gdl", has_doc_cfg), doc(cfg(feature = "gdl")))] - pub fn gdl_graph(self, gdl_graph: &::gdl::Graph) -> GraphBuilder> - where - NI: Idx, - { - GraphBuilder { - state: FromGdlGraph { - csr_layout: self.state.csr_layout, - gdl_graph, - _node: PhantomData, - }, - } - } - - /// Creates a graph by reading it from the given file format. - /// - /// # Examples - /// - /// Read a directed graph from an edge list file: - /// - /// ``` - /// use std::path::PathBuf; - /// - /// use graph_builder::prelude::*; - /// - /// let path = [env!("CARGO_MANIFEST_DIR"), "resources", "example.el"] - /// .iter() - /// .collect::(); - /// - /// let graph: DirectedCsrGraph = GraphBuilder::new() - /// .file_format(EdgeListInput::default()) - /// .path(path) - /// .build() - /// .expect("loading failed"); - /// - /// assert_eq!(graph.node_count(), 4); - /// assert_eq!(graph.edge_count(), 5); - /// ``` - pub fn file_format( - self, - _format: Format, - ) -> GraphBuilder> - where - Path: AsRef, - NI: Idx, - Format: InputCapabilities, - Format::GraphInput: TryFrom>, - { - GraphBuilder { - state: FromInput { - csr_layout: self.state.csr_layout, - _idx: PhantomData, - _path: PhantomData, - _format: PhantomData, - }, - } - } } impl GraphBuilder> @@ -466,38 +299,6 @@ impl GraphBuilder> { } } -#[cfg(feature = "gdl")] -#[cfg_attr(all(feature = "gdl", has_doc_cfg), doc(cfg(feature = "gdl")))] -impl GraphBuilder> -where - NI: Idx, -{ - /// Builds the graph from the given GDL string. - pub fn build(self) -> Result - where - Graph: From<(gdl::Graph, CsrLayout)>, - { - let gdl_graph = self.state.gdl.parse::()?; - let graph = Graph::from((gdl_graph, self.state.csr_layout)); - Ok(graph) - } -} - -#[cfg(feature = "gdl")] -#[cfg_attr(all(feature = "gdl", has_doc_cfg), doc(cfg(feature = "gdl")))] -impl<'a, NI> GraphBuilder> -where - NI: Idx, -{ - /// Build the graph from the given GDL graph. - pub fn build(self) -> Result - where - Graph: From<(&'a gdl::Graph, CsrLayout)>, - { - Ok(Graph::from((self.state.gdl_graph, self.state.csr_layout))) - } -} - impl GraphBuilder> where Path: AsRef, diff --git a/packages/graph-rust/src/lib.rs b/packages/graph-rust/src/lib.rs index e18da0b..e8b9db8 100644 --- a/packages/graph-rust/src/lib.rs +++ b/packages/graph-rust/src/lib.rs @@ -1,6 +1,7 @@ pub mod page_rank; pub mod prelude; pub mod sssp; +pub mod louvain; pub mod utils; pub mod graph_builder; diff --git a/packages/graph-rust/src/louvain.rs b/packages/graph-rust/src/louvain.rs new file mode 100644 index 0000000..767f863 --- /dev/null +++ b/packages/graph-rust/src/louvain.rs @@ -0,0 +1,604 @@ +#![allow(non_snake_case)] // FIXME: Good while porting + +use super::graph_builder::{prelude::*}; +use std::collections::{BTreeMap}; +use std::cell::{RefCell}; +use std::ops::{AddAssign}; +use slotmap::DenseSlotMap; +use std::f32; + +#[derive(Debug, PartialEq)] +pub struct ModEdge { + source: usize, + target: usize, + weight: f32, +} + +type CommunityId = slotmap::DefaultKey; + +#[derive(Debug, Default, PartialEq)] +pub struct Community { + id: CommunityId, + weightSum: f64, + nodes: Vec, + connectionsWeight: RefCell>, + connectionsCount: RefCell>, +} + +impl Community { + + fn new(id: CommunityId) -> Community { + Community { id, ..Default::default() } + } + + fn size(&self) -> usize { + self.nodes.len() + } + + fn seed(&mut self, node: usize, cs: & CommunityStructure) { + self.nodes.push(node); + self.weightSum += cs.weights[node] as f64; + } + + fn add(&mut self, node: usize, cs: & CommunityStructure) -> bool { + self.nodes.push(node); + self.weightSum += cs.weights[node] as f64; + true + } + + fn remove(&mut self, node: usize, cs: &mut CommunityStructure) -> bool { + self.nodes.retain(|&n| n != node); + self.weightSum -= cs.weights[node] as f64; + if self.nodes.is_empty() { + cs.communities.retain(|&c| c != self.id); // FIXME: Maybe remove from cc too + } + true + } +} + + +#[derive(Default, Debug)] +pub struct CommunityCatalog { + map: DenseSlotMap +} + +impl CommunityCatalog { + pub fn createNew(&mut self) -> CommunityId { + self.map.insert_with_key(|id| Community::new(id)) + } + + #[inline] + pub fn get(&self, key: &CommunityId) -> Option<&Community> { + self.map.get(*key) + } + + #[inline] + pub fn get_mut(&mut self, key: &CommunityId) -> Option<&mut Community> { + self.map.get_mut(*key) + } + + #[inline] + pub fn remove(&mut self, key: &CommunityId) { + self.map.remove(*key); + } +} + + +#[derive(Debug, Default, PartialEq)] +pub struct CommunityStructure { + N: usize, // Number of nodes / communities + communities: Vec, // Direct communities + nodeConnectionsWeight: Vec>, + nodeConnectionsCount: Vec>, + nodeCommunities: Vec, + weights: Vec, // One per node + topology: Vec>, // One per node + invMap: BTreeMap, + graphWeightSum: f64, +} + +impl CommunityStructure { + + pub fn new(graph: &G, modularity: &mut Modularity) -> CommunityStructure where + NI: Idx, + G: Graph + DirectedDegrees + DirectedNeighborsWithValues + Sync { + let N = graph.node_count().index(); + let cc = &mut modularity.cc; + let mut cs = CommunityStructure { + N, + communities: Vec::new(), + nodeConnectionsWeight: Vec::with_capacity(N), + nodeConnectionsCount: Vec::with_capacity(N), + nodeCommunities: Vec::with_capacity(N), + weights: Vec::with_capacity(N), + topology: Vec::with_capacity(N), + //map: BTreeMap::default(), + invMap: BTreeMap::default(), + graphWeightSum: 0.0, + }; + + // Create one community and one inverse community per node + // All weights to 0.0 + (0..N).into_iter().enumerate().for_each(|(_, index)| { + //cs.map.insert(node.clone(), index); + cs.nodeCommunities.push( cc.createNew() ); + + cs.nodeConnectionsWeight.push(BTreeMap::default()); + cs.nodeConnectionsCount.push(BTreeMap::default()); + cs.weights.push(0.0); + cc.get_mut(& cs.nodeCommunities[index]).unwrap().seed(index, & cs); + + // New hidden community + let hidden = cc.createNew(); + cc.get_mut(& hidden).unwrap().nodes.push(index); + cs.invMap.insert(index, hidden); + + cs.communities.push(cs.nodeCommunities[index]); + }); + + (0..N) + .into_iter() + .map(NI::new) + .for_each(|node| { + cs.topology.push(Vec::new()); + + for Target { target, value } in graph.out_neighbors_with_values(node) { + let neighbor = target; + if node == *neighbor { continue } + + // Assume there is no parallel edges: + let weight: f32 = *value; + + //Finally add a single edge with the summed weight of all parallel edges: + cs.weights[node.index()] += weight as f64; + let modularity_edge = ModEdge { source: node.index(), target: neighbor.index(), weight }; + cs.topology[node.index()].push(modularity_edge); + let adjCom = cc.get(&cs.nodeCommunities[neighbor.index()]).unwrap(); + + cs.nodeConnectionsWeight[node.index()].insert(adjCom.id, weight); + cs.nodeConnectionsCount[node.index()].insert(adjCom.id, 1); + + let nodeCom = cc.get(&cs.nodeCommunities[node.index()]).unwrap(); + nodeCom.connectionsWeight.borrow_mut().insert(adjCom.id, weight); + nodeCom.connectionsCount.borrow_mut().insert(adjCom.id, 1); + + cs.nodeConnectionsWeight[neighbor.index()].insert(nodeCom.id, weight); + cs.nodeConnectionsCount[neighbor.index()].insert(nodeCom.id, 1); + + adjCom.connectionsWeight.borrow_mut().insert(nodeCom.id, weight); + adjCom.connectionsCount.borrow_mut().insert(nodeCom.id, 1); + + cs.graphWeightSum += weight as f64; + } + }); + + cs.graphWeightSum /= 2.0; + cs + } + + fn addNodeTo(&mut self, node : usize, com_id: CommunityId, cc: &mut CommunityCatalog) { + + #[inline] + fn add_node >(map : &mut BTreeMap, key: CommunityId, weight: V) { + let w = map.entry(key).or_insert(V::from(0)); + *w += weight; + } + + self.nodeCommunities[node] = com_id; + + { + let com = cc.get_mut(& com_id).unwrap(); + com.add(node, self); + } + + for e in &self.topology[node] { + let neighbor = &e.target; + + add_node(&mut self.nodeConnectionsWeight[*neighbor], com_id, e.weight); + add_node(&mut self.nodeConnectionsCount[*neighbor], com_id, 1); + + let adjCom = cc.get(& self.nodeCommunities[*neighbor]).unwrap(); + + add_node(&mut adjCom.connectionsWeight.borrow_mut(), com_id, e.weight); + add_node(&mut adjCom.connectionsCount.borrow_mut(), com_id, 1); + + add_node(&mut self.nodeConnectionsWeight[node], adjCom.id, e.weight); + add_node(&mut self.nodeConnectionsCount[node], adjCom.id, 1); + + if com_id != adjCom.id { + let com = cc.get(& com_id).unwrap(); + add_node(&mut com.connectionsWeight.borrow_mut(), adjCom.id, e.weight); + add_node(&mut com.connectionsCount.borrow_mut(), adjCom.id, 1); + } + + } + + + } + + + pub fn removeNodeFromItsCommunity(&mut self, node: usize, cc: &mut CommunityCatalog) { + + #[inline] + fn remove_node( weights_map : &mut BTreeMap, + count_map : &mut BTreeMap, + key: CommunityId, weight: f32 + ) + { + + // println!("*** remove community {} from {:?}", key, count_map); + let count = count_map.get(&key).unwrap().clone(); + + if count -1 == 0 { + weights_map.remove(&key); + count_map.remove(&key); + } else { + let count = count_map.get_mut(&key).unwrap(); + *count -= 1; + let w = weights_map.get_mut(&key).unwrap(); + *w -= weight; + } + } + + { + let community = cc.get(& self.nodeCommunities[node]).unwrap(); + + for e in &self.topology[node] { + let neighbor = &e.target; + + //////// + //Remove Node Connection to this community + remove_node( &mut self.nodeConnectionsWeight[*neighbor], + &mut self.nodeConnectionsCount[*neighbor], + community.id.clone(), e.weight ); + + /////////////////// + //Remove Adjacency Community's connection to this community + let adjCom = cc.get(& self.nodeCommunities[*neighbor]).unwrap(); + remove_node( &mut adjCom.connectionsWeight.borrow_mut(), + &mut adjCom.connectionsCount.borrow_mut(), + community.id.clone(), e.weight ); + + if node == *neighbor { + continue; + } + + if adjCom.id != community.id { + remove_node( &mut community.connectionsWeight.borrow_mut(), + &mut community.connectionsCount.borrow_mut(), + adjCom.id, e.weight); + } + + remove_node( &mut self.nodeConnectionsWeight[node], + &mut self.nodeConnectionsCount[node], + adjCom.id, e.weight ); + } + } + { + let community = cc.get_mut(& self.nodeCommunities[node]).unwrap(); + community.remove(node, self); + } + } + + + fn moveNodeTo(&mut self, node: usize, to: CommunityId, cc: &mut CommunityCatalog) { + self.removeNodeFromItsCommunity(node, cc); + self.addNodeTo(node, to, cc); + } + + fn zoomOut(&mut self, cc: &mut CommunityCatalog) { + let M = self.communities.len(); + self.communities.sort(); + let mut newTopology: Vec> = Vec::with_capacity(M); + let mut index : usize = 0; + let mut nodeCommunities: Vec = Vec::with_capacity(M); + let mut nodeConnectionsWeight: Vec> = Vec::with_capacity(M); + let mut nodeConnectionsCount: Vec> = Vec::with_capacity(M); + let mut newInvMap: BTreeMap = BTreeMap::default(); + + for com_id in & self.communities { + nodeConnectionsWeight.push(BTreeMap::default()); + nodeConnectionsCount.push(BTreeMap::default()); + + newTopology.push( Vec::new() ); + nodeCommunities.push(cc.createNew()); + + let mut weightSum : f32 = 0.0; + let hidden_id = cc.createNew(); + + /* + * FIXME: two unnecessary clones of node vectors to content the Borrow Checker + */ + let nodes = cc.get(com_id).unwrap().nodes.clone(); + for nodeInt in nodes { + let oldHiddenNodes = { + let oldHidden = cc.get(& self.invMap.get(&nodeInt).unwrap()).unwrap(); + oldHidden.nodes.clone() + }; + let hidden = cc.get_mut(& hidden_id).unwrap(); + hidden.nodes.extend(oldHiddenNodes); + } + + newInvMap.insert(index, hidden_id); + { + let com = cc.get(com_id).unwrap(); + for adjCom_id in com.connectionsWeight.borrow().keys() { + let target = self.communities.binary_search(adjCom_id).unwrap(); + let weight = com.connectionsWeight.borrow().get(adjCom_id).unwrap().clone(); + weightSum += if target == index { 2.0 * weight} else { weight }; + + let e = ModEdge {source: index, target: target, weight: weight}; + newTopology[index].push(e); + } + } + self.weights[index] = weightSum as f64; + let com = cc.get_mut(& nodeCommunities[index]).unwrap(); + com.seed(index, & self); + + index += 1; + } + + for com_id in & self.communities { cc.remove(com_id); } + self.communities.clear(); + + for i in 0..M { + let com = cc.get(& nodeCommunities[i]).unwrap(); + self.communities.push(com.id); + for e in & newTopology[i] { + nodeConnectionsWeight[i].insert(nodeCommunities[e.target], e.weight); + nodeConnectionsCount[i].insert(nodeCommunities[e.target], 1); + com.connectionsWeight.borrow_mut().insert(nodeCommunities[e.target], e.weight); + com.connectionsCount.borrow_mut().insert(nodeCommunities[e.target], 1); + } + } + + self.N = M; + self.topology = newTopology; + self.invMap = newInvMap; + self.nodeCommunities = nodeCommunities; + self.nodeConnectionsWeight = nodeConnectionsWeight; + self.nodeConnectionsCount = nodeConnectionsCount; + } + +} + + +pub struct Modularity { + modularity: f64, + modularityResolution: f64, + // isRandomized: bool, + useWeight: bool, + resolution: f64, + noise: u32, + cc : CommunityCatalog, + pub communityByNode: Vec, +} + +impl Modularity { + + /// + /// resolution: 1.0 More resolution produce less Clusters + /// noise: 0 clusters with number_of_nodes <= noise are considered noise (-1 tag) + /// + pub fn new(resolution: f64, noise: u32) -> Modularity { + Modularity { + modularity: 0.0, + modularityResolution: 0.0, + // isRandomized: false, + useWeight: true, + resolution, + noise, + cc: Default::default(), + communityByNode: Default::default() + } + } + + pub fn execute(&mut self, graph: & G) + -> (f64, f64) where + NI: Idx, + G: Graph + DirectedDegrees + DirectedNeighborsWithValues + Sync { + + let mut structure = CommunityStructure::new(graph, self); + let mut communities : Vec= vec![0; graph.node_count().index()]; + + if graph.node_count().index() > 0 { + let (modularity, modularityResolution) = self.computeModularity(graph, &mut structure, &mut communities); + self.modularity = modularity; + self.modularityResolution = modularityResolution; + } else { + self.modularity = 0.0; + self.modularityResolution = 0.0; + } + // saveValues(comStructure, graph, structure); + self.communityByNode = communities; + + (self.modularity, self.modularityResolution) + } + + fn computeModularity(&mut self, graph: & G, cs : &mut CommunityStructure, communities: &mut Vec) -> (f64, f64) where + NI: Idx, + G: Graph + DirectedDegrees + DirectedNeighborsWithValues + Sync { + + let nodeDegrees = cs.weights.clone(); + let totalWeight = cs.graphWeightSum; + + let mut someChange = true; + while someChange { + someChange = false; + let mut localChange = true; + let mut movedNodes: u32 = 0; + while localChange { + localChange = false; + let start: usize = 0; + // if self.isRandomized { + // let mut rng = thread_rng(); + // start = seq::sample_iter(&mut rng, 1..cs.N, 1).unwrap()[0]; + // } + for step in 0..cs.N { + let i = (step + start) % cs.N; + if let Some(bestCommunity) = self.updateBestCommunity(cs, i, self.resolution) { + if cs.nodeCommunities[i] != bestCommunity { + cs.moveNodeTo(i, bestCommunity, &mut self.cc); + localChange = true; + movedNodes += 1; + } + } + if (step % 10000) == 0 { + println!("Step {} of {} -> moved nodes: {}", step, cs.N, movedNodes); + } + } + someChange = localChange || someChange; + println!("Node Pass Ended -> moved nodes: {}", movedNodes); + } + if someChange { + cs.zoomOut(&mut self.cc); + println!("Zooming Out: {} communities left", cs.N); + } + } + let mut comStructure : Vec= vec![0; graph.node_count().index()]; + let noiseMap = self.fillComStructure(cs, &mut comStructure); + let degreeCount = self.fillDegreeCount(graph, cs, &mut comStructure, & nodeDegrees); + + let computedModularity = self.finalQ(&mut comStructure, & degreeCount, graph, totalWeight, 1.); + let computedModularityResolution = self.finalQ(&mut comStructure, & degreeCount, graph, totalWeight, self.resolution); + + for i in 0..communities.len() { + communities[i] = if noiseMap[i] { -1 } else { comStructure[i] as i32 } + } + // let communities: Vec<&Community> = cs.communities.iter().map(|c| self.cc.get(c).unwrap()).collect(); + // println!("{:?}", comStructure); + + (computedModularity, computedModularityResolution) + } + + fn fillComStructure(&self, cs : & CommunityStructure, comStructure: &mut Vec) -> Vec { + let mut noiseMap: Vec = vec![false; comStructure.len()]; + for (count, com_id) in cs.communities.iter().enumerate() { + let com = self.cc.get(com_id).unwrap(); + for node in & com.nodes { + let hidden_id = cs.invMap.get(node).unwrap(); + let hidden = self.cc.get(hidden_id).unwrap(); + let isNoise = hidden.nodes.len() as u32 <= self.noise; + for nodeInt in & hidden.nodes { + comStructure[* nodeInt] = count; + noiseMap[* nodeInt] = isNoise; + } + } + } + noiseMap + } + + fn fillDegreeCount(&self, graph: & G, cs : & CommunityStructure, + comStructure: & Vec, nodeDegrees: & Vec) -> Vec where + NI: Idx, + G: Graph + DirectedDegrees + DirectedNeighborsWithValues + Sync { + + let mut degreeCount : Vec = vec![0.0; cs.communities.len()]; + let N = graph.node_count().index(); + + (0..N) + .into_iter() + .map(NI::new) + .for_each(|node| { + if self.useWeight { + degreeCount[comStructure[node.index()]] += nodeDegrees[node.index()]; + } else { + degreeCount[comStructure[node.index()]] += graph.out_degree(node).index() as f64; + } + }); + degreeCount + } + + fn updateBestCommunity(&mut self, cs: & CommunityStructure, node_id: usize, currentResolution: f64) -> Option { + let mut best = 0.0; + let mut bestCommunity: Option = None; + // println!("{:?} !!!!{:?}", node_id, cs.nodeConnectionsWeight[node_id]); + for com_id in cs.nodeConnectionsWeight[node_id].keys() { + let qValue = self.q(node_id, com_id, cs, currentResolution); + if qValue > best { + best = qValue; + bestCommunity = Some(*com_id); + } + } + bestCommunity + } + + fn q(& self, + node: usize, + com_id: & CommunityId, + cs: & CommunityStructure, + currentResolution: f64 + ) -> f64 + { + let mut edgesTo: f64 = 0.0; + if let Some(edgesToFloat) = cs.nodeConnectionsWeight[node].get(com_id) { + edgesTo = *edgesToFloat as f64; + } + let weightSum: f64 = self.cc.get(com_id).unwrap().weightSum; + let nodeWeight: f64 = cs.weights[node]; + let mut qValue : f64 = currentResolution * edgesTo - (nodeWeight * weightSum) / (2.0 * cs.graphWeightSum); + + let nodeCommunities_len = self.cc.get(& cs.nodeCommunities[node]).unwrap().size(); + if (cs.nodeCommunities[node] == *com_id) && (nodeCommunities_len > 1) { + qValue = currentResolution * edgesTo - (nodeWeight * (weightSum - nodeWeight)) / (2.0 * cs.graphWeightSum); + } + if (cs.nodeCommunities[node] == *com_id) && (nodeCommunities_len == 1) { + qValue = 0.0; + } + qValue + } + + fn finalQ(&self, comStructure: & Vec, degrees: & Vec, graph: & G, totalWeight: f64, usedResolution: f64) -> f64 where + NI: Idx, + G: Graph + DirectedNeighborsWithValues + Sync { + + let mut res: f64 = 0.0; + let mut internal: Vec = vec![0.0; degrees.len()]; + + let N = graph.node_count().index(); + + (0..N) + .into_iter() + .map(NI::new) + .for_each(|node| { + for Target { target, value } in graph.out_neighbors_with_values(node) { + let neighbor = target.index(); + if node == *target { + continue; + } + + if comStructure[neighbor] == comStructure[node.index() as usize] as usize { + if self.useWeight { + internal[comStructure[neighbor]] += *value as f64; + } else { + internal[comStructure[neighbor]] += 1.0; + } + } + } + }); + + for i in 0..degrees.len() { + internal[i] /= 2.0; + res += usedResolution * (internal[i] / totalWeight) - (degrees[i] / (2.0 * totalWeight)).powi(2); + } + res + } + +} + +// AUX functions + +#[allow(dead_code)] +fn check_weights(cc: &CommunityCatalog, cs: &CommunityStructure) -> bool { + for i in 0..cs.nodeCommunities.len() - 1 { + let com0 = cc.get(&cs.nodeCommunities[i]).unwrap(); + if let Some(w0_1) = com0.connectionsWeight.borrow().get(&cs.nodeCommunities[i+1]) { + let nw0_1 = cs.nodeConnectionsWeight[i].get(&cs.nodeCommunities[i+1]).unwrap(); + // println!("{}: {:?} = {:?} --> {:?}", i, w0_1, nw0_1, f32::abs(w0_1 - nw0_1) < f32::EPSILON ); + if f32::abs(w0_1 - nw0_1) > f32::EPSILON { + return false; + } + } + } + true +} \ No newline at end of file diff --git a/packages/graph-rust/src/prelude.rs b/packages/graph-rust/src/prelude.rs index 541de1d..4c33f9f 100644 --- a/packages/graph-rust/src/prelude.rs +++ b/packages/graph-rust/src/prelude.rs @@ -1,5 +1,6 @@ pub use crate::page_rank::*; pub use crate::sssp::*; +pub use crate::louvain::*; pub use crate::utils::*; -pub use super::graph_builder::prelude::*; +pub use crate::graph_builder::prelude::*; diff --git a/packages/graph-wasm/Cargo.lock b/packages/graph-wasm/Cargo.lock index b3a6368..8441b58 100644 --- a/packages/graph-wasm/Cargo.lock +++ b/packages/graph-wasm/Cargo.lock @@ -24,6 +24,7 @@ dependencies = [ "parking_lot", "rayon", "serde", + "slotmap", "thiserror", ] @@ -552,6 +553,12 @@ dependencies = [ "serde", ] +[[package]] +name = "slotmap" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bf34684c5767b87de9119790e92e9a1d60056be2ceeaf16a8e6ef13082aeab1" + [[package]] name = "smallvec" version = "1.11.0" diff --git a/packages/graph-wasm/rust-src/lib.rs b/packages/graph-wasm/rust-src/lib.rs index 62d7ca1..d79008f 100644 --- a/packages/graph-wasm/rust-src/lib.rs +++ b/packages/graph-wasm/rust-src/lib.rs @@ -63,3 +63,18 @@ pub fn sssp(val: JsValue) -> Array { .collect(); result.into_iter().map(JsValue::from).collect() } + + +#[derive(Serialize, Deserialize)] +pub struct LouvainParams { + pub edgelist: Vec<(usize, usize, f32)>, +} +#[wasm_bindgen(js_name = "louvain")] +pub fn louvain(val: JsValue) -> Array { + let options: LouvainParams = serde_wasm_bindgen::from_value(val).unwrap(); + let graph: DirectedCsrGraph = GraphBuilder::new().edges_with_values(options.edgelist).build(); + + let mut modularity = Modularity::new(1.0, 1); + let results = modularity.execute(& graph); + vec![results.0, results.1].into_iter().map(JsValue::from).collect() +} \ No newline at end of file diff --git a/packages/graph-wasm/src/interface.ts b/packages/graph-wasm/src/interface.ts index 960ce97..8974be0 100644 --- a/packages/graph-wasm/src/interface.ts +++ b/packages/graph-wasm/src/interface.ts @@ -17,7 +17,12 @@ export interface SSSPParams { edgelist: [number, number, number][]; } +export interface LouvainParams { + edgelist: [number, number, number][]; +} + export interface Threads { pageRank: (options: PageRankParams) => Promise; - sssp: (options: SSSPParams) => Promise<{ ranks: number[] }>; + sssp: (options: SSSPParams) => Promise; + louvain: (options: LouvainParams) => Promise; } diff --git a/packages/graph-wasm/src/wasm-worker.js b/packages/graph-wasm/src/wasm-worker.js index fc3e785..5668e05 100644 --- a/packages/graph-wasm/src/wasm-worker.js +++ b/packages/graph-wasm/src/wasm-worker.js @@ -19,7 +19,7 @@ const wrapTransferSSSP = sssp => { return options => { const params = { start_node: options.startNode || 0, - delta: options.delta || 3, + delta: options.delta || 1, edgelist: options.edgelist }; @@ -29,11 +29,24 @@ const wrapTransferSSSP = sssp => { }; }; +const wrapTransferLouvain = louvain => { + return options => { + const params = { + edgelist: options.edgelist + }; + + const ranks = louvain(params); + + return Comlink.transfer(ranks, []); + }; +}; + // Wrap wasm-bindgen exports (the `generate` function) to add time measurement. -function wrapExports({ pageRank, sssp }) { +function wrapExports({ pageRank, sssp, louvain }) { return { pageRank: wrapTransferPageRank(pageRank), sssp: wrapTransferSSSP(sssp), + louvain: wrapTransferLouvain(louvain) }; } diff --git a/packages/graph/src/louvain.ts b/packages/graph/src/louvain.ts index dfb477c..f37ba6d 100644 --- a/packages/graph/src/louvain.ts +++ b/packages/graph/src/louvain.ts @@ -257,7 +257,7 @@ export function louvain( propertiesWeightRemove[index] = allPropertiesWeight[nodeRemove.data.originIndex as number]; }); // the inertialModularity for **removing** the node i from the origin cluster of node i - const removeInertialModularity = getInertialModularity(selfClusterNodesAfterRemove, allPropertiesWeight) * inertialWeight; + const removeInertialModularity = inertialModularity ? getInertialModularity(selfClusterNodesAfterRemove, allPropertiesWeight) * inertialWeight : 0; // the neightbors of the node const nodeNeighborIds = neighbors[node.id]; @@ -289,7 +289,7 @@ export function louvain( propertiesWeightAdd[index] = allPropertiesWeight[nodeAdd.data.originIndex as number]; }); // the inertialModularity for **adding** node i into this neighbor cluster - const addInertialModularity = getInertialModularity(clusterNodesAfterAdd, allPropertiesWeight) * inertialWeight; + const addInertialModularity = inertialModularity ? getInertialModularity(clusterNodesAfterAdd, allPropertiesWeight) * inertialWeight : 0; // the increase modurarity is the difference between addModurarity and removeModurarity let increase = addModurarity - removeModurarity; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3935168..ec32dfd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,6 +13,9 @@ importers: '@types/jest': specifier: latest version: 29.5.2 + benchmark: + specifier: ^2.1.4 + version: 2.1.4 cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -34,6 +37,9 @@ importers: graphology: specifier: ^0.25.1 version: 0.25.1(graphology-types@0.24.7) + graphology-communities-louvain: + specifier: latest + version: 2.0.1(graphology-types@0.24.7) graphology-generators: specifier: ^0.11.2 version: 0.11.2(graphology-types@0.24.7) @@ -64,6 +70,9 @@ importers: rimraf: specifier: ^3.0.2 version: 3.0.2 + seedrandom: + specifier: ^3.0.5 + version: 3.0.5 ts-jest: specifier: ^29.1.0 version: 29.1.0(@babel/core@7.22.1)(jest@29.5.0)(typescript@4.9.5) @@ -3010,6 +3019,13 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true + /benchmark@2.1.4: + resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==} + dependencies: + lodash: 4.17.21 + platform: 1.3.6 + dev: true + /better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -4338,6 +4354,18 @@ packages: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true + /graphology-communities-louvain@2.0.1(graphology-types@0.24.7): + resolution: {integrity: sha512-JxEH8uxao6FcWp3UXNDJIRjU3pamzp9aqIWgpfAqWE66aPwHeBIB39YnqTgbe4baUJRdpbcp1u8jJiYvojHGIQ==} + peerDependencies: + graphology-types: '>=0.19.0' + dependencies: + graphology-indices: 0.17.0(graphology-types@0.24.7) + graphology-types: 0.24.7 + graphology-utils: 2.5.2(graphology-types@0.24.7) + mnemonist: 0.39.5 + pandemonium: 2.4.1 + dev: true + /graphology-generators@0.11.2(graphology-types@0.24.7): resolution: {integrity: sha512-hx+F0OZRkVdoQ0B1tWrpxoakmHZNex0c6RAoR0PrqJ+6fz/gz6CQ88Qlw78C6yD9nlZVRgepIoDYhRTFV+bEHg==} peerDependencies: @@ -5926,6 +5954,12 @@ packages: engines: {node: '>=6'} dev: true + /pandemonium@2.4.1: + resolution: {integrity: sha512-wRqjisUyiUfXowgm7MFH2rwJzKIr20rca5FsHXCMNm1W5YPP1hCtrZfgmQ62kP7OZ7Xt+cR858aB28lu5NX55g==} + dependencies: + mnemonist: 0.39.5 + dev: true + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -6047,6 +6081,10 @@ packages: find-up: 4.1.0 dev: true + /platform@1.3.6: + resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==} + dev: true + /please-upgrade-node@3.2.0: resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} dependencies: @@ -6435,6 +6473,10 @@ packages: ajv-keywords: 3.5.2(ajv@6.12.6) dev: true + /seedrandom@3.0.5: + resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} + dev: true + /semver-compare@1.0.0: resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} dev: true diff --git a/site/benchmark/index.html b/site/benchmark/index.html index 30b377d..fde6813 100644 --- a/site/benchmark/index.html +++ b/site/benchmark/index.html @@ -140,6 +140,7 @@
    Choose a dataset: +
    diff --git a/site/benchmark/louvain.ts b/site/benchmark/louvain.ts new file mode 100644 index 0000000..70ac41d --- /dev/null +++ b/site/benchmark/louvain.ts @@ -0,0 +1,44 @@ +import { Graph, ID } from "@antv/graphlib"; +import louvain from 'graphology-communities-louvain'; +import { louvain as antvLouvain } from "../../packages/graph"; +import { Threads } from "../../packages/graph-wasm"; +import { graph2Edgelist } from "./util"; + +/** + * @see https://graphology.github.io/standard-library/communities-louvain.html + */ +export async function graphology(graph: any) { + const mapping = louvain(graph); + const clusters: { id: number; count: number }[] = []; + Object.keys(mapping).forEach((id) => { + const clusterIdx = mapping[id]; + if (!clusters[clusterIdx]) { + clusters[clusterIdx] = { id: clusterIdx, count: 0 }; + } + clusters[clusterIdx].count++; + }); + return clusters; +} + +export async function antv( + graph: Graph, +) { + const { clusters } = antvLouvain(graph, false, 'weight'); + return clusters.map(({ id, nodes }) => ({ id, count: nodes.length })); +} + +export async function wasm( + graph: Graph, + _: any, + _2: any, + threads: Threads +): Promise { + const { edgelist, idxNodeMap } = graph2Edgelist(graph, 'weight'); + const ranks = await threads.louvain({ + edgelist: edgelist as [number, number, number][] + }); + console.log(ranks); + return ranks; + // const formatted = ranks.map((rank, i) => ({ id: idxNodeMap[i], score: rank })); + // return format(formatted.sort((a, b) => b.score - a.score).slice(0, 10)); // {id: 'Valjean', score: 0.1} +} \ No newline at end of file diff --git a/site/benchmark/main.ts b/site/benchmark/main.ts index 8d46dc0..e4748ec 100644 --- a/site/benchmark/main.ts +++ b/site/benchmark/main.ts @@ -7,7 +7,8 @@ import { webgpu as webgpuPageRank, wasm as wasmPageRank } from "./page-rank"; -import { graphology as graphologySSSP, webgpu as webgpuSSSP, wasm as wasmSSSP } from "./sssp"; +import { graphology as graphologySSSP, antv as antvSSSP, webgpu as webgpuSSSP, wasm as wasmSSSP } from "./sssp"; +import { graphology as graphologyLouvain, antv as antvLouvain, wasm as wasmLouvain } from "./louvain"; import { initThreads } from "../../packages/graph-wasm"; const TestsConfig = [ @@ -66,20 +67,22 @@ const initThreadsPool = async () => { methods: { pageRank: graphologyPageRank, sssp: graphologySSSP, + louvain: graphologyLouvain, }, }, { name: TestName.ANTV_ALGORITHM, methods: { pageRank: antvPageRank, - // sssp: graphologyFruchterman, + sssp: antvSSSP, + louvain: antvLouvain, }, }, { name: TestName.ANTV_GRAPH_GPU, methods: { // pageRank: webgpuPageRank, - // sssp: webgpuSSSP, + sssp: webgpuSSSP, }, }, { @@ -87,11 +90,12 @@ const initThreadsPool = async () => { methods: { pageRank: wasmPageRank, sssp: wasmSSSP, + louvain: wasmLouvain, }, }, ]; - $run.onclick = async () => { + $run.onclick = () => { const dataset = datasets[$dataset.value]; const algorithmName = $algorithm.value; let options = {}; @@ -100,26 +104,24 @@ const initThreadsPool = async () => { options = graph.getAllNodes()[1].id; } - await Promise.all( - layoutConfig.map(async ({ name, methods }: any, i: number) => { - if (methods[algorithmName]) { - const start = performance.now(); - const result = await methods[algorithmName]( - dataset[name], - options, - graph, - forceMultiThreads - ); - $results[i][1].innerHTML = `${(performance.now() - start).toFixed( - 2 - )}ms`; + layoutConfig.map(async ({ name, methods }: any, i: number) => { + if (methods[algorithmName]) { + const start = performance.now(); + const result = await methods[algorithmName]( + dataset[name], + options, + graph, + forceMultiThreads + ); + $results[i][1].innerHTML = `${(performance.now() - start).toFixed( + 2 + )}ms`; - $results[i][0].innerHTML = JSON.stringify(result); - } else { - $results[i][0].innerHTML = ""; - $results[i][1].innerHTML = "-"; - } - }) - ); + $results[i][0].innerHTML = JSON.stringify(result); + } else { + $results[i][0].innerHTML = ""; + $results[i][1].innerHTML = "-"; + } + }) }; })(); diff --git a/site/benchmark/sssp.ts b/site/benchmark/sssp.ts index 06444d8..088b3e2 100644 --- a/site/benchmark/sssp.ts +++ b/site/benchmark/sssp.ts @@ -6,11 +6,20 @@ import { Threads } from "../../packages/graph-wasm"; import { graph2Edgelist } from "./util"; export async function graphology(graph: any, source: string) { - return dijkstra.singleSource(graph, source, "weight"); + const result = dijkstra.singleSource(graph, source, "weight"); + return Object.keys(result).map((key) => ({ key, path: result[key] })) + .filter(({ path }) => path.length > 0) + .slice(0, 3); } export async function antv(graph: Graph, source: string) { - // findShortestPath(graph, source) + const nodes = graph.getAllNodes(); + const paths: any[] = []; + nodes.forEach((node) => { + const p = findShortestPath(graph, source, node.id); + paths.push(p); + }); + return paths.slice(0, 3); } export async function webgpu( @@ -20,7 +29,7 @@ export async function webgpu( ) { const result = await webgpuGraph.sssp(graph, source, "weight"); - return result.filter((r) => r.distance !== 1000000); + return result.filter((r) => r.distance !== 1000000).slice(0, 3); } export async function wasm( @@ -34,7 +43,5 @@ export async function wasm( startNode: nodeIdxMap[source], edgelist: edgelist as [number, number, number][], }); - console.log(paths); - // const formatted = ranks.map((rank, i) => ({ id: idxNodeMap[i], score: rank })); - // return format(formatted.sort((a, b) => b.score - a.score).slice(0, 10)); // {id: 'Valjean', score: 0.1} + return paths.slice(0, 3); } \ No newline at end of file diff --git a/site/data/undirected1000.json b/site/data/undirected1000.json new file mode 100644 index 0000000..c9f8717 --- /dev/null +++ b/site/data/undirected1000.json @@ -0,0 +1 @@ +{"nodes":[{"label":"471","x":317.35546875,"y":12.529082298278809,"id":"471","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"488","x":37.71865463256836,"y":334.5827331542969,"id":"488","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"267","x":-181.7259521484375,"y":278.5659484863281,"id":"267","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"193","x":241.61814880371094,"y":13.578747749328613,"id":"193","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"606","x":-48.633995056152344,"y":248.1951446533203,"id":"606","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"465","x":-105.6462631225586,"y":319.88299560546875,"id":"465","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"333","x":-143.01101684570312,"y":168.4177703857422,"id":"333","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"882","x":-144.01536560058594,"y":19.3790283203125,"id":"882","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"837","x":60.58860397338867,"y":-32.317623138427734,"id":"837","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"902","x":-67.84288024902344,"y":-60.66090774536133,"id":"902","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"607","x":22.31706428527832,"y":296.8169860839844,"id":"607","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"568","x":-208.78225708007812,"y":80.68643951416016,"id":"568","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"454","x":3.8920764923095703,"y":299.0199890136719,"id":"454","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"870","x":-165.814697265625,"y":-112.72689056396484,"id":"870","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"74","x":-138.7703399658203,"y":-187.579833984375,"id":"74","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"709","x":66.61561584472656,"y":-374.7702331542969,"id":"709","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"811","x":-275.8652038574219,"y":252.18533325195312,"id":"811","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"953","x":-251.0746307373047,"y":-147.3538055419922,"id":"953","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"338","x":261.99365234375,"y":-42.56800842285156,"id":"338","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"379","x":-32.85662841796875,"y":-269.5765075683594,"id":"379","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"644","x":-295.388671875,"y":-47.480255126953125,"id":"644","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"62","x":-51.935848236083984,"y":-321.0037536621094,"id":"62","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"485","x":-286.5491638183594,"y":30.074918746948242,"id":"485","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"446","x":-173.7988739013672,"y":0.4388410747051239,"id":"446","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"631","x":267.09765625,"y":205.85008239746094,"id":"631","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"814","x":62.348934173583984,"y":-395.87896728515625,"id":"814","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"982","x":34.907745361328125,"y":105.0186996459961,"id":"982","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"415","x":212.53872680664062,"y":49.77456283569336,"id":"415","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"690","x":-271.3132019042969,"y":206.984619140625,"id":"690","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"991","x":-39.24852752685547,"y":-4.334399223327637,"id":"991","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"61","x":190.02684020996094,"y":-301.1043395996094,"id":"61","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"249","x":190.77162170410156,"y":101.37828063964844,"id":"249","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"561","x":22.485023498535156,"y":219.283935546875,"id":"561","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"246","x":-87.55609130859375,"y":-87.58200073242188,"id":"246","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"60","x":209.8048858642578,"y":-58.577186584472656,"id":"60","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"180","x":268.7687072753906,"y":12.992016792297363,"id":"180","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"291","x":73.336181640625,"y":-57.40747833251953,"id":"291","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"535","x":-123.86750793457031,"y":-140.61924743652344,"id":"535","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"90","x":-110.97002410888672,"y":-281.1676940917969,"id":"90","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"131","x":-138.67654418945312,"y":-72.60836791992188,"id":"131","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"838","x":-30.032363891601562,"y":190.0779266357422,"id":"838","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"604","x":195.082275390625,"y":-34.899375915527344,"id":"604","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"956","x":-0.07555685192346573,"y":-308.0382995605469,"id":"956","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"59","x":-43.29505920410156,"y":-56.631378173828125,"id":"59","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"321","x":78.94754791259766,"y":60.356689453125,"id":"321","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"598","x":162.3535614013672,"y":22.302112579345703,"id":"598","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"162","x":-189.75794982910156,"y":-30.274703979492188,"id":"162","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"779","x":84.45561981201172,"y":196.94952392578125,"id":"779","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"39","x":58.30670928955078,"y":269.67803955078125,"id":"39","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"708","x":213.70193481445312,"y":169.72386169433594,"id":"708","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"918","x":-163.09864807128906,"y":-145.13491821289062,"id":"918","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"988","x":-78.7369613647461,"y":-7.822303771972656,"id":"988","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"655","x":-69.45348358154297,"y":251.9113311767578,"id":"655","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"949","x":-359.10784912109375,"y":-45.17172622680664,"id":"949","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"196","x":130.43357849121094,"y":65.83860778808594,"id":"196","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"500","x":145.9459228515625,"y":-237.60777282714844,"id":"500","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"935","x":-129.8430633544922,"y":-240.36856079101562,"id":"935","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"12","x":-146.15042114257812,"y":225.1993865966797,"id":"12","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"602","x":251.4570770263672,"y":194.2589569091797,"id":"602","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"126","x":-87.93526458740234,"y":296.1257019042969,"id":"126","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"293","x":-273.5351257324219,"y":101.5720443725586,"id":"293","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"172","x":-9.537642478942871,"y":-407.54388427734375,"id":"172","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"372","x":283.15142822265625,"y":68.94011688232422,"id":"372","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"386","x":13.106915473937988,"y":-92.53130340576172,"id":"386","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"747","x":-100.21298217773438,"y":-77.55341339111328,"id":"747","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"816","x":-206.241455078125,"y":181.0995330810547,"id":"816","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"518","x":64.14384460449219,"y":-205.7435302734375,"id":"518","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"34","x":372.56512451171875,"y":-141.5325164794922,"id":"34","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"801","x":-252.005126953125,"y":174.80735778808594,"id":"801","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"212","x":-133.55162048339844,"y":-208.77574157714844,"id":"212","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"892","x":-165.19798278808594,"y":-270.9158630371094,"id":"892","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"876","x":-369.6769714355469,"y":-32.005680084228516,"id":"876","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"528","x":-192.52857971191406,"y":144.06016540527344,"id":"528","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"731","x":16.504079818725586,"y":-157.0659637451172,"id":"731","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"134","x":114.47222137451172,"y":-119.99505615234375,"id":"134","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"273","x":-49.514957427978516,"y":299.650390625,"id":"273","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"132","x":-186.507568359375,"y":-115.19042205810547,"id":"132","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"543","x":-298.7573547363281,"y":26.04035758972168,"id":"543","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"189","x":223.09072875976562,"y":-184.9788818359375,"id":"189","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"27","x":230.0657958984375,"y":-76.54930877685547,"id":"27","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"736","x":-188.63893127441406,"y":-223.72459411621094,"id":"736","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"305","x":-93.8307113647461,"y":-187.46543884277344,"id":"305","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"418","x":-294.72216796875,"y":-125.25870513916016,"id":"418","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"994","x":-206.35960388183594,"y":305.7760925292969,"id":"994","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"32","x":-10.284232139587402,"y":-321.6393737792969,"id":"32","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"661","x":-223.180908203125,"y":-76.2607192993164,"id":"661","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"594","x":-79.91411590576172,"y":42.068668365478516,"id":"594","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"1","x":37.72175216674805,"y":-215.47776794433594,"id":"1","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"821","x":251.9292755126953,"y":-174.53192138671875,"id":"821","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"656","x":120.15795135498047,"y":213.609619140625,"id":"656","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"322","x":-3.8358781337738037,"y":55.98629379272461,"id":"322","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"296","x":80.42052459716797,"y":-244.16458129882812,"id":"296","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"776","x":135.92491149902344,"y":219.5522003173828,"id":"776","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"995","x":127.63907623291016,"y":140.72105407714844,"id":"995","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"425","x":-150.34861755371094,"y":-64.492431640625,"id":"425","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"250","x":-179.51785278320312,"y":239.66213989257812,"id":"250","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"778","x":133.03968811035156,"y":-156.65234375,"id":"778","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"798","x":-136.6726531982422,"y":183.29336547851562,"id":"798","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"641","x":-57.98183822631836,"y":91.03340911865234,"id":"641","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"562","x":-190.98577880859375,"y":121.28376770019531,"id":"562","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"785","x":147.9163360595703,"y":59.885101318359375,"id":"785","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"370","x":-190.07571411132812,"y":-56.79694366455078,"id":"370","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"677","x":294.12115478515625,"y":-36.477352142333984,"id":"677","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"945","x":256.47613525390625,"y":-262.07305908203125,"id":"945","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"573","x":94.11373138427734,"y":236.14395141601562,"id":"573","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"476","x":-87.33026123046875,"y":-19.71809196472168,"id":"476","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"979","x":251.5563201904297,"y":80.79644775390625,"id":"979","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"423","x":9.511629104614258,"y":-4.745638370513916,"id":"423","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"384","x":-78.13529968261719,"y":-261.5360107421875,"id":"384","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"88","x":274.8365173339844,"y":157.0355987548828,"id":"88","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"571","x":213.98062133789062,"y":300.2425537109375,"id":"571","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"600","x":149.7610626220703,"y":207.12254333496094,"id":"600","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"504","x":169.06539916992188,"y":-59.8867073059082,"id":"504","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"539","x":-115.98400115966797,"y":208.12841796875,"id":"539","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"237","x":-115.46881103515625,"y":332.3982238769531,"id":"237","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"696","x":259.4613952636719,"y":-239.6084442138672,"id":"696","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"786","x":-201.88087463378906,"y":-157.5253143310547,"id":"786","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"639","x":129.23789978027344,"y":-82.4579086303711,"id":"639","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"244","x":110.17034912109375,"y":33.10845947265625,"id":"244","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"636","x":-331.1927795410156,"y":57.330078125,"id":"636","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"129","x":-110.5631103515625,"y":-59.354896545410156,"id":"129","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"227","x":-140.0415496826172,"y":285.51202392578125,"id":"227","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"56","x":100.56474304199219,"y":-238.6572265625,"id":"56","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"906","x":-271.2616271972656,"y":-139.2765655517578,"id":"906","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"3","x":225.33682250976562,"y":-200.65980529785156,"id":"3","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"301","x":147.51695251464844,"y":-126.77520751953125,"id":"301","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"200","x":151.04171752929688,"y":-199.6977081298828,"id":"200","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"462","x":-286.554931640625,"y":63.411006927490234,"id":"462","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"201","x":42.377586364746094,"y":-156.3442840576172,"id":"201","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"261","x":-108.62032318115234,"y":145.57882690429688,"id":"261","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"316","x":-96.02869415283203,"y":172.3070068359375,"id":"316","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"591","x":-383.6899108886719,"y":-102.11422729492188,"id":"591","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"679","x":234.2014923095703,"y":227.89329528808594,"id":"679","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"112","x":105.62813568115234,"y":85.68840026855469,"id":"112","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"593","x":153.62197875976562,"y":-169.8587646484375,"id":"593","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"723","x":18.931425094604492,"y":93.2510986328125,"id":"723","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"127","x":-322.45220947265625,"y":-30.2157039642334,"id":"127","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"675","x":157.6954803466797,"y":-224.93370056152344,"id":"675","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"665","x":-281.5231628417969,"y":-27.711332321166992,"id":"665","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"923","x":185.03221130371094,"y":-76.08257293701172,"id":"923","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"597","x":-39.9618034362793,"y":-309.92523193359375,"id":"597","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"860","x":261.5735168457031,"y":-4.8276753425598145,"id":"860","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"560","x":-344.8606872558594,"y":-143.46621704101562,"id":"560","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"329","x":32.557044982910156,"y":167.34042358398438,"id":"329","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"427","x":60.961727142333984,"y":231.02932739257812,"id":"427","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"28","x":-227.7777862548828,"y":18.540761947631836,"id":"28","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"657","x":-210.914306640625,"y":214.21531677246094,"id":"657","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"216","x":-270.1708679199219,"y":-208.45005798339844,"id":"216","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"901","x":-146.3313751220703,"y":262.5146179199219,"id":"901","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"789","x":-73.72518920898438,"y":339.8570556640625,"id":"789","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"992","x":184.4373779296875,"y":205.2349090576172,"id":"992","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"890","x":-36.35763168334961,"y":73.21340942382812,"id":"890","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"608","x":326.81903076171875,"y":-158.098876953125,"id":"608","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"252","x":40.66781997680664,"y":5.8284807205200195,"id":"252","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"904","x":-4.215542793273926,"y":-55.653072357177734,"id":"904","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"436","x":-3.336007833480835,"y":279.42626953125,"id":"436","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"605","x":124.8875503540039,"y":250.1852569580078,"id":"605","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"51","x":-140.79537963867188,"y":207.3458251953125,"id":"51","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"44","x":-123.88671875,"y":-221.8081512451172,"id":"44","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"378","x":-125.64676666259766,"y":153.72535705566406,"id":"378","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"492","x":-45.13670349121094,"y":-281.56103515625,"id":"492","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"101","x":-199.2559051513672,"y":-86.38145446777344,"id":"101","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"879","x":-152.513427734375,"y":191.63601684570312,"id":"879","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"858","x":70.57357025146484,"y":166.1868133544922,"id":"858","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"226","x":-125.8639144897461,"y":-117.43939208984375,"id":"226","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"717","x":-83.03379821777344,"y":249.4088134765625,"id":"717","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"783","x":-163.2230987548828,"y":-72.90119171142578,"id":"783","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"973","x":-180.58737182617188,"y":216.5219268798828,"id":"973","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"824","x":-166.51402282714844,"y":-58.5854606628418,"id":"824","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"745","x":-122.50408935546875,"y":240.7606658935547,"id":"745","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"23","x":122.65931701660156,"y":-44.44245529174805,"id":"23","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"413","x":-1.9337987899780273,"y":171.273193359375,"id":"413","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"955","x":-118.14232635498047,"y":24.22305679321289,"id":"955","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"188","x":87.60847473144531,"y":106.75371551513672,"id":"188","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"861","x":288.3344421386719,"y":164.2600555419922,"id":"861","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"852","x":241.5374755859375,"y":-55.348236083984375,"id":"852","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"2","x":144.86085510253906,"y":137.91612243652344,"id":"2","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"355","x":-118.302490234375,"y":-152.51165771484375,"id":"355","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"749","x":13.05027961730957,"y":-177.96397399902344,"id":"749","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"470","x":303.6156921386719,"y":-178.31643676757812,"id":"470","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"651","x":-176.04437255859375,"y":-165.63946533203125,"id":"651","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"839","x":175.3163299560547,"y":68.26042175292969,"id":"839","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"337","x":-374.73773193359375,"y":-13.026674270629883,"id":"337","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"474","x":231.7062225341797,"y":3.4410645961761475,"id":"474","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"721","x":-48.8958854675293,"y":-43.34395980834961,"id":"721","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"47","x":-193.8584442138672,"y":-187.55625915527344,"id":"47","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"236","x":-150.88548278808594,"y":-165.60841369628906,"id":"236","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"515","x":304.65155029296875,"y":212.2675018310547,"id":"515","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"846","x":97.1943588256836,"y":66.79753875732422,"id":"846","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"393","x":-106.43194580078125,"y":-306.0624084472656,"id":"393","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"223","x":193.4267578125,"y":-254.75894165039062,"id":"223","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"758","x":-103.91165924072266,"y":90.43563079833984,"id":"758","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"511","x":126.789794921875,"y":-205.45677185058594,"id":"511","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"239","x":-7.919654846191406,"y":84.98875427246094,"id":"239","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"686","x":58.20563888549805,"y":156.67884826660156,"id":"686","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"73","x":-100.17593383789062,"y":-264.436279296875,"id":"73","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"264","x":131.03929138183594,"y":33.04100799560547,"id":"264","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"120","x":243.61631774902344,"y":122.09281158447266,"id":"120","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"869","x":150.13031005859375,"y":-4.738691806793213,"id":"869","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"575","x":271.4283447265625,"y":66.29046630859375,"id":"575","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"281","x":-4.3510422706604,"y":153.41319274902344,"id":"281","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"647","x":-145.27394104003906,"y":-120.70690155029297,"id":"647","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"391","x":16.99089813232422,"y":-118.59517669677734,"id":"391","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"788","x":145.93846130371094,"y":103.08280181884766,"id":"788","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"349","x":-216.78466796875,"y":-11.270438194274902,"id":"349","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"77","x":-137.4462127685547,"y":-284.6632080078125,"id":"77","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"623","x":-264.9425964355469,"y":118.54178619384766,"id":"623","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"836","x":299.9222106933594,"y":-212.94558715820312,"id":"836","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"864","x":63.25580596923828,"y":295.6470642089844,"id":"864","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"396","x":-99.44280242919922,"y":-41.02829360961914,"id":"396","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"45","x":82.69573211669922,"y":6.426037788391113,"id":"45","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"957","x":-274.8592529296875,"y":-76.37494659423828,"id":"957","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"891","x":219.9158172607422,"y":27.511911392211914,"id":"891","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"544","x":-303.164306640625,"y":-166.9431915283203,"id":"544","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"970","x":-267.18316650390625,"y":-9.30122184753418,"id":"970","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"400","x":-239.41799926757812,"y":-164.93971252441406,"id":"400","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"707","x":306.8934326171875,"y":65.63583374023438,"id":"707","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"158","x":-77.85328674316406,"y":153.7939910888672,"id":"158","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"893","x":24.54395294189453,"y":-22.51199722290039,"id":"893","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"930","x":-223.91641235351562,"y":-243.6778564453125,"id":"930","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"282","x":-71.82841491699219,"y":114.20924377441406,"id":"282","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"163","x":-2.999408483505249,"y":-236.0654754638672,"id":"163","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"460","x":163.69569396972656,"y":107.42467498779297,"id":"460","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"791","x":-73.92345428466797,"y":-309.1586608886719,"id":"791","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"228","x":179.82896423339844,"y":112.71295166015625,"id":"228","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"768","x":-249.8882293701172,"y":138.56320190429688,"id":"768","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"615","x":-129.85110473632812,"y":-336.13848876953125,"id":"615","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"845","x":-241.69888305664062,"y":98.08560180664062,"id":"845","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"724","x":-15.929072380065918,"y":298.6483154296875,"id":"724","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"210","x":-264.970703125,"y":26.469833374023438,"id":"210","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"823","x":280.0868835449219,"y":-100.55602264404297,"id":"823","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"182","x":39.51144790649414,"y":-261.98284912109375,"id":"182","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"109","x":-258.3536071777344,"y":-76.93881225585938,"id":"109","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"683","x":67.3895263671875,"y":198.5006561279297,"id":"683","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"442","x":182.5033416748047,"y":189.9700927734375,"id":"442","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"479","x":-144.91734313964844,"y":-1.7697994709014893,"id":"479","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"146","x":-28.324451446533203,"y":153.5587158203125,"id":"146","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"303","x":-312.5387268066406,"y":-77.81304168701172,"id":"303","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"672","x":52.83872604370117,"y":-105.906982421875,"id":"672","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"403","x":-165.7108917236328,"y":-125.97171783447266,"id":"403","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"262","x":-98.36087036132812,"y":14.204500198364258,"id":"262","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"529","x":81.81322479248047,"y":-297.1993713378906,"id":"529","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"572","x":-264.3932189941406,"y":221.9272918701172,"id":"572","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"978","x":-76.7599105834961,"y":-162.18408203125,"id":"978","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"645","x":85.63457489013672,"y":142.0437469482422,"id":"645","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"553","x":-237.0630340576172,"y":-78.47058868408203,"id":"553","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"569","x":292.9367370605469,"y":34.87201690673828,"id":"569","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"113","x":11.475048065185547,"y":195.2612762451172,"id":"113","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"495","x":-371.1583251953125,"y":-51.89801788330078,"id":"495","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"912","x":-176.84088134765625,"y":178.3748321533203,"id":"912","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"705","x":-310.3039245605469,"y":109.15633392333984,"id":"705","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"947","x":25.277135848999023,"y":246.338623046875,"id":"947","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"558","x":258.0241394042969,"y":-61.45335006713867,"id":"558","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"428","x":297.3608093261719,"y":-63.281524658203125,"id":"428","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"219","x":-3.9313080310821533,"y":213.98794555664062,"id":"219","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"375","x":-214.8235626220703,"y":-102.86846160888672,"id":"375","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"706","x":182.2732391357422,"y":28.071002960205078,"id":"706","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"46","x":332.8381652832031,"y":-135.80194091796875,"id":"46","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"255","x":-32.39060974121094,"y":-360.3738708496094,"id":"255","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"542","x":28.836088180541992,"y":-328.32177734375,"id":"542","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"76","x":74.87883758544922,"y":-193.5230255126953,"id":"76","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"780","x":-158.41819763183594,"y":113.76191711425781,"id":"780","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"917","x":-83.36345672607422,"y":11.622241020202637,"id":"917","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"697","x":-145.37953186035156,"y":-41.15174102783203,"id":"697","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"71","x":-242.9217071533203,"y":19.727436065673828,"id":"71","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"793","x":-156.06419372558594,"y":136.56346130371094,"id":"793","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"800","x":17.32832145690918,"y":-265.0585632324219,"id":"800","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"621","x":-202.68980407714844,"y":157.7190399169922,"id":"621","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"942","x":270.7630920410156,"y":-85.86734008789062,"id":"942","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"331","x":-181.86923217773438,"y":158.81459045410156,"id":"331","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"872","x":-201.8348846435547,"y":108.29243469238281,"id":"872","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"510","x":-100.28681182861328,"y":106.1337661743164,"id":"510","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"618","x":335.2655944824219,"y":-41.29856491088867,"id":"618","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"715","x":-96.49738311767578,"y":-109.6498794555664,"id":"715","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"409","x":49.03740310668945,"y":57.06986618041992,"id":"409","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"263","x":284.6463928222656,"y":-154.99240112304688,"id":"263","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"186","x":-216.4274444580078,"y":6.119544982910156,"id":"186","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"826","x":-36.4416618347168,"y":320.46026611328125,"id":"826","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"552","x":148.06007385253906,"y":-183.7974090576172,"id":"552","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"125","x":305.49603271484375,"y":117.99095916748047,"id":"125","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"755","x":162.1560821533203,"y":212.1122283935547,"id":"755","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"587","x":-148.9059295654297,"y":-82.5282211303711,"id":"587","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"363","x":-99.36670684814453,"y":-145.02685546875,"id":"363","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"728","x":-23.050172805786133,"y":-4.570727825164795,"id":"728","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"179","x":-201.60092163085938,"y":276.2903137207031,"id":"179","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"733","x":-21.0181941986084,"y":242.2282257080078,"id":"733","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"477","x":185.17185974121094,"y":-177.21482849121094,"id":"477","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"9","x":-65.11293029785156,"y":-75.21841430664062,"id":"9","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"772","x":243.18785095214844,"y":-156.9851837158203,"id":"772","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"611","x":278.16748046875,"y":140.78697204589844,"id":"611","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"797","x":145.11241149902344,"y":-82.06105041503906,"id":"797","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"537","x":-4.001736640930176,"y":-267.4035339355469,"id":"537","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"467","x":-112.35261535644531,"y":-238.25828552246094,"id":"467","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"48","x":241.10948181152344,"y":-88.57359313964844,"id":"48","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"664","x":260.50531005859375,"y":-116.78517150878906,"id":"664","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"19","x":-4.463706970214844,"y":141.0499267578125,"id":"19","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"849","x":-35.28793716430664,"y":97.91492462158203,"id":"849","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"15","x":-197.96473693847656,"y":-233.21275329589844,"id":"15","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"622","x":20.237533569335938,"y":15.980104446411133,"id":"622","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"796","x":-311.522216796875,"y":-46.69007873535156,"id":"796","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"925","x":-59.86018753051758,"y":-143.27020263671875,"id":"925","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"151","x":-333.84979248046875,"y":154.34861755371094,"id":"151","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"874","x":-383.2329406738281,"y":-74.67692565917969,"id":"874","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"533","x":148.90655517578125,"y":77.24755096435547,"id":"533","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"360","x":-364.4029235839844,"y":-144.88571166992188,"id":"360","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"637","x":340.4276123046875,"y":55.659767150878906,"id":"637","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"356","x":28.858579635620117,"y":-156.85740661621094,"id":"356","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"540","x":319.4403076171875,"y":-43.71427536010742,"id":"540","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"938","x":-258.77569580078125,"y":277.52923583984375,"id":"938","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"525","x":91.8144760131836,"y":163.59292602539062,"id":"525","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"617","x":-115.33971405029297,"y":-169.7242889404297,"id":"617","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"497","x":-46.65571212768555,"y":-131.97068786621094,"id":"497","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"782","x":55.51552963256836,"y":-67.96397399902344,"id":"782","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"812","x":-247.3101348876953,"y":-3.7054049968719482,"id":"812","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"21","x":-19.520397186279297,"y":317.48175048828125,"id":"21","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"411","x":-24.660661697387695,"y":-253.43492126464844,"id":"411","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"921","x":111.98404693603516,"y":15.64926815032959,"id":"921","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"326","x":-303.9507751464844,"y":-215.36033630371094,"id":"326","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"29","x":-36.55314636230469,"y":-401.0431823730469,"id":"29","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"873","x":-183.39230346679688,"y":192.41482543945312,"id":"873","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"634","x":-337.6429138183594,"y":-164.44386291503906,"id":"634","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"734","x":-217.0269317626953,"y":-228.2486572265625,"id":"734","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"211","x":58.89174270629883,"y":98.35775756835938,"id":"211","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"402","x":298.3952331542969,"y":-157.20079040527344,"id":"402","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"11","x":126.26036834716797,"y":12.037485122680664,"id":"11","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"574","x":-107.3483657836914,"y":247.5749053955078,"id":"574","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"86","x":-346.25714111328125,"y":-72.74187469482422,"id":"86","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"115","x":216.1802520751953,"y":-250.53726196289062,"id":"115","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"376","x":-3.949720859527588,"y":314.2568664550781,"id":"376","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"114","x":124.52750396728516,"y":106.82130432128906,"id":"114","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"383","x":-72.21785736083984,"y":225.4269256591797,"id":"383","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"563","x":147.7974090576172,"y":-100.38713073730469,"id":"563","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"40","x":-144.63424682617188,"y":75.31596374511719,"id":"40","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"610","x":-17.66472053527832,"y":337.74530029296875,"id":"610","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"25","x":114.71888732910156,"y":-4.680050373077393,"id":"25","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"447","x":80.65203857421875,"y":85.55376434326172,"id":"447","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"863","x":-179.10020446777344,"y":132.56210327148438,"id":"863","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"815","x":324.15252685546875,"y":40.75677490234375,"id":"815","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"820","x":138.43150329589844,"y":42.53554916381836,"id":"820","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"298","x":-49.19493865966797,"y":-73.51824188232422,"id":"298","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"192","x":181.66258239746094,"y":262.38873291015625,"id":"192","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"138","x":13.331934928894043,"y":-36.12981414794922,"id":"138","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"936","x":135.65940856933594,"y":203.53236389160156,"id":"936","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"545","x":-76.14164733886719,"y":-274.53106689453125,"id":"545","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"97","x":222.23867797851562,"y":-284.9915466308594,"id":"97","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"671","x":82.96794128417969,"y":-259.8475036621094,"id":"671","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"332","x":-73.6699447631836,"y":284.4726257324219,"id":"332","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"342","x":-110.81721496582031,"y":160.37448120117188,"id":"342","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"653","x":231.4733428955078,"y":84.72450256347656,"id":"653","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"103","x":98.6356430053711,"y":-170.99667358398438,"id":"103","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"277","x":-165.30621337890625,"y":-158.07801818847656,"id":"277","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"340","x":-229.1320037841797,"y":-103.74283599853516,"id":"340","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"759","x":79.63558197021484,"y":311.0176696777344,"id":"759","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"502","x":118.43707275390625,"y":-134.63604736328125,"id":"502","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"927","x":305.4984130859375,"y":-92.65159606933594,"id":"927","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"554","x":-211.85635375976562,"y":119.6721420288086,"id":"554","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"884","x":44.660282135009766,"y":259.7043151855469,"id":"884","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"865","x":-153.88648986816406,"y":37.78853988647461,"id":"865","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"41","x":-165.2162322998047,"y":206.12283325195312,"id":"41","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"217","x":101.26520538330078,"y":-257.2719421386719,"id":"217","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"628","x":-110.17413330078125,"y":-35.98152160644531,"id":"628","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"738","x":150.4451446533203,"y":118.56976318359375,"id":"738","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"33","x":-110.07830810546875,"y":-198.4215087890625,"id":"33","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"390","x":-343.2584228515625,"y":34.2177848815918,"id":"390","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"473","x":24.485158920288086,"y":269.0729064941406,"id":"473","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"601","x":195.5821990966797,"y":-17.105457305908203,"id":"601","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"948","x":6.544970989227295,"y":82.4679946899414,"id":"948","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"66","x":-227.20205688476562,"y":218.5814971923828,"id":"66","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"448","x":-55.5302734375,"y":164.0355987548828,"id":"448","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"92","x":-86.69709777832031,"y":-133.63356018066406,"id":"92","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"536","x":-205.9833984375,"y":-72.79033660888672,"id":"536","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"258","x":15.303709983825684,"y":-320.4550476074219,"id":"258","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"104","x":-198.72691345214844,"y":236.1871795654297,"id":"104","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"850","x":28.336679458618164,"y":354.0048522949219,"id":"850","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"871","x":-50.307029724121094,"y":122.57075500488281,"id":"871","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"771","x":20.3072566986084,"y":-291.9927673339844,"id":"771","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"388","x":-265.3895568847656,"y":-165.0975341796875,"id":"388","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"530","x":-99.28340911865234,"y":-4.732638835906982,"id":"530","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"588","x":27.953550338745117,"y":-179.67257690429688,"id":"588","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"373","x":-160.80226135253906,"y":71.82878875732422,"id":"373","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"633","x":11.483141899108887,"y":279.0147705078125,"id":"633","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"693","x":360.76715087890625,"y":6.305522918701172,"id":"693","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"26","x":-15.701324462890625,"y":-187.0673828125,"id":"26","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"50","x":-242.95433044433594,"y":125.13874816894531,"id":"50","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"353","x":-251.0979766845703,"y":-233.0222930908203,"id":"353","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"567","x":19.279884338378906,"y":368.1584167480469,"id":"567","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"976","x":91.76000213623047,"y":183.5074005126953,"id":"976","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"964","x":246.09068298339844,"y":-188.30389404296875,"id":"964","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"254","x":231.1395721435547,"y":106.8738784790039,"id":"254","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"676","x":-13.752120971679688,"y":68.8466796875,"id":"676","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"145","x":-86.37667083740234,"y":118.66072845458984,"id":"145","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"943","x":-236.1165008544922,"y":71.2644271850586,"id":"943","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"466","x":-240.42764282226562,"y":-181.5857696533203,"id":"466","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"792","x":286.5400695800781,"y":100.89086151123047,"id":"792","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"441","x":342.63922119140625,"y":-63.695068359375,"id":"441","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"880","x":-246.54344177246094,"y":-110.12932586669922,"id":"880","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"208","x":-69.18871307373047,"y":305.1150207519531,"id":"208","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"397","x":-60.56793975830078,"y":104.1447982788086,"id":"397","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"802","x":82.42668151855469,"y":-344.1496276855469,"id":"802","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"556","x":147.78810119628906,"y":-41.668304443359375,"id":"556","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"124","x":285.2398681640625,"y":-221.50767517089844,"id":"124","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"827","x":5.322141170501709,"y":33.94381332397461,"id":"827","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"4","x":56.585445404052734,"y":311.0835876464844,"id":"4","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"286","x":191.7154541015625,"y":-233.8367462158203,"id":"286","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"932","x":-233.8699951171875,"y":118.28692626953125,"id":"932","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"603","x":242.7521514892578,"y":141.03587341308594,"id":"603","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"348","x":-279.9621276855469,"y":-50.46833038330078,"id":"348","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"761","x":108.73603820800781,"y":-104.13335418701172,"id":"761","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"232","x":314.5475769042969,"y":-70.19744873046875,"id":"232","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"818","x":-53.996368408203125,"y":225.27700805664062,"id":"818","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"203","x":-208.5086212158203,"y":252.4227752685547,"id":"203","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"670","x":282.0748291015625,"y":214.43797302246094,"id":"670","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"160","x":61.61467361450195,"y":-241.3826904296875,"id":"160","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"24","x":-261.2264099121094,"y":-30.564313888549805,"id":"24","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"751","x":283.32916259765625,"y":-140.79861450195312,"id":"751","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"224","x":-15.827888488769531,"y":-381.5871276855469,"id":"224","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"674","x":-366.2373046875,"y":59.37730026245117,"id":"674","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"746","x":-77.48287200927734,"y":-224.8385772705078,"id":"746","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"197","x":-218.6184539794922,"y":-54.928443908691406,"id":"197","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"174","x":77.74818420410156,"y":120.6285400390625,"id":"174","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"248","x":-36.776702880859375,"y":209.45433044433594,"id":"248","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"377","x":164.52186584472656,"y":278.3725891113281,"id":"377","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"612","x":-270.4390869140625,"y":142.10084533691406,"id":"612","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"148","x":-434.09185791015625,"y":-42.185386657714844,"id":"148","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"150","x":107.6706314086914,"y":198.88287353515625,"id":"150","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"280","x":96.44850158691406,"y":-372.7156677246094,"id":"280","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"881","x":270.84259033203125,"y":-216.3822784423828,"id":"881","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"907","x":240.8516387939453,"y":-225.6692352294922,"id":"907","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"242","x":30.59834098815918,"y":-7.722788333892822,"id":"242","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"457","x":98.02301788330078,"y":142.0088653564453,"id":"457","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"662","x":-3.999865770339966,"y":-91.42308044433594,"id":"662","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"808","x":269.05224609375,"y":40.08332443237305,"id":"808","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"557","x":104.85945129394531,"y":-290.6691589355469,"id":"557","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"468","x":-55.5986328125,"y":329.1669616699219,"id":"468","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"754","x":-70.60721588134766,"y":-345.1512145996094,"id":"754","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"10","x":3.7417454719543457,"y":330.1108093261719,"id":"10","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"323","x":138.13314819335938,"y":-257.9703063964844,"id":"323","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"343","x":215.740234375,"y":-75.75080871582031,"id":"343","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"404","x":-138.37081909179688,"y":92.35250091552734,"id":"404","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"498","x":151.13279724121094,"y":242.55911254882812,"id":"498","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"546","x":-3.841417074203491,"y":15.448005676269531,"id":"546","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"496","x":-4.225852966308594,"y":-74.03479766845703,"id":"496","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"595","x":243.8487548828125,"y":211.7040557861328,"id":"595","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"171","x":72.80914306640625,"y":-109.27685546875,"id":"171","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"85","x":336.1055603027344,"y":162.99815368652344,"id":"85","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"251","x":-200.9264373779297,"y":205.30078125,"id":"251","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"49","x":283.6884765625,"y":-119.51997375488281,"id":"49","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"410","x":68.91432189941406,"y":20.285358428955078,"id":"410","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"937","x":-207.4521942138672,"y":-121.01612854003906,"id":"937","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"154","x":4.074350833892822,"y":-253.25552368164062,"id":"154","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"698","x":50.78028869628906,"y":284.3737487792969,"id":"698","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"799","x":129.47918701171875,"y":-169.59632873535156,"id":"799","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"794","x":24.32192611694336,"y":-200.5767059326172,"id":"794","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"983","x":22.22279930114746,"y":-136.85601806640625,"id":"983","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"805","x":-147.02122497558594,"y":-249.51040649414062,"id":"805","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"288","x":-15.827605247497559,"y":167.3271026611328,"id":"288","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"841","x":202.66598510742188,"y":-269.6335144042969,"id":"841","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"359","x":-234.88059997558594,"y":149.1602020263672,"id":"359","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"72","x":258.7348327636719,"y":-26.881601333618164,"id":"72","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"714","x":230.6862030029297,"y":156.7241668701172,"id":"714","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"444","x":335.1689147949219,"y":140.99095153808594,"id":"444","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"730","x":63.826271057128906,"y":-343.5988464355469,"id":"730","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"272","x":-366.6436462402344,"y":-100.17349243164062,"id":"272","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"584","x":166.1615753173828,"y":172.46096801757812,"id":"584","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"974","x":102.453857421875,"y":113.04042053222656,"id":"974","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"866","x":23.935544967651367,"y":122.11763000488281,"id":"866","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"766","x":241.67434692382812,"y":-4.8440423011779785,"id":"766","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"972","x":204.2305145263672,"y":-193.66590881347656,"id":"972","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"341","x":21.81497573852539,"y":-220.52745056152344,"id":"341","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"57","x":-262.3370056152344,"y":-116.84256744384766,"id":"57","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"206","x":233.0283660888672,"y":-251.006103515625,"id":"206","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"371","x":-253.04043579101562,"y":253.1468505859375,"id":"371","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"689","x":-53.53638458251953,"y":34.25437927246094,"id":"689","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"122","x":116.60430145263672,"y":128.6553497314453,"id":"122","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"69","x":-58.456207275390625,"y":-98.37858581542969,"id":"69","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"570","x":366.4093017578125,"y":51.328704833984375,"id":"570","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"8","x":116.38093566894531,"y":-157.14170837402344,"id":"8","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"176","x":189.45877075195312,"y":-136.93370056152344,"id":"176","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"128","x":286.5419006347656,"y":2.418940544128418,"id":"128","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"996","x":-115.91385650634766,"y":296.5558776855469,"id":"996","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"654","x":186.3793182373047,"y":-118.8041763305664,"id":"654","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"433","x":157.25901794433594,"y":-260.1308288574219,"id":"433","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"55","x":-21.907365798950195,"y":-299.9136962890625,"id":"55","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"308","x":-177.0631561279297,"y":-143.7984161376953,"id":"308","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"271","x":-183.09573364257812,"y":64.1923828125,"id":"271","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"713","x":-65.07604217529297,"y":-292.1108093261719,"id":"713","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"421","x":192.25799560546875,"y":64.0361328125,"id":"421","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"259","x":-38.154296875,"y":277.27935791015625,"id":"259","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"336","x":274.72552490234375,"y":29.35076904296875,"id":"336","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"178","x":-120.86248779296875,"y":-89.63060760498047,"id":"178","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"107","x":-36.606117248535156,"y":357.7220764160156,"id":"107","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"354","x":-35.72228240966797,"y":176.1402587890625,"id":"354","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"941","x":-140.92935180664062,"y":-141.33128356933594,"id":"941","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"143","x":-0.06741857528686523,"y":224.23704528808594,"id":"143","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"225","x":-311.1883239746094,"y":61.053890228271484,"id":"225","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"304","x":209.5547332763672,"y":-156.0629119873047,"id":"304","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"842","x":270.9128112792969,"y":-4.5163068771362305,"id":"842","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"260","x":-164.3410186767578,"y":-219.8040313720703,"id":"260","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"374","x":207.0592041015625,"y":109.70098876953125,"id":"374","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"919","x":-77.85504150390625,"y":-209.52171325683594,"id":"919","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"669","x":26.349729537963867,"y":-308.2086486816406,"id":"669","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"506","x":217.8111114501953,"y":240.9200439453125,"id":"506","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"692","x":184.98345947265625,"y":-44.93364334106445,"id":"692","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"53","x":-52.56251907348633,"y":-113.43220520019531,"id":"53","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"419","x":-102.7624282836914,"y":40.60472869873047,"id":"419","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"646","x":-133.12014770507812,"y":-96.7262191772461,"id":"646","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"613","x":-16.0787410736084,"y":108.10143280029297,"id":"613","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"559","x":79.99574279785156,"y":-147.48387145996094,"id":"559","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"38","x":-92.21446990966797,"y":-331.1775817871094,"id":"38","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"68","x":256.2646484375,"y":169.42218017578125,"id":"68","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"965","x":-144.6111602783203,"y":122.24482727050781,"id":"965","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"589","x":-186.7298583984375,"y":-76.47208404541016,"id":"589","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"777","x":-41.46272277832031,"y":-179.54132080078125,"id":"777","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"752","x":118.91656494140625,"y":-321.0151062011719,"id":"752","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"167","x":-122.89412689208984,"y":-107.8369140625,"id":"167","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"903","x":-78.01036834716797,"y":-241.7955322265625,"id":"903","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"36","x":-310.0439147949219,"y":-142.19497680664062,"id":"36","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"857","x":186.33938598632812,"y":308.8843688964844,"id":"857","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"335","x":19.099437713623047,"y":107.5787353515625,"id":"335","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"840","x":247.0015869140625,"y":243.05052185058594,"id":"840","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"243","x":326.0502624511719,"y":-191.01719665527344,"id":"243","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"475","x":-99.8103256225586,"y":209.23281860351562,"id":"475","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"684","x":-255.81309509277344,"y":79.53153991699219,"id":"684","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"795","x":-76.6828384399414,"y":-190.65277099609375,"id":"795","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"993","x":240.2652130126953,"y":-122.69547271728516,"id":"993","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"218","x":-206.21694946289062,"y":135.37942504882812,"id":"218","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"238","x":221.058349609375,"y":256.6548156738281,"id":"238","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"358","x":276.63323974609375,"y":249.96511840820312,"id":"358","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"346","x":103.16064453125,"y":223.58836364746094,"id":"346","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"509","x":-61.36848068237305,"y":-222.5003662109375,"id":"509","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"185","x":-26.00439453125,"y":-280.1543884277344,"id":"185","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"108","x":-153.89999389648438,"y":153.28433227539062,"id":"108","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"455","x":-73.42227935791016,"y":128.68162536621094,"id":"455","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"756","x":41.47951126098633,"y":119.45714569091797,"id":"756","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"905","x":186.91717529296875,"y":49.263858795166016,"id":"905","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"75","x":29.694198608398438,"y":-93.25786590576172,"id":"75","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"191","x":-88.20960998535156,"y":194.18911743164062,"id":"191","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"629","x":21.352659225463867,"y":326.9844665527344,"id":"629","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"213","x":-290.7845153808594,"y":-144.14137268066406,"id":"213","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"315","x":152.44773864746094,"y":-307.6535339355469,"id":"315","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"971","x":-259.30389404296875,"y":-177.06100463867188,"id":"971","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"538","x":280.26171875,"y":180.8900604248047,"id":"538","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"868","x":-69.5417709350586,"y":-39.35677719116211,"id":"868","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"123","x":136.6909942626953,"y":277.25006103515625,"id":"123","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"487","x":-205.43359375,"y":-23.929555892944336,"id":"487","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"889","x":-326.307861328125,"y":-56.72787094116211,"id":"889","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"345","x":102.8261947631836,"y":-158.11465454101562,"id":"345","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"155","x":-82.11607360839844,"y":82.48464965820312,"id":"155","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"164","x":-161.5657501220703,"y":-189.98672485351562,"id":"164","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"445","x":-54.848236083984375,"y":369.0309753417969,"id":"445","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"159","x":-63.477294921875,"y":399.5753479003906,"id":"159","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"555","x":-126.3133773803711,"y":-41.97633361816406,"id":"555","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"592","x":-198.75291442871094,"y":-171.78302001953125,"id":"592","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"229","x":27.476028442382812,"y":44.43601608276367,"id":"229","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"100","x":-241.16128540039062,"y":-17.332469940185547,"id":"100","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"325","x":-24.279470443725586,"y":124.8377914428711,"id":"325","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"643","x":-339.3072204589844,"y":-48.31296157836914,"id":"643","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"489","x":-212.83401489257812,"y":-42.03705978393555,"id":"489","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"309","x":-139.30078125,"y":239.498291015625,"id":"309","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"968","x":1.8277612924575806,"y":-18.843536376953125,"id":"968","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"432","x":334.6603088378906,"y":-2.0102920532226562,"id":"432","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"130","x":-158.79254150390625,"y":-204.7826385498047,"id":"130","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"319","x":-235.49771118164062,"y":51.21184158325195,"id":"319","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"548","x":33.13460159301758,"y":-37.1668815612793,"id":"548","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"667","x":-310.5920715332031,"y":30.72625732421875,"id":"667","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"981","x":149.9119110107422,"y":30.603551864624023,"id":"981","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"625","x":-407.0506286621094,"y":-58.026397705078125,"id":"625","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"532","x":31.433643341064453,"y":233.9176483154297,"id":"532","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"682","x":235.9984893798828,"y":25.512975692749023,"id":"682","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"240","x":-3.8992385864257812,"y":-170.40589904785156,"id":"240","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"369","x":-272.66021728515625,"y":-91.45284271240234,"id":"369","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"770","x":-226.1157989501953,"y":-122.15543365478516,"id":"770","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"350","x":-57.37567901611328,"y":-357.2146301269531,"id":"350","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"499","x":85.58345794677734,"y":-85.28903198242188,"id":"499","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"414","x":-176.0217742919922,"y":76.69648742675781,"id":"414","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"175","x":-211.4031219482422,"y":192.08543395996094,"id":"175","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"184","x":20.062664031982422,"y":69.24284362792969,"id":"184","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"985","x":-69.37055969238281,"y":177.76992797851562,"id":"985","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"847","x":-93.29942321777344,"y":-215.31851196289062,"id":"847","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"79","x":114.56983947753906,"y":-80.03783416748047,"id":"79","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"774","x":-77.12054443359375,"y":-145.16818237304688,"id":"774","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"712","x":270.7603454589844,"y":107.2703857421875,"id":"712","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"290","x":265.1141052246094,"y":130.7178192138672,"id":"290","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"157","x":180.55316162109375,"y":-25.525793075561523,"id":"157","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"106","x":167.6117401123047,"y":251.89895629882812,"id":"106","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"161","x":-89.14971923828125,"y":-297.091796875,"id":"161","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"168","x":177.7915496826172,"y":154.80116271972656,"id":"168","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"926","x":-187.7808074951172,"y":256.495849609375,"id":"926","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"951","x":-242.3453369140625,"y":217.11399841308594,"id":"951","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"963","x":79.76541137695312,"y":-216.06753540039062,"id":"963","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"626","x":-330.5119323730469,"y":262.39593505859375,"id":"626","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"398","x":66.50617218017578,"y":251.20144653320312,"id":"398","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"314","x":24.69819450378418,"y":-233.1136932373047,"id":"314","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"279","x":205.52452087402344,"y":-109.04338836669922,"id":"279","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"900","x":-275.5826416015625,"y":-123.78031158447266,"id":"900","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"43","x":-250.9423370361328,"y":109.60259246826172,"id":"43","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"781","x":35.29315948486328,"y":-122.44367980957031,"id":"781","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"832","x":-56.480506896972656,"y":210.3806610107422,"id":"832","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"966","x":349.82244873046875,"y":27.26759910583496,"id":"966","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"585","x":-278.0743713378906,"y":-109.02193450927734,"id":"585","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"806","x":-193.9542236328125,"y":-253.64697265625,"id":"806","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"867","x":256.11724853515625,"y":-148.72544860839844,"id":"867","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"339","x":-8.237571716308594,"y":-144.49893188476562,"id":"339","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"253","x":256.2829284667969,"y":258.809326171875,"id":"253","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"20","x":-218.3146209716797,"y":235.6327362060547,"id":"20","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"368","x":-127.41413879394531,"y":-308.61712646484375,"id":"368","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"268","x":-231.1902313232422,"y":-42.69138717651367,"id":"268","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"461","x":-165.86172485351562,"y":-38.223506927490234,"id":"461","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"990","x":-104.1008529663086,"y":125.27080535888672,"id":"990","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"7","x":-168.3955535888672,"y":296.0716247558594,"id":"7","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"111","x":-152.20916748046875,"y":-24.133697509765625,"id":"111","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"307","x":249.3896942138672,"y":29.906293869018555,"id":"307","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"18","x":-293.5469665527344,"y":154.3785858154297,"id":"18","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"58","x":-101.35824584960938,"y":354.7015075683594,"id":"58","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"822","x":201.16317749023438,"y":258.77130126953125,"id":"822","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"22","x":-100.37655639648438,"y":230.62649536132812,"id":"22","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"743","x":-134.54302978515625,"y":39.812767028808594,"id":"743","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"520","x":-17.168230056762695,"y":261.5814208984375,"id":"520","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"550","x":249.63784790039062,"y":-44.279701232910156,"id":"550","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"875","x":150.5208740234375,"y":263.0445251464844,"id":"875","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"987","x":132.420654296875,"y":117.02108001708984,"id":"987","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"440","x":248.2935333251953,"y":55.0130615234375,"id":"440","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"668","x":242.08750915527344,"y":103.86201477050781,"id":"668","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"14","x":121.11324310302734,"y":171.9853515625,"id":"14","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"914","x":219.6745147705078,"y":11.357394218444824,"id":"914","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"395","x":165.2548828125,"y":44.76975631713867,"id":"395","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"334","x":-209.3979949951172,"y":-90.32677459716797,"id":"334","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"523","x":-51.85319137573242,"y":182.1199951171875,"id":"523","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"17","x":-119.99761199951172,"y":219.55149841308594,"id":"17","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"501","x":-171.14297485351562,"y":255.53970336914062,"id":"501","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"989","x":-113.66664123535156,"y":116.94593811035156,"id":"989","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"64","x":-55.75706100463867,"y":-161.65640258789062,"id":"64","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"177","x":285.5318908691406,"y":-71.23435974121094,"id":"177","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"484","x":297.9257507324219,"y":-4.443938732147217,"id":"484","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"859","x":171.3700408935547,"y":-79.07829284667969,"id":"859","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"287","x":233.3111114501953,"y":-276.39471435546875,"id":"287","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"564","x":-114.1084976196289,"y":175.95249938964844,"id":"564","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"583","x":-223.88442993164062,"y":199.34429931640625,"id":"583","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"579","x":204.6642303466797,"y":-177.62718200683594,"id":"579","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"577","x":-30.3660888671875,"y":222.24758911132812,"id":"577","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"119","x":-3.893824815750122,"y":195.91055297851562,"id":"119","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"527","x":-42.086673736572266,"y":134.0801239013672,"id":"527","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"590","x":0.20566721260547638,"y":-117.04386138916016,"id":"590","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"52","x":-87.37793731689453,"y":-47.024227142333984,"id":"52","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"84","x":-302.1627502441406,"y":8.000046730041504,"id":"84","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"933","x":-221.25828552246094,"y":153.7289276123047,"id":"933","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"202","x":198.7530059814453,"y":141.80209350585938,"id":"202","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"320","x":-256.8007507324219,"y":62.271728515625,"id":"320","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"142","x":58.92485427856445,"y":-359.8160705566406,"id":"142","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"443","x":-135.96905517578125,"y":324.2686767578125,"id":"443","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"649","x":236.9556121826172,"y":-41.5275993347168,"id":"649","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"220","x":-96.74410247802734,"y":154.34405517578125,"id":"220","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"110","x":-110.08843231201172,"y":56.02881622314453,"id":"110","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"31","x":344.3133850097656,"y":81.98326873779297,"id":"31","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"856","x":207.1733856201172,"y":70.69185638427734,"id":"856","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"986","x":53.97751998901367,"y":137.51817321777344,"id":"986","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"469","x":77.36216735839844,"y":334.9066467285156,"id":"469","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"962","x":-124.14359283447266,"y":-197.85252380371094,"id":"962","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"517","x":106.37203216552734,"y":182.72755432128906,"id":"517","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"278","x":-80.20275115966797,"y":-101.3122329711914,"id":"278","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"198","x":-70.34487915039062,"y":266.3888244628906,"id":"198","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"426","x":-57.286651611328125,"y":-249.0137481689453,"id":"426","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"512","x":176.26467895507812,"y":-273.3499450683594,"id":"512","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"407","x":-246.1177520751953,"y":-210.88491821289062,"id":"407","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"493","x":-135.05108642578125,"y":56.810272216796875,"id":"493","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"877","x":-78.7897720336914,"y":93.62789916992188,"id":"877","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"741","x":-236.9544677734375,"y":173.89459228515625,"id":"741","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"887","x":-58.98800277709961,"y":-14.622206687927246,"id":"887","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"270","x":-30.183095932006836,"y":-229.0740203857422,"id":"270","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"748","x":-290.8573913574219,"y":-3.7211968898773193,"id":"748","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"430","x":-216.30674743652344,"y":-171.36978149414062,"id":"430","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"491","x":-77.96126556396484,"y":-329.7188415527344,"id":"491","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"896","x":151.1699981689453,"y":171.3041229248047,"id":"896","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"944","x":-42.02935028076172,"y":154.1696014404297,"id":"944","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"899","x":-190.1289520263672,"y":21.335203170776367,"id":"899","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"720","x":-172.52029418945312,"y":-91.45622253417969,"id":"720","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"98","x":241.786865234375,"y":66.63390350341797,"id":"98","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"424","x":-190.9827117919922,"y":220.001708984375,"id":"424","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"939","x":131.56402587890625,"y":-4.385453701019287,"id":"939","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"909","x":204.23114013671875,"y":-4.462730407714844,"id":"909","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"121","x":-16.479795455932617,"y":-110.34468841552734,"id":"121","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"835","x":232.871826171875,"y":-146.61976623535156,"id":"835","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"364","x":18.318700790405273,"y":142.59072875976562,"id":"364","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"420","x":62.79897689819336,"y":-164.8461151123047,"id":"420","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"153","x":-70.88026428222656,"y":191.7851104736328,"id":"153","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"87","x":93.02959442138672,"y":-115.93607330322266,"id":"87","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"913","x":92.18096160888672,"y":35.27903747558594,"id":"913","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"635","x":-335.0050964355469,"y":-180.60926818847656,"id":"635","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"843","x":-69.70452117919922,"y":207.0919189453125,"id":"843","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"65","x":50.68736267089844,"y":357.7112731933594,"id":"65","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"769","x":119.83281707763672,"y":-60.27608108520508,"id":"769","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"257","x":266.1678771972656,"y":230.1627197265625,"id":"257","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"89","x":-216.3114776611328,"y":-144.6297607421875,"id":"89","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"135","x":181.65919494628906,"y":248.7501678466797,"id":"135","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"739","x":-109.09139251708984,"y":-121.4300765991211,"id":"739","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"673","x":-108.58585357666016,"y":-250.7908477783203,"id":"673","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"327","x":52.665157318115234,"y":-308.23541259765625,"id":"327","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"265","x":-247.2451171875,"y":-192.18228149414062,"id":"265","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"807","x":-9.762629508972168,"y":-251.8490447998047,"id":"807","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"190","x":163.9303436279297,"y":64.9957275390625,"id":"190","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"620","x":221.1962890625,"y":180.71778869628906,"id":"620","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"524","x":-218.0910186767578,"y":49.67267990112305,"id":"524","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"486","x":157.3046112060547,"y":-117.06341552734375,"id":"486","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"78","x":161.44815063476562,"y":141.48788452148438,"id":"78","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"99","x":-275.09405517578125,"y":174.5193328857422,"id":"99","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"750","x":214.30325317382812,"y":198.96328735351562,"id":"750","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"459","x":297.02593994140625,"y":-112.92888641357422,"id":"459","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"999","x":-306.274169921875,"y":-16.44647789001465,"id":"999","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"760","x":-77.14321899414062,"y":-400.6120300292969,"id":"760","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"619","x":-170.8177490234375,"y":155.0716094970703,"id":"619","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"586","x":-100.08660125732422,"y":284.4227600097656,"id":"586","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"624","x":39.38595199584961,"y":-292.5622253417969,"id":"624","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"94","x":105.10094451904297,"y":-57.062007904052734,"id":"94","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"93","x":-81.67406463623047,"y":137.9439239501953,"id":"93","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"928","x":39.101070404052734,"y":70.14177703857422,"id":"928","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"920","x":-175.57867431640625,"y":-25.88361930847168,"id":"920","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"599","x":203.64056396484375,"y":35.45001983642578,"id":"599","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"416","x":64.37169647216797,"y":-130.37423706054688,"id":"416","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"431","x":-39.59150695800781,"y":-33.58666229248047,"id":"431","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"453","x":-277.4627685546875,"y":159.6195068359375,"id":"453","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"627","x":272.75848388671875,"y":-195.6165008544922,"id":"627","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"140","x":73.93336486816406,"y":72.35518646240234,"id":"140","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"685","x":-142.72293090820312,"y":154.07553100585938,"id":"685","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"740","x":338.3597106933594,"y":203.59701538085938,"id":"740","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"429","x":41.7409782409668,"y":204.77923583984375,"id":"429","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"116","x":-312.6654968261719,"y":-111.5347900390625,"id":"116","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"352","x":-105.4072265625,"y":265.9366149902344,"id":"352","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"977","x":218.17483520507812,"y":-40.4197998046875,"id":"977","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"732","x":-328.3558654785156,"y":-4.806426525115967,"id":"732","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"950","x":-37.61713409423828,"y":-145.71470642089844,"id":"950","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"37","x":280.9671936035156,"y":-17.144214630126953,"id":"37","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"313","x":-67.99365997314453,"y":14.456666946411133,"id":"313","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"412","x":157.8657684326172,"y":91.23503875732422,"id":"412","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"773","x":153.90541076660156,"y":-76.15503692626953,"id":"773","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"744","x":61.00138473510742,"y":-4.64404821395874,"id":"744","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"451","x":296.8545837402344,"y":50.24263000488281,"id":"451","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"503","x":116.31084442138672,"y":147.9286346435547,"id":"503","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"596","x":80.50133514404297,"y":-174.72996520996094,"id":"596","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"576","x":287.81365966796875,"y":-185.91891479492188,"id":"576","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"729","x":144.0723419189453,"y":181.96701049804688,"id":"729","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"632","x":13.440869331359863,"y":52.686126708984375,"id":"632","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"102","x":-348.95281982421875,"y":-15.32683277130127,"id":"102","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"156","x":189.93814086914062,"y":-102.09343719482422,"id":"156","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"63","x":192.2419891357422,"y":234.7782745361328,"id":"63","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"784","x":112.84393310546875,"y":-203.03536987304688,"id":"784","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"878","x":-64.0804672241211,"y":75.44010925292969,"id":"878","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"401","x":198.40370178222656,"y":87.86812591552734,"id":"401","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"541","x":-66.91712188720703,"y":153.6738739013672,"id":"541","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"809","x":135.8173370361328,"y":-283.3077697753906,"id":"809","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"169","x":23.060983657836914,"y":-247.83958435058594,"id":"169","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"580","x":36.97391891479492,"y":-139.2071075439453,"id":"580","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"855","x":208.16616821289062,"y":212.33738708496094,"id":"855","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"6","x":-150.68792724609375,"y":246.51089477539062,"id":"6","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"578","x":-118.3182601928711,"y":271.4440002441406,"id":"578","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"931","x":212.5603485107422,"y":227.4930877685547,"id":"931","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"173","x":61.44612503051758,"y":-277.6768798828125,"id":"173","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"387","x":105.22987365722656,"y":162.18905639648438,"id":"387","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"399","x":62.94395065307617,"y":41.00249099731445,"id":"399","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"960","x":126.17372131347656,"y":234.57339477539062,"id":"960","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"687","x":367.9289245605469,"y":-9.00336742401123,"id":"687","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"82","x":49.133811950683594,"y":-205.6604766845703,"id":"82","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"765","x":214.5552215576172,"y":100.18413543701172,"id":"765","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"701","x":130.2059326171875,"y":-187.43252563476562,"id":"701","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"449","x":53.8419075012207,"y":29.450876235961914,"id":"449","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"718","x":-175.3079833984375,"y":112.28166961669922,"id":"718","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"851","x":178.15676879882812,"y":-189.6461181640625,"id":"851","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"310","x":-19.6187801361084,"y":278.3647155761719,"id":"310","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"347","x":-113.4788818359375,"y":-18.538183212280273,"id":"347","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"283","x":105.10774993896484,"y":-4.2571210861206055,"id":"283","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"659","x":-79.36097717285156,"y":-116.3160171508789,"id":"659","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"954","x":-331.43206787109375,"y":-105.5678939819336,"id":"954","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"998","x":-127.78697967529297,"y":-172.95318603515625,"id":"998","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"702","x":-43.51334762573242,"y":-86.20162200927734,"id":"702","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"810","x":167.13604736328125,"y":-4.574692249298096,"id":"810","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"531","x":92.37456512451172,"y":255.1116485595703,"id":"531","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"803","x":-99.75767517089844,"y":-363.8706970214844,"id":"803","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"737","x":184.6285400390625,"y":172.4593963623047,"id":"737","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"30","x":-159.74935913085938,"y":93.49659729003906,"id":"30","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"422","x":-243.1083526611328,"y":195.30015563964844,"id":"422","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"464","x":66.657958984375,"y":-307.9207763671875,"id":"464","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"522","x":-365.5430603027344,"y":-123.8236083984375,"id":"522","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"91","x":-4.137124538421631,"y":-129.85150146484375,"id":"91","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"565","x":80.0616683959961,"y":25.295886993408203,"id":"565","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"959","x":-2.3316457271575928,"y":100.32931518554688,"id":"959","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"961","x":-4.210048198699951,"y":-42.71408462524414,"id":"961","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"703","x":309.0799255371094,"y":176.09072875976562,"id":"703","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"438","x":-135.7187957763672,"y":-153.90440368652344,"id":"438","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"405","x":45.32215118408203,"y":-181.7283477783203,"id":"405","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"295","x":142.5879364013672,"y":-215.1660919189453,"id":"295","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"80","x":34.41230773925781,"y":-276.64447021484375,"id":"80","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"897","x":47.836090087890625,"y":179.27291870117188,"id":"897","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"382","x":-157.12562561035156,"y":176.6783447265625,"id":"382","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"299","x":-226.1755828857422,"y":-25.230504989624023,"id":"299","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"95","x":-127.45738983154297,"y":116.09205627441406,"id":"95","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"166","x":-83.43241119384766,"y":60.92293167114258,"id":"166","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"742","x":216.8579559326172,"y":-215.42308044433594,"id":"742","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"70","x":108.0474624633789,"y":-35.777122497558594,"id":"70","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"133","x":163.31744384765625,"y":-140.08482360839844,"id":"133","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"775","x":149.7578582763672,"y":223.24673461914062,"id":"775","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"614","x":247.777099609375,"y":-109.3811264038086,"id":"614","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"452","x":-124.30867004394531,"y":-4.425813674926758,"id":"452","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"767","x":-136.0425567626953,"y":-20.73764419555664,"id":"767","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"699","x":-88.22972869873047,"y":-32.233917236328125,"id":"699","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"285","x":-3.3227784633636475,"y":252.13821411132812,"id":"285","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"289","x":-34.46217346191406,"y":-334.0826110839844,"id":"289","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"952","x":209.13723754882812,"y":-22.261226654052734,"id":"952","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"652","x":-73.08150482177734,"y":-175.18258666992188,"id":"652","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"916","x":-269.510009765625,"y":8.566418647766113,"id":"916","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"458","x":-414.8975524902344,"y":-103.50591278076172,"id":"458","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"13","x":-144.74612426757812,"y":298.3846435546875,"id":"13","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"439","x":64.45814514160156,"y":-221.1035919189453,"id":"439","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"681","x":-4.316288948059082,"y":-201.64474487304688,"id":"681","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"137","x":-329.3025817871094,"y":-74.94798278808594,"id":"137","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"380","x":-297.34259033203125,"y":-77.28585815429688,"id":"380","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"711","x":-33.00178146362305,"y":-209.58470153808594,"id":"711","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"763","x":39.56949996948242,"y":301.44500732421875,"id":"763","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"854","x":-40.604312896728516,"y":114.7494125366211,"id":"854","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"819","x":-44.15223693847656,"y":196.8210906982422,"id":"819","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"149","x":222.43431091308594,"y":-121.4255599975586,"id":"149","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"330","x":221.41197204589844,"y":-9.110032081604004,"id":"330","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"117","x":282.1527404785156,"y":125.3889389038086,"id":"117","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"152","x":73.78807067871094,"y":141.28219604492188,"id":"152","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"483","x":149.7608642578125,"y":11.283105850219727,"id":"483","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"521","x":-254.69644165039062,"y":-55.25185775756836,"id":"521","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"581","x":-37.024658203125,"y":-246.50596618652344,"id":"581","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"235","x":38.20746994018555,"y":38.817928314208984,"id":"235","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"726","x":-118.19111633300781,"y":89.47344207763672,"id":"726","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"367","x":197.7255096435547,"y":-79.2307357788086,"id":"367","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"221","x":68.45429229736328,"y":-82.96256256103516,"id":"221","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"306","x":122.40569305419922,"y":-273.00030517578125,"id":"306","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"727","x":-55.78774642944336,"y":269.8813171386719,"id":"727","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"678","x":-4.072946071624756,"y":122.31597900390625,"id":"678","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"183","x":-36.707889556884766,"y":-164.49105834960938,"id":"183","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"437","x":-277.9690856933594,"y":189.89218139648438,"id":"437","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"365","x":-152.9029083251953,"y":-108.64485168457031,"id":"365","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"357","x":0.3901452124118805,"y":-157.72784423828125,"id":"357","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"187","x":-117.56036376953125,"y":-189.4230194091797,"id":"187","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"194","x":192.8609161376953,"y":34.03489685058594,"id":"194","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"828","x":77.352783203125,"y":220.44021606445312,"id":"828","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"853","x":97.3671875,"y":-272.4352111816406,"id":"853","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"81","x":6.165254592895508,"y":-210.1963348388672,"id":"81","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"804","x":91.85118865966797,"y":-202.72488403320312,"id":"804","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"165","x":129.51699829101562,"y":-27.853376388549805,"id":"165","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"351","x":-18.628978729248047,"y":-22.875152587890625,"id":"351","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"969","x":74.84977722167969,"y":108.305908203125,"id":"969","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"245","x":160.73814392089844,"y":193.81167602539062,"id":"245","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"883","x":-289.79888916015625,"y":-101.17070007324219,"id":"883","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"658","x":-7.272166728973389,"y":400.4769287109375,"id":"658","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"984","x":-34.944637298583984,"y":-120.11891174316406,"id":"984","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"269","x":113.48241424560547,"y":96.3275146484375,"id":"269","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"997","x":29.189130783081055,"y":-73.91384887695312,"id":"997","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"831","x":59.90338897705078,"y":-148.94943237304688,"id":"831","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"911","x":-270.08843994140625,"y":-48.04568099975586,"id":"911","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"691","x":74.41643524169922,"y":271.45904541015625,"id":"691","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"946","x":277.95001220703125,"y":-252.4796142578125,"id":"946","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"105","x":-196.55674743652344,"y":41.464534759521484,"id":"105","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"648","x":107.7802505493164,"y":-143.59030151367188,"id":"648","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"908","x":224.11416625976562,"y":-235.7957763671875,"id":"908","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"813","x":16.186851501464844,"y":307.1662902832031,"id":"813","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"680","x":-192.2047119140625,"y":-4.086845397949219,"id":"680","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"42","x":309.2531433105469,"y":-130.2900848388672,"id":"42","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"663","x":97.0268783569336,"y":-321.6080627441406,"id":"663","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"915","x":36.63996505737305,"y":140.44839477539062,"id":"915","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"886","x":103.8741455078125,"y":269.5122375488281,"id":"886","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"704","x":302.4954833984375,"y":-232.1157989501953,"id":"704","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"204","x":330.060302734375,"y":-76.69463348388672,"id":"204","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"241","x":182.2513885498047,"y":221.02749633789062,"id":"241","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"274","x":-4.73018217086792,"y":-219.94822692871094,"id":"274","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"256","x":185.6335906982422,"y":-207.1335906982422,"id":"256","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"311","x":100.08203887939453,"y":-220.2010040283203,"id":"311","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"361","x":256.0087585449219,"y":-213.8036651611328,"id":"361","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"694","x":-35.07883071899414,"y":46.35936737060547,"id":"694","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"435","x":-233.95962524414062,"y":-145.02304077148438,"id":"435","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"549","x":-31.425092697143555,"y":303.8769226074219,"id":"549","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"297","x":57.4561653137207,"y":-258.2809753417969,"id":"297","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"862","x":319.6070251464844,"y":104.13722229003906,"id":"862","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"638","x":-132.85452270507812,"y":252.92637634277344,"id":"638","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"534","x":-52.86753463745117,"y":-192.4727783203125,"id":"534","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"96","x":-225.79833984375,"y":92.84037780761719,"id":"96","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"300","x":202.37364196777344,"y":185.39022827148438,"id":"300","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"716","x":187.23558044433594,"y":-4.597502708435059,"id":"716","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"975","x":-55.91364288330078,"y":146.32211303710938,"id":"975","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"366","x":287.3763122558594,"y":18.671873092651367,"id":"366","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"389","x":150.04283142089844,"y":147.60357666015625,"id":"389","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"722","x":218.27305603027344,"y":141.56787109375,"id":"722","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"894","x":-164.3136444091797,"y":-12.87082576751709,"id":"894","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"609","x":-325.4644775390625,"y":17.364234924316406,"id":"609","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"695","x":-193.7124786376953,"y":-207.17613220214844,"id":"695","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"508","x":-124.57794189453125,"y":131.3579559326172,"id":"508","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"507","x":-166.7831268310547,"y":220.8167724609375,"id":"507","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"710","x":266.0773620605469,"y":181.84043884277344,"id":"710","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"719","x":-329.58514404296875,"y":135.64854431152344,"id":"719","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"141","x":-120.160888671875,"y":-28.571584701538086,"id":"141","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"392","x":61.35049057006836,"y":181.62876892089844,"id":"392","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"514","x":-23.98908233642578,"y":-37.061527252197266,"id":"514","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"494","x":125.1929931640625,"y":189.19175720214844,"id":"494","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"294","x":200.74180603027344,"y":124.0519027709961,"id":"294","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"463","x":111.86055755615234,"y":60.18984603881836,"id":"463","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"344","x":148.1793212890625,"y":-58.23313522338867,"id":"344","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"199","x":86.12394714355469,"y":287.7127685546875,"id":"199","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"922","x":30.016925811767578,"y":189.10008239746094,"id":"922","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"958","x":-349.0509948730469,"y":-111.87776947021484,"id":"958","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"222","x":6.254809379577637,"y":236.2846221923828,"id":"222","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"885","x":39.12068557739258,"y":89.20988464355469,"id":"885","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"790","x":-85.36849212646484,"y":-71.61058044433594,"id":"790","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"526","x":229.33743286132812,"y":-167.3759002685547,"id":"526","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"233","x":-31.727075576782227,"y":-193.8743133544922,"id":"233","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"480","x":-195.72972106933594,"y":92.41736602783203,"id":"480","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"582","x":-210.2484588623047,"y":-212.99038696289062,"id":"582","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"650","x":-130.43191528320312,"y":-267.7532043457031,"id":"650","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"980","x":74.94554901123047,"y":-5.568853378295898,"id":"980","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"317","x":117.0784912109375,"y":-258.8038635253906,"id":"317","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"640","x":-359.0789489746094,"y":5.287472724914551,"id":"640","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"616","x":19.58736228942871,"y":178.65084838867188,"id":"616","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"762","x":171.6390380859375,"y":-117.24581146240234,"id":"762","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"247","x":269.8930358886719,"y":-178.1805877685547,"id":"247","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"181","x":105.35997772216797,"y":-84.58692169189453,"id":"181","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"833","x":-117.34114074707031,"y":69.07090759277344,"id":"833","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"215","x":-284.6941833496094,"y":-185.79576110839844,"id":"215","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"0","x":-361.3965148925781,"y":23.813302993774414,"id":"0","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"924","x":188.98806762695312,"y":11.105255126953125,"id":"924","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"666","x":-39.70988082885742,"y":25.78167152404785,"id":"666","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"700","x":-278.0124206542969,"y":-233.4985809326172,"id":"700","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"934","x":225.0428009033203,"y":66.79785919189453,"id":"934","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"276","x":-174.19451904296875,"y":-190.2557830810547,"id":"276","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"519","x":252.7320098876953,"y":96.51153564453125,"id":"519","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"787","x":-257.1175842285156,"y":158.88711547851562,"id":"787","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"35","x":225.9254150390625,"y":125.13164520263672,"id":"35","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"207","x":118.48170471191406,"y":73.77394104003906,"id":"207","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"967","x":-248.3126983642578,"y":-99.65335083007812,"id":"967","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"660","x":-165.9047088623047,"y":18.794248580932617,"id":"660","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"231","x":34.560848236083984,"y":-393.8830261230469,"id":"231","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"490","x":-143.04031372070312,"y":104.7149658203125,"id":"490","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"275","x":308.82794189453125,"y":-18.6016845703125,"id":"275","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"764","x":282.81195068359375,"y":-42.597557067871094,"id":"764","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"688","x":158.99058532714844,"y":-22.41868019104004,"id":"688","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"394","x":81.32222747802734,"y":44.59794235229492,"id":"394","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"825","x":235.0301971435547,"y":41.8751335144043,"id":"825","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"547","x":-33.81401824951172,"y":250.9601287841797,"id":"547","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"817","x":-102.66346740722656,"y":-163.57589721679688,"id":"817","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"830","x":204.63534545898438,"y":8.424003601074219,"id":"830","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"209","x":-283.1675109863281,"y":124.2724609375,"id":"209","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"844","x":-7.841259956359863,"y":39.14602279663086,"id":"844","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"478","x":-17.602327346801758,"y":208.8480987548828,"id":"478","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"214","x":-22.171659469604492,"y":-160.57496643066406,"id":"214","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"328","x":138.20896911621094,"y":-110.1258544921875,"id":"328","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"481","x":78.93204498291016,"y":-37.819332122802734,"id":"481","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"735","x":172.185791015625,"y":-43.596248626708984,"id":"735","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"139","x":85.64042663574219,"y":-16.071989059448242,"id":"139","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"385","x":-239.42337036132812,"y":299.1449890136719,"id":"385","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"940","x":46.63593292236328,"y":-337.2977600097656,"id":"940","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"83","x":15.296637535095215,"y":-65.32840728759766,"id":"83","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"230","x":297.7179870605469,"y":88.30797576904297,"id":"230","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"5","x":-217.5965118408203,"y":-191.7041473388672,"id":"5","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"513","x":-22.38195037841797,"y":-83.21305084228516,"id":"513","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"888","x":-365.0563049316406,"y":-170.85589599609375,"id":"888","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"292","x":45.45454788208008,"y":223.3859100341797,"id":"292","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"725","x":85.3000259399414,"y":-54.15906524658203,"id":"725","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"834","x":256.6051940917969,"y":141.37112426757812,"id":"834","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"753","x":-338.079833984375,"y":-33.90757369995117,"id":"753","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"284","x":228.390869140625,"y":-111.43312072753906,"id":"284","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"630","x":-25.974536895751953,"y":-66.82064056396484,"id":"630","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"929","x":178.440673828125,"y":-157.09092712402344,"id":"929","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"312","x":145.68736267089844,"y":-26.566980361938477,"id":"312","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"67","x":-6.645829677581787,"y":-360.7749938964844,"id":"67","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"482","x":-336.9873962402344,"y":-91.10757446289062,"id":"482","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"757","x":243.4020233154297,"y":179.14244079589844,"id":"757","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"324","x":-124.12813568115234,"y":-70.10943603515625,"id":"324","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"318","x":-162.7556610107422,"y":-233.8509063720703,"id":"318","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"642","x":198.15135192871094,"y":-218.174072265625,"id":"642","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"147","x":202.31089782714844,"y":282.29058837890625,"id":"147","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"566","x":141.11264038085938,"y":305.2621154785156,"id":"566","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"910","x":187.2196502685547,"y":126.4718017578125,"id":"910","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"516","x":-3.5488998889923096,"y":363.96234130859375,"id":"516","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"848","x":207.13406372070312,"y":-133.0250701904297,"id":"848","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"450","x":220.5140838623047,"y":-92.68943786621094,"id":"450","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"16","x":235.85989379882812,"y":-25.080137252807617,"id":"16","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"551","x":114.32901763916016,"y":49.58835983276367,"id":"551","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"408","x":22.35316276550293,"y":-362.35662841796875,"id":"408","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"829","x":271.7508850097656,"y":-53.92940139770508,"id":"829","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"170","x":182.71414184570312,"y":142.6305694580078,"id":"170","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"266","x":170.80308532714844,"y":-207.8843536376953,"id":"266","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"54","x":179.2603302001953,"y":291.2566223144531,"id":"54","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"302","x":255.098876953125,"y":9.701939582824707,"id":"302","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0},{"label":"195","x":-220.3837127685547,"y":170.89364624023438,"id":"195","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"381","x":-56.19515609741211,"y":52.60026931762695,"id":"381","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"406","x":241.9581298828125,"y":-72.64779663085938,"id":"406","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"144","x":-365.7405700683594,"y":-76.3373031616211,"id":"144","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"434","x":-132.29063415527344,"y":-250.53575134277344,"id":"434","attributes":{"Modularity Class":"4"},"color":"rgb(115,192,0)","size":4.0},{"label":"898","x":43.99703598022461,"y":-44.101070404052734,"id":"898","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"417","x":149.53916931152344,"y":-154.45497131347656,"id":"417","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"456","x":5.628417491912842,"y":-346.9104309082031,"id":"456","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"505","x":-42.979862213134766,"y":86.80999755859375,"id":"505","attributes":{"Modularity Class":"7"},"color":"rgb(76,70,62)","size":4.0},{"label":"118","x":-302.4209899902344,"y":-192.6138153076172,"id":"118","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"136","x":-3.5095748901367188,"y":-289.5700378417969,"id":"136","attributes":{"Modularity Class":"6"},"color":"rgb(6,0,31)","size":4.0},{"label":"234","x":207.08218383789062,"y":152.1047821044922,"id":"234","attributes":{"Modularity Class":"3"},"color":"rgb(184,116,0)","size":4.0},{"label":"362","x":193.34837341308594,"y":-152.0209503173828,"id":"362","attributes":{"Modularity Class":"2"},"color":"rgb(255,85,132)","size":4.0},{"label":"895","x":-130.18408203125,"y":197.06321716308594,"id":"895","attributes":{"Modularity Class":"5"},"color":"rgb(0,196,255)","size":4.0},{"label":"205","x":-280.9578552246094,"y":-154.80523681640625,"id":"205","attributes":{"Modularity Class":"1"},"color":"rgb(155,250,0)","size":4.0},{"label":"472","x":55.55131149291992,"y":76.62069702148438,"id":"472","attributes":{"Modularity Class":"0"},"color":"rgb(223,137,255)","size":4.0}],"edges":[{"source":"560","target":"593","id":"5274","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"634","target":"26","id":"6652","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"918","target":"363","id":"7074","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"280","target":"169","id":"5399","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"571","target":"338","id":"8530","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"865","target":"359","id":"6703","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"290","target":"759","id":"3444","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"581","target":"648","id":"8841","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"645","target":"900","id":"9093","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"645","target":"362","id":"9923","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"820","target":"199","id":"4043","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"260","target":"675","id":"6891","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"402","target":"415","id":"4046","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"156","target":"782","id":"8981","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"439","target":"794","id":"1285","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"278","target":"363","id":"7896","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"867","target":"500","id":"4294","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"396","target":"555","id":"9702","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"442","target":"93","id":"956","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"16","target":"788","id":"2663","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"153","target":"235","id":"4075","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"448","target":"832","id":"4413","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"350","target":"647","id":"2515","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"563","target":"742","id":"1119","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"67","target":"182","id":"1378","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"183","target":"276","id":"3390","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"162","target":"485","id":"2793","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"843","target":"681","id":"1823","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"566","target":"865","id":"3586","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"554","target":"103","id":"5764","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"71","target":"390","id":"1189","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"714","target":"946","id":"8236","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"134","target":"328","id":"1662","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"212","target":"991","id":"6528","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"247","target":"134","id":"3732","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"689","target":"707","id":"3948","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"316","target":"959","id":"4278","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"310","target":"307","id":"120","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"848","target":"170","id":"5700","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"918","target":"202","id":"9366","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"636","target":"883","id":"3085","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"575","target":"722","id":"723","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"786","target":"984","id":"2838","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"748","target":"543","id":"3766","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"646","target":"393","id":"5659","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"111","target":"871","id":"9611","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"337","target":"116","id":"9459","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"398","target":"555","id":"5242","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"367","target":"907","id":"5449","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"734","target":"303","id":"9469","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"608","target":"924","id":"2071","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"488","target":"633","id":"6080","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"246","target":"134","id":"7458","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"966","target":"366","id":"1989","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"382","target":"342","id":"5318","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"122","target":"68","id":"7163","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"737","target":"710","id":"9355","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"584","target":"840","id":"3614","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"960","target":"8","id":"7782","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"93","target":"896","id":"7495","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"631","target":"952","id":"6332","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"434","target":"653","id":"8267","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"527","target":"789","id":"7756","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"80","target":"328","id":"3854","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"211","target":"182","id":"5664","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"561","target":"564","id":"6614","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"344","target":"484","id":"1139","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"737","target":"506","id":"4831","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"606","target":"610","id":"64","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"540","target":"232","id":"2836","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"358","target":"192","id":"8953","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"449","target":"569","id":"5115","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"854","target":"17","id":"7862","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"47","target":"941","id":"4772","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"177","target":"540","id":"6932","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"957","target":"97","id":"3919","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"242","target":"957","id":"7794","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"758","target":"528","id":"8920","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"40","target":"951","id":"8776","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"431","target":"584","id":"4356","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"132","target":"697","id":"9429","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"444","target":"884","id":"1013","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"197","target":"634","id":"5347","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"173","target":"791","id":"6062","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"512","target":"417","id":"1583","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"327","target":"477","id":"1726","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"400","target":"726","id":"5777","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"628","target":"467","id":"3044","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"136","target":"258","id":"5522","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"195","target":"96","id":"9358","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"975","target":"948","id":"9796","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"55","target":"733","id":"5217","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"151","target":"121","id":"8541","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"510","target":"433","id":"7927","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"354","target":"256","id":"8317","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"955","target":"680","id":"668","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"789","target":"995","id":"9006","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"867","target":"301","id":"4361","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"150","target":"264","id":"9581","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"855","target":"16","id":"4414","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"132","target":"883","id":"2732","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"336","target":"848","id":"1359","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"417","target":"228","id":"4412","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"497","target":"893","id":"2266","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"111","target":"33","id":"5527","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"107","target":"890","id":"3193","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"780","target":"101","id":"8713","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"663","target":"316","id":"8991","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"46","target":"506","id":"4768","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"440","target":"928","id":"8102","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"625","target":"720","id":"1280","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"456","target":"1","id":"4455","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"682","target":"808","id":"4534","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"890","target":"420","id":"2824","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"597","target":"55","id":"8858","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"812","target":"587","id":"879","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"822","target":"338","id":"8264","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"637","target":"693","id":"8955","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"962","target":"889","id":"2372","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"420","target":"297","id":"8098","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"907","target":"200","id":"7459","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"786","target":"148","id":"6825","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"797","target":"189","id":"1104","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"86","target":"348","id":"5254","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"579","target":"226","id":"5280","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"913","target":"386","id":"5555","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"569","target":"944","id":"6931","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"632","target":"650","id":"8692","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"146","target":"354","id":"6773","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"430","target":"894","id":"7475","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"501","target":"584","id":"8407","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"725","target":"990","id":"5142","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"791","target":"574","id":"3388","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"16","target":"860","id":"4566","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"324","target":"673","id":"1572","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"354","target":"139","id":"7526","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"960","target":"661","id":"2609","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"512","target":"802","id":"8681","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"787","target":"574","id":"7407","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"174","target":"757","id":"5140","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"136","target":"671","id":"7553","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"3","target":"550","id":"9629","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"256","target":"48","id":"7507","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"829","target":"502","id":"1010","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"909","target":"562","id":"312","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"230","target":"85","id":"1225","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"960","target":"835","id":"3806","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"151","target":"102","id":"2285","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"518","target":"124","id":"3960","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"86","target":"640","id":"2922","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"610","target":"273","id":"1379","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"576","target":"717","id":"8054","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"841","target":"859","id":"2121","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"428","target":"361","id":"7113","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"174","target":"322","id":"5931","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"610","target":"310","id":"9554","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"82","target":"807","id":"4298","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"613","target":"329","id":"182","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"71","target":"385","id":"2898","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"823","target":"417","id":"2305","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"84","target":"609","id":"7059","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"270","target":"306","id":"9622","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"446","target":"894","id":"5398","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"843","target":"621","id":"1872","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"336","target":"150","id":"7932","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"368","target":"903","id":"462","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"480","target":"882","id":"3721","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"337","target":"195","id":"1040","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"693","target":"601","id":"1598","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"943","target":"986","id":"7359","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"72","target":"128","id":"8616","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"666","target":"937","id":"8704","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"872","target":"266","id":"3275","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"330","target":"114","id":"6217","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"354","target":"331","id":"9363","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"79","target":"881","id":"353","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"490","target":"872","id":"7151","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"840","target":"192","id":"3138","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"477","target":"627","id":"5357","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"338","target":"102","id":"6896","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"567","target":"222","id":"4140","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"256","target":"526","id":"5027","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"374","target":"72","id":"5201","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"273","target":"285","id":"6815","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"864","target":"204","id":"2590","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"334","target":"28","id":"4934","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"855","target":"828","id":"8906","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"369","target":"67","id":"6090","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"803","target":"836","id":"1431","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"593","target":"315","id":"280","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"679","target":"192","id":"5557","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"318","target":"216","id":"7743","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"797","target":"627","id":"5733","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"174","target":"63","id":"1483","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"436","target":"549","id":"4523","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"996","target":"567","id":"2042","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"490","target":"7","id":"2497","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"617","target":"452","id":"7432","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"102","target":"482","id":"4917","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"229","target":"457","id":"9498","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"807","target":"509","id":"5898","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"244","target":"645","id":"6333","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"119","target":"204","id":"5906","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"623","target":"845","id":"6656","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"582","target":"734","id":"1144","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"586","target":"516","id":"7809","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"957","target":"535","id":"7073","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"728","target":"311","id":"3188","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"90","target":"64","id":"899","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"504","target":"498","id":"2214","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"916","target":"36","id":"8965","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"493","target":"641","id":"2708","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"120","target":"243","id":"9278","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"95","target":"743","id":"1371","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"776","target":"729","id":"2012","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"552","target":"632","id":"2512","attributes":{},"color":"rgb(165,77,97)","size":2.0},{"source":"672","target":"115","id":"5846","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"557","target":"165","id":"1471","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"492","target":"173","id":"4754","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"339","target":"749","id":"6811","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"265","target":"200","id":"9750","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"516","target":"694","id":"1764","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"449","target":"720","id":"6548","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"685","target":"668","id":"7937","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"182","target":"408","id":"3812","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"704","target":"781","id":"9422","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"985","target":"99","id":"1645","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"520","target":"868","id":"4947","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"203","target":"195","id":"602","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"479","target":"697","id":"2183","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"92","target":"982","id":"1501","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"98","target":"389","id":"6023","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"433","target":"579","id":"7098","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"853","target":"160","id":"5455","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"636","target":"276","id":"8234","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"680","target":"644","id":"5601","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"716","target":"254","id":"7127","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"552","target":"503","id":"214","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"642","target":"486","id":"2581","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"170","target":"986","id":"9640","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"348","target":"70","id":"9175","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"569","target":"637","id":"1356","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"925","target":"652","id":"4554","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"4","target":"394","id":"4054","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"755","target":"915","id":"8592","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"720","target":"617","id":"5063","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"527","target":"303","id":"3405","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"443","target":"309","id":"9430","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"125","target":"283","id":"9259","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"753","target":"824","id":"284","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"15","target":"44","id":"9627","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"476","target":"843","id":"8266","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"900","target":"303","id":"8624","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"117","target":"909","id":"7517","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"101","target":"721","id":"3446","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"322","target":"821","id":"5433","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"730","target":"67","id":"2080","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"682","target":"850","id":"6905","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"304","target":"97","id":"905","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"826","target":"448","id":"752","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"515","target":"910","id":"6690","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"35","target":"711","id":"5697","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"762","target":"382","id":"1488","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"902","target":"43","id":"9805","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"971","target":"719","id":"780","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"780","target":"95","id":"2133","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"859","target":"942","id":"5760","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"238","target":"281","id":"6243","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"741","target":"719","id":"3113","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"169","target":"298","id":"488","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"142","target":"760","id":"897","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"675","target":"46","id":"7559","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"966","target":"573","id":"9989","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"919","target":"968","id":"8030","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"946","target":"242","id":"4327","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"150","target":"921","id":"1218","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"139","target":"941","id":"4001","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"178","target":"587","id":"5196","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"749","target":"82","id":"9043","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"523","target":"128","id":"9576","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"876","target":"640","id":"3578","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"249","target":"98","id":"9810","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"777","target":"121","id":"9440","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"727","target":"539","id":"1886","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"20","target":"920","id":"9047","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"994","target":"994","id":"1750","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"741","target":"413","id":"3058","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"248","target":"248","id":"7990","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"935","target":"954","id":"6404","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"106","target":"683","id":"2992","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"379","target":"314","id":"8110","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"827","target":"827","id":"7118","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"936","target":"506","id":"344","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"838","target":"454","id":"3310","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"178","target":"499","id":"5699","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"383","target":"994","id":"6632","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"811","target":"12","id":"4263","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"396","target":"324","id":"4468","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"43","target":"761","id":"4849","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"199","target":"364","id":"6596","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"397","target":"391","id":"8181","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"472","target":"190","id":"203","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"953","target":"667","id":"6844","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"741","target":"309","id":"7476","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"259","target":"861","id":"2040","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"878","target":"541","id":"8314","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"407","target":"565","id":"6344","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"225","target":"105","id":"8952","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"409","target":"207","id":"9545","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"109","target":"770","id":"6123","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"208","target":"259","id":"7962","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"119","target":"897","id":"5295","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"272","target":"643","id":"303","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"8","target":"121","id":"7150","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"910","target":"167","id":"5794","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"451","target":"149","id":"3462","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"762","target":"526","id":"1279","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"595","target":"503","id":"2169","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"773","target":"775","id":"9065","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"419","target":"198","id":"1450","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"971","target":"277","id":"1730","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"534","target":"963","id":"7188","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"118","target":"791","id":"4040","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"491","target":"983","id":"9513","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"235","target":"511","id":"4865","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"52","target":"2","id":"9675","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"769","target":"659","id":"3918","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"653","target":"476","id":"1561","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"201","target":"153","id":"6357","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"688","target":"596","id":"6764","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"869","target":"703","id":"4681","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"316","target":"877","id":"178","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"454","target":"352","id":"8873","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"574","target":"117","id":"5462","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"175","target":"705","id":"8442","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"249","target":"886","id":"2173","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"520","target":"162","id":"6502","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"464","target":"730","id":"8557","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"214","target":"154","id":"2111","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"763","target":"851","id":"3380","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"178","target":"452","id":"2762","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"763","target":"202","id":"1070","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"456","target":"963","id":"4474","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"913","target":"45","id":"2674","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"434","target":"530","id":"4778","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"646","target":"892","id":"7977","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"473","target":"248","id":"3385","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"743","target":"782","id":"9474","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"995","target":"70","id":"7659","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"448","target":"510","id":"3443","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"791","target":"379","id":"2853","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"117","target":"756","id":"2869","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"834","target":"712","id":"8747","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"806","target":"89","id":"6967","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"595","target":"234","id":"8736","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"231","target":"542","id":"425","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"47","target":"167","id":"7957","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"839","target":"265","id":"5569","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"799","target":"407","id":"9715","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"619","target":"532","id":"6309","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"348","target":"109","id":"3868","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"575","target":"282","id":"5099","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"542","target":"169","id":"776","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"311","target":"873","id":"2208","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"644","target":"115","id":"9174","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"775","target":"960","id":"8466","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"615","target":"749","id":"612","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"606","target":"441","id":"1722","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"1","target":"763","id":"8069","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"350","target":"800","id":"7930","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"407","target":"313","id":"5524","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"599","target":"778","id":"473","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"158","target":"747","id":"9341","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"800","target":"439","id":"794","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"17","target":"193","id":"5915","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"127","target":"268","id":"1021","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"136","target":"1","id":"1765","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"25","target":"290","id":"8618","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"200","target":"778","id":"6639","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"826","target":"153","id":"3640","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"481","target":"415","id":"8448","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"679","target":"722","id":"3","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"656","target":"487","id":"5926","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"199","target":"143","id":"3041","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"736","target":"162","id":"6241","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"877","target":"485","id":"329","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"75","target":"616","id":"5407","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"514","target":"434","id":"8401","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"675","target":"923","id":"9499","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"272","target":"930","id":"7842","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"311","target":"856","id":"3801","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"802","target":"323","id":"3737","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"568","target":"997","id":"3197","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"742","target":"3","id":"1090","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"47","target":"883","id":"7637","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"776","target":"566","id":"8797","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"139","target":"575","id":"4234","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"182","target":"94","id":"7361","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"666","target":"617","id":"3253","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"689","target":"505","id":"4926","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"449","target":"103","id":"6908","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"117","target":"311","id":"6882","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"488","target":"826","id":"7250","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"78","target":"770","id":"7981","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"170","target":"707","id":"1888","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"883","target":"462","id":"8992","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"687","target":"492","id":"4985","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"906","target":"904","id":"534","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"907","target":"502","id":"4703","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"627","target":"968","id":"3696","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"788","target":"294","id":"8599","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"559","target":"701","id":"4945","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"762","target":"799","id":"8089","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"988","target":"423","id":"4848","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"77","target":"752","id":"6376","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"651","target":"487","id":"8464","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"640","target":"446","id":"3997","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"398","target":"939","id":"1573","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"163","target":"233","id":"5791","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"896","target":"419","id":"8387","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"998","target":"313","id":"537","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"92","target":"673","id":"4938","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"819","target":"140","id":"4893","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"419","target":"473","id":"809","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"906","target":"0","id":"5821","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"119","target":"113","id":"2052","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"265","target":"197","id":"621","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"347","target":"844","id":"5943","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"689","target":"769","id":"6242","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"673","target":"236","id":"7173","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"200","target":"243","id":"8898","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"36","target":"205","id":"1102","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"182","target":"36","id":"5575","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"292","target":"473","id":"9123","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"917","target":"375","id":"1030","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"686","target":"202","id":"3729","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"49","target":"94","id":"5456","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"466","target":"560","id":"5350","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"301","target":"848","id":"520","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"970","target":"674","id":"6331","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"338","target":"91","id":"4511","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"547","target":"268","id":"7354","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"437","target":"229","id":"8372","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"75","target":"793","id":"1696","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"412","target":"850","id":"1087","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"87","target":"504","id":"1033","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"188","target":"116","id":"29","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"454","target":"281","id":"1613","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"783","target":"636","id":"4150","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"907","target":"433","id":"3349","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"283","target":"856","id":"3229","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"261","target":"990","id":"201","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"966","target":"773","id":"9055","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"637","target":"128","id":"9791","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"203","target":"574","id":"5609","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"794","target":"613","id":"7386","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"571","target":"123","id":"1784","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"907","target":"112","id":"4733","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"566","target":"936","id":"1813","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"436","target":"6","id":"5506","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"86","target":"652","id":"3718","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"67","target":"181","id":"5504","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"847","target":"511","id":"8831","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"84","target":"299","id":"7102","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"80","target":"224","id":"423","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"537","target":"172","id":"5667","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"735","target":"213","id":"8179","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"48","target":"173","id":"4067","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"73","target":"965","id":"8194","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"744","target":"470","id":"2073","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"269","target":"427","id":"9996","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"641","target":"800","id":"7650","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"62","target":"426","id":"8320","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"848","target":"538","id":"3865","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"243","target":"315","id":"2608","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"526","target":"980","id":"5747","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"898","target":"394","id":"6350","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"641","target":"702","id":"8684","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"849","target":"554","id":"2125","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"368","target":"919","id":"501","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"145","target":"134","id":"7890","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"237","target":"126","id":"7910","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"553","target":"317","id":"8201","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"232","target":"927","id":"8947","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"846","target":"371","id":"5297","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"239","target":"551","id":"328","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"17","target":"413","id":"4603","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"654","target":"661","id":"6819","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"298","target":"128","id":"5068","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"54","target":"468","id":"6115","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"769","target":"395","id":"1511","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"17","target":"453","id":"7027","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"903","target":"363","id":"2176","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"882","target":"650","id":"3157","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"925","target":"887","id":"2366","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"767","target":"569","id":"6886","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"657","target":"40","id":"2377","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"977","target":"810","id":"6522","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"668","target":"451","id":"5426","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"140","target":"399","id":"6586","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"283","target":"269","id":"318","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"204","target":"46","id":"15","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"741","target":"912","id":"5642","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"322","target":"724","id":"498","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"570","target":"687","id":"4763","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"465","target":"562","id":"8140","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"584","target":"715","id":"8397","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"573","target":"140","id":"3719","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"461","target":"89","id":"9789","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"197","target":"674","id":"1901","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"567","target":"563","id":"435","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"508","target":"994","id":"9742","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"442","target":"927","id":"2061","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"966","target":"740","id":"5900","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"933","target":"435","id":"2306","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"462","target":"25","id":"1968","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"191","target":"424","id":"5294","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"995","target":"570","id":"6113","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"528","target":"52","id":"2438","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"453","target":"203","id":"3895","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"316","target":"205","id":"9692","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"838","target":"613","id":"1338","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"409","target":"430","id":"6125","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"408","target":"217","id":"422","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"490","target":"925","id":"8023","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"521","target":"3","id":"9879","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"499","target":"87","id":"2628","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"296","target":"543","id":"4222","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"869","target":"868","id":"8115","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"247","target":"576","id":"8902","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"430","target":"276","id":"2436","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"446","target":"431","id":"8161","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"484","target":"977","id":"9840","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"952","target":"197","id":"5143","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"498","target":"238","id":"738","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"844","target":"518","id":"123","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"744","target":"772","id":"2431","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"33","target":"695","id":"1745","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"257","target":"300","id":"9282","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"623","target":"95","id":"4025","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"354","target":"508","id":"4364","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"745","target":"378","id":"4253","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"75","target":"941","id":"5072","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"371","target":"293","id":"6467","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"884","target":"641","id":"9250","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"40","target":"145","id":"7954","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"279","target":"537","id":"8959","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"431","target":"168","id":"7598","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"136","target":"497","id":"3520","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"399","target":"439","id":"6324","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"916","target":"876","id":"2127","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"219","target":"613","id":"1846","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"403","target":"95","id":"6552","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"657","target":"440","id":"5930","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"707","target":"862","id":"8261","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"711","target":"67","id":"3904","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"769","target":"438","id":"3410","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"718","target":"351","id":"6","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"859","target":"608","id":"4862","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"650","target":"29","id":"7922","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"60","target":"881","id":"4077","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"799","target":"794","id":"5559","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"662","target":"120","id":"5623","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"933","target":"998","id":"1080","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"795","target":"920","id":"9086","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"550","target":"764","id":"8294","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"108","target":"542","id":"1161","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"444","target":"860","id":"8839","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"131","target":"941","id":"709","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"643","target":"876","id":"311","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"573","target":"346","id":"3949","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"916","target":"999","id":"7562","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"35","target":"406","id":"5289","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"631","target":"517","id":"7624","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"940","target":"580","id":"7841","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"525","target":"599","id":"9695","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"990","target":"382","id":"6212","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"893","target":"121","id":"5326","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"13","target":"577","id":"8883","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"37","target":"374","id":"3905","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"254","target":"253","id":"6031","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"598","target":"418","id":"4429","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"164","target":"231","id":"6388","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"240","target":"581","id":"5911","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"330","target":"820","id":"629","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"817","target":"448","id":"2327","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"769","target":"924","id":"8285","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"960","target":"358","id":"9519","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"491","target":"350","id":"7082","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"204","target":"526","id":"3553","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"174","target":"660","id":"9679","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"620","target":"703","id":"8323","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"489","target":"268","id":"2053","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"732","target":"498","id":"3110","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"149","target":"307","id":"4192","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"931","target":"450","id":"5194","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"183","target":"79","id":"2068","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"0","target":"462","id":"314","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"574","target":"427","id":"6275","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"425","target":"293","id":"6925","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"239","target":"989","id":"5517","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"671","target":"64","id":"1006","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"181","target":"145","id":"4285","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"405","target":"542","id":"1767","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"158","target":"378","id":"1187","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"516","target":"632","id":"2605","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"555","target":"893","id":"2765","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"883","target":"888","id":"7839","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"83","target":"136","id":"5740","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"331","target":"566","id":"6509","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"41","target":"151","id":"8325","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"579","target":"25","id":"1546","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"871","target":"309","id":"3159","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"39","target":"746","id":"4245","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"301","target":"881","id":"2753","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"44","target":"659","id":"4533","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"15","target":"92","id":"1216","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"341","target":"67","id":"4739","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"434","target":"15","id":"4410","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"374","target":"982","id":"7370","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"652","target":"87","id":"675","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"943","target":"403","id":"3334","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"30","target":"684","id":"9194","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"42","target":"34","id":"1603","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"50","target":"313","id":"398","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"643","target":"365","id":"7552","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"307","target":"432","id":"4279","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"321","target":"874","id":"7831","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"368","target":"609","id":"9382","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"581","target":"715","id":"1714","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"69","target":"604","id":"4882","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"322","target":"986","id":"1542","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"431","target":"673","id":"7781","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"233","target":"73","id":"5986","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"745","target":"798","id":"8199","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"672","target":"961","id":"2059","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"5","target":"36","id":"3231","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"87","target":"737","id":"9483","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"618","target":"668","id":"8519","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"818","target":"606","id":"436","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"916","target":"227","id":"2148","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"794","target":"680","id":"3734","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"123","target":"488","id":"8721","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"764","target":"177","id":"386","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"979","target":"848","id":"3309","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"521","target":"341","id":"5679","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"243","target":"642","id":"9962","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"25","target":"609","id":"2039","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"532","target":"281","id":"3096","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"497","target":"357","id":"7640","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"510","target":"578","id":"3577","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"450","target":"576","id":"2253","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"428","target":"558","id":"3797","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"869","target":"974","id":"611","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"668","target":"712","id":"6597","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"761","target":"906","id":"7480","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"503","target":"189","id":"7555","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"909","target":"687","id":"3355","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"235","target":"880","id":"1836","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"211","target":"620","id":"9567","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"281","target":"248","id":"4614","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"576","target":"809","id":"8916","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"465","target":"813","id":"70","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"462","target":"225","id":"3713","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"135","target":"300","id":"6430","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"378","target":"878","id":"4781","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"198","target":"733","id":"8238","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"825","target":"979","id":"3003","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"106","target":"131","id":"1455","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"387","target":"811","id":"48","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"47","target":"367","id":"8108","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"582","target":"317","id":"8544","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"921","target":"862","id":"7672","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"983","target":"549","id":"7634","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"94","target":"424","id":"3087","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"212","target":"276","id":"6515","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"400","target":"900","id":"2820","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"894","target":"988","id":"7032","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"496","target":"166","id":"4085","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"73","target":"562","id":"5285","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"499","target":"396","id":"5510","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"823","target":"927","id":"8244","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"196","target":"240","id":"1538","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"540","target":"228","id":"3052","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"885","target":"822","id":"463","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"118","target":"509","id":"6820","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"71","target":"100","id":"8315","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"494","target":"974","id":"8451","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"390","target":"234","id":"1633","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"830","target":"49","id":"8166","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"359","target":"895","id":"9968","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"381","target":"27","id":"7595","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"755","target":"431","id":"6673","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"557","target":"1","id":"1464","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"792","target":"969","id":"2741","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"93","target":"586","id":"4339","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"864","target":"482","id":"5893","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"39","target":"632","id":"2845","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"791","target":"903","id":"8012","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"712","target":"785","id":"8892","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"5","target":"575","id":"6399","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"160","target":"730","id":"7928","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"981","target":"548","id":"8042","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"888","target":"137","id":"224","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"535","target":"467","id":"530","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"843","target":"452","id":"8278","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"568","target":"12","id":"1628","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"167","target":"817","id":"4832","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"422","target":"636","id":"6287","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"296","target":"644","id":"6490","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"380","target":"874","id":"4149","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"805","target":"187","id":"2518","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"880","target":"102","id":"2653","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"978","target":"278","id":"9779","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"889","target":"272","id":"4314","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"131","target":"246","id":"383","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"122","target":"462","id":"908","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"596","target":"963","id":"9080","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"304","target":"74","id":"7237","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"459","target":"444","id":"1665","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"30","target":"92","id":"5922","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"609","target":"303","id":"9461","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"264","target":"481","id":"6609","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"815","target":"570","id":"4581","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"338","target":"406","id":"6858","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"933","target":"218","id":"9638","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"584","target":"358","id":"4057","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"946","target":"115","id":"8752","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"754","target":"295","id":"2393","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"3","target":"642","id":"1667","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"605","target":"776","id":"3120","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"867","target":"395","id":"2486","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"851","target":"846","id":"1914","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"299","target":"399","id":"3139","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"888","target":"370","id":"3664","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"89","target":"308","id":"4584","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"753","target":"876","id":"6485","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"566","target":"757","id":"9173","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"69","target":"102","id":"828","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"216","target":"84","id":"6927","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"443","target":"912","id":"2005","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"372","target":"873","id":"2867","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"386","target":"952","id":"8120","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"894","target":"536","id":"7557","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"529","target":"298","id":"8809","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"97","target":"537","id":"3543","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"49","target":"982","id":"3920","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"364","target":"641","id":"2866","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"213","target":"153","id":"4834","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"984","target":"694","id":"2448","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"764","target":"471","id":"3236","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"987","target":"822","id":"9104","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"447","target":"546","id":"1453","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"102","target":"695","id":"6071","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"553","target":"406","id":"3584","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"82","target":"961","id":"2523","attributes":{},"color":"rgb(95,58,15)","size":2.0},{"source":"112","target":"618","id":"2740","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"304","target":"291","id":"8687","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"561","target":"364","id":"6804","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"539","target":"19","id":"4604","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"225","target":"796","id":"451","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"69","target":"320","id":"653","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"497","target":"132","id":"7768","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"934","target":"288","id":"9981","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"969","target":"246","id":"9403","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"506","target":"377","id":"5373","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"537","target":"183","id":"1230","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"857","target":"496","id":"6634","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"941","target":"24","id":"5064","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"863","target":"602","id":"2606","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"948","target":"95","id":"1195","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"188","target":"427","id":"9004","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"25","target":"454","id":"382","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"39","target":"622","id":"6666","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"296","target":"742","id":"6296","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"246","target":"318","id":"5824","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"563","target":"345","id":"5885","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"152","target":"597","id":"6979","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"997","target":"497","id":"659","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"186","target":"127","id":"3981","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"673","target":"53","id":"5629","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"423","target":"446","id":"3651","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"86","target":"748","id":"1871","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"326","target":"296","id":"5561","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"511","target":"590","id":"281","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"654","target":"255","id":"1987","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"982","target":"761","id":"3406","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"348","target":"753","id":"1417","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"288","target":"94","id":"3844","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"287","target":"940","id":"4877","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"27","target":"16","id":"5565","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"688","target":"899","id":"8811","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"369","target":"815","id":"1180","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"610","target":"39","id":"8408","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"36","target":"505","id":"2813","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"883","target":"565","id":"7620","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"710","target":"120","id":"7976","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"838","target":"456","id":"4936","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"451","target":"4","id":"6193","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"346","target":"538","id":"156","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"278","target":"986","id":"3395","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"302","target":"766","id":"8491","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"614","target":"946","id":"1657","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"686","target":"945","id":"4828","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"278","target":"15","id":"5948","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"532","target":"632","id":"1586","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"749","target":"734","id":"1145","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"173","target":"280","id":"6112","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"15","target":"847","id":"594","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"661","target":"407","id":"5533","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"234","target":"959","id":"965","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"212","target":"434","id":"7490","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"820","target":"27","id":"9391","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"955","target":"501","id":"9457","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"737","target":"304","id":"9843","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"380","target":"81","id":"849","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"50","target":"801","id":"3977","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"949","target":"526","id":"4836","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"618","target":"122","id":"7284","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"766","target":"977","id":"5204","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"279","target":"534","id":"3301","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"166","target":"93","id":"1244","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"216","target":"883","id":"1427","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"349","target":"585","id":"2533","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"209","target":"431","id":"3999","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"417","target":"722","id":"3428","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"552","target":"729","id":"5918","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"857","target":"13","id":"8935","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"724","target":"989","id":"2842","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"631","target":"893","id":"8187","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"48","target":"139","id":"8149","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"820","target":"854","id":"8524","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"28","target":"539","id":"144","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"204","target":"512","id":"7442","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"44","target":"735","id":"3050","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"821","target":"49","id":"3260","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"425","target":"141","id":"4395","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"628","target":"92","id":"5106","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"610","target":"994","id":"5706","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"827","target":"108","id":"9288","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"829","target":"155","id":"4187","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"716","target":"481","id":"7429","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"577","target":"751","id":"755","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"785","target":"765","id":"7561","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"954","target":"609","id":"7823","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"624","target":"771","id":"3307","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"255","target":"464","id":"4879","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"415","target":"463","id":"338","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"738","target":"294","id":"6322","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"814","target":"663","id":"9376","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"248","target":"208","id":"7062","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"832","target":"254","id":"2531","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"783","target":"406","id":"1138","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"325","target":"7","id":"9077","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"184","target":"383","id":"2561","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"364","target":"434","id":"848","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"690","target":"24","id":"5907","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"553","target":"635","id":"1355","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"297","target":"807","id":"1326","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"249","target":"194","id":"9064","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"305","target":"944","id":"7549","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"813","target":"525","id":"294","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"799","target":"993","id":"3189","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"757","target":"856","id":"6544","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"912","target":"60","id":"1084","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"683","target":"51","id":"1454","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"633","target":"533","id":"3670","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"269","target":"896","id":"610","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"878","target":"969","id":"6622","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"685","target":"215","id":"291","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"171","target":"253","id":"7412","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"655","target":"965","id":"4907","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"986","target":"442","id":"3033","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"954","target":"694","id":"6479","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"367","target":"854","id":"601","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"600","target":"196","id":"2538","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"908","target":"103","id":"5437","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"884","target":"107","id":"4787","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"954","target":"953","id":"700","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"533","target":"416","id":"7924","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"553","target":"796","id":"8773","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"799","target":"675","id":"102","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"638","target":"912","id":"8477","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"841","target":"263","id":"2689","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"597","target":"650","id":"1759","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"978","target":"276","id":"4823","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"954","target":"959","id":"7302","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"804","target":"902","id":"7590","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"525","target":"551","id":"1737","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"21","target":"884","id":"3055","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"180","target":"207","id":"6607","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"910","target":"974","id":"5582","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"831","target":"650","id":"8563","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"588","target":"73","id":"3666","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"622","target":"694","id":"7025","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"841","target":"502","id":"1832","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"484","target":"674","id":"2804","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"576","target":"704","id":"5101","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"689","target":"383","id":"3869","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"39","target":"573","id":"593","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"326","target":"482","id":"639","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"506","target":"450","id":"5515","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"167","target":"805","id":"3542","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"39","target":"290","id":"7368","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"31","target":"830","id":"1271","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"794","target":"379","id":"1486","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"516","target":"822","id":"8084","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"854","target":"41","id":"4250","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"984","target":"74","id":"1332","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"486","target":"36","id":"1347","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"644","target":"700","id":"2272","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"605","target":"936","id":"8404","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"414","target":"158","id":"9470","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"796","target":"14","id":"295","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"36","target":"99","id":"3669","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"721","target":"481","id":"9135","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"138","target":"955","id":"3642","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"314","target":"782","id":"9878","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"735","target":"601","id":"4734","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"381","target":"593","id":"2318","attributes":{},"color":"rgb(127,140,193)","size":2.0},{"source":"354","target":"564","id":"1959","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"328","target":"905","id":"8688","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"913","target":"631","id":"3851","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"811","target":"209","id":"7002","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"520","target":"643","id":"9082","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"482","target":"303","id":"7351","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"724","target":"616","id":"6853","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"512","target":"678","id":"6118","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"250","target":"771","id":"7762","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"314","target":"170","id":"9101","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"825","target":"666","id":"5483","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"62","target":"48","id":"6301","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"461","target":"536","id":"7287","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"914","target":"72","id":"6648","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"235","target":"135","id":"1282","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"561","target":"790","id":"3776","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"342","target":"767","id":"2358","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"466","target":"450","id":"2003","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"882","target":"424","id":"2790","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"336","target":"981","id":"2197","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"340","target":"883","id":"800","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"752","target":"182","id":"6985","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"522","target":"0","id":"7410","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"18","target":"320","id":"6012","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"468","target":"899","id":"2041","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"537","target":"794","id":"2856","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"115","target":"440","id":"7369","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"245","target":"135","id":"9340","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"797","target":"908","id":"3112","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"994","target":"990","id":"6713","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"115","target":"287","id":"8735","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"453","target":"13","id":"5125","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"739","target":"497","id":"3599","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"76","target":"565","id":"4062","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"634","target":"635","id":"760","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"529","target":"709","id":"8026","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"951","target":"99","id":"5386","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"613","target":"645","id":"9433","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"201","target":"81","id":"6618","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"699","target":"955","id":"9577","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"8","target":"608","id":"4808","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"480","target":"69","id":"7418","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"349","target":"591","id":"5625","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"757","target":"506","id":"5731","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"854","target":"261","id":"8639","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"254","target":"939","id":"7658","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"393","target":"596","id":"8255","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"329","target":"943","id":"3990","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"332","target":"443","id":"6797","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"817","target":"496","id":"4069","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"951","target":"17","id":"9223","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"849","target":"501","id":"5435","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"314","target":"537","id":"9517","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"308","target":"80","id":"6695","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"744","target":"367","id":"2876","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"289","target":"399","id":"3015","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"776","target":"947","id":"8353","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"0","target":"976","id":"578","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"236","target":"187","id":"8590","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"255","target":"983","id":"4437","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"250","target":"41","id":"6772","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"411","target":"791","id":"9201","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"914","target":"312","id":"9749","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"108","target":"181","id":"3466","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"263","target":"772","id":"6407","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"501","target":"745","id":"8114","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"635","target":"91","id":"1560","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"170","target":"517","id":"2501","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"12","target":"690","id":"403","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"501","target":"619","id":"3833","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"883","target":"57","id":"9054","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"427","target":"114","id":"5448","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"742","target":"642","id":"6329","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"829","target":"81","id":"7737","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"273","target":"733","id":"1423","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"409","target":"785","id":"9294","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"607","target":"195","id":"1295","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"831","target":"672","id":"3457","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"292","target":"369","id":"3097","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"718","target":"271","id":"7332","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"266","target":"323","id":"4283","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"568","target":"456","id":"9903","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"709","target":"663","id":"6095","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"410","target":"395","id":"1406","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"379","target":"323","id":"3059","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"763","target":"237","id":"8280","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"256","target":"447","id":"1840","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"293","target":"619","id":"6561","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"231","target":"368","id":"8907","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"73","target":"681","id":"6578","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"688","target":"428","id":"3877","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"327","target":"663","id":"6380","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"89","target":"843","id":"4990","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"150","target":"765","id":"9468","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"929","target":"308","id":"2457","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"966","target":"180","id":"6847","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"537","target":"858","id":"9160","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"273","target":"499","id":"9769","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"70","target":"26","id":"4292","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"737","target":"905","id":"4567","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"16","target":"898","id":"7398","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"498","target":"691","id":"8335","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"926","target":"801","id":"5225","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"902","target":"246","id":"6347","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"220","target":"43","id":"2863","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"669","target":"596","id":"9628","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"723","target":"140","id":"4064","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"670","target":"910","id":"9129","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"940","target":"965","id":"4113","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"536","target":"211","id":"9335","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"512","target":"617","id":"4996","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"760","target":"81","id":"1741","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"868","target":"826","id":"4863","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"983","target":"136","id":"3588","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"163","target":"452","id":"6948","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"692","target":"860","id":"651","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"362","target":"945","id":"2032","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"592","target":"694","id":"732","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"232","target":"301","id":"4457","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"279","target":"672","id":"6343","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"674","target":"609","id":"7788","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"868","target":"592","id":"3879","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"277","target":"664","id":"6002","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"997","target":"825","id":"56","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"514","target":"712","id":"3181","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"422","target":"333","id":"5071","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"71","target":"210","id":"5111","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"722","target":"840","id":"4480","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"337","target":"334","id":"5092","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"17","target":"826","id":"7914","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"610","target":"975","id":"1944","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"46","target":"124","id":"5070","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"40","target":"331","id":"1957","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"325","target":"368","id":"3969","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"613","target":"82","id":"3282","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"558","target":"830","id":"8799","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"475","target":"893","id":"9364","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"990","target":"661","id":"7079","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"302","target":"306","id":"2383","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"68","target":"670","id":"3099","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"666","target":"944","id":"1775","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"761","target":"841","id":"8750","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"167","target":"978","id":"966","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"286","target":"820","id":"7172","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"48","target":"76","id":"692","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"315","target":"906","id":"4319","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"226","target":"912","id":"4483","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"605","target":"689","id":"7315","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"324","target":"623","id":"3679","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"196","target":"856","id":"2923","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"465","target":"886","id":"3762","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"128","target":"825","id":"9544","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"771","target":"275","id":"8153","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"552","target":"511","id":"8297","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"838","target":"759","id":"974","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"538","target":"645","id":"3722","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"417","target":"439","id":"263","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"771","target":"709","id":"9209","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"584","target":"228","id":"679","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"996","target":"845","id":"3935","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"527","target":"41","id":"8066","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"816","target":"359","id":"3793","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"587","target":"697","id":"560","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"878","target":"166","id":"6781","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"775","target":"703","id":"4118","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"806","target":"5","id":"1049","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"216","target":"700","id":"6901","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"554","target":"313","id":"9068","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"561","target":"312","id":"9026","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"529","target":"663","id":"6260","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"447","target":"557","id":"5705","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"293","target":"271","id":"696","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"426","target":"456","id":"6364","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"737","target":"253","id":"9124","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"568","target":"373","id":"180","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"637","target":"891","id":"279","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"877","target":"843","id":"4792","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"825","target":"520","id":"1350","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"487","target":"101","id":"5902","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"22","target":"697","id":"1715","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"69","target":"932","id":"6233","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"42","target":"988","id":"8392","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"539","target":"975","id":"5376","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"686","target":"288","id":"9845","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"375","target":"476","id":"1876","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"128","target":"987","id":"3432","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"163","target":"280","id":"4447","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"527","target":"827","id":"4244","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"166","target":"175","id":"7904","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"671","target":"791","id":"8939","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"555","target":"155","id":"8253","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"450","target":"761","id":"8358","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"685","target":"577","id":"6630","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"33","target":"63","id":"8664","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"379","target":"510","id":"9015","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"280","target":"673","id":"2402","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"241","target":"254","id":"5600","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"303","target":"417","id":"1793","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"792","target":"64","id":"4393","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"286","target":"202","id":"8079","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"412","target":"197","id":"7979","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"164","target":"926","id":"5489","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"92","target":"467","id":"5689","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"445","target":"501","id":"3213","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"113","target":"550","id":"9883","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"552","target":"291","id":"2075","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"671","target":"80","id":"4701","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"441","target":"286","id":"4870","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"4","target":"829","id":"1580","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"778","target":"51","id":"6298","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"205","target":"482","id":"129","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"506","target":"664","id":"8272","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"181","target":"124","id":"7998","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"293","target":"359","id":"1150","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"194","target":"412","id":"4360","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"216","target":"272","id":"4576","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"146","target":"578","id":"9512","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"557","target":"542","id":"7955","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"586","target":"989","id":"3507","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"509","target":"615","id":"6028","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"937","target":"606","id":"1266","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"195","target":"380","id":"7915","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"860","target":"693","id":"4060","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"461","target":"506","id":"7226","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"724","target":"610","id":"4007","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"52","target":"415","id":"795","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"695","target":"535","id":"7656","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"658","target":"947","id":"746","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"292","target":"488","id":"2409","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"825","target":"966","id":"8637","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"916","target":"549","id":"1482","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"103","target":"859","id":"3747","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"180","target":"677","id":"8195","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"681","target":"195","id":"2983","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"37","target":"912","id":"8341","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"245","target":"253","id":"9973","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"621","target":"912","id":"4520","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"553","target":"560","id":"6984","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"770","target":"285","id":"8300","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"265","target":"407","id":"2857","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"623","target":"297","id":"6008","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"229","target":"973","id":"3559","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"972","target":"477","id":"4760","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"998","target":"494","id":"1437","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"986","target":"14","id":"4424","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"31","target":"88","id":"5530","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"545","target":"206","id":"4723","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"663","target":"233","id":"9321","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"849","target":"827","id":"4512","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"222","target":"130","id":"6640","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"361","target":"696","id":"6842","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"925","target":"356","id":"2238","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"140","target":"656","id":"5827","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"605","target":"960","id":"9214","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"638","target":"141","id":"8378","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"449","target":"588","id":"8411","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"457","target":"723","id":"5446","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"263","target":"136","id":"726","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"651","target":"136","id":"6606","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"303","target":"272","id":"7752","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"75","target":"260","id":"2029","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"222","target":"412","id":"1116","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"64","target":"491","id":"8141","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"122","target":"710","id":"5321","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"774","target":"283","id":"7055","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"679","target":"986","id":"6182","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"888","target":"545","id":"1693","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"101","target":"461","id":"2874","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"657","target":"385","id":"6152","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"12","target":"122","id":"4000","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"689","target":"450","id":"3473","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"23","target":"598","id":"4704","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"423","target":"70","id":"7125","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"176","target":"171","id":"7472","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"633","target":"540","id":"3060","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"673","target":"673","id":"4857","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"651","target":"777","id":"7263","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"331","target":"480","id":"8035","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"157","target":"65","id":"2428","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"532","target":"521","id":"5774","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"691","target":"897","id":"9718","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"647","target":"635","id":"804","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"106","target":"257","id":"829","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"584","target":"861","id":"7120","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"81","target":"794","id":"9229","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"110","target":"522","id":"3056","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"867","target":"470","id":"8497","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"892","target":"200","id":"9891","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"630","target":"178","id":"3711","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"983","target":"200","id":"6166","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"177","target":"792","id":"7383","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"575","target":"252","id":"6588","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"711","target":"746","id":"162","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"186","target":"625","id":"44","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"255","target":"615","id":"6892","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"597","target":"615","id":"7735","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"310","target":"908","id":"9416","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"859","target":"70","id":"1618","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"244","target":"60","id":"8368","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"236","target":"867","id":"9709","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"855","target":"234","id":"4909","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"790","target":"660","id":"8957","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"332","target":"436","id":"1174","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"130","target":"918","id":"5516","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"195","target":"413","id":"2865","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"922","target":"709","id":"7607","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"34","target":"287","id":"9927","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"906","target":"472","id":"5020","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"474","target":"60","id":"5836","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"852","target":"476","id":"7567","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"479","target":"89","id":"990","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"5","target":"369","id":"9610","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"443","target":"447","id":"7546","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"103","target":"827","id":"7992","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"958","target":"28","id":"2240","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"557","target":"280","id":"5768","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"405","target":"152","id":"9153","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"245","target":"54","id":"9165","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"363","target":"708","id":"4912","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"786","target":"458","id":"708","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"83","target":"384","id":"9149","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"591","target":"958","id":"996","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"690","target":"718","id":"7457","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"955","target":"646","id":"8483","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"744","target":"124","id":"6667","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"595","target":"2","id":"3012","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"90","target":"731","id":"7257","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"118","target":"299","id":"163","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"310","target":"912","id":"620","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"804","target":"391","id":"6454","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"317","target":"356","id":"5852","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"744","target":"724","id":"3771","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"356","target":"997","id":"8271","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"132","target":"574","id":"917","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"191","target":"319","id":"2288","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"192","target":"723","id":"6196","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"52","target":"983","id":"7099","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"605","target":"14","id":"8160","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"623","target":"497","id":"6498","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"492","target":"756","id":"2577","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"25","target":"555","id":"242","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"555","target":"530","id":"8979","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"867","target":"97","id":"1095","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"273","target":"447","id":"1382","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"74","target":"323","id":"3029","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"120","target":"338","id":"9138","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"163","target":"781","id":"2809","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"13","target":"562","id":"4813","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"921","target":"380","id":"3602","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"215","target":"559","id":"3043","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"327","target":"297","id":"1768","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"581","target":"800","id":"2461","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"458","target":"543","id":"3514","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"927","target":"972","id":"5171","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"156","target":"712","id":"1877","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"967","target":"353","id":"7030","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"520","target":"996","id":"6127","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"246","target":"386","id":"93","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"691","target":"468","id":"2116","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"491","target":"280","id":"4627","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"261","target":"865","id":"2769","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"120","target":"697","id":"3770","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"929","target":"972","id":"3848","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"458","target":"644","id":"885","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"304","target":"61","id":"4302","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"535","target":"164","id":"6367","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"607","target":"779","id":"4094","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"849","target":"947","id":"4884","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"340","target":"265","id":"6484","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"468","target":"473","id":"962","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"941","target":"591","id":"5750","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"510","target":"846","id":"5612","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"839","target":"670","id":"7164","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"976","target":"871","id":"1769","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"520","target":"501","id":"340","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"6","target":"59","id":"3862","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"488","target":"549","id":"757","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"113","target":"917","id":"8379","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"421","target":"240","id":"7580","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"332","target":"613","id":"8698","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"206","target":"49","id":"3246","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"510","target":"989","id":"4595","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"250","target":"741","id":"5031","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"914","target":"253","id":"5673","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"793","target":"568","id":"5981","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"662","target":"908","id":"9126","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"445","target":"975","id":"6749","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"146","target":"691","id":"8710","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"491","target":"903","id":"5995","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"241","target":"902","id":"6249","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"227","target":"208","id":"7456","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"933","target":"410","id":"9485","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"131","target":"105","id":"1524","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"280","target":"82","id":"4802","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"54","target":"515","id":"5275","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"225","target":"876","id":"705","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"752","target":"714","id":"2507","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"375","target":"988","id":"6866","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"716","target":"112","id":"8882","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"11","target":"463","id":"6304","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"935","target":"286","id":"9777","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"311","target":"311","id":"5632","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"700","target":"130","id":"1692","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"891","target":"202","id":"9557","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"733","target":"22","id":"7541","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"138","target":"702","id":"9377","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"573","target":"857","id":"7321","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"143","target":"991","id":"4071","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"409","target":"285","id":"2592","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"671","target":"771","id":"4476","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"789","target":"285","id":"7766","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"864","target":"222","id":"5220","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"155","target":"347","id":"7451","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"490","target":"154","id":"627","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"248","target":"282","id":"6285","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"129","target":"43","id":"2229","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"646","target":"606","id":"5720","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"810","target":"338","id":"5894","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"136","target":"67","id":"2537","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"15","target":"52","id":"1047","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"444","target":"158","id":"1447","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"501","target":"297","id":"4515","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"184","target":"475","id":"3142","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"48","target":"618","id":"6946","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"635","target":"265","id":"5712","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"844","target":"224","id":"7587","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"520","target":"698","id":"7754","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"867","target":"323","id":"9412","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"862","target":"387","id":"3125","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"406","target":"476","id":"6054","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"114","target":"678","id":"8382","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"129","target":"363","id":"108","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"489","target":"949","id":"8601","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"911","target":"457","id":"9808","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"614","target":"94","id":"2595","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"196","target":"217","id":"3916","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"753","target":"340","id":"3772","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"871","target":"316","id":"9189","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"536","target":"997","id":"8036","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"897","target":"808","id":"2672","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"182","target":"481","id":"1811","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"512","target":"370","id":"4851","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"710","target":"26","id":"7641","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"343","target":"3","id":"8328","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"750","target":"170","id":"8356","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"176","target":"981","id":"4773","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"627","target":"338","id":"6081","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"729","target":"242","id":"8958","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"118","target":"929","id":"1728","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"138","target":"573","id":"118","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"880","target":"982","id":"1789","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"711","target":"558","id":"3701","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"16","target":"980","id":"7568","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"488","target":"857","id":"3871","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"554","target":"594","id":"6562","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"991","target":"418","id":"9904","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"999","target":"3","id":"3117","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"12","target":"517","id":"4230","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"811","target":"203","id":"9078","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"38","target":"142","id":"432","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"549","target":"387","id":"5484","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"358","target":"703","id":"866","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"429","target":"469","id":"2881","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"568","target":"678","id":"3743","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"593","target":"579","id":"6729","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"756","target":"105","id":"3122","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"883","target":"953","id":"9561","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"822","target":"767","id":"3009","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"184","target":"319","id":"9063","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"259","target":"941","id":"3857","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"643","target":"921","id":"9874","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"744","target":"239","id":"9847","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"795","target":"964","id":"1208","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"587","target":"758","id":"8071","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"907","target":"477","id":"6859","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"751","target":"761","id":"8787","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"540","target":"85","id":"3894","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"327","target":"998","id":"4853","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"833","target":"639","id":"5862","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"284","target":"181","id":"419","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"103","target":"92","id":"2896","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"488","target":"4","id":"8835","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"812","target":"592","id":"8997","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"317","target":"111","id":"4232","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"568","target":"195","id":"9885","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"98","target":"904","id":"3922","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"683","target":"94","id":"8556","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"821","target":"911","id":"9464","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"425","target":"355","id":"84","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"883","target":"400","id":"1251","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"318","target":"121","id":"9689","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"785","target":"954","id":"6996","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"64","target":"40","id":"396","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"938","target":"628","id":"5291","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"25","target":"528","id":"7356","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"745","target":"107","id":"2243","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"171","target":"206","id":"6533","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"739","target":"536","id":"31","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"354","target":"826","id":"2367","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"457","target":"460","id":"9731","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"683","target":"57","id":"3995","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"201","target":"163","id":"1550","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"864","target":"813","id":"9272","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"758","target":"878","id":"9894","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"890","target":"539","id":"4689","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"760","target":"713","id":"7880","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"458","target":"796","id":"1535","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"226","target":"74","id":"942","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"379","target":"650","id":"9392","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"557","target":"800","id":"9848","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"605","target":"473","id":"5451","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"248","target":"64","id":"8486","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"364","target":"968","id":"995","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"247","target":"286","id":"4518","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"921","target":"483","id":"6165","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"90","target":"359","id":"7147","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"795","target":"937","id":"4646","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"985","target":"191","id":"160","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"771","target":"183","id":"3813","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"26","target":"870","id":"6124","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"121","target":"374","id":"3426","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"20","target":"501","id":"4700","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"743","target":"942","id":"4725","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"828","target":"514","id":"3325","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"401","target":"300","id":"2584","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"446","target":"33","id":"2980","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"665","target":"106","id":"5738","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"550","target":"540","id":"2589","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"748","target":"491","id":"3404","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"355","target":"878","id":"6003","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"673","target":"819","id":"3036","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"621","target":"303","id":"5809","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"577","target":"330","id":"4906","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"212","target":"365","id":"1637","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"614","target":"909","id":"6292","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"792","target":"27","id":"1213","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"859","target":"932","id":"1653","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"652","target":"24","id":"2191","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"123","target":"923","id":"8623","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"569","target":"879","id":"7863","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"904","target":"997","id":"3832","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"687","target":"601","id":"7487","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"680","target":"560","id":"3118","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"427","target":"335","id":"890","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"196","target":"6","id":"6945","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"375","target":"33","id":"4871","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"264","target":"423","id":"1528","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"90","target":"597","id":"7007","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"653","target":"294","id":"6582","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"479","target":"943","id":"87","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"420","target":"489","id":"2443","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"523","target":"679","id":"6633","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"267","target":"870","id":"9844","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"392","target":"270","id":"2022","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"304","target":"550","id":"6158","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"102","target":"340","id":"7763","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"728","target":"496","id":"8375","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"721","target":"695","id":"9953","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"748","target":"405","id":"5116","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"355","target":"360","id":"4275","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"900","target":"784","id":"2682","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"556","target":"618","id":"801","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"392","target":"478","id":"1291","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"393","target":"685","id":"3026","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"828","target":"698","id":"1845","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"916","target":"565","id":"1818","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"459","target":"912","id":"4088","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"764","target":"821","id":"1625","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"390","target":"418","id":"348","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"70","target":"229","id":"5394","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"19","target":"259","id":"6394","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"439","target":"809","id":"6338","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"270","target":"242","id":"1111","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"269","target":"976","id":"4109","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"185","target":"76","id":"2069","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"156","target":"988","id":"4805","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"679","target":"253","id":"7242","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"870","target":"289","id":"1519","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"718","target":"581","id":"4521","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"702","target":"932","id":"5440","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"921","target":"993","id":"6499","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"564","target":"214","id":"2234","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"300","target":"138","id":"4540","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"22","target":"678","id":"7894","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"337","target":"71","id":"5428","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"639","target":"901","id":"5779","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"89","target":"52","id":"7532","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"785","target":"604","id":"7024","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"901","target":"684","id":"9465","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"551","target":"659","id":"5141","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"953","target":"928","id":"9536","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"168","target":"683","id":"2811","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"187","target":"795","id":"8980","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"428","target":"604","id":"9514","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"825","target":"114","id":"9346","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"875","target":"242","id":"9169","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"557","target":"903","id":"851","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"0","target":"591","id":"1675","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"305","target":"391","id":"2388","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"342","target":"66","id":"5050","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"954","target":"888","id":"3683","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"227","target":"996","id":"7378","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"322","target":"402","id":"6610","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"901","target":"371","id":"1076","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"48","target":"344","id":"9767","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"861","target":"68","id":"8248","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"570","target":"432","id":"1640","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"629","target":"84","id":"9190","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"654","target":"909","id":"8527","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"331","target":"507","id":"9992","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"508","target":"758","id":"5178","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"709","target":"637","id":"7174","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"372","target":"490","id":"3554","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"589","target":"585","id":"3996","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"817","target":"753","id":"6830","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"810","target":"264","id":"3202","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"613","target":"108","id":"5839","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"385","target":"6","id":"9114","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"458","target":"911","id":"1179","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"832","target":"755","id":"9405","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"679","target":"78","id":"4371","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"896","target":"196","id":"4892","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"769","target":"878","id":"2156","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"733","target":"586","id":"1686","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"162","target":"324","id":"187","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"57","target":"522","id":"2803","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"494","target":"299","id":"6954","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"602","target":"857","id":"3961","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"348","target":"310","id":"7281","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"54","target":"600","id":"3035","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"53","target":"806","id":"9352","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"919","target":"900","id":"4063","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"242","target":"494","id":"987","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"728","target":"41","id":"7119","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"746","target":"90","id":"5247","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"794","target":"696","id":"2057","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"766","target":"363","id":"4497","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"939","target":"980","id":"1321","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"789","target":"159","id":"5962","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"275","target":"60","id":"7736","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"758","target":"798","id":"8288","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"388","target":"921","id":"3480","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"329","target":"620","id":"9741","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"52","target":"680","id":"3547","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"433","target":"990","id":"8840","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"490","target":"944","id":"3665","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"727","target":"561","id":"6366","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"774","target":"892","id":"531","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"488","target":"455","id":"2850","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"747","target":"599","id":"206","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"840","target":"63","id":"5534","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"97","target":"232","id":"5834","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"448","target":"991","id":"6571","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"883","target":"318","id":"8594","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"48","target":"484","id":"9072","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"85","target":"600","id":"3889","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"571","target":"722","id":"6643","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"521","target":"264","id":"3269","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"183","target":"681","id":"9535","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"271","target":"390","id":"3034","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"559","target":"181","id":"8164","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"336","target":"558","id":"3913","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"580","target":"294","id":"7290","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"804","target":"707","id":"3548","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"572","target":"43","id":"8538","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"600","target":"884","id":"1762","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"10","target":"10","id":"376","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"801","target":"613","id":"7175","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"560","target":"4","id":"8790","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"750","target":"531","id":"6564","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"591","target":"293","id":"6902","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"209","target":"615","id":"6909","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"621","target":"577","id":"9452","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"157","target":"477","id":"4284","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"249","target":"31","id":"1008","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"974","target":"382","id":"9723","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"167","target":"871","id":"650","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"124","target":"940","id":"1626","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"288","target":"369","id":"3573","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"395","target":"387","id":"4183","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"212","target":"132","id":"442","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"402","target":"946","id":"7246","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"467","target":"962","id":"9974","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"891","target":"474","id":"4258","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"95","target":"899","id":"6305","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"775","target":"320","id":"3252","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"720","target":"155","id":"2385","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"389","target":"207","id":"5633","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"563","target":"770","id":"6924","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"163","target":"55","id":"7623","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"45","target":"894","id":"1363","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"955","target":"604","id":"9436","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"678","target":"505","id":"1568","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"818","target":"102","id":"4469","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"7","target":"398","id":"6354","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"575","target":"934","id":"24","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"779","target":"991","id":"458","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"307","target":"624","id":"9936","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"247","target":"470","id":"2488","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"34","target":"927","id":"2651","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"651","target":"524","id":"5369","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"261","target":"680","id":"7633","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"314","target":"831","id":"9641","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"408","target":"553","id":"8246","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"637","target":"415","id":"8982","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"504","target":"367","id":"9111","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"901","target":"93","id":"9948","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"26","target":"972","id":"9754","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"683","target":"120","id":"5641","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"538","target":"538","id":"1838","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"572","target":"179","id":"1012","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"595","target":"819","id":"7206","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"747","target":"869","id":"4382","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"196","target":"885","id":"7879","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"392","target":"367","id":"7897","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"416","target":"809","id":"8764","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"798","target":"281","id":"4801","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"150","target":"725","id":"8469","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"985","target":"787","id":"414","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"333","target":"373","id":"7875","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"939","target":"23","id":"176","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"946","target":"42","id":"7511","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"826","target":"789","id":"7373","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"982","target":"783","id":"3121","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"610","target":"620","id":"6321","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"921","target":"176","id":"2929","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"702","target":"545","id":"2961","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"563","target":"616","id":"3892","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"420","target":"603","id":"9427","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"952","target":"830","id":"5947","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"210","target":"370","id":"5003","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"495","target":"854","id":"9941","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"464","target":"984","id":"3733","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"78","target":"0","id":"1459","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"616","target":"219","id":"1497","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"668","target":"98","id":"8900","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"579","target":"714","id":"747","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"649","target":"139","id":"450","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"655","target":"395","id":"3768","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"642","target":"821","id":"4181","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"125","target":"734","id":"6063","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"551","target":"565","id":"4861","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"448","target":"627","id":"298","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"716","target":"290","id":"8307","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"795","target":"167","id":"7232","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"679","target":"25","id":"8286","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"639","target":"942","id":"2105","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"201","target":"154","id":"2573","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"556","target":"59","id":"9235","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"204","target":"317","id":"5616","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"528","target":"225","id":"1297","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"502","target":"430","id":"7943","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"567","target":"912","id":"8169","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"705","target":"743","id":"6970","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"354","target":"119","id":"5419","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"782","target":"69","id":"7201","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"856","target":"122","id":"4777","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"438","target":"817","id":"9906","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"234","target":"397","id":"5480","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"432","target":"411","id":"9710","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"595","target":"238","id":"6915","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"161","target":"542","id":"9187","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"178","target":"161","id":"8083","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"39","target":"826","id":"5702","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"463","target":"977","id":"6061","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"91","target":"507","id":"853","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"68","target":"637","id":"8331","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"455","target":"667","id":"6046","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"663","target":"919","id":"8502","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"646","target":"33","id":"559","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"793","target":"155","id":"6216","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"569","target":"444","id":"5630","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"769","target":"692","id":"7011","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"895","target":"528","id":"1620","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"729","target":"76","id":"2324","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"216","target":"500","id":"2660","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"592","target":"351","id":"9199","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"526","target":"441","id":"1539","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"493","target":"265","id":"8646","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"213","target":"837","id":"3434","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"399","target":"343","id":"1364","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"682","target":"229","id":"9163","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"378","target":"53","id":"9254","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"94","target":"171","id":"2433","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"919","target":"798","id":"4644","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"538","target":"222","id":"445","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"795","target":"138","id":"202","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"18","target":"355","id":"2190","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"166","target":"617","id":"2021","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"361","target":"499","id":"6834","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"505","target":"807","id":"2502","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"42","target":"722","id":"3207","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"952","target":"929","id":"3490","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"297","target":"794","id":"9654","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"5","target":"552","id":"4257","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"507","target":"811","id":"2500","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"614","target":"842","id":"6171","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"480","target":"155","id":"1800","attributes":{},"color":"rgb(0,196,255)","size":3.0},{"source":"14","target":"828","id":"4450","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"636","target":"564","id":"5729","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"487","target":"251","id":"5579","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"989","target":"902","id":"1634","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"238","target":"951","id":"5203","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"441","target":"103","id":"3150","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"16","target":"244","id":"1966","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"948","target":"483","id":"4788","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"383","target":"928","id":"2775","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"125","target":"152","id":"4699","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"422","target":"990","id":"7107","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"442","target":"606","id":"3966","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"323","target":"94","id":"8559","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"4","target":"870","id":"6179","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"749","target":"737","id":"8224","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"693","target":"275","id":"5035","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"344","target":"950","id":"846","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"619","target":"267","id":"6926","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"450","target":"367","id":"673","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"692","target":"138","id":"4617","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"77","target":"802","id":"1860","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"663","target":"898","id":"2354","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"629","target":"445","id":"1474","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"339","target":"76","id":"5941","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"991","target":"197","id":"9841","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"191","target":"185","id":"9758","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"212","target":"692","id":"1555","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"233","target":"395","id":"7063","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"508","target":"480","id":"8200","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"815","target":"706","id":"2728","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"754","target":"163","id":"5496","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"597","target":"83","id":"881","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"466","target":"899","id":"7869","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"496","target":"324","id":"3276","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"78","target":"307","id":"3305","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"358","target":"230","id":"5785","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"533","target":"983","id":"712","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"202","target":"987","id":"17","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"497","target":"718","id":"8007","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"9","target":"178","id":"1869","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"323","target":"772","id":"1209","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"445","target":"225","id":"6209","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"705","target":"18","id":"6880","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"622","target":"832","id":"254","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"324","target":"920","id":"4248","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"742","target":"95","id":"7313","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"163","target":"464","id":"1687","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"285","target":"235","id":"3109","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"68","target":"211","id":"2920","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"767","target":"301","id":"5596","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"214","target":"683","id":"6116","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"118","target":"74","id":"7514","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"247","target":"582","id":"8022","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"96","target":"753","id":"4208","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"811","target":"475","id":"5344","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"965","target":"39","id":"8420","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"28","target":"348","id":"6990","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"824","target":"999","id":"9988","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"821","target":"347","id":"2380","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"935","target":"52","id":"8034","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"518","target":"977","id":"8733","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"792","target":"157","id":"4381","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"11","target":"182","id":"485","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"773","target":"742","id":"512","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"443","target":"198","id":"1369","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"71","target":"384","id":"7605","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"954","target":"640","id":"3769","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"130","target":"411","id":"8082","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"410","target":"996","id":"7327","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"328","target":"70","id":"529","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"348","target":"589","id":"2579","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"101","target":"817","id":"1660","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"82","target":"711","id":"2456","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"743","target":"943","id":"583","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"619","target":"882","id":"2379","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"392","target":"538","id":"9684","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"818","target":"292","id":"5208","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"897","target":"58","id":"7679","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"506","target":"857","id":"7512","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"889","target":"380","id":"8476","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"707","target":"575","id":"330","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"907","target":"608","id":"1781","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"563","target":"942","id":"6660","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"435","target":"662","id":"6512","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"63","target":"436","id":"4432","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"866","target":"457","id":"1203","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"953","target":"748","id":"3297","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"976","target":"885","id":"984","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"941","target":"588","id":"2455","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"65","target":"7","id":"5066","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"527","target":"819","id":"5352","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"843","target":"609","id":"7247","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"16","target":"556","id":"5094","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"388","target":"511","id":"6250","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"718","target":"657","id":"4574","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"10","target":"985","id":"7865","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"692","target":"778","id":"8554","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"747","target":"138","id":"1056","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"722","target":"397","id":"305","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"305","target":"15","id":"626","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"755","target":"950","id":"4652","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"742","target":"464","id":"779","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"440","target":"230","id":"8695","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"916","target":"148","id":"1932","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"1","target":"426","id":"6019","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"16","target":"688","id":"3791","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"99","target":"973","id":"7989","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"211","target":"914","id":"5403","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"473","target":"608","id":"6486","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"504","target":"284","id":"6854","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"369","target":"665","id":"262","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"505","target":"497","id":"4487","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"634","target":"458","id":"4666","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"875","target":"729","id":"8642","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"166","target":"551","id":"4056","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"183","target":"947","id":"327","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"940","target":"803","id":"3072","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"202","target":"708","id":"9701","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"157","target":"401","id":"9887","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"719","target":"0","id":"3054","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"696","target":"402","id":"2756","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"720","target":"647","id":"7138","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"81","target":"408","id":"8070","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"533","target":"553","id":"6503","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"19","target":"886","id":"2614","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"610","target":"465","id":"2982","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"81","target":"590","id":"1982","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"286","target":"397","id":"4367","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"592","target":"277","id":"7804","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"98","target":"947","id":"1354","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"644","target":"544","id":"1853","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"171","target":"339","id":"7478","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"3","target":"914","id":"6657","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"2","target":"703","id":"356","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"533","target":"486","id":"5798","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"540","target":"429","id":"6529","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"505","target":"503","id":"1507","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"964","target":"664","id":"3964","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"273","target":"310","id":"7488","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"986","target":"353","id":"6131","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"914","target":"471","id":"1469","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"191","target":"108","id":"5819","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"319","target":"609","id":"7056","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"456","target":"956","id":"9570","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"886","target":"21","id":"5166","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"980","target":"194","id":"5631","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"447","target":"348","id":"3979","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"169","target":"561","id":"4986","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"240","target":"136","id":"4260","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"224","target":"615","id":"3703","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"228","target":"496","id":"2184","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"958","target":"320","id":"7861","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"181","target":"84","id":"5355","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"223","target":"696","id":"5741","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"834","target":"454","id":"2045","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"545","target":"318","id":"7115","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"706","target":"851","id":"6122","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"116","target":"783","id":"7757","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"762","target":"797","id":"4436","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"93","target":"743","id":"122","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"24","target":"868","id":"5886","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"667","target":"776","id":"2117","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"934","target":"655","id":"3839","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"165","target":"451","id":"4732","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"449","target":"249","id":"4114","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"443","target":"539","id":"4477","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"581","target":"542","id":"2025","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"308","target":"496","id":"6303","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"580","target":"189","id":"2933","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"266","target":"512","id":"5205","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"788","target":"437","id":"4918","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"460","target":"961","id":"2798","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"784","target":"338","id":"4091","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"472","target":"244","id":"9122","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"446","target":"680","id":"3171","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"887","target":"476","id":"9929","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"106","target":"708","id":"9677","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"681","target":"467","id":"817","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"642","target":"522","id":"6829","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"869","target":"92","id":"4932","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"87","target":"367","id":"5281","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"175","target":"378","id":"1505","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"703","target":"703","id":"7086","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"472","target":"213","id":"6679","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"877","target":"227","id":"5088","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"370","target":"796","id":"7134","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"668","target":"419","id":"5427","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"136","target":"55","id":"4546","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"999","target":"555","id":"2815","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"148","target":"360","id":"6557","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"377","target":"85","id":"8436","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"919","target":"588","id":"8864","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"679","target":"506","id":"1734","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"677","target":"569","id":"6629","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"625","target":"874","id":"2442","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"446","target":"226","id":"713","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"898","target":"138","id":"1825","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"334","target":"369","id":"5381","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"51","target":"462","id":"8589","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"378","target":"66","id":"5102","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"698","target":"402","id":"3976","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"615","target":"771","id":"6740","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"953","target":"877","id":"9267","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"392","target":"50","id":"3856","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"354","target":"610","id":"9211","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"525","target":"25","id":"7967","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"826","target":"922","id":"3522","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"137","target":"986","id":"5317","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"609","target":"301","id":"8468","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"634","target":"205","id":"6393","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"430","target":"796","id":"570","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"920","target":"319","id":"6050","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"71","target":"225","id":"4202","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"501","target":"712","id":"4608","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"219","target":"354","id":"1131","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"429","target":"671","id":"3438","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"363","target":"530","id":"2676","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"515","target":"931","id":"6144","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"887","target":"452","id":"868","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"779","target":"813","id":"5967","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"80","target":"369","id":"6921","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"736","target":"721","id":"6482","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"439","target":"217","id":"8481","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"669","target":"453","id":"3436","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"318","target":"363","id":"7500","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"82","target":"62","id":"7751","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"550","target":"133","id":"5424","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"272","target":"222","id":"7683","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"117","target":"163","id":"7803","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"801","target":"974","id":"5784","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"625","target":"903","id":"513","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"110","target":"114","id":"6890","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"633","target":"759","id":"4976","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"900","target":"461","id":"869","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"677","target":"27","id":"7486","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"956","target":"752","id":"309","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"665","target":"26","id":"7852","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"90","target":"41","id":"5222","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"443","target":"717","id":"7700","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"215","target":"906","id":"4803","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"147","target":"395","id":"6850","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"226","target":"461","id":"2542","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"91","target":"359","id":"8446","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"914","target":"809","id":"3523","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"422","target":"868","id":"1283","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"107","target":"692","id":"5766","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"189","target":"704","id":"472","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"363","target":"294","id":"5119","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"270","target":"176","id":"8321","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"132","target":"47","id":"4137","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"89","target":"723","id":"3339","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"320","target":"308","id":"8107","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"252","target":"842","id":"9290","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"341","target":"695","id":"5624","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"860","target":"60","id":"3016","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"326","target":"345","id":"5463","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"164","target":"154","id":"1292","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"789","target":"147","id":"5718","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"883","target":"486","id":"5284","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"187","target":"228","id":"5482","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"273","target":"273","id":"5553","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"16","target":"63","id":"634","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"691","target":"155","id":"7037","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"461","target":"178","id":"8654","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"853","target":"64","id":"2417","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"425","target":"971","id":"4903","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"533","target":"432","id":"6681","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"562","target":"949","id":"4400","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"211","target":"621","id":"8560","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"604","target":"165","id":"5485","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"373","target":"594","id":"1794","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"514","target":"341","id":"8717","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"224","target":"339","id":"3896","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"369","target":"796","id":"3708","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"663","target":"140","id":"930","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"997","target":"132","id":"2484","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"729","target":"517","id":"5468","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"351","target":"396","id":"6808","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"385","target":"352","id":"3415","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"83","target":"837","id":"2509","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"200","target":"370","id":"5145","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"756","target":"871","id":"5531","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"839","target":"174","id":"6802","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"866","target":"253","id":"7585","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"21","target":"316","id":"4389","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"809","target":"314","id":"246","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"742","target":"368","id":"6446","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"25","target":"419","id":"9328","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"349","target":"521","id":"669","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"382","target":"780","id":"7631","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"93","target":"95","id":"9631","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"200","target":"639","id":"3344","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"935","target":"236","id":"7726","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"69","target":"401","id":"2135","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"297","target":"97","id":"1465","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"869","target":"25","id":"3178","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"723","target":"9","id":"6170","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"367","target":"593","id":"7482","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"812","target":"920","id":"7857","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"240","target":"913","id":"270","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"902","target":"971","id":"1873","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"392","target":"337","id":"5820","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"835","target":"3","id":"4600","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"38","target":"666","id":"5422","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"358","target":"670","id":"1207","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"607","target":"749","id":"7996","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"193","target":"995","id":"756","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"41","target":"9","id":"9951","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"458","target":"137","id":"958","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"686","target":"788","id":"2994","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"330","target":"597","id":"2677","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"420","target":"956","id":"4261","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"838","target":"819","id":"900","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"138","target":"715","id":"3066","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"792","target":"756","id":"5998","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"373","target":"747","id":"7792","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"339","target":"837","id":"8221","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"910","target":"39","id":"5389","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"698","target":"561","id":"4221","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"28","target":"489","id":"8374","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"329","target":"850","id":"4087","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"9","target":"925","id":"5161","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"891","target":"307","id":"6076","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"624","target":"472","id":"315","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"312","target":"110","id":"4465","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"407","target":"386","id":"9714","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"308","target":"868","id":"1305","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"999","target":"640","id":"7471","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"806","target":"311","id":"2333","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"351","target":"249","id":"574","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"839","target":"35","id":"1954","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"99","target":"20","id":"1270","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"313","target":"603","id":"8219","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"534","target":"588","id":"6352","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"644","target":"288","id":"9380","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"344","target":"395","id":"7576","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"436","target":"237","id":"2139","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"70","target":"796","id":"663","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"326","target":"805","id":"8725","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"961","target":"177","id":"7291","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"551","target":"860","id":"73","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"39","target":"699","id":"8289","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"102","target":"770","id":"9334","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"359","target":"738","id":"4433","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"36","target":"466","id":"997","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"765","target":"389","id":"4189","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"322","target":"874","id":"5458","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"556","target":"44","id":"1173","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"983","target":"581","id":"6520","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"434","target":"318","id":"1470","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"113","target":"266","id":"590","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"619","target":"912","id":"989","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"134","target":"103","id":"1","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"887","target":"479","id":"4123","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"701","target":"471","id":"6163","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"786","target":"916","id":"3201","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"396","target":"15","id":"244","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"375","target":"715","id":"8701","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"239","target":"986","id":"9480","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"478","target":"136","id":"9820","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"538","target":"399","id":"6647","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"236","target":"162","id":"2975","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"929","target":"836","id":"5593","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"696","target":"103","id":"7439","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"370","target":"705","id":"5062","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"99","target":"574","id":"5770","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"49","target":"639","id":"6929","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"353","target":"388","id":"2471","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"330","target":"693","id":"9592","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"616","target":"146","id":"1222","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"145","target":"7","id":"815","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"423","target":"511","id":"1301","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"617","target":"984","id":"4606","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"232","target":"579","id":"2678","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"197","target":"553","id":"5583","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"298","target":"825","id":"7141","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"477","target":"692","id":"2505","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"508","target":"501","id":"4349","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"427","target":"472","id":"1349","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"433","target":"206","id":"2752","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"590","target":"117","id":"142","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"350","target":"530","id":"7434","attributes":{},"color":"rgb(60,96,15)","size":2.0},{"source":"374","target":"483","id":"9058","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"28","target":"801","id":"7088","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"21","target":"864","id":"2218","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"745","target":"878","id":"2375","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"633","target":"586","id":"3730","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"596","target":"529","id":"9132","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"911","target":"435","id":"8498","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"750","target":"750","id":"4741","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"67","target":"80","id":"8849","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"758","target":"535","id":"2743","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"824","target":"774","id":"7347","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"283","target":"840","id":"8672","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"953","target":"305","id":"9219","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"878","target":"181","id":"5375","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"743","target":"55","id":"4274","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"957","target":"954","id":"9798","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"512","target":"962","id":"2530","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"899","target":"209","id":"3519","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"825","target":"290","id":"199","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"42","target":"139","id":"1275","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"445","target":"468","id":"3811","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"880","target":"326","id":"5965","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"305","target":"925","id":"6738","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"491","target":"74","id":"7793","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"779","target":"201","id":"9915","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"813","target":"454","id":"2134","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"72","target":"479","id":"6976","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"283","target":"515","id":"8207","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"113","target":"510","id":"38","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"325","target":"310","id":"7527","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"536","target":"898","id":"2837","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"291","target":"669","id":"4058","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"749","target":"322","id":"2142","attributes":{},"color":"rgb(95,58,15)","size":2.0},{"source":"662","target":"868","id":"3524","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"374","target":"11","id":"5780","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"873","target":"30","id":"6190","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"699","target":"281","id":"2215","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"655","target":"808","id":"6039","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"410","target":"97","id":"2307","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"803","target":"418","id":"6889","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"344","target":"202","id":"427","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"514","target":"616","id":"5104","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"508","target":"269","id":"1181","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"678","target":"448","id":"2239","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"450","target":"156","id":"5087","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"679","target":"631","id":"9550","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"168","target":"35","id":"2495","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"845","target":"158","id":"541","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"775","target":"870","id":"2709","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"460","target":"174","id":"5666","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"561","target":"409","id":"6427","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"355","target":"998","id":"8748","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"852","target":"620","id":"6175","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"774","target":"357","id":"5985","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"330","target":"735","id":"1940","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"259","target":"109","id":"8310","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"624","target":"142","id":"4888","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"155","target":"492","id":"9036","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"902","target":"514","id":"1566","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"709","target":"379","id":"5226","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"344","target":"647","id":"6299","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"200","target":"897","id":"8421","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"326","target":"400","id":"4231","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"795","target":"970","id":"5364","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"55","target":"746","id":"100","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"675","target":"500","id":"57","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"232","target":"450","id":"7691","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"20","target":"572","id":"320","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"358","target":"607","id":"6432","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"594","target":"905","id":"1005","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"68","target":"322","id":"7837","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"922","target":"506","id":"1915","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"499","target":"786","id":"1962","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"772","target":"908","id":"5328","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"415","target":"533","id":"293","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"346","target":"234","id":"7244","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"571","target":"457","id":"6575","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"385","target":"844","id":"3226","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"785","target":"967","id":"4017","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"441","target":"733","id":"7349","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"297","target":"464","id":"7774","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"682","target":"69","id":"4538","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"53","target":"688","id":"2434","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"404","target":"677","id":"8548","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"83","target":"729","id":"1334","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"295","target":"284","id":"8334","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"201","target":"201","id":"1130","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"80","target":"966","id":"4160","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"752","target":"386","id":"1983","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"524","target":"55","id":"4650","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"447","target":"691","id":"8870","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"557","target":"956","id":"9450","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"597","target":"38","id":"2273","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"252","target":"84","id":"9524","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"389","target":"107","id":"8619","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"872","target":"731","id":"9644","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"642","target":"675","id":"90","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"887","target":"196","id":"1340","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"987","target":"882","id":"9823","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"522","target":"216","id":"6701","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"672","target":"92","id":"259","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"230","target":"939","id":"3902","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"763","target":"198","id":"2130","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"307","target":"481","id":"6861","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"729","target":"338","id":"6973","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"52","target":"534","id":"4272","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"835","target":"75","id":"3516","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"333","target":"932","id":"5685","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"242","target":"274","id":"1345","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"256","target":"734","id":"7614","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"409","target":"677","id":"9191","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"672","target":"972","id":"1495","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"955","target":"609","id":"8976","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"797","target":"936","id":"6683","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"418","target":"84","id":"785","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"395","target":"372","id":"1368","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"390","target":"127","id":"6406","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"74","target":"937","id":"9978","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"793","target":"418","id":"2679","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"822","target":"960","id":"7275","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"514","target":"530","id":"1955","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"498","target":"461","id":"860","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"405","target":"537","id":"2529","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"568","target":"480","id":"6068","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"769","target":"677","id":"9385","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"149","target":"707","id":"9960","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"132","target":"74","id":"2643","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"366","target":"7","id":"2141","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"521","target":"400","id":"9708","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"438","target":"882","id":"6817","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"979","target":"706","id":"3911","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"127","target":"462","id":"6074","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"424","target":"226","id":"5434","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"671","target":"416","id":"8762","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"191","target":"261","id":"337","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"886","target":"653","id":"3527","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"164","target":"847","id":"6937","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"523","target":"18","id":"2002","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"210","target":"22","id":"5009","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"104","target":"865","id":"6487","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"295","target":"356","id":"9247","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"61","target":"115","id":"7883","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"630","target":"478","id":"2626","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"504","target":"301","id":"3907","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"986","target":"722","id":"4021","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"856","target":"14","id":"8103","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"110","target":"938","id":"231","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"442","target":"427","id":"5100","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"851","target":"804","id":"8506","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"806","target":"148","id":"1703","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"208","target":"325","id":"8562","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"653","target":"208","id":"9999","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"387","target":"571","id":"4489","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"1","target":"752","id":"2797","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"623","target":"811","id":"8739","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"632","target":"501","id":"9084","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"774","target":"930","id":"3413","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"733","target":"462","id":"342","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"636","target":"392","id":"1317","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"726","target":"801","id":"2918","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"277","target":"689","id":"7816","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"118","target":"568","id":"6097","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"335","target":"930","id":"5156","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"320","target":"882","id":"2621","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"6","target":"188","id":"2091","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"545","target":"434","id":"5691","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"126","target":"543","id":"7655","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"466","target":"788","id":"9595","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"627","target":"103","id":"5131","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"960","target":"331","id":"1399","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"301","target":"624","id":"3888","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"424","target":"873","id":"5168","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"718","target":"905","id":"5698","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"2","target":"356","id":"6739","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"943","target":"410","id":"4662","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"22","target":"479","id":"6363","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"397","target":"849","id":"7701","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"991","target":"356","id":"313","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"685","target":"705","id":"7859","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"254","target":"193","id":"420","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"615","target":"803","id":"3458","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"8","target":"171","id":"5805","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"46","target":"471","id":"979","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"399","target":"723","id":"526","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"761","target":"286","id":"9657","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"662","target":"76","id":"8125","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"12","target":"377","id":"4213","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"748","target":"644","id":"9690","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"327","target":"518","id":"9296","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"671","target":"492","id":"3927","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"639","target":"868","id":"2839","attributes":{},"color":"rgb(185,138,66)","size":2.0},{"source":"314","target":"231","id":"3712","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"965","target":"227","id":"8730","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"115","target":"124","id":"7261","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"83","target":"603","id":"6221","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"11","target":"634","id":"4131","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"454","target":"850","id":"4527","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"486","target":"751","id":"3745","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"244","target":"788","id":"2167","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"712","target":"909","id":"4770","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"788","target":"98","id":"2885","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"488","target":"629","id":"6612","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"243","target":"703","id":"4212","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"948","target":"705","id":"5191","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"362","target":"128","id":"2907","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"51","target":"344","id":"4287","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"708","target":"619","id":"8561","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"277","target":"817","id":"8644","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"447","target":"329","id":"6306","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"225","target":"988","id":"5470","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"702","target":"761","id":"2909","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"0","target":"216","id":"6525","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"197","target":"229","id":"3556","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"393","target":"368","id":"3693","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"418","target":"218","id":"3926","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"734","target":"880","id":"8729","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"814","target":"379","id":"3291","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"96","target":"938","id":"9943","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"287","target":"17","id":"67","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"977","target":"888","id":"6106","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"574","target":"815","id":"4578","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"459","target":"881","id":"8620","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"324","target":"254","id":"3469","attributes":{},"color":"rgb(169,164,127)","size":2.0},{"source":"658","target":"112","id":"2650","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"688","target":"542","id":"3439","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"772","target":"974","id":"8173","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"371","target":"69","id":"5788","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"135","target":"170","id":"7965","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"629","target":"222","id":"9800","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"658","target":"273","id":"1019","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"708","target":"653","id":"8673","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"608","target":"836","id":"4254","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"82","target":"270","id":"5495","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"421","target":"303","id":"475","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"997","target":"375","id":"554","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"775","target":"714","id":"1718","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"765","target":"820","id":"637","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"650","target":"684","id":"8659","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"890","target":"804","id":"1848","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"738","target":"337","id":"8769","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"500","target":"477","id":"7326","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"123","target":"683","id":"9306","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"522","target":"265","id":"2702","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"674","target":"586","id":"8853","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"909","target":"483","id":"3674","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"545","target":"167","id":"1227","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"165","target":"98","id":"8429","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"728","target":"942","id":"1608","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"454","target":"269","id":"8184","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"86","target":"0","id":"8432","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"388","target":"80","id":"2528","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"767","target":"346","id":"7065","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"575","target":"362","id":"3663","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"961","target":"91","id":"6356","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"548","target":"359","id":"343","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"454","target":"105","id":"704","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"691","target":"694","id":"3006","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"544","target":"888","id":"3316","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"222","target":"506","id":"354","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"568","target":"992","id":"9919","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"147","target":"573","id":"4586","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"960","target":"759","id":"7023","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"204","target":"797","id":"1602","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"624","target":"456","id":"5571","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"243","target":"296","id":"188","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"119","target":"465","id":"2131","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"545","target":"467","id":"229","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"471","target":"115","id":"1387","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"927","target":"595","id":"6206","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"356","target":"89","id":"6535","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"743","target":"293","id":"4464","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"603","target":"377","id":"1303","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"115","target":"590","id":"2160","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"383","target":"128","id":"6952","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"177","target":"354","id":"5581","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"918","target":"924","id":"7270","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"169","target":"586","id":"6655","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"518","target":"887","id":"539","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"669","target":"225","id":"3176","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"274","target":"529","id":"9506","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"529","target":"650","id":"1330","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"828","target":"346","id":"60","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"640","target":"578","id":"3630","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"633","target":"884","id":"429","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"657","target":"77","id":"3075","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"233","target":"597","id":"3987","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"93","target":"726","id":"5006","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"767","target":"518","id":"6957","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"346","target":"602","id":"7761","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"688","target":"207","id":"4707","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"950","target":"53","id":"5221","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"678","target":"940","id":"7497","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"940","target":"654","id":"2727","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"91","target":"431","id":"2297","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"793","target":"32","id":"4186","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"27","target":"296","id":"6621","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"431","target":"187","id":"2403","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"710","target":"637","id":"3038","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"964","target":"927","id":"8857","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"365","target":"937","id":"8118","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"686","target":"897","id":"9488","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"501","target":"541","id":"8418","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"16","target":"423","id":"2256","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"163","target":"467","id":"4722","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"788","target":"372","id":"6563","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"708","target":"389","id":"7343","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"3","target":"540","id":"4201","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"489","target":"589","id":"345","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"717","target":"501","id":"2749","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"79","target":"964","id":"7775","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"859","target":"264","id":"6289","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"371","target":"104","id":"1820","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"142","target":"297","id":"2893","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"856","target":"905","id":"2157","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"500","target":"635","id":"4980","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"552","target":"171","id":"3471","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"556","target":"254","id":"6923","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"120","target":"494","id":"2960","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"27","target":"581","id":"5758","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"317","target":"25","id":"9439","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"278","target":"572","id":"5806","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"790","target":"791","id":"3194","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"989","target":"694","id":"948","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"2","target":"849","id":"9832","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"113","target":"222","id":"694","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"957","target":"139","id":"8383","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"369","target":"958","id":"8539","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"405","target":"298","id":"212","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"777","target":"592","id":"5108","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"596","target":"948","id":"5739","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"127","target":"118","id":"2094","attributes":{},"color":"rgb(155,250,0)","size":3.0},{"source":"670","target":"960","id":"2791","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"653","target":"722","id":"4068","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"970","target":"955","id":"204","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"16","target":"548","id":"2680","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"508","target":"510","id":"401","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"566","target":"117","id":"5153","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"574","target":"657","id":"9522","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"815","target":"25","id":"409","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"492","target":"814","id":"4898","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"215","target":"937","id":"9868","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"242","target":"918","id":"4895","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"616","target":"586","id":"3304","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"776","target":"955","id":"7043","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"258","target":"802","id":"7180","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"457","target":"683","id":"6894","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"878","target":"963","id":"980","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"557","target":"451","id":"9589","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"910","target":"910","id":"299","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"267","target":"41","id":"5769","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"359","target":"151","id":"3449","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"468","target":"273","id":"3360","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"436","target":"219","id":"7602","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"294","target":"395","id":"8551","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"182","target":"956","id":"7419","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"37","target":"982","id":"7028","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"153","target":"15","id":"9240","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"836","target":"181","id":"9109","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"609","target":"210","id":"7921","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"774","target":"608","id":"8924","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"377","target":"896","id":"7022","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"525","target":"525","id":"4682","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"921","target":"707","id":"4965","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"105","target":"141","id":"5360","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"525","target":"968","id":"8044","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"885","target":"784","id":"1344","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"618","target":"72","id":"3764","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"190","target":"692","id":"9472","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"429","target":"217","id":"1096","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"209","target":"475","id":"1584","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"234","target":"742","id":"3717","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"941","target":"773","id":"5511","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"759","target":"346","id":"253","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"363","target":"755","id":"2466","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"555","target":"273","id":"894","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"23","target":"162","id":"3001","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"303","target":"957","id":"8330","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"682","target":"431","id":"9331","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"204","target":"571","id":"2290","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"468","target":"412","id":"3643","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"607","target":"860","id":"3224","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"651","target":"615","id":"5988","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"403","target":"904","id":"4385","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"125","target":"126","id":"1115","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"590","target":"912","id":"5340","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"847","target":"426","id":"8151","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"333","target":"867","id":"3647","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"466","target":"770","id":"2162","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"811","target":"912","id":"6754","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"18","target":"801","id":"5786","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"643","target":"132","id":"6284","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"885","target":"625","id":"5932","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"721","target":"145","id":"7380","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"895","target":"504","id":"1544","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"746","target":"794","id":"5114","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"928","target":"496","id":"4055","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"136","target":"606","id":"5393","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"722","target":"687","id":"5993","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"728","target":"448","id":"1678","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"643","target":"824","id":"4425","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"750","target":"494","id":"710","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"496","target":"570","id":"6841","attributes":{},"color":"rgb(169,164,127)","size":2.0},{"source":"71","target":"560","id":"4982","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"378","target":"646","id":"145","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"826","target":"813","id":"3313","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"930","target":"430","id":"366","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"788","target":"415","id":"8159","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"991","target":"530","id":"6109","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"812","target":"903","id":"6368","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"829","target":"441","id":"2038","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"222","target":"294","id":"5966","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"435","target":"380","id":"9081","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"227","target":"686","id":"8311","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"27","target":"688","id":"5591","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"379","target":"841","id":"1252","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"478","target":"446","id":"1409","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"325","target":"629","id":"2991","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"880","target":"198","id":"1742","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"743","target":"151","id":"3351","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"434","target":"260","id":"9609","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"156","target":"778","id":"1540","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"835","target":"317","id":"2078","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"514","target":"446","id":"7425","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"590","target":"920","id":"8978","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"393","target":"73","id":"9621","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"281","target":"272","id":"9667","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"328","target":"542","id":"9807","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"248","target":"454","id":"6676","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"796","target":"582","id":"9781","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"374","target":"355","id":"2657","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"24","target":"375","id":"9032","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"961","target":"211","id":"3128","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"701","target":"200","id":"292","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"97","target":"772","id":"8414","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"386","target":"710","id":"1263","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"505","target":"198","id":"3968","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"330","target":"862","id":"2554","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"571","target":"241","id":"9099","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"611","target":"463","id":"7612","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"526","target":"886","id":"7535","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"910","target":"953","id":"1855","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"529","target":"746","id":"8536","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"63","target":"931","id":"4867","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"248","target":"517","id":"1969","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"560","target":"326","id":"3728","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"404","target":"816","id":"8697","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"178","target":"847","id":"8249","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"839","target":"992","id":"2925","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"822","target":"571","id":"4191","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"534","target":"633","id":"4394","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"292","target":"779","id":"6723","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"224","target":"393","id":"3633","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"946","target":"835","id":"4215","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"282","target":"236","id":"6818","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"648","target":"875","id":"477","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"312","target":"983","id":"6725","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"1","target":"274","id":"9676","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"237","target":"975","id":"2953","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"385","target":"508","id":"2981","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"851","target":"821","id":"16","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"467","target":"121","id":"52","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"581","target":"136","id":"9094","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"360","target":"326","id":"5987","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"127","target":"418","id":"8742","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"644","target":"866","id":"3284","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"372","target":"752","id":"4193","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"593","target":"705","id":"4683","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"868","target":"844","id":"4324","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"192","target":"310","id":"9504","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"499","target":"535","id":"6527","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"91","target":"778","id":"6177","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"372","target":"421","id":"2927","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"34","target":"512","id":"6992","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"701","target":"266","id":"4344","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"404","target":"282","id":"1026","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"406","target":"861","id":"3608","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"426","target":"434","id":"3726","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"713","target":"270","id":"8922","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"353","target":"767","id":"5811","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"598","target":"451","id":"481","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"300","target":"120","id":"3119","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"646","target":"377","id":"1103","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"573","target":"607","id":"5345","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"441","target":"778","id":"8051","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"411","target":"166","id":"9717","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"399","target":"614","id":"1780","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"785","target":"565","id":"7719","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"996","target":"253","id":"9782","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"555","target":"892","id":"3866","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"165","target":"120","id":"8472","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"992","target":"588","id":"2638","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"407","target":"720","id":"3509","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"506","target":"611","id":"920","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"699","target":"15","id":"5091","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"880","target":"821","id":"2517","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"46","target":"942","id":"7243","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"847","target":"841","id":"8216","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"236","target":"548","id":"8875","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"616","target":"310","id":"878","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"91","target":"675","id":"8848","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"2","target":"313","id":"2817","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"510","target":"838","id":"4238","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"494","target":"745","id":"4890","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"113","target":"970","id":"411","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"107","target":"622","id":"2620","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"812","target":"332","id":"6142","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"721","target":"642","id":"7632","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"330","target":"34","id":"6342","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"393","target":"116","id":"3624","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"92","target":"865","id":"6752","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"428","target":"862","id":"388","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"933","target":"352","id":"8380","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"813","target":"153","id":"143","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"160","target":"692","id":"5306","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"327","target":"844","id":"7393","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"721","target":"536","id":"9383","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"129","target":"613","id":"2648","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"519","target":"30","id":"7872","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"442","target":"714","id":"9712","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"688","target":"421","id":"8371","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"506","target":"506","id":"3170","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"970","target":"695","id":"1913","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"516","target":"310","id":"9546","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"702","target":"336","id":"1710","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"773","target":"579","id":"4904","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"174","target":"196","id":"9914","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"480","target":"522","id":"1031","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"750","target":"714","id":"6086","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"504","target":"406","id":"3788","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"91","target":"593","id":"5693","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"56","target":"672","id":"9107","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"809","target":"169","id":"9703","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"301","target":"563","id":"5745","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"829","target":"620","id":"3699","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"694","target":"866","id":"455","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"949","target":"643","id":"8228","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"768","target":"475","id":"2521","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"290","target":"68","id":"8135","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"198","target":"219","id":"6617","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"752","target":"426","id":"1015","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"46","target":"45","id":"3021","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"127","target":"349","id":"9734","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"96","target":"754","id":"51","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"989","target":"130","id":"867","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"559","target":"946","id":"1909","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"376","target":"658","id":"3185","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"840","target":"589","id":"6320","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"643","target":"215","id":"8867","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"778","target":"175","id":"5908","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"478","target":"953","id":"2580","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"573","target":"472","id":"3685","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"645","target":"184","id":"6314","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"447","target":"150","id":"1713","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"72","target":"474","id":"2163","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"909","target":"264","id":"1599","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"796","target":"404","id":"4453","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"971","target":"935","id":"6258","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"289","target":"270","id":"6874","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"465","target":"520","id":"8230","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"630","target":"648","id":"1512","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"715","target":"74","id":"3658","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"23","target":"697","id":"217","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"550","target":"300","id":"1639","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"32","target":"350","id":"1795","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"12","target":"965","id":"4240","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"508","target":"460","id":"4486","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"887","target":"666","id":"9698","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"222","target":"951","id":"9023","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"459","target":"511","id":"6293","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"937","target":"138","id":"2597","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"323","target":"642","id":"4795","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"205","target":"552","id":"8109","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"199","target":"113","id":"7303","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"648","target":"366","id":"8134","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"657","target":"833","id":"5136","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"29","target":"752","id":"4421","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"953","target":"700","id":"5363","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"977","target":"16","id":"9","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"551","target":"716","id":"1534","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"327","target":"446","id":"9787","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"828","target":"737","id":"9659","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"935","target":"9","id":"7784","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"780","target":"41","id":"1029","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"213","target":"634","id":"2565","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"711","target":"332","id":"3604","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"708","target":"961","id":"7273","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"673","target":"344","id":"982","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"668","target":"985","id":"8167","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"851","target":"742","id":"146","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"875","target":"170","id":"950","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"570","target":"891","id":"4044","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"937","target":"998","id":"3419","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"452","target":"780","id":"4296","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"560","target":"591","id":"7881","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"138","target":"324","id":"1570","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"155","target":"528","id":"6457","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"224","target":"795","id":"2805","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"302","target":"668","id":"5549","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"213","target":"388","id":"6748","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"456","target":"384","id":"6036","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"169","target":"871","id":"9632","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"440","target":"837","id":"6895","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"367","target":"614","id":"7401","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"964","target":"111","id":"6718","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"899","target":"587","id":"2489","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"42","target":"79","id":"285","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"465","target":"131","id":"4015","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"475","target":"901","id":"7616","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"716","target":"784","id":"2694","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"545","target":"569","id":"6675","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"129","target":"805","id":"335","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"106","target":"603","id":"1211","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"261","target":"488","id":"2848","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"54","target":"666","id":"6066","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"881","target":"550","id":"9880","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"239","target":"544","id":"3725","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"424","target":"267","id":"9310","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"131","target":"764","id":"2378","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"618","target":"788","id":"7491","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"775","target":"823","id":"6227","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"429","target":"222","id":"5540","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"54","target":"135","id":"3763","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"716","target":"565","id":"1725","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"865","target":"745","id":"8126","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"38","target":"350","id":"5638","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"640","target":"874","id":"6801","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"577","target":"826","id":"9562","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"574","target":"309","id":"9947","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"673","target":"116","id":"9997","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"640","target":"667","id":"1906","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"695","target":"817","id":"2247","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"453","target":"932","id":"8650","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"491","target":"314","id":"1554","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"368","target":"130","id":"8726","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"783","target":"911","id":"9764","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"864","target":"779","id":"1644","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"93","target":"601","id":"2552","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"999","target":"0","id":"2440","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"248","target":"268","id":"2719","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"939","target":"403","id":"9204","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"983","target":"731","id":"9029","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"482","target":"361","id":"9281","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"92","target":"535","id":"8760","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"652","target":"496","id":"131","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"766","target":"978","id":"821","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"78","target":"442","id":"2705","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"868","target":"8","id":"3563","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"597","target":"940","id":"3880","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"954","target":"753","id":"7070","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"281","target":"531","id":"240","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"185","target":"370","id":"5465","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"401","target":"269","id":"584","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"72","target":"663","id":"2194","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"522","target":"581","id":"3933","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"854","target":"54","id":"7042","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"512","target":"579","id":"34","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"158","target":"805","id":"1092","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"132","target":"132","id":"6178","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"263","target":"540","id":"4233","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"233","target":"754","id":"2452","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"999","target":"340","id":"6928","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"46","target":"450","id":"6351","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"656","target":"184","id":"9590","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"633","target":"843","id":"6266","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"861","target":"914","id":"390","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"612","target":"218","id":"1082","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"752","target":"314","id":"9804","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"82","target":"316","id":"8757","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"444","target":"432","id":"731","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"203","target":"108","id":"7827","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"373","target":"282","id":"8170","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"885","target":"261","id":"9181","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"176","target":"649","id":"4194","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"345","target":"362","id":"5044","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"256","target":"97","id":"7069","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"295","target":"688","id":"9819","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"84","target":"157","id":"5233","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"524","target":"175","id":"7509","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"938","target":"561","id":"2568","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"480","target":"793","id":"1133","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"317","target":"500","id":"9802","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"914","target":"439","id":"2369","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"853","target":"828","id":"5154","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"79","target":"343","id":"614","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"811","target":"660","id":"4960","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"622","target":"357","id":"6539","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"491","target":"274","id":"8570","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"286","target":"234","id":"3535","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"613","target":"26","id":"233","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"29","target":"613","id":"4551","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"93","target":"638","id":"307","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"974","target":"116","id":"2959","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"373","target":"437","id":"4592","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"870","target":"643","id":"5955","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"960","target":"600","id":"6310","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"714","target":"678","id":"7416","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"947","target":"763","id":"8665","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"853","target":"327","id":"7931","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"152","target":"64","id":"7040","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"26","target":"334","id":"1896","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"105","target":"955","id":"4081","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"134","target":"459","id":"1204","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"414","target":"758","id":"9217","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"10","target":"632","id":"7404","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"389","target":"980","id":"103","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"471","target":"204","id":"4807","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"958","target":"210","id":"5016","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"971","target":"305","id":"5371","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"979","target":"624","id":"8813","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"240","target":"510","id":"7582","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"682","target":"321","id":"2816","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"182","target":"597","id":"5262","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"539","target":"678","id":"6705","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"307","target":"235","id":"6947","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"860","target":"344","id":"3141","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"951","target":"309","id":"2405","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"219","target":"328","id":"4974","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"86","target":"57","id":"3273","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"505","target":"475","id":"4197","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"37","target":"862","id":"6559","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"975","target":"485","id":"9681","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"41","target":"583","id":"2940","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"339","target":"352","id":"1075","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"450","target":"270","id":"5938","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"694","target":"72","id":"6635","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"853","target":"223","id":"3424","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"947","target":"39","id":"5973","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"606","target":"691","id":"8191","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"759","target":"974","id":"5123","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"293","target":"254","id":"3783","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"222","target":"723","id":"3830","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"81","target":"798","id":"8568","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"558","target":"987","id":"4111","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"494","target":"598","id":"3261","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"574","target":"409","id":"1790","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"507","target":"912","id":"5597","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"82","target":"426","id":"6271","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"456","target":"804","id":"2224","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"343","target":"335","id":"3631","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"935","target":"761","id":"6919","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"555","target":"834","id":"4101","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"823","target":"594","id":"569","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"460","target":"317","id":"8113","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"722","target":"300","id":"7095","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"303","target":"496","id":"8488","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"950","target":"278","id":"9579","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"145","target":"63","id":"1797","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"48","target":"142","id":"6541","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"91","target":"213","id":"8716","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"798","target":"819","id":"888","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"57","target":"726","id":"6160","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"815","target":"779","id":"1935","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"604","target":"614","id":"8944","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"998","target":"985","id":"9824","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"463","target":"440","id":"2633","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"481","target":"666","id":"8597","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"132","target":"770","id":"9613","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"876","target":"449","id":"5611","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"662","target":"715","id":"3414","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"561","target":"571","id":"72","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"786","target":"115","id":"3681","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"423","target":"205","id":"6566","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"764","target":"156","id":"1756","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"425","target":"210","id":"6282","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"154","target":"622","id":"5924","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"401","target":"604","id":"6930","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"157","target":"515","id":"4553","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"963","target":"731","id":"7531","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"55","target":"67","id":"2422","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"544","target":"684","id":"6608","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"823","target":"751","id":"5925","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"678","target":"219","id":"896","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"688","target":"624","id":"9523","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"996","target":"259","id":"764","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"518","target":"879","id":"2211","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"91","target":"168","id":"2987","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"239","target":"436","id":"8549","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"173","target":"141","id":"9850","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"68","target":"245","id":"4757","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"733","target":"838","id":"9964","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"63","target":"228","id":"3727","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"143","target":"582","id":"4547","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"520","target":"974","id":"9046","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"953","target":"889","id":"717","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"817","target":"838","id":"2737","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"517","target":"515","id":"8345","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"320","target":"858","id":"6119","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"464","target":"169","id":"159","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"707","target":"687","id":"22","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"845","target":"770","id":"7445","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"301","target":"559","id":"1704","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"932","target":"145","id":"3391","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"871","target":"500","id":"884","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"577","target":"726","id":"6436","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"79","target":"654","id":"3000","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"36","target":"366","id":"4350","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"901","target":"30","id":"9737","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"93","target":"873","id":"5319","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"525","target":"969","id":"6935","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"203","target":"594","id":"2410","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"323","target":"223","id":"3111","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"90","target":"77","id":"225","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"381","target":"271","id":"1985","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"143","target":"567","id":"9118","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"976","target":"634","id":"9255","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"751","target":"426","id":"185","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"516","target":"864","id":"1054","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"916","target":"679","id":"8192","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"174","target":"494","id":"4800","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"447","target":"16","id":"6132","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"348","target":"644","id":"7196","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"649","target":"307","id":"2498","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"960","target":"470","id":"9794","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"902","target":"691","id":"1971","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"171","target":"266","id":"5588","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"11","target":"519","id":"8075","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"317","target":"579","id":"7738","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"471","target":"249","id":"7945","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"238","target":"152","id":"855","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"822","target":"538","id":"3836","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"991","target":"984","id":"5594","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"0","target":"71","id":"5661","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"120","target":"281","id":"6281","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"630","target":"129","id":"1498","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"570","target":"565","id":"4668","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"238","target":"620","id":"7589","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"671","target":"841","id":"4724","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"46","target":"761","id":"7449","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"291","target":"536","id":"2312","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"749","target":"713","id":"725","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"66","target":"392","id":"8293","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"680","target":"530","id":"3648","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"450","target":"929","id":"2978","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"881","target":"841","id":"6939","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"411","target":"160","id":"7545","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"809","target":"311","id":"2292","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"923","target":"700","id":"9105","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"535","target":"313","id":"258","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"659","target":"452","id":"471","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"50","target":"104","id":"9792","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"912","target":"530","id":"5211","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"368","target":"650","id":"3546","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"122","target":"365","id":"6936","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"616","target":"218","id":"8415","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"47","target":"675","id":"3912","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"605","target":"245","id":"533","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"307","target":"23","id":"1276","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"335","target":"755","id":"6823","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"715","target":"33","id":"7540","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"587","target":"74","id":"7707","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"509","target":"201","id":"8060","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"560","target":"141","id":"2350","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"816","target":"371","id":"173","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"486","target":"286","id":"4613","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"353","target":"906","id":"1001","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"322","target":"75","id":"9662","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"464","target":"73","id":"720","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"209","target":"778","id":"7194","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"683","target":"621","id":"7135","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"588","target":"94","id":"5057","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"246","target":"587","id":"7100","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"383","target":"979","id":"7772","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"438","target":"162","id":"2249","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"29","target":"90","id":"155","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"942","target":"927","id":"8257","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"547","target":"928","id":"3051","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"82","target":"456","id":"349","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"936","target":"147","id":"200","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"856","target":"239","id":"4943","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"853","target":"669","id":"3241","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"773","target":"896","id":"8352","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"737","target":"83","id":"3205","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"297","target":"295","id":"75","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"181","target":"270","id":"1091","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"824","target":"76","id":"1733","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"763","target":"321","id":"1847","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"221","target":"9","id":"5868","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"173","target":"23","id":"6139","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"509","target":"712","id":"3080","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"62","target":"547","id":"1407","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"864","target":"347","id":"6590","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"822","target":"168","id":"1316","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"663","target":"408","id":"3386","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"314","target":"830","id":"2659","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"156","target":"912","id":"7994","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"870","target":"707","id":"8215","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"572","target":"854","id":"7484","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"525","target":"934","id":"7832","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"381","target":"453","id":"5586","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"173","target":"214","id":"7249","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"211","target":"546","id":"8708","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"116","target":"665","id":"771","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"716","target":"502","id":"1578","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"557","target":"26","id":"6228","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"529","target":"818","id":"3668","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"238","target":"202","id":"5235","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"247","target":"823","id":"1706","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"877","target":"219","id":"3667","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"737","target":"855","id":"3650","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"72","target":"230","id":"367","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"350","target":"324","id":"7622","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"440","target":"867","id":"7765","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"585","target":"102","id":"9411","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"744","target":"235","id":"193","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"150","target":"188","id":"5413","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"748","target":"521","id":"5039","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"307","target":"180","id":"3100","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"851","target":"817","id":"238","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"642","target":"582","id":"2955","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"785","target":"860","id":"5628","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"353","target":"634","id":"7036","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"358","target":"312","id":"1377","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"672","target":"334","id":"8381","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"661","target":"347","id":"8567","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"762","target":"616","id":"5391","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"478","target":"789","id":"9458","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"107","target":"658","id":"2408","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"781","target":"321","id":"8183","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"196","target":"184","id":"3392","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"18","target":"796","id":"5012","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"333","target":"684","id":"5507","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"906","target":"184","id":"5476","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"874","target":"205","id":"661","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"123","target":"875","id":"1829","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"238","target":"238","id":"9921","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"328","target":"559","id":"9740","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"82","target":"742","id":"4698","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"739","target":"548","id":"4145","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"506","target":"840","id":"6078","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"765","target":"264","id":"2221","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"275","target":"186","id":"6623","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"371","target":"768","id":"9083","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"216","target":"477","id":"6480","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"440","target":"924","id":"9711","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"628","target":"817","id":"9822","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"104","target":"719","id":"4717","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"893","target":"221","id":"1814","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"32","target":"339","id":"5618","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"833","target":"528","id":"3048","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"325","target":"850","id":"1058","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"288","target":"982","id":"1099","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"244","target":"419","id":"2055","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"219","target":"797","id":"2384","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"530","target":"715","id":"2411","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"334","target":"732","id":"9660","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"456","target":"224","id":"3820","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"18","target":"912","id":"6401","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"931","target":"398","id":"1809","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"192","target":"531","id":"8459","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"222","target":"862","id":"2602","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"229","target":"395","id":"3579","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"644","target":"797","id":"50","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"111","target":"793","id":"3870","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"451","target":"688","id":"6027","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"989","target":"436","id":"7817","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"928","target":"51","id":"6183","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"694","target":"827","id":"8555","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"266","target":"786","id":"4761","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"339","target":"624","id":"1057","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"322","target":"822","id":"2977","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"174","target":"1","id":"4624","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"588","target":"648","id":"3345","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"3","target":"191","id":"4134","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"133","target":"345","id":"9333","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"868","target":"134","id":"6140","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"536","target":"162","id":"7882","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"529","target":"752","id":"2145","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"407","target":"748","id":"1389","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"192","target":"113","id":"2916","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"950","target":"984","id":"5670","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"481","target":"428","id":"2404","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"780","target":"534","id":"2965","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"392","target":"898","id":"7355","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"382","target":"801","id":"9137","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"14","target":"991","id":"7668","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"150","target":"606","id":"3787","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"486","target":"724","id":"3076","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"780","target":"437","id":"3497","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"659","target":"196","id":"9085","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"851","target":"797","id":"4357","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"758","target":"363","id":"9268","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"397","target":"711","id":"2412","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"482","target":"597","id":"486","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"592","target":"105","id":"5243","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"134","target":"511","id":"355","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"356","target":"590","id":"4387","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"143","target":"813","id":"4127","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"901","target":"863","id":"2107","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"508","target":"921","id":"677","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"248","target":"239","id":"3130","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"19","target":"343","id":"6993","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"944","target":"87","id":"6492","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"999","target":"214","id":"6150","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"505","target":"923","id":"1065","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"22","target":"148","id":"5619","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"499","target":"675","id":"2802","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"10","target":"708","id":"5840","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"731","target":"280","id":"6034","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"476","target":"511","id":"2687","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"455","target":"107","id":"719","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"964","target":"614","id":"587","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"501","target":"373","id":"3177","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"409","target":"490","id":"8552","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"735","target":"765","id":"6297","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"298","target":"859","id":"2979","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"575","target":"570","id":"5783","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"629","target":"273","id":"9069","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"423","target":"229","id":"9343","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"724","target":"698","id":"3612","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"129","target":"417","id":"1947","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"186","target":"376","id":"3183","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"319","target":"975","id":"7077","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"774","target":"452","id":"4488","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"677","target":"618","id":"4886","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"919","target":"499","id":"209","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"205","target":"79","id":"2399","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"467","target":"356","id":"9534","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"250","target":"743","id":"1522","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"516","target":"850","id":"6477","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"159","target":"13","id":"9697","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"652","target":"699","id":"5543","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"197","target":"216","id":"8518","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"206","target":"502","id":"8847","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"1","target":"675","id":"6400","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"322","target":"722","id":"6674","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"779","target":"995","id":"3653","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"531","target":"952","id":"1443","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"625","target":"889","id":"3314","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"3","target":"133","id":"3492","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"559","target":"526","id":"1339","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"456","target":"831","id":"7152","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"451","target":"677","id":"9354","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"584","target":"71","id":"3088","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"799","target":"923","id":"8908","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"323","target":"720","id":"6665","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"806","target":"545","id":"9220","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"573","target":"951","id":"7110","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"618","target":"188","id":"5036","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"503","target":"574","id":"5866","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"957","target":"622","id":"3710","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"894","target":"882","id":"9139","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"250","target":"951","id":"5236","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"875","target":"63","id":"3538","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"151","target":"453","id":"4036","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"786","target":"553","id":"114","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"166","target":"158","id":"5751","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"505","target":"111","id":"813","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"259","target":"309","id":"8974","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"686","target":"516","id":"910","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"971","target":"326","id":"5054","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"89","target":"430","id":"553","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"597","target":"534","id":"3124","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"846","target":"955","id":"8423","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"714","target":"503","id":"339","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"845","target":"583","id":"1432","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"410","target":"637","id":"5107","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"711","target":"462","id":"9373","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"711","target":"529","id":"1128","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"935","target":"169","id":"1688","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"91","target":"643","id":"1226","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"910","target":"34","id":"5920","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"115","target":"619","id":"2831","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"414","target":"614","id":"2023","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"526","target":"829","id":"226","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"997","target":"697","id":"1779","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"912","target":"933","id":"2407","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"544","target":"476","id":"9434","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"130","target":"510","id":"4499","attributes":{},"color":"rgb(41,35,46)","size":2.0},{"source":"268","target":"582","id":"1219","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"93","target":"43","id":"2644","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"581","target":"624","id":"8396","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"602","target":"703","id":"1630","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"456","target":"940","id":"7821","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"489","target":"5","id":"4994","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"392","target":"94","id":"963","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"363","target":"339","id":"5000","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"459","target":"364","id":"5004","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"68","target":"840","id":"718","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"788","target":"285","id":"5383","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"51","target":"175","id":"7271","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"690","target":"922","id":"1402","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"116","target":"458","id":"23","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"677","target":"412","id":"7916","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"45","target":"662","id":"3108","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"891","target":"321","id":"8189","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"393","target":"379","id":"4916","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"351","target":"778","id":"3107","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"921","target":"271","id":"5402","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"467","target":"590","id":"944","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"416","target":"767","id":"4786","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"621","target":"554","id":"5513","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"279","target":"816","id":"6971","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"10","target":"862","id":"3332","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"989","target":"119","id":"489","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"239","target":"181","id":"8934","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"343","target":"772","id":"6763","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"566","target":"990","id":"2175","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"331","target":"797","id":"7225","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"912","target":"66","id":"5173","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"19","target":"288","id":"7464","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"356","target":"505","id":"8936","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"220","target":"589","id":"6188","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"706","target":"523","id":"476","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"213","target":"874","id":"3430","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"373","target":"671","id":"9342","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"209","target":"422","id":"6330","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"743","target":"758","id":"6083","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"632","target":"379","id":"9049","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"321","target":"688","id":"2119","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"843","target":"313","id":"8796","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"254","target":"70","id":"925","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"672","target":"40","id":"7167","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"393","target":"393","id":"7714","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"164","target":"278","id":"9269","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"696","target":"459","id":"5832","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"770","target":"360","id":"6803","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"10","target":"292","id":"8627","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"17","target":"195","id":"1650","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"264","target":"707","id":"4255","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"983","target":"69","id":"998","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"138","target":"89","id":"6469","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"390","target":"370","id":"2161","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"598","target":"570","id":"5322","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"274","target":"596","id":"2946","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"653","target":"262","id":"7626","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"670","target":"494","id":"1948","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"608","target":"441","id":"5637","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"814","target":"730","id":"7727","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"746","target":"641","id":"249","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"463","target":"757","id":"5773","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"366","target":"48","id":"9686","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"756","target":"401","id":"8212","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"190","target":"604","id":"2847","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"949","target":"581","id":"728","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"153","target":"722","id":"5878","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"936","target":"723","id":"6474","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"994","target":"119","id":"412","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"272","target":"108","id":"2444","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"268","target":"810","id":"9446","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"621","target":"643","id":"9274","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"571","target":"454","id":"856","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"59","target":"289","id":"5734","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"493","target":"690","id":"1253","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"473","target":"825","id":"9790","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"527","target":"488","id":"9785","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"172","target":"327","id":"5065","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"591","target":"89","id":"6137","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"326","target":"252","id":"6226","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"918","target":"391","id":"3485","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"529","target":"264","id":"5390","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"557","target":"27","id":"3448","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"476","target":"131","id":"4529","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"789","target":"259","id":"5649","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"976","target":"992","id":"8749","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"993","target":"266","id":"9859","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"568","target":"96","id":"2777","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"913","target":"579","id":"5337","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"210","target":"644","id":"8874","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"17","target":"381","id":"7311","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"554","target":"781","id":"3232","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"190","target":"920","id":"4991","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"93","target":"397","id":"8157","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"170","target":"446","id":"5850","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"672","target":"673","id":"9520","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"939","target":"9","id":"1319","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"701","target":"865","id":"393","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"18","target":"293","id":"1221","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"407","target":"326","id":"6273","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"528","target":"427","id":"9515","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"615","target":"913","id":"8705","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"967","target":"340","id":"9560","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"102","target":"510","id":"308","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"647","target":"876","id":"1451","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"114","target":"862","id":"33","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"554","target":"768","id":"7649","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"60","target":"601","id":"3416","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"273","target":"474","id":"7856","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"60","target":"140","id":"9766","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"65","target":"658","id":"413","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"210","target":"102","id":"835","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"54","target":"960","id":"7653","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"120","target":"538","id":"4826","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"549","target":"486","id":"4092","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"608","target":"500","id":"7033","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"788","target":"166","id":"7829","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"727","target":"107","id":"850","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"357","target":"984","id":"8794","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"21","target":"889","id":"863","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"82","target":"978","id":"6678","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"939","target":"618","id":"1202","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"359","target":"873","id":"6770","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"934","target":"294","id":"2990","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"835","target":"475","id":"9671","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"650","target":"537","id":"374","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"84","target":"127","id":"4406","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"850","target":"150","id":"125","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"643","target":"419","id":"6327","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"689","target":"92","id":"3931","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"225","target":"429","id":"4104","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"369","target":"28","id":"6198","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"313","target":"112","id":"7020","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"900","target":"347","id":"9826","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"135","target":"905","id":"2934","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"567","target":"516","id":"736","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"843","target":"218","id":"3374","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"324","target":"911","id":"3625","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"141","target":"486","id":"6435","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"998","target":"216","id":"3947","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"656","target":"944","id":"6584","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"507","target":"383","id":"9388","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"513","target":"810","id":"1016","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"138","target":"297","id":"4388","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"201","target":"96","id":"3245","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"715","target":"467","id":"1490","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"534","target":"731","id":"2618","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"296","target":"345","id":"6236","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"515","target":"238","id":"5334","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"753","target":"553","id":"3225","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"748","target":"522","id":"6728","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"602","target":"552","id":"2382","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"445","target":"779","id":"9076","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"940","target":"518","id":"1249","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"965","target":"612","id":"1804","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"252","target":"916","id":"6157","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"383","target":"104","id":"443","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"794","target":"882","id":"5477","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"931","target":"703","id":"739","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"558","target":"484","id":"2823","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"233","target":"77","id":"671","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"462","target":"626","id":"66","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"551","target":"707","id":"9806","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"559","target":"49","id":"8361","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"478","target":"678","id":"8588","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"824","target":"898","id":"545","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"699","target":"583","id":"6222","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"814","target":"814","id":"5634","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"135","target":"554","id":"3955","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"699","target":"809","id":"2072","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"988","target":"141","id":"4536","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"689","target":"792","id":"5228","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"17","target":"772","id":"2449","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"411","target":"890","id":"7824","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"238","target":"428","id":"4440","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"271","target":"919","id":"8507","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"747","target":"790","id":"7901","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"733","target":"589","id":"4323","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"800","target":"711","id":"3184","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"16","target":"449","id":"5772","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"609","target":"388","id":"9013","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"995","target":"451","id":"875","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"483","target":"400","id":"1859","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"741","target":"335","id":"857","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"283","target":"953","id":"5737","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"834","target":"4","id":"8231","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"590","target":"278","id":"1937","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"248","target":"691","id":"7443","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"262","target":"211","id":"6353","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"585","target":"590","id":"3105","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"298","target":"43","id":"7485","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"353","target":"303","id":"6255","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"646","target":"114","id":"4335","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"268","target":"939","id":"4691","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"489","target":"579","id":"6765","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"529","target":"952","id":"4692","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"767","target":"325","id":"3957","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"234","target":"413","id":"8427","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"778","target":"867","id":"2242","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"326","target":"958","id":"3421","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"918","target":"423","id":"7091","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"773","target":"882","id":"6878","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"159","target":"454","id":"9693","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"412","target":"862","id":"9057","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"152","target":"281","id":"9846","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"519","target":"604","id":"4789","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"460","target":"681","id":"8499","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"686","target":"582","id":"8607","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"455","target":"858","id":"290","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"798","target":"793","id":"9971","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"59","target":"45","id":"1861","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"743","target":"187","id":"3698","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"506","target":"584","id":"1434","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"811","target":"655","id":"7647","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"873","target":"267","id":"7695","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"576","target":"627","id":"2985","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"17","target":"429","id":"9233","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"304","target":"406","id":"812","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"216","target":"297","id":"1517","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"650","target":"752","id":"1444","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"509","target":"932","id":"5608","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"537","target":"899","id":"1654","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"56","target":"831","id":"4329","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"258","target":"419","id":"4178","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"718","target":"717","id":"568","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"316","target":"455","id":"5627","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"939","target":"853","id":"5532","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"107","target":"561","id":"8055","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"782","target":"881","id":"5086","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"215","target":"589","id":"3937","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"780","target":"896","id":"8346","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"577","target":"620","id":"7543","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"928","target":"717","id":"9518","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"878","target":"93","id":"8056","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"991","target":"931","id":"5162","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"824","target":"594","id":"1157","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"893","target":"937","id":"2715","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"1","target":"108","id":"5508","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"756","target":"913","id":"3560","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"741","target":"811","id":"4086","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"671","target":"403","id":"6668","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"871","target":"488","id":"2693","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"770","target":"508","id":"3704","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"2","target":"670","id":"8016","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"743","target":"333","id":"9752","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"754","target":"81","id":"2081","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"593","target":"46","id":"7573","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"17","target":"741","id":"6253","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"343","target":"990","id":"7189","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"311","target":"509","id":"215","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"191","target":"454","id":"8205","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"638","target":"351","id":"6697","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"361","target":"402","id":"3247","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"984","target":"165","id":"7366","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"910","target":"846","id":"2612","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"117","target":"750","id":"7301","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"201","target":"460","id":"8304","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"810","target":"527","id":"8985","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"528","target":"562","id":"1753","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"846","target":"81","id":"410","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"154","target":"297","id":"4716","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"97","target":"361","id":"7264","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"58","target":"680","id":"1308","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"60","target":"810","id":"85","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"184","target":"279","id":"3993","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"71","target":"525","id":"7844","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"811","target":"970","id":"58","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"443","target":"375","id":"1996","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"772","target":"328","id":"4","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"516","target":"478","id":"4930","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"109","target":"764","id":"8359","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"540","target":"682","id":"6020","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"963","target":"30","id":"2699","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"211","target":"622","id":"6855","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"983","target":"10","id":"1401","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"150","target":"520","id":"8941","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"863","target":"694","id":"607","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"683","target":"875","id":"6745","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"966","target":"815","id":"5081","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"357","target":"802","id":"7920","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"124","target":"867","id":"6208","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"983","target":"940","id":"943","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"316","target":"228","id":"3777","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"109","target":"116","id":"6024","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"696","target":"782","id":"6370","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"493","target":"237","id":"2420","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"516","target":"793","id":"3288","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"884","target":"364","id":"1051","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"285","target":"154","id":"1269","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"396","target":"461","id":"3958","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"462","target":"12","id":"9121","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"380","target":"59","id":"5726","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"683","target":"104","id":"807","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"755","target":"427","id":"2293","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"280","target":"240","id":"3123","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"135","target":"117","id":"4038","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"533","target":"926","id":"7778","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"804","target":"240","id":"1088","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"704","target":"350","id":"2639","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"288","target":"146","id":"7644","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"885","target":"986","id":"7406","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"979","target":"389","id":"8827","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"981","target":"358","id":"2475","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"131","target":"403","id":"1520","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"920","target":"384","id":"395","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"148","target":"340","id":"9501","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"160","target":"697","id":"9955","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"925","target":"798","id":"2328","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"467","target":"270","id":"2631","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"458","target":"640","id":"8818","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"562","target":"449","id":"1314","attributes":{},"color":"rgb(149,103,158)","size":2.0},{"source":"686","target":"675","id":"9115","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"167","target":"813","id":"1549","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"1","target":"350","id":"3356","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"858","target":"242","id":"7199","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"106","target":"905","id":"9939","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"927","target":"109","id":"2264","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"229","target":"693","id":"7565","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"978","target":"38","id":"7938","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"526","target":"823","id":"3286","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"942","target":"799","id":"5030","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"853","target":"29","id":"2063","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"111","target":"970","id":"1907","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"37","target":"687","id":"7010","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"40","target":"209","id":"9598","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"582","target":"205","id":"1974","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"698","target":"798","id":"7214","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"67","target":"229","id":"5385","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"786","target":"979","id":"8604","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"771","target":"800","id":"790","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"815","target":"765","id":"2570","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"40","target":"282","id":"5109","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"921","target":"338","id":"5881","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"509","target":"944","id":"977","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"933","target":"261","id":"5744","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"107","target":"175","id":"8324","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"482","target":"242","id":"1383","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"876","target":"24","id":"5503","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"55","target":"133","id":"2196","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"589","target":"129","id":"4129","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"124","target":"676","id":"7334","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"975","target":"773","id":"7222","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"594","target":"240","id":"9206","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"598","target":"769","id":"5502","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"406","target":"877","id":"5576","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"243","target":"835","id":"8263","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"547","target":"251","id":"8634","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"321","target":"551","id":"9286","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"650","target":"643","id":"2147","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"401","target":"125","id":"2941","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"192","target":"530","id":"5826","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"431","target":"287","id":"1272","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"191","target":"968","id":"7984","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"507","target":"718","id":"3296","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"787","target":"828","id":"2596","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"42","target":"470","id":"2636","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"129","target":"238","id":"9745","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"320","target":"435","id":"4076","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"38","target":"903","id":"8860","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"804","target":"182","id":"2808","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"800","target":"231","id":"2936","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"365","target":"149","id":"4503","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"516","target":"832","id":"6092","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"169","target":"781","id":"136","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"133","target":"206","id":"3736","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"199","target":"530","id":"4354","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"170","target":"20","id":"8269","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"632","target":"844","id":"4313","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"884","target":"551","id":"8092","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"520","target":"666","id":"5877","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"841","target":"786","id":"1545","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"870","target":"274","id":"9563","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"319","target":"320","id":"5864","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"924","target":"790","id":"6722","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"926","target":"413","id":"9238","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"203","target":"384","id":"9655","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"865","target":"500","id":"1743","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"437","target":"220","id":"2827","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"899","target":"141","id":"8694","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"480","target":"581","id":"91","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"212","target":"92","id":"1513","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"111","target":"689","id":"8880","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"35","target":"238","id":"8001","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"870","target":"634","id":"2479","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"113","target":"581","id":"6517","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"55","target":"32","id":"3348","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"685","target":"782","id":"3809","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"470","target":"664","id":"680","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"787","target":"58","id":"5603","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"259","target":"884","id":"6504","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"575","target":"184","id":"9584","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"419","target":"47","id":"1582","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"395","target":"716","id":"657","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"674","target":"607","id":"9636","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"126","target":"320","id":"3425","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"421","target":"193","id":"636","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"512","target":"344","id":"9102","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"295","target":"467","id":"6510","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"97","target":"317","id":"7360","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"470","target":"851","id":"43","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"422","target":"138","id":"1981","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"995","target":"716","id":"1186","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"432","target":"16","id":"2697","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"991","target":"139","id":"7203","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"606","target":"107","id":"5960","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"502","target":"91","id":"5851","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"594","target":"816","id":"4161","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"860","target":"597","id":"7142","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"681","target":"589","id":"7554","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"207","target":"234","id":"4345","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"351","target":"543","id":"3180","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"856","target":"907","id":"4380","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"353","target":"435","id":"4448","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"522","target":"407","id":"7333","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"527","target":"782","id":"7092","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"878","target":"586","id":"9106","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"780","target":"439","id":"3495","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"512","target":"11","id":"1967","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"841","target":"284","id":"1880","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"405","target":"666","id":"8047","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"774","target":"74","id":"5544","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"993","target":"456","id":"444","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"626","target":"487","id":"1264","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"367","target":"627","id":"649","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"172","target":"286","id":"4664","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"575","target":"290","id":"5675","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"699","target":"968","id":"8622","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"77","target":"760","id":"1994","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"132","target":"654","id":"1934","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"769","target":"601","id":"8282","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"642","target":"618","id":"424","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"224","target":"709","id":"8333","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"537","target":"969","id":"3311","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"104","target":"872","id":"9830","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"400","target":"232","id":"5037","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"727","target":"219","id":"3167","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"553","target":"486","id":"9176","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"46","target":"704","id":"8402","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"208","target":"789","id":"2894","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"346","target":"503","id":"1197","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"702","target":"847","id":"5335","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"598","target":"684","id":"7408","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"13","target":"780","id":"19","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"599","target":"798","id":"7071","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"827","target":"40","id":"1260","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"503","target":"776","id":"405","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"709","target":"172","id":"1925","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"721","target":"896","id":"2006","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"665","target":"917","id":"5539","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"340","target":"466","id":"5816","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"73","target":"534","id":"7177","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"60","target":"230","id":"2051","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"984","target":"219","id":"5956","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"193","target":"909","id":"1799","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"770","target":"717","id":"8678","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"838","target":"586","id":"5330","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"449","target":"35","id":"7300","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"390","target":"803","id":"2298","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"418","target":"957","id":"2822","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"842","target":"782","id":"3537","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"958","target":"644","id":"5803","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"36","target":"560","id":"256","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"421","target":"374","id":"8609","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"185","target":"129","id":"9157","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"749","target":"379","id":"3657","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"612","target":"723","id":"521","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"64","target":"493","id":"8596","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"974","target":"241","id":"7815","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"112","target":"239","id":"9161","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"289","target":"38","id":"127","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"229","target":"707","id":"7083","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"235","target":"5","id":"7986","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"669","target":"306","id":"7335","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"299","target":"108","id":"7529","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"244","target":"556","id":"3898","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"429","target":"505","id":"6442","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"475","target":"413","id":"3761","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"400","target":"534","id":"1843","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"536","target":"116","id":"5849","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"3","target":"305","id":"7308","attributes":{},"color":"rgb(185,138,66)","size":2.0},{"source":"27","target":"952","id":"13","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"482","target":"636","id":"4902","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"607","target":"884","id":"7749","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"176","target":"401","id":"1163","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"98","target":"82","id":"3322","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"509","target":"947","id":"5914","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"634","target":"770","id":"21","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"401","target":"822","id":"7504","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"90","target":"930","id":"1229","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"439","target":"297","id":"1611","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"664","target":"848","id":"5541","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"713","target":"62","id":"8558","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"206","target":"468","id":"8645","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"733","target":"443","id":"8095","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"953","target":"265","id":"4973","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"708","target":"444","id":"9222","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"684","target":"132","id":"9763","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"399","target":"960","id":"727","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"468","target":"220","id":"1034","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"580","target":"730","id":"5279","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"214","target":"814","id":"5248","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"6","target":"676","id":"7318","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"115","target":"807","id":"8707","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"293","target":"623","id":"2499","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"792","target":"377","id":"3375","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"600","target":"106","id":"7050","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"664","target":"872","id":"1607","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"98","target":"891","id":"2707","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"309","target":"258","id":"3396","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"466","target":"360","id":"3489","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"3","target":"859","id":"737","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"772","target":"496","id":"1680","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"213","target":"236","id":"1841","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"14","target":"611","id":"6589","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"367","target":"181","id":"6192","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"462","target":"264","id":"3672","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"938","target":"990","id":"4774","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"356","target":"941","id":"2453","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"629","target":"354","id":"2084","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"70","target":"16","id":"7038","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"25","target":"26","id":"8332","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"864","target":"573","id":"9327","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"778","target":"317","id":"4639","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"286","target":"361","id":"375","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"200","target":"773","id":"4949","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"112","target":"401","id":"3908","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"30","target":"951","id":"1812","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"834","target":"475","id":"8064","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"821","target":"8","id":"8640","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"39","target":"191","id":"9571","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"630","target":"162","id":"1980","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"287","target":"526","id":"2948","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"672","target":"855","id":"5089","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"234","target":"154","id":"8","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"964","target":"1","id":"5260","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"621","target":"50","id":"7463","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"288","target":"159","id":"32","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"402","target":"470","id":"975","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"620","target":"657","id":"3240","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"527","target":"261","id":"9016","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"360","target":"84","id":"8279","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"103","target":"968","id":"5417","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"247","target":"406","id":"6731","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"117","target":"257","id":"9728","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"493","target":"782","id":"775","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"485","target":"634","id":"4820","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"984","target":"659","id":"5067","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"45","target":"800","id":"3855","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"273","target":"549","id":"4423","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"449","target":"921","id":"3826","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"632","target":"677","id":"6495","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"945","target":"908","id":"3238","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"660","target":"457","id":"1172","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"724","target":"153","id":"7288","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"456","target":"425","id":"220","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"461","target":"721","id":"1778","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"53","target":"131","id":"3294","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"96","target":"638","id":"4541","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"995","target":"735","id":"6021","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"367","target":"42","id":"7667","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"484","target":"852","id":"1241","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"931","target":"979","id":"3028","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"1","target":"315","id":"750","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"334","target":"495","id":"3040","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"917","target":"790","id":"4305","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"79","target":"85","id":"4080","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"888","target":"880","id":"6476","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"136","target":"331","id":"904","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"667","target":"174","id":"3794","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"400","target":"734","id":"8719","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"26","target":"585","id":"2871","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"598","target":"442","id":"3218","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"834","target":"1","id":"8962","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"714","target":"755","id":"9020","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"932","target":"743","id":"3047","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"746","target":"845","id":"8969","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"200","target":"306","id":"5999","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"299","target":"350","id":"8821","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"96","target":"990","id":"773","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"234","target":"857","id":"2875","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"164","target":"226","id":"2345","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"611","target":"133","id":"6489","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"197","target":"319","id":"8615","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"123","target":"346","id":"4132","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"205","target":"700","id":"7462","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"288","target":"988","id":"3741","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"836","target":"428","id":"4920","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"333","target":"609","id":"8351","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"958","target":"883","id":"9851","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"990","target":"895","id":"2754","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"953","target":"388","id":"8866","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"486","target":"704","id":"9027","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"457","target":"785","id":"5370","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"55","target":"744","id":"8144","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"523","target":"785","id":"1053","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"730","target":"173","id":"2226","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"945","target":"654","id":"169","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"58","target":"208","id":"3393","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"142","target":"791","id":"742","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"97","target":"46","id":"3687","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"663","target":"757","id":"4798","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"329","target":"146","id":"8291","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"936","target":"329","id":"3983","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"670","target":"846","id":"6336","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"743","target":"138","id":"9426","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"894","target":"159","id":"2725","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"949","target":"87","id":"2704","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"363","target":"702","id":"724","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"719","target":"50","id":"588","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"721","target":"386","id":"6827","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"944","target":"813","id":"7583","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"470","target":"835","id":"883","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"69","target":"594","id":"4028","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"439","target":"134","id":"1605","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"404","target":"123","id":"2137","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"322","target":"617","id":"3671","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"816","target":"7","id":"844","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"93","target":"530","id":"3004","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"960","target":"305","id":"1248","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"855","target":"755","id":"6988","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"666","target":"491","id":"8788","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"68","target":"974","id":"959","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"854","target":"747","id":"6235","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"210","target":"667","id":"4633","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"563","target":"3","id":"3364","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"648","target":"16","id":"3706","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"346","target":"364","id":"4999","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"591","target":"482","id":"9188","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"148","target":"889","id":"1277","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"746","target":"248","id":"3639","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"238","target":"117","id":"6048","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"979","target":"924","id":"540","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"207","target":"878","id":"2604","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"146","target":"827","id":"2085","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"924","target":"410","id":"2165","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"25","target":"142","id":"6744","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"117","target":"196","id":"786","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"627","target":"42","id":"1069","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"380","target":"453","id":"1333","attributes":{},"color":"rgb(77,223,127)","size":2.0},{"source":"848","target":"608","id":"9857","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"551","target":"499","id":"5833","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"979","target":"719","id":"8105","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"353","target":"60","id":"1310","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"676","target":"341","id":"5957","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"464","target":"56","id":"5656","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"335","target":"529","id":"3800","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"185","target":"593","id":"4565","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"366","target":"677","id":"6410","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"61","target":"200","id":"1313","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"121","target":"555","id":"1993","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"54","target":"214","id":"2696","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"135","target":"843","id":"9030","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"400","target":"971","id":"5732","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"331","target":"342","id":"1963","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"126","target":"947","id":"6856","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"480","target":"282","id":"8521","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"928","target":"654","id":"5652","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"426","target":"492","id":"5185","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"379","target":"529","id":"3427","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"994","target":"18","id":"1705","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"105","target":"987","id":"4321","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"261","target":"907","id":"625","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"920","target":"164","id":"788","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"709","target":"287","id":"3874","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"643","target":"632","id":"6488","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"296","target":"15","id":"1200","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"981","target":"295","id":"2747","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"932","target":"209","id":"3792","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"48","target":"810","id":"6637","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"844","target":"766","id":"6871","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"365","target":"380","id":"3437","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"833","target":"166","id":"2504","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"939","target":"954","id":"4568","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"913","target":"885","id":"7825","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"495","target":"661","id":"5970","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"320","target":"983","id":"5421","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"123","target":"312","id":"3262","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"404","target":"654","id":"8241","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"36","target":"888","id":"6398","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"868","target":"647","id":"743","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"754","target":"160","id":"4656","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"398","target":"520","id":"7506","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"280","target":"327","id":"1044","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"638","target":"779","id":"4325","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"783","target":"27","id":"5589","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"992","target":"399","id":"8386","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"237","target":"789","id":"9539","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"626","target":"938","id":"2503","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"171","target":"103","id":"5396","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"929","target":"97","id":"4003","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"874","target":"286","id":"3951","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"192","target":"498","id":"4818","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"677","target":"278","id":"1442","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"903","target":"14","id":"656","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"879","target":"994","id":"2310","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"43","target":"314","id":"1537","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"169","target":"686","id":"8990","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"696","target":"870","id":"1585","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"759","target":"976","id":"452","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"616","target":"864","id":"1689","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"912","target":"218","id":"7578","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"293","target":"40","id":"2231","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"539","target":"688","id":"6244","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"812","target":"229","id":"4401","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"675","target":"742","id":"1577","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"286","target":"652","id":"3408","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"7","target":"798","id":"6918","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"905","target":"839","id":"1920","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"981","target":"616","id":"5934","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"623","target":"261","id":"7753","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"456","target":"67","id":"4845","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"538","target":"571","id":"7181","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"893","target":"569","id":"8652","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"494","target":"196","id":"1642","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"599","target":"891","id":"7026","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"118","target":"949","id":"810","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"750","target":"887","id":"3974","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"175","target":"220","id":"9476","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"928","target":"361","id":"6001","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"481","target":"92","id":"9323","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"509","target":"837","id":"814","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"957","target":"308","id":"6663","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"603","target":"364","id":"7814","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"38","target":"270","id":"8399","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"521","target":"665","id":"4470","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"865","target":"218","id":"1106","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"635","target":"789","id":"7391","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"413","target":"235","id":"2924","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"854","target":"793","id":"7876","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"307","target":"514","id":"2652","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"507","target":"657","id":"9166","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"556","target":"474","id":"347","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"215","target":"439","id":"3146","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"405","target":"752","id":"5361","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"43","target":"528","id":"7350","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"235","target":"372","id":"8543","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"522","target":"553","id":"7364","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"867","target":"945","id":"818","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"200","target":"851","id":"8198","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"639","target":"243","id":"1977","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"680","target":"918","id":"2566","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"398","target":"792","id":"2640","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"731","target":"746","id":"2008","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"606","target":"41","id":"7524","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"814","target":"173","id":"940","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"157","target":"605","id":"1169","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"781","target":"870","id":"1933","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"772","target":"829","id":"8127","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"27","target":"440","id":"9993","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"651","target":"918","id":"1086","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"637","target":"31","id":"1481","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"477","target":"94","id":"2033","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"442","target":"818","id":"2524","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"781","target":"897","id":"9152","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"119","target":"779","id":"213","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"745","target":"612","id":"6742","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"547","target":"132","id":"4793","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"43","target":"748","id":"759","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"183","target":"694","id":"6186","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"9","target":"129","id":"6873","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"324","target":"591","id":"3925","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"789","target":"622","id":"126","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"427","target":"849","id":"2257","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"550","target":"470","id":"9606","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"85","target":"117","id":"9722","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"831","target":"93","id":"4029","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"284","target":"927","id":"4868","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"581","target":"426","id":"8312","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"333","target":"879","id":"9720","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"26","target":"100","id":"3211","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"660","target":"346","id":"7066","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"713","target":"201","id":"8699","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"670","target":"253","id":"4563","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"541","target":"882","id":"4467","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"214","target":"537","id":"9633","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"823","target":"717","id":"4638","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"672","target":"856","id":"6441","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"495","target":"151","id":"3645","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"785","target":"550","id":"7801","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"196","target":"457","id":"5029","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"8","target":"319","id":"9263","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"818","target":"146","id":"4784","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"87","target":"794","id":"7075","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"563","target":"355","id":"3816","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"448","target":"890","id":"1278","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"13","target":"133","id":"5283","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"932","target":"882","id":"7966","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"898","target":"854","id":"3237","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"839","target":"351","id":"1289","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"25","target":"432","id":"6893","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"101","target":"870","id":"5678","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"336","target":"372","id":"9897","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"433","target":"919","id":"9928","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"809","target":"663","id":"3975","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"840","target":"703","id":"3095","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"39","target":"150","id":"5759","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"794","target":"61","id":"9350","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"851","target":"732","id":"3621","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"247","target":"34","id":"630","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"482","target":"845","id":"6872","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"81","target":"465","id":"8363","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"232","target":"123","id":"106","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"382","target":"623","id":"5682","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"664","target":"691","id":"8586","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"918","target":"930","id":"1530","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"138","target":"601","id":"2060","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"868","target":"72","id":"2356","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"421","target":"637","id":"8243","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"713","target":"384","id":"9528","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"135","target":"257","id":"459","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"149","target":"404","id":"964","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"767","target":"765","id":"3998","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"278","target":"592","id":"9596","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"171","target":"42","id":"6787","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"335","target":"936","id":"5127","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"607","target":"729","id":"8021","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"354","target":"578","id":"8805","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"978","target":"480","id":"1518","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"500","target":"243","id":"4714","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"221","target":"46","id":"3363","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"849","target":"794","id":"4821","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"609","target":"661","id":"2467","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"733","target":"325","id":"2949","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"492","target":"130","id":"8636","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"193","target":"395","id":"4742","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"658","target":"202","id":"797","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"380","target":"953","id":"7887","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"855","target":"603","id":"9678","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"667","target":"369","id":"3158","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"52","target":"617","id":"8537","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"376","target":"107","id":"6978","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"989","target":"126","id":"7223","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"61","target":"402","id":"6721","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"857","target":"174","id":"387","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"637","target":"279","id":"8178","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"758","target":"228","id":"1050","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"583","target":"371","id":"7720","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"95","target":"158","id":"5135","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"650","target":"989","id":"8785","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"337","target":"388","id":"1569","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"394","target":"823","id":"7740","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"204","target":"500","id":"7836","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"355","target":"74","id":"7579","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"906","target":"100","id":"7394","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"636","target":"690","id":"6716","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"702","target":"92","id":"3283","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"386","target":"517","id":"8905","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"860","target":"275","id":"9543","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"320","target":"268","id":"4958","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"819","target":"856","id":"9462","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"37","target":"808","id":"7187","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"522","target":"86","id":"5875","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"667","target":"644","id":"5961","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"185","target":"492","id":"9961","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"810","target":"284","id":"205","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"168","target":"936","id":"4366","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"785","target":"688","id":"5338","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"69","target":"346","id":"1391","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"617","target":"164","id":"430","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"440","target":"40","id":"1635","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"974","target":"922","id":"3037","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"919","target":"384","id":"3506","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"521","target":"239","id":"3358","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"90","target":"492","id":"63","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"644","target":"407","id":"2120","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"126","target":"364","id":"3343","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"334","target":"870","id":"1690","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"216","target":"28","id":"8943","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"333","target":"397","id":"1684","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"133","target":"907","id":"4575","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"261","target":"929","id":"5122","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"552","target":"87","id":"9784","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"675","target":"777","id":"2855","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"181","target":"533","id":"5469","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"604","target":"806","id":"7558","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"563","target":"792","id":"7018","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"814","target":"783","id":"1777","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"468","target":"520","id":"7182","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"588","target":"814","id":"7785","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"600","target":"504","id":"2897","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"924","target":"901","id":"6730","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"656","target":"595","id":"1614","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"949","target":"365","id":"3259","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"639","target":"198","id":"3622","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"725","target":"814","id":"3775","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"69","target":"55","id":"1351","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"422","target":"104","id":"6052","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"370","target":"813","id":"7337","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"754","target":"10","id":"2773","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"359","target":"823","id":"2860","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"346","target":"915","id":"8366","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"241","target":"377","id":"8667","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"548","target":"653","id":"1060","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"699","target":"628","id":"3032","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"814","target":"16","id":"9861","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"630","target":"121","id":"8894","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"99","target":"690","id":"9540","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"703","target":"782","id":"1945","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"810","target":"314","id":"8104","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"384","target":"29","id":"8065","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"128","target":"133","id":"8878","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"640","target":"644","id":"921","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"764","target":"65","id":"5299","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"362","target":"504","id":"7806","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"421","target":"682","id":"152","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"387","target":"474","id":"2840","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"129","target":"882","id":"5267","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"411","target":"274","id":"2099","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"254","target":"570","id":"5655","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"996","target":"920","id":"9552","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"620","target":"739","id":"1062","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"133","target":"146","id":"3098","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"73","target":"509","id":"59","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"659","target":"902","id":"7447","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"201","target":"972","id":"7470","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"614","target":"637","id":"8791","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"769","target":"297","id":"6230","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"468","target":"237","id":"3804","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"981","target":"991","id":"5775","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"651","target":"726","id":"632","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"197","target":"985","id":"5315","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"595","target":"645","id":"1976","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"702","target":"49","id":"4384","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"756","target":"521","id":"1243","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"365","target":"870","id":"5348","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"55","target":"557","id":"2179","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"359","target":"599","id":"6917","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"520","target":"726","id":"1418","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"13","target":"271","id":"1879","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"207","target":"252","id":"2671","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"426","target":"154","id":"624","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"554","target":"899","id":"748","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"998","target":"546","id":"7104","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"314","target":"542","id":"5617","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"519","target":"934","id":"5521","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"196","target":"64","id":"970","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"724","target":"325","id":"6999","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"102","target":"957","id":"5810","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"524","target":"4","id":"3431","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"514","target":"170","id":"5892","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"770","target":"265","id":"7235","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"245","target":"830","id":"1025","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"965","target":"575","id":"8648","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"943","target":"400","id":"9291","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"713","target":"38","id":"2788","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"954","target":"144","id":"4368","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"642","target":"34","id":"7005","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"807","target":"809","id":"6455","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"684","target":"102","id":"9732","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"884","target":"278","id":"7867","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"749","target":"130","id":"1532","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"285","target":"586","id":"3378","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"279","target":"295","id":"5268","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"300","target":"76","id":"1419","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"304","target":"352","id":"2583","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"14","target":"519","id":"7417","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"444","target":"834","id":"9048","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"791","target":"660","id":"8522","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"14","target":"340","id":"2646","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"542","target":"983","id":"9776","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"198","target":"520","id":"7438","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"314","target":"350","id":"8856","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"544","target":"458","id":"9179","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"211","target":"865","id":"9489","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"477","target":"622","id":"7874","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"152","target":"378","id":"9059","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"666","target":"172","id":"480","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"366","target":"61","id":"1787","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"85","target":"14","id":"5614","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"927","target":"486","id":"6025","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"760","target":"136","id":"7090","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"870","target":"418","id":"978","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"98","target":"735","id":"1617","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"187","target":"326","id":"219","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"426","target":"903","id":"3010","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"949","target":"205","id":"9957","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"60","target":"184","id":"3533","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"645","target":"566","id":"4750","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"808","target":"831","id":"1259","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"930","target":"971","id":"4570","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"253","target":"757","id":"2342","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"990","target":"75","id":"4139","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"68","target":"142","id":"556","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"795","target":"747","id":"1258","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"289","target":"597","id":"1312","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"199","target":"288","id":"2103","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"98","target":"186","id":"5481","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"901","target":"531","id":"1456","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"363","target":"141","id":"5459","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"336","target":"302","id":"6013","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"836","target":"26","id":"5802","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"388","target":"495","id":"957","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"285","target":"706","id":"4573","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"582","target":"880","id":"1156","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"167","target":"989","id":"5239","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"718","target":"744","id":"8327","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"979","target":"313","id":"6838","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"837","target":"555","id":"3483","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"256","target":"769","id":"8139","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"747","target":"767","id":"8439","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"577","target":"932","id":"1748","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"361","target":"751","id":"4243","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"887","target":"129","id":"4721","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"821","target":"484","id":"3126","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"394","target":"112","id":"5639","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"240","target":"781","id":"7105","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"832","target":"968","id":"5454","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"926","target":"261","id":"2906","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"771","target":"509","id":"2655","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"673","target":"89","id":"4352","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"259","target":"982","id":"6057","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"391","target":"355","id":"352","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"113","target":"931","id":"4484","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"344","target":"848","id":"261","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"149","target":"409","id":"699","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"367","target":"817","id":"6546","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"198","target":"818","id":"4108","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"111","target":"568","id":"3551","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"404","target":"50","id":"8593","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"718","target":"556","id":"7341","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"423","target":"412","id":"3186","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"608","target":"704","id":"6478","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"954","target":"268","id":"5430","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"389","target":"169","id":"2825","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"886","target":"689","id":"7293","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"156","target":"847","id":"8738","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"768","target":"665","id":"6418","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"135","target":"269","id":"9300","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"891","target":"483","id":"4766","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"631","target":"377","id":"6425","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"546","target":"952","id":"1127","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"684","target":"298","id":"380","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"792","target":"885","id":"4372","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"828","target":"501","id":"5716","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"887","target":"971","id":"503","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"885","target":"389","id":"8265","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"202","target":"589","id":"3156","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"974","target":"999","id":"7067","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"403","target":"527","id":"2545","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"655","target":"756","id":"5287","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"927","target":"686","id":"1424","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"127","target":"302","id":"8465","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"849","target":"984","id":"952","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"681","target":"776","id":"4020","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"537","target":"369","id":"638","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"266","target":"276","id":"6138","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"450","target":"287","id":"9360","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"62","target":"252","id":"9908","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"239","target":"667","id":"54","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"821","target":"328","id":"4214","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"950","target":"262","id":"3720","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"312","target":"169","id":"2289","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"300","target":"755","id":"3834","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"733","target":"10","id":"5351","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"257","target":"228","id":"7137","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"548","target":"271","id":"7319","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"459","target":"49","id":"8467","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"215","target":"428","id":"2947","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"313","target":"262","id":"6913","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"970","target":"887","id":"4508","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"469","target":"374","id":"9532","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"420","target":"800","id":"1393","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"17","target":"137","id":"2275","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"281","target":"865","id":"7068","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"265","target":"591","id":"9356","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"653","target":"86","id":"2821","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"2","target":"913","id":"4011","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"820","target":"575","id":"4236","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"158","target":"993","id":"9299","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"200","target":"304","id":"368","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"72","target":"180","id":"9000","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"706","target":"391","id":"9487","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"340","target":"553","id":"8119","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"830","target":"214","id":"4281","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"361","target":"846","id":"842","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"412","target":"738","id":"4373","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"358","target":"322","id":"1079","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"214","target":"56","id":"6598","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"125","target":"808","id":"7467","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"350","target":"154","id":"4657","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"705","target":"965","id":"8950","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"566","target":"748","id":"5684","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"872","target":"719","id":"5946","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"60","target":"483","id":"6340","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"697","target":"606","id":"7974","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"865","target":"903","id":"8029","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"861","target":"138","id":"5148","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"108","target":"40","id":"4915","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"232","target":"922","id":"9645","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"963","target":"518","id":"8130","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"607","target":"143","id":"6294","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"802","target":"280","id":"1616","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"934","target":"302","id":"1669","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"773","target":"912","id":"4492","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"293","target":"554","id":"3575","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"11","target":"915","id":"4887","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"880","target":"303","id":"1911","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"971","target":"145","id":"6443","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"401","target":"266","id":"7746","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"728","target":"728","id":"933","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"6","target":"895","id":"7789","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"520","target":"108","id":"9656","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"342","target":"886","id":"7283","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"6","target":"628","id":"9664","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"926","target":"203","id":"8661","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"340","target":"727","id":"9192","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"917","target":"702","id":"9493","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"216","target":"560","id":"741","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"981","target":"53","id":"841","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"409","target":"449","id":"9164","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"250","target":"383","id":"6101","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"878","target":"373","id":"4037","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"108","target":"789","id":"55","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"720","target":"770","id":"2673","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"340","target":"760","id":"5367","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"522","target":"916","id":"7779","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"366","target":"428","id":"192","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"230","target":"527","id":"1318","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"791","target":"491","id":"9302","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"499","target":"499","id":"7508","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"928","target":"12","id":"1426","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"758","target":"541","id":"7192","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"686","target":"826","id":"2779","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"401","target":"776","id":"8868","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"165","target":"834","id":"6538","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"426","target":"69","id":"1661","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"169","target":"62","id":"6851","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"763","target":"398","id":"2539","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"296","target":"55","id":"2905","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"320","target":"640","id":"7985","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"940","target":"185","id":"3451","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"641","target":"628","id":"3906","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"965","target":"900","id":"8210","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"324","target":"391","id":"7044","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"731","target":"168","id":"4206","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"173","target":"373","id":"7991","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"911","target":"462","id":"4835","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"601","target":"305","id":"6650","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"68","target":"822","id":"9208","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"990","target":"726","id":"8901","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"529","target":"161","id":"6167","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"64","target":"122","id":"2930","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"557","target":"217","id":"3860","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"237","target":"276","id":"6247","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"531","target":"879","id":"8406","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"377","target":"98","id":"8370","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"634","target":"166","id":"171","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"249","target":"28","id":"27","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"131","target":"365","id":"968","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"666","target":"284","id":"3389","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"63","target":"737","id":"7684","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"458","target":"435","id":"8041","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"617","target":"355","id":"9037","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"181","target":"550","id":"6191","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"15","target":"998","id":"1261","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"380","target":"118","id":"2943","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"631","target":"548","id":"3486","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"739","target":"544","id":"3682","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"5","target":"562","id":"5799","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"390","target":"365","id":"2599","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"493","target":"485","id":"4655","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"732","target":"84","id":"1205","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"630","target":"818","id":"1694","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"827","target":"691","id":"9853","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"348","target":"91","id":"2508","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"702","target":"941","id":"3165","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"427","target":"426","id":"3810","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"301","target":"530","id":"164","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"32","target":"136","id":"2993","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"2","target":"715","id":"4482","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"890","target":"633","id":"4843","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"611","target":"750","id":"3512","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"962","target":"184","id":"6898","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"53","target":"915","id":"1839","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"905","target":"494","id":"8836","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"80","target":"56","id":"9772","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"263","target":"608","id":"8887","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"512","target":"1","id":"4751","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"899","target":"743","id":"1606","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"820","target":"685","id":"6472","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"648","target":"263","id":"2058","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"23","target":"22","id":"2255","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"244","target":"406","id":"4146","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"899","target":"400","id":"3459","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"774","target":"716","id":"3611","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"421","target":"466","id":"7802","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"481","target":"497","id":"5049","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"37","target":"910","id":"7613","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"650","target":"754","id":"5882","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"955","target":"288","id":"6159","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"588","target":"235","id":"5781","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"293","target":"508","id":"9635","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"305","target":"848","id":"7403","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"717","target":"385","id":"3928","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"849","target":"342","id":"1908","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"565","target":"188","id":"7830","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"532","target":"346","id":"4866","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"893","target":"696","id":"3239","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"570","target":"570","id":"8817","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"582","target":"64","id":"2334","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"400","target":"618","id":"8435","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"511","target":"908","id":"7972","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"779","target":"845","id":"543","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"484","target":"867","id":"4833","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"568","target":"88","id":"4605","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"227","target":"901","id":"2138","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"996","target":"875","id":"1089","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"307","target":"825","id":"5139","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"483","target":"193","id":"9643","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"873","target":"849","id":"161","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"890","target":"112","id":"7154","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"329","target":"405","id":"9234","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"967","target":"674","id":"9591","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"823","target":"599","id":"9747","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"625","target":"419","id":"7179","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"36","target":"458","id":"7306","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"698","target":"843","id":"3465","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"926","target":"583","id":"3481","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"499","target":"40","id":"3941","attributes":{},"color":"rgb(127,140,193)","size":2.0},{"source":"383","target":"312","id":"9454","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"654","target":"266","id":"3786","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"588","target":"274","id":"2543","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"835","target":"417","id":"1918","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"877","target":"239","id":"8669","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"867","target":"350","id":"8412","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"696","target":"512","id":"1492","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"614","target":"451","id":"3455","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"800","target":"924","id":"3511","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"839","target":"595","id":"4997","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"683","target":"102","id":"9253","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"1","target":"173","id":"936","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"228","target":"997","id":"6481","attributes":{},"color":"rgb(149,154,0)","size":2.0},{"source":"469","target":"733","id":"10","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"269","target":"177","id":"5548","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"104","target":"195","id":"5034","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"722","target":"130","id":"1958","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"695","target":"991","id":"4259","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"728","target":"160","id":"7510","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"74","target":"113","id":"8422","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"985","target":"473","id":"9753","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"773","target":"206","id":"548","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"576","target":"6","id":"4378","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"857","target":"755","id":"3293","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"898","target":"14","id":"2113","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"333","target":"901","id":"6941","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"894","target":"662","id":"7046","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"90","target":"624","id":"1884","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"302","target":"804","id":"3162","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"608","target":"149","id":"449","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"180","target":"481","id":"4100","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"744","target":"227","id":"438","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"417","target":"729","id":"3154","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"179","target":"743","id":"9442","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"993","target":"342","id":"3063","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"982","target":"975","id":"4167","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"173","target":"905","id":"6328","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"383","target":"471","id":"3962","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"207","target":"1","id":"9683","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"312","target":"56","id":"9799","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"385","target":"51","id":"1788","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"362","target":"268","id":"7362","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"853","target":"933","id":"7642","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"4","target":"376","id":"7502","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"503","target":"656","id":"8515","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"897","target":"468","id":"8975","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"190","target":"88","id":"4306","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"704","target":"232","id":"2548","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"649","target":"599","id":"3243","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"387","target":"438","id":"4889","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"942","target":"343","id":"8133","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"226","target":"131","id":"6897","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"739","target":"983","id":"8431","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"20","target":"354","id":"331","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"42","target":"490","id":"3748","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"913","target":"645","id":"2317","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"619","target":"209","id":"9162","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"76","target":"416","id":"4952","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"326","target":"353","id":"5490","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"588","target":"110","id":"11","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"449","target":"483","id":"1821","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"862","target":"995","id":"4277","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"936","target":"957","id":"8038","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"200","target":"764","id":"7389","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"60","target":"37","id":"1017","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"850","target":"547","id":"2174","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"382","target":"806","id":"9685","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"710","target":"358","id":"1801","attributes":{},"color":"rgb(184,116,0)","size":3.0},{"source":"45","target":"916","id":"9205","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"325","target":"143","id":"2751","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"562","target":"561","id":"798","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"265","target":"400","id":"3308","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"173","target":"594","id":"1563","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"271","target":"271","id":"1721","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"685","target":"594","id":"2429","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"214","target":"503","id":"5843","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"802","target":"214","id":"2250","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"567","target":"629","id":"9775","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"647","target":"430","id":"6672","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"814","target":"231","id":"7117","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"937","target":"137","id":"5005","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"805","target":"736","id":"6542","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"288","target":"108","id":"1273","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"456","target":"869","id":"5497","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"205","target":"136","id":"6961","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"421","target":"628","id":"5501","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"691","target":"401","id":"4812","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"199","target":"39","id":"2348","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"720","target":"215","id":"8893","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"271","target":"583","id":"4441","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"55","target":"197","id":"7648","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"218","target":"623","id":"9575","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"612","target":"685","id":"988","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"670","target":"584","id":"2056","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"605","target":"532","id":"918","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"462","target":"57","id":"5250","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"46","target":"315","id":"6755","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"45","target":"409","id":"282","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"549","target":"21","id":"7935","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"962","target":"189","id":"9944","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"875","target":"16","id":"3476","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"542","target":"136","id":"3742","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"669","target":"124","id":"98","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"409","target":"551","id":"6507","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"432","target":"11","id":"1856","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"389","target":"410","id":"2251","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"119","target":"391","id":"289","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"143","target":"10","id":"683","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"968","target":"880","id":"5692","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"451","target":"785","id":"7950","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"767","target":"661","id":"5916","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"925","target":"739","id":"5110","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"598","target":"481","id":"8700","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"363","target":"961","id":"8923","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"289","target":"161","id":"647","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"729","target":"392","id":"745","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"749","target":"53","id":"2108","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"182","target":"770","id":"9195","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"293","target":"684","id":"1240","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"209","target":"563","id":"6043","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"389","target":"716","id":"7474","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"387","target":"303","id":"9496","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"237","target":"159","id":"5514","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"306","target":"497","id":"3585","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"198","target":"965","id":"5160","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"729","target":"93","id":"9031","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"423","target":"474","id":"1621","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"572","target":"655","id":"7427","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"138","target":"188","id":"8037","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"455","target":"833","id":"266","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"334","target":"880","id":"6397","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"183","target":"32","id":"1786","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"497","target":"902","id":"2969","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"58","target":"237","id":"2932","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"363","target":"747","id":"3057","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"182","target":"384","id":"4745","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"257","target":"503","id":"5329","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"159","target":"629","id":"4265","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"343","target":"263","id":"6711","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"309","target":"992","id":"5605","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"288","target":"264","id":"8660","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"554","target":"6","id":"6470","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"311","target":"327","id":"296","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"746","target":"956","id":"9619","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"235","target":"319","id":"2177","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"726","target":"739","id":"2219","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"51","target":"659","id":"2391","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"28","target":"143","id":"5621","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"243","target":"176","id":"535","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"808","target":"114","id":"2097","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"13","target":"421","id":"3454","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"328","target":"163","id":"2065","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"50","target":"411","id":"3518","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"727","target":"222","id":"9435","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"869","target":"23","id":"9245","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"815","target":"825","id":"406","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"957","target":"609","id":"105","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"196","target":"426","id":"5709","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"550","target":"222","id":"3750","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"441","target":"241","id":"8385","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"419","target":"242","id":"5949","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"306","target":"760","id":"969","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"345","target":"115","id":"3094","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"739","target":"205","id":"1708","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"705","target":"623","id":"138","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"625","target":"418","id":"497","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"885","target":"584","id":"4672","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"571","target":"179","id":"1751","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"172","target":"62","id":"5397","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"645","target":"916","id":"2835","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"211","target":"123","id":"7787","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"50","target":"933","id":"4953","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"736","target":"774","id":"8872","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"913","target":"409","id":"9040","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"275","target":"653","id":"619","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"590","target":"23","id":"6214","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"546","target":"678","id":"832","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"463","target":"303","id":"8671","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"265","target":"489","id":"9395","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"100","target":"390","id":"7611","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"214","target":"866","id":"316","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"568","target":"229","id":"1543","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"174","target":"102","id":"5847","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"878","target":"863","id":"6033","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"837","target":"449","id":"4811","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"711","target":"672","id":"6982","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"911","target":"700","id":"1206","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"954","target":"680","id":"6616","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"586","target":"148","id":"8798","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"461","target":"390","id":"9637","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"95","target":"822","id":"8185","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"721","target":"425","id":"6545","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"265","target":"186","id":"544","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"471","target":"349","id":"4158","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"45","target":"330","id":"8605","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"706","target":"995","id":"5387","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"207","target":"860","id":"7515","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"332","target":"320","id":"8744","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"393","target":"381","id":"8751","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"915","target":"352","id":"9182","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"412","target":"981","id":"4840","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"71","target":"732","id":"2681","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"360","target":"353","id":"1609","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"85","target":"241","id":"3568","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"780","target":"133","id":"5677","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"573","target":"738","id":"8545","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"807","target":"406","id":"9658","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"153","target":"568","id":"7269","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"222","target":"107","id":"8437","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"831","target":"64","id":"4308","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"850","target":"332","id":"7694","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"271","target":"685","id":"9836","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"732","target":"216","id":"706","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"227","target":"539","id":"5302","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"794","target":"208","id":"5180","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"641","target":"549","id":"9615","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"858","target":"755","id":"9972","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"574","target":"865","id":"1236","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"302","target":"374","id":"3129","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"447","target":"398","id":"9066","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"552","target":"133","id":"8921","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"953","target":"303","id":"218","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"77","target":"787","id":"5793","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"937","target":"988","id":"3864","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"130","target":"888","id":"9097","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"832","target":"818","id":"3759","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"654","target":"206","id":"4159","attributes":{},"color":"rgb(255,85,132)","size":3.0},{"source":"598","target":"114","id":"9067","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"649","target":"980","id":"3244","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"1","target":"617","id":"6670","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"653","target":"88","id":"8782","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"918","target":"89","id":"9365","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"581","target":"67","id":"482","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"556","target":"986","id":"6708","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"504","target":"331","id":"3845","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"454","target":"22","id":"9920","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"307","target":"114","id":"7465","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"134","target":"694","id":"6710","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"793","target":"524","id":"6790","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"631","target":"358","id":"5653","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"720","target":"262","id":"8308","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"813","target":"604","id":"9839","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"941","target":"141","id":"7212","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"632","target":"606","id":"9005","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"529","target":"311","id":"5230","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"925","target":"930","id":"1288","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"713","target":"289","id":"4235","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"808","target":"649","id":"6000","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"756","target":"322","id":"2199","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"55","target":"220","id":"3765","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"291","target":"91","id":"8490","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"155","target":"960","id":"5420","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"664","target":"156","id":"6459","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"548","target":"467","id":"7009","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"299","target":"489","id":"8970","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"826","target":"691","id":"360","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"137","target":"86","id":"5129","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"592","target":"573","id":"566","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"431","target":"735","id":"5899","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"530","target":"129","id":"7748","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"348","target":"756","id":"3347","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"202","target":"525","id":"8829","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"120","target":"160","id":"2611","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"726","target":"6","id":"4249","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"218","target":"621","id":"4765","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"112","target":"564","id":"7392","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"922","target":"737","id":"2050","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"325","target":"972","id":"1810","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"436","target":"310","id":"4764","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"640","target":"8","id":"6636","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"963","target":"98","id":"7191","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"316","target":"465","id":"2279","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"200","target":"749","id":"8168","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"856","target":"427","id":"6883","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"318","target":"324","id":"154","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"177","target":"171","id":"5467","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"473","target":"332","id":"8338","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"20","target":"383","id":"6451","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"106","target":"494","id":"8614","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"325","target":"130","id":"3114","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"612","target":"422","id":"5778","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"715","target":"513","id":"5472","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"338","target":"75","id":"1370","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"272","target":"634","id":"5610","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"316","target":"686","id":"5395","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"750","target":"459","id":"7274","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"613","target":"844","id":"3959","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"404","target":"150","id":"255","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"11","target":"412","id":"4545","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"449","target":"689","id":"7292","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"188","target":"410","id":"9835","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"794","target":"11","id":"3754","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"407","target":"824","id":"5573","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"190","target":"447","id":"8806","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"84","target":"625","id":"9959","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"26","target":"216","id":"4268","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"193","target":"939","id":"9467","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"476","target":"211","id":"9687","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"335","target":"532","id":"6774","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"710","target":"745","id":"3967","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"117","target":"428","id":"3589","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"860","target":"831","id":"4775","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"913","target":"538","id":"6458","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"718","target":"475","id":"5536","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"223","target":"115","id":"4517","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"300","target":"211","id":"6682","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"521","target":"521","id":"751","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"95","target":"878","id":"8094","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"395","target":"178","id":"4671","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"372","target":"565","id":"4710","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"473","target":"586","id":"1428","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"28","target":"543","id":"2926","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"137","target":"609","id":"2970","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"17","target":"424","id":"78","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"331","target":"793","id":"1125","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"70","target":"742","id":"523","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"5","target":"958","id":"5272","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"208","target":"911","id":"8610","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"57","target":"780","id":"2582","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"350","target":"130","id":"5069","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"500","target":"231","id":"116","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"107","target":"763","id":"2914","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"278","target":"558","id":"4653","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"266","target":"486","id":"7375","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"781","target":"794","id":"9926","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"696","target":"751","id":"373","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"103","target":"370","id":"7352","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"340","target":"946","id":"7982","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"815","target":"421","id":"2387","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"533","target":"229","id":"2096","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"41","target":"203","id":"2336","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"185","target":"45","id":"6373","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"119","target":"183","id":"8305","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"547","target":"22","id":"2262","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"164","target":"900","id":"9783","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"81","target":"233","id":"6349","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"635","target":"118","id":"7265","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"369","target":"424","id":"1460","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"373","target":"960","id":"6318","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"922","target":"245","id":"2647","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"833","target":"536","id":"3336","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"828","target":"129","id":"9431","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"834","target":"598","id":"9733","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"111","target":"702","id":"5989","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"243","target":"792","id":"6836","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"841","target":"33","id":"4720","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"56","target":"155","id":"7084","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"156","target":"654","id":"7396","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"630","target":"278","id":"8711","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"30","target":"411","id":"1674","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"190","target":"69","id":"62","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"471","target":"822","id":"2828","attributes":{},"color":"rgb(219,100,66)","size":2.0},{"source":"177","target":"12","id":"4399","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"413","target":"717","id":"6852","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"373","target":"267","id":"8727","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"326","target":"883","id":"5828","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"546","target":"844","id":"7492","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"319","target":"244","id":"4963","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"40","target":"20","id":"5255","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"273","target":"491","id":"198","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"541","target":"909","id":"4169","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"223","target":"880","id":"2784","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"761","target":"600","id":"3320","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"4","target":"610","id":"7413","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"723","target":"684","id":"3191","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"332","target":"686","id":"3572","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"660","target":"403","id":"1461","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"0","target":"544","id":"1681","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"866","target":"835","id":"478","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"87","target":"485","id":"947","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"811","target":"6","id":"6567","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"588","target":"182","id":"9601","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"898","target":"155","id":"6180","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"859","target":"65","id":"1265","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"905","target":"711","id":"7323","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"81","target":"778","id":"8389","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"554","target":"501","id":"6638","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"53","target":"727","id":"9593","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"948","target":"198","id":"2540","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"563","target":"433","id":"3215","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"158","target":"282","id":"6120","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"487","target":"340","id":"3161","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"321","target":"28","id":"9044","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"997","target":"9","id":"1000","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"321","target":"421","id":"2351","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"678","target":"366","id":"6727","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"488","target":"112","id":"6493","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"932","target":"926","id":"8220","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"106","target":"822","id":"494","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"963","target":"853","id":"5408","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"322","target":"640","id":"8816","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"411","target":"339","id":"9075","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"150","target":"966","id":"7229","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"36","target":"597","id":"9443","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"260","target":"409","id":"3295","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"498","target":"595","id":"4951","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"380","target":"116","id":"4125","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"517","target":"722","id":"8830","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"248","target":"493","id":"5585","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"807","target":"663","id":"715","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"737","target":"377","id":"7980","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"545","target":"649","id":"2462","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"689","target":"378","id":"793","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"958","target":"68","id":"9890","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"462","target":"465","id":"4978","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"116","target":"753","id":"7450","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"609","target":"889","id":"4630","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"505","target":"301","id":"6824","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"229","target":"23","id":"2476","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"951","target":"928","id":"9565","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"499","target":"642","id":"2685","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"555","target":"676","id":"5626","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"256","target":"176","id":"6359","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"554","target":"475","id":"7259","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"941","target":"178","id":"5876","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"821","target":"441","id":"8262","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"175","target":"574","id":"6272","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"793","target":"722","id":"8844","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"232","target":"864","id":"3986","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"482","target":"544","id":"1267","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"683","target":"915","id":"2193","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"872","target":"352","id":"6220","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"415","target":"974","id":"758","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"620","target":"960","id":"6464","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"358","target":"238","id":"9384","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"554","target":"339","id":"3399","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"191","target":"769","id":"5730","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"234","target":"399","id":"901","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"56","target":"295","id":"9507","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"839","target":"557","id":"5710","attributes":{},"color":"rgb(95,58,15)","size":2.0},{"source":"328","target":"42","id":"5181","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"870","target":"646","id":"3452","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"180","target":"23","id":"358","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"706","target":"252","id":"7130","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"540","target":"563","id":"6218","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"412","target":"239","id":"2890","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"194","target":"81","id":"5128","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"828","target":"714","id":"8162","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"415","target":"202","id":"9594","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"871","target":"879","id":"5562","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"842","target":"87","id":"4409","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"360","target":"109","id":"1878","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"182","target":"350","id":"6779","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"404","target":"220","id":"1887","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"457","target":"194","id":"6543","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"731","target":"508","id":"8242","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"151","target":"426","id":"3558","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"821","target":"3","id":"6922","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"971","target":"479","id":"7129","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"706","target":"677","id":"3686","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"526","target":"223","id":"8777","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"462","target":"609","id":"9073","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"765","target":"779","id":"415","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"914","target":"743","id":"3529","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"146","target":"648","id":"8842","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"837","target":"728","id":"1931","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"2","target":"828","id":"3031","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"350","target":"754","id":"467","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"929","target":"470","id":"4099","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"549","target":"621","id":"7813","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"614","target":"297","id":"3755","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"584","target":"596","id":"4019","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"946","target":"820","id":"1717","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"710","target":"683","id":"6291","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"211","target":"221","id":"9276","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"451","target":"190","id":"3214","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"685","target":"179","id":"9773","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"178","target":"92","id":"6604","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"988","target":"179","id":"7786","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"824","target":"701","id":"2092","attributes":{},"color":"rgb(205,167,66)","size":2.0},{"source":"19","target":"747","id":"487","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"139","target":"715","id":"5379","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"439","target":"306","id":"9304","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"346","target":"603","id":"2445","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"512","target":"823","id":"5671","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"181","target":"171","id":"8582","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"83","target":"994","id":"2886","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"330","target":"211","id":"6335","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"876","target":"568","id":"8732","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"109","target":"967","id":"6133","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"726","target":"837","id":"1864","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"475","target":"878","id":"2935","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"100","target":"82","id":"3472","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"624","target":"695","id":"8846","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"922","target":"922","id":"230","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"422","target":"801","id":"7469","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"56","target":"838","id":"9074","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"93","target":"87","id":"6058","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"528","target":"99","id":"7255","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"738","target":"703","id":"8111","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"907","target":"751","id":"4084","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"291","target":"87","id":"4439","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"505","target":"208","id":"4428","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"287","target":"898","id":"1224","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"697","target":"920","id":"6565","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"232","target":"333","id":"8274","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"957","target":"589","id":"9362","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"559","target":"882","id":"4950","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"86","target":"334","id":"5112","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"113","target":"250","id":"5197","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"333","target":"446","id":"6045","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"378","target":"104","id":"6262","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"922","target":"127","id":"4647","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"794","target":"165","id":"5304","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"642","target":"470","id":"1309","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"288","target":"593","id":"1502","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"559","target":"772","id":"5121","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"349","target":"296","id":"3423","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"722","target":"656","id":"3603","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"420","target":"298","id":"8886","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"807","target":"67","id":"440","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"301","target":"98","id":"9933","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"360","target":"102","id":"9821","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"220","target":"438","id":"3649","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"330","target":"244","id":"94","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"321","target":"139","id":"1045","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"686","target":"430","id":"6573","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"53","target":"703","id":"454","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"801","target":"605","id":"5719","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"417","target":"664","id":"6521","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"179","target":"13","id":"1929","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"222","target":"706","id":"1141","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"953","target":"400","id":"5053","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"331","target":"811","id":"3474","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"562","target":"666","id":"5765","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"682","target":"183","id":"5150","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"712","target":"294","id":"3337","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"104","target":"692","id":"4596","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"37","target":"790","id":"6210","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"456","target":"214","id":"2748","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"301","target":"833","id":"5198","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"339","target":"174","id":"8668","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"112","target":"520","id":"400","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"497","target":"961","id":"3173","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"498","target":"776","id":"4706","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"800","target":"167","id":"3435","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"774","target":"812","id":"479","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"255","target":"804","id":"4670","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"356","target":"49","id":"4756","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"701","target":"83","id":"1691","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"839","target":"792","id":"6181","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"378","target":"503","id":"3752","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"483","target":"244","id":"6641","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"788","target":"738","id":"5190","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"978","target":"93","id":"2427","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"465","target":"250","id":"3148","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"149","target":"771","id":"3501","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"393","target":"32","id":"6211","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"331","target":"355","id":"9257","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"982","target":"826","id":"3620","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"371","target":"370","id":"5298","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"752","target":"611","id":"4673","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"17","target":"271","id":"6757","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"161","target":"940","id":"7340","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"35","target":"611","id":"7610","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"347","target":"118","id":"2280","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"207","target":"410","id":"6572","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"481","target":"472","id":"4921","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"245","target":"757","id":"784","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"630","target":"868","id":"6569","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"435","target":"778","id":"2567","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"188","target":"688","id":"4597","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"399","target":"877","id":"1436","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"904","target":"678","id":"8581","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"116","target":"580","id":"3595","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"704","target":"391","id":"919","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"751","target":"550","id":"5475","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"898","target":"829","id":"9555","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"133","target":"499","id":"4348","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"849","target":"3","id":"8954","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"707","target":"677","id":"7161","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"436","target":"329","id":"7662","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"277","target":"991","id":"8547","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"792","target":"506","id":"8223","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"714","target":"822","id":"3318","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"136","target":"384","id":"2664","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"367","target":"566","id":"2014","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"791","target":"327","id":"8222","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"863","target":"873","id":"3475","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"145","target":"562","id":"4237","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"726","target":"508","id":"8956","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"994","target":"798","id":"6736","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"16","target":"45","id":"5258","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"641","target":"455","id":"8722","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"150","target":"461","id":"1991","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"186","target":"522","id":"3607","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"748","target":"364","id":"4136","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"531","target":"105","id":"4962","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"874","target":"674","id":"5547","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"929","target":"13","id":"6867","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"48","target":"669","id":"5282","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"153","target":"473","id":"7268","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"780","target":"528","id":"8020","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"304","target":"388","id":"8741","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"643","target":"458","id":"5950","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"74","target":"75","id":"6416","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"373","target":"12","id":"8989","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"934","target":"459","id":"8218","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"639","target":"758","id":"6276","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"380","target":"353","id":"6709","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"919","target":"63","id":"5520","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"467","target":"670","id":"9308","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"831","target":"384","id":"8832","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"407","target":"86","id":"6004","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"633","target":"698","id":"847","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"68","target":"931","id":"1807","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"392","target":"924","id":"7479","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"35","target":"62","id":"7959","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"731","target":"138","id":"8349","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"237","target":"572","id":"2013","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"227","target":"52","id":"6148","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"77","target":"350","id":"1952","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"163","target":"231","id":"5296","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"35","target":"875","id":"9003","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"470","target":"132","id":"8702","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"824","target":"395","id":"6384","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"68","target":"727","id":"8136","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"310","target":"126","id":"2392","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"497","target":"111","id":"3153","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"383","target":"904","id":"6991","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"896","target":"63","id":"823","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"549","target":"850","id":"2236","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"66","target":"562","id":"1215","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"924","target":"85","id":"7854","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"533","target":"862","id":"1458","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"694","target":"517","id":"2164","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"228","target":"579","id":"6153","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"41","target":"7","id":"9002","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"863","target":"213","id":"843","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"825","target":"372","id":"1155","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"635","target":"272","id":"9634","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"120","target":"346","id":"5704","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"859","target":"60","id":"461","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"45","target":"988","id":"7239","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"197","target":"883","id":"3946","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"391","target":"542","id":"8819","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"890","target":"146","id":"674","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"237","target":"586","id":"6038","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"226","target":"277","id":"4589","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"619","target":"158","id":"6246","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"925","target":"701","id":"9872","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"718","target":"261","id":"6592","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"210","target":"349","id":"1185","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"223","target":"702","id":"8188","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"245","target":"974","id":"1870","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"383","target":"151","id":"951","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"76","target":"628","id":"9336","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"111","target":"690","id":"9367","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"577","target":"267","id":"9946","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"467","target":"652","id":"302","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"889","target":"114","id":"4891","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"112","target":"727","id":"8165","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"273","target":"671","id":"1159","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"377","target":"322","id":"3101","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"635","target":"400","id":"4449","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"749","target":"464","id":"2017","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"197","target":"876","id":"7663","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"415","target":"577","id":"272","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"93","target":"994","id":"2832","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"216","target":"215","id":"6611","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"280","target":"709","id":"7446","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"983","target":"769","id":"1365","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"130","target":"183","id":"6531","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"770","target":"100","id":"1175","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"58","target":"88","id":"2389","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"501","target":"144","id":"1147","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"184","target":"858","id":"7016","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"653","target":"687","id":"1889","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"195","target":"175","id":"9526","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"403","target":"487","id":"5968","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"898","target":"413","id":"9756","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"676","target":"903","id":"1975","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"210","target":"137","id":"6574","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"554","target":"43","id":"2859","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"306","target":"581","id":"7666","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"323","target":"157","id":"874","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"479","target":"324","id":"7348","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"586","target":"108","id":"929","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"577","target":"571","id":"1290","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"30","target":"844","id":"4241","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"666","target":"192","id":"7780","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"289","target":"760","id":"2616","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"363","target":"672","id":"5606","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"837","target":"939","id":"5787","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"770","target":"213","id":"165","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"3","target":"323","id":"5199","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"349","target":"947","id":"2070","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"467","target":"739","id":"6341","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"661","target":"824","id":"7207","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"616","target":"251","id":"3609","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"270","target":"348","id":"5331","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"802","target":"201","id":"5978","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"281","target":"898","id":"8076","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"303","target":"954","id":"426","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"82","target":"474","id":"6983","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"42","target":"499","id":"6558","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"633","target":"506","id":"6707","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"883","target":"347","id":"695","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"561","target":"447","id":"4142","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"52","target":"791","id":"4188","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"660","target":"479","id":"3342","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"621","target":"18","id":"5130","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"220","target":"879","id":"5452","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"459","target":"704","id":"4641","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"793","target":"588","id":"6360","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"165","target":"893","id":"1408","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"981","target":"848","id":"1912","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"823","target":"552","id":"8569","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"429","target":"445","id":"5863","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"661","target":"512","id":"8696","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"949","target":"43","id":"1866","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"915","target":"462","id":"8932","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"795","target":"720","id":"9351","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"513","target":"128","id":"1362","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"765","target":"915","id":"4098","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"688","target":"190","id":"8154","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"141","target":"260","id":"4304","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"564","target":"436","id":"5026","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"136","target":"907","id":"4116","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"606","target":"436","id":"1375","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"958","target":"954","id":"2413","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"911","target":"699","id":"4594","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"780","target":"17","id":"2964","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"57","target":"700","id":"1852","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"409","target":"249","id":"5409","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"415","target":"365","id":"665","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"269","target":"766","id":"9038","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"193","target":"230","id":"4593","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"563","target":"654","id":"3011","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"878","target":"270","id":"1177","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"835","target":"391","id":"2996","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"770","target":"585","id":"20","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"515","target":"570","id":"2718","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"641","target":"651","id":"4070","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"859","target":"46","id":"4988","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"72","target":"275","id":"5546","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"83","target":"36","id":"5872","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"603","target":"840","id":"306","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"246","target":"167","id":"6403","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"245","target":"904","id":"5812","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"145","target":"884","id":"3774","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"228","target":"566","id":"5214","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"71","target":"268","id":"7170","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"373","target":"912","id":"3400","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"224","target":"29","id":"5933","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"810","target":"421","id":"9867","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"346","target":"392","id":"550","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"608","target":"34","id":"9739","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"903","target":"185","id":"2812","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"386","target":"265","id":"6263","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"144","target":"368","id":"7898","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"647","target":"74","id":"1638","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"149","target":"176","id":"3569","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"640","target":"770","id":"7702","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"842","target":"490","id":"9475","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"528","target":"413","id":"3882","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"702","target":"876","id":"6857","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"298","target":"509","id":"640","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"574","target":"267","id":"1194","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"84","target":"353","id":"605","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"561","target":"731","id":"7236","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"3","target":"579","id":"9473","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"800","target":"217","id":"147","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"460","target":"837","id":"6017","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"946","target":"103","id":"4459","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"782","target":"767","id":"1360","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"640","target":"414","id":"525","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"743","target":"417","id":"6200","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"959","target":"808","id":"6088","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"855","target":"346","id":"2556","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"735","target":"706","id":"3127","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"622","target":"675","id":"5047","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"51","target":"758","id":"7085","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"170","target":"498","id":"4073","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"297","target":"75","id":"7296","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"859","target":"438","id":"5763","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"268","target":"24","id":"579","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"865","target":"50","id":"319","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"357","target":"597","id":"2352","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"165","target":"699","id":"1072","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"457","target":"681","id":"3254","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"545","target":"805","id":"3315","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"341","target":"163","id":"8573","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"340","target":"7","id":"2284","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"282","target":"384","id":"4223","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"336","target":"887","id":"4929","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"798","target":"222","id":"6832","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"601","target":"712","id":"4496","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"82","target":"580","id":"7600","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"299","target":"222","id":"4256","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"266","target":"899","id":"7530","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"455","target":"736","id":"363","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"975","target":"288","id":"6204","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"216","target":"265","id":"6570","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"674","target":"553","id":"4002","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"888","target":"732","id":"4491","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"906","target":"582","id":"9931","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"161","target":"790","id":"1373","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"176","target":"114","id":"3891","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"146","target":"111","id":"4156","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"657","target":"480","id":"7109","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"670","target":"976","id":"2786","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"585","target":"197","id":"2723","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"492","target":"806","id":"6466","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"43","target":"95","id":"5748","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"437","target":"623","id":"2826","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"723","target":"785","id":"2782","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"893","target":"731","id":"8638","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"38","target":"794","id":"248","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"748","target":"242","id":"6762","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"562","target":"732","id":"4422","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"35","target":"340","id":"6579","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"679","target":"170","id":"9012","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"976","target":"392","id":"3831","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"806","target":"581","id":"4375","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"230","target":"808","id":"1093","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"400","target":"562","id":"1036","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"118","target":"215","id":"1831","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"838","target":"337","id":"3530","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"195","target":"51","id":"7108","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"958","target":"767","id":"183","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"567","target":"113","id":"5231","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"853","target":"157","id":"9243","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"442","target":"174","id":"5075","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"810","target":"423","id":"8270","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"860","target":"188","id":"6087","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"270","target":"327","id":"9287","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"562","target":"789","id":"2232","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"657","target":"912","id":"1508","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"521","target":"870","id":"1776","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"228","target":"441","id":"5859","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"675","target":"976","id":"5157","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"912","target":"342","id":"1074","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"608","target":"279","id":"5776","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"245","target":"866","id":"7312","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"349","target":"416","id":"2034","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"646","target":"497","id":"8470","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"784","target":"946","id":"9812","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"163","target":"90","id":"7008","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"957","target":"495","id":"4120","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"986","target":"2","id":"5972","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"506","target":"920","id":"4797","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"314","target":"807","id":"6372","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"8","target":"42","id":"9521","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"843","target":"559","id":"8039","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"98","target":"357","id":"4850","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"210","target":"343","id":"4615","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"447","target":"367","id":"592","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"404","target":"883","id":"3656","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"86","target":"832","id":"5910","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"180","target":"35","id":"7599","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"319","target":"916","id":"7388","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"95","target":"383","id":"124","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"611","target":"196","id":"9134","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"442","target":"245","id":"4291","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"759","target":"292","id":"8461","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"518","target":"274","id":"7140","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"451","target":"653","id":"7840","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"782","target":"406","id":"2361","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"689","target":"15","id":"2735","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"508","target":"143","id":"802","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"720","target":"781","id":"2205","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"103","target":"762","id":"4955","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"304","target":"328","id":"8302","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"754","target":"408","id":"8996","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"885","target":"645","id":"6169","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"537","target":"269","id":"4430","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"195","target":"241","id":"8972","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"528","target":"626","id":"3753","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"249","target":"70","id":"693","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"799","target":"477","id":"241","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"734","target":"365","id":"7448","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"401","target":"869","id":"1162","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"466","target":"323","id":"4923","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"593","target":"642","id":"9110","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"143","target":"35","id":"9730","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"356","target":"668","id":"3829","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"482","target":"268","id":"7227","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"830","target":"483","id":"8000","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"523","target":"507","id":"484","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"407","target":"865","id":"7054","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"539","target":"137","id":"7200","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"138","target":"917","id":"3846","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"318","target":"129","id":"9651","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"554","target":"446","id":"40","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"352","target":"741","id":"1894","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"790","target":"40","id":"2472","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"27","target":"570","id":"7638","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"346","target":"14","id":"1531","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"535","target":"391","id":"2917","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"665","target":"880","id":"9024","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"81","target":"619","id":"4326","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"775","target":"196","id":"4239","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"518","target":"596","id":"6126","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"258","target":"660","id":"5165","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"723","target":"847","id":"6724","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"251","target":"39","id":"5944","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"103","target":"328","id":"8174","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"985","target":"130","id":"2026","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"48","target":"325","id":"3629","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"955","target":"111","id":"6769","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"686","target":"329","id":"7810","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"380","target":"299","id":"1867","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"649","target":"138","id":"7358","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"950","target":"790","id":"2309","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"674","target":"644","id":"7521","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"995","target":"269","id":"151","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"556","target":"194","id":"2544","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"399","target":"850","id":"9736","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"868","target":"479","id":"9279","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"102","target":"116","id":"5146","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"622","target":"270","id":"9277","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"861","target":"494","id":"1774","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"585","target":"949","id":"5333","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"141","target":"662","id":"655","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"587","target":"651","id":"3441","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"974","target":"518","id":"5444","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"482","target":"84","id":"992","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"851","target":"256","id":"5055","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"898","target":"511","id":"6644","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"549","target":"532","id":"609","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"415","target":"72","id":"9368","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"367","target":"742","id":"4033","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"160","target":"464","id":"6950","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"589","target":"5","id":"5888","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"637","target":"815","id":"6102","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"789","target":"10","id":"6691","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"927","target":"661","id":"7114","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"778","target":"210","id":"1895","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"843","target":"789","id":"7505","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"117","target":"765","id":"703","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"564","target":"763","id":"4346","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"245","target":"792","id":"5979","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"466","target":"247","id":"3697","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"507","target":"252","id":"4966","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"139","target":"218","id":"6361","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"134","target":"860","id":"7128","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"301","target":"150","id":"7692","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"154","target":"581","id":"3785","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"665","target":"753","id":"9881","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"694","target":"661","id":"9070","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"227","target":"850","id":"4713","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"884","target":"199","id":"7997","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"328","target":"313","id":"7253","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"231","target":"663","id":"1077","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"512","target":"157","id":"300","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"866","target":"949","id":"3155","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"763","target":"678","id":"4269","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"732","target":"589","id":"4998","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"555","target":"950","id":"1457","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"572","target":"40","id":"5954","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"463","target":"157","id":"1039","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"359","target":"763","id":"4658","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"738","target":"647","id":"9482","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"61","target":"41","id":"7064","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"767","target":"272","id":"8373","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"67","target":"255","id":"2132","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"219","target":"429","id":"2514","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"656","target":"492","id":"6015","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"582","target":"210","id":"3803","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"431","target":"178","id":"7899","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"122","target":"838","id":"1246","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"548","target":"600","id":"2254","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"537","target":"597","id":"3909","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"685","target":"7","id":"3411","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"365","target":"102","id":"115","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"466","target":"118","id":"5018","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"758","target":"978","id":"1541","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"305","target":"868","id":"8575","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"651","target":"863","id":"3030","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"950","target":"356","id":"8123","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"331","target":"572","id":"5964","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"90","target":"172","id":"6022","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"22","target":"493","id":"5305","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"323","target":"369","id":"3377","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"737","target":"420","id":"580","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"214","target":"245","id":"2572","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"456","target":"217","id":"7080","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"333","target":"780","id":"378","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"232","target":"764","id":"9148","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"35","target":"722","id":"191","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"56","target":"581","id":"652","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"737","target":"51","id":"2098","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"941","target":"955","id":"5163","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"973","target":"12","id":"6899","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"923","target":"565","id":"4083","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"230","target":"366","id":"6536","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"463","target":"860","id":"7230","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"801","target":"446","id":"7256","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"196","target":"670","id":"6980","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"558","target":"815","id":"1926","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"595","target":"78","id":"2963","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"504","target":"593","id":"9818","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"462","target":"334","id":"8085","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"384","target":"968","id":"9699","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"80","target":"663","id":"1268","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"284","target":"593","id":"4619","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"650","target":"749","id":"5990","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"819","target":"186","id":"1413","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"741","target":"136","id":"1220","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"210","target":"109","id":"1761","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"302","target":"594","id":"7745","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"947","target":"607","id":"664","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"391","target":"750","id":"1695","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"335","target":"220","id":"7983","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"824","target":"824","id":"2123","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"259","target":"114","id":"3945","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"990","target":"342","id":"6491","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"572","target":"519","id":"2129","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"336","target":"9","id":"6677","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"421","target":"939","id":"4405","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"507","target":"251","id":"8186","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"921","target":"601","id":"8852","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"397","target":"221","id":"7643","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"169","target":"557","id":"2549","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"367","target":"94","id":"5711","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"491","target":"172","id":"6009","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"893","target":"660","id":"3222","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"852","target":"909","id":"6828","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"802","target":"340","id":"4473","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"951","target":"623","id":"1643","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"446","target":"988","id":"1193","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"341","target":"807","id":"5078","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"144","target":"466","id":"9142","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"96","target":"369","id":"9995","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"781","target":"542","id":"8771","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"478","target":"198","id":"2744","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"15","target":"62","id":"273","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"229","target":"66","id":"5505","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"539","target":"316","id":"8313","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"253","target":"869","id":"1320","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"481","target":"279","id":"3676","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"135","target":"875","id":"1882","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"177","target":"441","id":"8019","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"449","target":"788","id":"714","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"682","target":"291","id":"1493","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"367","target":"823","id":"8081","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"707","target":"338","id":"8208","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"805","target":"363","id":"2915","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"667","target":"888","id":"9146","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"985","target":"595","id":"5669","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"170","target":"571","id":"2095","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"30","target":"15","id":"1496","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"92","target":"157","id":"2200","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"749","target":"135","id":"3690","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"453","target":"307","id":"9311","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"896","target":"147","id":"3272","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"382","target":"873","id":"5341","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"906","target":"605","id":"3655","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"172","target":"9","id":"104","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"725","target":"500","id":"770","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"997","target":"432","id":"6130","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"722","target":"965","id":"6201","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"31","target":"548","id":"1183","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"559","target":"779","id":"9647","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"169","target":"581","id":"2009","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"200","target":"263","id":"4122","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"627","target":"762","id":"3328","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"208","target":"387","id":"111","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"362","target":"877","id":"260","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"434","target":"535","id":"128","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"253","target":"595","id":"9630","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"199","target":"616","id":"2128","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"344","target":"831","id":"5431","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"169","target":"327","id":"6868","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"213","target":"888","id":"9001","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"389","target":"51","id":"6085","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"743","target":"314","id":"1400","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"393","target":"136","id":"8983","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"605","target":"710","id":"1142","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"267","target":"9","id":"4880","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"186","target":"564","id":"7971","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"576","target":"512","id":"9670","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"151","target":"510","id":"2252","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"205","target":"89","id":"4946","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"69","target":"393","id":"133","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"931","target":"923","id":"4506","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"372","target":"682","id":"1589","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"210","target":"895","id":"7339","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"940","target":"881","id":"6791","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"271","target":"705","id":"9770","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"380","target":"661","id":"5169","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"420","target":"663","id":"9902","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"879","target":"937","id":"3491","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"484","target":"776","id":"5984","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"680","target":"262","id":"7328","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"52","target":"262","id":"3327","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"341","target":"245","id":"3828","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"104","target":"722","id":"9009","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"693","target":"412","id":"3815","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"794","target":"375","id":"8918","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"324","target":"109","id":"2559","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"504","target":"704","id":"7039","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"890","target":"143","id":"2217","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"734","target":"434","id":"3593","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"693","target":"966","id":"5401","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"498","target":"961","id":"3900","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"828","target":"759","id":"9371","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"125","target":"670","id":"9976","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"395","target":"743","id":"9347","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"910","target":"460","id":"9865","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"93","target":"894","id":"1547","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"803","target":"731","id":"4059","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"447","target":"304","id":"515","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"684","target":"216","id":"1655","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"125","target":"840","id":"895","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"558","target":"204","id":"7276","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"560","target":"518","id":"82","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"853","target":"67","id":"6064","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"142","target":"340","id":"6164","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"621","target":"954","id":"7698","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"176","target":"742","id":"6448","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"549","target":"789","id":"1446","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"884","target":"454","id":"8999","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"659","target":"378","id":"1235","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"961","target":"644","id":"9448","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"934","target":"441","id":"3724","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"391","target":"678","id":"8793","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"183","target":"269","id":"2785","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"309","target":"453","id":"4322","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"123","target":"269","id":"2661","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"685","target":"899","id":"6463","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"678","target":"2","id":"35","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"869","target":"207","id":"5377","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"931","target":"241","id":"9284","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"8","target":"623","id":"5179","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"828","target":"680","id":"5325","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"405","target":"772","id":"7111","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"534","target":"269","id":"8003","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"981","target":"205","id":"7759","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"71","target":"36","id":"7618","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"843","target":"505","id":"2774","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"263","target":"964","id":"9966","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"690","target":"768","id":"9549","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"233","target":"436","id":"9984","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"846","target":"168","id":"6280","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"224","target":"327","id":"9313","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"639","target":"322","id":"2204","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"110","target":"609","id":"2746","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"986","target":"440","id":"5033","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"240","target":"1","id":"132","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"476","target":"396","id":"7919","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"642","target":"946","id":"500","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"35","target":"158","id":"2344","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"852","target":"31","id":"3092","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"391","target":"550","id":"7843","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"429","target":"228","id":"2278","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"630","target":"497","id":"8995","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"31","target":"98","id":"7704","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"414","target":"6","id":"1384","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"545","target":"403","id":"8048","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"773","target":"797","id":"2338","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"243","target":"552","id":"4571","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"37","target":"279","id":"3145","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"541","target":"222","id":"333","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"137","target":"148","id":"6168","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"73","target":"327","id":"1078","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"839","target":"798","id":"7964","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"831","target":"74","id":"130","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"591","target":"521","id":"3463","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"384","target":"201","id":"1656","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"701","target":"189","id":"3379","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"608","target":"576","id":"9949","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"476","target":"246","id":"3818","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"359","target":"383","id":"6203","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"363","target":"651","id":"9527","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"130","target":"38","id":"1766","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"93","target":"887","id":"2424","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"373","target":"981","id":"6405","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"706","target":"909","id":"9963","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"68","target":"333","id":"8655","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"334","target":"784","id":"7131","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"408","target":"464","id":"5951","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"873","target":"247","id":"3954","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"130","target":"623","id":"7575","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"668","target":"588","id":"8915","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"867","target":"549","id":"597","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"558","target":"977","id":"4252","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"656","target":"110","id":"417","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"298","target":"690","id":"6696","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"970","target":"535","id":"4445","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"936","target":"442","id":"3330","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"558","target":"56","id":"4216","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"596","target":"325","id":"3312","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"761","target":"247","id":"264","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"523","target":"624","id":"8150","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"356","target":"948","id":"4481","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"223","target":"975","id":"6659","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"583","target":"166","id":"7106","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"79","target":"525","id":"4637","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"879","target":"926","id":"6843","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"292","target":"383","id":"3234","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"453","target":"209","id":"7353","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"683","target":"267","id":"9531","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"334","target":"70","id":"7518","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"674","target":"331","id":"8360","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"515","target":"603","id":"960","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"895","target":"901","id":"1415","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"147","target":"168","id":"4687","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"876","target":"127","id":"536","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"814","target":"512","id":"7570","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"600","target":"654","id":"2724","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"78","target":"291","id":"1476","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"582","target":"86","id":"9516","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"728","target":"110","id":"3464","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"165","target":"623","id":"6658","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"472","target":"110","id":"207","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"42","target":"576","id":"8478","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"324","target":"504","id":"3367","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"724","target":"493","id":"8888","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"146","target":"533","id":"7405","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"834","target":"412","id":"8930","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"67","target":"970","id":"9541","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"360","target":"970","id":"6194","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"584","target":"775","id":"6692","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"238","target":"638","id":"8843","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"5","target":"648","id":"4331","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"90","target":"420","id":"9674","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"921","target":"688","id":"2401","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"604","target":"70","id":"2337","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"851","target":"239","id":"5498","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"102","target":"906","id":"3619","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"39","target":"744","id":"9967","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"272","target":"367","id":"4992","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"990","target":"854","id":"3365","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"585","target":"315","id":"3735","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"531","target":"880","id":"1376","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"808","target":"372","id":"4198","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"745","target":"597","id":"4427","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"226","target":"837","id":"6805","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"529","target":"433","id":"2326","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"592","target":"920","id":"6059","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"746","target":"597","id":"3104","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"984","target":"318","id":"7873","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"800","target":"185","id":"507","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"966","target":"599","id":"7906","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"962","target":"355","id":"9873","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"252","target":"808","id":"3493","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"62","target":"589","id":"1516","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"357","target":"146","id":"5017","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"663","target":"76","id":"4609","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"552","target":"156","id":"6202","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"763","target":"886","id":"7045","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"544","target":"1","id":"8434","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"338","target":"477","id":"194","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"545","target":"808","id":"3757","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"761","target":"887","id":"7317","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"289","target":"214","id":"9417","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"395","target":"966","id":"5137","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"418","target":"967","id":"1410","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"476","target":"496","id":"4006","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"140","target":"589","id":"2258","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"665","target":"759","id":"3387","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"537","target":"306","id":"9445","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"116","target":"313","id":"4669","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"225","target":"799","id":"7052","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"950","target":"579","id":"2536","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"570","target":"604","id":"7280","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"231","target":"224","id":"5","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"438","target":"536","id":"767","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"361","target":"927","id":"685","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"14","target":"641","id":"6506","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"145","target":"293","id":"4404","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"179","target":"995","id":"9092","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"218","target":"84","id":"336","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"995","target":"725","id":"3561","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"255","target":"713","id":"7266","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"421","target":"738","id":"9361","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"298","target":"271","id":"1190","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"769","target":"45","id":"4105","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"489","target":"883","id":"8795","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"329","target":"797","id":"1506","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"686","target":"931","id":"7014","attributes":{},"color":"rgb(130,93,31)","size":2.0},{"source":"514","target":"925","id":"6783","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"910","target":"591","id":"8676","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"567","target":"844","id":"2635","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"546","target":"832","id":"4246","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"939","target":"692","id":"6286","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"253","target":"976","id":"8803","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"29","target":"410","id":"4872","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"761","target":"598","id":"926","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"384","target":"980","id":"3661","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"620","target":"547","id":"4456","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"723","target":"170","id":"4332","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"874","target":"110","id":"9410","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"643","target":"560","id":"2796","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"380","target":"944","id":"8473","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"990","target":"373","id":"538","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"504","target":"761","id":"4705","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"32","target":"169","id":"8124","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"176","target":"143","id":"3371","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"831","target":"671","id":"4852","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"389","target":"883","id":"4993","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"444","target":"788","id":"5761","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"623","target":"381","id":"7121","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"22","target":"738","id":"6977","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"67","target":"542","id":"8850","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"650","target":"741","id":"2031","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"199","target":"159","id":"6382","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"236","target":"971","id":"3852","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"346","target":"425","id":"1298","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"169","target":"612","id":"9727","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"781","target":"414","id":"4219","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"208","target":"294","id":"7696","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"909","target":"649","id":"1346","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"252","target":"933","id":"690","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"512","target":"353","id":"2237","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"553","target":"390","id":"6312","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"250","target":"50","id":"5743","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"613","target":"546","id":"6261","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"564","target":"819","id":"8156","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"191","target":"186","id":"2172","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"93","target":"345","id":"4078","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"32","target":"552","id":"3199","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"955","target":"303","id":"4677","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"658","target":"733","id":"4977","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"234","target":"392","id":"6239","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"137","target":"582","id":"6426","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"860","target":"254","id":"1395","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"14","target":"275","id":"1698","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"604","target":"882","id":"4501","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"471","target":"654","id":"716","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"285","target":"622","id":"2281","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"988","target":"313","id":"7664","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"519","target":"765","id":"8927","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"254","target":"432","id":"811","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"445","target":"843","id":"3824","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"341","target":"492","id":"6174","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"675","target":"907","id":"5958","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"20","target":"509","id":"595","attributes":{},"color":"rgb(3,98,143)","size":2.0},{"source":"355","target":"357","id":"1758","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"456","target":"456","id":"2600","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"415","target":"21","id":"5098","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"658","target":"895","id":"5416","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"569","target":"834","id":"3381","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"865","target":"141","id":"7677","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"756","target":"394","id":"3541","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"843","target":"503","id":"7344","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"498","target":"755","id":"1494","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"513","target":"805","id":"6551","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"483","target":"413","id":"8121","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"826","target":"578","id":"6649","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"91","target":"60","id":"3333","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"960","target":"714","id":"7195","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"958","target":"337","id":"8815","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"715","target":"47","id":"5170","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"155","target":"359","id":"5097","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"954","target":"148","id":"1844","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"470","target":"380","id":"5362","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"37","target":"675","id":"2359","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"986","target":"609","id":"5940","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"595","target":"377","id":"5869","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"20","target":"879","id":"9180","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"361","target":"304","id":"4830","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"989","target":"164","id":"2658","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"561","target":"924","id":"4377","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"131","target":"129","id":"453","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"213","target":"495","id":"3849","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"793","target":"158","id":"6234","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"991","target":"432","id":"6751","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"265","target":"497","id":"3917","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"773","target":"177","id":"7493","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"531","target":"599","id":"5438","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"638","target":"166","id":"6414","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"84","target":"337","id":"6603","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"187","target":"774","id":"3938","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"644","target":"959","id":"4610","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"784","target":"731","id":"3210","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"109","target":"458","id":"1685","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"973","target":"300","id":"8516","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"39","target":"4","id":"9127","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"461","target":"467","id":"5895","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"257","target":"849","id":"803","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"301","target":"425","id":"7563","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"904","target":"33","id":"5206","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"231","target":"557","id":"945","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"788","target":"264","id":"9495","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"311","target":"692","id":"8068","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"202","target":"483","id":"8608","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"689","target":"568","id":"9548","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"160","target":"426","id":"9381","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"46","target":"115","id":"428","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"293","target":"951","id":"722","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"702","target":"119","id":"2854","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"853","target":"556","id":"1467","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"918","target":"513","id":"5643","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"554","target":"719","id":"9155","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"181","target":"782","id":"991","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"685","target":"427","id":"7807","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"715","target":"535","id":"1711","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"586","target":"658","id":"6554","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"927","target":"538","id":"2294","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"915","target":"983","id":"903","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"275","target":"595","id":"7770","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"604","target":"182","id":"1032","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"597","target":"814","id":"4179","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"301","target":"585","id":"6409","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"947","target":"10","id":"4782","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"666","target":"878","id":"5215","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"832","target":"64","id":"4799","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"278","target":"513","id":"6664","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"298","target":"537","id":"4525","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"370","target":"559","id":"643","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"298","target":"583","id":"9650","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"225","target":"883","id":"8633","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"721","target":"395","id":"9183","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"540","target":"304","id":"642","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"276","target":"617","id":"9034","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"984","target":"220","id":"6960","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"786","target":"893","id":"1112","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"798","target":"543","id":"2093","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"299","target":"450","id":"923","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"523","target":"104","id":"3989","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"851","target":"878","id":"2937","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"20","target":"568","id":"8512","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"584","target":"986","id":"5861","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"928","target":"202","id":"8438","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"308","target":"146","id":"2398","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"747","target":"379","id":"3373","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"437","target":"943","id":"3531","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"907","target":"247","id":"3470","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"207","target":"235","id":"1014","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"756","target":"683","id":"4408","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"881","target":"223","id":"6949","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"406","target":"189","id":"8116","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"517","target":"751","id":"4154","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"885","target":"211","id":"4762","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"251","target":"51","id":"4024","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"412","target":"768","id":"8723","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"244","target":"862","id":"6392","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"995","target":"495","id":"9673","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"620","target":"905","id":"4342","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"929","target":"133","id":"772","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"402","target":"664","id":"4052","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"930","target":"937","id":"4814","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"587","target":"277","id":"7081","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"917","target":"427","id":"7706","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"113","target":"219","id":"938","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"622","target":"678","id":"2314","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"39","target":"596","id":"2868","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"199","target":"724","id":"5683","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"318","target":"438","id":"9062","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"585","target":"957","id":"1739","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"150","target":"191","id":"4229","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"484","target":"831","id":"1970","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"148","target":"625","id":"3814","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"773","target":"526","id":"7294","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"369","target":"786","id":"1228","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"570","target":"569","id":"2844","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"97","target":"327","id":"2331","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"875","target":"288","id":"9542","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"587","target":"614","id":"6514","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"30","target":"550","id":"6800","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"803","target":"569","id":"1930","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"271","target":"696","id":"9087","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"886","target":"257","id":"2386","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"884","target":"10","id":"9019","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"797","target":"242","id":"763","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"479","target":"259","id":"8903","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"583","target":"513","id":"3450","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"106","target":"566","id":"3494","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"679","target":"776","id":"4969","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"78","target":"596","id":"9198","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"154","target":"956","id":"3799","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"77","target":"796","id":"1300","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"598","target":"219","id":"4881","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"794","target":"454","id":"2986","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"86","target":"86","id":"8706","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"230","target":"257","id":"2944","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"155","target":"239","id":"4933","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"565","target":"475","id":"8455","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"864","target":"478","id":"1380","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"230","target":"409","id":"4552","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"380","target":"274","id":"6390","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"573","target":"146","id":"7219","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"72","target":"306","id":"9369","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"621","target":"271","id":"3582","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"205","target":"100","id":"6121","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"104","target":"895","id":"3103","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"536","target":"171","id":"9899","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"78","target":"737","id":"4185","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"187","target":"535","id":"781","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"401","target":"276","id":"7870","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"137","target":"64","id":"4072","attributes":{},"color":"rgb(80,125,15)","size":2.0},{"source":"614","target":"266","id":"1325","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"672","target":"38","id":"1619","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"94","target":"310","id":"2576","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"40","target":"929","id":"5590","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"595","target":"520","id":"8929","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"602","target":"257","id":"1648","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"604","target":"621","id":"2630","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"703","target":"749","id":"7260","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"622","target":"32","id":"7221","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"681","target":"48","id":"3873","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"774","target":"438","id":"297","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"643","target":"951","id":"7849","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"223","target":"345","id":"7923","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"33","target":"260","id":"8017","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"140","target":"856","id":"2591","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"626","target":"13","id":"3046","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"775","target":"228","id":"7455","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"371","target":"437","id":"1100","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"90","target":"920","id":"8336","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"558","target":"637","id":"2441","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"567","target":"119","id":"1178","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"798","target":"461","id":"4601","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"970","target":"291","id":"2884","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"994","target":"623","id":"8743","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"567","target":"638","id":"2557","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"69","target":"956","id":"3985","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"361","target":"552","id":"7551","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"756","target":"571","id":"4688","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"972","target":"134","id":"7454","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"391","target":"126","id":"3942","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"354","target":"613","id":"3526","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"578","target":"19","id":"9568","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"273","target":"259","id":"1134","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"892","target":"434","id":"8823","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"558","target":"621","id":"6317","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"509","target":"335","id":"3187","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"585","target":"876","id":"6408","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"164","target":"805","id":"232","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"707","target":"979","id":"6295","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"632","target":"923","id":"4697","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"950","target":"630","id":"8391","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"280","target":"14","id":"5613","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"701","target":"486","id":"7646","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"255","target":"827","id":"915","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"328","target":"865","id":"6788","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"779","target":"561","id":"8626","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"158","target":"987","id":"2861","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"408","target":"771","id":"9901","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"234","target":"281","id":"4434","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"895","target":"614","id":"7848","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"525","target":"54","id":"6420","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"544","target":"205","id":"8117","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"404","target":"417","id":"7690","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"435","target":"244","id":"6422","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"159","target":"475","id":"2349","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"51","target":"475","id":"3500","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"378","target":"380","id":"5554","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"567","target":"241","id":"8309","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"145","target":"265","id":"3739","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"701","target":"3","id":"6758","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"18","target":"913","id":"7198","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"214","target":"265","id":"334","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"291","target":"563","id":"5857","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"184","target":"6","id":"6694","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"976","target":"242","id":"8801","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"854","target":"636","id":"7205","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"209","target":"943","id":"5155","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"799","target":"433","id":"2202","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"483","target":"114","id":"3505","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"516","target":"39","id":"9762","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"145","target":"520","id":"826","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"275","target":"128","id":"8489","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"343","target":"223","id":"8931","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"167","target":"528","id":"2432","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"48","target":"577","id":"6600","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"460","target":"123","id":"9969","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"661","target":"957","id":"9404","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"241","target":"915","id":"6056","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"704","target":"590","id":"8400","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"859","target":"192","id":"4443","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"318","target":"368","id":"1028","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"221","target":"794","id":"4856","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"434","target":"286","id":"9815","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"32","target":"791","id":"3487","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"424","target":"935","id":"3970","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"306","target":"755","id":"4987","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"741","target":"657","id":"2158","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"596","target":"713","id":"9316","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"754","target":"800","id":"9985","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"63","target":"387","id":"8653","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"378","target":"969","id":"7729","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"164","target":"188","id":"7211","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"287","target":"946","id":"7853","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"179","target":"151","id":"9339","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"603","target":"405","id":"3230","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"754","target":"831","id":"3517","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"509","target":"557","id":"1009","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"916","target":"791","id":"5982","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"593","target":"614","id":"3859","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"49","target":"402","id":"6963","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"580","target":"873","id":"1315","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"318","target":"767","id":"6835","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"865","target":"360","id":"631","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"100","target":"285","id":"7210","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"182","target":"168","id":"1679","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"70","target":"248","id":"3217","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"816","target":"621","id":"6094","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"229","target":"667","id":"5580","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"151","target":"612","id":"6628","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"614","target":"799","id":"572","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"209","target":"745","id":"2346","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"292","target":"236","id":"898","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"552","target":"296","id":"6860","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"676","target":"266","id":"567","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"791","target":"231","id":"740","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"16","target":"656","id":"2115","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"284","target":"969","id":"4686","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"357","target":"410","id":"4514","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"993","target":"232","id":"4045","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"496","target":"894","id":"3258","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"398","target":"200","id":"7946","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"549","target":"877","id":"3302","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"282","target":"267","id":"5022","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"534","target":"940","id":"8643","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"783","target":"765","id":"3988","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"684","target":"468","id":"6005","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"738","target":"110","id":"96","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"50","target":"605","id":"1158","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"520","target":"539","id":"4899","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"775","target":"399","id":"2459","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"731","target":"738","id":"1834","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"397","target":"371","id":"4307","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"478","target":"505","id":"8869","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"165","target":"125","id":"8714","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"494","target":"427","id":"2712","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"659","target":"730","id":"6029","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"971","target":"437","id":"9131","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"759","target":"822","id":"2814","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"788","target":"864","id":"754","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"830","target":"725","id":"1851","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"188","target":"208","id":"1293","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"569","target":"372","id":"6785","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"326","target":"233","id":"2872","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"310","target":"227","id":"2506","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"432","target":"31","id":"3235","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"692","target":"149","id":"5336","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"799","target":"509","id":"4035","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"537","target":"38","id":"2004","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"147","target":"740","id":"3528","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"748","target":"385","id":"1763","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"717","target":"191","id":"8235","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"3","target":"696","id":"6277","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"71","target":"695","id":"7165","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"343","target":"301","id":"8176","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"781","target":"436","id":"1472","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"335","target":"442","id":"2360","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"955","target":"324","id":"5024","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"303","target":"388","id":"9893","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"827","target":"989","id":"8006","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"837","target":"423","id":"2571","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"189","target":"568","id":"4097","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"432","target":"569","id":"839","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"334","target":"222","id":"4303","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"247","target":"193","id":"2067","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"489","target":"521","id":"7193","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"358","target":"903","id":"9573","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"222","target":"178","id":"3751","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"34","target":"862","id":"6256","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"674","target":"999","id":"3641","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"122","target":"605","id":"4451","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"170","target":"372","id":"5400","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"370","target":"701","id":"3298","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"493","target":"19","id":"8501","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"366","target":"119","id":"9827","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"398","target":"616","id":"744","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"19","target":"326","id":"2688","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"252","target":"738","id":"9224","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"690","target":"901","id":"8484","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"3","target":"124","id":"6627","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"140","target":"431","id":"6268","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"671","target":"557","id":"1956","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"803","target":"104","id":"2450","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"884","target":"752","id":"2997","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"171","target":"811","id":"3216","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"167","target":"941","id":"2468","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"15","target":"535","id":"5855","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"701","target":"868","id":"5598","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"1","target":"175","id":"7029","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"507","target":"914","id":"4176","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"200","target":"620","id":"25","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"991","target":"327","id":"149","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"0","target":"667","id":"7947","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"339","target":"416","id":"9398","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"158","target":"475","id":"8074","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"694","target":"613","id":"6428","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"788","target":"218","id":"2143","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"923","target":"881","id":"2049","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"236","target":"131","id":"7112","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"20","target":"443","id":"1850","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"355","target":"540","id":"1367","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"216","target":"786","id":"976","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"552","target":"512","id":"3574","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"117","target":"401","id":"9264","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"760","target":"325","id":"2945","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"665","target":"482","id":"9987","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"978","target":"324","id":"9604","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"975","target":"327","id":"2928","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"956","target":"28","id":"6313","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"600","target":"342","id":"9326","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"180","target":"252","id":"174","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"771","target":"295","id":"3323","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"536","target":"337","id":"5095","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"793","target":"657","id":"8917","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"219","target":"547","id":"9858","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"741","target":"865","id":"1854","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"115","target":"429","id":"7799","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"756","target":"927","id":"3468","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"19","target":"586","id":"4702","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"482","target":"337","id":"5406","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"802","target":"919","id":"359","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"707","target":"668","id":"5953","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"339","target":"800","id":"7538","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"895","target":"920","id":"6185","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"100","target":"214","id":"8027","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"109","target":"326","id":"7414","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"599","target":"598","id":"7892","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"73","target":"492","id":"617","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"376","target":"995","id":"684","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"214","target":"662","id":"4736","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"803","target":"62","id":"8296","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"370","target":"446","id":"2834","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"175","target":"271","id":"7093","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"678","target":"912","id":"1071","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"790","target":"170","id":"3417","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"383","target":"775","id":"2511","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"868","target":"293","id":"3910","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"340","target":"767","id":"6096","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"694","target":"178","id":"1600","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"116","target":"260","id":"4103","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"95","target":"379","id":"4004","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"137","target":"59","id":"9215","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"446","target":"132","id":"9965","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"471","target":"584","id":"9620","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"610","target":"763","id":"5052","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"705","target":"210","id":"546","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"481","target":"876","id":"8474","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"845","target":"943","id":"831","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"413","target":"246","id":"6037","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"607","target":"228","id":"8635","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"339","target":"741","id":"6213","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"299","target":"625","id":"6720","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"766","target":"177","id":"5754","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"282","target":"351","id":"6524","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"346","target":"440","id":"9486","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"858","target":"857","id":"9503","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"77","target":"557","id":"8503","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"315","target":"627","id":"9374","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"734","target":"673","id":"237","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"363","target":"164","id":"141","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"866","target":"391","id":"9090","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"623","target":"619","id":"3566","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"95","target":"319","id":"2421","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"100","target":"341","id":"446","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"491","target":"142","id":"8535","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"461","target":"747","id":"2036","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"302","target":"412","id":"5674","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"296","target":"564","id":"4628","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"874","target":"109","id":"7437","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"762","target":"567","id":"4336","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"470","target":"797","id":"5896","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"8","target":"761","id":"5841","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"326","target":"807","id":"2423","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"541","target":"45","id":"6070","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"60","target":"152","id":"7688","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"447","target":"532","id":"8024","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"647","target":"584","id":"1475","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"676","target":"822","id":"5224","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"763","target":"332","id":"6940","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"229","target":"410","id":"5620","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"482","target":"732","id":"6334","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"724","target":"826","id":"1386","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"74","target":"476","id":"7377","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"692","target":"472","id":"9797","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"770","target":"958","id":"9196","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"783","target":"953","id":"3858","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"960","target":"917","id":"4309","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"92","target":"226","id":"275","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"393","target":"130","id":"6011","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"277","target":"536","id":"5735","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"964","target":"570","id":"5339","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"721","target":"895","id":"3359","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"161","target":"963","id":"3973","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"692","target":"712","id":"8078","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"807","target":"615","id":"8845","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"553","target":"553","id":"985","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"121","target":"173","id":"7252","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"998","target":"496","id":"1463","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"453","target":"490","id":"3623","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"691","target":"285","id":"460","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"430","target":"403","id":"9479","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"594","target":"559","id":"527","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"53","target":"978","id":"799","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"198","target":"607","id":"4171","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"589","target":"795","id":"6232","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"250","target":"995","id":"2124","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"584","target":"856","id":"251","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"32","target":"38","id":"2178","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"118","target":"268","id":"5056","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"126","target":"445","id":"2810","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"618","target":"37","id":"7466","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"256","target":"908","id":"1551","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"133","target":"75","id":"8826","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"521","target":"767","id":"9788","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"299","target":"148","id":"245","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"180","target":"911","id":"2801","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"398","target":"65","id":"5567","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"417","target":"673","id":"7382","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"938","target":"424","id":"4582","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"304","target":"367","id":"6646","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"634","target":"591","id":"2851","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"702","target":"787","id":"2018","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"69","target":"989","id":"5218","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"286","target":"927","id":"1448","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"41","target":"717","id":"5994","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"845","target":"525","id":"5021","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"1","target":"754","id":"658","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"859","target":"503","id":"6500","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"298","target":"733","id":"1641","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"704","target":"946","id":"9315","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"606","target":"248","id":"4479","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"610","target":"613","id":"7145","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"568","target":"524","id":"7629","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"993","target":"470","id":"6151","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"906","target":"957","id":"3876","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"70","target":"706","id":"2265","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"129","target":"555","id":"8204","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"857","target":"630","id":"9525","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"60","target":"263","id":"7796","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"149","target":"557","id":"3592","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"512","target":"296","id":"5782","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"128","target":"161","id":"408","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"829","target":"751","id":"8077","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"574","target":"688","id":"9477","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"473","target":"613","id":"8059","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"710","target":"868","id":"6933","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"595","target":"883","id":"9700","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"84","target":"219","id":"7399","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"580","target":"959","id":"8763","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"764","target":"670","id":"4769","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"470","target":"540","id":"9216","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"568","target":"171","id":"4585","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"354","target":"80","id":"4940","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"271","target":"961","id":"8101","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"873","target":"718","id":"9228","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"963","target":"582","id":"4827","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"638","target":"719","id":"8298","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"427","target":"723","id":"1875","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"630","target":"509","id":"524","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"796","target":"412","id":"3934","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"727","target":"9","id":"9870","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"351","target":"563","id":"8968","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"578","target":"606","id":"3863","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"963","target":"770","id":"8993","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"731","target":"493","id":"7254","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"348","target":"365","id":"1891","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"424","target":"879","id":"7993","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"791","target":"447","id":"4386","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"954","target":"900","id":"6693","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"381","target":"909","id":"1652","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"815","target":"42","id":"6468","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"492","target":"537","id":"1727","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"606","target":"465","id":"6688","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"610","target":"429","id":"654","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"99","target":"197","id":"4995","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"521","target":"636","id":"1624","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"55","target":"542","id":"648","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"655","target":"912","id":"7800","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"323","target":"61","id":"1622","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"499","target":"991","id":"6433","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"71","target":"340","id":"79","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"162","target":"587","id":"5665","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"750","target":"858","id":"2578","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"783","target":"944","id":"4829","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"706","target":"269","id":"1594","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"71","target":"948","id":"9605","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"679","target":"670","id":"6795","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"973","target":"261","id":"6508","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"524","target":"379","id":"3071","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"35","target":"757","id":"6473","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"735","target":"807","id":"6642","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"514","target":"318","id":"5488","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"821","target":"243","id":"3303","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"49","target":"966","id":"4911","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"123","target":"857","id":"5461","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"684","target":"104","id":"2150","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"944","target":"327","id":"2419","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"627","target":"19","id":"9275","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"601","target":"987","id":"7411","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"131","target":"262","id":"9838","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"426","target":"950","id":"3749","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"430","target":"720","id":"9556","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"154","target":"280","id":"1184","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"137","target":"270","id":"1055","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"362","target":"181","id":"3695","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"283","target":"156","id":"5084","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"947","target":"890","id":"1304","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"901","target":"284","id":"208","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"587","target":"410","id":"6173","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"153","target":"783","id":"4299","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"515","target":"740","id":"5676","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"602","target":"631","id":"8479","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"191","target":"901","id":"4948","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"890","target":"897","id":"4066","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"60","target":"279","id":"6624","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"464","target":"694","id":"1239","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"11","target":"934","id":"7625","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"637","target":"59","id":"3638","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"899","target":"351","id":"5690","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"574","target":"490","id":"2046","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"688","target":"306","id":"8825","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"386","target":"350","id":"4727","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"999","target":"609","id":"4790","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"816","target":"113","id":"8657","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"81","target":"351","id":"8128","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"978","target":"305","id":"4383","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"86","target":"636","id":"9990","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"555","target":"786","id":"6884","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"286","target":"500","id":"3073","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"762","target":"296","id":"2883","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"597","target":"279","id":"4065","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"669","target":"280","id":"2088","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"990","target":"369","id":"1191","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"825","target":"289","id":"4012","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"232","target":"563","id":"8583","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"30","target":"508","id":"8256","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"221","target":"710","id":"4207","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"685","target":"364","id":"8628","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"207","target":"198","id":"8611","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"505","target":"773","id":"7477","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"15","target":"308","id":"9210","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"862","target":"692","id":"3982","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"42","target":"837","id":"6311","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"272","target":"458","id":"8800","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"63","target":"265","id":"6155","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"451","target":"421","id":"391","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"819","target":"173","id":"8658","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"418","target":"496","id":"2558","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"238","target":"966","id":"6654","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"499","target":"462","id":"2269","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"906","target":"118","id":"6257","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"545","target":"802","id":"6475","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"374","target":"410","id":"8949","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"86","target":"859","id":"7572","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"892","target":"305","id":"7279","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"258","target":"255","id":"4126","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"720","target":"895","id":"6391","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"499","target":"125","id":"8683","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"414","target":"422","id":"1921","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"337","target":"205","id":"7978","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"179","target":"684","id":"2270","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"282","target":"933","id":"7072","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"930","target":"405","id":"7503","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"37","target":"275","id":"8202","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"93","target":"524","id":"9829","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"254","target":"264","id":"7316","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"38","target":"216","id":"9719","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"464","target":"746","id":"3014","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"186","target":"750","id":"6091","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"567","target":"159","id":"2632","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"535","target":"632","id":"1154","attributes":{},"color":"rgb(95,131,31)","size":2.0},{"source":"346","target":"680","id":"6530","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"40","target":"767","id":"9942","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"861","target":"450","id":"7143","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"322","target":"955","id":"9888","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"111","target":"15","id":"8011","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"907","target":"115","id":"3383","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"933","target":"621","id":"4711","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"892","target":"276","id":"6951","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"523","target":"422","id":"8855","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"790","target":"839","id":"4684","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"375","target":"592","id":"5645","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"640","target":"129","id":"6412","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"644","target":"949","id":"381","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"348","target":"369","id":"7363","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"144","target":"334","id":"3654","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"17","target":"153","id":"2325","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"524","target":"490","id":"1760","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"92","target":"426","id":"4102","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"435","target":"959","id":"4740","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"612","target":"381","id":"5545","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"746","target":"112","id":"4749","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"588","target":"711","id":"9438","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"513","target":"980","id":"9455","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"866","target":"378","id":"4922","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"2","target":"345","id":"2001","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"116","target":"555","id":"2316","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"846","target":"861","id":"5466","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"264","target":"94","id":"7468","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"665","target":"536","id":"1961","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"817","target":"9","id":"4794","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"135","target":"679","id":"5246","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"848","target":"306","id":"7453","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"856","target":"800","id":"8485","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"35","target":"507","id":"377","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"657","target":"638","id":"4753","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"315","target":"61","id":"6134","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"75","target":"283","id":"6556","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"495","target":"148","id":"7330","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"38","target":"650","id":"8217","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"670","target":"460","id":"872","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"653","target":"202","id":"3280","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"423","target":"373","id":"9185","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"918","target":"388","id":"2304","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"992","target":"54","id":"6518","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"427","target":"549","id":"109","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"200","target":"591","id":"2496","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"717","target":"346","id":"1024","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"907","target":"642","id":"5392","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"6","target":"745","id":"8158","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"187","target":"369","id":"8376","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"283","target":"659","id":"3200","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"821","target":"87","id":"2564","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"596","target":"350","id":"3838","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"707","target":"372","id":"8247","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"591","target":"522","id":"4276","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"351","target":"973","id":"9060","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"307","target":"963","id":"1422","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"753","target":"225","id":"914","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"594","target":"332","id":"3714","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"460","target":"656","id":"4967","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"413","target":"604","id":"5518","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"961","target":"697","id":"7917","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"798","target":"30","id":"1499","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"259","target":"534","id":"5251","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"86","target":"299","id":"8343","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"297","target":"214","id":"6161","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"879","target":"453","id":"4528","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"843","target":"708","id":"6714","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"421","target":"275","id":"7435","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"170","target":"201","id":"4343","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"824","target":"665","id":"4493","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"799","target":"849","id":"4970","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"984","target":"535","id":"1126","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"498","target":"989","id":"6452","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"702","target":"628","id":"8899","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"852","target":"721","id":"5654","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"756","target":"858","id":"83","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"461","target":"164","id":"2261","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"846","target":"138","id":"9669","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"143","target":"549","id":"2302","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"196","target":"998","id":"2491","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"181","target":"528","id":"6601","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"406","target":"471","id":"2483","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"789","target":"465","id":"7847","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"619","target":"938","id":"5320","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"874","target":"954","id":"3266","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"82","target":"173","id":"1245","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"249","target":"113","id":"234","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"282","target":"397","id":"5901","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"697","target":"298","id":"4555","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"54","target":"152","id":"9028","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"238","target":"858","id":"2277","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"448","target":"850","id":"4461","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"450","target":"446","id":"9558","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"965","target":"387","id":"2469","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"224","target":"924","id":"8458","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"230","target":"731","id":"8780","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"903","target":"271","id":"9597","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"289","target":"200","id":"110","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"33","target":"689","id":"5651","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"616","target":"510","id":"3827","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"210","target":"625","id":"2910","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"654","target":"498","id":"7277","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"576","target":"664","id":"5415","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"140","target":"498","id":"6768","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"392","target":"377","id":"4495","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"408","target":"364","id":"7689","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"889","target":"880","id":"2912","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"942","target":"632","id":"2684","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"942","target":"156","id":"1591","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"839","target":"649","id":"9202","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"988","target":"431","id":"0","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"124","target":"180","id":"9913","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"954","target":"661","id":"6944","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"505","target":"126","id":"8960","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"156","target":"247","id":"1257","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"575","target":"302","id":"9212","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"453","target":"833","id":"6775","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"250","target":"685","id":"8416","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"686","target":"779","id":"4224","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"554","target":"99","id":"5767","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"603","target":"905","id":"6661","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"853","target":"314","id":"8456","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"615","target":"161","id":"1109","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"336","target":"412","id":"7015","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"69","target":"534","id":"9958","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"119","target":"145","id":"223","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"251","target":"727","id":"8753","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"816","target":"477","id":"2186","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"833","target":"354","id":"8987","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"390","target":"636","id":"9041","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"375","target":"164","id":"1143","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"873","target":"20","id":"3707","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"332","target":"123","id":"9252","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"935","target":"624","id":"9746","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"414","target":"695","id":"6934","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"695","target":"417","id":"3536","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"684","target":"728","id":"2086","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"910","target":"694","id":"7267","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"350","target":"597","id":"1868","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"693","target":"869","id":"2451","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"300","target":"691","id":"8268","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"482","target":"730","id":"3353","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"961","target":"664","id":"8393","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"715","target":"414","id":"1392","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"103","target":"805","id":"119","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"628","target":"446","id":"3615","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"910","target":"269","id":"4780","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"243","target":"923","id":"4556","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"145","target":"431","id":"2291","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"452","target":"607","id":"2343","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"715","target":"660","id":"5269","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"641","target":"69","id":"1042","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"550","target":"823","id":"2745","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"393","target":"803","id":"6205","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"666","target":"373","id":"4643","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"966","target":"977","id":"2396","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"643","target":"906","id":"5310","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"257","target":"147","id":"2083","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"664","target":"486","id":"2976","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"958","target":"513","id":"913","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"129","target":"383","id":"623","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"820","target":"489","id":"7310","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"735","target":"604","id":"1117","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"145","target":"281","id":"4041","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"984","target":"386","id":"2692","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"69","target":"439","id":"3782","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"145","target":"666","id":"1557","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"587","target":"79","id":"3576","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"825","target":"48","id":"7051","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"878","target":"796","id":"1709","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"658","target":"567","id":"6315","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"147","target":"389","id":"1601","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"955","target":"233","id":"2594","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"41","target":"865","id":"7423","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"465","target":"689","id":"5867","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"479","target":"720","id":"838","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"636","target":"906","id":"911","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"485","target":"225","id":"4205","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"713","target":"890","id":"8057","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"885","target":"37","id":"5096","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"431","target":"419","id":"92","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"686","target":"833","id":"7750","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"947","target":"249","id":"9704","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"417","target":"149","id":"61","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"783","target":"560","id":"1819","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"776","target":"374","id":"4914","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"716","target":"339","id":"8354","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"955","target":"207","id":"2296","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"343","target":"664","id":"2329","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"398","target":"686","id":"4791","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"811","target":"568","id":"5713","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"371","target":"371","id":"4564","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"68","target":"710","id":"9691","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"559","target":"953","id":"2763","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"750","target":"155","id":"3140","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"995","target":"577","id":"4875","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"2","target":"196","id":"5378","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"613","target":"338","id":"3691","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"763","target":"631","id":"1587","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"947","target":"578","id":"7376","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"493","target":"733","id":"808","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"361","target":"867","id":"5011","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"650","target":"32","id":"5808","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"658","target":"826","id":"4735","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"626","target":"741","id":"6686","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"334","target":"517","id":"2780","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"949","target":"609","id":"3168","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"324","target":"555","id":"228","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"527","target":"22","id":"9096","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"232","target":"204","id":"9158","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"972","target":"836","id":"49","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"669","target":"169","id":"1593","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"299","target":"635","id":"5048","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"223","target":"751","id":"3270","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"96","target":"492","id":"1837","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"727","target":"436","id":"7245","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"485","target":"965","id":"1874","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"189","target":"8","id":"1960","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"382","target":"818","id":"3616","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"936","target":"424","id":"1663","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"644","target":"215","id":"3460","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"592","target":"391","id":"1802","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"577","target":"66","id":"4141","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"833","target":"774","id":"689","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"308","target":"161","id":"1151","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"966","target":"336","id":"3370","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"55","target":"405","id":"7820","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"187","target":"918","id":"216","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"208","target":"850","id":"5238","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"45","target":"828","id":"4376","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"371","target":"657","id":"6016","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"735","target":"963","id":"6605","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"937","target":"430","id":"8146","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"783","target":"515","id":"8428","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"892","target":"206","id":"250","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"187","target":"974","id":"7665","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"233","target":"207","id":"5790","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"900","target":"765","id":"5499","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"894","target":"398","id":"9795","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"269","target":"367","id":"4559","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"767","target":"109","id":"2340","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"241","target":"596","id":"6496","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"846","target":"600","id":"789","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"541","target":"358","id":"2792","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"437","target":"583","id":"2603","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"979","target":"128","id":"12","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"423","target":"720","id":"8885","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"241","target":"454","id":"9998","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"944","target":"804","id":"370","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"885","target":"543","id":"499","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"291","target":"520","id":"7953","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"697","target":"493","id":"8460","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"33","target":"511","id":"2617","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"992","target":"531","id":"1697","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"561","target":"688","id":"5752","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"366","target":"395","id":"267","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"274","target":"420","id":"9317","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"846","target":"196","id":"2973","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"37","target":"341","id":"8756","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"147","target":"460","id":"4975","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"391","target":"311","id":"6187","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"495","target":"812","id":"2028","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"517","target":"329","id":"346","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"965","target":"183","id":"6237","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"533","target":"232","id":"9466","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"471","target":"441","id":"1429","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"662","target":"439","id":"5936","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"314","target":"368","id":"7884","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"594","target":"912","id":"274","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"579","target":"241","id":"4989","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"785","target":"553","id":"8273","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"418","target":"353","id":"1749","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"528","target":"621","id":"9207","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"981","target":"190","id":"3398","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"683","target":"479","id":"7742","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"835","target":"908","id":"1672","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"687","target":"618","id":"1146","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"601","target":"353","id":"5410","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"364","target":"510","id":"5356","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"732","target":"560","id":"6423","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"669","target":"669","id":"2480","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"457","target":"839","id":"8132","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"203","target":"798","id":"2222","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"43","target":"938","id":"2958","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"800","target":"805","id":"4442","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"430","target":"918","id":"7758","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"720","target":"53","id":"190","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"811","target":"250","id":"7124","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"80","target":"312","id":"517","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"800","target":"503","id":"8629","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"446","target":"720","id":"9172","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"7","target":"6","id":"4621","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"714","target":"120","id":"2189","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"758","target":"536","id":"2126","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"212","target":"138","id":"431","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"903","target":"217","id":"8342","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"74","target":"47","id":"646","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"528","target":"630","id":"3401","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"883","target":"831","id":"271","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"805","target":"548","id":"8002","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"328","target":"761","id":"5937","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"748","target":"975","id":"1336","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"949","target":"589","id":"7574","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"904","target":"131","id":"3069","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"226","target":"904","id":"3160","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"219","target":"562","id":"2669","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"564","target":"527","id":"1805","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"99","target":"66","id":"6911","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"347","target":"521","id":"7331","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"673","target":"500","id":"2555","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"469","target":"549","id":"8919","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"804","target":"381","id":"8774","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"79","target":"28","id":"9809","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"562","target":"549","id":"4328","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"332","target":"493","id":"4347","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"208","target":"787","id":"4632","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"979","target":"857","id":"9572","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"86","target":"380","id":"4526","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"585","target":"980","id":"6519","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"496","target":"584","id":"1294","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"577","target":"385","id":"4715","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"459","target":"124","id":"4117","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"910","target":"253","id":"9408","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"273","target":"988","id":"1865","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"547","target":"818","id":"7846","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"678","target":"325","id":"8526","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"827","target":"492","id":"8225","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"927","target":"540","id":"392","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"146","target":"19","id":"3382","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"536","target":"452","id":"2891","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"461","target":"562","id":"8525","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"379","target":"517","id":"8602","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"651","target":"790","id":"2188","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"260","target":"847","id":"1164","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"555","target":"436","id":"1462","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"534","target":"274","id":"5858","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"431","target":"487","id":"2374","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"253","target":"960","id":"5492","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"800","target":"932","id":"5615","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"383","target":"98","id":"8015","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"911","target":"277","id":"8275","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"22","target":"259","id":"8010","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"684","target":"912","id":"7184","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"144","target":"591","id":"1066","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"185","target":"713","id":"1148","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"903","target":"963","id":"1988","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"265","target":"278","id":"4138","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"549","target":"248","id":"7715","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"286","target":"72","id":"8390","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"74","target":"689","id":"46","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"364","target":"471","id":"6483","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"326","target":"786","id":"5714","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"872","target":"220","id":"6812","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"638","target":"717","id":"2574","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"298","target":"154","id":"6377","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"465","target":"468","id":"3550","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"665","target":"144","id":"9425","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"464","target":"773","id":"2100","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"142","target":"881","id":"3319","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"247","target":"279","id":"6154","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"54","target":"729","id":"830","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"815","target":"766","id":"1631","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"642","target":"365","id":"1677","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"93","target":"373","id":"8088","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"299","target":"421","id":"6981","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"770","target":"233","id":"7670","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"194","target":"229","id":"8913","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"807","target":"229","id":"9258","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"785","target":"68","id":"8595","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"960","target":"63","id":"6417","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"615","target":"564","id":"7159","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"585","target":"268","id":"3594","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"956","target":"439","id":"7522","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"612","target":"319","id":"635","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"274","target":"73","id":"8998","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"831","target":"935","id":"3152","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"483","target":"817","id":"1323","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"664","target":"442","id":"1353","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"529","target":"687","id":"6684","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"837","target":"249","id":"8761","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"477","target":"964","id":"4355","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"122","target":"324","id":"2263","attributes":{},"color":"rgb(149,154,0)","size":2.0},{"source":"462","target":"720","id":"3042","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"837","target":"219","id":"9738","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"153","target":"421","id":"5658","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"544","target":"920","id":"1449","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"493","target":"30","id":"6346","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"694","target":"214","id":"6290","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"955","target":"628","id":"2889","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"759","target":"108","id":"5913","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"955","target":"392","id":"7004","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"475","target":"574","id":"3817","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"726","target":"23","id":"5715","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"161","target":"161","id":"9298","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"631","target":"745","id":"8013","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"173","target":"615","id":"7481","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"977","target":"527","id":"777","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"124","target":"243","id":"6780","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"843","target":"468","id":"3090","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"38","target":"331","id":"4654","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"981","target":"394","id":"8276","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"666","target":"398","id":"6540","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"31","target":"908","id":"5701","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"727","target":"641","id":"9156","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"551","target":"480","id":"1167","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"349","target":"482","id":"1440","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"160","target":"214","id":"2901","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"845","target":"594","id":"1939","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"802","target":"620","id":"8067","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"651","target":"434","id":"2259","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"599","target":"765","id":"5991","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"985","target":"894","id":"2446","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"507","target":"845","id":"3784","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"981","target":"180","id":"2079","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"737","target":"68","id":"8440","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"132","target":"545","id":"6966","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"848","target":"772","id":"239","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"509","target":"582","id":"8731","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"961","target":"695","id":"8768","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"63","target":"4","id":"5648","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"795","target":"514","id":"1210","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"556","target":"513","id":"8689","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"593","target":"808","id":"5789","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"51","target":"572","id":"5441","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"627","target":"97","id":"8897","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"531","target":"969","id":"603","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"6","target":"816","id":"961","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"522","target":"386","id":"1979","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"916","target":"906","id":"3825","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"400","target":"244","id":"8720","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"677","target":"671","id":"8820","attributes":{},"color":"rgb(114,68,143)","size":2.0},{"source":"648","target":"361","id":"8685","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"282","target":"565","id":"1022","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"529","target":"115","id":"69","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"134","target":"141","id":"8033","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"687","target":"837","id":"3407","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"200","target":"696","id":"4838","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"589","target":"298","id":"4919","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"818","target":"201","id":"698","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"196","target":"28","id":"4267","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"206","target":"945","id":"4524","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"11","target":"834","id":"7516","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"471","target":"39","id":"935","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"852","target":"598","id":"9399","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"448","target":"574","id":"2074","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"746","target":"350","id":"2703","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"298","target":"132","id":"2819","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"781","target":"752","id":"5327","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"977","target":"266","id":"4318","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"140","target":"195","id":"1803","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"602","target":"252","id":"2493","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"134","target":"954","id":"3893","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"946","target":"803","id":"7596","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"770","target":"176","id":"5552","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"579","target":"614","id":"8142","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"106","target":"831","id":"8454","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"656","target":"843","id":"1752","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"275","target":"974","id":"2102","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"179","target":"220","id":"4728","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"141","target":"934","id":"6254","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"608","target":"915","id":"2010","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"163","target":"509","id":"8493","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"251","target":"109","id":"7402","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"212","target":"673","id":"9916","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"258","target":"791","id":"532","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"522","target":"116","id":"701","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"828","target":"683","id":"7148","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"333","target":"922","id":"2395","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"961","target":"700","id":"4093","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"678","target":"282","id":"4106","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"510","target":"818","id":"9136","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"37","target":"599","id":"2519","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"372","target":"604","id":"3634","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"900","target":"522","id":"9956","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"355","target":"535","id":"4333","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"370","target":"521","id":"4894","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"848","target":"870","id":"3281","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"315","target":"821","id":"9510","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"77","target":"172","id":"9694","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"90","target":"612","id":"4522","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"636","target":"205","id":"4297","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"882","target":"787","id":"1612","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"47","target":"479","id":"3610","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"792","target":"936","id":"7911","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"594","target":"968","id":"5572","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"676","target":"170","id":"509","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"40","target":"758","id":"5354","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"247","target":"908","id":"8891","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"580","target":"872","id":"9270","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"553","target":"288","id":"2276","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"635","target":"522","id":"1857","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"950","target":"914","id":"7674","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"569","target":"366","id":"397","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"568","target":"758","id":"1719","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"65","target":"22","id":"2776","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"835","target":"833","id":"8100","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"929","target":"338","id":"2642","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"267","target":"973","id":"5889","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"845","target":"271","id":"7560","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"307","target":"788","id":"805","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"88","target":"415","id":"9497","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"997","target":"902","id":"2913","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"49","target":"809","id":"1192","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"420","target":"870","id":"470","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"753","target":"949","id":"7132","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"214","target":"325","id":"4816","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"660","target":"787","id":"8808","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"624","target":"391","id":"5471","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"2","target":"561","id":"6419","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"447","target":"146","id":"1946","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"25","target":"423","id":"2713","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"892","target":"651","id":"7496","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"300","target":"416","id":"9855","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"369","target":"643","id":"1466","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"269","target":"340","id":"6267","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"764","target":"14","id":"7619","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"379","target":"853","id":"6375","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"347","target":"737","id":"6583","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"633","target":"403","id":"5560","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"557","target":"211","id":"4984","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"785","target":"810","id":"7390","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"302","target":"45","id":"5903","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"322","target":"837","id":"721","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"502","target":"923","id":"2738","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"176","target":"512","id":"5703","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"92","target":"105","id":"5184","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"797","target":"837","id":"5917","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"182","target":"552","id":"5727","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"20","target":"131","id":"645","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"45","target":"451","id":"1899","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"612","target":"359","id":"5117","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"456","target":"439","id":"6689","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"471","target":"301","id":"3164","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"734","target":"560","id":"7878","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"528","target":"932","id":"7139","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"277","target":"132","id":"2527","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"191","target":"367","id":"4121","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"896","target":"125","id":"6568","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"196","target":"931","id":"735","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"536","target":"22","id":"4806","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"735","target":"412","id":"3131","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"451","target":"983","id":"518","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"385","target":"501","id":"7262","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"1","target":"811","id":"3700","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"346","target":"822","id":"8606","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"662","target":"974","id":"4607","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"497","target":"80","id":"6252","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"87","target":"313","id":"8087","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"283","target":"349","id":"3064","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"630","target":"401","id":"4289","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"136","target":"966","id":"2895","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"451","target":"765","id":"3045","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"625","target":"643","id":"4847","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"905","target":"611","id":"1121","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"502","target":"18","id":"4587","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"296","target":"945","id":"113","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"75","target":"651","id":"9909","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"223","target":"761","id":"3738","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"632","target":"897","id":"2347","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"215","target":"213","id":"1120","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"159","target":"813","id":"2888","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"501","target":"73","id":"3352","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"348","target":"102","id":"6445","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"581","target":"182","id":"762","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"598","target":"489","id":"4174","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"34","target":"124","id":"7963","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"376","target":"94","id":"4548","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"886","target":"698","id":"6358","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"311","target":"919","id":"2487","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"739","target":"887","id":"4535","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"360","target":"108","id":"6906","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"55","target":"534","id":"8656","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"290","target":"31","id":"9424","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"704","target":"3","id":"9415","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"85","target":"98","id":"26","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"851","target":"709","id":"2716","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"634","target":"957","id":"6699","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"654","target":"810","id":"9239","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"756","target":"211","id":"8877","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"9","target":"276","id":"2170","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"377","target":"498","id":"5323","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"100","target":"872","id":"1938","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"140","target":"212","id":"3195","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"561","target":"234","id":"666","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"134","target":"859","id":"2341","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"122","target":"771","id":"2634","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"241","target":"335","id":"2862","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"689","target":"915","id":"8967","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"562","target":"348","id":"2546","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"482","target":"272","id":"3557","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"467","target":"403","id":"6848","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"16","target":"306","id":"3709","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"436","target":"637","id":"4822","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"836","target":"413","id":"4444","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"861","target":"603","id":"196","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"766","target":"904","id":"7871","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"716","target":"487","id":"5253","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"656","target":"857","id":"2588","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"803","target":"509","id":"871","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"306","target":"297","id":"1529","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"6","target":"269","id":"9141","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"685","target":"241","id":"670","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"188","target":"294","id":"1153","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"390","target":"786","id":"5442","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"879","target":"155","id":"4130","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"926","target":"717","id":"2109","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"197","target":"650","id":"5316","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"644","target":"388","id":"6876","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"834","target":"668","id":"7304","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"891","target":"229","id":"4738","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"902","target":"141","id":"2470","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"146","target":"197","id":"2615","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"145","target":"145","id":"268","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"887","target":"702","id":"4542","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"395","target":"496","id":"9614","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"147","target":"11","id":"561","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"38","target":"983","id":"2656","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"617","target":"438","id":"858","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"38","target":"898","id":"7322","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"494","target":"723","id":"5657","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"286","target":"193","id":"2355","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"207","target":"765","id":"5183","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"802","target":"491","id":"1390","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"722","target":"974","id":"1023","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"499","target":"472","id":"7385","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"616","target":"274","id":"9022","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"711","target":"214","id":"2593","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"756","target":"748","id":"9755","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"900","target":"466","id":"2726","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"540","target":"608","id":"2789","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"973","target":"561","id":"8090","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"900","target":"643","id":"8674","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"931","target":"975","id":"6513","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"884","target":"516","id":"3174","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"556","target":"51","id":"1922","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"131","target":"930","id":"8032","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"464","target":"67","id":"1250","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"332","target":"325","id":"8631","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"909","target":"275","id":"5815","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"695","target":"164","id":"6914","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"943","target":"308","id":"8050","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"237","target":"819","id":"1473","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"546","target":"666","id":"1237","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"40","target":"422","id":"1503","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"913","target":"19","id":"9639","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"73","target":"363","id":"5405","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"475","target":"895","id":"112","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"896","target":"259","id":"6223","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"374","target":"114","id":"6671","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"697","target":"357","id":"6602","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"519","target":"49","id":"1664","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"815","target":"313","id":"9370","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"146","target":"820","id":"1575","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"335","target":"104","id":"9494","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"767","target":"320","id":"2394","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"307","target":"738","id":"4842","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"308","target":"503","id":"7973","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"110","target":"832","id":"555","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"188","target":"304","id":"1629","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"411","target":"90","id":"3341","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"819","target":"985","id":"6863","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"311","target":"774","id":"2248","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"694","target":"354","id":"4370","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"947","target":"728","id":"5845","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"121","target":"133","id":"5019","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"753","target":"600","id":"6964","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"879","target":"215","id":"1073","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"271","target":"581","id":"3626","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"770","target":"644","id":"1256","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"433","target":"954","id":"7556","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"215","target":"144","id":"5574","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"17","target":"19","id":"7988","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"772","target":"964","id":"2390","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"649","target":"136","id":"5189","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"555","target":"57","id":"1615","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"769","target":"525","id":"1394","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"759","target":"986","id":"1731","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"706","target":"197","id":"6386","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"347","target":"916","id":"6135","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"498","target":"566","id":"7657","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"985","target":"244","id":"6972","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"817","target":"305","id":"1964","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"27","target":"968","id":"2154","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"534","target":"183","id":"4678","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"252","target":"72","id":"8540","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"566","target":"668","id":"7987","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"790","target":"236","id":"924","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"372","target":"575","id":"8553","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"844","target":"133","id":"6098","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"178","target":"278","id":"7089","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"749","target":"899","id":"9905","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"165","target":"483","id":"3433","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"590","target":"364","id":"97","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"927","target":"664","id":"227","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"473","target":"278","id":"7215","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"574","target":"976","id":"7609","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"220","target":"895","id":"8591","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"974","target":"135","id":"5014","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"480","target":"359","id":"7888","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"55","target":"853","id":"973","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"79","target":"701","id":"999","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"472","target":"793","id":"4180","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"245","target":"967","id":"2090","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"3","target":"94","id":"7969","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"892","target":"375","id":"8571","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"714","target":"651","id":"2770","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"720","target":"659","id":"5479","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"53","target":"318","id":"9154","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"261","target":"735","id":"6248","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"994","target":"371","id":"2220","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"833","target":"718","id":"6231","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"196","target":"671","id":"4196","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"810","target":"413","id":"5151","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"406","target":"196","id":"9401","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"163","target":"934","id":"2830","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"269","target":"199","id":"8925","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"833","target":"777","id":"994","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"534","target":"903","id":"9863","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"414","target":"139","id":"3915","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"938","target":"705","id":"3899","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"166","target":"730","id":"2274","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"824","target":"454","id":"1199","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"463","target":"270","id":"2998","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"109","target":"56","id":"1118","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"440","target":"881","id":"2720","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"742","target":"256","id":"955","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"379","target":"57","id":"4504","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"712","target":"207","id":"5256","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"249","target":"110","id":"5043","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"130","target":"534","id":"9603","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"357","target":"344","id":"4147","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"249","target":"241","id":"4312","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"621","target":"757","id":"8508","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"953","target":"945","id":"1514","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"813","target":"145","id":"1595","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"858","target":"715","id":"9397","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"930","target":"276","id":"3461","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"984","target":"673","id":"9266","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"947","target":"878","id":"7905","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"195","target":"7","id":"2159","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"853","target":"502","id":"2271","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"291","target":"784","id":"6424","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"66","target":"932","id":"2781","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"561","target":"547","id":"1574","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"212","target":"680","id":"3025","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"289","target":"299","id":"7544","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"277","target":"318","id":"3552","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"389","target":"551","id":"7452","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"253","target":"979","id":"9394","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"281","target":"51","id":"9816","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"422","target":"404","id":"3587","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"277","target":"934","id":"1122","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"328","target":"400","id":"1632","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"259","target":"469","id":"6591","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"218","target":"94","id":"542","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"269","target":"268","id":"604","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"995","target":"857","id":"1973","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"960","target":"517","id":"8337","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"850","target":"398","id":"1590","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"18","target":"188","id":"6888","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"688","target":"815","id":"3956","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"345","target":"683","id":"3081","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"808","target":"823","id":"1824","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"371","target":"854","id":"7204","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"4","target":"691","id":"7958","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"330","target":"347","id":"2373","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"13","target":"549","id":"8833","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"741","target":"267","id":"7805","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"488","target":"567","id":"4839","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"437","target":"568","id":"8724","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"491","target":"55","id":"1676","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"446","target":"917","id":"9661","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"941","target":"318","id":"3581","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"939","target":"188","id":"4663","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"519","target":"744","id":"6238","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"793","target":"498","id":"8227","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"37","target":"258","id":"7489","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"830","target":"613","id":"3220","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"816","target":"313","id":"4320","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"78","target":"738","id":"6712","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"357","target":"688","id":"4266","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"321","target":"51","id":"9537","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"479","target":"599","id":"8233","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"953","target":"86","id":"2235","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"883","target":"560","id":"1830","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"81","target":"723","id":"837","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"232","target":"3","id":"402","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"863","target":"100","id":"3488","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"269","target":"32","id":"806","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"803","target":"29","id":"6099","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"887","target":"938","id":"2171","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"670","target":"122","id":"8942","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"327","target":"361","id":"9780","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"502","target":"282","id":"9849","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"83","target":"380","id":"7903","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"882","target":"116","id":"1433","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"917","target":"431","id":"5564","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"505","target":"319","id":"6687","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"585","target":"482","id":"676","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"689","target":"425","id":"8163","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"930","target":"720","id":"2282","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"816","target":"524","id":"6415","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"14","target":"988","id":"2742","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"691","target":"915","id":"6462","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"711","target":"597","id":"6389","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"205","target":"803","id":"7639","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"817","target":"76","id":"7995","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"173","target":"350","id":"5042","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"597","target":"67","id":"8566","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"932","target":"390","id":"9226","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"186","target":"734","id":"317","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"39","target":"376","id":"9237","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"865","target":"943","id":"1358","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"216","target":"119","id":"6501","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"225","target":"577","id":"5672","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"100","target":"426","id":"2295","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"988","target":"33","id":"2904","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"38","target":"747","id":"5558","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"53","target":"163","id":"5443","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"389","target":"838","id":"3950","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"814","target":"624","id":"6224","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"123","target":"210","id":"836","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"591","target":"57","id":"2076","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"796","target":"560","id":"5045","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"303","target":"874","id":"8369","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"690","target":"409","id":"8895","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"435","target":"145","id":"8014","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"978","target":"587","id":"4876","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"916","target":"369","id":"5923","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"17","target":"858","id":"6685","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"980","target":"219","id":"7156","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"238","target":"2","id":"2535","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"249","target":"757","id":"4143","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"168","target":"68","id":"4379","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"908","target":"544","id":"1160","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"4","target":"104","id":"4462","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"326","target":"418","id":"5002","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"732","target":"759","id":"9471","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"238","target":"140","id":"889","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"810","target":"499","id":"8734","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"522","target":"720","id":"7571","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"913","target":"735","id":"5537","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"545","target":"744","id":"4446","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"0","target":"724","id":"7661","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"934","target":"474","id":"882","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"120","target":"68","id":"5971","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"69","target":"214","id":"7913","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"47","target":"998","id":"3361","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"530","target":"176","id":"8229","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"23","target":"706","id":"5082","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"352","target":"290","id":"6846","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"256","target":"96","id":"3022","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"397","target":"879","id":"7952","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"996","target":"818","id":"8471","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"178","target":"697","id":"8232","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"449","target":"2","id":"9877","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"677","target":"432","id":"6881","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"63","target":"63","id":"8966","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"680","target":"931","id":"4783","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"171","target":"308","id":"9970","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"394","target":"17","id":"5848","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"866","target":"875","id":"551","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"824","target":"334","id":"5935","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"249","target":"691","id":"9511","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"882","target":"391","id":"1902","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"170","target":"457","id":"2414","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"708","target":"412","id":"3521","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"68","target":"836","id":"3971","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"943","target":"375","id":"2303","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"966","target":"128","id":"5887","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"277","target":"832","id":"667","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"12","target":"273","id":"9297","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"70","target":"30","id":"4598","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"85","target":"140","id":"2335","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"260","target":"318","id":"854","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"142","target":"671","id":"2691","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"701","target":"762","id":"3136","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"591","target":"400","id":"7675","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"112","target":"772","id":"9925","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"22","target":"273","id":"7791","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"399","target":"162","id":"9386","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"521","target":"553","id":"9725","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"62","target":"940","id":"7298","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"250","target":"932","id":"2371","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"931","target":"566","id":"5952","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"547","target":"516","id":"7697","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"728","target":"73","id":"3482","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"261","target":"127","id":"447","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"70","target":"139","id":"1729","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"935","target":"817","id":"5646","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"352","target":"926","id":"4475","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"440","target":"48","id":"1526","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"842","target":"204","id":"7845","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"991","target":"365","id":"3083","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"74","target":"260","id":"1562","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"158","target":"65","id":"4824","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"992","target":"72","id":"2690","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"125","target":"683","id":"9221","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"738","target":"230","id":"2833","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"914","target":"608","id":"7431","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"768","target":"342","id":"8550","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"16","target":"323","id":"9706","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"192","target":"63","id":"8814","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"409","target":"503","id":"3456","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"845","target":"200","id":"8884","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"393","target":"572","id":"1435","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"679","target":"821","id":"4016","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"189","target":"664","id":"6379","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"305","target":"55","id":"4561","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"470","target":"470","id":"7533","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"456","target":"130","id":"3936","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"512","target":"94","id":"5159","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"155","target":"463","id":"88","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"53","target":"908","id":"6279","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"711","target":"669","id":"7428","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"778","target":"526","id":"4959","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"943","target":"99","id":"1858","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"293","target":"916","id":"2662","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"894","target":"308","id":"6816","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"97","target":"311","id":"4502","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"385","target":"789","id":"277","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"52","target":"548","id":"286","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"372","target":"16","id":"6378","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"586","target":"944","id":"3499","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"1","target":"791","id":"1352","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"243","target":"823","id":"2995","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"380","target":"418","id":"4273","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"472","target":"862","id":"3994","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"746","target":"66","id":"3267","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"948","target":"65","id":"2971","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"224","target":"353","id":"2852","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"595","target":"722","id":"6516","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"713","target":"314","id":"5126","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"705","target":"507","id":"886","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"767","target":"348","id":"1936","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"820","target":"583","id":"2695","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"307","target":"336","id":"6176","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"454","target":"763","id":"5647","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"650","target":"912","id":"9318","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"873","target":"480","id":"5187","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"743","target":"854","id":"6449","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"392","target":"483","id":"2087","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"855","target":"386","id":"4369","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"279","target":"618","id":"4079","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"383","target":"93","id":"8977","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"550","target":"929","id":"2064","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"938","target":"994","id":"8063","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"733","target":"199","id":"197","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"900","target":"906","id":"4626","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"400","target":"216","id":"5059","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"100","target":"488","id":"1061","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"987","target":"878","id":"4031","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"786","target":"870","id":"5038","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"762","target":"558","id":"5241","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"311","target":"258","id":"7912","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"213","target":"534","id":"2181","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"995","target":"299","id":"7168","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"677","target":"329","id":"4908","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"513","target":"739","id":"6103","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"742","target":"94","id":"6229","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"711","target":"186","id":"394","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"691","target":"840","id":"6839","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"325","target":"248","id":"288","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"669","target":"287","id":"5358","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"711","target":"382","id":"5314","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"177","target":"639","id":"1004","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"419","target":"949","id":"157","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"942","target":"402","id":"7811","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"341","target":"997","id":"3278","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"225","target":"322","id":"8433","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"749","target":"671","id":"5073","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"239","target":"897","id":"8579","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"725","target":"920","id":"9261","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"824","target":"878","id":"1165","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"936","target":"642","id":"4590","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"971","target":"467","id":"170","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"484","target":"979","id":"3694","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"592","target":"305","id":"7324","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"183","target":"903","id":"5266","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"72","target":"202","id":"8487","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"356","target":"308","id":"3605","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"283","target":"952","id":"686","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"499","target":"256","id":"1149","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"741","target":"909","id":"4776","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"851","target":"134","id":"4694","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"283","target":"973","id":"9748","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"409","target":"303","id":"9743","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"372","target":"977","id":"7000","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"986","target":"663","id":"3758","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"208","target":"22","id":"3637","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"246","target":"429","id":"7606","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"117","target":"910","id":"1571","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"647","target":"964","id":"6065","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"173","target":"379","id":"7094","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"87","target":"778","id":"1416","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"606","target":"864","id":"5602","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"625","target":"0","id":"3169","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"494","target":"878","id":"7400","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"88","target":"570","id":"3206","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"302","target":"795","id":"3163","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"704","target":"742","id":"7422","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"247","target":"698","id":"6756","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"335","target":"455","id":"3132","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"901","target":"712","id":"137","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"582","target":"435","id":"3884","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"406","target":"821","id":"9680","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"106","target":"729","id":"4164","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"689","target":"186","id":"730","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"307","target":"948","id":"6553","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"337","target":"786","id":"8865","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"621","target":"662","id":"9500","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"816","target":"95","id":"9793","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"67","target":"939","id":"749","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"785","target":"412","id":"6111","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"693","target":"702","id":"7433","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"933","target":"6","id":"9508","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"808","target":"483","id":"269","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"169","target":"67","id":"2062","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"933","target":"932","id":"80","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"472","target":"45","id":"2729","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"492","target":"215","id":"357","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"818","target":"561","id":"3144","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"305","target":"403","id":"1965","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"536","target":"652","id":"4047","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"591","target":"369","id":"672","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"163","target":"456","id":"7021","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"740","target":"22","id":"3746","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"745","target":"95","id":"1020","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"98","target":"88","id":"5722","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"653","target":"16","id":"6184","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"303","target":"105","id":"8172","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"262","target":"107","id":"845","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"233","target":"677","id":"1826","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"157","target":"295","id":"7681","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"592","target":"587","id":"5945","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"961","target":"126","id":"186","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"175","target":"437","id":"5871","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"603","target":"187","id":"4227","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"173","target":"596","id":"6288","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"684","target":"101","id":"4611","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"369","target":"680","id":"389","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"965","target":"726","id":"3354","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"733","target":"637","id":"2767","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"655","target":"850","id":"4452","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"295","target":"439","id":"2381","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"427","target":"922","id":"5309","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"258","target":"509","id":"9724","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"556","target":"387","id":"1553","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"86","target":"466","id":"1904","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"856","target":"238","id":"4402","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"216","target":"149","id":"8904","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"141","target":"12","id":"1404","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"370","target":"620","id":"2311","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"40","target":"74","id":"4649","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"739","target":"22","id":"4558","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"331","target":"873","id":"5366","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"459","target":"854","id":"8670","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"462","target":"36","id":"9091","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"7","target":"933","id":"4825","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"163","target":"383","id":"3175","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"695","target":"747","id":"7728","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"190","target":"245","id":"7577","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"979","target":"417","id":"4636","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"461","target":"53","id":"181","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"33","target":"754","id":"158","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"638","target":"403","id":"2736","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"518","target":"384","id":"287","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"453","target":"732","id":"782","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"998","target":"461","id":"834","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"426","target":"378","id":"4712","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"70","target":"48","id":"8766","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"319","target":"303","id":"2755","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"742","target":"604","id":"9203","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"608","target":"42","id":"9379","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"155","target":"66","id":"7621","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"509","target":"464","id":"2683","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"327","target":"32","id":"4674","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"67","target":"814","id":"14","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"703","target":"976","id":"6325","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"521","target":"536","id":"6789","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"184","target":"271","id":"1862","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"779","target":"594","id":"1477","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"977","target":"41","id":"5939","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"74","target":"920","id":"6199","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"909","target":"128","id":"3544","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"944","target":"657","id":"2800","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"526","target":"988","id":"4622","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"612","target":"949","id":"5332","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"140","target":"904","id":"3292","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"53","target":"715","id":"4374","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"261","target":"938","id":"1188","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"802","target":"682","id":"783","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"540","target":"955","id":"9599","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"849","target":"95","id":"8728","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"609","target":"900","id":"418","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"428","target":"346","id":"8517","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"784","target":"672","id":"9025","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"16","target":"783","id":"3271","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"14","target":"14","id":"4095","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"754","target":"62","id":"1306","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"397","target":"133","id":"5265","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"562","target":"376","id":"379","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"756","target":"684","id":"4860","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"228","target":"571","id":"7918","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"186","target":"665","id":"5025","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"586","target":"468","id":"3219","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"659","target":"887","id":"9884","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"488","target":"947","id":"564","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"348","target":"918","id":"4693","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"361","target":"171","id":"5015","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"273","target":"146","id":"9167","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"50","target":"156","id":"9348","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"122","target":"2","id":"5380","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"395","target":"221","id":"7357","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"822","target":"96","id":"906","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"751","target":"778","id":"6920","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"178","target":"790","id":"1942","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"324","target":"105","id":"3841","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"656","target":"227","id":"4053","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"328","target":"686","id":"7686","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"86","target":"186","id":"1081","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"289","target":"393","id":"5807","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"289","target":"619","id":"8779","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"680","target":"246","id":"1233","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"37","target":"860","id":"8252","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"939","target":"444","id":"1770","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"77","target":"794","id":"4074","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"631","target":"867","id":"2104","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"141","target":"685","id":"1341","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"268","target":"205","id":"6766","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"294","target":"382","id":"6215","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"622","target":"864","id":"6669","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"957","target":"888","id":"3965","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"32","target":"428","id":"5288","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"16","target":"722","id":"9011","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"973","target":"326","id":"3914","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"349","target":"756","id":"6494","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"134","target":"460","id":"613","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"129","target":"847","id":"5077","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"663","target":"136","id":"1943","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"919","target":"943","id":"7220","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"202","target":"638","id":"7233","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"86","target":"477","id":"4640","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"774","target":"788","id":"9663","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"284","target":"493","id":"1231","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"845","target":"404","id":"1903","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"635","target":"643","id":"5001","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"359","target":"209","id":"5928","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"98","target":"570","id":"949","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"440","target":"139","id":"6089","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"839","target":"184","id":"4685","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"292","target":"401","id":"2931","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"641","target":"678","id":"5271","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"302","target":"23","id":"8177","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"37","target":"145","id":"7673","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"455","target":"649","id":"2180","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"2","target":"570","id":"2758","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"329","target":"991","id":"4941","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"731","target":"731","id":"8677","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"1","target":"19","id":"8838","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"620","target":"31","id":"4537","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"643","target":"874","id":"1771","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"140","target":"173","id":"6471","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"617","target":"628","id":"324","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"475","target":"927","id":"3881","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"191","target":"453","id":"5493","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"397","target":"220","id":"3807","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"234","target":"910","id":"9249","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"868","target":"998","id":"9682","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"622","target":"985","id":"5313","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"199","target":"267","id":"8961","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"2","target":"831","id":"68","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"938","target":"811","id":"2900","attributes":{},"color":"rgb(0,196,255)","size":3.0},{"source":"165","target":"218","id":"9345","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"256","target":"778","id":"8889","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"229","target":"516","id":"5728","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"889","target":"718","id":"6060","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"303","target":"52","id":"7158","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"285","target":"986","id":"7295","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"122","target":"538","id":"7444","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"362","target":"509","id":"7209","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"516","target":"561","id":"2903","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"711","target":"187","id":"3677","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"642","target":"559","id":"4864","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"172","target":"317","id":"2623","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"973","target":"572","id":"4883","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"458","target":"348","id":"3384","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"863","target":"501","id":"5884","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"942","target":"204","id":"4089","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"266","target":"221","id":"8281","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"831","target":"95","id":"5134","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"768","target":"414","id":"1984","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"652","target":"125","id":"6958","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"533","target":"174","id":"3545","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"716","target":"366","id":"5460","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"516","target":"126","id":"5725","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"700","target":"880","id":"6849","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"350","target":"268","id":"2968","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"722","target":"677","id":"5662","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"846","target":"714","id":"6079","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"1","target":"169","id":"341","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"228","target":"939","id":"1521","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"319","target":"586","id":"7627","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"159","target":"547","id":"3299","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"830","target":"197","id":"7299","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"254","target":"135","id":"4572","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"75","target":"246","id":"9140","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"132","target":"143","id":"2152","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"775","target":"436","id":"42","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"567","target":"944","id":"2027","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"214","target":"580","id":"2764","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"364","target":"686","id":"8765","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"384","target":"169","id":"4419","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"846","target":"610","id":"5721","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"950","target":"82","id":"1949","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"815","target":"194","id":"4549","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"40","target":"778","id":"8444","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"944","target":"409","id":"5800","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"542","target":"580","id":"9053","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"567","target":"14","id":"1468","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"247","target":"283","id":"5359","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"49","target":"406","id":"1924","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"862","target":"499","id":"816","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"52","target":"376","id":"6439","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"571","target":"605","id":"3084","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"886","target":"500","id":"4172","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"482","target":"705","id":"4771","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"842","target":"412","id":"7001","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"62","target":"492","id":"404","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"161","target":"803","id":"4251","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"427","target":"457","id":"134","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"883","target":"86","id":"4182","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"297","target":"958","id":"687","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"676","target":"638","id":"932","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"873","target":"18","id":"1212","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"539","target":"163","id":"3939","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"385","target":"96","id":"221","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"660","target":"446","id":"2425","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"796","target":"127","id":"8145","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"42","target":"854","id":"3116","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"139","target":"421","id":"1890","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"738","target":"862","id":"4351","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"416","target":"865","id":"1559","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"253","target":"494","id":"9668","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"434","target":"902","id":"5771","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"339","target":"744","id":"8709","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"959","target":"976","id":"5164","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"282","target":"619","id":"37","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"732","target":"137","id":"3212","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"83","target":"611","id":"2024","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"282","target":"530","id":"3106","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"295","target":"960","id":"5959","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"40","target":"101","id":"4148","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"393","target":"650","id":"1919","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"433","target":"266","id":"5980","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"156","target":"559","id":"7569","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"494","target":"755","id":"9825","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"289","target":"752","id":"1702","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"548","target":"806","id":"6900","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"177","target":"266","id":"3061","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"546","target":"161","id":"456","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"254","target":"484","id":"3564","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"271","target":"766","id":"4168","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"712","target":"712","id":"641","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"285","target":"473","id":"1885","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"732","target":"435","id":"86","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"280","target":"730","id":"6626","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"314","target":"783","id":"243","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"228","target":"283","id":"5570","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"889","target":"837","id":"8781","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"308","target":"308","id":"2711","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"859","target":"486","id":"3166","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"463","target":"321","id":"6073","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"64","target":"529","id":"2849","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"109","target":"522","id":"9227","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"567","target":"445","id":"6110","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"400","target":"144","id":"6962","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"891","target":"396","id":"3796","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"839","target":"494","id":"3875","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"756","target":"300","id":"519","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"215","target":"715","id":"5425","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"783","target":"647","id":"1720","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"130","target":"142","id":"4026","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"865","target":"77","id":"9505","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"521","target":"609","id":"3368","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"827","target":"364","id":"8419","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"822","target":"123","id":"778","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"939","target":"328","id":"2966","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"605","target":"914","id":"6974","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"525","target":"965","id":"5013","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"241","target":"922","id":"9889","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"129","target":"195","id":"6877","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"731","target":"55","id":"5276","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"490","target":"20","id":"660","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"172","target":"274","id":"1067","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"350","target":"408","id":"7885","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"346","target":"546","id":"7186","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"112","target":"827","id":"9147","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"674","target":"102","id":"2734","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"846","target":"766","id":"265","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"916","target":"320","id":"9696","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"511","target":"206","id":"1247","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"964","target":"844","id":"3496","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"374","target":"653","id":"1816","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"819","target":"843","id":"2364","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"342","target":"297","id":"5195","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"686","target":"564","id":"2400","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"87","target":"204","id":"4300","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"958","target":"102","id":"4837","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"158","target":"363","id":"7285","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"388","target":"15","id":"8802","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"714","target":"786","id":"3883","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"270","target":"435","id":"6809","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"0","target":"660","id":"222","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"320","target":"490","id":"7564","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"74","target":"238","id":"983","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"490","target":"863","id":"5223","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"597","target":"848","id":"95","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"206","target":"206","id":"2908","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"757","target":"228","id":"8861","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"46","target":"499","id":"2731","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"865","target":"666","id":"505","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"484","target":"813","id":"2878","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"750","target":"763","id":"3149","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"329","target":"870","id":"9585","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"139","target":"79","id":"3300","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"494","target":"720","id":"4530","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"176","target":"328","id":"1171","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"241","target":"896","id":"2879","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"178","target":"617","id":"7902","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"32","target":"312","id":"733","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"348","target":"634","id":"1881","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"100","target":"599","id":"4858","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"705","target":"807","id":"2668","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"358","target":"645","id":"8613","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"720","target":"442","id":"9954","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"342","target":"271","id":"1724","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"426","target":"678","id":"4927","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"837","target":"114","id":"6840","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"458","target":"495","id":"9447","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"432","target":"409","id":"865","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"423","target":"422","id":"3953","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"806","target":"917","id":"5278","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"607","target":"610","id":"5028","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"729","target":"712","id":"7886","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"726","target":"156","id":"439","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"236","target":"877","id":"7889","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"114","target":"741","id":"36","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"29","target":"55","id":"7409","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"482","target":"388","id":"6197","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"392","target":"499","id":"9729","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"202","target":"220","id":"7948","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"713","target":"546","id":"5450","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"678","target":"895","id":"3842","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"313","target":"446","id":"4061","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"500","target":"806","id":"8580","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"606","target":"39","id":"8621","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"839","target":"83","id":"986","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"601","target":"25","id":"1923","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"368","target":"1","id":"1311","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"321","target":"121","id":"912","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"26","target":"98","id":"5445","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"891","target":"37","id":"1101","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"927","target":"170","id":"864","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"916","target":"162","id":"9761","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"415","target":"650","id":"3209","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"359","target":"390","id":"1124","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"109","target":"410","id":"4390","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"711","target":"681","id":"4731","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"397","target":"81","id":"7338","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"747","target":"419","id":"8147","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"125","target":"125","id":"4815","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"668","target":"288","id":"6784","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"418","target":"365","id":"7716","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"46","target":"257","id":"1420","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"884","target":"558","id":"9170","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"61","target":"752","id":"2586","attributes":{},"color":"rgb(130,42,81)","size":2.0},{"source":"715","target":"210","id":"4785","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"5","target":"277","id":"3182","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"665","target":"136","id":"4119","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"44","target":"512","id":"5227","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"514","target":"171","id":"9444","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"811","target":"793","id":"8641","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"129","target":"396","id":"8879","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"140","target":"463","id":"278","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"322","target":"885","id":"7741","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"124","target":"367","id":"433","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"564","target":"958","id":"8388","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"13","target":"811","id":"2244","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"205","target":"168","id":"5346","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"154","target":"32","id":"9236","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"405","target":"596","id":"301","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"127","target":"62","id":"4155","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"857","target":"192","id":"5578","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"106","target":"23","id":"8564","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"331","target":"878","id":"4190","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"555","target":"894","id":"7185","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"927","target":"642","id":"8910","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"541","target":"515","id":"3039","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"365","target":"402","id":"3285","attributes":{},"color":"rgb(205,167,66)","size":2.0},{"source":"293","target":"559","id":"3887","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"591","target":"303","id":"4779","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"623","target":"969","id":"3053","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"492","target":"974","id":"6814","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"414","target":"594","id":"9177","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"36","target":"894","id":"9882","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"92","target":"848","id":"516","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"17","target":"960","id":"1242","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"8","target":"315","id":"2362","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"544","target":"84","id":"1556","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"678","target":"633","id":"8703","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"445","target":"328","id":"9095","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"924","target":"717","id":"691","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"777","target":"305","id":"7047","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"831","target":"397","id":"9460","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"232","target":"649","id":"2787","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"645","target":"197","id":"5762","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"537","target":"217","id":"6041","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"34","target":"887","id":"7019","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"536","target":"487","id":"9322","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"611","target":"295","id":"6300","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"645","target":"755","id":"5746","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"648","target":"794","id":"902","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"832","target":"227","id":"3331","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"584","target":"147","id":"8357","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"560","target":"100","id":"9624","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"742","target":"287","id":"6938","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"807","target":"553","id":"4730","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"991","target":"680","id":"6826","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"165","target":"601","id":"3636","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"823","target":"154","id":"4204","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"511","target":"993","id":"7282","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"496","target":"81","id":"9197","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"837","target":"957","id":"3256","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"667","target":"205","id":"8250","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"73","target":"542","id":"1322","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"631","target":"63","id":"6792","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"353","target":"22","id":"3394","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"79","target":"220","id":"5423","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"250","target":"893","id":"2551","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"64","target":"681","id":"8209","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"76","target":"379","id":"2153","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"129","target":"996","id":"9580","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"830","target":"302","id":"7722","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"547","target":"742","id":"7049","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"760","target":"491","id":"8504","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"208","target":"564","id":"5158","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"806","target":"941","id":"9646","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"215","target":"205","id":"4690","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"595","target":"517","id":"7608","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"287","target":"579","id":"8871","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"168","target":"245","id":"2485","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"936","target":"439","id":"4507","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"824","target":"489","id":"9994","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"885","target":"458","id":"1707","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"680","target":"697","id":"3017","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"708","target":"565","id":"5192","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"738","target":"608","id":"5563","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"369","target":"380","id":"5813","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"859","target":"394","id":"8086","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"483","target":"726","id":"9600","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"131","target":"659","id":"7732","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"265","target":"360","id":"5311","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"268","target":"260","id":"9389","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"515","target":"125","id":"41","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"15","target":"15","id":"2430","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"896","target":"654","id":"5500","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"193","target":"449","id":"4280","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"786","target":"400","id":"1565","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"817","target":"720","id":"3822","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"977","target":"189","id":"1168","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"233","target":"909","id":"9145","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"191","target":"250","id":"5891","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"887","target":"419","id":"7166","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"707","target":"199","id":"1223","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"185","target":"350","id":"2520","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"150","target":"451","id":"6782","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"474","target":"389","id":"5523","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"851","target":"835","id":"9332","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"241","target":"460","id":"1796","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"27","target":"716","id":"5388","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"249","target":"537","id":"5083","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"116","target":"11","id":"5512","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"287","target":"87","id":"2112","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"563","target":"408","id":"9301","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"653","target":"533","id":"384","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"375","target":"187","id":"2106","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"514","target":"988","id":"7773","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"157","target":"231","id":"9441","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"881","target":"556","id":"6806","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"614","target":"3","id":"8367","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"274","target":"505","id":"6885","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"117","target":"792","id":"3872","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"411","target":"341","id":"5273","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"106","target":"602","id":"4588","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"327","target":"275","id":"7528","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"723","target":"976","id":"3992","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"805","target":"189","id":"5822","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"299","target":"57","id":"2951","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"393","target":"653","id":"9200","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"249","target":"977","id":"4330","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"661","target":"736","id":"9184","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"770","target":"280","id":"8040","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"244","target":"758","id":"5870","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"234","target":"914","id":"8299","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"954","target":"911","id":"9432","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"146","target":"375","id":"7936","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"424","target":"572","id":"3324","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"508","target":"597","id":"5046","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"697","target":"299","id":"4680","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"376","target":"233","id":"4510","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"304","target":"534","id":"6777","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"640","target":"761","id":"7968","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"933","target":"293","id":"7685","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"271","target":"676","id":"1755","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"107","target":"4","id":"616","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"799","target":"998","id":"3673","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"704","target":"512","id":"9481","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"124","target":"841","id":"3632","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"934","target":"981","id":"2118","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"229","target":"421","id":"7238","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"527","target":"322","id":"7157","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"921","target":"218","id":"6702","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"307","target":"27","id":"4759","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"845","target":"216","id":"2463","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"40","target":"140","id":"596","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"383","target":"352","id":"7797","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"494","target":"234","id":"557","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"95","target":"453","id":"351","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"299","target":"874","id":"6431","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"774","target":"334","id":"8666","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"927","target":"853","id":"3233","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"646","target":"496","id":"5817","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"439","target":"778","id":"6225","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"719","target":"787","id":"9982","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"878","target":"563","id":"9952","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"846","target":"791","id":"9707","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"634","target":"116","id":"2880","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"740","target":"35","id":"9607","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"587","target":"884","id":"7744","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"786","target":"529","id":"332","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"168","target":"402","id":"840","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"44","target":"260","id":"3692","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"176","target":"101","id":"2267","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"375","target":"902","id":"4295","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"660","target":"892","id":"4107","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"67","target":"663","id":"1214","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"925","target":"868","id":"7651","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"822","target":"986","id":"3196","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"673","target":"646","id":"7592","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"793","target":"523","id":"1773","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"454","target":"65","id":"5149","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"507","target":"915","id":"3265","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"310","target":"780","id":"8651","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"635","target":"197","id":"3020","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"562","target":"103","id":"6265","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"499","target":"171","id":"8994","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"333","target":"676","id":"6396","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"412","target":"114","id":"8565","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"13","target":"333","id":"6049","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"6","target":"782","id":"6395","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"364","target":"429","id":"3093","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"569","target":"687","id":"4363","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"55","target":"286","id":"2464","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"337","target":"591","id":"7939","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"461","target":"910","id":"5865","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"502","target":"210","id":"7234","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"69","target":"537","id":"4910","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"758","target":"605","id":"2478","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"715","target":"989","id":"5085","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"339","target":"50","id":"9292","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"527","target":"227","id":"7730","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"632","target":"364","id":"1893","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"666","target":"651","id":"1808","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"497","target":"679","id":"5058","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"977","target":"472","id":"5177","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"257","target":"257","id":"4519","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"431","target":"955","id":"5412","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"457","target":"665","id":"1123","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"662","target":"261","id":"9008","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"720","target":"646","id":"1307","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"609","target":"399","id":"2216","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"303","target":"522","id":"3660","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"995","target":"321","id":"6810","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"616","target":"749","id":"3504","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"360","target":"891","id":"3901","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"340","target":"349","id":"6362","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"234","target":"442","id":"2415","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"639","target":"781","id":"9033","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"286","target":"402","id":"8295","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"958","target":"950","id":"8531","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"542","target":"402","id":"6438","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"357","target":"452","id":"3412","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"40","target":"729","id":"8403","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"696","target":"189","id":"252","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"222","target":"564","id":"5209","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"711","target":"782","id":"8384","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"682","target":"862","id":"2494","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"868","target":"109","id":"1176","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"594","target":"407","id":"2534","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"228","target":"683","id":"8073","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"489","target":"365","id":"1950","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"555","target":"660","id":"3403","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"546","target":"264","id":"2054","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"513","target":"527","id":"4696","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"316","target":"546","id":"4494","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"491","target":"411","id":"6129","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"495","target":"28","id":"8737","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"503","target":"35","id":"2864","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"756","target":"135","id":"4005","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"471","target":"31","id":"8171","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"1","target":"666","id":"2625","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"462","target":"184","id":"4709","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"488","target":"844","id":"5229","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"51","target":"359","id":"8577","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"568","target":"612","id":"4431","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"823","target":"477","id":"7218","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"578","target":"491","id":"2426","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"758","target":"828","id":"139","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"277","target":"590","id":"9551","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"104","target":"7","id":"7594","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"399","target":"221","id":"9533","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"709","target":"681","id":"9768","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"712","target":"321","id":"4472","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"717","target":"994","id":"9935","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"501","target":"938","id":"7258","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"183","target":"742","id":"7153","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"423","target":"580","id":"585","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"493","target":"647","id":"8350","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"674","target":"485","id":"2587","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"528","target":"686","id":"972","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"528","target":"188","id":"2806","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"289","target":"255","id":"4203","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"281","target":"672","id":"3756","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"566","target":"703","id":"7808","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"774","target":"630","id":"5797","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"264","target":"807","id":"7705","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"643","target":"12","id":"8152","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"275","target":"518","id":"6587","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"577","target":"160","id":"8822","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"328","target":"602","id":"8973","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"700","target":"916","id":"4396","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"124","target":"26","id":"2722","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"411","target":"136","id":"3549","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"700","target":"369","id":"4562","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"362","target":"76","id":"6100","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"290","target":"474","id":"6989","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"130","target":"384","id":"6460","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"514","target":"917","id":"1286","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"34","target":"421","id":"4166","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"854","target":"726","id":"1425","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"929","target":"124","id":"2952","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"835","target":"828","id":"9449","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"808","target":"766","id":"833","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"479","target":"431","id":"4972","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"729","target":"957","id":"9492","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"70","target":"558","id":"9529","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"990","target":"204","id":"9648","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"854","target":"810","id":"8584","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"765","target":"415","id":"4591","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"839","target":"837","id":"3598","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"744","target":"220","id":"4645","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"263","target":"629","id":"6662","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"261","target":"872","id":"8574","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"111","target":"207","id":"1785","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"111","target":"399","id":"9932","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"813","target":"633","id":"9864","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"35","target":"95","id":"6270","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"789","target":"424","id":"7379","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"893","target":"584","id":"734","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"422","target":"288","id":"2882","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"551","target":"205","id":"2988","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"20","target":"6","id":"2622","attributes":{},"color":"rgb(0,196,255)","size":3.0},{"source":"0","target":"713","id":"1817","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"974","target":"656","id":"2000","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"467","target":"720","id":"7329","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"81","target":"713","id":"1995","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"466","target":"967","id":"4082","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"710","target":"688","id":"941","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"289","target":"142","id":"3376","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"789","target":"481","id":"5041","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"394","target":"703","id":"6651","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"487","target":"543","id":"7053","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"50","target":"225","id":"8755","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"730","target":"750","id":"3510","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"58","target":"126","id":"2562","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"890","target":"827","id":"873","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"686","target":"165","id":"3453","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"566","target":"376","id":"3805","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"751","target":"598","id":"5202","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"586","target":"691","id":"5188","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"776","target":"52","id":"5105","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"474","target":"279","id":"3515","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"502","target":"770","id":"3821","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"447","target":"55","id":"9120","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"315","target":"189","id":"8854","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"710","target":"779","id":"939","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"230","target":"41","id":"3780","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"660","target":"476","id":"2458","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"331","target":"30","id":"1094","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"119","target":"273","id":"7336","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"442","target":"602","id":"4042","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"628","target":"849","id":"4635","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"380","target":"71","id":"4048","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"258","target":"56","id":"591","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"986","target":"610","id":"3402","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"126","target":"198","id":"6042","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"28","target":"666","id":"1083","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"790","target":"592","id":"575","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"133","target":"353","id":"8759","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"553","target":"732","id":"1683","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"669","target":"743","id":"3508","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"178","target":"514","id":"1953","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"246","target":"92","id":"7812","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"615","target":"967","id":"283","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"295","target":"509","id":"1331","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"998","target":"129","id":"1898","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"894","target":"647","id":"5792","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"36","target":"50","id":"6355","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"291","target":"210","id":"4417","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"786","target":"513","id":"9414","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"480","target":"211","id":"99","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"846","target":"617","id":"1738","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"865","target":"333","id":"3440","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"189","target":"740","id":"3662","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"285","target":"222","id":"1302","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"833","target":"741","id":"3190","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"177","target":"133","id":"5172","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"459","target":"91","id":"9892","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"505","target":"922","id":"4301","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"101","target":"111","id":"5008","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"922","target":"947","id":"3070","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"146","target":"728","id":"7826","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"506","target":"721","id":"8617","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"472","target":"88","id":"9260","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"555","target":"774","id":"8326","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"572","target":"626","id":"5883","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"882","target":"335","id":"5478","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"186","target":"913","id":"372","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"328","target":"171","id":"6837","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"760","target":"803","id":"8413","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"8","target":"8","id":"71","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"937","target":"914","id":"5432","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"907","target":"984","id":"5436","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"489","target":"186","id":"7160","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"554","target":"541","id":"4855","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"714","target":"63","id":"4956","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"944","target":"146","id":"6259","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"408","target":"781","id":"2227","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"648","target":"32","id":"7320","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"933","target":"17","id":"1152","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"500","target":"993","id":"6437","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"681","target":"713","id":"707","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"752","target":"258","id":"3798","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"712","target":"114","id":"1673","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"753","target":"644","id":"5757","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"100","target":"84","id":"2532","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"787","target":"0","id":"3539","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"59","target":"76","id":"7178","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"626","target":"638","id":"7834","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"953","target":"36","id":"8348","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"461","target":"105","id":"6759","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"20","target":"95","id":"276","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"897","target":"316","id":"4209","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"439","target":"650","id":"1343","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"780","target":"973","id":"4676","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"65","target":"4","id":"2146","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"585","target":"205","id":"8881","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"825","target":"242","id":"2007","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"276","target":"363","id":"1567","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"784","target":"608","id":"4726","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"57","target":"60","id":"8926","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"110","target":"869","id":"1041","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"683","target":"169","id":"5232","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"899","target":"872","id":"5814","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"50","target":"40","id":"3903","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"211","target":"442","id":"6807","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"93","target":"983","id":"7494","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"837","target":"25","id":"3885","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"887","target":"105","id":"5566","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"847","target":"522","id":"8988","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"231","target":"311","id":"8213","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"78","target":"392","id":"7636","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"897","target":"169","id":"9349","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"967","target":"458","id":"2047","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"924","target":"766","id":"5249","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"28","target":"767","id":"8851","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"137","target":"240","id":"1439","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"260","target":"378","id":"2829","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"372","target":"653","id":"1140","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"652","target":"487","id":"6146","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"587","target":"53","id":"8284","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"304","target":"301","id":"576","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"472","target":"849","id":"1281","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"196","target":"535","id":"1328","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"918","target":"165","id":"5453","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"417","target":"296","id":"5542","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"164","target":"624","id":"2710","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"349","target":"319","id":"5963","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"318","target":"233","id":"1491","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"479","target":"425","id":"5076","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"456","target":"64","id":"506","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"897","target":"146","id":"6717","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"245","target":"858","id":"8772","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"319","target":"661","id":"1113","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"370","target":"700","id":"563","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"517","target":"917","id":"5259","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"879","target":"854","id":"6114","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"772","target":"471","id":"6706","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"31","target":"594","id":"7850","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"264","target":"302","id":"4625","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"858","target":"503","id":"7734","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"603","target":"992","id":"5411","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"697","target":"955","id":"5568","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"318","target":"790","id":"9866","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"819","target":"763","id":"2016","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"189","target":"576","id":"3317","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"562","target":"970","id":"4217","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"661","target":"771","id":"8576","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"438","target":"446","id":"2526","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"981","target":"577","id":"6429","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"624","target":"940","id":"3596","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"963","target":"804","id":"8061","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"838","target":"818","id":"150","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"136","target":"339","id":"508","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"121","target":"699","id":"916","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"452","target":"245","id":"2376","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"139","target":"463","id":"6084","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"998","target":"956","id":"441","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"751","target":"639","id":"934","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"741","target":"973","id":"1604","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"88","target":"440","id":"2919","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"602","target":"831","id":"1170","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"223","target":"701","id":"8778","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"744","target":"540","id":"1255","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"189","target":"762","id":"6505","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"945","target":"247","id":"946","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"720","target":"587","id":"4162","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"678","target":"126","id":"4133","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"404","target":"994","id":"7430","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"143","target":"990","id":"5138","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"560","target":"888","id":"2550","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"501","target":"152","id":"6147","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"556","target":"336","id":"1287","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"534","target":"791","id":"2465","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"607","target":"578","id":"9983","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"544","target":"11","id":"9241","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"422","target":"577","id":"135","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"644","target":"28","id":"1646","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"902","target":"788","id":"4583","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"225","target":"585","id":"8445","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"589","target":"182","id":"1990","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"902","target":"160","id":"469","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"442","target":"960","id":"2525","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"996","target":"812","id":"3819","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"747","target":"988","id":"1668","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"190","target":"788","id":"2778","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"622","target":"972","id":"8690","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"763","target":"259","id":"2439","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"236","target":"129","id":"5607","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"282","target":"294","id":"1038","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"843","target":"614","id":"2999","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"960","target":"446","id":"491","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"711","target":"360","id":"1037","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"266","target":"511","id":"2627","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"737","target":"196","id":"3617","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"12","target":"383","id":"5447","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"340","target":"522","id":"6006","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"700","target":"537","id":"6323","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"792","target":"471","id":"4897","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"132","target":"513","id":"9871","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"499","target":"654","id":"1998","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"620","target":"253","id":"3049","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"217","target":"311","id":"3133","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"420","target":"16","id":"7096","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"397","target":"443","id":"711","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"106","target":"166","id":"6753","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"763","target":"561","id":"5584","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"905","target":"79","id":"2313","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"429","target":"19","id":"4415","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"388","target":"363","id":"877","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"494","target":"460","id":"8211","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"918","target":"780","id":"2553","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"239","target":"827","id":"2739","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"774","target":"468","id":"3467","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"952","target":"672","id":"4173","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"593","target":"552","id":"4338","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"490","target":"585","id":"9271","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"524","target":"276","id":"4708","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"978","target":"44","id":"6555","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"972","target":"223","id":"2077","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"190","target":"934","id":"5681","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"384","target":"509","id":"2761","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"870","target":"272","id":"2363","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"318","target":"659","id":"3115","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"188","target":"531","id":"5414","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"799","target":"3","id":"3716","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"182","target":"129","id":"5090","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"529","target":"297","id":"2228","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"530","target":"95","id":"4175","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"386","target":"283","id":"3580","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"968","target":"158","id":"922","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"166","target":"110","id":"1068","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"282","target":"763","id":"4152","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"168","target":"840","id":"3773","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"257","target":"726","id":"9116","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"242","target":"428","id":"907","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"284","target":"387","id":"4030","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"575","target":"815","id":"407","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"252","target":"781","id":"1166","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"204","target":"608","id":"8630","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"746","target":"509","id":"2357","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"875","target":"54","id":"4050","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"727","target":"607","id":"2698","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"477","target":"821","id":"5307","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"872","target":"309","id":"7231","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"543","target":"591","id":"8862","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"711","target":"62","id":"2144","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"709","target":"81","id":"1558","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"752","target":"800","id":"6307","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"433","target":"851","id":"9193","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"581","target":"258","id":"9616","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"37","target":"921","id":"2245","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"493","target":"55","id":"9463","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"334","target":"608","id":"3944","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"105","target":"564","id":"9378","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"314","target":"789","id":"9991","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"391","target":"226","id":"5007","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"469","target":"775","id":"8514","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"320","target":"41","id":"3422","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"364","target":"468","id":"8680","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"972","target":"91","id":"495","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"89","target":"592","id":"3840","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"789","target":"65","id":"1046","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"55","target":"478","id":"1063","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"818","target":"200","id":"9602","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"544","target":"353","id":"644","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"989","target":"320","id":"681","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"832","target":"222","id":"8463","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"48","target":"485","id":"3151","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"38","target":"557","id":"4841","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"697","target":"438","id":"5133","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"511","target":"916","id":"310","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"863","target":"158","id":"8301","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"956","target":"573","id":"1430","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"363","target":"5","id":"1798","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"20","target":"960","id":"9230","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"703","target":"245","id":"892","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"403","target":"721","id":"4163","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"652","target":"964","id":"4620","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"531","target":"106","id":"6987","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"970","target":"657","id":"768","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"435","target":"876","id":"2807","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"841","target":"165","id":"9242","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"351","target":"784","id":"3502","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"411","target":"279","id":"5694","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"431","target":"680","id":"8045","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"152","target":"420","id":"3627","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"662","target":"645","id":"6145","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"79","target":"550","id":"5644","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"795","target":"558","id":"5835","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"152","target":"737","id":"7213","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"609","target":"28","id":"4737","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"503","target":"241","id":"2321","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"76","target":"853","id":"8410","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"812","target":"970","id":"3068","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"48","target":"415","id":"4544","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"730","target":"297","id":"1666","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"858","target":"866","id":"1254","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"745","target":"293","id":"2082","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"175","target":"613","id":"4809","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"419","target":"449","id":"1201","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"341","target":"61","id":"1623","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"541","target":"583","id":"3498","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"71","target":"401","id":"2206","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"521","target":"367","id":"6910","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"560","target":"74","id":"5604","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"892","target":"467","id":"9979","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"231","target":"83","id":"7395","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"574","target":"17","id":"166","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"764","target":"291","id":"7278","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"227","target":"178","id":"8632","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"878","target":"689","id":"8080","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"928","target":"163","id":"6965","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"993","target":"583","id":"8533","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"985","target":"564","id":"9390","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"835","target":"896","id":"1746","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"270","target":"224","id":"3137","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"480","target":"134","id":"6051","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"94","target":"540","id":"6308","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"32","target":"265","id":"4935","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"249","target":"421","id":"1108","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"648","target":"977","id":"820","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"297","target":"290","id":"4391","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"448","target":"383","id":"5429","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"647","target":"400","id":"5212","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"288","target":"884","id":"6107","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"747","target":"101","id":"7006","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"231","target":"904","id":"9305","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"617","target":"496","id":"2260","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"965","target":"994","id":"364","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"336","target":"677","id":"1385","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"55","target":"255","id":"3329","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"633","target":"299","id":"7483","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"997","target":"913","id":"3890","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"828","target":"578","id":"5587","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"452","target":"991","id":"7934","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"849","target":"449","id":"599","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"123","target":"19","id":"4435","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"240","target":"314","id":"3429","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"986","target":"928","id":"7944","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"501","target":"926","id":"7190","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"511","target":"256","id":"326","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"544","target":"661","id":"5257","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"556","target":"709","id":"1262","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"969","target":"910","id":"8933","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"648","target":"67","id":"862","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"810","target":"551","id":"7795","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"605","target":"477","id":"8344","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"44","target":"521","id":"457","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"655","target":"539","id":"5599","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"307","target":"223","id":"9617","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"558","target":"334","id":"4661","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"5","target":"448","id":"6625","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"903","target":"163","id":"8679","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"581","target":"663","id":"9133","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"275","target":"815","id":"577","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"49","target":"928","id":"1412","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"874","target":"949","id":"9437","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"225","target":"18","id":"2619","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"236","target":"847","id":"2794","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"54","target":"595","id":"9735","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"816","target":"132","id":"474","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"144","target":"190","id":"3008","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"871","target":"678","id":"7436","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"700","target":"353","id":"7703","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"943","target":"901","id":"2768","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"784","target":"953","id":"9980","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"47","target":"536","id":"971","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"781","target":"549","id":"7367","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"189","target":"548","id":"4500","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"479","target":"321","id":"5300","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"462","target":"674","id":"7660","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"844","target":"288","id":"7725","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"666","target":"975","id":"3565","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"21","target":"505","id":"7248","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"938","target":"352","id":"7421","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"432","target":"295","id":"8251","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"553","target":"140","id":"6387","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"177","target":"676","id":"7733","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"636","target":"503","id":"1992","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"588","target":"492","id":"2283","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"680","target":"646","id":"3886","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"365","target":"403","id":"8500","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"90","target":"354","id":"3357","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"611","target":"498","id":"7739","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"700","target":"317","id":"5992","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"274","target":"442","id":"18","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"888","target":"806","id":"5152","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"22","target":"520","id":"2569","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"578","target":"629","id":"8377","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"469","target":"944","id":"53","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"15","target":"625","id":"3503","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"759","target":"377","id":"1421","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"221","target":"590","id":"6799","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"524","target":"768","id":"7710","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"368","target":"182","id":"2482","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"642","target":"701","id":"7420","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"131","target":"868","id":"4513","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"233","target":"849","id":"6348","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"230","target":"413","id":"3635","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"236","target":"743","id":"4810","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"20","target":"583","id":"6172","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"556","target":"706","id":"322","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"750","target":"532","id":"2666","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"905","target":"861","id":"153","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"936","target":"220","id":"8259","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"1","target":"995","id":"2899","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"585","target":"846","id":"4971","attributes":{},"color":"rgb(169,183,0)","size":2.0},{"source":"25","target":"294","id":"981","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"367","target":"819","id":"5324","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"122","target":"503","id":"3570","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"583","target":"175","id":"1900","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"501","target":"690","id":"1374","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"836","target":"402","id":"5342","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"842","target":"846","id":"4804","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"296","target":"344","id":"8322","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"771","target":"293","id":"1136","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"184","target":"713","id":"9566","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"617","target":"226","id":"7828","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"872","target":"572","id":"3513","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"144","target":"316","id":"2613","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"209","target":"18","id":"5144","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"562","target":"227","id":"3179","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"770","target":"110","id":"4416","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"43","target":"383","id":"5873","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"360","target":"958","id":"8008","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"94","target":"482","id":"9186","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"851","target":"841","id":"6274","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"2","target":"506","id":"5252","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"381","target":"222","id":"2649","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"942","target":"133","id":"4023","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"704","target":"125","id":"5365","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"78","target":"914","id":"1783","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"191","target":"410","id":"3257","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"392","target":"555","id":"9896","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"647","target":"111","id":"2575","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"298","target":"581","id":"6381","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"532","target":"463","id":"184","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"125","target":"823","id":"1791","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"382","target":"18","id":"7956","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"75","target":"164","id":"9817","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"392","target":"392","id":"1105","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"787","target":"24","id":"1757","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"802","target":"749","id":"3335","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"200","target":"287","id":"6700","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"604","target":"60","id":"2225","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"867","target":"504","id":"1592","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"61","target":"177","id":"4478","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"716","target":"708","id":"8767","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"335","target":"866","id":"3172","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"680","target":"647","id":"6879","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"378","target":"612","id":"9456","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"323","target":"428","id":"6560","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"281","target":"40","id":"8945","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"74","target":"403","id":"9150","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"74","target":"221","id":"3823","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"633","target":"516","id":"8712","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"378","target":"135","id":"399","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"372","target":"249","id":"7012","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"463","target":"388","id":"586","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"418","target":"27","id":"7851","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"971","target":"697","id":"3147","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"709","target":"393","id":"502","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"277","target":"246","id":"6615","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"495","target":"326","id":"4128","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"868","target":"951","id":"7197","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"571","target":"238","id":"2043","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"838","target":"472","id":"9407","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"397","target":"475","id":"3420","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"636","target":"568","id":"8364","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"584","target":"14","id":"1059","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"305","target":"630","id":"1564","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"69","target":"379","id":"8318","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"162","target":"890","id":"1478","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"216","target":"888","id":"4729","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"41","target":"359","id":"8138","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"879","target":"619","id":"3984","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"528","target":"741","id":"4051","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"99","target":"938","id":"8287","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"328","target":"823","id":"1357","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"123","target":"377","id":"6776","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"51","target":"621","id":"8425","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"772","target":"923","id":"9721","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"357","target":"713","id":"1452","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"341","target":"905","id":"5969","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"292","target":"311","id":"7534","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"469","target":"126","id":"4964","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"390","target":"741","id":"5528","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"397","target":"863","id":"5550","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"79","target":"393","id":"2962","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"226","target":"89","id":"6283","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"266","target":"907","id":"6319","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"225","target":"560","id":"9898","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"461","target":"592","id":"350","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"963","target":"274","id":"4747","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"894","target":"530","id":"2","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"435","target":"340","id":"7548","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"629","target":"443","id":"2701","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"7","target":"382","id":"582","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"214","target":"81","id":"5182","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"144","target":"796","id":"6862","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"151","target":"20","id":"4170","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"612","target":"245","id":"5838","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"77","target":"474","id":"6465","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"304","target":"431","id":"257","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"448","target":"229","id":"4362","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"372","target":"486","id":"9688","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"372","target":"261","id":"4968","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"656","target":"670","id":"5093","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"731","target":"368","id":"3062","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"78","target":"234","id":"2721","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"77","target":"971","id":"528","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"157","target":"894","id":"2048","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"732","target":"578","id":"3532","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"28","target":"768","id":"5216","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"827","target":"361","id":"5290","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"982","target":"237","id":"2435","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"227","target":"448","id":"6698","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"845","target":"322","id":"6326","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"439","target":"713","id":"3024","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"860","target":"75","id":"2011","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"899","target":"768","id":"1682","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"557","target":"99","id":"8804","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"640","target":"915","id":"8876","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"524","target":"375","id":"8131","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"30","target":"845","id":"6444","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"992","target":"964","id":"1576","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"628","target":"132","id":"2299","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"250","target":"514","id":"4135","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"981","target":"244","id":"1736","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"548","target":"523","id":"7712","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"778","target":"972","id":"30","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"347","target":"677","id":"792","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"93","target":"708","id":"633","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"127","target":"748","id":"9056","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"342","target":"697","id":"9652","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"65","target":"445","id":"1137","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"743","target":"717","id":"4034","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"714","target":"506","id":"1636","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"455","target":"153","id":"179","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"958","target":"100","id":"8812","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"170","target":"367","id":"7087","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"43","target":"104","id":"1510","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"929","target":"459","id":"3675","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"554","target":"504","id":"496","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"112","target":"121","id":"8542","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"740","target":"140","id":"8492","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"757","target":"318","id":"1972","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"419","target":"364","id":"4211","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"35","target":"693","id":"7566","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"177","target":"42","id":"1792","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"129","target":"163","id":"7415","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"182","target":"671","id":"1018","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"693","target":"599","id":"8912","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"595","target":"232","id":"7680","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"402","target":"599","id":"8715","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"376","target":"10","id":"3227","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"415","target":"302","id":"4516","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"492","target":"408","id":"5525","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"522","target":"528","id":"5695","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"708","target":"966","id":"4629","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"488","target":"472","id":"3972","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"846","target":"54","id":"4846","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"422","target":"939","id":"7136","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"71","target":"152","id":"1342","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"131","target":"697","id":"7162","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"925","target":"662","id":"3134","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"531","target":"828","id":"7767","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"322","target":"77","id":"589","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"1","target":"339","id":"937","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"360","target":"949","id":"2015","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"152","target":"879","id":"3362","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"24","target":"505","id":"7891","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"382","target":"96","id":"8495","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"766","target":"896","id":"3591","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"102","target":"36","id":"4334","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"629","target":"93","id":"9248","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"153","target":"818","id":"1480","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"369","target":"93","id":"6793","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"84","target":"922","id":"3007","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"729","target":"478","id":"4634","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"491","target":"5","id":"8237","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"953","target":"754","id":"2473","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"736","target":"132","id":"9232","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"530","target":"872","id":"416","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"133","target":"593","id":"465","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"180","target":"924","id":"9608","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"176","target":"470","id":"6207","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"900","target":"370","id":"7122","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"756","target":"553","id":"6595","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"278","target":"277","id":"3340","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"797","target":"353","id":"3940","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"642","target":"195","id":"8598","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"519","target":"716","id":"5286","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"355","target":"64","id":"6771","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"509","target":"456","id":"7798","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"346","target":"370","id":"468","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"825","target":"495","id":"211","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"908","target":"841","id":"4018","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"907","target":"993","id":"4262","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"182","target":"538","id":"5742","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"110","target":"225","id":"4859","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"162","target":"510","id":"5529","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"677","target":"693","id":"8649","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"950","target":"355","id":"1489","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"264","target":"779","id":"9100","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"89","target":"89","id":"9716","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"630","target":"799","id":"9171","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"78","target":"993","id":"1828","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"678","target":"298","id":"7601","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"203","target":"561","id":"6030","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"822","target":"611","id":"7709","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"912","target":"43","id":"9491","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"278","target":"728","id":"5755","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"860","target":"71","id":"2209","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"495","target":"116","id":"7202","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"828","target":"600","id":"9421","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"273","target":"838","id":"2974","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"491","target":"513","id":"3583","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"881","target":"784","id":"7126","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"464","target":"826","id":"8482","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"149","target":"48","id":"7","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"517","target":"994","id":"3837","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"474","target":"810","id":"421","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"613","target":"819","id":"2510","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"535","target":"840","id":"6969","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"471","target":"133","id":"7342","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"629","target":"934","id":"6302","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"923","target":"520","id":"6953","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"475","target":"767","id":"1097","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"990","target":"155","id":"4151","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"123","target":"974","id":"5556","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"719","target":"151","id":"9125","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"202","target":"406","id":"1671","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"114","target":"628","id":"1504","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"265","target":"213","id":"5040","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"954","target":"806","id":"1372","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"488","target":"11","id":"4340","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"520","target":"478","id":"2308","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"168","target":"414","id":"7372","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"669","target":"439","id":"3689","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"675","target":"972","id":"7671","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"187","target":"223","id":"2213","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"633","target":"686","id":"8240","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"125","target":"234","id":"1579","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"464","target":"23","id":"9088","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"523","target":"572","id":"6143","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"238","target":"959","id":"1396","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"394","target":"438","id":"4264","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"465","target":"436","id":"1361","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"367","target":"502","id":"2967","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"627","target":"511","id":"6767","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"89","target":"869","id":"7103","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"364","target":"610","id":"7550","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"197","target":"71","id":"7630","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"575","target":"264","id":"927","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"203","target":"6","id":"9945","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"90","target":"248","id":"5175","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"655","target":"99","id":"1951","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"42","target":"836","id":"167","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"408","target":"809","id":"1217","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"985","target":"421","id":"600","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"502","target":"595","id":"5912","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"251","target":"161","id":"3078","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"668","target":"420","id":"45","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"950","target":"545","id":"6916","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"199","target":"799","id":"3646","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"681","target":"379","id":"4498","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"654","target":"547","id":"5796","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"307","target":"122","id":"6912","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"248","target":"564","id":"5622","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"26","target":"652","id":"504","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"959","target":"775","id":"697","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"249","target":"777","id":"7228","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"921","target":"88","id":"4144","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"766","target":"540","id":"6998","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"658","target":"884","id":"6069","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"780","target":"768","id":"9289","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"642","target":"598","id":"1048","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"371","target":"849","id":"6737","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"315","target":"212","id":"2730","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"294","target":"229","id":"4411","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"485","target":"553","id":"9623","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"744","target":"953","id":"3853","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"789","target":"398","id":"5595","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"574","target":"468","id":"9778","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"862","target":"979","id":"8449","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"462","target":"482","id":"7381","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"344","target":"820","id":"4341","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"333","target":"122","id":"2645","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"780","target":"301","id":"5023","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"875","target":"566","id":"9330","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"320","target":"748","id":"4746","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"474","target":"653","id":"210","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"280","target":"836","id":"7176","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"412","target":"979","id":"2212","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"158","target":"612","id":"4157","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"698","target":"832","id":"3023","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"726","target":"453","id":"6887","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"629","target":"972","id":"9583","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"939","target":"968","id":"6402","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"362","target":"823","id":"2598","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"161","target":"281","id":"3250","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"336","target":"575","id":"6105","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"63","target":"312","id":"7387","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"358","target":"611","id":"1299","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"119","target":"473","id":"3740","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"671","target":"217","id":"2353","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"26","target":"233","id":"9151","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"506","target":"619","id":"6704","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"424","target":"195","id":"1348","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"717","target":"830","id":"189","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"882","target":"397","id":"4290","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"631","target":"402","id":"4767","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"131","target":"396","id":"3409","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"410","target":"556","id":"493","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"709","target":"713","id":"953","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"171","target":"990","id":"2629","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"808","target":"706","id":"4616","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"395","target":"987","id":"3079","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"557","target":"335","id":"8837","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"48","target":"603","id":"1515","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"965","target":"953","id":"490","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"532","target":"986","id":"682","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"311","target":"295","id":"1485","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"436","target":"808","id":"565","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"647","target":"394","id":"3680","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"55","target":"172","id":"9144","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"572","target":"480","id":"2323","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"664","target":"345","id":"8496","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"807","target":"62","id":"511","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"634","target":"560","id":"8409","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"727","target":"587","id":"8783","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"898","target":"500","id":"7718","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"711","target":"270","id":"7895","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"983","target":"828","id":"2717","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"81","target":"556","id":"5874","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"194","target":"387","id":"6456","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"412","target":"7","id":"8430","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"669","target":"582","id":"4049","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"545","target":"236","id":"7711","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"594","target":"116","id":"2858","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"951","target":"66","id":"9428","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"321","target":"869","id":"6653","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"658","target":"145","id":"7676","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"355","target":"777","id":"5213","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"202","target":"440","id":"9168","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"344","target":"234","id":"7441","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"217","target":"751","id":"5486","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"663","target":"784","id":"1928","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"289","target":"416","id":"2513","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"226","target":"52","id":"8062","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"78","target":"311","id":"774","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"494","target":"213","id":"4550","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"481","target":"209","id":"2149","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"394","target":"274","id":"1284","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"341","target":"518","id":"3781","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"164","target":"909","id":"9396","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"362","target":"851","id":"7241","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"678","target":"581","id":"2750","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"273","target":"832","id":"8951","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"853","target":"90","id":"6631","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"524","target":"110","id":"1716","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"964","target":"315","id":"6715","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"618","target":"557","id":"5118","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"925","target":"167","id":"3562","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"165","target":"481","id":"7615","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"67","target":"768","id":"7678","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"391","target":"185","id":"3397","attributes":{},"color":"rgb(60,96,15)","size":2.0},{"source":"974","target":"867","id":"362","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"902","target":"129","id":"5080","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"500","target":"764","id":"6719","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"356","target":"795","id":"5919","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"601","target":"220","id":"9726","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"30","target":"793","id":"1132","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"926","target":"114","id":"7272","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"590","target":"610","id":"6251","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"778","target":"576","id":"4983","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"56","target":"411","id":"3867","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"495","target":"340","id":"9051","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"349","target":"320","id":"9117","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"821","target":"156","id":"4200","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"616","target":"217","id":"6337","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"965","target":"530","id":"8106","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"772","target":"340","id":"3065","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"646","target":"962","id":"8180","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"399","target":"761","id":"4242","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"230","target":"48","id":"967","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"619","target":"770","id":"2203","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"248","target":"150","id":"5439","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"972","target":"450","id":"2020","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"406","target":"735","id":"5880","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"273","target":"864","id":"1110","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"697","target":"92","id":"9413","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"686","target":"533","id":"2818","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"147","target":"84","id":"7101","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"581","target":"399","id":"791","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"560","target":"195","id":"1735","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"775","target":"166","id":"5724","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"79","target":"756","id":"117","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"403","target":"260","id":"3597","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"905","target":"976","id":"753","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"374","target":"586","id":"1627","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"581","target":"80","id":"6128","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"962","target":"719","id":"1552","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"926","target":"100","id":"2954","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"920","target":"273","id":"1441","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"317","target":"593","id":"1927","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"653","target":"712","id":"3767","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"971","target":"746","id":"6794","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"404","target":"971","id":"2182","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"651","target":"906","id":"5879","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"60","target":"80","id":"9280","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"289","target":"986","id":"1863","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"941","target":"639","id":"8896","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"203","target":"507","id":"89","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"551","target":"687","id":"107","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"542","target":"951","id":"608","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"373","target":"212","id":"8546","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"57","target":"133","id":"4854","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"83","target":"846","id":"6526","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"450","target":"442","id":"1002","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"635","target":"650","id":"4679","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"70","target":"87","id":"9924","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"636","target":"880","id":"3027","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"737","target":"170","id":"8480","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"172","target":"754","id":"2037","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"175","target":"66","id":"7926","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"61","target":"435","id":"3208","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"777","target":"415","id":"4165","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"153","target":"354","id":"3366","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"520","target":"219","id":"7769","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"193","target":"644","id":"5418","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"730","target":"61","id":"4090","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"115","target":"441","id":"2795","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"124","target":"312","id":"325","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"84","target":"676","id":"5207","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"998","target":"935","id":"2911","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"188","target":"677","id":"5374","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"675","target":"131","id":"9744","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"340","target":"319","id":"9178","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"597","target":"800","id":"2956","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"351","target":"576","id":"6007","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"688","target":"891","id":"9071","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"593","target":"923","id":"9665","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"485","target":"748","id":"7460","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"306","target":"118","id":"3731","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"827","target":"372","id":"8339","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"944","target":"443","id":"9774","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"920","target":"278","id":"7060","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"186","target":"988","id":"8585","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"993","target":"471","id":"5660","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"286","target":"115","id":"1732","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"634","target":"214","id":"177","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"416","target":"711","id":"2783","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"479","target":"970","id":"3255","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"860","target":"766","id":"8347","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"129","target":"364","id":"7035","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"735","target":"11","id":"9309","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"794","target":"760","id":"9478","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"266","target":"835","id":"7790","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"748","target":"957","id":"822","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"122","target":"234","id":"8890","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"566","target":"780","id":"9357","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"753","target":"260","id":"9265","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"635","target":"0","id":"7877","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"695","target":"918","id":"1011","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"781","target":"174","id":"7217","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"807","target":"983","id":"628","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"843","target":"610","id":"729","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"794","target":"481","id":"6075","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"978","target":"363","id":"7374","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"407","target":"260","id":"769","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"40","target":"743","id":"4288","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"932","target":"872","id":"7717","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"365","target":"319","id":"8319","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"719","target":"705","id":"8417","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"395","target":"190","id":"522","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"698","target":"191","id":"5303","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"989","target":"493","id":"2223","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"218","target":"110","id":"5837","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"795","target":"662","id":"9283","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"300","target":"513","id":"8529","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"75","target":"194","id":"8097","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"733","target":"167","id":"8245","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"791","target":"154","id":"3606","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"649","target":"193","id":"2140","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"497","target":"275","id":"9907","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"34","target":"693","id":"6461","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"767","target":"907","id":"3702","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"592","target":"363","id":"6077","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"291","target":"656","id":"3795","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"27","target":"432","id":"9895","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"322","target":"884","id":"7833","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"272","target":"954","id":"28","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"197","target":"320","id":"5473","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"260","target":"579","id":"3091","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"252","target":"71","id":"9042","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"862","target":"637","id":"4317","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"985","target":"505","id":"3978","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"556","target":"976","id":"5818","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"724","target":"429","id":"3613","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"306","target":"681","id":"5640","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"687","target":"294","id":"688","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"510","target":"561","id":"236","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"211","target":"528","id":"9834","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"399","target":"683","id":"2454","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"362","target":"502","id":"4199","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"377","target":"992","id":"6955","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"750","target":"620","id":"5927","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"785","target":"314","id":"7838","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"290","target":"220","id":"8534","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"210","target":"996","id":"8277","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"81","target":"289","id":"8303","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"612","target":"741","id":"437","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"932","target":"928","id":"7603","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"896","target":"211","id":"2601","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"29","target":"289","id":"4463","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"747","target":"221","id":"5680","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"161","target":"403","id":"7949","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"835","target":"696","id":"8946","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"404","target":"385","id":"2667","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"559","target":"61","id":"8810","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"687","target":"254","id":"6240","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"905","target":"363","id":"7584","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"737","target":"388","id":"4218","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"840","target":"727","id":"1997","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"13","target":"331","id":"8758","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"640","target":"71","id":"6339","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"114","target":"37","id":"5103","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"591","target":"251","id":"4695","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"838","target":"981","id":"6245","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"861","target":"764","id":"7628","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"96","target":"872","id":"2122","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"868","target":"425","id":"7076","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"84","target":"560","id":"4901","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"600","target":"78","id":"9017","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"982","target":"439","id":"6903","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"344","target":"372","id":"7169","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"936","target":"656","id":"6942","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"520","target":"506","id":"5382","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"161","target":"597","id":"6189","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"304","target":"995","id":"5124","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"926","target":"220","id":"1196","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"40","target":"141","id":"7755","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"333","target":"933","id":"1135","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"354","target":"291","id":"2700","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"308","target":"229","id":"4580","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"578","target":"419","id":"8004","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"597","target":"803","id":"1659","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"257","target":"14","id":"2481","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"192","target":"14","id":"7866","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"875","target":"248","id":"101","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"59","target":"297","id":"9344","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"240","target":"657","id":"5909","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"770","target":"64","id":"9828","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"158","target":"158","id":"909","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"57","target":"334","id":"558","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"962","target":"47","id":"1588","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"304","target":"263","id":"3249","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"48","target":"35","id":"6108","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"379","target":"15","id":"9713","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"837","target":"952","id":"3005","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"557","target":"802","id":"3326","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"255","target":"998","id":"8365","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"267","target":"528","id":"887","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"498","target":"181","id":"3924","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"938","target":"390","id":"9490","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"660","target":"727","id":"4505","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"664","target":"320","id":"5592","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"366","target":"432","id":"3980","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"476","target":"127","id":"4631","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"961","target":"780","id":"1397","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"993","target":"486","id":"2771","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"302","target":"128","id":"172","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"329","target":"371","id":"2330","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"490","target":"780","id":"2733","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"124","target":"234","id":"8306","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"213","target":"418","id":"1274","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"59","target":"252","id":"2300","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"621","target":"305","id":"1658","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"141","target":"460","id":"8859","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"962","target":"167","id":"1833","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"483","target":"769","id":"7289","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"837","target":"769","id":"1414","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"279","target":"779","id":"4569","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"411","target":"464","id":"2637","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"393","target":"924","id":"3478","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"328","target":"550","id":"2757","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"733","target":"848","id":"514","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"769","target":"318","id":"859","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"255","target":"384","id":"9324","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"897","target":"443","id":"4454","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"722","target":"828","id":"7652","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"76","target":"804","id":"9930","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"521","target":"308","id":"5264","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"748","target":"640","id":"1098","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"556","target":"991","id":"4961","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"845","target":"175","id":"9869","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"272","target":"625","id":"1388","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"902","target":"496","id":"4353","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"69","target":"185","id":"8824","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"696","target":"301","id":"4744","attributes":{},"color":"rgb(255,85,132)","size":2.0},{"source":"532","target":"268","id":"5723","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"841","target":"286","id":"5996","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"941","target":"404","id":"7822","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"101","target":"318","id":"6845","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"265","target":"91","id":"5975","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"547","target":"4","id":"4286","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"285","target":"376","id":"81","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"57","target":"783","id":"7597","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"599","target":"825","id":"5301","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"984","target":"561","id":"3705","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"727","target":"843","id":"7724","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"645","target":"54","id":"4096","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"608","target":"696","id":"2547","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"489","target":"126","id":"4718","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"841","target":"608","id":"7371","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"202","target":"981","id":"1523","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"992","target":"78","id":"148","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"712","target":"519","id":"2560","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"661","target":"610","id":"5823","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"446","target":"57","id":"2101","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"377","target":"865","id":"702","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"898","target":"316","id":"3861","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"644","target":"186","id":"5538","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"755","target":"253","id":"7461","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"429","target":"398","id":"9423","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"133","target":"500","id":"573","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"250","target":"123","id":"7384","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"792","target":"372","id":"7061","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"739","target":"940","id":"7547","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"310","target":"666","id":"3590","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"203","target":"980","id":"5353","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"804","target":"622","id":"8770","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"757","target":"910","id":"6786","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"576","target":"8","id":"9143","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"252","target":"321","id":"6141","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"502","target":"764","id":"9320","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"605","target":"703","id":"4924","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"604","target":"869","id":"2241","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"233","target":"391","id":"3790","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"218","target":"918","id":"47","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"127","target":"178","id":"2210","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"805","target":"431","id":"8340","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"942","target":"292","id":"2166","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"650","target":"794","id":"1701","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"71","target":"452","id":"8675","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"356","target":"497","id":"2151","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"427","target":"152","id":"5904","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"600","target":"629","id":"4022","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"732","target":"661","id":"7539","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"648","target":"329","id":"4311","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"358","target":"729","id":"4532","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"946","target":"881","id":"9977","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"914","target":"60","id":"1479","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"582","target":"889","id":"2246","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"848","target":"784","id":"6523","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"461","target":"788","id":"7777","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"683","target":"729","id":"8260","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"102","target":"102","id":"4648","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"401","target":"406","id":"6047","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"164","target":"493","id":"824","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"225","target":"954","id":"2168","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"33","target":"74","id":"5686","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"431","target":"645","id":"5997","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"583","target":"816","id":"3369","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"99","target":"171","id":"7588","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"24","target":"246","id":"5825","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"307","target":"712","id":"6968","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"879","target":"378","id":"168","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"94","target":"79","id":"4873","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"0","target":"377","id":"1411","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"112","target":"829","id":"6746","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"643","target":"958","id":"7654","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"809","target":"581","id":"4397","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"54","target":"605","id":"9509","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"905","target":"997","id":"7146","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"137","target":"770","id":"4599","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"181","target":"263","id":"9418","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"79","target":"333","id":"1782","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"681","target":"240","id":"1806","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"861","target":"703","id":"9875","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"926","target":"494","id":"1327","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"970","target":"697","id":"9574","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"898","target":"780","id":"2332","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"542","target":"615","id":"9295","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"402","target":"742","id":"1232","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"528","target":"130","id":"9402","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"955","target":"719","id":"4925","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"40","target":"490","id":"1052","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"20","target":"305","id":"2989","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"484","target":"428","id":"8292","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"733","target":"728","id":"2939","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"421","target":"45","id":"7345","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"264","target":"569","id":"4027","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"26","target":"171","id":"9612","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"346","target":"489","id":"1596","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"7","target":"690","id":"8578","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"23","target":"258","id":"9803","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"43","target":"59","id":"8963","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"330","target":"365","id":"6413","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"838","target":"381","id":"1754","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"595","target":"861","id":"2187","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"167","target":"487","id":"3601","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"641","target":"259","id":"2766","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"66","target":"146","id":"7699","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"962","target":"483","id":"6010","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"695","target":"695","id":"2339","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"898","target":"191","id":"1916","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"733","target":"468","id":"7536","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"423","target":"926","id":"2843","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"332","target":"316","id":"5509","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"807","target":"988","id":"861","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"275","target":"129","id":"1740","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"316","target":"658","id":"4398","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"566","target":"469","id":"1842","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"412","target":"451","id":"1581","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"199","target":"219","id":"6026","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"145","target":"163","id":"5193","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"807","target":"242","id":"6369","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"229","target":"278","id":"4844","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"342","target":"726","id":"8226","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"790","target":"195","id":"4900","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"254","target":"938","id":"8986","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"309","target":"45","id":"6813","attributes":{},"color":"rgb(111,166,255)","size":2.0},{"source":"221","target":"978","id":"2089","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"706","target":"513","id":"4819","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"978","target":"817","id":"3760","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"796","target":"303","id":"7307","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"143","target":"263","id":"1337","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"491","target":"754","id":"39","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"969","target":"2","id":"1525","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"494","target":"668","id":"3808","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"661","target":"370","id":"8828","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"279","target":"52","id":"2841","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"48","target":"317","id":"787","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"890","target":"728","id":"2315","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"512","target":"972","id":"5308","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"809","target":"99","id":"4659","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"203","target":"612","id":"7925","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"86","target":"359","id":"1986","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"889","target":"497","id":"1649","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"69","target":"609","id":"4954","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"1","target":"217","id":"6534","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"55","target":"314","id":"5244","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"299","target":"546","id":"6581","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"934","target":"830","id":"9502","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"657","target":"619","id":"6053","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"441","target":"614","id":"7426","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"198","target":"666","id":"3086","attributes":{},"color":"rgb(76,70,62)","size":2.0},{"source":"5","target":"634","id":"6434","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"64","target":"169","id":"7501","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"697","target":"788","id":"1198","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"365","target":"412","id":"993","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"820","target":"569","id":"3843","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"707","target":"788","id":"4509","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"57","target":"370","id":"3013","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"816","target":"507","id":"7760","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"659","target":"647","id":"8190","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"311","target":"925","id":"5717","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"307","target":"483","id":"7365","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"97","target":"662","id":"8206","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"130","target":"509","id":"8453","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"333","target":"18","id":"9666","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"133","target":"223","id":"1597","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"391","target":"97","id":"9618","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"337","target":"86","id":"2607","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"92","target":"141","id":"369","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"877","target":"448","id":"4557","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"680","target":"313","id":"3350","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"595","target":"302","id":"1335","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"541","target":"644","id":"2759","attributes":{},"color":"rgb(77,223,127)","size":2.0},{"source":"382","target":"150","id":"7183","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"891","target":"933","id":"5663","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"863","target":"191","id":"9771","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"367","target":"284","id":"3445","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"616","target":"259","id":"8603","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"383","target":"7","id":"5929","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"251","target":"819","id":"6733","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"545","target":"919","id":"5829","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"993","target":"256","id":"1366","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"203","target":"314","id":"5074","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"267","target":"14","id":"571","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"967","target":"691","id":"8398","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"49","target":"511","id":"3251","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"367","target":"942","id":"5708","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"339","target":"917","id":"2686","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"46","target":"993","id":"5842","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"751","target":"710","id":"9052","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"557","target":"518","id":"8572","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"543","target":"957","id":"4270","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"611","target":"952","id":"8494","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"857","target":"358","id":"8745","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"154","target":"351","id":"65","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"412","target":"440","id":"2706","attributes":{},"color":"rgb(223,137,255)","size":2.0},{"source":"522","target":"674","id":"3618","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"836","target":"243","id":"434","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"783","target":"635","id":"4560","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"585","target":"544","id":"7498","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"343","target":"703","id":"3268","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"182","target":"802","id":"5234","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"609","target":"495","id":"3135","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"864","target":"724","id":"5113","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"937","target":"894","id":"466","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"866","target":"885","id":"2870","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"246","target":"552","id":"7783","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"642","target":"314","id":"5526","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"56","target":"327","id":"2585","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"466","target":"303","id":"2670","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"431","target":"15","id":"5349","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"214","target":"967","id":"6995","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"713","target":"612","id":"5707","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"197","target":"315","id":"3274","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"942","target":"797","id":"7942","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"772","target":"576","id":"4228","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"74","target":"327","id":"9625","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"962","target":"978","id":"1700","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"339","target":"160","id":"9922","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"378","target":"574","id":"1647","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"455","target":"713","id":"7346","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"359","target":"337","id":"1917","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"799","target":"808","id":"9419","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"944","target":"991","id":"4220","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"37","target":"474","id":"4667","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"943","target":"2","id":"6537","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"550","target":"733","id":"121","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"379","target":"276","id":"365","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"482","target":"83","id":"1114","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"344","target":"175","id":"2268","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"412","target":"127","id":"9409","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"64","target":"420","id":"5240","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"379","target":"848","id":"464","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"451","target":"712","id":"5174","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"317","target":"407","id":"7855","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"428","target":"330","id":"7858","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"218","target":"385","id":"2490","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"180","target":"261","id":"4458","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"465","target":"944","id":"7723","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"157","target":"460","id":"8072","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"269","target":"839","id":"7593","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"485","target":"949","id":"8031","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"169","target":"90","id":"9910","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"747","target":"726","id":"1827","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"14","target":"532","id":"1892","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"919","target":"643","id":"2972","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"771","target":"55","id":"9760","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"367","target":"927","id":"2136","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"275","target":"25","id":"3715","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"367","target":"856","id":"7542","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"57","target":"903","id":"2192","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"861","target":"424","id":"6156","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"741","target":"94","id":"7586","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"149","target":"336","id":"492","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"517","target":"283","id":"4247","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"549","target":"465","id":"1403","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"131","target":"375","id":"4112","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"852","target":"224","id":"6613","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"958","target":"183","id":"931","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"301","target":"964","id":"9564","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"940","target":"233","id":"9940","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"21","target":"41","id":"9319","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"598","target":"474","id":"4981","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"858","target":"1","id":"235","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"378","target":"756","id":"6822","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"795","target":"659","id":"5457","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"240","target":"863","id":"1822","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"223","target":"328","id":"8718","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"611","target":"447","id":"5688","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"184","target":"987","id":"9900","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"69","target":"183","id":"3723","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"954","target":"105","id":"6082","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"497","target":"688","id":"6594","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"438","target":"892","id":"5176","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"59","target":"397","id":"5079","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"473","target":"505","id":"2044","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"115","target":"821","id":"6645","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"902","target":"991","id":"6580","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"550","target":"897","id":"5210","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"733","target":"376","id":"2230","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"916","target":"674","id":"1897","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"953","target":"77","id":"3264","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"510","target":"285","id":"7041","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"617","target":"305","id":"9039","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"242","target":"319","id":"678","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"20","target":"10","id":"3447","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"360","target":"116","id":"3540","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"596","target":"863","id":"8203","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"842","target":"757","id":"954","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"884","target":"534","id":"6796","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"413","target":"912","id":"7864","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"6","target":"463","id":"9307","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"95","target":"366","id":"6365","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"56","target":"596","id":"2938","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"313","target":"83","id":"5404","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"950","target":"902","id":"891","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"192","target":"993","id":"9833","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"553","target":"84","id":"4602","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"97","target":"579","id":"7097","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"654","target":"450","id":"5464","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"117","target":"457","id":"5977","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"469","target":"82","id":"6385","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"28","target":"72","id":"2516","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"909","target":"630","id":"8441","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"841","target":"723","id":"880","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"407","target":"669","id":"7721","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"672","target":"346","id":"9098","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"462","target":"10","id":"4210","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"804","target":"62","id":"6778","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"661","target":"205","id":"1027","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"795","target":"777","id":"1723","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"261","target":"780","id":"3628","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"378","target":"207","id":"7424","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"960","target":"106","id":"598","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"123","target":"392","id":"1324","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"912","target":"609","id":"615","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"964","target":"284","id":"6032","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"184","target":"243","id":"7031","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"905","target":"182","id":"5474","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"230","target":"701","id":"8052","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"862","target":"785","id":"195","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"462","target":"615","id":"5856","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"881","target":"200","id":"3921","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"598","target":"753","id":"3878","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"315","target":"56","id":"8058","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"524","target":"843","id":"7818","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"144","target":"462","id":"8520","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"173","target":"677","id":"9218","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"125","target":"620","id":"852","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"456","target":"408","id":"1835","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"299","target":"197","id":"4817","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"680","target":"308","id":"7314","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"264","target":"24","id":"765","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"410","target":"474","id":"4010","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"367","target":"232","id":"5147","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"37","target":"580","id":"2110","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"520","target":"982","id":"3204","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"16","target":"23","id":"1445","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"191","target":"649","id":"2877","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"550","target":"603","id":"8909","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"652","target":"628","id":"9303","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"110","target":"128","id":"4177","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"201","target":"505","id":"761","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"554","target":"720","id":"2397","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"993","target":"761","id":"3082","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"127","target":"86","id":"6219","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"445","target":"21","id":"9045","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"801","target":"911","id":"8193","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"499","target":"954","id":"8784","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"295","target":"240","id":"8053","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"757","target":"192","id":"3248","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"516","target":"944","id":"5687","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"762","target":"964","id":"2492","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"543","target":"783","id":"2301","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"210","target":"116","id":"8005","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"280","target":"228","id":"1712","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"381","target":"763","id":"9010","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"17","target":"437","id":"9119","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"615","target":"709","id":"6619","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"305","target":"345","id":"7017","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"324","target":"988","id":"3850","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"168","target":"54","id":"2675","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"438","target":"255","id":"9837","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"881","target":"908","id":"7058","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"6","target":"501","id":"1670","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"491","target":"835","id":"2201","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"758","target":"262","id":"2522","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"790","target":"868","id":"6735","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"202","target":"788","id":"7440","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"81","target":"55","id":"8283","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"633","target":"107","id":"1129","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"146","target":"985","id":"6865","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"534","target":"426","id":"8937","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"439","target":"412","id":"77","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"512","target":"908","id":"1296","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"528","target":"228","id":"3277","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"46","target":"948","id":"5905","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"999","target":"345","id":"5494","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"283","target":"38","id":"5061","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"539","target":"69","id":"5983","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"352","target":"855","id":"9813","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"899","target":"452","id":"3290","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"19","target":"311","id":"361","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"310","target":"429","id":"1527","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"74","target":"555","id":"9273","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"130","target":"24","id":"1849","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"756","target":"450","id":"552","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"606","target":"903","id":"3002","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"724","target":"886","id":"5535","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"890","target":"268","id":"371","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"534","target":"843","id":"4758","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"279","target":"290","id":"9569","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"322","target":"86","id":"4110","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"688","target":"801","id":"5167","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"750","target":"710","id":"1548","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"542","target":"201","id":"819","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"853","target":"708","id":"2286","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"128","target":"307","id":"2957","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"549","target":"285","id":"1651","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"276","target":"461","id":"6440","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"849","target":"546","id":"7591","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"207","target":"11","id":"2541","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"188","target":"533","id":"6994","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"929","target":"978","id":"9372","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"735","target":"294","id":"5384","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"80","target":"233","id":"5293","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"940","target":"746","id":"4316","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"195","target":"741","id":"4618","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"323","target":"865","id":"7034","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"906","target":"509","id":"8600","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"355","target":"131","id":"1085","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"875","target":"847","id":"562","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"664","target":"842","id":"5636","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"747","target":"305","id":"9934","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"895","target":"612","id":"4796","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"859","target":"189","id":"2406","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"413","target":"404","id":"8137","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"838","target":"396","id":"1234","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"928","target":"279","id":"2322","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"193","target":"769","id":"385","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"655","target":"391","id":"9757","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"877","target":"800","id":"7123","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"409","target":"597","id":"3943","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"234","target":"924","id":"4315","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"974","target":"790","id":"9559","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"589","target":"521","id":"8025","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"943","target":"480","id":"2287","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"18","target":"824","id":"8175","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"806","target":"592","id":"4957","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"246","target":"715","id":"5032","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"797","target":"293","id":"5854","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"785","target":"768","id":"2460","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"886","target":"641","id":"4009","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"257","target":"978","id":"8426","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"0","target":"783","id":"8096","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"294","target":"810","id":"2185","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"480","target":"107","id":"6741","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"938","target":"78","id":"8452","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"108","target":"887","id":"6975","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"715","target":"704","id":"5263","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"81","target":"163","id":"4466","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"592","target":"805","id":"2772","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"607","target":"989","id":"1064","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"735","target":"558","id":"7635","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"722","target":"56","id":"4115","attributes":{},"color":"rgb(95,58,15)","size":2.0},{"source":"406","target":"835","id":"4531","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"964","target":"134","id":"870","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"417","target":"751","id":"2610","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"49","target":"123","id":"6450","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"120","target":"377","id":"5753","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"763","target":"902","id":"7951","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"916","target":"723","id":"3835","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"395","target":"282","id":"4271","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"952","target":"117","id":"893","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"533","target":"158","id":"2114","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"478","target":"208","id":"2665","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"331","target":"657","id":"2921","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"843","target":"108","id":"3223","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"356","target":"266","id":"1484","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"31","target":"895","id":"3802","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"598","target":"533","id":"8834","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"581","target":"826","id":"3203","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"242","target":"620","id":"7116","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"134","target":"496","id":"9886","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"963","target":"981","id":"2902","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"801","target":"51","id":"6162","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"643","target":"733","id":"2887","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"66","target":"414","id":"4944","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"560","target":"213","id":"618","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"844","target":"789","id":"6093","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"495","target":"522","id":"7771","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"209","target":"933","id":"4426","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"581","target":"76","id":"622","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"924","target":"981","id":"3963","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"305","target":"212","id":"3263","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"280","target":"752","id":"2198","attributes":{},"color":"rgb(6,0,31)","size":2.0},{"source":"521","target":"102","id":"7940","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"736","target":"709","id":"3555","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"636","target":"912","id":"4293","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"949","target":"316","id":"6447","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"313","target":"452","id":"323","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"490","target":"381","id":"4460","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"716","target":"903","id":"7961","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"336","target":"203","id":"8914","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"854","target":"896","id":"3287","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"761","target":"487","id":"7708","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"148","target":"949","id":"4869","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"800","target":"426","id":"9225","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"129","target":"572","id":"6907","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"278","target":"92","id":"1487","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"361","target":"450","id":"3600","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"682","target":"797","id":"7970","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"547","target":"633","id":"6577","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"387","target":"785","id":"7216","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"447","target":"982","id":"2563","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"129","target":"408","id":"8693","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"514","target":"431","id":"7933","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"903","target":"173","id":"8971","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"618","target":"125","id":"825","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"599","target":"35","id":"3789","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"631","target":"708","id":"8197","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"544","target":"5","id":"9975","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"946","target":"338","id":"247","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"911","target":"786","id":"6760","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"348","target":"388","id":"4743","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"53","target":"452","id":"6576","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"388","target":"86","id":"7133","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"665","target":"568","id":"4008","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"601","target":"637","id":"1744","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"665","target":"326","id":"4937","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"677","target":"649","id":"7525","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"258","target":"29","id":"7975","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"635","target":"665","id":"6067","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"964","target":"34","id":"2437","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"534","target":"711","id":"9582","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"627","target":"675","id":"9021","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"910","target":"134","id":"3525","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"848","target":"558","id":"1509","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"22","target":"113","id":"4013","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"782","target":"784","id":"74","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"942","target":"928","id":"3346","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"233","target":"262","id":"4939","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"380","target":"732","id":"9406","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"286","target":"91","id":"3372","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"606","target":"741","id":"5237","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"820","target":"891","id":"8513","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"954","target":"111","id":"3018","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"915","target":"511","id":"2207","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"56","target":"185","id":"3688","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"231","target":"681","id":"9937","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"199","target":"881","id":"4032","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"496","target":"930","id":"6798","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"44","target":"894","id":"4878","attributes":{},"color":"rgb(115,192,0)","size":2.0},{"source":"611","target":"854","id":"5860","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"720","target":"192","id":"9035","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"327","target":"373","id":"3198","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"713","target":"831","id":"6831","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"929","target":"586","id":"7397","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"790","target":"418","id":"321","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"761","target":"722","id":"4623","attributes":{},"color":"rgb(219,100,66)","size":1.0},{"source":"844","target":"660","id":"4651","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"706","target":"138","id":"3932","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"138","target":"140","id":"6680","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"898","target":"323","id":"5831","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"980","target":"149","id":"1910","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"423","target":"194","id":"3019","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"21","target":"939","id":"3418","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"774","target":"91","id":"1999","attributes":{},"color":"rgb(185,138,66)","size":2.0},{"source":"833","target":"397","id":"4226","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"664","target":"287","id":"606","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"922","target":"800","id":"5976","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"810","target":"70","id":"76","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"572","target":"476","id":"448","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"713","target":"807","id":"8948","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"53","target":"479","id":"8290","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"633","target":"676","id":"9811","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"745","target":"744","id":"9759","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"87","target":"178","id":"4039","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"439","target":"237","id":"9130","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"672","target":"480","id":"3644","attributes":{},"color":"rgb(92,156,127)","size":1.0},{"source":"991","target":"933","id":"7513","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"667","target":"782","id":"2942","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"395","target":"703","id":"1905","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"210","target":"14","id":"304","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"146","target":"678","id":"4896","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"216","target":"103","id":"4310","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"217","target":"398","id":"6044","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"368","target":"865","id":"9159","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"590","target":"434","id":"8511","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"478","target":"698","id":"8807","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"740","target":"68","id":"7687","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"670","target":"620","id":"5132","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"483","target":"984","id":"9547","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"775","target":"300","id":"796","attributes":{},"color":"rgb(184,116,0)","size":2.0},{"source":"321","target":"969","id":"5897","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"189","target":"296","id":"8984","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"655","target":"19","id":"2477","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"547","target":"947","id":"3089","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"328","target":"71","id":"9786","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"379","target":"885","id":"1610","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"416","target":"117","id":"3991","attributes":{},"color":"rgb(95,58,15)","size":1.0},{"source":"620","target":"168","id":"4392","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"542","target":"341","id":"9103","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"377","target":"510","id":"6959","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"359","target":"191","id":"8424","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"311","target":"81","id":"510","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"879","target":"980","id":"1007","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"513","target":"599","id":"140","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"761","target":"507","id":"1699","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"891","target":"809","id":"7941","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"278","target":"624","id":"8792","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"22","target":"826","id":"7537","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"295","target":"824","id":"3242","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"407","target":"5","id":"9814","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"342","target":"810","id":"3074","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"464","target":"412","id":"3221","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"421","target":"290","id":"1003","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"110","target":"883","id":"2155","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"606","target":"335","id":"2418","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"117","target":"913","id":"7907","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"57","target":"215","id":"1238","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"26","target":"255","id":"2019","attributes":{},"color":"rgb(80,125,15)","size":1.0},{"source":"206","target":"927","id":"3228","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"392","target":"566","id":"9089","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"448","target":"394","id":"4359","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"155","target":"773","id":"4485","attributes":{},"color":"rgb(127,140,193)","size":1.0},{"source":"201","target":"681","id":"7499","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"604","target":"526","id":"3477","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"667","target":"999","id":"7645","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"335","target":"344","id":"8475","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"560","target":"407","id":"5270","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"819","target":"342","id":"2030","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"438","target":"9","id":"5219","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"391","target":"524","id":"7305","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"151","target":"209","id":"5186","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"317","target":"124","id":"1438","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"355","target":"44","id":"7617","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"339","target":"561","id":"2984","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"226","target":"474","id":"9705","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"270","target":"527","id":"8091","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"207","target":"387","id":"9912","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"838","target":"549","id":"5749","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"499","target":"735","id":"2950","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"451","target":"758","id":"6374","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"595","target":"140","id":"3479","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"526","target":"160","id":"4931","attributes":{},"color":"rgb(130,42,81)","size":1.0},{"source":"371","target":"218","id":"7251","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"795","target":"536","id":"1815","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"298","target":"698","id":"8509","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"476","target":"248","id":"5060","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"633","target":"609","id":"5830","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"838","target":"191","id":"9285","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"345","target":"284","id":"8523","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"711","target":"217","id":"5853","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"901","target":"373","id":"4748","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"454","target":"89","id":"5519","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"419","target":"100","id":"9917","attributes":{},"color":"rgb(115,160,31)","size":1.0},{"source":"683","target":"442","id":"1405","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"615","target":"615","id":"4913","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"375","target":"732","id":"547","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"951","target":"422","id":"8182","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"824","target":"140","id":"662","attributes":{},"color":"rgb(169,183,0)","size":1.0},{"source":"30","target":"352","id":"3077","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"916","target":"748","id":"4225","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"247","target":"338","id":"7171","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"854","target":"807","id":"3567","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"597","target":"779","id":"9246","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"444","target":"294","id":"928","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"888","target":"801","id":"4358","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"748","target":"762","id":"4752","attributes":{},"color":"rgb(205,167,66)","size":1.0},{"source":"682","target":"257","id":"6761","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"243","target":"433","id":"2365","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"436","target":"397","id":"8112","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"171","target":"493","id":"483","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"609","target":"337","id":"4675","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"728","target":"255","id":"9451","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"911","target":"86","id":"3534","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"48","target":"48","id":"4719","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"289","target":"172","id":"5650","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"966","target":"963","id":"3744","attributes":{},"color":"rgb(114,68,143)","size":1.0},{"source":"651","target":"308","id":"3952","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"203","target":"901","id":"4184","attributes":{},"color":"rgb(0,196,255)","size":2.0},{"source":"96","target":"227","id":"9079","attributes":{},"color":"rgb(38,133,158)","size":1.0},{"source":"541","target":"648","id":"2368","attributes":{},"color":"rgb(3,98,143)","size":1.0},{"source":"764","target":"921","id":"1035","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"368","target":"800","id":"4490","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"768","target":"849","id":"9801","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"329","target":"332","id":"6497","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"688","target":"570","id":"827","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"188","target":"372","id":"5551","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"200","target":"16","id":"2624","attributes":{},"color":"rgb(239,111,193)","size":1.0},{"source":"818","target":"273","id":"7208","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"737","target":"478","id":"2233","attributes":{},"color":"rgb(130,93,31)","size":1.0},{"source":"136","target":"492","id":"3102","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"47","target":"741","id":"6035","attributes":{},"color":"rgb(57,194,127)","size":1.0},{"source":"353","target":"353","id":"9453","attributes":{},"color":"rgb(155,250,0)","size":1.0},{"source":"246","target":"120","id":"7473","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"275","target":"519","id":"8009","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"316","target":"454","id":"2873","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"953","target":"888","id":"175","attributes":{},"color":"rgb(155,250,0)","size":2.0},{"source":"245","target":"756","id":"1329","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"264","target":"897","id":"7078","attributes":{},"color":"rgb(149,103,158)","size":1.0},{"source":"270","target":"853","id":"6943","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"497","target":"408","id":"9751","attributes":{},"color":"rgb(60,96,15)","size":1.0},{"source":"246","target":"967","id":"7240","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"48","target":"508","id":"6345","attributes":{},"color":"rgb(111,166,255)","size":1.0},{"source":"758","target":"994","id":"9653","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"560","target":"937","id":"6149","attributes":{},"color":"rgb(135,221,0)","size":1.0},{"source":"231","target":"182","id":"5795","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"925","target":"68","id":"6040","attributes":{},"color":"rgb(149,154,0)","size":1.0},{"source":"273","target":"107","id":"8018","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"983","target":"983","id":"876","attributes":{},"color":"rgb(6,0,31)","size":1.0},{"source":"630","target":"902","id":"1107","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"702","target":"236","id":"6269","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"328","target":"546","id":"2447","attributes":{},"color":"rgb(165,77,97)","size":1.0},{"source":"820","target":"71","id":"9852","attributes":{},"color":"rgb(189,193,127)","size":1.0},{"source":"22","target":"877","id":"4543","attributes":{},"color":"rgb(76,70,62)","size":1.0},{"source":"401","target":"679","id":"6532","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"716","target":"260","id":"549","attributes":{},"color":"rgb(169,164,127)","size":1.0},{"source":"947","target":"182","id":"1381","attributes":{},"color":"rgb(41,35,46)","size":1.0},{"source":"61","target":"929","id":"7929","attributes":{},"color":"rgb(255,85,132)","size":1.0},{"source":"167","target":"550","id":"2641","attributes":{},"color":"rgb(185,138,66)","size":1.0},{"source":"48","target":"677","id":"8450","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"656","target":"253","id":"6383","attributes":{},"color":"rgb(184,116,0)","size":1.0},{"source":"373","target":"888","id":"9642","attributes":{},"color":"rgb(77,223,127)","size":1.0},{"source":"438","target":"15","id":"2195","attributes":{},"color":"rgb(115,192,0)","size":1.0},{"source":"202","target":"432","id":"2035","attributes":{},"color":"rgb(223,137,255)","size":1.0},{"source":"191","target":"994","id":"1043","attributes":{},"color":"rgb(0,196,255)","size":1.0},{"source":"738","target":"460","id":"3192","attributes":{},"color":"rgb(203,126,127)","size":1.0},{"source":"641","target":"396","id":"8938","attributes":{},"color":"rgb(95,131,31)","size":1.0},{"source":"81","target":"258","id":"6750","attributes":{},"color":"rgb(6,0,31)","size":1.0}]} \ No newline at end of file diff --git a/site/data/undirected500.json b/site/data/undirected500.json new file mode 100644 index 0000000..7585c95 --- /dev/null +++ b/site/data/undirected500.json @@ -0,0 +1 @@ +{"nodes":[{"label":"87","x":-181.0930938720703,"y":194.40223693847656,"id":"87","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"322","x":162.62754821777344,"y":206.86471557617188,"id":"322","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"314","x":-93.93708801269531,"y":182.7850341796875,"id":"314","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"60","x":-407.8784484863281,"y":-49.38990783691406,"id":"60","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"424","x":-450.4800109863281,"y":137.61761474609375,"id":"424","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"396","x":336.04400634765625,"y":-353.9301452636719,"id":"396","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"488","x":224.54962158203125,"y":445.9447937011719,"id":"488","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"363","x":102.03265380859375,"y":-428.042724609375,"id":"363","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"185","x":-54.6561279296875,"y":63.44514465332031,"id":"185","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"256","x":-20.813505172729492,"y":-514.03271484375,"id":"256","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"287","x":215.14483642578125,"y":394.5431213378906,"id":"287","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"382","x":229.2856903076172,"y":-0.02889266237616539,"id":"382","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"464","x":-365.3363342285156,"y":244.379150390625,"id":"464","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"186","x":-168.0395965576172,"y":-602.8694458007812,"id":"186","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"76","x":-293.30755615234375,"y":-85.38226318359375,"id":"76","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"415","x":13.230002403259277,"y":78.92108154296875,"id":"415","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"210","x":43.30546951293945,"y":57.11017608642578,"id":"210","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"167","x":-99.56427764892578,"y":297.1001892089844,"id":"167","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"85","x":62.05849075317383,"y":-91.34368133544922,"id":"85","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"217","x":-8.660969734191895,"y":-236.63958740234375,"id":"217","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"166","x":284.1910095214844,"y":482.5152282714844,"id":"166","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"384","x":-323.8825988769531,"y":432.3021240234375,"id":"384","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"446","x":172.4451904296875,"y":154.6930694580078,"id":"446","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"153","x":-537.7625732421875,"y":50.74044418334961,"id":"153","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"341","x":-102.23648071289062,"y":449.8788757324219,"id":"341","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"329","x":373.2488098144531,"y":-177.6113739013672,"id":"329","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"423","x":-284.9648132324219,"y":-584.2365112304688,"id":"423","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"97","x":19.212190628051758,"y":-339.6825256347656,"id":"97","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"466","x":-197.02145385742188,"y":-202.83804321289062,"id":"466","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"467","x":-252.22244262695312,"y":-384.3604736328125,"id":"467","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"136","x":-468.27801513671875,"y":258.5150451660156,"id":"136","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"140","x":332.6260986328125,"y":-233.00503540039062,"id":"140","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"207","x":-212.2267608642578,"y":-361.61627197265625,"id":"207","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"211","x":352.05084228515625,"y":-124.98785400390625,"id":"211","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"234","x":60.79627227783203,"y":218.29144287109375,"id":"234","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"50","x":-367.3656005859375,"y":-356.12103271484375,"id":"50","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"175","x":498.8515625,"y":-209.2674560546875,"id":"175","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"348","x":-154.78919982910156,"y":421.55023193359375,"id":"348","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"205","x":382.6928405761719,"y":-105.53134155273438,"id":"205","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"125","x":-387.637451171875,"y":-600.0310668945312,"id":"125","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"231","x":-243.47218322753906,"y":-591.857421875,"id":"231","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"477","x":-147.67324829101562,"y":-412.33074951171875,"id":"477","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"127","x":264.8628234863281,"y":422.3600158691406,"id":"127","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"342","x":468.6458740234375,"y":365.73443603515625,"id":"342","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"337","x":-318.3717346191406,"y":-120.46697998046875,"id":"337","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"413","x":151.3970184326172,"y":-84.8913803100586,"id":"413","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"469","x":-484.9377136230469,"y":185.57264709472656,"id":"469","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"302","x":314.313720703125,"y":-9.829584121704102,"id":"302","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"495","x":199.955810546875,"y":-471.6460876464844,"id":"495","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"104","x":-177.74449157714844,"y":280.1632995605469,"id":"104","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"383","x":515.375244140625,"y":-333.0071105957031,"id":"383","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"204","x":-10.649995803833008,"y":121.31354522705078,"id":"204","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"124","x":-8.978218078613281,"y":-136.56048583984375,"id":"124","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"21","x":142.7321014404297,"y":-619.2844848632812,"id":"21","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"59","x":27.14810562133789,"y":-377.2386169433594,"id":"59","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"169","x":252.88934326171875,"y":-299.18670654296875,"id":"169","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"41","x":-10.669045448303223,"y":317.6530456542969,"id":"41","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"289","x":367.9494323730469,"y":-541.2021484375,"id":"289","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"420","x":137.7435760498047,"y":-380.51373291015625,"id":"420","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"434","x":369.019775390625,"y":145.8360137939453,"id":"434","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"378","x":-436.40228271484375,"y":-183.93460083007812,"id":"378","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"63","x":187.03981018066406,"y":-231.55824279785156,"id":"63","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"300","x":68.111083984375,"y":-527.8762817382812,"id":"300","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"64","x":-504.9521484375,"y":-228.45147705078125,"id":"64","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"276","x":-309.6253356933594,"y":257.3863220214844,"id":"276","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"32","x":246.65676879882812,"y":240.22073364257812,"id":"32","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"112","x":400.73541259765625,"y":193.2642059326172,"id":"112","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"160","x":-241.61343383789062,"y":-496.8147277832031,"id":"160","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"28","x":177.79647827148438,"y":-366.5179443359375,"id":"28","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"199","x":-363.16943359375,"y":-229.8666229248047,"id":"199","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"130","x":-79.20156860351562,"y":-599.8883056640625,"id":"130","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"39","x":-158.9307861328125,"y":-202.93804931640625,"id":"39","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"143","x":207.07177734375,"y":346.20159912109375,"id":"143","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"89","x":184.41519165039062,"y":-30.645248413085938,"id":"89","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"267","x":98.15318298339844,"y":-243.603759765625,"id":"267","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"298","x":306.21734619140625,"y":-525.1303100585938,"id":"298","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"457","x":304.2828063964844,"y":-334.0577697753906,"id":"457","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"325","x":55.92888641357422,"y":-329.84393310546875,"id":"325","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"414","x":-57.160194396972656,"y":329.919921875,"id":"414","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"172","x":-3.7822751998901367,"y":353.7109375,"id":"172","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"402","x":407.47052001953125,"y":23.274703979492188,"id":"402","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"117","x":419.6904602050781,"y":-340.5647277832031,"id":"117","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"277","x":262.1521911621094,"y":-641.5864868164062,"id":"277","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"149","x":356.1941223144531,"y":-449.35595703125,"id":"149","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"278","x":-137.4281463623047,"y":-675.56005859375,"id":"278","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"51","x":23.348691940307617,"y":131.22589111328125,"id":"51","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"285","x":-57.66922378540039,"y":-532.7118530273438,"id":"285","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"13","x":14.918580055236816,"y":-219.62033081054688,"id":"13","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"155","x":559.263427734375,"y":-97.17581176757812,"id":"155","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"380","x":458.8121032714844,"y":-5.634932518005371,"id":"380","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"194","x":357.0787658691406,"y":-492.5610656738281,"id":"194","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"138","x":502.9736022949219,"y":173.30760192871094,"id":"138","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"499","x":131.23895263671875,"y":-24.21321678161621,"id":"499","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"56","x":354.0973205566406,"y":-410.3985595703125,"id":"56","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"7","x":87.68912506103516,"y":384.5582275390625,"id":"7","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"239","x":14.015606880187988,"y":-541.4446411132812,"id":"239","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"0","x":-372.3118896484375,"y":-190.1252899169922,"id":"0","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"350","x":-249.09393310546875,"y":-96.33880615234375,"id":"350","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"441","x":377.45758056640625,"y":424.21832275390625,"id":"441","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"77","x":-284.556396484375,"y":-126.68191528320312,"id":"77","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"428","x":-373.6452331542969,"y":429.3175354003906,"id":"428","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"379","x":503.65087890625,"y":-370.53546142578125,"id":"379","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"19","x":506.4891357421875,"y":-175.0023193359375,"id":"19","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"275","x":267.59259033203125,"y":-67.87407684326172,"id":"275","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"290","x":-35.80870056152344,"y":93.82532501220703,"id":"290","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"6","x":186.43272399902344,"y":-104.59709167480469,"id":"6","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"92","x":-176.35581970214844,"y":378.6361999511719,"id":"92","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"121","x":-223.5882568359375,"y":210.3285675048828,"id":"121","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"377","x":205.27716064453125,"y":-569.8679809570312,"id":"377","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"274","x":170.02276611328125,"y":430.660888671875,"id":"274","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"222","x":225.8083953857422,"y":-519.5714721679688,"id":"222","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"1","x":427.8835144042969,"y":-127.06352996826172,"id":"1","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"161","x":160.652099609375,"y":305.09912109375,"id":"161","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"213","x":-110.79696655273438,"y":394.8023681640625,"id":"213","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"52","x":-19.062410354614258,"y":-79.2239990234375,"id":"52","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"71","x":487.7283935546875,"y":323.2509765625,"id":"71","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"375","x":-189.94671630859375,"y":-514.6881103515625,"id":"375","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"67","x":428.2983703613281,"y":-409.15435791015625,"id":"67","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"178","x":-458.4521789550781,"y":-228.34898376464844,"id":"178","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"188","x":383.6373291015625,"y":490.74700927734375,"id":"188","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"316","x":402.95794677734375,"y":-220.1705780029297,"id":"316","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"42","x":-381.99322509765625,"y":213.6148681640625,"id":"42","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"400","x":-318.9359130859375,"y":-271.71630859375,"id":"400","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"328","x":385.31695556640625,"y":388.91046142578125,"id":"328","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"69","x":427.77581787109375,"y":387.527099609375,"id":"69","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"442","x":-467.9226379394531,"y":-324.0862731933594,"id":"442","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"292","x":-329.91131591796875,"y":-584.3381958007812,"id":"292","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"320","x":-235.56996154785156,"y":422.999267578125,"id":"320","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"254","x":141.86619567871094,"y":250.08421325683594,"id":"254","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"228","x":151.0821990966797,"y":-466.4243469238281,"id":"228","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"240","x":420.0730895996094,"y":-165.00088500976562,"id":"240","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"491","x":-368.0948791503906,"y":-574.9849853515625,"id":"491","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"418","x":-34.3765754699707,"y":-656.0802001953125,"id":"418","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"8","x":436.1721496582031,"y":-93.51993560791016,"id":"8","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"315","x":277.7524719238281,"y":-419.8672790527344,"id":"315","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"150","x":169.60488891601562,"y":-568.7387084960938,"id":"150","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"156","x":311.06109619140625,"y":-88.8397445678711,"id":"156","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"252","x":8.014178276062012,"y":171.56227111816406,"id":"252","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"195","x":424.4631042480469,"y":-196.85012817382812,"id":"195","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"229","x":-476.0516357421875,"y":-296.00244140625,"id":"229","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"65","x":-229.99400329589844,"y":132.845458984375,"id":"65","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"191","x":-97.85022735595703,"y":-390.365966796875,"id":"191","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"273","x":-249.57098388671875,"y":-29.839033126831055,"id":"273","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"430","x":239.48692321777344,"y":104.89990997314453,"id":"430","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"168","x":370.9764099121094,"y":-324.6847839355469,"id":"168","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"299","x":-224.5126953125,"y":457.8149108886719,"id":"299","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"200","x":-152.30239868164062,"y":-39.209503173828125,"id":"200","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"107","x":-634.2252807617188,"y":-47.61676788330078,"id":"107","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"282","x":526.84765625,"y":301.4242858886719,"id":"282","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"343","x":248.81484985351562,"y":142.279296875,"id":"343","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"134","x":-474.39404296875,"y":-70.27732849121094,"id":"134","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"261","x":170.4959716796875,"y":-659.9688110351562,"id":"261","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"319","x":-540.9639892578125,"y":-225.28329467773438,"id":"319","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"177","x":181.3777313232422,"y":-170.243896484375,"id":"177","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"361","x":-347.4832763671875,"y":-183.8379364013672,"id":"361","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"271","x":127.59397888183594,"y":301.16754150390625,"id":"271","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"25","x":232.63401794433594,"y":-359.4908447265625,"id":"25","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"181","x":-190.73646545410156,"y":74.95835876464844,"id":"181","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"2","x":503.05743408203125,"y":105.4849624633789,"id":"2","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"53","x":-252.42234802246094,"y":393.191650390625,"id":"53","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"11","x":-329.2772521972656,"y":-228.629638671875,"id":"11","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"20","x":360.6245422363281,"y":242.64300537109375,"id":"20","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"212","x":-436.15911865234375,"y":413.5635986328125,"id":"212","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"105","x":-66.54325103759766,"y":275.1152648925781,"id":"105","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"255","x":155.21554565429688,"y":495.10028076171875,"id":"255","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"486","x":-125.92683410644531,"y":-496.7392883300781,"id":"486","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"387","x":-579.1486206054688,"y":-226.25650024414062,"id":"387","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"94","x":-420.07464599609375,"y":23.92869758605957,"id":"94","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"330","x":-59.65073013305664,"y":240.50828552246094,"id":"330","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"34","x":280.25408935546875,"y":-9.613500595092773,"id":"34","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"66","x":78.5033187866211,"y":21.40707015991211,"id":"66","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"463","x":-185.18312072753906,"y":-547.1236572265625,"id":"463","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"184","x":558.1679077148438,"y":248.05722045898438,"id":"184","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"331","x":-157.4318084716797,"y":41.56758117675781,"id":"331","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"43","x":-324.0635986328125,"y":92.86864471435547,"id":"43","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"226","x":400.9233703613281,"y":350.4173583984375,"id":"226","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"147","x":-435.6716613769531,"y":188.4298095703125,"id":"147","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"182","x":-477.9225769042969,"y":67.44080352783203,"id":"182","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"475","x":424.3595275878906,"y":-503.3105773925781,"id":"475","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"93","x":-343.19903564453125,"y":124.41295623779297,"id":"93","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"236","x":-447.10882568359375,"y":-263.84588623046875,"id":"236","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"295","x":459.57061767578125,"y":435.09698486328125,"id":"295","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"272","x":-407.1121826171875,"y":356.8964538574219,"id":"272","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"259","x":138.32305908203125,"y":-192.8380889892578,"id":"259","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"359","x":-199.30453491210938,"y":-124.29435729980469,"id":"359","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"403","x":-582.4962768554688,"y":-297.581787109375,"id":"403","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"371","x":-540.8078002929688,"y":94.38844299316406,"id":"371","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"133","x":258.7306823730469,"y":32.96319580078125,"id":"133","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"332","x":223.83033752441406,"y":-150.8646240234375,"id":"332","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"82","x":-428.4220886230469,"y":102.87680053710938,"id":"82","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"109","x":-132.0568084716797,"y":273.53082275390625,"id":"109","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"218","x":-124.71045684814453,"y":172.38143920898438,"id":"218","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"248","x":215.20994567871094,"y":146.2960205078125,"id":"248","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"336","x":11.436461448669434,"y":-66.22786712646484,"id":"336","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"398","x":-136.2453155517578,"y":202.90708923339844,"id":"398","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"241","x":-207.6063690185547,"y":320.48095703125,"id":"241","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"33","x":-449.168212890625,"y":-35.424659729003906,"id":"33","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"456","x":-141.50091552734375,"y":-88.13904571533203,"id":"456","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"106","x":-290.3170166015625,"y":-293.9623718261719,"id":"106","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"269","x":286.91925048828125,"y":285.74859619140625,"id":"269","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"483","x":457.9046325683594,"y":24.054643630981445,"id":"483","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"18","x":287.86871337890625,"y":-584.5185546875,"id":"18","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"137","x":411.5780334472656,"y":82.30125427246094,"id":"137","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"216","x":-23.345090866088867,"y":260.4045104980469,"id":"216","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"203","x":401.9667053222656,"y":-24.830337524414062,"id":"203","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"141","x":53.12788009643555,"y":-43.102088928222656,"id":"141","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"251","x":-19.930997848510742,"y":-388.6766357421875,"id":"251","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"142","x":-600.8324584960938,"y":-150.76849365234375,"id":"142","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"176","x":-135.33505249023438,"y":476.39166259765625,"id":"176","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"412","x":37.87201690673828,"y":-264.833740234375,"id":"412","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"61","x":110.71988677978516,"y":369.65435791015625,"id":"61","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"206","x":340.6557312011719,"y":-161.13087463378906,"id":"206","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"88","x":457.0961608886719,"y":327.0271301269531,"id":"88","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"306","x":503.9328308105469,"y":-274.3526306152344,"id":"306","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"308","x":-547.8395385742188,"y":-259.2530822753906,"id":"308","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"31","x":-307.9720458984375,"y":343.1026306152344,"id":"31","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"366","x":282.6726989746094,"y":176.18011474609375,"id":"366","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"404","x":-122.69699096679688,"y":-563.039794921875,"id":"404","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"408","x":-104.25348663330078,"y":77.87179565429688,"id":"408","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"96","x":-209.413330078125,"y":-239.26271057128906,"id":"96","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"118","x":-52.89745330810547,"y":-311.4349670410156,"id":"118","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"373","x":-552.9520874023438,"y":-134.4812469482422,"id":"373","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"14","x":-179.1566162109375,"y":519.6593017578125,"id":"14","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"265","x":-332.22735595703125,"y":-523.9676513671875,"id":"265","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"449","x":-350.31842041015625,"y":334.2822265625,"id":"449","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"419","x":264.0948791503906,"y":341.20013427734375,"id":"419","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"397","x":102.15128326416016,"y":-49.05645751953125,"id":"397","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"323","x":-121.89788055419922,"y":-326.990478515625,"id":"323","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"171","x":354.49200439453125,"y":377.9776306152344,"id":"171","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"154","x":448.3145446777344,"y":-368.71484375,"id":"154","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"183","x":299.4375915527344,"y":540.4468994140625,"id":"183","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"479","x":348.447998046875,"y":-205.5379180908203,"id":"479","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"131","x":210.27975463867188,"y":212.2494659423828,"id":"131","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"192","x":468.9228210449219,"y":-156.30288696289062,"id":"192","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"347","x":109.27259826660156,"y":431.0078430175781,"id":"347","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"497","x":334.7364501953125,"y":495.98016357421875,"id":"497","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"123","x":-601.2183837890625,"y":34.09829330444336,"id":"123","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"224","x":-237.1210174560547,"y":-646.641845703125,"id":"224","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"232","x":-380.29052734375,"y":330.87652587890625,"id":"232","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"281","x":159.94305419921875,"y":-307.9793395996094,"id":"281","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"68","x":389.2117919921875,"y":545.8602294921875,"id":"68","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"58","x":326.4173278808594,"y":315.14459228515625,"id":"58","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"436","x":416.9571838378906,"y":-545.4601440429688,"id":"436","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"297","x":-117.93020629882812,"y":-291.7169189453125,"id":"297","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"473","x":-182.12889099121094,"y":-718.4277954101562,"id":"473","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"326","x":266.64453125,"y":-498.65655517578125,"id":"326","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"151","x":179.89590454101562,"y":253.35525512695312,"id":"151","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"270","x":-470.4046325683594,"y":451.4005126953125,"id":"270","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"293","x":-204.91287231445312,"y":157.87063598632812,"id":"293","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"356","x":194.2191925048828,"y":486.47747802734375,"id":"356","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"468","x":210.06590270996094,"y":290.024169921875,"id":"468","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"485","x":-40.21803283691406,"y":-34.492977142333984,"id":"485","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"201","x":-468.5212707519531,"y":-10.760397911071777,"id":"201","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"478","x":188.22314453125,"y":2.0057947635650635,"id":"478","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"144","x":-377.66400146484375,"y":28.64919662475586,"id":"144","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"78","x":-240.41864013671875,"y":4.847018718719482,"id":"78","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"481","x":-520.866455078125,"y":-63.51252746582031,"id":"481","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"225","x":-77.09362030029297,"y":139.1009063720703,"id":"225","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"462","x":351.73687744140625,"y":89.31950378417969,"id":"462","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"159","x":-201.73495483398438,"y":265.5080871582031,"id":"159","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"165","x":204.72935485839844,"y":-438.2597351074219,"id":"165","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"209","x":449.9195861816406,"y":282.6150207519531,"id":"209","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"484","x":-452.42779541015625,"y":-101.9994888305664,"id":"484","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"72","x":52.07251739501953,"y":-469.2677917480469,"id":"72","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"454","x":-54.4825325012207,"y":-432.351806640625,"id":"454","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"75","x":446.6113586425781,"y":200.45993041992188,"id":"75","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"193","x":501.8468933105469,"y":-101.33631134033203,"id":"193","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"360","x":288.7367858886719,"y":-271.8176574707031,"id":"360","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"249","x":-197.37245178222656,"y":114.93333435058594,"id":"249","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"372","x":164.30584716796875,"y":100.04164123535156,"id":"372","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"129","x":-194.2471923828125,"y":423.8066101074219,"id":"129","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"284","x":226.27444458007812,"y":59.20726776123047,"id":"284","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"119","x":-214.4872283935547,"y":46.421600341796875,"id":"119","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"47","x":609.6060180664062,"y":181.93035888671875,"id":"47","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"435","x":316.3683776855469,"y":-486.75811767578125,"id":"435","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"353","x":-618.3765869140625,"y":-394.1610107421875,"id":"353","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"422","x":548.769775390625,"y":341.62139892578125,"id":"422","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"321","x":-343.93597412109375,"y":-33.418521881103516,"id":"321","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"163","x":-384.724853515625,"y":388.98211669921875,"id":"163","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"90","x":500.6023254394531,"y":210.460693359375,"id":"90","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"374","x":300.28350830078125,"y":359.45806884765625,"id":"374","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"202","x":300.1459045410156,"y":-197.75927734375,"id":"202","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"235","x":237.8076934814453,"y":-89.45449829101562,"id":"235","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"386","x":182.04800415039062,"y":395.9775085449219,"id":"386","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"30","x":-72.6626205444336,"y":390.5271301269531,"id":"30","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"385","x":231.3512725830078,"y":481.8176574707031,"id":"385","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"230","x":546.4654541015625,"y":-155.47030639648438,"id":"230","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"344","x":85.34575653076172,"y":249.5807342529297,"id":"344","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"480","x":-542.984619140625,"y":-96.98712921142578,"id":"480","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"355","x":-297.0019836425781,"y":34.070987701416016,"id":"355","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"74","x":401.7127990722656,"y":-450.1268310546875,"id":"74","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"113","x":-80.97401428222656,"y":-6.875846862792969,"id":"113","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"410","x":-278.3800964355469,"y":-343.9486083984375,"id":"410","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"309","x":86.58943939208984,"y":60.78589630126953,"id":"309","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"45","x":327.870361328125,"y":452.1935729980469,"id":"45","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"461","x":-380.51513671875,"y":-417.85894775390625,"id":"461","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"12","x":-104.84793090820312,"y":-435.5279846191406,"id":"12","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"81","x":-239.16456604003906,"y":505.8854064941406,"id":"81","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"451","x":-282.4749450683594,"y":426.9852600097656,"id":"451","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"357","x":454.4279479980469,"y":-261.5284423828125,"id":"357","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"447","x":207.34481811523438,"y":-611.41943359375,"id":"447","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"439","x":-409.5326232910156,"y":208.82138061523438,"id":"439","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"100","x":421.4523620605469,"y":242.3079833984375,"id":"100","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"367","x":-119.2186050415039,"y":236.0200653076172,"id":"367","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"17","x":-407.1464538574219,"y":-241.6287841796875,"id":"17","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"101","x":-381.9169921875,"y":269.6942443847656,"id":"101","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"460","x":-222.93540954589844,"y":-540.8515014648438,"id":"460","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"187","x":-257.0564880371094,"y":84.1543197631836,"id":"187","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"465","x":436.6828308105469,"y":-49.382591247558594,"id":"465","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"258","x":-501.669921875,"y":98.56999206542969,"id":"258","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"197","x":-150.30328369140625,"y":-358.3477478027344,"id":"197","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"152","x":-193.3492431640625,"y":-427.596435546875,"id":"152","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"114","x":-276.3611145019531,"y":292.07489013671875,"id":"114","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"333","x":251.9415740966797,"y":-447.91552734375,"id":"333","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"388","x":-335.5411071777344,"y":-64.10845947265625,"id":"388","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"291","x":-248.97360229492188,"y":-458.7681884765625,"id":"291","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"227","x":-566.765869140625,"y":-167.14602661132812,"id":"227","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"494","x":152.8075714111328,"y":-431.3591003417969,"id":"494","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"395","x":-387.0271911621094,"y":-15.835794448852539,"id":"395","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"221","x":-330.2700500488281,"y":-369.4156799316406,"id":"221","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"190","x":-402.2976989746094,"y":74.26490783691406,"id":"190","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"91","x":-302.4292297363281,"y":-25.02886199951172,"id":"91","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"324","x":259.8688049316406,"y":-554.4865112304688,"id":"324","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"381","x":183.31455993652344,"y":40.215065002441406,"id":"381","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"474","x":-509.6692810058594,"y":-183.03121948242188,"id":"474","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"86","x":-330.314208984375,"y":205.70419311523438,"id":"86","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"115","x":-60.15126419067383,"y":-184.9362030029297,"id":"115","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"242","x":280.326171875,"y":-386.4687805175781,"id":"242","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"99","x":-185.92803955078125,"y":-384.99365234375,"id":"99","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"352","x":239.6440887451172,"y":-239.8253936767578,"id":"352","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"27","x":451.4911193847656,"y":-210.55697631835938,"id":"27","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"303","x":-20.151201248168945,"y":-628.9434204101562,"id":"303","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"453","x":-576.7377319335938,"y":-98.3169174194336,"id":"453","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"36","x":-272.34234619140625,"y":156.57725524902344,"id":"36","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"346","x":372.4778137207031,"y":-257.7167053222656,"id":"346","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"450","x":560.0715942382812,"y":-61.443321228027344,"id":"450","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"48","x":311.715576171875,"y":131.5262908935547,"id":"48","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"126","x":-274.284912109375,"y":-681.2652587890625,"id":"126","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"145","x":506.88720703125,"y":396.15283203125,"id":"145","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"162","x":-235.9003143310547,"y":173.56597900390625,"id":"162","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"219","x":248.4504852294922,"y":180.82142639160156,"id":"219","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"405","x":324.18792724609375,"y":57.24726104736328,"id":"405","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"164","x":125.77017974853516,"y":24.4492244720459,"id":"164","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"245","x":-536.3526000976562,"y":-306.06494140625,"id":"245","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"24","x":-575.5411376953125,"y":-30.222736358642578,"id":"24","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"407","x":-119.39803314208984,"y":-224.15362548828125,"id":"407","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"146","x":209.36038208007812,"y":-75.92205047607422,"id":"146","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"301","x":-166.01536560058594,"y":322.39984130859375,"id":"301","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"335","x":-31.19298553466797,"y":41.93216323852539,"id":"335","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"215","x":-152.6272430419922,"y":97.94855499267578,"id":"215","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"391","x":240.45071411132812,"y":290.2628173828125,"id":"391","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"312","x":92.94267272949219,"y":-87.59864044189453,"id":"312","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"15","x":-474.2311706542969,"y":-134.4373779296875,"id":"15","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"370","x":210.57217407226562,"y":-286.29388427734375,"id":"370","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"122","x":-291.4179382324219,"y":207.04762268066406,"id":"122","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"22","x":21.51030731201172,"y":-129.5346221923828,"id":"22","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"80","x":253.51112365722656,"y":-31.585285186767578,"id":"80","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"157","x":258.8567199707031,"y":-122.10769653320312,"id":"157","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"79","x":-233.78823852539062,"y":274.58734130859375,"id":"79","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"103","x":-43.34587860107422,"y":-593.4716796875,"id":"103","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"238","x":-318.55816650390625,"y":6.663395404815674,"id":"238","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"455","x":388.4560241699219,"y":114.8335952758789,"id":"455","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"189","x":-511.3648376464844,"y":136.0362091064453,"id":"189","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"120","x":291.576416015625,"y":440.76348876953125,"id":"120","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"108","x":460.2737731933594,"y":151.43043518066406,"id":"108","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"243","x":-72.57864379882812,"y":-359.1092529296875,"id":"243","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"362","x":-6.925178527832031,"y":-182.76370239257812,"id":"362","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"340","x":332.37628173828125,"y":-49.82701873779297,"id":"340","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"393","x":-266.85748291015625,"y":-173.8321533203125,"id":"393","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"318","x":307.0918884277344,"y":98.52610778808594,"id":"318","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"55","x":-287.4146728515625,"y":-51.40887451171875,"id":"55","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"95","x":-48.35920715332031,"y":-486.83001708984375,"id":"95","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"268","x":242.2381134033203,"y":-409.8875732421875,"id":"268","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"44","x":-134.09970092773438,"y":137.1088104248047,"id":"44","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"246","x":-320.0249938964844,"y":378.2033386230469,"id":"246","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"40","x":491.28253173828125,"y":249.36392211914062,"id":"40","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"445","x":-57.359352111816406,"y":-232.75375366210938,"id":"445","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"425","x":-144.86410522460938,"y":-439.8746643066406,"id":"425","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"313","x":-375.66424560546875,"y":-110.24569702148438,"id":"313","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"399","x":370.6954040527344,"y":23.044404983520508,"id":"399","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"49","x":124.1192626953125,"y":136.296875,"id":"49","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"390","x":-369.5552673339844,"y":-302.9911804199219,"id":"390","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"345","x":105.46141815185547,"y":-545.1506958007812,"id":"345","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"389","x":-151.94651794433594,"y":-525.093505859375,"id":"389","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"498","x":116.62995147705078,"y":-350.9836730957031,"id":"498","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"280","x":294.3587951660156,"y":392.35137939453125,"id":"280","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"471","x":13.949762344360352,"y":216.3548126220703,"id":"471","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"26","x":96.23143768310547,"y":326.6400451660156,"id":"26","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"173","x":127.86006927490234,"y":-293.4290771484375,"id":"173","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"406","x":-106.25311279296875,"y":-655.5907592773438,"id":"406","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"179","x":-529.9138793945312,"y":-33.401222229003906,"id":"179","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"338","x":368.7091064453125,"y":57.26567077636719,"id":"338","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"237","x":-101.52666473388672,"y":-467.94586181640625,"id":"237","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"29","x":376.17633056640625,"y":-371.6365051269531,"id":"29","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"208","x":94.8795394897461,"y":127.09440612792969,"id":"208","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"247","x":-198.77720642089844,"y":-84.67266845703125,"id":"247","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"354","x":-509.20697021484375,"y":0.48030102252960205,"id":"354","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"54","x":-153.8460235595703,"y":-141.96133422851562,"id":"54","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"476","x":484.945068359375,"y":-57.195167541503906,"id":"476","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"38","x":103.38569641113281,"y":-130.68142700195312,"id":"38","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"470","x":-289.8482971191406,"y":-215.00100708007812,"id":"470","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"262","x":520.0381469726562,"y":-43.603248596191406,"id":"262","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"148","x":-500.8775329589844,"y":-266.0139465332031,"id":"148","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"493","x":-256.5362548828125,"y":322.80224609375,"id":"493","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"9","x":415.8372802734375,"y":292.1983642578125,"id":"9","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"283","x":-636.6987915039062,"y":18.44856071472168,"id":"283","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"334","x":-350.89495849609375,"y":-137.249755859375,"id":"334","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"443","x":-185.4604034423828,"y":-474.2809753417969,"id":"443","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"102","x":446.5322265625,"y":-297.6972961425781,"id":"102","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"351","x":-266.7841796875,"y":-417.8344421386719,"id":"351","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"416","x":202.5897674560547,"y":-327.2928161621094,"id":"416","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"132","x":-412.4001770019531,"y":-100.94054412841797,"id":"132","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"349","x":70.88316345214844,"y":-192.91539001464844,"id":"349","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"310","x":-66.72111511230469,"y":111.56148529052734,"id":"310","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"339","x":124.43605041503906,"y":-219.2059326171875,"id":"339","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"253","x":-371.230224609375,"y":93.86122131347656,"id":"253","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"257","x":358.4451904296875,"y":288.8630065917969,"id":"257","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"23","x":261.6041259765625,"y":-337.4090881347656,"id":"23","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"128","x":-449.2500915527344,"y":225.5826416015625,"id":"128","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"198","x":-323.35748291015625,"y":-435.2962951660156,"id":"198","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"376","x":207.4969940185547,"y":-397.3818054199219,"id":"376","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"392","x":142.98988342285156,"y":459.86334228515625,"id":"392","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"433","x":46.9348258972168,"y":285.3185729980469,"id":"433","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"98","x":213.02919006347656,"y":-215.10052490234375,"id":"98","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"305","x":-146.13409423828125,"y":67.30005645751953,"id":"305","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"472","x":91.52435302734375,"y":-291.3070983886719,"id":"472","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"304","x":152.21725463867188,"y":-150.37110900878906,"id":"304","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"459","x":315.8503112792969,"y":-301.8559875488281,"id":"459","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"409","x":-160.35028076171875,"y":225.74679565429688,"id":"409","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"111","x":-92.38687133789062,"y":-289.5166320800781,"id":"111","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"84","x":320.89788818359375,"y":21.391645431518555,"id":"84","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"358","x":-337.22601318359375,"y":-617.7520141601562,"id":"358","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"496","x":-463.3785400390625,"y":34.358116149902344,"id":"496","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"364","x":292.60601806640625,"y":57.88980484008789,"id":"364","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"311","x":48.97053146362305,"y":98.48002624511719,"id":"311","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"417","x":432.28533935546875,"y":129.75552368164062,"id":"417","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"440","x":60.36882019042969,"y":165.8850860595703,"id":"440","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"73","x":-461.3705749511719,"y":300.3203430175781,"id":"73","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"174","x":-303.1791687011719,"y":140.49734497070312,"id":"174","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"365","x":-219.27549743652344,"y":362.8964538574219,"id":"365","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"180","x":405.5846862792969,"y":-88.77387237548828,"id":"180","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"233","x":-359.7709655761719,"y":180.606201171875,"id":"233","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"432","x":-163.9716796875,"y":-286.2901916503906,"id":"432","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"266","x":-24.477476119995117,"y":-282.0154724121094,"id":"266","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"296","x":-77.56886291503906,"y":483.8780822753906,"id":"296","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"317","x":-511.6700439453125,"y":-131.2528076171875,"id":"317","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"196","x":299.6319580078125,"y":-145.6104278564453,"id":"196","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"139","x":354.3252868652344,"y":-78.74301147460938,"id":"139","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"458","x":303.1980285644531,"y":-446.6191711425781,"id":"458","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"368","x":87.35576629638672,"y":-590.3206787109375,"id":"368","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"116","x":-296.8440856933594,"y":-534.1505737304688,"id":"116","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"429","x":-111.37139892578125,"y":21.36789894104004,"id":"429","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"4","x":-182.80294799804688,"y":-653.0289306640625,"id":"4","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"286","x":-94.93782806396484,"y":-511.4483947753906,"id":"286","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"437","x":-223.1512908935547,"y":-312.9497985839844,"id":"437","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"83","x":-86.12178802490234,"y":-684.6109008789062,"id":"83","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"421","x":-51.51921463012695,"y":183.01675415039062,"id":"421","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"489","x":-631.6100463867188,"y":-177.08029174804688,"id":"489","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"46","x":-31.776033401489258,"y":394.7648620605469,"id":"46","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"487","x":369.2274475097656,"y":202.0682373046875,"id":"487","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"431","x":-623.0560913085938,"y":-248.0708770751953,"id":"431","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"452","x":-83.64260864257812,"y":-140.1859130859375,"id":"452","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"110","x":-135.32887268066406,"y":-598.4779052734375,"id":"110","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"448","x":-326.3408203125,"y":-465.9059753417969,"id":"448","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"158","x":172.0198211669922,"y":-273.27294921875,"id":"158","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"264","x":-12.684640884399414,"y":-27.20529556274414,"id":"264","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"57","x":-37.137882232666016,"y":209.81849670410156,"id":"57","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"10","x":45.266754150390625,"y":-413.73602294921875,"id":"10","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"279","x":-650.733642578125,"y":-19.71578598022461,"id":"279","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"394","x":539.6967163085938,"y":-7.611478328704834,"id":"394","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"16","x":-624.0899658203125,"y":-102.31183624267578,"id":"16","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"223","x":-268.307373046875,"y":357.1070251464844,"id":"223","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"438","x":-216.93914794921875,"y":-459.7195129394531,"id":"438","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"37","x":174.31924438476562,"y":-534.14453125,"id":"37","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"170","x":-357.22369384765625,"y":66.80948638916016,"id":"170","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"263","x":-136.06153869628906,"y":363.16351318359375,"id":"263","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"411","x":1.0217877626419067,"y":453.4781188964844,"id":"411","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"70","x":201.13528442382812,"y":83.65113830566406,"id":"70","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"492","x":-434.18896484375,"y":-492.94140625,"id":"492","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"35","x":-193.3997344970703,"y":-300.5677490234375,"id":"35","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"62","x":219.64285278320312,"y":519.81689453125,"id":"62","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"444","x":-264.6899719238281,"y":244.33094787597656,"id":"444","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"244","x":-303.83404541015625,"y":-377.3901062011719,"id":"244","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"135","x":-240.8112030029297,"y":-145.79981994628906,"id":"135","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0},{"label":"5","x":260.161865234375,"y":-194.92608642578125,"id":"5","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"490","x":101.89125061035156,"y":-478.1116027832031,"id":"490","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"288","x":41.9603271484375,"y":-15.87881088256836,"id":"288","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"482","x":313.942138671875,"y":-385.29638671875,"id":"482","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"250","x":313.4665222167969,"y":259.70526123046875,"id":"250","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"3","x":-299.3251953125,"y":-495.1641540527344,"id":"3","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"260","x":485.71728515625,"y":-11.093611717224121,"id":"260","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"369","x":495.3040466308594,"y":26.1231746673584,"id":"369","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"307","x":329.2498474121094,"y":184.62344360351562,"id":"307","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"214","x":-308.9909362792969,"y":303.21441650390625,"id":"214","attributes":{"Modularity Class":"5"},"color":"rgb(0,29,184)","size":10.0},{"label":"220","x":414.1871032714844,"y":443.0317077636719,"id":"220","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"294","x":141.58058166503906,"y":59.19047546386719,"id":"294","attributes":{"Modularity Class":"0"},"color":"rgb(95,198,19)","size":10.0},{"label":"426","x":412.00140380859375,"y":-286.6203308105469,"id":"426","attributes":{"Modularity Class":"1"},"color":"rgb(112,255,36)","size":10.0},{"label":"427","x":455.3023681640625,"y":232.82289123535156,"id":"427","attributes":{"Modularity Class":"4"},"color":"rgb(245,0,0)","size":10.0},{"label":"401","x":-268.4853820800781,"y":-617.2151489257812,"id":"401","attributes":{"Modularity Class":"3"},"color":"rgb(46,144,114)","size":10.0},{"label":"327","x":-409.92376708984375,"y":-159.20713806152344,"id":"327","attributes":{"Modularity Class":"2"},"color":"rgb(0,202,255)","size":10.0}],"edges":[{"source":"490","target":"406","id":"4745","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"418","target":"12","id":"2192","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"459","target":"58","id":"4092","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"349","id":"1171","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"234","id":"1453","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"476","target":"192","id":"2995","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"443","id":"1619","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"134","id":"1654","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"438","id":"341","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"293","target":"92","id":"1669","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"147","target":"196","id":"1964","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"460","id":"3205","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"106","target":"167","id":"4839","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"456","id":"126","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"284","target":"248","id":"600","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"399","target":"288","id":"4742","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"456","target":"491","id":"1973","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"456","target":"497","id":"1405","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"426","target":"362","id":"590","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"274","id":"4139","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"106","target":"291","id":"686","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"389","target":"22","id":"1391","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"70","target":"352","id":"201","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"336","target":"297","id":"1424","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"175","target":"205","id":"2417","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"142","target":"300","id":"1022","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"394","target":"47","id":"274","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"327","id":"2260","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"245","target":"144","id":"2277","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"472","target":"459","id":"1110","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"332","target":"313","id":"1041","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"272","target":"221","id":"4002","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"368","id":"4400","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"19","target":"420","id":"4771","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"231","id":"63","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"483","id":"3219","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"87","target":"470","id":"1366","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"188","target":"69","id":"992","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"491","id":"1996","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"231","target":"97","id":"4848","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"41","id":"4654","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"36","target":"249","id":"1223","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"206","target":"19","id":"3443","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"303","target":"438","id":"2456","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"430","id":"4825","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"402","target":"217","id":"1824","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"109","id":"1289","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"257","id":"1947","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"228","target":"246","id":"3786","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"282","target":"20","id":"2662","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"209","id":"3133","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"54","target":"430","id":"1676","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"412","target":"97","id":"4749","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"295","target":"100","id":"1156","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"156","target":"427","id":"1427","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"149","target":"102","id":"832","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"20","id":"2409","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"145","id":"3450","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"489","target":"24","id":"4285","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"220","id":"2693","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"477","target":"406","id":"3500","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"443","target":"103","id":"4905","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"368","target":"400","id":"4571","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"358","id":"1402","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"292","target":"4","id":"1085","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"282","id":"4348","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"80","id":"3602","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"112","target":"340","id":"3491","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"126","target":"4","id":"1867","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"213","target":"263","id":"3019","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"284","id":"4552","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"454","target":"4","id":"669","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"364","target":"13","id":"550","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"319","target":"273","id":"4592","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"201","target":"426","id":"2387","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"453","target":"153","id":"3061","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"168","target":"355","id":"4311","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"425","id":"1625","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"118","target":"211","id":"4334","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"434","id":"768","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"498","target":"117","id":"4147","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"271","target":"342","id":"4608","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"247","target":"218","id":"4238","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"389","target":"234","id":"1954","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"118","target":"336","id":"2072","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"448","id":"2529","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"424","target":"199","id":"4789","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"127","target":"68","id":"2418","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"444","target":"172","id":"1925","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"363","target":"56","id":"4633","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"446","target":"394","id":"2361","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"41","target":"68","id":"288","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"268","target":"204","id":"3967","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"481","target":"480","id":"285","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"163","target":"182","id":"1812","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"339","target":"20","id":"2720","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"434","target":"183","id":"796","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"338","id":"1205","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"149","id":"3311","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"431","target":"378","id":"120","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"430","target":"76","id":"3104","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"331","target":"452","id":"92","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"200","target":"185","id":"1590","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"498","id":"4251","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"356","target":"96","id":"4898","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"444","target":"489","id":"228","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"216","target":"359","id":"2320","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"403","target":"317","id":"1206","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"393","target":"133","id":"1659","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"430","id":"1459","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"238","target":"144","id":"1415","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"476","target":"383","id":"1626","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"275","id":"2876","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"12","id":"4953","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"191","target":"285","id":"4191","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"167","id":"4095","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"83","target":"323","id":"4699","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"24","id":"3978","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"4","id":"3689","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"36","target":"320","id":"1128","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"475","target":"242","id":"4797","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"282","target":"434","id":"4180","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"492","target":"407","id":"4299","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"448","id":"2383","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"383","id":"2647","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"38","target":"336","id":"3914","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"148","target":"442","id":"3826","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"380","target":"302","id":"805","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"28","target":"482","id":"2427","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"453","target":"238","id":"145","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"15","id":"1971","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"120","id":"304","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"69","target":"316","id":"774","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"382","target":"411","id":"65","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"57","target":"414","id":"1829","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"167","target":"79","id":"3291","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"403","target":"199","id":"2857","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"136","id":"43","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"173","id":"2664","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"370","target":"173","id":"4779","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"50","target":"221","id":"3901","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"10","target":"10","id":"2641","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"132","target":"393","id":"4783","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"176","target":"214","id":"2562","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"22","target":"327","id":"2895","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"477","target":"206","id":"4986","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"13","target":"288","id":"2051","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"261","target":"491","id":"1920","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"32","id":"2385","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"148","target":"337","id":"1929","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"186","id":"2060","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"383","target":"434","id":"4009","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"129","target":"432","id":"2646","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"121","id":"2335","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"241","target":"223","id":"4301","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"81","target":"238","id":"3549","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"17","target":"355","id":"4460","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"169","id":"3230","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"283","id":"2396","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"255","target":"120","id":"3127","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"240","target":"240","id":"2543","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"479","target":"242","id":"4173","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"352","target":"28","id":"1732","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"248","id":"905","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"477","target":"256","id":"3822","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"492","id":"684","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"142","target":"245","id":"2586","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"406","target":"423","id":"3897","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"16","target":"497","id":"3909","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"197","target":"491","id":"830","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"331","id":"507","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"268","target":"379","id":"4242","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"226","id":"549","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"300","id":"3616","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"342","target":"120","id":"1097","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"322","target":"351","id":"2770","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"216","id":"4681","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"319","id":"4003","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"73","target":"46","id":"4023","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"78","target":"190","id":"294","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"397","target":"16","id":"1078","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"4","target":"110","id":"1789","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"286","target":"345","id":"3276","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"332","target":"369","id":"2747","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"263","target":"301","id":"4137","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"141","target":"206","id":"4834","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"152","id":"2724","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"287","id":"3378","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"100","id":"906","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"454","target":"295","id":"3322","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"256","target":"380","id":"4860","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"481","id":"3980","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"167","target":"367","id":"2865","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"453","target":"319","id":"655","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"63","target":"100","id":"2620","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"254","target":"100","id":"2381","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"98","target":"116","id":"3889","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"20","id":"3419","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"394","id":"1269","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"36","target":"81","id":"2901","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"469","id":"3315","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"327","target":"489","id":"3552","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"340","target":"206","id":"2297","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"347","id":"2673","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"68","target":"90","id":"278","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"296","target":"272","id":"3748","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"333","id":"148","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"407","id":"2666","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"234","target":"197","id":"4166","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"268","target":"360","id":"4517","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"256","target":"69","id":"823","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"126","id":"1504","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"217","target":"273","id":"1327","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"319","target":"337","id":"2882","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"150","target":"436","id":"2992","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"160","target":"179","id":"2290","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"464","target":"164","id":"1221","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"243","target":"160","id":"523","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"315","target":"482","id":"2485","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"343","id":"1488","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"321","id":"1623","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"89","target":"146","id":"1027","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"128","target":"113","id":"576","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"284","id":"4163","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"189","target":"16","id":"1684","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"203","target":"306","id":"4921","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"209","id":"4688","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"277","target":"277","id":"2274","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"197","target":"358","id":"255","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"450","id":"1317","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"299","target":"258","id":"1360","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"47","target":"392","id":"1099","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"89","target":"13","id":"4328","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"78","target":"484","id":"2414","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"173","target":"243","id":"853","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"219","target":"138","id":"2346","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"133","target":"247","id":"2044","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"407","target":"133","id":"4069","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"176","target":"364","id":"2754","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"295","target":"90","id":"4889","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"473","target":"239","id":"3999","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"250","target":"145","id":"442","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"188","target":"7","id":"2993","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"9","id":"3175","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"242","target":"102","id":"2738","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"449","target":"73","id":"2487","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"82","id":"1700","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"418","id":"4807","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"250","target":"419","id":"3124","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"229","target":"236","id":"4778","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"37","id":"714","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"444","target":"276","id":"3621","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"331","target":"167","id":"2070","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"58","id":"4381","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"293","target":"190","id":"118","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"402","id":"3253","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"420","target":"260","id":"495","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"181","target":"236","id":"704","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"114","target":"195","id":"326","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"271","id":"2550","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"336","target":"208","id":"790","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"280","id":"4838","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"495","id":"2764","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"21","target":"18","id":"2908","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"16","target":"96","id":"1495","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"95","id":"3775","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"167","target":"382","id":"1585","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"18","target":"173","id":"3534","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"417","id":"822","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"307","target":"219","id":"3160","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"27","target":"146","id":"4897","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"83","id":"3711","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"490","id":"731","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"66","target":"287","id":"3507","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"424","id":"3930","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"86","id":"4508","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"318","target":"22","id":"1477","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"347","id":"2133","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"18","target":"115","id":"2307","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"359","target":"461","id":"3810","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"97","id":"2250","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"234","id":"4335","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"50","target":"99","id":"2242","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"253","target":"69","id":"1642","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"43","target":"346","id":"2088","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"340","id":"4336","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"46","id":"2149","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"37","target":"236","id":"683","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"247","target":"144","id":"3341","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"425","target":"83","id":"1193","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"56","id":"1259","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"41","target":"223","id":"308","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"320","target":"26","id":"4465","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"394","target":"404","id":"4536","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"292","target":"221","id":"3259","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"324","target":"490","id":"2179","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"38","target":"319","id":"3461","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"480","id":"4712","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"76","id":"2465","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"474","target":"134","id":"4387","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"357","target":"169","id":"2413","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"479","target":"90","id":"923","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"333","id":"3853","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"337","target":"13","id":"3085","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"201","target":"91","id":"3537","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"177","target":"364","id":"2592","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"175","id":"2795","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"111","target":"5","id":"4555","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"411","id":"3114","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"129","target":"258","id":"918","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"482","target":"38","id":"396","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"137","target":"139","id":"4052","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"372","target":"86","id":"128","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"375","target":"432","id":"2102","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"405","target":"119","id":"4354","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"439","target":"336","id":"4970","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"444","target":"398","id":"591","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"45","id":"3608","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"128","target":"213","id":"3346","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"479","id":"3298","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"146","id":"3976","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"387","target":"227","id":"668","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"216","target":"136","id":"1931","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"374","id":"2611","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"189","id":"3685","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"226","id":"2159","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"346","id":"746","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"43","id":"4222","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"255","id":"2252","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"48","target":"175","id":"309","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"311","target":"254","id":"1442","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"2","id":"32","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"429","target":"86","id":"181","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"135","target":"115","id":"2914","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"408","id":"3170","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"174","target":"72","id":"3149","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"295","id":"3233","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"309","id":"315","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"305","target":"378","id":"463","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"368","target":"150","id":"4544","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"28","target":"119","id":"4672","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"408","target":"385","id":"1345","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"276","id":"1695","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"126","id":"2683","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"388","target":"55","id":"990","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"88","id":"1961","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"490","target":"222","id":"4693","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"404","id":"372","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"281","target":"338","id":"1701","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"405","target":"75","id":"404","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"283","id":"1886","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"18","target":"297","id":"2772","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"140","id":"4781","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"435","target":"169","id":"4989","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"319","id":"2428","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"29","target":"368","id":"500","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"485","target":"405","id":"3551","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"73","target":"449","id":"4410","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"332","target":"98","id":"4159","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"234","target":"143","id":"1198","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"495","id":"2820","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"469","target":"233","id":"2198","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"31","target":"40","id":"733","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"370","target":"352","id":"3573","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"216","id":"2691","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"234","target":"234","id":"1117","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"110","target":"4","id":"4960","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"272","target":"15","id":"1420","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"97","target":"430","id":"4201","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"192","target":"158","id":"1555","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"293","target":"213","id":"4855","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"117","id":"2071","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"46","target":"26","id":"2860","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"250","id":"3448","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"216","target":"429","id":"3817","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"231","target":"111","id":"3964","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"86","target":"279","id":"1304","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"12","target":"473","id":"1145","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"73","target":"62","id":"2228","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"452","target":"255","id":"1386","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"376","target":"494","id":"1493","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"94","id":"4419","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"210","target":"173","id":"810","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"364","target":"89","id":"3026","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"29","target":"28","id":"2883","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"228","target":"28","id":"3951","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"179","id":"1093","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"442","id":"4045","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"339","target":"440","id":"4959","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"173","target":"169","id":"165","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"174","id":"3592","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"207","id":"4893","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"341","id":"988","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"125","id":"1544","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"357","target":"74","id":"4990","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"231","target":"432","id":"1484","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"214","target":"456","id":"4924","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"282","target":"292","id":"3352","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"429","id":"2706","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"70","target":"240","id":"4466","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"228","target":"447","id":"575","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"184","id":"261","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"368","target":"54","id":"3550","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"279","target":"283","id":"2002","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"358","target":"229","id":"3540","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"213","id":"3918","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"494","target":"348","id":"2891","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"294","id":"3934","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"325","id":"1522","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"304","target":"140","id":"2107","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"11","target":"273","id":"1951","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"197","id":"1788","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"77","target":"334","id":"3619","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"498","target":"165","id":"3652","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"334","target":"247","id":"1873","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"32","id":"2870","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"57","id":"1516","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"468","target":"40","id":"2354","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"148","target":"498","id":"225","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"314","target":"376","id":"909","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"451","id":"2644","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"61","target":"30","id":"1428","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"496","target":"481","id":"3734","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"147","target":"200","id":"3153","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"99","target":"27","id":"3393","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"446","target":"232","id":"409","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"139","target":"84","id":"970","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"366","id":"3001","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"121","target":"471","id":"948","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"403","target":"453","id":"3261","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"315","id":"414","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"169","target":"278","id":"2669","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"233","target":"87","id":"1580","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"259","id":"3737","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"300","id":"546","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"222","target":"362","id":"4710","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"197","target":"456","id":"4284","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"29","target":"228","id":"1630","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"133","target":"40","id":"186","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"421","id":"1847","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"218","target":"14","id":"3330","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"0","target":"279","id":"387","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"230","target":"413","id":"629","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"320","target":"14","id":"3714","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"383","target":"74","id":"3849","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"362","target":"193","id":"2903","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"387","target":"373","id":"2695","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"69","target":"9","id":"1926","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"68","target":"49","id":"4443","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"425","id":"2961","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"232","target":"444","id":"749","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"16","target":"337","id":"4935","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"359","target":"361","id":"4111","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"354","id":"2062","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"198","id":"93","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"223","id":"1763","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"138","target":"427","id":"2965","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"108","id":"4064","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"349","target":"152","id":"2658","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"229","id":"597","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"421","target":"31","id":"3365","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"273","target":"320","id":"3754","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"411","target":"204","id":"3781","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"376","target":"493","id":"3151","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"219","target":"399","id":"603","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"82","id":"552","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"48","target":"213","id":"1784","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"167","target":"304","id":"1839","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"201","id":"4873","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"487","id":"340","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"133","target":"145","id":"250","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"319","target":"452","id":"3642","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"122","id":"1411","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"297","id":"3370","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"428","id":"1952","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"164","target":"329","id":"4773","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"291","id":"4500","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"346","id":"532","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"261","id":"2776","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"180","target":"394","id":"1771","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"182","id":"3587","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"137","id":"3776","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"295","target":"75","id":"493","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"299","target":"273","id":"1130","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"341","target":"6","id":"2380","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"50","target":"449","id":"3871","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"418","target":"243","id":"2564","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"90","target":"138","id":"3117","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"90","id":"3605","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"18","id":"1215","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"19","target":"294","id":"2248","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"164","target":"33","id":"1501","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"132","target":"321","id":"2509","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"147","target":"136","id":"4785","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"315","id":"1922","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"98","target":"355","id":"1444","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"13","target":"177","id":"1064","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"96","target":"323","id":"229","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"249","target":"23","id":"3946","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"2","id":"260","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"24","target":"388","id":"2258","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"477","target":"411","id":"293","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"132","target":"462","id":"4983","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"127","id":"565","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"496","id":"2538","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"417","id":"3610","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"294","target":"390","id":"1187","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"481","target":"6","id":"1195","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"489","id":"4599","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"487","target":"154","id":"3177","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"64","target":"442","id":"3981","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"174","target":"493","id":"806","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"7","target":"365","id":"4527","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"96","target":"35","id":"1541","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"141","target":"230","id":"2582","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"29","id":"3987","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"43","target":"151","id":"2661","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"280","target":"58","id":"3074","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"276","id":"59","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"44","target":"435","id":"3890","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"404","id":"4496","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"117","id":"161","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"83","target":"256","id":"3401","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"21","target":"435","id":"344","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"114","target":"444","id":"1688","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"73","target":"305","id":"4464","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"422","target":"90","id":"4743","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"122","target":"122","id":"1178","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"139","target":"341","id":"936","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"252","target":"367","id":"3582","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"22","target":"152","id":"4189","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"146","target":"121","id":"1480","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"484","id":"4849","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"434","id":"2682","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"150","target":"357","id":"1421","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"411","id":"2238","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"368","id":"1451","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"401","target":"492","id":"2027","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"417","target":"235","id":"1783","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"488","id":"2165","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"340","target":"486","id":"4845","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"315","id":"4942","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"334","target":"11","id":"121","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"299","target":"493","id":"1716","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"175","target":"89","id":"2357","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"439","target":"365","id":"1329","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"431","id":"2702","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"469","id":"1265","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"7","target":"467","id":"3806","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"170","target":"173","id":"3828","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"160","target":"148","id":"2957","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"476","target":"294","id":"3033","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"171","target":"4","id":"4824","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"254","id":"3838","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"452","target":"470","id":"4903","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"346","target":"303","id":"1371","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"303","target":"10","id":"4674","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"206","id":"2498","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"92","id":"1875","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"293","target":"363","id":"621","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"410","target":"437","id":"3479","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"491","target":"389","id":"3216","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"196","target":"13","id":"55","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"20","target":"356","id":"3761","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"320","id":"3941","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"110","target":"207","id":"3959","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"453","id":"776","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"172","id":"1868","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"271","target":"105","id":"3886","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"356","target":"226","id":"3640","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"165","id":"4310","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"152","id":"101","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"122","id":"1679","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"322","target":"307","id":"2524","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"76","target":"99","id":"67","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"158","target":"239","id":"3407","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"359","target":"13","id":"2446","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"243","target":"291","id":"4874","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"43","target":"38","id":"2799","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"21","target":"494","id":"4597","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"265","target":"448","id":"4470","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"135","target":"404","id":"1119","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"283","target":"337","id":"4629","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"473","target":"401","id":"4185","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"217","target":"387","id":"4145","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"379","target":"426","id":"79","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"106","target":"39","id":"1776","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"59","target":"456","id":"4556","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"429","target":"499","id":"989","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"363","target":"203","id":"1014","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"166","target":"190","id":"310","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"402","id":"316","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"494","target":"435","id":"3408","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"154","id":"238","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"267","id":"642","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"318","target":"53","id":"960","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"399","target":"421","id":"4732","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"66","id":"3067","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"242","id":"3960","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"121","target":"81","id":"1589","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"366","id":"886","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"306","target":"158","id":"3623","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"293","target":"124","id":"791","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"309","id":"4533","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"367","target":"320","id":"4562","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"206","id":"2934","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"219","target":"378","id":"1678","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"451","id":"3571","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"357","target":"398","id":"4519","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"21","target":"377","id":"4730","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"412","target":"281","id":"3591","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"40","target":"435","id":"2623","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"210","id":"3668","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"334","target":"77","id":"3097","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"63","target":"490","id":"3333","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"219","target":"457","id":"3220","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"386","id":"4403","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"487","id":"205","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"175","target":"192","id":"717","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"19","target":"71","id":"1036","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"414","target":"216","id":"4862","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"221","id":"3508","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"230","id":"4342","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"68","target":"385","id":"2654","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"230","id":"1703","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"92","target":"246","id":"2253","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"340","id":"2360","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"200","id":"3546","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"50","target":"207","id":"3426","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"464","id":"119","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"245","target":"49","id":"2199","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"247","target":"337","id":"2553","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"159","target":"479","id":"867","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"97","target":"492","id":"4491","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"462","target":"381","id":"14","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"83","target":"373","id":"1108","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"293","target":"113","id":"4808","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"136","id":"0","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"474","target":"227","id":"4795","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"468","target":"164","id":"3758","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"444","target":"314","id":"879","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"414","target":"330","id":"4495","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"128","target":"136","id":"219","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"414","target":"311","id":"2391","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"310","target":"260","id":"4651","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"187","target":"225","id":"3338","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"216","target":"104","id":"3041","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"141","target":"70","id":"4352","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"360","target":"63","id":"871","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"260","id":"616","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"337","id":"931","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"280","target":"427","id":"2001","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"393","target":"459","id":"2667","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"264","target":"249","id":"744","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"492","target":"292","id":"1702","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"36","target":"104","id":"939","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"36","id":"1191","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"450","id":"2251","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"76","target":"484","id":"705","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"293","id":"1983","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"276","id":"1714","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"160","target":"197","id":"141","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"247","target":"142","id":"715","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"411","target":"318","id":"1894","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"103","target":"332","id":"4034","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"297","target":"245","id":"1102","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"429","id":"3875","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"382","target":"405","id":"1487","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"371","id":"1003","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"330","id":"1466","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"360","target":"482","id":"153","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"107","id":"3505","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"30","target":"128","id":"1274","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"399","id":"2632","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"419","id":"3585","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"233","id":"2395","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"452","target":"466","id":"2854","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"209","id":"2964","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"375","target":"146","id":"2389","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"332","target":"203","id":"1370","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"167","target":"322","id":"4734","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"103","target":"224","id":"4653","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"135","target":"246","id":"4589","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"139","target":"298","id":"4172","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"373","target":"43","id":"1037","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"206","target":"89","id":"3609","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"19","id":"3399","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"168","target":"56","id":"1309","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"286","target":"465","id":"2039","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"342","target":"305","id":"1796","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"69","target":"415","id":"3933","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"65","id":"4469","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"19","target":"29","id":"1170","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"119","id":"3011","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"148","id":"1729","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"330","target":"453","id":"3563","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"272","id":"1884","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"415","target":"249","id":"572","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"125","target":"152","id":"3414","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"253","target":"17","id":"696","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"97","target":"401","id":"4595","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"419","target":"328","id":"2116","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"101","target":"398","id":"1734","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"49","id":"3911","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"239","target":"152","id":"4978","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"37","target":"18","id":"4044","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"330","target":"196","id":"757","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"40","id":"2490","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"382","id":"1479","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"368","target":"324","id":"2436","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"216","target":"30","id":"2329","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"332","id":"3816","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"419","id":"885","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"490","target":"326","id":"3452","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"77","id":"611","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"103","target":"278","id":"946","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"239","id":"1138","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"130","target":"382","id":"1855","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"163","target":"13","id":"4462","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"442","target":"350","id":"1334","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"443","id":"2966","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"476","target":"20","id":"3256","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"148","target":"319","id":"3796","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"137","target":"306","id":"1009","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"378","target":"387","id":"1146","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"482","target":"479","id":"1136","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"225","target":"226","id":"1376","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"324","id":"596","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"53","target":"65","id":"2878","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"148","target":"163","id":"2276","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"76","target":"132","id":"4864","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"178","target":"442","id":"3381","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"290","id":"2846","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"361","target":"300","id":"3634","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"212","target":"384","id":"2803","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"293","target":"167","id":"2284","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"60","id":"4626","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"54","target":"52","id":"771","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"385","target":"241","id":"2822","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"128","target":"93","id":"1416","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"456","target":"443","id":"2169","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"96","target":"54","id":"2927","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"135","target":"234","id":"4772","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"155","target":"137","id":"4690","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"132","target":"273","id":"453","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"386","target":"257","id":"3422","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"232","target":"301","id":"2782","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"387","target":"494","id":"244","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"20","target":"249","id":"1651","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"87","target":"414","id":"1648","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"477","target":"375","id":"2163","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"378","target":"121","id":"4049","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"96","target":"233","id":"736","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"368","id":"528","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"222","id":"3108","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"122","id":"512","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"336","target":"381","id":"433","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"340","target":"8","id":"3435","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"92","id":"1512","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"72","target":"368","id":"2325","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"197","target":"119","id":"2674","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"297","target":"72","id":"4650","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"277","target":"18","id":"1811","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"140","target":"443","id":"96","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"303","id":"1063","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"232","id":"1918","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"320","target":"44","id":"3669","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"155","target":"405","id":"1939","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"127","target":"290","id":"3368","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"488","id":"3705","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"482","target":"241","id":"212","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"371","target":"271","id":"4741","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"342","id":"4043","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"193","target":"184","id":"3578","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"279","target":"182","id":"2043","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"125","target":"358","id":"4842","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"47","id":"873","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"302","target":"262","id":"4547","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"17","target":"334","id":"3128","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"113","target":"20","id":"3014","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"324","target":"4","id":"3404","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"78","target":"479","id":"2221","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"413","target":"459","id":"665","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"447","id":"1352","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"238","id":"4046","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"450","target":"71","id":"945","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"145","id":"2171","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"376","target":"396","id":"2902","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"451","target":"10","id":"658","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"133","target":"367","id":"2798","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"216","id":"1210","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"270","target":"119","id":"3763","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"282","target":"220","id":"3386","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"423","id":"3445","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"386","target":"344","id":"3613","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"103","target":"472","id":"1656","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"395","id":"1980","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"391","target":"246","id":"4541","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"81","id":"2945","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"191","target":"409","id":"2897","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"16","target":"24","id":"2594","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"362","target":"221","id":"4117","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"363","id":"411","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"341","target":"77","id":"2503","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"332","target":"98","id":"4870","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"487","id":"3334","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"371","target":"101","id":"4175","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"307","target":"404","id":"4729","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"364","target":"155","id":"892","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"225","id":"2363","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"265","target":"4","id":"3331","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"34","id":"4881","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"311","target":"468","id":"4025","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"413","id":"248","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"196","target":"455","id":"1035","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"40","target":"282","id":"908","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"263","id":"615","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"349","target":"167","id":"3985","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"453","target":"321","id":"896","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"171","target":"75","id":"1889","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"191","target":"230","id":"1033","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"255","target":"33","id":"929","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"180","target":"438","id":"1607","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"322","target":"440","id":"2281","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"469","target":"141","id":"920","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"481","target":"307","id":"3042","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"327","id":"2510","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"252","target":"104","id":"1166","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"361","target":"325","id":"1719","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"190","target":"471","id":"2833","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"382","target":"388","id":"4430","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"68","target":"220","id":"301","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"252","target":"273","id":"985","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"72","target":"261","id":"2216","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"229","target":"470","id":"3887","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"468","target":"247","id":"872","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"84","target":"485","id":"322","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"413","target":"499","id":"2186","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"304","id":"2341","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"430","id":"2826","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"147","target":"167","id":"2778","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"317","id":"4776","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"315","target":"59","id":"4627","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"499","id":"1643","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"470","target":"350","id":"2923","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"356","target":"70","id":"276","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"169","target":"37","id":"1105","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"225","target":"166","id":"4232","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"487","id":"1621","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"69","target":"271","id":"2089","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"347","target":"347","id":"237","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"387","target":"236","id":"2520","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"25","id":"3735","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"459","target":"364","id":"2701","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"13","target":"285","id":"738","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"249","target":"162","id":"1143","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"27","id":"3025","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"112","target":"282","id":"4493","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"446","target":"253","id":"4726","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"91","target":"328","id":"197","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"268","target":"19","id":"314","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"224","id":"4450","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"393","id":"12","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"440","target":"110","id":"734","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"97","target":"458","id":"4386","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"489","target":"153","id":"811","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"104","id":"2190","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"452","target":"452","id":"1280","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"246","id":"4750","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"239","target":"419","id":"837","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"416","target":"495","id":"2124","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"150","target":"459","id":"2858","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"432","id":"4539","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"75","target":"46","id":"2234","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"160","id":"2278","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"24","target":"214","id":"607","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"324","target":"391","id":"10","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"160","target":"423","id":"1830","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"150","id":"1072","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"257","id":"4053","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"441","id":"3137","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"406","target":"389","id":"2125","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"244","target":"468","id":"2189","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"394","id":"183","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"413","target":"193","id":"451","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"340","target":"337","id":"2343","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"169","target":"120","id":"4225","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"4","id":"3651","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"492","target":"39","id":"3373","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"275","target":"266","id":"1485","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"130","target":"3","id":"1814","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"84","target":"262","id":"480","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"41","target":"88","id":"2759","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"490","target":"388","id":"1017","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"440","target":"433","id":"3739","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"444","target":"31","id":"2537","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"69","target":"385","id":"518","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"347","id":"4973","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"199","id":"1142","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"156","target":"81","id":"2331","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"403","target":"273","id":"2565","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"10","target":"52","id":"2246","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"411","target":"30","id":"2600","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"279","id":"4816","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"104","target":"307","id":"4628","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"450","target":"289","id":"748","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"121","target":"263","id":"3565","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"7","id":"3521","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"261","target":"482","id":"4135","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"142","id":"1808","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"249","target":"129","id":"1060","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"384","target":"65","id":"4810","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"37","target":"277","id":"4005","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"222","target":"72","id":"2336","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"400","target":"22","id":"342","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"398","target":"411","id":"2824","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"357","target":"271","id":"4199","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"217","target":"154","id":"4617","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"90","target":"456","id":"943","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"230","id":"4502","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"440","target":"394","id":"2710","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"182","id":"3590","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"0","target":"178","id":"727","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"251","target":"351","id":"697","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"183","id":"1878","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"336","target":"37","id":"3055","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"288","target":"227","id":"3627","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"408","target":"359","id":"3666","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"251","id":"3391","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"384","target":"449","id":"4997","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"168","id":"1124","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"205","id":"2213","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"362","target":"350","id":"2219","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"140","target":"304","id":"3718","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"250","id":"4227","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"473","target":"454","id":"912","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"453","id":"1315","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"405","target":"15","id":"3620","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"245","target":"229","id":"2756","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"210","target":"399","id":"3532","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"374","id":"458","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"63","target":"228","id":"3136","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"417","target":"394","id":"2463","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"57","target":"483","id":"2947","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"83","target":"419","id":"1433","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"192","id":"887","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"334","target":"247","id":"2584","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"99","target":"326","id":"1463","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"124","id":"2733","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"220","target":"138","id":"3688","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"265","target":"207","id":"3497","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"114","target":"30","id":"1548","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"358","id":"359","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"12","target":"109","id":"2015","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"190","target":"107","id":"1826","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"146","id":"780","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"264","target":"358","id":"4757","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"401","target":"224","id":"1472","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"417","id":"2273","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"415","target":"52","id":"3936","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"309","id":"4319","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"393","target":"403","id":"1308","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"345","id":"3790","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"333","id":"1310","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"252","target":"263","id":"3728","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"148","target":"241","id":"3836","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"218","target":"483","id":"3995","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"149","target":"29","id":"3134","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"470","target":"294","id":"4754","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"343","target":"381","id":"3249","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"228","id":"869","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"76","id":"2675","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"409","target":"0","id":"4679","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"59","target":"259","id":"722","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"212","id":"4428","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"331","id":"2","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"48","target":"262","id":"4639","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"243","target":"311","id":"3465","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"184","target":"20","id":"2384","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"173","target":"165","id":"4967","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"29","target":"276","id":"4296","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"164","target":"288","id":"4606","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"367","target":"448","id":"4632","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"55","target":"94","id":"914","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"288","target":"469","id":"4459","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"97","id":"1967","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"241","id":"4228","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"442","target":"470","id":"90","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"80","id":"1271","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"122","target":"109","id":"3059","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"369","target":"140","id":"4136","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"148","id":"2838","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"210","target":"192","id":"1578","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"304","id":"3586","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"24","id":"4554","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"11","id":"135","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"58","target":"499","id":"3874","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"458","target":"400","id":"3655","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"277","id":"432","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"112","id":"3469","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"13","target":"200","id":"192","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"197","target":"0","id":"3765","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"117","target":"268","id":"4037","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"238","id":"1881","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"342","target":"257","id":"4104","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"316","target":"360","id":"273","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"274","id":"3562","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"386","id":"3862","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"313","id":"3304","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"479","id":"1296","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"22","target":"395","id":"4390","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"46","id":"2098","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"369","target":"402","id":"3379","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"170","target":"61","id":"3558","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"15","id":"4018","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"467","id":"4957","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"112","target":"347","id":"3921","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"429","target":"435","id":"3428","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"66","id":"1414","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"240","target":"195","id":"3839","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"408","target":"375","id":"828","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"82","id":"75","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"58","id":"3687","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"31","target":"122","id":"1270","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"323","target":"87","id":"787","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"236","id":"4040","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"487","id":"4262","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"480","target":"92","id":"1188","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"336","id":"3075","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"140","id":"3163","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"224","target":"221","id":"4514","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"402","id":"1250","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"12","target":"95","id":"70","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"40","target":"202","id":"1932","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"79","target":"36","id":"2689","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"196","id":"1906","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"206","target":"447","id":"3385","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"356","target":"497","id":"915","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"243","target":"478","id":"2450","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"143","id":"769","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"459","id":"1267","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"315","target":"227","id":"3657","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"491","target":"243","id":"2758","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"155","id":"4952","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"67","id":"4695","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"27","target":"304","id":"209","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"299","id":"2640","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"213","target":"181","id":"4055","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"372","target":"419","id":"462","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"392","id":"1594","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"487","target":"422","id":"3743","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"11","target":"353","id":"401","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"315","target":"287","id":"3973","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"111","target":"389","id":"1015","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"481","target":"178","id":"1638","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"447","id":"2203","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"459","target":"326","id":"4648","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"482","id":"1962","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"417","id":"1277","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"304","target":"224","id":"3992","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"373","id":"4692","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"248","id":"1026","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"314","target":"158","id":"2313","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"376","target":"383","id":"4241","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"353","target":"387","id":"1034","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"71","id":"2147","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"482","id":"2985","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"327","target":"258","id":"347","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"336","target":"409","id":"312","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"333","target":"154","id":"2732","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"453","target":"91","id":"2801","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"406","id":"353","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"76","target":"388","id":"441","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"412","target":"17","id":"1212","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"150","target":"459","id":"3580","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"364","target":"84","id":"3983","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"372","target":"478","id":"142","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"327","target":"470","id":"3089","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"280","id":"813","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"367","target":"311","id":"2971","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"171","id":"2040","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"361","target":"366","id":"3524","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"437","target":"276","id":"4546","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"397","target":"342","id":"2814","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"30","target":"114","id":"413","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"209","id":"2780","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"301","target":"244","id":"983","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"218","target":"24","id":"3335","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"156","target":"206","id":"1744","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"432","target":"144","id":"2058","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"485","id":"3071","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"80","id":"2761","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"90","target":"307","id":"2232","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"316","target":"5","id":"2812","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"312","target":"304","id":"1772","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"256","target":"172","id":"176","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"332","target":"262","id":"4676","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"315","id":"1318","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"125","target":"477","id":"370","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"189","target":"14","id":"2873","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"296","id":"2362","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"438","id":"4473","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"409","id":"859","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"190","target":"138","id":"4027","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"397","target":"307","id":"1899","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"255","target":"248","id":"4444","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"70","target":"482","id":"1055","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"5","id":"1740","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"330","target":"432","id":"963","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"347","target":"461","id":"1086","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"375","target":"358","id":"2539","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"268","target":"492","id":"3974","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"121","id":"2314","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"64","target":"91","id":"2178","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"128","target":"53","id":"4418","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"114","target":"270","id":"1083","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"250","target":"234","id":"4371","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"166","target":"62","id":"2091","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"491","target":"460","id":"3077","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"200","target":"5","id":"2467","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"146","target":"65","id":"1053","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"427","target":"455","id":"1285","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"192","target":"57","id":"3021","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"92","target":"414","id":"3814","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"109","id":"4915","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"470","target":"395","id":"2255","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"434","target":"138","id":"4537","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"223","target":"255","id":"436","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"393","target":"354","id":"3141","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"36","id":"3376","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"50","target":"221","id":"4306","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"12","target":"352","id":"667","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"17","target":"392","id":"3200","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"244","target":"139","id":"3958","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"234","target":"172","id":"109","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"346","target":"90","id":"4545","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"281","id":"3002","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"133","target":"177","id":"1404","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"386","id":"1276","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"425","target":"119","id":"4636","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"412","target":"200","id":"4026","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"192","target":"437","id":"1286","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"79","target":"472","id":"1738","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"31","id":"628","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"273","target":"94","id":"569","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"255","target":"62","id":"2460","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"308","id":"1994","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"42","target":"408","id":"4068","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"210","target":"400","id":"1177","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"323","target":"105","id":"1165","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"462","target":"391","id":"1282","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"317","target":"227","id":"1454","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"41","target":"44","id":"3218","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"154","id":"3525","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"485","id":"139","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"386","target":"47","id":"3406","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"324","target":"121","id":"481","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"410","id":"513","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"18","target":"186","id":"3231","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"129","target":"226","id":"2007","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"23","id":"2013","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"234","target":"347","id":"418","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"436","id":"1109","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"176","target":"31","id":"1810","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"460","id":"2003","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"280","id":"4229","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"218","id":"1747","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"108","id":"2688","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"291","target":"473","id":"685","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"106","target":"375","id":"247","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"265","id":"2925","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"136","id":"1419","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"177","id":"2348","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"223","target":"408","id":"4098","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"232","id":"767","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"412","target":"461","id":"1220","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"363","target":"11","id":"2825","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"402","id":"303","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"402","id":"425","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"299","target":"127","id":"594","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"281","target":"211","id":"4278","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"88","target":"69","id":"2823","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"376","id":"2848","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"132","target":"291","id":"1880","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"146","target":"160","id":"4752","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"271","id":"863","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"373","id":"1713","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"178","target":"354","id":"2928","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"250","target":"462","id":"2576","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"301","target":"22","id":"4197","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"230","target":"193","id":"1084","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"395","id":"1887","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"189","target":"234","id":"4186","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"46","id":"1181","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"341","target":"223","id":"3579","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"218","target":"402","id":"1328","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"46","target":"296","id":"4016","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"291","id":"4811","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"22","target":"112","id":"564","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"496","id":"3812","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"355","id":"2942","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"110","target":"460","id":"626","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"420","target":"325","id":"4768","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"112","target":"269","id":"1272","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"382","target":"70","id":"1553","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"10","id":"4024","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"156","target":"292","id":"4151","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"416","target":"327","id":"46","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"173","id":"1786","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"436","target":"74","id":"1303","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"299","target":"166","id":"3169","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"44","target":"46","id":"3519","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"343","target":"275","id":"4715","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"171","target":"422","id":"116","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"190","target":"403","id":"363","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"283","id":"3184","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"40","target":"274","id":"16","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"401","target":"290","id":"460","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"491","target":"492","id":"1217","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"17","target":"400","id":"4148","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"318","target":"369","id":"2008","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"454","target":"265","id":"3702","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"232","target":"386","id":"3520","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"328","target":"468","id":"4209","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"480","target":"54","id":"1848","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"35","id":"3236","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"219","id":"1297","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"14","id":"4649","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"435","target":"495","id":"1373","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"349","target":"23","id":"1919","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"125","id":"1437","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"467","id":"3234","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"261","target":"453","id":"3531","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"124","target":"141","id":"175","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"19","target":"369","id":"1989","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"435","target":"457","id":"514","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"382","target":"338","id":"2269","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"353","target":"403","id":"3321","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"418","id":"4585","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"40","id":"2898","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"110","target":"473","id":"3217","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"301","target":"451","id":"726","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"449","id":"3100","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"7","target":"493","id":"1089","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"302","target":"328","id":"2796","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"5","target":"441","id":"3892","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"402","target":"446","id":"2736","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"46","id":"4467","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"462","id":"1412","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"153","target":"43","id":"849","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"264","target":"233","id":"4234","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"334","id":"215","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"476","target":"262","id":"2100","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"342","target":"307","id":"3266","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"442","target":"74","id":"3691","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"446","target":"114","id":"1351","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"330","id":"2408","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"326","id":"3415","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"148","target":"43","id":"4233","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"135","target":"480","id":"3506","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"277","id":"2374","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"173","target":"363","id":"459","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"292","id":"1850","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"432","target":"264","id":"1336","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"138","target":"58","id":"927","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"224","target":"221","id":"3020","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"405","target":"264","id":"428","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"42","target":"241","id":"2429","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"61","target":"392","id":"4525","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"313","id":"4622","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"433","id":"4551","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"275","target":"260","id":"2187","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"464","target":"136","id":"3908","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"115","id":"2755","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"174","id":"3271","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"348","id":"2745","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"92","id":"959","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"240","id":"2103","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"498","id":"3648","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"190","target":"355","id":"4640","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"362","target":"85","id":"4746","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"273","id":"4409","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"340","target":"460","id":"1627","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"314","target":"233","id":"4022","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"63","target":"482","id":"3538","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"189","target":"437","id":"4932","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"166","id":"558","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"247","target":"100","id":"1175","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"343","target":"49","id":"2006","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"169","target":"85","id":"1913","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"68","id":"1588","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"370","target":"463","id":"2407","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"60","id":"4364","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"275","target":"137","id":"4019","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"467","target":"375","id":"4490","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"64","target":"439","id":"4442","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"72","target":"420","id":"4614","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"488","id":"3257","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"197","id":"4313","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"330","target":"464","id":"633","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"449","target":"408","id":"807","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"41","id":"42","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"140","target":"408","id":"1275","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"310","target":"313","id":"3637","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"483","target":"405","id":"4345","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"397","target":"131","id":"997","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"490","id":"4480","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"106","id":"2871","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"161","target":"20","id":"2602","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"177","id":"3906","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"113","target":"490","id":"1399","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"42","target":"72","id":"3935","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"38","target":"337","id":"4123","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"371","id":"1890","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"371","target":"489","id":"3770","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"297","id":"245","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"406","target":"377","id":"190","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"286","target":"110","id":"3746","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"124","target":"300","id":"763","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"312","target":"309","id":"3183","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"480","target":"238","id":"4288","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"239","target":"152","id":"2970","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"133","id":"1388","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"426","target":"47","id":"381","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"54","id":"2319","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"183","target":"355","id":"3841","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"173","target":"473","id":"598","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"282","id":"978","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"273","id":"2514","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"253","target":"107","id":"693","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"72","target":"18","id":"4725","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"469","target":"491","id":"1040","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"322","target":"191","id":"3265","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"464","id":"275","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"163","target":"41","id":"3732","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"197","id":"4765","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"204","target":"288","id":"1059","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"415","target":"289","id":"1879","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"423","target":"460","id":"2308","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"307","id":"3087","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"107","id":"3232","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"112","id":"4813","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"112","target":"391","id":"2153","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"11","target":"80","id":"4082","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"70","id":"3564","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"424","target":"499","id":"3888","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"83","target":"473","id":"4826","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"95","id":"27","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"72","id":"4392","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"339","target":"105","id":"2118","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"473","target":"125","id":"3297","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"375","target":"410","id":"4377","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"318","target":"354","id":"1666","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"22","id":"3760","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"67","target":"493","id":"4567","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"243","id":"4156","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"233","target":"392","id":"3681","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"206","target":"248","id":"1262","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"391","id":"2105","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"360","target":"495","id":"977","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"406","id":"3174","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"379","target":"261","id":"4193","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"310","target":"241","id":"1114","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"116","id":"2750","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"140","target":"434","id":"1741","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"258","id":"4850","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"322","target":"171","id":"2249","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"450","target":"61","id":"3741","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"454","id":"3966","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"205","target":"379","id":"2338","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"97","target":"266","id":"4529","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"426","target":"240","id":"716","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"257","id":"2434","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"411","id":"4588","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"397","target":"323","id":"4840","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"389","target":"197","id":"166","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"388","id":"2656","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"24","id":"169","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"54","id":"1137","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"187","target":"263","id":"619","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"448","id":"4033","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"434","target":"305","id":"2254","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"418","id":"4791","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"269","target":"257","id":"691","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"263","target":"91","id":"417","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"118","target":"116","id":"1893","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"217","target":"314","id":"724","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"163","target":"136","id":"2643","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"312","target":"362","id":"3192","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"366","target":"11","id":"4909","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"461","id":"2896","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"316","target":"93","id":"4431","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"241","id":"1214","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"261","target":"154","id":"2955","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"253","id":"4507","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"399","target":"439","id":"3471","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"237","id":"1940","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"381","target":"444","id":"1012","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"88","target":"32","id":"3847","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"306","id":"2561","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"127","target":"328","id":"4984","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"412","target":"304","id":"1397","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"26","id":"2794","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"201","target":"70","id":"3180","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"72","target":"267","id":"881","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"181","target":"191","id":"1710","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"86","id":"889","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"288","id":"2660","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"370","id":"3939","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"135","target":"482","id":"2337","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"146","id":"281","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"465","id":"81","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"229","id":"3788","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"34","id":"1167","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"291","target":"291","id":"497","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"151","id":"949","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"376","id":"236","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"105","id":"3733","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"242","target":"37","id":"531","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"159","target":"92","id":"3286","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"156","id":"4219","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"30","target":"349","id":"3332","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"386","id":"1047","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"48","target":"161","id":"3123","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"38","target":"11","id":"2152","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"476","target":"332","id":"3713","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"247","id":"3865","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"260","target":"364","id":"300","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"286","id":"4236","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"495","id":"1201","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"63","id":"2621","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"339","target":"259","id":"3699","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"107","id":"3768","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"490","id":"2566","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"363","target":"326","id":"561","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"373","target":"481","id":"3893","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"280","target":"274","id":"4211","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"312","target":"80","id":"104","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"240","target":"268","id":"223","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"69","target":"58","id":"3009","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"88","id":"709","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"437","target":"12","id":"1547","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"411","target":"159","id":"2797","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"158","id":"3774","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"353","target":"448","id":"4270","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"420","target":"376","id":"539","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"96","target":"448","id":"4054","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"247","target":"142","id":"4917","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"3","target":"410","id":"292","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"266","id":"1672","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"431","id":"4526","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"290","target":"497","id":"4660","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"44","target":"216","id":"1242","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"203","target":"248","id":"2962","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"179","id":"2293","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"498","target":"162","id":"1803","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"173","target":"338","id":"4078","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"378","target":"438","id":"435","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"161","target":"99","id":"3475","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"38","target":"349","id":"4406","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"136","target":"30","id":"36","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"364","target":"89","id":"49","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"87","target":"114","id":"4561","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"181","id":"28","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"379","target":"322","id":"3722","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"367","target":"51","id":"2593","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"298","id":"2774","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"324","target":"289","id":"3566","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"137","id":"3880","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"94","id":"3971","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"172","id":"1693","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"206","id":"4239","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"176","target":"241","id":"226","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"234","target":"93","id":"2921","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"253","id":"2093","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"57","target":"330","id":"1841","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"7","target":"322","id":"144","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"153","id":"440","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"159","id":"2507","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"394","target":"396","id":"801","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"489","target":"236","id":"4405","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"63","target":"393","id":"2104","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"350","id":"3957","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"186","id":"4856","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"181","target":"477","id":"4857","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"339","id":"328","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"249","target":"330","id":"382","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"323","target":"90","id":"2575","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"159","target":"225","id":"483","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"382","target":"156","id":"3915","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"128","target":"481","id":"1892","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"149","target":"43","id":"2306","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"352","target":"234","id":"3206","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"20","target":"308","id":"2967","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"449","target":"55","id":"8","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"471","id":"1390","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"489","target":"179","id":"4447","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"139","target":"440","id":"3454","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"336","target":"248","id":"940","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"285","id":"1246","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"458","id":"3698","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"372","id":"3599","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"9","id":"3647","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"7","target":"161","id":"2930","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"391","target":"382","id":"1530","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"255","target":"271","id":"1610","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"184","id":"4427","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"62","id":"2042","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"232","target":"263","id":"2472","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"140","target":"24","id":"2488","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"362","target":"278","id":"2597","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"310","target":"285","id":"1781","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"429","target":"421","id":"4936","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"75","target":"441","id":"94","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"496","target":"354","id":"203","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"291","target":"423","id":"1147","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"389","target":"125","id":"3212","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"470","target":"494","id":"4501","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"4","target":"140","id":"330","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"473","target":"292","id":"2560","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"258","target":"107","id":"364","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"375","id":"2954","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"244","target":"91","id":"482","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"419","target":"172","id":"2546","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"223","target":"451","id":"3303","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"481","target":"42","id":"3316","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"34","id":"878","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"124","target":"352","id":"3421","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"322","target":"2","id":"4091","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"148","id":"3145","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"242","target":"118","id":"4687","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"314","target":"466","id":"687","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"431","id":"1468","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"214","target":"213","id":"4865","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"344","id":"3239","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"26","id":"834","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"49","target":"484","id":"2316","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"146","id":"3197","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"39","id":"752","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"164","target":"105","id":"2828","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"349","target":"489","id":"313","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"295","target":"90","id":"2160","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"56","id":"1876","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"244","id":"2128","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"475","target":"117","id":"3181","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"96","target":"133","id":"1963","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"42","id":"3473","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"258","target":"496","id":"4030","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"378","id":"1023","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"422","id":"1579","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"15","id":"3756","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"337","target":"28","id":"2081","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"203","target":"284","id":"3228","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"425","id":"3663","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"33","id":"2746","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"90","target":"26","id":"4050","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"361","target":"365","id":"1447","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"337","target":"489","id":"3048","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"482","target":"240","id":"3102","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"81","id":"445","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"129","target":"274","id":"4766","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"50","target":"22","id":"529","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"468","target":"374","id":"2222","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"37","target":"328","id":"538","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"256","id":"3662","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"171","target":"356","id":"61","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"228","target":"18","id":"3238","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"284","target":"61","id":"4264","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"306","target":"335","id":"3226","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"320","target":"348","id":"198","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"458","id":"1900","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"459","target":"386","id":"4280","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"339","target":"222","id":"3480","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"317","id":"311","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"234","target":"441","id":"524","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"229","target":"474","id":"4246","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"414","id":"4038","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"369","target":"101","id":"2657","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"58","id":"1107","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"171","target":"328","id":"4304","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"476","target":"288","id":"4869","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"375","target":"221","id":"3742","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"378","id":"689","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"487","id":"3088","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"125","id":"1235","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"422","id":"1525","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"207","target":"383","id":"2458","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"107","target":"317","id":"3006","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"35","id":"1739","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"234","target":"131","id":"439","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"102","target":"422","id":"1481","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"381","target":"42","id":"2209","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"183","target":"385","id":"4910","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"229","target":"82","id":"4329","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"435","id":"1690","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"61","id":"1460","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"304","target":"407","id":"3991","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"152","id":"1752","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"476","target":"498","id":"4221","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"69","target":"488","id":"3694","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"168","target":"184","id":"374","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"437","target":"125","id":"1002","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"163","target":"170","id":"1284","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"87","id":"366","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"491","target":"116","id":"1342","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"253","target":"169","id":"2457","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"450","target":"27","id":"4489","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"371","target":"464","id":"2841","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"339","id":"4866","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"202","target":"239","id":"4929","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"383","target":"357","id":"1233","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"475","target":"495","id":"2604","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"474","target":"403","id":"4830","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"280","target":"26","id":"4060","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"459","target":"282","id":"2294","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"135","target":"144","id":"4846","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"269","target":"56","id":"356","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"233","target":"104","id":"2653","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"40","target":"340","id":"2333","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"385","target":"441","id":"4487","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"218","target":"78","id":"3413","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"436","target":"435","id":"350","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"130","id":"2303","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"60","id":"3963","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"356","target":"81","id":"544","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"314","target":"269","id":"4412","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"467","target":"52","id":"987","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"340","target":"254","id":"2431","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"122","id":"3447","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"352","target":"412","id":"4341","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"342","target":"419","id":"4756","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"440","target":"113","id":"3833","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"478","id":"4286","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"118","target":"12","id":"1469","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"419","target":"120","id":"3264","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"75","target":"71","id":"698","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"426","target":"316","id":"4542","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"59","target":"228","id":"4802","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"292","id":"25","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"453","target":"385","id":"3607","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"458","id":"1323","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"283","target":"64","id":"504","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"64","id":"2440","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"322","target":"153","id":"4637","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"370","id":"3093","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"429","target":"5","id":"4670","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"346","id":"2963","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"349","target":"289","id":"4074","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"24","target":"372","id":"4157","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"201","target":"395","id":"965","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"232","target":"449","id":"547","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"33","id":"1999","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"333","target":"297","id":"168","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"214","target":"296","id":"2737","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"217","target":"66","id":"4361","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"198","id":"860","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"196","target":"156","id":"373","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"180","target":"252","id":"4868","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"363","id":"1363","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"200","target":"276","id":"3240","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"137","target":"288","id":"383","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"204","target":"314","id":"636","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"311","target":"405","id":"102","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"242","id":"4226","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"329","id":"4518","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"349","target":"259","id":"816","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"471","id":"4947","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"350","id":"1861","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"171","target":"419","id":"2875","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"273","target":"350","id":"2932","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"180","target":"230","id":"354","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"132","target":"400","id":"271","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"311","target":"87","id":"2158","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"70","target":"462","id":"2949","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"40","id":"444","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"215","id":"3712","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"417","target":"61","id":"4532","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"167","id":"3683","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"82","id":"4028","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"432","target":"152","id":"155","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"186","id":"2723","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"373","target":"30","id":"4535","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"338","target":"22","id":"847","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"139","target":"158","id":"4631","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"210","target":"105","id":"1155","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"334","target":"430","id":"4511","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"43","target":"82","id":"68","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"315","id":"741","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"124","target":"60","id":"3300","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"84","target":"99","id":"4420","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"126","target":"4","id":"1943","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"124","target":"211","id":"3154","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"89","id":"2918","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"214","target":"451","id":"3516","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"176","target":"493","id":"3706","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"124","target":"64","id":"895","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"275","target":"312","id":"1011","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"52","id":"2037","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"11","id":"4753","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"79","target":"421","id":"1817","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"471","id":"679","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"291","target":"489","id":"4510","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"75","target":"184","id":"1483","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"282","id":"1570","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"159","target":"444","id":"1934","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"113","id":"2473","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"129","target":"174","id":"1683","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"479","id":"3343","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"150","target":"169","id":"3773","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"477","target":"410","id":"4243","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"437","target":"207","id":"1054","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"142","target":"16","id":"200","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"246","target":"311","id":"2920","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"71","target":"234","id":"467","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"250","id":"2014","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"90","id":"4058","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"339","id":"2741","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"143","id":"222","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"456","target":"464","id":"2834","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"120","id":"1112","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"281","target":"154","id":"2984","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"99","target":"265","id":"4355","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"404","id":"1070","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"299","target":"87","id":"1440","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"86","target":"159","id":"4253","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"375","target":"473","id":"3977","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"323","target":"397","id":"2704","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"191","target":"473","id":"1827","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"306","target":"211","id":"3729","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"272","target":"167","id":"1013","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"273","target":"247","id":"2816","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"454","target":"336","id":"525","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"277","target":"420","id":"2742","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"12","target":"80","id":"1123","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"482","id":"3013","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"283","target":"456","id":"321","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"426","target":"198","id":"1662","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"170","id":"1640","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"297","target":"61","id":"2939","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"44","target":"490","id":"2777","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"353","id":"3827","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"366","target":"156","id":"2138","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"274","id":"2119","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"50","id":"900","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"314","target":"208","id":"3679","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"283","id":"2974","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"282","target":"274","id":"3339","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"292","target":"160","id":"270","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"437","id":"708","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"249","id":"4587","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"130","id":"975","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"426","id":"2686","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"431","id":"653","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"156","target":"140","id":"1408","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"328","target":"455","id":"2808","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"4","target":"425","id":"3894","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"256","target":"286","id":"3927","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"443","target":"263","id":"3484","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"380","id":"650","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"57","target":"263","id":"3515","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"45","id":"3204","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"17","target":"353","id":"3054","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"201","target":"280","id":"1982","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"240","target":"313","id":"635","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"310","target":"225","id":"2479","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"72","target":"396","id":"2554","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"218","id":"2627","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"282","target":"250","id":"76","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"171","target":"347","id":"1844","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"212","target":"178","id":"3015","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"58","target":"71","id":"793","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"495","id":"3432","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"385","target":"254","id":"2369","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"24","id":"651","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"440","id":"2453","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"72","id":"4985","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"281","target":"156","id":"3850","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"240","target":"51","id":"2143","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"436","id":"4008","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"205","target":"404","id":"2591","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"166","target":"296","id":"2905","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"394","target":"124","id":"2425","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"223","target":"102","id":"4655","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"169","target":"253","id":"1333","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"334","id":"3188","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"317","target":"167","id":"3243","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"108","id":"1355","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"348","id":"336","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"150","target":"326","id":"2330","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"412","target":"311","id":"4524","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"54","target":"347","id":"2996","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"439","target":"387","id":"3229","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"176","target":"30","id":"207","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"381","target":"156","id":"3993","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"31","target":"387","id":"1094","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"105","id":"2261","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"357","target":"25","id":"2879","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"297","target":"390","id":"3027","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"326","id":"4484","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"136","target":"423","id":"1369","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"304","target":"19","id":"1129","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"191","id":"2630","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"397","target":"47","id":"3417","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"339","id":"3925","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"347","target":"32","id":"2652","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"76","target":"144","id":"4738","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"80","target":"80","id":"3155","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"448","id":"3227","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"290","target":"372","id":"3328","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"213","id":"3511","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"213","target":"89","id":"3302","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"46","target":"384","id":"3466","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"22","target":"247","id":"3472","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"156","id":"3779","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"475","id":"4941","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"440","target":"223","id":"3439","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"403","target":"336","id":"242","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"243","target":"247","id":"3342","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"263","target":"259","id":"262","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"458","id":"4380","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"459","target":"333","id":"4819","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"120","id":"1116","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"87","target":"25","id":"1602","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"477","target":"111","id":"3353","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"208","id":"1346","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"450","target":"67","id":"1298","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"339","target":"76","id":"4411","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"358","target":"423","id":"1883","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"314","target":"297","id":"852","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"333","target":"182","id":"3533","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"255","target":"44","id":"345","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"55","target":"179","id":"1765","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"167","target":"347","id":"4404","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"5","target":"414","id":"1006","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"9","id":"477","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"44","target":"55","id":"3292","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"87","target":"114","id":"580","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"391","target":"275","id":"2744","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"383","target":"21","id":"3024","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"320","target":"409","id":"4704","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"401","target":"160","id":"3631","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"292","id":"147","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"74","id":"2678","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"27","target":"235","id":"2283","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"407","target":"98","id":"3091","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"4","target":"292","id":"1677","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"363","target":"22","id":"3237","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"137","target":"88","id":"149","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"121","id":"1572","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"174","target":"189","id":"3678","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"48","target":"408","id":"3843","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"222","target":"300","id":"604","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"226","id":"1098","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"161","target":"399","id":"606","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"318","target":"230","id":"4751","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"268","id":"4872","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"372","target":"58","id":"3725","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"360","id":"4804","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"36","target":"246","id":"184","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"102","id":"2829","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"153","target":"199","id":"1118","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"137","target":"92","id":"4863","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"44","target":"301","id":"4375","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"6","id":"520","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"289","id":"3012","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"29","target":"447","id":"2811","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"475","target":"383","id":"2748","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"497","target":"145","id":"2501","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"53","id":"3440","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"13","target":"22","id":"742","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"75","id":"1605","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"281","id":"1846","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"491","target":"231","id":"1636","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"99","target":"118","id":"2694","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"301","target":"335","id":"2332","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"100","id":"1478","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"458","id":"329","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"214","target":"402","id":"4433","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"433","target":"103","id":"343","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"369","target":"175","id":"4448","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"322","target":"299","id":"4481","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"90","target":"7","id":"2048","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"424","target":"273","id":"2629","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"375","id":"4066","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"460","target":"191","id":"1854","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"497","id":"2350","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"203","id":"728","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"201","target":"373","id":"3119","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"436","target":"418","id":"4911","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"190","target":"216","id":"1429","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"127","target":"41","id":"3736","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"415","id":"1609","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"256","target":"4","id":"2193","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"243","id":"3481","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"73","target":"116","id":"4686","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"84","target":"49","id":"3709","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"98","target":"483","id":"2299","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"66","target":"312","id":"1822","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"402","target":"310","id":"1436","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"201","target":"253","id":"719","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"0","id":"2096","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"322","target":"282","id":"4358","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"294","target":"66","id":"3215","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"433","target":"365","id":"3081","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"137","target":"410","id":"2676","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"480","id":"1915","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"387","target":"135","id":"3377","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"290","target":"308","id":"187","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"78","target":"93","id":"652","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"231","id":"426","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"468","id":"4125","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"323","target":"406","id":"545","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"225","target":"187","id":"4001","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"130","target":"375","id":"2115","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"429","id":"1618","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"226","id":"1997","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"75","target":"404","id":"3944","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"13","target":"294","id":"926","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"111","target":"221","id":"522","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"376","id":"4322","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"449","target":"440","id":"2663","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"384","target":"177","id":"3535","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"239","target":"186","id":"1236","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"339","id":"2326","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"302","target":"364","id":"1384","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"245","target":"353","id":"903","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"230","target":"380","id":"1287","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"256","target":"116","id":"3037","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"288","target":"141","id":"2527","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"422","target":"143","id":"601","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"290","id":"4461","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"58","target":"45","id":"4908","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"40","target":"90","id":"204","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"241","target":"252","id":"4711","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"200","target":"442","id":"3727","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"269","id":"725","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"460","target":"110","id":"4425","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"170","target":"472","id":"1140","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"296","target":"408","id":"3514","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"362","target":"31","id":"3309","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"70","id":"2867","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"67","target":"475","id":"2555","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"153","target":"134","id":"3130","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"99","target":"438","id":"4116","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"138","id":"4723","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"243","id":"71","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"77","target":"87","id":"3864","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"257","id":"3082","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"19","target":"381","id":"1923","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"186","target":"355","id":"1490","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"421","target":"105","id":"3674","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"217","target":"142","id":"2370","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"386","id":"4582","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"426","target":"202","id":"1038","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"67","target":"168","id":"3994","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"336","id":"4603","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"437","target":"170","id":"1559","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"404","id":"174","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"224","target":"103","id":"3784","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"371","target":"475","id":"4844","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"49","target":"355","id":"937","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"346","target":"328","id":"323","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"401","id":"1534","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"492","target":"64","id":"844","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"308","id":"4836","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"166","target":"20","id":"3288","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"475","target":"475","id":"4671","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"60","id":"4035","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"377","id":"3202","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"72","target":"150","id":"1004","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"243","id":"3403","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"170","target":"92","id":"3947","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"191","target":"223","id":"3319","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"7","target":"37","id":"4020","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"206","target":"399","id":"3900","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"371","target":"368","id":"3672","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"437","target":"332","id":"4090","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"477","target":"387","id":"178","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"44","target":"106","id":"2986","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"302","target":"79","id":"2057","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"228","target":"383","id":"3584","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"370","id":"4596","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"203","target":"343","id":"4198","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"98","target":"175","id":"3904","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"479","id":"1946","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"110","target":"492","id":"1398","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"231","target":"370","id":"1930","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"328","id":"112","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"440","target":"105","id":"4498","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"294","target":"365","id":"3262","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"96","id":"2174","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"497","target":"166","id":"2549","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"197","target":"96","id":"4169","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"153","target":"374","id":"2375","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"136","id":"2055","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"333","target":"316","id":"1134","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"317","target":"135","id":"4235","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"468","target":"257","id":"2257","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"196","target":"329","id":"4971","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"393","target":"303","id":"1836","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"191","target":"199","id":"2068","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"367","target":"451","id":"3000","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"185","id":"3693","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"50","id":"868","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"65","target":"301","id":"3636","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"398","id":"2237","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"356","target":"219","id":"2587","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"334","id":"182","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"43","target":"93","id":"1417","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"306","target":"193","id":"4787","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"299","target":"80","id":"2769","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"446","id":"3182","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"277","target":"268","id":"4326","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"480","target":"55","id":"3805","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"419","target":"69","id":"2259","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"118","id":"461","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"230","id":"4432","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"372","target":"477","id":"1305","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"452","target":"455","id":"3809","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"242","target":"369","id":"4245","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"339","target":"55","id":"3928","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"171","id":"3942","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"31","id":"754","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"132","id":"3073","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"158","target":"12","id":"4076","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"383","target":"300","id":"4964","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"310","id":"1757","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"36","target":"101","id":"2497","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"168","id":"3670","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"436","target":"345","id":"1464","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"302","target":"413","id":"4946","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"338","target":"230","id":"117","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"216","target":"392","id":"2906","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"155","target":"22","id":"1348","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"122","target":"63","id":"4505","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"78","id":"2872","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"81","target":"421","id":"3250","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"447","id":"3324","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"231","id":"756","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"315","id":"3615","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"5","target":"144","id":"3797","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"19","target":"27","id":"560","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"334","id":"1958","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"458","target":"447","id":"1353","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"233","target":"181","id":"2122","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"479","target":"256","id":"2951","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"188","target":"34","id":"4096","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"65","target":"136","id":"2505","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"250","target":"372","id":"3577","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"215","id":"3402","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"294","target":"472","id":"543","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"287","id":"571","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"246","target":"42","id":"3045","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"37","id":"4107","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"22","target":"367","id":"3717","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"264","target":"96","id":"108","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"389","id":"2699","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"144","id":"2028","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"404","id":"3477","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"44","target":"270","id":"4879","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"468","target":"215","id":"902","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"272","target":"31","id":"4875","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"491","target":"125","id":"265","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"286","target":"84","id":"4210","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"240","target":"66","id":"1728","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"200","target":"18","id":"133","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"71","id":"773","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"478","id":"1307","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"439","target":"464","id":"998","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"121","target":"314","id":"3090","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"166","target":"195","id":"593","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"320","id":"1010","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"24","target":"352","id":"4784","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"400","id":"2483","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"339","id":"4158","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"246","target":"335","id":"1410","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"118","id":"4513","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"170","target":"122","id":"4793","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"370","id":"412","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"301","id":"78","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"280","id":"551","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"294","target":"181","id":"1581","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"243","id":"533","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"336","target":"44","id":"3844","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"297","target":"496","id":"54","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"400","target":"378","id":"385","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"273","target":"480","id":"3031","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"274","id":"2793","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"99","target":"116","id":"3559","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"307","id":"220","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"366","target":"450","id":"26","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"254","target":"51","id":"3594","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"434","target":"138","id":"1874","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"381","target":"288","id":"2687","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"377","id":"548","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"231","target":"186","id":"3998","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"444","id":"4231","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"47","id":"4141","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"471","id":"2559","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"168","target":"117","id":"4178","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"100","id":"2442","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"444","id":"2449","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"416","target":"243","id":"1031","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"394","target":"318","id":"3430","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"199","id":"2379","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"113","target":"176","id":"4393","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"232","id":"1628","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"303","target":"110","id":"3759","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"437","id":"3459","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"481","target":"350","id":"3970","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"1","id":"4774","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"310","target":"420","id":"3307","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"369","id":"4401","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"277","target":"311","id":"4788","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"7","target":"356","id":"4309","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"308","id":"1736","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"112","target":"120","id":"2885","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"243","target":"456","id":"106","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"192","id":"4806","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"487","target":"387","id":"2810","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"328","target":"58","id":"4713","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"86","target":"263","id":"2084","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"261","target":"368","id":"1675","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"112","target":"205","id":"553","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"88","id":"2117","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"475","target":"298","id":"1799","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"370","id":"3246","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"409","target":"301","id":"2642","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"348","id":"4463","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"494","id":"1960","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"239","target":"196","id":"4413","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"286","target":"99","id":"1148","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"57","id":"2351","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"70","target":"338","id":"2844","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"171","id":"4314","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"445","target":"34","id":"296","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"53","target":"293","id":"3861","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"472","target":"366","id":"3030","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"265","target":"231","id":"2300","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"24","target":"214","id":"971","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"141","target":"452","id":"4133","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"44","target":"252","id":"4727","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"308","target":"354","id":"951","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"437","id":"18","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"44","target":"72","id":"1268","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"113","target":"464","id":"1562","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"153","target":"469","id":"1545","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"490","target":"315","id":"4099","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"4","target":"475","id":"4223","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"175","id":"1372","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"422","target":"330","id":"2296","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"75","id":"670","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"188","target":"385","id":"1056","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"225","target":"118","id":"3792","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"161","target":"332","id":"4012","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"477","id":"3340","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"8","id":"562","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"25","id":"3772","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"431","id":"3040","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"89","target":"498","id":"3807","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"277","id":"861","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"189","target":"390","id":"254","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"171","target":"209","id":"4010","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"10","id":"4071","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"66","target":"119","id":"2371","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"265","target":"454","id":"1673","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"72","target":"304","id":"111","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"106","target":"265","id":"2863","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"204","target":"464","id":"4160","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"204","id":"3956","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"494","target":"61","id":"1503","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"181","target":"58","id":"2789","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"353","target":"423","id":"610","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"334","target":"487","id":"535","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"475","target":"485","id":"3079","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"157","id":"3458","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"41","target":"100","id":"3961","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"465","id":"4822","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"211","id":"3665","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"317","target":"148","id":"3667","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"155","target":"156","id":"2504","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"47","id":"2570","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"480","target":"190","id":"3191","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"435","id":"4851","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"292","target":"461","id":"4894","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"213","target":"393","id":"671","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"295","target":"455","id":"4890","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"78","target":"272","id":"2610","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"37","target":"37","id":"1061","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"370","target":"487","id":"1159","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"245","target":"431","id":"202","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"458","target":"476","id":"711","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"385","target":"218","id":"2500","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"251","target":"194","id":"2595","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"164","target":"369","id":"241","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"28","target":"495","id":"4904","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"200","target":"406","id":"2247","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"83","id":"1750","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"369","target":"338","id":"3495","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"70","target":"19","id":"1367","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"435","id":"4070","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"0","target":"318","id":"214","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"92","target":"122","id":"1519","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"183","id":"4114","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"482","target":"102","id":"1302","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"317","target":"24","id":"2869","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"116","target":"410","id":"1936","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"13","target":"405","id":"4330","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"321","id":"450","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"8","target":"52","id":"2095","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"171","id":"131","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"317","target":"55","id":"4266","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"20","target":"385","id":"695","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"202","target":"300","id":"3144","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"202","target":"494","id":"4316","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"225","target":"335","id":"661","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"22","target":"218","id":"4073","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"376","target":"243","id":"355","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"207","target":"177","id":"4832","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"322","target":"479","id":"4081","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"46","target":"433","id":"4121","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"359","target":"179","id":"4558","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"247","target":"52","id":"1774","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"340","target":"413","id":"91","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"99","target":"464","id":"1115","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"3","target":"111","id":"3367","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"464","id":"4954","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"117","target":"182","id":"3354","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"269","target":"385","id":"4452","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"334","target":"268","id":"640","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"187","target":"25","id":"1361","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"166","id":"3337","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"389","target":"291","id":"4475","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"258","id":"290","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"383","id":"3913","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"150","id":"317","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"378","target":"373","id":"4878","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"102","target":"325","id":"1825","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"225","target":"92","id":"804","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"28","target":"487","id":"1111","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"163","id":"1697","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"482","target":"435","id":"4509","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"111","target":"122","id":"1737","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"327","target":"481","id":"1096","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"54","target":"178","id":"1652","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"27","target":"495","id":"2557","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"333","target":"72","id":"1866","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"310","target":"250","id":"282","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"268","target":"383","id":"3876","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"146","target":"305","id":"4913","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"342","target":"347","id":"1179","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"73","target":"301","id":"4782","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"295","id":"2853","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"433","target":"422","id":"4976","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"201","target":"123","id":"3118","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"444","target":"174","id":"2909","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"366","id":"4","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"296","target":"420","id":"3604","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"130","target":"454","id":"4458","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"129","target":"46","id":"1081","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"495","id":"3940","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"487","target":"45","id":"2998","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"171","id":"3242","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"75","target":"328","id":"4379","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"427","target":"257","id":"4728","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"271","id":"800","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"450","target":"462","id":"4248","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"87","id":"132","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"159","id":"1216","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"83","target":"126","id":"1517","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"153","target":"179","id":"2353","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"220","id":"475","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"433","target":"112","id":"4188","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"256","id":"3047","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"460","id":"3488","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"470","target":"17","id":"4292","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"241","target":"79","id":"2318","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"86","id":"1356","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"252","target":"240","id":"2372","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"454","target":"279","id":"4456","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"47","target":"209","id":"2323","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"458","target":"421","id":"1263","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"201","id":"2378","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"244","id":"4739","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"421","target":"241","id":"3289","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"190","target":"14","id":"1260","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"203","target":"417","id":"1632","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"49","target":"210","id":"4302","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"458","target":"149","id":"4271","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"43","id":"4697","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"59","target":"96","id":"4015","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"426","target":"481","id":"4323","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"363","target":"362","id":"1843","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"38","target":"466","id":"1909","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"99","id":"1998","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"326","id":"2421","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"104","target":"153","id":"4703","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"291","id":"2864","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"339","id":"4590","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"331","target":"316","id":"4966","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"362","id":"1135","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"40","id":"2292","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"252","id":"1575","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"48","target":"57","id":"472","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"133","target":"382","id":"964","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"252","target":"53","id":"3625","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"186","id":"1856","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"299","target":"121","id":"2411","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"460","id":"4737","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"65","target":"421","id":"730","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"334","target":"123","id":"735","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"427","id":"4814","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"0","target":"305","id":"1225","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"445","id":"3255","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"247","target":"273","id":"3187","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"76","target":"371","id":"3313","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"16","target":"467","id":"4472","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"268","id":"1244","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"31","target":"365","id":"4108","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"402","target":"427","id":"4678","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"303","target":"4","id":"765","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"246","id":"1101","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"272","target":"246","id":"123","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"431","id":"4435","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"385","id":"2366","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"347","target":"287","id":"1745","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"294","id":"3036","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"102","target":"67","id":"641","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"416","target":"242","id":"4980","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"327","target":"304","id":"1896","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"410","id":"3723","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"251","target":"281","id":"3347","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"360","target":"482","id":"3329","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"249","target":"447","id":"792","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"433","target":"355","id":"1173","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"160","id":"319","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"45","id":"2525","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"369","target":"46","id":"747","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"42","target":"461","id":"4317","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"347","target":"117","id":"4483","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"169","target":"240","id":"1","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"166","target":"316","id":"3658","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"312","id":"499","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"46","target":"263","id":"98","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"268","target":"325","id":"3423","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"454","target":"445","id":"4171","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"280","target":"422","id":"357","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"263","target":"367","id":"2339","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"382","target":"273","id":"3129","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"273","target":"393","id":"4408","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"312","target":"446","id":"4550","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"278","id":"995","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"31","target":"223","id":"1062","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"3","target":"390","id":"1898","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"325","id":"3397","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"65","target":"122","id":"838","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"331","target":"444","id":"3598","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"232","id":"2135","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"80","target":"248","id":"579","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"268","target":"436","id":"3051","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"92","id":"3254","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"420","id":"1705","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"467","target":"473","id":"249","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"282","target":"171","id":"1243","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"173","id":"699","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"2","id":"913","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"96","target":"15","id":"4047","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"244","target":"116","id":"2146","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"59","target":"423","id":"4177","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"368","id":"4858","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"37","target":"177","id":"1257","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"172","id":"1748","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"16","id":"2024","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"58","target":"127","id":"4230","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"103","target":"130","id":"617","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"311","id":"4843","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"155","target":"450","id":"447","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"284","target":"413","id":"2342","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"171","target":"2","id":"2624","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"410","target":"401","id":"2482","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"180","id":"420","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"18","target":"194","id":"2205","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"63","target":"333","id":"2302","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"224","target":"448","id":"3596","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"461","id":"4062","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"299","target":"170","id":"2083","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"79","target":"125","id":"4363","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"190","id":"1667","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"286","target":"124","id":"3873","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"28","target":"368","id":"2568","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"293","target":"456","id":"352","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"325","id":"3755","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"376","id":"2800","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"220","target":"171","id":"4607","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"382","id":"4298","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"428","id":"3455","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"450","target":"304","id":"4014","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"244","id":"893","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"401","target":"407","id":"1838","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"192","target":"462","id":"1742","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"242","target":"206","id":"1396","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"346","id":"1584","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"166","target":"69","id":"2622","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"360","id":"1091","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"286","target":"438","id":"3437","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"223","target":"493","id":"4174","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"213","target":"42","id":"2818","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"380","target":"282","id":"3622","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"250","target":"328","id":"3199","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"291","target":"139","id":"1567","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"331","target":"284","id":"3320","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"103","target":"454","id":"3837","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"342","target":"226","id":"540","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"427","target":"208","id":"2983","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"28","id":"427","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"141","target":"412","id":"3113","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"219","id":"2760","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"86","target":"46","id":"2579","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"197","target":"454","id":"1301","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"230","target":"382","id":"1910","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"385","id":"4981","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"207","target":"310","id":"4457","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"169","id":"1092","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"13","id":"1382","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"418","target":"231","id":"1782","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"167","target":"335","id":"1937","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"387","target":"401","id":"137","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"38","id":"4689","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"220","target":"440","id":"3224","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"425","target":"432","id":"4353","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"136","target":"421","id":"1977","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"207","target":"12","id":"3122","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"405","target":"405","id":"4113","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"40","target":"329","id":"2712","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"65","target":"458","id":"848","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"296","target":"348","id":"1133","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"127","target":"97","id":"3106","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"297","id":"4516","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"496","target":"453","id":"1762","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"226","id":"3383","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"187","id":"2752","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"186","target":"264","id":"331","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"436","target":"482","id":"3299","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"217","target":"423","id":"4423","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"314","target":"86","id":"1647","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"30","target":"318","id":"2404","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"393","target":"424","id":"3158","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"412","id":"4691","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"0","target":"189","id":"1852","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"339","id":"3116","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"395","id":"4892","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"219","target":"411","id":"743","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"388","target":"312","id":"1985","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"327","target":"381","id":"521","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"421","target":"357","id":"1785","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"300","id":"1835","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"99","target":"96","id":"1048","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"46","target":"211","id":"1895","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"298","id":"4468","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"361","id":"38","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"361","id":"408","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"387","id":"4268","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"356","target":"131","id":"4343","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"432","target":"216","id":"2236","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"61","id":"3400","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"155","id":"4796","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"223","id":"2437","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"189","target":"147","id":"360","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"241","target":"228","id":"759","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"310","target":"36","id":"452","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"480","target":"470","id":"2972","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"352","target":"260","id":"1432","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"184","target":"226","id":"4146","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"210","id":"3854","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"443","target":"224","id":"4100","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"458","target":"480","id":"599","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"132","target":"247","id":"1885","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"7","target":"250","id":"4841","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"184","id":"1664","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"273","target":"435","id":"2151","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"303","target":"126","id":"2368","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"137","target":"189","id":"4200","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"72","id":"3778","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"102","target":"254","id":"3489","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"277","target":"482","id":"4202","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"219","target":"487","id":"3831","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"318","target":"5","id":"30","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"368","target":"228","id":"235","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"204","target":"63","id":"1872","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"417","target":"146","id":"3832","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"433","target":"459","id":"1278","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"386","id":"4658","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"461","id":"403","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"97","target":"116","id":"2045","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"395","id":"4625","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"253","target":"190","id":"968","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"96","target":"350","id":"898","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"224","id":"431","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"88","target":"282","id":"620","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"454","target":"495","id":"20","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"370","id":"3498","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"355","id":"663","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"192","target":"343","id":"1385","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"261","target":"72","id":"1691","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"103","target":"138","id":"3840","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"473","id":"3938","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"397","target":"285","id":"3820","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"362","target":"416","id":"4281","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"430","target":"239","id":"1248","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"407","target":"109","id":"1007","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"40","target":"68","id":"3588","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"454","id":"2111","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"247","target":"228","id":"1779","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"294","target":"412","id":"2607","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"400","target":"41","id":"4293","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"445","id":"3039","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"445","target":"482","id":"1395","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"28","target":"180","id":"3955","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"434","target":"239","id":"2445","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"90","target":"40","id":"4120","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"411","target":"280","id":"2785","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"57","id":"2558","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"102","target":"74","id":"3248","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"157","id":"1613","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"291","target":"486","id":"3023","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"419","target":"320","id":"2304","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"423","id":"1203","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"124","id":"4646","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"87","target":"359","id":"2714","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"47","target":"430","id":"48","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"117","id":"1888","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"57","target":"104","id":"1565","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"156","id":"1486","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"342","target":"488","id":"208","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"35","id":"3920","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"130","id":"1106","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"197","target":"7","id":"1340","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"291","target":"106","id":"1809","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"39","id":"3396","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"383","id":"2196","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"408","id":"332","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"229","id":"4540","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"370","target":"412","id":"437","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"280","target":"138","id":"4486","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"289","id":"4668","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"21","target":"4","id":"3855","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"121","id":"423","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"366","target":"405","id":"2851","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"420","target":"482","id":"1189","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"75","target":"427","id":"4416","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"21","target":"331","id":"1475","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"306","target":"473","id":"4075","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"464","id":"4339","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"202","target":"25","id":"1344","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"250","id":"4275","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"292","target":"308","id":"4384","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"102","target":"75","id":"2935","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"53","target":"272","id":"4758","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"68","target":"188","id":"4260","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"29","target":"37","id":"1990","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"373","target":"387","id":"4815","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"214","target":"332","id":"1902","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"3","id":"3654","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"432","id":"3819","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"420","target":"363","id":"4945","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"36","id":"4256","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"64","target":"247","id":"4940","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"407","id":"4482","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"116","target":"130","id":"1407","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"416","target":"355","id":"3312","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"497","target":"338","id":"1984","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"57","id":"4451","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"161","target":"61","id":"2534","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"423","target":"110","id":"4446","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"213","target":"46","id":"2618","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"423","target":"121","id":"901","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"112","id":"2280","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"252","target":"1","id":"3962","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"490","id":"1760","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"438","id":"4290","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"192","id":"1100","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"29","target":"426","id":"2113","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"282","id":"4818","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"390","id":"4565","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"402","target":"260","id":"1401","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"247","target":"440","id":"3675","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"386","target":"71","id":"4680","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"328","target":"342","id":"4949","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"425","target":"454","id":"956","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"22","id":"40","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"412","target":"18","id":"1045","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"400","target":"11","id":"2029","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"424","id":"3555","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"304","target":"26","id":"857","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"403","id":"2056","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"36","target":"86","id":"3730","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"110","target":"64","id":"583","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"333","id":"1465","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"449","target":"86","id":"3018","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"79","id":"1349","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"250","target":"416","id":"3456","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"242","target":"194","id":"2317","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"224","id":"875","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"446","target":"29","id":"3301","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"54","id":"227","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"158","target":"146","id":"1506","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"445","id":"3451","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"60","id":"1494","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"494","target":"261","id":"1564","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"399","id":"2907","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"130","target":"239","id":"3863","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"269","id":"388","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"388","id":"952","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"292","target":"99","id":"1498","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"320","target":"363","id":"2635","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"255","target":"433","id":"3726","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"474","id":"899","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"116","target":"466","id":"2145","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"280","target":"307","id":"3168","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"189","target":"446","id":"85","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"97","target":"407","id":"1190","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"92","target":"380","id":"2382","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"184","id":"3164","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"61","id":"66","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"130","target":"298","id":"2725","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"254","target":"287","id":"1806","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"173","target":"87","id":"3703","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"257","id":"3433","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"438","id":"1046","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"292","target":"292","id":"509","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"158","target":"178","id":"3834","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"121","target":"310","id":"4206","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"435","target":"393","id":"4333","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"27","target":"405","id":"991","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"391","target":"392","id":"772","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"103","target":"389","id":"1131","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"475","target":"100","id":"1316","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"284","target":"448","id":"1670","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"228","target":"222","id":"1864","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"219","target":"25","id":"2218","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"177","target":"381","id":"3785","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"121","id":"3618","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"254","id":"2650","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"133","target":"329","id":"172","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"397","id":"4888","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"361","id":"4992","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"457","id":"4803","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"132","target":"299","id":"2766","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"93","target":"43","id":"47","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"283","id":"1227","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"314","target":"31","id":"1292","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"229","id":"1658","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"168","target":"336","id":"1816","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"162","id":"2868","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"284","id":"4305","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"231","target":"484","id":"4453","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"324","id":"4259","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"324","target":"37","id":"2703","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"408","target":"284","id":"688","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"160","target":"410","id":"4586","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"350","id":"2677","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"402","target":"340","id":"1240","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"481","target":"148","id":"2815","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"260","id":"3664","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"490","target":"339","id":"224","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"366","target":"434","id":"333","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"24","id":"720","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"12","id":"996","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"457","id":"3296","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"239","target":"375","id":"1392","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"353","target":"16","id":"2633","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"310","target":"161","id":"2708","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"251","id":"234","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"79","target":"449","id":"972","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"330","id":"51","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"31","target":"335","id":"1273","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"275","target":"341","id":"4415","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"338","target":"210","id":"815","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"363","target":"376","id":"645","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"5","target":"420","id":"479","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"326","id":"3492","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"289","id":"4291","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"0","target":"222","id":"3387","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"391","target":"172","id":"3509","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"387","target":"431","id":"1049","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"27","target":"6","id":"170","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"75","target":"381","id":"1601","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"416","id":"4346","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"130","id":"2447","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"135","target":"15","id":"3569","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"323","target":"95","id":"4594","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"183","target":"433","id":"3527","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"442","target":"480","id":"3190","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"291","target":"323","id":"1439","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"148","target":"395","id":"1706","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"371","target":"439","id":"1528","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"229","id":"3595","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"63","target":"91","id":"2352","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"402","id":"3138","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"68","target":"90","id":"305","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"483","target":"10","id":"1184","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"121","id":"2036","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"450","target":"84","id":"2466","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"55","id":"1807","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"414","target":"42","id":"3241","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"186","id":"819","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"232","target":"414","id":"3064","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"302","target":"180","id":"3173","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"58","id":"3463","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"489","target":"229","id":"4168","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"178","target":"193","id":"2279","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"301","target":"80","id":"2486","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"129","target":"362","id":"694","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"237","id":"1661","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"37","id":"4755","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"426","target":"149","id":"4488","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"299","target":"76","id":"556","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"406","target":"228","id":"3766","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"96","target":"131","id":"4327","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"114","target":"35","id":"2535","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"135","id":"3110","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"497","target":"356","id":"3543","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"173","target":"37","id":"194","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"420","id":"3661","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"32","id":"3179","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"383","target":"75","id":"2132","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"135","target":"78","id":"3794","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"439","target":"331","id":"4581","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"283","id":"3899","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"440","target":"397","id":"100","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"192","target":"139","id":"1001","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"245","target":"11","id":"2185","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"61","target":"100","id":"4320","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"285","id":"4389","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"212","target":"48","id":"2681","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"375","target":"99","id":"4969","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"183","target":"357","id":"3972","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"370","target":"80","id":"1795","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"135","id":"3526","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"308","id":"3371","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"177","target":"352","id":"2599","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"155","target":"205","id":"402","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"470","target":"335","id":"858","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"371","target":"73","id":"3553","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"366","target":"161","id":"4424","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"280","id":"1993","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"323","target":"291","id":"2266","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"120","target":"62","id":"2401","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"153","id":"2665","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"189","target":"496","id":"4006","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"3","target":"174","id":"4094","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"458","target":"459","id":"2783","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"256","target":"101","id":"555","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"397","id":"2405","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"384","id":"2142","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"120","target":"40","id":"2912","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"204","target":"330","id":"4308","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"222","target":"56","id":"1320","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"342","target":"487","id":"1606","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"239","target":"323","id":"1792","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"394","target":"399","id":"2229","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"107","target":"496","id":"1604","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"189","id":"471","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"160","target":"281","id":"2735","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"93","target":"91","id":"2692","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"340","target":"332","id":"2580","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"329","target":"267","id":"2975","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"184","target":"342","id":"3094","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"346","id":"2786","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"358","id":"4673","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"464","target":"134","id":"2054","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"430","target":"433","id":"3570","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"435","target":"17","id":"3103","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"130","target":"153","id":"3528","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"317","id":"395","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"161","id":"835","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"316","id":"884","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"219","id":"3176","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"329","target":"275","id":"1832","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"497","target":"295","id":"2705","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"117","id":"3306","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"212","target":"189","id":"4619","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"153","id":"4900","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"113","target":"266","id":"19","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"191","target":"404","id":"185","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"255","target":"288","id":"1858","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"137","target":"240","id":"586","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"435","target":"458","id":"1552","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"22","target":"351","id":"4944","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"50","target":"111","id":"3793","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"242","target":"259","id":"1821","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"341","target":"14","id":"2082","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"394","id":"3195","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"258","target":"130","id":"2615","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"424","target":"131","id":"221","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"166","target":"391","id":"4394","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"26","id":"1717","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"327","target":"15","id":"163","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"430","id":"1232","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"470","target":"19","id":"2726","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"21","target":"472","id":"4884","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"229","target":"400","id":"4097","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"143","id":"15","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"241","id":"2645","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"28","id":"3268","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"420","id":"3277","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"414","id":"517","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"207","target":"370","id":"3771","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"437","target":"111","id":"4155","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"312","target":"383","id":"3446","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"11","target":"231","id":"4735","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"138","id":"3390","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"453","id":"2210","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"398","target":"281","id":"2066","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"120","target":"45","id":"2827","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"381","target":"332","id":"1520","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"92","target":"421","id":"3035","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"283","target":"142","id":"3950","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"412","id":"4190","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"371","id":"3603","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"326","id":"1523","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"239","target":"197","id":"2078","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"364","target":"429","id":"2144","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"53","id":"3263","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"234","target":"331","id":"713","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"437","target":"198","id":"1577","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"319","target":"25","id":"4515","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"15","id":"1603","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"318","id":"3645","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"374","id":"1209","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"243","target":"62","id":"2889","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"127","id":"4682","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"18","id":"3835","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"37","id":"4142","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"425","target":"83","id":"1726","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"36","id":"729","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"130","id":"4102","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"488","id":"3441","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"282","target":"40","id":"3034","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"383","id":"3482","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"127","target":"441","id":"2365","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"424","target":"371","id":"2743","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"291","target":"118","id":"3003","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"242","target":"235","id":"3356","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"135","target":"55","id":"1938","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"233","target":"392","id":"160","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"305","id":"4987","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"323","id":"3058","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"354","id":"647","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"421","id":"2517","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"284","target":"156","id":"2581","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"433","target":"317","id":"2275","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"230","target":"49","id":"1312","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"431","id":"4621","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"323","target":"252","id":"4112","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"232","target":"147","id":"3798","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"457","id":"4088","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"153","target":"123","id":"4968","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"109","id":"2578","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"257","id":"3084","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"203","id":"4675","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"393","target":"493","id":"464","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"201","target":"142","id":"2532","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"245","target":"64","id":"488","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"488","id":"1571","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"369","target":"108","id":"3050","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"126","id":"947","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"101","id":"3502","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"16","target":"387","id":"2359","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"156","id":"2182","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"148","target":"308","id":"3295","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"318","target":"1","id":"917","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"50","id":"3120","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"230","target":"140","id":"35","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"135","id":"2161","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"443","target":"327","id":"4149","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"354","id":"2053","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"467","target":"404","id":"1151","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"435","id":"2194","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"443","target":"322","id":"3696","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"133","target":"497","id":"3069","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"385","id":"2012","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"316","id":"897","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"305","target":"451","id":"2432","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"423","target":"406","id":"1511","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"17","target":"82","id":"1526","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"27","id":"2638","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"220","id":"283","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"181","id":"2439","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"146","target":"98","id":"3453","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"273","target":"312","id":"3932","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"349","id":"4365","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"87","target":"46","id":"3135","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"400","target":"107","id":"34","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"298","id":"1354","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"163","target":"296","id":"567","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"145","id":"1237","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"496","target":"384","id":"919","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"415","id":"2628","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"496","id":"3799","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"294","target":"415","id":"1121","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"133","target":"483","id":"3764","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"216","target":"44","id":"4295","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"283","target":"429","id":"1569","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"67","target":"495","id":"4445","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"67","target":"8","id":"1941","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"359","target":"72","id":"4187","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"443","id":"1907","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"437","id":"541","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"338","target":"70","id":"1380","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"178","target":"247","id":"4700","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"361","id":"2264","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"475","id":"1311","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"180","target":"141","id":"421","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"225","target":"113","id":"1500","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"35","id":"4899","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"126","target":"78","id":"490","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"469","target":"413","id":"4421","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"224","target":"477","id":"4837","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"286","target":"473","id":"3380","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"331","target":"444","id":"4982","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"378","target":"466","id":"2792","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"241","target":"293","id":"4583","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"107","target":"189","id":"4395","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"468","target":"151","id":"1057","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"314","id":"4922","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"437","target":"244","id":"1699","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"411","id":"3131","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"66","id":"891","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"106","target":"101","id":"2137","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"37","target":"298","id":"4282","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"414","target":"6","id":"3251","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"364","target":"455","id":"846","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"4","target":"243","id":"1629","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"410","id":"3290","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"450","target":"193","id":"4616","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"83","target":"332","id":"64","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"402","target":"273","id":"2231","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"447","id":"1113","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"213","target":"167","id":"4998","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"8","id":"3052","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"54","id":"3494","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"5","target":"173","id":"3872","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"362","target":"396","id":"2112","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"40","target":"488","id":"1508","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"78","id":"4979","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"370","target":"229","id":"782","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"5","target":"362","id":"3856","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"385","target":"11","id":"2835","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"302","target":"107","id":"2988","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"288","target":"360","id":"1787","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"388","target":"21","id":"466","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"373","id":"537","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"355","id":"2208","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"453","target":"55","id":"2556","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"44","id":"4196","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"217","id":"4662","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"468","id":"3629","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"87","target":"117","id":"3745","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"244","target":"286","id":"1828","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"191","target":"454","id":"3686","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"490","target":"236","id":"3044","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"444","target":"460","id":"455","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"367","target":"114","id":"3043","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"44","id":"4937","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"224","target":"423","id":"253","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"394","id":"4144","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"167","id":"1687","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"495","id":"295","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"382","target":"164","id":"1685","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"322","id":"2377","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"264","target":"294","id":"2388","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"427","target":"138","id":"4240","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"415","target":"39","id":"1219","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"202","target":"25","id":"3612","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"173","id":"2506","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"79","target":"31","id":"2157","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"216","id":"3597","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"18","target":"29","id":"4057","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"5","id":"1563","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"111","target":"45","id":"3223","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"61","target":"251","id":"2596","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"432","target":"197","id":"210","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"302","target":"278","id":"2202","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"418","target":"83","id":"808","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"202","id":"2033","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"90","target":"430","id":"3891","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"435","target":"382","id":"674","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"41","target":"129","id":"1180","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"250","target":"6","id":"1764","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"358","target":"116","id":"3975","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"222","target":"168","id":"2452","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"439","target":"212","id":"4847","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"332","id":"389","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"3","target":"96","id":"157","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"113","target":"443","id":"2968","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"473","target":"181","id":"72","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"243","target":"406","id":"3556","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"116","target":"461","id":"4835","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"71","id":"836","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"419","target":"135","id":"1912","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"443","id":"2109","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"470","target":"43","id":"812","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"159","id":"4143","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"49","target":"384","id":"676","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"88","id":"2922","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"237","id":"4182","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"100","id":"4821","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"480","target":"64","id":"2181","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"158","id":"4792","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"444","id":"2837","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"323","target":"3","id":"4101","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"453","target":"319","id":"2454","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"280","target":"144","id":"3487","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"386","target":"336","id":"4220","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"403","id":"1471","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"140","id":"1859","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"332","target":"271","id":"967","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"139","target":"405","id":"4154","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"160","target":"126","id":"712","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"264","target":"338","id":"2590","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"138","target":"97","id":"2941","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"410","target":"425","id":"1968","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"469","target":"334","id":"2422","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"246","id":"2809","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"17","id":"484","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"88","id":"916","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"378","id":"3152","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"242","id":"3429","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"20","target":"75","id":"934","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"421","target":"68","id":"1441","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"193","target":"19","id":"298","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"129","target":"471","id":"2684","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"480","target":"373","id":"4119","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"467","target":"83","id":"2981","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"445","id":"3800","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"362","target":"54","id":"1550","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"79","target":"428","id":"3852","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"217","target":"98","id":"3194","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"11","id":"3952","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"164","target":"69","id":"4436","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"197","target":"237","id":"1649","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"341","target":"365","id":"4204","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"114","target":"320","id":"206","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"17","target":"403","id":"999","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"413","target":"478","id":"2886","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"472","target":"168","id":"3680","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"171","id":"2052","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"320","target":"70","id":"573","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"268","id":"4250","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"53","target":"253","id":"2634","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"170","id":"3996","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"177","id":"3214","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"149","target":"458","id":"3364","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"255","target":"274","id":"3359","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"459","id":"1122","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"39","id":"2399","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"16","target":"24","id":"2200","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"124","id":"1561","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"61","id":"2496","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"15","id":"1518","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"342","target":"349","id":"3139","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"371","id":"2489","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"325","id":"2884","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"139","target":"381","id":"3490","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"393","target":"317","id":"542","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"409","target":"395","id":"4938","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"365","id":"173","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"385","id":"1801","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"265","id":"2167","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"54","target":"33","id":"468","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"333","target":"459","id":"3310","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"176","id":"3049","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"233","target":"212","id":"4530","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"275","target":"309","id":"4063","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"31","target":"421","id":"3677","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"357","target":"89","id":"1426","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"91","target":"288","id":"3424","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"195","id":"7","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"449","target":"246","id":"1183","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"115","id":"246","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"405","target":"85","id":"3210","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"24","id":"3606","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"99","target":"65","id":"1514","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"197","id":"1028","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"286","target":"52","id":"554","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"371","id":"1515","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"25","id":"1694","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"481","id":"3109","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"92","target":"233","id":"568","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"360","target":"340","id":"3442","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"163","target":"310","id":"266","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"411","target":"92","id":"4476","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"111","id":"3361","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"63","target":"368","id":"2639","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"135","target":"133","id":"3483","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"282","target":"164","id":"2063","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"84","id":"407","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"349","id":"2451","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"13","id":"1631","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"319","target":"233","id":"721","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"64","target":"317","id":"986","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"77","target":"396","id":"1790","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"388","target":"36","id":"1724","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"64","target":"274","id":"1586","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"19","target":"402","id":"3348","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"264","target":"248","id":"4543","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"210","target":"241","id":"818","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"329","target":"19","id":"2227","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"319","target":"258","id":"2713","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"76","target":"331","id":"4029","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"150","target":"416","id":"1800","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"38","id":"4801","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"112","id":"2183","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"388","target":"181","id":"4718","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"128","id":"3750","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"118","target":"322","id":"890","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"311","target":"84","id":"4853","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"25","id":"406","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"216","id":"1281","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"441","id":"2715","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"147","id":"124","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"134","id":"666","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"67","target":"29","id":"1438","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"66","target":"410","id":"1557","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"102","target":"324","id":"784","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"391","target":"419","id":"1770","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"150","id":"2881","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"97","id":"2698","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"21","target":"377","id":"700","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"310","target":"225","id":"2230","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"50","id":"4085","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"169","id":"52","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"20","target":"426","id":"1199","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"128","target":"159","id":"3063","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"46","target":"171","id":"4677","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"64","target":"378","id":"797","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"458","target":"324","id":"349","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"491","target":"291","id":"4759","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"381","target":"340","id":"1365","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"476","target":"80","id":"3208","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"471","id":"2480","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"445","id":"2544","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"281","id":"252","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"73","target":"496","id":"1767","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"82","id":"4557","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"96","id":"2268","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"126","target":"99","id":"4449","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"65","target":"73","id":"3431","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"354","id":"3541","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"434","target":"364","id":"1125","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"256","id":"3032","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"4","target":"473","id":"2410","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"416","target":"298","id":"4289","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"321","id":"2000","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"106","id":"2762","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"469","target":"276","id":"2547","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"137","id":"3111","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"127","target":"54","id":"4084","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"50","id":"4991","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"322","target":"171","id":"4994","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"8","target":"267","id":"4988","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"255","id":"1192","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"477","target":"160","id":"4252","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"415","target":"340","id":"4506","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"127","target":"63","id":"732","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"301","target":"409","id":"1611","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"101","target":"43","id":"1539","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"244","id":"21","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"200","target":"415","id":"4115","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"187","target":"225","id":"4683","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"389","id":"4258","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"478","id":"4497","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"27","target":"379","id":"134","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"282","target":"318","id":"508","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"226","id":"2603","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"84","id":"3617","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"228","id":"4376","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"187","target":"95","id":"1162","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"245","target":"474","id":"4265","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"385","target":"68","id":"2716","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"260","target":"40","id":"3374","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"155","target":"402","id":"907","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"468","target":"32","id":"3858","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"230","target":"230","id":"3007","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"178","id":"3567","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"317","target":"273","id":"240","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"317","target":"288","id":"4105","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"229","target":"149","id":"809","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"376","target":"394","id":"167","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"20","id":"2802","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"481","id":"386","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"341","id":"4103","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"387","id":"2813","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"93","target":"338","id":"841","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"203","id":"625","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"313","id":"820","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"41","id":"829","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"201","id":"1802","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"175","target":"194","id":"496","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"472","id":"3211","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"55","target":"323","id":"1497","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"180","target":"262","id":"3360","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"104","target":"89","id":"3398","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"451","target":"341","id":"2855","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"218","id":"3715","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"229","target":"294","id":"4385","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"137","target":"487","id":"662","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"373","target":"60","id":"1845","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"106","id":"33","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"129","target":"299","id":"1473","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"186","target":"152","id":"2212","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"120","target":"430","id":"3462","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"161","target":"36","id":"3096","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"329","target":"55","id":"1087","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"176","target":"93","id":"1339","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"189","id":"2123","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"71","target":"382","id":"2430","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"273","target":"78","id":"1768","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"426","target":"202","id":"2931","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"88","id":"4208","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"44","target":"449","id":"1445","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"399","target":"156","id":"1761","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"71","id":"4930","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"405","target":"174","id":"367","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"75","id":"4647","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"65","target":"97","id":"3953","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"446","target":"476","id":"1325","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"474","target":"201","id":"1149","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"378","id":"4388","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"432","id":"1255","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"251","target":"231","id":"1911","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"389","id":"2415","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"130","id":"4918","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"97","id":"1164","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"89","target":"356","id":"4769","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"200","target":"210","id":"3186","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"393","target":"350","id":"1558","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"80","target":"92","id":"2563","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"368","target":"150","id":"2668","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"223","target":"469","id":"4195","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"275","id":"4943","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"362","target":"57","id":"2197","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"419","id":"4126","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"417","id":"4624","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"376","id":"2916","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"118","target":"99","id":"1434","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"275","target":"49","id":"4367","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"414","target":"157","id":"3504","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"381","id":"2011","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"190","target":"431","id":"2412","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"136","id":"4134","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"398","target":"475","id":"706","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"492","target":"467","id":"4471","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"369","id":"1088","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"59","target":"471","id":"2651","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"12","target":"111","id":"692","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"67","target":"228","id":"3148","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"386","target":"385","id":"334","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"410","id":"1208","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"29","target":"343","id":"2471","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"306","id":"4079","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"57","target":"428","id":"4382","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"388","target":"480","id":"4179","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"133","id":"1804","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"470","id":"4883","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"103","target":"83","id":"2243","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"393","target":"199","id":"3626","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"388","target":"53","id":"3235","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"129","id":"4974","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"5","id":"559","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"455","id":"2588","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"330","target":"84","id":"1730","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"155","target":"306","id":"4067","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"118","id":"2894","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"69","target":"497","id":"1018","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"47","target":"154","id":"2911","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"304","target":"288","id":"2904","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"92","target":"231","id":"4780","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"258","target":"464","id":"2856","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"62","id":"3499","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"281","target":"281","id":"1587","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"255","target":"280","id":"4359","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"315","target":"21","id":"1254","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"26","id":"2953","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"371","target":"355","id":"982","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"385","target":"100","id":"2233","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"156","id":"4534","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"380","target":"468","id":"630","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"361","target":"343","id":"3098","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"58","target":"342","id":"802","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"163","id":"3062","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"120","target":"344","id":"3905","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"328","target":"226","id":"44","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"416","id":"4391","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"387","target":"11","id":"498","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"378","id":"1368","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"8","target":"210","id":"50","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"231","target":"448","id":"3485","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"81","target":"213","id":"4996","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"56","id":"4920","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"436","target":"72","id":"1021","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"188","target":"365","id":"4934","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"480","id":"1721","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"67","target":"437","id":"3412","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"371","target":"474","id":"817","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"123","id":"1720","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"253","target":"189","id":"3203","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"397","id":"1696","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"180","target":"296","id":"3581","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"64","target":"268","id":"3701","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"284","target":"369","id":"4714","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"444","target":"449","id":"4573","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"242","id":"1294","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"25","id":"1489","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"107","target":"148","id":"2114","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"38","target":"435","id":"1160","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"269","target":"234","id":"348","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"352","id":"2180","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"470","target":"115","id":"1450","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"324","target":"376","id":"649","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"167","target":"260","id":"3896","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"446","target":"386","id":"3979","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"36","target":"438","id":"1953","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"359","target":"114","id":"379","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"498","id":"1834","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"242","id":"3548","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"272","target":"143","id":"3357","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"78","id":"1529","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"13","id":"2773","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"420","target":"496","id":"1974","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"494","target":"29","id":"4414","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"386","id":"2767","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"352","target":"100","id":"2950","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"128","target":"202","id":"3273","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"113","target":"85","id":"129","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"159","target":"116","id":"1805","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"411","target":"263","id":"4933","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"18","target":"85","id":"1823","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"86","target":"214","id":"2707","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"27","target":"381","id":"656","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"12","target":"58","id":"2136","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"443","target":"375","id":"4373","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"70","id":"217","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"138","target":"8","id":"2023","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"270","target":"348","id":"3464","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"413","target":"36","id":"339","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"384","target":"187","id":"2495","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"59","target":"169","id":"4347","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"411","id":"3851","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"361","target":"470","id":"62","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"237","id":"1126","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"173","id":"3922","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"213","target":"415","id":"4032","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"301","target":"320","id":"2468","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"167","target":"493","id":"1903","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"481","target":"327","id":"287","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"483","target":"402","id":"1991","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"112","target":"392","id":"786","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"342","id":"4109","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"449","target":"212","id":"2852","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"37","id":"2874","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"231","target":"160","id":"1746","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"183","id":"4065","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"87","id":"2843","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"474","target":"134","id":"3065","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"381","target":"339","id":"2392","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"483","target":"417","id":"4962","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"292","id":"1058","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"128","target":"233","id":"4916","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"481","id":"3830","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"114","target":"345","id":"380","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"185","id":"2065","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"490","id":"581","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"332","id":"1674","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"220","id":"113","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"334","target":"123","id":"2004","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"342","target":"20","id":"2373","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"297","id":"3867","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"374","id":"3420","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"357","target":"169","id":"3222","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"337","target":"94","id":"4601","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"141","id":"2448","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"41","target":"251","id":"3589","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"99","target":"351","id":"1374","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"129","target":"299","id":"1400","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"430","id":"2722","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"10","id":"3902","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"481","id":"4441","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"343","id":"864","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"19","target":"192","id":"3269","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"368","target":"231","id":"4563","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"164","id":"1568","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"313","id":"4140","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"357","id":"632","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"301","target":"210","id":"3016","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"241","target":"212","id":"1202","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"137","id":"4338","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"433","target":"56","id":"2110","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"16","target":"33","id":"2680","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"384","target":"149","id":"4303","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"369","target":"405","id":"4661","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"487","id":"654","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"363","target":"211","id":"3245","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"415","id":"4744","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"309","id":"4605","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"132","target":"292","id":"4061","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"429","target":"108","id":"1634","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"202","id":"953","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"331","id":"3260","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"183","target":"434","id":"351","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"117","target":"459","id":"3866","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"148","target":"313","id":"4407","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"229","target":"395","id":"2845","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"66","id":"2162","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"453","id":"1200","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"328","target":"497","id":"2327","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"418","target":"239","id":"856","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"409","id":"4205","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"399","target":"23","id":"1043","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"330","id":"2969","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"43","id":"1723","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"201","id":"1230","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"358","id":"1704","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"401","target":"256","id":"3808","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"186","target":"243","id":"3859","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"338","target":"306","id":"1456","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"407","target":"494","id":"3099","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"158","target":"275","id":"682","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"386","target":"139","id":"2999","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"264","id":"3189","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"26","id":"4612","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"301","id":"3747","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"191","target":"118","id":"2729","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"329","id":"4812","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"460","target":"150","id":"150","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"137","id":"681","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"48","target":"49","id":"257","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"36","target":"243","id":"2670","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"434","target":"138","id":"3917","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"127","target":"430","id":"2730","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"97","id":"4575","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"210","id":"2289","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"251","target":"458","id":"2047","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"479","target":"262","id":"3804","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"241","target":"414","id":"11","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"153","id":"1020","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"83","id":"4669","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"265","target":"35","id":"4775","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"143","id":"578","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"335","id":"2528","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"205","target":"238","id":"2406","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"277","target":"60","id":"4876","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"423","id":"1957","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"216","target":"168","id":"2005","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"93","target":"492","id":"1185","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"332","target":"324","id":"3284","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"338","target":"419","id":"3684","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"485","target":"292","id":"4357","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"16","target":"279","id":"1069","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"312","id":"279","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"252","target":"398","id":"53","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"40","target":"307","id":"1641","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"64","target":"107","id":"2492","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"490","target":"15","id":"4748","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"415","target":"405","id":"3410","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"470","target":"382","id":"799","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"280","id":"511","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"129","id":"3803","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"362","target":"377","id":"1597","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"407","target":"16","id":"1644","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"327","id":"2958","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"239","target":"130","id":"4923","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"314","target":"485","id":"3628","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"156","target":"454","id":"826","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"78","target":"6","id":"1981","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"341","id":"4287","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"284","target":"405","id":"1291","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"345","id":"3990","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"323","target":"410","id":"4610","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"387","target":"59","id":"4124","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"66","target":"364","id":"3639","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"59","id":"2956","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"239","id":"4237","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"87","target":"433","id":"4817","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"210","target":"440","id":"2948","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"277","target":"149","id":"1256","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"171","id":"2394","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"165","id":"4437","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"178","target":"4","id":"2126","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"355","id":"3418","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"494","target":"56","id":"592","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"141","target":"238","id":"3107","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"207","target":"365","id":"1665","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"380","id":"3349","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"423","id":"4324","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"49","target":"84","id":"2069","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"365","id":"1766","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"160","target":"135","id":"4318","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"435","id":"3542","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"49","target":"173","id":"1211","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"450","id":"267","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"319","id":"1660","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"230","target":"38","id":"770","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"36","target":"464","id":"4977","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"269","target":"255","id":"3125","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"427","target":"415","id":"1168","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"71","target":"69","id":"3721","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"255","target":"386","id":"3351","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"148","id":"2900","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"91","target":"276","id":"1897","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"474","target":"482","id":"1653","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"264","target":"340","id":"1067","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"373","id":"2636","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"186","target":"224","id":"2419","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"319","target":"190","id":"3280","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"482","target":"470","id":"1169","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"452","target":"467","id":"4928","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"472","target":"160","id":"1566","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"216","target":"309","id":"361","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"489","target":"486","id":"2286","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"164","id":"3213","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"192","target":"326","id":"2130","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"13","id":"3724","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"346","target":"38","id":"4602","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"342","id":"690","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"120","target":"448","id":"2526","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"121","target":"172","id":"376","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"445","target":"437","id":"1326","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"18","id":"39","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"337","target":"33","id":"272","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"181","target":"216","id":"1076","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"455","id":"2893","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"308","target":"395","id":"3845","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"306","target":"318","id":"1857","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"272","target":"384","id":"3576","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"17","target":"317","id":"2201","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"422","target":"383","id":"745","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"356","target":"269","id":"1708","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"159","target":"167","id":"83","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"323","target":"50","id":"966","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"168","target":"268","id":"1583","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"251","id":"1869","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"356","target":"7","id":"1531","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"241","target":"263","id":"1617","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"228","id":"3751","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"430","id":"77","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"126","target":"454","id":"570","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"347","target":"330","id":"1882","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"399","target":"302","id":"3753","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"175","target":"80","id":"3323","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"330","id":"1970","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"398","id":"4340","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"58","id":"4604","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"23","id":"4127","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"360","target":"69","id":"1560","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"96","id":"4176","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"111","target":"126","id":"4720","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"160","target":"250","id":"672","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"202","target":"262","id":"1598","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"40","id":"4891","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"147","target":"429","id":"1245","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"360","id":"1288","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"305","target":"214","id":"2224","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"77","target":"33","id":"2106","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"202","target":"446","id":"2022","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"396","id":"1357","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"230","target":"450","id":"2009","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"18","id":"1377","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"380","target":"224","id":"136","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"403","target":"64","id":"2850","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"31","target":"439","id":"1948","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"485","target":"271","id":"277","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"18","target":"56","id":"778","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"335","id":"1820","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"13","target":"239","id":"3283","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"338","target":"446","id":"1707","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"491","target":"95","id":"4503","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"185","id":"3513","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"129","id":"2977","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"140","target":"302","id":"41","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"494","target":"199","id":"338","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"388","id":"4580","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"92","target":"464","id":"4999","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"77","target":"381","id":"3394","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"437","target":"78","id":"750","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"451","target":"122","id":"814","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"168","id":"2402","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"93","target":"468","id":"4315","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"284","target":"80","id":"391","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"149","target":"150","id":"3802","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"187","target":"42","id":"4641","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"251","id":"4799","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"92","target":"104","id":"1639","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"309","id":"4958","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"91","target":"442","id":"2241","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"483","target":"380","id":"3384","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"203","target":"100","id":"2617","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"375","target":"440","id":"2784","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"445","id":"1120","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"449","target":"137","id":"2757","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"72","id":"3083","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"72","id":"4434","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"356","target":"287","id":"4770","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"498","target":"368","id":"4805","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"130","target":"83","id":"3178","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"400","id":"842","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"446","target":"280","id":"3285","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"263","target":"216","id":"3436","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"77","target":"27","id":"4213","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"363","id":"2577","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"27","id":"4000","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"251","target":"265","id":"368","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"293","target":"415","id":"2719","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"207","target":"452","id":"4048","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"265","target":"491","id":"954","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"55","target":"257","id":"1633","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"279","id":"2108","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"398","id":"4764","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"319","target":"406","id":"4659","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"102","target":"416","id":"1074","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"413","target":"139","id":"2499","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"445","id":"3869","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"38","id":"4560","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"131","id":"1358","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"90","target":"171","id":"4859","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"375","target":"429","id":"284","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"311","target":"330","id":"327","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"467","target":"323","id":"2937","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"149","target":"157","id":"146","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"242","target":"420","id":"3560","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"188","target":"294","id":"2849","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"258","target":"43","id":"1258","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"376","target":"150","id":"1979","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"407","id":"2585","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"150","target":"104","id":"2168","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"86","target":"207","id":"613","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"122","target":"410","id":"582","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"197","target":"477","id":"1394","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"249","id":"2475","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"181","target":"181","id":"3060","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"379","target":"1","id":"2141","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"426","target":"357","id":"3366","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"363","target":"67","id":"2438","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"120","target":"454","id":"3883","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"490","target":"146","id":"737","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"92","id":"4572","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"173","id":"177","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"38","target":"133","id":"648","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"204","target":"249","id":"1595","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"170","target":"384","id":"2866","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"481","id":"3493","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"304","target":"262","id":"516","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"220","target":"45","id":"4665","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"175","target":"175","id":"2734","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"378","id":"3593","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"377","id":"156","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"49","target":"185","id":"2085","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"269","target":"374","id":"2049","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"81","id":"3767","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"146","target":"483","id":"3660","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"372","target":"36","id":"429","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"328","id":"1224","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"472","target":"298","id":"4036","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"454","target":"82","id":"1197","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"233","target":"486","id":"4106","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"78","id":"1446","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"482","target":"172","id":"4569","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"157","id":"306","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"438","id":"1095","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"241","target":"310","id":"4630","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"358","target":"231","id":"231","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"253","target":"214","id":"1290","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"269","id":"286","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"149","target":"379","id":"1769","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"333","target":"95","id":"3857","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"171","target":"258","id":"4021","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"31","target":"134","id":"4170","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"240","target":"168","id":"739","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"116","target":"17","id":"3474","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"121","target":"86","id":"3142","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"244","id":"3601","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"224","target":"28","id":"3633","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"376","target":"25","id":"4337","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"468","id":"1350","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"292","target":"103","id":"3769","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"174","target":"32","id":"1293","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"161","id":"4708","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"319","target":"179","id":"1332","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"358","target":"36","id":"3969","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"188","id":"233","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"175","target":"288","id":"2140","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"353","target":"319","id":"3968","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"64","target":"420","id":"1080","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"130","target":"152","id":"122","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"402","target":"452","id":"1050","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"86","target":"119","id":"3868","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"281","id":"502","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"476","target":"414","id":"2034","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"149","target":"166","id":"2511","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"91","target":"54","id":"324","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"170","target":"125","id":"821","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"347","target":"31","id":"1966","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"424","target":"367","id":"1689","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"206","id":"268","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"482","id":"4321","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"5","target":"261","id":"138","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"55","target":"390","id":"3561","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"87","target":"163","id":"862","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"27","target":"231","id":"1871","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"401","id":"789","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"367","id":"3529","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"473","target":"95","id":"434","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"497","target":"71","id":"4249","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"117","target":"482","id":"2020","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"232","id":"4644","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"0","target":"148","id":"4152","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"266","id":"4398","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"381","id":"4439","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"84","target":"220","id":"3762","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"435","target":"160","id":"2010","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"459","target":"168","id":"4828","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"345","id":"2097","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"32","id":"1965","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"166","target":"166","id":"2731","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"106","target":"365","id":"4479","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"378","id":"1775","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"234","id":"377","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"28","id":"2831","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"232","target":"270","id":"2217","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"415","target":"417","id":"2548","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"50","target":"39","id":"3898","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"452","target":"322","id":"4128","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"233","target":"86","id":"1231","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"310","id":"1482","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"147","target":"178","id":"2880","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"70","target":"414","id":"87","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"61","target":"14","id":"1032","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"303","target":"375","id":"677","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"459","target":"116","id":"1491","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"483","target":"288","id":"1655","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"430","target":"134","id":"3","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"69","target":"9","id":"2613","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"57","target":"395","id":"151","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"120","id":"566","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"307","target":"307","id":"962","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"58","target":"497","id":"1381","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"426","target":"254","id":"3095","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"22","id":"1646","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"226","id":"2347","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"339","target":"490","id":"577","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"388","id":"2598","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"99","id":"115","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"30","id":"3427","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"485","target":"293","id":"1815","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"334","target":"453","id":"2188","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"414","target":"214","id":"1995","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"89","target":"5","id":"1851","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"95","id":"4521","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"414","target":"85","id":"664","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"5","target":"462","id":"2035","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"229","target":"350","id":"2154","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"413","target":"484","id":"4522","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"255","target":"183","id":"1917","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"424","target":"60","id":"2804","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"54","target":"388","id":"2952","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"470","id":"3105","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"89","target":"38","id":"4685","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"110","id":"882","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"208","id":"4399","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"161","id":"761","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"361","id":"258","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"304","target":"118","id":"2355","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"196","target":"346","id":"707","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"119","id":"3791","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"469","target":"201","id":"2979","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"174","target":"351","id":"762","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"403","target":"454","id":"3501","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"114","target":"233","id":"3518","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"251","id":"4183","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"97","target":"375","id":"2019","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"390","id":"2522","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"428","id":"159","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"458","target":"440","id":"1853","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"125","target":"358","id":"845","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"399","id":"1042","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"437","target":"106","id":"595","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"397","target":"196","id":"4956","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"83","target":"377","id":"4634","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"78","target":"354","id":"921","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"202","id":"3989","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"445","target":"421","id":"4276","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"155","target":"180","id":"3252","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"482","target":"74","id":"1393","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"417","target":"127","id":"4429","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"20","target":"18","id":"4523","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"11","target":"178","id":"1264","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"156","target":"382","id":"3912","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"190","target":"190","id":"405","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"372","target":"383","id":"3823","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"163","target":"31","id":"57","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"28","target":"471","id":"1538","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"479","target":"69","id":"1681","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"249","target":"456","id":"1756","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"384","target":"104","id":"2455","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"432","target":"266","id":"2763","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"322","id":"299","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"37","target":"285","id":"1791","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"346","id":"4919","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"177","target":"338","id":"3997","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"80","target":"450","id":"779","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"272","target":"410","id":"4402","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"361","target":"305","id":"3614","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"169","id":"3846","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"130","target":"177","id":"56","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"121","target":"226","id":"4777","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"86","id":"1234","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"434","target":"252","id":"1474","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"389","id":"1863","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"187","id":"2423","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"399","target":"404","id":"3072","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"383","target":"228","id":"1448","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"430","target":"157","id":"2067","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"389","target":"235","id":"1551","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"312","target":"180","id":"3710","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"65","target":"51","id":"850","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"424","target":"93","id":"2075","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"171","target":"290","id":"3731","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"50","target":"460","id":"3949","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"480","id":"1104","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"149","target":"426","id":"2790","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"202","target":"232","id":"4716","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"435","target":"435","id":"2271","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"138","target":"88","id":"2061","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"119","id":"3318","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"222","target":"149","id":"723","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"443","id":"4965","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"303","id":"1065","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"81","id":"4331","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"356","id":"1637","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"391","target":"111","id":"2310","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"430","target":"325","id":"4184","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"307","target":"152","id":"2938","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"330","target":"118","id":"2288","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"22","id":"1152","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"493","id":"2817","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"301","target":"428","id":"4041","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"67","target":"435","id":"1849","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"58","target":"294","id":"1509","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"110","target":"269","id":"1635","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"394","id":"955","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"385","id":"3076","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"94","id":"4272","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"366","target":"112","id":"1341","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"83","target":"324","id":"37","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"386","target":"255","id":"3811","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"29","id":"4362","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"73","target":"270","id":"839","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"263","target":"384","id":"2649","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"168","target":"197","id":"1226","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"376","target":"256","id":"1321","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"245","id":"2513","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"472","target":"396","id":"95","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"83","id":"1335","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"339","id":"3695","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"122","target":"464","id":"2086","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"155","target":"52","id":"2530","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"375","target":"372","id":"3659","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"24","target":"190","id":"3926","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"264","target":"476","id":"191","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"69","id":"1916","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"214","target":"114","id":"2991","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"439","target":"200","id":"125","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"218","target":"104","id":"2569","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"434","target":"471","id":"3653","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"366","target":"68","id":"2226","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"133","target":"203","id":"1000","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"30","id":"1194","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"467","target":"367","id":"1283","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"294","target":"340","id":"3382","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"46","id":"4368","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"399","id":"3053","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"150","target":"31","id":"3882","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"249","target":"421","id":"9","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"440","target":"53","id":"1777","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"69","target":"85","id":"2631","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"132","id":"4118","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"417","target":"302","id":"188","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"41","target":"382","id":"1008","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"301","target":"246","id":"4705","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"371","id":"4820","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"284","target":"391","id":"2625","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"76","target":"409","id":"489","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"407","target":"157","id":"2892","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"289","id":"2139","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"142","target":"210","id":"1338","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"214","id":"618","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"494","target":"168","id":"2356","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"328","target":"385","id":"3478","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"81","target":"428","id":"2364","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"64","id":"4926","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"188","target":"326","id":"99","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"28","target":"329","id":"1682","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"306","target":"275","id":"1986","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"21","target":"76","id":"2697","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"29","id":"2026","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"316","id":"803","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"90","target":"25","id":"563","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"494","target":"228","id":"585","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"66","target":"66","id":"2291","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"92","target":"163","id":"831","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"39","id":"2614","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"399","target":"48","id":"2836","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"487","target":"240","id":"3910","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"2","id":"2397","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"331","target":"249","id":"3523","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"128","target":"249","id":"289","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"333","id":"2572","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"186","id":"1813","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"110","id":"3193","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"343","target":"171","id":"703","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"325","id":"1379","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"191","target":"458","id":"969","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"17","id":"3522","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"40","id":"2170","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"67","target":"151","id":"2987","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"256","id":"3171","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"487","target":"487","id":"643","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"168","id":"1860","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"330","id":"1671","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"425","target":"99","id":"2386","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"288","target":"218","id":"1322","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"52","id":"3405","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"263","target":"309","id":"486","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"425","target":"397","id":"3369","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"68","target":"427","id":"3092","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"307","target":"90","id":"1229","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"470","target":"453","id":"2295","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"403","id":"1908","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"253","target":"132","id":"925","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"421","target":"366","id":"4831","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"207","target":"323","id":"851","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"50","id":"794","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"70","target":"412","id":"4724","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"213","target":"137","id":"4702","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"420","target":"376","id":"3881","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"104","target":"328","id":"973","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"391","id":"1599","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"482","id":"2282","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"190","target":"267","id":"2358","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"188","id":"4800","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"205","target":"352","id":"2344","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"456","target":"428","id":"3029","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"372","target":"344","id":"3574","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"453","id":"680","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"276","id":"785","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"256","target":"401","id":"1798","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"283","target":"33","id":"3317","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"72","target":"21","id":"3965","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"49","target":"329","id":"3017","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"151","id":"4422","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"467","target":"243","id":"4349","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"381","target":"55","id":"911","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"383","id":"2207","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"299","target":"127","id":"1615","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"8","target":"164","id":"854","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"106","id":"1458","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"253","target":"424","id":"1712","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"193","target":"80","id":"3308","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"330","target":"413","id":"1818","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"201","target":"229","id":"1535","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"131","id":"2301","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"425","target":"375","id":"1928","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"181","target":"105","id":"702","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"328","target":"39","id":"3545","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"59","target":"363","id":"1261","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"26","id":"4591","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"416","target":"311","id":"1612","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"247","target":"191","id":"3166","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"245","target":"89","id":"2080","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"68","id":"961","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"460","target":"106","id":"2508","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"218","target":"336","id":"883","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"336","id":"3986","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"344","id":"378","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"339","id":"866","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"410","target":"461","id":"4244","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"427","target":"58","id":"1793","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"174","target":"31","id":"4722","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"81","target":"398","id":"2263","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"16","target":"189","id":"587","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"183","id":"877","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"175","target":"335","id":"2173","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"254","target":"40","id":"2324","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"182","id":"1066","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"449","target":"264","id":"3954","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"193","id":"2685","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"101","id":"2531","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"134","id":"678","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"96","id":"3209","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"0","target":"275","id":"2637","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"192","target":"380","id":"3877","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"372","target":"203","id":"2074","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"250","target":"127","id":"3010","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"27","target":"370","id":"3752","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"150","target":"345","id":"4013","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"50","target":"445","id":"1657","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"207","target":"186","id":"3782","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"225","target":"479","id":"894","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"263","target":"433","id":"1645","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"116","target":"54","id":"3121","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"369","target":"137","id":"4207","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"287","id":"2648","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"99","target":"323","id":"2709","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"427","id":"1536","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"49","id":"3126","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"140","target":"8","id":"2521","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"314","target":"172","id":"2195","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"248","target":"215","id":"1314","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"319","target":"431","id":"4269","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"324","target":"202","id":"3984","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"149","target":"482","id":"675","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"55","target":"2","id":"4072","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"324","target":"90","id":"358","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"142","target":"159","id":"3147","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"139","id":"264","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"432","id":"143","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"16","target":"390","id":"4132","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"459","target":"63","id":"1324","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"116","target":"3","id":"2239","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"245","target":"178","id":"3757","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"307","id":"243","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"128","target":"247","id":"3068","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"374","id":"4218","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"422","id":"4214","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"454","target":"486","id":"4374","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"417","target":"302","id":"2807","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"124","target":"360","id":"320","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"114","target":"121","id":"3449","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"411","target":"314","id":"4809","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"107","target":"78","id":"974","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"188","id":"4077","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"228","id":"4852","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"275","target":"435","id":"4925","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"233","target":"152","id":"2129","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"78","id":"4454","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"63","target":"150","id":"3165","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"44","id":"3697","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"92","target":"212","id":"1959","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"451","id":"2478","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"174","target":"65","id":"4350","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"4","target":"323","id":"1865","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"436","target":"46","id":"501","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"309","id":"3207","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"17","target":"240","id":"438","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"122","target":"276","id":"4611","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"72","target":"420","id":"1204","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"142","target":"480","id":"1279","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"91","target":"459","id":"3496","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"464","id":"4740","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"257","id":"4194","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"271","target":"32","id":"1241","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"156","target":"247","id":"922","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"431","target":"24","id":"3923","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"273","id":"510","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"431","id":"2016","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"286","target":"73","id":"950","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"330","target":"62","id":"764","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"7","target":"210","id":"4593","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"331","target":"408","id":"1330","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"175","target":"56","id":"4906","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"428","id":"1362","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"435","target":"117","id":"2601","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"400","target":"55","id":"612","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"88","target":"291","id":"3643","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"48","target":"455","id":"1758","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"142","id":"2832","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"450","id":"3162","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"59","target":"350","id":"2533","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"43","target":"470","id":"2519","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"224","id":"24","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"334","id":"2127","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"141","target":"200","id":"4761","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"257","id":"3157","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"363","target":"134","id":"164","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"391","target":"347","id":"213","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"299","target":"270","id":"4366","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"445","target":"302","id":"3167","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"82","id":"171","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"22","id":"362","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"229","target":"107","id":"4396","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"367","target":"53","id":"478","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"30","target":"205","id":"1462","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"356","target":"188","id":"4312","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"103","target":"281","id":"3150","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"42","target":"461","id":"2235","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"247","id":"2608","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"258","target":"478","id":"3336","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"58","target":"95","id":"3355","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"45","id":"4931","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"394","target":"129","id":"3895","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"350","target":"379","id":"1375","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"47","target":"88","id":"1950","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"116","target":"473","id":"4455","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"195","id":"3777","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"381","target":"347","id":"346","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"418","id":"2393","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"478","target":"66","id":"4786","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"455","id":"2474","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"485","target":"185","id":"3937","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"224","target":"404","id":"1921","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"3","id":"4975","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"468","target":"254","id":"4652","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"38","target":"352","id":"4902","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"181","id":"17","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"460","id":"3305","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"228","target":"327","id":"3907","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"57","target":"141","id":"2512","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"94","id":"2315","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"24","target":"182","id":"3022","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"161","target":"172","id":"4051","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"406","target":"180","id":"1731","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"250","target":"205","id":"3916","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"59","target":"5","id":"4283","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"456","target":"359","id":"1492","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"265","id":"399","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"53","id":"4963","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"268","id":"4056","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"253","id":"239","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"246","target":"114","id":"1778","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"407","target":"438","id":"2046","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"409","target":"61","id":"1924","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"388","id":"624","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"37","target":"117","id":"2079","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"465","id":"2470","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"328","target":"255","id":"1141","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"458","target":"155","id":"3172","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"169","target":"151","id":"422","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"193","target":"301","id":"3572","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"318","target":"476","id":"4192","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"333","target":"485","id":"2494","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"5","target":"377","id":"3919","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"239","id":"4613","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"168","target":"239","id":"82","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"184","target":"269","id":"2175","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"197","id":"3272","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"280","target":"89","id":"232","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"41","target":"53","id":"1073","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"245","id":"2994","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"58","target":"337","id":"114","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"294","target":"173","id":"673","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"5","id":"1987","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"54","id":"1239","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"275","target":"351","id":"1364","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"268","target":"354","id":"3350","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"204","id":"515","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"352","target":"222","id":"4216","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"293","id":"4297","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"242","target":"317","id":"3086","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"35","target":"118","id":"4440","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"295","target":"138","id":"755","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"305","target":"498","id":"781","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"484","id":"140","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"284","id":"1574","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"10","target":"77","id":"392","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"15","id":"622","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"80","id":"3795","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"490","target":"359","id":"5","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"178","target":"236","id":"4950","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"497","id":"1546","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"397","id":"3267","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"6","id":"876","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"277","id":"2321","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"144","id":"1082","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"28","id":"2696","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"12","id":"3783","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"456","target":"459","id":"777","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"388","target":"60","id":"4549","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"295","target":"497","id":"657","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"254","target":"337","id":"1949","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"324","target":"345","id":"3070","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"320","target":"384","id":"3945","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"56","id":"492","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"361","target":"373","id":"1725","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"194","id":"1251","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"482","id":"3325","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"456","target":"85","id":"4261","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"366","target":"38","id":"4512","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"219","target":"344","id":"3512","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"356","target":"322","id":"976","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"16","target":"273","id":"2018","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"327","id":"1430","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"65","target":"249","id":"3156","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"148","id":"335","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"469","target":"270","id":"4951","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"186","target":"421","id":"981","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"376","target":"326","id":"833","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"294","target":"391","id":"1163","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"315","id":"2740","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"273","id":"3411","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"479","target":"495","id":"1247","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"388","target":"75","id":"4927","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"265","target":"234","id":"325","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"61","target":"163","id":"4635","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"416","id":"4643","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"288","id":"1978","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"96","id":"369","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"440","id":"4165","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"138","id":"4577","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"219","target":"305","id":"1596","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"452","target":"309","id":"1905","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"328","target":"366","id":"1505","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"465","target":"462","id":"1521","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"197","target":"434","id":"718","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"426","id":"2101","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"210","target":"177","id":"933","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"238","id":"2038","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"148","target":"431","id":"4130","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"111","id":"97","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"287","target":"497","id":"2166","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"398","target":"214","id":"2960","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"402","target":"30","id":"1218","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"478","id":"4794","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"96","target":"110","id":"2155","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"430","target":"280","id":"1711","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"498","target":"434","id":"3345","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"480","target":"266","id":"3372","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"77","target":"39","id":"4438","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"19","target":"139","id":"29","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"315","target":"335","id":"127","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"385","target":"416","id":"2502","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"164","target":"66","id":"3363","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"394","target":"380","id":"2120","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"67","id":"4798","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"320","id":"3389","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"78","target":"468","id":"4706","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"432","target":"425","id":"3358","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"375","target":"443","id":"1692","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"106","target":"456","id":"2309","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"152","id":"3375","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"322","target":"88","id":"397","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"413","target":"370","id":"910","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"42","target":"439","id":"1513","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"145","target":"302","id":"2433","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"153","target":"469","id":"1359","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"413","target":"499","id":"4474","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"65","target":"154","id":"4254","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"117","target":"316","id":"4372","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"29","target":"376","id":"751","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"295","target":"328","id":"3517","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"160","target":"325","id":"2542","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"91","target":"226","id":"251","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"494","target":"465","id":"3438","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"288","target":"215","id":"3140","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"158","id":"3825","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"252","target":"276","id":"2064","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"120","target":"434","id":"4600","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"361","target":"245","id":"269","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"388","target":"253","id":"1132","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"487","target":"383","id":"1945","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"4","target":"253","id":"2847","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"79","id":"2899","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"421","target":"67","id":"3146","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"150","target":"194","id":"1549","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"201","target":"38","id":"1715","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"454","target":"90","id":"2312","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"137","target":"235","id":"3457","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"111","target":"224","id":"58","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"167","target":"262","id":"2672","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"176","id":"3221","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"386","id":"2032","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"367","target":"264","id":"3038","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"296","id":"3630","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"97","target":"83","id":"589","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"89","target":"250","id":"2717","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"148","id":"1616","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"350","id":"2933","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"218","id":"443","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"382","target":"396","id":"644","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"30","id":"1313","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"282","id":"3903","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"399","target":"38","id":"4369","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"117","target":"260","id":"218","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"44","id":"3624","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"150","target":"64","id":"1431","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"361","id":"2134","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"118","id":"1383","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"383","target":"459","id":"1650","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"193","target":"139","id":"419","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"136","target":"214","id":"2426","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"173","id":"4031","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"346","id":"2862","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"176","target":"32","id":"2840","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"146","id":"3787","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"73","target":"136","id":"230","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"79","target":"86","id":"2420","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"183","target":"68","id":"2679","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"54","id":"4059","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"453","target":"64","id":"4161","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"214","target":"449","id":"1403","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"32","id":"494","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"318","id":"2990","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"138","target":"235","id":"130","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"285","id":"1005","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"212","target":"24","id":"3244","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"438","target":"303","id":"758","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"41","id":"584","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"47","target":"487","id":"2272","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"133","target":"275","id":"4325","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"146","id":"870","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"170","id":"3982","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"142","target":"387","id":"1295","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"141","id":"2915","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"53","target":"139","id":"2877","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"381","target":"13","id":"2765","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"233","target":"197","id":"1496","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"448","target":"207","id":"1680","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"60","target":"142","id":"2671","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"467","target":"231","id":"280","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"284","id":"400","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"376","target":"217","id":"874","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"3","id":"4827","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"5","id":"527","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"218","target":"355","id":"2944","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"230","target":"139","id":"788","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"4","target":"445","id":"4485","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"98","id":"1347","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"467","target":"151","id":"1016","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"412","id":"1238","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"334","id":"4548","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"464","target":"105","id":"623","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"434","target":"52","id":"4760","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"203","target":"72","id":"659","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"151","id":"4731","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"69","target":"68","id":"4138","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"369","target":"74","id":"503","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"120","target":"32","id":"660","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"405","target":"413","id":"4762","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"54","target":"3","id":"783","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"426","target":"194","id":"3673","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"377","target":"134","id":"3544","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"110","target":"251","id":"4877","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"61","target":"263","id":"3294","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"106","target":"224","id":"1039","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"57","id":"1755","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"59","target":"359","id":"2164","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"91","target":"354","id":"3278","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"328","id":"2690","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"10","target":"18","id":"1622","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"330","target":"282","id":"3789","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"304","target":"210","id":"3860","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"146","id":"1972","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"245","target":"50","id":"3536","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"449","target":"61","id":"639","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"97","id":"2978","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"367","target":"49","id":"4763","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"160","target":"221","id":"1837","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"213","target":"309","id":"3198","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"113","id":"1663","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"400","target":"11","id":"2781","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"104","id":"3682","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"357","target":"59","id":"3575","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"379","target":"63","id":"3988","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"81","target":"129","id":"4701","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"440","target":"337","id":"1071","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"64","id":"2476","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"430","target":"295","id":"4274","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"460","target":"96","id":"1933","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"186","target":"473","id":"519","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"285","target":"418","id":"984","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"282","target":"430","id":"371","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"5","target":"54","id":"4698","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"437","id":"4684","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"412","id":"4086","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"460","target":"495","id":"2090","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"389","target":"87","id":"4717","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"84","target":"206","id":"3444","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"95","id":"4576","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"405","target":"455","id":"4656","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"106","id":"473","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"58","target":"499","id":"3115","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"48","id":"4642","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"368","target":"261","id":"470","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"358","target":"461","id":"4733","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"222","target":"457","id":"4224","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"116","target":"404","id":"1443","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"459","target":"165","id":"2481","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"377","id":"2099","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"0","target":"400","id":"3948","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"497","target":"385","id":"766","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"320","target":"362","id":"3281","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"483","id":"4553","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"357","target":"457","id":"259","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"273","target":"236","id":"2376","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"7","target":"109","id":"4089","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"330","target":"87","id":"2861","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"162","id":"2980","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"434","id":"2659","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"250","target":"143","id":"4212","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"113","id":"1576","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"141","target":"132","id":"1992","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"222","target":"138","id":"4694","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"41","target":"194","id":"4150","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"407","target":"445","id":"3416","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"253","target":"320","id":"1252","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"93","id":"2606","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"223","target":"378","id":"2619","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"220","target":"216","id":"2924","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"467","target":"203","id":"3690","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"415","id":"3884","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"153","id":"2842","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"383","target":"67","id":"1331","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"219","target":"34","id":"4370","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"281","target":"196","id":"1079","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"419","target":"208","id":"4273","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"22","target":"108","id":"4885","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"290","target":"469","id":"45","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"200","target":"147","id":"2552","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"433","target":"426","id":"1161","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"158","target":"345","id":"3101","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"414","target":"61","id":"1422","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"241","target":"276","id":"3201","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"243","target":"408","id":"456","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"409","target":"462","id":"602","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"487","id":"1698","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"127","target":"254","id":"457","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"347","target":"32","id":"4719","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"18","target":"74","id":"4247","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"6","target":"342","id":"4948","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"422","target":"391","id":"1068","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"192","id":"4747","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"492","target":"231","id":"634","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"10","target":"285","id":"307","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"147","target":"421","id":"2204","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"378","target":"496","id":"424","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"42","target":"414","id":"3005","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"93","target":"123","id":"2225","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"363","id":"4004","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"368","target":"263","id":"2025","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"176","id":"2030","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"149","target":"490","id":"4696","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"470","id":"1051","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"363","target":"448","id":"2050","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"243","target":"408","id":"3611","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"238","target":"387","id":"932","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"341","target":"272","id":"2131","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"311","target":"343","id":"4263","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"470","id":"4478","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"346","target":"240","id":"1935","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"420","target":"298","id":"4217","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"341","target":"176","id":"4181","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"354","id":"1833","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"478","id":"1891","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"368","target":"222","id":"4122","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"352","target":"19","id":"1213","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"178","target":"91","id":"1222","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"240","target":"383","id":"1709","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"64","target":"43","id":"3824","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"325","id":"4901","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"235","target":"134","id":"3395","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"226","target":"376","id":"448","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"304","id":"4823","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"290","id":"103","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"344","id":"2443","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"279","target":"229","id":"73","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"403","id":"4657","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"327","target":"17","id":"1502","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"104","target":"214","id":"1988","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"112","target":"487","id":"4017","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"346","target":"441","id":"1614","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"431","id":"1944","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"410","target":"130","id":"1751","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"78","id":"1608","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"466","id":"3740","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"330","target":"181","id":"1877","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"42","target":"301","id":"2270","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"117","target":"368","id":"2929","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"243","target":"401","id":"3842","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"22","id":"2206","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"181","target":"241","id":"930","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"408","target":"409","id":"880","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"394","target":"382","id":"2718","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"370","id":"4566","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"279","target":"387","id":"1956","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"232","target":"241","id":"4721","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"317","target":"313","id":"4528","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"277","target":"277","id":"189","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"445","target":"189","id":"4351","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"85","target":"312","id":"4332","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"77","target":"302","id":"957","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"271","id":"1542","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"156","target":"146","id":"1927","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"50","target":"438","id":"2087","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"71","target":"8","id":"2859","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"418","target":"492","id":"4993","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"479","target":"289","id":"13","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"40","target":"303","id":"609","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"417","target":"275","id":"4568","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"372","target":"58","id":"384","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"162","target":"41","id":"410","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"414","id":"4294","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"274","target":"228","id":"1842","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"172","id":"2910","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"139","target":"323","id":"4880","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"333","target":"416","id":"3392","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"116","target":"448","id":"1025","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"298","target":"396","id":"3362","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"420","target":"247","id":"3503","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"353","target":"142","id":"3282","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"135","target":"190","id":"4861","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"265","target":"244","id":"2017","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"219","target":"441","id":"256","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"71","target":"240","id":"1735","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"453","target":"190","id":"4667","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"389","target":"99","id":"4494","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"138","target":"127","id":"3848","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"472","id":"4378","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"499","target":"22","id":"536","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"312","target":"214","id":"162","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"297","target":"334","id":"193","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"136","target":"287","id":"534","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"86","target":"128","id":"1470","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"144","target":"16","id":"855","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"154","id":"4767","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"412","id":"1150","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"316","target":"475","id":"2976","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"183","id":"942","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"31","target":"466","id":"1840","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"47","id":"3708","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"483","target":"402","id":"4570","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"107","target":"26","id":"4356","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"45","target":"9","id":"3476","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"244","target":"375","id":"1435","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"247","target":"305","id":"3057","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"374","target":"144","id":"1749","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"467","target":"4","id":"446","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"483","target":"465","id":"74","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"383","target":"426","id":"4492","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"402","target":"275","id":"3460","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"458","target":"196","id":"4167","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"431","id":"4277","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"271","target":"496","id":"4360","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"214","target":"221","id":"365","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"316","target":"357","id":"3161","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"497","target":"167","id":"3692","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"483","target":"13","id":"31","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"179","id":"888","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"49","target":"391","id":"1154","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"414","target":"61","id":"2441","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"62","id":"1593","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"496","id":"2031","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"128","id":"994","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"103","id":"105","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"279","id":"152","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"190","id":"2946","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"340","target":"262","id":"4087","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"378","target":"115","id":"1249","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"334","target":"240","id":"2184","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"136","target":"327","id":"2711","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"7","id":"2244","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"215","target":"390","id":"4039","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"201","id":"3274","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"70","id":"2077","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"445","target":"389","id":"2888","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"311","target":"251","id":"2721","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"364","target":"444","id":"3568","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"50","target":"467","id":"3132","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"10","target":"431","id":"199","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"216","target":"259","id":"1075","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"384","target":"341","id":"4559","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"345","target":"349","id":"3646","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"115","target":"364","id":"4882","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"187","id":"3344","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"391","target":"338","id":"2551","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"186","target":"361","id":"3008","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"269","id":"3080","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"430","target":"27","id":"80","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"461","id":"3676","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"469","target":"451","id":"1182","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"83","target":"278","id":"4895","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"96","target":"238","id":"608","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"275","target":"144","id":"2176","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"167","target":"241","id":"390","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"140","target":"490","id":"1727","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"47","target":"419","id":"158","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"154","target":"458","id":"944","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"444","target":"439","id":"1476","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"384","id":"2839","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"47","target":"307","id":"3028","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"64","target":"17","id":"430","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"401","target":"293","id":"1044","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"24","target":"77","id":"4961","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"86","target":"200","id":"2779","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"311","target":"31","id":"3467","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"395","target":"132","id":"4955","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"139","target":"355","id":"2609","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"21","id":"454","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"180","target":"193","id":"2464","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"222","target":"308","id":"1019","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"291","target":"303","id":"4426","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"223","id":"1524","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"361","target":"35","id":"1499","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"40","id":"3557","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"397","target":"146","id":"375","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"200","target":"70","id":"4912","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"264","target":"210","id":"825","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"91","target":"82","id":"795","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"20","id":"4300","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"164","target":"267","id":"2523","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"454","target":"224","id":"3547","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"370","target":"70","id":"2982","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"29","target":"106","id":"393","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"335","id":"3159","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"358","id":"196","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"322","id":"2059","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"420","target":"359","id":"4129","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"243","target":"335","id":"4203","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"3","target":"443","id":"4574","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"18","id":"2626","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"71","id":"2073","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"443","id":"1127","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"137","id":"1543","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"86","target":"203","id":"337","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"479","id":"3813","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"418","target":"454","id":"4663","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"107","target":"317","id":"1030","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"134","id":"1158","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"180","id":"2989","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"242","target":"315","id":"1904","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"335","target":"39","id":"4887","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"257","target":"112","id":"2220","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"454","target":"284","id":"798","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"289","id":"1743","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"474","target":"350","id":"2917","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"303","target":"256","id":"1955","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"183","id":"935","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"18","target":"48","id":"843","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"2","id":"1418","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"402","target":"40","id":"1722","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"14","id":"4854","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"400","target":"141","id":"1797","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"390","target":"321","id":"4609","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"422","target":"100","id":"86","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"65","target":"187","id":"2890","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"194","target":"277","id":"3885","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"62","id":"2287","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"442","target":"229","id":"904","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"346","id":"1300","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"309","target":"180","id":"2516","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"362","target":"76","id":"318","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"300","target":"297","id":"3270","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"434","target":"236","id":"824","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"349","target":"334","id":"3749","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"383","target":"439","id":"3327","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"164","target":"56","id":"1733","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"1","target":"48","id":"1077","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"347","target":"392","id":"4011","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"189","target":"144","id":"1425","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"33","target":"154","id":"3700","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"409","target":"138","id":"2367","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"379","id":"3600","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"292","id":"4620","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"74","id":"4080","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"172","target":"57","id":"2541","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"238","target":"114","id":"3870","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"67","target":"495","id":"1176","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"143","target":"68","id":"1186","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"146","target":"217","id":"4615","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"93","target":"334","id":"4618","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"351","target":"467","id":"2728","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"405","target":"338","id":"3293","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"370","target":"173","id":"3225","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"450","target":"124","id":"3644","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"223","id":"2340","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"358","target":"237","id":"3510","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"270","target":"101","id":"2148","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"4","target":"236","id":"69","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"4","target":"125","id":"2398","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"160","id":"3719","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"421","target":"79","id":"6","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"360","target":"50","id":"1144","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"236","id":"1389","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"220","id":"3004","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"433","target":"395","id":"2739","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"137","target":"399","id":"211","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"498","id":"4638","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"352","target":"368","id":"627","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"411","target":"433","id":"4584","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"356","id":"491","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"419","target":"471","id":"4499","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"132","target":"395","id":"1423","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"27","target":"6","id":"23","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"316","target":"23","id":"2459","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"184","id":"297","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"492","target":"258","id":"928","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"367","target":"124","id":"2311","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"460","target":"443","id":"631","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"463","id":"2021","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"76","target":"4","id":"3530","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"96","target":"408","id":"1718","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"323","target":"337","id":"4083","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"490","target":"452","id":"2493","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"360","target":"310","id":"4666","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"120","target":"109","id":"1157","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"479","target":"17","id":"398","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"262","target":"88","id":"1754","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"176","id":"1870","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"404","target":"35","id":"3707","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"428","target":"384","id":"840","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"42","target":"121","id":"1378","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"396","target":"255","id":"2265","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"302","target":"407","id":"2334","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"415","target":"36","id":"4255","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"474","target":"350","id":"3468","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"463","target":"491","id":"1942","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"409","target":"249","id":"3470","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"398","target":"359","id":"3258","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"406","target":"358","id":"4153","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"67","target":"165","id":"154","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"431","target":"211","id":"2484","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"55","id":"2298","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"424","id":"2267","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"81","target":"331","id":"3650","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"442","target":"478","id":"3815","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"310","target":"276","id":"2997","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"347","target":"295","id":"4579","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"65","id":"1914","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"32","id":"4538","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"492","target":"308","id":"3818","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"121","target":"408","id":"2567","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"464","target":"7","id":"1794","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"246","target":"276","id":"3641","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"252","target":"74","id":"465","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"348","target":"46","id":"2322","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"227","target":"107","id":"2191","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"171","target":"323","id":"4896","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"381","target":"133","id":"1901","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"164","target":"253","id":"3486","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"94","target":"327","id":"2092","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"55","target":"95","id":"3046","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"120","target":"166","id":"2616","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"275","target":"445","id":"2612","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"460","id":"4790","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"303","target":"418","id":"3780","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"79","target":"419","id":"3801","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"225","target":"303","id":"2973","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"329","target":"191","id":"3388","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"340","target":"338","id":"701","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"336","target":"457","id":"2121","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"198","target":"406","id":"3720","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"267","target":"413","id":"2787","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"9","target":"497","id":"4007","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"371","target":"283","id":"2913","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"411","target":"161","id":"84","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"240","target":"168","id":"1406","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"211","target":"288","id":"3704","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"251","target":"198","id":"1029","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"474","target":"312","id":"2041","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"415","id":"588","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"446","target":"326","id":"3929","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"253","target":"459","id":"2094","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"234","target":"145","id":"1153","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"314","target":"397","id":"4598","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"394","target":"192","id":"2444","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"200","target":"413","id":"1196","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"209","target":"280","id":"2583","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"457","target":"331","id":"4131","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"278","target":"265","id":"2461","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"378","id":"4110","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"25","target":"89","id":"4383","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"75","target":"184","id":"1780","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"74","target":"458","id":"2477","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"372","target":"405","id":"4939","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"328","target":"440","id":"3878","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"409","target":"487","id":"775","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"355","target":"82","id":"2214","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"129","id":"2830","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"39","target":"470","id":"1582","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"56","target":"86","id":"1174","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"256","target":"269","id":"1139","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"216","target":"81","id":"3632","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"229","target":"148","id":"2926","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"495","target":"300","id":"4520","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"29","target":"496","id":"4344","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"269","target":"60","id":"4914","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"475","target":"436","id":"2700","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"342","target":"196","id":"1090","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"70","target":"133","id":"2403","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"97","target":"2","id":"2574","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"109","target":"369","id":"2751","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"183","target":"68","id":"2416","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"65","target":"215","id":"1540","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"101","target":"87","id":"3638","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"58","target":"70","id":"1266","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"68","target":"468","id":"1457","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"400","target":"495","id":"1452","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"337","target":"361","id":"3112","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"249","target":"245","id":"3279","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"294","target":"63","id":"4623","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"325","id":"1461","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"430","target":"32","id":"1306","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"102","target":"466","id":"2536","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"325","target":"336","id":"4477","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"126","target":"35","id":"1343","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"77","id":"3635","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"370","target":"1","id":"3539","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"441","target":"419","id":"469","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"382","id":"637","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"187","target":"162","id":"2262","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"284","target":"78","id":"2771","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"79","id":"505","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"259","target":"38","id":"2518","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"373","target":"453","id":"2211","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"306","target":"303","id":"941","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"47","target":"71","id":"2177","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"47","target":"383","id":"2655","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"346","target":"110","id":"2805","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"435","target":"379","id":"3185","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"22","target":"332","id":"2390","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"157","target":"1","id":"1455","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"174","target":"104","id":"2753","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"174","target":"159","id":"1592","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"366","target":"449","id":"2605","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"459","target":"379","id":"2573","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"139","target":"102","id":"1532","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"34","target":"379","id":"1862","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"393","target":"157","id":"2435","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"486","target":"286","id":"4907","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"81","target":"365","id":"4417","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"43","target":"428","id":"2571","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"23","target":"59","id":"3425","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"163","target":"493","id":"3196","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"242","id":"1299","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"119","target":"233","id":"3649","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"15","target":"174","id":"449","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"151","target":"408","id":"993","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"161","target":"34","id":"1409","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"466","target":"207","id":"2821","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"87","id":"753","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"123","target":"355","id":"2727","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"419","target":"112","id":"4164","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"493","target":"359","id":"4531","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"152","target":"197","id":"646","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"140","target":"152","id":"4257","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"134","target":"158","id":"710","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"89","target":"453","id":"4307","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"354","target":"276","id":"1103","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"64","id":"2462","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"449","target":"237","id":"4829","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"331","target":"121","id":"958","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"5","target":"457","id":"89","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"117","target":"74","id":"3287","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"365","target":"480","id":"3656","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"307","target":"32","id":"3409","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"1","id":"760","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"337","id":"2919","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"266","target":"425","id":"2936","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"188","target":"487","id":"2469","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"129","target":"163","id":"4267","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"62","target":"127","id":"979","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"341","target":"87","id":"3583","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"43","target":"53","id":"22","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"275","target":"237","id":"4042","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"179","target":"395","id":"1620","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"70","target":"408","id":"827","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"55","target":"31","id":"530","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"253","target":"232","id":"3924","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"5","target":"155","id":"2515","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"41","target":"465","id":"216","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"178","id":"2806","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"397","target":"392","id":"4736","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"165","target":"56","id":"88","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"308","target":"148","id":"4564","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"154","id":"2172","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"425","target":"164","id":"2788","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"283","target":"77","id":"2943","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"236","target":"24","id":"2545","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"208","target":"213","id":"485","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"353","target":"91","id":"1228","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"116","target":"292","id":"4578","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"254","target":"493","id":"1449","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"484","target":"93","id":"1573","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"182","target":"433","id":"1172","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"183","target":"356","id":"2819","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"68","target":"274","id":"476","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"494","target":"324","id":"938","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"108","target":"141","id":"4707","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"310","target":"122","id":"1773","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"80","target":"306","id":"3326","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"472","target":"214","id":"2240","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"353","target":"470","id":"526","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"476","target":"139","id":"980","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"375","target":"186","id":"4995","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"101","target":"241","id":"1207","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"304","target":"217","id":"1319","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"421","id":"1975","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"447","target":"74","id":"4162","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"318","target":"141","id":"3744","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"2","target":"131","id":"3247","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"161","target":"80","id":"924","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"205","target":"206","id":"3078","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"496","target":"8","id":"3554","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"483","target":"19","id":"415","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"93","target":"201","id":"506","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"392","target":"202","id":"4279","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"289","target":"25","id":"291","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"125","target":"351","id":"614","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"82","target":"362","id":"1668","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"474","id":"487","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"427","target":"131","id":"2256","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"237","target":"191","id":"2887","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"125","target":"224","id":"2749","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"195","target":"6","id":"2328","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"164","target":"352","id":"3879","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"122","target":"85","id":"3066","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"292","target":"463","id":"1969","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"19","target":"490","id":"2245","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"319","target":"495","id":"4504","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"100","target":"260","id":"3434","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"461","target":"358","id":"638","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"188","target":"71","id":"1024","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"249","target":"135","id":"2400","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"26","target":"45","id":"302","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"52","target":"451","id":"1507","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"307","target":"418","id":"605","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"110","target":"230","id":"2345","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"75","target":"99","id":"1537","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"204","target":"67","id":"2491","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"185","target":"180","id":"60","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"364","target":"49","id":"1556","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"127","target":"419","id":"2768","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"66","target":"332","id":"1759","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"363","target":"37","id":"2150","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"283","target":"77","id":"3671","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"51","target":"314","id":"4397","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"205","target":"1","id":"195","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"19","target":"236","id":"1533","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"469","target":"204","id":"1387","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"497","target":"294","id":"3275","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"407","target":"55","id":"263","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"380","target":"61","id":"3143","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"190","target":"355","id":"1591","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"388","target":"232","id":"1753","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"269","target":"248","id":"3931","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"384","target":"276","id":"3056","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"68","target":"36","id":"1624","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"105","target":"320","id":"2959","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"93","target":"338","id":"2775","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"29","target":"168","id":"2305","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"199","target":"309","id":"1686","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"55","target":"79","id":"4709","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"487","target":"367","id":"1510","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"301","target":"482","id":"2215","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"332","target":"499","id":"4867","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"419","target":"332","id":"1337","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"402","target":"476","id":"394","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"455","target":"294","id":"1819","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"313","target":"254","id":"2424","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"98","target":"80","id":"2540","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"443","target":"292","id":"4871","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"129","target":"122","id":"557","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"372","target":"298","id":"740","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"206","target":"80","id":"2223","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"272","target":"76","id":"1976","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"161","target":"70","id":"474","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"140","target":"193","id":"2791","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"344","target":"184","id":"179","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"347","target":"212","id":"416","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"343","target":"497","id":"865","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"439","target":"409","id":"4215","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"210","target":"318","id":"3716","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"13","target":"52","id":"1831","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"131","target":"10","id":"4664","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"69","target":"145","id":"2076","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"221","target":"12","id":"1253","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"206","target":"91","id":"4972","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"139","target":"80","id":"1467","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"149","target":"457","id":"2589","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"188","target":"120","id":"3943","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"42","target":"321","id":"4886","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"242","target":"199","id":"3314","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"189","target":"179","id":"1413","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"190","target":"161","id":"1527","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"204","target":"367","id":"4645","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"321","target":"245","id":"107","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"72","target":"190","id":"180","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"32","target":"118","id":"2285","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"488","target":"386","id":"2349","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"399","target":"450","id":"1600","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"318","target":"381","id":"3821","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"452","target":"460","id":"2940","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"471","target":"328","id":"574","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"14","target":"216","id":"3738","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"95","target":"237","id":"3829","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"420","target":"324","id":"4093","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"276","target":"362","id":"2156","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"141","target":"260","id":"1052","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"326","target":"115","id":"110","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"146","target":"158","id":"1554","attributes":{},"color":"rgb(0,0,0)","size":1.0},{"source":"191","target":"292","id":"4833","attributes":{},"color":"rgb(0,0,0)","size":1.0}]} \ No newline at end of file diff --git a/site/datasets.ts b/site/datasets.ts index 0203d3a..e513f70 100644 --- a/site/datasets.ts +++ b/site/datasets.ts @@ -1,11 +1,32 @@ -import Graph from "graphology"; +import Graph, { UndirectedGraph } from "graphology"; import { Graph as AntvGraph } from "@antv/graphlib"; import { clusters } from "graphology-generators/random"; import { TestName } from "./types"; - export const loadDatasets = async () => { const datasets: Record = {}; + const loadUndirected500 = async () => { + const result = await fetch("https://raw.githubusercontent.com/graphology/graphology/master/src/communities-louvain/test/datasets/undirected1000.json") + const undirected1000Data = await result.json(); + const graph = new UndirectedGraph(); + undirected1000Data.nodes.forEach((d: any) => { + graph.addNode(d.id, d); + }); + undirected1000Data.edges.forEach((d: any) => { + graph.addEdge(d.source, d.target); + }); + + const antvgraph = graphology2antv(graph); + return { + desc: + "Creates a undirected graph with 500 nodes.", + [TestName.GRAPHOLOGY]: graph, + [TestName.ANTV_ALGORITHM]: antvgraph, + [TestName.ANTV_GRAPH_GPU]: antvgraph, + [TestName.ANTV_GRAPH_WASM]: antvgraph, + }; + }; + const loadRandomClusters = () => { const NODES = 1000; const EDGES = 2000; @@ -93,12 +114,14 @@ export const loadDatasets = async () => { }; const [ + undirected500, randomClusters, relations, netscience, eva, regions, ] = await Promise.all([ + loadUndirected500(), loadRandomClusters(), loadG6JSON( "https://gw.alipayobjects.com/os/antvdemo/assets/data/relations.json", @@ -118,6 +141,7 @@ export const loadDatasets = async () => { )(), ]); + datasets.undirected500 = undirected500; datasets["random-clusters"] = randomClusters; datasets.relations = relations; datasets.netscience = netscience;