From bd7be0a5ef98952e2df7d4dfed2b8288d1fec8a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D1=81=D0=B8=D0=BD=D0=B5=D1=87=D0=BA=D0=B0=20=E2=99=A1?= <63897347+ktnk-dev@users.noreply.github.com> Date: Wed, 9 Sep 2026 17:42:31 +0000 Subject: [PATCH] embed pathfinder map and render route instructions --- .gitignore | 1 - README.md | 10 +- bot/navigator.py | 2 +- config.example.py | 4 +- models/bot.py | 4 +- models/navigator.py | 12 +- web/map/data/navigator.json | 15149 ++++++++++++++++++++++++++++++++++ web/map/images/1.svg | 1 + web/map/images/2.svg | 3038 ++++--- web/map/images/3.svg | 3 + web/map/images/4.svg | 1 + web/map/images/5.svg | 1 + web/map/images/6.svg | 1 + web/map/index.html | 7 +- web/map/js/map.js | 143 +- web/map/styles/main.css | 74 +- 16 files changed, 17053 insertions(+), 1398 deletions(-) create mode 100644 web/map/data/navigator.json diff --git a/.gitignore b/.gitignore index 028d7de..6129f42 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ timetables/*.json .VSCodeCounter .timetracker web/analytics/data.json -web/map/data/navigator.json DEBUG schedule_client.py config.py diff --git a/README.md b/README.md index 8d05fc4..a1c23e0 100644 --- a/README.md +++ b/README.md @@ -25,8 +25,8 @@ uv run main.py `route.request` через `Telegram.WebApp.sendData`. Обработчик находится в `bot/navigator.py`, а протокол — в `models/navigator.py`. -Скомпилированный граф хранится локально в игнорируемом файле -`web/map/data/navigator.json`. `calculate_route` строит путь по нему без -сетевых запросов; внешний API навигатора используется только как эталон при -проверке. UI получает номера этажей и индексы точек и рисует маршрут по -координатам из того же manifest. +Скомпилированный граф встроен в `web/map/data/navigator.json`: этот файл +одновременно читают бот и WebView. `calculate_route` строит путь без сетевых +запросов; внешний API навигатора используется только как эталон при проверке. +UI получает номера этажей и индексы точек и рисует маршрут по координатам из +того же manifest. SVG этажей содержат соответствующую группу `#Точки`. diff --git a/bot/navigator.py b/bot/navigator.py index d397479..b440bb2 100644 --- a/bot/navigator.py +++ b/bot/navigator.py @@ -72,7 +72,7 @@ def _remember_request(user_id: int, request_id: str) -> bool: def _map_url(request: RouteRequest, route: dict | None) -> str: base = f"{config.WEB_BASE_URL.rstrip('/')}/map/" params = { - "v": "14", + "v": "15", "mode": "navigator", "start": request.start.room, "end": request.end.room, diff --git a/config.example.py b/config.example.py index 2a29ebd..ef1e620 100644 --- a/config.example.py +++ b/config.example.py @@ -13,8 +13,8 @@ WEB_BASE_URL: str = 'https://zatups.example.com' # Base URL for the schedule (should be runned separately) SCHEDULE_BASE_URL: str = 'http://10.9.8.3:18822' -# The navigator reads its local graph from web/map/data/navigator.json. -# That generated file is ignored by Git and must be supplied at deployment. +# The navigator graph is embedded in web/map/data/navigator.json and is shared +# by the bot and the WebView. # Telegram user IDs ADMINS: list[int] = [5016590523, 5001115363] diff --git a/models/bot.py b/models/bot.py index d2630b5..14c4846 100644 --- a/models/bot.py +++ b/models/bot.py @@ -101,7 +101,7 @@ class Markup_v2: markup.add( KeyboardButton( text=Strings.map, - web_app=WebAppInfo(f'{config.WEB_BASE_URL.rstrip("/")}/map/?v=14&mode=search') + web_app=WebAppInfo(f'{config.WEB_BASE_URL.rstrip("/")}/map/?v=15&mode=search') ), Strings.schedule, row_width=2 @@ -138,7 +138,7 @@ class Markup_v1: markup.add( KeyboardButton( text=Strings.map, - web_app=WebAppInfo(f'{config.WEB_BASE_URL.rstrip("/")}/map/?v=14&mode=search') + web_app=WebAppInfo(f'{config.WEB_BASE_URL.rstrip("/")}/map/?v=15&mode=search') ), Strings.search, row_width=2 diff --git a/models/navigator.py b/models/navigator.py index c0c0d45..788b6fd 100644 --- a/models/navigator.py +++ b/models/navigator.py @@ -225,7 +225,7 @@ def _segment(floor: CompiledFloor, path: list[int]) -> dict[str, Any]: def calculate_route(request: RouteRequest) -> dict[str, Any] | None: - """Calculate a route from the ignored local pathfinder manifest.""" + """Calculate a route from the pathfinder manifest shared with the WebView.""" floors = _floors() start_floor = _resolve_floor(floors, request.start) @@ -254,8 +254,16 @@ def calculate_route(request: RouteRequest) -> dict[str, Any] | None: if not start_path or not second_floor: return None second_start = _nearest_node(second_floor, start_floor.positions[start_path[-1]]) + if second_start is None: + return None + if end_floor.name == "2": + second_path = _bfs(second_floor, second_start, request.end.room) + if not second_path: + return None + return {"v": 1, "segments": [_segment(start_floor, start_path), _segment(second_floor, second_path)]} + second_end = _nearest_node(second_floor, end_floor.positions[end_path[-1]]) - if second_start is None or second_end is None: + if second_end is None: return None second_path = _bfs(second_floor, second_start, second_end) if not second_path: diff --git a/web/map/data/navigator.json b/web/map/data/navigator.json new file mode 100644 index 0000000..0005f48 --- /dev/null +++ b/web/map/data/navigator.json @@ -0,0 +1,15149 @@ +{ + "building_id": "main", + "building_name": "Основное здание", + "floors": { + "1": { + "id": "1", + "floor_name": "1", + "pathfinder_data": { + "neighbors": [ + [ + "7-127.12" + ], + [ + "7-127.12", + "7-127.11", + "7-127.10" + ], + [ + "7-127.11", + "7-127.10" + ], + [ + "7-127.10" + ], + [ + "7-127.10" + ], + [ + "7-127.2", + "7-127.10" + ], + [], + [], + [], + [ + "7-118", + "7-120", + "Лестница" + ], + [ + "7-116", + "7-118", + "7-120" + ], + [ + "7-116", + "7-120" + ], + [ + "7-114", + "7-118" + ], + [ + "7-112", + "7-114", + "7-117" + ], + [ + "7-112", + "7-117", + "7-114" + ], + [ + "7-117", + "7-112" + ], + [ + "7-110", + "7-117" + ], + [ + "7-110", + "7-115", + "7-117", + "7-112" + ], + [ + "7-108", + "7-115", + "7-117" + ], + [ + "7-106", + "7-113", + "7-108", + "7-115", + "7-110", + "7-117" + ], + [ + "7-104", + "7-106", + "7-113", + "7-108", + "7-115" + ], + [ + "7-104", + "7-111", + "7-113", + "7-115" + ], + [ + "7-104", + "7-109", + "7-111", + "7-106", + "7-113", + "7-115", + "7-108" + ], + [ + "7-104", + "7-109", + "7-111", + "7-113" + ], + [ + "7-102", + "7-107", + "7-109", + "7-104", + "7-111" + ], + [ + "7-102", + "7-107", + "7-104", + "7-109" + ], + [ + "7-105а", + "7-102", + "7-104", + "7-109" + ], + [ + "7-105", + "7-105а", + "7-102", + "7-107" + ], + [ + "7-101", + "7-105", + "7-105а" + ], + [ + "7-100", + "7-101", + "Лестница" + ], + [ + "7-101", + "7-100" + ], + [ + "7-100", + "7-103", + "Лестница" + ], + [ + "7-120", + "Лестница" + ], + [ + "7-120", + "Лестница" + ], + [ + "7-120", + "Лестница" + ], + [ + "Лестница" + ], + [ + "Лестница" + ], + [], + [], + [ + "7-122" + ], + [], + [ + "7-122" + ], + [ + "7-122" + ], + [ + "7-122", + "7-121" + ], + [ + "7-123" + ], + [], + [ + "7-121" + ], + [ + "7-123", + "7-125" + ], + [], + [ + "7-125" + ], + [ + "7-127.1" + ], + [], + [ + "8-115б" + ], + [ + "7-127.1" + ], + [ + "7-127.1" + ], + [ + "7-127.1" + ], + [ + "7-127.1", + "7-127.2" + ], + [], + [ + "7-127.2", + "7-127.10" + ], + [], + [ + "Лестница" + ], + [ + "7-127.4", + "Лестница" + ], + [ + "7-127.4", + "7-127.6", + "Лестница", + "7-127.7" + ], + [ + "7-127.6", + "7-127.7", + "7-127.8" + ], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [ + "1-107" + ], + [ + "1-107" + ], + [ + "1-107", + "1-106", + "1-109" + ], + [ + "1-107", + "1-109" + ], + [ + "1-107", + "1-109", + "1-106", + "1-109а" + ], + [ + "1-107", + "1-106", + "1-109а", + "1-109" + ], + [ + "1-109", + "1-109а", + "1-110.1" + ], + [ + "1-109а" + ], + [ + "1-109а", + "1-110.9", + "1-110.1" + ], + [ + "1-110.1", + "1-110.2" + ], + [ + "1-110.9", + "1-110.1" + ], + [ + "1-110.9", + "1-110.1", + "1-110.6", + "1-110.4" + ], + [ + "1-110.2", + "1-110.4" + ], + [ + "1-110.9", + "1-110.7", + "1-110.4" + ], + [], + [ + "1-110.8" + ], + [ + "1-110.9" + ], + [ + "Лестница" + ], + [ + "Лестница" + ], + [], + [ + "Лестница" + ], + [ + "1-115.2", + "Лестница", + "1-114" + ], + [ + "1-115.2", + "Лестница", + "1-114" + ], + [ + "1-115.1", + "1-115.2", + "Лестница", + "1-114" + ], + [ + "1-115.1", + "1-115.2", + "Лестница", + "1-114.13", + "1-114" + ], + [ + "1-115.1", + "1-114.13", + "1-114" + ], + [], + [], + [], + [], + [], + [ + "1-114.12", + "1-114.3" + ], + [ + "1-114.3" + ], + [ + "1-114.11", + "1-114.4", + "1-114.3" + ], + [ + "1-114.4", + "1-114.3" + ], + [ + "1-114.11", + "1-114.3" + ], + [ + "1-114.10", + "1.114-5" + ], + [], + [ + "1-114.10", + "1-114.6", + "1.114-5" + ], + [ + "1-114.9", + "1-114.8" + ], + [ + "1-115.4", + "Лестница" + ], + [ + "1-115.6", + "1-115.2" + ], + [ + "1-115.4" + ], + [ + "1-115.6" + ], + [ + "1-115.6" + ], + [ + "1-115.7", + "1-115.6" + ], + [ + "1-115.6" + ], + [ + "1-115.6", + "1-115.7" + ], + [ + "1-115.6" + ], + [ + "1-115.6", + "1-115.10" + ], + [ + "1-115.6" + ], + [ + "1-115.10", + "1-115.6" + ], + [ + "1-115.6" + ], + [ + "1-115.10", + "1-115.7" + ], + [ + "Лестница" + ], + [ + "1-115.12", + "Лестница", + "1-115.11", + "1-115.7" + ], + [ + "Лестница", + "1-115.10", + "1-115.13", + "1-115.7" + ], + [ + "1-115.14", + "1-115.12", + "Лестница", + "1-115.11" + ], + [ + "1-115.15", + "1-115.11" + ], + [ + "1-115.14", + "1-115.15", + "1-115.13" + ], + [ + "1-115.17", + "1-115.15" + ], + [], + [ + "1-115.17" + ], + [ + "1-115.17" + ], + [ + "1-115.14" + ], + [ + "2-101" + ], + [ + "2-101" + ], + [ + "2-101" + ], + [ + "2-101" + ], + [ + "2-101.5" + ], + [ + "2-101.5" + ], + [ + "Лестница", + "2-101.5" + ], + [ + "2-101", + "Лестница", + "2-101.3" + ], + [ + "2-101", + "2-101.3" + ], + [ + "2-101.4" + ], + [ + "2-101" + ], + [ + "2-101", + "2-101.4" + ], + [ + "2-101.4", + "2-101.3", + "2-101.9" + ], + [ + "2-101.9" + ], + [ + "2-101.3", + "2-101.4", + "2-101.5", + "2-101.9" + ], + [ + "2-101.4", + "2-101.5", + "2-101.9" + ], + [ + "2-101.4", + "2-101.9" + ], + [ + "2-101.9" + ], + [ + "2-101.5", + "2-101.7", + "2-101.9" + ], + [ + "2-101.7", + "2-101.9", + "Лестница" + ], + [ + "2-101.7", + "Лестница" + ], + [ + "2-101.7", + "2-101.9", + "Лестница" + ], + [ + "2-101.9", + "Лестница", + "2-101.8", + "2-101.11" + ], + [ + "Лестница", + "2-101.11" + ], + [ + "Лестница", + "2-101.8", + "2-101.11", + "2-101.13" + ], + [ + "2-101.9", + "2-101.11" + ], + [ + "2-101.11" + ], + [ + "2-101.8", + "2-101.11", + "2-101.13" + ], + [ + "2-101.13" + ], + [ + "2-101.13", + "2-101.10", + "2-101.12", + "2-101.15" + ], + [ + "2-101.13", + "2-101.12", + "2-101.15" + ], + [ + "2-101.13", + "2-101.12", + "2-101.15" + ], + [ + "2-101.10" + ], + [ + "2-101.12", + "2-101.15" + ], + [ + "2-101.12", + "2-101.15" + ], + [ + "5-204", + "5-203", + "5-205", + "Лестница" + ], + [ + "Лестница" + ], + [ + "5-203", + "5-305", + "Лестница" + ], + [ + "Лестница", + "5-203" + ], + [ + "Лестница", + "4-108.1", + "4-108.3" + ], + [ + "4-106", + "4-109", + "Лестница" + ], + [ + "Лестница" + ], + [ + "4-108.1", + "4.108-5" + ], + [], + [], + [ + "4.108-5", + "4-108.2" + ], + [ + "4-109", + "Лестница" + ], + [ + "4-109" + ], + [ + "4-109" + ], + [ + "4-107", + "4-109" + ], + [ + "4-107", + "4-109" + ], + [ + "4-107", + "4-109" + ], + [ + "4-107" + ], + [ + "4-107", + "4-104" + ], + [ + "Лестница", + "4-104а", + "4-107" + ], + [ + "Лестница", + "4-104", + "4-107" + ], + [ + "4-105", + "Лестница", + "4-104а", + "4-107" + ], + [ + "4-105", + "Лестница" + ], + [ + "4-105" + ], + [], + [], + [ + "3-117" + ], + [ + "3-118", + "3-119" + ], + [ + "3-121", + "3-120" + ], + [ + "3-118", + "3-119" + ], + [ + "3-123", + "3-121", + "3-118", + "3-120", + "3-119" + ], + [ + "3-123", + "3-121" + ], + [ + "3-116", + "3-117", + "3-113" + ], + [ + "3-116", + "3-113", + "3-117" + ], + [ + "Лестница", + "10-103", + "10-104" + ], + [ + "Лестница" + ], + [ + "8-115а", + "8-115б" + ], + [ + "6-103", + "6-102" + ], + [ + "Лестница", + "6-102" + ], + [ + "9-120" + ], + [ + "9-120" + ], + [ + "9-120" + ], + [ + "9-120" + ], + [ + "9-119", + "9-120" + ], + [ + "9-120" + ], + [ + "9-118", + "9-119" + ], + [ + "9-118" + ], + [ + "9-118", + "9-117", + "9-119" + ], + [ + "9-117", + "9-118", + "9-116", + "9-119" + ], + [ + "9-115", + "9-116" + ], + [ + "9-117", + "9-116" + ], + [ + "9-115", + "9-116" + ], + [ + "9-115" + ], + [ + "9-115" + ], + [ + "9-117", + "9-115", + "9-116" + ], + [], + [ + "9-120" + ], + [ + "9-120" + ], + [ + "9-120" + ], + [], + [ + "9-120" + ], + [], + [], + [], + [ + "9-123" + ], + [], + [ + "9-124" + ], + [ + "9-124" + ], + [ + "9-124", + "9-125", + "9-127" + ], + [ + "9-127", + "9-124", + "9-125" + ], + [ + "9-128", + "9-127" + ], + [ + "9-129", + "9-128" + ], + [ + "9-130", + "9-129" + ], + [ + "9-132", + "9-131", + "9-130" + ], + [ + "9-133", + "9-132" + ], + [ + "9-132" + ], + [ + "9-131", + "9-130" + ], + [ + "9-128", + "9-127" + ], + [ + "9-132", + "9-131" + ], + [ + "9-133" + ], + [ + "9-128", + "9-127" + ], + [ + "9-124", + "9-127", + "9-125", + "9-126" + ], + [ + "9-124", + "9-126", + "9-125" + ], + [ + "9-127", + "9-126" + ] + ], + "graph": [ + [ + 1, + 52, + 51 + ], + [ + 0, + 2, + 3 + ], + [ + 3, + 1, + 55 + ], + [ + 2, + 4, + 56 + ], + [ + 5, + 3, + 57 + ], + [ + 58, + 4, + 59 + ], + [ + 7, + 37, + 38 + ], + [ + 37, + 6, + 8 + ], + [ + 32, + 33, + 7 + ], + [ + 32, + 10, + 8 + ], + [ + 11, + 9, + 32 + ], + [ + 10, + 12, + 9 + ], + [ + 13, + 11, + 10 + ], + [ + 14, + 12, + 15 + ], + [ + 15, + 13, + 16 + ], + [ + 14, + 16, + 17 + ], + [ + 17, + 15, + 14 + ], + [ + 16, + 18, + 15 + ], + [ + 17, + 19, + 20 + ], + [ + 20, + 18, + 21 + ], + [ + 19, + 21, + 22 + ], + [ + 20, + 22, + 19 + ], + [ + 21, + 23, + 20 + ], + [ + 22, + 24, + 21 + ], + [ + 25, + 23, + 26 + ], + [ + 24, + 26, + 27 + ], + [ + 27, + 25, + 24 + ], + [ + 26, + 28, + 31 + ], + [ + 29, + 27, + 31 + ], + [ + 28, + 30, + 31 + ], + [ + 29, + 31, + 28 + ], + [ + 29, + 28, + 27 + ], + [ + 33, + 8, + 9 + ], + [ + 35, + 32, + 8 + ], + [ + 33, + 32, + 35 + ], + [ + 36, + 33, + 38 + ], + [ + 35, + 39, + 38 + ], + [ + 7, + 38, + 8 + ], + [ + 37, + 39, + 36 + ], + [ + 36, + 38, + 40 + ], + [ + 39, + 41, + 36 + ], + [ + 40, + 42, + 39 + ], + [ + 43, + 41, + 44 + ], + [ + 42, + 44, + 45 + ], + [ + 45, + 43, + 46 + ], + [ + 44, + 46, + 47 + ], + [ + 45, + 47, + 44 + ], + [ + 46, + 48, + 45 + ], + [ + 47, + 49, + 50 + ], + [ + 50, + 48, + 51 + ], + [ + 49, + 53, + 51 + ], + [ + 52, + 50, + 53 + ], + [ + 51, + 0, + 50 + ], + [ + 54, + 50, + 51 + ], + [ + 53, + 55, + 50 + ], + [ + 54, + 56, + 53 + ], + [ + 57, + 55, + 4 + ], + [ + 56, + 58, + 4 + ], + [ + 5, + 57, + 59 + ], + [ + 60, + 58, + 5 + ], + [ + 59, + 61, + 5 + ], + [ + 60, + 62, + 59 + ], + [ + 61, + 63, + 60 + ], + [ + 62, + 61, + 60 + ], + [ + 65, + 66, + 67 + ], + [ + 66, + 64, + 67 + ], + [ + 65, + 67, + 74 + ], + [ + 74, + 66, + 68 + ], + [ + 69, + 92, + 67 + ], + [ + 68, + 70, + 92 + ], + [ + 69, + 71, + 72 + ], + [ + 72, + 70, + 73 + ], + [ + 71, + 73, + 70 + ], + [ + 72, + 71, + 70 + ], + [ + 67, + 75, + 94 + ], + [ + 74, + 76, + 94 + ], + [ + 75, + 77, + 94 + ], + [ + 78, + 76, + 79 + ], + [ + 77, + 79, + 80 + ], + [ + 80, + 78, + 77 + ], + [ + 79, + 81, + 78 + ], + [ + 82, + 80, + 79 + ], + [ + 83, + 81, + 84 + ], + [ + 82, + 84, + 85 + ], + [ + 83, + 85, + 82 + ], + [ + 86, + 84, + 87 + ], + [ + 85, + 87, + 84 + ], + [ + 86, + 88, + 85 + ], + [ + 87, + 89, + 86 + ], + [ + 90, + 88, + 91 + ], + [ + 89, + 91, + 88 + ], + [ + 90, + 89, + 88 + ], + [ + 93, + 94, + 68 + ], + [ + 92, + 95, + 94 + ], + [ + 74, + 92, + 75 + ], + [ + 93, + 94, + 92 + ], + [ + 97, + 98, + 115 + ], + [ + 98, + 96, + 115 + ], + [ + 115, + 99, + 97 + ], + [ + 115, + 100, + 98 + ], + [ + 99, + 101, + 115 + ], + [ + 102, + 100, + 99 + ], + [ + 101, + 103, + 100 + ], + [ + 104, + 102, + 105 + ], + [ + 105, + 103, + 106 + ], + [ + 104, + 106, + 107 + ], + [ + 107, + 105, + 108 + ], + [ + 106, + 108, + 105 + ], + [ + 107, + 109, + 106 + ], + [ + 108, + 110, + 107 + ], + [ + 111, + 109, + 112 + ], + [ + 110, + 112, + 109 + ], + [ + 113, + 111, + 110 + ], + [ + 112, + 114, + 111 + ], + [ + 113, + 112, + 111 + ], + [ + 98, + 99, + 116 + ], + [ + 117, + 115, + 98 + ], + [ + 116, + 118, + 119 + ], + [ + 119, + 117, + 120 + ], + [ + 118, + 120, + 117 + ], + [ + 119, + 121, + 118 + ], + [ + 122, + 120, + 123 + ], + [ + 121, + 123, + 124 + ], + [ + 124, + 122, + 128 + ], + [ + 123, + 128, + 125 + ], + [ + 126, + 124, + 128 + ], + [ + 127, + 125, + 124 + ], + [ + 126, + 125, + 128 + ], + [ + 124, + 129, + 125 + ], + [ + 128, + 130, + 131 + ], + [ + 131, + 129, + 132 + ], + [ + 130, + 132, + 129 + ], + [ + 133, + 131, + 130 + ], + [ + 132, + 134, + 131 + ], + [ + 135, + 133, + 132 + ], + [ + 134, + 136, + 137 + ], + [ + 137, + 135, + 138 + ], + [ + 138, + 136, + 139 + ], + [ + 139, + 137, + 136 + ], + [ + 138, + 137, + 136 + ], + [ + 141, + 142, + 143 + ], + [ + 140, + 142, + 143 + ], + [ + 143, + 141, + 140 + ], + [ + 142, + 144, + 141 + ], + [ + 145, + 143, + 142 + ], + [ + 144, + 143, + 146 + ], + [ + 147, + 144, + 145 + ], + [ + 148, + 146, + 143 + ], + [ + 147, + 149, + 146 + ], + [ + 150, + 151, + 148 + ], + [ + 149, + 151, + 152 + ], + [ + 150, + 152, + 149 + ], + [ + 153, + 151, + 154 + ], + [ + 152, + 154, + 156 + ], + [ + 155, + 153, + 156 + ], + [ + 154, + 156, + 157 + ], + [ + 154, + 155, + 153 + ], + [ + 158, + 155, + 159 + ], + [ + 159, + 157, + 161 + ], + [ + 161, + 158, + 160 + ], + [ + 162, + 161, + 159 + ], + [ + 159, + 160, + 158 + ], + [ + 163, + 160, + 164 + ], + [ + 162, + 164, + 160 + ], + [ + 165, + 163, + 166 + ], + [ + 166, + 164, + 167 + ], + [ + 165, + 167, + 164 + ], + [ + 168, + 166, + 165 + ], + [ + 167, + 169, + 166 + ], + [ + 170, + 168, + 171 + ], + [ + 169, + 171, + 172 + ], + [ + 170, + 172, + 174 + ], + [ + 173, + 171, + 174 + ], + [ + 174, + 172, + 171 + ], + [ + 173, + 171, + 172 + ], + [ + 176, + 177, + 178 + ], + [ + 177, + 175, + 178 + ], + [ + 178, + 176, + 175 + ], + [ + 177, + 176, + 175 + ], + [ + 180, + 186, + 181 + ], + [ + 181, + 179, + 182 + ], + [ + 180, + 182, + 183 + ], + [ + 183, + 181, + 184 + ], + [ + 182, + 184, + 181 + ], + [ + 185, + 183, + 182 + ], + [ + 184, + 183, + 182 + ], + [ + 187, + 179, + 180 + ], + [ + 188, + 186, + 189 + ], + [ + 187, + 189, + 186 + ], + [ + 188, + 190, + 187 + ], + [ + 191, + 189, + 192 + ], + [ + 190, + 192, + 189 + ], + [ + 191, + 193, + 190 + ], + [ + 194, + 192, + 195 + ], + [ + 193, + 195, + 192 + ], + [ + 194, + 196, + 197 + ], + [ + 197, + 195, + 198 + ], + [ + 196, + 198, + 195 + ], + [ + 197, + 199, + 196 + ], + [ + 198, + 200, + 197 + ], + [ + 199, + 198, + 197 + ], + [ + 202, + 207, + 208 + ], + [ + 201, + 203, + 204 + ], + [ + 204, + 202, + 205 + ], + [ + 203, + 205, + 206 + ], + [ + 206, + 204, + 203 + ], + [ + 205, + 204, + 203 + ], + [ + 208, + 201, + 202 + ], + [ + 207, + 201, + 202 + ], + [], + [], + [], + [], + [], + [ + 215, + 231, + 232 + ], + [ + 214, + 216, + 231 + ], + [ + 217, + 215, + 218 + ], + [ + 218, + 216, + 219 + ], + [ + 219, + 217, + 216 + ], + [ + 218, + 220, + 217 + ], + [ + 221, + 219, + 218 + ], + [ + 220, + 222, + 219 + ], + [ + 223, + 230, + 221 + ], + [ + 222, + 230, + 224 + ], + [ + 229, + 223, + 225 + ], + [ + 229, + 224, + 226 + ], + [ + 225, + 227, + 229 + ], + [ + 228, + 226, + 225 + ], + [ + 227, + 226, + 225 + ], + [ + 224, + 225, + 223 + ], + [ + 223, + 222, + 229 + ], + [ + 232, + 214, + 233 + ], + [ + 231, + 233, + 214 + ], + [ + 232, + 234, + 231 + ], + [ + 235, + 233, + 232 + ], + [ + 234, + 236, + 237 + ], + [ + 237, + 235, + 238 + ], + [ + 236, + 238, + 239 + ], + [ + 239, + 237, + 240 + ], + [ + 238, + 240, + 237 + ], + [ + 241, + 239, + 238 + ], + [ + 240, + 242, + 239 + ], + [ + 241, + 243, + 256 + ], + [ + 256, + 244, + 242 + ], + [ + 243, + 256, + 257 + ], + [ + 252, + 255, + 246 + ], + [ + 247, + 252, + 245 + ], + [ + 246, + 251, + 248 + ], + [ + 251, + 253, + 249 + ], + [ + 254, + 253, + 248 + ], + [ + 254, + 249, + 253 + ], + [ + 248, + 247, + 253 + ], + [ + 245, + 255, + 246 + ], + [ + 248, + 249, + 251 + ], + [ + 250, + 249, + 253 + ], + [ + 252, + 245, + 246 + ], + [ + 243, + 257, + 244 + ], + [ + 258, + 256, + 243 + ], + [ + 257, + 256, + 243 + ] + ] + }, + "positions": [ + [ + 1660.0, + 1948.0 + ], + [ + 1682.0, + 1976.0 + ], + [ + 1697.0, + 2011.0 + ], + [ + 1702.0, + 2041.0 + ], + [ + 1712.0, + 2086.0 + ], + [ + 1720.0, + 2124.0 + ], + [ + 1171.0, + 1849.0 + ], + [ + 1184.0, + 1815.0 + ], + [ + 1193.0, + 1777.0 + ], + [ + 1168.0, + 1742.0 + ], + [ + 1134.0, + 1730.0 + ], + [ + 1109.0, + 1720.0 + ], + [ + 1068.0, + 1695.0 + ], + [ + 1030.0, + 1683.0 + ], + [ + 996.0, + 1673.0 + ], + [ + 967.0, + 1661.0 + ], + [ + 936.0, + 1651.0 + ], + [ + 905.0, + 1645.0 + ], + [ + 870.0, + 1642.0 + ], + [ + 836.0, + 1633.0 + ], + [ + 814.0, + 1626.0 + ], + [ + 789.0, + 1620.0 + ], + [ + 760.0, + 1620.0 + ], + [ + 723.0, + 1614.0 + ], + [ + 682.0, + 1611.0 + ], + [ + 654.0, + 1607.0 + ], + [ + 619.0, + 1607.0 + ], + [ + 591.0, + 1604.0 + ], + [ + 553.0, + 1595.0 + ], + [ + 534.0, + 1567.0 + ], + [ + 516.0, + 1535.0 + ], + [ + 572.0, + 1560.0 + ], + [ + 1196.0, + 1749.0 + ], + [ + 1218.0, + 1758.0 + ], + [ + 1231.0, + 1724.0 + ], + [ + 1234.0, + 1771.0 + ], + [ + 1250.0, + 1777.0 + ], + [ + 1209.0, + 1821.0 + ], + [ + 1234.0, + 1808.0 + ], + [ + 1262.0, + 1796.0 + ], + [ + 1291.0, + 1808.0 + ], + [ + 1322.0, + 1821.0 + ], + [ + 1350.0, + 1846.0 + ], + [ + 1378.0, + 1862.0 + ], + [ + 1407.0, + 1884.0 + ], + [ + 1432.0, + 1896.0 + ], + [ + 1454.0, + 1915.0 + ], + [ + 1479.0, + 1937.0 + ], + [ + 1516.0, + 1959.0 + ], + [ + 1551.0, + 1987.0 + ], + [ + 1582.0, + 1993.0 + ], + [ + 1614.0, + 1971.0 + ], + [ + 1623.0, + 1934.0 + ], + [ + 1611.0, + 2015.0 + ], + [ + 1626.0, + 2034.0 + ], + [ + 1642.0, + 2059.0 + ], + [ + 1661.0, + 2084.0 + ], + [ + 1670.0, + 2109.0 + ], + [ + 1695.0, + 2135.0 + ], + [ + 1720.0, + 2163.0 + ], + [ + 1739.0, + 2178.0 + ], + [ + 1764.0, + 2194.0 + ], + [ + 1796.0, + 2213.0 + ], + [ + 1833.0, + 2219.0 + ], + [ + 3891.0, + 2310.0 + ], + [ + 3891.0, + 2279.0 + ], + [ + 3891.0, + 2251.0 + ], + [ + 3888.0, + 2216.0 + ], + [ + 3857.0, + 2194.0 + ], + [ + 3826.0, + 2191.0 + ], + [ + 3791.0, + 2185.0 + ], + [ + 3753.0, + 2182.0 + ], + [ + 3728.0, + 2185.0 + ], + [ + 3691.0, + 2185.0 + ], + [ + 3904.0, + 2197.0 + ], + [ + 3929.0, + 2197.0 + ], + [ + 3957.0, + 2194.0 + ], + [ + 3992.0, + 2188.0 + ], + [ + 4014.0, + 2188.0 + ], + [ + 4042.0, + 2188.0 + ], + [ + 4058.0, + 2188.0 + ], + [ + 4098.0, + 2191.0 + ], + [ + 4136.0, + 2197.0 + ], + [ + 4158.0, + 2197.0 + ], + [ + 4186.0, + 2185.0 + ], + [ + 4218.0, + 2197.0 + ], + [ + 4237.0, + 2197.0 + ], + [ + 4255.0, + 2178.0 + ], + [ + 4262.0, + 2144.0 + ], + [ + 4265.0, + 2097.0 + ], + [ + 4265.0, + 2059.0 + ], + [ + 4268.0, + 2018.0 + ], + [ + 3879.0, + 2169.0 + ], + [ + 3879.0, + 2141.0 + ], + [ + 3910.0, + 2172.0 + ], + [ + 3910.0, + 2138.0 + ], + [ + 3302.0, + 2329.0 + ], + [ + 3295.0, + 2288.0 + ], + [ + 3295.0, + 2247.0 + ], + [ + 3298.0, + 2210.0 + ], + [ + 3302.0, + 2175.0 + ], + [ + 3277.0, + 2144.0 + ], + [ + 3264.0, + 2113.0 + ], + [ + 3258.0, + 2072.0 + ], + [ + 3248.0, + 2034.0 + ], + [ + 3245.0, + 2003.0 + ], + [ + 3245.0, + 1959.0 + ], + [ + 3245.0, + 1934.0 + ], + [ + 3245.0, + 1896.0 + ], + [ + 3245.0, + 1858.0 + ], + [ + 3251.0, + 1808.0 + ], + [ + 3251.0, + 1777.0 + ], + [ + 3255.0, + 1733.0 + ], + [ + 3248.0, + 1692.0 + ], + [ + 3251.0, + 1648.0 + ], + [ + 3270.0, + 2229.0 + ], + [ + 3223.0, + 2235.0 + ], + [ + 3189.0, + 2232.0 + ], + [ + 3145.0, + 2229.0 + ], + [ + 3113.0, + 2229.0 + ], + [ + 3073.0, + 2229.0 + ], + [ + 3029.0, + 2226.0 + ], + [ + 2997.0, + 2226.0 + ], + [ + 2963.0, + 2229.0 + ], + [ + 2931.0, + 2229.0 + ], + [ + 2891.0, + 2229.0 + ], + [ + 2859.0, + 2229.0 + ], + [ + 2828.0, + 2229.0 + ], + [ + 2925.0, + 2197.0 + ], + [ + 2922.0, + 2160.0 + ], + [ + 2922.0, + 2119.0 + ], + [ + 2922.0, + 2094.0 + ], + [ + 2922.0, + 2056.0 + ], + [ + 2916.0, + 2028.0 + ], + [ + 2919.0, + 1984.0 + ], + [ + 2919.0, + 1940.0 + ], + [ + 2922.0, + 1896.0 + ], + [ + 2919.0, + 1855.0 + ], + [ + 2922.0, + 1815.0 + ], + [ + 2922.0, + 1783.0 + ], + [ + 3468.0, + 1670.0 + ], + [ + 3487.0, + 1670.0 + ], + [ + 3512.0, + 1670.0 + ], + [ + 3531.0, + 1670.0 + ], + [ + 3565.0, + 1670.0 + ], + [ + 3575.0, + 1670.0 + ], + [ + 3568.0, + 1617.0 + ], + [ + 3524.0, + 1617.0 + ], + [ + 3521.0, + 1589.0 + ], + [ + 3527.0, + 1554.0 + ], + [ + 3534.0, + 1535.0 + ], + [ + 3556.0, + 1535.0 + ], + [ + 3587.0, + 1535.0 + ], + [ + 3603.0, + 1535.0 + ], + [ + 3634.0, + 1532.0 + ], + [ + 3653.0, + 1532.0 + ], + [ + 3628.0, + 1498.0 + ], + [ + 3697.0, + 1535.0 + ], + [ + 3728.0, + 1532.0 + ], + [ + 3753.0, + 1532.0 + ], + [ + 3804.0, + 1538.0 + ], + [ + 3769.0, + 1532.0 + ], + [ + 3835.0, + 1532.0 + ], + [ + 3860.0, + 1535.0 + ], + [ + 3891.0, + 1535.0 + ], + [ + 3920.0, + 1535.0 + ], + [ + 3935.0, + 1535.0 + ], + [ + 3967.0, + 1532.0 + ], + [ + 3998.0, + 1532.0 + ], + [ + 4039.0, + 1532.0 + ], + [ + 4067.0, + 1532.0 + ], + [ + 4098.0, + 1532.0 + ], + [ + 4108.0, + 1501.0 + ], + [ + 4139.0, + 1510.0 + ], + [ + 4139.0, + 1535.0 + ], + [ + 4321.0, + 1162.0 + ], + [ + 4324.0, + 1121.0 + ], + [ + 4359.0, + 1124.0 + ], + [ + 4387.0, + 1127.0 + ], + [ + 3891.0, + 817.0 + ], + [ + 3920.0, + 814.0 + ], + [ + 3942.0, + 814.0 + ], + [ + 3976.0, + 814.0 + ], + [ + 3992.0, + 814.0 + ], + [ + 4020.0, + 814.0 + ], + [ + 4042.0, + 814.0 + ], + [ + 3854.0, + 807.0 + ], + [ + 3816.0, + 807.0 + ], + [ + 3785.0, + 804.0 + ], + [ + 3747.0, + 804.0 + ], + [ + 3706.0, + 804.0 + ], + [ + 3675.0, + 804.0 + ], + [ + 3631.0, + 801.0 + ], + [ + 3584.0, + 807.0 + ], + [ + 3553.0, + 814.0 + ], + [ + 3518.0, + 811.0 + ], + [ + 3471.0, + 811.0 + ], + [ + 3452.0, + 811.0 + ], + [ + 3415.0, + 811.0 + ], + [ + 3374.0, + 817.0 + ], + [ + 3327.0, + 814.0 + ], + [ + 2991.0, + 854.0 + ], + [ + 2950.0, + 864.0 + ], + [ + 2906.0, + 864.0 + ], + [ + 2875.0, + 864.0 + ], + [ + 2828.0, + 858.0 + ], + [ + 2803.0, + 858.0 + ], + [ + 3060.0, + 854.0 + ], + [ + 3063.0, + 892.0 + ], + [ + 2448.0, + 1294.0 + ], + [ + 2615.0, + 1959.0 + ], + [ + 1648.0, + 1419.0 + ], + [ + 3537.0, + 378.0 + ], + [ + 3713.0, + 327.0 + ], + [ + 629.0, + 610.0 + ], + [ + 607.0, + 594.0 + ], + [ + 578.0, + 560.0 + ], + [ + 563.0, + 522.0 + ], + [ + 591.0, + 503.0 + ], + [ + 591.0, + 472.0 + ], + [ + 556.0, + 440.0 + ], + [ + 553.0, + 412.0 + ], + [ + 525.0, + 365.0 + ], + [ + 534.0, + 340.0 + ], + [ + 516.0, + 305.0 + ], + [ + 516.0, + 265.0 + ], + [ + 500.0, + 227.0 + ], + [ + 469.0, + 196.0 + ], + [ + 450.0, + 167.0 + ], + [ + 538.0, + 290.0 + ], + [ + 569.0, + 334.0 + ], + [ + 654.0, + 638.0 + ], + [ + 663.0, + 666.0 + ], + [ + 685.0, + 691.0 + ], + [ + 729.0, + 691.0 + ], + [ + 767.0, + 707.0 + ], + [ + 782.0, + 751.0 + ], + [ + 804.0, + 779.0 + ], + [ + 829.0, + 807.0 + ], + [ + 854.0, + 826.0 + ], + [ + 892.0, + 842.0 + ], + [ + 923.0, + 858.0 + ], + [ + 949.0, + 889.0 + ], + [ + 980.0, + 930.0 + ], + [ + 961.0, + 958.0 + ], + [ + 892.0, + 1030.0 + ], + [ + 854.0, + 1062.0 + ], + [ + 823.0, + 1071.0 + ], + [ + 754.0, + 1102.0 + ], + [ + 698.0, + 1131.0 + ], + [ + 635.0, + 1137.0 + ], + [ + 779.0, + 1090.0 + ], + [ + 898.0, + 1055.0 + ], + [ + 726.0, + 1112.0 + ], + [ + 666.0, + 1134.0 + ], + [ + 920.0, + 1071.0 + ], + [ + 1005.0, + 920.0 + ], + [ + 1027.0, + 952.0 + ], + [ + 1040.0, + 980.0 + ] + ] + }, + "2": { + "id": "2", + "floor_name": "2", + "pathfinder_data": { + "neighbors": [ + [ + "7-202", + "7-200" + ], + [ + "7-230", + "7-231" + ], + [ + "7-230", + "7-231" + ], + [ + "7-230", + "7-231" + ], + [ + "7-230", + "7-229" + ], + [ + "7-231", + "Лестница", + "7-229" + ], + [ + "7-228", + "7-229", + "7-227" + ], + [ + "7-229", + "7-228", + "7-227" + ], + [ + "7-227", + "7-228" + ], + [ + "7-227", + "7-228" + ], + [ + "7-227", + "7-228", + "7-225" + ], + [ + "7-227", + "7-225" + ], + [ + "7-225", + "7-223" + ], + [ + "7-225", + "7-223" + ], + [ + "7-223" + ], + [ + "7-223", + "7-221" + ], + [ + "7-223", + "7-221" + ], + [ + "7-221" + ], + [ + "7-221" + ], + [ + "7-219", + "7-217" + ], + [ + "7-221", + "7-219", + "7-217" + ], + [ + "7-217", + "Лестница" + ], + [ + "7-217", + "Лестница" + ], + [ + "Лестница" + ], + [ + "Лестница" + ], + [ + "Лестница", + "7-215" + ], + [ + "Лестница", + "7-213" + ], + [ + "7-213" + ], + [], + [ + "7-224" + ], + [], + [ + "7-224", + "7-222" + ], + [], + [ + "7-222" + ], + [ + "7-220а" + ], + [], + [], + [ + "7-220" + ], + [], + [ + "8-102" + ], + [ + "8-102" + ], + [ + "8-102" + ], + [ + "8-103", + "8-102" + ], + [ + "8-002", + "8-103", + "8-104", + "8-101" + ], + [ + "8-002", + "8-107", + "8-104" + ], + [ + "8-104" + ], + [ + "8-002", + "8-106", + "8-109", + "8-107", + "8-104" + ], + [ + "8-106", + "8-109", + "8-107" + ], + [ + "8-108", + "8-109" + ], + [ + "8-108", + "8-111" + ], + [ + "8-108", + "8-111" + ], + [ + "8-108", + "8-113" + ], + [ + "8-110", + "8-108", + "8-117", + "8-113" + ], + [ + "8-112", + "8-110", + "8-117" + ], + [ + "8-114", + "8-112", + "8-118" + ], + [ + "7-211" + ], + [ + "7-211" + ], + [ + "7-211", + "7-209" + ], + [ + "7-211", + "7-209" + ], + [ + "7-209" + ], + [ + "7-218" + ], + [], + [], + [ + "7-218" + ], + [ + "7-214" + ], + [ + "7-214" + ], + [ + "7-214" + ], + [ + "7-209" + ], + [ + "7-214" + ], + [ + "7-214", + "7-212" + ], + [ + "7-212", + "7-210" + ], + [ + "7-210" + ], + [ + "7-210", + "7-207" + ], + [ + "7-210", + "7-207", + "7-206" + ], + [ + "7-210", + "7-206" + ], + [ + "7-210" + ], + [], + [], + [], + [], + [ + "Лестница" + ], + [], + [], + [], + [ + "7-206" + ], + [ + "7-206" + ], + [ + "7-206" + ], + [ + "7-206" + ], + [], + [], + [], + [], + [], + [ + "7-204" + ], + [ + "7-204" + ], + [], + [], + [], + [ + "7-203" + ], + [], + [], + [], + [], + [], + [ + "7-202" + ], + [ + "7-202", + "7-200" + ], + [ + "7-200" + ], + [ + "Лестница" + ], + [ + "Лестница" + ], + [ + "Лестница" + ], + [], + [], + [], + [ + "Лестница", + "10-202" + ], + [ + "Лестница" + ], + [ + "10-203", + "10-202", + "Лестница" + ], + [ + "10-204", + "10-203" + ], + [ + "10-204" + ], + [ + "10-205" + ], + [], + [ + "10-207" + ], + [ + "10-208" + ], + [ + "10-209" + ], + [ + "10-210" + ], + [ + "10-210" + ], + [ + "10-211" + ], + [ + "10-211" + ], + [], + [ + "Лестница", + "10-212" + ], + [ + "10-212" + ], + [ + "10-212", + "Лестница", + "10-211" + ], + [ + "10-211" + ], + [], + [], + [ + "10-213" + ], + [ + "10-213" + ], + [ + "10-214" + ], + [ + "10-214" + ], + [ + "10-215" + ], + [ + "10-215" + ], + [], + [], + [], + [], + [], + [], + [], + [ + "1-227" + ], + [ + "1-227" + ], + [ + "1-229", + "1-227" + ], + [ + "1-229" + ], + [ + "1-229", + "1-227" + ], + [ + "1-229", + "1-227" + ], + [ + "1-229", + "1-227", + "1-219а", + "1-226" + ], + [ + "1-229", + "1-219а" + ], + [ + "1-229", + "1-228", + "1-219а" + ], + [ + "1-230", + "1-228", + "1-219а" + ], + [ + "1-229", + "1-227", + "1-226", + "1-219а" + ], + [ + "1-219а", + "1-226", + "1-225" + ], + [ + "1-219а", + "1-226", + "1-225" + ], + [ + "1-219а", + "1-225" + ], + [ + "1-219а", + "1-225" + ], + [ + "1-219а", + "1-225" + ], + [ + "1-219а", + "1-225", + "1-224" + ], + [ + "1-219а", + "1-225" + ], + [ + "1-219а" + ], + [ + "Лестница" + ], + [ + "1-224", + "Лестница" + ], + [ + "1-219" + ], + [ + "1-219а", + "1-219" + ], + [ + "1-219" + ], + [ + "1-219", + "1-217", + "1-220" + ], + [ + "1-217", + "1-220" + ], + [ + "1-217", + "1-220" + ], + [ + "1-217", + "1-220" + ], + [ + "1-217", + "1-220", + "1-218" + ], + [ + "1-217", + "1-220", + "1-218" + ], + [ + "1-217", + "1-220", + "1-218" + ], + [ + "1-218" + ], + [ + "1-218", + "1-216" + ], + [ + "1-218", + "1-216" + ], + [ + "1-216" + ], + [ + "1-216", + "1-214" + ], + [ + "1-216", + "1-214", + "1-212" + ], + [ + "1-212" + ], + [ + "1-212" + ], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [ + "1-217" + ], + [], + [], + [], + [ + "Колонный зал" + ], + [ + "Колонный зал" + ], + [ + "Колонный зал" + ], + [], + [], + [ + "Лестница", + "2-213" + ], + [ + "Лестница", + "2-213" + ], + [ + "2-213" + ], + [ + "2-213" + ], + [ + "2-212", + "2-214", + "2-213" + ], + [ + "1-212", + "Лестница" + ], + [ + "1-212", + "Лестница" + ], + [ + "Лестница", + "1-212" + ], + [ + "Лестница", + "1-212" + ], + [ + "Лестница", + "1-212", + "1-213" + ], + [ + "Лестница", + "1-212", + "1-213" + ], + [ + "1-213", + "1-212" + ], + [ + "1-212", + "1-209" + ], + [ + "1-212", + "1-210", + "1-209", + "1-208" + ], + [ + "1-210", + "1-209", + "1-208" + ], + [ + "1-209", + "1-208", + "1-206" + ], + [ + "1-209", + "1-206", + "1-204" + ], + [ + "1-206", + "1-204" + ], + [ + "1-204", + "1-202" + ], + [ + "1-204", + "1-202" + ], + [ + "1-202" + ], + [ + "1-202" + ], + [ + "1-202" + ], + [ + "1-201", + "Лестница" + ], + [ + "2-212" + ], + [ + "2-210", + "2-211", + "2-212" + ], + [ + "2-210", + "2-211", + "2-212" + ], + [ + "2-208", + "2-211" + ], + [ + "2-208", + "2-211", + "2-210" + ], + [ + "2-208", + "2-209", + "2-211" + ], + [ + "2-211" + ], + [ + "2-208", + "2-209", + "2-211" + ], + [ + "2-203", + "2-209", + "2-208" + ], + [ + "2-209", + "2-203", + "2-208" + ], + [ + "2-209", + "2-203" + ], + [ + "2-203" + ], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [ + "Лестница" + ], + [ + "Лестница" + ], + [ + "Лестница" + ], + [ + "Лестница" + ], + [], + [], + [], + [ + "Лестница" + ], + [ + "Лестница" + ], + [ + "3-234", + "Лестница" + ], + [ + "Лестница" + ], + [ + "3-236" + ], + [ + "3-237", + "3-233" + ], + [ + "Лестница" + ], + [ + "3-234" + ], + [], + [], + [], + [], + [], + [], + [ + "4-201" + ], + [ + "4-201", + "4-202" + ], + [ + "4-201", + "4-202" + ], + [ + "4-202", + "4-201", + "4-204", + "4-205" + ], + [ + "4-202", + "4-201", + "4-205", + "4-204" + ], + [ + "4-204", + "4-205", + "4-206", + "Лестница" + ], + [ + "4-204", + "4-205", + "4-206", + "Лестница", + "4-207" + ], + [ + "4-206", + "Лестница", + "4-207" + ], + [ + "4-206", + "4-207", + "4-208" + ], + [ + "4-206", + "Лестница", + "4-207", + "4-208" + ], + [ + "4-208", + "4-207" + ], + [ + "4-208", + "4-207", + "4-209" + ], + [ + "4-208", + "4-207", + "4-209" + ], + [ + "4-208", + "4-209" + ], + [ + "4-208", + "4-209" + ], + [ + "4-208", + "4-209", + "4-211" + ], + [ + "4-208", + "4-209", + "4-210", + "4-211" + ], + [ + "4-210", + "4-211" + ], + [ + "4-210", + "4-211", + "Лестница" + ], + [ + "Лестница", + "4-212" + ], + [ + "4-212", + "Лестница", + "4-213", + "4-215" + ], + [ + "4-212", + "4-213", + "4-215" + ], + [ + "4-212", + "4-215", + "4-217" + ], + [ + "4-212", + "4-217", + "4-214" + ], + [ + "4-214", + "4-219" + ], + [ + "4-214", + "4-219" + ], + [ + "4-214", + "4-219", + "4-216" + ], + [ + "4-219" + ], + [ + "4-216", + "5-307" + ], + [ + "4-216", + "5-307" + ], + [ + "4-216", + "5-307", + "4-218" + ], + [ + "4-216", + "5-307", + "4-218", + "4-220" + ], + [ + "4-218", + "5-307", + "4-220" + ], + [ + "4-218", + "5-307", + "4-220", + "Лестница" + ], + [ + "5-307", + "Лестница" + ], + [ + "5-307", + "5-304", + "Лестница" + ], + [ + "5-307", + "5-304", + "Лестница" + ], + [ + "5-307", + "5-304" + ], + [ + "5-307", + "5-304" + ], + [ + "5-307", + "5-304" + ], + [ + "5-307", + "5-305", + "5-304", + "Лестница" + ], + [ + "5-305", + "5-303", + "5-307", + "Лестница" + ], + [ + "5-305", + "5-303", + "Лестница" + ], + [ + "5-303", + "5-302" + ], + [ + "5-303", + "5-302" + ], + [ + "5-303", + "5-302" + ], + [ + "5-303", + "5-302" + ], + [ + "5-303", + "5-302" + ], + [ + "5-303", + "5-302" + ], + [ + "2-226а", + "5-303", + "5-302" + ], + [ + "2-226а" + ], + [ + "2-226а" + ], + [ + "2-226а" + ], + [ + "2-226", + "2-226а" + ], + [ + "2-226", + "2-226а" + ], + [], + [ + "2-226" + ], + [ + "2-224", + "2-226", + "2-219" + ], + [ + "2-224", + "2-226" + ], + [ + "2-222", + "2-224" + ], + [ + "2-222", + "2-219", + "2-224" + ], + [ + "2-218", + "2-222", + "2-220" + ], + [ + "2-218", + "2-217", + "2-220", + "2-222" + ], + [ + "2-218", + "2-220" + ], + [ + "2-218" + ], + [ + "2-215", + "2-217", + "2-218" + ], + [ + "2-216", + "2-215", + "2-217" + ], + [ + "2-216" + ], + [ + "2-214", + "2-216", + "2-215" + ], + [ + "2-214", + "2-216" + ], + [ + "2-214" + ], + [ + "2-212", + "2-213", + "2-214" + ], + [ + "3-234" + ], + [], + [], + [ + "6-202" + ], + [ + "6-202" + ], + [ + "6-202" + ], + [ + "6-202" + ], + [ + "6-202" + ], + [ + "6-202", + "6-204" + ], + [ + "6-204" + ], + [ + "6-204", + "6-206" + ], + [ + "6-206" + ], + [ + "6-201", + "6-206" + ], + [ + "6-201", + "6-206", + "6-203" + ], + [ + "6-201", + "6-203", + "6-206", + "6-205" + ], + [ + "6-203", + "6-206", + "6-205" + ], + [ + "6-205", + "6-206" + ], + [ + "6-205", + "6-207", + "6-209" + ], + [ + "6-207", + "6-209" + ], + [ + "6-207", + "6-209" + ], + [ + "Лестница" + ], + [ + "6-209" + ], + [ + "6-209" + ], + [ + "6-209" + ], + [ + "6-209", + "6-212" + ], + [ + "Лестница" + ], + [ + "6-209", + "6-212" + ], + [ + "6-209", + "6-212" + ], + [ + "Лестница" + ] + ], + "graph": [ + [ + 105, + 104, + 106 + ], + [ + 2, + 3, + 5 + ], + [ + 3, + 1, + 5 + ], + [ + 2, + 4, + 5 + ], + [ + 5, + 3, + 6 + ], + [ + 4, + 3, + 6 + ], + [ + 7, + 4, + 5 + ], + [ + 6, + 8, + 5 + ], + [ + 9, + 7, + 10 + ], + [ + 10, + 8, + 11 + ], + [ + 11, + 9, + 12 + ], + [ + 10, + 12, + 13 + ], + [ + 13, + 11, + 14 + ], + [ + 12, + 14, + 11 + ], + [ + 13, + 15, + 12 + ], + [ + 16, + 14, + 17 + ], + [ + 17, + 15, + 18 + ], + [ + 18, + 16, + 19 + ], + [ + 17, + 19, + 20 + ], + [ + 20, + 18, + 17 + ], + [ + 19, + 21, + 18 + ], + [ + 22, + 20, + 23 + ], + [ + 23, + 21, + 20 + ], + [ + 22, + 24, + 21 + ], + [ + 25, + 23, + 26 + ], + [ + 24, + 26, + 27 + ], + [ + 25, + 27, + 28 + ], + [ + 28, + 26, + 29 + ], + [ + 27, + 29, + 26 + ], + [ + 30, + 28, + 27 + ], + [ + 29, + 31, + 28 + ], + [ + 32, + 30, + 33 + ], + [ + 33, + 31, + 30 + ], + [ + 32, + 34, + 31 + ], + [ + 35, + 33, + 36 + ], + [ + 36, + 34, + 37 + ], + [ + 35, + 37, + 38 + ], + [ + 36, + 60, + 38 + ], + [ + 37, + 39, + 60 + ], + [ + 38, + 40, + 60 + ], + [ + 41, + 55, + 39 + ], + [ + 55, + 40, + 42 + ], + [ + 41, + 43, + 40 + ], + [ + 44, + 42, + 45 + ], + [ + 45, + 43, + 46 + ], + [ + 44, + 46, + 43 + ], + [ + 45, + 47, + 44 + ], + [ + 46, + 48, + 45 + ], + [ + 47, + 49, + 46 + ], + [ + 48, + 50, + 51 + ], + [ + 51, + 49, + 52 + ], + [ + 50, + 52, + 53 + ], + [ + 51, + 53, + 50 + ], + [ + 52, + 54, + 51 + ], + [ + 53, + 52 + ], + [ + 41, + 56, + 40 + ], + [ + 55, + 57, + 41 + ], + [ + 56, + 58, + 55 + ], + [ + 59, + 57, + 67 + ], + [ + 67, + 58, + 65 + ], + [ + 37, + 61, + 38 + ], + [ + 62, + 60, + 37 + ], + [ + 61, + 63, + 64 + ], + [ + 64, + 62, + 65 + ], + [ + 63, + 65, + 59 + ], + [ + 66, + 64, + 67 + ], + [ + 68, + 65, + 67 + ], + [ + 59, + 66, + 65 + ], + [ + 66, + 69, + 67 + ], + [ + 68, + 70, + 80 + ], + [ + 71, + 69, + 80 + ], + [ + 70, + 72, + 80 + ], + [ + 73, + 71, + 74 + ], + [ + 72, + 74, + 71 + ], + [ + 75, + 73, + 76 + ], + [ + 76, + 74, + 73 + ], + [ + 75, + 74, + 77 + ], + [ + 78, + 87, + 76 + ], + [ + 87, + 77, + 79 + ], + [ + 81, + 78, + 87 + ], + [ + 69, + 70, + 68 + ], + [ + 79, + 82, + 84 + ], + [ + 83, + 84, + 81 + ], + [ + 84, + 88, + 82 + ], + [ + 83, + 82, + 88 + ], + [ + 86, + 84, + 83 + ], + [ + 85, + 84, + 83 + ], + [ + 78, + 77, + 79 + ], + [ + 83, + 89, + 84 + ], + [ + 88, + 90, + 83 + ], + [ + 91, + 89, + 94 + ], + [ + 94, + 90, + 92 + ], + [ + 95, + 93, + 91 + ], + [ + 92, + 94, + 95 + ], + [ + 91, + 93, + 92 + ], + [ + 92, + 96, + 93 + ], + [ + 95, + 97, + 98 + ], + [ + 99, + 98, + 96 + ], + [ + 97, + 99, + 96 + ], + [ + 102, + 97, + 98 + ], + [ + 102, + 101, + 99 + ], + [ + 103, + 100, + 141 + ], + [ + 99, + 100, + 97 + ], + [ + 101, + 141, + 104 + ], + [ + 0, + 103, + 101 + ], + [ + 0, + 106, + 104 + ], + [ + 107, + 105, + 0 + ], + [ + 106, + 108, + 109 + ], + [ + 109, + 107, + 106 + ], + [ + 108, + 110, + 107 + ], + [ + 111, + 109, + 112 + ], + [ + 112, + 110, + 113 + ], + [ + 113, + 111, + 114 + ], + [ + 114, + 112, + 115 + ], + [ + 113, + 112, + 115 + ], + [ + 113, + 116, + 114 + ], + [ + 117, + 115, + 113 + ], + [ + 116, + 118, + 115 + ], + [ + 119, + 117, + 120 + ], + [ + 118, + 120, + 121 + ], + [ + 121, + 119, + 118 + ], + [ + 120, + 122, + 119 + ], + [ + 123, + 121, + 124 + ], + [ + 124, + 122, + 125 + ], + [ + 123, + 125, + 122 + ], + [ + 124, + 126, + 123 + ], + [ + 131, + 125, + 127 + ], + [ + 131, + 130, + 128 + ], + [ + 130, + 129, + 127 + ], + [ + 132, + 128, + 130 + ], + [ + 128, + 127, + 131 + ], + [ + 127, + 126, + 130 + ], + [ + 129, + 133, + 128 + ], + [ + 132, + 134, + 129 + ], + [ + 135, + 133, + 136 + ], + [ + 136, + 134, + 137 + ], + [ + 135, + 137, + 140 + ], + [ + 140, + 136, + 138 + ], + [ + 140, + 139, + 137 + ], + [ + 138, + 140, + 137 + ], + [ + 138, + 137, + 139 + ], + [ + 103, + 142, + 101 + ], + [ + 141, + 143, + 103 + ], + [ + 144, + 142, + 145 + ], + [ + 145, + 143, + 146 + ], + [ + 144, + 146, + 147 + ], + [ + 147, + 145, + 148 + ], + [ + 148, + 146, + 149 + ], + [ + 149, + 147, + 150 + ], + [ + 148, + 150, + 147 + ], + [ + 149, + 151, + 148 + ], + [ + 152, + 150, + 149 + ], + [ + 151, + 153, + 154 + ], + [ + 157, + 154, + 152 + ], + [ + 153, + 157, + 155 + ], + [ + 156, + 154, + 153 + ], + [ + 155, + 154, + 153 + ], + [ + 153, + 158, + 154 + ], + [ + 159, + 157, + 153 + ], + [ + 158, + 160, + 157 + ], + [ + 159, + 161, + 158 + ], + [ + 162, + 160, + 159 + ], + [ + 161, + 163, + 164 + ], + [ + 164, + 162, + 165 + ], + [ + 163, + 165, + 169 + ], + [ + 164, + 166, + 169 + ], + [ + 167, + 165, + 168 + ], + [ + 166, + 170, + 168 + ], + [ + 169, + 166, + 170 + ], + [ + 168, + 165, + 164 + ], + [ + 167, + 168, + 171 + ], + [ + 170, + 172, + 167 + ], + [ + 173, + 171, + 174 + ], + [ + 174, + 172, + 175 + ], + [ + 173, + 175, + 172 + ], + [ + 176, + 174, + 177 + ], + [ + 177, + 175, + 178 + ], + [ + 178, + 176, + 192 + ], + [ + 177, + 179, + 192 + ], + [ + 192, + 178, + 180 + ], + [ + 179, + 181, + 192 + ], + [ + 180, + 182, + 179 + ], + [ + 183, + 181, + 184 + ], + [ + 182, + 184, + 185 + ], + [ + 185, + 183, + 186 + ], + [ + 184, + 213, + 183 + ], + [ + 187, + 184, + 185 + ], + [ + 189, + 186, + 188 + ], + [ + 189, + 190, + 187 + ], + [ + 188, + 187, + 190 + ], + [ + 191, + 188, + 194 + ], + [ + 190, + 194, + 193 + ], + [ + 179, + 178, + 193 + ], + [ + 192, + 191, + 190 + ], + [ + 191, + 195, + 190 + ], + [ + 194, + 196, + 200 + ], + [ + 195, + 197, + 200 + ], + [ + 198, + 196, + 199 + ], + [ + 199, + 197, + 196 + ], + [ + 198, + 197, + 196 + ], + [ + 203, + 195, + 196 + ], + [ + 203, + 204, + 200 + ], + [ + 204, + 205, + 201 + ], + [ + 201, + 200, + 204 + ], + [ + 202, + 201, + 203 + ], + [ + 206, + 202, + 204 + ], + [ + 205, + 207, + 208 + ], + [ + 208, + 206, + 209 + ], + [ + 207, + 209, + 210 + ], + [ + 210, + 208, + 211 + ], + [ + 211, + 209, + 212 + ], + [ + 212, + 210, + 232 + ], + [ + 232, + 211, + 345 + ], + [ + 214, + 185, + 184 + ], + [ + 213, + 215, + 185 + ], + [ + 214, + 216, + 213 + ], + [ + 217, + 215, + 218 + ], + [ + 218, + 216, + 219 + ], + [ + 217, + 219, + 220 + ], + [ + 220, + 218, + 221 + ], + [ + 221, + 219, + 222 + ], + [ + 220, + 222, + 219 + ], + [ + 221, + 220, + 223 + ], + [ + 224, + 222, + 225 + ], + [ + 225, + 223, + 226 + ], + [ + 226, + 224, + 227 + ], + [ + 227, + 225, + 228 + ], + [ + 226, + 228, + 225 + ], + [ + 227, + 229, + 226 + ], + [ + 230, + 228, + 231 + ], + [ + 229, + 231, + 228 + ], + [ + 230, + 229, + 228 + ], + [ + 212, + 233, + 211 + ], + [ + 232, + 234, + 212 + ], + [ + 235, + 233, + 236 + ], + [ + 236, + 234, + 237 + ], + [ + 235, + 237, + 234 + ], + [ + 238, + 236, + 239 + ], + [ + 237, + 239, + 240 + ], + [ + 240, + 238, + 237 + ], + [ + 239, + 241, + 238 + ], + [ + 240, + 242, + 239 + ], + [ + 241, + 243, + 240 + ], + [ + 244, + 242, + 241 + ], + [ + 243, + 245, + 242 + ], + [ + 244, + 246, + 243 + ], + [ + 247, + 245, + 248 + ], + [ + 246, + 248, + 249 + ], + [ + 249, + 247, + 250 + ], + [ + 248, + 250, + 247 + ], + [ + 251, + 249, + 248 + ], + [ + 250, + 252, + 253 + ], + [ + 253, + 251, + 254 + ], + [ + 252, + 254, + 255 + ], + [ + 253, + 252, + 255 + ], + [ + 253, + 256, + 254 + ], + [ + 257, + 255, + 253 + ], + [ + 256, + 258, + 255 + ], + [ + 257, + 259, + 256 + ], + [ + 260, + 258, + 261 + ], + [ + 261, + 259, + 262 + ], + [ + 260, + 266, + 262 + ], + [ + 266, + 261, + 263 + ], + [ + 262, + 264, + 266 + ], + [ + 263, + 265, + 262 + ], + [ + 264, + 263, + 262 + ], + [ + 262, + 261, + 267 + ], + [ + 268, + 266, + 269 + ], + [ + 269, + 346, + 267 + ], + [ + 268, + 270, + 267 + ], + [ + 269, + 271, + 268 + ], + [ + 270, + 272, + 269 + ], + [ + 273, + 274, + 271 + ], + [ + 274, + 272, + 275 + ], + [ + 273, + 275, + 272 + ], + [ + 274, + 273, + 276 + ], + [ + 277, + 275, + 274 + ], + [ + 276, + 278, + 279 + ], + [ + 279, + 277, + 280 + ], + [ + 280, + 278, + 281 + ], + [ + 279, + 281, + 283 + ], + [ + 283, + 280, + 282 + ], + [ + 283, + 284, + 281 + ], + [ + 281, + 282, + 280 + ], + [ + 282, + 285, + 283 + ], + [ + 284, + 286, + 287 + ], + [ + 287, + 285, + 288 + ], + [ + 286, + 288, + 289 + ], + [ + 289, + 287, + 290 + ], + [ + 288, + 290, + 287 + ], + [ + 289, + 291, + 288 + ], + [ + 292, + 290, + 289 + ], + [ + 291, + 293, + 290 + ], + [ + 294, + 292, + 295 + ], + [ + 293, + 295, + 296 + ], + [ + 296, + 294, + 293 + ], + [ + 295, + 297, + 294 + ], + [ + 298, + 296, + 299 + ], + [ + 297, + 299, + 300 + ], + [ + 300, + 298, + 301 + ], + [ + 299, + 301, + 298 + ], + [ + 302, + 300, + 303 + ], + [ + 303, + 301, + 304 + ], + [ + 302, + 304, + 301 + ], + [ + 305, + 303, + 306 + ], + [ + 304, + 306, + 307 + ], + [ + 307, + 305, + 308 + ], + [ + 306, + 308, + 305 + ], + [ + 309, + 307, + 306 + ], + [ + 308, + 310, + 307 + ], + [ + 309, + 311, + 308 + ], + [ + 312, + 310, + 313 + ], + [ + 311, + 313, + 314 + ], + [ + 314, + 312, + 315 + ], + [ + 313, + 315, + 312 + ], + [ + 316, + 314, + 317 + ], + [ + 317, + 315, + 318 + ], + [ + 316, + 318, + 315 + ], + [ + 317, + 319, + 316 + ], + [ + 320, + 318, + 321 + ], + [ + 321, + 319, + 322 + ], + [ + 320, + 322, + 319 + ], + [ + 321, + 323, + 320 + ], + [ + 322, + 324, + 321 + ], + [ + 325, + 323, + 326 + ], + [ + 324, + 326, + 327 + ], + [ + 325, + 327, + 324 + ], + [ + 328, + 326, + 329 + ], + [ + 329, + 330, + 327 + ], + [ + 328, + 330, + 327 + ], + [ + 328, + 331, + 329 + ], + [ + 332, + 330, + 333 + ], + [ + 331, + 333, + 334 + ], + [ + 334, + 332, + 331 + ], + [ + 333, + 335, + 332 + ], + [ + 334, + 336, + 333 + ], + [ + 337, + 335, + 338 + ], + [ + 338, + 336, + 339 + ], + [ + 339, + 337, + 340 + ], + [ + 338, + 340, + 337 + ], + [ + 341, + 339, + 342 + ], + [ + 342, + 340, + 343 + ], + [ + 341, + 343, + 344 + ], + [ + 344, + 342, + 345 + ], + [ + 345, + 343, + 212 + ], + [ + 344, + 212, + 211 + ], + [ + 268, + 347, + 269 + ], + [ + 348, + 346, + 268 + ], + [ + 347, + 349, + 350 + ], + [ + 350, + 348, + 351 + ], + [ + 351, + 349, + 352 + ], + [ + 350, + 352, + 349 + ], + [ + 351, + 353, + 350 + ], + [ + 352, + 354, + 351 + ], + [ + 353, + 355, + 352 + ], + [ + 356, + 354, + 357 + ], + [ + 355, + 357, + 354 + ], + [ + 358, + 356, + 355 + ], + [ + 357, + 359, + 356 + ], + [ + 360, + 358, + 361 + ], + [ + 361, + 359, + 362 + ], + [ + 362, + 360, + 363 + ], + [ + 361, + 363, + 360 + ], + [ + 362, + 364, + 366 + ], + [ + 365, + 363, + 366 + ], + [ + 364, + 367, + 366 + ], + [ + 364, + 365, + 363 + ], + [ + 365, + 368, + 364 + ], + [ + 369, + 367, + 365 + ], + [ + 370, + 368, + 373 + ], + [ + 373, + 369, + 371 + ], + [ + 373, + 370, + 372 + ], + [ + 374, + 373, + 371 + ], + [ + 370, + 372, + 371 + ], + [ + 372, + 373, + 370 + ] + ] + }, + "positions": [ + [ + 2534.0, + 2216.0 + ], + [ + 512.0, + 1504.0 + ], + [ + 525.0, + 1537.0 + ], + [ + 540.0, + 1564.0 + ], + [ + 568.0, + 1587.0 + ], + [ + 583.0, + 1559.0 + ], + [ + 615.0, + 1602.0 + ], + [ + 661.0, + 1607.0 + ], + [ + 721.0, + 1609.0 + ], + [ + 763.0, + 1614.0 + ], + [ + 804.0, + 1622.0 + ], + [ + 844.0, + 1634.0 + ], + [ + 886.0, + 1639.0 + ], + [ + 917.0, + 1649.0 + ], + [ + 957.0, + 1665.0 + ], + [ + 1004.0, + 1675.0 + ], + [ + 1042.0, + 1690.0 + ], + [ + 1077.0, + 1700.0 + ], + [ + 1110.0, + 1712.0 + ], + [ + 1132.0, + 1682.0 + ], + [ + 1158.0, + 1692.0 + ], + [ + 1188.0, + 1707.0 + ], + [ + 1218.0, + 1715.0 + ], + [ + 1240.0, + 1732.0 + ], + [ + 1273.0, + 1752.0 + ], + [ + 1298.0, + 1762.0 + ], + [ + 1321.0, + 1777.0 + ], + [ + 1346.0, + 1800.0 + ], + [ + 1331.0, + 1820.0 + ], + [ + 1353.0, + 1838.0 + ], + [ + 1373.0, + 1853.0 + ], + [ + 1401.0, + 1870.0 + ], + [ + 1419.0, + 1890.0 + ], + [ + 1439.0, + 1903.0 + ], + [ + 1466.0, + 1928.0 + ], + [ + 1491.0, + 1946.0 + ], + [ + 1514.0, + 1963.0 + ], + [ + 1537.0, + 1981.0 + ], + [ + 1569.0, + 1961.0 + ], + [ + 1607.0, + 1951.0 + ], + [ + 1654.0, + 1946.0 + ], + [ + 1690.0, + 1941.0 + ], + [ + 1677.0, + 1890.0 + ], + [ + 1667.0, + 1835.0 + ], + [ + 1652.0, + 1788.0 + ], + [ + 1647.0, + 1760.0 + ], + [ + 1637.0, + 1722.0 + ], + [ + 1627.0, + 1682.0 + ], + [ + 1619.0, + 1634.0 + ], + [ + 1609.0, + 1582.0 + ], + [ + 1599.0, + 1529.0 + ], + [ + 1587.0, + 1489.0 + ], + [ + 1579.0, + 1444.0 + ], + [ + 1569.0, + 1398.0 + ], + [ + 1554.0, + 1338.0 + ], + [ + 1692.0, + 1968.0 + ], + [ + 1695.0, + 1996.0 + ], + [ + 1702.0, + 2036.0 + ], + [ + 1710.0, + 2079.0 + ], + [ + 1717.0, + 2109.0 + ], + [ + 1559.0, + 2001.0 + ], + [ + 1582.0, + 2033.0 + ], + [ + 1607.0, + 2059.0 + ], + [ + 1634.0, + 2089.0 + ], + [ + 1660.0, + 2111.0 + ], + [ + 1685.0, + 2141.0 + ], + [ + 1707.0, + 2162.0 + ], + [ + 1725.0, + 2136.0 + ], + [ + 1730.0, + 2179.0 + ], + [ + 1757.0, + 2197.0 + ], + [ + 1788.0, + 2217.0 + ], + [ + 1813.0, + 2219.0 + ], + [ + 1848.0, + 2219.0 + ], + [ + 1878.0, + 2219.0 + ], + [ + 1880.0, + 2257.0 + ], + [ + 1878.0, + 2287.0 + ], + [ + 1908.0, + 2287.0 + ], + [ + 1956.0, + 2295.0 + ], + [ + 1986.0, + 2295.0 + ], + [ + 2028.0, + 2295.0 + ], + [ + 1785.0, + 2167.0 + ], + [ + 2059.0, + 2295.0 + ], + [ + 2099.0, + 2292.0 + ], + [ + 2131.0, + 2292.0 + ], + [ + 2119.0, + 2267.0 + ], + [ + 2119.0, + 2209.0 + ], + [ + 2121.0, + 2167.0 + ], + [ + 1986.0, + 2267.0 + ], + [ + 2161.0, + 2292.0 + ], + [ + 2194.0, + 2292.0 + ], + [ + 2232.0, + 2297.0 + ], + [ + 2267.0, + 2295.0 + ], + [ + 2307.0, + 2295.0 + ], + [ + 2302.0, + 2264.0 + ], + [ + 2269.0, + 2264.0 + ], + [ + 2335.0, + 2295.0 + ], + [ + 2367.0, + 2295.0 + ], + [ + 2402.0, + 2295.0 + ], + [ + 2400.0, + 2262.0 + ], + [ + 2430.0, + 2292.0 + ], + [ + 2485.0, + 2292.0 + ], + [ + 2525.0, + 2295.0 + ], + [ + 2455.0, + 2292.0 + ], + [ + 2548.0, + 2290.0 + ], + [ + 2543.0, + 2249.0 + ], + [ + 2543.0, + 2197.0 + ], + [ + 2593.0, + 2197.0 + ], + [ + 2633.0, + 2197.0 + ], + [ + 2671.0, + 2172.0 + ], + [ + 2673.0, + 2129.0 + ], + [ + 2658.0, + 2066.0 + ], + [ + 2646.0, + 2013.0 + ], + [ + 2638.0, + 1978.0 + ], + [ + 2623.0, + 1948.0 + ], + [ + 2598.0, + 1956.0 + ], + [ + 2616.0, + 1911.0 + ], + [ + 2608.0, + 1865.0 + ], + [ + 2598.0, + 1823.0 + ], + [ + 2586.0, + 1772.0 + ], + [ + 2576.0, + 1732.0 + ], + [ + 2566.0, + 1685.0 + ], + [ + 2553.0, + 1644.0 + ], + [ + 2535.0, + 1584.0 + ], + [ + 2525.0, + 1537.0 + ], + [ + 2513.0, + 1504.0 + ], + [ + 2505.0, + 1466.0 + ], + [ + 2488.0, + 1409.0 + ], + [ + 2475.0, + 1341.0 + ], + [ + 2453.0, + 1278.0 + ], + [ + 2443.0, + 1215.0 + ], + [ + 2455.0, + 1298.0 + ], + [ + 2483.0, + 1371.0 + ], + [ + 2430.0, + 1173.0 + ], + [ + 2417.0, + 1125.0 + ], + [ + 2400.0, + 1067.0 + ], + [ + 2390.0, + 1012.0 + ], + [ + 2377.0, + 972.0 + ], + [ + 2365.0, + 919.0 + ], + [ + 2345.0, + 854.0 + ], + [ + 2330.0, + 806.0 + ], + [ + 2355.0, + 881.0 + ], + [ + 2573.0, + 2290.0 + ], + [ + 2613.0, + 2295.0 + ], + [ + 2661.0, + 2295.0 + ], + [ + 2699.0, + 2290.0 + ], + [ + 2729.0, + 2292.0 + ], + [ + 2764.0, + 2290.0 + ], + [ + 2791.0, + 2287.0 + ], + [ + 2794.0, + 2264.0 + ], + [ + 2794.0, + 2242.0 + ], + [ + 2819.0, + 2237.0 + ], + [ + 2854.0, + 2234.0 + ], + [ + 2882.0, + 2234.0 + ], + [ + 2922.0, + 2234.0 + ], + [ + 2919.0, + 2199.0 + ], + [ + 2919.0, + 2156.0 + ], + [ + 2922.0, + 2119.0 + ], + [ + 2942.0, + 2234.0 + ], + [ + 2977.0, + 2229.0 + ], + [ + 3010.0, + 2232.0 + ], + [ + 3045.0, + 2232.0 + ], + [ + 3083.0, + 2232.0 + ], + [ + 3120.0, + 2232.0 + ], + [ + 3158.0, + 2232.0 + ], + [ + 3188.0, + 2232.0 + ], + [ + 3223.0, + 2234.0 + ], + [ + 3258.0, + 2232.0 + ], + [ + 3291.0, + 2232.0 + ], + [ + 3253.0, + 2197.0 + ], + [ + 3223.0, + 2197.0 + ], + [ + 3291.0, + 2199.0 + ], + [ + 3331.0, + 2199.0 + ], + [ + 3376.0, + 2199.0 + ], + [ + 3411.0, + 2194.0 + ], + [ + 3442.0, + 2194.0 + ], + [ + 3477.0, + 2194.0 + ], + [ + 3509.0, + 2192.0 + ], + [ + 3539.0, + 2197.0 + ], + [ + 3565.0, + 2192.0 + ], + [ + 3592.0, + 2189.0 + ], + [ + 3627.0, + 2189.0 + ], + [ + 3667.0, + 2192.0 + ], + [ + 3710.0, + 2187.0 + ], + [ + 3745.0, + 2189.0 + ], + [ + 3745.0, + 2146.0 + ], + [ + 3780.0, + 2146.0 + ], + [ + 3743.0, + 2101.0 + ], + [ + 3700.0, + 2094.0 + ], + [ + 3640.0, + 2094.0 + ], + [ + 3667.0, + 2094.0 + ], + [ + 3607.0, + 2091.0 + ], + [ + 3577.0, + 2091.0 + ], + [ + 3580.0, + 2169.0 + ], + [ + 3577.0, + 2136.0 + ], + [ + 3585.0, + 2054.0 + ], + [ + 3587.0, + 2016.0 + ], + [ + 3547.0, + 2013.0 + ], + [ + 3507.0, + 2016.0 + ], + [ + 3474.0, + 2021.0 + ], + [ + 3472.0, + 2041.0 + ], + [ + 3582.0, + 1976.0 + ], + [ + 3582.0, + 1916.0 + ], + [ + 3582.0, + 1855.0 + ], + [ + 3585.0, + 1943.0 + ], + [ + 3585.0, + 1878.0 + ], + [ + 3587.0, + 1808.0 + ], + [ + 3590.0, + 1762.0 + ], + [ + 3590.0, + 1712.0 + ], + [ + 3590.0, + 1675.0 + ], + [ + 3587.0, + 1637.0 + ], + [ + 3585.0, + 1599.0 + ], + [ + 3587.0, + 1567.0 + ], + [ + 3587.0, + 1537.0 + ], + [ + 3816.0, + 2144.0 + ], + [ + 3851.0, + 2144.0 + ], + [ + 3888.0, + 2144.0 + ], + [ + 3931.0, + 2144.0 + ], + [ + 3969.0, + 2144.0 + ], + [ + 3999.0, + 2146.0 + ], + [ + 4039.0, + 2144.0 + ], + [ + 4051.0, + 2167.0 + ], + [ + 4064.0, + 2189.0 + ], + [ + 4097.0, + 2192.0 + ], + [ + 4157.0, + 2192.0 + ], + [ + 4200.0, + 2192.0 + ], + [ + 4240.0, + 2194.0 + ], + [ + 4277.0, + 2194.0 + ], + [ + 4312.0, + 2192.0 + ], + [ + 4350.0, + 2189.0 + ], + [ + 4395.0, + 2189.0 + ], + [ + 4425.0, + 2189.0 + ], + [ + 4425.0, + 2154.0 + ], + [ + 3559.0, + 1534.0 + ], + [ + 3522.0, + 1529.0 + ], + [ + 3472.0, + 1529.0 + ], + [ + 3431.0, + 1526.0 + ], + [ + 3401.0, + 1529.0 + ], + [ + 3359.0, + 1529.0 + ], + [ + 3329.0, + 1526.0 + ], + [ + 3296.0, + 1529.0 + ], + [ + 3268.0, + 1534.0 + ], + [ + 3233.0, + 1539.0 + ], + [ + 3193.0, + 1534.0 + ], + [ + 3188.0, + 1484.0 + ], + [ + 3191.0, + 1441.0 + ], + [ + 3186.0, + 1388.0 + ], + [ + 3186.0, + 1326.0 + ], + [ + 3183.0, + 1291.0 + ], + [ + 3183.0, + 1253.0 + ], + [ + 3180.0, + 1230.0 + ], + [ + 3143.0, + 1228.0 + ], + [ + 3108.0, + 1228.0 + ], + [ + 3105.0, + 1193.0 + ], + [ + 3105.0, + 1165.0 + ], + [ + 3075.0, + 1165.0 + ], + [ + 3103.0, + 1135.0 + ], + [ + 3105.0, + 1097.0 + ], + [ + 3103.0, + 1065.0 + ], + [ + 3103.0, + 1022.0 + ], + [ + 3103.0, + 974.0 + ], + [ + 3100.0, + 932.0 + ], + [ + 3100.0, + 897.0 + ], + [ + 3068.0, + 871.0 + ], + [ + 3027.0, + 866.0 + ], + [ + 2985.0, + 866.0 + ], + [ + 2940.0, + 864.0 + ], + [ + 3098.0, + 859.0 + ], + [ + 3100.0, + 819.0 + ], + [ + 3100.0, + 781.0 + ], + [ + 3130.0, + 786.0 + ], + [ + 3163.0, + 784.0 + ], + [ + 3201.0, + 786.0 + ], + [ + 3241.0, + 786.0 + ], + [ + 3273.0, + 786.0 + ], + [ + 3273.0, + 809.0 + ], + [ + 3298.0, + 811.0 + ], + [ + 3339.0, + 814.0 + ], + [ + 3374.0, + 811.0 + ], + [ + 3409.0, + 816.0 + ], + [ + 3444.0, + 816.0 + ], + [ + 3474.0, + 816.0 + ], + [ + 3507.0, + 819.0 + ], + [ + 3565.0, + 814.0 + ], + [ + 3534.0, + 811.0 + ], + [ + 3600.0, + 814.0 + ], + [ + 3635.0, + 814.0 + ], + [ + 3672.0, + 816.0 + ], + [ + 3703.0, + 814.0 + ], + [ + 3738.0, + 811.0 + ], + [ + 3763.0, + 811.0 + ], + [ + 3800.0, + 814.0 + ], + [ + 3838.0, + 816.0 + ], + [ + 3873.0, + 819.0 + ], + [ + 3921.0, + 821.0 + ], + [ + 3956.0, + 814.0 + ], + [ + 3994.0, + 814.0 + ], + [ + 4029.0, + 816.0 + ], + [ + 4074.0, + 819.0 + ], + [ + 4109.0, + 811.0 + ], + [ + 4147.0, + 811.0 + ], + [ + 4177.0, + 811.0 + ], + [ + 4174.0, + 851.0 + ], + [ + 4172.0, + 884.0 + ], + [ + 4200.0, + 884.0 + ], + [ + 4240.0, + 884.0 + ], + [ + 4272.0, + 884.0 + ], + [ + 4305.0, + 884.0 + ], + [ + 4325.0, + 889.0 + ], + [ + 4330.0, + 919.0 + ], + [ + 4328.0, + 944.0 + ], + [ + 4333.0, + 977.0 + ], + [ + 4333.0, + 1022.0 + ], + [ + 4330.0, + 1060.0 + ], + [ + 4335.0, + 1100.0 + ], + [ + 4335.0, + 1127.0 + ], + [ + 4333.0, + 1168.0 + ], + [ + 4333.0, + 1205.0 + ], + [ + 4335.0, + 1233.0 + ], + [ + 4335.0, + 1265.0 + ], + [ + 4335.0, + 1301.0 + ], + [ + 4335.0, + 1333.0 + ], + [ + 4333.0, + 1361.0 + ], + [ + 4328.0, + 1393.0 + ], + [ + 4328.0, + 1431.0 + ], + [ + 4328.0, + 1469.0 + ], + [ + 4325.0, + 1504.0 + ], + [ + 4323.0, + 1542.0 + ], + [ + 4280.0, + 1542.0 + ], + [ + 4240.0, + 1544.0 + ], + [ + 4240.0, + 1574.0 + ], + [ + 4207.0, + 1542.0 + ], + [ + 4167.0, + 1539.0 + ], + [ + 4132.0, + 1539.0 + ], + [ + 4094.0, + 1542.0 + ], + [ + 4066.0, + 1539.0 + ], + [ + 4021.0, + 1537.0 + ], + [ + 3964.0, + 1537.0 + ], + [ + 3921.0, + 1539.0 + ], + [ + 3881.0, + 1542.0 + ], + [ + 3848.0, + 1537.0 + ], + [ + 3803.0, + 1537.0 + ], + [ + 3765.0, + 1539.0 + ], + [ + 3728.0, + 1542.0 + ], + [ + 3687.0, + 1539.0 + ], + [ + 3655.0, + 1539.0 + ], + [ + 3627.0, + 1539.0 + ], + [ + 3105.0, + 746.0 + ], + [ + 3103.0, + 706.0 + ], + [ + 3103.0, + 668.0 + ], + [ + 3098.0, + 628.0 + ], + [ + 3093.0, + 593.0 + ], + [ + 3090.0, + 565.0 + ], + [ + 3120.0, + 548.0 + ], + [ + 3155.0, + 543.0 + ], + [ + 3191.0, + 533.0 + ], + [ + 3238.0, + 518.0 + ], + [ + 3266.0, + 507.0 + ], + [ + 3316.0, + 500.0 + ], + [ + 3351.0, + 490.0 + ], + [ + 3396.0, + 477.0 + ], + [ + 3439.0, + 465.0 + ], + [ + 3472.0, + 455.0 + ], + [ + 3499.0, + 450.0 + ], + [ + 3527.0, + 440.0 + ], + [ + 3559.0, + 432.0 + ], + [ + 3585.0, + 432.0 + ], + [ + 3557.0, + 397.0 + ], + [ + 3607.0, + 415.0 + ], + [ + 3642.0, + 405.0 + ], + [ + 3677.0, + 400.0 + ], + [ + 3708.0, + 389.0 + ], + [ + 3718.0, + 352.0 + ], + [ + 3763.0, + 379.0 + ], + [ + 3730.0, + 384.0 + ], + [ + 3775.0, + 410.0 + ] + ] + }, + "3": { + "id": "3", + "floor_name": "3", + "pathfinder_data": { + "neighbors": [ + [], + [ + "7-340" + ], + [ + "7-340", + "7-336", + "Лестница" + ], + [ + "7-340", + "7-338", + "Лестница" + ], + [ + "7-338", + "7-336" + ], + [ + "7-336", + "7-323", + "Лестница" + ], + [ + "7-336", + "7-323", + "7-321", + "7-334" + ], + [ + "7-336", + "7-334" + ], + [ + "7-321", + "7-319", + "7-334" + ], + [ + "7-321", + "7-319", + "7-334" + ], + [ + "7-319", + "7-332" + ], + [ + "7-319", + "7-317а", + "7-332" + ], + [ + "7-317а", + "7-332" + ], + [ + "7-317а", + "7-330а", + "7-315" + ], + [ + "7-317а", + "7-332", + "7-330а" + ], + [ + "7-317а", + "7-315", + "7-330а" + ], + [ + "7-315", + "7-330а" + ], + [ + "7-315", + "7-330" + ], + [ + "7-315", + "7-330а", + "Лестница", + "7-330" + ], + [ + "7-315", + "7-330а", + "Лестница", + "7-330" + ], + [ + "7-315", + "7-330", + "Лестница" + ], + [ + "7-315", + "7-330", + "Лестница" + ], + [ + "Лестница", + "7-326" + ], + [ + "Лестница", + "7-326", + "7-313" + ], + [ + "7-330", + "7-326" + ], + [ + "7-313", + "7-326" + ], + [ + "7-313", + "7-326" + ], + [], + [ + "7-326" + ], + [], + [ + "7-324", + "7-322" + ], + [ + "7-320" + ], + [ + "7-322" + ], + [], + [], + [], + [], + [], + [ + "7-320" + ], + [ + "7-318" + ], + [ + "7-314" + ], + [ + "7-316", + "7-314", + "Лестница" + ], + [ + "Лестница" + ], + [ + "7-320", + "7-311" + ], + [ + "7-311" + ], + [ + "7-311" + ], + [], + [], + [ + "7-320" + ], + [ + "7-314", + "Лестница", + "7-311б" + ], + [ + "7-314", + "7-311б", + "7-312" + ], + [ + "7-311б" + ], + [ + "7-206", + "7-309.1", + "7-310" + ], + [ + "7-206" + ], + [ + "7-308" + ], + [ + "7-300.1" + ], + [ + "7-306" + ], + [ + "7-300.1", + "7-300.2" + ], + [ + "7-300.1", + "7-307", + "7-300.2" + ], + [], + [ + "7-305", + "7-307" + ], + [ + "7-303", + "7-305", + "7-303.1" + ], + [ + "7-303", + "7-303.1" + ], + [ + "7-300.1" + ], + [ + "7-306" + ], + [ + "7-300.3" + ], + [ + "7-306", + "7-304", + "7-300.2", + "7-300.3" + ], + [ + "7-304", + "7-300" + ], + [ + "7-304", + "7-300.3", + "7-302" + ], + [ + "7-302", + "7-300", + "Лестница" + ], + [ + "7-300", + "7-302" + ], + [ + "7-302", + "7-300", + "Лестница", + "7-301" + ], + [ + "Лестница" + ], + [ + "Лестница", + "7-302", + "7-301" + ], + [ + "Лестница" + ], + [ + "Лестница", + "10-301" + ], + [ + "10-303", + "10-302" + ], + [ + "10-302", + "10-303" + ], + [ + "10-304" + ], + [ + "10-307", + "10-304" + ], + [], + [ + "Лестница", + "10-308", + "10-306" + ], + [ + "10-306" + ], + [ + "10-306" + ], + [ + "10-306" + ], + [ + "10-304", + "10-306" + ], + [], + [ + "3-312" + ], + [ + "3-310" + ], + [], + [ + "3-310" + ], + [ + "3-310" + ], + [ + "3-309" + ], + [ + "Лестница" + ], + [ + "3-310" + ], + [ + "Лестница" + ], + [ + "1-326" + ], + [ + "1-329", + "1-326", + "1-327", + "1-325" + ], + [ + "1-329", + "1-326", + "1-331", + "1-324" + ], + [ + "Лестница", + "1-330", + "1-329", + "1-324" + ], + [ + "Лестница", + "1-331" + ], + [ + "1-325", + "1-331", + "1-323" + ], + [ + "1-331", + "1-322" + ], + [ + "1-324" + ], + [ + "1-320" + ], + [ + "1-320", + "1-318" + ], + [ + "1-319", + "Лестница", + "1-317" + ], + [ + "Лестница", + "1-317", + "1-316" + ], + [ + "1-313", + "1-316" + ], + [ + "Лестница" + ], + [ + "1-313", + "1-316" + ], + [ + "1-316" + ], + [ + "1-316" + ], + [ + "1-316", + "1-314а", + "1-311а" + ], + [ + "1-316", + "1-314а" + ], + [ + "1-311", + "1-311а" + ], + [ + "1-311", + "1-309" + ], + [ + "1-314а", + "1-311а", + "1-314" + ], + [ + "1-314а", + "1-314", + "1-311а" + ], + [ + "1-314", + "1-307" + ], + [ + "1-314", + "1-311а", + "1-312" + ], + [ + "1-307", + "1-312", + "1-212" + ], + [ + "1-307", + "1-212" + ], + [ + "1-307", + "1-212" + ], + [ + "1-307", + "1-212", + "Лестница" + ], + [ + "1-307", + "1-212", + "Лестница" + ], + [ + "Лестница", + "1-212" + ], + [ + "1-212", + "Лестница" + ], + [ + "Лестница", + "1-212" + ], + [ + "1-212", + "1-305" + ], + [ + "1-212", + "1-305" + ], + [ + "1-310" + ], + [ + "1-308" + ], + [ + "1-310" + ], + [ + "1-308" + ], + [ + "1-306" + ], + [ + "1-304", + "1-302" + ], + [], + [], + [ + "Лестница", + "1-302" + ], + [ + "1-301" + ], + [ + "2-312", + "Лестница", + "1-309", + "2-310" + ], + [ + "2-312", + "Лестница", + "1-309", + "2-310" + ], + [ + "Лестница" + ], + [], + [ + "2-307" + ], + [], + [ + "2-312" + ], + [], + [ + "2-307", + "2-312" + ], + [ + "2-309", + "2-307" + ], + [], + [ + "2-314" + ], + [ + "2-314" + ], + [ + "2-309" + ], + [ + "2-311", + "2-314" + ], + [ + "2-310", + "2-305" + ], + [], + [ + "2-308" + ], + [ + "Лестница" + ], + [ + "2-308", + "Лестница" + ], + [ + "Лестница", + "2-303" + ], + [ + "2-308", + "2-306" + ], + [], + [ + "2-306" + ], + [], + [ + "2-303", + "2-301" + ], + [ + "Лестница" + ], + [ + "5-403", + "Лестница" + ], + [ + "5-405", + "5-404", + "Лестница" + ], + [ + "5-404" + ], + [ + "5-407", + "Лестница" + ], + [ + "5-407", + "Лестница", + "5-404" + ], + [ + "4-301", + "4-305", + "4-302а", + "4-305б" + ], + [ + "4-302б", + "4-305в" + ], + [ + "4-305б", + "4-305в", + "Лестница" + ], + [ + "4-305в", + "4-307" + ], + [ + "Лестница", + "4-306", + "4-307" + ], + [ + "4-309" + ], + [], + [ + "4-309" + ], + [ + "4-309", + "4-306а" + ], + [], + [ + "4-306а" + ], + [ + "4-309", + "Лестница" + ], + [ + "4-309", + "Лестница" + ], + [ + "Лестница", + "4-310б", + "4-311", + "4-310а" + ], + [ + "4-310б", + "4-310а" + ], + [ + "6-311" + ], + [ + "6-311" + ], + [ + "6-310" + ], + [ + "6-310", + "6-309", + "6-305" + ], + [ + "6-309", + "6-305", + "6-308" + ], + [ + "6-305", + "6-308" + ], + [ + "6-308", + "6-305" + ], + [ + "6-308", + "6-305" + ], + [ + "6-308", + "6-306", + "6-305", + "6-303" + ], + [ + "6-306", + "6-303" + ], + [ + "6-304", + "6-303", + "6-301" + ], + [ + "6-303", + "Лестница" + ], + [ + "6-306", + "6-303", + "6-302", + "6-301" + ], + [ + "6-304", + "6-302", + "6-301" + ], + [ + "6-302", + "6-301" + ], + [ + "6-302" + ], + [ + "6-302" + ], + [ + "6-301", + "Лестница" + ] + ], + "graph": [ + [ + 1, + 3, + 2 + ], + [ + 0, + 2, + 3 + ], + [ + 3, + 4, + 1 + ], + [ + 2, + 4, + 1 + ], + [ + 3, + 2, + 5 + ], + [ + 6, + 4, + 3 + ], + [ + 5, + 7, + 4 + ], + [ + 8, + 6, + 9 + ], + [ + 9, + 7, + 6 + ], + [ + 8, + 10, + 7 + ], + [ + 9, + 11, + 8 + ], + [ + 12, + 10, + 13 + ], + [ + 11, + 13, + 14 + ], + [ + 14, + 12, + 15 + ], + [ + 15, + 13, + 16 + ], + [ + 16, + 14, + 17 + ], + [ + 15, + 17, + 18 + ], + [ + 18, + 16, + 19 + ], + [ + 19, + 17, + 20 + ], + [ + 20, + 18, + 21 + ], + [ + 19, + 21, + 22 + ], + [ + 20, + 19, + 22 + ], + [ + 23, + 20, + 21 + ], + [ + 22, + 24, + 20 + ], + [ + 23, + 25, + 22 + ], + [ + 26, + 24, + 27 + ], + [ + 25, + 27, + 24 + ], + [ + 26, + 28, + 25 + ], + [ + 29, + 27, + 26 + ], + [ + 28, + 30, + 27 + ], + [ + 31, + 29, + 28 + ], + [ + 32, + 30, + 48 + ], + [ + 33, + 31, + 48 + ], + [ + 48, + 32, + 34 + ], + [ + 33, + 35, + 48 + ], + [ + 36, + 34, + 44 + ], + [ + 35, + 37, + 44 + ], + [ + 43, + 38, + 36 + ], + [ + 39, + 37, + 43 + ], + [ + 41, + 38, + 42 + ], + [ + 41, + 49, + 42 + ], + [ + 39, + 40, + 42 + ], + [ + 41, + 39, + 40 + ], + [ + 37, + 38, + 44 + ], + [ + 45, + 36, + 43 + ], + [ + 46, + 44, + 47 + ], + [ + 45, + 47, + 48 + ], + [ + 48, + 46, + 33 + ], + [ + 33, + 47, + 32 + ], + [ + 40, + 50, + 41 + ], + [ + 51, + 49, + 52 + ], + [ + 50, + 52, + 49 + ], + [ + 51, + 53, + 50 + ], + [ + 54, + 52, + 55 + ], + [ + 53, + 55, + 56 + ], + [ + 54, + 56, + 57 + ], + [ + 63, + 55, + 57 + ], + [ + 58, + 56, + 63 + ], + [ + 57, + 59, + 60 + ], + [ + 60, + 58, + 57 + ], + [ + 59, + 61, + 58 + ], + [ + 60, + 62, + 59 + ], + [ + 61, + 60 + ], + [ + 56, + 64, + 57 + ], + [ + 63, + 65, + 56 + ], + [ + 66, + 64, + 67 + ], + [ + 65, + 67, + 68 + ], + [ + 66, + 68, + 65 + ], + [ + 67, + 69, + 70 + ], + [ + 70, + 68, + 71 + ], + [ + 69, + 71, + 72 + ], + [ + 72, + 70, + 73 + ], + [ + 71, + 73, + 70 + ], + [ + 72, + 71, + 74 + ], + [ + 73, + 72, + 71 + ], + [ + 76, + 77 + ], + [ + 77, + 75, + 78 + ], + [ + 76, + 78, + 79 + ], + [ + 79, + 77, + 80 + ], + [ + 80, + 78, + 77 + ], + [ + 79, + 78 + ], + [ + 82 + ], + [ + 83, + 81, + 84 + ], + [ + 82, + 84, + 85 + ], + [ + 85, + 83, + 86 + ], + [ + 86, + 84, + 83 + ], + [ + 85, + 84 + ], + [ + 88, + 89 + ], + [ + 87, + 89, + 90 + ], + [ + 90, + 88, + 91 + ], + [ + 89, + 91, + 94 + ], + [ + 92, + 90, + 94 + ], + [ + 91, + 93, + 94 + ], + [ + 94, + 92, + 95 + ], + [ + 93, + 91, + 92 + ], + [ + 93, + 94, + 92 + ], + [ + 97, + 98, + 99 + ], + [ + 96, + 98, + 99 + ], + [ + 101, + 99, + 97 + ], + [ + 98, + 100, + 101 + ], + [ + 99, + 98, + 101 + ], + [ + 98, + 102, + 99 + ], + [ + 103, + 101, + 104 + ], + [ + 104, + 102, + 105 + ], + [ + 103, + 105, + 102 + ], + [ + 106, + 104, + 109 + ], + [ + 109, + 105, + 107 + ], + [ + 108, + 110, + 106 + ], + [ + 107, + 110, + 109 + ], + [ + 106, + 108, + 107 + ], + [ + 108, + 111, + 107 + ], + [ + 112, + 110, + 113 + ], + [ + 113, + 111, + 114 + ], + [ + 114, + 112, + 115 + ], + [ + 113, + 117, + 115 + ], + [ + 116, + 114, + 113 + ], + [ + 115, + 114, + 113 + ], + [ + 114, + 118, + 115 + ], + [ + 119, + 117, + 120 + ], + [ + 120, + 118, + 121 + ], + [ + 119, + 121, + 122 + ], + [ + 120, + 122, + 123 + ], + [ + 123, + 121, + 120 + ], + [ + 122, + 124, + 121 + ], + [ + 125, + 123, + 122 + ], + [ + 124, + 126, + 123 + ], + [ + 125, + 127, + 124 + ], + [ + 128, + 126, + 129 + ], + [ + 129, + 127, + 130 + ], + [ + 128, + 130, + 131 + ], + [ + 129, + 131, + 128 + ], + [ + 130, + 132, + 129 + ], + [ + 133, + 131, + 134 + ], + [ + 132, + 134, + 135 + ], + [ + 135, + 136, + 133 + ], + [ + 134, + 137, + 136 + ], + [ + 135, + 134, + 137 + ], + [ + 135, + 138, + 136 + ], + [ + 139, + 137, + 140 + ], + [ + 140, + 138, + 137 + ], + [ + 139, + 138, + 137 + ], + [ + 142, + 143, + 144 + ], + [ + 141, + 143, + 144 + ], + [ + 142, + 144, + 141 + ], + [ + 145, + 147, + 143 + ], + [ + 144, + 147, + 156 + ], + [ + 147, + 148, + 145 + ], + [ + 146, + 145, + 144 + ], + [ + 146, + 149, + 147 + ], + [ + 150, + 148, + 146 + ], + [ + 149, + 151, + 152 + ], + [ + 152, + 154, + 150 + ], + [ + 153, + 151, + 154 + ], + [ + 152, + 154, + 155 + ], + [ + 153, + 151, + 155 + ], + [ + 153, + 154, + 152 + ], + [ + 145, + 157, + 144 + ], + [ + 158, + 156, + 159 + ], + [ + 159, + 157, + 160 + ], + [ + 158, + 160, + 157 + ], + [ + 161, + 159, + 158 + ], + [ + 160, + 162, + 163 + ], + [ + 163, + 161, + 164 + ], + [ + 164, + 162, + 165 + ], + [ + 163, + 165, + 162 + ], + [ + 166, + 164, + 163 + ], + [ + 165, + 164 + ], + [ + 168, + 169 + ], + [ + 167, + 169, + 170 + ], + [ + 170, + 168, + 171 + ], + [ + 171, + 169, + 172 + ], + [ + 170, + 172, + 169 + ], + [ + 171, + 170 + ], + [ + 174, + 175 + ], + [ + 173, + 175, + 176 + ], + [ + 174, + 176, + 173 + ], + [ + 177, + 175, + 178 + ], + [ + 176, + 178, + 179 + ], + [ + 179, + 177, + 180 + ], + [ + 180, + 178, + 181 + ], + [ + 179, + 181, + 178 + ], + [ + 182, + 180, + 183 + ], + [ + 183, + 181, + 184 + ], + [ + 182, + 184, + 181 + ], + [ + 185, + 183, + 182 + ], + [ + 184, + 186, + 183 + ], + [ + 185, + 187, + 184 + ], + [ + 186, + 185 + ], + [ + 189, + 190 + ], + [ + 188, + 190, + 191 + ], + [ + 189, + 191, + 188 + ], + [ + 192, + 190, + 193 + ], + [ + 191, + 193, + 194 + ], + [ + 194, + 192, + 195 + ], + [ + 193, + 195, + 192 + ], + [ + 196, + 194, + 193 + ], + [ + 197, + 195, + 200 + ], + [ + 200, + 196, + 198 + ], + [ + 199, + 200, + 201 + ], + [ + 198, + 201, + 200 + ], + [ + 197, + 198, + 199 + ], + [ + 198, + 202, + 199 + ], + [ + 203, + 201, + 204 + ], + [ + 202, + 204, + 205 + ], + [ + 205, + 203, + 202 + ], + [ + 204, + 203, + 202 + ] + ] + }, + "positions": [ + [ + 507.0, + 1501.0 + ], + [ + 525.0, + 1544.0 + ], + [ + 555.0, + 1584.0 + ], + [ + 578.0, + 1559.0 + ], + [ + 598.0, + 1597.0 + ], + [ + 643.0, + 1602.0 + ], + [ + 683.0, + 1602.0 + ], + [ + 731.0, + 1604.0 + ], + [ + 774.0, + 1612.0 + ], + [ + 816.0, + 1622.0 + ], + [ + 866.0, + 1632.0 + ], + [ + 917.0, + 1644.0 + ], + [ + 957.0, + 1657.0 + ], + [ + 1002.0, + 1667.0 + ], + [ + 1045.0, + 1682.0 + ], + [ + 1080.0, + 1697.0 + ], + [ + 1112.0, + 1710.0 + ], + [ + 1147.0, + 1725.0 + ], + [ + 1173.0, + 1735.0 + ], + [ + 1195.0, + 1747.0 + ], + [ + 1215.0, + 1760.0 + ], + [ + 1233.0, + 1737.0 + ], + [ + 1248.0, + 1775.0 + ], + [ + 1268.0, + 1785.0 + ], + [ + 1298.0, + 1803.0 + ], + [ + 1331.0, + 1823.0 + ], + [ + 1361.0, + 1840.0 + ], + [ + 1391.0, + 1860.0 + ], + [ + 1421.0, + 1885.0 + ], + [ + 1446.0, + 1905.0 + ], + [ + 1479.0, + 1938.0 + ], + [ + 1511.0, + 1968.0 + ], + [ + 1539.0, + 1991.0 + ], + [ + 1569.0, + 2011.0 + ], + [ + 1592.0, + 2039.0 + ], + [ + 1627.0, + 2079.0 + ], + [ + 1657.0, + 2104.0 + ], + [ + 1685.0, + 2139.0 + ], + [ + 1715.0, + 2169.0 + ], + [ + 1740.0, + 2197.0 + ], + [ + 1803.0, + 2217.0 + ], + [ + 1770.0, + 2209.0 + ], + [ + 1782.0, + 2167.0 + ], + [ + 1722.0, + 2126.0 + ], + [ + 1707.0, + 2061.0 + ], + [ + 1687.0, + 2003.0 + ], + [ + 1670.0, + 1958.0 + ], + [ + 1617.0, + 1966.0 + ], + [ + 1579.0, + 1981.0 + ], + [ + 1848.0, + 2217.0 + ], + [ + 1898.0, + 2219.0 + ], + [ + 1941.0, + 2219.0 + ], + [ + 1991.0, + 2217.0 + ], + [ + 2059.0, + 2217.0 + ], + [ + 2104.0, + 2217.0 + ], + [ + 2151.0, + 2219.0 + ], + [ + 2199.0, + 2222.0 + ], + [ + 2204.0, + 2159.0 + ], + [ + 2219.0, + 2116.0 + ], + [ + 2219.0, + 2064.0 + ], + [ + 2222.0, + 2013.0 + ], + [ + 2222.0, + 1961.0 + ], + [ + 2222.0, + 1900.0 + ], + [ + 2239.0, + 2219.0 + ], + [ + 2284.0, + 2219.0 + ], + [ + 2342.0, + 2217.0 + ], + [ + 2390.0, + 2209.0 + ], + [ + 2440.0, + 2204.0 + ], + [ + 2490.0, + 2192.0 + ], + [ + 2543.0, + 2192.0 + ], + [ + 2578.0, + 2194.0 + ], + [ + 2616.0, + 2192.0 + ], + [ + 2648.0, + 2197.0 + ], + [ + 2673.0, + 2174.0 + ], + [ + 2666.0, + 2084.0 + ], + [ + 2628.0, + 1943.0 + ], + [ + 2613.0, + 1885.0 + ], + [ + 2601.0, + 1838.0 + ], + [ + 2588.0, + 1780.0 + ], + [ + 2573.0, + 1735.0 + ], + [ + 2561.0, + 1697.0 + ], + [ + 2453.0, + 1293.0 + ], + [ + 2438.0, + 1215.0 + ], + [ + 2428.0, + 1163.0 + ], + [ + 2412.0, + 1107.0 + ], + [ + 2397.0, + 1055.0 + ], + [ + 2390.0, + 1017.0 + ], + [ + 2869.0, + 1215.0 + ], + [ + 2912.0, + 1213.0 + ], + [ + 2970.0, + 1213.0 + ], + [ + 3015.0, + 1213.0 + ], + [ + 3065.0, + 1213.0 + ], + [ + 3103.0, + 1213.0 + ], + [ + 3108.0, + 1160.0 + ], + [ + 3063.0, + 1160.0 + ], + [ + 3103.0, + 1102.0 + ], + [ + 2822.0, + 2234.0 + ], + [ + 2864.0, + 2232.0 + ], + [ + 2917.0, + 2229.0 + ], + [ + 2919.0, + 2182.0 + ], + [ + 2924.0, + 2126.0 + ], + [ + 2962.0, + 2229.0 + ], + [ + 3017.0, + 2229.0 + ], + [ + 3070.0, + 2232.0 + ], + [ + 3113.0, + 2232.0 + ], + [ + 3173.0, + 2234.0 + ], + [ + 3223.0, + 2234.0 + ], + [ + 3291.0, + 2237.0 + ], + [ + 3291.0, + 2192.0 + ], + [ + 3238.0, + 2187.0 + ], + [ + 3339.0, + 2192.0 + ], + [ + 3399.0, + 2194.0 + ], + [ + 3449.0, + 2192.0 + ], + [ + 3497.0, + 2192.0 + ], + [ + 3524.0, + 2192.0 + ], + [ + 3522.0, + 2139.0 + ], + [ + 3522.0, + 2091.0 + ], + [ + 3572.0, + 2194.0 + ], + [ + 3627.0, + 2194.0 + ], + [ + 3670.0, + 2194.0 + ], + [ + 3695.0, + 2194.0 + ], + [ + 3735.0, + 2197.0 + ], + [ + 3743.0, + 2151.0 + ], + [ + 3775.0, + 2149.0 + ], + [ + 3813.0, + 2151.0 + ], + [ + 3846.0, + 2149.0 + ], + [ + 3901.0, + 2146.0 + ], + [ + 3964.0, + 2146.0 + ], + [ + 4021.0, + 2146.0 + ], + [ + 4054.0, + 2149.0 + ], + [ + 4056.0, + 2197.0 + ], + [ + 4104.0, + 2194.0 + ], + [ + 4154.0, + 2194.0 + ], + [ + 4194.0, + 2194.0 + ], + [ + 4247.0, + 2194.0 + ], + [ + 4275.0, + 2194.0 + ], + [ + 4267.0, + 2232.0 + ], + [ + 4310.0, + 2197.0 + ], + [ + 4363.0, + 2197.0 + ], + [ + 4413.0, + 2194.0 + ], + [ + 4428.0, + 2164.0 + ], + [ + 3559.0, + 1675.0 + ], + [ + 3587.0, + 1675.0 + ], + [ + 3587.0, + 1622.0 + ], + [ + 3587.0, + 1567.0 + ], + [ + 3587.0, + 1534.0 + ], + [ + 3512.0, + 1529.0 + ], + [ + 3549.0, + 1529.0 + ], + [ + 3462.0, + 1532.0 + ], + [ + 3411.0, + 1534.0 + ], + [ + 3366.0, + 1534.0 + ], + [ + 3309.0, + 1532.0 + ], + [ + 3303.0, + 1582.0 + ], + [ + 3256.0, + 1587.0 + ], + [ + 3253.0, + 1534.0 + ], + [ + 3201.0, + 1567.0 + ], + [ + 3632.0, + 1529.0 + ], + [ + 3687.0, + 1529.0 + ], + [ + 3738.0, + 1534.0 + ], + [ + 3785.0, + 1529.0 + ], + [ + 3841.0, + 1526.0 + ], + [ + 3891.0, + 1532.0 + ], + [ + 3946.0, + 1526.0 + ], + [ + 3994.0, + 1529.0 + ], + [ + 4026.0, + 1532.0 + ], + [ + 4089.0, + 1532.0 + ], + [ + 4132.0, + 1537.0 + ], + [ + 4328.0, + 1208.0 + ], + [ + 4325.0, + 1155.0 + ], + [ + 4325.0, + 1100.0 + ], + [ + 4328.0, + 1047.0 + ], + [ + 4333.0, + 997.0 + ], + [ + 4328.0, + 947.0 + ], + [ + 3341.0, + 814.0 + ], + [ + 3384.0, + 814.0 + ], + [ + 3434.0, + 814.0 + ], + [ + 3489.0, + 809.0 + ], + [ + 3539.0, + 811.0 + ], + [ + 3590.0, + 814.0 + ], + [ + 3632.0, + 814.0 + ], + [ + 3670.0, + 814.0 + ], + [ + 3723.0, + 811.0 + ], + [ + 3773.0, + 816.0 + ], + [ + 3810.0, + 814.0 + ], + [ + 3863.0, + 811.0 + ], + [ + 3911.0, + 816.0 + ], + [ + 3961.0, + 814.0 + ], + [ + 4024.0, + 819.0 + ], + [ + 3093.0, + 560.0 + ], + [ + 3138.0, + 545.0 + ], + [ + 3188.0, + 533.0 + ], + [ + 3243.0, + 518.0 + ], + [ + 3286.0, + 505.0 + ], + [ + 3334.0, + 495.0 + ], + [ + 3369.0, + 485.0 + ], + [ + 3416.0, + 472.0 + ], + [ + 3459.0, + 457.0 + ], + [ + 3502.0, + 450.0 + ], + [ + 3565.0, + 430.0 + ], + [ + 3557.0, + 395.0 + ], + [ + 3527.0, + 442.0 + ], + [ + 3605.0, + 420.0 + ], + [ + 3647.0, + 407.0 + ], + [ + 3680.0, + 400.0 + ], + [ + 3720.0, + 389.0 + ], + [ + 3718.0, + 349.0 + ] + ] + }, + "4": { + "id": "4", + "floor_name": "4", + "pathfinder_data": { + "neighbors": [ + [ + "Лестница", + "7-402" + ], + [], + [ + "Лестница" + ], + [ + "Лестница", + "6-401" + ], + [ + "Лестница", + "6-401" + ], + [ + "Лестница" + ], + [ + "Лестница", + "6-401" + ], + [ + "1-409", + "Лестница" + ], + [ + "Лестница" + ], + [ + "Лестница", + "1-407" + ], + [ + "1-412" + ], + [ + "1-412", + "1-410" + ], + [ + "1-412", + "1-410", + "1-407" + ], + [ + "1-410" + ], + [ + "1-408" + ], + [ + "1-410", + "1-408" + ], + [], + [ + "1-406", + "1-407", + "1-404" + ], + [ + "1-406", + "1-404" + ], + [ + "1-404" + ], + [ + "1-401а" + ], + [ + "1-403а", + "1-401" + ], + [ + "1-403б", + "1-401" + ], + [ + "1-404", + "1-401а", + "1-402" + ], + [ + "1-404", + "1-402" + ], + [ + "1-402", + "Лестница" + ], + [ + "1-402", + "Лестница" + ], + [ + "1-300" + ], + [ + "1-412", + "1-409" + ], + [ + "1-416", + "1-412" + ], + [ + "1-416", + "1-412" + ], + [ + "1-411", + "1-418", + "1-416" + ], + [ + "1-418", + "1-416" + ], + [ + "1-418", + "1-411" + ], + [ + "1-418" + ], + [ + "1-418" + ], + [ + "1-418" + ], + [ + "1-313", + "1-418" + ], + [ + "Лестница", + "1-418" + ], + [ + "Лестница", + "1-418" + ], + [ + "Лестница", + "1-418" + ], + [ + "Лестница", + "1-421" + ], + [ + "1-422", + "1-421", + "Лестница" + ], + [ + "1-313", + "Лестница" + ], + [ + "Лестница" + ], + [ + "Лестница", + "1-313" + ], + [ + "1-421", + "Лестница" + ], + [ + "1-424", + "1-423", + "1-422", + "1-421" + ], + [ + "1-423" + ], + [], + [ + "1-425" + ], + [ + "1-430", + "1-425" + ], + [ + "1-428", + "1-429", + "1-430", + "1-426" + ], + [ + "Лестница", + "1-430" + ], + [ + "Лестница", + "1-430" + ], + [ + "1-427", + "1-429", + "1-428", + "1-426" + ], + [ + "1-428", + "1-429" + ], + [], + [ + "2-410", + "Лестница", + "2-408" + ], + [ + "2-411", + "2-407" + ], + [], + [ + "2-410" + ], + [ + "2-411", + "2-410" + ], + [], + [ + "2-410", + "2-408" + ], + [ + "2-411", + "2-408" + ], + [ + "2-408" + ], + [ + "2-407" + ], + [ + "2-404", + "Лестница" + ], + [ + "Лестница", + "2-404", + "2-402" + ], + [ + "Лестница", + "2-404", + "2-405", + "2-402" + ], + [ + "2-402" + ], + [ + "2-402" + ], + [], + [], + [ + "2-405", + "2-402" + ], + [ + "2-402" + ], + [ + "Лестница", + "7-402", + "7-404" + ], + [ + "Лестница" + ], + [ + "Лестница" + ], + [ + "Лестница" + ], + [ + "Лестница", + "10-401" + ], + [ + "10-401", + "Лестница" + ], + [ + "10-402" + ], + [ + "10-403", + "10-402" + ], + [ + "10-404", + "10-403" + ], + [ + "10-405", + "10-404" + ], + [ + "10-403", + "10-404" + ], + [ + "Лестница", + "10-411" + ], + [ + "10-411" + ], + [ + "10-411", + "10-412" + ], + [ + "10-412" + ], + [ + "10-412" + ], + [ + "10-412" + ], + [ + "10-412" + ], + [], + [ + "4-402", + "4-405" + ], + [ + "4-401", + "4-405", + "4-403" + ], + [ + "4-402", + "4-405" + ], + [ + "4-405", + "Лестница" + ], + [ + "4-405", + "4-402", + "4-404", + "4-407" + ], + [ + "Лестница", + "4-407" + ], + [ + "4-407", + "4-409" + ], + [ + "4-407", + "4-409" + ], + [ + "4-409", + "4-406", + "4-411" + ], + [ + "4-409", + "4-411" + ], + [ + "4-409", + "4-411", + "4-413" + ], + [ + "4-406", + "4-413" + ], + [ + "Лестница" + ], + [ + "4-413", + "Лестница", + "4-415" + ], + [ + "Лестница", + "4-415", + "4-408", + "4-410" + ], + [ + "4-415", + "4-417" + ], + [ + "4-415", + "4-417", + "4-412" + ], + [], + [], + [ + "5-506", + "5-505", + "Лестница" + ], + [ + "5-504", + "5-506", + "5-508", + "Лестница" + ], + [ + "5-502", + "Лестница", + "5-503" + ], + [ + "5-504", + "Лестница", + "5-503" + ], + [ + "7-401", + "Лестница" + ], + [ + "7-401", + "7-404" + ], + [ + "7-406", + "7-401" + ], + [], + [ + "7-406" + ], + [], + [ + "7-406" + ], + [ + "7-410" + ], + [], + [], + [ + "7-403" + ], + [], + [], + [], + [], + [], + [], + [], + [ + "7-410" + ], + [ + "7-412" + ], + [ + "7-414", + "7-412" + ], + [ + "7-412" + ], + [ + "7-420", + "7-414" + ], + [ + "7-420", + "Лестница" + ], + [ + "7-420", + "7-414" + ], + [ + "7-420" + ], + [ + "7-422", + "7-420" + ], + [ + "7-422" + ], + [ + "7-422" + ], + [ + "7-422" + ], + [ + "7-422" + ], + [ + "7-422" + ], + [], + [ + "7-424" + ], + [ + "7-424" + ], + [ + "7-422", + "7-411" + ], + [ + "7-411" + ], + [ + "7-411" + ], + [ + "7-411" + ], + [ + "7-411" + ], + [], + [], + [ + "7-422" + ], + [ + "7-424" + ], + [ + "7-424" + ], + [ + "7-426", + "7-424" + ], + [ + "7-428", + "7-426" + ], + [ + "7-428", + "Лестница", + "7-413" + ], + [ + "7-415", + "7-428", + "Лестница" + ], + [ + "7-415", + "7-430", + "Лестница" + ], + [ + "7-430", + "7-415", + "Лестница" + ], + [ + "Лестница", + "7-430", + "7-428", + "7-413" + ], + [ + "7-425" + ], + [ + "7-444", + "7-425" + ], + [ + "7-444", + "7-425" + ], + [ + "7-444", + "7-442" + ], + [ + "7-444", + "7-442", + "Лестница" + ], + [ + "7-438", + "Лестница" + ], + [ + "7-440", + "7-438", + "7-436", + "7-423" + ], + [ + "7-438", + "Лестница", + "7-436" + ], + [ + "7-423", + "7-436" + ], + [ + "7-423", + "7-412", + "7-419" + ], + [ + "7-412", + "7-436", + "7-434" + ], + [ + "7-436", + "7-412" + ], + [ + "7-419", + "7-419а", + "7-434" + ], + [ + "7-419", + "7-436", + "7-434", + "7-419а" + ], + [ + "7-419а", + "7-434" + ], + [ + "7-419а", + "7-417", + "7-434а" + ], + [ + "7-417", + "7-434а", + "7-432", + "7-415" + ], + [ + "7-417", + "7-434а", + "7-432" + ], + [ + "7-417", + "7-415", + "7-432" + ], + [ + "7-415", + "7-432" + ] + ], + "graph": [ + [ + 2, + 1, + 77 + ], + [ + 0, + 119, + 2 + ], + [ + 0, + 77, + 1 + ], + [ + 4 + ], + [ + 3 + ], + [ + 6 + ], + [ + 5 + ], + [ + 8, + 10, + 11 + ], + [ + 11, + 7, + 10 + ], + [ + 12, + 13, + 8 + ], + [ + 11, + 7, + 28 + ], + [ + 8, + 12, + 10 + ], + [ + 11, + 13, + 9 + ], + [ + 12, + 9, + 14 + ], + [ + 15, + 13, + 16 + ], + [ + 14, + 16, + 17 + ], + [ + 17, + 15, + 18 + ], + [ + 18, + 16, + 19 + ], + [ + 17, + 19, + 16 + ], + [ + 18, + 23, + 20 + ], + [ + 23, + 21, + 19 + ], + [ + 20, + 22, + 23 + ], + [ + 21, + 20 + ], + [ + 20, + 19, + 24 + ], + [ + 25, + 23, + 26 + ], + [ + 26, + 24, + 27 + ], + [ + 25, + 27, + 24 + ], + [ + 26, + 25, + 24 + ], + [ + 29, + 10, + 7 + ], + [ + 30, + 28, + 31 + ], + [ + 31, + 29, + 32 + ], + [ + 32, + 30, + 33 + ], + [ + 31, + 33, + 30 + ], + [ + 34, + 32, + 31 + ], + [ + 35, + 33, + 32 + ], + [ + 34, + 36, + 33 + ], + [ + 37, + 35, + 38 + ], + [ + 36, + 38, + 41 + ], + [ + 39, + 37, + 41 + ], + [ + 40, + 38, + 46 + ], + [ + 39, + 38, + 46 + ], + [ + 45, + 42, + 38 + ], + [ + 44, + 41, + 47 + ], + [ + 47, + 44, + 42 + ], + [ + 43, + 42, + 45 + ], + [ + 41, + 44, + 42 + ], + [ + 40, + 39, + 41 + ], + [ + 43, + 48, + 42 + ], + [ + 49, + 47, + 43 + ], + [ + 50, + 48, + 47 + ], + [ + 49, + 51, + 48 + ], + [ + 52, + 50, + 53 + ], + [ + 55, + 51, + 53 + ], + [ + 54, + 52, + 55 + ], + [ + 53, + 52, + 55 + ], + [ + 56, + 52, + 53 + ], + [ + 55, + 52, + 53 + ], + [ + 58, + 59 + ], + [ + 57, + 59, + 60 + ], + [ + 60, + 64, + 58 + ], + [ + 59, + 61, + 64 + ], + [ + 62, + 60, + 63 + ], + [ + 63, + 61, + 60 + ], + [ + 62, + 61 + ], + [ + 59, + 65, + 60 + ], + [ + 66, + 64, + 59 + ], + [ + 67, + 65, + 64 + ], + [ + 66, + 68, + 65 + ], + [ + 67, + 69, + 66 + ], + [ + 70, + 68, + 71 + ], + [ + 69, + 71, + 72 + ], + [ + 72, + 70, + 73 + ], + [ + 71, + 73, + 70 + ], + [ + 72, + 74, + 71 + ], + [ + 73, + 75, + 72 + ], + [ + 76, + 74, + 73 + ], + [ + 75, + 74 + ], + [ + 2, + 78, + 0 + ], + [ + 79, + 77, + 2 + ], + [ + 80, + 78, + 77 + ], + [ + 79, + 78, + 77 + ], + [ + 82, + 83, + 84 + ], + [ + 81, + 83, + 84 + ], + [ + 84, + 82, + 81 + ], + [ + 83, + 85, + 82 + ], + [ + 86, + 84, + 87 + ], + [ + 87, + 85, + 84 + ], + [ + 86, + 85 + ], + [ + 89, + 90 + ], + [ + 90, + 88, + 91 + ], + [ + 91, + 89, + 92 + ], + [ + 90, + 92, + 89 + ], + [ + 93, + 91, + 94 + ], + [ + 92, + 94, + 95 + ], + [ + 95, + 93, + 92 + ], + [ + 94, + 93, + 92 + ], + [ + 97, + 98, + 99 + ], + [ + 96, + 98, + 99 + ], + [ + 99, + 97, + 100 + ], + [ + 98, + 100, + 101 + ], + [ + 101, + 99, + 98 + ], + [ + 100, + 102, + 99 + ], + [ + 103, + 101, + 100 + ], + [ + 102, + 104, + 105 + ], + [ + 105, + 103, + 106 + ], + [ + 104, + 106, + 103 + ], + [ + 105, + 107, + 104 + ], + [ + 108, + 106, + 109 + ], + [ + 107, + 109, + 110 + ], + [ + 110, + 108, + 107 + ], + [ + 109, + 111, + 108 + ], + [ + 112, + 110, + 109 + ], + [ + 111, + 110 + ], + [ + 114, + 115, + 116 + ], + [ + 115, + 113, + 116 + ], + [ + 114, + 116, + 113 + ], + [ + 117, + 115, + 118 + ], + [ + 118, + 116, + 115 + ], + [ + 117, + 116, + 115 + ], + [ + 1, + 120, + 0 + ], + [ + 119, + 121, + 1 + ], + [ + 120, + 123, + 122 + ], + [ + 123, + 121, + 124 + ], + [ + 122, + 124, + 121 + ], + [ + 125, + 123, + 122 + ], + [ + 124, + 126, + 127 + ], + [ + 127, + 125, + 133 + ], + [ + 126, + 133, + 128 + ], + [ + 129, + 127, + 130 + ], + [ + 128, + 130, + 131 + ], + [ + 129, + 131, + 128 + ], + [ + 130, + 132, + 129 + ], + [ + 131, + 130 + ], + [ + 127, + 134, + 126 + ], + [ + 135, + 133, + 127 + ], + [ + 134, + 136, + 133 + ], + [ + 137, + 135, + 138 + ], + [ + 138, + 136, + 139 + ], + [ + 137, + 139, + 136 + ], + [ + 140, + 138, + 141 + ], + [ + 139, + 141, + 138 + ], + [ + 140, + 142, + 139 + ], + [ + 143, + 141, + 144 + ], + [ + 142, + 144, + 145 + ], + [ + 145, + 143, + 146 + ], + [ + 144, + 146, + 143 + ], + [ + 147, + 154, + 145 + ], + [ + 154, + 146, + 148 + ], + [ + 149, + 147, + 155 + ], + [ + 150, + 148, + 156 + ], + [ + 149, + 151, + 161 + ], + [ + 152, + 161, + 150 + ], + [ + 151, + 161, + 153 + ], + [ + 162, + 152, + 163 + ], + [ + 147, + 146, + 155 + ], + [ + 156, + 154, + 148 + ], + [ + 155, + 157, + 158 + ], + [ + 156, + 158, + 159 + ], + [ + 159, + 157, + 160 + ], + [ + 158, + 160, + 157 + ], + [ + 159, + 161, + 158 + ], + [ + 151, + 152, + 160 + ], + [ + 163, + 153, + 164 + ], + [ + 162, + 164, + 153 + ], + [ + 163, + 165, + 162 + ], + [ + 166, + 164, + 170 + ], + [ + 170, + 167, + 169 + ], + [ + 169, + 166, + 170 + ], + [ + 190, + 167, + 169 + ], + [ + 167, + 170, + 166 + ], + [ + 166, + 169, + 167 + ], + [ + 172, + 173, + 174 + ], + [ + 171, + 173, + 174 + ], + [ + 172, + 174, + 171 + ], + [ + 175, + 173, + 176 + ], + [ + 174, + 176, + 173 + ], + [ + 177, + 175, + 174 + ], + [ + 176, + 178, + 175 + ], + [ + 179, + 177, + 182 + ], + [ + 182, + 178, + 180 + ], + [ + 182, + 181, + 179 + ], + [ + 183, + 180, + 184 + ], + [ + 179, + 180, + 178 + ], + [ + 184, + 181, + 185 + ], + [ + 183, + 185, + 186 + ], + [ + 184, + 186, + 183 + ], + [ + 185, + 187, + 184 + ], + [ + 188, + 186, + 185 + ], + [ + 187, + 189, + 190 + ], + [ + 190, + 188, + 187 + ], + [ + 189, + 168, + 188 + ] + ] + }, + "positions": [ + [ + 2616.0, + 2197.0 + ], + [ + 2583.0, + 2199.0 + ], + [ + 2646.0, + 2202.0 + ], + [ + 3552.0, + 384.0 + ], + [ + 3559.0, + 407.0 + ], + [ + 3718.0, + 347.0 + ], + [ + 3725.0, + 372.0 + ], + [ + 3841.0, + 2141.0 + ], + [ + 3882.0, + 2147.0 + ], + [ + 3942.0, + 2138.0 + ], + [ + 3838.0, + 2188.0 + ], + [ + 3885.0, + 2188.0 + ], + [ + 3929.0, + 2188.0 + ], + [ + 3976.0, + 2185.0 + ], + [ + 4036.0, + 2194.0 + ], + [ + 4080.0, + 2191.0 + ], + [ + 4139.0, + 2191.0 + ], + [ + 4174.0, + 2188.0 + ], + [ + 4205.0, + 2185.0 + ], + [ + 4249.0, + 2185.0 + ], + [ + 4280.0, + 2144.0 + ], + [ + 4277.0, + 2100.0 + ], + [ + 4277.0, + 2047.0 + ], + [ + 4293.0, + 2185.0 + ], + [ + 4337.0, + 2185.0 + ], + [ + 4375.0, + 2185.0 + ], + [ + 4406.0, + 2185.0 + ], + [ + 4431.0, + 2163.0 + ], + [ + 3778.0, + 2188.0 + ], + [ + 3719.0, + 2188.0 + ], + [ + 3672.0, + 2188.0 + ], + [ + 3628.0, + 2188.0 + ], + [ + 3600.0, + 2185.0 + ], + [ + 3556.0, + 2188.0 + ], + [ + 3515.0, + 2188.0 + ], + [ + 3477.0, + 2188.0 + ], + [ + 3427.0, + 2188.0 + ], + [ + 3380.0, + 2191.0 + ], + [ + 3367.0, + 2241.0 + ], + [ + 3364.0, + 2288.0 + ], + [ + 3364.0, + 2310.0 + ], + [ + 3302.0, + 2229.0 + ], + [ + 3242.0, + 2229.0 + ], + [ + 3192.0, + 2185.0 + ], + [ + 3239.0, + 2178.0 + ], + [ + 3292.0, + 2185.0 + ], + [ + 3295.0, + 2313.0 + ], + [ + 3179.0, + 2222.0 + ], + [ + 3126.0, + 2226.0 + ], + [ + 3076.0, + 2229.0 + ], + [ + 3032.0, + 2235.0 + ], + [ + 2972.0, + 2232.0 + ], + [ + 2916.0, + 2226.0 + ], + [ + 2916.0, + 2160.0 + ], + [ + 2916.0, + 2122.0 + ], + [ + 2866.0, + 2222.0 + ], + [ + 2818.0, + 2226.0 + ], + [ + 3587.0, + 1664.0 + ], + [ + 3587.0, + 1611.0 + ], + [ + 3587.0, + 1545.0 + ], + [ + 3553.0, + 1532.0 + ], + [ + 3493.0, + 1523.0 + ], + [ + 3440.0, + 1523.0 + ], + [ + 3402.0, + 1523.0 + ], + [ + 3612.0, + 1516.0 + ], + [ + 3659.0, + 1526.0 + ], + [ + 3706.0, + 1523.0 + ], + [ + 3747.0, + 1529.0 + ], + [ + 3800.0, + 1532.0 + ], + [ + 3854.0, + 1526.0 + ], + [ + 3898.0, + 1526.0 + ], + [ + 3954.0, + 1523.0 + ], + [ + 3986.0, + 1523.0 + ], + [ + 4029.0, + 1529.0 + ], + [ + 4080.0, + 1529.0 + ], + [ + 4136.0, + 1523.0 + ], + [ + 4180.0, + 1523.0 + ], + [ + 2680.0, + 2197.0 + ], + [ + 2680.0, + 2147.0 + ], + [ + 2668.0, + 2100.0 + ], + [ + 2652.0, + 2075.0 + ], + [ + 2624.0, + 1946.0 + ], + [ + 2618.0, + 1909.0 + ], + [ + 2599.0, + 1865.0 + ], + [ + 2593.0, + 1821.0 + ], + [ + 2586.0, + 1758.0 + ], + [ + 2571.0, + 1714.0 + ], + [ + 2561.0, + 1689.0 + ], + [ + 2458.0, + 1278.0 + ], + [ + 2445.0, + 1215.0 + ], + [ + 2433.0, + 1162.0 + ], + [ + 2414.0, + 1131.0 + ], + [ + 2401.0, + 1074.0 + ], + [ + 2392.0, + 1040.0 + ], + [ + 2382.0, + 986.0 + ], + [ + 2373.0, + 952.0 + ], + [ + 3324.0, + 804.0 + ], + [ + 3361.0, + 814.0 + ], + [ + 3405.0, + 807.0 + ], + [ + 3440.0, + 807.0 + ], + [ + 3484.0, + 804.0 + ], + [ + 3518.0, + 804.0 + ], + [ + 3571.0, + 804.0 + ], + [ + 3615.0, + 807.0 + ], + [ + 3666.0, + 811.0 + ], + [ + 3706.0, + 811.0 + ], + [ + 3753.0, + 811.0 + ], + [ + 3816.0, + 817.0 + ], + [ + 3860.0, + 814.0 + ], + [ + 3904.0, + 807.0 + ], + [ + 3945.0, + 807.0 + ], + [ + 3998.0, + 807.0 + ], + [ + 4042.0, + 811.0 + ], + [ + 4331.0, + 1046.0 + ], + [ + 4331.0, + 1083.0 + ], + [ + 4328.0, + 1115.0 + ], + [ + 4334.0, + 1159.0 + ], + [ + 4331.0, + 1203.0 + ], + [ + 4331.0, + 1234.0 + ], + [ + 2549.0, + 2197.0 + ], + [ + 2502.0, + 2197.0 + ], + [ + 2451.0, + 2197.0 + ], + [ + 2398.0, + 2172.0 + ], + [ + 2398.0, + 2207.0 + ], + [ + 2357.0, + 2216.0 + ], + [ + 2316.0, + 2216.0 + ], + [ + 2273.0, + 2216.0 + ], + [ + 2260.0, + 2185.0 + ], + [ + 2260.0, + 2131.0 + ], + [ + 2260.0, + 2091.0 + ], + [ + 2260.0, + 2047.0 + ], + [ + 2254.0, + 2000.0 + ], + [ + 2254.0, + 1949.0 + ], + [ + 2225.0, + 2216.0 + ], + [ + 2178.0, + 2216.0 + ], + [ + 2144.0, + 2216.0 + ], + [ + 2081.0, + 2216.0 + ], + [ + 2040.0, + 2216.0 + ], + [ + 2006.0, + 2216.0 + ], + [ + 1959.0, + 2210.0 + ], + [ + 1931.0, + 2219.0 + ], + [ + 1899.0, + 2219.0 + ], + [ + 1849.0, + 2219.0 + ], + [ + 1818.0, + 2213.0 + ], + [ + 1774.0, + 2222.0 + ], + [ + 1745.0, + 2216.0 + ], + [ + 1714.0, + 2182.0 + ], + [ + 1683.0, + 2153.0 + ], + [ + 1648.0, + 2113.0 + ], + [ + 1617.0, + 2075.0 + ], + [ + 1592.0, + 2047.0 + ], + [ + 1548.0, + 2000.0 + ], + [ + 1520.0, + 1975.0 + ], + [ + 1469.0, + 1934.0 + ], + [ + 1717.0, + 2138.0 + ], + [ + 1714.0, + 2084.0 + ], + [ + 1705.0, + 2047.0 + ], + [ + 1702.0, + 2009.0 + ], + [ + 1698.0, + 1965.0 + ], + [ + 1673.0, + 1943.0 + ], + [ + 1626.0, + 1946.0 + ], + [ + 1573.0, + 1965.0 + ], + [ + 1425.0, + 1905.0 + ], + [ + 1391.0, + 1871.0 + ], + [ + 1347.0, + 1840.0 + ], + [ + 1300.0, + 1802.0 + ], + [ + 1256.0, + 1771.0 + ], + [ + 1212.0, + 1758.0 + ], + [ + 1156.0, + 1733.0 + ], + [ + 1228.0, + 1727.0 + ], + [ + 1269.0, + 1745.0 + ], + [ + 478.0, + 1422.0 + ], + [ + 481.0, + 1454.0 + ], + [ + 503.0, + 1485.0 + ], + [ + 528.0, + 1532.0 + ], + [ + 534.0, + 1557.0 + ], + [ + 569.0, + 1595.0 + ], + [ + 610.0, + 1592.0 + ], + [ + 657.0, + 1601.0 + ], + [ + 701.0, + 1598.0 + ], + [ + 767.0, + 1629.0 + ], + [ + 823.0, + 1626.0 + ], + [ + 729.0, + 1607.0 + ], + [ + 864.0, + 1633.0 + ], + [ + 898.0, + 1633.0 + ], + [ + 930.0, + 1648.0 + ], + [ + 967.0, + 1658.0 + ], + [ + 1005.0, + 1673.0 + ], + [ + 1043.0, + 1680.0 + ], + [ + 1083.0, + 1689.0 + ], + [ + 1115.0, + 1705.0 + ] + ] + }, + "5": { + "id": "5", + "floor_name": "5", + "pathfinder_data": { + "neighbors": [ + [ + "Лестница", + "1-510", + "1-508" + ], + [ + "1-510", + "Лестница" + ], + [ + "Лестница", + "1-510", + "1-508" + ], + [ + "Лестница", + "1-508" + ], + [ + "1-508" + ], + [ + "1-508", + "1-506" + ], + [ + "1-506", + "1-508" + ], + [ + "1-506", + "1-509", + "1-507" + ], + [ + "1-506" + ], + [ + "1-506", + "1-507", + "1-505" + ], + [ + "1-506", + "1-500" + ], + [ + "1-503", + "1-505", + "1-500" + ], + [ + "1-503" + ], + [ + "1-503", + "1-500" + ], + [], + [], + [ + "1-501" + ], + [ + "1-506", + "1-504" + ], + [ + "1-504", + "1-502" + ], + [ + "1-504", + "1-502", + "Лестница" + ], + [ + "1-502", + "Лестница" + ], + [ + "1-510" + ], + [ + "1-513", + "1-510" + ], + [ + "1-513", + "1-510" + ], + [ + "1-512", + "1-510" + ], + [ + "1-513", + "1-510", + "1-512" + ], + [ + "1-512" + ], + [ + "1-512" + ], + [ + "1-514", + "1-512" + ], + [ + "1-515", + "1-514", + "1-512" + ], + [ + "1-516", + "1-514" + ], + [ + "1-516", + "1-515", + "1-514" + ], + [ + "1-515", + "1-516" + ], + [ + "1-523" + ], + [ + "1-523", + "1-515", + "1-516" + ], + [ + "1-520", + "1-523", + "Лестница", + "1-516", + "1-515" + ], + [ + "1-520", + "1-523", + "Лестница" + ], + [ + "1-522", + "1-523", + "1-520" + ], + [ + "1-524", + "1-522", + "1-520" + ], + [], + [ + "1-525" + ], + [ + "1-528", + "1-525", + "1-526" + ], + [ + "1-528", + "1-527", + "1-526" + ], + [ + "1-527", + "1-525" + ], + [ + "Лестница" + ], + [ + "Лестница", + "1-527", + "1-525" + ], + [ + "1-527", + "1-530", + "1-528" + ], + [ + "1-530" + ], + [ + "1-530", + "1-527" + ], + [ + "1-530" + ], + [ + "Лестница", + "7-502", + "1-530" + ], + [ + "Лестница", + "7-502" + ], + [ + "Лестница" + ], + [ + "Лестница", + "7-501" + ], + [ + "Лестница", + "7-501" + ], + [ + "Лестница", + "7-501", + "10-503" + ], + [ + "10-503", + "Лестница" + ], + [ + "10-504", + "10-503" + ], + [ + "10-504" + ], + [ + "10-505", + "10-504" + ], + [ + "10-506", + "10-505" + ], + [ + "10-505", + "10-504", + "10-506" + ], + [ + "10-506", + "10-508" + ], + [ + "10-508", + "10-506" + ], + [ + "10-508" + ], + [ + "10-509" + ], + [ + "10-508", + "10-511" + ], + [ + "10-509", + "10-511" + ], + [ + "10-511" + ], + [], + [ + "Лестница", + "10-512" + ], + [ + "10-512", + "10-513" + ], + [ + "10-514", + "10-513" + ], + [ + "10-514", + "10-515" + ], + [ + "10-514", + "10-515" + ], + [ + "10-516" + ], + [ + "10-515", + "10-516" + ], + [ + "10-516" + ], + [ + "Лестница", + "7-502" + ], + [ + "Лестница" + ], + [ + "Лестница" + ], + [ + "7-502" + ], + [ + "7-504", + "7-502" + ], + [ + "7-504", + "7-503" + ], + [ + "7-505", + "7-502", + "7-503" + ], + [ + "7-505" + ], + [], + [ + "7-504" + ], + [ + "7-508" + ], + [ + "7-504" + ], + [ + "7-507", + "7-508" + ], + [ + "7-509", + "7-508", + "7-507" + ], + [], + [ + "7-508" + ], + [ + "7-512" + ], + [], + [ + "7-514", + "7-512", + "7-509" + ], + [ + "Лестница", + "7-514", + "7-512" + ], + [ + "7-514" + ], + [ + "7-516", + "Лестница" + ], + [ + "7-520", + "7-516", + "7-514" + ], + [ + "7-518" + ], + [ + "7-520" + ], + [], + [], + [], + [], + [], + [ + "7-520" + ], + [], + [], + [], + [], + [ + "7-511" + ], + [ + "7-511" + ], + [ + "7-511" + ], + [ + "7-511" + ], + [ + "7-520", + "7-511" + ], + [ + "7-520", + "7-518" + ], + [], + [ + "7-522" + ], + [ + "7-524" + ], + [], + [ + "7-522" + ], + [ + "7-522" + ], + [ + "7-513", + "7-526" + ], + [ + "7-528", + "7-513", + "7-526" + ], + [ + "7-526", + "Лестница" + ], + [ + "7-515", + "Лестница", + "7-528" + ], + [ + "7-515", + "7-528", + "Лестница" + ], + [ + "7-528", + "7-515", + "Лестница" + ], + [ + "7-528", + "Лестница", + "7-513" + ], + [ + "7-517", + "7-515", + "7-530", + "7-528" + ], + [ + "7-519", + "7-517", + "7-530" + ], + [ + "7-519", + "7-532", + "7-530", + "7-515" + ], + [ + "7-519", + "7-532", + "7-530" + ], + [ + "7-519", + "7-532" + ], + [ + "7-521", + "7-536", + "7-519", + "7-534" + ], + [ + "7-521", + "7-536", + "7-534" + ], + [ + "7-521", + "7-534", + "7-519" + ], + [ + "7-521", + "7-536" + ], + [ + "7-523", + "7-538", + "7-536" + ], + [ + "7-523", + "7-521", + "7-538" + ], + [ + "7-523", + "7-540", + "7-538" + ], + [ + "7-540" + ], + [ + "7-540", + "7-523" + ], + [ + "7-542", + "7-540" + ], + [ + "Лестница" + ] + ], + "graph": [ + [ + 2, + 1, + 3 + ], + [ + 0, + 2, + 21 + ], + [ + 0, + 3, + 1 + ], + [ + 2, + 4, + 0 + ], + [ + 5, + 3, + 6 + ], + [ + 4, + 6, + 3 + ], + [ + 5, + 7, + 4 + ], + [ + 8, + 6, + 9 + ], + [ + 7, + 9, + 10 + ], + [ + 8, + 10, + 17 + ], + [ + 9, + 17, + 11 + ], + [ + 12, + 10, + 9 + ], + [ + 13, + 11, + 14 + ], + [ + 12, + 14, + 11 + ], + [ + 15, + 13, + 12 + ], + [ + 14, + 16, + 13 + ], + [ + 15, + 14 + ], + [ + 10, + 18, + 9 + ], + [ + 17, + 19, + 10 + ], + [ + 18, + 20, + 17 + ], + [ + 19, + 18 + ], + [ + 22, + 1, + 23 + ], + [ + 23, + 24, + 21 + ], + [ + 24, + 22, + 25 + ], + [ + 25, + 23, + 22 + ], + [ + 24, + 23, + 26 + ], + [ + 27, + 28, + 25 + ], + [ + 28, + 26, + 29 + ], + [ + 27, + 29, + 26 + ], + [ + 28, + 30, + 27 + ], + [ + 29, + 31, + 28 + ], + [ + 32, + 30, + 34 + ], + [ + 31, + 34, + 35 + ], + [ + 34, + 35, + 36 + ], + [ + 33, + 35, + 32 + ], + [ + 34, + 33, + 36 + ], + [ + 37, + 33, + 35 + ], + [ + 36, + 38, + 33 + ], + [ + 39, + 37, + 40 + ], + [ + 38, + 40, + 37 + ], + [ + 41, + 39, + 38 + ], + [ + 40, + 42, + 43 + ], + [ + 43, + 41, + 46 + ], + [ + 42, + 44, + 46 + ], + [ + 45, + 43, + 42 + ], + [ + 44, + 43 + ], + [ + 47, + 43, + 42 + ], + [ + 46, + 48, + 49 + ], + [ + 49, + 47, + 50 + ], + [ + 48, + 50, + 51 + ], + [ + 51, + 49, + 78 + ], + [ + 52, + 50, + 78 + ], + [ + 51, + 53, + 78 + ], + [ + 54, + 52, + 51 + ], + [ + 55, + 53, + 56 + ], + [ + 54, + 56, + 57 + ], + [ + 57, + 55, + 58 + ], + [ + 58, + 56, + 59 + ], + [ + 59, + 57, + 60 + ], + [ + 58, + 60, + 61 + ], + [ + 61, + 59, + 58 + ], + [ + 60, + 62, + 59 + ], + [ + 63, + 61, + 60 + ], + [ + 64, + 62, + 65 + ], + [ + 63, + 65, + 62 + ], + [ + 64, + 66, + 63 + ], + [ + 65, + 67, + 68 + ], + [ + 68, + 66, + 69 + ], + [ + 67, + 69, + 66 + ], + [ + 68, + 70, + 67 + ], + [ + 71, + 69, + 72 + ], + [ + 72, + 70, + 73 + ], + [ + 71, + 73, + 70 + ], + [ + 74, + 72, + 71 + ], + [ + 75, + 73, + 76 + ], + [ + 74, + 76, + 73 + ], + [ + 77, + 75, + 74 + ], + [ + 76, + 75 + ], + [ + 79, + 50, + 51 + ], + [ + 78, + 80, + 50 + ], + [ + 79, + 81, + 78 + ], + [ + 82, + 80, + 83 + ], + [ + 81, + 83, + 84 + ], + [ + 84, + 82, + 85 + ], + [ + 83, + 85, + 82 + ], + [ + 84, + 86, + 83 + ], + [ + 87, + 85, + 88 + ], + [ + 86, + 88, + 89 + ], + [ + 89, + 87, + 90 + ], + [ + 88, + 90, + 87 + ], + [ + 89, + 91, + 88 + ], + [ + 90, + 92, + 93 + ], + [ + 93, + 91, + 94 + ], + [ + 92, + 94, + 91 + ], + [ + 93, + 95, + 92 + ], + [ + 96, + 94, + 97 + ], + [ + 97, + 95, + 98 + ], + [ + 96, + 98, + 99 + ], + [ + 99, + 97, + 96 + ], + [ + 98, + 100, + 101 + ], + [ + 101, + 99, + 118 + ], + [ + 118, + 100, + 102 + ], + [ + 118, + 103, + 117 + ], + [ + 102, + 104, + 117 + ], + [ + 103, + 105, + 115 + ], + [ + 106, + 104, + 103 + ], + [ + 105, + 107, + 108 + ], + [ + 108, + 106, + 119 + ], + [ + 109, + 107, + 106 + ], + [ + 108, + 110, + 107 + ], + [ + 109, + 111, + 108 + ], + [ + 112, + 110, + 113 + ], + [ + 111, + 113, + 110 + ], + [ + 112, + 114, + 111 + ], + [ + 113, + 115, + 112 + ], + [ + 116, + 114, + 117 + ], + [ + 117, + 115, + 103 + ], + [ + 116, + 118, + 102 + ], + [ + 101, + 102, + 117 + ], + [ + 120, + 107, + 108 + ], + [ + 121, + 119, + 122 + ], + [ + 122, + 120, + 123 + ], + [ + 121, + 123, + 120 + ], + [ + 122, + 124, + 121 + ], + [ + 125, + 123, + 126 + ], + [ + 124, + 126, + 123 + ], + [ + 125, + 127, + 131 + ], + [ + 131, + 128, + 126 + ], + [ + 130, + 127, + 131 + ], + [ + 132, + 130, + 128 + ], + [ + 128, + 131, + 129 + ], + [ + 127, + 130, + 128 + ], + [ + 129, + 133, + 134 + ], + [ + 134, + 132, + 129 + ], + [ + 135, + 133, + 136 + ], + [ + 136, + 134, + 133 + ], + [ + 135, + 137, + 138 + ], + [ + 138, + 136, + 139 + ], + [ + 137, + 139, + 140 + ], + [ + 140, + 138, + 141 + ], + [ + 139, + 141, + 138 + ], + [ + 140, + 142, + 139 + ], + [ + 143, + 141, + 140 + ], + [ + 144, + 142, + 145 + ], + [ + 145, + 143, + 146 + ], + [ + 144, + 146, + 147 + ], + [ + 145, + 147, + 144 + ], + [ + 146, + 145, + 144 + ] + ] + }, + "positions": [ + [ + 3895.0, + 2135.0 + ], + [ + 3848.0, + 2135.0 + ], + [ + 3929.0, + 2135.0 + ], + [ + 3979.0, + 2135.0 + ], + [ + 4029.0, + 2138.0 + ], + [ + 4070.0, + 2135.0 + ], + [ + 4111.0, + 2141.0 + ], + [ + 4168.0, + 2141.0 + ], + [ + 4199.0, + 2144.0 + ], + [ + 4233.0, + 2144.0 + ], + [ + 4271.0, + 2141.0 + ], + [ + 4274.0, + 2091.0 + ], + [ + 4280.0, + 2044.0 + ], + [ + 4321.0, + 2031.0 + ], + [ + 4337.0, + 1987.0 + ], + [ + 4340.0, + 1946.0 + ], + [ + 4337.0, + 1890.0 + ], + [ + 4271.0, + 2185.0 + ], + [ + 4315.0, + 2185.0 + ], + [ + 4365.0, + 2185.0 + ], + [ + 4415.0, + 2182.0 + ], + [ + 3763.0, + 2135.0 + ], + [ + 3713.0, + 2135.0 + ], + [ + 3678.0, + 2138.0 + ], + [ + 3681.0, + 2172.0 + ], + [ + 3672.0, + 2200.0 + ], + [ + 3597.0, + 2191.0 + ], + [ + 3562.0, + 2191.0 + ], + [ + 3531.0, + 2191.0 + ], + [ + 3493.0, + 2191.0 + ], + [ + 3449.0, + 2191.0 + ], + [ + 3402.0, + 2185.0 + ], + [ + 3367.0, + 2185.0 + ], + [ + 3283.0, + 2185.0 + ], + [ + 3317.0, + 2185.0 + ], + [ + 3302.0, + 2222.0 + ], + [ + 3242.0, + 2222.0 + ], + [ + 3201.0, + 2222.0 + ], + [ + 3138.0, + 2222.0 + ], + [ + 3098.0, + 2226.0 + ], + [ + 3044.0, + 2235.0 + ], + [ + 2994.0, + 2229.0 + ], + [ + 2941.0, + 2222.0 + ], + [ + 2919.0, + 2188.0 + ], + [ + 2919.0, + 2138.0 + ], + [ + 2916.0, + 2094.0 + ], + [ + 2872.0, + 2222.0 + ], + [ + 2825.0, + 2222.0 + ], + [ + 2775.0, + 2222.0 + ], + [ + 2737.0, + 2222.0 + ], + [ + 2687.0, + 2222.0 + ], + [ + 2687.0, + 2175.0 + ], + [ + 2674.0, + 2135.0 + ], + [ + 2655.0, + 2075.0 + ], + [ + 2633.0, + 2018.0 + ], + [ + 2615.0, + 1965.0 + ], + [ + 2627.0, + 1909.0 + ], + [ + 2608.0, + 1865.0 + ], + [ + 2599.0, + 1818.0 + ], + [ + 2586.0, + 1777.0 + ], + [ + 2574.0, + 1733.0 + ], + [ + 2561.0, + 1695.0 + ], + [ + 2552.0, + 1645.0 + ], + [ + 2536.0, + 1601.0 + ], + [ + 2524.0, + 1557.0 + ], + [ + 2511.0, + 1510.0 + ], + [ + 2505.0, + 1460.0 + ], + [ + 2483.0, + 1407.0 + ], + [ + 2480.0, + 1372.0 + ], + [ + 2470.0, + 1322.0 + ], + [ + 2451.0, + 1269.0 + ], + [ + 2442.0, + 1225.0 + ], + [ + 2436.0, + 1193.0 + ], + [ + 2423.0, + 1146.0 + ], + [ + 2411.0, + 1102.0 + ], + [ + 2398.0, + 1062.0 + ], + [ + 2382.0, + 1018.0 + ], + [ + 2379.0, + 974.0 + ], + [ + 2633.0, + 2207.0 + ], + [ + 2602.0, + 2207.0 + ], + [ + 2558.0, + 2197.0 + ], + [ + 2511.0, + 2191.0 + ], + [ + 2473.0, + 2191.0 + ], + [ + 2433.0, + 2197.0 + ], + [ + 2411.0, + 2213.0 + ], + [ + 2367.0, + 2219.0 + ], + [ + 2320.0, + 2216.0 + ], + [ + 2282.0, + 2213.0 + ], + [ + 2241.0, + 2213.0 + ], + [ + 2204.0, + 2213.0 + ], + [ + 2166.0, + 2213.0 + ], + [ + 2116.0, + 2219.0 + ], + [ + 2062.0, + 2219.0 + ], + [ + 2031.0, + 2213.0 + ], + [ + 1987.0, + 2216.0 + ], + [ + 1940.0, + 2216.0 + ], + [ + 1896.0, + 2207.0 + ], + [ + 1858.0, + 2210.0 + ], + [ + 1814.0, + 2222.0 + ], + [ + 1777.0, + 2222.0 + ], + [ + 1730.0, + 2216.0 + ], + [ + 1717.0, + 2185.0 + ], + [ + 1686.0, + 2153.0 + ], + [ + 1661.0, + 2122.0 + ], + [ + 1639.0, + 2087.0 + ], + [ + 1607.0, + 2059.0 + ], + [ + 1579.0, + 2028.0 + ], + [ + 1545.0, + 2000.0 + ], + [ + 1570.0, + 1978.0 + ], + [ + 1595.0, + 1971.0 + ], + [ + 1620.0, + 1956.0 + ], + [ + 1658.0, + 1949.0 + ], + [ + 1683.0, + 1949.0 + ], + [ + 1683.0, + 1984.0 + ], + [ + 1692.0, + 2018.0 + ], + [ + 1698.0, + 2059.0 + ], + [ + 1705.0, + 2091.0 + ], + [ + 1711.0, + 2122.0 + ], + [ + 1720.0, + 2156.0 + ], + [ + 1507.0, + 1959.0 + ], + [ + 1473.0, + 1927.0 + ], + [ + 1438.0, + 1909.0 + ], + [ + 1416.0, + 1884.0 + ], + [ + 1382.0, + 1865.0 + ], + [ + 1341.0, + 1840.0 + ], + [ + 1319.0, + 1821.0 + ], + [ + 1284.0, + 1805.0 + ], + [ + 1247.0, + 1780.0 + ], + [ + 1215.0, + 1758.0 + ], + [ + 1159.0, + 1733.0 + ], + [ + 1218.0, + 1727.0 + ], + [ + 1256.0, + 1745.0 + ], + [ + 1121.0, + 1720.0 + ], + [ + 1080.0, + 1705.0 + ], + [ + 1043.0, + 1683.0 + ], + [ + 1002.0, + 1673.0 + ], + [ + 964.0, + 1658.0 + ], + [ + 914.0, + 1645.0 + ], + [ + 886.0, + 1636.0 + ], + [ + 842.0, + 1629.0 + ], + [ + 814.0, + 1623.0 + ], + [ + 782.0, + 1617.0 + ], + [ + 735.0, + 1614.0 + ], + [ + 691.0, + 1607.0 + ], + [ + 647.0, + 1604.0 + ], + [ + 616.0, + 1604.0 + ], + [ + 585.0, + 1604.0 + ], + [ + 575.0, + 1570.0 + ] + ] + }, + "6": { + "id": "6", + "floor_name": "6", + "pathfinder_data": { + "neighbors": [ + [], + [ + "1-607" + ], + [], + [], + [], + [ + "1-605" + ], + [], + [ + "1-605" + ], + [ + "1-603" + ], + [], + [ + "1-603", + "1-601" + ], + [ + "1-603", + "1-601" + ], + [], + [ + "Лестница" + ], + [ + "Лестница" + ], + [], + [ + "1-609", + "1-607" + ], + [], + [], + [ + "1-609", + "1-611" + ], + [], + [], + [ + "1-614" + ], + [], + [ + "1-614" + ], + [ + "1-614", + "1-613" + ], + [ + "1-613", + "1-614" + ], + [ + "1-614" + ], + [ + "1-613", + "1-614" + ], + [ + "Лестница", + "1-613", + "1-614" + ] + ], + "graph": [ + [ + 16, + 1, + 2 + ], + [ + 2, + 0, + 3 + ], + [ + 1, + 3, + 0 + ], + [ + 4, + 2, + 5 + ], + [ + 5, + 3, + 6 + ], + [ + 6, + 4, + 3 + ], + [ + 5, + 7, + 4 + ], + [ + 8, + 6, + 5 + ], + [ + 7, + 9, + 10 + ], + [ + 8, + 10, + 12 + ], + [ + 9, + 11, + 8 + ], + [ + 10, + 9, + 8 + ], + [ + 13, + 9, + 10 + ], + [ + 14, + 12, + 15 + ], + [ + 13, + 15, + 12 + ], + [ + 14, + 13, + 12 + ], + [ + 0, + 17, + 1 + ], + [ + 16, + 18, + 0 + ], + [ + 19, + 17, + 20 + ], + [ + 18, + 20, + 17 + ], + [ + 19, + 21, + 18 + ], + [ + 22, + 20, + 23 + ], + [ + 23, + 21, + 24 + ], + [ + 22, + 24, + 25 + ], + [ + 25, + 23, + 26 + ], + [ + 24, + 26, + 27 + ], + [ + 27, + 25, + 29 + ], + [ + 26, + 28, + 29 + ], + [ + 29, + 27, + 26 + ], + [ + 28, + 27, + 26 + ] + ] + }, + "positions": [ + [ + 3898.0, + 2188.0 + ], + [ + 3945.0, + 2188.0 + ], + [ + 3979.0, + 2188.0 + ], + [ + 4029.0, + 2185.0 + ], + [ + 4067.0, + 2188.0 + ], + [ + 4105.0, + 2188.0 + ], + [ + 4142.0, + 2188.0 + ], + [ + 4183.0, + 2188.0 + ], + [ + 4221.0, + 2191.0 + ], + [ + 4268.0, + 2191.0 + ], + [ + 4268.0, + 2144.0 + ], + [ + 4268.0, + 2097.0 + ], + [ + 4318.0, + 2197.0 + ], + [ + 4365.0, + 2197.0 + ], + [ + 4397.0, + 2191.0 + ], + [ + 4434.0, + 2188.0 + ], + [ + 3854.0, + 2178.0 + ], + [ + 3804.0, + 2188.0 + ], + [ + 3747.0, + 2185.0 + ], + [ + 3700.0, + 2185.0 + ], + [ + 3647.0, + 2185.0 + ], + [ + 3593.0, + 2191.0 + ], + [ + 3546.0, + 2191.0 + ], + [ + 3502.0, + 2191.0 + ], + [ + 3455.0, + 2188.0 + ], + [ + 3418.0, + 2182.0 + ], + [ + 3377.0, + 2185.0 + ], + [ + 3342.0, + 2185.0 + ], + [ + 3302.0, + 2185.0 + ], + [ + 3308.0, + 2213.0 + ] + ] + } + } +} diff --git a/web/map/images/1.svg b/web/map/images/1.svg index c958017..b964bc5 100644 --- a/web/map/images/1.svg +++ b/web/map/images/1.svg @@ -54,6 +54,7 @@ + diff --git a/web/map/images/2.svg b/web/map/images/2.svg index 0f7838e..5eb9809 100644 --- a/web/map/images/2.svg +++ b/web/map/images/2.svg @@ -1,1856 +1,2234 @@ - - + + - - + + - - + + - - + + - - + + - - - - - - - - + + + + + + - - - - + + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - - - - + + + + + - - + + - - + + diff --git a/web/map/images/3.svg b/web/map/images/3.svg index 178ae66..13b52e2 100644 --- a/web/map/images/3.svg +++ b/web/map/images/3.svg @@ -48,6 +48,9 @@ + + + diff --git a/web/map/images/4.svg b/web/map/images/4.svg index 289951b..2be5ff7 100644 --- a/web/map/images/4.svg +++ b/web/map/images/4.svg @@ -43,6 +43,7 @@ + diff --git a/web/map/images/5.svg b/web/map/images/5.svg index 306bf23..7076cf7 100644 --- a/web/map/images/5.svg +++ b/web/map/images/5.svg @@ -38,6 +38,7 @@ + diff --git a/web/map/images/6.svg b/web/map/images/6.svg index b059167..e9f6785 100644 --- a/web/map/images/6.svg +++ b/web/map/images/6.svg @@ -35,6 +35,7 @@ + diff --git a/web/map/index.html b/web/map/index.html index b436693..112a5ef 100644 --- a/web/map/index.html +++ b/web/map/index.html @@ -6,8 +6,8 @@ Карта - - + +
@@ -76,12 +76,11 @@ Маршрут
-
- + diff --git a/web/map/js/map.js b/web/map/js/map.js index e0e0ccd..c3e7099 100644 --- a/web/map/js/map.js +++ b/web/map/js/map.js @@ -4,7 +4,7 @@ * both inside and outside Telegram. */ const FLOOR_COUNT = 6 -const MAP_VERSION = '1' +const MAP_VERSION = '15' const $ = (selector) => document.querySelector(selector) const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)) @@ -187,12 +187,12 @@ async function loadNavigatorManifest() { const value = await response.json() if (value && typeof value === 'object') state.navigatorManifest = value } catch (_) { - // The compiled graph is optional while the map UI is developed. + // The map itself remains usable if the embedded navigator data is unavailable. } } async function loadFloor(index) { - const response = await fetch(`./images/${index + 1}.svg`) + const response = await fetch(`./images/${index + 1}.svg?v=${MAP_VERSION}`) if (!response.ok) throw new Error(`floor ${index + 1}: ${response.status}`) const text = await response.text() fdata.floors[index] = text @@ -477,7 +477,7 @@ function initEruda() { if (window.eruda) return start() window.__zatupsErudaLoading = true const script = document.createElement('script') - script.src = '../common/eruda.min.js?v14' + script.src = `../common/eruda.min.js?v${MAP_VERSION}` script.onload = () => { window.__zatupsErudaLoading = false; start() } script.onerror = () => { window.__zatupsErudaLoading = false } document.head.append(script) @@ -567,7 +567,7 @@ function encodeText(value) { function createRouteStep(title, description) { const element = document.createElement('div') - element.className = 'route-step' + element.className = 'route-step route-step-message' const heading = document.createElement('strong') heading.textContent = title const text = document.createElement('span') @@ -576,6 +576,107 @@ function createRouteStep(title, description) { return element } +function createRouteIcon(kind, {descending = false} = {}) { + const wrapper = document.createElement('span') + wrapper.className = `route-step-icon route-step-icon-${kind}${descending ? ' descending' : ''}` + wrapper.setAttribute('aria-hidden', 'true') + const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg') + svg.setAttribute('viewBox', '0 0 24 24') + svg.setAttribute('focusable', 'false') + const paths = { + pin: ['M12 22s7-6.2 7-13a7 7 0 1 0-14 0c0 6.8 7 13 7 13Z', 'M12 6.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5Z'], + turn: ['M5 4v8a5 5 0 0 0 5 5h8', 'm14 13 4 4-4 4'], + stairs: ['M3 20h5v-4h4v-4h4V8h5V4'], + } + ;(paths[kind] || []).forEach((data) => { + const path = document.createElementNS('http://www.w3.org/2000/svg', 'path') + path.setAttribute('d', data) + svg.append(path) + }) + wrapper.append(svg) + return wrapper +} + +function scrollToCurrentRoute() { + const map = $('#wr') + const svg = currentSvg() + const route = svg?.querySelector('#Линия') + if (!map || !svg || !route) return + try { + const bbox = route.getBBox() + const viewBox = svg.viewBox?.baseVal + const svgHeight = viewBox?.height || svg.getBoundingClientRect().height + const scale = svgHeight ? svg.clientHeight / svgHeight : 1 + const center = (bbox.x + bbox.width / 2) * scale + const contentWidth = Math.max((viewBox?.width || svg.clientWidth) * scale, svg.clientWidth) + map.scrollTo({ + left: Math.max(0, Math.min(contentWidth - map.clientWidth, center - map.clientWidth / 2)), + behavior: 'smooth', + }) + } catch (_) { + // Older WebViews can fail to calculate an injected SVG group's bbox. + } +} + +function showRouteFloor(floor) { + setFloor(floor, {keepHighlight: true}) + requestAnimationFrame(scrollToCurrentRoute) +} + +function createRouteInstruction(label, icon, {floor = null, descending = false} = {}) { + const element = document.createElement('div') + element.className = 'route-step' + const row = document.createElement('div') + row.className = 'route-step-row' + const text = document.createElement('p') + text.className = 'route-step-label' + text.textContent = label + row.append(text, createRouteIcon(icon, {descending})) + element.append(row) + if (floor) { + const button = document.createElement('button') + button.type = 'button' + button.className = 'route-floor-button' + button.textContent = 'Показать этаж' + button.addEventListener('click', () => showRouteFloor(floor)) + element.append(button) + } + return element +} + +function renderRouteInstructions(steps, segments) { + const routeSegments = segments + .map((segment) => ({segment, floor: segmentFloor(segment)})) + .filter(({floor}) => Boolean(floor)) + if (!routeSegments.length) { + steps.append(createRouteStep('Маршрут пуст', 'Не удалось найти точки между аудиториями.')) + return + } + + const startFloor = routeSegments[0].floor + steps.append(createRouteInstruction(`Вы сейчас на ${startFloor} этаже`, 'pin', {floor: startFloor})) + if (routeSegments.length === 1) { + steps.append(createRouteInstruction('Пройдите до аудитории', 'pin')) + return + } + + steps.append(createRouteInstruction('Пройдите до лестницы', 'turn')) + for (let index = 1; index < routeSegments.length; index += 1) { + const previousFloor = routeSegments[index - 1].floor + const floor = routeSegments[index].floor + if (floor !== previousFloor) { + const descending = floor < previousFloor + steps.append(createRouteInstruction( + `${descending ? 'Спуститесь' : 'Поднимитесь'} на ${floor} этаж`, + 'stairs', + {floor, descending}, + )) + } + const last = index === routeSegments.length - 1 + steps.append(createRouteInstruction(last ? 'Пройдите до аудитории' : 'Пройдите до лестницы', last ? 'pin' : 'turn')) + } +} + function renderRouteSummary(summary, start, end) { summary.replaceChildren() if (!start || !end) return @@ -602,27 +703,6 @@ function enterRouteView() { } } -function closeRouteView() { - state.routeView = false - state.routeCollapsed = false - state.routeStatus = null - state.route = null - state.routeStart = null - state.routeEnd = null - state.highlightedRoom = '' - $('#app')?.classList.remove('route-view') - $('#route-card')?.classList.add('hidden') - $('#route-card')?.classList.remove('route-collapsed', 'route-failed') - $('#route-start')?.setAttribute('value', '') - $('#route-end')?.setAttribute('value', '') - if ($('#route-start')) $('#route-start').value = '' - if ($('#route-end')) $('#route-end').value = '' - currentSvg()?.querySelectorAll('.highlight').forEach((element) => element.classList.remove('highlight')) - currentSvg()?.querySelector('#Линия')?.remove() - applyMapHeightLock() - switchMode('search') -} - function toggleRouteCollapsed() { const card = $('#route-card') const button = $('#route-hide') @@ -653,15 +733,7 @@ function renderRouteCard() { } else { title.textContent = 'Маршрут построен' const segments = Array.isArray(state.route.segments) ? state.route.segments : [] - segments.forEach((segment, index) => { - const floor = segmentFloor(segment) || segment.floor_id || '?' - const nodes = Array.isArray(segment.node_ids || segment.array) ? (segment.node_ids || segment.array).length : 0 - steps.append(createRouteStep( - index === 0 ? `Начните на ${floor} этаже` : `Перейдите на ${floor} этаж`, - nodes ? `Точек маршрута: ${nodes}` : 'Покажите этот этаж на карте', - )) - }) - if (!segments.length) steps.append(createRouteStep('Маршрут пуст', 'Не удалось найти точки между аудиториями.')) + renderRouteInstructions(steps, segments) } enterRouteView() } @@ -717,7 +789,6 @@ function bindEvents() { $('#route-end')?.addEventListener('input', () => updateNavigatorHints('end')) $('#route-submit')?.addEventListener('click', submitRoute) $('#route-hide')?.addEventListener('click', toggleRouteCollapsed) - $('#route-open-navigator')?.addEventListener('click', closeRouteView) // Mobile WebViews resize their visual viewport when the keyboard opens. // Reapply the captured size, but never measure the shrunken viewport. document.addEventListener('focusin', (event) => { diff --git a/web/map/styles/main.css b/web/map/styles/main.css index 5fe372a..0924a54 100644 --- a/web/map/styles/main.css +++ b/web/map/styles/main.css @@ -352,7 +352,7 @@ input { padding: 0 0 .08rem 1.7rem; } -.primary-button, .secondary-button { +.primary-button { min-height: 2.3rem; padding: .34rem 1.1rem; border-radius: .78rem; @@ -372,11 +372,6 @@ input { cursor: not-allowed; } -.secondary-button { - color: #fff; - background: var(--panel-light); -} - .feedback { min-height: 0; margin: .3rem 0 0; @@ -448,22 +443,72 @@ input { .route-steps { display: grid; - gap: .42rem; - margin-bottom: .65rem; + gap: .72rem; + margin-top: .72rem; } .route-step { - padding: .48rem .58rem; - background: var(--panel-muted); - border-radius: .68rem; + padding: .12rem 0; } -.route-step strong { +.route-step-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: .9rem; + min-height: 1.8rem; +} + +.route-step-label { + margin: 0; + color: var(--panel-text); + font-size: 1.08rem; + line-height: 1.25; +} + +.route-step-icon { + flex: 0 0 1.55rem; + width: 1.55rem; + height: 1.55rem; + color: var(--panel-text); +} + +.route-step-icon svg { + display: block; + width: 100%; + height: 100%; + fill: none; + stroke: currentColor; + stroke-width: 2.25; + stroke-linecap: round; + stroke-linejoin: round; +} + +.route-step-icon-stairs.descending { + transform: rotate(180deg); +} + +.route-floor-button { + margin-top: .42rem; + padding: .38rem .72rem; + color: var(--panel-text); + background: var(--panel-light); + border-radius: .72rem; + font-size: 1rem; +} + +.route-step-message { + padding: .55rem .62rem; + background: var(--panel-muted); + border-radius: .72rem; +} + +.route-step-message strong { display: block; margin-bottom: .12rem; } -.route-step span { +.route-step-message > span { color: var(--panel-hint); font-size: .9rem; } @@ -492,8 +537,7 @@ input { } #app.route-view #route-card.route-collapsed #route-title, -#app.route-view #route-card.route-collapsed #route-steps, -#app.route-view #route-card.route-collapsed #route-open-navigator { +#app.route-view #route-card.route-collapsed #route-steps { display: none; }