topolib 0.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. topolib/__init__.py +4 -0
  2. topolib/analysis/__init__.py +4 -0
  3. topolib/analysis/metrics.py +80 -0
  4. topolib/analysis/traffic_matrix.py +344 -0
  5. topolib/assets/AMRES.json +1265 -0
  6. topolib/assets/Abilene.json +285 -0
  7. topolib/assets/Bell_canada.json +925 -0
  8. topolib/assets/Brazil.json +699 -0
  9. topolib/assets/CESNET.json +657 -0
  10. topolib/assets/CORONET.json +1957 -0
  11. topolib/assets/China.json +1135 -0
  12. topolib/assets/DT-14.json +470 -0
  13. topolib/assets/DT-17.json +525 -0
  14. topolib/assets/DT-50.json +1515 -0
  15. topolib/assets/ES-30.json +967 -0
  16. topolib/assets/EURO-16.json +455 -0
  17. topolib/assets/FR-43.json +1277 -0
  18. topolib/assets/FUNET.json +317 -0
  19. topolib/assets/GCN-BG.json +855 -0
  20. topolib/assets/GRNET.json +1717 -0
  21. topolib/assets/HyperOne.json +255 -0
  22. topolib/assets/IT-21.json +649 -0
  23. topolib/assets/India.json +517 -0
  24. topolib/assets/JPN-12.json +331 -0
  25. topolib/assets/KOREN.json +287 -0
  26. topolib/assets/NORDUNet.json +783 -0
  27. topolib/assets/NSFNet.json +399 -0
  28. topolib/assets/PANEURO.json +757 -0
  29. topolib/assets/PAVLOV.json +465 -0
  30. topolib/assets/PLN-12.json +343 -0
  31. topolib/assets/SANReN.json +161 -0
  32. topolib/assets/SERBIA-MONTENEGRO.json +139 -0
  33. topolib/assets/Telefonica-21.json +637 -0
  34. topolib/assets/Turk_Telekom.json +551 -0
  35. topolib/assets/UKNet.json +685 -0
  36. topolib/assets/Vega_Telecom.json +819 -0
  37. topolib/elements/__init__.py +5 -0
  38. topolib/elements/link.py +121 -0
  39. topolib/elements/node.py +230 -0
  40. topolib/topology/__init__.py +4 -0
  41. topolib/topology/path.py +84 -0
  42. topolib/topology/topology.py +469 -0
  43. topolib/visualization/__init__.py +1 -0
  44. topolib/visualization/_qt_screenshot.py +103 -0
  45. topolib/visualization/_qt_window.py +78 -0
  46. topolib/visualization/_templates.py +101 -0
  47. topolib/visualization/mapview.py +316 -0
  48. topolib-0.8.0.dist-info/METADATA +148 -0
  49. topolib-0.8.0.dist-info/RECORD +51 -0
  50. topolib-0.8.0.dist-info/WHEEL +4 -0
  51. topolib-0.8.0.dist-info/licenses/LICENSE +22 -0
@@ -0,0 +1,1515 @@
1
+ {
2
+ "name": "DT-50",
3
+ "nodes": [
4
+ {
5
+ "id": 0,
6
+ "name": "Passau",
7
+ "weight": 0,
8
+ "longitude": 13.4319466,
9
+ "latitude": 48.5667364,
10
+ "pop": 50560,
11
+ "DC": 0,
12
+ "IXP": 0
13
+ },
14
+ {
15
+ "id": 1,
16
+ "name": "Munich",
17
+ "weight": 0,
18
+ "longitude": 11.5819806,
19
+ "latitude": 48.1351253,
20
+ "pop": 1260391,
21
+ "DC": 35,
22
+ "IXP": 2
23
+ },
24
+ {
25
+ "id": 2,
26
+ "name": "Kempten",
27
+ "weight": 0,
28
+ "longitude": 10.3157835,
29
+ "latitude": 47.7285699,
30
+ "pop": 61399,
31
+ "DC": 0,
32
+ "IXP": 0
33
+ },
34
+ {
35
+ "id": 3,
36
+ "name": "Konstanz",
37
+ "weight": 0,
38
+ "longitude": 9.1736741,
39
+ "latitude": 47.6779808,
40
+ "pop": 81275,
41
+ "DC": 1,
42
+ "IXP": 1
43
+ },
44
+ {
45
+ "id": 4,
46
+ "name": "freiburg im Breisgau",
47
+ "weight": 0,
48
+ "longitude": 7.8421043,
49
+ "latitude": 47.9990077,
50
+ "pop": 215966,
51
+ "DC": 2,
52
+ "IXP": 0
53
+ },
54
+ {
55
+ "id": 5,
56
+ "name": "Stuttgart",
57
+ "weight": 0,
58
+ "longitude": 9.1829321,
59
+ "latitude": 48.7758459,
60
+ "pop": 630305,
61
+ "DC": 25,
62
+ "IXP": 1
63
+ },
64
+ {
65
+ "id": 6,
66
+ "name": "Ulm",
67
+ "weight": 0,
68
+ "longitude": 9.9876076,
69
+ "latitude": 48.4010822,
70
+ "pop": 120451,
71
+ "DC": 0,
72
+ "IXP": 0
73
+ },
74
+ {
75
+ "id": 7,
76
+ "name": "Augsburg",
77
+ "weight": 0,
78
+ "longitude": 10.89779,
79
+ "latitude": 48.3705449,
80
+ "pop": 259196,
81
+ "DC": 4,
82
+ "IXP": 0
83
+ },
84
+ {
85
+ "id": 8,
86
+ "name": "Regensburg",
87
+ "weight": 0,
88
+ "longitude": 12.1016236,
89
+ "latitude": 49.0134297,
90
+ "pop": 129151,
91
+ "DC": 3,
92
+ "IXP": 0
93
+ },
94
+ {
95
+ "id": 9,
96
+ "name": "Karlsruhe",
97
+ "weight": 0,
98
+ "longitude": 8.4036527,
99
+ "latitude": 49.0068901,
100
+ "pop": 283799,
101
+ "DC": 7,
102
+ "IXP": 2
103
+ },
104
+ {
105
+ "id": 10,
106
+ "name": "Saarbruecken",
107
+ "weight": 0,
108
+ "longitude": 6.997547,
109
+ "latitude": 49.2381697,
110
+ "pop": 179349,
111
+ "DC": 2,
112
+ "IXP": 1
113
+ },
114
+ {
115
+ "id": 11,
116
+ "name": "Kaiserslautern",
117
+ "weight": 0,
118
+ "longitude": 7.7491265,
119
+ "latitude": 49.4400657,
120
+ "pop": 98732,
121
+ "DC": 0,
122
+ "IXP": 0
123
+ },
124
+ {
125
+ "id": 12,
126
+ "name": "Nuremberg",
127
+ "weight": 0,
128
+ "longitude": 11.0745641,
129
+ "latitude": 49.4542881,
130
+ "pop": 515543,
131
+ "DC": 21,
132
+ "IXP": 4
133
+ },
134
+ {
135
+ "id": 13,
136
+ "name": "Wuerzburg",
137
+ "weight": 0,
138
+ "longitude": 9.9533548,
139
+ "latitude": 49.7913044,
140
+ "pop": 133731,
141
+ "DC": 6,
142
+ "IXP": 0
143
+ },
144
+ {
145
+ "id": 14,
146
+ "name": "Mannheim",
147
+ "weight": 0,
148
+ "longitude": 8.4646441,
149
+ "latitude": 49.4873329,
150
+ "pop": 307960,
151
+ "DC": 9,
152
+ "IXP": 1
153
+ },
154
+ {
155
+ "id": 15,
156
+ "name": "Darmstadt",
157
+ "weight": 0,
158
+ "longitude": 8.6511929,
159
+ "latitude": 49.8728253,
160
+ "pop": 140385,
161
+ "DC": 3,
162
+ "IXP": 0
163
+ },
164
+ {
165
+ "id": 16,
166
+ "name": "Trier",
167
+ "weight": 0,
168
+ "longitude": 6.637189,
169
+ "latitude": 49.7500569,
170
+ "pop": 100129,
171
+ "DC": 0,
172
+ "IXP": 0
173
+ },
174
+ {
175
+ "id": 17,
176
+ "name": "Coblenza",
177
+ "weight": 0,
178
+ "longitude": 7.5889959,
179
+ "latitude": 50.3569429,
180
+ "pop": 107319,
181
+ "DC": 0,
182
+ "IXP": 0
183
+ },
184
+ {
185
+ "id": 18,
186
+ "name": "Frankfurt am Main",
187
+ "weight": 0,
188
+ "longitude": 8.6821267,
189
+ "latitude": 50.1109221,
190
+ "pop": 650000,
191
+ "DC": 129,
192
+ "IXP": 26
193
+ },
194
+ {
195
+ "id": 19,
196
+ "name": "Fulda",
197
+ "weight": 0,
198
+ "longitude": 9.6808449,
199
+ "latitude": 50.5558095,
200
+ "pop": 63760,
201
+ "DC": 0,
202
+ "IXP": 0
203
+ },
204
+ {
205
+ "id": 20,
206
+ "name": "Giessen",
207
+ "weight": 0,
208
+ "longitude": 8.6784031,
209
+ "latitude": 50.5840512,
210
+ "pop": 74411,
211
+ "DC": 0,
212
+ "IXP": 0
213
+ },
214
+ {
215
+ "id": 21,
216
+ "name": "aachen",
217
+ "weight": 0,
218
+ "longitude": 6.0838868,
219
+ "latitude": 50.7753455,
220
+ "pop": 265208,
221
+ "DC": 2,
222
+ "IXP": 0
223
+ },
224
+ {
225
+ "id": 22,
226
+ "name": "Cologne",
227
+ "weight": 0,
228
+ "longitude": 6.9602786,
229
+ "latitude": 50.937531,
230
+ "pop": 963395,
231
+ "DC": 17,
232
+ "IXP": 1
233
+ },
234
+ {
235
+ "id": 23,
236
+ "name": "Bayreuth",
237
+ "weight": 0,
238
+ "longitude": 11.5713346,
239
+ "latitude": 49.9456399,
240
+ "pop": 75061,
241
+ "DC": 0,
242
+ "IXP": 0
243
+ },
244
+ {
245
+ "id": 24,
246
+ "name": "Chemnitz",
247
+ "weight": 0,
248
+ "longitude": 12.9208547,
249
+ "latitude": 50.8282222,
250
+ "pop": 247220,
251
+ "DC": 1,
252
+ "IXP": 0
253
+ },
254
+ {
255
+ "id": 25,
256
+ "name": "Erfurt",
257
+ "weight": 0,
258
+ "longitude": 11.0298799,
259
+ "latitude": 50.9847679,
260
+ "pop": 213692,
261
+ "DC": 3,
262
+ "IXP": 1
263
+ },
264
+ {
265
+ "id": 26,
266
+ "name": "Leipzig",
267
+ "weight": 0,
268
+ "longitude": 12.3730747,
269
+ "latitude": 51.3396955,
270
+ "pop": 504971,
271
+ "DC": 6,
272
+ "IXP": 2
273
+ },
274
+ {
275
+ "id": 27,
276
+ "name": "Kassel",
277
+ "weight": 0,
278
+ "longitude": 9.4915751,
279
+ "latitude": 51.3118828,
280
+ "pop": 194501,
281
+ "DC": 0,
282
+ "IXP": 0
283
+ },
284
+ {
285
+ "id": 28,
286
+ "name": "Dresden",
287
+ "weight": 0,
288
+ "longitude": 13.7372621,
289
+ "latitude": 51.0504088,
290
+ "pop": 556227,
291
+ "DC": 4,
292
+ "IXP": 1
293
+ },
294
+ {
295
+ "id": 29,
296
+ "name": "Siegen",
297
+ "weight": 0,
298
+ "longitude": 8.0209591,
299
+ "latitude": 50.8838492,
300
+ "pop": 107242,
301
+ "DC": 0,
302
+ "IXP": 0
303
+ },
304
+ {
305
+ "id": 30,
306
+ "name": "Dusseldorf",
307
+ "weight": 0,
308
+ "longitude": 6.7824545,
309
+ "latitude": 51.2230411,
310
+ "pop": 620523,
311
+ "DC": 33,
312
+ "IXP": 9
313
+ },
314
+ {
315
+ "id": 31,
316
+ "name": "Essen",
317
+ "weight": 0,
318
+ "longitude": 7.0224632,
319
+ "latitude": 51.4575573,
320
+ "pop": 593085,
321
+ "DC": 3,
322
+ "IXP": 1
323
+ },
324
+ {
325
+ "id": 32,
326
+ "name": "Wesel",
327
+ "weight": 0,
328
+ "longitude": 6.6295679,
329
+ "latitude": 51.6643079,
330
+ "pop": 61685,
331
+ "DC": 0,
332
+ "IXP": 0
333
+ },
334
+ {
335
+ "id": 33,
336
+ "name": "Dortmund",
337
+ "weight": 0,
338
+ "longitude": 7.4652981,
339
+ "latitude": 51.5135872,
340
+ "pop": 588462,
341
+ "DC": 9,
342
+ "IXP": 2
343
+ },
344
+ {
345
+ "id": 34,
346
+ "name": "Munster",
347
+ "weight": 0,
348
+ "longitude": 7.6261347,
349
+ "latitude": 51.9606649,
350
+ "pop": 270184,
351
+ "DC": 5,
352
+ "IXP": 0
353
+ },
354
+ {
355
+ "id": 35,
356
+ "name": "Norden",
357
+ "weight": 0,
358
+ "longitude": 7.196716,
359
+ "latitude": 53.5987852,
360
+ "pop": 24767,
361
+ "DC": 0,
362
+ "IXP": 0
363
+ },
364
+ {
365
+ "id": 36,
366
+ "name": "Oldenburg",
367
+ "weight": 0,
368
+ "longitude": 8.2145521,
369
+ "latitude": 53.1434501,
370
+ "pop": 159218,
371
+ "DC": 0,
372
+ "IXP": 0
373
+ },
374
+ {
375
+ "id": 37,
376
+ "name": "Osnabruck",
377
+ "weight": 0,
378
+ "longitude": 8.0471788,
379
+ "latitude": 52.2799112,
380
+ "pop": 166462,
381
+ "DC": 0,
382
+ "IXP": 0
383
+ },
384
+ {
385
+ "id": 38,
386
+ "name": "Hannover",
387
+ "weight": 0,
388
+ "longitude": 9.7320104,
389
+ "latitude": 52.3758916,
390
+ "pop": 515140,
391
+ "DC": 9,
392
+ "IXP": 2
393
+ },
394
+ {
395
+ "id": 39,
396
+ "name": "Bielefeld",
397
+ "weight": 0,
398
+ "longitude": 8.5278765,
399
+ "latitude": 52.0220924,
400
+ "pop": 331906,
401
+ "DC": 7,
402
+ "IXP": 0
403
+ },
404
+ {
405
+ "id": 40,
406
+ "name": "Brunswick",
407
+ "weight": 0,
408
+ "longitude": 10.5245656,
409
+ "latitude": 52.2677907,
410
+ "pop": 244715,
411
+ "DC": 0,
412
+ "IXP": 0
413
+ },
414
+ {
415
+ "id": 41,
416
+ "name": "Magdeburg",
417
+ "weight": 0,
418
+ "longitude": 11.6080863,
419
+ "latitude": 52.1131758,
420
+ "pop": 235775,
421
+ "DC": 3,
422
+ "IXP": 0
423
+ },
424
+ {
425
+ "id": 42,
426
+ "name": "Berlin",
427
+ "weight": 0,
428
+ "longitude": 13.404954,
429
+ "latitude": 52.5200066,
430
+ "pop": 3426354,
431
+ "DC": 49,
432
+ "IXP": 5
433
+ },
434
+ {
435
+ "id": 43,
436
+ "name": "Greifswald",
437
+ "weight": 0,
438
+ "longitude": 13.3923414,
439
+ "latitude": 54.0865463,
440
+ "pop": 52731,
441
+ "DC": 0,
442
+ "IXP": 0
443
+ },
444
+ {
445
+ "id": 44,
446
+ "name": "Schwerin",
447
+ "weight": 0,
448
+ "longitude": 11.4003136,
449
+ "latitude": 53.6353316,
450
+ "pop": 96641,
451
+ "DC": 1,
452
+ "IXP": 0
453
+ },
454
+ {
455
+ "id": 45,
456
+ "name": "Hamburg",
457
+ "weight": 0,
458
+ "longitude": 9.9871703,
459
+ "latitude": 53.5488282,
460
+ "pop": 1845229,
461
+ "DC": 32,
462
+ "IXP": 3
463
+ },
464
+ {
465
+ "id": 46,
466
+ "name": "Kiel",
467
+ "weight": 0,
468
+ "longitude": 10.1227652,
469
+ "latitude": 54.3232927,
470
+ "pop": 246601,
471
+ "DC": 4,
472
+ "IXP": 0
473
+ },
474
+ {
475
+ "id": 47,
476
+ "name": "Flensburg",
477
+ "weight": 0,
478
+ "longitude": 9.4469964,
479
+ "latitude": 54.7937431,
480
+ "pop": 85838,
481
+ "DC": 2,
482
+ "IXP": 0
483
+ },
484
+ {
485
+ "id": 48,
486
+ "name": "Bremen",
487
+ "weight": 0,
488
+ "longitude": 8.8016937,
489
+ "latitude": 53.0792962,
490
+ "pop": 546501,
491
+ "DC": 9,
492
+ "IXP": 2
493
+ },
494
+ {
495
+ "id": 49,
496
+ "name": "Bremerhaven",
497
+ "weight": 0,
498
+ "longitude": 8.5809424,
499
+ "latitude": 53.5395845,
500
+ "pop": 113557,
501
+ "DC": 0,
502
+ "IXP": 0
503
+ }
504
+ ],
505
+ "links": [
506
+ {
507
+ "id": 0,
508
+ "src": 4,
509
+ "dst": 3,
510
+ "length": 138.16
511
+ },
512
+ {
513
+ "id": 1,
514
+ "src": 2,
515
+ "dst": 3,
516
+ "length": 110.19
517
+ },
518
+ {
519
+ "id": 2,
520
+ "src": 1,
521
+ "dst": 2,
522
+ "length": 133.24
523
+ },
524
+ {
525
+ "id": 3,
526
+ "src": 7,
527
+ "dst": 1,
528
+ "length": 75.67
529
+ },
530
+ {
531
+ "id": 4,
532
+ "src": 6,
533
+ "dst": 7,
534
+ "length": 87.59
535
+ },
536
+ {
537
+ "id": 5,
538
+ "src": 5,
539
+ "dst": 6,
540
+ "length": 95.81
541
+ },
542
+ {
543
+ "id": 6,
544
+ "src": 5,
545
+ "dst": 3,
546
+ "length": 157.57
547
+ },
548
+ {
549
+ "id": 7,
550
+ "src": 9,
551
+ "dst": 4,
552
+ "length": 157.1
553
+ },
554
+ {
555
+ "id": 8,
556
+ "src": 0,
557
+ "dst": 1,
558
+ "length": 190.54
559
+ },
560
+ {
561
+ "id": 9,
562
+ "src": 8,
563
+ "dst": 1,
564
+ "length": 137.33
565
+ },
566
+ {
567
+ "id": 10,
568
+ "src": 0,
569
+ "dst": 8,
570
+ "length": 143.57
571
+ },
572
+ {
573
+ "id": 11,
574
+ "src": 12,
575
+ "dst": 8,
576
+ "length": 113.59
577
+ },
578
+ {
579
+ "id": 12,
580
+ "src": 1,
581
+ "dst": 12,
582
+ "length": 195.31
583
+ },
584
+ {
585
+ "id": 13,
586
+ "src": 13,
587
+ "dst": 7,
588
+ "length": 222.12
589
+ },
590
+ {
591
+ "id": 14,
592
+ "src": 13,
593
+ "dst": 12,
594
+ "length": 117.28
595
+ },
596
+ {
597
+ "id": 15,
598
+ "src": 9,
599
+ "dst": 5,
600
+ "length": 81.8
601
+ },
602
+ {
603
+ "id": 16,
604
+ "src": 5,
605
+ "dst": 13,
606
+ "length": 163.46
607
+ },
608
+ {
609
+ "id": 17,
610
+ "src": 23,
611
+ "dst": 12,
612
+ "length": 88.61
613
+ },
614
+ {
615
+ "id": 18,
616
+ "src": 25,
617
+ "dst": 13,
618
+ "length": 202.22
619
+ },
620
+ {
621
+ "id": 19,
622
+ "src": 26,
623
+ "dst": 23,
624
+ "length": 210.91
625
+ },
626
+ {
627
+ "id": 20,
628
+ "src": 26,
629
+ "dst": 25,
630
+ "length": 130.49
631
+ },
632
+ {
633
+ "id": 21,
634
+ "src": 24,
635
+ "dst": 25,
636
+ "length": 175.91
637
+ },
638
+ {
639
+ "id": 22,
640
+ "src": 28,
641
+ "dst": 24,
642
+ "length": 80.26
643
+ },
644
+ {
645
+ "id": 23,
646
+ "src": 26,
647
+ "dst": 28,
648
+ "length": 131.17
649
+ },
650
+ {
651
+ "id": 24,
652
+ "src": 25,
653
+ "dst": 28,
654
+ "length": 249.62
655
+ },
656
+ {
657
+ "id": 25,
658
+ "src": 42,
659
+ "dst": 28,
660
+ "length": 216.28
661
+ },
662
+ {
663
+ "id": 26,
664
+ "src": 44,
665
+ "dst": 43,
666
+ "length": 180.06
667
+ },
668
+ {
669
+ "id": 27,
670
+ "src": 42,
671
+ "dst": 43,
672
+ "length": 229.52
673
+ },
674
+ {
675
+ "id": 28,
676
+ "src": 10,
677
+ "dst": 9,
678
+ "length": 138.09
679
+ },
680
+ {
681
+ "id": 29,
682
+ "src": 11,
683
+ "dst": 10,
684
+ "length": 76.61
685
+ },
686
+ {
687
+ "id": 30,
688
+ "src": 9,
689
+ "dst": 11,
690
+ "length": 87.98
691
+ },
692
+ {
693
+ "id": 31,
694
+ "src": 14,
695
+ "dst": 9,
696
+ "length": 66.62
697
+ },
698
+ {
699
+ "id": 32,
700
+ "src": 15,
701
+ "dst": 11,
702
+ "length": 105.02
703
+ },
704
+ {
705
+ "id": 33,
706
+ "src": 14,
707
+ "dst": 15,
708
+ "length": 60.11
709
+ },
710
+ {
711
+ "id": 34,
712
+ "src": 18,
713
+ "dst": 15,
714
+ "length": 33.43
715
+ },
716
+ {
717
+ "id": 35,
718
+ "src": 19,
719
+ "dst": 18,
720
+ "length": 112.87
721
+ },
722
+ {
723
+ "id": 36,
724
+ "src": 10,
725
+ "dst": 16,
726
+ "length": 80.78
727
+ },
728
+ {
729
+ "id": 37,
730
+ "src": 17,
731
+ "dst": 16,
732
+ "length": 123.63
733
+ },
734
+ {
735
+ "id": 38,
736
+ "src": 18,
737
+ "dst": 17,
738
+ "length": 105.97
739
+ },
740
+ {
741
+ "id": 39,
742
+ "src": 18,
743
+ "dst": 20,
744
+ "length": 67.88
745
+ },
746
+ {
747
+ "id": 40,
748
+ "src": 29,
749
+ "dst": 17,
750
+ "length": 85.84
751
+ },
752
+ {
753
+ "id": 41,
754
+ "src": 20,
755
+ "dst": 19,
756
+ "length": 91.99
757
+ },
758
+ {
759
+ "id": 42,
760
+ "src": 20,
761
+ "dst": 29,
762
+ "length": 73.77
763
+ },
764
+ {
765
+ "id": 43,
766
+ "src": 27,
767
+ "dst": 20,
768
+ "length": 129.34
769
+ },
770
+ {
771
+ "id": 44,
772
+ "src": 19,
773
+ "dst": 27,
774
+ "length": 111.38
775
+ },
776
+ {
777
+ "id": 45,
778
+ "src": 25,
779
+ "dst": 27,
780
+ "length": 147.99
781
+ },
782
+ {
783
+ "id": 46,
784
+ "src": 16,
785
+ "dst": 21,
786
+ "length": 157.53
787
+ },
788
+ {
789
+ "id": 47,
790
+ "src": 22,
791
+ "dst": 21,
792
+ "length": 81.76
793
+ },
794
+ {
795
+ "id": 48,
796
+ "src": 17,
797
+ "dst": 22,
798
+ "length": 100.8
799
+ },
800
+ {
801
+ "id": 49,
802
+ "src": 39,
803
+ "dst": 29,
804
+ "length": 170.02
805
+ },
806
+ {
807
+ "id": 50,
808
+ "src": 27,
809
+ "dst": 33,
810
+ "length": 186.83
811
+ },
812
+ {
813
+ "id": 51,
814
+ "src": 32,
815
+ "dst": 21,
816
+ "length": 137.54
817
+ },
818
+ {
819
+ "id": 52,
820
+ "src": 22,
821
+ "dst": 30,
822
+ "length": 44.82
823
+ },
824
+ {
825
+ "id": 53,
826
+ "src": 31,
827
+ "dst": 30,
828
+ "length": 42.65
829
+ },
830
+ {
831
+ "id": 54,
832
+ "src": 31,
833
+ "dst": 32,
834
+ "length": 47.53
835
+ },
836
+ {
837
+ "id": 55,
838
+ "src": 33,
839
+ "dst": 31,
840
+ "length": 41.71
841
+ },
842
+ {
843
+ "id": 56,
844
+ "src": 40,
845
+ "dst": 27,
846
+ "length": 165.87
847
+ },
848
+ {
849
+ "id": 57,
850
+ "src": 41,
851
+ "dst": 40,
852
+ "length": 97.95
853
+ },
854
+ {
855
+ "id": 58,
856
+ "src": 26,
857
+ "dst": 41,
858
+ "length": 130.01
859
+ },
860
+ {
861
+ "id": 59,
862
+ "src": 26,
863
+ "dst": 42,
864
+ "length": 190.94
865
+ },
866
+ {
867
+ "id": 60,
868
+ "src": 42,
869
+ "dst": 41,
870
+ "length": 168.16
871
+ },
872
+ {
873
+ "id": 61,
874
+ "src": 41,
875
+ "dst": 44,
876
+ "length": 221.17
877
+ },
878
+ {
879
+ "id": 62,
880
+ "src": 42,
881
+ "dst": 44,
882
+ "length": 236.74
883
+ },
884
+ {
885
+ "id": 63,
886
+ "src": 40,
887
+ "dst": 38,
888
+ "length": 73.45
889
+ },
890
+ {
891
+ "id": 64,
892
+ "src": 39,
893
+ "dst": 40,
894
+ "length": 178.99
895
+ },
896
+ {
897
+ "id": 65,
898
+ "src": 34,
899
+ "dst": 39,
900
+ "length": 81.7
901
+ },
902
+ {
903
+ "id": 66,
904
+ "src": 39,
905
+ "dst": 38,
906
+ "length": 118.41
907
+ },
908
+ {
909
+ "id": 67,
910
+ "src": 34,
911
+ "dst": 37,
912
+ "length": 59.41
913
+ },
914
+ {
915
+ "id": 68,
916
+ "src": 37,
917
+ "dst": 38,
918
+ "length": 151.8
919
+ },
920
+ {
921
+ "id": 69,
922
+ "src": 33,
923
+ "dst": 34,
924
+ "length": 64.98
925
+ },
926
+ {
927
+ "id": 70,
928
+ "src": 35,
929
+ "dst": 32,
930
+ "length": 285.9
931
+ },
932
+ {
933
+ "id": 71,
934
+ "src": 36,
935
+ "dst": 35,
936
+ "length": 110.05
937
+ },
938
+ {
939
+ "id": 72,
940
+ "src": 37,
941
+ "dst": 36,
942
+ "length": 126.45
943
+ },
944
+ {
945
+ "id": 73,
946
+ "src": 38,
947
+ "dst": 48,
948
+ "length": 131.55
949
+ },
950
+ {
951
+ "id": 74,
952
+ "src": 48,
953
+ "dst": 36,
954
+ "length": 54.99
955
+ },
956
+ {
957
+ "id": 75,
958
+ "src": 49,
959
+ "dst": 48,
960
+ "length": 72.24
961
+ },
962
+ {
963
+ "id": 76,
964
+ "src": 45,
965
+ "dst": 38,
966
+ "length": 173.54
967
+ },
968
+ {
969
+ "id": 77,
970
+ "src": 45,
971
+ "dst": 40,
972
+ "length": 192.94
973
+ },
974
+ {
975
+ "id": 78,
976
+ "src": 45,
977
+ "dst": 44,
978
+ "length": 120.04
979
+ },
980
+ {
981
+ "id": 79,
982
+ "src": 46,
983
+ "dst": 45,
984
+ "length": 111.15
985
+ },
986
+ {
987
+ "id": 80,
988
+ "src": 44,
989
+ "dst": 46,
990
+ "length": 143.97
991
+ },
992
+ {
993
+ "id": 81,
994
+ "src": 47,
995
+ "dst": 49,
996
+ "length": 196.19
997
+ },
998
+ {
999
+ "id": 82,
1000
+ "src": 46,
1001
+ "dst": 47,
1002
+ "length": 90.28
1003
+ },
1004
+ {
1005
+ "id": 83,
1006
+ "src": 24,
1007
+ "dst": 23,
1008
+ "length": 178.9
1009
+ },
1010
+ {
1011
+ "id": 84,
1012
+ "src": 3,
1013
+ "dst": 4,
1014
+ "length": 138.16
1015
+ },
1016
+ {
1017
+ "id": 85,
1018
+ "src": 3,
1019
+ "dst": 2,
1020
+ "length": 110.19
1021
+ },
1022
+ {
1023
+ "id": 86,
1024
+ "src": 2,
1025
+ "dst": 1,
1026
+ "length": 133.24
1027
+ },
1028
+ {
1029
+ "id": 87,
1030
+ "src": 1,
1031
+ "dst": 7,
1032
+ "length": 75.67
1033
+ },
1034
+ {
1035
+ "id": 88,
1036
+ "src": 7,
1037
+ "dst": 6,
1038
+ "length": 87.59
1039
+ },
1040
+ {
1041
+ "id": 89,
1042
+ "src": 6,
1043
+ "dst": 5,
1044
+ "length": 95.81
1045
+ },
1046
+ {
1047
+ "id": 90,
1048
+ "src": 3,
1049
+ "dst": 5,
1050
+ "length": 157.57
1051
+ },
1052
+ {
1053
+ "id": 91,
1054
+ "src": 4,
1055
+ "dst": 9,
1056
+ "length": 157.1
1057
+ },
1058
+ {
1059
+ "id": 92,
1060
+ "src": 1,
1061
+ "dst": 0,
1062
+ "length": 190.54
1063
+ },
1064
+ {
1065
+ "id": 93,
1066
+ "src": 1,
1067
+ "dst": 8,
1068
+ "length": 137.33
1069
+ },
1070
+ {
1071
+ "id": 94,
1072
+ "src": 8,
1073
+ "dst": 0,
1074
+ "length": 143.57
1075
+ },
1076
+ {
1077
+ "id": 95,
1078
+ "src": 8,
1079
+ "dst": 12,
1080
+ "length": 113.59
1081
+ },
1082
+ {
1083
+ "id": 96,
1084
+ "src": 12,
1085
+ "dst": 1,
1086
+ "length": 195.31
1087
+ },
1088
+ {
1089
+ "id": 97,
1090
+ "src": 7,
1091
+ "dst": 13,
1092
+ "length": 222.12
1093
+ },
1094
+ {
1095
+ "id": 98,
1096
+ "src": 12,
1097
+ "dst": 13,
1098
+ "length": 117.28
1099
+ },
1100
+ {
1101
+ "id": 99,
1102
+ "src": 5,
1103
+ "dst": 9,
1104
+ "length": 81.8
1105
+ },
1106
+ {
1107
+ "id": 100,
1108
+ "src": 13,
1109
+ "dst": 5,
1110
+ "length": 163.46
1111
+ },
1112
+ {
1113
+ "id": 101,
1114
+ "src": 12,
1115
+ "dst": 23,
1116
+ "length": 88.61
1117
+ },
1118
+ {
1119
+ "id": 102,
1120
+ "src": 13,
1121
+ "dst": 25,
1122
+ "length": 202.22
1123
+ },
1124
+ {
1125
+ "id": 103,
1126
+ "src": 23,
1127
+ "dst": 26,
1128
+ "length": 210.91
1129
+ },
1130
+ {
1131
+ "id": 104,
1132
+ "src": 25,
1133
+ "dst": 26,
1134
+ "length": 130.49
1135
+ },
1136
+ {
1137
+ "id": 105,
1138
+ "src": 25,
1139
+ "dst": 24,
1140
+ "length": 175.91
1141
+ },
1142
+ {
1143
+ "id": 106,
1144
+ "src": 24,
1145
+ "dst": 28,
1146
+ "length": 80.26
1147
+ },
1148
+ {
1149
+ "id": 107,
1150
+ "src": 28,
1151
+ "dst": 26,
1152
+ "length": 131.17
1153
+ },
1154
+ {
1155
+ "id": 108,
1156
+ "src": 28,
1157
+ "dst": 25,
1158
+ "length": 249.62
1159
+ },
1160
+ {
1161
+ "id": 109,
1162
+ "src": 28,
1163
+ "dst": 42,
1164
+ "length": 216.28
1165
+ },
1166
+ {
1167
+ "id": 110,
1168
+ "src": 43,
1169
+ "dst": 44,
1170
+ "length": 180.06
1171
+ },
1172
+ {
1173
+ "id": 111,
1174
+ "src": 43,
1175
+ "dst": 42,
1176
+ "length": 229.52
1177
+ },
1178
+ {
1179
+ "id": 112,
1180
+ "src": 9,
1181
+ "dst": 10,
1182
+ "length": 138.09
1183
+ },
1184
+ {
1185
+ "id": 113,
1186
+ "src": 10,
1187
+ "dst": 11,
1188
+ "length": 76.61
1189
+ },
1190
+ {
1191
+ "id": 114,
1192
+ "src": 11,
1193
+ "dst": 9,
1194
+ "length": 87.98
1195
+ },
1196
+ {
1197
+ "id": 115,
1198
+ "src": 9,
1199
+ "dst": 14,
1200
+ "length": 66.62
1201
+ },
1202
+ {
1203
+ "id": 116,
1204
+ "src": 11,
1205
+ "dst": 15,
1206
+ "length": 105.02
1207
+ },
1208
+ {
1209
+ "id": 117,
1210
+ "src": 15,
1211
+ "dst": 14,
1212
+ "length": 60.11
1213
+ },
1214
+ {
1215
+ "id": 118,
1216
+ "src": 15,
1217
+ "dst": 18,
1218
+ "length": 33.43
1219
+ },
1220
+ {
1221
+ "id": 119,
1222
+ "src": 18,
1223
+ "dst": 19,
1224
+ "length": 112.87
1225
+ },
1226
+ {
1227
+ "id": 120,
1228
+ "src": 16,
1229
+ "dst": 10,
1230
+ "length": 80.78
1231
+ },
1232
+ {
1233
+ "id": 121,
1234
+ "src": 16,
1235
+ "dst": 17,
1236
+ "length": 123.63
1237
+ },
1238
+ {
1239
+ "id": 122,
1240
+ "src": 17,
1241
+ "dst": 18,
1242
+ "length": 105.97
1243
+ },
1244
+ {
1245
+ "id": 123,
1246
+ "src": 20,
1247
+ "dst": 18,
1248
+ "length": 67.88
1249
+ },
1250
+ {
1251
+ "id": 124,
1252
+ "src": 17,
1253
+ "dst": 29,
1254
+ "length": 85.84
1255
+ },
1256
+ {
1257
+ "id": 125,
1258
+ "src": 19,
1259
+ "dst": 20,
1260
+ "length": 91.99
1261
+ },
1262
+ {
1263
+ "id": 126,
1264
+ "src": 29,
1265
+ "dst": 20,
1266
+ "length": 73.77
1267
+ },
1268
+ {
1269
+ "id": 127,
1270
+ "src": 20,
1271
+ "dst": 27,
1272
+ "length": 129.34
1273
+ },
1274
+ {
1275
+ "id": 128,
1276
+ "src": 27,
1277
+ "dst": 19,
1278
+ "length": 111.38
1279
+ },
1280
+ {
1281
+ "id": 129,
1282
+ "src": 27,
1283
+ "dst": 25,
1284
+ "length": 147.99
1285
+ },
1286
+ {
1287
+ "id": 130,
1288
+ "src": 21,
1289
+ "dst": 16,
1290
+ "length": 157.53
1291
+ },
1292
+ {
1293
+ "id": 131,
1294
+ "src": 21,
1295
+ "dst": 22,
1296
+ "length": 81.76
1297
+ },
1298
+ {
1299
+ "id": 132,
1300
+ "src": 22,
1301
+ "dst": 17,
1302
+ "length": 100.8
1303
+ },
1304
+ {
1305
+ "id": 133,
1306
+ "src": 29,
1307
+ "dst": 39,
1308
+ "length": 170.02
1309
+ },
1310
+ {
1311
+ "id": 134,
1312
+ "src": 33,
1313
+ "dst": 27,
1314
+ "length": 186.83
1315
+ },
1316
+ {
1317
+ "id": 135,
1318
+ "src": 21,
1319
+ "dst": 32,
1320
+ "length": 137.54
1321
+ },
1322
+ {
1323
+ "id": 136,
1324
+ "src": 30,
1325
+ "dst": 22,
1326
+ "length": 44.82
1327
+ },
1328
+ {
1329
+ "id": 137,
1330
+ "src": 30,
1331
+ "dst": 31,
1332
+ "length": 42.65
1333
+ },
1334
+ {
1335
+ "id": 138,
1336
+ "src": 32,
1337
+ "dst": 31,
1338
+ "length": 47.53
1339
+ },
1340
+ {
1341
+ "id": 139,
1342
+ "src": 31,
1343
+ "dst": 33,
1344
+ "length": 41.71
1345
+ },
1346
+ {
1347
+ "id": 140,
1348
+ "src": 27,
1349
+ "dst": 40,
1350
+ "length": 165.87
1351
+ },
1352
+ {
1353
+ "id": 141,
1354
+ "src": 40,
1355
+ "dst": 41,
1356
+ "length": 97.95
1357
+ },
1358
+ {
1359
+ "id": 142,
1360
+ "src": 41,
1361
+ "dst": 26,
1362
+ "length": 130.01
1363
+ },
1364
+ {
1365
+ "id": 143,
1366
+ "src": 42,
1367
+ "dst": 26,
1368
+ "length": 190.94
1369
+ },
1370
+ {
1371
+ "id": 144,
1372
+ "src": 41,
1373
+ "dst": 42,
1374
+ "length": 168.16
1375
+ },
1376
+ {
1377
+ "id": 145,
1378
+ "src": 44,
1379
+ "dst": 41,
1380
+ "length": 221.17
1381
+ },
1382
+ {
1383
+ "id": 146,
1384
+ "src": 44,
1385
+ "dst": 42,
1386
+ "length": 236.74
1387
+ },
1388
+ {
1389
+ "id": 147,
1390
+ "src": 38,
1391
+ "dst": 40,
1392
+ "length": 73.45
1393
+ },
1394
+ {
1395
+ "id": 148,
1396
+ "src": 40,
1397
+ "dst": 39,
1398
+ "length": 178.99
1399
+ },
1400
+ {
1401
+ "id": 149,
1402
+ "src": 39,
1403
+ "dst": 34,
1404
+ "length": 81.7
1405
+ },
1406
+ {
1407
+ "id": 150,
1408
+ "src": 38,
1409
+ "dst": 39,
1410
+ "length": 118.41
1411
+ },
1412
+ {
1413
+ "id": 151,
1414
+ "src": 37,
1415
+ "dst": 34,
1416
+ "length": 59.41
1417
+ },
1418
+ {
1419
+ "id": 152,
1420
+ "src": 38,
1421
+ "dst": 37,
1422
+ "length": 151.8
1423
+ },
1424
+ {
1425
+ "id": 153,
1426
+ "src": 34,
1427
+ "dst": 33,
1428
+ "length": 64.98
1429
+ },
1430
+ {
1431
+ "id": 154,
1432
+ "src": 32,
1433
+ "dst": 35,
1434
+ "length": 285.9
1435
+ },
1436
+ {
1437
+ "id": 155,
1438
+ "src": 35,
1439
+ "dst": 36,
1440
+ "length": 110.05
1441
+ },
1442
+ {
1443
+ "id": 156,
1444
+ "src": 36,
1445
+ "dst": 37,
1446
+ "length": 126.45
1447
+ },
1448
+ {
1449
+ "id": 157,
1450
+ "src": 48,
1451
+ "dst": 38,
1452
+ "length": 131.55
1453
+ },
1454
+ {
1455
+ "id": 158,
1456
+ "src": 36,
1457
+ "dst": 48,
1458
+ "length": 54.99
1459
+ },
1460
+ {
1461
+ "id": 159,
1462
+ "src": 48,
1463
+ "dst": 49,
1464
+ "length": 72.24
1465
+ },
1466
+ {
1467
+ "id": 160,
1468
+ "src": 38,
1469
+ "dst": 45,
1470
+ "length": 173.54
1471
+ },
1472
+ {
1473
+ "id": 161,
1474
+ "src": 40,
1475
+ "dst": 45,
1476
+ "length": 192.94
1477
+ },
1478
+ {
1479
+ "id": 162,
1480
+ "src": 44,
1481
+ "dst": 45,
1482
+ "length": 120.04
1483
+ },
1484
+ {
1485
+ "id": 163,
1486
+ "src": 45,
1487
+ "dst": 46,
1488
+ "length": 111.15
1489
+ },
1490
+ {
1491
+ "id": 164,
1492
+ "src": 46,
1493
+ "dst": 44,
1494
+ "length": 143.97
1495
+ },
1496
+ {
1497
+ "id": 165,
1498
+ "src": 49,
1499
+ "dst": 47,
1500
+ "length": 196.19
1501
+ },
1502
+ {
1503
+ "id": 166,
1504
+ "src": 47,
1505
+ "dst": 46,
1506
+ "length": 90.28
1507
+ },
1508
+ {
1509
+ "id": 167,
1510
+ "src": 23,
1511
+ "dst": 24,
1512
+ "length": 178.9
1513
+ }
1514
+ ]
1515
+ }