From 351c224c40a80177fed7fe84e531af712b4be66e Mon Sep 17 00:00:00 2001 From: Cosmin Polifronie Date: Sun, 30 Aug 2026 07:23:48 +0300 Subject: [PATCH 01/19] Add 'show route on map' feature displaying the driveable route the selected train will take + add toggle for 'follow train' --- .gitignore | 3 + packages/map/components/Map.tsx | 16 +- packages/map/components/TrainRoute.tsx | 152 ++ packages/map/components/TrainText.tsx | 46 +- packages/map/components/railData.json | 1872 +++++++++++++++++ .../map/contexts/SelectedTrainContext.tsx | 36 +- packages/map/lib/trainRoute.ts | 380 ++++ packages/map/package.json | 3 +- packages/map/scripts/generate-rail-data.mjs | 970 +++++++++ packages/map/scripts/rail-helpers.mjs | 712 +++++++ packages/map/styles/TrainDetails.module.css | 2 + 11 files changed, 4181 insertions(+), 11 deletions(-) create mode 100644 packages/map/components/TrainRoute.tsx create mode 100644 packages/map/components/railData.json create mode 100644 packages/map/lib/trainRoute.ts create mode 100644 packages/map/scripts/generate-rail-data.mjs create mode 100644 packages/map/scripts/rail-helpers.mjs diff --git a/.gitignore b/.gitignore index 3424ff0..0e05197 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,6 @@ next-env.d.ts **/dist .pnpm-store/ + +# generator cache +packages/map/scripts/.cache/ diff --git a/packages/map/components/Map.tsx b/packages/map/components/Map.tsx index 9ec2d1d..89c4198 100644 --- a/packages/map/components/Map.tsx +++ b/packages/map/components/Map.tsx @@ -40,6 +40,7 @@ import SelectedTrainPopup from "./SelectedTrainPopup"; import { MainlineSignals, OtherSignals } from "./Signals"; import SneakpeekMarkers from "./Sneakpeeks"; import SpotlightSearch from "./SpotlightSearch"; +import TrainRoute from "./TrainRoute"; import style from "../styles/BottomLeftControls.module.css"; import mapStyles from "../styles/Map.module.css"; @@ -93,7 +94,7 @@ const LeaftletMap = ({ serverId }: MapProps) => { renderPopup === true ? MdSpeakerNotes : MdSpeakerNotesOff; const SatelliteIcon = isSatellite === true ? MdSatellite : MdSatelliteAlt; - const { selectedTrain, setSelectedTrain } = useSelectedTrain(); + const { selectedTrain, setSelectedTrain, followTrain } = useSelectedTrain(); const [stations, setStations] = useState(null); const [stoppedTrainsSince, setStoppedTrainsSince] = useState< Record @@ -176,12 +177,14 @@ const LeaftletMap = ({ serverId }: MapProps) => { if (updatedTrain !== selectedTrain) { setSelectedTrain(updatedTrain); } - map.panTo( - [updatedTrain.TrainData.Latititute, updatedTrain.TrainData.Longitute], - { animate: true, duration: 0.8, easeLinearity: 0.4 }, - ); + if (followTrain) { + map.panTo( + [updatedTrain.TrainData.Latititute, updatedTrain.TrainData.Longitute], + { animate: true, duration: 0.8, easeLinearity: 0.4 }, + ); + } } - }, [trains, selectedTrain, map, setSelectedTrain]); + }, [trains, selectedTrain, map, setSelectedTrain, followTrain]); useEffect(() => { if (trainId) { @@ -534,6 +537,7 @@ const LeaftletMap = ({ serverId }: MapProps) => { + diff --git a/packages/map/components/TrainRoute.tsx b/packages/map/components/TrainRoute.tsx new file mode 100644 index 0000000..a576612 --- /dev/null +++ b/packages/map/components/TrainRoute.tsx @@ -0,0 +1,152 @@ +import L from "leaflet"; +import { memo, useEffect, useMemo, useState } from "react"; +import { Polyline, Marker, useMap } from "react-leaflet"; + +import { useSelectedTrain } from "../contexts/SelectedTrainContext"; +import { getTrainRoute, type ColoredSegment } from "../lib/trainRoute"; + +const ROUTE_COLORS = { + green: "#2ecc71", + red: "#e74c3c", + grey: "#888888", +} as const; + +const ARROW_SPACING_KM = 1; + +function haversineKm(a: [number, number], b: [number, number]): number { + const R = 6371; + const dLat = ((b[0] - a[0]) * Math.PI) / 180; + const dLon = ((b[1] - a[1]) * Math.PI) / 180; + const la1 = (a[0] * Math.PI) / 180; + const la2 = (b[0] * Math.PI) / 180; + const h = + Math.sin(dLat / 2) ** 2 + + Math.cos(la1) * Math.cos(la2) * Math.sin(dLon / 2) ** 2; + return 2 * R * Math.asin(Math.sqrt(h)); +} + +function bearing(a: [number, number], b: [number, number]): number { + const toRad = (deg: number) => (deg * Math.PI) / 180; + const toDeg = (rad: number) => (rad * 180) / Math.PI; + const lat1 = toRad(a[0]); + const lat2 = toRad(b[0]); + const dLon = toRad(b[1] - a[1]); + const y = Math.sin(dLon) * Math.cos(lat2); + const x = + Math.cos(lat1) * Math.sin(lat2) - + Math.sin(lat1) * Math.cos(lat2) * Math.cos(dLon); + return (toDeg(Math.atan2(y, x)) + 360) % 360; +} + +function midpoint(a: [number, number], b: [number, number]): [number, number] { + return [(a[0] + b[0]) / 2, (a[1] + b[1]) / 2]; +} + +interface ArrowData { + position: [number, number]; + rotation: number; + key: string; +} + +function createArrowIcon(rotation: number, zoom: number): L.DivIcon { + const scale = Math.max(0.5, Math.min(2.5, (zoom - 6) / 5)); + const size = Math.round(18 * scale); + return L.divIcon({ + className: "route-arrow", + html: `
>
`, + iconSize: [size, size], + iconAnchor: [Math.round(size / 2), Math.round(size / 2)], + }); +} + +const TrainRoute = () => { + const { selectedTrain, showTrainRoute } = useSelectedTrain(); + const [segments, setSegments] = useState(null); + const map = useMap(); + const [zoom, setZoom] = useState(map.getZoom()); + + useEffect(() => { + const onZoom = () => setZoom(map.getZoom()); + map.on("zoomend", onZoom); + return () => { + map.off("zoomend", onZoom); + }; + }, [map]); + + const serverCode = selectedTrain?.ServerCode ?? null; + const trainNo = selectedTrain?.TrainNoLocal ?? null; + const shouldShow = showTrainRoute && !!serverCode && !!trainNo; + + useEffect(() => { + if (!shouldShow || !serverCode || !trainNo) return; + let cancelled = false; + getTrainRoute({ ServerCode: serverCode, TrainNoLocal: trainNo }) + .then((route) => { + if (!cancelled) setSegments(route); + }) + .catch(() => { + if (!cancelled) setSegments(null); + }); + return () => { + cancelled = true; + setSegments(null); + }; + }, [shouldShow, serverCode, trainNo]); + + const arrows = useMemo(() => { + if (!segments) return []; + const result: ArrowData[] = []; + for (let si = 0; si < segments.length; si++) { + const seg = segments[si]; + const pts = seg.points; + if (pts.length < 2) continue; + let distSinceLast = 0; + for (let i = 1; i < pts.length; i++) { + const a = pts[i - 1]; + const b = pts[i]; + const segLen = haversineKm(a, b); + distSinceLast += segLen; + if (distSinceLast >= ARROW_SPACING_KM) { + const pos = midpoint(a, b); + const brng = bearing(a, b); + const cssRotation = brng - 90; + result.push({ + position: pos, + rotation: cssRotation, + key: `arrow-${si}-${i}`, + }); + distSinceLast = 0; + } + } + } + return result; + }, [segments]); + + if (!shouldShow || !segments || segments.length === 0) return null; + + return ( + <> + {segments.map((seg, i) => ( + + ))} + {arrows.map((arrow) => ( + + ))} + + ); +}; + +export default memo(TrainRoute); diff --git a/packages/map/components/TrainText.tsx b/packages/map/components/TrainText.tsx index a3d6ebb..995edfc 100644 --- a/packages/map/components/TrainText.tsx +++ b/packages/map/components/TrainText.tsx @@ -1,5 +1,5 @@ import { Carousel } from "@mantine/carousel"; -import { Image } from "@mantine/core"; +import { Checkbox, Image } from "@mantine/core"; import { readLocalStorageValue } from "@mantine/hooks"; import type { Train } from "@simrail/types"; import { useSelectedTrain } from "contexts/SelectedTrainContext"; @@ -80,7 +80,13 @@ const TrainText = ({ }: TrainTextProps) => { const router = useRouter(); const { id, trainId } = router.query; - const { setSelectedTrain } = useSelectedTrain(); + const { + setSelectedTrain, + showTrainRoute, + setShowTrainRoute, + followTrain, + setFollowTrain, + } = useSelectedTrain(); const usedRailcarInfo = useMemo( () => @@ -208,6 +214,42 @@ const TrainText = ({ {train.EndStation} + {!minified && ( +
+ setFollowTrain(event.currentTarget.checked)} + label="Follow train" + size="xs" + color="blue" + /> + setShowTrainRoute(event.currentTarget.checked)} + label="Show route on map" + size="xs" + color="green" + /> + {showTrainRoute && ( +
+ > Driveable + > Undriveable + + > No data in{" "} + + wiki + + +
+ )} +
+ )} +
{roundedSpeed === 0 ? "Stopped" : "Speed"} diff --git a/packages/map/components/railData.json b/packages/map/components/railData.json new file mode 100644 index 0000000..9b1f8de --- /dev/null +++ b/packages/map/components/railData.json @@ -0,0 +1,1872 @@ +{ + "version": 1, + "knownStations": [ + "baranówka", + "bedoń", + "będzin ksawera", + "będzin miasto", + "bobrowniki", + "borszewice", + "bratoszewice", + "brwinów", + "bukowno przymiarki", + "chechło", + "chrusty nowe", + "chruszczobród", + "chrząstowice olkuskie", + "dąbrowa górnicza gołonóg", + "dąbrowa górnicza pogoria", + "dąbrowa górnicza sikorka", + "dąbrowice skierniewickie", + "dobroń", + "domaniewice centrum", + "dziadówki", + "gajówka", + "gawrony", + "glinnik wieś", + "głowno północne", + "goszcza", + "grotniki", + "izabelów", + "jaktorów", + "jarosty", + "jedlicze koło zgierza", + "jesionka", + "jeżówka", + "justynów", + "kamień łowicki", + "kamieńczyce", + "katowice szopienice poludniowe", + "klimontów", + "kolumna", + "kraków grzegórzki", + "krosnowa", + "łaznów", + "lipce reymontowskie", + "łódź andrzejów szosa", + "łódź arturówek", + "łódź dąbrowa", + "łódź niciarniana", + "łódź olechów wiadukt", + "łódź olechów wschód", + "łódź olechów zachód", + "łódź pabianicka", + "łódź radogoszcz wschód", + "łódź radogoszcz zachód", + "łódź retkinia", + "łódź stoki", + "łódź warszawska", + "łódź zarzew", + "łuczyce", + "maków", + "męcka wola", + "międzyborów", + "milanówek", + "mokra", + "moszczenica", + "myszków mrzygłód", + "ozorków nowe miasto", + "pabianice północne", + "parzniew", + "piastów", + "przyłęk duży", + "sieradz męka", + "sieradz warta", + "sierakowice skierniewickie", + "sierpów", + "skierniewice rawka", + "słomniki miasto", + "smardzew", + "smroków", + "sosnowiec porąbka", + "stare grudze", + "sucha żyrardowska", + "swędów", + "szczepanowice", + "wągry", + "warszawa ochota", + "warszawa powiśle", + "warszawa śródmieście", + "warszawa stadion", + "warszawa ursus", + "warszawa ursus niedźwiadek", + "wiesiółka", + "wolbórka", + "żakowice", + "zarzecze", + "zawiercie borowe pole", + "zgierz jaracza", + "zgierz rudunki", + "bednary", + "borowa górka", + "brynów", + "czarnca", + "dionizów", + "dłubnia", + "florek", + "jackowice", + "katowice towarowa ktc", + "koniecpol", + "kraków główny kga", + "kraków olsza", + "kraków płaszów", + "kraków zabłocie", + "krzewie", + "łódź fabryczna", + "łódź olechów", + "marków", + "mikołajów", + "mysłowice", + "myszków", + "ostrowy", + "puszcza mariańska", + "radzice", + "radzice rd1", + "rozprza", + "sędzice", + "sędziszów towarowy", + "sosnowiec maczki", + "stara wieś", + "szabelnia", + "żelisławice", + "zduńska wola karsznice", + "warszawa gołąbki", + "warszawa grochów", + "warszawa główna towarowa woa", + "warszawa podskarbińska", + "warszawa praga wpt m", + "charsznica", + "dąbrowa górnicza południowa", + "dąbrowa górnicza strzemieszyce", + "dąbrowa górnicza towarowa", + "dąbrowa górnicza towarowa dta r5", + "gajówka apo", + "jaroszowiec olkuski", + "katowice janów", + "katowice much. kmb", + "katowice muchowiec staszic", + "kozioł", + "kraków główny", + "męka", + "olkusz", + "piotrków trybunalski", + "przemiarki", + "sędziszów", + "sieradz", + "sosnowiec dańdówka", + "staszic", + "stawiska", + "warszawa centralna", + "warszawa wschodnia", + "warszawa zachodnia", + "wolbrom", + "zarzecze apo", + "kutno", + "katowice tow. ktc", + "sosnowiec jęzor", + "warszawa gł. tow.", + "warszawa rembertów", + "warszawa praga", + "kraków bonarka", + "rokiciny", + "łódź chojny", + "bełchów", + "sprowa", + "biała rawska", + "pilichowice", + "józefinów", + "gniewięcin apo", + "klimontów apo", + "radziwiłłów mazowiecki", + "słotwiny", + "łódź andrzejów", + "łódź dąbrowa pbsz", + "łódź marysin", + "dobroń apo", + "kolumna apo", + "borszewice apo", + "męka apo", + "zgierz kontrewers", + "chociszew", + "ozorków", + "łęczyca", + "stryków", + "domaniewice", + "baby", + "będzin", + "bukowno", + "dąbrowa górnicza", + "dąbrowa górnicza huta katowice", + "dąbrowa górnicza wschodnia", + "dąbrowa górnicza ząbkowice", + "dorota", + "gajewniki", + "gałkówek", + "glinnik", + "głowno", + "góra włodowska", + "grodzisk mazowiecki", + "idzikowice", + "juliusz", + "katowice", + "katowice zawodzie", + "knapówka", + "koluszki", + "korytów", + "kozłów", + "kraków batowice", + "kraków przedmieście", + "łask", + "łazy", + "łazy ła", + "łazy łc", + "łódź kaliska", + "łódź lublinek", + "łódź widzew", + "łódź żabieniec", + "łowicz główny", + "łowicz przedmieście", + "miechów", + "niedźwiedź", + "olszamowice", + "opoczno południe", + "pabianice", + "płyćwia", + "pruszków", + "psary", + "raciborowice", + "retkinia", + "rogów", + "skierniewice", + "sławków", + "słomniki", + "sosnowiec główny", + "sosnowiec kazimierz", + "sosnowiec południowy", + "starzyny", + "strzałki", + "szeligi", + "tunel", + "warszawa włochy", + "witonia", + "włoszczowa północ", + "żakowice południowe", + "zastów", + "zawiercie", + "zduńska wola", + "zgierz", + "zgierz północ", + "żyrardów", + "kraków płaszów pzs kpa", + "piotrków trybunalski towarowy", + "koło", + "łódź dąbrowa pbs", + "radzice pzs r31", + "warszawa zachodnia peron 8", + "łódź olechów pzs r82", + "łódź olechów łoc", + "łódź olechów pzs r16", + "łódź olechów pzs r3", + "warszawa ursus północny", + "maków podhalański", + "myszków nowa wieś", + "myszków światowit", + "warszawa główna towarowa", + "mysłowice wesoła" + ], + "stations": { + "baranówka": [50.1457875, 20.0952934], + "bedoń": [51.7317959, 19.6437383], + "będzin ksawera": [50.3303375, 19.1565453], + "będzin miasto": [50.3197335, 19.1354685], + "bobrowniki": [52.0588919, 20.0100717], + "borszewice": [51.6095376, 19.0389232], + "bratoszewice": [51.9388618, 19.6537712], + "brwinów": [52.142362864736356, 20.72025333106552], + "bukowno przymiarki": [50.2753384, 19.4099373], + "chechło": [51.6459925, 19.2894376], + "chrusty nowe": [51.6938301, 19.7938703], + "chruszczobród": [50.4011293, 19.3298916], + "chrząstowice olkuskie": [50.3437265, 19.6853315], + "dąbrowa górnicza gołonóg": [50.3430188, 19.2240096], + "dąbrowa górnicza pogoria": [50.3502042, 19.2400666], + "dąbrowa górnicza sikorka": [50.3888065, 19.2976875], + "dąbrowice skierniewickie": [51.9333846, 20.1008587], + "dobroń": [51.6289286, 19.2396995], + "domaniewice centrum": [52.0123596, 19.7927744], + "dziadówki": [50.3982854, 20.00866], + "gajówka": [50.3947729, 19.8779383], + "gawrony": [52.1131921, 19.2205504], + "glinnik wieś": [51.8828697, 19.4830896], + "głowno północne": [51.9788374, 19.7214284], + "goszcza": [50.1858098, 20.0604522], + "grotniki": [51.8879126, 19.3109129], + "izabelów": [51.6101334, 18.913133], + "jaktorów": [52.0877287, 20.5551933], + "jarosty": [51.4613107, 19.6932407], + "jedlicze koło zgierza": [51.8686831, 19.321971], + "jesionka": [52.0146685, 20.3345355], + "jeżówka": [50.3994318, 19.8166985], + "justynów": [51.7312049, 19.6822237], + "kamień łowicki": [51.9893988, 19.75413], + "kamieńczyce": [50.3264601, 20.0063989], + "katowice szopienice poludniowe": [50.2586327, 19.0906173], + "klimontów": [50.5248944, 20.0299288], + "kolumna": [51.6145479, 19.1948117], + "kraków grzegórzki": [50.0580309, 19.947735], + "krosnowa": [51.8612441, 19.9228259], + "łaznów": [51.6303708, 19.7539087], + "lipce reymontowskie": [51.9052001, 19.9436806], + "łódź andrzejów szosa": [51.7413998, 19.6130673], + "łódź arturówek": [51.8159961, 19.4560212], + "łódź dąbrowa": [51.7352319, 19.5103626], + "łódź niciarniana": [51.7669439, 19.5059978], + "łódź olechów wiadukt": [51.7237139, 19.5451445], + "łódź olechów wschód": [51.7299296, 19.5959991], + "łódź olechów zachód": [51.7246971, 19.5576097], + "łódź pabianicka": [51.7261401, 19.4452321], + "łódź radogoszcz wschód": [51.8262878, 19.4441262], + "łódź radogoszcz zachód": [51.821901, 19.4158322], + "łódź retkinia": [51.7399685, 19.4051489], + "łódź stoki": [51.7762557, 19.5115171], + "łódź warszawska": [51.8074405, 19.471808], + "łódź zarzew": [51.7523745, 19.5133747], + "łuczyce": [50.1635406, 20.0735082], + "maków": [51.9422299, 20.0459176], + "męcka wola": [51.6091863, 18.8480939], + "międzyborów": [52.0636554, 20.4827265], + "milanówek": [52.12476306037027, 20.666865290607575], + "mokra": [51.9789468, 20.0991218], + "moszczenica": [51.5028129, 19.6999652], + "myszków mrzygłód": [50.5443462, 19.3769674], + "ozorków nowe miasto": [51.9582814, 19.269774], + "pabianice północne": [51.6705771, 19.3423635], + "parzniew": [52.1560477, 20.7618287], + "piastów": [52.18223762051937, 20.841376104187503], + "przyłęk duży": [51.8406842, 19.9172883], + "sieradz męka": [51.6148817, 18.7779154], + "sieradz warta": [51.6026189, 18.7295686], + "sierakowice skierniewickie": [51.9973407, 20.0642655], + "sierpów": [52.0190261, 19.2220519], + "skierniewice rawka": [51.9775834, 20.2215656], + "słomniki miasto": [50.2352565, 20.077427], + "smardzew": [51.8717939, 19.4672663], + "smroków": [50.2754666, 20.0457626], + "sosnowiec porąbka": [50.272885, 19.2171691], + "stare grudze": [52.0474053, 19.9005972], + "sucha żyrardowska": [52.023741, 20.362299], + "swędów": [51.9063037, 19.5408947], + "szczepanowice": [50.300544, 20.025394], + "wągry": [51.7928676, 19.8511179], + "warszawa ochota": [52.225495922785086, 20.98916578649667], + "warszawa powiśle": [52.2332809, 21.026614], + "warszawa śródmieście": [52.2297189, 21.0092116], + "warszawa stadion": [52.2438898, 21.0441527], + "warszawa ursus": [52.196864030851344, 20.88652722449453], + "warszawa ursus niedźwiadek": [52.19108617951116, 20.868698319456996], + "wiesiółka": [50.4148979, 19.349713], + "wolbórka": [51.5924589, 19.7230189], + "żakowice": [51.7322779, 19.7913825], + "zarzecze": [50.3629831, 19.6981621], + "zawiercie borowe pole": [50.511778, 19.3976686], + "zgierz jaracza": [51.8643705, 19.4212688], + "zgierz rudunki": [51.8606683, 19.436555], + "bednary": [52.103569, 20.057123], + "borowa górka": [50.24637122561202, 19.332020376825028], + "brynów": [50.247814845872085, 18.98820258957653], + "czarnca": [50.824121861937414, 19.947678471706666], + "dionizów": [51.62055886938862, 18.965934719178392], + "dłubnia": [50.106610454805406, 20.02215226789744], + "florek": [52.253814, 19.315413], + "jackowice": [52.154047, 19.808058], + "katowice towarowa ktc": [50.265993968378694, 18.982781879640555], + "koniecpol": [50.77496684007889, 19.691113275255987], + "kraków główny kga": [50.07661875204934, 19.942313889595113], + "kraków olsza": [50.080927384684, 19.94990185820444], + "kraków płaszów": [50.02880490556305, 19.987607648466394], + "kraków zabłocie": [50.047568108854165, 19.957573558623068], + "krzewie": [52.23615, 19.177676], + "łódź fabryczna": [51.76912910595581, 19.46535644536604], + "łódź olechów": [51.72179568141058, 19.530463779161636], + "marków": [51.97255758526529, 20.479886733257416], + "mikołajów": [51.70869279236467, 19.858606289634423], + "mysłowice": [50.231468011864564, 19.14592397227875], + "myszków": [50.56914155858337, 19.34788322207592], + "ostrowy": [52.302486, 19.184415], + "puszcza mariańska": [51.97556590759987, 20.324504274010508], + "radzice": [51.47466330430433, 20.361989158922427], + "radzice rd1": [51.48490955740431, 20.333000729618732], + "rozprza": [51.29710772412807, 19.6566338229824], + "sędzice": [51.63247818559694, 18.558673483352152], + "sędziszów towarowy": [50.5707032954638, 20.063633157942007], + "sosnowiec maczki": [50.26849417379847, 19.269864196419917], + "stara wieś": [52.227144, 19.418715], + "szabelnia": [50.257340691397076, 19.11572154781939], + "żelisławice": [50.808200864762824, 19.872731752327184], + "zduńska wola karsznice": [51.59369527183932, 18.98781070185035], + "warszawa gołąbki": [52.20699401315298, 20.853018137489045], + "warszawa grochów": [52.25695429486251, 21.076726013705382], + "warszawa główna towarowa woa": [52.209017326700945, 20.868972306254022], + "warszawa podskarbińska": [52.25569937538526, 21.069138582119308], + "warszawa praga wpt m": [52.263748170912834, 21.054327054296323], + "charsznica": [50.396317423823035, 19.929657372688354], + "dąbrowa górnicza południowa": [50.31884372430392, 19.287244726285223], + "dąbrowa górnicza strzemieszyce": [50.306110339119556, 19.28638529177229], + "dąbrowa górnicza towarowa": [50.31860783959735, 19.377631442867795], + "dąbrowa górnicza towarowa dta r5": [50.32978540413973, 19.376113195139652], + "gajówka apo": [50.39924398103756, 19.85782827938928], + "jaroszowiec olkuski": [50.34591543156736, 19.630766108140506], + "katowice janów": [50.239233774471046, 19.081642365800008], + "katowice much. kmb": [50.2264068427163, 19.007991075068276], + "katowice muchowiec staszic": [50.222615696816774, 19.030556432590004], + "kozioł": [50.30784092622278, 19.379181644199974], + "kraków główny": [50.07703611476089, 19.9452276651634], + "męka": [51.60999711290103, 18.786889410381917], + "olkusz": [50.27630826408753, 19.559749915588753], + "piotrków trybunalski": [51.418451901766446, 19.686375970125994], + "przemiarki": [50.38679543208468, 19.33930021340194], + "sędziszów": [50.570676171201626, 20.06354228973015], + "sieradz": [51.60122895454205, 18.726380230760327], + "sosnowiec dańdówka": [50.26609817289858, 19.186394594411695], + "staszic": [50.218860555196954, 19.0008134492287], + "stawiska": [50.25000887787445, 19.1011425081185], + "warszawa centralna": [52.226742394521665, 20.994809295907743], + "warszawa wschodnia": [52.24591611175424, 21.04368077160217], + "warszawa zachodnia": [52.218230924320494, 20.95341762901242], + "wolbrom": [50.37971432581443, 19.763024331177036], + "zarzecze apo": [50.357383121605636, 19.692394231718993], + "kutno": [52.222941, 19.357181], + "katowice tow. ktc": [50.26528905318747, 18.98548711536283], + "sosnowiec jęzor": [50.243520135290744, 19.203652380369107], + "warszawa gł. tow.": [52.2133153, 20.8969579], + "warszawa rembertów": [52.2574687, 21.1548932], + "warszawa praga": [52.2786919, 21.0211558], + "kraków bonarka": [50.0291998, 19.9464366], + "rokiciny": [51.66906, 19.780959], + "łódź chojny": [51.725194, 19.494981], + "bełchów": [52.022929, 20.035983], + "sprowa": [50.59304492206253, 19.88301571264459], + "biała rawska": [51.7944183, 20.4394425], + "pilichowice": [51.2556656, 20.1223774], + "józefinów": [52.18587897581022, 20.85313515843776], + "gniewięcin apo": [50.540835, 20.044427], + "klimontów apo": [50.509156, 20.024466], + "radziwiłłów mazowiecki": [52.000331, 20.290474], + "słotwiny": [51.726321, 19.832398], + "łódź andrzejów": [51.741028, 19.617146], + "łódź dąbrowa pbsz": [51.749532, 19.513492], + "łódź marysin": [51.800167, 19.486152], + "dobroń apo": [51.629363, 19.240834], + "kolumna apo": [51.614231, 19.193488], + "borszewice apo": [51.609461, 19.0395], + "męka apo": [51.609401, 18.787825], + "zgierz kontrewers": [51.864796, 19.34032], + "chociszew": [51.92411, 19.266932], + "ozorków": [51.972469, 19.266291], + "łęczyca": [52.049236, 19.193252], + "stryków": [51.910582, 19.593419], + "domaniewice": [52.020445, 19.821213], + "baby": [51.538282, 19.717187], + "będzin": [50.30997848510742, 19.141355514526367], + "bukowno": [50.26411437988281, 19.452882766723633], + "dąbrowa górnicza": [50.32981872558594, 19.18648910522461], + "dąbrowa górnicza huta katowice": [50.33525085449219, 19.260229110717773], + "dąbrowa górnicza wschodnia": [50.303436279296875, 19.29884147644043], + "dąbrowa górnicza ząbkowice": [50.36259841918945, 19.261383056640625], + "dorota": [50.282779693603516, 19.280614852905273], + "gajewniki": [51.612811, 18.983129], + "gałkówek": [51.730351466897005, 19.7383686059682], + "glinnik": [51.886605358691604, 19.495131820023865], + "głowno": [51.95966481936948, 19.702507256313176], + "góra włodowska": [50.58454132080078, 19.463600158691406], + "grodzisk mazowiecki": [52.11067199707031, 20.62236785888672], + "idzikowice": [51.45024108886719, 20.313865661621094], + "juliusz": [50.272239685058594, 19.225088119506836], + "katowice": [50.25686264038086, 19.01921844482422], + "katowice zawodzie": [50.25743103027344, 19.05518913269043], + "knapówka": [50.80023956298828, 19.904640197753906], + "koluszki": [51.745860222914985, 19.81965434485795], + "korytów": [52.02006530761719, 20.49540138244629], + "kozłów": [50.481563568115234, 20.015825271606445], + "kraków batowice": [50.105511, 19.987373], + "kraków przedmieście": [50.085397, 19.950079], + "łask": [51.6041034, 19.1087857], + "łazy": [50.431419372558594, 19.39385414123535], + "łazy ła": [50.453914642333984, 19.420406341552734], + "łazy łc": [50.416500091552734, 19.36301040649414], + "łódź kaliska": [51.761167, 19.427463], + "łódź lublinek": [51.7198256, 19.3581808], + "łódź widzew": [51.76404905300711, 19.53696707717018], + "łódź żabieniec": [51.7973495, 19.4058521], + "łowicz główny": [52.1044930936045, 19.956626067322116], + "łowicz przedmieście": [52.093109690783905, 19.948651364267196], + "miechów": [50.354694, 20.01168], + "niedźwiedź": [50.20837152279317, 20.082381986206826], + "olszamowice": [51.09524154663086, 20.068349838256836], + "opoczno południe": [51.361671447753906, 20.23564910888672], + "pabianice": [51.6596605, 19.3221632], + "płyćwia": [51.91675458305167, 20.002622772428754], + "pruszków": [52.16665267944336, 20.794635772705078], + "psary": [50.73325729370117, 19.816265106201172], + "raciborowice": [50.110865420706794, 20.02816012463629], + "retkinia": [51.7427605, 19.4151626], + "rogów": [51.82154221939534, 19.8914148273168], + "skierniewice": [51.96546804751191, 20.145767853109945], + "sławków": [50.29477310180664, 19.37502670288086], + "słomniki": [50.24840253502865, 20.064524835631538], + "sosnowiec główny": [50.27600860595703, 19.120859146118164], + "sosnowiec kazimierz": [50.28987503051758, 19.23243522644043], + "sosnowiec południowy": [50.27341079711914, 19.121028900146484], + "starzyny": [50.71260070800781, 19.801761627197266], + "strzałki": [51.6424560546875, 20.405067443847656], + "szeligi": [51.94291305541992, 20.458845138549805], + "tunel": [50.43252182006836, 19.990375518798828], + "warszawa włochy": [52.20666520076356, 20.916819010795415], + "witonia": [52.15684997510119, 19.27690192450433], + "włoszczowa północ": [50.85118103027344, 19.943790435791016], + "żakowice południowe": [51.729363228850715, 19.790954216139948], + "zastów": [50.121761, 20.064815798545027], + "zawiercie": [50.47346115112305, 19.42439079284668], + "zduńska wola": [51.61125, 18.942019], + "zgierz": [51.8444297, 19.4212899], + "zgierz północ": [51.869031659136844, 19.38447365821383], + "żyrardów": [52.05285912360511, 20.45174796615715], + "kraków płaszów pzs kpa": [50.02880490556305, 19.987607648466394], + "piotrków trybunalski towarowy": [51.418451901766446, 19.686375970125994], + "koło": [51.8686831, 19.321971], + "łódź dąbrowa pbs": [51.7352319, 19.5103626], + "radzice pzs r31": [51.47466330430433, 20.361989158922427], + "warszawa zachodnia peron 8": [52.218230924320494, 20.95341762901242], + "łódź olechów pzs r82": [51.72179568141058, 19.530463779161636], + "łódź olechów łoc": [51.72179568141058, 19.530463779161636], + "łódź olechów pzs r16": [51.72179568141058, 19.530463779161636], + "łódź olechów pzs r3": [51.72179568141058, 19.530463779161636], + "warszawa ursus północny": [52.196864030851344, 20.88652722449453], + "maków podhalański": [51.9422299, 20.0459176], + "myszków nowa wieś": [50.56914155858337, 19.34788322207592], + "myszków światowit": [50.56914155858337, 19.34788322207592], + "warszawa główna towarowa": [52.209017326700945, 20.868972306254022], + "mysłowice wesoła": [50.231468011864564, 19.14592397227875] + }, + "segments": { + "warszawa grochów|warszawa wschodnia": "}p}}H_rs_CIHShAKl@c@`@RtANnAFZHt@R|AHl@Dl@Fp@Dp@Bl@Dr@BfA?DDhBFpD@V@n@DpAB|@FfAF|@Hx@Fj@Hj@Hl@@HLv@`@tBrBbKXrAVnAb@dB|AdG|@jDT~@jAtE|@tCv@rBp@`BRd@Zt@Vp@Xz@J^Rn@Pr@h@bCP|@XlBPlAr@`FzBdKlB~IpA`Gf@~BTfA`@nCd@tBZtAJb@HXN`@HTJTTh@Xj@VPTPJRNVLPLPNPLNPNTPLHPJNHRHFBXJTPVTNBTDTBTBpALTBTBP@P@P@VBV?X@", + "warszawa wschodnia|warszawa centralna": "wg{}Hwam_CVJd@@zH@R?R?T@T@X@VBTDL@ZFPDXJVHVLRHVLVPTNVRRRXXRRTXV\\X`@FHXf@R\\Pb@Rb@Th@nGzO|FxNbBbEp@bBRd@Th@R^N\\NTPZNVRZhCnD`@n@V^LVFJVd@Xh@Zr@Rd@Rb@BHP^Rj@Ph@Nb@FPX|@Vz@T|@j@zBZnAXnAz@tDPp@Ll@Jd@Jj@Lp@rDzTJn@Jp@Lz@N`ALx@Jz@jHfk@Hn@Fj@Bh@Dj@@X@\\@^@n@?`@?b@A\\C~AA^Df@Ab@?^?^?b@@^Bd@@^BXB`@Fb@Dd@Fb@Fh@`@|CZdCtCzT|AzLHj@Fd@Jn@Lp@Lj@Jd@\\vAp@nC`@dBH^HZFXF^FZDZF`@D\\@n@XpB?@`@~CFb@", + "warszawa centralna|warszawa zachodnia": "wow}Hgpc_CDf@J`AJlALfBJ~@Df@Fj@BTFd@J~@~@fHRxAJv@PrAt@fFVbB\\zBD\\Hh@`@pCRrAj@jENfAx@dGRxANbALbAPhAJv@`@vCdAvH@FHd@Jv@Jv@Jv@Fh@Dh@Fr@VhCJ`AFn@B^D^DZDZHv@TbBh@rEh@lEZfCd@pDNnANjAbAdIJz@NjABRZhCZjC@BZdCJ`ANfATjBHl@Fb@Fb@Hr@F\\Fd@Hj@PnAPjAl@`EfAfH^fCb@tCT|Ah@jDBRn@hEF`@ZnBN~@Lp@Lp@Ln@", + "warszawa zachodnia|warszawa włochy": "oxu}H{p{~BNl@Nr@l@`CDLHZj@|BRx@Nj@Pp@FVPr@FXHXFXFXFXPr@FZLn@BHJl@Lt@Lt@Lt@Jt@Jl@Fd@DXJt@Jv@Fb@Hl@Jv@N~@TbBRpAFf@BNJt@Jv@Hv@Jv@Hv@Fb@@RZhCN`@Db@Ff@DZ@NFf@DZDZBZDZDZDXBNFj@DVDZDXDZDZFXDZDXFZDXFZHf@Jf@DXFZFXDVHZFZFXFXFXFXFXFXFXHXFXFXDPb@lBrA`Gh@`CRz@t@dDFTtAjG~ChN~Hp]bAnEPv@T`AR`ARz@Pz@Pz@`@rBlBlJf@`CThAVhAJh@Nn@", + "warszawa włochy|józefinów": "ets}Hwht~BPx@Jf@XlALh@`AhErA`GH\\Jf@Lb@Ll@Rr@Pv@Nj@ZlAn@zBFTl@|Bd@fBr@lCPv@Pt@d@pBn@pC`@dBh@~BF\\r@xC^dB\\`BXtAVlAnAdGx@zDThANt@R|@n@rCrA|Fh@bCtAfGn@rCHZZtAv@lDtAbG@FZtABJ\\|A\\xAfAxEVhAXfAp@nCXlAXjAXfA^`BTbAVbAf@|Br@|C\\xAXpAJd@Lf@Ln@XlAXrAPv@\\|AVrAXpAVhAThAPv@Pv@Lj@ZrAh@bCrA~FtAbGrA`G@DpAzFBJ\\|Ap@vCrA`GtA`GrAbGrA`GPt@`AjE|FdWrA`GrA`GtA`GzAzG`DlN`@dB", + "józefinów|pruszków": "aro}Hs{g~Bn@vCt@~CVhAFVrA`Gp@tC`@jBjAdFFZl@lCb@vBNp@~@rELl@j@jCR|@BLH^n@rCZlAPt@b@hB^zARt@bAdE@@T`ANl@DPT~@Rz@FVT`Av@jDVhAz@vDf@tB?@l@jCrA`G\\xA?@v@fDl@pCd@nBtAbGh@bCh@`CtAbGrA`GjAdFH^Pt@`AjEtAbGvSj~@tAfGBJtBhJFx@bApElAlF^bBzC|Ml@jCVfAVdAXrAZvAn@pCVjAVjAtEjSBH`AhE", + "pruszków|grodzisk mazowiecki": "ozk}Ham|}BdBzH|Jhc@`Mti@Jb@hCfLPx@fAvEjAfFhA~EDRXhAr@`Df@pBDT|@nDb@jB^|Ab@hBbIv]DLdBzH@BpAzF@D|Nlo@b@jBfGdXNr@nChMb@rBXlAh@dCPr@Lf@XjAnDlOvB~Id@rBv@bDVfA\\vAZtAlCnL^`Bd\\twAXjAVlAVfAVfAt@bDXrAZpAPz@BHJ`@FX\\zAZrAXlAXjAfBxH@BZpAXrAhB|H?BjBdIvDpPl@hCxR`{@^zArd@bqB\\zAtQtw@VfA\\xAZrAZpAfMdj@\\xAtLlh@hLfg@fG~Wf@xBXjAVlA^`BXrADJTdADPbBvHjBlIfBbI~BnKxCxMpA~Fz@xDdAxEn@rCl@lCl@nCvChM\\xALh@\\zAXhABJNl@HX`@`BtB|HFRhAfEl@`C~@~DFXhAbFDLbBtHb@lBrB`JpAtFp@vCLf@", + "grodzisk mazowiecki|korytów": "}z_}Hibx|BnCpLjCjLpE|RNj@Jd@d@pBVdA@FPv@FV~@~DjA`FrD~OnT|_AfCvKZxAj@~BbSz{@lEhRFT|D~P`Mji@lAjFXnAnCnLJd@Ld@R|@Rz@Nr@Np@Pr@Nr@Jf@Jd@x@tDVpAJd@Jf@Pr@Nr@Nr@Nt@Nt@Nt@Ll@Ln@Ll@Ln@Jn@Ln@Jl@Jj@Jl@Jn@Jn@Jn@DXHh@F^Pf@Lz@Jx@Lx@Jz@Lz@Jz@NpANnAPrANpATrBVtBjAbKRhBRhBJv@Jx@Hx@PtAPtAJv@Jx@Jv@Jv@Lx@Jv@Jv@Lv@Lv@Hf@Hf@Hl@Jj@Lt@Nv@Lt@Lr@Nr@Lr@Nr@Nr@Nt@Nr@Pr@Nt@Pp@Pr@Np@Pp@Pn@Np@Rp@Pn@Pp@Rn@Nj@Tt@HTHXRl@Pl@Pj@Rh@Pf@Pj@Rh@Ph@Th@Rj@Rj@Th@Rj@Th@Tj@Vj@Th@Vl@Vh@Vj@Rd@Td@Zp@Vf@Td@Zl@Vd@Vf@Vd@Vd@Vd@Vb@V`@Tb@V`@PXRXPXPX\\h@TZV`@V^^f@\\f@TZTZX^X\\X\\X^X\\X\\h@n@h@l@Z\\\\^\\\\\\^\\\\^\\\\\\\\\\^Z\\\\^Z\\Z^Z^X^Z`@Z^X`@X^X`@V^X`@V^V`@V`@T`@V`@T`@T`@T`@RZPXLXNRH^P^P\\N|@^`@PTHTHXJXJ^L^L^L\\J^L^J^L^J^Jb@J`@J`@LXF|A^HBh@Lr@PbATVFhIlB|EhArQfETDn]dIr@Pvv@pQTDbUjFvD|@rYzGXFjQbE~A^hJvBtt@zP", + "korytów|szeligi": "qho|Ha~a|BjIlB|ItBNBtBf@vBf@nDx@tAZtA\\vDz@dK`CfAVxXrGvg@nLlGxAtb@zJ^HvBt@ZHZFv@Pl@Nn@Pn@Nl@Nn@Nn@P`@JLDn@Pb@LZJZJn@Pl@Tt@Tr@Vt@Vr@Xr@Xr@Xl@Vl@Vr@Zp@Zp@\\p@Zl@Zn@Zl@\\l@Zl@\\j@\\PJd@Xb@Vj@^j@\\l@b@n@`@j@`@l@`@RNZRn@d@p@f@r@f@l@b@XRbZlTbAt@p@d@p@f@p@d@p@f@p@d@p@d@PJb@Jn@b@TLd@Zf@Zp@`@n@^r@`@p@^r@`@r@^t@\\r@^d@Tf@TXLr@Zr@Zt@Zr@Xt@Zr@Xt@Xr@X`@N^NhM~Ej`@fOnCdAjG`CnEdBbDnAz@\\fHnCd@P`C~@pHtCb`At^", + "szeligi|biała rawska": "sd`|Hyyz{BfHnCvGhC`@NnEdBpJrDrFtBr@X`@Nt@Xt@Xr@Xt@Xr@Vr@Vt@Vt@Vf@N`@L^Lr@Rr@Tt@Rt@Rd@Jb@Jb@Jb@Jd@Jb@Jb@Hb@Hb@Hb@HLBVDb@Hd@Hb@Fb@FD@^Db@Fb@Fd@Fb@Dd@Db@Fb@Dd@B^DB?d@Db@Bd@Bb@BXBJ?b@Bb@Bb@@X@f@@h@Bt@@v@@v@@t@?t@@v@?t@@t@?jLDl@?fB?fVHhC?dA@fA?zA@lB?fB@|C@h\\HzWFv|@VX?vVF`A?ju@RhA@r@?t@@r@?r@@r@@p@@`@?P@r@@^@f@Bb@@B?b@Bb@Bb@Bd@BZBH?d@D`@Bb@Db@BXBB@^Bp@Hv@H`@FTBj@FJ@t@Jv@Jt@LbAL`ANzsAnRx@Lze@|G|Ep@bIjA|Ep@jStCtOxB~@NnJrAj@Hr@Jr@Jl@Hn@Hl@Hl@Hl@Hl@F~@Jb@D`@D`@B`@Db@D`@B`@BR@j@Dj@Bv@Dv@Dv@Bt@Bv@Bv@BfADpx@|B~@B|sAzDnFN|[~@dq@lB~Ml@vHTz@B", + "biała rawska|strzałki": "sac{Hiaw{BtM`@b@@fLZdGPx@BlDJdTn@dDHn@Bn@Bv@Bv@Bv@Bx@Bv@Dv@BbB@xBN|BP~Cd@pC^nC^t@LdF~@t@NpCn@rBf@nD`ArH~BdaAr^tAf@zMlFxgBlq@ht@pXxBt@lBp@dCp@jBf@jGvAdB^bC^|B\\xBZ|BT|BNzBD|B@bb@l@`FJpx@bBn@@`U\\t@@n@@`e@t@t@@n^j@rdAvArgAlBfELpEZpKtAlHxAjBRps@vOlAVrDx@n@L|Cp@jh@dLdATfQxDbDr@", + "strzałki|idzikowice": "kjezHogp{BnAXbTtEr@NzDv@`Ez@dIfBfIdBxCb@vHv@vHp@xCLjXbAfXbArDLbVx@vWbAjGTrGTrn@zB~J\\vSt@vJh@bn@bCrHV|[dAz@DrX~@lf@fBfSr@hcArDzWz@`{@zClZhArW~@f@B|c@xAtDRzc@zAxM~@~HhAhGnApFxAtFfBrGzBZPdEnBhH|D~IfG`JlGjJxGrNlKfJrG~KfI|IlGbLfIvGnEtGvEnG~EvIlHpArAlFxFbIfJrDfFbHlKjIdO^r@xKdT|BjEb@x@vc@rz@pe@n}@pCtE`Tba@tc@nz@DFnA`CxE~If@~@hDrGXj@rFjK", + "idzikowice|opoczno południe": "wa`yH{v~zB~NzXz\\ho@f@~@b@z@p@nAt@tAfCzEFJ|BhEz@`BT`@f@~@|EfJ|AvCbAhBr@pAdAfB~@~AjAjBnCdEpBpC~BbDX^lBbCrCnDvCbDrK~JjEpD|EpDrHdFhGfEhUfOjSzM??rW`QvUrOrBrAvj@~^fFfDfYdRhJdGnLzHfErCzb@dYzDfC|A~@B@zA|@bB|@bBz@hEpBfCfArBz@vBr@`F`B|HbCjChA\\JvJ|C\\JzCfAfFrBvL~FrDvB|DjC|EnDvDvCdErDvEtEjEvEzF|GrDpExMfP", + "opoczno południe|pilichowice": "sqnxH{eozB`@f@|D|Ej@t@nAzA|KbNfLjNpIjKbFhGnDjEfHzItMnPdHpItJjLlE~EpErErHtGzHbG~g@|_@lmAz}@xs@`i@lg@r_@rGpFvFtFrFzFfHzIzJtNdm@|eAfZ`i@~c@fx@Vd@vBtDdO~WfOxWnD~FpDzFzExGbFnGrFjGxF~FvHxGbHhFhHxEhq@z_@x@d@", + "pilichowice|olszamowice": "azywHccyyB`GhDpBdAdShLfSdL`HpDdH`DbFjBfFfBrG|AvGpAfEn@nFn@PBdE\\\\B`G`@bg@lDlRrAjf@fDrgAvH|F`@~i@vD~L`ARBdLrArARrAVvGpAzEjAzEtAvC~@DBhMpEb`@zO~IlDnm@jV`A`@z_Av_@d@Rbh@nSlMdFzy@v\\pLxEfSdItLzEjd@zQdBb@fAd@|i@jTdMlEbEfAdE|@bEt@fEl@`Eb@bEZnFPjDFbAB`IBpHJfG?t@?pC?rFApJ?lXApQArA?", + "olszamowice|włoszczowa północ": "wpzvHwsnyBfL?vCAvn@CdI?zmAGhVAvJArdDO~F?hS?|QAbA?li@CjKN`FV~E`@xH`AlHpA|LbDnF~AhEnA`OjEnJpCbjA~\\~C~@nu@|Tb@NxTtGpYrIlRxF~@XlMvDXHtLjDfGjB`Bf@nOpEdOrEnDpAjDtAlB~@jGxCxElCtExCrFzDpFnEtFbF~S~Sj[l[xBxBlWtWnFpFpXzXfGjG~FvGbM~OlDvEbJzLxn@pz@j\\pc@rCfD``@bh@nEbGnh@vr@xi@ft@pBlCjHrJrKrNbDbEdD|DjDrD`CbC`CzB@@jC~BjCxBjCpBhCjBxE|C|EpCvDnBxDhB~DbBpAf@nBv@tHxCjTtIdRpHn@VtEhBbQ`HjPrG~H~C~FlCvGjCjGbCzUjJlDtAlNtF", + "włoszczowa północ|knapówka": "ozjuHeevxBjDtAvOjGjBt@rIhDxAl@lBx@fBz@hCpAtAt@jAp@`Ah@nAx@j@\\nEzCtBzAbAv@lA~@`BnA|AlA`BrA`BnAh@b@bHnF`K~H`E`D`DdCxJtHfo@|f@d@\\|D|CtLjJvH~FvH`Gt[nVdMxJbMtJ~DzCnAdAVRzMfKnElD`DdCdAv@", + "knapówka|psary": "y}`uHmqnxB~BhB~@r@tT|Pj`@pZ|HdGJHdIrGnDzChD`DvGxGxOlQrOjQ`]l`@xR|Tpt@lz@pQpSxj@ro@pKjMbDnEtHfL`FxIlBpDrDpHPb@rDnIvDxJhFhOlEnOtEpP\\nA~BpIxVd~@lKz_@r@fChDjLlDfM", + "psary|starzyny": "_pstHmk|wBPp@Rn@Pj@x@fCTr@XfAxHxXpFxRb@bBh@~Av@nBbBbDt@lAx@bAz@`A|@z@|@r@bAr@VNRJj@X~Al@zA\\|ARbADbABvBKx@Kx@OvAa@hM}E~KsEpOuGfAa@pEmA", + "starzyny|sprowa": "gxotHymzwB`J{DlRkIniBuw@~_@qP~Ak@fBg@hBa@|B_@~}@wLnvAaRxVeD|h@cHhBc@zBe@zAe@fBo@BAbBs@bBaA~AeA|AqAzAuAtAwAtBmCt@w@`NeShReY~u@{iAhj@az@FK`l@i|@DGbMiRvO{UvAmBhBoBxCkCfBiAbFkC`FiBvBw@jBq@`G{Bzg@mRlI}CxDuADCv@Y", + "sprowa|kozłów": "ilxsHejjxBtFuBhb@{OlEaBBAzf@{QpSyHbPcGvAu@xFaCbDoBDC|@q@xEqEzDaF`CiExBwEtAsDrAgEb@cBh@yBj@gC`A{DvVstAlBgKpAyGbAkEdAmDvA_E`AaChA}B|AuClAmB~AwBvBeChLeMn}BgeCLMrGcHn@s@|DmElBqBlAmAxCeCxCgBxEsBnH{BlFwA^YFAzDiA`Bg@`Bm@xAq@zAw@xA_AtAeAvAkApAoAfKkKjEmEfAoA@AfAwAbAyA|@yAz@{Ax@_Bt@cBp@aBp@kBp@qBp@aCn@gCj@iCf@mCb@sC\\oC\\uCPyBfAyK|Dw`@zGsq@pFoj@PaBd@{D\\kC`@cCb@}Bl@aCn@eCp@{Br@uB^cAXu@x@oBx@cB~@gBbAcBpAqB\\g@v@iAn@}@xHyKdIcL~EuG`AqAxBwCjBsBf@q@f@o@h@o@l@q@j@m@j@k@n@o@h@c@n@i@n@e@j@c@p@e@l@_@r@a@n@]l@[n@Yp@YNGh@Sp@Up@Sr@Qd@Mt@Of@Kl@Kr@Kl@Gv@It@Er@Ct@Cx@At@@x@@r@Bt@Dv@Hr@Fp@Jv@JlCd@\\EzAVlBZhBZlAVvGxAxEdA\\H@?xBf@`@HtBd@XG", + "kozłów|tunel": "ysbsHohdyB^HxBd@j@Nj@P\\J`@Nr@Zx@\\z@^JD|CrAhChADBxB~@pAl@`GlCzG~CfEnBn@Xd@Vb@R`@TpAt@hDpB\\P\\Pl@XZNfCjAvCtA|SvJ`RrIl@Xh@Vh@Rf@Rj@Pf@Nh@JTDXDd@Fl@Df@Dd@@\\?^?b@Af@Cl@G\\ENAf@Kh@Kf@Ol@Qd@Sf@Sh@Wf@Yd@[h@_@d@]d@a@`@a@f@i@\\a@b@i@^i@`@k@^m@^q@Zm@\\u@Xo@Zy@DKV]Vy@Xy@ZkA|AsFRu@Ro@Vw@Vq@Xw@Ti@Xm@\\m@Zk@\\g@JQT[Za@\\c@X[XY\\[b@_@b@]d@[`@Ud@Wb@Qf@Sd@Od@Mh@Kd@If@Gh@Ef@Cd@?h@?f@Bd@Bh@Ff@HXHLBf@L`@Lf@Rd@Rf@Vb@Xd@Xd@^`@\\`@^^`@`@d@^d@Zb@`@l@Zj@\\l@Xl@Zr@Vn@Vt@BDPh@Rr@Rr@Rx@TbARbAN~@LRpBhLd@lCPdANx@VhAR|@V`Al@xB|Txv@FPZ`ALXL^Xl@Td@Td@Vb@V`@T\\X^TXRTPRXX\\X\\Vb@Z`@V`@TRJFd@fClApDhBfBz@x@`@`@Tb@R", + "tunel|miechów": "yayrHqk_yBnCrA`@Pf@R`@LRFJDf@Jf@J`@Dd@F^@d@@d@?V?VO^Ad@CzBSx@InK}@`@EJAf@Gp@If@If@Id@IdASp@Ov@OdNqCdFcAhNmCdEy@j@Mb@Mb@M`@Ob@Q`@SZQDC\\S^W^Y^[^]^_@Z_@\\c@Ze@Ze@^k@\\o@`@w@pCwF`MwVj@kA~E{J~@kBz@aB|@yAt@gA`AmA`AeA`BwAp@g@t@c@r@a@lAi@nAc@vBg@xB_@tCa@dBWzNyBnFw@xEq@bAOdCc@jBc@fA_@`Aa@xDuBxDyB`Am@jC}AtAw@x@_@`A_@`AW|AWnBIdBDbAJbAPn@Rv@V~@`@pFrCdI|DrAh@vA\\xAPrAFx@Av@CfBWrA]jAe@~A}@zBaBbEaDtDwC\\Wp@[tBaBvBcB~BaBrBiAtBu@pBc@LExBUbCCbCLxR~BjR|Bf@FjBTfD`@dBJxBB~@Cb@AtBGdBG`GQjFOlABzAL|AZ~Af@fDrAV?^NjAd@bBp@lBx@rC|@tBx@", + "miechów|słomniki": "{zirHsmcyBzAl@dLtEnDdBvInDVL`Bn@|Al@pBx@|B`A|A|@nA|@`A~@z@`AdAzA|@~Az@hB~@~BzB`Gl@rAp@vArAvBnA|A`BxA`Ar@bBz@n@V`B`@b@FrANzA@tAGjBYvBs@pB{@~@a@vDeBb@QdDwAvT}JbH_D~GiDv@e@zAeAVQdAw@fDgCtA}@~CgBnJaFf@WnGkD|AcA`Au@bC{BzDgDfBwApA}@|C{AlD_AbDi@jFy@nEiAfDgB`DkCxCcDjMqNrFeGz@}@dByAxAcAvEqCtCeB~CiBnGuDjBoAf@]`Au@z@w@JIdCiCjMmPxC}DrCuD`AkAdAiAdAaA|@w@xB{AzGeEPIzAu@d@YbEeC`DoBpAs@pAm@fFgBhAa@pHeCtHiClGyBf@QxFoBvAk@vAq@v@g@l@c@zAoA~AgB`BqBdQyTvFiHbAkA~@iAhAiAFGr@m@z@o@jAy@|BuAjEaCdB_A`B_AtL{GrBkA|GwDnC{AhAo@dAo@nPgJvGsDlC}Ad@W`BcAv@k@t@q@`@c@nA_BjAkBhBgDn@iAr@gAh@s@d@i@l@o@l@e@j@c@j@_@xAs@f@Sd@Ob@OnBk@JEjBi@ZW^MZIdBg@`A[hA[pHwBj@Q|EwAdA[TGr@O", + "słomniki|niedźwiedź": "}cuqH{wmyBnCo@h@Mh@Ob@Oh@QjAa@zAg@LE`DmAbBaAt@o@n@i@l@o@xAiBxAkBlCyCzEmFhDwDfCqCtJuKfAsAlAiB~@iB|@uBzAgDp@_BzBeFl@uAzAmCv@uAn@cAxAiB~@{@l@g@x@i@z@e@`Aa@`AYt@Ov@KnAK|@?bABrAJ^DzANfHt@zFj@tGn@tGn@lBRpFh@bAFz@Bh@AXKlAGdAKxAWz@Sz@[|@]dAg@vD_CvEyCdEmCzAaAzA}@|@c@z@YfAWfASjAGjAAnAFtAPdATvAd@nC`AdBl@lAb@hEzA", + "niedźwiedź|zastów": "sgmqHskqyBzDtAfDdAxBp@x@XbExAlFjBfDpApDxAtChA`A^hKlDjGbCjAd@|@b@z@f@t@j@lAdA^`@d@h@`AtA~@`BdA`Cr@pBl@xBd@`CTvARzANxAF~@Lt@@ZJhCHxCFzCJnDJbCJnAV|B^bCf@zB`@|A`@pAf@nAz@bBx@tApAhBj@l@p@n@bAv@`Al@fBz@h@NrBb@fAJfA@fBEfBY~Bq@xAq@~A_ArAu@t@c@b@W\\SbCyAxAy@fBu@rEiB|@]x@WvA[~Co@~A]x@U`A[~@c@bAi@r@g@z@q@z@y@~ByBjAiAdCcCfA_Az@m@t@e@x@c@|@_@v@YzKyCtDaApD}@jBi@`AYt@YpAk@hAo@zBwAdBmAdCcBjCmBjAy@VQh@]bBmAbAs@~@w@hAgAn@s@l@q@b@m@h@q@`A{Aj@aAf@_AjAeCrCkGtEcK~AoD`A{Bt@qBb@wAd@iB\\iBb@}CVcCNkBP}@b@gFZaETeCVmCVkBZcBDQZyAd@cBd@sAj@wAt@{Az@uAd@q@t@_Aj@k@dA}@v@m@fAk@p@YbA[~@U~@On@EnACjA@rBH~BJxBJjBHxAFZ@l@@nERvCJzBJfEPhEPxAHxAL`AJtARz@Lz@LnC`@nBXtBXdANr@Nz@Tj@Rf@Pn@Zp@^|@p@|@v@z@|@x@dAz@tAx@|Az@jBlAxCP`@t@dBdAfCbA`CrB|EtBbFRd@JTr@bBr@bBvBbFzClH|ArD|ArDrL`YjBpEJT^z@xCfHXr@`FzLnCtGnClGpAzC`CpFjAlC", + "zastów|raciborowice": "ik|pHe}myBVn@x@lB@@x@pBd@jAd@nAd@tAl@tBn@jCj@lCl@nD|@pFz@fFbHdc@Lt@|Fh^pFx\\lArHf@xCLr@DTRlA~@lExBrJzDbQrIn_@", + "raciborowice|kraków batowice": "mezpHkqfyBp@xCh@bC~@bEd@vB`@dBjBhIjBjIfAzEdAxEP`AN~@NdAJdALjAHnADr@?DBv@Bt@@|@?r@?ZA~@C~BAfADLGbECnCCnCCfBIvFCvCGvCCrBC|BEfCEnCGnGClCCfBGbECvBE~DCfBCrAAr@?j@AtC@hA@hAB~ABjAFrAFxAFvAJdBFbAJdARrB^pC^|BTnAp@tCz@~C@b@lC`K", + "kraków batowice|kraków przedmieście": "_fypHqx~xB`@xAp@`CPp@bA|Dr@lBr@jCnD`NpBpHv@zCf@fBV`Al@vBp@rBdApClA|CjAzCjIdTjC|GdHtQh@rAbAhClA`DfCpGnC~G~AbE~@~Bj@vAb@bA^v@^r@Tb@\\j@Vf@NVz@vAp@jAbAhBzAhCbBzCb@r@pA`CXf@~ApCx@xAh@`AXf@V`@TZLRTZVZVXRTVVVTTTXTTPf@\\zA~@t@d@dBbAPJ`B`A", + "kraków przedmieście|kraków główny": "ugupHmowxB\\TdBdAxCfBfAn@lJtFvBpAbAl@tAx@VNbDnBj@ZLFXN`@R^P`@NVHHBh@Nf@Jj@LND|@Pv@PLBJBVDZDTBP@P@T?NAVAVCXEZIXIRG`@Qv@_@JE\\Ab@S`@Q|@a@JEPKVKfF}BLGNGv@_@HCTK`Ac@pAk@~@c@ZMPI`@QDCVKPGPGZI\\IZEZC^C\\AP?jDGfCEZ?|@A`@AD?TAX?R@P@J@PDH@nBb@dATd@JNDPBTBZL`@K", + "kraków główny|kraków zabłocie": "igqpH{_wxBL?|BC`DGL?v@A`@AhBERAVAH?j@CXA~AGVAXAf@Al@AdFG^AfEGf@C^Ch@Eh@Gb@Gb@Gd@Kd@Kb@Mb@Md@Qf@Qf@Sf@Uh@Yb@Wf@[b@[b@[d@_@PR`@E\\]\\]d@i@f@m@^g@jA{A~@sAd@m@|BaDfA}ApAmBDG|HoLBE^i@@CdCqDf@w@~AaC", + "kraków zabłocie|kraków płaszów pzs kpa": "}|mpH}~xxBSc@LaA", + "psary|góra włodowska": "mzstH}f}wB~BpI^tAlDfM|BpIzUj{@bC|IrBrHlDnMb@zAz@|CfEpOxHvXjAjExIr[jKt_@|Ork@lBbHpHdXzCnKbDfKhFrNvBjFzBdF|CtGbDpGhD`GjDxFbGzIfCbDzBvCpBzBNNtA|AbCjCdCdClBhBXVhC|BhOvMf@`@nD|CzKlJl@f@bDpCrEtDjBxAjBpAxEbDvGrDxGdDNHlGhCbH~BjFxAlFjAnF~@nFp@dE\\dETbENjCBx@@~FE`GQ~Fa@~Fq@zIyAxIeBXGtBe@|UgFZI`[}Gda@yI|UiF|MwCnTuEvI}AnDc@xBUp@GbEYrESVJbEGrD@|HR~CP~CT|CZ|Cb@zCd@zCl@~EhAxErAzE~AxEhBjD|AvDjBRJdE~B~E|CzEfDvEtDpE~DjEfEbEjE~DzExD~EtDjFnDtFlD~FfDdG|@dBfE|I|DdJ\\z@fBtE~BvGhFlPNj@nD~MhB|H`B~Hn@hDd@fCnApHrAzIlAzIvCtTnCpS`D~U`Mh_AfQdrA`@xCtB`Ph@tEf@vEjArLt@`Kn@dKf@rKBt@X~ITdMHhM?nKGlKQfKYfJAb@k@bNqDtw@y@~PeFpgAc@jJgClj@Bt@KbBElAGtAEnAKzCK~CSjIOnHUpT_@x_@ElGAj@GrG[p[Yd]?tAAlHBlHFrGJtGPfHDzARxFVvFPfDTlDb@tGh@tGz@|IhAfKjA|I~@jGDThA~GlA|GrAvGrCbMfDlMbBnGrAfEpK~[bBhF`BjF|AnFxApF^zAfBrH@@`BrHvB~KpB~LfBdMrBfRjBlUfAtS`@nMTpMHfM?bFAbFGrHKrH[bMQ~E]|HiDhu@wAl[GlAmDnw@sCnn@", + "góra włodowska|zawiercie": "gzvsHooxuBIhBiAvVDd@yE~dAs@zOm@xO_@nOMpJCnJBfMNhMd@rQx@hQh@~Hl@|Hr@zHx@xHrArKzAnKvBxL|BpLlDlO|A`GbBzFNh@tAjEvAhEtDhKpB`FfCbG~DnIzDrHdEfHfE`HxDdG~KfQpBvCtEfGlB~BpBxB^`@pCrCxDhDjCzBlCtBzBbB|B|AnErCrEfCzDnBbAb@zB`ArHlCrDfAvD`AzCn@|Cj@bDd@|BV|ANVBVBz@F^Bp@Dl@Dz@Dn@B~@Bt@Bt@@t@@t@?t@?v@?r@Av@Az@Ar@Ct@Ar@Et@Cv@GbAGbBMt@Gv@It@Kt@It@Kv@Kt@Mr@Kx@Ov@Ov@Qt@Ov@Qr@QNEh@Mx@Ut@Sv@Uv@Wt@Ur@WdA]hKuDjKwDzCiAff@gQdKsDhG{BnOuFrEaBp@Wx@[t@[p@Yh@Wn@Yr@a@r@_@p@a@r@a@t@e@l@a@v@k@r@i@n@g@p@m@n@i@n@k@n@o@j@k@f@i@v@y@l@s@j@q@j@u@h@q@l@w@f@q@r@cAxFgIvAqB~BeDnFoHhA}AfFiHvAoBj@u@j@u@|G_JX_@|AsBv@gAPUn@{@LS~b@wl@X_@rN}R~E}GbEwFp@aAf@s@j@{@r@a@n@m@hBsCf@w@b@s@d@q@Za@^e@\\]Z[XW\\[XSVQDCZS\\SZO\\OZMZK`@MRETGb@If@IFA`@Cl@Eh@CbBG^AbAEr@ChJ]vBIv@Ap@Cx@Cb@?z@C`BCf@Ah@CdAE`I_@~@EfBGtEU~Mm@bDOzCOz@Er@E`@EJAdD]VCv@InAI~BMp@MPCNATA", + "zawiercie|łazy ła": "{aasHivpuBVCrAGjGWHA|COdGYHAtJc@`HYjJc@~BIx@E^AH?n@Ar@?l@@t@Dn@Dp@Hj@Ht@JZFlAZf@Lj@Rd@PFBp@Xj@Vn@\\d@XTL\\Tf@\\l@d@j@d@j@f@^^N@XXVXVXlAtA`AhAfE~Ef@j@", + "łazy ła|łazy": "{p}rHk~ouBjHlIZ^lJvKxR`Uv`@pd@nAxApA|AlGtHHHjAvAx@|@|@dAp@t@lCvCVXN`@z@`AvEfFf@j@j@p@xEtFn@t@j@p@l@r@rA~An@r@tElFp@t@bF~F`BhB", + "łazy|łazy łc": "o}xrHwyjuBhBvBp@t@lD~DvCjDxBfCrCbDDD`@f@nFhG|FzGtDhEhFbGdJlKhArAn@t@l@v@`@f@b@l@b@n@d@r@`@p@b@v@^r@b@z@\\r@^~@Zt@\\`A\\`AX|@V~@X`AT~@VdAP|@TlAP`APjAN`ANlALdALjAH`AJpAF|@FfAFhAFpAh@xL|@fS\\xHFjA", + "łazy łc|dąbrowa górnicza ząbkowice": "e|urH}}duB^rIJbCNdDFdALtCrBbe@TxED|@?LHzAFxADdAB`@FpADn@Hb@Dl@B`@@HDp@Fh@Fv@Ht@D`@Db@Jn@LbAF`@F^Hj@Lv@Np@Lp@Nt@VfAT`AX`AV~@X~@\\~@Z|@Zx@\\v@^x@`@x@\\r@b@v@b@t@d@r@d@p@f@r@`@f@n@v@b@f@p@t@l@n@d@d@P^rGzGn@p@HH|TtUnAnA~GhHvCzCj@n@p@t@|AfBVXDF\\`@\\^h@j@p@r@b@d@^^ZZn@l@~@x@\\\\h@d@d@f@n@l@z@|@pEvEpL|Lf@h@j@n@j@p@d@j@b@l@d@r@`@l@f@z@JPT^b@|@\\t@b@~@\\z@^bA\\~@Z`AVx@ZjAV`AVhAT`AThAPbATpANfAPpALfALpAH`AHx@HRHnAHnAfCj`@?@LhBxAlUl@pJFdA\\dF`@pGb@vGDp@f@tHx@vMThDJvAHvANrBLxALbBNvAPdBJx@?FJt@Fd@DZJr@Lz@@DN`ATvAJf@Lv@VnAZ~A\\|AZpAXfAZnADNL^Nj@Rp@Vv@ZbAb@nA`@fAd@lAf@lAd@dAd@bAf@bAl@hAf@z@h@~@l@~@h@v@r@`Ap@|@n@v@x@`An@t@TV\\Zp@r@t@r@r@n@j@f@d@^f@`@d@^l@b@fMjJ|AhAfAx@rCtB^V^VdBfAlBnADB`@TVPVPr@f@r@f@bS|NjGrE~AhAjDhCn@d@VR`D~BjEbDnA~@RNTPJJVRTRnAlAd@b@RTf@d@`B~AnAlAb@b@@@", + "dąbrowa górnicza ząbkowice|dąbrowa górnicza": "wmkrH_~ptB^^P\\@@h@h@VVfAdAj@h@n@l@t@t@DDl@l@`@d@|AdBl@n@VZrB~BxA`BTXTXRV@BVZJLLP`@h@`@j@`@l@`@l@\\j@\\l@FHR^Zj@Xl@Zl@\\v@\\t@Xn@Vn@Zv@Xx@Zx@Xz@vJ`YdA|ChBlFxEbN|BxGxCtId@tADLb@jAjAjDdItUbB|EzD`Lp@nB~AtERn@Tn@Ph@Pj@Pn@Tp@Vx@Vz@X~@Pj@Tv@b@nAz@dCVt@vDvKd@vARh@Rj@Zz@Ph@Pb@Rf@Zv@Vl@Tn@l@zAb@jAf@xAzAlEr@rBNb@L\\tA|DdJ|Wd@tArBbGZz@vAdExAfEpAtDv@zBfCnHdK`ZTr@zAlEv@zBb@nAn@jBdAvC@D~@jCXz@DNPd@Nb@Nd@L`@J^FRFVFTHXHZDVHXF^FXFXF\\DZDXFZDZFb@Fd@Dd@Ff@Dd@Df@BZB^@ZBj@Bh@Bb@@^@b@@b@?Z@`@?\\?^?^?b@A^?`@A^A\\?ZA\\CVA\\A`@Ef@C`@Cd@Ef@Eb@E^E`@Gl@It@Kz@OnA", + "dąbrowa górnicza|będzin": "}aerH_lbtBMnAOnAi@tEoBfQOtAIt@m@~FWjCGl@AHGl@Gh@a@hD?F_AhIIv@OnACR?j@E^ATCRATCRAZCXAVATA`@A\\?ZA`@?`@?Z?^?\\@^@b@@v@BXBh@Bp@ZfG\\fGb@dIJnBFx@Dt@Dj@Dj@Df@Fp@xC~]LnAB`@BP^pEPrBh@jGBZThCXzB\\nCbAjIl@`FfA~IJ~@bAhIj@tENdABVFf@PjAN|@PfAPz@Nx@R|@Pt@Pr@Nl@BJZdAZdA^jA\\~@\\`A`@bA`@z@`@|@d@~@`@t@^r@b@p@d@r@h@t@`@h@f@n@f@j@l@n@h@j@l@f@l@h@j@d@n@d@n@b@j@\\l@^`@RB@XNZNb@Pn@Vl@Tl@Nl@Lj@Ln@Jn@Hj@F^Dt@Fr@Dd@@`@@v@@p@?\\?j@Af@C\\Cv@Gp@Gh@Gl@Kn@Mp@Oj@QPG\\M`@Or@[t@]\\Q^U`@W\\UXS^W`@YbAy@bA{@vBeB~@u@z@e@hBwA|AiA`BmAJGfAy@jA_A", + "będzin|sosnowiec główny": "obarHmlysB|DcDj@g@n@k@t@q@dBcBx@s@z@q@\\W`Ao@dB}@l@Wh@UjDeAvAa@FAnA]t@Q|@QvBSn@At@?nBH`BPbFh@`Gp@hALfMtAH@tEh@zBX`AJlAHfBRh@DzAPx@HhAL~DXz@Jx@JbALp@J~A`@zBt@rAp@rAv@`D~Br@p@z@~@j@r@d@v@\\j@Zn@b@`Ap@bBx@tBp@fB??b@t@N^pDhJjD|IrAfD~@bCfApCv@nBt@lBhAvCvHvRvBvF`AbCr@hB|@|B~@~B\\~@n@|A|@|BJVHT", + "sosnowiec główny|katowice zawodzie": "sqzqHwqusB`DjITd@n@bBnA~Ch@vA~@vB~@dBp@dAj@p@h@h@h@d@h@b@@@vAdAzB~A~AjAzCxB`@ZpC~BdHdFpLvInCpBjCzBbAfAv@|@RTlAzAz@jAh@x@pAxBjAfCbAfCh@zAdA~C|@nC\\lAd@tBZlBVhCv@zK\\hE\\jD\\rDV|DDv@HbAL~BXhEB`@`@bFt@bJn@`INtCLxCNxBTjDbDhf@l@bJh@vIXpGRpGJxFF|F?pDExCG|FI~DW`HMzEMfEAjBQ`Ca@rEM~AInAEnASrFMrDE|ACzA?~B", + "katowice zawodzie|katowice": "k|vqHwthsBB~B@rCCxCExBInFCzAGdCCdEA`CD|CBfAFpBNdDt@~Rf@nLt@dXDzABdAPxFJtE@r@@h@@rD@bC@j@@fD?b@?z@Av@IjCGlAA`@Cp@YrIMdEKpCU|GGjBAHAj@GdAGdAC\\I|@Eb@En@KpAG`AAP?bAPPNT", + "katowice|brynów": "ozvqHeuasBE`AYfICb@O~EGxAEjEAbA?lAAfB?bDBdAHbCDz@ZnEFx@H`APvALt@D^r@fFdBdMh@jD^bCNx@Nr@d@~B`@hBj@vBb@|Al@hBp@fBHPf@pA^z@nFdLjBxDxCdGLXr@xABDf@bArFfL^t@\\n@Vd@vHtO", + "włoszczowa północ|żelisławice": "s`kuHugvxBtIjD`NlF`E`B`HpC`C~@lBz@bBv@`FhCvAv@v@d@t@d@p@b@r@b@|CtBhAx@dDdChCrB|AjAbBpA`BpAdBtAdFzDnFfEhBxAzCdCpAdAzCdCfA|@rAfAzAlAlQtNpR|Ob@`@`@^d@f@b@d@b@h@^f@^f@`@l@^j@\\j@Zh@^p@Xj@Zn@Zr@Xn@Vp@Zz@Xv@Vx@Tv@V|@T|@Tz@R~@P~@TjAR`A|RzdAtBzKbq@jnD~AnI", + "grodzisk mazowiecki|żyrardów": "}x`}Hmzz|B\\xALh@\\zAXhABJNl@HX`@`BtB|HFRhAfEl@`C~@~DFXhAbFDLbBtHb@lBrB`JpAtFp@vCLf@`@bBLf@Jb@Rt@z@hDTx@Rx@d@nBr@zCn@hCRv@xA|FNl@Nj@\\zADNd@rBdApEXjA~@`EdFtTXnArK`e@jE`RZrAXpAXnAzCvM\\xAfZfqAFT`FfT^dBDNjZlqAbAjEdBtHlAjFZtAb@hBRz@zKxe@pS||@\\zAtCdMlDdOxEpStUlcA\\xAlChLjJba@bEpQ|AxGFTdBvGx@pDzCrM`CbK\\xApCxLhBzHhBzHrAzFtAdG@FJ^FTpMzj@dDnNvBhJJb@d@rBzApGbAjENr@HXbAnE~@|DfAtEnCrLFXlHh[lBhIt@bDrEzR^|AJf@", + "żyrardów|radziwiłłów mazowiecki": "usu|H{ky{BjB`IXjAzBrJpCtLn@pCLl@x@jDdApEDPlBhIv@fDd@rBd@pBhBzHlAhFjWhhAvB`JZxA|FtVjDbOxGnYvKfe@XpAZpAXpAZpAz@vD\\zApFdVlKzd@XpAZpAXlAVnAfBvH\\vATbANn@Np@Rx@XnAXpApA|Fp@tCXtAxEvSRz@H\\|B~JfDdOv@hDdBvH`AhErMrk@r@xCZxA|AzGn@vCtA`GbAnENp@BNFVDRVbAxHb]fD~NxD|Px@pDx@jDtAjG|@zDbAlEhAdFzAtGlApFbCpK\\xArDfPHZFVNr@dAtEpAxF^`BdDxNhDfOdIf^f@vBRz@r@|C\\xAzEbTn@nCxBtJd@pBtClMZnAzAxGd@tBd@pBz@tDhDfOvBlJBLd@rBnArFXnAXjAR~@T~@j@jClBnIj@hCPr@d@xBZrARz@FTh@bC~AdHjAzEPt@", + "radziwiłłów mazowiecki|skierniewice": "yhk|He~yzBFTlBfIZtAZpAXpALh@Nn@TdAZnAXnAjBlIZtAZpA`@hBlBnInIz^Lh@ZxAxEvSnCpLZvAlChLXrAZrAlBhIZrA@FXjAlAlFbAjENp@XnAXlApE`SNp@Nn@R|@DNZxAJb@hDdOrC`MjMvj@vM`l@@@Px@Nl@\\zAd@tBJd@~FfWtBbKxJvb@vCjMDTH\\tAdGPt@Px@Nn@Ln@Nt@Np@Lt@Lt@Lt@Lt@L|@Jp@Hr@Jv@Jx@@HFh@Fr@Ht@H~@Fp@Fv@Dp@B^TjDX~DT~CF~@F~@Dv@Fx@Dx@Bt@Dv@D~@Bz@Bv@@v@Bt@@v@@z@?r@@z@?|@Fh@?dAA~@AlEElOAfHAzEAv@ApHCjIIt^ApCIlZAzE?|A?r@?v@@t@?v@@v@@t@@t@@v@@v@Bt@@t@Bt@Bv@Bt@Dt@Bv@Dt@Dt@Dv@Fr@Fr@Fp@Fr@Fr@Hp@Fp@Jr@Hp@Jp@Hn@Jp@F^DNJp@Ln@Lp@Ll@Hf@dAjF|@jE~@|ErAxGh@fCtA`HfCjMhClMVpAbDjPdC`MJh@Jd@Jh@Jh@Jj@Hd@Hd@Hd@Hh@Fj@Hh@Fl@Hj@Fl@Ff@RbBFd@F^D^Fb@Jh@Hh@Hh@Jh@Jf@FXBp@TfAtA|GFZNr@lAhGl@vC`@tBJb@n@dD", + "skierniewice|płyćwia": "kqd|H}t}yBrAxG@B`@rBPv@`@rBNv@DP^pBHb@Np@Rl@\\`BJd@@DJl@Ln@Nl@Ll@Lj@Nl@H\\JZH\\JZJZL^L^L^L\\N\\LZP\\N^P\\P\\P\\P\\NZBDT^R\\T^V^T^V\\V\\V\\NRRTDFZ^VVTVVVXVPPFFXVXTXTZTXTZRXPZRd@VPJXLXNZLZLZL\\L^L^J^LNDvK`DRRzAb@dAZrF~A~GpBpn@tQp@Rp@R^L^L^L^L\\L\\N\\L\\PZNNHNHZPTNb@V\\TZTZTZVRPFDZXZXRTDBXZZZDDRTX\\V\\X\\V\\V^@BTZV`@T^FJNTHPJPR\\@BTb@Tb@Rd@Td@Rd@Rd@Rd@Nb@N`@@@Nb@JZBHNd@Nd@Nd@Ld@Nd@Nj@Nj@Nj@v@vCrMxg@VhAXfANl@Nn@H`@BLLj@DTFVJl@Jl@Jl@Jl@Jn@Jl@Hn@Hn@Hl@Fp@Hp@Fn@Fp@Fn@Dl@Dn@Dl@Dn@FhA@\\Bj@Bl@Bx@Bx@@h@@t@@r@@t@?t@@r@?b@?NAt@?t@AT?\\At@Ct@?JAf@Ct@Cr@Cr@Et@Er@Er@Et@Gt@Gt@Ej@Ef@MrAIfByBjVyBpVMvAu@hIs@bIg@rFGh@{AtPgAvLATCVsCb[wA`PwB|UMvAy@bJMpAKhAuBxUWpCw@xIKfAE`@Gp@YfD[lD]lD[lD_@dEMtAKhAaAvKkD|_@ARs@|Hs@`Is@|HIbASvBMrAMtAGr@Er@Gp@Et@Gp@Er@Cp@En@AXAVAp@Cp@Ap@Ap@Ap@Ar@?p@?p@?p@?p@@p@@r@@p@@p@Bp@@b@Bb@Bd@@f@Dp@Dn@Dp@Fn@Dp@@LD`@Fp@Hn@Fn@Hh@Fh@@LFZHj@Hh@Hj@Jh@Jj@Hd@Ll@Lj@Lj@Nl@Lh@FVFRNj@HXFNNh@Ph@Nb@JZFPPf@Rf@Pf@Rd@DHLZRd@Tb@Td@HNHRXf@HNNVNXRZXb@V`@V^V^X\\V\\X\\XZXZXXXZXXXVZVZVXVZTZR\\TZR^TXNVN^P^P\\Nn@Xn@Xl@TnAf@xIlD|D~Ap@b@b]bNjKdE`@N`@P`@P^N^P\\P\\PZPXNVP\\TZRZTXVVR\\XZVXXXXVXXZXZVZX\\V\\V\\T\\V\\Vb@RZR\\JRNVb@v@b@z@h@bALVVThAxBTb@|@dB`E`ItAnCf@`Af@`ATb@|A|C|@fBHNrB`E", + "płyćwia|rogów": "w_{{HevayB~A|Cd@~@b@|@dBfDdBhDzElJl@lAbNdX`DlGl@fA`EdIzBlETd@`CvEtA~CXj@`@v@`@v@Tf@Td@R`@FNLVTd@Pb@Vl@Pb@N`@Tj@Pj@Nb@Ph@Pj@Nh@Nd@Ld@Nl@Jd@Ld@Jd@Jf@Jf@Jh@Jj@Jl@Jl@BTDVJn@Hr@Jr@Ht@Hr@Fv@D\\BVDp@Fv@Dt@Ft@Bt@Dt@Bt@Bx@@r@@x@@v@@r@?p@?x@?t@?t@Ax@Av@Cz@CxACxAOlI_@tQk@j[@vAe@xU]pQMnHEnBCjAG`DI~DG|CA^IvDOnIChAAfAAl@Al@?l@?l@?n@?n@?j@?H@p@@n@@d@?N@t@Br@Bt@Dr@Br@Dh@Bf@BXFx@Ft@Ft@Hr@Fp@Jv@Hp@Jr@Jr@Jr@BHHf@Lp@Lp@Jj@Lj@@DJb@Lh@Lb@H\\HZNf@Lf@Nd@Nf@JXDJNd@Pd@Pd@Pd@Rd@LZDFPb@Td@Td@Vd@Td@HLLTT`@Xb@V`@V^V^X`@V\\Z^X\\ZZRVTTTRRT\\XFFRP\\XZVZT\\TZR\\RZR^R\\P\\PNDNH^N\\L^L^L\\J`@H`@J\\FLBb@HF@VDHBRB|@X|GbAtARt@J~^pFhJrAbP`C|MnBtHhAt@JdVlDnG~@vARt[vEhJrAnFv@t@JdJrAjBXxAR?@pDf@RD^DNBl`@xFdJrA~B\\jIlAr@Jv@L`@F|JvAdJrAj^hFv@Ln@JF@l@Hp@Lp@L^JB?ZH^J\\JB?^L^NPFLF`@N\\P^P^P^RTNVNVNVPZV^VRNFFf@`@XVVVTTZZXX^`@PTPTRVTVRXX`@X^JPd@p@d@r@xBjDdA`BzK~Pl@n@pSv[t@jArEhHXd@vCpExA|BpArBrAtBjAhBfGpJh@x@T\\RZd@r@lAnBHLb@p@hAfBrBbDb@n@pDxFbBjCNTnBzC^l@", + "rogów|koluszki": "mmh{HoalxBbNbTpHhLbCxDfFbIb@r@~LpRtBbD\\j@f@t@d@r@`@n@nCfEb@n@`@n@j@|@j@z@zIdNle@xt@h@x@d@t@n@bAdF~H~C~ErG`KvJhOj@|@pG~JvHrLh@x@h@v@Xb@Zd@Zb@Zb@\\b@Z`@\\b@\\`@\\`@\\^\\^^^ZZZZZXXXPNNLb@^ZVDB^Z`@X^X`@VVRFBb@X`@Vb@Vr@b@t@`@hDlB`@VlHbEr@b@dKzFjIxEbE~BrI|ERJ|@h@nIzElDnBr@`@pMpHpIzEdE`Cd@VFDx@b@p@`@f`@tTrNdIhOrIr@`@r@`@VNDBd@Vl@\\ZPXPf@VVNRLb@ThAp@jA~@vAx@b@V`CtA|Az@~A|@pF~Ct@`@jGnDtAt@RLjEdChE`C`B~@bE`Ch@Xr@b@bB~@RLnAr@vBnARJTLf@X\\P", + "koluszki|rokiciny": "{ryzHe_~wB\\P\\PZNZNPHVJr@Zr@Xh@R~An@VJ`A`@zGlCXJXJf@Pf@Nd@Lv@Tl@Nh@Nd@LhAZ`@JTHVHVHVHTJd@Pb@PnDvA`@PhAb@`Bn@f@RlCfAfU`J`@P^L\\Nh@Pf@Rh@R|@Z|@Zl@Tf@Rd@Pt@Xt@X|@^|@\\z@\\z@^l@Xl@Vl@Vh@Vl@Vj@TZNn@VjCdAhDtArAZr@Xf@Rn@Vn@Xh@Rf@Td@P|B|@`JpDv_@jOp@VdLrE~@^zCjApPzG`c@|Prn@rVFBrAh@dBr@ji@fTzDzAlDvAdM`FzH|CzClAnAd@jAf@dG~BlEfBtAj@pAf@??vPzGf_@`O`C~@", + "rokiciny|baby": "_rjzH}pvwBPHpGfCbFlBFBhJrDlXnKnHrChk@tTfE`BxEhBjGdChBp@~EpBn@Zj@Zt@`@|@j@v@f@v@j@v@j@x@n@v@p@r@p@b@`@n@p@`@^JLlm@dp@nW~XzA~AvFfGtJhKd[x\\pAvApAvArLjMnc@pe@lI~IxOvPd@h@r@r@l@l@n@n@n@j@r@l@r@j@z@p@t@h@|@l@n@b@|@j@v@b@v@b@f@Vn@Zh@Tl@VbC~@vBx@ff@~QtIdD\\NvAf@|Bv@|@Z~@\\~DzAhDpAfE`Bz@^n@Vr@ZfEfBNH|KfEtAj@p@Vt@V`@Nd@P\\Jb@Lh@Nn@Nj@Jr@Jl@Ft@Fl@Dp@@n@@r@Al@Cr@E|@G`@Gd@If@Kp@Mv@Up@Sj@Sr@Wp@YjJ}D`k@{UjH{CnYyLf@Sl@Sp@Uj@Sr@Qp@Ol@Mr@Mf@EXF`@El@Ct@Cp@Ap@@l@@v@DZB^D^Dn@Jr@Ln@Ln@Pp@Rp@Tl@Tp@VbE|A`E~Axu@|Y|D|AbE~AXLvHvCrp@lW", + "baby|piotrków trybunalski": "y`qyHm`jwBZLbC`A`@NpEfBhDpAt@XnC`AnAd@z@Zx@ZfBp@vLvEj@Rl@VxqAlg@xk@|TjBr@jAd@dFnBf@FrKdElAd@bI|ChCbAXLRFn@V\\Jf@Pv@Tx@R`ATx@P|@Nh@HPBl@Hj@Fh@D|CXfa@fDfMdAtBR~d@zD|v@rGzv@tGzNlAN@`MbA`DXlSdBdFb@bBLdBNnd@dEzCXtIv@rLfAzCXjDZjBP|Gn@`E^|AND?`Jx@tHr@pRfBxBRrGl@|ANzMlAf]~CN@tIv@pOvA", + "piotrków trybunalski towarowy|rozprza": "owyxH{}cwBlW~Bd@DhK`A|@Hl@FjK`AtEb@VBxIv@t@HtALlAJz@HzBRnE`@xBPdAJlCV|o@`GzKbAP@hCV^BfCTtFh@zJ~@pEb@L@pE`@|v@dHtTpBrEb@fCTjD\\tDZzBRnALjCVp@FlCTvBRpW`CbVvBzNpAxD\\xEb@hEb@~SlBlGl@hRdBb[rCzv@dH|v@dHtCXnc@|DbBPrBPzAP\\Dv@Ln@J^HXDx@Px@T|@Tx@Vx@Vx@Xx@\\t@Z~@b@r@\\z@d@d@Xl@\\p@`@p@d@nI|FZT|B`BzIhGxB|A~AfAbBlAbEtCbJpG`D|BlFtD^VNLbDzBdBjAfAr@`@X", + "warszawa włochy|warszawa gołąbki": "ess}Hwht~BZrAXlABFJd@Pt@Pp@Np@Jb@Md@El@FVFXHb@DRJl@F^H^FZFVF\\J`@H`@J\\H\\Nl@Nh@pAvEZjAZlA^tAr@~C^zAb@pBj@hC@HrAbG`AlEPr@TjAZxANl@Lp@DXFZHd@D\\D\\Dd@D^Db@B^@`@Bb@@^@d@?d@@d@Ab@?ZAXA^A`@A`@C\\C`@Cd@E\\C`@Gf@E`@G^G^Gb@Id@GZI`@I\\CJUv@Of@Mt@mMxa@sAdEk@jBiChIu@bC_@lAyMvb@Qj@GPIZIZKZI^I^I^Kd@Kd@Id@CPEXEXG`@EZGh@It@E`@C`@C^Eb@A`@C`@Cf@Ad@Aj@Ah@?f@?n@?h@@f@@h@@f@@h@Bl@Bh@Bf@Dh@Dd@Df@Ff@Dd@Fd@Hj@?b@Lv@xAnJj@vDRtATvAFd@Hp@Hp@Dj@Fl@Fp@Fp@HrADp@Dp@j@`J@Zb@~G^rG", + "warszawa gołąbki|bednary": "cts}Hmzg~BNzBR`DTdEPtCNdCB`@Ah@@HDt@Dz@Bv@Dv@Bx@Bv@@L@h@@v@@v@@v@@v@?v@?x@?v@?rAAtA@dGg@pj@?r@Ap@IdJMrNa@rh@AHQzTW`[?XGbHGdI?LIlIA~AA~AA~@?L?r@CnCAhCAt@Av@?|@?t@?r@AnA?xG?^?t@?tAAzAAzAChIAvBClGAvAAxAChDCxBEdHGbHAz@AdAAnAAnACrA?VGxEIpGCfACzACzAMjIEtB?RE`CAr@C`ACxAAzAC`BC~AAzACxAAvAEbFKpMArBEjFSvTAnCKvLEpDYd_@CnDAx@Ax@?lAA|@?~@?~@?V@b@?z@@~@@bAB`ABt@B|@Bz@D|@Dr@Bj@Bj@Dv@RfD`@`Gn@tJpAlR|@fN`@dGf@vHj@tIhArPhDpg@`Cd^vAfThBlXPpCXhCd@xDn@hEvBxMp@jEp@hEThBPjBH|@hAjPv@vLnBnZd@tHrBf[t@`LdA`PJnBHfBFrBBlBBvA?zA?dBCzACvAEnBa@nIe@~JI`BG|ACbBCvCA~A@|J@z_@FfF@vD@tABnADpAFdAF`ALpAJ`APnATrA`@tBf@nCvGdXvCvLp@lCjKtb@nNjk@vJx`@DNrAlF^|AxBxId@rBb@lB`@tBRhAPbAHf@PrANpANlALxAJnAJnALdCDfADlABhABdAFfMFhMDpH?LFlMNh^@`AF~KHjR@`ADxJFvLv@jfB@rC@dAXbi@DtJFhJ@zCB|EDbH?NDhJ?RX~j@@bB?`B?xAA~A?jAC~AAbAE|AEpAEnAGrAGzAGfAMbCUnEuCth@aCnc@_@dHm@|Kw@nNiA`Tg@fJ{A|XmBx]AVc@rH]~GqB~^eBn[aAvQeC~c@gBn\\qBz^wAxWmObsCo@nLuFldAqObuCyDvs@a@|JI`BG`AgAlSiFpaA]dGm@~Ko@nLItAaEbv@iAnSg@lJAHgErw@a@xHk@fKaArQmDjp@mAbUyDns@[lG]lGKdBI~AIbBE`AEdAK~DAf@Cd@EjBClBQvHaBjx@YvN?DyCdzAm@zYkAbl@KnEEtBC`AEfAGfBAd@Ev@M`CMhCsCrb@sDpj@wAhTc@lGmBnYiCh`@mGd`AeBnWQjCEr@QdCW|Do@pJKzAIzAGxAG~AAnAArA@nABrADxAH~AJxANxANdAPhALv@Px@Ln@Pp@Rt@Tt@ZfAl@rB`@rAh@dB`AdDrAbE`ChHtAhEdAlDnCbJfCxItAlFvAbFBHrAtEHZZ`A^pA`@pAx@nCZbA\\`A^`A^`Az@lB^t@`@r@b@z@`@n@V`@T\\f@t@p@z@r@x@t@x@r@r@tHfHjCdCjBdB~@x@DD`Az@rAbAj@\\j@^f@Vt@\\n@Vj@T^L^L^JbBt@DBtQxFh@P`@N^L^Lb@PZLXLJFZNXNZNXPVPZPDDXP^V\\V\\Vl@b@zCxBFD`D~BhBpAr@f@HFfI`GhCjBfEzCbQfMz@l@`LfIVPDD\\V\\VZVXTZVXXXVXXXZXZPRPRPRRVRXTXT\\V^V`@V`@T^T`@`@t@b@t@zCtFpCdFdG|KhEzHbGzKlAzB`@r@pCfFrIvOn@hArAdCh@`Ah@`Al@hAdB|CTRnC`FdB`D^p@hL|SNVLTdDdGf@|@f@~@fB`D`HfMP\\T`@xNzWDFb@v@`@t@hArBtClFBDVd@Zj@pEjIfFjJ`ClErAbCJNZl@DHb@t@Zj@Zj@Xf@JPNTXd@Xd@Xb@FHPVPXFFT\\NRFFNRNRRVRTTXTVVX@@ZZXZZZZXZXLLNLZX\\XHFTR\\TZVh@`@bAv@ZT\\VVPnDlCpEfDfIdGHFzElDxFfEzJnHLJd@\\`D`C`D~BnBxAl@p@t@h@l@d@n@d@LJNLZVXV\\XXXZV\\\\XXVXZ\\X\\VZV\\BBVZTZV^V^V`@LPFJNVPXNXT`@Vb@Tb@@DR^Td@Td@`@z@\\r@~@pBt@`BtFtLlEjJpArCP^f@fAbE|ItChGnFlLfA|B?@Xj@|B`FlAjCf@dAb@~@lC|FjFdLxDjI`@x@Tf@Tf@Pb@LVLXL\\Tf@Th@Rh@Rj@JVHRJZVv@Ph@Ph@Pj@DLH^Pj@Pl@XhAZhAzA`G\\tANh@rDzNfDrMNn@pEhQbF`Sj@zBVbAn@hClBlHVfAzHrZfAdEJb@\\rAhCbK`Ndi@XhAXjAPp@Np@Pr@Px@Ln@Ll@TjATnAdIhd@RhA|@bFf@pCTpATpAbCfNHh@Nz@b@~BjBtKzBjMjElVb@bCb@dC@DfAfGHf@DPnBxKVxAFXl@lD`AfF`AtF", + "bednary|łowicz główny": "{m_}HyllyBx@tELt@Nt@RjATlA`Ltn@XbBz@tEvA|H~@hFdAdGrC~Op@tDpFjZ|Fb\\RfAX|AnAbHhEzUvChP\\hBRjARhAJn@Jn@Lv@Hj@@BHp@Jr@Hr@Hn@Fp@BTDXBZBVBTBZDf@Dr@Fx@Bf@Bb@Bd@Bd@Bj@Bt@Bp@B~@@f@@j@@p@@p@?t@@r@BdBDvE@hB?b@BbB@nA@nA@fAB|ABlAF~D@R@`ABxABvA@xADvD@dAFnIP~QDdF?h@BzB@z@@p@@p@@v@@v@Bv@Bn@Br@Bp@Dl@Dl@Bj@Dj@Dh@Fj@Dh@Fh@Fp@JlALjAhBjRVnC@FH|@JdAFd@Dd@Dl@Dj@Dl@Dh@Bh@Bf@Bj@Bj@Bh@@h@@h@@h@@h@?p@?r@?Z?h@?h@Aj@?\\Cn@An@Ch@Ah@Cj@CZA\\C^Cb@Ef@Eh@Eh@Eh@Gh@Gd@E^CVG`@E^Gb@Ib@Ih@Ib@I`@Kl@Kf@Kb@Kd@I^I\\Qn@K`@M^M`@Qj@Qh@Sh@Qd@GPKTSf@Uj@Wh@OXOXMVS\\QZWb@QXQXU^{@tAKPiBvCGJy@nA]j@]j@W^GJ]j@cCzDW^}@vAiAfBaBlCc[zf@U`@W^oApB_CxDk@~@g@t@e@t@U^}@vAcA~AcA~A}@xA", + "łowicz główny|jackowice": "_t_}HavxxBCDcA~AcA~Aw@nAKNYd@g@t@EHOR[d@]d@g@t@k@r@ORSTQTY\\q@t@[^[\\QPQPQPSRSR_@^URURSPYV{@p@YTYRYRED]T[TUNm@`@g@X_@T_@R[PUJoDhBwA`Aa@Ra@RiB|@]POHs@^m@Zk@\\YNWNWPQJYP[RYTYRYTUPWTYVWTSRSRSRONUXWVWZ]`@]b@MPWZU\\Y`@[d@[d@MRS\\Wb@Wb@U`@S`@S`@KRYl@Wj@Q^Sf@Uh@M\\M\\Sl@O`@O`@Od@GPGROd@Qh@W|@Y|@[bAELSp@sLz`@sB|GuBbHcHrUK\\{DnM_ExMAFcAfDgEnNiCtI{@rCcCfIqDvL_@lAuF`Ru@dCgH|UeElNcDpKeB~FsAlEoAhEgCnIm@tBM^Qn@Qj@Ql@Mh@Sn@Op@GPI^Ol@Ol@Ml@Op@Op@Mp@Mn@Mp@CPG^Mp@CNG`@Kt@Kp@Kt@Ir@G`@APIt@In@Gp@K|@MnAKnAaBrRI`Ak@zGoC|[eB|Ro@`Iq@dISnAyAzPwHz}@WzCY|Co@xHmBfUkE`h@eBpSs@fIq@fI_@bEQ`BQ`Bc@rDe@rDoA`JqAbJqAdJ}Hpj@}CxTmAzIoAzIcFh^", + "jackowice|stara wieś": "qgi}Hsd|wBcFf^cBvLa@rCWfBuDbXuAxJM`AeApHmAtImAvI{CjTy@`GqDlW{AzKm@jEo@lEi@dD]xBYvAYxAu@`Di@vBm@xB[`A[bAy@`CwArDm@vAm@xAcNd\\qFpMqFrMqOz^iG~NcC~FcA~BaA~B_B~DoAfD_@jAa@jAu@fCs@pCq@pCeBlIGVuHr\\oBrIwH|\\aFvTqBxIw@lDw@jDmAnFuFjV_DlNaDnNkBdIgDfOgLpg@aL~f@yG~YmMhk@cBnHcCtKqBbJuBfJuBtJw@~Ds@~DmExViDnRyDrT{DvT{DnTgOzz@uEnWkCbOaJvg@kFfZWtAk@~Ca@~Bc@`Ce@`Ca@hCa@dCSrASvAa@fDYlC[rDYvDWtDYvDgA|OEd@u@pKe@tG_@jFWpDUbDeA`OcAlNiArOEl@YbEOxBMvBSdEGtAE|AGlCAfAAnAExCAvCAvKGzKIfTAxCi@puAKn[Wfs@ErISrh@U`PG`BI`BKfBKbB{AjRqGby@qCx]cL`xAeBhT_IpbAyIbhAq@tIW~CcBfT_IvbAsBlWoHn_AgArNyAlRUdEOdEI`FCtE@~CH|EZdIZrFhAtSxA|Uf@bIp@lLTrDbAlPt@vL|Cvg@Fz@rB|\\", + "stara wieś|kutno": "kqw}HksouB@JfGtbAh@xIv@zLzHzoADt@Ft@VrEt@lLHtAHtADr@Cb@HtABh@@f@Bf@Bp@Dx@Bx@@z@Bz@@|@@r@@x@?z@@x@?|@?v@Av@?z@Ax@Ax@AvACvACvACtACpAwAf|@CxAIxEOtIAr@GbDE|B?TCh@Af@ErAAr@A@An@ALC`@Cp@Er@Ep@El@El@En@AJ@f@Gp@Ir@Ip@Ir@It@Il@", + "kutno|krzewie": "s_w}HezcuBKr@Kr@?BIf@Mr@CRG^Kp@Kn@Ml@Kn@Kn@Ml@QbAKf@Q`Ae@dCGTg@dC_@fBOl@CNKb@Ml@Sv@Or@GVIXWfAU|@Sz@K`@IZENcBzGkAxEADi@xBwAxFo@hCk@|BIXEP[rA[lA}BfJ{AhGSt@WfAWbAIXMh@S`AOn@Ol@Ml@EPEVMl@Ml@Ml@Mn@Kn@Kd@Kj@Kl@Id@GXO~@a@`CyAxICNcDvRo@vDET_@vBaB~JMn@kB|Kq@bEoAtHGVc@pCg@vC_@xBiA|GaFbZo@vDgAvGEVeAfGKl@sAfI}@lFCLSfAaAbGmAdH}AhJo@xDSnASlACNG\\Kp@Kn@Kp@Ip@In@Ij@Ij@Ix@Ip@Gp@Gt@Gl@Et@Gt@AJCj@Ep@Ep@Cn@Cr@Cr@Cp@Cp@A|@Ap@At@Ar@?n@Av@@t@?j@?r@@p@?h@@t@Bp@@l@Bt@Bp@Br@Bt@Dr@Dr@Dp@@NBb@Dj@Bb@BRFt@Fl@Fr@Ht@Hv@Fn@Hl@BZJr@BXHp@D\\t@tGv@vGJbBt@tGl@fFFn@D`@NnAHv@Ht@Fr@BPB\\Hx@Fx@Fn@Fx@@XB`@Dn@Dz@Dx@Dr@Bx@Bz@Bp@Bx@@x@@v@Bv@@x@@xABvAn@~t@BhBDpFjBrqBDtFBfBZl^PjQb@ne@@v@BpC@hA@fAFdHTlU@dBdAxiAFxGPjQVdXHfBf@ni@VfYJbKJ`KJnK@vA@|AB~A@z@Bx@BfA@|@B~@B~@Bl@Bn@", + "koluszki|gałkówek": "}ryzHw~}wB\\P\\PZNZNVLx@\\`@N~D~Af@RNFjBt@lFvBt@XzAl@t@Zt@Z~BdAb@b@VJHD`@Pd@Rb@RXNXNXPRLRLRNVRPLNL\\\\\\\\RRRTRVPTRXPVRVPXNXR^R^JPNZN\\NZN^N`@JXJZL^L^J^L`@J`@J^Hb@J`@H`@Hb@Hb@F`@Hb@Fd@Fb@Db@Fb@H|@N~AdArL|A~Pp@rHLzAJ`ABTLtALxAJfALrALrApCb[Fn@Dj@f@tFj@nGDh@BRD\\@LxFpo@LvALtALtALrALrAJrALtALrALrAJtANtAxAnPjD~_@NbBD`@rDxa@JhALrATbDPtCJ|CFvCBrC?jAAlAClCCfAEfAEfAGfAGjAIfAIfAKfAKhAMfAS~AU~ABN}@rF{BzM}@lF_@vB]xBa@tC]vCWrCKpAIbAGtAGrAEpAEnACtAAlAAf@?l@?tA@tA@xABzAHlD?tB", + "gałkówek|łódź andrzejów": "cqvzHqbnwBBhAl@rT`@xNNdGBxABlABxA@pAJh_@@dC?zAD|JBdK?|ABtIBlHFdRf@ljB@fDAbDE|CGtCMrCQxCUjCWjC]jCa@rCyAnJ@\\[pBQnA]vBmA~HQjAOjAQlAKbAMhAKdAKpAIfAGnAGfAEbAEnACnACjAApA?nA?tA?lA@nDFfVBnI@pD@tD@pD@rDJd`@@tDDfO?dABdHDvODjM@tEElA@nF@vA?nAArAAfAAlAChAGhBC`AEr@GhAIhAIbAIhAMfAK`AMfAAh@U`Ba@fCUfASbAi@fCo@nCmIz^_FjTOj@c@lBc@pBaA~Dw@vCgAtDo@pBw@zBcD`JaNp_@", + "łódź andrzejów|łódź widzew": "iuxzH_lvvB}@bCgCdHGRyJnX}@bCQf@oIrUo@dB_DvImE|L}KzZcAhCaAdCsE`KiEpJgBbE}@|B]~@[~@[bA[bAYbAWdAm@lCShASbAe@tCa@tCoDtXkDzW_ErZoFva@cBrMc@`DIv@WtBQ|AMrAGn@WfCYlDwAlQEp@y@`Kg@rGGn@QzBuAzQs@rIo@nIyA~Q_B`SYlDs@zIg@hG", + "łódź widzew|łódź fabryczna": "me}zHgwfvBm@tHGn@qAlPGn@WjDa@tFK~AKxBGnAErAIxBSjHCtAYhKMnBSxH[jLKvDKxDIvCGtBG~BMlEQ|ECz@Cx@InBUxFIzBExAGnBEbAO`GGnCGnCIjE?RErCEhBGhD_@xNCz@yDvvAI~BS`GGdE_Ar]C|@GnAG`AWjDOjDs@dJCZCZEj@Ep@C`@Cd@Ad@Af@Cj@Ah@Aj@I`EG|C", + "mikołajów|żakowice południowe": "ajrzH}rexBWl@Wl@k@~AsAjEiAvEaAvEy@vFo@|FcB~P}JtbA{AfOw@zF}@xFgB~IkBbIeEbOcJf\\sKd`@gF`RmFlR}AtFwAbFK^yAnFK^Uv@wQbp@Ux@Uz@Md@GTS|@Uz@S|@UbAS`ASbAQv@Ov@O|@Q~@O~@O~@O~@M~@O`Ak@dEMx@y@bG", + "żakowice południowe|gałkówek": "}jvzHgkxwBo@rEIpAQpAQpAM`AK`AE^Iv@Iv@Gt@Gx@Gx@Ex@Gv@Cv@Ev@C|@Ez@Az@Cr@?DAx@Av@?|@?z@?z@?x@@x@?v@@p@B~@B~@Bx@Dx@Bx@Dx@Fx@Dx@Ad@BTFx@Fv@LtALtAxDbc@l@pGb@bF^hE`@fEfB~RXbDR`DPbDHfDF`D?fDGdDG~BGjBKzAIzAMtAMvAOlAMdAS~ASvACHaHva@QlAIdAMz@M`AOjAMlAKfAK|AIbAI|AGbBElAEnAAlAAjA?L?|@?dA?lABhAFrCD~AUlA?tB", + "łódź widzew|łódź marysin": "ag}zHwsfvBSjCQ`BGh@Gf@SpAKf@Kd@WhAOf@Ob@Ob@O`@_@~@a@z@{@jBuBlEINwChGcAtB{HjPgClFuAtCuAvCm@nA{GnNm@lAq@vAKR}@jBa@z@m@rA_AvBa@dAWp@y@hCW~@Ol@gBfH{AhGkAzEaAzDaA`E_@xAi@vBY~@W|@a@hAQf@Wr@]z@[r@[p@a@x@Q\\c@v@W`@S^QVa@l@o@~@e@j@m@r@i@l@i@f@k@f@g@b@i@b@a@Xk@^c@Ve@Xk@Xm@Vk@Tw@XuA^_@Ha@Fa@Hu@Js@Fq@Do@@]@_A?u@CWA]A}FSu@Ey@Ak@?m@?q@Bs@Fu@Fe@Fg@Hg@Jc@Jc@JWH_@LSFc@PIBSJWJKDQJOFOHQJQJMFMHa@Ve@Z}LzIeAv@]Vu@j@[XgAbAs@t@a@d@u@~@gA|A_AzA[l@]n@Yh@Wl@]t@MZO\\O`@Qb@[|@Od@Qf@W|@Y`A_@|AyBbJ{@rDuC~LmAhF", + "łódź marysin|zgierz": "}ed{Hk{|uBqJja@kA|EMj@Mh@_@tAUv@q@tB]~@Ob@]x@a@~@y@dB]n@w@vAQXa@t@i@~@k@~@_@l@c@l@W\\Y\\c@h@c@d@mEvEMLuCzCgAjAi@h@c@f@g@l@e@j@]b@]d@Y`@_@l@Yd@[f@a@v@_@t@i@fAUj@a@`AUl@Up@Wr@[dASr@ELOj@U|@c@nBe@pByBlKa@fBYlAYjA[hA[fAY|@Wr@Up@q@~A[v@]t@Ub@Wd@Wd@Wb@]l@_@j@SXc@n@g@p@g@j@UXk@j@{@z@cBxAs@l@kB~A_Av@sLbK}E`EuE~Du@p@[X]^e@d@]^_@d@[`@[`@k@x@MRQX_@p@[f@A@Wf@k@jAKTQ\\eA`Cm@rAaBzDcA~BCFaCtFe@dA}@tBc@~@kE`KmBnEc@dAcA~By@jBy@jBO^m@vAc@bAwAdDi@jAo@xAq@~Ae@dAUh@o@vAWn@qFdMsEpKcGfNCFq@~ACDaAzBoBrE_AxBi@hA[p@[l@]j@Yd@]f@]b@]`@YZa@`@_@Z_@Z[T]V_@RYNWN[L]L_@L[JWFk@L_@Dg@F]BU@c@@}@?k@C[CcAOWE[IWKUIYKYOSKeAq@KG{@k@w@s@", + "zgierz|zgierz północ": "e{l{HcepuBm@i@c@c@wAmAcDyCeDyCoEcEoBgBkD_Ds@o@w@q@yAoA_Ay@_Ay@][u@q@_A{@SQy@w@a@_@g@e@c@_@YY][cA}@][]Ya@Wa@UOGSIa@Oe@Me@Ma@I_@Ga@Ec@Ce@Cg@AU@W?k@DWBWBq@Je@Jg@Lg@Pe@PYLYNs@b@q@d@q@f@qDnCwAfAEDqAdAWVYVe@d@g@h@e@j@e@l@e@n@c@p@a@l@SZOZOXQX_@v@Yn@[n@o@zAQ`@}CnHgC`GmHbQ[t@O`@IRUn@Wv@Up@Ut@Ut@St@S|@Op@Qt@Ov@Q|@Ox@Kp@OdAMhAMbAKbAI~@I~@IdAEbAG`AIdC{@`Y_@~LIvCAr@Cv@Ar@Ax@?x@?pBBbCBv@Bv@J~Cb@rLBp@\\bJDdABbABbA@fA@hA?~@?p@Aj@?j@C~@C`ACdACz@E~@G`AQvCAF]|EUvC{@lLq@nJ", + "zgierz północ|zgierz kontrewers": "auq{Hk{huBKjAInAOlBQbCkDte@gAbOUxCwB|YYjEWnEEnAC~@Av@?bA?hADbB@p@FfAHpADb@Fj@P~ARxAd@jCtAtHd@hCPx@R`AVjAPr@ZjARt@Pj@Xx@`@pAhCzHdBhFlGhRdA~C@BTr@Xz@Vz@Tx@Pr@Rx@Pr@Pv@Nt@Lt@Lr@Jn@TdBL~@J|@Fn@Ht@P`CF|@DbAD~@D`ABz@@h@@hABlA?jA", + "zgierz kontrewers|chociszew": "{yp{H_l`uB@|E@zJ?fAAz@AdAC~@C|@E`ACd@C`@Ex@OjCM~BIlAI`AGx@KbAK~@K`AM~@Mz@Mx@O~@kAnH}@lFKh@Mh@Mn@Op@Ol@Qp@g@bBi@bBsA`Eg@xA[~@KZQd@M^e@lA_@~@CJc@~@]t@[n@c@v@Yh@c@p@]h@_@j@a@h@s@~@o@r@k@j@k@h@i@d@i@b@k@b@m@^m@^m@\\wBdA{Av@{Q`J{GfDqEzB{BhA}BfAuBdAe@Te@RYLq@TeAXcATaAPkH`AqEj@yAR{Df@kC^oGx@WDaDb@mANmBVo@Hm@H_BZi@Li@Nm@Rk@RWJWLo@ZwAv@k@^i@^w@l@SP[X[Z[ZYZe@f@c@h@a@h@c@j@c@p@c@p@OTQZa@t@o@lAWl@Wj@eAjCKXKZYv@s@lBeB|E_BrEo@lBm@pBc@bBa@dB]hB[fBW~A?@]pCYtCk@hH}@~K}@~KyApQk@hHk@fH]jEADOhBOdBMpAOnAUbBW`BUnAUnA_@`B_@zAOl@Ql@c@xAi@xAi@vA]z@_@x@aAnBk@dAk@~@o@~@o@|@q@x@q@v@q@p@q@n@s@l@s@j@_Al@_@VKDULaAd@cAb@i@Rk@RwA\\mDv@kCl@ua@`JiAT_TvEq@NmCj@mK~BiAT{Dz@{Bf@", + "chociszew|ozorków": "un|{HgbrtBg@JwAXw@Ny@Jo@Fe@Dc@BU@o@@o@@o@A_DQ_BKwBM}CYkFi@yLmAwAOsHw@{JcAw^wDsAOyYyCsO_BiGo@aCUAAaAKaAIkBKi@AS?U?m@?m@Bg@Bg@D]B[B]F]Dy@N}@N_AP}@PeGfAaCd@w@LiATkB\\iEx@qAVaLrBaKjBgI|AeMxByB^kBZyHvAiHtA", + "ozorków|łęczyca": "}ze|H{zqtBC@}AV{[dGmCf@cBZwB`@oCl@mCl@uAZ}Af@_Bn@yAv@eBlAcJdHkHtFaq@`h@oTtPwDvCyAnAwApAqBrBmBzB}BzCyBbDW\\k@|@cA`BeC`E_CxDaHbLaHbL}JlPkHpLoCrEcDjFmLnRwFhJu@lAs@lAgBrC_A~AcA|Ai@v@i@t@k@p@UXIJMLUTWVo@n@m@f@q@f@SNaAp@gG|D}OfK_DtBoCfBaU~NwKfH{E~CuL|H_Ar@_Av@sBrB{AhBwAlBq@t@_RrUgElFsEzFkM`PiQzTeIbKiDhE", + "łęczyca|witonia": "gxt|HqwctB_HtI_BpBkFxGsBhC}D`Fy@~@eAbAaAz@eAt@aAl@iAn@aA`@_A^YFw@T{@RwAVqBVgAF_@@kCFiCBoGFiED}CDaEDk`@`@}JL_A@gLLuEFkB@u@@s@?i@?g@Ai@Cg@C]Ea@E_@E_@G_AQ_@Ka@KsBo@_Bu@gAm@c@Ya@Y}@q@MK][g@e@oAqA}BgCmBqBeBoBsEcFqE_FiBmBgBoBcKaLoUgW}@aA}@aA[]uA{Ak@k@m@k@c@a@e@a@iAaAcCqBs@k@s@k@_BuAECmEsDoEsDgByAeByAoFoEaFcEoFoEwBgB{@s@y@u@KIa@_@k@k@uAyAcAkAcAkAySiVcOaQyKmMCA_RgTgMaOul@er@SUoKaMcLwMyAmBk@w@k@y@{DiGoFuIAEei@i{@_GqJkFmIeGyJuF_J}IuNkCgE_QwX}@mA}@oA_H_JiDqEgCiD}@mAaP_TkA{AiA{A", + "witonia|kutno": "q{i}Hc}stBcB{BiB_CmE_G_DeEmDuEkCmDwC{Du@aAwBsCoCsDeAsAcNuQoCqDsIaLwRkWkMwPuKqN_Zi`@_DeEACmA}AmAcBc@o@a@o@a@m@_@o@gAgBcAiBgCuEsGiLgJqPuByDqFuJkJsPgJqPkIeOYg@g@y@e@y@{@oA{@kAoG{HsAcBcCwC_AkAaAiAiB{BuEwFiC_DeAsAcAuACCa@o@c@s@e@y@c@y@_@u@_@w@]w@]w@oE{JgB}DwByE_F{KaF}Ky@kBcF_L}GmOwCsGkAiCe@cASc@CEWg@Q_@Wc@Uc@m@gAo@iAyAkCEG_CiEe@{@yAkCCE[k@Ua@W_@OWSYSYSYOOW[WYOOQQWUWSUQWQWQWO[QYMUKWK[KWKWGYG[GYEYEYC_@CYAU?E?U?W?[@Y@YD[BYFWDYFUFYHYJSH[LYNWNULULUNSP[TSPWTWVUVYZYZe@h@k@p@y@bAa@d@ML_@d@GH]`@e@j@QRSZUXOVMPIJa@p@S\\S`@Ub@KRELQ\\MZQ`@O`@M^a@KGCJm@LQLm@F_AN_@AWF]Jo@Hg@@GNYBS?]Fa@N[EMHi@Ho@HC", + "kraków płaszów pzs kpa|kraków główny": "_njpHm`~xB]x@y@vC_@nAOj@e@|AYv@]`AYx@_@~@GNMXaAxBgAxBk@`A[j@]h@e@r@mC`EILq@bAa@l@a@l@eCvDQTOVa@l@_@j@c@n@yCnE?@W^wB`DW^w@jAeFxHGHkAfB_@j@g@n@]d@a@d@_@b@e@f@c@d@a@`@_@`@e@j@[b@a@f@_@j@e@r@wAtBkAfBEFYb@w@jA[d@c@p@kBpC_@h@{A|BuB`DgA~AuOtUcCrDc@l@[b@a@l@o@~@]h@}HnLEFwHdLeA~Aa@l@a@f@_@d@a@f@k@l@[Z]Z_@\\EBc@^e@\\c@Xg@Za@Tk@Zg@Tg@Rg@Pg@Pc@Lc@Je@Le@Fc@Hc@Di@Fi@Da@@g@@eEHa@?eFHk@@i@@[@[BsAF_@@i@BK@U@S?o@@a@L}AB{CDC?_A@m@@aA@a@@cA@oA@K?k@@k@BaADM?Q@}@BwCFqHJQ@_@?c@@Q@W@YBi@F_@DYBSBQBaAJUBUDYDg@LWFOFQFSFIGUMIBw@^OFMFgF|BWJQJKD}@`@a@Pc@R]@KDw@^a@PSFYH[HYDWBW@O@U?QAQAUC[EWEKCMC", + "kraków główny|kraków przedmieście": "usspH}ovxBw@Q}@QOEk@Mg@Ki@OICWIa@O_@Qa@SYOMGk@[cDoBWOuAy@cAm@wBqAmJuFgAo@yCgBeBeA]U", + "kraków przedmieście|kraków batowice": "ugupHmowxBaBaAQKeBcAu@e@{A_Ag@]UQYUUUWUWWSUWYW[U[MSU[Wa@Yg@i@aAy@yA_BqCYg@qAaCc@s@cB{C{AiCcAiBq@kA{@wAOWWg@]k@Uc@_@s@_@w@c@cAk@wA_A_C_BcEoC_HgCqGmAaDcAiCi@sAeHuQkC}GkIeTkA{CmA}CeAqCq@sBm@wBWaAg@gBw@{CqBqHoDaNs@kCs@mBcA}DQq@q@aCa@yA", + "kraków batowice|raciborowice": "_fypHqx~xBmCaKAc@{@_Dq@uCUoA_@}B_@qCSsBKeAGcAKeBGwAGyAGsACkAC_BAiAAiA@uC?k@@s@BsABgBD_EBwBFcEBgBBmCFoGDoCDgCB}BBsBFwCBwCHwFBgBBoCBoCFcEEM@gAB_C@_A?[?s@A}@Cu@Cw@?EEs@IoAMkAKeAOeAO_AQaAeAyEgA{EkBkIkBiIa@eBe@wB_AcEi@cCq@yC", + "raciborowice|zastów": "mezpHkqfyBsIo_@{DcQyBsJ_AmESmAEUMs@g@yCmAsHqFy\\}Fi^Mu@cHec@{@gF}@qFm@oDk@mCo@kCm@uBe@uAe@oAe@kAy@qBAAy@mBWo@", + "zastów|niedźwiedź": "ik|pHe}myBkAmCaCqFqA{CoCmGoCuGaF{LYs@yCgH_@{@KUkBqEsLaY}AsD}AsD{CmHwBcFs@cBs@cBKUSe@uBcFsB}EcAaCeAgCu@eBQa@mAyC{@kBy@}A{@uAy@eA{@}@}@w@}@q@q@_@o@[g@Qk@S{@Us@OeAOuBYoBYoCa@{@M{@MuASaAKyAMyAIiEQgEQ{BKwCKoESm@A[AyAGkBIyBK_CKsBIkAAoABo@D_AN_ATcAZq@XgAj@w@l@eA|@k@j@u@~@e@p@{@tAu@zAk@vAe@rAe@bB[xAEP[bBWjBWlCUdC[`Ec@fFQ|@OjBWbCc@|C]hBe@hBc@vAu@pBaAzB_BnDuEbKsCjGkAdCg@~@k@`AaAzAi@p@c@l@m@p@o@r@iAfA_Av@cAr@cBlAi@\\WPkAx@kClBeCbBeBlA{BvAiAn@qAj@u@XaAXkBh@qD|@uD`A{KxCw@X}@^y@b@u@d@{@l@gA~@eCbCkAhA_CxB{@x@{@p@s@f@cAh@_Ab@aAZy@T_B\\_Dn@wAZy@V}@\\sEhBgBt@yAx@cCxA]Rc@Vu@b@sAt@_B~@yAp@_Cp@gBXgBDgAAgAKsBc@i@OgB{@aAm@cAw@q@o@k@m@qAiBy@uA{@cBg@oAa@qAa@}Ag@{B_@cCW}BKoAKcCKoDG{CIyCKiCA[Mu@G_AOyAS{AUwAe@aCm@yBs@qBeAaC_AaBaAuAe@i@_@a@mAeAu@k@{@g@}@c@kAe@kGcCiKmDaA_@uCiAqDyAgDqAmFkBcEyAy@YyBq@gDeA{DuA", + "niedźwiedź|słomniki": "sgmqHskqyBiE{AmAc@eBm@oCaAwAe@eAUuAQoAGkA@kAFgARgAV{@X}@b@{A|@{A`AeElCwExCwD~BeAf@}@\\{@Z{@RyAVeAJmAFYJi@@{@CcAGqFi@mBSuGo@uGo@{Fk@gHu@{AO_@EsAKcAC}@?oAJw@Ju@NaAXaA`@{@d@y@h@m@f@_Az@yAhBo@bAw@tA{AlCm@tA{BdFq@~A{AfD}@tB_AhBmAhBgArAuJtKgCpCiDvD{ElFmCxCyAjByAhBm@n@o@h@u@n@cB`AaDlAMD{Af@kA`@i@Pc@Ni@Ni@LoCn@", + "słomniki|miechów": "}cuqH{wmyBs@NUFeAZ}EvAk@PqHvBiAZaAZeBf@[H_@L[VkBh@KDoBj@c@Ne@Ng@RyAr@k@^k@b@m@d@m@n@e@h@i@r@s@fAo@hAiBfDkAjBoA~Aa@b@u@p@w@j@aBbAe@VmC|AwGrDoPfJeAn@iAn@oCzA}GvDsBjAuLzGaB~@eB~@kE`C}BtAkAx@{@n@s@l@GFiAhA_AhAcAjAwFhHeQxTaBpB_BfB{AnAm@b@w@f@wAp@wAj@yFnBg@PmGxBuHhCqHdCiA`@gFfBqAl@qAr@aDnBcEdCe@X{At@QH{GdEyBzA}@v@eA`AeAhAaAjAsCtDyC|DkMlPeChCKH{@v@aAt@g@\\kBnAoGtD_DhBuCdBwEpCyAbAeBxA{@|@sFdGkMpNyCbDaDjCgDfBoEhAkFx@cDh@mD~@}CzAqA|@gBvA{DfDcCzBaAt@}AbAoGjDg@VoJ`F_DfBuA|@gDfCeAv@WP{AdAw@d@_HhDcH~CwT|JeDvAc@PwDdB_A`@qBz@wBr@kBXuAF{AAsAOc@GaBa@o@WcB{@aAs@aByAoA}AsAwBq@wAm@sA{BaG_A_C{@iB}@_BeA{A{@aAaA_AoA}@}A}@}BaAqBy@}Am@aBo@WMwIoDoDeBeLuE{Am@", + "miechów|tunel": "{zirHsmcyBuBy@sC}@mBy@cBq@kAe@_@OW?gDsA_Bg@}A[{AMmACkFNaGPeBFuBFc@@_AByBCeBKgDa@kBUg@GkR}ByR_CcCMcCByBTMDqBb@uBt@sBhA_C`BwBbBuB`Bq@Z]VuDvCcE`D{B`B_B|@kAd@sA\\gBVw@By@@sAGyAQwA]sAi@eI}DqFsC_Aa@w@Wo@ScAQcAKeBEoBH}AVaAVaA^y@^uAv@kC|AaAl@yDxByDtBaA`@gA^kBb@eCb@cANyEp@oFv@{NxBeBVuC`@yB^wBf@oAb@mAh@s@`@u@b@q@f@aBvAaAdAaAlAu@fA}@xA{@`B_AjB_FzJk@jAaMvVqCvFa@v@]n@_@j@[d@[d@]b@[^_@^_@\\_@Z_@X_@V]REB[Pa@Rc@Pa@Nc@Lc@Lk@LeEx@iNlCeFbAeNpCw@Nq@NeARe@Hg@Hg@Hq@Hg@FK@a@DoK|@y@H{BRe@B_@@WNW?e@?e@A_@Ae@Ga@Eg@Kg@KKESGa@Mg@Sa@QoCsA", + "tunel|kozłów": "yayrHqk_yBc@Sa@Uy@a@gB{@qDiBgCmAGe@SKa@Ua@Wc@[]W]YYYQSSUUYY_@U]Wa@Wc@Ue@Ue@Ym@M_@MY[aAGQ}Tyv@m@yBWaAS}@WiAOy@QeAe@mCqBiLMSO_AScAUcASy@Ss@Ss@Qi@CEWu@Wo@[s@Ym@]m@[k@a@m@[c@_@e@a@e@_@a@a@_@a@]e@_@e@Yc@Yg@We@Sg@Sa@Mg@MMCYIg@Ii@Ge@Cg@Ci@?e@?g@Bi@Dg@Fe@Hi@Je@Le@Ng@Rc@Pe@Va@Te@Zc@\\c@^]ZYXYZ]b@[`@UZKP]f@[j@]l@Yl@Uh@Yv@Wp@Wv@Sn@St@}ArF[jAYx@Wx@W\\EJ[x@Yn@]t@[l@_@p@_@l@a@j@_@h@c@h@]`@g@h@a@`@e@`@e@\\i@^e@Zg@Xi@Vg@Re@Rm@Pg@Ni@Jg@JO@]Dm@Fg@Bc@@_@?]?e@Ag@Em@Ee@GYEUEi@Kg@Ok@Qg@Si@Si@Wm@YaRsI}SwJwCuAgCkA[Om@Y]Q]QiDqBqAu@a@Uc@Se@Wo@YgEoB{G_DaGmCqAm@yB_AECiCiA}CsAKE{@_@y@]s@[a@O]Kk@Qk@OyBe@_@IYF", + "kozłów|sprowa": "stbsHghdyBuBe@a@IyBg@A?]IyEeAwGyAmAWiB[mB[{AW]DmCe@w@Kq@Ks@Gw@Iu@Es@Cy@Au@Ay@@u@Bs@Bu@Dw@Hm@Fs@Jm@Jg@Ju@Ne@Ls@Pq@Rq@Ti@ROFq@Xo@Xm@Zo@\\s@`@m@^q@d@k@b@o@d@o@h@i@b@o@n@k@j@k@l@m@p@i@n@g@n@g@p@kBrByBvCaApA_FtGeIbLyHxKo@|@w@hA]f@qApBcAbB_AfBy@bBy@nBYt@_@bAs@tBq@zBo@dCm@`Cc@|Ba@bC]jCe@zDQ`BqFnj@{Grq@}Dv`@gAxKQxB]tC]nCc@rCg@lCk@hCo@fCq@`Cq@pBq@jBq@`Bu@bBy@~A{@zA}@xAcAxAgAvAA@gAnAkElEgKjKqAnAwAjAuAdAyA~@{Av@yAp@aBl@aBf@{DhAG@_@XmFvAoHzByErByCfByCdCmAlAmBpB}DlEo@r@sGbHMLo}BfeCiLdMwBdC_BvBmAlB}AtCiA|BaA`CwA~DeAlDcAjEqAxGmBfKwVrtAaAzDk@fCi@xBc@bBsAfEuArDyBvEaChE{D`FyEpE}@p@EBcDnByF`CwAt@cPbGqSxH{f@zQC@mE`Bib@zOuFtB", + "sprowa|starzyny": "ilxsHejjxBw@XEByDtAmI|C{g@lRaGzBkBp@wBv@aFhBcFjCgBhAyCjCiBnBwAlBwOzUcMhREFal@h|@GJij@`z@_v@ziAiRdYaNdSu@v@uBlCuAvA{AtA}ApA_BdAcB`AcBr@C@gBn@{Ad@{Bd@iBb@}h@bHyVdDovA`R_~@vL}B^iB`@gBf@_Bj@_`@pPoiBtw@mRjI_Cv@qD|A", + "starzyny|psary": "wvotH_ozwBaGrBgA`@qOtG_LrEiM|EwA`@y@Ny@JwBJcACcAE}AS{A]_Bm@k@YSKWOcAs@}@s@}@{@{@aAy@cAu@mAcBcDw@oBi@_Bc@cBqFyRyHyXYgAUs@y@gCQk@So@Qq@mDgM_DgL", + "psary|knapówka": "mzstH}f}wBeXyaA_J_\\s@iCKI_CqI]oAuEqPmEoOiFiOwDyJsDoIQc@sDqHmBqDaFyIuHgLcDoEqKkMyj@so@qQqSqt@mz@yR}Ta]m`@sOkQyOmQwGyGiDaDoD{CeIsGKI}HeGk`@qZuT}P_As@_CiB", + "knapówka|włoszczowa północ": "y}`uHmqnxBeAw@aDeCoEmD{MgKWSoAeA_E{CcMuJeMyJu[oVwHaGwH_GuLkJ}D}Ce@]go@}f@yJuHaDeCaEaDaK_IcHoFi@c@aBoAaBsA}AmAaBoAmA_AcAw@uB{AoE{Ck@]oAy@aAi@kAq@uAu@iCqAgB{@mBy@yAm@sIiDkBu@wOkGkDuA", + "włoszczowa północ|olszamowice": "ozjuHeevxBmNuFmDuA{UkJkGcCwGkC_GmC_I_DkPsGcQaHuEiBo@WeRqHkTuIuHyCoBw@qAg@_EcByDiBwDoB}EqCyE}CiCkBkCqBkCyBkC_CAAaC{BaCcCkDsDeD}DcDcEsKsNkHsJqBmCyi@gt@oh@wr@oEcGa`@ch@sCgDk\\qc@yn@qz@cJ{LmDwEcM_P_GwGgGkGqX{XoFqFmWuWyByBk[m[_T_TuFcFqFoEsF{DuEyCyEmCkGyCmB_AkDuAoDqAeOsEoOqEaBg@gGkBuLkDYImMwD_AYmRyFqYsIyTuGc@Oou@}T_D_AcjA_]oJqCaOkEiEoAoF_B}LcDmHqAyHaA_Fa@aFWkKOmi@BcA?}Q@iS?_G?sdDNwJ@iV@{mAFeI?wn@BwC@gL?", + "olszamowice|pilichowice": "wpzvHwsnyBsA?qQ@mX@qJ?sF@qC?u@?gG?qHKaICcACkDGoFQcE[aEc@gEm@cEu@eE}@cEgAeMmE}i@kTgAe@eBc@kd@{QuL{EgSeIqLyE{y@w\\mMeFch@oSe@S{_Aw_@aAa@om@kV_JmDc`@{OiMqEECwC_A{EuA{EkAwGqAsAWsASeLsASC_MaA_j@wD}Fa@sgAwHkf@gDmRsAcg@mDaGa@]CeE]QCoFo@gEo@wGqAsG}AgFgBcFkBeHaDaHqDgSeLeSiLqBeAaGiD", + "pilichowice|opoczno południe": "azywHccyyBy@e@iq@{_@iHyEcHiFwHyGyF_GsFkGcFoG{EyGqD{FoD_GgOyWeO_XwBuDWe@_d@gx@gZai@em@}eA{JuNgH{IsF{FwFuFsGqFmg@s_@ys@ai@mmA{}@_h@}_@{HcGsHuGqEsEmE_FuJkLeHqIuMoPgH{IoDkEcFiGqIkKgLkN}KcNoA{Ak@u@}D}Ea@g@", + "opoczno południe|idzikowice": "sqnxH{eozByMgPsDqE{F}GkEwEwEuEeEsDwDwC}EoD}DkCsDwBwL_GgFsB{CgA]KwJ}C]KkCiA}HcCaFaBwBs@sB{@gCgAiEqBcB{@cB}@{A}@CA}A_A{DgC{b@eYgEsCoL{HiJeGgYeRgFgDwj@__@sBsAwUsOsWaQ??kS{MiUgOiGgEsHeF}EqDkEqDsK_KwCcDsCoDmBcCY_@_CcDqBqCoCeEkAkB_A_BeAgBs@qAcAiB}AwC}EgJg@_AUa@{@aB}BiEGKgC{Eu@uAq@oAc@{@g@_A{\\io@_O{X", + "idzikowice|strzałki": "wa`yH{v~zBsFkKYk@iDsGg@_AyE_JoAaCEGuc@oz@aTca@qCuEqe@o}@wc@sz@c@y@}BkEyKeT_@s@kIeOcHmKsDgFcIgJmFyFqAsAwImHoG_FuGwEwGoEcLgI}ImG_LgIgJsGsNmKkJyGaJmG_JgGiH}DeEoB[QsG{BuFgBqFyAiGoA_IiAyM_A{c@{AuDS}c@yAg@CsW_AmZiAa{@{C{W{@icAsDgSs@mf@gBsX_A{@E}[eAsHWcn@cCwJi@wSu@_K]sn@{BsGUkGUwWcAcVy@sDMgXcAkXcAyCMwHq@wHw@yCc@gIeBeIgBaE{@{Dw@s@OcTuEoAY", + "strzałki|biała rawska": "kjezHogp{BcDs@gQyDeAUkh@eL}Cq@o@MsDy@mAWqs@wOkBSmHyAqKuAqE[gEMsgAmBsdAwAo^k@u@Aae@u@o@Au@AaU]o@Aqx@cBaFKcb@m@}BA{BE}BO}BUyB[}B]cC_@eB_@kGwAkBg@eCq@mBq@yBu@it@qXygBmq@{MmFuAg@eaAs^sH_CoDaAsBg@qCo@u@OeF_Au@MoC_@qC_@_De@}BQyBOcBAw@Cw@Ey@Cw@Cw@Cw@Co@Co@CeDIeTo@mDKy@CeGQgL[c@AuMa@", + "biała rawska|szeligi": "sac{Hiaw{B{@CwHU_Nm@eq@mB}[_AoFO}sA{D_ACqx@}BgAEw@Cw@Cu@Cw@Cw@Ew@Ek@Ck@ESAa@Ca@Cc@Ea@Ea@Ca@Ec@E_AKm@Gm@Im@Im@Io@Im@Is@Ks@Kk@IoJsA_AOuOyBkSuC}Eq@cIkA}Eq@{e@}Gy@M{sAoRaAOcAMu@Mw@Ku@KKAk@GUCa@Gw@Iq@I_@CCAYCc@Cc@Ea@Ce@EI?[Ce@Cc@Cc@Cc@CC?c@Ag@C_@As@AQAa@?q@As@As@As@?u@As@?iAAku@SaA?wVGY?w|@W{WGi\\I}CAgBAmB?{AAgA?eAAiC?gVIgB?m@?kLEu@?u@Aw@?u@Au@?w@Aw@Au@Ai@Cg@AYAc@Ac@Cc@CK?YCc@Ce@Cc@Ce@EC?_@Ee@Cc@Ec@Ge@Ec@Ee@Gc@Gc@G_@EEAc@Gc@Ge@Ic@IWEMCc@Ic@Ic@Ic@Ic@Ke@Kc@Kc@Kc@Ke@Ku@Su@Ss@Us@S_@Ma@Mg@Ou@Wu@Ws@Ws@Wu@Ys@Yu@Yu@Ya@Os@YsFuBqJsDoEeBa@OwGiCgHoC", + "szeligi|korytów": "sd`|Hyyz{Bc`Au^qHuCaC_Ae@QgHoC{@]cDoAoEeBkGaCoCeAk`@gOiM_F_@Oa@Os@Yu@Ys@Yu@[s@Yu@[s@[s@[YMg@Ue@Us@_@u@]s@_@s@a@q@_@s@a@o@_@q@a@g@[e@[UMo@c@c@KQKq@e@q@e@q@g@q@e@q@g@q@e@cAu@cZmTYSm@c@s@g@q@g@o@e@[SSOm@a@k@a@o@a@m@c@k@]k@_@c@We@YQKk@]m@]m@[m@]o@[m@[q@[q@]q@[s@[m@Wm@Ws@Ys@Ys@Yu@Ws@Wu@Um@Uo@Q[K[Kc@Mo@QMEa@Ko@Qo@Om@Oo@Oo@Qm@Ow@Q[G[IwBu@_@Iub@{JmGyAwg@oLyXsGgAWeKaCwD{@uA]uA[oDy@wBg@uBg@OC}IuBkImB", + "korytów|grodzisk mazowiecki": "qho|Ha~a|But@{PiJwB_B_@MFsFoAkAYoEeAiAWsYyGwD}@cUkFSSwv@qQw@Em]cIwQgEQEsEgAiImBGOWGcAUs@QYDYW}A_@i@?QUKH]I_@K]K_@K@K_@M_@K_@M]K_@M_@MGJYKYIYKSYUIe@As@[ES]O_@Q_@QWDYOWM@O[Qa@Sa@UMHWOBOa@Ua@Wa@Ua@W_@Wa@W_@Ya@W_@Ya@Y_@Ya@[_@[_@Y_@[][_@[]]_@[]]]]_@]]]]_@]]]_@c@Mg@k@i@m@W]Y]Y]BUYC?YWAA[S?OSQU]e@]e@]e@U]S[Oo@WEEc@QYQYSYQYWG?YUc@Wa@Wc@MFUa@Ua@Wg@We@We@Wi@DSUe@a@YWg@DWUe@Se@Wk@Wi@Wm@Ui@Wk@Uk@Ui@Sk@Ui@Sk@Sk@Ui@Qi@Si@Qk@Qg@Si@Qk@Qm@Sm@SMIWUu@Oi@Sq@Ok@FOQo@Sq@Oq@Qo@Qq@Oq@MAOm@Om@Ic@BYQs@Ym@Os@Os@Os@Ko@Mm@DQMs@Mu@Ow@Mu@Kk@Im@Ig@Ig@Mw@Mw@Kw@Kw@My@Kw@Kw@Ky@Su@QsAOuAKy@Ky@Kw@OyAQwA@e@kAcKIAUqBUqBOqAOuAQmAOqAK{@M{@K{@Ku@Ku@Ku@E}@O[Am@v@o@c@iB[uAmAkFeBuHcAkEkZmqAEO_@eBaFgTGUgZgqA]yA{CwMYoAYqA[sAkEaRsKae@YoAeFuT_AaEYkAeAqEe@sBEO]{AOk@Om@yA}FSw@o@iCs@{Ce@oBSy@Uy@{@iDSu@Kc@Mg@a@cBMg@q@wCqAuFsBaJc@mBcBuHEMiAcFGY_A_Em@aCiAgEGSuB}Ha@aBIYOm@CKYiA]{AMi@]yA", + "grodzisk mazowiecki|pruszków": "}x`}Hmzz|BwCiMm@oCm@mCo@sCeAyE{@yDqA_GyCyM_CoKgBcIkBmIcBwHEQUeAEKYsA_@aBWmAYkAg@yBgG_XiLgg@uLmh@]yAgMej@[qA[sA]yAWgAuQuw@]{Asd@cqB_@{AyRa{@m@iCwDqPkBeI?CiB}HYsA[qAACgByHYkAYmA[sA]{AGYKa@CIQ{@[qAYsAu@cDWgAWgAWmAYkAe\\uwA_@aBmCoL[uA]wAWgAw@cDe@sBwB_JoDmOYkAMg@Qs@i@eCYmAc@sBoCiMOs@gGeXc@kB}Nmo@AEqA{FACeB{HEMcIw]c@iB_@}Ac@kB}@oDEUg@qBs@aDYiAESiA_FkAgFgAwEQy@iCgLKc@aMui@}Jic@eB{H", + "pruszków|józefinów": "ozk}Ham|}BaAiECIuEkSWkAWkAo@qC[wAYsAWeAWgAm@kC{C}M_@cBmAmFcAqEGy@uBiJCKuAgGwSk~@uAcGaAkEQu@I_@kAeFsAaGuAcGi@aCi@cCuAcGe@oBm@qCw@gD?A]yAsAaGm@kC?Ag@uB{@wDWiAw@kDUaAGWS{@U_AEQOm@UaAAAcAeESu@_@{Ac@iBQu@[mAo@sCI_@CMS}@k@kCMm@_AsEOq@c@wBm@mCG[kAeFa@kBq@uCsAaGGWWiAu@_Do@wC", + "józefinów|warszawa włochy": "aro}Hs{g~Ba@eBaDmN{A{GuAaGsAaGsAaG}FeWaAkEQu@sAaGsAcGuAaGsAaGq@wC]}ACKqA{FAEsAaGuAcGsA_Gi@cC[sAMk@Qw@Qw@UiAWiAYqAWsA]}AQw@YsAYmAMo@Mg@Ke@YqA]yAs@}Cg@}BWcAUcA_@aBYgAYkAYmAq@oCYgAWiAgAyE]yA]}ACK[uAAGuAcGw@mD[uAI[o@sCuAgGi@cCsA}Fo@sCS}@Ou@UiAy@{DoAeGWmAYuA]aB_@eBs@yCG]i@_Ca@eBo@qCe@qBQu@Qw@s@mCe@gBm@}BGUo@{B[mAOk@Qw@Ss@Mm@Mc@Kg@I]sAaGaAiEMi@YmAKg@Qy@", + "warszawa włochy|warszawa zachodnia": "ets}Hwht~BOo@Ki@WiAUiAg@aCmBmJa@sBQ{@Q{@S{@SaAUaAQw@cAoE_Iq]_DiNuAkGGUu@eDS{@i@aCsAaGc@mBEQGYGYIYGYGYGYGYGYGYGYG[I[EWGYG[EYKg@Ig@G[EYG[EYE[GYE[E[EYE[EWGk@COEYE[E[C[E[E[Gg@AOE[Gg@Ec@Ec@MgA]yCCYE[E[CYE[E[E[C[E[CQGe@C[E[E[E[C[E[E[EYE[E[C[E[E[G_@CUE[E[E[E[EYE[CWG_@EYG[E[EYG[EYG[GYIc@Kk@GYGYGYGYGYGYIYGYGWIYGYIYGWIYGUm@cCYiAGYIYGYGWQs@GYESI_@G[GYGYEYG[GYEYG[GYCUG_@G[EYIi@CMEYE[a@wC_@gCAEKu@Kw@m@gEIo@{AeLGk@CM}AeMAMIi@S_BMiAyAuLKu@Gi@Io@Go@C_@Gm@KaBEs@Go@Ek@Go@McAIq@QwAG]iAkJE[c@sD", + "warszawa zachodnia|warszawa centralna": "grv}Hgp__C]iCKy@My@Ms@EUCSYyAAGQ_AG]G_@G]Ie@O}@OeAuBuNe@aDaAuG_AoGOgAWaBKo@Ko@U{Aa@qCIi@G[w@aFk@sDKq@Ii@Kq@Im@SyA}@eHQuAAIEa@Ee@Me@K_AMgBKmAKaAEg@", + "warszawa wschodnia|warszawa praga wpt m": "qn|}Hsco_C_AoEuAsGq@kCc@sAk@eB{@cCo@oBUm@K]Oe@K_@W_ASu@Me@QMe@eBOi@Oi@CKKWMa@Se@Qa@EIO[QYQYQWSUQSgCaCc@a@]Y_@YWQUKYOQGMEUEWG]EYAYA[@YBOBMBUDYH[LUJWLUPu@f@cAt@e@`@SPQRSTUXW^SZU`@Q`@S`@Qf@M`@ABMb@Oh@Mh@Mj@Mn@a@~BsB~Ki@zCMx@Q~@g@xC_@vBIh@", + "mysłowice|katowice zawodzie": "casqHcrysBsArAqAx@}DbCYPWRWRg@j@a@f@o@~@}BpDu@rAo@pAwA|CaBnDq@bBGRo@pAa@~@a@~@c@z@g@`Ao@fAuAxB_@h@c@j@_BnByA~AmAdA_Ax@g@`@_@^e@j@]v@{@hA_C~CoBhCoGnIcAzAwDxFwBbDmDnFaK`PqAtB]l@q@lAQZ_BtCm@hAkA|Bw@dBe@jAm@~Ak@pBs@fC_@vAuBnIUz@S|@WhAUlAQ`AO`AMbAOnAMjAKpAKnAIxAGvAQjEQxDQ|DGdDCfD?~ABrCFnCHtABt@TrDl@zIXrCh@hERhBPlBDj@f@rHrAzRNhCJrBFzBFbCD`B?JJzBVbEbDve@l@dJb@fHHxAF`BJdCRpFE\\JzFD~F?rD?dDC`DGrCSlIWrH]`KKnCUzDQlEQxEU~FEnB", + "katowice|katowice tow. ktc": "w|vqHovasBEb@Ez@E|@?HWjHAZKrCExAArAA|A@xA@f@BrA@PFhABVDt@@d@D~@FbALpBVdDAj@VvDJlABd@@JDp@Br@BdA@`A?dAEvBC|@MdBK`AM|@Q`AQ~@[fA[~@e@jAiAzB}BzDqBfDyAdC_@n@e@|@G`@Q^Yt@Yx@o@pBq@|BYdA[nA[tAgAxFc@zBm@jDwAzHeArF_ArEc@vB]~Ay@dEg@|BUjA]vAa@bBYtAKb@Mh@", + "kraków główny|sosnowiec maczki": "inspHaevxBg@p@i@r@W\\_@f@UZa@l@e@r@e@r@Kd@q@hAS^S^c@|@_@v@a@|@MZQ`@]x@_@bAeB|EeAtC_@bASn@Wv@Wv@]pAOj@On@Op@Kn@Oz@O`AYbCKfAGbAGz@GdA]lGOxCGrAE`AANEpA?RCx@CrAOdLG|DKpH?J?d@E`CGzECtAKxHC|BEzCIvGC`CWzNUdRA~@YxUMnKUfS?JCrACdAClAEpAEnAe@|MCnA??GxAClACnAClBAz@?T?jAAjAA|AArFA^?rBOx_@?lBA~A?rA?j@?j@@tA@pA?PBpA@Z@r@BrABnA@RLjFBt@JjEH`CNfGBv@Bx@JzEBt@JdE@^FvBDtA@lABzABnA@xA?rA?rA?L?x@A~AAhA?`@An@ClAClAClACp@AXEnAGtAGnAIvAIrAKrAIpAKnAMlAEb@Gl@MjAMrAOhACRM|@QpAQjAALO|@QdAUrAm@|CWnAS`ACHS~@On@On@YdA[nAQl@K\\Qn@]hA]hAYz@GN]bA_@fA_@`A_@~@]z@ELWh@]x@IRQ^[p@_@v@S`@GJ[p@_@r@[h@qChFyDdHc@x@i@`AmDrGcAhBy@zA_CfEYh@CDwSt_@uLrT?@c@v@e@z@e@z@i@|@e@t@c@r@QVU^SXSZg@r@mAfBiCtDcB`Ca@l@oFxHePnUiCtDiCrDEFw@hA_KvNc@l@uFbIw@xA}AvBm@|@a@l@k@z@e@v@i@z@c@x@a@t@a@t@]n@g@dA_@x@c@`Aa@|@]z@_@~@[z@a@fA[|@[`A]bAY~@]hA[hAAF[hA[nA[lAId@Oj@UhAWjAeAlFa@rB[|AGZm@`DkAbGKh@c@xBOp@aClMeAvFiAfGsEhVCN{BxL[bBUhASlAMn@ETQlAQdAOdAQhAOfAE^Gf@OjAMhAMlAKhAKjAMxAMxAUbDg@fHEn@a@vFQnCKvAg@rHIjAS~C_@zEIhAIrAk@lHKjA_AvMKvAItAIjAItAGvAGvAErAEzAErACvAAbA?PAxAAtA?zA?tA@vA@tABtABxADxA?HDjADrAFxABXDx@HxAHrADh@Dn@LxARdCj@lGPjB\\bEtAvOH|@Fl@DbBXlDZfFPdEL|DD`BBdB@`E@~DE`J?~B@pE@hDHxDNzDBj@LtCVvDbAxLtGvv@XrD`@rEh@dGd@`GNdDHfCDlC@vEC|BEpBe@pPMhCS|DYhEAH[jDa@zDg@zDk@vDo@tDq@hDw@dDELk@~BU|@_@rAaA~CeBhFqApEiBtFsQti@eAhDaAlD{@nDeAzEs@tD[pBSjAi@`Eg@vEUtBc@tFUbEOnCaDzq@q@nNyB|e@Q`EM~DIfEG`E?rAA|@@nDHvLF|HDzDXvP@n@FdEDfC@`A?~@?`A?fEA~K?`@?fDA|AArA?rACrAAnAArACvACvA_@zSOlJEnACjACpAKrCGnCCdACjAE`DA\\AjBEdC?n@GfF?f@CfCAjA?pA?rA@rA@nADvABhADvAFhAFrAHnAJnAJnAJrANlANpAJ~@BNNhAz@xG^vDXtBhCdSNlAPvANpALpALpAJvAJrAJtAHpAHtAFrAFxADpADxADtABpA@j@?~@@`A@tA?xA?rAArAApACrAAxAEpAE|AEnAQjEaEzaAuAv\\w@tRG~AGlAGjAI|AIpAKrAKxAMjAEf@AJSpBQ~AOjAEXM`AQnASrASrAUnAWvAUlAWlA_@dB[rASv@U~@]lA]nAW|@[~@]jAc@pA_Vds@?TUp@[bA_@hA[dAW~@[hA[jA[nAWhAWjAYtAWnAUlASjAUrAUtAOhAIh@Ih@OtAQvAOrAO|AO`B_@bE{@lJQlBMzAKlAIrAKtAItAGtAEhAARCf@AZEpAChACrACtAArAApAArA?rA?lM?nAGlB?fn@?tp@?fI?vG?zA?bAA|AApAArACrACvACnAEvAGzAGpAGtAIrAGnAKvAKpAKpAKlAKjA_@dDKdAQrAQlAStAQpASjASjAUpAaNlu@QhAWrAQhASnAQnASpAOlAOnAmE~_@cCfTCVsCxV[jCcJ`x@oD`[qA`LUzBY`CoA~KIr@_A`IMjAK~@_@dDS`Bc@zDe@`Ec@lDy@vFObAShAQdAShAUjAS~@SdAWhAUfAU`ASx@uEbRm@hC}C~Mq@rCYrAi@zCmBjIGXa@dBcAnEi@tBu@vCs@vCu@|C}@vDsA~F_AbE{@pDiIl^}@~Ds@`Dc@zBETWtAOz@EVYbBKr@QnAM`AOjAOpAMlAMpAKjAMxAW~Cm@rHUlC?BKlAIfASbAKhAKfAMhAOnAOjAS|AQhAOhAShASjAShASbAUhAYtAWhA[rAYdA]rA[bA]jA]hA]fAa@hA]`Aa@jAuR`i@cEfLmL|[q@fB_@bA_@dAy@`CoJ|WuB~F_E~KiBbFYt@Un@Ul@Wn@EL]x@e@dAa@~@c@~@c@~@c@z@gAvBmG|LsH~NiC~EcDnGsg@hbAMRyAtCqb@zy@}Ob[qAfC_@r@c@x@_@r@c@x@e@v@_@p@c@p@a@n@g@t@e@r@o@|@g@p@q@x@e@l@s@x@g@j@s@v@i@h@o@n@m@h@m@h@q@h@o@f@k@b@a@Ve@ZQLq@b@m@^uG~Ds@b@q@^w@`@m@\\s@^}CxAqI`EaAd@QHoAl@q@\\m@ZULi@V_@TULaB`Ao@^w@d@yFfDm@\\k@^q@b@i@\\oLzHeGlEye@n[aBfAwFtDaG|De@Zm@`@q@d@q@d@q@h@k@d@i@b@m@h@e@b@o@l@c@b@WXSRs@v@i@n@i@n@k@t@i@r@i@t@e@r@i@t@c@p@eHxKOTsQzXg@x@W`@ORi@x@i@v@IJsDfFaCdDmAbBa@n@c@n@]h@Yd@Q\\_@r@a@x@]t@_@z@[v@Wr@Yv@[~@W|@[`Am@xBQj@I\\e@`B[fA{@|COh@_AbDc@`BSt@Qx@Qt@S~@Q`AMv@In@EROhAMdA_BfN}A`Ns@dG]pC[lC}@`IGh@Mv@EVGXG`@In@Il@Kv@EZOr@E\\GXCXIp@_Er]y@hHkAzJYpAY|@g@lAc@x@i@v@c@f@g@b@q@b@q@Xu@ViBf@E@uBj@oGfBo@PsGhB[HGBe@No@\\WP[VUTWXs@`AqAnBuAtBqAlBgA~AQToArAWXWTYV[TWP_Al@mOlJ_@RYPWLUJWJYJYHWFYF[DWB[BW@q@?w@Cc@Ee@GgEu@kB]]Ii@Og@Ma@Oc@Qc@Sc@U]S", + "sosnowiec maczki|dorota": "iayqH{qrtBg@Yo@a@q@c@iEsCqDcCw@g@k@a@u@g@q@g@e@]QKm@e@aEyC{AiAk@a@k@a@qA{@oAs@oAw@s@c@m@a@q@c@s@g@cVgPiAu@kKgH[S", + "dorota|dąbrowa górnicza południowa": "g{{qHytttBiCeBYSaLwHyA{@wAy@i@YgAi@cBq@eA]eA]_@KoA[qBa@{TiDsZuEcJuAqB[yB[_BQQAs@Go@Em@C{@ASAw@?kHEkAA{GEmCAa@A{IE}MIoDCY?uKGQ?qCCoBCU?_@?{@AgAA", + "dąbrowa górnicza południowa|dąbrowa górnicza huta katowice": "{jbrHoavtB}WOoABiAHa@PMB[DkAXgAb@gAf@eAt@_Ar@a@`@[Z{@bA}@nAo@fAu@xAq@bBo@jBe@`Ba@lB]tBGb@M|@Kz@EXUnAc@xDYdCYdCUtB[lCY`Cs@lGaBdOcBbOMbAOjAOhAMv@Ox@Ot@Or@Ml@Qr@Qt@Sr@Sn@Of@Qd@Up@KZKTWn@Wl@[p@]p@Yh@g@|@U^W`@m@~@W^Y\\[^UXCBe@h@e@b@_@\\a@Zc@\\c@Xi@ZSLQVm@Zm@VqAh@mAf@[LqBx@w@Z", + "dąbrowa górnicza huta katowice|dąbrowa górnicza ząbkowice": "q_frHwvptBgCbAeCbAa@DqBv@EBi@RgAd@s@VSH{@Zk@Pi@NEBc@JsA\\s@RK@aAV{@TgDv@I@YFeB`@s@Ps@NqBb@mB^sB`@}@N{@Ny@L{@L{@J{@Jy@H}@F[B{AJqAHgCLiBH]@[@Y?[?[?U?U?MAW?EAWAWAWCWCUCWCUCUEYE[G[GYGa@IUG}A]m@Oc@KQEgAWwA]sBe@UGqEeAiAWo@Qg@Om@Ou@UcA]i@QWKUI]OaA]aA_@yAk@k@Uc@SIC_@Qa@Qa@Q_@QWMWMUMWO_@SYOECe@Ye@[e@[e@[e@[c@[qA_AEEa@[UAQM}AiA", + "dąbrowa górnicza ząbkowice|łazy łc": "gmkrHo`qtB_AcAOIO?o@e@i@j@q@o@e@c@[W_@YgBsAsAcAKIm@a@aFuDkBuAu@k@QM[UYSc@]cCgBgBsAgGmEwUaQ}BcBkGuEEEg@_@mF}DGQgMkJm@c@e@_@g@a@e@_@k@g@s@o@u@s@q@s@][UWo@u@y@aAo@w@q@}@s@aAi@w@m@_Ai@_Ag@{@m@iAg@cAe@cAe@eAg@mAe@mAa@gAc@oA[cAWw@Sq@Ok@M_@EO[oAYgA[qA]}A[_BWoAMw@Kg@UwAOaAAEM{@Ks@E[Ge@Ku@?GKy@QeBOwAMcBMyAOsBIwAKwAUiDy@wMg@uHEq@c@wGa@qG]eFGeAm@qJyAmUMiB?AgCk`@IoAIoAISIy@IaAMqAMgAQqAOgAUqAQcAUiAUaAWiAWaA[kAWy@[aA]_A_@cA]{@c@_A]u@c@}@U_@KQg@{@a@m@e@s@c@m@e@k@k@q@k@o@g@i@qL}LqEwE{@}@o@m@e@g@i@e@]]_Ay@o@m@[[_@_@c@e@q@s@i@k@]_@]a@EGWY}AgBq@u@k@o@wC{C_HiHoAoA}TuUIIo@q@sG{GQ_@e@e@m@o@q@u@c@g@o@w@a@g@g@s@e@q@e@s@c@u@c@w@]s@a@y@_@y@]w@[y@[}@]_AY_AW_AYaAUaAWgAOu@Mq@Oq@Mw@Ik@G_@Ga@McAKo@Ec@Ea@Iu@Gw@Gi@Eq@AICa@Em@Ic@Eo@GqACa@EeAGyAI{A?ME}@UyEsBce@MuCGeAOeDKcC_@sI", + "łazy łc|łazy": "e|urH}}duBGkA]yH}@gSi@yLGqAGiAGgAG}@KqAIaAMkAMeAOmAOaAQkAQaAUmAQ}@WeAU_AYaAW_AY}@]aA]aA[u@_@_A]s@c@{@_@s@c@w@a@q@e@s@c@o@c@m@a@g@m@w@o@u@iAsAeJmKiFcGuDiE}F{GoFiGa@g@EEsCcDyBgCwCkDmD_Eq@u@iBwB", + "łazy|łazy ła": "o}xrHwyjuBaBiBcF_Gq@u@uEmFo@s@sA_Bm@s@k@q@o@u@yEuFk@q@g@k@wEgF{@aAOa@WYmCwCq@u@}@eAy@}@kAwAIImGuHqA}AoAyAw`@qd@yRaUmJwK[_@kHmI", + "łazy ła|zawiercie": "{p}rHk~ouBg@k@gE_FaAiAmAuAWYWYYYOA_@_@k@g@k@e@m@e@g@]]UUMe@Yo@]k@Wq@YGCe@Qk@Sg@MmA[[Gu@Kk@Iq@Io@Eu@Em@As@?o@@I?_@@y@D_CHkJb@aHXuJb@I@eGX}CNI@kGVsAFWB", + "zawiercie|myszków": "{aasHivpuBgCJoAFw@Du@Fq@FqCX{@Jk@Dm@Do@D_GVyDPO@uI^gERa@@_EPiFVqBHg@@i@Bw@@cABg@@m@@k@@m@@cADuBH_DJE?}CJyBHs@Bo@BcBFm@Dc@DG@e@Fe@JUDQDe@N[J[J[POFMF_@RYRE@YRYT]X[XYX]^_@d@]`@e@p@a@n@i@x@w@~@u@jAi@x@EF_@l@i@x@i@t@u@bAaEvFkJnMgJjMY^wQxVcKlNSZk@t@gI~KY`@{JdN_AnAqAfBeE|FqCzD_C~CsO`Ti@r@i@p@i@r@k@r@m@r@m@r@s@v@i@j@q@p@k@h@m@j@o@j@s@j@o@h@s@h@u@h@q@b@s@d@q@`@k@\\GBs@`@s@^o@Xs@\\m@Vq@Xw@Xs@XwEbBoLhEcDhAgE|A_HbC_Bl@u[hLWHgE|AqBr@{ChAsEbBqFnBgMpEoPbGwFtBwEbBwt@`Xm@Ta@N_@Lc@P{RfHm@b@m@Vg@Tm@Zi@Xg@Xk@^a@Xm@d@c@^g@b@e@b@g@f@a@d@c@f@e@j@a@h@a@l@_@j@c@p@_@n@_@r@_@r@]r@[r@]v@Yr@[x@Wv@Wv@Yz@Ux@YdAU~@WlAWjAq@dCuApHkBvJsAjHiCfNkJ~f@", + "myszków|rozprza": "uwssH_yauBm@bDm@|Cc@zB{BvL]fB{A`IuGp]sBvKmDbRuBzKk@xCqA`HmBbKq@lDUdAUjAYrAWhAU`A]vA[jA]pA[lA]lA_@nA]hAa@pA[bAa@hA_@jAa@fA]`Ae@lAc@dAa@dAIP[v@c@`Ae@dAg@dAe@`Ae@bAg@~@uMnWEJiNlXc[|m@mA|Bc@x@c@x@g@z@k@`Ai@z@i@z@]h@OTg@t@m@x@g@r@m@v@g@r@m@r@k@r@k@n@o@r@g@f@a@`@WRq@n@m@f@q@h@q@f@iFzDWP{IvGs@f@m@d@q@b@q@b@c@VQLk@\\u@`@u@`@_QjJYPoYvOSJeRpKGB}\\|QID[Pid@pVgEzBGBsC|A{EhCgAl@eVrMqJhFyDtB{Av@ob@jUeOdIcOdImFtCs@`@u@b@u@b@s@b@s@b@s@d@o@b@s@f@eBnAo@f@o@f@o@f@s@l@k@f@o@j@o@l@m@j@m@j@q@p@o@p@m@p@e@XIHoBxBy@|@EDe@j@SVk@p@k@v@[^_@h@_@f@g@p@m@|@uAnBeVr]ie@rq@sCdEk\\te@iFtHkElGeSvYiHbKaHdJ}@pA{@jA]h@sAnBaAvAe@r@c@p@mApBcBhCMRkEnGcFpHq@~@}MvRg]~f@{AzBQToAhByE~GaN|RgTh[oEnG{AxBiGrHiCnCiCjC_IfGeCdBgCxA}Az@}Av@sClAsCjAaCx@gCp@yDx@}Dt@k]pFiSbDcb@vGqNzBmKbBmZ|EqCb@gBXgA\\_a@rGwCd@E@y_@fG{_@hGym@xJ_d@jHgTjDmBZUDG@o@Lg@La@He@Li@Nw@Ro@Ro@TI@k@Rk@Rk@Pq@Xe@Rg@Ti@Vc@Tc@Tc@V{@f@]RaAh@aAj@mAt@}A`AuK~G{XbQeNrIGD{IrFe@X{DbCeBhAgAz@m@d@g@b@m@h@e@b@e@b@q@r@i@j@e@j@W\\_@h@a@h@]j@c@v@g@~@{@`BaAhByBfEwE~I{@jBe@fAa@fAk@hBa@|A[rAWjAqCpNgAfG}@rF{AxJg@|Cg@tD}@nGa@bDc@~CWjBWhBs@vESxAU~Aq@rEu@nEwArKMx@Mn@Mr@Mp@k@fC[tAMh@Qr@Oj@Ql@Oh@Sj@Sf@Qb@Wh@EFO\\U`@U^W`@W^W\\WZ[\\YXg@d@c@`@w@n@wAlAs@l@YTUPYRYPc@Tc@R[J[H_@Jc@Ha@De@De@Bi@?}BCmACgAAoEGaAAgDEyFIeBAwACgLOaFGqACyCEa@?qDGg@A_@Cc@Ce@Ce@Go@Gi@IQC]Gg@Km@Oi@Mu@Sk@Qq@WaA[{Ai@oBq@o@Um@Wk@Ug@Wg@Wc@Ug@Ya@We@[a@Yk@c@c@]i@c@e@c@k@i@g@g@m@o@i@m@g@k@UYY]m@u@c@o@g@s@i@y@]g@MSe@u@e@y@e@{@i@cAa@w@e@_A_@}@e@cA_@_Ac@eA]_A_BeEIUgE_L_LaZGOcLgZ_AgCkCcHaCqF_CkGw@uBw@yBu@qBkA{CmBgFSg@GM[y@]y@[s@[q@]q@]s@a@q@_@o@a@o@_@k@c@m@e@m@c@i@c@i@a@c@g@g@e@c@g@c@e@_@k@c@c@[k@_@g@Yg@[k@[qAu@eUgM{b@aVqo@e^wDaCoC}AmBeA_Ai@wNaI}GwDoAs@i@[_@Wa@Y]Wa@]][_@_@[_@a@c@Ya@[a@]g@q@cA?A]i@]i@sAuB_@m@[i@[k@Wi@Yi@Wm@Yq@Sk@Yu@Uq@W}@Wy@U}@U}@WcAQy@UiAO{@QaAOcAOaAK_AMeAKaAOwAKaA}BaVMYuGuq@sS_wB_E{a@gB}QOsAOwA_@gDOsAOuAu@oHWgCm@gGOsAKaA[iC_@eDO{AKeAIs@SoBMsAKmAKqAKmAWaDKmAMqAKmAMqAkBsRYwCmDs^KeAMsAKuAMqAKsAWkDMuAMoAs@uH[_DmDy^OwAMsAOsAOsAMkAOwAQuAOmAaCaRaCoRqFob@eLq}@wI}q@c@gDa@cD_MiaAo@iFsUijBc@eDa@cD{CgVy@qGOcAMcAIg@EYO_AQaAQ}@Ki@I_@Oq@U_AU}@U{@W{@Y{@Uq@Y{@[y@[u@]w@[o@Yo@_@s@a@s@a@s@[g@c@s@_@g@a@k@a@i@e@i@a@c@a@c@e@e@g@e@c@_@e@_@IG_@Yg@]e@[i@[i@Yg@Ue@Uk@Ug@Qc@Oe@Mc@Me@Ki@Mi@KgDk@sI{A_@Gq_@uGeCc@kIuAmGiAgEs@]GkKiBcUaEqWmEoVsE}ZoFkXyE_]_G}KmB[GaKgBo\\{FeTsDaRaDcNaCw@Ow@Ow@Qs@Q[Ik@Og@M_@M]Ko@SSIUIa@Oi@Se@Si@UyBcAy@a@q@_@s@c@q@_@q@c@q@e@o@c@u@i@uNkKuOcLoBwAc]yV]WuGyEgE}CsCsBUQaHcFaSwNaYqS_D}BeCiBa@YwImGqByAcq@qf@mo@ee@u@i@mUgP_@YkWgRMIg]{V}MwJqDmCiGqEwDqCmvA}cAYScoAc~@ah@k_@IEoXcSu@i@u@i@eBoAq@i@o@c@m@c@k@_@o@_@m@]o@]QK_@Ok@Wo@Wk@S_A[SGy@Uo@Mi@Kq@Mo@Ik@Gi@Em@EOAm@As@Ae@?g@@c@@e@@iDPiFT[@cMj@wERyKh@mCN}`@fBW@eI^yCLiBDsBDcABu@@k@ByJXW@av@hDM?uKf@y@Dy@By@B{@?q@?u@?s@Ao@Cm@Ck@Cm@Gq@Ik@Im@Ko@Ko@Oq@So@Qs@Wq@Ue@Q[Om@Wy@]s@_@w@a@s@]AA}r@c_@cUuLuEcCsKwF_JwEoGgDu@a@u@a@s@c@m@a@u@i@i@c@q@i@i@e@o@m@k@m@i@k@k@q@m@u@g@q@k@y@g@s@g@y@e@w@k@cAa@u@g@eA_@{@e@eAa@aAa@gA_@eA[_AOe@Me@AC]kAYeAYcAUcAWiASeAUmAUmAUsASuAuEiZ}Ea[UsACOQ}@WsAUmAYsAYoA[uA[oA[qA]oA]mA_@sAe@_BW{@a@qA_@gAa@mAa@gAa@gAa@aAe@gA_@}@g@aAe@_Ai@_Ag@y@k@_Ai@{@q@}@g@u@m@u@k@u@[_@YMk@o@m@o@o@m@s@o@o@k@u@i@o@e@w@k@s@e@]Sa@Yk@]s@c@s@c@s@_@q@]k@Wm@Wm@Uo@Sm@Sm@Qm@Oo@MaAS}aAmPeHmAwCg@kF}@EAWSaBYmWgEoGiAcPqC}Ey@mJ}A}NeCq@Mm@K]GOEk@Mk@Oi@Qm@Si@Sg@Sk@Ui@Yq@_@k@]m@]g@_@k@c@k@e@g@e@i@g@e@g@g@i@c@g@c@k@e@m@]i@_@m@iAkBc@w@_@w@a@{@]y@_@y@]cAWo@Oe@Sk@Y{@Uw@U{@U{@Sy@EQMo@S{@QaAOu@SiASkAQiAU{AQmAaNe~@}CwS{M{}@kNu_AoC_RwC_SoAoI}@eGuI_l@{RsrAo@kEiQilAwIal@SuASoASmASmAKOQy@S_AScAU_AYcAWcAW{@[_AYy@Yu@[w@[u@]u@_@q@_@u@]q@_@o@a@o@a@o@a@m@c@m@c@g@c@i@e@e@e@e@e@a@k@e@e@]o@c@e@]gBmAq@c@m@a@o@e@g@a@m@g@i@e@k@k@g@i@[_@GGSSY]e@o@c@m@i@u@c@q@i@}@_@s@m@gAkAyBo@iAIOaByC{CyFsF_KiCyEa@u@a@s@i@y@g@y@g@s@m@y@o@y@k@s@m@u@o@u@m@s@o@s@m@o@s@u@q@q@s@o@o@m@o@i@o@g@q@e@m@a@m@a@aAm@_CyAmAy@g@[_DqB_C{Ao@a@u@g@}AeAyB{AiAs@eDwBoGaEyDcCm^kUks@kd@aXuPsD_CcEmCkbB{eAcMaIOIgH_FuGeEu@e@{@i@y@e@{@e@w@a@}@a@_Ac@{@]WMm@Uo@Ug@Qg@Qa@MICi@Qi@Mk@Om@Oe@Ke@KcAS}@QaAQ}@OsEw@q\\uFaLmB{@Os@Ou@Ow@Q}@UaAWw@WGAw@Yu@Ws@YcAa@gAg@y@a@o@]w@c@{@i@y@g@w@g@k@a@g@_@iPgLu@g@sE_D", + "rozprza|piotrków trybunalski towarowy": "e`bxHyg~vBa@YgAs@eBkAcD{BOM_@WmFuDaD}BcJqGcEuCcBmA_BgAyB}A{IiG}BaB[UoI}Fq@e@q@a@m@]e@Y{@e@s@]_Ac@u@[y@]y@Yy@Wy@W}@Uy@Uy@QYE_@Io@Kw@M]E{AQsBQcBQoc@}DuCY}v@eH{v@eHc[sCiReBmGm@_TmBiEc@yEc@yD]{NqAcVwBqWaCwBSmCUq@GkCWoAM{BSuD[kD]gCUsEc@uTqB}v@eHqEa@MAqEc@{J_AuFi@gCU_@CiCWQA{KcA}o@aGmCWeAKyBQoEa@{BS{@ImAKuAMu@IyIw@WCuEc@kKaAm@G}@IiKaAe@EmW_C", + "piotrków trybunalski|baby": "owyxH{}cwBqOwAuIw@OAg]_D{MmA}AOsGm@yBSqRgBuHs@aJy@E?}AOaE_@}Go@kBQkD[{CYsLgAuIw@{CYod@eEeBOcBMeFc@mSeBaDYaMcAOA{NmA{v@uG}v@sG_e@{DuBSgMeAga@gD}CYi@Ek@Gm@IQCi@I}@Oy@QaAUy@Sw@Ug@Q]Ko@WSGYMiCcAcI}CmAe@sKeEg@GeFoBkAe@kBs@yk@}TyqAmg@m@Wk@SwLwEgBq@y@[{@[oAe@oCaAu@YiDqAqEgBa@OcCaA[M", + "baby|rokiciny": "y`qyHm`jwBsp@mWwHwCYMcE_B}D}Ayu@}YaE_BcE}Aq@Wm@Uq@Uq@So@Qo@Ms@Mo@K_@E_@E[Cw@Em@Aq@Aq@@u@Bm@Ba@DYGg@Ds@Lm@Lq@Ns@Pk@Rq@Tm@Rg@RoYxLkHzCak@zUkJ|Dq@Xs@Vk@Rq@Rw@Tq@Lg@Je@Ha@F}@Fs@Dm@Bs@@o@Aq@Am@Eu@Gm@Gs@Kk@Ko@Oi@Oc@M]Ke@Qa@Ou@Wq@WuAk@}KgEOIgEgBs@[o@W{@_@gEaBiDqA_E{A_A]}@[}Bw@wAg@]OuIeDgf@_RwBy@cC_Am@Wi@Uo@[g@Ww@c@w@c@}@k@o@c@}@m@u@i@{@q@s@k@s@m@o@k@o@o@m@m@s@s@e@i@yOwPmI_Joc@qe@sLkMqAwAqAwAe[y\\uJiKwFgG{A_BoW_Ymm@ep@KMa@_@o@q@c@a@s@q@w@q@y@o@w@k@w@k@w@g@}@k@u@a@k@[o@[_FqBiBq@kGeCyEiBgEaBik@uToHsCmXoKiJsDGCcFmBqGgCQI", + "rokiciny|gałkówek": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gTeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YsA[iDuASGOESGeAUYIUGYKUIk@Uk@Yk@Wk@Wm@Ym@Y{@]{@]{B}@u@Yu@YYK[KSGSGSESCSCKASASAS?Q?U@QBSBQBSDSDQFSFQFQHSJQHQLQJIHSPSPONONOPOPMRORMRMTMTMTMVKXKVKXKXIZIXIZGZIZG\\EZGZE`@E\\E\\C\\C^C\\A^AXA`@A`@?^?^?^?^@^@^@LBf@@ZDn@Bf@Db@B`@ZpDDf@Df@BZB`@B^PrDB`@Df@Df@N~A^fEbA`LzB`WFj@xAlPAf@DZxFpo@LvALtALtALrALrAJrALtALrALrAJtANtAxAnPjD~_@NbBD`@rDxa@JhALrATbDPtCJ|CFvCBrC?jAAlAClCCfAEfAEfAGfAGjAIfAIfAKfAKhAMfAS~AU~ABN}@rF{BzM}@lF_@vB]xBa@tC]vCWrCKpAIbAGtAGrAEpAEnACtAAlAAf@?l@?tA@tA@xABzAHlD?tB", + "łódź widzew|łódź chojny": "}j}zHsoevBIlAUfE@r@Et@GzAEnAAv@?z@?z@?|@Bz@Bx@Dz@Dz@Fz@Hz@Hx@Jv@Lx@Lx@V`B\\hBNt@RbATbAVjAXfARt@Rr@ZbA\\dATp@Vn@^z@^|@Zn@Zl@Zl@\\j@b@p@`@n@b@l@b@j@VXTXZ\\`@b@b@`@NL\\Z\\Xd@\\d@ZZR\\R\\Rj@Xl@Xb@Pf@PXHd@Nl@NZFZFf@Hl@Hn@Ft@Fv@Dd^vB|@FdDR~DVTLvBNn@B`AFrAHlHd@nAH`Oz@bEVvAJxBL~BNr@F^DfAN~AT~@RhB`@PDpCn@pDr@vATh@JhCb@dCb@|AVrDl@bDh@fAN|D`@L@n@HpARpBZl@LdBZr@N\\JTFVHHDj@R^Pf@X^R`@Xd@\\f@d@ZX^`@X\\\\b@`@f@JPZf@Zf@Zl@P^NZb@bAPd@^bAL`@Pn@Lf@Pr@Np@Lj@RlANz@Hn@Hn@Hx@Dd@Dr@Dd@Bj@Dz@Bt@BfA@nA?fA?b@Av@EtACv@IrBSnEWpEKrBCj@DJ", + "łódź chojny|retkinia": "}quzHis~uBU|EC^AZ?XAv@Az@ATA|@ErBErAMzBGnA{@bQk@~K]tGUhEMlCK`BK|AIrAKhA[vDKlAEf@Eb@Cf@C`@Cv@A\\Cx@?l@AhA@x@@tA@dABr@@d@Bf@Dd@@XHbAJfAHv@Jx@Jn@Lp@XxAR~@H^FPDRJ\\Nd@Xz@JXVr@Rb@b@`Ad@dA|B|EbD|GtChG|@lBf@hAZx@l@bBB^ZdAJ`@Pp@RdAZdBHj@Lv@Ff@Fr@Fp@Fl@Dx@Dz@Bd@Bt@@h@@|@@p@?BAv@?T?d@Az@EjACj@Ex@Gt@El@KdAEf@Kt@Gb@OfAQbAYdB}@dFcBzJmA|GMv@Ot@S|@Mn@St@IZMd@Mb@Sj@Ur@Wn@]v@Yj@_@r@Yf@_@l@]f@ORu@`A[b@s@|@i@r@_AjAwCzDyAjB}@jAg@p@m@t@u@`Ac@f@a@b@u@v@m@h@k@d@WP[RQJe@XKFOH]Pi@Vo@XoEpB]NQHUH[L_@N_@L_@L}Br@w@V_@Na@Nc@PYLc@PUJUJUJcAd@q@ZWJ_@P]Lc@P[JYJSFQDg@LWF_@FYFa@Fg@HeJtAa@Fc@D_@D]D[BU@U@YNoCJa@@S@S@Y@Q@Q@O@]BI@m@FUB]BOBSBQBi@FIB_@Fa@HiAR]ZSHKFQFOHQJSLKHWRMHKJKLKHOPQROROROTQXMRIPINIRKRMXM\\M\\KXK^K`@M`@I`@IXCRGXGXGZE^G`@G`@E^E`@Eh@C\\Cf@Cf@C`@Af@Ab@Ab@?f@?d@@\\?d@@`@@`@B`@Bb@B^H`AJ|@EDHp@DTLRZ`Bv@`Et@rDZzAZrA?\\dAvENn@^~A\\`BFA^nBj@lDOJp@dBjAhGLp@Lv@Jl@NJE\\PtAD^FXDXRFb@nDPbA?\\", + "retkinia|łódź lublinek": "k`yzH_aouB|@lEDTh@rCnB~J~C|On@bDtAbH|A`Iv@~DRdAdCjMj@tCjBnJrCxNPZvCjOjJve@zCtO|CvOvApHvAjHpDzQ|BjLLp@Pr@VhA\\rAX~@ZdA\\bAPd@Vr@LZTj@N^Tf@LVTf@\\p@^r@T^b@t@Zf@d@p@h@t@t@bAlFnHZ`@bCfD|\\be@BB~AzBnAdBb@l@", + "łódź lublinek|pabianice": "{otzH_zcuBFFt@dA|CfEzAvB`BxBbDpExEtG\\d@f@r@lAbBnCrD\\d@Zd@X\\VZ?@XZZ\\XX\\XZVZX\\TZRTLRJPH^P`@NZJ^L^H^F`@F\\D^D`@@^@^@^HjQOv@Ar@?x@?p@@r@@v@Dp@Bx@Ft@Fv@FxSlBj^dDTB|Gn@fCTnTpBzFh@VBnRfBlTpB`|@`In@F`@Df@F^D^DZDb@H\\H\\HZH^LXLXLRHRJLFNJPJNJPLPJNNPLLJPPNNPNNPRRNRLNRVLPTZNVT\\NZPXLVTd@Rb@Tf@Rd@Vj@lAzCxFtNpBdFNZnB`FRh@fHpQrCdHbApCfAvCj@|ATj@Rl@d@fAx@tB|@xB~@~BbA~B`@z@Tj@h@nAXp@f@jA", + "pabianice|dobroń": "cwhzHuz|tBp@dBv@nBdAhC`AdCfApCjDtI^dA`@dA^dA\\`A\\fAZdAZdA`AbDz@tCjA~DlGlTjKh^HV~Mzd@|Nhg@z@tC\\jA\\hAV`AZlAVbAXfARz@Rv@R|@d@lB^|AhEnQfRlw@tRvx@DNh\\ztAfKxb@DThDlNBLtCvLjB|H", + "dobroń|kolumna": "ewbzHetltBdF~SlOdo@tId^Pv@rFrTpBhIrPvr@VhAVhAVjATjAVtARbAd@lCnNtw@pAjHlA|G", + "kolumna|łask": "o}_zHw|ctB@Ft@fEvBrLfBzKTrARnAVzAPjAPrAPrANnAPxANvALrANtAJtAvFdr@vBrWL`BJnAJrAHxAJvAFtAHxAFtAD|ADrADxABtABxABvAb@b[VtRXfNB~ABjADzADtADzAFrAHtAHxAHvAJtA@LJhALtALvANrAPvANnATxAPlARnATrAh@hDrFl\\`EfVz@dFhFf[tAjJLr@Jt@Nz@Jz@Jr@H|@Hv@Hz@HbAFz@DbAD|@DfABz@@|@BdA?hA?~@?VAt@A~@ArAChACpAIhDCdAG`EEvAEpAGrBm@~POlEKpCg@dOWbHa@nL", + "łask|borszewice": "i|}yH{bssBSbGOlEQdFCl@[nIo@pRmCbw@kBxi@o@nRa@jOkAt\\iBhi@Cr@wA`b@eB`h@[zI?@sCny@kAx]", + "borszewice|gajewniki": "o~~yHylesBi@zO]hJUfHuBrm@qBjl@yB`p@An@gEdoAG`BEnAEzAA^At@CzAArAAvAAzA?xA?xA?xA@vAB~A@rAf@~a@@p@HnG", + "gajewniki|zduńska wola": "_r_zHotzrBHbHT`Rp@`i@JvJFfDPbM@fAHlFHbGBtCTpR@t@VxR@r@R~OLjK@BDlEFjEFdEBbDHtF\\fZ@d@@h@", + "zduńska wola|sieradz": "qh_zH{rrrBTfRArC?Hf@pb@BlB@xA?lBAzAAnEApA?nA@x@?p@@t@BpBBzAHnEdAnj@@j@`A`i@?TxBflAn@z]RvK^jRBbBB|A@rA@lA?pA?pAArACpAGlEg@jf@aBpoA[fVWhRAvAAtA?rA@pA@pADrAD~ADbBFbBHhBn@`Rp@fRVlHVxGpAf^T`HTrGF|Ah@|OVrHLbDhAb\\^hKNfEDtABpABtA@fA?H@rA?nAAnE[vcA?VW`e@CjMEnMElMAfFArBAx@Ax@AlAEpAEhAGjAKlAMlAK|@M~@O`AS`AOt@Qt@W~@Y`AWv@Uj@Wr@Uf@S`@OXa@v@]j@U\\]f@e@j@iAvAkDjEmG|H]d@]d@a@j@Yf@I^OVYj@]r@Wj@Sj@Ul@Up@K\\Md@Qp@Mf@Mf@Ov@Oz@Mz@M|@K~@KbAMpA{@`Ja@hEO|ASvBKtAOhBK~AGv@KdBIdAEfAEbACx@Cb@C~@CvA?h@Aj@?xA?lA@tABnABnAFtAFrAFnAHpAJpAJlANrANnAPlAPlARnAb@lCbHra@TrAvDtTdBdKr@~Dr@bE|Hzd@DTX~AXzANv@Px@Pt@Tv@Tr@Tt@Vp@Xp@Vj@Zn@h@bAj@bAfEpHlI~NbFzIf@~@\\l@BDb@z@Xj@Xl@JRf@pAVr@Tr@X`A\\lA`@tAfAdETv@X~@Vv@Xv@\\z@Vp@\\r@", + "sieradz|sędzice": "_k}yHgnhqB\\p@Tb@^r@\\j@tAbCvAbCLf@Vf@R`@Vf@Zv@P`@Z|@\\dAJ^J^Pl@Np@Nr@Lr@PjAHj@Hn@Fj@Ff@Fv@Fz@F`ABp@JlCLrDL~CDfBPrGDdBH|BNzDFdCNrFH`E`@rPV|Kp@dXLhFBtA\\rJHzCDzADlBf@hSB`ADxA@pABrA@pA?xA?zACjy@Cbx@Apg@?pE?bDA~@?z@C~@Az@E~@Ez@G`AGv@K~@It@Kz@Mx@Ov@Ov@Qv@Qx@{@rDSz@YnAWfAWdASv@Ut@St@Ur@Yt@Wj@Yp@Yl@_@t@c@x@a@t@qBtDgXjg@sGxL{EnJmDtGma@bv@oMdVU`@aAjB]l@S`@S`@OZMXO\\O\\O^Un@Sl@Uv@St@Sx@Sv@Q|@Mv@QhAQfAeCfQyEz\\mKtu@E\\U`BW`BQnAMdAOlAMhAMlAIhAKjAIhAi@dIsEtr@ADa@hGKtAIhAKrAMjAOrAOhAQnAQhAMl@Mr@Mt@Or@_@fBkLrj@uF~WeAhFMn@yC|NKh@", + "kraków zabłocie|kraków główny": "}|mpH}~xxB_B`Cg@v@eCpDAB_@h@CD}HnLEFqAlBgA|A}B`De@l@_ArAkAzA_@f@g@l@e@h@]\\]\\a@DQSe@^c@Zc@Zg@Zc@Vi@Xg@Tg@Rg@Pe@Pc@Lc@Le@Je@Jc@Fc@Fi@Fi@D_@Bg@BgEF_@@eFFm@@g@@Y@W@_BFY@k@BI?W@S@iBDa@@w@@M?aDF}BBM?a@J[MUCQCOEe@KeAUoBc@IAQEKAQASAY?U@E?a@@}@@[?gCDkDFQ?]@_@B[B[D]H[HQFQFWJEBa@PQH[L_Ab@qAj@aAb@UJIBw@^OFMFgF|BWJQJKD}@`@a@Pc@R]@KDw@^a@PSFYH[HYDWBW@O@U?QAQAUC[EWEKCMC", + "brynów|katowice": "y_uqHgs{rBwHuOWe@]o@_@u@sFgLg@cACEs@yAMYyCeGkByDoFeL_@{@g@qAIQq@gBm@iBc@}Ak@wBa@iBe@_COs@Oy@_@cCi@kDeBeMs@gFE_@Mu@QwAIaAGy@[oEE{@IcCCeA?cD@gB?mA@cADkEFyAN_FBc@XgIDaAOU", + "katowice|katowice zawodzie": "_{vqH{uasBHqAPqBLyABYHiAH}APuFr@eTT_HBo@@W?mC@cB?wBA_D?a@?k@AW?uAC{DEmBKuEOwF@aA[eMSuHImCg@oLc@}KScFMaDGuCAc@C_D?}BBcEHyEByAF_DF}EOw@AsCC_C", + "katowice zawodzie|sosnowiec główny": "k|vqHwthsB?_CB{AD}ALsDRsFDoAHoAL_B`@sEPaC@kBLgEL{EVaHH_EF}FDyC?qDG}FKyFSqGYqGi@wIm@cJcDif@UkDOyBMyCOuCo@aIu@cJa@cFCa@YiEM_CIcAEw@W}D]sD]kD]iEw@{KWiC[mBe@uB]mA}@oCeA_Di@{AcAgCkAgCqAyBi@y@{@kAmA{ASUw@}@cAgAkC{BoCqBqLwIeHeFqC_Ca@[{CyB_BkA{B_BwAeAAAi@c@i@e@i@i@k@q@q@eA_AeB_AwBi@wAoA_Do@cBUe@aDkI", + "sosnowiec główny|będzin": "sqzqHwqusBIUKW}@}Bo@}A]_A_A_C}@}Bs@iBaAcCwBwFwHwRiAwCu@mBw@oBgAqC_AcCsAgDkD}IqDiJO_@c@u@??q@gBy@uBq@cBc@aA[o@]k@e@w@k@s@{@_As@q@aD_CsAw@sAq@{Bu@_Ba@q@KcAMy@K{@K_EYiAMy@I{AQi@EgBSmAIaAK{BYuEi@IAgMuAiAMaGq@cFi@aBQoBIu@?o@@wBR}@Pu@PoA\\G@wA`@kDdAi@Tm@VeB|@aAn@]V{@p@y@r@eBbBu@p@o@j@k@f@}DbD", + "będzin|dąbrowa górnicza": "obarHmlysBkA~@gAx@KFaBlA}AhAiBvA{@d@_At@wBdBcAz@cAx@a@X_@VYR]Ta@V_@T]Pu@\\s@Za@N]LQFk@Pq@No@Lm@Ji@Fq@Fw@F]Bg@Bk@@]?q@?w@Aa@Ae@As@Eu@G_@Ek@Go@Io@Kk@Mm@Mm@Om@Uo@Wc@Q[OYOCAa@Sm@_@k@]o@c@o@e@k@e@m@i@m@g@i@k@m@o@g@k@g@o@a@i@i@u@e@s@c@q@_@s@a@u@e@_Aa@}@a@{@a@cA]aA]_A_@kA[eA[eACKOm@Qs@Qu@S}@Oy@Q{@QgAO}@QkAGg@CWOeAk@uEcAiIK_AgA_Jm@aFcAkI]oCY{BUiCC[i@kGQsB_@qECQCa@MoAyC_^Gq@Eg@Ek@Ek@Eu@Gy@KoBc@eI]gG[gGCq@Ci@CYAw@Ac@A_@?]?_@?[?a@@a@?[@]@a@@U@WBY@[BS@UBS@UD_@?k@BSNoAHw@~@iI?G`@iDFi@Fm@@IFm@VkCl@_GHu@NuAnBgQh@uENoALoA", + "dąbrowa górnicza|dąbrowa górnicza ząbkowice": "}aerH_lbtBNoAJ{@Hu@Fm@Da@D_@Dc@Dg@Be@Ba@Dg@@a@@]BW@]?[@]@_@?a@@_@?c@?_@?_@?]Aa@?[Ac@Ac@A_@Cc@Ci@Ck@A[C_@C[Eg@Ee@Gg@Ee@Ge@Gc@E[G[EYE[G]GYGYG_@IYEWI[IYGUGWGSK_@Ma@Oe@Oc@Qe@EOY{@_AkCAEeAwCo@kBc@oAw@{B{AmEUs@eKaZgCoHw@{BqAuDyAgEwAeE[{@sBcGe@uAeJ}WuA}DM]Oc@s@sB{AmEg@yAc@kAm@{AUo@Wm@[w@Sg@Qc@Qi@[{@Sk@Si@e@wAwDwKWu@{@eCc@oAUw@Qk@Y_AW{@Wy@Uq@Qo@Qk@Qi@Uo@So@_BuEq@oB{DaLcB}EeIuUkAkDc@kAEMe@uAyCuI}ByGyEcNiBmFeA}CwJaYY{@[y@Yy@[w@Wo@Yo@]u@]w@[m@Ym@[k@S_@GI]m@]k@a@m@a@m@a@k@a@i@MQKMW[ACSWUYUYyAaBsB_CW[m@o@}AeBa@e@m@m@EEu@u@o@m@k@i@gAeAWWi@i@AAQ]_@_@", + "zawiercie|góra włodowska": "}aasHyvpuBSPO@QBq@L_CLoAHw@HWBeD\\K@a@Ds@D{@D{CNcDN_Nl@uETgBF_ADaI^eADi@Bg@@aBB{@Bc@?y@Bq@Bw@@wBHiJ\\s@BcAD_@@cBFi@Bm@Da@BG@g@Hc@HUFSDa@L[J[L]N[N]R[REBWPYR]ZYV[Z]\\_@d@[`@e@p@c@r@g@v@iBrCo@l@s@`@k@z@g@r@q@`AcEvF_F|GsN|RY^_c@vl@MRo@z@QTw@fA}ArBY^}G~Ik@t@k@t@wAnBgFhHiA|AoFnH_CdDwApByFfIs@bAg@p@m@v@i@p@k@t@k@p@m@r@w@x@g@h@k@j@o@n@o@j@o@h@q@l@o@f@s@h@w@j@m@`@u@d@s@`@q@`@s@^s@`@o@Xi@Vq@Xu@Zy@Zq@VsE`BoOtFiGzBeKrDgf@fQ{ChAkKvDiKtDeA\\s@Vu@Tw@Vw@Tu@Ry@Ti@LODs@Pw@Pu@Nw@Pw@Ny@Ns@Ju@Lw@Ju@Ju@Hu@Jw@Hu@FcBLcAFw@Fu@Bs@Du@@s@B{@@w@@s@@w@?u@?u@?u@Au@Au@C_ACo@C{@Em@Eq@E_@C{@GWCWC}AO}BWcDe@}Ck@{Co@wDaAsDgAsHmC{BaAcAc@{DoBsEgCoEsC}B}A{BcBmCuBkC{ByDiDqCsC_@a@qByBmB_CuEgGqBwC_LgQyDeGgEaHeEgH{DsH_EoIgCcGqBaFuDiKwAiEuAkEOi@cB{F}AaGmDmO}BqLwByL{AoKsAsKy@yHs@{Hm@}Hi@_Iy@iQe@sQOiMCgMBoJLqJ^oOl@yOr@{OxE_eAEe@hAwVHiB", + "góra włodowska|psary": "gzvsHooxuBrCon@lDow@FmAvAm[hDiu@\\}HP_FZcMJsHFsH@cF?cFIgMUqMa@oMgAuSkBmUsBgRgBeMqB_MwB_LaBsHAAgBsH_@{AyAqF}AoFaBkFcBiFqK_\\sAgEcBoGgDmMsCcMsAwGmA}GiA_HEU_AkGkA}IiAgK{@}Ii@uGc@uGUmDQgDWwFSyFE{AQgHKuGGsGCmH@mH?uAXe]Zq[FsG@k@DmG^y_@TqTNoHRkIJ_DJ{CDoAFuADmAJcBCu@fCmj@b@kJdFqgAx@_QpDuw@j@cN@c@XgJPgKFmK?oKIiMUeMY_JCu@g@sKo@eKu@aKkAsLg@wEi@uEuBaPa@yCgQerAaMi_AaD_VoCqSwCuTmA{IsA{IoAqHe@gCo@iDaB_IiB}HoD_NOk@iFmP_CwGgBuE]{@}DeJgE}I}@eBgDeGmD_GoDuFuDkFyD_F_E{EcEkEkEgEqE_EwEuD{EgD_F}CeE_CSKwDkBkD}AyEiB{E_ByEsA_FiA{Cm@{Ce@}Cc@}C[_DU_DQ}HSsDAcEFWKsERcEXq@FyBToDb@wI|AoTtE}MvC}UhFea@xIa[|G[H}UfFuBd@YFyIdB{IxA_Gp@_G`@aGP_GDy@AkCCcEOeEUeE]oFq@oF_AmFkAkFyAcH_CmGiCOIyGeDwGsDyEcDkBqAkByAsEuDcDqCm@g@{KmJoD}Cg@a@iOwMiC}BYWmBiBeCeCcCkCuA}AOOqB{B{BwCgCcDcG{IkDyFiDaGcDqG}CuG{BeFwBkFiFsNcDgK{CoKqHeXmBcH}Osk@kKu_@yIs[kAkEyHwXgEqO{@}Cc@{AmDoMsBsHcC}I{Uk{@}BqImDgM_@uA_CqI", + "katowice tow. ktc|katowice": "elxqHca{rBLi@Jc@XuA`@cB\\wATkAf@}Bx@eE\\_Bb@wB~@sEdAsFvA{Hl@kDb@{BfAyFZuAZoAXeAp@}Bn@qBXy@Xu@P_@Fa@d@}@^o@xAeCpBgD|B{DhA{Bd@kAZ_AZgAP_APaAL}@JaALeBB}@DwB?eAAaACeACs@Eq@AKCe@KmAWwD@k@WeDMqBGcAE_AAe@Eu@CWGiAAQCsAAg@AyA@}A@sADyAJsC@[\\QTqGLcC?I", + "żelisławice|włoszczowa północ": "mnbuHwqhxB_BoIcq@knDuB{K}R{dASaAUkAQ_AS_AU{@U}@W}@Uw@Wy@Yw@[{@Wq@Yo@[s@[o@Yk@_@q@[i@]k@_@k@a@m@_@g@_@g@c@i@c@e@e@g@a@_@c@a@qR}OmQuN{AmAsAgAgA}@{CeCqAeA{CeCiByAoFgEeF{DeBuAaBqAcBqA}AkAiCsBeDeCiAy@}CuBs@c@q@c@u@e@w@e@wAw@aFiCcBw@mB{@aC_AaHqCaEaBgMsF{Ay@oA[", + "rokiciny|koluszki": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gTeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YsA[iDuAkCeAo@W[Ok@Um@Wi@Wm@Wm@Wm@Y{@_@{@]}@]}@_@u@Yu@Ye@Qg@Sm@U}@[}@[i@Sg@Si@Q]O_@Ma@QgUaJmCgAg@SaBo@iAc@a@QoDwAc@Qe@QUKWIWIWIUIa@KiA[e@Mi@Om@Ow@Ue@Mg@Og@QYKYK{GmCaAa@WK_Bo@i@Ss@Ys@[WKQI[O[O]Q]Q", + "koluszki|rogów": "{ryzHe_~wB]Qg@YUMSKwBoAoAs@SMcB_As@c@i@YcEaCaB_AiEaCkEeCSMuAu@kGoDu@a@qF_D_B}@}A{@aCuAc@WwAy@kA_AiAq@c@USMWOg@WYQ[Qm@]e@WECWOs@a@s@a@iOsIsNeIg`@uTq@a@y@c@GEe@WeEaCqI{EqMqHs@a@mDoBoI{E}@i@SKsI}EcE_CkIyEeK{Fs@c@mHcEa@WiDmBu@a@s@c@c@Wa@Wc@YGCWSa@W_@Ya@Y_@[EC[Wc@_@OMQOYY[Y[[[[_@_@]_@]_@]a@]a@]c@[a@]c@[c@[c@[e@Yc@i@w@i@y@wHsLqG_Kk@}@wJiOsGaK_D_FeF_Io@cAe@u@i@y@me@yt@{IeNk@{@k@}@a@o@c@o@oCgEa@o@e@s@g@u@]k@uBcD_MqRc@s@gFcIcCyDqHiLcNcT", + "rogów|płyćwia": "mmh{HoalxB_@m@oB{COUcBkCqDyFc@o@sBcDiAgBc@q@IMmAoBe@s@S[U]i@y@gGqJkAiBsAuBqAsByA}BwCqEYe@sEiHu@kAqSw[m@o@{K_QeAaByBkDe@s@e@q@KQY_@Ya@SYUWSWQUQU_@a@YY[[UUWWYWg@a@GGSO_@W[WWQWOWOUO_@S_@Q_@Q]Qa@OMGQG_@O_@MC?]K_@K[IC?_@Kq@Mq@Mm@IGAo@Kw@Mk^iFeJsA}JwAa@Gw@Ms@KkImA_C]eJsAm`@yFOC_@ESEqDg@?AyASkBYeJsAu@KoFw@iJsAu[wEwASoG_AeVmDu@KuHiA}MoBcPaCiJsA__@qFu@KuAS}GcA}@YSCICWEGAc@IMC]Ga@Ka@I]K_@M_@M]M_@OOIOE]Q]Q_@S[S]S[S]U[U[W]YSQGG]YSUUSUUSW[[Y][_@W]Ya@W_@W_@Wa@Yc@Ua@MUIMUe@We@Ue@Ue@Qc@EGM[Se@Qe@Qe@Qe@Oe@EKKYOg@Oe@Mg@Og@I[I]Mc@Mi@Kc@AEMk@Kk@Mq@Mq@Ig@CIKs@Ks@Ks@Iq@Kw@Gq@Is@Gu@Gu@Gy@CYCg@Ei@Cs@Es@Cu@Cs@Au@?OAe@Ao@Aq@?I?k@?o@?o@?m@?m@@m@@m@@gABiANoIHwD@_@F}CH_EFaDBkADoBLoH\\qQd@yUAwAj@k[^uQNmIByAByAB{@@w@@y@?u@?u@?y@?q@As@Aw@Ay@As@Cy@Cu@Eu@Cu@Gu@Eu@Gw@Eq@CWE]Gw@Is@Iu@Ks@Is@Ko@EWCUKm@Km@Kk@Ki@Kg@Kg@Ke@Me@Ke@Om@Me@Oe@Oi@Qk@Qi@Oc@Qk@Uk@Oa@Qc@Wm@Qc@Ue@MWGOSa@Ue@Ug@a@w@a@w@Yk@uA_DaCwEUe@{BmEaEeIm@gAaDmGcNeXm@mA{EmJeBiDeBgDc@}@e@_A_B}C", + "płyćwia|skierniewice": "w_{{HevayBsBaEIO}@gB}A}CUc@g@aAg@aAuAoCaEaI}@eBUc@iAyBWUMWi@cAc@{@c@w@OWKSS]S[Wc@W]U]W]W]Y]W[Y[Y[WYYYYY[W]YWSYW[U[S]UWQYO[Q]Q]Q_@Q_@Oa@Qa@Qa@OkKeEc]cNq@c@}D_ByImDoAg@m@Uo@Yo@Y]O_@Q_@QWOYO_@U[S]U[S[UYW[W[WYWYYY[YYY[Y[Y]W]Y]W_@W_@Wa@Yc@S[OYOWIOYg@ISIOUe@Uc@Se@M[EISe@Qg@Sg@Qg@GQK[Oc@Qi@Oi@GOIYOk@GSGWMi@Om@Mk@Mk@Mm@Ie@Kk@Ki@Ik@Ii@Ik@G[AMGi@Ii@Go@Io@Gq@Ea@AMEq@Go@Eq@Eo@Eq@Ag@Ce@Cc@Ac@Cq@Aq@Aq@As@Aq@?q@?q@?q@?q@@s@@q@@q@@q@Bq@@q@@W@YDo@Bq@Ds@Fq@Du@Fq@Ds@Fs@LuALsARwBHcAr@}Hr@aIr@}H@SjD}_@`AwKJiALuA^eEZmD\\mDZmDXgDFq@Da@JgAv@yIVqCtByUJiALqAx@cJLwAvB}UvAaPrCc[BW@UfAwLzAuPFi@f@sFr@cIt@iILwAxBqVxBkVHgBLsADg@Dk@Fu@Fu@Du@Ds@Ds@Du@Bs@Bs@Bu@@g@?KBu@@u@?]@U?u@@u@?O?c@As@?u@Au@As@Au@Ai@Cy@Cy@Cm@Ck@A]GiAEo@Em@Eo@Em@Go@Gq@Go@Iq@Gq@Im@Io@Io@Km@Ko@Km@Km@Km@Km@GWEUMk@CMIa@Oo@Om@YgAWiAsMyg@w@wCOk@Ok@Ok@Oe@Me@Oe@Oe@Oe@CIK[Oc@AAOa@Oc@Se@Se@Se@Ue@Se@Uc@Uc@ACS]KQIQOUGKU_@Wa@U[ACW_@W]Y]W]Y]SUEE[[Y[ECSU[Y[YGESQ[W[U[U]Uc@WUO[QOIOI[O]Q]M]O]M_@M_@M_@M_@Mq@Sq@Sqn@uQ_HqBsF_BeA[{Ac@SSwKaDOE_@M_@K_@M]M[M[M[MYOYMQKe@W[SYQ[SYU[UYUYUYWGGQQYWWWUWWW[_@EGSUOSW]W]W]U_@W_@U_@S]U_@CEO[Q]Q]Q]Q]O_@Q]M[O]M]M_@M_@M_@K[K[I]K[I]Om@Mk@Mm@Om@Mo@Km@AEKe@]aBSm@Oq@Ic@_@qBEQOw@a@sBQw@a@sBACsAyG", + "skierniewice|radziwiłłów mazowiecki": "kqd|H}t}yBo@eDKc@a@uBm@wCmAiGOs@G[uA}GUgACq@GYKg@Ki@Ii@Ii@Ki@Gc@E_@G_@Ge@ScBGg@Gm@Ik@Gm@Ii@Gk@Ii@Ie@Ie@Ie@Kk@Ki@Ki@Ke@Ki@eCaMcDkPWqAiCmMgCkMuAaHi@gCsAyG_A}E}@kEeAkFIg@Mm@Mq@Mo@Kq@EOG_@Kq@Io@Kq@Iq@Ks@Gq@Iq@Gs@Gs@Gq@Gs@Gs@Ew@Eu@Eu@Cw@Eu@Cu@Cw@Cu@Au@Cu@Aw@Aw@Au@Au@Aw@?w@Au@?w@?s@?}A@{EHmZ@qCHu^BkI@qH@w@@{E@gHDmO@mE@_A?eAGi@?}@A{@?s@A{@Aw@Cu@Aw@Cw@C{@E_AEw@Cu@Ey@Gy@Ew@G_AG_AU_DY_EUkDC_@Eq@Gw@Gq@I_AIu@Gs@Gi@AIKy@Kw@Is@Kq@M}@Mu@Mu@Mu@Mu@Oq@Ou@Mo@Oo@Qy@Qu@uAeGI]EUwCkMyJwb@uBcK_GgWKe@e@uB]{AOm@Qy@AAwMal@kMwj@sCaMiDeOKc@[yAEOS}@Oo@Oq@qEaSYmAYoAOq@cAkEmAmFYkAAG[sAmBiI[sAYsAmCiL[wAoCqLyEwS[yAMi@oI{^mBoIa@iB[qA[uAkBmIYoA[oAUeAOo@Mi@YqA[qA[uAmBgIGU", + "radziwiłłów mazowiecki|żyrardów": "yhk|He~yzBQu@kA{E_BeHi@cCGUS{@[sAe@yBQs@k@iCmBoIk@kCU_AS_AYkAYoAoAsFe@sBCMwBmJiDgO{@uDe@qBe@uB{AyG[oAuCmMe@qByBuJo@oC{EcT]yAs@}CS{@g@wBeIg^iDgOeDyN_@aBqAyFeAuEOs@GWI[sDgP]yAcCqKmAqF{AuGiAeFcAmE}@{DuAkGy@kDy@qDyD}PgD_OyHc]WcAESGWCOOq@cAoEuAaGo@wC}A{G[yAs@yCsMsk@aAiEeBwHw@iDgDeO}B_KI]S{@yEwSYuAq@uCqA}FYqAYoASy@Oq@Oo@UcA]wAgBwHWoAYmA[qAYqAmK{d@qFeV]{A{@wD[qAYqA[qAYqAwKge@yGoYkDcO}FuV[yAwBaJkWihAmAiFiB{He@qBe@sBw@gDmBiIEQeAqEy@kDMm@o@qCqCuL{BsJYkAkBaI", + "żyrardów|grodzisk mazowiecki": "usu|H{ky{BKg@_@}AsE{Ru@cDmBiImHi[GYoCsLgAuE_A}DcAoEIYOs@cAkE{AqGe@sBKc@wBiJeDoNqM{j@GUK_@AGuAeGsA{FiB{HiB{HqCyL]yAaCcK{CsMy@qDeBwGGU}AyGcEqQkJca@mCiL]yAuUmcAyEqSmDeOuCeM]{AqS}|@{Kye@S{@c@iB[uAmAkFeBuHcAkEkZmqAEO_@eBaFgTGUgZgqA]yA{CwMYoAYqA[sAkEaRsKae@YoAeFuT_AaEYkAeAqEe@sBEO]{AOk@Om@yA}FSw@o@iCs@{Ce@oBSy@Uy@{@iDSu@Kc@Mg@a@cBMg@q@wCqAuFsBaJc@mBcBuHEMiAcFGY_A_Em@aCiAgEGSuB}Ha@aBIYOm@CKYiA]{AMi@]yA", + "katowice zawodzie|mysłowice": "g{vqHqxhsBDoBT_GPyEPmET{DJoC\\aKVsHRmIFsCBaD?eD?sDE_GK{FD]SqFKeCGaBIyAc@gHm@eJcDwe@WcEK{B?KEaBGcCG{BKsBOiCsA{Rg@sHEk@QmBSiBi@iEYsCm@{IUsDCu@IuAGoCCsC?_BBgDFeDP}DPyDPkEFwAHyAJoAJqALkANoALcANaAPaATmAViAR}@T{@tBoI^wAr@gCj@qBl@_Bd@kAv@eBjA}Bl@iA~AuCP[p@mA\\m@pAuB`KaPlDoFvBcDvDyFbA{AnGoInBiC~B_Dz@iA\\w@d@k@^_@f@a@~@y@lAeAxA_B~AoBb@k@^i@tAyBn@gAf@aAb@{@`@_A`@_An@qAFSp@cB`BoDvA}Cn@qAt@sA|BqDn@_A`@g@f@k@VSVSXQ|DcCpAy@rAsA", + "krzewie|kutno": "iky}Hws`tBCo@Cm@C_AC_AA}@CgACy@A{@C_BA}AAwAKoKKaKKcKWgYg@oi@IgBWeXQkQGyGeAyiAAeBUmUGeHAgAAiACqCAw@c@oe@QkQ[m^CgBEuFkBsqBEqFCiBo@_u@CwAAyAAy@Cw@Aw@Ay@Cy@Cq@C{@Cy@Es@Ey@E{@Eo@Ca@AYGy@Go@Gy@Iy@C]CQGs@Iu@Iw@OoAEa@Go@m@gFu@uGKcBw@wGu@uGE]Iq@CYKs@C[Im@Go@Iw@Iu@Gs@Gm@Gu@CSCc@Ek@Cc@AOEq@Es@Es@Cu@Cs@Cq@Cu@Am@Cq@Au@?i@Aq@?s@?k@Au@@w@?o@@s@@u@@q@@}@Bq@Bq@Bs@Bs@Bo@Dq@Dq@Bk@@KFu@Du@Fm@Fu@Fq@Hq@Hy@Hk@Hk@Ho@Hq@Jq@Jo@Jq@F]BORmARoAn@yD|AiJlAeH`AcGRgABM|@mFrAgIJm@dAgGDWfAwGn@wD`FcZhA}G^yBf@wCb@qCFWnAuHp@cEjB}KLo@`B_K^wBDUn@wDbDwRBOxAyI`@aCN_AFYHe@Jm@Jk@Je@Jo@Lo@Lm@Lm@Lm@DWDQLm@Nm@No@RaALi@HYVcAVgARu@zAiG|BgJZmAZsADQHYj@}Bn@iCvAyFh@yB@EjAyEbB{GDOH[Ja@R{@T}@VgAHYFWNs@Rw@Lm@Jc@BONm@^gBf@eCFUd@eCb@]L_@L_@L_@Na@Pa@L[P]DMJSTc@Ra@R]`@q@HKLQNWTYR[PSd@k@", + "kutno|witonia": "_yv}H}vcuB\\a@FI^e@LM`@e@x@cAj@q@d@i@X[X[TWVWVURQZURQTOTMTMVOXOZMRIXKXITGXGVEXGZCXEXAZAV?T?D?T?X@^BXBXDXDZFXFVFVJZJVJTJXLZPVNVPVPTPVRVTPPNNVXVZNNRXRXRXNVV^T`@Zj@BDxAjCd@z@~BhEDFxAjCn@hAl@fATb@Vb@P^Vf@BDRb@d@bAjAhCvCrG|GlObF~Kx@jB`F|K~EzKvBxEfB|DnEzJ\\v@\\v@^v@^t@b@x@d@x@b@r@`@n@BBbAtAdArAhC~CtEvFhBzB`AhA~@jAbCvCrAbBnGzHz@jAz@nAd@x@f@x@Xf@jIdOfJpPjJrPpFtJtBxDfJpPrGhLfCtEbAhBfAfB^n@`@l@`@n@b@n@lAbBlA|A@B~CdE~Yh`@tKpNjMvPvRjWrI`LnCpDbNtQdArAnCrDvBrCt@`AvCzDjClDlDtE~CdElE~FhB~BbBzB", + "witonia|łęczyca": "q{i}Hc}stBhAzAjAzA`P~S|@lAfChDhDpE~G~I|@nA|@lA~PvXjCfE|ItNtF~IdGxJjFlI~FpJdi@h{@@DnFtIzDhGj@x@j@v@xAlBbLvMnK`MRTtl@dr@fM`O~QfTB@xKlMbO`QxShVbAjAbAjAtAxAj@j@`@^JHx@t@z@r@vBfBnFnE`FbEnFnEdBxAfBxAnErDlErDDB~AtAr@j@r@j@bCpBhA`Ad@`@b@`@l@j@j@j@tAzAZ\\|@`A|@`AnUfWbK`LfBnBhBlBpE~ErEbFdBnBlBpB|BfCnApAf@d@\\ZLJ|@p@`@Xb@XfAl@~At@rBn@`@J^J~@P^F^D`@D\\Df@Bh@Bf@@h@?r@?t@AjBAtEGfLM~@A|JMj`@a@`EE|CEhEEnGGhCCjCG^AfAGpBWvAWz@Sv@UXG~@_@`Aa@hAo@`Am@dAu@`A{@dAcAx@_A|DaFrBiCjFyG~AqB~GuI", + "łęczyca|ozorków": "gxt|HqwctBhDiEdIcKhQ{TjMaPrE{FfEmF~QsUp@u@vAmBzAiBrBsB~@w@~@s@tL}HzE_DvKgH`U_OnCgB~CuB|OgKfG}D`Aq@ROp@g@l@g@n@o@VWTULMHKTYj@q@h@u@h@w@bA}A~@_BfBsCr@mAt@mAvFiJlLoRbDkFnCsEjHqL|JmP`HcL`HcL~ByDdCaEbAaBj@}@V]xBcD|B{ClB{BpBsBvAqAxAoAvDwCnTuP`q@ah@jHuFbJeHdBmAxAw@~Ao@|Ag@tA[lCm@nCm@vBa@bB[lCg@z[eG|AWBA", + "ozorków|chociszew": "}ze|H{zqtBhHuAxHwAjB[xB_@dMyBfI}A`KkB`LsBpAWhEy@jB]hAUv@M`Ce@dGgA|@Q~@Q|@Ox@O\\E\\GZC\\Cf@Ef@Cl@Cl@?T?R?h@@jBJ`AH`AJ@@`CThGn@rO~AxYxCrANv^vDzJbArHv@vANxLlAjFh@|CXvBL~AJ~CPn@@n@An@ATAb@Cd@En@Gx@Kv@OvAYf@K", + "chociszew|zgierz kontrewers": "un|{HgbrtBzBg@zD{@hAUlK_ClCk@p@O~SwEhAUta@aJjCm@lDw@vA]j@Sh@SbAc@`Ae@TMJE^W~@m@r@k@r@m@p@o@p@q@p@w@p@y@n@}@n@_Aj@_Aj@eA`AoB^y@\\{@h@wAh@yAb@yAPm@Nm@^{A^aBToAToAVaBTcBNoALqANeBNiB@E\\kEj@gHj@iHxAqQ|@_L|@_Lj@iHXuC\\qC?AV_BZgB\\iB`@eBb@cBl@qBn@mB~AsEdB}Er@mBXw@J[JYdAkCVk@Vm@n@mA`@u@P[NUb@q@b@q@b@k@`@i@b@i@d@g@X[Z[Z[ZYRQv@m@h@_@j@_@vAw@n@[VMVKj@Sl@Sh@Oh@M~A[l@In@IlBWlAO`Dc@VEnGy@jC_@zDg@xASpEk@jHaA`AQbAUdAYp@UXMd@Sd@UtBeA|BgAzBiApE{BzGgDzQaJzAw@vBeAl@]l@_@l@_@j@c@h@c@h@e@j@i@j@k@n@s@r@_A`@i@^k@\\i@b@q@Xi@b@w@Zo@\\u@b@_ABK^_Ad@mAL_@Pe@J[Z_Af@yArAaEh@cBf@cBPq@Nm@Nq@Lo@Li@Ji@|@mFjAoHN_ALy@L{@L_AJaAJ_AJcAFy@HaAHmAL_CNkCDy@Ba@Be@DaAB}@B_A@eA@{@?gAA{JA}E", + "zgierz kontrewers|zgierz północ": "{yp{H_l`uB?kACmAAiAAi@C{@EaAE_AEcAG}@QaCIu@Go@K}@M_AUeBKo@Ms@Mu@Ou@Qw@Qs@Sy@Qs@Uy@W{@Y{@Us@ACeA_DmGiReBiFiC{Ha@qAYy@Qk@Su@[kAQs@WkASaAQy@e@iCuAuHe@kCSyAQ_BGk@Ec@IqAGgAAq@EcB?iA?cA@w@B_ADoAVoEXkEvB}YTyCfAcOjDue@PcCNmBHoAJkA", + "zgierz północ|zgierz": "auq{Hk{huBp@oJz@mLTwC\\}E@GPwCFaAD_AB{@BeABaAB_A?k@@k@?q@?_AAiAAgACcACcAEeA]cJCq@c@sLK_DCw@Cw@CcC?qB?y@@y@@s@Bw@@s@HwC^_Mz@aYHeCFaADcAHeAH_AH_AJcALcALiANeAJq@Ny@P}@Nw@Pu@Nq@R}@Ru@Tu@Tu@Tq@Vw@To@HSNa@Zu@lHcQfCaG|CoHPa@n@{AZo@Xo@^w@PYNYN[R[`@m@b@q@d@o@d@m@d@k@f@i@d@e@XWVWpAeADEvAgApDoCp@g@p@e@r@c@XOXMd@Qf@Qf@Md@Kp@KVCVCj@EV?TAf@@d@Bb@B`@D^F`@Hd@Ld@L`@NRHNF`@T`@V\\X\\ZbA|@\\ZXXb@^f@d@`@^x@v@RP~@z@t@p@\\Z~@x@~@x@xAnAv@p@r@n@jD~CnBfBnEbEdDxCbDxCvAlAb@b@l@h@", + "zgierz|łódź marysin": "e{l{HcepuBv@r@z@j@JFdAp@RJXNXJTHVJZHVDbANZBj@B|@?b@ATA\\Cf@G^Ej@MVGZK^M\\MZMVOXO^S\\WZU^[^[`@a@X[\\a@\\c@\\g@Xe@\\k@Zm@Zq@h@iA~@yBnBsE`A{BBEp@_BBGbGgNrEqKpFeMVo@n@wATi@d@eAp@_Bn@yAh@kAvAeDb@cAl@wAN_@x@kBx@kBbA_Cb@eAlBoEjEaKb@_A|@uBd@eA`CuFBGbA_C`B{Dl@sAdAaCP]JUj@kAVg@@AZg@^q@PYLSj@y@Za@Za@^e@\\_@d@e@\\_@ZYt@q@tE_E|EaErLcK~@w@jB_Br@m@bByAz@{@j@k@TYf@k@f@q@b@o@RY^k@\\m@Vc@Ve@Ve@Tc@\\u@Zw@p@_BTq@Vs@X}@ZgAZiAXkAXmA`@gBxBmKd@qBb@oBT}@Nk@DMRs@ZeAVs@Tq@Tm@`@aATk@h@gA^u@`@w@Zg@Xe@^m@Xa@\\e@\\c@d@k@f@m@b@g@h@i@fAkAtC{CLMlEwEb@e@b@i@X]V]b@m@^m@j@_Ah@_A`@u@PYv@wA\\o@x@eB`@_A\\y@Nc@\\_Ap@uBTw@^uALi@Lk@jA}EpJka@", + "łódź marysin|łódź widzew": "}ed{Hk{|uBlAiFtC_Mz@sDxBcJ^}AXaAV}@Pg@Ne@Z}@Pc@Na@N]L[\\u@Vm@Xi@\\o@Zm@~@{AfA}At@_A`@e@r@u@fAcAZYt@k@\\WdAw@|L{Id@[`@WLILGPKPKNINGPKJEVKRKHCb@QRG^MVIb@Kb@Kf@Kf@Id@Gt@Gr@Gp@Cl@?j@?x@@t@D|FR\\@V@t@B~@?\\An@Ap@Er@Gt@K`@I`@G^ItA_@v@Yj@Ul@Wj@Yd@Yb@Wj@_@`@Yh@c@f@c@j@g@h@g@h@m@l@s@d@k@n@_A`@m@PWR_@Va@b@w@P]`@y@Zq@Zs@\\{@Vs@Pg@`@iAV}@X_Ah@wB^yA`AaE`A{DjA{EzAiGfBgHNm@V_Ax@iCVq@`@eA~@wBl@sA`@{@|@kBJSp@wAl@mAzGoNl@oAtAwCtAuCfCmFzHkPbAuBvCiGHOtBmEz@kB`@{@^_ANa@Nc@Nc@Ng@ViAJe@Jg@RqAFg@Fi@PaBRkCr@oB", + "łódź widzew|łódź andrzejów": "me}zHgwfvBf@iGr@{IXmD~AaSxA_Rn@oIr@sItA{QP{BFo@f@sGx@aKDq@vAmQXmDVgCFo@LsAP}AVuBHw@b@aDbBsMnFwa@~DsZjD{WnDuX`@uCd@uCRcARiAl@mCVeAXcAZcAZcAZ_A\\_A|@}BfBcEhEqJrEaK`AeCbAiC|K{ZlE}L~CwIn@eBnIsUPg@|@cCxJoXFSfCeH|@cC", + "łódź andrzejów|gałkówek": "iuxzH_lvvB`Nq_@bDaJv@{Bn@qBfAuDv@wC`A_Eb@qBb@mBNk@~EkTlI{^n@oCh@gCRcATgA`@gCTaB@i@LgAJaALgAHiAHcAHiAFiADs@BaAFiBBiA@mA@gA@sA?oAAwAAoFDmAAuEEkMEwOCeH?eAEgOAuDKe`@AsDAqDAuDAqDCoIGgVAoD?mA?uA?oA@qABkABoADoADcAFgAFoAHgAJqAJeALiAJcAPmANkAPkAlA_I\\wBPoAZqBA]xAoJ`@sC\\kCVkCTkCPyCLsCFuCD}C@cDAgDg@mjBGeRCmHCuI?}ACeKE}J?{AAeCKi_@AqACyACmACyAOeGa@yNm@sTCiAVo@", + "gałkówek|żakowice południowe": "kpvzHadnwBIqCE_BGwCCgA?kA?gA?iA@oA@oADgADoADuAHkAJeBHcAHaAJaAJgAJ{@Js@NaANaAPmA`Hwa@BIRwAR_BLeANmALwALuAH{AJ{AFkBF_CFeD?gDGaDIgDQcDSaDYcDgB_Sa@gE_@iEc@cFm@qGyDcc@MuAMuAGw@Gy@CU@e@Ey@Gy@Ey@Cy@Ey@Cy@C_AC_AAq@?w@Ay@?y@?{@?{@?}@@w@@y@?EBs@@{@D{@B}@Dw@Bw@Fw@Dy@Fy@Fy@Fu@Hw@Hw@D_@JaALaAPqAPqAHqAn@sE", + "żakowice południowe|mikołajów": "}jvzHgkxwBx@cGLy@j@eENaAL_AN_AN_AN_AP_AN}@Nw@Pw@RcARaATcAR}@T{@R}@FULe@T{@Ty@vQcp@Tw@J_@xAoFJ_@vAcF|AuFlFmRfFaRrKe`@bJg\\dEcOjBcIfB_J|@yFv@{FzAgO|JubAbB_Qn@}Fx@wF`AwEhAwErAkEj@_BVm@Vm@", + "sędzice|sieradz": "ewbzHy}ipBJi@xC}NLo@dAiFtF_XjLsj@^gBNs@Lu@Ls@Lm@PiAPoANiANsALkAJsAHiAJuA`@iG@ErEur@h@eIHiAJkAHiALmALiANmALeAPoAVaBTaBD]lKuu@xE{\\dCgQPgAPiALw@P}@Rw@Ry@Ru@Tw@Rm@To@N_@N]N]LYN[Ra@Ra@\\m@`AkBTa@nMeVla@cv@lDuGzEoJrGyLfXkg@pBuD`@u@b@y@^u@Xm@Xq@Vk@Xu@Ts@Ru@Tu@Rw@VeAVgAXoAR{@z@sDPy@Pw@Nw@Nw@Ly@J{@Hu@J_AFw@FaAD{@D_A@{@B_A?{@@_A?cD?qE@qg@Bcx@Bky@?{A?yAAqACsAAqAEyACaAg@iSEmBE{AI{C]sJCuAMiFq@eXW}Ka@sPIaEOsFGeCO{DI}BEeBQsGEgBM_DMsDKmCCq@GaAG{@Gw@Gg@Gk@Io@Ik@QkAMs@Os@Oq@Qm@K_@K_@]eA[}@Qa@[w@Wg@Sa@Wg@Mg@wAcCuAcC]k@_@s@Uc@]q@", + "sieradz|zduńska wola": "_k}yHgnhqB]s@Wq@]{@Yw@Ww@Y_AUw@gAeEa@uA]mAYaAUs@Ws@g@qAKSYm@Yk@c@{@CE]m@g@_AcF{ImI_OgEqHk@cAi@cA[o@Wk@Yq@Wq@Uu@Us@Uw@Qu@Qy@Ow@Y{AY_BEU}H{d@s@cEs@_EeBeKwDuTUsAcHsa@c@mCSoAQmAQmAOoAOsAKmAKqAIqAGoAGsAGuACoACoAAuA?mA?yA@k@?i@BwAB_ABc@By@DcADgAHeAJeBFw@J_BNiBJuARwBN}A`@iEz@aJLqAJcAJ_AL}@L{@N{@Nw@Lg@Lg@Pq@Le@J]Tq@Tm@Rk@Vk@\\s@Xk@NWH_@Xg@`@k@\\e@\\e@lG}HjDkEhAwAd@k@\\g@T]\\k@`@w@NYRa@Tg@Vs@Tk@Vw@XaAV_APu@Nu@RaANaAL_AJ}@LmAJmAFkADiADqA@mA@y@@y@@sB@gFDmMDoMBkMVae@?WZwcA@oE?oAAsA?IAgACuACqAEuAOgE_@iKiAc\\McDWsHi@}OG}AUsGUaHqAg^WyGWmHq@gRo@aRIiBGcBEcBE_BEsAAqAAqA?sA@uA@wAViRZgV`BqoAf@kf@FmEBqA@sA?qA?qAAmAAsAC}ACcB_@kRSwKo@{]yBglA?UaAai@Ak@eAoj@IoEC{ACqBAu@?q@Ay@?oA@qA@oE@{A?mBAyACmBg@qb@?I@sCUgR", + "zduńska wola|gajewniki": "qh_zH{rrrBAi@Ae@]gZIuFCcDGeEGkEEmEACMkKS_PAs@WyRAu@UqRCuCIcGImFAgAQcMGgDKwJq@ai@UaRIcH", + "gajewniki|borszewice": "_r_zHotzrBIoGAq@g@_b@AsAC_BAwA?yA?yA?yA@{A@wA@sAB{A@u@@_@D{ADoAFaBfEeoA@o@xBap@pBkl@tBsm@TgH\\iJh@{O", + "borszewice|łask": "o~~yHylesBjAy]rCoy@?AZ{IdBah@vAab@Bs@hBii@jAu\\`@kOn@oRjByi@lCcw@n@qRZoIBm@PeFNmERcG", + "łask|kolumna": "i|}yH{bssB`@oLVcHf@eOJqCNmEl@_QFsBDqADwAFaEBeAHiDBqABiA@sA@_A@u@?W?_A?iACeAA}@C{@EgAE}@EcAG{@IcAI{@Iw@I}@Ks@K{@O{@Ku@Ms@uAkJiFg[{@eFaEgVsFm\\i@iDUsASoAQmAUyAOoAQwAOsAMwAMuAKiAAMKuAIwAIyAIuAGsAE{AEuAE{ACkAC_BYgNWuRc@c[CwACyACuAEyAEsAE}AGuAIyAGuAKwAIyAKsAKoAMaBwBsWwFer@KuAOuAMsAOwAQyAOoAQsAQsAQkAW{ASoAUsAgB{KwBsLu@gEAG", + "kolumna|dobroń": "o}_zHw|ctBmA}GqAkHoNuw@e@mCScAWuAUkAWkAWiAWiAsPwr@qBiIsFsTQw@uIe^mOeo@eF_T", + "dobroń|pabianice": "ewbzHetltBkB}HuCwLCMiDmNEUgKyb@i\\{tAEOuRwx@gRmw@iEoQ_@}Ae@mBS}@Sw@S{@YgAWcA[mAWaA]iA]kA{@uC}Nig@_N{d@IWkKi^mGmTkA_E{@uCaAcD[eA[eA]gA]aA_@eAa@eA_@eAkDuIgAqCaAeCeAiCw@oBq@eB", + "pabianice|łódź lublinek": "cwhzHuz|tBg@kAYq@i@oAUk@a@{@cA_C_A_C}@yBy@uBe@gASm@Uk@k@}AgAwCcAqCsCeHgHqQSi@oBaFO[qBeFyFuNmA{CWk@Se@Ug@Sc@Ue@MWQYO[U]OWU[MQSWMOOSSSOQQOOOQQMKQMOOQKQMOKQKOKMGSKSIYMYM_@M[I]I]Ic@I[E_@E_@Eg@Ga@Eo@Ga|@aImTqBoRgBWC{Fi@oTqBgCU}Go@UCk^eDySmBw@Gu@Gy@Gq@Cw@Es@Aq@Ay@?s@?w@@kQN_@I_@A_@Aa@A_@E]Ea@G_@G_@I_@M[Ka@O_@QQISKUM[S]U[Y[W]YYY[]Y[?AW[Y][e@]e@oCsDmAcBg@s@]e@yEuGcDqEaByB{AwB}CgEu@eAGG", + "łódź lublinek|retkinia": "{otzH_zcuBc@m@oAeB_B{BCC}\\ce@cCgD[a@mFoHu@cAi@u@e@q@[g@c@u@U_@_@s@]q@Ug@MWUg@O_@Uk@M[Ws@Qe@]cA[eAY_A]sAWiAQs@Mq@}BkLqD{QwAkHwAqH}CwO{CuOkJwe@wCkOG[uC{NkBoJi@oCeB}IYuA]gBYuAi@qCqAwG??m@}Cg@gCsGq\\qAyGIa@GU{@mE", + "retkinia|łódź chojny": "k`yzH}aouBQcAc@oDMw@Io@Km@Oy@}AcIaA_Fq@iD_@oBMm@{A}Gq@yC[sA[{Au@sDw@aE[aBG_@COKq@K}@IaAC_@Cc@Ca@Aa@Aa@?e@A]?e@?g@@c@@c@@g@Ba@Bg@Bg@B]Di@Da@D_@Fa@Fa@D_@F[FYFYBSHYHa@La@Ja@J_@JYL]L]LYJSHSHOHQLSPYNUNSNSPSNQJIJMJKLIVSJIRMPKNIPGJGRIPGPEl@STITGRGFAZWFAf@GXERJ\\CTSJAVCRANAPCXATJXARARA`@AnCKXOTATAZCHJRQLJPQLJTQHJ^G|IsAh@I\\G@MXG^GVGf@MPERGXK^?`@Q\\O\\MXMn@g@bAe@TKTKTKHFZOXKAKb@Q`@O^Ov@W|Bs@RBLE\\M?K^OZMV?PG\\QpEoBl@Y`@SDOXARYJGd@YPKXE@MVQTE\\Wf@e@t@s@AO`@c@h@_@t@}@EKl@u@f@q@REr@}@bAqAJa@vC{D~@kAr@g@p@}@Ro@t@aANS\\g@^m@d@]\\q@Rc@CSVMPc@N]L_@HWHWBg@Lc@Le@H[PO@e@JGJe@^oBEELw@P_@z@}FbB{JvAkH?_@N[@g@NgAFc@LYA[L_@B_@Hq@Ba@Bg@CUH_@Ba@Bg@BgA@y@Eg@Fg@Ee@?CDo@Aw@GGAi@DSAc@Kc@DKKo@Ey@Gm@@e@IKGs@Gg@Mw@BWIg@_@qASeA@MKe@K_@K_@Qk@QUi@_BBG[y@KCc@aAFC}@mBuCiGcD}G}B}Ee@eAQKYo@FESc@Ws@KYY{@Oe@K]ESGQI_@[w@SkAESMo@E_@@SKW?a@Iw@KgAGEGq@Be@Ee@Cg@Ae@GMBe@AeAIe@?mAD[E_@Fi@?m@EO@w@HOBw@Ba@Bg@Kc@JwDHsB?IX}FDy@dAkDTiE\\uGj@_Lz@cQFoAL{BDsADsB@}@@U@{@@w@?Y@[B_@T}EEKBk@JsB", + "łódź chojny|łódź dąbrowa pbs": "squzHux~uBVqERoEHsBBw@DuA@w@?c@?gAAoACgACu@E{@Ck@Ee@Es@Ee@Iy@Io@Io@O{@SmAMk@Oq@Qs@Mg@Qo@Ma@_@cAQe@c@cAO[Q_@[m@[g@[g@KQa@g@]c@Y]_@a@[Yg@e@e@]a@Y_@Sg@Y_@Qk@SIEWIUG]Ks@OeB[m@MqB[qASo@IMA}Da@gAOcDi@sDm@}AW", + "łódź dąbrowa pbs|łódź widzew": "epwzHqravBeCc@iCc@@e@QC[GsAUyB_@{AWeBYIRQEOYiEs@o@@gAOSOKHs@G_COyBMwAKcEW?KkCOiEW}CSMJoAImHe@kASs@EUFo@CwBOUM_EWeDS}@Ge^wBw@Eu@Go@Gm@Ig@I[G[Gm@Oe@OYIEHc@Qc@Q@Im@Yk@Y]S]S[Se@[e@]]Y][OMc@a@a@c@[]UYWYc@k@c@m@a@o@c@q@]k@[m@[m@a@g@]w@BMa@k@@OYc@Wo@]eA[eASo@OeAYgAWkAUcAScAOu@]iBWaBMy@My@Kw@Iy@I{@G{@E{@E{@Cy@C{@?}@GA?y@Mu@HyBDsAFoAJyBJ_B`@uFVkDFo@pAmPFo@l@uH", + "gałkówek|rokiciny": "cqvzHqbnwB?uBImDC{AAyAAuA?uA?m@@g@@mABuADoADqAFsAFuAHcAJqAVsC\\wC`@uC\\yB^wB|@mFzB{M|@sFCOT_BR_BLgAJiAJgAHgAHgAFkAFgADgADgABgABmC@mA?kACsCGwCK}CQuCUcDMsAKiAsDya@Ea@OcBkD_`@yAoPOuAKuAMsAMsAMuAKsAMsAMsAMuAMuAMwAyFqo@E[@g@yAmPGk@{BaWcAaL_@gEO_BEg@Eg@Ca@QsDC_@Ca@C[Eg@Eg@[qDCa@Ec@Cg@Eo@A[Cg@AMA_@A_@?_@?_@?_@?_@@a@@a@@Y@_@B]B_@B]D]D]Da@F[D[F]H[F[H[HYH[JYJYJWJYLWLULULULSNSLSNQNQNONORQRQHIPKPMPIRKPIPGRGPGREREPCRCPCTAP?R?R@R@J@RBRBRDRFRFZJXJt@Xt@XzB|@z@\\z@\\l@Xl@Xj@Vj@Vj@Xj@TTHXJTFXHdATRFNDRFhDtArAZr@Xf@Rn@Vn@Xh@Rf@Td@P|B|@`JpDv_@jOp@VdLrE~@^zCjApPzG`c@|Prn@rVFBrAh@dBr@ji@fTzDzAlDvAdM`FzH|CzClAnAd@jAf@dG~BlEfBtAj@pAf@??vPzGf_@`O`C~@", + "rozprza|myszków": "e`bxHyg~vBrE~Ct@f@hPfLf@^j@`@v@f@x@f@z@h@v@b@n@\\x@`@fAf@bA`@r@Xt@Vv@XF@v@V`AV|@Tv@Pt@Nr@Nz@N`LlBp\\tFrEv@|@N`AP|@PbARd@Jd@Jl@Nj@Nh@Lh@PHB`@Lf@Pf@Pn@Tl@TVLz@\\~@b@|@`@v@`@z@d@x@d@z@h@t@d@tGdEfH~ENHbM`IjbBzeAbElCrD~B`XtPjs@jd@l^jUxDbCnG`EdDvBhAr@xBzA|AdAt@f@n@`@~BzA~CpBf@ZlAx@~BxA`Al@l@`@l@`@p@d@n@f@n@h@n@l@r@n@p@p@r@t@l@n@n@r@l@r@n@t@l@t@j@r@n@x@l@x@f@r@f@x@h@x@`@r@`@t@hCxErF~JzCxF`BxCHNn@hAjAxBl@fA^r@h@|@b@p@h@t@b@l@d@n@X\\RRFFZ^f@h@j@j@h@d@l@f@f@`@n@d@l@`@p@b@fBlAd@\\n@b@d@\\j@d@d@`@d@d@d@d@b@h@b@f@b@l@`@l@`@n@`@n@^n@\\p@^t@^p@\\t@Zt@Zv@Xt@Xx@Z~@Vz@VbAXbAT~@RbAR~@Px@JNRlARlARnARtAvI`l@hQhlAn@jEzRrrAtI~k@|@dGnAnIvC~RnC~QjNt_AzMz}@|CvS`Nd~@PlATzAPhARjARhANt@P`ARz@Ln@DPRx@Tz@Tz@Tv@Xz@Rj@Nd@Vn@\\bA^x@\\x@`@z@^v@b@v@hAjB^l@\\h@d@l@b@j@b@f@f@h@d@f@h@f@f@d@j@d@j@b@f@^l@\\j@\\p@^h@Xj@Tf@Rh@Rl@Rh@Pj@Nj@LND\\Fl@Jp@L|NdClJ|A|Ex@bPpCnGhAlWfE`BXVRD@jF|@vCf@dHlA|aAlP`ARn@Ll@Nl@Pl@Rn@Rl@Tl@Vj@Vp@\\r@^r@b@r@b@j@\\`@X\\Rr@d@v@j@n@d@t@h@n@j@r@n@n@l@l@n@j@n@XLZ^j@t@l@t@f@t@p@|@h@z@j@~@f@x@h@~@d@~@f@`A^|@d@fA`@`A`@fA`@fA`@lA^fA`@pAVz@d@~A^rA\\lA\\nAZpAZnAZtAXnAXrATlAVrAP|@BNTrA|E`[tEhZRtATrATlATlARdAVhATbAXbAXdA\\jA@BLd@Nd@Z~@^dA`@fA`@`Ad@dA^z@f@dA`@t@j@bAd@v@f@x@f@r@j@x@f@p@l@t@j@p@h@j@j@l@n@l@h@d@p@h@h@b@t@h@l@`@r@b@t@`@t@`@nGfD~IvErKvFtEbCbUtL|r@b_@@@r@\\v@`@r@^x@\\l@VZNd@Pp@Tr@Vn@Pp@Rn@Nn@Jl@Jj@Hp@Hl@Fj@Bl@Bn@Br@@t@?p@?z@?x@Cx@Cx@EtKg@L?`v@iDVAxJYj@Ct@AbACrBEhBExCMdI_@VA|`@gBlCOxKi@vESbMk@ZAhFUhDQd@Ab@Af@Ad@?r@@l@@N@l@Dh@Dj@Fn@Hp@Lh@Jn@Lx@TRF~@Zj@Rn@Vj@V^NPJn@\\l@\\n@^j@^l@b@n@b@p@h@dBnAt@h@t@h@nXbSHD`h@j_@boAb~@XRlvA|cAvDpChGpEpDlC|MvJf]zVLHjWfR^XlUfPt@h@lo@de@bq@pf@pBxAvIlG`@XdChB~C|B`YpS`SvN`HbFTPrCrBfE|CtGxE\\Vb]xVnBvAtObLtNjKt@h@n@b@p@d@p@b@p@^r@b@p@^x@`@xBbAh@Td@Rh@R`@NTHRHn@R\\J^Lf@Lj@NZHr@Pv@Pv@Nv@NbN`C`R`DdTrDn\\zF`KfBZF|KlB~\\~FjXxE|ZnFnVrEpWlEbU`EjKhB\\FfEr@lGhAjItAdCb@p_@tG^FrIzAfDj@h@Jh@Ld@Jb@Ld@Lb@Nf@Pj@Td@Tf@Th@Xh@Zd@Zf@\\^XHFd@^b@^f@d@d@d@`@b@`@b@d@h@`@h@`@j@^f@b@r@Zf@`@r@`@r@^r@Xn@Zn@\\v@Zt@Zx@Xz@Tp@Xz@Vz@Tz@T|@T~@Np@H^Jh@P|@P`AN~@DXHf@LbANbAx@pGzCfV`@bDb@dDrUhjBn@hF~LhaA`@bDb@fDvI|q@dLp}@pFnb@`CnR`C`RNlAPtANvALjANrANrALrANvAlDx^Z~Cr@tHLnALtAVjDJrALpAJtALrAJdAlDr^XvCjBrRLpAJlALpAJlAV`DJlAJpAJlALrARnBHr@JdANzA^dDZhCJ`ANrAl@fGVfCt@nHNtANrA^fDNvANrAfB|Q~Dza@rS~vBtGtq@LX|B`VJ`ANvAJ`ALdAJ~@N`ANbAP`ANz@ThAPx@VbAT|@T|@Vx@V|@Tp@Xt@Rj@Xp@Vl@Xh@Vh@Zj@Zh@^l@rAtB\\h@\\h@?@p@bA\\f@Z`@X`@`@b@Z^^^\\Z`@\\\\V`@X^Vh@ZnAr@|GvDvN`I~@h@lBdAnC|AvD`Cpo@d^zb@`VdUfMpAt@j@Zf@Zf@Xj@^b@Zj@b@d@^f@b@d@b@f@f@`@b@b@h@b@h@d@l@b@l@^j@`@n@^n@`@p@\\r@\\p@Zp@Zr@\\x@Zx@FLRf@lBfFjAzCt@pBv@xBv@tB~BjG`CpFjCbH~@fCbLfZFN~K`ZfE~KHT~AdE\\~@b@dA^~@d@bA^|@d@~@`@v@h@bAd@z@d@x@d@t@LR\\f@h@x@f@r@b@n@l@t@X\\TXf@j@h@l@l@n@f@f@j@h@d@b@h@b@b@\\j@b@`@Xd@Z`@Vf@Xb@Tf@Vf@Vj@Tl@Vn@TnBp@zAh@`AZp@Vj@Pt@Rh@Ll@Nf@J\\FPBh@Hn@Fd@Fd@Bb@B^Bf@@pDF`@?xCDpAB`FFfLNvABdB@xFHfDD`A@nEFfA@lAB|BBh@?d@Cd@E`@Eb@I^KZIZKb@Sb@UXQXSTQXUr@m@vAmAv@o@b@a@f@e@XYZ]V[V]V_@Va@T_@Ta@N]DGVi@Pc@Rg@Rk@Ni@Pm@Nk@Ps@Li@ZuAj@gCLq@Ls@Lo@Ly@vAsKt@oEp@sET_BRyAr@wEViBVkBb@_D`@cD|@oGf@uDf@}CzAyJ|@sFfAgGpCqNVkAZsA`@}Aj@iB`@gAd@gAz@kBvE_JxBgE`AiBz@aBf@_Ab@w@\\k@`@i@^i@V]d@k@h@k@p@s@d@c@d@c@l@i@f@c@l@e@fA{@dBiAzDcCd@YzIsFFEdNsIzXcQtK_H|AaAlAu@`Ak@`Ai@\\Sz@g@b@Wb@Ub@Uh@Wf@Ud@Sp@Yj@Qj@Sj@SHAn@Un@Sv@Sh@Od@M`@If@Mn@MFATElB[fTkD~c@kHxm@yJz_@iGx_@gGDAvCe@~`@sGfA]fBYpCc@lZ}ElKcBpN{Bbb@wGhScDj]qF|Du@xDy@fCq@`Cy@rCkArCmA|Aw@|A{@fCyAdCeB~HgGhCkChCoChGsHzAyBnEoGfTi[`N}RxE_HnAiBPUzA{Bf]_g@|MwRp@_AbFqHjEoGLSbBiClAqBb@q@d@s@`AwArAoB\\i@z@kA|@qA`HeJhHcKdSwYjEmGhFuHj\\ue@rCeEhe@sq@dVs]tAoBl@}@f@q@^g@^i@Z_@j@w@j@q@RWd@k@DEx@}@nByBHId@Yl@q@n@q@p@q@l@k@l@k@n@m@n@k@j@g@r@m@n@g@n@g@n@g@dBoAr@g@n@c@r@e@r@c@r@c@t@c@t@c@r@a@lFuCbOeIdOeInb@kUzAw@xDuBpJiFdVsMfAm@zEiCrC}AFCfE{Bhd@qVZQHE|\\}QFCdRqKRKnYwOXQ~PkJt@a@t@a@j@]PMb@Wp@c@p@c@l@e@r@g@zIwGVQhF{Dp@g@p@i@l@g@p@o@VS`@a@f@g@n@s@j@o@j@s@l@s@f@s@l@w@f@s@l@y@f@u@NU\\i@h@{@h@{@j@aAf@{@b@y@b@y@lA}Bb[}m@hNmXDKtMoWf@_Ad@cAd@aAf@eAd@eAb@aAZw@HQ`@eAb@eAd@mA\\aA`@gA^kA`@iAZcA`@qA\\iA^oA\\mAZmA\\qAZkA\\wATaAViAXsATkATeAp@mDlBcKpAaHj@yCtB{KlDcRrBwKtGq]zAaI\\gBzBwLb@{Bl@}Cl@cD", + "myszków|zawiercie": "uwssH_yauBjJ_g@hCgNrAkHjBwJtAqHp@eCVkAVmAT_AXeATy@X{@Vw@Vw@Zy@Xs@\\w@Zs@\\s@^s@^s@^o@b@q@^k@`@m@`@i@d@k@b@g@`@e@f@g@d@c@f@c@b@_@l@e@`@Yj@_@f@Yh@Yl@[f@Ul@Wl@c@zRgHb@Q^M`@Ol@Uvt@aXvEcBvFuBnPcGfMqEpFoBrEcBzCiApBs@fE}AVIt[iL~Am@~GcCfE}AbDiAnLiEvEcBr@Yv@Yp@Yl@Wr@]n@Yr@_@r@a@FCj@]p@a@r@e@p@c@t@i@r@i@n@i@r@k@n@k@l@k@j@i@p@q@h@k@r@w@l@s@l@s@j@s@h@s@h@q@h@s@rOaT~B_DpC{DdE}FpAgB~@oAzJeNXa@fI_Lj@u@R[bKmNvQyVX_@fJkMjJoM`EwFt@cAh@u@h@y@^m@DGh@y@t@kAv@_Ah@y@`@o@d@q@\\a@^e@\\_@XYZY\\YXUXSDAXS^SLGNGZQZKZKd@OPETEd@Kd@GFAb@El@EbBGn@Cr@CxBI|CKD?~CKtBIbAEl@Aj@Al@Af@AbACv@Ah@Cf@ApBIhFW~DQ`@AfEStI_@NAxDQ~FWn@El@Ej@Ez@KpCYp@Gt@Gv@EnAGfCK", + "dąbrowa górnicza ząbkowice|dąbrowa górnicza huta katowice": "gmkrHo`qtB|AhAPLT@`@ZDDpA~@b@Zd@Zd@Zd@Zd@Zd@XDBXN^RVNTLVLVL^P`@P`@P^PHBb@Rj@TxAj@`A^`A\\\\NTHVJh@PbA\\t@Tl@Nf@Nn@PhAVpEdATFrBd@vA\\fAVPDb@Jl@N|A\\TF`@HXFZFZFXDTDTBVBTBVBVBV@V@D@V?L@T?T?Z?Z?X?ZA\\AhBIfCMpAIzAKZC|@Gx@Iz@Kz@Kz@Mx@Mz@O|@OrBa@lB_@pBc@r@Or@QdBa@XGHAfDw@z@U`AWJAr@SrA]b@KDCh@Oj@Qz@[RIr@WfAe@h@SDCpBw@`@EdCcAfCcA", + "dąbrowa górnicza huta katowice|dąbrowa górnicza południowa": "q_frHwvptBv@[pBy@ZMlAg@pAi@l@Wl@[PWRMh@[b@Yb@]`@[^]d@c@d@i@BCTYZ_@X]V_@l@_AVa@T_@f@}@Xi@\\q@Zq@Vm@Vo@JUJ[Tq@Pe@Ng@Ro@Rs@Pu@Ps@Lm@Ns@Nu@Ny@Lw@NiANkALcAbBcO`BeOr@mGXaCZmCTuBXeCXeCb@yDToADYJ{@L}@Fc@\\uB`@mBd@aBn@kBp@cBt@yAn@gA|@oAz@cAZ[`@a@~@s@dAu@fAg@fAc@jAYZELC`@QhAInAC|WN", + "dąbrowa górnicza południowa|dorota": "{jbrHoavtBfA@z@@^?T?nBBpCBP?tKFX?nDB|MHzID`@@lC@zGDjA@jHDv@?R@z@@l@Bn@Dr@FP@~APxBZpBZbJtArZtEzThDpB`@nAZ^JdA\\dA\\bBp@fAh@h@XvAx@xAz@`LvHXRhCdB", + "dorota|sosnowiec maczki": "g{{qHytttBZRjKfHhAt@bVfPr@f@p@b@l@`@r@b@nAv@nAr@pAz@j@`@j@`@zAhA`ExCl@d@PJd@\\p@f@t@f@j@`@v@f@pDbChErCp@b@n@`@f@X", + "sosnowiec maczki|kraków główny kga": "iayqH{qrtB\\Rb@Tb@Rb@P`@Nf@Lh@N\\HjB\\fEt@d@Fb@Dv@Bp@?VAZCVCZEXGVGXIXKVKTKVMXQ^SlOmJ~@m@VQZUXWVUVYnAsAPUfA_BpAmBtAuBpAoBr@aAVYTUZWVQn@]d@OFCZIrGiBn@QnGgBtBk@DAhBg@t@Wp@Yp@c@f@c@b@g@h@w@b@y@f@mAX}@XqAjA{Jx@iH~Ds]Hq@BYFYD]Ns@D[Jw@Hm@Ho@Fa@FYDWLw@Fi@|@aIZmC\\qCr@eG|AaN~AgNLeANiADSHo@Lw@PaAR_APu@Py@Ru@b@aB~@cDNi@z@}CZgAd@aBH]Pk@l@yBZaAV}@Z_AXw@Vs@Zw@^{@\\u@`@y@^s@P]Xe@\\i@b@o@`@o@lAcB`CeDrDgFHKh@w@h@y@NSVa@f@y@rQ{XNUdHyKb@q@h@u@d@s@h@u@h@s@j@u@h@o@h@o@r@w@RSVYb@c@n@m@d@c@l@i@h@c@j@e@p@i@p@e@p@e@l@a@d@[`G}DvFuD`BgAxe@o[dGmEnL{Hh@]p@c@j@_@l@]xFgDv@e@n@_@`BaATM^Uh@WTMl@[p@]nAm@PI`Ae@pIaE|CyAr@_@l@]v@a@p@_@r@c@tG_El@_@p@c@PMd@[`@Wj@c@n@g@p@i@l@i@l@i@n@o@h@i@r@w@f@k@r@y@d@m@p@y@f@q@n@}@d@s@f@u@`@o@b@q@^q@d@w@b@y@^s@b@y@^s@pAgC|Oc[pb@{y@xAuCLSrg@ibAbDoGhC_FrH_OlG}LfAwBb@{@b@_Ab@_A`@_Ad@eA\\y@DMVo@Tm@To@Xu@hBcF~D_LtB_GnJ}Wx@aC^eA^cAp@gBlL}[bEgLtRai@`@kA\\aA`@iA\\gA\\iA\\kAZcA\\sAXeAZsAViAXuATiARcARiARkARiANiAPiAR}ANkANoALiAJgAJiARcAHgAJmA?CTmCl@sHV_DLyAJkALqALmANqANkALaAPoAJs@XcBDWN{@VuADUb@{Br@aD|@_EhIm^z@qD~@cErA_G|@wDt@}Cr@wCt@wCh@uBbAoE`@eBFYlBkIh@{CXsAp@sC|C_Nl@iCtEcRRy@TaATgAViAReAR_ATkARiAPeARiANcAx@wFb@mDd@aEb@{DRaB^eDJ_ALkA~@aIHs@nA_LXaCT{BpAaLnDa[bJax@ZkCrCyVBWbCgTlE_`@NoANmARqAPoARoAPiAVsAPiA`Nmu@TqARkARkAPqARuAPmAPsAJeA^eDJkAJmAJqAJqAJwAFoAHsAFuAFqAF{ADwABoABwABsA@sA@qA@}A?cA?{A?wG?gI?up@?gn@FmB?oA?mM?sA@sA@qA@sABuABsABiADqA@[Bg@@SDiAFuAHuAJuAHsAJmAL{APmBz@mJ^cENaBN}ANsAPwANuAHi@Hi@NiATuATsARkATmAVoAXuAVkAViAZoAZkAZiAV_AZeA^iAZcATq@?U~Ues@b@qA\\kAZ_AV}@\\oA\\mAT_ARw@ZsA^eBVmATmAVwAToARsARsAPoALaADYNkAP_BRqB@KDg@LkAJyAJsAHqAH}AFkAFmAF_Bv@uRtAw\\`E{aAPkEDoAD}ADqA@yABsA@qA@sA?sA?yAAuAAaA?_AAk@CqAEuAEyAEqAGyAGsAIuAIqAKuAKsAKwAMqAMqAOqAQwAOmAiCeSYuB_@wD{@yGOiACOK_AOqAOmAKsAKoAKoAIoAGsAGiAEwACiAEwAAoAAsA?sA?qA@kABgC?g@FgF?o@DeC@kB@]DaDBkABeAFoCJsCBqABkADoANmJ^{SBwABwA@sA@oABsA?sA@sA@}A?gD?a@@_L?gE?aA?_AAaAEgCGeEAo@YwPE{DG}HIwLAoD@}@?sAFaEHgEL_EPaExB}e@p@oN`D{q@NoCTcEb@uFTuBf@wEh@aERkAZqBr@uDdA{Ez@oD`AmDdAiDrQui@hBuFpAqEdBiF`A_D^sAT}@j@_CDMv@eDp@iDn@uDj@wDf@{D`@{DZkD@IXiER}DLiCd@qPDqBB}BAwEEmCIgCOeDe@aGi@eGa@sEYsDuGwv@cAyLWwDMuCCk@O{DIyDAiDAqE?_CDaJA_EAaECeBEaBM}DQeE[gFYmDEcBGm@I}@uAwO]cEQkBk@mGSeCMyAEo@Ei@IsAIyAEy@CYGyAEsAEkA?IEyACyACuAAuAAwA?uA?{A@uA@yA?Q@cABwADsAD{ADsAFwAFwAHuAHkAHuAJwA~@wMJkAj@mHHsAHiA^{ER_DHkAf@sHJwAPoC`@wFDo@f@gHTcDLyALyAJkAJiALmALiANkAFg@D_@NgAPiANeAPeAPmADULo@RmATiAZcBzByLBOrEiVhAgGdAwF`CmMNq@b@yBJi@jAcGl@aDF[Z}A`@sBdAmFVkATiANk@He@ZmAZoAZiA@GZiA\\iAX_A\\cAZaAZ}@`@gAZ{@^_A\\{@`@}@b@aA^y@f@eA\\o@`@u@`@u@b@y@h@{@d@w@j@{@`@m@l@}@|AwBv@yAtFcIb@m@~JwNv@iADGhCsDhCuDdPoUnFyH`@m@bBaChCuDlAgBf@s@R[RYT_@PWb@s@d@u@h@}@d@{@d@{@b@w@?AtLsTvSu_@BEXi@~BgEx@{AbAiBlDsGh@aAb@y@xDeHpCiFZi@^s@Zq@FKRa@^w@Zq@P_@HS\\y@Vi@DM\\{@^_A^aA^gA\\cAFOX{@\\iA\\iAPo@J]Pm@ZoAXeANo@No@R_ABIRaAVoAl@}CTsAPeAN}@@MPkAPqAL}@BSNiALsALkAFm@Dc@LmAJoAHqAJsAHsAHwAFoAFuADoA@YBq@BmABmABmA@o@?a@@iA@_B?y@?M?sA?sAAyACoAC{AAmAEuAGwBA_@KeECu@K{ECy@Cw@OgGIaCKkECu@MkFASCoACsAAs@A[CqA?QAqAAuA?k@?k@?sA@_B?mBNy_@?sB@_@@sF@}A@kA?kA?U@{@BmBBoABmAFyA??BoAd@}MDoADqABmABeABsA?KTgSLoKXyU@_ATeRV{NBaCHwGD{CB}BJyHBuAF{EDaC?e@?KJqHF}DNeLBsABy@?SDqA@ODaAFsANyC\\mGFeAF{@FcAJgAXcCNaAN{@Jo@Nq@No@Nk@\\qAVw@Vw@Ro@^cAdAuCdB}E^cA\\y@Pa@L[`@}@^w@b@}@R_@R_@p@iAv@qAb@q@`@m@TY", + "kraków główny kga|kraków główny": "orspHi_vxB^i@V]h@u@p@y@r@_AV[x@eAn@{@X]BCPURURURQPSXUZYNKROPMRMZSRKRKZOl@Yb@SVKbAc@l@Yf@U", + "kraków główny|kraków płaszów pzs kpa": "curpH{yvxBTKRGPGNGVGf@MXETETC`AKPCRCXC^Eh@GXCVAPAb@A^?PApHKvCG|@CPAL?`AEj@Cj@AJ?nAAbAA`@A`AAl@A~@AB?zCE|AC`@Mn@AR?TAJAh@C^ArAGZCZAh@Aj@AdFI`@?dEIf@A`@Ah@Eh@Gb@Eb@Id@Gd@Mb@Kb@Mf@Qf@Qf@Sf@Uj@[`@Uf@[b@Yd@]b@_@DC^]\\[Z[j@m@`@g@^e@`@g@`@m@dA_BvHeLDG|HoL\\i@n@_A`@m@Zc@b@m@bCsDtOuUfA_BtBaDzA}B^i@jBqCb@q@Ze@v@kAXc@DGjAgBvAuBd@s@^k@`@g@Zc@d@k@^a@`@a@b@e@d@g@^c@`@e@\\e@f@o@^k@jAgBFIdFyHv@kAV_@vBaDV_@?AxCoEb@o@^k@`@m@NWPUdCwD`@m@`@m@p@cAHMlCaEd@s@\\i@Zk@j@aAfAyB`AyBLYFO^_AXy@\\aAXw@d@}ANk@^oAx@wC\\y@", + "kutno|stara wieś": "s_w}HezcuBHm@Hu@Hs@Hq@Hs@Fq@Ag@@KDo@Dm@Dm@Dq@Ds@Bq@Ba@@M@o@@A@s@DsA@g@Bi@?UD}BFcD@s@NuIHyEByAvAg|@BqABuABwABwA@wA@y@@y@?{@@w@?w@?}@Ay@?{@Ay@As@A}@C{@A{@Cy@Ey@Cq@Cg@Ag@Ci@IuABc@Es@IuAIuAu@mLWsEGu@Eu@{H{oAw@{Li@yIgGubAAK", + "stara wieś|jackowice": "kqw}HksouBsB}\\G{@}Cwg@u@wLcAmPUsDq@mLg@cIyA}UiAuS[sF[eII}EA_DBuEHaFNeETeExAmRfAsNnHo_ArBmW~HwbAbBgTV_Dp@uIxIchA~HqbAdBiTbLaxApCy]pGcy@zAkRJcBJgBHaBFaBTaPRsh@DsIVgs@Jo[h@quA@yCHgTF{K@wK@wCDyC@oA@gAFmCD}AFuAReELwBNyBXcEDm@hAsObAmNdAaOTcDVqD^kFd@uGt@qKDe@fA}OXwDVuDXwDZsDXmC`@gDRwARsA`@eC`@iCd@aCb@aC`@_Cj@_DVuAjFgZ`Jwg@jCcOtEoWfO{z@zDoTzDwTxDsThDoRlEyVr@_Ev@_EtBuJtBgJpBcJbCuKbBoHlMik@xG_Z`L_g@fLqg@fDgOjBeI`DoN~CmNtFkVlAoFv@kDv@mDpByI`FwTvH}\\nBsItHs\\FWdBmIp@qCr@qCt@gC`@kA^kAnAgD~A_E`A_CbA_CbC_GhG_OpO{^pFsMpFqMbNe\\l@yAl@wAvAsDx@aCZcAZaAl@yBh@wBt@aDXyAXwA\\yBh@eDn@mEl@kEzA{KpDmWx@aGzCkTlAwIlAuIdAqHLaAtAyJtDcXVgB`@sCbBwLbFg^", + "jackowice|łowicz główny": "qgi}Hsd|wBbFi^nA{IlA{I|CyT|Hqj@pAeJpAcJnAaJd@sDb@sDPaBPaB^cEp@gIr@gIdBqSjEah@lBgUn@yHX}CV{CvH{}@xA{PRoAp@eIn@aIdB}RnC}[j@{GHaA`BsRJoALoAJ}@Fq@Ho@Hu@@QFa@Hs@Ju@Jq@Ju@Fa@BOLq@F_@BQLq@Lo@Lq@Nq@Nq@Lm@Nm@Nm@H_@FQNq@Ro@Li@Pm@Pk@Po@L_@l@uBfCoInAiErAmEdB_GbDqKdEmNfH}Ut@eCtFaR^mApDwLbCgIz@sChCuIfEoNbAgD@G~DyMzDoMJ]bHsUtBcHrB}GrL{`@Rq@DMZcAX}@V}@Pi@Ne@FSFQNe@Na@Na@Rm@L]L]Ti@Rg@P_@Vk@Xm@JSRa@Ra@Ta@Vc@Vc@R]LSZe@Ze@Xa@T]V[LQ\\c@\\a@V[VWTYNORSRSRSVUXWVUTQXUXSXUZSXQPKVQVOXOj@]l@[r@_@NI\\QhB}@`@S`@SvAaAnDiBTKZQ^S^Uf@Yl@a@TOZU\\UDEXSXSXUz@q@XWRQTSTS^_@RSRSPQPQPQZ]Z_@p@u@X]PURUNSj@s@f@u@\\e@Ze@NSDIf@u@Xe@JOv@oAbA_BbA_BBE", + "łowicz główny|bednary": "_t_}HavxxB|@yAbA_BbA_B|@wAT_@d@u@f@u@j@_A~ByDnAqBV_@Ta@b[{f@`BmChAgB|@wAV_@bC{D\\k@FKV_@\\k@\\k@x@oAFKhBwCJQz@uAT_@PYPYVc@P[R]LWNYNYVi@Tk@Rg@JUFQPe@Ri@Pi@Pk@La@L_@Ja@Po@H]H_@Je@Jc@Jg@Jm@Ha@Hc@Hi@Hc@Fc@D_@Fa@BWD_@Fe@Fi@Di@Di@Di@Dg@Bc@B_@@]B[Bk@@i@Bi@@o@Bo@?]@k@?i@?i@?[?s@?q@Ai@Ai@Ai@Ai@Ci@Ck@Ck@Cg@Ci@Ei@Em@Ek@Em@Ee@Ge@KeAI}@AGWoCiBkRMkAKmAGq@Gi@Ei@Gk@Ei@Ek@Ck@Em@Em@Cq@Cs@Co@Cw@Aw@Aw@Aq@Aq@A{@C{B?i@EeFQ_RGoIAeAEwDAyACwACyAAaAASG_ECmAC}AAgAAoAAoACcB?c@AiBEwECeBAs@?u@Aq@Aq@Ak@Ag@C_ACq@Cu@Ck@Ce@Ce@Cc@Cg@Gy@Es@Eg@C[CUCWC[EYCUGq@Io@Is@Ks@Iq@ACIk@Mw@Ko@Ko@SiASkA]iBwCiPiE{UoAcHY}ASgA}Fc\\qFkZq@uDsC_PeAeG_AiFwA}H{@uEYcBaLun@UmASkAOu@Mu@y@uE", + "bednary|warszawa gołąbki": "{m_}HyllyBaAuFaAgFm@mDGYWyAoByKEQIg@gAgGAEc@eCc@cCkEmV{BkMkBuKc@_CO{@Ii@cCgNUqAUqAg@qC}@cFSiAeIid@UoAUkAMm@Mo@Qy@Qs@Oq@Qq@YkAYiAaNei@iCcK]sAKc@gAeE{HsZWgAmBmHo@iCWcAk@{BcFaSqEiQOo@gDsMsD{NOi@]uA{AaG[iAYiAQm@Qk@I_@EMQk@Qi@Qi@Ww@K[ISKWSk@Si@Ui@Ug@M]MYMWQc@Ug@Ug@a@y@yDkIkFeLmC}Fc@_Ag@eAmAkC}BaFYk@?AgA}BoFmLuCiGcE}Ig@gAQ_@qAsCmEkJuFuLu@aB_AqB]s@a@{@Ue@Ue@S_@AEUc@Wc@Ua@OYQYOWGKMQWa@W_@W_@U[W[CCW]W[Y][]WYYY]][WYY]YYW[WOMMKo@e@m@e@u@i@m@q@oByAaD_CaDaCe@]MK{JoHyFgE{EmDIGgIeGqEgDoDmCWQ]W[UcAw@i@a@[W]UUSIG]Y[YOMMM[Y[Y[[Y[[[AAWYUWUYSUSWOSOSGGOSU]GGQYQWGIYc@Ye@Ye@OUKQYg@[k@[k@c@u@EI[m@KOsAcCaCmEgFkJqEkI[k@We@CEuCmFiAsBa@u@c@w@EGyN{WUa@Q]aHgMgBaDg@_Ag@}@eDeGMUOWiL}S_@q@eBaDoCaFUSeB}Cm@iAi@aAi@aAsAeCo@iAsIwOqCgFa@s@mA{BcG{KiE{HeG}KqCeF{CuFc@u@a@u@Ua@U_@Wa@Wa@W_@U]UYSYSWQSQSQSY[Y[YYYWYY[WYU[W]W]WEEWQaLgI{@m@cQgMgE{CiCkBgIaGIGs@g@iBqAaD_CGE{CyBm@c@]W]W_@WYQEE[QWQYQ[OYO[OKGYM[Mc@Q_@M_@Ma@Oi@QuQyFECcBu@_@K_@M_@Mk@Uo@Wu@]g@Wk@_@k@]sAcAaA{@EE_Ay@kBeBkCeCuHgHs@s@u@y@s@y@q@{@g@u@U]Wa@a@o@c@{@a@s@_@u@{@mB_@aA_@aA]aA[cAy@oCa@qA_@qA[aAI[sAuECIwAcFuAmFgCyIoCcJeAmDuAiEaCiHsAcEaAeDi@eBa@sAm@sB[gAUu@Su@Qq@Mo@Qy@Mw@QiAOeAOyAKyAI_BEyACsAAoA@sA@oAF_BFyAH{AJ{An@qJV}DPeCDs@PkCdBoWlGe`AhCi`@lBoYb@mGvAiTrDqj@rCsb@LiCLaCDw@@e@FgBDgABaADuBJoEjAcl@l@{YxCezA?EXwN`Bkx@PwHBmBDkBBe@@g@J_EDeADaAHcBH_BJeB\\mGZmGxDos@lAcUlDkp@`AsQj@gK`@yHfEsw@@If@mJhAoS`Ecv@HuAn@oLl@_L\\eGhFqaAfAmSFaAHaB`@}JxDws@pOcuCtFmdAn@oLlOcsCvAyWpB{^fBo\\dC_d@`AwQdBo[pB__@\\_Hb@sH@WlBy]zA}Xf@gJhAaTv@oNl@}K^eH`Coc@tCuh@ToELcCFgAF{AFsADoADqAD}A@cAB_B?kA@_B?yA?aBAcBY_k@?SEiJ?OEcHC}EA{CGiJEuJYci@AeAAsCw@kfBGwLEyJAaAIkRG_LAaAOi^GmM?MEqHGiMGgMCeACiAEmAEgAMeCKoAKoAMyAOmAOqAQsAIg@QcASiAa@uBc@mBe@sByByI_@}AsAmFEOwJy`@oNkk@kKub@q@mCwCwLwGeXg@oCa@uBUsAQoAKaAMqAGaAGeAEqACoAAuAAwDGgFA{_@A}J@_BBwCBcBF}AHaBd@_K`@oIDoBBwAB{A?eB?{ACwACmBGsBIgBKoBeAaPu@aLsBg[e@uHoBoZw@wLiAkPI}@QkBUiBq@iEq@kEwByMo@iEe@yDYiCQqCiBmXwAgTaCe^iDqg@iAsPk@uIg@wHa@eG}@gNqAmRo@uJa@aGSgDEw@Ck@Ck@Es@E}@C{@C}@Cu@CaAAcAA_A?{@Ac@?W?_A?_A@}@?mA@y@@y@BoDXe_@DqDJwL@oCRwTDkF@sBJqMDcF@wAByA@{AB_BBaB@{AByABaA@s@DaC?SDuBLkIB{AB{ABgAHqGFyE?WBsA@oA@oA@eA@{@FcHDeHByBBiD@yA@wABmG@wBBiI@{A@{A?uA?u@?_@?yG@oA?s@?u@?}@@w@@u@@iCBoC?s@?M@_A@_B@_BHmI?MFeIFcH?YVa[P{T@I`@sh@LsNHeJ@q@?s@f@qj@AeG@uA?sA?w@?y@?w@Aw@Aw@Aw@Aw@Ai@AMCw@Cy@Ew@Cw@E{@Eu@AI@i@Ca@OeCQuCUeESaDO{B", + "warszawa gołąbki|warszawa włochy": "w{s}Hsmi~B_@sGc@_HA[k@aJEq@Eq@IsAGq@Gq@Gm@Ek@Iq@Iq@Ge@UwASuAk@wDyAoJMw@?c@Ik@Ge@Ee@Gg@Eg@Ee@Ei@Cg@Ci@Cm@Ai@Ag@Ai@Ag@?i@?o@?g@@i@@k@@e@Bg@Ba@@a@Dc@B_@Ba@Da@Hu@Fi@D[Fa@DYDYBQHe@Je@Je@H_@H_@H_@J[H[H[FQPk@xMwb@^mAt@cChCiIj@kBrAeElMya@Lu@Ng@Tw@BKH]Ha@F[He@Fc@F_@F_@Da@Fg@Ba@D]Be@Ba@B]@a@@a@@_@@Y?[@c@Ae@?e@Ae@A_@Cc@Aa@C_@Ec@E_@Ee@E]E]Ie@G[EYMq@Om@[yAUkAQs@aAmEsAcGAIk@iCc@qB_@{As@_D_@uA[mA[kAqAwEOi@Om@I]K]Ia@Ka@G]GWG[I_@G_@Km@ESIc@GYGWDm@Le@Kc@Oq@Qq@Qu@Ke@CGYmA[sA_@?", + "łódź fabryczna|łódź widzew": "{f~zHatyuBF}CHaE@k@@i@Bk@@g@@e@Be@Ba@Dq@Dk@B[B[r@eJNkDVkDFaAFoAB}@~@s]FeERaGH_CxDwvAB{@^yNFiDDiBDsC?SHkEFoCFoCNaGDcAFoBDyAH{BTyFHoBBy@B{@P}ELmEF_CFuBHwCJyDJwDZkLRyHLoBXiKBuARkHHyBDsAFoAJyBJ_B`@uFVkDFo@pAmPFo@l@uH", + "gałkówek|koluszki": "cqvzHqbnwB?uBImDC{AAyAAuA?uA?m@@g@@mABuADoADqAFsAFuAHcAJqAVsC\\wC`@uC\\yB^wB|@mFzB{M|@sFCOT_BR_BLgAJiAJgAHgAHgAFkAFgADgADgABgABmC@mA?kACsCGwCK}CQuCUcDMsAKiAsDya@Ea@OcBkD_`@yAoPOuAKuAMsAMsAMuAKsAMsAMsAMuAMuAMwAyFqo@AME]CSEi@k@oGg@uFEk@Go@qCc[MsAMsAKgAMyAMuACUKaAM{Aq@sH}A_QeAsLO_BI}@Gc@Ec@Gc@Ge@Ic@Ga@Ic@Ic@Ia@Ka@Ic@K_@Ka@Ma@K_@M_@M_@K[KYOa@O_@O[O]O[KQS_@S_@OYQYSWQWSYQUSWSUSS]]]]OMQMWSSOSMSMYQYOYOc@Se@Sa@QIEWKc@c@_CeAu@[u@[{Am@u@YmFwBkBu@OGg@S_E_Ba@Oy@]WM[O[O]Q]Q@M", + "łódź fabryczna|łódź niciarniana": "{f~zHatyuBF}CHaE@k@@i@Bk@@g@@e@Be@Ba@Dq@Dk@B[B[r@eJNkDVkDFaAFoAB}@~@s]FeERaGH_CxDwvAB{@^yNFiDDiBDsC?SHkE", + "łódź niciarniana|łódź widzew": "ov}zHow`vBFoCFoCNaGDcAFoBDyAH{BTyFHoBBy@B{@P}ELmEF_CFuBHwCJyDJwDZkLRyHLoBXiKBuARkHHyBDsAFoAJyBJ_B`@uFVkDFo@pAmPFo@l@uH", + "warszawa podskarbińska|warszawa wschodnia": "am}}Hq|q_CLv@`@tBrBbKXrAVnAb@dB|AdG|@jDT~@jAtE|@tCv@rBp@`BRd@Zt@Vp@Xz@J^Rn@Pr@h@bCP|@XlBPlAr@`FzBdKlB~IpA`Gf@~BTfA`@nCd@tBZtAJb@HXN`@HTJTTh@Xj@VPTPJRNVLPLPNPLNPNTPLHPJNHRHFBXJTPVTNBTDTBTBpALTBTBP@P@P@VBV?X@", + "płyćwia|lipce reymontowskie": "w_{{HevayB~A|Cd@~@b@|@dBfDdBhDzElJl@lAbNdX`DlGl@fA`EdIzBlETd@`CvEtA~CXj@`@v@`@v@Tf@Td@R`@FNLVTd@Pb@Vl@Pb@N`@Tj@Pj@Nb@Ph@Pj@Nh@Nd@Ld@Nl@Jd@Ld@Jd@Jf@Jf@Jh@Jj@Jl@Jl@BTDVJn@Hr@Jr@Ht@Hr@Fv@D\\BVDp@Fv@Dt@Ft@Bt@Dt@Bt@Bx@@r@@x@@v@@r@?p@?x@?t@?t@Ax@Av@Cz@CxACxAOlI_@tQk@j[@vAe@xU]pQMnHEnBCjAG`DI~DG|CA^IvDOnIChAAfAAl@Al@?l@?l@?n@?n@?j@?H@p@@n@@d@?N@t@Br@Bt@Dr@Br@", + "lipce reymontowskie|rogów": "}vx{HegvxBDh@Bf@BXFx@Ft@Ft@Hr@Fp@Jv@Hp@Jr@Jr@Jr@BHHf@Lp@Lp@Jj@Lj@@DJb@Lh@Lb@H\\HZNf@Lf@Nd@Nf@JXDJNd@Pd@Pd@Pd@Rd@LZDFPb@Td@Td@Vd@Td@HLLTT`@Xb@V`@V^V^X`@V\\Z^X\\ZZRVTTTRRT\\XFFRP\\XZVZT\\TZR\\RZR^R\\P\\PNDNH^N\\L^L^L\\J`@H`@J\\FLBb@HF@VDHBRB|@X|GbAtARt@J~^pFhJrAbP`C|MnBtHhAt@JdVlDnG~@vARt[vEhJrAnFv@t@JdJrAjBXxAR?@pDf@RD^DNBl`@xFdJrA~B\\jIlAr@Jv@L`@F|JvAdJrAj^hFv@Ln@JF@l@Hp@Lp@L^JB?ZH^J\\JB?^L^NPFLF`@N\\P^P^P^RTNVNVNVPZV^VRNFFf@`@XVVVTTZZXX^`@PTPTRVTVRXX`@X^JPd@p@d@r@xBjDdA`BzK~Pl@n@pSv[t@jArEhHXd@vCpExA|BpArBrAtBjAhBfGpJh@x@T\\RZd@r@lAnBHLb@p@hAfBrBbDb@n@pDxFbBjCNTnBzC^l@", + "rogów|lipce reymontowskie": "mmh{HoalxB_@m@oB{COUcBkCqDyFc@o@sBcDiAgBc@q@IMmAoBe@s@S[U]i@y@gGqJkAiBsAuBqAsByA}BwCqEYe@sEiHu@kAqSw[m@o@{K_QeAaByBkDe@s@e@q@KQY_@Ya@SYUWSWQUQU_@a@YY[[UUWWYWg@a@GGSO_@W[WWQWOWOUO_@S_@Q_@Q]Qa@OMGQG_@O_@MC?]K_@K[IC?_@Kq@Mq@Mm@IGAo@Kw@Mk^iFeJsA}JwAa@Gw@Ms@KkImA_C]eJsAm`@yFOC_@ESEqDg@?AyASkBYeJsAu@KoFw@iJsAu[wEwASoG_AeVmDu@KuHiA}MoBcPaCiJsA__@qFu@KuAS}GcA}@YSCICWEGAc@IMC]Ga@Ka@I]K_@M_@M]M_@OOIOE]Q]Q_@S[S]S[S]U[U[W]YSQGG]YSUUSUUSW[[Y][_@W]Ya@W_@W_@Wa@Yc@Ua@MUIMUe@We@Ue@Ue@Qc@EGM[Se@Qe@Qe@Qe@Oe@EKKYOg@Oe@Mg@Og@I[I]Mc@Mi@Kc@AEMk@Kk@Mq@Mq@Ig@CIKs@Ks@Ks@Iq@Kw@Gq@Is@Gu@Gu@Gy@CYCg@Ei@", + "lipce reymontowskie|płyćwia": "}vx{HegvxBCs@Es@Cu@Cs@Au@?OAe@Ao@Aq@?I?k@?o@?o@?m@?m@@m@@m@@gABiANoIHwD@_@F}CH_EFaDBkADoBLoH\\qQd@yUAwAj@k[^uQNmIByAByAB{@@w@@y@?u@?u@?y@?q@As@Aw@Ay@As@Cy@Cu@Eu@Cu@Gu@Eu@Gw@Eq@CWE]Gw@Is@Iu@Ks@Is@Ko@EWCUKm@Km@Kk@Ki@Kg@Kg@Ke@Me@Ke@Om@Me@Oe@Oi@Qk@Qi@Oc@Qk@Uk@Oa@Qc@Wm@Qc@Ue@MWGOSa@Ue@Ug@a@w@a@w@Yk@uA_DaCwEUe@{BmEaEeIm@gAaDmGcNeXm@mA{EmJeBiDeBgDc@}@e@_A_B}C", + "warszawa wschodnia|warszawa podskarbińska": "wg{}Hwam_CYAW?WCQAQAQAUCUCqAMUCUCUEOCWUUQYKGCSIOIQKMIUQQOMOOQMQMQOWKSUQWQYk@Ui@KUIUOa@IYKc@[uAe@uBa@oCUgAg@_CqAaGmB_J{BeKs@aFQmAYmBQ}@i@cCQs@So@K_@Y{@Wq@[u@Se@q@aBw@sB}@uCkAuEU_A}@kD}AeGc@eBWoAYsAsBcKa@uBMw@", + "łódź andrzejów|bedoń": "iuxzH_lvvB`Nq_@bDaJv@{Bn@qBfAuDv@wC`A_Eb@qBb@mBNk@~EkTlI{^n@oCh@gCRcATgA`@gCTaBHe@LiAJcA@GH}@JgAHcAHkALmC", + "bedoń|justynów": "yzvzHqt{vBBo@FiB@eABsA@iA?qA?sA?uAAoFAmAAuEEkMEwOCeH?eAEgOAuDKe`@AsDAqDAuDAqDCoIGgVAoD?mA?uA?oA@qABkABoADoADcAFgAFoAHgAJqAJeALiAJcAPmANkAPkA", + "justynów|gałkówek": "owvzHkccwBlA_I\\wBPoAZqBA]xAoJ`@sC\\kCVkCTkCPyCLsCFuCD}C@cDAgDg@mjBGeRCmHCuI?}ACeKE}J?{AAeCKi_@AqACyACmACyAOeGa@yNm@sTCiA", + "gałkówek|żakowice": "cqvzHqbnwB?uBImDC{AAyAAuA?uA?m@@g@@mABuADoADqAFsAFuAHcAJqAVsC\\wC`@uC\\yB^wB|@mFzB{M|@sFCOT_BR_BLgAJiAJgAHgAHgAFkAFgADgADgABgABmC@mA?kACsCGwCK}CQuCUcDMsAKiAsDya@Ea@OcBkD_`@yAoPOuAKuAMsAMsAMuAKsAMsAMsAMuAMuAMwAyFqo@AME]CSEi@", + "żakowice|koluszki": "u}vzHkoxwBk@oGg@uFEk@Go@qCc[MsAMsAKgAMyAMuACUKaAM{Aq@sH}A_QeAsLO_BI}@Gc@Ec@Gc@Ge@Ic@Ga@Ic@Ic@Ia@Ka@Ic@K_@Ka@Ma@K_@M_@M_@K[KYOa@O_@O[O]O[KQS_@S_@OYQYSWQWSYQUSWSUSS]]]]OMQMWSSOSMSMYQYOYOc@Se@Sa@QIEWKc@c@_CeAu@[u@[{Am@u@YmFwBkBu@OGg@S_E_Ba@Oy@]WM[O[O]Q]Q@M", + "koluszki|wągry": "{ryzHe_~wB]Qg@YUMSKwBoAoAs@SMcB_As@c@i@YcEaCaB_AiEaCkEeCSMuAu@kGoDu@a@qF_D_B}@}A{@aCuAc@WwAy@kA_AiAq@c@USMWOg@WYQ[Qm@]e@WECWOs@a@s@a@iOsIsNeIg`@uTq@a@y@c@GEe@WeEaCqI{EqMqHs@a@mDoBoI{E}@i@SKsI}EcE_CkIyEeK{Fs@c@mHcEa@WiDmBu@a@s@c@c@Wa@Wc@YGCWSa@W_@Ya@Y_@[EC[Wc@_@OMQOYY[Y[[[[_@_@]_@]_@]a@]a@SI[a@QS", + "wągry|rogów": "kxb{HqddxBKO]e@]e@Ya@Wa@Y_@e@u@e@u@eQkXm@}@uJkOsFsI_@m@_D}EuGeKa@}@i@y@me@yt@{IeNk@{@k@}@a@o@c@o@oCgEa@o@e@s@g@u@]k@uBcD_MqRc@s@gFcIcCyDqHiLcNcT", + "rogów|przyłęk duży": "mmh{HoalxB_@m@oB{COUcBkCqDyFc@o@sBcDiAgBc@q@IMmAoBe@s@S[U]i@y@gGqJkAiBsAuBqAsByA}BwCqEYe@sEiHu@kAqSw[m@o@{K_QeAaByBkDe@s@e@q@KQY_@Ya@SYUWSWQUQU_@a@YY[[UUWWYWg@a@GGQ[]W]U", + "przyłęk duży|krosnowa": "qcl{HsaqxBYGWOWOUO_@S_@Q_@Q]Qa@OMGQG_@O_@MC?]K_@K[IC?_@Kq@Mq@Mm@IGAo@Kw@WoCa@yYiE]EiImAaIiA{AUw@Mu@KiMiBgJuA}RsC", + "krosnowa|lipce reymontowskie": "ccp{H{crxBoBYIAmAS??qDg@UE]EMCuWwDu@MoFw@iJsAGAm[uEgJsAyNwBiFu@u@KoHgAcNqBePaCyCc@oEo@__@oFs@MwAS}AUmDg@OC_AOSCICWEGAc@IMC]Ga@Ka@I]K_@M_@M]M_@OOIOE]Q]Q_@S[S]S[S]U[U[W]YSQGG]YSUUSUUSW[[Y][_@W]Ya@W_@W_@Wa@Yc@Ua@MUIMUe@We@Ue@Ue@Qc@EGM[Se@Qe@Qe@Qe@Oe@EKKYOg@Oe@Mg@Og@I[I]Mc@Mi@Kc@AEMk@Kk@Mq@Mq@Ig@CIKs@Ks@Ks@Iq@Kw@Gq@Is@Gu@Gu@Gy@CYCg@Ei@", + "płyćwia|maków": "w_{{HevayBsBaEIO}@gB}A}CUc@g@aAg@aAuAoCaEaI}@eBUc@iAyBWUMWi@cAc@{@c@w@OWKSS]S[Wc@W]U]W]W]Y]W[Y[Y[WYYYYY[W]YWSYW[U[S]UWQYO[Q]Q]Q_@Q_@Oa@Qa@Qa@OkKeEc]cNq@c@}D_ByImDoAg@m@Uo@Yo@Y]O_@Q_@QWOYO_@U[S]U[S[UYW[W[WYWYYY[YYY[Y[Y]W]Y]W_@W_@Wa@Yc@S[OYOWIOYg@ISIOUe@Uc@Se@M[EISe@Qg@Sg@Qg@GQK[Oc@Qi@Oi@GOIYOk@GSGWMi@Om@Mk@Mk@Mm@Ie@Kk@Ki@Ik@Ii@Ik@G[AMGi@Ii@Go@Io@Gq@Ea@AMEq@Go@Eq@Eo@Eq@Ag@Ce@Cc@Ac@Cq@Aq@Aq@As@Aq@?q@?q@?q@?q@@s@@q@@q@@q@Bq@@q@@W@YDo@Bq@Ds@Fq@Du@Fq@Ds@Fs@LuALsARwBBgArBqULoAZmDBU", + "maków|dąbrowice skierniewickie": "_~_|H}djyBp@wHv@uI~BsWx@eJZkDZmDZoDZgDFo@Da@JiAv@yIVqCrBiULsAfA{LLuAtB_VxAaPpCc[Fm@fAuLzAwPDg@zAsPt@oILuAtF_n@V_BJsADi@Fk@Fu@Du@Fw@Ds@Dq@Bu@Ds@Bs@@u@@A@k@", + "dąbrowice skierniewickie|skierniewice": "wf~{Hi}tyB?G@s@@u@E_@@U?u@@u@?O?c@As@?u@Au@As@Au@Ai@Cy@Cy@Cm@Ck@A]GiAEo@Em@Eo@Em@Go@Gq@Go@Iq@Gq@Im@Io@Io@Km@Ko@Km@Km@Km@Km@GWEUMk@CMIa@Oo@Om@YgAWiAsMyg@w@wCOk@Ok@Ok@Oe@Me@Oe@Oe@Oe@CIK[Oc@AAOa@Oc@Se@Se@Se@Ue@Se@Uc@Uc@ACS]KQIQOUGKU_@Wa@U[ACW_@W]Y]W]Y]SUEE[[Y[ECSU[Y[YGESQ[W[U[U]Uc@WUO[QOIOI[O]Q]M]O]M_@M_@M_@M_@Mq@Sq@Sqn@uQ_HqBsF_BeA[{Ac@SSwKaDOE_@M_@K_@M]M[M[M[MYOYMQKe@W[SYQ[SYU[UYUYUYWGGQQYWWWUWWW[_@EGSUOSW]W]W]U_@W_@U_@S]U_@CEO[Q]Q]Q]Q]O_@Q]M[O]M]M_@M_@M_@K[K[I]K[I]Om@Mk@Mm@Om@Mo@Km@AEKe@]aBSm@Oq@Ic@_@qBEQOw@a@sBQw@a@sBACsAyGIG", + "skierniewice|puszcza mariańska": "uqd|Heu}yBm@wCw@}DKg@Ke@Kg@GYK]GWGWI]e@gB]wAMe@Me@Ke@Ka@Kc@Kg@AGMq@a@kBc@yBQ_AOw@AGMm@Km@Mo@kA{Gm@iDMq@Mo@Mq@Mo@Ko@GUaBoIoAuGaA_FaA}EaGsZw@aE_@iBaC}LkHg_@Ou@Ou@Km@Ks@Mu@Kq@Is@Ks@Kw@Iy@Iy@Gm@Gw@Gy@Gq@Ew@Gy@Cs@Es@C_ACs@Cu@Cs@]aOEgAMsFUoJO_GIgDAo@A_@Ag@?G?c@?k@?c@?e@@c@@g@@a@Bc@Bi@Ba@B_@Dk@Da@D]D]Fe@Fc@Hi@D[H_@Ha@Ha@H]Le@Jc@J_@Pk@Ng@Ng@Ts@^kATuANe@Ne@Lc@Lc@Ja@H_@Lg@J_@Je@Ji@Ns@Ny@t@}DNy@Ny@DWLu@Lu@Hi@Ho@Jy@Fk@J{@Fm@Fo@Do@Fq@B_@@YDg@FcAd@eJXgF|@aQZyFv@gO`AeRD{@D{@Bg@@UBy@D_A@}@B}@@y@?{@@q@?E?_AAaA?{@A}@Aa@AYAo@Ak@Ck@Cs@Aa@Ck@E{@Ew@Gy@Gy@G{@I{@CWGs@Is@Im@Iw@Kw@M_AMw@O}@O}@Q{@QaAmB{JQaAw@yDIc@EQOs@a@yBUuBe@}B_A{EeAqFsAeHkBuJe@gC]mBUwAQqAS}AUiBQcBOaBOgBMgBKgBKoBGeBGuBEeBC_BC}A?qAIyVEsPEcQKi]Kkd@Sqa@?KG_PAsEEiRCsKAcEIy[AqEAmF?eB@oB@eBBkBFmCHoE~@sg@RkK~BioAPqIx@}b@ByA", + "puszcza mariańska|skierniewice": "spf|Har`{BCxAy@|b@QpI_ChoASjK_Arg@InEGlCCjBAdBAnB?dB@lF@pEHx[@bEBrKDhR@rEF~O?JRpa@Jjd@Jh]DbQDrPHxV?pAB|AB~ADdBFtBFdBJnBJfBLfBNfBN`BPbBThBR|APpATvA\\lBd@fCjBtJrAdHdApF~@zEd@|BTtB`@xBNr@DPHb@v@xDP`AlBzJP`APz@N|@N|@Lv@L~@Jv@Hv@Hl@Hr@Fr@BVHz@Fz@Fx@Fx@Dv@Dz@Bj@@`@Br@Bj@@j@@n@@X@`@@|@?z@@`A?~@?DAp@?z@Ax@C|@A|@E~@Cx@ATCf@Ez@Ez@aAdRw@fO[xF}@`QYfFe@dJGbAEf@AXC^Gp@En@Gn@Gl@Kz@Gj@Kx@In@Ih@Mt@Mt@EVOx@Ox@u@|DOx@Or@Kh@Kd@K^Mf@I^K`@Mb@Mb@Od@Od@UtA_@jAHlBIt^If_@CzE?|A?r@@t@?x@@v@?t@@t@@v@@v@Bt@@v@Bt@Bt@Bt@Bv@Bt@Bt@Dv@Dt@Dv@Dr@Fr@Dr@Fr@Hr@Fr@Hr@Hp@Hr@Hp@Jp@Jp@Jp@Jp@Lp@Jl@Ll@Jj@@@RfATfAJf@bC|LZ`BfBzI\\dBv@zDfChMhClMhEjTvBpKLl@Jd@P|@P|@Hd@Hd@Hd@Jh@Hh@Hh@Hl@Fj@Hl@Fd@RbBDZF`@Fb@Hh@Hh@DZBLJh@Hb@Jj@BLFXF^TfAtA|GFZNr@lAhGl@vC`@tBJb@n@dD", + "skierniewice|dąbrowice skierniewickie": "kqd|H}t}yBrAxG@B`@rBPv@`@rBNv@DP^pBHb@Np@Rl@\\`BJd@@DJl@Ln@Nl@Ll@Lj@Nl@H\\JZH\\JZJZL^L^L^L\\N\\LZP\\N^P\\P\\P\\P\\NZBDT^R\\T^V^T^V\\V\\V\\NRRTDFZ^VVTVVVXVPPFFXVXTXTZTXTZRXPZRd@VPJXLXNZLZLZL\\L^L^J^LNDvK`DRRzAb@dAZrF~A~GpBpn@tQp@Rp@R^L^L^L^L\\L\\N\\L\\PZNNHNHZPTNb@V\\TZTZTZVRPFDZXZXRTDBXZZZDDRTX\\V\\X\\V\\V^@BTZV`@T^FJNTHPJPR\\@BTb@Tb@Rd@Td@Rd@Rd@Rd@Nb@N`@@@Nb@JZBHNd@Nd@Nd@Ld@Nd@Nj@Nj@Nj@v@vCrMxg@VhAXfANl@Nn@H`@BLLj@DTFVJl@Jl@Jl@Jl@Jn@Jl@Hn@Hn@Hl@Fp@Hp@Fn@Fp@Fn@Dl@Dn@Dl@Dn@FhA@\\Bj@Bl@Bx@Bx@@h@@t@@r@@t@?t@@r@?b@?NAt@?t@ATD^At@Ar@?F", + "dąbrowice skierniewickie|maków": "wf~{Hi}tyBAj@A@At@Cr@Er@Ct@Ep@Er@Gv@Et@Gt@Gj@Eh@KrAW~AuF~m@MtAu@nI{ArPEf@{AvPgAtLGl@qCb[yA`PuB~UMtAgAzLMrAsBhUWpCw@xIKhAE`@Gn@[fD[nD[lD[jDy@dJ_CrWw@tIq@vH", + "maków|płyćwia": "_~_|H}djyBCT[lDMnAsBpUCfASvBMrAMtAGr@Er@Gp@Et@Gp@Er@Cp@En@AXAVAp@Cp@Ap@Ap@Ap@Ar@?p@?p@?p@?p@@p@@r@@p@@p@Bp@@b@Bb@Bd@@f@Dp@Dn@Dp@Fn@Dp@@LD`@Fp@Hn@Fn@Hh@Fh@@LFZHj@Hh@Hj@Jh@Jj@Hd@Ll@Lj@Lj@Nl@Lh@FVFRNj@HXFNNh@Ph@Nb@JZFPPf@Rf@Pf@Rd@DHLZRd@Tb@Td@HNHRXf@HNNVNXRZXb@V`@V^V^X\\V\\X\\XZXZXXXZXXXVZVZVXVZTZR\\TZR^TXNVN^P^P\\Nn@Xn@Xl@TnAf@xIlD|D~Ap@b@b]bNjKdE`@N`@P`@P^N^P\\P\\PZPXNVP\\TZRZTXVVR\\XZVXXXXVXXZXZVZX\\V\\V\\T\\V\\Vb@RZR\\JRNVb@v@b@z@h@bALVVThAxBTb@|@dB`E`ItAnCf@`Af@`ATb@|A|C|@fBHNrB`E", + "lipce reymontowskie|krosnowa": "}vx{HegvxBDh@Bf@BXFx@Ft@Ft@Hr@Fp@Jv@Hp@Jr@Jr@Jr@BHHf@Lp@Lp@Jj@Lj@@DJb@Lh@Lb@H\\HZNf@Lf@Nd@Nf@JXDJNd@Pd@Pd@Pd@Rd@LZDFPb@Td@Td@Vd@Td@HLLTT`@Xb@V`@V^V^X`@V\\Z^X\\ZZRVTTTRRT\\XFFRP\\XZVZT\\TZR\\RZR^R\\P\\PNDNH^N\\L^L^L\\J`@H`@J\\FLBb@HF@VDHBRB~@NNBlDf@|ATvARr@L~^nFnEn@xCb@dP`CbNpBnHfAt@JhFt@xNvBfJrAl[tEF@hJrAnFv@t@LtWvDLB\\DTDpDf@??lARH@nBX", + "krosnowa|przyłęk duży": "ccp{H{crxB|RrCfJtAhMhBt@Jv@LzAT`IhAhIlA\\DxYhEnC`@v@Vn@JF@l@Hp@Lp@L^JB?ZH^J\\JB?^L^NPFLF`@N\\P^P^P^RTNVNVNXF", + "przyłęk duży|rogów": "qcl{HsaqxB\\T\\VPZFFf@`@XVVVTTZZXX^`@PTPTRVTVRXX`@X^JPd@p@d@r@xBjDdA`BzK~Pl@n@pSv[t@jArEhHXd@vCpExA|BpArBrAtBjAhBfGpJh@x@T\\RZd@r@lAnBHLb@p@hAfBrBbDb@n@pDxFbBjCNTnBzC^l@", + "rogów|wągry": "mmh{HoalxBbNbTpHhLbCxDfFbIb@r@~LpRtBbD\\j@f@t@d@r@`@n@nCfEb@n@`@n@j@|@j@z@zIdNle@xt@h@x@`@|@tGdK~C|E^l@rFrItJjOl@|@dQjXd@t@d@t@X^V`@X`@\\d@\\d@JN", + "wągry|koluszki": "kxb{HqddxBPRZ`@RH\\`@\\`@\\^\\^^^ZZZZZXXXPNNLb@^ZVDB^Z`@X^X`@VVRFBb@X`@Vb@Vr@b@t@`@hDlB`@VlHbEr@b@dKzFjIxEbE~BrI|ERJ|@h@nIzElDnBr@`@pMpHpIzEdE`Cd@VFDx@b@p@`@f`@tTrNdIhOrIr@`@r@`@VNDBd@Vl@\\ZPXPf@VVNRLb@ThAp@jA~@vAx@b@V`CtA|Az@~A|@pF~Ct@`@jGnDtAt@RLjEdChE`C`B~@bE`Ch@Xr@b@bB~@RLnAr@vBnARJTLf@X\\PAL", + "koluszki|żakowice": "}ryzHw~}wB\\P\\PZNZNVLx@\\`@N~D~Af@RNFjBt@lFvBt@XzAl@t@Zt@Z~BdAb@b@VJHD`@Pd@Rb@RXNXNXPRLRLRNVRPLNL\\\\\\\\RRRTRVPTRXPVRVPXNXR^R^JPNZN\\NZN^N`@JXJZL^L^J^L`@J`@J^Hb@J`@H`@Hb@Hb@F`@Hb@Fd@Fb@Db@Fb@H|@N~AdArL|A~Pp@rHLzAJ`ABTLtALxAJfALrALrApCb[Fn@Dj@f@tFj@nG", + "żakowice|gałkówek": "u}vzHkoxwBDh@BRD\\@LxFpo@LvALtALtALrALrAJrALtALrALrAJtANtAxAnPjD~_@NbBD`@rDxa@JhALrATbDPtCJ|CFvCBrC?jAAlAClCCfAEfAEfAGfAGjAIfAIfAKfAKhAMfAS~AU~ABN}@rF{BzM}@lF_@vB]xBa@tC]vCWrCKpAIbAGtAGrAEpAEnACtAAlAAf@?l@?tA@tA@xABzAHlD?tB", + "gałkówek|justynów": "cqvzHqbnwBBhAl@rT`@xNNdGBxABlABxA@pAJh_@@dC?zAD|JBdK?|ABtIBlHFdRf@ljB@fDAbDE|CGtCMrCQxCUjCWjC]jCa@rCyAnJ@\\[pBQnA]vBmA~H", + "justynów|bedoń": "owvzHkccwBQjAOjAQlAKbAMhAKdAKpAIfAGnAGfAEbAEnACnACjAApA?nA?tA?lA@nDFfVBnI@pD@tD@pD@rDJd`@@tDDfO?dABdHDvODjM@tE@lA@nF?tA?rA?pAAhACrAAdAGhBCn@", + "bedoń|łódź andrzejów": "yzvzHqt{vBMlCIjAIbAKfAI|@AFKbAMhAId@U`Ba@fCUfASbAi@fCo@nCmIz^_FjTOj@c@lBc@pBaA~Dw@vCgAtDo@pBw@zBcD`JaNp_@", + "łódź widzew|łódź niciarniana": "me}zHgwfvBm@tHGn@qAlPGn@WjDa@tFK~AKxBGnAErAIxBSjHCtAYhKMnBSxH[jLKvDKxDIvCGtBG~BMlEQ|ECz@Cx@InBUxFIzBExAGnBEbAO`GGnCGnC", + "łódź niciarniana|łódź fabryczna": "ov}zHow`vBIjE?RErCEhBGhD_@xNCz@yDvvAI~BS`GGdE_Ar]C|@GnAG`AWjDOjDs@dJCZCZEj@Ep@C`@Cd@Ad@Af@Cj@Ah@Aj@I`EG|C", + "łowicz główny|łowicz przedmieście": "eg_}HmdyxBPYR[NURWRURUPQROTQVONIVKPGTIREVERARAXAT@R@RBRBfCb@pB\\PDRFRFXHLFTHTJTLRJZPRNTPNJRPh@b@b@d@b@h@`@j@^n@h@bARb@`@dAHTFTPj@V~@R`AnAhGlAjGTfAH`@Jb@L`@L`@`@jA\\`AL`@Lb@R|@Jb@H`@Hf@Jv@@HNjAFz@Fd@Jz@", + "łowicz przedmieście|stare grudze": "_o}|HwewxBnAhJBPxA|KhCnRhF~_@v@~FRfAHb@^fBb@fBTt@Xx@d@nAj@pATb@DHNXXh@FFT^Zd@^f@b@f@f@h@zCnCn@j@rBfBzDdDfGjFnB`BrD`DfAz@hAz@h@^l@b@`BbAHFx@d@xAt@x@`@nAl@`Bn@dCz@pErAfHtBlJpCnCx@rDfARF`Bd@jDdAtDfAtBn@rBn@~Al@lBv@`Bv@vAt@`B`ArA|@h@\\h@^nA`Ax@l@jEzD|CnCfJdIpUnSfIhHhOvMlHrG|S`RhA`A", + "stare grudze|domaniewice": "{tt|Hs~mxB`IdHdBzAhAfAxBfChBhCpAzBt@tAfA`C`AdC^dA\\hAd@zA`@~AHZ`ChKvCnMbApEbArEhCfLjCfLbArE`@hBPr@Pt@VhAVjAp@tCd@rBx@vD^zAdDzNbEvQbExQd@pBzC|M@Hr@zCThATlAP~@L~@Jx@J|@F|@H~@Bl@Dn@@j@Bp@@h@@l@?j@?l@?|@?~@C`C?n@CxC?r@?dA@fA@|@B`AF`AFfAHdAJdALbANbALt@Nv@ZxAVdAXhADTt@vCzJ`a@|E~RnB`IlB|Hx@dDvDjOpAnFfRhv@xEpRjDnN", + "domaniewice|domaniewice centrum": "ygo|Hih~wBhNhk@|BjJ~@vDbAdEnAbFrCjLbB~G`B|Gl@bCb@nBPt@Lt@H\\DZLx@Jv@Jx@@HFp@F~@F~@Dz@H~BFrCDpCHxBLzBL|AP~ARtARrAPx@Pv@Pv@Rp@\\jAN`@Nd@", + "domaniewice centrum|kamień łowicki": "{tm|HuxxwBf@pA~@|BnCzGfDjIn@~A`@bAtAdDx]x{@L\\|AvDt@jBt@hBl@pAl@pAh@jAl@jAr@rAr@nAtA~BzFtJ|BzD`CzDxEbI|]tl@rIvN~CjFxFrJ", + "kamień łowicki|głowno północne": "mdi|HmeqwBvBnDbC`Eh@~@l@fA`@v@`@z@d@dA`@bAn@bBb@rAZ`AXbAJ^J^H^J`@T`ARbAR~@N~@VvAHd@`@|B^~B`@zB^|B`A~FvD|TzA~IzA~IzBzMx@`FzA~I|AfJF^bBxJp@bEX|AX|AZ~A\\|A\\|A\\|ARt@Lf@\\tA", + "głowno północne|głowno": "wbg|HmyjwBh@nBVx@V|@Vx@Pj@FNd@xAj@|Ah@zAn@~Ad@jAd@fAh@nAj@lA|B|E`CdFLVLVZp@v@`BnBhE~EhKjCvFZp@bAnBn@jAdA~AbAlAdAbAfAz@r@d@x@b@bA`@dAZ`B^nBd@lBd@hSrEzBf@pKdC|FrAhBb@", + "głowno|bratoszewice": "qjc|HkbgwB~@R^H^JVHd@Rf@Vb@Xf@^d@b@HHTT\\d@rAlBnAtBr@zAt@hBj@|ADJ^tAf@zBd@hCL|@L~@T~BLxBNnC\\lGZlGx@tOxAfZl@rLRpDHrAJpAZ~C`@zCPhAHh@Hb@P`ARbALh@Jf@Lh@Lf@XdAXbA\\dA\\dA\\bA^~@`@`A`@|@b@z@b@x@d@x@b@t@Xb@X^f@x@h@t@DFrMvQ~FhI`GfIvCbEtF|HV\\Z`@n@`Af@t@b@t@d@v@PZPZHNHRNX`@|@`@~@^~@^`AZ`AL`@L`@ZdAXdAXfANn@Nn@`@~A`A|D`A~D`@bBNj@Np@Rx@", + "bratoszewice|stryków": "}h_|Hsr}vBRx@Rx@VdA~BtJtEjRjNrk@j@|B^zA\\|AVdARdAP|@BLPhAPfANjANlALjALlAJlAHnAHnAJxBNpFJtCJzBPxBJz@Hz@Lz@Nz@Nz@Px@Pv@Rv@Tx@Tt@Tp@Vp@Xr@Zp@Zh@Vh@x@rA`AnAv@z@FH`@^b@^dAv@hAl@^R`@PpUfJJD|CnAn@Zn@Zn@\\l@^j@`@l@d@tAjAx@x@d@f@VZLLb@j@d@l@jAbBjAbB`BbCr@`Ar@bAvB~CtE|GjBlCjBlCvGrJvB`D|CpE^l@\\n@Zj@Xn@Xp@Vp@Vr@Tp@Tv@Pt@Rv@Px@Nz@Nx@D^F\\D\\D\\Fl@Fl@Fp@JlANvBBj@PjC~Bx]tBv[", + "stryków|swędów": "ixy{HyyqvB~@dNLhB^nF`AnONjBLjBJlBLhBFbA@b@B`@FvABnABnA@pA?pA?hAAdCG~BGdCEfBEhBw@d[u@vZALoBnw@?JaAf`@a@~OCpACrAApA?nA@h@?d@BlADdABb@Bd@HbAD`@Db@B\\D\\Jz@F^F^L|@Nt@Pt@Rz@Tx@Rt@Tr@Vp@Xp@Xp@Xj@^t@^n@^j@`@f@X`@Z\\Z\\\\ZjAdATThA~@nB`Bn@n@n@t@b@l@", + "swędów|glinnik": "a}x{HqqgvB`@n@^r@^t@^v@Tf@Rh@Rj@Tl@JXHZJXHXRv@Rx@Nv@Pz@Lv@Lz@J|@J|@H|@B^B^F|@D~@@`@@^B~@@~@?|@A`AA~@CrAErACx@Ez@IvBE~AAVIvBCdAAfAA`A?bA@dABfABv@Dt@D|@H|@F|@Jz@J|@Lz@Lx@Nx@Pz@Rv@Rv@Rt@Tr@Vr@Vn@Xp@Xl@Xl@b@v@^l@`@l@f@p@h@l@tBzBpF~F|A`B|BfCjAfAt@l@x@f@x@b@`Ab@zAb@|@NfAL`BF~EPnAJr@JXFVFl@Nh@P^P\\NbAh@j@`@h@`@n@h@^^\\`@??h@p@f@p@f@v@f@x@Xl@DHRd@h@rAf@tAHZl@vBZpAVpAPdAPdAVlBTpBr@`GJt@dB`OnBvPBLvAtLzAfMl@hFf@hE", + "glinnik|glinnik wieś": "oau{H}r~uBh@lERfBTdBT~AJl@Hd@Jh@H`@T`APp@HXb@tAt@nB|A~Dn@`BDLb@tA\\jAHVNp@Pv@Nx@Jp@Lp@TfBj@vEThBThB\\tC", + "glinnik wieś|smardzew": "ujt{Hqf|uB\\pCRzANnARtAF\\FZLt@XnALj@Ld@Lf@Pj@ZdAbBrF`BnFX~@V`ADPH\\Nn@Nn@Lp@RjAPfAJj@Hj@TtA\\vBFZFZNz@Nn@Ll@Nj@Nh@Pl@Rj@Pf@Tj@\\x@\\t@LVNVZh@l@`Ap@|@f@l@h@j@`@^`@\\`@Zb@X\\RZPPHNH`@PlA`@n@Ln@J|@JP@P@b@@N?X@XATCP?f@E`@E^I^I`@I~E}A", + "smardzew|zgierz rudunki": "afr{HseyuB\\KZIXGXGLALCZETAVCh@Cb@?X?j@@h@DVBVDn@Jh@Jh@PVHVHj@VTLVLj@\\v@j@t@p@j@j@j@n@RVPTd@p@l@bAj@dAP`@R`@Tj@LXRj@Rh@h@vAf@tAf@tAn@hBXt@Tt@Tx@Tx@Nl@Pz@P`ATtAJn@Fl@Hv@Hx@Fx@Fx@D|@B|@Bt@@v@@`A@`A?NBpBD~FLrN@zB@d@@vABzBB|BBxADzADzAFzADnAFpA@b@Dh@FnAFv@Dt@Dv@D\\Dn@BZDr@NdBH`AHbAFdAJbAH`AJbAJ|@L`AF`@F^N|@F^H`@H^H`@Ld@Jd@J`@Ld@JZJ\\J\\J\\N`@N`@P`@P`@N^R`@LVBHR^LTNT", + "zgierz rudunki|zgierz": "g`p{HiesuBZh@^j@\\f@NRNP`@f@b@b@jCfCRPtI~HfGvFbCzBxApA`@Z`@\\`@\\`@Zd@b@LJXVn@l@|@v@r@n@XVx@v@|@z@FD~DrDJHzBpBxBlBtAjAjS`RxClClC`Cd@d@@N", + "zgierz|łódź radogoszcz wschód": "e{l{HcepuBv@r@z@j@JFdAp@RJXNXJTHVJZHVDbANZBj@B|@?b@ATA\\Cf@G^Ej@MVGZK^M\\MZMVOXO^S\\WZU^[^[`@a@X[\\a@\\c@\\g@Xe@\\k@Zm@Zq@h@iA~@yBnBsE`A{BBEp@_BBGbGgNrEqKpFeMVo@n@wATi@d@eAp@_Bn@yAh@kAvAeDb@cAl@wAN_@x@kBx@kBbA_Cb@eAlBoEjEaKb@_A|@uBd@eA`CuF", + "łódź radogoszcz wschód|łódź arturówek": "ugi{HaxtuBBGbA_C`B{Dl@sAdAaCP]JUj@kAVg@@AZg@^q@PYLSj@y@Za@Za@^e@\\_@d@e@\\_@ZYt@q@tE_E|EaErLcK~@w@jB_Br@m@bByA", + "łódź arturówek|łódź warszawska": "sig{Hi~vuBz@{@j@k@TYf@k@f@q@b@o@RY^k@\\m@Vc@Ve@Ve@Tc@\\u@Zw@p@_BTq@Vs@X}@ZgAZiAXkAXmA`@gBxBmKd@qBb@oBT}@Nk@DMRs@ZeAVs@Tq@Tm@`@aATk@h@gA^u@`@w@Zg@Xe@^m@Xa@\\e@\\c@d@k@f@m@b@g@h@i@fAkAhCoC", + "łódź warszawska|łódź marysin": "mqe{HqczuBXYlEwEb@e@b@i@X]V]b@m@^m@j@_Ah@_A`@u@PYv@wA\\o@x@eB`@_A\\y@Nc@\\_Ap@uBTw@^uALi@Lk@jA}EpJka@", + "łódź marysin|łódź stoki": "}ed{Hk{|uBlAiFtC_Mz@sDxBcJ^}AXaAV}@Pg@Ne@Z}@Pc@Na@N]L[\\u@Vm@Xi@\\o@Zm@~@{AfA}At@_A`@e@r@u@fAcAZYt@k@\\WdAw@|L{Id@[`@WLILGPKPKNINGPKJEVKRKHCb@QRG^MVIb@Kb@Kf@Kf@Id@Gt@Gr@Gp@Cl@?j@?x@@t@D|FR\\@V@t@B~@?\\An@Ap@Er@Gt@K`@I`@G^ItA_@v@Yj@Ul@Wj@Yd@Yb@Wj@_@`@Yh@c@f@c@j@g@h@g@h@m@l@s@d@k@n@_A`@m@PWR_@Va@b@w@P]`@y@Zq@Zs@\\{@Vs@Pg@`@iAV}@X_Ah@wB^yA`AaE`A{D", + "łódź stoki|łódź widzew": "up_{HazavBjA{EzAiGfBgHNm@V_Ax@iCVq@`@eA~@wBl@sA`@{@|@kBJSp@wAl@mAzGoNl@oAtAwCtAuCfCmFzHkPbAuBvCiGHOtBmEz@kB`@{@^_ANa@Nc@Nc@Ng@ViAJe@Jg@RqAFg@Fi@PaBRkCr@oB", + "żakowice południowe|słotwiny": "uhvzHeuxwBHo@D]B[Dg@BYD[D[r@gFRwAb@aDLy@Hq@Hq@Hq@Fg@Dk@JiABe@Dm@Be@Bc@?OBe@Bs@Bu@@u@@u@?u@?w@?u@Au@Aa@?KAm@Ao@Cc@Ac@EeAEaAEaAkCyj@SaEGgACq@E}@?_@Ai@A[Aa@A_@C]Eu@Ew@Cm@Eg@UcDE{@E}@_@kHQwDAOs@gOGsACe@Ac@Ae@Ae@Am@?s@?q@?q@@s@Bq@@q@Dq@Bo@Dk@Dm@?CDe@Fk@Ho@D_@D_@Hg@F_@Fa@F]H_@H_@H_@Jc@HYH[H[Pk@n@wBvAsEJ[J[L]L]Pa@JUFOd@aAf@gAlB}D`AwBN_@?O", + "słotwiny|mikołajów": "{wuzH_o`xBv@_BN]t@}A|CsGxGmN|B{Eb@}@xA}C`IqPdCgFv@cBBGzBwErAsC`@y@`@w@\\q@f@y@d@w@h@y@f@s@p@aA`a@uk@bReX", + "sędziszów|gniewięcin apo": "y}ssHsymyBl@fBPh@xC~IfHlTpC~IdA~CzAnE~CtHFTRj@zDlL^jA\\`AdDvJhDnI~AjC~@rA~@nAnAvA|AzA|AhAhAv@VNlAn@pBx@tA`@zAXlBZfBHjB@dBE`BMlPiBlPiBrRuB|H{@rCW~@CrACjBFnBNhBZhB^", + "gniewięcin apo|klimontów apo": "mfnsHi{iyBdBj@dBt@vCbBnCpBxArAtAzANRdChDbIfNlBnCzAfBnApAlAdAzQrNxR~NjAz@pAx@|BtAbAh@z@b@b@ThBx@`Cz@vBp@bDz@nJtB~D~@RRjGtA`KxB|VtFtFnA~AZtCn@", + "klimontów apo|kozłów": "mdhsHw`fyB~PxD~KdC|KbClE`AzJlBjCl@|EbAfBb@hK|BhZxGpJrBhBb@pE`AzCn@XH|EdApBd@bB\\lE`AhH~AtBd@", + "tunel|charsznica": "gixrHof_yBp@ET?dBA^AD?ZAZA\\EZE^CdAITAdBK^CXAd@Cd@?b@?f@@`@B\\D`@D`@H`@H`@J\\Jb@N`@P\\N\\R^R\\T`@X^X^\\LJLL\\^X\\Z^X^Xb@JNJRZd@Vh@\\p@HPLZXr@Rf@Ph@J\\DLPl@Pp@Nj@Nr@P|@Lx@Lz@Jx@J~@Hx@@TDh@Fz@D~@Bz@@`A@z@?`A?p@Ar@An@Cr@Cp@Cl@YdGMfFE`AEzAA~@AXAx@AnA?lA@nA@rABjADpADnAFnAHpAJlAHjANpALlATnBPnApA~JPtALnALlAJjAJpAHlAFrAFjABpABlA@X@|@?jA?xAA`BC~@EzACbAGhAEhAo@jKGdAEz@Ct@EdACx@A|@A|@?~@@`AB`AB~@D~@F~@Fx@Hx@J|@Jv@Lz@Lx@Nv@Rz@Rv@Rt@Tt@Tp@Vp@Xp@Xr@b@x@Vd@Vb@\\f@`@h@^f@^`@^`@`@`@^Zd@\\d@\\^PZRf@Td@Rh@Pd@Lf@Jh@Jf@Ff@Df@Bf@@h@?f@Aj@Eh@Gd@If@Kf@Mf@Of@Sd@Sf@Wb@Wf@]`@Y`@]b@a@b@c@\\a@^e@l@w@xSgZhA_BPET[X_@TY`@g@^a@p@m@RQd@_@`@[b@Wb@Uf@Ud@Sd@Of@Od@Kf@Kf@Gf@Eb@Ch@Ah@?h@@d@Dh@Fd@Ff@Jd@Lf@Nf@Pf@Rb@Td@V`@X^Vf@b@b@`@`@^b@f@Z`@^d@\\h@Zh@Zh@^r@JTJVVj@Rl@Xv@Tp@Rv@Rr@Nr@R~@N|@NbALt@Fn@H|@JfADr@Dr@?NBx@Bz@@~@?z@?|@C|@AbAKfFEvAIlDWvLUvJKhEIpEA~@Cz@?dAAjA@rA?x@BdALzIBhB@RHnE?b@DfAB~@D~@FbAFbA", + "charsznica|gajówka apo": "q~qrHwnsxBJbAJfANjATfBjBlNpA|JJv@Lx@Lz@N~@PbARdAPz@T`ATz@V|@Tt@X|@Zx@Xt@Zv@f@jA~ArDZt@Xp@Vt@Tn@Tt@Rp@Rx@Np@P~@Lt@N|@J~@Hz@Hx@F|@F|@@X@f@Bz@@`A@b@?vAArAClAAr@c@zX]zTClAEpAEvAEtAItAIrAKpAKzAMhAE`@Gn@{@pHQdBQ|AQpBKtAM~AIlACXIfBIvA[vGaClh@Cp@KjBIdBK|AItAO`BM|A{@lJK~@a@jEmAtMMpAsCzZE\\OzAQ`BQzASbBSvAW`BU~AWxA_AzFoDhTkCbP{AhJADk@hD", + "gajówka apo|wolbrom": "crrrHumexB_CrNU|AQbAOfAQlAQrASvAOpAaGrh@OrAABOpAQrASpAQjASrASlAUpAI^kE~UIhAOx@Kv@Kx@K|@Ir@Ix@Ex@G`ACp@Cx@Cx@?x@?v@?h@?d@@j@Bz@D|@Dx@Dz@Hx@H|@Jx@Hl@N~@Nz@Nr@Px@V`AV|@Xx@Vr@Vp@Vj@Xl@\\n@`@p@Vd@f@fAtAvBb@r@Zh@Zl@Xj@Zp@Vn@Vp@Rp@Tr@Rt@Rv@Nr@Px@Lx@Lz@Jv@J|@Hz@F|@Fx@B~@Dx@@~@BdA?V?h@JpJ@lABjABdAFjADhADp@Dv@Lb@HfAJdAFj@Ff@J~@Jv@L~@RnAPfAThATjAXfAVfAXbAZhA`J~[X~@ZdAX|@^bA\\~@^|@`@~@Zr@b@z@b@x@d@z@`Vxb@bKvQTb@Zh@Xd@\\f@^j@^d@b@f@`@`@d@d@\\Xd@^^V`@Vb@Th@Vf@Rd@Nl@P`@Hf@Hh@Hd@Bd@Bf@@d@?l@Cf@Cf@Id@Gh@K`@Id@M|HoBv@Sh@MTDREd@In@Ih@Ej@Eb@A`@Ap@?f@@J@l@Bh@DZDPBn@Jn@Lh@Lf@NVJNDd@RVJJFh@Xb@VTNVPTR`@\\^^`@`@^`@\\d@^f@\\f@Zh@Xh@JTNXXn@Xp@Vp@Tp@Rp@Rt@Pp@Pv@FTH`@Lx@Nz@J|@Jx@Hx@Dp@Fr@DjABfA@`A?~@C~@At@E~@GbAIjAKnAMjBa@~EKjAK~@Kz@Kv@Ot@Kn@Ot@Qr@On@cAzDOj@YbAYdA_A|CgCvIqKl^IV{AjFU|@Qp@St@Ot@UdAS|@Mv@Mt@CHKt@Kp@OlA", + "wolbrom|zarzecze apo": "ivnrHc}rwBOjAGj@MzAIdAIdAGbAEhABf@CdAC~@CbAA~@Ap@?\\?p@@vA@|ABfAB`AFnA?PFjABRDv@F~@Fl@Dj@LlAPzAJz@L~@XdBTrANx@R~@`Qv|@pFpYf@fCdAnFVhA@F^`Bd@~Af@bBVr@\\z@Zv@`@`An@zAvB|E\\x@Zx@Xt@Xx@Vv@Tz@T|@Rv@R~@Pz@N~@`@hCpAdIXdBfBfKzPdgAtA|IhDjT`BhKtAvIPdARjAP`ATjAVfAXfAVdAZbAZbAZ~@^bA\\|@Vl@Tf@BFf@dAj@fAb@v@d@x@h@x@b@l@h@r@b@h@`@f@f@h@d@d@d@b@h@f@j@d@p@f@p@d@lDfCVN^Xb@Xb@X`@V`@TTVj@X", + "zarzecze apo|jaroszowiec olkuski": "mljrHydewBb@RhDvAVJlMnFNHhVbKfN|FfN|FDB`DrAlFzB`@Pd@T\\Rj@\\`@Xd@Z^Z\\ZHHb@b@d@f@^d@\\b@h@t@Zf@Zf@\\l@R`@HP`@x@Zv@Vp@JVFTXx@Vz@Tz@Rx@R|@P|@PdALz@Lz@LfAJbAF`AHbAD`ABr@@NBdABbA?fA?n@?x@Ax@Cr@Ad@C|@E|@GbAKlAeAbNEn@q@|IKrACRIv@MnAMdAOhAQlAUnAQbAUnAUlAcNxu@WrAQjAEPOdAQlACl@Gj@m@tEQpAi@hEe@jDM`AaLh|@S`BQrAKbAEj@CNG|@GjAEx@C~@CdAAdA?bA?b@?\\BjABz@B`AFbAF|@FbAJ~@J|@Fh@Hd@Jt@Lt@Lr@n@pDH`A", + "jaroszowiec olkuski|olkusz": "ubhrHacyvBn@rCDTt@dEP|@jAvG^rBPt@Pr@Rx@Tv@Vv@Tp@Tl@pDpJdBpEvCzHVp@Vl@Pb@Xn@jAfCTd@tBtEd@`A`AtBZp@`@r@`@t@RXRX^f@`@f@`@`@\\\\^\\\\Xb@\\j@\\f@ZHD`f@|WLF^Rj@Zp@\\j@Vr@Xn@Vf_@|N`A^j@Rr@Rl@Pr@Np@Lr@Jz@LfLpApw@jJr@Hr@Hp@Fv@Dl@Bx@@t@?p@Ad@Cf@Ef@E`@Ef@Gj@Kb@If@Kr@QHFh@Or@Wl@U`Aa@r@[dBs@~TmJr@Yx@Yp@Uz@U|@U`M}Cv@Qn@On@Mr@Ij@In@E??jAGp@An@?h@?l@@j@Dn@Dn@Fj@Hj@Jn@Ll@Ll@Pn@Rr@Vn@Vn@Xx@b@|@f@~@n@t@j@v@l@nPhM|@r@~@p@n@h@p@f@`ObL|C`C~C`C~CbC\\X^X^X^X\\Z^Zn@j@n@j@pAlAhNbMZVXXXXVXXZVZV\\X\\T\\V\\T^T\\P\\PZP\\P\\Vh@P\\N^@DLZP`@Rh@JZNb@L^Nf@Lb@Ld@Ld@Jd@J`@H`@Np@Lp@Nr@nArGDNbAfFBNFZLn@Ln@DTDXHd@Fd@Hd@D^D`@F`@Db@Bb@Db@BV@VB^B^@XB`@@b@@b@@V?Z@Z?Z@^?\\?\\?b@?X?\\?ZAd@?h@?b@ARAt@Av@Ar@Cp@An@Cn@ANCf@?JCr@C`@C^Er@Cj@C`@Eb@El@El@IdAIdAQpBE^I~@I~@Ix@Iv@e@nEIx@Iv@Ix@Iz@Iv@Ix@Iz@Gz@Iv@KtAMvAmA~Oo@zHSnCSzB]fEYnD_@zEObBe@|F", + "olkusz|bukowno": "ypzqH_ekvBI~@AJo@bIa@rGi@~Gg@fG_Gdt@Gp@Ep@Ep@Gn@Cn@En@Cn@Al@Cp@An@Ap@?n@?n@?n@?n@@p@@n@Bn@@n@Bl@Dp@Bl@Dn@Fn@Dn@Fl@LjAn@lGp@lGn@lGnApLvn@leGhAzKl@tFJ`AL`APfANbAP|@RdAT~@T~@T|@Vz@Xv@Z~@Xt@\\x@jB`EzAjD@TVl@Zx@Tn@Rp@Tv@V|@T|@HXJd@R~@PbA^rBjApGPfABLPfAPlANjAJbALdAHdAHjAFfAFfADfADhABlA@jA?rA?rIAfC?dA?LClPAvBGzQCnEKdTA`BA`BE|AEpAG~@OtC?D", + "bukowno|sławków": "yfxqHamvuBOlCYnFKdBM~AIx@K`AObAQbAQ`AoA|GaBxIeApGwUhoAc]piBOr@O|@Mt@Kr@Mx@Ir@Iv@Iv@Et@Ev@En@Cj@Ax@C~@?jAIbBAxHGhm@?nDAjA?jAAjACjACbAGlAGdAIlAKfAKbAMfAMdAQbAQbASbAUbAS~@Y`AY`AWz@_Ln\\wD`Lw@`CeDrJWr@Wp@[r@Wj@]n@[j@[h@]f@]d@_@d@c@d@_@^c@`@a@Z_@Xg@Zc@Vc@Ta@Pa@Pm@Pe@Li@Jc@Fe@Fe@Da@@O@UJm@?i@Cm@Ce@EqIs@e@Eg@Ce@C_@?k@?i@Be@D_@Dg@Hc@Hc@Jg@Pc@P_@Pc@Tg@X]Tc@Z_@Z_@Za@\\m@l@kBfBYZ]^]`@_@b@]f@[b@qE`HM?", + "sławków|dąbrowa górnicza wschodnia": "}d~qHudguBu@hAsArBI^INc@n@i@z@_@l@yBtDm@`Ai@x@m@~@]h@_@j@a@r@Yf@Wh@Sb@Wj@Wp@[x@c@hAm@`BYt@e@nASh@[x@Up@[~@Ur@St@Qt@Oh@Mr@Ml@Kp@Kn@Kn@Kb@EJIz@Gl@Er@Gx@E`AC|@A~@Ax@?~@?|@@z@Bt@DdADz@D|@Fx@F~@\\pFDv@D|@B~@Bz@?z@@~@?|@Az@Cx@C~@E~@EbA_@jI_Br^w@|Qa@~IkAdXe@nKoArY]bIEjAEfACtAC~@_@n[g@xc@CvAGbFE~CG|CCx@M|ECnACpAEhEG~FCpAArA]`Y[pXA|@Ax@At@?t@?p@AnA?~@AhE", + "dąbrowa górnicza wschodnia|dąbrowa górnicza strzemieszyce": "w}_rHqhxtBAdB?~@Ah@?FAhAAV?R?V?T@`@?h@?V?VAb@C~BA`AC`AAh@Cf@Cr@E~@E~@IfAIdAIbAKbAIx@Kx@Kv@Kv@Kj@Ij@QdAUlAUjAg@lCc@vBi@vCa@tBcAhF", + "dąbrowa górnicza strzemieszyce|sosnowiec kazimierz": "gk`rH{uutBKf@eBbJ{EtVG^uAdH_BjIcChMmB|JcAhF[`BUlAUfASfAw@`Eg@hCWvA_AxEWrAQ|@a@pB_@pBi@pCI^ETGVQl@On@Uv@Qr@W~@Md@a@xAI\\IZGZKb@SbAWdBUnBKlAM~AGlBC~@AX?xA@zAD`BDvAD|@HnALrANvAV~ALp@TdALj@FVXbA\\fAp@jB`@`Af@dAt@lA|@pAx@`AfAfAdBpAl@^l@Zj@Vl@RjA\\fATx@PnAXhB`@~E`A`IfBlFhAhMhCtD~@bAZpAf@B@rAn@hAl@x@h@t@h@hBzAr@p@jAnAfAtAxAxBNRzC`F~L`SXf@fBrCnArBPVvBnDJLfBtC^n@z@rA\\j@^h@RZZ`@f@F", + "sosnowiec kazimierz|sosnowiec maczki": "af}qHilktBTRTNTNh@Xb@Rf@R`@Nf@Nd@L@?d@Jj@H\\DTBZ@b@@h@@d@@b@Ab@Ab@C`@Ed@Kb@K`@M`@Qt@]v@a@\\S^WTQZUXWZWVWXYTWT[z@iAl@y@FGT[X_@nAcBl@_Ah@u@~GeKle@es@jA_Bv@aAZa@dBwB|TqXrAcBbAuA|@kAv@iAd@y@b@_A^aA\\gAZeATkARmAJw@DWLuAHsADmABqABaEJ_NBgBBgBFcBLcBP_BT_BZaB\\sA^kABKTm@L[d@eA", + "żakowice|chrusty nowe": "u}vzHkoxwBk@oGg@uFEk@Go@qCc[MsAMsAKgAMyAMuACUKaABa@Eg@Eg@Ca@QsDC_@Ca@C[Wm@Ea@Ee@Ci@Q_DFGCg@IGBg@A[Cg@AMA_@A_@?_@?_@?_@?_@@a@@a@@Y@_@B]B_@B]D]D]Da@F[D[F]H[F[H[HYH[JYJYJWJYLWLULULULSNSLSNQNQNONORQRQHIPKPMPIRKPIPGRGPGREREPCRCPCTAP?R?R@R@J@RBRBRDRFRCREd@Pt@Xt@X|@^|@\\z@\\z@^l@Xl@Vl@Vh@Vl@Vj@TZNn@VjCdAhDtArAZr@Xf@Rn@Vn@Xh@Rf@Td@P|B|@`JpDv_@jOp@VdLrE~@^zCjApPzG`c@|Prn@rVFBrAh@dBr@", + "chrusty nowe|rokiciny": "msozHoaywBji@fTzDzAlDvAdM`FzH|CzClAnAd@jAf@dG~BlEfBtAj@pAf@??vPzGf_@`O`C~@", + "rokiciny|łaznów": "_rjzH}pvwBPHpGfCbFlBFBhJrDlXnKnHrChk@tTfE`BxEhBjGdChBp@~EpBn@Zj@Zt@`@|@j@v@f@v@j@v@j@x@n@v@p@r@p@b@`@n@p@`@^BPbp@`s@|TjVxA|AxFfG", + "łaznów|wolbórka": "w`czHaeqwBzf@bi@rAvApAtA`q@~s@dZv[h@h@n@p@n@n@n@n@n@j@r@l@t@l@x@l@v@j@z@l@n@b@|@h@v@f@x@b@h@Vn@Xf@Vn@TxFxBdf@fR|@\\vHtCvAf@vFxBbE~AfDnAlDtA", + "wolbórka|baby": "ys{yHsckwBZJ|CjAhE`BPA|KfEtAj@p@Vt@V`@Nd@P\\Jb@Lh@Nn@Nj@Jr@Jl@Ft@Fl@Dp@@n@@r@Al@Cr@E|@G`@Gd@If@Kp@Mv@Up@Sj@Sr@Wp@YjJ}D`k@{UjH{CnYyLf@Sl@Sp@Uj@Sr@Qp@Ol@Mr@Mf@EXF`@El@Ct@Cp@Ap@@l@@v@DZB^D^Dn@Jr@Ln@Ln@Pp@Rp@Tl@Tp@VbE|A`E~Axu@|Y|D|AbE~AXLvHvCrp@lW", + "baby|moszczenica": "y`qyHm`jwBZLbC`A`@NpEfBhDpAt@XnC`AnAd@z@Zx@ZfBp@vLvEj@Rl@VxqAlg@xk@|TjBr@jAd@jG`CrKfElAf@bI|CfCbAn@T", + "moszczenica|jarosty": "_bjyHssfwBl@TfA\\x@Tv@T~@T|@N|@Nh@APBl@Hj@Fh@D|CXfa@fDfMdAtBR~d@zD|v@rGzv@tGzNlAN@`MbA", + "jarosty|piotrków trybunalski": "oabyHmiewB`DXlSdBdFb@bBLdBNnd@dEzCXtIv@rLfAzCXjDZjBP|Gn@`E^|AND?`Jx@tHr@pRfBxBRrGl@|ANzMlAf]~CN@tIv@pOvA", + "witonia|gawrony": "q{i}Hc}stBhAzAjAzA`P~S|@lAfChDhDpE~G~I|@nA|@lA~PvXjCfE|ItNtF~IdGxJjFlI~FpJdi@h{@@DnFtIzDhGj@x@j@v@xAlBbLvMnK`MRTtl@dr@fM`O", + "gawrony|łęczyca": "oya}HkpitB~QfTB@xKlMbO`QxShVbAjAbAjAtAxAj@j@`@^JHx@t@z@r@vBfBnFnE`FbEnFnEdBxAfBxAnErDlErDDB~AtAr@j@r@j@bCpBhA`Ad@`@b@`@l@j@j@j@tAzAZ\\|@`A|@`AnUfWbK`LfBnBhBlBpE~ErEbFdBnBlBpB|BfCnApAf@d@\\ZLJ|@p@`@Xb@XfAl@~At@rBn@`@J^J~@P^F^D`@D\\Df@Bh@Bf@@h@?r@?t@AjBAtEGfLM~@A|JMj`@a@`EE|CEhEEnGGhCCjCG^AfAGpBWvAWz@Sv@UXG~@_@`Aa@hAo@`Am@dAu@`A{@dAcAx@_A|DaFrBiCjFyG~AqB~GuI", + "łęczyca|sierpów": "gxt|HqwctBhDiEdIcKhQ{TjMaPrE{FfEmF~QsUp@u@vAmBzAiBrBsB~@w@~@s@tL}HzE_DvKgH`U_OnCgB~CuB|OgKfG}D`Aq@", + "sierpów|ozorków": "g}n|HeiitBROp@g@l@g@n@o@VWTULMHKTYj@q@h@u@h@w@bA}A~@_BfBsCr@mAt@mAvFiJlLoRbDkFnCsEjHqL|JmP`HcL`HcL~ByDdCaEbAaBj@}@V]xBcD|B{ClB{BpBsBvAqAxAoAvDwCnTuP`q@ah@jHuFbJeHdBmAxAw@~Ao@|Ag@tA[lCm@nCm@vBa@bB[lCg@z[eG|AWBA", + "ozorków|ozorków nowe miasto": "}ze|H{zqtBhHuAxHwAjB[xB_@dMyBfI}A`KkB`LsBpAWhEy@jB]", + "ozorków nowe miasto|chociszew": "ybc|HmsrtBhAUv@M`Ce@dGgA|@Q~@Q|@Ox@O\\E\\GZC\\Cf@Ef@Cl@Cl@?T?R?h@@jBJ`AH`AJ@@`CThGn@rO~AxYxCrANv^vDzJbArHv@vANxLlAjFh@|CXvBL~AJ~CPn@@n@An@ATAb@Cd@En@Gx@Kv@OvAYf@K", + "chociszew|grotniki": "un|{HgbrtBzBg@zD{@hAUlK_ClCk@p@O~SwEhAUta@aJjCm@lDw@vA]j@Sh@SbAc@`Ae@TMJE^W~@m@r@k@r@m@p@o@p@q@p@w@p@y@n@}@n@_Aj@_Aj@eA`AoB^y@\\{@h@wAh@yAb@yAPm@Nm@^{A^aBToAToAVaBTcBNoALqANeBNiB@E\\kEj@gHj@iHxAqQ|@_L|@_Lj@iHXuC\\qC?AV_BZgB\\iB`@eBb@cBl@qBn@mB~AsEdB}Er@mBXw@J[JYdAkCVk@Vm@n@mA`@u@P[NUb@q@b@q@b@k@`@i@b@i@d@g@X[Z[Z[ZYRQv@m@h@_@j@_@vAw@n@[VMVKj@Sl@Sh@Oh@M~A[l@In@IlBWlAO`Dc@VE", + "grotniki|jedlicze koło zgierza": "{mu{HssztBnGy@jC_@zDg@xASpEk@jHaA`AQbAUdAYp@UXMd@Sd@UtBeA|BgAzBiApE{BzGgDzQaJzAw@vBeAl@]l@_@l@_@j@c@h@c@h@e@j@i@j@k@n@s@r@_A`@i@^k@\\i@b@q@Xi@b@w@Zo@\\u@b@_A", + "jedlicze koło zgierza|zgierz kontrewers": "sqq{Hsy|tBBK^_Ad@mAL_@Pe@J[Z_Af@yArAaEh@cBf@cBPq@Nm@Nq@Lo@Li@Ji@|@mFjAoHN_ALy@L{@L_AJaAJ_AJcAFy@HaAHmAL_CNkCDy@Ba@Be@DaAB}@B_A@eA@{@?gAA{JA}E", + "zgierz północ|zgierz jaracza": "auq{Hk{huBp@oJz@mLTwC\\}E@GPwCFaAD_AB{@BeABaAB_A?k@@k@?q@?_AAiAAgACcACcAEeA]cJCq@c@sLK_DCw@Cw@CcC?qB?y@@y@@s@Bw@@s@HwC^_Mz@aYHeCFaADcAHeAH_AH_AJcALcALiANeAJq@Ny@P}@Nw@Pu@Nq@R}@Ru@Tu@Tu@Tq@Vw@To@HSNa@Zu@lHcQ", + "zgierz jaracza|zgierz": "axp{HkepuBfCaG|CoHPa@n@{AZo@Xo@^w@PYNYN[R[`@m@b@q@d@o@d@m@d@k@f@i@d@e@XWVWpAeADEvAgApDoCp@g@p@e@r@c@XOXMd@Qf@Qf@Md@Kp@KVCVCj@EV?TAf@@d@Bb@B`@D^F`@Hd@Ld@L`@NRHNF`@T`@V\\X\\ZbA|@\\ZXXb@^f@d@`@^x@v@RP~@z@t@p@\\Z~@x@~@x@xAnAv@p@r@n@jD~CnBfBnEbEdDxCbDxCvAlAb@b@j@X", + "zgierz|łódź radogoszcz zachód": "g{l{HsepuBxApAf@d@RRr@p@^\\RRDF`@b@VXXX^^ZZdCzBrBnB~@z@`Az@RNVRRNVRZRXPZPXNXN^NVLVJ\\LTFXH`@J\\H\\H`@FTD\\D^B^D@?`@@f@@j@?r@Aj@CbAIbBQ`D]nCYfAKFAz@Ix@Kp@Gz@Kx@InAMv@IdAMv@IdAKt@I\\C^EVFl@C^CRAt@C^Ap@Al@?n@?f@?v@@b@BV@z@BnAHF@rF\\r@Dt@FZD^Bd@H`@F^Fb@Hn@Nd@Ll@Pj@Pd@NXLVJTJNFNFRJV@NFTL", + "łódź radogoszcz zachód|łódź żabieniec": "anh{HocouBJFLHLFPJPJh@ZhHlE~AbAjAp@pAv@rAx@tAx@jBbApE`CdCrA`DbBfAl@bQdJBBrGhDxDrB|Ax@bBz@|BnA^RhB`Ap@\\hAl@fDfBxAt@h@Tv@\\t@Tp@Rl@Pl@Lp@Ll@HD?h@Fr@FdBF\\?h@?r@Ab@Ap@Ep@Gp@Kp@Kn@Mx@Sl@OzQiG", + "łódź żabieniec|łódź kaliska": "anc{HoemuBrBq@fA_@fFeBdCy@dHaCbDgAtBs@XIbEwAt@Wb@QZOXMTMPINIRMTMx@i@n@_@jAu@f@[hC_BxCkBHEbDsBbDsBnMcIpFiD`F}CdAq@`@UZSXSFCt@e@lBmAx@g@tBqA~AaA\\UDE^U\\QXQRMZQ\\St@c@NGVOXQVONKXOVQVQJEdC_BLITMFEXQVONKXONKJGnBgAXORMhCyAXONKVOTOfC}AfC}ATOvCiBRMFCXSb@WdAq@RMNIRMTMNGNIPGVKVITGVG^IZI\\KXIVKTKZOTMTMvA}@jDwBnD{B|CmBbC}AFERMTOPMTQV?", + "łódź kaliska|łódź pabianicka": "}r|zHqnquBn@m@bA_Az@u@bAaAFGnCmCXYFERQXYBCZYFElAeAVULKVUJIRQLKJINOHGTQRONMRMTOHEPKLIVONINI`@SbAe@VMhB}@p@[l@Y|BiALGTKDATKTKXKVIZITGXGTEr@M|NeCfB[jCc@`F{@`@I^Gb@KjBa@dE_ANCjCk@zA_@HAt@Q@?`@IbAUhAS`@I^GHCh@GPCRCNC\\CTCl@GHA\\CNAPAPAXARARA`@AnCKXOTATAZC\\E^Eb@E`@GdJuAf@I`@GXG^GVGf@MPERGXKZKb@Q\\M^QVKp@[bAe@TKTKTKb@QXMb@Q`@O^Ov@W|Bs@^M^M^OZMTIPI\\OnEqBn@Yh@W\\QNIJGd@YPKZSVQj@e@l@i@t@w@`@c@b@g@t@aAl@u@f@q@REr@}@bAqAPUvCwD", + "łódź pabianicka|łódź chojny": "ywuzH{{tuB~@kAl@w@h@iAZc@t@aANS\\g@^m@Xg@^s@Xk@\\w@Vo@Ts@Rk@Lc@Le@H[Ru@Lo@R}@Nu@Lw@lA}GbB{J|@eFXeBPcANgAFc@Ju@Dg@JeADm@Fu@Dy@Bk@DkA@{@?e@?U@w@?CAq@A}@Ai@Cu@Ce@E{@Ey@Gm@Gq@Gs@Gg@Mw@Ik@[eBSeAQq@Ka@[eAC_@m@cB[y@g@iA}@mBuCiGcD}G}B}Ee@eAc@aASc@Ws@KYY{@Oe@K]ESGQI_@S_AYyAMq@Ko@Ky@Iw@KgAIcAAYEe@Cg@Ae@Cs@AeAAuAAy@@iA?m@By@E]FeDJwDHsB?IX}FDy@h@eKz@yPTkE`@oIFeAFgARkCT{CRyCJsAFqARsDJoB@UBk@JsB", + "łódź chojny|łódź dąbrowa": "squzHux~uBVqERoEHsBBw@DuA@w@?c@?gAAoACgACu@E{@Ck@Ee@Es@Ee@Iy@Io@Io@O{@SmAMk@Oq@Qs@Mg@Qo@Ma@_@cAQe@c@cAO[Q_@[m@[g@[g@KQa@g@]c@Y]_@a@[Yg@e@e@]a@Y_@Sg@Y_@Qk@SIEWIUG]Ks@OeB[m@MqB[qASo@IMA}Da@gAOcDi@sDm@}AW", + "łódź dąbrowa pbs|łódź zarzew": "epwzHqravBeCc@iCc@i@KwAUqDs@qCo@QEiBa@_AS_BUgAO_@Es@G_COyBMwAKcEWaO{@oAImHe@sAIaAGo@CwBOUM_EWeDS}@G", + "łódź zarzew|łódź widzew": "ayzzHeebvBe^wBw@Eu@Go@Gm@Ig@I[G[Gm@Oe@OYIEHc@Qc@Q@Im@Yk@Y]S]S[Se@[e@]]Y][OMc@a@a@c@[]UYWYc@k@c@m@a@o@c@q@]k@[m@[m@a@g@]w@BMa@k@@OYc@Wo@]eA[eASo@OeAYgAWkAUcAScAOu@]iBWaBMy@My@Kw@Iy@I{@G{@E{@E{@Cy@C{@?}@GA?y@Mu@HyBDsAFoAJyBJ_B`@uFVkDFo@pAmPFo@l@uH", + "sosnowiec kazimierz|sosnowiec dańdówka": "se}qHwjktBTVh@f@|@t@`@Z\\T\\TZPl@Xf@RvAh@jC`A|HvCb@PRHLFb@Rd@V^Tf@\\^Z`@\\`@\\^b@Z^b@h@Xb@^j@rBjDbEdHjD`GdAfB~DbHLPn@hAn@bAZh@\\f@Xb@@@\\b@^b@^`@NNn@j@^X`@X`@Xb@Tb@Rh@VpJfE~@`@z@b@dAl@d@Z^ZVRXVRRRRNPNPRVZ`@NRPVT`@Xd@Zj@Xp@Vj@Tn@Tn@Tt@\\rAn@bCBJp@jCLf@|WxeAZnAl@~BT~@Ll@Nx@Lv@N~@Hj@Fd@D^JdAJnAF`AHdBDbB@jA?zA?|@CjAC~@GtAGhAMfBO|AUfCe@|GOfCIpBC|AC|A@`B?BB~BH`F", + "sosnowiec dańdówka|sosnowiec południowy": "sqxqHagbtBHlE@rA@tBBfC@jADhDf@r]@|A@vA@jDB|ABfAFdFDrCPhLHxFFpDLxHHfFH~FDtCJlFR~L@|@HpFJxH?r@?x@C`AAz@Ez@E~@Gt@Ix@Gr@Kv@QlAUxAsAjIQpAKt@Gj@IbAIdAEbAE`AAv@C~@?P?p@@xBB`AB|@D~@F|@HjA@@N|A^dCZfB`@vBV~Af@rCl@jDl@fDLv@N~@Lx@Ht@Fp@Hz@Dv@Dx@Bf@Bd@@z@@`A@~@?|@?~@A|@C~@C~@G|@Gz@I~@MfAIp@M~@Mz@Oz@Mt@Ml@ADQv@Sr@Sn@M\\q@hBi@nAQ^MXUb@m@fAs@nA}@~A]h@c@h@OROVk@bAc@r@QXa@l@[d@[^_E|EIJaFdGcFdGiArAORSXSXU\\[f@QTuCjDKJONT`@MV", + "sosnowiec południowy|katowice zawodzie": "__zqH_qusBOZMZO^IXIZGZG`@GXCVCXCZEr@Ar@AL?^?^@n@Bj@Dp@Fn@PxAJn@Jj@Pp@FPJXHVJRXj@HNLRBb@h@b@@@vAdAzB~A~AjAzCxB`@ZpC~BdHdFpLvInCpBjCzBbAfAv@|@RTlAzAz@jAh@x@pAxBjAfCbAfCh@zAdA~C|@nC\\lAd@tBZlBVhCv@zK\\hE\\jD\\rDV|DDv@HbAL~BXhEB`@`@bFt@bJn@`INtCLxCNxBTjDbDhf@l@bJh@vIXpGRpGJxFF|F?pDExCG|FI~DW`HMzEMfEAjBQ`Ca@rEM~AInAEnASrFMrDE|ACzA?~B", + "łódź widzew|łódź andrzejów szosa": "iu|zHidjvBJmA\\oCD_@Fq@Do@ZwDBYJoAR}AJmAbAoMBOXoD\\sD^sD`@mD`@_DfFk`@nHak@zIeq@`@sCb@sCReAReAl@mCVcAVaAZcAZcAZ_A\\aA|@{BdBaEhJySz@mBz@qBn@aBn@cBzAiE|AiEl@eBn@aB~@cC~@cC|CqI|CsI|CuIpC{Hd@mA^_AL[N]^y@h@gApAmCh@gA\\o@Ra@Xa@V_@T[X[TUZ[XS`@YNKNILGPIFEPGNGPGPENQ", + "łódź olechów łoc|łódź olechów wschód": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?IAg@IcGAm@OwLCuA?EEoAAs@C}@C{@Cs@C}@C}@Ci@E_ACg@Aa@Ck@E{@E{@G{@Eu@A_@CUKgBKcBm@yJKwA?EK}AW}DKoBIiAKaBAQIkAUsDm@cKWeEMcBKaBMiBGaAEg@]qEg@yGC[[mE]{EI}@]qE{@wLKiAmFet@Y}DaAwMy@yKG{@Q}BIaAWwDYoDEo@SiCg@cHi@eH", + "łódź olechów wschód|łódź olechów pzs r16": "kovzHokrvBh@dHf@bHRhCDn@XnDVvDH`AP|BFz@x@xK`AvMX|DlFdt@JhAz@vL\\pEH|@\\zEZlEBZf@xG\\pEDf@F`ALhBJ`BLbBVdEl@bKTrDHjA@PJ`BHhAJnBV|DJ|A?DJvAl@xJJbBJfBBT@^Dt@Fz@Dz@Dz@Bj@@`@Bf@D~@Bh@B|@B|@Br@Bz@B|@@r@DnA?DBtANvL@l@HbG@f@?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", + "łódź olechów pzs r16|łódź olechów zachód": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?IAg@IcGAm@OwLCuA?EEoAAs@C}@C{@Cs@C}@C}@Ci@E_ACg@Aa@Ck@E{@E{@G{@Eu@A_@CUKgBKcBm@yJKwA?E", + "łódź olechów zachód|łódź olechów wiadukt": "mnuzH_zjvB?DJvAl@xJJbBJfBBT@^Dt@Fz@Dz@Dz@Bj@@`@Bf@D~@Bh@B|@B|@Br@Bz@B|@@r@DnA?DBtANvL@l@HbG@f@", + "łódź olechów wiadukt|łódź olechów pzs r3": "ihuzH_lhvB?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", + "łódź olechów pzs r3|łódź chojny": "y|tzHyoevBTtC@FJ~AFz@Fz@Dx@@FEd@Bh@Bl@Bn@Bv@B~@@~@@t@@v@?l@?R?z@?x@A~@A|@Az@Cx@A|@E|@Cx@IbBG`BUvEQbEEt@OjCSfCaApKq@dHoAvMkAtMm@hHi@vHe@vH}@|PIzAu@tNMpCG`AIjAKlAKdAQdBKvBUhEAH", + "łódź chojny|łódź pabianicka": "}quzHis~uBU|EC^AZ?XAv@Az@ATA|@ErBErAMzBGnA{@bQk@~K]tGUhEMlCK`BK|AIrAKhA[vDKlAEf@Eb@Cf@C`@Cv@A\\Cx@?l@AhA@x@@tA@dABr@@d@Bf@Dd@@XHbAJfAHv@Jx@Jn@Lp@XxAR~@H^FPDRJ\\Nd@Xz@JXVr@Rb@b@`Ad@dA|B|EbD|GtChG|@lBf@hAZx@l@bBB^ZdAJ`@Pp@RdAZdBHj@Lv@Ff@Fr@Fp@Fl@Dx@Dz@Bd@Bt@@h@@|@@p@?BAv@?T?d@Az@EjACj@Ex@Gt@El@KdAEf@Kt@Gb@OfAQbAYdB}@dFcBzJmA|GMv@Ot@S|@Mn@St@IZMd@Mb@Sj@Ur@Wn@]v@Yj@_@r@Yf@_@l@]f@ORu@`A[b@i@hAm@v@_AjA", + "łódź pabianicka|retkinia": "ywuzH{{tuBwCvDQTcApAs@|@SDg@p@m@t@u@`Ac@f@a@b@u@v@m@h@k@d@WP[RQJe@XKFOH]Pi@Vo@XoEpB]NQHUH[L_@N_@L_@L}Br@w@V_@Na@Nc@PYLc@PUJUJUJcAd@q@ZWJ_@P]Lc@P[JYJSFQDg@LWF_@FYFa@Fg@HeJtAa@Fc@D_@D]D[BU@U@YNoCJa@@S@S@Y@Q@Q@O@]BI@m@FUB]BOBSBQBi@FIB_@Fa@HiAR]ZSHKFQFOHQJSLKHWRMHKJKLKHOPQROROROTQXMRIPINIRKRMXM\\M\\KXK^K`@M`@I`@IXCRGXGXGZE^G`@G`@E^E`@Eh@C\\Cf@Cf@C`@Af@Ab@Ab@?f@?d@@\\?d@@`@@`@B`@Bb@B^H`AJ|@EDHp@DTLRZ`Bv@`Et@rDZzAZrA?\\dAvENn@^~A\\`BFA^nBj@lDOJp@dBjAhGLp@Lv@Jl@NJE\\PtAD^FXDXRFb@nDPbA?\\", + "retkinia|łódź retkinia": "k`yzH_aouB|@lENXpAxGrGp\\f@fCl@|C??pAvG", + "łódź retkinia|łódź lublinek": "omxzHmamuBh@pCXtA\\fBXtAdB|Ih@nCjBnJtCzNFZvCjOjJve@zCtO|CvOvApHvAjHpDzQ|BjLLp@Pr@VhA\\rAX~@ZdA\\bAPd@Vr@LZTj@N^Tf@LVTf@\\p@^r@T^b@t@Zf@d@p@h@t@t@bAlFnHZ`@bCfD|\\be@BB~AzBnAdBb@l@", + "łódź lublinek|pabianice północne": "{otzH_zcuBFFt@dA|CfEzAvB`BxBbDpExEtG\\d@f@r@lAbBnCrD\\d@Zd@X\\VZ?@XZZ\\XX\\XZVZX\\TZRTLRJPH^P`@NZJ^L^H^F`@F\\D^D`@@^@^@^HjQOv@Ar@?x@?p@@r@@v@Dp@Bx@Ft@Fv@FxSlBj^dDTB|Gn@fCTnTpBzFh@VBnRfBlTpB`|@`In@F`@Df@F^D^DZDb@H\\H\\HZH^LXLXLRHRJLFNJ", + "pabianice północne|pabianice": "{{jzHcy`uBPJNJPLPJNNPLLJPPNNPNNPRRNRLNRVLPTZNVT\\NZPXLVTd@Rb@Tf@Rd@Vj@lAzCxFtNpBdFNZnB`FRh@fHpQrCdHbApCfAvCj@|ATj@Rl@d@fAx@tB|@xB~@~BbA~B`@z@Tj@h@nAXp@f@jA", + "pabianice|chechło": "cwhzHuz|tBp@dBv@nBdAhC`AdCfApCjDtI^dA`@dA^dA\\`A\\fAZdAZdA`AbDz@tCjA~DlGlTjKh^HV~Mzd@|Nhg@z@tC\\jA\\hAV`A", + "chechło|dobroń": "kbfzHanvtBZlAVbAXfARz@Rv@R|@d@lB^|AhEnQfRlw@tRvx@DNh\\ztAfKxb@DThDlNBLtCvLjB|H", + "zduńska wola|izabelów": "qh_zH{rrrBTfRArC?Hf@pb@BlB@xA?lBAzAAnEApA?nA@x@?p@@t@BpBBzAHnEdAnj@@j@`A`i@", + "izabelów|męcka wola": "ua_zHavlrB?TxBflAn@z]RvK^jRBbBB|A@rA@lA?pA?pAArACpAGlEg@jf@aBpoA[fVWhRAvAAtA?rA@pA@pADrAD~ADbBFbBHhBn@`Rp@fR", + "męcka wola|sieradz męka": "q|~yHah`rBVlHVxGpAf^T`HTrGF|Ah@|OVrHLbDhAb\\^hKNfEDtABpABtA@fA?H@rA?nAAnE[vcA?VW`e@CjMEnMElMAfFArBAx@Ax@AlAEpAEhAGjAKlAMlAK|@M~@O`AS`AOt@Qt@W~@Y`AWv@Uj@Wr@Uf@S`@OXa@v@]j@U\\]f@e@j@iAvAkDjEmG|H]d@]d@a@j@Yf@I^OVYj@]r@Wj@Sj@Ul@Up@K\\Md@Qp@Mf@Mf@Ov@Oz@Mz@M|@K~@KbAMpA", + "sieradz męka|sieradz warta": "y_`zHqsrqB{@`Ja@hEO|ASvBKtAOhBK~AGv@KdBIdAEfAEbACx@Cb@C~@CvA?h@Aj@?xA?lA@tABnABnAFtAFrAFnAHpAJpAJlANrANnAPlAPlARnAb@lCbHra@TrAvDtTdBdKr@~Dr@bE|Hzd@DTX~AXzANv@Px@Pt@Tv@Tr@Tt@Vp@Xp@Vj@Zn@h@bAj@bAfEpHlI~NbFzIf@~@\\l@BDb@z@Xj@Xl@JRf@pAVr@Tr@X`A\\lA", + "sieradz warta|sieradz": "_t}yHmciqB`@tAfAdETv@X~@Vv@Xv@\\z@Vp@\\r@", + "łódź kaliska|retkinia": "gr|zHarquB|As@dAe@`Ac@jBy@\\Ol@WTITKZM|@]h@UDAd@QhDwAj@Wj@Uh@SVMVK\\MLETGJEVGPEREXEVCdC[jBSr@K~@B@?VEVCZCTA\\AX?V?\\?`@BXBZBH@PBXF\\F\\J`@L\\LLFNFZLXNTLTPXPXRB@d@^ZV^ZVRZZVVVR^`@Z\\VX\\^^b@^f@^f@DFZb@V\\PZ\\d@Vb@^n@`@t@Zl@Vf@Xh@Zn@Xp@^z@Xr@\\|@\\~@\\bA`@nAV|@ZhA`@|AZrAZtAp@fDp@jDxBbLpAtGjAdGLn@", + "skierniewice|bełchów": "oqd|Hkt}yBH^DXDVD\\DTDTHf@BJ\\dBNt@Jj@FVBPJh@vBnK\\bBHb@FZFVHb@F`@H`@Hf@Hh@Hf@Ff@Ff@Fd@Fj@Dj@Fj@Dl@Dj@Bl@Bj@Dl@@j@Bl@Bl@@j@@b@?T@X@b@?L?n@@l@?n@?l@?l@Aj@Al@?l@Cl@Al@Al@Cj@Cn@Cn@El@Cn@El@En@Ef@Ef@Eh@Eb@Ed@Gd@Gf@Gf@If@Gd@Id@Ib@Kf@Kf@Kf@Kd@Mb@Kd@Mb@Mb@s@jCo@bCOh@Of@Oh@M`@M^KVIVQd@Qb@Qb@qEnKUd@gCdGGLiBhEuCxG}R~d@qElKyIpSoDlIsB|EmDhIe@hAmArCEHmBrEc@dAyh@lnAya@jaA_AvBcd@xeAeB~DWn@}BlFWl@y@nBaCrFgBfEcCzFA@aB|DO\\sB|EeB|DO^IP]z@Yj@Yn@Yl@a@z@Yj@Yj@Sb@IN_@n@]n@[l@]l@c@r@[j@a@p@a@n@a@l@_@l@_@h@g@r@_@h@_@f@g@n@g@p@UXa@h@a@d@a@d@c@d@c@f@e@f@]^_@^UVWV_@^g@d@g@b@e@b@g@`@c@^WTMJUPUP_@Xc@\\e@\\i@^g@Ze@Ze@ZQJgIhFiIfFiIhFuFnDqAx@eF`DmAv@UNSJWPq@b@WNWPGDi@\\}A`AGDc@XsAx@_BdAaBbAYPYPKHOH", + "bełchów|bednary": "auo|HeghyBsAhAq@`@WBc@XGRU@OXg@ZSAETWPEB[R[T]TYRKFWOi@Z?b@[REBWNKHa@VGDwChBA@[R]R[RSUc@Z[RGDQLWPWP_Ap@c@Xa@Vc@X_@Va@VQLqEtCSZ]Tk@\\WBe@Xi@^gAp@u@d@{BvAeA|@}A`Au@XUNo@`@IRa@Vc@XKFWNwA~@eAp@cGvDQAiAt@kAt@gIfFiIhFiIhFgIhFiHpE_@VuAz@kA`AsAz@s@b@qBpAoAv@sAz@oAx@iIhFeh@d\\aHlEEBuEvCob@dXg]lTyA~@C@m@`@s@d@_@Va@Xa@Xa@XCB]Xa@ZWRKHa@\\a@\\a@\\k@f@WV_@\\YVIAc@`@[Z_@`@_@`@]^@H_@b@_@b@_@b@]`@a@f@_@b@_@f@]b@Y`@Y^]d@[d@U\\W^g@v@g@t@iTf]cA~AiIrMk@|@eC|Dw@nA{B~CSZ[d@KPOPu@|@KNQNQROLSNQLWPQHOHQHSHQHYHMBUFUDWDWBW@S@S?S?UAUAOCQAYGUEWGQGUIUKQISKUMQMSOSOOOSSSSQSSWMSOSOWOWMWQ_@KUMYK[M[K[EQGSI[GWGUEUGYEYG_@G_@Ea@G_@WEIw@eBeQ_@uDK}@Iy@Gs@Is@Em@Em@Gs@Eq@Eo@Co@Cm@Cm@A[A[Ak@Ak@Am@Ay@Au@CyDEaEAg@CoCGgHC_D_@wa@KuKAcBAg@?WK_MC}BAi@Aw@Ai@Ag@Cs@Cq@Cq@Cq@Es@Eq@Eq@Gq@Gq@Ec@Ec@CYEc@Im@Io@Ik@Ky@Km@G_@Kk@{@_FiAiGgDgR_DeQ{AoIiAiGCKMw@[aB[eBgAkGaGg\\aBaJk@cDu@_EqCcPo@mDsAoH}@aFSiAUsA{CsPeFkYY}A", + "warszawa wschodnia|warszawa stadion": "eh{}H}cm_CRAN?LAN?L?`C@`C?L?L?L@N?L@", + "warszawa stadion|warszawa powiśle": "i{z}H{cm_CR@\\DLBNBPBRDVRNDLDLDPFPHPFLHNFXPp@b@XTh@d@VXTVVZRV^j@^n@R`@P\\P^Xr@lGvO|F|NbBbEn@|AVl@Rd@R^NZT`@Xf@V\\V\\tAjB^h@\\h@h@~@^p@HNf@dAHNHPRd@`@fAt@pBPf@\\~@b@vAd@jBLj@|AhH", + "warszawa powiśle|warszawa śródmieście": "yxx}Hmwi_CR|@Hb@Jn@Ln@Jn@rD|TPbAJl@Jr@Lx@Hl@fCpRrD~YFd@D\\B^D^B^@^B`@?ZH^@p@@n@B~@Bl@@f@Bd@Bf@Bd@Dd@Df@Df@", + "warszawa śródmieście|warszawa ochota": "spw}Hsvc_CXrBFl@F`@D^JbADj@Dh@NfBH~@LlAHr@Hl@bAdIRvAHn@Jl@Hj@Hj@", + "warszawa ochota|warszawa zachodnia": "mhw}Himb_C@FPfALt@Jr@v@`FD\\l@zDdA|GNfA`B~K^dClD|UL|@N`AP|@P~@Jh@Nv@Nx@?DHd@Jp@Jz@NfAThBTnB\\pCf@`EHj@F^DZBJHh@DRDRP|@`AbFXvAH^F`@F\\Hb@DZF^Fb@D`@RzAfAxIj@|E\\nCRzAHp@PvAVxBVjBZhCBT`@`DPxADZBRF`@Fb@DRFXDZFXFXBLLd@FXFVDLb@fBBHNl@XhAJ^FXFVHXBNHZH`@FXFZFXDXHf@BLDZLt@", + "warszawa włochy|warszawa ursus północny": "ess}Hwht~BZrAXlABFJd@Pt@Pp@Np@Jb@Md@El@FVFXHb@DRJl@F^H^FZFVF\\J`@H`@J\\H\\Nl@Nh@pAvEZjAZlA^tAr@~C^zAb@pBj@hC@HrAbG`AlEPr@TjAZxANl@Lp@DXFZHd@D\\D\\Dd@D^Db@B^@`@Bb@@^@d@?d@@d@Ab@?ZAXA^A`@A`@C\\C`@Cd@E\\C`@Gf@E`@G^G^Gb@Id@GZI`@I\\CJUv@Of@o@pBSn@{EpO", + "warszawa ursus północny|warszawa gołąbki": "ycs}Houo~BsGxSyBbH{BjHiB|FgKr\\Kp@GPIZIZKZI^I^I^Kd@Kd@Id@CPEXEXG`@EZGh@It@E`@C`@C^Eb@A`@C`@Cf@Ad@Aj@Ah@?f@?n@?h@@f@@h@@f@@h@Bl@Bh@Bf@Dh@Dd@Df@Ff@Dd@Fd@Hj@?b@Lv@xAnJj@vDRtATvAFd@Hp@Hp@Dj@Fl@Fp@Fp@HrADp@Dp@j@`J@Zb@~G^rG", + "warszawa włochy|warszawa ursus": "iss}Hajt~BBh@K\\Nl@BPXlATdATdAVbAJf@DN^bBLd@R|@R|@@BNl@`@dBT|@Tx@?BXdAV`A\\nAr@nCb@zARz@\\nAPt@Rz@d@pBl@pCtAbGp@xC`@dB\\bBZrATlA`@pBj@rCj@nCLl@ThANr@R|@n@pCv@hDH`@Pr@l@lCDPrAbGZpATfA`@fBr@xCb@nBVhAVhAb@jB\\zAn@tCXlAH^Nl@VhAXhAVbAlA`FHZNn@Nl@Nn@VlA", + "warszawa ursus|warszawa ursus niedźwiadek": "ouq}Hwkn~BLd@|@`Ed@pBT`A^fB@BJb@Lh@Ll@XnAXnAPx@Px@Pz@TdATfAVjAVhANv@Pt@Lh@dAxEtA`GrA`GrA`G@Fx@jDVlADL^`Bn@pCd@rBl@lCpAxF@Hd@rB", + "warszawa ursus niedźwiadek|piastów": "kqp}Hi|j~Bl@lCrA`GPt@bAjEzFdWtAbGrA~Ff@zBj@dC|DfQXlAFV\\|Af@vBh@bCpAtFBJt@dD\\|Ap@tC`@jBlAjFFRrA`GLl@dArEd@pBJ`@b@nBx@nDXpADPJb@H\\R~@??", + "piastów|pruszków": "syn}H}qe~Bb@jBf@|Bj@`CLl@FTNr@DNf@zBDPnApFVhA?@z@vDtAbGFVjAhF\\xAv@fDj@hCf@xBrAbGjAdFH\\t@bD^~A^`Br@`DH^x@lDFVH\\Pt@`AlEtAbGl@lCxNfo@XjAVlAt@~CFXtAfGBJz@tDd@tBhA`FNj@dAvEVhAf@|AbBlHZvAPr@r@pCVbAPr@Rv@Px@`@`BLj@b@hBNn@Jh@Rx@~@`EVfA@Dj@hCJd@bDnN", + "pruszków|parzniew": "qxk}Hsk|}BBJdC|Kl@lCj@pCj@lCVhAVlAhA`FhGfXnFzUlAjFhA`F|@|DpAtFNr@f@tBVlAhC~KxAtGHp@~Jpc@BNl@jCtA`GFZjAdF", + "parzniew|brwinów": "kvi}Hi`v}BlAjFtClM~@`E~@~D~@`ERz@j@hC\\zA|@zD~@~Df@vBVfA~@bEDPt@bDt@dD`@hBhChLPr@jGhXp@tChA`F~@`E~@`E~@~D~@bE\\xAlHv[fTn_A", + "brwinów|milanówek": "_ag}Hy|m}Br@|Cb@jBpAxFLf@H^HZ\\zAXpAdBtH`DhNjBfIlEpRH\\|Ldi@~@`E~@`E|@~D`AdE\\zAr\\xxA~@~D~@`EZrAb@jB`AfE\\xA`Kvc@r@vC`BlHXlAXnAb@hBZrAXpAZrA", + "milanówek|grodzisk mazowiecki": "}rc}Haoc}BbDlNZrAZtAVdAZvAxKte@lAjFb@lBvCjMrKbe@~FfWFVzArGZvAf@xBfAxELh@lCjLp@rCBLfAtElBpIdArENj@pCzLdGrW\\xA\\zAh@~Bf@rBBbD", + "grodzisk mazowiecki|jaktorów": "}x`}Hmzz|B\\xALh@\\zAXhABJNl@HX`@`BtB|HFRhAfEl@`C~@~DFXhAbFDLbBtHb@lBrB`JpAtFp@vCLf@`@bBLf@Jb@Rt@z@hDTx@Rx@d@nBr@zCn@hCRv@xA|FNl@Nj@\\zADNd@rBdApEXjA~@`EdFtTXnArK`e@jE`RZrAXpAXnAzCvM\\xAfZfqAlAlErB`Jl@hC`@dBtQhw@", + "jaktorów|międzyborów": "kk||H{tm|BxAnGnApF@FdJt`@\\vA`@hBRx@xFnV~C`NrSd}@\\zAvCdMH^`DdNxEpSvMlk@~F~VZxAlCfLjJda@|@zDfCtKzAxGFT~A|Gx@pDzCrM`CbK\\xApCxLhBzHhBzHrAzFtAdG", + "międzyborów|żyrardów": "}tw|H_p_|B@FJ^FTpMzj@dDnNvBhJJb@d@rBzApGbAjENr@HXbAnE~@|DfAtEnCrLFXlHh[lBhIt@bDrEzR^|AJf@", + "żyrardów|sucha żyrardowska": "usu|H{ky{BjB`IXjAzBrJpCtLn@pCLl@x@jDdApEDPlBhIv@fDd@rBd@pBhBzHlAhFjWhhAvB`JZxA|FtVjDbOxGnYvKfe@XpAZpAXpAZpAz@vD\\zApFdVlKzd@XpAZpAXlAVnAfBvH\\vATbANn@Np@Rx@XnAXpApA|Fp@tCXtAxEvSRz@H\\|B~JfDdOv@hDdBvH`AhErMrk@r@xCZxA|AzGn@vC", + "sucha żyrardowska|jesionka": "w{o|Ha_h{BtA`GbAnENp@BNFVDRVbAxHb]fD~NxD|Px@pDx@jDtAjG|@zDbAlEhAdFzAtGlApFbCpK\\xArDfPHZFV", + "jesionka|radziwiłłów mazowiecki": "_cn|Hqqb{BNr@dAtEpAxF^`BdDxNhDfOdIf^f@vBRz@r@|C\\xAzEbTn@nCxBtJd@pBtClMZnAzAxGd@tBd@pBz@tDhDfOvBlJBLd@rBnArFXnAXjAR~@T~@j@jClBnIj@hCPr@d@xBZrARz@FTh@bC~AdHjAzEPt@", + "radziwiłłów mazowiecki|skierniewice rawka": "yhk|He~yzBFTlBfIZtAZpAXpALh@Nn@TdAZnAXnAjBlIZtAZpA`@hBlBnInIz^Lh@ZxAxEvSnCpLZvAlChLXrAZrAlBhIZrA@FXjAlAlFbAjENp@XnAXlApE`SNp@Nn@R|@DNZxAJb@hDdOrC`MjMvj@vM`l@@@Px@Nl@\\zAd@tBJd@~FfWlAjFn@pC~Hn]XlAtAdGrA~F", + "skierniewice rawka|skierniewice": "g{f|HoolzBDd@DTH\\tAdGPt@Px@Nn@Ln@Nt@Np@Lt@Lt@Lt@Lt@L|@Jp@Hr@Jv@Jx@@HFh@Fr@Ht@H~@Fp@Fv@Dp@B^TjDX~DT~CF~@F~@Dv@Fx@Dx@Bt@Dv@D~@Bz@Bv@@v@Bt@@v@@z@?r@@z@?|@Fh@?dAA~@AlEElOAfHAzEAv@ApHCjIIt^ApCIlZAzE?|A?r@?v@@t@?v@@v@@t@@t@@v@@v@Bt@@t@Bt@Bv@Bt@Dt@Bv@Dt@Dt@Dv@Fr@Fr@Fp@Fr@Fr@Hp@Fp@Jr@Hp@Jp@Hn@Jp@F^DNJp@Ln@Lp@Ll@Hf@dAjF|@jE~@|ErAxGh@fCtA`HfCjMhClMVpAbDjPdC`MJh@Jd@Jh@Jh@Jj@Hd@Hd@Hd@Hh@Fj@Hh@Fl@Hj@Fl@Ff@RbBFd@F^D^Fb@Jh@Hh@Hh@Jh@Jf@FXBp@TfAtA|GFZNr@lAhGl@vC`@tBJb@Hj@DRD\\Fd@H^BR", + "skierniewice|mokra": "oqd|Hkt}yBH^DXDVD\\DTDTHf@BJ\\dBNt@Jj@FVBPJh@vBnK\\bBHb@FZFVHb@F`@H`@Hf@Hh@Hf@Ff@Ff@Fd@Fj@Dj@Fj@Dl@Dj@Bl@Bj@Dl@@j@Bl@Bl@@j@@b@?T@X@b@?L?n@@l@?n@?l@?l@Aj@Al@?l@Cl@Al@Al@Cj@Cn@Cn@El@Cn@El@En@Ef@Ef@Eh@Eb@Ed@Gd@Gf@Gf@If@Gd@Id@Ib@Kf@Kf@Kf@Kd@Mb@Kd@Mb@Mb@s@jCo@bCOh@Of@Oh@M`@M^KVIVQd@Qb@Qb@qEnKUd@gCdGGLiBhEuCxG}R~d@qElKyIpSoDlImBdFsBzEsB~E_AvBsCvGSd@", + "mokra|sierakowice skierniewickie": "}bg|HustyBeC|FuB`F_Vvj@gInRmZfs@mFbM}@vBwX`p@}IxSST", + "sierakowice skierniewickie|bełchów": "evj|HwxmyBeB~DWn@}BlFWl@y@nBaCrFgBfEcCzFA@aB|DO\\sB|EeB|DO^IP]z@Yj@Yn@Yl@a@z@Yj@Yj@Sb@IN_@n@]n@[l@]l@c@r@[j@a@p@a@n@a@l@_@l@_@h@g@r@_@h@_@f@g@n@g@p@UXa@h@a@d@a@d@c@d@c@f@e@f@]^_@^UVWV_@^g@d@g@b@e@b@g@`@c@^WTMJUPUP_@Xc@\\e@\\i@^g@Ze@Ze@ZQJgIhFiIfFiIhFuFnDqAx@eF`DmAv@UNSJWPq@b@WNWPGDi@\\}A`AGDc@XsAx@_BdAaBbAYPYPKHOH", + "bełchów|bobrowniki": "auo|HeghyB}CnBc@X]Tm@^]RA?[RaAh@a@T_@TULi@Zk@\\_@T_@VKFyCjB_@Va@V_@Tc@Z[RGDQLWPWP_Ap@c@Xa@Vc@X_@Va@VQLqEtCoBnAEBe@Xi@^gAp@u@d@{BvAyExCUNo@`@i@\\OJc@XwD~B}AbAsD|BiAt@kAt@gIfFiIhFiIhFgIhFiHpE_@VqAdAoAv@sAz@s@b@qBpAoAv@sAz@oAx@iIhFeh@d\\aHlEEB", + "bobrowniki|łowicz główny": "quv|HqgcyBuEvCob@dXg]lTyA~@C@m@`@s@d@_@Va@Xa@Xa@XCB]Xa@ZWRKHa@\\a@\\a@\\k@f@WV_@\\YVEFc@`@[\\_@^a@`@]^_@b@_@b@_@b@]`@a@f@_@b@_@f@]b@Y`@Y^]d@[d@U\\W^g@v@g@t@iTf]cA~AiIrMk@|@eC|Dw@nA{B~CSZsD~F{CzEyPfXqAtBsAvB{@rAYb@g@z@i@x@e@x@{BtDu@lAMRQZMPGLYd@Yf@w@tAINoAxBg@|@Yf@CB]j@[f@[f@}BtD[f@SZKR_@n@y@rAUb@iAnB_BnCe@x@g@v@c@t@c@p@Yf@oU|^c@r@c@r@a@n@_@n@]l@]j@MRWb@[f@a@r@c@p@sBdDOT{DjG_@l@eA`B{Ad@", + "mikołajów|słotwiny": "{hrzHiwexBcRdXaa@tk@q@`Ag@r@i@x@e@v@g@x@]p@a@v@a@x@sArC{BvECFw@bBeCfFaIpPyA|Cc@|@}BzEyGlN}CrGu@|AO\\w@~A?N", + "słotwiny|żakowice południowe": "{wuzHon`xBO^aAvBmB|Dg@fAe@`AGNKTQ`@M\\M\\KZKZwArEo@vBQj@IZIZIXKb@I^I^I^G\\G`@G^If@E^E^In@Gj@Ed@?BEl@Ej@Cn@Ep@Ap@Cp@Ar@?p@?p@?r@@l@@d@@d@@b@Bd@FrAr@fO@NPvD^jHD|@Dz@TbDDf@Bl@Dv@Dt@B\\@^@`@@Z@h@?^D|@Bp@FfAR`EjCxj@D`AD`ADdA@b@Bb@@n@@l@?J@`@@t@?t@?v@?t@At@At@Ct@Cr@Cd@?NCb@Cd@El@Cd@KhAEj@Gf@Ip@Ip@Ip@Mx@c@`DSvAs@fFEZEZCXEf@CZE\\EVQpAm@lFKT", + "łódź widzew|łódź stoki": "ag}zHwsfvBSjCQ`BGh@Gf@SpAKf@Kd@WhAOf@Ob@Ob@O`@_@~@a@z@{@jBuBlEINwChGcAtB{HjPgClFuAtCuAvCm@nA{GnNm@lAq@vAKR}@jBa@z@m@rA_AvBa@dAWp@y@hCW~@Ol@gBfH{AhGkAzE", + "łódź stoki|łódź marysin": "up_{HazavBaAzDaA`E_@xAi@vBY~@W|@a@hAQf@Wr@]z@[r@[p@a@x@Q\\c@v@W`@S^QVa@l@o@~@e@j@m@r@i@l@i@f@k@f@g@b@i@b@a@Xk@^c@Ve@Xk@Xm@Vk@Tw@XuA^_@Ha@Fa@Hu@Js@Fq@Do@@]@_A?u@CWA]A}FSu@Ey@Ak@?m@?q@Bs@Fu@Fe@Fg@Hg@Jc@Jc@JWH_@LSFc@PIBSJWJKDQJOFOHQJQJMFMHa@Ve@Z}LzIeAv@]Vu@j@[XgAbAs@t@a@d@u@~@gA|A_AzA[l@]n@Yh@Wl@]t@MZO\\O`@Qb@[|@Od@Qf@W|@Y`A_@|AyBbJ{@rDuC~LmAhF", + "łódź marysin|łódź warszawska": "}ed{Hk{|uBqJja@kA|EMj@Mh@_@tAUv@q@tB]~@Ob@]x@a@~@y@dB]n@w@vAQXa@t@i@~@k@~@_@l@c@l@W\\Y\\c@h@c@d@mEvEYX", + "łódź warszawska|łódź arturówek": "mqe{HqczuBiCnCgAjAi@h@c@f@g@l@e@j@]b@]d@Y`@_@l@Yd@[f@a@v@_@t@i@fAUj@a@`AUl@Up@Wr@[dASr@ELOj@U|@c@nBe@pByBlKa@fBYlAYjA[hA[fAY|@Wr@Up@q@~A[v@]t@Ub@Wd@Wd@Wb@]l@_@j@SXc@n@g@p@g@j@UXk@j@{@z@", + "łódź arturówek|łódź radogoszcz wschód": "sig{Hi~vuBcBxAs@l@kB~A_Av@sLbK}E`EuE~Du@p@[X]^e@d@]^_@d@[`@[`@k@x@MRQX_@p@[f@A@Wf@k@jAKTQ\\eA`Cm@rAaBzDcA~BCF", + "łódź radogoszcz wschód|zgierz": "ugi{HaxtuBaCtFe@dA}@tBc@~@kE`KmBnEc@dAcA~By@jBy@jBO^m@vAc@bAwAdDi@jAo@xAq@~Ae@dAUh@o@vAWn@qFdMsEpKcGfNCFq@~ACDaAzBoBrE_AxBi@hA[p@[l@]j@Yd@]f@]b@]`@YZa@`@_@Z_@Z[T]V_@RYNWN[L]L_@L[JWFk@L_@Dg@F]BU@c@@}@?k@C[CcAOWE[IWKUIYKYOSKeAq@KG{@k@w@s@AO", + "zgierz|zgierz rudunki": "g{l{HsepuBe@e@mCaCyCmCkSaRuAkAyBmB{BqBKI_EsDGE}@{@y@w@YWs@o@}@w@o@m@YWMKe@c@a@[a@]a@]a@[yAqAcC{BgGwFuI_ISQkCgCc@c@a@g@OQOS]g@_@k@[i@", + "zgierz rudunki|smardzew": "g`p{HiesuBOUMUS_@CIMWSa@O_@Qa@Qa@Oa@Oa@K]K]K]K[Me@Ka@Ke@Me@Ia@I_@Ia@G_@O}@G_@Ga@MaAK}@KcAIaAKcAGeAIcAIaAOeBEs@C[Eo@E]Ew@Eu@Gw@GoAEi@Ac@GqAEoAG{AE{AE{ACyAC}BC{BAwAAe@A{BMsNE_GCqB?OAaAAaAAw@Cu@C}@E}@Gy@Gy@Iy@Iw@Gm@Ko@UuAQaAQ{@Om@Uy@Uy@Uu@Yu@o@iBg@uAg@uAi@wASi@Sk@MYUk@Sa@Qa@k@eAm@cAe@q@QUSWk@o@k@k@u@q@w@k@k@]WMUMk@WWIWIi@Qi@Ko@KWEWCi@Ek@AY?c@?i@BWBU@[DMBM@YFYF[H]J", + "smardzew|glinnik wieś": "afr{HseyuB_F|Aa@H_@H_@Ha@Dg@DQ?UBY@YAO?c@AQAQA}@Ko@Ko@MmAa@a@QOIQI[Q]Sc@Ya@[a@]a@_@i@k@g@m@q@}@m@aA[i@OWMW]u@]y@Uk@Qg@Sk@Qm@Oi@Ok@Mm@Oo@O{@G[G[]wBUuAIk@Kk@QgASkAMq@Oo@Oo@I]EQWaAY_AaBoFcBsF[eAQk@Mg@Me@Mk@YoAMu@G[G]SuAOoAS{A]qC", + "glinnik wieś|glinnik": "ujt{Hqf|uB]uCUiBUiBk@wEUgBMq@Kq@Oy@Qw@Oq@IW]kAc@uAEMo@aB}A_Eu@oBc@uAIYQq@UaAIa@Ki@Ie@Km@U_BUeBSgBi@mE", + "glinnik|swędów": "oau{H}r~uBg@iEm@iF{AgMwAuLCMoBwPeBaOKu@s@aGUqBWmBQeAQeAWqA[qAm@wBI[g@uAi@sASe@EIYm@g@y@g@w@g@q@i@q@??]a@_@_@o@i@i@a@k@a@cAi@]O_@Qi@Qm@OWGYGs@KoAK_FQaBGgAM}@O{Ac@aAc@y@c@y@g@u@m@kAgA}BgC}AaBqF_GuB{Bi@m@g@q@a@m@_@m@c@w@Ym@Ym@Yq@Wo@Ws@Us@Su@Sw@Sw@Q{@Oy@My@M{@K}@K{@G}@I}@E}@Eu@Cw@CgAAeA?cA@aA@gABeAHwB@WD_BHwBD{@By@DsABsA@_A@aA?}@A_AC_AA_@Aa@E_AG}@C_@C_@I}@K}@K}@M{@Mw@Q{@Ow@Sy@Sw@IYKYI[KYUm@Sk@Si@Ug@_@w@_@u@_@s@a@o@", + "swędów|stryków": "a}x{HqqgvBc@m@o@u@o@o@oBaBiA_AUUkAeA][[][]Ya@a@g@_@k@_@o@_@u@Yk@Yq@Yq@Wq@Us@Su@Uy@S{@Qu@Ou@M}@G_@G_@K{@E]C]Ec@Ea@IcACe@Cc@EeACmA?e@Ai@?oA@qABsABqA`@_P`Ag`@?KnBow@@Mt@wZv@e[DiBDgBFeCF_C@eC?iA?qAAqACoACoAGwACa@Ac@GcAMiBKmBMkBOkBaAoO_@oFMiB_AeN", + "stryków|bratoszewice": "ixy{HyyqvBuBw[_Cy]QkCCk@OwBKmAGq@Gm@Gm@E]E]G]E_@Oy@O{@Qy@Sw@Qu@Uw@Uq@Ws@Wq@Yq@Yo@[k@]o@_@m@}CqEwBaDwGsJkBmCkBmCuE}GwB_Ds@cAs@aAaBcCkAcBkAcBe@m@c@k@MMW[e@g@y@y@uAkAm@e@k@a@m@_@o@]o@[o@[}CoAKEqUgJa@Q_@SiAm@eAw@c@_@a@_@GIw@{@aAoAy@sAWi@[i@[q@Ys@Wq@Uq@Uu@Uy@Sw@Qw@Qy@O{@O{@M{@I{@K{@QyBK{BKuCOqFKyBIoAIoAKmAMmAMkAOmAOkAQgAQiACMQ}@SeAWeA]}A_@{Ak@}BkNsk@uEkR_CuJWeASy@Sy@", + "bratoszewice|głowno": "}h_|Hsr}vBSy@Oq@Ok@a@cBaA_EaA}Da@_BOo@Oo@YgAYeA[eAMa@Ma@[aA_@aA_@_Aa@_Aa@}@OYISIOQ[Q[e@w@c@u@g@u@o@aA[a@W]uF}HwCcEaGgI_GiIsMwQEGi@u@g@y@Y_@Yc@c@u@e@y@c@y@c@{@a@}@a@aA_@_A]cA]eA]eAYcAYeAMg@Mi@Kg@Mi@ScAQaAIc@Ii@QiAa@{C[_DKqAIsASqDm@sLyAgZy@uO[mG]mGOoCMyBU_CM_AM}@e@iCg@{B_@uAEKk@}Au@iBs@{AoAuBsAmB]e@UUIIe@c@g@_@c@Yg@We@SWI_@K_@I_AS", + "głowno|głowno północne": "qjc|HkbgwBiBc@}FsAqKeC{Bg@iSsEmBe@oBe@aB_@eA[cAa@y@c@s@e@gA{@eAcAcAmAeA_Bo@kAcAoB[q@kCwF_FiKoBiEw@aB[q@MWMWaCeF}B}Ek@mAi@oAe@gAe@kAo@_Bi@{Ak@}Ae@yAGOQk@Wy@W}@Wy@i@oB", + "głowno północne|kamień łowicki": "wbg|HmyjwB]uAMg@Su@]}A]}A]}A[_BY}AY}Aq@cEcByJG_@}AgJ{A_Jy@aF{B{M{A_J{A_JwD}TaA_G_@}Ba@{B_@_Ca@}BIe@WwAO_AS_AScAUaAKa@I_@K_@K_@YcA[aAc@sAo@cBa@cAe@eAa@{@a@w@m@gAi@_AcCaEwBoD", + "kamień łowicki|domaniewice centrum": "mdi|HmeqwByFsJ_DkFsIwN}]ul@yEcIaC{D}B{D{FuJuA_Cs@oAs@sAm@kAi@kAm@qAm@qAu@iBu@kB}AwDM]y]y{@uAeDa@cAo@_BgDkIoC{G_A}Bg@qA", + "domaniewice centrum|domaniewice": "{tm|HuxxwBOe@Oa@]kASq@Qw@Qw@Qy@SsASuAQ_BM}AM{BIyBEqCGsCI_CE{@G_AG_AGq@AIKy@Kw@My@E[I]Mu@Qu@c@oBm@cCaB}GcB_HsCkLoAcFcAeE_AwD}BkJiNik@", + "domaniewice|stare grudze": "ygo|Hih~wBkDoNyEqRgRiv@qAoFwDkOy@eDmB}HoBaI}E_S{Jaa@u@wCEUYiAWeA[yAOw@Mu@OcAMcAKeAIeAGgAGaACaAA}@AgA?eA?s@ByC?o@BaC?_A?}@?m@?k@Am@Ai@Cq@Ak@Eo@Cm@I_AG}@K}@Ky@M_AQ_AUmAUiAs@{CAI{C}Me@qBcEyQcEwQeD{N_@{Ay@wDe@sBq@uCWkAWiAQu@Qs@a@iBcAsEkCgLiCgLcAsEcAqEwCoMaCiKI[a@_Be@{A]iA_@eAaAeCgAaCu@uAqA{BiBiCyBgCiAgAeB{AaIeH", + "stare grudze|łowicz przedmieście": "{tt|Hs~mxBiAaA}SaRmHsGiOwMgIiHqUoSgJeI}CoCkE{Dy@m@oAaAi@_@i@]sA}@aBaAwAu@aBw@mBw@_Bm@sBo@uBo@uDgAkDeAaBe@SGsDgAoCy@mJqCgHuBqEsAeC{@aBo@oAm@y@a@yAu@y@e@IGaBcAm@c@i@_@iA{@gA{@sDaDoBaBgGkF{DeDsBgBo@k@{CoCg@i@c@g@_@g@[e@U_@GGYi@OYEIUc@k@qAe@oAYy@Uu@c@gB_@gBIc@SgAw@_GiF_`@iCoRyA}KCQoAiJK{@Ge@G{@", + "łowicz przedmieście|łowicz główny": "{o}|HujwxBOkAAIKw@Ig@Ia@Kc@S}@Mc@Ma@]aAa@kAMa@Ma@Kc@Ia@UgAmAkGoAiGSaAW_AQk@GUIUa@eASc@i@cA_@o@a@k@c@i@c@e@i@c@SQOKUQSO[QSKUMUKUIMGYISGSGQEqB]gCc@SCSCSAUAY@S@S@WDSDUHQFWJOHWNUPSNQPSTSTSVOTSZQX[Hw@Za@t@_@A}@vAH`@_@n@]h@CBoA~@}@xA", + "gniewięcin apo|klimontów": "mfnsHi{iyBdBj@dBt@vCbBnCpBxArAtAzANRdChDbIfNlBnCzAfBnApAlAdAzQrNxR~NjAz@pAx@|BtAbAh@z@b@", + "klimontów|klimontów apo": "ucksH}agyBb@ThBx@`Cz@vBp@bDz@nJtB~D~@RRjGtA`KxB|VtFtFnA~AZtCn@", + "tunel|dziadówki": "yayrHqk_yBnCrA`@Pf@R`@LRFJDf@Jf@J`@Dd@F^@d@@d@?V?VO^Ad@CzBSx@InK}@`@EJAf@Gp@If@If@Id@IdASp@Ov@OdNqCdFcAhNmCdEy@j@Mb@Mb@M`@Ob@Q`@SZQDC\\S^W^Y^[^]^_@Z_@\\c@Ze@Ze@^k@\\o@`@w@pCwF`MwVj@kA~E{J~@kBz@aB|@yAt@gA`AmA`AeA`BwAp@g@t@c@r@a@lAi@nAc@vBg@xB_@tCa@dBWzNyBnFw@xEq@", + "dziadówki|miechów": "alrrH}|byBbAOdCc@jBc@fA_@`Aa@xDuBxDyB`Am@jC}AtAw@x@_@`A_@`AW|AWnBIdBDbAJbAPn@Rv@V~@`@pFrCdI|DrAh@vA\\xAPrAFx@Av@CfBWrA]jAe@~A}@zBaBbEaDtDwC\\Wp@[tBaBvBcB~BaBrBiAtBu@pBc@LExBUbCCbCLxR~BjR|Bf@FjBTfD`@dBJxBB~@Cb@AtBGdBG`GQjFOlABzAL|AZ~Af@fDrAV?^NjAd@bBp@lBx@rC|@tBx@", + "miechów|kamieńczyce": "{zirHsmcyBzAl@dLtEnDdBvInDVL`Bn@|Al@pBx@|B`A|A|@nA|@`A~@z@`AdAzA|@~Az@hB~@~BzB`Gl@rAp@vArAvBnA|A`BxA`Ar@bBz@n@V`B`@b@FrANzA@tAGjBYvBs@pB{@~@a@vDeBb@QfDkArIyDbJcEbH_D`HgDv@c@|AeATQlFaE", + "kamieńczyce|szczepanowice": "gkdrHgobyBtA_A|CgBxEeCzD_CnGkD|AcA`Au@bC{BzDgDfBwApA}@|C{AlD_AbDi@jFy@nEiAfDgB`DkCxCcDjMqNrFeGz@}@dByAxAcAvEqCtCeB~CiBnGuDjBoAf@]`Au@z@w@JIdCiC", + "szczepanowice|smroków": "ei_rHsefyBjMmPxC}DrCuD`AkAdAiAdAaA|@w@xB{AzGeEPIzAu@d@YbEeC`DoBpAs@pAm@fFgBhAa@pHeCtHiClGyBf@QxFoBvAk@vAq@v@g@l@c@zAoA~AgB`BqBdQyTvFiH", + "smroków|słomniki": "omzqHgdjyBbAkA~@iAhAiAFGr@m@z@o@jAy@|BuAjEaCdB_A`B_AtL{GrBkA|GwDnC{AhAo@dAo@nPgJvGsDlC}Ad@W`BcAv@k@t@q@`@c@nA_BjAkBhBgDn@iAr@gAh@s@d@i@l@o@l@e@j@c@j@_@xAs@f@Sd@Ob@OnBk@JEjBi@ZW^MZIdBg@`A[hA[pHwBj@Q|EwAdA[TGr@O", + "słomniki|słomniki miasto": "}cuqH{wmyBnCo@h@Mh@Ob@Oh@QjAa@zAg@LE`DmAbBaAt@o@n@i@l@o@xAiBxAkB|AeBr@i@zEmFhDwDfCqCtJuKhAsAlAkBVe@f@aA`AuBxAeDp@_BzBgF", + "słomniki miasto|niedźwiedź": "oprqHulpyBl@uArAwCv@uAn@cAxAiB~@{@l@g@x@i@z@e@`Aa@`AYt@Ov@KnAK|@?bABrAJ^DzANfHt@zFj@tGn@tGn@lBRpFh@bAFz@Bh@AXKlAGdAKxAWz@Sz@[|@]dAg@vD_CvEyCdEmCzAaAzA}@|@c@z@YfAWfASjAGjAAnAFtAPdATvAd@nC`AdBl@lAb@hEzA", + "niedźwiedź|goszcza": "sgmqHskqyBzDtAfDdAxBp@x@XbExAlFjBfDpApDxAtChA`A^hKlDjGbCjAd@|@b@z@f@t@j@lAdA^`@d@h@`AtA~@`BdA`Cr@pBl@xBd@`CTvARzANxAF~@Lt@@ZJhCHxCFzCJnDJbCJnAV|B^bCf@zB`@|A`@pAf@nAz@bBx@tApAhBj@l@p@n@bAv@`Al@fBz@h@NpBbAhAHfABhBGhBWbCw@", + "goszcza|łuczyce": "g|hqHu`myBh@Sl@[~A_ArAw@t@c@b@WPMJGbDqBnAw@lAi@rEmB|@Yx@WvA[~Cq@~A[x@U`A[`Ac@bAk@r@g@|@q@z@y@|ByBlAiAtAuAn@m@dA}@z@m@r@e@z@c@|@_@t@YzKyCtDaApD}@jBi@`AYt@YrAk@hAo@h@]pAy@dBmAdCeBjCmBhAw@XSf@]dBmA", + "łuczyce|baranówka": "irdqHaroyB`Au@`Au@hAkAn@q@l@q@d@m@f@s@bA{Aj@aAf@_AjAeCrCkGHQjEqJRu@dAaC`A{Bt@qBb@wAd@iB\\iBb@}CVcCNkBP}@b@gFZaETeCVmCVkBZcBDQZyAd@cBd@sAj@wAt@{Az@uAd@q@t@_Aj@k@dA}@v@m@fAk@p@YbA[~@U~@On@EnACjA@rBH~BJxBJjBHxAFZ@l@@nERvCJ", + "baranówka|zastów": "ebaqHozsyBzBJfEPhEPxAHxAL`AJtARz@Lz@LnC`@nBXtBXdANr@Nz@Tj@Rf@Pn@Zp@^|@p@|@v@z@|@x@dAz@tAx@|Az@jBlAxCP`@t@dBdAfCbA`CrB|EtBbFRd@JTr@bBr@bBvBbFzClH|ArD|ArDrL`YjBpEJT^z@xCfHXr@`FzLnCtGnClGpAzC`CpFjAlC", + "czarnca|knapówka": "{neuHycuxBLjLDjB@`AJvDF~AH~BLxBPrB`@xCd@lCp@rCv@fC|ArDdBdDx@jAz@dApApAtAhA|FtEvBzB|B~ChA~BjAbCv@jCr@lCfDjMbAzCt@`BpA~BhBzB|BzBtCzBlG|EhMxJdMvJjGzEVRjNtKXTb@`@p@j@t@p@Tf@`DdCdAv@", + "dorota|juliusz": "gz{qHstttB`C`Br@d@Oz@rBvAxA`A~DrCdBnAxDlCtBtA\\Tb@\\r@h@^\\`@^^^\\`@\\`@TZZd@V`@T^Xj@Vf@Xp@Xr@Zv@Tr@Tr@Rr@Rx@Pv@Px@Lr@Nx@Jv@L`AHx@JbAFx@FdAx@rPFtAF`BBv@Bt@B|@BjB@zAVrWBbAdApfA@p@@b@F|GDlC@dBBbB@jA@pA@xA@~ADfEBlB@|A?pA?tA?lAAvAA`AAv@A~@OjLAXB`B?pA?dB@tA@vABpADxAFtAFrATtDn@`KDh@jApR", + "juliusz|sosnowiec dańdówka": "gyyqHg}itBRxC@Tx@xMJ~AhAhQBd@ZbHJ|ALtAH`ALnABVLdAPrANfARnAPdAThAThAXjA\\xA\\tA~Uf`Al@~BT`ALl@Px@Lx@N~@Hj@Ff@D^HdALnAF`AHfBDbB@jA?|A?~@ChAC`AGtAGhAMhBM|ASdCu@`LKtBCzAC|A?dBLpHGn@", + "charsznica|gajówka": "q~qrHwnsxBJbAJfANjATfBjBlNpA|JJv@Lx@Lz@N~@PbARdAPz@T`ATz@V|@Tt@X|@Zx@Xt@Zv@f@jA~ArDZt@Xp@Vt@Tn@Tt@Rp@Rx@Np@P~@Lt@N|@J~@Hz@Hx@F|@F|@@X@f@Bz@@`A@b@?vAArAClADt@c@zX]xTCnAEpAEvAGvAGrAIrAKpAMzAKlAOrA{@lHO`BQ`BO~AMdBKvAKtAEl@IrAGtA[xGeC|i@I~AIfBKbBK|AO`BMzA}@lJI`Ai@`G", + "gajówka|gajówka apo": "euqrHspixBeA~KMpAyCx[MrASfBQzAUdBSxAU`BU~AWxA_AxFoDjTkC`P}AnJs@dD", + "gajówka apo|jeżówka": "crrrHumexB_CrNU|AQbAOfAQlAQrASvAOpAaGrh@OrAABOpAQrASpAQjASrASlAUpAI^kE~UIhAOx@Kv@Kx@K|@Ir@Ix@Ex@G`ACp@Cx@Cx@?x@?v@?h@?d@@j@Bz@D|@Dx@Dz@Hx@H|@Jx@Hl@N~@Nz@Nr@Px@V`AV|@Xx@Vr@Vp@Vj@Xl@\\n@`@p@Vd@f@fAtAvBb@r@Zh@Zl@Xj@Zp@Vn@Vp@Rp@Tr@Rt@Rv@Nr@Px@Lx@Lz@Jv@J|@Hz@F|@Fx@B~@Dx@@~@BdA?V?h@JpJ@lABjABdAFjA", + "jeżówka|wolbrom": "gsrrHkl}wBDhADp@Dv@Lb@HfAJdAFj@Ff@J~@Jv@L~@RnAPfAThATjAXfAVfAXbAZhA`J~[X~@ZdAX|@^bA\\~@^|@`@~@Zr@b@z@b@x@d@z@`Vxb@bKvQTb@Zh@Xd@\\f@^j@^d@b@f@`@`@d@d@\\Xd@^^V`@Vb@Th@Vf@Rd@Nl@P`@Hf@Hh@Hd@Bd@Bf@@d@?l@Cf@Cf@Id@Gh@K`@Id@M|HoBv@Sh@MTDREd@In@Ih@Ej@Eb@A`@Ap@?f@@J@l@Bh@DZDPBn@Jn@Lh@Lf@NVJNDd@RVJJFh@Xb@VTNVPTR`@\\^^`@`@^`@\\d@^f@\\f@Zh@Xh@JTNXXn@Xp@Vp@Tp@Rp@Rt@Pp@Pv@FTH`@Lx@Nz@J|@Jx@Hx@Dp@Fr@DjABfA@`A?~@C~@At@E~@GbAIjAKnAMjBa@~EKjAK~@Kz@Kv@Ot@Kn@Ot@Qr@On@cAzDOj@YbAYdA_A|CgCvIqKl^IV{AjFU|@Qp@St@Ot@UdAS|@Mv@Mt@CHKt@Kp@OlA", + "wolbrom|zarzecze": "ivnrHc}rwBOjAGj@MzAIdAIdAGbAEhABf@CdAC~@CbAA~@Ap@?\\?p@@vA@|ABfAB`AFnA?PFjABRDv@F~@Fl@Dj@LlAPzAJz@L~@XdBTrANx@R~@`Qv|@pFpYf@fCdAnFVhA@F^`Bd@~Af@bBVr@\\z@Zv@`@`An@zAvB|E\\x@Zx@Xt@Xx@Vv@Tz@T|@Rv@R~@Pz@N~@`@hCpAdI\\zB|AtJjOhaAl@zDvA|IhDjT~AhKtAvIRhAPfARdAVjAVjAVbAXdAXbAVv@DNZ|@\\`A\\z@Vp@", + "zarzecze|zarzecze apo": "kokrHchfwBTd@BFf@dAb@z@\\n@RJd@x@h@x@b@l@h@r@b@h@`@f@f@h@d@d@d@b@h@f@j@d@p@f@p@d@lDfCVN^Xb@Xb@X`@V`@TTVj@X", + "zarzecze apo|chrząstowice olkuskie": "mljrHydewBb@RhDvAVJlMnFNHhVbKfN|FfN|FDB`DrAlFzB", + "chrząstowice olkuskie|jaroszowiec olkuski": "ysgrHsvcwB`@Pd@T\\Rj@\\`@Xd@Z^Z\\ZHHb@b@d@f@^d@\\b@h@t@Zf@Zf@\\l@R`@HP`@x@Zv@Vp@JVFTXx@Vz@Tz@Rx@R|@P|@PdALz@Lz@LfAJbAF`AHbAD`ABr@@NBdABbA?fA?n@?x@Ax@Cr@Ad@C|@E|@GbAKlAeAbNEn@q@|IKrACRIv@MnAMdAOhAQlAUnAQbAUnAUlAcNxu@WrAQjAEPOdAQlACl@Gj@m@tEQpAi@hEe@jDM`AaLh|@S`BQrAKbAEj@CNG|@GjAEx@C~@CdAAdA?bA?b@?\\BjABz@B`AFbAF|@FbAJ~@J|@Fh@Hd@Jt@Lt@Lr@n@pDH`A", + "bukowno|bukowno przymiarki": "yfxqHamvuBOlCYnFKdBM~AIx@K`AObAQbAQ`AoA|GaBxIeApGwUhoAc]piBOr@O|@Mt@Kr@Mx@Ir@Iv@Iv@Et@Ev@En@Cj@Ax@C~@?jA", + "bukowno przymiarki|sławków": "}kzqHg_nuBIbBAxHGhm@?nDAjA?jAAjACjACbAGlAGdAIlAKfAKbAMfAMdAQbAQbASbAUbAS~@Y`AY`AWz@_Ln\\wD`Lw@`CeDrJWr@Wp@[r@Wj@]n@[j@[h@]f@]d@_@d@c@d@_@^c@`@a@Z_@Xg@Zc@Vc@Ta@Pa@Pm@Pe@Li@Jc@Fe@Fe@Da@@O@UJm@?i@Cm@Ce@EqIs@e@Eg@Ce@C_@?k@?i@Be@D_@Dg@Hc@Hc@Jg@Pc@P_@Pc@Tg@X]Tc@Z_@Z_@Za@\\m@l@kBfBYZ]^]`@_@b@]f@[b@qE`HM?", + "sosnowiec kazimierz|sosnowiec porąbka": "se}qHwjktBTVh@f@|@t@`@Z\\T\\TZPl@Xf@RvAh@jC`A|HvCb@PRHLFb@Rd@V^Tf@\\^Z`@\\`@\\^b@Z^b@h@Xb@^j@rBjDbEdHjD`GdAfB~DbHLPn@hAn@bAZh@\\f@Xb@@@\\b@^b@^`@NNn@j@^X`@X`@Xb@Tb@Rh@VpJfE~@`@z@b@dAl@d@Z^ZVRXVRR", + "sosnowiec porąbka|sosnowiec dańdówka": "k|yqHyjhtBRRNPNPRVZ`@NRPVT`@Xd@Zj@Xp@Vj@Tn@Tn@Tt@\\rAn@bCBJp@jCLf@|WxeAZnAl@~BT~@Ll@Nx@Lv@N~@Hj@Fd@D^JdAJnAF`AHdBDbB@jA?zA?|@CjAC~@GtAGhAMfBO|AUfCe@|GOfCIpBC|AC|A@`B?BB~BH`F", + "sosnowiec maczki|sosnowiec kazimierz": "ioxqHo}qtBe@dAMZUl@CJ_@jA]rA[`BU~AQ~AMbBGbBCfBCfBK~MC`ECpAElAIrAMtAEVKv@SlAUjA[dA]fA_@`Ac@~@e@x@w@hA}@jAcAtAsAbB}TpXeBvB[`@w@`AkA~Ame@ds@_HdKi@t@m@~@oAbBY^UZGFm@x@{@hAUZUVYXWV[VYV[TUP_@V]Rw@`@u@\\a@Pa@Lc@Je@Ja@Dc@Bc@@c@@e@Ai@Ac@A[AUC]Ek@Ie@KA?e@Mg@Oa@Og@Sc@Si@YUO]L", + "sosnowiec kazimierz|dąbrowa górnicza strzemieszyce": "se}qHwjktB]]W[[a@S[_@i@]k@{@sA_@o@gBuCKMwBoDQWoAsBgBsCYg@_MaS{CaFOSyAyBgAuAkAoAs@q@iB{Au@i@y@i@iAm@sAo@CAqAg@cA[uD_AiMiCmFiAaIgB_FaAiBa@oAYy@QgAUkA]m@Sk@Wm@[m@_@eBqAgAgAy@aA}@qAu@mAg@eAa@aAq@kB]gAYcAGWMk@UeAMq@W_BOwAMsAIoAE}@EwAEaBA{A?yA@YB_AFmBL_BJmAToBVeBRcAJc@F[H[H]`@yALe@V_APs@Tw@No@Pm@FWDUH_@h@qC^qB`@qBP}@VsA~@yEVwAf@iCv@aERgATgATmAZaBbAiFlB}JbCiM~AkItAeHF_@zEuVdBcJJg@", + "dąbrowa górnicza strzemieszyce|dąbrowa górnicza wschodnia": "gk`rH{uutBbAiF`@uBh@wCb@wBf@mCTkATmAPeAHk@Jk@Jw@Jw@Jy@Hy@JcAHcAHeAHgAD_AD_ABs@Bg@@i@BaA@aAB_C@c@?W?W?i@Aa@?U?W?S@W@iA?G@i@?_A@eB", + "dąbrowa górnicza wschodnia|sławków": "w}_rHqhxtB@iE?_A@oA?q@?u@@u@@y@@}@ZqX\\aY@sABqAF_GDiEBqABoAL}EBy@F}CD_DFcFBwAf@yc@^o[B_ABuADgADkA\\cInAsYd@oKjAeX`@_Jv@}Q~As^^kIDcAD_AB_ABy@@{@?}@A_A?{@C{@C_AE}@Ew@]qFG_AGy@E}@E{@EeACu@A{@?}@?_A@y@@_AB}@DaAFy@Ds@Fm@H{@DKJc@Jo@Jo@Jq@Lm@Ls@Ni@Pu@Ru@Ts@Z_ATq@Zy@Ri@d@oAXu@l@aBb@iAZy@Vq@Vk@Rc@Vi@Xg@`@s@^k@\\i@l@_Ah@y@l@aAxBuD^m@h@{@b@o@HOH_@rAsBt@iA", + "sławków|bukowno": "}d~qHudguBL?pEaHZc@\\g@^c@\\a@\\_@X[jBgBl@m@`@]^[^[b@[\\Uf@Yb@U^Qb@Qf@Qb@Kb@If@I^Ed@Eh@Cj@?^?d@Bf@Bd@DpIr@d@Dl@Bh@Bl@?TKNA`@Ad@Ed@Gb@Gh@Kd@Ml@Q`@Q`@Qb@Ub@Wf@[^Y`@[b@a@^_@b@e@^e@\\e@\\g@Zi@Zk@\\o@Vk@Zs@Vq@Vs@dDsJv@aCvDaL~Ko\\V{@XaAXaAR_ATcARcAPcAPcALeALgAJcAJgAHmAFeAFmABcABkA@kA?kA@kA?oDFim@@yHHcB?kAB_A@y@Bk@Do@Dw@Du@Hw@Hw@Hs@Ly@Js@Lu@N}@Ns@b]qiBvUioAdAqG`ByInA}GPaAPcANcAJaAHy@L_BJeBXoFNmC", + "bukowno|olkusz": "yfxqHamvuB?ENuCF_ADqAD}A@aB@aBJeTBoEF{Q@wBBmP?M?eA@gC?sI?sAAkACmAEiAEgAGgAGgAIkAIeAMeAKcAOkAQmAQgACMQgAkAqG_@sBQcAS_AKe@IYU}@W}@Uw@Sq@Uo@[y@Wm@AU{AkDkBaE]y@Yu@[_AYw@W{@U}@U_AU_ASeAQ}@OcAQgAMaAKaAm@uFiA{Kwn@meGoAqLo@mGq@mGo@mGMkAGm@Eo@Go@Eo@Cm@Eq@Cm@Ao@Co@Ao@Aq@?o@?o@?o@?o@@q@@o@Bq@@m@Bo@Do@Bo@Fo@Dq@Dq@Fq@~Fet@f@gGh@_H`@sGn@cI@KH_A", + "olkusz|jaroszowiec olkuski": "ypzqH_ekvBd@}FNcB^{EXoD\\gER{BRoCn@{HlA_PLwAJuAHw@F{@H{@Hy@Hw@H{@Hy@Hw@Hy@d@oEHw@Hy@H_AH_AD_@PqBHeAHeADm@Dm@Dc@Ba@Bk@Ds@B_@Ba@Bs@?KBg@@OBo@@o@Bq@@s@@w@@u@@S?c@?i@@e@?[?]?Y?c@?]?]A_@?[A[?[AWAc@Ac@Ca@AYC_@C_@AWCWEc@Cc@Ec@Ga@Ea@E_@Ie@Ge@Ie@EYEUMo@Mo@G[COcAgFEOoAsGOs@Mq@Oq@Ia@Ka@Ke@Me@Me@Mc@Og@M_@Oc@K[Si@Qa@M[AEO_@Q]Wi@Q]Q]Q[Q]U]U_@W]U]Y]W]W[Y[WYYYYY[WiNcMqAmAo@k@o@k@_@[][_@Y_@Y_@Y]Y_DcC_DaC}CaCaOcLq@g@o@i@_Aq@}@s@oPiMw@m@u@k@_Ao@}@g@y@c@o@Yo@Ws@Wo@Sm@Qm@Mo@Mk@Kk@Io@Go@Ek@Em@Ai@?o@?q@@kAF??o@Dk@Hs@Ho@Lo@Nw@PaM|C}@T{@Tq@Ty@Xs@X_UlJeBr@s@ZaA`@m@Ts@Vi@NIGs@Pg@Jc@Hk@Jg@Fa@Dg@Dg@De@Bq@@u@?y@Am@Cw@Eq@Gs@Is@Iqw@kJgLqA{@Ms@Kq@Ms@Om@Qs@Sk@SaA_@g_@}No@Ws@Yk@Wq@]k@[_@SMGaf@}WIEg@[k@]c@]]Y_@]]]a@a@a@g@_@g@SYSYa@u@a@s@[q@aAuBe@aAuBuEUe@kAgCYo@Qc@Wm@Wq@wC{HeBqEqDqJUm@Uq@Ww@Uw@Sy@Qs@Qu@_@sBkAwGQ}@u@eEEUo@sC", + "jaroszowiec olkuski|zarzecze apo": "ubhrHacyvBIaAo@qDMs@Mu@Ku@Ie@Gi@K}@K_AGcAG}@GcACaAC{@CkA?]?c@?cA@eABeAB_ADy@FkAF}@BODk@JcAPsARaB`Li|@LaAd@kDh@iEPqAl@uEFk@Bm@PmANeADQPkAVsAbNyu@TmAToAPcAToAPmANiALeALoAHw@BSJsAp@}IDo@dAcNJmAFcAD}@B}@@e@Bs@@y@?y@?o@?gACcACeAAOCs@EaAIcAGaAKcAMgAM{@M{@QeAQ}@S}@Sy@U{@W{@Yy@GUKWWq@[w@a@y@IQSa@]m@[g@[g@i@u@]c@_@e@e@g@c@c@II][_@[e@[a@Yk@]]Se@Ua@QmF{BaDsAECgN}FgN}FiVcKOImMoFWKiDwAc@S", + "zarzecze apo|wolbrom": "mljrHydewBk@YUWa@Ua@Wc@Yc@Y_@YWOmDgCq@e@q@g@k@e@i@g@e@c@e@e@g@i@a@g@c@i@i@s@c@m@i@y@e@y@c@w@k@gAg@eACGUg@Wm@]}@_@cA[_A[cA[cAWeAYgAWgAUkAQaASkAQeAuAwIaBiKiDkTuA}I{PegAgBgKYeBqAeIa@iCO_AQ{@S_ASw@U}@U{@Ww@Yy@Yu@[y@]y@wB}Eo@{Aa@aA[w@]{@Ws@g@cBe@_B_@aBAGWiAeAoFg@gCqFqYaQw|@S_AOy@UsAYeBM_AK{@Q{AMmAEk@Gm@G_AEw@CSGkA?QGoACaACgAA}AAwA?q@?]@q@@_ABcAB_ABeACg@DiAFcAHeAHeAL{AFk@NkA", + "wolbrom|gajówka apo": "ivnrHc}rwBNmAJq@Ju@BILu@Lw@R}@TeANu@Ru@Pq@T}@zAkFHWpKm^fCwI~@}CXeAXcANk@bA{DNo@Ps@Nu@Jo@Nu@Jw@J{@J_AJkA`@_FLkBJoAHkAFcAD_A@u@B_A?_AAaACgAEkAGs@Eq@Iy@Ky@K}@O{@My@Ia@GUQw@Qq@Su@Sq@Uq@Wq@Yq@Yo@OYKUYi@[i@]g@_@g@]e@_@a@a@a@_@_@a@]USWQUOc@Wi@YKGWKe@SOEWKg@Oi@Mo@Mo@KQC[Ei@Em@CKAg@Aq@?a@@c@@k@Di@Do@He@HSDUEi@Lw@R}HnBe@La@Hi@Je@Fg@Hg@Bm@Be@?g@Ae@Ce@Ci@Ig@Ia@Im@Qe@Og@Si@Wc@Ua@W_@We@_@]Ye@e@a@a@c@g@_@e@_@k@]g@Ye@[i@Uc@cKwQaVyb@e@{@c@y@c@{@[s@a@_A_@}@]_A_@cAY}@[eAY_AaJ_\\[iAYcAWgAYgAUkAUiAQgASoAM_AKw@K_AGg@Gk@KeAIgAMc@Ew@Eq@EiAGkACeACkAAmAKqJ?i@?WCeAA_AEy@C_AGy@G}@I{@K}@Kw@M{@My@Qy@Os@Sw@Su@Us@Sq@Wq@Wo@[q@Yk@[m@[i@c@s@uAwBg@gAWe@a@q@]o@Ym@Wk@Wq@Ws@Yy@W}@WaAQy@Os@O{@O_AIm@Ky@I}@Iy@E{@Ey@E}@C{@Ak@?e@?i@?w@?y@By@By@Bq@FaADy@Hy@Hs@J}@Jy@Jw@Ny@HiAjE_VH_@TqARmARsAPkARqAPsANqA@CNsA`Gsh@NqARwAPsAPmANgAPcAT}A~BsN", + "gajówka apo|charsznica": "crrrHumexBj@iD@EzAiJjCcPnDiT~@{FVyAT_BVaBRwARcBP{APaBN{AD]rC{ZLqAlAuM`@kEJ_Az@mJL}ANaBHuAJ}AHeBJkBBq@`Cmh@ZwGHwAHgBBYHmAL_BJuAPqBP}APeBz@qHFo@Da@LiAJ{AJqAHsAHuADuADwADqABmA\\{Tb@{X@s@BmA@sA?wAAc@AaAC{@Ag@AYG}@G}@Iy@I{@K_AO}@Mu@Q_AOq@Sy@Sq@Uu@Uo@Wu@Yq@[u@_BsDg@kA[w@Yu@[y@Y}@Uu@W}@U{@UaAQ{@SeAQcAO_AM{@My@Kw@qA}JkBmNUgBOkAKgAKcA", + "charsznica|tunel": "q~qrHwnsxBGcAGcAE_AC_AEgA?c@IoEASCiBM{ICeA?y@AsA@kA?eAB{@@_AHqEJiETwJVwLHmDDwAJgF@cAB}@?}@?{@A_AC{@Cy@?OEs@Es@KgAI}@Go@Mu@OcAO}@S_AOs@Ss@Sw@Uq@Yw@Sm@Wk@KWKU_@s@[i@[i@]i@_@e@[a@c@g@a@_@c@a@g@c@_@Wa@Ye@Wc@Ug@Sg@Qg@Oe@Mg@Ke@Gi@Ge@Ei@Ai@?i@@c@Bg@Dg@Fg@Je@Jg@Ne@Ne@Rg@Tc@Tc@Va@Ze@^SPq@l@_@`@a@f@UXY^UZQDiA~AySfZm@v@_@d@]`@c@b@c@`@a@\\a@Xg@\\c@Vg@Ve@Rg@Rg@Ng@Lg@Je@Hi@Fk@Dg@@i@?g@Ag@Cg@Eg@Gi@Kg@Ke@Mi@Qe@Sg@U[S_@Qe@]e@]_@[a@a@_@a@_@a@_@g@a@i@]g@Wc@We@c@y@Ys@Yq@Wq@Uq@Uu@Su@Sw@S{@Ow@My@M{@Kw@K}@Iy@Gy@G_AE_AC_ACaAAaA?_A@}@@}@By@DeABu@D{@FeAn@kKDiAFiABcAD{AB_A@aB?yA?kAA}@AYCmACqAGkAGsAImAKqAKkAMmAMoAQuAqA_KQoAUoBMmAOqAIkAKmAIqAGoAEoAEqACkAAsAAoA?mA@oA@y@@Y@_AD{ADaALgFXeGBm@Bq@Bs@@o@@s@?q@?aAA{@AaAC{@E_AG{@Ei@AUIy@K_AKy@M{@My@Q}@Os@Ok@Qq@Qm@EMK]Qi@Sg@Ys@M[IQ]q@Wi@[e@KSKOYc@Y_@[_@Y]]_@MMMK_@]_@Ya@Y]U_@S]S]Oa@Qc@O]Ka@Ka@Ia@Ia@E]Ea@Cg@Ac@?e@?e@BY@_@BeBJU@eAH_@B[D]D[@[@E?_@@eB@U?q@DaDJ_@@WNW?e@?AO_@C]C_@Ec@Gc@I_@IUNKESGa@Mg@Sa@QoCsA", + "kozłów|klimontów apo": "ysbsHohdyBuBe@iH_BmEaAcB]qBe@}EeAYI{Co@qEaAiBc@qJsBiZyGiK}BgBc@}EcAmCa@yJyBmEaA}KcC_LeC_QyD", + "klimontów apo|gniewięcin apo": "mdhsHw`fyBuCo@_B[uFoA}VuFaKyBkGuASS_E_AoJuBcD{@wBq@aC{@iBy@c@U{@c@cAi@}BuAqAy@kA{@yR_O{QsNmAeAoAqA{AgBmBoCcIgNeCiDOSuA{AyAsAoCqBwCcBeBu@eBk@", + "gniewięcin apo|sędziszów": "mfnsHi{iyBiB_@iB[oBOkBGsAB_ABsCV}Hz@sRtBmPhBmPhBaBLeBDkBAgBImB[{AYuAa@qBy@mAo@WOiAw@}AiA}A{AoAwA_AoA_AsA_BkCiDoIeDwJ]aA_@kA{DmLSk@GU_DuH{AoEeA_DqC_JgHmTyC_JQi@m@gB", + "zastów|baranówka": "ik|pHe}myBkAmCaCqFqA{CoCmGoCuGaF{LYs@yCgH_@{@KUkBqEsLaY}AsD}AsD{CmHwBcFs@cBs@cBKUSe@uBcFsB}EcAaCeAgCu@eBQa@mAyC{@kBy@}A{@uAy@eA{@}@}@w@}@q@q@_@o@[g@Qk@S{@Us@OeAOuBYoBYoCa@{@M{@MuASaAKyAMyAIiEQgEQ{BK", + "baranówka|łuczyce": "ebaqHozsyBwCKoESm@A[AyAGkBIyBK_CKsBIkAAoABo@D_AN_ATcAZq@XgAj@w@l@eA|@k@j@u@~@e@p@{@tAu@zAk@vAe@rAe@bB[xAEP[bBWjBWlCUdC[`Ec@fFQ|@OjBWbCc@|C]hBe@hBc@vAu@pBaAzBeA`CSt@kEpJIPsCjGkAdCg@~@k@`AcAzAg@r@e@l@m@p@o@p@iAjAaAt@aAt@", + "łuczyce|goszcza": "irdqHaroyBeBlAg@\\YRiAv@kClBeCdBeBlAqAx@i@\\iAn@sAj@u@XaAXkBh@qD|@uD`A{KxCu@X}@^{@b@s@d@{@l@eA|@o@l@uAtAmAhA}BxB{@x@}@p@s@f@cAj@aAb@aAZy@T_BZ_Dp@wAZy@V}@XsElBmAh@oAv@cDpBKFQLc@Vu@b@sAv@_B~@m@Zi@R", + "goszcza|niedźwiedź": "g|hqHu`myBcCv@iBViBFgACiAIqBcAi@OgB{@aAm@cAw@q@o@k@m@qAiBy@uA{@cBg@oAa@qAa@}Ag@{B_@cCW}BKoAKcCKoDG{CIyCKiCA[Mu@G_AOyAS{AUwAe@aCm@yBs@qBeAaC_AaBaAuAe@i@_@a@mAeAu@k@{@g@}@c@kAe@kGcCiKmDaA_@uCiAqDyAgDqAmFkBcEyAy@YyBq@gDeA{DuA", + "niedźwiedź|słomniki miasto": "sgmqHskqyBiE{AmAc@eBm@oCaAwAe@eAUuAQoAGkA@kAFgARgAV{@X}@b@{A|@{A`AeElCwExCwD~BeAf@}@\\{@Z{@RyAVeAJmAFYJi@@{@CcAGqFi@mBSuGo@uGo@{Fk@gHu@{AO_@EsAKcAC}@?oAJw@Ju@NaAXaA`@{@d@y@h@m@f@_Az@yAhBo@bAw@tAsAvCm@tA", + "słomniki miasto|słomniki": "oprqHulpyB{BfFq@~AyAdDaAtBg@`AWd@mAjBiArAuJtKgCpCiDvD{ElFs@h@}AdByAjByAhBm@n@o@h@u@n@cB`AaDlAMD{Af@kA`@i@Pc@Ni@Ni@LoCn@", + "słomniki|smroków": "}cuqH{wmyBs@NUFeAZ}EvAk@PqHvBiAZaAZeBf@[H_@L[VkBh@KDoBj@c@Ne@Ng@RyAr@k@^k@b@m@d@m@n@e@h@i@r@s@fAo@hAiBfDkAjBoA~Aa@b@u@p@w@j@aBbAe@VmC|AwGrDoPfJeAn@iAn@oCzA}GvDsBjAuLzGaB~@eB~@kE`C}BtAkAx@{@n@s@l@GFiAhA_AhAcAjA", + "smroków|szczepanowice": "omzqHgdjyBwFhHeQxTaBpB_BfB{AnAm@b@w@f@wAp@wAj@yFnBg@PmGxBuHhCqHdCiA`@gFfBqAl@qAr@aDnBcEdCe@X{At@QH{GdEyBzA}@v@eA`AeAhAaAjAsCtDyC|DkMlP", + "szczepanowice|kamieńczyce": "ei_rHsefyBeChCKH{@v@aAt@g@\\kBnAoGtD_DhBuCdBwEpCyAbAeBxA{@|@sFdGkMpNyCbDaDjCgDfBoEhAkFx@cDh@mD~@}CzAqA|@gBvA{DfDcCzBaAt@}AbAoGjD{D~ByEdC}CfBuA~@", + "kamieńczyce|miechów": "gkdrHgobyBmF`EUP}AdAw@b@aHfDcH~CcJbEsIxDgDjAc@PwDdB_A`@qBz@wBr@kBXuAF{AAsAOc@GaBa@o@WcB{@aAs@aByAoA}AsAwBq@wAm@sA{BaG_A_C{@iB}@_BeA{A{@aAaA_AoA}@}A}@}BaAqBy@}Am@aBo@WMwIoDoDeBeLuE{Am@", + "miechów|dziadówki": "{zirHsmcyBuBy@sC}@mBy@cBq@kAe@_@OW?gDsA_Bg@}A[{AMmACkFNaGPeBFuBFc@@_AByBCeBKgDa@kBUg@GkR}ByR_CcCMcCByBTMDqBb@uBt@sBhA_C`BwBbBuB`Bq@Z]VuDvCcE`D{B`B_B|@kAd@sA\\gBVw@By@@sAGyAQwA]sAi@eI}DqFsC_Aa@w@Wo@ScAQcAKeBEoBH}AVaAVaA^y@^uAv@kC|AaAl@yDxByDtBaA`@gA^kBb@eCb@cAN", + "dziadówki|tunel": "alrrH}|byByEp@oFv@{NxBeBVuC`@yB^wBf@oAb@mAh@s@`@u@b@q@f@aBvAaAdAaAlAu@fA}@xA{@`B_AjB_FzJk@jAaMvVqCvFa@v@]n@_@j@[d@[d@]b@[^_@^_@\\_@Z_@X_@V]REB[Pa@Rc@Pa@Nc@Lc@Lk@LeEx@iNlCeFbAeNpCw@Nq@NeARe@Hg@Hg@Hq@Hg@FK@a@DoK|@y@H{BRe@B_@@WNW?e@?e@A_@Ae@Ga@Eg@Kg@KKESGa@Mg@Sa@QoCsA", + "klimontów apo|klimontów": "mdhsHw`fyBuCo@_B[uFoA}VuFaKyBkGuASS_E_AoJuBcD{@wBq@aC{@iBy@c@U", + "klimontów|gniewięcin apo": "ucksH}agyB{@c@cAi@}BuAqAy@kA{@yR_O{QsNmAeAoAqA{AgBmBoCcIgNeCiDOSuA{AyAsAoCqBwCcBeBu@eBk@", + "łódź chojny|łódź kaliska": "}quzHis~uBU|EC^AZ?XAv@Az@ATA|@ErBErAMzBGnA{@bQk@~K]tGUhEMlCK`BK|AIrAKhA[vDKlAEf@Eb@Cf@C`@Cv@A\\Cx@?l@AhA@x@@tA@dABr@@d@Bf@Dd@@XHbAJfAHv@Jx@Jn@Lp@XxAR~@H^FPDRJ\\Nd@Xz@JXVr@Rb@b@`Ad@dA|B|EbD|GtChG|@lBf@hAZx@l@bBB^ZdAJ`@Pp@RdAZdBHj@Lv@Ff@Fr@Fp@Fl@Dx@Dz@Bd@Bt@@h@@|@@p@?BAv@?T?d@Az@EjACj@Ex@Gt@El@KdAEf@Kt@Gb@OfAQbAYdB}@dFcBzJmA|GMv@Ot@S|@Mn@St@IZMd@Mb@Sj@Ur@Wn@]v@Yj@_@r@Yf@_@l@]f@ORu@`A[b@s@|@i@r@_AjAwCzDyAjB}@jAg@p@m@t@u@`Ac@f@a@b@u@v@m@h@k@d@WP[RQJe@XKFOH]Pi@Vo@XoEpB]NQHUH[L_@N_@L_@L}Br@w@V_@Na@Nc@PYLc@PUJUJUJcAd@q@ZWJ_@P]Lc@P[JYJSFQDg@LWF_@FYFa@Fg@HeJtAa@Fc@D_@D]D[BU@U@YNoCJa@@S@S@Y@Q@Q@O@]BI@m@FUB]BOBSBQBi@FIB_@Fa@HiARcATa@HA?u@PI@{A^kCj@OBeE~@kB`@c@J_@Fa@HaFz@kCb@gBZ}NdCs@LUDYFUF[HWHYJUJUJE@UJMF}BhAm@Xq@ZiB|@WLcAd@a@ROHOHWNMHQJIDUNSLOLSNUPIFONKHMJSPKHWTMJWTmAdAGD[XCBYXSPGDYXoClCGFcA`A{@t@cA~@Sd@", + "łódź kaliska|łódź żabieniec": "ar|zHynquByCjBMHwHzEqIlFSLYN_@R[NWJYJUHUFUF{@RWFWF[JWJWJYNWLWNWNSLo@`@c@XIF]RSL}@h@gDrBaAn@_@TSLgC|AoAv@QJQJKHSJYPWNYNWLWNOFQJQHYNWNQHWNYNWPWPMHgC|AWPGBWPQJWNYNWPWNQJu@`@_@T[PQJ[P[R_@TGD]R_B`AmDzBoBjAu@d@ED[P[Ra@VcAn@aF|CqFhDoMdIgDfBcDrBIDyCjBiC~Ag@ZkAt@o@^y@h@ULSLOHQHULYL[Nc@Pu@VcEvAYHuBr@cDfAeH`CeCx@gFdBgA^sBp@", + "łódź żabieniec|zgierz": "anc{HoemuB{QhGm@Ny@Ro@Lq@Jq@Jq@Fq@Dc@@s@@i@?]?eBGs@Gi@GE?m@Iq@Mm@Mm@Qq@Su@Uw@]i@UyAu@gDgBiAm@q@]iBaA_@S}BoAcB{@}Ay@yDsBsGiDCCcQeJgAm@aDcBeCsAqEaCkBcAuAy@sAy@qAw@kAq@_BcAiHmEi@[QK[COKUM]QWMSKOGOGUKWKYMe@Ok@Qm@Qe@Mo@Oc@I_@Ga@Ge@I_@C[Eu@Gs@EsF]GAoAI{@CWAc@Cw@Ag@?o@?m@?q@@_@@u@BS@_@Bm@BWG_@D]Bu@HeAJw@HeALw@HoALy@H{@Jq@Fy@J{@HG@gAJoCXaD\\cBPcAHk@Bs@@k@?g@Aa@AA?_@E_@C]EUEa@G]I]Ia@KYIUG]MWKWM_@OYOYO[QYQ[SWSSOWSSOaA{@_A{@sBoBeC{B[[_@_@YYWYa@c@EGSS_@]s@q@SSg@e@wAaA", + "dąbrowa górnicza ząbkowice|dąbrowa górnicza gołonóg": "wmkrH_~ptB^^P\\@@h@h@VVfAdAj@h@n@l@t@t@DDl@l@`@d@|AdBl@n@VZrB~BxA`BTXTXRV@BVZJLLP`@h@`@j@`@l@`@l@\\j@\\l@FHR^Zj@Xl@Zl@\\v@\\t@Xn@Vn@Zv@Xx@Zx@Xz@vJ`YdA|ChBlFxEbN|BxGxCtId@tADLb@jAjAjDdItUpBhFpDnKr@nBbChH|BxGzAlElBrF`BxElAnD", + "dąbrowa górnicza gołonóg|dąbrowa górnicza": "orgrHmuitB`BxE`BvE|C~IpCdIJXNb@tA~DdJ|Wb@pApCbIvAdExAfEpAtDt@zBhClHbKbZVr@zAjEzAlEZx@tDtKDPJj@Nb@Nd@L`@J^FRFVFTHXHZDVHXF^FXFXF\\DZDXFZDZFb@Fd@Dd@Ff@Dd@Df@BZB^@ZBj@Bh@Bb@@^@b@@b@?Z@`@?\\?^?^?b@A^?`@A^A\\?ZA\\CVA\\A`@Ef@C`@Cd@Ef@Eb@E^E`@Gl@It@Kz@OnA", + "dąbrowa górnicza|będzin ksawera": "}aerH_lbtBMnAOnAi@tEoBfQOtAIt@m@~FWjCGl@AHGl@Gh@a@hD?F_AhIIv@OnACR?j@E^ATCRATCRAZCXAVATA`@A\\?ZA`@?`@?Z?^?\\@^@b@@v@BXBh@Bp@ZfG\\fGb@dIJnBFx@Dt@Ah@Fn@NtBNtB^rEb@hGt@vJPpB@L^tEPpBj@pG", + "będzin ksawera|będzin miasto": "ucerHeo|sBPlBVvBR`BTbBb@xCh@nDl@|EZfCl@`FL|@`AbIj@rENjANnALv@NbAP`ANx@Px@R~@Rz@R|@Nh@V`A^jAb@rAXv@^bA^bA`@|@`@|@d@|@`@v@b@r@^l@f@x@f@p@b@j@f@l@f@l@j@l@l@j@j@h@j@f@n@h@l@b@n@b@l@^l@\\^R\\PZNb@Pp@Xl@Rl@Rj@Nl@Nn@Ll@Jl@H^D", + "będzin miasto|będzin": "iacrHelxsBb@Fd@B`@Bb@Bb@@r@@t@A\\?j@Ch@C\\Ct@Ip@Il@Kl@Kl@Ol@Ql@QTIZM`@Ox@]l@Y^S^U^U^UZS^Y^YzAmAfCqBDCnC}BhBwA|AiA`BmAJGfAy@jA_A", + "będzin|będzin miasto": "obarHmlysBkA~@gAx@KFaBlA}AhAiBvAoC|BEBgCpB{AlA_@X_@X[R_@T_@T_@T_@Rm@Xy@\\a@N[LUHm@Pm@Pm@Nm@Jm@Jq@Hu@H]Bi@Bk@B]?u@@s@Ac@Ac@Ca@Ce@Cc@G", + "będzin miasto|będzin ksawera": "iacrHelxsB_@Em@Im@Ko@Mm@Ok@Om@Sm@Sq@Yc@Q[O]Q_@Sm@]m@_@o@c@m@c@o@i@k@g@k@i@m@k@k@m@g@m@g@m@c@k@g@q@g@y@_@m@c@s@a@w@e@}@a@}@a@}@_@cA_@cAYw@c@sA_@kAWaAOi@S}@S{@S_AQy@Oy@QaAOcAMw@OoAOkAk@sEaAcIM}@m@aF[gCm@}Ei@oDc@yCUcBSaBWwBQmB", + "będzin ksawera|dąbrowa górnicza": "ucerHeo|sBk@qGQqB_@uEAMQqBu@wJc@iG_@sEOuBOuBGo@@i@Eu@Gy@KoBc@eI]gG[gGCq@Ci@CYAw@Ac@A_@?]?_@?[?a@@a@?[@]@a@@U@WBY@[BS@UBS@UD_@?k@BSNoAHw@~@iI?G`@iDFi@Fm@@IFm@VkCl@_GHu@NuAnBgQh@uENoALoA", + "dąbrowa górnicza|dąbrowa górnicza gołonóg": "}aerH_lbtBNoAJ{@Hu@Fm@Da@D_@Dc@Dg@Be@Ba@Dg@@a@@]BW@]?[@]@_@?a@@_@?c@?_@?_@?]Aa@?[Ac@Ac@A_@Cc@Ci@Ck@A[C_@C[Eg@Ee@Gg@Ee@Ge@Gc@E[G[EYE[G]GYGYG_@IYEWI[IYGUGWGSK_@Ma@Oe@Oc@Kk@EQuDuK[y@{AmE{AkEWs@cKcZiCmHu@{BqAuDyAgEwAeEqCcIc@qAeJ}WuA_EOc@KYqCeI}C_JaBwEaByE", + "dąbrowa górnicza gołonóg|dąbrowa górnicza ząbkowice": "orgrHmuitBmAoDaByEmBsF{AmE}ByGcCiHs@oBqDoKqBiFeIuUkAkDc@kAEMe@uAyCuI}ByGyEcNiBmFeA}CwJaYY{@[y@Yy@[w@Wo@Yo@]u@]w@[m@Ym@[k@S_@GI]m@]k@a@m@a@m@a@k@a@i@MQKMW[ACSWUYUYyAaBsB_CW[m@o@}AeBa@e@m@m@EEu@u@o@m@k@i@gAeAWWi@i@AAQ]_@_@", + "myszków światowit|myszków mrzygłód": "uwssH_yauBjJ_g@hCgNrAkHjBwJtAqHp@eCVkAVmAT_AXeATy@X{@Vw@Vw@Zy@Xs@\\w@Zs@\\s@^s@^s@^o@b@q@^k@`@m@`@i@d@k@b@g@`@e@f@g@d@c@f@c@b@_@l@e@`@Yj@_@f@Yh@Yl@[f@Ul@Wl@c@zRgHb@Q^M`@Ol@Uvt@aXvEcBvFuB", + "myszków mrzygłód|zawiercie borowe pole": "c{nsH{qguBnPcGfMqEpFoBrEcB|C}@pBs@fE}AfC_ApBs@fIwCpEaB`VuIrQsGvEcBr@Yt@Yr@[l@Wr@[n@[t@_@r@_@p@a@p@a@r@e@p@c@t@k@t@i@n@i@r@k@l@i@n@m@n@m@l@m@j@o@TUZ]j@q@n@u@h@q@j@u@h@q@l@y@nS{XlCuD", + "zawiercie borowe pole|zawiercie": "uqhsHqrkuBhE_GlAcBbAuAzJgNXa@HKbDoExCcE~@qAz]gf@Xa@`RgWrBqC`EwFp@aAj@y@h@y@`@k@DGh@{@t@kAp@gAh@y@`@o@d@q@\\a@^e@\\_@XYZY\\YXUXSDAXS^SLGNGZQZKZKd@OPETEd@Kd@GFAb@El@EbBGn@Cr@CxBI|CKD?~CKtBIbAEl@Aj@Al@Af@AbACv@Ah@Cf@ApBIhFW~DQ`@AfEStI_@NAxDQ~FWn@El@Ej@Ez@KpCYp@Gt@Gv@EnAGfCK", + "łazy łc|wiesiółka": "e|urH}}duB^rIJbCNdDFdALtCrBbe@TxED|@?LHzAFxADdAB`@FpADn@", + "wiesiółka|chruszczobród": "ysurHyfbuBHb@Dl@B`@@HDp@Fh@Fv@Ht@D`@Db@Jn@LbAF`@F^Hj@Lv@Np@Lp@Nt@VfAT`AX`AV~@X~@\\~@Z|@Zx@\\v@^x@`@x@\\r@b@v@b@t@d@r@d@p@f@r@`@f@n@v@b@f@p@t@l@n@d@d@t@x@rFvFj@l@LN|TrUnJxJvCzCvE~E", + "chruszczobród|dąbrowa górnicza sikorka": "_~rrH}j~tB~C`DnCtCBBv@x@zC~Cz@|@rExE`@b@jKvKh@j@j@l@h@p@f@j@`@j@f@r@d@t@d@v@DXT^b@|@\\t@b@~@\\z@^bA\\~@Z`AVx@ZjAV`AVhAT`AThAPbATpANfAPpALfALpAH`AHx@@TJlAHpAbC|_@@LLjBzA`VF`AFv@FbAJzBD~@ZpGFbAFdAPjCFdAFdAHdAHbA", + "dąbrowa górnicza sikorka|dąbrowa górnicza ząbkowice": "cqprHqaxtBDr@Dd@Dd@JlAVvCFv@Hz@Dh@Bb@Db@LvBNvBHrAHtAJvAJtANrBJbBN|ALrARfBHv@@HJz@L\\DZJr@Lz@@DN`ATvAJf@Lv@VnAZ~A\\|AZpAXfAZnADNL^Nj@Rp@Vv@ZbAb@nA`@fAd@lAf@lAd@dAd@bAf@bAl@hAf@z@h@~@l@~@h@v@r@`Ap@|@n@v@x@`An@t@TV\\Zp@r@t@r@r@n@j@f@d@^f@`@d@^l@b@fMjJ|AhAfAx@rCtB^V^VdBfAlBnADB`@TVPVPr@f@r@f@bS|NjGrE~AhAjDhCn@d@VR`D~BjEbDnA~@RNTPJJVRTRnAlAd@b@RTf@d@`B~AnAlAb@b@@@", + "dąbrowa górnicza ząbkowice|dąbrowa górnicza pogoria": "wmkrH_~ptB^^P\\@@h@h@VVfAdAj@h@n@l@t@t@DDl@l@`@d@|AdBl@n@VZrB~BxA`BTXTXRV@BVZJLLP`@h@`@j@`@l@`@l@\\j@\\l@FHR^Zj@Xl@Zl@\\v@\\t@Xn@Vn@Zv@Xx@Zx@Xz@vJ`YdA|ChBlFxEbN|BxGxCtI", + "dąbrowa górnicza pogoria|dąbrowa górnicza gołonóg": "e`irHyzltBd@tADLb@jAjAjDdItUpBhFpDnKr@nBbChH|BxGzAlElBrF`BxElAnD", + "dąbrowa górnicza gołonóg|dąbrowa górnicza pogoria": "orgrHmuitBmAoDaByEmBsF{AmE}ByGcCiHs@oBqDoKqBiFeIuUkAkDc@kAEMe@uA", + "dąbrowa górnicza pogoria|dąbrowa górnicza ząbkowice": "e`irHyzltByCuI}ByGyEcNiBmFeA}CwJaYY{@[y@Yy@[w@Wo@Yo@]u@]w@[m@Ym@[k@S_@GI]m@]k@a@m@a@m@a@k@a@i@MQKMW[ACSWUYUYyAaBsB_CW[m@o@}AeBa@e@m@m@EEu@u@o@m@k@i@gAeAWWi@i@AAQ]_@_@", + "dąbrowa górnicza ząbkowice|dąbrowa górnicza sikorka": "wmkrH_~ptBAAc@c@oAmAaB_Bg@e@SUe@c@oAmAUSWSKKUQSOoA_AkEcDaD_CWSo@e@kDiC_BiAkGsEcS}Ns@g@s@g@WQWQa@UECmBoAeBgA_@W_@WsCuBgAy@}AiAgMkJm@c@e@_@g@a@e@_@k@g@s@o@u@s@q@s@][UWo@u@y@aAo@w@q@}@s@aAi@w@m@_Ai@_Ag@{@m@iAg@cAe@cAe@eAg@mAe@mAa@gAc@oA[cAWw@Sq@Ok@M_@EO[oAYgA[qA]}A[_BWoAMw@Kg@UwAOaAAEM{@Ks@E[M]K{@AIIw@SgBMsAO}AKcBOsBKuAKwAIuAIsAOwBMwBEc@Cc@Ei@I{@Gw@WwCKmAEe@Ee@Es@", + "dąbrowa górnicza sikorka|chruszczobród": "cqprHqaxtBIcAIeAGeAGeAQkCGeAGcA[qGE_AK{BGcAGw@GaA{AaVMkBAMcC}_@IqAKmAAUIy@IaAMqAMgAQqAOgAUqAQcAUiAUaAWiAWaA[kAWy@[aA]_A_@cA]{@c@_A]u@c@}@U_@EYe@w@e@u@g@s@a@k@g@k@i@q@k@m@i@k@kKwKa@c@sEyE{@}@{C_Dw@y@CCoCuC_DaD", + "chruszczobród|wiesiółka": "_~rrH}j~tBwE_FwC{CoJyJ}TsUMOk@m@sFwFu@y@e@e@m@o@q@u@c@g@o@w@a@g@g@s@e@q@e@s@c@u@c@w@]s@a@y@_@y@]w@[y@[}@]_AY_AW_AYaAUaAWgAOu@Mq@Oq@Mw@Ik@G_@Ga@McAKo@Ec@Ea@Iu@Gw@Gi@Eq@AICa@Em@Ic@", + "wiesiółka|łazy łc": "ysurHyfbuBEo@GqACa@EeAGyAI{A?ME}@UyEsBce@MuCGeAOeDKcC_@sI", + "zawiercie|zawiercie borowe pole": "{aasHivpuBgCJoAFw@Du@Fq@FqCX{@Jk@Dm@Do@D_GVyDPO@uI^gERa@@_EPiFVqBHg@@i@Bw@@cABg@@m@@k@@m@@cADuBH_DJE?}CJyBHs@Bo@BcBFm@Dc@DG@e@Fe@JUDQDe@N[J[J[POFMF_@RYRE@YRYT]X[XYX]^_@d@]`@e@p@a@n@i@x@q@fAu@jAi@z@EFa@j@i@x@k@x@q@`AaEvFsBpCaRfWY`@{]ff@_ApAyCbEcDnEIJY`@{JfNcAtAmAbBiE~F", + "zawiercie borowe pole|myszków mrzygłód": "uqhsHqrkuBmCtDoSzXm@x@i@p@k@t@i@p@o@t@k@p@[\\UTk@n@m@l@o@l@o@l@m@h@s@j@o@h@u@h@u@j@q@b@s@d@q@`@q@`@s@^u@^o@Zs@Zm@Vs@Zu@Xs@XwEbBsQrGaVtIqE`BgIvCqBr@gC~@gE|AqBr@}C|@sEbBqFnBgMpEoPbG", + "myszków mrzygłód|myszków światowit": "c{nsH{qguBwFtBwEbBwt@`Xm@Ta@N_@Lc@P{RfHm@b@m@Vg@Tm@Zi@Xg@Xk@^a@Xm@d@c@^g@b@e@b@g@f@a@d@c@f@e@j@a@h@a@l@_@j@c@p@_@n@_@r@_@r@]r@[r@]v@Yr@[x@Wv@Wv@Yz@Ux@YdAU~@WlAWjAq@dCuApHkBvJsAjHiCfNkJ~f@", + "piotrków trybunalski|jarosty": "owyxH{}cwBqOwAuIw@OAg]_D{MmA}AOsGm@yBSqRgBuHs@aJy@E?}AOaE_@}Go@kBQkD[{CYsLgAuIw@{CYod@eEeBOcBMeFc@mSeBaDY", + "jarosty|moszczenica": "oabyHmiewBaMcAOA{NmA{v@uG}v@sG_e@{DuBSgMeAga@gD}CYi@Ek@Gm@IQCi@@}@O}@O_AUw@Uy@UgA]m@U", + "moszczenica|baby": "_bjyHssfwBo@UgCcAcI}CmAg@sKgEkGaCkAe@kBs@yk@}TyqAmg@m@Wk@SwLwEgBq@y@[{@[oAe@oCaAu@YiDqAqEgBa@OcCaA[M", + "baby|wolbórka": "y`qyHm`jwBsp@mWwHwCYMcE_B}D}Ayu@}YaE_BcE}Aq@Wm@Uq@Uq@So@Qo@Ms@Mo@K_@E_@E[Cw@Em@Aq@Aq@@u@Bm@Ba@DYGg@Ds@Lm@Lq@Ns@Pk@Rq@Tm@Rg@RoYxLkHzCak@zUkJ|Dq@Xs@Vk@Rq@Rw@Tq@Lg@Je@Ha@F}@Fs@Dm@Bs@@o@Aq@Am@Eu@Gm@Gs@Kk@Ko@Oi@Oc@M]Ke@Qa@Ou@Wq@WuAk@}KgEQ@iEaB}CkA[K", + "wolbórka|łaznów": "ys{yHsckwBmDuAgDoAcE_BwFyBwAg@wHuC}@]ef@gRyFyBo@Ug@Wo@Yi@Wy@c@w@g@}@i@o@c@{@m@w@k@y@m@u@m@s@m@o@k@o@o@o@o@o@q@i@i@eZw[aq@_t@qAuAsAwA{f@ci@", + "łaznów|rokiciny": "w`czHaeqwByFgGyA}A}TkVcp@as@CQa@_@o@q@c@a@s@q@w@q@y@o@w@k@w@k@w@g@}@k@u@a@k@[o@[_FqBiBq@kGeCyEiBgEaBik@uToHsCmXoKiJsDGCcFmBqGgCQI", + "rokiciny|chrusty nowe": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gT", + "chrusty nowe|żakowice": "msozHoaywBeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YsA[iDuAkCeAo@W[Ok@Um@Wi@Wm@Wm@Wm@Y{@_@{@]}@]}@_@u@Yu@Ye@QSDSBSGSESCSCKASASAS?Q?U@QBSBQBSDSDQFSFQFQHSJQHQLQJIHSPSPONONOPOPMRORMRMTMTMTMVKXKVKXKXIZIXIZGZIZG\\EZGZE`@E\\E\\C\\C^C\\A^AXA`@A`@?^?^?^?^@^@^@LBf@@ZCf@HFBf@GFP~CBh@Dd@D`@Vl@BZB`@B^PrDB`@Df@Df@C`@J`ABTLtALxAJfALrALrApCb[Fn@Dj@f@tFj@nG", + "łódź widzew|łódź zarzew": "}j}zHsoevBIlAUfE@r@Et@GzAEnAAv@?z@?z@?|@Bz@Bx@Dz@Dz@Fz@Hz@Hx@Jv@Lx@Lx@V`B\\hBNt@RbATbAVjAXfARt@Rr@ZbA\\dATp@Vn@^z@^|@Zn@Zl@Zl@\\j@b@p@`@n@b@l@b@j@VXTXZ\\`@b@b@`@NL\\Z\\Xd@\\d@ZZR\\R\\Rj@Xl@Xb@Pf@PXHd@Nl@NZFZFf@Hl@Hn@Ft@Fv@Dd^vB", + "łódź zarzew|łódź dąbrowa": "ayzzHeebvB|@FdDR~DVTLvBNn@B`AFrAHlHd@nAH`Oz@bEVvAJxBL~BNr@F^DfAN~AT~@RhB`@PDpCn@pDr@vATh@JhCb@dCb@", + "łódź dąbrowa|łódź chojny": "epwzHqravB|AVrDl@bDh@fAN|D`@L@n@HpARpBZl@LdBZr@N\\JTFVHHDj@R^Pf@X^R`@Xd@\\f@d@ZX^`@X\\\\b@`@f@JPZf@Zf@Zl@P^NZb@bAPd@^bAL`@Pn@Lf@Pr@Np@Lj@RlANz@Hn@Hn@Hx@Dd@Dr@Dd@Bj@Dz@Bt@BfA@nA?fA?b@Av@EtACv@IrBSnEWpEKrBCj@DJ", + "łódź pabianicka|łódź kaliska": "ywuzH{{tuBwCvDQTcApAs@|@SDg@p@m@t@u@`Ac@f@a@b@u@v@m@h@k@d@WP[RQJe@XKFOH]Pi@Vo@XoEpB]NQHUH[L_@N_@L_@L}Br@w@V_@Na@Nc@PYLc@PUJUJUJcAd@q@ZWJ_@P]Lc@P[JYJSFQDg@LWF_@FYFa@Fg@HeJtAa@Fc@D_@D]D[BU@U@YNoCJa@@S@S@Y@Q@Q@O@]BI@m@FUB]BOBSBQBi@FIB_@Fa@HiARcATa@HA?u@PI@{A^kCj@OBeE~@kB`@c@J_@Fa@HaFz@kCb@gBZ}NdCs@LUDYFUF[HWHYJUJUJE@UJMF}BhAm@Xq@ZiB|@WLcAd@a@ROHOHWNMHQJIDUNSLOLSNUPIFONKHMJSPKHWTMJWTmAdAGD[XCBYXSPGDYXoClCGFcA`A{@t@cA~@Sd@", + "łódź żabieniec|łódź radogoszcz zachód": "anc{HoemuB{QhGm@Ny@Ro@Lq@Jq@Jq@Fq@Dc@@s@@i@?]?eBGs@Gi@GE?m@Iq@Mm@Mm@Qq@Su@Uw@]i@UyAu@gDgBiAm@q@]iBaA_@S}BoAcB{@}Ay@yDsBsGiDCCcQeJgAm@aDcBeCsAqEaCkBcAuAy@sAy@qAw@kAq@_BcAiHmEi@[QKQKMGMIKG", + "łódź radogoszcz zachód|zgierz": "anh{HocouBUMOGWASKOGOGUKWKYMe@Ok@Qm@Qe@Mo@Oc@I_@Ga@Ge@I_@C[Eu@Gs@EsF]GAoAI{@CWAc@Cw@Ag@?o@?m@?q@@_@@u@BS@_@Bm@BWG_@D]Bu@HeAJw@HeALw@HoALy@H{@Jq@Fy@J{@HG@gAJoCXaD\\cBPcAHk@Bs@@k@?g@Aa@AA?_@E_@C]EUEa@G]I]Ia@KYIUG]MWKWM_@OYOYO[QYQ[SWSSOWSSOaA{@_A{@sBoBeC{B[[_@_@YYWYa@c@EGSS_@]s@q@SSg@e@wAaA", + "zgierz|zgierz jaracza": "e{l{HcepuBm@i@c@c@wAmAcDyCeDyCoEcEoBgBkD_Ds@o@w@q@yAoA_Ay@_Ay@][u@q@_A{@SQy@w@a@_@g@e@c@_@YY][cA}@][]Ya@Wa@UOGSIa@Oe@Me@Ma@I_@Ga@Ec@Ce@Cg@AU@W?k@DWBWBq@Je@Jg@Lg@Pe@PYLYNs@b@q@d@q@f@qDnCwAfAEDqAdAWVYVe@d@g@h@e@j@e@l@e@n@c@p@a@l@SZOZOXQX_@v@Yn@[n@o@zAQ`@}CnHgC`G", + "zgierz jaracza|zgierz północ": "axp{HkepuBmHbQ[t@O`@IRUn@Wv@Up@Ut@Ut@St@S|@Op@Qt@Ov@Q|@Ox@Kp@OdAMhAMbAKbAI~@I~@IdAEbAG`AIdC{@`Y_@~LIvCAr@Cv@Ar@Ax@?x@?pBBbCBv@Bv@J~Cb@rLBp@\\bJDdABbABbA@fA@hA?~@?p@Aj@?j@C~@C`ACdACz@E~@G`AQvCAF]|EUvC{@lLq@nJ", + "zgierz kontrewers|jedlicze koło zgierza": "{yp{H_l`uB@|E@zJ?fAAz@AdAC~@C|@E`ACd@C`@Ex@OjCM~BIlAI`AGx@KbAK~@K`AM~@Mz@Mx@O~@kAnH}@lFKh@Mh@Mn@Op@Ol@Qp@g@bBi@bBsA`Eg@xA[~@KZQd@M^e@lA_@~@CJ", + "jedlicze koło zgierza|grotniki": "sqq{Hsy|tBc@~@]t@[n@c@v@Yh@c@p@]h@_@j@a@h@s@~@o@r@k@j@k@h@i@d@i@b@k@b@m@^m@^m@\\wBdA{Av@{Q`J{GfDqEzB{BhA}BfAuBdAe@Te@RYLq@TeAXcATaAPkH`AqEj@yAR{Df@kC^oGx@", + "grotniki|chociszew": "{mu{HssztBWDaDb@mANmBVo@Hm@H_BZi@Li@Nm@Rk@RWJWLo@ZwAv@k@^i@^w@l@SP[X[Z[ZYZe@f@c@h@a@h@c@j@c@p@c@p@OTQZa@t@o@lAWl@Wj@eAjCKXKZYv@s@lBeB|E_BrEo@lBm@pBc@bBa@dB]hB[fBW~A?@]pCYtCk@hH}@~K}@~KyApQk@hHk@fH]jEADOhBOdBMpAOnAUbBW`BUnAUnA_@`B_@zAOl@Ql@c@xAi@xAi@vA]z@_@x@aAnBk@dAk@~@o@~@o@|@q@x@q@v@q@p@q@n@s@l@s@j@_Al@_@VKDULaAd@cAb@i@Rk@RwA\\mDv@kCl@ua@`JiAT_TvEq@NmCj@mK~BiAT{Dz@{Bf@", + "chociszew|ozorków nowe miasto": "un|{HgbrtBg@JwAXw@Ny@Jo@Fe@Dc@BU@o@@o@@o@A_DQ_BKwBM}CYkFi@yLmAwAOsHw@{JcAw^wDsAOyYyCsO_BiGo@aCUAAaAKaAIkBKi@AS?U?m@?m@Bg@Bg@D]B[B]F]Dy@N}@N_AP}@PeGfAaCd@w@LiAT", + "ozorków nowe miasto|ozorków": "ybc|HmsrtBkB\\iEx@qAVaLrBaKjBgI|AeMxByB^kBZyHvAiHtA", + "ozorków|sierpów": "}ze|H{zqtBC@}AV{[dGmCf@cBZwB`@oCl@mCl@uAZ}Af@_Bn@yAv@eBlAcJdHkHtFaq@`h@oTtPwDvCyAnAwApAqBrBmBzB}BzCyBbDW\\k@|@cA`BeC`E_CxDaHbLaHbL}JlPkHpLoCrEcDjFmLnRwFhJu@lAs@lAgBrC_A~AcA|Ai@v@i@t@k@p@UXIJMLUTWVo@n@m@f@q@f@SN", + "sierpów|łęczyca": "g}n|HeiitBaAp@gG|D}OfK_DtBoCfBaU~NwKfH{E~CuL|H_Ar@_Av@sBrB{AhBwAlBq@t@_RrUgElFsEzFkM`PiQzTeIbKiDhE", + "łęczyca|gawrony": "gxt|HqwctB_HtI_BpBkFxGsBhC}D`Fy@~@eAbAaAz@eAt@aAl@iAn@aA`@_A^YFw@T{@RwAVqBVgAF_@@kCFiCBoGFiED}CDaEDk`@`@}JL_A@gLLuEFkB@u@@s@?i@?g@Ai@Cg@C]Ea@E_@E_@G_AQ_@Ka@KsBo@_Bu@gAm@c@Ya@Y}@q@MK][g@e@oAqA}BgCmBqBeBoBsEcFqE_FiBmBgBoBcKaLoUgW}@aA}@aA[]uA{Ak@k@m@k@c@a@e@a@iAaAcCqBs@k@s@k@_BuAECmEsDoEsDgByAeByAoFoEaFcEoFoEwBgB{@s@y@u@KIa@_@k@k@uAyAcAkAcAkAySiVcOaQyKmMCA_RgT", + "gawrony|witonia": "oya}HkpitBgMaOul@er@SUoKaMcLwMyAmBk@w@k@y@{DiGoFuIAEei@i{@_GqJkFmIeGyJuF_J}IuNkCgE_QwX}@mA}@oA_H_JiDqEgCiD}@mAaP_TkA{AiA{A", + "katowice zawodzie|sosnowiec południowy": "k|vqHwthsB?_CB{AD}ALsDRsFDoAHoAL_B`@sEPaC@kBLgEL{EVaHH_EF}FDyC?qDG}FKyFSqGYqGi@wIm@cJcDif@UkDOyBMyCOuCo@aIu@cJa@cFCa@YiEM_CIcAEw@W}D]sD]kD]iEw@{KWiC[mBe@uB]mA}@oCeA_Di@{AcAgCkAgCqAyBi@y@{@kAmA{ASUw@}@cAgAkC{BoCqBqLwIeHeFqC_Ca@[{CyB_BkA{B_BwAeAAAi@c@Cc@MSIOYk@KSIWKYGQQq@Kk@Ko@QyAGo@Eq@Ck@Ao@?_@?_@@M@s@Ds@B[BYBWFYFa@F[H[HYN_@L[N[LWUa@", + "sosnowiec południowy|sosnowiec dańdówka": "g_zqHyrusBNOJKtCkDPUZg@T]RYRYNShAsAbFeG`FeGHK~D}EZ_@Ze@`@m@PYb@s@j@cANWNSb@i@\\i@|@_Br@oAl@gATc@LYP_@h@oAp@iBL]Ro@Rs@Pw@@ELm@Lu@N{@L{@L_AHq@LgAH_AF{@F}@B_AB_A@}@?_A?}@A_AAaAA{@Ce@Cg@Ey@Ew@I{@Gq@Iu@My@O_AMw@m@gDm@kDg@sCW_Ba@wB[gB_@eCO}AAAIkAG}@E_AC}@CaAAyB?q@?QB_A@w@DaADcAHeAHcAFk@Ju@PqArAkITyAPmAJw@Fs@Hy@Fu@D_AD{@@{@BaA?y@?s@KyHIqFA}@S_MKmFEuCI_GIgFMyHGqDIyFQiLEsCGeFCgAC}AAkDAwAA}Ag@s]EiDAkACgCAuBAsAImEFo@", + "sosnowiec dańdówka|juliusz": "kqxqHqhbtBMqH?eBB}AB{AJuBt@aLReCL}ALiBFiAFuABaABiA?_A?}AAkAEcBIgBGaAMoAIeAE_@Gg@Ik@O_AMy@Qy@Mm@UaAm@_C_Vg`A]uA]yAYkAUiAUiAQeASoAOgAQsAMeACWMoAIaAMuAK}A[cHCe@iAiQK_By@yMAUSyC", + "juliusz|dorota": "gyyqHg}itBkAqREi@o@aKUuDGsAGuAEyACqAAwAAuA?eB?qACaB@YNkL@_A@w@@aA@wA?mA?uA?qAA}ACmBEgEA_BAyAAqAAkACcBAeBEmCG}GAc@Aq@eAqfACcAWsWA{ACkBC}@Cu@Cw@GaBGuAy@sPGeAGy@KcAIy@MaAKw@Oy@Ms@Qy@Qw@Sy@Ss@Us@Us@[w@Ys@Yq@Wg@Yk@U_@Wa@[e@U[]a@]a@_@_@a@_@_@]s@i@c@]]UuBuAyDmCeBoA_EsCyAaAsBwAgAu@cAw@kA}@P]", + "knapówka|czarnca": "{bauHavnxB{@q@_@_@u@q@q@k@c@a@YUkNuKWSkG{EeMwJiMyJmG}EuC{B}B{BiB{BqA_Cu@aBcA{CgDkMs@mCw@kCkAcCiA_C}B_DwB{B}FuEuAiAqAqA{@eAy@kAeBeD}AsDw@gCq@sCe@mCa@yCQsBMyBI_CG_BKwDAaAEkBMkL", + "sosnowiec dańdówka|sosnowiec kazimierz": "sqxqHagbtBIaFC_C?CAaBB}AB}AHqBNgCd@}GTgCN}ALgBFiAFuAB_ABkA?}@?{AAkAEcBIeBGaAKoAKeAE_@Ge@Ik@O_AMw@Oy@Mm@U_Am@_C[oA}WyeAMg@q@kCCKo@cC]sAUu@Uo@Uo@Wk@Yq@[k@Ye@Ua@QWOS[a@SWOQOQSSSSYWWS_@[e@[eAm@{@c@_Aa@qJgEi@Wc@Sc@Ua@Ya@Y_@Yo@k@OO_@a@_@c@]c@AAYc@]g@[i@o@cAo@iAMQ_EcHeAgBkDaGcEeHsBkD_@k@Yc@c@i@[_@_@c@a@]a@]_@[g@]_@Ue@Wc@SMGSIc@Q}HwCkCaAwAi@g@Sm@Y[Q]U]Ua@[}@u@i@g@UW", + "sosnowiec dańdówka|sosnowiec porąbka": "sqxqHagbtBIaFC_C?CAaBB}AB}AHqBNgCd@}GTgCN}ALgBFiAFuAB_ABkA?}@?{AAkAEcBIeBGaAKoAKeAE_@Ge@Ik@O_AMw@Oy@Mm@U_Am@_C[oA}WyeAMg@q@kCCKo@cC]sAUu@Uo@Uo@Wk@Yq@[k@Ye@Ua@QWOS[a@SWOQOQSS", + "sosnowiec porąbka|sosnowiec kazimierz": "k|yqHyjhtBSSYWWS_@[e@[eAm@{@c@_Aa@qJgEi@Wc@Sc@Ua@Ya@Y_@Yo@k@OO_@a@_@c@]c@AAYc@]g@[i@o@cAo@iAMQ_EcHeAgBkDaGcEeHsBkD_@k@Yc@c@i@[_@_@c@a@]a@]_@[g@]_@Ue@Wc@SMGSIc@Q}HwCkCaAwAi@g@Sm@Y[Q]U]Ua@[}@u@i@g@UW", + "sławków|bukowno przymiarki": "}d~qHudguBL?pEaHZc@\\g@^c@\\a@\\_@X[jBgBl@m@`@]^[^[b@[\\Uf@Yb@U^Qb@Qf@Qb@Kb@If@I^Ed@Eh@Cj@?^?d@Bf@Bd@DpIr@d@Dl@Bh@Bl@?TKNA`@Ad@Ed@Gb@Gh@Kd@Ml@Q`@Q`@Qb@Ub@Wf@[^Y`@[b@a@^_@b@e@^e@\\e@\\g@Zi@Zk@\\o@Vk@Zs@Vq@Vs@dDsJv@aCvDaL~Ko\\V{@XaAXaAR_ATcARcAPcAPcALeALgAJcAJgAHmAFeAFmABcABkA@kA?kA@kA?oDFim@@yHHcB", + "bukowno przymiarki|bukowno": "}kzqHg_nuB?kAB_A@y@Bk@Do@Dw@Du@Hw@Hw@Hs@Ly@Js@Lu@N}@Ns@b]qiBvUioAdAqG`ByInA}GPaAPcANcAJaAHy@L_BJeBXoFNmC", + "jaroszowiec olkuski|chrząstowice olkuskie": "ubhrHacyvBIaAo@qDMs@Mu@Ku@Ie@Gi@K}@K_AGcAG}@GcACaAC{@CkA?]?c@?cA@eABeAB_ADy@FkAF}@BODk@JcAPsARaB`Li|@LaAd@kDh@iEPqAl@uEFk@Bm@PmANeADQPkAVsAbNyu@TmAToAPcAToAPmANiALeALoAHw@BSJsAp@}IDo@dAcNJmAFcAD}@B}@@e@Bs@@y@?y@?o@?gACcACeAAOCs@EaAIcAGaAKcAMgAM{@M{@QeAQ}@S}@Sy@U{@W{@Yy@GUKWWq@[w@a@y@IQSa@]m@[g@[g@i@u@]c@_@e@e@g@c@c@II][_@[e@[a@Yk@]]Se@Ua@Q", + "chrząstowice olkuskie|zarzecze apo": "ysgrHsvcwBmF{BaDsAECgN}FgN}FiVcKOImMoFWKiDwAc@S", + "zarzecze apo|zarzecze": "mljrHydewBk@YUWa@Ua@Wc@Yc@Y_@YWOmDgCq@e@q@g@k@e@i@g@e@c@e@e@g@i@a@g@c@i@i@s@c@m@i@y@e@y@SK]o@c@{@g@eACGUe@", + "zarzecze|wolbrom": "kokrHchfwBWq@]{@]aA[}@EOWw@YcAYeAWcAWkAWkASeAQgASiAuAwI_BiKiDkTwA}Im@{DkOiaA}AuJ]{BqAeIa@iCO_AQ{@S_ASw@U}@U{@Ww@Yy@Yu@[y@]y@wB}Eo@{Aa@aA[w@]{@Ws@g@cBe@_B_@aBAGWiAeAoFg@gCqFqYaQw|@S_AOy@UsAYeBM_AK{@Q{AMmAEk@Gm@G_AEw@CSGkA?QGoACaACgAA}AAwA?q@?]@q@@_ABcAB_ABeACg@DiAFcAHeAHeAL{AFk@NkA", + "wolbrom|jeżówka": "ivnrHc}rwBNmAJq@Ju@BILu@Lw@R}@TeANu@Ru@Pq@T}@zAkFHWpKm^fCwI~@}CXeAXcANk@bA{DNo@Ps@Nu@Jo@Nu@Jw@J{@J_AJkA`@_FLkBJoAHkAFcAD_A@u@B_A?_AAaACgAEkAGs@Eq@Iy@Ky@K}@O{@My@Ia@GUQw@Qq@Su@Sq@Uq@Wq@Yq@Yo@OYKUYi@[i@]g@_@g@]e@_@a@a@a@_@_@a@]USWQUOc@Wi@YKGWKe@SOEWKg@Oi@Mo@Mo@KQC[Ei@Em@CKAg@Aq@?a@@c@@k@Di@Do@He@HSDUEi@Lw@R}HnBe@La@Hi@Je@Fg@Hg@Bm@Be@?g@Ae@Ce@Ci@Ig@Ia@Im@Qe@Og@Si@Wc@Ua@W_@We@_@]Ye@e@a@a@c@g@_@e@_@k@]g@Ye@[i@Uc@cKwQaVyb@e@{@c@y@c@{@[s@a@_A_@}@]_A_@cAY}@[eAY_AaJ_\\[iAYcAWgAYgAUkAUiAQgASoAM_AKw@K_AGg@Gk@KeAIgAMc@Ew@Eq@EiA", + "jeżówka|gajówka apo": "gsrrHkl}wBGkACeACkAAmAKqJ?i@?WCeAA_AEy@C_AGy@G}@I{@K}@Kw@M{@My@Qy@Os@Sw@Su@Us@Sq@Wq@Wo@[q@Yk@[m@[i@c@s@uAwBg@gAWe@a@q@]o@Ym@Wk@Wq@Ws@Yy@W}@WaAQy@Os@O{@O_AIm@Ky@I}@Iy@E{@Ey@E}@C{@Ak@?e@?i@?w@?y@By@By@Bq@FaADy@Hy@Hs@J}@Jy@Jw@Ny@HiAjE_VH_@TqARmARsAPkARqAPsANqA@CNsA`Gsh@NqARwAPsAPmANgAPcAT}A~BsN", + "gajówka apo|gajówka": "crrrHumexBr@eD|AoJjCaPnDkT~@yFVyAT_BTaBRyATeBP{ARgBLsAxCy[LqAdA_L", + "gajówka|charsznica": "euqrHspixBh@aGHaA|@mJL{ANaBJ}AJcBHgBH_BdC}i@ZyGFuAHsADm@JuAJwALeBN_BPaBNaBz@mHNsAJmAL{AJqAHsAFsAFwADwADqABoA\\yTb@{XEu@BmA@sA?wAAc@AaAC{@Ag@AYG}@G}@Iy@I{@K_AO}@Mu@Q_AOq@Sy@Sq@Uu@Uo@Wu@Yq@[u@_BsDg@kA[w@Yu@[y@Y}@Uu@W}@U{@UaAQ{@SeAQcAO_AM{@My@Kw@qA}JkBmNUgBOkAKgAKcA", + "zduńska wola karsznice|gajewniki": "o|{yHqr{rBaAhCkI|TcHbRqAfD_AzBeAzBcAjBu@fAiApAcA`AeAt@mAt@}@`@kBh@iBXoADqAAeL{@eBO}AIiBAqAHiCZgANiAHaAC_@A[G_@C]I_AWg@Sg@Ui@[g@]eA_Aa@c@a@]q@kAgAkBa@aA]aAQg@Me@[oAUiASgAOiAOmAIeAGcAEeACcACqAIK", + "retkinia|łódź kaliska": "k`yzH_aouBMo@kAeGqAuGyBcLq@kDq@gD[uA[sAa@}A[iAW}@a@oA]cA]_A]}@Ys@_@{@Yq@[o@Yi@Wg@[m@a@u@_@o@Wc@]e@Q[W][c@EG_@g@_@g@_@c@]_@WY[]_@a@WSWW[[WS_@[[We@_@CAYSYQUQUMYO[MOGMG]Ma@M]K]GYGQCIA[CYCa@C]?W?Y?]@U@[BWBWDA?u@HC@sANqANeAX}@VSFUHSFSJWHk@VWJeCdAi@Ri@TqDzAYLk@Ti@R{@^SH]LWJ[JUHYHa@LOFQFQJOJSd@IDa@?UAKX[P[RSd@", + "zgierz|glinnik": "g{l{HsepuBe@e@mCaCyCmCkSaRuAkAyBmB{BqBKI_EsDGE}@{@y@w@YWs@o@}@w@o@m@YWMKe@c@a@[a@]a@]a@[yAqAcC{BgGwFuI_ISQkCgCc@c@a@g@OQOS]g@_@k@[i@OUMUS_@CIMWSa@O_@Qa@Qa@Oa@Oa@K]K]K]K[Me@Ka@Ke@Me@Ia@I_@Ia@G_@O}@G_@Ga@MaAK}@KcAIaAKcAGeAIcAIaAOeBEs@C[Eo@E]Ew@Eu@Gw@GoAEi@Ac@GqAEoAG{AE{AE{ACyAC}BC{BAwAAe@A{BMsNE_GCqB?OAaAAaAAw@Cu@C}@E}@Gy@Gy@Iy@Iw@Gm@Ko@UuAQaAQ{@Om@Uy@Uy@Uu@Yu@o@iBg@uAg@uAi@wASi@Sk@MYUk@Sa@Qa@k@eAm@cAe@q@QUSWk@o@k@k@u@q@w@k@k@]WMUMk@WWIWIi@Qi@Ko@KWEWCi@Ek@AY?c@?i@BWBU@[DMBM@YFYF[H]J_F|Aa@H_@H_@Ha@Dg@DQ?UBY@YAO?c@AQAQA}@Ko@Ko@MmAa@a@QOIQI[Q]Sc@Ya@[a@]a@_@i@k@g@m@q@}@m@aA[i@OWMW]u@]y@Uk@Qg@Sk@Qm@Oi@Ok@Mm@Oo@O{@G[G[]wBUuAIk@Kk@QgASkAMq@Oo@Oo@I]EQWaAY_AaBoFcBsF[eAQk@Mg@Me@Mk@YoAMu@G[G]SuAOoAS{A]qC]uCUiBUiBk@wEUgBMq@Kq@Oy@Qw@Oq@IW]kAc@uAEMo@aB}A_Eu@oBc@uAIYQq@UaAIa@Ki@Ie@Km@U_BUeBSgBi@mE", + "glinnik|stryków": "oau{H}r~uBg@iEm@iF{AgMwAuLCMoBwPeBaOKu@s@aGUqBWmBQeAQeAWqA[qAm@wBI[g@uAi@sASe@EIYm@g@y@g@w@g@q@i@q@??]a@_@_@o@i@i@a@k@a@cAi@]O_@Qi@Qm@OWGYGs@KoAK_FQaBGgAM}@O{Ac@aAc@y@c@y@g@u@m@kAgA}BgC}AaBqF_GuB{Bi@m@g@q@a@m@_@m@c@w@Ym@Ym@Yq@Wo@Ws@Us@Su@Sw@Sw@Q{@Oy@My@M{@K}@K{@G}@I}@E}@Eu@Cw@CgAAeA?cA@aA@gABeAHwB@WD_BHwBD{@By@DsABsA@_A@aA?}@A_AC_AA_@Aa@E_AG}@C_@C_@I}@K}@K}@M{@Mw@Q{@Ow@Sy@Sw@IYKYI[KYUm@Sk@Si@Ug@_@w@_@u@_@s@a@o@c@m@o@u@o@o@oBaBiA_AUUkAeA][[][]Ya@a@g@_@k@_@o@_@u@Yk@Yq@Yq@Wq@Us@Su@Uy@S{@Qu@Ou@M}@G_@G_@K{@E]C]Ec@Ea@IcACe@Cc@EeACmA?e@Ai@?oA@qABsABqA`@_P`Ag`@?KnBow@@Mt@wZv@e[DiBDgBFeCF_C@eC?iA?qAAqACoACoAGwACa@Ac@GcAMiBKmBMkBOkBaAoO_@oFMiB_AeN", + "stryków|głowno": "ixy{HyyqvBuBw[_Cy]QkCCk@OwBKmAGq@Gm@Gm@E]E]G]E_@Oy@O{@Qy@Sw@Qu@Uw@Uq@Ws@Wq@Yq@Yo@[k@]o@_@m@}CqEwBaDwGsJkBmCkBmCuE}GwB_Ds@cAs@aAaBcCkAcBkAcBe@m@c@k@MMW[e@g@y@y@uAkAm@e@k@a@m@_@o@]o@[o@[}CoAKEqUgJa@Q_@SiAm@eAw@c@_@a@_@GIw@{@aAoAy@sAWi@[i@[q@Ys@Wq@Uq@Uu@Uy@Sw@Qw@Qy@O{@O{@M{@I{@K{@QyBK{BKuCOqFKyBIoAIoAKmAMmAMkAOmAOkAQgAQiACMQ}@SeAWeA]}A_@{Ak@}BkNsk@uEkR_CuJWeASy@Sy@Sy@Oq@Ok@a@cBaA_EaA}Da@_BOo@Oo@YgAYeA[eAMa@Ma@[aA_@aA_@_Aa@_Aa@}@OYISIOQ[Q[e@w@c@u@g@u@o@aA[a@W]uF}HwCcEaGgI_GiIsMwQEGi@u@g@y@Y_@Yc@c@u@e@y@c@y@c@{@a@}@a@aA_@_A]cA]eA]eAYcAYeAMg@Mi@Kg@Mi@ScAQaAIc@Ii@QiAa@{C[_DKqAIsASqDm@sLyAgZy@uO[mG]mGOoCMyBU_CM_AM}@e@iCg@{B_@uAEKk@}Au@iBs@{AoAuBsAmB]e@UUIIe@c@g@_@c@Yg@We@SWI_@K_@I_AS", + "głowno|domaniewice": "qjc|HkbgwBiBc@}FsAqKeC{Bg@iSsEmBe@oBe@aB_@eA[cAa@y@c@s@e@gA{@eAcAcAmAeA_Bo@kAcAoB[q@kCwF_FiKoBiEw@aB[q@MWMWaCeF}B}Ek@mAi@oAe@gAe@kAo@_Bi@{Ak@}Ae@yAGOQk@Wy@W}@Wy@i@oB]uAMg@Su@]}A]}A]}A[_BY}AY}Aq@cEcByJG_@}AgJ{A_Jy@aF{B{M{A_J{A_JwD}TaA_G_@}Ba@{B_@_Ca@}BIe@WwAO_AS_AScAUaAKa@I_@K_@K_@YcA[aAc@sAo@cBa@cAe@eAa@{@a@w@m@gAi@_AcCaEwBoDyFsJ_DkFsIwN}]ul@yEcIaC{D}B{D{FuJuA_Cs@oAs@sAm@kAi@kAm@qAm@qAu@iBu@kB}AwDM]y]y{@uAeDa@cAo@_BgDkIoC{G_A}Bg@qAOe@Oa@]kASq@Qw@Qw@Qy@SsASuAQ_BM}AM{BIyBEqCGsCI_CE{@G_AG_AGq@AIKy@Kw@My@E[I]Mu@Qu@c@oBm@cCaB}GcB_HsCkLoAcFcAeE_AwD}BkJiNik@", + "domaniewice|łowicz przedmieście": "ygo|Hih~wBkDoNyEqRgRiv@qAoFwDkOy@eDmB}HoBaI}E_S{Jaa@u@wCEUYiAWeA[yAOw@Mu@OcAMcAKeAIeAGgAGaACaAA}@AgA?eA?s@ByC?o@BaC?_A?}@?m@?k@Am@Ai@Cq@Ak@Eo@Cm@I_AG}@K}@Ky@M_AQ_AUmAUiAs@{CAI{C}Me@qBcEyQcEwQeD{N_@{Ay@wDe@sBq@uCWkAWiAQu@Qs@a@iBcAsEkCgLiCgLcAsEcAqEwCoMaCiKI[a@_Be@{A]iA_@eAaAeCgAaCu@uAqA{BiBiCyBgCiAgAeB{AaIeHiAaA}SaRmHsGiOwMgIiHqUoSgJeI}CoCkE{Dy@m@oAaAi@_@i@]sA}@aBaAwAu@aBw@mBw@_Bm@sBo@uBo@uDgAkDeAaBe@SGsDgAoCy@mJqCgHuBqEsAeC{@aBo@oAm@y@a@yAu@y@e@IGaBcAm@c@i@_@iA{@gA{@sDaDoBaBgGkF{DeDsBgBo@k@{CoCg@i@c@g@_@g@[e@U_@GGYi@OYEIUc@k@qAe@oAYy@Uu@c@gB_@gBIc@SgAw@_GiF_`@iCoRyA}KCQoAiJK{@Ge@G{@", + "łowicz przedmieście|domaniewice": "_o}|HwewxBnAhJBPxA|KhCnRhF~_@v@~FRfAHb@^fBb@fBTt@Xx@d@nAj@pATb@DHNXXh@FFT^Zd@^f@b@f@f@h@zCnCn@j@rBfBzDdDfGjFnB`BrD`DfAz@hAz@h@^l@b@`BbAHFx@d@xAt@x@`@nAl@`Bn@dCz@pErAfHtBlJpCnCx@rDfARF`Bd@jDdAtDfAtBn@rBn@~Al@lBv@`Bv@vAt@`B`ArA|@h@\\h@^nA`Ax@l@jEzD|CnCfJdIpUnSfIhHhOvMlHrG|S`RhA`A`IdHdBzAhAfAxBfChBhCpAzBt@tAfA`C`AdC^dA\\hAd@zA`@~AHZ`ChKvCnMbApEbArEhCfLjCfLbArE`@hBPr@Pt@VhAVjAp@tCd@rBx@vD^zAdDzNbEvQbExQd@pBzC|M@Hr@zCThATlAP~@L~@Jx@J|@F|@H~@Bl@Dn@@j@Bp@@h@@l@?j@?l@?|@?~@C`C?n@CxC?r@?dA@fA@|@B`AF`AFfAHdAJdALbANbALt@Nv@ZxAVdAXhADTt@vCzJ`a@|E~RnB`IlB|Hx@dDvDjOpAnFfRhv@xEpRjDnN", + "domaniewice|głowno": "ygo|Hih~wBhNhk@|BjJ~@vDbAdEnAbFrCjLbB~G`B|Gl@bCb@nBPt@Lt@H\\DZLx@Jv@Jx@@HFp@F~@F~@Dz@H~BFrCDpCHxBLzBL|AP~ARtARrAPx@Pv@Pv@Rp@\\jAN`@Nd@f@pA~@|BnCzGfDjIn@~A`@bAtAdDx]x{@L\\|AvDt@jBt@hBl@pAl@pAh@jAl@jAr@rAr@nAtA~BzFtJ|BzD`CzDxEbI|]tl@rIvN~CjFxFrJvBnDbC`Eh@~@l@fA`@v@`@z@d@dA`@bAn@bBb@rAZ`AXbAJ^J^H^J`@T`ARbAR~@N~@VvAHd@`@|B^~B`@zB^|B`A~FvD|TzA~IzA~IzBzMx@`FzA~I|AfJF^bBxJp@bEX|AX|AZ~A\\|A\\|A\\|ARt@Lf@\\tAh@nBVx@V|@Vx@Pj@FNd@xAj@|Ah@zAn@~Ad@jAd@fAh@nAj@lA|B|E`CdFLVLVZp@v@`BnBhE~EhKjCvFZp@bAnBn@jAdA~AbAlAdAbAfAz@r@d@x@b@bA`@dAZ`B^nBd@lBd@hSrEzBf@pKdC|FrAhBb@", + "głowno|stryków": "qjc|HkbgwB~@R^H^JVHd@Rf@Vb@Xf@^d@b@HHTT\\d@rAlBnAtBr@zAt@hBj@|ADJ^tAf@zBd@hCL|@L~@T~BLxBNnC\\lGZlGx@tOxAfZl@rLRpDHrAJpAZ~C`@zCPhAHh@Hb@P`ARbALh@Jf@Lh@Lf@XdAXbA\\dA\\dA\\bA^~@`@`A`@|@b@z@b@x@d@x@b@t@Xb@X^f@x@h@t@DFrMvQ~FhI`GfIvCbEtF|HV\\Z`@n@`Af@t@b@t@d@v@PZPZHNHRNX`@|@`@~@^~@^`AZ`AL`@L`@ZdAXdAXfANn@Nn@`@~A`A|D`A~D`@bBNj@Np@Rx@Rx@Rx@VdA~BtJtEjRjNrk@j@|B^zA\\|AVdARdAP|@BLPhAPfANjANlALjALlAJlAHnAHnAJxBNpFJtCJzBPxBJz@Hz@Lz@Nz@Nz@Px@Pv@Rv@Tx@Tt@Tp@Vp@Xr@Zp@Zh@Vh@x@rA`AnAv@z@FH`@^b@^dAv@hAl@^R`@PpUfJJD|CnAn@Zn@Zn@\\l@^j@`@l@d@tAjAx@x@d@f@VZLLb@j@d@l@jAbBjAbB`BbCr@`Ar@bAvB~CtE|GjBlCjBlCvGrJvB`D|CpE^l@\\n@Zj@Xn@Xp@Vp@Vr@Tp@Tv@Pt@Rv@Px@Nz@Nx@D^F\\D\\D\\Fl@Fl@Fp@JlANvBBj@PjC~Bx]tBv[", + "stryków|glinnik": "ixy{HyyqvB~@dNLhB^nF`AnONjBLjBJlBLhBFbA@b@B`@FvABnABnA@pA?pA?hAAdCG~BGdCEfBEhBw@d[u@vZALoBnw@?JaAf`@a@~OCpACrAApA?nA@h@?d@BlADdABb@Bd@HbAD`@Db@B\\D\\Jz@F^F^L|@Nt@Pt@Rz@Tx@Rt@Tr@Vp@Xp@Xp@Xj@^t@^n@^j@`@f@X`@Z\\Z\\\\ZjAdATThA~@nB`Bn@n@n@t@b@l@`@n@^r@^t@^v@Tf@Rh@Rj@Tl@JXHZJXHXRv@Rx@Nv@Pz@Lv@Lz@J|@J|@H|@B^B^F|@D~@@`@@^B~@@~@?|@A`AA~@CrAErACx@Ez@IvBE~AAVIvBCdAAfAA`A?bA@dABfABv@Dt@D|@H|@F|@Jz@J|@Lz@Lx@Nx@Pz@Rv@Rv@Rt@Tr@Vr@Vn@Xp@Xl@Xl@b@v@^l@`@l@f@p@h@l@tBzBpF~F|A`B|BfCjAfAt@l@x@f@x@b@`Ab@zAb@|@NfAL`BF~EPnAJr@JXFVFl@Nh@P^P\\NbAh@j@`@h@`@n@h@^^\\`@??h@p@f@p@f@v@f@x@Xl@DHRd@h@rAf@tAHZl@vBZpAVpAPdAPdAVlBTpBr@`GJt@dB`OnBvPBLvAtLzAfMl@hFf@hE", + "glinnik|zgierz": "oau{H}r~uBh@lERfBTdBT~AJl@Hd@Jh@H`@T`APp@HXb@tAt@nB|A~Dn@`BDLb@tA\\jAHVNp@Pv@Nx@Jp@Lp@TfBj@vEThBThB\\tC\\pCRzANnARtAF\\FZLt@XnALj@Ld@Lf@Pj@ZdAbBrF`BnFX~@V`ADPH\\Nn@Nn@Lp@RjAPfAJj@Hj@TtA\\vBFZFZNz@Nn@Ll@Nj@Nh@Pl@Rj@Pf@Tj@\\x@\\t@LVNVZh@l@`Ap@|@f@l@h@j@`@^`@\\`@Zb@X\\RZPPHNH`@PlA`@n@Ln@J|@JP@P@b@@N?X@XATCP?f@E`@E^I^I`@I~E}A\\KZIXGXGLALCZETAVCh@Cb@?X?j@@h@DVBVDn@Jh@Jh@PVHVHj@VTLVLj@\\v@j@t@p@j@j@j@n@RVPTd@p@l@bAj@dAP`@R`@Tj@LXRj@Rh@h@vAf@tAf@tAn@hBXt@Tt@Tx@Tx@Nl@Pz@P`ATtAJn@Fl@Hv@Hx@Fx@Fx@D|@B|@Bt@@v@@`A@`A?NBpBD~FLrN@zB@d@@vABzBB|BBxADzADzAFzADnAFpA@b@Dh@FnAFv@Dt@Dv@D\\Dn@BZDr@NdBH`AHbAFdAJbAH`AJbAJ|@L`AF`@F^N|@F^H`@H^H`@Ld@Jd@J`@Ld@JZJ\\J\\J\\N`@N`@P`@P`@N^R`@LVBHR^LTNTZh@^j@\\f@NRNP`@f@b@b@jCfCRPtI~HfGvFbCzBxApA`@Z`@\\`@\\`@Zd@b@LJXVn@l@|@v@r@n@XVx@v@|@z@FD~DrDJHzBpBxBlBtAjAjS`RxClClC`Cd@d@", + "zgierz|łódź żabieniec": "g{l{HsepuBxApAf@d@RRr@p@^\\RRDF`@b@VXXX^^ZZdCzBrBnB~@z@`Az@RNVRRNVRZRXPZPXNXN^NVLVJ\\LTFXH`@J\\H\\H`@FTD\\D^B^D@?`@@f@@j@?r@Aj@CbAIbBQ`D]nCYfAKFAz@Ix@Kp@Gz@Kx@InAMv@IdAMv@IdAKt@I\\C^EVFl@C^CRAt@C^Ap@Al@?n@?f@?v@@b@BV@z@BnAHF@rF\\r@Dt@FZD^Bd@H`@F^Fb@Hn@Nd@Ll@Pj@Pd@NXLVJTJNFNFRJVL\\PTLNJZBPJh@ZhHlE~AbAjAp@pAv@rAx@tAx@jBbApE`CdCrA`DbBfAl@bQdJBBrGhDxDrB|Ax@bBz@|BnA^RhB`Ap@\\hAl@fDfBxAt@h@Tv@\\t@Tp@Rl@Pl@Lp@Ll@HD?h@Fr@FdBF\\?h@?r@Ab@Ap@Ep@Gp@Kp@Kn@Mx@Sl@OzQiG", + "gajewniki|zduńska wola karsznice": "uq_zHctzrBBpABbADdAFbAHdANlANhARfAThAZnALd@Pf@\\`A`@`AfAjBp@jA`@\\`@b@dA~@f@\\h@Zf@Tf@R~@V\\H^BZF^@`ABhAIfAOhC[pAIhB@|AHdBNdLz@pA@nAEhBYjBi@|@a@lAu@dAu@bAaAhAqAt@gAbAkBdA{B~@{BpAgDbHcRjI}T`AiC", + "łowicz główny|warszawa gołąbki": "_t_}HavxxB|@yAbA_BbA_B|@wAT_@d@u@f@u@j@_A~ByDnAqBV_@Ta@b[{f@`BmChAgB|@wAV_@bC{D\\k@FKV_@\\k@\\k@x@oAFKhBwCJQz@uAT_@PYPYVc@P[R]LWNYNYVi@Tk@Rg@JUFQPe@Ri@Pi@Pk@La@L_@Ja@Po@H]H_@Je@Jc@Jg@Jm@Ha@Hc@Hi@Hc@Fc@D_@Fa@BWD_@Fe@Fi@Di@Di@Di@Dg@Bc@B_@@]B[Bk@@i@Bi@@o@Bo@?]@k@?i@?i@?[?s@?q@Ai@Ai@Ai@Ai@Ci@Ck@Ck@Cg@Ci@Ei@Em@Ek@Em@Ee@Ge@KeAI}@AGWoCiBkRMkAKmAGq@Gi@Ei@Gk@Ei@Ek@Ck@Em@Em@Cq@Cs@Co@Cw@Aw@Aw@Aq@Aq@A{@C{B?i@EeFQ_RGoIAeAEwDAyACwACyAAaAASG_ECmAC}AAgAAoAAoACcB?c@AiBEwECeBAs@?u@Aq@Aq@Ak@Ag@C_ACq@Cu@Ck@Ce@Ce@Cc@Cg@Gy@Es@Eg@C[CUCWC[EYCUGq@Io@Is@Ks@Iq@ACIk@Mw@Ko@Ko@SiASkA]iBwCiPiE{UoAcHY}ASgA}Fc\\qFkZq@uDsC_PeAeG_AiFwA}H{@uEYcBaLun@UmASkAOu@Mu@y@uEaAuFaAgFm@mDGYWyAoByKEQIg@gAgGAEc@eCc@cCkEmV{BkMkBuKc@_CO{@Ii@cCgNUqAUqAg@qC}@cFSiAeIid@UoAUkAMm@Mo@Qy@Qs@Oq@Qq@YkAYiAaNei@iCcK]sAKc@gAeE{HsZWgAmBmHo@iCWcAk@{BcFaSqEiQOo@gDsMsD{NOi@]uA{AaG[iAYiAQm@Qk@I_@EMQk@Qi@Qi@Ww@K[ISKWSk@Si@Ui@Ug@M]MYMWQc@Ug@Ug@a@y@yDkIkFeLmC}Fc@_Ag@eAmAkC}BaFYk@?AgA}BoFmLuCiGcE}Ig@gAQ_@qAsCmEkJuFuLu@aB_AqB]s@a@{@Ue@Ue@S_@AEUc@Wc@Ua@OYQYOWGKMQWa@W_@W_@U[W[CCW]W[Y][]WYYY]][WYY]YYW[WOMMKo@e@m@e@u@i@m@q@oByAaD_CaDaCe@]MK{JoHyFgE{EmDIGgIeGqEgDoDmCWQ]W[UcAw@i@a@[W]UUSIG]Y[YOMMM[Y[Y[[Y[[[AAWYUWUYSUSWOSOSGGOSU]GGQYQWGIYc@Ye@Ye@OUKQYg@[k@[k@c@u@EI[m@KOsAcCaCmEgFkJqEkI[k@We@CEuCmFiAsBa@u@c@w@EGyN{WUa@Q]aHgMgBaDg@_Ag@}@eDeGMUOWiL}S_@q@eBaDoCaFUSeB}Cm@iAi@aAi@aAsAeCo@iAsIwOqCgFa@s@mA{BcG{KiE{HeG}KqCeF{CuFc@u@a@u@Ua@U_@Wa@Wa@W_@U]UYSYSWQSQSQSY[Y[YYYWYY[WYU[W]W]WEEWQaLgI{@m@cQgMgE{CiCkBgIaGIGs@g@iBqAaD_CGE{CyBm@c@]W]W_@WYQEE[QWQYQ[OYO[OKGYM[Mc@Q_@M_@Ma@Oi@QuQyFECcBu@_@K_@M_@Mk@Uo@Wu@]g@Wk@_@k@]sAcAaA{@EE_Ay@kBeBkCeCuHgHs@s@u@y@s@y@q@{@g@u@U]Wa@a@o@c@{@a@s@_@u@{@mB_@aA_@aA]aA[cAy@oCa@qA_@qA[aAI[sAuECIwAcFuAmFgCyIoCcJeAmDuAiEaCiHsAcEaAeDi@eBa@sAm@sB[gAUu@Su@Qq@Mo@Qy@Mw@QiAOeAOyAKyAI_BEyACsAAoA@sA@oAF_BFyAH{AJ{An@qJV}DPeCDs@PkCdBoWlGe`AhCi`@lBoYb@mGvAiTrDqj@rCsb@LiCLaCDw@@e@FgBDgABaADuBJoEjAcl@l@{YxCezA?EXwN`Bkx@PwHBmBDkBBe@@g@J_EDeADaAHcBH_BJeB\\mGZmGxDos@lAcUlDkp@`AsQj@gK`@yHfEsw@@If@mJhAoS`Ecv@HuAn@oLl@_L\\eGhFqaAfAmSFaAHaB`@}JxDws@pOcuCtFmdAn@oLlOcsCvAyWpB{^fBo\\dC_d@`AwQdBo[pB__@\\_Hb@sH@WlBy]zA}Xf@gJhAaTv@oNl@}K^eH`Coc@tCuh@ToELcCFgAF{AFsADoADqAD}A@cAB_B?kA@_B?yA?aBAcBY_k@?SEiJ?OEcHC}EA{CGiJEuJYci@AeAAsCw@kfBGwLEyJAaAIkRG_LAaAOi^GmM?MEqHGiMGgMCeACiAEmAEgAMeCKoAKoAMyAOmAOqAQsAIg@QcASiAa@uBc@mBe@sByByI_@}AsAmFEOwJy`@oNkk@kKub@q@mCwCwLwGeXg@oCa@uBUsAQoAKaAMqAGaAGeAEqACoAAuAAwDGgFA{_@A}J@_BBwCBcBF}AHaBd@_K`@oIDoBBwAB{A?eB?{ACwACmBGsBIgBKoBeAaPu@aLsBg[e@uHoBoZw@wLiAkPI}@QkBUiBq@iEq@kEwByMo@iEe@yDYiCQqCiBmXwAgTaCe^iDqg@iAsPk@uIg@wHa@eG}@gNqAmRo@uJa@aGSgDEw@Ck@Ck@Es@E}@C{@C}@Cu@CaAAcAA_A?{@Ac@?W?_A?_A@}@?mA@y@@y@BoDXe_@DqDJwL@oCRwTDkF@sBJqMDcF@wAByA@{AB_BBaB@{AByABaA@s@DaC?SDuBLkIB{AB{ABgAHqGFyE?WBsA@oA@oA@eA@{@FcHDeHByBBiD@yA@wABmG@wBBiI@{A@{A?uA?u@?_@?yG@oA?s@?u@?}@@w@@u@@iCBoC?s@?M@_A@_B@_BHmI?MFeIFcH?YVa[P{T@I`@sh@LsNHeJ@q@?s@f@qj@AeG@uA?sA?w@?y@?w@Aw@Aw@Aw@Aw@Ai@AMCw@Cy@Ew@Cw@E{@Eu@AI@i@Ca@OeCQuCUeESaDO{B", + "sieradz|sieradz warta": "_k}yHgnhqB]s@Wq@]{@Yw@Ww@Y_AUw@gAeEa@uA", + "sieradz warta|sieradz męka": "_t}yHmciqB]mAYaAUs@Ws@g@qAKSYm@Yk@c@{@CE]m@g@_AcF{ImI_OgEqHk@cAi@cA[o@Wk@Yq@Wq@Uu@Us@Uw@Qu@Qy@Ow@Y{AY_BEU}H{d@s@cEs@_EeBeKwDuTUsAcHsa@c@mCSoAQmAQmAOoAOsAKmAKqAIqAGoAGsAGuACoACoAAuA?mA?yA@k@?i@BwAB_ABc@By@DcADgAHeAJeBFw@J_BNiBJuARwBN}A`@iEz@aJ", + "sieradz męka|męcka wola": "y_`zHqsrqBLqAJcAJ_AL}@L{@N{@Nw@Lg@Lg@Pq@Le@J]Tq@Tm@Rk@Vk@\\s@Xk@NWH_@Xg@`@k@\\e@\\e@lG}HjDkEhAwAd@k@\\g@T]\\k@`@w@NYRa@Tg@Vs@Tk@Vw@XaAV_APu@Nu@RaANaAL_AJ}@LmAJmAFkADiADqA@mA@y@@y@@sB@gFDmMDoMBkMVae@?WZwcA@oE?oAAsA?IAgACuACqAEuAOgE_@iKiAc\\McDWsHi@}OG}AUsGUaHqAg^WyGWmH", + "męcka wola|izabelów": "q|~yHah`rBq@gRo@aRIiBGcBEcBE_BEsAAqAAqA?sA@uA@wAViRZgV`BqoAf@kf@FmEBqA@sA?qA?qAAmAAsAC}ACcB_@kRSwKo@{]yBglA?U", + "izabelów|zduńska wola": "ua_zHavlrBaAai@Ak@eAoj@IoEC{ACqBAu@?q@Ay@?oA@qA@oE@{A?mBAyACmBg@qb@?I@sCUgR", + "dobroń|chechło": "ewbzHetltBkB}HuCwLCMiDmNEUgKyb@i\\{tAEOuRwx@gRmw@iEoQ_@}Ae@mBS}@Sw@S{@YgAWcA[mA", + "chechło|pabianice": "kbfzHanvtBWaA]iA]kA{@uC}Nig@_N{d@IWkKi^mGmTkA_E{@uCaAcD[eA[eA]gA]aA_@eAa@eA_@eAkDuIgAqCaAeCeAiCw@oBq@eB", + "pabianice|pabianice północne": "cwhzHuz|tBg@kAYq@i@oAUk@a@{@cA_C_A_C}@yBy@uBe@gASm@Uk@k@}AgAwCcAqCsCeHgHqQSi@oBaFO[qBeFyFuNmA{CWk@Se@Ug@Sc@Ue@MWQYO[U]OWU[MQSWMOOSSSOQQOOOQQMKQMOOQKQMOKQK", + "pabianice północne|łódź lublinek": "{{jzHcy`uBOKMGSKSIYMYM_@M[I]I]Ic@I[E_@E_@Eg@Ga@Eo@Ga|@aImTqBoRgBWC{Fi@oTqBgCU}Go@UCk^eDySmBw@Gu@Gy@Gq@Cw@Es@Aq@Ay@?s@?w@@kQN_@I_@A_@Aa@A_@E]Ea@G_@G_@I_@M[Ka@O_@QQISKUM[S]U[Y[W]YYY[]Y[?AW[Y][e@]e@oCsDmAcBg@s@]e@yEuGcDqEaByB{AwB}CgEu@eAGG", + "łódź lublinek|łódź retkinia": "{otzH_zcuBc@m@oAeB_B{BCC}\\ce@cCgD[a@mFoHu@cAi@u@e@q@[g@c@u@U_@_@s@]q@Ug@MWUg@O_@Uk@M[Ws@Qe@]cA[eAY_A]sAWiAQs@Mq@}BkLqD{QwAkHwAqH}CwO{CuOkJwe@wCkOG[uC{NkBoJi@oCeB}IYuA]gBYuAi@qC", + "łódź retkinia|retkinia": "omxzHmamuBqAwG??m@}Cg@gCsGq\\qAyGOY}@mE", + "retkinia|łódź pabianicka": "k`yzH}aouBQcAc@oDMw@Io@Km@Oy@}AcIaA_Fq@iD_@oBMm@{A}Gq@yC[sA[{Au@sDw@aE[aBG_@COKq@K}@IaAC_@Cc@Ca@Aa@Aa@?e@A]?e@?g@@c@@c@@g@Ba@Bg@Bg@B]Di@Da@D_@Fa@Fa@D_@F[FYFYBSHYHa@La@Ja@J_@JYL]L]LYJSHSHOHQLSPYNUNSNSPSNQJIJMJKLIVSJIRMPKNIPGJGRIPGPEl@STITGRGFAZWFAf@GXERJ\\CTSJAVCRANAPCXATJXARARA`@AnCKXOTATAZCHJRQLJPQLJTQHJ^G|IsAh@I\\G@MXG^GVGf@MPERGXK^?`@Q\\O\\MXMn@g@bAe@TKTKTKHFZOXKAKb@Q`@O^Ov@W|Bs@RBLE\\M?K^OZMV?PG\\QpEoBl@Y`@SDOXARYJGd@YPKXE@MVQTE\\Wf@e@t@s@AO`@c@h@_@t@}@EKl@u@f@q@REr@}@bAqAPUvCwD", + "łódź kaliska|łódź chojny": "}r|zHqnquBn@m@bA_Az@u@bAaAFGnCmCXYFERQXYBCZYFElAeAVULKVUJIRQLKJINOHGTQRONMRMTOHEPKLIVONINI`@SbAe@VMhB}@p@[l@Y|BiALGTKDATKTKXKVIZITGXGTEr@M|NeCfB[jCc@`F{@`@I^Gb@KjBa@dE_ANCjCk@zA_@HAt@Q@?`@IbAUhAS`@I^GHCh@GPCRCNC\\CTCl@GHA\\CNAPAPAXARARA`@AnCKXOTATAZC\\E^Eb@E`@GdJuAf@I`@GXG^GVGf@MPERGXKZKb@Q\\M^QVKp@[bAe@TKTKTKb@QXMb@Q`@O^Ov@W|Bs@^M^M^OZMTIPI\\OnEqBn@Yh@W\\QNIJGd@YPKZSVQj@e@l@i@t@w@`@c@b@g@t@aAl@u@f@q@|@kAxAkBvC{D~@kAh@s@r@}@Zc@t@aANS\\g@^m@Xg@^s@Xk@\\w@Vo@Ts@Rk@Lc@Le@H[Ru@Lo@R}@Nu@Lw@lA}GbB{J|@eFXeBPcANgAFc@Ju@Dg@JeADm@Fu@Dy@Bk@DkA@{@?e@?U@w@?CAq@A}@Ai@Cu@Ce@E{@Ey@Gm@Gq@Gs@Gg@Mw@Ik@[eBSeAQq@Ka@[eAC_@m@cB[y@g@iA}@mBuCiGcD}G}B}Ee@eAc@aASc@Ws@KYY{@Oe@K]ESGQI_@S_AYyAMq@Ko@Ky@Iw@KgAIcAAYEe@Cg@Ae@Cs@AeAAuAAy@@iA?m@By@E]FeDJwDHsB?IX}FDy@h@eKz@yPTkE`@oIFeAFgARkCT{CRyCJsAFqARsDJoB@UBk@JsB", + "bednary|bełchów": "wi_}Hu_lyBX|AdFjYzCrPTrARhA|@`FrAnHn@lDpCbPt@~Dj@bD`B`J`Gf\\fAjGZdBZ`BLv@BJhAhGzAnI~CdQfDfRhAhGz@~EJj@F^Jl@Jx@Hj@Hn@Hl@Db@BXDb@Db@Fp@Fp@Dp@Dp@Dr@Bp@Bp@Bp@Br@@f@@h@@v@@h@B|BJ~L?V@f@@bBJtK^va@B~CFfHBnC@f@D`EBxD@t@@x@@l@@j@@j@@Z@ZBl@Bl@Bn@Dn@Dp@Fr@Dl@Dl@Hr@Fr@Hx@J|@^tDdBdQHv@VDF^D`@F^F^DXFXDTFTFVHZFRDPJZLZJZLXJTP^LVNVNVNRLRRVPRRRRRNNRNRNPLTLRJPHTJTHPFVFTDXFP@NBT@T@R?R?RAVAVCVETETGLCXIPIRIPINIPIVQPMRONMPSPOJOt@}@NQJQZe@R[zB_Dv@oAdC}Dj@}@hIsMbA_BhTg]f@u@f@w@V_@T]Ze@\\e@X_@Xa@\\c@^g@^c@`@g@\\a@^c@^c@^c@AI\\_@^a@^a@Z[b@a@H@XW^]VWj@g@`@]`@]`@]JIVS`@[\\YBC`@Y`@Y`@Y^Wr@e@l@a@BAxA_Af]mTnb@eXtEwCDC`HmEdh@e\\hIiFnAy@rA{@nAw@pBqAr@c@rA{@nAw@pAeA^WhHqEfIiFhIiFhIiFfIgFjAu@hAu@P@bGwDdAq@vA_AVOJGb@Y`@WHSn@a@TOt@Y|AaAdA}@zBwAt@e@fAq@h@_@d@YVCj@]\\UR[pEuCPM`@W^Wb@Y`@Wb@Y~@q@VQVQPMFEZSb@[RTZS\\SZS@AvCiBFE`@WJIVODCZS?c@h@[VNJGXS\\UZUZSDCVQDUR@f@[NYTAFSb@YVCp@a@rAiA", + "bełchów|skierniewice": "auo|HeghyBNIJIXQXQ`BcA~AeArAy@b@YFE|AaAh@]FEVQVOp@c@VQRKTOlAw@dFaDpAy@tFoDhIiFhIgFfIiFPKd@[d@[f@[h@_@d@]b@]^YTQTQLKVUb@_@f@a@d@c@f@c@f@e@^_@VWTW^_@\\_@d@g@b@g@b@e@`@e@`@e@`@i@TYf@q@f@o@^g@^i@f@s@^i@^m@`@m@`@o@`@q@Zk@b@s@\\m@Zm@\\o@^o@HORc@Xk@Xk@`@{@Xm@Xo@Xk@\\{@HQN_@dB}DrB}EN]`B}D@AbC{FfBgE`CsFx@oBVm@|BmFVo@dB_Ebd@yeA~@wBxa@kaAxh@mnAb@eAlBsEDIlAsCd@iAlDiIrB}EnDmIxIqSpEmK|R_e@tCyGhBiEFMfCeGTe@pEoKPc@Pc@Pe@HWJWL_@La@Ni@Ng@Ni@n@cCr@kCLc@Lc@Je@Lc@Je@Jg@Jg@Jg@Hc@He@Fe@Hg@Fg@Fg@Fe@De@Dc@Di@Dg@Dg@Do@Dm@Bo@Dm@Bo@Bo@Bk@@m@@m@Bm@?m@@m@@k@?m@?m@?o@Am@?o@?MAc@AY?UAc@Ak@Cm@Cm@Ak@Em@Ck@Cm@Ek@Em@Gk@Ek@Gk@Ge@Gg@Gg@Ig@Ii@Ig@Ia@Ga@Ic@GWG[Ic@]cBwBoKKi@CQGWKk@Ou@]eBCKIg@EUEUE]EWEYCOAa@", + "warszawa gołąbki|warszawa ursus północny": "w{s}Hsmi~B_@sGc@_HA[k@aJEq@Eq@IsAGq@Gq@Gm@Ek@Iq@Iq@Ge@UwASuAk@wDyAoJMw@?c@Ik@Ge@Ee@Gg@Eg@Ee@Ei@Cg@Ci@Cm@Ai@Ag@Ai@Ag@?i@?o@?g@@i@@k@@e@Bg@Ba@@a@Dc@B_@Ba@Da@Hu@Fi@D[Fa@DYDYBQHe@Je@Je@H_@H_@H_@J[H[H[FQJq@fKs\\hB}FzBkHxBcHrGyS", + "warszawa ursus północny|warszawa włochy": "ycs}Houo~BzEqORo@n@qBNg@Tw@BKH]Ha@F[He@Fc@F_@F_@Da@Fg@Ba@D]Be@Ba@B]@a@@a@@_@@Y?[@c@Ae@?e@Ae@A_@Cc@Aa@C_@Ec@E_@Ee@E]E]Ie@G[EYMq@Om@[yAUkAQs@aAmEsAcGAIk@iCc@qB_@{As@_D_@uA[mA[kAqAwEOi@Om@I]K]Ia@Ka@G]GWG[I_@G_@Km@ESIc@GYGWDm@Le@Kc@Oq@Qq@Qu@Ke@CGYmA[sACi@", + "warszawa zachodnia|warszawa ochota": "wqv}Hco__CUiBOgAK{@Kq@Ie@?EOy@Ow@Ki@Q_AQ}@OaAM}@mD}U_@eCaB_LOgAeA}Gm@{DE]w@aFKs@Mu@QgAAG", + "warszawa ochota|warszawa śródmieście": "mhw}Himb_CIk@Ik@Km@Io@SwAcAeIIm@Is@MmAI_AOgBEi@Ek@KcAE_@Ga@Gm@YsB", + "warszawa śródmieście|warszawa powiśle": "kbx}Hyjf_CEg@Eg@Ee@Ce@Cg@Ce@Ag@Cm@C_AAo@Aq@I_@?[Ca@A_@C_@E_@C_@E]Ge@sD_ZgCqRIm@My@Ks@Km@QcAsD}TKo@Mo@Ko@Ic@S}@", + "warszawa powiśle|warszawa stadion": "yxx}Hmwi_C}AiHMk@e@kBc@wA]_AQg@u@qBa@gASe@IQIOg@eAIO_@q@i@_A]i@_@i@uAkBW]W]Yg@Ua@O[S_@Se@Wm@o@}AcBcE}F}NmGwOYs@Q_@Q]Sa@_@o@_@k@SWW[UWWYi@e@YUq@c@YQOGMIQGQIQGMEMEOEWSSEQCOCMC]ESA", + "warszawa stadion|warszawa wschodnia": "i{z}H{cm_CMAO?MAM?M?aC?aCAM?O?M@O?S@", + "łowicz główny|bobrowniki": "gs_}HgtxxBbA_BdAaB^m@zDkGNUrBeDb@q@`@s@Zg@Vc@LS\\k@\\m@^o@`@o@b@s@b@s@nU}^Xg@b@q@b@u@f@w@d@y@~AoChAoBTc@x@sA^o@JSR[Zg@|BuDZg@Zg@\\k@BCXg@f@}@nAyBHOv@uAXg@Xe@FMLQP[LSt@mAzBuDd@y@h@y@f@{@Xc@z@sArAwBpAuBxPgXzC{ErD_GR[zB_Dv@oAdC}Dj@}@hIsMbA_BhTg]f@u@f@w@V_@T]Ze@\\e@X_@Xa@\\c@^g@^c@`@g@\\a@^c@^c@^c@\\_@`@a@^_@Z]b@a@DGXW^]VWj@g@`@]`@]`@]JIVS`@[\\YBC`@Y`@Y`@Y^Wr@e@l@a@BAxA_Af]mTnb@eXtEwC", + "bobrowniki|bełchów": "quv|HqgcyBDC`HmEdh@e\\hIiFnAy@rA{@nAw@pBqAr@c@rA{@nAw@pAeA^WhHqEfIiFhIiFhIiFfIgFjAu@hAu@rD}B|AcAvD_Cb@YNKh@]n@a@TOxEyCzBwAt@e@fAq@h@_@d@YDCnBoApEuCPM`@W^Wb@Y`@Wb@Y~@q@VQVQPMFEZSb@[^U`@W^WxCkBJG^W^Uj@]h@[TM^U`@U`Ai@ZS@?\\Sl@_@\\Ub@Y|CoB", + "bełchów|sierakowice skierniewickie": "auo|HeghyBNIJIXQXQ`BcA~AeArAy@b@YFE|AaAh@]FEVQVOp@c@VQRKTOlAw@dFaDpAy@tFoDhIiFhIgFfIiFPKd@[d@[f@[h@_@d@]b@]^YTQTQLKVUb@_@f@a@d@c@f@c@f@e@^_@VWTW^_@\\_@d@g@b@g@b@e@`@e@`@e@`@i@TYf@q@f@o@^g@^i@f@s@^i@^m@`@m@`@o@`@q@Zk@b@s@\\m@Zm@\\o@^o@HORc@Xk@Xk@`@{@Xm@Xo@Xk@\\{@HQN_@dB}DrB}EN]`B}D@AbC{FfBgE`CsFx@oBVm@|BmFVo@dB_E", + "sierakowice skierniewickie|mokra": "evj|HwxmyBRU|IySvXap@|@wBlFcMlZgs@fIoR~Uwj@tBaFdC}F", + "mokra|skierniewice": "}bg|HustyBRe@rCwG~@wBrB_FrB{ElBeFnDmIxIqSpEmK|R_e@tCyGhBiEFMfCeGTe@pEoKPc@Pc@Pe@HWJWL_@La@Ni@Ng@Ni@n@cCr@kCLc@Lc@Je@Lc@Je@Jg@Jg@Jg@Hc@He@Fe@Hg@Fg@Fg@Fe@De@Dc@Di@Dg@Dg@Do@Dm@Bo@Dm@Bo@Bo@Bk@@m@@m@Bm@?m@@m@@k@?m@?m@?o@Am@?o@?MAc@AY?UAc@Ak@Cm@Cm@Ak@Em@Ck@Cm@Ek@Em@Gk@Ek@Gk@Ge@Gg@Gg@Ig@Ii@Ig@Ia@Ga@Ic@GWG[Ic@]cBwBoKKi@CQGWKk@Ou@]eBCKIg@EUEUE]EWEYCOAa@", + "skierniewice|skierniewice rawka": "kqd|H}t}yBo@eDKc@a@uBm@wCmAiGOs@G[uA}GUgACq@GYKg@Ki@Ii@Ii@Ki@Gc@E_@G_@Ge@ScBGg@Gm@Ik@Gm@Ii@Gk@Ii@Ie@Ie@Ie@Kk@Ki@Ki@Ke@Ki@eCaMcDkPWqAiCmMgCkMuAaHi@gCsAyG_A}E}@kEeAkFIg@Mm@Mq@Mo@Kq@EOG_@Kq@Io@Kq@Iq@Ks@Gq@Iq@Gs@Gs@Gq@Gs@Gs@Ew@Eu@Eu@Cw@Eu@Cu@Cw@Cu@Au@Cu@Aw@Aw@Au@Au@Aw@?w@Au@?w@?s@?}A@{EHmZ@qCHu^BkI@qH@w@@{E@gHDmO@mE@_A?eAGi@?}@A{@?s@A{@Aw@Cu@Aw@Cw@C{@E_AEw@Cu@Ey@Gy@Ew@G_AG_AU_DY_EUkDC_@Eq@Gw@Gq@I_AIu@Gs@Gi@AIKy@Kw@Is@Kq@M}@Mu@Mu@Mu@Mu@Oq@Ou@Mo@Oo@Qy@Qu@uAeGI]EUEe@", + "skierniewice rawka|radziwiłłów mazowiecki": "g{f|HoolzBsA_GuAeGYmA_Io]o@qCmAkF_GgWKe@e@uB]{AOm@Qy@AAwMal@kMwj@sCaMiDeOKc@[yAEOS}@Oo@Oq@qEaSYmAYoAOq@cAkEmAmFYkAAG[sAmBiI[sAYsAmCiL[wAoCqLyEwS[yAMi@oI{^mBoIa@iB[qA[uAkBmIYoA[oAUeAOo@Mi@YqA[qA[uAmBgIGU", + "radziwiłłów mazowiecki|jesionka": "yhk|He~yzBQu@kA{E_BeHi@cCGUS{@[sAe@yBQs@k@iCmBoIk@kCU_AS_AYkAYoAoAsFe@sBCMwBmJiDgO{@uDe@qBe@uB{AyG[oAuCmMe@qByBuJo@oC{EcT]yAs@}CS{@g@wBeIg^iDgOeDyN_@aBqAyFeAuEOs@", + "jesionka|sucha żyrardowska": "_cn|Hqqb{BGWI[sDgP]yAcCqKmAqF{AuGiAeFcAmE}@{DuAkGy@kDy@qDyD}PgD_OyHc]WcAESGWCOOq@cAoEuAaG", + "sucha żyrardowska|żyrardów": "w{o|Ha_h{Bo@wC}A{G[yAs@yCsMsk@aAiEeBwHw@iDgDeO}B_KI]S{@yEwSYuAq@uCqA}FYqAYoASy@Oq@Oo@UcA]wAgBwHWoAYmA[qAYqAmK{d@qFeV]{A{@wD[qAYqA[qAYqAwKge@yGoYkDcO}FuV[yAwBaJkWihAmAiFiB{He@qBe@sBw@gDmBiIEQeAqEy@kDMm@o@qCqCuL{BsJYkAkBaI", + "żyrardów|międzyborów": "usu|H{ky{BKg@_@}AsE{Ru@cDmBiImHi[GYoCsLgAuE_A}DcAoEIYOs@cAkE{AqGe@sBKc@wBiJeDoNqM{j@GUK_@AG", + "międzyborów|jaktorów": "}tw|H_p_|BuAeGsA{FiB{HiB{HqCyL]yAaCcK{CsMy@qD_B}GGU{AyGgCuK}@{DkJea@mCgL[yA_G_WwMmk@yEqSaDeNI_@wCeM]{AsSe}@_DaNyFoVSy@a@iB]wAeJu`@AGoAqFyAoG", + "jaktorów|grodzisk mazowiecki": "kk||H{tm|BuQiw@a@eBm@iCsBaJ_A}DGUwSw}@oEmR]{A{CwMYoAYoA[uAiEaReEsQoEoRYmAo@sC}AuGOq@eAyE_A_EYoAgA_Fa@eBEQYmAU_ASw@iAiESw@Om@i@_Cs@yCg@qBS{@Su@}@mDSw@Oi@i@_CI[ESo@oCWcA{@wDmBmIGSKe@_BgHq@sCw@kDG[U}@e@mBEQS}@WeA}@aFw@cDWkAy@iDJMOk@Qm@I_@I[I[Om@QUAIwAkG", + "grodzisk mazowiecki|milanówek": "ay`}Hq_{|Bg@sBi@_C]{A]yAeGsWqC{LOk@eAsEmBqIgAuECMq@sCmCkLMi@gAyEg@yB[wA{AsGGW_GgWsKce@wCkMc@mBmAkFyKue@[wAWeA[uA[sAcDmN", + "milanówek|brwinów": "}rc}Haoc}B[sAYqA[sAc@iBYoAYmAaBmHs@wCaKwc@]yAaAgEc@kB[sA_AaE_A_Es\\yxA]{AaAeE}@_E_AaE_AaE}Lei@I]mEqRkBgIaDiNeBuHYqA]{AI[I_@Mg@qAyFc@kBs@}C", + "brwinów|parzniew": "_ag}Hy|m}BgTo_AmHw[]yA_AcE_A_E_AaE_AaEiAaFq@uCkGiXQs@iCiLa@iBu@eDu@cDEQ_AcEWgAg@wB_A_E}@{D]{Ak@iCS{@_AaE_A_E_AaEuCmMmAkF", + "parzniew|pruszków": "kvi}Hi`v}BkAeFG[uAaGm@kCCO_Kqc@Iq@yAuGiC_LWmAg@uBOs@qAuF}@}DiAaFmAkFoF{UiGgXiAaFWmAWiAk@mCk@qCm@mCeC}KCK", + "pruszków|piastów": "qxk}Hsk|}BcDoNKe@k@iCAEWgA_AaESy@Ki@Oo@c@iBMk@a@aBQy@Sw@Qs@WcAs@qCQs@[wAcBmHg@}AWiAeAwEOk@iAaFe@uB{@uDCKuAgGGYu@_DWmAYkAyNgo@m@mCuAcGaAmEQu@I]GWy@mDI_@s@aD_@aB_@_Bu@cDI]kAeFsAcGg@yBk@iCw@gD]yAkAiFGWuAcG{@wD?AWiAoAqFEQg@{BEOOs@GUMm@k@aCg@}Bc@kB", + "piastów|warszawa ursus niedźwiadek": "syn}H}qe~B??S_AI]Kc@EQYqAy@oDc@oBKa@e@qBeAsEMm@sAaGGSmAkFa@kBq@uC]}Au@eDCKqAuFi@cCg@wB]}AGWYmA}DgQk@eCg@{BsA_GuAcG{FeWcAkEQu@sAaGm@mC", + "warszawa ursus niedźwiadek|warszawa ursus": "kqp}Hi|j~Be@sBAIqAyFm@mCe@sBo@qC_@aBEMWmAy@kDAGsAaGsAaGuAaGeAyEMi@Qu@Ow@WiAWkAUgAUeAQ{@Qy@Qy@YoAYoAMm@Mi@Kc@AC_@gBUaAe@qB}@aEMe@", + "warszawa ursus|warszawa włochy": "ouq}Hwkn~BWmAOo@Om@Oo@I[mAaFWcAYiAWiAOm@I_@YmAo@uC]{Ac@kBWiAWiAc@oBs@yCa@gBUgA[qAsAcGEQm@mCQs@Ia@w@iDo@qCS}@Os@UiAMm@k@oCk@sCa@qBUmA[sA]cBa@eBq@yCuAcGm@qCe@qBS{@Qu@]oAS{@c@{As@oC]oAWaAYeA?CUy@U}@a@eBOm@ACS}@S}@Me@_@cBEOKg@WcAUeAUeAYmACQOm@J]Ci@", + "bełchów|mokra": "auo|HeghyBNIJIXQXQ`BcA~AeArAy@b@YFE|AaAh@]FEVQVOp@c@VQRKTOlAw@dFaDpAy@tFoDhIiFhIgFfIiFPKd@[d@[f@[h@_@d@]b@]^YTQTQLKVUb@_@f@a@d@c@f@c@f@e@^_@VWTW^_@\\_@d@g@b@g@b@e@`@e@`@e@`@i@TYf@q@f@o@^g@^i@f@s@^i@^m@`@m@`@o@`@q@Zk@b@s@\\m@Zm@\\o@^o@HORc@Xk@Xk@`@{@Xm@Xo@Xk@\\{@HQN_@dB}DrB}EN]`B}D@ATWdC}FlAuCRe@Xq@|BmFVm@x@mBfF{L|IySvXap@|@wBlFcMlZgs@fIoR~Uwj@tBaFdC}F", + "łódź chojny|łódź olechów pzs r3": "}quzHis~uB@ITiEJwBPeBJeAJmAHkAFaALqCt@uNH{A|@}Pd@wHh@wHl@iHjAuMnAwMp@eH`AqKRgCNkCDu@PcETwEFaBHcBBy@D}@@}@By@@{@@}@@_A?y@?{@?S?m@Aw@Au@A_AC_ACw@Co@Cm@Ci@De@AGEy@G{@G{@K_BAGUuC", + "łódź olechów pzs r3|łódź olechów wiadukt": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?I", + "łódź olechów wiadukt|łódź olechów zachód": "ihuzH_lhvBAg@IcGAm@OwLCuA?EEoAAs@C}@C{@Cs@C}@C}@Ci@E_ACg@Aa@Ck@E{@E{@G{@Eu@A_@CUKgBKcBm@yJKwA?E", + "łódź olechów zachód|łódź olechów pzs r16": "mnuzH_zjvB?DJvAl@xJJbBJfBBT@^Dt@Fz@Dz@Dz@Bj@@`@Bf@D~@Bh@B|@B|@Br@Bz@B|@@r@DnA?DBtANvL@l@HbG@f@?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", + "łódź olechów pzs r16|łódź olechów wschód": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?IAg@IcGAm@OwLCuA?EEoAAs@C}@C{@Cs@C}@C}@Ci@E_ACg@Aa@Ck@E{@E{@G{@Eu@A_@CUKgBKcBm@yJKwA?EK}AW}DKoBIiAKaBAQIkAUsDm@cKWeEMcBKaBMiBGaAEg@]qEg@yGC[[mE]{EI}@]qE{@wLKiAmFet@Y}DaAwMy@yKG{@Q}BIaAWwDYoDEo@SiCg@cHi@eH", + "łódź olechów wschód|łódź olechów łoc": "kovzHokrvBh@dHf@bHRhCDn@XnDVvDH`AP|BFz@x@xK`AvMX|DlFdt@JhAz@vL\\pEH|@\\zEZlEBZf@xG\\pEDf@F`ALhBJ`BLbBVdEl@bKTrDHjA@PJ`BHhAJnBV|DJ|A?DJvAl@xJJbBJfBBT@^Dt@Fz@Dz@Dz@Bj@@`@Bf@D~@Bh@B|@B|@Br@Bz@B|@@r@DnA?DBtANvL@l@HbG@f@?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", + "łódź andrzejów szosa|łódź widzew": "uvxzHgtuvBQDQFQDOHQFGBQHKFQHQLSLITMAKTO@KXUTSFERQFCRSHCTY`@S`@]n@i@fAqAlCi@fA_@x@O\\MZ_@~@e@lAI@mCrH{CrI}CrI_DpIDF_AbC_AbCo@`Bm@dB}AhE{AhEo@bB}@lAaAdCsE`KiEpJgBbE}@|B]~@[~@[bA[bAYbAWdAm@lCShASbAe@tCa@tCoDtXkDzW_ErZoFva@cBrMc@`DIv@WtBQ|AMrAGn@WfCYlDwAlQEp@y@`Kg@rGGn@QzBuAzQs@rIo@nIyA~Q_B`SYlDs@zIg@hG", + "słotwiny|koluszki": "{wuzH_o`xB{@jBeBnD}BzE{BxEGLqBfEEHWj@{A~CkLpVyBrEeFpKc@z@U`@KRS\\GJORMRMPUXSVUVY\\MLYZmBtBg@h@_@`@MNMLOLMJMJOJ[ROFMFMFMDMFODOBODQBKBWBUBO@O@M?O@M?K?YAYAYCOCMEUEsAYq@OMCMEMEMEUBWIWIUIa@KiA[e@Mi@Om@Ow@Ue@Mg@Og@QYKYK{GmCaAa@WK_Bo@i@Ss@Ys@[WKQI[O[O]Q]Q", + "płyćwia|bełchów": "w_{{HevayBsBaEIO}@gB}A}CUc@g@aAg@aAuAoCaEaI}@eBUc@iAyBWUMWi@cAc@{@c@w@OWKSS]S[Wc@W]U]W]W]Y]W[Y[Y[WYYYYY[W]YWSYW[U[S]UWQYO[Q]Q]Q_@Q_@Oa@Qa@Qa@OkKeEc]cNq@c@}D_ByImDoAg@m@Uo@Yo@Y]O_@Q_@QWOYO_@U[S]U[S[UYW[W[WYWYYY[YYY[Y[Y]W]Y]W_@W_@Wa@Yc@S[OYOWIOYg@ISIOUe@Uc@Se@M[EISe@Qg@Sg@Qg@GQK[Oc@Qi@Oi@GOIYOk@GSGWMi@Om@Mk@Mk@Mm@Ie@Kk@Ki@Ik@Ii@Ik@G[AMGi@Ii@Go@Io@Gq@Ea@AMEq@Go@Eq@Eo@Eq@Ag@Ce@Cc@Ac@Cq@Aq@Aq@As@Aq@?q@?q@?q@?q@@s@@q@@q@@q@Bq@@q@@W@YDo@Bq@Ds@Fq@Du@Fq@Ds@Fs@LuALsARwBHcAr@}Hr@aIr@}H@SjD}_@`AwKJiALuA^eEZmD\\mDZmDXgDFq@Da@JgAv@yIVqCtByUJiALqAx@cJLwAvB}UvAaPrCc[BW@UfAwLzAuPFi@f@sFr@cIt@iILwAxBqVxBkVHgBLsADg@Dk@Fu@Fu@Du@Ds@Ds@Du@Bs@Bs@Bu@@g@?KBu@@u@?]@U?u@@u@?O?c@As@?u@Au@As@Au@Ai@Cy@Cy@Cm@Ck@A]GiAEo@Em@Eo@Em@Go@Gq@Go@Iq@Gq@Im@Io@Io@Km@Ko@Km@Km@Km@Km@GWEUMk@CMIa@Oo@Om@YgAWiAsMyg@w@wCOk@Ok@Ok@Oe@Me@Oe@Oe@Oe@CIK[Oc@AAOa@Oc@Se@Se@Se@Ue@Se@Uc@Uc@ACS]KQIQOUGKU_@Wa@U[ACW_@W]Y]W]Y]SUEE[[Y[ECSU[Y[YGESQ[W[U[U]Uc@WUO[QOIOI[O]Q]M]O]M_@M_@M_@M_@Mq@Sq@Sqn@uQ_HqBsF_BeA[{Ac@CAmDcAcCs@CAsBm@OE_@M_@K_@M]M[M[M[Ma@XIASEYHUCWCUASASAY?O?U@S@U@SBSBSDUDSDSFSFSHSFSJSJULSLSLUNURSNSRSRQPORQRu@~@MPKPMPMRKRMRKTITKTIVITIVGVIXGVG\\I\\MVQTO`@Ib@Kf@Kf@Kf@Kd@Mb@Kd@Mb@Mb@s@jCDJo@|BOh@Oh@Of@K^M\\KXEb@O`@O^Q^GLO\\KRMTKRKRMVKTGp@KRS^CBw@xAIRKPYn@_BrDg@|@GLiBhEuCxG}R~d@BF_Op]i@lAoDlIyBtEmDhIe@hAmArC?RsCvGSd@eC|FuB`F_Vvj@gInRmZfs@mFbM}@vBwX`p@}IxSSTeB~DWn@}BlFWl@DFWl@}BlFYp@QLAVmAtCeC|FUVA@aB|DO\\sB|EeB|DO^_@lAWj@Wj@O\\KR]v@MBYj@Yj@Sb@?N[l@M@]n@[l@]l@c@r@[j@BF_@n@_@l@GCa@l@_@l@BFc@`@g@r@_@h@_@f@BFe@p@_@d@M@UXa@h@BHa@d@_@b@UVSDEVYZi@Z]^_@^GVM?WV_@^BHg@b@c@`@GEe@b@g@`@BJg@RWTMJUPUP_@Xc@\\e@\\GPa@Lg@Ze@Ze@ZQJgIhFiIfFiIhFuFnD@HuFnDcA`@BHqAl@UNSJWPq@b@WNWPGDi@\\}A`AGDc@XsAx@SZu@d@UBaBbAYPYPKHOH", + "łowicz główny|bełchów": "gs_}HgtxxBbA_BdAaB^m@zDkGNUrBeDb@q@`@s@Zg@Vc@LS\\k@\\m@^o@`@o@b@s@b@s@nU}^Xg@b@q@b@u@f@w@d@y@~AoChAoBTc@x@sA^o@JSR[Zg@|BuDZg@Zg@\\k@BCXg@f@}@nAyBHOv@uAXg@Xe@FMLQP[LSt@mAzBuDd@y@h@y@f@{@Xc@z@sArAwBpAuBxPgXzC{ErD_GR[zB_Dv@oAdC}Dj@}@hIsMbA_BhTg]f@u@f@w@V_@T]Ze@\\e@X_@Xa@\\c@^g@^c@`@g@\\a@^c@^c@^c@\\_@`@a@^_@Z]b@a@DGXW^]VWj@g@`@]`@]`@]JIVS`@[\\YBC`@Y`@Y`@Y^Wr@e@l@a@BAxA_Af]mTnb@eXtEwCDC`HmEdh@e\\hIiFnAy@rA{@nAw@pBqAr@c@rA{@nAw@pAeA^WhHqEfIiFhIiFhIiFfIgFjAu@hAu@rD}B|AcAvD_Cb@YNKh@]n@a@TOxEyCzBwAt@e@fAq@h@_@d@YDCnBoApEuCPM`@W^Wb@Y`@Wb@Y~@q@VQVQPMFEZSb@[^U`@W^WxCkBJG^W^Uj@]h@[TM^U`@U`Ai@ZS@?\\Sl@_@\\Ub@Y|CoB", + "koluszki|słotwiny": "mixzHgl}wBLDLDLDLBp@NrAXTDLDNBXBX@X@J?L?NAL?NANATCVCJCPCNENCNELGLELGLGNGZSNKLKLKNMLMLO^a@f@i@lBuBX[LMX]TWRWTYLQLSNSFKR]JSTa@b@{@dFqKxBsEjLqVzA_DVk@DIpBgEFMzByE|B{EdBoDz@kB", + "warszawa główna towarowa|józefinów": "_`t}Ho{j~BRbDRlDbAtP^fGF~@J^B`@Dd@Dd@Dd@Fh@@JV|B^bDJdAHn@DVHp@F^Jt@BNDXFVHb@FZFZJd@Jb@DPRt@Tx@Tt@Xz@@DXt@Vp@Zr@\\r@FLTb@^n@^l@`@l@PXNP`@f@VZJLb@b@b@`@d@b@\\VJH^Vf@Zf@Xh@Xf@Rh@Rj@Pf@LHB`@Hj@Jh@Df@DT@ZBf@?f@?h@Aj@Ef@En@Il@Mb@K`@Mp@S`Cy@~@]fBo@j@SNGjBq@nCaA~B{@r@Yr@[z@c@b@Y^UbAq@bBkAjBcAdEsCFEVOXQZOVMZKTIZK\\I\\EZGZC^C^?\\?^@\\@`@DPDNB^Fb@L\\LD@VJ`@RZP^T\\VZVZXFFTTX\\\\`@\\f@HL`@p@^r@N\\Vl@P`@Nb@Ph@Pj@b@T", + "raciborowice|dłubnia": "sazpHmffyBh@jBZfAPj@ZdARn@Tn@Rf@Rb@R^Xb@X^RR`@b@XR`@TTJZNb@LNDPB`@D\\B`@?TARAh@Gd@Md@QRIVOXSTQTSTUT[PUT]R]Tc@d@IBJa@z@GNSd@CD]|@[|@IBWt@Sj@A\\_@z@", + "marków|szeligi": "ure|Hs~~{BJnAJhALjANnAPhALv@F\\Jj@DTDTNn@Rz@XdAV~@X|@Xv@Vr@Zv@Xn@^x@Vf@^r@b@r@\\h@^h@d@j@V\\f@j@d@d@f@d@b@`@`@X\\VdBhAfBjAxDdClQfLVPVNVPXNLJNHJFLF\\P\\PVJRJZLZJRHdA`@HDt@ZZLXNnAl@XNZNt@XbDnAz@\\fHnCb@\\`C~@lHrCzc@~Pb[tLHI", + "łazy łc|przemiarki": "u`vrHk~duBjD`\\J`AFn@NvAL|AL`BFp@Hz@FvADt@r@?f@xKH~A\\bIJ~BFhAFfAHz@Fx@Hx@TpBV|BJx@BTFd@Jz@Lv@F`@Hf@Jl@Lp@Np@Pt@Lh@Nh@L`@Pl@Pl@Tl@Xv@Zx@HPP`@^v@\\r@^r@DFXd@`@n@`@j@^f@JNTVd@h@d@d@d@d@HH^Zb@\\h@`@d@Zh@Zh@Xh@Vh@Rh@Rj@Pj@Nl@Nh@Jl@H|BZn@Jr@Ln@Lr@Pl@Pp@TNF`@Pl@Vl@Zl@Zl@^l@`@h@`@j@b@tK|Il@d@n@f@t@f@l@`@t@b@l@Zh@Vj@Vh@Tn@Tr@Vv@Rt@Rt@Nt@Lx@JRBb@Dv@Fv@Dp@@B?v@?z@?r@CVA^Ct@Gt@I^Gh@Ib@Iv@Qr@St@St@Wh@Sv@]b@St@_@t@c@l@_@p@c@rPsLhBqAp@g@p@i@pHyF", + "przemiarki|dąbrowa górnicza towarowa dta r5": "ecprHeh`uBtCiBxC}Bv@m@j@g@l@i@|@{@RS^_@r@w@z@cAh@q@b@k@Za@Ze@v@kAj@}@DIf@}@h@aAhYyh@vAiCvBaEdCsE~BkEzWqf@|DoH`AeB`@s@~@aB|@wAfA}Ap@}@l@w@|AiB`AaA`@a@h@g@z@u@z@s@v@k@hBmAv@e@z@e@hB{@bAa@tAg@@A~Bq@z@QxAYxBYhBOzAG~ACv@?|@@tBF`Z`AvIJpp@rB~@Bpp@rBn@?z@AnAIh@GnAUjAYr@Ul@U\\Od@Ux@e@h@]fAw@h@c@n@o@fAmAr@_Ah@u@h@{@|@aBl@sAv@kBt@{Bp@aCp@qCjAaF", + "dąbrowa górnicza towarowa dta r5|dąbrowa górnicza towarowa": "s_erH{kguBhC{KPWrC{L`@}Af@kBj@eBn@_Bt@}Ax@uA|@oAj@o@z@{@d@a@d@[~@m@x@_@`@Qx@WvA[jAMd@CJ?x@?v@B`@Bj@Hp@LhAXj@Rh@T`@R^Tf@Zj@b@bA~@`AfAbAvA|@xAt@|An@~Aj@hBf@lB|GzX", + "słotwiny|rokiciny": "{}uzHyc`xB_@z@KVKZMZKZK\\K^uD~LOj@ENM`@K`@K`@Kd@Kb@G`@I`@Id@Gb@Id@Ed@Gd@Ed@Ed@Ed@Cf@Ef@Ad@Cf@Af@Ad@Ad@?f@Af@@d@?d@@j@@d@@b@Bl@D|@Bt@x@vORjE\\xGHrABb@Bb@Dn@Dl@D`@D`@DZF^F\\FZF\\H\\FTJb@JZHXJVHVLZLVJVNXLVNTLTRXLPLN`@b@PPTPTPZTd@XJHXNPJv@f@\\`@hDtArAZr@Xf@Rn@Vn@Xh@RV?NTd@PzBhAxj@zTp@XjMbFZBp@b@zSlIrrAth@DBtAh@rl@lUzDzAAJnFvBxBz@vBz@`K~D`E~A`Bp@TAjAf@dG~BlEfBtAj@pAf@??vPzGAJfBr@dBp@fBr@xB|@vFzB`FrB`Bn@\\N`Cl@", + "dąbrowa górnicza wschodnia|dorota": "k|_rHskxtBKpMCvFApA?h@?j@@|@@~@Bz@Dz@Fz@Fz@Fv@J|@Lz@Lx@Lt@Pv@Nr@Rv@HXFVVv@Tn@Vn@Vj@Vl@Vb@Vh@Zd@\\f@PVFF\\b@x@|@n@j@NLbAr@hAn@hAd@jAZ|AX|ATd`@`GB@~TfDlB^pBf@fAZ`A^dBr@lAh@b@VxAz@tA|@nFpDp@d@`InF", + "sosnowiec dańdówka|stawiska": "kqxqHqhbtBDnCBlB@d@L~IF`Eh@n]@`B@tA@jDBtA@vANpJNtJFlEDdC@hA?bA?fA@fANrKFtCHxFHnFR`MJnHJxH?r@?x@AbACz@Cx@E`AGv@Gz@Ir@It@?^Kr@UxAsAlIQnAKv@Gf@KpAGt@EbAE~@At@C~@?L?r@BvBBdABv@F|@H~@Ht@Hr@Jv@Jj@Ln@Lj@Nl@Tv@Vt@TfA^dAtF~Op@jBb@`B^bBd@tCNfArDnXJn@lC~QrBdOlEb\\\\fBb@fBd@~Al@zA^v@NZt@nAx@dA|@`A~@v@rLvIrBzAHTZVXVTTTVTVT\\T^P\\N\\N`@Nb@Nf@Jd@Jd@Hd@Hj@Df@Fl@Bj@Bf@@^Hb@@p@?|@P`VBnBBx@Dv@LrBHz@Hr@XhBLt@Np@Pt@@@Pl@Tp@N^JVNZ\\r@F^bBlDb@`Af@hA`@x@l@fBp@pB", + "stawiska|katowice janów": "mnuqHyxqsBvSbe@rAvC~EdKVf@rNfZNX|Ol\\", + "katowice janów|katowice much. kmb": "gnsqH_gnsBnMbXr@zAtArCf@fARd@Tf@\\x@^~@rHfS|@fCx@lCj@~Bh@jCbFnYRnAp@~D^vBtCtPHd@`@lCL`AJlADj@Bj@D`BAdBAv@Et@OlBKdAQ`A]dBa@zAoBlGITWz@a@jA]jAa@`B[`BOfAOnAKjAK|ACdAC|@?tA@vABtALvBf@`Hh@bHNtBJvBJfCB~@DfBJ~FF`BFnAFp@NzAfI|s@^fDj@lGZtCxDv\\^fD`@lErI|~@HBVlCT~ATvAHl@Ff@NzAR|BNlA", + "katowice much. kmb|staszic": "mxpqHyo_sBL|@N~@Pz@Pt@ZjAf@vAd@lAn@zAvHdRbAdC^z@`@x@d@v@b@f@b@d@vA|@j@Tz@RlAHh@Ad@Ef@KhA]v@e@~@y@t@_Ad@q@d@w@", + "gałkówek|łódź olechów łoc": "kpvzHadnwBPvGBp@H`Dz@~ZFxDB~A@lABhDHl_@@fCB`J@p@BhI@rG?lANx`@f@tkB@nE?bA?fAAxAA~@Cv@CfAChAGrAGnAIpAKtAKrAOpAQ|AOjAOlAUxAUtAcA|GEVWbB?^i@lDeA|GUzAQlAQnAMfAOtAKfAMvAIlAKtAGnAErAEpACpACvA?pAAfA@lA@bEFdWBnJ@jEBjD?hDLnc@HpV?~@@jC?pED~KDtQ@|A@lA?rBDnJ?vB?n@?n@?V?z@Az@Al@?^Ah@Ah@EtAGzAEbAGnAATK|BStDkEb~@s@`Oc@hJEbAGnACb@CVE`AE~@E`AEnACnAChAAxA?tA?vA?`@Ab@?lD?l@?vDA|E?zB?`A?z@@z@?bA@`A@~@@t@B`AB~@Bx@B~@D~@Bv@Bf@FjADhAFfAFdAF~@HnAHlADn@Dl@Fj@Fl@Fl@Fj@Hj@Hj@DXDTHh@Jf@Lj@Jh@Lf@Ll@~CdMTz@Rx@Lj@Ll@Bh@Jd@H`@H`@Hb@Hh@NfAJj@l@rEFf@Fd@D^Db@Dd@F`A\\pEFt@VpDV`D?Df@bHh@dHNhBHlAVpDP~BHz@J~AH|@dApNzAtS~Cnb@n@xI^`F`@zFFr@|@vLVnDBXjAxOB`@\\xELdBLfBJbB@FJzAx@|MJdB^~F@PV|DH|AJ|AV|D?JJtABb@Dt@b@xGJdBJfBDt@BZ@XD|@Fx@Bz@Dl@?FD~@D~@@j@Dz@B|@?DBj@B|@B|@@r@BtABtAFbEHpFJtHHb@?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", + "gajewniki|dionizów": "}q_zH{lzrB?b@?X?ZAt@?\\?Z?^DjD?x@?r@At@Af@Cf@Gt@AXEXC\\E\\Mv@G`@Ib@I\\I`@Mb@Mb@K\\O`@c@dASb@S`@k@|@WZWZoAlAoAz@eF`DqBnAw@f@w@j@u@j@ONONa@b@]d@]f@KPOTYh@MZOZ]|@Y|@Y~@wJb]", + "kraków przedmieście|kraków olsza": "wfupHwnwxB`@RNFhBr@ZNZNZNr@`@lAr@VL\\NZHTFVBJ@P@P?TAZCTEVGTIVMVORORQTWPURYP[N[", + "sosnowiec główny|sosnowiec południowy": "uozqHgqusBd@`@f@Zj@Tn@NZBZ@\\?^C^G\\Kr@[NGTS\\Wv@s@", + "sosnowiec dańdówka|sosnowiec maczki": "sqxqHagbtBIaFC_C?CAaBB}AB}AHqBNgCd@}GTgCN}ALgBFiAFuAB_ABkA?}@?{AAkAEcBIeBGaAKoAKeAE_@Ge@Ik@O_AMw@Oy@Mm@U_Am@_C[oA}WyeAMg@q@kCCKo@cC]sAUu@Uo@Uo@Wk@Yq@[k@Ye@Ua@QWOS[a@SWOQOQSSSSYWWS_@[e@[eAm@{@c@_Aa@qJgEi@Wc@Sc@Ua@Ya@Y_@Yo@k@OO_@a@_@c@]c@AAYc@]g@[i@o@cAo@iAMQ_EcHeAgBkDaGcEeHsBkD_@k@Yc@c@i@PSO]O[Qa@Ma@Ma@I]Ie@Ic@Ge@Ge@Ec@Cg@Ag@Ag@?g@?g@@c@Bi@Ba@Dk@Fe@Fc@He@Je@Lc@J[HUJYL[P]DQNOLSNUV]^e@nAcBl@_Ah@u@~GeKle@es@jA_Bv@aAZa@dBwB|TqXrAcBbAuA|@kAv@iAd@y@b@_A^aA\\gAZeATkARmAJw@DWLuAHsADmABqABaEJ_NBgBBgBFcBLcBP_BT_BZaB\\sA^kABKTm@L[d@eA", + "bukowno|borowa górka": "ofxqH_kvuBa@|HWlEE|@EfAC`ACbAA|@A|@?`A@v@@NHp@@bAf@hPVxJB\\@f@DdAD|@Fv@F|@Hv@Hv@Lz@Jv@N|@Nt@Nv@Pr@Rv@Rr@Tr@j@bBfBxET~@d@pAv@zBj@rBf@tB`@|BHb@RvAVdC|J`nA`LbuA`LbuA`LbuA~KbuAlDtb@pF~p@@LfGlu@ZxDVzDR|D^pJ?DNvCHpAHpAJlAJrANlBp@vH", + "kraków olsza|kraków przedmieście": "iltpHgmwxBOZQZSXQTUVSPSNWNWLUHWFUD[BU@Q?QAKAWCUG[I]OWMmAs@s@a@[O[O[OiBs@OGQIYCS[", + "kraków batowice|dłubnia": "keypHay~xBwAwFm@eCc@aBKe@BQUcA[}AO{@Oy@OeAQiAOsAMqAGo@I}@MyAKwAIqAK}AGsAE{@Cq@CaACmBAwAAkB?uA?g@?oA@uA@iAB_BBmB@oADaC@eABuB@{BBeB@cBBaB@yADoBDmCD{CDoCDsCFaEFcDHsFDkCByCBqA@uA@w@@u@B}@@]Bg@@i@D{@DaAFu@Dq@Di@Fq@H{@Fi@L}@Hs@Jq@BSPiARgARgALk@@_@R{@ZkA", + "dłubnia|kraków batowice": "sgypHikeyB[jASz@A^Mj@SfASfAQhACRKp@Ir@M|@Gh@Iz@Gp@Eh@Ep@Gt@E`AEz@Ah@Cf@A\\C|@At@Av@AtACpACxCEjCIrFGbDG`EErCEnCEzCElCEnBAxAC`BAbBCdBAzBCtBAdAE`CAnAClBC~AAhAAtA?nA?f@?tA@jB@vABlBB`ABp@Dz@FrAJ|AHpAJvALxAH|@Fn@LpANrAPhANdANx@Nz@Z|ATbACPJd@b@`Bl@dCvAvFSN", + "starzyny|koniecpol": "gxotHymzwBQF_A^_Bf@_MlFyAp@gg@jToB~@_B~@cBfAcBrAIF_A|@uAtAcAtAoAbBuV|]wIbMgi@lv@Y`@a_@ji@cB`CkAlByAfCgAvBg@~@{MhXwThd@}EzJuAxBmAnBwAhBqAvA{AvAwAlAcBjAaB`AuAt@mAp@cLtF{e@tUaLvFmL|FwNdHsVzLuAp@_FdCs@^m@Ze@Xk@^i@^g@`@e@b@i@f@c@d@a@f@c@j@a@h@U\\U\\[j@[f@Ub@Uf@[n@Yp@[v@[|@[bA[dA[jAWfAS~@Q`AQfAMz@M|@KbAK`AAFI`AGx@Ex@EjACv@Cr@A|@Ax@?hA?bABjA@`ADjADbAFfAH`AHbAJbALfAL`AP`AN|@RbAPz@Rz@V~@XfAZjA\\lA`G|Sh@hBbAtDT|@R~@ThANx@NdAN`ALdAJbAJdAHbAJzAHvATdG", + "kraków główny kga|sosnowiec maczki": "orspHi_vxBUXa@l@c@p@w@pAq@hAS^S^c@|@_@v@a@|@MZQ`@]x@_@bAeB|EeAtC_@bASn@Wv@Wv@]pAOj@On@Op@Kn@Oz@O`AYbCKfAGbAGz@GdA]lGOxCGrAE`AANEpA?RCx@CrAOdLG|DKpH?J?d@E`CGzECtAKxHC|BEzCIvGC`CWzNUdRA~@YxUMnKUfS?JCrACdAClAEpAEnAe@|MCnA??GxAClACnAClBAz@?T?jAAjAA|AArFA^?rBOx_@?lBA~A?rA?j@?j@@tA@pA?PBpA@Z@r@BrABnA@RLjFBt@JjEH`CNfGBv@Bx@JzEBt@JdE@^FvBDtA@lABzABnA@xA?rA?rA?L?x@A~AAhA?`@An@ClAClAClACp@AXEnAGtAGnAIvAIrAKrAIpAKnAMlAEb@Gl@MjAMrAOhACRM|@QpAQjAALO|@QdAUrAm@|CWnAS`ACHS~@On@On@YdA[nAQl@K\\Qn@]hA]hAYz@GN]bA_@fA_@`A_@~@]z@ELWh@]x@IRQ^[p@_@v@S`@GJ[p@_@r@[h@qChFyDdHc@x@i@`AmDrGcAhBy@zA_CfEYh@CDwSt_@uLrT?@c@v@e@z@e@z@i@|@e@t@c@r@QVU^SXSZg@r@mAfBiCtDcB`Ca@l@oFxHePnUiCtDiCrDEFw@hA_KvNc@l@uFbIw@xA}AvBm@|@a@l@k@z@e@v@i@z@c@x@a@t@a@t@]n@g@dA_@x@c@`Aa@|@]z@_@~@[z@a@fA[|@[`A]bAY~@]hA[hAAF[hA[nA[lAId@Oj@UhAWjAeAlFa@rB[|AGZm@`DkAbGKh@c@xBOp@aClMeAvFiAfGsEhVCN{BxL[bBUhASlAMn@ETQlAQdAOdAQhAOfAE^Gf@OjAMhAMlAKhAKjAMxAMxAUbDg@fHEn@a@vFQnCKvAg@rHIjAS~C_@zEIhAIrAk@lHKjA_AvMKvAItAIjAItAGvAGvAErAEzAErACvAAbA?PAxAAtA?zA?tA@vA@tABtABxADxA?HDjADrAFxABXDx@HxAHrADh@Dn@LxARdCj@lGPjB\\bEtAvOH|@Fl@DbBXlDZfFPdEL|DD`BBdB@`E@~DE`J?~B@pE@hDHxDNzDBj@LtCVvDbAxLtGvv@XrD`@rEh@dGd@`GNdDHfCDlC@vEC|BEpBe@pPMhCS|DYhEAH[jDa@zDg@zDk@vDo@tDq@hDw@dDELk@~BU|@_@rAaA~CeBhFqApEiBtFsQti@eAhDaAlD{@nDeAzEs@tD[pBSjAi@`Eg@vEUtBc@tFUbEOnCaDzq@q@nNyB|e@Q`EM~DIfEG`E?rAA|@@nDHvLF|HDzDXvP@n@FdEDfC@`A?~@?`A?fEA~K?`@?fDA|AArA?rACrAAnAArACvACvA_@zSOlJEnACjACpAKrCGnCCdACjAE`DA\\AjBEdC?n@GfF?f@CfCAjA?pA?rA@rA@nADvABhADvAFhAFrAHnAJnAJnAJrANlANpAJ~@BNNhAz@xG^vDXtBhCdSNlAPvANpALpALpAJvAJrAJtAHpAHtAFrAFxADpADxADtABpA@j@?~@@`A@tA?xA?rAArAApACrAAxAEpAE|AEnAQjEaEzaAuAv\\w@tRG~AGlAGjAI|AIpAKrAKxAMjAEf@AJSpBQ~AOjAEXM`AQnASrASrAUnAWvAUlAWlA_@dB[rASv@U~@]lA]nAW|@[~@]jAc@pA_Vds@?TUp@[bA_@hA[dAW~@[hA[jA[nAWhAWjAYtAWnAUlASjAUrAUtAOhAIh@Ih@OtAQvAOrAO|AO`B_@bE{@lJQlBMzAKlAIrAKtAItAGtAEhAARCf@AZEpAChACrACtAArAApAArA?rA?lM?nAGlB?fn@?tp@?fI?vG?zA?bAA|AApAArACrACvACnAEvAGzAGpAGtAIrAGnAKvAKpAKpAKlAKjA_@dDKdAQrAQlAStAQpASjASjAUpAaNlu@QhAWrAQhASnAQnASpAOlAOnAmE~_@cCfTCVsCxV[jCcJ`x@oD`[qA`LUzBY`CoA~KIr@_A`IMjAK~@_@dDS`Bc@zDe@`Ec@lDy@vFObAShAQdAShAUjAS~@SdAWhAUfAU`ASx@uEbRm@hC}C~Mq@rCYrAi@zCmBjIGXa@dBcAnEi@tBu@vCs@vCu@|C}@vDsA~F_AbE{@pDiIl^}@~Ds@`Dc@zBETWtAOz@EVYbBKr@QnAM`AOjAOpAMlAMpAKjAMxAW~Cm@rHUlC?BKlAIfASbAKhAKfAMhAOnAOjAS|AQhAOhAShASjAShASbAUhAYtAWhA[rAYdA]rA[bA]jA]hA]fAa@hA]`Aa@jAuR`i@cEfLmL|[q@fB_@bA_@dAy@`CoJ|WuB~F_E~KiBbFYt@Un@Ul@Wn@EL]x@e@dAa@~@c@~@c@~@c@z@gAvBmG|LsH~NiC~EcDnGsg@hbAMRyAtCqb@zy@}Ob[qAfC_@r@c@x@_@r@c@x@e@v@_@p@c@p@a@n@g@t@e@r@o@|@g@p@q@x@e@l@s@x@g@j@s@v@i@h@o@n@m@h@m@h@q@h@o@f@k@b@a@Ve@ZQLq@b@m@^uG~Ds@b@q@^w@`@m@\\s@^}CxAqI`EaAd@QHoAl@q@\\m@ZULi@V_@TULaB`Ao@^w@d@yFfDm@\\k@^q@b@i@\\oLzHeGlEye@n[aBfAwFtDaG|De@Zm@`@q@d@q@d@q@h@k@d@i@b@m@h@e@b@o@l@c@b@WXSRs@v@i@n@i@n@k@t@i@r@i@t@e@r@i@t@c@p@eHxKOTsQzXg@x@W`@ORi@x@i@v@IJsDfFaCdDmAbBa@n@c@n@]h@Yd@Q\\_@r@a@x@]t@_@z@[v@Wr@Yv@[~@W|@[`Am@xBQj@I\\e@`B[fA{@|COh@_AbDc@`BSt@Qx@Qt@S~@Q`AMv@In@EROhAMdA_BfN}A`Ns@dG]pC[lC}@`IGh@Mv@EVGXG`@In@Il@Kv@EZOr@E\\GXCXIp@_Er]y@hHkAzJYpAY|@g@lAc@x@i@v@c@f@g@b@q@b@q@Xu@ViBf@E@uBj@oGfBo@PsGhB[HGBe@No@\\WP[VUTWXs@`AqAnBuAtBqAlBk@z@oBvCu@dAe@j@WX]^SRQNQLSPg@^[R[RuD|BeDpBYP[Ps@ZWJWHYHG`@y@^g@T{@d@u@f@o@j@m@t@[b@Y`@m@jA", + "sosnowiec maczki|sosnowiec dańdówka": "ioxqHo}qtBe@dAMZUl@CJ_@jA]rA[`BU~AQ~AMbBGbBCfBCfBK~MC`ECpAElAIrAMtAEVKv@SlAUjA[dA]fA_@`Ac@~@e@x@w@hAo@x@qAfBsAbB}TpXeBvB[`@w@`AkA~Ame@ds@_HdKi@t@m@~@oAbB_@d@W\\OTMRONEPQ\\MZKXITKZMb@Kd@Id@Gb@Gd@Ej@C`@Ch@Ab@?f@?f@@f@@f@Bf@Db@Fd@Fd@Hb@Hd@H\\L`@L`@P`@NZN\\QRb@h@Xb@^j@rBjDbEdHjD`GdAfB~DbHLPn@hAn@bAZh@\\f@Xb@@@\\b@^b@^`@NNn@j@^X`@X`@Xb@Tb@Rh@VpJfE~@`@z@b@dAl@d@Z^ZVRXVRRRRNPNPRVZ`@NRPVT`@Xd@Zj@Xp@Vj@Tn@Tn@Tt@\\rAn@bCBJp@jCLf@|WxeAZnAl@~BT~@Ll@Nx@Lv@N~@Hj@Fd@D^JdAJnAF`AHdBDbB@jA?zA?|@CjAC~@GtAGhAMfBO|AUfCe@|GOfCIpBC|AC|A@`B?BB~BH`F", + "sosnowiec południowy|sosnowiec główny": "g_zqHyrusBw@r@]VUROFs@Z]J_@F_@B]?[A[Co@Ok@Ug@[e@a@[_@a@N", + "dąbrowa górnicza towarowa|dąbrowa górnicza towarowa dta r5": "gpbrHuoguB}G{Xg@mBk@iBo@_Bu@}A}@yAcAwAaAgAcA_Ak@c@g@[_@Ua@Si@Uk@SiAYq@Mk@Ia@Cw@Cy@?K?e@BkALwAZy@Va@Py@^_Al@e@Ze@`@{@z@k@n@}@nAy@tAu@|Ao@~Ak@dBg@jBa@|AsCzLQViCzK", + "dąbrowa górnicza towarowa dta r5|przemiarki": "s_erH{kguBkA`Fq@pCq@`Cu@zBw@jBm@rA}@`Bi@z@i@t@s@~@gAlAo@n@i@b@gAv@i@\\y@d@e@T]Nm@Ts@TkAXoATi@FoAH{@@o@?qp@sB_ACqp@sBwIKaZaAuBG}@Aw@?_BB{AFiBNyBXyAX{@P_Cp@A@uAf@cA`@iBz@{@d@w@d@iBlAw@j@{@r@{@t@i@f@a@`@aA`A}AhBm@v@q@|@gA|A}@vA_A`Ba@r@aAdB}DnH{Wpf@_CjEeCrEwB`EwAhCiYxh@i@`Ag@|@EHk@|@w@jA[d@[`@c@j@i@p@{@bAs@v@_@^SR}@z@m@h@k@f@w@l@yC|BuChB", + "przemiarki|łazy łc": "ecprHeh`uBqHxFq@h@q@f@iBpAsPrLq@b@m@^u@b@u@^c@Rw@\\i@Ru@Vu@Rs@Rw@Pc@Hi@H_@Fu@Hu@F_@BW@s@B{@?w@?C?q@Aw@Ew@Gc@ESCy@Ku@Mu@Ou@Sw@Ss@Wo@Ui@Uk@Wi@Wm@[u@c@m@a@u@g@o@g@m@e@uK}Ik@c@i@a@m@a@m@_@m@[m@[m@Wa@QOGq@Um@Qs@Qo@Ms@Mo@K}B[m@Ii@Km@Ok@Ok@Qi@Si@Si@Wi@Yi@[e@[i@a@c@]_@[IIe@e@e@e@e@i@UWKO_@g@a@k@a@o@Ye@EG_@s@]s@_@w@Qa@IQ[y@Yw@Um@Qm@Qm@Ma@Oi@Mi@Qu@Oq@Mq@Km@Ig@Ga@Mw@K{@Ge@CUKy@W}BUqBIy@Gy@I{@GgAGiAK_C]cII_Bg@yKu@cQ{A_Y", + "szeligi|marków": "ydc|Huh|{Bu@Y[OYOoAm@YO[Mu@[IEeAa@SI[K[MSKWK]Q]QMGKGOIMKYOWQWOWQmQgLyDeCgBkAeBiA]Wa@Yc@a@g@e@e@e@g@k@W]e@k@_@i@]i@c@s@_@s@Wg@_@y@Yo@[w@Ws@Yw@Y}@W_AYeAS{@Oo@EUEUKk@G]Mw@QiAOoAMkAKiAKoA", + "rokiciny|słotwiny": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gTeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YiEcB[OYMMGMIw@g@QKYOKIe@Y[UUQUQQQa@c@MOMQSYMUOUMWOYKWMWM[IWKWIYK[Kc@GUI]G]G[G]G_@E[Ea@Ea@Em@Eo@Cc@Cc@IsA]yGSkEy@wOCu@E}@Cm@Ac@Ae@Ak@?e@Ae@@g@?g@@e@@e@@g@Bg@@e@Dg@Bg@De@De@De@Fe@De@He@Fc@He@Ha@Fa@Jc@Je@Ja@Ja@La@DONk@tD_MJ_@CU@]|B{EdBoDz@kB", + "józefinów|warszawa główna towarowa": "uqo}Heyg~BSs@[eAQUQi@Oc@Qa@Wm@O]_@s@a@q@IM]g@]a@Y]UUGG[Y[W]W_@U[Qa@SWKEA]Mc@M_@GOCQEa@E]A_@A]?_@?_@B[B[F]D]H[JUH[JWL[NYPWNGDeErCkBbAcBjAcAp@_@Tc@X{@b@s@Zs@X_Cz@oC`AkBp@OFk@RgBn@_A\\aCx@q@Ra@Lc@Jm@Lo@Hg@Dk@Di@@g@?g@?[CUAg@Ei@Ek@Ka@IICg@Mk@Qi@Sg@Si@Yg@Yg@[_@WKI]We@c@c@a@c@c@KMW[a@g@OQQYa@m@_@m@_@o@Uc@GM]s@[s@Wq@Yu@AEY{@Uu@Uy@Su@EQKc@Ke@G[G[Ic@GWEYCOKu@G_@Iq@EWIo@KeA_@cDW}BAKGi@Ee@Ee@Ee@Ca@K_@G_A_@gGcAuPSmDScD", + "dorota|dąbrowa górnicza wschodnia": "gz{qHstttBaIoFq@e@oFqDuA}@yA{@c@WmAi@eBs@aA_@gA[qBg@mB_@_UgDCAe`@aG}AU}AYkA[iAe@iAo@cAs@OMo@k@y@}@]c@GGQW]g@[e@Wi@Wc@Wm@Wk@Wo@Uo@Ww@GWIYSw@Os@Qw@Mu@My@M{@K}@Gw@G{@G{@E{@C{@Wg@?i@?i@?g@@i@@sABsBBsBS}E?_A@eB", + "katowice muchowiec staszic|staszic": "mapqHc{csBJn@n@hDz@xEjB~J^nBP|@h@vEVvAVxAp@rD`BzIXrA`@~Av@dDtBtIxD|OtAzFnAhFXnAP|@PjAJz@LfAFdAHxABjA@dBAnACz@Ev@A`@InAMlAU|AUvAUdAc@`BIZqB`Iu@pCOf@Qf@{@lBo@tAe@v@", + "staszic|katowice much. kmb": "akoqHec~rBe@p@u@~@_Ax@w@d@iA\\g@Je@Di@@mAI{@Sk@UwA}@c@e@c@g@e@w@a@y@_@{@cAeCwHeRo@{Ae@mAg@wA[kAQu@Q{@O_AM}@OmAS}BO{AGg@Im@UwAU_BWmC", + "katowice much. kmb|katowice janów": "w|pqH}e`sBuIg_ACa@]iD_@gDyDy\\[sCk@oG_@gDgIys@O}AGo@GoAG_BKwFAsBAgBFoBJaCZuEP_DvDeq@Z_Gd@wJF_C?y@?y@Cq@Cq@IyAOoAOgAk@oDwC}PoAoHUqAcFuYg@aCo@eCw@oC}@iCuByF_EmKaAgCc@iA_@{@i@kAi@mAgBsDcGaM", + "katowice janów|stawiska": "whsqHi_nsBg@eA]q@yAqCm@iAsNaZO[sNgZWi@_FaKg@gAk@oA{Uai@", + "stawiska|sosnowiec dańdówka": "epuqHi}qsBg@iAa@y@g@iAc@aAcBmDG_@]s@O[KWO_@Uq@Qm@AAQu@Oq@Mu@YiBIs@I{@MsBEw@Cy@CoBQaV?}@Aq@Ic@A_@Cg@Ck@Gm@Eg@Ik@Ie@Ke@Ke@Og@Oc@Oa@O]Q]U_@U]UWUWUUYW[WIUsB{AsLwI_Aw@}@aAy@eAu@oAO[_@w@m@{Ae@_Bc@gB]gBmEc\\sBeOmC_RKo@sDoXOgAe@uC_@cBc@aBq@kBuF_P_@eAUgAWu@Uw@Om@Mk@Mo@Kk@Kw@Is@Iu@I_AG}@Cw@CeACwB?s@?MB_A@u@D_ADcAFu@JqAFg@Jw@PoArAmITyAJs@?_@Hu@Hs@F{@Fw@DaABy@B{@@cA?y@?s@KyHKoHSaMIoFIyFGuCOsKAgA?gA?cAAiAEeCGmEOuJOqJAwACuAAkDAuAAaBi@o]GaEM_JAe@CmBEoC", + "borowa górka|bukowno": "yutqHyx~tBq@wHOmBKsAKmAIqAIqAOwC?E_@qJS}DW{D[yDgGmu@AMqF_q@mDub@_LcuAaLcuAaLcuAaLcuA}JanAWeCSwAIc@a@}Bg@uBk@sBw@{Be@qAU_AgByEk@cBUs@Ss@Sw@Qs@Ow@Ou@O}@Kw@M{@Iw@Iw@G}@Gw@E}@EeAAg@C]WyJg@iPAcAIq@AOAw@?aA@}@@}@BcABaADgAD}@VmE`@}HIaA", + "dąbrowa górnicza wschodnia|kozioł": "k|_rHskxtBFcF@kB@aAp@el@^{ZF}GF_EBkBPcPPeOp@{m@DcB?]B_ABaA@]DuAHiBtEkfAFyADw@Ag@HsAJ{AJoANyALmANqAnHyl@LaAJaAJeAHcAFaAFeADgABaA@cA@gA?gA?cACeACcAEiAEeAGiAIeAKaAI{@OiAOeAOeAQ}@ScASy@U_AW{@Y_AUu@Wo@Yw@[u@_@y@AA{@gBcA_BcAwA}EoGiAuAiA{AgCiDcAwA}@{Au@}Au@iBo@mBk@uBe@_C_@yBe@wCoGec@", + "kozioł|dąbrowa górnicza towarowa": "kw`rHuchuBcBaLi@sDSiASqAi@_Di@aDc@}B_@cBk@sBm@cBq@aBu@wAy@sA}@iA_AcAgA}@gAu@gAk@kAc@oA[kAQqAImA?uAHgANkAZkA`@gAj@eAv@_Az@kAxA{ArCo@dBi@hBa@hBYhBQlBMlBGxBAzBHzBLxBJbAHp@\\pB`@nBj@~BLh@zC`MRx@DTFZPbC", + "stawiska|mysłowice": "_puqHk|qsBu@_Bo@uAcAsB_DwG{BwEi@gAYg@S_@U[UWUYWUWSWS[Qa@Us@[{Aq@cAe@]Qc@UUO[UWUWWUWU[S]U_@Q_@Qa@Oc@Oa@Mg@Me@Ig@Ki@Gk@Gi@ASSiCE{@Cu@Ak@?i@@m@Bk@Bq@Di@Fo@Di@Hk@Hk@Hi@Ji@Lk@Je@Ni@Lg@Ne@Pe@Pe@Tk@Rc@NYXi@Xi@j@cAP[`DoF~HiMx@_Bx@_BrBoCvBcDvDyFCKfAoAnGoInBiC~B_DCMz@iAd@[f@k@`@a@`@a@`Aw@CMlAeAxA_B~AoBb@k@^i@tAyBn@gAf@aAh@s@`@{@EK`@_An@qAB[n@cB`BoD|@{A\\gAp@cAt@sACIdA_BvAaCRE`@g@f@k@VSVSXQh@s@rCoAhDwBCU", + "dąbrowa górnicza towarowa|kozioł": "czbrHkyguBy@}@{@gAs@gAq@qAm@wAYy@[eAYiA[eBWeBSkBK_BGyACoA?qA@q@DgBFwALcBR_BDYPeA\\}AR{@j@eBz@wBp@mAv@kAf@q@j@o@~@{@bAm@`Ag@fAa@p@Ot@KhAGlAAtHRtAFpALpATnAZFBdAb@jAn@jAv@fA`A`AhA~@jA|@xAt@zAr@`Bn@hBj@vB`@fB^rB|@`GJp@Hr@Jv@`@|DDd@?n@bB`L", + "kozioł|dąbrowa górnicza wschodnia": "kw`rHuchuBnGdc@d@vC^xBd@~Bj@tBn@lBt@hBt@|A|@zAbAvAfChDhAzAhAtA|EnGbAvAbA~Az@fB@@^x@Zt@Xv@Vn@Tt@X~@Vz@T~@Rx@RbAP|@NdANdANhAHz@J`AHdAFhADdADhABbABdA?bA?fAAfAAbAC`AEfAGdAG`AIbAKdAK`AM`AoHxl@OpAMlAOxAKnAKzAIrA@f@Ev@GxAuEjfAIhBEtAA\\C`AC~@?\\EbBq@zm@QdOQbPCjBG~DG|G_@zZq@dl@A`AAjBGbF", + "kozioł|dąbrowa górnicza towarowa dta r5": "yy`rH_ohuBoDaVAG[iBa@eBk@uBo@eBq@cBu@yA}@uA}@kAcAeAcA}@iAu@iAm@mAc@mA[oAQqAIqA?wAJeANoAXkAb@oWlMaFbCwBbAsBbAsBbAaFdCcAf@s@^gB|@cBbAe@^g@`@}@z@k@p@i@p@c@p@c@t@e@|@g@dAa@bA_@jAa@pA_@xAcAhEGXETG\\[lBObAGZMf@I`@iCzK", + "dąbrowa górnicza towarowa dta r5|kozioł": "_{drHyyguBLg@F[NcAZmBF]DUFYbAiE^yA`@qA^kA`@cAf@eAd@}@b@u@b@q@h@q@j@q@|@{@f@a@d@_@bBcAfB}@r@_@bAg@`FeCrBcArBcAvBcA`FcCnWmMjAc@nAYdAOvAKpA?pAHnAPlAZlAb@hAl@hAt@bA|@bAdA|@jA|@tAt@xAp@bBn@dBj@tB`@dBZhB@FnD`V\\zBHn@f@dDAV", + "kutno|ostrowy": "akw}HkrbuBK`@K`@M`@IVi@`B[~@Ob@Mb@Ob@Md@Mb@Kf@u@xCkAvEm@~B[rAOj@CJOn@Ol@?@Uz@Qv@UbAGXMf@Mj@Mj@YpAMn@Qx@Kd@Kf@Qr@GTw@|CGVw@`Dq@lCi@xBMf@U|@U~@GROn@Kb@K`@G^Op@Ot@Ml@Kn@Ib@CJWvAGb@CNuAbIsB|LO|@]vBEVm@lDcAbGCLe@nCiA`Ho@rD_@|B[jB[jBuD|Tg@tCa@bCa@`CCNc@jCe@rCkA~Gw@xEwE|XuBbMEVy@|ESnASjAWvAg@vCkAdHq@`E}B|MY`BWbBeNdy@k@lC_@vBeAlGKp@YbBYbBETG\\Ot@Ov@Q~@I`@K^Ml@Mf@Of@Oh@Of@Of@Sl@Ob@Q`@IVQ`@MZOZ[t@_@p@]n@a@n@a@n@a@n@gClDiCjDqGzIiPvTOd@yNxR}b@|k@g\\fd@k\\`d@}AxByA~BuAdCoAjCkAnCgAxC{f@|vA}f@dwAyYfz@e@rA_@dAe@nAa@dAi@nAg@hA{JhT{AnCaAtByAvCoCzFw@bBsAvCOZiK|T[n@wAxCyClG[r@{B|EuA|C", + "zduńska wola|dionizów": "{l_zHu`vrBC}@MmCA]GeACi@Ay@KcICoBCeBGeFGiFCqACeBCqAEo@Ci@Ei@Eg@Eg@Io@Km@Kk@Ii@Me@Me@K]K]Qg@Sg@Ui@We@Wc@Yc@UYUYW[YYg@a@a@Wc@W]O]O_@I_@K]G]EYAYA]?_@@_@B_@Fc@He@L_@N_@Pq@`@k@`@QPSPe@f@e@p@]h@[j@OZOZMZM^[~@[`A{Jv\\", + "dąbrowa górnicza strzemieszyce|dąbrowa górnicza huta katowice": "uuarHwdqtBOh@KXKXIRQf@IRMZWr@_A|BqJtRGLqBbEINw@|Ay@zAg@|@aAtAiAlAcAbAgAv@mAr@mAf@oA`@oAVqALyBDuACmCIgBQo@Kk@KEAm@Mq@Qa@M]MUIe@Qe@SA?e@Se@W??e@Wg@Yc@Ye@[KIYSc@]i@c@g@c@MMyCmC{CmCeIkHuDgD_DoC]Ya@[[S_@U]M_@O_@Ma@ISEIAc@Ea@C_@A]?]BY@WDYDYDg@L]FkAXQg@", + "łódź olechów łoc|gałkówek": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?IIc@KuHIqFGcECuACuAAs@C}@C}@Ck@?EC}@E{@Ak@E_AE_A?GEm@C{@Gy@E}@AYC[Eu@KgBKeBc@yGEu@Cc@KuA?KW}DK}AI}AW}DAQ_@_GKeBy@}MK{AAGKcBMgBMeB]yECa@kAyOCYWoD}@wLGs@a@{F_@aFo@yI_Dob@{AuSeAqNI}@K_BI{@Q_CWqDImAOiBi@eHg@cH?EWaDWqDGu@]qEGaAEe@Ec@E_@Ge@Gg@m@sEKk@OgAIi@Ic@Ia@Ia@Ke@Ci@Mm@Mk@Sy@U{@_DeMMm@Mg@Ki@Mk@Kg@Ii@EUEYIk@Ik@Gk@Gm@Gm@Gk@Em@Eo@ImAIoAG_AGeAGgAEiAGkACg@Cw@E_AC_ACy@C_ACaAAu@A_AAaA?cAA{@?{@?aA?{B@}E?wD?m@?mD@c@?a@?wA?uA@yABiABoADoADaAD_ADaABWBc@FoADcAb@iJr@aOjEc~@RuDJ}B@UFoADcAF{ADuA@i@@i@?_@@m@@{@?{@?W?o@?o@?wBEoJ?sBAmAA}AEuQE_L?qEAkC?_AIqVMoc@?iDCkDAkECoJGeWAcEAmA@gA?qABwABqADqADsAFoAJuAHmALwAJgANuALgAPoAPmAT{AdA}Gh@mD?_@VcBDWbA}GTuATyANmANkAP}ANqAJsAJuAHqAFoAFsABiABgABw@@_A@yA?gA?cAAoEg@ukBOy`@?mAAsGCiIAq@CaJAgCIm_@CiDAmAC_BGyD{@_[IaDCq@QwG", + "dionizów|gajewniki": "seazHkdwrB`Kc]X_AX}@\\}@N[L[Xi@NUJQ\\g@\\e@`@c@NONOt@k@v@k@v@g@pBoAdFaDnA{@nAmAV[V[j@}@Ra@Rc@b@eANa@J]Lc@Lc@Ha@H]Hc@Fa@Lw@D]B]DY@YFu@Bg@@g@@u@?s@?y@EkD?_@?[?]@u@?[FMIcH", + "dionizów|zduńska wola": "ieazHkdwrBzJw\\ZaAZ_AL_@L[N[N[Zk@\\i@d@q@d@g@RQPQj@a@p@a@^Q^Od@Mb@I^G^C^A\\?X@X@\\D\\F^J^H\\N\\Nb@V`@Vf@`@XXVZTXTXXb@Vb@Vd@Th@Rf@Pf@J\\J\\Ld@Ld@Hh@Jj@Jl@Hn@Df@Df@Dh@Bh@Dn@BpABdBBpAFhFFdFBdBBnBJbI@x@Bh@FdA@\\LlCB|@DfC@r@BhCTrQBvA?dABfDB|E@fABzCVjRFpFDhBDjBJrE@r@DhB@bAF|EHd@@h@", + "zduńska wola karsznice|zduńska wola": "g|{yHir{rBaAjC_LhZu@pBiAxCaCrGw@pBaA|Bw@~Au@nA}@rAcAjAcA`AgAz@oAr@}@`@oBj@gBToADsAAeL}@gBO{AIiB?oADsC^_AP{Af@aAb@{@h@y@f@{@v@o@n@g@l@u@bAq@hAa@r@cA|Bg@xAQf@[hAOj@YtAOv@Oz@[bCI`AGx@MlBE|ACdA?bA?lCBdAFjF\\vXFrEXhUFjFb@h]@zABxAB~@@~@Bv@@~AD~CD|B@j@HhHHdH@V?\\Ab@A|@?ZA^@x@@d@@h@", + "idzikowice|radzice": "caayHoj`{BmoAiaC}@eBsCuFs@yAkAaCcA_C}@wBaAmCw@uCq@oCq@cDe@iDQwAOuAIu@Gq@MgBGw@Eu@MkBEy@G_AO{Bq@_LkAiRe@mH", + "zduńska wola|zduńska wola karsznice": "uh_zHkurrBAy@@_@?[@}@@c@?]AWIeHIiHAk@E}BE_DA_BCw@A_AC_ACyAA{Ac@i]GkFYiUGsE]wXGkFCeA?mC?cABeAD}ALmBFy@HaAZcCN{@Nw@XuANk@ZiAPg@f@yAbA}B`@s@p@iAt@cAf@m@n@o@z@w@x@g@z@i@`Ac@zAg@~@QrC_@nAEhB?zAHfBNdL|@rA@nAEfBUnBk@|@a@nAs@fA{@bAaAbAkA|@sAt@oAv@_B`A}Bv@qB`CsGhAyCt@qB~KiZ`AkC", + "dąbrowa górnicza huta katowice|dąbrowa górnicza strzemieszyce": "s|erHivptB\\Gf@MXEXEVEXA\\C\\?^@`@Bb@DH@RD`@H^L^N\\L^TZR`@Z\\X~CnCtDfDdIjHzClCxClCLLf@b@h@b@b@\\XRJHd@Zb@Xf@Xd@V??d@Vd@R@?d@Rd@PTH\\L`@Lp@Pl@LD@j@Jn@JfBPlCHtABxBEpAMnAWnAa@lAg@lAs@fAw@bAcAhAmA`AuAf@}@x@{Av@}AHOpBcEFMpJuR~@}BVs@L[HSPg@HSJYJYNi@Ps@Tw@No@Pm@FWDUH_@h@qC^qB`@qBP}@VsA~@yEVwAf@iCv@aERgATgATmAZaBbAiFlB}JbCiM~AkItAeHF_@zEuVdBcJJg@" + }, + "segmentColors": { + "warszawa grochów|warszawa wschodnia": [[0, 0]], + "warszawa wschodnia|warszawa centralna": [[0, 0]], + "warszawa centralna|warszawa zachodnia": [[0, 0]], + "warszawa zachodnia|warszawa włochy": [[0, 0]], + "warszawa włochy|józefinów": [[0, 0]], + "józefinów|pruszków": [[0, 0]], + "pruszków|grodzisk mazowiecki": [[0, 0]], + "grodzisk mazowiecki|korytów": [[0, 0]], + "korytów|szeligi": [[0, 0]], + "szeligi|biała rawska": [[0, 0]], + "biała rawska|strzałki": [[0, 0]], + "strzałki|idzikowice": [[0, 0]], + "idzikowice|opoczno południe": [[0, 0]], + "opoczno południe|pilichowice": [[0, 0]], + "pilichowice|olszamowice": [[0, 0]], + "olszamowice|włoszczowa północ": [[0, 0]], + "włoszczowa północ|knapówka": [[0, 0]], + "knapówka|psary": [[0, 0]], + "psary|starzyny": [[0, 0]], + "starzyny|sprowa": [[0, 0]], + "sprowa|kozłów": [[0, 0]], + "kozłów|tunel": [[0, 0]], + "tunel|miechów": [[0, 0]], + "miechów|słomniki": [[0, 0]], + "słomniki|niedźwiedź": [[0, 0]], + "niedźwiedź|zastów": [[0, 0]], + "zastów|raciborowice": [[0, 0]], + "raciborowice|kraków batowice": [[0, 0]], + "kraków batowice|kraków przedmieście": [[0, 0]], + "kraków przedmieście|kraków główny": [[0, 0]], + "kraków główny|kraków zabłocie": [[0, 0]], + "kraków zabłocie|kraków płaszów pzs kpa": [[0, 0]], + "psary|góra włodowska": [[0, 0]], + "góra włodowska|zawiercie": [[0, 0]], + "zawiercie|łazy ła": [[0, 0]], + "łazy ła|łazy": [[0, 0]], + "łazy|łazy łc": [[0, 0]], + "łazy łc|dąbrowa górnicza ząbkowice": [[0, 0]], + "dąbrowa górnicza ząbkowice|dąbrowa górnicza": [[0, 0]], + "dąbrowa górnicza|będzin": [[0, 0]], + "będzin|sosnowiec główny": [[0, 0]], + "sosnowiec główny|katowice zawodzie": [[0, 0]], + "katowice zawodzie|katowice": [[0, 0]], + "katowice|brynów": [[0, 0]], + "włoszczowa północ|żelisławice": [[0, 0]], + "grodzisk mazowiecki|żyrardów": [[0, 0]], + "żyrardów|radziwiłłów mazowiecki": [[0, 0]], + "radziwiłłów mazowiecki|skierniewice": [[0, 0]], + "skierniewice|płyćwia": [[0, 0]], + "płyćwia|rogów": [[0, 0]], + "rogów|koluszki": [[0, 0]], + "koluszki|rokiciny": [[0, 0]], + "rokiciny|baby": [[0, 0]], + "baby|piotrków trybunalski": [[0, 0]], + "piotrków trybunalski towarowy|rozprza": [[0, 0]], + "warszawa włochy|warszawa gołąbki": [[0, 0]], + "warszawa gołąbki|bednary": [ + [0, 1], + [702, 0] + ], + "bednary|łowicz główny": [[0, 0]], + "łowicz główny|jackowice": [[0, 0]], + "jackowice|stara wieś": [ + [0, 0], + [13, 1], + [162, 0] + ], + "stara wieś|kutno": [[0, 0]], + "kutno|krzewie": [[0, 0]], + "koluszki|gałkówek": [[0, 0]], + "gałkówek|łódź andrzejów": [[0, 0]], + "łódź andrzejów|łódź widzew": [[0, 0]], + "łódź widzew|łódź fabryczna": [[0, 0]], + "mikołajów|żakowice południowe": [[0, 0]], + "żakowice południowe|gałkówek": [[0, 0]], + "łódź widzew|łódź marysin": [[0, 0]], + "łódź marysin|zgierz": [[0, 0]], + "zgierz|zgierz północ": [[0, 0]], + "zgierz północ|zgierz kontrewers": [[0, 0]], + "zgierz kontrewers|chociszew": [[0, 0]], + "chociszew|ozorków": [[0, 0]], + "ozorków|łęczyca": [[0, 0]], + "łęczyca|witonia": [[0, 0]], + "witonia|kutno": [[0, 0]], + "kraków płaszów pzs kpa|kraków główny": [[0, 0]], + "kraków główny|kraków przedmieście": [[0, 0]], + "kraków przedmieście|kraków batowice": [[0, 0]], + "kraków batowice|raciborowice": [[0, 0]], + "raciborowice|zastów": [[0, 0]], + "zastów|niedźwiedź": [[0, 0]], + "niedźwiedź|słomniki": [[0, 0]], + "słomniki|miechów": [[0, 0]], + "miechów|tunel": [[0, 0]], + "tunel|kozłów": [[0, 0]], + "kozłów|sprowa": [[0, 0]], + "sprowa|starzyny": [[0, 0]], + "starzyny|psary": [[0, 0]], + "psary|knapówka": [[0, 0]], + "knapówka|włoszczowa północ": [[0, 0]], + "włoszczowa północ|olszamowice": [[0, 0]], + "olszamowice|pilichowice": [[0, 0]], + "pilichowice|opoczno południe": [[0, 0]], + "opoczno południe|idzikowice": [[0, 0]], + "idzikowice|strzałki": [[0, 0]], + "strzałki|biała rawska": [[0, 0]], + "biała rawska|szeligi": [[0, 0]], + "szeligi|korytów": [[0, 0]], + "korytów|grodzisk mazowiecki": [[0, 0]], + "grodzisk mazowiecki|pruszków": [[0, 0]], + "pruszków|józefinów": [[0, 0]], + "józefinów|warszawa włochy": [[0, 0]], + "warszawa włochy|warszawa zachodnia": [[0, 0]], + "warszawa zachodnia|warszawa centralna": [[0, 0]], + "warszawa wschodnia|warszawa praga wpt m": [[0, 0]], + "mysłowice|katowice zawodzie": [[0, 0]], + "katowice|katowice tow. ktc": [[0, 0]], + "kraków główny|sosnowiec maczki": [ + [0, 0], + [39, 1], + [947, 0] + ], + "sosnowiec maczki|dorota": [[0, 0]], + "dorota|dąbrowa górnicza południowa": [[0, 0]], + "dąbrowa górnicza południowa|dąbrowa górnicza huta katowice": [[0, 0]], + "dąbrowa górnicza huta katowice|dąbrowa górnicza ząbkowice": [[0, 0]], + "dąbrowa górnicza ząbkowice|łazy łc": [[0, 0]], + "łazy łc|łazy": [[0, 0]], + "łazy|łazy ła": [[0, 0]], + "łazy ła|zawiercie": [[0, 0]], + "zawiercie|myszków": [[0, 0]], + "myszków|rozprza": [ + [0, 0], + [10, 1], + [1124, 0] + ], + "rozprza|piotrków trybunalski towarowy": [[0, 0]], + "piotrków trybunalski|baby": [[0, 0]], + "baby|rokiciny": [[0, 0]], + "rokiciny|gałkówek": [[0, 0]], + "łódź widzew|łódź chojny": [[0, 0]], + "łódź chojny|retkinia": [[0, 0]], + "retkinia|łódź lublinek": [[0, 0]], + "łódź lublinek|pabianice": [[0, 0]], + "pabianice|dobroń": [[0, 0]], + "dobroń|kolumna": [[0, 0]], + "kolumna|łask": [[0, 0]], + "łask|borszewice": [[0, 0]], + "borszewice|gajewniki": [[0, 0]], + "gajewniki|zduńska wola": [[0, 0]], + "zduńska wola|sieradz": [[0, 0]], + "sieradz|sędzice": [[0, 0]], + "kraków zabłocie|kraków główny": [[0, 0]], + "brynów|katowice": [[0, 0]], + "katowice|katowice zawodzie": [[0, 0]], + "katowice zawodzie|sosnowiec główny": [[0, 0]], + "sosnowiec główny|będzin": [[0, 0]], + "będzin|dąbrowa górnicza": [[0, 0]], + "dąbrowa górnicza|dąbrowa górnicza ząbkowice": [[0, 0]], + "zawiercie|góra włodowska": [[0, 0]], + "góra włodowska|psary": [[0, 0]], + "katowice tow. ktc|katowice": [[0, 0]], + "żelisławice|włoszczowa północ": [[0, 0]], + "rokiciny|koluszki": [[0, 0]], + "koluszki|rogów": [[0, 0]], + "rogów|płyćwia": [[0, 0]], + "płyćwia|skierniewice": [[0, 0]], + "skierniewice|radziwiłłów mazowiecki": [[0, 0]], + "radziwiłłów mazowiecki|żyrardów": [[0, 0]], + "żyrardów|grodzisk mazowiecki": [[0, 0]], + "katowice zawodzie|mysłowice": [[0, 0]], + "krzewie|kutno": [[0, 0]], + "kutno|witonia": [[0, 0]], + "witonia|łęczyca": [[0, 0]], + "łęczyca|ozorków": [[0, 0]], + "ozorków|chociszew": [[0, 0]], + "chociszew|zgierz kontrewers": [[0, 0]], + "zgierz kontrewers|zgierz północ": [[0, 0]], + "zgierz północ|zgierz": [[0, 0]], + "zgierz|łódź marysin": [[0, 0]], + "łódź marysin|łódź widzew": [[0, 0]], + "łódź widzew|łódź andrzejów": [[0, 0]], + "łódź andrzejów|gałkówek": [[0, 0]], + "gałkówek|żakowice południowe": [[0, 0]], + "żakowice południowe|mikołajów": [[0, 0]], + "sędzice|sieradz": [[0, 0]], + "sieradz|zduńska wola": [[0, 0]], + "zduńska wola|gajewniki": [[0, 0]], + "gajewniki|borszewice": [[0, 0]], + "borszewice|łask": [[0, 0]], + "łask|kolumna": [[0, 0]], + "kolumna|dobroń": [[0, 0]], + "dobroń|pabianice": [[0, 0]], + "pabianice|łódź lublinek": [[0, 0]], + "łódź lublinek|retkinia": [[0, 0]], + "retkinia|łódź chojny": [[0, 0]], + "łódź chojny|łódź dąbrowa pbs": [[0, 0]], + "łódź dąbrowa pbs|łódź widzew": [[0, 0]], + "gałkówek|rokiciny": [[0, 0]], + "rozprza|myszków": [ + [0, 0], + [3, 1], + [1117, 0] + ], + "myszków|zawiercie": [[0, 0]], + "dąbrowa górnicza ząbkowice|dąbrowa górnicza huta katowice": [[0, 0]], + "dąbrowa górnicza huta katowice|dąbrowa górnicza południowa": [[0, 0]], + "dąbrowa górnicza południowa|dorota": [[0, 0]], + "dorota|sosnowiec maczki": [[0, 0]], + "sosnowiec maczki|kraków główny kga": [ + [0, 0], + [39, 1], + [947, 0] + ], + "kraków główny kga|kraków główny": [[0, 0]], + "kraków główny|kraków płaszów pzs kpa": [[0, 0]], + "kutno|stara wieś": [[0, 0]], + "stara wieś|jackowice": [ + [0, 0], + [3, 1], + [152, 0] + ], + "jackowice|łowicz główny": [[0, 0]], + "łowicz główny|bednary": [[0, 0]], + "bednary|warszawa gołąbki": [ + [0, 0], + [3, 1] + ], + "warszawa gołąbki|warszawa włochy": [[0, 0]], + "łódź fabryczna|łódź widzew": [[0, 0]], + "gałkówek|koluszki": [[0, 0]], + "łódź fabryczna|łódź niciarniana": [[0, 0]], + "łódź niciarniana|łódź widzew": [[0, 0]], + "warszawa podskarbińska|warszawa wschodnia": [[0, 0]], + "płyćwia|lipce reymontowskie": [[0, 0]], + "lipce reymontowskie|rogów": [[0, 0]], + "rogów|lipce reymontowskie": [[0, 0]], + "lipce reymontowskie|płyćwia": [[0, 0]], + "warszawa wschodnia|warszawa podskarbińska": [[0, 0]], + "łódź andrzejów|bedoń": [[0, 0]], + "bedoń|justynów": [[0, 0]], + "justynów|gałkówek": [[0, 0]], + "gałkówek|żakowice": [[0, 0]], + "żakowice|koluszki": [[0, 0]], + "koluszki|wągry": [[0, 0]], + "wągry|rogów": [[0, 0]], + "rogów|przyłęk duży": [[0, 0]], + "przyłęk duży|krosnowa": [[0, 0]], + "krosnowa|lipce reymontowskie": [[0, 0]], + "płyćwia|maków": [[0, 0]], + "maków|dąbrowice skierniewickie": [[0, 0]], + "dąbrowice skierniewickie|skierniewice": [[0, 0]], + "skierniewice|puszcza mariańska": [[0, 0]], + "puszcza mariańska|skierniewice": [[0, 0]], + "skierniewice|dąbrowice skierniewickie": [[0, 0]], + "dąbrowice skierniewickie|maków": [[0, 0]], + "maków|płyćwia": [[0, 0]], + "lipce reymontowskie|krosnowa": [[0, 0]], + "krosnowa|przyłęk duży": [[0, 0]], + "przyłęk duży|rogów": [[0, 0]], + "rogów|wągry": [[0, 0]], + "wągry|koluszki": [[0, 0]], + "koluszki|żakowice": [[0, 0]], + "żakowice|gałkówek": [[0, 0]], + "gałkówek|justynów": [[0, 0]], + "justynów|bedoń": [[0, 0]], + "bedoń|łódź andrzejów": [[0, 0]], + "łódź widzew|łódź niciarniana": [[0, 0]], + "łódź niciarniana|łódź fabryczna": [[0, 0]], + "łowicz główny|łowicz przedmieście": [[0, 0]], + "łowicz przedmieście|stare grudze": [[0, 0]], + "stare grudze|domaniewice": [[0, 0]], + "domaniewice|domaniewice centrum": [[0, 0]], + "domaniewice centrum|kamień łowicki": [[0, 0]], + "kamień łowicki|głowno północne": [[0, 0]], + "głowno północne|głowno": [[0, 0]], + "głowno|bratoszewice": [[0, 0]], + "bratoszewice|stryków": [[0, 0]], + "stryków|swędów": [[0, 0]], + "swędów|glinnik": [[0, 0]], + "glinnik|glinnik wieś": [[0, 0]], + "glinnik wieś|smardzew": [[0, 0]], + "smardzew|zgierz rudunki": [[0, 0]], + "zgierz rudunki|zgierz": [[0, 0]], + "zgierz|łódź radogoszcz wschód": [[0, 0]], + "łódź radogoszcz wschód|łódź arturówek": [[0, 0]], + "łódź arturówek|łódź warszawska": [[0, 0]], + "łódź warszawska|łódź marysin": [[0, 0]], + "łódź marysin|łódź stoki": [[0, 0]], + "łódź stoki|łódź widzew": [[0, 0]], + "żakowice południowe|słotwiny": [[0, 0]], + "słotwiny|mikołajów": [[0, 0]], + "sędziszów|gniewięcin apo": [[0, 0]], + "gniewięcin apo|klimontów apo": [[0, 0]], + "klimontów apo|kozłów": [[0, 0]], + "tunel|charsznica": [[0, 0]], + "charsznica|gajówka apo": [[0, 0]], + "gajówka apo|wolbrom": [[0, 0]], + "wolbrom|zarzecze apo": [[0, 0]], + "zarzecze apo|jaroszowiec olkuski": [[0, 0]], + "jaroszowiec olkuski|olkusz": [[0, 0]], + "olkusz|bukowno": [[0, 0]], + "bukowno|sławków": [[0, 0]], + "sławków|dąbrowa górnicza wschodnia": [[0, 0]], + "dąbrowa górnicza wschodnia|dąbrowa górnicza strzemieszyce": [[0, 0]], + "dąbrowa górnicza strzemieszyce|sosnowiec kazimierz": [[0, 0]], + "sosnowiec kazimierz|sosnowiec maczki": [[0, 0]], + "żakowice|chrusty nowe": [[0, 0]], + "chrusty nowe|rokiciny": [[0, 0]], + "rokiciny|łaznów": [[0, 0]], + "łaznów|wolbórka": [[0, 0]], + "wolbórka|baby": [[0, 0]], + "baby|moszczenica": [[0, 0]], + "moszczenica|jarosty": [[0, 0]], + "jarosty|piotrków trybunalski": [[0, 0]], + "witonia|gawrony": [[0, 0]], + "gawrony|łęczyca": [[0, 0]], + "łęczyca|sierpów": [[0, 0]], + "sierpów|ozorków": [[0, 0]], + "ozorków|ozorków nowe miasto": [[0, 0]], + "ozorków nowe miasto|chociszew": [[0, 0]], + "chociszew|grotniki": [[0, 0]], + "grotniki|jedlicze koło zgierza": [[0, 0]], + "jedlicze koło zgierza|zgierz kontrewers": [[0, 0]], + "zgierz północ|zgierz jaracza": [[0, 0]], + "zgierz jaracza|zgierz": [[0, 0]], + "zgierz|łódź radogoszcz zachód": [[0, 0]], + "łódź radogoszcz zachód|łódź żabieniec": [[0, 0]], + "łódź żabieniec|łódź kaliska": [[0, 0]], + "łódź kaliska|łódź pabianicka": [[0, 0]], + "łódź pabianicka|łódź chojny": [[0, 0]], + "łódź chojny|łódź dąbrowa": [[0, 0]], + "łódź dąbrowa pbs|łódź zarzew": [[0, 0]], + "łódź zarzew|łódź widzew": [[0, 0]], + "sosnowiec kazimierz|sosnowiec dańdówka": [[0, 0]], + "sosnowiec dańdówka|sosnowiec południowy": [[0, 0]], + "sosnowiec południowy|katowice zawodzie": [[0, 0]], + "łódź widzew|łódź andrzejów szosa": [[0, 0]], + "łódź olechów łoc|łódź olechów wschód": [[0, 0]], + "łódź olechów wschód|łódź olechów pzs r16": [[0, 0]], + "łódź olechów pzs r16|łódź olechów zachód": [[0, 0]], + "łódź olechów zachód|łódź olechów wiadukt": [[0, 0]], + "łódź olechów wiadukt|łódź olechów pzs r3": [[0, 0]], + "łódź olechów pzs r3|łódź chojny": [[0, 0]], + "łódź chojny|łódź pabianicka": [[0, 0]], + "łódź pabianicka|retkinia": [[0, 0]], + "retkinia|łódź retkinia": [[0, 0]], + "łódź retkinia|łódź lublinek": [[0, 0]], + "łódź lublinek|pabianice północne": [[0, 0]], + "pabianice północne|pabianice": [[0, 0]], + "pabianice|chechło": [[0, 0]], + "chechło|dobroń": [[0, 0]], + "zduńska wola|izabelów": [[0, 0]], + "izabelów|męcka wola": [[0, 0]], + "męcka wola|sieradz męka": [[0, 0]], + "sieradz męka|sieradz warta": [[0, 0]], + "sieradz warta|sieradz": [[0, 0]], + "łódź kaliska|retkinia": [[0, 0]], + "skierniewice|bełchów": [[0, 0]], + "bełchów|bednary": [[0, 0]], + "warszawa wschodnia|warszawa stadion": [[0, 0]], + "warszawa stadion|warszawa powiśle": [[0, 0]], + "warszawa powiśle|warszawa śródmieście": [ + [0, 0], + [3, 1] + ], + "warszawa śródmieście|warszawa ochota": [[0, 0]], + "warszawa ochota|warszawa zachodnia": [[0, 0]], + "warszawa włochy|warszawa ursus północny": [[0, 0]], + "warszawa ursus północny|warszawa gołąbki": [[0, 0]], + "warszawa włochy|warszawa ursus": [[0, 0]], + "warszawa ursus|warszawa ursus niedźwiadek": [[0, 0]], + "warszawa ursus niedźwiadek|piastów": [[0, 0]], + "piastów|pruszków": [[0, 0]], + "pruszków|parzniew": [[0, 0]], + "parzniew|brwinów": [[0, 0]], + "brwinów|milanówek": [[0, 0]], + "milanówek|grodzisk mazowiecki": [[0, 0]], + "grodzisk mazowiecki|jaktorów": [[0, 0]], + "jaktorów|międzyborów": [[0, 0]], + "międzyborów|żyrardów": [[0, 0]], + "żyrardów|sucha żyrardowska": [[0, 0]], + "sucha żyrardowska|jesionka": [[0, 0]], + "jesionka|radziwiłłów mazowiecki": [[0, 0]], + "radziwiłłów mazowiecki|skierniewice rawka": [[0, 0]], + "skierniewice rawka|skierniewice": [[0, 0]], + "skierniewice|mokra": [[0, 0]], + "mokra|sierakowice skierniewickie": [[0, 0]], + "sierakowice skierniewickie|bełchów": [[0, 0]], + "bełchów|bobrowniki": [[0, 0]], + "bobrowniki|łowicz główny": [[0, 0]], + "mikołajów|słotwiny": [[0, 0]], + "słotwiny|żakowice południowe": [[0, 0]], + "łódź widzew|łódź stoki": [[0, 0]], + "łódź stoki|łódź marysin": [[0, 0]], + "łódź marysin|łódź warszawska": [[0, 0]], + "łódź warszawska|łódź arturówek": [[0, 0]], + "łódź arturówek|łódź radogoszcz wschód": [[0, 0]], + "łódź radogoszcz wschód|zgierz": [[0, 0]], + "zgierz|zgierz rudunki": [[0, 0]], + "zgierz rudunki|smardzew": [[0, 0]], + "smardzew|glinnik wieś": [[0, 0]], + "glinnik wieś|glinnik": [[0, 0]], + "glinnik|swędów": [[0, 0]], + "swędów|stryków": [[0, 0]], + "stryków|bratoszewice": [[0, 0]], + "bratoszewice|głowno": [[0, 0]], + "głowno|głowno północne": [[0, 0]], + "głowno północne|kamień łowicki": [[0, 0]], + "kamień łowicki|domaniewice centrum": [[0, 0]], + "domaniewice centrum|domaniewice": [[0, 0]], + "domaniewice|stare grudze": [[0, 0]], + "stare grudze|łowicz przedmieście": [[0, 0]], + "łowicz przedmieście|łowicz główny": [[0, 0]], + "gniewięcin apo|klimontów": [[0, 0]], + "klimontów|klimontów apo": [[0, 0]], + "tunel|dziadówki": [[0, 0]], + "dziadówki|miechów": [[0, 0]], + "miechów|kamieńczyce": [[0, 0]], + "kamieńczyce|szczepanowice": [[0, 0]], + "szczepanowice|smroków": [[0, 0]], + "smroków|słomniki": [[0, 0]], + "słomniki|słomniki miasto": [[0, 0]], + "słomniki miasto|niedźwiedź": [[0, 0]], + "niedźwiedź|goszcza": [[0, 0]], + "goszcza|łuczyce": [[0, 0]], + "łuczyce|baranówka": [[0, 0]], + "baranówka|zastów": [[0, 0]], + "czarnca|knapówka": [[0, 0]], + "dorota|juliusz": [[0, 0]], + "juliusz|sosnowiec dańdówka": [[0, 0]], + "charsznica|gajówka": [[0, 0]], + "gajówka|gajówka apo": [[0, 0]], + "gajówka apo|jeżówka": [[0, 0]], + "jeżówka|wolbrom": [[0, 0]], + "wolbrom|zarzecze": [[0, 0]], + "zarzecze|zarzecze apo": [[0, 0]], + "zarzecze apo|chrząstowice olkuskie": [[0, 0]], + "chrząstowice olkuskie|jaroszowiec olkuski": [[0, 0]], + "bukowno|bukowno przymiarki": [[0, 0]], + "bukowno przymiarki|sławków": [[0, 0]], + "sosnowiec kazimierz|sosnowiec porąbka": [[0, 0]], + "sosnowiec porąbka|sosnowiec dańdówka": [[0, 0]], + "sosnowiec maczki|sosnowiec kazimierz": [[0, 0]], + "sosnowiec kazimierz|dąbrowa górnicza strzemieszyce": [[0, 0]], + "dąbrowa górnicza strzemieszyce|dąbrowa górnicza wschodnia": [[0, 0]], + "dąbrowa górnicza wschodnia|sławków": [[0, 0]], + "sławków|bukowno": [[0, 0]], + "bukowno|olkusz": [[0, 0]], + "olkusz|jaroszowiec olkuski": [[0, 0]], + "jaroszowiec olkuski|zarzecze apo": [[0, 0]], + "zarzecze apo|wolbrom": [[0, 0]], + "wolbrom|gajówka apo": [[0, 0]], + "gajówka apo|charsznica": [[0, 0]], + "charsznica|tunel": [[0, 0]], + "kozłów|klimontów apo": [[0, 0]], + "klimontów apo|gniewięcin apo": [[0, 0]], + "gniewięcin apo|sędziszów": [[0, 0]], + "zastów|baranówka": [[0, 0]], + "baranówka|łuczyce": [[0, 0]], + "łuczyce|goszcza": [[0, 0]], + "goszcza|niedźwiedź": [[0, 0]], + "niedźwiedź|słomniki miasto": [[0, 0]], + "słomniki miasto|słomniki": [[0, 0]], + "słomniki|smroków": [[0, 0]], + "smroków|szczepanowice": [[0, 0]], + "szczepanowice|kamieńczyce": [[0, 0]], + "kamieńczyce|miechów": [[0, 0]], + "miechów|dziadówki": [[0, 0]], + "dziadówki|tunel": [[0, 0]], + "klimontów apo|klimontów": [[0, 0]], + "klimontów|gniewięcin apo": [[0, 0]], + "łódź chojny|łódź kaliska": [[0, 0]], + "łódź kaliska|łódź żabieniec": [[0, 0]], + "łódź żabieniec|zgierz": [[0, 0]], + "dąbrowa górnicza ząbkowice|dąbrowa górnicza gołonóg": [[0, 0]], + "dąbrowa górnicza gołonóg|dąbrowa górnicza": [[0, 0]], + "dąbrowa górnicza|będzin ksawera": [[0, 0]], + "będzin ksawera|będzin miasto": [[0, 0]], + "będzin miasto|będzin": [[0, 0]], + "będzin|będzin miasto": [[0, 0]], + "będzin miasto|będzin ksawera": [[0, 0]], + "będzin ksawera|dąbrowa górnicza": [[0, 0]], + "dąbrowa górnicza|dąbrowa górnicza gołonóg": [[0, 0]], + "dąbrowa górnicza gołonóg|dąbrowa górnicza ząbkowice": [[0, 0]], + "myszków światowit|myszków mrzygłód": [[0, 0]], + "myszków mrzygłód|zawiercie borowe pole": [[0, 0]], + "zawiercie borowe pole|zawiercie": [[0, 0]], + "łazy łc|wiesiółka": [[0, 0]], + "wiesiółka|chruszczobród": [[0, 0]], + "chruszczobród|dąbrowa górnicza sikorka": [[0, 0]], + "dąbrowa górnicza sikorka|dąbrowa górnicza ząbkowice": [[0, 0]], + "dąbrowa górnicza ząbkowice|dąbrowa górnicza pogoria": [[0, 0]], + "dąbrowa górnicza pogoria|dąbrowa górnicza gołonóg": [[0, 0]], + "dąbrowa górnicza gołonóg|dąbrowa górnicza pogoria": [[0, 0]], + "dąbrowa górnicza pogoria|dąbrowa górnicza ząbkowice": [[0, 0]], + "dąbrowa górnicza ząbkowice|dąbrowa górnicza sikorka": [[0, 0]], + "dąbrowa górnicza sikorka|chruszczobród": [[0, 0]], + "chruszczobród|wiesiółka": [[0, 0]], + "wiesiółka|łazy łc": [[0, 0]], + "zawiercie|zawiercie borowe pole": [[0, 0]], + "zawiercie borowe pole|myszków mrzygłód": [[0, 0]], + "myszków mrzygłód|myszków światowit": [[0, 0]], + "piotrków trybunalski|jarosty": [[0, 0]], + "jarosty|moszczenica": [[0, 0]], + "moszczenica|baby": [[0, 0]], + "baby|wolbórka": [[0, 0]], + "wolbórka|łaznów": [[0, 0]], + "łaznów|rokiciny": [[0, 0]], + "rokiciny|chrusty nowe": [[0, 0]], + "chrusty nowe|żakowice": [[0, 0]], + "łódź widzew|łódź zarzew": [[0, 0]], + "łódź zarzew|łódź dąbrowa": [[0, 0]], + "łódź dąbrowa|łódź chojny": [[0, 0]], + "łódź pabianicka|łódź kaliska": [[0, 0]], + "łódź żabieniec|łódź radogoszcz zachód": [[0, 0]], + "łódź radogoszcz zachód|zgierz": [[0, 0]], + "zgierz|zgierz jaracza": [[0, 0]], + "zgierz jaracza|zgierz północ": [[0, 0]], + "zgierz kontrewers|jedlicze koło zgierza": [[0, 0]], + "jedlicze koło zgierza|grotniki": [[0, 0]], + "grotniki|chociszew": [[0, 0]], + "chociszew|ozorków nowe miasto": [[0, 0]], + "ozorków nowe miasto|ozorków": [[0, 0]], + "ozorków|sierpów": [[0, 0]], + "sierpów|łęczyca": [[0, 0]], + "łęczyca|gawrony": [[0, 0]], + "gawrony|witonia": [[0, 0]], + "katowice zawodzie|sosnowiec południowy": [[0, 0]], + "sosnowiec południowy|sosnowiec dańdówka": [[0, 0]], + "sosnowiec dańdówka|juliusz": [[0, 0]], + "juliusz|dorota": [[0, 0]], + "knapówka|czarnca": [[0, 0]], + "sosnowiec dańdówka|sosnowiec kazimierz": [[0, 0]], + "sosnowiec dańdówka|sosnowiec porąbka": [[0, 0]], + "sosnowiec porąbka|sosnowiec kazimierz": [[0, 0]], + "sławków|bukowno przymiarki": [[0, 0]], + "bukowno przymiarki|bukowno": [[0, 0]], + "jaroszowiec olkuski|chrząstowice olkuskie": [[0, 0]], + "chrząstowice olkuskie|zarzecze apo": [[0, 0]], + "zarzecze apo|zarzecze": [[0, 0]], + "zarzecze|wolbrom": [[0, 0]], + "wolbrom|jeżówka": [[0, 0]], + "jeżówka|gajówka apo": [[0, 0]], + "gajówka apo|gajówka": [[0, 0]], + "gajówka|charsznica": [[0, 0]], + "zduńska wola karsznice|gajewniki": [[0, 0]], + "retkinia|łódź kaliska": [[0, 0]], + "zgierz|glinnik": [[0, 0]], + "glinnik|stryków": [[0, 0]], + "stryków|głowno": [[0, 0]], + "głowno|domaniewice": [[0, 0]], + "domaniewice|łowicz przedmieście": [[0, 0]], + "łowicz przedmieście|domaniewice": [[0, 0]], + "domaniewice|głowno": [[0, 0]], + "głowno|stryków": [[0, 0]], + "stryków|glinnik": [[0, 0]], + "glinnik|zgierz": [[0, 0]], + "zgierz|łódź żabieniec": [[0, 0]], + "gajewniki|zduńska wola karsznice": [[0, 0]], + "łowicz główny|warszawa gołąbki": [ + [0, 0], + [209, 1] + ], + "sieradz|sieradz warta": [[0, 0]], + "sieradz warta|sieradz męka": [[0, 0]], + "sieradz męka|męcka wola": [[0, 0]], + "męcka wola|izabelów": [[0, 0]], + "izabelów|zduńska wola": [[0, 0]], + "dobroń|chechło": [[0, 0]], + "chechło|pabianice": [[0, 0]], + "pabianice|pabianice północne": [[0, 0]], + "pabianice północne|łódź lublinek": [[0, 0]], + "łódź lublinek|łódź retkinia": [[0, 0]], + "łódź retkinia|retkinia": [[0, 0]], + "retkinia|łódź pabianicka": [[0, 0]], + "łódź kaliska|łódź chojny": [[0, 0]], + "bednary|bełchów": [[0, 0]], + "bełchów|skierniewice": [[0, 0]], + "warszawa gołąbki|warszawa ursus północny": [[0, 0]], + "warszawa ursus północny|warszawa włochy": [[0, 0]], + "warszawa zachodnia|warszawa ochota": [[0, 0]], + "warszawa ochota|warszawa śródmieście": [[0, 0]], + "warszawa śródmieście|warszawa powiśle": [ + [0, 1], + [31, 0] + ], + "warszawa powiśle|warszawa stadion": [[0, 0]], + "warszawa stadion|warszawa wschodnia": [[0, 0]], + "łowicz główny|bobrowniki": [[0, 0]], + "bobrowniki|bełchów": [[0, 0]], + "bełchów|sierakowice skierniewickie": [[0, 0]], + "sierakowice skierniewickie|mokra": [[0, 0]], + "mokra|skierniewice": [[0, 0]], + "skierniewice|skierniewice rawka": [[0, 0]], + "skierniewice rawka|radziwiłłów mazowiecki": [[0, 0]], + "radziwiłłów mazowiecki|jesionka": [[0, 0]], + "jesionka|sucha żyrardowska": [[0, 0]], + "sucha żyrardowska|żyrardów": [[0, 0]], + "żyrardów|międzyborów": [[0, 0]], + "międzyborów|jaktorów": [[0, 0]], + "jaktorów|grodzisk mazowiecki": [[0, 0]], + "grodzisk mazowiecki|milanówek": [[0, 0]], + "milanówek|brwinów": [[0, 0]], + "brwinów|parzniew": [[0, 0]], + "parzniew|pruszków": [[0, 0]], + "pruszków|piastów": [[0, 0]], + "piastów|warszawa ursus niedźwiadek": [[0, 0]], + "warszawa ursus niedźwiadek|warszawa ursus": [[0, 0]], + "warszawa ursus|warszawa włochy": [[0, 0]], + "bełchów|mokra": [[0, 0]], + "łódź chojny|łódź olechów pzs r3": [[0, 0]], + "łódź olechów pzs r3|łódź olechów wiadukt": [[0, 0]], + "łódź olechów wiadukt|łódź olechów zachód": [[0, 0]], + "łódź olechów zachód|łódź olechów pzs r16": [[0, 0]], + "łódź olechów pzs r16|łódź olechów wschód": [[0, 0]], + "łódź olechów wschód|łódź olechów łoc": [[0, 0]], + "łódź andrzejów szosa|łódź widzew": [[0, 0]], + "słotwiny|koluszki": [[0, 0]], + "płyćwia|bełchów": [[0, 0]], + "łowicz główny|bełchów": [[0, 0]], + "koluszki|słotwiny": [[0, 0]], + "warszawa główna towarowa|józefinów": [[0, 0]], + "raciborowice|dłubnia": [[0, 0]], + "marków|szeligi": [[0, 0]], + "łazy łc|przemiarki": [[0, 0]], + "przemiarki|dąbrowa górnicza towarowa dta r5": [[0, 0]], + "dąbrowa górnicza towarowa dta r5|dąbrowa górnicza towarowa": [[0, 0]], + "słotwiny|rokiciny": [[0, 0]], + "dąbrowa górnicza wschodnia|dorota": [[0, 0]], + "sosnowiec dańdówka|stawiska": [[0, 0]], + "stawiska|katowice janów": [[0, 0]], + "katowice janów|katowice much. kmb": [[0, 0]], + "katowice much. kmb|staszic": [[0, 0]], + "gałkówek|łódź olechów łoc": [[0, 0]], + "gajewniki|dionizów": [[0, 0]], + "kraków przedmieście|kraków olsza": [[0, 0]], + "sosnowiec główny|sosnowiec południowy": [[0, 0]], + "sosnowiec dańdówka|sosnowiec maczki": [[0, 0]], + "bukowno|borowa górka": [[0, 0]], + "kraków olsza|kraków przedmieście": [[0, 0]], + "kraków batowice|dłubnia": [[0, 0]], + "dłubnia|kraków batowice": [[0, 0]], + "starzyny|koniecpol": [[0, 0]], + "kraków główny kga|sosnowiec maczki": [ + [0, 0], + [34, 1], + [942, 0] + ], + "sosnowiec maczki|sosnowiec dańdówka": [[0, 0]], + "sosnowiec południowy|sosnowiec główny": [[0, 0]], + "dąbrowa górnicza towarowa|dąbrowa górnicza towarowa dta r5": [[0, 0]], + "dąbrowa górnicza towarowa dta r5|przemiarki": [[0, 0]], + "przemiarki|łazy łc": [[0, 0]], + "szeligi|marków": [[0, 0]], + "rokiciny|słotwiny": [[0, 0]], + "józefinów|warszawa główna towarowa": [[0, 0]], + "dorota|dąbrowa górnicza wschodnia": [[0, 0]], + "katowice muchowiec staszic|staszic": [[0, 0]], + "staszic|katowice much. kmb": [[0, 0]], + "katowice much. kmb|katowice janów": [[0, 0]], + "katowice janów|stawiska": [[0, 0]], + "stawiska|sosnowiec dańdówka": [[0, 0]], + "borowa górka|bukowno": [[0, 0]], + "dąbrowa górnicza wschodnia|kozioł": [[0, 0]], + "kozioł|dąbrowa górnicza towarowa": [[0, 0]], + "stawiska|mysłowice": [[0, 0]], + "dąbrowa górnicza towarowa|kozioł": [[0, 0]], + "kozioł|dąbrowa górnicza wschodnia": [[0, 0]], + "kozioł|dąbrowa górnicza towarowa dta r5": [[0, 0]], + "dąbrowa górnicza towarowa dta r5|kozioł": [[0, 0]], + "kutno|ostrowy": [[0, 0]], + "zduńska wola|dionizów": [[0, 0]], + "dąbrowa górnicza strzemieszyce|dąbrowa górnicza huta katowice": [[0, 0]], + "łódź olechów łoc|gałkówek": [[0, 0]], + "dionizów|gajewniki": [[0, 0]], + "dionizów|zduńska wola": [[0, 0]], + "zduńska wola karsznice|zduńska wola": [[0, 0]], + "idzikowice|radzice": [[0, 0]], + "zduńska wola|zduńska wola karsznice": [[0, 0]], + "dąbrowa górnicza huta katowice|dąbrowa górnicza strzemieszyce": [[0, 0]] + } +} diff --git a/packages/map/contexts/SelectedTrainContext.tsx b/packages/map/contexts/SelectedTrainContext.tsx index b77bbd7..34fb5dd 100644 --- a/packages/map/contexts/SelectedTrainContext.tsx +++ b/packages/map/contexts/SelectedTrainContext.tsx @@ -1,6 +1,9 @@ +import { useLocalStorage } from "@mantine/hooks"; import type { Train } from "@simrail/types"; import { + type Dispatch, type ReactNode, + type SetStateAction, createContext, useContext, useMemo, @@ -10,11 +13,19 @@ import { interface SelectedTrainContextType { selectedTrain: Train | null; setSelectedTrain: (train: Train | null) => void; + showTrainRoute: boolean; + setShowTrainRoute: Dispatch>; + followTrain: boolean; + setFollowTrain: Dispatch>; } export const SelectedTrainContext = createContext({ selectedTrain: null, setSelectedTrain: () => {}, + showTrainRoute: true, + setShowTrainRoute: () => {}, + followTrain: true, + setFollowTrain: () => {}, }); export const useSelectedTrain = () => useContext(SelectedTrainContext); @@ -25,9 +36,30 @@ export const SelectedTrainProvider = ({ children: ReactNode; }) => { const [selectedTrain, setSelectedTrain] = useState(null); + const [showTrainRoute, setShowTrainRoute] = useLocalStorage({ + key: "showTrainRoute", + defaultValue: true, + }); + const [followTrain, setFollowTrain] = useLocalStorage({ + key: "followTrain", + defaultValue: true, + }); const value = useMemo( - () => ({ selectedTrain, setSelectedTrain }), - [selectedTrain], + () => ({ + selectedTrain, + setSelectedTrain, + showTrainRoute, + setShowTrainRoute, + followTrain, + setFollowTrain, + }), + [ + selectedTrain, + showTrainRoute, + followTrain, + setShowTrainRoute, + setFollowTrain, + ], ); return ( diff --git a/packages/map/lib/trainRoute.ts b/packages/map/lib/trainRoute.ts new file mode 100644 index 0000000..f3e6599 --- /dev/null +++ b/packages/map/lib/trainRoute.ts @@ -0,0 +1,380 @@ +/** + * trainRoute.ts — Runtime route computation for the train highlight feature. + * + * When a train is selected on the map, this module fetches its timetable from + * the community EDR API, looks up pre-computed track geometries from + * railData.json, and assembles a list of colored polyline segments to render + * on the Leaflet map. + * + * Data flow: + * 1. Train selected → getTrainRoute() is called (cached per train) + * 2. fetchTimetable() fetches the train's stop list from the community EDR + * (simrail-edr.emeraldnetwork.xyz). Cached in memory per train number. + * 3. computeRoute() resolves each stop name to coordinates from the + * gazetteer in railData.json. Stops without coordinates are skipped. + * 4. The route is trimmed to the first and last "known" stations (stations + * that exist in the wiki interactive map — these define the playable area). + * 5. For each consecutive pair of resolved stops, the pre-computed track + * geometry is looked up from railData.segments (encoded as Google + * Encoded Polylines, keyed by "fromNormalized|toNormalized"). + * 6. Each segment may span both drivable and non-drivable sections (e.g. LK1 + * has a non-drivable gap between Myszków and Rozprza). The segmentColors + * field stores boundary indices that split the segment into green (drivable), + * red (non-drivable), or grey (no wiki data) sub-segments. + * 7. Adjacent sub-segments of the same color are merged for rendering + * efficiency. Gaps (missing segments) are drawn as grey straight lines. + * + * railData.json format (generated by scripts/generate-rail-data.mjs): + * { + * knownStations: string[], // Normalized station names (define playable area) + * stations: { [name]: [lat, lon] }, // Station coordinate gazetteer + * segments: { [key]: string }, // Google Encoded Polylines (key = "from|to") + * segmentColors: { [key]: [number, number][] } // Color boundaries: [[startIndex, colorCode], ...] + * } + * + * Color codes: 0 = green (drivable), 1 = red (non-drivable), 2 = grey (no wiki data) + * + * Caching: + * - timetableCache: Per-train timetable fetch results (Map) + * - routeCache: Per-train computed route results (Map) + * Both are module-level Maps that persist for the session. This means clicking + * the same train twice doesn't re-fetch or re-compute. + */ +import railDataJson from "../components/railData.json"; + +/** A [lat, lon] coordinate pair in decimal degrees. */ +export type RoutePoint = [number, number]; + +/** + * A colored polyline segment to render on the map. + * - green: drivable track (available in SimRail) + * - red: non-drivable track (exists in wiki but not playable) + * - grey: no wiki track data available (straight line between stations) + */ +export interface ColoredSegment { + color: "green" | "red" | "grey"; + points: RoutePoint[]; +} + +/** + * The railData.json structure loaded at build time. + * This file is generated by scripts/generate-rail-data.mjs and committed + * to the repository. It contains all pre-computed route data so no runtime + * A* routing or OSM fetching is needed. + */ +interface RailData { + /** Normalized station names that define the playable area (for route trimming). */ + knownStations: string[]; + /** Station coordinate gazetteer: normalized name → [lat, lon]. */ + stations: Record; + /** Pre-computed track geometries: "fromNorm|toNorm" → Google Encoded Polyline. */ + segments: Record; + /** + * Color boundaries per segment: "fromNorm|toNorm" → [[startIndex, colorCode], ...] + * Each entry marks where a new color section begins (by point index into the + * decoded polyline). colorCode: 0=green, 1=red, 2=grey. + * Segments not in this map default to [[0, 0]] (all green). + */ + segmentColors: Record; +} + +/** Maps color codes (0, 1, 2) to color names ("green", "red", "grey"). */ +const COLOR_NAMES = ["green", "red", "grey"] as const; + +const railData = railDataJson as unknown as RailData; + +/** Set of normalized known station names, used for route trimming. */ +const knownSet = new Set(railData.knownStations); + +/** Community EDR API base URL for fetching train timetables. */ +const EDR_TIMETABLE_URL = "https://simrail-edr.emeraldnetwork.xyz/train"; + +/** + * Normalizes a station name for matching across data sources. + * Applies Unicode NFC, trims whitespace, collapses internal spaces, lowercases. + * This ensures "Warszawa Główna Towarowa" matches "Warszawa Główna Towarowa WOA" + * via the fuzzy resolver in the generator (which stores both under their + * respective normalized forms). + */ +function normalizeName(name: string): string { + return name.normalize("NFC").trim().replace(/\s+/g, " ").toLowerCase(); +} + +/** + * Decodes a Google Encoded Polyline string into an array of [lat, lon] points. + * + * The encoding uses delta encoding with zigzag-signed varints at 5 decimal + * places (~1.1m precision). Each coordinate is split into 5-bit groups with + * a continuation bit (0x20) and offset by 63 to avoid control characters. + * + * Format per coordinate: + * 1. Read varint for latitude delta (zigzag-decoded) + * 2. Add delta to running latitude + * 3. Read varint for longitude delta (zigzag-decoded) + * 4. Add delta to running longitude + * 5. Divide by 1e5 to get decimal degrees + */ +function decodePolyline(str: string): RoutePoint[] { + let idx = 0; + let lat = 0; + let lon = 0; + const pts: RoutePoint[] = []; + while (idx < str.length) { + // Decode latitude delta (varint with continuation bit 0x20) + let shift = 0; + let result = 0; + let byte; + do { + byte = str.charCodeAt(idx++) - 63; + result |= (byte & 0x1f) << shift; + shift += 5; + } while (byte >= 0x20); + // Zigzag decode: if LSB is 1, value is negative + lat += result & 1 ? ~(result >> 1) : result >> 1; + + // Decode longitude delta (same varint format) + shift = 0; + result = 0; + do { + byte = str.charCodeAt(idx++) - 63; + result |= (byte & 0x1f) << shift; + shift += 5; + } while (byte >= 0x20); + lon += result & 1 ? ~(result >> 1) : result >> 1; + + pts.push([lat / 1e5, lon / 1e5]); + } + return pts; +} + +/** A timetable stop as returned by the community EDR API. */ +interface TimetableStop { + nameOfPoint?: string; + nameForPerson?: string; + line?: number; +} + +/** + * Per-train timetable cache. Keyed by "serverCode|trainNo". + * Stores Promises so concurrent calls for the same train share a single fetch. + */ +const timetableCache = new Map>(); + +/** + * Fetches a train's timetable from the community EDR API. + * Results are cached per train (serverCode + trainNo) for the session. + * Returns null if the fetch fails or the train has no timetable. + */ +function fetchTimetable( + serverCode: string, + trainNo: string, +): Promise { + const key = `${serverCode}|${trainNo}`; + if (!timetableCache.has(key)) { + timetableCache.set( + key, + fetch(`${EDR_TIMETABLE_URL}/${serverCode}/${trainNo}`) + .then((r) => (r.ok ? r.json() : null)) + .catch(() => null), + ); + } + return timetableCache.get(key)!; +} + +/** + * A timetable stop resolved to a coordinate. + * - coord: [lat, lon] from the railData stations gazetteer + * - name: normalized station name (used as segment key component) + * - isKnown: whether the station is in the knownStations set (playable area) + */ +interface ResolvedStop { + coord: RoutePoint; + name: string; + isKnown: boolean; +} + +/** + * Per-train route cache. Keyed by "serverCode|trainNo". + * Stores Promises so concurrent calls share a single computation. + */ +const routeCache = new Map>(); + +/** + * Gets the colored route segments for a train. + * This is the main entry point called by the TrainRoute component. + * Results are cached per train for the session. + * + * @param train - Object with ServerCode and TrainNoLocal + * @returns Array of ColoredSegment (green/red/grey polylines), or null if no route + */ +export function getTrainRoute(train: { + ServerCode: string; + TrainNoLocal: string; +}): Promise { + const key = `${train.ServerCode}|${train.TrainNoLocal}`; + if (!routeCache.has(key)) { + routeCache.set(key, computeRoute(train)); + } + return routeCache.get(key)!; +} + +/** + * Computes the colored route segments for a train. + * + * Algorithm: + * 1. Fetch the train's timetable (stop list with line numbers). + * 2. Resolve each stop name to coordinates from the gazetteer. + * Stops without coordinates (signal boxes, off-map stations) are skipped. + * 3. Trim the route to the first and last "known" stations (playable area). + * 4. For each consecutive pair of resolved stops: + * a. Look up the pre-computed track geometry (encoded polyline). + * b. If no geometry exists, draw a grey straight line (no wiki data). + * c. Decode the polyline and split it at color boundaries + * (from segmentColors) into green/red/grey sub-segments. + * d. Merge adjacent same-color sub-segments for rendering efficiency. + * e. After a gap (missing segment), don't merge with the previous + * segment to avoid creating straight lines across gaps. + * + * @param train - Object with ServerCode and TrainNoLocal + * @returns Array of ColoredSegment, or null if the route can't be computed + */ +async function computeRoute(train: { + ServerCode: string; + TrainNoLocal: string; +}): Promise { + const stops = await fetchTimetable(train.ServerCode, train.TrainNoLocal); + if (!stops || stops.length < 2) return null; + + // Resolve each stop to coordinates. Stops without coordinates are skipped. + const resolved: ResolvedStop[] = []; + for (const stop of stops) { + const name = stop.nameOfPoint || stop.nameForPerson; + if (!name) continue; + const norm = normalizeName(name); + const coordArr = railData.stations[norm]; + if (!coordArr) continue; + resolved.push({ + coord: [coordArr[0], coordArr[1]], + name: norm, + isKnown: knownSet.has(norm), + }); + } + + // Trim to the first and last known stations (playable area boundary). + let first = -1; + let last = -1; + for (let i = 0; i < resolved.length; i++) { + if (resolved[i].isKnown) { + if (first < 0) first = i; + last = i; + } + } + if (first < 0 || last <= first) return null; + + const effective = resolved.slice(first, last + 1); + if (effective.length < 2) return null; + + // Assemble colored segments from pre-computed data. + const segments: ColoredSegment[] = []; + let prevConnected = false; + + for (let i = 0; i < effective.length - 1; i++) { + const a = effective[i]; + const b = effective[i + 1]; + const segKey = `${a.name}|${b.name}`; + const encoded = railData.segments[segKey]; + + // No pre-computed route — draw a grey straight line to indicate + // the route continues but track data is not available. + if (!encoded) { + // Start the grey from the previous segment's endpoint (the last + // point of the preceding green/red segment) if connected, so the + // grey line connects seamlessly to the track polyline. + const startCoord = + prevConnected && segments.length > 0 + ? segments[segments.length - 1].points[ + segments[segments.length - 1].points.length - 1 + ] + : a.coord; + segments.push({ color: "grey", points: [startCoord, b.coord] }); + prevConnected = false; + continue; + } + + // Decode the full polyline for this segment. + const allPts = decodePolyline(encoded); + + // If this segment follows a gap (grey line), the grey line ended at + // the station coordinate. Update its endpoint to the polyline's first + // point (the A* snap point on the track) so the grey connects to green. + if (!prevConnected && segments.length > 0) { + const lastGrey = segments[segments.length - 1]; + if (lastGrey.color === "grey" && allPts.length > 0) { + lastGrey.points[lastGrey.points.length - 1] = allPts[0]; + } + } + + // Get color boundaries: [[startIndex, colorCode], ...] + // Default to [[0, 0]] (all green) if not in the data. + const boundaries = railData.segmentColors?.[segKey] ?? [[0, 0]]; + + // Split the polyline into colored sub-segments at each boundary. + for (let bi = 0; bi < boundaries.length; bi++) { + const [startIdx, colorCode] = boundaries[bi]; + // End index is the start of the next boundary, or the end of the polyline. + const endIdx = + bi < boundaries.length - 1 ? boundaries[bi + 1][0] : allPts.length; + // Slice includes the endIdx point for continuity with the next sub-segment. + const subPts = allPts.slice( + startIdx, + bi < boundaries.length - 1 ? endIdx + 1 : endIdx, + ); + const color = COLOR_NAMES[colorCode] ?? "grey"; + + // Merge with the previous segment if same color and connected + // (no gap). This produces continuous polylines for rendering. + const lastSeg = segments[segments.length - 1]; + if (prevConnected && lastSeg && lastSeg.color === color) { + lastSeg.points.push(...subPts.slice(1)); + } else { + // If connected to the previous segment (different color), + // bridge the snap gap by replacing the first point with the + // previous segment's last point. Different A* runs may snap + // the same station to slightly different track nodes. + if (prevConnected && lastSeg && subPts.length > 0) { + subPts[0] = lastSeg.points[lastSeg.points.length - 1]; + } + segments.push({ color, points: subPts }); + } + prevConnected = true; + } + } + + // Remove backtracks from each segment's polyline. At junctions, the train + // may go out to a stop and reverse back through the same tracks. When + // consecutive segments are merged, this creates visible loops on the map + // (the path revisits the same coordinates 3-5 times). This pass detects + // duplicate coordinates and removes the out-and-back portion. + for (const seg of segments) { + if (seg.color === "grey" || seg.points.length < 4) continue; + let changed = true; + while (changed && seg.points.length > 2) { + changed = false; + const seen = new Map(); + for (let i = 0; i < seg.points.length; i++) { + const key = `${seg.points[i][0]},${seg.points[i][1]}`; + const prev = seen.get(key); + if (prev !== undefined) { + // Duplicate found: remove the sub-path between the two + // occurrences (the out-and-back), keeping the first. + seg.points.splice(prev + 1, i - prev); + changed = true; + break; + } + seen.set(key, i); + } + } + } + + return segments; +} diff --git a/packages/map/package.json b/packages/map/package.json index 39daae2..ec51afe 100644 --- a/packages/map/package.json +++ b/packages/map/package.json @@ -6,7 +6,8 @@ "dev": "next dev", "build": "next build", "start": "next start", - "lint": "pnpm --workspace-root exec oxlint packages/map" + "lint": "pnpm --workspace-root exec oxlint packages/map", + "generate:rail-data": "node scripts/generate-rail-data.mjs" }, "dependencies": { "@mantine/carousel": "^7.17.8", diff --git a/packages/map/scripts/generate-rail-data.mjs b/packages/map/scripts/generate-rail-data.mjs new file mode 100644 index 0000000..5172d86 --- /dev/null +++ b/packages/map/scripts/generate-rail-data.mjs @@ -0,0 +1,970 @@ +#!/usr/bin/env node +/** + * generate-rail-data.mjs — Generator script for railData.json. + * + * This script fetches data from the SimRail wiki interactive map and the + * SimRail timetable API, then pre-computes track-following route geometries + * between every pair of consecutive timetable stops. The output is committed + * to the repository as components/railData.json and loaded at runtime by + * lib/trainRoute.ts. + * + * Data sources: + * 1. Wiki interactive map (wiki.simrail.eu/map/) — provides: + * - Route GeoJSON files: exact OSM track geometry per railway line (LK1, + * LK4, LK62, etc.), split into "available" (drivable in SimRail) and + * "not available" (not drivable) sections. Some lines have two entries + * with different URLs (e.g. lk1.geojson vs lk1u.geojson). + * - Station GeoJSON files: track geometry at each station/signal box, + * used to extract station coordinates. Geometry types include + * LineString, MultiLineString, Polygon, and Point. + * - map-data.json: master index of routes and stations with metadata + * (type: "po"/"border"/"playable:false", available: true/false). + * 2. SimRail official timetable API (api1.aws.simrail.eu) — provides all + * train timetables (stop lists with line numbers). Falls back to the + * community EDR API (simrail-edr.emeraldnetwork.xyz) if the official + * API is down. + * 3. Local station files (components/stations.json, stationsRemote.json) — + * supplement the wiki's 161 stations with additional coordinates for + * small stops (e.g. Sprowa, Józefinów) that aren't in the wiki. + * 4. SimRail stations-open API (panel.simrail.eu:8084) — provides + * coordinates for dispatch stations (e.g. Pruszków, Grodzisk Mazowiecki). + * + * Pipeline: + * Step 1: Fetch wiki map-data.json + route GeoJSONs + station GeoJSONs + + * timetables (all in parallel). Cache all responses to disk. + * Step 1b: Supplement station coordinates from local files + stations-open API + * (the wiki doesn't include all timetable stops). + * Step 2: Collect unique segments from timetables. A segment is a pair of + * consecutive stops that both have coordinates. Stops without + * coordinates (signal boxes, off-map stations) are skipped, and + * the surrounding resolvable stops are connected directly. Each + * segment records allLines (all line numbers between the from and + * to stops, including skipped intermediates) for A* line preference. + * Step 3: Compute A* routes for each segment. Build a rail graph (CSR format) + * from wiki track geometry. For each segment: + * - Snap from/to station coordinates to graph nodes, preferring the + * from-stop's departure line (prevents snapping to wrong parallel + * tracks at junctions). + * - Try A* with the from-stop's line as preferred (non-preferred + * edges cost 10x more but are still traversable for junction + * connectors). Fallback to allLines, then unconstrained with + * detour guard (>1.5x straight-line distance = rejected). + * - Skip segments whose timetable line number doesn't exist in the + * wiki (e.g. line 131 maps to wiki LK543/LK542, not LK131). + * - Remove backtracking points (Z-shaped edges) iteratively. + * Step 4: Determine per-segment drivability (green/red) by classifying each + * point along the path against the wiki's available and not-available + * track geometry. A point is red only if it's NOT on an available + * track (>50m away) AND close to a not-available track (<200m). + * This avoids false reds from parallel available/not-available tracks. + * Store results as color boundaries: [startIndex, colorCode] pairs. + * colorCode: 0=green, 1=red, 2=grey (no wiki data). + * Step 5: Write the output JSON file. + * + * Usage: node packages/map/scripts/generate-rail-data.mjs [--refresh] + * + * --refresh: Forces re-fetching from the APIs (ignores cache). + * Without --refresh, all API responses are cached in scripts/.cache/ + * and reused on subsequent runs for fast iteration (~1s vs ~5s). + * + * Output format (railData.json): + * { + * knownStations: string[], // Normalized station names (define playable area for route trimming) + * stations: { [name]: [lat, lon] }, // Station coordinate gazetteer (normalized name → [lat, lon]) + * segments: { [key]: string }, // Google Encoded Polylines (key = "fromNorm|toNorm") + * segmentColors: { [key]: number[][] } // Color boundaries: [[startIndex, colorCode], ...] + * // colorCode: 0=green (drivable), 1=red (non-drivable), 2=grey (no data) + * } + * + * The runtime (lib/trainRoute.ts) decodes each segment's polyline and splits + * it at the color boundaries to render green/red/grey sub-segments on the map. + * Adjacent same-color sub-segments are merged for rendering efficiency. + */ +import fs from "node:fs"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; + +import { + buildGraphFromRoutes, + encodePolyline, + haversineKm, + makeNearestNode, + makeRouter, + normalizeName, +} from "./rail-helpers.mjs"; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const CACHE_DIR = path.join(__dirname, ".cache"); +const OUTPUT_PATH = path.join(__dirname, "..", "components", "railData.json"); + +const OFFICIAL_TIMETABLE_BASE = + "https://api1.aws.simrail.eu:8082/api/getAllTimetables"; +const EDR_COMMUNITY_BASE = "https://simrail-edr.emeraldnetwork.xyz"; +const PANEL_BASE = "https://panel.simrail.eu:8084"; +const WIKI_MAP_DATA_URL = + "https://wiki.simrail.eu/map/main-files/map-data.json"; +const WIKI_BASE = "https://wiki.simrail.eu"; +const USER_AGENT = "simrail-app-map-route-generator/1.0"; +const SNAP_MAX_KM = 3.0; +const TIMETABLE_SERVER = "int1"; + +fs.mkdirSync(CACHE_DIR, { recursive: true }); +const refresh = process.argv.includes("--refresh"); + +/** + * Fetches JSON from a URL and caches it to disk. + * On subsequent runs (without --refresh), the cached file is used directly. + */ +async function cachedFetchJson(url, cacheName) { + const cachePath = path.join(CACHE_DIR, cacheName); + if (!refresh && fs.existsSync(cachePath)) { + return JSON.parse(fs.readFileSync(cachePath, "utf8")); + } + const res = await fetch(url, { headers: { "User-Agent": USER_AGENT } }); + if (!res.ok) throw new Error(`HTTP ${res.status} for ${url}`); + const json = await res.json(); + fs.writeFileSync(cachePath, JSON.stringify(json)); + return json; +} + +/** + * Runs async tasks with bounded concurrency. + * Creates `limit` concurrent workers that pull from a shared index. + */ +async function pool(items, limit, fn) { + let idx = 0; + const workers = Array.from( + { length: Math.min(limit, items.length) }, + async () => { + while (idx < items.length) { + const i = idx++; + await fn(items[i], i); + } + }, + ); + await Promise.all(workers); +} + +async function main() { + const t0 = Date.now(); + const log = (msg) => + console.log(`[${((Date.now() - t0) / 1000).toFixed(1)}s] ${msg}`); + + // ======================================================================== + // Step 1: Fetch wiki map-data.json + timetables (parallel) + // ======================================================================== + + log("Step 1: Fetch wiki map-data.json + timetables (parallel)"); + + const wikiPromise = (async () => { + log(" [wiki] Fetching map-data.json..."); + const wikiMapData = await cachedFetchJson( + WIKI_MAP_DATA_URL, + "wiki_map_data.json", + ); + log( + ` [wiki] Routes: ${wikiMapData.routes.length}, Stations: ${wikiMapData.stations.length}`, + ); + + // --- Fetch route GeoJSON files --- + // Each route has a URL to a GeoJSON file with track geometry (LineStrings). + // Some lines have TWO entries: "available" (drivable) and "not available" + // (not drivable), with different URLs (e.g. lk1.geojson vs lk1u.geojson). + log(" [wiki] Fetching route geometries..."); + const routeFeatures = []; + await pool(wikiMapData.routes, 10, async (route) => { + const match = route.name.match(/^LK(\d+)$/); + if (!match) return; + const lineNo = match[1]; + const isAvailable = route.available !== false; + // Cache name includes availability flag to avoid collisions. + const cacheName = `wiki_route_${route.name.replace(/[^a-zA-Z0-9]/g, "_")}_${isAvailable ? "avail" : "notavail"}.json`; + try { + const gj = await cachedFetchJson(WIKI_BASE + route.url, cacheName); + for (const f of gj.features || []) { + routeFeatures.push({ + geometry: f.geometry, + refs: [lineNo], + available: isAvailable, + }); + } + } catch (err) { + log(` [wiki] Failed ${route.name}: ${err.message}`); + } + }); + log(` [wiki] Route features: ${routeFeatures.length}`); + + // --- Fetch station GeoJSON files --- + // Each station has a URL to a GeoJSON file. We extract a coordinate + // from the first feature (LineString, Polygon, or Point geometry). + log(" [wiki] Fetching station coordinates..."); + const stationCoords = new Map(); + const knownStations = new Set(); + await pool(wikiMapData.stations, 10, async (station) => { + const norm = normalizeName(station.name); + const cacheName = `wiki_station_${station.name.replace(/[^a-zA-Z0-9]/g, "_").toLowerCase()}.json`; + try { + const gj = await cachedFetchJson(WIKI_BASE + station.url, cacheName); + for (const f of gj.features || []) { + const g = f.geometry; + if (!g?.coordinates?.[0]) continue; + let coord; + // GeoJSON coordinates are [lon, lat]; we store [lat, lon]. + if (g.type === "LineString") coord = g.coordinates[0]; + else if (g.type === "MultiLineString") coord = g.coordinates[0]?.[0]; + else if (g.type === "Point") coord = g.coordinates; + else if (g.type === "Polygon") coord = g.coordinates[0]?.[0]; + if (coord && coord.length >= 2) { + stationCoords.set(norm, [coord[1], coord[0]]); + knownStations.add(norm); + break; + } + } + } catch { + // skip + } + }); + log(` [wiki] Stations with coords: ${stationCoords.size}`); + + return { wikiMapData, stationCoords, knownStations, routeFeatures }; + })(); + + const timetablesPromise = (async () => { + const cachePath = path.join(CACHE_DIR, "all_timetables.json"); + if (!refresh && fs.existsSync(cachePath)) { + log(" [timetables] Cached"); + return; + } + log(" [timetables] Fetching from official API..."); + try { + const resp = await fetch( + `${OFFICIAL_TIMETABLE_BASE}?serverCode=${TIMETABLE_SERVER}`, + { headers: { "User-Agent": USER_AGENT } }, + ); + if (resp.ok) { + const list = await resp.json(); + const all = (Array.isArray(list) ? list : list.data || []).map( + (tt) => ({ + trainNo: tt.trainNoLocal, + timetable: tt.timetable || [], + }), + ); + fs.writeFileSync(cachePath, JSON.stringify(all)); + log(` [timetables] Official: ${all.length} timetables`); + return; + } + } catch (err) { + log(` [timetables] Official API failed: ${err.message}`); + } + log(" [timetables] Falling back to community EDR..."); + const trainsResp = await cachedFetchJson( + `${PANEL_BASE}/trains-open?serverCode=${TIMETABLE_SERVER}`, + `trains_${TIMETABLE_SERVER}.json`, + ); + const trainList = trainsResp.data || []; + const all = []; + await pool(trainList, 20, async (train) => { + try { + const res = await fetch( + `${EDR_COMMUNITY_BASE}/train/${TIMETABLE_SERVER}/${train.TrainNoLocal}`, + { headers: { "User-Agent": USER_AGENT } }, + ); + if (!res.ok) return; + const tt = await res.json(); + if (Array.isArray(tt) && tt.length > 0) { + all.push({ trainNo: train.TrainNoLocal, timetable: tt }); + } + } catch { + // skip + } + }); + fs.writeFileSync(cachePath, JSON.stringify(all)); + log(` [timetables] Community EDR: ${all.length} timetables`); + })(); + + const { wikiMapData, stationCoords, knownStations, routeFeatures } = + await wikiPromise; + await timetablesPromise; + + // Supplement station coordinates with local files and the SimRail API. + // The wiki station list (161 stations) doesn't include all timetable stops + // (e.g. Pruszków, Grodzisk Mazowiecki, Sprowa, Korytów). These are available + // from the local stations.json/stationsRemote.json files and the stations-open API. + log("Step 1b: Supplement station coordinates from local files + API"); + const localBundled = JSON.parse( + fs.readFileSync( + path.join(__dirname, "..", "components", "stations.json"), + "utf8", + ), + ); + const localRemote = JSON.parse( + fs.readFileSync( + path.join(__dirname, "..", "components", "stationsRemote.json"), + "utf8", + ), + ); + for (const s of [...localBundled, ...localRemote]) { + if (s.Name && s.Latititude && s.Longitude) { + const norm = normalizeName(s.Name); + if (!stationCoords.has(norm)) { + stationCoords.set(norm, [s.Latititude, s.Longitude]); + knownStations.add(norm); + } + } + } + + const serversResp = await cachedFetchJson( + `${PANEL_BASE}/servers-open`, + "servers.json", + ); + const servers = serversResp.data.filter((s) => s.IsActive); + for (const server of servers) { + try { + const resp = await cachedFetchJson( + `${PANEL_BASE}/stations-open?serverCode=${server.ServerCode}`, + `stations_${server.ServerCode}.json`, + ); + if (resp.data) { + for (const s of resp.data) { + if (s.Name && s.Latititude && s.Longitude) { + const norm = normalizeName(s.Name); + if (!stationCoords.has(norm)) { + stationCoords.set(norm, [s.Latititude, s.Longitude]); + knownStations.add(norm); + } + } + } + } + } catch { + // skip + } + } + log(` Total stations with coords: ${stationCoords.size}`); + + // ======================================================================== + // Step 2: Collect segments from timetables + // ======================================================================== + // A "segment" is a pair of consecutive stops that both have coordinates. + // Stops without coordinates (signal boxes, off-map stations) are skipped, + // and the surrounding resolvable stops are connected directly. + + log("Step 2: Collect segments from timetables"); + const allTimetables = JSON.parse( + fs.readFileSync(path.join(CACHE_DIR, "all_timetables.json"), "utf8"), + ); + + const wikiStationList = wikiMapData.stations; + + /** + * Resolves a raw station name to a normalized name with coordinates. + * First tries exact match, then fuzzy "contains" matching against the + * wiki station list (e.g. "Warszawa Główna Towarowa" matches + * "Warszawa Główna Towarowa WOA"). + */ + function resolveStationCoords(rawName) { + const norm = normalizeName(rawName); + if (stationCoords.has(norm)) return norm; + for (const ws of wikiStationList) { + const sn = normalizeName(ws.name); + if (sn.includes(norm) || norm.includes(sn)) { + const c = stationCoords.get(sn); + if (c) { + stationCoords.set(norm, c); + knownStations.add(norm); + return norm; + } + } + } + return null; + } + + const segments = new Map(); + for (const tt of allTimetables) { + const entries = tt.timetable; + if (!Array.isArray(entries)) continue; + let lastResolved = -1; + for (let i = 0; i < entries.length; i++) { + const name = entries[i].nameOfPoint || entries[i].nameForPerson; + if (!name) continue; + const resolved = resolveStationCoords(name); + const hasCoords = !!resolved; + if (hasCoords && lastResolved >= 0 && lastResolved !== i) { + const fromName = + entries[lastResolved].nameOfPoint || + entries[lastResolved].nameForPerson; + const fromResolved = + resolveStationCoords(fromName) || normalizeName(fromName); + const key = `${fromResolved}|${resolved}`; + const line = Number(entries[lastResolved].line) || 0; + const toLine = Number(entries[i].line) || 0; + // Collect ALL line numbers between the from and to stops + // (including skipped intermediate stops). This ensures the + // A* prefers the correct connecting lines even when intermediate + // stops without coordinates are skipped. + const allLines = new Set(); + if (line > 0) allLines.add(String(line)); + if (toLine > 0) allLines.add(String(toLine)); + for (let j = lastResolved + 1; j < i; j++) { + const midLine = Number(entries[j]?.line) || 0; + if (midLine > 0) allLines.add(String(midLine)); + } + if (!segments.has(key)) { + segments.set(key, { + key, + from: fromName, + to: name, + line: line > 0 ? String(line) : null, + toLine: toLine > 0 ? String(toLine) : null, + toLineWas0: toLine === 0, + allLines: [...allLines], + label: `${fromName} → ${name}`, + }); + } else { + const existing = segments.get(key); + for (const l of allLines) { + if (!existing.allLines.includes(l)) { + existing.allLines.push(l); + } + } + } + } + if (hasCoords) lastResolved = i; + } + } + log(` Unique segments: ${segments.size}`); + + // Prepare work segments: replace station names with coordinates. + const workSegments = []; + let noCoordsCount = 0; + for (const seg of segments.values()) { + const fromCoord = stationCoords.get(normalizeName(seg.from)); + const toCoord = stationCoords.get(normalizeName(seg.to)); + if (!fromCoord || !toCoord) { + noCoordsCount++; + continue; + } + seg.from = fromCoord; + seg.to = toCoord; + workSegments.push(seg); + } + log(` Work segments: ${workSegments.length} (skipped ${noCoordsCount})`); + + // Build a set of line numbers that exist in the wiki route data. + // Used to skip segments whose timetable line number doesnt correspond + // to any wiki track (e.g. line 131 in the timetable corresponds to + // wiki LK543/LK542, not LK131). + const wikiLineNumbers = new Set(); + for (const r of wikiMapData.routes) { + const match = r.name.match(/^LK(\d+)$/); + if (match) wikiLineNumbers.add(match[1]); + } + + // ======================================================================== + // Step 3: Compute A* routes + // ======================================================================== + // Build two rail graphs from wiki route features: + // - graphAvail: only available (drivable) tracks + // - graphFull: all tracks (available + not-available) + // For each segment, try A* on graphAvail first. If a path is found, the + // entire segment is green (no availability classification needed). If no + // path exists on available tracks, fall back to graphFull and classify + // per-point availability (may produce red sub-segments). + + log("Step 3: Compute A* routes"); + + // Factory: builds nearest-node finder, line-membership table, preferred-line + // snap function, and A* router for a given graph. + function makeGraphHelpers(g) { + const nearest = makeNearestNode(g, 0.02, SNAP_MAX_KM); + const router = makeRouter(g); + + const nLines = new Map(); + for (let u = 0; u < g.coords.length; u++) { + for (let p = g.start[u]; p < g.start[u + 1]; p++) { + const e = g.adjEdge[p]; + const refs = g.erefs[e]; + if (!refs) continue; + for (const r of refs) { + if (!nLines.has(r)) { + nLines.set(r, new Uint8Array(g.coords.length)); + } + nLines.get(r)[u] = 1; + } + } + } + + const pGrids = new Map(); + const GRID = 0.02; + function snap(point, preferredLine) { + const global = nearest(point); + if (!preferredLine || global.distKm > SNAP_MAX_KM) return global; + const hasLine = nLines.get(preferredLine); + if (!hasLine) return global; + if (hasLine[global.index]) return global; + + if (!pGrids.has(preferredLine)) { + const grid = new Map(); + for (let i = 0; i < g.coords.length; i++) { + if (!hasLine[i]) continue; + const [nlat, nlon] = g.coords[i]; + const key = `${Math.floor(nlat / GRID)},${Math.floor(nlon / GRID)}`; + if (!grid.has(key)) grid.set(key, []); + grid.get(key).push(i); + } + pGrids.set(preferredLine, grid); + } + const grid = pGrids.get(preferredLine); + + const [lat, lon] = point; + const cx = Math.floor(lat / GRID); + const cy = Math.floor(lon / GRID); + let bestIdx = -1; + let bestDist = Infinity; + for (let r = 0; r <= 10; r++) { + for (let dx = -r; dx <= r; dx++) { + for (let dy = -r; dy <= r; dy++) { + if (r > 0 && Math.abs(dx) !== r && Math.abs(dy) !== r) continue; + const cell = grid.get(`${cx + dx},${cy + dy}`); + if (!cell) continue; + for (const idx of cell) { + const d = haversineKm(g.coords[idx], point); + if (d < bestDist) { + bestDist = d; + bestIdx = idx; + } + } + } + } + if (bestIdx >= 0 && bestDist < SNAP_MAX_KM) break; + } + if (bestIdx >= 0 && bestDist < SNAP_MAX_KM) { + return { index: bestIdx, distKm: bestDist }; + } + return global; + } + + return { + snap, + router, + graph: g, + nodeHasLine: (nodeIdx, lineNo) => { + const hl = nLines.get(lineNo); + return hl ? hl[nodeIdx] === 1 : false; + }, + }; + } + + const graphAvail = buildGraphFromRoutes( + routeFeatures.filter((f) => f.available), + ); + const graphFull = buildGraphFromRoutes(routeFeatures); + const helpersAvail = makeGraphHelpers(graphAvail); + const helpersFull = makeGraphHelpers(graphFull); + log( + ` Graph avail: ${graphAvail.coords.length} nodes, full: ${graphFull.coords.length} nodes`, + ); + + const routeSegments = {}; + const segmentLines = {}; + const segmentUsedFullGraph = new Set(); + let computed = 0; + let fallback = 0; + let computedAvail = 0; + let computedFull = 0; + + // Try to route a segment on a given graph (helpers). Returns encoded polyline + // or null. Handles snapping, A* with line preference, fallbacks, and detour guard. + function tryRoute(seg, helpers) { + const { snap, router, graph } = helpers; + const lines = seg.allLines || [seg.line, seg.toLine].filter(Boolean); + + const fromSnap = snap(seg.from, seg.line); + const toSnap = snap(seg.to, seg.toLine); + + if ( + fromSnap.index < 0 || + toSnap.index < 0 || + fromSnap.distKm > SNAP_MAX_KM || + toSnap.distKm > SNAP_MAX_KM + ) { + return null; + } + + // If the from-stop originally had line 0 (we borrowed the to-line), + // verify that the from-stop actually snapped to the preferred line. + // If it snapped to a different line's tracks (e.g. Jęzor snaps to + // LK171 instead of LK163), the from-stop is off the drivable network + // and the segment should be skipped. + if (seg.fromHadLine0) { + const hasLine = helpers.nodeHasLine?.(fromSnap.index, seg.line); + if (!hasLine) return null; + } + + const straightKm = haversineKm(seg.from, seg.to); + let pathIndices = null; + + // Helper: compute total path distance (from-station → path → to-station). + function pathKmOf(indices) { + let total = 0; + let prev = seg.from; + for (const idx of indices) { + total += haversineKm(prev, graph.coords[idx]); + prev = graph.coords[idx]; + } + total += haversineKm(prev, seg.to); + return total; + } + + // Helper: reject paths with excessive detour. The threshold scales + // with distance: short segments (where rail curves add proportionally + // more distance) get a more lenient allowance via an absolute bonus. + // maxPathKm = straightKm * 2 + 5 (5km absolute bonus, 2× ratio) + // So a 1.25km segment allows up to 7.5km, while a 85km segment + // allows up to 175km. This accommodates real rail routes that zigzag + // through junctions (e.g. Płyćwia→Bełchów via Skierniewice is 22.6km + // for 12km straight). + function acceptPath(indices) { + if (!indices || indices.length < 2) return false; + if (straightKm > 0) { + const maxPathKm = straightKm * 2 + 5; + if (pathKmOf(indices) > maxPathKm) return false; + } + return true; + } + + // Helper: verify the path only uses lines listed in the timetable. + // Edges with no line ref (snap/connector edges) are always allowed. + // If the A* uses lines not in the timetable (e.g. LK1 when the + // timetable says LK3), the wiki doesn't have the correct tracks for + // this segment and the route should be shown as grey instead. + const timetableLines = new Set(lines); + function usesOnlyTimetableLines(indices, allowedLines) { + if (!indices) return false; + for (let i = 0; i < indices.length - 1; i++) { + for ( + let p = graph.start[indices[i]]; + p < graph.start[indices[i] + 1]; + p++ + ) { + if (graph.adjOther[p] !== indices[i + 1]) continue; + const refs = graph.erefs[graph.adjEdge[p]]; + if (!refs || refs.length === 0) continue; // connector edge + for (const r of refs) { + if (!allowedLines.has(r)) return false; + } + break; + } + } + return true; + } + + // Try A* with from-stop's line, then to-stop's line. + if (seg.line && wikiLineNumbers.has(seg.line)) { + const p = router(fromSnap.index, toSnap.index, seg.line); + if (acceptPath(p) && usesOnlyTimetableLines(p, timetableLines)) + pathIndices = p; + } + if (!pathIndices && seg.toLine && wikiLineNumbers.has(seg.toLine)) { + const p = router(fromSnap.index, toSnap.index, seg.toLine); + if (acceptPath(p) && usesOnlyTimetableLines(p, timetableLines)) + pathIndices = p; + } + // Try with all lines (for multi-line segments). + if (!pathIndices && lines.length > 0) { + const p = router(fromSnap.index, toSnap.index, lines); + if (acceptPath(p) && usesOnlyTimetableLines(p, timetableLines)) + pathIndices = p; + } + + // Fallback: unconstrained A* with detour guard. + if (!pathIndices) { + const p = router(fromSnap.index, toSnap.index, null); + if (acceptPath(p) && usesOnlyTimetableLines(p, timetableLines)) + pathIndices = p; + } + + if (!pathIndices || pathIndices.length < 2) return null; + + // Use the A* path as-is — snapped nodes are already on the track. + const points = pathIndices.map((idx) => graph.coords[idx]); + + // Remove backtracking points (Z-shaped edges) throughout the path. + let changed = true; + while (changed && points.length > 2) { + changed = false; + for (let j = 1; j < points.length - 1; j++) { + const a = points[j - 1], + b = points[j], + c = points[j + 1]; + const dot = + (b[0] - a[0]) * (c[0] - b[0]) + (b[1] - a[1]) * (c[1] - b[1]); + if (dot < 0) { + points.splice(j, 1); + changed = true; + break; + } + } + } + + return encodePolyline(points); + } + + for (let i = 0; i < workSegments.length; i++) { + const seg = workSegments[i]; + const lines = seg.allLines || [seg.line, seg.toLine].filter(Boolean); + + // Skip segments whose lines don't exist in wiki route data. + const hasWikiLine = lines.some((l) => wikiLineNumbers.has(l)); + if (!hasWikiLine) { + segmentLines[seg.key] = seg.line || seg.toLine || null; + continue; + } + // If from-stop has no line number (line 0), use the to-stop's line. + // The from-stop is often a terminus with line 0 because it has no + // departure line. The to-stop's line is the actual running line. + // However, if the from-stop is too far from the to-line's tracks, + // it is off the drivable network (e.g. Jęzor is 4.5km from LK163) + // and the segment is skipped to avoid routing via wrong tracks. + if (!seg.line && seg.toLine) { + seg.line = seg.toLine; + seg.fromHadLine0 = true; + } + // Skip if neither from nor to line exists in wiki (both line 0). + if (!seg.line) { + segmentLines[seg.key] = null; + continue; + } + // If the to-stop's line doesn't exist in wiki, clear it so it's not + // used as a preferred line. The segment can still be routed using + // the from-stop's line (e.g. LK64 exists but LK61 doesn't in wiki). + if (seg.toLine && !wikiLineNumbers.has(seg.toLine)) { + seg.toLine = null; + } + // Skip if to-stop originally had line 0 (no line number). A to-stop + // with no line number means the train enters a non-drivable area + // (e.g. beyond Maczki toward Jęzor). + if (seg.toLineWas0) { + segmentLines[seg.key] = seg.line; + continue; + } + + // Try available-only graph first (produces all-green paths). + let encoded = tryRoute(seg, helpersAvail); + let usedFull = false; + + // Fall back to full graph if no available path exists. + if (!encoded) { + encoded = tryRoute(seg, helpersFull); + usedFull = true; + } + + if (!encoded) { + fallback++; + segmentLines[seg.key] = seg.line; + continue; + } + + routeSegments[seg.key] = encoded; + segmentLines[seg.key] = seg.line || seg.allLines?.[0] || null; + if (usedFull) segmentUsedFullGraph.add(seg.key); + computed++; + if (usedFull) computedFull++; + else computedAvail++; + } + log( + ` Computed: ${computed} (avail: ${computedAvail}, full: ${computedFull}), Fallback: ${fallback}`, + ); + + // ======================================================================== + // Step 4: Compute per-segment availability from wiki track data + // ======================================================================== + // Some lines have both drivable and non-drivable sections (e.g. LK1 has + // a non-drivable gap between Myszków and Rozprza). We classify each + // segment by sampling points along its path and voting: closer to + // available tracks → green, closer to not-available tracks → red. + + log("Step 4: Compute per-segment availability"); + + // Load available and not-available track geometries per line. + const lineAvailableFeatures = {}; + const lineNotAvailableFeatures = {}; + for (const routeEntry of wikiMapData.routes) { + const match = routeEntry.name.match(/^LK(\d+)$/); + if (!match) continue; + const lineNo = match[1]; + const isAvailable = routeEntry.available !== false; + const cacheName = `wiki_route_${routeEntry.name.replace(/[^a-zA-Z0-9]/g, "_")}_${isAvailable ? "avail" : "notavail"}.json`; + try { + const gj = JSON.parse( + fs.readFileSync(path.join(CACHE_DIR, cacheName), "utf8"), + ); + const target = isAvailable + ? lineAvailableFeatures + : lineNotAvailableFeatures; + if (!target[lineNo]) target[lineNo] = []; + for (const f of gj.features || []) { + const g = f.geometry; + if (!g) continue; + let lines = []; + if (g.type === "LineString") lines = [g.coordinates]; + else if (g.type === "MultiLineString") lines = g.coordinates; + else continue; + for (const line of lines) { + if (line.length >= 2) { + target[lineNo].push(line.map((c) => [c[1], c[0]])); + } + } + } + } catch { + // skip + } + } + log( + ` Available lines: ${Object.keys(lineAvailableFeatures).length}, Not-available lines: ${Object.keys(lineNotAvailableFeatures).length}`, + ); + + // Distance from a point to a LineString (km), using equirectangular projection. + function distToLineKm(point, line) { + let min = Infinity; + const cosLat = Math.cos((point[0] * Math.PI) / 180); + const px = point[1] * cosLat * 111.32; + const py = point[0] * 111.32; + for (let i = 0; i < line.length - 1; i++) { + const ax = line[i][1] * cosLat * 111.32; + const ay = line[i][0] * 111.32; + const bx = line[i + 1][1] * cosLat * 111.32; + const by = line[i + 1][0] * 111.32; + const dx = bx - ax; + const dy = by - ay; + const len2 = dx * dx + dy * dy; + let t = len2 === 0 ? 0 : ((px - ax) * dx + (py - ay) * dy) / len2; + t = Math.max(0, Math.min(1, t)); + const fx = px - (ax + t * dx); + const fy = py - (ay + t * dy); + min = Math.min(min, Math.sqrt(fx * fx + fy * fy)); + } + return min; + } + + // Decode Google Encoded Polyline to [lat, lon] points. + function decodePolyline(str) { + let idx = 0; + let lat = 0; + let lon = 0; + const pts = []; + while (idx < str.length) { + let shift = 0; + let result = 0; + let byte; + do { + byte = str.charCodeAt(idx++) - 63; + result |= (byte & 0x1f) << shift; + shift += 5; + } while (byte >= 0x20); + lat += result & 1 ? ~(result >> 1) : result >> 1; + shift = 0; + result = 0; + do { + byte = str.charCodeAt(idx++) - 63; + result |= (byte & 0x1f) << shift; + shift += 5; + } while (byte >= 0x20); + lon += result & 1 ? ~(result >> 1) : result >> 1; + pts.push([lat / 1e5, lon / 1e5]); + } + return pts; + } + + // Classify each segment: determine availability (green/red) at each point + // along the path, and store color boundaries as [startIndex, colorCode] + // pairs. colorCode: 0=green, 1=red, 2=grey (no wiki data). + // The runtime decodes the full polyline from "segments" and splits it + // at these boundaries, avoiding duplicate polyline data. + // + // For segments with no wiki track data, a single grey entry [0, 2] is stored. + const segmentColors = {}; + let availCount = 0; + let notAvailCount = 0; + for (const [key, encoded] of Object.entries(routeSegments)) { + // Segments routed on the available-only graph are entirely green. + if (!segmentUsedFullGraph.has(key)) { + segmentColors[key] = [[0, 0]]; + availCount++; + continue; + } + + const line = segmentLines[key]; + const availTracks = line ? lineAvailableFeatures[line] || [] : []; + const notAvailTracks = line ? lineNotAvailableFeatures[line] || [] : []; + + // No wiki track data for this line — mark as grey. + if (availTracks.length === 0 && notAvailTracks.length === 0) { + segmentColors[key] = [[0, 2]]; + continue; + } + // No not-available tracks — entirely green. + if (notAvailTracks.length === 0) { + segmentColors[key] = [[0, 0]]; + availCount++; + continue; + } + + // Decode the polyline and classify each point. + const pts = decodePolyline(encoded); + const pointColors = pts.map((pt) => { + let minAvail = Infinity; + for (const track of availTracks) { + const d = distToLineKm(pt, track); + if (d < minAvail) minAvail = d; + if (minAvail < 0.05) break; + } + let minNotAvail = Infinity; + for (const track of notAvailTracks) { + const d = distToLineKm(pt, track); + if (d < minNotAvail) minNotAvail = d; + if (minNotAvail < 0.05) break; + } + if (minAvail > 0.05 && minNotAvail < 0.2) return 1; // red + return 0; // green + }); + + // Build boundary list: [startIndex, colorCode] at each color change. + const boundaries = [[0, pointColors[0]]]; + for (let i = 1; i < pointColors.length; i++) { + if (pointColors[i] !== pointColors[i - 1]) { + boundaries.push([i, pointColors[i]]); + if (pointColors[i - 1] === 0) availCount++; + else notAvailCount++; + } + } + // Count the last segment. + if (pointColors[pointColors.length - 1] === 0) availCount++; + else notAvailCount++; + + segmentColors[key] = boundaries; + } + log( + ` Available sub-segments: ${availCount}, Not available: ${notAvailCount}`, + ); + + // ======================================================================== + // Step 5: Write output + // ======================================================================== + log("Step 5: Write output"); + const output = { + version: 1, + knownStations: [...knownStations], + stations: Object.fromEntries(stationCoords), + segments: routeSegments, + segmentColors, + }; + const json = JSON.stringify(output); + fs.writeFileSync(OUTPUT_PATH, json); + log(` Written ${OUTPUT_PATH} (${(json.length / 1024).toFixed(0)} KB)`); + log(`Done in ${((Date.now() - t0) / 1000).toFixed(1)}s`); +} + +main().catch((err) => { + console.error("FATAL:", err); + process.exit(1); +}); diff --git a/packages/map/scripts/rail-helpers.mjs b/packages/map/scripts/rail-helpers.mjs new file mode 100644 index 0000000..60baf8e --- /dev/null +++ b/packages/map/scripts/rail-helpers.mjs @@ -0,0 +1,712 @@ +/** + * rail-helpers.mjs — Shared utilities for the rail route data generator. + * + * This module provides the core algorithms used by the generator: + * - Name normalization (for matching station names across data sources) + * - Haversine distance (great-circle distance between two lat/lon points) + * - Douglas-Peucker line simplification (reduces polyline point count) + * - Google Encoded Polyline format (compact string encoding of coordinates) + * - Convex hull (Andrew's monotone chain algorithm) + * - Rail graph construction from GeoJSON route features + * - Spatial grid index for fast nearest-node queries + * - A* pathfinding with line-preference weighting + * + * All functions are pure and stateless (except makeRouter/makeNearestNode + * which return closures with pre-allocated buffers for performance). + */ + +/** + * Normalizes a station name for matching across different data sources. + * + * Different sources use different casing, whitespace, and Unicode forms: + * - SimRail API: "Warszawa Główna Towarowa" + * - Wiki interactive map: "Warszawa Główna Towarowa WOA" + * - Community EDR: "Warszawa Główna Towarowa" + * + * Normalization: Unicode NFC form → trim → collapse internal whitespace → lowercase. + * This allows exact-match lookups after normalization, and also helps with + * fuzzy "contains" matching (e.g. "warszawa główna towarowa" is contained in + * "warszawa główna towarowa woa"). + * + * @param {string} name - Raw station name from any source + * @returns {string} Normalized name + */ +export function normalizeName(name) { + return name.normalize("NFC").trim().replace(/\s+/g, " ").toLowerCase(); +} + +/** + * Haversine distance between two [lat, lon] points, in kilometers. + * + * Uses the haversine formula: a = sin²(Δlat/2) + cos(lat1)·cos(lat2)·sin²(Δlon/2) + * Distance = 2·R·arcsin(√a), where R = Earth radius (6371 km). + * + * This is used for: + * - Edge weights in the rail graph (distance between consecutive track points) + * - A* heuristic (straight-line distance to target — admissible, never overestimates) + * - Nearest-node snapping (finding the closest graph node to a station coordinate) + * - Detour detection (comparing A* path length vs straight-line distance) + * + * @param {[number, number]} a - [lat, lon] in decimal degrees + * @param {[number, number]} b - [lat, lon] in decimal degrees + * @returns {number} Distance in kilometers + */ +export function haversineKm(a, b) { + const R = 6371; + const dLat = ((b[0] - a[0]) * Math.PI) / 180; + const dLon = ((b[1] - a[1]) * Math.PI) / 180; + const la1 = (a[0] * Math.PI) / 180; + const la2 = (b[0] * Math.PI) / 180; + const h = + Math.sin(dLat / 2) ** 2 + + Math.cos(la1) * Math.cos(la2) * Math.sin(dLon / 2) ** 2; + return 2 * R * Math.asin(Math.sqrt(h)); +} + +/** + * Encodes a polyline as a Google Encoded Polyline string. + * + * This format encodes lat/lon deltas as variable-length signed integers using + * 5-bit groups (base64-like, shifted by 63 to avoid control characters). + * Precision: 5 decimal places (~1.1 meters). + * + * Algorithm per coordinate: + * 1. Round lat/lon to 5 decimal places + * 2. Compute delta from previous coordinate + * 3. Zigzag-encode: if negative, ~(v << 1); if positive, v << 1 + * (This interleaves positive/negative for compact varint encoding) + * 4. Split into 5-bit groups, output each as ASCII char (group | 0x20) + 63 + * (continuation bit + base64 offset). Last group has no continuation bit. + * + * @param {[number, number][]} points - Array of [lat, lon] points + * @returns {string} Encoded polyline string + */ +export function encodePolyline(points) { + let out = ""; + let plat = 0; // Previous rounded latitude (for delta encoding) + let plon = 0; // Previous rounded longitude + const enc = (v) => { + // Zigzag encoding: maps signed integers to unsigned for varint. + // 0→0, -1→1, 1→2, -2→3, 2→4, ... + v = v < 0 ? ~(v << 1) : v << 1; + let s = ""; + // Output 5-bit groups with continuation bit (0x20) until value fits in 5 bits. + while (v >= 0x20) { + s += String.fromCharCode((0x20 | (v & 0x1f)) + 63); + v >>= 5; + } + return s + String.fromCharCode(v + 63); // Last group: no continuation bit + }; + for (const [lat, lon] of points) { + const rlat = Math.round(lat * 1e5); // Round to 5 decimal places + const rlon = Math.round(lon * 1e5); + out += enc(rlat - plat) + enc(rlon - plon); // Encode deltas + plat = rlat; + plon = rlon; + } + return out; +} + +/** + * Decodes a Google Encoded Polyline string back to an array of [lat, lon] points. + * + * Reverses the encoding: reads 5-bit groups, reconstructs zigzag-decoded deltas, + * accumulates them to get absolute coordinates, and divides by 1e5. + * + * @param {string} str - Encoded polyline string + * @returns {[number, number][]} Array of [lat, lon] points + */ +export function decodePolyline(str) { + let idx = 0; + let lat = 0; + let lon = 0; + const pts = []; + while (idx < str.length) { + // Decode one varint (latitude delta) + let shift = 0; + let result = 0; + let byte; + do { + byte = str.charCodeAt(idx++) - 63; + result |= (byte & 0x1f) << shift; + shift += 5; + } while (byte >= 0x20); // Continue bit set + // Zigzag decode: if LSB is 1, value is negative + lat += result & 1 ? ~(result >> 1) : result >> 1; + + // Decode one varint (longitude delta) + shift = 0; + result = 0; + do { + byte = str.charCodeAt(idx++) - 63; + result |= (byte & 0x1f) << shift; + shift += 5; + } while (byte >= 0x20); + lon += result & 1 ? ~(result >> 1) : result >> 1; + + pts.push([lat / 1e5, lon / 1e5]); + } + return pts; +} + +/** + * Builds a rail graph from wiki route GeoJSON features. + * + * The graph is stored in CSR (Compressed Sparse Row) format for cache-efficient + * A* traversal. Each node is a unique [lat, lon] coordinate, and each edge + * connects two consecutive points in a LineString. + * + * The wiki provides track geometry as GeoJSON LineString features, where each + * feature represents a section of track belonging to a specific line (e.g. LK4, + * LK1). These LineStrings are OSM ways — sequences of [lon, lat] coordinates. + * + * Two types of edges are created: + * 1. Track edges: consecutive points within a LineString, tagged with the + * line number(s) from the route name (e.g. "LK4" → refs=["4"]). + * 2. Proximity snap edges: edges between nodes that are within 15 meters of + * each other but not connected by any LineString. These bridge gaps where + * OSM ways share a physical location but have slightly different + * coordinates (e.g. a track that was remapped). Snap edges have refs=[] + * (no line association). + * + * CSR format explanation: + * - coords: Array of [lat, lon] — one per node + * - start: Int32Array(nodeCount + 1) — start[u] to start[u+1] is the range + * of adjacency entries for node u (prefix sum of node degrees) + * - adjEdge: Int32Array — edge index for each adjacency entry + * - adjOther: Int32Array — the other endpoint of each adjacency entry + * - adjDist: Float64Array — edge distance (km) for each adjacency entry + * - erefs: Array — line number(s) associated with each edge + * + * @param {Array<{geometry: object, refs: string[]}>} routeFeatures - GeoJSON features + * @returns {object} Graph in CSR format + */ +export function buildGraphFromRoutes(routeFeatures) { + // Deduplicate coordinates: many LineStrings share the same physical points + // (e.g. at junctions). We use a Map keyed by "lat,lon" (6 decimal places) + // to assign each unique coordinate a node index. + const coordIndex = new Map(); + const coords = []; + const resolveCoord = (lat, lon) => { + const key = `${lat.toFixed(6)},${lon.toFixed(6)}`; + let i = coordIndex.get(key); + if (i === undefined) { + i = coords.length; + coordIndex.set(key, i); + coords.push([lat, lon]); + } + return i; + }; + + // Build edge lists from LineString features. + // Each consecutive pair of coordinates in a LineString becomes an edge. + // We also track which nodes are LineString endpoints (first and last + // points) for the secondary endpoint-snap pass below. + const ea = []; // Edge endpoint A (node index) + const eb = []; // Edge endpoint B (node index) + const ed = []; // Edge distance (km, via haversine) + const erefs = []; // Edge line refs (e.g. ["4"] for LK4) + const endpointNodes = new Set(); // Node indices that are LineString endpoints + + for (const feat of routeFeatures) { + const refs = feat.refs || []; + let lines = []; + const g = feat.geometry; + if (!g) continue; + if (g.type === "LineString") lines = [g.coordinates]; + else if (g.type === "MultiLineString") lines = g.coordinates; + else continue; // Skip Points, Polygons, etc. + + for (const line of lines) { + if (line.length === 0) continue; + // Mark first and last coordinates as endpoints. + const firstIdx = resolveCoord(line[0][1], line[0][0]); + endpointNodes.add(firstIdx); + if (line.length > 1) { + const lastC = line[line.length - 1]; + const lastIdx = resolveCoord(lastC[1], lastC[0]); + endpointNodes.add(lastIdx); + } + + let prevIdx = -1; + for (const c of line) { + // GeoJSON coordinates are [lon, lat]; resolveCoord expects (lat, lon) + const i = resolveCoord(c[1], c[0]); + if (prevIdx >= 0 && prevIdx !== i) { + ea.push(prevIdx); + eb.push(i); + ed.push(haversineKm(coords[prevIdx], coords[i])); + erefs.push(refs); + } + prevIdx = i; + } + } + } + + // Proximity snapping: connect nodes that are within 15 meters of each other + // but not connected by any LineString. This bridges gaps in the OSM data + // where ways share a physical point but have slightly different coordinates + // (e.g. after a remap or when ways from different line routes meet). + // + // Uses a spatial grid (cell size ~0.005° ≈ 555m) to avoid O(n²) comparison. + // For each node, checks the 3×3 neighborhood of grid cells. + const snapToleranceKm = 0.015; // 15 meters + const snapGridSize = 0.005; // ~555m grid cells + const snapGrid = new Map(); + for (let i = 0; i < coords.length; i++) { + const [lat, lon] = coords[i]; + const key = `${Math.floor(lat / snapGridSize)},${Math.floor(lon / snapGridSize)}`; + let cell = snapGrid.get(key); + if (!cell) { + cell = []; + snapGrid.set(key, cell); + } + cell.push(i); + } + + // For each node, check neighboring cells for close nodes. + // Use a Set to avoid duplicate edges (pair i,j is only added once). + const snapEdges = new Set(); + for (let i = 0; i < coords.length; i++) { + const [lat, lon] = coords[i]; + const cx = Math.floor(lat / snapGridSize); + const cy = Math.floor(lon / snapGridSize); + for (let dx = -1; dx <= 1; dx++) { + for (let dy = -1; dy <= 1; dy++) { + const cell = snapGrid.get(`${cx + dx},${cy + dy}`); + if (!cell) continue; + for (const j of cell) { + if (j <= i) continue; // Only check j > i to avoid duplicates + const d = haversineKm(coords[i], coords[j]); + if (d <= snapToleranceKm && d > 0) { + const ek = `${Math.min(i, j)}|${Math.max(i, j)}`; + if (!snapEdges.has(ek)) { + snapEdges.add(ek); + ea.push(i); + eb.push(j); + ed.push(d); + erefs.push([]); // Snap edges have no line association + } + } + } + } + } + } + + // Secondary endpoint-snap pass: connect LineString endpoints to nearby + // nodes within a larger tolerance (500m). This bridges gaps in the wiki + // GeoJSON data where a LineString is split into fragments with ~100-300m + // gaps between them (e.g. LK139 near Brynów has a 257m gap). + // + // Only endpoints are considered (not mid-track nodes), so this does NOT + // connect parallel tracks (which have close mid-track nodes but distant + // endpoints). Each endpoint is connected to its single nearest non-adjacent + // node within tolerance, avoiding a flood of spurious edges. + const endpointToleranceKm = 0.5; // 500 meters + const epGridSize = 0.005; // ~555m grid cells (reuse same size) + const epGrid = new Map(); + for (let i = 0; i < coords.length; i++) { + if (!endpointNodes.has(i)) continue; + const [lat, lon] = coords[i]; + const key = `${Math.floor(lat / epGridSize)},${Math.floor(lon / epGridSize)}`; + let cell = epGrid.get(key); + if (!cell) { + cell = []; + epGrid.set(key, cell); + } + cell.push(i); + } + // Build a grid of ALL nodes for lookup (endpoint → nearest any-node). + const allGrid = new Map(); + for (let i = 0; i < coords.length; i++) { + const [lat, lon] = coords[i]; + const key = `${Math.floor(lat / epGridSize)},${Math.floor(lon / epGridSize)}`; + let cell = allGrid.get(key); + if (!cell) { + cell = []; + allGrid.set(key, cell); + } + cell.push(i); + } + // Track existing adjacency to avoid duplicate edges. + const adjSet = new Set(); + for (let e = 0; e < ea.length; e++) { + adjSet.add(`${Math.min(ea[e], eb[e])}|${Math.max(ea[e], eb[e])}`); + } + for (const i of endpointNodes) { + const [lat, lon] = coords[i]; + const cx = Math.floor(lat / epGridSize); + const cy = Math.floor(lon / epGridSize); + let bestJ = -1; + let bestDist = Infinity; + for (let dx = -1; dx <= 1; dx++) { + for (let dy = -1; dy <= 1; dy++) { + const cell = allGrid.get(`${cx + dx},${cy + dy}`); + if (!cell) continue; + for (const j of cell) { + if (j === i) continue; + const ek = `${Math.min(i, j)}|${Math.max(i, j)}`; + if (adjSet.has(ek)) continue; + const d = haversineKm(coords[i], coords[j]); + if (d < bestDist) { + bestDist = d; + bestJ = j; + } + } + } + } + if (bestJ >= 0 && bestDist <= endpointToleranceKm) { + const ek = `${Math.min(i, bestJ)}|${Math.max(i, bestJ)}`; + adjSet.add(ek); + ea.push(i); + eb.push(bestJ); + ed.push(bestDist); + erefs.push([]); // Endpoint-snap edges have no line association + } + } + + // Build CSR (Compressed Sparse Row) adjacency structure. + // CSR stores all adjacency entries in flat arrays, with a prefix-sum index + // that gives the range [start[u], start[u+1]) of adjacency entries for node u. + // This is cache-efficient and allows fast iteration over a node's neighbors. + const nodeCount = coords.length; + const edgeCount = ea.length; + + // Step 1: Count the degree of each node (number of adjacency entries). + const degree = new Int32Array(nodeCount); + for (let e = 0; e < edgeCount; e++) { + degree[ea[e]]++; // Each undirected edge contributes to both endpoints + degree[eb[e]]++; + } + + // Step 2: Build the prefix-sum array. start[u] = offset where node u's + // adjacency entries begin. start[nodeCount] = total adjacency entries. + const start = new Int32Array(nodeCount + 1); + for (let i = 0; i < nodeCount; i++) start[i + 1] = start[i] + degree[i]; + + // Step 3: Fill adjacency arrays. cursor[u] tracks the current write position + // for node u's entries (starts at start[u], advances as edges are added). + // Each edge is added twice: once for endpoint A, once for endpoint B. + const cursor = Int32Array.from(start); // Copy of start, used as write cursors + const adjEdge = new Int32Array(edgeCount * 2); // Edge index for each adjacency + const adjOther = new Int32Array(edgeCount * 2); // Other endpoint node index + const adjDist = new Float64Array(edgeCount * 2); // Edge distance (km) + for (let e = 0; e < edgeCount; e++) { + // Add edge e to node ea[e]'s adjacency list + let p = cursor[ea[e]]++; + adjEdge[p] = e; + adjOther[p] = eb[e]; + adjDist[p] = ed[e]; + // Add edge e to node eb[e]'s adjacency list (undirected graph) + p = cursor[eb[e]]++; + adjEdge[p] = e; + adjOther[p] = ea[e]; + adjDist[p] = ed[e]; + } + + return { coords, start, adjEdge, adjOther, adjDist, erefs }; +} + +/** + * Creates a nearest-node finder function using a spatial grid index. + * + * Returns a closure that, given a [lat, lon] point, finds the nearest graph + * node within maxKm. Uses a grid of cells (size gridSize degrees) to avoid + * scanning all nodes — only checks cells in expanding rings around the query + * point until a node within maxKm is found. + * + * Preferred-line snapping: if preferredRefs is provided, the finder also tracks + * the nearest node that has at least one edge on a preferred line. If such a + * node is found within maxKm, it is returned instead of the global nearest. + * This ensures stations snap to the correct line's tracks at junctions where + * multiple lines meet (e.g. Warszawa Główna Towarowa is at the junction of + * LK1, LK3, and LK19 — we want to snap to LK19, not LK3). + * + * @param {object} graph - Graph from buildGraphFromRoutes() + * @param {number} gridSize - Grid cell size in degrees (default 0.02 ≈ 2.2km) + * @param {number} maxKm - Maximum snap distance in km (default 3.0) + * @param {string[]|null} preferredRefs - Line numbers to prefer (e.g. ["19", "1"]) + * @returns {function} (point: [lat, lon]) => { index: number, distKm: number } + */ +export function makeNearestNode( + graph, + gridSize = 0.02, + maxKm = 3.0, + preferredRefs = null, +) { + // Build spatial grid: each cell contains indices of nodes within that cell. + const grid = new Map(); + for (let i = 0; i < graph.coords.length; i++) { + const [lat, lon] = graph.coords[i]; + const key = `${Math.floor(lat / gridSize)},${Math.floor(lon / gridSize)}`; + let cell = grid.get(key); + if (!cell) { + cell = []; + grid.set(key, cell); + } + cell.push(i); + } + + // Precompute which nodes have at least one edge on a preferred line. + // This avoids checking edge refs on every query — we just check a bitmask. + const preferredSet = preferredRefs ? new Set(preferredRefs) : null; + const nodeHasPreferred = new Uint8Array(graph.coords.length); + if (preferredSet) { + for (let u = 0; u < graph.coords.length; u++) { + // Check all edges of node u for any preferred line ref. + for (let p = graph.start[u]; p < graph.start[u + 1]; p++) { + const e = graph.adjEdge[p]; + const refs = graph.erefs[e]; + if (refs && refs.some((r) => preferredSet.has(r))) { + nodeHasPreferred[u] = 1; + break; + } + } + } + } + + // The returned finder function. + return (point) => { + const [lat, lon] = point; + const cx = Math.floor(lat / gridSize); + const cy = Math.floor(lon / gridSize); + let bestIdx = -1; + let bestDist = Infinity; + let bestPreferredIdx = -1; + let bestPreferredDist = Infinity; + + // Expand search ring by ring until we find a node within maxKm. + // Ring r checks all cells at Chebyshev distance r from (cx, cy). + for (let r = 0; r <= 10; r++) { + for (let dx = -r; dx <= r; dx++) { + for (let dy = -r; dy <= r; dy++) { + // Only check cells on the ring boundary (skip interior, already checked). + if (r > 0 && Math.abs(dx) !== r && Math.abs(dy) !== r) continue; + const cell = grid.get(`${cx + dx},${cy + dy}`); + if (!cell) continue; + for (const idx of cell) { + const d = haversineKm(graph.coords[idx], point); + // Track global nearest + if (d < bestDist) { + bestDist = d; + bestIdx = idx; + } + // Track nearest preferred-line node + if ( + preferredSet && + nodeHasPreferred[idx] && + d < bestPreferredDist + ) { + bestPreferredDist = d; + bestPreferredIdx = idx; + } + } + } + } + // Stop expanding if we found a node within maxKm. + if (bestIdx >= 0 && bestDist < maxKm) break; + } + + // Return preferred node if available, otherwise global nearest. + if (preferredSet && bestPreferredIdx >= 0 && bestPreferredDist < maxKm) { + return { index: bestPreferredIdx, distKm: bestPreferredDist }; + } + return { index: bestIdx, distKm: bestDist }; + }; +} + +/** + * Creates an A* router function for the given graph. + * + * Returns a closure that finds the shortest path between two nodes using A* + * with a haversine distance heuristic (straight-line distance to target). + * + * Line preference: if lineFilter is provided (a string or array of strings), + * edges on those lines are traversed at normal cost, while edges on other + * lines are penalized with a 10x cost multiplier. This is NOT a hard filter — + * non-preferred edges are still allowed, which lets the router use connector + * tracks (e.g. LK3 junction tracks between LK19 and LK1 in Warsaw) when + * necessary, but minimizes their use. + * + * The router uses pre-allocated typed arrays for dist[], prev[], and done[] + * to avoid GC pressure on repeated queries. A "stamp" mechanism avoids + * resetting the done[] array between queries — each query increments the stamp, + * and a node is "visited" if done[u] === currentStamp. + * + * The binary heap is also pre-allocated and grows dynamically if needed. + * It stores [f, g, node] tuples, where f = g + h (estimated total cost), + * g = actual cost so far, h = heuristic (haversine to target). + * + * @param {object} graph - Graph from buildGraphFromRoutes() + * @returns {function} (startIdx, endIdx, lineFilter?) => number[] | null + */ +export function makeRouter(graph) { + const { coords, start, adjEdge, adjOther, adjDist, erefs } = graph; + const n = coords.length; + + // Pre-allocated arrays (reused across queries for performance) + const dist = new Float64Array(n); // Best-known cost to each node + const prev = new Int32Array(n); // Previous node in best-known path + const done = new Uint32Array(n); // "Visited" stamp (avoids reset between queries) + let stamp = 0; // Current query stamp + + // Binary min-heap, stored as parallel typed arrays for cache efficiency. + // heapF: f-score (estimated total cost = g + heuristic) + // heapG: g-score (actual cost so far) + // heapN: node index + let heapF = new Float64Array(4096); + let heapG = new Float64Array(4096); + let heapN = new Int32Array(4096); + let heapSize = 0; + + // Doubles the heap capacity when full (copy old data to new arrays). + const grow = () => { + const cap = heapF.length * 2; + const nf = new Float64Array(cap); + const ng = new Float64Array(cap); + const nn = new Int32Array(cap); + nf.set(heapF); + ng.set(heapG); + nn.set(heapN); + heapF = nf; + heapG = ng; + heapN = nn; + }; + + // Push a [f, g, node] entry into the heap and sift up. + // Standard binary heap: parent at (c-1)>>1, swap if child < parent. + const push = (f, g, node) => { + if (heapSize === heapF.length) grow(); + let c = heapSize++; + heapF[c] = f; + heapG[c] = g; + heapN[c] = node; + // Sift up: swap with parent while child's f-score is smaller. + while (c > 0) { + const p = (c - 1) >> 1; + if (heapF[p] <= heapF[c]) break; + // Swap all three arrays in parallel + const tf = heapF[p]; + heapF[p] = heapF[c]; + heapF[c] = tf; + const tg = heapG[p]; + heapG[p] = heapG[c]; + heapG[c] = tg; + const tn = heapN[p]; + heapN[p] = heapN[c]; + heapN[c] = tn; + c = p; + } + }; + + // Pop the minimum-f entry from the heap and sift down. + // Returns [f, g, node] — the entry with the smallest f-score. + const pop = () => { + const rf = heapF[0]; // Min entry (root of heap) + const rg = heapG[0]; + const rn = heapN[0]; + heapSize--; + if (heapSize > 0) { + // Move last entry to root and sift down. + heapF[0] = heapF[heapSize]; + heapG[0] = heapG[heapSize]; + heapN[0] = heapN[heapSize]; + let c = 0; + for (;;) { + const l = 2 * c + 1; // Left child index + const r = 2 * c + 2; // Right child index + let m = c; // Index of smallest f-score among c, l, r + if (l < heapSize && heapF[l] < heapF[m]) m = l; + if (r < heapSize && heapF[r] < heapF[m]) m = r; + if (m === c) break; // Heap property satisfied + // Swap with smallest child + const tf = heapF[m]; + heapF[m] = heapF[c]; + heapF[c] = tf; + const tg = heapG[m]; + heapG[m] = heapG[c]; + heapG[c] = tg; + const tn = heapN[m]; + heapN[m] = heapN[c]; + heapN[c] = tn; + c = m; + } + } + return [rf, rg, rn]; + }; + + /** + * Find shortest path from startIdx to endIdx. + * + * @param {number} startIdx - Source node index + * @param {number} endIdx - Target node index + * @param {string|string[]|null} lineFilter - Preferred line number(s). + * Edges on these lines have normal cost; other edges cost 10x more. + * If null, all edges have equal cost (standard A*). + * @returns {number[]|null} Array of node indices forming the path, or null + */ + return function route(startIdx, endIdx, lineFilter) { + stamp++; // New query → new stamp (done[] entries from previous queries are stale) + dist.fill(Infinity); + dist[startIdx] = 0; + prev[startIdx] = -1; // No predecessor for start node + heapSize = 0; + // Push start node with f = 0 + haversine(start, end) (A* heuristic) + push(haversineKm(coords[startIdx], coords[endIdx]), 0, startIdx); + + // Convert lineFilter to a Set for O(1) lookup. + // Accepts a single string or an array of strings. + const filterSet = Array.isArray(lineFilter) + ? new Set(lineFilter) + : lineFilter + ? new Set([lineFilter]) + : null; + + // Main A* loop: repeatedly pop the node with smallest f-score, + // relax its neighbors, and push updated entries. + while (heapSize > 0) { + const [, g, u] = pop(); // f, g, node (f not needed after pop) + if (done[u] === stamp) continue; // Already visited (stale heap entry) + done[u] = stamp; + if (u === endIdx) break; // Reached target + if (g > dist[u]) continue; // Stale entry (better path already found) + + // Iterate over all neighbors of u using CSR adjacency. + for (let p = start[u]; p < start[u + 1]; p++) { + const e = adjEdge[p]; // Edge index + const refs = erefs[e]; // Line number(s) for this edge + const v = adjOther[p]; // Other endpoint + if (done[v] === stamp) continue; // Already visited + + // Compute edge cost. Edges on preferred lines have normal cost. + // Edges on other lines (e.g. junction connectors) cost 10x more. + // This is a soft penalty, not a hard filter — non-preferred edges + // are still traversable, which allows the router to use connector + // tracks at junctions where two preferred lines don't directly meet. + let edgeCost = adjDist[p]; + if (filterSet && refs.length > 0) { + const onPreferred = refs.some((r) => filterSet.has(r)); + if (!onPreferred) edgeCost *= 10; + } + + const ng = g + edgeCost; // Actual cost to reach v via u + if (ng < dist[v]) { + // Found a better path to v + dist[v] = ng; + prev[v] = u; + // f = g + h, where h = haversine(v, end) (A* heuristic) + push(ng + haversineKm(coords[v], coords[endIdx]), ng, v); + } + } + } + + // Check if target was reached. + if (done[endIdx] !== stamp) return null; + + // Reconstruct path by following prev[] chain from target to source. + const pathIdx = []; + for (let u = endIdx; u !== -1; u = prev[u]) pathIdx.push(u); + pathIdx.reverse(); // Source → target order + return pathIdx; + }; +} diff --git a/packages/map/styles/TrainDetails.module.css b/packages/map/styles/TrainDetails.module.css index 51707ce..a3f024c 100644 --- a/packages/map/styles/TrainDetails.module.css +++ b/packages/map/styles/TrainDetails.module.css @@ -49,6 +49,8 @@ .route span { flex: 1; line-height: 1.35; } .route span:last-child { text-align: right; } .route i { color: var(--train-accent); font-style: normal; } +.trainToggles { display: flex; flex-direction: column; gap: 4px; margin: 8px 0 0; } +.routeLegend { display: flex; gap: 12px; margin: 0 0 2px 28px; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--train-subtle); } .stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 12px 0; overflow: hidden; border: 1px solid var(--train-border); border-radius: 9px; background: var(--train-divider); } .stats > div { display: flex; flex-direction: column; gap: 5px; padding: 10px 8px; background: var(--train-stat-background); } .stats span, .consist > span { color: var(--train-muted); font-size: 8px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; } From bc55017b976b1a75fb3de86844807ff8817ed86d Mon Sep 17 00:00:00 2001 From: Cosmin Polifronie Date: Sun, 30 Aug 2026 07:33:11 +0300 Subject: [PATCH 02/19] Fix issue where LK537 would not be able to be used as route --- packages/map/components/railData.json | 81 +++++++++++++-------- packages/map/scripts/generate-rail-data.mjs | 18 ++++- 2 files changed, 63 insertions(+), 36 deletions(-) diff --git a/packages/map/components/railData.json b/packages/map/components/railData.json index 9b1f8de..7d91776 100644 --- a/packages/map/components/railData.json +++ b/packages/map/components/railData.json @@ -549,9 +549,9 @@ "mysłowice wesoła": [50.231468011864564, 19.14592397227875] }, "segments": { - "warszawa grochów|warszawa wschodnia": "}p}}H_rs_CIHShAKl@c@`@RtANnAFZHt@R|AHl@Dl@Fp@Dp@Bl@Dr@BfA?DDhBFpD@V@n@DpAB|@FfAF|@Hx@Fj@Hj@Hl@@HLv@`@tBrBbKXrAVnAb@dB|AdG|@jDT~@jAtE|@tCv@rBp@`BRd@Zt@Vp@Xz@J^Rn@Pr@h@bCP|@XlBPlAr@`FzBdKlB~IpA`Gf@~BTfA`@nCd@tBZtAJb@HXN`@HTJTTh@Xj@VPTPJRNVLPLPNPLNPNTPLHPJNHRHFBXJTPVTNBTDTBTBpALTBTBP@P@P@VBV?X@", + "warszawa grochów|warszawa wschodnia": "}p}}H_rs_Ce@pCg@tCGb@If@Kt@Gp@El@Ef@?JCd@At@Ar@@n@?p@Bn@Br@^jIFlAFp@Ft@Hn@D^BNJr@Ln@Ll@Pl@Jb@N`@L`@L\\Vj@Xl@l@pALXN\\N`@L^Lf@Lf@^`BR~@Pp@@FXfAZnALf@Nf@Pj@Pj@Tp@Pp@n@`CLd@FZJh@Hd@FVJ`@Ld@TJAh@V~@J^Nd@J\\Tl@Df@IXTp@Xj@N^LZJ\\TEn@HXz@J^Rn@Pr@h@bCbANFXJh@Jh@\\|@~AtHxA~GXtANl@H^FZDVFb@d@`DCXD\\FZF^Fb@BTLx@Fd@Hb@z@`GHj@Hj@JL?`@Qd@CTJZFRHVLZHXN`@HTREPf@C\\TDN^JVTPJRNVLPLPNPLNPNTPLHPJNHRHFBXJTPVTNBTDTBTBpALTBTBP@P@P@VBV?X@", "warszawa wschodnia|warszawa centralna": "wg{}Hwam_CVJd@@zH@R?R?T@T@X@VBTDL@ZFPDXJVHVLRHVLVPTNVRRRXXRRTXV\\X`@FHXf@R\\Pb@Rb@Th@nGzO|FxNbBbEp@bBRd@Th@R^N\\NTPZNVRZhCnD`@n@V^LVFJVd@Xh@Zr@Rd@Rb@BHP^Rj@Ph@Nb@FPX|@Vz@T|@j@zBZnAXnAz@tDPp@Ll@Jd@Jj@Lp@rDzTJn@Jp@Lz@N`ALx@Jz@jHfk@Hn@Fj@Bh@Dj@@X@\\@^@n@?`@?b@A\\C~AA^Df@Ab@?^?^?b@@^Bd@@^BXB`@Fb@Dd@Fb@Fh@`@|CZdCtCzT|AzLHj@Fd@Jn@Lp@Lj@Jd@\\vAp@nC`@dBH^HZFXF^FZDZF`@D\\@n@XpB?@`@~CFb@", - "warszawa centralna|warszawa zachodnia": "wow}Hgpc_CDf@J`AJlALfBJ~@Df@Fj@BTFd@J~@~@fHRxAJv@PrAt@fFVbB\\zBD\\Hh@`@pCRrAj@jENfAx@dGRxANbALbAPhAJv@`@vCdAvH@FHd@Jv@Jv@Jv@Fh@Dh@Fr@VhCJ`AFn@B^D^DZDZHv@TbBh@rEh@lEZfCd@pDNnANjAbAdIJz@NjABRZhCZjC@BZdCJ`ANfATjBHl@Fb@Fb@Hr@F\\Fd@Hj@PnAPjAl@`EfAfH^fCb@tCT|Ah@jDBRn@hEF`@ZnBN~@Lp@Lp@Ln@", + "warszawa centralna|warszawa zachodnia": "wow}Hgpc_CDf@J`AJlALfBJ~@Ld@Dd@D`@@HPtA|@dHRxAHl@Jp@Hh@Jp@j@rDv@`FFZHh@`@pCTzAJn@Jn@V`BNfA~@nG`AtGd@`DtBtNNdAN|@Hd@F\\F^F\\P~@@FXxABRDTLr@Lx@Jx@\\hCNb@JTPlAGJBz@Fd@D`@Df@b@p@BNJt@Hh@ODHj@Af@F\\Fd@Fb@Hb@@ZLbA|@b@H`@H\\Lb@BXQZFTFTBTJRDRFVHVJb@Hb@FTF`@RVTFH^Hl@Hb@Fh@F^D\\h@jE_@PUJOHe@RWJLhAGd@jBjOFd@PD^Xv@vGa@`@Yf@H^Hd@Hd@D\\N`AVdBVx@T|A`@?L?Hl@D\\Hn@DZDTD`@Fb@Jp@CZDXBLRh@DTDXF^Hb@Hd@FXDZFZFZFXFXc@^", "warszawa zachodnia|warszawa włochy": "oxu}H{p{~BNl@Nr@l@`CDLHZj@|BRx@Nj@Pp@FVPr@FXHXFXFXFXPr@FZLn@BHJl@Lt@Lt@Lt@Jt@Jl@Fd@DXJt@Jv@Fb@Hl@Jv@N~@TbBRpAFf@BNJt@Jv@Hv@Jv@Hv@Fb@@RZhCN`@Db@Ff@DZ@NFf@DZDZBZDZDZDXBNFj@DVDZDXDZDZFXDZDXFZDXFZHf@Jf@DXFZFXDVHZFZFXFXFXFXFXFXFXHXFXFXDPb@lBrA`Gh@`CRz@t@dDFTtAjG~ChN~Hp]bAnEPv@T`AR`ARz@Pz@Pz@`@rBlBlJf@`CThAVhAJh@Nn@", "warszawa włochy|józefinów": "ets}Hwht~BPx@Jf@XlALh@`AhErA`GH\\Jf@Lb@Ll@Rr@Pv@Nj@ZlAn@zBFTl@|Bd@fBr@lCPv@Pt@d@pBn@pC`@dBh@~BF\\r@xC^dB\\`BXtAVlAnAdGx@zDThANt@R|@n@rCrA|Fh@bCtAfGn@rCHZZtAv@lDtAbG@FZtABJ\\|A\\xAfAxEVhAXfAp@nCXlAXjAXfA^`BTbAVbAf@|Br@|C\\xAXpAJd@Lf@Ln@XlAXrAPv@\\|AVrAXpAVhAThAPv@Pv@Lj@ZrAh@bCrA~FtAbGrA`G@DpAzFBJ\\|Ap@vCrA`GtA`GrAbGrA`GPt@`AjE|FdWrA`GrA`GtA`GzAzG`DlN`@dB", "józefinów|pruszków": "aro}Hs{g~Bn@vCt@~CVhAFVrA`Gp@tC`@jBjAdFFZl@lCb@vBNp@~@rELl@j@jCR|@BLH^n@rCZlAPt@b@hB^zARt@bAdE@@T`ANl@DPT~@Rz@FVT`Av@jDVhAz@vDf@tB?@l@jCrA`G\\xA?@v@fDl@pCd@nBtAbGh@bCh@`CtAbGrA`GjAdFH^Pt@`AjEtAbGvSj~@tAfGBJtBhJFx@bApElAlF^bBzC|Ml@jCVfAVdAXrAZvAn@pCVjAVjAtEjSBH`AhE", @@ -626,7 +626,7 @@ "ozorków|łęczyca": "}ze|H{zqtBC@}AV{[dGmCf@cBZwB`@oCl@mCl@uAZ}Af@_Bn@yAv@eBlAcJdHkHtFaq@`h@oTtPwDvCyAnAwApAqBrBmBzB}BzCyBbDW\\k@|@cA`BeC`E_CxDaHbLaHbL}JlPkHpLoCrEcDjFmLnRwFhJu@lAs@lAgBrC_A~AcA|Ai@v@i@t@k@p@UXIJMLUTWVo@n@m@f@q@f@SNaAp@gG|D}OfK_DtBoCfBaU~NwKfH{E~CuL|H_Ar@_Av@sBrB{AhBwAlBq@t@_RrUgElFsEzFkM`PiQzTeIbKiDhE", "łęczyca|witonia": "gxt|HqwctB_HtI_BpBkFxGsBhC}D`Fy@~@eAbAaAz@eAt@aAl@iAn@aA`@_A^YFw@T{@RwAVqBVgAF_@@kCFiCBoGFiED}CDaEDk`@`@}JL_A@gLLuEFkB@u@@s@?i@?g@Ai@Cg@C]Ea@E_@E_@G_AQ_@Ka@KsBo@_Bu@gAm@c@Ya@Y}@q@MK][g@e@oAqA}BgCmBqBeBoBsEcFqE_FiBmBgBoBcKaLoUgW}@aA}@aA[]uA{Ak@k@m@k@c@a@e@a@iAaAcCqBs@k@s@k@_BuAECmEsDoEsDgByAeByAoFoEaFcEoFoEwBgB{@s@y@u@KIa@_@k@k@uAyAcAkAcAkAySiVcOaQyKmMCA_RgTgMaOul@er@SUoKaMcLwMyAmBk@w@k@y@{DiGoFuIAEei@i{@_GqJkFmIeGyJuF_J}IuNkCgE_QwX}@mA}@oA_H_JiDqEgCiD}@mAaP_TkA{AiA{A", "witonia|kutno": "q{i}Hc}stBcB{BiB_CmE_G_DeEmDuEkCmDwC{Du@aAwBsCoCsDeAsAcNuQoCqDsIaLwRkWkMwPuKqN_Zi`@_DeEACmA}AmAcBc@o@a@o@a@m@_@o@gAgBcAiBgCuEsGiLgJqPuByDqFuJkJsPgJqPkIeOYg@g@y@e@y@{@oA{@kAoG{HsAcBcCwC_AkAaAiAiB{BuEwFiC_DeAsAcAuACCa@o@c@s@e@y@c@y@_@u@_@w@]w@]w@oE{JgB}DwByE_F{KaF}Ky@kBcF_L}GmOwCsGkAiCe@cASc@CEWg@Q_@Wc@Uc@m@gAo@iAyAkCEG_CiEe@{@yAkCCE[k@Ua@W_@OWSYSYSYOOW[WYOOQQWUWSUQWQWQWO[QYMUKWK[KWKWGYG[GYEYEYC_@CYAU?E?U?W?[@Y@YD[BYFWDYFUFYHYJSH[LYNWNULULUNSP[TSPWTWVUVYZYZe@h@k@p@y@bAa@d@ML_@d@GH]`@e@j@QRSZUXOVMPIJa@p@S\\S`@Ub@KRELQ\\MZQ`@O`@M^a@KGCJm@LQLm@F_AN_@AWF]Jo@Hg@@GNYBS?]Fa@N[EMHi@Ho@HC", - "kraków płaszów pzs kpa|kraków główny": "_njpHm`~xB]x@y@vC_@nAOj@e@|AYv@]`AYx@_@~@GNMXaAxBgAxBk@`A[j@]h@e@r@mC`EILq@bAa@l@a@l@eCvDQTOVa@l@_@j@c@n@yCnE?@W^wB`DW^w@jAeFxHGHkAfB_@j@g@n@]d@a@d@_@b@e@f@c@d@a@`@_@`@e@j@[b@a@f@_@j@e@r@wAtBkAfBEFYb@w@jA[d@c@p@kBpC_@h@{A|BuB`DgA~AuOtUcCrDc@l@[b@a@l@o@~@]h@}HnLEFwHdLeA~Aa@l@a@f@_@d@a@f@k@l@[Z]Z_@\\EBc@^e@\\c@Xg@Za@Tk@Zg@Tg@Rg@Pg@Pc@Lc@Je@Le@Fc@Hc@Di@Fi@Da@@g@@eEHa@?eFHk@@i@@[@[BsAF_@@i@BK@U@S?o@@a@L}AB{CDC?_A@m@@aA@a@@cA@oA@K?k@@k@BaADM?Q@}@BwCFqHJQ@_@?c@@Q@W@YBi@F_@DYBSBQBaAJUBUDYDg@LWFOFQFSFIGUMIBw@^OFMFgF|BWJQJKD}@`@a@Pc@R]@KDw@^a@PSFYH[HYDWBW@O@U?QAQAUC[EWEKCMC", + "kraków płaszów pzs kpa|kraków główny": "_njpHm`~xB]x@y@vC_@nAOj@e@|AYv@]`AYx@_@~@GNMXaAxBgAxBk@`A[j@]h@e@r@mC`EILq@bAa@l@a@l@eCvDQTOVa@l@_@j@c@n@yCnE?@W^wB`DW^w@jAeFxHGHkAfB_@j@g@n@]d@a@d@_@b@e@f@c@d@a@`@_@`@e@j@[b@a@f@_@j@e@r@wAtBkAfBEFYb@w@jA[d@c@p@kBpC_@h@{A|BuB`DgA~AuOtUcCrDc@l@[b@a@l@o@~@]h@}HnLEFwHdLeA~Aa@l@a@f@_@d@a@f@k@l@[Z]Z_@\\EBc@^e@\\c@Xg@Za@Tk@Zg@Tg@Rg@Pg@Pc@Lc@Je@Le@Fc@Hc@Di@Fi@Da@@g@@eEHa@?eFHk@@i@@[@[BsAF_@@i@BK@U@S?o@@a@L}AB{CDC?_A@m@@aA@a@@cA@oA@K?k@@k@BaADM?Q@}@BwCFqHJQ@_@?c@@Q@W@YBi@F_@DYBSBQBaAJUBUDYDg@LWFOFQFSFUJSAe@SQVE\\B^[L]OQTO^IFSJMSW?Y@Wf@SJSJKEOXSLQLSNSQSSQCOTc@R]@KDw@^a@PSFYHEPQDQBMBUKW@O@U?QAWJWCSSWEKCMC", "kraków główny|kraków przedmieście": "usspH}ovxBw@Q}@QOEk@Mg@Ki@OICWIa@O_@Qa@SYOMGk@[cDoBWOuAy@cAm@wBqAmJuFgAo@yCgBeBeA]U", "kraków przedmieście|kraków batowice": "ugupHmowxBaBaAQKeBcAu@e@{A_Ag@]UQYUUUWUWWSUWYW[U[MSU[Wa@Yg@i@aAy@yA_BqCYg@qAaCc@s@cB{C{AiCcAiBq@kA{@wAOWWg@]k@Uc@_@s@_@w@c@cAk@wA_A_C_BcEoC_HgCqGmAaDcAiCi@sAeHuQkC}GkIeTkA{CmA}CeAqCq@sBm@wBWaAg@gBw@{CqBqHoDaNs@kCs@mBcA}DQq@q@aCa@yA", "kraków batowice|raciborowice": "_fypHqx~xBmCaKAc@{@_Dq@uCUoA_@}B_@qCSsBKeAGcAKeBGwAGyAGsACkAC_BAiAAiA@uC?k@@s@BsABgBD_EBwBFcEBgBBmCFoGDoCDgCB}BBsBFwCBwCHwFBgBBoCBoCFcEEM@gAB_C@_A?[?s@A}@Cu@Cw@?EEs@IoAMkAKeAOeAO_AQaAeAyEgA{EkBkIkBiIa@eBe@wB_AcEi@cCq@yC", @@ -649,12 +649,14 @@ "strzałki|biała rawska": "kjezHogp{BcDs@gQyDeAUkh@eL}Cq@o@MsDy@mAWqs@wOkBSmHyAqKuAqE[gEMsgAmBsdAwAo^k@u@Aae@u@o@Au@AaU]o@Aqx@cBaFKcb@m@}BA{BE}BO}BUyB[}B]cC_@eB_@kGwAkBg@eCq@mBq@yBu@it@qXygBmq@{MmFuAg@eaAs^sH_CoDaAsBg@qCo@u@OeF_Au@MoC_@qC_@_De@}BQyBOcBAw@Cw@Ey@Cw@Cw@Cw@Co@Co@CeDIeTo@mDKy@CeGQgL[c@AuMa@", "biała rawska|szeligi": "sac{Hiaw{B{@CwHU_Nm@eq@mB}[_AoFO}sA{D_ACqx@}BgAEw@Cw@Cu@Cw@Cw@Ew@Ek@Ck@ESAa@Ca@Cc@Ea@Ea@Ca@Ec@E_AKm@Gm@Im@Im@Io@Im@Is@Ks@Kk@IoJsA_AOuOyBkSuC}Eq@cIkA}Eq@{e@}Gy@M{sAoRaAOcAMu@Mw@Ku@KKAk@GUCa@Gw@Iq@I_@CCAYCc@Cc@Ea@Ce@EI?[Ce@Cc@Cc@Cc@CC?c@Ag@C_@As@AQAa@?q@As@As@As@?u@As@?iAAku@SaA?wVGY?w|@W{WGi\\I}CAgBAmB?{AAgA?eAAiC?gVIgB?m@?kLEu@?u@Aw@?u@Au@?w@Aw@Au@Ai@Cg@AYAc@Ac@Cc@CK?YCc@Ce@Cc@Ce@EC?_@Ee@Cc@Ec@Ge@Ec@Ee@Gc@Gc@G_@EEAc@Gc@Ge@Ic@IWEMCc@Ic@Ic@Ic@Ic@Ke@Kc@Kc@Kc@Ke@Ku@Su@Ss@Us@S_@Ma@Mg@Ou@Wu@Ws@Ws@Wu@Ys@Yu@Yu@Ya@Os@YsFuBqJsDoEeBa@OwGiCgHoC", "szeligi|korytów": "sd`|Hyyz{Bc`Au^qHuCaC_Ae@QgHoC{@]cDoAoEeBkGaCoCeAk`@gOiM_F_@Oa@Os@Yu@Ys@Yu@[s@Yu@[s@[s@[YMg@Ue@Us@_@u@]s@_@s@a@q@_@s@a@o@_@q@a@g@[e@[UMo@c@c@KQKq@e@q@e@q@g@q@e@q@g@q@e@cAu@cZmTYSm@c@s@g@q@g@o@e@[SSOm@a@k@a@o@a@m@c@k@]k@_@c@We@YQKk@]m@]m@[m@]o@[m@[q@[q@]q@[s@[m@Wm@Ws@Ys@Ys@Yu@Ws@Wu@Um@Uo@Q[K[Kc@Mo@QMEa@Ko@Qo@Om@Oo@Oo@Qm@Ow@Q[G[IwBu@_@Iub@{JmGyAwg@oLyXsGgAWeKaCwD{@uA]uA[oDy@wBg@uBg@OC}IuBkImB", - "korytów|grodzisk mazowiecki": "qho|Ha~a|But@{PiJwB_B_@MFsFoAkAYoEeAiAWsYyGwD}@cUkFSSwv@qQw@Em]cIwQgEQEsEgAiImBGOWGcAUs@QYDYW}A_@i@?QUKH]I_@K]K_@K@K_@M_@K_@M]K_@M_@MGJYKYIYKSYUIe@As@[ES]O_@Q_@QWDYOWM@O[Qa@Sa@UMHWOBOa@Ua@Wa@Ua@W_@Wa@W_@Ya@W_@Ya@Y_@Ya@[_@[_@Y_@[][_@[]]_@[]]]]_@]]]]_@]]]_@c@Mg@k@i@m@W]Y]Y]BUYC?YWAA[S?OSQU]e@]e@]e@U]S[Oo@WEEc@QYQYSYQYWG?YUc@Wa@Wc@MFUa@Ua@Wg@We@We@Wi@DSUe@a@YWg@DWUe@Se@Wk@Wi@Wm@Ui@Wk@Uk@Ui@Sk@Ui@Sk@Sk@Ui@Qi@Si@Qk@Qg@Si@Qk@Qm@Sm@SMIWUu@Oi@Sq@Ok@FOQo@Sq@Oq@Qo@Qq@Oq@MAOm@Om@Ic@BYQs@Ym@Os@Os@Os@Ko@Mm@DQMs@Mu@Ow@Mu@Kk@Im@Ig@Ig@Mw@Mw@Kw@Kw@My@Kw@Kw@Ky@Su@QsAOuAKy@Ky@Kw@OyAQwA@e@kAcKIAUqBUqBOqAOuAQmAOqAK{@M{@K{@Ku@Ku@Ku@E}@O[Am@v@o@c@iB[uAmAkFeBuHcAkEkZmqAEO_@eBaFgTGUgZgqA]yA{CwMYoAYqA[sAkEaRsKae@YoAeFuT_AaEYkAeAqEe@sBEO]{AOk@Om@yA}FSw@o@iCs@{Ce@oBSy@Uy@{@iDSu@Kc@Mg@a@cBMg@q@wCqAuFsBaJc@mBcBuHEMiAcFGY_A_Em@aCiAgEGSuB}Ha@aBIYOm@CKYiA]{AMi@]yA", + "korytów|grodzisk mazowiecki": "qho|Ha~a|But@{PiJwB_B_@kQcEYGsY{GwD}@cUkFUEwv@qQs@Qo]eIUEsQgE}EiAiImBWGcAUs@Qi@MIC}A_@YGa@Ma@Kc@K_@K_@K_@M_@K_@M]K_@M_@M_@MYKYKUIUIa@Q}@_@]O_@Q_@QSIYOYM[Qa@Sa@Ua@Ua@Ua@Wa@Ua@W_@Wa@W_@Ya@W_@Ya@Y_@Ya@[_@[_@Y_@[][_@[]]_@[]]]]_@]]]]_@]]]_@[]i@m@i@o@Y]Y]Y_@Y]Y]Y_@U[U[]g@_@g@W_@Wa@U[]i@QYQYSYQYWa@Uc@Wa@Wc@We@We@We@Wg@We@[m@Ue@Wg@[q@Ue@Se@Wk@Wi@Wm@Ui@Wk@Uk@Ui@Sk@Ui@Sk@Sk@Ui@Qi@Si@Qk@Qg@Si@Qk@Qm@Sm@IYIUUu@Ok@So@Qq@Qo@Sq@Oq@Qo@Qq@Oq@Qs@Qq@Ou@Qs@Os@Ou@Os@Os@Ms@Os@Ms@Mu@Ow@Mu@Kk@Im@Ig@Ig@Mw@Mw@Kw@Kw@My@Kw@Kw@Ky@Kw@QuAQuAIy@Ky@Kw@SiBSiBkAcKWuBUsBOqAQsAOoAOqAK{@M{@K{@My@Ky@M{@Qg@G_@Ii@EYKo@Ko@Ko@Km@Kk@Km@Mo@Ko@Mo@Mm@Mo@Mm@Ou@Ou@Ou@Os@Os@Qs@Kg@Ke@WqAy@uDKe@Kg@Os@Qs@Oq@Os@S{@S}@Me@Ke@oCoLYoAmAkFaMki@}D_QGUmEiRcS{{@k@_C[yAgCwKoT}_AsD_PkAaF_A_EGWQw@AGWeAe@qBKe@Ok@qE}RkCkLoCqL?c@ESo@oC@[g@{Bg@uB}@}DWkB}@yD_AcEOq@ESMi@UkAi@oCYK]w@e@mBEQ?a@S[_@}@iAgEA_@{BqHa@aBIYOm@CKYiA]{AMi@]yA", "grodzisk mazowiecki|pruszków": "}x`}Hmzz|BwCiMm@oCm@mCo@sCeAyE{@yDqA_GyCyM_CoKgBcIkBmIcBwHEQUeAEKYsA_@aBWmAYkAg@yBgG_XiLgg@uLmh@]yAgMej@[qA[sA]yAWgAuQuw@]{Asd@cqB_@{AyRa{@m@iCwDqPkBeI?CiB}HYsA[qAACgByHYkAYmA[sA]{AGYKa@CIQ{@[qAYsAu@cDWgAWgAWmAYkAe\\uwA_@aBmCoL[uA]wAWgAw@cDe@sBwB_JoDmOYkAMg@Qs@i@eCYmAc@sBoCiMOs@gGeXc@kB}Nmo@AEqA{FACeB{HEMcIw]c@iB_@}Ac@kB}@oDEUg@qBs@aDYiAESiA_FkAgFgAwEQy@iCgLKc@aMui@}Jic@eB{H", "pruszków|józefinów": "ozk}Ham|}BaAiECIuEkSWkAWkAo@qC[wAYsAWeAWgAm@kC{C}M_@cBmAmFcAqEGy@uBiJCKuAgGwSk~@uAcGaAkEQu@I_@kAeFsAaGuAcGi@aCi@cCuAcGe@oBm@qCw@gD?A]yAsAaGm@kC?Ag@uB{@wDWiAw@kDUaAGWS{@U_AEQOm@UaAAAcAeESu@_@{Ac@iBQu@[mAo@sCI_@CMS}@k@kCMm@_AsEOq@c@wBm@mCG[kAeFa@kBq@uCsAaGGWWiAu@_Do@wC", "józefinów|warszawa włochy": "aro}Hs{g~Ba@eBaDmN{A{GuAaGsAaGsAaG}FeWaAkEQu@sAaGsAcGuAaGsAaGq@wC]}ACKqA{FAEsAaGuAcGsA_Gi@cC[sAMk@Qw@Qw@UiAWiAYqAWsA]}AQw@YsAYmAMo@Mg@Ke@YqA]yAs@}Cg@}BWcAUcA_@aBYgAYkAYmAq@oCYgAWiAgAyE]yA]}ACK[uAAGuAcGw@mD[uAI[o@sCuAgGi@cCsA}Fo@sCS}@Ou@UiAy@{DoAeGWmAYuA]aB_@eBs@yCG]i@_Ca@eBo@qCe@qBQu@Qw@s@mCe@gBm@}BGUo@{B[mAOk@Qw@Ss@Mm@Mc@Kg@I]sAaGaAiEMi@YmAKg@Qy@", "warszawa włochy|warszawa zachodnia": "ets}Hwht~BOo@Ki@WiAUiAg@aCmBmJa@sBQ{@Q{@S{@SaAUaAQw@cAoE_Iq]_DiNuAkGGUu@eDS{@i@aCsAaGc@mBEQGYGYIYGYGYGYGYGYGYGYG[I[EWGYG[EYKg@Ig@G[EYG[EYE[GYE[E[EYE[EWGk@COEYE[E[C[E[E[Gg@AOE[Gg@Ec@Ec@MgA]yCCYE[E[CYE[E[E[C[E[CQGe@C[E[E[E[C[E[E[EYE[E[C[E[E[G_@CUE[E[E[E[EYE[CWG_@EYG[E[EYG[EYG[GYIc@Kk@GYGYGYGYGYGYIYGYGWIYGYIYGWIYGUm@cCYiAGYIYGYGWQs@GYESI_@G[GYGYEYG[GYEYG[GYCUG_@G[EYIi@CMEYE[a@wC_@gCAEKu@Kw@m@gEIo@{AeLGk@CM}AeMAMIi@S_BMiAyAuLKu@Gi@Io@Go@C_@Gm@KaBEs@Go@Ek@Go@McAIq@QwAG]iAkJE[c@sD", "warszawa zachodnia|warszawa centralna": "grv}Hgp__C]iCKy@My@Ms@EUCSYyAAGQ_AG]G_@G]Ie@O}@OeAuBuNe@aDaAuG_AoGOgAWaBKo@Ko@U{Aa@qCIi@G[w@aFk@sDKq@Ii@Kq@Im@SyA}@eHQuAAIEa@Ee@Me@K_AMgBKmAKaAEg@", + "warszawa centralna|warszawa wschodnia": "wow}Hgpc_CGc@a@_D?AYqBAo@E]Ga@E[G[G_@GYI[I_@a@eBq@oC]wAKe@Mk@Mq@Ko@Ge@Ik@}A{LuC{T[eCa@}CGi@Gc@Ee@Gc@Ca@CYA_@Ce@A_@?c@?_@?_@@c@Eg@@_@B_B@]?c@?a@Ao@A_@A]AYEk@Ci@Gk@Io@kHgk@K{@My@OaAM{@Kq@Ko@sD{TMq@Kk@Ke@Mm@Qq@{@uDYoA[oAk@{BU}@W{@Y}@GQOc@Qi@Sk@Q_@CISc@Se@[s@Yi@We@GKMWW_@a@o@iCoDS[OWQ[OUO]S_@Ui@Se@q@cBcBcE}FyNoG{OUi@Sc@Qc@S]Yg@GIYa@W]UYSSYYSSWSUOWQWMSIWMWIYKQE[GMAUEWCYAUAUAS?S?{HAe@AWKYAW?WCQAQAQAUCUCqAMUCUCUEOCWUUQYKGCSIOIQKMIUQQOMOOQMQMQOWKSUQWQYk@Ui@KUIUOa@IYKc@[uAe@uBa@oCUgAg@_CqAaGmB_J{BeKs@aFQmAYmBQ}@i@cCQs@So@K_@Y{@Wq@[u@Se@q@aBw@sB}@uCUKMe@", + "warszawa wschodnia|warszawa grochów": "m~|}H_np_CKa@GWIe@Ki@G[Me@o@aCQq@Uq@Qk@Qk@Og@Mg@[oAYgAAGQq@S_A_@aBMg@Mg@M_@Oa@O]MYm@qAYm@Wk@M]Ma@Oa@Kc@Qm@Mm@Mo@Ks@COE_@Io@Gu@Gq@GmA_@kICs@Co@?q@Ao@@s@@u@Be@?KDg@Dm@Fq@Ju@Hg@R[HALZJBN^A^GLR|AVH?f@JNAb@NV|@C?i@IYFe@?WAyBAsAGG?{@?s@?u@@u@FA", "warszawa wschodnia|warszawa praga wpt m": "qn|}Hsco_C_AoEuAsGq@kCc@sAk@eB{@cCo@oBUm@K]Oe@K_@W_ASu@Me@QMe@eBOi@Oi@CKKWMa@Se@Qa@EIO[QYQYQWSUQSgCaCc@a@]Y_@YWQUKYOQGMEUEWG]EYAYA[@YBOBMBUDYH[LUJWLUPu@f@cAt@e@`@SPQRSTUXW^SZU`@Q`@S`@Qf@M`@ABMb@Oh@Mh@Mj@Mn@a@~BsB~Ki@zCMx@Q~@g@xC_@vBIh@", "mysłowice|katowice zawodzie": "casqHcrysBsArAqAx@}DbCYPWRWRg@j@a@f@o@~@}BpDu@rAo@pAwA|CaBnDq@bBGRo@pAa@~@a@~@c@z@g@`Ao@fAuAxB_@h@c@j@_BnByA~AmAdA_Ax@g@`@_@^e@j@]v@{@hA_C~CoBhCoGnIcAzAwDxFwBbDmDnFaK`PqAtB]l@q@lAQZ_BtCm@hAkA|Bw@dBe@jAm@~Ak@pBs@fC_@vAuBnIUz@S|@WhAUlAQ`AO`AMbAOnAMjAKpAKnAIxAGvAQjEQxDQ|DGdDCfD?~ABrCFnCHtABt@TrDl@zIXrCh@hERhBPlBDj@f@rHrAzRNhCJrBFzBFbCD`B?JJzBVbEbDve@l@dJb@fHHxAF`BJdCRpFE\\JzFD~F?rD?dDC`DGrCSlIWrH]`KKnCUzDQlEQxEU~FEnB", "katowice|katowice tow. ktc": "w|vqHovasBEb@Ez@E|@?HWjHAZKrCExAArAA|A@xA@f@BrA@PFhABVDt@@d@D~@FbALpBVdDAj@VvDJlABd@@JDp@Br@BdA@`A?dAEvBC|@MdBK`AM|@Q`AQ~@[fA[~@e@jAiAzB}BzDqBfDyAdC_@n@e@|@G`@Q^Yt@Yx@o@pBq@|BYdA[nA[tAgAxFc@zBm@jDwAzHeArF_ArEc@vB]~Ay@dEg@|BUjA]vAa@bBYtAKb@Mh@", @@ -663,7 +665,7 @@ "dorota|dąbrowa górnicza południowa": "g{{qHytttBiCeBYSaLwHyA{@wAy@i@YgAi@cBq@eA]eA]_@KoA[qBa@{TiDsZuEcJuAqB[yB[_BQQAs@Go@Em@C{@ASAw@?kHEkAA{GEmCAa@A{IE}MIoDCY?uKGQ?qCCoBCU?_@?{@AgAA", "dąbrowa górnicza południowa|dąbrowa górnicza huta katowice": "{jbrHoavtB}WOoABiAHa@PMB[DkAXgAb@gAf@eAt@_Ar@a@`@[Z{@bA}@nAo@fAu@xAq@bBo@jBe@`Ba@lB]tBGb@M|@Kz@EXUnAc@xDYdCYdCUtB[lCY`Cs@lGaBdOcBbOMbAOjAOhAMv@Ox@Ot@Or@Ml@Qr@Qt@Sr@Sn@Of@Qd@Up@KZKTWn@Wl@[p@]p@Yh@g@|@U^W`@m@~@W^Y\\[^UXCBe@h@e@b@_@\\a@Zc@\\c@Xi@ZSLQVm@Zm@VqAh@mAf@[LqBx@w@Z", "dąbrowa górnicza huta katowice|dąbrowa górnicza ząbkowice": "q_frHwvptBgCbAeCbAa@DqBv@EBi@RgAd@s@VSH{@Zk@Pi@NEBc@JsA\\s@RK@aAV{@TgDv@I@YFeB`@s@Ps@NqBb@mB^sB`@}@N{@Ny@L{@L{@J{@Jy@H}@F[B{AJqAHgCLiBH]@[@Y?[?[?U?U?MAW?EAWAWAWCWCUCWCUCUEYE[G[GYGa@IUG}A]m@Oc@KQEgAWwA]sBe@UGqEeAiAWo@Qg@Om@Ou@UcA]i@QWKUI]OaA]aA_@yAk@k@Uc@SIC_@Qa@Qa@Q_@QWMWMUMWO_@SYOECe@Ye@[e@[e@[e@[c@[qA_AEEa@[UAQM}AiA", - "dąbrowa górnicza ząbkowice|łazy łc": "gmkrHo`qtB_AcAOIO?o@e@i@j@q@o@e@c@[W_@YgBsAsAcAKIm@a@aFuDkBuAu@k@QM[UYSc@]cCgBgBsAgGmEwUaQ}BcBkGuEEEg@_@mF}DGQgMkJm@c@e@_@g@a@e@_@k@g@s@o@u@s@q@s@][UWo@u@y@aAo@w@q@}@s@aAi@w@m@_Ai@_Ag@{@m@iAg@cAe@cAe@eAg@mAe@mAa@gAc@oA[cAWw@Sq@Ok@M_@EO[oAYgA[qA]}A[_BWoAMw@Kg@UwAOaAAEM{@Ks@E[Ge@Ku@?GKy@QeBOwAMcBMyAOsBIwAKwAUiDy@wMg@uHEq@c@wGa@qG]eFGeAm@qJyAmUMiB?AgCk`@IoAIoAISIy@IaAMqAMgAQqAOgAUqAQcAUiAUaAWiAWaA[kAWy@[aA]_A_@cA]{@c@_A]u@c@}@U_@KQg@{@a@m@e@s@c@m@e@k@k@q@k@o@g@i@qL}LqEwE{@}@o@m@e@g@i@e@]]_Ay@o@m@[[_@_@c@e@q@s@i@k@]_@]a@EGWY}AgBq@u@k@o@wC{C_HiHoAoA}TuUIIo@q@sG{GQ_@e@e@m@o@q@u@c@g@o@w@a@g@g@s@e@q@e@s@c@u@c@w@]s@a@y@_@y@]w@[y@[}@]_AY_AW_AYaAUaAWgAOu@Mq@Oq@Mw@Ik@G_@Ga@McAKo@Ec@Ea@Iu@Gw@Gi@Eq@AICa@Em@Ic@Eo@GqACa@EeAGyAI{A?ME}@UyEsBce@MuCGeAOeDKcC_@sI", + "dąbrowa górnicza ząbkowice|łazy łc": "gmkrHo`qtBa@[}@q@o@e@QM}AkAkBsAQOgBsAaAs@gAy@wCwBMKsDmCAAcAu@eBqA_CeBiBsAwDoCcS{NeBoAYS]Uc@YuA{@}@k@}@k@_@Ya@WoCsBi@m@c@?uAw@GQmMaJi@c@g@_@g@a@e@_@k@g@s@o@Ha@s@s@m@m@GDq@s@[]?OWIAOo@w@s@o@q@}@_Am@i@w@k@}@L_@g@{@i@}@k@gAm@{@k@y@e@eABOc@eAg@oAm@u@a@mABI[cABK[k@Sq@@UQUM_@EO[oAG@WcATQQs@K_@G?[wAFC[}AI]Ms@Uo@Ie@DGUsAG_@Uy@Im@DIGe@WUGe@NEGm@KOKy@AOOqAO@MsAO}AFIMyAHCOqBDAIqAW?KwAIuAIsAOwBMwBEc@Cc@Ei@I{@Gw@WwCKmAEe@Ee@Es@IcAIeAGeAGeAQkCGeAGcA[qGH]Oa@K{BGcAGw@GaALWm@qJFAw@yLC_@IiAaCm]IqAG}@KMISIy@IaAMqANMW}@Ik@Bg@BMO_AGa@KQWQQcAUiAUaANMYiAWaAYcADKSm@SA[_ABOYy@DG_@aAGBQa@IWa@}@@Mc@m@o@i@U_@EYe@w@GBa@m@e@s@@Ka@k@g@k@DMk@o@i@m@i@k@BIcKmKQJa@c@@MO]Y[UYY[W[KBI_@MBW]OSy@iA?_@GIWEa@o@KQYg@D_@Sc@KSISSe@WB]w@Hc@Se@UHQe@RQM_@Sm@Sm@Oi@Qi@_DoIY}@QGIw@XMQi@O_@Uo@Um@_@_A_@y@_@u@a@y@e@y@GK[g@e@u@c@m@g@q@e@m@g@k@g@i@i@g@II_@]m@g@i@a@k@a@m@_@o@_@Q]Y@i@Uo@YIWOGSHi@Qm@Qc@KEAi@Km@Mm@KKSWJgC_@YEOCOCe@KGC_@Ie@Oi@QUIUKSKOGUKYOKYc@Ea@WSOMKQ_@MFa@]_@]e@c@EE_@_@e@g@@SUWKO_@g@a@k@WKIc@Ye@M@_@s@[o@AA]s@DOQa@IQ[y@Yw@Um@Qm@OEAg@Ma@OM?[OM@[QO?e@MEKk@Mk@Ko@Ig@@e@MEIo@Io@FMGe@CUKy@W}BMKEe@ACEg@DSMWBa@KKEi@Go@FOM_@AKGgAF]K_CMU?OE}@UyEe@wKs@gBEu@GwAI{@Gq@LaAKuB]GOwAGo@d@e@QuEFUGeAOeDKcC_@sI", "łazy łc|łazy": "e|urH}}duBGkA]yH}@gSi@yLGqAGiAGgAG}@KqAIaAMkAMeAOmAOaAQkAQaAUmAQ}@WeAU_AYaAW_AY}@]aA]aA[u@_@_A]s@c@{@_@s@c@w@a@q@e@s@c@o@c@m@a@g@m@w@o@u@iAsAeJmKiFcGuDiE}F{GoFiGa@g@EEsCcDyBgCwCkDmD_Eq@u@iBwB", "łazy|łazy ła": "o}xrHwyjuBaBiBcF_Gq@u@uEmFo@s@sA_Bm@s@k@q@o@u@yEuFk@q@g@k@wEgF{@aAOa@WYmCwCq@u@}@eAy@}@kAwAIImGuHqA}AoAyAw`@qd@yRaUmJwK[_@kHmI", "łazy ła|zawiercie": "{p}rHk~ouBg@k@gE_FaAiAmAuAWYWYYYOA_@_@k@g@k@e@m@e@g@]]UUMe@Yo@]k@Wq@YGCe@Qk@Sg@MmA[[Gu@Kk@Iq@Io@Eu@Em@As@?o@@I?_@@y@D_CHkJb@aHXuJb@I@eGX}CNI@kGVsAFWB", @@ -672,7 +674,7 @@ "rozprza|piotrków trybunalski towarowy": "e`bxHyg~vBa@YgAs@eBkAcD{BOM_@WmFuDaD}BcJqGcEuCcBmA_BgAyB}A{IiG}BaB[UoI}Fq@e@q@a@m@]e@Y{@e@s@]_Ac@u@[y@]y@Yy@Wy@W}@Uy@Uy@QYE_@Io@Kw@M]E{AQsBQcBQoc@}DuCY}v@eH{v@eHc[sCiReBmGm@_TmBiEc@yEc@yD]{NqAcVwBqWaCwBSmCUq@GkCWoAM{BSuD[kD]gCUsEc@uTqB}v@eHqEa@MAqEc@{J_AuFi@gCU_@CiCWQA{KcA}o@aGmCWeAKyBQoEa@{BS{@ImAKuAMu@IyIw@WCuEc@kKaAm@G}@IiKaAe@EmW_C", "piotrków trybunalski|baby": "owyxH{}cwBqOwAuIw@OAg]_D{MmA}AOsGm@yBSqRgBuHs@aJy@E?}AOaE_@}Go@kBQkD[{CYsLgAuIw@{CYod@eEeBOcBMeFc@mSeBaDYaMcAOA{NmA{v@uG}v@sG_e@{DuBSgMeAga@gD}CYi@Ek@Gm@IQCi@I}@Oy@QaAUy@Sw@Ug@Q]Ko@WSGYMiCcAcI}CmAe@sKeEg@GeFoBkAe@kBs@yk@}TyqAmg@m@Wk@SwLwEgBq@y@[{@[oAe@oCaAu@YiDqAqEgBa@OcCaA[M", "baby|rokiciny": "y`qyHm`jwBsp@mWwHwCYMcE_B}D}Ayu@}YaE_BcE}Aq@Wm@Uq@Uq@So@Qo@Ms@Mo@K_@E_@E[Cw@Em@Aq@Aq@@u@Bm@Ba@DYGg@Ds@Lm@Lq@Ns@Pk@Rq@Tm@Rg@RoYxLkHzCak@zUkJ|Dq@Xs@Vk@Rq@Rw@Tq@Lg@Je@Ha@F}@Fs@Dm@Bs@@o@Aq@Am@Eu@Gm@Gs@Kk@Ko@Oi@Oc@M]Ke@Qa@Ou@Wq@WuAk@}KgEOIgEgBs@[o@W{@_@gEaBiDqA_E{A_A]}@[}Bw@wAg@]OuIeDgf@_RwBy@cC_Am@Wi@Uo@[g@Ww@c@w@c@}@k@o@c@}@m@u@i@{@q@s@k@s@m@o@k@o@o@m@m@s@s@e@i@yOwPmI_Joc@qe@sLkMqAwAqAwAe[y\\uJiKwFgG{A_BoW_Ymm@ep@KMa@_@o@q@c@a@s@q@w@q@y@o@w@k@w@k@w@g@}@k@u@a@k@[o@[_FqBiBq@kGeCyEiBgEaBik@uToHsCmXoKiJsDGCcFmBqGgCQI", - "rokiciny|gałkówek": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gTeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YsA[iDuASGOESGeAUYIUGYKUIk@Uk@Yk@Wk@Wm@Ym@Y{@]{@]{B}@u@Yu@YYK[KSGSGSESCSCKASASAS?Q?U@QBSBQBSDSDQFSFQFQHSJQHQLQJIHSPSPONONOPOPMRORMRMTMTMTMVKXKVKXKXIZIXIZGZIZG\\EZGZE`@E\\E\\C\\C^C\\A^AXA`@A`@?^?^?^?^@^@^@LBf@@ZDn@Bf@Db@B`@ZpDDf@Df@BZB`@B^PrDB`@Df@Df@N~A^fEbA`LzB`WFj@xAlPAf@DZxFpo@LvALtALtALrALrAJrALtALrALrAJtANtAxAnPjD~_@NbBD`@rDxa@JhALrATbDPtCJ|CFvCBrC?jAAlAClCCfAEfAEfAGfAGjAIfAIfAKfAKhAMfAS~AU~ABN}@rF{BzM}@lF_@vB]xBa@tC]vCWrCKpAIbAGtAGrAEpAEnACtAAlAAf@?l@?tA@tA@xABzAHlD?tB", + "rokiciny|gałkówek": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gTeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YsA[iDuAkCeAo@W[Ok@Um@Wi@Wm@Wm@Wm@Y{@_@{@]}@]}@_@u@Yu@Ye@QSDSBSGSESCSCKASASAS?Q?U@QBSBQBSDSDQFSFQFQHSJQHQLQJIHSPSPONONOPOPMRORMRMTMTMTMVKXKVKXKXIZIXIZGZIZG\\EZGZE`@E\\E\\C\\C^C\\A^AXA`@A`@?^?^?^?^@^@^@LBf@@ZCf@HFBf@GFP~CBh@Dd@D`@Vl@BZB`@B^PrDB`@Df@Df@C`@J`ABTLtALxAJfALrALrApCb[Fn@Dj@f@tFj@nGDh@Lb@D`@r@fIt@hIvBbVVrCLtALvALrALtAJrALrALrAJrALtARNFx@Bb@BTGf@TLHx@JtALrAzDbc@h@bGCPEd@?d@zDta@JhAPFZ`DGBR`DPbDHfDF`DO\\?jAAjAG@ClCTFG~BWFEfAFFLRKzAQ\\IfAAPGt@KhAJPYv@HTMdADLYpASvA@PsH|c@E?IdAMz@UR@`@Kz@KfA?`@K^?f@IXIbAQDG`AL\\IjAEtAEnAEfAFBAlASBIf@Fd@Af@L\\MNGf@TN?jAUJHZN^F@FrCD~AUlA?tB", "łódź widzew|łódź chojny": "}j}zHsoevBIlAUfE@r@Et@GzAEnAAv@?z@?z@?|@Bz@Bx@Dz@Dz@Fz@Hz@Hx@Jv@Lx@Lx@V`B\\hBNt@RbATbAVjAXfARt@Rr@ZbA\\dATp@Vn@^z@^|@Zn@Zl@Zl@\\j@b@p@`@n@b@l@b@j@VXTXZ\\`@b@b@`@NL\\Z\\Xd@\\d@ZZR\\R\\Rj@Xl@Xb@Pf@PXHd@Nl@NZFZFf@Hl@Hn@Ft@Fv@Dd^vB|@FdDR~DVTLvBNn@B`AFrAHlHd@nAH`Oz@bEVvAJxBL~BNr@F^DfAN~AT~@RhB`@PDpCn@pDr@vATh@JhCb@dCb@|AVrDl@bDh@fAN|D`@L@n@HpARpBZl@LdBZr@N\\JTFVHHDj@R^Pf@X^R`@Xd@\\f@d@ZX^`@X\\\\b@`@f@JPZf@Zf@Zl@P^NZb@bAPd@^bAL`@Pn@Lf@Pr@Np@Lj@RlANz@Hn@Hn@Hx@Dd@Dr@Dd@Bj@Dz@Bt@BfA@nA?fA?b@Av@EtACv@IrBSnEWpEKrBCj@DJ", "łódź chojny|retkinia": "}quzHis~uBU|EC^AZ?XAv@Az@ATA|@ErBErAMzBGnA{@bQk@~K]tGUhEMlCK`BK|AIrAKhA[vDKlAEf@Eb@Cf@C`@Cv@A\\Cx@?l@AhA@x@@tA@dABr@@d@Bf@Dd@@XHbAJfAHv@Jx@Jn@Lp@XxAR~@H^FPDRJ\\Nd@Xz@JXVr@Rb@b@`Ad@dA|B|EbD|GtChG|@lBf@hAZx@l@bBB^ZdAJ`@Pp@RdAZdBHj@Lv@Ff@Fr@Fp@Fl@Dx@Dz@Bd@Bt@@h@@|@@p@?BAv@?T?d@Az@EjACj@Ex@Gt@El@KdAEf@Kt@Gb@OfAQbAYdB}@dFcBzJmA|GMv@Ot@S|@Mn@St@IZMd@Mb@Sj@Ur@Wn@]v@Yj@_@r@Yf@_@l@]f@ORu@`A[b@s@|@i@r@_AjAwCzDyAjB}@jAg@p@m@t@u@`Ac@f@a@b@u@v@m@h@k@d@WP[RQJe@XKFOH]Pi@Vo@XoEpB]NQHUH[L_@N_@L_@L}Br@w@V_@Na@Nc@PYLc@PUJUJUJcAd@q@ZWJ_@P]Lc@P[JYJSFQDg@LWF_@FYFa@Fg@HeJtAa@Fc@D_@D]D[BU@U@YNoCJa@@S@S@Y@Q@Q@O@]BI@m@FUB]BOBSBQBi@FIB_@Fa@HiAR]ZSHKFQFOHQJSLKHWRMHKJKLKHOPQROROROTQXMRIPINIRKRMXM\\M\\KXK^K`@M`@I`@IXCRGXGXGZE^G`@G`@E^E`@Eh@C\\Cf@Cf@C`@Af@Ab@Ab@?f@?d@@\\?d@@`@@`@B`@Bb@B^H`AJ|@EDHp@DTLRZ`Bv@`Et@rDZzAZrA?\\dAvENn@^~A\\`BFA^nBj@lDOJp@dBjAhGLp@Lv@Jl@NJE\\PtAD^FXDXRFb@nDPbA?\\", "retkinia|łódź lublinek": "k`yzH_aouB|@lEDTh@rCnB~J~C|On@bDtAbH|A`Iv@~DRdAdCjMj@tCjBnJrCxNPZvCjOjJve@zCtO|CvOvApHvAjHpDzQ|BjLLp@Pr@VhA\\rAX~@ZdA\\bAPd@Vr@LZTj@N^Tf@LVTf@\\p@^r@T^b@t@Zf@d@p@h@t@t@bAlFnHZ`@bCfD|\\be@BB~AzBnAdBb@l@", @@ -685,7 +687,7 @@ "gajewniki|zduńska wola": "_r_zHotzrBHbHT`Rp@`i@JvJFfDPbM@fAHlFHbGBtCTpR@t@VxR@r@R~OLjK@BDlEFjEFdEBbDHtF\\fZ@d@@h@", "zduńska wola|sieradz": "qh_zH{rrrBTfRArC?Hf@pb@BlB@xA?lBAzAAnEApA?nA@x@?p@@t@BpBBzAHnEdAnj@@j@`A`i@?TxBflAn@z]RvK^jRBbBB|A@rA@lA?pA?pAArACpAGlEg@jf@aBpoA[fVWhRAvAAtA?rA@pA@pADrAD~ADbBFbBHhBn@`Rp@fRVlHVxGpAf^T`HTrGF|Ah@|OVrHLbDhAb\\^hKNfEDtABpABtA@fA?H@rA?nAAnE[vcA?VW`e@CjMEnMElMAfFArBAx@Ax@AlAEpAEhAGjAKlAMlAK|@M~@O`AS`AOt@Qt@W~@Y`AWv@Uj@Wr@Uf@S`@OXa@v@]j@U\\]f@e@j@iAvAkDjEmG|H]d@]d@a@j@Yf@I^OVYj@]r@Wj@Sj@Ul@Up@K\\Md@Qp@Mf@Mf@Ov@Oz@Mz@M|@K~@KbAMpA{@`Ja@hEO|ASvBKtAOhBK~AGv@KdBIdAEfAEbACx@Cb@C~@CvA?h@Aj@?xA?lA@tABnABnAFtAFrAFnAHpAJpAJlANrANnAPlAPlARnAb@lCbHra@TrAvDtTdBdKr@~Dr@bE|Hzd@DTX~AXzANv@Px@Pt@Tv@Tr@Tt@Vp@Xp@Vj@Zn@h@bAj@bAfEpHlI~NbFzIf@~@\\l@BDb@z@Xj@Xl@JRf@pAVr@Tr@X`A\\lA`@tAfAdETv@X~@Vv@Xv@\\z@Vp@\\r@", "sieradz|sędzice": "_k}yHgnhqB\\p@Tb@^r@\\j@tAbCvAbCLf@Vf@R`@Vf@Zv@P`@Z|@\\dAJ^J^Pl@Np@Nr@Lr@PjAHj@Hn@Fj@Ff@Fv@Fz@F`ABp@JlCLrDL~CDfBPrGDdBH|BNzDFdCNrFH`E`@rPV|Kp@dXLhFBtA\\rJHzCDzADlBf@hSB`ADxA@pABrA@pA?xA?zACjy@Cbx@Apg@?pE?bDA~@?z@C~@Az@E~@Ez@G`AGv@K~@It@Kz@Mx@Ov@Ov@Qv@Qx@{@rDSz@YnAWfAWdASv@Ut@St@Ur@Yt@Wj@Yp@Yl@_@t@c@x@a@t@qBtDgXjg@sGxL{EnJmDtGma@bv@oMdVU`@aAjB]l@S`@S`@OZMXO\\O\\O^Un@Sl@Uv@St@Sx@Sv@Q|@Mv@QhAQfAeCfQyEz\\mKtu@E\\U`BW`BQnAMdAOlAMhAMlAIhAKjAIhAi@dIsEtr@ADa@hGKtAIhAKrAMjAOrAOhAQnAQhAMl@Mr@Mt@Or@_@fBkLrj@uF~WeAhFMn@yC|NKh@", - "kraków zabłocie|kraków główny": "}|mpH}~xxB_B`Cg@v@eCpDAB_@h@CD}HnLEFqAlBgA|A}B`De@l@_ArAkAzA_@f@g@l@e@h@]\\]\\a@DQSe@^c@Zc@Zg@Zc@Vi@Xg@Tg@Rg@Pe@Pc@Lc@Le@Je@Jc@Fc@Fi@Fi@D_@Bg@BgEF_@@eFFm@@g@@Y@W@_BFY@k@BI?W@S@iBDa@@w@@M?aDF}BBM?a@J[MUCQCOEe@KeAUoBc@IAQEKAQASAY?U@E?a@@}@@[?gCDkDFQ?]@_@B[B[D]H[HQFQFWJEBa@PQH[L_Ab@qAj@aAb@UJIBw@^OFMFgF|BWJQJKD}@`@a@Pc@R]@KDw@^a@PSFYH[HYDWBW@O@U?QAQAUC[EWEKCMC", + "kraków zabłocie|kraków główny": "}|mpH}~xxB_B`Cg@v@eCpDAB_@h@CD}HnLEFqAlBgA|A}B`De@l@_ArAkAzA_@f@g@l@e@h@]\\]\\a@DQSe@^c@Zc@Zg@Zc@Vi@Xg@Tg@Rg@Pe@Pc@Lc@Le@Je@Jc@Fc@Fi@Fi@D_@Bg@BgEF_@@eFFm@@g@@Y@W@_BFY@k@BI?W@S@iBDa@@w@@M?aDF}BBM?a@JK?]BY?QAWAKg@SEOGQGWKOGa@SQIMIUVIAQEKAQASAY?U@E?a@@}@@[?@`AiCDiDFU?S@Y@Y@[D_@D]F]HKTWIKBUFYHUDQXMBQFODUHSFSHSJSHEFQFSFUJSAe@SQVE\\B^[L]OQTO^IFSJMSW?Y@Wf@SJSJKEOXSLQLSNSQSSQCOTc@R]@KDw@^a@PSFYHEPQDQBMBUKW@O@U?QAWJWCSSWEKCMC", "brynów|katowice": "y_uqHgs{rBwHuOWe@]o@_@u@sFgLg@cACEs@yAMYyCeGkByDoFeL_@{@g@qAIQq@gBm@iBc@}Ak@wBa@iBe@_COs@Oy@_@cCi@kDeBeMs@gFE_@Mu@QwAIaAGy@[oEE{@IcCCeA?cD@gB?mA@cADkEFyAN_FBc@XgIDaAOU", "katowice|katowice zawodzie": "_{vqH{uasBHqAPqBLyABYHiAH}APuFr@eTT_HBo@@W?mC@cB?wBA_D?a@?k@AW?uAC{DEmBKuEOwF@aA[eMSuHImCg@oLc@}KScFMaDGuCAc@C_D?}BBcEHyEByAF_DF}EOw@AsCC_C", "katowice zawodzie|sosnowiec główny": "k|vqHwthsB?_CB{AD}ALsDRsFDoAHoAL_B`@sEPaC@kBLgEL{EVaHH_EF}FDyC?qDG}FKyFSqGYqGi@wIm@cJcDif@UkDOyBMyCOuCo@aIu@cJa@cFCa@YiEM_CIcAEw@W}D]sD]kD]iEw@{KWiC[mBe@uB]mA}@oCeA_Di@{AcAgCkAgCqAyBi@y@{@kAmA{ASUw@}@cAgAkC{BoCqBqLwIeHeFqC_Ca@[{CyB_BkA{B_BwAeAAAi@c@i@e@i@i@k@q@q@eA_AeB_AwBi@wAoA_Do@cBUe@aDkI", @@ -694,7 +696,8 @@ "dąbrowa górnicza|dąbrowa górnicza ząbkowice": "}aerH_lbtBNoAJ{@Hu@Fm@Da@D_@Dc@Dg@Be@Ba@Dg@@a@@]BW@]?[@]@_@?a@@_@?c@?_@?_@?]Aa@?[Ac@Ac@A_@Cc@Ci@Ck@A[C_@C[Eg@Ee@Gg@Ee@Ge@Gc@E[G[EYE[G]GYGYG_@IYEWI[IYGUGWGSK_@Ma@Oe@Oc@Qe@EOY{@_AkCAEeAwCo@kBc@oAw@{B{AmEUs@eKaZgCoHw@{BqAuDyAgEwAeE[{@sBcGe@uAeJ}WuA}DM]Oc@s@sB{AmEg@yAc@kAm@{AUo@Wm@[w@Sg@Qc@Qi@[{@Sk@Si@e@wAwDwKWu@{@eCc@oAUw@Qk@Y_AW{@Wy@Uq@Qo@Qk@Qi@Uo@So@_BuEq@oB{DaLcB}EeIuUkAkDc@kAEMe@uAyCuI}ByGyEcNiBmFeA}CwJaYY{@[y@Yy@[w@Wo@Yo@]u@]w@[m@Ym@[k@S_@GI]m@]k@a@m@a@m@a@k@a@i@MQKMW[ACSWUYUYyAaBsB_CW[m@o@}AeBa@e@m@m@EEu@u@o@m@k@i@gAeAWWi@i@AAQ]_@_@", "zawiercie|góra włodowska": "}aasHyvpuBSPO@QBq@L_CLoAHw@HWBeD\\K@a@Ds@D{@D{CNcDN_Nl@uETgBF_ADaI^eADi@Bg@@aBB{@Bc@?y@Bq@Bw@@wBHiJ\\s@BcAD_@@cBFi@Bm@Da@BG@g@Hc@HUFSDa@L[J[L]N[N]R[REBWPYR]ZYV[Z]\\_@d@[`@e@p@c@r@g@v@iBrCo@l@s@`@k@z@g@r@q@`AcEvF_F|GsN|RY^_c@vl@MRo@z@QTw@fA}ArBY^}G~Ik@t@k@t@wAnBgFhHiA|AoFnH_CdDwApByFfIs@bAg@p@m@v@i@p@k@t@k@p@m@r@w@x@g@h@k@j@o@n@o@j@o@h@q@l@o@f@s@h@w@j@m@`@u@d@s@`@q@`@s@^s@`@o@Xi@Vq@Xu@Zy@Zq@VsE`BoOtFiGzBeKrDgf@fQ{ChAkKvDiKtDeA\\s@Vu@Tw@Vw@Tu@Ry@Ti@LODs@Pw@Pu@Nw@Pw@Ny@Ns@Ju@Lw@Ju@Ju@Hu@Jw@Hu@FcBLcAFw@Fu@Bs@Du@@s@B{@@w@@s@@w@?u@?u@?u@Au@Au@C_ACo@C{@Em@Eq@E_@C{@GWCWC}AO}BWcDe@}Ck@{Co@wDaAsDgAsHmC{BaAcAc@{DoBsEgCoEsC}B}A{BcBmCuBkC{ByDiDqCsC_@a@qByBmB_CuEgGqBwC_LgQyDeGgEaHeEgH{DsH_EoIgCcGqBaFuDiKwAiEuAkEOi@cB{F}AaGmDmO}BqLwByL{AoKsAsKy@yHs@{Hm@}Hi@_Iy@iQe@sQOiMCgMBoJLqJ^oOl@yOr@{OxE_eAEe@hAwVHiB", "góra włodowska|psary": "gzvsHooxuBrCon@lDow@FmAvAm[hDiu@\\}HP_FZcMJsHFsH@cF?cFIgMUqMa@oMgAuSkBmUsBgRgBeMqB_MwB_LaBsHAAgBsH_@{AyAqF}AoFaBkFcBiFqK_\\sAgEcBoGgDmMsCcMsAwGmA}GiA_HEU_AkGkA}IiAgK{@}Ii@uGc@uGUmDQgDWwFSyFE{AQgHKuGGsGCmH@mH?uAXe]Zq[FsG@k@DmG^y_@TqTNoHRkIJ_DJ{CDoAFuADmAJcBCu@fCmj@b@kJdFqgAx@_QpDuw@j@cN@c@XgJPgKFmK?oKIiMUeMY_JCu@g@sKo@eKu@aKkAsLg@wEi@uEuBaPa@yCgQerAaMi_AaD_VoCqSwCuTmA{IsA{IoAqHe@gCo@iDaB_IiB}HoD_NOk@iFmP_CwGgBuE]{@}DeJgE}I}@eBgDeGmD_GoDuFuDkFyD_F_E{EcEkEkEgEqE_EwEuD{EgD_F}CeE_CSKwDkBkD}AyEiB{E_ByEsA_FiA{Cm@{Ce@}Cc@}C[_DU_DQ}HSsDAcEFWKsERcEXq@FyBToDb@wI|AoTtE}MvC}UhFea@xIa[|G[H}UfFuBd@YFyIdB{IxA_Gp@_G`@aGP_GDy@AkCCcEOeEUeE]oFq@oF_AmFkAkFyAcH_CmGiCOIyGeDwGsDyEcDkBqAkByAsEuDcDqCm@g@{KmJoD}Cg@a@iOwMiC}BYWmBiBeCeCcCkCuA}AOOqB{B{BwCgCcDcG{IkDyFiDaGcDqG}CuG{BeFwBkFiFsNcDgK{CoKqHeXmBcH}Osk@kKu_@yIs[kAkEyHwXgEqO{@}Cc@{AmDoMsBsHcC}I{Uk{@}BqImDgM_@uA_CqI", - "katowice tow. ktc|katowice": "elxqHca{rBLi@Jc@XuA`@cB\\wATkAf@}Bx@eE\\_Bb@wB~@sEdAsFvA{Hl@kDb@{BfAyFZuAZoAXeAp@}Bn@qBXy@Xu@P_@Fa@d@}@^o@xAeCpBgD|B{DhA{Bd@kAZ_AZgAP_APaAL}@JaALeBB}@DwB?eAAaACeACs@Eq@AKCe@KmAWwD@k@WeDMqBGcAE_AAe@Eu@CWGiAAQCsAAg@AyA@}A@sADyAJsC@[\\QTqGLcC?I", + "katowice tow. ktc|katowice": "elxqHca{rBLi@Jc@XuA`@cB\\wATkAf@}Bx@eE\\_Bb@wB~@sEdAsFvA{Hl@kDb@{BfAyFZuAZoAXeAp@}Bn@qBXy@Xu@P_@Fa@d@}@^o@xAeCpBgD|B{DhA{Bd@kAZ_AZgAP_APaAL}@JaALeBB}@DwB?eAAaACeACs@Eq@AKCe@KmAWwD@k@WeDMqBGcAE_AAe@Eu@CWGiAAQCsAAg@AyA@}A@sADyAJsC@[VkH?ID}@D{@\\A", + "warszawa praga wpt m|warszawa wschodnia": "et~}Hyko_CHi@^wBf@yCP_ALy@h@{CrB_L`@_CLo@Lk@Li@Ni@Lc@@CLa@Pg@Ra@Pa@Ta@R[V_@TYRUPSRQd@a@bAu@t@g@TQVMTKZMXITELCNCXCZAX@X@\\DVFTDLDPFXNTJVP^X\\Xb@`@fC`CPRRTPVPXPXNZDHP`@Rd@L`@JVBJNh@Nh@d@dBPLLd@Rt@V~@J^Nd@J\\Tl@n@nBz@bCj@dBb@rAp@jCtArG~@nEhEtHXtANl@H^FZDVFb@d@`DCXD\\FZF^Fb@BTLx@Fd@Hb@z@`GHj@Hj@JL?`@Qd@CTJZFRHVLZHXN`@HTREPf@C\\TDN^JVTPJRNVLPLPNPLNPNTPLHPJNHRHFBXJTPVTNBTDTBTBpALTBTBP@P@P@VBV?X@", "żelisławice|włoszczowa północ": "mnbuHwqhxB_BoIcq@knDuB{K}R{dASaAUkAQ_AS_AU{@U}@W}@Uw@Wy@Yw@[{@Wq@Yo@[s@[o@Yk@_@q@[i@]k@_@k@a@m@_@g@_@g@c@i@c@e@e@g@a@_@c@a@qR}OmQuN{AmAsAgAgA}@{CeCqAeA{CeCiByAoFgEeF{DeBuAaBqAcBqA}AkAiCsBeDeCiAy@}CuBs@c@q@c@u@e@w@e@wAw@aFiCcBw@mB{@aC_AaHqCaEaBgMsF{Ay@oA[", "rokiciny|koluszki": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gTeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YsA[iDuAkCeAo@W[Ok@Um@Wi@Wm@Wm@Wm@Y{@_@{@]}@]}@_@u@Yu@Ye@Qg@Sm@U}@[}@[i@Sg@Si@Q]O_@Ma@QgUaJmCgAg@SaBo@iAc@a@QoDwAc@Qe@QUKWIWIWIUIa@KiA[e@Mi@Om@Ow@Ue@Mg@Og@QYKYK{GmCaAa@WK_Bo@i@Ss@Ys@[WKQI[O[O]Q]Q", "koluszki|rogów": "{ryzHe_~wB]Qg@YUMSKwBoAoAs@SMcB_As@c@i@YcEaCaB_AiEaCkEeCSMuAu@kGoDu@a@qF_D_B}@}A{@aCuAc@WwAy@kA_AiAq@c@USMWOg@WYQ[Qm@]e@WECWOs@a@s@a@iOsIsNeIg`@uTq@a@y@c@GEe@WeEaCqI{EqMqHs@a@mDoBoI{E}@i@SKsI}EcE_CkIyEeK{Fs@c@mHcEa@WiDmBu@a@s@c@c@Wa@Wc@YGCWSa@W_@Ya@Y_@[EC[Wc@_@OMQOYY[Y[[[[_@_@]_@]_@]a@]a@]c@[a@]c@[c@[c@[e@Yc@i@w@i@y@wHsLqG_Kk@}@wJiOsGaK_D_FeF_Io@cAe@u@i@y@me@yt@{IeNk@{@k@}@a@o@c@o@oCgEa@o@e@s@g@u@]k@uBcD_MqRc@s@gFcIcCyDqHiLcNcT", @@ -730,8 +733,8 @@ "łódź lublinek|retkinia": "{otzH_zcuBc@m@oAeB_B{BCC}\\ce@cCgD[a@mFoHu@cAi@u@e@q@[g@c@u@U_@_@s@]q@Ug@MWUg@O_@Uk@M[Ws@Qe@]cA[eAY_A]sAWiAQs@Mq@}BkLqD{QwAkHwAqH}CwO{CuOkJwe@wCkOG[uC{NkBoJi@oCeB}IYuA]gBYuAi@qCqAwG??m@}Cg@gCsGq\\qAyGIa@GU{@mE", "retkinia|łódź chojny": "k`yzH}aouBQcAc@oDMw@Io@Km@Oy@}AcIaA_Fq@iD_@oBMm@{A}Gq@yC[sA[{Au@sDw@aE[aBG_@COKq@K}@IaAC_@Cc@Ca@Aa@Aa@?e@A]?e@?g@@c@@c@@g@Ba@Bg@Bg@B]Di@Da@D_@Fa@Fa@D_@F[FYFYBSHYHa@La@Ja@J_@JYL]L]LYJSHSHOHQLSPYNUNSNSPSNQJIJMJKLIVSJIRMPKNIPGJGRIPGPEl@STITGRGFAZWFAf@GXERJ\\CTSJAVCRANAPCXATJXARARA`@AnCKXOTATAZCHJRQLJPQLJTQHJ^G|IsAh@I\\G@MXG^GVGf@MPERGXK^?`@Q\\O\\MXMn@g@bAe@TKTKTKHFZOXKAKb@Q`@O^Ov@W|Bs@RBLE\\M?K^OZMV?PG\\QpEoBl@Y`@SDOXARYJGd@YPKXE@MVQTE\\Wf@e@t@s@AO`@c@h@_@t@}@EKl@u@f@q@REr@}@bAqAJa@vC{D~@kAr@g@p@}@Ro@t@aANS\\g@^m@d@]\\q@Rc@CSVMPc@N]L_@HWHWBg@Lc@Le@H[PO@e@JGJe@^oBEELw@P_@z@}FbB{JvAkH?_@N[@g@NgAFc@LYA[L_@B_@Hq@Ba@Bg@CUH_@Ba@Bg@BgA@y@Eg@Fg@Ee@?CDo@Aw@GGAi@DSAc@Kc@DKKo@Ey@Gm@@e@IKGs@Gg@Mw@BWIg@_@qASeA@MKe@K_@K_@Qk@QUi@_BBG[y@KCc@aAFC}@mBuCiGcD}G}B}Ee@eAQKYo@FESc@Ws@KYY{@Oe@K]ESGQI_@[w@SkAESMo@E_@@SKW?a@Iw@KgAGEGq@Be@Ee@Cg@Ae@GMBe@AeAIe@?mAD[E_@Fi@?m@EO@w@HOBw@Ba@Bg@Kc@JwDHsB?IX}FDy@dAkDTiE\\uGj@_Lz@cQFoAL{BDsADsB@}@@U@{@@w@?Y@[B_@T}EEKBk@JsB", "łódź chojny|łódź dąbrowa pbs": "squzHux~uBVqERoEHsBBw@DuA@w@?c@?gAAoACgACu@E{@Ck@Ee@Es@Ee@Iy@Io@Io@O{@SmAMk@Oq@Qs@Mg@Qo@Ma@_@cAQe@c@cAO[Q_@[m@[g@[g@KQa@g@]c@Y]_@a@[Yg@e@e@]a@Y_@Sg@Y_@Qk@SIEWIUG]Ks@OeB[m@MqB[qASo@IMA}Da@gAOcDi@sDm@}AW", - "łódź dąbrowa pbs|łódź widzew": "epwzHqravBeCc@iCc@@e@QC[GsAUyB_@{AWeBYIRQEOYiEs@o@@gAOSOKHs@G_COyBMwAKcEW?KkCOiEW}CSMJoAImHe@kASs@EUFo@CwBOUM_EWeDS}@Ge^wBw@Eu@Go@Gm@Ig@I[G[Gm@Oe@OYIEHc@Qc@Q@Im@Yk@Y]S]S[Se@[e@]]Y][OMc@a@a@c@[]UYWYc@k@c@m@a@o@c@q@]k@[m@[m@a@g@]w@BMa@k@@OYc@Wo@]eA[eASo@OeAYgAWkAUcAScAOu@]iBWaBMy@My@Kw@Iy@I{@G{@E{@E{@Cy@C{@?}@GA?y@Mu@HyBDsAFoAJyBJ_B`@uFVkDFo@pAmPFo@l@uH", - "gałkówek|rokiciny": "cqvzHqbnwB?uBImDC{AAyAAuA?uA?m@@g@@mABuADoADqAFsAFuAHcAJqAVsC\\wC`@uC\\yB^wB|@mFzB{M|@sFCOT_BR_BLgAJiAJgAHgAHgAFkAFgADgADgABgABmC@mA?kACsCGwCK}CQuCUcDMsAKiAsDya@Ea@OcBkD_`@yAoPOuAKuAMsAMsAMuAKsAMsAMsAMuAMuAMwAyFqo@E[@g@yAmPGk@{BaWcAaL_@gEO_BEg@Eg@Ca@QsDC_@Ca@C[Eg@Eg@[qDCa@Ec@Cg@Eo@A[Cg@AMA_@A_@?_@?_@?_@?_@@a@@a@@Y@_@B]B_@B]D]D]Da@F[D[F]H[F[H[HYH[JYJYJWJYLWLULULULSNSLSNQNQNONORQRQHIPKPMPIRKPIPGRGPGREREPCRCPCTAP?R?R@R@J@RBRBRDRFRFZJXJt@Xt@XzB|@z@\\z@\\l@Xl@Xj@Vj@Vj@Xj@TTHXJTFXHdATRFNDRFhDtArAZr@Xf@Rn@Vn@Xh@Rf@Td@P|B|@`JpDv_@jOp@VdLrE~@^zCjApPzG`c@|Prn@rVFBrAh@dBr@ji@fTzDzAlDvAdM`FzH|CzClAnAd@jAf@dG~BlEfBtAj@pAf@??vPzGf_@`O`C~@", + "łódź dąbrowa pbs|łódź widzew": "epwzHqravBeCc@iCc@i@KwAUqDs@qCo@QEiBa@_AS_BUgAO_@Es@G_COyBMwAKcEWaO{@oAImHe@sAIaAGo@CwBOUM_EWeDS}@Ge^wBw@Eu@Go@Gm@Ig@I[G[Gm@Oe@OYIg@Qc@Qm@Yk@Y]S]S[Se@[e@]]Y][OMc@a@a@c@[]UYWYc@k@c@m@a@o@c@q@]k@[m@[m@[o@_@}@_@{@Wo@Uq@]eA[cASs@Su@YgAWkAUcAScAOu@]iBWaBMy@My@Kw@Iy@I{@G{@E{@E{@Cy@C{@?}@?{@?{@@w@DoAF{ADu@As@TgEHmAKq@`@gFHU}AwCNa@Nc@Nc@Ng@ViAJe@Jg@RqAFg@j@a@Fo@Yy@RkCr@oB", + "gałkówek|rokiciny": "cqvzHqbnwB?uBImDC{AAyAAuA?uA?m@@g@@mABuADoADqAFsAFuAHcAJqAVsC\\wC`@uC\\yB^wB|@mFzB{M|@sFCOT_BR_BLgAJiAJgAHgAHgAFkAFgADgADgABgABmC@mA?kACsCGwCK}CQuCUcDMsAKiAsDya@Ea@OcBkD_`@yAoPOuAKuAMsAMsAMuAKsAMsAMsAMuAMuAMwAyFqo@E[@g@yAmPGk@{BaWcAaL_@gEO_Bs@aIGi@IeAEa@Ee@Ci@Q_DFGCg@IGBg@A[Cg@AMA_@A_@?_@?_@?_@?_@@a@@a@@Y@_@B]B_@B]D]D]Da@F[D[F]H[F[H[HYH[JYJYJWJYLWLULULULSNSLSNQNQNONORQRQHIPKPMPIRKPIPGRGPGREREPCRCPCTAP?R?R@R@J@RBRBRDRFRFZJ^Ut@Xt@Xx@Z@L|@\\AJz@\\z@\\l@Xl@Xj@Xj@V^NHRRCXJRVXJTFJOb@OPJFVPFNFL?\\`@hDtArAZr@Xf@Rn@Vn@Xh@RV?NTd@PzBhAxj@zTp@XjMbFZBp@b@zSlIrrAth@DBtAh@rl@lUzDzAAJnFvBxBz@vBz@`K~D`E~A`Bp@TAjAf@dG~BlEfBtAj@pAf@??vPzGAJfBr@dBp@fBr@xB|@vFzB`FrB`Bn@\\N`Cl@", "rozprza|myszków": "e`bxHyg~vBrE~Ct@f@hPfLf@^j@`@v@f@x@f@z@h@v@b@n@\\x@`@fAf@bA`@r@Xt@Vv@XF@v@V`AV|@Tv@Pt@Nr@Nz@N`LlBp\\tFrEv@|@N`AP|@PbARd@Jd@Jl@Nj@Nh@Lh@PHB`@Lf@Pf@Pn@Tl@TVLz@\\~@b@|@`@v@`@z@d@x@d@z@h@t@d@tGdEfH~ENHbM`IjbBzeAbElCrD~B`XtPjs@jd@l^jUxDbCnG`EdDvBhAr@xBzA|AdAt@f@n@`@~BzA~CpBf@ZlAx@~BxA`Al@l@`@l@`@p@d@n@f@n@h@n@l@r@n@p@p@r@t@l@n@n@r@l@r@n@t@l@t@j@r@n@x@l@x@f@r@f@x@h@x@`@r@`@t@hCxErF~JzCxF`BxCHNn@hAjAxBl@fA^r@h@|@b@p@h@t@b@l@d@n@X\\RRFFZ^f@h@j@j@h@d@l@f@f@`@n@d@l@`@p@b@fBlAd@\\n@b@d@\\j@d@d@`@d@d@d@d@b@h@b@f@b@l@`@l@`@n@`@n@^n@\\p@^t@^p@\\t@Zt@Zv@Xt@Xx@Z~@Vz@VbAXbAT~@RbAR~@Px@JNRlARlARnARtAvI`l@hQhlAn@jEzRrrAtI~k@|@dGnAnIvC~RnC~QjNt_AzMz}@|CvS`Nd~@PlATzAPhARjARhANt@P`ARz@Ln@DPRx@Tz@Tz@Tv@Xz@Rj@Nd@Vn@\\bA^x@\\x@`@z@^v@b@v@hAjB^l@\\h@d@l@b@j@b@f@f@h@d@f@h@f@f@d@j@d@j@b@f@^l@\\j@\\p@^h@Xj@Tf@Rh@Rl@Rh@Pj@Nj@LND\\Fl@Jp@L|NdClJ|A|Ex@bPpCnGhAlWfE`BXVRD@jF|@vCf@dHlA|aAlP`ARn@Ll@Nl@Pl@Rn@Rl@Tl@Vj@Vp@\\r@^r@b@r@b@j@\\`@X\\Rr@d@v@j@n@d@t@h@n@j@r@n@n@l@l@n@j@n@XLZ^j@t@l@t@f@t@p@|@h@z@j@~@f@x@h@~@d@~@f@`A^|@d@fA`@`A`@fA`@fA`@lA^fA`@pAVz@d@~A^rA\\lA\\nAZpAZnAZtAXnAXrATlAVrAP|@BNTrA|E`[tEhZRtATrATlATlARdAVhATbAXbAXdA\\jA@BLd@Nd@Z~@^dA`@fA`@`Ad@dA^z@f@dA`@t@j@bAd@v@f@x@f@r@j@x@f@p@l@t@j@p@h@j@j@l@n@l@h@d@p@h@h@b@t@h@l@`@r@b@t@`@t@`@nGfD~IvErKvFtEbCbUtL|r@b_@@@r@\\v@`@r@^x@\\l@VZNd@Pp@Tr@Vn@Pp@Rn@Nn@Jl@Jj@Hp@Hl@Fj@Bl@Bn@Br@@t@?p@?z@?x@Cx@Cx@EtKg@L?`v@iDVAxJYj@Ct@AbACrBEhBExCMdI_@VA|`@gBlCOxKi@vESbMk@ZAhFUhDQd@Ab@Af@Ad@?r@@l@@N@l@Dh@Dj@Fn@Hp@Lh@Jn@Lx@TRF~@Zj@Rn@Vj@V^NPJn@\\l@\\n@^j@^l@b@n@b@p@h@dBnAt@h@t@h@nXbSHD`h@j_@boAb~@XRlvA|cAvDpChGpEpDlC|MvJf]zVLHjWfR^XlUfPt@h@lo@de@bq@pf@pBxAvIlG`@XdChB~C|B`YpS`SvN`HbFTPrCrBfE|CtGxE\\Vb]xVnBvAtObLtNjKt@h@n@b@p@d@p@b@p@^r@b@p@^x@`@xBbAh@Td@Rh@R`@NTHRHn@R\\J^Lf@Lj@NZHr@Pv@Pv@Nv@NbN`C`R`DdTrDn\\zF`KfBZF|KlB~\\~FjXxE|ZnFnVrEpWlEbU`EjKhB\\FfEr@lGhAjItAdCb@p_@tG^FrIzAfDj@h@Jh@Ld@Jb@Ld@Lb@Nf@Pj@Td@Tf@Th@Xh@Zd@Zf@\\^XHFd@^b@^f@d@d@d@`@b@`@b@d@h@`@h@`@j@^f@b@r@Zf@`@r@`@r@^r@Xn@Zn@\\v@Zt@Zx@Xz@Tp@Xz@Vz@Tz@T|@T~@Np@H^Jh@P|@P`AN~@DXHf@LbANbAx@pGzCfV`@bDb@dDrUhjBn@hF~LhaA`@bDb@fDvI|q@dLp}@pFnb@`CnR`C`RNlAPtANvALjANrANrALrANvAlDx^Z~Cr@tHLnALtAVjDJrALpAJtALrAJdAlDr^XvCjBrRLpAJlALpAJlAV`DJlAJpAJlALrARnBHr@JdANzA^dDZhCJ`ANrAl@fGVfCt@nHNtANrA^fDNvANrAfB|Q~Dza@rS~vBtGtq@LX|B`VJ`ANvAJ`ALdAJ~@N`ANbAP`ANz@ThAPx@VbAT|@T|@Vx@V|@Tp@Xt@Rj@Xp@Vl@Xh@Vh@Zj@Zh@^l@rAtB\\h@\\h@?@p@bA\\f@Z`@X`@`@b@Z^^^\\Z`@\\\\V`@X^Vh@ZnAr@|GvDvN`I~@h@lBdAnC|AvD`Cpo@d^zb@`VdUfMpAt@j@Zf@Zf@Xj@^b@Zj@b@d@^f@b@d@b@f@f@`@b@b@h@b@h@d@l@b@l@^j@`@n@^n@`@p@\\r@\\p@Zp@Zr@\\x@Zx@FLRf@lBfFjAzCt@pBv@xBv@tB~BjG`CpFjCbH~@fCbLfZFN~K`ZfE~KHT~AdE\\~@b@dA^~@d@bA^|@d@~@`@v@h@bAd@z@d@x@d@t@LR\\f@h@x@f@r@b@n@l@t@X\\TXf@j@h@l@l@n@f@f@j@h@d@b@h@b@b@\\j@b@`@Xd@Z`@Vf@Xb@Tf@Vf@Vj@Tl@Vn@TnBp@zAh@`AZp@Vj@Pt@Rh@Ll@Nf@J\\FPBh@Hn@Fd@Fd@Bb@B^Bf@@pDF`@?xCDpAB`FFfLNvABdB@xFHfDD`A@nEFfA@lAB|BBh@?d@Cd@E`@Eb@I^KZIZKb@Sb@UXQXSTQXUr@m@vAmAv@o@b@a@f@e@XYZ]V[V]V_@Va@T_@Ta@N]DGVi@Pc@Rg@Rk@Ni@Pm@Nk@Ps@Li@ZuAj@gCLq@Ls@Lo@Ly@vAsKt@oEp@sET_BRyAr@wEViBVkBb@_D`@cD|@oGf@uDf@}CzAyJ|@sFfAgGpCqNVkAZsA`@}Aj@iB`@gAd@gAz@kBvE_JxBgE`AiBz@aBf@_Ab@w@\\k@`@i@^i@V]d@k@h@k@p@s@d@c@d@c@l@i@f@c@l@e@fA{@dBiAzDcCd@YzIsFFEdNsIzXcQtK_H|AaAlAu@`Ak@`Ai@\\Sz@g@b@Wb@Ub@Uh@Wf@Ud@Sp@Yj@Qj@Sj@SHAn@Un@Sv@Sh@Od@M`@If@Mn@MFATElB[fTkD~c@kHxm@yJz_@iGx_@gGDAvCe@~`@sGfA]fBYpCc@lZ}ElKcBpN{Bbb@wGhScDj]qF|Du@xDy@fCq@`Cy@rCkArCmA|Aw@|A{@fCyAdCeB~HgGhCkChCoChGsHzAyBnEoGfTi[`N}RxE_HnAiBPUzA{Bf]_g@|MwRp@_AbFqHjEoGLSbBiClAqBb@q@d@s@`AwArAoB\\i@z@kA|@qA`HeJhHcKdSwYjEmGhFuHj\\ue@rCeEhe@sq@dVs]tAoBl@}@f@q@^g@^i@Z_@j@w@j@q@RWd@k@DEx@}@nByBHId@Yl@q@n@q@p@q@l@k@l@k@n@m@n@k@j@g@r@m@n@g@n@g@n@g@dBoAr@g@n@c@r@e@r@c@r@c@t@c@t@c@r@a@lFuCbOeIdOeInb@kUzAw@xDuBpJiFdVsMfAm@zEiCrC}AFCfE{Bhd@qVZQHE|\\}QFCdRqKRKnYwOXQ~PkJt@a@t@a@j@]PMb@Wp@c@p@c@l@e@r@g@zIwGVQhF{Dp@g@p@i@l@g@p@o@VS`@a@f@g@n@s@j@o@j@s@l@s@f@s@l@w@f@s@l@y@f@u@NU\\i@h@{@h@{@j@aAf@{@b@y@b@y@lA}Bb[}m@hNmXDKtMoWf@_Ad@cAd@aAf@eAd@eAb@aAZw@HQ`@eAb@eAd@mA\\aA`@gA^kA`@iAZcA`@qA\\iA^oA\\mAZmA\\qAZkA\\wATaAViAXsATkATeAp@mDlBcKpAaHj@yCtB{KlDcRrBwKtGq]zAaI\\gBzBwLb@{Bl@}Cl@cD", "myszków|zawiercie": "uwssH_yauBjJ_g@hCgNrAkHjBwJtAqHp@eCVkAVmAT_AXeATy@X{@Vw@Vw@Zy@Xs@\\w@Zs@\\s@^s@^s@^o@b@q@^k@`@m@`@i@d@k@b@g@`@e@f@g@d@c@f@c@b@_@l@e@`@Yj@_@f@Yh@Yl@[f@Ul@Wl@c@zRgHb@Q^M`@Ol@Uvt@aXvEcBvFuBnPcGfMqEpFoBrEcBzCiApBs@fE}AVIt[iL~Am@~GcCfE}AbDiAnLiEvEcBr@Yv@Yp@Yl@Wr@]n@Yr@_@r@a@FCj@]p@a@r@e@p@c@t@i@r@i@n@i@r@k@n@k@l@k@j@i@p@q@h@k@r@w@l@s@l@s@j@s@h@s@h@q@h@s@rOaT~B_DpC{DdE}FpAgB~@oAzJeNXa@fI_Lj@u@R[bKmNvQyVX_@fJkMjJoM`EwFt@cAh@u@h@y@^m@DGh@y@t@kAv@_Ah@y@`@o@d@q@\\a@^e@\\_@XYZY\\YXUXSDAXS^SLGNGZQZKZKd@OPETEd@Kd@GFAb@El@EbBGn@Cr@CxBI|CKD?~CKtBIbAEl@Aj@Al@Af@AbACv@Ah@Cf@ApBIhFW~DQ`@AfEStI_@NAxDQ~FWn@El@Ej@Ez@KpCYp@Gt@Gv@EnAGfCK", "dąbrowa górnicza ząbkowice|dąbrowa górnicza huta katowice": "gmkrHo`qtB|AhAPLT@`@ZDDpA~@b@Zd@Zd@Zd@Zd@Zd@XDBXN^RVNTLVLVL^P`@P`@P^PHBb@Rj@TxAj@`A^`A\\\\NTHVJh@PbA\\t@Tl@Nf@Nn@PhAVpEdATFrBd@vA\\fAVPDb@Jl@N|A\\TF`@HXFZFZFXDTDTBVBTBVBVBV@V@D@V?L@T?T?Z?Z?X?ZA\\AhBIfCMpAIzAKZC|@Gx@Iz@Kz@Kz@Mx@Mz@O|@OrBa@lB_@pBc@r@Or@QdBa@XGHAfDw@z@U`AWJAr@SrA]b@KDCh@Oj@Qz@[RIr@WfAe@h@SDCpBw@`@EdCcAfCcA", @@ -771,7 +774,7 @@ "maków|dąbrowice skierniewickie": "_~_|H}djyBp@wHv@uI~BsWx@eJZkDZmDZoDZgDFo@Da@JiAv@yIVqCrBiULsAfA{LLuAtB_VxAaPpCc[Fm@fAuLzAwPDg@zAsPt@oILuAtF_n@V_BJsADi@Fk@Fu@Du@Fw@Ds@Dq@Bu@Ds@Bs@@u@@A@k@", "dąbrowice skierniewickie|skierniewice": "wf~{Hi}tyB?G@s@@u@E_@@U?u@@u@?O?c@As@?u@Au@As@Au@Ai@Cy@Cy@Cm@Ck@A]GiAEo@Em@Eo@Em@Go@Gq@Go@Iq@Gq@Im@Io@Io@Km@Ko@Km@Km@Km@Km@GWEUMk@CMIa@Oo@Om@YgAWiAsMyg@w@wCOk@Ok@Ok@Oe@Me@Oe@Oe@Oe@CIK[Oc@AAOa@Oc@Se@Se@Se@Ue@Se@Uc@Uc@ACS]KQIQOUGKU_@Wa@U[ACW_@W]Y]W]Y]SUEE[[Y[ECSU[Y[YGESQ[W[U[U]Uc@WUO[QOIOI[O]Q]M]O]M_@M_@M_@M_@Mq@Sq@Sqn@uQ_HqBsF_BeA[{Ac@SSwKaDOE_@M_@K_@M]M[M[M[MYOYMQKe@W[SYQ[SYU[UYUYUYWGGQQYWWWUWWW[_@EGSUOSW]W]W]U_@W_@U_@S]U_@CEO[Q]Q]Q]Q]O_@Q]M[O]M]M_@M_@M_@K[K[I]K[I]Om@Mk@Mm@Om@Mo@Km@AEKe@]aBSm@Oq@Ic@_@qBEQOw@a@sBQw@a@sBACsAyGIG", "skierniewice|puszcza mariańska": "uqd|Heu}yBm@wCw@}DKg@Ke@Kg@GYK]GWGWI]e@gB]wAMe@Me@Ke@Ka@Kc@Kg@AGMq@a@kBc@yBQ_AOw@AGMm@Km@Mo@kA{Gm@iDMq@Mo@Mq@Mo@Ko@GUaBoIoAuGaA_FaA}EaGsZw@aE_@iBaC}LkHg_@Ou@Ou@Km@Ks@Mu@Kq@Is@Ks@Kw@Iy@Iy@Gm@Gw@Gy@Gq@Ew@Gy@Cs@Es@C_ACs@Cu@Cs@]aOEgAMsFUoJO_GIgDAo@A_@Ag@?G?c@?k@?c@?e@@c@@g@@a@Bc@Bi@Ba@B_@Dk@Da@D]D]Fe@Fc@Hi@D[H_@Ha@Ha@H]Le@Jc@J_@Pk@Ng@Ng@Ts@^kATuANe@Ne@Lc@Lc@Ja@H_@Lg@J_@Je@Ji@Ns@Ny@t@}DNy@Ny@DWLu@Lu@Hi@Ho@Jy@Fk@J{@Fm@Fo@Do@Fq@B_@@YDg@FcAd@eJXgF|@aQZyFv@gO`AeRD{@D{@Bg@@UBy@D_A@}@B}@@y@?{@@q@?E?_AAaA?{@A}@Aa@AYAo@Ak@Ck@Cs@Aa@Ck@E{@Ew@Gy@Gy@G{@I{@CWGs@Is@Im@Iw@Kw@M_AMw@O}@O}@Q{@QaAmB{JQaAw@yDIc@EQOs@a@yBUuBe@}B_A{EeAqFsAeHkBuJe@gC]mBUwAQqAS}AUiBQcBOaBOgBMgBKgBKoBGeBGuBEeBC_BC}A?qAIyVEsPEcQKi]Kkd@Sqa@?KG_PAsEEiRCsKAcEIy[AqEAmF?eB@oB@eBBkBFmCHoE~@sg@RkK~BioAPqIx@}b@ByA", - "puszcza mariańska|skierniewice": "spf|Har`{BCxAy@|b@QpI_ChoASjK_Arg@InEGlCCjBAdBAnB?dB@lF@pEHx[@bEBrKDhR@rEF~O?JRpa@Jjd@Jh]DbQDrPHxV?pAB|AB~ADdBFtBFdBJnBJfBLfBNfBN`BPbBThBR|APpATvA\\lBd@fCjBtJrAdHdApF~@zEd@|BTtB`@xBNr@DPHb@v@xDP`AlBzJP`APz@N|@N|@Lv@L~@Jv@Hv@Hl@Hr@Fr@BVHz@Fz@Fx@Fx@Dv@Dz@Bj@@`@Br@Bj@@j@@n@@X@`@@|@?z@@`A?~@?DAp@?z@Ax@C|@A|@E~@Cx@ATCf@Ez@Ez@aAdRw@fO[xF}@`QYfFe@dJGbAEf@AXC^Gp@En@Gn@Gl@Kz@Gj@Kx@In@Ih@Mt@Mt@EVOx@Ox@u@|DOx@Or@Kh@Kd@K^Mf@I^K`@Mb@Mb@Od@Od@UtA_@jAHlBIt^If_@CzE?|A?r@@t@?x@@v@?t@@t@@v@@v@Bt@@v@Bt@Bt@Bt@Bv@Bt@Bt@Dv@Dt@Dv@Dr@Fr@Dr@Fr@Hr@Fr@Hr@Hp@Hr@Hp@Jp@Jp@Jp@Jp@Lp@Jl@Ll@Jj@@@RfATfAJf@bC|LZ`BfBzI\\dBv@zDfChMhClMhEjTvBpKLl@Jd@P|@P|@Hd@Hd@Hd@Jh@Hh@Hh@Hl@Fj@Hl@Fd@RbBDZF`@Fb@Hh@Hh@DZBLJh@Hb@Jj@BLFXF^TfAtA|GFZNr@lAhGl@vC`@tBJb@n@dD", + "puszcza mariańska|skierniewice": "spf|Har`{BCxAy@|b@QpI_ChoASjK_Arg@InEGlCCjBAdBAnB?dB@lF@pEHx[@bEBrKDhR@rEF~O?JRpa@Jjd@Jh]DbQDrPHxV?pAB|AB~ADdBFtBFdBJnBJfBLfBNfBN`BPbBThBR|APpATvA\\lBd@fCjBtJrAdHdApF~@zEd@|BTtB`@xBNr@DPHb@v@xDP`AlBzJP`APz@N|@N|@Lv@L~@Jv@Hv@Hl@Hr@Fr@BVHz@Fz@Fx@Fx@Dv@Dz@Bj@@`@Br@Bj@@j@@n@@X@`@@|@?z@@`A?~@?DAp@?z@Ax@C|@A|@E~@Cx@ATCf@Ez@Ez@aAdRw@fO[xF}@`QYfFe@dJGbAEf@AXC^Gp@En@Gn@Gl@Kz@Gj@Kx@In@Ih@Mt@Mt@EVOx@Ox@u@|DOx@Or@Kh@Kd@K^Mf@I^K`@Mb@Mb@Od@Od@UtA_@jAUr@Of@Of@Qj@K^Kb@Md@I\\I`@I`@I^EZIh@Gb@Gd@E\\E\\E`@Ej@C^C`@Ch@Cb@A`@Af@Ab@?d@?b@?j@?b@?F@f@@^@n@HfDN~FTnJLrFDfA\\`OBr@Bt@Br@B~@Dr@Br@Fx@Dv@Fp@Fx@Fv@Fl@Hx@Hx@Jv@Jr@Hr@Jp@Lt@Jr@Jl@Nt@Nt@jHf_@`C|L^hBv@`E`GrZ`A|E`A~EnAtG`BnIFTJn@Ln@Lp@Ln@Lp@l@hDjAzGLn@Jl@Ll@@FNv@P~@b@xB`@jBLp@@FJf@Jb@J`@Jd@Ld@Ld@\\vAd@fBH\\FVFVJ\\FXJf@Jd@Jf@v@|DLRHd@D\\Fd@P`@", "skierniewice|dąbrowice skierniewickie": "kqd|H}t}yBrAxG@B`@rBPv@`@rBNv@DP^pBHb@Np@Rl@\\`BJd@@DJl@Ln@Nl@Ll@Lj@Nl@H\\JZH\\JZJZL^L^L^L\\N\\LZP\\N^P\\P\\P\\P\\NZBDT^R\\T^V^T^V\\V\\V\\NRRTDFZ^VVTVVVXVPPFFXVXTXTZTXTZRXPZRd@VPJXLXNZLZLZL\\L^L^J^LNDvK`DRRzAb@dAZrF~A~GpBpn@tQp@Rp@R^L^L^L^L\\L\\N\\L\\PZNNHNHZPTNb@V\\TZTZTZVRPFDZXZXRTDBXZZZDDRTX\\V\\X\\V\\V^@BTZV`@T^FJNTHPJPR\\@BTb@Tb@Rd@Td@Rd@Rd@Rd@Nb@N`@@@Nb@JZBHNd@Nd@Nd@Ld@Nd@Nj@Nj@Nj@v@vCrMxg@VhAXfANl@Nn@H`@BLLj@DTFVJl@Jl@Jl@Jl@Jn@Jl@Hn@Hn@Hl@Fp@Hp@Fn@Fp@Fn@Dl@Dn@Dl@Dn@FhA@\\Bj@Bl@Bx@Bx@@h@@t@@r@@t@?t@@r@?b@?NAt@?t@ATD^At@Ar@?F", "dąbrowice skierniewickie|maków": "wf~{Hi}tyBAj@A@At@Cr@Er@Ct@Ep@Er@Gv@Et@Gt@Gj@Eh@KrAW~AuF~m@MtAu@nI{ArPEf@{AvPgAtLGl@qCb[yA`PuB~UMtAgAzLMrAsBhUWpCw@xIKhAE`@Gn@[fD[nD[lD[jDy@dJ_CrWw@tIq@vH", "maków|płyćwia": "_~_|H}djyBCT[lDMnAsBpUCfASvBMrAMtAGr@Er@Gp@Et@Gp@Er@Cp@En@AXAVAp@Cp@Ap@Ap@Ap@Ar@?p@?p@?p@?p@@p@@r@@p@@p@Bp@@b@Bb@Bd@@f@Dp@Dn@Dp@Fn@Dp@@LD`@Fp@Hn@Fn@Hh@Fh@@LFZHj@Hh@Hj@Jh@Jj@Hd@Ll@Lj@Lj@Nl@Lh@FVFRNj@HXFNNh@Ph@Nb@JZFPPf@Rf@Pf@Rd@DHLZRd@Tb@Td@HNHRXf@HNNVNXRZXb@V`@V^V^X\\V\\X\\XZXZXXXZXXXVZVZVXVZTZR\\TZR^TXNVN^P^P\\Nn@Xn@Xl@TnAf@xIlD|D~Ap@b@b]bNjKdE`@N`@P`@P^N^P\\P\\PZPXNVP\\TZRZTXVVR\\XZVXXXXVXXZXZVZX\\V\\V\\T\\V\\Vb@RZR\\JRNVb@v@b@z@h@bALVVThAxBTb@|@dB`E`ItAnCf@`Af@`ATb@|A|C|@fBHNrB`E", @@ -787,6 +790,7 @@ "bedoń|łódź andrzejów": "yzvzHqt{vBMlCIjAIbAKfAI|@AFKbAMhAId@U`Ba@fCUfASbAi@fCo@nCmIz^_FjTOj@c@lBc@pBaA~Dw@vCgAtDo@pBw@zBcD`JaNp_@", "łódź widzew|łódź niciarniana": "me}zHgwfvBm@tHGn@qAlPGn@WjDa@tFK~AKxBGnAErAIxBSjHCtAYhKMnBSxH[jLKvDKxDIvCGtBG~BMlEQ|ECz@Cx@InBUxFIzBExAGnBEbAO`GGnCGnC", "łódź niciarniana|łódź fabryczna": "ov}zHow`vBIjE?RErCEhBGhD_@xNCz@yDvvAI~BS`GGdE_Ar]C|@GnAG`AWjDOjDs@dJCZCZEj@Ep@C`@Cd@Ad@Af@Cj@Ah@Aj@I`EG|C", + "żakowice południowe|koluszki": "cgvzHqm|wBQoDCa@Ca@Ea@Ce@Ea@Ga@E_@G_@E]I_@G_@I]I]I]K_@GQMa@Oa@M[K[MWOYMWOWOYOUOSQUQSQSOQQQSQOKSQUOSKSMUISKSIUGUGSGUCQCUCUCUAUAW?S?U@UBU@UDUDODOBODOFUHUJWJQJSLSLg@\\{B`B[V[TSNSLSLQHIDOFYLIDSFSFSFUBSDS@YBQ@S?[AQAYCWESCSESGUGUIICSI{Am@i@Sk@DSYMEMEMEUBWIWIMEKY]H{Ab@yAk@]MUIBW{Am@KWg@QYKYK{GmCKFOGg@SUY_Bo@i@Ss@Ys@[WKSB[OY]]Q]Q", "łowicz główny|łowicz przedmieście": "eg_}HmdyxBPYR[NURWRURUPQROTQVONIVKPGTIREVERARAXAT@R@RBRBfCb@pB\\PDRFRFXHLFTHTJTLRJZPRNTPNJRPh@b@b@d@b@h@`@j@^n@h@bARb@`@dAHTFTPj@V~@R`AnAhGlAjGTfAH`@Jb@L`@L`@`@jA\\`AL`@Lb@R|@Jb@H`@Hf@Jv@@HNjAFz@Fd@Jz@", "łowicz przedmieście|stare grudze": "_o}|HwewxBnAhJBPxA|KhCnRhF~_@v@~FRfAHb@^fBb@fBTt@Xx@d@nAj@pATb@DHNXXh@FFT^Zd@^f@b@f@f@h@zCnCn@j@rBfBzDdDfGjFnB`BrD`DfAz@hAz@h@^l@b@`BbAHFx@d@xAt@x@`@nAl@`Bn@dCz@pErAfHtBlJpCnCx@rDfARF`Bd@jDdAtDfAtBn@rBn@~Al@lBv@`Bv@vAt@`B`ArA|@h@\\h@^nA`Ax@l@jEzD|CnCfJdIpUnSfIhHhOvMlHrG|S`RhA`A", "stare grudze|domaniewice": "{tt|Hs~mxB`IdHdBzAhAfAxBfChBhCpAzBt@tAfA`C`AdC^dA\\hAd@zA`@~AHZ`ChKvCnMbApEbArEhCfLjCfLbArE`@hBPr@Pt@VhAVjAp@tCd@rBx@vD^zAdDzNbEvQbExQd@pBzC|M@Hr@zCThATlAP~@L~@Jx@J|@F|@H~@Bl@Dn@@j@Bp@@h@@l@?j@?l@?|@?~@C`C?n@CxC?r@?dA@fA@|@B`AF`AFfAHdAJdALbANbALt@Nv@ZxAVdAXhADTt@vCzJ`a@|E~RnB`IlB|Hx@dDvDjOpAnFfRhv@xEpRjDnN", @@ -810,6 +814,7 @@ "łódź stoki|łódź widzew": "up_{HazavBjA{EzAiGfBgHNm@V_Ax@iCVq@`@eA~@wBl@sA`@{@|@kBJSp@wAl@mAzGoNl@oAtAwCtAuCfCmFzHkPbAuBvCiGHOtBmEz@kB`@{@^_ANa@Nc@Nc@Ng@ViAJe@Jg@RqAFg@Fi@PaBRkCr@oB", "żakowice południowe|słotwiny": "uhvzHeuxwBHo@D]B[Dg@BYD[D[r@gFRwAb@aDLy@Hq@Hq@Hq@Fg@Dk@JiABe@Dm@Be@Bc@?OBe@Bs@Bu@@u@@u@?u@?w@?u@Au@Aa@?KAm@Ao@Cc@Ac@EeAEaAEaAkCyj@SaEGgACq@E}@?_@Ai@A[Aa@A_@C]Eu@Ew@Cm@Eg@UcDE{@E}@_@kHQwDAOs@gOGsACe@Ac@Ae@Ae@Am@?s@?q@?q@@s@Bq@@q@Dq@Bo@Dk@Dm@?CDe@Fk@Ho@D_@D_@Hg@F_@Fa@F]H_@H_@H_@Jc@HYH[H[Pk@n@wBvAsEJ[J[L]L]Pa@JUFOd@aAf@gAlB}D`AwBN_@?O", "słotwiny|mikołajów": "{wuzH_o`xBv@_BN]t@}A|CsGxGmN|B{Eb@}@xA}C`IqPdCgFv@cBBGzBwErAsC`@y@`@w@\\q@f@y@d@w@h@y@f@s@p@aA`a@uk@bReX", + "warszawa zachodnia peron 8|sędziszów towarowy": "yxu}Hgo{~BFVHXFXHVHVJ`@L`@f@hBHXFVHXFVLb@Lf@Lh@L`@FXFXHXFZH^TLVRFXFXFXNt@DXFZDXFZDXFZNfAFd@F\\BTBRP^DZDZBTF^DZDZBZDZDZDXDZDZBZDZDZDZBZFd@BPDZBZDTNZNZTCFf@Hd@Hd@Hb@Hb@H`@HZJb@Lb@BHH\\L\\J^L\\L^L\\P^N^P\\N\\PZPZLRLRNTNTRXRXTVBf@JFNJb@V\\N`@PPHd@R`C`Ad@RRFRFZHVFTDVBTBT@X@R@T?XARAf@EFA`@G`@I^Kb@M\\O`@S^U\\U^Y\\[ZWvA{A`@c@dDkDpCuCz@_ARQ\\[tAgARQLK\\Wj@e@LMVS\\]h@i@h@k@d@e@x@}@dAoA\\e@Xg@T_@P_@Te@Pe@Pg@Rm@Rw@RaAJe@F]Hg@BQHg@Fa@d@eDdHig@tDwWd@gDd@eD|A{LJw@Ju@PoAh@qDt@eFh@eDPeARmA`@mClA}Ir@yEnAyIjCaQ`BsJ|@aGF]~@sGx@iFXkBPcALi@Lm@Po@Nk@@CNe@Pi@Vm@LYFMVi@Vg@Xe@Xc@Za@Za@NOJM\\]^]\\YZUb@W^S`@Q`@O`@M`@Ib@I^E`@Cf@Cj@A`AChIGdCCjFGfCAbFCtD?`A?jEEtFEJAlDC|CEH?nDEjEEtBAzCCpGGtBC^?T?jDEvAAL?R?h@AnAAR?`BC\\?|@A\\Az@Q^AfBA|ACzBAp@AfBA`GG^AnEEbHGhBA`AAd@AN?t@Aj@A~@Al@Cp@CbAGhe@gChH_@hBKlAIp@CNAdIc@hCO\\AvEW\\CtCO`EUrVsAH?fEUxCQ^ChEUhHa@r@ElF_@jAIjCQ`@CbAGxAI`Ki@rJi@D?fEU~CQj@CTCzAIpEUzDUtBK|Ji@`@C~AIjDQhAIbEUrAGRC~BKbHa@xCOtCQbAGfJe@vIe@vBMtAItBKB?pDSrDSVAtCQfH_@fEU|G_@dIc@xG_@rFYv@EbAGbAGTA~AI~BMvAITAt@Gv@Ct@Et@Ep@Cz@C|EOt@Cv@Cv@Ex@Gl@E~@Kz@Kv@Kv@Mp@MbASt@OLE^Iv@Ur@Sh@Qn@Un@Yz@_@h@YHEn@]v@g@f@]v@k@rDsCpGaFDC`DeCbBqAjA_AzAkAFE\\WnCwBVSzBgB^YTSl@g@l@i@^[LMn@m@X[TUtNgObBgB~@_AnEyEzCaDzB_CNQFEbDkDf@i@vCkC`DgDfAiA~JqKvD_ErAwAhAkAfAkAhAkANQdAiAdAgAf@i@d@g@XY|AcB|CcDl@o@tA{At@u@j@k@l@k@n@k@f@c@xAmAj@a@z@o@v@i@vAaAdCeB|B_Bd@[dH_F`EsCnA}@d@[lDcCr@e@p@e@p@a@n@_@r@_@l@[n@Yp@[r@Wl@Sn@Sn@Qn@Qn@Op@Mp@OlM}B|Bc@^Gj@WpDo@zCk@RC|@Qr@Mt@OFAh@Kt@Qt@SXITGr@St@Wr@Wp@Wd@QLGp@YRK`@Qp@]@Ar@_@rBeA^SdCqAfDgB`Ag@lNoHnDkB~CcBfDeBnLiGzHaEhBaA~HcEbB}@l@]HCNK\\OhDiBdDeBj\\aQbVgMbDcB`Ag@lHyDnIoEPIpIoE|EgCbJyEnAq@fB_ApIoEzC_B~GoDbAi@hIiErM_H`DcBvH_E`@SbDcBlDkBZQjAm@pAq@t@_@hBaAlJ_FTMDCj@YvAw@tOgIzDqBr@_@bB}@pBeA~F{CnAq@zCqAh@[fIgE^SdEwBp@]n@]rFqCx@a@vDmB~C}AdCoAvEaCt@_@\\QtGeDn@[`By@pJ}EhCoAv@a@b@Uf@WhAk@fDcBrBcAt@_@`@UPIr@]p@[p@[t@[t@Yt@WhA_@|@U@?~@WvBi@^If@MvEkAnCq@\\ItEiArA[fBe@lD{@pD{@PG~HmBTGhKgC^KpG}ARE|@UhDy@fEcAFChG{AjEgAl@MFCpHiBv`@sJ~Cu@nD{@bBc@pJ}Bp@Qj@OxAi@|GaBTGzEkA`b@aKNE\\InD}@nD{@XG~IyB`AU|@U|OyD`JyBhOsDdD{@|D}@|U}FvBg@bAW`@KzD_ArCs@v@QnCq@b@KFCb@KXGfG{A`Ck@tD}@hD{@~TqFjHeBPEfAYtKkCFAhCo@hBc@zD_AzJcCfY_Hv@SvJ_CpA[vJ_CbOqDdAWt@QtJ_CfFoAbJyBJCzJaCXI\\InD{@nD{@bDw@`HcBhOsDhAWp@QnHgBbCk@`JyBfBc@b@K|HkB`@KtA]NEbJyBDAhKeCv@S`B_@dAYxJ_CrHiBbAU`@M|Cs@`Dw@BAxD_AdCm@|FuAZIr@QzBk@nDy@pCs@bS{EdAW~FuA`M{CtCq@xD_Af@MREp@STIf@On@Sp@Wn@Wl@Yr@]p@_@HGd@Yn@c@j@c@r@i@b@_@LKj@g@b@c@LKp@q@d@e@RQ~DaElDmDnAqAhCgCz@{@\\_@fJgJtHwHBAxM{Mr@s@f@i@r@w@n@q@l@s@l@u@l@w@l@w@pBsCV]lCuDlCuDbBaCv@gApPoUrX}_@fDwE`HsJdDeEfDwEX_@^i@vHkKDGdH{JX]bE}Fl@{@h@s@pDcFxAqBzDqFhA_BjBiCbE{F`FaHp@_AlFqHpAiBV[hBiCbAuALQX_@h@q@f@k@b@e@`@_@\\]LMXURORQd@]f@]PKVQh@[n@[j@WNG^Oj@Sl@Qh@MPE\\If@Kh@Gn@Ih@Ef@Cl@Cl@AH?nACp@Ad@Ah@Cl@Eh@Er@Iz@O^Ih@KXINGh@Oj@Sl@Un@Yn@[nAo@l@Yv@_@hAk@hDcBVMjAk@bAg@fDcBdB{@`Ae@z@a@\\Qv@a@zC_Bt@a@r@_@hFgC~GiDxBeA~MwGnFmCl@Y@Ap@Yn@Wn@WTIXKn@Sr@Sl@Op@Mp@Mn@Kd@ILAn@Ir@El@ENAd@A`@AVA`@?H?n@?t@BH?h@@n@Dp@Ff@DJ@n@Hp@HbANpDh@rPfChBVzFz@lBXxAThJtAr@JrDh@tK~Al@JzEr@`BT~B\\~B\\|Cd@f@H~Cd@VDd@FvDj@dC^b@FfLdBn@HfAPpO|BvARpFx@rEp@jDf@lPbCvG`AtATvBZfAN`@F`P`CpEp@rLfB`@FzDj@dC^zEr@H@zO~BdANdDf@vHhAbJrAlIlAfDf@`G|@`BTh@HpO|Bj@HH@n@JL@n@Hn@Ft@HZBB?XBb@BV@p@Bl@BH?v@Bv@@v@?@?Z?\\?r@?dA?|TBzC?tD@pD?N?R?hK@J?^?fA?lJ@~D@F?xJ@N?fL@r@?z@At@AVA`@At@CRCb@Cb@EXCn@G^CfAMtBUz@InBS`AKfAM~OaBjJaAfEc@lFk@p@Gt@Ir@Er@E^ARAr@At@Ar@@r@Br@Br@FR@^Dr@Hp@Jh@JH@p@Np@Np@RLDd@NXJ\\Ll@Tx@Zd@TlDzAdBt@l@VPCd@Pn@Tr@V`@LNFp@Pr@Pp@Lr@Lr@Jt@Hn@Fp@Ft@Br@Bx@?v@?v@Cv@Cv@Et@Gv@GjUsBfAIt^cDnh@uE|Ec@b@CbQ}AJAjJ{@^CfGi@t@IzJ{@vIw@|D]zD]hD[bIs@~BSr@GH?XC~COJAhDK|@CH?r@CjBGjCGtBGNAfBEhGQvAExd@qAnUo@dJWjM]l@ClAEjWs@lEMvCIhg@uAfCGlAEr@C|BGXAx@Cv@Af@?F?p@?z@@|@BH?pAB|ABhRZj\\h@dABjABtDFpDF`@@D?xABhJNnEHdJNbHL~LRbA@pABxNVbJNvRZxYf@|@@^@dJNlGJtJPhKPr@@bJNrNTt@BhKNL@Z@pDFtDFjDDfJPnBBdJPhCDzABdFHlABvCBZ@T?z@?BAv@Ad@AF?v@Ep@G`@C\\Eh@GdBQ`@ExC[PChBSzEg@xEi@v@IxDa@h@Gn@Gf@Ih@I^Gj@Kp@Mx@Qr@Qv@Sp@Sh@Qh@Qn@UFCZKj@Ut@[p@YTMZOp@]p@_@f@YFEp@a@n@a@n@c@HGb@[|BaBhAw@tG_Fn@c@n@a@l@a@XEXQp@_@n@]p@[n@YZOVKl@Ur@Wt@Ut@U??x@Uf@ONEzAa@pA_@t@UpBi@DCr@Sd@KNEp@Op@Ov@MBAd@Gl@Iv@I`@CRCp@Et@Cr@EN?dDKbEKxDKdBGnWs@r@Cr@Cr@Cr@Ed@Cf@EXEt@In@Kp@Kt@Op@Op@Qx@Sn@QpFwAjGaBnJgCj@O`KkCdFsA`Bc@TGxHsBFAxKuChO_EHAh@ObD{@TG^Kr@Qt@O`@IPEd@GTEj@It@IVA`@E^C\\Cr@Cd@A@?\\?R?V?r@?T@h@@^@VB|@Dx@H^DVDv@Jx@Nb@HLBx@Rf@LF@r@Tt@Vp@T`@Pd@F`@NHD~@`@lQtHnAh@rBz@nCjA|ErBdAb@~JhEnCjA~B`Al@TVJXJp@Rt@TND^Hr@Pn@Lr@Jr@Hv@Hv@F@?r@Dp@BjW|@lNf@fABnCJfJZ`DLrGTbUv@zL`@jHVfAD~GTvDLlDL`@@p@B|IZ|K^dADlFPv@Br@@p@@v@?r@Ap@Av@Cr@Gt@Gt@GhBUHAlPoBdAMfMyAjGu@rAQRC|@Mz@Mt@Mz@KzAQRA~C]rDa@l@Gl@Gr@KlAQVCv@K~AS\\El@DfBStC]TCfAKRCh@E`AGp@GLAp@GLAbBSnAO~AQnAQfAMXCVEd@Ef@Ch@Af@?d@@X@J@f@Dh@Hd@Hf@Lb@Ld@Rf@Rb@T\\Rb@XRNNJd@`@`@^`@b@^`@`@f@\\h@Zd@\\j@\\l@h@dAdBhDbFtJ`AhBzAxCLTf@`A|C`GrAlCbAnB\\r@^x@b@`A|B|Ex@`BjC`FtAnCNXR^T`@P^R\\R\\LRXd@^p@^l@Vd@@DT^R`@nBvDbFtJz@`BXl@Xl@\\v@@DXr@Tj@JVFPRj@ZdAV~@nB`Ht@nCt@hCh@rAr@bCzAlFNl@DLRz@Rr@Jd@Lj@H\\Nr@rAbGj@lC`@fBpA`Gl@lCt@fDdA~ERv@Lj@Nf@BFRr@Pf@JXN`@N^N\\P^LXR^Vb@Vb@Xb@b@n@`@j@DDh@t@t@bAd@`AtAhBHJdAvAd@p@^h@p@hAf@~@Vh@\\t@`@`AtAdDDJnBxEr@fBTh@Xt@vAtCFLjAtCP`@Xp@Zn@P`@HN\\p@\\j@\\j@f@r@X^\\`@`@b@b@b@VTLJ`@Zh@^\\Rb@VBB`@Pj@T^Ld@NVFNDf@Jh@Fh@Fb@Bh@@b@?f@Af@CXCVC\\Eb@Ij@Md@Mf@Q`@Qh@Ud@Ud@Yh@[lC_Bf@Wf@Yf@Uh@Sd@Qj@Qf@Kl@Md@Bh@Eh@Eh@AN?ZAh@@h@Bj@DTBRBf@Hj@Jt@LTFb@HnI|AjCf@j@J`ARx@Lp@Ln@LzJhBrLxBtCh@pJfBXFLBp@Ll@Nd@Lf@Nd@Pf@Rd@Tb@Vb@Xb@ZXTh@f@d@`@\\`@^d@`@h@Zf@^j@Zj@Zl@Xn@Zr@Vn@Vt@Tr@Tv@Rv@Rv@R`ALr@TjAP`AF`@hD~R~@vFvAhIpN|y@d@jCHh@FXPjAJx@L~@LfAFr@H~@F|@F`AB|@DjABlAHlETvMHjABjAFtBFxBHzBFpAHlBJ|AHpAD~@Hz@PdCHbAH|@H~@LhA~MhsAlSbrBVxBJ`ALbAL~@NbAN~@PdAPx@Lr@Lh@Nl@Rz@Pn@XhAXbAlAnEHXh@nBhD`MBHjBzGZbANb@Xv@Zx@\\|@Xn@Vl@`@x@b@x@Zl@\\l@b@t@^j@b@l@b@j@b@h@d@h@b@d@h@h@j@f@xEdEvBjBt@l@x@r@d@^^Vd@Xh@Zd@Vf@Rd@Pj@Rb@Jh@Lf@Hj@Hj@Df@Dv@Dv@BRNfBFx@Dp@@r@?t@Ap@Av@Gr@Et@I~@K`AMhPiBjIaAh@Ep@Gr@Cp@Ar@Ap@@p@Br@Bt@Hv@Hl@Jt@Np@LvUpFx@PtZbHt@Pp@Jr@Ln@Jf@F\\B`@DtBL`CRlIl@x@H`BJj@Fj@Hj@Hl@Jl@Nn@P|IfCtDfAlD`AfRnFzDhA~^nKnDdAnF|Ah@Ph@P^LNFp@Xn@Zl@\\l@\\n@b@j@`@n@d@h@d@l@j@t@t@v@v@v@x@r@t@vZ|[r^``@bDhDhIxIpQhRn[x\\nL`Mj\\t]h@j@j@l@d@j@BBh@n@b@l@l@x@d@p@f@z@^n@`@t@Xh@R`@^x@b@~@\\~@^~@\\`AZ|@Z`AvPji@rDhLtAjErA~D`@hAf@~ArCzIJ\\`AzCZbAZdAb@xA^pAbAhD`@rAxBbHt@zBdAjDx@bCXx@pAxDl@dBZ~@lAzDL\\`D`KrClJfApD^nAb@pA|A|ErGrSd@vA`@rA\\hAXdAZjATdAR~@Px@NXRlARlAPjAPtANtANrAJlAJnAFpAHvADpADtADtA@nATjTDnEB|ABzA@jABlABx@DfADz@F~@H~@Hz@Hv@L|@Lx@N~@Px@Px@Pr@Rx@Tr@Vt@Vt@Xp@Xp@Xj@Xl@\\l@\\h@\\f@`@f@\\b@`@d@`@`@b@^d@^`@Zb@Xb@Th@Vf@Rb@Pd@Nh@Ld@Jf@Fh@Dh@Dd@@h@?f@Ad@Ch@Gf@G`@Gh@Mf@Ob@Oh@Sf@Ul@Wl@[|@c@dCmA`EsBl@Yl@Yb@Qh@Qf@OJF\\If@Kf@Gf@Gd@Cf@Ah@Af@@f@Bf@Df@Ff@Jf@Jd@Lh@Rb@Pd@Tb@Td@Xb@Xb@^`@\\b@`@^`@`@d@^d@\\f@\\f@^n@Zl@Zl@`@x@Xp@v@bBv@jBXp@Zr@Vp@Xr@Tr@Vt@Pn@FRLf@Px@Rz@N|@Lv@L~@J|@Ht@Fv@Ld@HrADbAB~@B`A?|@?`A?bAA~ACtAQ`KAhAApA?|@?`A@`ABz@D~@D|@F|@Hz@H~@J|@Lz@Lv@N~@Pz@Pt@Px@Tt@Rn@Vx@Vr@Zt@Vh@Vj@Zl@Zh@`@n@^f@^d@^d@ZZf@f@`@\\`@\\h@^`@Tb@Td@Td@Rf@Pd@Lf@Jd@Hh@Hf@D\\Bb@BtAHvJd@TPvKf@|BJv@DjKd@|@DhLj@fADVBfBHbBHh@Dd@Fd@Ff@J??f@Ld@Nb@Pf@R`@Rd@Vb@Zd@\\b@\\\\\\`@b@^b@^`@b@^h@t@h@x@f[|e@f@r@j@x@b@j@l@t@l@p@j@l@j@j@n@h@h@d@p@f@j@`@t@d@l@\\t@^l@Xp@Xr@Vr@Tn@Pt@Pt@Nr@LhEr@tqChe@jCb@ne@~H`Z`F`@H`@Ff@J`@Jp@Pn@RpC~@tBt@lEzA`@LzJfDlHfCzAd@j@Np@Nr@NzCh@pEt@lOfCfCf@~Bf@zH`BhPlD`IbB`@JvCl@~@R|@PvCd@nCd@bHlAxPpCh@Jh@Hj@Fj@Fj@Bl@@j@@p@AhAHF?rCEd@A~AEf@?b@?h@@j@B`@D`@Ff@Hd@Jd@Ld@Nd@Pd@Tj@Zf@ZVP\\TXT\\Z^\\Z\\Z^h@n@^j@V`@Xd@Vb@Vh@Xl@Tf@Vl@Pf@Tl@Tr@`@nAp@vBv@`CJ\\rA`EfBtFrCvIp@tBZbAZjAZdAd@~A\\jAxB~GJVjDtKVr@`AxCt@~BtAlDTn@Zx@P`@Tj@Tb@T`@JR^n@V`@V^\\`@RXXZXXZXZX`@\\^VZVzEpDdDdCZTXR\\TjBjAzAbAd@\\dAv@p@f@j@b@tAbApCtB`At@^X^Xb@^VVZ\\\\\\Z`@Z`@Zb@Vb@Xd@Xd@Xj@Tf@Tf@Tj@Vn@Tp@l@`Bn@bBTh@^~@p@vAVf@Xd@Vb@Zb@Xb@JLPR\\`@X\\nCzChOvP`@b@b@d@`@b@^\\XTBBXT^X^TZR^PVNVJb@P^L`@J`@Jb@H^Fb@F`@B^B^?b@@`@AFAZA`@Cl@IVE`@I`@I\\K`@O`@O`@Q^Q^Ub@Y`@YXSXWZYZ[Z_@VYV[Za@|@qA~A}BdAiA\\c@Za@\\a@Z[\\]\\[ZW^Y\\S^U\\S`@Q\\O`@O`@K^K^I`@G`@G`@Cb@C^A^?b@?^@\\B\\D^D`@F`@J`@J^LB@VH`@N\\P\\R^R\\T\\T^XvEpD`@Z`@X^V^T^R`@T^N`@P`@L`@Jb@J`@H^Dd@D`@Db@@d@@`@@hCBP?^@`@@^@\\D^B\\FZFZF^H\\L^J`@NvBt@|Ah@\\L^N^N^P^R^T^T^X^X\\XZZ\\\\ZZ^b@|BnCb@f@\\`@\\^\\Z\\ZHEZV^V\\V`@T^Rf@Xb@RtFtCh@Vd@Tb@Rb@P^L^Ld@LVDZF\\F^BZB\\B\\?`@@d@AZA\\AD?nFWrAEb@Cd@?`@?d@@d@BZB^D^F`@H\\H`@L\\L`@NZLZP^RZP\\V^V\\V~GhF`@Xb@X`@T^R^P`@N^L^L`@Jb@H`@Hb@D`@Db@Bb@@`@?`@A`@Ab@E`@Eb@G`@I`@I`@MZK^O\\O\\Q^Q`@Wd@[d@]bDiCP?^[`@Y^WZUXQXQZOXMZK\\MXIZI`@I^E`@I`@El@ItDa@vAOnAIbAIb@Eb@EdAKz@Kf@IbAKp@KpB[rCc@n@Kv@KjHy@`BSdAMd@Eb@Ed@Aj@Cn@@h@?j@DH@n@F\\Df@Jn@L`@Jf@Pb@N`@Pd@Tf@VpMbHtAv@f@Xb@X`@X^XXVZXXV\\`@X\\Zb@X`@Xb@Xd@Vd@\\p@\\n@xAvCrAlC`@v@`@t@RN\\j@^l@`@l@X`@^d@`@d@`@d@^^`@`@^\\b@\\`@Zb@Z`@Vb@Vd@Vh@X|KzFb@Tf@Xb@Zb@X^Zd@^`@`@^^\\\\\\`@\\b@^f@zAvBDFxB~Cb@n@Zd@Zb@X^Z`@Z\\\\\\RRRRd@\\f@^ZT\\R`@T`@TtJvEpAn@`@P`@R\\L^NZJd@L\\H^F^F^D\\B`@B^@^?^?b@A^?`@C^Ad@C\\Eb@G^GPFj@Ml@OvEmAZIZI\\Gf@Ip@Ij@Ed@Af@Af@@d@Bf@Dj@H^F`@H`@L^L\\J`@P^R^R\\R\\T^Xb@\\\\Xh@f@zBpB^\\`@\\`@XTPJHZR\\R^R\\P`@N`@Pb@Lb@J^J^HhE|@`@H^J`@L^N\\N^PZP`@TZR\\V^ZXVb@b@PPXZ\\b@X^X`@Vb@Xd@Td@Vh@Vf@Td@lChGVh@Tf@Tb@DF\\l@^f@JPLR`@d@X\\X\\\\Z^\\ZVZVVPZR\\Rb@Rb@R`@Nh@P^LnEjAh@Nf@P`@Pb@Pb@Vf@Xb@Zb@\\\\X`@`@\\^`@b@\\d@^f@FLV^Xf@Xh@Zn@Xp@Vl@Vt@Tp@Tv@Pr@Rx@Nr@Jd@DTJt@Lv@Jz@Jx@Hx@JnAJnAd@tFVzCFz@Fv@Dz@D~@Bz@@~@@`A?x@A`AAz@EfBEbBI|BF\\GdBQdHGfCAx@?r@@p@@~@B|@BbADv@Df@Bh@R`CXtCLnAJfANjALdAR~AjDbXPpA|@~GV~ATrAPdAR|@TbAT|@Rp@Tp@Xx@Vl@Rb@Vl@^n@Xf@^j@\\f@\\b@^b@\\^`@b@b@`@d@`@fB|Ap@p@v@r@^b@^b@^b@^f@Zh@\\j@Xh@Zn@Xn@Vp@Vt@Tp@Rn@Rx@Rv@Nv@R~@N~@~@fFTlATlATdARx@X|@DNRn@Xx@\\z@\\v@^t@^t@`@p@`@n@b@l@d@f@f@h@f@d@d@b@f@`@f@\\l@^l@Vj@Tj@Tl@Pl@Nl@L?Hl@Fr@Ft@F~BJp@Fr@Hh@Hd@Jd@Lh@Nb@Pd@Rd@Tf@X`@X^X??n@h@p@p@f@h@\\d@b@j@\\f@Zh@Zl@Xj@Zp@Xn@Ph@Tn@HTPl@Tt@Rv@Px@Nv@Nz@Lx@L|@Jz@Hz@HbAF|@D~@B~@DrADpAHfDBrADjADhAFbAHhAHhA~@xLv@tKHfAH~@Dz@D~@D|@B|@@z@?`A?x@AbAC`ACx@E~@Ez@s@nKGhAEdAE~@C~@?~@A~@@~@@|@B|@D`AD`AFz@H`AHx@DVDb@L|@N|@Nv@Nv@Rv@Rz@Rr@Vv@Tp@|CrI~@fC^dAVx@Rt@Tx@Pv@Nt@Nv@Nz@Jz@Jx@Hv@H|@F|@D|@D~@B~@@|@@|@?~@Av@A`AA~@QhIk@pZSnKApAAlA?zA@fA@pABlADnADnAFlAHnAHrAJjALpALfANpAPlATzALv@Hd@zA~Ij@rDLz@Jv@Jz@Hv@Hz@Fx@D|@Bz@B~@@x@?~@?x@?z@C~@E~ASvHCpAEnA?`AAx@?x@@|@@~@Bt@Dz@Dv@Fz@Fx@Jz@J~@NjAPhAF^fAnHJv@Jx@Hz@Fv@Fz@Dz@D|@Bz@BlABrAD|CBhA?hA?hAAhAAlAChAIjDc@jPC~@Ez@Ez@I`AIx@K~@CX?f@Oz@Mx@Op@Qv@Qv@YdA]hAqBrGSr@Ql@Sx@Qp@Ot@Or@O|@Kv@OlAK~@}B~UQ~AMfAKr@Kn@Q~@Ox@Sz@Oh@Ql@Sp@Yz@Yr@_@~@_@v@yAzC]t@c@z@Yn@Sh@Wl@Sl@Sp@Sn@Qp@Op@WlAaAvEe@dCoAlG}AbIQdAO|@Iv@Kt@Iv@Gp@QnB_AvL{@nKIz@i@xFEf@Gl@[|Dm@fIGr@Er@E|@Cr@Cr@Ap@?XAr@?l@?xK?xA?`AA`AAx@CbAEz@GbAI`AKlAKv@Kx@Mz@Oz@Mr@Op@Mn@eDrOUhASdASfAO~@Ih@Mx@K~@Gx@IbAG|@E~@C~@C~@A~@?bA@x@@bABz@D`AD|@F~@Hz@H|@L|@J|@Nx@Nz@Pv@Rx@H^L`@Pp@Tl@Xz@B\\pBrFZz@Z~@Pj@Tv@Lj@Ll@R~@RhANbAJ~@JhAJbAHfAVvDJ|AJlAH`AJx@LdAN`ADPHd@Nv@TbAVfAHXjAvEJb@Nt@Pv@Nv@Nz@L|@Jv@H|@Hv@F~@Dz@D|@Bz@@\\@h@?r@?|@?|@C`AAv@UrJMxEDf@ChBCxAAfBAhB?bB@fBB`L?bA@bABlADfAB|@F~@Fx@Hz@J~@Jz@L|@N~@Pz@Rz@Pt@Tv@Vx@Tr@Vt@Xr@^v@Vf@\\n@\\j@Zf@`@j@r@z@d@f@n@l@`@\\d@\\b@X^Td@Tb@RZL`@Lh@Nx@Pf@Hf@Fb@BF?b@Bh@?d@Ab@Aj@Gf@Gh@If@Md@Mf@Qb@Qn@Yn@[rE{BpL{Fhf@}Ul@Yp@_@j@[r@e@n@c@j@c@j@e@j@g@hB_BrBkBl@g@n@i@`@[d@[^UHDf@Yb@Qf@Sb@Oh@Of@Kb@Id@Gj@Eh@Cb@?f@?h@@f@Df@Ff@Hh@Jd@Ld@Nd@Pd@Tf@Td@X`@V`@ZFD`@\\^^ZZ^b@\\`@b@l@^h@\\l@Xh@Zn@Zr@Vn@\\|@Z|@zAvETr@RRVr@Vp@Xp@Xn@Zj@Zj@^j@`@l@\\b@\\b@^`@b@d@`@^b@\\d@Z`@Vb@Vf@Td@Td@Nf@Pf@Lf@Hd@Hd@Dh@Bf@@f@?f@Af@Ch@Ef@Gn@KtFaAn@Kp@Id@Gd@EB?j@Cd@?j@?d@Bd@Dh@Fd@Hd@J`@J\\JrBl@vBn@b@Lh@Ld@Hd@Ff@Dh@Bf@@f@Ah@Af@Ed@Eh@Kf@Id@Md@Of@Ql@Ux@]f@Ul@[b@Wb@[b@[\\]b@_@d@g@^c@^e@^i@\\g@Xi@^q@Zo@Vm@`@_A^_ABKzBeGbD}I\\}@`KoXnBmFrBqFnDwJlAcDXw@Vo@JCPe@Vm@Zo@Vi@\\k@Zg@\\g@X_@d@k@\\]`@a@^[b@_@ZUh@]d@W`@SVMVMdH}CzAo@t@]tIuDzLmFpU_KhDyApAk@RKb@Qr@[xAo@p@Yp@Wn@Sr@Un@Ot@Op@Mr@Kv@Gr@ETARAd@Ab@?j@?V@Z@j@Bl@Dr@Hp@Hh@Jd@Hv@Pj@Pp@Tp@TrAd@pE`BnCbA`JdDxCdAXJxAh@nOtFhE|AjBp@~Al@fC|@hDnAbC|@vJlDrJlD`GvB~Bz@bDjAPFrFpBzAh@dAb@l@VVL~@`@lAh@tAj@jAb@|Ah@pAd@jAb@h@R|CfArBt@v@Xp@TLBj@Nf@LfAZr@Tl@RhA`@x@ZpAd@vBv@l@R|@Z~@\\j@Th@Rn@Xd@Vd@T`@Vb@Vf@\\l@d@^XhA~@~@~@lIjJj@n@f@l@h@n@d@n@d@n@NTPXb@p@d@v@^r@b@z@Zp@Zp@Rf@Tl@Xn@Ph@Tn@Vv@Rl@Rr@Tx@Ld@Jb@HZLj@TdATlAZbBzK~n@Rd@zCbQPfARpANjAPnAJhALrAJlAHrAHnAFpAd@zKt@hPBl@|@vSNhDTbFFrAFjAFrAJnAHjAJfANtANdAPrANbAPdAVnATfA@BR~@ZnAl@xB`G~SHVj@rBtC~JpJt\\lAhEbHnVTt@X~@Z~@Zx@^~@Zv@`@x@vAvC`Uhd@d@|@FLLT^p@^n@^j@b@p@pJ|N^l@r@jAV`@^r@\\r@b@~@h@lAh@lAh@pAh@jAXj@Zn@Zj@^l@Zf@`@h@Zb@`@b@^^d@d@`@Zd@^`@Vf@Xb@Tf@T`@Nj@Pd@Lf@Hd@Hh@Fd@Bj@@f@@h@Cd@Ah@Gd@Gh@KXGNEd@OXIp@Yf@Wb@Wd@Y`@[`@[b@a@^[b@e@b@e@\\_@^_@`@e@p@s@v@}@d@k@h@s@`@k@j@{@hAiB`BuCz@}AFK|BaEfAkBb@s@T]Xe@V]V[VK^c@b@e@d@a@`@_@`@Yh@_@b@Wd@Wf@Wf@Sf@Q`@O`Cs@tIeChCu@XGLCd@M^G^Gf@If@Gb@GvIgA~G{@j@Ip@Iz@M`AQ|@O`AQ~Bg@fIgB`@It@QfCk@zGyAxA[`B_@l@Kr@Mj@Gn@E|@Gr@CpGYt@Cv@Ap@?l@@r@Bp@Dr@Hr@Hn@Lt@Nj@NLBf@Nd@Nh@RfAb@bAb@pa@bQDBjKpEx@\\x@^p@Zl@\\l@^n@^n@d@h@b@l@f@j@f@h@h@h@l@j@l@d@l@d@n@j@x@f@v@f@x@d@z@`@v@b@|@d@fA`@`Ab@lA\\|@LJZdA^pAPp@Rp@v@hDr@xCT|@V`ATt@Tr@Tp@Xr@Xn@Xl@Xl@Zj@\\l@\\f@^h@f@r@`@f@`@f@jM|O`KfM`AjATX|AlBFF~C|DVZX\\RRRTRTVVRRP^rAlAn\\rYpk@dg@lBnBnAtA|BvC`B`C|AfCzAnCrApCpAxCjA`DtLt_@nF|P`C|Hx@hC|BfHfVpv@Pj@f@bBp@`Cl@lCj@jCb@rC^tCVfCVzCPvCLfED~CBbC?f@?|AGvDM|CQdCO|BaE`n@oAhRO`CFJ[dFOvDCrB@|BDtBL|BNlBTnB^vBp@bD|@zCl@bBt@bBv@vA|@rAx@bAjArAbAz@dBnAfN~JhBrA|AnAxAtAtA~AnAbBpAnBhAnBfAvBdAdC`AhCv@jCt@pCn@tCh@vCrCxPz@fFj@~Cj@vCr@pCx@jCz@hCbA`C`AvBhArBpArBvAjBrAxAxAxAxAnA~AfA~A`AhBx@`Bj@bBd@jB\\hBPbBHtBCjBErLg@r@EzAGro@{Cx@EpFWpESvBMdC@lCTfBXlEp@hEbApBZbH~@zItApBd@jA`@jAh@lAv@`Av@dAbA|@fA~@vAv@rAv@`Bp@dBh@fBf@jBb@tBZvBVxBFx@JbAJzBFvC?dBC|BI|BO|BU|BYtBc@bC_@|Ai@lBo@fBq@~Aw@zAkArBqAvBmAtB@Ju@zAu@dBm@hBg@fBc@pB_@rBY|BeAxIe@hEa@tCa@rCi@pCm@nCoCnLuOzp@w@jDi@rCc@xC_@vCYxCSxCQ~CInDClC?jD?hAFlVEhDI`DO~CUxCUhCg@vDe@xCm@vCyBvJOr@m@dCy@tD[tA_@rBSfAQlA]hC[bDObCObDIbDE~BAd@KnEOpEMnEMlEIxDIvEQlJKfEEpE@rCDtCfAl^LdCHzBNxBVzBZvBd@zBz@bDjA`D~A`DbBfCzB|Bp@h@dAr@hBz@|Ah@lHbBtAb@f@Ph@TpAl@nAt@rAbAtAnAxA~AhBhC~K`QnDrFzBvC`CdC~BlBzBvAfInEjDzAlA^vA^|AV~APj`@~BzUvAbBRvAVnBh@rBr@|U`J~ChAnA\\pAVz@Lz@HvBHjBBdJ]rBArEHvAFhBLfBRbeAxLZDdGbArD`@rBVzAVhB`@lA\\`C~@jBbAfBjA`Av@jAbAfBjBjAxAjA`BpKdPtBbDz@xAx@xA|@nB|@rBbAvCb@rAd@`Bt@~C?@\\`Bb@bC^jC\\tCVvCPpCNbDHvDBxE?hFG~b@?jC?jENdELfDTlDVzC^~Cf@bDfAzFdDxO|@hE|@~DX`AX~@`@jAb@fAb@|@b@|@j@|@l@|@pA~AXZnArAlApAlBtBdCjC`ChCDDhMbN|@`A|DhEjDtDnApAlDxDbBhBvAfBnApB|@dBx@lBj@~Af@bB^~A\\dB^tBZbCvQdcBt@lHl@lFlAnJZrBz@jFbAdFpA~FzAxFdBvFlBlFdRxd@jXvp@~@bCrA|DpAbFbApFvAfLlAhLr@tHd@|Ht@rRjBjd@NzBRtBZvB^fBHb@Jb@XhA^lA`@lARd@Rf@Tb@DJLVLT\\p@Zj@bCpEn@lAl@pAXt@N^d@xAl@rBp@nCh]xaBfFbWzApG`BtFfBbE~AbCnC~CzCrBzAr@nDz@lDLrBKxBa@rCgAxFyDjFaFhB}AdC}AfCy@fCm@xBErAB`@@xB\\dBh@nAl@nChBzAzApBrCfBfDnChIjEtPfBfHzCfMj@rD\\hDf@zIDpECfEU|Ka@jVCrAAbDHdFVtE^tEXvCpBfTlAlMxAxKd@xBtAvG`ClKlCjL|@~Dz@xDl@nD`@bDVbCHz@n@lJXfFBTh@vIvB|]pBl\\h@hGf@`EdAvIjCnSnCfUD^r@rGzBzTB\\|Db`@dA|Hz@vE`AvEfB`J~B|KfBpIThApBlJlD~PrExTdDrO@HlAhEpBfGv@`CPf@", "sędziszów|gniewięcin apo": "y}ssHsymyBl@fBPh@xC~IfHlTpC~IdA~CzAnE~CtHFTRj@zDlL^jA\\`AdDvJhDnI~AjC~@rA~@nAnAvA|AzA|AhAhAv@VNlAn@pBx@tA`@zAXlBZfBHjB@dBE`BMlPiBlPiBrRuB|H{@rCW~@CrACjBFnBNhBZhB^", "gniewięcin apo|klimontów apo": "mfnsHi{iyBdBj@dBt@vCbBnCpBxArAtAzANRdChDbIfNlBnCzAfBnApAlAdAzQrNxR~NjAz@pAx@|BtAbAh@z@b@b@ThBx@`Cz@vBp@bDz@nJtB~D~@RRjGtA`KxB|VtFtFnA~AZtCn@", "klimontów apo|kozłów": "mdhsHw`fyB~PxD~KdC|KbClE`AzJlBjCl@|EbAfBb@hK|BhZxGpJrBhBb@pE`AzCn@XH|EdApBd@bB\\lE`AhH~AtBd@", @@ -825,7 +830,7 @@ "dąbrowa górnicza wschodnia|dąbrowa górnicza strzemieszyce": "w}_rHqhxtBAdB?~@Ah@?FAhAAV?R?V?T@`@?h@?V?VAb@C~BA`AC`AAh@Cf@Cr@E~@E~@IfAIdAIbAKbAIx@Kx@Kv@Kv@Kj@Ij@QdAUlAUjAg@lCc@vBi@vCa@tBcAhF", "dąbrowa górnicza strzemieszyce|sosnowiec kazimierz": "gk`rH{uutBKf@eBbJ{EtVG^uAdH_BjIcChMmB|JcAhF[`BUlAUfASfAw@`Eg@hCWvA_AxEWrAQ|@a@pB_@pBi@pCI^ETGVQl@On@Uv@Qr@W~@Md@a@xAI\\IZGZKb@SbAWdBUnBKlAM~AGlBC~@AX?xA@zAD`BDvAD|@HnALrANvAV~ALp@TdALj@FVXbA\\fAp@jB`@`Af@dAt@lA|@pAx@`AfAfAdBpAl@^l@Zj@Vl@RjA\\fATx@PnAXhB`@~E`A`IfBlFhAhMhCtD~@bAZpAf@B@rAn@hAl@x@h@t@h@hBzAr@p@jAnAfAtAxAxBNRzC`F~L`SXf@fBrCnArBPVvBnDJLfBtC^n@z@rA\\j@^h@RZZ`@f@F", "sosnowiec kazimierz|sosnowiec maczki": "af}qHilktBTRTNTNh@Xb@Rf@R`@Nf@Nd@L@?d@Jj@H\\DTBZ@b@@h@@d@@b@Ab@Ab@C`@Ed@Kb@K`@M`@Qt@]v@a@\\S^WTQZUXWZWVWXYTWT[z@iAl@y@FGT[X_@nAcBl@_Ah@u@~GeKle@es@jA_Bv@aAZa@dBwB|TqXrAcBbAuA|@kAv@iAd@y@b@_A^aA\\gAZeATkARmAJw@DWLuAHsADmABqABaEJ_NBgBBgBFcBLcBP_BT_BZaB\\sA^kABKTm@L[d@eA", - "żakowice|chrusty nowe": "u}vzHkoxwBk@oGg@uFEk@Go@qCc[MsAMsAKgAMyAMuACUKaABa@Eg@Eg@Ca@QsDC_@Ca@C[Wm@Ea@Ee@Ci@Q_DFGCg@IGBg@A[Cg@AMA_@A_@?_@?_@?_@?_@@a@@a@@Y@_@B]B_@B]D]D]Da@F[D[F]H[F[H[HYH[JYJYJWJYLWLULULULSNSLSNQNQNONORQRQHIPKPMPIRKPIPGRGPGREREPCRCPCTAP?R?R@R@J@RBRBRDRFRCREd@Pt@Xt@X|@^|@\\z@\\z@^l@Xl@Vl@Vh@Vl@Vj@TZNn@VjCdAhDtArAZr@Xf@Rn@Vn@Xh@Rf@Td@P|B|@`JpDv_@jOp@VdLrE~@^zCjApPzG`c@|Prn@rVFBrAh@dBr@", + "żakowice|chrusty nowe": "u}vzHkoxwBk@oGg@uFEk@Go@qCc[MsAMsAKgAMyAMuACUKaABa@s@aIGi@IeAEa@Ee@Ci@Q_DFGCg@IGBg@A[Cg@AMA_@A_@?_@?_@?_@?_@@a@@a@@Y@_@B]B_@B]D]D]Da@F[D[F]H[F[H[HYH[JYJYJWJYLWLULULULSNSLSNQNQNONORQRQHIPKPMPIRKPIPGRGPGREREPCRCPCTAP?R?R@R@J@RBRBRDRFRFZJ^Ut@Xt@Xx@Z@L|@\\AJz@\\z@\\l@Xl@Xj@Xj@V^NHRRCXJRVXJTFJOb@OPJFVPFNFL?\\`@hDtArAZr@Xf@Rn@Vn@Xh@RV?NTd@PzBhAxj@zTp@XjMbFZBp@b@zSlIrrAth@DBvAZdBr@", "chrusty nowe|rokiciny": "msozHoaywBji@fTzDzAlDvAdM`FzH|CzClAnAd@jAf@dG~BlEfBtAj@pAf@??vPzGf_@`O`C~@", "rokiciny|łaznów": "_rjzH}pvwBPHpGfCbFlBFBhJrDlXnKnHrChk@tTfE`BxEhBjGdChBp@~EpBn@Zj@Zt@`@|@j@v@f@v@j@v@j@x@n@v@p@r@p@b@`@n@p@`@^BPbp@`s@|TjVxA|AxFfG", "łaznów|wolbórka": "w`czHaeqwBzf@bi@rAvApAtA`q@~s@dZv[h@h@n@p@n@n@n@n@n@j@r@l@t@l@x@l@v@j@z@l@n@b@|@h@v@f@x@b@h@Vn@Xf@Vn@TxFxBdf@fR|@\\vHtCvAf@vFxBbE~AfDnAlDtA", @@ -851,11 +856,12 @@ "łódź pabianicka|łódź chojny": "ywuzH{{tuB~@kAl@w@h@iAZc@t@aANS\\g@^m@Xg@^s@Xk@\\w@Vo@Ts@Rk@Lc@Le@H[Ru@Lo@R}@Nu@Lw@lA}GbB{J|@eFXeBPcANgAFc@Ju@Dg@JeADm@Fu@Dy@Bk@DkA@{@?e@?U@w@?CAq@A}@Ai@Cu@Ce@E{@Ey@Gm@Gq@Gs@Gg@Mw@Ik@[eBSeAQq@Ka@[eAC_@m@cB[y@g@iA}@mBuCiGcD}G}B}Ee@eAc@aASc@Ws@KYY{@Oe@K]ESGQI_@S_AYyAMq@Ko@Ky@Iw@KgAIcAAYEe@Cg@Ae@Cs@AeAAuAAy@@iA?m@By@E]FeDJwDHsB?IX}FDy@h@eKz@yPTkE`@oIFeAFgARkCT{CRyCJsAFqARsDJoB@UBk@JsB", "łódź chojny|łódź dąbrowa": "squzHux~uBVqERoEHsBBw@DuA@w@?c@?gAAoACgACu@E{@Ck@Ee@Es@Ee@Iy@Io@Io@O{@SmAMk@Oq@Qs@Mg@Qo@Ma@_@cAQe@c@cAO[Q_@[m@[g@[g@KQa@g@]c@Y]_@a@[Yg@e@e@]a@Y_@Sg@Y_@Qk@SIEWIUG]Ks@OeB[m@MqB[qASo@IMA}Da@gAOcDi@sDm@}AW", "łódź dąbrowa pbs|łódź zarzew": "epwzHqravBeCc@iCc@i@KwAUqDs@qCo@QEiBa@_AS_BUgAO_@Es@G_COyBMwAKcEWaO{@oAImHe@sAIaAGo@CwBOUM_EWeDS}@G", - "łódź zarzew|łódź widzew": "ayzzHeebvBe^wBw@Eu@Go@Gm@Ig@I[G[Gm@Oe@OYIEHc@Qc@Q@Im@Yk@Y]S]S[Se@[e@]]Y][OMc@a@a@c@[]UYWYc@k@c@m@a@o@c@q@]k@[m@[m@a@g@]w@BMa@k@@OYc@Wo@]eA[eASo@OeAYgAWkAUcAScAOu@]iBWaBMy@My@Kw@Iy@I{@G{@E{@E{@Cy@C{@?}@GA?y@Mu@HyBDsAFoAJyBJ_B`@uFVkDFo@pAmPFo@l@uH", + "łódź zarzew|łódź widzew": "ayzzHeebvBe^wBw@Eu@Go@Gm@Ig@I[G[Gm@Oe@OYIg@Qc@Qm@Yk@Y]S]S[Se@[e@]]Y][OMc@a@a@c@[]UYWYc@k@c@m@a@o@c@q@]k@[m@[m@[o@_@}@_@{@Wo@Uq@]eA[cASs@Su@YgAWkAUcAScAOu@]iBWaBMy@My@Kw@Iy@I{@G{@E{@E{@Cy@C{@?}@?{@?{@@w@DoAF{ADu@As@TgEHmAKq@`@gFHU}AwCNa@Nc@Nc@Ng@ViAJe@Jg@RqAFg@j@a@Fo@Yy@RkCr@oB", "sosnowiec kazimierz|sosnowiec dańdówka": "se}qHwjktBTVh@f@|@t@`@Z\\T\\TZPl@Xf@RvAh@jC`A|HvCb@PRHLFb@Rd@V^Tf@\\^Z`@\\`@\\^b@Z^b@h@Xb@^j@rBjDbEdHjD`GdAfB~DbHLPn@hAn@bAZh@\\f@Xb@@@\\b@^b@^`@NNn@j@^X`@X`@Xb@Tb@Rh@VpJfE~@`@z@b@dAl@d@Z^ZVRXVRRRRNPNPRVZ`@NRPVT`@Xd@Zj@Xp@Vj@Tn@Tn@Tt@\\rAn@bCBJp@jCLf@|WxeAZnAl@~BT~@Ll@Nx@Lv@N~@Hj@Fd@D^JdAJnAF`AHdBDbB@jA?zA?|@CjAC~@GtAGhAMfBO|AUfCe@|GOfCIpBC|AC|A@`B?BB~BH`F", "sosnowiec dańdówka|sosnowiec południowy": "sqxqHagbtBHlE@rA@tBBfC@jADhDf@r]@|A@vA@jDB|ABfAFdFDrCPhLHxFFpDLxHHfFH~FDtCJlFR~L@|@HpFJxH?r@?x@C`AAz@Ez@E~@Gt@Ix@Gr@Kv@QlAUxAsAjIQpAKt@Gj@IbAIdAEbAE`AAv@C~@?P?p@@xBB`AB|@D~@F|@HjA@@N|A^dCZfB`@vBV~Af@rCl@jDl@fDLv@N~@Lx@Ht@Fp@Hz@Dv@Dx@Bf@Bd@@z@@`A@~@?|@?~@A|@C~@C~@G|@Gz@I~@MfAIp@M~@Mz@Oz@Mt@Ml@ADQv@Sr@Sn@M\\q@hBi@nAQ^MXUb@m@fAs@nA}@~A]h@c@h@OROVk@bAc@r@QXa@l@[d@[^_E|EIJaFdGcFdGiArAORSXSXU\\[f@QTuCjDKJONT`@MV", - "sosnowiec południowy|katowice zawodzie": "__zqH_qusBOZMZO^IXIZGZG`@GXCVCXCZEr@Ar@AL?^?^@n@Bj@Dp@Fn@PxAJn@Jj@Pp@FPJXHVJRXj@HNLRBb@h@b@@@vAdAzB~A~AjAzCxB`@ZpC~BdHdFpLvInCpBjCzBbAfAv@|@RTlAzAz@jAh@x@pAxBjAfCbAfCh@zAdA~C|@nC\\lAd@tBZlBVhCv@zK\\hE\\jD\\rDV|DDv@HbAL~BXhEB`@`@bFt@bJn@`INtCLxCNxBTjDbDhf@l@bJh@vIXpGRpGJxFF|F?pDExCG|FI~DW`HMzEMfEAjBQ`Ca@rEM~AInAEnASrFMrDE|ACzA?~B", + "sosnowiec południowy|katowice zawodzie": "__zqH_qusBOZMZO^IXIZGZG`@GXCVCXCZEr@Ar@AL?^?^@n@Bj@Dp@Fn@PxAJn@Jj@Pp@FPJXHVJRXj@HNLRX\\r@t@x@z@|@z@|@b@xArA`DpBEHf@PpC~BNAvG|E~AhArIjGz@n@rA`AhCtBdAdAr@pARTlAzAJLt@n@b@fAxApBjAbC^z@f@hAh@|AbAzCIN|@nC\\lAd@tBZlBVhCv@zK\\hE\\jDR\\P?H@h@hEOFGRHl@JNTNPlBOd@i@DL~BXhEB`@`@bFt@bJn@`INtCJ\\VBD`BGLJzBODTjDRJDBbDve@l@dJb@fHHxAF`BJdCRpFO^JzFDzFE??pDExCG|FHXFl@SlIWbBAVWpJUhBQ|Bo@|FQpBPZEnAi@nFMlDAvAPNCzA?~B", "łódź widzew|łódź andrzejów szosa": "iu|zHidjvBJmA\\oCD_@Fq@Do@ZwDBYJoAR}AJmAbAoMBOXoD\\sD^sD`@mD`@_DfFk`@nHak@zIeq@`@sCb@sCReAReAl@mCVcAVaAZcAZcAZ_A\\aA|@{BdBaEhJySz@mBz@qBn@aBn@cBzAiE|AiEl@eBn@aB~@cC~@cC|CqI|CsI|CuIpC{Hd@mA^_AL[N]^y@h@gApAmCh@gA\\o@Ra@Xa@V_@T[X[TUZ[XS`@YNKNILGPIFEPGNGPGPENQ", + "łódź andrzejów szosa|łódź olechów pzs r82": "uvxzHgtuvBPDNCPCFAVCLAVARAT?h@@fA@X@Z@fBD\\?j@Aj@E|@G\\CfEW`AGd@Ab@?`@@T@VBf@Hd@J`@L\\J^P\\R\\PTPTPRPZX\\\\j@n@rA~AbAhAt@~@TVTZT^PXXf@Vh@Rf@Tl@Tt@Tx@Nr@Lp@Jl@Hj@Hr@Fl@JnAZjEZhEzBpZRnCNl@Dt@\\rEBVC^VpDV`D?Df@bHh@dHNhBJZDn@XnDVvDH`ACd@H|@JXFz@x@xK`AvMX|DlFdt@JhAVlFb@hE\\pECZL`@\\zEZlEBZf@xG\\pEDf@F`AGFLfBJbB@FJzAx@|MJdB^~FHNJ`BHhAERH|AJ|AV|D?JJtABb@Dt@b@xGF?JbBJfBBTE`@BZHVFz@Dz@Dz@Bj@@`@Bf@D~@Bh@IBDz@B|@?DBj@B|@B|@@r@FADnA?DBtANvL@l@HbGEh@?NPrE@l@?HBr@GD@l@Bh@Bh@@b@Bf@Bd@B`@B`@Nz@NbC@jALvBHvAHpAHJAd@FDDh@Dj@Fr@@VHfAdArMJpA?|@TnCPx@^xEPzBj@`H", "łódź olechów łoc|łódź olechów wschód": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?IAg@IcGAm@OwLCuA?EEoAAs@C}@C{@Cs@C}@C}@Ci@E_ACg@Aa@Ck@E{@E{@G{@Eu@A_@CUKgBKcBm@yJKwA?EK}AW}DKoBIiAKaBAQIkAUsDm@cKWeEMcBKaBMiBGaAEg@]qEg@yGC[[mE]{EI}@]qE{@wLKiAmFet@Y}DaAwMy@yKG{@Q}BIaAWwDYoDEo@SiCg@cHi@eH", "łódź olechów wschód|łódź olechów pzs r16": "kovzHokrvBh@dHf@bHRhCDn@XnDVvDH`AP|BFz@x@xK`AvMX|DlFdt@JhAz@vL\\pEH|@\\zEZlEBZf@xG\\pEDf@F`ALhBJ`BLbBVdEl@bKTrDHjA@PJ`BHhAJnBV|DJ|A?DJvAl@xJJbBJfBBT@^Dt@Fz@Dz@Dz@Bj@@`@Bf@D~@Bh@B|@B|@Br@Bz@B|@@r@DnA?DBtANvL@l@HbG@f@?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", "łódź olechów pzs r16|łódź olechów zachód": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?IAg@IcGAm@OwLCuA?EEoAAs@C}@C{@Cs@C}@C}@Ci@E_ACg@Aa@Ck@E{@E{@G{@Eu@A_@CUKgBKcBm@yJKwA?E", @@ -877,12 +883,12 @@ "sieradz warta|sieradz": "_t}yHmciqB`@tAfAdETv@X~@Vv@Xv@\\z@Vp@\\r@", "łódź kaliska|retkinia": "gr|zHarquB|As@dAe@`Ac@jBy@\\Ol@WTITKZM|@]h@UDAd@QhDwAj@Wj@Uh@SVMVK\\MLETGJEVGPEREXEVCdC[jBSr@K~@B@?VEVCZCTA\\AX?V?\\?`@BXBZBH@PBXF\\F\\J`@L\\LLFNFZLXNTLTPXPXRB@d@^ZV^ZVRZZVVVR^`@Z\\VX\\^^b@^f@^f@DFZb@V\\PZ\\d@Vb@^n@`@t@Zl@Vf@Xh@Zn@Xp@^z@Xr@\\|@\\~@\\bA`@nAV|@ZhA`@|AZrAZtAp@fDp@jDxBbLpAtGjAdGLn@", "skierniewice|bełchów": "oqd|Hkt}yBH^DXDVD\\DTDTHf@BJ\\dBNt@Jj@FVBPJh@vBnK\\bBHb@FZFVHb@F`@H`@Hf@Hh@Hf@Ff@Ff@Fd@Fj@Dj@Fj@Dl@Dj@Bl@Bj@Dl@@j@Bl@Bl@@j@@b@?T@X@b@?L?n@@l@?n@?l@?l@Aj@Al@?l@Cl@Al@Al@Cj@Cn@Cn@El@Cn@El@En@Ef@Ef@Eh@Eb@Ed@Gd@Gf@Gf@If@Gd@Id@Ib@Kf@Kf@Kf@Kd@Mb@Kd@Mb@Mb@s@jCo@bCOh@Of@Oh@M`@M^KVIVQd@Qb@Qb@qEnKUd@gCdGGLiBhEuCxG}R~d@qElKyIpSoDlIsB|EmDhIe@hAmArCEHmBrEc@dAyh@lnAya@jaA_AvBcd@xeAeB~DWn@}BlFWl@y@nBaCrFgBfEcCzFA@aB|DO\\sB|EeB|DO^IP]z@Yj@Yn@Yl@a@z@Yj@Yj@Sb@IN_@n@]n@[l@]l@c@r@[j@a@p@a@n@a@l@_@l@_@h@g@r@_@h@_@f@g@n@g@p@UXa@h@a@d@a@d@c@d@c@f@e@f@]^_@^UVWV_@^g@d@g@b@e@b@g@`@c@^WTMJUPUP_@Xc@\\e@\\i@^g@Ze@Ze@ZQJgIhFiIfFiIhFuFnDqAx@eF`DmAv@UNSJWPq@b@WNWPGDi@\\}A`AGDc@XsAx@_BdAaBbAYPYPKHOH", - "bełchów|bednary": "auo|HeghyBsAhAq@`@WBc@XGRU@OXg@ZSAETWPEB[R[T]TYRKFWOi@Z?b@[REBWNKHa@VGDwChBA@[R]R[RSUc@Z[RGDQLWPWP_Ap@c@Xa@Vc@X_@Va@VQLqEtCSZ]Tk@\\WBe@Xi@^gAp@u@d@{BvAeA|@}A`Au@XUNo@`@IRa@Vc@XKFWNwA~@eAp@cGvDQAiAt@kAt@gIfFiIhFiIhFgIhFiHpE_@VuAz@kA`AsAz@s@b@qBpAoAv@sAz@oAx@iIhFeh@d\\aHlEEBuEvCob@dXg]lTyA~@C@m@`@s@d@_@Va@Xa@Xa@XCB]Xa@ZWRKHa@\\a@\\a@\\k@f@WV_@\\YVIAc@`@[Z_@`@_@`@]^@H_@b@_@b@_@b@]`@a@f@_@b@_@f@]b@Y`@Y^]d@[d@U\\W^g@v@g@t@iTf]cA~AiIrMk@|@eC|Dw@nA{B~CSZ[d@KPOPu@|@KNQNQROLSNQLWPQHOHQHSHQHYHMBUFUDWDWBW@S@S?S?UAUAOCQAYGUEWGQGUIUKQISKUMQMSOSOOOSSSSQSSWMSOSOWOWMWQ_@KUMYK[M[K[EQGSI[GWGUEUGYEYG_@G_@Ea@G_@WEIw@eBeQ_@uDK}@Iy@Gs@Is@Em@Em@Gs@Eq@Eo@Co@Cm@Cm@A[A[Ak@Ak@Am@Ay@Au@CyDEaEAg@CoCGgHC_D_@wa@KuKAcBAg@?WK_MC}BAi@Aw@Ai@Ag@Cs@Cq@Cq@Cq@Es@Eq@Eq@Gq@Gq@Ec@Ec@CYEc@Im@Io@Ik@Ky@Km@G_@Kk@{@_FiAiGgDgR_DeQ{AoIiAiGCKMw@[aB[eBgAkGaGg\\aBaJk@cDu@_EqCcPo@mDsAoH}@aFSiAUsA{CsPeFkYY}A", + "bełchów|bednary": "auo|HeghyB}CnBc@X]Tm@^]RA?[RaAh@a@T_@TULi@Zk@\\_@T_@VKFyCjB_@Va@V_@Tc@Z[RGDQLWPWP_Ap@c@Xa@Vc@X_@Va@VQLqEtCoBnAEBe@Xi@^gAp@u@d@{BvAyExCUNo@`@i@\\OJc@XwD~B}AbAsD|BiAt@kAt@gIfFiIhFiIhFgIhFiHpE_@VqAdAoAv@sAz@s@b@qBpAoAv@sAz@oAx@iIhFeh@d\\aHlEEBuEvCob@dXg]lTyA~@C@m@`@s@d@_@Va@Xa@Xa@XCB]Xa@ZWRKHa@\\a@\\a@\\k@f@WV_@\\YVEFc@`@[\\_@^a@`@]^_@b@_@b@_@b@]`@a@f@_@b@_@f@]b@Y`@Y^]d@[d@U\\W^g@v@g@t@iTf]cA~AiIrMk@|@eC|Dw@nA{B~CSZ[d@KPOPu@|@KNQNQROLSNQLWPQHOHQHSHQHYHMBUFUDWDWBW@S@S?S?UAUAOCQAYGUEWGQGUIUKQISKUMQMSOSOOOSSSSQSSWMSOSOWOWMWQ_@KUMYK[M[K[EQGSI[GWGUEUGYEYG_@G_@Ea@G_@Ea@[[WOPkC_@oDcA}Jq@iDQAKa@BOK[DOKYDSKWDUEi@IYDQEk@Ac@Fg@MQH[KQF[A[A[Fi@Ag@Ae@YGAq@DW?e@FEDc@AYCc@AYA}@EaEIUEuESkUGeAEwDAyACwACyAAaAASG_ECmAC}AAgAAoAAoALeBQa@AiBEwEL?CiBAa@MM?u@Aq@FENQQe@I_@De@N_@Ag@Cs@]m@Ck@Ce@Ce@Cc@@i@Em@GI@e@GMEg@C[CU@a@Ea@Ec@Hc@SMHa@SOH[QUDc@QOD]G_@Kk@{@_Fa@aA]iBDEkC}NKk@}@_FW{Ao@oDaAmFGYgAkGY{ASiAaCuMo@qEaGg\\aBaJSMsC_PFCgAeG}@cF@YsAoHaAqEBOSiAUsA{CsPeFkYY}A", "warszawa wschodnia|warszawa stadion": "eh{}H}cm_CRAN?LAN?L?`C@`C?L?L?L@N?L@", "warszawa stadion|warszawa powiśle": "i{z}H{cm_CR@\\DLBNBPBRDVRNDLDLDPFPHPFLHNFXPp@b@XTh@d@VXTVVZRV^j@^n@R`@P\\P^Xr@lGvO|F|NbBbEn@|AVl@Rd@R^NZT`@Xf@V\\V\\tAjB^h@\\h@h@~@^p@HNf@dAHNHPRd@`@fAt@pBPf@\\~@b@vAd@jBLj@|AhH", - "warszawa powiśle|warszawa śródmieście": "yxx}Hmwi_CR|@Hb@Jn@Ln@Jn@rD|TPbAJl@Jr@Lx@Hl@fCpRrD~YFd@D\\B^D^B^@^B`@?ZH^@p@@n@B~@Bl@@f@Bd@Bf@Bd@Dd@Df@Df@", + "warszawa powiśle|warszawa śródmieście": "yxx}Hmwi_CDdALl@Jd@Jj@Lp@rD|TJn@Jp@Lz@N`ALx@Lz@xAjLlEf]CVHn@Fj@Bh@Dj@@X@\\@^@n@?`@?b@A\\C~AA^Df@Ab@?^?^?b@@^Bd@@^BXB`@Fb@Dd@Fb@Fh@`@|CAf@\\|AtCzT|AzLHj@Fd@Aj@F^RTGRTVINJd@`@dBv@pBGXh@jAH^HZFXF^FZDZF`@D\\@n@f@jB", "warszawa śródmieście|warszawa ochota": "spw}Hsvc_CXrBFl@F`@D^JbADj@Dh@NfBH~@LlAHr@Hl@bAdIRvAHn@Jl@Hj@Hj@", - "warszawa ochota|warszawa zachodnia": "mhw}Himb_C@FPfALt@Jr@v@`FD\\l@zDdA|GNfA`B~K^dClD|UL|@N`AP|@P~@Jh@Nv@Nx@?DHd@Jp@Jz@NfAThBTnB\\pCf@`EHj@F^DZBJHh@DRDRP|@`AbFXvAH^F`@F\\Hb@DZF^Fb@D`@RzAfAxIj@|E\\nCRzAHp@PvAVxBVjBZhCBT`@`DPxADZBRF`@Fb@DRFXDZFXFXBLLd@FXFVDLb@fBBHNl@XhAJ^FXFVHXBNHZH`@FXFZFXDXHf@BLDZLt@", + "warszawa ochota|warszawa zachodnia": "mhw}Himb_C@FPfALt@Jr@v@`FD\\l@zDdA|GNfA`B~K^dClD|UL|@N`AP|@P~@Jh@Nv@Nx@?DHd@Jp@Jz@NfAThBJTPlAGJBz@Fd@D`@Df@b@p@BNJt@Hh@ODHj@Af@F\\Fd@Fb@Hb@@ZLbA|@b@H`@H\\Lb@BXQZFTFTBTJRDRFVHVJb@Hb@FTF`@RVTFH^Hl@Hb@Fh@F^D\\h@jEWx@DZD\\BVB\\D\\B\\?LDd@@TBX@`ARzALTMbAZn@VxBx@`BDb@TfBBNHp@DZHj@Hb@c@PPxADZBRF`@Fb@DRFXDZFXFXBLLd@FXFVDLb@fBBHNl@XhAJ^FXFVHXBNHZH`@FXFZFXDXHf@BLDZLt@", "warszawa włochy|warszawa ursus północny": "ess}Hwht~BZrAXlABFJd@Pt@Pp@Np@Jb@Md@El@FVFXHb@DRJl@F^H^FZFVF\\J`@H`@J\\H\\Nl@Nh@pAvEZjAZlA^tAr@~C^zAb@pBj@hC@HrAbG`AlEPr@TjAZxANl@Lp@DXFZHd@D\\D\\Dd@D^Db@B^@`@Bb@@^@d@?d@@d@Ab@?ZAXA^A`@A`@C\\C`@Cd@E\\C`@Gf@E`@G^G^Gb@Id@GZI`@I\\CJUv@Of@o@pBSn@{EpO", "warszawa ursus północny|warszawa gołąbki": "ycs}Houo~BsGxSyBbH{BjHiB|FgKr\\Kp@GPIZIZKZI^I^I^Kd@Kd@Id@CPEXEXG`@EZGh@It@E`@C`@C^Eb@A`@C`@Cf@Ad@Aj@Ah@?f@?n@?h@@f@@h@@f@@h@Bl@Bh@Bf@Dh@Dd@Df@Ff@Dd@Fd@Hj@?b@Lv@xAnJj@vDRtATvAFd@Hp@Hp@Dj@Fl@Fp@Fp@HrADp@Dp@j@`J@Zb@~G^rG", "warszawa włochy|warszawa ursus": "iss}Hajt~BBh@K\\Nl@BPXlATdATdAVbAJf@DN^bBLd@R|@R|@@BNl@`@dBT|@Tx@?BXdAV`A\\nAr@nCb@zARz@\\nAPt@Rz@d@pBl@pCtAbGp@xC`@dB\\bBZrATlA`@pBj@rCj@nCLl@ThANr@R|@n@pCv@hDH`@Pr@l@lCDPrAbGZpATfA`@fBr@xCb@nBVhAVhAb@jB\\zAn@tCXlAH^Nl@VhAXhAVbAlA`FHZNn@Nl@Nn@VlA", @@ -906,6 +912,7 @@ "sierakowice skierniewickie|bełchów": "evj|HwxmyBeB~DWn@}BlFWl@y@nBaCrFgBfEcCzFA@aB|DO\\sB|EeB|DO^IP]z@Yj@Yn@Yl@a@z@Yj@Yj@Sb@IN_@n@]n@[l@]l@c@r@[j@a@p@a@n@a@l@_@l@_@h@g@r@_@h@_@f@g@n@g@p@UXa@h@a@d@a@d@c@d@c@f@e@f@]^_@^UVWV_@^g@d@g@b@e@b@g@`@c@^WTMJUPUP_@Xc@\\e@\\i@^g@Ze@Ze@ZQJgIhFiIfFiIhFuFnDqAx@eF`DmAv@UNSJWPq@b@WNWPGDi@\\}A`AGDc@XsAx@_BdAaBbAYPYPKHOH", "bełchów|bobrowniki": "auo|HeghyB}CnBc@X]Tm@^]RA?[RaAh@a@T_@TULi@Zk@\\_@T_@VKFyCjB_@Va@V_@Tc@Z[RGDQLWPWP_Ap@c@Xa@Vc@X_@Va@VQLqEtCoBnAEBe@Xi@^gAp@u@d@{BvAyExCUNo@`@i@\\OJc@XwD~B}AbAsD|BiAt@kAt@gIfFiIhFiIhFgIhFiHpE_@VqAdAoAv@sAz@s@b@qBpAoAv@sAz@oAx@iIhFeh@d\\aHlEEB", "bobrowniki|łowicz główny": "quv|HqgcyBuEvCob@dXg]lTyA~@C@m@`@s@d@_@Va@Xa@Xa@XCB]Xa@ZWRKHa@\\a@\\a@\\k@f@WV_@\\YVEFc@`@[\\_@^a@`@]^_@b@_@b@_@b@]`@a@f@_@b@_@f@]b@Y`@Y^]d@[d@U\\W^g@v@g@t@iTf]cA~AiIrMk@|@eC|Dw@nA{B~CSZsD~F{CzEyPfXqAtBsAvB{@rAYb@g@z@i@x@e@x@{BtDu@lAMRQZMPGLYd@Yf@w@tAINoAxBg@|@Yf@CB]j@[f@[f@}BtD[f@SZKR_@n@y@rAUb@iAnB_BnCe@x@g@v@c@t@c@p@Yf@oU|^c@r@c@r@a@n@_@n@]l@]j@MRWb@[f@a@r@c@p@sBdDOT{DjG_@l@eA`B{Ad@", + "idzikowice|radzice pzs r31": "qcayHkl`{B_mAm_C}@eBsCuFs@yAkAaCcA_C}@wBaAmCw@uCq@oCq@cDe@iDQwAOuAIu@Gq@MgBGw@Eu@MkBEy@G_AO{Bq@_LkAiRe@mH", "mikołajów|słotwiny": "{hrzHiwexBcRdXaa@tk@q@`Ag@r@i@x@e@v@g@x@]p@a@v@a@x@sArC{BvECFw@bBeCfFaIpPyA|Cc@|@}BzEyGlN}CrGu@|AO\\w@~A?N", "słotwiny|żakowice południowe": "{wuzHon`xBO^aAvBmB|Dg@fAe@`AGNKTQ`@M\\M\\KZKZwArEo@vBQj@IZIZIXKb@I^I^I^G\\G`@G^If@E^E^In@Gj@Ed@?BEl@Ej@Cn@Ep@Ap@Cp@Ar@?p@?p@?r@@l@@d@@d@@b@Bd@FrAr@fO@NPvD^jHD|@Dz@TbDDf@Bl@Dv@Dt@B\\@^@`@@Z@h@?^D|@Bp@FfAR`EjCxj@D`AD`ADdA@b@Bb@@n@@l@?J@`@@t@?t@?v@?t@At@At@Ct@Cr@Cd@?NCb@Cd@El@Cd@KhAEj@Gf@Ip@Ip@Ip@Mx@c@`DSvAs@fFEZEZCXEf@CZE\\EVQpAm@lFKT", "łódź widzew|łódź stoki": "ag}zHwsfvBSjCQ`BGh@Gf@SpAKf@Kd@WhAOf@Ob@Ob@O`@_@~@a@z@{@jBuBlEINwChGcAtB{HjPgClFuAtCuAvCm@nA{GnNm@lAq@vAKR}@jBa@z@m@rA_AvBa@dAWp@y@hCW~@Ol@gBfH{AhGkAzE", @@ -1095,7 +1102,7 @@ "warszawa ursus północny|warszawa włochy": "ycs}Houo~BzEqORo@n@qBNg@Tw@BKH]Ha@F[He@Fc@F_@F_@Da@Fg@Ba@D]Be@Ba@B]@a@@a@@_@@Y?[@c@Ae@?e@Ae@A_@Cc@Aa@C_@Ec@E_@Ee@E]E]Ie@G[EYMq@Om@[yAUkAQs@aAmEsAcGAIk@iCc@qB_@{As@_D_@uA[mA[kAqAwEOi@Om@I]K]Ia@Ka@G]GWG[I_@G_@Km@ESIc@GYGWDm@Le@Kc@Oq@Qq@Qu@Ke@CGYmA[sACi@", "warszawa zachodnia|warszawa ochota": "wqv}Hco__CUiBOgAK{@Kq@Ie@?EOy@Ow@Ki@Q_AQ}@OaAM}@mD}U_@eCaB_LOgAeA}Gm@{DE]w@aFKs@Mu@QgAAG", "warszawa ochota|warszawa śródmieście": "mhw}Himb_CIk@Ik@Km@Io@SwAcAeIIm@Is@MmAI_AOgBEi@Ek@KcAE_@Ga@Gm@YsB", - "warszawa śródmieście|warszawa powiśle": "kbx}Hyjf_CEg@Eg@Ee@Ce@Cg@Ce@Ag@Cm@C_AAo@Aq@I_@?[Ca@A_@C_@E_@C_@E]Ge@sD_ZgCqRIm@My@Ks@Km@QcAsD}TKo@Mo@Ko@Ic@S}@", + "warszawa śródmieście|warszawa powiśle": "spw}Hsvc_Cg@kBAo@E]Ga@E[G[G_@GYI[I_@i@kAFYw@qBa@eBKe@HOUWFSSUG_@@k@Ge@Ik@}A{LuC{T]}A@g@a@}CGi@Gc@Ee@Gc@Ca@CYA_@Ce@A_@?c@?_@?_@@c@Eg@@_@B_B@]?c@?a@Ao@A_@A]AYEk@Ci@Gk@Io@BWmEg]yAkLM{@My@OaAM{@Kq@Ko@sD}TMq@Kk@Ke@Mm@EeA", "warszawa powiśle|warszawa stadion": "yxx}Hmwi_C}AiHMk@e@kBc@wA]_AQg@u@qBa@gASe@IQIOg@eAIO_@q@i@_A]i@_@i@uAkBW]W]Yg@Ua@O[S_@Se@Wm@o@}AcBcE}F}NmGwOYs@Q_@Q]Sa@_@o@_@k@SWW[UWWYi@e@YUq@c@YQOGMIQGQIQGMEMEOEWSSEQCOCMC]ESA", "warszawa stadion|warszawa wschodnia": "i{z}H{cm_CMAO?MAM?M?aC?aCAM?O?M@O?S@", "łowicz główny|bobrowniki": "gs_}HgtxxBbA_BdAaB^m@zDkGNUrBeDb@q@`@s@Zg@Vc@LS\\k@\\m@^o@`@o@b@s@b@s@nU}^Xg@b@q@b@u@f@w@d@y@~AoChAoBTc@x@sA^o@JSR[Zg@|BuDZg@Zg@\\k@BCXg@f@}@nAyBHOv@uAXg@Xe@FMLQP[LSt@mAzBuDd@y@h@y@f@{@Xc@z@sArAwBpAuBxPgXzC{ErD_GR[zB_Dv@oAdC}Dj@}@hIsMbA_BhTg]f@u@f@w@V_@T]Ze@\\e@X_@Xa@\\c@^g@^c@`@g@\\a@^c@^c@^c@\\_@`@a@^_@Z]b@a@DGXW^]VWj@g@`@]`@]`@]JIVS`@[\\YBC`@Y`@Y`@Y^Wr@e@l@a@BAxA_Af]mTnb@eXtEwC", @@ -1126,10 +1133,12 @@ "łódź olechów zachód|łódź olechów pzs r16": "mnuzH_zjvB?DJvAl@xJJbBJfBBT@^Dt@Fz@Dz@Dz@Bj@@`@Bf@D~@Bh@B|@B|@Br@Bz@B|@@r@DnA?DBtANvL@l@HbG@f@?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", "łódź olechów pzs r16|łódź olechów wschód": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?IAg@IcGAm@OwLCuA?EEoAAs@C}@C{@Cs@C}@C}@Ci@E_ACg@Aa@Ck@E{@E{@G{@Eu@A_@CUKgBKcBm@yJKwA?EK}AW}DKoBIiAKaBAQIkAUsDm@cKWeEMcBKaBMiBGaAEg@]qEg@yGC[[mE]{EI}@]qE{@wLKiAmFet@Y}DaAwMy@yKG{@Q}BIaAWwDYoDEo@SiCg@cHi@eH", "łódź olechów wschód|łódź olechów łoc": "kovzHokrvBh@dHf@bHRhCDn@XnDVvDH`AP|BFz@x@xK`AvMX|DlFdt@JhAz@vL\\pEH|@\\zEZlEBZf@xG\\pEDf@F`ALhBJ`BLbBVdEl@bKTrDHjA@PJ`BHhAJnBV|DJ|A?DJvAl@xJJbBJfBBT@^Dt@Fz@Dz@Dz@Bj@@`@Bf@D~@Bh@B|@B|@Br@Bz@B|@@r@DnA?DBtANvL@l@HbG@f@?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", - "łódź andrzejów szosa|łódź widzew": "uvxzHgtuvBQDQFQDOHQFGBQHKFQHQLSLITMAKTO@KXUTSFERQFCRSHCTY`@S`@]n@i@fAqAlCi@fA_@x@O\\MZ_@~@e@lAI@mCrH{CrI}CrI_DpIDF_AbC_AbCo@`Bm@dB}AhE{AhEo@bB}@lAaAdCsE`KiEpJgBbE}@|B]~@[~@[bA[bAYbAWdAm@lCShASbAe@tCa@tCoDtXkDzW_ErZoFva@cBrMc@`DIv@WtBQ|AMrAGn@WfCYlDwAlQEp@y@`Kg@rGGn@QzBuAzQs@rIo@nIyA~Q_B`SYlDs@zIg@hG", - "słotwiny|koluszki": "{wuzH_o`xB{@jBeBnD}BzE{BxEGLqBfEEHWj@{A~CkLpVyBrEeFpKc@z@U`@KRS\\GJORMRMPUXSVUVY\\MLYZmBtBg@h@_@`@MNMLOLMJMJOJ[ROFMFMFMDMFODOBODQBKBWBUBO@O@M?O@M?K?YAYAYCOCMEUEsAYq@OMCMEMEMEUBWIWIUIa@KiA[e@Mi@Om@Ow@Ue@Mg@Og@QYKYK{GmCaAa@WK_Bo@i@Ss@Ys@[WKQI[O[O]Q]Q", + "łódź olechów pzs r82|łódź andrzejów szosa": "y|tzHyoevBk@aHQ{B_@yEQy@UoC?}@KqAeAsMIgAAWGs@Ek@Ei@GE@e@IKIqAIwAMwBAkAOcCO{@Ca@Ca@Ce@Cg@Ac@Ci@Ci@Am@FECs@?IIk@IuE?ODi@IcGAm@OwLCuA?EEoAG@As@C}@C}@Ck@?EC}@E{@HCCi@E_ACg@Aa@Ck@E{@E{@G{@IWC[Da@CUKgBKcBG?c@yGEu@Cc@KuA?KW}DK}AI}ADSIiAKaBIO_@_GKeBy@}MK{AAGKcBMgBFGGaAEg@]qEg@yGC[[mE]{EMa@B[]qEc@iEWmFKiAmFet@Y}DaAwMy@yKG{@KYI}@Be@IaAWwDYoDEo@K[OiBi@eHg@cH?EWaDWqDB_@CW]sEEu@Om@SoC{BqZ[iE[kEKoAGm@Is@Ik@Km@Mq@Os@Uy@Uu@Um@Sg@Wi@Yg@QYU_@U[UWu@_AcAiAsA_Bk@o@]][YSQUQUQ]Q]S_@Q]Ka@Me@Kg@IWCUAa@Ac@?e@@aAFgEV]B}@Fk@Dk@@]?gBE[AYAgAAi@AU?S@W@M@WBG@QBOBQE", + "łódź andrzejów szosa|łódź widzew": "uvxzHgtuvBOPQDQFOFQFGDQHMFOHOJa@XYR[ZUTYZUZW^Y`@S`@]n@i@fAqAlCi@fA_@x@O\\MZ_@~@e@lAqCzH}CtI}CrI}CpI_AbC_AbCo@`Bm@dB}AhE{AhEo@bBo@`B{@pB{@lBiJxSeB`E}@zB]`A[~@[bA[bAW`AWbAm@lCSdASdAc@rCa@rC{Idq@oH`k@gFj`@a@~Ca@lD_@rD]rDYnDCNcAnMKlAS|AKnACX[vDEn@Gp@E^]nCE^K\\o@|HEl@Eb@Cd@E\\KrAOX[~BETEZCZ}@`LMrA]tEw@vJYfDAPI`AqC|]PxBg@hG", + "słotwiny|koluszki": "{wuzH_o`xB{@jBeBnD}BzE{BxEGLqBfEEHWj@{A~CkLpVyBrEeFpKc@z@U`@KRS\\GJORMRMPUXSVUVY\\MLYZmBtBg@h@_@`@MNMLOLMJMJOJ[ROFMFMFMDMFODOBODQBKBWBUBO@O@M?O@M?K?YAYAYCOCMEUEsAYq@OMCMEMEMEUBWIWIMEKY]H{Ab@yAk@]MUIBW{Am@KWg@QYKYK{GmCKFOGg@SUY_Bo@i@Ss@Ys@[WKSB[OY]]Q]Q", "płyćwia|bełchów": "w_{{HevayBsBaEIO}@gB}A}CUc@g@aAg@aAuAoCaEaI}@eBUc@iAyBWUMWi@cAc@{@c@w@OWKSS]S[Wc@W]U]W]W]Y]W[Y[Y[WYYYYY[W]YWSYW[U[S]UWQYO[Q]Q]Q_@Q_@Oa@Qa@Qa@OkKeEc]cNq@c@}D_ByImDoAg@m@Uo@Yo@Y]O_@Q_@QWOYO_@U[S]U[S[UYW[W[WYWYYY[YYY[Y[Y]W]Y]W_@W_@Wa@Yc@S[OYOWIOYg@ISIOUe@Uc@Se@M[EISe@Qg@Sg@Qg@GQK[Oc@Qi@Oi@GOIYOk@GSGWMi@Om@Mk@Mk@Mm@Ie@Kk@Ki@Ik@Ii@Ik@G[AMGi@Ii@Go@Io@Gq@Ea@AMEq@Go@Eq@Eo@Eq@Ag@Ce@Cc@Ac@Cq@Aq@Aq@As@Aq@?q@?q@?q@?q@@s@@q@@q@@q@Bq@@q@@W@YDo@Bq@Ds@Fq@Du@Fq@Ds@Fs@LuALsARwBHcAr@}Hr@aIr@}H@SjD}_@`AwKJiALuA^eEZmD\\mDZmDXgDFq@Da@JgAv@yIVqCtByUJiALqAx@cJLwAvB}UvAaPrCc[BW@UfAwLzAuPFi@f@sFr@cIt@iILwAxBqVxBkVHgBLsADg@Dk@Fu@Fu@Du@Ds@Ds@Du@Bs@Bs@Bu@@g@?KBu@@u@?]@U?u@@u@?O?c@As@?u@Au@As@Au@Ai@Cy@Cy@Cm@Ck@A]GiAEo@Em@Eo@Em@Go@Gq@Go@Iq@Gq@Im@Io@Io@Km@Ko@Km@Km@Km@Km@GWEUMk@CMIa@Oo@Om@YgAWiAsMyg@w@wCOk@Ok@Ok@Oe@Me@Oe@Oe@Oe@CIK[Oc@AAOa@Oc@Se@Se@Se@Ue@Se@Uc@Uc@ACS]KQIQOUGKU_@Wa@U[ACW_@W]Y]W]Y]SUEE[[Y[ECSU[Y[YGESQ[W[U[U]Uc@WUO[QOIOI[O]Q]M]O]M_@M_@M_@M_@Mq@Sq@Sqn@uQ_HqBsF_BeA[{Ac@CAmDcAcCs@CAsBm@OE_@M_@K_@M]M[M[M[Ma@XIASEYHUCWCUASASAY?O?U@S@U@SBSBSDUDSDSFSFSHSFSJSJULSLSLUNURSNSRSRQPORQRu@~@MPKPMPMRKRMRKTITKTIVITIVGVIXGVG\\I\\MVQTO`@Ib@Kf@Kf@Kf@Kd@Mb@Kd@Mb@Mb@s@jCDJo@|BOh@Oh@Of@K^M\\KXEb@O`@O^Q^GLO\\KRMTKRKRMVKTGp@KRS^CBw@xAIRKPYn@_BrDg@|@GLiBhEuCxG}R~d@BF_Op]i@lAoDlIyBtEmDhIe@hAmArC?RsCvGSd@eC|FuB`F_Vvj@gInRmZfs@mFbM}@vBwX`p@}IxSSTeB~DWn@}BlFWl@DFWl@}BlFYp@QLAVmAtCeC|FUVA@aB|DO\\sB|EeB|DO^_@lAWj@Wj@O\\KR]v@MBYj@Yj@Sb@?N[l@M@]n@[l@]l@c@r@[j@BF_@n@_@l@GCa@l@_@l@BFc@`@g@r@_@h@_@f@BFe@p@_@d@M@UXa@h@BHa@d@_@b@UVSDEVYZi@Z]^_@^GVM?WV_@^BHg@b@c@`@GEe@b@g@`@BJg@RWTMJUPUP_@Xc@\\e@\\GPa@Lg@Ze@Ze@ZQJgIhFiIfFiIhFuFnD@HuFnDcA`@BHqAl@UNSJWPq@b@WNWPGDi@\\}A`AGDc@XsAx@SZu@d@UBaBbAYPYPKHOH", "łowicz główny|bełchów": "gs_}HgtxxBbA_BdAaB^m@zDkGNUrBeDb@q@`@s@Zg@Vc@LS\\k@\\m@^o@`@o@b@s@b@s@nU}^Xg@b@q@b@u@f@w@d@y@~AoChAoBTc@x@sA^o@JSR[Zg@|BuDZg@Zg@\\k@BCXg@f@}@nAyBHOv@uAXg@Xe@FMLQP[LSt@mAzBuDd@y@h@y@f@{@Xc@z@sArAwBpAuBxPgXzC{ErD_GR[zB_Dv@oAdC}Dj@}@hIsMbA_BhTg]f@u@f@w@V_@T]Ze@\\e@X_@Xa@\\c@^g@^c@`@g@\\a@^c@^c@^c@\\_@`@a@^_@Z]b@a@DGXW^]VWj@g@`@]`@]`@]JIVS`@[\\YBC`@Y`@Y`@Y^Wr@e@l@a@BAxA_Af]mTnb@eXtEwCDC`HmEdh@e\\hIiFnAy@rA{@nAw@pBqAr@c@rA{@nAw@pAeA^WhHqEfIiFhIiFhIiFfIgFjAu@hAu@rD}B|AcAvD_Cb@YNKh@]n@a@TOxEyCzBwAt@e@fAq@h@_@d@YDCnBoApEuCPM`@W^Wb@Y`@Wb@Y~@q@VQVQPMFEZSb@[^U`@W^WxCkBJG^W^Uj@]h@[TM^U`@U`Ai@ZS@?\\Sl@_@\\Ub@Y|CoB", + "bełchów|płyćwia": "auo|HeghyBNIJIXQXQ`BcA~AeArAy@b@YFE|AaAh@]FEVQVOp@c@VQRKTOlAw@dFaDpAy@tFoDhIiFhIgFfIiFPKd@[d@[f@[h@_@d@]b@]^YTQTQLKVUb@_@f@a@d@c@f@c@f@e@^_@VWTW^_@\\_@d@g@b@g@b@e@`@e@`@e@`@i@TYf@q@f@o@^g@^i@f@s@^i@^m@`@m@`@o@`@q@Zk@b@s@\\m@Zm@\\o@^o@HORc@Xk@Xk@`@{@Xm@Xo@Xk@\\{@HQN_@dB}DrB}EN]`B}D@AbC{FfBgE`CsFx@oBVm@|BmFVo@dB_Ebd@yeA~@wBxa@kaAxh@mnAb@eAlBsEDIlAsCd@iAlDiIrB}EnDmIxIqSpEmK|R_e@tCyGhBiEFMfCeGTe@pEoKPc@Pc@Pe@HWJWL_@La@Ni@Ng@Ni@n@cCr@kCLc@Lc@Je@Lc@Je@Jg@Jg@Jg@Hc@Na@PULWH]F]FWHYFWHWHUHWJUHUJULSJSLSLQJQLQt@_APSNSPQRSRSROTSTORMRMTMRKRKRGRIRGRGRETERERCRCTARATAN?X?R@R@T@VBTBVBP@JB\\DXCRDJNZH\\HTFXAFBTFLDRRPDNDNKTDNBNDNVb@L^JB@p@PJBVHPBNDn@JPBNDXFLDzAb@dAZrF~A~GpBpn@tQp@Rp@R^L^L^L^L\\L\\N\\L\\PZNNHNHZPTNb@V\\TZTZTZVRPFDZXZXRTDBXZZZDDVJX\\V\\X\\V\\V^@BTZCHV`@T^FJNTHPJPR\\@BTb@Tb@Rd@Td@Rd@Rd@Rd@Nb@N`@@@Nb@PRBHNd@Nf@FN@ZLd@Nd@Nj@Nj@Nj@v@vCrMxg@VhAXfANl@Nn@H`@BLLj@DTFVJl@Jl@Jl@Jl@Jn@Jl@Hn@Hn@Hl@Fp@JRA\\Fn@Fp@Fn@Dl@Dn@Dl@Dn@FhAHZCl@Bl@Bx@Bx@@h@@t@@r@@t@?t@@r@?b@?NAt@?t@AT?\\At@Ct@?JAf@Ct@Cr@Cr@Et@Er@Er@Et@Gt@Gt@Ej@Ef@MrAIfByBjVyBpVMvAu@hIG@{ArPEf@{AvPgAtLBXCVsCb[wA`PwB|UMvAy@bJMpAKhAGJsBhUWpCw@xIKhAE`@Gn@[fD[nD[lD[jDy@dJ_CrWw@tIq@vHCTBTs@|Hs@`Is@|HQ`AF@SvBMrAMtAGr@Er@Gp@Et@Gp@Er@Cp@En@AXAVAp@Cp@Ap@Ap@Ap@Ar@?p@?p@?p@?p@@p@@r@@p@@p@Bp@@b@Bb@Bd@@f@Dp@Dn@Dp@Fn@Dp@@LD`@Fp@Hn@Fn@Hh@Fh@@LFZHj@Hh@Hj@Jh@Jj@Hd@Ll@Lj@Lj@Nl@Lh@FVFRNj@HXFNNh@Ph@Nb@JZFPPf@Rf@Pf@Rd@DHLZRd@Tb@Td@HNHRLb@NZNVPXVRXb@V`@V^V^X\\V\\X\\XZXZXXXZXXXVZVZVXVZTZR\\TZR^TXNVN^P^P\\Nn@Xn@Xl@TnAf@xIlD|D~Ap@b@b]bNjKdE`@N`@P`@P^N^P\\P\\PZPXNVP\\TZRZTXVVR\\XZVXXXXVXXZXZVZX\\V\\V\\T\\V\\Vb@RZR\\JRTLb@v@b@x@f@bAHb@VThAxBTb@|@dB`E`ItAnCf@`Af@`ATb@|A|C|@fBHNrB`E", "koluszki|słotwiny": "mixzHgl}wBLDLDLDLBp@NrAXTDLDNBXBX@X@J?L?NAL?NANATCVCJCPCNENCNELGLELGLGNGZSNKLKLKNMLMLO^a@f@i@lBuBX[LMX]TWRWTYLQLSNSFKR]JSTa@b@{@dFqKxBsEjLqVzA_DVk@DIpBgEFMzByE|B{EdBoDz@kB", "warszawa główna towarowa|józefinów": "_`t}Ho{j~BRbDRlDbAtP^fGF~@J^B`@Dd@Dd@Dd@Fh@@JV|B^bDJdAHn@DVHp@F^Jt@BNDXFVHb@FZFZJd@Jb@DPRt@Tx@Tt@Xz@@DXt@Vp@Zr@\\r@FLTb@^n@^l@`@l@PXNP`@f@VZJLb@b@b@`@d@b@\\VJH^Vf@Zf@Xh@Xf@Rh@Rj@Pf@LHB`@Hj@Jh@Df@DT@ZBf@?f@?h@Aj@Ef@En@Il@Mb@K`@Mp@S`Cy@~@]fBo@j@SNGjBq@nCaA~B{@r@Yr@[z@c@b@Y^UbAq@bBkAjBcAdEsCFEVOXQZOVMZKTIZK\\I\\EZGZC^C^?\\?^@\\@`@DPDNB^Fb@L\\LD@VJ`@RZP^T\\VZVZXFFTTX\\\\`@\\f@HL`@p@^r@N\\Vl@P`@Nb@Ph@Pj@b@T", "raciborowice|dłubnia": "sazpHmffyBh@jBZfAPj@ZdARn@Tn@Rf@Rb@R^Xb@X^RR`@b@XR`@TTJZNb@LNDPB`@D\\B`@?TARAh@Gd@Md@QRIVOXSTQTSTUT[PUT]R]Tc@d@IBJa@z@GNSd@CD]|@[|@IBWt@Sj@A\\_@z@", @@ -1144,6 +1153,7 @@ "katowice janów|katowice much. kmb": "gnsqH_gnsBnMbXr@zAtArCf@fARd@Tf@\\x@^~@rHfS|@fCx@lCj@~Bh@jCbFnYRnAp@~D^vBtCtPHd@`@lCL`AJlADj@Bj@D`BAdBAv@Et@OlBKdAQ`A]dBa@zAoBlGITWz@a@jA]jAa@`B[`BOfAOnAKjAK|ACdAC|@?tA@vABtALvBf@`Hh@bHNtBJvBJfCB~@DfBJ~FF`BFnAFp@NzAfI|s@^fDj@lGZtCxDv\\^fD`@lErI|~@HBVlCT~ATvAHl@Ff@NzAR|BNlA", "katowice much. kmb|staszic": "mxpqHyo_sBL|@N~@Pz@Pt@ZjAf@vAd@lAn@zAvHdRbAdC^z@`@x@d@v@b@f@b@d@vA|@j@Tz@RlAHh@Ad@Ef@KhA]v@e@~@y@t@_Ad@q@d@w@", "gałkówek|łódź olechów łoc": "kpvzHadnwBPvGBp@H`Dz@~ZFxDB~A@lABhDHl_@@fCB`J@p@BhI@rG?lANx`@f@tkB@nE?bA?fAAxAA~@Cv@CfAChAGrAGnAIpAKtAKrAOpAQ|AOjAOlAUxAUtAcA|GEVWbB?^i@lDeA|GUzAQlAQnAMfAOtAKfAMvAIlAKtAGnAErAEpACpACvA?pAAfA@lA@bEFdWBnJ@jEBjD?hDLnc@HpV?~@@jC?pED~KDtQ@|A@lA?rBDnJ?vB?n@?n@?V?z@Az@Al@?^Ah@Ah@EtAGzAEbAGnAATK|BStDkEb~@s@`Oc@hJEbAGnACb@CVE`AE~@E`AEnACnAChAAxA?tA?vA?`@Ab@?lD?l@?vDA|E?zB?`A?z@@z@?bA@`A@~@@t@B`AB~@Bx@B~@D~@Bv@Bf@FjADhAFfAFdAF~@HnAHlADn@Dl@Fj@Fl@Fl@Fj@Hj@Hj@DXDTHh@Jf@Lj@Jh@Lf@Ll@~CdMTz@Rx@Lj@Ll@Bh@Jd@H`@H`@Hb@Hh@NfAJj@l@rEFf@Fd@D^Db@Dd@F`A\\pEFt@VpDV`D?Df@bHh@dHNhBHlAVpDP~BHz@J~AH|@dApNzAtS~Cnb@n@xI^`F`@zFFr@|@vLVnDBXjAxOB`@\\xELdBLfBJbB@FJzAx@|MJdB^~F@PV|DH|AJ|AV|D?JJtABb@Dt@b@xGJdBJfBDt@BZ@XD|@Fx@Bz@Dl@?FD~@D~@@j@Dz@B|@?DBj@B|@B|@@r@BtABtAFbEHpFJtHHb@?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", + "koluszki|żakowice południowe": "cfxzHak}wBh@RzAl@RHHBTHTFRFRDRBVDXBP@Z@R?PAXCRARETCRGRGRGHEXMNGHEPIRMRMROZUZWzBaBf@]RMRMPKVKTKTINGNENCNETETETATCTAR?V?T@T@TBTBPBTBRFTFTFRHRJTHRLRJTNRPNJRPPPNPPRPRPTNRNTNXNVLVNXLVJZLZN`@L`@FPJ^H\\H\\H\\F^H^D\\F^D^F`@D`@Bd@D`@B`@B`@PnDBp@Dj@@ZR`EjCxj@D`AD`ADdA@b@Bb@@n@@l@?J@`@@t@?t@?v@?t@At@At@Ct@Cr@Cd@?NCb@Cd@El@Cd@KhAEj@Gf@Ip@Ip@Ip@Mx@c@`DFZ[z@s@fFEZEZCXEf@CZE\\EVQpAm@lFKT", "gajewniki|dionizów": "}q_zH{lzrB?b@?X?ZAt@?\\?Z?^DjD?x@?r@At@Af@Cf@Gt@AXEXC\\E\\Mv@G`@Ib@I\\I`@Mb@Mb@K\\O`@c@dASb@S`@k@|@WZWZoAlAoAz@eF`DqBnAw@f@w@j@u@j@ONONa@b@]d@]f@KPOTYh@MZOZ]|@Y|@Y~@wJb]", "kraków przedmieście|kraków olsza": "wfupHwnwxB`@RNFhBr@ZNZNZNr@`@lAr@VL\\NZHTFVBJ@P@P?TAZCTEVGTIVMVORORQTWPURYP[N[", "sosnowiec główny|sosnowiec południowy": "uozqHgqusBd@`@f@Zj@Tn@NZBZ@\\?^C^G\\Kr@[NGTS\\Wv@s@", @@ -1154,13 +1164,13 @@ "dłubnia|kraków batowice": "sgypHikeyB[jASz@A^Mj@SfASfAQhACRKp@Ir@M|@Gh@Iz@Gp@Eh@Ep@Gt@E`AEz@Ah@Cf@A\\C|@At@Av@AtACpACxCEjCIrFGbDG`EErCEnCEzCElCEnBAxAC`BAbBCdBAzBCtBAdAE`CAnAClBC~AAhAAtA?nA?f@?tA@jB@vABlBB`ABp@Dz@FrAJ|AHpAJvALxAH|@Fn@LpANrAPhANdANx@Nz@Z|ATbACPJd@b@`Bl@dCvAvFSN", "starzyny|koniecpol": "gxotHymzwBQF_A^_Bf@_MlFyAp@gg@jToB~@_B~@cBfAcBrAIF_A|@uAtAcAtAoAbBuV|]wIbMgi@lv@Y`@a_@ji@cB`CkAlByAfCgAvBg@~@{MhXwThd@}EzJuAxBmAnBwAhBqAvA{AvAwAlAcBjAaB`AuAt@mAp@cLtF{e@tUaLvFmL|FwNdHsVzLuAp@_FdCs@^m@Ze@Xk@^i@^g@`@e@b@i@f@c@d@a@f@c@j@a@h@U\\U\\[j@[f@Ub@Uf@[n@Yp@[v@[|@[bA[dA[jAWfAS~@Q`AQfAMz@M|@KbAK`AAFI`AGx@Ex@EjACv@Cr@A|@Ax@?hA?bABjA@`ADjADbAFfAH`AHbAJbALfAL`AP`AN|@RbAPz@Rz@V~@XfAZjA\\lA`G|Sh@hBbAtDT|@R~@ThANx@NdAN`ALdAJbAJdAHbAJzAHvATdG", "kraków główny kga|sosnowiec maczki": "orspHi_vxBUXa@l@c@p@w@pAq@hAS^S^c@|@_@v@a@|@MZQ`@]x@_@bAeB|EeAtC_@bASn@Wv@Wv@]pAOj@On@Op@Kn@Oz@O`AYbCKfAGbAGz@GdA]lGOxCGrAE`AANEpA?RCx@CrAOdLG|DKpH?J?d@E`CGzECtAKxHC|BEzCIvGC`CWzNUdRA~@YxUMnKUfS?JCrACdAClAEpAEnAe@|MCnA??GxAClACnAClBAz@?T?jAAjAA|AArFA^?rBOx_@?lBA~A?rA?j@?j@@tA@pA?PBpA@Z@r@BrABnA@RLjFBt@JjEH`CNfGBv@Bx@JzEBt@JdE@^FvBDtA@lABzABnA@xA?rA?rA?L?x@A~AAhA?`@An@ClAClAClACp@AXEnAGtAGnAIvAIrAKrAIpAKnAMlAEb@Gl@MjAMrAOhACRM|@QpAQjAALO|@QdAUrAm@|CWnAS`ACHS~@On@On@YdA[nAQl@K\\Qn@]hA]hAYz@GN]bA_@fA_@`A_@~@]z@ELWh@]x@IRQ^[p@_@v@S`@GJ[p@_@r@[h@qChFyDdHc@x@i@`AmDrGcAhBy@zA_CfEYh@CDwSt_@uLrT?@c@v@e@z@e@z@i@|@e@t@c@r@QVU^SXSZg@r@mAfBiCtDcB`Ca@l@oFxHePnUiCtDiCrDEFw@hA_KvNc@l@uFbIw@xA}AvBm@|@a@l@k@z@e@v@i@z@c@x@a@t@a@t@]n@g@dA_@x@c@`Aa@|@]z@_@~@[z@a@fA[|@[`A]bAY~@]hA[hAAF[hA[nA[lAId@Oj@UhAWjAeAlFa@rB[|AGZm@`DkAbGKh@c@xBOp@aClMeAvFiAfGsEhVCN{BxL[bBUhASlAMn@ETQlAQdAOdAQhAOfAE^Gf@OjAMhAMlAKhAKjAMxAMxAUbDg@fHEn@a@vFQnCKvAg@rHIjAS~C_@zEIhAIrAk@lHKjA_AvMKvAItAIjAItAGvAGvAErAEzAErACvAAbA?PAxAAtA?zA?tA@vA@tABtABxADxA?HDjADrAFxABXDx@HxAHrADh@Dn@LxARdCj@lGPjB\\bEtAvOH|@Fl@DbBXlDZfFPdEL|DD`BBdB@`E@~DE`J?~B@pE@hDHxDNzDBj@LtCVvDbAxLtGvv@XrD`@rEh@dGd@`GNdDHfCDlC@vEC|BEpBe@pPMhCS|DYhEAH[jDa@zDg@zDk@vDo@tDq@hDw@dDELk@~BU|@_@rAaA~CeBhFqApEiBtFsQti@eAhDaAlD{@nDeAzEs@tD[pBSjAi@`Eg@vEUtBc@tFUbEOnCaDzq@q@nNyB|e@Q`EM~DIfEG`E?rAA|@@nDHvLF|HDzDXvP@n@FdEDfC@`A?~@?`A?fEA~K?`@?fDA|AArA?rACrAAnAArACvACvA_@zSOlJEnACjACpAKrCGnCCdACjAE`DA\\AjBEdC?n@GfF?f@CfCAjA?pA?rA@rA@nADvABhADvAFhAFrAHnAJnAJnAJrANlANpAJ~@BNNhAz@xG^vDXtBhCdSNlAPvANpALpALpAJvAJrAJtAHpAHtAFrAFxADpADxADtABpA@j@?~@@`A@tA?xA?rAArAApACrAAxAEpAE|AEnAQjEaEzaAuAv\\w@tRG~AGlAGjAI|AIpAKrAKxAMjAEf@AJSpBQ~AOjAEXM`AQnASrASrAUnAWvAUlAWlA_@dB[rASv@U~@]lA]nAW|@[~@]jAc@pA_Vds@?TUp@[bA_@hA[dAW~@[hA[jA[nAWhAWjAYtAWnAUlASjAUrAUtAOhAIh@Ih@OtAQvAOrAO|AO`B_@bE{@lJQlBMzAKlAIrAKtAItAGtAEhAARCf@AZEpAChACrACtAArAApAArA?rA?lM?nAGlB?fn@?tp@?fI?vG?zA?bAA|AApAArACrACvACnAEvAGzAGpAGtAIrAGnAKvAKpAKpAKlAKjA_@dDKdAQrAQlAStAQpASjASjAUpAaNlu@QhAWrAQhASnAQnASpAOlAOnAmE~_@cCfTCVsCxV[jCcJ`x@oD`[qA`LUzBY`CoA~KIr@_A`IMjAK~@_@dDS`Bc@zDe@`Ec@lDy@vFObAShAQdAShAUjAS~@SdAWhAUfAU`ASx@uEbRm@hC}C~Mq@rCYrAi@zCmBjIGXa@dBcAnEi@tBu@vCs@vCu@|C}@vDsA~F_AbE{@pDiIl^}@~Ds@`Dc@zBETWtAOz@EVYbBKr@QnAM`AOjAOpAMlAMpAKjAMxAW~Cm@rHUlC?BKlAIfASbAKhAKfAMhAOnAOjAS|AQhAOhAShASjAShASbAUhAYtAWhA[rAYdA]rA[bA]jA]hA]fAa@hA]`Aa@jAuR`i@cEfLmL|[q@fB_@bA_@dAy@`CoJ|WuB~F_E~KiBbFYt@Un@Ul@Wn@EL]x@e@dAa@~@c@~@c@~@c@z@gAvBmG|LsH~NiC~EcDnGsg@hbAMRyAtCqb@zy@}Ob[qAfC_@r@c@x@_@r@c@x@e@v@_@p@c@p@a@n@g@t@e@r@o@|@g@p@q@x@e@l@s@x@g@j@s@v@i@h@o@n@m@h@m@h@q@h@o@f@k@b@a@Ve@ZQLq@b@m@^uG~Ds@b@q@^w@`@m@\\s@^}CxAqI`EaAd@QHoAl@q@\\m@ZULi@V_@TULaB`Ao@^w@d@yFfDm@\\k@^q@b@i@\\oLzHeGlEye@n[aBfAwFtDaG|De@Zm@`@q@d@q@d@q@h@k@d@i@b@m@h@e@b@o@l@c@b@WXSRs@v@i@n@i@n@k@t@i@r@i@t@e@r@i@t@c@p@eHxKOTsQzXg@x@W`@ORi@x@i@v@IJsDfFaCdDmAbBa@n@c@n@]h@Yd@Q\\_@r@a@x@]t@_@z@[v@Wr@Yv@[~@W|@[`Am@xBQj@I\\e@`B[fA{@|COh@_AbDc@`BSt@Qx@Qt@S~@Q`AMv@In@EROhAMdA_BfN}A`Ns@dG]pC[lC}@`IGh@Mv@EVGXG`@In@Il@Kv@EZOr@E\\GXCXIp@_Er]y@hHkAzJYpAY|@g@lAc@x@i@v@c@f@g@b@q@b@q@Xu@ViBf@E@uBj@oGfBo@PsGhB[HGBe@No@\\WP[VUTWXs@`AqAnBuAtBqAlBk@z@oBvCu@dAe@j@WX]^SRQNQLSPg@^[R[RuD|BeDpBYP[Ps@ZWJWHYHG`@y@^g@T{@d@u@f@o@j@m@t@[b@Y`@m@jA", - "sosnowiec maczki|sosnowiec dańdówka": "ioxqHo}qtBe@dAMZUl@CJ_@jA]rA[`BU~AQ~AMbBGbBCfBCfBK~MC`ECpAElAIrAMtAEVKv@SlAUjA[dA]fA_@`Ac@~@e@x@w@hAo@x@qAfBsAbB}TpXeBvB[`@w@`AkA~Ame@ds@_HdKi@t@m@~@oAbB_@d@W\\OTMRONEPQ\\MZKXITKZMb@Kd@Id@Gb@Gd@Ej@C`@Ch@Ab@?f@?f@@f@@f@Bf@Db@Fd@Fd@Hb@Hd@H\\L`@L`@P`@NZN\\QRb@h@Xb@^j@rBjDbEdHjD`GdAfB~DbHLPn@hAn@bAZh@\\f@Xb@@@\\b@^b@^`@NNn@j@^X`@X`@Xb@Tb@Rh@VpJfE~@`@z@b@dAl@d@Z^ZVRXVRRRRNPNPRVZ`@NRPVT`@Xd@Zj@Xp@Vj@Tn@Tn@Tt@\\rAn@bCBJp@jCLf@|WxeAZnAl@~BT~@Ll@Nx@Lv@N~@Hj@Fd@D^JdAJnAF`AHdBDbB@jA?zA?|@CjAC~@GtAGhAMfBO|AUfCe@|GOfCIpBC|AC|A@`B?BB~BH`F", + "sosnowiec maczki|sosnowiec dańdówka": "ioxqHo}qtBe@dAMZUl@CJ_@jA]rA[`BU~AQ~AMbBGbBCfBCfBK~MC`ECpAElAIrAMtAEVKv@SlAUjA[dA]fA_@`Ac@~@e@x@w@hA}@jAcAtAsAbB}TpXeBvB[`@w@`AkA~Ame@ds@_HdKi@t@m@~@oAbBY^UZGFm@x@EPQ\\MZKXITKZMb@Kd@Id@Gb@Gd@Ej@C`@Ch@Ab@?f@?f@@f@@f@Bf@Db@Fd@Fd@Hb@Hd@H\\L`@L`@P`@NZN\\Tb@CX^NdAjBfA~BbEpGrC|ENVJTXn@JTZj@~DbHLPn@hAn@bAZh@\\f@Xb@@@\\b@^b@^`@NNn@j@^X`@X`@Xb@Tb@Rh@VpJfE~@`@z@b@dAl@d@Z^ZVRXVRRRRNPNPRVZ`@NRPVT`@Xd@Zj@Xp@Vj@Tn@Tn@Tt@\\rAn@bCBJp@jC^^VhA\\zA\\rApElQnOvm@MPl@~BT~@Ll@Nx@Lv@N~@Hj@Fd@D^JdAJnAF`AHdBDbB@jA?zA?|@CjAC~@GtAGhAMfBFBM|ASdCFZs@nKKlBExAC~A?bBD|BDhDEHGn@", "sosnowiec południowy|sosnowiec główny": "g_zqHyrusBw@r@]VUROFs@Z]J_@F_@B]?[A[Co@Ok@Ug@[e@a@[_@a@N", "dąbrowa górnicza towarowa|dąbrowa górnicza towarowa dta r5": "gpbrHuoguB}G{Xg@mBk@iBo@_Bu@}A}@yAcAwAaAgAcA_Ak@c@g@[_@Ua@Si@Uk@SiAYq@Mk@Ia@Cw@Cy@?K?e@BkALwAZy@Va@Py@^_Al@e@Ze@`@{@z@k@n@}@nAy@tAu@|Ao@~Ak@dBg@jBa@|AsCzLQViCzK", "dąbrowa górnicza towarowa dta r5|przemiarki": "s_erH{kguBkA`Fq@pCq@`Cu@zBw@jBm@rA}@`Bi@z@i@t@s@~@gAlAo@n@i@b@gAv@i@\\y@d@e@T]Nm@Ts@TkAXoATi@FoAH{@@o@?qp@sB_ACqp@sBwIKaZaAuBG}@Aw@?_BB{AFiBNyBXyAX{@P_Cp@A@uAf@cA`@iBz@{@d@w@d@iBlAw@j@{@r@{@t@i@f@a@`@aA`A}AhBm@v@q@|@gA|A}@vA_A`Ba@r@aAdB}DnH{Wpf@_CjEeCrEwB`EwAhCiYxh@i@`Ag@|@EHk@|@w@jA[d@[`@c@j@i@p@{@bAs@v@_@^SR}@z@m@h@k@f@w@l@yC|BuChB", "przemiarki|łazy łc": "ecprHeh`uBqHxFq@h@q@f@iBpAsPrLq@b@m@^u@b@u@^c@Rw@\\i@Ru@Vu@Rs@Rw@Pc@Hi@H_@Fu@Hu@F_@BW@s@B{@?w@?C?q@Aw@Ew@Gc@ESCy@Ku@Mu@Ou@Sw@Ss@Wo@Ui@Uk@Wi@Wm@[u@c@m@a@u@g@o@g@m@e@uK}Ik@c@i@a@m@a@m@_@m@[m@[m@Wa@QOGq@Um@Qs@Qo@Ms@Mo@K}B[m@Ii@Km@Ok@Ok@Qi@Si@Si@Wi@Yi@[e@[i@a@c@]_@[IIe@e@e@e@e@i@UWKO_@g@a@k@a@o@Ye@EG_@s@]s@_@w@Qa@IQ[y@Yw@Um@Qm@Qm@Ma@Oi@Mi@Qu@Oq@Mq@Km@Ig@Ga@Mw@K{@Ge@CUKy@W}BUqBIy@Gy@I{@GgAGiAK_C]cII_Bg@yKu@cQ{A_Y", "szeligi|marków": "ydc|Huh|{Bu@Y[OYOoAm@YO[Mu@[IEeAa@SI[K[MSKWK]Q]QMGKGOIMKYOWQWOWQmQgLyDeCgBkAeBiA]Wa@Yc@a@g@e@e@e@g@k@W]e@k@_@i@]i@c@s@_@s@Wg@_@y@Yo@[w@Ws@Yw@Y}@W_AYeAS{@Oo@EUEUKk@G]Mw@QiAOoAMkAKiAKoA", - "rokiciny|słotwiny": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gTeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YiEcB[OYMMGMIw@g@QKYOKIe@Y[UUQUQQQa@c@MOMQSYMUOUMWOYKWMWM[IWKWIYK[Kc@GUI]G]G[G]G_@E[Ea@Ea@Em@Eo@Cc@Cc@IsA]yGSkEy@wOCu@E}@Cm@Ac@Ae@Ak@?e@Ae@@g@?g@@e@@e@@g@Bg@@e@Dg@Bg@De@De@De@Fe@De@He@Fc@He@Ha@Fa@Jc@Je@Ja@Ja@La@DONk@tD_MJ_@CU@]|B{EdBoDz@kB", + "rokiciny|słotwiny": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gTeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YiEcB[OcA_@wAk@i@Ug@SDg@UQUQQQa@c@MOMQSYMUOUMWOYKWMWM[IWKWIYK[Kc@GUI]G]G[G]G_@E[Ea@Ea@Em@Eo@Cc@Cc@IsA]yGm@oDX[y@wOCu@]g@Ac@T_@Ac@Ae@Ak@?e@Ae@@g@?g@@e@@e@@g@Bg@@e@Dg@Bg@De@De@De@Fe@De@He@Fc@He@Ha@Fa@Jc@Je@Ja@Ja@La@DOCs@BKn@wBvAsEJ[J[L]L]TKJ]J[L[J[JW^{@lB}DT{@z@kB", "józefinów|warszawa główna towarowa": "uqo}Heyg~BSs@[eAQUQi@Oc@Qa@Wm@O]_@s@a@q@IM]g@]a@Y]UUGG[Y[W]W_@U[Qa@SWKEA]Mc@M_@GOCQEa@E]A_@A]?_@?_@B[B[F]D]H[JUH[JWL[NYPWNGDeErCkBbAcBjAcAp@_@Tc@X{@b@s@Zs@X_Cz@oC`AkBp@OFk@RgBn@_A\\aCx@q@Ra@Lc@Jm@Lo@Hg@Dk@Di@@g@?g@?[CUAg@Ei@Ek@Ka@IICg@Mk@Qi@Sg@Si@Yg@Yg@[_@WKI]We@c@c@a@c@c@KMW[a@g@OQQYa@m@_@m@_@o@Uc@GM]s@[s@Wq@Yu@AEY{@Uu@Uy@Su@EQKc@Ke@G[G[Ic@GWEYCOKu@G_@Iq@EWIo@KeA_@cDW}BAKGi@Ee@Ee@Ee@Ca@K_@G_A_@gGcAuPSmDScD", "dorota|dąbrowa górnicza wschodnia": "gz{qHstttBaIoFq@e@oFqDuA}@yA{@c@WmAi@eBs@aA_@gA[qBg@mB_@_UgDCAe`@aG}AU}AYkA[iAe@iAo@cAs@OMo@k@y@}@]c@GGQW]g@[e@Wi@Wc@Wm@Wk@Wo@Uo@Ww@GWIYSw@Os@Qw@Mu@My@M{@K}@Gw@G{@G{@E{@C{@Wg@?i@?i@?g@@i@@sABsBBsBS}E?_A@eB", "katowice muchowiec staszic|staszic": "mapqHc{csBJn@n@hDz@xEjB~J^nBP|@h@vEVvAVxAp@rD`BzIXrA`@~Av@dDtBtIxD|OtAzFnAhFXnAP|@PjAJz@LfAFdAHxABjA@dBAnACz@Ev@A`@InAMlAU|AUvAUdAc@`BIZqB`Iu@pCOf@Qf@{@lBo@tAe@v@", @@ -1180,8 +1190,8 @@ "zduńska wola|dionizów": "{l_zHu`vrBC}@MmCA]GeACi@Ay@KcICoBCeBGeFGiFCqACeBCqAEo@Ci@Ei@Eg@Eg@Io@Km@Kk@Ii@Me@Me@K]K]Qg@Sg@Ui@We@Wc@Yc@UYUYW[YYg@a@a@Wc@W]O]O_@I_@K]G]EYAYA]?_@@_@B_@Fc@He@L_@N_@Pq@`@k@`@QPSPe@f@e@p@]h@[j@OZOZMZM^[~@[`A{Jv\\", "dąbrowa górnicza strzemieszyce|dąbrowa górnicza huta katowice": "uuarHwdqtBOh@KXKXIRQf@IRMZWr@_A|BqJtRGLqBbEINw@|Ay@zAg@|@aAtAiAlAcAbAgAv@mAr@mAf@oA`@oAVqALyBDuACmCIgBQo@Kk@KEAm@Mq@Qa@M]MUIe@Qe@SA?e@Se@W??e@Wg@Yc@Ye@[KIYSc@]i@c@g@c@MMyCmC{CmCeIkHuDgD_DoC]Ya@[[S_@U]M_@O_@Ma@ISEIAc@Ea@C_@A]?]BY@WDYDYDg@L]FkAXQg@", "łódź olechów łoc|gałkówek": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?IIc@KuHIqFGcECuACuAAs@C}@C}@Ck@?EC}@E{@Ak@E_AE_A?GEm@C{@Gy@E}@AYC[Eu@KgBKeBc@yGEu@Cc@KuA?KW}DK}AI}AW}DAQ_@_GKeBy@}MK{AAGKcBMgBMeB]yECa@kAyOCYWoD}@wLGs@a@{F_@aFo@yI_Dob@{AuSeAqNI}@K_BI{@Q_CWqDImAOiBi@eHg@cH?EWaDWqDGu@]qEGaAEe@Ec@E_@Ge@Gg@m@sEKk@OgAIi@Ic@Ia@Ia@Ke@Ci@Mm@Mk@Sy@U{@_DeMMm@Mg@Ki@Mk@Kg@Ii@EUEYIk@Ik@Gk@Gm@Gm@Gk@Em@Eo@ImAIoAG_AGeAGgAEiAGkACg@Cw@E_AC_ACy@C_ACaAAu@A_AAaA?cAA{@?{@?aA?{B@}E?wD?m@?mD@c@?a@?wA?uA@yABiABoADoADaAD_ADaABWBc@FoADcAb@iJr@aOjEc~@RuDJ}B@UFoADcAF{ADuA@i@@i@?_@@m@@{@?{@?W?o@?o@?wBEoJ?sBAmAA}AEuQE_L?qEAkC?_AIqVMoc@?iDCkDAkECoJGeWAcEAmA@gA?qABwABqADqADsAFoAJuAHmALwAJgANuALgAPoAPmAT{AdA}Gh@mD?_@VcBDWbA}GTuATyANmANkAP}ANqAJsAJuAHqAFoAFsABiABgABw@@_A@yA?gA?cAAoEg@ukBOy`@?mAAsGCiIAq@CaJAgCIm_@CiDAmAC_BGyD{@_[IaDCq@QwG", - "dionizów|gajewniki": "seazHkdwrB`Kc]X_AX}@\\}@N[L[Xi@NUJQ\\g@\\e@`@c@NONOt@k@v@k@v@g@pBoAdFaDnA{@nAmAV[V[j@}@Ra@Rc@b@eANa@J]Lc@Lc@Ha@H]Hc@Fa@Lw@D]B]DY@YFu@Bg@@g@@u@?s@?y@EkD?_@?[?]@u@?[FMIcH", - "dionizów|zduńska wola": "ieazHkdwrBzJw\\ZaAZ_AL_@L[N[N[Zk@\\i@d@q@d@g@RQPQj@a@p@a@^Q^Od@Mb@I^G^C^A\\?X@X@\\D\\F^J^H\\N\\Nb@V`@Vf@`@XXVZTXTXXb@Vb@Vd@Th@Rf@Pf@J\\J\\Ld@Ld@Hh@Jj@Jl@Hn@Df@Df@Dh@Bh@Dn@BpABdBBpAFhFFdFBdBBnBJbI@x@Bh@FdA@\\LlCB|@DfC@r@BhCTrQBvA?dABfDB|E@fABzCVjRFpFDhBDjBJrE@r@DhB@bAF|EHd@@h@", + "dionizów|gajewniki": "seazHkdwrB`Kc]X_AX}@\\}@N[L[Xi@NUJQ\\g@\\e@`@c@NONOt@k@v@k@v@g@pBoAdFaDnA{@nAmAV[V[j@}@Ra@Rc@b@eANa@J]Lc@Lc@Ha@H]Hc@Fa@Lw@D]B]DY@YFu@Bg@@g@@u@?s@?y@EkD?_@?[?]@u@?[?Y?c@As@P]CcACqAIK", + "dionizów|zduńska wola": "ieazHkdwrBzJw\\ZaAZ_AL_@L[N[N[Zk@\\i@d@q@d@g@RQPQj@a@p@a@^Q^Od@Mb@I^G^C^A\\?X@X@\\D\\F^J^H\\N\\Nb@V`@Vf@`@XXVZTXTXXb@Vb@Vd@Th@Rf@Pf@J\\J\\Ld@Ld@Hh@Jj@Jl@Hn@Df@Df@Dh@Bh@Dn@BpABdBBpAFhFFdFBdBBnBJbI@x@Bh@FdA@\\VtBVxRHXFjFMnBBvA?dABfDB|E@fAR@DlEH\\@zABxAB~@@~@Bv@@~AD~CD|BI`@MfBDjBJrE@r@DhBRR@V?\\Ab@A|@?ZA^@x@@d@@h@", "zduńska wola karsznice|zduńska wola": "g|{yHir{rBaAjC_LhZu@pBiAxCaCrGw@pBaA|Bw@~Au@nA}@rAcAjAcA`AgAz@oAr@}@`@oBj@gBToADsAAeL}@gBO{AIiB?oADsC^_AP{Af@aAb@{@h@y@f@{@v@o@n@g@l@u@bAq@hAa@r@cA|Bg@xAQf@[hAOj@YtAOv@Oz@[bCI`AGx@MlBE|ACdA?bA?lCBdAFjF\\vXFrEXhUFjFb@h]@zABxAB~@@~@Bv@@~AD~CD|B@j@HhHHdH@V?\\Ab@A|@?ZA^@x@@d@@h@", "idzikowice|radzice": "caayHoj`{BmoAiaC}@eBsCuFs@yAkAaCcA_C}@wBaAmCw@uCq@oCq@cDe@iDQwAOuAIu@Gq@MgBGw@Eu@MkBEy@G_AO{Bq@_LkAiRe@mH", "zduńska wola|zduńska wola karsznice": "uh_zHkurrBAy@@_@?[@}@@c@?]AWIeHIiHAk@E}BE_DA_BCw@A_AC_ACyAA{Ac@i]GkFYiUGsE]wXGkFCeA?mC?cABeAD}ALmBFy@HaAZcCN{@Nw@XuANk@ZiAPg@f@yAbA}B`@s@p@iAt@cAf@m@n@o@z@w@x@g@z@i@`Ac@zAg@~@QrC_@nAEhB?zAHfBNdL|@rA@nAEfBUnBk@|@a@nAs@fA{@bAaAbAkA|@sAt@oAv@_B`A}Bv@qB`CsGhAyCt@qB~KiZ`AkC", @@ -1301,6 +1311,8 @@ "józefinów|warszawa włochy": [[0, 0]], "warszawa włochy|warszawa zachodnia": [[0, 0]], "warszawa zachodnia|warszawa centralna": [[0, 0]], + "warszawa centralna|warszawa wschodnia": [[0, 0]], + "warszawa wschodnia|warszawa grochów": [[0, 0]], "warszawa wschodnia|warszawa praga wpt m": [[0, 0]], "mysłowice|katowice zawodzie": [[0, 0]], "katowice|katowice tow. ktc": [[0, 0]], @@ -1349,6 +1361,7 @@ "zawiercie|góra włodowska": [[0, 0]], "góra włodowska|psary": [[0, 0]], "katowice tow. ktc|katowice": [[0, 0]], + "warszawa praga wpt m|warszawa wschodnia": [[0, 0]], "żelisławice|włoszczowa północ": [[0, 0]], "rokiciny|koluszki": [[0, 0]], "koluszki|rogów": [[0, 0]], @@ -1456,6 +1469,7 @@ "bedoń|łódź andrzejów": [[0, 0]], "łódź widzew|łódź niciarniana": [[0, 0]], "łódź niciarniana|łódź fabryczna": [[0, 0]], + "żakowice południowe|koluszki": [[0, 0]], "łowicz główny|łowicz przedmieście": [[0, 0]], "łowicz przedmieście|stare grudze": [[0, 0]], "stare grudze|domaniewice": [[0, 0]], @@ -1479,6 +1493,10 @@ "łódź stoki|łódź widzew": [[0, 0]], "żakowice południowe|słotwiny": [[0, 0]], "słotwiny|mikołajów": [[0, 0]], + "warszawa zachodnia peron 8|sędziszów towarowy": [ + [0, 1], + [4511, 0] + ], "sędziszów|gniewięcin apo": [[0, 0]], "gniewięcin apo|klimontów apo": [[0, 0]], "klimontów apo|kozłów": [[0, 0]], @@ -1525,6 +1543,7 @@ "sosnowiec dańdówka|sosnowiec południowy": [[0, 0]], "sosnowiec południowy|katowice zawodzie": [[0, 0]], "łódź widzew|łódź andrzejów szosa": [[0, 0]], + "łódź andrzejów szosa|łódź olechów pzs r82": [[0, 0]], "łódź olechów łoc|łódź olechów wschód": [[0, 0]], "łódź olechów wschód|łódź olechów pzs r16": [[0, 0]], "łódź olechów pzs r16|łódź olechów zachód": [[0, 0]], @@ -1549,10 +1568,7 @@ "bełchów|bednary": [[0, 0]], "warszawa wschodnia|warszawa stadion": [[0, 0]], "warszawa stadion|warszawa powiśle": [[0, 0]], - "warszawa powiśle|warszawa śródmieście": [ - [0, 0], - [3, 1] - ], + "warszawa powiśle|warszawa śródmieście": [[0, 0]], "warszawa śródmieście|warszawa ochota": [[0, 0]], "warszawa ochota|warszawa zachodnia": [[0, 0]], "warszawa włochy|warszawa ursus północny": [[0, 0]], @@ -1578,6 +1594,7 @@ "sierakowice skierniewickie|bełchów": [[0, 0]], "bełchów|bobrowniki": [[0, 0]], "bobrowniki|łowicz główny": [[0, 0]], + "idzikowice|radzice pzs r31": [[0, 0]], "mikołajów|słotwiny": [[0, 0]], "słotwiny|żakowice południowe": [[0, 0]], "łódź widzew|łódź stoki": [[0, 0]], @@ -1770,10 +1787,7 @@ "warszawa ursus północny|warszawa włochy": [[0, 0]], "warszawa zachodnia|warszawa ochota": [[0, 0]], "warszawa ochota|warszawa śródmieście": [[0, 0]], - "warszawa śródmieście|warszawa powiśle": [ - [0, 1], - [31, 0] - ], + "warszawa śródmieście|warszawa powiśle": [[0, 0]], "warszawa powiśle|warszawa stadion": [[0, 0]], "warszawa stadion|warszawa wschodnia": [[0, 0]], "łowicz główny|bobrowniki": [[0, 0]], @@ -1804,10 +1818,12 @@ "łódź olechów zachód|łódź olechów pzs r16": [[0, 0]], "łódź olechów pzs r16|łódź olechów wschód": [[0, 0]], "łódź olechów wschód|łódź olechów łoc": [[0, 0]], + "łódź olechów pzs r82|łódź andrzejów szosa": [[0, 0]], "łódź andrzejów szosa|łódź widzew": [[0, 0]], "słotwiny|koluszki": [[0, 0]], "płyćwia|bełchów": [[0, 0]], "łowicz główny|bełchów": [[0, 0]], + "bełchów|płyćwia": [[0, 0]], "koluszki|słotwiny": [[0, 0]], "warszawa główna towarowa|józefinów": [[0, 0]], "raciborowice|dłubnia": [[0, 0]], @@ -1822,6 +1838,7 @@ "katowice janów|katowice much. kmb": [[0, 0]], "katowice much. kmb|staszic": [[0, 0]], "gałkówek|łódź olechów łoc": [[0, 0]], + "koluszki|żakowice południowe": [[0, 0]], "gajewniki|dionizów": [[0, 0]], "kraków przedmieście|kraków olsza": [[0, 0]], "sosnowiec główny|sosnowiec południowy": [[0, 0]], diff --git a/packages/map/scripts/generate-rail-data.mjs b/packages/map/scripts/generate-rail-data.mjs index 5172d86..b8c2f1a 100644 --- a/packages/map/scripts/generate-rail-data.mjs +++ b/packages/map/scripts/generate-rail-data.mjs @@ -634,12 +634,15 @@ async function main() { // Helper: verify the path only uses lines listed in the timetable. // Edges with no line ref (snap/connector edges) are always allowed. - // If the A* uses lines not in the timetable (e.g. LK1 when the - // timetable says LK3), the wiki doesn't have the correct tracks for - // this segment and the route should be shown as grey instead. + // Non-timetable lines are allowed for short distances (junction + // connectors, e.g. LK537 bridges LK535 and LK1 at Koluszki). + // If the path uses a non-timetable line for more than 5km total, + // the wiki doesn't have the correct tracks for this segment and the + // route should be shown as grey instead. const timetableLines = new Set(lines); function usesOnlyTimetableLines(indices, allowedLines) { if (!indices) return false; + const nonTtKm = new Map(); // lineNo → km on non-timetable lines for (let i = 0; i < indices.length - 1; i++) { for ( let p = graph.start[indices[i]]; @@ -650,11 +653,18 @@ async function main() { const refs = graph.erefs[graph.adjEdge[p]]; if (!refs || refs.length === 0) continue; // connector edge for (const r of refs) { - if (!allowedLines.has(r)) return false; + if (!allowedLines.has(r)) { + const edgeKm = graph.adjDist[p]; + nonTtKm.set(r, (nonTtKm.get(r) || 0) + edgeKm); + } } break; } } + // Reject if any non-timetable line is used for more than 5km. + for (const km of nonTtKm.values()) { + if (km > 5) return false; + } return true; } From ad25e38aa40fdb5864e759a08665b5479561341c Mon Sep 17 00:00:00 2001 From: Cosmin Polifronie Date: Sun, 30 Aug 2026 07:37:50 +0300 Subject: [PATCH 03/19] =?UTF-8?q?Fix=20issue=20caused=20by=20Mak=C3=B3w=20?= =?UTF-8?q?Podhala=C5=84ski=20having=20wrong=20coordinates=20will=20displa?= =?UTF-8?q?y=20a=20gray=20line=20across=20Poland?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/map/lib/trainRoute.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/packages/map/lib/trainRoute.ts b/packages/map/lib/trainRoute.ts index f3e6599..ff90519 100644 --- a/packages/map/lib/trainRoute.ts +++ b/packages/map/lib/trainRoute.ts @@ -42,6 +42,19 @@ */ import railDataJson from "../components/railData.json"; +/** Haversine distance between two [lat, lon] points, in kilometers. */ +function haversineKm(a: RoutePoint, b: RoutePoint): number { + const R = 6371; + const dLat = ((b[0] - a[0]) * Math.PI) / 180; + const dLon = ((b[1] - a[1]) * Math.PI) / 180; + const h = + Math.sin(dLat / 2) ** 2 + + Math.cos((a[0] * Math.PI) / 180) * + Math.cos((b[0] * Math.PI) / 180) * + Math.sin(dLon / 2) ** 2; + return 2 * R * Math.asin(Math.sqrt(h)); +} + /** A [lat, lon] coordinate pair in decimal degrees. */ export type RoutePoint = [number, number]; @@ -296,6 +309,15 @@ async function computeRoute(train: { segments[segments.length - 1].points.length - 1 ] : a.coord; + // Skip excessively long grey lines (> 50km) — they are caused by + // wrong station coordinates in the wiki data (e.g. Maków + // Podhalański is misplaced near Skierniewice instead of the Tatra + // mountains, creating a 211km grey line). + const greyKm = haversineKm(startCoord, b.coord); + if (greyKm > 50) { + prevConnected = false; + continue; + } segments.push({ color: "grey", points: [startCoord, b.coord] }); prevConnected = false; continue; From 1ee95f48ec27f5495457cbd21201357b191c85de Mon Sep 17 00:00:00 2001 From: Cosmin Date: Sat, 19 Sep 2026 00:46:40 +0300 Subject: [PATCH 04/19] Re-work the preprocessing algorithm so the routing is more stable without need for heuristics --- README-TRAIN-ROUTE.md | 283 +++ packages/map/components/Map.tsx | 2 - .../map/components/SelectedTrainRoute.tsx | 180 -- packages/map/components/TrainRoute.tsx | 6 +- packages/map/components/railData.json | 1890 +---------------- packages/map/lib/trainRoute.ts | 171 +- packages/map/scripts/generate-rail-data.mjs | 726 ++++--- packages/map/scripts/rail-helpers.mjs | 272 +-- packages/map/scripts/station-overrides.json | 3 + 9 files changed, 988 insertions(+), 2545 deletions(-) create mode 100644 README-TRAIN-ROUTE.md delete mode 100644 packages/map/components/SelectedTrainRoute.tsx create mode 100644 packages/map/scripts/station-overrides.json diff --git a/README-TRAIN-ROUTE.md b/README-TRAIN-ROUTE.md new file mode 100644 index 0000000..2b7fa38 --- /dev/null +++ b/README-TRAIN-ROUTE.md @@ -0,0 +1,283 @@ +# Train Route Feature (map package) + +When a train is selected on the map, its full route is drawn along the real track +geometry, colored by drivability, with direction arrows along the line. + +- **Green** — drivable in SimRail (exists in the wiki as available track) +- **Red** — real track, but not drivable in the game (e.g. the LK1 gap Myszków→Rozprza) +- **Grey** — no track data available; rendered as a straight line between stops + +Controls (persisted in `localStorage` via `SelectedTrainContext`): +- *Show train route* — toggles the route layer (`showTrainRoute`, rendered by `TrainRoute.tsx`) +- *Follow train* — pans the map to keep the selected train centered (`followTrain`, handled in `Map.tsx`) + +## Big picture + +All routing is **precomputed at build time**; the browser never runs a router. +The generator (`packages/map/scripts/generate-rail-data.mjs`) downloads the SimRail +wiki interactive-map GeoJSONs plus every train timetable, snaps each station to one +canonical track node, A*-routes every consecutive-stop pair, and writes +`components/railData.json` (~170 KB, committed). At runtime a selected train only +fetches its timetable from the community EDR API and stitches precomputed polylines +together (`lib/trainRoute.ts`). + +``` +wiki map-data.json ─┐ +route GeoJSONs ─────┤ generate-rail-data.mjs (build time / on demand) +station GeoJSONs ───┤ fetch → anchor → canonical nodes → A* → classify +timetables (API) ───┘ │ +station overrides ───────────────┘└→ railData.json (committed) + │ +train click → EDR timetable → resolve stops → polyline lookup/stitch → Leaflet +``` + +## The generator, step by step + +### Data sources + +| Source | Provides | +|---|---| +| `wiki.simrail.eu/map/main-files/map-data.json` | Index of 106 lines + 161 stations | +| Route GeoJSONs (`/map/lk*.geojson`) | Per-line OSM track geometry. Lines can have two entries: drivable (`lk1.geojson`) and not-drivable (`lk1u.geojson`). Ways keep their OSM tags (`bridge`, `layer`, `tunnel`, …) | +| Station GeoJSONs (`/map/stations/*.geojson`) | Station drawings — through tracks (open LineStrings), area outlines (closed loops), platform polygons, or points | +| Timetables (`api1.aws.simrail.eu`, fallback: community EDR) | All trains' stop lists with line numbers (server `int1`) | +| `components/stations.json`, `stationsRemote.json`, `stations-open` API | In-game coordinates for dispatch posts and small stops missing from the wiki | +| `scripts/station-overrides.json` | Curated fixes; wins over every other source | + +API responses are cached in `scripts/.cache/` (gitignored). Use `--refresh` to re-fetch. + +### Step 1 — Station anchors + +Station coordinates are extracted as the station's *middle*, never the first vertex +(that sat at the station's throat and made routes visibly stop at its edge): + +- **Open LineStrings** (through tracks): arc-length midpoint of the longest one. +- **Closed-loop-only outlines** (~66 stations are drawn as area outlines): deferred — + the game sources in Step 1b provide the precise in-game position; only stations with + no game source fall back to the loop's centroid (the arc midpoint of a loop is an + arbitrary point on its perimeter). +- **Polygons**: centroid of the largest ring. **Points**: as-is. + +### Step 2 — Segments from timetables + +A *segment* is a pair of consecutive **resolvable** stops (stops whose name matches a +station with coordinates; fuzzy "contains" matching resolves name variants like +"Warszawa Główna Towarowa" vs "…WOA"). Unresolvable intermediate stops are skipped and +their neighbors connected directly — their line numbers are still recorded. + +Keys are the **sorted** pair of normalized names (`a|b`, `a < b`): both travel directions +of a hop share one entry, one A* run, and one geometry — out-and-back trains draw +identical lines. Each segment accumulates `allLines`, the union of line numbers from +every train on that pair in both directions (used for A* line preference). + +### Step 2.5 — Canonical station nodes + +Every station that participates in a segment is snapped **once** to a single graph node: + +1. Nearest node on any of its *served lines* (the lines of all its segments), on the + drivable-only graph; +2. else the same search on the full graph (non-drivable stations, e.g. Jęzor on LK171); +3. else the unrestricted nearest node. + +Within 3 km (`SNAP_MAX_KM`) or the station is **dropped** from the gazetteer and +reported (the runtime then treats it like any unknown stop). The canonical coordinate +replaces the station's gazetteer coordinate, so the output is validated-on-track by +construction. + +Because every segment touching a station routes to/from the same node, consecutive +segments share exact endpoints — the runtime needs no bridging, and routes pass through +a station's middle instead of ending at its throat. + +### Graph construction (`rail-helpers.mjs`) + +Nodes are unique coordinates (6-decimal dedup merges ways that share OSM nodes — +including at junctions). Edges are of two kinds: + +- **Track edges** — consecutive points of a LineString, tagged with the line number + from the route name. Parallel tracks of doubled lines never share coordinates, so + the router can only change tracks via real junction/crossover geometry. +- **Endpoint-snap edges** — each LineString endpoint may connect to the nearest + non-adjacent node within 500 m, bridging fragment gaps in the wiki data (e.g. a 257 m + gap on LK139 near Brynów). The connection is only made if it keeps the way's heading + within **60° at both ends**: real junctions and fragment bridges qualify, while a + track crossing on a bridge/tunnel arrives perpendicular to the line below and is + rejected. Without this filter the pass creates phantom junctions at every crossing + (this actually happened: LK25 over LK1 south of Koluszki produced a >90° zigzag). + +There is deliberately **no** all-pairs proximity mesh: the previous 15 m pass made up +48% of all edges, meshed the ~5 m-spaced parallel tracks of double lines, and let A* +zigzag between them. + +### Step 3 — A* routing + +Two graphs: drivable-only first (guarantees an all-green path), full graph as fallback +for hops that traverse non-drivable track. A* runs canonical node → canonical node with: + +- **Line preference**: edges on the segment's timetable lines cost normal, others 10× + (soft — junction connectors stay traversable). +- **Detour guard**: path > `2 × straight-line + 5 km` → rejected. +- **Foreign-line guard**: more than 5 km on a non-timetable line → rejected (the wiki + lacks the right tracks; the hop renders grey). Skipped when the timetable provides no + line hints at all (common on freight runs with `line 0` everywhere) — the detour guard + alone decides. + +Accepted paths get Z-shaped backtrack points removed and zero-length (sub-1 m) points +deduplicated, then are stored as Google Encoded Polylines (1e-5 precision ≈ 1.1 m). + +### Step 4 — Drivability classification + +Hops routed on the full graph are classified per point against the wiki's available / +not-available track geometry of the lines the path actually traversed (derived from the +path's edges — more accurate than timetable hints, and the only source for hint-less +freight hops). A point is **red** only if it is >50 m from any available track *and* +<200 m from a not-available track; otherwise green. Results are stored as boundary +indices (below). + +### Step 5 — Output & reports + +Reports to review on every run: + +- **Dropped stations** — no track within 3 km of any source coordinate (bad wiki data). + Fixable via `station-overrides.json`. +- **GREY RISK** — uncomputed stop pairs >50 km apart; these render as very long grey + lines and usually indicate wiki data rot. Empty is good. +- **Computed / fallback counts** — a falling "Computed" number means the wiki changed + or the pipeline regressed. + +## Output format (`railData.json`) + +```jsonc +{ + "version": 1, + "knownStations": ["…"], // in-game resolvable stations (resolved AND snapped); + // the runtime trims routes to the first/last one + "stations": { "name": [lat, lon] }, // normalized name → canonical on-track coordinate + "segments": { "a|b": "…" }, // sorted key (a < b) → encoded polyline in KEY order + "segmentColors": { "a|b": [[startIndex, colorCode], …] } // boundaries in KEY order +} +``` + +- Color codes: `0` green, `1` red, `2` grey (no data for those tracks). +- A hop missing from `segments` renders as a grey straight line between the two + canonical coordinates. +- **Reversal contract**: polylines and boundary indices are in key order. When a train + travels `b → a`, the runtime reverses the decoded points *and* the sub-segment order + (slicing by boundary indices happens in key order; the runtime's double-reverse + handles direction — see git history for the bug this caused). + +## Runtime behavior (`lib/trainRoute.ts`, `TrainRoute.tsx`) + +1. Train selected → `getTrainRoute()` (memoized per `serverCode|trainNo`; concurrent + calls share one promise). +2. Timetable fetched from `https://simrail-edr.emeraldnetwork.xyz/train/{server}/{train}` + and cached for the session. +3. Stops resolved via the gazetteer (`normalizeName`: NFC → trim → collapse whitespace → + lowercase); unknown stops are skipped and neighbors connected. +4. Route trimmed to the first/last known station. +5. For each consecutive stop pair: look up the sorted key; if missing, draw a grey + straight line. Otherwise decode, apply the reversal contract, split at color + boundaries, and merge adjacent same-color sub-segments (exact — endpoints are shared + canonical nodes; the merged polyline simply drops the duplicated join point). +6. Real reversals (a train backing out of a terminus) and loops (e.g. the Muchowiec + loop) are drawn **as-is** — doubled lines are correct train movement; there is + deliberately no "out-and-back cleanup" (a previous dedup pass amputated legitimate + track, producing multi-km straight lines). +7. `TrainRoute.tsx` renders one polyline per colored segment plus an SVG arrow per km + traveled (rotation from the local bearing; size scales with zoom). Note: arrows are + SVG triangles, not text glyphs — font metrics render `>` off-center in Firefox. + +## Why grey (straight) lines appear + +A hop renders grey when `segments` has no geometry for that stop pair. This is a +deliberate fallback: the runtime still draws a straight line between the two stations' +canonical coordinates, so the route stays continuous — "we know the train runs A→B, +but there is no track geometry for it" — instead of silently vanishing. Note that only +*resolvable* stops are drawn at all (off-map stops like Gdańsk are skipped, and the +route is trimmed to the first/last known station), so grey lines always run between +real, validated station positions and meet green/red track wherever wiki coverage +resumes — which is why a route can leave known track, cross unknown territory as grey, +and land on a known station further along the line. + +Causes, most frequent first: + +1. **The line doesn't exist in the wiki.** Timetable line numbers don't always match + wiki route names (timetable "131" is wiki LK543/542) and some lines aren't drawn at + all (e.g. the Zakopane branch, LK 94/97/98). Every hop on such a corridor is grey. +2. **The wiki has the line, but not that section** — the tracks are missing, isolated + fragments A* can't reach, or the would-be path violates the sanity guards (detour / + foreign-line). Current examples: `krzewie|koło` (42 km of LK3), `koniecpol|żelisławice` + (LK572), `sosnowiec maczki|jęzor`. These are wiki data gaps, not code bugs. +3. **A dropped station stretches a hop.** If a station fails canonical snapping (bad + source coordinates — e.g. Maków Podhalański), the runtime skips it and connects its + *neighbors* directly. That long neighbor-pair was never computed (no timetable runs + it as a single hop with usable lines), so it draws as one long grey chord. The + generator's dropped-station report names the culprits. +4. **Zero-length hops (invisible, cosmetic).** Small halts often share a canonical node + with their parent station (e.g. `piotrków trybunalski|… towarowa`, the Łódź Olechów + PZS pairs): A* start==end yields no polyline, and the grey line is 0 km long. + +The generator's **GREY RISK** report flags the worst offenders at build time (currently +`kraków główny|mysłowice`, 60 km, and `myszków|dionizów`). If one bothers you: check +whether the wiki added the missing line, fix bad stations via overrides, regenerate. +Grey cannot be "fixed" in runtime code — it is the no-data signal by design. + +## Design decisions worth knowing + +| Decision | Why | +|---|---| +| One canonical node per station | Independent per-segment snapping disagreed at shared stations; the runtime bridged the mismatch with straight lines (498 junctions had ≥10 m bridges, worst 2.7 km across Kraków Płaszów). With canonical nodes: 0. | +| Sorted-pair keys | Halves A* runs; out-and-back trains draw identical geometry; forces explicit direction handling (the reversal contract). | +| Endpoint-only snapping + heading filter | Parallel tracks of double lines must not be cross-connected (the old 15 m all-pairs mesh did), and bridge/tunnel crossings must not become phantom junctions. | +| No runtime heuristics | The old runtime had straight-line bridging, a >50 km grey guard, and an out-and-back dedup — all papering over generator data. All three removed; the generator now validates its own output instead. | +| Timetable hints are soft (10×), guards are hard | Hints pick the right corridor when several exist; guards reject paths the wiki can't support. | + +## Running the generator + +```bash +cd packages/map +pnpm generate:rail-data # uses scripts/.cache/ (~1s) +pnpm generate:rail-data --refresh # re-fetch everything from the wiki/APIs (~3s) +``` + +Regeneration checklist: + +1. Check the log: dropped stations, grey-risk entries, computed/fallback counts. +2. Spot-check in dev (`pnpm dev`): a Warszawa Wschodnia reversal train, an LK1 long haul + (red gap Myszków→Rozprza stays red), and anything the report flagged. +3. Commit the regenerated `railData.json` together with any script changes. + +## Fixing a misplaced station + +Add it to `packages/map/scripts/station-overrides.json` (`{ "name": [lat, lon] }`, +normalized lowercase key) and regenerate. Overrides win over every other source. +Current example: `maków podhalański` — its wiki geometry is drawn ~200 km off. + +## Key files + +| File | Purpose | +|---|---| +| `packages/map/scripts/generate-rail-data.mjs` | Generator (fetch → anchor → snap → A* → classify → railData.json) | +| `packages/map/scripts/rail-helpers.mjs` | Graph builder (endpoint snap + heading filter), A* router, nearest-node finder, polyline codec | +| `packages/map/scripts/station-overrides.json` | Curated station coordinate fixes | +| `packages/map/components/railData.json` | Generated data (committed) | +| `packages/map/lib/trainRoute.ts` | Runtime assembly (lookup, reversal, color split, merge, caching) | +| `packages/map/components/TrainRoute.tsx` | Rendering (polylines + arrows), respects `showTrainRoute` | +| `packages/map/contexts/SelectedTrainContext.tsx` | Selected train + persisted toggles | + +Tuning knobs (in the scripts): `SNAP_MAX_KM` (3 km), endpoint tolerance (500 m), +`MAX_ALIGN_DEG` (60°), detour guard (2× + 5 km), foreign-line allowance (5 km), +line-preference penalty (10×), `ARROW_SPACING_KM` (1, runtime). + +## Validation state (last regeneration) + +334 computed segments, 19 grey; 270 stations; zero join gaps between consecutive +segments, zero zero-length edges, no direction-duplicated keys, zero mid-path spikes +across all 1973 timetables (only genuine at-station reversals). The Żakowice +Południowe→Koluszki bridge crossing routes via the real LK537 corridor (sharpest turn +33°, previously an 84° phantom via LK25→LK1). + +Known data gaps (wiki, not code): `sosnowiec maczki|jęzor`, `koniecpol|żelisławice`, +`idzikowice|radzice` (isolated track fragments in the wiki GeoJSONs), plus two long +grey pairs (`kraków główny|mysłowice`, `myszków|dionizów`). A few wiki ways are sparse +(few vertices), so some hops are multi-km straight chords — real straight track, not +rendering bugs (e.g. the 3.1 km chord on Sławków–Olkusz). \ No newline at end of file diff --git a/packages/map/components/Map.tsx b/packages/map/components/Map.tsx index d572b71..4ef3608 100644 --- a/packages/map/components/Map.tsx +++ b/packages/map/components/Map.tsx @@ -33,7 +33,6 @@ import Control from "react-leaflet-custom-control"; import NonPlayableStations from "@/components/NonPlayableStations"; import RemoteStations from "@/components/RemoteStations"; -import SelectedTrainRoute from "@/components/SelectedTrainRoute"; import { TrainsList } from "@/components/TrainsList"; import { useSelectedTrain } from "../contexts/SelectedTrainContext"; @@ -316,7 +315,6 @@ const LeaftletMap = ({ serverId }: MapProps) => { preferCanvas={true} > -
diff --git a/packages/map/components/SelectedTrainRoute.tsx b/packages/map/components/SelectedTrainRoute.tsx deleted file mode 100644 index 085d4f5..0000000 --- a/packages/map/components/SelectedTrainRoute.tsx +++ /dev/null @@ -1,180 +0,0 @@ -import type { Station } from "@simrail/types"; -import { useEffect, useMemo, useRef, useState } from "react"; -import { Polyline } from "react-leaflet"; - -import { useSelectedTrain } from "../contexts/SelectedTrainContext"; -import localStations from "./stations.json"; -import remoteStations from "./stationsRemote.json"; - -type RoutePoint = [number, number]; - -type SelectedTrainRouteProps = { - serverId: string; - stations: Station[]; -}; - -type RouteStation = { - Name: string; - Prefix?: string; - id?: string; - Latititude: number; - Longitude: number; -}; - -type TimetablePoint = { - nameOfPoint?: string; - indexOfPoint?: number; -}; - -type RoutingResponse = { - routes?: Array<{ - geometry?: { coordinates?: [number, number][] }; - }>; -}; - -const normalizeStationName = (value: string) => - value - .normalize("NFD") - .replace(/[\u0300-\u036f]/g, "") - .toLocaleLowerCase() - .replace(/[^a-z0-9]/g, ""); - -const removeDuplicatePoints = (points: RoutePoint[]) => - points.filter((point, index) => { - if (index === 0) return true; - const previous = points[index - 1]; - const current = point; - return previous[0] !== current[0] || previous[1] !== current[1]; - }); - -const SelectedTrainRoute = ({ - serverId, - stations, -}: SelectedTrainRouteProps) => { - const { selectedTrain } = useSelectedTrain(); - const [routeResult, setRouteResult] = useState<{ - key: string; - points: RoutePoint[]; - }>({ key: "", points: [] }); - const stationIndex = useMemo(() => { - const index = new Map(); - const allStations = [ - ...(localStations as RouteStation[]), - ...(remoteStations as RouteStation[]), - ...(stations as RouteStation[]), - ]; - - for (const station of allStations) { - if ( - !Number.isFinite(station.Latititude) || - !Number.isFinite(station.Longitude) - ) - continue; - - const position: RoutePoint = [station.Latititude, station.Longitude]; - for (const name of [station.Name, station.Prefix, station.id]) { - if (name) index.set(normalizeStationName(name), position); - } - } - - return index; - }, [stations]); - const stationIndexRef = useRef(stationIndex); - - useEffect(() => { - stationIndexRef.current = stationIndex; - }, [stationIndex]); - - const trainNumber = selectedTrain?.TrainNoLocal; - const routeKey = trainNumber ? `${serverId}:${trainNumber}` : ""; - const route = routeResult.key === routeKey ? routeResult.points : []; - - useEffect(() => { - if (!trainNumber) return; - - const controller = new AbortController(); - - const loadRoute = async () => { - try { - const selectedStationIndex = stationIndexRef.current; - const timetableResponse = await fetch( - `https://simrail-edr.emeraldnetwork.xyz/train/${encodeURIComponent(serverId)}/${encodeURIComponent(trainNumber)}`, - { signal: controller.signal }, - ); - if (!timetableResponse.ok) - throw new Error( - `Timetable request failed: ${timetableResponse.status}`, - ); - const timetable = (await timetableResponse.json()) as TimetablePoint[]; - - const waypoints = removeDuplicatePoints( - timetable - .slice() - .sort((a, b) => (a.indexOfPoint ?? 0) - (b.indexOfPoint ?? 0)) - .map((point) => - point.nameOfPoint - ? selectedStationIndex.get( - normalizeStationName(point.nameOfPoint), - ) - : undefined, - ) - .filter((point): point is RoutePoint => point !== undefined), - ); - - if (waypoints.length < 2) return; - - const coordinates = waypoints - .map(([latitude, longitude]) => `${longitude},${latitude}`) - .join(";"); - const routingResponse = await fetch( - `https://routing.simrail-edr.de/route/v1/train/${coordinates}?overview=full&geometries=geojson`, - { signal: controller.signal }, - ); - if (!routingResponse.ok) - throw new Error(`Route request failed: ${routingResponse.status}`); - - const routingData = (await routingResponse.json()) as RoutingResponse; - const routeCoordinates = - routingData.routes?.[0]?.geometry?.coordinates - ?.filter( - (point): point is [number, number] => - Array.isArray(point) && - point.length === 2 && - point.every(Number.isFinite), - ) - .map( - ([longitude, latitude]) => - [latitude, longitude] as [number, number], - ) ?? []; - - if (!controller.signal.aborted) - setRouteResult({ key: routeKey, points: routeCoordinates }); - } catch (error) { - if ((error as Error).name !== "AbortError") - setRouteResult({ key: routeKey, points: [] }); - } - }; - - void loadRoute(); - return () => controller.abort(); - }, [routeKey, serverId, trainNumber]); - - if (route.length < 2) return null; - - return ( - <> - - - - ); -}; - -export default SelectedTrainRoute; diff --git a/packages/map/components/TrainRoute.tsx b/packages/map/components/TrainRoute.tsx index a576612..0ae8fe3 100644 --- a/packages/map/components/TrainRoute.tsx +++ b/packages/map/components/TrainRoute.tsx @@ -51,9 +51,13 @@ interface ArrowData { function createArrowIcon(rotation: number, zoom: number): L.DivIcon { const scale = Math.max(0.5, Math.min(2.5, (zoom - 6) / 5)); const size = Math.round(18 * scale); + // SVG triangle (not a text glyph — font metrics render ">" off-center + // in Firefox). The shape is centered in the viewBox, so the anchor at + // the box center is exact in every browser. + const html = ``; return L.divIcon({ className: "route-arrow", - html: `
>
`, + html, iconSize: [size, size], iconAnchor: [Math.round(size / 2), Math.round(size / 2)], }); diff --git a/packages/map/components/railData.json b/packages/map/components/railData.json index 7d91776..2108442 100644 --- a/packages/map/components/railData.json +++ b/packages/map/components/railData.json @@ -1,1889 +1 @@ -{ - "version": 1, - "knownStations": [ - "baranówka", - "bedoń", - "będzin ksawera", - "będzin miasto", - "bobrowniki", - "borszewice", - "bratoszewice", - "brwinów", - "bukowno przymiarki", - "chechło", - "chrusty nowe", - "chruszczobród", - "chrząstowice olkuskie", - "dąbrowa górnicza gołonóg", - "dąbrowa górnicza pogoria", - "dąbrowa górnicza sikorka", - "dąbrowice skierniewickie", - "dobroń", - "domaniewice centrum", - "dziadówki", - "gajówka", - "gawrony", - "glinnik wieś", - "głowno północne", - "goszcza", - "grotniki", - "izabelów", - "jaktorów", - "jarosty", - "jedlicze koło zgierza", - "jesionka", - "jeżówka", - "justynów", - "kamień łowicki", - "kamieńczyce", - "katowice szopienice poludniowe", - "klimontów", - "kolumna", - "kraków grzegórzki", - "krosnowa", - "łaznów", - "lipce reymontowskie", - "łódź andrzejów szosa", - "łódź arturówek", - "łódź dąbrowa", - "łódź niciarniana", - "łódź olechów wiadukt", - "łódź olechów wschód", - "łódź olechów zachód", - "łódź pabianicka", - "łódź radogoszcz wschód", - "łódź radogoszcz zachód", - "łódź retkinia", - "łódź stoki", - "łódź warszawska", - "łódź zarzew", - "łuczyce", - "maków", - "męcka wola", - "międzyborów", - "milanówek", - "mokra", - "moszczenica", - "myszków mrzygłód", - "ozorków nowe miasto", - "pabianice północne", - "parzniew", - "piastów", - "przyłęk duży", - "sieradz męka", - "sieradz warta", - "sierakowice skierniewickie", - "sierpów", - "skierniewice rawka", - "słomniki miasto", - "smardzew", - "smroków", - "sosnowiec porąbka", - "stare grudze", - "sucha żyrardowska", - "swędów", - "szczepanowice", - "wągry", - "warszawa ochota", - "warszawa powiśle", - "warszawa śródmieście", - "warszawa stadion", - "warszawa ursus", - "warszawa ursus niedźwiadek", - "wiesiółka", - "wolbórka", - "żakowice", - "zarzecze", - "zawiercie borowe pole", - "zgierz jaracza", - "zgierz rudunki", - "bednary", - "borowa górka", - "brynów", - "czarnca", - "dionizów", - "dłubnia", - "florek", - "jackowice", - "katowice towarowa ktc", - "koniecpol", - "kraków główny kga", - "kraków olsza", - "kraków płaszów", - "kraków zabłocie", - "krzewie", - "łódź fabryczna", - "łódź olechów", - "marków", - "mikołajów", - "mysłowice", - "myszków", - "ostrowy", - "puszcza mariańska", - "radzice", - "radzice rd1", - "rozprza", - "sędzice", - "sędziszów towarowy", - "sosnowiec maczki", - "stara wieś", - "szabelnia", - "żelisławice", - "zduńska wola karsznice", - "warszawa gołąbki", - "warszawa grochów", - "warszawa główna towarowa woa", - "warszawa podskarbińska", - "warszawa praga wpt m", - "charsznica", - "dąbrowa górnicza południowa", - "dąbrowa górnicza strzemieszyce", - "dąbrowa górnicza towarowa", - "dąbrowa górnicza towarowa dta r5", - "gajówka apo", - "jaroszowiec olkuski", - "katowice janów", - "katowice much. kmb", - "katowice muchowiec staszic", - "kozioł", - "kraków główny", - "męka", - "olkusz", - "piotrków trybunalski", - "przemiarki", - "sędziszów", - "sieradz", - "sosnowiec dańdówka", - "staszic", - "stawiska", - "warszawa centralna", - "warszawa wschodnia", - "warszawa zachodnia", - "wolbrom", - "zarzecze apo", - "kutno", - "katowice tow. ktc", - "sosnowiec jęzor", - "warszawa gł. tow.", - "warszawa rembertów", - "warszawa praga", - "kraków bonarka", - "rokiciny", - "łódź chojny", - "bełchów", - "sprowa", - "biała rawska", - "pilichowice", - "józefinów", - "gniewięcin apo", - "klimontów apo", - "radziwiłłów mazowiecki", - "słotwiny", - "łódź andrzejów", - "łódź dąbrowa pbsz", - "łódź marysin", - "dobroń apo", - "kolumna apo", - "borszewice apo", - "męka apo", - "zgierz kontrewers", - "chociszew", - "ozorków", - "łęczyca", - "stryków", - "domaniewice", - "baby", - "będzin", - "bukowno", - "dąbrowa górnicza", - "dąbrowa górnicza huta katowice", - "dąbrowa górnicza wschodnia", - "dąbrowa górnicza ząbkowice", - "dorota", - "gajewniki", - "gałkówek", - "glinnik", - "głowno", - "góra włodowska", - "grodzisk mazowiecki", - "idzikowice", - "juliusz", - "katowice", - "katowice zawodzie", - "knapówka", - "koluszki", - "korytów", - "kozłów", - "kraków batowice", - "kraków przedmieście", - "łask", - "łazy", - "łazy ła", - "łazy łc", - "łódź kaliska", - "łódź lublinek", - "łódź widzew", - "łódź żabieniec", - "łowicz główny", - "łowicz przedmieście", - "miechów", - "niedźwiedź", - "olszamowice", - "opoczno południe", - "pabianice", - "płyćwia", - "pruszków", - "psary", - "raciborowice", - "retkinia", - "rogów", - "skierniewice", - "sławków", - "słomniki", - "sosnowiec główny", - "sosnowiec kazimierz", - "sosnowiec południowy", - "starzyny", - "strzałki", - "szeligi", - "tunel", - "warszawa włochy", - "witonia", - "włoszczowa północ", - "żakowice południowe", - "zastów", - "zawiercie", - "zduńska wola", - "zgierz", - "zgierz północ", - "żyrardów", - "kraków płaszów pzs kpa", - "piotrków trybunalski towarowy", - "koło", - "łódź dąbrowa pbs", - "radzice pzs r31", - "warszawa zachodnia peron 8", - "łódź olechów pzs r82", - "łódź olechów łoc", - "łódź olechów pzs r16", - "łódź olechów pzs r3", - "warszawa ursus północny", - "maków podhalański", - "myszków nowa wieś", - "myszków światowit", - "warszawa główna towarowa", - "mysłowice wesoła" - ], - "stations": { - "baranówka": [50.1457875, 20.0952934], - "bedoń": [51.7317959, 19.6437383], - "będzin ksawera": [50.3303375, 19.1565453], - "będzin miasto": [50.3197335, 19.1354685], - "bobrowniki": [52.0588919, 20.0100717], - "borszewice": [51.6095376, 19.0389232], - "bratoszewice": [51.9388618, 19.6537712], - "brwinów": [52.142362864736356, 20.72025333106552], - "bukowno przymiarki": [50.2753384, 19.4099373], - "chechło": [51.6459925, 19.2894376], - "chrusty nowe": [51.6938301, 19.7938703], - "chruszczobród": [50.4011293, 19.3298916], - "chrząstowice olkuskie": [50.3437265, 19.6853315], - "dąbrowa górnicza gołonóg": [50.3430188, 19.2240096], - "dąbrowa górnicza pogoria": [50.3502042, 19.2400666], - "dąbrowa górnicza sikorka": [50.3888065, 19.2976875], - "dąbrowice skierniewickie": [51.9333846, 20.1008587], - "dobroń": [51.6289286, 19.2396995], - "domaniewice centrum": [52.0123596, 19.7927744], - "dziadówki": [50.3982854, 20.00866], - "gajówka": [50.3947729, 19.8779383], - "gawrony": [52.1131921, 19.2205504], - "glinnik wieś": [51.8828697, 19.4830896], - "głowno północne": [51.9788374, 19.7214284], - "goszcza": [50.1858098, 20.0604522], - "grotniki": [51.8879126, 19.3109129], - "izabelów": [51.6101334, 18.913133], - "jaktorów": [52.0877287, 20.5551933], - "jarosty": [51.4613107, 19.6932407], - "jedlicze koło zgierza": [51.8686831, 19.321971], - "jesionka": [52.0146685, 20.3345355], - "jeżówka": [50.3994318, 19.8166985], - "justynów": [51.7312049, 19.6822237], - "kamień łowicki": [51.9893988, 19.75413], - "kamieńczyce": [50.3264601, 20.0063989], - "katowice szopienice poludniowe": [50.2586327, 19.0906173], - "klimontów": [50.5248944, 20.0299288], - "kolumna": [51.6145479, 19.1948117], - "kraków grzegórzki": [50.0580309, 19.947735], - "krosnowa": [51.8612441, 19.9228259], - "łaznów": [51.6303708, 19.7539087], - "lipce reymontowskie": [51.9052001, 19.9436806], - "łódź andrzejów szosa": [51.7413998, 19.6130673], - "łódź arturówek": [51.8159961, 19.4560212], - "łódź dąbrowa": [51.7352319, 19.5103626], - "łódź niciarniana": [51.7669439, 19.5059978], - "łódź olechów wiadukt": [51.7237139, 19.5451445], - "łódź olechów wschód": [51.7299296, 19.5959991], - "łódź olechów zachód": [51.7246971, 19.5576097], - "łódź pabianicka": [51.7261401, 19.4452321], - "łódź radogoszcz wschód": [51.8262878, 19.4441262], - "łódź radogoszcz zachód": [51.821901, 19.4158322], - "łódź retkinia": [51.7399685, 19.4051489], - "łódź stoki": [51.7762557, 19.5115171], - "łódź warszawska": [51.8074405, 19.471808], - "łódź zarzew": [51.7523745, 19.5133747], - "łuczyce": [50.1635406, 20.0735082], - "maków": [51.9422299, 20.0459176], - "męcka wola": [51.6091863, 18.8480939], - "międzyborów": [52.0636554, 20.4827265], - "milanówek": [52.12476306037027, 20.666865290607575], - "mokra": [51.9789468, 20.0991218], - "moszczenica": [51.5028129, 19.6999652], - "myszków mrzygłód": [50.5443462, 19.3769674], - "ozorków nowe miasto": [51.9582814, 19.269774], - "pabianice północne": [51.6705771, 19.3423635], - "parzniew": [52.1560477, 20.7618287], - "piastów": [52.18223762051937, 20.841376104187503], - "przyłęk duży": [51.8406842, 19.9172883], - "sieradz męka": [51.6148817, 18.7779154], - "sieradz warta": [51.6026189, 18.7295686], - "sierakowice skierniewickie": [51.9973407, 20.0642655], - "sierpów": [52.0190261, 19.2220519], - "skierniewice rawka": [51.9775834, 20.2215656], - "słomniki miasto": [50.2352565, 20.077427], - "smardzew": [51.8717939, 19.4672663], - "smroków": [50.2754666, 20.0457626], - "sosnowiec porąbka": [50.272885, 19.2171691], - "stare grudze": [52.0474053, 19.9005972], - "sucha żyrardowska": [52.023741, 20.362299], - "swędów": [51.9063037, 19.5408947], - "szczepanowice": [50.300544, 20.025394], - "wągry": [51.7928676, 19.8511179], - "warszawa ochota": [52.225495922785086, 20.98916578649667], - "warszawa powiśle": [52.2332809, 21.026614], - "warszawa śródmieście": [52.2297189, 21.0092116], - "warszawa stadion": [52.2438898, 21.0441527], - "warszawa ursus": [52.196864030851344, 20.88652722449453], - "warszawa ursus niedźwiadek": [52.19108617951116, 20.868698319456996], - "wiesiółka": [50.4148979, 19.349713], - "wolbórka": [51.5924589, 19.7230189], - "żakowice": [51.7322779, 19.7913825], - "zarzecze": [50.3629831, 19.6981621], - "zawiercie borowe pole": [50.511778, 19.3976686], - "zgierz jaracza": [51.8643705, 19.4212688], - "zgierz rudunki": [51.8606683, 19.436555], - "bednary": [52.103569, 20.057123], - "borowa górka": [50.24637122561202, 19.332020376825028], - "brynów": [50.247814845872085, 18.98820258957653], - "czarnca": [50.824121861937414, 19.947678471706666], - "dionizów": [51.62055886938862, 18.965934719178392], - "dłubnia": [50.106610454805406, 20.02215226789744], - "florek": [52.253814, 19.315413], - "jackowice": [52.154047, 19.808058], - "katowice towarowa ktc": [50.265993968378694, 18.982781879640555], - "koniecpol": [50.77496684007889, 19.691113275255987], - "kraków główny kga": [50.07661875204934, 19.942313889595113], - "kraków olsza": [50.080927384684, 19.94990185820444], - "kraków płaszów": [50.02880490556305, 19.987607648466394], - "kraków zabłocie": [50.047568108854165, 19.957573558623068], - "krzewie": [52.23615, 19.177676], - "łódź fabryczna": [51.76912910595581, 19.46535644536604], - "łódź olechów": [51.72179568141058, 19.530463779161636], - "marków": [51.97255758526529, 20.479886733257416], - "mikołajów": [51.70869279236467, 19.858606289634423], - "mysłowice": [50.231468011864564, 19.14592397227875], - "myszków": [50.56914155858337, 19.34788322207592], - "ostrowy": [52.302486, 19.184415], - "puszcza mariańska": [51.97556590759987, 20.324504274010508], - "radzice": [51.47466330430433, 20.361989158922427], - "radzice rd1": [51.48490955740431, 20.333000729618732], - "rozprza": [51.29710772412807, 19.6566338229824], - "sędzice": [51.63247818559694, 18.558673483352152], - "sędziszów towarowy": [50.5707032954638, 20.063633157942007], - "sosnowiec maczki": [50.26849417379847, 19.269864196419917], - "stara wieś": [52.227144, 19.418715], - "szabelnia": [50.257340691397076, 19.11572154781939], - "żelisławice": [50.808200864762824, 19.872731752327184], - "zduńska wola karsznice": [51.59369527183932, 18.98781070185035], - "warszawa gołąbki": [52.20699401315298, 20.853018137489045], - "warszawa grochów": [52.25695429486251, 21.076726013705382], - "warszawa główna towarowa woa": [52.209017326700945, 20.868972306254022], - "warszawa podskarbińska": [52.25569937538526, 21.069138582119308], - "warszawa praga wpt m": [52.263748170912834, 21.054327054296323], - "charsznica": [50.396317423823035, 19.929657372688354], - "dąbrowa górnicza południowa": [50.31884372430392, 19.287244726285223], - "dąbrowa górnicza strzemieszyce": [50.306110339119556, 19.28638529177229], - "dąbrowa górnicza towarowa": [50.31860783959735, 19.377631442867795], - "dąbrowa górnicza towarowa dta r5": [50.32978540413973, 19.376113195139652], - "gajówka apo": [50.39924398103756, 19.85782827938928], - "jaroszowiec olkuski": [50.34591543156736, 19.630766108140506], - "katowice janów": [50.239233774471046, 19.081642365800008], - "katowice much. kmb": [50.2264068427163, 19.007991075068276], - "katowice muchowiec staszic": [50.222615696816774, 19.030556432590004], - "kozioł": [50.30784092622278, 19.379181644199974], - "kraków główny": [50.07703611476089, 19.9452276651634], - "męka": [51.60999711290103, 18.786889410381917], - "olkusz": [50.27630826408753, 19.559749915588753], - "piotrków trybunalski": [51.418451901766446, 19.686375970125994], - "przemiarki": [50.38679543208468, 19.33930021340194], - "sędziszów": [50.570676171201626, 20.06354228973015], - "sieradz": [51.60122895454205, 18.726380230760327], - "sosnowiec dańdówka": [50.26609817289858, 19.186394594411695], - "staszic": [50.218860555196954, 19.0008134492287], - "stawiska": [50.25000887787445, 19.1011425081185], - "warszawa centralna": [52.226742394521665, 20.994809295907743], - "warszawa wschodnia": [52.24591611175424, 21.04368077160217], - "warszawa zachodnia": [52.218230924320494, 20.95341762901242], - "wolbrom": [50.37971432581443, 19.763024331177036], - "zarzecze apo": [50.357383121605636, 19.692394231718993], - "kutno": [52.222941, 19.357181], - "katowice tow. ktc": [50.26528905318747, 18.98548711536283], - "sosnowiec jęzor": [50.243520135290744, 19.203652380369107], - "warszawa gł. tow.": [52.2133153, 20.8969579], - "warszawa rembertów": [52.2574687, 21.1548932], - "warszawa praga": [52.2786919, 21.0211558], - "kraków bonarka": [50.0291998, 19.9464366], - "rokiciny": [51.66906, 19.780959], - "łódź chojny": [51.725194, 19.494981], - "bełchów": [52.022929, 20.035983], - "sprowa": [50.59304492206253, 19.88301571264459], - "biała rawska": [51.7944183, 20.4394425], - "pilichowice": [51.2556656, 20.1223774], - "józefinów": [52.18587897581022, 20.85313515843776], - "gniewięcin apo": [50.540835, 20.044427], - "klimontów apo": [50.509156, 20.024466], - "radziwiłłów mazowiecki": [52.000331, 20.290474], - "słotwiny": [51.726321, 19.832398], - "łódź andrzejów": [51.741028, 19.617146], - "łódź dąbrowa pbsz": [51.749532, 19.513492], - "łódź marysin": [51.800167, 19.486152], - "dobroń apo": [51.629363, 19.240834], - "kolumna apo": [51.614231, 19.193488], - "borszewice apo": [51.609461, 19.0395], - "męka apo": [51.609401, 18.787825], - "zgierz kontrewers": [51.864796, 19.34032], - "chociszew": [51.92411, 19.266932], - "ozorków": [51.972469, 19.266291], - "łęczyca": [52.049236, 19.193252], - "stryków": [51.910582, 19.593419], - "domaniewice": [52.020445, 19.821213], - "baby": [51.538282, 19.717187], - "będzin": [50.30997848510742, 19.141355514526367], - "bukowno": [50.26411437988281, 19.452882766723633], - "dąbrowa górnicza": [50.32981872558594, 19.18648910522461], - "dąbrowa górnicza huta katowice": [50.33525085449219, 19.260229110717773], - "dąbrowa górnicza wschodnia": [50.303436279296875, 19.29884147644043], - "dąbrowa górnicza ząbkowice": [50.36259841918945, 19.261383056640625], - "dorota": [50.282779693603516, 19.280614852905273], - "gajewniki": [51.612811, 18.983129], - "gałkówek": [51.730351466897005, 19.7383686059682], - "glinnik": [51.886605358691604, 19.495131820023865], - "głowno": [51.95966481936948, 19.702507256313176], - "góra włodowska": [50.58454132080078, 19.463600158691406], - "grodzisk mazowiecki": [52.11067199707031, 20.62236785888672], - "idzikowice": [51.45024108886719, 20.313865661621094], - "juliusz": [50.272239685058594, 19.225088119506836], - "katowice": [50.25686264038086, 19.01921844482422], - "katowice zawodzie": [50.25743103027344, 19.05518913269043], - "knapówka": [50.80023956298828, 19.904640197753906], - "koluszki": [51.745860222914985, 19.81965434485795], - "korytów": [52.02006530761719, 20.49540138244629], - "kozłów": [50.481563568115234, 20.015825271606445], - "kraków batowice": [50.105511, 19.987373], - "kraków przedmieście": [50.085397, 19.950079], - "łask": [51.6041034, 19.1087857], - "łazy": [50.431419372558594, 19.39385414123535], - "łazy ła": [50.453914642333984, 19.420406341552734], - "łazy łc": [50.416500091552734, 19.36301040649414], - "łódź kaliska": [51.761167, 19.427463], - "łódź lublinek": [51.7198256, 19.3581808], - "łódź widzew": [51.76404905300711, 19.53696707717018], - "łódź żabieniec": [51.7973495, 19.4058521], - "łowicz główny": [52.1044930936045, 19.956626067322116], - "łowicz przedmieście": [52.093109690783905, 19.948651364267196], - "miechów": [50.354694, 20.01168], - "niedźwiedź": [50.20837152279317, 20.082381986206826], - "olszamowice": [51.09524154663086, 20.068349838256836], - "opoczno południe": [51.361671447753906, 20.23564910888672], - "pabianice": [51.6596605, 19.3221632], - "płyćwia": [51.91675458305167, 20.002622772428754], - "pruszków": [52.16665267944336, 20.794635772705078], - "psary": [50.73325729370117, 19.816265106201172], - "raciborowice": [50.110865420706794, 20.02816012463629], - "retkinia": [51.7427605, 19.4151626], - "rogów": [51.82154221939534, 19.8914148273168], - "skierniewice": [51.96546804751191, 20.145767853109945], - "sławków": [50.29477310180664, 19.37502670288086], - "słomniki": [50.24840253502865, 20.064524835631538], - "sosnowiec główny": [50.27600860595703, 19.120859146118164], - "sosnowiec kazimierz": [50.28987503051758, 19.23243522644043], - "sosnowiec południowy": [50.27341079711914, 19.121028900146484], - "starzyny": [50.71260070800781, 19.801761627197266], - "strzałki": [51.6424560546875, 20.405067443847656], - "szeligi": [51.94291305541992, 20.458845138549805], - "tunel": [50.43252182006836, 19.990375518798828], - "warszawa włochy": [52.20666520076356, 20.916819010795415], - "witonia": [52.15684997510119, 19.27690192450433], - "włoszczowa północ": [50.85118103027344, 19.943790435791016], - "żakowice południowe": [51.729363228850715, 19.790954216139948], - "zastów": [50.121761, 20.064815798545027], - "zawiercie": [50.47346115112305, 19.42439079284668], - "zduńska wola": [51.61125, 18.942019], - "zgierz": [51.8444297, 19.4212899], - "zgierz północ": [51.869031659136844, 19.38447365821383], - "żyrardów": [52.05285912360511, 20.45174796615715], - "kraków płaszów pzs kpa": [50.02880490556305, 19.987607648466394], - "piotrków trybunalski towarowy": [51.418451901766446, 19.686375970125994], - "koło": [51.8686831, 19.321971], - "łódź dąbrowa pbs": [51.7352319, 19.5103626], - "radzice pzs r31": [51.47466330430433, 20.361989158922427], - "warszawa zachodnia peron 8": [52.218230924320494, 20.95341762901242], - "łódź olechów pzs r82": [51.72179568141058, 19.530463779161636], - "łódź olechów łoc": [51.72179568141058, 19.530463779161636], - "łódź olechów pzs r16": [51.72179568141058, 19.530463779161636], - "łódź olechów pzs r3": [51.72179568141058, 19.530463779161636], - "warszawa ursus północny": [52.196864030851344, 20.88652722449453], - "maków podhalański": [51.9422299, 20.0459176], - "myszków nowa wieś": [50.56914155858337, 19.34788322207592], - "myszków światowit": [50.56914155858337, 19.34788322207592], - "warszawa główna towarowa": [52.209017326700945, 20.868972306254022], - "mysłowice wesoła": [50.231468011864564, 19.14592397227875] - }, - "segments": { - "warszawa grochów|warszawa wschodnia": "}p}}H_rs_Ce@pCg@tCGb@If@Kt@Gp@El@Ef@?JCd@At@Ar@@n@?p@Bn@Br@^jIFlAFp@Ft@Hn@D^BNJr@Ln@Ll@Pl@Jb@N`@L`@L\\Vj@Xl@l@pALXN\\N`@L^Lf@Lf@^`BR~@Pp@@FXfAZnALf@Nf@Pj@Pj@Tp@Pp@n@`CLd@FZJh@Hd@FVJ`@Ld@TJAh@V~@J^Nd@J\\Tl@Df@IXTp@Xj@N^LZJ\\TEn@HXz@J^Rn@Pr@h@bCbANFXJh@Jh@\\|@~AtHxA~GXtANl@H^FZDVFb@d@`DCXD\\FZF^Fb@BTLx@Fd@Hb@z@`GHj@Hj@JL?`@Qd@CTJZFRHVLZHXN`@HTREPf@C\\TDN^JVTPJRNVLPLPNPLNPNTPLHPJNHRHFBXJTPVTNBTDTBTBpALTBTBP@P@P@VBV?X@", - "warszawa wschodnia|warszawa centralna": "wg{}Hwam_CVJd@@zH@R?R?T@T@X@VBTDL@ZFPDXJVHVLRHVLVPTNVRRRXXRRTXV\\X`@FHXf@R\\Pb@Rb@Th@nGzO|FxNbBbEp@bBRd@Th@R^N\\NTPZNVRZhCnD`@n@V^LVFJVd@Xh@Zr@Rd@Rb@BHP^Rj@Ph@Nb@FPX|@Vz@T|@j@zBZnAXnAz@tDPp@Ll@Jd@Jj@Lp@rDzTJn@Jp@Lz@N`ALx@Jz@jHfk@Hn@Fj@Bh@Dj@@X@\\@^@n@?`@?b@A\\C~AA^Df@Ab@?^?^?b@@^Bd@@^BXB`@Fb@Dd@Fb@Fh@`@|CZdCtCzT|AzLHj@Fd@Jn@Lp@Lj@Jd@\\vAp@nC`@dBH^HZFXF^FZDZF`@D\\@n@XpB?@`@~CFb@", - "warszawa centralna|warszawa zachodnia": "wow}Hgpc_CDf@J`AJlALfBJ~@Ld@Dd@D`@@HPtA|@dHRxAHl@Jp@Hh@Jp@j@rDv@`FFZHh@`@pCTzAJn@Jn@V`BNfA~@nG`AtGd@`DtBtNNdAN|@Hd@F\\F^F\\P~@@FXxABRDTLr@Lx@Jx@\\hCNb@JTPlAGJBz@Fd@D`@Df@b@p@BNJt@Hh@ODHj@Af@F\\Fd@Fb@Hb@@ZLbA|@b@H`@H\\Lb@BXQZFTFTBTJRDRFVHVJb@Hb@FTF`@RVTFH^Hl@Hb@Fh@F^D\\h@jE_@PUJOHe@RWJLhAGd@jBjOFd@PD^Xv@vGa@`@Yf@H^Hd@Hd@D\\N`AVdBVx@T|A`@?L?Hl@D\\Hn@DZDTD`@Fb@Jp@CZDXBLRh@DTDXF^Hb@Hd@FXDZFZFZFXFXc@^", - "warszawa zachodnia|warszawa włochy": "oxu}H{p{~BNl@Nr@l@`CDLHZj@|BRx@Nj@Pp@FVPr@FXHXFXFXFXPr@FZLn@BHJl@Lt@Lt@Lt@Jt@Jl@Fd@DXJt@Jv@Fb@Hl@Jv@N~@TbBRpAFf@BNJt@Jv@Hv@Jv@Hv@Fb@@RZhCN`@Db@Ff@DZ@NFf@DZDZBZDZDZDXBNFj@DVDZDXDZDZFXDZDXFZDXFZHf@Jf@DXFZFXDVHZFZFXFXFXFXFXFXFXHXFXFXDPb@lBrA`Gh@`CRz@t@dDFTtAjG~ChN~Hp]bAnEPv@T`AR`ARz@Pz@Pz@`@rBlBlJf@`CThAVhAJh@Nn@", - "warszawa włochy|józefinów": "ets}Hwht~BPx@Jf@XlALh@`AhErA`GH\\Jf@Lb@Ll@Rr@Pv@Nj@ZlAn@zBFTl@|Bd@fBr@lCPv@Pt@d@pBn@pC`@dBh@~BF\\r@xC^dB\\`BXtAVlAnAdGx@zDThANt@R|@n@rCrA|Fh@bCtAfGn@rCHZZtAv@lDtAbG@FZtABJ\\|A\\xAfAxEVhAXfAp@nCXlAXjAXfA^`BTbAVbAf@|Br@|C\\xAXpAJd@Lf@Ln@XlAXrAPv@\\|AVrAXpAVhAThAPv@Pv@Lj@ZrAh@bCrA~FtAbGrA`G@DpAzFBJ\\|Ap@vCrA`GtA`GrAbGrA`GPt@`AjE|FdWrA`GrA`GtA`GzAzG`DlN`@dB", - "józefinów|pruszków": "aro}Hs{g~Bn@vCt@~CVhAFVrA`Gp@tC`@jBjAdFFZl@lCb@vBNp@~@rELl@j@jCR|@BLH^n@rCZlAPt@b@hB^zARt@bAdE@@T`ANl@DPT~@Rz@FVT`Av@jDVhAz@vDf@tB?@l@jCrA`G\\xA?@v@fDl@pCd@nBtAbGh@bCh@`CtAbGrA`GjAdFH^Pt@`AjEtAbGvSj~@tAfGBJtBhJFx@bApElAlF^bBzC|Ml@jCVfAVdAXrAZvAn@pCVjAVjAtEjSBH`AhE", - "pruszków|grodzisk mazowiecki": "ozk}Ham|}BdBzH|Jhc@`Mti@Jb@hCfLPx@fAvEjAfFhA~EDRXhAr@`Df@pBDT|@nDb@jB^|Ab@hBbIv]DLdBzH@BpAzF@D|Nlo@b@jBfGdXNr@nChMb@rBXlAh@dCPr@Lf@XjAnDlOvB~Id@rBv@bDVfA\\vAZtAlCnL^`Bd\\twAXjAVlAVfAVfAt@bDXrAZpAPz@BHJ`@FX\\zAZrAXlAXjAfBxH@BZpAXrAhB|H?BjBdIvDpPl@hCxR`{@^zArd@bqB\\zAtQtw@VfA\\xAZrAZpAfMdj@\\xAtLlh@hLfg@fG~Wf@xBXjAVlA^`BXrADJTdADPbBvHjBlIfBbI~BnKxCxMpA~Fz@xDdAxEn@rCl@lCl@nCvChM\\xALh@\\zAXhABJNl@HX`@`BtB|HFRhAfEl@`C~@~DFXhAbFDLbBtHb@lBrB`JpAtFp@vCLf@", - "grodzisk mazowiecki|korytów": "}z_}Hibx|BnCpLjCjLpE|RNj@Jd@d@pBVdA@FPv@FV~@~DjA`FrD~OnT|_AfCvKZxAj@~BbSz{@lEhRFT|D~P`Mji@lAjFXnAnCnLJd@Ld@R|@Rz@Nr@Np@Pr@Nr@Jf@Jd@x@tDVpAJd@Jf@Pr@Nr@Nr@Nt@Nt@Nt@Ll@Ln@Ll@Ln@Jn@Ln@Jl@Jj@Jl@Jn@Jn@Jn@DXHh@F^Pf@Lz@Jx@Lx@Jz@Lz@Jz@NpANnAPrANpATrBVtBjAbKRhBRhBJv@Jx@Hx@PtAPtAJv@Jx@Jv@Jv@Lx@Jv@Jv@Lv@Lv@Hf@Hf@Hl@Jj@Lt@Nv@Lt@Lr@Nr@Lr@Nr@Nr@Nt@Nr@Pr@Nt@Pp@Pr@Np@Pp@Pn@Np@Rp@Pn@Pp@Rn@Nj@Tt@HTHXRl@Pl@Pj@Rh@Pf@Pj@Rh@Ph@Th@Rj@Rj@Th@Rj@Th@Tj@Vj@Th@Vl@Vh@Vj@Rd@Td@Zp@Vf@Td@Zl@Vd@Vf@Vd@Vd@Vd@Vb@V`@Tb@V`@PXRXPXPX\\h@TZV`@V^^f@\\f@TZTZX^X\\X\\X^X\\X\\h@n@h@l@Z\\\\^\\\\\\^\\\\^\\\\\\\\\\^Z\\\\^Z\\Z^Z^X^Z`@Z^X`@X^X`@V^X`@V^V`@V`@T`@V`@T`@T`@T`@RZPXLXNRH^P^P\\N|@^`@PTHTHXJXJ^L^L^L\\J^L^J^L^J^Jb@J`@J`@LXF|A^HBh@Lr@PbATVFhIlB|EhArQfETDn]dIr@Pvv@pQTDbUjFvD|@rYzGXFjQbE~A^hJvBtt@zP", - "korytów|szeligi": "qho|Ha~a|BjIlB|ItBNBtBf@vBf@nDx@tAZtA\\vDz@dK`CfAVxXrGvg@nLlGxAtb@zJ^HvBt@ZHZFv@Pl@Nn@Pn@Nl@Nn@Nn@P`@JLDn@Pb@LZJZJn@Pl@Tt@Tr@Vt@Vr@Xr@Xr@Xl@Vl@Vr@Zp@Zp@\\p@Zl@Zn@Zl@\\l@Zl@\\j@\\PJd@Xb@Vj@^j@\\l@b@n@`@j@`@l@`@RNZRn@d@p@f@r@f@l@b@XRbZlTbAt@p@d@p@f@p@d@p@f@p@d@p@d@PJb@Jn@b@TLd@Zf@Zp@`@n@^r@`@p@^r@`@r@^t@\\r@^d@Tf@TXLr@Zr@Zt@Zr@Xt@Zr@Xt@Xr@X`@N^NhM~Ej`@fOnCdAjG`CnEdBbDnAz@\\fHnCd@P`C~@pHtCb`At^", - "szeligi|biała rawska": "sd`|Hyyz{BfHnCvGhC`@NnEdBpJrDrFtBr@X`@Nt@Xt@Xr@Xt@Xr@Vr@Vt@Vt@Vf@N`@L^Lr@Rr@Tt@Rt@Rd@Jb@Jb@Jb@Jd@Jb@Jb@Hb@Hb@Hb@HLBVDb@Hd@Hb@Fb@FD@^Db@Fb@Fd@Fb@Dd@Db@Fb@Dd@B^DB?d@Db@Bd@Bb@BXBJ?b@Bb@Bb@@X@f@@h@Bt@@v@@v@@t@?t@@v@?t@@t@?jLDl@?fB?fVHhC?dA@fA?zA@lB?fB@|C@h\\HzWFv|@VX?vVF`A?ju@RhA@r@?t@@r@?r@@r@@p@@`@?P@r@@^@f@Bb@@B?b@Bb@Bb@Bd@BZBH?d@D`@Bb@Db@BXBB@^Bp@Hv@H`@FTBj@FJ@t@Jv@Jt@LbAL`ANzsAnRx@Lze@|G|Ep@bIjA|Ep@jStCtOxB~@NnJrAj@Hr@Jr@Jl@Hn@Hl@Hl@Hl@Hl@F~@Jb@D`@D`@B`@Db@D`@B`@BR@j@Dj@Bv@Dv@Dv@Bt@Bv@Bv@BfADpx@|B~@B|sAzDnFN|[~@dq@lB~Ml@vHTz@B", - "biała rawska|strzałki": "sac{Hiaw{BtM`@b@@fLZdGPx@BlDJdTn@dDHn@Bn@Bv@Bv@Bv@Bx@Bv@Dv@BbB@xBN|BP~Cd@pC^nC^t@LdF~@t@NpCn@rBf@nD`ArH~BdaAr^tAf@zMlFxgBlq@ht@pXxBt@lBp@dCp@jBf@jGvAdB^bC^|B\\xBZ|BT|BNzBD|B@bb@l@`FJpx@bBn@@`U\\t@@n@@`e@t@t@@n^j@rdAvArgAlBfELpEZpKtAlHxAjBRps@vOlAVrDx@n@L|Cp@jh@dLdATfQxDbDr@", - "strzałki|idzikowice": "kjezHogp{BnAXbTtEr@NzDv@`Ez@dIfBfIdBxCb@vHv@vHp@xCLjXbAfXbArDLbVx@vWbAjGTrGTrn@zB~J\\vSt@vJh@bn@bCrHV|[dAz@DrX~@lf@fBfSr@hcArDzWz@`{@zClZhArW~@f@B|c@xAtDRzc@zAxM~@~HhAhGnApFxAtFfBrGzBZPdEnBhH|D~IfG`JlGjJxGrNlKfJrG~KfI|IlGbLfIvGnEtGvEnG~EvIlHpArAlFxFbIfJrDfFbHlKjIdO^r@xKdT|BjEb@x@vc@rz@pe@n}@pCtE`Tba@tc@nz@DFnA`CxE~If@~@hDrGXj@rFjK", - "idzikowice|opoczno południe": "wa`yH{v~zB~NzXz\\ho@f@~@b@z@p@nAt@tAfCzEFJ|BhEz@`BT`@f@~@|EfJ|AvCbAhBr@pAdAfB~@~AjAjBnCdEpBpC~BbDX^lBbCrCnDvCbDrK~JjEpD|EpDrHdFhGfEhUfOjSzM??rW`QvUrOrBrAvj@~^fFfDfYdRhJdGnLzHfErCzb@dYzDfC|A~@B@zA|@bB|@bBz@hEpBfCfArBz@vBr@`F`B|HbCjChA\\JvJ|C\\JzCfAfFrBvL~FrDvB|DjC|EnDvDvCdErDvEtEjEvEzF|GrDpExMfP", - "opoczno południe|pilichowice": "sqnxH{eozB`@f@|D|Ej@t@nAzA|KbNfLjNpIjKbFhGnDjEfHzItMnPdHpItJjLlE~EpErErHtGzHbG~g@|_@lmAz}@xs@`i@lg@r_@rGpFvFtFrFzFfHzIzJtNdm@|eAfZ`i@~c@fx@Vd@vBtDdO~WfOxWnD~FpDzFzExGbFnGrFjGxF~FvHxGbHhFhHxEhq@z_@x@d@", - "pilichowice|olszamowice": "azywHccyyB`GhDpBdAdShLfSdL`HpDdH`DbFjBfFfBrG|AvGpAfEn@nFn@PBdE\\\\B`G`@bg@lDlRrAjf@fDrgAvH|F`@~i@vD~L`ARBdLrArARrAVvGpAzEjAzEtAvC~@DBhMpEb`@zO~IlDnm@jV`A`@z_Av_@d@Rbh@nSlMdFzy@v\\pLxEfSdItLzEjd@zQdBb@fAd@|i@jTdMlEbEfAdE|@bEt@fEl@`Eb@bEZnFPjDFbAB`IBpHJfG?t@?pC?rFApJ?lXApQArA?", - "olszamowice|włoszczowa północ": "wpzvHwsnyBfL?vCAvn@CdI?zmAGhVAvJArdDO~F?hS?|QAbA?li@CjKN`FV~E`@xH`AlHpA|LbDnF~AhEnA`OjEnJpCbjA~\\~C~@nu@|Tb@NxTtGpYrIlRxF~@XlMvDXHtLjDfGjB`Bf@nOpEdOrEnDpAjDtAlB~@jGxCxElCtExCrFzDpFnEtFbF~S~Sj[l[xBxBlWtWnFpFpXzXfGjG~FvGbM~OlDvEbJzLxn@pz@j\\pc@rCfD``@bh@nEbGnh@vr@xi@ft@pBlCjHrJrKrNbDbEdD|DjDrD`CbC`CzB@@jC~BjCxBjCpBhCjBxE|C|EpCvDnBxDhB~DbBpAf@nBv@tHxCjTtIdRpHn@VtEhBbQ`HjPrG~H~C~FlCvGjCjGbCzUjJlDtAlNtF", - "włoszczowa północ|knapówka": "ozjuHeevxBjDtAvOjGjBt@rIhDxAl@lBx@fBz@hCpAtAt@jAp@`Ah@nAx@j@\\nEzCtBzAbAv@lA~@`BnA|AlA`BrA`BnAh@b@bHnF`K~H`E`D`DdCxJtHfo@|f@d@\\|D|CtLjJvH~FvH`Gt[nVdMxJbMtJ~DzCnAdAVRzMfKnElD`DdCdAv@", - "knapówka|psary": "y}`uHmqnxB~BhB~@r@tT|Pj`@pZ|HdGJHdIrGnDzChD`DvGxGxOlQrOjQ`]l`@xR|Tpt@lz@pQpSxj@ro@pKjMbDnEtHfL`FxIlBpDrDpHPb@rDnIvDxJhFhOlEnOtEpP\\nA~BpIxVd~@lKz_@r@fChDjLlDfM", - "psary|starzyny": "_pstHmk|wBPp@Rn@Pj@x@fCTr@XfAxHxXpFxRb@bBh@~Av@nBbBbDt@lAx@bAz@`A|@z@|@r@bAr@VNRJj@X~Al@zA\\|ARbADbABvBKx@Kx@OvAa@hM}E~KsEpOuGfAa@pEmA", - "starzyny|sprowa": "gxotHymzwB`J{DlRkIniBuw@~_@qP~Ak@fBg@hBa@|B_@~}@wLnvAaRxVeD|h@cHhBc@zBe@zAe@fBo@BAbBs@bBaA~AeA|AqAzAuAtAwAtBmCt@w@`NeShReY~u@{iAhj@az@FK`l@i|@DGbMiRvO{UvAmBhBoBxCkCfBiAbFkC`FiBvBw@jBq@`G{Bzg@mRlI}CxDuADCv@Y", - "sprowa|kozłów": "ilxsHejjxBtFuBhb@{OlEaBBAzf@{QpSyHbPcGvAu@xFaCbDoBDC|@q@xEqEzDaF`CiExBwEtAsDrAgEb@cBh@yBj@gC`A{DvVstAlBgKpAyGbAkEdAmDvA_E`AaChA}B|AuClAmB~AwBvBeChLeMn}BgeCLMrGcHn@s@|DmElBqBlAmAxCeCxCgBxEsBnH{BlFwA^YFAzDiA`Bg@`Bm@xAq@zAw@xA_AtAeAvAkApAoAfKkKjEmEfAoA@AfAwAbAyA|@yAz@{Ax@_Bt@cBp@aBp@kBp@qBp@aCn@gCj@iCf@mCb@sC\\oC\\uCPyBfAyK|Dw`@zGsq@pFoj@PaBd@{D\\kC`@cCb@}Bl@aCn@eCp@{Br@uB^cAXu@x@oBx@cB~@gBbAcBpAqB\\g@v@iAn@}@xHyKdIcL~EuG`AqAxBwCjBsBf@q@f@o@h@o@l@q@j@m@j@k@n@o@h@c@n@i@n@e@j@c@p@e@l@_@r@a@n@]l@[n@Yp@YNGh@Sp@Up@Sr@Qd@Mt@Of@Kl@Kr@Kl@Gv@It@Er@Ct@Cx@At@@x@@r@Bt@Dv@Hr@Fp@Jv@JlCd@\\EzAVlBZhBZlAVvGxAxEdA\\H@?xBf@`@HtBd@XG", - "kozłów|tunel": "ysbsHohdyB^HxBd@j@Nj@P\\J`@Nr@Zx@\\z@^JD|CrAhChADBxB~@pAl@`GlCzG~CfEnBn@Xd@Vb@R`@TpAt@hDpB\\P\\Pl@XZNfCjAvCtA|SvJ`RrIl@Xh@Vh@Rf@Rj@Pf@Nh@JTDXDd@Fl@Df@Dd@@\\?^?b@Af@Cl@G\\ENAf@Kh@Kf@Ol@Qd@Sf@Sh@Wf@Yd@[h@_@d@]d@a@`@a@f@i@\\a@b@i@^i@`@k@^m@^q@Zm@\\u@Xo@Zy@DKV]Vy@Xy@ZkA|AsFRu@Ro@Vw@Vq@Xw@Ti@Xm@\\m@Zk@\\g@JQT[Za@\\c@X[XY\\[b@_@b@]d@[`@Ud@Wb@Qf@Sd@Od@Mh@Kd@If@Gh@Ef@Cd@?h@?f@Bd@Bh@Ff@HXHLBf@L`@Lf@Rd@Rf@Vb@Xd@Xd@^`@\\`@^^`@`@d@^d@Zb@`@l@Zj@\\l@Xl@Zr@Vn@Vt@BDPh@Rr@Rr@Rx@TbARbAN~@LRpBhLd@lCPdANx@VhAR|@V`Al@xB|Txv@FPZ`ALXL^Xl@Td@Td@Vb@V`@T\\X^TXRTPRXX\\X\\Vb@Z`@V`@TRJFd@fClApDhBfBz@x@`@`@Tb@R", - "tunel|miechów": "yayrHqk_yBnCrA`@Pf@R`@LRFJDf@Jf@J`@Dd@F^@d@@d@?V?VO^Ad@CzBSx@InK}@`@EJAf@Gp@If@If@Id@IdASp@Ov@OdNqCdFcAhNmCdEy@j@Mb@Mb@M`@Ob@Q`@SZQDC\\S^W^Y^[^]^_@Z_@\\c@Ze@Ze@^k@\\o@`@w@pCwF`MwVj@kA~E{J~@kBz@aB|@yAt@gA`AmA`AeA`BwAp@g@t@c@r@a@lAi@nAc@vBg@xB_@tCa@dBWzNyBnFw@xEq@bAOdCc@jBc@fA_@`Aa@xDuBxDyB`Am@jC}AtAw@x@_@`A_@`AW|AWnBIdBDbAJbAPn@Rv@V~@`@pFrCdI|DrAh@vA\\xAPrAFx@Av@CfBWrA]jAe@~A}@zBaBbEaDtDwC\\Wp@[tBaBvBcB~BaBrBiAtBu@pBc@LExBUbCCbCLxR~BjR|Bf@FjBTfD`@dBJxBB~@Cb@AtBGdBG`GQjFOlABzAL|AZ~Af@fDrAV?^NjAd@bBp@lBx@rC|@tBx@", - "miechów|słomniki": "{zirHsmcyBzAl@dLtEnDdBvInDVL`Bn@|Al@pBx@|B`A|A|@nA|@`A~@z@`AdAzA|@~Az@hB~@~BzB`Gl@rAp@vArAvBnA|A`BxA`Ar@bBz@n@V`B`@b@FrANzA@tAGjBYvBs@pB{@~@a@vDeBb@QdDwAvT}JbH_D~GiDv@e@zAeAVQdAw@fDgCtA}@~CgBnJaFf@WnGkD|AcA`Au@bC{BzDgDfBwApA}@|C{AlD_AbDi@jFy@nEiAfDgB`DkCxCcDjMqNrFeGz@}@dByAxAcAvEqCtCeB~CiBnGuDjBoAf@]`Au@z@w@JIdCiCjMmPxC}DrCuD`AkAdAiAdAaA|@w@xB{AzGeEPIzAu@d@YbEeC`DoBpAs@pAm@fFgBhAa@pHeCtHiClGyBf@QxFoBvAk@vAq@v@g@l@c@zAoA~AgB`BqBdQyTvFiHbAkA~@iAhAiAFGr@m@z@o@jAy@|BuAjEaCdB_A`B_AtL{GrBkA|GwDnC{AhAo@dAo@nPgJvGsDlC}Ad@W`BcAv@k@t@q@`@c@nA_BjAkBhBgDn@iAr@gAh@s@d@i@l@o@l@e@j@c@j@_@xAs@f@Sd@Ob@OnBk@JEjBi@ZW^MZIdBg@`A[hA[pHwBj@Q|EwAdA[TGr@O", - "słomniki|niedźwiedź": "}cuqH{wmyBnCo@h@Mh@Ob@Oh@QjAa@zAg@LE`DmAbBaAt@o@n@i@l@o@xAiBxAkBlCyCzEmFhDwDfCqCtJuKfAsAlAiB~@iB|@uBzAgDp@_BzBeFl@uAzAmCv@uAn@cAxAiB~@{@l@g@x@i@z@e@`Aa@`AYt@Ov@KnAK|@?bABrAJ^DzANfHt@zFj@tGn@tGn@lBRpFh@bAFz@Bh@AXKlAGdAKxAWz@Sz@[|@]dAg@vD_CvEyCdEmCzAaAzA}@|@c@z@YfAWfASjAGjAAnAFtAPdATvAd@nC`AdBl@lAb@hEzA", - "niedźwiedź|zastów": "sgmqHskqyBzDtAfDdAxBp@x@XbExAlFjBfDpApDxAtChA`A^hKlDjGbCjAd@|@b@z@f@t@j@lAdA^`@d@h@`AtA~@`BdA`Cr@pBl@xBd@`CTvARzANxAF~@Lt@@ZJhCHxCFzCJnDJbCJnAV|B^bCf@zB`@|A`@pAf@nAz@bBx@tApAhBj@l@p@n@bAv@`Al@fBz@h@NrBb@fAJfA@fBEfBY~Bq@xAq@~A_ArAu@t@c@b@W\\SbCyAxAy@fBu@rEiB|@]x@WvA[~Co@~A]x@U`A[~@c@bAi@r@g@z@q@z@y@~ByBjAiAdCcCfA_Az@m@t@e@x@c@|@_@v@YzKyCtDaApD}@jBi@`AYt@YpAk@hAo@zBwAdBmAdCcBjCmBjAy@VQh@]bBmAbAs@~@w@hAgAn@s@l@q@b@m@h@q@`A{Aj@aAf@_AjAeCrCkGtEcK~AoD`A{Bt@qBb@wAd@iB\\iBb@}CVcCNkBP}@b@gFZaETeCVmCVkBZcBDQZyAd@cBd@sAj@wAt@{Az@uAd@q@t@_Aj@k@dA}@v@m@fAk@p@YbA[~@U~@On@EnACjA@rBH~BJxBJjBHxAFZ@l@@nERvCJzBJfEPhEPxAHxAL`AJtARz@Lz@LnC`@nBXtBXdANr@Nz@Tj@Rf@Pn@Zp@^|@p@|@v@z@|@x@dAz@tAx@|Az@jBlAxCP`@t@dBdAfCbA`CrB|EtBbFRd@JTr@bBr@bBvBbFzClH|ArD|ArDrL`YjBpEJT^z@xCfHXr@`FzLnCtGnClGpAzC`CpFjAlC", - "zastów|raciborowice": "ik|pHe}myBVn@x@lB@@x@pBd@jAd@nAd@tAl@tBn@jCj@lCl@nD|@pFz@fFbHdc@Lt@|Fh^pFx\\lArHf@xCLr@DTRlA~@lExBrJzDbQrIn_@", - "raciborowice|kraków batowice": "mezpHkqfyBp@xCh@bC~@bEd@vB`@dBjBhIjBjIfAzEdAxEP`AN~@NdAJdALjAHnADr@?DBv@Bt@@|@?r@?ZA~@C~BAfADLGbECnCCnCCfBIvFCvCGvCCrBC|BEfCEnCGnGClCCfBGbECvBE~DCfBCrAAr@?j@AtC@hA@hAB~ABjAFrAFxAFvAJdBFbAJdARrB^pC^|BTnAp@tCz@~C@b@lC`K", - "kraków batowice|kraków przedmieście": "_fypHqx~xB`@xAp@`CPp@bA|Dr@lBr@jCnD`NpBpHv@zCf@fBV`Al@vBp@rBdApClA|CjAzCjIdTjC|GdHtQh@rAbAhClA`DfCpGnC~G~AbE~@~Bj@vAb@bA^v@^r@Tb@\\j@Vf@NVz@vAp@jAbAhBzAhCbBzCb@r@pA`CXf@~ApCx@xAh@`AXf@V`@TZLRTZVZVXRTVVVTTTXTTPf@\\zA~@t@d@dBbAPJ`B`A", - "kraków przedmieście|kraków główny": "ugupHmowxB\\TdBdAxCfBfAn@lJtFvBpAbAl@tAx@VNbDnBj@ZLFXN`@R^P`@NVHHBh@Nf@Jj@LND|@Pv@PLBJBVDZDTBP@P@T?NAVAVCXEZIXIRG`@Qv@_@JE\\Ab@S`@Q|@a@JEPKVKfF}BLGNGv@_@HCTK`Ac@pAk@~@c@ZMPI`@QDCVKPGPGZI\\IZEZC^C\\AP?jDGfCEZ?|@A`@AD?TAX?R@P@J@PDH@nBb@dATd@JNDPBTBZL`@K", - "kraków główny|kraków zabłocie": "igqpH{_wxBL?|BC`DGL?v@A`@AhBERAVAH?j@CXA~AGVAXAf@Al@AdFG^AfEGf@C^Ch@Eh@Gb@Gb@Gd@Kd@Kb@Mb@Md@Qf@Qf@Sf@Uh@Yb@Wf@[b@[b@[d@_@PR`@E\\]\\]d@i@f@m@^g@jA{A~@sAd@m@|BaDfA}ApAmBDG|HoLBE^i@@CdCqDf@w@~AaC", - "kraków zabłocie|kraków płaszów pzs kpa": "}|mpH}~xxBSc@LaA", - "psary|góra włodowska": "mzstH}f}wB~BpI^tAlDfM|BpIzUj{@bC|IrBrHlDnMb@zAz@|CfEpOxHvXjAjExIr[jKt_@|Ork@lBbHpHdXzCnKbDfKhFrNvBjFzBdF|CtGbDpGhD`GjDxFbGzIfCbDzBvCpBzBNNtA|AbCjCdCdClBhBXVhC|BhOvMf@`@nD|CzKlJl@f@bDpCrEtDjBxAjBpAxEbDvGrDxGdDNHlGhCbH~BjFxAlFjAnF~@nFp@dE\\dETbENjCBx@@~FE`GQ~Fa@~Fq@zIyAxIeBXGtBe@|UgFZI`[}Gda@yI|UiF|MwCnTuEvI}AnDc@xBUp@GbEYrESVJbEGrD@|HR~CP~CT|CZ|Cb@zCd@zCl@~EhAxErAzE~AxEhBjD|AvDjBRJdE~B~E|CzEfDvEtDpE~DjEfEbEjE~DzExD~EtDjFnDtFlD~FfDdG|@dBfE|I|DdJ\\z@fBtE~BvGhFlPNj@nD~MhB|H`B~Hn@hDd@fCnApHrAzIlAzIvCtTnCpS`D~U`Mh_AfQdrA`@xCtB`Ph@tEf@vEjArLt@`Kn@dKf@rKBt@X~ITdMHhM?nKGlKQfKYfJAb@k@bNqDtw@y@~PeFpgAc@jJgClj@Bt@KbBElAGtAEnAKzCK~CSjIOnHUpT_@x_@ElGAj@GrG[p[Yd]?tAAlHBlHFrGJtGPfHDzARxFVvFPfDTlDb@tGh@tGz@|IhAfKjA|I~@jGDThA~GlA|GrAvGrCbMfDlMbBnGrAfEpK~[bBhF`BjF|AnFxApF^zAfBrH@@`BrHvB~KpB~LfBdMrBfRjBlUfAtS`@nMTpMHfM?bFAbFGrHKrH[bMQ~E]|HiDhu@wAl[GlAmDnw@sCnn@", - "góra włodowska|zawiercie": "gzvsHooxuBIhBiAvVDd@yE~dAs@zOm@xO_@nOMpJCnJBfMNhMd@rQx@hQh@~Hl@|Hr@zHx@xHrArKzAnKvBxL|BpLlDlO|A`GbBzFNh@tAjEvAhEtDhKpB`FfCbG~DnIzDrHdEfHfE`HxDdG~KfQpBvCtEfGlB~BpBxB^`@pCrCxDhDjCzBlCtBzBbB|B|AnErCrEfCzDnBbAb@zB`ArHlCrDfAvD`AzCn@|Cj@bDd@|BV|ANVBVBz@F^Bp@Dl@Dz@Dn@B~@Bt@Bt@@t@@t@?t@?v@?r@Av@Az@Ar@Ct@Ar@Et@Cv@GbAGbBMt@Gv@It@Kt@It@Kv@Kt@Mr@Kx@Ov@Ov@Qt@Ov@Qr@QNEh@Mx@Ut@Sv@Uv@Wt@Ur@WdA]hKuDjKwDzCiAff@gQdKsDhG{BnOuFrEaBp@Wx@[t@[p@Yh@Wn@Yr@a@r@_@p@a@r@a@t@e@l@a@v@k@r@i@n@g@p@m@n@i@n@k@n@o@j@k@f@i@v@y@l@s@j@q@j@u@h@q@l@w@f@q@r@cAxFgIvAqB~BeDnFoHhA}AfFiHvAoBj@u@j@u@|G_JX_@|AsBv@gAPUn@{@LS~b@wl@X_@rN}R~E}GbEwFp@aAf@s@j@{@r@a@n@m@hBsCf@w@b@s@d@q@Za@^e@\\]Z[XW\\[XSVQDCZS\\SZO\\OZMZK`@MRETGb@If@IFA`@Cl@Eh@CbBG^AbAEr@ChJ]vBIv@Ap@Cx@Cb@?z@C`BCf@Ah@CdAE`I_@~@EfBGtEU~Mm@bDOzCOz@Er@E`@EJAdD]VCv@InAI~BMp@MPCNATA", - "zawiercie|łazy ła": "{aasHivpuBVCrAGjGWHA|COdGYHAtJc@`HYjJc@~BIx@E^AH?n@Ar@?l@@t@Dn@Dp@Hj@Ht@JZFlAZf@Lj@Rd@PFBp@Xj@Vn@\\d@XTL\\Tf@\\l@d@j@d@j@f@^^N@XXVXVXlAtA`AhAfE~Ef@j@", - "łazy ła|łazy": "{p}rHk~ouBjHlIZ^lJvKxR`Uv`@pd@nAxApA|AlGtHHHjAvAx@|@|@dAp@t@lCvCVXN`@z@`AvEfFf@j@j@p@xEtFn@t@j@p@l@r@rA~An@r@tElFp@t@bF~F`BhB", - "łazy|łazy łc": "o}xrHwyjuBhBvBp@t@lD~DvCjDxBfCrCbDDD`@f@nFhG|FzGtDhEhFbGdJlKhArAn@t@l@v@`@f@b@l@b@n@d@r@`@p@b@v@^r@b@z@\\r@^~@Zt@\\`A\\`AX|@V~@X`AT~@VdAP|@TlAP`APjAN`ANlALdALjAH`AJpAF|@FfAFhAFpAh@xL|@fS\\xHFjA", - "łazy łc|dąbrowa górnicza ząbkowice": "e|urH}}duB^rIJbCNdDFdALtCrBbe@TxED|@?LHzAFxADdAB`@FpADn@Hb@Dl@B`@@HDp@Fh@Fv@Ht@D`@Db@Jn@LbAF`@F^Hj@Lv@Np@Lp@Nt@VfAT`AX`AV~@X~@\\~@Z|@Zx@\\v@^x@`@x@\\r@b@v@b@t@d@r@d@p@f@r@`@f@n@v@b@f@p@t@l@n@d@d@P^rGzGn@p@HH|TtUnAnA~GhHvCzCj@n@p@t@|AfBVXDF\\`@\\^h@j@p@r@b@d@^^ZZn@l@~@x@\\\\h@d@d@f@n@l@z@|@pEvEpL|Lf@h@j@n@j@p@d@j@b@l@d@r@`@l@f@z@JPT^b@|@\\t@b@~@\\z@^bA\\~@Z`AVx@ZjAV`AVhAT`AThAPbATpANfAPpALfALpAH`AHx@HRHnAHnAfCj`@?@LhBxAlUl@pJFdA\\dF`@pGb@vGDp@f@tHx@vMThDJvAHvANrBLxALbBNvAPdBJx@?FJt@Fd@DZJr@Lz@@DN`ATvAJf@Lv@VnAZ~A\\|AZpAXfAZnADNL^Nj@Rp@Vv@ZbAb@nA`@fAd@lAf@lAd@dAd@bAf@bAl@hAf@z@h@~@l@~@h@v@r@`Ap@|@n@v@x@`An@t@TV\\Zp@r@t@r@r@n@j@f@d@^f@`@d@^l@b@fMjJ|AhAfAx@rCtB^V^VdBfAlBnADB`@TVPVPr@f@r@f@bS|NjGrE~AhAjDhCn@d@VR`D~BjEbDnA~@RNTPJJVRTRnAlAd@b@RTf@d@`B~AnAlAb@b@@@", - "dąbrowa górnicza ząbkowice|dąbrowa górnicza": "wmkrH_~ptB^^P\\@@h@h@VVfAdAj@h@n@l@t@t@DDl@l@`@d@|AdBl@n@VZrB~BxA`BTXTXRV@BVZJLLP`@h@`@j@`@l@`@l@\\j@\\l@FHR^Zj@Xl@Zl@\\v@\\t@Xn@Vn@Zv@Xx@Zx@Xz@vJ`YdA|ChBlFxEbN|BxGxCtId@tADLb@jAjAjDdItUbB|EzD`Lp@nB~AtERn@Tn@Ph@Pj@Pn@Tp@Vx@Vz@X~@Pj@Tv@b@nAz@dCVt@vDvKd@vARh@Rj@Zz@Ph@Pb@Rf@Zv@Vl@Tn@l@zAb@jAf@xAzAlEr@rBNb@L\\tA|DdJ|Wd@tArBbGZz@vAdExAfEpAtDv@zBfCnHdK`ZTr@zAlEv@zBb@nAn@jBdAvC@D~@jCXz@DNPd@Nb@Nd@L`@J^FRFVFTHXHZDVHXF^FXFXF\\DZDXFZDZFb@Fd@Dd@Ff@Dd@Df@BZB^@ZBj@Bh@Bb@@^@b@@b@?Z@`@?\\?^?^?b@A^?`@A^A\\?ZA\\CVA\\A`@Ef@C`@Cd@Ef@Eb@E^E`@Gl@It@Kz@OnA", - "dąbrowa górnicza|będzin": "}aerH_lbtBMnAOnAi@tEoBfQOtAIt@m@~FWjCGl@AHGl@Gh@a@hD?F_AhIIv@OnACR?j@E^ATCRATCRAZCXAVATA`@A\\?ZA`@?`@?Z?^?\\@^@b@@v@BXBh@Bp@ZfG\\fGb@dIJnBFx@Dt@Dj@Dj@Df@Fp@xC~]LnAB`@BP^pEPrBh@jGBZThCXzB\\nCbAjIl@`FfA~IJ~@bAhIj@tENdABVFf@PjAN|@PfAPz@Nx@R|@Pt@Pr@Nl@BJZdAZdA^jA\\~@\\`A`@bA`@z@`@|@d@~@`@t@^r@b@p@d@r@h@t@`@h@f@n@f@j@l@n@h@j@l@f@l@h@j@d@n@d@n@b@j@\\l@^`@RB@XNZNb@Pn@Vl@Tl@Nl@Lj@Ln@Jn@Hj@F^Dt@Fr@Dd@@`@@v@@p@?\\?j@Af@C\\Cv@Gp@Gh@Gl@Kn@Mp@Oj@QPG\\M`@Or@[t@]\\Q^U`@W\\UXS^W`@YbAy@bA{@vBeB~@u@z@e@hBwA|AiA`BmAJGfAy@jA_A", - "będzin|sosnowiec główny": "obarHmlysB|DcDj@g@n@k@t@q@dBcBx@s@z@q@\\W`Ao@dB}@l@Wh@UjDeAvAa@FAnA]t@Q|@QvBSn@At@?nBH`BPbFh@`Gp@hALfMtAH@tEh@zBX`AJlAHfBRh@DzAPx@HhAL~DXz@Jx@JbALp@J~A`@zBt@rAp@rAv@`D~Br@p@z@~@j@r@d@v@\\j@Zn@b@`Ap@bBx@tBp@fB??b@t@N^pDhJjD|IrAfD~@bCfApCv@nBt@lBhAvCvHvRvBvF`AbCr@hB|@|B~@~B\\~@n@|A|@|BJVHT", - "sosnowiec główny|katowice zawodzie": "sqzqHwqusB`DjITd@n@bBnA~Ch@vA~@vB~@dBp@dAj@p@h@h@h@d@h@b@@@vAdAzB~A~AjAzCxB`@ZpC~BdHdFpLvInCpBjCzBbAfAv@|@RTlAzAz@jAh@x@pAxBjAfCbAfCh@zAdA~C|@nC\\lAd@tBZlBVhCv@zK\\hE\\jD\\rDV|DDv@HbAL~BXhEB`@`@bFt@bJn@`INtCLxCNxBTjDbDhf@l@bJh@vIXpGRpGJxFF|F?pDExCG|FI~DW`HMzEMfEAjBQ`Ca@rEM~AInAEnASrFMrDE|ACzA?~B", - "katowice zawodzie|katowice": "k|vqHwthsBB~B@rCCxCExBInFCzAGdCCdEA`CD|CBfAFpBNdDt@~Rf@nLt@dXDzABdAPxFJtE@r@@h@@rD@bC@j@@fD?b@?z@Av@IjCGlAA`@Cp@YrIMdEKpCU|GGjBAHAj@GdAGdAC\\I|@Eb@En@KpAG`AAP?bAPPNT", - "katowice|brynów": "ozvqHeuasBE`AYfICb@O~EGxAEjEAbA?lAAfB?bDBdAHbCDz@ZnEFx@H`APvALt@D^r@fFdBdMh@jD^bCNx@Nr@d@~B`@hBj@vBb@|Al@hBp@fBHPf@pA^z@nFdLjBxDxCdGLXr@xABDf@bArFfL^t@\\n@Vd@vHtO", - "włoszczowa północ|żelisławice": "s`kuHugvxBtIjD`NlF`E`B`HpC`C~@lBz@bBv@`FhCvAv@v@d@t@d@p@b@r@b@|CtBhAx@dDdChCrB|AjAbBpA`BpAdBtAdFzDnFfEhBxAzCdCpAdAzCdCfA|@rAfAzAlAlQtNpR|Ob@`@`@^d@f@b@d@b@h@^f@^f@`@l@^j@\\j@Zh@^p@Xj@Zn@Zr@Xn@Vp@Zz@Xv@Vx@Tv@V|@T|@Tz@R~@P~@TjAR`A|RzdAtBzKbq@jnD~AnI", - "grodzisk mazowiecki|żyrardów": "}x`}Hmzz|B\\xALh@\\zAXhABJNl@HX`@`BtB|HFRhAfEl@`C~@~DFXhAbFDLbBtHb@lBrB`JpAtFp@vCLf@`@bBLf@Jb@Rt@z@hDTx@Rx@d@nBr@zCn@hCRv@xA|FNl@Nj@\\zADNd@rBdApEXjA~@`EdFtTXnArK`e@jE`RZrAXpAXnAzCvM\\xAfZfqAFT`FfT^dBDNjZlqAbAjEdBtHlAjFZtAb@hBRz@zKxe@pS||@\\zAtCdMlDdOxEpStUlcA\\xAlChLjJba@bEpQ|AxGFTdBvGx@pDzCrM`CbK\\xApCxLhBzHhBzHrAzFtAdG@FJ^FTpMzj@dDnNvBhJJb@d@rBzApGbAjENr@HXbAnE~@|DfAtEnCrLFXlHh[lBhIt@bDrEzR^|AJf@", - "żyrardów|radziwiłłów mazowiecki": "usu|H{ky{BjB`IXjAzBrJpCtLn@pCLl@x@jDdApEDPlBhIv@fDd@rBd@pBhBzHlAhFjWhhAvB`JZxA|FtVjDbOxGnYvKfe@XpAZpAXpAZpAz@vD\\zApFdVlKzd@XpAZpAXlAVnAfBvH\\vATbANn@Np@Rx@XnAXpApA|Fp@tCXtAxEvSRz@H\\|B~JfDdOv@hDdBvH`AhErMrk@r@xCZxA|AzGn@vCtA`GbAnENp@BNFVDRVbAxHb]fD~NxD|Px@pDx@jDtAjG|@zDbAlEhAdFzAtGlApFbCpK\\xArDfPHZFVNr@dAtEpAxF^`BdDxNhDfOdIf^f@vBRz@r@|C\\xAzEbTn@nCxBtJd@pBtClMZnAzAxGd@tBd@pBz@tDhDfOvBlJBLd@rBnArFXnAXjAR~@T~@j@jClBnIj@hCPr@d@xBZrARz@FTh@bC~AdHjAzEPt@", - "radziwiłłów mazowiecki|skierniewice": "yhk|He~yzBFTlBfIZtAZpAXpALh@Nn@TdAZnAXnAjBlIZtAZpA`@hBlBnInIz^Lh@ZxAxEvSnCpLZvAlChLXrAZrAlBhIZrA@FXjAlAlFbAjENp@XnAXlApE`SNp@Nn@R|@DNZxAJb@hDdOrC`MjMvj@vM`l@@@Px@Nl@\\zAd@tBJd@~FfWtBbKxJvb@vCjMDTH\\tAdGPt@Px@Nn@Ln@Nt@Np@Lt@Lt@Lt@Lt@L|@Jp@Hr@Jv@Jx@@HFh@Fr@Ht@H~@Fp@Fv@Dp@B^TjDX~DT~CF~@F~@Dv@Fx@Dx@Bt@Dv@D~@Bz@Bv@@v@Bt@@v@@z@?r@@z@?|@Fh@?dAA~@AlEElOAfHAzEAv@ApHCjIIt^ApCIlZAzE?|A?r@?v@@t@?v@@v@@t@@t@@v@@v@Bt@@t@Bt@Bv@Bt@Dt@Bv@Dt@Dt@Dv@Fr@Fr@Fp@Fr@Fr@Hp@Fp@Jr@Hp@Jp@Hn@Jp@F^DNJp@Ln@Lp@Ll@Hf@dAjF|@jE~@|ErAxGh@fCtA`HfCjMhClMVpAbDjPdC`MJh@Jd@Jh@Jh@Jj@Hd@Hd@Hd@Hh@Fj@Hh@Fl@Hj@Fl@Ff@RbBFd@F^D^Fb@Jh@Hh@Hh@Jh@Jf@FXBp@TfAtA|GFZNr@lAhGl@vC`@tBJb@n@dD", - "skierniewice|płyćwia": "kqd|H}t}yBrAxG@B`@rBPv@`@rBNv@DP^pBHb@Np@Rl@\\`BJd@@DJl@Ln@Nl@Ll@Lj@Nl@H\\JZH\\JZJZL^L^L^L\\N\\LZP\\N^P\\P\\P\\P\\NZBDT^R\\T^V^T^V\\V\\V\\NRRTDFZ^VVTVVVXVPPFFXVXTXTZTXTZRXPZRd@VPJXLXNZLZLZL\\L^L^J^LNDvK`DRRzAb@dAZrF~A~GpBpn@tQp@Rp@R^L^L^L^L\\L\\N\\L\\PZNNHNHZPTNb@V\\TZTZTZVRPFDZXZXRTDBXZZZDDRTX\\V\\X\\V\\V^@BTZV`@T^FJNTHPJPR\\@BTb@Tb@Rd@Td@Rd@Rd@Rd@Nb@N`@@@Nb@JZBHNd@Nd@Nd@Ld@Nd@Nj@Nj@Nj@v@vCrMxg@VhAXfANl@Nn@H`@BLLj@DTFVJl@Jl@Jl@Jl@Jn@Jl@Hn@Hn@Hl@Fp@Hp@Fn@Fp@Fn@Dl@Dn@Dl@Dn@FhA@\\Bj@Bl@Bx@Bx@@h@@t@@r@@t@?t@@r@?b@?NAt@?t@AT?\\At@Ct@?JAf@Ct@Cr@Cr@Et@Er@Er@Et@Gt@Gt@Ej@Ef@MrAIfByBjVyBpVMvAu@hIs@bIg@rFGh@{AtPgAvLATCVsCb[wA`PwB|UMvAy@bJMpAKhAuBxUWpCw@xIKfAE`@Gp@YfD[lD]lD[lD_@dEMtAKhAaAvKkD|_@ARs@|Hs@`Is@|HIbASvBMrAMtAGr@Er@Gp@Et@Gp@Er@Cp@En@AXAVAp@Cp@Ap@Ap@Ap@Ar@?p@?p@?p@?p@@p@@r@@p@@p@Bp@@b@Bb@Bd@@f@Dp@Dn@Dp@Fn@Dp@@LD`@Fp@Hn@Fn@Hh@Fh@@LFZHj@Hh@Hj@Jh@Jj@Hd@Ll@Lj@Lj@Nl@Lh@FVFRNj@HXFNNh@Ph@Nb@JZFPPf@Rf@Pf@Rd@DHLZRd@Tb@Td@HNHRXf@HNNVNXRZXb@V`@V^V^X\\V\\X\\XZXZXXXZXXXVZVZVXVZTZR\\TZR^TXNVN^P^P\\Nn@Xn@Xl@TnAf@xIlD|D~Ap@b@b]bNjKdE`@N`@P`@P^N^P\\P\\PZPXNVP\\TZRZTXVVR\\XZVXXXXVXXZXZVZX\\V\\V\\T\\V\\Vb@RZR\\JRNVb@v@b@z@h@bALVVThAxBTb@|@dB`E`ItAnCf@`Af@`ATb@|A|C|@fBHNrB`E", - "płyćwia|rogów": "w_{{HevayB~A|Cd@~@b@|@dBfDdBhDzElJl@lAbNdX`DlGl@fA`EdIzBlETd@`CvEtA~CXj@`@v@`@v@Tf@Td@R`@FNLVTd@Pb@Vl@Pb@N`@Tj@Pj@Nb@Ph@Pj@Nh@Nd@Ld@Nl@Jd@Ld@Jd@Jf@Jf@Jh@Jj@Jl@Jl@BTDVJn@Hr@Jr@Ht@Hr@Fv@D\\BVDp@Fv@Dt@Ft@Bt@Dt@Bt@Bx@@r@@x@@v@@r@?p@?x@?t@?t@Ax@Av@Cz@CxACxAOlI_@tQk@j[@vAe@xU]pQMnHEnBCjAG`DI~DG|CA^IvDOnIChAAfAAl@Al@?l@?l@?n@?n@?j@?H@p@@n@@d@?N@t@Br@Bt@Dr@Br@Dh@Bf@BXFx@Ft@Ft@Hr@Fp@Jv@Hp@Jr@Jr@Jr@BHHf@Lp@Lp@Jj@Lj@@DJb@Lh@Lb@H\\HZNf@Lf@Nd@Nf@JXDJNd@Pd@Pd@Pd@Rd@LZDFPb@Td@Td@Vd@Td@HLLTT`@Xb@V`@V^V^X`@V\\Z^X\\ZZRVTTTRRT\\XFFRP\\XZVZT\\TZR\\RZR^R\\P\\PNDNH^N\\L^L^L\\J`@H`@J\\FLBb@HF@VDHBRB|@X|GbAtARt@J~^pFhJrAbP`C|MnBtHhAt@JdVlDnG~@vARt[vEhJrAnFv@t@JdJrAjBXxAR?@pDf@RD^DNBl`@xFdJrA~B\\jIlAr@Jv@L`@F|JvAdJrAj^hFv@Ln@JF@l@Hp@Lp@L^JB?ZH^J\\JB?^L^NPFLF`@N\\P^P^P^RTNVNVNVPZV^VRNFFf@`@XVVVTTZZXX^`@PTPTRVTVRXX`@X^JPd@p@d@r@xBjDdA`BzK~Pl@n@pSv[t@jArEhHXd@vCpExA|BpArBrAtBjAhBfGpJh@x@T\\RZd@r@lAnBHLb@p@hAfBrBbDb@n@pDxFbBjCNTnBzC^l@", - "rogów|koluszki": "mmh{HoalxBbNbTpHhLbCxDfFbIb@r@~LpRtBbD\\j@f@t@d@r@`@n@nCfEb@n@`@n@j@|@j@z@zIdNle@xt@h@x@d@t@n@bAdF~H~C~ErG`KvJhOj@|@pG~JvHrLh@x@h@v@Xb@Zd@Zb@Zb@\\b@Z`@\\b@\\`@\\`@\\^\\^^^ZZZZZXXXPNNLb@^ZVDB^Z`@X^X`@VVRFBb@X`@Vb@Vr@b@t@`@hDlB`@VlHbEr@b@dKzFjIxEbE~BrI|ERJ|@h@nIzElDnBr@`@pMpHpIzEdE`Cd@VFDx@b@p@`@f`@tTrNdIhOrIr@`@r@`@VNDBd@Vl@\\ZPXPf@VVNRLb@ThAp@jA~@vAx@b@V`CtA|Az@~A|@pF~Ct@`@jGnDtAt@RLjEdChE`C`B~@bE`Ch@Xr@b@bB~@RLnAr@vBnARJTLf@X\\P", - "koluszki|rokiciny": "{ryzHe_~wB\\P\\PZNZNPHVJr@Zr@Xh@R~An@VJ`A`@zGlCXJXJf@Pf@Nd@Lv@Tl@Nh@Nd@LhAZ`@JTHVHVHVHTJd@Pb@PnDvA`@PhAb@`Bn@f@RlCfAfU`J`@P^L\\Nh@Pf@Rh@R|@Z|@Zl@Tf@Rd@Pt@Xt@X|@^|@\\z@\\z@^l@Xl@Vl@Vh@Vl@Vj@TZNn@VjCdAhDtArAZr@Xf@Rn@Vn@Xh@Rf@Td@P|B|@`JpDv_@jOp@VdLrE~@^zCjApPzG`c@|Prn@rVFBrAh@dBr@ji@fTzDzAlDvAdM`FzH|CzClAnAd@jAf@dG~BlEfBtAj@pAf@??vPzGf_@`O`C~@", - "rokiciny|baby": "_rjzH}pvwBPHpGfCbFlBFBhJrDlXnKnHrChk@tTfE`BxEhBjGdChBp@~EpBn@Zj@Zt@`@|@j@v@f@v@j@v@j@x@n@v@p@r@p@b@`@n@p@`@^JLlm@dp@nW~XzA~AvFfGtJhKd[x\\pAvApAvArLjMnc@pe@lI~IxOvPd@h@r@r@l@l@n@n@n@j@r@l@r@j@z@p@t@h@|@l@n@b@|@j@v@b@v@b@f@Vn@Zh@Tl@VbC~@vBx@ff@~QtIdD\\NvAf@|Bv@|@Z~@\\~DzAhDpAfE`Bz@^n@Vr@ZfEfBNH|KfEtAj@p@Vt@V`@Nd@P\\Jb@Lh@Nn@Nj@Jr@Jl@Ft@Fl@Dp@@n@@r@Al@Cr@E|@G`@Gd@If@Kp@Mv@Up@Sj@Sr@Wp@YjJ}D`k@{UjH{CnYyLf@Sl@Sp@Uj@Sr@Qp@Ol@Mr@Mf@EXF`@El@Ct@Cp@Ap@@l@@v@DZB^D^Dn@Jr@Ln@Ln@Pp@Rp@Tl@Tp@VbE|A`E~Axu@|Y|D|AbE~AXLvHvCrp@lW", - "baby|piotrków trybunalski": "y`qyHm`jwBZLbC`A`@NpEfBhDpAt@XnC`AnAd@z@Zx@ZfBp@vLvEj@Rl@VxqAlg@xk@|TjBr@jAd@dFnBf@FrKdElAd@bI|ChCbAXLRFn@V\\Jf@Pv@Tx@R`ATx@P|@Nh@HPBl@Hj@Fh@D|CXfa@fDfMdAtBR~d@zD|v@rGzv@tGzNlAN@`MbA`DXlSdBdFb@bBLdBNnd@dEzCXtIv@rLfAzCXjDZjBP|Gn@`E^|AND?`Jx@tHr@pRfBxBRrGl@|ANzMlAf]~CN@tIv@pOvA", - "piotrków trybunalski towarowy|rozprza": "owyxH{}cwBlW~Bd@DhK`A|@Hl@FjK`AtEb@VBxIv@t@HtALlAJz@HzBRnE`@xBPdAJlCV|o@`GzKbAP@hCV^BfCTtFh@zJ~@pEb@L@pE`@|v@dHtTpBrEb@fCTjD\\tDZzBRnALjCVp@FlCTvBRpW`CbVvBzNpAxD\\xEb@hEb@~SlBlGl@hRdBb[rCzv@dH|v@dHtCXnc@|DbBPrBPzAP\\Dv@Ln@J^HXDx@Px@T|@Tx@Vx@Vx@Xx@\\t@Z~@b@r@\\z@d@d@Xl@\\p@`@p@d@nI|FZT|B`BzIhGxB|A~AfAbBlAbEtCbJpG`D|BlFtD^VNLbDzBdBjAfAr@`@X", - "warszawa włochy|warszawa gołąbki": "ess}Hwht~BZrAXlABFJd@Pt@Pp@Np@Jb@Md@El@FVFXHb@DRJl@F^H^FZFVF\\J`@H`@J\\H\\Nl@Nh@pAvEZjAZlA^tAr@~C^zAb@pBj@hC@HrAbG`AlEPr@TjAZxANl@Lp@DXFZHd@D\\D\\Dd@D^Db@B^@`@Bb@@^@d@?d@@d@Ab@?ZAXA^A`@A`@C\\C`@Cd@E\\C`@Gf@E`@G^G^Gb@Id@GZI`@I\\CJUv@Of@Mt@mMxa@sAdEk@jBiChIu@bC_@lAyMvb@Qj@GPIZIZKZI^I^I^Kd@Kd@Id@CPEXEXG`@EZGh@It@E`@C`@C^Eb@A`@C`@Cf@Ad@Aj@Ah@?f@?n@?h@@f@@h@@f@@h@Bl@Bh@Bf@Dh@Dd@Df@Ff@Dd@Fd@Hj@?b@Lv@xAnJj@vDRtATvAFd@Hp@Hp@Dj@Fl@Fp@Fp@HrADp@Dp@j@`J@Zb@~G^rG", - "warszawa gołąbki|bednary": "cts}Hmzg~BNzBR`DTdEPtCNdCB`@Ah@@HDt@Dz@Bv@Dv@Bx@Bv@@L@h@@v@@v@@v@@v@?v@?x@?v@?rAAtA@dGg@pj@?r@Ap@IdJMrNa@rh@AHQzTW`[?XGbHGdI?LIlIA~AA~AA~@?L?r@CnCAhCAt@Av@?|@?t@?r@AnA?xG?^?t@?tAAzAAzAChIAvBClGAvAAxAChDCxBEdHGbHAz@AdAAnAAnACrA?VGxEIpGCfACzACzAMjIEtB?RE`CAr@C`ACxAAzAC`BC~AAzACxAAvAEbFKpMArBEjFSvTAnCKvLEpDYd_@CnDAx@Ax@?lAA|@?~@?~@?V@b@?z@@~@@bAB`ABt@B|@Bz@D|@Dr@Bj@Bj@Dv@RfD`@`Gn@tJpAlR|@fN`@dGf@vHj@tIhArPhDpg@`Cd^vAfThBlXPpCXhCd@xDn@hEvBxMp@jEp@hEThBPjBH|@hAjPv@vLnBnZd@tHrBf[t@`LdA`PJnBHfBFrBBlBBvA?zA?dBCzACvAEnBa@nIe@~JI`BG|ACbBCvCA~A@|J@z_@FfF@vD@tABnADpAFdAF`ALpAJ`APnATrA`@tBf@nCvGdXvCvLp@lCjKtb@nNjk@vJx`@DNrAlF^|AxBxId@rBb@lB`@tBRhAPbAHf@PrANpANlALxAJnAJnALdCDfADlABhABdAFfMFhMDpH?LFlMNh^@`AF~KHjR@`ADxJFvLv@jfB@rC@dAXbi@DtJFhJ@zCB|EDbH?NDhJ?RX~j@@bB?`B?xAA~A?jAC~AAbAE|AEpAEnAGrAGzAGfAMbCUnEuCth@aCnc@_@dHm@|Kw@nNiA`Tg@fJ{A|XmBx]AVc@rH]~GqB~^eBn[aAvQeC~c@gBn\\qBz^wAxWmObsCo@nLuFldAqObuCyDvs@a@|JI`BG`AgAlSiFpaA]dGm@~Ko@nLItAaEbv@iAnSg@lJAHgErw@a@xHk@fKaArQmDjp@mAbUyDns@[lG]lGKdBI~AIbBE`AEdAK~DAf@Cd@EjBClBQvHaBjx@YvN?DyCdzAm@zYkAbl@KnEEtBC`AEfAGfBAd@Ev@M`CMhCsCrb@sDpj@wAhTc@lGmBnYiCh`@mGd`AeBnWQjCEr@QdCW|Do@pJKzAIzAGxAG~AAnAArA@nABrADxAH~AJxANxANdAPhALv@Px@Ln@Pp@Rt@Tt@ZfAl@rB`@rAh@dB`AdDrAbE`ChHtAhEdAlDnCbJfCxItAlFvAbFBHrAtEHZZ`A^pA`@pAx@nCZbA\\`A^`A^`Az@lB^t@`@r@b@z@`@n@V`@T\\f@t@p@z@r@x@t@x@r@r@tHfHjCdCjBdB~@x@DD`Az@rAbAj@\\j@^f@Vt@\\n@Vj@T^L^L^JbBt@DBtQxFh@P`@N^L^Lb@PZLXLJFZNXNZNXPVPZPDDXP^V\\V\\Vl@b@zCxBFD`D~BhBpAr@f@HFfI`GhCjBfEzCbQfMz@l@`LfIVPDD\\V\\VZVXTZVXXXVXXXZXZPRPRPRRVRXTXT\\V^V`@V`@T^T`@`@t@b@t@zCtFpCdFdG|KhEzHbGzKlAzB`@r@pCfFrIvOn@hArAdCh@`Ah@`Al@hAdB|CTRnC`FdB`D^p@hL|SNVLTdDdGf@|@f@~@fB`D`HfMP\\T`@xNzWDFb@v@`@t@hArBtClFBDVd@Zj@pEjIfFjJ`ClErAbCJNZl@DHb@t@Zj@Zj@Xf@JPNTXd@Xd@Xb@FHPVPXFFT\\NRFFNRNRRVRTTXTVVX@@ZZXZZZZXZXLLNLZX\\XHFTR\\TZVh@`@bAv@ZT\\VVPnDlCpEfDfIdGHFzElDxFfEzJnHLJd@\\`D`C`D~BnBxAl@p@t@h@l@d@n@d@LJNLZVXV\\XXXZV\\\\XXVXZ\\X\\VZV\\BBVZTZV^V^V`@LPFJNVPXNXT`@Vb@Tb@@DR^Td@Td@`@z@\\r@~@pBt@`BtFtLlEjJpArCP^f@fAbE|ItChGnFlLfA|B?@Xj@|B`FlAjCf@dAb@~@lC|FjFdLxDjI`@x@Tf@Tf@Pb@LVLXL\\Tf@Th@Rh@Rj@JVHRJZVv@Ph@Ph@Pj@DLH^Pj@Pl@XhAZhAzA`G\\tANh@rDzNfDrMNn@pEhQbF`Sj@zBVbAn@hClBlHVfAzHrZfAdEJb@\\rAhCbK`Ndi@XhAXjAPp@Np@Pr@Px@Ln@Ll@TjATnAdIhd@RhA|@bFf@pCTpATpAbCfNHh@Nz@b@~BjBtKzBjMjElVb@bCb@dC@DfAfGHf@DPnBxKVxAFXl@lD`AfF`AtF", - "bednary|łowicz główny": "{m_}HyllyBx@tELt@Nt@RjATlA`Ltn@XbBz@tEvA|H~@hFdAdGrC~Op@tDpFjZ|Fb\\RfAX|AnAbHhEzUvChP\\hBRjARhAJn@Jn@Lv@Hj@@BHp@Jr@Hr@Hn@Fp@BTDXBZBVBTBZDf@Dr@Fx@Bf@Bb@Bd@Bd@Bj@Bt@Bp@B~@@f@@j@@p@@p@?t@@r@BdBDvE@hB?b@BbB@nA@nA@fAB|ABlAF~D@R@`ABxABvA@xADvD@dAFnIP~QDdF?h@BzB@z@@p@@p@@v@@v@Bv@Bn@Br@Bp@Dl@Dl@Bj@Dj@Dh@Fj@Dh@Fh@Fp@JlALjAhBjRVnC@FH|@JdAFd@Dd@Dl@Dj@Dl@Dh@Bh@Bf@Bj@Bj@Bh@@h@@h@@h@@h@?p@?r@?Z?h@?h@Aj@?\\Cn@An@Ch@Ah@Cj@CZA\\C^Cb@Ef@Eh@Eh@Eh@Gh@Gd@E^CVG`@E^Gb@Ib@Ih@Ib@I`@Kl@Kf@Kb@Kd@I^I\\Qn@K`@M^M`@Qj@Qh@Sh@Qd@GPKTSf@Uj@Wh@OXOXMVS\\QZWb@QXQXU^{@tAKPiBvCGJy@nA]j@]j@W^GJ]j@cCzDW^}@vAiAfBaBlCc[zf@U`@W^oApB_CxDk@~@g@t@e@t@U^}@vAcA~AcA~A}@xA", - "łowicz główny|jackowice": "_t_}HavxxBCDcA~AcA~Aw@nAKNYd@g@t@EHOR[d@]d@g@t@k@r@ORSTQTY\\q@t@[^[\\QPQPQPSRSR_@^URURSPYV{@p@YTYRYRED]T[TUNm@`@g@X_@T_@R[PUJoDhBwA`Aa@Ra@RiB|@]POHs@^m@Zk@\\YNWNWPQJYP[RYTYRYTUPWTYVWTSRSRSRONUXWVWZ]`@]b@MPWZU\\Y`@[d@[d@MRS\\Wb@Wb@U`@S`@S`@KRYl@Wj@Q^Sf@Uh@M\\M\\Sl@O`@O`@Od@GPGROd@Qh@W|@Y|@[bAELSp@sLz`@sB|GuBbHcHrUK\\{DnM_ExMAFcAfDgEnNiCtI{@rCcCfIqDvL_@lAuF`Ru@dCgH|UeElNcDpKeB~FsAlEoAhEgCnIm@tBM^Qn@Qj@Ql@Mh@Sn@Op@GPI^Ol@Ol@Ml@Op@Op@Mp@Mn@Mp@CPG^Mp@CNG`@Kt@Kp@Kt@Ir@G`@APIt@In@Gp@K|@MnAKnAaBrRI`Ak@zGoC|[eB|Ro@`Iq@dISnAyAzPwHz}@WzCY|Co@xHmBfUkE`h@eBpSs@fIq@fI_@bEQ`BQ`Bc@rDe@rDoA`JqAbJqAdJ}Hpj@}CxTmAzIoAzIcFh^", - "jackowice|stara wieś": "qgi}Hsd|wBcFf^cBvLa@rCWfBuDbXuAxJM`AeApHmAtImAvI{CjTy@`GqDlW{AzKm@jEo@lEi@dD]xBYvAYxAu@`Di@vBm@xB[`A[bAy@`CwArDm@vAm@xAcNd\\qFpMqFrMqOz^iG~NcC~FcA~BaA~B_B~DoAfD_@jAa@jAu@fCs@pCq@pCeBlIGVuHr\\oBrIwH|\\aFvTqBxIw@lDw@jDmAnFuFjV_DlNaDnNkBdIgDfOgLpg@aL~f@yG~YmMhk@cBnHcCtKqBbJuBfJuBtJw@~Ds@~DmExViDnRyDrT{DvT{DnTgOzz@uEnWkCbOaJvg@kFfZWtAk@~Ca@~Bc@`Ce@`Ca@hCa@dCSrASvAa@fDYlC[rDYvDWtDYvDgA|OEd@u@pKe@tG_@jFWpDUbDeA`OcAlNiArOEl@YbEOxBMvBSdEGtAE|AGlCAfAAnAExCAvCAvKGzKIfTAxCi@puAKn[Wfs@ErISrh@U`PG`BI`BKfBKbB{AjRqGby@qCx]cL`xAeBhT_IpbAyIbhAq@tIW~CcBfT_IvbAsBlWoHn_AgArNyAlRUdEOdEI`FCtE@~CH|EZdIZrFhAtSxA|Uf@bIp@lLTrDbAlPt@vL|Cvg@Fz@rB|\\", - "stara wieś|kutno": "kqw}HksouB@JfGtbAh@xIv@zLzHzoADt@Ft@VrEt@lLHtAHtADr@Cb@HtABh@@f@Bf@Bp@Dx@Bx@@z@Bz@@|@@r@@x@?z@@x@?|@?v@Av@?z@Ax@Ax@AvACvACvACtACpAwAf|@CxAIxEOtIAr@GbDE|B?TCh@Af@ErAAr@A@An@ALC`@Cp@Er@Ep@El@El@En@AJ@f@Gp@Ir@Ip@Ir@It@Il@", - "kutno|krzewie": "s_w}HezcuBKr@Kr@?BIf@Mr@CRG^Kp@Kn@Ml@Kn@Kn@Ml@QbAKf@Q`Ae@dCGTg@dC_@fBOl@CNKb@Ml@Sv@Or@GVIXWfAU|@Sz@K`@IZENcBzGkAxEADi@xBwAxFo@hCk@|BIXEP[rA[lA}BfJ{AhGSt@WfAWbAIXMh@S`AOn@Ol@Ml@EPEVMl@Ml@Ml@Mn@Kn@Kd@Kj@Kl@Id@GXO~@a@`CyAxICNcDvRo@vDET_@vBaB~JMn@kB|Kq@bEoAtHGVc@pCg@vC_@xBiA|GaFbZo@vDgAvGEVeAfGKl@sAfI}@lFCLSfAaAbGmAdH}AhJo@xDSnASlACNG\\Kp@Kn@Kp@Ip@In@Ij@Ij@Ix@Ip@Gp@Gt@Gl@Et@Gt@AJCj@Ep@Ep@Cn@Cr@Cr@Cp@Cp@A|@Ap@At@Ar@?n@Av@@t@?j@?r@@p@?h@@t@Bp@@l@Bt@Bp@Br@Bt@Dr@Dr@Dp@@NBb@Dj@Bb@BRFt@Fl@Fr@Ht@Hv@Fn@Hl@BZJr@BXHp@D\\t@tGv@vGJbBt@tGl@fFFn@D`@NnAHv@Ht@Fr@BPB\\Hx@Fx@Fn@Fx@@XB`@Dn@Dz@Dx@Dr@Bx@Bz@Bp@Bx@@x@@v@Bv@@x@@xABvAn@~t@BhBDpFjBrqBDtFBfBZl^PjQb@ne@@v@BpC@hA@fAFdHTlU@dBdAxiAFxGPjQVdXHfBf@ni@VfYJbKJ`KJnK@vA@|AB~A@z@Bx@BfA@|@B~@B~@Bl@Bn@", - "koluszki|gałkówek": "}ryzHw~}wB\\P\\PZNZNVLx@\\`@N~D~Af@RNFjBt@lFvBt@XzAl@t@Zt@Z~BdAb@b@VJHD`@Pd@Rb@RXNXNXPRLRLRNVRPLNL\\\\\\\\RRRTRVPTRXPVRVPXNXR^R^JPNZN\\NZN^N`@JXJZL^L^J^L`@J`@J^Hb@J`@H`@Hb@Hb@F`@Hb@Fd@Fb@Db@Fb@H|@N~AdArL|A~Pp@rHLzAJ`ABTLtALxAJfALrALrApCb[Fn@Dj@f@tFj@nGDh@BRD\\@LxFpo@LvALtALtALrALrAJrALtALrALrAJtANtAxAnPjD~_@NbBD`@rDxa@JhALrATbDPtCJ|CFvCBrC?jAAlAClCCfAEfAEfAGfAGjAIfAIfAKfAKhAMfAS~AU~ABN}@rF{BzM}@lF_@vB]xBa@tC]vCWrCKpAIbAGtAGrAEpAEnACtAAlAAf@?l@?tA@tA@xABzAHlD?tB", - "gałkówek|łódź andrzejów": "cqvzHqbnwBBhAl@rT`@xNNdGBxABlABxA@pAJh_@@dC?zAD|JBdK?|ABtIBlHFdRf@ljB@fDAbDE|CGtCMrCQxCUjCWjC]jCa@rCyAnJ@\\[pBQnA]vBmA~HQjAOjAQlAKbAMhAKdAKpAIfAGnAGfAEbAEnACnACjAApA?nA?tA?lA@nDFfVBnI@pD@tD@pD@rDJd`@@tDDfO?dABdHDvODjM@tEElA@nF@vA?nAArAAfAAlAChAGhBC`AEr@GhAIhAIbAIhAMfAK`AMfAAh@U`Ba@fCUfASbAi@fCo@nCmIz^_FjTOj@c@lBc@pBaA~Dw@vCgAtDo@pBw@zBcD`JaNp_@", - "łódź andrzejów|łódź widzew": "iuxzH_lvvB}@bCgCdHGRyJnX}@bCQf@oIrUo@dB_DvImE|L}KzZcAhCaAdCsE`KiEpJgBbE}@|B]~@[~@[bA[bAYbAWdAm@lCShASbAe@tCa@tCoDtXkDzW_ErZoFva@cBrMc@`DIv@WtBQ|AMrAGn@WfCYlDwAlQEp@y@`Kg@rGGn@QzBuAzQs@rIo@nIyA~Q_B`SYlDs@zIg@hG", - "łódź widzew|łódź fabryczna": "me}zHgwfvBm@tHGn@qAlPGn@WjDa@tFK~AKxBGnAErAIxBSjHCtAYhKMnBSxH[jLKvDKxDIvCGtBG~BMlEQ|ECz@Cx@InBUxFIzBExAGnBEbAO`GGnCGnCIjE?RErCEhBGhD_@xNCz@yDvvAI~BS`GGdE_Ar]C|@GnAG`AWjDOjDs@dJCZCZEj@Ep@C`@Cd@Ad@Af@Cj@Ah@Aj@I`EG|C", - "mikołajów|żakowice południowe": "ajrzH}rexBWl@Wl@k@~AsAjEiAvEaAvEy@vFo@|FcB~P}JtbA{AfOw@zF}@xFgB~IkBbIeEbOcJf\\sKd`@gF`RmFlR}AtFwAbFK^yAnFK^Uv@wQbp@Ux@Uz@Md@GTS|@Uz@S|@UbAS`ASbAQv@Ov@O|@Q~@O~@O~@O~@M~@O`Ak@dEMx@y@bG", - "żakowice południowe|gałkówek": "}jvzHgkxwBo@rEIpAQpAQpAM`AK`AE^Iv@Iv@Gt@Gx@Gx@Ex@Gv@Cv@Ev@C|@Ez@Az@Cr@?DAx@Av@?|@?z@?z@?x@@x@?v@@p@B~@B~@Bx@Dx@Bx@Dx@Fx@Dx@Ad@BTFx@Fv@LtALtAxDbc@l@pGb@bF^hE`@fEfB~RXbDR`DPbDHfDF`D?fDGdDG~BGjBKzAIzAMtAMvAOlAMdAS~ASvACHaHva@QlAIdAMz@M`AOjAMlAKfAK|AIbAI|AGbBElAEnAAlAAjA?L?|@?dA?lABhAFrCD~AUlA?tB", - "łódź widzew|łódź marysin": "ag}zHwsfvBSjCQ`BGh@Gf@SpAKf@Kd@WhAOf@Ob@Ob@O`@_@~@a@z@{@jBuBlEINwChGcAtB{HjPgClFuAtCuAvCm@nA{GnNm@lAq@vAKR}@jBa@z@m@rA_AvBa@dAWp@y@hCW~@Ol@gBfH{AhGkAzEaAzDaA`E_@xAi@vBY~@W|@a@hAQf@Wr@]z@[r@[p@a@x@Q\\c@v@W`@S^QVa@l@o@~@e@j@m@r@i@l@i@f@k@f@g@b@i@b@a@Xk@^c@Ve@Xk@Xm@Vk@Tw@XuA^_@Ha@Fa@Hu@Js@Fq@Do@@]@_A?u@CWA]A}FSu@Ey@Ak@?m@?q@Bs@Fu@Fe@Fg@Hg@Jc@Jc@JWH_@LSFc@PIBSJWJKDQJOFOHQJQJMFMHa@Ve@Z}LzIeAv@]Vu@j@[XgAbAs@t@a@d@u@~@gA|A_AzA[l@]n@Yh@Wl@]t@MZO\\O`@Qb@[|@Od@Qf@W|@Y`A_@|AyBbJ{@rDuC~LmAhF", - "łódź marysin|zgierz": "}ed{Hk{|uBqJja@kA|EMj@Mh@_@tAUv@q@tB]~@Ob@]x@a@~@y@dB]n@w@vAQXa@t@i@~@k@~@_@l@c@l@W\\Y\\c@h@c@d@mEvEMLuCzCgAjAi@h@c@f@g@l@e@j@]b@]d@Y`@_@l@Yd@[f@a@v@_@t@i@fAUj@a@`AUl@Up@Wr@[dASr@ELOj@U|@c@nBe@pByBlKa@fBYlAYjA[hA[fAY|@Wr@Up@q@~A[v@]t@Ub@Wd@Wd@Wb@]l@_@j@SXc@n@g@p@g@j@UXk@j@{@z@cBxAs@l@kB~A_Av@sLbK}E`EuE~Du@p@[X]^e@d@]^_@d@[`@[`@k@x@MRQX_@p@[f@A@Wf@k@jAKTQ\\eA`Cm@rAaBzDcA~BCFaCtFe@dA}@tBc@~@kE`KmBnEc@dAcA~By@jBy@jBO^m@vAc@bAwAdDi@jAo@xAq@~Ae@dAUh@o@vAWn@qFdMsEpKcGfNCFq@~ACDaAzBoBrE_AxBi@hA[p@[l@]j@Yd@]f@]b@]`@YZa@`@_@Z_@Z[T]V_@RYNWN[L]L_@L[JWFk@L_@Dg@F]BU@c@@}@?k@C[CcAOWE[IWKUIYKYOSKeAq@KG{@k@w@s@", - "zgierz|zgierz północ": "e{l{HcepuBm@i@c@c@wAmAcDyCeDyCoEcEoBgBkD_Ds@o@w@q@yAoA_Ay@_Ay@][u@q@_A{@SQy@w@a@_@g@e@c@_@YY][cA}@][]Ya@Wa@UOGSIa@Oe@Me@Ma@I_@Ga@Ec@Ce@Cg@AU@W?k@DWBWBq@Je@Jg@Lg@Pe@PYLYNs@b@q@d@q@f@qDnCwAfAEDqAdAWVYVe@d@g@h@e@j@e@l@e@n@c@p@a@l@SZOZOXQX_@v@Yn@[n@o@zAQ`@}CnHgC`GmHbQ[t@O`@IRUn@Wv@Up@Ut@Ut@St@S|@Op@Qt@Ov@Q|@Ox@Kp@OdAMhAMbAKbAI~@I~@IdAEbAG`AIdC{@`Y_@~LIvCAr@Cv@Ar@Ax@?x@?pBBbCBv@Bv@J~Cb@rLBp@\\bJDdABbABbA@fA@hA?~@?p@Aj@?j@C~@C`ACdACz@E~@G`AQvCAF]|EUvC{@lLq@nJ", - "zgierz północ|zgierz kontrewers": "auq{Hk{huBKjAInAOlBQbCkDte@gAbOUxCwB|YYjEWnEEnAC~@Av@?bA?hADbB@p@FfAHpADb@Fj@P~ARxAd@jCtAtHd@hCPx@R`AVjAPr@ZjARt@Pj@Xx@`@pAhCzHdBhFlGhRdA~C@BTr@Xz@Vz@Tx@Pr@Rx@Pr@Pv@Nt@Lt@Lr@Jn@TdBL~@J|@Fn@Ht@P`CF|@DbAD~@D`ABz@@h@@hABlA?jA", - "zgierz kontrewers|chociszew": "{yp{H_l`uB@|E@zJ?fAAz@AdAC~@C|@E`ACd@C`@Ex@OjCM~BIlAI`AGx@KbAK~@K`AM~@Mz@Mx@O~@kAnH}@lFKh@Mh@Mn@Op@Ol@Qp@g@bBi@bBsA`Eg@xA[~@KZQd@M^e@lA_@~@CJc@~@]t@[n@c@v@Yh@c@p@]h@_@j@a@h@s@~@o@r@k@j@k@h@i@d@i@b@k@b@m@^m@^m@\\wBdA{Av@{Q`J{GfDqEzB{BhA}BfAuBdAe@Te@RYLq@TeAXcATaAPkH`AqEj@yAR{Df@kC^oGx@WDaDb@mANmBVo@Hm@H_BZi@Li@Nm@Rk@RWJWLo@ZwAv@k@^i@^w@l@SP[X[Z[ZYZe@f@c@h@a@h@c@j@c@p@c@p@OTQZa@t@o@lAWl@Wj@eAjCKXKZYv@s@lBeB|E_BrEo@lBm@pBc@bBa@dB]hB[fBW~A?@]pCYtCk@hH}@~K}@~KyApQk@hHk@fH]jEADOhBOdBMpAOnAUbBW`BUnAUnA_@`B_@zAOl@Ql@c@xAi@xAi@vA]z@_@x@aAnBk@dAk@~@o@~@o@|@q@x@q@v@q@p@q@n@s@l@s@j@_Al@_@VKDULaAd@cAb@i@Rk@RwA\\mDv@kCl@ua@`JiAT_TvEq@NmCj@mK~BiAT{Dz@{Bf@", - "chociszew|ozorków": "un|{HgbrtBg@JwAXw@Ny@Jo@Fe@Dc@BU@o@@o@@o@A_DQ_BKwBM}CYkFi@yLmAwAOsHw@{JcAw^wDsAOyYyCsO_BiGo@aCUAAaAKaAIkBKi@AS?U?m@?m@Bg@Bg@D]B[B]F]Dy@N}@N_AP}@PeGfAaCd@w@LiATkB\\iEx@qAVaLrBaKjBgI|AeMxByB^kBZyHvAiHtA", - "ozorków|łęczyca": "}ze|H{zqtBC@}AV{[dGmCf@cBZwB`@oCl@mCl@uAZ}Af@_Bn@yAv@eBlAcJdHkHtFaq@`h@oTtPwDvCyAnAwApAqBrBmBzB}BzCyBbDW\\k@|@cA`BeC`E_CxDaHbLaHbL}JlPkHpLoCrEcDjFmLnRwFhJu@lAs@lAgBrC_A~AcA|Ai@v@i@t@k@p@UXIJMLUTWVo@n@m@f@q@f@SNaAp@gG|D}OfK_DtBoCfBaU~NwKfH{E~CuL|H_Ar@_Av@sBrB{AhBwAlBq@t@_RrUgElFsEzFkM`PiQzTeIbKiDhE", - "łęczyca|witonia": "gxt|HqwctB_HtI_BpBkFxGsBhC}D`Fy@~@eAbAaAz@eAt@aAl@iAn@aA`@_A^YFw@T{@RwAVqBVgAF_@@kCFiCBoGFiED}CDaEDk`@`@}JL_A@gLLuEFkB@u@@s@?i@?g@Ai@Cg@C]Ea@E_@E_@G_AQ_@Ka@KsBo@_Bu@gAm@c@Ya@Y}@q@MK][g@e@oAqA}BgCmBqBeBoBsEcFqE_FiBmBgBoBcKaLoUgW}@aA}@aA[]uA{Ak@k@m@k@c@a@e@a@iAaAcCqBs@k@s@k@_BuAECmEsDoEsDgByAeByAoFoEaFcEoFoEwBgB{@s@y@u@KIa@_@k@k@uAyAcAkAcAkAySiVcOaQyKmMCA_RgTgMaOul@er@SUoKaMcLwMyAmBk@w@k@y@{DiGoFuIAEei@i{@_GqJkFmIeGyJuF_J}IuNkCgE_QwX}@mA}@oA_H_JiDqEgCiD}@mAaP_TkA{AiA{A", - "witonia|kutno": "q{i}Hc}stBcB{BiB_CmE_G_DeEmDuEkCmDwC{Du@aAwBsCoCsDeAsAcNuQoCqDsIaLwRkWkMwPuKqN_Zi`@_DeEACmA}AmAcBc@o@a@o@a@m@_@o@gAgBcAiBgCuEsGiLgJqPuByDqFuJkJsPgJqPkIeOYg@g@y@e@y@{@oA{@kAoG{HsAcBcCwC_AkAaAiAiB{BuEwFiC_DeAsAcAuACCa@o@c@s@e@y@c@y@_@u@_@w@]w@]w@oE{JgB}DwByE_F{KaF}Ky@kBcF_L}GmOwCsGkAiCe@cASc@CEWg@Q_@Wc@Uc@m@gAo@iAyAkCEG_CiEe@{@yAkCCE[k@Ua@W_@OWSYSYSYOOW[WYOOQQWUWSUQWQWQWO[QYMUKWK[KWKWGYG[GYEYEYC_@CYAU?E?U?W?[@Y@YD[BYFWDYFUFYHYJSH[LYNWNULULUNSP[TSPWTWVUVYZYZe@h@k@p@y@bAa@d@ML_@d@GH]`@e@j@QRSZUXOVMPIJa@p@S\\S`@Ub@KRELQ\\MZQ`@O`@M^a@KGCJm@LQLm@F_AN_@AWF]Jo@Hg@@GNYBS?]Fa@N[EMHi@Ho@HC", - "kraków płaszów pzs kpa|kraków główny": "_njpHm`~xB]x@y@vC_@nAOj@e@|AYv@]`AYx@_@~@GNMXaAxBgAxBk@`A[j@]h@e@r@mC`EILq@bAa@l@a@l@eCvDQTOVa@l@_@j@c@n@yCnE?@W^wB`DW^w@jAeFxHGHkAfB_@j@g@n@]d@a@d@_@b@e@f@c@d@a@`@_@`@e@j@[b@a@f@_@j@e@r@wAtBkAfBEFYb@w@jA[d@c@p@kBpC_@h@{A|BuB`DgA~AuOtUcCrDc@l@[b@a@l@o@~@]h@}HnLEFwHdLeA~Aa@l@a@f@_@d@a@f@k@l@[Z]Z_@\\EBc@^e@\\c@Xg@Za@Tk@Zg@Tg@Rg@Pg@Pc@Lc@Je@Le@Fc@Hc@Di@Fi@Da@@g@@eEHa@?eFHk@@i@@[@[BsAF_@@i@BK@U@S?o@@a@L}AB{CDC?_A@m@@aA@a@@cA@oA@K?k@@k@BaADM?Q@}@BwCFqHJQ@_@?c@@Q@W@YBi@F_@DYBSBQBaAJUBUDYDg@LWFOFQFSFUJSAe@SQVE\\B^[L]OQTO^IFSJMSW?Y@Wf@SJSJKEOXSLQLSNSQSSQCOTc@R]@KDw@^a@PSFYHEPQDQBMBUKW@O@U?QAWJWCSSWEKCMC", - "kraków główny|kraków przedmieście": "usspH}ovxBw@Q}@QOEk@Mg@Ki@OICWIa@O_@Qa@SYOMGk@[cDoBWOuAy@cAm@wBqAmJuFgAo@yCgBeBeA]U", - "kraków przedmieście|kraków batowice": "ugupHmowxBaBaAQKeBcAu@e@{A_Ag@]UQYUUUWUWWSUWYW[U[MSU[Wa@Yg@i@aAy@yA_BqCYg@qAaCc@s@cB{C{AiCcAiBq@kA{@wAOWWg@]k@Uc@_@s@_@w@c@cAk@wA_A_C_BcEoC_HgCqGmAaDcAiCi@sAeHuQkC}GkIeTkA{CmA}CeAqCq@sBm@wBWaAg@gBw@{CqBqHoDaNs@kCs@mBcA}DQq@q@aCa@yA", - "kraków batowice|raciborowice": "_fypHqx~xBmCaKAc@{@_Dq@uCUoA_@}B_@qCSsBKeAGcAKeBGwAGyAGsACkAC_BAiAAiA@uC?k@@s@BsABgBD_EBwBFcEBgBBmCFoGDoCDgCB}BBsBFwCBwCHwFBgBBoCBoCFcEEM@gAB_C@_A?[?s@A}@Cu@Cw@?EEs@IoAMkAKeAOeAO_AQaAeAyEgA{EkBkIkBiIa@eBe@wB_AcEi@cCq@yC", - "raciborowice|zastów": "mezpHkqfyBsIo_@{DcQyBsJ_AmESmAEUMs@g@yCmAsHqFy\\}Fi^Mu@cHec@{@gF}@qFm@oDk@mCo@kCm@uBe@uAe@oAe@kAy@qBAAy@mBWo@", - "zastów|niedźwiedź": "ik|pHe}myBkAmCaCqFqA{CoCmGoCuGaF{LYs@yCgH_@{@KUkBqEsLaY}AsD}AsD{CmHwBcFs@cBs@cBKUSe@uBcFsB}EcAaCeAgCu@eBQa@mAyC{@kBy@}A{@uAy@eA{@}@}@w@}@q@q@_@o@[g@Qk@S{@Us@OeAOuBYoBYoCa@{@M{@MuASaAKyAMyAIiEQgEQ{BKwCKoESm@A[AyAGkBIyBK_CKsBIkAAoABo@D_AN_ATcAZq@XgAj@w@l@eA|@k@j@u@~@e@p@{@tAu@zAk@vAe@rAe@bB[xAEP[bBWjBWlCUdC[`Ec@fFQ|@OjBWbCc@|C]hBe@hBc@vAu@pBaAzB_BnDuEbKsCjGkAdCg@~@k@`AaAzAi@p@c@l@m@p@o@r@iAfA_Av@cAr@cBlAi@\\WPkAx@kClBeCbBeBlA{BvAiAn@qAj@u@XaAXkBh@qD|@uD`A{KxCw@X}@^y@b@u@d@{@l@gA~@eCbCkAhA_CxB{@x@{@p@s@f@cAh@_Ab@aAZy@T_B\\_Dn@wAZy@V}@\\sEhBgBt@yAx@cCxA]Rc@Vu@b@sAt@_B~@yAp@_Cp@gBXgBDgAAgAKsBc@i@OgB{@aAm@cAw@q@o@k@m@qAiBy@uA{@cBg@oAa@qAa@}Ag@{B_@cCW}BKoAKcCKoDG{CIyCKiCA[Mu@G_AOyAS{AUwAe@aCm@yBs@qBeAaC_AaBaAuAe@i@_@a@mAeAu@k@{@g@}@c@kAe@kGcCiKmDaA_@uCiAqDyAgDqAmFkBcEyAy@YyBq@gDeA{DuA", - "niedźwiedź|słomniki": "sgmqHskqyBiE{AmAc@eBm@oCaAwAe@eAUuAQoAGkA@kAFgARgAV{@X}@b@{A|@{A`AeElCwExCwD~BeAf@}@\\{@Z{@RyAVeAJmAFYJi@@{@CcAGqFi@mBSuGo@uGo@{Fk@gHu@{AO_@EsAKcAC}@?oAJw@Ju@NaAXaA`@{@d@y@h@m@f@_Az@yAhBo@bAw@tA{AlCm@tA{BdFq@~A{AfD}@tB_AhBmAhBgArAuJtKgCpCiDvD{ElFmCxCyAjByAhBm@n@o@h@u@n@cB`AaDlAMD{Af@kA`@i@Pc@Ni@Ni@LoCn@", - "słomniki|miechów": "}cuqH{wmyBs@NUFeAZ}EvAk@PqHvBiAZaAZeBf@[H_@L[VkBh@KDoBj@c@Ne@Ng@RyAr@k@^k@b@m@d@m@n@e@h@i@r@s@fAo@hAiBfDkAjBoA~Aa@b@u@p@w@j@aBbAe@VmC|AwGrDoPfJeAn@iAn@oCzA}GvDsBjAuLzGaB~@eB~@kE`C}BtAkAx@{@n@s@l@GFiAhA_AhAcAjAwFhHeQxTaBpB_BfB{AnAm@b@w@f@wAp@wAj@yFnBg@PmGxBuHhCqHdCiA`@gFfBqAl@qAr@aDnBcEdCe@X{At@QH{GdEyBzA}@v@eA`AeAhAaAjAsCtDyC|DkMlPeChCKH{@v@aAt@g@\\kBnAoGtD_DhBuCdBwEpCyAbAeBxA{@|@sFdGkMpNyCbDaDjCgDfBoEhAkFx@cDh@mD~@}CzAqA|@gBvA{DfDcCzBaAt@}AbAoGjDg@VoJ`F_DfBuA|@gDfCeAv@WP{AdAw@d@_HhDcH~CwT|JeDvAc@PwDdB_A`@qBz@wBr@kBXuAF{AAsAOc@GaBa@o@WcB{@aAs@aByAoA}AsAwBq@wAm@sA{BaG_A_C{@iB}@_BeA{A{@aAaA_AoA}@}A}@}BaAqBy@}Am@aBo@WMwIoDoDeBeLuE{Am@", - "miechów|tunel": "{zirHsmcyBuBy@sC}@mBy@cBq@kAe@_@OW?gDsA_Bg@}A[{AMmACkFNaGPeBFuBFc@@_AByBCeBKgDa@kBUg@GkR}ByR_CcCMcCByBTMDqBb@uBt@sBhA_C`BwBbBuB`Bq@Z]VuDvCcE`D{B`B_B|@kAd@sA\\gBVw@By@@sAGyAQwA]sAi@eI}DqFsC_Aa@w@Wo@ScAQcAKeBEoBH}AVaAVaA^y@^uAv@kC|AaAl@yDxByDtBaA`@gA^kBb@eCb@cANyEp@oFv@{NxBeBVuC`@yB^wBf@oAb@mAh@s@`@u@b@q@f@aBvAaAdAaAlAu@fA}@xA{@`B_AjB_FzJk@jAaMvVqCvFa@v@]n@_@j@[d@[d@]b@[^_@^_@\\_@Z_@X_@V]REB[Pa@Rc@Pa@Nc@Lc@Lk@LeEx@iNlCeFbAeNpCw@Nq@NeARe@Hg@Hg@Hq@Hg@FK@a@DoK|@y@H{BRe@B_@@WNW?e@?e@A_@Ae@Ga@Eg@Kg@KKESGa@Mg@Sa@QoCsA", - "tunel|kozłów": "yayrHqk_yBc@Sa@Uy@a@gB{@qDiBgCmAGe@SKa@Ua@Wc@[]W]YYYQSSUUYY_@U]Wa@Wc@Ue@Ue@Ym@M_@MY[aAGQ}Tyv@m@yBWaAS}@WiAOy@QeAe@mCqBiLMSO_AScAUcASy@Ss@Ss@Qi@CEWu@Wo@[s@Ym@]m@[k@a@m@[c@_@e@a@e@_@a@a@_@a@]e@_@e@Yc@Yg@We@Sg@Sa@Mg@MMCYIg@Ii@Ge@Cg@Ci@?e@?g@Bi@Dg@Fe@Hi@Je@Le@Ng@Rc@Pe@Va@Te@Zc@\\c@^]ZYXYZ]b@[`@UZKP]f@[j@]l@Yl@Uh@Yv@Wp@Wv@Sn@St@}ArF[jAYx@Wx@W\\EJ[x@Yn@]t@[l@_@p@_@l@a@j@_@h@c@h@]`@g@h@a@`@e@`@e@\\i@^e@Zg@Xi@Vg@Re@Rm@Pg@Ni@Jg@JO@]Dm@Fg@Bc@@_@?]?e@Ag@Em@Ee@GYEUEi@Kg@Ok@Qg@Si@Si@Wm@YaRsI}SwJwCuAgCkA[Om@Y]Q]QiDqBqAu@a@Uc@Se@Wo@YgEoB{G_DaGmCqAm@yB_AECiCiA}CsAKE{@_@y@]s@[a@O]Kk@Qk@OyBe@_@IYF", - "kozłów|sprowa": "stbsHghdyBuBe@a@IyBg@A?]IyEeAwGyAmAWiB[mB[{AW]DmCe@w@Kq@Ks@Gw@Iu@Es@Cy@Au@Ay@@u@Bs@Bu@Dw@Hm@Fs@Jm@Jg@Ju@Ne@Ls@Pq@Rq@Ti@ROFq@Xo@Xm@Zo@\\s@`@m@^q@d@k@b@o@d@o@h@i@b@o@n@k@j@k@l@m@p@i@n@g@n@g@p@kBrByBvCaApA_FtGeIbLyHxKo@|@w@hA]f@qApBcAbB_AfBy@bBy@nBYt@_@bAs@tBq@zBo@dCm@`Cc@|Ba@bC]jCe@zDQ`BqFnj@{Grq@}Dv`@gAxKQxB]tC]nCc@rCg@lCk@hCo@fCq@`Cq@pBq@jBq@`Bu@bBy@~A{@zA}@xAcAxAgAvAA@gAnAkElEgKjKqAnAwAjAuAdAyA~@{Av@yAp@aBl@aBf@{DhAG@_@XmFvAoHzByErByCfByCdCmAlAmBpB}DlEo@r@sGbHMLo}BfeCiLdMwBdC_BvBmAlB}AtCiA|BaA`CwA~DeAlDcAjEqAxGmBfKwVrtAaAzDk@fCi@xBc@bBsAfEuArDyBvEaChE{D`FyEpE}@p@EBcDnByF`CwAt@cPbGqSxH{f@zQC@mE`Bib@zOuFtB", - "sprowa|starzyny": "ilxsHejjxBw@XEByDtAmI|C{g@lRaGzBkBp@wBv@aFhBcFjCgBhAyCjCiBnBwAlBwOzUcMhREFal@h|@GJij@`z@_v@ziAiRdYaNdSu@v@uBlCuAvA{AtA}ApA_BdAcB`AcBr@C@gBn@{Ad@{Bd@iBb@}h@bHyVdDovA`R_~@vL}B^iB`@gBf@_Bj@_`@pPoiBtw@mRjI_Cv@qD|A", - "starzyny|psary": "wvotH_ozwBaGrBgA`@qOtG_LrEiM|EwA`@y@Ny@JwBJcACcAE}AS{A]_Bm@k@YSKWOcAs@}@s@}@{@{@aAy@cAu@mAcBcDw@oBi@_Bc@cBqFyRyHyXYgAUs@y@gCQk@So@Qq@mDgM_DgL", - "psary|knapówka": "mzstH}f}wBeXyaA_J_\\s@iCKI_CqI]oAuEqPmEoOiFiOwDyJsDoIQc@sDqHmBqDaFyIuHgLcDoEqKkMyj@so@qQqSqt@mz@yR}Ta]m`@sOkQyOmQwGyGiDaDoD{CeIsGKI}HeGk`@qZuT}P_As@_CiB", - "knapówka|włoszczowa północ": "y}`uHmqnxBeAw@aDeCoEmD{MgKWSoAeA_E{CcMuJeMyJu[oVwHaGwH_GuLkJ}D}Ce@]go@}f@yJuHaDeCaEaDaK_IcHoFi@c@aBoAaBsA}AmAaBoAmA_AcAw@uB{AoE{Ck@]oAy@aAi@kAq@uAu@iCqAgB{@mBy@yAm@sIiDkBu@wOkGkDuA", - "włoszczowa północ|olszamowice": "ozjuHeevxBmNuFmDuA{UkJkGcCwGkC_GmC_I_DkPsGcQaHuEiBo@WeRqHkTuIuHyCoBw@qAg@_EcByDiBwDoB}EqCyE}CiCkBkCqBkCyBkC_CAAaC{BaCcCkDsDeD}DcDcEsKsNkHsJqBmCyi@gt@oh@wr@oEcGa`@ch@sCgDk\\qc@yn@qz@cJ{LmDwEcM_P_GwGgGkGqX{XoFqFmWuWyByBk[m[_T_TuFcFqFoEsF{DuEyCyEmCkGyCmB_AkDuAoDqAeOsEoOqEaBg@gGkBuLkDYImMwD_AYmRyFqYsIyTuGc@Oou@}T_D_AcjA_]oJqCaOkEiEoAoF_B}LcDmHqAyHaA_Fa@aFWkKOmi@BcA?}Q@iS?_G?sdDNwJ@iV@{mAFeI?wn@BwC@gL?", - "olszamowice|pilichowice": "wpzvHwsnyBsA?qQ@mX@qJ?sF@qC?u@?gG?qHKaICcACkDGoFQcE[aEc@gEm@cEu@eE}@cEgAeMmE}i@kTgAe@eBc@kd@{QuL{EgSeIqLyE{y@w\\mMeFch@oSe@S{_Aw_@aAa@om@kV_JmDc`@{OiMqEECwC_A{EuA{EkAwGqAsAWsASeLsASC_MaA_j@wD}Fa@sgAwHkf@gDmRsAcg@mDaGa@]CeE]QCoFo@gEo@wGqAsG}AgFgBcFkBeHaDaHqDgSeLeSiLqBeAaGiD", - "pilichowice|opoczno południe": "azywHccyyBy@e@iq@{_@iHyEcHiFwHyGyF_GsFkGcFoG{EyGqD{FoD_GgOyWeO_XwBuDWe@_d@gx@gZai@em@}eA{JuNgH{IsF{FwFuFsGqFmg@s_@ys@ai@mmA{}@_h@}_@{HcGsHuGqEsEmE_FuJkLeHqIuMoPgH{IoDkEcFiGqIkKgLkN}KcNoA{Ak@u@}D}Ea@g@", - "opoczno południe|idzikowice": "sqnxH{eozByMgPsDqE{F}GkEwEwEuEeEsDwDwC}EoD}DkCsDwBwL_GgFsB{CgA]KwJ}C]KkCiA}HcCaFaBwBs@sB{@gCgAiEqBcB{@cB}@{A}@CA}A_A{DgC{b@eYgEsCoL{HiJeGgYeRgFgDwj@__@sBsAwUsOsWaQ??kS{MiUgOiGgEsHeF}EqDkEqDsK_KwCcDsCoDmBcCY_@_CcDqBqCoCeEkAkB_A_BeAgBs@qAcAiB}AwC}EgJg@_AUa@{@aB}BiEGKgC{Eu@uAq@oAc@{@g@_A{\\io@_O{X", - "idzikowice|strzałki": "wa`yH{v~zBsFkKYk@iDsGg@_AyE_JoAaCEGuc@oz@aTca@qCuEqe@o}@wc@sz@c@y@}BkEyKeT_@s@kIeOcHmKsDgFcIgJmFyFqAsAwImHoG_FuGwEwGoEcLgI}ImG_LgIgJsGsNmKkJyGaJmG_JgGiH}DeEoB[QsG{BuFgBqFyAiGoA_IiAyM_A{c@{AuDS}c@yAg@CsW_AmZiAa{@{C{W{@icAsDgSs@mf@gBsX_A{@E}[eAsHWcn@cCwJi@wSu@_K]sn@{BsGUkGUwWcAcVy@sDMgXcAkXcAyCMwHq@wHw@yCc@gIeBeIgBaE{@{Dw@s@OcTuEoAY", - "strzałki|biała rawska": "kjezHogp{BcDs@gQyDeAUkh@eL}Cq@o@MsDy@mAWqs@wOkBSmHyAqKuAqE[gEMsgAmBsdAwAo^k@u@Aae@u@o@Au@AaU]o@Aqx@cBaFKcb@m@}BA{BE}BO}BUyB[}B]cC_@eB_@kGwAkBg@eCq@mBq@yBu@it@qXygBmq@{MmFuAg@eaAs^sH_CoDaAsBg@qCo@u@OeF_Au@MoC_@qC_@_De@}BQyBOcBAw@Cw@Ey@Cw@Cw@Cw@Co@Co@CeDIeTo@mDKy@CeGQgL[c@AuMa@", - "biała rawska|szeligi": "sac{Hiaw{B{@CwHU_Nm@eq@mB}[_AoFO}sA{D_ACqx@}BgAEw@Cw@Cu@Cw@Cw@Ew@Ek@Ck@ESAa@Ca@Cc@Ea@Ea@Ca@Ec@E_AKm@Gm@Im@Im@Io@Im@Is@Ks@Kk@IoJsA_AOuOyBkSuC}Eq@cIkA}Eq@{e@}Gy@M{sAoRaAOcAMu@Mw@Ku@KKAk@GUCa@Gw@Iq@I_@CCAYCc@Cc@Ea@Ce@EI?[Ce@Cc@Cc@Cc@CC?c@Ag@C_@As@AQAa@?q@As@As@As@?u@As@?iAAku@SaA?wVGY?w|@W{WGi\\I}CAgBAmB?{AAgA?eAAiC?gVIgB?m@?kLEu@?u@Aw@?u@Au@?w@Aw@Au@Ai@Cg@AYAc@Ac@Cc@CK?YCc@Ce@Cc@Ce@EC?_@Ee@Cc@Ec@Ge@Ec@Ee@Gc@Gc@G_@EEAc@Gc@Ge@Ic@IWEMCc@Ic@Ic@Ic@Ic@Ke@Kc@Kc@Kc@Ke@Ku@Su@Ss@Us@S_@Ma@Mg@Ou@Wu@Ws@Ws@Wu@Ys@Yu@Yu@Ya@Os@YsFuBqJsDoEeBa@OwGiCgHoC", - "szeligi|korytów": "sd`|Hyyz{Bc`Au^qHuCaC_Ae@QgHoC{@]cDoAoEeBkGaCoCeAk`@gOiM_F_@Oa@Os@Yu@Ys@Yu@[s@Yu@[s@[s@[YMg@Ue@Us@_@u@]s@_@s@a@q@_@s@a@o@_@q@a@g@[e@[UMo@c@c@KQKq@e@q@e@q@g@q@e@q@g@q@e@cAu@cZmTYSm@c@s@g@q@g@o@e@[SSOm@a@k@a@o@a@m@c@k@]k@_@c@We@YQKk@]m@]m@[m@]o@[m@[q@[q@]q@[s@[m@Wm@Ws@Ys@Ys@Yu@Ws@Wu@Um@Uo@Q[K[Kc@Mo@QMEa@Ko@Qo@Om@Oo@Oo@Qm@Ow@Q[G[IwBu@_@Iub@{JmGyAwg@oLyXsGgAWeKaCwD{@uA]uA[oDy@wBg@uBg@OC}IuBkImB", - "korytów|grodzisk mazowiecki": "qho|Ha~a|But@{PiJwB_B_@kQcEYGsY{GwD}@cUkFUEwv@qQs@Qo]eIUEsQgE}EiAiImBWGcAUs@Qi@MIC}A_@YGa@Ma@Kc@K_@K_@K_@M_@K_@M]K_@M_@M_@MYKYKUIUIa@Q}@_@]O_@Q_@QSIYOYM[Qa@Sa@Ua@Ua@Ua@Wa@Ua@W_@Wa@W_@Ya@W_@Ya@Y_@Ya@[_@[_@Y_@[][_@[]]_@[]]]]_@]]]]_@]]]_@[]i@m@i@o@Y]Y]Y_@Y]Y]Y_@U[U[]g@_@g@W_@Wa@U[]i@QYQYSYQYWa@Uc@Wa@Wc@We@We@We@Wg@We@[m@Ue@Wg@[q@Ue@Se@Wk@Wi@Wm@Ui@Wk@Uk@Ui@Sk@Ui@Sk@Sk@Ui@Qi@Si@Qk@Qg@Si@Qk@Qm@Sm@IYIUUu@Ok@So@Qq@Qo@Sq@Oq@Qo@Qq@Oq@Qs@Qq@Ou@Qs@Os@Ou@Os@Os@Ms@Os@Ms@Mu@Ow@Mu@Kk@Im@Ig@Ig@Mw@Mw@Kw@Kw@My@Kw@Kw@Ky@Kw@QuAQuAIy@Ky@Kw@SiBSiBkAcKWuBUsBOqAQsAOoAOqAK{@M{@K{@My@Ky@M{@Qg@G_@Ii@EYKo@Ko@Ko@Km@Kk@Km@Mo@Ko@Mo@Mm@Mo@Mm@Ou@Ou@Ou@Os@Os@Qs@Kg@Ke@WqAy@uDKe@Kg@Os@Qs@Oq@Os@S{@S}@Me@Ke@oCoLYoAmAkFaMki@}D_QGUmEiRcS{{@k@_C[yAgCwKoT}_AsD_PkAaF_A_EGWQw@AGWeAe@qBKe@Ok@qE}RkCkLoCqL?c@ESo@oC@[g@{Bg@uB}@}DWkB}@yD_AcEOq@ESMi@UkAi@oCYK]w@e@mBEQ?a@S[_@}@iAgEA_@{BqHa@aBIYOm@CKYiA]{AMi@]yA", - "grodzisk mazowiecki|pruszków": "}x`}Hmzz|BwCiMm@oCm@mCo@sCeAyE{@yDqA_GyCyM_CoKgBcIkBmIcBwHEQUeAEKYsA_@aBWmAYkAg@yBgG_XiLgg@uLmh@]yAgMej@[qA[sA]yAWgAuQuw@]{Asd@cqB_@{AyRa{@m@iCwDqPkBeI?CiB}HYsA[qAACgByHYkAYmA[sA]{AGYKa@CIQ{@[qAYsAu@cDWgAWgAWmAYkAe\\uwA_@aBmCoL[uA]wAWgAw@cDe@sBwB_JoDmOYkAMg@Qs@i@eCYmAc@sBoCiMOs@gGeXc@kB}Nmo@AEqA{FACeB{HEMcIw]c@iB_@}Ac@kB}@oDEUg@qBs@aDYiAESiA_FkAgFgAwEQy@iCgLKc@aMui@}Jic@eB{H", - "pruszków|józefinów": "ozk}Ham|}BaAiECIuEkSWkAWkAo@qC[wAYsAWeAWgAm@kC{C}M_@cBmAmFcAqEGy@uBiJCKuAgGwSk~@uAcGaAkEQu@I_@kAeFsAaGuAcGi@aCi@cCuAcGe@oBm@qCw@gD?A]yAsAaGm@kC?Ag@uB{@wDWiAw@kDUaAGWS{@U_AEQOm@UaAAAcAeESu@_@{Ac@iBQu@[mAo@sCI_@CMS}@k@kCMm@_AsEOq@c@wBm@mCG[kAeFa@kBq@uCsAaGGWWiAu@_Do@wC", - "józefinów|warszawa włochy": "aro}Hs{g~Ba@eBaDmN{A{GuAaGsAaGsAaG}FeWaAkEQu@sAaGsAcGuAaGsAaGq@wC]}ACKqA{FAEsAaGuAcGsA_Gi@cC[sAMk@Qw@Qw@UiAWiAYqAWsA]}AQw@YsAYmAMo@Mg@Ke@YqA]yAs@}Cg@}BWcAUcA_@aBYgAYkAYmAq@oCYgAWiAgAyE]yA]}ACK[uAAGuAcGw@mD[uAI[o@sCuAgGi@cCsA}Fo@sCS}@Ou@UiAy@{DoAeGWmAYuA]aB_@eBs@yCG]i@_Ca@eBo@qCe@qBQu@Qw@s@mCe@gBm@}BGUo@{B[mAOk@Qw@Ss@Mm@Mc@Kg@I]sAaGaAiEMi@YmAKg@Qy@", - "warszawa włochy|warszawa zachodnia": "ets}Hwht~BOo@Ki@WiAUiAg@aCmBmJa@sBQ{@Q{@S{@SaAUaAQw@cAoE_Iq]_DiNuAkGGUu@eDS{@i@aCsAaGc@mBEQGYGYIYGYGYGYGYGYGYGYG[I[EWGYG[EYKg@Ig@G[EYG[EYE[GYE[E[EYE[EWGk@COEYE[E[C[E[E[Gg@AOE[Gg@Ec@Ec@MgA]yCCYE[E[CYE[E[E[C[E[CQGe@C[E[E[E[C[E[E[EYE[E[C[E[E[G_@CUE[E[E[E[EYE[CWG_@EYG[E[EYG[EYG[GYIc@Kk@GYGYGYGYGYGYIYGYGWIYGYIYGWIYGUm@cCYiAGYIYGYGWQs@GYESI_@G[GYGYEYG[GYEYG[GYCUG_@G[EYIi@CMEYE[a@wC_@gCAEKu@Kw@m@gEIo@{AeLGk@CM}AeMAMIi@S_BMiAyAuLKu@Gi@Io@Go@C_@Gm@KaBEs@Go@Ek@Go@McAIq@QwAG]iAkJE[c@sD", - "warszawa zachodnia|warszawa centralna": "grv}Hgp__C]iCKy@My@Ms@EUCSYyAAGQ_AG]G_@G]Ie@O}@OeAuBuNe@aDaAuG_AoGOgAWaBKo@Ko@U{Aa@qCIi@G[w@aFk@sDKq@Ii@Kq@Im@SyA}@eHQuAAIEa@Ee@Me@K_AMgBKmAKaAEg@", - "warszawa centralna|warszawa wschodnia": "wow}Hgpc_CGc@a@_D?AYqBAo@E]Ga@E[G[G_@GYI[I_@a@eBq@oC]wAKe@Mk@Mq@Ko@Ge@Ik@}A{LuC{T[eCa@}CGi@Gc@Ee@Gc@Ca@CYA_@Ce@A_@?c@?_@?_@@c@Eg@@_@B_B@]?c@?a@Ao@A_@A]AYEk@Ci@Gk@Io@kHgk@K{@My@OaAM{@Kq@Ko@sD{TMq@Kk@Ke@Mm@Qq@{@uDYoA[oAk@{BU}@W{@Y}@GQOc@Qi@Sk@Q_@CISc@Se@[s@Yi@We@GKMWW_@a@o@iCoDS[OWQ[OUO]S_@Ui@Se@q@cBcBcE}FyNoG{OUi@Sc@Qc@S]Yg@GIYa@W]UYSSYYSSWSUOWQWMSIWMWIYKQE[GMAUEWCYAUAUAS?S?{HAe@AWKYAW?WCQAQAQAUCUCqAMUCUCUEOCWUUQYKGCSIOIQKMIUQQOMOOQMQMQOWKSUQWQYk@Ui@KUIUOa@IYKc@[uAe@uBa@oCUgAg@_CqAaGmB_J{BeKs@aFQmAYmBQ}@i@cCQs@So@K_@Y{@Wq@[u@Se@q@aBw@sB}@uCUKMe@", - "warszawa wschodnia|warszawa grochów": "m~|}H_np_CKa@GWIe@Ki@G[Me@o@aCQq@Uq@Qk@Qk@Og@Mg@[oAYgAAGQq@S_A_@aBMg@Mg@M_@Oa@O]MYm@qAYm@Wk@M]Ma@Oa@Kc@Qm@Mm@Mo@Ks@COE_@Io@Gu@Gq@GmA_@kICs@Co@?q@Ao@@s@@u@Be@?KDg@Dm@Fq@Ju@Hg@R[HALZJBN^A^GLR|AVH?f@JNAb@NV|@C?i@IYFe@?WAyBAsAGG?{@?s@?u@@u@FA", - "warszawa wschodnia|warszawa praga wpt m": "qn|}Hsco_C_AoEuAsGq@kCc@sAk@eB{@cCo@oBUm@K]Oe@K_@W_ASu@Me@QMe@eBOi@Oi@CKKWMa@Se@Qa@EIO[QYQYQWSUQSgCaCc@a@]Y_@YWQUKYOQGMEUEWG]EYAYA[@YBOBMBUDYH[LUJWLUPu@f@cAt@e@`@SPQRSTUXW^SZU`@Q`@S`@Qf@M`@ABMb@Oh@Mh@Mj@Mn@a@~BsB~Ki@zCMx@Q~@g@xC_@vBIh@", - "mysłowice|katowice zawodzie": "casqHcrysBsArAqAx@}DbCYPWRWRg@j@a@f@o@~@}BpDu@rAo@pAwA|CaBnDq@bBGRo@pAa@~@a@~@c@z@g@`Ao@fAuAxB_@h@c@j@_BnByA~AmAdA_Ax@g@`@_@^e@j@]v@{@hA_C~CoBhCoGnIcAzAwDxFwBbDmDnFaK`PqAtB]l@q@lAQZ_BtCm@hAkA|Bw@dBe@jAm@~Ak@pBs@fC_@vAuBnIUz@S|@WhAUlAQ`AO`AMbAOnAMjAKpAKnAIxAGvAQjEQxDQ|DGdDCfD?~ABrCFnCHtABt@TrDl@zIXrCh@hERhBPlBDj@f@rHrAzRNhCJrBFzBFbCD`B?JJzBVbEbDve@l@dJb@fHHxAF`BJdCRpFE\\JzFD~F?rD?dDC`DGrCSlIWrH]`KKnCUzDQlEQxEU~FEnB", - "katowice|katowice tow. ktc": "w|vqHovasBEb@Ez@E|@?HWjHAZKrCExAArAA|A@xA@f@BrA@PFhABVDt@@d@D~@FbALpBVdDAj@VvDJlABd@@JDp@Br@BdA@`A?dAEvBC|@MdBK`AM|@Q`AQ~@[fA[~@e@jAiAzB}BzDqBfDyAdC_@n@e@|@G`@Q^Yt@Yx@o@pBq@|BYdA[nA[tAgAxFc@zBm@jDwAzHeArF_ArEc@vB]~Ay@dEg@|BUjA]vAa@bBYtAKb@Mh@", - "kraków główny|sosnowiec maczki": "inspHaevxBg@p@i@r@W\\_@f@UZa@l@e@r@e@r@Kd@q@hAS^S^c@|@_@v@a@|@MZQ`@]x@_@bAeB|EeAtC_@bASn@Wv@Wv@]pAOj@On@Op@Kn@Oz@O`AYbCKfAGbAGz@GdA]lGOxCGrAE`AANEpA?RCx@CrAOdLG|DKpH?J?d@E`CGzECtAKxHC|BEzCIvGC`CWzNUdRA~@YxUMnKUfS?JCrACdAClAEpAEnAe@|MCnA??GxAClACnAClBAz@?T?jAAjAA|AArFA^?rBOx_@?lBA~A?rA?j@?j@@tA@pA?PBpA@Z@r@BrABnA@RLjFBt@JjEH`CNfGBv@Bx@JzEBt@JdE@^FvBDtA@lABzABnA@xA?rA?rA?L?x@A~AAhA?`@An@ClAClAClACp@AXEnAGtAGnAIvAIrAKrAIpAKnAMlAEb@Gl@MjAMrAOhACRM|@QpAQjAALO|@QdAUrAm@|CWnAS`ACHS~@On@On@YdA[nAQl@K\\Qn@]hA]hAYz@GN]bA_@fA_@`A_@~@]z@ELWh@]x@IRQ^[p@_@v@S`@GJ[p@_@r@[h@qChFyDdHc@x@i@`AmDrGcAhBy@zA_CfEYh@CDwSt_@uLrT?@c@v@e@z@e@z@i@|@e@t@c@r@QVU^SXSZg@r@mAfBiCtDcB`Ca@l@oFxHePnUiCtDiCrDEFw@hA_KvNc@l@uFbIw@xA}AvBm@|@a@l@k@z@e@v@i@z@c@x@a@t@a@t@]n@g@dA_@x@c@`Aa@|@]z@_@~@[z@a@fA[|@[`A]bAY~@]hA[hAAF[hA[nA[lAId@Oj@UhAWjAeAlFa@rB[|AGZm@`DkAbGKh@c@xBOp@aClMeAvFiAfGsEhVCN{BxL[bBUhASlAMn@ETQlAQdAOdAQhAOfAE^Gf@OjAMhAMlAKhAKjAMxAMxAUbDg@fHEn@a@vFQnCKvAg@rHIjAS~C_@zEIhAIrAk@lHKjA_AvMKvAItAIjAItAGvAGvAErAEzAErACvAAbA?PAxAAtA?zA?tA@vA@tABtABxADxA?HDjADrAFxABXDx@HxAHrADh@Dn@LxARdCj@lGPjB\\bEtAvOH|@Fl@DbBXlDZfFPdEL|DD`BBdB@`E@~DE`J?~B@pE@hDHxDNzDBj@LtCVvDbAxLtGvv@XrD`@rEh@dGd@`GNdDHfCDlC@vEC|BEpBe@pPMhCS|DYhEAH[jDa@zDg@zDk@vDo@tDq@hDw@dDELk@~BU|@_@rAaA~CeBhFqApEiBtFsQti@eAhDaAlD{@nDeAzEs@tD[pBSjAi@`Eg@vEUtBc@tFUbEOnCaDzq@q@nNyB|e@Q`EM~DIfEG`E?rAA|@@nDHvLF|HDzDXvP@n@FdEDfC@`A?~@?`A?fEA~K?`@?fDA|AArA?rACrAAnAArACvACvA_@zSOlJEnACjACpAKrCGnCCdACjAE`DA\\AjBEdC?n@GfF?f@CfCAjA?pA?rA@rA@nADvABhADvAFhAFrAHnAJnAJnAJrANlANpAJ~@BNNhAz@xG^vDXtBhCdSNlAPvANpALpALpAJvAJrAJtAHpAHtAFrAFxADpADxADtABpA@j@?~@@`A@tA?xA?rAArAApACrAAxAEpAE|AEnAQjEaEzaAuAv\\w@tRG~AGlAGjAI|AIpAKrAKxAMjAEf@AJSpBQ~AOjAEXM`AQnASrASrAUnAWvAUlAWlA_@dB[rASv@U~@]lA]nAW|@[~@]jAc@pA_Vds@?TUp@[bA_@hA[dAW~@[hA[jA[nAWhAWjAYtAWnAUlASjAUrAUtAOhAIh@Ih@OtAQvAOrAO|AO`B_@bE{@lJQlBMzAKlAIrAKtAItAGtAEhAARCf@AZEpAChACrACtAArAApAArA?rA?lM?nAGlB?fn@?tp@?fI?vG?zA?bAA|AApAArACrACvACnAEvAGzAGpAGtAIrAGnAKvAKpAKpAKlAKjA_@dDKdAQrAQlAStAQpASjASjAUpAaNlu@QhAWrAQhASnAQnASpAOlAOnAmE~_@cCfTCVsCxV[jCcJ`x@oD`[qA`LUzBY`CoA~KIr@_A`IMjAK~@_@dDS`Bc@zDe@`Ec@lDy@vFObAShAQdAShAUjAS~@SdAWhAUfAU`ASx@uEbRm@hC}C~Mq@rCYrAi@zCmBjIGXa@dBcAnEi@tBu@vCs@vCu@|C}@vDsA~F_AbE{@pDiIl^}@~Ds@`Dc@zBETWtAOz@EVYbBKr@QnAM`AOjAOpAMlAMpAKjAMxAW~Cm@rHUlC?BKlAIfASbAKhAKfAMhAOnAOjAS|AQhAOhAShASjAShASbAUhAYtAWhA[rAYdA]rA[bA]jA]hA]fAa@hA]`Aa@jAuR`i@cEfLmL|[q@fB_@bA_@dAy@`CoJ|WuB~F_E~KiBbFYt@Un@Ul@Wn@EL]x@e@dAa@~@c@~@c@~@c@z@gAvBmG|LsH~NiC~EcDnGsg@hbAMRyAtCqb@zy@}Ob[qAfC_@r@c@x@_@r@c@x@e@v@_@p@c@p@a@n@g@t@e@r@o@|@g@p@q@x@e@l@s@x@g@j@s@v@i@h@o@n@m@h@m@h@q@h@o@f@k@b@a@Ve@ZQLq@b@m@^uG~Ds@b@q@^w@`@m@\\s@^}CxAqI`EaAd@QHoAl@q@\\m@ZULi@V_@TULaB`Ao@^w@d@yFfDm@\\k@^q@b@i@\\oLzHeGlEye@n[aBfAwFtDaG|De@Zm@`@q@d@q@d@q@h@k@d@i@b@m@h@e@b@o@l@c@b@WXSRs@v@i@n@i@n@k@t@i@r@i@t@e@r@i@t@c@p@eHxKOTsQzXg@x@W`@ORi@x@i@v@IJsDfFaCdDmAbBa@n@c@n@]h@Yd@Q\\_@r@a@x@]t@_@z@[v@Wr@Yv@[~@W|@[`Am@xBQj@I\\e@`B[fA{@|COh@_AbDc@`BSt@Qx@Qt@S~@Q`AMv@In@EROhAMdA_BfN}A`Ns@dG]pC[lC}@`IGh@Mv@EVGXG`@In@Il@Kv@EZOr@E\\GXCXIp@_Er]y@hHkAzJYpAY|@g@lAc@x@i@v@c@f@g@b@q@b@q@Xu@ViBf@E@uBj@oGfBo@PsGhB[HGBe@No@\\WP[VUTWXs@`AqAnBuAtBqAlBgA~AQToArAWXWTYV[TWP_Al@mOlJ_@RYPWLUJWJYJYHWFYF[DWB[BW@q@?w@Cc@Ee@GgEu@kB]]Ii@Og@Ma@Oc@Qc@Sc@U]S", - "sosnowiec maczki|dorota": "iayqH{qrtBg@Yo@a@q@c@iEsCqDcCw@g@k@a@u@g@q@g@e@]QKm@e@aEyC{AiAk@a@k@a@qA{@oAs@oAw@s@c@m@a@q@c@s@g@cVgPiAu@kKgH[S", - "dorota|dąbrowa górnicza południowa": "g{{qHytttBiCeBYSaLwHyA{@wAy@i@YgAi@cBq@eA]eA]_@KoA[qBa@{TiDsZuEcJuAqB[yB[_BQQAs@Go@Em@C{@ASAw@?kHEkAA{GEmCAa@A{IE}MIoDCY?uKGQ?qCCoBCU?_@?{@AgAA", - "dąbrowa górnicza południowa|dąbrowa górnicza huta katowice": "{jbrHoavtB}WOoABiAHa@PMB[DkAXgAb@gAf@eAt@_Ar@a@`@[Z{@bA}@nAo@fAu@xAq@bBo@jBe@`Ba@lB]tBGb@M|@Kz@EXUnAc@xDYdCYdCUtB[lCY`Cs@lGaBdOcBbOMbAOjAOhAMv@Ox@Ot@Or@Ml@Qr@Qt@Sr@Sn@Of@Qd@Up@KZKTWn@Wl@[p@]p@Yh@g@|@U^W`@m@~@W^Y\\[^UXCBe@h@e@b@_@\\a@Zc@\\c@Xi@ZSLQVm@Zm@VqAh@mAf@[LqBx@w@Z", - "dąbrowa górnicza huta katowice|dąbrowa górnicza ząbkowice": "q_frHwvptBgCbAeCbAa@DqBv@EBi@RgAd@s@VSH{@Zk@Pi@NEBc@JsA\\s@RK@aAV{@TgDv@I@YFeB`@s@Ps@NqBb@mB^sB`@}@N{@Ny@L{@L{@J{@Jy@H}@F[B{AJqAHgCLiBH]@[@Y?[?[?U?U?MAW?EAWAWAWCWCUCWCUCUEYE[G[GYGa@IUG}A]m@Oc@KQEgAWwA]sBe@UGqEeAiAWo@Qg@Om@Ou@UcA]i@QWKUI]OaA]aA_@yAk@k@Uc@SIC_@Qa@Qa@Q_@QWMWMUMWO_@SYOECe@Ye@[e@[e@[e@[c@[qA_AEEa@[UAQM}AiA", - "dąbrowa górnicza ząbkowice|łazy łc": "gmkrHo`qtBa@[}@q@o@e@QM}AkAkBsAQOgBsAaAs@gAy@wCwBMKsDmCAAcAu@eBqA_CeBiBsAwDoCcS{NeBoAYS]Uc@YuA{@}@k@}@k@_@Ya@WoCsBi@m@c@?uAw@GQmMaJi@c@g@_@g@a@e@_@k@g@s@o@Ha@s@s@m@m@GDq@s@[]?OWIAOo@w@s@o@q@}@_Am@i@w@k@}@L_@g@{@i@}@k@gAm@{@k@y@e@eABOc@eAg@oAm@u@a@mABI[cABK[k@Sq@@UQUM_@EO[oAG@WcATQQs@K_@G?[wAFC[}AI]Ms@Uo@Ie@DGUsAG_@Uy@Im@DIGe@WUGe@NEGm@KOKy@AOOqAO@MsAO}AFIMyAHCOqBDAIqAW?KwAIuAIsAOwBMwBEc@Cc@Ei@I{@Gw@WwCKmAEe@Ee@Es@IcAIeAGeAGeAQkCGeAGcA[qGH]Oa@K{BGcAGw@GaALWm@qJFAw@yLC_@IiAaCm]IqAG}@KMISIy@IaAMqANMW}@Ik@Bg@BMO_AGa@KQWQQcAUiAUaANMYiAWaAYcADKSm@SA[_ABOYy@DG_@aAGBQa@IWa@}@@Mc@m@o@i@U_@EYe@w@GBa@m@e@s@@Ka@k@g@k@DMk@o@i@m@i@k@BIcKmKQJa@c@@MO]Y[UYY[W[KBI_@MBW]OSy@iA?_@GIWEa@o@KQYg@D_@Sc@KSISSe@WB]w@Hc@Se@UHQe@RQM_@Sm@Sm@Oi@Qi@_DoIY}@QGIw@XMQi@O_@Uo@Um@_@_A_@y@_@u@a@y@e@y@GK[g@e@u@c@m@g@q@e@m@g@k@g@i@i@g@II_@]m@g@i@a@k@a@m@_@o@_@Q]Y@i@Uo@YIWOGSHi@Qm@Qc@KEAi@Km@Mm@KKSWJgC_@YEOCOCe@KGC_@Ie@Oi@QUIUKSKOGUKYOKYc@Ea@WSOMKQ_@MFa@]_@]e@c@EE_@_@e@g@@SUWKO_@g@a@k@WKIc@Ye@M@_@s@[o@AA]s@DOQa@IQ[y@Yw@Um@Qm@OEAg@Ma@OM?[OM@[QO?e@MEKk@Mk@Ko@Ig@@e@MEIo@Io@FMGe@CUKy@W}BMKEe@ACEg@DSMWBa@KKEi@Go@FOM_@AKGgAF]K_CMU?OE}@UyEe@wKs@gBEu@GwAI{@Gq@LaAKuB]GOwAGo@d@e@QuEFUGeAOeDKcC_@sI", - "łazy łc|łazy": "e|urH}}duBGkA]yH}@gSi@yLGqAGiAGgAG}@KqAIaAMkAMeAOmAOaAQkAQaAUmAQ}@WeAU_AYaAW_AY}@]aA]aA[u@_@_A]s@c@{@_@s@c@w@a@q@e@s@c@o@c@m@a@g@m@w@o@u@iAsAeJmKiFcGuDiE}F{GoFiGa@g@EEsCcDyBgCwCkDmD_Eq@u@iBwB", - "łazy|łazy ła": "o}xrHwyjuBaBiBcF_Gq@u@uEmFo@s@sA_Bm@s@k@q@o@u@yEuFk@q@g@k@wEgF{@aAOa@WYmCwCq@u@}@eAy@}@kAwAIImGuHqA}AoAyAw`@qd@yRaUmJwK[_@kHmI", - "łazy ła|zawiercie": "{p}rHk~ouBg@k@gE_FaAiAmAuAWYWYYYOA_@_@k@g@k@e@m@e@g@]]UUMe@Yo@]k@Wq@YGCe@Qk@Sg@MmA[[Gu@Kk@Iq@Io@Eu@Em@As@?o@@I?_@@y@D_CHkJb@aHXuJb@I@eGX}CNI@kGVsAFWB", - "zawiercie|myszków": "{aasHivpuBgCJoAFw@Du@Fq@FqCX{@Jk@Dm@Do@D_GVyDPO@uI^gERa@@_EPiFVqBHg@@i@Bw@@cABg@@m@@k@@m@@cADuBH_DJE?}CJyBHs@Bo@BcBFm@Dc@DG@e@Fe@JUDQDe@N[J[J[POFMF_@RYRE@YRYT]X[XYX]^_@d@]`@e@p@a@n@i@x@w@~@u@jAi@x@EF_@l@i@x@i@t@u@bAaEvFkJnMgJjMY^wQxVcKlNSZk@t@gI~KY`@{JdN_AnAqAfBeE|FqCzD_C~CsO`Ti@r@i@p@i@r@k@r@m@r@m@r@s@v@i@j@q@p@k@h@m@j@o@j@s@j@o@h@s@h@u@h@q@b@s@d@q@`@k@\\GBs@`@s@^o@Xs@\\m@Vq@Xw@Xs@XwEbBoLhEcDhAgE|A_HbC_Bl@u[hLWHgE|AqBr@{ChAsEbBqFnBgMpEoPbGwFtBwEbBwt@`Xm@Ta@N_@Lc@P{RfHm@b@m@Vg@Tm@Zi@Xg@Xk@^a@Xm@d@c@^g@b@e@b@g@f@a@d@c@f@e@j@a@h@a@l@_@j@c@p@_@n@_@r@_@r@]r@[r@]v@Yr@[x@Wv@Wv@Yz@Ux@YdAU~@WlAWjAq@dCuApHkBvJsAjHiCfNkJ~f@", - "myszków|rozprza": "uwssH_yauBm@bDm@|Cc@zB{BvL]fB{A`IuGp]sBvKmDbRuBzKk@xCqA`HmBbKq@lDUdAUjAYrAWhAU`A]vA[jA]pA[lA]lA_@nA]hAa@pA[bAa@hA_@jAa@fA]`Ae@lAc@dAa@dAIP[v@c@`Ae@dAg@dAe@`Ae@bAg@~@uMnWEJiNlXc[|m@mA|Bc@x@c@x@g@z@k@`Ai@z@i@z@]h@OTg@t@m@x@g@r@m@v@g@r@m@r@k@r@k@n@o@r@g@f@a@`@WRq@n@m@f@q@h@q@f@iFzDWP{IvGs@f@m@d@q@b@q@b@c@VQLk@\\u@`@u@`@_QjJYPoYvOSJeRpKGB}\\|QID[Pid@pVgEzBGBsC|A{EhCgAl@eVrMqJhFyDtB{Av@ob@jUeOdIcOdImFtCs@`@u@b@u@b@s@b@s@b@s@d@o@b@s@f@eBnAo@f@o@f@o@f@s@l@k@f@o@j@o@l@m@j@m@j@q@p@o@p@m@p@e@XIHoBxBy@|@EDe@j@SVk@p@k@v@[^_@h@_@f@g@p@m@|@uAnBeVr]ie@rq@sCdEk\\te@iFtHkElGeSvYiHbKaHdJ}@pA{@jA]h@sAnBaAvAe@r@c@p@mApBcBhCMRkEnGcFpHq@~@}MvRg]~f@{AzBQToAhByE~GaN|RgTh[oEnG{AxBiGrHiCnCiCjC_IfGeCdBgCxA}Az@}Av@sClAsCjAaCx@gCp@yDx@}Dt@k]pFiSbDcb@vGqNzBmKbBmZ|EqCb@gBXgA\\_a@rGwCd@E@y_@fG{_@hGym@xJ_d@jHgTjDmBZUDG@o@Lg@La@He@Li@Nw@Ro@Ro@TI@k@Rk@Rk@Pq@Xe@Rg@Ti@Vc@Tc@Tc@V{@f@]RaAh@aAj@mAt@}A`AuK~G{XbQeNrIGD{IrFe@X{DbCeBhAgAz@m@d@g@b@m@h@e@b@e@b@q@r@i@j@e@j@W\\_@h@a@h@]j@c@v@g@~@{@`BaAhByBfEwE~I{@jBe@fAa@fAk@hBa@|A[rAWjAqCpNgAfG}@rF{AxJg@|Cg@tD}@nGa@bDc@~CWjBWhBs@vESxAU~Aq@rEu@nEwArKMx@Mn@Mr@Mp@k@fC[tAMh@Qr@Oj@Ql@Oh@Sj@Sf@Qb@Wh@EFO\\U`@U^W`@W^W\\WZ[\\YXg@d@c@`@w@n@wAlAs@l@YTUPYRYPc@Tc@R[J[H_@Jc@Ha@De@De@Bi@?}BCmACgAAoEGaAAgDEyFIeBAwACgLOaFGqACyCEa@?qDGg@A_@Cc@Ce@Ce@Go@Gi@IQC]Gg@Km@Oi@Mu@Sk@Qq@WaA[{Ai@oBq@o@Um@Wk@Ug@Wg@Wc@Ug@Ya@We@[a@Yk@c@c@]i@c@e@c@k@i@g@g@m@o@i@m@g@k@UYY]m@u@c@o@g@s@i@y@]g@MSe@u@e@y@e@{@i@cAa@w@e@_A_@}@e@cA_@_Ac@eA]_A_BeEIUgE_L_LaZGOcLgZ_AgCkCcHaCqF_CkGw@uBw@yBu@qBkA{CmBgFSg@GM[y@]y@[s@[q@]q@]s@a@q@_@o@a@o@_@k@c@m@e@m@c@i@c@i@a@c@g@g@e@c@g@c@e@_@k@c@c@[k@_@g@Yg@[k@[qAu@eUgM{b@aVqo@e^wDaCoC}AmBeA_Ai@wNaI}GwDoAs@i@[_@Wa@Y]Wa@]][_@_@[_@a@c@Ya@[a@]g@q@cA?A]i@]i@sAuB_@m@[i@[k@Wi@Yi@Wm@Yq@Sk@Yu@Uq@W}@Wy@U}@U}@WcAQy@UiAO{@QaAOcAOaAK_AMeAKaAOwAKaA}BaVMYuGuq@sS_wB_E{a@gB}QOsAOwA_@gDOsAOuAu@oHWgCm@gGOsAKaA[iC_@eDO{AKeAIs@SoBMsAKmAKqAKmAWaDKmAMqAKmAMqAkBsRYwCmDs^KeAMsAKuAMqAKsAWkDMuAMoAs@uH[_DmDy^OwAMsAOsAOsAMkAOwAQuAOmAaCaRaCoRqFob@eLq}@wI}q@c@gDa@cD_MiaAo@iFsUijBc@eDa@cD{CgVy@qGOcAMcAIg@EYO_AQaAQ}@Ki@I_@Oq@U_AU}@U{@W{@Y{@Uq@Y{@[y@[u@]w@[o@Yo@_@s@a@s@a@s@[g@c@s@_@g@a@k@a@i@e@i@a@c@a@c@e@e@g@e@c@_@e@_@IG_@Yg@]e@[i@[i@Yg@Ue@Uk@Ug@Qc@Oe@Mc@Me@Ki@Mi@KgDk@sI{A_@Gq_@uGeCc@kIuAmGiAgEs@]GkKiBcUaEqWmEoVsE}ZoFkXyE_]_G}KmB[GaKgBo\\{FeTsDaRaDcNaCw@Ow@Ow@Qs@Q[Ik@Og@M_@M]Ko@SSIUIa@Oi@Se@Si@UyBcAy@a@q@_@s@c@q@_@q@c@q@e@o@c@u@i@uNkKuOcLoBwAc]yV]WuGyEgE}CsCsBUQaHcFaSwNaYqS_D}BeCiBa@YwImGqByAcq@qf@mo@ee@u@i@mUgP_@YkWgRMIg]{V}MwJqDmCiGqEwDqCmvA}cAYScoAc~@ah@k_@IEoXcSu@i@u@i@eBoAq@i@o@c@m@c@k@_@o@_@m@]o@]QK_@Ok@Wo@Wk@S_A[SGy@Uo@Mi@Kq@Mo@Ik@Gi@Em@EOAm@As@Ae@?g@@c@@e@@iDPiFT[@cMj@wERyKh@mCN}`@fBW@eI^yCLiBDsBDcABu@@k@ByJXW@av@hDM?uKf@y@Dy@By@B{@?q@?u@?s@Ao@Cm@Ck@Cm@Gq@Ik@Im@Ko@Ko@Oq@So@Qs@Wq@Ue@Q[Om@Wy@]s@_@w@a@s@]AA}r@c_@cUuLuEcCsKwF_JwEoGgDu@a@u@a@s@c@m@a@u@i@i@c@q@i@i@e@o@m@k@m@i@k@k@q@m@u@g@q@k@y@g@s@g@y@e@w@k@cAa@u@g@eA_@{@e@eAa@aAa@gA_@eA[_AOe@Me@AC]kAYeAYcAUcAWiASeAUmAUmAUsASuAuEiZ}Ea[UsACOQ}@WsAUmAYsAYoA[uA[oA[qA]oA]mA_@sAe@_BW{@a@qA_@gAa@mAa@gAa@gAa@aAe@gA_@}@g@aAe@_Ai@_Ag@y@k@_Ai@{@q@}@g@u@m@u@k@u@[_@YMk@o@m@o@o@m@s@o@o@k@u@i@o@e@w@k@s@e@]Sa@Yk@]s@c@s@c@s@_@q@]k@Wm@Wm@Uo@Sm@Sm@Qm@Oo@MaAS}aAmPeHmAwCg@kF}@EAWSaBYmWgEoGiAcPqC}Ey@mJ}A}NeCq@Mm@K]GOEk@Mk@Oi@Qm@Si@Sg@Sk@Ui@Yq@_@k@]m@]g@_@k@c@k@e@g@e@i@g@e@g@g@i@c@g@c@k@e@m@]i@_@m@iAkBc@w@_@w@a@{@]y@_@y@]cAWo@Oe@Sk@Y{@Uw@U{@U{@Sy@EQMo@S{@QaAOu@SiASkAQiAU{AQmAaNe~@}CwS{M{}@kNu_AoC_RwC_SoAoI}@eGuI_l@{RsrAo@kEiQilAwIal@SuASoASmASmAKOQy@S_AScAU_AYcAWcAW{@[_AYy@Yu@[w@[u@]u@_@q@_@u@]q@_@o@a@o@a@o@a@m@c@m@c@g@c@i@e@e@e@e@e@a@k@e@e@]o@c@e@]gBmAq@c@m@a@o@e@g@a@m@g@i@e@k@k@g@i@[_@GGSSY]e@o@c@m@i@u@c@q@i@}@_@s@m@gAkAyBo@iAIOaByC{CyFsF_KiCyEa@u@a@s@i@y@g@y@g@s@m@y@o@y@k@s@m@u@o@u@m@s@o@s@m@o@s@u@q@q@s@o@o@m@o@i@o@g@q@e@m@a@m@a@aAm@_CyAmAy@g@[_DqB_C{Ao@a@u@g@}AeAyB{AiAs@eDwBoGaEyDcCm^kUks@kd@aXuPsD_CcEmCkbB{eAcMaIOIgH_FuGeEu@e@{@i@y@e@{@e@w@a@}@a@_Ac@{@]WMm@Uo@Ug@Qg@Qa@MICi@Qi@Mk@Om@Oe@Ke@KcAS}@QaAQ}@OsEw@q\\uFaLmB{@Os@Ou@Ow@Q}@UaAWw@WGAw@Yu@Ws@YcAa@gAg@y@a@o@]w@c@{@i@y@g@w@g@k@a@g@_@iPgLu@g@sE_D", - "rozprza|piotrków trybunalski towarowy": "e`bxHyg~vBa@YgAs@eBkAcD{BOM_@WmFuDaD}BcJqGcEuCcBmA_BgAyB}A{IiG}BaB[UoI}Fq@e@q@a@m@]e@Y{@e@s@]_Ac@u@[y@]y@Yy@Wy@W}@Uy@Uy@QYE_@Io@Kw@M]E{AQsBQcBQoc@}DuCY}v@eH{v@eHc[sCiReBmGm@_TmBiEc@yEc@yD]{NqAcVwBqWaCwBSmCUq@GkCWoAM{BSuD[kD]gCUsEc@uTqB}v@eHqEa@MAqEc@{J_AuFi@gCU_@CiCWQA{KcA}o@aGmCWeAKyBQoEa@{BS{@ImAKuAMu@IyIw@WCuEc@kKaAm@G}@IiKaAe@EmW_C", - "piotrków trybunalski|baby": "owyxH{}cwBqOwAuIw@OAg]_D{MmA}AOsGm@yBSqRgBuHs@aJy@E?}AOaE_@}Go@kBQkD[{CYsLgAuIw@{CYod@eEeBOcBMeFc@mSeBaDYaMcAOA{NmA{v@uG}v@sG_e@{DuBSgMeAga@gD}CYi@Ek@Gm@IQCi@I}@Oy@QaAUy@Sw@Ug@Q]Ko@WSGYMiCcAcI}CmAe@sKeEg@GeFoBkAe@kBs@yk@}TyqAmg@m@Wk@SwLwEgBq@y@[{@[oAe@oCaAu@YiDqAqEgBa@OcCaA[M", - "baby|rokiciny": "y`qyHm`jwBsp@mWwHwCYMcE_B}D}Ayu@}YaE_BcE}Aq@Wm@Uq@Uq@So@Qo@Ms@Mo@K_@E_@E[Cw@Em@Aq@Aq@@u@Bm@Ba@DYGg@Ds@Lm@Lq@Ns@Pk@Rq@Tm@Rg@RoYxLkHzCak@zUkJ|Dq@Xs@Vk@Rq@Rw@Tq@Lg@Je@Ha@F}@Fs@Dm@Bs@@o@Aq@Am@Eu@Gm@Gs@Kk@Ko@Oi@Oc@M]Ke@Qa@Ou@Wq@WuAk@}KgEOIgEgBs@[o@W{@_@gEaBiDqA_E{A_A]}@[}Bw@wAg@]OuIeDgf@_RwBy@cC_Am@Wi@Uo@[g@Ww@c@w@c@}@k@o@c@}@m@u@i@{@q@s@k@s@m@o@k@o@o@m@m@s@s@e@i@yOwPmI_Joc@qe@sLkMqAwAqAwAe[y\\uJiKwFgG{A_BoW_Ymm@ep@KMa@_@o@q@c@a@s@q@w@q@y@o@w@k@w@k@w@g@}@k@u@a@k@[o@[_FqBiBq@kGeCyEiBgEaBik@uToHsCmXoKiJsDGCcFmBqGgCQI", - "rokiciny|gałkówek": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gTeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YsA[iDuAkCeAo@W[Ok@Um@Wi@Wm@Wm@Wm@Y{@_@{@]}@]}@_@u@Yu@Ye@QSDSBSGSESCSCKASASAS?Q?U@QBSBQBSDSDQFSFQFQHSJQHQLQJIHSPSPONONOPOPMRORMRMTMTMTMVKXKVKXKXIZIXIZGZIZG\\EZGZE`@E\\E\\C\\C^C\\A^AXA`@A`@?^?^?^?^@^@^@LBf@@ZCf@HFBf@GFP~CBh@Dd@D`@Vl@BZB`@B^PrDB`@Df@Df@C`@J`ABTLtALxAJfALrALrApCb[Fn@Dj@f@tFj@nGDh@Lb@D`@r@fIt@hIvBbVVrCLtALvALrALtAJrALrALrAJrALtARNFx@Bb@BTGf@TLHx@JtALrAzDbc@h@bGCPEd@?d@zDta@JhAPFZ`DGBR`DPbDHfDF`DO\\?jAAjAG@ClCTFG~BWFEfAFFLRKzAQ\\IfAAPGt@KhAJPYv@HTMdADLYpASvA@PsH|c@E?IdAMz@UR@`@Kz@KfA?`@K^?f@IXIbAQDG`AL\\IjAEtAEnAEfAFBAlASBIf@Fd@Af@L\\MNGf@TN?jAUJHZN^F@FrCD~AUlA?tB", - "łódź widzew|łódź chojny": "}j}zHsoevBIlAUfE@r@Et@GzAEnAAv@?z@?z@?|@Bz@Bx@Dz@Dz@Fz@Hz@Hx@Jv@Lx@Lx@V`B\\hBNt@RbATbAVjAXfARt@Rr@ZbA\\dATp@Vn@^z@^|@Zn@Zl@Zl@\\j@b@p@`@n@b@l@b@j@VXTXZ\\`@b@b@`@NL\\Z\\Xd@\\d@ZZR\\R\\Rj@Xl@Xb@Pf@PXHd@Nl@NZFZFf@Hl@Hn@Ft@Fv@Dd^vB|@FdDR~DVTLvBNn@B`AFrAHlHd@nAH`Oz@bEVvAJxBL~BNr@F^DfAN~AT~@RhB`@PDpCn@pDr@vATh@JhCb@dCb@|AVrDl@bDh@fAN|D`@L@n@HpARpBZl@LdBZr@N\\JTFVHHDj@R^Pf@X^R`@Xd@\\f@d@ZX^`@X\\\\b@`@f@JPZf@Zf@Zl@P^NZb@bAPd@^bAL`@Pn@Lf@Pr@Np@Lj@RlANz@Hn@Hn@Hx@Dd@Dr@Dd@Bj@Dz@Bt@BfA@nA?fA?b@Av@EtACv@IrBSnEWpEKrBCj@DJ", - "łódź chojny|retkinia": "}quzHis~uBU|EC^AZ?XAv@Az@ATA|@ErBErAMzBGnA{@bQk@~K]tGUhEMlCK`BK|AIrAKhA[vDKlAEf@Eb@Cf@C`@Cv@A\\Cx@?l@AhA@x@@tA@dABr@@d@Bf@Dd@@XHbAJfAHv@Jx@Jn@Lp@XxAR~@H^FPDRJ\\Nd@Xz@JXVr@Rb@b@`Ad@dA|B|EbD|GtChG|@lBf@hAZx@l@bBB^ZdAJ`@Pp@RdAZdBHj@Lv@Ff@Fr@Fp@Fl@Dx@Dz@Bd@Bt@@h@@|@@p@?BAv@?T?d@Az@EjACj@Ex@Gt@El@KdAEf@Kt@Gb@OfAQbAYdB}@dFcBzJmA|GMv@Ot@S|@Mn@St@IZMd@Mb@Sj@Ur@Wn@]v@Yj@_@r@Yf@_@l@]f@ORu@`A[b@s@|@i@r@_AjAwCzDyAjB}@jAg@p@m@t@u@`Ac@f@a@b@u@v@m@h@k@d@WP[RQJe@XKFOH]Pi@Vo@XoEpB]NQHUH[L_@N_@L_@L}Br@w@V_@Na@Nc@PYLc@PUJUJUJcAd@q@ZWJ_@P]Lc@P[JYJSFQDg@LWF_@FYFa@Fg@HeJtAa@Fc@D_@D]D[BU@U@YNoCJa@@S@S@Y@Q@Q@O@]BI@m@FUB]BOBSBQBi@FIB_@Fa@HiAR]ZSHKFQFOHQJSLKHWRMHKJKLKHOPQROROROTQXMRIPINIRKRMXM\\M\\KXK^K`@M`@I`@IXCRGXGXGZE^G`@G`@E^E`@Eh@C\\Cf@Cf@C`@Af@Ab@Ab@?f@?d@@\\?d@@`@@`@B`@Bb@B^H`AJ|@EDHp@DTLRZ`Bv@`Et@rDZzAZrA?\\dAvENn@^~A\\`BFA^nBj@lDOJp@dBjAhGLp@Lv@Jl@NJE\\PtAD^FXDXRFb@nDPbA?\\", - "retkinia|łódź lublinek": "k`yzH_aouB|@lEDTh@rCnB~J~C|On@bDtAbH|A`Iv@~DRdAdCjMj@tCjBnJrCxNPZvCjOjJve@zCtO|CvOvApHvAjHpDzQ|BjLLp@Pr@VhA\\rAX~@ZdA\\bAPd@Vr@LZTj@N^Tf@LVTf@\\p@^r@T^b@t@Zf@d@p@h@t@t@bAlFnHZ`@bCfD|\\be@BB~AzBnAdBb@l@", - "łódź lublinek|pabianice": "{otzH_zcuBFFt@dA|CfEzAvB`BxBbDpExEtG\\d@f@r@lAbBnCrD\\d@Zd@X\\VZ?@XZZ\\XX\\XZVZX\\TZRTLRJPH^P`@NZJ^L^H^F`@F\\D^D`@@^@^@^HjQOv@Ar@?x@?p@@r@@v@Dp@Bx@Ft@Fv@FxSlBj^dDTB|Gn@fCTnTpBzFh@VBnRfBlTpB`|@`In@F`@Df@F^D^DZDb@H\\H\\HZH^LXLXLRHRJLFNJPJNJPLPJNNPLLJPPNNPNNPRRNRLNRVLPTZNVT\\NZPXLVTd@Rb@Tf@Rd@Vj@lAzCxFtNpBdFNZnB`FRh@fHpQrCdHbApCfAvCj@|ATj@Rl@d@fAx@tB|@xB~@~BbA~B`@z@Tj@h@nAXp@f@jA", - "pabianice|dobroń": "cwhzHuz|tBp@dBv@nBdAhC`AdCfApCjDtI^dA`@dA^dA\\`A\\fAZdAZdA`AbDz@tCjA~DlGlTjKh^HV~Mzd@|Nhg@z@tC\\jA\\hAV`AZlAVbAXfARz@Rv@R|@d@lB^|AhEnQfRlw@tRvx@DNh\\ztAfKxb@DThDlNBLtCvLjB|H", - "dobroń|kolumna": "ewbzHetltBdF~SlOdo@tId^Pv@rFrTpBhIrPvr@VhAVhAVjATjAVtARbAd@lCnNtw@pAjHlA|G", - "kolumna|łask": "o}_zHw|ctB@Ft@fEvBrLfBzKTrARnAVzAPjAPrAPrANnAPxANvALrANtAJtAvFdr@vBrWL`BJnAJrAHxAJvAFtAHxAFtAD|ADrADxABtABxABvAb@b[VtRXfNB~ABjADzADtADzAFrAHtAHxAHvAJtA@LJhALtALvANrAPvANnATxAPlARnATrAh@hDrFl\\`EfVz@dFhFf[tAjJLr@Jt@Nz@Jz@Jr@H|@Hv@Hz@HbAFz@DbAD|@DfABz@@|@BdA?hA?~@?VAt@A~@ArAChACpAIhDCdAG`EEvAEpAGrBm@~POlEKpCg@dOWbHa@nL", - "łask|borszewice": "i|}yH{bssBSbGOlEQdFCl@[nIo@pRmCbw@kBxi@o@nRa@jOkAt\\iBhi@Cr@wA`b@eB`h@[zI?@sCny@kAx]", - "borszewice|gajewniki": "o~~yHylesBi@zO]hJUfHuBrm@qBjl@yB`p@An@gEdoAG`BEnAEzAA^At@CzAArAAvAAzA?xA?xA?xA@vAB~A@rAf@~a@@p@HnG", - "gajewniki|zduńska wola": "_r_zHotzrBHbHT`Rp@`i@JvJFfDPbM@fAHlFHbGBtCTpR@t@VxR@r@R~OLjK@BDlEFjEFdEBbDHtF\\fZ@d@@h@", - "zduńska wola|sieradz": "qh_zH{rrrBTfRArC?Hf@pb@BlB@xA?lBAzAAnEApA?nA@x@?p@@t@BpBBzAHnEdAnj@@j@`A`i@?TxBflAn@z]RvK^jRBbBB|A@rA@lA?pA?pAArACpAGlEg@jf@aBpoA[fVWhRAvAAtA?rA@pA@pADrAD~ADbBFbBHhBn@`Rp@fRVlHVxGpAf^T`HTrGF|Ah@|OVrHLbDhAb\\^hKNfEDtABpABtA@fA?H@rA?nAAnE[vcA?VW`e@CjMEnMElMAfFArBAx@Ax@AlAEpAEhAGjAKlAMlAK|@M~@O`AS`AOt@Qt@W~@Y`AWv@Uj@Wr@Uf@S`@OXa@v@]j@U\\]f@e@j@iAvAkDjEmG|H]d@]d@a@j@Yf@I^OVYj@]r@Wj@Sj@Ul@Up@K\\Md@Qp@Mf@Mf@Ov@Oz@Mz@M|@K~@KbAMpA{@`Ja@hEO|ASvBKtAOhBK~AGv@KdBIdAEfAEbACx@Cb@C~@CvA?h@Aj@?xA?lA@tABnABnAFtAFrAFnAHpAJpAJlANrANnAPlAPlARnAb@lCbHra@TrAvDtTdBdKr@~Dr@bE|Hzd@DTX~AXzANv@Px@Pt@Tv@Tr@Tt@Vp@Xp@Vj@Zn@h@bAj@bAfEpHlI~NbFzIf@~@\\l@BDb@z@Xj@Xl@JRf@pAVr@Tr@X`A\\lA`@tAfAdETv@X~@Vv@Xv@\\z@Vp@\\r@", - "sieradz|sędzice": "_k}yHgnhqB\\p@Tb@^r@\\j@tAbCvAbCLf@Vf@R`@Vf@Zv@P`@Z|@\\dAJ^J^Pl@Np@Nr@Lr@PjAHj@Hn@Fj@Ff@Fv@Fz@F`ABp@JlCLrDL~CDfBPrGDdBH|BNzDFdCNrFH`E`@rPV|Kp@dXLhFBtA\\rJHzCDzADlBf@hSB`ADxA@pABrA@pA?xA?zACjy@Cbx@Apg@?pE?bDA~@?z@C~@Az@E~@Ez@G`AGv@K~@It@Kz@Mx@Ov@Ov@Qv@Qx@{@rDSz@YnAWfAWdASv@Ut@St@Ur@Yt@Wj@Yp@Yl@_@t@c@x@a@t@qBtDgXjg@sGxL{EnJmDtGma@bv@oMdVU`@aAjB]l@S`@S`@OZMXO\\O\\O^Un@Sl@Uv@St@Sx@Sv@Q|@Mv@QhAQfAeCfQyEz\\mKtu@E\\U`BW`BQnAMdAOlAMhAMlAIhAKjAIhAi@dIsEtr@ADa@hGKtAIhAKrAMjAOrAOhAQnAQhAMl@Mr@Mt@Or@_@fBkLrj@uF~WeAhFMn@yC|NKh@", - "kraków zabłocie|kraków główny": "}|mpH}~xxB_B`Cg@v@eCpDAB_@h@CD}HnLEFqAlBgA|A}B`De@l@_ArAkAzA_@f@g@l@e@h@]\\]\\a@DQSe@^c@Zc@Zg@Zc@Vi@Xg@Tg@Rg@Pe@Pc@Lc@Le@Je@Jc@Fc@Fi@Fi@D_@Bg@BgEF_@@eFFm@@g@@Y@W@_BFY@k@BI?W@S@iBDa@@w@@M?aDF}BBM?a@JK?]BY?QAWAKg@SEOGQGWKOGa@SQIMIUVIAQEKAQASAY?U@E?a@@}@@[?@`AiCDiDFU?S@Y@Y@[D_@D]F]HKTWIKBUFYHUDQXMBQFODUHSFSHSJSHEFQFSFUJSAe@SQVE\\B^[L]OQTO^IFSJMSW?Y@Wf@SJSJKEOXSLQLSNSQSSQCOTc@R]@KDw@^a@PSFYHEPQDQBMBUKW@O@U?QAWJWCSSWEKCMC", - "brynów|katowice": "y_uqHgs{rBwHuOWe@]o@_@u@sFgLg@cACEs@yAMYyCeGkByDoFeL_@{@g@qAIQq@gBm@iBc@}Ak@wBa@iBe@_COs@Oy@_@cCi@kDeBeMs@gFE_@Mu@QwAIaAGy@[oEE{@IcCCeA?cD@gB?mA@cADkEFyAN_FBc@XgIDaAOU", - "katowice|katowice zawodzie": "_{vqH{uasBHqAPqBLyABYHiAH}APuFr@eTT_HBo@@W?mC@cB?wBA_D?a@?k@AW?uAC{DEmBKuEOwF@aA[eMSuHImCg@oLc@}KScFMaDGuCAc@C_D?}BBcEHyEByAF_DF}EOw@AsCC_C", - "katowice zawodzie|sosnowiec główny": "k|vqHwthsB?_CB{AD}ALsDRsFDoAHoAL_B`@sEPaC@kBLgEL{EVaHH_EF}FDyC?qDG}FKyFSqGYqGi@wIm@cJcDif@UkDOyBMyCOuCo@aIu@cJa@cFCa@YiEM_CIcAEw@W}D]sD]kD]iEw@{KWiC[mBe@uB]mA}@oCeA_Di@{AcAgCkAgCqAyBi@y@{@kAmA{ASUw@}@cAgAkC{BoCqBqLwIeHeFqC_Ca@[{CyB_BkA{B_BwAeAAAi@c@i@e@i@i@k@q@q@eA_AeB_AwBi@wAoA_Do@cBUe@aDkI", - "sosnowiec główny|będzin": "sqzqHwqusBIUKW}@}Bo@}A]_A_A_C}@}Bs@iBaAcCwBwFwHwRiAwCu@mBw@oBgAqC_AcCsAgDkD}IqDiJO_@c@u@??q@gBy@uBq@cBc@aA[o@]k@e@w@k@s@{@_As@q@aD_CsAw@sAq@{Bu@_Ba@q@KcAMy@K{@K_EYiAMy@I{AQi@EgBSmAIaAK{BYuEi@IAgMuAiAMaGq@cFi@aBQoBIu@?o@@wBR}@Pu@PoA\\G@wA`@kDdAi@Tm@VeB|@aAn@]V{@p@y@r@eBbBu@p@o@j@k@f@}DbD", - "będzin|dąbrowa górnicza": "obarHmlysBkA~@gAx@KFaBlA}AhAiBvA{@d@_At@wBdBcAz@cAx@a@X_@VYR]Ta@V_@T]Pu@\\s@Za@N]LQFk@Pq@No@Lm@Ji@Fq@Fw@F]Bg@Bk@@]?q@?w@Aa@Ae@As@Eu@G_@Ek@Go@Io@Kk@Mm@Mm@Om@Uo@Wc@Q[OYOCAa@Sm@_@k@]o@c@o@e@k@e@m@i@m@g@i@k@m@o@g@k@g@o@a@i@i@u@e@s@c@q@_@s@a@u@e@_Aa@}@a@{@a@cA]aA]_A_@kA[eA[eACKOm@Qs@Qu@S}@Oy@Q{@QgAO}@QkAGg@CWOeAk@uEcAiIK_AgA_Jm@aFcAkI]oCY{BUiCC[i@kGQsB_@qECQCa@MoAyC_^Gq@Eg@Ek@Ek@Eu@Gy@KoBc@eI]gG[gGCq@Ci@CYAw@Ac@A_@?]?_@?[?a@@a@?[@]@a@@U@WBY@[BS@UBS@UD_@?k@BSNoAHw@~@iI?G`@iDFi@Fm@@IFm@VkCl@_GHu@NuAnBgQh@uENoALoA", - "dąbrowa górnicza|dąbrowa górnicza ząbkowice": "}aerH_lbtBNoAJ{@Hu@Fm@Da@D_@Dc@Dg@Be@Ba@Dg@@a@@]BW@]?[@]@_@?a@@_@?c@?_@?_@?]Aa@?[Ac@Ac@A_@Cc@Ci@Ck@A[C_@C[Eg@Ee@Gg@Ee@Ge@Gc@E[G[EYE[G]GYGYG_@IYEWI[IYGUGWGSK_@Ma@Oe@Oc@Qe@EOY{@_AkCAEeAwCo@kBc@oAw@{B{AmEUs@eKaZgCoHw@{BqAuDyAgEwAeE[{@sBcGe@uAeJ}WuA}DM]Oc@s@sB{AmEg@yAc@kAm@{AUo@Wm@[w@Sg@Qc@Qi@[{@Sk@Si@e@wAwDwKWu@{@eCc@oAUw@Qk@Y_AW{@Wy@Uq@Qo@Qk@Qi@Uo@So@_BuEq@oB{DaLcB}EeIuUkAkDc@kAEMe@uAyCuI}ByGyEcNiBmFeA}CwJaYY{@[y@Yy@[w@Wo@Yo@]u@]w@[m@Ym@[k@S_@GI]m@]k@a@m@a@m@a@k@a@i@MQKMW[ACSWUYUYyAaBsB_CW[m@o@}AeBa@e@m@m@EEu@u@o@m@k@i@gAeAWWi@i@AAQ]_@_@", - "zawiercie|góra włodowska": "}aasHyvpuBSPO@QBq@L_CLoAHw@HWBeD\\K@a@Ds@D{@D{CNcDN_Nl@uETgBF_ADaI^eADi@Bg@@aBB{@Bc@?y@Bq@Bw@@wBHiJ\\s@BcAD_@@cBFi@Bm@Da@BG@g@Hc@HUFSDa@L[J[L]N[N]R[REBWPYR]ZYV[Z]\\_@d@[`@e@p@c@r@g@v@iBrCo@l@s@`@k@z@g@r@q@`AcEvF_F|GsN|RY^_c@vl@MRo@z@QTw@fA}ArBY^}G~Ik@t@k@t@wAnBgFhHiA|AoFnH_CdDwApByFfIs@bAg@p@m@v@i@p@k@t@k@p@m@r@w@x@g@h@k@j@o@n@o@j@o@h@q@l@o@f@s@h@w@j@m@`@u@d@s@`@q@`@s@^s@`@o@Xi@Vq@Xu@Zy@Zq@VsE`BoOtFiGzBeKrDgf@fQ{ChAkKvDiKtDeA\\s@Vu@Tw@Vw@Tu@Ry@Ti@LODs@Pw@Pu@Nw@Pw@Ny@Ns@Ju@Lw@Ju@Ju@Hu@Jw@Hu@FcBLcAFw@Fu@Bs@Du@@s@B{@@w@@s@@w@?u@?u@?u@Au@Au@C_ACo@C{@Em@Eq@E_@C{@GWCWC}AO}BWcDe@}Ck@{Co@wDaAsDgAsHmC{BaAcAc@{DoBsEgCoEsC}B}A{BcBmCuBkC{ByDiDqCsC_@a@qByBmB_CuEgGqBwC_LgQyDeGgEaHeEgH{DsH_EoIgCcGqBaFuDiKwAiEuAkEOi@cB{F}AaGmDmO}BqLwByL{AoKsAsKy@yHs@{Hm@}Hi@_Iy@iQe@sQOiMCgMBoJLqJ^oOl@yOr@{OxE_eAEe@hAwVHiB", - "góra włodowska|psary": "gzvsHooxuBrCon@lDow@FmAvAm[hDiu@\\}HP_FZcMJsHFsH@cF?cFIgMUqMa@oMgAuSkBmUsBgRgBeMqB_MwB_LaBsHAAgBsH_@{AyAqF}AoFaBkFcBiFqK_\\sAgEcBoGgDmMsCcMsAwGmA}GiA_HEU_AkGkA}IiAgK{@}Ii@uGc@uGUmDQgDWwFSyFE{AQgHKuGGsGCmH@mH?uAXe]Zq[FsG@k@DmG^y_@TqTNoHRkIJ_DJ{CDoAFuADmAJcBCu@fCmj@b@kJdFqgAx@_QpDuw@j@cN@c@XgJPgKFmK?oKIiMUeMY_JCu@g@sKo@eKu@aKkAsLg@wEi@uEuBaPa@yCgQerAaMi_AaD_VoCqSwCuTmA{IsA{IoAqHe@gCo@iDaB_IiB}HoD_NOk@iFmP_CwGgBuE]{@}DeJgE}I}@eBgDeGmD_GoDuFuDkFyD_F_E{EcEkEkEgEqE_EwEuD{EgD_F}CeE_CSKwDkBkD}AyEiB{E_ByEsA_FiA{Cm@{Ce@}Cc@}C[_DU_DQ}HSsDAcEFWKsERcEXq@FyBToDb@wI|AoTtE}MvC}UhFea@xIa[|G[H}UfFuBd@YFyIdB{IxA_Gp@_G`@aGP_GDy@AkCCcEOeEUeE]oFq@oF_AmFkAkFyAcH_CmGiCOIyGeDwGsDyEcDkBqAkByAsEuDcDqCm@g@{KmJoD}Cg@a@iOwMiC}BYWmBiBeCeCcCkCuA}AOOqB{B{BwCgCcDcG{IkDyFiDaGcDqG}CuG{BeFwBkFiFsNcDgK{CoKqHeXmBcH}Osk@kKu_@yIs[kAkEyHwXgEqO{@}Cc@{AmDoMsBsHcC}I{Uk{@}BqImDgM_@uA_CqI", - "katowice tow. ktc|katowice": "elxqHca{rBLi@Jc@XuA`@cB\\wATkAf@}Bx@eE\\_Bb@wB~@sEdAsFvA{Hl@kDb@{BfAyFZuAZoAXeAp@}Bn@qBXy@Xu@P_@Fa@d@}@^o@xAeCpBgD|B{DhA{Bd@kAZ_AZgAP_APaAL}@JaALeBB}@DwB?eAAaACeACs@Eq@AKCe@KmAWwD@k@WeDMqBGcAE_AAe@Eu@CWGiAAQCsAAg@AyA@}A@sADyAJsC@[VkH?ID}@D{@\\A", - "warszawa praga wpt m|warszawa wschodnia": "et~}Hyko_CHi@^wBf@yCP_ALy@h@{CrB_L`@_CLo@Lk@Li@Ni@Lc@@CLa@Pg@Ra@Pa@Ta@R[V_@TYRUPSRQd@a@bAu@t@g@TQVMTKZMXITELCNCXCZAX@X@\\DVFTDLDPFXNTJVP^X\\Xb@`@fC`CPRRTPVPXPXNZDHP`@Rd@L`@JVBJNh@Nh@d@dBPLLd@Rt@V~@J^Nd@J\\Tl@n@nBz@bCj@dBb@rAp@jCtArG~@nEhEtHXtANl@H^FZDVFb@d@`DCXD\\FZF^Fb@BTLx@Fd@Hb@z@`GHj@Hj@JL?`@Qd@CTJZFRHVLZHXN`@HTREPf@C\\TDN^JVTPJRNVLPLPNPLNPNTPLHPJNHRHFBXJTPVTNBTDTBTBpALTBTBP@P@P@VBV?X@", - "żelisławice|włoszczowa północ": "mnbuHwqhxB_BoIcq@knDuB{K}R{dASaAUkAQ_AS_AU{@U}@W}@Uw@Wy@Yw@[{@Wq@Yo@[s@[o@Yk@_@q@[i@]k@_@k@a@m@_@g@_@g@c@i@c@e@e@g@a@_@c@a@qR}OmQuN{AmAsAgAgA}@{CeCqAeA{CeCiByAoFgEeF{DeBuAaBqAcBqA}AkAiCsBeDeCiAy@}CuBs@c@q@c@u@e@w@e@wAw@aFiCcBw@mB{@aC_AaHqCaEaBgMsF{Ay@oA[", - "rokiciny|koluszki": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gTeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YsA[iDuAkCeAo@W[Ok@Um@Wi@Wm@Wm@Wm@Y{@_@{@]}@]}@_@u@Yu@Ye@Qg@Sm@U}@[}@[i@Sg@Si@Q]O_@Ma@QgUaJmCgAg@SaBo@iAc@a@QoDwAc@Qe@QUKWIWIWIUIa@KiA[e@Mi@Om@Ow@Ue@Mg@Og@QYKYK{GmCaAa@WK_Bo@i@Ss@Ys@[WKQI[O[O]Q]Q", - "koluszki|rogów": "{ryzHe_~wB]Qg@YUMSKwBoAoAs@SMcB_As@c@i@YcEaCaB_AiEaCkEeCSMuAu@kGoDu@a@qF_D_B}@}A{@aCuAc@WwAy@kA_AiAq@c@USMWOg@WYQ[Qm@]e@WECWOs@a@s@a@iOsIsNeIg`@uTq@a@y@c@GEe@WeEaCqI{EqMqHs@a@mDoBoI{E}@i@SKsI}EcE_CkIyEeK{Fs@c@mHcEa@WiDmBu@a@s@c@c@Wa@Wc@YGCWSa@W_@Ya@Y_@[EC[Wc@_@OMQOYY[Y[[[[_@_@]_@]_@]a@]a@]c@[a@]c@[c@[c@[e@Yc@i@w@i@y@wHsLqG_Kk@}@wJiOsGaK_D_FeF_Io@cAe@u@i@y@me@yt@{IeNk@{@k@}@a@o@c@o@oCgEa@o@e@s@g@u@]k@uBcD_MqRc@s@gFcIcCyDqHiLcNcT", - "rogów|płyćwia": "mmh{HoalxB_@m@oB{COUcBkCqDyFc@o@sBcDiAgBc@q@IMmAoBe@s@S[U]i@y@gGqJkAiBsAuBqAsByA}BwCqEYe@sEiHu@kAqSw[m@o@{K_QeAaByBkDe@s@e@q@KQY_@Ya@SYUWSWQUQU_@a@YY[[UUWWYWg@a@GGSO_@W[WWQWOWOUO_@S_@Q_@Q]Qa@OMGQG_@O_@MC?]K_@K[IC?_@Kq@Mq@Mm@IGAo@Kw@Mk^iFeJsA}JwAa@Gw@Ms@KkImA_C]eJsAm`@yFOC_@ESEqDg@?AyASkBYeJsAu@KoFw@iJsAu[wEwASoG_AeVmDu@KuHiA}MoBcPaCiJsA__@qFu@KuAS}GcA}@YSCICWEGAc@IMC]Ga@Ka@I]K_@M_@M]M_@OOIOE]Q]Q_@S[S]S[S]U[U[W]YSQGG]YSUUSUUSW[[Y][_@W]Ya@W_@W_@Wa@Yc@Ua@MUIMUe@We@Ue@Ue@Qc@EGM[Se@Qe@Qe@Qe@Oe@EKKYOg@Oe@Mg@Og@I[I]Mc@Mi@Kc@AEMk@Kk@Mq@Mq@Ig@CIKs@Ks@Ks@Iq@Kw@Gq@Is@Gu@Gu@Gy@CYCg@Ei@Cs@Es@Cu@Cs@Au@?OAe@Ao@Aq@?I?k@?o@?o@?m@?m@@m@@m@@gABiANoIHwD@_@F}CH_EFaDBkADoBLoH\\qQd@yUAwAj@k[^uQNmIByAByAB{@@w@@y@?u@?u@?y@?q@As@Aw@Ay@As@Cy@Cu@Eu@Cu@Gu@Eu@Gw@Eq@CWE]Gw@Is@Iu@Ks@Is@Ko@EWCUKm@Km@Kk@Ki@Kg@Kg@Ke@Me@Ke@Om@Me@Oe@Oi@Qk@Qi@Oc@Qk@Uk@Oa@Qc@Wm@Qc@Ue@MWGOSa@Ue@Ug@a@w@a@w@Yk@uA_DaCwEUe@{BmEaEeIm@gAaDmGcNeXm@mA{EmJeBiDeBgDc@}@e@_A_B}C", - "płyćwia|skierniewice": "w_{{HevayBsBaEIO}@gB}A}CUc@g@aAg@aAuAoCaEaI}@eBUc@iAyBWUMWi@cAc@{@c@w@OWKSS]S[Wc@W]U]W]W]Y]W[Y[Y[WYYYYY[W]YWSYW[U[S]UWQYO[Q]Q]Q_@Q_@Oa@Qa@Qa@OkKeEc]cNq@c@}D_ByImDoAg@m@Uo@Yo@Y]O_@Q_@QWOYO_@U[S]U[S[UYW[W[WYWYYY[YYY[Y[Y]W]Y]W_@W_@Wa@Yc@S[OYOWIOYg@ISIOUe@Uc@Se@M[EISe@Qg@Sg@Qg@GQK[Oc@Qi@Oi@GOIYOk@GSGWMi@Om@Mk@Mk@Mm@Ie@Kk@Ki@Ik@Ii@Ik@G[AMGi@Ii@Go@Io@Gq@Ea@AMEq@Go@Eq@Eo@Eq@Ag@Ce@Cc@Ac@Cq@Aq@Aq@As@Aq@?q@?q@?q@?q@@s@@q@@q@@q@Bq@@q@@W@YDo@Bq@Ds@Fq@Du@Fq@Ds@Fs@LuALsARwBHcAr@}Hr@aIr@}H@SjD}_@`AwKJiALuA^eEZmD\\mDZmDXgDFq@Da@JgAv@yIVqCtByUJiALqAx@cJLwAvB}UvAaPrCc[BW@UfAwLzAuPFi@f@sFr@cIt@iILwAxBqVxBkVHgBLsADg@Dk@Fu@Fu@Du@Ds@Ds@Du@Bs@Bs@Bu@@g@?KBu@@u@?]@U?u@@u@?O?c@As@?u@Au@As@Au@Ai@Cy@Cy@Cm@Ck@A]GiAEo@Em@Eo@Em@Go@Gq@Go@Iq@Gq@Im@Io@Io@Km@Ko@Km@Km@Km@Km@GWEUMk@CMIa@Oo@Om@YgAWiAsMyg@w@wCOk@Ok@Ok@Oe@Me@Oe@Oe@Oe@CIK[Oc@AAOa@Oc@Se@Se@Se@Ue@Se@Uc@Uc@ACS]KQIQOUGKU_@Wa@U[ACW_@W]Y]W]Y]SUEE[[Y[ECSU[Y[YGESQ[W[U[U]Uc@WUO[QOIOI[O]Q]M]O]M_@M_@M_@M_@Mq@Sq@Sqn@uQ_HqBsF_BeA[{Ac@SSwKaDOE_@M_@K_@M]M[M[M[MYOYMQKe@W[SYQ[SYU[UYUYUYWGGQQYWWWUWWW[_@EGSUOSW]W]W]U_@W_@U_@S]U_@CEO[Q]Q]Q]Q]O_@Q]M[O]M]M_@M_@M_@K[K[I]K[I]Om@Mk@Mm@Om@Mo@Km@AEKe@]aBSm@Oq@Ic@_@qBEQOw@a@sBQw@a@sBACsAyG", - "skierniewice|radziwiłłów mazowiecki": "kqd|H}t}yBo@eDKc@a@uBm@wCmAiGOs@G[uA}GUgACq@GYKg@Ki@Ii@Ii@Ki@Gc@E_@G_@Ge@ScBGg@Gm@Ik@Gm@Ii@Gk@Ii@Ie@Ie@Ie@Kk@Ki@Ki@Ke@Ki@eCaMcDkPWqAiCmMgCkMuAaHi@gCsAyG_A}E}@kEeAkFIg@Mm@Mq@Mo@Kq@EOG_@Kq@Io@Kq@Iq@Ks@Gq@Iq@Gs@Gs@Gq@Gs@Gs@Ew@Eu@Eu@Cw@Eu@Cu@Cw@Cu@Au@Cu@Aw@Aw@Au@Au@Aw@?w@Au@?w@?s@?}A@{EHmZ@qCHu^BkI@qH@w@@{E@gHDmO@mE@_A?eAGi@?}@A{@?s@A{@Aw@Cu@Aw@Cw@C{@E_AEw@Cu@Ey@Gy@Ew@G_AG_AU_DY_EUkDC_@Eq@Gw@Gq@I_AIu@Gs@Gi@AIKy@Kw@Is@Kq@M}@Mu@Mu@Mu@Mu@Oq@Ou@Mo@Oo@Qy@Qu@uAeGI]EUwCkMyJwb@uBcK_GgWKe@e@uB]{AOm@Qy@AAwMal@kMwj@sCaMiDeOKc@[yAEOS}@Oo@Oq@qEaSYmAYoAOq@cAkEmAmFYkAAG[sAmBiI[sAYsAmCiL[wAoCqLyEwS[yAMi@oI{^mBoIa@iB[qA[uAkBmIYoA[oAUeAOo@Mi@YqA[qA[uAmBgIGU", - "radziwiłłów mazowiecki|żyrardów": "yhk|He~yzBQu@kA{E_BeHi@cCGUS{@[sAe@yBQs@k@iCmBoIk@kCU_AS_AYkAYoAoAsFe@sBCMwBmJiDgO{@uDe@qBe@uB{AyG[oAuCmMe@qByBuJo@oC{EcT]yAs@}CS{@g@wBeIg^iDgOeDyN_@aBqAyFeAuEOs@GWI[sDgP]yAcCqKmAqF{AuGiAeFcAmE}@{DuAkGy@kDy@qDyD}PgD_OyHc]WcAESGWCOOq@cAoEuAaGo@wC}A{G[yAs@yCsMsk@aAiEeBwHw@iDgDeO}B_KI]S{@yEwSYuAq@uCqA}FYqAYoASy@Oq@Oo@UcA]wAgBwHWoAYmA[qAYqAmK{d@qFeV]{A{@wD[qAYqA[qAYqAwKge@yGoYkDcO}FuV[yAwBaJkWihAmAiFiB{He@qBe@sBw@gDmBiIEQeAqEy@kDMm@o@qCqCuL{BsJYkAkBaI", - "żyrardów|grodzisk mazowiecki": "usu|H{ky{BKg@_@}AsE{Ru@cDmBiImHi[GYoCsLgAuE_A}DcAoEIYOs@cAkE{AqGe@sBKc@wBiJeDoNqM{j@GUK_@AGuAeGsA{FiB{HiB{HqCyL]yAaCcK{CsMy@qDeBwGGU}AyGcEqQkJca@mCiL]yAuUmcAyEqSmDeOuCeM]{AqS}|@{Kye@S{@c@iB[uAmAkFeBuHcAkEkZmqAEO_@eBaFgTGUgZgqA]yA{CwMYoAYqA[sAkEaRsKae@YoAeFuT_AaEYkAeAqEe@sBEO]{AOk@Om@yA}FSw@o@iCs@{Ce@oBSy@Uy@{@iDSu@Kc@Mg@a@cBMg@q@wCqAuFsBaJc@mBcBuHEMiAcFGY_A_Em@aCiAgEGSuB}Ha@aBIYOm@CKYiA]{AMi@]yA", - "katowice zawodzie|mysłowice": "g{vqHqxhsBDoBT_GPyEPmET{DJoC\\aKVsHRmIFsCBaD?eD?sDE_GK{FD]SqFKeCGaBIyAc@gHm@eJcDwe@WcEK{B?KEaBGcCG{BKsBOiCsA{Rg@sHEk@QmBSiBi@iEYsCm@{IUsDCu@IuAGoCCsC?_BBgDFeDP}DPyDPkEFwAHyAJoAJqALkANoALcANaAPaATmAViAR}@T{@tBoI^wAr@gCj@qBl@_Bd@kAv@eBjA}Bl@iA~AuCP[p@mA\\m@pAuB`KaPlDoFvBcDvDyFbA{AnGoInBiC~B_Dz@iA\\w@d@k@^_@f@a@~@y@lAeAxA_B~AoBb@k@^i@tAyBn@gAf@aAb@{@`@_A`@_An@qAFSp@cB`BoDvA}Cn@qAt@sA|BqDn@_A`@g@f@k@VSVSXQ|DcCpAy@rAsA", - "krzewie|kutno": "iky}Hws`tBCo@Cm@C_AC_AA}@CgACy@A{@C_BA}AAwAKoKKaKKcKWgYg@oi@IgBWeXQkQGyGeAyiAAeBUmUGeHAgAAiACqCAw@c@oe@QkQ[m^CgBEuFkBsqBEqFCiBo@_u@CwAAyAAy@Cw@Aw@Ay@Cy@Cq@C{@Cy@Es@Ey@E{@Eo@Ca@AYGy@Go@Gy@Iy@C]CQGs@Iu@Iw@OoAEa@Go@m@gFu@uGKcBw@wGu@uGE]Iq@CYKs@C[Im@Go@Iw@Iu@Gs@Gm@Gu@CSCc@Ek@Cc@AOEq@Es@Es@Cu@Cs@Cq@Cu@Am@Cq@Au@?i@Aq@?s@?k@Au@@w@?o@@s@@u@@q@@}@Bq@Bq@Bs@Bs@Bo@Dq@Dq@Bk@@KFu@Du@Fm@Fu@Fq@Hq@Hy@Hk@Hk@Ho@Hq@Jq@Jo@Jq@F]BORmARoAn@yD|AiJlAeH`AcGRgABM|@mFrAgIJm@dAgGDWfAwGn@wD`FcZhA}G^yBf@wCb@qCFWnAuHp@cEjB}KLo@`B_K^wBDUn@wDbDwRBOxAyI`@aCN_AFYHe@Jm@Jk@Je@Jo@Lo@Lm@Lm@Lm@DWDQLm@Nm@No@RaALi@HYVcAVgARu@zAiG|BgJZmAZsADQHYj@}Bn@iCvAyFh@yB@EjAyEbB{GDOH[Ja@R{@T}@VgAHYFWNs@Rw@Lm@Jc@BONm@^gBf@eCFUd@eCb@]L_@L_@L_@Na@Pa@L[P]DMJSTc@Ra@R]`@q@HKLQNWTYR[PSd@k@", - "kutno|witonia": "_yv}H}vcuB\\a@FI^e@LM`@e@x@cAj@q@d@i@X[X[TWVWVURQZURQTOTMTMVOXOZMRIXKXITGXGVEXGZCXEXAZAV?T?D?T?X@^BXBXDXDZFXFVFVJZJVJTJXLZPVNVPVPTPVRVTPPNNVXVZNNRXRXRXNVV^T`@Zj@BDxAjCd@z@~BhEDFxAjCn@hAl@fATb@Vb@P^Vf@BDRb@d@bAjAhCvCrG|GlObF~Kx@jB`F|K~EzKvBxEfB|DnEzJ\\v@\\v@^v@^t@b@x@d@x@b@r@`@n@BBbAtAdArAhC~CtEvFhBzB`AhA~@jAbCvCrAbBnGzHz@jAz@nAd@x@f@x@Xf@jIdOfJpPjJrPpFtJtBxDfJpPrGhLfCtEbAhBfAfB^n@`@l@`@n@b@n@lAbBlA|A@B~CdE~Yh`@tKpNjMvPvRjWrI`LnCpDbNtQdArAnCrDvBrCt@`AvCzDjClDlDtE~CdElE~FhB~BbBzB", - "witonia|łęczyca": "q{i}Hc}stBhAzAjAzA`P~S|@lAfChDhDpE~G~I|@nA|@lA~PvXjCfE|ItNtF~IdGxJjFlI~FpJdi@h{@@DnFtIzDhGj@x@j@v@xAlBbLvMnK`MRTtl@dr@fM`O~QfTB@xKlMbO`QxShVbAjAbAjAtAxAj@j@`@^JHx@t@z@r@vBfBnFnE`FbEnFnEdBxAfBxAnErDlErDDB~AtAr@j@r@j@bCpBhA`Ad@`@b@`@l@j@j@j@tAzAZ\\|@`A|@`AnUfWbK`LfBnBhBlBpE~ErEbFdBnBlBpB|BfCnApAf@d@\\ZLJ|@p@`@Xb@XfAl@~At@rBn@`@J^J~@P^F^D`@D\\Df@Bh@Bf@@h@?r@?t@AjBAtEGfLM~@A|JMj`@a@`EE|CEhEEnGGhCCjCG^AfAGpBWvAWz@Sv@UXG~@_@`Aa@hAo@`Am@dAu@`A{@dAcAx@_A|DaFrBiCjFyG~AqB~GuI", - "łęczyca|ozorków": "gxt|HqwctBhDiEdIcKhQ{TjMaPrE{FfEmF~QsUp@u@vAmBzAiBrBsB~@w@~@s@tL}HzE_DvKgH`U_OnCgB~CuB|OgKfG}D`Aq@ROp@g@l@g@n@o@VWTULMHKTYj@q@h@u@h@w@bA}A~@_BfBsCr@mAt@mAvFiJlLoRbDkFnCsEjHqL|JmP`HcL`HcL~ByDdCaEbAaBj@}@V]xBcD|B{ClB{BpBsBvAqAxAoAvDwCnTuP`q@ah@jHuFbJeHdBmAxAw@~Ao@|Ag@tA[lCm@nCm@vBa@bB[lCg@z[eG|AWBA", - "ozorków|chociszew": "}ze|H{zqtBhHuAxHwAjB[xB_@dMyBfI}A`KkB`LsBpAWhEy@jB]hAUv@M`Ce@dGgA|@Q~@Q|@Ox@O\\E\\GZC\\Cf@Ef@Cl@Cl@?T?R?h@@jBJ`AH`AJ@@`CThGn@rO~AxYxCrANv^vDzJbArHv@vANxLlAjFh@|CXvBL~AJ~CPn@@n@An@ATAb@Cd@En@Gx@Kv@OvAYf@K", - "chociszew|zgierz kontrewers": "un|{HgbrtBzBg@zD{@hAUlK_ClCk@p@O~SwEhAUta@aJjCm@lDw@vA]j@Sh@SbAc@`Ae@TMJE^W~@m@r@k@r@m@p@o@p@q@p@w@p@y@n@}@n@_Aj@_Aj@eA`AoB^y@\\{@h@wAh@yAb@yAPm@Nm@^{A^aBToAToAVaBTcBNoALqANeBNiB@E\\kEj@gHj@iHxAqQ|@_L|@_Lj@iHXuC\\qC?AV_BZgB\\iB`@eBb@cBl@qBn@mB~AsEdB}Er@mBXw@J[JYdAkCVk@Vm@n@mA`@u@P[NUb@q@b@q@b@k@`@i@b@i@d@g@X[Z[Z[ZYRQv@m@h@_@j@_@vAw@n@[VMVKj@Sl@Sh@Oh@M~A[l@In@IlBWlAO`Dc@VEnGy@jC_@zDg@xASpEk@jHaA`AQbAUdAYp@UXMd@Sd@UtBeA|BgAzBiApE{BzGgDzQaJzAw@vBeAl@]l@_@l@_@j@c@h@c@h@e@j@i@j@k@n@s@r@_A`@i@^k@\\i@b@q@Xi@b@w@Zo@\\u@b@_ABK^_Ad@mAL_@Pe@J[Z_Af@yArAaEh@cBf@cBPq@Nm@Nq@Lo@Li@Ji@|@mFjAoHN_ALy@L{@L_AJaAJ_AJcAFy@HaAHmAL_CNkCDy@Ba@Be@DaAB}@B_A@eA@{@?gAA{JA}E", - "zgierz kontrewers|zgierz północ": "{yp{H_l`uB?kACmAAiAAi@C{@EaAE_AEcAG}@QaCIu@Go@K}@M_AUeBKo@Ms@Mu@Ou@Qw@Qs@Sy@Qs@Uy@W{@Y{@Us@ACeA_DmGiReBiFiC{Ha@qAYy@Qk@Su@[kAQs@WkASaAQy@e@iCuAuHe@kCSyAQ_BGk@Ec@IqAGgAAq@EcB?iA?cA@w@B_ADoAVoEXkEvB}YTyCfAcOjDue@PcCNmBHoAJkA", - "zgierz północ|zgierz": "auq{Hk{huBp@oJz@mLTwC\\}E@GPwCFaAD_AB{@BeABaAB_A?k@@k@?q@?_AAiAAgACcACcAEeA]cJCq@c@sLK_DCw@Cw@CcC?qB?y@@y@@s@Bw@@s@HwC^_Mz@aYHeCFaADcAHeAH_AH_AJcALcALiANeAJq@Ny@P}@Nw@Pu@Nq@R}@Ru@Tu@Tu@Tq@Vw@To@HSNa@Zu@lHcQfCaG|CoHPa@n@{AZo@Xo@^w@PYNYN[R[`@m@b@q@d@o@d@m@d@k@f@i@d@e@XWVWpAeADEvAgApDoCp@g@p@e@r@c@XOXMd@Qf@Qf@Md@Kp@KVCVCj@EV?TAf@@d@Bb@B`@D^F`@Hd@Ld@L`@NRHNF`@T`@V\\X\\ZbA|@\\ZXXb@^f@d@`@^x@v@RP~@z@t@p@\\Z~@x@~@x@xAnAv@p@r@n@jD~CnBfBnEbEdDxCbDxCvAlAb@b@l@h@", - "zgierz|łódź marysin": "e{l{HcepuBv@r@z@j@JFdAp@RJXNXJTHVJZHVDbANZBj@B|@?b@ATA\\Cf@G^Ej@MVGZK^M\\MZMVOXO^S\\WZU^[^[`@a@X[\\a@\\c@\\g@Xe@\\k@Zm@Zq@h@iA~@yBnBsE`A{BBEp@_BBGbGgNrEqKpFeMVo@n@wATi@d@eAp@_Bn@yAh@kAvAeDb@cAl@wAN_@x@kBx@kBbA_Cb@eAlBoEjEaKb@_A|@uBd@eA`CuFBGbA_C`B{Dl@sAdAaCP]JUj@kAVg@@AZg@^q@PYLSj@y@Za@Za@^e@\\_@d@e@\\_@ZYt@q@tE_E|EaErLcK~@w@jB_Br@m@bByAz@{@j@k@TYf@k@f@q@b@o@RY^k@\\m@Vc@Ve@Ve@Tc@\\u@Zw@p@_BTq@Vs@X}@ZgAZiAXkAXmA`@gBxBmKd@qBb@oBT}@Nk@DMRs@ZeAVs@Tq@Tm@`@aATk@h@gA^u@`@w@Zg@Xe@^m@Xa@\\e@\\c@d@k@f@m@b@g@h@i@fAkAtC{CLMlEwEb@e@b@i@X]V]b@m@^m@j@_Ah@_A`@u@PYv@wA\\o@x@eB`@_A\\y@Nc@\\_Ap@uBTw@^uALi@Lk@jA}EpJka@", - "łódź marysin|łódź widzew": "}ed{Hk{|uBlAiFtC_Mz@sDxBcJ^}AXaAV}@Pg@Ne@Z}@Pc@Na@N]L[\\u@Vm@Xi@\\o@Zm@~@{AfA}At@_A`@e@r@u@fAcAZYt@k@\\WdAw@|L{Id@[`@WLILGPKPKNINGPKJEVKRKHCb@QRG^MVIb@Kb@Kf@Kf@Id@Gt@Gr@Gp@Cl@?j@?x@@t@D|FR\\@V@t@B~@?\\An@Ap@Er@Gt@K`@I`@G^ItA_@v@Yj@Ul@Wj@Yd@Yb@Wj@_@`@Yh@c@f@c@j@g@h@g@h@m@l@s@d@k@n@_A`@m@PWR_@Va@b@w@P]`@y@Zq@Zs@\\{@Vs@Pg@`@iAV}@X_Ah@wB^yA`AaE`A{DjA{EzAiGfBgHNm@V_Ax@iCVq@`@eA~@wBl@sA`@{@|@kBJSp@wAl@mAzGoNl@oAtAwCtAuCfCmFzHkPbAuBvCiGHOtBmEz@kB`@{@^_ANa@Nc@Nc@Ng@ViAJe@Jg@RqAFg@Fi@PaBRkCr@oB", - "łódź widzew|łódź andrzejów": "me}zHgwfvBf@iGr@{IXmD~AaSxA_Rn@oIr@sItA{QP{BFo@f@sGx@aKDq@vAmQXmDVgCFo@LsAP}AVuBHw@b@aDbBsMnFwa@~DsZjD{WnDuX`@uCd@uCRcARiAl@mCVeAXcAZcAZcAZ_A\\_A|@}BfBcEhEqJrEaK`AeCbAiC|K{ZlE}L~CwIn@eBnIsUPg@|@cCxJoXFSfCeH|@cC", - "łódź andrzejów|gałkówek": "iuxzH_lvvB`Nq_@bDaJv@{Bn@qBfAuDv@wC`A_Eb@qBb@mBNk@~EkTlI{^n@oCh@gCRcATgA`@gCTaB@i@LgAJaALgAHiAHcAHiAFiADs@BaAFiBBiA@mA@gA@sA?oAAwAAoFDmAAuEEkMEwOCeH?eAEgOAuDKe`@AsDAqDAuDAqDCoIGgVAoD?mA?uA?oA@qABkABoADoADcAFgAFoAHgAJqAJeALiAJcAPmANkAPkAlA_I\\wBPoAZqBA]xAoJ`@sC\\kCVkCTkCPyCLsCFuCD}C@cDAgDg@mjBGeRCmHCuI?}ACeKE}J?{AAeCKi_@AqACyACmACyAOeGa@yNm@sTCiAVo@", - "gałkówek|żakowice południowe": "kpvzHadnwBIqCE_BGwCCgA?kA?gA?iA@oA@oADgADoADuAHkAJeBHcAHaAJaAJgAJ{@Js@NaANaAPmA`Hwa@BIRwAR_BLeANmALwALuAH{AJ{AFkBF_CFeD?gDGaDIgDQcDSaDYcDgB_Sa@gE_@iEc@cFm@qGyDcc@MuAMuAGw@Gy@CU@e@Ey@Gy@Ey@Cy@Ey@Cy@C_AC_AAq@?w@Ay@?y@?{@?{@?}@@w@@y@?EBs@@{@D{@B}@Dw@Bw@Fw@Dy@Fy@Fy@Fu@Hw@Hw@D_@JaALaAPqAPqAHqAn@sE", - "żakowice południowe|mikołajów": "}jvzHgkxwBx@cGLy@j@eENaAL_AN_AN_AN_AP_AN}@Nw@Pw@RcARaATcAR}@T{@R}@FULe@T{@Ty@vQcp@Tw@J_@xAoFJ_@vAcF|AuFlFmRfFaRrKe`@bJg\\dEcOjBcIfB_J|@yFv@{FzAgO|JubAbB_Qn@}Fx@wF`AwEhAwErAkEj@_BVm@Vm@", - "sędzice|sieradz": "ewbzHy}ipBJi@xC}NLo@dAiFtF_XjLsj@^gBNs@Lu@Ls@Lm@PiAPoANiANsALkAJsAHiAJuA`@iG@ErEur@h@eIHiAJkAHiALmALiANmALeAPoAVaBTaBD]lKuu@xE{\\dCgQPgAPiALw@P}@Rw@Ry@Ru@Tw@Rm@To@N_@N]N]LYN[Ra@Ra@\\m@`AkBTa@nMeVla@cv@lDuGzEoJrGyLfXkg@pBuD`@u@b@y@^u@Xm@Xq@Vk@Xu@Ts@Ru@Tu@Rw@VeAVgAXoAR{@z@sDPy@Pw@Nw@Nw@Ly@J{@Hu@J_AFw@FaAD{@D_A@{@B_A?{@@_A?cD?qE@qg@Bcx@Bky@?{A?yAAqACsAAqAEyACaAg@iSEmBE{AI{C]sJCuAMiFq@eXW}Ka@sPIaEOsFGeCO{DI}BEeBQsGEgBM_DMsDKmCCq@GaAG{@Gw@Gg@Gk@Io@Ik@QkAMs@Os@Oq@Qm@K_@K_@]eA[}@Qa@[w@Wg@Sa@Wg@Mg@wAcCuAcC]k@_@s@Uc@]q@", - "sieradz|zduńska wola": "_k}yHgnhqB]s@Wq@]{@Yw@Ww@Y_AUw@gAeEa@uA]mAYaAUs@Ws@g@qAKSYm@Yk@c@{@CE]m@g@_AcF{ImI_OgEqHk@cAi@cA[o@Wk@Yq@Wq@Uu@Us@Uw@Qu@Qy@Ow@Y{AY_BEU}H{d@s@cEs@_EeBeKwDuTUsAcHsa@c@mCSoAQmAQmAOoAOsAKmAKqAIqAGoAGsAGuACoACoAAuA?mA?yA@k@?i@BwAB_ABc@By@DcADgAHeAJeBFw@J_BNiBJuARwBN}A`@iEz@aJLqAJcAJ_AL}@L{@N{@Nw@Lg@Lg@Pq@Le@J]Tq@Tm@Rk@Vk@\\s@Xk@NWH_@Xg@`@k@\\e@\\e@lG}HjDkEhAwAd@k@\\g@T]\\k@`@w@NYRa@Tg@Vs@Tk@Vw@XaAV_APu@Nu@RaANaAL_AJ}@LmAJmAFkADiADqA@mA@y@@y@@sB@gFDmMDoMBkMVae@?WZwcA@oE?oAAsA?IAgACuACqAEuAOgE_@iKiAc\\McDWsHi@}OG}AUsGUaHqAg^WyGWmHq@gRo@aRIiBGcBEcBE_BEsAAqAAqA?sA@uA@wAViRZgV`BqoAf@kf@FmEBqA@sA?qA?qAAmAAsAC}ACcB_@kRSwKo@{]yBglA?UaAai@Ak@eAoj@IoEC{ACqBAu@?q@Ay@?oA@qA@oE@{A?mBAyACmBg@qb@?I@sCUgR", - "zduńska wola|gajewniki": "qh_zH{rrrBAi@Ae@]gZIuFCcDGeEGkEEmEACMkKS_PAs@WyRAu@UqRCuCIcGImFAgAQcMGgDKwJq@ai@UaRIcH", - "gajewniki|borszewice": "_r_zHotzrBIoGAq@g@_b@AsAC_BAwA?yA?yA?yA@{A@wA@sAB{A@u@@_@D{ADoAFaBfEeoA@o@xBap@pBkl@tBsm@TgH\\iJh@{O", - "borszewice|łask": "o~~yHylesBjAy]rCoy@?AZ{IdBah@vAab@Bs@hBii@jAu\\`@kOn@oRjByi@lCcw@n@qRZoIBm@PeFNmERcG", - "łask|kolumna": "i|}yH{bssB`@oLVcHf@eOJqCNmEl@_QFsBDqADwAFaEBeAHiDBqABiA@sA@_A@u@?W?_A?iACeAA}@C{@EgAE}@EcAG{@IcAI{@Iw@I}@Ks@K{@O{@Ku@Ms@uAkJiFg[{@eFaEgVsFm\\i@iDUsASoAQmAUyAOoAQwAOsAMwAMuAKiAAMKuAIwAIyAIuAGsAE{AEuAE{ACkAC_BYgNWuRc@c[CwACyACuAEyAEsAE}AGuAIyAGuAKwAIyAKsAKoAMaBwBsWwFer@KuAOuAMsAOwAQyAOoAQsAQsAQkAW{ASoAUsAgB{KwBsLu@gEAG", - "kolumna|dobroń": "o}_zHw|ctBmA}GqAkHoNuw@e@mCScAWuAUkAWkAWiAWiAsPwr@qBiIsFsTQw@uIe^mOeo@eF_T", - "dobroń|pabianice": "ewbzHetltBkB}HuCwLCMiDmNEUgKyb@i\\{tAEOuRwx@gRmw@iEoQ_@}Ae@mBS}@Sw@S{@YgAWcA[mAWaA]iA]kA{@uC}Nig@_N{d@IWkKi^mGmTkA_E{@uCaAcD[eA[eA]gA]aA_@eAa@eA_@eAkDuIgAqCaAeCeAiCw@oBq@eB", - "pabianice|łódź lublinek": "cwhzHuz|tBg@kAYq@i@oAUk@a@{@cA_C_A_C}@yBy@uBe@gASm@Uk@k@}AgAwCcAqCsCeHgHqQSi@oBaFO[qBeFyFuNmA{CWk@Se@Ug@Sc@Ue@MWQYO[U]OWU[MQSWMOOSSSOQQOOOQQMKQMOOQKQMOKQKOKMGSKSIYMYM_@M[I]I]Ic@I[E_@E_@Eg@Ga@Eo@Ga|@aImTqBoRgBWC{Fi@oTqBgCU}Go@UCk^eDySmBw@Gu@Gy@Gq@Cw@Es@Aq@Ay@?s@?w@@kQN_@I_@A_@Aa@A_@E]Ea@G_@G_@I_@M[Ka@O_@QQISKUM[S]U[Y[W]YYY[]Y[?AW[Y][e@]e@oCsDmAcBg@s@]e@yEuGcDqEaByB{AwB}CgEu@eAGG", - "łódź lublinek|retkinia": "{otzH_zcuBc@m@oAeB_B{BCC}\\ce@cCgD[a@mFoHu@cAi@u@e@q@[g@c@u@U_@_@s@]q@Ug@MWUg@O_@Uk@M[Ws@Qe@]cA[eAY_A]sAWiAQs@Mq@}BkLqD{QwAkHwAqH}CwO{CuOkJwe@wCkOG[uC{NkBoJi@oCeB}IYuA]gBYuAi@qCqAwG??m@}Cg@gCsGq\\qAyGIa@GU{@mE", - "retkinia|łódź chojny": "k`yzH}aouBQcAc@oDMw@Io@Km@Oy@}AcIaA_Fq@iD_@oBMm@{A}Gq@yC[sA[{Au@sDw@aE[aBG_@COKq@K}@IaAC_@Cc@Ca@Aa@Aa@?e@A]?e@?g@@c@@c@@g@Ba@Bg@Bg@B]Di@Da@D_@Fa@Fa@D_@F[FYFYBSHYHa@La@Ja@J_@JYL]L]LYJSHSHOHQLSPYNUNSNSPSNQJIJMJKLIVSJIRMPKNIPGJGRIPGPEl@STITGRGFAZWFAf@GXERJ\\CTSJAVCRANAPCXATJXARARA`@AnCKXOTATAZCHJRQLJPQLJTQHJ^G|IsAh@I\\G@MXG^GVGf@MPERGXK^?`@Q\\O\\MXMn@g@bAe@TKTKTKHFZOXKAKb@Q`@O^Ov@W|Bs@RBLE\\M?K^OZMV?PG\\QpEoBl@Y`@SDOXARYJGd@YPKXE@MVQTE\\Wf@e@t@s@AO`@c@h@_@t@}@EKl@u@f@q@REr@}@bAqAJa@vC{D~@kAr@g@p@}@Ro@t@aANS\\g@^m@d@]\\q@Rc@CSVMPc@N]L_@HWHWBg@Lc@Le@H[PO@e@JGJe@^oBEELw@P_@z@}FbB{JvAkH?_@N[@g@NgAFc@LYA[L_@B_@Hq@Ba@Bg@CUH_@Ba@Bg@BgA@y@Eg@Fg@Ee@?CDo@Aw@GGAi@DSAc@Kc@DKKo@Ey@Gm@@e@IKGs@Gg@Mw@BWIg@_@qASeA@MKe@K_@K_@Qk@QUi@_BBG[y@KCc@aAFC}@mBuCiGcD}G}B}Ee@eAQKYo@FESc@Ws@KYY{@Oe@K]ESGQI_@[w@SkAESMo@E_@@SKW?a@Iw@KgAGEGq@Be@Ee@Cg@Ae@GMBe@AeAIe@?mAD[E_@Fi@?m@EO@w@HOBw@Ba@Bg@Kc@JwDHsB?IX}FDy@dAkDTiE\\uGj@_Lz@cQFoAL{BDsADsB@}@@U@{@@w@?Y@[B_@T}EEKBk@JsB", - "łódź chojny|łódź dąbrowa pbs": "squzHux~uBVqERoEHsBBw@DuA@w@?c@?gAAoACgACu@E{@Ck@Ee@Es@Ee@Iy@Io@Io@O{@SmAMk@Oq@Qs@Mg@Qo@Ma@_@cAQe@c@cAO[Q_@[m@[g@[g@KQa@g@]c@Y]_@a@[Yg@e@e@]a@Y_@Sg@Y_@Qk@SIEWIUG]Ks@OeB[m@MqB[qASo@IMA}Da@gAOcDi@sDm@}AW", - "łódź dąbrowa pbs|łódź widzew": "epwzHqravBeCc@iCc@i@KwAUqDs@qCo@QEiBa@_AS_BUgAO_@Es@G_COyBMwAKcEWaO{@oAImHe@sAIaAGo@CwBOUM_EWeDS}@Ge^wBw@Eu@Go@Gm@Ig@I[G[Gm@Oe@OYIg@Qc@Qm@Yk@Y]S]S[Se@[e@]]Y][OMc@a@a@c@[]UYWYc@k@c@m@a@o@c@q@]k@[m@[m@[o@_@}@_@{@Wo@Uq@]eA[cASs@Su@YgAWkAUcAScAOu@]iBWaBMy@My@Kw@Iy@I{@G{@E{@E{@Cy@C{@?}@?{@?{@@w@DoAF{ADu@As@TgEHmAKq@`@gFHU}AwCNa@Nc@Nc@Ng@ViAJe@Jg@RqAFg@j@a@Fo@Yy@RkCr@oB", - "gałkówek|rokiciny": "cqvzHqbnwB?uBImDC{AAyAAuA?uA?m@@g@@mABuADoADqAFsAFuAHcAJqAVsC\\wC`@uC\\yB^wB|@mFzB{M|@sFCOT_BR_BLgAJiAJgAHgAHgAFkAFgADgADgABgABmC@mA?kACsCGwCK}CQuCUcDMsAKiAsDya@Ea@OcBkD_`@yAoPOuAKuAMsAMsAMuAKsAMsAMsAMuAMuAMwAyFqo@E[@g@yAmPGk@{BaWcAaL_@gEO_Bs@aIGi@IeAEa@Ee@Ci@Q_DFGCg@IGBg@A[Cg@AMA_@A_@?_@?_@?_@?_@@a@@a@@Y@_@B]B_@B]D]D]Da@F[D[F]H[F[H[HYH[JYJYJWJYLWLULULULSNSLSNQNQNONORQRQHIPKPMPIRKPIPGRGPGREREPCRCPCTAP?R?R@R@J@RBRBRDRFRFZJ^Ut@Xt@Xx@Z@L|@\\AJz@\\z@\\l@Xl@Xj@Xj@V^NHRRCXJRVXJTFJOb@OPJFVPFNFL?\\`@hDtArAZr@Xf@Rn@Vn@Xh@RV?NTd@PzBhAxj@zTp@XjMbFZBp@b@zSlIrrAth@DBtAh@rl@lUzDzAAJnFvBxBz@vBz@`K~D`E~A`Bp@TAjAf@dG~BlEfBtAj@pAf@??vPzGAJfBr@dBp@fBr@xB|@vFzB`FrB`Bn@\\N`Cl@", - "rozprza|myszków": "e`bxHyg~vBrE~Ct@f@hPfLf@^j@`@v@f@x@f@z@h@v@b@n@\\x@`@fAf@bA`@r@Xt@Vv@XF@v@V`AV|@Tv@Pt@Nr@Nz@N`LlBp\\tFrEv@|@N`AP|@PbARd@Jd@Jl@Nj@Nh@Lh@PHB`@Lf@Pf@Pn@Tl@TVLz@\\~@b@|@`@v@`@z@d@x@d@z@h@t@d@tGdEfH~ENHbM`IjbBzeAbElCrD~B`XtPjs@jd@l^jUxDbCnG`EdDvBhAr@xBzA|AdAt@f@n@`@~BzA~CpBf@ZlAx@~BxA`Al@l@`@l@`@p@d@n@f@n@h@n@l@r@n@p@p@r@t@l@n@n@r@l@r@n@t@l@t@j@r@n@x@l@x@f@r@f@x@h@x@`@r@`@t@hCxErF~JzCxF`BxCHNn@hAjAxBl@fA^r@h@|@b@p@h@t@b@l@d@n@X\\RRFFZ^f@h@j@j@h@d@l@f@f@`@n@d@l@`@p@b@fBlAd@\\n@b@d@\\j@d@d@`@d@d@d@d@b@h@b@f@b@l@`@l@`@n@`@n@^n@\\p@^t@^p@\\t@Zt@Zv@Xt@Xx@Z~@Vz@VbAXbAT~@RbAR~@Px@JNRlARlARnARtAvI`l@hQhlAn@jEzRrrAtI~k@|@dGnAnIvC~RnC~QjNt_AzMz}@|CvS`Nd~@PlATzAPhARjARhANt@P`ARz@Ln@DPRx@Tz@Tz@Tv@Xz@Rj@Nd@Vn@\\bA^x@\\x@`@z@^v@b@v@hAjB^l@\\h@d@l@b@j@b@f@f@h@d@f@h@f@f@d@j@d@j@b@f@^l@\\j@\\p@^h@Xj@Tf@Rh@Rl@Rh@Pj@Nj@LND\\Fl@Jp@L|NdClJ|A|Ex@bPpCnGhAlWfE`BXVRD@jF|@vCf@dHlA|aAlP`ARn@Ll@Nl@Pl@Rn@Rl@Tl@Vj@Vp@\\r@^r@b@r@b@j@\\`@X\\Rr@d@v@j@n@d@t@h@n@j@r@n@n@l@l@n@j@n@XLZ^j@t@l@t@f@t@p@|@h@z@j@~@f@x@h@~@d@~@f@`A^|@d@fA`@`A`@fA`@fA`@lA^fA`@pAVz@d@~A^rA\\lA\\nAZpAZnAZtAXnAXrATlAVrAP|@BNTrA|E`[tEhZRtATrATlATlARdAVhATbAXbAXdA\\jA@BLd@Nd@Z~@^dA`@fA`@`Ad@dA^z@f@dA`@t@j@bAd@v@f@x@f@r@j@x@f@p@l@t@j@p@h@j@j@l@n@l@h@d@p@h@h@b@t@h@l@`@r@b@t@`@t@`@nGfD~IvErKvFtEbCbUtL|r@b_@@@r@\\v@`@r@^x@\\l@VZNd@Pp@Tr@Vn@Pp@Rn@Nn@Jl@Jj@Hp@Hl@Fj@Bl@Bn@Br@@t@?p@?z@?x@Cx@Cx@EtKg@L?`v@iDVAxJYj@Ct@AbACrBEhBExCMdI_@VA|`@gBlCOxKi@vESbMk@ZAhFUhDQd@Ab@Af@Ad@?r@@l@@N@l@Dh@Dj@Fn@Hp@Lh@Jn@Lx@TRF~@Zj@Rn@Vj@V^NPJn@\\l@\\n@^j@^l@b@n@b@p@h@dBnAt@h@t@h@nXbSHD`h@j_@boAb~@XRlvA|cAvDpChGpEpDlC|MvJf]zVLHjWfR^XlUfPt@h@lo@de@bq@pf@pBxAvIlG`@XdChB~C|B`YpS`SvN`HbFTPrCrBfE|CtGxE\\Vb]xVnBvAtObLtNjKt@h@n@b@p@d@p@b@p@^r@b@p@^x@`@xBbAh@Td@Rh@R`@NTHRHn@R\\J^Lf@Lj@NZHr@Pv@Pv@Nv@NbN`C`R`DdTrDn\\zF`KfBZF|KlB~\\~FjXxE|ZnFnVrEpWlEbU`EjKhB\\FfEr@lGhAjItAdCb@p_@tG^FrIzAfDj@h@Jh@Ld@Jb@Ld@Lb@Nf@Pj@Td@Tf@Th@Xh@Zd@Zf@\\^XHFd@^b@^f@d@d@d@`@b@`@b@d@h@`@h@`@j@^f@b@r@Zf@`@r@`@r@^r@Xn@Zn@\\v@Zt@Zx@Xz@Tp@Xz@Vz@Tz@T|@T~@Np@H^Jh@P|@P`AN~@DXHf@LbANbAx@pGzCfV`@bDb@dDrUhjBn@hF~LhaA`@bDb@fDvI|q@dLp}@pFnb@`CnR`C`RNlAPtANvALjANrANrALrANvAlDx^Z~Cr@tHLnALtAVjDJrALpAJtALrAJdAlDr^XvCjBrRLpAJlALpAJlAV`DJlAJpAJlALrARnBHr@JdANzA^dDZhCJ`ANrAl@fGVfCt@nHNtANrA^fDNvANrAfB|Q~Dza@rS~vBtGtq@LX|B`VJ`ANvAJ`ALdAJ~@N`ANbAP`ANz@ThAPx@VbAT|@T|@Vx@V|@Tp@Xt@Rj@Xp@Vl@Xh@Vh@Zj@Zh@^l@rAtB\\h@\\h@?@p@bA\\f@Z`@X`@`@b@Z^^^\\Z`@\\\\V`@X^Vh@ZnAr@|GvDvN`I~@h@lBdAnC|AvD`Cpo@d^zb@`VdUfMpAt@j@Zf@Zf@Xj@^b@Zj@b@d@^f@b@d@b@f@f@`@b@b@h@b@h@d@l@b@l@^j@`@n@^n@`@p@\\r@\\p@Zp@Zr@\\x@Zx@FLRf@lBfFjAzCt@pBv@xBv@tB~BjG`CpFjCbH~@fCbLfZFN~K`ZfE~KHT~AdE\\~@b@dA^~@d@bA^|@d@~@`@v@h@bAd@z@d@x@d@t@LR\\f@h@x@f@r@b@n@l@t@X\\TXf@j@h@l@l@n@f@f@j@h@d@b@h@b@b@\\j@b@`@Xd@Z`@Vf@Xb@Tf@Vf@Vj@Tl@Vn@TnBp@zAh@`AZp@Vj@Pt@Rh@Ll@Nf@J\\FPBh@Hn@Fd@Fd@Bb@B^Bf@@pDF`@?xCDpAB`FFfLNvABdB@xFHfDD`A@nEFfA@lAB|BBh@?d@Cd@E`@Eb@I^KZIZKb@Sb@UXQXSTQXUr@m@vAmAv@o@b@a@f@e@XYZ]V[V]V_@Va@T_@Ta@N]DGVi@Pc@Rg@Rk@Ni@Pm@Nk@Ps@Li@ZuAj@gCLq@Ls@Lo@Ly@vAsKt@oEp@sET_BRyAr@wEViBVkBb@_D`@cD|@oGf@uDf@}CzAyJ|@sFfAgGpCqNVkAZsA`@}Aj@iB`@gAd@gAz@kBvE_JxBgE`AiBz@aBf@_Ab@w@\\k@`@i@^i@V]d@k@h@k@p@s@d@c@d@c@l@i@f@c@l@e@fA{@dBiAzDcCd@YzIsFFEdNsIzXcQtK_H|AaAlAu@`Ak@`Ai@\\Sz@g@b@Wb@Ub@Uh@Wf@Ud@Sp@Yj@Qj@Sj@SHAn@Un@Sv@Sh@Od@M`@If@Mn@MFATElB[fTkD~c@kHxm@yJz_@iGx_@gGDAvCe@~`@sGfA]fBYpCc@lZ}ElKcBpN{Bbb@wGhScDj]qF|Du@xDy@fCq@`Cy@rCkArCmA|Aw@|A{@fCyAdCeB~HgGhCkChCoChGsHzAyBnEoGfTi[`N}RxE_HnAiBPUzA{Bf]_g@|MwRp@_AbFqHjEoGLSbBiClAqBb@q@d@s@`AwArAoB\\i@z@kA|@qA`HeJhHcKdSwYjEmGhFuHj\\ue@rCeEhe@sq@dVs]tAoBl@}@f@q@^g@^i@Z_@j@w@j@q@RWd@k@DEx@}@nByBHId@Yl@q@n@q@p@q@l@k@l@k@n@m@n@k@j@g@r@m@n@g@n@g@n@g@dBoAr@g@n@c@r@e@r@c@r@c@t@c@t@c@r@a@lFuCbOeIdOeInb@kUzAw@xDuBpJiFdVsMfAm@zEiCrC}AFCfE{Bhd@qVZQHE|\\}QFCdRqKRKnYwOXQ~PkJt@a@t@a@j@]PMb@Wp@c@p@c@l@e@r@g@zIwGVQhF{Dp@g@p@i@l@g@p@o@VS`@a@f@g@n@s@j@o@j@s@l@s@f@s@l@w@f@s@l@y@f@u@NU\\i@h@{@h@{@j@aAf@{@b@y@b@y@lA}Bb[}m@hNmXDKtMoWf@_Ad@cAd@aAf@eAd@eAb@aAZw@HQ`@eAb@eAd@mA\\aA`@gA^kA`@iAZcA`@qA\\iA^oA\\mAZmA\\qAZkA\\wATaAViAXsATkATeAp@mDlBcKpAaHj@yCtB{KlDcRrBwKtGq]zAaI\\gBzBwLb@{Bl@}Cl@cD", - "myszków|zawiercie": "uwssH_yauBjJ_g@hCgNrAkHjBwJtAqHp@eCVkAVmAT_AXeATy@X{@Vw@Vw@Zy@Xs@\\w@Zs@\\s@^s@^s@^o@b@q@^k@`@m@`@i@d@k@b@g@`@e@f@g@d@c@f@c@b@_@l@e@`@Yj@_@f@Yh@Yl@[f@Ul@Wl@c@zRgHb@Q^M`@Ol@Uvt@aXvEcBvFuBnPcGfMqEpFoBrEcBzCiApBs@fE}AVIt[iL~Am@~GcCfE}AbDiAnLiEvEcBr@Yv@Yp@Yl@Wr@]n@Yr@_@r@a@FCj@]p@a@r@e@p@c@t@i@r@i@n@i@r@k@n@k@l@k@j@i@p@q@h@k@r@w@l@s@l@s@j@s@h@s@h@q@h@s@rOaT~B_DpC{DdE}FpAgB~@oAzJeNXa@fI_Lj@u@R[bKmNvQyVX_@fJkMjJoM`EwFt@cAh@u@h@y@^m@DGh@y@t@kAv@_Ah@y@`@o@d@q@\\a@^e@\\_@XYZY\\YXUXSDAXS^SLGNGZQZKZKd@OPETEd@Kd@GFAb@El@EbBGn@Cr@CxBI|CKD?~CKtBIbAEl@Aj@Al@Af@AbACv@Ah@Cf@ApBIhFW~DQ`@AfEStI_@NAxDQ~FWn@El@Ej@Ez@KpCYp@Gt@Gv@EnAGfCK", - "dąbrowa górnicza ząbkowice|dąbrowa górnicza huta katowice": "gmkrHo`qtB|AhAPLT@`@ZDDpA~@b@Zd@Zd@Zd@Zd@Zd@XDBXN^RVNTLVLVL^P`@P`@P^PHBb@Rj@TxAj@`A^`A\\\\NTHVJh@PbA\\t@Tl@Nf@Nn@PhAVpEdATFrBd@vA\\fAVPDb@Jl@N|A\\TF`@HXFZFZFXDTDTBVBTBVBVBV@V@D@V?L@T?T?Z?Z?X?ZA\\AhBIfCMpAIzAKZC|@Gx@Iz@Kz@Kz@Mx@Mz@O|@OrBa@lB_@pBc@r@Or@QdBa@XGHAfDw@z@U`AWJAr@SrA]b@KDCh@Oj@Qz@[RIr@WfAe@h@SDCpBw@`@EdCcAfCcA", - "dąbrowa górnicza huta katowice|dąbrowa górnicza południowa": "q_frHwvptBv@[pBy@ZMlAg@pAi@l@Wl@[PWRMh@[b@Yb@]`@[^]d@c@d@i@BCTYZ_@X]V_@l@_AVa@T_@f@}@Xi@\\q@Zq@Vm@Vo@JUJ[Tq@Pe@Ng@Ro@Rs@Pu@Ps@Lm@Ns@Nu@Ny@Lw@NiANkALcAbBcO`BeOr@mGXaCZmCTuBXeCXeCb@yDToADYJ{@L}@Fc@\\uB`@mBd@aBn@kBp@cBt@yAn@gA|@oAz@cAZ[`@a@~@s@dAu@fAg@fAc@jAYZELC`@QhAInAC|WN", - "dąbrowa górnicza południowa|dorota": "{jbrHoavtBfA@z@@^?T?nBBpCBP?tKFX?nDB|MHzID`@@lC@zGDjA@jHDv@?R@z@@l@Bn@Dr@FP@~APxBZpBZbJtArZtEzThDpB`@nAZ^JdA\\dA\\bBp@fAh@h@XvAx@xAz@`LvHXRhCdB", - "dorota|sosnowiec maczki": "g{{qHytttBZRjKfHhAt@bVfPr@f@p@b@l@`@r@b@nAv@nAr@pAz@j@`@j@`@zAhA`ExCl@d@PJd@\\p@f@t@f@j@`@v@f@pDbChErCp@b@n@`@f@X", - "sosnowiec maczki|kraków główny kga": "iayqH{qrtB\\Rb@Tb@Rb@P`@Nf@Lh@N\\HjB\\fEt@d@Fb@Dv@Bp@?VAZCVCZEXGVGXIXKVKTKVMXQ^SlOmJ~@m@VQZUXWVUVYnAsAPUfA_BpAmBtAuBpAoBr@aAVYTUZWVQn@]d@OFCZIrGiBn@QnGgBtBk@DAhBg@t@Wp@Yp@c@f@c@b@g@h@w@b@y@f@mAX}@XqAjA{Jx@iH~Ds]Hq@BYFYD]Ns@D[Jw@Hm@Ho@Fa@FYDWLw@Fi@|@aIZmC\\qCr@eG|AaN~AgNLeANiADSHo@Lw@PaAR_APu@Py@Ru@b@aB~@cDNi@z@}CZgAd@aBH]Pk@l@yBZaAV}@Z_AXw@Vs@Zw@^{@\\u@`@y@^s@P]Xe@\\i@b@o@`@o@lAcB`CeDrDgFHKh@w@h@y@NSVa@f@y@rQ{XNUdHyKb@q@h@u@d@s@h@u@h@s@j@u@h@o@h@o@r@w@RSVYb@c@n@m@d@c@l@i@h@c@j@e@p@i@p@e@p@e@l@a@d@[`G}DvFuD`BgAxe@o[dGmEnL{Hh@]p@c@j@_@l@]xFgDv@e@n@_@`BaATM^Uh@WTMl@[p@]nAm@PI`Ae@pIaE|CyAr@_@l@]v@a@p@_@r@c@tG_El@_@p@c@PMd@[`@Wj@c@n@g@p@i@l@i@l@i@n@o@h@i@r@w@f@k@r@y@d@m@p@y@f@q@n@}@d@s@f@u@`@o@b@q@^q@d@w@b@y@^s@b@y@^s@pAgC|Oc[pb@{y@xAuCLSrg@ibAbDoGhC_FrH_OlG}LfAwBb@{@b@_Ab@_A`@_Ad@eA\\y@DMVo@Tm@To@Xu@hBcF~D_LtB_GnJ}Wx@aC^eA^cAp@gBlL}[bEgLtRai@`@kA\\aA`@iA\\gA\\iA\\kAZcA\\sAXeAZsAViAXuATiARcARiARkARiANiAPiAR}ANkANoALiAJgAJiARcAHgAJmA?CTmCl@sHV_DLyAJkALqALmANqANkALaAPoAJs@XcBDWN{@VuADUb@{Br@aD|@_EhIm^z@qD~@cErA_G|@wDt@}Cr@wCt@wCh@uBbAoE`@eBFYlBkIh@{CXsAp@sC|C_Nl@iCtEcRRy@TaATgAViAReAR_ATkARiAPeARiANcAx@wFb@mDd@aEb@{DRaB^eDJ_ALkA~@aIHs@nA_LXaCT{BpAaLnDa[bJax@ZkCrCyVBWbCgTlE_`@NoANmARqAPoARoAPiAVsAPiA`Nmu@TqARkARkAPqARuAPmAPsAJeA^eDJkAJmAJqAJqAJwAFoAHsAFuAFqAF{ADwABoABwABsA@sA@qA@}A?cA?{A?wG?gI?up@?gn@FmB?oA?mM?sA@sA@qA@sABuABsABiADqA@[Bg@@SDiAFuAHuAJuAHsAJmAL{APmBz@mJ^cENaBN}ANsAPwANuAHi@Hi@NiATuATsARkATmAVoAXuAVkAViAZoAZkAZiAV_AZeA^iAZcATq@?U~Ues@b@qA\\kAZ_AV}@\\oA\\mAT_ARw@ZsA^eBVmATmAVwAToARsARsAPoALaADYNkAP_BRqB@KDg@LkAJyAJsAHqAH}AFkAFmAF_Bv@uRtAw\\`E{aAPkEDoAD}ADqA@yABsA@qA@sA?sA?yAAuAAaA?_AAk@CqAEuAEyAEqAGyAGsAIuAIqAKuAKsAKwAMqAMqAOqAQwAOmAiCeSYuB_@wD{@yGOiACOK_AOqAOmAKsAKoAKoAIoAGsAGiAEwACiAEwAAoAAsA?sA?qA@kABgC?g@FgF?o@DeC@kB@]DaDBkABeAFoCJsCBqABkADoANmJ^{SBwABwA@sA@oABsA?sA@sA@}A?gD?a@@_L?gE?aA?_AAaAEgCGeEAo@YwPE{DG}HIwLAoD@}@?sAFaEHgEL_EPaExB}e@p@oN`D{q@NoCTcEb@uFTuBf@wEh@aERkAZqBr@uDdA{Ez@oD`AmDdAiDrQui@hBuFpAqEdBiF`A_D^sAT}@j@_CDMv@eDp@iDn@uDj@wDf@{D`@{DZkD@IXiER}DLiCd@qPDqBB}BAwEEmCIgCOeDe@aGi@eGa@sEYsDuGwv@cAyLWwDMuCCk@O{DIyDAiDAqE?_CDaJA_EAaECeBEaBM}DQeE[gFYmDEcBGm@I}@uAwO]cEQkBk@mGSeCMyAEo@Ei@IsAIyAEy@CYGyAEsAEkA?IEyACyACuAAuAAwA?uA?{A@uA@yA?Q@cABwADsAD{ADsAFwAFwAHuAHkAHuAJwA~@wMJkAj@mHHsAHiA^{ER_DHkAf@sHJwAPoC`@wFDo@f@gHTcDLyALyAJkAJiALmALiANkAFg@D_@NgAPiANeAPeAPmADULo@RmATiAZcBzByLBOrEiVhAgGdAwF`CmMNq@b@yBJi@jAcGl@aDF[Z}A`@sBdAmFVkATiANk@He@ZmAZoAZiA@GZiA\\iAX_A\\cAZaAZ}@`@gAZ{@^_A\\{@`@}@b@aA^y@f@eA\\o@`@u@`@u@b@y@h@{@d@w@j@{@`@m@l@}@|AwBv@yAtFcIb@m@~JwNv@iADGhCsDhCuDdPoUnFyH`@m@bBaChCuDlAgBf@s@R[RYT_@PWb@s@d@u@h@}@d@{@d@{@b@w@?AtLsTvSu_@BEXi@~BgEx@{AbAiBlDsGh@aAb@y@xDeHpCiFZi@^s@Zq@FKRa@^w@Zq@P_@HS\\y@Vi@DM\\{@^_A^aA^gA\\cAFOX{@\\iA\\iAPo@J]Pm@ZoAXeANo@No@R_ABIRaAVoAl@}CTsAPeAN}@@MPkAPqAL}@BSNiALsALkAFm@Dc@LmAJoAHqAJsAHsAHwAFoAFuADoA@YBq@BmABmABmA@o@?a@@iA@_B?y@?M?sA?sAAyACoAC{AAmAEuAGwBA_@KeECu@K{ECy@Cw@OgGIaCKkECu@MkFASCoACsAAs@A[CqA?QAqAAuA?k@?k@?sA@_B?mBNy_@?sB@_@@sF@}A@kA?kA?U@{@BmBBoABmAFyA??BoAd@}MDoADqABmABeABsA?KTgSLoKXyU@_ATeRV{NBaCHwGD{CB}BJyHBuAF{EDaC?e@?KJqHF}DNeLBsABy@?SDqA@ODaAFsANyC\\mGFeAF{@FcAJgAXcCNaAN{@Jo@Nq@No@Nk@\\qAVw@Vw@Ro@^cAdAuCdB}E^cA\\y@Pa@L[`@}@^w@b@}@R_@R_@p@iAv@qAb@q@`@m@TY", - "kraków główny kga|kraków główny": "orspHi_vxB^i@V]h@u@p@y@r@_AV[x@eAn@{@X]BCPURURURQPSXUZYNKROPMRMZSRKRKZOl@Yb@SVKbAc@l@Yf@U", - "kraków główny|kraków płaszów pzs kpa": "curpH{yvxBTKRGPGNGVGf@MXETETC`AKPCRCXC^Eh@GXCVAPAb@A^?PApHKvCG|@CPAL?`AEj@Cj@AJ?nAAbAA`@A`AAl@A~@AB?zCE|AC`@Mn@AR?TAJAh@C^ArAGZCZAh@Aj@AdFI`@?dEIf@A`@Ah@Eh@Gb@Eb@Id@Gd@Mb@Kb@Mf@Qf@Qf@Sf@Uj@[`@Uf@[b@Yd@]b@_@DC^]\\[Z[j@m@`@g@^e@`@g@`@m@dA_BvHeLDG|HoL\\i@n@_A`@m@Zc@b@m@bCsDtOuUfA_BtBaDzA}B^i@jBqCb@q@Ze@v@kAXc@DGjAgBvAuBd@s@^k@`@g@Zc@d@k@^a@`@a@b@e@d@g@^c@`@e@\\e@f@o@^k@jAgBFIdFyHv@kAV_@vBaDV_@?AxCoEb@o@^k@`@m@NWPUdCwD`@m@`@m@p@cAHMlCaEd@s@\\i@Zk@j@aAfAyB`AyBLYFO^_AXy@\\aAXw@d@}ANk@^oAx@wC\\y@", - "kutno|stara wieś": "s_w}HezcuBHm@Hu@Hs@Hq@Hs@Fq@Ag@@KDo@Dm@Dm@Dq@Ds@Bq@Ba@@M@o@@A@s@DsA@g@Bi@?UD}BFcD@s@NuIHyEByAvAg|@BqABuABwABwA@wA@y@@y@?{@@w@?w@?}@Ay@?{@Ay@As@A}@C{@A{@Cy@Ey@Cq@Cg@Ag@Ci@IuABc@Es@IuAIuAu@mLWsEGu@Eu@{H{oAw@{Li@yIgGubAAK", - "stara wieś|jackowice": "kqw}HksouBsB}\\G{@}Cwg@u@wLcAmPUsDq@mLg@cIyA}UiAuS[sF[eII}EA_DBuEHaFNeETeExAmRfAsNnHo_ArBmW~HwbAbBgTV_Dp@uIxIchA~HqbAdBiTbLaxApCy]pGcy@zAkRJcBJgBHaBFaBTaPRsh@DsIVgs@Jo[h@quA@yCHgTF{K@wK@wCDyC@oA@gAFmCD}AFuAReELwBNyBXcEDm@hAsObAmNdAaOTcDVqD^kFd@uGt@qKDe@fA}OXwDVuDXwDZsDXmC`@gDRwARsA`@eC`@iCd@aCb@aC`@_Cj@_DVuAjFgZ`Jwg@jCcOtEoWfO{z@zDoTzDwTxDsThDoRlEyVr@_Ev@_EtBuJtBgJpBcJbCuKbBoHlMik@xG_Z`L_g@fLqg@fDgOjBeI`DoN~CmNtFkVlAoFv@kDv@mDpByI`FwTvH}\\nBsItHs\\FWdBmIp@qCr@qCt@gC`@kA^kAnAgD~A_E`A_CbA_CbC_GhG_OpO{^pFsMpFqMbNe\\l@yAl@wAvAsDx@aCZcAZaAl@yBh@wBt@aDXyAXwA\\yBh@eDn@mEl@kEzA{KpDmWx@aGzCkTlAwIlAuIdAqHLaAtAyJtDcXVgB`@sCbBwLbFg^", - "jackowice|łowicz główny": "qgi}Hsd|wBbFi^nA{IlA{I|CyT|Hqj@pAeJpAcJnAaJd@sDb@sDPaBPaB^cEp@gIr@gIdBqSjEah@lBgUn@yHX}CV{CvH{}@xA{PRoAp@eIn@aIdB}RnC}[j@{GHaA`BsRJoALoAJ}@Fq@Ho@Hu@@QFa@Hs@Ju@Jq@Ju@Fa@BOLq@F_@BQLq@Lo@Lq@Nq@Nq@Lm@Nm@Nm@H_@FQNq@Ro@Li@Pm@Pk@Po@L_@l@uBfCoInAiErAmEdB_GbDqKdEmNfH}Ut@eCtFaR^mApDwLbCgIz@sChCuIfEoNbAgD@G~DyMzDoMJ]bHsUtBcHrB}GrL{`@Rq@DMZcAX}@V}@Pi@Ne@FSFQNe@Na@Na@Rm@L]L]Ti@Rg@P_@Vk@Xm@JSRa@Ra@Ta@Vc@Vc@R]LSZe@Ze@Xa@T]V[LQ\\c@\\a@V[VWTYNORSRSRSVUXWVUTQXUXSXUZSXQPKVQVOXOj@]l@[r@_@NI\\QhB}@`@S`@SvAaAnDiBTKZQ^S^Uf@Yl@a@TOZU\\UDEXSXSXUz@q@XWRQTSTS^_@RSRSPQPQPQZ]Z_@p@u@X]PURUNSj@s@f@u@\\e@Ze@NSDIf@u@Xe@JOv@oAbA_BbA_BBE", - "łowicz główny|bednary": "_t_}HavxxB|@yAbA_BbA_B|@wAT_@d@u@f@u@j@_A~ByDnAqBV_@Ta@b[{f@`BmChAgB|@wAV_@bC{D\\k@FKV_@\\k@\\k@x@oAFKhBwCJQz@uAT_@PYPYVc@P[R]LWNYNYVi@Tk@Rg@JUFQPe@Ri@Pi@Pk@La@L_@Ja@Po@H]H_@Je@Jc@Jg@Jm@Ha@Hc@Hi@Hc@Fc@D_@Fa@BWD_@Fe@Fi@Di@Di@Di@Dg@Bc@B_@@]B[Bk@@i@Bi@@o@Bo@?]@k@?i@?i@?[?s@?q@Ai@Ai@Ai@Ai@Ci@Ck@Ck@Cg@Ci@Ei@Em@Ek@Em@Ee@Ge@KeAI}@AGWoCiBkRMkAKmAGq@Gi@Ei@Gk@Ei@Ek@Ck@Em@Em@Cq@Cs@Co@Cw@Aw@Aw@Aq@Aq@A{@C{B?i@EeFQ_RGoIAeAEwDAyACwACyAAaAASG_ECmAC}AAgAAoAAoACcB?c@AiBEwECeBAs@?u@Aq@Aq@Ak@Ag@C_ACq@Cu@Ck@Ce@Ce@Cc@Cg@Gy@Es@Eg@C[CUCWC[EYCUGq@Io@Is@Ks@Iq@ACIk@Mw@Ko@Ko@SiASkA]iBwCiPiE{UoAcHY}ASgA}Fc\\qFkZq@uDsC_PeAeG_AiFwA}H{@uEYcBaLun@UmASkAOu@Mu@y@uE", - "bednary|warszawa gołąbki": "{m_}HyllyBaAuFaAgFm@mDGYWyAoByKEQIg@gAgGAEc@eCc@cCkEmV{BkMkBuKc@_CO{@Ii@cCgNUqAUqAg@qC}@cFSiAeIid@UoAUkAMm@Mo@Qy@Qs@Oq@Qq@YkAYiAaNei@iCcK]sAKc@gAeE{HsZWgAmBmHo@iCWcAk@{BcFaSqEiQOo@gDsMsD{NOi@]uA{AaG[iAYiAQm@Qk@I_@EMQk@Qi@Qi@Ww@K[ISKWSk@Si@Ui@Ug@M]MYMWQc@Ug@Ug@a@y@yDkIkFeLmC}Fc@_Ag@eAmAkC}BaFYk@?AgA}BoFmLuCiGcE}Ig@gAQ_@qAsCmEkJuFuLu@aB_AqB]s@a@{@Ue@Ue@S_@AEUc@Wc@Ua@OYQYOWGKMQWa@W_@W_@U[W[CCW]W[Y][]WYYY]][WYY]YYW[WOMMKo@e@m@e@u@i@m@q@oByAaD_CaDaCe@]MK{JoHyFgE{EmDIGgIeGqEgDoDmCWQ]W[UcAw@i@a@[W]UUSIG]Y[YOMMM[Y[Y[[Y[[[AAWYUWUYSUSWOSOSGGOSU]GGQYQWGIYc@Ye@Ye@OUKQYg@[k@[k@c@u@EI[m@KOsAcCaCmEgFkJqEkI[k@We@CEuCmFiAsBa@u@c@w@EGyN{WUa@Q]aHgMgBaDg@_Ag@}@eDeGMUOWiL}S_@q@eBaDoCaFUSeB}Cm@iAi@aAi@aAsAeCo@iAsIwOqCgFa@s@mA{BcG{KiE{HeG}KqCeF{CuFc@u@a@u@Ua@U_@Wa@Wa@W_@U]UYSYSWQSQSQSY[Y[YYYWYY[WYU[W]W]WEEWQaLgI{@m@cQgMgE{CiCkBgIaGIGs@g@iBqAaD_CGE{CyBm@c@]W]W_@WYQEE[QWQYQ[OYO[OKGYM[Mc@Q_@M_@Ma@Oi@QuQyFECcBu@_@K_@M_@Mk@Uo@Wu@]g@Wk@_@k@]sAcAaA{@EE_Ay@kBeBkCeCuHgHs@s@u@y@s@y@q@{@g@u@U]Wa@a@o@c@{@a@s@_@u@{@mB_@aA_@aA]aA[cAy@oCa@qA_@qA[aAI[sAuECIwAcFuAmFgCyIoCcJeAmDuAiEaCiHsAcEaAeDi@eBa@sAm@sB[gAUu@Su@Qq@Mo@Qy@Mw@QiAOeAOyAKyAI_BEyACsAAoA@sA@oAF_BFyAH{AJ{An@qJV}DPeCDs@PkCdBoWlGe`AhCi`@lBoYb@mGvAiTrDqj@rCsb@LiCLaCDw@@e@FgBDgABaADuBJoEjAcl@l@{YxCezA?EXwN`Bkx@PwHBmBDkBBe@@g@J_EDeADaAHcBH_BJeB\\mGZmGxDos@lAcUlDkp@`AsQj@gK`@yHfEsw@@If@mJhAoS`Ecv@HuAn@oLl@_L\\eGhFqaAfAmSFaAHaB`@}JxDws@pOcuCtFmdAn@oLlOcsCvAyWpB{^fBo\\dC_d@`AwQdBo[pB__@\\_Hb@sH@WlBy]zA}Xf@gJhAaTv@oNl@}K^eH`Coc@tCuh@ToELcCFgAF{AFsADoADqAD}A@cAB_B?kA@_B?yA?aBAcBY_k@?SEiJ?OEcHC}EA{CGiJEuJYci@AeAAsCw@kfBGwLEyJAaAIkRG_LAaAOi^GmM?MEqHGiMGgMCeACiAEmAEgAMeCKoAKoAMyAOmAOqAQsAIg@QcASiAa@uBc@mBe@sByByI_@}AsAmFEOwJy`@oNkk@kKub@q@mCwCwLwGeXg@oCa@uBUsAQoAKaAMqAGaAGeAEqACoAAuAAwDGgFA{_@A}J@_BBwCBcBF}AHaBd@_K`@oIDoBBwAB{A?eB?{ACwACmBGsBIgBKoBeAaPu@aLsBg[e@uHoBoZw@wLiAkPI}@QkBUiBq@iEq@kEwByMo@iEe@yDYiCQqCiBmXwAgTaCe^iDqg@iAsPk@uIg@wHa@eG}@gNqAmRo@uJa@aGSgDEw@Ck@Ck@Es@E}@C{@C}@Cu@CaAAcAA_A?{@Ac@?W?_A?_A@}@?mA@y@@y@BoDXe_@DqDJwL@oCRwTDkF@sBJqMDcF@wAByA@{AB_BBaB@{AByABaA@s@DaC?SDuBLkIB{AB{ABgAHqGFyE?WBsA@oA@oA@eA@{@FcHDeHByBBiD@yA@wABmG@wBBiI@{A@{A?uA?u@?_@?yG@oA?s@?u@?}@@w@@u@@iCBoC?s@?M@_A@_B@_BHmI?MFeIFcH?YVa[P{T@I`@sh@LsNHeJ@q@?s@f@qj@AeG@uA?sA?w@?y@?w@Aw@Aw@Aw@Aw@Ai@AMCw@Cy@Ew@Cw@E{@Eu@AI@i@Ca@OeCQuCUeESaDO{B", - "warszawa gołąbki|warszawa włochy": "w{s}Hsmi~B_@sGc@_HA[k@aJEq@Eq@IsAGq@Gq@Gm@Ek@Iq@Iq@Ge@UwASuAk@wDyAoJMw@?c@Ik@Ge@Ee@Gg@Eg@Ee@Ei@Cg@Ci@Cm@Ai@Ag@Ai@Ag@?i@?o@?g@@i@@k@@e@Bg@Ba@@a@Dc@B_@Ba@Da@Hu@Fi@D[Fa@DYDYBQHe@Je@Je@H_@H_@H_@J[H[H[FQPk@xMwb@^mAt@cChCiIj@kBrAeElMya@Lu@Ng@Tw@BKH]Ha@F[He@Fc@F_@F_@Da@Fg@Ba@D]Be@Ba@B]@a@@a@@_@@Y?[@c@Ae@?e@Ae@A_@Cc@Aa@C_@Ec@E_@Ee@E]E]Ie@G[EYMq@Om@[yAUkAQs@aAmEsAcGAIk@iCc@qB_@{As@_D_@uA[mA[kAqAwEOi@Om@I]K]Ia@Ka@G]GWG[I_@G_@Km@ESIc@GYGWDm@Le@Kc@Oq@Qq@Qu@Ke@CGYmA[sA_@?", - "łódź fabryczna|łódź widzew": "{f~zHatyuBF}CHaE@k@@i@Bk@@g@@e@Be@Ba@Dq@Dk@B[B[r@eJNkDVkDFaAFoAB}@~@s]FeERaGH_CxDwvAB{@^yNFiDDiBDsC?SHkEFoCFoCNaGDcAFoBDyAH{BTyFHoBBy@B{@P}ELmEF_CFuBHwCJyDJwDZkLRyHLoBXiKBuARkHHyBDsAFoAJyBJ_B`@uFVkDFo@pAmPFo@l@uH", - "gałkówek|koluszki": "cqvzHqbnwB?uBImDC{AAyAAuA?uA?m@@g@@mABuADoADqAFsAFuAHcAJqAVsC\\wC`@uC\\yB^wB|@mFzB{M|@sFCOT_BR_BLgAJiAJgAHgAHgAFkAFgADgADgABgABmC@mA?kACsCGwCK}CQuCUcDMsAKiAsDya@Ea@OcBkD_`@yAoPOuAKuAMsAMsAMuAKsAMsAMsAMuAMuAMwAyFqo@AME]CSEi@k@oGg@uFEk@Go@qCc[MsAMsAKgAMyAMuACUKaAM{Aq@sH}A_QeAsLO_BI}@Gc@Ec@Gc@Ge@Ic@Ga@Ic@Ic@Ia@Ka@Ic@K_@Ka@Ma@K_@M_@M_@K[KYOa@O_@O[O]O[KQS_@S_@OYQYSWQWSYQUSWSUSS]]]]OMQMWSSOSMSMYQYOYOc@Se@Sa@QIEWKc@c@_CeAu@[u@[{Am@u@YmFwBkBu@OGg@S_E_Ba@Oy@]WM[O[O]Q]Q@M", - "łódź fabryczna|łódź niciarniana": "{f~zHatyuBF}CHaE@k@@i@Bk@@g@@e@Be@Ba@Dq@Dk@B[B[r@eJNkDVkDFaAFoAB}@~@s]FeERaGH_CxDwvAB{@^yNFiDDiBDsC?SHkE", - "łódź niciarniana|łódź widzew": "ov}zHow`vBFoCFoCNaGDcAFoBDyAH{BTyFHoBBy@B{@P}ELmEF_CFuBHwCJyDJwDZkLRyHLoBXiKBuARkHHyBDsAFoAJyBJ_B`@uFVkDFo@pAmPFo@l@uH", - "warszawa podskarbińska|warszawa wschodnia": "am}}Hq|q_CLv@`@tBrBbKXrAVnAb@dB|AdG|@jDT~@jAtE|@tCv@rBp@`BRd@Zt@Vp@Xz@J^Rn@Pr@h@bCP|@XlBPlAr@`FzBdKlB~IpA`Gf@~BTfA`@nCd@tBZtAJb@HXN`@HTJTTh@Xj@VPTPJRNVLPLPNPLNPNTPLHPJNHRHFBXJTPVTNBTDTBTBpALTBTBP@P@P@VBV?X@", - "płyćwia|lipce reymontowskie": "w_{{HevayB~A|Cd@~@b@|@dBfDdBhDzElJl@lAbNdX`DlGl@fA`EdIzBlETd@`CvEtA~CXj@`@v@`@v@Tf@Td@R`@FNLVTd@Pb@Vl@Pb@N`@Tj@Pj@Nb@Ph@Pj@Nh@Nd@Ld@Nl@Jd@Ld@Jd@Jf@Jf@Jh@Jj@Jl@Jl@BTDVJn@Hr@Jr@Ht@Hr@Fv@D\\BVDp@Fv@Dt@Ft@Bt@Dt@Bt@Bx@@r@@x@@v@@r@?p@?x@?t@?t@Ax@Av@Cz@CxACxAOlI_@tQk@j[@vAe@xU]pQMnHEnBCjAG`DI~DG|CA^IvDOnIChAAfAAl@Al@?l@?l@?n@?n@?j@?H@p@@n@@d@?N@t@Br@Bt@Dr@Br@", - "lipce reymontowskie|rogów": "}vx{HegvxBDh@Bf@BXFx@Ft@Ft@Hr@Fp@Jv@Hp@Jr@Jr@Jr@BHHf@Lp@Lp@Jj@Lj@@DJb@Lh@Lb@H\\HZNf@Lf@Nd@Nf@JXDJNd@Pd@Pd@Pd@Rd@LZDFPb@Td@Td@Vd@Td@HLLTT`@Xb@V`@V^V^X`@V\\Z^X\\ZZRVTTTRRT\\XFFRP\\XZVZT\\TZR\\RZR^R\\P\\PNDNH^N\\L^L^L\\J`@H`@J\\FLBb@HF@VDHBRB|@X|GbAtARt@J~^pFhJrAbP`C|MnBtHhAt@JdVlDnG~@vARt[vEhJrAnFv@t@JdJrAjBXxAR?@pDf@RD^DNBl`@xFdJrA~B\\jIlAr@Jv@L`@F|JvAdJrAj^hFv@Ln@JF@l@Hp@Lp@L^JB?ZH^J\\JB?^L^NPFLF`@N\\P^P^P^RTNVNVNVPZV^VRNFFf@`@XVVVTTZZXX^`@PTPTRVTVRXX`@X^JPd@p@d@r@xBjDdA`BzK~Pl@n@pSv[t@jArEhHXd@vCpExA|BpArBrAtBjAhBfGpJh@x@T\\RZd@r@lAnBHLb@p@hAfBrBbDb@n@pDxFbBjCNTnBzC^l@", - "rogów|lipce reymontowskie": "mmh{HoalxB_@m@oB{COUcBkCqDyFc@o@sBcDiAgBc@q@IMmAoBe@s@S[U]i@y@gGqJkAiBsAuBqAsByA}BwCqEYe@sEiHu@kAqSw[m@o@{K_QeAaByBkDe@s@e@q@KQY_@Ya@SYUWSWQUQU_@a@YY[[UUWWYWg@a@GGSO_@W[WWQWOWOUO_@S_@Q_@Q]Qa@OMGQG_@O_@MC?]K_@K[IC?_@Kq@Mq@Mm@IGAo@Kw@Mk^iFeJsA}JwAa@Gw@Ms@KkImA_C]eJsAm`@yFOC_@ESEqDg@?AyASkBYeJsAu@KoFw@iJsAu[wEwASoG_AeVmDu@KuHiA}MoBcPaCiJsA__@qFu@KuAS}GcA}@YSCICWEGAc@IMC]Ga@Ka@I]K_@M_@M]M_@OOIOE]Q]Q_@S[S]S[S]U[U[W]YSQGG]YSUUSUUSW[[Y][_@W]Ya@W_@W_@Wa@Yc@Ua@MUIMUe@We@Ue@Ue@Qc@EGM[Se@Qe@Qe@Qe@Oe@EKKYOg@Oe@Mg@Og@I[I]Mc@Mi@Kc@AEMk@Kk@Mq@Mq@Ig@CIKs@Ks@Ks@Iq@Kw@Gq@Is@Gu@Gu@Gy@CYCg@Ei@", - "lipce reymontowskie|płyćwia": "}vx{HegvxBCs@Es@Cu@Cs@Au@?OAe@Ao@Aq@?I?k@?o@?o@?m@?m@@m@@m@@gABiANoIHwD@_@F}CH_EFaDBkADoBLoH\\qQd@yUAwAj@k[^uQNmIByAByAB{@@w@@y@?u@?u@?y@?q@As@Aw@Ay@As@Cy@Cu@Eu@Cu@Gu@Eu@Gw@Eq@CWE]Gw@Is@Iu@Ks@Is@Ko@EWCUKm@Km@Kk@Ki@Kg@Kg@Ke@Me@Ke@Om@Me@Oe@Oi@Qk@Qi@Oc@Qk@Uk@Oa@Qc@Wm@Qc@Ue@MWGOSa@Ue@Ug@a@w@a@w@Yk@uA_DaCwEUe@{BmEaEeIm@gAaDmGcNeXm@mA{EmJeBiDeBgDc@}@e@_A_B}C", - "warszawa wschodnia|warszawa podskarbińska": "wg{}Hwam_CYAW?WCQAQAQAUCUCqAMUCUCUEOCWUUQYKGCSIOIQKMIUQQOMOOQMQMQOWKSUQWQYk@Ui@KUIUOa@IYKc@[uAe@uBa@oCUgAg@_CqAaGmB_J{BeKs@aFQmAYmBQ}@i@cCQs@So@K_@Y{@Wq@[u@Se@q@aBw@sB}@uCkAuEU_A}@kD}AeGc@eBWoAYsAsBcKa@uBMw@", - "łódź andrzejów|bedoń": "iuxzH_lvvB`Nq_@bDaJv@{Bn@qBfAuDv@wC`A_Eb@qBb@mBNk@~EkTlI{^n@oCh@gCRcATgA`@gCTaBHe@LiAJcA@GH}@JgAHcAHkALmC", - "bedoń|justynów": "yzvzHqt{vBBo@FiB@eABsA@iA?qA?sA?uAAoFAmAAuEEkMEwOCeH?eAEgOAuDKe`@AsDAqDAuDAqDCoIGgVAoD?mA?uA?oA@qABkABoADoADcAFgAFoAHgAJqAJeALiAJcAPmANkAPkA", - "justynów|gałkówek": "owvzHkccwBlA_I\\wBPoAZqBA]xAoJ`@sC\\kCVkCTkCPyCLsCFuCD}C@cDAgDg@mjBGeRCmHCuI?}ACeKE}J?{AAeCKi_@AqACyACmACyAOeGa@yNm@sTCiA", - "gałkówek|żakowice": "cqvzHqbnwB?uBImDC{AAyAAuA?uA?m@@g@@mABuADoADqAFsAFuAHcAJqAVsC\\wC`@uC\\yB^wB|@mFzB{M|@sFCOT_BR_BLgAJiAJgAHgAHgAFkAFgADgADgABgABmC@mA?kACsCGwCK}CQuCUcDMsAKiAsDya@Ea@OcBkD_`@yAoPOuAKuAMsAMsAMuAKsAMsAMsAMuAMuAMwAyFqo@AME]CSEi@", - "żakowice|koluszki": "u}vzHkoxwBk@oGg@uFEk@Go@qCc[MsAMsAKgAMyAMuACUKaAM{Aq@sH}A_QeAsLO_BI}@Gc@Ec@Gc@Ge@Ic@Ga@Ic@Ic@Ia@Ka@Ic@K_@Ka@Ma@K_@M_@M_@K[KYOa@O_@O[O]O[KQS_@S_@OYQYSWQWSYQUSWSUSS]]]]OMQMWSSOSMSMYQYOYOc@Se@Sa@QIEWKc@c@_CeAu@[u@[{Am@u@YmFwBkBu@OGg@S_E_Ba@Oy@]WM[O[O]Q]Q@M", - "koluszki|wągry": "{ryzHe_~wB]Qg@YUMSKwBoAoAs@SMcB_As@c@i@YcEaCaB_AiEaCkEeCSMuAu@kGoDu@a@qF_D_B}@}A{@aCuAc@WwAy@kA_AiAq@c@USMWOg@WYQ[Qm@]e@WECWOs@a@s@a@iOsIsNeIg`@uTq@a@y@c@GEe@WeEaCqI{EqMqHs@a@mDoBoI{E}@i@SKsI}EcE_CkIyEeK{Fs@c@mHcEa@WiDmBu@a@s@c@c@Wa@Wc@YGCWSa@W_@Ya@Y_@[EC[Wc@_@OMQOYY[Y[[[[_@_@]_@]_@]a@]a@SI[a@QS", - "wągry|rogów": "kxb{HqddxBKO]e@]e@Ya@Wa@Y_@e@u@e@u@eQkXm@}@uJkOsFsI_@m@_D}EuGeKa@}@i@y@me@yt@{IeNk@{@k@}@a@o@c@o@oCgEa@o@e@s@g@u@]k@uBcD_MqRc@s@gFcIcCyDqHiLcNcT", - "rogów|przyłęk duży": "mmh{HoalxB_@m@oB{COUcBkCqDyFc@o@sBcDiAgBc@q@IMmAoBe@s@S[U]i@y@gGqJkAiBsAuBqAsByA}BwCqEYe@sEiHu@kAqSw[m@o@{K_QeAaByBkDe@s@e@q@KQY_@Ya@SYUWSWQUQU_@a@YY[[UUWWYWg@a@GGQ[]W]U", - "przyłęk duży|krosnowa": "qcl{HsaqxBYGWOWOUO_@S_@Q_@Q]Qa@OMGQG_@O_@MC?]K_@K[IC?_@Kq@Mq@Mm@IGAo@Kw@WoCa@yYiE]EiImAaIiA{AUw@Mu@KiMiBgJuA}RsC", - "krosnowa|lipce reymontowskie": "ccp{H{crxBoBYIAmAS??qDg@UE]EMCuWwDu@MoFw@iJsAGAm[uEgJsAyNwBiFu@u@KoHgAcNqBePaCyCc@oEo@__@oFs@MwAS}AUmDg@OC_AOSCICWEGAc@IMC]Ga@Ka@I]K_@M_@M]M_@OOIOE]Q]Q_@S[S]S[S]U[U[W]YSQGG]YSUUSUUSW[[Y][_@W]Ya@W_@W_@Wa@Yc@Ua@MUIMUe@We@Ue@Ue@Qc@EGM[Se@Qe@Qe@Qe@Oe@EKKYOg@Oe@Mg@Og@I[I]Mc@Mi@Kc@AEMk@Kk@Mq@Mq@Ig@CIKs@Ks@Ks@Iq@Kw@Gq@Is@Gu@Gu@Gy@CYCg@Ei@", - "płyćwia|maków": "w_{{HevayBsBaEIO}@gB}A}CUc@g@aAg@aAuAoCaEaI}@eBUc@iAyBWUMWi@cAc@{@c@w@OWKSS]S[Wc@W]U]W]W]Y]W[Y[Y[WYYYYY[W]YWSYW[U[S]UWQYO[Q]Q]Q_@Q_@Oa@Qa@Qa@OkKeEc]cNq@c@}D_ByImDoAg@m@Uo@Yo@Y]O_@Q_@QWOYO_@U[S]U[S[UYW[W[WYWYYY[YYY[Y[Y]W]Y]W_@W_@Wa@Yc@S[OYOWIOYg@ISIOUe@Uc@Se@M[EISe@Qg@Sg@Qg@GQK[Oc@Qi@Oi@GOIYOk@GSGWMi@Om@Mk@Mk@Mm@Ie@Kk@Ki@Ik@Ii@Ik@G[AMGi@Ii@Go@Io@Gq@Ea@AMEq@Go@Eq@Eo@Eq@Ag@Ce@Cc@Ac@Cq@Aq@Aq@As@Aq@?q@?q@?q@?q@@s@@q@@q@@q@Bq@@q@@W@YDo@Bq@Ds@Fq@Du@Fq@Ds@Fs@LuALsARwBBgArBqULoAZmDBU", - "maków|dąbrowice skierniewickie": "_~_|H}djyBp@wHv@uI~BsWx@eJZkDZmDZoDZgDFo@Da@JiAv@yIVqCrBiULsAfA{LLuAtB_VxAaPpCc[Fm@fAuLzAwPDg@zAsPt@oILuAtF_n@V_BJsADi@Fk@Fu@Du@Fw@Ds@Dq@Bu@Ds@Bs@@u@@A@k@", - "dąbrowice skierniewickie|skierniewice": "wf~{Hi}tyB?G@s@@u@E_@@U?u@@u@?O?c@As@?u@Au@As@Au@Ai@Cy@Cy@Cm@Ck@A]GiAEo@Em@Eo@Em@Go@Gq@Go@Iq@Gq@Im@Io@Io@Km@Ko@Km@Km@Km@Km@GWEUMk@CMIa@Oo@Om@YgAWiAsMyg@w@wCOk@Ok@Ok@Oe@Me@Oe@Oe@Oe@CIK[Oc@AAOa@Oc@Se@Se@Se@Ue@Se@Uc@Uc@ACS]KQIQOUGKU_@Wa@U[ACW_@W]Y]W]Y]SUEE[[Y[ECSU[Y[YGESQ[W[U[U]Uc@WUO[QOIOI[O]Q]M]O]M_@M_@M_@M_@Mq@Sq@Sqn@uQ_HqBsF_BeA[{Ac@SSwKaDOE_@M_@K_@M]M[M[M[MYOYMQKe@W[SYQ[SYU[UYUYUYWGGQQYWWWUWWW[_@EGSUOSW]W]W]U_@W_@U_@S]U_@CEO[Q]Q]Q]Q]O_@Q]M[O]M]M_@M_@M_@K[K[I]K[I]Om@Mk@Mm@Om@Mo@Km@AEKe@]aBSm@Oq@Ic@_@qBEQOw@a@sBQw@a@sBACsAyGIG", - "skierniewice|puszcza mariańska": "uqd|Heu}yBm@wCw@}DKg@Ke@Kg@GYK]GWGWI]e@gB]wAMe@Me@Ke@Ka@Kc@Kg@AGMq@a@kBc@yBQ_AOw@AGMm@Km@Mo@kA{Gm@iDMq@Mo@Mq@Mo@Ko@GUaBoIoAuGaA_FaA}EaGsZw@aE_@iBaC}LkHg_@Ou@Ou@Km@Ks@Mu@Kq@Is@Ks@Kw@Iy@Iy@Gm@Gw@Gy@Gq@Ew@Gy@Cs@Es@C_ACs@Cu@Cs@]aOEgAMsFUoJO_GIgDAo@A_@Ag@?G?c@?k@?c@?e@@c@@g@@a@Bc@Bi@Ba@B_@Dk@Da@D]D]Fe@Fc@Hi@D[H_@Ha@Ha@H]Le@Jc@J_@Pk@Ng@Ng@Ts@^kATuANe@Ne@Lc@Lc@Ja@H_@Lg@J_@Je@Ji@Ns@Ny@t@}DNy@Ny@DWLu@Lu@Hi@Ho@Jy@Fk@J{@Fm@Fo@Do@Fq@B_@@YDg@FcAd@eJXgF|@aQZyFv@gO`AeRD{@D{@Bg@@UBy@D_A@}@B}@@y@?{@@q@?E?_AAaA?{@A}@Aa@AYAo@Ak@Ck@Cs@Aa@Ck@E{@Ew@Gy@Gy@G{@I{@CWGs@Is@Im@Iw@Kw@M_AMw@O}@O}@Q{@QaAmB{JQaAw@yDIc@EQOs@a@yBUuBe@}B_A{EeAqFsAeHkBuJe@gC]mBUwAQqAS}AUiBQcBOaBOgBMgBKgBKoBGeBGuBEeBC_BC}A?qAIyVEsPEcQKi]Kkd@Sqa@?KG_PAsEEiRCsKAcEIy[AqEAmF?eB@oB@eBBkBFmCHoE~@sg@RkK~BioAPqIx@}b@ByA", - "puszcza mariańska|skierniewice": "spf|Har`{BCxAy@|b@QpI_ChoASjK_Arg@InEGlCCjBAdBAnB?dB@lF@pEHx[@bEBrKDhR@rEF~O?JRpa@Jjd@Jh]DbQDrPHxV?pAB|AB~ADdBFtBFdBJnBJfBLfBNfBN`BPbBThBR|APpATvA\\lBd@fCjBtJrAdHdApF~@zEd@|BTtB`@xBNr@DPHb@v@xDP`AlBzJP`APz@N|@N|@Lv@L~@Jv@Hv@Hl@Hr@Fr@BVHz@Fz@Fx@Fx@Dv@Dz@Bj@@`@Br@Bj@@j@@n@@X@`@@|@?z@@`A?~@?DAp@?z@Ax@C|@A|@E~@Cx@ATCf@Ez@Ez@aAdRw@fO[xF}@`QYfFe@dJGbAEf@AXC^Gp@En@Gn@Gl@Kz@Gj@Kx@In@Ih@Mt@Mt@EVOx@Ox@u@|DOx@Or@Kh@Kd@K^Mf@I^K`@Mb@Mb@Od@Od@UtA_@jAUr@Of@Of@Qj@K^Kb@Md@I\\I`@I`@I^EZIh@Gb@Gd@E\\E\\E`@Ej@C^C`@Ch@Cb@A`@Af@Ab@?d@?b@?j@?b@?F@f@@^@n@HfDN~FTnJLrFDfA\\`OBr@Bt@Br@B~@Dr@Br@Fx@Dv@Fp@Fx@Fv@Fl@Hx@Hx@Jv@Jr@Hr@Jp@Lt@Jr@Jl@Nt@Nt@jHf_@`C|L^hBv@`E`GrZ`A|E`A~EnAtG`BnIFTJn@Ln@Lp@Ln@Lp@l@hDjAzGLn@Jl@Ll@@FNv@P~@b@xB`@jBLp@@FJf@Jb@J`@Jd@Ld@Ld@\\vAd@fBH\\FVFVJ\\FXJf@Jd@Jf@v@|DLRHd@D\\Fd@P`@", - "skierniewice|dąbrowice skierniewickie": "kqd|H}t}yBrAxG@B`@rBPv@`@rBNv@DP^pBHb@Np@Rl@\\`BJd@@DJl@Ln@Nl@Ll@Lj@Nl@H\\JZH\\JZJZL^L^L^L\\N\\LZP\\N^P\\P\\P\\P\\NZBDT^R\\T^V^T^V\\V\\V\\NRRTDFZ^VVTVVVXVPPFFXVXTXTZTXTZRXPZRd@VPJXLXNZLZLZL\\L^L^J^LNDvK`DRRzAb@dAZrF~A~GpBpn@tQp@Rp@R^L^L^L^L\\L\\N\\L\\PZNNHNHZPTNb@V\\TZTZTZVRPFDZXZXRTDBXZZZDDRTX\\V\\X\\V\\V^@BTZV`@T^FJNTHPJPR\\@BTb@Tb@Rd@Td@Rd@Rd@Rd@Nb@N`@@@Nb@JZBHNd@Nd@Nd@Ld@Nd@Nj@Nj@Nj@v@vCrMxg@VhAXfANl@Nn@H`@BLLj@DTFVJl@Jl@Jl@Jl@Jn@Jl@Hn@Hn@Hl@Fp@Hp@Fn@Fp@Fn@Dl@Dn@Dl@Dn@FhA@\\Bj@Bl@Bx@Bx@@h@@t@@r@@t@?t@@r@?b@?NAt@?t@ATD^At@Ar@?F", - "dąbrowice skierniewickie|maków": "wf~{Hi}tyBAj@A@At@Cr@Er@Ct@Ep@Er@Gv@Et@Gt@Gj@Eh@KrAW~AuF~m@MtAu@nI{ArPEf@{AvPgAtLGl@qCb[yA`PuB~UMtAgAzLMrAsBhUWpCw@xIKhAE`@Gn@[fD[nD[lD[jDy@dJ_CrWw@tIq@vH", - "maków|płyćwia": "_~_|H}djyBCT[lDMnAsBpUCfASvBMrAMtAGr@Er@Gp@Et@Gp@Er@Cp@En@AXAVAp@Cp@Ap@Ap@Ap@Ar@?p@?p@?p@?p@@p@@r@@p@@p@Bp@@b@Bb@Bd@@f@Dp@Dn@Dp@Fn@Dp@@LD`@Fp@Hn@Fn@Hh@Fh@@LFZHj@Hh@Hj@Jh@Jj@Hd@Ll@Lj@Lj@Nl@Lh@FVFRNj@HXFNNh@Ph@Nb@JZFPPf@Rf@Pf@Rd@DHLZRd@Tb@Td@HNHRXf@HNNVNXRZXb@V`@V^V^X\\V\\X\\XZXZXXXZXXXVZVZVXVZTZR\\TZR^TXNVN^P^P\\Nn@Xn@Xl@TnAf@xIlD|D~Ap@b@b]bNjKdE`@N`@P`@P^N^P\\P\\PZPXNVP\\TZRZTXVVR\\XZVXXXXVXXZXZVZX\\V\\V\\T\\V\\Vb@RZR\\JRNVb@v@b@z@h@bALVVThAxBTb@|@dB`E`ItAnCf@`Af@`ATb@|A|C|@fBHNrB`E", - "lipce reymontowskie|krosnowa": "}vx{HegvxBDh@Bf@BXFx@Ft@Ft@Hr@Fp@Jv@Hp@Jr@Jr@Jr@BHHf@Lp@Lp@Jj@Lj@@DJb@Lh@Lb@H\\HZNf@Lf@Nd@Nf@JXDJNd@Pd@Pd@Pd@Rd@LZDFPb@Td@Td@Vd@Td@HLLTT`@Xb@V`@V^V^X`@V\\Z^X\\ZZRVTTTRRT\\XFFRP\\XZVZT\\TZR\\RZR^R\\P\\PNDNH^N\\L^L^L\\J`@H`@J\\FLBb@HF@VDHBRB~@NNBlDf@|ATvARr@L~^nFnEn@xCb@dP`CbNpBnHfAt@JhFt@xNvBfJrAl[tEF@hJrAnFv@t@LtWvDLB\\DTDpDf@??lARH@nBX", - "krosnowa|przyłęk duży": "ccp{H{crxB|RrCfJtAhMhBt@Jv@LzAT`IhAhIlA\\DxYhEnC`@v@Vn@JF@l@Hp@Lp@L^JB?ZH^J\\JB?^L^NPFLF`@N\\P^P^P^RTNVNVNXF", - "przyłęk duży|rogów": "qcl{HsaqxB\\T\\VPZFFf@`@XVVVTTZZXX^`@PTPTRVTVRXX`@X^JPd@p@d@r@xBjDdA`BzK~Pl@n@pSv[t@jArEhHXd@vCpExA|BpArBrAtBjAhBfGpJh@x@T\\RZd@r@lAnBHLb@p@hAfBrBbDb@n@pDxFbBjCNTnBzC^l@", - "rogów|wągry": "mmh{HoalxBbNbTpHhLbCxDfFbIb@r@~LpRtBbD\\j@f@t@d@r@`@n@nCfEb@n@`@n@j@|@j@z@zIdNle@xt@h@x@`@|@tGdK~C|E^l@rFrItJjOl@|@dQjXd@t@d@t@X^V`@X`@\\d@\\d@JN", - "wągry|koluszki": "kxb{HqddxBPRZ`@RH\\`@\\`@\\^\\^^^ZZZZZXXXPNNLb@^ZVDB^Z`@X^X`@VVRFBb@X`@Vb@Vr@b@t@`@hDlB`@VlHbEr@b@dKzFjIxEbE~BrI|ERJ|@h@nIzElDnBr@`@pMpHpIzEdE`Cd@VFDx@b@p@`@f`@tTrNdIhOrIr@`@r@`@VNDBd@Vl@\\ZPXPf@VVNRLb@ThAp@jA~@vAx@b@V`CtA|Az@~A|@pF~Ct@`@jGnDtAt@RLjEdChE`C`B~@bE`Ch@Xr@b@bB~@RLnAr@vBnARJTLf@X\\PAL", - "koluszki|żakowice": "}ryzHw~}wB\\P\\PZNZNVLx@\\`@N~D~Af@RNFjBt@lFvBt@XzAl@t@Zt@Z~BdAb@b@VJHD`@Pd@Rb@RXNXNXPRLRLRNVRPLNL\\\\\\\\RRRTRVPTRXPVRVPXNXR^R^JPNZN\\NZN^N`@JXJZL^L^J^L`@J`@J^Hb@J`@H`@Hb@Hb@F`@Hb@Fd@Fb@Db@Fb@H|@N~AdArL|A~Pp@rHLzAJ`ABTLtALxAJfALrALrApCb[Fn@Dj@f@tFj@nG", - "żakowice|gałkówek": "u}vzHkoxwBDh@BRD\\@LxFpo@LvALtALtALrALrAJrALtALrALrAJtANtAxAnPjD~_@NbBD`@rDxa@JhALrATbDPtCJ|CFvCBrC?jAAlAClCCfAEfAEfAGfAGjAIfAIfAKfAKhAMfAS~AU~ABN}@rF{BzM}@lF_@vB]xBa@tC]vCWrCKpAIbAGtAGrAEpAEnACtAAlAAf@?l@?tA@tA@xABzAHlD?tB", - "gałkówek|justynów": "cqvzHqbnwBBhAl@rT`@xNNdGBxABlABxA@pAJh_@@dC?zAD|JBdK?|ABtIBlHFdRf@ljB@fDAbDE|CGtCMrCQxCUjCWjC]jCa@rCyAnJ@\\[pBQnA]vBmA~H", - "justynów|bedoń": "owvzHkccwBQjAOjAQlAKbAMhAKdAKpAIfAGnAGfAEbAEnACnACjAApA?nA?tA?lA@nDFfVBnI@pD@tD@pD@rDJd`@@tDDfO?dABdHDvODjM@tE@lA@nF?tA?rA?pAAhACrAAdAGhBCn@", - "bedoń|łódź andrzejów": "yzvzHqt{vBMlCIjAIbAKfAI|@AFKbAMhAId@U`Ba@fCUfASbAi@fCo@nCmIz^_FjTOj@c@lBc@pBaA~Dw@vCgAtDo@pBw@zBcD`JaNp_@", - "łódź widzew|łódź niciarniana": "me}zHgwfvBm@tHGn@qAlPGn@WjDa@tFK~AKxBGnAErAIxBSjHCtAYhKMnBSxH[jLKvDKxDIvCGtBG~BMlEQ|ECz@Cx@InBUxFIzBExAGnBEbAO`GGnCGnC", - "łódź niciarniana|łódź fabryczna": "ov}zHow`vBIjE?RErCEhBGhD_@xNCz@yDvvAI~BS`GGdE_Ar]C|@GnAG`AWjDOjDs@dJCZCZEj@Ep@C`@Cd@Ad@Af@Cj@Ah@Aj@I`EG|C", - "żakowice południowe|koluszki": "cgvzHqm|wBQoDCa@Ca@Ea@Ce@Ea@Ga@E_@G_@E]I_@G_@I]I]I]K_@GQMa@Oa@M[K[MWOYMWOWOYOUOSQUQSQSOQQQSQOKSQUOSKSMUISKSIUGUGSGUCQCUCUCUAUAW?S?U@UBU@UDUDODOBODOFUHUJWJQJSLSLg@\\{B`B[V[TSNSLSLQHIDOFYLIDSFSFSFUBSDS@YBQ@S?[AQAYCWESCSESGUGUIICSI{Am@i@Sk@DSYMEMEMEUBWIWIMEKY]H{Ab@yAk@]MUIBW{Am@KWg@QYKYK{GmCKFOGg@SUY_Bo@i@Ss@Ys@[WKSB[OY]]Q]Q", - "łowicz główny|łowicz przedmieście": "eg_}HmdyxBPYR[NURWRURUPQROTQVONIVKPGTIREVERARAXAT@R@RBRBfCb@pB\\PDRFRFXHLFTHTJTLRJZPRNTPNJRPh@b@b@d@b@h@`@j@^n@h@bARb@`@dAHTFTPj@V~@R`AnAhGlAjGTfAH`@Jb@L`@L`@`@jA\\`AL`@Lb@R|@Jb@H`@Hf@Jv@@HNjAFz@Fd@Jz@", - "łowicz przedmieście|stare grudze": "_o}|HwewxBnAhJBPxA|KhCnRhF~_@v@~FRfAHb@^fBb@fBTt@Xx@d@nAj@pATb@DHNXXh@FFT^Zd@^f@b@f@f@h@zCnCn@j@rBfBzDdDfGjFnB`BrD`DfAz@hAz@h@^l@b@`BbAHFx@d@xAt@x@`@nAl@`Bn@dCz@pErAfHtBlJpCnCx@rDfARF`Bd@jDdAtDfAtBn@rBn@~Al@lBv@`Bv@vAt@`B`ArA|@h@\\h@^nA`Ax@l@jEzD|CnCfJdIpUnSfIhHhOvMlHrG|S`RhA`A", - "stare grudze|domaniewice": "{tt|Hs~mxB`IdHdBzAhAfAxBfChBhCpAzBt@tAfA`C`AdC^dA\\hAd@zA`@~AHZ`ChKvCnMbApEbArEhCfLjCfLbArE`@hBPr@Pt@VhAVjAp@tCd@rBx@vD^zAdDzNbEvQbExQd@pBzC|M@Hr@zCThATlAP~@L~@Jx@J|@F|@H~@Bl@Dn@@j@Bp@@h@@l@?j@?l@?|@?~@C`C?n@CxC?r@?dA@fA@|@B`AF`AFfAHdAJdALbANbALt@Nv@ZxAVdAXhADTt@vCzJ`a@|E~RnB`IlB|Hx@dDvDjOpAnFfRhv@xEpRjDnN", - "domaniewice|domaniewice centrum": "ygo|Hih~wBhNhk@|BjJ~@vDbAdEnAbFrCjLbB~G`B|Gl@bCb@nBPt@Lt@H\\DZLx@Jv@Jx@@HFp@F~@F~@Dz@H~BFrCDpCHxBLzBL|AP~ARtARrAPx@Pv@Pv@Rp@\\jAN`@Nd@", - "domaniewice centrum|kamień łowicki": "{tm|HuxxwBf@pA~@|BnCzGfDjIn@~A`@bAtAdDx]x{@L\\|AvDt@jBt@hBl@pAl@pAh@jAl@jAr@rAr@nAtA~BzFtJ|BzD`CzDxEbI|]tl@rIvN~CjFxFrJ", - "kamień łowicki|głowno północne": "mdi|HmeqwBvBnDbC`Eh@~@l@fA`@v@`@z@d@dA`@bAn@bBb@rAZ`AXbAJ^J^H^J`@T`ARbAR~@N~@VvAHd@`@|B^~B`@zB^|B`A~FvD|TzA~IzA~IzBzMx@`FzA~I|AfJF^bBxJp@bEX|AX|AZ~A\\|A\\|A\\|ARt@Lf@\\tA", - "głowno północne|głowno": "wbg|HmyjwBh@nBVx@V|@Vx@Pj@FNd@xAj@|Ah@zAn@~Ad@jAd@fAh@nAj@lA|B|E`CdFLVLVZp@v@`BnBhE~EhKjCvFZp@bAnBn@jAdA~AbAlAdAbAfAz@r@d@x@b@bA`@dAZ`B^nBd@lBd@hSrEzBf@pKdC|FrAhBb@", - "głowno|bratoszewice": "qjc|HkbgwB~@R^H^JVHd@Rf@Vb@Xf@^d@b@HHTT\\d@rAlBnAtBr@zAt@hBj@|ADJ^tAf@zBd@hCL|@L~@T~BLxBNnC\\lGZlGx@tOxAfZl@rLRpDHrAJpAZ~C`@zCPhAHh@Hb@P`ARbALh@Jf@Lh@Lf@XdAXbA\\dA\\dA\\bA^~@`@`A`@|@b@z@b@x@d@x@b@t@Xb@X^f@x@h@t@DFrMvQ~FhI`GfIvCbEtF|HV\\Z`@n@`Af@t@b@t@d@v@PZPZHNHRNX`@|@`@~@^~@^`AZ`AL`@L`@ZdAXdAXfANn@Nn@`@~A`A|D`A~D`@bBNj@Np@Rx@", - "bratoszewice|stryków": "}h_|Hsr}vBRx@Rx@VdA~BtJtEjRjNrk@j@|B^zA\\|AVdARdAP|@BLPhAPfANjANlALjALlAJlAHnAHnAJxBNpFJtCJzBPxBJz@Hz@Lz@Nz@Nz@Px@Pv@Rv@Tx@Tt@Tp@Vp@Xr@Zp@Zh@Vh@x@rA`AnAv@z@FH`@^b@^dAv@hAl@^R`@PpUfJJD|CnAn@Zn@Zn@\\l@^j@`@l@d@tAjAx@x@d@f@VZLLb@j@d@l@jAbBjAbB`BbCr@`Ar@bAvB~CtE|GjBlCjBlCvGrJvB`D|CpE^l@\\n@Zj@Xn@Xp@Vp@Vr@Tp@Tv@Pt@Rv@Px@Nz@Nx@D^F\\D\\D\\Fl@Fl@Fp@JlANvBBj@PjC~Bx]tBv[", - "stryków|swędów": "ixy{HyyqvB~@dNLhB^nF`AnONjBLjBJlBLhBFbA@b@B`@FvABnABnA@pA?pA?hAAdCG~BGdCEfBEhBw@d[u@vZALoBnw@?JaAf`@a@~OCpACrAApA?nA@h@?d@BlADdABb@Bd@HbAD`@Db@B\\D\\Jz@F^F^L|@Nt@Pt@Rz@Tx@Rt@Tr@Vp@Xp@Xp@Xj@^t@^n@^j@`@f@X`@Z\\Z\\\\ZjAdATThA~@nB`Bn@n@n@t@b@l@", - "swędów|glinnik": "a}x{HqqgvB`@n@^r@^t@^v@Tf@Rh@Rj@Tl@JXHZJXHXRv@Rx@Nv@Pz@Lv@Lz@J|@J|@H|@B^B^F|@D~@@`@@^B~@@~@?|@A`AA~@CrAErACx@Ez@IvBE~AAVIvBCdAAfAA`A?bA@dABfABv@Dt@D|@H|@F|@Jz@J|@Lz@Lx@Nx@Pz@Rv@Rv@Rt@Tr@Vr@Vn@Xp@Xl@Xl@b@v@^l@`@l@f@p@h@l@tBzBpF~F|A`B|BfCjAfAt@l@x@f@x@b@`Ab@zAb@|@NfAL`BF~EPnAJr@JXFVFl@Nh@P^P\\NbAh@j@`@h@`@n@h@^^\\`@??h@p@f@p@f@v@f@x@Xl@DHRd@h@rAf@tAHZl@vBZpAVpAPdAPdAVlBTpBr@`GJt@dB`OnBvPBLvAtLzAfMl@hFf@hE", - "glinnik|glinnik wieś": "oau{H}r~uBh@lERfBTdBT~AJl@Hd@Jh@H`@T`APp@HXb@tAt@nB|A~Dn@`BDLb@tA\\jAHVNp@Pv@Nx@Jp@Lp@TfBj@vEThBThB\\tC", - "glinnik wieś|smardzew": "ujt{Hqf|uB\\pCRzANnARtAF\\FZLt@XnALj@Ld@Lf@Pj@ZdAbBrF`BnFX~@V`ADPH\\Nn@Nn@Lp@RjAPfAJj@Hj@TtA\\vBFZFZNz@Nn@Ll@Nj@Nh@Pl@Rj@Pf@Tj@\\x@\\t@LVNVZh@l@`Ap@|@f@l@h@j@`@^`@\\`@Zb@X\\RZPPHNH`@PlA`@n@Ln@J|@JP@P@b@@N?X@XATCP?f@E`@E^I^I`@I~E}A", - "smardzew|zgierz rudunki": "afr{HseyuB\\KZIXGXGLALCZETAVCh@Cb@?X?j@@h@DVBVDn@Jh@Jh@PVHVHj@VTLVLj@\\v@j@t@p@j@j@j@n@RVPTd@p@l@bAj@dAP`@R`@Tj@LXRj@Rh@h@vAf@tAf@tAn@hBXt@Tt@Tx@Tx@Nl@Pz@P`ATtAJn@Fl@Hv@Hx@Fx@Fx@D|@B|@Bt@@v@@`A@`A?NBpBD~FLrN@zB@d@@vABzBB|BBxADzADzAFzADnAFpA@b@Dh@FnAFv@Dt@Dv@D\\Dn@BZDr@NdBH`AHbAFdAJbAH`AJbAJ|@L`AF`@F^N|@F^H`@H^H`@Ld@Jd@J`@Ld@JZJ\\J\\J\\N`@N`@P`@P`@N^R`@LVBHR^LTNT", - "zgierz rudunki|zgierz": "g`p{HiesuBZh@^j@\\f@NRNP`@f@b@b@jCfCRPtI~HfGvFbCzBxApA`@Z`@\\`@\\`@Zd@b@LJXVn@l@|@v@r@n@XVx@v@|@z@FD~DrDJHzBpBxBlBtAjAjS`RxClClC`Cd@d@@N", - "zgierz|łódź radogoszcz wschód": "e{l{HcepuBv@r@z@j@JFdAp@RJXNXJTHVJZHVDbANZBj@B|@?b@ATA\\Cf@G^Ej@MVGZK^M\\MZMVOXO^S\\WZU^[^[`@a@X[\\a@\\c@\\g@Xe@\\k@Zm@Zq@h@iA~@yBnBsE`A{BBEp@_BBGbGgNrEqKpFeMVo@n@wATi@d@eAp@_Bn@yAh@kAvAeDb@cAl@wAN_@x@kBx@kBbA_Cb@eAlBoEjEaKb@_A|@uBd@eA`CuF", - "łódź radogoszcz wschód|łódź arturówek": "ugi{HaxtuBBGbA_C`B{Dl@sAdAaCP]JUj@kAVg@@AZg@^q@PYLSj@y@Za@Za@^e@\\_@d@e@\\_@ZYt@q@tE_E|EaErLcK~@w@jB_Br@m@bByA", - "łódź arturówek|łódź warszawska": "sig{Hi~vuBz@{@j@k@TYf@k@f@q@b@o@RY^k@\\m@Vc@Ve@Ve@Tc@\\u@Zw@p@_BTq@Vs@X}@ZgAZiAXkAXmA`@gBxBmKd@qBb@oBT}@Nk@DMRs@ZeAVs@Tq@Tm@`@aATk@h@gA^u@`@w@Zg@Xe@^m@Xa@\\e@\\c@d@k@f@m@b@g@h@i@fAkAhCoC", - "łódź warszawska|łódź marysin": "mqe{HqczuBXYlEwEb@e@b@i@X]V]b@m@^m@j@_Ah@_A`@u@PYv@wA\\o@x@eB`@_A\\y@Nc@\\_Ap@uBTw@^uALi@Lk@jA}EpJka@", - "łódź marysin|łódź stoki": "}ed{Hk{|uBlAiFtC_Mz@sDxBcJ^}AXaAV}@Pg@Ne@Z}@Pc@Na@N]L[\\u@Vm@Xi@\\o@Zm@~@{AfA}At@_A`@e@r@u@fAcAZYt@k@\\WdAw@|L{Id@[`@WLILGPKPKNINGPKJEVKRKHCb@QRG^MVIb@Kb@Kf@Kf@Id@Gt@Gr@Gp@Cl@?j@?x@@t@D|FR\\@V@t@B~@?\\An@Ap@Er@Gt@K`@I`@G^ItA_@v@Yj@Ul@Wj@Yd@Yb@Wj@_@`@Yh@c@f@c@j@g@h@g@h@m@l@s@d@k@n@_A`@m@PWR_@Va@b@w@P]`@y@Zq@Zs@\\{@Vs@Pg@`@iAV}@X_Ah@wB^yA`AaE`A{D", - "łódź stoki|łódź widzew": "up_{HazavBjA{EzAiGfBgHNm@V_Ax@iCVq@`@eA~@wBl@sA`@{@|@kBJSp@wAl@mAzGoNl@oAtAwCtAuCfCmFzHkPbAuBvCiGHOtBmEz@kB`@{@^_ANa@Nc@Nc@Ng@ViAJe@Jg@RqAFg@Fi@PaBRkCr@oB", - "żakowice południowe|słotwiny": "uhvzHeuxwBHo@D]B[Dg@BYD[D[r@gFRwAb@aDLy@Hq@Hq@Hq@Fg@Dk@JiABe@Dm@Be@Bc@?OBe@Bs@Bu@@u@@u@?u@?w@?u@Au@Aa@?KAm@Ao@Cc@Ac@EeAEaAEaAkCyj@SaEGgACq@E}@?_@Ai@A[Aa@A_@C]Eu@Ew@Cm@Eg@UcDE{@E}@_@kHQwDAOs@gOGsACe@Ac@Ae@Ae@Am@?s@?q@?q@@s@Bq@@q@Dq@Bo@Dk@Dm@?CDe@Fk@Ho@D_@D_@Hg@F_@Fa@F]H_@H_@H_@Jc@HYH[H[Pk@n@wBvAsEJ[J[L]L]Pa@JUFOd@aAf@gAlB}D`AwBN_@?O", - "słotwiny|mikołajów": "{wuzH_o`xBv@_BN]t@}A|CsGxGmN|B{Eb@}@xA}C`IqPdCgFv@cBBGzBwErAsC`@y@`@w@\\q@f@y@d@w@h@y@f@s@p@aA`a@uk@bReX", - "warszawa zachodnia peron 8|sędziszów towarowy": "yxu}Hgo{~BFVHXFXHVHVJ`@L`@f@hBHXFVHXFVLb@Lf@Lh@L`@FXFXHXFZH^TLVRFXFXFXNt@DXFZDXFZDXFZNfAFd@F\\BTBRP^DZDZBTF^DZDZBZDZDZDXDZDZBZDZDZDZBZFd@BPDZBZDTNZNZTCFf@Hd@Hd@Hb@Hb@H`@HZJb@Lb@BHH\\L\\J^L\\L^L\\P^N^P\\N\\PZPZLRLRNTNTRXRXTVBf@JFNJb@V\\N`@PPHd@R`C`Ad@RRFRFZHVFTDVBTBT@X@R@T?XARAf@EFA`@G`@I^Kb@M\\O`@S^U\\U^Y\\[ZWvA{A`@c@dDkDpCuCz@_ARQ\\[tAgARQLK\\Wj@e@LMVS\\]h@i@h@k@d@e@x@}@dAoA\\e@Xg@T_@P_@Te@Pe@Pg@Rm@Rw@RaAJe@F]Hg@BQHg@Fa@d@eDdHig@tDwWd@gDd@eD|A{LJw@Ju@PoAh@qDt@eFh@eDPeARmA`@mClA}Ir@yEnAyIjCaQ`BsJ|@aGF]~@sGx@iFXkBPcALi@Lm@Po@Nk@@CNe@Pi@Vm@LYFMVi@Vg@Xe@Xc@Za@Za@NOJM\\]^]\\YZUb@W^S`@Q`@O`@M`@Ib@I^E`@Cf@Cj@A`AChIGdCCjFGfCAbFCtD?`A?jEEtFEJAlDC|CEH?nDEjEEtBAzCCpGGtBC^?T?jDEvAAL?R?h@AnAAR?`BC\\?|@A\\Az@Q^AfBA|ACzBAp@AfBA`GG^AnEEbHGhBA`AAd@AN?t@Aj@A~@Al@Cp@CbAGhe@gChH_@hBKlAIp@CNAdIc@hCO\\AvEW\\CtCO`EUrVsAH?fEUxCQ^ChEUhHa@r@ElF_@jAIjCQ`@CbAGxAI`Ki@rJi@D?fEU~CQj@CTCzAIpEUzDUtBK|Ji@`@C~AIjDQhAIbEUrAGRC~BKbHa@xCOtCQbAGfJe@vIe@vBMtAItBKB?pDSrDSVAtCQfH_@fEU|G_@dIc@xG_@rFYv@EbAGbAGTA~AI~BMvAITAt@Gv@Ct@Et@Ep@Cz@C|EOt@Cv@Cv@Ex@Gl@E~@Kz@Kv@Kv@Mp@MbASt@OLE^Iv@Ur@Sh@Qn@Un@Yz@_@h@YHEn@]v@g@f@]v@k@rDsCpGaFDC`DeCbBqAjA_AzAkAFE\\WnCwBVSzBgB^YTSl@g@l@i@^[LMn@m@X[TUtNgObBgB~@_AnEyEzCaDzB_CNQFEbDkDf@i@vCkC`DgDfAiA~JqKvD_ErAwAhAkAfAkAhAkANQdAiAdAgAf@i@d@g@XY|AcB|CcDl@o@tA{At@u@j@k@l@k@n@k@f@c@xAmAj@a@z@o@v@i@vAaAdCeB|B_Bd@[dH_F`EsCnA}@d@[lDcCr@e@p@e@p@a@n@_@r@_@l@[n@Yp@[r@Wl@Sn@Sn@Qn@Qn@Op@Mp@OlM}B|Bc@^Gj@WpDo@zCk@RC|@Qr@Mt@OFAh@Kt@Qt@SXITGr@St@Wr@Wp@Wd@QLGp@YRK`@Qp@]@Ar@_@rBeA^SdCqAfDgB`Ag@lNoHnDkB~CcBfDeBnLiGzHaEhBaA~HcEbB}@l@]HCNK\\OhDiBdDeBj\\aQbVgMbDcB`Ag@lHyDnIoEPIpIoE|EgCbJyEnAq@fB_ApIoEzC_B~GoDbAi@hIiErM_H`DcBvH_E`@SbDcBlDkBZQjAm@pAq@t@_@hBaAlJ_FTMDCj@YvAw@tOgIzDqBr@_@bB}@pBeA~F{CnAq@zCqAh@[fIgE^SdEwBp@]n@]rFqCx@a@vDmB~C}AdCoAvEaCt@_@\\QtGeDn@[`By@pJ}EhCoAv@a@b@Uf@WhAk@fDcBrBcAt@_@`@UPIr@]p@[p@[t@[t@Yt@WhA_@|@U@?~@WvBi@^If@MvEkAnCq@\\ItEiArA[fBe@lD{@pD{@PG~HmBTGhKgC^KpG}ARE|@UhDy@fEcAFChG{AjEgAl@MFCpHiBv`@sJ~Cu@nD{@bBc@pJ}Bp@Qj@OxAi@|GaBTGzEkA`b@aKNE\\InD}@nD{@XG~IyB`AU|@U|OyD`JyBhOsDdD{@|D}@|U}FvBg@bAW`@KzD_ArCs@v@QnCq@b@KFCb@KXGfG{A`Ck@tD}@hD{@~TqFjHeBPEfAYtKkCFAhCo@hBc@zD_AzJcCfY_Hv@SvJ_CpA[vJ_CbOqDdAWt@QtJ_CfFoAbJyBJCzJaCXI\\InD{@nD{@bDw@`HcBhOsDhAWp@QnHgBbCk@`JyBfBc@b@K|HkB`@KtA]NEbJyBDAhKeCv@S`B_@dAYxJ_CrHiBbAU`@M|Cs@`Dw@BAxD_AdCm@|FuAZIr@QzBk@nDy@pCs@bS{EdAW~FuA`M{CtCq@xD_Af@MREp@STIf@On@Sp@Wn@Wl@Yr@]p@_@HGd@Yn@c@j@c@r@i@b@_@LKj@g@b@c@LKp@q@d@e@RQ~DaElDmDnAqAhCgCz@{@\\_@fJgJtHwHBAxM{Mr@s@f@i@r@w@n@q@l@s@l@u@l@w@l@w@pBsCV]lCuDlCuDbBaCv@gApPoUrX}_@fDwE`HsJdDeEfDwEX_@^i@vHkKDGdH{JX]bE}Fl@{@h@s@pDcFxAqBzDqFhA_BjBiCbE{F`FaHp@_AlFqHpAiBV[hBiCbAuALQX_@h@q@f@k@b@e@`@_@\\]LMXURORQd@]f@]PKVQh@[n@[j@WNG^Oj@Sl@Qh@MPE\\If@Kh@Gn@Ih@Ef@Cl@Cl@AH?nACp@Ad@Ah@Cl@Eh@Er@Iz@O^Ih@KXINGh@Oj@Sl@Un@Yn@[nAo@l@Yv@_@hAk@hDcBVMjAk@bAg@fDcBdB{@`Ae@z@a@\\Qv@a@zC_Bt@a@r@_@hFgC~GiDxBeA~MwGnFmCl@Y@Ap@Yn@Wn@WTIXKn@Sr@Sl@Op@Mp@Mn@Kd@ILAn@Ir@El@ENAd@A`@AVA`@?H?n@?t@BH?h@@n@Dp@Ff@DJ@n@Hp@HbANpDh@rPfChBVzFz@lBXxAThJtAr@JrDh@tK~Al@JzEr@`BT~B\\~B\\|Cd@f@H~Cd@VDd@FvDj@dC^b@FfLdBn@HfAPpO|BvARpFx@rEp@jDf@lPbCvG`AtATvBZfAN`@F`P`CpEp@rLfB`@FzDj@dC^zEr@H@zO~BdANdDf@vHhAbJrAlIlAfDf@`G|@`BTh@HpO|Bj@HH@n@JL@n@Hn@Ft@HZBB?XBb@BV@p@Bl@BH?v@Bv@@v@?@?Z?\\?r@?dA?|TBzC?tD@pD?N?R?hK@J?^?fA?lJ@~D@F?xJ@N?fL@r@?z@At@AVA`@At@CRCb@Cb@EXCn@G^CfAMtBUz@InBS`AKfAM~OaBjJaAfEc@lFk@p@Gt@Ir@Er@E^ARAr@At@Ar@@r@Br@Br@FR@^Dr@Hp@Jh@JH@p@Np@Np@RLDd@NXJ\\Ll@Tx@Zd@TlDzAdBt@l@VPCd@Pn@Tr@V`@LNFp@Pr@Pp@Lr@Lr@Jt@Hn@Fp@Ft@Br@Bx@?v@?v@Cv@Cv@Et@Gv@GjUsBfAIt^cDnh@uE|Ec@b@CbQ}AJAjJ{@^CfGi@t@IzJ{@vIw@|D]zD]hD[bIs@~BSr@GH?XC~COJAhDK|@CH?r@CjBGjCGtBGNAfBEhGQvAExd@qAnUo@dJWjM]l@ClAEjWs@lEMvCIhg@uAfCGlAEr@C|BGXAx@Cv@Af@?F?p@?z@@|@BH?pAB|ABhRZj\\h@dABjABtDFpDF`@@D?xABhJNnEHdJNbHL~LRbA@pABxNVbJNvRZxYf@|@@^@dJNlGJtJPhKPr@@bJNrNTt@BhKNL@Z@pDFtDFjDDfJPnBBdJPhCDzABdFHlABvCBZ@T?z@?BAv@Ad@AF?v@Ep@G`@C\\Eh@GdBQ`@ExC[PChBSzEg@xEi@v@IxDa@h@Gn@Gf@Ih@I^Gj@Kp@Mx@Qr@Qv@Sp@Sh@Qh@Qn@UFCZKj@Ut@[p@YTMZOp@]p@_@f@YFEp@a@n@a@n@c@HGb@[|BaBhAw@tG_Fn@c@n@a@l@a@XEXQp@_@n@]p@[n@YZOVKl@Ur@Wt@Ut@U??x@Uf@ONEzAa@pA_@t@UpBi@DCr@Sd@KNEp@Op@Ov@MBAd@Gl@Iv@I`@CRCp@Et@Cr@EN?dDKbEKxDKdBGnWs@r@Cr@Cr@Cr@Ed@Cf@EXEt@In@Kp@Kt@Op@Op@Qx@Sn@QpFwAjGaBnJgCj@O`KkCdFsA`Bc@TGxHsBFAxKuChO_EHAh@ObD{@TG^Kr@Qt@O`@IPEd@GTEj@It@IVA`@E^C\\Cr@Cd@A@?\\?R?V?r@?T@h@@^@VB|@Dx@H^DVDv@Jx@Nb@HLBx@Rf@LF@r@Tt@Vp@T`@Pd@F`@NHD~@`@lQtHnAh@rBz@nCjA|ErBdAb@~JhEnCjA~B`Al@TVJXJp@Rt@TND^Hr@Pn@Lr@Jr@Hv@Hv@F@?r@Dp@BjW|@lNf@fABnCJfJZ`DLrGTbUv@zL`@jHVfAD~GTvDLlDL`@@p@B|IZ|K^dADlFPv@Br@@p@@v@?r@Ap@Av@Cr@Gt@Gt@GhBUHAlPoBdAMfMyAjGu@rAQRC|@Mz@Mt@Mz@KzAQRA~C]rDa@l@Gl@Gr@KlAQVCv@K~AS\\El@DfBStC]TCfAKRCh@E`AGp@GLAp@GLAbBSnAO~AQnAQfAMXCVEd@Ef@Ch@Af@?d@@X@J@f@Dh@Hd@Hf@Lb@Ld@Rf@Rb@T\\Rb@XRNNJd@`@`@^`@b@^`@`@f@\\h@Zd@\\j@\\l@h@dAdBhDbFtJ`AhBzAxCLTf@`A|C`GrAlCbAnB\\r@^x@b@`A|B|Ex@`BjC`FtAnCNXR^T`@P^R\\R\\LRXd@^p@^l@Vd@@DT^R`@nBvDbFtJz@`BXl@Xl@\\v@@DXr@Tj@JVFPRj@ZdAV~@nB`Ht@nCt@hCh@rAr@bCzAlFNl@DLRz@Rr@Jd@Lj@H\\Nr@rAbGj@lC`@fBpA`Gl@lCt@fDdA~ERv@Lj@Nf@BFRr@Pf@JXN`@N^N\\P^LXR^Vb@Vb@Xb@b@n@`@j@DDh@t@t@bAd@`AtAhBHJdAvAd@p@^h@p@hAf@~@Vh@\\t@`@`AtAdDDJnBxEr@fBTh@Xt@vAtCFLjAtCP`@Xp@Zn@P`@HN\\p@\\j@\\j@f@r@X^\\`@`@b@b@b@VTLJ`@Zh@^\\Rb@VBB`@Pj@T^Ld@NVFNDf@Jh@Fh@Fb@Bh@@b@?f@Af@CXCVC\\Eb@Ij@Md@Mf@Q`@Qh@Ud@Ud@Yh@[lC_Bf@Wf@Yf@Uh@Sd@Qj@Qf@Kl@Md@Bh@Eh@Eh@AN?ZAh@@h@Bj@DTBRBf@Hj@Jt@LTFb@HnI|AjCf@j@J`ARx@Lp@Ln@LzJhBrLxBtCh@pJfBXFLBp@Ll@Nd@Lf@Nd@Pf@Rd@Tb@Vb@Xb@ZXTh@f@d@`@\\`@^d@`@h@Zf@^j@Zj@Zl@Xn@Zr@Vn@Vt@Tr@Tv@Rv@Rv@R`ALr@TjAP`AF`@hD~R~@vFvAhIpN|y@d@jCHh@FXPjAJx@L~@LfAFr@H~@F|@F`AB|@DjABlAHlETvMHjABjAFtBFxBHzBFpAHlBJ|AHpAD~@Hz@PdCHbAH|@H~@LhA~MhsAlSbrBVxBJ`ALbAL~@NbAN~@PdAPx@Lr@Lh@Nl@Rz@Pn@XhAXbAlAnEHXh@nBhD`MBHjBzGZbANb@Xv@Zx@\\|@Xn@Vl@`@x@b@x@Zl@\\l@b@t@^j@b@l@b@j@b@h@d@h@b@d@h@h@j@f@xEdEvBjBt@l@x@r@d@^^Vd@Xh@Zd@Vf@Rd@Pj@Rb@Jh@Lf@Hj@Hj@Df@Dv@Dv@BRNfBFx@Dp@@r@?t@Ap@Av@Gr@Et@I~@K`AMhPiBjIaAh@Ep@Gr@Cp@Ar@Ap@@p@Br@Bt@Hv@Hl@Jt@Np@LvUpFx@PtZbHt@Pp@Jr@Ln@Jf@F\\B`@DtBL`CRlIl@x@H`BJj@Fj@Hj@Hl@Jl@Nn@P|IfCtDfAlD`AfRnFzDhA~^nKnDdAnF|Ah@Ph@P^LNFp@Xn@Zl@\\l@\\n@b@j@`@n@d@h@d@l@j@t@t@v@v@v@x@r@t@vZ|[r^``@bDhDhIxIpQhRn[x\\nL`Mj\\t]h@j@j@l@d@j@BBh@n@b@l@l@x@d@p@f@z@^n@`@t@Xh@R`@^x@b@~@\\~@^~@\\`AZ|@Z`AvPji@rDhLtAjErA~D`@hAf@~ArCzIJ\\`AzCZbAZdAb@xA^pAbAhD`@rAxBbHt@zBdAjDx@bCXx@pAxDl@dBZ~@lAzDL\\`D`KrClJfApD^nAb@pA|A|ErGrSd@vA`@rA\\hAXdAZjATdAR~@Px@NXRlARlAPjAPtANtANrAJlAJnAFpAHvADpADtADtA@nATjTDnEB|ABzA@jABlABx@DfADz@F~@H~@Hz@Hv@L|@Lx@N~@Px@Px@Pr@Rx@Tr@Vt@Vt@Xp@Xp@Xj@Xl@\\l@\\h@\\f@`@f@\\b@`@d@`@`@b@^d@^`@Zb@Xb@Th@Vf@Rb@Pd@Nh@Ld@Jf@Fh@Dh@Dd@@h@?f@Ad@Ch@Gf@G`@Gh@Mf@Ob@Oh@Sf@Ul@Wl@[|@c@dCmA`EsBl@Yl@Yb@Qh@Qf@OJF\\If@Kf@Gf@Gd@Cf@Ah@Af@@f@Bf@Df@Ff@Jf@Jd@Lh@Rb@Pd@Tb@Td@Xb@Xb@^`@\\b@`@^`@`@d@^d@\\f@\\f@^n@Zl@Zl@`@x@Xp@v@bBv@jBXp@Zr@Vp@Xr@Tr@Vt@Pn@FRLf@Px@Rz@N|@Lv@L~@J|@Ht@Fv@Ld@HrADbAB~@B`A?|@?`A?bAA~ACtAQ`KAhAApA?|@?`A@`ABz@D~@D|@F|@Hz@H~@J|@Lz@Lv@N~@Pz@Pt@Px@Tt@Rn@Vx@Vr@Zt@Vh@Vj@Zl@Zh@`@n@^f@^d@^d@ZZf@f@`@\\`@\\h@^`@Tb@Td@Td@Rf@Pd@Lf@Jd@Hh@Hf@D\\Bb@BtAHvJd@TPvKf@|BJv@DjKd@|@DhLj@fADVBfBHbBHh@Dd@Fd@Ff@J??f@Ld@Nb@Pf@R`@Rd@Vb@Zd@\\b@\\\\\\`@b@^b@^`@b@^h@t@h@x@f[|e@f@r@j@x@b@j@l@t@l@p@j@l@j@j@n@h@h@d@p@f@j@`@t@d@l@\\t@^l@Xp@Xr@Vr@Tn@Pt@Pt@Nr@LhEr@tqChe@jCb@ne@~H`Z`F`@H`@Ff@J`@Jp@Pn@RpC~@tBt@lEzA`@LzJfDlHfCzAd@j@Np@Nr@NzCh@pEt@lOfCfCf@~Bf@zH`BhPlD`IbB`@JvCl@~@R|@PvCd@nCd@bHlAxPpCh@Jh@Hj@Fj@Fj@Bl@@j@@p@AhAHF?rCEd@A~AEf@?b@?h@@j@B`@D`@Ff@Hd@Jd@Ld@Nd@Pd@Tj@Zf@ZVP\\TXT\\Z^\\Z\\Z^h@n@^j@V`@Xd@Vb@Vh@Xl@Tf@Vl@Pf@Tl@Tr@`@nAp@vBv@`CJ\\rA`EfBtFrCvIp@tBZbAZjAZdAd@~A\\jAxB~GJVjDtKVr@`AxCt@~BtAlDTn@Zx@P`@Tj@Tb@T`@JR^n@V`@V^\\`@RXXZXXZXZX`@\\^VZVzEpDdDdCZTXR\\TjBjAzAbAd@\\dAv@p@f@j@b@tAbApCtB`At@^X^Xb@^VVZ\\\\\\Z`@Z`@Zb@Vb@Xd@Xd@Xj@Tf@Tf@Tj@Vn@Tp@l@`Bn@bBTh@^~@p@vAVf@Xd@Vb@Zb@Xb@JLPR\\`@X\\nCzChOvP`@b@b@d@`@b@^\\XTBBXT^X^TZR^PVNVJb@P^L`@J`@Jb@H^Fb@F`@B^B^?b@@`@AFAZA`@Cl@IVE`@I`@I\\K`@O`@O`@Q^Q^Ub@Y`@YXSXWZYZ[Z_@VYV[Za@|@qA~A}BdAiA\\c@Za@\\a@Z[\\]\\[ZW^Y\\S^U\\S`@Q\\O`@O`@K^K^I`@G`@G`@Cb@C^A^?b@?^@\\B\\D^D`@F`@J`@J^LB@VH`@N\\P\\R^R\\T\\T^XvEpD`@Z`@X^V^T^R`@T^N`@P`@L`@Jb@J`@H^Dd@D`@Db@@d@@`@@hCBP?^@`@@^@\\D^B\\FZFZF^H\\L^J`@NvBt@|Ah@\\L^N^N^P^R^T^T^X^X\\XZZ\\\\ZZ^b@|BnCb@f@\\`@\\^\\Z\\ZHEZV^V\\V`@T^Rf@Xb@RtFtCh@Vd@Tb@Rb@P^L^Ld@LVDZF\\F^BZB\\B\\?`@@d@AZA\\AD?nFWrAEb@Cd@?`@?d@@d@BZB^D^F`@H\\H`@L\\L`@NZLZP^RZP\\V^V\\V~GhF`@Xb@X`@T^R^P`@N^L^L`@Jb@H`@Hb@D`@Db@Bb@@`@?`@A`@Ab@E`@Eb@G`@I`@I`@MZK^O\\O\\Q^Q`@Wd@[d@]bDiCP?^[`@Y^WZUXQXQZOXMZK\\MXIZI`@I^E`@I`@El@ItDa@vAOnAIbAIb@Eb@EdAKz@Kf@IbAKp@KpB[rCc@n@Kv@KjHy@`BSdAMd@Eb@Ed@Aj@Cn@@h@?j@DH@n@F\\Df@Jn@L`@Jf@Pb@N`@Pd@Tf@VpMbHtAv@f@Xb@X`@X^XXVZXXV\\`@X\\Zb@X`@Xb@Xd@Vd@\\p@\\n@xAvCrAlC`@v@`@t@RN\\j@^l@`@l@X`@^d@`@d@`@d@^^`@`@^\\b@\\`@Zb@Z`@Vb@Vd@Vh@X|KzFb@Tf@Xb@Zb@X^Zd@^`@`@^^\\\\\\`@\\b@^f@zAvBDFxB~Cb@n@Zd@Zb@X^Z`@Z\\\\\\RRRRd@\\f@^ZT\\R`@T`@TtJvEpAn@`@P`@R\\L^NZJd@L\\H^F^F^D\\B`@B^@^?^?b@A^?`@C^Ad@C\\Eb@G^GPFj@Ml@OvEmAZIZI\\Gf@Ip@Ij@Ed@Af@Af@@d@Bf@Dj@H^F`@H`@L^L\\J`@P^R^R\\R\\T^Xb@\\\\Xh@f@zBpB^\\`@\\`@XTPJHZR\\R^R\\P`@N`@Pb@Lb@J^J^HhE|@`@H^J`@L^N\\N^PZP`@TZR\\V^ZXVb@b@PPXZ\\b@X^X`@Vb@Xd@Td@Vh@Vf@Td@lChGVh@Tf@Tb@DF\\l@^f@JPLR`@d@X\\X\\\\Z^\\ZVZVVPZR\\Rb@Rb@R`@Nh@P^LnEjAh@Nf@P`@Pb@Pb@Vf@Xb@Zb@\\\\X`@`@\\^`@b@\\d@^f@FLV^Xf@Xh@Zn@Xp@Vl@Vt@Tp@Tv@Pr@Rx@Nr@Jd@DTJt@Lv@Jz@Jx@Hx@JnAJnAd@tFVzCFz@Fv@Dz@D~@Bz@@~@@`A?x@A`AAz@EfBEbBI|BF\\GdBQdHGfCAx@?r@@p@@~@B|@BbADv@Df@Bh@R`CXtCLnAJfANjALdAR~AjDbXPpA|@~GV~ATrAPdAR|@TbAT|@Rp@Tp@Xx@Vl@Rb@Vl@^n@Xf@^j@\\f@\\b@^b@\\^`@b@b@`@d@`@fB|Ap@p@v@r@^b@^b@^b@^f@Zh@\\j@Xh@Zn@Xn@Vp@Vt@Tp@Rn@Rx@Rv@Nv@R~@N~@~@fFTlATlATdARx@X|@DNRn@Xx@\\z@\\v@^t@^t@`@p@`@n@b@l@d@f@f@h@f@d@d@b@f@`@f@\\l@^l@Vj@Tj@Tl@Pl@Nl@L?Hl@Fr@Ft@F~BJp@Fr@Hh@Hd@Jd@Lh@Nb@Pd@Rd@Tf@X`@X^X??n@h@p@p@f@h@\\d@b@j@\\f@Zh@Zl@Xj@Zp@Xn@Ph@Tn@HTPl@Tt@Rv@Px@Nv@Nz@Lx@L|@Jz@Hz@HbAF|@D~@B~@DrADpAHfDBrADjADhAFbAHhAHhA~@xLv@tKHfAH~@Dz@D~@D|@B|@@z@?`A?x@AbAC`ACx@E~@Ez@s@nKGhAEdAE~@C~@?~@A~@@~@@|@B|@D`AD`AFz@H`AHx@DVDb@L|@N|@Nv@Nv@Rv@Rz@Rr@Vv@Tp@|CrI~@fC^dAVx@Rt@Tx@Pv@Nt@Nv@Nz@Jz@Jx@Hv@H|@F|@D|@D~@B~@@|@@|@?~@Av@A`AA~@QhIk@pZSnKApAAlA?zA@fA@pABlADnADnAFlAHnAHrAJjALpALfANpAPlATzALv@Hd@zA~Ij@rDLz@Jv@Jz@Hv@Hz@Fx@D|@Bz@B~@@x@?~@?x@?z@C~@E~ASvHCpAEnA?`AAx@?x@@|@@~@Bt@Dz@Dv@Fz@Fx@Jz@J~@NjAPhAF^fAnHJv@Jx@Hz@Fv@Fz@Dz@D|@Bz@BlABrAD|CBhA?hA?hAAhAAlAChAIjDc@jPC~@Ez@Ez@I`AIx@K~@CX?f@Oz@Mx@Op@Qv@Qv@YdA]hAqBrGSr@Ql@Sx@Qp@Ot@Or@O|@Kv@OlAK~@}B~UQ~AMfAKr@Kn@Q~@Ox@Sz@Oh@Ql@Sp@Yz@Yr@_@~@_@v@yAzC]t@c@z@Yn@Sh@Wl@Sl@Sp@Sn@Qp@Op@WlAaAvEe@dCoAlG}AbIQdAO|@Iv@Kt@Iv@Gp@QnB_AvL{@nKIz@i@xFEf@Gl@[|Dm@fIGr@Er@E|@Cr@Cr@Ap@?XAr@?l@?xK?xA?`AA`AAx@CbAEz@GbAI`AKlAKv@Kx@Mz@Oz@Mr@Op@Mn@eDrOUhASdASfAO~@Ih@Mx@K~@Gx@IbAG|@E~@C~@C~@A~@?bA@x@@bABz@D`AD|@F~@Hz@H|@L|@J|@Nx@Nz@Pv@Rx@H^L`@Pp@Tl@Xz@B\\pBrFZz@Z~@Pj@Tv@Lj@Ll@R~@RhANbAJ~@JhAJbAHfAVvDJ|AJlAH`AJx@LdAN`ADPHd@Nv@TbAVfAHXjAvEJb@Nt@Pv@Nv@Nz@L|@Jv@H|@Hv@F~@Dz@D|@Bz@@\\@h@?r@?|@?|@C`AAv@UrJMxEDf@ChBCxAAfBAhB?bB@fBB`L?bA@bABlADfAB|@F~@Fx@Hz@J~@Jz@L|@N~@Pz@Rz@Pt@Tv@Vx@Tr@Vt@Xr@^v@Vf@\\n@\\j@Zf@`@j@r@z@d@f@n@l@`@\\d@\\b@X^Td@Tb@RZL`@Lh@Nx@Pf@Hf@Fb@BF?b@Bh@?d@Ab@Aj@Gf@Gh@If@Md@Mf@Qb@Qn@Yn@[rE{BpL{Fhf@}Ul@Yp@_@j@[r@e@n@c@j@c@j@e@j@g@hB_BrBkBl@g@n@i@`@[d@[^UHDf@Yb@Qf@Sb@Oh@Of@Kb@Id@Gj@Eh@Cb@?f@?h@@f@Df@Ff@Hh@Jd@Ld@Nd@Pd@Tf@Td@X`@V`@ZFD`@\\^^ZZ^b@\\`@b@l@^h@\\l@Xh@Zn@Zr@Vn@\\|@Z|@zAvETr@RRVr@Vp@Xp@Xn@Zj@Zj@^j@`@l@\\b@\\b@^`@b@d@`@^b@\\d@Z`@Vb@Vf@Td@Td@Nf@Pf@Lf@Hd@Hd@Dh@Bf@@f@?f@Af@Ch@Ef@Gn@KtFaAn@Kp@Id@Gd@EB?j@Cd@?j@?d@Bd@Dh@Fd@Hd@J`@J\\JrBl@vBn@b@Lh@Ld@Hd@Ff@Dh@Bf@@f@Ah@Af@Ed@Eh@Kf@Id@Md@Of@Ql@Ux@]f@Ul@[b@Wb@[b@[\\]b@_@d@g@^c@^e@^i@\\g@Xi@^q@Zo@Vm@`@_A^_ABKzBeGbD}I\\}@`KoXnBmFrBqFnDwJlAcDXw@Vo@JCPe@Vm@Zo@Vi@\\k@Zg@\\g@X_@d@k@\\]`@a@^[b@_@ZUh@]d@W`@SVMVMdH}CzAo@t@]tIuDzLmFpU_KhDyApAk@RKb@Qr@[xAo@p@Yp@Wn@Sr@Un@Ot@Op@Mr@Kv@Gr@ETARAd@Ab@?j@?V@Z@j@Bl@Dr@Hp@Hh@Jd@Hv@Pj@Pp@Tp@TrAd@pE`BnCbA`JdDxCdAXJxAh@nOtFhE|AjBp@~Al@fC|@hDnAbC|@vJlDrJlD`GvB~Bz@bDjAPFrFpBzAh@dAb@l@VVL~@`@lAh@tAj@jAb@|Ah@pAd@jAb@h@R|CfArBt@v@Xp@TLBj@Nf@LfAZr@Tl@RhA`@x@ZpAd@vBv@l@R|@Z~@\\j@Th@Rn@Xd@Vd@T`@Vb@Vf@\\l@d@^XhA~@~@~@lIjJj@n@f@l@h@n@d@n@d@n@NTPXb@p@d@v@^r@b@z@Zp@Zp@Rf@Tl@Xn@Ph@Tn@Vv@Rl@Rr@Tx@Ld@Jb@HZLj@TdATlAZbBzK~n@Rd@zCbQPfARpANjAPnAJhALrAJlAHrAHnAFpAd@zKt@hPBl@|@vSNhDTbFFrAFjAFrAJnAHjAJfANtANdAPrANbAPdAVnATfA@BR~@ZnAl@xB`G~SHVj@rBtC~JpJt\\lAhEbHnVTt@X~@Z~@Zx@^~@Zv@`@x@vAvC`Uhd@d@|@FLLT^p@^n@^j@b@p@pJ|N^l@r@jAV`@^r@\\r@b@~@h@lAh@lAh@pAh@jAXj@Zn@Zj@^l@Zf@`@h@Zb@`@b@^^d@d@`@Zd@^`@Vf@Xb@Tf@T`@Nj@Pd@Lf@Hd@Hh@Fd@Bj@@f@@h@Cd@Ah@Gd@Gh@KXGNEd@OXIp@Yf@Wb@Wd@Y`@[`@[b@a@^[b@e@b@e@\\_@^_@`@e@p@s@v@}@d@k@h@s@`@k@j@{@hAiB`BuCz@}AFK|BaEfAkBb@s@T]Xe@V]V[VK^c@b@e@d@a@`@_@`@Yh@_@b@Wd@Wf@Wf@Sf@Q`@O`Cs@tIeChCu@XGLCd@M^G^Gf@If@Gb@GvIgA~G{@j@Ip@Iz@M`AQ|@O`AQ~Bg@fIgB`@It@QfCk@zGyAxA[`B_@l@Kr@Mj@Gn@E|@Gr@CpGYt@Cv@Ap@?l@@r@Bp@Dr@Hr@Hn@Lt@Nj@NLBf@Nd@Nh@RfAb@bAb@pa@bQDBjKpEx@\\x@^p@Zl@\\l@^n@^n@d@h@b@l@f@j@f@h@h@h@l@j@l@d@l@d@n@j@x@f@v@f@x@d@z@`@v@b@|@d@fA`@`Ab@lA\\|@LJZdA^pAPp@Rp@v@hDr@xCT|@V`ATt@Tr@Tp@Xr@Xn@Xl@Xl@Zj@\\l@\\f@^h@f@r@`@f@`@f@jM|O`KfM`AjATX|AlBFF~C|DVZX\\RRRTRTVVRRP^rAlAn\\rYpk@dg@lBnBnAtA|BvC`B`C|AfCzAnCrApCpAxCjA`DtLt_@nF|P`C|Hx@hC|BfHfVpv@Pj@f@bBp@`Cl@lCj@jCb@rC^tCVfCVzCPvCLfED~CBbC?f@?|AGvDM|CQdCO|BaE`n@oAhRO`CFJ[dFOvDCrB@|BDtBL|BNlBTnB^vBp@bD|@zCl@bBt@bBv@vA|@rAx@bAjArAbAz@dBnAfN~JhBrA|AnAxAtAtA~AnAbBpAnBhAnBfAvBdAdC`AhCv@jCt@pCn@tCh@vCrCxPz@fFj@~Cj@vCr@pCx@jCz@hCbA`C`AvBhArBpArBvAjBrAxAxAxAxAnA~AfA~A`AhBx@`Bj@bBd@jB\\hBPbBHtBCjBErLg@r@EzAGro@{Cx@EpFWpESvBMdC@lCTfBXlEp@hEbApBZbH~@zItApBd@jA`@jAh@lAv@`Av@dAbA|@fA~@vAv@rAv@`Bp@dBh@fBf@jBb@tBZvBVxBFx@JbAJzBFvC?dBC|BI|BO|BU|BYtBc@bC_@|Ai@lBo@fBq@~Aw@zAkArBqAvBmAtB@Ju@zAu@dBm@hBg@fBc@pB_@rBY|BeAxIe@hEa@tCa@rCi@pCm@nCoCnLuOzp@w@jDi@rCc@xC_@vCYxCSxCQ~CInDClC?jD?hAFlVEhDI`DO~CUxCUhCg@vDe@xCm@vCyBvJOr@m@dCy@tD[tA_@rBSfAQlA]hC[bDObCObDIbDE~BAd@KnEOpEMnEMlEIxDIvEQlJKfEEpE@rCDtCfAl^LdCHzBNxBVzBZvBd@zBz@bDjA`D~A`DbBfCzB|Bp@h@dAr@hBz@|Ah@lHbBtAb@f@Ph@TpAl@nAt@rAbAtAnAxA~AhBhC~K`QnDrFzBvC`CdC~BlBzBvAfInEjDzAlA^vA^|AV~APj`@~BzUvAbBRvAVnBh@rBr@|U`J~ChAnA\\pAVz@Lz@HvBHjBBdJ]rBArEHvAFhBLfBRbeAxLZDdGbArD`@rBVzAVhB`@lA\\`C~@jBbAfBjA`Av@jAbAfBjBjAxAjA`BpKdPtBbDz@xAx@xA|@nB|@rBbAvCb@rAd@`Bt@~C?@\\`Bb@bC^jC\\tCVvCPpCNbDHvDBxE?hFG~b@?jC?jENdELfDTlDVzC^~Cf@bDfAzFdDxO|@hE|@~DX`AX~@`@jAb@fAb@|@b@|@j@|@l@|@pA~AXZnArAlApAlBtBdCjC`ChCDDhMbN|@`A|DhEjDtDnApAlDxDbBhBvAfBnApB|@dBx@lBj@~Af@bB^~A\\dB^tBZbCvQdcBt@lHl@lFlAnJZrBz@jFbAdFpA~FzAxFdBvFlBlFdRxd@jXvp@~@bCrA|DpAbFbApFvAfLlAhLr@tHd@|Ht@rRjBjd@NzBRtBZvB^fBHb@Jb@XhA^lA`@lARd@Rf@Tb@DJLVLT\\p@Zj@bCpEn@lAl@pAXt@N^d@xAl@rBp@nCh]xaBfFbWzApG`BtFfBbE~AbCnC~CzCrBzAr@nDz@lDLrBKxBa@rCgAxFyDjFaFhB}AdC}AfCy@fCm@xBErAB`@@xB\\dBh@nAl@nChBzAzApBrCfBfDnChIjEtPfBfHzCfMj@rD\\hDf@zIDpECfEU|Ka@jVCrAAbDHdFVtE^tEXvCpBfTlAlMxAxKd@xBtAvG`ClKlCjL|@~Dz@xDl@nD`@bDVbCHz@n@lJXfFBTh@vIvB|]pBl\\h@hGf@`EdAvIjCnSnCfUD^r@rGzBzTB\\|Db`@dA|Hz@vE`AvEfB`J~B|KfBpIThApBlJlD~PrExTdDrO@HlAhEpBfGv@`CPf@", - "sędziszów|gniewięcin apo": "y}ssHsymyBl@fBPh@xC~IfHlTpC~IdA~CzAnE~CtHFTRj@zDlL^jA\\`AdDvJhDnI~AjC~@rA~@nAnAvA|AzA|AhAhAv@VNlAn@pBx@tA`@zAXlBZfBHjB@dBE`BMlPiBlPiBrRuB|H{@rCW~@CrACjBFnBNhBZhB^", - "gniewięcin apo|klimontów apo": "mfnsHi{iyBdBj@dBt@vCbBnCpBxArAtAzANRdChDbIfNlBnCzAfBnApAlAdAzQrNxR~NjAz@pAx@|BtAbAh@z@b@b@ThBx@`Cz@vBp@bDz@nJtB~D~@RRjGtA`KxB|VtFtFnA~AZtCn@", - "klimontów apo|kozłów": "mdhsHw`fyB~PxD~KdC|KbClE`AzJlBjCl@|EbAfBb@hK|BhZxGpJrBhBb@pE`AzCn@XH|EdApBd@bB\\lE`AhH~AtBd@", - "tunel|charsznica": "gixrHof_yBp@ET?dBA^AD?ZAZA\\EZE^CdAITAdBK^CXAd@Cd@?b@?f@@`@B\\D`@D`@H`@H`@J\\Jb@N`@P\\N\\R^R\\T`@X^X^\\LJLL\\^X\\Z^X^Xb@JNJRZd@Vh@\\p@HPLZXr@Rf@Ph@J\\DLPl@Pp@Nj@Nr@P|@Lx@Lz@Jx@J~@Hx@@TDh@Fz@D~@Bz@@`A@z@?`A?p@Ar@An@Cr@Cp@Cl@YdGMfFE`AEzAA~@AXAx@AnA?lA@nA@rABjADpADnAFnAHpAJlAHjANpALlATnBPnApA~JPtALnALlAJjAJpAHlAFrAFjABpABlA@X@|@?jA?xAA`BC~@EzACbAGhAEhAo@jKGdAEz@Ct@EdACx@A|@A|@?~@@`AB`AB~@D~@F~@Fx@Hx@J|@Jv@Lz@Lx@Nv@Rz@Rv@Rt@Tt@Tp@Vp@Xp@Xr@b@x@Vd@Vb@\\f@`@h@^f@^`@^`@`@`@^Zd@\\d@\\^PZRf@Td@Rh@Pd@Lf@Jh@Jf@Ff@Df@Bf@@h@?f@Aj@Eh@Gd@If@Kf@Mf@Of@Sd@Sf@Wb@Wf@]`@Y`@]b@a@b@c@\\a@^e@l@w@xSgZhA_BPET[X_@TY`@g@^a@p@m@RQd@_@`@[b@Wb@Uf@Ud@Sd@Of@Od@Kf@Kf@Gf@Eb@Ch@Ah@?h@@d@Dh@Fd@Ff@Jd@Lf@Nf@Pf@Rb@Td@V`@X^Vf@b@b@`@`@^b@f@Z`@^d@\\h@Zh@Zh@^r@JTJVVj@Rl@Xv@Tp@Rv@Rr@Nr@R~@N|@NbALt@Fn@H|@JfADr@Dr@?NBx@Bz@@~@?z@?|@C|@AbAKfFEvAIlDWvLUvJKhEIpEA~@Cz@?dAAjA@rA?x@BdALzIBhB@RHnE?b@DfAB~@D~@FbAFbA", - "charsznica|gajówka apo": "q~qrHwnsxBJbAJfANjATfBjBlNpA|JJv@Lx@Lz@N~@PbARdAPz@T`ATz@V|@Tt@X|@Zx@Xt@Zv@f@jA~ArDZt@Xp@Vt@Tn@Tt@Rp@Rx@Np@P~@Lt@N|@J~@Hz@Hx@F|@F|@@X@f@Bz@@`A@b@?vAArAClAAr@c@zX]zTClAEpAEvAEtAItAIrAKpAKzAMhAE`@Gn@{@pHQdBQ|AQpBKtAM~AIlACXIfBIvA[vGaClh@Cp@KjBIdBK|AItAO`BM|A{@lJK~@a@jEmAtMMpAsCzZE\\OzAQ`BQzASbBSvAW`BU~AWxA_AzFoDhTkCbP{AhJADk@hD", - "gajówka apo|wolbrom": "crrrHumexB_CrNU|AQbAOfAQlAQrASvAOpAaGrh@OrAABOpAQrASpAQjASrASlAUpAI^kE~UIhAOx@Kv@Kx@K|@Ir@Ix@Ex@G`ACp@Cx@Cx@?x@?v@?h@?d@@j@Bz@D|@Dx@Dz@Hx@H|@Jx@Hl@N~@Nz@Nr@Px@V`AV|@Xx@Vr@Vp@Vj@Xl@\\n@`@p@Vd@f@fAtAvBb@r@Zh@Zl@Xj@Zp@Vn@Vp@Rp@Tr@Rt@Rv@Nr@Px@Lx@Lz@Jv@J|@Hz@F|@Fx@B~@Dx@@~@BdA?V?h@JpJ@lABjABdAFjADhADp@Dv@Lb@HfAJdAFj@Ff@J~@Jv@L~@RnAPfAThATjAXfAVfAXbAZhA`J~[X~@ZdAX|@^bA\\~@^|@`@~@Zr@b@z@b@x@d@z@`Vxb@bKvQTb@Zh@Xd@\\f@^j@^d@b@f@`@`@d@d@\\Xd@^^V`@Vb@Th@Vf@Rd@Nl@P`@Hf@Hh@Hd@Bd@Bf@@d@?l@Cf@Cf@Id@Gh@K`@Id@M|HoBv@Sh@MTDREd@In@Ih@Ej@Eb@A`@Ap@?f@@J@l@Bh@DZDPBn@Jn@Lh@Lf@NVJNDd@RVJJFh@Xb@VTNVPTR`@\\^^`@`@^`@\\d@^f@\\f@Zh@Xh@JTNXXn@Xp@Vp@Tp@Rp@Rt@Pp@Pv@FTH`@Lx@Nz@J|@Jx@Hx@Dp@Fr@DjABfA@`A?~@C~@At@E~@GbAIjAKnAMjBa@~EKjAK~@Kz@Kv@Ot@Kn@Ot@Qr@On@cAzDOj@YbAYdA_A|CgCvIqKl^IV{AjFU|@Qp@St@Ot@UdAS|@Mv@Mt@CHKt@Kp@OlA", - "wolbrom|zarzecze apo": "ivnrHc}rwBOjAGj@MzAIdAIdAGbAEhABf@CdAC~@CbAA~@Ap@?\\?p@@vA@|ABfAB`AFnA?PFjABRDv@F~@Fl@Dj@LlAPzAJz@L~@XdBTrANx@R~@`Qv|@pFpYf@fCdAnFVhA@F^`Bd@~Af@bBVr@\\z@Zv@`@`An@zAvB|E\\x@Zx@Xt@Xx@Vv@Tz@T|@Rv@R~@Pz@N~@`@hCpAdIXdBfBfKzPdgAtA|IhDjT`BhKtAvIPdARjAP`ATjAVfAXfAVdAZbAZbAZ~@^bA\\|@Vl@Tf@BFf@dAj@fAb@v@d@x@h@x@b@l@h@r@b@h@`@f@f@h@d@d@d@b@h@f@j@d@p@f@p@d@lDfCVN^Xb@Xb@X`@V`@TTVj@X", - "zarzecze apo|jaroszowiec olkuski": "mljrHydewBb@RhDvAVJlMnFNHhVbKfN|FfN|FDB`DrAlFzB`@Pd@T\\Rj@\\`@Xd@Z^Z\\ZHHb@b@d@f@^d@\\b@h@t@Zf@Zf@\\l@R`@HP`@x@Zv@Vp@JVFTXx@Vz@Tz@Rx@R|@P|@PdALz@Lz@LfAJbAF`AHbAD`ABr@@NBdABbA?fA?n@?x@Ax@Cr@Ad@C|@E|@GbAKlAeAbNEn@q@|IKrACRIv@MnAMdAOhAQlAUnAQbAUnAUlAcNxu@WrAQjAEPOdAQlACl@Gj@m@tEQpAi@hEe@jDM`AaLh|@S`BQrAKbAEj@CNG|@GjAEx@C~@CdAAdA?bA?b@?\\BjABz@B`AFbAF|@FbAJ~@J|@Fh@Hd@Jt@Lt@Lr@n@pDH`A", - "jaroszowiec olkuski|olkusz": "ubhrHacyvBn@rCDTt@dEP|@jAvG^rBPt@Pr@Rx@Tv@Vv@Tp@Tl@pDpJdBpEvCzHVp@Vl@Pb@Xn@jAfCTd@tBtEd@`A`AtBZp@`@r@`@t@RXRX^f@`@f@`@`@\\\\^\\\\Xb@\\j@\\f@ZHD`f@|WLF^Rj@Zp@\\j@Vr@Xn@Vf_@|N`A^j@Rr@Rl@Pr@Np@Lr@Jz@LfLpApw@jJr@Hr@Hp@Fv@Dl@Bx@@t@?p@Ad@Cf@Ef@E`@Ef@Gj@Kb@If@Kr@QHFh@Or@Wl@U`Aa@r@[dBs@~TmJr@Yx@Yp@Uz@U|@U`M}Cv@Qn@On@Mr@Ij@In@E??jAGp@An@?h@?l@@j@Dn@Dn@Fj@Hj@Jn@Ll@Ll@Pn@Rr@Vn@Vn@Xx@b@|@f@~@n@t@j@v@l@nPhM|@r@~@p@n@h@p@f@`ObL|C`C~C`C~CbC\\X^X^X^X\\Z^Zn@j@n@j@pAlAhNbMZVXXXXVXXZVZV\\X\\T\\V\\T^T\\P\\PZP\\P\\Vh@P\\N^@DLZP`@Rh@JZNb@L^Nf@Lb@Ld@Ld@Jd@J`@H`@Np@Lp@Nr@nArGDNbAfFBNFZLn@Ln@DTDXHd@Fd@Hd@D^D`@F`@Db@Bb@Db@BV@VB^B^@XB`@@b@@b@@V?Z@Z?Z@^?\\?\\?b@?X?\\?ZAd@?h@?b@ARAt@Av@Ar@Cp@An@Cn@ANCf@?JCr@C`@C^Er@Cj@C`@Eb@El@El@IdAIdAQpBE^I~@I~@Ix@Iv@e@nEIx@Iv@Ix@Iz@Iv@Ix@Iz@Gz@Iv@KtAMvAmA~Oo@zHSnCSzB]fEYnD_@zEObBe@|F", - "olkusz|bukowno": "ypzqH_ekvBI~@AJo@bIa@rGi@~Gg@fG_Gdt@Gp@Ep@Ep@Gn@Cn@En@Cn@Al@Cp@An@Ap@?n@?n@?n@?n@@p@@n@Bn@@n@Bl@Dp@Bl@Dn@Fn@Dn@Fl@LjAn@lGp@lGn@lGnApLvn@leGhAzKl@tFJ`AL`APfANbAP|@RdAT~@T~@T|@Vz@Xv@Z~@Xt@\\x@jB`EzAjD@TVl@Zx@Tn@Rp@Tv@V|@T|@HXJd@R~@PbA^rBjApGPfABLPfAPlANjAJbALdAHdAHjAFfAFfADfADhABlA@jA?rA?rIAfC?dA?LClPAvBGzQCnEKdTA`BA`BE|AEpAG~@OtC?D", - "bukowno|sławków": "yfxqHamvuBOlCYnFKdBM~AIx@K`AObAQbAQ`AoA|GaBxIeApGwUhoAc]piBOr@O|@Mt@Kr@Mx@Ir@Iv@Iv@Et@Ev@En@Cj@Ax@C~@?jAIbBAxHGhm@?nDAjA?jAAjACjACbAGlAGdAIlAKfAKbAMfAMdAQbAQbASbAUbAS~@Y`AY`AWz@_Ln\\wD`Lw@`CeDrJWr@Wp@[r@Wj@]n@[j@[h@]f@]d@_@d@c@d@_@^c@`@a@Z_@Xg@Zc@Vc@Ta@Pa@Pm@Pe@Li@Jc@Fe@Fe@Da@@O@UJm@?i@Cm@Ce@EqIs@e@Eg@Ce@C_@?k@?i@Be@D_@Dg@Hc@Hc@Jg@Pc@P_@Pc@Tg@X]Tc@Z_@Z_@Za@\\m@l@kBfBYZ]^]`@_@b@]f@[b@qE`HM?", - "sławków|dąbrowa górnicza wschodnia": "}d~qHudguBu@hAsArBI^INc@n@i@z@_@l@yBtDm@`Ai@x@m@~@]h@_@j@a@r@Yf@Wh@Sb@Wj@Wp@[x@c@hAm@`BYt@e@nASh@[x@Up@[~@Ur@St@Qt@Oh@Mr@Ml@Kp@Kn@Kn@Kb@EJIz@Gl@Er@Gx@E`AC|@A~@Ax@?~@?|@@z@Bt@DdADz@D|@Fx@F~@\\pFDv@D|@B~@Bz@?z@@~@?|@Az@Cx@C~@E~@EbA_@jI_Br^w@|Qa@~IkAdXe@nKoArY]bIEjAEfACtAC~@_@n[g@xc@CvAGbFE~CG|CCx@M|ECnACpAEhEG~FCpAArA]`Y[pXA|@Ax@At@?t@?p@AnA?~@AhE", - "dąbrowa górnicza wschodnia|dąbrowa górnicza strzemieszyce": "w}_rHqhxtBAdB?~@Ah@?FAhAAV?R?V?T@`@?h@?V?VAb@C~BA`AC`AAh@Cf@Cr@E~@E~@IfAIdAIbAKbAIx@Kx@Kv@Kv@Kj@Ij@QdAUlAUjAg@lCc@vBi@vCa@tBcAhF", - "dąbrowa górnicza strzemieszyce|sosnowiec kazimierz": "gk`rH{uutBKf@eBbJ{EtVG^uAdH_BjIcChMmB|JcAhF[`BUlAUfASfAw@`Eg@hCWvA_AxEWrAQ|@a@pB_@pBi@pCI^ETGVQl@On@Uv@Qr@W~@Md@a@xAI\\IZGZKb@SbAWdBUnBKlAM~AGlBC~@AX?xA@zAD`BDvAD|@HnALrANvAV~ALp@TdALj@FVXbA\\fAp@jB`@`Af@dAt@lA|@pAx@`AfAfAdBpAl@^l@Zj@Vl@RjA\\fATx@PnAXhB`@~E`A`IfBlFhAhMhCtD~@bAZpAf@B@rAn@hAl@x@h@t@h@hBzAr@p@jAnAfAtAxAxBNRzC`F~L`SXf@fBrCnArBPVvBnDJLfBtC^n@z@rA\\j@^h@RZZ`@f@F", - "sosnowiec kazimierz|sosnowiec maczki": "af}qHilktBTRTNTNh@Xb@Rf@R`@Nf@Nd@L@?d@Jj@H\\DTBZ@b@@h@@d@@b@Ab@Ab@C`@Ed@Kb@K`@M`@Qt@]v@a@\\S^WTQZUXWZWVWXYTWT[z@iAl@y@FGT[X_@nAcBl@_Ah@u@~GeKle@es@jA_Bv@aAZa@dBwB|TqXrAcBbAuA|@kAv@iAd@y@b@_A^aA\\gAZeATkARmAJw@DWLuAHsADmABqABaEJ_NBgBBgBFcBLcBP_BT_BZaB\\sA^kABKTm@L[d@eA", - "żakowice|chrusty nowe": "u}vzHkoxwBk@oGg@uFEk@Go@qCc[MsAMsAKgAMyAMuACUKaABa@s@aIGi@IeAEa@Ee@Ci@Q_DFGCg@IGBg@A[Cg@AMA_@A_@?_@?_@?_@?_@@a@@a@@Y@_@B]B_@B]D]D]Da@F[D[F]H[F[H[HYH[JYJYJWJYLWLULULULSNSLSNQNQNONORQRQHIPKPMPIRKPIPGRGPGREREPCRCPCTAP?R?R@R@J@RBRBRDRFRFZJ^Ut@Xt@Xx@Z@L|@\\AJz@\\z@\\l@Xl@Xj@Xj@V^NHRRCXJRVXJTFJOb@OPJFVPFNFL?\\`@hDtArAZr@Xf@Rn@Vn@Xh@RV?NTd@PzBhAxj@zTp@XjMbFZBp@b@zSlIrrAth@DBvAZdBr@", - "chrusty nowe|rokiciny": "msozHoaywBji@fTzDzAlDvAdM`FzH|CzClAnAd@jAf@dG~BlEfBtAj@pAf@??vPzGf_@`O`C~@", - "rokiciny|łaznów": "_rjzH}pvwBPHpGfCbFlBFBhJrDlXnKnHrChk@tTfE`BxEhBjGdChBp@~EpBn@Zj@Zt@`@|@j@v@f@v@j@v@j@x@n@v@p@r@p@b@`@n@p@`@^BPbp@`s@|TjVxA|AxFfG", - "łaznów|wolbórka": "w`czHaeqwBzf@bi@rAvApAtA`q@~s@dZv[h@h@n@p@n@n@n@n@n@j@r@l@t@l@x@l@v@j@z@l@n@b@|@h@v@f@x@b@h@Vn@Xf@Vn@TxFxBdf@fR|@\\vHtCvAf@vFxBbE~AfDnAlDtA", - "wolbórka|baby": "ys{yHsckwBZJ|CjAhE`BPA|KfEtAj@p@Vt@V`@Nd@P\\Jb@Lh@Nn@Nj@Jr@Jl@Ft@Fl@Dp@@n@@r@Al@Cr@E|@G`@Gd@If@Kp@Mv@Up@Sj@Sr@Wp@YjJ}D`k@{UjH{CnYyLf@Sl@Sp@Uj@Sr@Qp@Ol@Mr@Mf@EXF`@El@Ct@Cp@Ap@@l@@v@DZB^D^Dn@Jr@Ln@Ln@Pp@Rp@Tl@Tp@VbE|A`E~Axu@|Y|D|AbE~AXLvHvCrp@lW", - "baby|moszczenica": "y`qyHm`jwBZLbC`A`@NpEfBhDpAt@XnC`AnAd@z@Zx@ZfBp@vLvEj@Rl@VxqAlg@xk@|TjBr@jAd@jG`CrKfElAf@bI|CfCbAn@T", - "moszczenica|jarosty": "_bjyHssfwBl@TfA\\x@Tv@T~@T|@N|@Nh@APBl@Hj@Fh@D|CXfa@fDfMdAtBR~d@zD|v@rGzv@tGzNlAN@`MbA", - "jarosty|piotrków trybunalski": "oabyHmiewB`DXlSdBdFb@bBLdBNnd@dEzCXtIv@rLfAzCXjDZjBP|Gn@`E^|AND?`Jx@tHr@pRfBxBRrGl@|ANzMlAf]~CN@tIv@pOvA", - "witonia|gawrony": "q{i}Hc}stBhAzAjAzA`P~S|@lAfChDhDpE~G~I|@nA|@lA~PvXjCfE|ItNtF~IdGxJjFlI~FpJdi@h{@@DnFtIzDhGj@x@j@v@xAlBbLvMnK`MRTtl@dr@fM`O", - "gawrony|łęczyca": "oya}HkpitB~QfTB@xKlMbO`QxShVbAjAbAjAtAxAj@j@`@^JHx@t@z@r@vBfBnFnE`FbEnFnEdBxAfBxAnErDlErDDB~AtAr@j@r@j@bCpBhA`Ad@`@b@`@l@j@j@j@tAzAZ\\|@`A|@`AnUfWbK`LfBnBhBlBpE~ErEbFdBnBlBpB|BfCnApAf@d@\\ZLJ|@p@`@Xb@XfAl@~At@rBn@`@J^J~@P^F^D`@D\\Df@Bh@Bf@@h@?r@?t@AjBAtEGfLM~@A|JMj`@a@`EE|CEhEEnGGhCCjCG^AfAGpBWvAWz@Sv@UXG~@_@`Aa@hAo@`Am@dAu@`A{@dAcAx@_A|DaFrBiCjFyG~AqB~GuI", - "łęczyca|sierpów": "gxt|HqwctBhDiEdIcKhQ{TjMaPrE{FfEmF~QsUp@u@vAmBzAiBrBsB~@w@~@s@tL}HzE_DvKgH`U_OnCgB~CuB|OgKfG}D`Aq@", - "sierpów|ozorków": "g}n|HeiitBROp@g@l@g@n@o@VWTULMHKTYj@q@h@u@h@w@bA}A~@_BfBsCr@mAt@mAvFiJlLoRbDkFnCsEjHqL|JmP`HcL`HcL~ByDdCaEbAaBj@}@V]xBcD|B{ClB{BpBsBvAqAxAoAvDwCnTuP`q@ah@jHuFbJeHdBmAxAw@~Ao@|Ag@tA[lCm@nCm@vBa@bB[lCg@z[eG|AWBA", - "ozorków|ozorków nowe miasto": "}ze|H{zqtBhHuAxHwAjB[xB_@dMyBfI}A`KkB`LsBpAWhEy@jB]", - "ozorków nowe miasto|chociszew": "ybc|HmsrtBhAUv@M`Ce@dGgA|@Q~@Q|@Ox@O\\E\\GZC\\Cf@Ef@Cl@Cl@?T?R?h@@jBJ`AH`AJ@@`CThGn@rO~AxYxCrANv^vDzJbArHv@vANxLlAjFh@|CXvBL~AJ~CPn@@n@An@ATAb@Cd@En@Gx@Kv@OvAYf@K", - "chociszew|grotniki": "un|{HgbrtBzBg@zD{@hAUlK_ClCk@p@O~SwEhAUta@aJjCm@lDw@vA]j@Sh@SbAc@`Ae@TMJE^W~@m@r@k@r@m@p@o@p@q@p@w@p@y@n@}@n@_Aj@_Aj@eA`AoB^y@\\{@h@wAh@yAb@yAPm@Nm@^{A^aBToAToAVaBTcBNoALqANeBNiB@E\\kEj@gHj@iHxAqQ|@_L|@_Lj@iHXuC\\qC?AV_BZgB\\iB`@eBb@cBl@qBn@mB~AsEdB}Er@mBXw@J[JYdAkCVk@Vm@n@mA`@u@P[NUb@q@b@q@b@k@`@i@b@i@d@g@X[Z[Z[ZYRQv@m@h@_@j@_@vAw@n@[VMVKj@Sl@Sh@Oh@M~A[l@In@IlBWlAO`Dc@VE", - "grotniki|jedlicze koło zgierza": "{mu{HssztBnGy@jC_@zDg@xASpEk@jHaA`AQbAUdAYp@UXMd@Sd@UtBeA|BgAzBiApE{BzGgDzQaJzAw@vBeAl@]l@_@l@_@j@c@h@c@h@e@j@i@j@k@n@s@r@_A`@i@^k@\\i@b@q@Xi@b@w@Zo@\\u@b@_A", - "jedlicze koło zgierza|zgierz kontrewers": "sqq{Hsy|tBBK^_Ad@mAL_@Pe@J[Z_Af@yArAaEh@cBf@cBPq@Nm@Nq@Lo@Li@Ji@|@mFjAoHN_ALy@L{@L_AJaAJ_AJcAFy@HaAHmAL_CNkCDy@Ba@Be@DaAB}@B_A@eA@{@?gAA{JA}E", - "zgierz północ|zgierz jaracza": "auq{Hk{huBp@oJz@mLTwC\\}E@GPwCFaAD_AB{@BeABaAB_A?k@@k@?q@?_AAiAAgACcACcAEeA]cJCq@c@sLK_DCw@Cw@CcC?qB?y@@y@@s@Bw@@s@HwC^_Mz@aYHeCFaADcAHeAH_AH_AJcALcALiANeAJq@Ny@P}@Nw@Pu@Nq@R}@Ru@Tu@Tu@Tq@Vw@To@HSNa@Zu@lHcQ", - "zgierz jaracza|zgierz": "axp{HkepuBfCaG|CoHPa@n@{AZo@Xo@^w@PYNYN[R[`@m@b@q@d@o@d@m@d@k@f@i@d@e@XWVWpAeADEvAgApDoCp@g@p@e@r@c@XOXMd@Qf@Qf@Md@Kp@KVCVCj@EV?TAf@@d@Bb@B`@D^F`@Hd@Ld@L`@NRHNF`@T`@V\\X\\ZbA|@\\ZXXb@^f@d@`@^x@v@RP~@z@t@p@\\Z~@x@~@x@xAnAv@p@r@n@jD~CnBfBnEbEdDxCbDxCvAlAb@b@j@X", - "zgierz|łódź radogoszcz zachód": "g{l{HsepuBxApAf@d@RRr@p@^\\RRDF`@b@VXXX^^ZZdCzBrBnB~@z@`Az@RNVRRNVRZRXPZPXNXN^NVLVJ\\LTFXH`@J\\H\\H`@FTD\\D^B^D@?`@@f@@j@?r@Aj@CbAIbBQ`D]nCYfAKFAz@Ix@Kp@Gz@Kx@InAMv@IdAMv@IdAKt@I\\C^EVFl@C^CRAt@C^Ap@Al@?n@?f@?v@@b@BV@z@BnAHF@rF\\r@Dt@FZD^Bd@H`@F^Fb@Hn@Nd@Ll@Pj@Pd@NXLVJTJNFNFRJV@NFTL", - "łódź radogoszcz zachód|łódź żabieniec": "anh{HocouBJFLHLFPJPJh@ZhHlE~AbAjAp@pAv@rAx@tAx@jBbApE`CdCrA`DbBfAl@bQdJBBrGhDxDrB|Ax@bBz@|BnA^RhB`Ap@\\hAl@fDfBxAt@h@Tv@\\t@Tp@Rl@Pl@Lp@Ll@HD?h@Fr@FdBF\\?h@?r@Ab@Ap@Ep@Gp@Kp@Kn@Mx@Sl@OzQiG", - "łódź żabieniec|łódź kaliska": "anc{HoemuBrBq@fA_@fFeBdCy@dHaCbDgAtBs@XIbEwAt@Wb@QZOXMTMPINIRMTMx@i@n@_@jAu@f@[hC_BxCkBHEbDsBbDsBnMcIpFiD`F}CdAq@`@UZSXSFCt@e@lBmAx@g@tBqA~AaA\\UDE^U\\QXQRMZQ\\St@c@NGVOXQVONKXOVQVQJEdC_BLITMFEXQVONKXONKJGnBgAXORMhCyAXONKVOTOfC}AfC}ATOvCiBRMFCXSb@WdAq@RMNIRMTMNGNIPGVKVITGVG^IZI\\KXIVKTKZOTMTMvA}@jDwBnD{B|CmBbC}AFERMTOPMTQV?", - "łódź kaliska|łódź pabianicka": "}r|zHqnquBn@m@bA_Az@u@bAaAFGnCmCXYFERQXYBCZYFElAeAVULKVUJIRQLKJINOHGTQRONMRMTOHEPKLIVONINI`@SbAe@VMhB}@p@[l@Y|BiALGTKDATKTKXKVIZITGXGTEr@M|NeCfB[jCc@`F{@`@I^Gb@KjBa@dE_ANCjCk@zA_@HAt@Q@?`@IbAUhAS`@I^GHCh@GPCRCNC\\CTCl@GHA\\CNAPAPAXARARA`@AnCKXOTATAZC\\E^Eb@E`@GdJuAf@I`@GXG^GVGf@MPERGXKZKb@Q\\M^QVKp@[bAe@TKTKTKb@QXMb@Q`@O^Ov@W|Bs@^M^M^OZMTIPI\\OnEqBn@Yh@W\\QNIJGd@YPKZSVQj@e@l@i@t@w@`@c@b@g@t@aAl@u@f@q@REr@}@bAqAPUvCwD", - "łódź pabianicka|łódź chojny": "ywuzH{{tuB~@kAl@w@h@iAZc@t@aANS\\g@^m@Xg@^s@Xk@\\w@Vo@Ts@Rk@Lc@Le@H[Ru@Lo@R}@Nu@Lw@lA}GbB{J|@eFXeBPcANgAFc@Ju@Dg@JeADm@Fu@Dy@Bk@DkA@{@?e@?U@w@?CAq@A}@Ai@Cu@Ce@E{@Ey@Gm@Gq@Gs@Gg@Mw@Ik@[eBSeAQq@Ka@[eAC_@m@cB[y@g@iA}@mBuCiGcD}G}B}Ee@eAc@aASc@Ws@KYY{@Oe@K]ESGQI_@S_AYyAMq@Ko@Ky@Iw@KgAIcAAYEe@Cg@Ae@Cs@AeAAuAAy@@iA?m@By@E]FeDJwDHsB?IX}FDy@h@eKz@yPTkE`@oIFeAFgARkCT{CRyCJsAFqARsDJoB@UBk@JsB", - "łódź chojny|łódź dąbrowa": "squzHux~uBVqERoEHsBBw@DuA@w@?c@?gAAoACgACu@E{@Ck@Ee@Es@Ee@Iy@Io@Io@O{@SmAMk@Oq@Qs@Mg@Qo@Ma@_@cAQe@c@cAO[Q_@[m@[g@[g@KQa@g@]c@Y]_@a@[Yg@e@e@]a@Y_@Sg@Y_@Qk@SIEWIUG]Ks@OeB[m@MqB[qASo@IMA}Da@gAOcDi@sDm@}AW", - "łódź dąbrowa pbs|łódź zarzew": "epwzHqravBeCc@iCc@i@KwAUqDs@qCo@QEiBa@_AS_BUgAO_@Es@G_COyBMwAKcEWaO{@oAImHe@sAIaAGo@CwBOUM_EWeDS}@G", - "łódź zarzew|łódź widzew": "ayzzHeebvBe^wBw@Eu@Go@Gm@Ig@I[G[Gm@Oe@OYIg@Qc@Qm@Yk@Y]S]S[Se@[e@]]Y][OMc@a@a@c@[]UYWYc@k@c@m@a@o@c@q@]k@[m@[m@[o@_@}@_@{@Wo@Uq@]eA[cASs@Su@YgAWkAUcAScAOu@]iBWaBMy@My@Kw@Iy@I{@G{@E{@E{@Cy@C{@?}@?{@?{@@w@DoAF{ADu@As@TgEHmAKq@`@gFHU}AwCNa@Nc@Nc@Ng@ViAJe@Jg@RqAFg@j@a@Fo@Yy@RkCr@oB", - "sosnowiec kazimierz|sosnowiec dańdówka": "se}qHwjktBTVh@f@|@t@`@Z\\T\\TZPl@Xf@RvAh@jC`A|HvCb@PRHLFb@Rd@V^Tf@\\^Z`@\\`@\\^b@Z^b@h@Xb@^j@rBjDbEdHjD`GdAfB~DbHLPn@hAn@bAZh@\\f@Xb@@@\\b@^b@^`@NNn@j@^X`@X`@Xb@Tb@Rh@VpJfE~@`@z@b@dAl@d@Z^ZVRXVRRRRNPNPRVZ`@NRPVT`@Xd@Zj@Xp@Vj@Tn@Tn@Tt@\\rAn@bCBJp@jCLf@|WxeAZnAl@~BT~@Ll@Nx@Lv@N~@Hj@Fd@D^JdAJnAF`AHdBDbB@jA?zA?|@CjAC~@GtAGhAMfBO|AUfCe@|GOfCIpBC|AC|A@`B?BB~BH`F", - "sosnowiec dańdówka|sosnowiec południowy": "sqxqHagbtBHlE@rA@tBBfC@jADhDf@r]@|A@vA@jDB|ABfAFdFDrCPhLHxFFpDLxHHfFH~FDtCJlFR~L@|@HpFJxH?r@?x@C`AAz@Ez@E~@Gt@Ix@Gr@Kv@QlAUxAsAjIQpAKt@Gj@IbAIdAEbAE`AAv@C~@?P?p@@xBB`AB|@D~@F|@HjA@@N|A^dCZfB`@vBV~Af@rCl@jDl@fDLv@N~@Lx@Ht@Fp@Hz@Dv@Dx@Bf@Bd@@z@@`A@~@?|@?~@A|@C~@C~@G|@Gz@I~@MfAIp@M~@Mz@Oz@Mt@Ml@ADQv@Sr@Sn@M\\q@hBi@nAQ^MXUb@m@fAs@nA}@~A]h@c@h@OROVk@bAc@r@QXa@l@[d@[^_E|EIJaFdGcFdGiArAORSXSXU\\[f@QTuCjDKJONT`@MV", - "sosnowiec południowy|katowice zawodzie": "__zqH_qusBOZMZO^IXIZGZG`@GXCVCXCZEr@Ar@AL?^?^@n@Bj@Dp@Fn@PxAJn@Jj@Pp@FPJXHVJRXj@HNLRX\\r@t@x@z@|@z@|@b@xArA`DpBEHf@PpC~BNAvG|E~AhArIjGz@n@rA`AhCtBdAdAr@pARTlAzAJLt@n@b@fAxApBjAbC^z@f@hAh@|AbAzCIN|@nC\\lAd@tBZlBVhCv@zK\\hE\\jDR\\P?H@h@hEOFGRHl@JNTNPlBOd@i@DL~BXhEB`@`@bFt@bJn@`INtCJ\\VBD`BGLJzBODTjDRJDBbDve@l@dJb@fHHxAF`BJdCRpFO^JzFDzFE??pDExCG|FHXFl@SlIWbBAVWpJUhBQ|Bo@|FQpBPZEnAi@nFMlDAvAPNCzA?~B", - "łódź widzew|łódź andrzejów szosa": "iu|zHidjvBJmA\\oCD_@Fq@Do@ZwDBYJoAR}AJmAbAoMBOXoD\\sD^sD`@mD`@_DfFk`@nHak@zIeq@`@sCb@sCReAReAl@mCVcAVaAZcAZcAZ_A\\aA|@{BdBaEhJySz@mBz@qBn@aBn@cBzAiE|AiEl@eBn@aB~@cC~@cC|CqI|CsI|CuIpC{Hd@mA^_AL[N]^y@h@gApAmCh@gA\\o@Ra@Xa@V_@T[X[TUZ[XS`@YNKNILGPIFEPGNGPGPENQ", - "łódź andrzejów szosa|łódź olechów pzs r82": "uvxzHgtuvBPDNCPCFAVCLAVARAT?h@@fA@X@Z@fBD\\?j@Aj@E|@G\\CfEW`AGd@Ab@?`@@T@VBf@Hd@J`@L\\J^P\\R\\PTPTPRPZX\\\\j@n@rA~AbAhAt@~@TVTZT^PXXf@Vh@Rf@Tl@Tt@Tx@Nr@Lp@Jl@Hj@Hr@Fl@JnAZjEZhEzBpZRnCNl@Dt@\\rEBVC^VpDV`D?Df@bHh@dHNhBJZDn@XnDVvDH`ACd@H|@JXFz@x@xK`AvMX|DlFdt@JhAVlFb@hE\\pECZL`@\\zEZlEBZf@xG\\pEDf@F`AGFLfBJbB@FJzAx@|MJdB^~FHNJ`BHhAERH|AJ|AV|D?JJtABb@Dt@b@xGF?JbBJfBBTE`@BZHVFz@Dz@Dz@Bj@@`@Bf@D~@Bh@IBDz@B|@?DBj@B|@B|@@r@FADnA?DBtANvL@l@HbGEh@?NPrE@l@?HBr@GD@l@Bh@Bh@@b@Bf@Bd@B`@B`@Nz@NbC@jALvBHvAHpAHJAd@FDDh@Dj@Fr@@VHfAdArMJpA?|@TnCPx@^xEPzBj@`H", - "łódź olechów łoc|łódź olechów wschód": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?IAg@IcGAm@OwLCuA?EEoAAs@C}@C{@Cs@C}@C}@Ci@E_ACg@Aa@Ck@E{@E{@G{@Eu@A_@CUKgBKcBm@yJKwA?EK}AW}DKoBIiAKaBAQIkAUsDm@cKWeEMcBKaBMiBGaAEg@]qEg@yGC[[mE]{EI}@]qE{@wLKiAmFet@Y}DaAwMy@yKG{@Q}BIaAWwDYoDEo@SiCg@cHi@eH", - "łódź olechów wschód|łódź olechów pzs r16": "kovzHokrvBh@dHf@bHRhCDn@XnDVvDH`AP|BFz@x@xK`AvMX|DlFdt@JhAz@vL\\pEH|@\\zEZlEBZf@xG\\pEDf@F`ALhBJ`BLbBVdEl@bKTrDHjA@PJ`BHhAJnBV|DJ|A?DJvAl@xJJbBJfBBT@^Dt@Fz@Dz@Dz@Bj@@`@Bf@D~@Bh@B|@B|@Br@Bz@B|@@r@DnA?DBtANvL@l@HbG@f@?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", - "łódź olechów pzs r16|łódź olechów zachód": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?IAg@IcGAm@OwLCuA?EEoAAs@C}@C{@Cs@C}@C}@Ci@E_ACg@Aa@Ck@E{@E{@G{@Eu@A_@CUKgBKcBm@yJKwA?E", - "łódź olechów zachód|łódź olechów wiadukt": "mnuzH_zjvB?DJvAl@xJJbBJfBBT@^Dt@Fz@Dz@Dz@Bj@@`@Bf@D~@Bh@B|@B|@Br@Bz@B|@@r@DnA?DBtANvL@l@HbG@f@", - "łódź olechów wiadukt|łódź olechów pzs r3": "ihuzH_lhvB?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", - "łódź olechów pzs r3|łódź chojny": "y|tzHyoevBTtC@FJ~AFz@Fz@Dx@@FEd@Bh@Bl@Bn@Bv@B~@@~@@t@@v@?l@?R?z@?x@A~@A|@Az@Cx@A|@E|@Cx@IbBG`BUvEQbEEt@OjCSfCaApKq@dHoAvMkAtMm@hHi@vHe@vH}@|PIzAu@tNMpCG`AIjAKlAKdAQdBKvBUhEAH", - "łódź chojny|łódź pabianicka": "}quzHis~uBU|EC^AZ?XAv@Az@ATA|@ErBErAMzBGnA{@bQk@~K]tGUhEMlCK`BK|AIrAKhA[vDKlAEf@Eb@Cf@C`@Cv@A\\Cx@?l@AhA@x@@tA@dABr@@d@Bf@Dd@@XHbAJfAHv@Jx@Jn@Lp@XxAR~@H^FPDRJ\\Nd@Xz@JXVr@Rb@b@`Ad@dA|B|EbD|GtChG|@lBf@hAZx@l@bBB^ZdAJ`@Pp@RdAZdBHj@Lv@Ff@Fr@Fp@Fl@Dx@Dz@Bd@Bt@@h@@|@@p@?BAv@?T?d@Az@EjACj@Ex@Gt@El@KdAEf@Kt@Gb@OfAQbAYdB}@dFcBzJmA|GMv@Ot@S|@Mn@St@IZMd@Mb@Sj@Ur@Wn@]v@Yj@_@r@Yf@_@l@]f@ORu@`A[b@i@hAm@v@_AjA", - "łódź pabianicka|retkinia": "ywuzH{{tuBwCvDQTcApAs@|@SDg@p@m@t@u@`Ac@f@a@b@u@v@m@h@k@d@WP[RQJe@XKFOH]Pi@Vo@XoEpB]NQHUH[L_@N_@L_@L}Br@w@V_@Na@Nc@PYLc@PUJUJUJcAd@q@ZWJ_@P]Lc@P[JYJSFQDg@LWF_@FYFa@Fg@HeJtAa@Fc@D_@D]D[BU@U@YNoCJa@@S@S@Y@Q@Q@O@]BI@m@FUB]BOBSBQBi@FIB_@Fa@HiAR]ZSHKFQFOHQJSLKHWRMHKJKLKHOPQROROROTQXMRIPINIRKRMXM\\M\\KXK^K`@M`@I`@IXCRGXGXGZE^G`@G`@E^E`@Eh@C\\Cf@Cf@C`@Af@Ab@Ab@?f@?d@@\\?d@@`@@`@B`@Bb@B^H`AJ|@EDHp@DTLRZ`Bv@`Et@rDZzAZrA?\\dAvENn@^~A\\`BFA^nBj@lDOJp@dBjAhGLp@Lv@Jl@NJE\\PtAD^FXDXRFb@nDPbA?\\", - "retkinia|łódź retkinia": "k`yzH_aouB|@lENXpAxGrGp\\f@fCl@|C??pAvG", - "łódź retkinia|łódź lublinek": "omxzHmamuBh@pCXtA\\fBXtAdB|Ih@nCjBnJtCzNFZvCjOjJve@zCtO|CvOvApHvAjHpDzQ|BjLLp@Pr@VhA\\rAX~@ZdA\\bAPd@Vr@LZTj@N^Tf@LVTf@\\p@^r@T^b@t@Zf@d@p@h@t@t@bAlFnHZ`@bCfD|\\be@BB~AzBnAdBb@l@", - "łódź lublinek|pabianice północne": "{otzH_zcuBFFt@dA|CfEzAvB`BxBbDpExEtG\\d@f@r@lAbBnCrD\\d@Zd@X\\VZ?@XZZ\\XX\\XZVZX\\TZRTLRJPH^P`@NZJ^L^H^F`@F\\D^D`@@^@^@^HjQOv@Ar@?x@?p@@r@@v@Dp@Bx@Ft@Fv@FxSlBj^dDTB|Gn@fCTnTpBzFh@VBnRfBlTpB`|@`In@F`@Df@F^D^DZDb@H\\H\\HZH^LXLXLRHRJLFNJ", - "pabianice północne|pabianice": "{{jzHcy`uBPJNJPLPJNNPLLJPPNNPNNPRRNRLNRVLPTZNVT\\NZPXLVTd@Rb@Tf@Rd@Vj@lAzCxFtNpBdFNZnB`FRh@fHpQrCdHbApCfAvCj@|ATj@Rl@d@fAx@tB|@xB~@~BbA~B`@z@Tj@h@nAXp@f@jA", - "pabianice|chechło": "cwhzHuz|tBp@dBv@nBdAhC`AdCfApCjDtI^dA`@dA^dA\\`A\\fAZdAZdA`AbDz@tCjA~DlGlTjKh^HV~Mzd@|Nhg@z@tC\\jA\\hAV`A", - "chechło|dobroń": "kbfzHanvtBZlAVbAXfARz@Rv@R|@d@lB^|AhEnQfRlw@tRvx@DNh\\ztAfKxb@DThDlNBLtCvLjB|H", - "zduńska wola|izabelów": "qh_zH{rrrBTfRArC?Hf@pb@BlB@xA?lBAzAAnEApA?nA@x@?p@@t@BpBBzAHnEdAnj@@j@`A`i@", - "izabelów|męcka wola": "ua_zHavlrB?TxBflAn@z]RvK^jRBbBB|A@rA@lA?pA?pAArACpAGlEg@jf@aBpoA[fVWhRAvAAtA?rA@pA@pADrAD~ADbBFbBHhBn@`Rp@fR", - "męcka wola|sieradz męka": "q|~yHah`rBVlHVxGpAf^T`HTrGF|Ah@|OVrHLbDhAb\\^hKNfEDtABpABtA@fA?H@rA?nAAnE[vcA?VW`e@CjMEnMElMAfFArBAx@Ax@AlAEpAEhAGjAKlAMlAK|@M~@O`AS`AOt@Qt@W~@Y`AWv@Uj@Wr@Uf@S`@OXa@v@]j@U\\]f@e@j@iAvAkDjEmG|H]d@]d@a@j@Yf@I^OVYj@]r@Wj@Sj@Ul@Up@K\\Md@Qp@Mf@Mf@Ov@Oz@Mz@M|@K~@KbAMpA", - "sieradz męka|sieradz warta": "y_`zHqsrqB{@`Ja@hEO|ASvBKtAOhBK~AGv@KdBIdAEfAEbACx@Cb@C~@CvA?h@Aj@?xA?lA@tABnABnAFtAFrAFnAHpAJpAJlANrANnAPlAPlARnAb@lCbHra@TrAvDtTdBdKr@~Dr@bE|Hzd@DTX~AXzANv@Px@Pt@Tv@Tr@Tt@Vp@Xp@Vj@Zn@h@bAj@bAfEpHlI~NbFzIf@~@\\l@BDb@z@Xj@Xl@JRf@pAVr@Tr@X`A\\lA", - "sieradz warta|sieradz": "_t}yHmciqB`@tAfAdETv@X~@Vv@Xv@\\z@Vp@\\r@", - "łódź kaliska|retkinia": "gr|zHarquB|As@dAe@`Ac@jBy@\\Ol@WTITKZM|@]h@UDAd@QhDwAj@Wj@Uh@SVMVK\\MLETGJEVGPEREXEVCdC[jBSr@K~@B@?VEVCZCTA\\AX?V?\\?`@BXBZBH@PBXF\\F\\J`@L\\LLFNFZLXNTLTPXPXRB@d@^ZV^ZVRZZVVVR^`@Z\\VX\\^^b@^f@^f@DFZb@V\\PZ\\d@Vb@^n@`@t@Zl@Vf@Xh@Zn@Xp@^z@Xr@\\|@\\~@\\bA`@nAV|@ZhA`@|AZrAZtAp@fDp@jDxBbLpAtGjAdGLn@", - "skierniewice|bełchów": "oqd|Hkt}yBH^DXDVD\\DTDTHf@BJ\\dBNt@Jj@FVBPJh@vBnK\\bBHb@FZFVHb@F`@H`@Hf@Hh@Hf@Ff@Ff@Fd@Fj@Dj@Fj@Dl@Dj@Bl@Bj@Dl@@j@Bl@Bl@@j@@b@?T@X@b@?L?n@@l@?n@?l@?l@Aj@Al@?l@Cl@Al@Al@Cj@Cn@Cn@El@Cn@El@En@Ef@Ef@Eh@Eb@Ed@Gd@Gf@Gf@If@Gd@Id@Ib@Kf@Kf@Kf@Kd@Mb@Kd@Mb@Mb@s@jCo@bCOh@Of@Oh@M`@M^KVIVQd@Qb@Qb@qEnKUd@gCdGGLiBhEuCxG}R~d@qElKyIpSoDlIsB|EmDhIe@hAmArCEHmBrEc@dAyh@lnAya@jaA_AvBcd@xeAeB~DWn@}BlFWl@y@nBaCrFgBfEcCzFA@aB|DO\\sB|EeB|DO^IP]z@Yj@Yn@Yl@a@z@Yj@Yj@Sb@IN_@n@]n@[l@]l@c@r@[j@a@p@a@n@a@l@_@l@_@h@g@r@_@h@_@f@g@n@g@p@UXa@h@a@d@a@d@c@d@c@f@e@f@]^_@^UVWV_@^g@d@g@b@e@b@g@`@c@^WTMJUPUP_@Xc@\\e@\\i@^g@Ze@Ze@ZQJgIhFiIfFiIhFuFnDqAx@eF`DmAv@UNSJWPq@b@WNWPGDi@\\}A`AGDc@XsAx@_BdAaBbAYPYPKHOH", - "bełchów|bednary": "auo|HeghyB}CnBc@X]Tm@^]RA?[RaAh@a@T_@TULi@Zk@\\_@T_@VKFyCjB_@Va@V_@Tc@Z[RGDQLWPWP_Ap@c@Xa@Vc@X_@Va@VQLqEtCoBnAEBe@Xi@^gAp@u@d@{BvAyExCUNo@`@i@\\OJc@XwD~B}AbAsD|BiAt@kAt@gIfFiIhFiIhFgIhFiHpE_@VqAdAoAv@sAz@s@b@qBpAoAv@sAz@oAx@iIhFeh@d\\aHlEEBuEvCob@dXg]lTyA~@C@m@`@s@d@_@Va@Xa@Xa@XCB]Xa@ZWRKHa@\\a@\\a@\\k@f@WV_@\\YVEFc@`@[\\_@^a@`@]^_@b@_@b@_@b@]`@a@f@_@b@_@f@]b@Y`@Y^]d@[d@U\\W^g@v@g@t@iTf]cA~AiIrMk@|@eC|Dw@nA{B~CSZ[d@KPOPu@|@KNQNQROLSNQLWPQHOHQHSHQHYHMBUFUDWDWBW@S@S?S?UAUAOCQAYGUEWGQGUIUKQISKUMQMSOSOOOSSSSQSSWMSOSOWOWMWQ_@KUMYK[M[K[EQGSI[GWGUEUGYEYG_@G_@Ea@G_@Ea@[[WOPkC_@oDcA}Jq@iDQAKa@BOK[DOKYDSKWDUEi@IYDQEk@Ac@Fg@MQH[KQF[A[A[Fi@Ag@Ae@YGAq@DW?e@FEDc@AYCc@AYA}@EaEIUEuESkUGeAEwDAyACwACyAAaAASG_ECmAC}AAgAAoAAoALeBQa@AiBEwEL?CiBAa@MM?u@Aq@FENQQe@I_@De@N_@Ag@Cs@]m@Ck@Ce@Ce@Cc@@i@Em@GI@e@GMEg@C[CU@a@Ea@Ec@Hc@SMHa@SOH[QUDc@QOD]G_@Kk@{@_Fa@aA]iBDEkC}NKk@}@_FW{Ao@oDaAmFGYgAkGY{ASiAaCuMo@qEaGg\\aBaJSMsC_PFCgAeG}@cF@YsAoHaAqEBOSiAUsA{CsPeFkYY}A", - "warszawa wschodnia|warszawa stadion": "eh{}H}cm_CRAN?LAN?L?`C@`C?L?L?L@N?L@", - "warszawa stadion|warszawa powiśle": "i{z}H{cm_CR@\\DLBNBPBRDVRNDLDLDPFPHPFLHNFXPp@b@XTh@d@VXTVVZRV^j@^n@R`@P\\P^Xr@lGvO|F|NbBbEn@|AVl@Rd@R^NZT`@Xf@V\\V\\tAjB^h@\\h@h@~@^p@HNf@dAHNHPRd@`@fAt@pBPf@\\~@b@vAd@jBLj@|AhH", - "warszawa powiśle|warszawa śródmieście": "yxx}Hmwi_CDdALl@Jd@Jj@Lp@rD|TJn@Jp@Lz@N`ALx@Lz@xAjLlEf]CVHn@Fj@Bh@Dj@@X@\\@^@n@?`@?b@A\\C~AA^Df@Ab@?^?^?b@@^Bd@@^BXB`@Fb@Dd@Fb@Fh@`@|CAf@\\|AtCzT|AzLHj@Fd@Aj@F^RTGRTVINJd@`@dBv@pBGXh@jAH^HZFXF^FZDZF`@D\\@n@f@jB", - "warszawa śródmieście|warszawa ochota": "spw}Hsvc_CXrBFl@F`@D^JbADj@Dh@NfBH~@LlAHr@Hl@bAdIRvAHn@Jl@Hj@Hj@", - "warszawa ochota|warszawa zachodnia": "mhw}Himb_C@FPfALt@Jr@v@`FD\\l@zDdA|GNfA`B~K^dClD|UL|@N`AP|@P~@Jh@Nv@Nx@?DHd@Jp@Jz@NfAThBJTPlAGJBz@Fd@D`@Df@b@p@BNJt@Hh@ODHj@Af@F\\Fd@Fb@Hb@@ZLbA|@b@H`@H\\Lb@BXQZFTFTBTJRDRFVHVJb@Hb@FTF`@RVTFH^Hl@Hb@Fh@F^D\\h@jEWx@DZD\\BVB\\D\\B\\?LDd@@TBX@`ARzALTMbAZn@VxBx@`BDb@TfBBNHp@DZHj@Hb@c@PPxADZBRF`@Fb@DRFXDZFXFXBLLd@FXFVDLb@fBBHNl@XhAJ^FXFVHXBNHZH`@FXFZFXDXHf@BLDZLt@", - "warszawa włochy|warszawa ursus północny": "ess}Hwht~BZrAXlABFJd@Pt@Pp@Np@Jb@Md@El@FVFXHb@DRJl@F^H^FZFVF\\J`@H`@J\\H\\Nl@Nh@pAvEZjAZlA^tAr@~C^zAb@pBj@hC@HrAbG`AlEPr@TjAZxANl@Lp@DXFZHd@D\\D\\Dd@D^Db@B^@`@Bb@@^@d@?d@@d@Ab@?ZAXA^A`@A`@C\\C`@Cd@E\\C`@Gf@E`@G^G^Gb@Id@GZI`@I\\CJUv@Of@o@pBSn@{EpO", - "warszawa ursus północny|warszawa gołąbki": "ycs}Houo~BsGxSyBbH{BjHiB|FgKr\\Kp@GPIZIZKZI^I^I^Kd@Kd@Id@CPEXEXG`@EZGh@It@E`@C`@C^Eb@A`@C`@Cf@Ad@Aj@Ah@?f@?n@?h@@f@@h@@f@@h@Bl@Bh@Bf@Dh@Dd@Df@Ff@Dd@Fd@Hj@?b@Lv@xAnJj@vDRtATvAFd@Hp@Hp@Dj@Fl@Fp@Fp@HrADp@Dp@j@`J@Zb@~G^rG", - "warszawa włochy|warszawa ursus": "iss}Hajt~BBh@K\\Nl@BPXlATdATdAVbAJf@DN^bBLd@R|@R|@@BNl@`@dBT|@Tx@?BXdAV`A\\nAr@nCb@zARz@\\nAPt@Rz@d@pBl@pCtAbGp@xC`@dB\\bBZrATlA`@pBj@rCj@nCLl@ThANr@R|@n@pCv@hDH`@Pr@l@lCDPrAbGZpATfA`@fBr@xCb@nBVhAVhAb@jB\\zAn@tCXlAH^Nl@VhAXhAVbAlA`FHZNn@Nl@Nn@VlA", - "warszawa ursus|warszawa ursus niedźwiadek": "ouq}Hwkn~BLd@|@`Ed@pBT`A^fB@BJb@Lh@Ll@XnAXnAPx@Px@Pz@TdATfAVjAVhANv@Pt@Lh@dAxEtA`GrA`GrA`G@Fx@jDVlADL^`Bn@pCd@rBl@lCpAxF@Hd@rB", - "warszawa ursus niedźwiadek|piastów": "kqp}Hi|j~Bl@lCrA`GPt@bAjEzFdWtAbGrA~Ff@zBj@dC|DfQXlAFV\\|Af@vBh@bCpAtFBJt@dD\\|Ap@tC`@jBlAjFFRrA`GLl@dArEd@pBJ`@b@nBx@nDXpADPJb@H\\R~@??", - "piastów|pruszków": "syn}H}qe~Bb@jBf@|Bj@`CLl@FTNr@DNf@zBDPnApFVhA?@z@vDtAbGFVjAhF\\xAv@fDj@hCf@xBrAbGjAdFH\\t@bD^~A^`Br@`DH^x@lDFVH\\Pt@`AlEtAbGl@lCxNfo@XjAVlAt@~CFXtAfGBJz@tDd@tBhA`FNj@dAvEVhAf@|AbBlHZvAPr@r@pCVbAPr@Rv@Px@`@`BLj@b@hBNn@Jh@Rx@~@`EVfA@Dj@hCJd@bDnN", - "pruszków|parzniew": "qxk}Hsk|}BBJdC|Kl@lCj@pCj@lCVhAVlAhA`FhGfXnFzUlAjFhA`F|@|DpAtFNr@f@tBVlAhC~KxAtGHp@~Jpc@BNl@jCtA`GFZjAdF", - "parzniew|brwinów": "kvi}Hi`v}BlAjFtClM~@`E~@~D~@`ERz@j@hC\\zA|@zD~@~Df@vBVfA~@bEDPt@bDt@dD`@hBhChLPr@jGhXp@tChA`F~@`E~@`E~@~D~@bE\\xAlHv[fTn_A", - "brwinów|milanówek": "_ag}Hy|m}Br@|Cb@jBpAxFLf@H^HZ\\zAXpAdBtH`DhNjBfIlEpRH\\|Ldi@~@`E~@`E|@~D`AdE\\zAr\\xxA~@~D~@`EZrAb@jB`AfE\\xA`Kvc@r@vC`BlHXlAXnAb@hBZrAXpAZrA", - "milanówek|grodzisk mazowiecki": "}rc}Haoc}BbDlNZrAZtAVdAZvAxKte@lAjFb@lBvCjMrKbe@~FfWFVzArGZvAf@xBfAxELh@lCjLp@rCBLfAtElBpIdArENj@pCzLdGrW\\xA\\zAh@~Bf@rBBbD", - "grodzisk mazowiecki|jaktorów": "}x`}Hmzz|B\\xALh@\\zAXhABJNl@HX`@`BtB|HFRhAfEl@`C~@~DFXhAbFDLbBtHb@lBrB`JpAtFp@vCLf@`@bBLf@Jb@Rt@z@hDTx@Rx@d@nBr@zCn@hCRv@xA|FNl@Nj@\\zADNd@rBdApEXjA~@`EdFtTXnArK`e@jE`RZrAXpAXnAzCvM\\xAfZfqAlAlErB`Jl@hC`@dBtQhw@", - "jaktorów|międzyborów": "kk||H{tm|BxAnGnApF@FdJt`@\\vA`@hBRx@xFnV~C`NrSd}@\\zAvCdMH^`DdNxEpSvMlk@~F~VZxAlCfLjJda@|@zDfCtKzAxGFT~A|Gx@pDzCrM`CbK\\xApCxLhBzHhBzHrAzFtAdG", - "międzyborów|żyrardów": "}tw|H_p_|B@FJ^FTpMzj@dDnNvBhJJb@d@rBzApGbAjENr@HXbAnE~@|DfAtEnCrLFXlHh[lBhIt@bDrEzR^|AJf@", - "żyrardów|sucha żyrardowska": "usu|H{ky{BjB`IXjAzBrJpCtLn@pCLl@x@jDdApEDPlBhIv@fDd@rBd@pBhBzHlAhFjWhhAvB`JZxA|FtVjDbOxGnYvKfe@XpAZpAXpAZpAz@vD\\zApFdVlKzd@XpAZpAXlAVnAfBvH\\vATbANn@Np@Rx@XnAXpApA|Fp@tCXtAxEvSRz@H\\|B~JfDdOv@hDdBvH`AhErMrk@r@xCZxA|AzGn@vC", - "sucha żyrardowska|jesionka": "w{o|Ha_h{BtA`GbAnENp@BNFVDRVbAxHb]fD~NxD|Px@pDx@jDtAjG|@zDbAlEhAdFzAtGlApFbCpK\\xArDfPHZFV", - "jesionka|radziwiłłów mazowiecki": "_cn|Hqqb{BNr@dAtEpAxF^`BdDxNhDfOdIf^f@vBRz@r@|C\\xAzEbTn@nCxBtJd@pBtClMZnAzAxGd@tBd@pBz@tDhDfOvBlJBLd@rBnArFXnAXjAR~@T~@j@jClBnIj@hCPr@d@xBZrARz@FTh@bC~AdHjAzEPt@", - "radziwiłłów mazowiecki|skierniewice rawka": "yhk|He~yzBFTlBfIZtAZpAXpALh@Nn@TdAZnAXnAjBlIZtAZpA`@hBlBnInIz^Lh@ZxAxEvSnCpLZvAlChLXrAZrAlBhIZrA@FXjAlAlFbAjENp@XnAXlApE`SNp@Nn@R|@DNZxAJb@hDdOrC`MjMvj@vM`l@@@Px@Nl@\\zAd@tBJd@~FfWlAjFn@pC~Hn]XlAtAdGrA~F", - "skierniewice rawka|skierniewice": "g{f|HoolzBDd@DTH\\tAdGPt@Px@Nn@Ln@Nt@Np@Lt@Lt@Lt@Lt@L|@Jp@Hr@Jv@Jx@@HFh@Fr@Ht@H~@Fp@Fv@Dp@B^TjDX~DT~CF~@F~@Dv@Fx@Dx@Bt@Dv@D~@Bz@Bv@@v@Bt@@v@@z@?r@@z@?|@Fh@?dAA~@AlEElOAfHAzEAv@ApHCjIIt^ApCIlZAzE?|A?r@?v@@t@?v@@v@@t@@t@@v@@v@Bt@@t@Bt@Bv@Bt@Dt@Bv@Dt@Dt@Dv@Fr@Fr@Fp@Fr@Fr@Hp@Fp@Jr@Hp@Jp@Hn@Jp@F^DNJp@Ln@Lp@Ll@Hf@dAjF|@jE~@|ErAxGh@fCtA`HfCjMhClMVpAbDjPdC`MJh@Jd@Jh@Jh@Jj@Hd@Hd@Hd@Hh@Fj@Hh@Fl@Hj@Fl@Ff@RbBFd@F^D^Fb@Jh@Hh@Hh@Jh@Jf@FXBp@TfAtA|GFZNr@lAhGl@vC`@tBJb@Hj@DRD\\Fd@H^BR", - "skierniewice|mokra": "oqd|Hkt}yBH^DXDVD\\DTDTHf@BJ\\dBNt@Jj@FVBPJh@vBnK\\bBHb@FZFVHb@F`@H`@Hf@Hh@Hf@Ff@Ff@Fd@Fj@Dj@Fj@Dl@Dj@Bl@Bj@Dl@@j@Bl@Bl@@j@@b@?T@X@b@?L?n@@l@?n@?l@?l@Aj@Al@?l@Cl@Al@Al@Cj@Cn@Cn@El@Cn@El@En@Ef@Ef@Eh@Eb@Ed@Gd@Gf@Gf@If@Gd@Id@Ib@Kf@Kf@Kf@Kd@Mb@Kd@Mb@Mb@s@jCo@bCOh@Of@Oh@M`@M^KVIVQd@Qb@Qb@qEnKUd@gCdGGLiBhEuCxG}R~d@qElKyIpSoDlImBdFsBzEsB~E_AvBsCvGSd@", - "mokra|sierakowice skierniewickie": "}bg|HustyBeC|FuB`F_Vvj@gInRmZfs@mFbM}@vBwX`p@}IxSST", - "sierakowice skierniewickie|bełchów": "evj|HwxmyBeB~DWn@}BlFWl@y@nBaCrFgBfEcCzFA@aB|DO\\sB|EeB|DO^IP]z@Yj@Yn@Yl@a@z@Yj@Yj@Sb@IN_@n@]n@[l@]l@c@r@[j@a@p@a@n@a@l@_@l@_@h@g@r@_@h@_@f@g@n@g@p@UXa@h@a@d@a@d@c@d@c@f@e@f@]^_@^UVWV_@^g@d@g@b@e@b@g@`@c@^WTMJUPUP_@Xc@\\e@\\i@^g@Ze@Ze@ZQJgIhFiIfFiIhFuFnDqAx@eF`DmAv@UNSJWPq@b@WNWPGDi@\\}A`AGDc@XsAx@_BdAaBbAYPYPKHOH", - "bełchów|bobrowniki": "auo|HeghyB}CnBc@X]Tm@^]RA?[RaAh@a@T_@TULi@Zk@\\_@T_@VKFyCjB_@Va@V_@Tc@Z[RGDQLWPWP_Ap@c@Xa@Vc@X_@Va@VQLqEtCoBnAEBe@Xi@^gAp@u@d@{BvAyExCUNo@`@i@\\OJc@XwD~B}AbAsD|BiAt@kAt@gIfFiIhFiIhFgIhFiHpE_@VqAdAoAv@sAz@s@b@qBpAoAv@sAz@oAx@iIhFeh@d\\aHlEEB", - "bobrowniki|łowicz główny": "quv|HqgcyBuEvCob@dXg]lTyA~@C@m@`@s@d@_@Va@Xa@Xa@XCB]Xa@ZWRKHa@\\a@\\a@\\k@f@WV_@\\YVEFc@`@[\\_@^a@`@]^_@b@_@b@_@b@]`@a@f@_@b@_@f@]b@Y`@Y^]d@[d@U\\W^g@v@g@t@iTf]cA~AiIrMk@|@eC|Dw@nA{B~CSZsD~F{CzEyPfXqAtBsAvB{@rAYb@g@z@i@x@e@x@{BtDu@lAMRQZMPGLYd@Yf@w@tAINoAxBg@|@Yf@CB]j@[f@[f@}BtD[f@SZKR_@n@y@rAUb@iAnB_BnCe@x@g@v@c@t@c@p@Yf@oU|^c@r@c@r@a@n@_@n@]l@]j@MRWb@[f@a@r@c@p@sBdDOT{DjG_@l@eA`B{Ad@", - "idzikowice|radzice pzs r31": "qcayHkl`{B_mAm_C}@eBsCuFs@yAkAaCcA_C}@wBaAmCw@uCq@oCq@cDe@iDQwAOuAIu@Gq@MgBGw@Eu@MkBEy@G_AO{Bq@_LkAiRe@mH", - "mikołajów|słotwiny": "{hrzHiwexBcRdXaa@tk@q@`Ag@r@i@x@e@v@g@x@]p@a@v@a@x@sArC{BvECFw@bBeCfFaIpPyA|Cc@|@}BzEyGlN}CrGu@|AO\\w@~A?N", - "słotwiny|żakowice południowe": "{wuzHon`xBO^aAvBmB|Dg@fAe@`AGNKTQ`@M\\M\\KZKZwArEo@vBQj@IZIZIXKb@I^I^I^G\\G`@G^If@E^E^In@Gj@Ed@?BEl@Ej@Cn@Ep@Ap@Cp@Ar@?p@?p@?r@@l@@d@@d@@b@Bd@FrAr@fO@NPvD^jHD|@Dz@TbDDf@Bl@Dv@Dt@B\\@^@`@@Z@h@?^D|@Bp@FfAR`EjCxj@D`AD`ADdA@b@Bb@@n@@l@?J@`@@t@?t@?v@?t@At@At@Ct@Cr@Cd@?NCb@Cd@El@Cd@KhAEj@Gf@Ip@Ip@Ip@Mx@c@`DSvAs@fFEZEZCXEf@CZE\\EVQpAm@lFKT", - "łódź widzew|łódź stoki": "ag}zHwsfvBSjCQ`BGh@Gf@SpAKf@Kd@WhAOf@Ob@Ob@O`@_@~@a@z@{@jBuBlEINwChGcAtB{HjPgClFuAtCuAvCm@nA{GnNm@lAq@vAKR}@jBa@z@m@rA_AvBa@dAWp@y@hCW~@Ol@gBfH{AhGkAzE", - "łódź stoki|łódź marysin": "up_{HazavBaAzDaA`E_@xAi@vBY~@W|@a@hAQf@Wr@]z@[r@[p@a@x@Q\\c@v@W`@S^QVa@l@o@~@e@j@m@r@i@l@i@f@k@f@g@b@i@b@a@Xk@^c@Ve@Xk@Xm@Vk@Tw@XuA^_@Ha@Fa@Hu@Js@Fq@Do@@]@_A?u@CWA]A}FSu@Ey@Ak@?m@?q@Bs@Fu@Fe@Fg@Hg@Jc@Jc@JWH_@LSFc@PIBSJWJKDQJOFOHQJQJMFMHa@Ve@Z}LzIeAv@]Vu@j@[XgAbAs@t@a@d@u@~@gA|A_AzA[l@]n@Yh@Wl@]t@MZO\\O`@Qb@[|@Od@Qf@W|@Y`A_@|AyBbJ{@rDuC~LmAhF", - "łódź marysin|łódź warszawska": "}ed{Hk{|uBqJja@kA|EMj@Mh@_@tAUv@q@tB]~@Ob@]x@a@~@y@dB]n@w@vAQXa@t@i@~@k@~@_@l@c@l@W\\Y\\c@h@c@d@mEvEYX", - "łódź warszawska|łódź arturówek": "mqe{HqczuBiCnCgAjAi@h@c@f@g@l@e@j@]b@]d@Y`@_@l@Yd@[f@a@v@_@t@i@fAUj@a@`AUl@Up@Wr@[dASr@ELOj@U|@c@nBe@pByBlKa@fBYlAYjA[hA[fAY|@Wr@Up@q@~A[v@]t@Ub@Wd@Wd@Wb@]l@_@j@SXc@n@g@p@g@j@UXk@j@{@z@", - "łódź arturówek|łódź radogoszcz wschód": "sig{Hi~vuBcBxAs@l@kB~A_Av@sLbK}E`EuE~Du@p@[X]^e@d@]^_@d@[`@[`@k@x@MRQX_@p@[f@A@Wf@k@jAKTQ\\eA`Cm@rAaBzDcA~BCF", - "łódź radogoszcz wschód|zgierz": "ugi{HaxtuBaCtFe@dA}@tBc@~@kE`KmBnEc@dAcA~By@jBy@jBO^m@vAc@bAwAdDi@jAo@xAq@~Ae@dAUh@o@vAWn@qFdMsEpKcGfNCFq@~ACDaAzBoBrE_AxBi@hA[p@[l@]j@Yd@]f@]b@]`@YZa@`@_@Z_@Z[T]V_@RYNWN[L]L_@L[JWFk@L_@Dg@F]BU@c@@}@?k@C[CcAOWE[IWKUIYKYOSKeAq@KG{@k@w@s@AO", - "zgierz|zgierz rudunki": "g{l{HsepuBe@e@mCaCyCmCkSaRuAkAyBmB{BqBKI_EsDGE}@{@y@w@YWs@o@}@w@o@m@YWMKe@c@a@[a@]a@]a@[yAqAcC{BgGwFuI_ISQkCgCc@c@a@g@OQOS]g@_@k@[i@", - "zgierz rudunki|smardzew": "g`p{HiesuBOUMUS_@CIMWSa@O_@Qa@Qa@Oa@Oa@K]K]K]K[Me@Ka@Ke@Me@Ia@I_@Ia@G_@O}@G_@Ga@MaAK}@KcAIaAKcAGeAIcAIaAOeBEs@C[Eo@E]Ew@Eu@Gw@GoAEi@Ac@GqAEoAG{AE{AE{ACyAC}BC{BAwAAe@A{BMsNE_GCqB?OAaAAaAAw@Cu@C}@E}@Gy@Gy@Iy@Iw@Gm@Ko@UuAQaAQ{@Om@Uy@Uy@Uu@Yu@o@iBg@uAg@uAi@wASi@Sk@MYUk@Sa@Qa@k@eAm@cAe@q@QUSWk@o@k@k@u@q@w@k@k@]WMUMk@WWIWIi@Qi@Ko@KWEWCi@Ek@AY?c@?i@BWBU@[DMBM@YFYF[H]J", - "smardzew|glinnik wieś": "afr{HseyuB_F|Aa@H_@H_@Ha@Dg@DQ?UBY@YAO?c@AQAQA}@Ko@Ko@MmAa@a@QOIQI[Q]Sc@Ya@[a@]a@_@i@k@g@m@q@}@m@aA[i@OWMW]u@]y@Uk@Qg@Sk@Qm@Oi@Ok@Mm@Oo@O{@G[G[]wBUuAIk@Kk@QgASkAMq@Oo@Oo@I]EQWaAY_AaBoFcBsF[eAQk@Mg@Me@Mk@YoAMu@G[G]SuAOoAS{A]qC", - "glinnik wieś|glinnik": "ujt{Hqf|uB]uCUiBUiBk@wEUgBMq@Kq@Oy@Qw@Oq@IW]kAc@uAEMo@aB}A_Eu@oBc@uAIYQq@UaAIa@Ki@Ie@Km@U_BUeBSgBi@mE", - "glinnik|swędów": "oau{H}r~uBg@iEm@iF{AgMwAuLCMoBwPeBaOKu@s@aGUqBWmBQeAQeAWqA[qAm@wBI[g@uAi@sASe@EIYm@g@y@g@w@g@q@i@q@??]a@_@_@o@i@i@a@k@a@cAi@]O_@Qi@Qm@OWGYGs@KoAK_FQaBGgAM}@O{Ac@aAc@y@c@y@g@u@m@kAgA}BgC}AaBqF_GuB{Bi@m@g@q@a@m@_@m@c@w@Ym@Ym@Yq@Wo@Ws@Us@Su@Sw@Sw@Q{@Oy@My@M{@K}@K{@G}@I}@E}@Eu@Cw@CgAAeA?cA@aA@gABeAHwB@WD_BHwBD{@By@DsABsA@_A@aA?}@A_AC_AA_@Aa@E_AG}@C_@C_@I}@K}@K}@M{@Mw@Q{@Ow@Sy@Sw@IYKYI[KYUm@Sk@Si@Ug@_@w@_@u@_@s@a@o@", - "swędów|stryków": "a}x{HqqgvBc@m@o@u@o@o@oBaBiA_AUUkAeA][[][]Ya@a@g@_@k@_@o@_@u@Yk@Yq@Yq@Wq@Us@Su@Uy@S{@Qu@Ou@M}@G_@G_@K{@E]C]Ec@Ea@IcACe@Cc@EeACmA?e@Ai@?oA@qABsABqA`@_P`Ag`@?KnBow@@Mt@wZv@e[DiBDgBFeCF_C@eC?iA?qAAqACoACoAGwACa@Ac@GcAMiBKmBMkBOkBaAoO_@oFMiB_AeN", - "stryków|bratoszewice": "ixy{HyyqvBuBw[_Cy]QkCCk@OwBKmAGq@Gm@Gm@E]E]G]E_@Oy@O{@Qy@Sw@Qu@Uw@Uq@Ws@Wq@Yq@Yo@[k@]o@_@m@}CqEwBaDwGsJkBmCkBmCuE}GwB_Ds@cAs@aAaBcCkAcBkAcBe@m@c@k@MMW[e@g@y@y@uAkAm@e@k@a@m@_@o@]o@[o@[}CoAKEqUgJa@Q_@SiAm@eAw@c@_@a@_@GIw@{@aAoAy@sAWi@[i@[q@Ys@Wq@Uq@Uu@Uy@Sw@Qw@Qy@O{@O{@M{@I{@K{@QyBK{BKuCOqFKyBIoAIoAKmAMmAMkAOmAOkAQgAQiACMQ}@SeAWeA]}A_@{Ak@}BkNsk@uEkR_CuJWeASy@Sy@", - "bratoszewice|głowno": "}h_|Hsr}vBSy@Oq@Ok@a@cBaA_EaA}Da@_BOo@Oo@YgAYeA[eAMa@Ma@[aA_@aA_@_Aa@_Aa@}@OYISIOQ[Q[e@w@c@u@g@u@o@aA[a@W]uF}HwCcEaGgI_GiIsMwQEGi@u@g@y@Y_@Yc@c@u@e@y@c@y@c@{@a@}@a@aA_@_A]cA]eA]eAYcAYeAMg@Mi@Kg@Mi@ScAQaAIc@Ii@QiAa@{C[_DKqAIsASqDm@sLyAgZy@uO[mG]mGOoCMyBU_CM_AM}@e@iCg@{B_@uAEKk@}Au@iBs@{AoAuBsAmB]e@UUIIe@c@g@_@c@Yg@We@SWI_@K_@I_AS", - "głowno|głowno północne": "qjc|HkbgwBiBc@}FsAqKeC{Bg@iSsEmBe@oBe@aB_@eA[cAa@y@c@s@e@gA{@eAcAcAmAeA_Bo@kAcAoB[q@kCwF_FiKoBiEw@aB[q@MWMWaCeF}B}Ek@mAi@oAe@gAe@kAo@_Bi@{Ak@}Ae@yAGOQk@Wy@W}@Wy@i@oB", - "głowno północne|kamień łowicki": "wbg|HmyjwB]uAMg@Su@]}A]}A]}A[_BY}AY}Aq@cEcByJG_@}AgJ{A_Jy@aF{B{M{A_J{A_JwD}TaA_G_@}Ba@{B_@_Ca@}BIe@WwAO_AS_AScAUaAKa@I_@K_@K_@YcA[aAc@sAo@cBa@cAe@eAa@{@a@w@m@gAi@_AcCaEwBoD", - "kamień łowicki|domaniewice centrum": "mdi|HmeqwByFsJ_DkFsIwN}]ul@yEcIaC{D}B{D{FuJuA_Cs@oAs@sAm@kAi@kAm@qAm@qAu@iBu@kB}AwDM]y]y{@uAeDa@cAo@_BgDkIoC{G_A}Bg@qA", - "domaniewice centrum|domaniewice": "{tm|HuxxwBOe@Oa@]kASq@Qw@Qw@Qy@SsASuAQ_BM}AM{BIyBEqCGsCI_CE{@G_AG_AGq@AIKy@Kw@My@E[I]Mu@Qu@c@oBm@cCaB}GcB_HsCkLoAcFcAeE_AwD}BkJiNik@", - "domaniewice|stare grudze": "ygo|Hih~wBkDoNyEqRgRiv@qAoFwDkOy@eDmB}HoBaI}E_S{Jaa@u@wCEUYiAWeA[yAOw@Mu@OcAMcAKeAIeAGgAGaACaAA}@AgA?eA?s@ByC?o@BaC?_A?}@?m@?k@Am@Ai@Cq@Ak@Eo@Cm@I_AG}@K}@Ky@M_AQ_AUmAUiAs@{CAI{C}Me@qBcEyQcEwQeD{N_@{Ay@wDe@sBq@uCWkAWiAQu@Qs@a@iBcAsEkCgLiCgLcAsEcAqEwCoMaCiKI[a@_Be@{A]iA_@eAaAeCgAaCu@uAqA{BiBiCyBgCiAgAeB{AaIeH", - "stare grudze|łowicz przedmieście": "{tt|Hs~mxBiAaA}SaRmHsGiOwMgIiHqUoSgJeI}CoCkE{Dy@m@oAaAi@_@i@]sA}@aBaAwAu@aBw@mBw@_Bm@sBo@uBo@uDgAkDeAaBe@SGsDgAoCy@mJqCgHuBqEsAeC{@aBo@oAm@y@a@yAu@y@e@IGaBcAm@c@i@_@iA{@gA{@sDaDoBaBgGkF{DeDsBgBo@k@{CoCg@i@c@g@_@g@[e@U_@GGYi@OYEIUc@k@qAe@oAYy@Uu@c@gB_@gBIc@SgAw@_GiF_`@iCoRyA}KCQoAiJK{@Ge@G{@", - "łowicz przedmieście|łowicz główny": "{o}|HujwxBOkAAIKw@Ig@Ia@Kc@S}@Mc@Ma@]aAa@kAMa@Ma@Kc@Ia@UgAmAkGoAiGSaAW_AQk@GUIUa@eASc@i@cA_@o@a@k@c@i@c@e@i@c@SQOKUQSO[QSKUMUKUIMGYISGSGQEqB]gCc@SCSCSAUAY@S@S@WDSDUHQFWJOHWNUPSNQPSTSTSVOTSZQX[Hw@Za@t@_@A}@vAH`@_@n@]h@CBoA~@}@xA", - "gniewięcin apo|klimontów": "mfnsHi{iyBdBj@dBt@vCbBnCpBxArAtAzANRdChDbIfNlBnCzAfBnApAlAdAzQrNxR~NjAz@pAx@|BtAbAh@z@b@", - "klimontów|klimontów apo": "ucksH}agyBb@ThBx@`Cz@vBp@bDz@nJtB~D~@RRjGtA`KxB|VtFtFnA~AZtCn@", - "tunel|dziadówki": "yayrHqk_yBnCrA`@Pf@R`@LRFJDf@Jf@J`@Dd@F^@d@@d@?V?VO^Ad@CzBSx@InK}@`@EJAf@Gp@If@If@Id@IdASp@Ov@OdNqCdFcAhNmCdEy@j@Mb@Mb@M`@Ob@Q`@SZQDC\\S^W^Y^[^]^_@Z_@\\c@Ze@Ze@^k@\\o@`@w@pCwF`MwVj@kA~E{J~@kBz@aB|@yAt@gA`AmA`AeA`BwAp@g@t@c@r@a@lAi@nAc@vBg@xB_@tCa@dBWzNyBnFw@xEq@", - "dziadówki|miechów": "alrrH}|byBbAOdCc@jBc@fA_@`Aa@xDuBxDyB`Am@jC}AtAw@x@_@`A_@`AW|AWnBIdBDbAJbAPn@Rv@V~@`@pFrCdI|DrAh@vA\\xAPrAFx@Av@CfBWrA]jAe@~A}@zBaBbEaDtDwC\\Wp@[tBaBvBcB~BaBrBiAtBu@pBc@LExBUbCCbCLxR~BjR|Bf@FjBTfD`@dBJxBB~@Cb@AtBGdBG`GQjFOlABzAL|AZ~Af@fDrAV?^NjAd@bBp@lBx@rC|@tBx@", - "miechów|kamieńczyce": "{zirHsmcyBzAl@dLtEnDdBvInDVL`Bn@|Al@pBx@|B`A|A|@nA|@`A~@z@`AdAzA|@~Az@hB~@~BzB`Gl@rAp@vArAvBnA|A`BxA`Ar@bBz@n@V`B`@b@FrANzA@tAGjBYvBs@pB{@~@a@vDeBb@QfDkArIyDbJcEbH_D`HgDv@c@|AeATQlFaE", - "kamieńczyce|szczepanowice": "gkdrHgobyBtA_A|CgBxEeCzD_CnGkD|AcA`Au@bC{BzDgDfBwApA}@|C{AlD_AbDi@jFy@nEiAfDgB`DkCxCcDjMqNrFeGz@}@dByAxAcAvEqCtCeB~CiBnGuDjBoAf@]`Au@z@w@JIdCiC", - "szczepanowice|smroków": "ei_rHsefyBjMmPxC}DrCuD`AkAdAiAdAaA|@w@xB{AzGeEPIzAu@d@YbEeC`DoBpAs@pAm@fFgBhAa@pHeCtHiClGyBf@QxFoBvAk@vAq@v@g@l@c@zAoA~AgB`BqBdQyTvFiH", - "smroków|słomniki": "omzqHgdjyBbAkA~@iAhAiAFGr@m@z@o@jAy@|BuAjEaCdB_A`B_AtL{GrBkA|GwDnC{AhAo@dAo@nPgJvGsDlC}Ad@W`BcAv@k@t@q@`@c@nA_BjAkBhBgDn@iAr@gAh@s@d@i@l@o@l@e@j@c@j@_@xAs@f@Sd@Ob@OnBk@JEjBi@ZW^MZIdBg@`A[hA[pHwBj@Q|EwAdA[TGr@O", - "słomniki|słomniki miasto": "}cuqH{wmyBnCo@h@Mh@Ob@Oh@QjAa@zAg@LE`DmAbBaAt@o@n@i@l@o@xAiBxAkB|AeBr@i@zEmFhDwDfCqCtJuKhAsAlAkBVe@f@aA`AuBxAeDp@_BzBgF", - "słomniki miasto|niedźwiedź": "oprqHulpyBl@uArAwCv@uAn@cAxAiB~@{@l@g@x@i@z@e@`Aa@`AYt@Ov@KnAK|@?bABrAJ^DzANfHt@zFj@tGn@tGn@lBRpFh@bAFz@Bh@AXKlAGdAKxAWz@Sz@[|@]dAg@vD_CvEyCdEmCzAaAzA}@|@c@z@YfAWfASjAGjAAnAFtAPdATvAd@nC`AdBl@lAb@hEzA", - "niedźwiedź|goszcza": "sgmqHskqyBzDtAfDdAxBp@x@XbExAlFjBfDpApDxAtChA`A^hKlDjGbCjAd@|@b@z@f@t@j@lAdA^`@d@h@`AtA~@`BdA`Cr@pBl@xBd@`CTvARzANxAF~@Lt@@ZJhCHxCFzCJnDJbCJnAV|B^bCf@zB`@|A`@pAf@nAz@bBx@tApAhBj@l@p@n@bAv@`Al@fBz@h@NpBbAhAHfABhBGhBWbCw@", - "goszcza|łuczyce": "g|hqHu`myBh@Sl@[~A_ArAw@t@c@b@WPMJGbDqBnAw@lAi@rEmB|@Yx@WvA[~Cq@~A[x@U`A[`Ac@bAk@r@g@|@q@z@y@|ByBlAiAtAuAn@m@dA}@z@m@r@e@z@c@|@_@t@YzKyCtDaApD}@jBi@`AYt@YrAk@hAo@h@]pAy@dBmAdCeBjCmBhAw@XSf@]dBmA", - "łuczyce|baranówka": "irdqHaroyB`Au@`Au@hAkAn@q@l@q@d@m@f@s@bA{Aj@aAf@_AjAeCrCkGHQjEqJRu@dAaC`A{Bt@qBb@wAd@iB\\iBb@}CVcCNkBP}@b@gFZaETeCVmCVkBZcBDQZyAd@cBd@sAj@wAt@{Az@uAd@q@t@_Aj@k@dA}@v@m@fAk@p@YbA[~@U~@On@EnACjA@rBH~BJxBJjBHxAFZ@l@@nERvCJ", - "baranówka|zastów": "ebaqHozsyBzBJfEPhEPxAHxAL`AJtARz@Lz@LnC`@nBXtBXdANr@Nz@Tj@Rf@Pn@Zp@^|@p@|@v@z@|@x@dAz@tAx@|Az@jBlAxCP`@t@dBdAfCbA`CrB|EtBbFRd@JTr@bBr@bBvBbFzClH|ArD|ArDrL`YjBpEJT^z@xCfHXr@`FzLnCtGnClGpAzC`CpFjAlC", - "czarnca|knapówka": "{neuHycuxBLjLDjB@`AJvDF~AH~BLxBPrB`@xCd@lCp@rCv@fC|ArDdBdDx@jAz@dApApAtAhA|FtEvBzB|B~ChA~BjAbCv@jCr@lCfDjMbAzCt@`BpA~BhBzB|BzBtCzBlG|EhMxJdMvJjGzEVRjNtKXTb@`@p@j@t@p@Tf@`DdCdAv@", - "dorota|juliusz": "gz{qHstttB`C`Br@d@Oz@rBvAxA`A~DrCdBnAxDlCtBtA\\Tb@\\r@h@^\\`@^^^\\`@\\`@TZZd@V`@T^Xj@Vf@Xp@Xr@Zv@Tr@Tr@Rr@Rx@Pv@Px@Lr@Nx@Jv@L`AHx@JbAFx@FdAx@rPFtAF`BBv@Bt@B|@BjB@zAVrWBbAdApfA@p@@b@F|GDlC@dBBbB@jA@pA@xA@~ADfEBlB@|A?pA?tA?lAAvAA`AAv@A~@OjLAXB`B?pA?dB@tA@vABpADxAFtAFrATtDn@`KDh@jApR", - "juliusz|sosnowiec dańdówka": "gyyqHg}itBRxC@Tx@xMJ~AhAhQBd@ZbHJ|ALtAH`ALnABVLdAPrANfARnAPdAThAThAXjA\\xA\\tA~Uf`Al@~BT`ALl@Px@Lx@N~@Hj@Ff@D^HdALnAF`AHfBDbB@jA?|A?~@ChAC`AGtAGhAMhBM|ASdCu@`LKtBCzAC|A?dBLpHGn@", - "charsznica|gajówka": "q~qrHwnsxBJbAJfANjATfBjBlNpA|JJv@Lx@Lz@N~@PbARdAPz@T`ATz@V|@Tt@X|@Zx@Xt@Zv@f@jA~ArDZt@Xp@Vt@Tn@Tt@Rp@Rx@Np@P~@Lt@N|@J~@Hz@Hx@F|@F|@@X@f@Bz@@`A@b@?vAArAClADt@c@zX]xTCnAEpAEvAGvAGrAIrAKpAMzAKlAOrA{@lHO`BQ`BO~AMdBKvAKtAEl@IrAGtA[xGeC|i@I~AIfBKbBK|AO`BMzA}@lJI`Ai@`G", - "gajówka|gajówka apo": "euqrHspixBeA~KMpAyCx[MrASfBQzAUdBSxAU`BU~AWxA_AxFoDjTkC`P}AnJs@dD", - "gajówka apo|jeżówka": "crrrHumexB_CrNU|AQbAOfAQlAQrASvAOpAaGrh@OrAABOpAQrASpAQjASrASlAUpAI^kE~UIhAOx@Kv@Kx@K|@Ir@Ix@Ex@G`ACp@Cx@Cx@?x@?v@?h@?d@@j@Bz@D|@Dx@Dz@Hx@H|@Jx@Hl@N~@Nz@Nr@Px@V`AV|@Xx@Vr@Vp@Vj@Xl@\\n@`@p@Vd@f@fAtAvBb@r@Zh@Zl@Xj@Zp@Vn@Vp@Rp@Tr@Rt@Rv@Nr@Px@Lx@Lz@Jv@J|@Hz@F|@Fx@B~@Dx@@~@BdA?V?h@JpJ@lABjABdAFjA", - "jeżówka|wolbrom": "gsrrHkl}wBDhADp@Dv@Lb@HfAJdAFj@Ff@J~@Jv@L~@RnAPfAThATjAXfAVfAXbAZhA`J~[X~@ZdAX|@^bA\\~@^|@`@~@Zr@b@z@b@x@d@z@`Vxb@bKvQTb@Zh@Xd@\\f@^j@^d@b@f@`@`@d@d@\\Xd@^^V`@Vb@Th@Vf@Rd@Nl@P`@Hf@Hh@Hd@Bd@Bf@@d@?l@Cf@Cf@Id@Gh@K`@Id@M|HoBv@Sh@MTDREd@In@Ih@Ej@Eb@A`@Ap@?f@@J@l@Bh@DZDPBn@Jn@Lh@Lf@NVJNDd@RVJJFh@Xb@VTNVPTR`@\\^^`@`@^`@\\d@^f@\\f@Zh@Xh@JTNXXn@Xp@Vp@Tp@Rp@Rt@Pp@Pv@FTH`@Lx@Nz@J|@Jx@Hx@Dp@Fr@DjABfA@`A?~@C~@At@E~@GbAIjAKnAMjBa@~EKjAK~@Kz@Kv@Ot@Kn@Ot@Qr@On@cAzDOj@YbAYdA_A|CgCvIqKl^IV{AjFU|@Qp@St@Ot@UdAS|@Mv@Mt@CHKt@Kp@OlA", - "wolbrom|zarzecze": "ivnrHc}rwBOjAGj@MzAIdAIdAGbAEhABf@CdAC~@CbAA~@Ap@?\\?p@@vA@|ABfAB`AFnA?PFjABRDv@F~@Fl@Dj@LlAPzAJz@L~@XdBTrANx@R~@`Qv|@pFpYf@fCdAnFVhA@F^`Bd@~Af@bBVr@\\z@Zv@`@`An@zAvB|E\\x@Zx@Xt@Xx@Vv@Tz@T|@Rv@R~@Pz@N~@`@hCpAdI\\zB|AtJjOhaAl@zDvA|IhDjT~AhKtAvIRhAPfARdAVjAVjAVbAXdAXbAVv@DNZ|@\\`A\\z@Vp@", - "zarzecze|zarzecze apo": "kokrHchfwBTd@BFf@dAb@z@\\n@RJd@x@h@x@b@l@h@r@b@h@`@f@f@h@d@d@d@b@h@f@j@d@p@f@p@d@lDfCVN^Xb@Xb@X`@V`@TTVj@X", - "zarzecze apo|chrząstowice olkuskie": "mljrHydewBb@RhDvAVJlMnFNHhVbKfN|FfN|FDB`DrAlFzB", - "chrząstowice olkuskie|jaroszowiec olkuski": "ysgrHsvcwB`@Pd@T\\Rj@\\`@Xd@Z^Z\\ZHHb@b@d@f@^d@\\b@h@t@Zf@Zf@\\l@R`@HP`@x@Zv@Vp@JVFTXx@Vz@Tz@Rx@R|@P|@PdALz@Lz@LfAJbAF`AHbAD`ABr@@NBdABbA?fA?n@?x@Ax@Cr@Ad@C|@E|@GbAKlAeAbNEn@q@|IKrACRIv@MnAMdAOhAQlAUnAQbAUnAUlAcNxu@WrAQjAEPOdAQlACl@Gj@m@tEQpAi@hEe@jDM`AaLh|@S`BQrAKbAEj@CNG|@GjAEx@C~@CdAAdA?bA?b@?\\BjABz@B`AFbAF|@FbAJ~@J|@Fh@Hd@Jt@Lt@Lr@n@pDH`A", - "bukowno|bukowno przymiarki": "yfxqHamvuBOlCYnFKdBM~AIx@K`AObAQbAQ`AoA|GaBxIeApGwUhoAc]piBOr@O|@Mt@Kr@Mx@Ir@Iv@Iv@Et@Ev@En@Cj@Ax@C~@?jA", - "bukowno przymiarki|sławków": "}kzqHg_nuBIbBAxHGhm@?nDAjA?jAAjACjACbAGlAGdAIlAKfAKbAMfAMdAQbAQbASbAUbAS~@Y`AY`AWz@_Ln\\wD`Lw@`CeDrJWr@Wp@[r@Wj@]n@[j@[h@]f@]d@_@d@c@d@_@^c@`@a@Z_@Xg@Zc@Vc@Ta@Pa@Pm@Pe@Li@Jc@Fe@Fe@Da@@O@UJm@?i@Cm@Ce@EqIs@e@Eg@Ce@C_@?k@?i@Be@D_@Dg@Hc@Hc@Jg@Pc@P_@Pc@Tg@X]Tc@Z_@Z_@Za@\\m@l@kBfBYZ]^]`@_@b@]f@[b@qE`HM?", - "sosnowiec kazimierz|sosnowiec porąbka": "se}qHwjktBTVh@f@|@t@`@Z\\T\\TZPl@Xf@RvAh@jC`A|HvCb@PRHLFb@Rd@V^Tf@\\^Z`@\\`@\\^b@Z^b@h@Xb@^j@rBjDbEdHjD`GdAfB~DbHLPn@hAn@bAZh@\\f@Xb@@@\\b@^b@^`@NNn@j@^X`@X`@Xb@Tb@Rh@VpJfE~@`@z@b@dAl@d@Z^ZVRXVRR", - "sosnowiec porąbka|sosnowiec dańdówka": "k|yqHyjhtBRRNPNPRVZ`@NRPVT`@Xd@Zj@Xp@Vj@Tn@Tn@Tt@\\rAn@bCBJp@jCLf@|WxeAZnAl@~BT~@Ll@Nx@Lv@N~@Hj@Fd@D^JdAJnAF`AHdBDbB@jA?zA?|@CjAC~@GtAGhAMfBO|AUfCe@|GOfCIpBC|AC|A@`B?BB~BH`F", - "sosnowiec maczki|sosnowiec kazimierz": "ioxqHo}qtBe@dAMZUl@CJ_@jA]rA[`BU~AQ~AMbBGbBCfBCfBK~MC`ECpAElAIrAMtAEVKv@SlAUjA[dA]fA_@`Ac@~@e@x@w@hA}@jAcAtAsAbB}TpXeBvB[`@w@`AkA~Ame@ds@_HdKi@t@m@~@oAbBY^UZGFm@x@{@hAUZUVYXWV[VYV[TUP_@V]Rw@`@u@\\a@Pa@Lc@Je@Ja@Dc@Bc@@c@@e@Ai@Ac@A[AUC]Ek@Ie@KA?e@Mg@Oa@Og@Sc@Si@YUO]L", - "sosnowiec kazimierz|dąbrowa górnicza strzemieszyce": "se}qHwjktB]]W[[a@S[_@i@]k@{@sA_@o@gBuCKMwBoDQWoAsBgBsCYg@_MaS{CaFOSyAyBgAuAkAoAs@q@iB{Au@i@y@i@iAm@sAo@CAqAg@cA[uD_AiMiCmFiAaIgB_FaAiBa@oAYy@QgAUkA]m@Sk@Wm@[m@_@eBqAgAgAy@aA}@qAu@mAg@eAa@aAq@kB]gAYcAGWMk@UeAMq@W_BOwAMsAIoAE}@EwAEaBA{A?yA@YB_AFmBL_BJmAToBVeBRcAJc@F[H[H]`@yALe@V_APs@Tw@No@Pm@FWDUH_@h@qC^qB`@qBP}@VsA~@yEVwAf@iCv@aERgATgATmAZaBbAiFlB}JbCiM~AkItAeHF_@zEuVdBcJJg@", - "dąbrowa górnicza strzemieszyce|dąbrowa górnicza wschodnia": "gk`rH{uutBbAiF`@uBh@wCb@wBf@mCTkATmAPeAHk@Jk@Jw@Jw@Jy@Hy@JcAHcAHeAHgAD_AD_ABs@Bg@@i@BaA@aAB_C@c@?W?W?i@Aa@?U?W?S@W@iA?G@i@?_A@eB", - "dąbrowa górnicza wschodnia|sławków": "w}_rHqhxtB@iE?_A@oA?q@?u@@u@@y@@}@ZqX\\aY@sABqAF_GDiEBqABoAL}EBy@F}CD_DFcFBwAf@yc@^o[B_ABuADgADkA\\cInAsYd@oKjAeX`@_Jv@}Q~As^^kIDcAD_AB_ABy@@{@?}@A_A?{@C{@C_AE}@Ew@]qFG_AGy@E}@E{@EeACu@A{@?}@?_A@y@@_AB}@DaAFy@Ds@Fm@H{@DKJc@Jo@Jo@Jq@Lm@Ls@Ni@Pu@Ru@Ts@Z_ATq@Zy@Ri@d@oAXu@l@aBb@iAZy@Vq@Vk@Rc@Vi@Xg@`@s@^k@\\i@l@_Ah@y@l@aAxBuD^m@h@{@b@o@HOH_@rAsBt@iA", - "sławków|bukowno": "}d~qHudguBL?pEaHZc@\\g@^c@\\a@\\_@X[jBgBl@m@`@]^[^[b@[\\Uf@Yb@U^Qb@Qf@Qb@Kb@If@I^Ed@Eh@Cj@?^?d@Bf@Bd@DpIr@d@Dl@Bh@Bl@?TKNA`@Ad@Ed@Gb@Gh@Kd@Ml@Q`@Q`@Qb@Ub@Wf@[^Y`@[b@a@^_@b@e@^e@\\e@\\g@Zi@Zk@\\o@Vk@Zs@Vq@Vs@dDsJv@aCvDaL~Ko\\V{@XaAXaAR_ATcARcAPcAPcALeALgAJcAJgAHmAFeAFmABcABkA@kA?kA@kA?oDFim@@yHHcB?kAB_A@y@Bk@Do@Dw@Du@Hw@Hw@Hs@Ly@Js@Lu@N}@Ns@b]qiBvUioAdAqG`ByInA}GPaAPcANcAJaAHy@L_BJeBXoFNmC", - "bukowno|olkusz": "yfxqHamvuB?ENuCF_ADqAD}A@aB@aBJeTBoEF{Q@wBBmP?M?eA@gC?sI?sAAkACmAEiAEgAGgAGgAIkAIeAMeAKcAOkAQmAQgACMQgAkAqG_@sBQcAS_AKe@IYU}@W}@Uw@Sq@Uo@[y@Wm@AU{AkDkBaE]y@Yu@[_AYw@W{@U}@U_AU_ASeAQ}@OcAQgAMaAKaAm@uFiA{Kwn@meGoAqLo@mGq@mGo@mGMkAGm@Eo@Go@Eo@Cm@Eq@Cm@Ao@Co@Ao@Aq@?o@?o@?o@?o@@q@@o@Bq@@m@Bo@Do@Bo@Fo@Dq@Dq@Fq@~Fet@f@gGh@_H`@sGn@cI@KH_A", - "olkusz|jaroszowiec olkuski": "ypzqH_ekvBd@}FNcB^{EXoD\\gER{BRoCn@{HlA_PLwAJuAHw@F{@H{@Hy@Hw@H{@Hy@Hw@Hy@d@oEHw@Hy@H_AH_AD_@PqBHeAHeADm@Dm@Dc@Ba@Bk@Ds@B_@Ba@Bs@?KBg@@OBo@@o@Bq@@s@@w@@u@@S?c@?i@@e@?[?]?Y?c@?]?]A_@?[A[?[AWAc@Ac@Ca@AYC_@C_@AWCWEc@Cc@Ec@Ga@Ea@E_@Ie@Ge@Ie@EYEUMo@Mo@G[COcAgFEOoAsGOs@Mq@Oq@Ia@Ka@Ke@Me@Me@Mc@Og@M_@Oc@K[Si@Qa@M[AEO_@Q]Wi@Q]Q]Q[Q]U]U_@W]U]Y]W]W[Y[WYYYYY[WiNcMqAmAo@k@o@k@_@[][_@Y_@Y_@Y]Y_DcC_DaC}CaCaOcLq@g@o@i@_Aq@}@s@oPiMw@m@u@k@_Ao@}@g@y@c@o@Yo@Ws@Wo@Sm@Qm@Mo@Mk@Kk@Io@Go@Ek@Em@Ai@?o@?q@@kAF??o@Dk@Hs@Ho@Lo@Nw@PaM|C}@T{@Tq@Ty@Xs@X_UlJeBr@s@ZaA`@m@Ts@Vi@NIGs@Pg@Jc@Hk@Jg@Fa@Dg@Dg@De@Bq@@u@?y@Am@Cw@Eq@Gs@Is@Iqw@kJgLqA{@Ms@Kq@Ms@Om@Qs@Sk@SaA_@g_@}No@Ws@Yk@Wq@]k@[_@SMGaf@}WIEg@[k@]c@]]Y_@]]]a@a@a@g@_@g@SYSYa@u@a@s@[q@aAuBe@aAuBuEUe@kAgCYo@Qc@Wm@Wq@wC{HeBqEqDqJUm@Uq@Ww@Uw@Sy@Qs@Qu@_@sBkAwGQ}@u@eEEUo@sC", - "jaroszowiec olkuski|zarzecze apo": "ubhrHacyvBIaAo@qDMs@Mu@Ku@Ie@Gi@K}@K_AGcAG}@GcACaAC{@CkA?]?c@?cA@eABeAB_ADy@FkAF}@BODk@JcAPsARaB`Li|@LaAd@kDh@iEPqAl@uEFk@Bm@PmANeADQPkAVsAbNyu@TmAToAPcAToAPmANiALeALoAHw@BSJsAp@}IDo@dAcNJmAFcAD}@B}@@e@Bs@@y@?y@?o@?gACcACeAAOCs@EaAIcAGaAKcAMgAM{@M{@QeAQ}@S}@Sy@U{@W{@Yy@GUKWWq@[w@a@y@IQSa@]m@[g@[g@i@u@]c@_@e@e@g@c@c@II][_@[e@[a@Yk@]]Se@Ua@QmF{BaDsAECgN}FgN}FiVcKOImMoFWKiDwAc@S", - "zarzecze apo|wolbrom": "mljrHydewBk@YUWa@Ua@Wc@Yc@Y_@YWOmDgCq@e@q@g@k@e@i@g@e@c@e@e@g@i@a@g@c@i@i@s@c@m@i@y@e@y@c@w@k@gAg@eACGUg@Wm@]}@_@cA[_A[cA[cAWeAYgAWgAUkAQaASkAQeAuAwIaBiKiDkTuA}I{PegAgBgKYeBqAeIa@iCO_AQ{@S_ASw@U}@U{@Ww@Yy@Yu@[y@]y@wB}Eo@{Aa@aA[w@]{@Ws@g@cBe@_B_@aBAGWiAeAoFg@gCqFqYaQw|@S_AOy@UsAYeBM_AK{@Q{AMmAEk@Gm@G_AEw@CSGkA?QGoACaACgAA}AAwA?q@?]@q@@_ABcAB_ABeACg@DiAFcAHeAHeAL{AFk@NkA", - "wolbrom|gajówka apo": "ivnrHc}rwBNmAJq@Ju@BILu@Lw@R}@TeANu@Ru@Pq@T}@zAkFHWpKm^fCwI~@}CXeAXcANk@bA{DNo@Ps@Nu@Jo@Nu@Jw@J{@J_AJkA`@_FLkBJoAHkAFcAD_A@u@B_A?_AAaACgAEkAGs@Eq@Iy@Ky@K}@O{@My@Ia@GUQw@Qq@Su@Sq@Uq@Wq@Yq@Yo@OYKUYi@[i@]g@_@g@]e@_@a@a@a@_@_@a@]USWQUOc@Wi@YKGWKe@SOEWKg@Oi@Mo@Mo@KQC[Ei@Em@CKAg@Aq@?a@@c@@k@Di@Do@He@HSDUEi@Lw@R}HnBe@La@Hi@Je@Fg@Hg@Bm@Be@?g@Ae@Ce@Ci@Ig@Ia@Im@Qe@Og@Si@Wc@Ua@W_@We@_@]Ye@e@a@a@c@g@_@e@_@k@]g@Ye@[i@Uc@cKwQaVyb@e@{@c@y@c@{@[s@a@_A_@}@]_A_@cAY}@[eAY_AaJ_\\[iAYcAWgAYgAUkAUiAQgASoAM_AKw@K_AGg@Gk@KeAIgAMc@Ew@Eq@EiAGkACeACkAAmAKqJ?i@?WCeAA_AEy@C_AGy@G}@I{@K}@Kw@M{@My@Qy@Os@Sw@Su@Us@Sq@Wq@Wo@[q@Yk@[m@[i@c@s@uAwBg@gAWe@a@q@]o@Ym@Wk@Wq@Ws@Yy@W}@WaAQy@Os@O{@O_AIm@Ky@I}@Iy@E{@Ey@E}@C{@Ak@?e@?i@?w@?y@By@By@Bq@FaADy@Hy@Hs@J}@Jy@Jw@Ny@HiAjE_VH_@TqARmARsAPkARqAPsANqA@CNsA`Gsh@NqARwAPsAPmANgAPcAT}A~BsN", - "gajówka apo|charsznica": "crrrHumexBj@iD@EzAiJjCcPnDiT~@{FVyAT_BVaBRwARcBP{APaBN{AD]rC{ZLqAlAuM`@kEJ_Az@mJL}ANaBHuAJ}AHeBJkBBq@`Cmh@ZwGHwAHgBBYHmAL_BJuAPqBP}APeBz@qHFo@Da@LiAJ{AJqAHsAHuADuADwADqABmA\\{Tb@{X@s@BmA@sA?wAAc@AaAC{@Ag@AYG}@G}@Iy@I{@K_AO}@Mu@Q_AOq@Sy@Sq@Uu@Uo@Wu@Yq@[u@_BsDg@kA[w@Yu@[y@Y}@Uu@W}@U{@UaAQ{@SeAQcAO_AM{@My@Kw@qA}JkBmNUgBOkAKgAKcA", - "charsznica|tunel": "q~qrHwnsxBGcAGcAE_AC_AEgA?c@IoEASCiBM{ICeA?y@AsA@kA?eAB{@@_AHqEJiETwJVwLHmDDwAJgF@cAB}@?}@?{@A_AC{@Cy@?OEs@Es@KgAI}@Go@Mu@OcAO}@S_AOs@Ss@Sw@Uq@Yw@Sm@Wk@KWKU_@s@[i@[i@]i@_@e@[a@c@g@a@_@c@a@g@c@_@Wa@Ye@Wc@Ug@Sg@Qg@Oe@Mg@Ke@Gi@Ge@Ei@Ai@?i@@c@Bg@Dg@Fg@Je@Jg@Ne@Ne@Rg@Tc@Tc@Va@Ze@^SPq@l@_@`@a@f@UXY^UZQDiA~AySfZm@v@_@d@]`@c@b@c@`@a@\\a@Xg@\\c@Vg@Ve@Rg@Rg@Ng@Lg@Je@Hi@Fk@Dg@@i@?g@Ag@Cg@Eg@Gi@Kg@Ke@Mi@Qe@Sg@U[S_@Qe@]e@]_@[a@a@_@a@_@a@_@g@a@i@]g@Wc@We@c@y@Ys@Yq@Wq@Uq@Uu@Su@Sw@S{@Ow@My@M{@Kw@K}@Iy@Gy@G_AE_AC_ACaAAaA?_A@}@@}@By@DeABu@D{@FeAn@kKDiAFiABcAD{AB_A@aB?yA?kAA}@AYCmACqAGkAGsAImAKqAKkAMmAMoAQuAqA_KQoAUoBMmAOqAIkAKmAIqAGoAEoAEqACkAAsAAoA?mA@oA@y@@Y@_AD{ADaALgFXeGBm@Bq@Bs@@o@@s@?q@?aAA{@AaAC{@E_AG{@Ei@AUIy@K_AKy@M{@My@Q}@Os@Ok@Qq@Qm@EMK]Qi@Sg@Ys@M[IQ]q@Wi@[e@KSKOYc@Y_@[_@Y]]_@MMMK_@]_@Ya@Y]U_@S]S]Oa@Qc@O]Ka@Ka@Ia@Ia@E]Ea@Cg@Ac@?e@?e@BY@_@BeBJU@eAH_@B[D]D[@[@E?_@@eB@U?q@DaDJ_@@WNW?e@?AO_@C]C_@Ec@Gc@I_@IUNKESGa@Mg@Sa@QoCsA", - "kozłów|klimontów apo": "ysbsHohdyBuBe@iH_BmEaAcB]qBe@}EeAYI{Co@qEaAiBc@qJsBiZyGiK}BgBc@}EcAmCa@yJyBmEaA}KcC_LeC_QyD", - "klimontów apo|gniewięcin apo": "mdhsHw`fyBuCo@_B[uFoA}VuFaKyBkGuASS_E_AoJuBcD{@wBq@aC{@iBy@c@U{@c@cAi@}BuAqAy@kA{@yR_O{QsNmAeAoAqA{AgBmBoCcIgNeCiDOSuA{AyAsAoCqBwCcBeBu@eBk@", - "gniewięcin apo|sędziszów": "mfnsHi{iyBiB_@iB[oBOkBGsAB_ABsCV}Hz@sRtBmPhBmPhBaBLeBDkBAgBImB[{AYuAa@qBy@mAo@WOiAw@}AiA}A{AoAwA_AoA_AsA_BkCiDoIeDwJ]aA_@kA{DmLSk@GU_DuH{AoEeA_DqC_JgHmTyC_JQi@m@gB", - "zastów|baranówka": "ik|pHe}myBkAmCaCqFqA{CoCmGoCuGaF{LYs@yCgH_@{@KUkBqEsLaY}AsD}AsD{CmHwBcFs@cBs@cBKUSe@uBcFsB}EcAaCeAgCu@eBQa@mAyC{@kBy@}A{@uAy@eA{@}@}@w@}@q@q@_@o@[g@Qk@S{@Us@OeAOuBYoBYoCa@{@M{@MuASaAKyAMyAIiEQgEQ{BK", - "baranówka|łuczyce": "ebaqHozsyBwCKoESm@A[AyAGkBIyBK_CKsBIkAAoABo@D_AN_ATcAZq@XgAj@w@l@eA|@k@j@u@~@e@p@{@tAu@zAk@vAe@rAe@bB[xAEP[bBWjBWlCUdC[`Ec@fFQ|@OjBWbCc@|C]hBe@hBc@vAu@pBaAzBeA`CSt@kEpJIPsCjGkAdCg@~@k@`AcAzAg@r@e@l@m@p@o@p@iAjAaAt@aAt@", - "łuczyce|goszcza": "irdqHaroyBeBlAg@\\YRiAv@kClBeCdBeBlAqAx@i@\\iAn@sAj@u@XaAXkBh@qD|@uD`A{KxCu@X}@^{@b@s@d@{@l@eA|@o@l@uAtAmAhA}BxB{@x@}@p@s@f@cAj@aAb@aAZy@T_BZ_Dp@wAZy@V}@XsElBmAh@oAv@cDpBKFQLc@Vu@b@sAv@_B~@m@Zi@R", - "goszcza|niedźwiedź": "g|hqHu`myBcCv@iBViBFgACiAIqBcAi@OgB{@aAm@cAw@q@o@k@m@qAiBy@uA{@cBg@oAa@qAa@}Ag@{B_@cCW}BKoAKcCKoDG{CIyCKiCA[Mu@G_AOyAS{AUwAe@aCm@yBs@qBeAaC_AaBaAuAe@i@_@a@mAeAu@k@{@g@}@c@kAe@kGcCiKmDaA_@uCiAqDyAgDqAmFkBcEyAy@YyBq@gDeA{DuA", - "niedźwiedź|słomniki miasto": "sgmqHskqyBiE{AmAc@eBm@oCaAwAe@eAUuAQoAGkA@kAFgARgAV{@X}@b@{A|@{A`AeElCwExCwD~BeAf@}@\\{@Z{@RyAVeAJmAFYJi@@{@CcAGqFi@mBSuGo@uGo@{Fk@gHu@{AO_@EsAKcAC}@?oAJw@Ju@NaAXaA`@{@d@y@h@m@f@_Az@yAhBo@bAw@tAsAvCm@tA", - "słomniki miasto|słomniki": "oprqHulpyB{BfFq@~AyAdDaAtBg@`AWd@mAjBiArAuJtKgCpCiDvD{ElFs@h@}AdByAjByAhBm@n@o@h@u@n@cB`AaDlAMD{Af@kA`@i@Pc@Ni@Ni@LoCn@", - "słomniki|smroków": "}cuqH{wmyBs@NUFeAZ}EvAk@PqHvBiAZaAZeBf@[H_@L[VkBh@KDoBj@c@Ne@Ng@RyAr@k@^k@b@m@d@m@n@e@h@i@r@s@fAo@hAiBfDkAjBoA~Aa@b@u@p@w@j@aBbAe@VmC|AwGrDoPfJeAn@iAn@oCzA}GvDsBjAuLzGaB~@eB~@kE`C}BtAkAx@{@n@s@l@GFiAhA_AhAcAjA", - "smroków|szczepanowice": "omzqHgdjyBwFhHeQxTaBpB_BfB{AnAm@b@w@f@wAp@wAj@yFnBg@PmGxBuHhCqHdCiA`@gFfBqAl@qAr@aDnBcEdCe@X{At@QH{GdEyBzA}@v@eA`AeAhAaAjAsCtDyC|DkMlP", - "szczepanowice|kamieńczyce": "ei_rHsefyBeChCKH{@v@aAt@g@\\kBnAoGtD_DhBuCdBwEpCyAbAeBxA{@|@sFdGkMpNyCbDaDjCgDfBoEhAkFx@cDh@mD~@}CzAqA|@gBvA{DfDcCzBaAt@}AbAoGjD{D~ByEdC}CfBuA~@", - "kamieńczyce|miechów": "gkdrHgobyBmF`EUP}AdAw@b@aHfDcH~CcJbEsIxDgDjAc@PwDdB_A`@qBz@wBr@kBXuAF{AAsAOc@GaBa@o@WcB{@aAs@aByAoA}AsAwBq@wAm@sA{BaG_A_C{@iB}@_BeA{A{@aAaA_AoA}@}A}@}BaAqBy@}Am@aBo@WMwIoDoDeBeLuE{Am@", - "miechów|dziadówki": "{zirHsmcyBuBy@sC}@mBy@cBq@kAe@_@OW?gDsA_Bg@}A[{AMmACkFNaGPeBFuBFc@@_AByBCeBKgDa@kBUg@GkR}ByR_CcCMcCByBTMDqBb@uBt@sBhA_C`BwBbBuB`Bq@Z]VuDvCcE`D{B`B_B|@kAd@sA\\gBVw@By@@sAGyAQwA]sAi@eI}DqFsC_Aa@w@Wo@ScAQcAKeBEoBH}AVaAVaA^y@^uAv@kC|AaAl@yDxByDtBaA`@gA^kBb@eCb@cAN", - "dziadówki|tunel": "alrrH}|byByEp@oFv@{NxBeBVuC`@yB^wBf@oAb@mAh@s@`@u@b@q@f@aBvAaAdAaAlAu@fA}@xA{@`B_AjB_FzJk@jAaMvVqCvFa@v@]n@_@j@[d@[d@]b@[^_@^_@\\_@Z_@X_@V]REB[Pa@Rc@Pa@Nc@Lc@Lk@LeEx@iNlCeFbAeNpCw@Nq@NeARe@Hg@Hg@Hq@Hg@FK@a@DoK|@y@H{BRe@B_@@WNW?e@?e@A_@Ae@Ga@Eg@Kg@KKESGa@Mg@Sa@QoCsA", - "klimontów apo|klimontów": "mdhsHw`fyBuCo@_B[uFoA}VuFaKyBkGuASS_E_AoJuBcD{@wBq@aC{@iBy@c@U", - "klimontów|gniewięcin apo": "ucksH}agyB{@c@cAi@}BuAqAy@kA{@yR_O{QsNmAeAoAqA{AgBmBoCcIgNeCiDOSuA{AyAsAoCqBwCcBeBu@eBk@", - "łódź chojny|łódź kaliska": "}quzHis~uBU|EC^AZ?XAv@Az@ATA|@ErBErAMzBGnA{@bQk@~K]tGUhEMlCK`BK|AIrAKhA[vDKlAEf@Eb@Cf@C`@Cv@A\\Cx@?l@AhA@x@@tA@dABr@@d@Bf@Dd@@XHbAJfAHv@Jx@Jn@Lp@XxAR~@H^FPDRJ\\Nd@Xz@JXVr@Rb@b@`Ad@dA|B|EbD|GtChG|@lBf@hAZx@l@bBB^ZdAJ`@Pp@RdAZdBHj@Lv@Ff@Fr@Fp@Fl@Dx@Dz@Bd@Bt@@h@@|@@p@?BAv@?T?d@Az@EjACj@Ex@Gt@El@KdAEf@Kt@Gb@OfAQbAYdB}@dFcBzJmA|GMv@Ot@S|@Mn@St@IZMd@Mb@Sj@Ur@Wn@]v@Yj@_@r@Yf@_@l@]f@ORu@`A[b@s@|@i@r@_AjAwCzDyAjB}@jAg@p@m@t@u@`Ac@f@a@b@u@v@m@h@k@d@WP[RQJe@XKFOH]Pi@Vo@XoEpB]NQHUH[L_@N_@L_@L}Br@w@V_@Na@Nc@PYLc@PUJUJUJcAd@q@ZWJ_@P]Lc@P[JYJSFQDg@LWF_@FYFa@Fg@HeJtAa@Fc@D_@D]D[BU@U@YNoCJa@@S@S@Y@Q@Q@O@]BI@m@FUB]BOBSBQBi@FIB_@Fa@HiARcATa@HA?u@PI@{A^kCj@OBeE~@kB`@c@J_@Fa@HaFz@kCb@gBZ}NdCs@LUDYFUF[HWHYJUJUJE@UJMF}BhAm@Xq@ZiB|@WLcAd@a@ROHOHWNMHQJIDUNSLOLSNUPIFONKHMJSPKHWTMJWTmAdAGD[XCBYXSPGDYXoClCGFcA`A{@t@cA~@Sd@", - "łódź kaliska|łódź żabieniec": "ar|zHynquByCjBMHwHzEqIlFSLYN_@R[NWJYJUHUFUF{@RWFWF[JWJWJYNWLWNWNSLo@`@c@XIF]RSL}@h@gDrBaAn@_@TSLgC|AoAv@QJQJKHSJYPWNYNWLWNOFQJQHYNWNQHWNYNWPWPMHgC|AWPGBWPQJWNYNWPWNQJu@`@_@T[PQJ[P[R_@TGD]R_B`AmDzBoBjAu@d@ED[P[Ra@VcAn@aF|CqFhDoMdIgDfBcDrBIDyCjBiC~Ag@ZkAt@o@^y@h@ULSLOHQHULYL[Nc@Pu@VcEvAYHuBr@cDfAeH`CeCx@gFdBgA^sBp@", - "łódź żabieniec|zgierz": "anc{HoemuB{QhGm@Ny@Ro@Lq@Jq@Jq@Fq@Dc@@s@@i@?]?eBGs@Gi@GE?m@Iq@Mm@Mm@Qq@Su@Uw@]i@UyAu@gDgBiAm@q@]iBaA_@S}BoAcB{@}Ay@yDsBsGiDCCcQeJgAm@aDcBeCsAqEaCkBcAuAy@sAy@qAw@kAq@_BcAiHmEi@[QK[COKUM]QWMSKOGOGUKWKYMe@Ok@Qm@Qe@Mo@Oc@I_@Ga@Ge@I_@C[Eu@Gs@EsF]GAoAI{@CWAc@Cw@Ag@?o@?m@?q@@_@@u@BS@_@Bm@BWG_@D]Bu@HeAJw@HeALw@HoALy@H{@Jq@Fy@J{@HG@gAJoCXaD\\cBPcAHk@Bs@@k@?g@Aa@AA?_@E_@C]EUEa@G]I]Ia@KYIUG]MWKWM_@OYOYO[QYQ[SWSSOWSSOaA{@_A{@sBoBeC{B[[_@_@YYWYa@c@EGSS_@]s@q@SSg@e@wAaA", - "dąbrowa górnicza ząbkowice|dąbrowa górnicza gołonóg": "wmkrH_~ptB^^P\\@@h@h@VVfAdAj@h@n@l@t@t@DDl@l@`@d@|AdBl@n@VZrB~BxA`BTXTXRV@BVZJLLP`@h@`@j@`@l@`@l@\\j@\\l@FHR^Zj@Xl@Zl@\\v@\\t@Xn@Vn@Zv@Xx@Zx@Xz@vJ`YdA|ChBlFxEbN|BxGxCtId@tADLb@jAjAjDdItUpBhFpDnKr@nBbChH|BxGzAlElBrF`BxElAnD", - "dąbrowa górnicza gołonóg|dąbrowa górnicza": "orgrHmuitB`BxE`BvE|C~IpCdIJXNb@tA~DdJ|Wb@pApCbIvAdExAfEpAtDt@zBhClHbKbZVr@zAjEzAlEZx@tDtKDPJj@Nb@Nd@L`@J^FRFVFTHXHZDVHXF^FXFXF\\DZDXFZDZFb@Fd@Dd@Ff@Dd@Df@BZB^@ZBj@Bh@Bb@@^@b@@b@?Z@`@?\\?^?^?b@A^?`@A^A\\?ZA\\CVA\\A`@Ef@C`@Cd@Ef@Eb@E^E`@Gl@It@Kz@OnA", - "dąbrowa górnicza|będzin ksawera": "}aerH_lbtBMnAOnAi@tEoBfQOtAIt@m@~FWjCGl@AHGl@Gh@a@hD?F_AhIIv@OnACR?j@E^ATCRATCRAZCXAVATA`@A\\?ZA`@?`@?Z?^?\\@^@b@@v@BXBh@Bp@ZfG\\fGb@dIJnBFx@Dt@Ah@Fn@NtBNtB^rEb@hGt@vJPpB@L^tEPpBj@pG", - "będzin ksawera|będzin miasto": "ucerHeo|sBPlBVvBR`BTbBb@xCh@nDl@|EZfCl@`FL|@`AbIj@rENjANnALv@NbAP`ANx@Px@R~@Rz@R|@Nh@V`A^jAb@rAXv@^bA^bA`@|@`@|@d@|@`@v@b@r@^l@f@x@f@p@b@j@f@l@f@l@j@l@l@j@j@h@j@f@n@h@l@b@n@b@l@^l@\\^R\\PZNb@Pp@Xl@Rl@Rj@Nl@Nn@Ll@Jl@H^D", - "będzin miasto|będzin": "iacrHelxsBb@Fd@B`@Bb@Bb@@r@@t@A\\?j@Ch@C\\Ct@Ip@Il@Kl@Kl@Ol@Ql@QTIZM`@Ox@]l@Y^S^U^U^UZS^Y^YzAmAfCqBDCnC}BhBwA|AiA`BmAJGfAy@jA_A", - "będzin|będzin miasto": "obarHmlysBkA~@gAx@KFaBlA}AhAiBvAoC|BEBgCpB{AlA_@X_@X[R_@T_@T_@T_@Rm@Xy@\\a@N[LUHm@Pm@Pm@Nm@Jm@Jq@Hu@H]Bi@Bk@B]?u@@s@Ac@Ac@Ca@Ce@Cc@G", - "będzin miasto|będzin ksawera": "iacrHelxsB_@Em@Im@Ko@Mm@Ok@Om@Sm@Sq@Yc@Q[O]Q_@Sm@]m@_@o@c@m@c@o@i@k@g@k@i@m@k@k@m@g@m@g@m@c@k@g@q@g@y@_@m@c@s@a@w@e@}@a@}@a@}@_@cA_@cAYw@c@sA_@kAWaAOi@S}@S{@S_AQy@Oy@QaAOcAMw@OoAOkAk@sEaAcIM}@m@aF[gCm@}Ei@oDc@yCUcBSaBWwBQmB", - "będzin ksawera|dąbrowa górnicza": "ucerHeo|sBk@qGQqB_@uEAMQqBu@wJc@iG_@sEOuBOuBGo@@i@Eu@Gy@KoBc@eI]gG[gGCq@Ci@CYAw@Ac@A_@?]?_@?[?a@@a@?[@]@a@@U@WBY@[BS@UBS@UD_@?k@BSNoAHw@~@iI?G`@iDFi@Fm@@IFm@VkCl@_GHu@NuAnBgQh@uENoALoA", - "dąbrowa górnicza|dąbrowa górnicza gołonóg": "}aerH_lbtBNoAJ{@Hu@Fm@Da@D_@Dc@Dg@Be@Ba@Dg@@a@@]BW@]?[@]@_@?a@@_@?c@?_@?_@?]Aa@?[Ac@Ac@A_@Cc@Ci@Ck@A[C_@C[Eg@Ee@Gg@Ee@Ge@Gc@E[G[EYE[G]GYGYG_@IYEWI[IYGUGWGSK_@Ma@Oe@Oc@Kk@EQuDuK[y@{AmE{AkEWs@cKcZiCmHu@{BqAuDyAgEwAeEqCcIc@qAeJ}WuA_EOc@KYqCeI}C_JaBwEaByE", - "dąbrowa górnicza gołonóg|dąbrowa górnicza ząbkowice": "orgrHmuitBmAoDaByEmBsF{AmE}ByGcCiHs@oBqDoKqBiFeIuUkAkDc@kAEMe@uAyCuI}ByGyEcNiBmFeA}CwJaYY{@[y@Yy@[w@Wo@Yo@]u@]w@[m@Ym@[k@S_@GI]m@]k@a@m@a@m@a@k@a@i@MQKMW[ACSWUYUYyAaBsB_CW[m@o@}AeBa@e@m@m@EEu@u@o@m@k@i@gAeAWWi@i@AAQ]_@_@", - "myszków światowit|myszków mrzygłód": "uwssH_yauBjJ_g@hCgNrAkHjBwJtAqHp@eCVkAVmAT_AXeATy@X{@Vw@Vw@Zy@Xs@\\w@Zs@\\s@^s@^s@^o@b@q@^k@`@m@`@i@d@k@b@g@`@e@f@g@d@c@f@c@b@_@l@e@`@Yj@_@f@Yh@Yl@[f@Ul@Wl@c@zRgHb@Q^M`@Ol@Uvt@aXvEcBvFuB", - "myszków mrzygłód|zawiercie borowe pole": "c{nsH{qguBnPcGfMqEpFoBrEcB|C}@pBs@fE}AfC_ApBs@fIwCpEaB`VuIrQsGvEcBr@Yt@Yr@[l@Wr@[n@[t@_@r@_@p@a@p@a@r@e@p@c@t@k@t@i@n@i@r@k@l@i@n@m@n@m@l@m@j@o@TUZ]j@q@n@u@h@q@j@u@h@q@l@y@nS{XlCuD", - "zawiercie borowe pole|zawiercie": "uqhsHqrkuBhE_GlAcBbAuAzJgNXa@HKbDoExCcE~@qAz]gf@Xa@`RgWrBqC`EwFp@aAj@y@h@y@`@k@DGh@{@t@kAp@gAh@y@`@o@d@q@\\a@^e@\\_@XYZY\\YXUXSDAXS^SLGNGZQZKZKd@OPETEd@Kd@GFAb@El@EbBGn@Cr@CxBI|CKD?~CKtBIbAEl@Aj@Al@Af@AbACv@Ah@Cf@ApBIhFW~DQ`@AfEStI_@NAxDQ~FWn@El@Ej@Ez@KpCYp@Gt@Gv@EnAGfCK", - "łazy łc|wiesiółka": "e|urH}}duB^rIJbCNdDFdALtCrBbe@TxED|@?LHzAFxADdAB`@FpADn@", - "wiesiółka|chruszczobród": "ysurHyfbuBHb@Dl@B`@@HDp@Fh@Fv@Ht@D`@Db@Jn@LbAF`@F^Hj@Lv@Np@Lp@Nt@VfAT`AX`AV~@X~@\\~@Z|@Zx@\\v@^x@`@x@\\r@b@v@b@t@d@r@d@p@f@r@`@f@n@v@b@f@p@t@l@n@d@d@t@x@rFvFj@l@LN|TrUnJxJvCzCvE~E", - "chruszczobród|dąbrowa górnicza sikorka": "_~rrH}j~tB~C`DnCtCBBv@x@zC~Cz@|@rExE`@b@jKvKh@j@j@l@h@p@f@j@`@j@f@r@d@t@d@v@DXT^b@|@\\t@b@~@\\z@^bA\\~@Z`AVx@ZjAV`AVhAT`AThAPbATpANfAPpALfALpAH`AHx@@TJlAHpAbC|_@@LLjBzA`VF`AFv@FbAJzBD~@ZpGFbAFdAPjCFdAFdAHdAHbA", - "dąbrowa górnicza sikorka|dąbrowa górnicza ząbkowice": "cqprHqaxtBDr@Dd@Dd@JlAVvCFv@Hz@Dh@Bb@Db@LvBNvBHrAHtAJvAJtANrBJbBN|ALrARfBHv@@HJz@L\\DZJr@Lz@@DN`ATvAJf@Lv@VnAZ~A\\|AZpAXfAZnADNL^Nj@Rp@Vv@ZbAb@nA`@fAd@lAf@lAd@dAd@bAf@bAl@hAf@z@h@~@l@~@h@v@r@`Ap@|@n@v@x@`An@t@TV\\Zp@r@t@r@r@n@j@f@d@^f@`@d@^l@b@fMjJ|AhAfAx@rCtB^V^VdBfAlBnADB`@TVPVPr@f@r@f@bS|NjGrE~AhAjDhCn@d@VR`D~BjEbDnA~@RNTPJJVRTRnAlAd@b@RTf@d@`B~AnAlAb@b@@@", - "dąbrowa górnicza ząbkowice|dąbrowa górnicza pogoria": "wmkrH_~ptB^^P\\@@h@h@VVfAdAj@h@n@l@t@t@DDl@l@`@d@|AdBl@n@VZrB~BxA`BTXTXRV@BVZJLLP`@h@`@j@`@l@`@l@\\j@\\l@FHR^Zj@Xl@Zl@\\v@\\t@Xn@Vn@Zv@Xx@Zx@Xz@vJ`YdA|ChBlFxEbN|BxGxCtI", - "dąbrowa górnicza pogoria|dąbrowa górnicza gołonóg": "e`irHyzltBd@tADLb@jAjAjDdItUpBhFpDnKr@nBbChH|BxGzAlElBrF`BxElAnD", - "dąbrowa górnicza gołonóg|dąbrowa górnicza pogoria": "orgrHmuitBmAoDaByEmBsF{AmE}ByGcCiHs@oBqDoKqBiFeIuUkAkDc@kAEMe@uA", - "dąbrowa górnicza pogoria|dąbrowa górnicza ząbkowice": "e`irHyzltByCuI}ByGyEcNiBmFeA}CwJaYY{@[y@Yy@[w@Wo@Yo@]u@]w@[m@Ym@[k@S_@GI]m@]k@a@m@a@m@a@k@a@i@MQKMW[ACSWUYUYyAaBsB_CW[m@o@}AeBa@e@m@m@EEu@u@o@m@k@i@gAeAWWi@i@AAQ]_@_@", - "dąbrowa górnicza ząbkowice|dąbrowa górnicza sikorka": "wmkrH_~ptBAAc@c@oAmAaB_Bg@e@SUe@c@oAmAUSWSKKUQSOoA_AkEcDaD_CWSo@e@kDiC_BiAkGsEcS}Ns@g@s@g@WQWQa@UECmBoAeBgA_@W_@WsCuBgAy@}AiAgMkJm@c@e@_@g@a@e@_@k@g@s@o@u@s@q@s@][UWo@u@y@aAo@w@q@}@s@aAi@w@m@_Ai@_Ag@{@m@iAg@cAe@cAe@eAg@mAe@mAa@gAc@oA[cAWw@Sq@Ok@M_@EO[oAYgA[qA]}A[_BWoAMw@Kg@UwAOaAAEM{@Ks@E[M]K{@AIIw@SgBMsAO}AKcBOsBKuAKwAIuAIsAOwBMwBEc@Cc@Ei@I{@Gw@WwCKmAEe@Ee@Es@", - "dąbrowa górnicza sikorka|chruszczobród": "cqprHqaxtBIcAIeAGeAGeAQkCGeAGcA[qGE_AK{BGcAGw@GaA{AaVMkBAMcC}_@IqAKmAAUIy@IaAMqAMgAQqAOgAUqAQcAUiAUaAWiAWaA[kAWy@[aA]_A_@cA]{@c@_A]u@c@}@U_@EYe@w@e@u@g@s@a@k@g@k@i@q@k@m@i@k@kKwKa@c@sEyE{@}@{C_Dw@y@CCoCuC_DaD", - "chruszczobród|wiesiółka": "_~rrH}j~tBwE_FwC{CoJyJ}TsUMOk@m@sFwFu@y@e@e@m@o@q@u@c@g@o@w@a@g@g@s@e@q@e@s@c@u@c@w@]s@a@y@_@y@]w@[y@[}@]_AY_AW_AYaAUaAWgAOu@Mq@Oq@Mw@Ik@G_@Ga@McAKo@Ec@Ea@Iu@Gw@Gi@Eq@AICa@Em@Ic@", - "wiesiółka|łazy łc": "ysurHyfbuBEo@GqACa@EeAGyAI{A?ME}@UyEsBce@MuCGeAOeDKcC_@sI", - "zawiercie|zawiercie borowe pole": "{aasHivpuBgCJoAFw@Du@Fq@FqCX{@Jk@Dm@Do@D_GVyDPO@uI^gERa@@_EPiFVqBHg@@i@Bw@@cABg@@m@@k@@m@@cADuBH_DJE?}CJyBHs@Bo@BcBFm@Dc@DG@e@Fe@JUDQDe@N[J[J[POFMF_@RYRE@YRYT]X[XYX]^_@d@]`@e@p@a@n@i@x@q@fAu@jAi@z@EFa@j@i@x@k@x@q@`AaEvFsBpCaRfWY`@{]ff@_ApAyCbEcDnEIJY`@{JfNcAtAmAbBiE~F", - "zawiercie borowe pole|myszków mrzygłód": "uqhsHqrkuBmCtDoSzXm@x@i@p@k@t@i@p@o@t@k@p@[\\UTk@n@m@l@o@l@o@l@m@h@s@j@o@h@u@h@u@j@q@b@s@d@q@`@q@`@s@^u@^o@Zs@Zm@Vs@Zu@Xs@XwEbBsQrGaVtIqE`BgIvCqBr@gC~@gE|AqBr@}C|@sEbBqFnBgMpEoPbG", - "myszków mrzygłód|myszków światowit": "c{nsH{qguBwFtBwEbBwt@`Xm@Ta@N_@Lc@P{RfHm@b@m@Vg@Tm@Zi@Xg@Xk@^a@Xm@d@c@^g@b@e@b@g@f@a@d@c@f@e@j@a@h@a@l@_@j@c@p@_@n@_@r@_@r@]r@[r@]v@Yr@[x@Wv@Wv@Yz@Ux@YdAU~@WlAWjAq@dCuApHkBvJsAjHiCfNkJ~f@", - "piotrków trybunalski|jarosty": "owyxH{}cwBqOwAuIw@OAg]_D{MmA}AOsGm@yBSqRgBuHs@aJy@E?}AOaE_@}Go@kBQkD[{CYsLgAuIw@{CYod@eEeBOcBMeFc@mSeBaDY", - "jarosty|moszczenica": "oabyHmiewBaMcAOA{NmA{v@uG}v@sG_e@{DuBSgMeAga@gD}CYi@Ek@Gm@IQCi@@}@O}@O_AUw@Uy@UgA]m@U", - "moszczenica|baby": "_bjyHssfwBo@UgCcAcI}CmAg@sKgEkGaCkAe@kBs@yk@}TyqAmg@m@Wk@SwLwEgBq@y@[{@[oAe@oCaAu@YiDqAqEgBa@OcCaA[M", - "baby|wolbórka": "y`qyHm`jwBsp@mWwHwCYMcE_B}D}Ayu@}YaE_BcE}Aq@Wm@Uq@Uq@So@Qo@Ms@Mo@K_@E_@E[Cw@Em@Aq@Aq@@u@Bm@Ba@DYGg@Ds@Lm@Lq@Ns@Pk@Rq@Tm@Rg@RoYxLkHzCak@zUkJ|Dq@Xs@Vk@Rq@Rw@Tq@Lg@Je@Ha@F}@Fs@Dm@Bs@@o@Aq@Am@Eu@Gm@Gs@Kk@Ko@Oi@Oc@M]Ke@Qa@Ou@Wq@WuAk@}KgEQ@iEaB}CkA[K", - "wolbórka|łaznów": "ys{yHsckwBmDuAgDoAcE_BwFyBwAg@wHuC}@]ef@gRyFyBo@Ug@Wo@Yi@Wy@c@w@g@}@i@o@c@{@m@w@k@y@m@u@m@s@m@o@k@o@o@o@o@o@q@i@i@eZw[aq@_t@qAuAsAwA{f@ci@", - "łaznów|rokiciny": "w`czHaeqwByFgGyA}A}TkVcp@as@CQa@_@o@q@c@a@s@q@w@q@y@o@w@k@w@k@w@g@}@k@u@a@k@[o@[_FqBiBq@kGeCyEiBgEaBik@uToHsCmXoKiJsDGCcFmBqGgCQI", - "rokiciny|chrusty nowe": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gT", - "chrusty nowe|żakowice": "msozHoaywBeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YsA[iDuAkCeAo@W[Ok@Um@Wi@Wm@Wm@Wm@Y{@_@{@]}@]}@_@u@Yu@Ye@QSDSBSGSESCSCKASASAS?Q?U@QBSBQBSDSDQFSFQFQHSJQHQLQJIHSPSPONONOPOPMRORMRMTMTMTMVKXKVKXKXIZIXIZGZIZG\\EZGZE`@E\\E\\C\\C^C\\A^AXA`@A`@?^?^?^?^@^@^@LBf@@ZCf@HFBf@GFP~CBh@Dd@D`@Vl@BZB`@B^PrDB`@Df@Df@C`@J`ABTLtALxAJfALrALrApCb[Fn@Dj@f@tFj@nG", - "łódź widzew|łódź zarzew": "}j}zHsoevBIlAUfE@r@Et@GzAEnAAv@?z@?z@?|@Bz@Bx@Dz@Dz@Fz@Hz@Hx@Jv@Lx@Lx@V`B\\hBNt@RbATbAVjAXfARt@Rr@ZbA\\dATp@Vn@^z@^|@Zn@Zl@Zl@\\j@b@p@`@n@b@l@b@j@VXTXZ\\`@b@b@`@NL\\Z\\Xd@\\d@ZZR\\R\\Rj@Xl@Xb@Pf@PXHd@Nl@NZFZFf@Hl@Hn@Ft@Fv@Dd^vB", - "łódź zarzew|łódź dąbrowa": "ayzzHeebvB|@FdDR~DVTLvBNn@B`AFrAHlHd@nAH`Oz@bEVvAJxBL~BNr@F^DfAN~AT~@RhB`@PDpCn@pDr@vATh@JhCb@dCb@", - "łódź dąbrowa|łódź chojny": "epwzHqravB|AVrDl@bDh@fAN|D`@L@n@HpARpBZl@LdBZr@N\\JTFVHHDj@R^Pf@X^R`@Xd@\\f@d@ZX^`@X\\\\b@`@f@JPZf@Zf@Zl@P^NZb@bAPd@^bAL`@Pn@Lf@Pr@Np@Lj@RlANz@Hn@Hn@Hx@Dd@Dr@Dd@Bj@Dz@Bt@BfA@nA?fA?b@Av@EtACv@IrBSnEWpEKrBCj@DJ", - "łódź pabianicka|łódź kaliska": "ywuzH{{tuBwCvDQTcApAs@|@SDg@p@m@t@u@`Ac@f@a@b@u@v@m@h@k@d@WP[RQJe@XKFOH]Pi@Vo@XoEpB]NQHUH[L_@N_@L_@L}Br@w@V_@Na@Nc@PYLc@PUJUJUJcAd@q@ZWJ_@P]Lc@P[JYJSFQDg@LWF_@FYFa@Fg@HeJtAa@Fc@D_@D]D[BU@U@YNoCJa@@S@S@Y@Q@Q@O@]BI@m@FUB]BOBSBQBi@FIB_@Fa@HiARcATa@HA?u@PI@{A^kCj@OBeE~@kB`@c@J_@Fa@HaFz@kCb@gBZ}NdCs@LUDYFUF[HWHYJUJUJE@UJMF}BhAm@Xq@ZiB|@WLcAd@a@ROHOHWNMHQJIDUNSLOLSNUPIFONKHMJSPKHWTMJWTmAdAGD[XCBYXSPGDYXoClCGFcA`A{@t@cA~@Sd@", - "łódź żabieniec|łódź radogoszcz zachód": "anc{HoemuB{QhGm@Ny@Ro@Lq@Jq@Jq@Fq@Dc@@s@@i@?]?eBGs@Gi@GE?m@Iq@Mm@Mm@Qq@Su@Uw@]i@UyAu@gDgBiAm@q@]iBaA_@S}BoAcB{@}Ay@yDsBsGiDCCcQeJgAm@aDcBeCsAqEaCkBcAuAy@sAy@qAw@kAq@_BcAiHmEi@[QKQKMGMIKG", - "łódź radogoszcz zachód|zgierz": "anh{HocouBUMOGWASKOGOGUKWKYMe@Ok@Qm@Qe@Mo@Oc@I_@Ga@Ge@I_@C[Eu@Gs@EsF]GAoAI{@CWAc@Cw@Ag@?o@?m@?q@@_@@u@BS@_@Bm@BWG_@D]Bu@HeAJw@HeALw@HoALy@H{@Jq@Fy@J{@HG@gAJoCXaD\\cBPcAHk@Bs@@k@?g@Aa@AA?_@E_@C]EUEa@G]I]Ia@KYIUG]MWKWM_@OYOYO[QYQ[SWSSOWSSOaA{@_A{@sBoBeC{B[[_@_@YYWYa@c@EGSS_@]s@q@SSg@e@wAaA", - "zgierz|zgierz jaracza": "e{l{HcepuBm@i@c@c@wAmAcDyCeDyCoEcEoBgBkD_Ds@o@w@q@yAoA_Ay@_Ay@][u@q@_A{@SQy@w@a@_@g@e@c@_@YY][cA}@][]Ya@Wa@UOGSIa@Oe@Me@Ma@I_@Ga@Ec@Ce@Cg@AU@W?k@DWBWBq@Je@Jg@Lg@Pe@PYLYNs@b@q@d@q@f@qDnCwAfAEDqAdAWVYVe@d@g@h@e@j@e@l@e@n@c@p@a@l@SZOZOXQX_@v@Yn@[n@o@zAQ`@}CnHgC`G", - "zgierz jaracza|zgierz północ": "axp{HkepuBmHbQ[t@O`@IRUn@Wv@Up@Ut@Ut@St@S|@Op@Qt@Ov@Q|@Ox@Kp@OdAMhAMbAKbAI~@I~@IdAEbAG`AIdC{@`Y_@~LIvCAr@Cv@Ar@Ax@?x@?pBBbCBv@Bv@J~Cb@rLBp@\\bJDdABbABbA@fA@hA?~@?p@Aj@?j@C~@C`ACdACz@E~@G`AQvCAF]|EUvC{@lLq@nJ", - "zgierz kontrewers|jedlicze koło zgierza": "{yp{H_l`uB@|E@zJ?fAAz@AdAC~@C|@E`ACd@C`@Ex@OjCM~BIlAI`AGx@KbAK~@K`AM~@Mz@Mx@O~@kAnH}@lFKh@Mh@Mn@Op@Ol@Qp@g@bBi@bBsA`Eg@xA[~@KZQd@M^e@lA_@~@CJ", - "jedlicze koło zgierza|grotniki": "sqq{Hsy|tBc@~@]t@[n@c@v@Yh@c@p@]h@_@j@a@h@s@~@o@r@k@j@k@h@i@d@i@b@k@b@m@^m@^m@\\wBdA{Av@{Q`J{GfDqEzB{BhA}BfAuBdAe@Te@RYLq@TeAXcATaAPkH`AqEj@yAR{Df@kC^oGx@", - "grotniki|chociszew": "{mu{HssztBWDaDb@mANmBVo@Hm@H_BZi@Li@Nm@Rk@RWJWLo@ZwAv@k@^i@^w@l@SP[X[Z[ZYZe@f@c@h@a@h@c@j@c@p@c@p@OTQZa@t@o@lAWl@Wj@eAjCKXKZYv@s@lBeB|E_BrEo@lBm@pBc@bBa@dB]hB[fBW~A?@]pCYtCk@hH}@~K}@~KyApQk@hHk@fH]jEADOhBOdBMpAOnAUbBW`BUnAUnA_@`B_@zAOl@Ql@c@xAi@xAi@vA]z@_@x@aAnBk@dAk@~@o@~@o@|@q@x@q@v@q@p@q@n@s@l@s@j@_Al@_@VKDULaAd@cAb@i@Rk@RwA\\mDv@kCl@ua@`JiAT_TvEq@NmCj@mK~BiAT{Dz@{Bf@", - "chociszew|ozorków nowe miasto": "un|{HgbrtBg@JwAXw@Ny@Jo@Fe@Dc@BU@o@@o@@o@A_DQ_BKwBM}CYkFi@yLmAwAOsHw@{JcAw^wDsAOyYyCsO_BiGo@aCUAAaAKaAIkBKi@AS?U?m@?m@Bg@Bg@D]B[B]F]Dy@N}@N_AP}@PeGfAaCd@w@LiAT", - "ozorków nowe miasto|ozorków": "ybc|HmsrtBkB\\iEx@qAVaLrBaKjBgI|AeMxByB^kBZyHvAiHtA", - "ozorków|sierpów": "}ze|H{zqtBC@}AV{[dGmCf@cBZwB`@oCl@mCl@uAZ}Af@_Bn@yAv@eBlAcJdHkHtFaq@`h@oTtPwDvCyAnAwApAqBrBmBzB}BzCyBbDW\\k@|@cA`BeC`E_CxDaHbLaHbL}JlPkHpLoCrEcDjFmLnRwFhJu@lAs@lAgBrC_A~AcA|Ai@v@i@t@k@p@UXIJMLUTWVo@n@m@f@q@f@SN", - "sierpów|łęczyca": "g}n|HeiitBaAp@gG|D}OfK_DtBoCfBaU~NwKfH{E~CuL|H_Ar@_Av@sBrB{AhBwAlBq@t@_RrUgElFsEzFkM`PiQzTeIbKiDhE", - "łęczyca|gawrony": "gxt|HqwctB_HtI_BpBkFxGsBhC}D`Fy@~@eAbAaAz@eAt@aAl@iAn@aA`@_A^YFw@T{@RwAVqBVgAF_@@kCFiCBoGFiED}CDaEDk`@`@}JL_A@gLLuEFkB@u@@s@?i@?g@Ai@Cg@C]Ea@E_@E_@G_AQ_@Ka@KsBo@_Bu@gAm@c@Ya@Y}@q@MK][g@e@oAqA}BgCmBqBeBoBsEcFqE_FiBmBgBoBcKaLoUgW}@aA}@aA[]uA{Ak@k@m@k@c@a@e@a@iAaAcCqBs@k@s@k@_BuAECmEsDoEsDgByAeByAoFoEaFcEoFoEwBgB{@s@y@u@KIa@_@k@k@uAyAcAkAcAkAySiVcOaQyKmMCA_RgT", - "gawrony|witonia": "oya}HkpitBgMaOul@er@SUoKaMcLwMyAmBk@w@k@y@{DiGoFuIAEei@i{@_GqJkFmIeGyJuF_J}IuNkCgE_QwX}@mA}@oA_H_JiDqEgCiD}@mAaP_TkA{AiA{A", - "katowice zawodzie|sosnowiec południowy": "k|vqHwthsB?_CB{AD}ALsDRsFDoAHoAL_B`@sEPaC@kBLgEL{EVaHH_EF}FDyC?qDG}FKyFSqGYqGi@wIm@cJcDif@UkDOyBMyCOuCo@aIu@cJa@cFCa@YiEM_CIcAEw@W}D]sD]kD]iEw@{KWiC[mBe@uB]mA}@oCeA_Di@{AcAgCkAgCqAyBi@y@{@kAmA{ASUw@}@cAgAkC{BoCqBqLwIeHeFqC_Ca@[{CyB_BkA{B_BwAeAAAi@c@Cc@MSIOYk@KSIWKYGQQq@Kk@Ko@QyAGo@Eq@Ck@Ao@?_@?_@@M@s@Ds@B[BYBWFYFa@F[H[HYN_@L[N[LWUa@", - "sosnowiec południowy|sosnowiec dańdówka": "g_zqHyrusBNOJKtCkDPUZg@T]RYRYNShAsAbFeG`FeGHK~D}EZ_@Ze@`@m@PYb@s@j@cANWNSb@i@\\i@|@_Br@oAl@gATc@LYP_@h@oAp@iBL]Ro@Rs@Pw@@ELm@Lu@N{@L{@L_AHq@LgAH_AF{@F}@B_AB_A@}@?_A?}@A_AAaAA{@Ce@Cg@Ey@Ew@I{@Gq@Iu@My@O_AMw@m@gDm@kDg@sCW_Ba@wB[gB_@eCO}AAAIkAG}@E_AC}@CaAAyB?q@?QB_A@w@DaADcAHeAHcAFk@Ju@PqArAkITyAPmAJw@Fs@Hy@Fu@D_AD{@@{@BaA?y@?s@KyHIqFA}@S_MKmFEuCI_GIgFMyHGqDIyFQiLEsCGeFCgAC}AAkDAwAA}Ag@s]EiDAkACgCAuBAsAImEFo@", - "sosnowiec dańdówka|juliusz": "kqxqHqhbtBMqH?eBB}AB{AJuBt@aLReCL}ALiBFiAFuABaABiA?_A?}AAkAEcBIgBGaAMoAIeAE_@Gg@Ik@O_AMy@Qy@Mm@UaAm@_C_Vg`A]uA]yAYkAUiAUiAQeASoAOgAQsAMeACWMoAIaAMuAK}A[cHCe@iAiQK_By@yMAUSyC", - "juliusz|dorota": "gyyqHg}itBkAqREi@o@aKUuDGsAGuAEyACqAAwAAuA?eB?qACaB@YNkL@_A@w@@aA@wA?mA?uA?qAA}ACmBEgEA_BAyAAqAAkACcBAeBEmCG}GAc@Aq@eAqfACcAWsWA{ACkBC}@Cu@Cw@GaBGuAy@sPGeAGy@KcAIy@MaAKw@Oy@Ms@Qy@Qw@Sy@Ss@Us@Us@[w@Ys@Yq@Wg@Yk@U_@Wa@[e@U[]a@]a@_@_@a@_@_@]s@i@c@]]UuBuAyDmCeBoA_EsCyAaAsBwAgAu@cAw@kA}@P]", - "knapówka|czarnca": "{bauHavnxB{@q@_@_@u@q@q@k@c@a@YUkNuKWSkG{EeMwJiMyJmG}EuC{B}B{BiB{BqA_Cu@aBcA{CgDkMs@mCw@kCkAcCiA_C}B_DwB{B}FuEuAiAqAqA{@eAy@kAeBeD}AsDw@gCq@sCe@mCa@yCQsBMyBI_CG_BKwDAaAEkBMkL", - "sosnowiec dańdówka|sosnowiec kazimierz": "sqxqHagbtBIaFC_C?CAaBB}AB}AHqBNgCd@}GTgCN}ALgBFiAFuAB_ABkA?}@?{AAkAEcBIeBGaAKoAKeAE_@Ge@Ik@O_AMw@Oy@Mm@U_Am@_C[oA}WyeAMg@q@kCCKo@cC]sAUu@Uo@Uo@Wk@Yq@[k@Ye@Ua@QWOS[a@SWOQOQSSSSYWWS_@[e@[eAm@{@c@_Aa@qJgEi@Wc@Sc@Ua@Ya@Y_@Yo@k@OO_@a@_@c@]c@AAYc@]g@[i@o@cAo@iAMQ_EcHeAgBkDaGcEeHsBkD_@k@Yc@c@i@[_@_@c@a@]a@]_@[g@]_@Ue@Wc@SMGSIc@Q}HwCkCaAwAi@g@Sm@Y[Q]U]Ua@[}@u@i@g@UW", - "sosnowiec dańdówka|sosnowiec porąbka": "sqxqHagbtBIaFC_C?CAaBB}AB}AHqBNgCd@}GTgCN}ALgBFiAFuAB_ABkA?}@?{AAkAEcBIeBGaAKoAKeAE_@Ge@Ik@O_AMw@Oy@Mm@U_Am@_C[oA}WyeAMg@q@kCCKo@cC]sAUu@Uo@Uo@Wk@Yq@[k@Ye@Ua@QWOS[a@SWOQOQSS", - "sosnowiec porąbka|sosnowiec kazimierz": "k|yqHyjhtBSSYWWS_@[e@[eAm@{@c@_Aa@qJgEi@Wc@Sc@Ua@Ya@Y_@Yo@k@OO_@a@_@c@]c@AAYc@]g@[i@o@cAo@iAMQ_EcHeAgBkDaGcEeHsBkD_@k@Yc@c@i@[_@_@c@a@]a@]_@[g@]_@Ue@Wc@SMGSIc@Q}HwCkCaAwAi@g@Sm@Y[Q]U]Ua@[}@u@i@g@UW", - "sławków|bukowno przymiarki": "}d~qHudguBL?pEaHZc@\\g@^c@\\a@\\_@X[jBgBl@m@`@]^[^[b@[\\Uf@Yb@U^Qb@Qf@Qb@Kb@If@I^Ed@Eh@Cj@?^?d@Bf@Bd@DpIr@d@Dl@Bh@Bl@?TKNA`@Ad@Ed@Gb@Gh@Kd@Ml@Q`@Q`@Qb@Ub@Wf@[^Y`@[b@a@^_@b@e@^e@\\e@\\g@Zi@Zk@\\o@Vk@Zs@Vq@Vs@dDsJv@aCvDaL~Ko\\V{@XaAXaAR_ATcARcAPcAPcALeALgAJcAJgAHmAFeAFmABcABkA@kA?kA@kA?oDFim@@yHHcB", - "bukowno przymiarki|bukowno": "}kzqHg_nuB?kAB_A@y@Bk@Do@Dw@Du@Hw@Hw@Hs@Ly@Js@Lu@N}@Ns@b]qiBvUioAdAqG`ByInA}GPaAPcANcAJaAHy@L_BJeBXoFNmC", - "jaroszowiec olkuski|chrząstowice olkuskie": "ubhrHacyvBIaAo@qDMs@Mu@Ku@Ie@Gi@K}@K_AGcAG}@GcACaAC{@CkA?]?c@?cA@eABeAB_ADy@FkAF}@BODk@JcAPsARaB`Li|@LaAd@kDh@iEPqAl@uEFk@Bm@PmANeADQPkAVsAbNyu@TmAToAPcAToAPmANiALeALoAHw@BSJsAp@}IDo@dAcNJmAFcAD}@B}@@e@Bs@@y@?y@?o@?gACcACeAAOCs@EaAIcAGaAKcAMgAM{@M{@QeAQ}@S}@Sy@U{@W{@Yy@GUKWWq@[w@a@y@IQSa@]m@[g@[g@i@u@]c@_@e@e@g@c@c@II][_@[e@[a@Yk@]]Se@Ua@Q", - "chrząstowice olkuskie|zarzecze apo": "ysgrHsvcwBmF{BaDsAECgN}FgN}FiVcKOImMoFWKiDwAc@S", - "zarzecze apo|zarzecze": "mljrHydewBk@YUWa@Ua@Wc@Yc@Y_@YWOmDgCq@e@q@g@k@e@i@g@e@c@e@e@g@i@a@g@c@i@i@s@c@m@i@y@e@y@SK]o@c@{@g@eACGUe@", - "zarzecze|wolbrom": "kokrHchfwBWq@]{@]aA[}@EOWw@YcAYeAWcAWkAWkASeAQgASiAuAwI_BiKiDkTwA}Im@{DkOiaA}AuJ]{BqAeIa@iCO_AQ{@S_ASw@U}@U{@Ww@Yy@Yu@[y@]y@wB}Eo@{Aa@aA[w@]{@Ws@g@cBe@_B_@aBAGWiAeAoFg@gCqFqYaQw|@S_AOy@UsAYeBM_AK{@Q{AMmAEk@Gm@G_AEw@CSGkA?QGoACaACgAA}AAwA?q@?]@q@@_ABcAB_ABeACg@DiAFcAHeAHeAL{AFk@NkA", - "wolbrom|jeżówka": "ivnrHc}rwBNmAJq@Ju@BILu@Lw@R}@TeANu@Ru@Pq@T}@zAkFHWpKm^fCwI~@}CXeAXcANk@bA{DNo@Ps@Nu@Jo@Nu@Jw@J{@J_AJkA`@_FLkBJoAHkAFcAD_A@u@B_A?_AAaACgAEkAGs@Eq@Iy@Ky@K}@O{@My@Ia@GUQw@Qq@Su@Sq@Uq@Wq@Yq@Yo@OYKUYi@[i@]g@_@g@]e@_@a@a@a@_@_@a@]USWQUOc@Wi@YKGWKe@SOEWKg@Oi@Mo@Mo@KQC[Ei@Em@CKAg@Aq@?a@@c@@k@Di@Do@He@HSDUEi@Lw@R}HnBe@La@Hi@Je@Fg@Hg@Bm@Be@?g@Ae@Ce@Ci@Ig@Ia@Im@Qe@Og@Si@Wc@Ua@W_@We@_@]Ye@e@a@a@c@g@_@e@_@k@]g@Ye@[i@Uc@cKwQaVyb@e@{@c@y@c@{@[s@a@_A_@}@]_A_@cAY}@[eAY_AaJ_\\[iAYcAWgAYgAUkAUiAQgASoAM_AKw@K_AGg@Gk@KeAIgAMc@Ew@Eq@EiA", - "jeżówka|gajówka apo": "gsrrHkl}wBGkACeACkAAmAKqJ?i@?WCeAA_AEy@C_AGy@G}@I{@K}@Kw@M{@My@Qy@Os@Sw@Su@Us@Sq@Wq@Wo@[q@Yk@[m@[i@c@s@uAwBg@gAWe@a@q@]o@Ym@Wk@Wq@Ws@Yy@W}@WaAQy@Os@O{@O_AIm@Ky@I}@Iy@E{@Ey@E}@C{@Ak@?e@?i@?w@?y@By@By@Bq@FaADy@Hy@Hs@J}@Jy@Jw@Ny@HiAjE_VH_@TqARmARsAPkARqAPsANqA@CNsA`Gsh@NqARwAPsAPmANgAPcAT}A~BsN", - "gajówka apo|gajówka": "crrrHumexBr@eD|AoJjCaPnDkT~@yFVyAT_BTaBRyATeBP{ARgBLsAxCy[LqAdA_L", - "gajówka|charsznica": "euqrHspixBh@aGHaA|@mJL{ANaBJ}AJcBHgBH_BdC}i@ZyGFuAHsADm@JuAJwALeBN_BPaBNaBz@mHNsAJmAL{AJqAHsAFsAFwADwADqABoA\\yTb@{XEu@BmA@sA?wAAc@AaAC{@Ag@AYG}@G}@Iy@I{@K_AO}@Mu@Q_AOq@Sy@Sq@Uu@Uo@Wu@Yq@[u@_BsDg@kA[w@Yu@[y@Y}@Uu@W}@U{@UaAQ{@SeAQcAO_AM{@My@Kw@qA}JkBmNUgBOkAKgAKcA", - "zduńska wola karsznice|gajewniki": "o|{yHqr{rBaAhCkI|TcHbRqAfD_AzBeAzBcAjBu@fAiApAcA`AeAt@mAt@}@`@kBh@iBXoADqAAeL{@eBO}AIiBAqAHiCZgANiAHaAC_@A[G_@C]I_AWg@Sg@Ui@[g@]eA_Aa@c@a@]q@kAgAkBa@aA]aAQg@Me@[oAUiASgAOiAOmAIeAGcAEeACcACqAIK", - "retkinia|łódź kaliska": "k`yzH_aouBMo@kAeGqAuGyBcLq@kDq@gD[uA[sAa@}A[iAW}@a@oA]cA]_A]}@Ys@_@{@Yq@[o@Yi@Wg@[m@a@u@_@o@Wc@]e@Q[W][c@EG_@g@_@g@_@c@]_@WY[]_@a@WSWW[[WS_@[[We@_@CAYSYQUQUMYO[MOGMG]Ma@M]K]GYGQCIA[CYCa@C]?W?Y?]@U@[BWBWDA?u@HC@sANqANeAX}@VSFUHSFSJWHk@VWJeCdAi@Ri@TqDzAYLk@Ti@R{@^SH]LWJ[JUHYHa@LOFQFQJOJSd@IDa@?UAKX[P[RSd@", - "zgierz|glinnik": "g{l{HsepuBe@e@mCaCyCmCkSaRuAkAyBmB{BqBKI_EsDGE}@{@y@w@YWs@o@}@w@o@m@YWMKe@c@a@[a@]a@]a@[yAqAcC{BgGwFuI_ISQkCgCc@c@a@g@OQOS]g@_@k@[i@OUMUS_@CIMWSa@O_@Qa@Qa@Oa@Oa@K]K]K]K[Me@Ka@Ke@Me@Ia@I_@Ia@G_@O}@G_@Ga@MaAK}@KcAIaAKcAGeAIcAIaAOeBEs@C[Eo@E]Ew@Eu@Gw@GoAEi@Ac@GqAEoAG{AE{AE{ACyAC}BC{BAwAAe@A{BMsNE_GCqB?OAaAAaAAw@Cu@C}@E}@Gy@Gy@Iy@Iw@Gm@Ko@UuAQaAQ{@Om@Uy@Uy@Uu@Yu@o@iBg@uAg@uAi@wASi@Sk@MYUk@Sa@Qa@k@eAm@cAe@q@QUSWk@o@k@k@u@q@w@k@k@]WMUMk@WWIWIi@Qi@Ko@KWEWCi@Ek@AY?c@?i@BWBU@[DMBM@YFYF[H]J_F|Aa@H_@H_@Ha@Dg@DQ?UBY@YAO?c@AQAQA}@Ko@Ko@MmAa@a@QOIQI[Q]Sc@Ya@[a@]a@_@i@k@g@m@q@}@m@aA[i@OWMW]u@]y@Uk@Qg@Sk@Qm@Oi@Ok@Mm@Oo@O{@G[G[]wBUuAIk@Kk@QgASkAMq@Oo@Oo@I]EQWaAY_AaBoFcBsF[eAQk@Mg@Me@Mk@YoAMu@G[G]SuAOoAS{A]qC]uCUiBUiBk@wEUgBMq@Kq@Oy@Qw@Oq@IW]kAc@uAEMo@aB}A_Eu@oBc@uAIYQq@UaAIa@Ki@Ie@Km@U_BUeBSgBi@mE", - "glinnik|stryków": "oau{H}r~uBg@iEm@iF{AgMwAuLCMoBwPeBaOKu@s@aGUqBWmBQeAQeAWqA[qAm@wBI[g@uAi@sASe@EIYm@g@y@g@w@g@q@i@q@??]a@_@_@o@i@i@a@k@a@cAi@]O_@Qi@Qm@OWGYGs@KoAK_FQaBGgAM}@O{Ac@aAc@y@c@y@g@u@m@kAgA}BgC}AaBqF_GuB{Bi@m@g@q@a@m@_@m@c@w@Ym@Ym@Yq@Wo@Ws@Us@Su@Sw@Sw@Q{@Oy@My@M{@K}@K{@G}@I}@E}@Eu@Cw@CgAAeA?cA@aA@gABeAHwB@WD_BHwBD{@By@DsABsA@_A@aA?}@A_AC_AA_@Aa@E_AG}@C_@C_@I}@K}@K}@M{@Mw@Q{@Ow@Sy@Sw@IYKYI[KYUm@Sk@Si@Ug@_@w@_@u@_@s@a@o@c@m@o@u@o@o@oBaBiA_AUUkAeA][[][]Ya@a@g@_@k@_@o@_@u@Yk@Yq@Yq@Wq@Us@Su@Uy@S{@Qu@Ou@M}@G_@G_@K{@E]C]Ec@Ea@IcACe@Cc@EeACmA?e@Ai@?oA@qABsABqA`@_P`Ag`@?KnBow@@Mt@wZv@e[DiBDgBFeCF_C@eC?iA?qAAqACoACoAGwACa@Ac@GcAMiBKmBMkBOkBaAoO_@oFMiB_AeN", - "stryków|głowno": "ixy{HyyqvBuBw[_Cy]QkCCk@OwBKmAGq@Gm@Gm@E]E]G]E_@Oy@O{@Qy@Sw@Qu@Uw@Uq@Ws@Wq@Yq@Yo@[k@]o@_@m@}CqEwBaDwGsJkBmCkBmCuE}GwB_Ds@cAs@aAaBcCkAcBkAcBe@m@c@k@MMW[e@g@y@y@uAkAm@e@k@a@m@_@o@]o@[o@[}CoAKEqUgJa@Q_@SiAm@eAw@c@_@a@_@GIw@{@aAoAy@sAWi@[i@[q@Ys@Wq@Uq@Uu@Uy@Sw@Qw@Qy@O{@O{@M{@I{@K{@QyBK{BKuCOqFKyBIoAIoAKmAMmAMkAOmAOkAQgAQiACMQ}@SeAWeA]}A_@{Ak@}BkNsk@uEkR_CuJWeASy@Sy@Sy@Oq@Ok@a@cBaA_EaA}Da@_BOo@Oo@YgAYeA[eAMa@Ma@[aA_@aA_@_Aa@_Aa@}@OYISIOQ[Q[e@w@c@u@g@u@o@aA[a@W]uF}HwCcEaGgI_GiIsMwQEGi@u@g@y@Y_@Yc@c@u@e@y@c@y@c@{@a@}@a@aA_@_A]cA]eA]eAYcAYeAMg@Mi@Kg@Mi@ScAQaAIc@Ii@QiAa@{C[_DKqAIsASqDm@sLyAgZy@uO[mG]mGOoCMyBU_CM_AM}@e@iCg@{B_@uAEKk@}Au@iBs@{AoAuBsAmB]e@UUIIe@c@g@_@c@Yg@We@SWI_@K_@I_AS", - "głowno|domaniewice": "qjc|HkbgwBiBc@}FsAqKeC{Bg@iSsEmBe@oBe@aB_@eA[cAa@y@c@s@e@gA{@eAcAcAmAeA_Bo@kAcAoB[q@kCwF_FiKoBiEw@aB[q@MWMWaCeF}B}Ek@mAi@oAe@gAe@kAo@_Bi@{Ak@}Ae@yAGOQk@Wy@W}@Wy@i@oB]uAMg@Su@]}A]}A]}A[_BY}AY}Aq@cEcByJG_@}AgJ{A_Jy@aF{B{M{A_J{A_JwD}TaA_G_@}Ba@{B_@_Ca@}BIe@WwAO_AS_AScAUaAKa@I_@K_@K_@YcA[aAc@sAo@cBa@cAe@eAa@{@a@w@m@gAi@_AcCaEwBoDyFsJ_DkFsIwN}]ul@yEcIaC{D}B{D{FuJuA_Cs@oAs@sAm@kAi@kAm@qAm@qAu@iBu@kB}AwDM]y]y{@uAeDa@cAo@_BgDkIoC{G_A}Bg@qAOe@Oa@]kASq@Qw@Qw@Qy@SsASuAQ_BM}AM{BIyBEqCGsCI_CE{@G_AG_AGq@AIKy@Kw@My@E[I]Mu@Qu@c@oBm@cCaB}GcB_HsCkLoAcFcAeE_AwD}BkJiNik@", - "domaniewice|łowicz przedmieście": "ygo|Hih~wBkDoNyEqRgRiv@qAoFwDkOy@eDmB}HoBaI}E_S{Jaa@u@wCEUYiAWeA[yAOw@Mu@OcAMcAKeAIeAGgAGaACaAA}@AgA?eA?s@ByC?o@BaC?_A?}@?m@?k@Am@Ai@Cq@Ak@Eo@Cm@I_AG}@K}@Ky@M_AQ_AUmAUiAs@{CAI{C}Me@qBcEyQcEwQeD{N_@{Ay@wDe@sBq@uCWkAWiAQu@Qs@a@iBcAsEkCgLiCgLcAsEcAqEwCoMaCiKI[a@_Be@{A]iA_@eAaAeCgAaCu@uAqA{BiBiCyBgCiAgAeB{AaIeHiAaA}SaRmHsGiOwMgIiHqUoSgJeI}CoCkE{Dy@m@oAaAi@_@i@]sA}@aBaAwAu@aBw@mBw@_Bm@sBo@uBo@uDgAkDeAaBe@SGsDgAoCy@mJqCgHuBqEsAeC{@aBo@oAm@y@a@yAu@y@e@IGaBcAm@c@i@_@iA{@gA{@sDaDoBaBgGkF{DeDsBgBo@k@{CoCg@i@c@g@_@g@[e@U_@GGYi@OYEIUc@k@qAe@oAYy@Uu@c@gB_@gBIc@SgAw@_GiF_`@iCoRyA}KCQoAiJK{@Ge@G{@", - "łowicz przedmieście|domaniewice": "_o}|HwewxBnAhJBPxA|KhCnRhF~_@v@~FRfAHb@^fBb@fBTt@Xx@d@nAj@pATb@DHNXXh@FFT^Zd@^f@b@f@f@h@zCnCn@j@rBfBzDdDfGjFnB`BrD`DfAz@hAz@h@^l@b@`BbAHFx@d@xAt@x@`@nAl@`Bn@dCz@pErAfHtBlJpCnCx@rDfARF`Bd@jDdAtDfAtBn@rBn@~Al@lBv@`Bv@vAt@`B`ArA|@h@\\h@^nA`Ax@l@jEzD|CnCfJdIpUnSfIhHhOvMlHrG|S`RhA`A`IdHdBzAhAfAxBfChBhCpAzBt@tAfA`C`AdC^dA\\hAd@zA`@~AHZ`ChKvCnMbApEbArEhCfLjCfLbArE`@hBPr@Pt@VhAVjAp@tCd@rBx@vD^zAdDzNbEvQbExQd@pBzC|M@Hr@zCThATlAP~@L~@Jx@J|@F|@H~@Bl@Dn@@j@Bp@@h@@l@?j@?l@?|@?~@C`C?n@CxC?r@?dA@fA@|@B`AF`AFfAHdAJdALbANbALt@Nv@ZxAVdAXhADTt@vCzJ`a@|E~RnB`IlB|Hx@dDvDjOpAnFfRhv@xEpRjDnN", - "domaniewice|głowno": "ygo|Hih~wBhNhk@|BjJ~@vDbAdEnAbFrCjLbB~G`B|Gl@bCb@nBPt@Lt@H\\DZLx@Jv@Jx@@HFp@F~@F~@Dz@H~BFrCDpCHxBLzBL|AP~ARtARrAPx@Pv@Pv@Rp@\\jAN`@Nd@f@pA~@|BnCzGfDjIn@~A`@bAtAdDx]x{@L\\|AvDt@jBt@hBl@pAl@pAh@jAl@jAr@rAr@nAtA~BzFtJ|BzD`CzDxEbI|]tl@rIvN~CjFxFrJvBnDbC`Eh@~@l@fA`@v@`@z@d@dA`@bAn@bBb@rAZ`AXbAJ^J^H^J`@T`ARbAR~@N~@VvAHd@`@|B^~B`@zB^|B`A~FvD|TzA~IzA~IzBzMx@`FzA~I|AfJF^bBxJp@bEX|AX|AZ~A\\|A\\|A\\|ARt@Lf@\\tAh@nBVx@V|@Vx@Pj@FNd@xAj@|Ah@zAn@~Ad@jAd@fAh@nAj@lA|B|E`CdFLVLVZp@v@`BnBhE~EhKjCvFZp@bAnBn@jAdA~AbAlAdAbAfAz@r@d@x@b@bA`@dAZ`B^nBd@lBd@hSrEzBf@pKdC|FrAhBb@", - "głowno|stryków": "qjc|HkbgwB~@R^H^JVHd@Rf@Vb@Xf@^d@b@HHTT\\d@rAlBnAtBr@zAt@hBj@|ADJ^tAf@zBd@hCL|@L~@T~BLxBNnC\\lGZlGx@tOxAfZl@rLRpDHrAJpAZ~C`@zCPhAHh@Hb@P`ARbALh@Jf@Lh@Lf@XdAXbA\\dA\\dA\\bA^~@`@`A`@|@b@z@b@x@d@x@b@t@Xb@X^f@x@h@t@DFrMvQ~FhI`GfIvCbEtF|HV\\Z`@n@`Af@t@b@t@d@v@PZPZHNHRNX`@|@`@~@^~@^`AZ`AL`@L`@ZdAXdAXfANn@Nn@`@~A`A|D`A~D`@bBNj@Np@Rx@Rx@Rx@VdA~BtJtEjRjNrk@j@|B^zA\\|AVdARdAP|@BLPhAPfANjANlALjALlAJlAHnAHnAJxBNpFJtCJzBPxBJz@Hz@Lz@Nz@Nz@Px@Pv@Rv@Tx@Tt@Tp@Vp@Xr@Zp@Zh@Vh@x@rA`AnAv@z@FH`@^b@^dAv@hAl@^R`@PpUfJJD|CnAn@Zn@Zn@\\l@^j@`@l@d@tAjAx@x@d@f@VZLLb@j@d@l@jAbBjAbB`BbCr@`Ar@bAvB~CtE|GjBlCjBlCvGrJvB`D|CpE^l@\\n@Zj@Xn@Xp@Vp@Vr@Tp@Tv@Pt@Rv@Px@Nz@Nx@D^F\\D\\D\\Fl@Fl@Fp@JlANvBBj@PjC~Bx]tBv[", - "stryków|glinnik": "ixy{HyyqvB~@dNLhB^nF`AnONjBLjBJlBLhBFbA@b@B`@FvABnABnA@pA?pA?hAAdCG~BGdCEfBEhBw@d[u@vZALoBnw@?JaAf`@a@~OCpACrAApA?nA@h@?d@BlADdABb@Bd@HbAD`@Db@B\\D\\Jz@F^F^L|@Nt@Pt@Rz@Tx@Rt@Tr@Vp@Xp@Xp@Xj@^t@^n@^j@`@f@X`@Z\\Z\\\\ZjAdATThA~@nB`Bn@n@n@t@b@l@`@n@^r@^t@^v@Tf@Rh@Rj@Tl@JXHZJXHXRv@Rx@Nv@Pz@Lv@Lz@J|@J|@H|@B^B^F|@D~@@`@@^B~@@~@?|@A`AA~@CrAErACx@Ez@IvBE~AAVIvBCdAAfAA`A?bA@dABfABv@Dt@D|@H|@F|@Jz@J|@Lz@Lx@Nx@Pz@Rv@Rv@Rt@Tr@Vr@Vn@Xp@Xl@Xl@b@v@^l@`@l@f@p@h@l@tBzBpF~F|A`B|BfCjAfAt@l@x@f@x@b@`Ab@zAb@|@NfAL`BF~EPnAJr@JXFVFl@Nh@P^P\\NbAh@j@`@h@`@n@h@^^\\`@??h@p@f@p@f@v@f@x@Xl@DHRd@h@rAf@tAHZl@vBZpAVpAPdAPdAVlBTpBr@`GJt@dB`OnBvPBLvAtLzAfMl@hFf@hE", - "glinnik|zgierz": "oau{H}r~uBh@lERfBTdBT~AJl@Hd@Jh@H`@T`APp@HXb@tAt@nB|A~Dn@`BDLb@tA\\jAHVNp@Pv@Nx@Jp@Lp@TfBj@vEThBThB\\tC\\pCRzANnARtAF\\FZLt@XnALj@Ld@Lf@Pj@ZdAbBrF`BnFX~@V`ADPH\\Nn@Nn@Lp@RjAPfAJj@Hj@TtA\\vBFZFZNz@Nn@Ll@Nj@Nh@Pl@Rj@Pf@Tj@\\x@\\t@LVNVZh@l@`Ap@|@f@l@h@j@`@^`@\\`@Zb@X\\RZPPHNH`@PlA`@n@Ln@J|@JP@P@b@@N?X@XATCP?f@E`@E^I^I`@I~E}A\\KZIXGXGLALCZETAVCh@Cb@?X?j@@h@DVBVDn@Jh@Jh@PVHVHj@VTLVLj@\\v@j@t@p@j@j@j@n@RVPTd@p@l@bAj@dAP`@R`@Tj@LXRj@Rh@h@vAf@tAf@tAn@hBXt@Tt@Tx@Tx@Nl@Pz@P`ATtAJn@Fl@Hv@Hx@Fx@Fx@D|@B|@Bt@@v@@`A@`A?NBpBD~FLrN@zB@d@@vABzBB|BBxADzADzAFzADnAFpA@b@Dh@FnAFv@Dt@Dv@D\\Dn@BZDr@NdBH`AHbAFdAJbAH`AJbAJ|@L`AF`@F^N|@F^H`@H^H`@Ld@Jd@J`@Ld@JZJ\\J\\J\\N`@N`@P`@P`@N^R`@LVBHR^LTNTZh@^j@\\f@NRNP`@f@b@b@jCfCRPtI~HfGvFbCzBxApA`@Z`@\\`@\\`@Zd@b@LJXVn@l@|@v@r@n@XVx@v@|@z@FD~DrDJHzBpBxBlBtAjAjS`RxClClC`Cd@d@", - "zgierz|łódź żabieniec": "g{l{HsepuBxApAf@d@RRr@p@^\\RRDF`@b@VXXX^^ZZdCzBrBnB~@z@`Az@RNVRRNVRZRXPZPXNXN^NVLVJ\\LTFXH`@J\\H\\H`@FTD\\D^B^D@?`@@f@@j@?r@Aj@CbAIbBQ`D]nCYfAKFAz@Ix@Kp@Gz@Kx@InAMv@IdAMv@IdAKt@I\\C^EVFl@C^CRAt@C^Ap@Al@?n@?f@?v@@b@BV@z@BnAHF@rF\\r@Dt@FZD^Bd@H`@F^Fb@Hn@Nd@Ll@Pj@Pd@NXLVJTJNFNFRJVL\\PTLNJZBPJh@ZhHlE~AbAjAp@pAv@rAx@tAx@jBbApE`CdCrA`DbBfAl@bQdJBBrGhDxDrB|Ax@bBz@|BnA^RhB`Ap@\\hAl@fDfBxAt@h@Tv@\\t@Tp@Rl@Pl@Lp@Ll@HD?h@Fr@FdBF\\?h@?r@Ab@Ap@Ep@Gp@Kp@Kn@Mx@Sl@OzQiG", - "gajewniki|zduńska wola karsznice": "uq_zHctzrBBpABbADdAFbAHdANlANhARfAThAZnALd@Pf@\\`A`@`AfAjBp@jA`@\\`@b@dA~@f@\\h@Zf@Tf@R~@V\\H^BZF^@`ABhAIfAOhC[pAIhB@|AHdBNdLz@pA@nAEhBYjBi@|@a@lAu@dAu@bAaAhAqAt@gAbAkBdA{B~@{BpAgDbHcRjI}T`AiC", - "łowicz główny|warszawa gołąbki": "_t_}HavxxB|@yAbA_BbA_B|@wAT_@d@u@f@u@j@_A~ByDnAqBV_@Ta@b[{f@`BmChAgB|@wAV_@bC{D\\k@FKV_@\\k@\\k@x@oAFKhBwCJQz@uAT_@PYPYVc@P[R]LWNYNYVi@Tk@Rg@JUFQPe@Ri@Pi@Pk@La@L_@Ja@Po@H]H_@Je@Jc@Jg@Jm@Ha@Hc@Hi@Hc@Fc@D_@Fa@BWD_@Fe@Fi@Di@Di@Di@Dg@Bc@B_@@]B[Bk@@i@Bi@@o@Bo@?]@k@?i@?i@?[?s@?q@Ai@Ai@Ai@Ai@Ci@Ck@Ck@Cg@Ci@Ei@Em@Ek@Em@Ee@Ge@KeAI}@AGWoCiBkRMkAKmAGq@Gi@Ei@Gk@Ei@Ek@Ck@Em@Em@Cq@Cs@Co@Cw@Aw@Aw@Aq@Aq@A{@C{B?i@EeFQ_RGoIAeAEwDAyACwACyAAaAASG_ECmAC}AAgAAoAAoACcB?c@AiBEwECeBAs@?u@Aq@Aq@Ak@Ag@C_ACq@Cu@Ck@Ce@Ce@Cc@Cg@Gy@Es@Eg@C[CUCWC[EYCUGq@Io@Is@Ks@Iq@ACIk@Mw@Ko@Ko@SiASkA]iBwCiPiE{UoAcHY}ASgA}Fc\\qFkZq@uDsC_PeAeG_AiFwA}H{@uEYcBaLun@UmASkAOu@Mu@y@uEaAuFaAgFm@mDGYWyAoByKEQIg@gAgGAEc@eCc@cCkEmV{BkMkBuKc@_CO{@Ii@cCgNUqAUqAg@qC}@cFSiAeIid@UoAUkAMm@Mo@Qy@Qs@Oq@Qq@YkAYiAaNei@iCcK]sAKc@gAeE{HsZWgAmBmHo@iCWcAk@{BcFaSqEiQOo@gDsMsD{NOi@]uA{AaG[iAYiAQm@Qk@I_@EMQk@Qi@Qi@Ww@K[ISKWSk@Si@Ui@Ug@M]MYMWQc@Ug@Ug@a@y@yDkIkFeLmC}Fc@_Ag@eAmAkC}BaFYk@?AgA}BoFmLuCiGcE}Ig@gAQ_@qAsCmEkJuFuLu@aB_AqB]s@a@{@Ue@Ue@S_@AEUc@Wc@Ua@OYQYOWGKMQWa@W_@W_@U[W[CCW]W[Y][]WYYY]][WYY]YYW[WOMMKo@e@m@e@u@i@m@q@oByAaD_CaDaCe@]MK{JoHyFgE{EmDIGgIeGqEgDoDmCWQ]W[UcAw@i@a@[W]UUSIG]Y[YOMMM[Y[Y[[Y[[[AAWYUWUYSUSWOSOSGGOSU]GGQYQWGIYc@Ye@Ye@OUKQYg@[k@[k@c@u@EI[m@KOsAcCaCmEgFkJqEkI[k@We@CEuCmFiAsBa@u@c@w@EGyN{WUa@Q]aHgMgBaDg@_Ag@}@eDeGMUOWiL}S_@q@eBaDoCaFUSeB}Cm@iAi@aAi@aAsAeCo@iAsIwOqCgFa@s@mA{BcG{KiE{HeG}KqCeF{CuFc@u@a@u@Ua@U_@Wa@Wa@W_@U]UYSYSWQSQSQSY[Y[YYYWYY[WYU[W]W]WEEWQaLgI{@m@cQgMgE{CiCkBgIaGIGs@g@iBqAaD_CGE{CyBm@c@]W]W_@WYQEE[QWQYQ[OYO[OKGYM[Mc@Q_@M_@Ma@Oi@QuQyFECcBu@_@K_@M_@Mk@Uo@Wu@]g@Wk@_@k@]sAcAaA{@EE_Ay@kBeBkCeCuHgHs@s@u@y@s@y@q@{@g@u@U]Wa@a@o@c@{@a@s@_@u@{@mB_@aA_@aA]aA[cAy@oCa@qA_@qA[aAI[sAuECIwAcFuAmFgCyIoCcJeAmDuAiEaCiHsAcEaAeDi@eBa@sAm@sB[gAUu@Su@Qq@Mo@Qy@Mw@QiAOeAOyAKyAI_BEyACsAAoA@sA@oAF_BFyAH{AJ{An@qJV}DPeCDs@PkCdBoWlGe`AhCi`@lBoYb@mGvAiTrDqj@rCsb@LiCLaCDw@@e@FgBDgABaADuBJoEjAcl@l@{YxCezA?EXwN`Bkx@PwHBmBDkBBe@@g@J_EDeADaAHcBH_BJeB\\mGZmGxDos@lAcUlDkp@`AsQj@gK`@yHfEsw@@If@mJhAoS`Ecv@HuAn@oLl@_L\\eGhFqaAfAmSFaAHaB`@}JxDws@pOcuCtFmdAn@oLlOcsCvAyWpB{^fBo\\dC_d@`AwQdBo[pB__@\\_Hb@sH@WlBy]zA}Xf@gJhAaTv@oNl@}K^eH`Coc@tCuh@ToELcCFgAF{AFsADoADqAD}A@cAB_B?kA@_B?yA?aBAcBY_k@?SEiJ?OEcHC}EA{CGiJEuJYci@AeAAsCw@kfBGwLEyJAaAIkRG_LAaAOi^GmM?MEqHGiMGgMCeACiAEmAEgAMeCKoAKoAMyAOmAOqAQsAIg@QcASiAa@uBc@mBe@sByByI_@}AsAmFEOwJy`@oNkk@kKub@q@mCwCwLwGeXg@oCa@uBUsAQoAKaAMqAGaAGeAEqACoAAuAAwDGgFA{_@A}J@_BBwCBcBF}AHaBd@_K`@oIDoBBwAB{A?eB?{ACwACmBGsBIgBKoBeAaPu@aLsBg[e@uHoBoZw@wLiAkPI}@QkBUiBq@iEq@kEwByMo@iEe@yDYiCQqCiBmXwAgTaCe^iDqg@iAsPk@uIg@wHa@eG}@gNqAmRo@uJa@aGSgDEw@Ck@Ck@Es@E}@C{@C}@Cu@CaAAcAA_A?{@Ac@?W?_A?_A@}@?mA@y@@y@BoDXe_@DqDJwL@oCRwTDkF@sBJqMDcF@wAByA@{AB_BBaB@{AByABaA@s@DaC?SDuBLkIB{AB{ABgAHqGFyE?WBsA@oA@oA@eA@{@FcHDeHByBBiD@yA@wABmG@wBBiI@{A@{A?uA?u@?_@?yG@oA?s@?u@?}@@w@@u@@iCBoC?s@?M@_A@_B@_BHmI?MFeIFcH?YVa[P{T@I`@sh@LsNHeJ@q@?s@f@qj@AeG@uA?sA?w@?y@?w@Aw@Aw@Aw@Aw@Ai@AMCw@Cy@Ew@Cw@E{@Eu@AI@i@Ca@OeCQuCUeESaDO{B", - "sieradz|sieradz warta": "_k}yHgnhqB]s@Wq@]{@Yw@Ww@Y_AUw@gAeEa@uA", - "sieradz warta|sieradz męka": "_t}yHmciqB]mAYaAUs@Ws@g@qAKSYm@Yk@c@{@CE]m@g@_AcF{ImI_OgEqHk@cAi@cA[o@Wk@Yq@Wq@Uu@Us@Uw@Qu@Qy@Ow@Y{AY_BEU}H{d@s@cEs@_EeBeKwDuTUsAcHsa@c@mCSoAQmAQmAOoAOsAKmAKqAIqAGoAGsAGuACoACoAAuA?mA?yA@k@?i@BwAB_ABc@By@DcADgAHeAJeBFw@J_BNiBJuARwBN}A`@iEz@aJ", - "sieradz męka|męcka wola": "y_`zHqsrqBLqAJcAJ_AL}@L{@N{@Nw@Lg@Lg@Pq@Le@J]Tq@Tm@Rk@Vk@\\s@Xk@NWH_@Xg@`@k@\\e@\\e@lG}HjDkEhAwAd@k@\\g@T]\\k@`@w@NYRa@Tg@Vs@Tk@Vw@XaAV_APu@Nu@RaANaAL_AJ}@LmAJmAFkADiADqA@mA@y@@y@@sB@gFDmMDoMBkMVae@?WZwcA@oE?oAAsA?IAgACuACqAEuAOgE_@iKiAc\\McDWsHi@}OG}AUsGUaHqAg^WyGWmH", - "męcka wola|izabelów": "q|~yHah`rBq@gRo@aRIiBGcBEcBE_BEsAAqAAqA?sA@uA@wAViRZgV`BqoAf@kf@FmEBqA@sA?qA?qAAmAAsAC}ACcB_@kRSwKo@{]yBglA?U", - "izabelów|zduńska wola": "ua_zHavlrBaAai@Ak@eAoj@IoEC{ACqBAu@?q@Ay@?oA@qA@oE@{A?mBAyACmBg@qb@?I@sCUgR", - "dobroń|chechło": "ewbzHetltBkB}HuCwLCMiDmNEUgKyb@i\\{tAEOuRwx@gRmw@iEoQ_@}Ae@mBS}@Sw@S{@YgAWcA[mA", - "chechło|pabianice": "kbfzHanvtBWaA]iA]kA{@uC}Nig@_N{d@IWkKi^mGmTkA_E{@uCaAcD[eA[eA]gA]aA_@eAa@eA_@eAkDuIgAqCaAeCeAiCw@oBq@eB", - "pabianice|pabianice północne": "cwhzHuz|tBg@kAYq@i@oAUk@a@{@cA_C_A_C}@yBy@uBe@gASm@Uk@k@}AgAwCcAqCsCeHgHqQSi@oBaFO[qBeFyFuNmA{CWk@Se@Ug@Sc@Ue@MWQYO[U]OWU[MQSWMOOSSSOQQOOOQQMKQMOOQKQMOKQK", - "pabianice północne|łódź lublinek": "{{jzHcy`uBOKMGSKSIYMYM_@M[I]I]Ic@I[E_@E_@Eg@Ga@Eo@Ga|@aImTqBoRgBWC{Fi@oTqBgCU}Go@UCk^eDySmBw@Gu@Gy@Gq@Cw@Es@Aq@Ay@?s@?w@@kQN_@I_@A_@Aa@A_@E]Ea@G_@G_@I_@M[Ka@O_@QQISKUM[S]U[Y[W]YYY[]Y[?AW[Y][e@]e@oCsDmAcBg@s@]e@yEuGcDqEaByB{AwB}CgEu@eAGG", - "łódź lublinek|łódź retkinia": "{otzH_zcuBc@m@oAeB_B{BCC}\\ce@cCgD[a@mFoHu@cAi@u@e@q@[g@c@u@U_@_@s@]q@Ug@MWUg@O_@Uk@M[Ws@Qe@]cA[eAY_A]sAWiAQs@Mq@}BkLqD{QwAkHwAqH}CwO{CuOkJwe@wCkOG[uC{NkBoJi@oCeB}IYuA]gBYuAi@qC", - "łódź retkinia|retkinia": "omxzHmamuBqAwG??m@}Cg@gCsGq\\qAyGOY}@mE", - "retkinia|łódź pabianicka": "k`yzH}aouBQcAc@oDMw@Io@Km@Oy@}AcIaA_Fq@iD_@oBMm@{A}Gq@yC[sA[{Au@sDw@aE[aBG_@COKq@K}@IaAC_@Cc@Ca@Aa@Aa@?e@A]?e@?g@@c@@c@@g@Ba@Bg@Bg@B]Di@Da@D_@Fa@Fa@D_@F[FYFYBSHYHa@La@Ja@J_@JYL]L]LYJSHSHOHQLSPYNUNSNSPSNQJIJMJKLIVSJIRMPKNIPGJGRIPGPEl@STITGRGFAZWFAf@GXERJ\\CTSJAVCRANAPCXATJXARARA`@AnCKXOTATAZCHJRQLJPQLJTQHJ^G|IsAh@I\\G@MXG^GVGf@MPERGXK^?`@Q\\O\\MXMn@g@bAe@TKTKTKHFZOXKAKb@Q`@O^Ov@W|Bs@RBLE\\M?K^OZMV?PG\\QpEoBl@Y`@SDOXARYJGd@YPKXE@MVQTE\\Wf@e@t@s@AO`@c@h@_@t@}@EKl@u@f@q@REr@}@bAqAPUvCwD", - "łódź kaliska|łódź chojny": "}r|zHqnquBn@m@bA_Az@u@bAaAFGnCmCXYFERQXYBCZYFElAeAVULKVUJIRQLKJINOHGTQRONMRMTOHEPKLIVONINI`@SbAe@VMhB}@p@[l@Y|BiALGTKDATKTKXKVIZITGXGTEr@M|NeCfB[jCc@`F{@`@I^Gb@KjBa@dE_ANCjCk@zA_@HAt@Q@?`@IbAUhAS`@I^GHCh@GPCRCNC\\CTCl@GHA\\CNAPAPAXARARA`@AnCKXOTATAZC\\E^Eb@E`@GdJuAf@I`@GXG^GVGf@MPERGXKZKb@Q\\M^QVKp@[bAe@TKTKTKb@QXMb@Q`@O^Ov@W|Bs@^M^M^OZMTIPI\\OnEqBn@Yh@W\\QNIJGd@YPKZSVQj@e@l@i@t@w@`@c@b@g@t@aAl@u@f@q@|@kAxAkBvC{D~@kAh@s@r@}@Zc@t@aANS\\g@^m@Xg@^s@Xk@\\w@Vo@Ts@Rk@Lc@Le@H[Ru@Lo@R}@Nu@Lw@lA}GbB{J|@eFXeBPcANgAFc@Ju@Dg@JeADm@Fu@Dy@Bk@DkA@{@?e@?U@w@?CAq@A}@Ai@Cu@Ce@E{@Ey@Gm@Gq@Gs@Gg@Mw@Ik@[eBSeAQq@Ka@[eAC_@m@cB[y@g@iA}@mBuCiGcD}G}B}Ee@eAc@aASc@Ws@KYY{@Oe@K]ESGQI_@S_AYyAMq@Ko@Ky@Iw@KgAIcAAYEe@Cg@Ae@Cs@AeAAuAAy@@iA?m@By@E]FeDJwDHsB?IX}FDy@h@eKz@yPTkE`@oIFeAFgARkCT{CRyCJsAFqARsDJoB@UBk@JsB", - "bednary|bełchów": "wi_}Hu_lyBX|AdFjYzCrPTrARhA|@`FrAnHn@lDpCbPt@~Dj@bD`B`J`Gf\\fAjGZdBZ`BLv@BJhAhGzAnI~CdQfDfRhAhGz@~EJj@F^Jl@Jx@Hj@Hn@Hl@Db@BXDb@Db@Fp@Fp@Dp@Dp@Dr@Bp@Bp@Bp@Br@@f@@h@@v@@h@B|BJ~L?V@f@@bBJtK^va@B~CFfHBnC@f@D`EBxD@t@@x@@l@@j@@j@@Z@ZBl@Bl@Bn@Dn@Dp@Fr@Dl@Dl@Hr@Fr@Hx@J|@^tDdBdQHv@VDF^D`@F^F^DXFXDTFTFVHZFRDPJZLZJZLXJTP^LVNVNVNRLRRVPRRRRRNNRNRNPLTLRJPHTJTHPFVFTDXFP@NBT@T@R?R?RAVAVCVETETGLCXIPIRIPINIPIVQPMRONMPSPOJOt@}@NQJQZe@R[zB_Dv@oAdC}Dj@}@hIsMbA_BhTg]f@u@f@w@V_@T]Ze@\\e@X_@Xa@\\c@^g@^c@`@g@\\a@^c@^c@^c@AI\\_@^a@^a@Z[b@a@H@XW^]VWj@g@`@]`@]`@]JIVS`@[\\YBC`@Y`@Y`@Y^Wr@e@l@a@BAxA_Af]mTnb@eXtEwCDC`HmEdh@e\\hIiFnAy@rA{@nAw@pBqAr@c@rA{@nAw@pAeA^WhHqEfIiFhIiFhIiFfIgFjAu@hAu@P@bGwDdAq@vA_AVOJGb@Y`@WHSn@a@TOt@Y|AaAdA}@zBwAt@e@fAq@h@_@d@YVCj@]\\UR[pEuCPM`@W^Wb@Y`@Wb@Y~@q@VQVQPMFEZSb@[RTZS\\SZS@AvCiBFE`@WJIVODCZS?c@h@[VNJGXS\\UZUZSDCVQDUR@f@[NYTAFSb@YVCp@a@rAiA", - "bełchów|skierniewice": "auo|HeghyBNIJIXQXQ`BcA~AeArAy@b@YFE|AaAh@]FEVQVOp@c@VQRKTOlAw@dFaDpAy@tFoDhIiFhIgFfIiFPKd@[d@[f@[h@_@d@]b@]^YTQTQLKVUb@_@f@a@d@c@f@c@f@e@^_@VWTW^_@\\_@d@g@b@g@b@e@`@e@`@e@`@i@TYf@q@f@o@^g@^i@f@s@^i@^m@`@m@`@o@`@q@Zk@b@s@\\m@Zm@\\o@^o@HORc@Xk@Xk@`@{@Xm@Xo@Xk@\\{@HQN_@dB}DrB}EN]`B}D@AbC{FfBgE`CsFx@oBVm@|BmFVo@dB_Ebd@yeA~@wBxa@kaAxh@mnAb@eAlBsEDIlAsCd@iAlDiIrB}EnDmIxIqSpEmK|R_e@tCyGhBiEFMfCeGTe@pEoKPc@Pc@Pe@HWJWL_@La@Ni@Ng@Ni@n@cCr@kCLc@Lc@Je@Lc@Je@Jg@Jg@Jg@Hc@He@Fe@Hg@Fg@Fg@Fe@De@Dc@Di@Dg@Dg@Do@Dm@Bo@Dm@Bo@Bo@Bk@@m@@m@Bm@?m@@m@@k@?m@?m@?o@Am@?o@?MAc@AY?UAc@Ak@Cm@Cm@Ak@Em@Ck@Cm@Ek@Em@Gk@Ek@Gk@Ge@Gg@Gg@Ig@Ii@Ig@Ia@Ga@Ic@GWG[Ic@]cBwBoKKi@CQGWKk@Ou@]eBCKIg@EUEUE]EWEYCOAa@", - "warszawa gołąbki|warszawa ursus północny": "w{s}Hsmi~B_@sGc@_HA[k@aJEq@Eq@IsAGq@Gq@Gm@Ek@Iq@Iq@Ge@UwASuAk@wDyAoJMw@?c@Ik@Ge@Ee@Gg@Eg@Ee@Ei@Cg@Ci@Cm@Ai@Ag@Ai@Ag@?i@?o@?g@@i@@k@@e@Bg@Ba@@a@Dc@B_@Ba@Da@Hu@Fi@D[Fa@DYDYBQHe@Je@Je@H_@H_@H_@J[H[H[FQJq@fKs\\hB}FzBkHxBcHrGyS", - "warszawa ursus północny|warszawa włochy": "ycs}Houo~BzEqORo@n@qBNg@Tw@BKH]Ha@F[He@Fc@F_@F_@Da@Fg@Ba@D]Be@Ba@B]@a@@a@@_@@Y?[@c@Ae@?e@Ae@A_@Cc@Aa@C_@Ec@E_@Ee@E]E]Ie@G[EYMq@Om@[yAUkAQs@aAmEsAcGAIk@iCc@qB_@{As@_D_@uA[mA[kAqAwEOi@Om@I]K]Ia@Ka@G]GWG[I_@G_@Km@ESIc@GYGWDm@Le@Kc@Oq@Qq@Qu@Ke@CGYmA[sACi@", - "warszawa zachodnia|warszawa ochota": "wqv}Hco__CUiBOgAK{@Kq@Ie@?EOy@Ow@Ki@Q_AQ}@OaAM}@mD}U_@eCaB_LOgAeA}Gm@{DE]w@aFKs@Mu@QgAAG", - "warszawa ochota|warszawa śródmieście": "mhw}Himb_CIk@Ik@Km@Io@SwAcAeIIm@Is@MmAI_AOgBEi@Ek@KcAE_@Ga@Gm@YsB", - "warszawa śródmieście|warszawa powiśle": "spw}Hsvc_Cg@kBAo@E]Ga@E[G[G_@GYI[I_@i@kAFYw@qBa@eBKe@HOUWFSSUG_@@k@Ge@Ik@}A{LuC{T]}A@g@a@}CGi@Gc@Ee@Gc@Ca@CYA_@Ce@A_@?c@?_@?_@@c@Eg@@_@B_B@]?c@?a@Ao@A_@A]AYEk@Ci@Gk@Io@BWmEg]yAkLM{@My@OaAM{@Kq@Ko@sD}TMq@Kk@Ke@Mm@EeA", - "warszawa powiśle|warszawa stadion": "yxx}Hmwi_C}AiHMk@e@kBc@wA]_AQg@u@qBa@gASe@IQIOg@eAIO_@q@i@_A]i@_@i@uAkBW]W]Yg@Ua@O[S_@Se@Wm@o@}AcBcE}F}NmGwOYs@Q_@Q]Sa@_@o@_@k@SWW[UWWYi@e@YUq@c@YQOGMIQGQIQGMEMEOEWSSEQCOCMC]ESA", - "warszawa stadion|warszawa wschodnia": "i{z}H{cm_CMAO?MAM?M?aC?aCAM?O?M@O?S@", - "łowicz główny|bobrowniki": "gs_}HgtxxBbA_BdAaB^m@zDkGNUrBeDb@q@`@s@Zg@Vc@LS\\k@\\m@^o@`@o@b@s@b@s@nU}^Xg@b@q@b@u@f@w@d@y@~AoChAoBTc@x@sA^o@JSR[Zg@|BuDZg@Zg@\\k@BCXg@f@}@nAyBHOv@uAXg@Xe@FMLQP[LSt@mAzBuDd@y@h@y@f@{@Xc@z@sArAwBpAuBxPgXzC{ErD_GR[zB_Dv@oAdC}Dj@}@hIsMbA_BhTg]f@u@f@w@V_@T]Ze@\\e@X_@Xa@\\c@^g@^c@`@g@\\a@^c@^c@^c@\\_@`@a@^_@Z]b@a@DGXW^]VWj@g@`@]`@]`@]JIVS`@[\\YBC`@Y`@Y`@Y^Wr@e@l@a@BAxA_Af]mTnb@eXtEwC", - "bobrowniki|bełchów": "quv|HqgcyBDC`HmEdh@e\\hIiFnAy@rA{@nAw@pBqAr@c@rA{@nAw@pAeA^WhHqEfIiFhIiFhIiFfIgFjAu@hAu@rD}B|AcAvD_Cb@YNKh@]n@a@TOxEyCzBwAt@e@fAq@h@_@d@YDCnBoApEuCPM`@W^Wb@Y`@Wb@Y~@q@VQVQPMFEZSb@[^U`@W^WxCkBJG^W^Uj@]h@[TM^U`@U`Ai@ZS@?\\Sl@_@\\Ub@Y|CoB", - "bełchów|sierakowice skierniewickie": "auo|HeghyBNIJIXQXQ`BcA~AeArAy@b@YFE|AaAh@]FEVQVOp@c@VQRKTOlAw@dFaDpAy@tFoDhIiFhIgFfIiFPKd@[d@[f@[h@_@d@]b@]^YTQTQLKVUb@_@f@a@d@c@f@c@f@e@^_@VWTW^_@\\_@d@g@b@g@b@e@`@e@`@e@`@i@TYf@q@f@o@^g@^i@f@s@^i@^m@`@m@`@o@`@q@Zk@b@s@\\m@Zm@\\o@^o@HORc@Xk@Xk@`@{@Xm@Xo@Xk@\\{@HQN_@dB}DrB}EN]`B}D@AbC{FfBgE`CsFx@oBVm@|BmFVo@dB_E", - "sierakowice skierniewickie|mokra": "evj|HwxmyBRU|IySvXap@|@wBlFcMlZgs@fIoR~Uwj@tBaFdC}F", - "mokra|skierniewice": "}bg|HustyBRe@rCwG~@wBrB_FrB{ElBeFnDmIxIqSpEmK|R_e@tCyGhBiEFMfCeGTe@pEoKPc@Pc@Pe@HWJWL_@La@Ni@Ng@Ni@n@cCr@kCLc@Lc@Je@Lc@Je@Jg@Jg@Jg@Hc@He@Fe@Hg@Fg@Fg@Fe@De@Dc@Di@Dg@Dg@Do@Dm@Bo@Dm@Bo@Bo@Bk@@m@@m@Bm@?m@@m@@k@?m@?m@?o@Am@?o@?MAc@AY?UAc@Ak@Cm@Cm@Ak@Em@Ck@Cm@Ek@Em@Gk@Ek@Gk@Ge@Gg@Gg@Ig@Ii@Ig@Ia@Ga@Ic@GWG[Ic@]cBwBoKKi@CQGWKk@Ou@]eBCKIg@EUEUE]EWEYCOAa@", - "skierniewice|skierniewice rawka": "kqd|H}t}yBo@eDKc@a@uBm@wCmAiGOs@G[uA}GUgACq@GYKg@Ki@Ii@Ii@Ki@Gc@E_@G_@Ge@ScBGg@Gm@Ik@Gm@Ii@Gk@Ii@Ie@Ie@Ie@Kk@Ki@Ki@Ke@Ki@eCaMcDkPWqAiCmMgCkMuAaHi@gCsAyG_A}E}@kEeAkFIg@Mm@Mq@Mo@Kq@EOG_@Kq@Io@Kq@Iq@Ks@Gq@Iq@Gs@Gs@Gq@Gs@Gs@Ew@Eu@Eu@Cw@Eu@Cu@Cw@Cu@Au@Cu@Aw@Aw@Au@Au@Aw@?w@Au@?w@?s@?}A@{EHmZ@qCHu^BkI@qH@w@@{E@gHDmO@mE@_A?eAGi@?}@A{@?s@A{@Aw@Cu@Aw@Cw@C{@E_AEw@Cu@Ey@Gy@Ew@G_AG_AU_DY_EUkDC_@Eq@Gw@Gq@I_AIu@Gs@Gi@AIKy@Kw@Is@Kq@M}@Mu@Mu@Mu@Mu@Oq@Ou@Mo@Oo@Qy@Qu@uAeGI]EUEe@", - "skierniewice rawka|radziwiłłów mazowiecki": "g{f|HoolzBsA_GuAeGYmA_Io]o@qCmAkF_GgWKe@e@uB]{AOm@Qy@AAwMal@kMwj@sCaMiDeOKc@[yAEOS}@Oo@Oq@qEaSYmAYoAOq@cAkEmAmFYkAAG[sAmBiI[sAYsAmCiL[wAoCqLyEwS[yAMi@oI{^mBoIa@iB[qA[uAkBmIYoA[oAUeAOo@Mi@YqA[qA[uAmBgIGU", - "radziwiłłów mazowiecki|jesionka": "yhk|He~yzBQu@kA{E_BeHi@cCGUS{@[sAe@yBQs@k@iCmBoIk@kCU_AS_AYkAYoAoAsFe@sBCMwBmJiDgO{@uDe@qBe@uB{AyG[oAuCmMe@qByBuJo@oC{EcT]yAs@}CS{@g@wBeIg^iDgOeDyN_@aBqAyFeAuEOs@", - "jesionka|sucha żyrardowska": "_cn|Hqqb{BGWI[sDgP]yAcCqKmAqF{AuGiAeFcAmE}@{DuAkGy@kDy@qDyD}PgD_OyHc]WcAESGWCOOq@cAoEuAaG", - "sucha żyrardowska|żyrardów": "w{o|Ha_h{Bo@wC}A{G[yAs@yCsMsk@aAiEeBwHw@iDgDeO}B_KI]S{@yEwSYuAq@uCqA}FYqAYoASy@Oq@Oo@UcA]wAgBwHWoAYmA[qAYqAmK{d@qFeV]{A{@wD[qAYqA[qAYqAwKge@yGoYkDcO}FuV[yAwBaJkWihAmAiFiB{He@qBe@sBw@gDmBiIEQeAqEy@kDMm@o@qCqCuL{BsJYkAkBaI", - "żyrardów|międzyborów": "usu|H{ky{BKg@_@}AsE{Ru@cDmBiImHi[GYoCsLgAuE_A}DcAoEIYOs@cAkE{AqGe@sBKc@wBiJeDoNqM{j@GUK_@AG", - "międzyborów|jaktorów": "}tw|H_p_|BuAeGsA{FiB{HiB{HqCyL]yAaCcK{CsMy@qD_B}GGU{AyGgCuK}@{DkJea@mCgL[yA_G_WwMmk@yEqSaDeNI_@wCeM]{AsSe}@_DaNyFoVSy@a@iB]wAeJu`@AGoAqFyAoG", - "jaktorów|grodzisk mazowiecki": "kk||H{tm|BuQiw@a@eBm@iCsBaJ_A}DGUwSw}@oEmR]{A{CwMYoAYoA[uAiEaReEsQoEoRYmAo@sC}AuGOq@eAyE_A_EYoAgA_Fa@eBEQYmAU_ASw@iAiESw@Om@i@_Cs@yCg@qBS{@Su@}@mDSw@Oi@i@_CI[ESo@oCWcA{@wDmBmIGSKe@_BgHq@sCw@kDG[U}@e@mBEQS}@WeA}@aFw@cDWkAy@iDJMOk@Qm@I_@I[I[Om@QUAIwAkG", - "grodzisk mazowiecki|milanówek": "ay`}Hq_{|Bg@sBi@_C]{A]yAeGsWqC{LOk@eAsEmBqIgAuECMq@sCmCkLMi@gAyEg@yB[wA{AsGGW_GgWsKce@wCkMc@mBmAkFyKue@[wAWeA[uA[sAcDmN", - "milanówek|brwinów": "}rc}Haoc}B[sAYqA[sAc@iBYoAYmAaBmHs@wCaKwc@]yAaAgEc@kB[sA_AaE_A_Es\\yxA]{AaAeE}@_E_AaE_AaE}Lei@I]mEqRkBgIaDiNeBuHYqA]{AI[I_@Mg@qAyFc@kBs@}C", - "brwinów|parzniew": "_ag}Hy|m}BgTo_AmHw[]yA_AcE_A_E_AaE_AaEiAaFq@uCkGiXQs@iCiLa@iBu@eDu@cDEQ_AcEWgAg@wB_A_E}@{D]{Ak@iCS{@_AaE_A_E_AaEuCmMmAkF", - "parzniew|pruszków": "kvi}Hi`v}BkAeFG[uAaGm@kCCO_Kqc@Iq@yAuGiC_LWmAg@uBOs@qAuF}@}DiAaFmAkFoF{UiGgXiAaFWmAWiAk@mCk@qCm@mCeC}KCK", - "pruszków|piastów": "qxk}Hsk|}BcDoNKe@k@iCAEWgA_AaESy@Ki@Oo@c@iBMk@a@aBQy@Sw@Qs@WcAs@qCQs@[wAcBmHg@}AWiAeAwEOk@iAaFe@uB{@uDCKuAgGGYu@_DWmAYkAyNgo@m@mCuAcGaAmEQu@I]GWy@mDI_@s@aD_@aB_@_Bu@cDI]kAeFsAcGg@yBk@iCw@gD]yAkAiFGWuAcG{@wD?AWiAoAqFEQg@{BEOOs@GUMm@k@aCg@}Bc@kB", - "piastów|warszawa ursus niedźwiadek": "syn}H}qe~B??S_AI]Kc@EQYqAy@oDc@oBKa@e@qBeAsEMm@sAaGGSmAkFa@kBq@uC]}Au@eDCKqAuFi@cCg@wB]}AGWYmA}DgQk@eCg@{BsA_GuAcG{FeWcAkEQu@sAaGm@mC", - "warszawa ursus niedźwiadek|warszawa ursus": "kqp}Hi|j~Be@sBAIqAyFm@mCe@sBo@qC_@aBEMWmAy@kDAGsAaGsAaGuAaGeAyEMi@Qu@Ow@WiAWkAUgAUeAQ{@Qy@Qy@YoAYoAMm@Mi@Kc@AC_@gBUaAe@qB}@aEMe@", - "warszawa ursus|warszawa włochy": "ouq}Hwkn~BWmAOo@Om@Oo@I[mAaFWcAYiAWiAOm@I_@YmAo@uC]{Ac@kBWiAWiAc@oBs@yCa@gBUgA[qAsAcGEQm@mCQs@Ia@w@iDo@qCS}@Os@UiAMm@k@oCk@sCa@qBUmA[sA]cBa@eBq@yCuAcGm@qCe@qBS{@Qu@]oAS{@c@{As@oC]oAWaAYeA?CUy@U}@a@eBOm@ACS}@S}@Me@_@cBEOKg@WcAUeAUeAYmACQOm@J]Ci@", - "bełchów|mokra": "auo|HeghyBNIJIXQXQ`BcA~AeArAy@b@YFE|AaAh@]FEVQVOp@c@VQRKTOlAw@dFaDpAy@tFoDhIiFhIgFfIiFPKd@[d@[f@[h@_@d@]b@]^YTQTQLKVUb@_@f@a@d@c@f@c@f@e@^_@VWTW^_@\\_@d@g@b@g@b@e@`@e@`@e@`@i@TYf@q@f@o@^g@^i@f@s@^i@^m@`@m@`@o@`@q@Zk@b@s@\\m@Zm@\\o@^o@HORc@Xk@Xk@`@{@Xm@Xo@Xk@\\{@HQN_@dB}DrB}EN]`B}D@ATWdC}FlAuCRe@Xq@|BmFVm@x@mBfF{L|IySvXap@|@wBlFcMlZgs@fIoR~Uwj@tBaFdC}F", - "łódź chojny|łódź olechów pzs r3": "}quzHis~uB@ITiEJwBPeBJeAJmAHkAFaALqCt@uNH{A|@}Pd@wHh@wHl@iHjAuMnAwMp@eH`AqKRgCNkCDu@PcETwEFaBHcBBy@D}@@}@By@@{@@}@@_A?y@?{@?S?m@Aw@Au@A_AC_ACw@Co@Cm@Ci@De@AGEy@G{@G{@K_BAGUuC", - "łódź olechów pzs r3|łódź olechów wiadukt": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?I", - "łódź olechów wiadukt|łódź olechów zachód": "ihuzH_lhvBAg@IcGAm@OwLCuA?EEoAAs@C}@C{@Cs@C}@C}@Ci@E_ACg@Aa@Ck@E{@E{@G{@Eu@A_@CUKgBKcBm@yJKwA?E", - "łódź olechów zachód|łódź olechów pzs r16": "mnuzH_zjvB?DJvAl@xJJbBJfBBT@^Dt@Fz@Dz@Dz@Bj@@`@Bf@D~@Bh@B|@B|@Br@Bz@B|@@r@DnA?DBtANvL@l@HbG@f@?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", - "łódź olechów pzs r16|łódź olechów wschód": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?IAg@IcGAm@OwLCuA?EEoAAs@C}@C{@Cs@C}@C}@Ci@E_ACg@Aa@Ck@E{@E{@G{@Eu@A_@CUKgBKcBm@yJKwA?EK}AW}DKoBIiAKaBAQIkAUsDm@cKWeEMcBKaBMiBGaAEg@]qEg@yGC[[mE]{EI}@]qE{@wLKiAmFet@Y}DaAwMy@yKG{@Q}BIaAWwDYoDEo@SiCg@cHi@eH", - "łódź olechów wschód|łódź olechów łoc": "kovzHokrvBh@dHf@bHRhCDn@XnDVvDH`AP|BFz@x@xK`AvMX|DlFdt@JhAz@vL\\pEH|@\\zEZlEBZf@xG\\pEDf@F`ALhBJ`BLbBVdEl@bKTrDHjA@PJ`BHhAJnBV|DJ|A?DJvAl@xJJbBJfBBT@^Dt@Fz@Dz@Dz@Bj@@`@Bf@D~@Bh@B|@B|@Br@Bz@B|@@r@DnA?DBtANvL@l@HbG@f@?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", - "łódź olechów pzs r82|łódź andrzejów szosa": "y|tzHyoevBk@aHQ{B_@yEQy@UoC?}@KqAeAsMIgAAWGs@Ek@Ei@GE@e@IKIqAIwAMwBAkAOcCO{@Ca@Ca@Ce@Cg@Ac@Ci@Ci@Am@FECs@?IIk@IuE?ODi@IcGAm@OwLCuA?EEoAG@As@C}@C}@Ck@?EC}@E{@HCCi@E_ACg@Aa@Ck@E{@E{@G{@IWC[Da@CUKgBKcBG?c@yGEu@Cc@KuA?KW}DK}AI}ADSIiAKaBIO_@_GKeBy@}MK{AAGKcBMgBFGGaAEg@]qEg@yGC[[mE]{EMa@B[]qEc@iEWmFKiAmFet@Y}DaAwMy@yKG{@KYI}@Be@IaAWwDYoDEo@K[OiBi@eHg@cH?EWaDWqDB_@CW]sEEu@Om@SoC{BqZ[iE[kEKoAGm@Is@Ik@Km@Mq@Os@Uy@Uu@Um@Sg@Wi@Yg@QYU_@U[UWu@_AcAiAsA_Bk@o@]][YSQUQUQ]Q]S_@Q]Ka@Me@Kg@IWCUAa@Ac@?e@@aAFgEV]B}@Fk@Dk@@]?gBE[AYAgAAi@AU?S@W@M@WBG@QBOBQE", - "łódź andrzejów szosa|łódź widzew": "uvxzHgtuvBOPQDQFOFQFGDQHMFOHOJa@XYR[ZUTYZUZW^Y`@S`@]n@i@fAqAlCi@fA_@x@O\\MZ_@~@e@lAqCzH}CtI}CrI}CpI_AbC_AbCo@`Bm@dB}AhE{AhEo@bBo@`B{@pB{@lBiJxSeB`E}@zB]`A[~@[bA[bAW`AWbAm@lCSdASdAc@rCa@rC{Idq@oH`k@gFj`@a@~Ca@lD_@rD]rDYnDCNcAnMKlAS|AKnACX[vDEn@Gp@E^]nCE^K\\o@|HEl@Eb@Cd@E\\KrAOX[~BETEZCZ}@`LMrA]tEw@vJYfDAPI`AqC|]PxBg@hG", - "słotwiny|koluszki": "{wuzH_o`xB{@jBeBnD}BzE{BxEGLqBfEEHWj@{A~CkLpVyBrEeFpKc@z@U`@KRS\\GJORMRMPUXSVUVY\\MLYZmBtBg@h@_@`@MNMLOLMJMJOJ[ROFMFMFMDMFODOBODQBKBWBUBO@O@M?O@M?K?YAYAYCOCMEUEsAYq@OMCMEMEMEUBWIWIMEKY]H{Ab@yAk@]MUIBW{Am@KWg@QYKYK{GmCKFOGg@SUY_Bo@i@Ss@Ys@[WKSB[OY]]Q]Q", - "płyćwia|bełchów": "w_{{HevayBsBaEIO}@gB}A}CUc@g@aAg@aAuAoCaEaI}@eBUc@iAyBWUMWi@cAc@{@c@w@OWKSS]S[Wc@W]U]W]W]Y]W[Y[Y[WYYYYY[W]YWSYW[U[S]UWQYO[Q]Q]Q_@Q_@Oa@Qa@Qa@OkKeEc]cNq@c@}D_ByImDoAg@m@Uo@Yo@Y]O_@Q_@QWOYO_@U[S]U[S[UYW[W[WYWYYY[YYY[Y[Y]W]Y]W_@W_@Wa@Yc@S[OYOWIOYg@ISIOUe@Uc@Se@M[EISe@Qg@Sg@Qg@GQK[Oc@Qi@Oi@GOIYOk@GSGWMi@Om@Mk@Mk@Mm@Ie@Kk@Ki@Ik@Ii@Ik@G[AMGi@Ii@Go@Io@Gq@Ea@AMEq@Go@Eq@Eo@Eq@Ag@Ce@Cc@Ac@Cq@Aq@Aq@As@Aq@?q@?q@?q@?q@@s@@q@@q@@q@Bq@@q@@W@YDo@Bq@Ds@Fq@Du@Fq@Ds@Fs@LuALsARwBHcAr@}Hr@aIr@}H@SjD}_@`AwKJiALuA^eEZmD\\mDZmDXgDFq@Da@JgAv@yIVqCtByUJiALqAx@cJLwAvB}UvAaPrCc[BW@UfAwLzAuPFi@f@sFr@cIt@iILwAxBqVxBkVHgBLsADg@Dk@Fu@Fu@Du@Ds@Ds@Du@Bs@Bs@Bu@@g@?KBu@@u@?]@U?u@@u@?O?c@As@?u@Au@As@Au@Ai@Cy@Cy@Cm@Ck@A]GiAEo@Em@Eo@Em@Go@Gq@Go@Iq@Gq@Im@Io@Io@Km@Ko@Km@Km@Km@Km@GWEUMk@CMIa@Oo@Om@YgAWiAsMyg@w@wCOk@Ok@Ok@Oe@Me@Oe@Oe@Oe@CIK[Oc@AAOa@Oc@Se@Se@Se@Ue@Se@Uc@Uc@ACS]KQIQOUGKU_@Wa@U[ACW_@W]Y]W]Y]SUEE[[Y[ECSU[Y[YGESQ[W[U[U]Uc@WUO[QOIOI[O]Q]M]O]M_@M_@M_@M_@Mq@Sq@Sqn@uQ_HqBsF_BeA[{Ac@CAmDcAcCs@CAsBm@OE_@M_@K_@M]M[M[M[Ma@XIASEYHUCWCUASASAY?O?U@S@U@SBSBSDUDSDSFSFSHSFSJSJULSLSLUNURSNSRSRQPORQRu@~@MPKPMPMRKRMRKTITKTIVITIVGVIXGVG\\I\\MVQTO`@Ib@Kf@Kf@Kf@Kd@Mb@Kd@Mb@Mb@s@jCDJo@|BOh@Oh@Of@K^M\\KXEb@O`@O^Q^GLO\\KRMTKRKRMVKTGp@KRS^CBw@xAIRKPYn@_BrDg@|@GLiBhEuCxG}R~d@BF_Op]i@lAoDlIyBtEmDhIe@hAmArC?RsCvGSd@eC|FuB`F_Vvj@gInRmZfs@mFbM}@vBwX`p@}IxSSTeB~DWn@}BlFWl@DFWl@}BlFYp@QLAVmAtCeC|FUVA@aB|DO\\sB|EeB|DO^_@lAWj@Wj@O\\KR]v@MBYj@Yj@Sb@?N[l@M@]n@[l@]l@c@r@[j@BF_@n@_@l@GCa@l@_@l@BFc@`@g@r@_@h@_@f@BFe@p@_@d@M@UXa@h@BHa@d@_@b@UVSDEVYZi@Z]^_@^GVM?WV_@^BHg@b@c@`@GEe@b@g@`@BJg@RWTMJUPUP_@Xc@\\e@\\GPa@Lg@Ze@Ze@ZQJgIhFiIfFiIhFuFnD@HuFnDcA`@BHqAl@UNSJWPq@b@WNWPGDi@\\}A`AGDc@XsAx@SZu@d@UBaBbAYPYPKHOH", - "łowicz główny|bełchów": "gs_}HgtxxBbA_BdAaB^m@zDkGNUrBeDb@q@`@s@Zg@Vc@LS\\k@\\m@^o@`@o@b@s@b@s@nU}^Xg@b@q@b@u@f@w@d@y@~AoChAoBTc@x@sA^o@JSR[Zg@|BuDZg@Zg@\\k@BCXg@f@}@nAyBHOv@uAXg@Xe@FMLQP[LSt@mAzBuDd@y@h@y@f@{@Xc@z@sArAwBpAuBxPgXzC{ErD_GR[zB_Dv@oAdC}Dj@}@hIsMbA_BhTg]f@u@f@w@V_@T]Ze@\\e@X_@Xa@\\c@^g@^c@`@g@\\a@^c@^c@^c@\\_@`@a@^_@Z]b@a@DGXW^]VWj@g@`@]`@]`@]JIVS`@[\\YBC`@Y`@Y`@Y^Wr@e@l@a@BAxA_Af]mTnb@eXtEwCDC`HmEdh@e\\hIiFnAy@rA{@nAw@pBqAr@c@rA{@nAw@pAeA^WhHqEfIiFhIiFhIiFfIgFjAu@hAu@rD}B|AcAvD_Cb@YNKh@]n@a@TOxEyCzBwAt@e@fAq@h@_@d@YDCnBoApEuCPM`@W^Wb@Y`@Wb@Y~@q@VQVQPMFEZSb@[^U`@W^WxCkBJG^W^Uj@]h@[TM^U`@U`Ai@ZS@?\\Sl@_@\\Ub@Y|CoB", - "bełchów|płyćwia": "auo|HeghyBNIJIXQXQ`BcA~AeArAy@b@YFE|AaAh@]FEVQVOp@c@VQRKTOlAw@dFaDpAy@tFoDhIiFhIgFfIiFPKd@[d@[f@[h@_@d@]b@]^YTQTQLKVUb@_@f@a@d@c@f@c@f@e@^_@VWTW^_@\\_@d@g@b@g@b@e@`@e@`@e@`@i@TYf@q@f@o@^g@^i@f@s@^i@^m@`@m@`@o@`@q@Zk@b@s@\\m@Zm@\\o@^o@HORc@Xk@Xk@`@{@Xm@Xo@Xk@\\{@HQN_@dB}DrB}EN]`B}D@AbC{FfBgE`CsFx@oBVm@|BmFVo@dB_Ebd@yeA~@wBxa@kaAxh@mnAb@eAlBsEDIlAsCd@iAlDiIrB}EnDmIxIqSpEmK|R_e@tCyGhBiEFMfCeGTe@pEoKPc@Pc@Pe@HWJWL_@La@Ni@Ng@Ni@n@cCr@kCLc@Lc@Je@Lc@Je@Jg@Jg@Jg@Hc@Na@PULWH]F]FWHYFWHWHUHWJUHUJULSJSLSLQJQLQt@_APSNSPQRSRSROTSTORMRMTMRKRKRGRIRGRGRETERERCRCTARATAN?X?R@R@T@VBTBVBP@JB\\DXCRDJNZH\\HTFXAFBTFLDRRPDNDNKTDNBNDNVb@L^JB@p@PJBVHPBNDn@JPBNDXFLDzAb@dAZrF~A~GpBpn@tQp@Rp@R^L^L^L^L\\L\\N\\L\\PZNNHNHZPTNb@V\\TZTZTZVRPFDZXZXRTDBXZZZDDVJX\\V\\X\\V\\V^@BTZCHV`@T^FJNTHPJPR\\@BTb@Tb@Rd@Td@Rd@Rd@Rd@Nb@N`@@@Nb@PRBHNd@Nf@FN@ZLd@Nd@Nj@Nj@Nj@v@vCrMxg@VhAXfANl@Nn@H`@BLLj@DTFVJl@Jl@Jl@Jl@Jn@Jl@Hn@Hn@Hl@Fp@JRA\\Fn@Fp@Fn@Dl@Dn@Dl@Dn@FhAHZCl@Bl@Bx@Bx@@h@@t@@r@@t@?t@@r@?b@?NAt@?t@AT?\\At@Ct@?JAf@Ct@Cr@Cr@Et@Er@Er@Et@Gt@Gt@Ej@Ef@MrAIfByBjVyBpVMvAu@hIG@{ArPEf@{AvPgAtLBXCVsCb[wA`PwB|UMvAy@bJMpAKhAGJsBhUWpCw@xIKhAE`@Gn@[fD[nD[lD[jDy@dJ_CrWw@tIq@vHCTBTs@|Hs@`Is@|HQ`AF@SvBMrAMtAGr@Er@Gp@Et@Gp@Er@Cp@En@AXAVAp@Cp@Ap@Ap@Ap@Ar@?p@?p@?p@?p@@p@@r@@p@@p@Bp@@b@Bb@Bd@@f@Dp@Dn@Dp@Fn@Dp@@LD`@Fp@Hn@Fn@Hh@Fh@@LFZHj@Hh@Hj@Jh@Jj@Hd@Ll@Lj@Lj@Nl@Lh@FVFRNj@HXFNNh@Ph@Nb@JZFPPf@Rf@Pf@Rd@DHLZRd@Tb@Td@HNHRLb@NZNVPXVRXb@V`@V^V^X\\V\\X\\XZXZXXXZXXXVZVZVXVZTZR\\TZR^TXNVN^P^P\\Nn@Xn@Xl@TnAf@xIlD|D~Ap@b@b]bNjKdE`@N`@P`@P^N^P\\P\\PZPXNVP\\TZRZTXVVR\\XZVXXXXVXXZXZVZX\\V\\V\\T\\V\\Vb@RZR\\JRTLb@v@b@x@f@bAHb@VThAxBTb@|@dB`E`ItAnCf@`Af@`ATb@|A|C|@fBHNrB`E", - "koluszki|słotwiny": "mixzHgl}wBLDLDLDLBp@NrAXTDLDNBXBX@X@J?L?NAL?NANATCVCJCPCNENCNELGLELGLGNGZSNKLKLKNMLMLO^a@f@i@lBuBX[LMX]TWRWTYLQLSNSFKR]JSTa@b@{@dFqKxBsEjLqVzA_DVk@DIpBgEFMzByE|B{EdBoDz@kB", - "warszawa główna towarowa|józefinów": "_`t}Ho{j~BRbDRlDbAtP^fGF~@J^B`@Dd@Dd@Dd@Fh@@JV|B^bDJdAHn@DVHp@F^Jt@BNDXFVHb@FZFZJd@Jb@DPRt@Tx@Tt@Xz@@DXt@Vp@Zr@\\r@FLTb@^n@^l@`@l@PXNP`@f@VZJLb@b@b@`@d@b@\\VJH^Vf@Zf@Xh@Xf@Rh@Rj@Pf@LHB`@Hj@Jh@Df@DT@ZBf@?f@?h@Aj@Ef@En@Il@Mb@K`@Mp@S`Cy@~@]fBo@j@SNGjBq@nCaA~B{@r@Yr@[z@c@b@Y^UbAq@bBkAjBcAdEsCFEVOXQZOVMZKTIZK\\I\\EZGZC^C^?\\?^@\\@`@DPDNB^Fb@L\\LD@VJ`@RZP^T\\VZVZXFFTTX\\\\`@\\f@HL`@p@^r@N\\Vl@P`@Nb@Ph@Pj@b@T", - "raciborowice|dłubnia": "sazpHmffyBh@jBZfAPj@ZdARn@Tn@Rf@Rb@R^Xb@X^RR`@b@XR`@TTJZNb@LNDPB`@D\\B`@?TARAh@Gd@Md@QRIVOXSTQTSTUT[PUT]R]Tc@d@IBJa@z@GNSd@CD]|@[|@IBWt@Sj@A\\_@z@", - "marków|szeligi": "ure|Hs~~{BJnAJhALjANnAPhALv@F\\Jj@DTDTNn@Rz@XdAV~@X|@Xv@Vr@Zv@Xn@^x@Vf@^r@b@r@\\h@^h@d@j@V\\f@j@d@d@f@d@b@`@`@X\\VdBhAfBjAxDdClQfLVPVNVPXNLJNHJFLF\\P\\PVJRJZLZJRHdA`@HDt@ZZLXNnAl@XNZNt@XbDnAz@\\fHnCb@\\`C~@lHrCzc@~Pb[tLHI", - "łazy łc|przemiarki": "u`vrHk~duBjD`\\J`AFn@NvAL|AL`BFp@Hz@FvADt@r@?f@xKH~A\\bIJ~BFhAFfAHz@Fx@Hx@TpBV|BJx@BTFd@Jz@Lv@F`@Hf@Jl@Lp@Np@Pt@Lh@Nh@L`@Pl@Pl@Tl@Xv@Zx@HPP`@^v@\\r@^r@DFXd@`@n@`@j@^f@JNTVd@h@d@d@d@d@HH^Zb@\\h@`@d@Zh@Zh@Xh@Vh@Rh@Rj@Pj@Nl@Nh@Jl@H|BZn@Jr@Ln@Lr@Pl@Pp@TNF`@Pl@Vl@Zl@Zl@^l@`@h@`@j@b@tK|Il@d@n@f@t@f@l@`@t@b@l@Zh@Vj@Vh@Tn@Tr@Vv@Rt@Rt@Nt@Lx@JRBb@Dv@Fv@Dp@@B?v@?z@?r@CVA^Ct@Gt@I^Gh@Ib@Iv@Qr@St@St@Wh@Sv@]b@St@_@t@c@l@_@p@c@rPsLhBqAp@g@p@i@pHyF", - "przemiarki|dąbrowa górnicza towarowa dta r5": "ecprHeh`uBtCiBxC}Bv@m@j@g@l@i@|@{@RS^_@r@w@z@cAh@q@b@k@Za@Ze@v@kAj@}@DIf@}@h@aAhYyh@vAiCvBaEdCsE~BkEzWqf@|DoH`AeB`@s@~@aB|@wAfA}Ap@}@l@w@|AiB`AaA`@a@h@g@z@u@z@s@v@k@hBmAv@e@z@e@hB{@bAa@tAg@@A~Bq@z@QxAYxBYhBOzAG~ACv@?|@@tBF`Z`AvIJpp@rB~@Bpp@rBn@?z@AnAIh@GnAUjAYr@Ul@U\\Od@Ux@e@h@]fAw@h@c@n@o@fAmAr@_Ah@u@h@{@|@aBl@sAv@kBt@{Bp@aCp@qCjAaF", - "dąbrowa górnicza towarowa dta r5|dąbrowa górnicza towarowa": "s_erH{kguBhC{KPWrC{L`@}Af@kBj@eBn@_Bt@}Ax@uA|@oAj@o@z@{@d@a@d@[~@m@x@_@`@Qx@WvA[jAMd@CJ?x@?v@B`@Bj@Hp@LhAXj@Rh@T`@R^Tf@Zj@b@bA~@`AfAbAvA|@xAt@|An@~Aj@hBf@lB|GzX", - "słotwiny|rokiciny": "{}uzHyc`xB_@z@KVKZMZKZK\\K^uD~LOj@ENM`@K`@K`@Kd@Kb@G`@I`@Id@Gb@Id@Ed@Gd@Ed@Ed@Ed@Cf@Ef@Ad@Cf@Af@Ad@Ad@?f@Af@@d@?d@@j@@d@@b@Bl@D|@Bt@x@vORjE\\xGHrABb@Bb@Dn@Dl@D`@D`@DZF^F\\FZF\\H\\FTJb@JZHXJVHVLZLVJVNXLVNTLTRXLPLN`@b@PPTPTPZTd@XJHXNPJv@f@\\`@hDtArAZr@Xf@Rn@Vn@Xh@RV?NTd@PzBhAxj@zTp@XjMbFZBp@b@zSlIrrAth@DBtAh@rl@lUzDzAAJnFvBxBz@vBz@`K~D`E~A`Bp@TAjAf@dG~BlEfBtAj@pAf@??vPzGAJfBr@dBp@fBr@xB|@vFzB`FrB`Bn@\\N`Cl@", - "dąbrowa górnicza wschodnia|dorota": "k|_rHskxtBKpMCvFApA?h@?j@@|@@~@Bz@Dz@Fz@Fz@Fv@J|@Lz@Lx@Lt@Pv@Nr@Rv@HXFVVv@Tn@Vn@Vj@Vl@Vb@Vh@Zd@\\f@PVFF\\b@x@|@n@j@NLbAr@hAn@hAd@jAZ|AX|ATd`@`GB@~TfDlB^pBf@fAZ`A^dBr@lAh@b@VxAz@tA|@nFpDp@d@`InF", - "sosnowiec dańdówka|stawiska": "kqxqHqhbtBDnCBlB@d@L~IF`Eh@n]@`B@tA@jDBtA@vANpJNtJFlEDdC@hA?bA?fA@fANrKFtCHxFHnFR`MJnHJxH?r@?x@AbACz@Cx@E`AGv@Gz@Ir@It@?^Kr@UxAsAlIQnAKv@Gf@KpAGt@EbAE~@At@C~@?L?r@BvBBdABv@F|@H~@Ht@Hr@Jv@Jj@Ln@Lj@Nl@Tv@Vt@TfA^dAtF~Op@jBb@`B^bBd@tCNfArDnXJn@lC~QrBdOlEb\\\\fBb@fBd@~Al@zA^v@NZt@nAx@dA|@`A~@v@rLvIrBzAHTZVXVTTTVTVT\\T^P\\N\\N`@Nb@Nf@Jd@Jd@Hd@Hj@Df@Fl@Bj@Bf@@^Hb@@p@?|@P`VBnBBx@Dv@LrBHz@Hr@XhBLt@Np@Pt@@@Pl@Tp@N^JVNZ\\r@F^bBlDb@`Af@hA`@x@l@fBp@pB", - "stawiska|katowice janów": "mnuqHyxqsBvSbe@rAvC~EdKVf@rNfZNX|Ol\\", - "katowice janów|katowice much. kmb": "gnsqH_gnsBnMbXr@zAtArCf@fARd@Tf@\\x@^~@rHfS|@fCx@lCj@~Bh@jCbFnYRnAp@~D^vBtCtPHd@`@lCL`AJlADj@Bj@D`BAdBAv@Et@OlBKdAQ`A]dBa@zAoBlGITWz@a@jA]jAa@`B[`BOfAOnAKjAK|ACdAC|@?tA@vABtALvBf@`Hh@bHNtBJvBJfCB~@DfBJ~FF`BFnAFp@NzAfI|s@^fDj@lGZtCxDv\\^fD`@lErI|~@HBVlCT~ATvAHl@Ff@NzAR|BNlA", - "katowice much. kmb|staszic": "mxpqHyo_sBL|@N~@Pz@Pt@ZjAf@vAd@lAn@zAvHdRbAdC^z@`@x@d@v@b@f@b@d@vA|@j@Tz@RlAHh@Ad@Ef@KhA]v@e@~@y@t@_Ad@q@d@w@", - "gałkówek|łódź olechów łoc": "kpvzHadnwBPvGBp@H`Dz@~ZFxDB~A@lABhDHl_@@fCB`J@p@BhI@rG?lANx`@f@tkB@nE?bA?fAAxAA~@Cv@CfAChAGrAGnAIpAKtAKrAOpAQ|AOjAOlAUxAUtAcA|GEVWbB?^i@lDeA|GUzAQlAQnAMfAOtAKfAMvAIlAKtAGnAErAEpACpACvA?pAAfA@lA@bEFdWBnJ@jEBjD?hDLnc@HpV?~@@jC?pED~KDtQ@|A@lA?rBDnJ?vB?n@?n@?V?z@Az@Al@?^Ah@Ah@EtAGzAEbAGnAATK|BStDkEb~@s@`Oc@hJEbAGnACb@CVE`AE~@E`AEnACnAChAAxA?tA?vA?`@Ab@?lD?l@?vDA|E?zB?`A?z@@z@?bA@`A@~@@t@B`AB~@Bx@B~@D~@Bv@Bf@FjADhAFfAFdAF~@HnAHlADn@Dl@Fj@Fl@Fl@Fj@Hj@Hj@DXDTHh@Jf@Lj@Jh@Lf@Ll@~CdMTz@Rx@Lj@Ll@Bh@Jd@H`@H`@Hb@Hh@NfAJj@l@rEFf@Fd@D^Db@Dd@F`A\\pEFt@VpDV`D?Df@bHh@dHNhBHlAVpDP~BHz@J~AH|@dApNzAtS~Cnb@n@xI^`F`@zFFr@|@vLVnDBXjAxOB`@\\xELdBLfBJbB@FJzAx@|MJdB^~F@PV|DH|AJ|AV|D?JJtABb@Dt@b@xGJdBJfBDt@BZ@XD|@Fx@Bz@Dl@?FD~@D~@@j@Dz@B|@?DBj@B|@B|@@r@BtABtAFbEHpFJtHHb@?HBbBDvB@l@?HBr@@r@Bh@Bh@B`@Bf@Bb@Bp@Dn@B`@NbCTrDJbBJ`BDj@Dh@Dj@Fr@@VHfAdArMJpAf@fG^xEPzBj@`H", - "koluszki|żakowice południowe": "cfxzHak}wBh@RzAl@RHHBTHTFRFRDRBVDXBP@Z@R?PAXCRARETCRGRGRGHEXMNGHEPIRMRMROZUZWzBaBf@]RMRMPKVKTKTINGNENCNETETETATCTAR?V?T@T@TBTBPBTBRFTFTFRHRJTHRLRJTNRPNJRPPPNPPRPRPTNRNTNXNVLVNXLVJZLZN`@L`@FPJ^H\\H\\H\\F^H^D\\F^D^F`@D`@Bd@D`@B`@B`@PnDBp@Dj@@ZR`EjCxj@D`AD`ADdA@b@Bb@@n@@l@?J@`@@t@?t@?v@?t@At@At@Ct@Cr@Cd@?NCb@Cd@El@Cd@KhAEj@Gf@Ip@Ip@Ip@Mx@c@`DFZ[z@s@fFEZEZCXEf@CZE\\EVQpAm@lFKT", - "gajewniki|dionizów": "}q_zH{lzrB?b@?X?ZAt@?\\?Z?^DjD?x@?r@At@Af@Cf@Gt@AXEXC\\E\\Mv@G`@Ib@I\\I`@Mb@Mb@K\\O`@c@dASb@S`@k@|@WZWZoAlAoAz@eF`DqBnAw@f@w@j@u@j@ONONa@b@]d@]f@KPOTYh@MZOZ]|@Y|@Y~@wJb]", - "kraków przedmieście|kraków olsza": "wfupHwnwxB`@RNFhBr@ZNZNZNr@`@lAr@VL\\NZHTFVBJ@P@P?TAZCTEVGTIVMVORORQTWPURYP[N[", - "sosnowiec główny|sosnowiec południowy": "uozqHgqusBd@`@f@Zj@Tn@NZBZ@\\?^C^G\\Kr@[NGTS\\Wv@s@", - "sosnowiec dańdówka|sosnowiec maczki": "sqxqHagbtBIaFC_C?CAaBB}AB}AHqBNgCd@}GTgCN}ALgBFiAFuAB_ABkA?}@?{AAkAEcBIeBGaAKoAKeAE_@Ge@Ik@O_AMw@Oy@Mm@U_Am@_C[oA}WyeAMg@q@kCCKo@cC]sAUu@Uo@Uo@Wk@Yq@[k@Ye@Ua@QWOS[a@SWOQOQSSSSYWWS_@[e@[eAm@{@c@_Aa@qJgEi@Wc@Sc@Ua@Ya@Y_@Yo@k@OO_@a@_@c@]c@AAYc@]g@[i@o@cAo@iAMQ_EcHeAgBkDaGcEeHsBkD_@k@Yc@c@i@PSO]O[Qa@Ma@Ma@I]Ie@Ic@Ge@Ge@Ec@Cg@Ag@Ag@?g@?g@@c@Bi@Ba@Dk@Fe@Fc@He@Je@Lc@J[HUJYL[P]DQNOLSNUV]^e@nAcBl@_Ah@u@~GeKle@es@jA_Bv@aAZa@dBwB|TqXrAcBbAuA|@kAv@iAd@y@b@_A^aA\\gAZeATkARmAJw@DWLuAHsADmABqABaEJ_NBgBBgBFcBLcBP_BT_BZaB\\sA^kABKTm@L[d@eA", - "bukowno|borowa górka": "ofxqH_kvuBa@|HWlEE|@EfAC`ACbAA|@A|@?`A@v@@NHp@@bAf@hPVxJB\\@f@DdAD|@Fv@F|@Hv@Hv@Lz@Jv@N|@Nt@Nv@Pr@Rv@Rr@Tr@j@bBfBxET~@d@pAv@zBj@rBf@tB`@|BHb@RvAVdC|J`nA`LbuA`LbuA`LbuA~KbuAlDtb@pF~p@@LfGlu@ZxDVzDR|D^pJ?DNvCHpAHpAJlAJrANlBp@vH", - "kraków olsza|kraków przedmieście": "iltpHgmwxBOZQZSXQTUVSPSNWNWLUHWFUD[BU@Q?QAKAWCUG[I]OWMmAs@s@a@[O[O[OiBs@OGQIYCS[", - "kraków batowice|dłubnia": "keypHay~xBwAwFm@eCc@aBKe@BQUcA[}AO{@Oy@OeAQiAOsAMqAGo@I}@MyAKwAIqAK}AGsAE{@Cq@CaACmBAwAAkB?uA?g@?oA@uA@iAB_BBmB@oADaC@eABuB@{BBeB@cBBaB@yADoBDmCD{CDoCDsCFaEFcDHsFDkCByCBqA@uA@w@@u@B}@@]Bg@@i@D{@DaAFu@Dq@Di@Fq@H{@Fi@L}@Hs@Jq@BSPiARgARgALk@@_@R{@ZkA", - "dłubnia|kraków batowice": "sgypHikeyB[jASz@A^Mj@SfASfAQhACRKp@Ir@M|@Gh@Iz@Gp@Eh@Ep@Gt@E`AEz@Ah@Cf@A\\C|@At@Av@AtACpACxCEjCIrFGbDG`EErCEnCEzCElCEnBAxAC`BAbBCdBAzBCtBAdAE`CAnAClBC~AAhAAtA?nA?f@?tA@jB@vABlBB`ABp@Dz@FrAJ|AHpAJvALxAH|@Fn@LpANrAPhANdANx@Nz@Z|ATbACPJd@b@`Bl@dCvAvFSN", - "starzyny|koniecpol": "gxotHymzwBQF_A^_Bf@_MlFyAp@gg@jToB~@_B~@cBfAcBrAIF_A|@uAtAcAtAoAbBuV|]wIbMgi@lv@Y`@a_@ji@cB`CkAlByAfCgAvBg@~@{MhXwThd@}EzJuAxBmAnBwAhBqAvA{AvAwAlAcBjAaB`AuAt@mAp@cLtF{e@tUaLvFmL|FwNdHsVzLuAp@_FdCs@^m@Ze@Xk@^i@^g@`@e@b@i@f@c@d@a@f@c@j@a@h@U\\U\\[j@[f@Ub@Uf@[n@Yp@[v@[|@[bA[dA[jAWfAS~@Q`AQfAMz@M|@KbAK`AAFI`AGx@Ex@EjACv@Cr@A|@Ax@?hA?bABjA@`ADjADbAFfAH`AHbAJbALfAL`AP`AN|@RbAPz@Rz@V~@XfAZjA\\lA`G|Sh@hBbAtDT|@R~@ThANx@NdAN`ALdAJbAJdAHbAJzAHvATdG", - "kraków główny kga|sosnowiec maczki": "orspHi_vxBUXa@l@c@p@w@pAq@hAS^S^c@|@_@v@a@|@MZQ`@]x@_@bAeB|EeAtC_@bASn@Wv@Wv@]pAOj@On@Op@Kn@Oz@O`AYbCKfAGbAGz@GdA]lGOxCGrAE`AANEpA?RCx@CrAOdLG|DKpH?J?d@E`CGzECtAKxHC|BEzCIvGC`CWzNUdRA~@YxUMnKUfS?JCrACdAClAEpAEnAe@|MCnA??GxAClACnAClBAz@?T?jAAjAA|AArFA^?rBOx_@?lBA~A?rA?j@?j@@tA@pA?PBpA@Z@r@BrABnA@RLjFBt@JjEH`CNfGBv@Bx@JzEBt@JdE@^FvBDtA@lABzABnA@xA?rA?rA?L?x@A~AAhA?`@An@ClAClAClACp@AXEnAGtAGnAIvAIrAKrAIpAKnAMlAEb@Gl@MjAMrAOhACRM|@QpAQjAALO|@QdAUrAm@|CWnAS`ACHS~@On@On@YdA[nAQl@K\\Qn@]hA]hAYz@GN]bA_@fA_@`A_@~@]z@ELWh@]x@IRQ^[p@_@v@S`@GJ[p@_@r@[h@qChFyDdHc@x@i@`AmDrGcAhBy@zA_CfEYh@CDwSt_@uLrT?@c@v@e@z@e@z@i@|@e@t@c@r@QVU^SXSZg@r@mAfBiCtDcB`Ca@l@oFxHePnUiCtDiCrDEFw@hA_KvNc@l@uFbIw@xA}AvBm@|@a@l@k@z@e@v@i@z@c@x@a@t@a@t@]n@g@dA_@x@c@`Aa@|@]z@_@~@[z@a@fA[|@[`A]bAY~@]hA[hAAF[hA[nA[lAId@Oj@UhAWjAeAlFa@rB[|AGZm@`DkAbGKh@c@xBOp@aClMeAvFiAfGsEhVCN{BxL[bBUhASlAMn@ETQlAQdAOdAQhAOfAE^Gf@OjAMhAMlAKhAKjAMxAMxAUbDg@fHEn@a@vFQnCKvAg@rHIjAS~C_@zEIhAIrAk@lHKjA_AvMKvAItAIjAItAGvAGvAErAEzAErACvAAbA?PAxAAtA?zA?tA@vA@tABtABxADxA?HDjADrAFxABXDx@HxAHrADh@Dn@LxARdCj@lGPjB\\bEtAvOH|@Fl@DbBXlDZfFPdEL|DD`BBdB@`E@~DE`J?~B@pE@hDHxDNzDBj@LtCVvDbAxLtGvv@XrD`@rEh@dGd@`GNdDHfCDlC@vEC|BEpBe@pPMhCS|DYhEAH[jDa@zDg@zDk@vDo@tDq@hDw@dDELk@~BU|@_@rAaA~CeBhFqApEiBtFsQti@eAhDaAlD{@nDeAzEs@tD[pBSjAi@`Eg@vEUtBc@tFUbEOnCaDzq@q@nNyB|e@Q`EM~DIfEG`E?rAA|@@nDHvLF|HDzDXvP@n@FdEDfC@`A?~@?`A?fEA~K?`@?fDA|AArA?rACrAAnAArACvACvA_@zSOlJEnACjACpAKrCGnCCdACjAE`DA\\AjBEdC?n@GfF?f@CfCAjA?pA?rA@rA@nADvABhADvAFhAFrAHnAJnAJnAJrANlANpAJ~@BNNhAz@xG^vDXtBhCdSNlAPvANpALpALpAJvAJrAJtAHpAHtAFrAFxADpADxADtABpA@j@?~@@`A@tA?xA?rAArAApACrAAxAEpAE|AEnAQjEaEzaAuAv\\w@tRG~AGlAGjAI|AIpAKrAKxAMjAEf@AJSpBQ~AOjAEXM`AQnASrASrAUnAWvAUlAWlA_@dB[rASv@U~@]lA]nAW|@[~@]jAc@pA_Vds@?TUp@[bA_@hA[dAW~@[hA[jA[nAWhAWjAYtAWnAUlASjAUrAUtAOhAIh@Ih@OtAQvAOrAO|AO`B_@bE{@lJQlBMzAKlAIrAKtAItAGtAEhAARCf@AZEpAChACrACtAArAApAArA?rA?lM?nAGlB?fn@?tp@?fI?vG?zA?bAA|AApAArACrACvACnAEvAGzAGpAGtAIrAGnAKvAKpAKpAKlAKjA_@dDKdAQrAQlAStAQpASjASjAUpAaNlu@QhAWrAQhASnAQnASpAOlAOnAmE~_@cCfTCVsCxV[jCcJ`x@oD`[qA`LUzBY`CoA~KIr@_A`IMjAK~@_@dDS`Bc@zDe@`Ec@lDy@vFObAShAQdAShAUjAS~@SdAWhAUfAU`ASx@uEbRm@hC}C~Mq@rCYrAi@zCmBjIGXa@dBcAnEi@tBu@vCs@vCu@|C}@vDsA~F_AbE{@pDiIl^}@~Ds@`Dc@zBETWtAOz@EVYbBKr@QnAM`AOjAOpAMlAMpAKjAMxAW~Cm@rHUlC?BKlAIfASbAKhAKfAMhAOnAOjAS|AQhAOhAShASjAShASbAUhAYtAWhA[rAYdA]rA[bA]jA]hA]fAa@hA]`Aa@jAuR`i@cEfLmL|[q@fB_@bA_@dAy@`CoJ|WuB~F_E~KiBbFYt@Un@Ul@Wn@EL]x@e@dAa@~@c@~@c@~@c@z@gAvBmG|LsH~NiC~EcDnGsg@hbAMRyAtCqb@zy@}Ob[qAfC_@r@c@x@_@r@c@x@e@v@_@p@c@p@a@n@g@t@e@r@o@|@g@p@q@x@e@l@s@x@g@j@s@v@i@h@o@n@m@h@m@h@q@h@o@f@k@b@a@Ve@ZQLq@b@m@^uG~Ds@b@q@^w@`@m@\\s@^}CxAqI`EaAd@QHoAl@q@\\m@ZULi@V_@TULaB`Ao@^w@d@yFfDm@\\k@^q@b@i@\\oLzHeGlEye@n[aBfAwFtDaG|De@Zm@`@q@d@q@d@q@h@k@d@i@b@m@h@e@b@o@l@c@b@WXSRs@v@i@n@i@n@k@t@i@r@i@t@e@r@i@t@c@p@eHxKOTsQzXg@x@W`@ORi@x@i@v@IJsDfFaCdDmAbBa@n@c@n@]h@Yd@Q\\_@r@a@x@]t@_@z@[v@Wr@Yv@[~@W|@[`Am@xBQj@I\\e@`B[fA{@|COh@_AbDc@`BSt@Qx@Qt@S~@Q`AMv@In@EROhAMdA_BfN}A`Ns@dG]pC[lC}@`IGh@Mv@EVGXG`@In@Il@Kv@EZOr@E\\GXCXIp@_Er]y@hHkAzJYpAY|@g@lAc@x@i@v@c@f@g@b@q@b@q@Xu@ViBf@E@uBj@oGfBo@PsGhB[HGBe@No@\\WP[VUTWXs@`AqAnBuAtBqAlBk@z@oBvCu@dAe@j@WX]^SRQNQLSPg@^[R[RuD|BeDpBYP[Ps@ZWJWHYHG`@y@^g@T{@d@u@f@o@j@m@t@[b@Y`@m@jA", - "sosnowiec maczki|sosnowiec dańdówka": "ioxqHo}qtBe@dAMZUl@CJ_@jA]rA[`BU~AQ~AMbBGbBCfBCfBK~MC`ECpAElAIrAMtAEVKv@SlAUjA[dA]fA_@`Ac@~@e@x@w@hA}@jAcAtAsAbB}TpXeBvB[`@w@`AkA~Ame@ds@_HdKi@t@m@~@oAbBY^UZGFm@x@EPQ\\MZKXITKZMb@Kd@Id@Gb@Gd@Ej@C`@Ch@Ab@?f@?f@@f@@f@Bf@Db@Fd@Fd@Hb@Hd@H\\L`@L`@P`@NZN\\Tb@CX^NdAjBfA~BbEpGrC|ENVJTXn@JTZj@~DbHLPn@hAn@bAZh@\\f@Xb@@@\\b@^b@^`@NNn@j@^X`@X`@Xb@Tb@Rh@VpJfE~@`@z@b@dAl@d@Z^ZVRXVRRRRNPNPRVZ`@NRPVT`@Xd@Zj@Xp@Vj@Tn@Tn@Tt@\\rAn@bCBJp@jC^^VhA\\zA\\rApElQnOvm@MPl@~BT~@Ll@Nx@Lv@N~@Hj@Fd@D^JdAJnAF`AHdBDbB@jA?zA?|@CjAC~@GtAGhAMfBFBM|ASdCFZs@nKKlBExAC~A?bBD|BDhDEHGn@", - "sosnowiec południowy|sosnowiec główny": "g_zqHyrusBw@r@]VUROFs@Z]J_@F_@B]?[A[Co@Ok@Ug@[e@a@[_@a@N", - "dąbrowa górnicza towarowa|dąbrowa górnicza towarowa dta r5": "gpbrHuoguB}G{Xg@mBk@iBo@_Bu@}A}@yAcAwAaAgAcA_Ak@c@g@[_@Ua@Si@Uk@SiAYq@Mk@Ia@Cw@Cy@?K?e@BkALwAZy@Va@Py@^_Al@e@Ze@`@{@z@k@n@}@nAy@tAu@|Ao@~Ak@dBg@jBa@|AsCzLQViCzK", - "dąbrowa górnicza towarowa dta r5|przemiarki": "s_erH{kguBkA`Fq@pCq@`Cu@zBw@jBm@rA}@`Bi@z@i@t@s@~@gAlAo@n@i@b@gAv@i@\\y@d@e@T]Nm@Ts@TkAXoATi@FoAH{@@o@?qp@sB_ACqp@sBwIKaZaAuBG}@Aw@?_BB{AFiBNyBXyAX{@P_Cp@A@uAf@cA`@iBz@{@d@w@d@iBlAw@j@{@r@{@t@i@f@a@`@aA`A}AhBm@v@q@|@gA|A}@vA_A`Ba@r@aAdB}DnH{Wpf@_CjEeCrEwB`EwAhCiYxh@i@`Ag@|@EHk@|@w@jA[d@[`@c@j@i@p@{@bAs@v@_@^SR}@z@m@h@k@f@w@l@yC|BuChB", - "przemiarki|łazy łc": "ecprHeh`uBqHxFq@h@q@f@iBpAsPrLq@b@m@^u@b@u@^c@Rw@\\i@Ru@Vu@Rs@Rw@Pc@Hi@H_@Fu@Hu@F_@BW@s@B{@?w@?C?q@Aw@Ew@Gc@ESCy@Ku@Mu@Ou@Sw@Ss@Wo@Ui@Uk@Wi@Wm@[u@c@m@a@u@g@o@g@m@e@uK}Ik@c@i@a@m@a@m@_@m@[m@[m@Wa@QOGq@Um@Qs@Qo@Ms@Mo@K}B[m@Ii@Km@Ok@Ok@Qi@Si@Si@Wi@Yi@[e@[i@a@c@]_@[IIe@e@e@e@e@i@UWKO_@g@a@k@a@o@Ye@EG_@s@]s@_@w@Qa@IQ[y@Yw@Um@Qm@Qm@Ma@Oi@Mi@Qu@Oq@Mq@Km@Ig@Ga@Mw@K{@Ge@CUKy@W}BUqBIy@Gy@I{@GgAGiAK_C]cII_Bg@yKu@cQ{A_Y", - "szeligi|marków": "ydc|Huh|{Bu@Y[OYOoAm@YO[Mu@[IEeAa@SI[K[MSKWK]Q]QMGKGOIMKYOWQWOWQmQgLyDeCgBkAeBiA]Wa@Yc@a@g@e@e@e@g@k@W]e@k@_@i@]i@c@s@_@s@Wg@_@y@Yo@[w@Ws@Yw@Y}@W_AYeAS{@Oo@EUEUKk@G]Mw@QiAOoAMkAKiAKoA", - "rokiciny|słotwiny": "_rjzH}pvwBaC_Ag_@aOwP{G??qAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gTeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqD}B}@e@Qg@Ui@So@Yo@Wg@Ss@YiEcB[OcA_@wAk@i@Ug@SDg@UQUQQQa@c@MOMQSYMUOUMWOYKWMWM[IWKWIYK[Kc@GUI]G]G[G]G_@E[Ea@Ea@Em@Eo@Cc@Cc@IsA]yGm@oDX[y@wOCu@]g@Ac@T_@Ac@Ae@Ak@?e@Ae@@g@?g@@e@@e@@g@Bg@@e@Dg@Bg@De@De@De@Fe@De@He@Fc@He@Ha@Fa@Jc@Je@Ja@Ja@La@DOCs@BKn@wBvAsEJ[J[L]L]TKJ]J[L[J[JW^{@lB}DT{@z@kB", - "józefinów|warszawa główna towarowa": "uqo}Heyg~BSs@[eAQUQi@Oc@Qa@Wm@O]_@s@a@q@IM]g@]a@Y]UUGG[Y[W]W_@U[Qa@SWKEA]Mc@M_@GOCQEa@E]A_@A]?_@?_@B[B[F]D]H[JUH[JWL[NYPWNGDeErCkBbAcBjAcAp@_@Tc@X{@b@s@Zs@X_Cz@oC`AkBp@OFk@RgBn@_A\\aCx@q@Ra@Lc@Jm@Lo@Hg@Dk@Di@@g@?g@?[CUAg@Ei@Ek@Ka@IICg@Mk@Qi@Sg@Si@Yg@Yg@[_@WKI]We@c@c@a@c@c@KMW[a@g@OQQYa@m@_@m@_@o@Uc@GM]s@[s@Wq@Yu@AEY{@Uu@Uy@Su@EQKc@Ke@G[G[Ic@GWEYCOKu@G_@Iq@EWIo@KeA_@cDW}BAKGi@Ee@Ee@Ee@Ca@K_@G_A_@gGcAuPSmDScD", - "dorota|dąbrowa górnicza wschodnia": "gz{qHstttBaIoFq@e@oFqDuA}@yA{@c@WmAi@eBs@aA_@gA[qBg@mB_@_UgDCAe`@aG}AU}AYkA[iAe@iAo@cAs@OMo@k@y@}@]c@GGQW]g@[e@Wi@Wc@Wm@Wk@Wo@Uo@Ww@GWIYSw@Os@Qw@Mu@My@M{@K}@Gw@G{@G{@E{@C{@Wg@?i@?i@?g@@i@@sABsBBsBS}E?_A@eB", - "katowice muchowiec staszic|staszic": "mapqHc{csBJn@n@hDz@xEjB~J^nBP|@h@vEVvAVxAp@rD`BzIXrA`@~Av@dDtBtIxD|OtAzFnAhFXnAP|@PjAJz@LfAFdAHxABjA@dBAnACz@Ev@A`@InAMlAU|AUvAUdAc@`BIZqB`Iu@pCOf@Qf@{@lBo@tAe@v@", - "staszic|katowice much. kmb": "akoqHec~rBe@p@u@~@_Ax@w@d@iA\\g@Je@Di@@mAI{@Sk@UwA}@c@e@c@g@e@w@a@y@_@{@cAeCwHeRo@{Ae@mAg@wA[kAQu@Q{@O_AM}@OmAS}BO{AGg@Im@UwAU_BWmC", - "katowice much. kmb|katowice janów": "w|pqH}e`sBuIg_ACa@]iD_@gDyDy\\[sCk@oG_@gDgIys@O}AGo@GoAG_BKwFAsBAgBFoBJaCZuEP_DvDeq@Z_Gd@wJF_C?y@?y@Cq@Cq@IyAOoAOgAk@oDwC}PoAoHUqAcFuYg@aCo@eCw@oC}@iCuByF_EmKaAgCc@iA_@{@i@kAi@mAgBsDcGaM", - "katowice janów|stawiska": "whsqHi_nsBg@eA]q@yAqCm@iAsNaZO[sNgZWi@_FaKg@gAk@oA{Uai@", - "stawiska|sosnowiec dańdówka": "epuqHi}qsBg@iAa@y@g@iAc@aAcBmDG_@]s@O[KWO_@Uq@Qm@AAQu@Oq@Mu@YiBIs@I{@MsBEw@Cy@CoBQaV?}@Aq@Ic@A_@Cg@Ck@Gm@Eg@Ik@Ie@Ke@Ke@Og@Oc@Oa@O]Q]U_@U]UWUWUUYW[WIUsB{AsLwI_Aw@}@aAy@eAu@oAO[_@w@m@{Ae@_Bc@gB]gBmEc\\sBeOmC_RKo@sDoXOgAe@uC_@cBc@aBq@kBuF_P_@eAUgAWu@Uw@Om@Mk@Mo@Kk@Kw@Is@Iu@I_AG}@Cw@CeACwB?s@?MB_A@u@D_ADcAFu@JqAFg@Jw@PoArAmITyAJs@?_@Hu@Hs@F{@Fw@DaABy@B{@@cA?y@?s@KyHKoHSaMIoFIyFGuCOsKAgA?gA?cAAiAEeCGmEOuJOqJAwACuAAkDAuAAaBi@o]GaEM_JAe@CmBEoC", - "borowa górka|bukowno": "yutqHyx~tBq@wHOmBKsAKmAIqAIqAOwC?E_@qJS}DW{D[yDgGmu@AMqF_q@mDub@_LcuAaLcuAaLcuAaLcuA}JanAWeCSwAIc@a@}Bg@uBk@sBw@{Be@qAU_AgByEk@cBUs@Ss@Sw@Qs@Ow@Ou@O}@Kw@M{@Iw@Iw@G}@Gw@E}@EeAAg@C]WyJg@iPAcAIq@AOAw@?aA@}@@}@BcABaADgAD}@VmE`@}HIaA", - "dąbrowa górnicza wschodnia|kozioł": "k|_rHskxtBFcF@kB@aAp@el@^{ZF}GF_EBkBPcPPeOp@{m@DcB?]B_ABaA@]DuAHiBtEkfAFyADw@Ag@HsAJ{AJoANyALmANqAnHyl@LaAJaAJeAHcAFaAFeADgABaA@cA@gA?gA?cACeACcAEiAEeAGiAIeAKaAI{@OiAOeAOeAQ}@ScASy@U_AW{@Y_AUu@Wo@Yw@[u@_@y@AA{@gBcA_BcAwA}EoGiAuAiA{AgCiDcAwA}@{Au@}Au@iBo@mBk@uBe@_C_@yBe@wCoGec@", - "kozioł|dąbrowa górnicza towarowa": "kw`rHuchuBcBaLi@sDSiASqAi@_Di@aDc@}B_@cBk@sBm@cBq@aBu@wAy@sA}@iA_AcAgA}@gAu@gAk@kAc@oA[kAQqAImA?uAHgANkAZkA`@gAj@eAv@_Az@kAxA{ArCo@dBi@hBa@hBYhBQlBMlBGxBAzBHzBLxBJbAHp@\\pB`@nBj@~BLh@zC`MRx@DTFZPbC", - "stawiska|mysłowice": "_puqHk|qsBu@_Bo@uAcAsB_DwG{BwEi@gAYg@S_@U[UWUYWUWSWS[Qa@Us@[{Aq@cAe@]Qc@UUO[UWUWWUWU[S]U_@Q_@Qa@Oc@Oa@Mg@Me@Ig@Ki@Gk@Gi@ASSiCE{@Cu@Ak@?i@@m@Bk@Bq@Di@Fo@Di@Hk@Hk@Hi@Ji@Lk@Je@Ni@Lg@Ne@Pe@Pe@Tk@Rc@NYXi@Xi@j@cAP[`DoF~HiMx@_Bx@_BrBoCvBcDvDyFCKfAoAnGoInBiC~B_DCMz@iAd@[f@k@`@a@`@a@`Aw@CMlAeAxA_B~AoBb@k@^i@tAyBn@gAf@aAh@s@`@{@EK`@_An@qAB[n@cB`BoD|@{A\\gAp@cAt@sACIdA_BvAaCRE`@g@f@k@VSVSXQh@s@rCoAhDwBCU", - "dąbrowa górnicza towarowa|kozioł": "czbrHkyguBy@}@{@gAs@gAq@qAm@wAYy@[eAYiA[eBWeBSkBK_BGyACoA?qA@q@DgBFwALcBR_BDYPeA\\}AR{@j@eBz@wBp@mAv@kAf@q@j@o@~@{@bAm@`Ag@fAa@p@Ot@KhAGlAAtHRtAFpALpATnAZFBdAb@jAn@jAv@fA`A`AhA~@jA|@xAt@zAr@`Bn@hBj@vB`@fB^rB|@`GJp@Hr@Jv@`@|DDd@?n@bB`L", - "kozioł|dąbrowa górnicza wschodnia": "kw`rHuchuBnGdc@d@vC^xBd@~Bj@tBn@lBt@hBt@|A|@zAbAvAfChDhAzAhAtA|EnGbAvAbA~Az@fB@@^x@Zt@Xv@Vn@Tt@X~@Vz@T~@Rx@RbAP|@NdANdANhAHz@J`AHdAFhADdADhABbABdA?bA?fAAfAAbAC`AEfAGdAG`AIbAKdAK`AM`AoHxl@OpAMlAOxAKnAKzAIrA@f@Ev@GxAuEjfAIhBEtAA\\C`AC~@?\\EbBq@zm@QdOQbPCjBG~DG|G_@zZq@dl@A`AAjBGbF", - "kozioł|dąbrowa górnicza towarowa dta r5": "yy`rH_ohuBoDaVAG[iBa@eBk@uBo@eBq@cBu@yA}@uA}@kAcAeAcA}@iAu@iAm@mAc@mA[oAQqAIqA?wAJeANoAXkAb@oWlMaFbCwBbAsBbAsBbAaFdCcAf@s@^gB|@cBbAe@^g@`@}@z@k@p@i@p@c@p@c@t@e@|@g@dAa@bA_@jAa@pA_@xAcAhEGXETG\\[lBObAGZMf@I`@iCzK", - "dąbrowa górnicza towarowa dta r5|kozioł": "_{drHyyguBLg@F[NcAZmBF]DUFYbAiE^yA`@qA^kA`@cAf@eAd@}@b@u@b@q@h@q@j@q@|@{@f@a@d@_@bBcAfB}@r@_@bAg@`FeCrBcArBcAvBcA`FcCnWmMjAc@nAYdAOvAKpA?pAHnAPlAZlAb@hAl@hAt@bA|@bAdA|@jA|@tAt@xAp@bBn@dBj@tB`@dBZhB@FnD`V\\zBHn@f@dDAV", - "kutno|ostrowy": "akw}HkrbuBK`@K`@M`@IVi@`B[~@Ob@Mb@Ob@Md@Mb@Kf@u@xCkAvEm@~B[rAOj@CJOn@Ol@?@Uz@Qv@UbAGXMf@Mj@Mj@YpAMn@Qx@Kd@Kf@Qr@GTw@|CGVw@`Dq@lCi@xBMf@U|@U~@GROn@Kb@K`@G^Op@Ot@Ml@Kn@Ib@CJWvAGb@CNuAbIsB|LO|@]vBEVm@lDcAbGCLe@nCiA`Ho@rD_@|B[jB[jBuD|Tg@tCa@bCa@`CCNc@jCe@rCkA~Gw@xEwE|XuBbMEVy@|ESnASjAWvAg@vCkAdHq@`E}B|MY`BWbBeNdy@k@lC_@vBeAlGKp@YbBYbBETG\\Ot@Ov@Q~@I`@K^Ml@Mf@Of@Oh@Of@Of@Sl@Ob@Q`@IVQ`@MZOZ[t@_@p@]n@a@n@a@n@a@n@gClDiCjDqGzIiPvTOd@yNxR}b@|k@g\\fd@k\\`d@}AxByA~BuAdCoAjCkAnCgAxC{f@|vA}f@dwAyYfz@e@rA_@dAe@nAa@dAi@nAg@hA{JhT{AnCaAtByAvCoCzFw@bBsAvCOZiK|T[n@wAxCyClG[r@{B|EuA|C", - "zduńska wola|dionizów": "{l_zHu`vrBC}@MmCA]GeACi@Ay@KcICoBCeBGeFGiFCqACeBCqAEo@Ci@Ei@Eg@Eg@Io@Km@Kk@Ii@Me@Me@K]K]Qg@Sg@Ui@We@Wc@Yc@UYUYW[YYg@a@a@Wc@W]O]O_@I_@K]G]EYAYA]?_@@_@B_@Fc@He@L_@N_@Pq@`@k@`@QPSPe@f@e@p@]h@[j@OZOZMZM^[~@[`A{Jv\\", - "dąbrowa górnicza strzemieszyce|dąbrowa górnicza huta katowice": "uuarHwdqtBOh@KXKXIRQf@IRMZWr@_A|BqJtRGLqBbEINw@|Ay@zAg@|@aAtAiAlAcAbAgAv@mAr@mAf@oA`@oAVqALyBDuACmCIgBQo@Kk@KEAm@Mq@Qa@M]MUIe@Qe@SA?e@Se@W??e@Wg@Yc@Ye@[KIYSc@]i@c@g@c@MMyCmC{CmCeIkHuDgD_DoC]Ya@[[S_@U]M_@O_@Ma@ISEIAc@Ea@C_@A]?]BY@WDYDYDg@L]FkAXQg@", - "łódź olechów łoc|gałkówek": "y|tzHyoevBk@aHQ{B_@yEg@gGKqAeAsMIgAAWGs@Ek@Ei@Ek@KaBKcBUsDOcCCa@Eo@Cq@Cc@Cg@Ca@Ci@Ci@As@Cs@?IAm@EwBCcB?IIc@KuHIqFGcECuACuAAs@C}@C}@Ck@?EC}@E{@Ak@E_AE_A?GEm@C{@Gy@E}@AYC[Eu@KgBKeBc@yGEu@Cc@KuA?KW}DK}AI}AW}DAQ_@_GKeBy@}MK{AAGKcBMgBMeB]yECa@kAyOCYWoD}@wLGs@a@{F_@aFo@yI_Dob@{AuSeAqNI}@K_BI{@Q_CWqDImAOiBi@eHg@cH?EWaDWqDGu@]qEGaAEe@Ec@E_@Ge@Gg@m@sEKk@OgAIi@Ic@Ia@Ia@Ke@Ci@Mm@Mk@Sy@U{@_DeMMm@Mg@Ki@Mk@Kg@Ii@EUEYIk@Ik@Gk@Gm@Gm@Gk@Em@Eo@ImAIoAG_AGeAGgAEiAGkACg@Cw@E_AC_ACy@C_ACaAAu@A_AAaA?cAA{@?{@?aA?{B@}E?wD?m@?mD@c@?a@?wA?uA@yABiABoADoADaAD_ADaABWBc@FoADcAb@iJr@aOjEc~@RuDJ}B@UFoADcAF{ADuA@i@@i@?_@@m@@{@?{@?W?o@?o@?wBEoJ?sBAmAA}AEuQE_L?qEAkC?_AIqVMoc@?iDCkDAkECoJGeWAcEAmA@gA?qABwABqADqADsAFoAJuAHmALwAJgANuALgAPoAPmAT{AdA}Gh@mD?_@VcBDWbA}GTuATyANmANkAP}ANqAJsAJuAHqAFoAFsABiABgABw@@_A@yA?gA?cAAoEg@ukBOy`@?mAAsGCiIAq@CaJAgCIm_@CiDAmAC_BGyD{@_[IaDCq@QwG", - "dionizów|gajewniki": "seazHkdwrB`Kc]X_AX}@\\}@N[L[Xi@NUJQ\\g@\\e@`@c@NONOt@k@v@k@v@g@pBoAdFaDnA{@nAmAV[V[j@}@Ra@Rc@b@eANa@J]Lc@Lc@Ha@H]Hc@Fa@Lw@D]B]DY@YFu@Bg@@g@@u@?s@?y@EkD?_@?[?]@u@?[?Y?c@As@P]CcACqAIK", - "dionizów|zduńska wola": "ieazHkdwrBzJw\\ZaAZ_AL_@L[N[N[Zk@\\i@d@q@d@g@RQPQj@a@p@a@^Q^Od@Mb@I^G^C^A\\?X@X@\\D\\F^J^H\\N\\Nb@V`@Vf@`@XXVZTXTXXb@Vb@Vd@Th@Rf@Pf@J\\J\\Ld@Ld@Hh@Jj@Jl@Hn@Df@Df@Dh@Bh@Dn@BpABdBBpAFhFFdFBdBBnBJbI@x@Bh@FdA@\\VtBVxRHXFjFMnBBvA?dABfDB|E@fAR@DlEH\\@zABxAB~@@~@Bv@@~AD~CD|BI`@MfBDjBJrE@r@DhBRR@V?\\Ab@A|@?ZA^@x@@d@@h@", - "zduńska wola karsznice|zduńska wola": "g|{yHir{rBaAjC_LhZu@pBiAxCaCrGw@pBaA|Bw@~Au@nA}@rAcAjAcA`AgAz@oAr@}@`@oBj@gBToADsAAeL}@gBO{AIiB?oADsC^_AP{Af@aAb@{@h@y@f@{@v@o@n@g@l@u@bAq@hAa@r@cA|Bg@xAQf@[hAOj@YtAOv@Oz@[bCI`AGx@MlBE|ACdA?bA?lCBdAFjF\\vXFrEXhUFjFb@h]@zABxAB~@@~@Bv@@~AD~CD|B@j@HhHHdH@V?\\Ab@A|@?ZA^@x@@d@@h@", - "idzikowice|radzice": "caayHoj`{BmoAiaC}@eBsCuFs@yAkAaCcA_C}@wBaAmCw@uCq@oCq@cDe@iDQwAOuAIu@Gq@MgBGw@Eu@MkBEy@G_AO{Bq@_LkAiRe@mH", - "zduńska wola|zduńska wola karsznice": "uh_zHkurrBAy@@_@?[@}@@c@?]AWIeHIiHAk@E}BE_DA_BCw@A_AC_ACyAA{Ac@i]GkFYiUGsE]wXGkFCeA?mC?cABeAD}ALmBFy@HaAZcCN{@Nw@XuANk@ZiAPg@f@yAbA}B`@s@p@iAt@cAf@m@n@o@z@w@x@g@z@i@`Ac@zAg@~@QrC_@nAEhB?zAHfBNdL|@rA@nAEfBUnBk@|@a@nAs@fA{@bAaAbAkA|@sAt@oAv@_B`A}Bv@qB`CsGhAyCt@qB~KiZ`AkC", - "dąbrowa górnicza huta katowice|dąbrowa górnicza strzemieszyce": "s|erHivptB\\Gf@MXEXEVEXA\\C\\?^@`@Bb@DH@RD`@H^L^N\\L^TZR`@Z\\X~CnCtDfDdIjHzClCxClCLLf@b@h@b@b@\\XRJHd@Zb@Xf@Xd@V??d@Vd@R@?d@Rd@PTH\\L`@Lp@Pl@LD@j@Jn@JfBPlCHtABxBEpAMnAWnAa@lAg@lAs@fAw@bAcAhAmA`AuAf@}@x@{Av@}AHOpBcEFMpJuR~@}BVs@L[HSPg@HSJYJYNi@Ps@Tw@No@Pm@FWDUH_@h@qC^qB`@qBP}@VsA~@yEVwAf@iCv@aERgATgATmAZaBbAiFlB}JbCiM~AkItAeHF_@zEuVdBcJJg@" - }, - "segmentColors": { - "warszawa grochów|warszawa wschodnia": [[0, 0]], - "warszawa wschodnia|warszawa centralna": [[0, 0]], - "warszawa centralna|warszawa zachodnia": [[0, 0]], - "warszawa zachodnia|warszawa włochy": [[0, 0]], - "warszawa włochy|józefinów": [[0, 0]], - "józefinów|pruszków": [[0, 0]], - "pruszków|grodzisk mazowiecki": [[0, 0]], - "grodzisk mazowiecki|korytów": [[0, 0]], - "korytów|szeligi": [[0, 0]], - "szeligi|biała rawska": [[0, 0]], - "biała rawska|strzałki": [[0, 0]], - "strzałki|idzikowice": [[0, 0]], - "idzikowice|opoczno południe": [[0, 0]], - "opoczno południe|pilichowice": [[0, 0]], - "pilichowice|olszamowice": [[0, 0]], - "olszamowice|włoszczowa północ": [[0, 0]], - "włoszczowa północ|knapówka": [[0, 0]], - "knapówka|psary": [[0, 0]], - "psary|starzyny": [[0, 0]], - "starzyny|sprowa": [[0, 0]], - "sprowa|kozłów": [[0, 0]], - "kozłów|tunel": [[0, 0]], - "tunel|miechów": [[0, 0]], - "miechów|słomniki": [[0, 0]], - "słomniki|niedźwiedź": [[0, 0]], - "niedźwiedź|zastów": [[0, 0]], - "zastów|raciborowice": [[0, 0]], - "raciborowice|kraków batowice": [[0, 0]], - "kraków batowice|kraków przedmieście": [[0, 0]], - "kraków przedmieście|kraków główny": [[0, 0]], - "kraków główny|kraków zabłocie": [[0, 0]], - "kraków zabłocie|kraków płaszów pzs kpa": [[0, 0]], - "psary|góra włodowska": [[0, 0]], - "góra włodowska|zawiercie": [[0, 0]], - "zawiercie|łazy ła": [[0, 0]], - "łazy ła|łazy": [[0, 0]], - "łazy|łazy łc": [[0, 0]], - "łazy łc|dąbrowa górnicza ząbkowice": [[0, 0]], - "dąbrowa górnicza ząbkowice|dąbrowa górnicza": [[0, 0]], - "dąbrowa górnicza|będzin": [[0, 0]], - "będzin|sosnowiec główny": [[0, 0]], - "sosnowiec główny|katowice zawodzie": [[0, 0]], - "katowice zawodzie|katowice": [[0, 0]], - "katowice|brynów": [[0, 0]], - "włoszczowa północ|żelisławice": [[0, 0]], - "grodzisk mazowiecki|żyrardów": [[0, 0]], - "żyrardów|radziwiłłów mazowiecki": [[0, 0]], - "radziwiłłów mazowiecki|skierniewice": [[0, 0]], - "skierniewice|płyćwia": [[0, 0]], - "płyćwia|rogów": [[0, 0]], - "rogów|koluszki": [[0, 0]], - "koluszki|rokiciny": [[0, 0]], - "rokiciny|baby": [[0, 0]], - "baby|piotrków trybunalski": [[0, 0]], - "piotrków trybunalski towarowy|rozprza": [[0, 0]], - "warszawa włochy|warszawa gołąbki": [[0, 0]], - "warszawa gołąbki|bednary": [ - [0, 1], - [702, 0] - ], - "bednary|łowicz główny": [[0, 0]], - "łowicz główny|jackowice": [[0, 0]], - "jackowice|stara wieś": [ - [0, 0], - [13, 1], - [162, 0] - ], - "stara wieś|kutno": [[0, 0]], - "kutno|krzewie": [[0, 0]], - "koluszki|gałkówek": [[0, 0]], - "gałkówek|łódź andrzejów": [[0, 0]], - "łódź andrzejów|łódź widzew": [[0, 0]], - "łódź widzew|łódź fabryczna": [[0, 0]], - "mikołajów|żakowice południowe": [[0, 0]], - "żakowice południowe|gałkówek": [[0, 0]], - "łódź widzew|łódź marysin": [[0, 0]], - "łódź marysin|zgierz": [[0, 0]], - "zgierz|zgierz północ": [[0, 0]], - "zgierz północ|zgierz kontrewers": [[0, 0]], - "zgierz kontrewers|chociszew": [[0, 0]], - "chociszew|ozorków": [[0, 0]], - "ozorków|łęczyca": [[0, 0]], - "łęczyca|witonia": [[0, 0]], - "witonia|kutno": [[0, 0]], - "kraków płaszów pzs kpa|kraków główny": [[0, 0]], - "kraków główny|kraków przedmieście": [[0, 0]], - "kraków przedmieście|kraków batowice": [[0, 0]], - "kraków batowice|raciborowice": [[0, 0]], - "raciborowice|zastów": [[0, 0]], - "zastów|niedźwiedź": [[0, 0]], - "niedźwiedź|słomniki": [[0, 0]], - "słomniki|miechów": [[0, 0]], - "miechów|tunel": [[0, 0]], - "tunel|kozłów": [[0, 0]], - "kozłów|sprowa": [[0, 0]], - "sprowa|starzyny": [[0, 0]], - "starzyny|psary": [[0, 0]], - "psary|knapówka": [[0, 0]], - "knapówka|włoszczowa północ": [[0, 0]], - "włoszczowa północ|olszamowice": [[0, 0]], - "olszamowice|pilichowice": [[0, 0]], - "pilichowice|opoczno południe": [[0, 0]], - "opoczno południe|idzikowice": [[0, 0]], - "idzikowice|strzałki": [[0, 0]], - "strzałki|biała rawska": [[0, 0]], - "biała rawska|szeligi": [[0, 0]], - "szeligi|korytów": [[0, 0]], - "korytów|grodzisk mazowiecki": [[0, 0]], - "grodzisk mazowiecki|pruszków": [[0, 0]], - "pruszków|józefinów": [[0, 0]], - "józefinów|warszawa włochy": [[0, 0]], - "warszawa włochy|warszawa zachodnia": [[0, 0]], - "warszawa zachodnia|warszawa centralna": [[0, 0]], - "warszawa centralna|warszawa wschodnia": [[0, 0]], - "warszawa wschodnia|warszawa grochów": [[0, 0]], - "warszawa wschodnia|warszawa praga wpt m": [[0, 0]], - "mysłowice|katowice zawodzie": [[0, 0]], - "katowice|katowice tow. ktc": [[0, 0]], - "kraków główny|sosnowiec maczki": [ - [0, 0], - [39, 1], - [947, 0] - ], - "sosnowiec maczki|dorota": [[0, 0]], - "dorota|dąbrowa górnicza południowa": [[0, 0]], - "dąbrowa górnicza południowa|dąbrowa górnicza huta katowice": [[0, 0]], - "dąbrowa górnicza huta katowice|dąbrowa górnicza ząbkowice": [[0, 0]], - "dąbrowa górnicza ząbkowice|łazy łc": [[0, 0]], - "łazy łc|łazy": [[0, 0]], - "łazy|łazy ła": [[0, 0]], - "łazy ła|zawiercie": [[0, 0]], - "zawiercie|myszków": [[0, 0]], - "myszków|rozprza": [ - [0, 0], - [10, 1], - [1124, 0] - ], - "rozprza|piotrków trybunalski towarowy": [[0, 0]], - "piotrków trybunalski|baby": [[0, 0]], - "baby|rokiciny": [[0, 0]], - "rokiciny|gałkówek": [[0, 0]], - "łódź widzew|łódź chojny": [[0, 0]], - "łódź chojny|retkinia": [[0, 0]], - "retkinia|łódź lublinek": [[0, 0]], - "łódź lublinek|pabianice": [[0, 0]], - "pabianice|dobroń": [[0, 0]], - "dobroń|kolumna": [[0, 0]], - "kolumna|łask": [[0, 0]], - "łask|borszewice": [[0, 0]], - "borszewice|gajewniki": [[0, 0]], - "gajewniki|zduńska wola": [[0, 0]], - "zduńska wola|sieradz": [[0, 0]], - "sieradz|sędzice": [[0, 0]], - "kraków zabłocie|kraków główny": [[0, 0]], - "brynów|katowice": [[0, 0]], - "katowice|katowice zawodzie": [[0, 0]], - "katowice zawodzie|sosnowiec główny": [[0, 0]], - "sosnowiec główny|będzin": [[0, 0]], - "będzin|dąbrowa górnicza": [[0, 0]], - "dąbrowa górnicza|dąbrowa górnicza ząbkowice": [[0, 0]], - "zawiercie|góra włodowska": [[0, 0]], - "góra włodowska|psary": [[0, 0]], - "katowice tow. ktc|katowice": [[0, 0]], - "warszawa praga wpt m|warszawa wschodnia": [[0, 0]], - "żelisławice|włoszczowa północ": [[0, 0]], - "rokiciny|koluszki": [[0, 0]], - "koluszki|rogów": [[0, 0]], - "rogów|płyćwia": [[0, 0]], - "płyćwia|skierniewice": [[0, 0]], - "skierniewice|radziwiłłów mazowiecki": [[0, 0]], - "radziwiłłów mazowiecki|żyrardów": [[0, 0]], - "żyrardów|grodzisk mazowiecki": [[0, 0]], - "katowice zawodzie|mysłowice": [[0, 0]], - "krzewie|kutno": [[0, 0]], - "kutno|witonia": [[0, 0]], - "witonia|łęczyca": [[0, 0]], - "łęczyca|ozorków": [[0, 0]], - "ozorków|chociszew": [[0, 0]], - "chociszew|zgierz kontrewers": [[0, 0]], - "zgierz kontrewers|zgierz północ": [[0, 0]], - "zgierz północ|zgierz": [[0, 0]], - "zgierz|łódź marysin": [[0, 0]], - "łódź marysin|łódź widzew": [[0, 0]], - "łódź widzew|łódź andrzejów": [[0, 0]], - "łódź andrzejów|gałkówek": [[0, 0]], - "gałkówek|żakowice południowe": [[0, 0]], - "żakowice południowe|mikołajów": [[0, 0]], - "sędzice|sieradz": [[0, 0]], - "sieradz|zduńska wola": [[0, 0]], - "zduńska wola|gajewniki": [[0, 0]], - "gajewniki|borszewice": [[0, 0]], - "borszewice|łask": [[0, 0]], - "łask|kolumna": [[0, 0]], - "kolumna|dobroń": [[0, 0]], - "dobroń|pabianice": [[0, 0]], - "pabianice|łódź lublinek": [[0, 0]], - "łódź lublinek|retkinia": [[0, 0]], - "retkinia|łódź chojny": [[0, 0]], - "łódź chojny|łódź dąbrowa pbs": [[0, 0]], - "łódź dąbrowa pbs|łódź widzew": [[0, 0]], - "gałkówek|rokiciny": [[0, 0]], - "rozprza|myszków": [ - [0, 0], - [3, 1], - [1117, 0] - ], - "myszków|zawiercie": [[0, 0]], - "dąbrowa górnicza ząbkowice|dąbrowa górnicza huta katowice": [[0, 0]], - "dąbrowa górnicza huta katowice|dąbrowa górnicza południowa": [[0, 0]], - "dąbrowa górnicza południowa|dorota": [[0, 0]], - "dorota|sosnowiec maczki": [[0, 0]], - "sosnowiec maczki|kraków główny kga": [ - [0, 0], - [39, 1], - [947, 0] - ], - "kraków główny kga|kraków główny": [[0, 0]], - "kraków główny|kraków płaszów pzs kpa": [[0, 0]], - "kutno|stara wieś": [[0, 0]], - "stara wieś|jackowice": [ - [0, 0], - [3, 1], - [152, 0] - ], - "jackowice|łowicz główny": [[0, 0]], - "łowicz główny|bednary": [[0, 0]], - "bednary|warszawa gołąbki": [ - [0, 0], - [3, 1] - ], - "warszawa gołąbki|warszawa włochy": [[0, 0]], - "łódź fabryczna|łódź widzew": [[0, 0]], - "gałkówek|koluszki": [[0, 0]], - "łódź fabryczna|łódź niciarniana": [[0, 0]], - "łódź niciarniana|łódź widzew": [[0, 0]], - "warszawa podskarbińska|warszawa wschodnia": [[0, 0]], - "płyćwia|lipce reymontowskie": [[0, 0]], - "lipce reymontowskie|rogów": [[0, 0]], - "rogów|lipce reymontowskie": [[0, 0]], - "lipce reymontowskie|płyćwia": [[0, 0]], - "warszawa wschodnia|warszawa podskarbińska": [[0, 0]], - "łódź andrzejów|bedoń": [[0, 0]], - "bedoń|justynów": [[0, 0]], - "justynów|gałkówek": [[0, 0]], - "gałkówek|żakowice": [[0, 0]], - "żakowice|koluszki": [[0, 0]], - "koluszki|wągry": [[0, 0]], - "wągry|rogów": [[0, 0]], - "rogów|przyłęk duży": [[0, 0]], - "przyłęk duży|krosnowa": [[0, 0]], - "krosnowa|lipce reymontowskie": [[0, 0]], - "płyćwia|maków": [[0, 0]], - "maków|dąbrowice skierniewickie": [[0, 0]], - "dąbrowice skierniewickie|skierniewice": [[0, 0]], - "skierniewice|puszcza mariańska": [[0, 0]], - "puszcza mariańska|skierniewice": [[0, 0]], - "skierniewice|dąbrowice skierniewickie": [[0, 0]], - "dąbrowice skierniewickie|maków": [[0, 0]], - "maków|płyćwia": [[0, 0]], - "lipce reymontowskie|krosnowa": [[0, 0]], - "krosnowa|przyłęk duży": [[0, 0]], - "przyłęk duży|rogów": [[0, 0]], - "rogów|wągry": [[0, 0]], - "wągry|koluszki": [[0, 0]], - "koluszki|żakowice": [[0, 0]], - "żakowice|gałkówek": [[0, 0]], - "gałkówek|justynów": [[0, 0]], - "justynów|bedoń": [[0, 0]], - "bedoń|łódź andrzejów": [[0, 0]], - "łódź widzew|łódź niciarniana": [[0, 0]], - "łódź niciarniana|łódź fabryczna": [[0, 0]], - "żakowice południowe|koluszki": [[0, 0]], - "łowicz główny|łowicz przedmieście": [[0, 0]], - "łowicz przedmieście|stare grudze": [[0, 0]], - "stare grudze|domaniewice": [[0, 0]], - "domaniewice|domaniewice centrum": [[0, 0]], - "domaniewice centrum|kamień łowicki": [[0, 0]], - "kamień łowicki|głowno północne": [[0, 0]], - "głowno północne|głowno": [[0, 0]], - "głowno|bratoszewice": [[0, 0]], - "bratoszewice|stryków": [[0, 0]], - "stryków|swędów": [[0, 0]], - "swędów|glinnik": [[0, 0]], - "glinnik|glinnik wieś": [[0, 0]], - "glinnik wieś|smardzew": [[0, 0]], - "smardzew|zgierz rudunki": [[0, 0]], - "zgierz rudunki|zgierz": [[0, 0]], - "zgierz|łódź radogoszcz wschód": [[0, 0]], - "łódź radogoszcz wschód|łódź arturówek": [[0, 0]], - "łódź arturówek|łódź warszawska": [[0, 0]], - "łódź warszawska|łódź marysin": [[0, 0]], - "łódź marysin|łódź stoki": [[0, 0]], - "łódź stoki|łódź widzew": [[0, 0]], - "żakowice południowe|słotwiny": [[0, 0]], - "słotwiny|mikołajów": [[0, 0]], - "warszawa zachodnia peron 8|sędziszów towarowy": [ - [0, 1], - [4511, 0] - ], - "sędziszów|gniewięcin apo": [[0, 0]], - "gniewięcin apo|klimontów apo": [[0, 0]], - "klimontów apo|kozłów": [[0, 0]], - "tunel|charsznica": [[0, 0]], - "charsznica|gajówka apo": [[0, 0]], - "gajówka apo|wolbrom": [[0, 0]], - "wolbrom|zarzecze apo": [[0, 0]], - "zarzecze apo|jaroszowiec olkuski": [[0, 0]], - "jaroszowiec olkuski|olkusz": [[0, 0]], - "olkusz|bukowno": [[0, 0]], - "bukowno|sławków": [[0, 0]], - "sławków|dąbrowa górnicza wschodnia": [[0, 0]], - "dąbrowa górnicza wschodnia|dąbrowa górnicza strzemieszyce": [[0, 0]], - "dąbrowa górnicza strzemieszyce|sosnowiec kazimierz": [[0, 0]], - "sosnowiec kazimierz|sosnowiec maczki": [[0, 0]], - "żakowice|chrusty nowe": [[0, 0]], - "chrusty nowe|rokiciny": [[0, 0]], - "rokiciny|łaznów": [[0, 0]], - "łaznów|wolbórka": [[0, 0]], - "wolbórka|baby": [[0, 0]], - "baby|moszczenica": [[0, 0]], - "moszczenica|jarosty": [[0, 0]], - "jarosty|piotrków trybunalski": [[0, 0]], - "witonia|gawrony": [[0, 0]], - "gawrony|łęczyca": [[0, 0]], - "łęczyca|sierpów": [[0, 0]], - "sierpów|ozorków": [[0, 0]], - "ozorków|ozorków nowe miasto": [[0, 0]], - "ozorków nowe miasto|chociszew": [[0, 0]], - "chociszew|grotniki": [[0, 0]], - "grotniki|jedlicze koło zgierza": [[0, 0]], - "jedlicze koło zgierza|zgierz kontrewers": [[0, 0]], - "zgierz północ|zgierz jaracza": [[0, 0]], - "zgierz jaracza|zgierz": [[0, 0]], - "zgierz|łódź radogoszcz zachód": [[0, 0]], - "łódź radogoszcz zachód|łódź żabieniec": [[0, 0]], - "łódź żabieniec|łódź kaliska": [[0, 0]], - "łódź kaliska|łódź pabianicka": [[0, 0]], - "łódź pabianicka|łódź chojny": [[0, 0]], - "łódź chojny|łódź dąbrowa": [[0, 0]], - "łódź dąbrowa pbs|łódź zarzew": [[0, 0]], - "łódź zarzew|łódź widzew": [[0, 0]], - "sosnowiec kazimierz|sosnowiec dańdówka": [[0, 0]], - "sosnowiec dańdówka|sosnowiec południowy": [[0, 0]], - "sosnowiec południowy|katowice zawodzie": [[0, 0]], - "łódź widzew|łódź andrzejów szosa": [[0, 0]], - "łódź andrzejów szosa|łódź olechów pzs r82": [[0, 0]], - "łódź olechów łoc|łódź olechów wschód": [[0, 0]], - "łódź olechów wschód|łódź olechów pzs r16": [[0, 0]], - "łódź olechów pzs r16|łódź olechów zachód": [[0, 0]], - "łódź olechów zachód|łódź olechów wiadukt": [[0, 0]], - "łódź olechów wiadukt|łódź olechów pzs r3": [[0, 0]], - "łódź olechów pzs r3|łódź chojny": [[0, 0]], - "łódź chojny|łódź pabianicka": [[0, 0]], - "łódź pabianicka|retkinia": [[0, 0]], - "retkinia|łódź retkinia": [[0, 0]], - "łódź retkinia|łódź lublinek": [[0, 0]], - "łódź lublinek|pabianice północne": [[0, 0]], - "pabianice północne|pabianice": [[0, 0]], - "pabianice|chechło": [[0, 0]], - "chechło|dobroń": [[0, 0]], - "zduńska wola|izabelów": [[0, 0]], - "izabelów|męcka wola": [[0, 0]], - "męcka wola|sieradz męka": [[0, 0]], - "sieradz męka|sieradz warta": [[0, 0]], - "sieradz warta|sieradz": [[0, 0]], - "łódź kaliska|retkinia": [[0, 0]], - "skierniewice|bełchów": [[0, 0]], - "bełchów|bednary": [[0, 0]], - "warszawa wschodnia|warszawa stadion": [[0, 0]], - "warszawa stadion|warszawa powiśle": [[0, 0]], - "warszawa powiśle|warszawa śródmieście": [[0, 0]], - "warszawa śródmieście|warszawa ochota": [[0, 0]], - "warszawa ochota|warszawa zachodnia": [[0, 0]], - "warszawa włochy|warszawa ursus północny": [[0, 0]], - "warszawa ursus północny|warszawa gołąbki": [[0, 0]], - "warszawa włochy|warszawa ursus": [[0, 0]], - "warszawa ursus|warszawa ursus niedźwiadek": [[0, 0]], - "warszawa ursus niedźwiadek|piastów": [[0, 0]], - "piastów|pruszków": [[0, 0]], - "pruszków|parzniew": [[0, 0]], - "parzniew|brwinów": [[0, 0]], - "brwinów|milanówek": [[0, 0]], - "milanówek|grodzisk mazowiecki": [[0, 0]], - "grodzisk mazowiecki|jaktorów": [[0, 0]], - "jaktorów|międzyborów": [[0, 0]], - "międzyborów|żyrardów": [[0, 0]], - "żyrardów|sucha żyrardowska": [[0, 0]], - "sucha żyrardowska|jesionka": [[0, 0]], - "jesionka|radziwiłłów mazowiecki": [[0, 0]], - "radziwiłłów mazowiecki|skierniewice rawka": [[0, 0]], - "skierniewice rawka|skierniewice": [[0, 0]], - "skierniewice|mokra": [[0, 0]], - "mokra|sierakowice skierniewickie": [[0, 0]], - "sierakowice skierniewickie|bełchów": [[0, 0]], - "bełchów|bobrowniki": [[0, 0]], - "bobrowniki|łowicz główny": [[0, 0]], - "idzikowice|radzice pzs r31": [[0, 0]], - "mikołajów|słotwiny": [[0, 0]], - "słotwiny|żakowice południowe": [[0, 0]], - "łódź widzew|łódź stoki": [[0, 0]], - "łódź stoki|łódź marysin": [[0, 0]], - "łódź marysin|łódź warszawska": [[0, 0]], - "łódź warszawska|łódź arturówek": [[0, 0]], - "łódź arturówek|łódź radogoszcz wschód": [[0, 0]], - "łódź radogoszcz wschód|zgierz": [[0, 0]], - "zgierz|zgierz rudunki": [[0, 0]], - "zgierz rudunki|smardzew": [[0, 0]], - "smardzew|glinnik wieś": [[0, 0]], - "glinnik wieś|glinnik": [[0, 0]], - "glinnik|swędów": [[0, 0]], - "swędów|stryków": [[0, 0]], - "stryków|bratoszewice": [[0, 0]], - "bratoszewice|głowno": [[0, 0]], - "głowno|głowno północne": [[0, 0]], - "głowno północne|kamień łowicki": [[0, 0]], - "kamień łowicki|domaniewice centrum": [[0, 0]], - "domaniewice centrum|domaniewice": [[0, 0]], - "domaniewice|stare grudze": [[0, 0]], - "stare grudze|łowicz przedmieście": [[0, 0]], - "łowicz przedmieście|łowicz główny": [[0, 0]], - "gniewięcin apo|klimontów": [[0, 0]], - "klimontów|klimontów apo": [[0, 0]], - "tunel|dziadówki": [[0, 0]], - "dziadówki|miechów": [[0, 0]], - "miechów|kamieńczyce": [[0, 0]], - "kamieńczyce|szczepanowice": [[0, 0]], - "szczepanowice|smroków": [[0, 0]], - "smroków|słomniki": [[0, 0]], - "słomniki|słomniki miasto": [[0, 0]], - "słomniki miasto|niedźwiedź": [[0, 0]], - "niedźwiedź|goszcza": [[0, 0]], - "goszcza|łuczyce": [[0, 0]], - "łuczyce|baranówka": [[0, 0]], - "baranówka|zastów": [[0, 0]], - "czarnca|knapówka": [[0, 0]], - "dorota|juliusz": [[0, 0]], - "juliusz|sosnowiec dańdówka": [[0, 0]], - "charsznica|gajówka": [[0, 0]], - "gajówka|gajówka apo": [[0, 0]], - "gajówka apo|jeżówka": [[0, 0]], - "jeżówka|wolbrom": [[0, 0]], - "wolbrom|zarzecze": [[0, 0]], - "zarzecze|zarzecze apo": [[0, 0]], - "zarzecze apo|chrząstowice olkuskie": [[0, 0]], - "chrząstowice olkuskie|jaroszowiec olkuski": [[0, 0]], - "bukowno|bukowno przymiarki": [[0, 0]], - "bukowno przymiarki|sławków": [[0, 0]], - "sosnowiec kazimierz|sosnowiec porąbka": [[0, 0]], - "sosnowiec porąbka|sosnowiec dańdówka": [[0, 0]], - "sosnowiec maczki|sosnowiec kazimierz": [[0, 0]], - "sosnowiec kazimierz|dąbrowa górnicza strzemieszyce": [[0, 0]], - "dąbrowa górnicza strzemieszyce|dąbrowa górnicza wschodnia": [[0, 0]], - "dąbrowa górnicza wschodnia|sławków": [[0, 0]], - "sławków|bukowno": [[0, 0]], - "bukowno|olkusz": [[0, 0]], - "olkusz|jaroszowiec olkuski": [[0, 0]], - "jaroszowiec olkuski|zarzecze apo": [[0, 0]], - "zarzecze apo|wolbrom": [[0, 0]], - "wolbrom|gajówka apo": [[0, 0]], - "gajówka apo|charsznica": [[0, 0]], - "charsznica|tunel": [[0, 0]], - "kozłów|klimontów apo": [[0, 0]], - "klimontów apo|gniewięcin apo": [[0, 0]], - "gniewięcin apo|sędziszów": [[0, 0]], - "zastów|baranówka": [[0, 0]], - "baranówka|łuczyce": [[0, 0]], - "łuczyce|goszcza": [[0, 0]], - "goszcza|niedźwiedź": [[0, 0]], - "niedźwiedź|słomniki miasto": [[0, 0]], - "słomniki miasto|słomniki": [[0, 0]], - "słomniki|smroków": [[0, 0]], - "smroków|szczepanowice": [[0, 0]], - "szczepanowice|kamieńczyce": [[0, 0]], - "kamieńczyce|miechów": [[0, 0]], - "miechów|dziadówki": [[0, 0]], - "dziadówki|tunel": [[0, 0]], - "klimontów apo|klimontów": [[0, 0]], - "klimontów|gniewięcin apo": [[0, 0]], - "łódź chojny|łódź kaliska": [[0, 0]], - "łódź kaliska|łódź żabieniec": [[0, 0]], - "łódź żabieniec|zgierz": [[0, 0]], - "dąbrowa górnicza ząbkowice|dąbrowa górnicza gołonóg": [[0, 0]], - "dąbrowa górnicza gołonóg|dąbrowa górnicza": [[0, 0]], - "dąbrowa górnicza|będzin ksawera": [[0, 0]], - "będzin ksawera|będzin miasto": [[0, 0]], - "będzin miasto|będzin": [[0, 0]], - "będzin|będzin miasto": [[0, 0]], - "będzin miasto|będzin ksawera": [[0, 0]], - "będzin ksawera|dąbrowa górnicza": [[0, 0]], - "dąbrowa górnicza|dąbrowa górnicza gołonóg": [[0, 0]], - "dąbrowa górnicza gołonóg|dąbrowa górnicza ząbkowice": [[0, 0]], - "myszków światowit|myszków mrzygłód": [[0, 0]], - "myszków mrzygłód|zawiercie borowe pole": [[0, 0]], - "zawiercie borowe pole|zawiercie": [[0, 0]], - "łazy łc|wiesiółka": [[0, 0]], - "wiesiółka|chruszczobród": [[0, 0]], - "chruszczobród|dąbrowa górnicza sikorka": [[0, 0]], - "dąbrowa górnicza sikorka|dąbrowa górnicza ząbkowice": [[0, 0]], - "dąbrowa górnicza ząbkowice|dąbrowa górnicza pogoria": [[0, 0]], - "dąbrowa górnicza pogoria|dąbrowa górnicza gołonóg": [[0, 0]], - "dąbrowa górnicza gołonóg|dąbrowa górnicza pogoria": [[0, 0]], - "dąbrowa górnicza pogoria|dąbrowa górnicza ząbkowice": [[0, 0]], - "dąbrowa górnicza ząbkowice|dąbrowa górnicza sikorka": [[0, 0]], - "dąbrowa górnicza sikorka|chruszczobród": [[0, 0]], - "chruszczobród|wiesiółka": [[0, 0]], - "wiesiółka|łazy łc": [[0, 0]], - "zawiercie|zawiercie borowe pole": [[0, 0]], - "zawiercie borowe pole|myszków mrzygłód": [[0, 0]], - "myszków mrzygłód|myszków światowit": [[0, 0]], - "piotrków trybunalski|jarosty": [[0, 0]], - "jarosty|moszczenica": [[0, 0]], - "moszczenica|baby": [[0, 0]], - "baby|wolbórka": [[0, 0]], - "wolbórka|łaznów": [[0, 0]], - "łaznów|rokiciny": [[0, 0]], - "rokiciny|chrusty nowe": [[0, 0]], - "chrusty nowe|żakowice": [[0, 0]], - "łódź widzew|łódź zarzew": [[0, 0]], - "łódź zarzew|łódź dąbrowa": [[0, 0]], - "łódź dąbrowa|łódź chojny": [[0, 0]], - "łódź pabianicka|łódź kaliska": [[0, 0]], - "łódź żabieniec|łódź radogoszcz zachód": [[0, 0]], - "łódź radogoszcz zachód|zgierz": [[0, 0]], - "zgierz|zgierz jaracza": [[0, 0]], - "zgierz jaracza|zgierz północ": [[0, 0]], - "zgierz kontrewers|jedlicze koło zgierza": [[0, 0]], - "jedlicze koło zgierza|grotniki": [[0, 0]], - "grotniki|chociszew": [[0, 0]], - "chociszew|ozorków nowe miasto": [[0, 0]], - "ozorków nowe miasto|ozorków": [[0, 0]], - "ozorków|sierpów": [[0, 0]], - "sierpów|łęczyca": [[0, 0]], - "łęczyca|gawrony": [[0, 0]], - "gawrony|witonia": [[0, 0]], - "katowice zawodzie|sosnowiec południowy": [[0, 0]], - "sosnowiec południowy|sosnowiec dańdówka": [[0, 0]], - "sosnowiec dańdówka|juliusz": [[0, 0]], - "juliusz|dorota": [[0, 0]], - "knapówka|czarnca": [[0, 0]], - "sosnowiec dańdówka|sosnowiec kazimierz": [[0, 0]], - "sosnowiec dańdówka|sosnowiec porąbka": [[0, 0]], - "sosnowiec porąbka|sosnowiec kazimierz": [[0, 0]], - "sławków|bukowno przymiarki": [[0, 0]], - "bukowno przymiarki|bukowno": [[0, 0]], - "jaroszowiec olkuski|chrząstowice olkuskie": [[0, 0]], - "chrząstowice olkuskie|zarzecze apo": [[0, 0]], - "zarzecze apo|zarzecze": [[0, 0]], - "zarzecze|wolbrom": [[0, 0]], - "wolbrom|jeżówka": [[0, 0]], - "jeżówka|gajówka apo": [[0, 0]], - "gajówka apo|gajówka": [[0, 0]], - "gajówka|charsznica": [[0, 0]], - "zduńska wola karsznice|gajewniki": [[0, 0]], - "retkinia|łódź kaliska": [[0, 0]], - "zgierz|glinnik": [[0, 0]], - "glinnik|stryków": [[0, 0]], - "stryków|głowno": [[0, 0]], - "głowno|domaniewice": [[0, 0]], - "domaniewice|łowicz przedmieście": [[0, 0]], - "łowicz przedmieście|domaniewice": [[0, 0]], - "domaniewice|głowno": [[0, 0]], - "głowno|stryków": [[0, 0]], - "stryków|glinnik": [[0, 0]], - "glinnik|zgierz": [[0, 0]], - "zgierz|łódź żabieniec": [[0, 0]], - "gajewniki|zduńska wola karsznice": [[0, 0]], - "łowicz główny|warszawa gołąbki": [ - [0, 0], - [209, 1] - ], - "sieradz|sieradz warta": [[0, 0]], - "sieradz warta|sieradz męka": [[0, 0]], - "sieradz męka|męcka wola": [[0, 0]], - "męcka wola|izabelów": [[0, 0]], - "izabelów|zduńska wola": [[0, 0]], - "dobroń|chechło": [[0, 0]], - "chechło|pabianice": [[0, 0]], - "pabianice|pabianice północne": [[0, 0]], - "pabianice północne|łódź lublinek": [[0, 0]], - "łódź lublinek|łódź retkinia": [[0, 0]], - "łódź retkinia|retkinia": [[0, 0]], - "retkinia|łódź pabianicka": [[0, 0]], - "łódź kaliska|łódź chojny": [[0, 0]], - "bednary|bełchów": [[0, 0]], - "bełchów|skierniewice": [[0, 0]], - "warszawa gołąbki|warszawa ursus północny": [[0, 0]], - "warszawa ursus północny|warszawa włochy": [[0, 0]], - "warszawa zachodnia|warszawa ochota": [[0, 0]], - "warszawa ochota|warszawa śródmieście": [[0, 0]], - "warszawa śródmieście|warszawa powiśle": [[0, 0]], - "warszawa powiśle|warszawa stadion": [[0, 0]], - "warszawa stadion|warszawa wschodnia": [[0, 0]], - "łowicz główny|bobrowniki": [[0, 0]], - "bobrowniki|bełchów": [[0, 0]], - "bełchów|sierakowice skierniewickie": [[0, 0]], - "sierakowice skierniewickie|mokra": [[0, 0]], - "mokra|skierniewice": [[0, 0]], - "skierniewice|skierniewice rawka": [[0, 0]], - "skierniewice rawka|radziwiłłów mazowiecki": [[0, 0]], - "radziwiłłów mazowiecki|jesionka": [[0, 0]], - "jesionka|sucha żyrardowska": [[0, 0]], - "sucha żyrardowska|żyrardów": [[0, 0]], - "żyrardów|międzyborów": [[0, 0]], - "międzyborów|jaktorów": [[0, 0]], - "jaktorów|grodzisk mazowiecki": [[0, 0]], - "grodzisk mazowiecki|milanówek": [[0, 0]], - "milanówek|brwinów": [[0, 0]], - "brwinów|parzniew": [[0, 0]], - "parzniew|pruszków": [[0, 0]], - "pruszków|piastów": [[0, 0]], - "piastów|warszawa ursus niedźwiadek": [[0, 0]], - "warszawa ursus niedźwiadek|warszawa ursus": [[0, 0]], - "warszawa ursus|warszawa włochy": [[0, 0]], - "bełchów|mokra": [[0, 0]], - "łódź chojny|łódź olechów pzs r3": [[0, 0]], - "łódź olechów pzs r3|łódź olechów wiadukt": [[0, 0]], - "łódź olechów wiadukt|łódź olechów zachód": [[0, 0]], - "łódź olechów zachód|łódź olechów pzs r16": [[0, 0]], - "łódź olechów pzs r16|łódź olechów wschód": [[0, 0]], - "łódź olechów wschód|łódź olechów łoc": [[0, 0]], - "łódź olechów pzs r82|łódź andrzejów szosa": [[0, 0]], - "łódź andrzejów szosa|łódź widzew": [[0, 0]], - "słotwiny|koluszki": [[0, 0]], - "płyćwia|bełchów": [[0, 0]], - "łowicz główny|bełchów": [[0, 0]], - "bełchów|płyćwia": [[0, 0]], - "koluszki|słotwiny": [[0, 0]], - "warszawa główna towarowa|józefinów": [[0, 0]], - "raciborowice|dłubnia": [[0, 0]], - "marków|szeligi": [[0, 0]], - "łazy łc|przemiarki": [[0, 0]], - "przemiarki|dąbrowa górnicza towarowa dta r5": [[0, 0]], - "dąbrowa górnicza towarowa dta r5|dąbrowa górnicza towarowa": [[0, 0]], - "słotwiny|rokiciny": [[0, 0]], - "dąbrowa górnicza wschodnia|dorota": [[0, 0]], - "sosnowiec dańdówka|stawiska": [[0, 0]], - "stawiska|katowice janów": [[0, 0]], - "katowice janów|katowice much. kmb": [[0, 0]], - "katowice much. kmb|staszic": [[0, 0]], - "gałkówek|łódź olechów łoc": [[0, 0]], - "koluszki|żakowice południowe": [[0, 0]], - "gajewniki|dionizów": [[0, 0]], - "kraków przedmieście|kraków olsza": [[0, 0]], - "sosnowiec główny|sosnowiec południowy": [[0, 0]], - "sosnowiec dańdówka|sosnowiec maczki": [[0, 0]], - "bukowno|borowa górka": [[0, 0]], - "kraków olsza|kraków przedmieście": [[0, 0]], - "kraków batowice|dłubnia": [[0, 0]], - "dłubnia|kraków batowice": [[0, 0]], - "starzyny|koniecpol": [[0, 0]], - "kraków główny kga|sosnowiec maczki": [ - [0, 0], - [34, 1], - [942, 0] - ], - "sosnowiec maczki|sosnowiec dańdówka": [[0, 0]], - "sosnowiec południowy|sosnowiec główny": [[0, 0]], - "dąbrowa górnicza towarowa|dąbrowa górnicza towarowa dta r5": [[0, 0]], - "dąbrowa górnicza towarowa dta r5|przemiarki": [[0, 0]], - "przemiarki|łazy łc": [[0, 0]], - "szeligi|marków": [[0, 0]], - "rokiciny|słotwiny": [[0, 0]], - "józefinów|warszawa główna towarowa": [[0, 0]], - "dorota|dąbrowa górnicza wschodnia": [[0, 0]], - "katowice muchowiec staszic|staszic": [[0, 0]], - "staszic|katowice much. kmb": [[0, 0]], - "katowice much. kmb|katowice janów": [[0, 0]], - "katowice janów|stawiska": [[0, 0]], - "stawiska|sosnowiec dańdówka": [[0, 0]], - "borowa górka|bukowno": [[0, 0]], - "dąbrowa górnicza wschodnia|kozioł": [[0, 0]], - "kozioł|dąbrowa górnicza towarowa": [[0, 0]], - "stawiska|mysłowice": [[0, 0]], - "dąbrowa górnicza towarowa|kozioł": [[0, 0]], - "kozioł|dąbrowa górnicza wschodnia": [[0, 0]], - "kozioł|dąbrowa górnicza towarowa dta r5": [[0, 0]], - "dąbrowa górnicza towarowa dta r5|kozioł": [[0, 0]], - "kutno|ostrowy": [[0, 0]], - "zduńska wola|dionizów": [[0, 0]], - "dąbrowa górnicza strzemieszyce|dąbrowa górnicza huta katowice": [[0, 0]], - "łódź olechów łoc|gałkówek": [[0, 0]], - "dionizów|gajewniki": [[0, 0]], - "dionizów|zduńska wola": [[0, 0]], - "zduńska wola karsznice|zduńska wola": [[0, 0]], - "idzikowice|radzice": [[0, 0]], - "zduńska wola|zduńska wola karsznice": [[0, 0]], - "dąbrowa górnicza huta katowice|dąbrowa górnicza strzemieszyce": [[0, 0]] - } -} +{"version":1,"knownStations":["baranówka","bedoń","będzin ksawera","będzin miasto","bobrowniki","borszewice","bratoszewice","bukowno przymiarki","chechło","chrusty nowe","chruszczobród","chrząstowice olkuskie","dąbrowa górnicza gołonóg","dąbrowa górnicza pogoria","dąbrowa górnicza sikorka","dąbrowice skierniewickie","dobroń","domaniewice centrum","dziadówki","gajówka","gawrony","glinnik wieś","głowno północne","goszcza","grotniki","izabelów","jaktorów","jarosty","jedlicze koło zgierza","jesionka","jeżówka","justynów","kamień łowicki","kamieńczyce","katowice szopienice poludniowe","klimontów","kolumna","kraków grzegórzki","krosnowa","łaznów","lipce reymontowskie","łódź andrzejów szosa","łódź arturówek","łódź dąbrowa","łódź niciarniana","łódź olechów wiadukt","łódź olechów wschód","łódź olechów zachód","łódź pabianicka","łódź radogoszcz wschód","łódź radogoszcz zachód","łódź retkinia","łódź stoki","łódź warszawska","łódź zarzew","łuczyce","maków","męcka wola","międzyborów","mokra","moszczenica","ozorków nowe miasto","pabianice północne","parzniew","przyłęk duży","sieradz męka","sieradz warta","sierakowice skierniewickie","sierpów","skierniewice rawka","słomniki miasto","smardzew","smroków","sosnowiec porąbka","stare grudze","sucha żyrardowska","swędów","szczepanowice","wągry","warszawa powiśle","warszawa śródmieście","warszawa stadion","wiesiółka","wolbórka","żakowice","zarzecze","zawiercie borowe pole","zgierz jaracza","zgierz rudunki","bednary","florek","jackowice","krzewie","ostrowy","stara wieś","katowice tow. ktc","brynów","mysłowice","szabelnia","staszic","stawiska","katowice janów","żelisławice","czarnca","sosnowiec dańdówka","myszków","przemiarki","radzice","marków","warszawa zachodnia","warszawa centralna","warszawa wschodnia","warszawa grochów","kozioł","dąbrowa górnicza towarowa","dąbrowa górnicza strzemieszyce","dąbrowa górnicza południowa","sosnowiec maczki","sosnowiec jęzor","olkusz","jaroszowiec olkuski","zarzecze apo","wolbrom","charsznica","sędziszów","gajówka apo","warszawa gł. tow.","warszawa praga","koniecpol","dłubnia","kraków główny","kraków olsza","kraków płaszów","kraków bonarka","borowa górka","rokiciny","mikołajów","łódź olechów","łódź chojny","łódź fabryczna","puszcza mariańska","bełchów","piotrków trybunalski","rozprza","kutno","dionizów","zduńska wola karsznice","sieradz","sędzice","sprowa","biała rawska","pilichowice","józefinów","gniewięcin apo","klimontów apo","radziwiłłów mazowiecki","słotwiny","łódź andrzejów","łódź dąbrowa pbsz","łódź marysin","dobroń apo","kolumna apo","borszewice apo","męka apo","zgierz kontrewers","chociszew","ozorków","łęczyca","stryków","domaniewice","baby","będzin","bukowno","dąbrowa górnicza","dąbrowa górnicza huta katowice","dąbrowa górnicza wschodnia","dąbrowa górnicza ząbkowice","dorota","gajewniki","gałkówek","glinnik","głowno","góra włodowska","grodzisk mazowiecki","idzikowice","juliusz","katowice","katowice zawodzie","knapówka","koluszki","korytów","kozłów","kraków batowice","kraków przedmieście","łask","łazy","łazy ła","łazy łc","łódź kaliska","łódź lublinek","łódź widzew","łódź żabieniec","łowicz główny","łowicz przedmieście","miechów","niedźwiedź","olszamowice","opoczno południe","pabianice","płyćwia","pruszków","psary","raciborowice","retkinia","rogów","skierniewice","sławków","słomniki","sosnowiec główny","sosnowiec kazimierz","sosnowiec południowy","starzyny","strzałki","szeligi","tunel","warszawa włochy","witonia","włoszczowa północ","żakowice południowe","zastów","zawiercie","zduńska wola","zgierz","zgierz północ","żyrardów","brwinów","milanówek","myszków mrzygłód","piastów","warszawa ochota","warszawa ursus","warszawa ursus niedźwiadek","katowice towarowa ktc","kraków główny kga","kraków zabłocie","radzice rd1","sędziszów towarowy","warszawa gołąbki","warszawa główna towarowa woa","warszawa podskarbińska","warszawa praga wpt m","dąbrowa górnicza towarowa dta r5","katowice much. kmb","katowice muchowiec staszic","męka","kraków płaszów pzs kpa","piotrków trybunalski towarowy","koło","łódź dąbrowa pbs","radzice pzs r31","warszawa zachodnia peron 8","łódź olechów pzs r82","łódź olechów łoc","łódź olechów pzs r16","łódź olechów pzs r3","warszawa ursus północny","myszków nowa wieś","myszków światowit","warszawa główna towarowa","mysłowice wesoła"],"stations":{"baranówka":[50.1465513,20.0953448],"bedoń":[51.7319797,19.6423435],"będzin ksawera":[50.330655,19.158452],"będzin miasto":[50.319012,19.135451],"bobrowniki":[52.0575101,20.0112048],"borszewice":[51.6098764,19.0338649],"bratoszewice":[51.9385499,19.6527684],"bukowno przymiarki":[50.2753542,19.4099597],"chechło":[51.6444521,19.2851366],"chrusty nowe":[51.694788,19.794322],"chruszczobród":[50.399604,19.328349],"chrząstowice olkuskie":[50.3443643,19.6856811],"dąbrowa górnicza gołonóg":[50.343838,19.226037],"dąbrowa górnicza pogoria":[50.350237,19.240319],"dąbrowa górnicza sikorka":[50.389004,19.299082],"dąbrowice skierniewickie":[51.933357,20.102488],"dobroń":[51.62937,19.2408212],"domaniewice centrum":[52.011937,19.7918665],"dziadówki":[50.3993312,20.008304],"gajówka":[50.3945896,19.8789521],"gawrony":[52.1125446,19.2198483],"glinnik wieś":[51.8826783,19.482078],"głowno północne":[51.9790616,19.7219812],"goszcza":[50.1848818,20.0609885],"grotniki":[51.8871008,19.3111142],"izabelów":[51.6099964,18.9118596],"jaktorów":[52.087289,20.553817],"jarosty":[51.46071,19.69306],"jedlicze koło zgierza":[51.869226,19.3209098],"jesionka":[52.014288,20.333155],"jeżówka":[50.3993066,19.8156448],"justynów":[51.7309353,19.6836105],"kamień łowicki":[51.9887485,19.7531105],"kamieńczyce":[50.3273019,20.0058296],"katowice szopienice poludniowe":[50.258939642857136,19.091745171428574],"klimontów":[50.5252201,20.0300258],"kolumna":[51.6149075,19.1959259],"kraków grzegórzki":[50.05706910967742,19.948248961290325],"krosnowa":[51.86214,19.922935],"łaznów":[51.631578,19.755299],"lipce reymontowskie":[51.904968,19.941536],"łódź andrzejów szosa":[51.7415683,19.6129333],"łódź arturówek":[51.8155838,19.4564138],"łódź dąbrowa":[51.7359028,19.5105118],"łódź niciarniana":[51.7668757,19.5074416],"łódź olechów wiadukt":[51.723709,19.54368],"łódź olechów wschód":[51.729815,19.594761],"łódź olechów zachód":[51.724984,19.559483],"łódź pabianicka":[51.726238,19.445335],"łódź radogoszcz wschód":[51.826684,19.4434202],"łódź radogoszcz zachód":[51.821962,19.4157797],"łódź retkinia":[51.7403316,19.4065924],"łódź stoki":[51.7765953,19.5105897],"łódź warszawska":[51.8078014,19.4713727],"łódź zarzew":[51.7517065,19.5132107],"łuczyce":[50.1627204,20.0744128],"maków":[51.941988,20.047313],"męcka wola":[51.6090884,18.8466629],"międzyborów":[52.064104,20.484027],"mokra":[51.9780281,20.1009976],"moszczenica":[51.503484,19.700385],"ozorków nowe miasto":[51.9589092,19.2696778],"pabianice północne":[51.6699326,19.3420092],"parzniew":[52.156474,20.7634074],"przyłęk duży":[51.839978,19.916591],"sieradz męka":[51.6151908,18.7765752],"sieradz warta":[51.6029986,18.7303875],"sierakowice skierniewickie":[51.9994066,20.0602021],"sierpów":[52.0183434,19.2225893],"skierniewice rawka":[51.97806,20.222803],"słomniki miasto":[50.2357763,20.0766057],"smardzew":[51.8711594,19.4675247],"smroków":[50.2745963,20.046833],"sosnowiec porąbka":[50.2720763,19.2162914],"stare grudze":[52.048301,19.9013762],"sucha żyrardowska":[52.023372,20.360957],"swędów":[51.905759,19.5401203],"szczepanowice":[50.30121,20.0245475],"wągry":[51.792048,19.850209],"warszawa powiśle":[52.2336891,21.0281391],"warszawa śródmieście":[52.2268163,20.9957829],"warszawa stadion":[52.2442524,21.0439984],"wiesiółka":[50.41458,19.348087],"wolbórka":[51.593322,19.723408],"żakowice":[51.7324899,19.792779],"zarzecze":[50.3633645,19.6989847],"zawiercie borowe pole":[50.510796,19.399036],"zgierz jaracza":[51.8638125,19.4224654],"zgierz rudunki":[51.8612048,19.4374136],"bednary":[52.105425,20.0648738],"florek":[52.25793230000001,19.3189092],"jackowice":[52.156489,19.797672],"krzewie":[52.235733,19.171079],"ostrowy":[52.300084,19.190193],"stara wieś":[52.227524,19.423094],"katowice tow. ktc":[50.26514850583024,18.985295214353926],"brynów":[50.24781474793173,18.988202633684438],"mysłowice":[50.2377849,19.1416162],"szabelnia":[50.25921852453205,19.110331512666356],"staszic":[50.2185092,19.0015504],"stawiska":[50.2516826,19.1046828],"katowice janów":[50.2375633,19.0795012],"żelisławice":[50.8070182,19.8696468],"czarnca":[50.82365750853256,19.938046723789427],"sosnowiec dańdówka":[50.2656236,19.1744767],"myszków":[50.573785,19.330974],"przemiarki":[50.3858426,19.3402444],"radzice":[51.4734704,20.3734172],"marków":[51.9680077,20.4987857],"warszawa zachodnia":[52.219998,20.964118],"warszawa centralna":[52.2282727,21.0007336],"warszawa wschodnia":[52.2529551,21.0585454],"warszawa grochów":[52.25569542546427,21.08321530028934],"kozioł":[50.3086134,19.3829383],"dąbrowa górnicza towarowa":[50.3292899,19.3772192],"dąbrowa górnicza strzemieszyce":[50.3111948,19.2674549],"dąbrowa górnicza południowa":[50.3118019,19.2873408],"sosnowiec maczki":[50.2585664,19.2726664],"sosnowiec jęzor":[50.2653748,19.1971938],"olkusz":[50.2750194,19.5664442],"jaroszowiec olkuski":[50.3423169,19.6217697],"zarzecze apo":[50.3563167,19.6919101],"wolbrom":[50.3758608,19.7724272],"charsznica":[50.3964022,19.9348343],"sędziszów":[50.5658651,20.0549968],"gajówka apo":[50.3991802,19.8576832],"warszawa gł. tow.":[52.2133153,20.8969579],"warszawa praga":[52.2786919,21.0211558],"koniecpol":[50.7779877,19.7110206],"dłubnia":[50.1024409,20.0265218],"kraków główny":[50.0717489,19.9471738],"kraków olsza":[50.0800609,19.9537993],"kraków płaszów":[50.0376337,19.9711962],"kraków bonarka":[50.0291998,19.9464366],"borowa górka":[50.2457515,19.3293388],"rokiciny":[51.668957,19.781429],"mikołajów":[51.70729,19.860878],"łódź olechów":[51.731575,19.600367],"łódź chojny":[51.725265,19.495086],"łódź fabryczna":[51.7695843,19.4696149],"puszcza mariańska":[51.9757175,20.3291426],"bełchów":[52.0227275,20.0358665],"piotrków trybunalski":[51.410379,19.684733],"rozprza":[51.301571,19.660205],"kutno":[52.2273464,19.3469387],"dionizów":[51.6238954,18.9618302],"zduńska wola karsznice":[51.588904,18.994908],"sieradz":[51.6288322,18.5700496],"sędzice":[51.6288322,18.5700496],"sprowa":[50.5928548,19.8827475],"biała rawska":[51.7943361,20.4394064],"pilichowice":[51.255534,20.122262],"józefinów":[52.186091,20.853216],"gniewięcin apo":[50.5407133,20.0442128],"klimontów apo":[50.5096673,20.0245994],"radziwiłłów mazowiecki":[52.000292,20.290428],"słotwiny":[51.726217,19.8323151],"łódź andrzejów":[51.741174,19.6167956],"łódź dąbrowa pbsz":[51.749532,19.513492],"łódź marysin":[51.8001538,19.4861385],"dobroń apo":[51.629363,19.240834],"kolumna apo":[51.614231,19.193488],"borszewice apo":[51.609461,19.0395],"męka apo":[51.609401,18.787825],"zgierz kontrewers":[51.8647786,19.3403229],"chociszew":[51.9244267,19.2670788],"ozorków":[51.9724733,19.2659008],"łęczyca":[52.0488396,19.1936852],"stryków":[51.910608,19.5934069],"domaniewice":[52.020613,19.8210089],"baby":[51.538214,19.717352],"będzin":[50.309683,19.140707],"bukowno":[50.2642404,19.4527971],"dąbrowa górnicza":[50.330066,19.186722],"dąbrowa górnicza huta katowice":[50.3348137,19.2601185],"dąbrowa górnicza wschodnia":[50.3035812,19.2992962],"dąbrowa górnicza ząbkowice":[50.362681,19.261282],"dorota":[50.2827597,19.2802615],"gajewniki":[51.6126401,18.9832791],"gałkówek":[51.7302647,19.7381744],"glinnik":[51.8864801,19.495034],"głowno":[51.9596105,19.7023042],"góra włodowska":[50.584838,19.4637633],"grodzisk mazowiecki":[52.11039,20.622632],"idzikowice":[51.4513162,20.314863],"juliusz":[50.2723591,19.2253232],"katowice":[50.2572002,19.0192343],"katowice zawodzie":[50.2575,19.055],"knapówka":[50.8004523,19.9043886],"koluszki":[51.745896,19.819545],"korytów":[52.0207323,20.4952086],"kozłów":[50.4815391,20.0155617],"kraków batowice":[50.105436,19.9874537],"kraków przedmieście":[50.085232,19.9501464],"łask":[51.6040465,19.1084591],"łazy":[50.4314788,19.3937441],"łazy ła":[50.4549209,19.4201804],"łazy łc":[50.4160383,19.3629156],"łódź kaliska":[51.7611254,19.4278092],"łódź lublinek":[51.7198164,19.3579216],"łódź widzew":[51.7642333,19.5366811],"łódź żabieniec":[51.7963307,19.4058366],"łowicz główny":[52.104484,19.956327],"łowicz przedmieście":[52.0934391,19.9486011],"miechów":[50.3545392,20.0112964],"niedźwiedź":[50.2080982,20.0826558],"olszamowice":[51.0953234,20.0685972],"opoczno południe":[51.3617013,20.2353386],"pabianice":[51.6595443,19.322187],"płyćwia":[51.91692,20.002434],"pruszków":[52.1666541,20.7943392],"psary":[50.7333464,19.8156698],"raciborowice":[50.1104728,20.0272571],"retkinia":[51.742938,19.4153611],"rogów":[51.821831,19.891602],"skierniewice":[51.965816,20.145592],"sławków":[50.2947074,19.3749896],"słomniki":[50.2484671,20.0641448],"sosnowiec główny":[50.2759502,19.120997],"sosnowiec kazimierz":[50.2897017,19.2325962],"sosnowiec południowy":[50.2732817,19.1209594],"starzyny":[50.7125208,19.801415],"strzałki":[51.6421429,20.4045625],"szeligi":[51.9433014,20.4586874],"tunel":[50.4324523,19.9904935],"warszawa włochy":[52.206754,20.916761],"witonia":[52.1568872,19.2764976],"włoszczowa północ":[50.8511152,19.9433871],"żakowice południowe":[51.729271,19.79076],"zastów":[50.1216503,20.064985],"zawiercie":[50.473426,19.423966],"zduńska wola":[51.6111345,18.9420577],"zgierz":[51.8445164,19.4212242],"zgierz północ":[51.8691324,19.3837377],"żyrardów":[52.053226,20.451341],"brwinów":[52.1419599,20.7193178],"milanówek":[52.1250509,20.6680661],"myszków mrzygłód":[50.544017,19.377101],"piastów":[52.1825184,20.8426063],"warszawa ochota":[52.2257198,20.990075],"warszawa ursus":[52.1966861,20.8862952],"warszawa ursus niedźwiadek":[52.1913033,20.869316],"katowice towarowa ktc":[50.26555168506183,18.984058522155077],"kraków główny kga":[50.0799061,19.9367001],"kraków zabłocie":[50.0475183,19.9579544],"radzice rd1":[51.48165813004324,20.34247106598081],"sędziszów towarowy":[50.5713769,20.0676007],"warszawa gołąbki":[52.208117,20.86122],"warszawa główna towarowa woa":[52.21101727347063,20.882946579487534],"warszawa podskarbińska":[52.25723683904977,21.073280170163514],"warszawa praga wpt m":[52.2627351,21.0576148],"dąbrowa górnicza towarowa dta r5":[50.3290134,19.3782002],"katowice much. kmb":[50.2265011,19.0100419],"katowice muchowiec staszic":[50.2254501,19.041815],"męka":[51.6092500705406,18.78817312185351],"kraków płaszów pzs kpa":[50.0376337,19.9711962],"piotrków trybunalski towarowy":[51.410379,19.684733],"koło":[51.869226,19.3209098],"łódź dąbrowa pbs":[51.7359028,19.5105118],"radzice pzs r31":[51.4802427,20.3618057],"warszawa zachodnia peron 8":[52.2199517,20.9620569],"łódź olechów pzs r82":[51.730661,19.600515],"łódź olechów łoc":[51.730661,19.600515],"łódź olechów pzs r16":[51.730661,19.600515],"łódź olechów pzs r3":[51.730661,19.600515],"warszawa ursus północny":[52.1966861,20.8862952],"myszków nowa wieś":[50.573785,19.330974],"myszków światowit":[50.573785,19.330974],"warszawa główna towarowa":[52.2102911,20.8812915],"mysłowice wesoła":[50.2377849,19.1416162]},"segments":{"warszawa grochów|warszawa wschodnia":"ce}}Hcyt_CM|@[hBQjASpA_@`C]xBWdBU~ASpAIn@Ij@E`@Gj@Gj@KtAEv@Ct@Al@Av@?t@?r@?bA@rA@xB?V@~@?N?X@r@B~@Dx@Dv@Dl@Dj@Fj@@LF`@D`@F`@Hf@Nr@BPH^Nl@Pr@Rn@Rl@fAbDx@~BjAfD~AxEd@|A@Dj@`CLl@R|@RlAPdARzAHp@Hf@\\bBtArK`AnHe@tA","warszawa centralna|warszawa wschodnia":"uyw}Hqud_CuAoKGk@uC{T]}AS_BSaBIk@Ee@Ga@Ec@Cc@C]A[Ae@Aa@Ac@?_@@_@?e@@e@@_@B_B@]?c@?a@Ao@A_@A]AYEk@Ci@Gk@Io@kHgk@K{@My@OaAM{@Kq@Ko@sD{TMq@Kk@Ke@Mm@Qq@{@uDYoA[oAk@{BU}@W{@Y}@GQOc@Qi@Sk@Q_@CISc@Se@[s@Yi@We@GKMWQWEGa@o@iCoDS[OWQ[OUO]S_@Ui@Se@q@cBcBcE}FyNoG{OUi@Sc@Qc@S]Yg@GIYa@W]UYSSYYSSWSUOWQWMSIWMWIYKQEMCMCMAUEWCYAUAUAS?S?{HAQ?SAW?Y?WAYAQAOCQAUCWCoAMUCUEUCQCMCMCMCOEECGAECGASIOIQKQMKIKIMMOOMOOQMSKOOYOYKQO[KUo@kBOa@IYKc@[uAe@uBa@oCUgAg@_CqAaGmB_J{BeKs@aFQmAYmBDeBW}AU{AGe@Io@SuA","warszawa centralna|warszawa zachodnia":"uyw}Hqud_CHj@Fd@Jn@Lp@Lj@Jd@\\vAp@nC`@dBH^HZFXF^FZDZF`@D\\`@~C\\nCBPF^Fh@H`ALlALfBH~@Fh@Dd@D`@@HPtA|@dHRxAHl@Jp@Hh@Jp@j@rDv@`FFZHh@`@pCTzAJn@Jn@V`BNfA~@nG`AtGd@`DtBtNNdAN|@Hd@F\\F^F\\P~@@FXxABRDTLr@Lx@Jx@\\hCb@rDDZhAjJF\\PvAHp@LbAFn@Dj@Fn@Dr@J`BFl@B^Fn@Hn@Fh@Jt@xAtLLhAR~AHh@@L","warszawa włochy|warszawa zachodnia":"ess}Hwht~BiAyEMc@I_@I[I_@Kg@Ke@YuA_@kBw@sBa@sBQ{@Q{@S{@SaAUaAQw@cAoE_Iq]_DiNuAkGGUu@eDS{@i@aCsAaGc@mB?AEOAEESGYIYGYGYEQAGGYGYGYGYCICQGYAAEWGYG[EYGYCMCMEYG[EYG[EYE[GYE[E[EYE[EWCUAIAKCOEYE[E[C[E[E[E[AKAOE[E[AKEc@Ea@?AMgA]yCCYE[E[CYE[E[?EEUC[E[CQAIE[C[E[E[E[C[E[E[EYE[E[C[E[E[E[ACCUE[E[E[E[EYE[CWACE[AICOG[?EEUEYG[EYG[GYEYCIKk@GYGYGYGW?AGYGYIYGYGWIYGYIYGWIYGUm@cCYiAGYIYGYGWQs@GYESI_@G[GYGYEYG[GYEYG[CKCMCUG_@G[EYEUCSCMEYE[a@wC_@gCAEWmBm@gEIo@{AeLGk@CM}AeM","józefinów|warszawa włochy":"aro}Hs{g~Ba@eBaDmN{A{GuAaGsAaGsAaG}FeWaAkEQu@sAaGsAcGuAaGsAaGq@wC]}ACKqA{FAEsAaGuAcGsA_Gi@cC[sAMk@Qw@Qw@UiAWiAYqAWsA]}AQw@YsAYmAMo@Mg@Ke@YqA]yAs@}Cg@}BWcAUcA_@aBYgAYkAYmAq@oCYgAWiAgAyE]yA]}ACK[uAAGuAcGw@mD[uAI[o@sCuAgGi@cCsA}Fo@sCS}@Ou@UiAy@{DoAeGWmAYuA]aB_@eBs@yCG]i@_Ca@eBo@qCe@qBQu@Qw@s@mCe@gBm@}BCGCMo@{B[mAOk@Qw@Ss@Mm@Mc@Kg@I]sAaGaAiEMi@YmA\\M[sA","józefinów|pruszków":"aro}Hs{g~Bn@vCt@~CVhAFVrA`Gp@tC`@jBjAdFFZl@lCb@vBNp@~@rELl@j@jCR|@BLH^n@rCZlAPt@b@hB^zARt@bAdE@@T`ANl@DPT~@Rz@FVT`Av@jDVhAz@vDf@tB?@l@jCrA`G\\xA?@v@fDl@pCd@nBtAbGh@bCh@`CtAbGrA`GjAdFH^Pt@`AjEtAbGvSj~@tAfGBJtBhJb@hBdAxET~@\\|AR@XhB~AbHLj@`AfEZrAVdATbATdAj@pC`@fBLn@Lj@f@h@~@`EVfA@Dj@hCJd@bDnN","grodzisk mazowiecki|pruszków":"}x`}Hmzz|BwCiMm@oCm@mCo@sCeAyE{@yDqA_GyCyM_CoKgBcIkBmIcBwHEQUeAEKYsA_@aBWmAYkAg@yBgG_XiLgg@uLmh@]yAgMej@[qA[sA]yAWgAuQuw@]{Asd@cqB_@{AyRa{@m@iCwDqPkBeI?CiB}HYsA[qAACgByHYkAYmA[sA]{AGYKa@FGkCkLqYsoAmDqO]yAmCqL]wA[wA[mAyAqGwBaJmDkOg@qB?CQs@k@cC[wAa@iBaD}NI]aGsW]yAaGqWyLci@EMwI{_@m@eC[qAAGiAuEg@uBWcAWgAEOg@{BeAsEMk@o@sCoCwL}AwGmGwX{BwJaAkEoCwLwAgGeEqU","grodzisk mazowiecki|korytów":"}x`}Hmzz|B\\xALh@\\zAXhABJNl@HX`@`BtB|HFRhAfEl@`C~@~DFXhAbFDLbBtHb@lBrB`JpAtFp@vCBHH\\nCpLjCjLpE|RNj@Jd@d@pBVdAR~@DN@B?B~@~DjA`FrD~OnT|_AfCvKZxAj@~BbSz{@lEhRFT|D~P`Mji@lAjFXnAnCnLJd@Ld@R|@Rz@Nr@Np@Pr@Nr@Jf@Jd@x@tDVpAJd@Jf@Pr@Nr@Nr@Nt@Nt@Nt@Ll@Ln@Ll@Ln@Jn@Ln@Jl@Jj@Jl@Jn@Jn@Jn@DXHh@F^Pf@Lz@Jx@Lx@Jz@Lz@Jz@NpANnAPrANpATrBVtBjAbKRhBRhBJv@Jx@Hx@PtAPtAJv@Jx@Jv@Jv@Lx@Jv@Jv@Lv@Lv@Hf@Hf@Hl@Jj@Lt@Nv@Lt@Lr@Nr@Lr@Nr@Nr@Nt@Nr@Pr@Nt@Pp@Pr@Np@Pp@Pn@Np@Rp@Pn@Pp@Rn@Nj@Tt@HTHXRl@Pl@Pj@Rh@Pf@Pj@Rh@Ph@Th@Rj@Rj@Th@Rj@Th@Tj@Vj@Th@Vl@Vh@Vj@Rd@Td@Zp@Vf@Td@Zl@Vd@Vf@Vd@Vd@Vd@Vb@V`@Tb@V`@PXRXPXPX\\h@TZV`@V^^f@\\f@TZTZX^X\\X\\X^X\\X\\h@n@h@l@Z\\\\^\\\\\\^\\\\^\\\\\\\\\\^Z\\\\^Z\\Z^Z^X^Z`@Z^X`@X^X`@V^X`@V^V`@V`@T`@V`@T`@T`@T`@RZPXLXNRH^P^P\\N|@^`@PTHTHXJXJ^L^L^L\\J^L^J^L^J^Jb@J`@J`@LXF|A^HBh@Lr@PbATVFhIlB|EhArQfETDn]dIr@Pvv@pQTDbUjFvD|@rYzGPDF@jQbE~A^hJvBtt@zP","korytów|szeligi":"qho|Ha~a|BjIlB|ItBNBtBf@vBf@nDx@tAZtA\\vDz@dK`CfAVxXrGvg@nLlGxAtb@zJ^HxBh@ZFZHt@Pn@Nn@Nn@Nl@Pn@Nn@Pn@Pl@Nd@NZJZHn@Rl@Rt@Vr@Vt@Vr@Xr@Xr@Xn@Vl@Vp@Zr@Zp@\\p@Zl@Zl@Zl@\\l@Zl@\\l@^PHb@Xd@Xj@\\h@\\n@b@n@`@j@`@j@`@TNXRn@d@r@f@r@f@b@Zb@\\bZjT`At@r@d@p@f@p@d@p@f@p@d@p@d@PJ^Vn@b@TLd@Zf@Zp@`@n@^r@`@p@^r@`@r@^t@\\r@^d@Tf@TXLr@Zr@Zt@Zr@Xt@Zr@Xt@Xr@X`@N^NhM~Ej`@fOnCdAjG`CnEdBbDnAz@\\fHnCd@P`C~@pHtCb`At^","biała rawska|szeligi":"sac{Hiaw{B{@CwHU_N_@ch@yAaHS}[_AwEO?KWA}sA{D_ACqx@}BgAEw@Cw@Cu@Cw@Cw@Ew@Ek@Ck@ESAa@Ca@Cc@Ea@Ea@Ca@Ec@E_AKm@Gm@Im@Im@Io@Im@Is@Ks@Kk@IoJsA_AOuOyBkSuC}Eq@cIkA}Eq@{e@}Gy@M{sAoRaAOcAMu@Mw@Ku@KKAk@GUCa@Gw@Iq@I_@CCAYCc@Cc@Ea@Ce@EI?[Ce@Cc@Cc@Cc@CC?c@Ag@C_@As@AQAa@?q@As@As@As@?u@As@?iAAku@SaA?wVGY?w|@W{WGi\\I}CAgBAmB?{AAgA?eAAiC?gVIuC?kLEu@?u@Aw@?u@Au@?w@Aw@Au@Ai@Cg@AYAc@Ac@Cc@CK?YCc@Ce@Cc@Ce@EC?_@Ee@Cc@Ec@Ge@Ec@Ee@Gc@Gc@G_@EEAc@Gc@Ge@Ic@IWEMCc@Ic@Ic@Ic@Ic@Ke@Kc@Kc@Kc@Ke@Ku@Su@Ss@Us@S_@Ma@Mg@Ou@Wu@Ws@Ws@Wu@Ys@Yu@Yu@Ya@Os@YsFuBqJsDoEeBa@OwGiCgHoC","biała rawska|strzałki":"sac{Hiaw{BtM`@b@@fLZ~HTlDJdTn@dDHn@Bn@Bv@Bv@Bv@Bx@Bv@Dv@BbB@xBN|BP~Cd@pC^nC^t@LdF~@t@NpCn@rBf@nD`ArH~BdaAr^tAf@zMlFxgBlq@ht@pXxBt@lBp@dCp@jBf@jGvAdB^bC^|B\\xBZ|BT|BNzBD|B@bb@l@`FJpx@bBn@@vV^n@@`e@t@t@@n^j@rdAvArgAlBfELpEZpKtAnHlA^HhATps@vOlAVrDx@n@L|Cp@jh@dLdATfQxDbDr@","idzikowice|strzałki":"wa`yH{v~zBsFkKYk@iDsGg@_AyE_JoAaCEGuc@oz@aTca@oQ_]sf@c_AqNiX_EwHc@y@}BkEwLwUmIeOaHoKsDkFcIeJcImIuImHsG_FsGsEuGuE_JoGeAu@}ImG}KgIgJuGgLmImA}@kJyG_JoGaJcGiH_EcFaCqG{BuFgBsF{AkGkA}HkAcKs@wAK{c@yAWA}CQ}I[_Y_AiCIqTw@kCKaV_Ae`@wA{YeAi\\iAgw@mCcGUco@}BaJ]sX_AcEOmLc@kIYYAuHYkb@{AuJ_@oIYkSs@uLc@sn@{BsGUwEQkYgAcVy@sDMgXcAkXcAyCMwHq@wHw@yCc@gIeBeIgBaE{@{Dw@s@OcTuEoAY","idzikowice|opoczno południe":"wa`yH{v~zB~NzXz\\ho@f@~@b@z@p@nAt@tAfCzEFJ|BhEz@`BT`@Vz@Zl@v@zAn@lAPXvE|IzAnCrCtE~@zAzBjD~CfEzArBdC`DrCpDxCbDnKbKjEpD~ErD~PhLfUjOlSzMpW~PvUrOjn@na@l`@lWjJdGxRnMvb@fY|DdC|A`A`B~@`B~@dBz@hEpBdCdAtBx@vBt@~OhFlCx@\\JvJ|C\\JzCfAfFrBvL~FrC~A^V|DjC|EnDvDvCdErDvEtEjEvEzF|GrDpExMfP","opoczno południe|pilichowice":"sqnxH{eozB`@f@|D|Ej@t@nAzA|KbNfLjNpIjKbFhGnDjEfHzItMnPdHpItJjLlE~EpErErHtGzHbG~g@|_@lmAz}@xs@`i@lg@r_@rGpFvFtFrFzFfHzIzJtNdm@|eAfZ`i@~c@fx@Vd@vBtDdO~WfOxWnD~FpDzFzExGbFnGrFjGxF~FvHxGbHhFhHxEhq@z_@x@d@","olszamowice|pilichowice":"wpzvHwsnyBsA?qQ@mX@qJ?sF@qC?u@?gG?qH@_IEqFKoFQcEYcEe@eEk@eEu@eE_AcEeAkE}AyFqB}i@kTwCkASIkd@{QuL{EgSeIqLyE{y@w\\mMeFch@oSe@S{_Aw_@aAa@om@kV_JmDc`@{OiMqEECwC_A{EuA{EkAwGqAsAWyNgBSC_MaA_j@wD}Fa@sgAwHkf@gDmRsAcg@mDaGa@cFa@QCoFo@gEo@wGqAsG}AgFgBcFkBeHaDaHqDgSeLeSiLqBeAaGiD","olszamowice|włoszczowa północ":"wpzvHwsnyBfL?vCAvn@CdI?zmAGhVAvJArdDO~F?hS?|QAbA?li@CjKN`FV~E`@xH`AlHpA|LbDnF~AhEnA`OjEnJpCbjA~\\~C~@nu@|T|UdHpYrIlRxF~@XlMvDXHtLjDfGjB`Bf@nOpEdOrEnDpAjDtAlB~@jGxCxElCtExCrFzDpFnEtFbF~S~Sj[l[xBxBlWtWnFpFpXzXfGjG~FvGbM~OlDvEbJzLxn@pz@j\\pc@jA|AbArA~_@dh@j]xd@tP|TvAlB`g@|p@xK~NpKlNDF`DbEfDzDjDtD~BbCdC~BjC|BlCzBhCnBjCjBxE|C|EpCtDnBxDfB|DbB`E~AvHzClTtItShIvEhB|X~Kt@X|GlC|OnGvGjCjGbCzUjJlDtAlNtF","knapówka|włoszczowa północ":"y}`uHmqnxBeAw@aDeCoEmD{MgKWSoAeA_E{CcMuJeMyJu[oVwHaGwH_GuLkJ}D}Ce@]go@}f@yJuHaDeCaEaDaK_IcHoFi@c@aBoAaBsA}AmAaBoAmA_AcAw@uB{AoE{Ck@]oAy@aAi@kAq@uAu@iCqAgB{@mBy@yAm@sIiDkBu@wOkGkDuA","knapówka|psary":"y}`uHmqnxB~BhB~@r@tT|Pj`@pZ|HdGJHdIrGnDzChD`DvGxGxOlQrOjQ`]l`@xR|Tpt@lz@pQpSxj@ro@pKjMbDnEtHfL`FxIlBpDrDpHPb@rDnIvDxJhFhOlEnOtEpP\\nA~BpIxVd~@lKz_@r@fCHB","psary|starzyny":"mzstH}f}wB~BpI^tAlDfMPp@Rn@Pj@x@fCTr@rI`[xDdNv@rCb@bBh@~Av@nBbBbDt@lAx@bAz@`A|@z@|@r@bAr@VNRJj@X~Al@zA\\|ARbADbABvBKx@Kx@OvAa@hM}E~KsEpOuGfAa@pEmA","sprowa|starzyny":"ilxsHejjxBw@XEByDtAmI|C{g@lRSHmFpBkBp@wBv@aFhBcFjCgBhAyCjCiBnBwAlBwOzUcMhREFal@h|@KBkXna@}PlWoWh`@o]rh@}JdOkF~HaNdSq@`AuBlCuAvA{AtA}ApA_BdAcB`AcBr@C@gBn@{Ad@{Bd@iBb@}h@bHyVdDovA`R_~@vL}B^iB`@gBf@_Bj@_`@pPoiBtw@mRjIaJzD","kozłów|sprowa":"stbsHghdyBuBe@a@IyBg@A?]IyEeAwGyAmAWiB[mB[{AW]DmCe@w@Kq@Ks@Gw@Iu@Es@Cy@Au@Ay@@u@Bs@Bu@Dw@Hm@Fs@Jm@Jg@Ju@Ne@Ls@Pq@Rq@Ti@ROFq@Xo@Xm@Zo@\\s@`@m@^q@d@k@b@o@d@o@h@i@b@o@n@k@j@k@l@m@p@i@n@g@n@g@p@eB|B_ClCaApA_FtGeIbLyHxKo@|@w@hA]f@qApBcAbB_AfBy@bBy@nBYt@_@bAs@tBq@zBo@dCm@`Cc@|Ba@bC]jCe@zDQ`BqFnj@{Grq@}Dv`@gAxKQxB]tC]nCc@rCg@lCk@hCo@fCq@`Cq@pBq@jBq@`Bu@bBy@~A{@zA}@xAcAxAgAvAA@gAnAkElEgKjKqAnAwAjAuAdAyA~@{Av@yAp@aBl@aBf@{DhAg@LmFdBoHzByErByCfByCdCmAlAmBpB}DlEo@r@sGbHMLo}BfeCiLdMwBdC_BvBmAlB}AtCiA|BaA`CwA~DeAlDcAjEqAxGmBfKwVrtA{@~DyArGw@rCqC|H{BxEeChEqCtD}BfCaCrBw@l@EDcBfAeCnA{D|AyAj@cPbGqSxH{f@zQC@mE`Bib@zOuFtB","kozłów|tunel":"stbsHghdyBdCh@n@Nb@Jj@P`@L\\LLFHB^Nx@^`EdBDB^N|@`@fAd@vB~@|Ar@|FlCvBbAbChAj@Vr@\\vBfAPHr@^j@Xd@Vf@Vf@Vn@Z|FlCZNfCjAvCtA|SvJ`RrIl@Xh@Vh@Rf@Rj@Pf@Nh@JTDXDd@Fl@Df@Dd@@\\?^?b@Af@Cl@G\\ENAf@Kh@Kf@Ol@Qd@Sf@Sh@Wf@Yd@[h@_@d@]d@a@`@a@f@i@\\a@b@i@^i@`@k@^m@^q@Zm@\\u@Xo@Zy@JAPg@Vy@Xy@ZkA|AsFRu@Ro@Vw@Vq@Xw@Ti@Xm@\\m@Zk@\\g@JQLOFKZa@\\c@X[XY\\[b@_@b@]d@[`@Ud@Wb@Qf@Sd@Od@Mh@Kd@If@Gh@Ef@Cd@?h@?f@Bd@Bh@Ff@HXHLBf@L`@Lf@Rd@Rf@Vb@Xd@Xd@^`@\\`@^^`@`@d@^d@Zb@`@l@Zj@\\l@Xl@Zr@Vn@Vt@BDPh@Rr@Rr@Rx@TbARbAN~@PhAN|@J`An@fGPzAHx@Lz@Jv@Nx@Px@Nt@T|@\\pAfJj[zElP`CjIL^b@dAZp@P\\R^Vd@Vb@Zb@X`@X^XZ\\\\ZZ\\X`@Z`@Z`@V^R`@Td@TfClApDhBfBz@x@`@`@Tb@R","miechów|tunel":"{zirHsmcyBuBy@sC}@mBy@cBq@kAe@_@O}D_B_Bg@}A[{AMoACkFLaGReBDwBHa@@_A@wBCeBKsGu@i@BkR}ByR_CcCMcCByBTMDqBb@uBt@sBhA_C`BwBbBuB`Bm@d@]XuDtCcE`D}BbB_B|@kAd@uA^gBTS@c@By@?sAE{ASwA]sAi@eI}DsFsC}@a@w@Wo@SaAQcAKeBCoBH{AVaAVs@VMDw@^uAv@oC~A}@j@yDxByDtBcA`@gA`@kBb@eCb@eANwEr@oFt@UDeNrBgBTsCb@yB\\wBf@oAb@kAh@s@^w@d@o@f@aBvAaAdAaAjAs@dA}@zA[n@_@p@_AjB_FxJm@lA_MtVqCvFa@x@_@n@]j@[f@[b@a@f@Y\\a@`@]Z_@Z_@XIFUN_@TEBWNe@Re@Ra@Nc@La@Jk@LeEv@iNnCeF`AgNpCaARe@JgATe@Hg@Ha@Hq@Hy@Hg@DwBReBN]BgE^_DVe@BS@W?e@?e@A_@Ae@Ga@Eg@Kg@KKESGa@Mg@Sa@QoCsA","miechów|słomniki":"{zirHsmcyBzAl@dLtEnDdBvInDVL`Bn@|Al@pBx@|B`A|A|@nA|@`A~@z@`AdAzA|@~Az@hB~@~BzB`Gl@rAp@vArAvBnA|A`BxA`Ar@bBz@n@V`B`@b@FrANzA@tAGjBYvBs@pB{@~@a@vDeBb@QdDwAvT}JbH_D~GiDv@e@zAeAVQdAw@fDgCtA}@~CgBnJaFvHcE|AcA`Au@bC{BzDgDfBwApA}@|C{AlD_AbDi@jFy@nEiAfDgB`DkCxCcDjMqNrFeGz@}@dByAxAcAvEqCtCeB~CiBnGuDjBoAf@]`Au@z@w@JIdCiCjMmPxC}DrCuD`AkAdAiAdAaA|@w@xB{AzGeEPIvA_Ad@YfE{B`DoBpAs@pAm@fFgBhAa@pHeCtHiClGyBf@QxFoBvAk@vAq@v@g@l@c@zAoA~AgB`BqBdQyTvFiHbAkA~@iAhAiAFGr@m@z@o@jAy@|BuAjEaCdB_A`B_AtL{GrBkA|GwDnC{AhAo@dAo@nPgJvGsDlC}APIRM`BcAv@k@t@q@`@c@nA_BjAkBhBgDn@iAr@gAh@s@d@i@l@o@l@e@j@c@j@_@xAs@f@Sd@Ob@OnBk@JEjBi@ZW^MZIdBg@`A[hA[pHwBj@Q|EwAdA[TGr@O","niedźwiedź|słomniki":"sgmqHskqyBiE{AmAc@eBm@oCaAwAe@eAUuAQoAGkA@kAFgARgAV{@X}@b@{A|@{A`AeElCwExCwD~BeAf@}@\\{@Z{@RyAVeAJmAFcA?y@CcAGsFg@mBSuGo@sGq@}Fk@gHs@wBSwAMcAE}@@qAHw@Lu@NaAXaA`@{@d@y@h@o@f@_Az@{AjBo@bAw@vAuAtCm@tA{BdFq@~A{AfD}@tB_AhBmAhBgArAuJtKgCpCgCpCa@d@{ElFo@r@}AdByAjByAhBm@n@o@h@u@n@cB`AaDlAMD{Af@kA`@i@Pc@Ni@Ni@LoCn@","niedźwiedź|zastów":"sgmqHskqyBzDtAfDdAxBp@x@XbExAlFjBfDpApDxAtChA`A^fKxDx@XrE|AjAd@|@b@z@f@t@j@lAdA^`@d@h@`AtA~@`BdA`Cr@pBl@xBd@`CTvARzANxAF~@Lt@@ZJhCHxCFzCJnDJbCJnAV|B^bCf@zB`@|A`@pAf@nAz@bBx@tApAhBj@l@p@n@bAv@`Al@fBz@h@NrBb@fAJfA@fBEfBY~Bq@xAq@~A_ArAu@t@c@b@W\\SbCyAxAy@fBu@rEiB|@]x@WvA[~Co@~A]x@U`A[~@c@bAi@r@g@z@q@z@y@~ByBjAiAdCcCfA_Az@m@t@e@x@c@|@_@v@YzKyCtDaApD}@jBi@`AYt@YpAk@hAo@zBwAdBmAdCcBjCmBjAy@VQh@]bBmAbAs@~@w@hAgAn@s@l@q@b@m@h@q@`A{Aj@aAf@_AjAeCrCkGtEcKXm@dAaC`A{Bt@qBb@wAd@iB\\iBb@}CVcCViBH_Ab@gFZaETeCVmCVkBZcBDQZyAd@cBd@sAj@wAt@{Az@uAd@q@t@_Aj@k@dA}@v@m@fAk@p@YbA[~@U~@On@EnACjA@rBH~BJxBJjBHxAFZ@l@@nERvCJzBJfEPhEPxAHxAL`AJtARz@Lz@LnC`@nBXtBXdANr@Nz@Tj@Rf@Pn@Zp@^|@p@|@v@z@|@x@dAz@tAx@|Az@jBlAxCP`@t@dBdAfCbA`CrB|EtBbFRd@JTr@bBr@bBvBbFzClH|ArD|ArDrL`YjBpEJT^z@xCfHXr@`FzLnCtGnClGpAzC`CpFjAlC","raciborowice|zastów":"mezpHkqfyBsIo_@{DcQyBsJ_AmESmAEUMs@g@yCmAsHqFy\\}Fi^Mu@cHec@{@gF}@qFm@oDk@mCo@kCm@uBe@uAe@oAe@kAy@qBAAy@mBWo@","kraków batowice|raciborowice":"_fypHqx~xBmCaKcA{Ds@wCUkAc@_Ca@uCUoBKeAIeAMeBIwAGwACwACmAAaB?iA?iABwCNyMJyHD_I@mEDiCDiCD}BDqBFyCFwCJuF@gBDqCDmC@oABsB@M@gAB_C@_A?[?s@A}@Cu@Cw@?EEs@IoAMkAKeAOeAO_AQaAeAyEgA{EkBkIkBiIa@eBe@wB_AcEi@cCq@yC","kraków batowice|kraków przedmieście":"_fypHqx~xB`@xAp@`CPp@bA|Dr@lBr@jCnD`NpBpHv@zCf@fBV`Al@vBp@rBdApClA|CjAzCjIdTjC|GdHtQh@rAbAhClA`DfCpGnC~G~AbE~@~Bj@vAb@bA^v@^r@Tb@\\j@Vf@NVz@vAp@jAbAhBzAhCbBzCb@r@pA`CXf@~ApCx@xAh@`AXf@V`@TZLRTZVZVXRTVVVTTTXTTPRNRLzA~@lBjAl@\\PJ`B`A","kraków główny|kraków przedmieście":"msrpHy|vxBSLOJQJy@`@]Py@\\m@XoAh@MFMFg@Tm@XWJSJ[LMFu@\\[LKDw@^a@PSFYH[HYDC?SBW@O@U?QAQAUC[EWEKCMCw@Q}@QOEk@Mg@Ki@OICWIa@O_@Qa@SYOMGk@[cDoBWOuAy@cAm@wBqAmJuFgAo@yCgBeBeA]U","kraków główny|kraków zabłocie":"msrpHy|vxB`As@d@_@b@[b@[TO?Ab@UDCPIHEXKXK\\IXG\\Ed@E`AChDGhCCVA\\?^AR?ZBJBF?b@JVHVJJDJDNJLHPH`@RNFVJPFb@Ld@JNDPBFTj@AJARKL?|BC`DGL?v@A`@AhBERAVAH?j@CXA~AGVAXAf@Al@AdFG^AfEGf@C^Ch@Eh@Gb@Gb@Gd@Kd@Kb@Mb@Md@Qf@Qf@Sf@Uh@Yb@Wf@[b@[b@[d@_@PR`@E\\]\\]d@i@f@m@^g@jA{A~@sAd@m@|BaDfA}ApAmBDG|HoLBE^i@@CdCqDf@w@`BcCZe@","kraków płaszów pzs kpa|kraków zabłocie":"e~kpH_s{xBW`@kBnCkC|DILMRSXSXQRORUXGHIF]`@g@h@c@b@c@f@_@`@a@d@]d@_@f@_@h@k@z@]d@INaC~CABSh@y@lA]XKNW`@yAfCm@|@gBlCmBfCgA~AgOrSb@|@","góra włodowska|psary":"gzvsHooxuBrCon@lDow@FmAvAm[hDiu@\\}HP_FZcMJsHFsH@cF?cFIgMUqMa@oMgAuSkBmUsBgRgBeMqB_MwB_LaBsHAAgBsH_@{AyAqF}AoFaBkFcBiFqK_\\sAgE{AeFMc@iDmMsCcMsAyGoA}GiA_HcAaHkA}IiAiKGi@s@sHi@uGc@uGUkDQkDWwFUwFUgKKqGIuGAmH?mH@uAXg]LsMLqNF_F?i@FoG\\w_@VqTBqAH_FTkIV}H\\cI?QDs@fCmj@b@kJdFqgAx@_QpDuw@j@cN@c@XgJPgKFmK?oKIiMUeMY_JCu@g@sKo@eKu@aKkAsLg@wEi@uEuBaPa@yCgQerAaMi_AaD_VoCqSwCuTmA{IsA{IoAqHe@gCo@iDaB_IiB}HoD_NOk@iFmP_CwGgBuE]{@}DeJgE}I}@eBgDeGmD_GoDuFuDkFyD_F_E{EcEkEkEgEqE_EwEuD{EgD_F}CeE_CSKwDkBkD}AyEiB{E_ByEsA_FiA{Cm@{Ce@}Cc@}C[_DU_DQ}HSsDAcEFU@}ADwBJaEXmD\\mDd@yIzAoTvEovAvZqK~B[FgLfCgLdCYF}IjB}IvA_Gp@_G`@aGP_GBeEEcEKeEWeE_@qFo@oF_AmFkAkFyAcH}B_HqCyGcDuGyD{E_DmBsAiBwAsEwDsEyDyKqJoD_DqPwNiC_CgCaCgCeCaCiCwA{AOQqB{B{BwCgCeDaG{ImDyFACeD_GeDoG}CuG{BeFyBmFgFsNeC}H_@iA{CoKqHgXwAkFSw@cJg\\yDkNkKs_@gL_b@wH{XcGkTc@}AcF{Q}@eDcC{IgYodAy@wC_HoW","góra włodowska|zawiercie":"gzvsHooxuBIhBiAvV{EbfAk@tMEbAm@zOa@pOKpJEnJBfMPhM@n@b@dPx@jQh@|Hl@|Hr@|Hv@xHbAzHPvAxAnKvBvL~BtLlDjO|AbGbB|FNd@rAlE@@tAfEvDjKpB`FpCvGtDzHzDtHdEfHtBhDpAtBxDfGdL|PpBvChBfCjB~BlB~BpBxB^`@pCrCxDhDjCzBlCtBzBbB|B|AnErCrEfCzDnBbAb@zB`ArHlCrDfAvD`AzCn@|Cj@`H|@p@Hj@DVBVBz@F^Bp@Dl@Dz@Dn@B~@Bt@Bt@@t@@t@?t@?v@?r@Av@Az@Ar@Ct@Ar@Et@CzBOj@Ev@Gt@Gv@It@Kt@It@Kv@Kt@Mr@Kx@Ov@Ov@Qt@Ov@Qr@QNEh@Mx@Ut@Sv@Uv@Wt@Ur@WdA]hKuDjKwDzCiAff@gQdKsDhG{BnOuFrEaBp@Wx@[t@[p@Yh@Wn@Yr@a@r@_@p@a@r@a@t@e@l@a@v@k@r@i@n@g@p@m@n@i@n@k@n@o@j@k@f@i@v@y@l@s@j@q@j@u@h@q@l@w@f@q@r@cAxFgIvAqB~BeDnFoHhA}AfFiHvAoBj@u@j@u@|G_JX_@|AsBv@gAPUn@{@LShBqBj@u@R[bKmNvQyV\\W`RgWrBqC`EwFp@aAj@y@h@y@`@k@DGn@m@hBsCf@w@b@s@d@q@Za@^e@\\]Z[XW\\[XSVQDCZS\\SZO\\OZMZK`@MRETGb@If@IFA`@Cl@Eh@CbBG^AXQxBI|CKfBU\\A^AHMvBIv@Cx@En@Ev@EdAKbAId@Ed@Ch@C~Kg@nBIbH[nFWtDQx@E|@EnDWdCOp@EtCMj@C\\Ab@?jCA|@?d@A`@A","zawiercie|łazy ła":"}aasHyvpuBd@A|AGTA~AIrBIdS}@tDQ~G[jJa@~BKx@C\\AJAr@An@@l@@t@Br@Dl@Hl@Hr@JZFnAZf@Nl@Pb@PFBr@Zh@Vp@\\d@XRL\\Rf@\\l@f@l@d@j@f@VVRRXXVXVXN?`BjBb@h@PR\\XRP`@RxAz@v@p@dAz@","łazy|łazy ła":"w{xrH{yjuBk@}@GMGKKWMWKWUq@MYISMWOYKQEES]Y_@eBsBm@s@sG_IKM{CuDuCmDmCgDaGgHa@i@S[U[S]Q_@Qc@Oa@Ok@Ka@}BcJOi@Ma@Oc@Qa@Qa@Q[U_@U[g@m@kAsAOQkFcG_DqD[]WYOMEESOUOWO[MYK[IYG]EYCyBM[C[G[G[MWKYOYSWQWUWWWY_AcA_BeBa@c@u@w@g@k@MMIKMOKMOUY]]]i@m@_LyLq@u@q@w@u@{@s@y@uFoGa@g@SS_@[[Wc@[]QUQUOOK_Aw@","łazy|łazy łc":"w{xrH{yjuBZd@PXJLNPpAzAxAbBr@x@zBhCRTh@l@n@x@|C|Dd@j@VXHJz@bA`LpMvNpPDDrGrH|@bAl@p@f@p@HHPTNPb@n@^f@h@|@`@n@b@v@`@r@`@|@^t@^|@Zz@^`AZ|@Z`AV`AX`ARx@XfAR`ARhARdAPlANbANjAHl@BZLhA@NFt@JlA@PDl@FfANlDDr@TjFDnADv@pBfd@","dąbrowa górnicza ząbkowice|łazy łc":"wmkrH_~ptBAAc@c@oAmAaB_Bg@e@SUe@c@oAmAUSQOECKKUQSOoA_AkEcDaD_CSOCCo@e@KWeBqA_CeBiBsAwDoCcS{NeBoAYS]Uc@YuA{@}@k@}@k@_@Ya@WoCsBi@m@mBwAqMqJo@g@g@_@g@a@c@_@i@e@w@q@s@s@m@m@w@y@]a@YYo@w@o@w@q@_Ao@{@m@{@m@aAg@{@i@}@k@gAg@cAe@cAe@eAe@iAe@oAa@eAa@oA_@iASo@YaAMa@I[a@yAYkAQs@K_@[{A[}AI]Ms@Ms@Ki@UsAG_@M}@Ks@Ge@OaAGm@AIMcAAOOuAMsAOaBM{AOqBIqAa@qGQqCSuCSgDEi@W}DIkAEs@c@uGa@sGe@kHAUk@yIm@qJw@yLC_@IiAyBo]IqAI}@AQImAKgAOuAMgAQuAO_AGa@EUEYSeAUkAUeAYkAU_A[iASm@EQ]eA[{@_@aA_@}@c@cA]u@c@y@a@s@g@y@_@m@CGi@u@a@i@g@m@i@o@m@o@g@k@cKmKaAcAY[UYY[W[U[CCYa@g@u@]g@KSGIS_@_@q@e@}@Sc@KSISSe@Wm@Si@Se@Sm@M_@Sm@Sm@Oi@Qi@gC{IYaAY}@Qi@O_@Uo@Um@_@_A_@y@_@u@a@y@e@y@GK[g@e@u@c@m@g@q@e@m@g@k@g@i@i@g@II_@]m@g@i@a@k@a@m@_@o@_@OI[Qi@Uo@YA?k@Ui@Qm@Qc@KEAi@Km@Mm@Kc@GgC_@YEOCOCe@KGC_@Ie@Oi@QUIUKSKOGUKYOo@_@a@WSOMK_@Wa@]_@]e@c@EE_@_@e@g@a@i@c@i@a@o@AAOUOUa@q@_@s@[o@AA]s@Yo@[w@Yy@[{@Wy@Ok@Ok@Oi@Ok@Mk@Kk@Mk@Ko@Ig@Kk@Io@Io@Im@AEK_AMeAKeACMEe@ACEg@Gk@Gm@Ei@Go@Eo@AKGgAGyAIyA?OE}@UyEe@wKYaGEmAEw@eBo`@Es@","dąbrowa górnicza|dąbrowa górnicza ząbkowice":"}aerH_lbtBNoAJ{@Hu@Fm@Da@D_@Dc@Dg@Be@Ba@Dg@@a@@]BW@]?[@]@_@?a@@_@?c@?_@?_@?]Aa@?[Ac@Ac@A_@Cc@Ci@Ck@A[C_@C[Eg@Ee@Gg@Ee@Ge@Gc@E[G[EYE[G]GYGYG_@IYEWI[IYGUGWGSK_@Ma@Oe@Oc@Qe@?WuDuK[y@{AmE{AkEWs@cKcZiCmHu@{BqAuDyAgEwAeEqCcIc@qAeJ}WuA_EOc@KYqCeI}C_JaBwEaByEmAoDaByEmBsF{AmE}ByGcCiHs@oBqDoKIQgLs\\a@kAg@{Ak@}Ae@uAyCwIaC_HcKaZyJgYY{@[y@[y@Yw@Yo@Wo@]w@]w@[m@[m@Yk@[i@]m@_@k@a@q@a@i@a@k@a@k@KMOSUYW[UYUWwAcBsB}BY]YYoB{Ba@c@KKWWeAgA[YSSe@c@YYm@k@]]_@_@a@_@_@_@","będzin|dąbrowa górnicza":"obarHmlysBkA~@gAx@KFaBlA}AhAiBvAoC|BcBbAcAz@cAx@a@X_@VYR]Ta@V_@T]Pu@\\s@Za@N]LQFk@Pq@No@Lm@Ji@Fq@Fw@F]Bg@Bk@@]?q@?w@Aa@Ae@As@Eu@G_@Ek@Go@Io@Kk@Mm@Mm@Om@Uo@Wc@Q[OYOCAa@Sm@_@k@]o@c@o@e@k@e@m@i@m@g@i@k@m@o@g@k@g@o@a@i@i@u@e@s@c@q@_@s@a@u@e@_Aa@}@a@{@a@cA]aA]_A_@kA[eA[eACKOm@Qs@Qu@S}@Oy@Q{@QgAO}@QkAGg@CWOeAk@uEcAiIK_AgA_Jm@aFcAkI]oCY{BUiCC[i@kGQsB_@qECQCa@MoAyC_^Gq@Eg@Ek@Ek@Eu@Gy@KoBc@eI]gG[gGCq@Ci@CYA[?[Ac@A_@?]?_@?[?a@@a@?[@[?A@O?Q@U@WBY@[BS@UBS@UD_@Fm@BSFmAHw@~@iI?G`@iDFi@Fm@@IFm@VkCl@_GHu@NuAnBgQh@uENoALoA","będzin|sosnowiec główny":"obarHmlysB|DcDj@g@n@k@t@q@dBcBx@s@z@q@\\W`Ao@dB}@l@Wh@UjDeAvAa@FAnA]t@Q|@QvBSn@At@?nBH`BPbFh@`Gp@hALfMtAH@tEh@zBX`AJlAHfBRh@DzAPx@HhAL~DXz@JJ@l@HbALp@Jb@Lz@RzBt@rAp@rAv@`D~Br@p@z@~@j@r@d@v@\\j@Zn@b@`A`@bAN^x@tBp@fBb@x@NZj@bAVp@Xr@pA`D~AdEpAdDFPzAvDrAjDbBhErAjDfApCfBpEhBvEbDlInA`DHV@@N\\rAjDVr@z@vBdAlC`AfBT^VZZ^","katowice zawodzie|sosnowiec główny":"k|vqHwthsB?_CB{AD}ALsDRsFDoAHoAL_B`@sEPaC@kBLgEL{EVaHH_EF}FDyC?qDG}FKyFSqGYqGi@wIm@cJcDif@UkDOyBMyCOuCo@aIu@cJa@cFCa@YiEM_CIcAEw@W}D]sD]kD]iEw@{KWiC[mBe@uB]mA}@oCeA_Di@{AcAgCkAgCqAyBi@y@{@kAmA{ASUw@}@cAgAkC{BoCqBqLwIeHeFsCsBe@]uCcC_BkA{B_BwAeAAAi@c@i@e@i@i@k@q@q@eA_AeB_AwBi@wAoA_Do@cBUe@cB{H","katowice|katowice zawodzie":"ozvqHeuasBFcAV_D@CF_A@CH_ABc@FmBJmCf@qORoFLwDBgB@m@?kD@U?wA?cB?CAc@?kB?AIu@?k@AW?uAC{DEmBKuEOwFCcA{@g[g@oLw@}RMgDIqCAm@CwC?aCDaEHwEDeDBkABqAEq@ByCAsCC_C","włoszczowa północ|żelisławice":"ozjuHeevxBjDtAvOjGjBt@rIhDxAl@lBx@fBz@hCpAtAt@jAp@`Ah@nAx@j@\\Zd@|CtBhAx@dDdChCrB|AjAbBpA`BpAdBtAdFzDnFfEhBxAzCdCpAdAzCdCfA|@rAfAzAlAlQtNpR|Ob@`@`@^d@f@b@d@b@h@^f@^f@`@l@^j@\\j@Zh@^p@Xj@Zn@Zr@Xn@Vp@Zz@Xv@Vx@Tv@V|@T|@Tz@R~@P~@TjAR`A|RzdAtBzKbq@jnD~AnIxBnLR~@Lh@Nr@T`APv@Ln@Nt@","grodzisk mazowiecki|żyrardów":"}x`}Hmzz|B\\xALh@\\zAXhABJNl@HX`@`BtB|HFRhAfEl@`C~@~DFXhAbFDLbBtHb@lBrB`JpAtFp@vCBHH\\`@bBLf@Jb@Rt@z@hDTx@Rx@d@nBr@zCn@hCRv@xA|FNl@Nj@\\zADNd@rBdApEXjA~@`EdFtTXnArK`e@jE`RZrAXpAXnAzCvM\\xAfZfqAFT`FfT^dBDNjZlqAbAjEdBtHlAjFZtAb@hBRz@zKxe@pS||@\\zAtCdMlDdOxEpStUlcA\\xAlChLjJba@bEpQ|AxGFTdBvGx@pDzCrM`CbK\\xApCxLhBzHhBzHrAzFtAdG@FJ^BJBHpMzj@dDnNbClKd@rBzApGbAjENr@HXbAnE~@|DfAtEnCrLFXlHh[lBhIt@bDrEzR^|AJf@","radziwiłłów mazowiecki|żyrardów":"yhk|He~yzBQu@kA{E_BeHi@cCGUS{@[sAe@yBQs@k@iCmBoIk@kCU_AS_AYkAYoAoAsFe@sBCMwBmJiDgO{@uDe@qBe@uB{AyG[oAuCmMe@qByBuJo@oC{EcT]yAs@}CS{@g@wBeIg^iDgOeDyN_@aBqAyFeAuEOs@GWI[sDgP]yAcCqKmAqF{AuGiAeFcAmE}@{DuAkGy@kDy@qDyD}PgD_OyHc]WcAAICIGWAGAGOq@cAoEuAaGo@wC}A{G[yAs@yCsMsk@aAiEeBwHw@iDgDeO}B_KI]S{@yEwSYuAq@uCqA}FYqAYoASy@Oq@Oo@UcA]wAgBwHWoAYmA[qAYqAmK{d@qFeV]{A{@wD[qAYqA[qAYqAwKge@yGoYkDcO}FuVCMWkAwBaJkWihAmAiFiB{He@qB_@}AEUw@gDmBiIEQeAqEgAyEo@qCqCuL{BsJYkAkBaI","radziwiłłów mazowiecki|skierniewice":"yhk|He~yzBBJBHlBfIZtAZpAXpALh@Nn@TdAZnAXnAjBlIZtAZpA`@hBlBnInIz^Lh@ZxAxEvSnCpLZvAlChLXrAZrAlBhIZrA@FXjAbAtFNn@r@|CNp@XlAXlArE~RZnAXlABP\\xAJb@hDdOrC`Mb\\zwARz@Nj@ZxAf@vB`BjHtFlVn@pCxJvb@vCjM@JBHH\\tAdGPt@Px@Nn@Ln@Nt@@DLj@Lt@Lt@Lt@Lt@L|@Jp@Hr@Jv@Jx@@HFh@Fr@Ht@H~@Fp@Fv@Dp@@R@JTjDX~DT~CF~@F~@Dv@Fx@Dx@Bt@Dv@D~@Bz@Bv@@v@Bt@@v@@z@?r@@z@?|@?h@?dA?~@AvA?\\EdRCfG?^ArGClHCfIIt^If_@CzE?|A?r@@t@?x@@v@?t@@t@@v@@v@Bt@@v@Bt@Bt@Bt@Bv@Bt@Bt@Dv@Dt@Dv@Dr@Fr@Dr@Fr@Hr@Fr@Hr@Hp@Hr@Hp@Jp@Jp@Jp@Jp@Lp@Jl@Ll@Jj@@@RfATfAJf@bC|LZ`BfBzI\\dBv@zDfChMhClMhEjTvBpKBJH`@Jd@P|@P|@Hd@Hd@Hd@Jh@Hh@Hh@Hl@Fj@Hl@Fd@RbBDZF`@Fb@Hh@Hh@DZBLJh@Hb@Jj@BLFXF^TfAtA|GFZNr@lAhGl@vC`@tBJb@n@dD","płyćwia|skierniewice":"w_{{HevayBsBaEGMAA}@gB}A}CUc@g@aAg@aAuAoCaEaI}@eBUc@iAyBWUMWi@cAc@{@c@w@OWKSS]S[Wc@W]U]W]W]Y]W[Y[Y[WYYYYY[W]YWSYW[U[S]UWQYO[Q]Q]Q_@Q_@Oa@Qa@Qa@OkKeEc]cNq@c@}D_ByImDoAg@m@Uo@Yo@Y]O_@Q_@QWOYO_@U[S]U[S[UYW[W[WYWYYY[YYY[Y[Y]W]Y]W_@W_@Wa@Yc@S[OYOWIOYg@ISIOUe@Uc@Se@M[EISe@Qg@Sg@Qg@GQK[Oc@Qi@Oi@GOIYOk@GSAIEMMi@Om@Mk@Mk@Mm@AKGYKk@Ki@Ik@Ii@Ik@G[AMGi@Ii@Go@Io@Gq@Ea@AMEq@Go@Eq@Eo@Eq@AW?OCe@Cc@Ac@Cq@Aq@Aq@As@Aq@?q@?q@?q@?q@@s@@q@@q@@q@Bq@@q@@W@YDo@Bq@Ds@Fq@Du@Fq@Ds@Fs@LuALsAJyBJeArBqULoAZmDBUp@wHv@uI~BsWx@eJZkDZmDZoDZgDFo@Da@JiAv@yIVqCrBiULsAfA{LLuAtB_VxAaPpCc[Fm@fAuLzAwPDg@zAsPt@oILuAtF_n@NcBLsADg@Dk@Fu@Fu@Du@Ds@Ds@Du@Bs@Bs@Bu@?A@e@?KBu@@u@?]@U?u@@u@?O?c@As@?u@Au@As@Au@?K?OAMCy@Cy@Cm@Ck@A]AWEq@Eo@Em@Eo@Em@Go@Gq@Go@Iq@Gq@Im@Io@Io@Km@Ko@Km@Km@Km@Km@GWEUMk@CMIa@Oo@Om@YgAWiAsMyg@w@wCOk@Ok@Ok@Oe@Me@Oe@Oe@Oe@CIK[Oc@AAOa@Oc@Se@Se@Se@Ue@Se@Uc@Uc@ACS]KQIQOUGKU_@Wa@U[ACW_@W]Y]W]Y]SUEE[[Y[ECSU[Y[YGESQ[W[U[U]U[SCOWOYQA?OIMG]Q]O]O]O_@M]M_@M_@M_@Kq@Us@QuDgAyh@oO_HqBwBm@{Bq@eA[qBk@wKaDOE_@M_@K_@M]M[M[M[MYOYMQKIE[Q[SYQ[SYU[UYUYUYWGGQQYWWWUWWW[_@EGSUOSW]W]W]U_@W_@U_@S]U_@CEO[Q]Q]Q]O[AAO_@Q]M[O]M]M_@M_@M_@K[K[I]K[I]Om@Mk@Mm@Om@Mo@Km@AEKe@c@}AMq@Oq@Ic@_@qBEQOw@a@sBQw@a@sBACsAyG","płyćwia|rogów":"w_{{HevayB~A|Cd@~@b@|@dBfDdBhDzElJl@lAbNdX`DlGl@fA`EdIzBlEBFP\\`CvEzAvCZl@`@v@^t@Td@Td@R`@FNLVRd@Rb@Xr@N^N`@Tl@Rh@L`@Ph@Pj@Nf@Nf@Lf@Ld@H\\DPJ`@Hb@Lf@Jf@Hd@Ln@Jl@Jl@DZDVJp@Ht@Jp@Hv@Hr@Ft@D\\BXDp@Fx@Dt@Dr@Dt@Bt@Dv@@v@Bt@@t@@z@@r@?t@?t@?v@Av@Ax@At@Ar@CzACvAQrIY~NCvAm@j[CtAe@xU]pQMnHEnBCjAG`DI~DG|CA^IvDOnIChAAfAAl@Al@?l@?l@?n@?n@?j@?H@p@@n@@d@?N@t@Br@Bt@Dr@Br@Dh@@Z@J@J@LFx@Ft@Ft@Hr@Fp@Jv@Hp@Jr@Jr@Jr@BHHf@Lp@Lp@Jj@Lj@@DJb@Lh@Lb@H\\HZNf@Lf@Nd@Nf@JXDJNd@Pd@Pd@Pd@Rd@LZDFPb@Td@Td@Vd@Td@HLLTT`@Xb@V`@V^V^X`@V\\Z^X\\ZZRVTTTRRT\\XFFRP\\XZVZT\\TZR\\RZR^R\\P\\PNDNH^N\\L^L^L\\J`@H`@J\\FB@H@b@HF@VDHBRB~@NNBlDf@|ATvARr@L~^nFnEn@xCb@dP`CbNpBnHfAt@JhFt@xNvBfJrAl[tEF@hJrAnFv@t@LtWvDD@F@\\DTDpDf@lARH@nBX|RrCfJtAhMhBt@Jv@LzAT`IhAhIlA\\DxYhEnC`@v@Vn@JF@l@Hp@Lp@L^JB?ZH^J\\JB?^L^NPFLF`@N\\P^P^P^RTNNJFBDBPJVPZV^VRNFFf@`@XVVVTTZZXX^`@PTPTRVTVRXX`@X^JPd@p@d@r@n@bAhAfBdA`BzK~Pl@n@pSv[t@jArEhHXd@vCpExA|BpArBrAtBjAhBfGpJh@x@T\\RZd@r@lAnBHLb@p@hAfBrBbDb@n@pDxFbBjCNTnBzC^l@","koluszki|rogów":"{ryzHe_~wB]Qg@YUMSKwBoAoAs@SMcB_As@c@i@YcEaCaB_AiEaCkEeCSMuAu@kGoDu@a@qF_D_B}@}A{@aCuAc@WwAy@mAq@cAm@_Ai@WOe@WcBaAg@YEC}b@mVe`@uTo@k@y@c@GEe@WeEaCqI{EqMqHs@a@mDoBoI{E}@i@OICAsI}EcE_CkIyEeK{Fs@c@mHcEa@WiDmBu@a@s@c@c@Wa@Wc@YGCWSa@W_@Ya@Y_@[EC[Wc@_@EEIGQOYY[Y[[[[_@_@]_@]_@]a@]a@]c@[a@]c@[c@[c@[e@Yc@i@w@i@y@wHsLqG_Kk@}@wJiOsGaK_D_FeF_Io@cAe@u@i@y@me@yt@{IeNk@{@k@}@a@o@c@o@oCgEa@o@e@s@g@u@]k@uBcD_MqRc@s@gFcIcCyDqHiLcNcT","koluszki|rokiciny":"{ryzHe_~wB\\P\\PZNZNPHVJr@Zr@Xh@R~An@VJ`A`@zGlCXJXJf@Pf@Nd@Lv@Tl@Nh@Nd@LhAZ`@JFBLDVHVHVHTJd@Pb@PnDvA`@PhAb@`Bn@f@RlCfAfU`J`@P^L\\Nh@Pf@Rh@R|@Z|@Zl@Tf@Rd@Pt@Xt@X|@^|@\\z@\\z@^l@Xl@Vl@Vh@Vl@Vj@TZNn@VjCdAhDtApAf@`LnENHxj@zTp@XjMbFlAf@hBf@pPzG`c@|Prn@rVFBrAh@dBr@ji@fTzDzAlDvAdM`FzH|CzClAnAd@jAf@dG~BlEfBtAj@pAf@vPzGf_@`O`C~@","baby|rokiciny":"y`qyHm`jwBsp@mWwHwCYMcE_B}D}Ayu@}YaE_BcE}Aq@Wm@Uq@Uq@So@Qo@Ms@Mo@K_@E_@E[Cw@Em@Aq@Aq@@u@Bm@Ba@DWBSBS@s@Jo@Lq@Nq@Pm@Po@Vk@Rg@Rub@pQuv@~[o@Vs@Xo@Ro@Ry@To@Ni@He@Ha@D}@Hs@Do@Bq@?o@?q@Ao@Es@Gm@Gu@Mk@Km@Mm@Oa@O[Ig@Qa@Ow@Ym@WuNsFOGiEaB}CkA[KmDuAgDoAcE_BwFyBwAg@wHuCy@o@gf@_RwBy@cC_Am@Wi@Uo@[g@Ww@c@w@c@}@k@o@c@}@m@u@i@{@q@s@k@s@m@o@k@o@o@m@m@s@s@e@i@yOwPmI_Joc@qe@sLkMqAwAqAwAe[y\\uJiKwFgG{A_BoW_Ymm@ep@KMa@_@o@q@c@a@s@q@w@q@y@o@w@k@w@k@w@g@}@k@u@a@k@[o@[_FqBiBq@kGeCyEiBgEaBik@uToHsCmXoKiJsDGCcFmBqGgCQI","baby|piotrków trybunalski":"y`qyHm`jwBZLbC`A`@NpEfBhDpAt@XnC`AnAd@z@Zx@ZfBp@vLvEj@Rl@VxqAlg@xk@|TjBr@jAd@dFnBd@PrKfElAf@bI|CfCbAn@Tl@TfA\\x@Tv@T~@T|@N|@Nf@HPBn@Hh@Fj@DzCVpo@nFtBRfdDnXJ@N@`MfAbDXrZdCbBNdBN|s@tGjZpCrGl@xYlC|W`CnIv@vP|Ah]~CF@D?fZnCpSlB`Hn@^D~BRfBP^Dl@F`@DhK`A","piotrków trybunalski towarowy|rozprza":"{axxHqtcwBpDZd@FJ@J@vIv@v@FL@bBPp@DxCXlFXxBPdAJlCV|o@`GzKbAP@hCV^BfCTtFh@zJ~@pEb@L@pE`@|v@dHtTpBrEb@fCTjD\\tDZzBRnALjCVp@FlCTvBRpW`CbVvBzNpAxD\\xEb@hEb@~SlBlGl@hRdBb[rCzv@dH|v@dHtCXnc@|DbBPrBPzAP\\Dv@Ln@J^HXDx@Px@T|@Tx@Vx@Vx@Xx@\\t@Z~@b@r@\\z@d@d@Xl@\\p@`@p@d@nI|FZT|B`BzIhGxB|A~AfAbBlAbEtCbJpG","warszawa gołąbki|warszawa włochy":"w{s}Hsmi~B_@sGc@_HA[k@aJEq@Eq@IsAGq@Gq@Gm@Ek@Iq@Iq@Ge@UwASuAk@wDyAoJMw@E_@Ig@Gi@Gg@Ee@Gg@Ei@?GC_@Ek@Cg@Ck@Am@Ae@Ae@?OAW?m@?a@?a@@]?_@@i@Bi@@e@Bg@Bi@Dk@Fo@B[B[J}@L}@D[F]DYD[FYJe@He@Jc@Lc@Ja@Ja@Pi@Pk@fKs\\hB}FzBkHxBcHrGySzEqORo@n@qBNg@BKHUFUBKH]Ha@F[He@Fc@F_@F_@Da@Fg@Ba@D]Be@Ba@B]@a@@a@@_@@Y?[@c@Ae@?e@Ae@A_@Cc@Aa@C_@Ec@E_@Ee@E]E]Ie@G[EYMq@Om@[yAUkAQs@aAmEsAcGAIk@iCc@qB_@{As@_D_@uA[mA[kAqAwEOi@Om@I]K]Ia@J]Mc@Kg@I]sAaGaAiEMi@YmA\\M[sA","bednary|warszawa gołąbki":"}y_}Hm|myBc@eCc@eCgAiGUkAWoAUoAWoAmAkGMs@Q]mBsKs@eEqAoHg@uCeA_GSiAIa@c@cCg@oC}@eFSgAeIkd@UmAUmAMm@Kk@S_AQs@Oq@Qq@YgA[oAwAwFqOmm@]sAQo@iAoE{FaUw@{CWgAq@iCy@cDq@iCWcAoG}VqEiQOo@kCcK[oAsD{NoByH[mAWcA[iAQm@Om@Qm@Qk@So@Sm@Oc@CICGM_@O_@GQKYSi@Ui@Sg@Wi@Sg@Ue@Se@Ue@{EgKu@aBsD_ImC_Gc@_Ag@gAmAgC?A_CaFWk@?AkAeCcKqTwByEiAaCg@eAQa@sAsCkEmJuFsLu@aB_AoB]u@c@}@Ue@Uc@Qa@CCUa@Wi@Yg@KQMSS]S]Ya@W_@W_@U[W[ACY]W]WYWY[][[]][YYW][[UYWQMMKm@e@m@e@u@i@q@g@oByAaD_CaDaCe@]MK{JoHyFgE{EmDIGgIeGqEgDoDmCWQ]W[UcAw@i@a@[W]UUSIG]Y[YOMMM[Y[Y[[Y[[[AAWYUWUYSUSWOSOSGGOSU]GGQYQWGIYc@Ye@Ye@OUKQYg@[k@[k@c@u@EI[m@GICEsAcCaCmEgFkJqEkI[k@We@CEuCmFiAsBa@u@c@w@EGyN{WUa@Q]aHgMgBaDg@_Ag@}@eDeGMUOWiL}S_@q@eBaDoCaFQ[cB}Co@iAg@aAi@aAuAeCm@iAkEaICCcCsEoDsGsAcCcGyKiE}HeG{KqCgFqBsDg@_Ac@u@c@w@U_@Ua@Wa@W_@Wa@U]QUACUWEGEEGKGIWYWYWYY[YYYY[WYW[W[W[U[Wa@Y_LeI{@o@aHaFaHcFiE}CgCiBgAw@aGiEGG}C{BaD_CGE{CyBm@c@]W_@W]UYSGCYSYQYOYQ[O]OWMWMOGa@Oa@O_@M[K]MgRaGECeBi@_@K_@M_@Mk@Uo@Wu@]g@Wk@_@k@]sAcAaA{@EE_Ay@kBeBkCeCuHgHs@s@u@y@s@y@q@{@g@u@U]Wa@a@o@c@{@a@s@_@u@{@mB_@aA_@aA]aA[cAy@oCaAcD[aAI[sAuECIwAcFuAmFgCyIoCcJeAmDuAiEaCiHsAcEaAeDi@eBa@sAm@sB[gAUu@Su@Qq@Mo@Qy@Mw@QiAOeAOyAKyAI_BEyACsAAoA@sA@oAF_BFyAH{AJ{An@qJV}DHeCFw@vB{[tKkaBnBqY`@oGjGw_ArCwb@NiCJ}BFmAD}AFaBFyBD_CFmCjAcl@nDkgBp@s\\`Bex@DwAHiEL_GB{@?MD{AF{ADoAHgBJaCL{Bz@}OfGsiAlDkp@jB}]l@qKzDut@@I`HwpA\\kGnBy^FsAdFe`AlAwTFgA\\oGTgExDws@pOcuCtFmdAn@oLlOcsCvAyWpB{^fBo\\dC_d@`AwQdBo[pB__@\\_Hb@sH?M@IlBy]zA}Xf@gJhAaTv@oNl@}K^eH`Coc@tCuh@ToELcCFgAF{AFsADoADqAD}A@cAB_B?kA@_B?yA?aBAcBY_k@?SEiJ?OEcHC}EA{CGiJEuJYci@AeAAsCw@kfBGwLEyJA_@?M?SIkRG_LAaAOi^GmM?MEqHGiMGgMCeACiAEmAEgAMeCKoAKoAMyAOmAOqAQsAIg@QcASiAa@uBc@mBe@sByByI_@}AsAmFEOwJy`@oNkk@kKub@q@mCwCwLwGeXm@iCa@uBUuAQmAMcAKoAGeAGiAGqACmAAqAA{D?gFA{_@A}J@_BBwCBcBF}AHaBd@_K`@oIDoBBwAB{A?eB?{ACwACmBGsBIgBKoBeAaPu@aLsBg[e@uHoBoZw@wLiAkPI}@QkBUiBq@iEq@kEwByMo@iEe@yDYiCWoCiBmX{Ems@iDqg@uBm[g@sHa@eG}@gNoAmRo@uJa@aGSeDGy@Ck@Ck@Es@C}@E}@C{@Cw@AaACaAAaA?{@?c@?Y?}@?_A?}@@oA?y@@y@BmDZg_@BoDNgQP{TDiF@qBDeFB{A?}AByA@yA@}ADwEBmCFiI@cA@eA@{A@yA@wA@wA@qEFoO@eB@eB?K?K?]@sB@}A@iB?UFcHFcH@}BXg]@aB@yAB{A@eA@eARgPFcGD}C@c@?MB}AJyI?K@qAB}A@uABwA@}BH_IV_[P{T?K^we@BiB@kBBeB@iB@sA@uAHcJ@q@@s@d@qj@DeG@uA?sA?w@?y@?w@Aw@Aw@Aw@Aw@Ai@AMCw@Cy@Ew@Cw@E{@Eu@AICi@C]a@}GWgE?AS}Ca@eHG_AGw@Ei@Gu@Gq@Gs@Gy@Ea@W_DOaBI}@OmBk@wGGu@Gw@Ek@G{@Gu@Es@C]","bednary|łowicz główny":"}y_}Hm|myB@D|@~EHd@RbAPhAPhAPjAJn@Hp@Hd@Hf@DVVtA@LBJH^Hd@nGh^X|AdFjYzCrPTrARhA|@`FhAfI~@hFdAdGrC~Op@tDpFjZ|Fb\\RfAX|AnAbHhEzUvChP\\hBRjARhAJn@Jn@Lv@Hj@@BHp@Jr@Hr@Hn@Fp@BTDXBZ@J@JBTBZDf@Dr@Fx@Bf@Bb@Bd@Bd@Bj@Bt@Bp@B~@@f@@j@@p@@p@?t@@r@BdBDvE@hB?b@BbBB~C@fAB|ABlAF~D@R@`ABxABvA@xADvD@dAFnIP~QDdF?h@BzB@z@@p@@p@@v@@v@Bv@Bn@Br@Bp@Dl@Dl@Bj@Dj@Dh@Fj@Dh@Fh@Fp@JlALjAhBjRVnC@FH|@JdAFd@Dd@Dl@Dj@Dl@Dh@Bh@Bf@Bj@Bj@Bh@@h@@h@@h@@h@?p@?r@?Z?h@?h@Aj@?\\Cn@An@Ch@Ah@Cj@CZA\\C^Cb@Ef@Eh@Eh@Eh@Gh@Gd@E^CVG`@E^Gb@Ib@Ih@Ib@I`@Kl@Kf@Kb@Kd@I^I\\Qn@K`@M^M`@Qj@Qh@Sh@Qd@GPKTSf@Uj@Wh@OXOXMVS\\QZWb@QXQXU^{@tAABILiBvCGJy@nA]j@]j@W^GJ]j@cCzDW^}@vAiAfBaBlCc[zf@U`@W^oApB_CxDk@~@g@t@e@t@U^}@vAcA~AcA~A}@xA","jackowice|łowicz główny":"ayi}HmvywBxAmKvAcK\\aCdCkQ`Fe^|CuTbAmHnA{IlA}I|CuTlFo_@nA_JpAgJpAcJnAeJf@sDb@sDPaBNcB^cEr@gIh@mGFy@dBqSjEah@nBgULaB`@wEV}CV{CxH{}@l@oHh@iGLsAp@eIn@aIdB}RnC}[j@{GHaA`BsRJoALoAJ}@Fq@Ho@Hu@@QFa@Hs@Ju@Jq@Ju@Fa@BOLq@F_@BQLq@Lo@Lq@Nq@Nq@Lm@Nm@Nm@H_@FQNq@Ro@Li@Pm@Pk@Po@L_@l@uBfCoInAiErAmEdB_GbDqKdEmNfH}Ut@eCtFaR^mApDwLbCgIz@sChCuIfEoNbAgD@G~DyMzDoMJ]bHsUtBcHrB}GrL{`@Rq@DMZcAX}@V}@Pi@Ne@FSFQNe@Na@Na@Rm@L]L]Ti@Rg@P_@Vk@Xm@JSRa@Ra@Ta@Vc@Vc@R]LSZe@Ze@Xa@T]V[HMBC\\c@\\a@V[VWTYNORSRSRSVUXWVUTQXUXSXUZSXQPKVQVOXOj@]l@[r@_@FCFE\\QhB}@`@S`@SxAu@lDuBPKB?ZQ^S^Uf@Yl@a@TOZU\\UDEXSXSXUz@q@XWRQTSTS^_@RSRSPQPQPQZ]Z_@p@u@X]PURUNSj@s@f@u@\\e@Ze@NSDIf@u@Xe@JOv@oAbA_BfAeB","jackowice|stara wieś":"ayi}HmvywBsAtJuAtJ{@fG{@fGwBnOgAxHIr@UvA{DzXeB~Lq@`Fs@xEg@dD_@zBYxAYxAs@`Dk@xBm@vB[bAMb@M\\y@bCyArDk@xAm@vAcNd\\qFpMoDpIaA~BsO|^gG~NeC~FaA~BaA~B]z@aAbCoAdD_@lAa@jAs@dCu@pCs@rCiBdIGVuHr\\oBrIwH|\\aFvTqBxIw@lDw@jDmAnFuFjV_DlNaDnNkBdIgDfOgLpg@aL~f@yG~YmMhk@cBnHcCtKqBbJuBfJuBtJw@~Ds@~DmExViDnRyDrT{DvT{DnTgOzz@uEnWkCbOaJvg@kFfZAFUlAk@~Ca@~Bc@`Ce@`Ca@hCa@dCSrASvAa@fDYlC[rDYvDWtDYvDgA|OEd@u@pKe@tG_@jFWpDUbDeA`OcAlNiArOEl@YbEOxBMvBSdEGtAE|AGlCAfAAnAExCAvCAvKGzKIfTAxCi@puAKn[Wfs@ErISrh@U`PG`BI`BKfBKbB{AjRqGby@qCx]cL`xAeBhT_IpbAyIbhAq@tIW~CcBfT_IvbAsBlWoHn_AgArNyAlRUdEOdEI`FCtE@~CH|EZdIZrFhAtSxA|UDn@`@rGp@lLTrDbAlPt@vL|Cvg@Fz@","kutno|stara wieś":"}sw}HkuauBWM@EjAyEbB{GDOH[Ja@R{@T}@VgAHYFWNs@Rw@Lm@Jc@BONm@^gBf@eCFUd@eCPaAJg@PcALm@Jo@Jo@Lm@Jo@Jq@F_@BSLs@Hg@?CJs@Js@Hm@Hu@Hs@Hq@Hs@Fq@De@@IDo@Do@@EBe@Ds@Ds@Bo@Bq@Bs@Bs@DqA@i@@i@@a@@c@ByADuCBo@D_DBqA@o@@c@?WHyEDaBv@wf@^eTBoABwA@wABwABwA@y@?y@@y@?y@@w@A}@?{@?{@Aw@Au@A{@C{@C}@Cw@Cu@Co@Ce@Ag@Eq@GwACa@Es@IuAIuAu@mLWsEGu@Eu@{H{oAw@{Li@yIgGubAAKsB}\\","krzewie|kutno":"ihy}Hgj_tBM_EMyDKqDOsE]sKC}@E}ACo@Cm@C_AC_AA}@CgACy@A{@C_BA}AAwAKoKKaKKcKWgYg@oi@CiBUeXQiQAaAYmZq@cu@CeBEsEa@yb@?o@CqCAiACiAGcHQwQOiP?a@]m^AgBY_[Ya[}@caAEwFCgBMmMc@qf@AyACwAAy@Ay@Au@Cy@A{@Cq@C{@Ey@Cs@Ey@E{@Eq@Ca@CWGy@Eo@G{@Iy@E]AOIu@Gu@Iu@OqAEa@Io@SiBY{Bu@wGQ_Bw@wGu@uGE]Iq@CYEWIw@Im@Go@Iw@Iu@Gs@Gm@Gu@CSCc@Ek@Cc@AOEq@Es@Es@Cu@Cs@Cq@Cu@Am@Cq@Au@?i@Aq@?s@?k@Au@@w@?o@@s@@u@@q@@}@Bq@Bq@Bs@Bs@Bo@Dq@Dq@Bk@@KFu@Du@Fm@Fu@Fq@Hq@Hy@Hk@Hk@Ho@Hq@Jq@Jo@Jq@F]BORmARoAn@yD|AiJlAeH`AcGRgABM|@mFrAgIJm@dAgGDWfAwGn@wD`FcZhA}G^yBf@wCb@qCFWnAuHp@cEjB}KLo@`B_K^wBDUn@wDbDwRBOxAyI`@aCN_AFYHe@Jm@Jk@Je@Jo@Lo@Lm@Lm@Lm@DWDQLm@Nm@No@RaALi@HYVcAVgARu@zAiG|BgJZmAZsADQHYJ_@Ja@J]DMFUTs@n@mBNc@FUFMNi@HWFSNi@BKLc@Jg@FQDQ?C","gałkówek|koluszki":"cqvzHqbnwBG}BIaDCaBCsB?gB?yA@iAD_CDsADsAH{AHqAFaAHkAXwC\\uC`@wC\\yB^uB|@mFxByM~@uF@IT_BR_BLgAJiAJgAHgAHgAFkAFgADgADgABgABmC@mA?kACsCGwCK}CQuCUcDMsAKiAsDya@Ea@OcBkD_`@yAoPOuAKuAMsAMsAMuAKsAMsAMsAMuAMuAMwAyFqo@AMAGAEAOCSEi@k@oGg@uFEk@Go@qCc[MsAMsAKgAMyAMuACUKaAM{Aq@sH}A_QeAsLEa@I}@I}@Gc@Ec@Gc@Ge@Ic@Ga@Ic@Ic@Ia@Ka@Ic@K_@Ka@Ma@K_@M_@M_@K[KYOa@O_@O[O]O[KQS_@S_@OYQYSWQWSYEGKMSWSUSS]]]]OMQMWSSOSMSMYQYOYOc@Se@Sa@QIEWKiBw@y@q@u@[u@[{Am@u@YmFwBkBu@OGe@a@WK_Bo@i@Ss@Ys@[WKQI[O[O]Q]Q","gałkówek|łódź andrzejów":"cqvzHqbnwBBhAl@rT`@xNNdGBxABlABxA@pAJh_@@dC?zAD|JBdK?|ABtIBlHFdRf@ljB@fDAbDE|CGtCMrCQxCUjCWjC]jCa@rCyAnJAB?DCJmAzHkA~HQnAQhAOjAKdAMjAKhAIfAKlAGjAGjAEhAElAClAAhAApAApA?tA?jA@rDJv`@@nD@tD@pD@tDJb`@@tDD|N@jD@hEDvODjM@tE@lA@nF@vA?nAArAAfAAlAChAGhBBl@?DMlCIjAIbAKfAI|@AFKbAMhAId@U`Ba@fCUfASbAi@fCo@nCmIz^_FjTOj@c@lBc@pBaA~Dw@vCgAtDo@pBw@zBcD`JaNp_@","łódź andrzejów|łódź widzew":"iuxzH_lvvB}@bCgCdHCHCHyJnX}@bCQf@oIrUo@dB_DvImE|L}KzZcAhCaAdCsE`KiEpJgBbE}@|B]~@[~@[bA[bAYbAWdAm@lCShASbAe@tCa@tCoDtXkDzW_ErZoFva@cBrMc@`DIv@WtBQ|AMrAGn@WfCYlDwAlQEp@y@`Kg@rGGn@QzBuAzQs@rIo@nIyA~Q_B`SYlDs@zIg@hG","łódź fabryczna|łódź widzew":"{f~zHatyuBF}CHaE@k@@i@Bk@@g@@e@Be@Ba@Dq@Dk@B[B[r@eJl@uHFq@D_AD_AHqCf@gQBo@HoEJ_GRuFHeCjCqbAh@kSBm@?OL{EZgLFyBHyBFgB@]F_CR}GRgIPwGDgBDgAFgCJeEJgELoDLuE@q@zAsk@XiKBuARkHHyBDsAFoAJyBJ_B`@uFVkDFo@pAmPFo@l@uH","mikołajów|żakowice południowe":"qarzHoafxBOVc@|@w@vAaApBq@vAo@xAWl@Wl@k@~AsAjEiAvEaAvEy@vFo@|FcB~P}JtbA{AfOw@zF}@xFgB~IkBbIeEbOcJf\\sKd`@gF`RmFlR}AtFwAbFK^yAnFK^Uv@wQbp@Ux@Uz@Md@GTS|@Uz@S|@UbAS`ASbAQv@Ov@O|@Q~@O~@O~@O~@M~@O`Ak@dEMx@y@bG","gałkówek|żakowice południowe":"cqvzHqbnwBG}BIaDCaBCsB?gB?yA@iAD_CDsADsAH{AHqAFaAHkAXwC\\uC`@wC\\yB^uB|@mFxByM~@uF@IT_BR_BLgAJiAJgAHgAHgAFkAFgADgADgABgABmC@mA?kACsCGwCK}CQuCUcDMsAKiAsDya@Ea@BQFWm@qGyDcc@MuAMuAGw@Gy@CUCc@Gy@Ey@Ey@Ey@Cy@Ey@C_AAaAAq@Aw@Ay@?y@?{@?{@@}@?y@@w@By@B{@B{@B}@Dw@Dy@Dw@Dy@Fy@Fw@Hw@Fw@Hy@D[@KHw@Jy@PoAPqARyAn@sE","łódź marysin|łódź widzew":"}ed{Hk{|uBlAiFLg@fCwKtDwO^}AXaAV}@Pg@Ne@Z}@Pc@Na@N]L[\\u@Vm@Xi@\\o@Zm@~@{AfA}At@_A`@e@r@u@^_@f@c@pAeA\\WdAw@|L{Id@[`@WLILGPKPKNINGPKJEJEJERKHCb@QRG^MVIb@Kb@Kf@Kf@Id@Gt@Gr@Gp@Cl@?j@?x@@t@D|FR\\@V@t@B~@?\\An@Ap@Er@Gt@K`@I`@G^IbAYPEbBo@l@Wj@Yd@Yb@Wj@_@`@Yh@c@f@c@j@g@h@g@h@m@l@s@d@k@n@_A`@m@PWR_@Va@b@w@P]`@y@Zq@Zs@\\{@Vs@Pg@`@iAV}@X_Ah@wB^yA`AaE`A{DjA{EzAiGfBgHNm@V_Ax@iCVq@`@eA~@wBl@sA`@{@|@kBDIDIp@wAl@mAzGoNl@oAtAwCtAuCfCmFzHkPbAuBvCiG@CFKtBmEz@kB`@{@^_ANa@Nc@Nc@Ng@Je@Jc@VmARqAFg@Fi@PaBRkCr@oB","zgierz|łódź marysin":"g{l{HsepuBx@bAfAr@l@`@VNRJXNXJTHVJZHVDbANZBj@B|@?b@ATA\\Cf@G^Ej@MVGZK^M\\MZMVOXO^S\\WZU^[^[`@a@X[\\a@\\c@\\g@Xe@\\k@Zm@Zq@h@iA~@yBnBsE`A{BBEp@_BBGbGgNrEqKpFeMfAgCHOJYd@eAp@_Bn@yAh@kAvAeDb@cAl@wAN_@x@kBx@kBbA_Cb@eAlBoEjEaKb@_A|@uBd@eA`CuFBGbA_C`B{Dl@sAdAaCP]HQ@Cj@kAVg@@AZg@^q@PYLSj@y@Za@Za@^e@\\_@d@e@\\_@ZYt@q@tE_E|EaErLcK~@w@jB_Br@m@XWdC}Bj@k@TYf@k@f@q@b@o@RY^k@\\m@Vc@Ve@Ve@Tc@\\u@Zw@p@_BTq@Vs@X}@ZgAZiAXkAXmA`@gBxBmKd@qBb@oBT}@Nk@DMRs@ZeAVs@Tq@Tm@`@aATk@h@gA^u@`@w@Zg@Xe@^m@Xa@\\e@\\c@d@k@f@m@b@g@h@i@fAkAhCoCXYlEwEb@e@b@i@X]V]b@m@^m@j@_Ah@_A`@u@PYv@wA\\o@Xm@^w@~@yBNc@\\_Ap@uBTw@^uALi@Lk@jA}EpJka@","zgierz|zgierz północ":"g{l{HsepuBe@e@mCaCyCmCkSaRw@c@w@q@yAoA_Ay@_Ay@][u@q@_A{@SQy@w@a@_@g@e@c@_@YY][cA}@][]Ya@Wa@UOGSIa@Oe@Me@Ma@I_@Ga@Ec@Ce@Cg@AU@K?K?k@DWBWBq@Je@Jg@Lg@Pe@PYLYNs@b@q@d@q@f@qDnCwAfAEDqAdAWVYVe@d@g@h@e@j@e@l@e@n@c@p@a@l@SZOZOXQX_@v@MVKVs@|AWl@Q`@}CnHgC`GmHbQ[t@O`@IRUn@Wv@Up@Ut@Ut@St@S|@Op@Qt@Ov@Q|@Ox@Kp@OdAMhAMbAKbAI~@I~@IdAEbAG`AIdC{@`Y_@~LIvCAr@Cv@Ar@Ax@?x@?pBBbCBv@Bv@J~Cb@rLBp@\\bJDdABbABbA@fA@hA?~@?p@Aj@?j@C~@C`ACdACz@E~@G`AQvCAF]|EUvC{@lLq@nJ","zgierz kontrewers|zgierz północ":"{yp{H_l`uB?kACmAAiAAi@C{@EaAE_AEcAG}@QaCIu@Go@K}@M_AUeBKo@Ms@Mu@Ou@Qw@Qs@Sy@Qs@Uy@W{@Y{@Us@ACeA_DmGiReBiFiC{Ha@qAYy@Qk@Su@[kAQs@WkASaAQy@{B_M_@wBESSyAQ_BGk@Ec@IqAGgAAq@EcB?iA?cA@w@B_ADoAVoEXkElCw^Dm@`AuMjDue@PcCNmBHoAJkA","chociszew|zgierz kontrewers":"un|{HgbrtBzBg@zD{@vMuC~A]l@Mp@O~SwEhAUta@aJjCm@lDw@vA]j@Sh@SbAc@`Ae@TMJE^W~@m@r@k@r@m@p@o@p@q@p@w@p@y@n@}@n@_Aj@_Aj@eA`AoB^y@\\{@h@wAh@yAb@yAPm@Nm@^{A^aBToAToAVaBTcBNoALqANeBNiB@E\\kEj@gHj@iHxAqQ|@_L|@_Lj@iHXuC\\qC?AV_BZgB\\iB`@eBb@cBl@qBn@mB~AsEdB}Er@mBXw@J[JYdAkCVk@Vm@n@mA`@u@P[NUb@q@b@q@b@k@`@i@b@i@d@g@X[Z[Z[ZYRQv@m@h@_@j@_@vAw@n@[VMVKj@Sl@Sh@Oh@M~A[l@In@IlBWlAO`Dc@PCDAnGy@jC_@zDg@xASpEk@jHaA`AQhCo@TIZKXMd@Sd@UtBeA|BgAzBiApE{BzGgDzQaJzAw@vBeAl@]l@_@l@_@j@c@h@c@h@e@j@i@j@k@n@s@r@_A`@i@^k@\\i@b@q@Xi@b@w@Zo@\\u@b@_ABK^_Ad@mAL_@Pe@J[Z_Af@yArAaEh@cBf@cBPq@Nm@Nq@Lo@Li@Ji@|@mFjAoHN_ALy@L{@L_AJaAJ_AJcAFy@HaAHmAL_CNkCDy@Ba@Be@DaAB}@B_A@eA@{@?gAA{JA}E","chociszew|ozorków":"un|{HgbrtBg@JwAXw@Ny@Jo@Fe@Dc@BU@o@@o@@o@A_DQ_BKwBM}CYkFi@yLmAwAOoEc@cBS{JcAw^wDsAOyYyCsO_BiGo@aCUAAaAKaAIkBKi@AS?U?m@?m@Bg@Bg@D]B[B]F]Dy@N}@N_AP}@PeGfAaCd@w@LiATkB\\iEx@qAVaLrBaKjBQD{VpEyB^kBZyHvAiHtA","ozorków|łęczyca":"}ze|H{zqtBC@}AV{[dGwAVu@N{E|@oCl@mCl@uAZ}Af@_Bn@yAv@eBlAcJdHkHtFaq@`h@oTtPwDvCyAnAwApAqBrBmBzB}BzCyBbDW\\k@|@cA`BeC`E_CxDaHbLaHbL}JlPkHpLoCrEqCpE_MhSwFhJu@lAs@lAgBrC_A~AcA|Ai@v@i@t@k@p@UXIJMLUTWVo@n@m@f@q@f@SNaAp@gG|D}OfK_DtBoCfBaU~NwKfH{E~CuL|H_Ar@_Av@sBrB{AhBwAlBq@t@_RrUgElFsEzFkM`PiQzTeIbKiDhE","witonia|łęczyca":"q{i}Hc}stBhAzAjAzA~QlVr@~@rAhBhDpE~G~I|@nA|@lA~PvXjCfE|ItNtF~IdGxJjFlI~FpJdi@h{@@DnFtIzDhGj@x@j@v@xAlBbLvMnK`MRTtl@dr@fM`O~QfTB@xKlMbO`QxShVbAjAbAjAtAxAj@j@`@^JHx@t@z@r@vBfBhMlKFDnFnEdBxAfBxAnErDlErDDB~AtAr@j@r@j@bCpBhA`Ad@`@b@`@l@j@j@j@tAzAZ\\|@`A|@`AnUfWbK`LfBnBhBlBpE~ErEbFdBnBlBpB|BfCnApAf@d@\\ZLJ|@p@`@Xb@XfAl@~At@rBn@`@J^J~@P^F^D`@D\\Df@Bh@Bf@@h@?r@?t@AjBAtEGfLM~@A|JMj`@a@`EEvBCd@AhEEnGGhCCjCG^AfAGpBWvAWz@Sv@UXG~@_@`Aa@hAo@`Am@dAu@`A{@dAcAx@_A|DaFrBiCjFyG~AqB~GuI","kutno|witonia":"}sw}HkuauBjAyEDOxA}FLe@DSDSJ_@FY@IJe@Je@Je@?ANy@j@mCP}@Jm@DUNs@Ns@@CLk@Li@?EBGHa@Nk@Nk@Le@Le@La@@EJYL_@L_@Na@Pa@L[P]DMJSTc@f@_AFKFIP[HKHOBAHODGTYR[PSd@k@\\a@FI^e@LM`@e@dBuBTWNQX[X[TWVWVURQZURQTOTMTMPKDCXOZMRIJELEXITGXGVEXGZCXEXAZAV?T?D?T?X@^BXBXDXDZFXFVFVJZJVJTJXLZPVNVPVPTPVRVTPPNNVXVZNNRXRXRXNVV^T`@Zj@BDxAjCd@z@dCpENXhApBn@hAl@fATb@h@bADFP^BDRb@d@bAjAhCvCrG|GlObF~Kx@jB`F|K~EzKvBxEfB|DnEzJ\\v@\\v@^v@^t@b@x@d@x@b@r@`@n@BBbAtAdArAhC~CtEvFhBzB`AhA~@jAbCvCrAbBnGzHz@jAz@nAd@x@f@x@Xf@jIdOfJpPjJrPpFtJtBxDfJpPrGhLfCtEbAhBfAfB^n@`@l@`@n@b@n@lAbBlA|A@B~CdE~Yh`@tKpNjMvPvRjWrI`LnCpDbNtQdArAnCrDvBrCt@`AbHhJbC`Dh@r@~CdElE~FhB~BbBzB","kraków główny|kraków płaszów pzs kpa":"msrpHy|vxB`As@d@_@b@[b@[TO?Ab@UDCPIHEXKXK\\IXG\\Ed@E`AChDGhCCVA\\?^AR?ZBJBF?b@JVHVJJDJDNJLHPH`@RNFVJPFb@Ld@JNDPBFTj@AZAB?h@?~ACLAX?zBED?dAA~@AVAn@AR?TAJAh@C^ArAGZCZAh@Aj@AdFI`@?dEIf@A`@Ah@Eh@Gb@Eb@Id@Gd@Mb@Kb@Mf@Qf@Qf@Sf@Uj@[`@Uf@[b@Yd@]b@_@DC^]\\[Z[j@m@`@g@^e@`@g@`@m@dA_BvHeLDG|HoL\\i@n@_A`@m@Zc@b@m@bCsDtOuUj@{@\\YjBqCfBmCl@}@|A_CZe@DGZe@x@mAV_@@E|BgDHO\\e@j@{@^i@^g@\\e@`@e@^a@b@g@b@c@f@i@\\a@HGFITYNSPSRYRYLSHMjC}DjBoCVa@","warszawa praga wpt m|warszawa wschodnia":"cq~}Hayo_CP_AReAnBsKd@eCVqALq@BKJe@Lg@Ni@Pg@@AN_@N_@Rc@@CR_@T_@RYNQRWPSJKJI^]fA{@JIr@g@RM\\SXMVIVITGB?JCPCVA\\AV?Z@\\DZFPDFBD@PHXJZPRL^Z^Xb@b@bA`Ap@l@RTTTRXPXRXJPLTLVLVP`@?BBD@DFPJXHXNh@Nj@`@xAFVLd@Rt@V~@J^Nd@`@jAn@nBb@?Rd@Zt@pAW","katowice zawodzie|mysłowice":"k|vqHwthsBb@yBDoBT_GPyEPmET{DJoC\\aKVsHRmIFsCBaD?eD?sDE_GK{FSoGYoGg@yIo@cJaD}e@Y}DK{BQ}EOcDW{DyAeTg@_IEi@BiBSiBi@iEYsCm@{IUsDCu@IuAGoCCsC?_BBgDFeDP}DPyDPkEFwAHyAJoAJqALkANoALcANaAPaATmAViAR}@T{@tBoI^wAr@gCj@qBFOd@oAd@kAv@eBjA}Bl@iA~AuCP[p@mA\\m@pAuB`KaPlDoFvBcDvDyFbA{AnGoInBiC~B_Dv@wA`@i@JMX]^_@f@a@~@y@lAeAxA_B~AoBb@k@^i@tAyBn@gAf@aAb@{@`@_A`@_Ah@wAHUn@cB`BoDv@aBd@s@n@qAt@sA|BqDn@_A`@g@f@k@VSVSXQ|DcCpAy@rAsA","katowice|katowice tow. ktc":"ozvqHeuasBFcAV_D@CF_A@CQGo@b@WbBQpAALE`@Eb@Ez@E|@?HWjHAZKrCExAArAA|A@xA@f@BrA@PFhABVDt@I`@HnADr@TvCVnDVvDJlABd@@JDp@Br@BdA@`A?dAEvBC|@MdBK`AM|@Q`AQ~@[fA[~@e@jAiAzB}BzDqBfDyAdC_@n@e@|@MXQ`@Yt@Yx@m@pBu@~BYbAStA[tAgAxFc@zBm@jDwAzHeArF_ArEc@vB]~Ay@dEg@|BUjA]vAa@bBYtAKb@Mh@","kraków główny|sosnowiec maczki":"msrpHy|vxBSLOJQJy@`@]Py@\\m@X_@j@g@b@c@Rg@VUNe@ZYTYT[XSPUTGHMLSRUXCBW\\q@z@w@bAILs@z@ORGHg@p@i@r@W\\_@f@UZa@l@e@r@e@r@c@v@]n@S^U^c@|@_@v@a@~@IPUh@]|@_@`A{BhGo@hB_@bAWx@Sl@Wx@Sp@U~@Sz@Ol@Mr@Oz@ObAWbCKhAI`AG|@GbA[lGOxCItAEbA?JAPCx@EtACpAOdLGxDAp@?ZGnEE`DA`AErBCvBG~EChCEzBC|CItGUpQ?l@WdTYxUMnKUfS?JCrACdAClAEpAEnAe@|MCnAGxAClACnAClBAz@?T?jAAjAA|AArFA^?rBOx_@?lBA~A?rA?j@?j@@tA@pA?PBpA@Z@r@BrABnA@RLjFBt@JjEH`CNfGBv@Bx@JzEBt@JdE@^FvBDtA@lABzABnA@xA?rA?rA?L?x@A~AAhA?`@An@ClAClAClACp@AXEnAGtAGnAIvAIrAKrAIpAKnAMlAEb@Gl@MjAMrAOhACRM|@QpAQjAALO|@QdAUrAm@|CWnAS`ACHS~@On@On@YdA[nAQl@K\\Qn@]hA]hAYz@GN]bA_@fA_@`A_@~@]z@]v@]x@IRQ^[p@_@v@S`@GJ[p@_@r@[h@qChFyDdHc@x@i@`AmDrGcAhBy@zA_CfEYh@CDwSt_@uLrT?@c@v@e@z@e@z@i@|@e@t@c@r@QVU^SXSZg@r@mAfBiCtDcB`Ca@l@oFxHePnUiCtDiCrDEFw@hA_KfOc@n@oFvH}@rA}AvBm@|@a@l@k@z@e@v@i@z@c@x@a@t@a@t@]n@g@dA_@x@c@`Aa@|@]z@_@~@[z@a@fA[|@[`A]bAY~@]hA[hAAF[hA[nA[lAId@Oj@UhAWjAeAlFa@rB[|AGZm@`DkAbGKh@c@xBOp@aClMeAvFiAfGsEhVCNOv@kB`K[bBUhASlAMn@ETQlAQdAOdAQhAOfAE^Gf@OjAMhAMlAKhAKjAMxAMxAUbDg@fHEn@a@vFQnCKvAg@rHIjAOxBCd@_@zEIhAIrAk@lHKjA_AvMKvAItAIjAItAGvAGvAErAEzAErACvAAbA?PAxAAtA?zA?tA@vA@tABtABxADxA?HDjADrAFxABXDx@HxAHrADh@Dn@LxARdCj@lGPjB\\bEtAvO?@B~@Dj@L`BXlDZfFPdEL|DD`BBdB@`E@~DE`J?~B@pE@hDHxDNzD@X@PLtCVvDbAxLtGvv@XrD`@rEh@dGd@`GNdDHfCDlC@vEC|BEpBe@pPMhCS|DYhEAH[jDa@zDg@zDk@vDo@tDq@hDw@dDELe@dCWbA]lAaA~CeBhFwAjEiBtFsQti@eAhDaAlD{@nDeAzEs@tD[pBSjAi@`Eg@vEUtBc@tFUbEOnCaDzq@q@nNyB|e@Q`EM~DIfEG`E?rAA|@@nDHvLF|HDzDXvP@n@FdEDfC@`A?~@?`A?fEA~K?`@?fDA|AArA?rACrAAnAArACvACvA_@zSOlJEnACjACpAKrCGnCCdACjAE`DA\\AjBEdC?n@GfF?f@CfCAjA?pA?rA@rA@nADvABhADvAFhAFrAHnAJnAJnAJrANlANpAJ~@BNHn@DXz@xG^vDXtBhCdSNlAPvANpALpALpAJvAJrAJtAHpAHtAFrAFxADpADxADtABpA@j@?~@@`A@tA?xA?rAArAApACrAAxAEpAE|AEnAQjEaEzaAuAv\\w@tRG~AGlAGjAI|AIpAKrAKxAMjAEf@AJSpBQ~AOjAEXM`AQnASrASrAUnAWvAUlAWlA_@dB[rASv@U~@]lA]nAW|@[~@]jAc@pA_Vds@[`A]bA]hA[bAW`A]jAWfA]rAWfAYlAYrAUlAUpAUjAUrAStAQhAIl@Gh@QpAQxAOrAOzAObBmB~SKxAKlAKpAIvAIxAIrAG|ACf@Ab@CjAEhACnACxAApAAtAArA?pA?lP?|A?fn@?tp@?fI?vG?zA?bAA|AApAArACrACvACnAEvAGzAGpAGtAIrAGnAKvAKpAKpAKlAKjA_@dDKdAQrAQlAStAQpASjASjAUpAaNlu@QhAWrAQhASnAQnASpAOlAOnAmE~_@cCfTAJAJsCxVCVWrBcJ`x@oD`[qA`LUzBY`CoA~KIr@_A`IMjAK~@_@dDS`Bc@zDe@`Ec@lDy@vFObAShAQdAShAUjAS~@SdAWhAUfAU`ASx@uEbRm@hC}C~MkAfFsAxFCL_A~EGXa@dBcAnEi@tBu@vCs@vCu@|C}@vDsA~F_AbE{@pDiIl^}@~Ds@`Dc@zBETWtAOz@EVYbBKr@QnAM`AOjAOpAUnAMhAKnAMvAW~CcAfMKjAIfAGj@CZKhAKfAMhAOnAOjAS|AQhAOhAShASjAShASbAUhAYtAWhA[rAYdA]rA[bA]jA]hA]fAa@hA]`Aa@jAuR`i@KZwDjKmL|[q@fB_@bA_@dAy@`CoJ|WuB~F_E~KiBbFYt@Un@Ul@Wn@EL]x@e@dAa@~@c@~@c@~@c@z@gAvBmG|LsH~NiC~EcDnGsg@hbAMRyAtCqb@zy@}Ob[GLiAxB_@r@c@x@_@r@c@x@e@v@_@p@c@p@a@n@g@t@e@r@o@|@g@p@q@x@e@l@s@x@g@j@s@v@i@h@o@n@m@h@m@h@q@h@o@f@k@b@a@VUNOJQLq@b@m@^uG~Ds@b@q@^w@`@m@\\s@^}CxAqI`EaAd@OHA?oAl@q@\\m@ZQHCBi@V_@TULaB`Ao@^w@d@yFfDm@\\k@^q@b@i@\\kLdIOJyFvDye@n[aBfAwFtDaG|De@Zm@`@q@d@q@d@q@h@k@d@i@b@m@h@e@b@o@l@c@b@WXSRs@v@i@n@i@n@k@t@i@r@i@t@e@r@i@t@c@p@iHpKQTeA`BkOxUg@x@Y^OTi@v@i@v@GJ[b@e@n@mB|CaCdDmAbBa@n@c@n@]h@Yd@Q\\_@r@a@x@]t@_@z@[v@Wr@Yv@[~@W|@[`Am@xBQj@I\\e@`B[fA{@|COh@_AbDc@`BSt@Qx@Qt@S~@Q`AMv@In@EROhAMdA_BfN}A`Ns@dG]pC[lC}@`IGh@G^EVEVGXG`@In@Il@Kv@EZOr@E\\GXCXIp@_Er]y@hHkAzJYpAY|@g@lAc@x@i@v@c@f@g@b@q@b@q@Xu@ViBf@E@uBj@wF|AWHcIzB[HGBe@No@\\WP[VUTWXWZ[d@qAnBaBfCeAzA","dorota|sosnowiec maczki":"gz{qHstttB`C`Br@d@vE~C|@h@tAr@tAf@zAd@rFzAj@Rl@Td@Rb@R`@R`@V`@XXRDD^Z`@`@ZZ^b@X^\\d@Xd@Xf@n@nA^x@Zv@`@`@n@b@h@^|AhA`EzCj@b@v@h@p@f@r@d@n@b@t@f@pDbChErC`BfAf@\\j@\\TLVLXLVJVHVHVFXFn@JHBbBLfEt@d@Fb@Dv@Bp@?VAZCVCZEXGVGXI@?VKVKTKVMXQ^SlOmJ~@m@VQZUXWVUVYnAsAPUZc@j@{@","dorota|dąbrowa górnicza południowa":"gz{qHstttBaIoFq@e@oFqDuA}@yA{@c@WmAi@eBs@aA_@gA[qBg@mB_@_UgDCAe`@aG}AU}AYkA[YVyB[_BQQAs@Go@Em@C{@ASAw@?kHEkAA{GEmCAa@A{IE}MIoDCG?Q?","dąbrowa górnicza huta katowice|dąbrowa górnicza południowa":"q_frHwvptBv@[pBy@ZMlAg@pAi@l@Wl@[h@Yf@[d@Yb@]`@[^[f@g@d@g@BAV[X_@X_@T]n@_AVc@T]f@_AXi@Zq@Zo@Xq@Xo@HWL[Ts@Ne@Nc@Rq@Rs@Ru@Lm@Ps@Nu@Ls@Lu@N}@NeAPqAJ_AfEk_@r@kGVcCZmCTuBXeCXgCb@yDNqADYJ{@L}@Fc@\\uB`@mBd@aBn@kBp@cBt@yAn@gA|@oAz@cAZ[`@a@~@s@dAu@fAg@fAc@jAYZELC`@QhAInAC|WNfA@z@@^?L?F?nBBpCBP?tKF","dąbrowa górnicza huta katowice|dąbrowa górnicza ząbkowice":"q_frHwvptBgCbAeCbA_@NqBx@o@VgAb@k@T[L}@NEBe@Li@NEBc@JsA\\s@RK@aAV{@TgDv@I@YFeB`@s@Ps@NqBb@mB^sB`@}@N{@Ny@L{@L{@J{@Jy@H}@F[B{AJqAHgCLiBH]@[@Y?[?[?U?U?MAG?O?EAWAWAEAQAWCUCWCUCEAOCYE[G[GYGa@IEAOEKJsA[m@Ou@QeAWyA]qBe@WGqEgAiAWo@Og@Om@Oy@W_A]i@Qk@Ue@Q{@]aA]yAk@k@Wm@Ua@Q_@Qa@Q_@QWMWMUOWM_@SYOEEg@Ye@Ye@[e@[c@[c@[e@]k@a@GEs@i@QM}AiAa@[}@q@e@h@nAlAb@b@@@","myszków|zawiercie":"eutsHqq~tBnDcRrBwKtGq]zAaIHc@RcAfA}EFWlCuNd@eCtNkv@~D}StAoHBMd@_CVkAVmAT_AXeATy@X{@Vw@Vw@Zy@Xs@\\w@Zs@\\s@^s@^s@^o@b@q@^k@`@m@`@i@d@k@b@g@`@e@f@g@d@c@f@c@b@_@l@e@`@Yj@_@f@Yh@Yl@[f@Ul@Wn@W~SwHPUJE`@Ol@Uvt@aXvEcBvFuBnPcGfMqEpFoBrEcBzCiApBs@fE}AVIt[iL~Am@~GcCfE}AbDiAnLiEvEcBr@Yv@Yp@Yl@Wr@]n@Yr@_@r@a@FCj@]p@a@r@e@p@c@t@i@r@i@n@i@r@k@n@k@l@k@j@i@p@q@h@k@r@w@l@s@l@s@j@s@h@s@h@q@h@s@rOaT~B_DpC{DdE}FpAgB~@oAzJeNXa@fI_Lj@u@R[bKmNvQyVX_@fJkMjJoM`EwFt@cAh@u@h@y@^m@DGh@y@z@cAp@gAh@y@`@o@d@q@\\a@^e@\\_@XYZY\\YXUXSDAXS^SLGNGZQZKZKd@OPETEd@Kd@GFAb@El@EbBGn@Cr@CxBI|CKfBU\\A^AtBIbACl@Cj@Eb@Cb@CfBQ`@Cf@Eb@CrJc@N?lCMl@EjEQtIa@f@C~COfBG`Oq@j@CnAIjAEr@ChBK","myszków|rozprza":"cutsHqq~tBuBzKk@xCqA`HmBbKq@lDUdAUjAYrAWhAU`A]vA[jA]pA[lA]lA_@nA]hAa@pA[bAa@hA_@jAa@fA]`Ae@lAc@dAa@dAIP[v@c@`Ae@dAg@dAe@`Ae@bAg@~@uMnWEJiNlXc[|m@mA|Bc@x@c@x@g@z@k@`Ai@z@i@z@]h@OTg@t@m@x@g@r@m@v@g@r@m@r@k@r@k@n@o@r@g@f@a@`@GDOLq@n@m@f@q@h@q@f@iFzDWP{IvGs@f@m@d@q@b@q@b@c@VQLk@\\u@`@u@`@_QjJYPoYvOSJYPkQ~JGB}\\|QID[Pid@pVSHsDpBGBsC|A{EhCgAl@eVrMqJhFyDtB{Av@ob@jUeOdIcOdImFtCs@`@u@b@u@b@s@b@s@b@s@d@o@b@s@f@eBnAo@f@o@f@o@f@s@l@k@f@o@j@o@l@m@j@m@j@q@p@o@p@m@p@e@XIHoBxBy@|@EDe@j@SVk@p@k@v@[^_@h@_@f@g@p@m@|@uAnBeVr]ie@rq@sCdEk\\te@iFtHkElGeSvYiHbKaHdJ}@pA{@jA]h@sAnBaAvAe@r@c@p@mApBcBhCEHGHkEnGcFpHq@~@}MvRg]~f@{AzBQToAhByE~GaN|RgTh[oEnG{AxBiGrHiCnCiCjC_IfGeCdBgCxA}Az@}Av@sClAsCjAaCx@gCp@yDx@}Dt@k]pFiSbDcb@vGqNzBmKbBmZ|EqCb@gBXgA\\_a@rGwCd@E@y_@fG{_@hGym@xJ_d@jHgTjDmBZUDG@o@Lg@La@He@Li@Nw@Ro@Ro@TI@k@Rk@Rk@Pq@Xe@Rg@Ti@Vc@Tc@Tc@V{@f@]RaAh@aAj@mAt@}A`AuK~G{XbQeNrIGD{IrFe@X{DbCeBhAgAz@m@d@g@b@m@h@e@b@e@b@q@r@i@j@e@j@W\\_@h@a@h@]j@c@v@g@~@{@`BaAhByBfEwE~I{@jBe@fAa@fAk@hBa@|A[rAWjAqCpNgAfG}@rF{AxJg@|Cg@tD}@nGa@bDc@~CWjBWhBs@vESxAU~Aq@rEu@nEwArKMx@Mn@Mr@Mp@k@fC[tAMh@Qr@Oj@Ql@Oh@Sj@Sf@Qb@Wh@EFO\\U`@U^W`@W^W\\WZ[\\YXg@d@c@`@w@n@wAlAs@l@YTUPYRYPc@Tc@R[J[H_@Jc@Ha@De@De@Bi@?}BCmACgAAqGIgDEyFIeBAwACgLOaFGqACyCEa@?qDGg@A_@Cc@Ce@Ce@Go@Gi@IQC]Gg@Km@Oi@Mu@Sk@Qq@WaA[{Ai@oBq@o@Um@Wk@Ug@Wg@Wc@Ug@Ya@We@[a@Yk@c@c@]i@c@e@c@k@i@g@g@m@o@i@m@g@k@UYY]m@u@c@o@g@s@i@y@]g@MSe@u@e@y@e@{@i@cAa@w@e@_A_@}@e@cA_@_Ac@eA]_A_BeEEKCIgE_L_LaZGOcLgZ_AgCaAgCiA{CsBoFeCuGw@uBy@wBu@qB_@cAg@uAqBkFSi@EM]w@[w@]w@Yo@]s@_@s@_@q@_@m@a@o@c@m@a@m@g@o@a@g@c@g@c@c@g@g@e@e@g@c@e@a@m@c@c@[i@]g@[g@[k@YqAu@iGiD}L}G{b@aViAo@gm@u\\yDwBoC}AmBeA_Ai@wNaI}GwDoAs@i@[_@Wa@Y]Wa@]][_@_@[_@a@c@Ya@[a@]g@q@cA?A]i@]i@sAuB_@m@[i@[k@Wi@Yi@Wm@Yq@Sk@Yu@Uq@W}@Wy@U}@U}@WcAQy@UiAO{@QaAOcAOaAK_AMeAKaAOwAKaA}BaVE]uGuq@{D_a@uMutAAG_E{a@iB}QMuAOwA_@eDQwAMqAuAcNAOEg@oAgMaA}Jc@iEo@_HsDw_@y@qIcBiQEg@k@cGMmAKqAKuAKqAYkDMoAMsAw@kI[_DyBcUu@uHOyAMoAMwAOqAMkAQwAOsAQoA_CaRcCoRgBmNgCcSgLo}@Iq@mIkp@a@gDc@eDcDmW{Gyh@m@eFmFeb@gNggAa@cDc@eDIu@oCqTy@qGOeAMaAIi@EYO}@QcAO{@Mk@Ia@Oq@U_AU{@W}@U{@Y{@Wq@[{@Yw@]y@[s@[q@[o@_@u@_@q@a@s@]k@e@q@[e@EG_@e@_@e@c@k@c@e@a@c@c@c@g@e@g@c@e@_@GE_@Yi@_@e@Yg@[i@Yg@Wg@Si@Ui@Sc@Oe@Mc@Mg@Ki@Mg@KoGgAm@MkASqJaBsXyEeCc@gEu@sEw@}Ds@yFaAeBYaDk@sX{EsSmD}Ba@gVeEGA}ZoFkXyE_]_G}KmB[GaKgBo\\{FeTsDaRaDUEmM{Bw@Ow@Ow@Qs@Q[Ik@Og@M_@M]Ko@SSIUIa@Oi@Se@Si@UyBcAy@a@q@_@s@c@q@_@q@c@q@e@o@c@u@i@uNkKuOcLeBqAIEc]yV]WuGyEgE}CsCsBUQaHcFaSwNaYqS_D}BeCiBa@YwImGqByAcq@qf@mo@ee@u@i@iUqP_@YkWgRmA{@i[kUIGqMmJsDmCgGqEwDsC}d@{\\qp@}e@WUkq@sf@{\\qVmScOqSeOGEoXcSy@k@q@g@UQoA_Aw@i@i@a@o@c@k@_@k@_@q@_@o@]IEGC_@Qk@Wo@Wk@Ss@UKESGy@So@Ok@Ms@Mk@Im@Ig@Gm@EIAG?m@Cq@Cg@Ag@?e@?e@@{@@w@Bu@BiBFoADs@BI@I?gCJaI^qERyKh@qCNeOp@qPt@W@oI^iCLaCPi@D}@F_AFc@B_@Ba@@qJd@E?W@av@hDM?uKf@y@Dy@By@B{@?q@?u@?s@Ao@Cm@Ck@Cm@Gq@Ik@Im@Ko@Ko@Oq@So@Qs@Wq@Ue@Q[Om@Wy@]s@_@w@a@s@]AA}r@c_@cUuLuEcCsKwF_JwEoGgDu@a@u@a@s@c@m@a@u@i@i@c@q@i@i@e@o@m@k@m@i@k@k@q@m@u@g@q@k@y@g@s@g@y@e@w@k@cAa@u@g@eA_@{@e@eAa@aAa@gA_@eA[_AOe@Me@AC]kAYeAYcAUcAWiASeAUmAUmAUsASuAuEiZ}Ea[UsACOQ}@WsAUmAYsAYoA[uA[oA[qA]oA]mA_@sAe@_BW{@a@qA_@gAa@mAa@gAa@gAa@aAe@gA_@}@g@aAe@_Ai@_Ag@y@k@_Ai@{@q@}@g@u@m@u@k@u@[_@SUm@q@o@o@m@m@s@o@q@i@s@k@o@e@w@i@s@g@_@SkAw@s@c@u@c@q@_@q@]k@Wo@Wm@Uo@Uk@Qo@Qm@Oq@O_AQwM{Bkw@yMIAmCe@_Di@kF}@GAWEaBYmWgEoGiAcPqC}Ey@mJ}A}NeCq@Mm@K]GOEk@Mk@Oi@Qm@Si@Sg@Sk@Ui@Yq@_@k@]m@]g@_@k@c@k@e@g@e@i@g@e@g@g@i@c@g@c@k@e@m@]i@_@m@iAkBc@w@_@w@a@{@]y@_@y@]cAWo@Oe@Sk@Y{@Uw@U{@U{@Sy@?EEKMo@S{@QaAOu@SiASkAQiAU{AQmAaNe~@}CwS{M{}@kNu_AoC_RwC_SoAoI}@eGuI_l@{RsrAo@kEiQilAwIal@SuASoASmASmAESQy@SaASaAU_AYeAW_AY_AYaAYw@Yu@]{@Yq@_@w@AC[o@_@s@_@q@a@q@]m@e@s@_@k@c@k@a@i@e@i@c@e@e@e@g@a@k@e@e@]o@e@g@]gBkAo@c@m@a@q@g@g@_@k@g@i@e@k@k@e@i@]_@EISSW_@g@q@e@q@e@u@c@s@e@{@a@u@OYsAcC}AuCoA_C_D{F_CiEmBqDYg@sBuDe@w@]m@i@{@i@y@k@y@i@u@m@w@o@u@m@w@m@s@o@s@o@s@q@s@EGg@g@q@q@q@o@q@m@q@k@q@i@o@e@m@a@o@c@_Ak@gDuB}@k@aEiCyCiBiCcB{JmGo@a@_F_Dgd@oYkFgDal@c_@eEkCyQmLsD_CeEkCuSwMir@qc@iZoReMaIOIiHuEuGeEu@e@{@i@y@e@{@e@w@a@}@a@_Ac@{@]WMm@Uo@Ug@Qg@Qa@MICi@Qi@Mk@Om@Oe@Ke@KcAS}@QaAQ}@OsEw@q\\uFaLmB{@Os@Ou@Ow@Q}@UaAWw@WGAw@Yu@Ws@YcAa@gAg@y@a@o@]w@c@{@i@y@g@w@g@k@a@g@_@iPgLu@g@sE_Da@YgAs@eBkAcD{BOM_@WmFuDaD}B","gałkówek|rokiciny":"cqvzHqbnwBG}BIaDCaBCsB?gB?yA@iAD_CDsADsAH{AHqAFaAHkAXwC\\uC`@wC\\yB^uB|@mFxByM~@uF@IT_BR_BLgAJiAJgAHgAHgAFkAFgADgADgABgABmC@mA?kACsCGwCK}CQuCUcDMsAKiAsDya@Ea@BQMsAeD__@E_@yAoPMuAMuAMuAKsAMsAMsAKsAMuAMsAMwAMuAWsCwBcVu@iIs@gIAGAKAI?CEg@yAmPGk@{BaWcAaL_@gEO_BEg@Eg@Ca@QsDC_@Ca@C[Eg@Eg@[qDCa@Ec@Cg@Eo@A[Cg@AMA_@A_@?_@?_@?_@?_@@a@@a@@Y@_@B]B_@B]D]D]Da@F[D[F]H[F[H[HYH[JYJYJWJYLWLULULULSNSLSNQNQNONORQRQHIPKPMPIRKPIPGRGPGLCDAREPCRCPCTAP?R?R@R@J@RBRBRDRFRFZJXJt@Xt@XzB|@z@\\z@\\l@Xl@Xj@Vj@Vj@Xj@TTHTHB@TFXHdATRFNDRFhDtApAf@`LnENHxj@zTp@XjMbFlAf@hBf@pPzG`c@|Prn@rVFBrAh@dBr@ji@fTzDzAlDvAdM`FzH|CzClAnAd@jAf@dG~BlEfBtAj@pAf@vPzGf_@`O`C~@","łódź chojny|łódź widzew":"}quzHis~uB@ITiEJuBFwAH{AH{AJkCBkABkA?}@?{@?{@Cm@Ao@Cw@Cm@Eq@GcAIw@Iw@Gi@Ik@Gk@SkAOs@WoAOm@Ok@Qm@Ma@Us@Se@s@gBWe@_@w@Wa@]k@a@k@Y_@_@e@WYs@s@o@i@_@We@[YQo@]YMe@QWKUIME]IeAUeASkDk@o@MeCa@}@OwCg@_Eq@iAQ{AY{AUcCc@kCc@QC[GsAUyB_@{AWeBYk@KiEs@s@Kg@Go@Iy@GaBMoF[iBM_BKkCOiEW}CSwDUsDUkBKs@EqBMaBK_EWeDS}@Ge^wBw@Eu@Go@Gm@Ig@I[G[Gm@Oe@OYIg@Qc@Qm@Yk@Y]S]S[Se@[e@]]Y][OMc@a@a@c@[]UYWYc@k@c@m@a@o@c@q@]k@[m@[m@[o@_@}@_@{@Wo@Uq@]eA[cASs@Su@YgAWkAUcAScAOu@]iBWaBMy@My@Kw@Iy@I{@G{@E{@E{@Cy@C{@?}@?{@?{@@w@DoAF{ADu@As@TgEHmAKq@`@gFc@wGNg@Je@Jc@VmARqAFg@Fi@PaBRkCr@oB","retkinia|łódź chojny":"k`yzH_aouBMo@kAeGqAuGyBcLq@kDCcCMm@{A}Gq@yC[sA[{Au@sDw@aE[aBG_@COKq@K}@IaAC_@Cc@Ca@Aa@Aa@?e@A]?C?a@?Y?M@c@@c@@g@Ba@Bg@Bg@B]BW@QDa@D_@Fa@Fa@D_@F[FYFYBSHYHa@La@Ja@J_@JYL]L]LYJSHSHOHQLSLUBCNUNSNSPSNQJIJMJKLIPODCJIRMPKNIPGJGRIPGFCFA@?l@STITGRGFANCHCh@GFA@?FARCNC\\CTCl@GHA\\CNAPAPAXARA@?PA`@AnCKXATAVCb@C`@E^E^E^G|IsAh@I\\G\\I\\GVGRERGNEVITG`@M`@Q\\O\\MXMp@[bAe@VKPI@A\\OZOXKb@Q`@Q^Mx@YlCy@LE\\M`@O\\ORIPG\\QpEoBl@Y`@S^QTMHEXQLINIXSXSTQ\\Wf@e@t@s@f@k@`@g@t@}@p@}@p@{@r@}@bAqAPUvCwD~@kAl@w@p@}@r@}@f@s@BA\\i@d@s@Xg@\\q@Rc@Ra@Pc@N]L_@HWHWNe@Lc@Lg@Nk@Lm@Je@^oBX}A`AyFdB{JnAoHN{@Fc@RmAJ{@J{@B_@Hq@Ba@Bg@Du@Ba@Bg@BgA@y@@}@?Q?K?Y?s@Aw@CeAAc@Eo@Eu@E{@KkAKcAIw@M{@Ig@WwAYmAKe@K_@K_@Qk@IYm@cB[y@g@iA}@mBuCiGcD}G}B}Ee@eAc@aASc@Ws@KYY{@Oe@GSCIESGQI_@S_AYyAMq@Ko@Ky@Iw@KgAIcAAYEe@Cg@Ae@Cs@AeAAuAAy@@iA?m@By@@]Bw@Ba@Bg@Dc@Dg@JmAZwDJiAHsAJ}AJaBLmCr@_Nj@_Lz@cQFoAL{BDsADsB@}@@U@{@@w@?Y@[B_@T}E","retkinia|łódź lublinek":"k`yzH_aouB|@lE@JBHh@rCnB~J~C|On@bDtAbH|A`Iv@~DRdAdCjMj@tCjBnJrCxNBLBJdOhv@|CvOzCvOpD|QnDzQ~BjLP~@TbANl@\\pAXbAZdATp@b@jAFRVn@Rd@P`@HPFNb@~@Zn@Zj@Zj@d@t@Zf@d@r@`ApA|BbDj@t@Z`@f@r@pD`FNB|\\be@BB~AzBnAdBb@l@","pabianice|łódź lublinek":"cwhzHuz|tBg@kAYq@i@oAUk@a@{@cA_C_A_C}@yBy@uBe@gASm@Uk@k@}AgAwCcAqCsCeHgHqQSi@oBaFGMGMqBeFyFuNmA{CWk@Se@Ug@Sc@Ue@MWQYO[U]OWU[EGGISWMOOSSSOQQOOOQQMKQMOOQKQMOKQKOKMGIEIESIYMYM_@M[I]I]Ic@I[E_@E_@Eg@Ga@Eo@Ga|@aImTqBoRgBWC{Fi@oTqBgCU{Gy@UCm^eDwSoBw@GUC_@C}@Gm@Cw@Cu@Cq@Ay@?s@?w@@kQP_@?_@A_@Aa@A_@E]Ea@G_@G_@I_@M[Ka@O_@QQISKUM[S]U[Y[W]YYY[]Y[?AW[Y][e@]e@oCsDmAcBg@s@]e@yEuGcDqEaByB{AwB}CgEu@eAGG","dobroń|pabianice":"qzbzHc~ltBuCwLCMiDmNEUgKyb@i\\{tAEOuRwx@gRmw@iEoQ_@}Ae@mBS}@Sw@S{@YgAWcA[mAWaA]iA]kA{@uC}Nig@_N{d@IWkKi^mGmTkA_EIWq@}BaAcD[eA[eA]gA]aA_@eAa@eA_@eAkDuIgAqCaAeCeAiCw@oBq@eB","dobroń|kolumna":"qzbzHc~ltBjB|HdF~SlOdo@tId^Pv@|I`_@tPxr@VfAVjAVjAThAVvAP`A\\jBH`@lNtw@pAjH","kolumna|łask":"e``zHqedtBlA|GBHjDzRDRhB`KTrARnAVzAPjAPrAPrANnAPxANvALrANtAJtAvFdr@vBrWL`BJnAJrAHxAJvAFtAHxAFtAD|ADrADxABtABxABvAb@b[VtR@d@V`MB~ABjADzADtADzAFrAHtAHxAHvAJtA@LJhALtALvANrAPvANnATxAPlARnATrAh@hDrFl\\`EfVz@dFhFf[F`@lAhILr@Jt@Nz@Jz@Jr@H|@Hv@Hz@HbAFz@DbAD|@DfABz@@|@BdA?hA?~@?VAt@A~@ArAChACpAIhDCdAG`EEvAEpAGrBm@~POlEKpCg@dOWbHa@nL","borszewice|łask":"w`_zHspdsB\\iJh@{OjAy]rCoy@?AZ{IdBah@vAab@Bs@hBii@bAu\\By@d@qMn@oRjByi@lCcw@n@qRZoIBm@PeFNmERcG","borszewice|gajewniki":"w`_zHspdsBUfHuBrm@qBjl@yB`p@?TAXgEdoAG`BEnAEzAA^At@CzAArAAvAAzA?xA?xA?xA@vAB~A@rAf@~a@@p@HnG","gajewniki|zduńska wola":"_r_zHotzrBHbHT`Rp@`i@JvJFfDPbM@fAHlFHbGBtCTpR@t@VxR@r@R~OLjK@BDlEFjEFdEBbDHtF\\fZ@d@@h@","sieradz|zduńska wola":"ewbzHy}ipBJi@xC}NLo@dAiFdFoVNo@jLsj@^gBNs@Lu@Ls@Lm@PiAPoANiANsALkAJsAHiAJuA`@iG@ErEur@h@eIHiAJkAHiALmALiANmALeAPoAVaBTaBD]lKuu@xE{\\dCgQPgAPiALw@P}@Rw@Ry@Ru@Tw@Rm@To@N_@N]N]LYN[Ra@Ra@\\m@`AkBTa@nMeVla@cv@lDuGpEqILUnGaMfXkg@pBuD`@u@b@y@^u@Xm@Xq@Vk@Xu@Ts@Ru@Tu@Rw@VeAVgAXoAR{@z@sDPy@Pw@Nw@Nw@Ly@J{@Hu@J_AFw@FaAD{@D_A@{@B_A?{@@_A?cD?qE@qg@Bcx@Bky@?{A?yAAqACsAAqAEyAAk@AUg@iSEmBE{AI{C]sJCuAMiFq@eXW}Ka@sPIaEOsFGeCO{DI}BEeBQsGEgBM_DMsDKmCCq@GaAG{@Gw@Gg@Gk@Io@Ik@QkAMs@Os@Oq@Qm@K_@K_@]eA[}@Qa@[w@Wg@Sa@Wg@S]wAeCuAaC[k@_@s@Wc@]s@]s@Ys@[w@Ww@Y{@Uu@YaAw@wCOm@a@uA[kA[cAWs@Uq@i@qAIQYo@Yk@g@_A[k@i@aAcF{IgIiOgEqHk@cAi@cA[o@Wk@Yq@Wq@Uu@Us@Uw@Qu@Qy@Ow@Y{AY_BEU}H{d@s@cEs@_EeBeKwDuTUsAcHsa@c@mCSoAQmAQmAOoAOsAKmAKqAIqAGoAGsAGuACoACoAAuA?mA?yA@k@?i@BwAB_ABc@By@DcADgAHeAJeBFw@J_BNiBJuARwBN}A`@iEz@aJLqAJcAJ_AL}@L{@N{@Nw@Lg@Lg@Pq@Le@J]DKNe@Tm@Rk@Vk@\\s@Xk@NWLUZg@^k@Zc@`@i@hGyHlDkEjAyA`@k@Za@^k@\\m@p@oA\\u@Xu@Zw@Vw@X}@T_AR{@R{@P_ANaAL}@J_ALmAJoAFmADkABe@@i@@qAB_B?_B@}DD}JF}VNye@BaH?WZwcA@oE?oAAsA?IAgACuACqAEuAOgE_@iKiAc\\McDWsHi@}OG}AUsGUaHqAg^WyGWmHq@gRo@aRIiBGcBEcBE_BEsAAqAAqA?sA@uA@wAViRZgV`BqoAJqHb@y\\FmE@iA@{A@qA?qAAoAAsAC}ACaB_@mRcAsj@}Acz@[cQAUaA_i@k@_\\Y{NIoECaBEkB?y@Ak@?{@?oA@qA@oE@_BAiB?{ACmBc@y^CuBAKCqCUgR","łódź chojny|łódź dąbrowa pbs":"}quzHis~uB@IFaDVqERoEHsBBw@DuA@w@?c@?gAAoACgACu@E{@Ck@Ee@Es@Ee@Iy@Io@Io@O{@SmAMk@Oq@Qs@Mg@Qo@Ma@_@cAQe@c@cAO[Q_@[m@[g@[g@KQa@g@]c@Y]_@a@[Yg@e@e@]a@Y_@Sg@Y_@Qk@SIEWIUG]Ks@OeB[m@MqB[qASo@IMA}Da@gAOcDi@sDm@}AWeCc@","łódź dąbrowa pbs|łódź widzew":"ktwzHusavBiCc@i@KwAUqDs@qCo@QEiBa@_AS_BUgAO_@Es@G_COyBMwAKcEWaO{@oAImHe@sAIaAGo@CwBOkAIkCOeDS{@Gg^wBu@Eu@Go@Go@Ig@IYG[Go@Oe@O]Kc@Qc@Qm@Wk@Y]S]S[Sg@]e@]]Y][OOc@_@a@c@[]WYUYc@k@c@m@c@o@a@q@]m@]m@[m@[o@]w@]y@@OWo@Uq@]eA[cASs@Su@YgAWkAUcAScAOu@]iBWaBMy@My@Kw@Iy@I{@G{@E{@E{@Cy@C{@?}@?{@?{@@w@DoAF{ADu@As@TgEHmAKq@`@gFPeApAmPFo@l@uH","kraków główny kga|sosnowiec maczki":"mftpHk{txBSn@Wv@Wv@]pAOj@On@Op@Kn@Oz@O`AYbCKfAGbAGz@GdA]lGOxCGrAE`AANEpA?RCx@CrAOdLG|DKpH?J?d@E`CGzECtAKxH?BCxBEzCIvGC`CQ|Nm@ph@AjAMvKW~RA`BCfACjAEnAEnAe@|MErAErACrAChAEjD?TA`A?tAA|ACrF?^ArBEtOGbOAjB?`B?tA?h@?j@@rA@rA@P@lABpABrADnABrAHbCDrBFpBPfHBdAHvCTlILbFFvBBtABlAB|A@nA@xA@pA?tA?L?~@AxAAfACvAAjACjAEhACv@AXEnAGtAEjAInAGlAKxAKnAMxAKhAEd@Gj@MnAOzAOfAQvAQjAQjAALO~@EVKn@UnAOz@]dBUjAYnAS~@Ol@Mh@YfAWbA[fAYdA_@jA]fAY|@]dAc@jASl@]x@O`@]z@a@`Ae@dAe@bAa@z@a@x@i@bAYj@Q\\sChFuD|Gi@`Ae@z@qDvG{BbE_ChE[h@CD}@bBwQp\\wLvTA@ABc@v@a@t@e@z@g@z@e@t@c@t@QTU^UZSZg@r@mAdBiCtDcB`Ca@l@oFxHcJpMaE|FgCtDiCrDEFw@hAeK~Nc@n@oFvH}@rA}AvBm@|@a@l@k@z@e@v@i@z@c@x@a@t@a@t@]n@g@dA_@x@c@`Aa@|@]z@_@~@[z@a@fA[|@[`A]bAY~@]hA[hAAF[hA[nA[lAId@Oj@UhAWjAeAlFa@rB[|AGZm@`DkAbGKh@c@xBOp@aClMeAvFiAfGsEhVCNOv@kB`K[bBUhASlAMn@ETQlAQdAOdAQhAOfAE^Gf@OjAMhAMlAKhAKjAMxAMxAUbDg@fHEn@a@vFQnCKvAg@rHIjAOxBCd@_@zEIhAIrAk@lHKjA_AvMKvAItAIjAItAGvAGvAErAEzAErACvAAbA?PAxAAtA?zA?tA@vA@tABtABxADxA?HDjADrAFxABXDx@HxAHrADh@Dn@LxARdCj@lGPjB\\bEtAvO?@B~@Dj@L`BXlDZfFPdEL|DD`BBdB@`E@~DE`J?~B@pE@hDHxDNzD@X@PLtCVvDbAxLtGvv@XrD`@rEh@dGd@`GNdDHfCDlC@vEC|BEpBe@pPMhCS|DYhEAH[jDa@zDg@zDk@vDo@tDq@hDw@dDELe@dCWbA]lAaA~CeBhFwAjEiBtFsQti@eAhDaAlD{@nDeAzEs@tD[pBSjAi@`Eg@vEUtBc@tFUbEOnCaDzq@q@nNyB|e@Q`EM~DIfEG`E?rAA|@@nDHvLF|HDzDXvP@n@FdEDfC@`A?~@?`A?fEA~K?`@?fDA|AArA?rACrAAnAArACvACvA_@zSOlJEnACjACpAKrCGnCCdACjAE`DA\\AjBEdC?n@GfF?f@CfCAjA?pA?rA@rA@nADvABhADvAFhAFrAHnAJnAJnAJrANlANpAJ~@BNHn@DXz@xG^vDXtBhCdSNlAPvANpALpALpAJvAJrAJtAHpAHtAFrAFxADpADxADtABpA@j@?~@@`A@tA?xA?rAArAApACrAAxAEpAE|AEnAQjEaEzaAuAv\\w@tRG~AGlAGjAI|AIpAKrAKxAMjAEf@AJSpBQ~AOjAEXM`AQnASrASrAUnAWvAUlAWlA_@dB[rASv@U~@]lA]nAW|@[~@]jAc@pA_Vds@[`A]bA]hA[bAW`A]jAWfA]rAWfAYlAYrAUlAUpAUjAUrAStAQhAIl@Gh@QpAQxAOrAOzAObBmB~SKxAKlAKpAIvAIxAIrAG|ACf@Ab@CjAEhACnACxAApAAtAArA?pA?lP?|A?fn@?tp@?fI?vG?zA?bAA|AApAArACrACvACnAEvAGzAGpAGtAIrAGnAKvAKpAKpAKlAKjA_@dDKdAQrAQlAStAQpASjASjAUpAaNlu@QhAWrAQhASnAQnASpAOlAOnAmE~_@cCfTAJAJsCxVCVWrBcJ`x@oD`[qA`LUzBY`CoA~KIr@_A`IMjAK~@_@dDS`Bc@zDe@`Ec@lDy@vFObAShAQdAShAUjAS~@SdAWhAUfAU`ASx@uEbRm@hC}C~MkAfFsAxFCL_A~EGXa@dBcAnEi@tBu@vCs@vCu@|C}@vDsA~F_AbE{@pDiIl^}@~Ds@`Dc@zBETWtAOz@EVYbBKr@QnAM`AOjAOpAUnAMhAKnAMvAW~CcAfMKjAIfAGj@CZKhAKfAMhAOnAOjAS|AQhAOhAShASjAShASbAUhAYtAWhA[rAYdA]rA[bA]jA]hA]fAa@hA]`Aa@jAuR`i@KZwDjKmL|[q@fB_@bA_@dAy@`CoJ|WuB~F_E~KiBbFYt@Un@Ul@Wn@EL]x@e@dAa@~@c@~@c@~@c@z@gAvBmG|LsH~NiC~EcDnGsg@hbAMRyAtCqb@zy@}Ob[GLiAxB_@r@c@x@_@r@c@x@e@v@_@p@c@p@a@n@g@t@e@r@o@|@g@p@q@x@e@l@s@x@g@j@s@v@i@h@o@n@m@h@m@h@q@h@o@f@k@b@a@VUNOJQLq@b@m@^uG~Ds@b@q@^w@`@m@\\s@^}CxAqI`EaAd@OHA?oAl@q@\\m@ZQHCBi@V_@TULaB`Ao@^w@d@yFfDm@\\k@^q@b@i@\\kLdIOJyFvDye@n[aBfAwFtDaG|De@Zm@`@q@d@q@d@q@h@k@d@i@b@m@h@e@b@o@l@c@b@WXSRs@v@i@n@i@n@k@t@i@r@i@t@e@r@i@t@c@p@iHpKQTeA`BkOxUg@x@Y^OTi@v@i@v@GJ[b@e@n@mB|CaCdDmAbBa@n@c@n@]h@Yd@Q\\_@r@a@x@]t@_@z@[v@Wr@Yv@[~@W|@[`Am@xBQj@I\\e@`B[fA{@|COh@_AbDc@`BSt@Qx@Qt@S~@Q`AMv@In@EROhAMdA_BfN}A`Ns@dG]pC[lC}@`IGh@G^EVEVGXG`@In@Il@Kv@EZOr@E\\GXCXIp@_Er]y@hHkAzJYpAY|@g@lAc@x@i@v@c@f@g@b@q@b@q@Xu@ViBf@E@uBj@wF|AWHcIzB[HGBe@No@\\WP[VUTWXWZ[d@qAnBaBfCeAzA","kraków główny|kraków główny kga":"msrpHy|vxBSLOJQJy@`@]Py@\\m@X_@j@g@b@c@Rg@VUNe@ZYTYT[XSPUTGHMLSRUXCBW\\q@z@w@bAILs@z@I\\q@x@i@t@W\\_@h@UXa@l@c@p@w@pAq@hAS^S^c@|@_@v@a@|@MZQ`@]x@_@bAeB|EeAtC_@bA","łódź fabryczna|łódź niciarniana":"{f~zHatyuBF}CHaE@k@@i@Bk@@g@@e@Be@Ba@Dq@Dk@B[B[@mBj@wGTkCVkDFaAFoAB}@~@s]FeERaGH_CxDwvAB{@^yNFiDDiBDsC?SHkEFoCFoC","łódź niciarniana|łódź widzew":"_v}zHo`avBNaGDcAFoBDyAH{BTyFHoBBy@B{@P}ELmEF_CHO@q@zAsk@XiKBuARkHHyBDsAFoAJyBJ_B`@uFVkDFo@pAmPFo@l@uH","warszawa podskarbińska|warszawa wschodnia":"wn}}H_{r_CH`@Lp@Jf@Np@Nj@Rp@HXJ\\JZPf@Nf@hBvFvAlE~@rCHV^jA`@pAX`AXlA\\tAPz@Nr@Lp@Lt@RtAPlAl@tEL|@Hp@tArK`AnHe@tA","lipce reymontowskie|płyćwia":"aux{HsyuxBIs@Is@Gu@Iu@Gu@Ca@CYAOAK?IC[Cg@Es@Cu@E}@Aq@Cq@Aq@Aq@Aq@?q@?o@?q@?o@@m@?m@@m@BiA@iAPoIFuD@a@F}CH}DJoFDoBNoH\\oQb@yUDwAj@k[^uQNmIByAByAB{@@w@@y@?u@?u@?y@?q@As@Aw@Ay@As@Cy@Cu@Eu@Cu@Gu@Eu@Gw@Eq@CWE]Gw@Is@Iu@Ks@Is@Ko@EWCUKm@Km@Kk@Ki@Kg@Kg@Ke@Me@Ke@Om@Me@Oe@Oi@Qk@Qi@Oc@Qk@Uk@Oa@Qc@Wm@Qc@Ue@MWGOSa@Ue@Ug@a@w@a@w@Yk@{AuCIOqBqEQ]CG{BmEaEeIm@gAaDmGcNeXm@mA{EmJeBiDeBgDc@}@e@_A_B}C","lipce reymontowskie|rogów":"aux{HsyuxBDVDZHt@Lp@?DJl@Lr@Jp@Jd@@JLj@Lj@Lh@Lh@Jb@J\\HZNh@Nf@Nf@Nf@HVDJNd@Pd@Pd@Rd@Pd@NZBFPb@Td@Vd@Td@Td@HLLTVb@V`@V`@V`@X^X`@X\\X^X\\XZVVTVRRRR\\XFFRP\\X\\VZTZT\\TZR\\P\\R^P\\PNFNF^N^N\\L^J^J`@J`@J`@Ht@LVDF@RD~@L|GbAtARt@J~^pFhJrAbP`C|MnBtHhAt@JdVlDnG~@vARt[vEhJrAnFv@t@JdJrAjBXxAR?@pDf@RD^DF@F@l`@xFdJrA~B\\jIlAr@Jv@L`@F|JvAdJrAj^hFv@Ln@JF@l@Hp@Lp@L^JB?ZH^J\\JB?^L^NPFLF`@N\\P^P^P^RTNNJFBDBPJVPZV^VRNFFf@`@XVVVTTZZXX^`@PTPTRVTVRXX`@X^JPd@p@d@r@n@bAhAfBdA`BzK~Pl@n@pSv[t@jArEhHXd@vCpExA|BpArBrAtBjAhBfGpJh@x@T\\RZd@r@lAnBHLb@p@hAfBrBbDb@n@pDxFbBjCNTnBzC^l@","bedoń|łódź andrzejów":"{{vzHsk{vBKfAI|@AFKbAMhAId@U`Ba@fCUfASbAi@fCo@nCmIz^_FjTOj@c@lBc@pBaA~Dw@vCgAtDo@pBw@zBcD`JaNp_@","bedoń|justynów":"{{vzHsk{vBHcAHkALmC?ECm@FiBBiA@mA@gA@sA?oAAwAAoFAmAAuEEkMEwOAiEAkDE}NAuDKc`@AuDAqDAuDAoDKw`@AsD?kA?uA@qA@qA@iABmADmADiAFkAFkAJmAHgAJiALkAJeANkAPiAPoAjA_I","gałkówek|justynów":"cqvzHqbnwBBhAl@rT`@xNNdGBxABlABxA@pAJh_@@dC?zAD|JBdK?|ABtIBlHFdRf@ljB@fDAbDE|CGtCMrCQxCUjCWjC]jCa@rCyAnJAB?DCJmAzH","gałkówek|żakowice":"cqvzHqbnwBG}BIaDCaBCsB?gB?yA@iAD_CDsADsAH{AHqAFaAHkAXwC\\uC`@wC\\yB^uB|@mFxByM~@uF@IT_BR_BLgAJiAJgAHgAHgAFkAFgADgADgABgABmC@mA?kACsCGwCK}CQuCUcDMsAKiAsDya@Ea@OcBkD_`@yAoPOuAKuAMsAMsAMuAKsAMsAMsAMuAMuAMwAyFqo@AMAGAEAOCSEi@k@oG","koluszki|żakowice":"{ryzHe_~wB\\P\\PZNZNPHVJr@Zr@Xh@R~An@VJd@`@NFjBt@lFvBt@XzAl@t@Zt@Zx@p@hBv@VJHD`@Pd@Rb@RXNXNXPRLRLRNVRPLNL\\\\\\\\RRRTRVJLDFRXPVRVPXNXR^R^JPNZN\\NZN^N`@JXJZL^L^J^L`@J`@J^Hb@J`@H`@Hb@Hb@F`@Hb@Fd@Fb@Db@Fb@H|@H|@D`@dArL|A~Pp@rHLzAJ`ABTLtALxAJfALrALrApCb[Fn@Dj@f@tF","koluszki|wągry":"{ryzHe_~wB]Qg@YUMSKwBoAoAs@SMcB_As@c@i@YcEaCaB_AiEaCkEeCSMuAu@kGoDu@a@qF_D_B}@}A{@aCuAc@WwAy@mAq@cAm@_Ai@WOe@WcBaAg@YEC}b@mVe`@uTq@_@u@c@q@_@gEaCoI{EsMoHs@a@kDqBqI{EoAs@sI_FcE}BmIyEcK}Fu@c@kHcE}D{Bo@]m@_@_@S_@U_@U]S[U[S[U[U[U[W[W[WSQGGIGMMYUQQUUWWWWQS]]","rogów|wągry":"mmh{HoalxBbNbTpHhLbCxDfFbIb@r@~LpRtBbD\\j@f@t@d@r@`@n@nCfEb@n@`@n@j@|@j@z@zIdNle@xt@h@x@`@|@tGdK~C|E^l@rFrItJjOl@|@dQjXd@t@d@t@X^V`@X`@\\d@\\d@JNPRZ`@\\`@Z`@\\\\JLNP","przyłęk duży|rogów":"{~k{Hu}pxBLJNN\\\\\\\\\\^TVTXVZRVZ^X`@Xb@V\\T\\T\\RZzBlD|F`J`F|Hh@x@pSv[t@jArEhHXd@vCpExA|BpArBrAtBjAhBfGpJh@x@T\\RZd@r@lAnBHLb@p@hAfBrBbDb@n@pDxFbBjCNTnBzC^l@","krosnowa|przyłęk duży":"kip{HkerxBlARH@nBX|RrCfJtAhMhBt@Jv@LzAT`IhAhIlA\\DxYhEnC`@\\D~@N`ANp@Jp@N^H^H^J^JB@^L\\L^N^Nd@TXLZNb@VTLNJFBDDPJVP\\T\\V\\X\\X\\Z","krosnowa|lipce reymontowskie":"kip{HkerxBqDg@UE]EGAEAuWwDu@MoFw@iJsAGAm[uEgJsAyNwBiFu@u@KoHgAcNqBePaCyCc@oEo@__@oFs@MwAS}AUmDg@QD_AMSEGAWEu@Ma@Ia@Ka@K_@K_@K]M_@O_@OOGOG]Q_@Q]S]Q[S]U[U[U]W]YSQGG]YSSSSUWWWY[Y]Y_@Y]Ya@Y_@Wa@Wa@Wa@Wc@MUIMUe@Ue@We@Ue@Qc@CGO[Qe@Se@Qe@Qe@Oe@EKIWOg@Og@Og@Oi@I[K]Kc@Mi@Mi@Mk@Mk@AKKe@Kq@Ms@Km@?EMq@Iu@E[EW","maków|płyćwia":"m|_|HunjyBq@vHCT[lDMnAsBpUKdAKxBMrAMtAGr@Er@Gp@Et@Gp@Er@Cp@En@AXAVAp@Cp@Ap@Ap@Ap@Ar@?p@?p@?p@?p@@p@@r@@p@@p@Bp@@b@Bb@Bd@?N@VDp@Dn@Dp@Fn@Dp@@LD`@Fp@Hn@Fn@Hh@Fh@@LFZHj@Hh@Hj@Jh@Jj@FX@JLl@Lj@Lj@Nl@Lh@DL@HFRNj@HXFNNh@Ph@Nb@JZFPPf@Rf@Pf@Rd@DHLZRd@Tb@Td@HNHRXf@HNNVNXRZXb@V`@V^V^X\\V\\X\\XZXZXXXZXXXVZVZVXVZTZR\\TZR^TXNVN^P^P\\Nn@Xn@Xl@TnAf@xIlD|D~Ap@b@b]bNjKdE`@N`@P`@P^N^P\\P\\PZPXNVP\\TZRZTXVVR\\XZVXXXXVXXZXZVZX\\V\\V\\T\\V\\Vb@RZR\\JRNVb@v@b@z@h@bALVVThAxBTb@|@dB`E`ItAnCf@`Af@`ATb@|A|C|@fB@@FLrB`E","dąbrowice skierniewickie|maków":"of~{HqguyBEb@?NAt@?t@AT?\\At@Ct@?JAd@?@Ct@Cr@Cr@Et@Er@Er@Et@Gt@Gt@Ej@Ef@MrAObBuF~m@MtAu@nI{ArPEf@{AvPgAtLGl@qCb[yA`PuB~UMtAgAzLMrAsBhUWpCw@xIKhAE`@Gn@[fD[nD[lD[jDy@dJ_CrWw@tI","dąbrowice skierniewickie|skierniewice":"of~{HqguyB?s@?u@Au@Au@Au@?IAQ?KCy@C{@Cm@Ki@A]AWEq@Eo@Em@Eo@Em@Go@Gq@Go@Iq@Gq@Im@Io@Io@Km@Ko@Km@Km@Km@Km@GWEUMk@CMIa@Oo@Om@YgAWiAsMyg@w@wCOk@Ok@Ok@Oe@Me@Oe@Oe@Oe@CIK[Oc@AAOa@Oc@Se@Se@Se@Ue@Se@Uc@Uc@ACS]KQIQOUGKU_@Wa@U[ACW_@W]Y]W]Y]SUEE[[Y[ECSU[Y[YGESQ[W[U[U]U[SCOWOYQA?OIMG]Q]O]O]O_@M]M_@M_@M_@Kq@Us@QuDgAyh@oO_HqBwBm@{Bq@eA[qBk@wKaDOE_@M_@K_@M]M[M[M[MYOYMQKIE[Q[SYQ[SYU[UYUYUYWGGQQYWWWUWWW[_@EGSUOSW]W]W]U_@W_@U_@S]U_@CEO[Q]Q]Q]O[AAO_@Q]M[O]M]M_@M_@M_@K[K[I]K[I]Om@Mk@Mm@Om@Mo@Km@AEKe@c@}AMq@Oq@Ic@_@qBEQOw@a@sBQw@a@sBACsAyG","puszcza mariańska|skierniewice":"gof|Hcpa{BA^YnOEfCCbBEdDCxAy@|b@QpI_ChoASjK_Arg@InEGlCCjBAdBAnB?dB@lF@pEHx[@bEBrKDhR@rEF~O?JJpa@Rjd@Jh]DbQDrPHxV?pAB|AB~ADdBFtBFdBJnBJfBLfBNfBN`BPbBThBR|APpATvA\\lBd@fCjBtJrAdHdApF~@zEXrAJh@v@nFNr@DPHb@v@xDP`AlBzJP`APz@N|@N|@Lv@L~@Jv@Hv@Hl@Hr@Fr@BVHz@Fz@Fx@Fx@Dv@Dz@?FBb@@`@Br@Bj@@j@@n@@X@`@@|@?z@@`A?~@?DAp@?z@Ax@C|@A|@E~@Cx@ATCf@Ez@Ez@aAdRw@fO[xF}@`QYfFe@dJCXCh@Ef@AXC^Gp@En@Gn@Gl@Kz@Gj@Kx@In@Ih@Mt@Mt@EVG^GXG\\GZu@|DOx@Or@Kh@Kd@K^Mf@EPCLK`@Mb@Mb@Od@Od@Ut@_@jBUr@Of@Of@Qj@K^Kb@Md@I\\I`@I`@I^EZIh@Gb@Gd@E\\E\\E`@Ej@C^C`@?BCd@Cb@A`@Af@Ab@?d@?b@?j@?b@?F@f@@^@n@HfDN~FTnJLrFDfA\\`OBr@Bt@Br@B~@Dr@Br@Fx@Dv@Fp@Fx@Fv@Fl@Hx@Hx@Jv@Jr@Hr@Jp@Lt@Jr@Jl@Nt@Nt@jHf_@`C|L^hBv@`E`GrZ`A|E`A~EnAtG`BnIFTJn@Ln@Lp@Ln@Lp@l@hDjAzGLn@Jl@Ll@@FNv@P~@b@xB`@jBLp@@FJf@Jb@J`@Jd@Ld@Ld@\\vAd@fBH\\FVFVJ\\FXJf@Jd@Jf@r@rCJb@n@dD","koluszki|żakowice południowe":"{ryzHe_~wB\\P\\PZNZNPHVJr@Zr@Xh@R~An@VJ`A`@zGlCXJXJf@Pf@Nd@Lv@Tl@Nh@Nd@LhAZ`@JFBLDVHVHVHTJd@Pj@Eh@RzAl@LFD@HBTHTFRFRDRBJBJ@XBP@Z@L?D?PAB?TCRARETCRGRGRGHEHCNINGHEPIRMRMROZUZWzBaBf@]RMRMPKVKTKTINGNENCNETETETATCTAR?V?T@T@TBTBPBTBRFTFTFJDFBRJTHRLRJTNRPNJRPPPNPPRPRPTNRNTHNDHNVLVNXLVJZLZN`@L`@FPJ^H\\H\\H\\F^H^D\\F^D^F`@D`@Bd@D`@B`@B`@N~CD`AFfAR`EjCxj@D`AD`ADdA@b@Bb@@n@@l@?J@`@@t@?t@?v@?t@At@At@Ct@Cr@Cd@?NCb@Cd@El@Cd@Gx@CNEj@Gf@Ip@Ip@Ip@Mx@c@`DSvAs@fFEZEZCXEf@CZE\\In@Mx@y@bG","idzikowice|radzice pzs r31":"wa`yH{v~zBsFkKYk@iDsGg@_AyE_JoAaCEGuc@oz@aTca@oQ_]sf@c_AqNiX_EwHc@y@}BkEwLwU","łowicz główny|łowicz przedmieście":"_t_}HavxxB|@yAbA_BbA_B|@wAT_@d@u@|@DZIPYR[NULMDIDELORUPQROTQVONIVKPGTIREVERARAJAL?T@R@RBzCf@zAVTDPDRFRFXHLFTHTJTLRJZPRNJFHHNJHFHHh@b@b@d@b@h@`@j@^n@h@bARb@Pb@N`@HTFTPj@V~@R`AnAhGlAjGTfAH`@Jb@L`@L`@`@jA\\`AL`@Lb@R|@Jb@H`@Hf@BXF\\@HNjAFz@Fd@D`@DX","stare grudze|łowicz przedmieście":"{tt|Hs~mxBiAaA}SaRmHsGiOwMgIiHqUoSgJeI}CoCkE{DsB}AUQi@_@i@]sA}@aBaAwAu@aBw@mBw@_Bm@sBo@uBo@uDgAkDeAaBe@SGsDgAoCy@mJqCgHuBqEsAeC{@aBo@oAm@y@a@yAu@y@e@IGaBcAm@c@i@_@iA{@gA{@sDaDoBaBgGkF{DeDcDsCsBgBoAqAMMUY_@g@[e@U_@GGYi@OYEIUc@k@qAe@oAYy@y@}COq@Ou@Ic@SgAw@_GiF_`@iCoRyA}KCQoAiJ","domaniewice|stare grudze":"ygo|Hih~wBkDoNcDwMu@yCgRiv@qAoFwDkOy@eDmB}HoBaI}E_S{Jaa@{@mDK_@Mi@WeA[yAOw@Mu@OcAMcAKeAIeAGgAGaACaAA}@AgA?eA?s@ByC?o@BaC?_A?}@?m@?k@Am@Ai@Cq@Ak@Eo@Cm@I_AG}@K}@Ky@M_AQ_AUmAUiAs@{CAIaDqN_@}AcEyQcEwQeD{N_@{Ay@wDe@sBq@uCWkAWiAQu@Qs@a@iBcAsEkCgLiCgLcAsEcAqEwCoMkCeLOq@Qm@e@{A]iA_@eAaAeCgAaCu@uAqA{BiBiCyBgCiAgAeB{AaIeH","domaniewice|domaniewice centrum":"ygo|Hih~wBhNhk@|BjJ~@vDbAdEnAbFrCjLbB~G`B|Gl@bCb@nBPt@Lt@H\\DZLx@Jv@Jx@@HFp@F~@F~@Dz@H~BFrCDpCHxBLzBL|AP~ARtARrAPx@Pv@Pv@Rp@\\jAN`@Nd@f@pA~@|B","domaniewice centrum|kamień łowicki":"sqm|HerxwB`C`GtDdJn@~A`@bAtAdDx]x{@L\\|AvDt@jBt@hBl@pAl@pAh@jAl@jAr@rAr@nAtA~BzFtJ|BzD`CzDxEbI|]tl@rIvN~CjFxFrJvBnD","głowno północne|kamień łowicki":"cdg|Hk}jwBSu@]}A]}A]}A[_BY}AY}Aq@cEcByJG_@}AgJ{A_Jy@aF{B{M{A_J{A_JwD}TaA_G_@}Ba@{B_@_Ca@}BIe@WwAO_AS_AScAUaAKa@I_@K_@K_@YcA[aAc@sAo@cBa@cAe@eAa@{@a@w@m@gAi@_AcCaE","głowno|głowno północne":"qjc|HkbgwBiBc@}FsAqKeC{Bg@iSsEmBe@oBe@OCqA[eA[cAa@y@c@s@e@gA{@eAcAcAmAeA_Bo@kAcAoB[q@kCwF_FiKoBiEw@aB[q@MWMWaCeF}B}Ek@mAi@oAe@gAe@kAo@_Bi@{Ak@}Ae@yAGOQk@Wy@W}@Wy@i@oB]uAMg@","bratoszewice|głowno":"}f_|Hyl}vBWeASy@Sy@Sy@Oq@Ok@a@cBaA_EaA}Da@_BOo@Oo@YgAYeA[eAMa@Ma@[aA_@aA_@_Aa@_Aa@}@OYISIOQ[Q[e@w@c@u@g@u@o@aA[a@W]uF}HwCcEaGgI_GiIsMwQEGi@u@g@y@Y_@Yc@c@u@e@y@c@y@c@{@a@}@a@aA_@_A]cA]eA]eAYcAYeAMg@Mi@Kg@Mi@ScAQaAIc@Ii@QiAa@{C[_DKqAIsASqDm@sLyAgZy@uO[mG]mGOoCMyBU_CM_AM}@e@iCg@{B_@uAEKk@}Au@iBcCqEi@w@i@u@]e@UUIIe@c@g@_@c@Yg@We@SEAQG_@K_@I_AS","bratoszewice|stryków":"}f_|Hyl}vB~BtJtEjRjNrk@j@|B^zA\\|AVdARdAP|@BLPhAPfANjANlALjALlAJlAHnAHnAJxBNpFJtCJzBPxBJz@Hz@Lz@Nz@Nz@Px@Pv@Rv@Tx@Tt@Tp@Vp@Xr@Zp@Zh@Vh@x@rA`AnAv@z@FH`@^b@^dAv@hAl@^R`@PpUfJJD|CnAn@Zn@Zn@\\l@^j@`@l@d@tAjAx@x@d@f@VZLLb@j@d@l@jAbBjAbB`BbCr@`Ar@bAvB~CtE|GjBlCjBlCvGrJvB`D|CpE^l@\\n@Zj@Xn@Xp@Vp@Vr@Tp@Tv@Pt@Rv@Px@Nz@Nx@D^F\\D\\D\\Fl@Fl@Fp@JlANvBBj@LhBB`@~Bx]tBv[","stryków|swędów":"ixy{HyyqvB~@dNLhBJhBRdCpAzRLjBJlBLhBFbA@b@@R@LFvABnABnA@pA?pA?hAAdCG~BGdCEfBEhBw@d[u@vZALoBnw@?JaAf`@a@~OCpACrAApA?nA@h@?d@BlADdABb@Bd@HbAD`@Db@B\\D\\Jz@F^F^L|@Nt@Pt@Rz@Tx@Rt@Tr@Vp@Xp@Xp@Xj@^t@^n@^j@`@f@X`@Z\\Z\\\\ZjAdATTRNt@n@~CpCn@t@b@l@`@n@^r@^t@","glinnik|swędów":"oau{H}r~uBKcA[eCm@iF{AgMwAuLCMoBwPqBwP[kCWuBUqBWmBQeAQeAWqA[qAm@wBI[g@uAi@sASe@EIYm@g@y@g@w@g@q@i@q@]a@_@_@o@i@i@a@k@a@cAi@]O_@Qi@Qm@OWGYGs@KoAK_FQaBGgAM}@O{Ac@aAc@y@c@y@g@u@m@kAgA}BgC}AaBqF_GuB{Bi@m@g@q@a@m@_@m@c@w@Ym@Ym@Yq@Wo@Ws@Us@Su@Sw@Sw@Q{@Oy@My@M{@K}@K{@G}@I}@E}@Eu@Cw@CgAAeA?cA@aA@gABeAHwB@WD_BHwBD{@By@DsABsA@_A@aA?}@A_AC_AA_@Aa@E_AG}@C_@C_@I}@K}@K}@M{@Mw@Q{@Ow@Sy@Sw@IYKYI[KYUm@Sk@Si@Ug@_@w@","glinnik|glinnik wieś":"oau{H}r~uB|@tHTdBT~AJl@Hd@Jh@H`@T`APp@HXb@tAt@nB|A~Dn@`BDLb@tA\\jAHVNp@Pv@Nx@Jp@Lp@TfBj@vEThBThB\\tC\\pC","glinnik wieś|smardzew":"wit{H_b|uBRzANnARtAF\\FZLt@XnALj@Ld@Lf@Pj@ZdAbBrF`BnFX~@V`ADP@DFVNn@Nn@Lp@RjAPfAJj@Hj@TtA\\vBFZFZNz@Nn@Ll@Nj@Nh@Pl@Rj@Pf@Tj@\\x@\\t@LVNVZh@l@`Ap@|@f@l@h@j@`@^`@\\`@Zb@X\\RZPPHNH`@PlA`@n@Ln@J|@JP@P@b@@N?P@F?XAJ?HCP?f@E`@E^I^I`@I~E}A\\KZIXGXGLALC","smardzew|zgierz rudunki":"war{H_gyuBZEFAL?VCh@Cb@?X?j@@h@DVBVDn@Jh@Jh@PVHVHj@VTLVLj@\\v@j@t@p@j@j@j@n@RVPTd@p@l@bAj@dAP`@R`@Tj@LXRj@Rh@h@vAf@tAf@tAn@hBXt@Tt@Tx@Tx@Nl@Pz@P`ATtAJn@Fl@Hv@Hx@Fx@Fx@D|@B|@Bt@@v@@`A@`A?NBpBD~FLrN@zB@d@@vABzBB|BBxADzADzAFzADnAFpA@b@Dh@FnAFv@Dt@Dv@D\\Dn@BZDr@NdBH`AHbAFdAJbAH`AJbAJ|@L`AF`@F^N|@F^H`@H^H`@Ld@Jd@J`@Ld@JZJ\\J\\J\\N`@N`@P`@P`@","zgierz|zgierz rudunki":"g{l{HsepuBe@e@mCaCyCmCkSaRuAkAyBmB{BqBKI_EsDGE}@{@y@w@YWs@o@}@w@o@m@YWMKe@c@a@[a@]a@]a@[yAqAwAsAk@g@gGwFuI_IyBsBe@e@c@c@a@g@OQOS]g@_@k@[i@OUMUS_@CIMWSa@O_@","zgierz|łódź radogoszcz wschód":"g{l{HsepuBxApAf@d@l@`@VNRJXNXJTHVJZHVDbANZBj@B|@?b@ATA\\Cf@G^Ej@MVGZK^M\\MZMVOXO^S\\WZU^[^[`@a@X[\\a@\\c@\\g@Xe@\\k@Zm@Zq@h@iA~@yBnBsE`A{BBEp@_BBGbGgNrEqKpFeMfAgCHOJYd@eAp@_Bn@yAh@kAvAeDb@cAl@wAN_@x@kBx@kBbA_Cb@eAlBoEjEaKb@_A|@uBd@eA","łódź arturówek|łódź radogoszcz wschód":"kfg{HqawuBk@j@eC|BYVs@l@kB~A_Av@sLbK}E`EuE~Du@p@[X]^e@d@]^_@d@[`@[`@k@x@MRQX_@p@[f@A@Wf@k@jAABIPQ\\eA`Cm@rAaBzDcA~BCFaCtF","łódź arturówek|łódź warszawska":"kfg{HqawuBTYf@k@f@q@b@o@RY^k@\\m@Vc@Ve@Ve@Tc@\\u@Zw@p@_BTq@Vs@X}@ZgAZiAXkAXmA`@gBxBmKd@qBb@oBT}@Nk@DMRs@ZeAVs@Tq@Tm@`@aATk@h@gA^u@`@w@Zg@Xe@^m@Xa@\\e@\\c@d@k@f@m@b@g@h@i@fAkA","łódź marysin|łódź warszawska":"}ed{Hk{|uBqJja@kA|EMj@Mh@_@tAUv@q@tB]~@Ob@_AxB_@v@Yl@]n@w@vAQXa@t@i@~@k@~@_@l@c@l@W\\Y\\c@h@c@d@mEvEYXiCnC","łódź marysin|łódź stoki":"}ed{Hk{|uBlAiFLg@fCwKtDwO^}AXaAV}@Pg@Ne@Z}@Pc@Na@N]L[\\u@Vm@Xi@\\o@Zm@~@{AfA}At@_A`@e@r@u@^_@f@c@pAeA\\WdAw@|L{Id@[`@WLILGPKPKNINGPKJEJEJERKHCb@QRG^MVIb@Kb@Kf@Kf@Id@Gt@Gr@Gp@Cl@?j@?x@@t@D|FR\\@V@t@B~@?\\An@Ap@Er@Gt@K`@I`@G^IbAYPEbBo@l@Wj@Yd@Yb@Wj@_@`@Yh@c@f@c@j@g@h@g@h@m@l@s@d@k@n@_A`@m@PWR_@Va@b@w@P]`@y@Zq@Zs@\\{@Vs@Pg@`@iAV}@X_Ah@wB^yA`AaE","łódź stoki|łódź widzew":"wr_{HetavB`A{DjA{EzAiGfBgHNm@V_Ax@iCVq@`@eA~@wBl@sA`@{@|@kBDIDIp@wAl@mAzGoNl@oAtAwCtAuCfCmFzHkPbAuBvCiG@CFKtBmEz@kB`@{@^_ANa@Nc@Nc@Ng@Je@Jc@VmARqAFg@Fi@PaBRkCr@oB","słotwiny|żakowice południowe":"{wuzH_o`xB{@jBeBnD]hAg@fAe@`AGNKTQ`@M\\M\\KZKZwArEo@vBCJM^IZIZIXKb@I^I^I^G\\G`@G^If@E^E^In@Gj@Ed@?BEl@Ej@Cn@Ep@Ap@Cp@Ar@?p@?p@?r@@l@@d@@d@@b@Bd@FrAr@fORfE^jHD|@Dz@TbDDf@Bl@Dv@Dt@B\\@^@`@@Z@h@?^@XBb@Bp@FfAR`EjCxj@D`AD`ADdA@b@Bb@@n@@l@?J@`@@t@?t@?v@?t@At@At@Ct@Cr@Cd@?NCb@Cd@El@Cd@Gx@CNEj@Gf@Ip@Ip@Ip@Mx@c@`DSvAs@fFEZEZCXEf@CZE\\EVQpAy@bG","mikołajów|słotwiny":"qarzHoafxBs@tAuDnFcRdXaa@tk@q@`Ag@r@i@x@e@v@g@x@]p@a@v@a@x@sArC{BvECFw@bBeCfFaIpPyA|Cc@|@}BzEyGlN}CrGu@|AO\\w@~A","sędziszów towarowy|warszawa zachodnia peron 8":"cftsHomnyB}CcPuEyToD_QkDqP}@iEaCmLkBcJ_AqE{@yEeA{H{Dc`@cCyUq@sGwCgViCoSmByOi@iGqBk\\wB{]k@yI[}Fq@mJ_@aEc@cDm@qDy@yD_A}DkCmLaCmK}BqKwAuKoAoMSyBm@}Go@oGEc@YoB_@uEWuEIeF@cDBsA`@kVT}KBgEEqEg@{I]iDk@sD{CgMaAaEe@eBkEuPoCiIgBgDqBsC{A{AoCiBoAm@eBi@yB]a@AsACyBDgCl@gCx@eC|AiB|AkF`FwFbEsCfA{B`@sBLwAGwAGmDy@_Bu@yCuBqC}C_BeCiBeEaBuF{AsGkDuP}@oEmUehAyFoXs@qCk@qBg@wACIe@kAm@oAm@oA_D{Fk@eAUe@Se@Se@Si@a@kAa@oAYiAKe@Ic@]gBMw@OaASuBMyBmBmd@u@sRc@}Hs@sHCUkAsKuAgLeAoFqAcFoA}D_AaC_LmXmKiWeR{d@eB}EGOeBwF{AyFqA_GcAeF}@kF[oBkAuJm@mFo@cGGi@_AsIwNksA_@eD[cC]uB]cBa@_Bg@cBi@_By@kB}@eBoAqBuAeBgDqDiAmA_@a@WYcFoFaG_GsAuAiCqCkCsCeBoBuA}Ai@o@aCoCu@w@y@}@kAqAoAsAY[qA_Bo@}@k@_Ae@}@a@_Ac@gAa@kAIUQi@WcA}@aE}@gEeDyOWiBi@wCg@cD_@_DW{CUmDMgDGeEGkE?kCF_c@?iFCyEIwDOcDQqCWwC]uC_@kCc@cC]aB?Au@_De@aBc@sAcAwC}@sB}@oBy@yA{@yAuBcDqKePkAaBkAyAgBkBkAcAaAw@gBkAkBcAaC_AmA]iBa@{AWsBWsDa@gGy@YOceAyLgBSiBMwAGsEIsB@eJ\\kBCwBI{@I{@MqAWoA]_DiA}UaJsBs@oBi@wAWcBS{UwAk`@_C_BQ}AWwA_@mA_@kD{AgIoE{BwA_CmBaCeC{BwCoDsF_LaQiBiCyA_BuAoAsAcAoAu@qAm@i@Ug@QuAc@mHcB}Ai@iB{@eAs@q@i@{B}BcBgC_BaDkAaD{@cDe@{B[wBW{BOyBI{BMeCgAm^EuCAsCDqEJgEPmJHwEHyDLmELoENqEJoE@e@D_CHcDNcDNcCZcD\\iCPmARgA^sBZuAx@uDl@eCNs@xBwJl@wCd@yCf@wDTiCTyCN_DHaDDiDGmV?iA?kDBmCHoDP_DRyCXyC^wCb@yCh@sCv@kDtO{p@nCoLl@oCh@qC`@sC`@uCd@iEdAyIX}B^sBb@qBf@gBl@iBt@eBt@{AnAyBrAwBhAsBt@yAt@cBl@eBj@qBd@oB\\oBXwBT}BN{BHaCDaC?cBIyCK}BS_CWwB[wBc@wBg@mBk@gBq@gBw@aBw@sAaA{Ay@aAgAgAgAy@gAs@oAk@kAc@oBe@cLcBmIqAkEq@mEq@gBYmCUeCAwBLqERqFVy@Dso@zC{AFs@DsLf@kBDuBBcBIiBQkB]cBe@aBk@iBy@_BaA_BgAyAoAyAyAsAyAwAkBqAsBiAsBaAwBcAaC{@iCy@kCs@qCk@wCk@_D{@gFsCyPi@wCo@uCu@qCw@kCaAiCeAeCgAwBiAoBqAoBoAcBuA_ByAuA}AoAiBsAgN_KeBoAcA{@kAsAy@cA}@sAw@wAu@cBm@cB}@{Cq@cD_@wBUoBOmBM}BEuBA}BBsBNwDZeFPiCBe@VkDP}B\\sDRqCfAiPVgERmEPaDh@sIP_CNeCL}CHyD?gCCcCG_DOgEQwCU{CYiC_@uCe@qCi@oCm@mCq@aCi@aBOk@qH}UqPai@w@iCkXm{@mA_DqA{CqAqC}AuC}AcCaBaC}B{C{@}@UYmBmBohAiaAu@q@o@k@SSSSWWSUSUSSY]W[_D}DGG}AmBUYaAkAaKgMkM}Oa@g@a@g@g@s@_@i@]g@]m@[k@Ym@Ym@Yo@Ys@Uq@Us@Uu@WaAU}@s@yCw@iDSq@Qq@_@qA[eAe@qAc@mAa@aAe@gAa@{@c@y@e@{@g@y@g@w@k@{@e@m@g@m@k@q@i@m@k@i@k@i@k@c@i@c@q@e@m@a@o@_@m@[o@]y@_@y@]u@[uIuDGAqa@eQaAa@gAe@k@Se@Os@So@Os@Oo@Mu@Io@Gq@Gw@Co@Aq@?u@@u@B_GVeAD_AFo@Dk@Fs@Jm@Jm@LsDx@UF}EdAcATC@cJnB_Cf@c@HyATyBZcFn@_H|@cIbAi@Hq@Lc@H_@Jc@JoA^oF|AsA^_@J}FbBc@Ng@Rg@Rg@Vg@Va@Vg@\\c@Zg@d@_@\\c@b@_@b@SVWZW\\Yd@U\\c@r@gAjB}B`EGJ{@|AaBtCiAhBk@z@a@j@i@r@e@j@w@|@q@r@a@d@_@^]^c@d@c@d@_@Zc@`@a@Za@Ze@Xc@Vg@Vq@XYHe@NG@GBYFi@Je@Fi@Fe@@i@Bg@Ak@Ae@Ci@Ge@Ig@Ie@Mk@Qa@Og@Uc@Ug@Ya@We@_@a@[e@e@_@_@a@c@[c@a@i@[g@_@m@[k@[o@Yk@i@kAi@qAi@mAi@mAc@_A]s@_@s@Wa@s@kA_@m@qJ}Nc@q@_@k@_@o@_@q@MUGMe@}@aUid@wAwCa@y@[w@_@_A[y@[_AY_AUu@cHoVmAiEqJu\\uC_Kk@sBIWaG_Tm@yB[oAS_AACUgAWoAQeAOcAQsAOeAOuAKgAIkAKoAGsAGkAGsAUcFOiD}@wSCm@u@iPe@{KGqAIoAIsAKmAMsAKiAQoAOkASqAQgA{CcQSe@{K_o@[cBUmAUeAMk@I[Kc@Me@Uy@Ss@Sm@Ww@Uo@Qi@Yo@Um@Sg@[q@[q@c@{@_@s@e@w@c@q@QYOUe@o@e@o@i@o@g@m@k@o@mIkJ_A_AiA_A_@Ym@e@g@]c@Wa@We@Ue@Wo@Yi@Sk@U_A]}@[m@SqBcAgBo@uAg@}@[YKyCgAq@WeC}@mE_BqAe@kMuEcC}@_Cy@}DyA}Bw@s@YaBk@OGmBs@uSsH{NoFSGwCgAiC_AgE}AkE}A}EcBmBq@uAg@wDuA_DiAg@SsWmJq@Uq@Um@Om@Om@Mm@Km@Iu@Im@Eg@C]A[A_@?k@?e@@U?U@s@Fw@Fu@Jq@Js@Nq@Ps@Rq@To@Vq@X_CbAgAf@s@X_@P}CrA{RpI{O`HqKtEoAh@iH~CYLWLc@Tc@Tg@\\]Ve@\\]Za@`@]^c@h@]b@[d@]h@[j@Yh@[p@Wj@Wp@Wn@Yv@mAbDoDvJsBpFoBlFaKnX]|@cD|I{BdGCJ_@~@a@~@Wl@[n@_@p@Yh@]f@_@h@_@d@_@b@e@f@c@^]\\c@Zc@Zc@Vm@Zg@Ty@\\m@Tg@Pe@Ne@Lg@Hi@Je@Dg@Di@@g@@g@Ai@Cg@Ee@Ge@Ii@Mc@MwBo@sBm@]Ka@Ke@Ke@Ii@Ge@Ee@Ck@?e@?k@BC?e@De@Fq@Ho@JuF`Ao@Jg@Fi@Dg@Bg@@g@?g@Ai@Ce@Ee@Ig@Ig@Mg@Qe@Oe@Ug@Uc@Wa@We@[c@]a@_@c@e@_@a@]c@]c@a@m@_@k@[k@[k@Yo@Yq@Wq@Ws@a@kA{AyE]_A[}@[w@Wi@]q@[k@]k@_@k@a@k@]c@_@c@]]a@]_@]GEc@[a@Yc@Wg@Wg@Uc@Oe@Qg@Mk@Me@Gi@Gg@Eg@Ag@Ae@@i@Bm@De@Ha@Fi@Ji@Nc@Ni@Rc@Rg@XEB_@Te@Za@Zo@h@m@f@sBjBiB~Ak@f@k@d@k@b@o@b@s@d@k@Zq@^m@Xif@|UqLzFsEzBo@Zo@Xc@Pg@Pe@Lg@Li@Hg@Fk@Fc@@e@@i@?c@CG?c@Cg@Gg@Iy@Qi@Oa@M[Mc@Se@U_@Uc@Ye@]a@]o@m@e@g@s@{@a@k@[g@]k@]o@Wg@_@w@Ys@Wu@Us@Wy@Uw@Qu@S{@Q{@O_AM}@K{@K_AI{@Gy@G_AC}@EgACmAAcA?cACaLAgB?cB@iB@gBByABiB@m@JoETkJB{@@gA@{@?_AAu@?i@A]C}@E}@E}@G}@Iy@Iu@K_AO}@O{@Oy@Qw@Os@aB{GUaAUgAQs@Gc@GWM_AMcAK}@I}@KqAK{AYuDGeAKeAKiAM_AM_AUoAScAMi@Mk@Uu@Qm@Y}@]aAaBqEYu@Y{@Um@Qq@Ma@I_@Sy@Qw@O{@Oy@K}@M}@I}@I{@G_AE}@EaAC{@AcAAy@?cA@_AB_AB_AD_AF}@HcAFy@J_ALy@Hi@N_ARgAReATiAdDsOLo@Nq@Ls@N{@L{@Jy@Jw@JmAHaAFcAD{@BcA@y@@aA?aA?yA?yK?m@@s@?O?I@q@Bs@Bs@D}@Ds@Fs@l@gIZ}DFm@Dg@h@yFH{@z@oK~@wLPoBFq@Hw@Ju@Hw@N}@PeA|AcInAmGd@eC`AwEVmANq@Pq@Ro@Rq@Rm@Vm@Ri@Xo@b@{@\\u@xA{C^w@^_AXs@X{@Rq@Pm@Ni@R{@Ny@P_AJo@Js@LgAP_B|B_VJ_ANmAJw@N}@Ns@Nu@Pq@Ry@Pm@Rs@pBsG\\iAXeAPw@Pw@Nq@Ly@N{@L_AH}@H{@F_AF_ADy@BcA`@ePJqDBiA@kA@gA?mAAgAAkAEgDCkACkAC}@E{@E{@G}@Gw@I{@Ky@Kw@iAuHG]M{@AKQmAKy@I}@Gw@Gy@Eu@E_ACy@A{@Ay@?}@@y@@_ABmADqAVwKBy@?aA@y@AaAA}@C}@E_AE{@Gw@G}@K{@Ky@Kw@Ky@gCsOYeBSuAQmAOmAMkAMoAKkAIoAImAGsAEiAEsAAiACsAAoA?sA@mA@qARkKj@mZDeBJkF@s@@gA@}@?_AA}@AaAC}@E}@E}@G_AI_AIu@K}@My@M{@Ow@Ow@Sw@Su@Sw@[}@]gA}@aC_DuIUs@Wu@Ss@Sy@Qu@Qy@Ow@M_AMy@K}@Iy@I_AG}@G_AC}@CaAA{@AaA@{@@aA@}@DaADcAFgAr@qKD{@D_ABaABy@@aA?_A?}@A_AC{@EcAE_AGw@GaAKiAu@oK[uDe@eGIgAGkAGaAEiACmAEsAIeDCuAEsAE_AE}@G}@I_AI_AK}@My@M}@Oy@Q{@Qy@Sw@U{@Qi@GUUm@Um@Wo@Ym@[o@]m@[i@]e@a@k@_@g@g@k@q@q@m@g@a@Yc@Ye@Yg@Wa@Qg@Sg@Og@Mg@Kg@Is@Iq@EaCOu@Cs@Gm@Gm@Mm@Om@Qk@Uk@Um@Wm@_@g@]g@a@e@c@g@e@g@i@e@g@c@m@a@o@a@q@_@u@_@u@]w@]{@Yy@So@EOY}@Sy@UeAUmAUmA_AgFO_AS_AOw@Sw@Sy@So@Uq@Wu@Wq@Yo@[o@Yi@]k@[i@_@g@_@c@_@c@_@c@w@s@q@q@gB}Ae@a@c@a@a@c@]_@_@c@]c@]g@_@k@Yg@_@o@Wm@Sc@Wm@Yy@Uq@Sq@U}@UcAS}@QeAUsAW_B}@_HQqAkDcXS_BMeAOkAKgAMoAYuCSaCCi@Eg@Ew@CcAC}@A_AAq@?s@@y@FgCPeHFeBN}FDiB@y@@cA?{@A}@A}@CaAE}@GaAEq@G}@UqCg@_GKqAKkAIu@K_AK_AMu@Ks@Q}@Qy@Qs@Qu@Wy@Ws@Uq@Wo@Ys@[k@Yi@[k@U_@IK_@g@]e@_@e@_@_@a@_@_@]c@]c@[g@Yc@Uc@Sa@Qg@Oi@QiEiAg@Og@Q]Mc@Q]Q[O[Ua@W]W][][YYY]]_@Y]W_@Ya@Ua@Wc@CEUa@Ue@Ug@MW_CqFWi@Ug@Wg@Wc@Wg@Ya@Yc@Y_@[a@[_@UEQSQOYW_@[]W[Sa@U[Q_@Q]O_@Oa@M_@Ka@IiE}@_@I_@Kc@Kc@Ma@Qa@O]Q_@S]S[SKIUQa@Ya@]_@]{BqBi@g@]Yc@]_@Y]U]S_@S_@Sa@Q]K_@Ma@Ma@I_@Gk@Ig@Ee@Cg@Ag@@e@@k@Dq@Hg@H]F[H[HwElAm@Nk@La@Hk@He@De@Ba@B_@@]?A?e@@]?_@?_@Aa@A]E_@E_@E_@I_@IYIWIg@Qe@Sc@Q_@QqAo@uJwEc@U_@U_@S_@Wc@[a@[KKw@u@_@c@]e@e@m@g@s@i@w@{BcDEGu@eAa@m@a@g@[c@c@e@_@a@_@][[c@]a@[c@]a@We@Yc@U_L}Fk@Yq@_@e@[i@]e@]c@_@a@]c@a@_@a@_@a@a@e@a@i@_@e@Wa@W_@a@q@[m@a@u@a@w@sAmCyAwC]o@]q@We@Ye@Yc@Ya@[c@Y]]a@YW[YYW_@Ya@Yc@Yg@YuAw@qMcHg@We@Ua@Qc@Og@Qa@Ko@Mg@K]Eo@GIAk@Ei@?o@Ak@Be@@c@De@DeALaBRkHx@w@Jo@JsCb@qBZq@JcAJg@H{@JeAJc@Dc@DcAHoAHwANuD`@m@Ha@Da@H_@Da@H[HYH]L[JYL[NYPYP[T_@Va@X_@ZgBtAmA`Ac@Zc@Za@Ta@T]P]L]N_@Ja@L_@Ha@Hc@Fa@Dc@Dc@Ba@?c@?a@Ac@Ca@Ee@E_@Gc@Kc@Ka@M]Ma@O_@Qc@U]Uc@Wa@[_HgF_@Y]U]W[Q_@S[Oa@Q[M_@M]Ka@K]Gc@G]E_@E_@Cc@Ac@?c@?e@BgI\\c@@a@@a@?[?M?QA]A[C]CGAUE[EYIe@Ka@Ma@Mc@Qa@SmAm@wFuCc@Ue@Uc@W_@U_@W]Wa@[][][]_@]a@c@g@}BoC_@c@[[]][[]Y_@Y_@Y_@U_@U_@S_@Q_@O_@O]M}Ai@wBu@a@O_@K]M_@I[G[G]G_@C]E_@Aa@A_@AQ?iCCa@Ae@Ac@Aa@Ee@E_@Ea@Ic@Ka@Ka@Ma@Q_@Oa@U_@S_@U_@Wa@Ya@[wEqD_@Y]U]U_@S]S]Qa@OWICA_@Ma@Ka@Ka@G_@E]E]C_@Ac@?_@?_@@c@Ba@Ba@Fa@F_@H_@Ja@Ja@N]Na@P]R_@T]R_@X[V]Z]\\[Z]`@[`@]b@eAhA_B|B}@pA[`@WZWX[^[Z[XYVYRa@Xc@X_@T_@Pa@Pa@Na@N]Ja@Ha@HWDm@Ha@B[@G@a@@c@A_@?_@Ca@Cc@G_@Gc@Ia@Ka@K_@Mc@QWKWO_@Q[S_@U_@YYUCCYU_@]a@c@c@e@a@c@iOwPoC{CY]]a@QSKMYc@[c@Wc@Ye@Wg@q@wA_@_AUi@o@cBm@aBUq@Wo@Uk@Ug@Ug@Yk@Ye@Ye@Wc@[c@[a@[a@]][]WWc@_@_@Y_@YaAu@qCuBuAcAk@c@q@g@eAw@e@]{AcAkBkA]UYS[U}AiAgA{@{EqD[W_@Wa@][Y[YYYY[SY]a@W_@Wa@_@o@KSUa@Uc@Uk@Qa@[y@Uo@mAwCGUu@_CaAyCWs@kDuKKWyB_H]kAe@_B[eA[kA[cAq@uBsCwIgBuFsAaEK]w@aCq@wBa@oAUs@Um@Qg@Wm@Ug@Ym@Wi@Wc@Ye@Wa@_@k@i@o@[_@[]_@]][YU]UWQg@[k@[e@Ue@Qe@Oe@Me@Kg@Ia@Ga@Ek@Ci@Ac@?g@?_BDe@@sCDG?kABo@@k@Aq@Ag@Co@Gi@Ig@Gk@K{PsCaHkAoCe@yCg@y@OaASWG{Be@SEYI_HyAcQsD{HcBaCg@eCe@oHmA}Ey@qEu@_Dk@o@Mm@Mo@QyAe@qHgCkJaDkAa@cBk@q@UKEcCiAqC_Ao@Sq@Qa@Kg@Ka@Ga@IaZaFoe@_IkCc@uqCie@iEs@s@Mu@Ou@Qo@Qs@Us@Wq@Ym@Yu@_@m@]u@e@k@a@q@g@i@e@o@i@k@k@k@m@m@q@m@u@c@k@k@y@g@s@g[}e@i@y@i@u@_@g@]c@_@c@a@c@_@]e@_@a@[e@[e@Wc@Ue@Ue@Qe@Mg@Og@Ie@Ig@Gg@CqAIgCMgCKWAiCMUCSAeD[_@C_@Co@Eo@CcFUc@Cc@AyDK_ACaAE}FWQAYAwJe@uAIc@C]Cg@Ei@Ie@Ig@Ke@Mg@Qe@Se@Uc@Ua@Ui@_@a@]a@]g@g@[[_@e@_@e@_@g@a@o@[i@[m@Wk@Wi@[u@Ws@Wy@So@Uu@Qy@Qu@Q{@O_AMw@M{@K}@I_AI{@G}@E}@E_AC{@AaA?aA?}@@qA@iAPaKBuA@_B?cA?aA?}@CaAC_AEcAEs@C_@ASCSGy@Iw@K}@My@M{@Q}@Q}@Qw@U{@Ss@Uu@Uo@[y@Yq@Ys@Wm@y@kBs@}A_@{@]s@]o@[m@a@s@[g@]e@a@g@c@g@]_@c@c@a@]a@[e@]e@Yc@Ue@Ue@Si@Qe@Mg@Mg@Ig@Gg@Eg@Ci@Ak@?e@@g@Dg@Di@He@Jg@Lg@Ni@Pc@Pm@Xm@XaErBeClA}@b@m@Zm@Vg@Ti@Rc@Ng@Ni@La@Fg@Fi@Fe@Bg@@i@?e@Ai@Ei@Eg@Ge@Ki@Me@Oc@Qg@Si@Wc@Uc@Ya@[e@_@c@_@a@a@a@e@]c@a@g@]g@]i@]m@Ym@Yk@Yq@Yq@Wu@Wu@Us@Sy@Qs@Qy@Qy@O_AMy@M}@Iw@I{@I_AG_AE{@EgACy@CmAAkAC{AC}AEoEUkTAoAEuAEuAEqAIwAGqAKoAKmAOsAOuAQuAQkASmASmAG]Q{@S}@WeAYmA[gA]iAa@sAe@wAqJqZa@mAa@sAkC{IsAqEe@{Ai@aBwMab@qP}h@iAgDe@uA[_AQk@_DmJkVwv@[_A[_A[{@a@iA_@{@a@aAa@y@Ug@a@w@Yg@[i@i@{@e@s@k@w@e@m@k@s@g@k@i@m@k@k@m\\y]}h@uj@{[e]cDiDkz@_}@s@u@u@y@w@w@u@u@m@k@k@g@k@c@m@c@m@_@o@a@q@]o@[o@Wq@Yg@Ok@Q}@YiDaAmEoAi^gKYIiWoH{Bo@gFyA{IgCq@Qo@Oo@Mg@Gk@Im@G_BMiKu@aCQuBO_@E_@Cc@Gu@Kq@Kq@Oq@Ou\\wHeGyAoMuCs@Oq@Mo@Ku@Ku@Gs@Ei@Cy@As@@q@@s@Dq@Dm@FsZjDaAJ_AJu@Hu@Fu@Dq@Bu@@s@?q@Cw@CaBG[Cw@Cw@Eg@Ek@Ek@Ig@Ii@Mc@Kk@Se@Qg@Se@Wi@[e@Y_@We@_@y@s@u@m@wBkByEeEk@g@i@i@c@e@e@i@c@i@c@k@c@m@_@k@c@u@]m@[m@c@y@a@y@Wm@Yo@]}@[y@Yw@Oc@[cAkB{GCIiDaMi@oBIYmAoEYcAYiAQo@S{@Om@Mi@Ms@Qy@QeAO_AOcAM_AMcAKaAWyBmScrB_NisAMiAI_AI}@IcAQeCI{@E_AIqAK}AImBGqAI{BGyBGuBCkAIkAUwMImECmAEkAC}@GaAG}@I_AGs@MgAM_AKy@QkAGYIi@e@kCqN}y@wAiI_AwFiD_SGa@QaAUkAMs@SaASw@Sw@Uw@Us@Wu@Wo@[s@Yo@[m@[k@_@k@[g@a@i@_@e@]a@e@a@i@g@YUc@[c@Yc@We@Ug@Se@Qg@Oe@Mm@Oq@MMCYGqJgBuCi@sLyB{JiBo@Mq@My@MaA_@k@K{MeCa@ISEYG]Gk@Ki@IQAWEi@Eg@Cm@A[?M@k@@k@Dg@De@Fm@Lg@Jk@Pe@Pi@Rg@Tg@Xg@VmC~Ai@Ze@Xe@Ti@Ta@Pg@Pe@Lk@Lc@H]DWBYBg@Bg@@c@?i@Ac@Ci@Gi@Gg@KOEWGe@O_@Mk@Ua@QCCc@W]Si@_@a@[MKWUc@c@a@c@]a@Y_@g@s@]k@]k@]q@IOQa@[o@Yq@Qa@kAuCGMwAuCYu@Ui@s@gBoByEEKuAeDa@aA]u@Wi@g@_Aq@iA_@i@e@q@eAwAIKuAiBk@w@o@mAi@u@EEa@k@c@o@Yc@Wc@Wc@S_@MYQ_@O]O_@Oa@KYQg@Ss@CGOg@Mk@Sw@eA_Fu@gDm@mCqAaGa@gBk@mCsAcGOs@I]Mk@Ke@Ss@S{@EMOm@{AmFs@cCk@uB_@oA]mAW}@S[oBaHW_A[eASk@GQKWUk@Ys@AE]w@Ym@Ym@{@aBcFuJcCyEU_@AEWe@_@m@_@q@Ye@MSS]S]Q_@Ua@S_@OYuAoCkCaFy@aB}B}Ec@aA_@y@]s@cAoBsAmC}CaGg@aAMU{AyCaAiBcFuJeBiDi@eA]m@]k@[e@]i@a@g@_@a@a@c@a@_@e@a@OKSOc@Y]Sc@Ug@Se@Sc@Mg@Me@Ii@Ig@EKAYAe@Ag@?i@@g@Be@DWDQ@G@gALoAP_BPoANcBRM@q@FM@q@FaAFi@DSBc@Dc@DkDPeBRo@H]D_BRw@JWBmAPs@Jm@Fm@FsD`@_D\\S@{AP{@Ju@L{@L}@LSBsAPkGt@gMxAeALmPnBI@iBTu@Fu@Fs@Fw@Bq@@s@@w@?q@As@Aw@CmFQeAE}K_@}I[q@Ca@AmDMwDM_HUgAEkHW{La@cUw@sGUaDMgJ[oCKgACmNg@kW}@q@Cs@EA?w@Gw@Is@Is@Ko@Ms@Q_@IOEu@Uq@SYKWKm@U_CaAoCkA_KiEeAc@}EsBoCkAsB{@oAi@mQuH_Aa@IEa@Oe@Ga@Qq@Uu@Ws@UGAg@My@SMCc@Iy@Ow@KWE_@Ey@I}@EWC_@Ai@AUAs@?W?S?]?A?e@@s@B]B_@Ba@DW@u@Hk@HUDe@FQDa@Hu@Ns@P_@JUFcDz@i@NI@iO~DyKtCG@yHrBMDG@aBb@eFrAaKjCk@NoJfCkG`BqFvAo@Py@Rq@Pq@Nu@Nq@Jo@Ju@HYDg@De@Bs@Ds@Bs@Bs@BoWr@eBFyDJcEJeDJI?E?s@Du@Bq@DSBa@Bw@Hm@He@FC@w@Lq@Nq@NODe@Js@REBsB^u@RqA^{Ab@ODg@Ly@Vu@Ru@Vq@To@VWJ[Lo@Xq@\\s@^m@Z[RUNm@`@o@`@o@b@uG~EiAv@}B`Bc@ZIFo@b@o@`@q@`@GDg@Xq@^q@\\[NULq@Xu@Zk@T[JGBo@Ti@Pi@Pq@Rw@Rs@Py@Pq@Lk@J_@Fi@Hg@Ho@Fi@FyD`@w@HyEh@{Ef@iBRQByCZa@DeBPi@F]Da@Bq@Fw@DG?e@@w@@C@{@?U?[AwCCmACeFI{ACiCEeJQoBCgJQkDEuDGqDG[AE?GAiKOu@CsNUcJOs@AiKQuJQmGKeJO_@A}@AyYg@wR[cJOyNWqACcAA_MScHMeJOoEIiJOyACE?a@AqDGuDGkACeACk\\i@iR[}ACqACI?}@C{@Aq@?G?g@?w@@y@BY@}BFs@BmADgCFig@tAwCHmELkWr@mADm@BkM\\eJVoUn@yd@pAwADiGPgBDO@uBFkCFkBFs@BI?}@BiDJK@_DNYBI?s@F_CRcIr@iDZ{D\\}D\\wIv@{Jz@u@HgGh@_@BkJz@K@cQ|Ac@B}Eb@oh@tEu^bDgAHkUrBw@Fu@Fw@Dw@Bw@Bw@?y@?s@Cu@Cq@Go@Gu@Is@Ks@Mq@Ms@Qq@QOGa@Ms@Wo@Ue@QOGm@WeBu@kD{Ae@Sw@[q@W]MYKe@OMEq@Qq@Qo@MMCg@Ks@Ks@I_@EQAu@Go@Cy@Cq@Au@@y@@M@_@@s@Du@Fs@Fq@FuLnAkJ`A_P`BgALcAJmBR{@HuBTaAJE@_@Bq@HYBc@Bu@Fw@D_@@Y@s@@{@?u@?aA?sJAyJAG?}CHa@?mJAgA?_@?K?iKAS?O?qD?uDA{C?}TCeA?s@?]?[?A?w@?w@Aw@CI?m@Cq@CWAc@CYCC?[Cu@Io@Go@IMAo@KIAk@IqO}Bi@IaBUaG}@gDg@mImAcJsAwHiAeDg@eAO{O_CIA{Es@eC_@{Dk@a@GsLgBqEq@aPaCa@GgAOwB[uAUwGaAmPcCkDg@sEq@qFy@wASqO}BgAQo@IgLeBc@GeC_@wDk@e@GWE_De@g@I}Ce@_C]_C]aBU{Es@m@KuK_BsDi@s@KiJuAyAUmBY{F{@iBWsPgCqDi@cAOq@Io@IKAg@Eq@Go@Ei@AI?u@Co@?I?a@?W@a@@e@@O@m@Ds@Do@HM@e@Ho@Jq@Lq@Lm@Ns@Ro@RYJUHo@Vo@Vq@XA@m@XoFlC_NvGyBdA_HhDiFfCs@^u@`@{C~AuAr@{@`@aAd@eBz@gDbBcAf@kAj@WLiDbBiAj@w@^m@XoAn@o@Zo@Xm@Tk@Ri@NOFSDEBi@J_@H{@Ns@Hi@Dm@Di@Be@@q@@oABI?m@@m@Bg@Bi@Do@Hi@Fg@J]HQDi@Lm@Pk@R_@NGBGBk@Vo@Zi@ZWPQJg@\\e@\\SPSNYTML]\\a@^c@d@g@j@i@p@Y^MPcAtAiBhC[PyEtGoAfBsEnGsEnGIJwApBcRlWuApBuBrCoFrHW^sBrC]f@sIrLY^eDvEaDlEaHrJgDvEsX|_@qPnUw@fAqFvHmCtDW\\qBrCm@v@m@v@m@t@m@r@o@p@s@v@g@h@s@r@yMzMC@uHvHgJfJ]^{@z@iCfCoApAmDlD_E`EMJEDe@d@q@p@IHC@c@b@k@f@MJc@^s@h@k@b@o@b@e@XC@EDq@^s@\\m@Xo@Vq@Vo@Rg@NUHq@RSDg@LyD~@uCp@aMzC_GtAeAVcSzEqCr@oDx@{Bj@s@P[H}FtAeCl@yD~@C@aDv@}Cr@a@LcATsHhByJ~BeAXaB^w@RiKdCE@cJxBODuA\\a@J}HjBc@JgBb@aJxBcCj@oHfBq@PiAViOrDaHbBcDv@oDz@oDz@]HYH{J`CKBcJxBgFnAuJ~Bu@PIB{@RcOpDwJ~BqAZwJ~Bw@RgY~G{JbC{D~@iBb@iCn@G@uKjCgAXG@IBkHdB_UpFiDz@uD|@aCj@gGzAYFc@JGBc@JoCp@w@PsCr@{D~@a@JcAVwBf@}U|F}D|@eDz@iOrDaJxB}OxD}@TaAT_JxBYFoDz@oD|@]HG@GBab@`K{EjAUF}G`ByA\\u@Ri@LoJhCcBb@oDz@_Dt@w`@rJqHhBGBm@LkEfAiGzAGBgEbAiDx@}@TSDqG|A_@JiKfCUF_IlBQFqDz@mDz@gBd@sAZuEhA]HoCp@wEjAg@L_@HwBh@_AVA?}@TiA^u@Vu@Xu@Zq@Zq@Zs@\\QHa@Tu@^sBbAgDbBiAj@g@Vc@Tw@`@iCnAqJ|EaBx@o@ZuGdD]Pu@^wE`CgBz@]R_D|AwDlBy@`@sFpCo@\\q@\\eEvB_@RiI|Di@XyC|AoAp@_GzCqBdAcB|@s@^{DpBuOfIwAv@k@XEBULmJ~EiB`Au@^qAp@kAl@[PmDjBcDbBa@RwH~DaDbBsM~GiIhEcAh@_HnD{C~AqInEgB~@oAp@cJxE}EfCqInEQHoInEmHxDaAf@cDbBcVfMk\\`QeDdBiDhB]NOJIBm@\\cB|@_IbEiB`A{H`EoLhGgDdB_DbBoDjBmNnHaAf@gDfBeCpA_@RsBdAs@^A@q@\\a@PSJq@XMFe@Pq@Vs@Vu@Vs@RSFA?C@UFu@Ru@Pi@JG@u@Ns@L}@PSB{Cj@oDz@QB[F_@F}Bb@mM|Bq@Nq@Lo@No@Po@Po@Rm@Rs@Vq@Zo@Xm@Zs@^o@^q@`@q@d@s@d@mDbCe@ZqAr@uKpHu@h@]Re@\\y@h@cAp@y@h@uA|@g@Zg@\\WN{@l@i@^m@d@k@`@c@`@g@b@m@h@m@j@m@l@k@j@{A`BEBm@n@yA~A{@|@s@t@o@r@[ZmApAu@x@MLeAjAc@d@s@x@gAlAgAlAsAvA}AbByA~AwD|DoEvEqBtBmBpBuCzCg@h@cDjDGDOP{B~B{C`DoExE_A~@cBfBuNfOUTYZo@l@ML_@Zm@h@m@f@UR_@X{BfBWRoCvB]VGD{AjAkA~@cBpAaDdCEBqG`FsDrCw@j@g@\\w@f@o@\\IDi@X{@^o@Xo@Ti@Ps@Rw@T_@HEBG@u@NcARq@Lw@Lw@J{@J_AJm@Dy@Fw@Dw@Bu@B}EN{@Bq@Bu@Du@Dw@Bu@FU@wAH_CL_BHU@cAF{BLsFXyG^eIb@}G^gETgH^uCPW@sDRqDRC?uBJuAHwBLwId@gJd@cAFuCPyCNcH`@_CJSBsAFcETiAHkDP_BHa@B}Jh@uBJ{DTqET{AHK@I@k@B_DPgETE?sJh@aKh@yAHcAFa@BkCPkAHmF^s@DiH`@gE`@a@BaJf@G?G?sCPyQ`AaETyEVI@oAFwAHgDPO@q@DcBJyDRcBJ{BJcAFeFXcGZqFZwAFaDRcCLw@DiAFuBLcDPeAFQ@[@]BK?e@B{@Dw@B_ABiBD}CBeC@oEDY@gGDw@@o@?cA?mAAaAAo@?m@?qA@kA@{AB]?aBBS?oA@i@@S?M?wA@kDDU?_@?uBBqGF{CBuB@kEDoDDI?}CDmDBaGFkEDaA?uD?cFBgC@kFFoMJaABk@@g@Ba@B_@Dc@Ha@Ha@La@Na@P_@Rc@V[T]X_@\\]\\KLON[`@[`@Yb@Yd@Wf@Wh@GLMXWl@Qh@Od@ABOj@Qn@Ml@Mh@QbAYjBy@hF_ArGG\\}@`G{AxJiC~PqAxIq@xEuAxIQdAOfASlAQdAi@dDu@dFi@pDQnAKt@Kv@}AzLe@dDe@fDuDvWeHhg@e@dDG`@If@CPIf@G\\Kd@S`ASv@Sl@Qf@Qd@Ud@Q^U^Yf@]d@eAnAy@|@e@d@i@j@i@h@]\\WRMLk@d@]VMJSPuAfA]ZSP{@~@qCtCeDjDa@b@wAzA[V]Z_@X]T_@Ta@R]Nc@L_@Ja@Ha@FG@g@DS@Y@U?SAYAUAUCWCUEWG[ISGSGe@SaCaAe@SQIa@Q]OSKOKOKKGECOKOMAAMKMMGGMMIIMOOOIMCCMOMSCCIMEGCECEKSMSKSKSCEEKACKUWm@CGq@aBYu@Qc@g@{AWKKWIWGOCEIWIYGWIYEQAGGYAAEWGYG[EYAGAMAEE[AGASE[?GCSC]AKAMC]C[A[CWCa@?EEo@IiAAOA[C]C[AKEk@?CCYEYAQAKC[E[Gi@CMEYE[E[G[EYG[G[EWGYEQAGGWG[IYGYGYIWCIMi@Mg@CIIYCMCIIYGWIYg@iBGUEKKa@IWIWGW?AIYGWIYEQAGGYGYG[CKAMGWO{@Ku@Ig@Ii@Iu@SoBOsAGg@Gi@Kw@Ik@c@qCWeBOaAE]Ie@SeAoBeL","sędziszów|sędziszów towarowy":"ucssHw~kyBoD{IqC_JgHmTyC_JQi@m@gBQg@w@aCqBgGmAiE","gniewięcin apo|sędziszów":"mfnsHi{iyBiB_@iB[oBOkBGsAB_ABsCV}Hz@sRtBmPhBmPhBaBLeBDkBAgBImB[{AYuAa@qBy@mAo@WOiAw@}AiA}A{AoAwA_AoA_AsA_BkCiDoIeDwJ]aA_@kA{DmLSk@GUqCiI","gniewięcin apo|klimontów apo":"mfnsHi{iyBAJdBl@dBr@tC`BnCrBvApAvA|ANPdChDdFzIzAjCnBnCzAhBnApAlAbAzQtN`NbKvCzBjAz@pAx@pAv@l@\\bAh@x@b@d@RhBz@D@zBz@vBp@bDz@pJrB|D~@B@PDjGtA`KxB|VtFtFnA~AZtCn@","klimontów apo|kozłów":"mdhsHw`fyB~PxD~KdC|KbClE`AxJxBjCt@vAj@vAt@`CbBpBjBbBdBxB|BhAjAh@h@d@`@d@`@j@d@n@`@f@Zh@Xb@Td@Rf@Pb@Nd@Nd@Jb@Jj@H`@Fl@Fh@Df@@j@@h@Af@Ah@Ch@Gj@Gd@Gf@If@K|Bc@vAWl@KJC^Gf@Gf@Ef@Eh@Ch@A`@@f@@L?H?L@d@Bd@DD@j@Hj@Hf@JxBGbB\\lE`ArAj@\\H@?xBf@`@HtBd@","charsznica|tunel":"o`rrHuotxBCeA?y@AsA@kA?eAB{@@_AHqEJiETwJVwLHmDDwAJgF@cAB}@?}@?{@A_AC{@Cy@?OEs@Es@KgAI}@Go@Mu@OcAO}@S_AOs@Ss@Sw@Uq@Yw@Sm@Wk@KWKU_@s@[i@[i@]i@_@e@[a@c@g@a@_@c@a@g@c@_@Wa@Ye@Wc@Ug@Sg@Qg@Oe@Mg@Ke@Gi@Ge@Ei@Ai@?i@@c@Bg@Dg@Fg@Je@Jg@Ne@Ne@Rg@Tc@Tc@Va@Ze@^SPQ?c@b@a@b@a@f@UVW^c@j@iA~AySfZm@v@_@d@]`@c@b@c@`@a@\\a@Xg@\\c@Vg@Ve@Rg@Rg@Ng@Lg@Je@Hi@Fk@Dg@@i@?g@Ag@Cg@Eg@Gi@Kg@Ke@Mi@Qe@Sg@U[S_@Qe@]e@]_@[a@a@_@a@_@a@_@g@a@i@]g@Wc@We@c@y@Ys@Yq@Wq@Uq@Uu@Su@Sw@S{@Ow@My@M{@Kw@K}@Iy@Gy@G_AE_AC_ACaAAaA?_A@}@@}@By@DeABu@D{@FeAn@kKDiAFiABcAD{AB_A@aB?yA?kAA}@AYCmACqAGkAGsAImAKqAKkAMmAMoAQuAqA_KQoAUoBMmAOqAIkAKmAIqAGoAEoAEqACkAAsAAoA?mA@oA@y@@Y@_AD{ADaATeFPgGBm@Bq@Bs@@o@@s@?q@?aAA{@AaAC{@E_AG{@Ei@AUIy@K_AKy@M{@My@Q}@Os@Ok@Qq@Qm@EMK]Qi@Sg@Ys@M[IQ]q@Wi@[e@KSKOYc@Y_@[_@Y]]_@MMMK_@]_@Ya@Y]U_@S]S]Oa@Qc@O]Ka@Ka@Ia@Ia@E]Ea@Cg@Ac@?e@?e@BY@_@BeBJU@eAH_@B[D]D[@[@E?_@@eB@U?U@[B_DVe@BS@W?e@?e@A_@Ae@Ga@Eg@Kg@KKESGa@Mg@Sa@QoCsA","charsznica|gajówka apo":"o`rrHuotxBLzIBhB@RHnE?b@DfAB~@D~@FbAFbAJbAJfAJ~@BJTfBjBlNpA|JJv@Lx@Lz@N~@PbARdAPz@T`ATz@V|@Tt@X|@Zx@Xt@Zv@f@jA~ArDZt@Xp@Vt@Tn@Tt@Rp@Rx@Np@P~@Lt@N|@J~@Hz@Hx@F|@F|@@X@f@Bz@@`A@b@?vAArAClAAr@c@zX]zTClAEpAEvAEtAItAIrAKpAKzAMhAE`@Gn@{@pHQdBQ|AQpBKtAM~AIlACXIfBIvA[vGaClh@Cp@KjBIdBK|AItAO`BM|A{@lJK~@a@jEmAtMMpAsCzZE\\OzAQ`BQzASbBSvAW`BU~AWxA_AzFoDhTkCbP{AhJADc@nD","gajówka apo|wolbrom":"{qrrHomexB_CnNW`BObAQdAQpAQrAQrAOnAaGvh@OpAQtASrAQpAQnASlAUrAUnAG^kE~UQbAOx@Kv@Kx@K|@Ir@Ix@Ex@G`ACp@Cx@Cx@?x@?v@?h@?d@@j@Bz@D|@Dx@Dz@Hx@H|@Jx@Hl@N~@Nz@Nr@Px@V`AV|@Xx@Vr@Vp@Vj@Xl@\\n@`@p@Vd@\\f@dBlCd@t@Zh@Xh@Xh@\\x@Tl@Xv@Tp@Rl@Pr@Rz@Pt@Nv@N|@Lx@Jz@Jz@Hv@F`AF|@Dz@Bx@B~@@dA@bAHpJ@lABjABbADfAFnADp@Dr@Df@HfAJdAFj@Ff@J~@Jv@L~@RnAPfAThATjAXfAVfAXbAZhA`J~[X~@ZdAX|@^bA\\~@^|@`@~@Zr@b@z@b@x@d@z@`Vxb@bKvQTb@Zh@Xd@\\f@^j@^d@b@f@`@`@d@d@\\Xd@^^V`@Vb@Th@Vf@Rd@Nl@P`@Hf@Hh@Hd@Bd@Bf@@d@?l@Cf@Cf@Id@Gh@K`@Id@M|HoBv@Sh@MTDREd@In@Ih@Ej@Eb@A`@Ap@?f@@J@l@Bh@DZDPBn@Jn@Lh@Lf@NVJNDd@RVJJFh@Xb@VTNVPTR`@\\^^`@`@^`@\\d@^f@\\f@Zh@Xh@JTNXXn@Xp@Vp@Tp@Rp@Rt@Pp@Pv@FTH`@Lx@Nz@J|@Jx@Hx@Dp@Fr@DjABfA@`A?~@C~@At@E~@GbAIjAKnAMjBa@~EKjAK~@Kz@Kv@Ot@Kn@Ot@Qr@Ol@?@SvAeDdMcApDY~@g@dB","wolbrom|zarzecze apo":"c`nrHuxtwBi@jB_@jAkAtDy@dCY|@[dAqCjJKZyAbFUv@Sv@U~@Or@UbAMl@SfAMv@YlBQpASnBMpAKjAK~AGpAGlACdAC~@CbAA~@Ap@?N?L?p@@vA@|ABfAB`AFnA?PFjABRDv@F~@Fl@Dj@LlAPzAJz@L~@XdBTrANx@R~@`Qv|@pFpYf@fCdAnFVhA@F^`Bd@~Af@bBVr@\\z@Zv@`@`An@zAvB|E\\x@Zx@Xt@Xx@Vv@Tz@T|@Rv@R~@Pz@N~@`@hCpAdIXdBBT|AtJjOhaAl@zDvA|IhDjT~AhKtAvIRhAPfARdAVjAVjAVbAXdAXbAVv@DNZ|@\\`A\\z@Vp@Td@BFf@dAb@z@\\n@Zh@Xb@`@p@f@r@h@r@f@n@`@d@d@f@d@d@f@f@j@f@j@d@n@d@p@f@bEtCh@^`@VDDf@Xd@Xf@Vj@Xb@RhDvA","jaroszowiec olkuski|zarzecze apo":"ongrHakwvBeBqEwAuDwAyDYy@Uw@Us@Qu@Sw@Os@Qw@_@qBm@gDMu@Oy@Ms@EYw@iEi@{CaAmFO{@Ks@Mu@Gc@Ea@MeAI}@I_AGcAGiAC{@C}@AiAA]?c@?eA@eABeADcAB{@FcAH_AHiAHy@PsARaBx@kGfJ}s@DYFg@d@kDh@iE~@gHRuAPmANeADQPkAVsAbNyu@TmAToAPcAToAPmANiALeALoAHw@BSJsAp@}IDo@dAcNJmAFcAD}@B}@@e@Bs@@y@?y@?o@?gACcACeAAOCs@EaAIcAGaAKcAMgAM{@M{@QeAQ}@S}@Sy@U{@W{@Yy@GUKWWq@[w@a@y@IQSa@]m@[g@[g@i@u@]c@_@e@e@g@c@c@II][_@[e@[a@Yk@]]Se@Ua@QmF{BaDsAECgN}FgN}FiVcKOImMoFWK","jaroszowiec olkuski|olkusz":"ongrHakwvBfBpE`@dAb@bAfA`C~BdFj@nAHRf@dAj@nAz@fBZp@^r@Zf@\\h@b@n@f@l@h@l@\\Z^^^Zd@Zj@^f@Xx`@pTnDpBNFZRl@Zr@\\j@Vn@Xr@Xf_@|N~@\\j@Rp@Rr@RRD\\Hp@Lr@J|@JfLtAzc@jFrRzBp@Jv@Hn@Fv@Dl@Bz@@r@?t@A^Cf@Cj@G`@Ej@Il@K`@Gd@Kz@Uh@Or@Wl@U`Aa@r@[dBs@~TmJr@Yx@Yp@Uz@U|@U`M}Cv@Qn@On@Mr@Ij@In@EjAGp@An@?h@?l@@j@Dn@Dn@Fj@Hj@Jn@Ll@Ll@Pn@Rr@Vn@Vn@Xx@b@|@f@~@n@t@j@v@l@nPhM|@r@~@p@n@h@p@f@`ObL|C`C~C`C~CbC\\X^X^X^X\\Z^Zn@j@n@j@pAlAhNbMZVXXXXVXXZVZV\\X\\T\\V\\T^T\\P\\PZP\\P\\Vh@P\\N^@DLZP`@Rh@JZNb@L^Nf@Lb@Ld@Ld@Jd@J`@H`@Np@Lp@Nr@nArGDNbAfFBNFZLn@Ln@DTDXHd@Fd@Hd@D^D`@F`@Db@Bb@Db@BV@VB^B^@XB`@@b@@b@@V?Z@Z?Z@^?\\?\\?b@?X?\\?ZAd@?h@?b@ARAt@Av@Ar@Cp@An@ABDl@ANAj@Ez@Ch@El@?JCb@El@En@El@Ep@KdAIbA}@~Ka@bFGn@eArMIdAKdAGx@Ix@Ix@Iz@Kx@Ix@a@zDIr@I|@","bukowno|olkusz":"ofxqH_kvuBVeFHqAFuAD_AB}@BeA@_ADuKDgGByEAyBAoG?uA@{A@aHGaC?c@E{F?M?eA@gC?sI?sAAkACmAEiAEgAGgAGgAIkAIeAMeAKcAOkAQmAQgACMKmAkBcKQ_AQcAMg@]wAYaAUu@Y}@Qc@]_A[u@{AkDkBaE]y@Yu@[_AYw@W{@U}@U_AU_ASeAQ}@OcAQgAMaAKaAm@uFiA{Kwn@meGoAqLo@mGq@mGo@mGGe@Ee@Gm@Eo@Go@Eo@Cm@Eq@Cm@Ao@Co@Ao@Aq@?o@?o@?o@?o@@q@@o@Bq@@m@Bo@Do@Bo@Fo@Dq@Dq@Fq@~Fet@f@gGh@_Hh@qGn@aI@KHaAl@oH@O^{Eb@cF`@iFBY\\eEDa@Ba@Da@Ba@Hw@","bukowno|sławków":"ofxqH_kvuBYjAYnFKdBM~AIx@K`AObAQbAQ`AoA|GaBxIeApGwUhoAc]piBOr@O|@Mt@Kr@Mx@Ir@Iv@Iv@Et@Ev@En@Cj@Ax@C~@?jAApAGPAxHGhm@?nDAjA?jAAjACjACbAGlAGdAIlAKfAKbAMfAMdAQbAQbASbAUbAS~@Y`AY`AWz@_Ln\\wD`Lw@`CeDrJWr@Wp@[r@Wj@]n@[j@[h@]f@]d@_@d@c@d@_@^c@`@a@Z_@Xg@Zc@Vc@Ta@Pa@Pm@Pe@Li@Jc@Fe@Fe@Da@@O@]?i@Ai@Ak@Ek@EqBOuEc@e@Cg@Eg@Ae@Ae@@i@@m@FWBk@Jg@Hc@La@Nc@Na@Rc@Re@Xa@Vg@^gCfBm@f@m@n@i@l@]b@a@j@_@j@c@n@_AvAc@p@kC~D","dąbrowa górnicza wschodnia|sławków":"k|_rHskxtBFcF@kB@aAp@el@^{ZF}Gc@_DBy@F}CD_DFcFBwAf@yc@^o[B_ABuADgADkA\\cInAsYd@oKjAeX`@_Jv@}Q~As^^kIDcAD_AB_ABy@@{@?}@A_A?{@C{@C_AE}@Ew@]qFG_AGy@E}@E{@EeACu@A{@?}@?_A@y@@_AB}@DaAFy@Ds@Fm@H{@Hq@Jq@Ho@Lq@Lq@Lm@Lm@VaA@ARu@Vw@To@L_@b@iAhA{CrAqD`@eAXs@Tg@Rg@Xk@Xi@^o@`@o@jAiBj@{@j@_AxCcFh@{@l@_ANUrAsBt@iA","dąbrowa górnicza strzemieszyce|dąbrowa górnicza wschodnia":"}karHqdrtBVwAf@iCv@aERgATgATmAZaBbAiFlB}JbCiM~AkItAeHF_@zEuVdBcJJg@bAiFjAmGb@wBf@mCTkATmAPeAHk@Jk@Jw@Jw@Jy@Hy@JcAHcAHeAHgAD_AD_ABs@Bg@@i@BaA@aAB_CTc@BsBFwFPmF","dąbrowa górnicza strzemieszyce|sosnowiec kazimierz":"}karHqdrtB_AxEWrAQ|@aAbF_@pBI^I^ETGVQl@On@a@vAERW~@Md@a@xAI\\IZGZKb@SbAWdBUnBKlAM~AGlBC~@AX?xA@zAD`BDvAD|@HnALrANvAV~ALp@TdALj@FVXbA\\fAp@jB`@`Af@dAt@lA|@pAx@`AfAfAdBpAl@^l@Zj@Vl@RjA\\fATx@PnAXhB`@~E`AnPpDFB`MdCtD~@bAZpAf@B@rAn@hAl@x@h@t@h@hBzAr@p@jAnAfAtAxAxBFHFHzC`F~L`SXf@fBrCnArBHJFJbC|D|@xA|@xAJPz@rA\\j@^h@RZZ`@VZ\\\\","sosnowiec kazimierz|sosnowiec maczki":"se}qHwjktB\\MTNh@Xb@Rf@R`@Nf@Nd@L@?d@Jj@H\\DTBZ@b@@h@@d@@b@Ab@Ab@C`@Ed@Kb@K`@M`@Qt@]v@a@\\S^WTQZUXWZWVWXYTWT[z@iAl@y@FGT[X_@nAcBl@_Ah@u@~GeKle@es@jA_Bv@aAZa@dBwB|TqXrAcBbAuALQfBcCd@y@b@_A^aA\\gAZeATkARmAJw@DWLuAHsADmABqABaEJ_NBgBBgBFcBLcBP_BT_BZaB\\sA^kABKTm@L[d@eAl@kAXa@Zc@l@u@n@k@t@g@z@e@f@Ux@_@r@[ZOXO\\Sb@W|DcCvFiD\\Wb@YZUXW\\]Z[X]X_@Ze@f@y@j@kAx@cB","chrusty nowe|żakowice":"msozHoaywBeBs@sAi@GCsn@sVac@}PqP{GiBg@mAg@kMcFq@Yyj@{TOIaLoEqAg@iDuASGOESGeAUYIUGCAUIUIk@Uk@Yk@Wk@Wm@Ym@Y{@]{@]{B}@u@Yu@YYK[KSGSGSESCSCKASASAS?Q?U@QBSBQBSDE@MBQFSFQFQHSJQHQLQJIHSPSPONONOPOPMRORMRMTMTMTMVKXKVKXKXIZIXIZGZIZG\\EZGZE`@E\\E\\C\\C^C\\A^AXA`@A`@?^?^?^?^@^@^@LBf@@ZDn@Bf@Db@B`@ZpDDf@Df@BZB`@B^PrDB`@ETLzAJ`ABTLtALxAJfALrALrApCb[Fn@Dj@f@tF","chrusty nowe|rokiciny":"msozHoaywBji@fTzDzAlDvAdM`FzH|CzClAnAd@jAf@dG~BlEfBtAj@pAf@vPzGf_@`O`C~@","rokiciny|łaznów":"_rjzH}pvwBPHpGfCbFlBFBhJrDlXnKnHrChk@tTfE`BxEhBjGdChBp@~EpBn@Zj@Zt@`@|@j@v@f@v@j@v@j@x@n@v@p@r@p@b@`@n@p@`@^JLlm@dp@nW~XzA~A","wolbórka|łaznów":"gy{yHifkwBgDoAcE_BwFyBwAg@wHuCy@o@gf@_RwBy@cC_Am@Wi@Uo@[g@Ww@c@w@c@}@k@o@c@}@m@u@i@{@q@s@k@s@m@o@k@o@o@m@m@s@s@e@i@yOwPmI_Joc@qe@sLkMqAwAqAwAe[y\\uJiKwFgG","baby|wolbórka":"y`qyHm`jwBsp@mWwHwCYMcE_B}D}Ayu@}YaE_BcE}Aq@Wm@Uq@Uq@So@Qo@Ms@Mo@K_@E_@E[Cw@Em@Aq@Aq@@u@Bm@Ba@DWBSBS@s@Jo@Lq@Nq@Pm@Po@Vk@Rg@Rub@pQuv@~[o@Vs@Xo@Ro@Ry@To@Ni@He@Ha@D}@Hs@Do@Bq@?o@?q@Ao@Es@Gm@Gu@Mk@Km@Mm@Oa@O[Ig@Qa@Ow@Ym@WuNsFOGiEaB}CkA[KmDuA","baby|moszczenica":"y`qyHm`jwBZLbC`A`@NpEfBhDpAt@XnC`AnAd@z@Zx@ZfBp@vLvEj@Rl@VxqAlg@xk@|TjBr@jAd@dFnBd@PrKfElAf@bI|C","jarosty|moszczenica":"m|ayHshewBaDYaMcAOA{NmA{v@uG}v@sG_e@{DuBSgMeAga@gD}CYi@Ek@Gm@I{@A}@O}@O_AUw@Uy@UgA]m@Uo@UgCcA","jarosty|piotrków trybunalski":"m|ayHshewBlSdBdFb@bBLdBNnd@dEzCXtIv@rLfAzCXjDZjBP|Gn@`E^|AND?`Jx@tHr@pRfBxBRrGl@|ANzMlAf]~CF?F@tIv@pOvAlW~Bd@DhK`AZPl@F`@DhK`A","gawrony|witonia":"kfa}Ha{htBCA_RgTgMaOul@er@SUoKaMcLwMyAmBk@w@k@y@{DiGoFuIAEei@i{@_GqJkFmIeGyJuF_J}IuNkCgE_QwX}@mA}@oA_H_JiDqEsAiBs@_A_RmVkA{AiA{A","gawrony|łęczyca":"kfa}Ha{htBxKlMbO`QxShVbAjAbAjAtAxAj@j@`@^JHx@t@z@r@vBfBhMlKFDnFnEdBxAfBxAnErDlErDDB~AtAr@j@r@j@bCpBhA`Ad@`@b@`@l@j@j@j@tAzAZ\\|@`A|@`AnUfWbK`LfBnBhBlBpE~ErEbFdBnBlBpB|BfCnApAf@d@\\ZLJ|@p@`@Xb@XfAl@~At@rBn@`@J^J~@P^F^D`@D\\Df@Bh@Bf@@h@?r@?t@AjBAtEGfLM~@A|JMj`@a@`EEvBCd@AhEEnGGhCCjCG^AfAGpBWvAWz@Sv@UXG~@_@`Aa@hAo@`Am@dAu@`A{@dAcAx@_A|DaFrBiCjFyG~AqB~GuI","sierpów|łęczyca":"syn|HelitBm@f@q@f@SNaAp@gG|D}OfK_DtBoCfBaU~NwKfH{E~CuL|H_Ar@_Av@sBrB{AhBwAlBq@t@_RrUgElFsEzFkM`PiQzTeIbKiDhE","ozorków|sierpów":"}ze|H{zqtBC@}AV{[dGwAVu@N{E|@oCl@mCl@uAZ}Af@_Bn@yAv@eBlAcJdHkHtFaq@`h@oTtPwDvCyAnAwApAqBrBmBzB}BzCyBbDW\\k@|@cA`BeC`E_CxDaHbLaHbL}JlPkHpLoCrEqCpE_MhSwFhJu@lAs@lAgBrC_A~AcA|Ai@v@i@t@k@p@UXIJMLUTWVo@n@","ozorków|ozorków nowe miasto":"}ze|H{zqtBhHuAxHwAjB[xB_@zVqEPE`KkB`LsBpAWhEy@","chociszew|ozorków nowe miasto":"un|{HgbrtBg@JwAXw@Ny@Jo@Fe@Dc@BU@o@@o@@o@A_DQ_BKwBM}CYkFi@yLmAwAOoEc@cBS{JcAw^wDsAOyYyCsO_BiGo@aCUAAaAKaAIkBKi@AS?U?m@?m@Bg@Bg@D]B[B]F]Dy@N}@N_AP}@PeGfAaCd@w@LiATkB\\","chociszew|grotniki":"un|{HgbrtBzBg@zD{@vMuC~A]l@Mp@O~SwEhAUta@aJjCm@lDw@vA]j@Sh@SbAc@`Ae@TMJE^W~@m@r@k@r@m@p@o@p@q@p@w@p@y@n@}@n@_Aj@_Aj@eA`AoB^y@\\{@h@wAh@yAb@yAPm@Nm@^{A^aBToAToAVaBTcBNoALqANeBNiB@E\\kEj@gHj@iHxAqQ|@_L|@_Lj@iHXuC\\qC?AV_BZgB\\iB`@eBb@cBl@qBn@mB~AsEdB}Er@mBXw@J[JYdAkCVk@Vm@n@mA`@u@P[NUb@q@b@q@b@k@`@i@b@i@d@g@X[Z[Z[ZYRQv@m@h@_@j@_@vAw@n@[VMVKj@Sl@Sh@Oh@M~A[l@In@IlBWlAO`Dc@PCDAnGy@","grotniki|jedlicze koło zgierza":"keu{HmuztBjC_@zDg@xASpEk@jHaA`AQhCo@TIZKXMd@Sd@UtBeA|BgAzBiApE{BzGgDzQaJzAw@vBeAl@]l@_@l@_@j@c@h@c@h@e@j@i@j@k@n@s@r@_A`@i@^k@\\i@b@q@Xi@","jedlicze koło zgierza|zgierz kontrewers":"uuq{Hur|tBb@w@Zo@\\u@b@_ABK^_Ad@mAL_@Pe@J[Z_Af@yArAaEh@cBf@cBPq@Nm@Nq@Lo@Li@Ji@|@mFjAoHN_ALy@L{@L_AJaAJ_AJcAFy@HaAHmAL_CNkCDy@Ba@Be@DaAB}@B_A@eA@{@?gAA{JA}E","zgierz jaracza|zgierz północ":"ysp{HmmpuBgC`GmHbQ[t@O`@IRUn@Wv@Up@Ut@Ut@St@S|@Op@Qt@Ov@Q|@Ox@Kp@OdAMhAMbAKbAI~@I~@IdAEbAG`AIdC{@`Y_@~LIvCAr@Cv@Ar@Ax@?x@?pBBbCBv@Bv@J~Cb@rLBp@\\bJDdABbABbA@fA@hA?~@?p@Aj@?j@C~@C`ACdACz@E~@G`AQvCAF]|EUvC{@lLq@nJ","zgierz|zgierz jaracza":"g{l{HsepuBe@e@mCaCyCmCkSaRw@c@w@q@yAoA_Ay@_Ay@][u@q@_A{@SQy@w@a@_@g@e@c@_@YY][cA}@][]Ya@Wa@UOGSIa@Oe@Me@Ma@I_@Ga@Ec@Ce@Cg@AU@K?K?k@DWBWBq@Je@Jg@Lg@Pe@PYLYNs@b@q@d@q@f@qDnCwAfAEDqAdAWVYVe@d@g@h@e@j@e@l@e@n@c@p@a@l@SZOZOXQX_@v@MVKVs@|AWl@Q`@}CnH","zgierz|łódź radogoszcz zachód":"g{l{HsepuBxApAf@d@RRr@p@^\\RRDF`@b@VXXX^^ZZdCzBrBnB~@z@`Az@RNVRRNVRZRXPZPXNXN^NDBPHVJ\\LTFXH`@J\\H\\H`@FTD\\D^B^D@?`@@f@@j@?r@Aj@CbAIbBQ`D]nCYfAKFAz@Ix@Kp@Gz@Kx@InAMv@IdAMv@IdAKt@I\\C^EnAIt@Er@Cf@Af@?D?`@Al@@`@?~@Bx@Bz@BlAHF?nG`@z@Hb@Bn@H`@F`@Fb@Fr@NfAVh@Pj@Pl@Rh@TTJJDDBD@FBJFNFLHNFNH","łódź radogoszcz zachód|łódź żabieniec":"gnh{HscouBDBJFLHLFPJPJh@ZhHlE~AbAjAp@pAv@rAx@tAx@jBbApE`CdCrA`DbBfAl@bQdJBBrGhDxDrB|Ax@bBz@|BnA^RhB`Ap@\\hAl@fDfBxAt@h@Tv@\\t@Tp@Rl@Pl@Lp@Ll@HD?h@Fr@FdBF\\?h@?r@Ab@Ap@Ep@Gp@Kp@Kn@Mx@Sl@OzQiG","łódź kaliska|łódź żabieniec":"ar|zHynquByCjBMHwHzEqIlFSLYN_@R[NWJYJUHUFUF{@RWFWF[JWJIBMFYNWLWNQJEBSLo@`@g@JIFOJGBGDKFwChBQJCBgC|AgC|AMHGDGDGBGDGDGDIDGBGDiCxASLOHIDoBfAKFGDGDGDIBGDA@EBGDGDGBGDIDGDGDGDGDMFMHeC~AKDGDGDGDGDGDGDGDIBGDGDGDGDGBGDGDA?GDGDE@A@GDGDOFu@b@]R[PSLYP]P_@TED]T_B`AuBpAy@f@mBlAWN]TGBYR[Ra@TeAp@aF|CqFhDoMbIcDrBcDrBIDyCjBiC~Ag@ZkAt@o@^y@h@ULSLOHQHULYL[Nc@Pu@VcEvAYHuBr@cDfAeH`CeCx@gFdBgA^sBp@","łódź kaliska|łódź pabianicka":"ar|zHynquBRe@bA_Az@u@bAaAFGnCmCXYFERQXYBCZYFElAeAVU@AJIVUJIRQLKJINOHGJIHGJIFENMRMDCNKHEPKLILIHENINIRILIbAe@VMhB}@~Au@|BiALGTKDATKTKXKVIZITGXGTEr@M|NeCfB[jCc@`F{@`@I^Gb@KjBa@dE_AFAFAjCk@zA_@HAt@Q@?`@IbAUhAS`@I^GHCh@GFA@?FARCNC\\CTCl@GHA\\CNAPAPAXARA@?PA`@AnCKXATAVCb@C`@E^E^E^G|IsAh@I\\G\\I\\GVSRERGPERGXKZKb@Q\\M^QVKp@[bAe@TKPIBATKb@QXMb@Q`@O^Ov@W|Bs@^M^M^OZMTIPI\\OnEqBn@Yh@W\\QNIJGZQHGPKZSVQj@e@l@i@t@w@`@c@b@g@t@aAl@u@f@q@|@kAxAkBvC{D","łódź chojny|łódź pabianicka":"}quzHis~uBU|EC^AZ?XAv@Az@ATA|@ErBErAMzBGnA{@bQk@~Ks@~MMlCK`BK|AIrAKhA[vDKlAEf@Eb@Cf@C`@Cv@A\\Cx@?l@AhA@x@@tA@dABr@@d@Bf@Dd@@XHbAJfAHv@Jx@Jn@Lp@XxAR~@H^FPDRBHFRNd@Xz@JXVr@Rb@b@`Ad@dA|B|EbD|GtChG|@lBf@hAZx@l@bBHXPj@J^J^Jd@XlAVvAHf@Lz@Hv@JbAJjADz@Dt@Dn@@b@BdA@v@?r@?X?J?PA|@Ax@CfACf@C`@Et@Cf@C`@Ip@C^Kz@Kz@SlAGb@Oz@oAnHeBzJaAxFY|A_@nBKd@Ml@Oj@Mf@Mb@Od@IVIVM^O\\Qb@S`@Sb@]p@Yf@e@r@]h@C@g@r@_@L[b@}ApB_AjA","łódź chojny|łódź dąbrowa":"}quzHis~uB@IFaDVqERoEHsBBw@DuA@w@?c@?gAAoACgACu@E{@Ck@Ee@Es@Ee@Iy@Io@Io@O{@SmAMk@Oq@Qs@Mg@Qo@Ma@_@cAQe@c@cAO[Q_@[m@[g@[g@KQa@g@]c@Y]_@a@[Yg@e@e@]a@Y_@Sg@Y_@Qk@SIEWIUG]Ks@OeB[m@MqB[qASo@IMA}Da@gAOcDi@sDm@}AWeCc@","łódź dąbrowa pbs|łódź zarzew":"ktwzHusavBiCc@i@KwAUqDs@qCo@QEiBa@_AS_BUgAO_@Es@G_COyBMwAKcEWaO{@oAImHe@sAIaAGo@CwBOkAIkCOeDS","łódź widzew|łódź zarzew":"me}zHgwfvBm@tHGn@s@jHo@fIa@fFJp@IlAUfE@r@Et@GzAEnAAv@?z@?z@?|@Bz@Bx@Dz@Dz@Fz@Hz@Hx@Jv@Lx@Lx@V`B\\hBNt@RbATbAVjAXfARt@Rr@ZbA\\dATp@Vn@AN\\x@\\v@Zn@Zl@\\l@\\l@`@p@b@n@b@l@b@j@TXVXZ\\`@b@b@^NN\\Z\\Xd@\\f@\\ZR\\R\\Rj@Xl@Vb@Pb@P\\Jd@Nn@NZFXFf@Hn@Hn@Ft@Ft@Df^vBz@F","sosnowiec dańdówka|sosnowiec kazimierz":"coxqHo_`tBCgAC}AAkDAwAA}Ag@s]EiDAkACgCAuBAsAImEIaFC_C?CAaBB}AB}AHqBNgCd@}GTgCN}ALgBFiAFuAB_ABkA?}@?{AAkAEcBIeBGaAKoAKeAE_@Ge@Ik@O_AMw@Oy@Mm@U_Am@_C[oA}WyeAMg@q@kCCKo@cC]sAUu@Uo@Uo@Wk@Yq@[k@Ye@Ua@QWOS[a@SWOQOQSSKKGGYWWS_@[e@[eAm@{@c@_Aa@qJgEi@Wc@Sc@Ua@Ya@Y_@Yc@_@KKo@q@_@c@]c@AAYc@]g@[i@o@cAo@iAEIGG_EcHeAgBkDaGcEeHsBkD_@k@Yc@c@i@[_@_@c@a@]a@]_@[g@]_@Ue@Wc@SMGSIc@Q}HwCkCaAwAi@g@Sm@Y[Q]U]Ua@[}@u@i@g@UW","sosnowiec dańdówka|sosnowiec południowy":"coxqHo_`tBFdFDrCPhLHxFFpDLxHHfFH~FDtCJlFR~L@|@HpFJxH?r@?x@C`AAz@Ez@E~@Gt@Ix@Gr@Kv@QlAUxAsAjIQpAKt@Gj@IbAIdAEbAE`AAv@C~@?P?p@@xBB`AB|@D~@F|@HjA@@N|A^dCZfB`@vBV~Af@rCl@jDl@fDLv@N~@Lx@Ht@Fp@Hz@Dv@Dx@Bf@@V@L@z@@`A@~@?|@?~@A|@C~@C~@G|@Gz@I~@MfAIp@M~@Mz@Oz@Mt@Ml@ADQv@Sr@Sn@M\\_@dAQb@{@nBMXUb@m@fAs@nA}@~A}@zAiApBkAnBa@n@c@n@_@h@c@j@mB|BGFILaFdGiFlGiEfFa@h@aBhCWd@MV","katowice zawodzie|sosnowiec południowy":"k|vqHwthsB?_CB{AD}ALsDRsFDoAHoAL_B`@sEPaC@kBLgEL{EVaHH_EF}FDyC?qDG}FKyFSqGYqGi@wIm@cJcDif@UkDOyBMyCOuCo@aIu@cJa@cFCa@YiEM_CIcAEw@W}D]sD]kD]iEw@{KWiC[mBe@uB]mA}@oCeA_Di@{AcAgCkAgCqAyBi@y@{@kAmA{ASUw@}@cAgAkC{BoCqBqLwIeHeFsCsBe@]uCcC_BkA{B_By@{@s@u@Y]MSIOYk@KSIWKYGQQq@Kk@Ko@QyAGo@Eq@Ck@Ao@?_@?_@@M@s@Ds@B[BY@K@KFYFa@F[H[HYN_@L[N[","warszawa gołąbki|łowicz główny":"w{s}Hsmi~BB\\Dr@Ft@Fz@Dj@Fv@Ft@j@vGNlBH|@N`BV~CD`@Fx@Fr@Fp@Ft@Dh@Fv@F~@`@dHR|C?@VfE`@|GB\\Bh@@HDt@Dz@Bv@Dv@Bx@Bv@@L@h@@v@@v@@v@@v@?v@?x@?v@?rAAtAEdGe@pj@Ar@Ap@IbJAtAArAAhBCdBAjBChB_@ve@?JQzTW~ZI~HA|BCvAAtAC|AApA?JKxIC|A?LAb@E|CGbGSfPAdAAdACzAAxAA`BYf]A|BGbHGbH?TAhBA|AArB?\\?J?JAdBAdBGnOApEAvAAvAAxAAzAAdAAbAGhIClCEvEA|AAxACxA?|ACzAEdFApBEhFQzTOfQCnD[f_@ClDAx@?x@AnA?|@?~@?|@?X?b@?z@@`AB`A@`ABv@Bz@D|@B|@Dr@Bj@Bj@Fx@RdD`@`Gn@tJnAlR|@fN`@dGf@rHtBl[hDpg@zEls@hBlXVnCXhCd@xDn@hEvBxMp@jEp@hEThBPjBH|@hAjPv@vLnBnZd@tHrBf[t@`LdA`PJnBHfBFrBBlBBvA?zA?dBCzACvAEnBa@nIe@~JI`BG|ACbBCvCA~A@|J@z_@?fF@zD@pABlAFpAFhAFdAJnALbAPlATtA`@tBl@hCvGdXvCvLp@lCjKtb@nNjk@vJx`@DNrAlF^|AxBxId@rBb@lB`@tBRhAPbAHf@PrANpANlALxAJnAJnALdCDfADlABhABdAFfMFhMDpH?LFlMNh^@`AF~KHjR?R?L@^DxJFvLv@jfB@rC@dAXbi@DtJFhJ@zCB|EDbH?NDhJ?RX~j@@bB?`B?xAA~A?jAC~AAbAE|AEpAEnAGrAGzAGfAMbCUnEuCth@aCnc@_@dHm@|Kw@nNiA`Tg@fJ{A|XmBx]AH?Lc@rH]~GqB~^eBn[aAvQeC~c@gBn\\qBz^wAxWmObsCo@nLuFldAqObuCyDvs@UfE]nGGfAmAvTeFd`AGrAoBx^]jGaHvpAAH{Dtt@m@pKkB|]mDjp@gGriA{@|OMzBK`CIfBEnAGzAEzA?LCz@M~FIhEEvAaBdx@q@r\\oDjgBkAbl@GlCE~BGxBG`BE|AGlAK|BOhCsCvb@kGv_Aa@nGoBpYuKjaBwBz[Gv@ObCY|Do@pJIxAK|AGzAG~AAnAApA@pABrADzAH|ALzANzALfAPfALv@Px@Ln@Pr@Rt@Tv@Tx@hCpI|@xCjAzDxBnHrAnEdAlDlC~IhCxIvDfMBHb@rAX`Ap@|BdB|Fb@tAZbA\\bA^`A^`A\\v@\\t@^t@^r@d@x@d@t@R\\T\\h@t@p@z@r@x@t@x@t@r@tHfHlCfCfD~CDB~@x@vAfAvA|@n@\\l@Vh@T~@\\^LXHVHjBl@tQxFh@P`@N^L^Lb@PZLXLJFZNXNZNXPVPZPDDXP^V\\V\\Vl@b@zCxBFD`D~BhBpAr@f@HFfI`GhCjBfEzCbQfMz@l@`LfIVPDD\\V\\VZVXTZVXXXVXXXZXZPRPRPRFHDDDFRXTXT\\V^V`@V`@T^T`@`@t@b@t@zCtFpCdFdG|KhEzHbGzKlAzB`@r@pCfFrIvOn@hArAdCh@`Ah@`Al@hAdB|CPZlC`FfB`DXf@|L`ULRdDdGf@~@f@|@hBbD~GdMR\\T`@vNxWDHb@v@fCtExB`EBDXf@Zj@pEhIfFlJ`CjErAbCBDDH\\n@DF`@v@Zj@Zh@Zf@JRLTZd@Xd@Xb@FHPVPVFHPXRTRXRXRRPTTXTVXZ@@Z\\XXZZZXZXLLNL\\XZXDBZVZV\\Vf@^dAv@v@l@XRnDjCpEfDdIdGJF|BdBpU~PNJb@\\bD`C`D`ClBvAp@f@t@h@l@d@n@d@LJNLZVXV\\XXXZV\\\\XXVXZ\\X\\VZV\\BBVZTZV^V^V`@LPFJNVPXNXT`@Vb@Tb@@DR^Td@Td@`@z@\\r@~@pBt@`BtFtLlEjJbBrDf@fAbE|ItChGnFlLfA|B?@Xj@|B`FlAjCf@dAb@~@lC|FjFdLxDjI`@x@Tf@Tf@Pb@LVLXL\\Tf@Th@Rh@Rj@JVHRFRBFVv@Ph@Ph@Pj@DLH^Pj@Pl@XhAZhAzA`G\\tANh@rDzNfDrMNn@pEhQbF`Sj@zBVbAn@hClBlHVfAzHrZfAdEJb@\\rAhCbK`Ndi@XhAXjAPp@Np@Pr@Px@Ln@Ll@TjATnAdIhd@RhA|@bFf@pCTpATpAbCfNHh@r@zDjBtKzBjMjElVb@bCb@dC@DfAfGHf@DPnBxKVxABJBLl@lD`AfF`AtFfAjGNt@RjATlA`Ltn@XbBz@tEvA|H~@hFdAdGrC~Op@tDpFjZ|Fb\\RfAX|AnAbHhEzUvChP\\hBRjARhAJn@Jn@Lv@Hj@@BHp@Jr@Hr@Hn@Fp@BTDXBZ@J@JBTBZDf@Dr@Fx@Bf@Bb@Bd@Bd@Bj@Bt@Bp@B~@@f@@j@@p@@p@?t@@r@BdBDvE@hB?b@BbBB~C@fAB|ABlAF~D@R@`ABxABvA@xADvD@dAFnIP~QDdF?h@BzB@z@@p@@p@@v@@v@Bv@Bn@Br@Bp@Dl@Dl@Bj@Dj@Dh@Fj@Dh@Fh@Fp@JlALjAhBjRVnC@FH|@JdAFd@Dd@Dl@Dj@Dl@Dh@Bh@Bf@Bj@Bj@Bh@@h@@h@@h@@h@?p@?r@?Z?h@?h@Aj@?\\Cn@An@Ch@Ah@Cj@CZA\\C^Cb@Ef@Eh@Eh@Eh@Gh@Gd@E^CVG`@E^Gb@Ib@Ih@Ib@I`@Kl@Kf@Kb@Kd@I^I\\Qn@K`@M^M`@Qj@Qh@Sh@Qd@GPKTSf@Uj@Wh@OXOXMVS\\QZWb@QXQXU^{@tAABILiBvCGJy@nA]j@]j@W^GJ]j@cCzDW^}@vAiAfBaBlCc[zf@U`@W^oApB_CxDk@~@g@t@e@t@U^}@vAcA~AcA~A}@xA","kutno|łowicz główny":"}sw}HkuauBjAyEDOxA}FLe@DSDSJ_@FY@IJe@Je@Je@?ANy@j@mCP}@Jm@DUNs@Ns@I[BMTcA?CP}@RaAPaAJe@F[Ji@Jm@\\iBDULw@F]Jo@Hg@@GLu@DUFa@Hi@Hi@Ho@Ho@Jy@Hs@BM?CDa@Hs@Fq@Dc@@KDo@Dm@Dm@Dq@Ds@Bq@Ba@@M@o@@A@s@DsA@g@Bi@?UD}BFcD@s@NuIHyE?IBoAvAg|@@o@@a@BuABwABwA@wA@y@@y@?{@@w@?w@?}@Ay@?{@Ay@As@A}@C{@A{@Cy@Ey@Cq@Cg@Ag@Ci@IuACa@Es@IuAIuAmAaSEs@Gu@{HcpAu@uLsHqmA}AuVe@_IyCcf@sBm]YmEq@kLaAyO_AiOgBi[YeIIcFA{CBkEHmFPiETcEtAmRxJcoArLc{AnD}c@n@eIhRoaCzSelClJolAJeBJeBFcBFcBV}OVes@Ves@t@irBJyXD{KDmL@sCBmC@iABkADqCF_BF{AFcBJeBLwBNwB^kFf@gHd@qHxAsRJ{Av@{KRmC\\kFd@sGl@gIvAoSXwDVsDXwDZsDXqC`@cDRwARwA`@gCb@gCrAoHF]BObAwF~@iFvDaT`Jug@`Jsg@`UmpA|DuTxDuTvJij@r@_Ev@_ErBuJtBgJrBaJfFeUjMgk@zT}aAxT_bAhBaIx@qD~CiNbI_^x@kDv@mDnByIbFwTfLug@tHq\\FUjBiIp@qCr@qCt@gC`@kA^kAnAgD~A_E`A_CbA_CbC_GhG_OpO{^pFsMpFqMbNe\\l@yAl@wAvAsDx@aCZcAZaAl@yBh@wBt@aDXyAXwA\\yBh@eDn@mEl@kEzA{KpDmWx@aGzCkTlAwIlAuIdAqHLaAtAyJtDcXx@{FbBwLbFg^bFi^nA{IlA{I|CyT|Hqj@pAeJpAcJnAaJd@sDb@sDPaBPaB^cEp@gIr@gIdBqSjEah@lBgUn@yHX}CV{CvH{}@xA{PJqAp@eIp@_IbBaSfEag@t@wIl@eHJmALmAFq@Hu@Hu@Hq@@IFi@Hq@Js@Hq@Jq@Hc@BOJq@Fa@DQLq@Lo@Lq@Lq@Nq@No@Nm@Lk@J_@DQPq@Pq@Ng@Pm@Pm@Pm@J_@l@sBjHcV`BuFtAuErAmEdEkNfH}UjHgV^mApDyLbCgIz@qChCwIjGwS@E~DyMzDoMJ]bHsUtBcH|Oai@X_ADMV{@X_AVy@La@Pk@Pk@Pg@Pi@Pe@Ts@Pa@Nc@Ti@Rc@Pa@Tg@Tg@P[N]Ve@Vc@Tc@T_@T_@HKZi@\\g@T[T]V]NS\\a@Za@VYVYTWNQTSRSRSVUXWXURQXUZUXSXSZSNKXOVQXOj@[j@[r@_@FCFC^SfG}CnDiBPKB?ZQ^S^Uf@Yl@a@TOZU\\UDEXSXSXUz@q@XWRQTSTS^_@RSRSPQPQPQZ]Z_@p@u@X]PURUNSj@s@f@u@\\e@Ze@NSDIf@u@Xe@JOv@oAbA_BfAeB","łódź andrzejów szosa|łódź widzew":"ywxzHysuvBQDOHQFGBQHKFQHQLSLWR[V]\\WXWZW\\a@n@U`@[n@i@dAsAnCg@fA_@x@Wj@a@~@o@dBmCrH{CrI}CrI_DpI}@`CaAdCm@bBo@bB}AhE{AhEo@dBo@`Ba@~@a@`AwDpIcFbLgB~D}@~B]~@[`A[`A[bAWbAWbAm@jCUhAQdAe@rCa@rC{Ihq@mHzj@gFj`@a@`Da@lDa@pD]xDYjDs@bJw@zJCX[vDEn@Gp@E^]nCE^El@Gn@QzBuAzQs@rIo@nIyA~Q_B`SYlDs@zIg@hG","łódź andrzejów szosa|łódź olechów pzs r82":"ywxzHysuvBPGPEPELCJAJADALCRAXAVAZ?`@?jABD?H?J@R?fBD\\@XAd@CtAKpEY~@Gp@Ej@?^@V@`@Db@FZH`@JZJ`@Nd@VZP`@XLHXVZZd@d@XZpAzA`AjABVt@~@TVTZT^PXXf@Vh@Rf@Tl@Tt@Tx@Nr@Lp@Jl@Hj@Hr@Fl@JnAZjEZhErBnZ","łódź olechów wschód|łódź olechów łoc":"knvzHgbrvBg@cH?EWaDWqDGu@]qEGaAEe@Ec@E_@Ge@Gg@","łódź olechów pzs r16|łódź olechów wschód":"ssvzHgfsvBFf@Fd@D^Db@Dd@F`A\\pEFt@VpDV`D?Df@bH","łódź olechów pzs r16|łódź olechów zachód":"ssvzHgfsvBFf@Fd@D^Db@Dd@F`A\\pEFt@VpDV`D?Df@bHh@dHNhBHlAVpDP~BHz@J~AH|@dApNzAtS~Cnb@n@xI^`F`@zFFr@|@vLVnDBXjAxOB`@\\xELdBLfBJbB@FJzAx@|MJdB^~F@PV|D","łódź olechów wiadukt|łódź olechów zachód":"ehuzH_chvBAw@IuE?O?OAUKuHIqFGcECuACuAAs@C}@C}@Ck@?EC}@E{@Ak@E_AE_A?GEm@C{@Gy@E}@AYC[Eu@KgBKeBc@yGEu@Cc@KuA?KW}DK}AI}A","łódź olechów pzs r3|łódź olechów wiadukt":"ssvzHgfsvBFf@Fd@D^Db@Dd@F`A\\pEFt@VpDV`D?Df@bHh@dHNhBHlAVpDP~BHz@J~AH|@dApNzAtS~Cnb@n@xI^`F`@zFFr@|@vLVnDBXjAxOB`@\\xELdBLfBJbB@FJzAx@|MJdB^~F@PV|DH|AJ|AV|D?JJtABb@Dt@b@xGJdBJfBDt@BZ@XD|@Fx@Bz@Dl@?FD~@D~@@j@Dz@B|@?DBj@B|@B|@@r@BtABtAFbEHpFJtH@T?N?NHtE@v@","łódź chojny|łódź olechów pzs r3":"}quzHis~uB@ITiEESPcBPeBJeAJmAHkAFaALqCt@uNH{A|@}Pd@wHh@wHl@iHjAuMnAwMp@eH`AqKRgCNkCDu@PcETwEFaBHcBBy@D}@@}@By@@{@@}@@_A?y@?{@?S?m@Aw@Au@A_AC_ACw@Co@Cm@Ci@C_@?G?CEw@G{@G{@MgBUwCS_CW_D{@sKUoCEq@_@sEGs@OkB[yDIgAImAEk@Eq@Gq@IqAIwAMwBa@kGCa@Ca@AUAOCg@Ac@Ci@Ci@Am@Cw@Aw@IuE?O?OAUKuHIqFGcECuACuAAs@C}@C}@Ck@?EC}@E{@Ak@E_AE_A?GEm@C{@Gy@E}@AYC[Eu@KgBKeBc@yGEu@Cc@KuA?KW}DK}AI}AW}DAQ_@_GKeBy@}MK{AAGKcBMgBMeB]yECa@kAyOCYWoD}@wLGs@a@{F_@aFo@yI_Dob@{AuSeAqNI}@K_BI{@Q_CWqDImAOiBi@eHg@cH?EWaDWqDGu@]qEGaAEe@Ec@E_@Ge@Gg@","retkinia|łódź pabianicka":"k`yzH_aouBMo@kAeGqAuGyBcLq@kDCcCMm@{A}Gq@yC[sA[{Au@sDw@aE[aBG_@COKq@K}@IaAC_@Cc@Ca@Aa@Aa@?e@A]?C?a@?Y?M@c@@c@@g@Ba@Bg@Bg@B]BW@QDa@D_@Fa@Fa@D_@F[FYFYBSHYHa@La@Ja@J_@JYL]L]LYJSHSHOHQLSLUBCNUNSNSPSNQJIJMJKLIPODCJIRMPKNIPGJGRIPGFCFA@?l@STITGRGFANCHCh@GFA@?FARCNC\\CTCl@GHA\\CNAPAPAXARA@?PA`@AnCKXATAVCb@C`@E^E^E^G|IsAh@I\\G\\I\\GVSRERGPERGXKZKb@Q\\M^QVKp@[bAe@TKPIBATKb@QXMb@Q`@O^Ov@W|Bs@^M^M^OZMTIPI\\OnEqBn@Yh@W\\QNIJGZQHGPKZSVQj@e@l@i@t@w@`@c@b@g@t@aAl@u@f@q@|@kAxAkBvC{D","retkinia|łódź retkinia":"k`yzH_aouBz@nDFT@JBHBJpAxGrGp\\f@fCl@|C","łódź lublinek|łódź retkinia":"{otzH_zcuBc@m@oAeB_B{BCC}\\ce@KMwByC[a@mFoHu@cAi@u@e@q@[g@c@u@U_@_@s@]q@Ug@MWUg@O_@Uk@M[Ws@Qe@]cA[eAY_A]sAWiAQs@Mq@}BkLqD{QwAkHwAqH}CwO{CuOkJwe@wCkOCMCMuC{NkBoJi@oCeB}IYuA]gBYuAi@qCqAwG","pabianice północne|łódź lublinek":"axjzHqv`uBMKQOQMOMSMOKOKOIOIIEIEQIYM[K]M]K_@K]G_@G]Ga@E]Eg@Ec@Eo@G}_@oDe[sCkTqBgCUeNoAWCuFi@uTqBgCWiGk@SAUCm^eDwSoBw@GUC_@C}@Gm@Cw@Cu@Cq@Ay@?s@?w@@kQP_@?_@A_@Aa@A_@E]Ea@G_@G_@I_@M[Ka@O_@QQISKUM[S]U[Y[W]YYY[]Y[?AW[Y][e@]e@oCsDmAcBg@s@]e@yEuGcDqEaByB{AwB}CgEu@eAGG","pabianice|pabianice północne":"cwhzHuz|tBg@kAYq@i@oAUk@a@{@cA_C_A_C}@yBy@uBe@gASm@Uk@k@}AgAwCcAqCsCeHgHqQSi@oBaFGMGMqBeFyFuNmA{CWk@Se@Ug@Sc@Ue@MWQYO[U]OWU[EGGISWMOOSSSOQQOOOQQBI","chechło|pabianice":"yxezHcsutB{AkG_@}Ae@mBS{@Sy@S{@YgAUcA]mAWaA]iA]iA{@wCqHgWkEaOeNud@IWkKi^mGmTkA_EIWq@}BaAcD[eA[eA]gA]aA_@eAa@eA_@eAkDuIgAqCaAeCeAiCw@oBq@eB","chechło|dobroń":"yxezHcsutB`D|MrPtr@jHlZhIf]DNnOjo@xKnd@fKxb@DTbDrNBLtCvL","izabelów|zduńska wola":"oa_zHcvlrBaA_i@k@_\\Y{NIoECaBEkB?y@Ak@?{@?oA@qA@oE@_BAiB?{ACmBc@y^CuBAKCqCUgR","izabelów|męcka wola":"oa_zHcvlrB@TZbQ|Abz@bArj@^lRB`BB|A@rA@nA?pAApAAzAAhAGlEc@x\\KpHaBpoA[fVWhRAvAAtA?rA@pA@pADrAD~ADbBFbBHhBn@`Rp@fRVlH","męcka wola|sieradz męka":"y{~yHs~_rBVxGpAf^T`HTrGF|Ah@|OVrHLbDhAb\\^hKNfEDtABpABtA@fA?H@rA?nAAnE[vcA?VC`HOxe@G|VE|JA|D?~AC~AApAAh@Cd@EjAGlAKnAMlAK~@M|@O`AQ~@Sz@Sz@U~@Y|@Wv@[v@Yt@]t@q@nA]l@_@j@[`@a@j@kAxAmDjEiGxHa@h@[b@_@j@[f@MTOVYj@]r@Wj@Sj@Ul@Od@KDK\\Mb@Qr@Md@Mh@Ov@Q|@Mz@M`AKz@KbAMrA{@~I","sieradz męka|sieradz warta":"}a`zHshrqBa@jEOzAQhBMbBOhBK`BIhAItAGbAGfAE`AC|@A\\C`ACxAAvAAtA@pA@vA@nADlADtAFtAFnAHpALpAJrANnALlAPnAPlARnAd@lCbHra@jEhWfBbKp@bEr@~DbIre@Z`BVxANv@Rz@Pv@Tt@Tv@Tp@Vr@Xn@Xp@Zl@h@bAh@bAfEpHrItNbFzIf@~@\\l@BDb@z@Xj@Xl@JRf@pAVr@Tr@","sieradz|sieradz warta":"ewbzHy}ipBJi@xC}NLo@dAiFdFoVNo@jLsj@^gBNs@Lu@Ls@Lm@PiAPoANiANsALkAJsAHiAJuA`@iG@ErEur@h@eIHiAJkAHiALmALiANmALeAPoAVaBTaBD]lKuu@xE{\\dCgQPgAPiALw@P}@Rw@Ry@Ru@Tw@Rm@To@N_@N]N]LYN[Ra@Ra@\\m@`AkBTa@nMeVla@cv@lDuGpEqILUnGaMfXkg@pBuD`@u@b@y@^u@Xm@Xq@Vk@Xu@Ts@Ru@Tu@Rw@VeAVgAXoAR{@z@sDPy@Pw@Nw@Nw@Ly@J{@Hu@J_AFw@FaAD{@D_A@{@B_A?{@@_A?cD?qE@qg@Bcx@Bky@?{A?yAAqACsAAqAEyAAk@AUg@iSEmBE{AI{C]sJCuAMiFq@eXW}Ka@sPIaEOsFGeCO{DI}BEeBQsGEgBM_DMsDKmCCq@GaAG{@Gw@Gg@Gk@Io@Ik@QkAMs@Os@Oq@Qm@K_@K_@]eA[}@Qa@[w@Wg@Sa@Wg@S]qAmCuAcC]k@_@s@Uc@]q@]s@Wq@]{@Yw@Ww@Y_AUw@gAeEa@uA]mAYaA","retkinia|łódź kaliska":"k`yzH_aouBMo@kAeGqAuGyBcLq@kDq@gD[uA[sAa@}A[iAW}@a@oA]cA]_A]}@Ys@_@{@Yq@[o@Yi@Wg@[m@a@u@_@o@Wc@]e@Q[W][c@EG_@g@_@g@_@c@]_@WY[]_@a@QOECWW[[WS_@[[We@_@CAYSYQUQUMYO[MOGMG]Ma@M]K]GYGQCIA[CYCa@C]?W?Y?C?U@C?U@WBC?WBWDA?u@HC@sANqANk@`@MBMDSFg@JQFKBODQHg@Rk@TWJeCdA_@NIDi@TqDxAYLi@Tk@TqAh@eBt@_A^QHQHWLYNIDSJYPo@b@q@`@","bełchów|skierniewice":"auo|HeghyBNIJIXQXQ`BcA~AeArAy@NKRMFE|AaAh@]FEVQVOp@c@VQRKDCNKlAw@dFaDpAy@tFoDhIiFhIgFfIiFPKd@[d@[f@[h@_@d@]b@]^YTQTQLKVUb@_@f@a@d@c@f@c@f@e@^_@VWTW^_@\\_@d@g@b@g@b@e@`@e@`@e@`@i@TYf@q@f@o@^g@^i@f@s@^i@^m@`@m@`@o@`@q@Zk@b@s@\\m@Zm@\\o@^o@HORc@Xk@Xk@`@{@Xm@Xo@Xk@\\{@HQN_@dB}DrB}EN]`B}D@AbC{FfBgE`CsFx@oBVm@|BmFVo@dB_Ebd@yeA~@wBxa@kaAxh@mnAb@eAlBsEDIlAsCd@iAlDiIrB}EnDmIxIqSpEmK|R_e@tCyGHS~AuDFMfCeGTe@pEoKPc@Pc@Pe@HWJWL_@La@Ni@Ng@Ni@n@cCr@kCLc@Lc@Je@Lc@Je@Jg@Jg@Jg@Hc@He@Fe@Hg@Fg@Fg@Fe@De@Dc@Di@Dg@Dg@Do@Dm@Bo@Dm@Bo@Bo@Bk@@m@@m@Bm@?m@@m@@k@?m@?m@?o@Am@?o@?MAc@?MAK?UAc@Ak@Cm@Cm@Ak@Em@Ck@Cm@Ek@Em@Gk@Ek@Gk@E_@AEGg@Gg@Ig@Ii@Ig@Ia@Ga@Ic@GWG[Ic@]cBwBoKKi@CQGWKk@Ou@]eBCKESCSEUEUE]EWEYCOAa@","bednary|bełchów":"}y_}Hm|myB@D|@~EHd@RbAPhAPhAPjAJn@Hp@Hd@Hf@DVVtA@LBJH^Hd@nGh^X|AdFjYzCrPTrARhA|@`FrAnHn@lDpCbPt@~Dj@bD`B`J`Gf\\fAjGZdBZ`BLv@BJhAhGzAnI~CdQfDfRhAhGz@~EJj@F^Jl@Jx@Hj@Hn@Hl@Db@@J@LDb@Db@Fp@Fp@Dp@Dp@Dr@Bp@Bp@Bp@Br@@f@@h@@v@@h@B|BJ~L?V@f@@bBJtK^va@B~CFfHBnC@f@D`E?`@@Z@XBb@@X@\\@\\@vA@L@d@@f@@d@Bl@Br@Dr@Bl@Dh@Dd@Dh@Dj@Fj@J|@Hz@`@zDbA|J^nDBNVdCD`@D`@F^D`@F^F^DXFXDTFTFVHZFRDPJZLZJZLXJTP^LVNVNVNRLRHJHJPRRRRRNNRNRNPLTLRJPHTJTHPFVFTDXFP@NBT@T@R?R?RAVAVCVETETGLCLEJCPIRIPINIPIHG@A\\URO@ALKPSPOJOt@}@NQJQNSJQnC{Dv@oAdC}Dj@}@hIsMbA_BhTg]f@u@f@w@V_@T]Ze@\\e@X_@Xa@\\c@^g@^c@`@g@\\a@^c@^c@^c@\\_@`@a@^_@Z]b@a@DGXW^]VWj@g@`@]`@]`@]JIVS`@[\\YBC`@Y`@Y`@Y^Wr@e@l@a@BAxA_Af]mTnb@eXtEwCDC`HmEdh@e\\hIiFnAy@rA{@nAw@pBqAr@c@rA{@jAaAtA{@^WhHqEfIiFhIiFhIiFfIgFjAu@hAu@rD}B|AcAvD_Cb@YHGDCh@]n@a@TOxEyCzBwAt@e@fAq@h@_@d@YDCnBoApEuCPM`@W^Wb@Y`@Wb@Y~@q@VQVQPMFEZSb@[^U`@W^WxCkBHG@?^W^Uj@]h@[TM^U`@U`Ai@ZS@?\\Sl@_@\\Ub@Y|CoB","warszawa stadion|warszawa wschodnia":"q}z}H_dm_CaC?aCAM?O?M@O?S@U?S?{CAS?U?SAO?QAKAMAMAKCKCIAICICECGCSIOIQKMIUQQOMOOQMQMQOWKSIQOYM]Ui@_@mAOk@Mi@Mm@Km@Mo@M{@Qi@{@aGIc@Ge@My@CUGc@G_@G[Ia@aCsK}AkHaBuHu@oDSgAW}AU{AGe@Io@SuA","warszawa powiśle|warszawa stadion":"q{x}H{`j_CMk@g@mBc@wA]aAQe@Qi@a@iA_@aAAEg@eAi@eAg@cAAAi@_A]g@_@k@uAiBW]W_@Ye@S_@Q]Q_@Ue@Se@q@eBcBaE_G_OmGuOQc@GQQ]Qa@S_@_@o@a@m@QWW[UWYYc@a@]Ys@e@YOUKUKUKQGMEOEMEGAQGSEQCOCMC]ESAMAO?MAM?M?","warszawa powiśle|warszawa śródmieście":"q{x}H{`j_CEB|AhHDdALl@Jd@Jj@Lp@rD|TJn@Jp@Lz@N`ALx@Lz@xAjLlEf]BRFn@Fj@Dh@Bl@BX@\\@`@?n@?`@?b@?\\E`BA^?d@Ab@?^?^?b@@^Bd@@^BXB`@Fb@Dd@Fb@Fh@JdBR~A\\|AtCzTID|AzLHh@Fh@Fb@F^Jh@Jf@Jd@H`@VbAv@pB`@dBH^HZFXF^FZDZF`@D\\VrCPF","warszawa ochota|warszawa śródmieście":"wiw}H_sb_CSwAcAeIIm@Is@MmAI_AOgBEi@Ek@KcAE_@Ga@Gm@YsB","warszawa ochota|warszawa zachodnia":"wiw}H_sb_CHn@Jl@Hj@Hj@@F^|BJr@v@`FD\\l@zDdA|GNfA`B~K^dClD|UL|@N`AP|@P~@Jh@Nv@Nx@?DHd@Jp@Jz@NfAThBTnB\\pCf@`EHj@F^DZBJHh@DRDRP|@Iz@Fn@Dj@Fn@Dr@J`BFl@B^Fn@Et@Vb@Jt@xAtLLhAR~AHh@@L","warszawa ursus północny|warszawa włochy":"itq}Hkjn~BI_@K_@WgAQm@Om@[iA]qAw@yCU{@Mg@GWSw@Mk@Qq@Mi@Mg@?Cs@_DYmACO_@{Au@gD]{AACsAcGsAcGOm@WgAYsAQw@Mq@Mq@QeAQeAG_@Kw@Y}BGs@MmAEo@Gu@Ew@IuAG_AOqCw@wAAu@Es@Ek@Go@Iw@Gi@Ko@Mo@Kk@Om@Qm@Og@Si@Sg@Se@Wg@m@mAc@y@Wg@Sa@Ue@Sg@Qe@Si@Uu@{@sCkAwDk@iBSq@Sq@Su@Oi@Oi@Ok@Mg@Oo@Me@Mi@Mg@]{Ac@oBKc@Oq@Qq@Qu@Ke@ACACYmA[sA","warszawa gołąbki|warszawa ursus północny":"w{s}Hsmi~B_@sGc@_HA[k@aJEq@Eq@IsAGq@Gq@Gm@Ek@Iq@Iq@Ge@UwASuAk@wDyAoJMw@E_@Ig@Gi@Gg@Ee@Gg@Ei@?GC_@Ek@Cg@Ck@Am@Ae@Ae@?OAW?m@?a@?a@@]?_@@i@Bi@@e@Bg@Bi@Dk@Fo@B[B[J}@L}@D[F]DYD[FYJe@He@Jc@Lc@Ja@Ja@Pi@Pk@fKs\\hB}FzBkHxBcHrGySzEqORo@n@qBR[J]Lc@J[H]J_@J]F]H]F]H_@Fa@F]D_@D_@D]D_@Ba@De@Bg@Bg@Dk@@i@H{BnBKFt@Dn@LlAFr@X|BJv@F^PdAPdALp@Lp@Pv@XrAVfANl@rAbGrAbG@B\\zAt@fD^zABNXlAr@~C?BLf@Lh@Pp@Lj@Rv@FVLf@Tz@v@xC\\pAZhANl@Pl@VfAJ^H^","warszawa ursus|warszawa włochy":"itq}Hkjn~BI_@K_@WgAQm@Om@[iA]qAw@yCU{@Mg@GWSw@Mk@Qq@Mi@Mg@?Cs@_DYmACO_@{Au@gD]{AACsAcGsAcGOm@WgAYsAQw@Mq@Mq@QeAQeAG_@Kw@Y}BGs@MmAEo@Gu@Ew@IuAG_AOqCI}AEm@Ei@Ek@Ee@Eg@Ik@Ik@Ig@Kg@Ke@Ia@Oi@Ma@Qe@Oa@Oa@S_@Q_@Sa@Ua@k@gAc@y@]q@]s@Yo@]y@Yw@Yw@?AYy@Yy@k@kBQk@Qm@K]K]Uu@Qk@Qk@Qo@Ok@Qm@Mi@Ok@GYIYWkAYmAg@wBKe@Oo@Oq@Qu@Kc@AEAAYmAc@oA","warszawa ursus|warszawa ursus niedźwiadek":"itq}Hkjn~BVbARz@Jf@f@tBR`A`@dBLh@SNLh@Ll@XnAXnAPx@Px@Pz@TdATfAVjAVhANv@Pt@Lh@dAxEtA`GrA`GrA`G@Fx@jDVlADL^`Bn@pCd@rBl@lCpAxF","piastów|warszawa ursus niedźwiadek":"w{n}Hiye~Bs@}CEQMm@U_AIa@e@qBgAwEMi@sAaGESmAmFa@eBs@{CsAaGCMoAsFqA}F]wAI]_@aBwDqPk@gCg@yBsAaGsAaG{D{PMo@Ok@Kk@UeAKi@o@gDOu@_@mBWkAWkAWgAUeA}@kB","piastów|pruszków":"w{n}Hiye~B\\zALl@Nj@Ln@XnAHZh@`Ch@~BLj@FTTbAf@zBDPnArFVfA?@z@vDtAbGDT@@jAhF\\zAv@fDj@fCf@xBtAbGrAbGtAdGrA`GhA~EJb@Px@bAhErAbGn@nCvNbo@XlAVlAt@~C@HDNvAhGBJx@rDd@pBhA`FlBpI`@bBbBlHZvAPr@r@pCVbAPr@Rv@Px@`@`BLj@b@hBNn@Jh@Rx@~@`EVfA@Dj@hCJd@bDnN","parzniew|pruszków":"}xi}Hijv}BeAsEOk@Sy@Kc@EMg@mB[kAYkA[mAWeAs@aDaEmQEQI[yAuGiC_LWmAg@uBI_@ESqAuF}@}DiAaFmAkFoF{UiGgXiAaFWmAWiAk@mCk@qCm@mCeC}KCK","brwinów|parzniew":"g~f}Hwvm}BQs@I]Oo@[mAYgAiAuEYgAYiAYkAYkAcN_m@_CcKmDkO_@eB}Mkl@[uAYkAaBmHKg@ACQs@Q{@[qAWgAyDmP[sA_BcHuCkMk@eCk@eCsDaP[sACOUaAWqAq@mDScAWiAWmAs@}C[sAWgAWkACKS}@","brwinów|milanówek":"g~f}Hwvm}BPt@Pv@`AbEJf@H^Nl@n@|C~AzHXrAZtA^dBfAzEjBfI`@dBXnApCzLH\\h@~BrSn}@\\zA~CbNpYloA|A|GdBrHNr@Ld@jFlUbCjKR|@T|@XfAnBvHFZXdAZtAXfAJb@","grodzisk mazowiecki|milanówek":"}x`}Hmzz|BwCiMm@oCm@mCo@sCeAyE{@yDqA_GyCyM_CoKgBcIkBmIa@qDgAyEg@yB[wA{AsGCICM_GgWsKce@wCkMc@mBgAoFyKwe@]}AS_AOo@Mo@WkAs@iDWsAYoAYsAYsA[sAYoAQw@","grodzisk mazowiecki|jaktorów":"}x`}Hmzz|B\\xALh@\\zAXhABJNl@HX`@`BtB|HFRhAfEl@`C~@~DFXhAbFDLbBtHb@lBrB`JpAtFp@vCBHH\\`@bBLf@Jb@Rt@z@hDTx@Rx@d@nBr@zCn@hCRv@xA|FNl@Nj@\\zADNd@rBdApEXjA~@`EdFtTXnArK`e@jE`RZrAXpAXnAzCvM\\xAfZfqAFTdAvDrB`Jl@hC`@dBtQhw@xAnG","jaktorów|międzyborów":"qh||Hklm|BnApF@FdJt`@\\vA`@hBRx@xFnV~C`NrSd}@\\zAvCdMH^`DdNxEpSvMlk@~F~VZxAlCfLjJda@|@zDfCtKbBnH~A|Gx@pDzCrM`CbK\\xApCxLhBzHhBzHrAzF","międzyborów|żyrardów":"sww|Hex_|BtAdG@FJ^BJBHpMzj@dDnNbClKd@rBzApGbAjENr@HXbAnE~@|DfAtEnCrLFXlHh[lBhIt@bDrEzR^|AJf@","sucha żyrardowska|żyrardów":"ayo|H_wg{BuAaGo@wC}A{G[yAs@yCsMsk@aAiEeBwHw@iDgDeO}B_KI]S{@yEwSYuAq@uCqA}FYqAYoASy@Oq@Oo@UcA]wAgBwHWoAYmA[qAYqAmK{d@qFeV]{A{@wD[qAYqA[qAYqAwKge@yGoYkDcO}FuVCMWkAwBaJkWihAmAiFiB{He@qB_@}AEUw@gDmBiIEQeAqEgAyEo@qCqCuL{BsJYkAkBaI","jesionka|sucha żyrardowska":"i`n|Hgib{BeAuEOs@GWI[sDgP]yAcCqKmAqF{AuGiAeFcAmE}@{DuAkGy@kDy@qDyD}PgD_OyHc]WcAAICIGWAGAGOq@cAoE","jesionka|radziwiłłów mazowiecki":"i`n|Hgib{BpAxF^`BdDxNhDfOdIf^f@vBRz@r@|C\\xAzEbTn@nCxBtJd@pBtClMZnAzAxGd@tBd@pBz@tDhDfOvBlJBLd@rBnArFXnAXjAR~@T~@j@jClBnIj@hCPr@d@xBZrARz@FTh@bC~AdHjAzEPt@","radziwiłłów mazowiecki|skierniewice rawka":"yhk|He~yzBBJBHlBfIZtAZpAXpALh@Nn@TdAZnAXnAjBlIZtAZpA`@hBlBnInIz^Lh@ZxAxEvSnCpLZvAlChLXrAZrAlBhIZrA@FXjAlAlFNn@r@zCNp@XnAXlApE`SNp@Nn@R|@DNZxAJb@hDdOrC`MjMvj@vM`l@@@Px@Nl@\\zAd@tBJd@~FfWlAjFn@pC~Hn]XlAtAdG","skierniewice|skierniewice rawka":"kqd|H}t}yBo@eDKc@a@uBm@wCmAiGOs@G[uA}GUgAG_@GYCMKk@Ic@Ki@CME[Ii@Ii@Gc@Ga@E[ScBGe@Im@Gk@Im@Ii@Ii@Ki@Ie@Ie@Ie@Q}@Q}@Ke@Ia@CKwBqKiEkTiCmMgCiMw@{D]eBgB{I[aBcC}LKg@UgASgAAAKk@Mm@Km@Mq@Kq@Kq@Kq@Kq@Iq@Is@Iq@Is@Gs@Is@Gs@Es@Gs@Es@Ew@Eu@Ew@Cu@Cu@Cw@Cu@Cu@Cu@Aw@Cu@Aw@Aw@Au@?u@Aw@?y@Au@?s@?}AB{EHg_@Pm^BkI@qH@w@@{E@gHDmO@mE@_A?eA?i@?}@A{@?s@A}@Au@Cw@Aw@Cu@C}@EaAEy@Cq@Eq@Eq@?KG{@GaAG}@o@aJGgAOoBAQCa@AOIy@Eq@I{@Iw@Iu@Gi@?GKy@Ky@Iq@Ks@O}@Ku@Ms@Oy@Ms@Ic@CI?EOu@Oo@Mo@Sy@qBwIAICKKa@sA_G","mokra|skierniewice":"u}f|Hg~tyBlAsCd@iAlDiIrB}EnDmIxIqSpEmK|R_e@tCyGHS~AuDFMfCeGTe@pEoKPc@Pc@Pe@HWJWL_@La@Ni@Ng@Ni@n@cCr@kCLc@Lc@Je@Lc@Je@Jg@Jg@Jg@Hc@He@Fe@Hg@Fg@Fg@Fe@De@Dc@Di@Dg@Dg@Do@Dm@Bo@Dm@Bo@Bo@Bk@@m@@m@Bm@?m@@m@@k@?m@?m@?o@Am@?o@?MAc@?MAK?UAc@Ak@Cm@Cm@Ak@Em@Ck@Cm@Ek@Em@Gk@Ek@Gk@E_@AEGg@Gg@Ig@Ii@Ig@Ia@Ga@Ic@GWG[Ic@]cBwBoKKi@CQGWKk@Ou@]eBCKESCSEUEUE]EWEYCOAa@","mokra|sierakowice skierniewickie":"u}f|Hg~tyB?RsCvGSd@eC|FuB`F_Vvj@gInRmZfs@mFbM}@vBwX`p@}IxSgFzLy@lBWl@}BlF","bełchów|sierakowice skierniewickie":"auo|HeghyBNIJIXQXQ`BcA~AeArAy@NKRMFE|AaAh@]FEVQVOp@c@VQRKDCNKlAw@dFaDpAy@tFoDhIiFhIgFfIiFPKd@[d@[f@[h@_@d@]b@]^YTQTQLKVUb@_@f@a@d@c@f@c@f@e@^_@VWTW^_@\\_@d@g@b@g@b@e@`@e@`@e@`@i@TYf@q@f@o@^g@^i@f@s@^i@^m@`@m@`@o@`@q@Zk@b@s@\\m@Zm@\\o@^o@HORc@Xk@Xk@`@{@Xm@Xo@Xk@\\{@NKN]bB}DtB}EpB{E@AN_@dC}FlAuCRe@Xq@","bełchów|bobrowniki":"auo|HeghyB}CnBc@X]Tm@^]RA?[RaAh@a@T_@TULi@Zk@\\_@T_@VA?IFyCjB_@Va@V_@Tc@Z[RGDQLWPWP_Ap@c@Xa@Vc@X_@Va@VQLqEtCoBnAEBe@Xi@^gAp@u@d@{BvAyExCUNo@`@i@\\EBIFc@XwD~B}AbAsD|BiAt@kAt@gIfFiIhFiIhFgIhFiHpE_@VuAz@cDrBq@b@]RsAz@cDtBqAv@gIhFgj@t]","bobrowniki|łowicz główny":"mnv|H_mcyB_F|CEDmgAjr@yA~@C@o@^q@d@a@X_@Va@Xa@ZCB_@Va@\\WRIFc@\\a@\\a@^k@f@WT_@\\WXGFc@`@[Z_@`@_@`@]^a@b@_@b@_@b@_@b@_@d@_@d@_@d@]d@Y^Y^]d@[d@U^W^g@t@g@v@iTf]mKpPk@|@uHvLSZsD~F{CzEyPfXqAtBsAvB{@rAYb@g@z@i@x@e@x@{BtDu@lAMRQZMPGLYd@Yf@w@tAGLA@oAxBg@|@Yf@CB]j@YIiBvCGJy@nA]j@]j@W^GJ]j@cCzDW^}@vAiAfBaBlCc[zf@U`@W^oApB_CxDk@~@g@t@e@t@U^}@vAcA~AcA~A}@xA","gniewięcin apo|klimontów":"mfnsHi{iyBAJdBl@dBr@tC`BnCrBvApAvA|ANPdChDdFzIzAjCnBnCzAhBnApAlAbAzQtN`NbKvCzBjAz@pAx@pAv@l@\\bAh@","klimontów|klimontów apo":"seksHubgyBx@b@d@RhBz@D@zBz@vBp@bDz@pJrB|D~@B@PDjGtA`KxB|VtFtFnA~AZtCn@","dziadówki|tunel":"yrrrH{zbyBoFt@UDeNrBgBTsCb@yB\\wBf@oAb@kAh@s@^w@d@o@f@aBvAaAdAaAjAs@dA}@zA[n@_@p@_AjB_FxJm@lA_MtVqCvFa@x@_@n@]j@[f@[b@a@f@Y\\a@`@]Z_@Z_@XIFUN_@TEBWNe@Re@Ra@Nc@La@Jk@LeEv@iNnCeF`AgNpCaARe@JgATe@Hg@Ha@Hq@Hy@Hg@DwBReBN]BgE^_DVe@BS@W?e@?e@A_@Ae@Ga@Eg@Kg@KKESGa@Mg@Sa@QoCsA","dziadówki|miechów":"yrrrH{zbyBvEs@dAOdCc@jBc@fAa@bAa@xDuBxDyB|@k@nC_BtAw@v@_@LEr@W`AWzAWnBIdBBbAJ`APn@Rv@V|@`@rFrCdI|DrAh@vA\\zARrADx@?b@CRAfBUtA_@jAe@~A}@|BcBbEaDtDuC\\Yl@e@tBaBvBcB~BaBrBiAtBu@pBc@LExBUbCCbCLxR~BjR|Bh@CrGt@dBJvBB~@A`@AvBIdBE`GSjFMnABzAL|AZ~Af@|D~A^NjAd@bBp@lBx@rC|@tBx@","kamieńczyce|miechów":"spdrHmkbyBeAv@WP{AdAw@d@_HhDcH~CwT|JeDvAc@PwDdB_A`@qBz@wBr@kBXuAF{AAsAOc@GaBa@o@WcB{@aAs@aByAoA}AsAwBq@wAm@sA{BaG_A_C{@iB}@_BeA{A{@aAaA_AoA}@}A}@}BaAqBy@}Am@aBo@WMwIoDoDeBeLuE{Am@","kamieńczyce|szczepanowice":"spdrHmkbyBfDgCtA}@~CgBnJaFf@WrG_D|AeA`Au@bCyBzDgDfBwApA_AzCyAlD_AHA|Ci@dFw@pEiAfDgBbDkCxCeDlMqNbBmBlCwCz@{@dByAxAcAtEqCvCcB~CkBnGsDjBmAh@[`Aw@z@u@","smroków|szczepanowice":"ggzqHukjyBgAhAaAhAaAlA}Xd^aBpB_BfB{AlAm@b@u@d@wAr@yAj@wFnBuHjCuHhCqHdCiA`@gFfBsAl@qAr@aDnB_EpCe@Xm@`@k@\\OJ{GdEyBzA}@t@eA`AeAhA_AjAuCtDyC|DgMpPi@j@{A~AMJ","smroków|słomniki":"ggzqHukjyBHIr@k@|@s@hAw@~BoAhEaCdBaAbB_AhPeJ|GyDlC{AhAo@fAm@lPgJvGuD~CgBTK`BcAt@k@t@s@`@a@lA_BjAkBhBgDn@iAr@gAj@s@d@i@l@q@l@e@j@c@l@_@xAu@XK^O\\KXKpBk@HCjBi@\\K^MZIdBg@`A[hA[pHwBj@Q|EwAdA[TGr@O","słomniki|słomniki miasto":"}cuqH{wmyBnCo@h@Mh@Ob@Oh@QjAa@zAg@LE`DmAbBaAt@o@n@i@l@o@xAiBxAkB|AeBn@s@zEmF`@e@fCqCfCqCtJuKfAsAlAiB~@iB|@uBzAgDp@_B","niedźwiedź|słomniki miasto":"sgmqHskqyBiE{AmAc@eBm@oCaAwAe@eAUuAQoAGkA@kAFgARgAV{@X}@b@{A|@{A`AeElCwExCwD~BeAf@}@\\{@Z{@RyAVeAJmAFcA?y@CcAGsFg@mBSuGo@sGq@}Fk@gHs@wBSwAMcAE}@@qAHw@Lu@NaAXaA`@{@d@y@h@o@f@_Az@{AjBo@bAw@vAuAtCm@tA{BdF","goszcza|niedźwiedź":"ovhqHedmyB_B~@m@Zi@RcCv@iBViBFgACiAIwBc@g@QcByAaAm@cAw@q@o@k@m@qAiBy@uA{@cBg@oAa@qAa@}Ag@{B_@cCW}BKoAKcCKoDG{CIyCKiCA[Mu@G_AOyAS{AUwAe@aCm@yBs@qBeAaC_AaBaAuAe@i@_@a@mAeAu@k@{@g@}@c@kAe@sE}Ay@YgKyDaA_@uCiAqDyAgDqAmFkBcEyAy@YyBq@gDeA{DuA","goszcza|łuczyce":"ovhqHedmyBrAw@t@c@b@WPMJGbDqBnAw@lAi@rEmB|@Yx@WvA[~Cq@~A[x@U`A[`Ac@bAk@r@g@|@q@z@y@|ByBlAiAtAuAn@m@dA}@z@m@r@e@z@c@|@_@t@YzKyCtDaApD}@jBi@`AYt@YrAk@hAo@h@]pAy@dBmAdCeBjCmBhAw@XSd@i@bBmAbAs@~@w@hAgA","baranówka|łuczyce":"}faqH{zsyBoESm@A[AyAGkBIyBK_CKsBIkAAoABo@D_AN_ATcAZq@XgAj@w@l@eA|@k@j@u@~@e@p@{@tAu@zAk@vAe@rAe@bB[xAEP[bBWjBWlCUdC[`Ec@fFI~@WhBWbCc@|C]hBe@hBc@vAu@pBaAzBeA`CYl@uEbKsCjGkAdCg@~@k@`AaAzAi@p@c@l@m@p@o@r@","baranówka|zastów":"}faqH{zsyBvCJzBJfEPhEPxAHxAL`AJtARz@Lz@LnC`@nBXtBXdANr@Nz@Tj@Rf@Pn@Zp@^|@p@|@v@z@|@x@dAz@tAx@|Az@jBlAxCP`@t@dBdAfCbA`CrB|EtBbFRd@JTr@bBr@bBvBbFzClH|ArD|ArDrL`YjBpEJT^z@xCfHXr@`FzLnCtGnClGpAzC`CpFjAlC","czarnca|knapówka":"{neuHycuxBLjL@z@Bn@@`AJvDF~AH~BLxBPrB`@xCd@lCp@rCv@fC|ArDdBdDx@jAz@dApApAtAhA|FtEvBzB|B~ChA~BjAbCv@jCr@lCfDjMbAzCt@`BpA~BhBzB|BzBtCzBlG|EhMxJdMvJjGzEAPAJVRzMfKnElD`DdCdAv@","dorota|juliusz":"gz{qHstttB`C`Br@d@vE~CYt@~DrCdBnAxDlCtBtA\\Tb@\\r@h@^\\`@^^^\\`@\\`@TZZd@V`@T^Xj@Vf@Xp@Xr@Zv@Tr@Tr@Rr@Rx@Pv@Px@Lr@Nx@Jv@L`AHx@JbAFx@FdAx@rPFtAF`BBv@Bt@B|@BjB@zAVrWH`Az@ny@J~K@j@?d@HbHVpTFzF?lA@hAApA?tA?nAAvAA`AA~@S~M?ZC`B?pA?dB@tA@vABpADxAFtAFrATtDn@`KDh@jApR","juliusz|sosnowiec dańdówka":"gyyqHg}itBRxC?H@Jx@xMJ~A?v@`AtOBb@b@`HJ|ALtAH`ALnABVLdAPrANfARnAPdAThAThAXjA\\xA\\tA~Uf`Al@~BT`ALl@Px@Lx@N~@Hj@Ff@D^HdALnAF`AHfBDbB@jA?|A?~@ChAC`AGtAGhAMhBM|ASdCu@`LKtBCzAC|A?dBLpHGn@HlE@rA@tBBfC@jADhDf@r]@|A@vA@jDB|ABfA","charsznica|gajówka":"o`rrHuotxBLzIBhB@RHnE?b@DfAB~@D~@FbAFbAJbAJfAJ~@BJTfBjBlNpA|JJv@Lx@Lz@N~@PbARdAPz@T`ATz@V|@Tt@X|@Zx@Xt@Zv@f@jA~ArDZt@Xp@Vt@Tn@Tt@Rp@Rx@Np@P~@Lt@N|@J~@Hz@Hx@F|@F|@@X@f@Bz@@`A@b@?vAArAClAAr@c@zX]zTClAEpAEvAEtAItAIrAKpAKzAMhAE`@Gn@{@pHQdBQ|AQpBKtAM~AIlACXIfBIvA[vGaClh@Cp@KjBIdBK|AItAO`BM|A{@lJK~@a@jE","gajówka|gajówka apo":"euqrHmrixBmAtMMpAsCzZE\\OzAQ`BQzASbBSvAW`BU~AWxA_AzFoDhTkCbP{AhJADc@nD","gajówka apo|jeżówka":"{qrrHomexB_CnNW`BObAQdAQpAQrAQrAOnAaGvh@OpAQtASrAQpAQnASlAUrAUnAG^sExUO|@Q`AKv@Mx@Iv@Kz@Gx@Gv@E|@Cv@Cx@Cz@Ax@?z@@d@?f@@j@Bz@Dz@D`AFt@Fz@H|@DVD`@Jt@Lx@Nv@Nv@Px@Rr@Rt@Tt@Tp@Xp@Vp@Xl@Xj@Zl@\\j@Zf@b@p@tAvBb@r@Zh@Zl@Xj@Zp@Vn@Vp@Rp@Tr@Rt@Rv@Nr@Px@Lx@Lz@Jv@J|@Hz@F|@Fx@B~@Dx@@~@BdA?V?h@JpJ@lABjABdAFjADhADp@Dv@","jeżówka|wolbrom":"urrrHwf}wBDd@HfAJdAFj@Fh@J~@NjARpAPdARlATjAVhAT`AZhAXfAZdAvFjS~AvFZdAV~@Z`A^`A\\`A^z@^~@^v@`@v@`@x@f@z@`Vzb@JNvJfQZXZh@Xd@\\f@^j@^d@b@f@`@`@d@d@\\Xd@^^V`@Vb@Th@Vf@Rd@Nl@P`@Hf@Hh@Hd@Bd@Bf@@d@?l@Cf@Cf@Id@Gh@K`@Id@M|HoBv@Sh@MTDREd@In@Ih@Ej@Eb@A`@Ap@?f@@J@l@Bh@DZDPBn@Jn@Lh@Lf@NVJNDd@RVJJFh@Xb@VTNVPTR`@\\^^`@`@^`@\\d@^f@\\f@Zh@Xh@JTNXXn@Xp@Vp@Tp@Rp@Rt@Pp@Pv@FTH`@Lx@Nz@J|@Jx@Hx@Dp@Fr@DjABfA@`A?~@C~@At@E~@GbAIjAKnAMjBa@~EKjAK~@Kz@Kv@Ot@Kn@Ot@Qr@Ol@?@SvAeDdMcApDY~@g@dB","wolbrom|zarzecze":"c`nrHuxtwBi@jB_@jAkAtDy@dCY|@[dAqCjJKZyAbFUv@Sv@U~@Or@UbAMl@SfAMv@YlBQpASnBMpAKjAK~AGpAGlACdAC~@CbAA~@Ap@?N?L?p@@vA@|ABfAB`AFnA?PFjABRDv@F~@Fl@Dj@LlAPzAJz@L~@XdBTrANx@R~@`Qv|@pFpYf@fCdAnFVhA@F^`Bd@~Af@bBVr@\\z@Zv@`@`An@zAvB|E\\x@Zx@Xt@Xx@Vv@Tz@T|@Rv@R~@Pz@N~@`@hCpAdIXdBBT|AtJjOhaAl@zDvA|IhDjT~AhKtAvIRhAPfARdAVjAVjAVbAXdAXbAVv@DNZ|@","zarzecze|zarzecze apo":"_rkrHsmfwB\\`A\\z@Vp@Td@BFf@dAb@z@\\n@Zh@Xb@`@p@f@r@h@r@f@n@`@d@d@f@d@d@f@f@j@f@j@d@n@d@p@f@bEtCh@^`@VDDf@Xd@Xf@Vj@Xb@RhDvA","chrząstowice olkuskie|zarzecze apo":"g{grHozcwBaDsAECgN}FgN}FiVcKOImMoFWK","chrząstowice olkuskie|jaroszowiec olkuski":"g{grHozcwBlFzB`@Pd@T\\Rj@\\`@Xd@Z^Z\\ZHHb@b@d@f@^d@\\b@h@t@Zf@Zf@\\l@R`@HP`@x@Zv@Vp@JVFTXx@Vz@Tz@Rx@R|@P|@PdALz@Lz@LfAJbAF`AHbAD`ABr@@NBdABbA?fA?n@?x@Ax@Cr@Ad@C|@E|@GbAKlAeAbNEn@q@|IKrACRIv@MnAMdAOhAQlAUnAQbAUnAUlAcNxu@WrAQjAEPOdAQlAStA_AfHi@hEe@jDGf@EXgJ|s@y@jGS`BQrAIx@IhAI~@GbACz@EbACdAAdA?dA?b@@\\@hAB|@Bz@FhAFbAH~@H|@LdAD`@Fb@Lt@Jr@Nz@`AlFh@zCv@hEDXLr@Nx@Lt@l@fD^pBPv@Nr@Rv@Pt@Tr@Tv@Xx@vAxDvAtDdBpE","bukowno|bukowno przymiarki":"ofxqH_kvuBYjAYnFKdBM~AIx@K`AObAQbAQ`AoA|GaBxIeApGwUhoAc]piBOr@O|@Mt@Kr@Mx@Ir@Iv@Iv@Et@Ev@En@Cj@Ax@C~@?jA","bukowno przymiarki|sławków":"}kzqHg_nuBApAGPAxHGhm@?nDAjA?jAAjACjACbAGlAGdAIlAKfAKbAMfAMdAQbAQbASbAUbAS~@Y`AY`AWz@_Ln\\wD`Lw@`CeDrJWr@Wp@[r@Wj@]n@[j@[h@]f@]d@_@d@c@d@_@^c@`@a@Z_@Xg@Zc@Vc@Ta@Pa@Pm@Pe@Li@Jc@Fe@Fe@Da@@O@]?i@Ai@Ak@Ek@EqBOuEc@e@Cg@Eg@Ae@Ae@@i@@m@FWBk@Jg@Hc@La@Nc@Na@Rc@Re@Xa@Vg@^gCfBm@f@m@n@i@l@]b@a@j@_@j@c@n@_AvAc@p@kC~D","sosnowiec kazimierz|sosnowiec porąbka":"se}qHwjktBTVh@f@|@t@`@Z\\T\\TZPl@Xf@RvAh@jC`A|HvCb@PRHLFb@Rd@V^Tf@\\^Z`@\\`@\\^b@Z^b@h@Xb@^j@rBjDbEdHjD`GdAfB~DbHFFDHn@hAn@bAZh@\\f@Xb@@@\\b@^b@n@p@JJb@^^X`@X`@Xb@Tb@Rh@VpJfE~@`@z@b@dAl@d@Z^ZVRXVFFJJRRNPNPRVZ`@NRPVT`@","sosnowiec dańdówka|sosnowiec porąbka":"coxqHo_`tBCgAC}AAkDAwAA}Ag@s]EiDAkACgCAuBAsAImEIaFC_C?CAaBB}AB}AHqBNgCd@}GTgCN}ALgBFiAFuAB_ABkA?}@?{AAkAEcBIeBGaAKoAKeAE_@Ge@Ik@O_AMw@Oy@Mm@U_Am@_C[oA}WyeAMg@q@kCCKo@cC]sAUu@Uo@Uo@Wk@Yq@[k@Ye@","łódź chojny|łódź kaliska":"}quzHis~uBU|EC^AZ?XAv@Az@ATA|@ErBErAMzBGnA{@bQk@~Ks@~MMlCK`BK|AIrAKhA[vDKlAEf@Eb@Cf@C`@Cv@A\\Cx@?l@AhA@x@@tA@dABr@@d@Bf@Dd@@XHbAJfAHv@Jx@Jn@Lp@XxAR~@H^FPDRBHFRNd@Xz@JXVr@Rb@b@`Ad@dA|B|EbD|GtChG|@lBf@hAZx@l@bBHXPj@J^J^Jd@XlAVvAHf@Lz@Hv@JbAJjADz@Dt@Dn@@b@BdA@v@?r@?X?J?PA|@Ax@CfACf@C`@Et@Cf@C`@Ip@C^Kz@Kz@SlAGb@Oz@oAnHeBzJaAxFY|A_@nBKd@Ml@Oj@Mf@Mb@Od@IVIVM^O\\Qb@S`@Sb@]p@Yf@e@r@]h@C@g@r@s@|@q@|@m@v@_AjAwCvDQTcApAs@|@q@z@q@|@u@|@a@f@g@j@u@r@g@d@]VUPYRYROHMHYPIDUL_@Pa@Rm@XqEnB]PQFSH]Na@N]LMDmCx@y@X_@La@Pc@PYJ[N]NA@QHWJcAd@q@ZYL]L]Na@Pa@LUFWHODSFSDWF]F]H]Fi@H}IrA_@F_@D_@Da@Dc@BWBU@Y@oCJa@@Q@A?S@Y@Q@Q@O@]BI@m@FUB]BOBSBG@A?G@i@FIB_@Fa@HiARcATa@HA?u@PI@{A^kCj@G@G@eE~@kB`@c@J_@Fa@HaFz@kCb@gBZ}NdCs@LUDYFUF[HWHYJUJUJE@UJMF}BhA_Bt@iB|@WLcAd@MHSHOHOHIDMHMHQJIDOJEBSLOLGDKHIFKHIFONKHMJSPKHWTKHA@WTmAdAGD[XCBYXSPGDYXoClCGFcA`A{@t@cA~@Sd@","zgierz|łódź żabieniec":"g{l{HsepuBxApAf@d@RRr@p@^\\RRDF`@b@VXXX^^ZZdCzBrBnB~@z@`Az@RNVRRNVRZRXPZPXNXN^NDBPHVJ\\LTFXH`@J\\H\\H`@FTD\\D^B^D@?`@@f@@j@?r@Aj@CbAIbBQ`D]nCYfAKFAz@Ix@Kp@Gz@Kx@InAMv@IdAMv@IdAKt@I\\C^EnAIt@Er@Cf@Af@?D?`@Al@@`@?~@Bx@Bz@BlAHF?nG`@z@Hb@Bn@H`@F`@Fb@Fr@NfAVh@Pj@Pl@Rh@TTJJDDBD@FBJFNFLHNFNHDBJFLHLFPJPJh@ZhHlE~AbAjAp@pAv@rAx@tAx@jBbApE`CdCrA`DbBfAl@bQdJBBrGhDxDrB|Ax@bBz@|BnA^RhB`Ap@\\hAl@fDfBxAt@h@Tv@\\t@Tp@Rl@Pl@Lp@Ll@HD?h@Fr@FdBF\\?h@?r@Ab@Ap@Ep@Gp@Kp@Kn@Mx@Sl@OzQiG","dąbrowa górnicza gołonóg|dąbrowa górnicza ząbkowice":"_xgrHwajtBmBsF{AmE}ByGcCiHs@oBqDoKIQgLs\\a@kAg@{Ak@}Ae@uAyCwIaC_HcKaZyJgYY{@[y@[y@Yw@Yo@Wo@]w@]w@[m@[m@Yk@[i@]m@_@k@a@q@a@i@a@k@a@k@KMOSUYW[UYUWwAcBsB}BY]YYoB{Ba@c@KKWWeAgA[YSSe@c@YYm@k@]]_@_@a@_@_@_@","dąbrowa górnicza|dąbrowa górnicza gołonóg":"}aerH_lbtBNoAJ{@Hu@Fm@Da@D_@Dc@Dg@Be@Ba@Dg@@a@@]BW@]?[@]@_@?a@@_@?c@?_@?_@?]Aa@?[Ac@Ac@A_@Cc@Ci@Ck@A[C_@C[Eg@Ee@Gg@Ee@Ge@Gc@E[G[EYE[G]GYGYG_@IYEWI[IYGUGWGSK_@Ma@Oe@Oc@Qe@?WuDuK[y@{AmE{AkEWs@cKcZiCmHu@{BqAuDyAgEwAeEqCcIc@qAeJ}WuA_EOc@KYqCeI}C_JaBwEaByEmAoDaByE","będzin ksawera|dąbrowa górnicza":"seerHi{|sB_@uEAMQqBu@wJc@iG_@sEOuBOuBGo@Cg@Ek@Ce@Eq@I{Ac@eI]gG]gGCo@Ck@AYB]?[Ac@A_@?]?_@?[?a@@a@?[@[?A@O?Q@U@WBY@[BS@UBS@UD_@Fm@BSFmAHw@~@iI?G`@iDFi@Fm@@IFm@VkCl@_GHu@NuAnBgQh@uENoALoA","będzin ksawera|będzin miasto":"seerHi{|sBPpBj@pGPlBVvBR`BTbBb@xCh@nDl@|EZfCl@`FL|@`AbIj@rENjANnALv@NbAP`ANx@Px@R~@Rz@R|@Nh@V`A^jAb@rAXv@^bA^bA`@|@`@|@d@|@`@v@b@r@^l@f@x@f@p@b@j@f@l@f@l@j@l@l@j@j@h@j@f@n@h@l@b@n@b@l@^l@\\^R\\PZNb@Pp@Xl@Rl@Rj@Nl@Nn@Ll@Jl@H^Db@Fd@B`@Bb@B","będzin|będzin miasto":"obarHmlysBkA~@gAx@KFaBlA}AhAiBvAoC|BcBbAcAz@cAx@a@X_@VYR]Ta@V_@T]Pu@\\s@Za@N]LQFk@Pq@No@Lm@Ji@Fq@Fw@F]Bg@Zk@B]?u@@s@Ac@A","myszków mrzygłód|myszków światowit":"c{nsH{qguBwFtBwEbBwt@`Xm@Ta@NKDQT_TvHo@Vm@Vg@Tm@Zi@Xg@Xk@^a@Xm@d@c@^g@b@e@b@g@f@a@d@c@f@e@j@a@h@a@l@_@j@c@p@_@n@_@r@_@r@]r@[r@]v@Yr@[x@Wv@Wv@Yz@Ux@YdAU~@WlAWjAe@~BCLuAnH_E|SuNjv@e@dCmCtNGVgA|ESbAIb@{A`IuGp]sBvKoDbR","myszków mrzygłód|zawiercie borowe pole":"c{nsH{qguBnPcGfMqEpFoBrEcBzCiApBs@fE}AVIt[iL~Am@~GcCfE}AbDiAnLiEvEcBr@Yv@Yp@Yl@Wr@]n@Yr@_@r@a@FCj@]p@a@r@e@p@c@t@i@r@i@n@i@r@k@n@k@l@k@j@i@p@q@h@k@r@w@l@s@l@s@j@s@h@s@h@q@h@s@rOaT~B_DpC{DdE}F","zawiercie|zawiercie borowe pole":"}aasHyvpuBiBJs@BkADoAHk@BaOp@gBF_DNg@BuI`@kEPm@DmCLO?sJb@c@Bg@Da@BgBPc@Bc@Bk@Dm@BcABuBH_@@]@gBT}CJyBHs@Bo@BcBFm@Dc@DG@e@Fe@JUDQDe@N[J[J[POFMF_@RYRE@YRYT]X[XYX]^_@d@]`@e@p@a@n@i@x@q@fA{@bAi@x@EF_@l@i@x@i@t@u@bAaEvFkJnMgJjMY^wQxVcKlNSZk@t@gI~KY`@{JdN_AnAqAfB","wiesiółka|łazy łc":"crurHq|auBIu@Gw@Gi@Eq@AICa@Em@Aa@Es@IeBAMEeAIyAGyAAOE}@SyE_AwS_@oIEgAq@cOGkAOeG","chruszczobród|wiesiółka":"otrrHea~tBoCuC_DaDwE_FwC{CoJyJ}TsUMOk@m@sFwFu@y@e@e@m@o@q@u@c@g@o@w@a@g@g@s@e@q@e@s@c@u@c@w@]s@a@y@_@y@]w@[y@[}@]_AY_AW_AYaAUaAWgAOu@Mq@Oq@Mw@Ik@G_@Ga@McAKo@AMCUEa@","chruszczobród|dąbrowa górnicza sikorka":"otrrHea~tBIR~@x@\\\\h@d@d@f@n@l@z@|@pEvEpL|Lf@h@j@n@j@p@d@j@b@l@d@r@`@l@f@z@JPT^b@|@\\t@b@~@\\z@^bA\\~@Z`AVx@ZjAV`AVhAT`AThAPbATpANfAPpALfALpAH`AHx@@TJlAHpAbC|_@@LLjBzA`VF`AFv@FbAJzBD~@ZpGFbAFdAPjC","dąbrowa górnicza sikorka|dąbrowa górnicza ząbkowice":"grprHgjxtBFdAFdAHdAHbADr@Dd@Dd@JlAVvCFv@Hz@Dh@Bb@Db@LvBNvBHrAHtAJvAJtANrBJbBN|ALrARfBHv@@HJz@Fb@DZJv@Lz@N`ATtAJj@Nt@VvAZxAZxA\\tAVbA\\rARn@Nj@Rp@Tt@^hA`@lA`@fAd@lAf@jAd@dAd@dAf@bAl@hAf@|@j@~@j@|@h@v@t@`Ap@|@l@x@t@z@t@x@p@t@r@r@t@r@r@n@j@f@d@^f@`@f@^h@b@tMrJtAv@fAx@rCtB^V^VdBfAlBnADB`@TVPVPr@f@r@f@bS|NjGrE~AhAjDhCn@d@BBRN`D~BjEbDnA~@RNTPJJDBPNTRnAlAd@b@RTf@d@`B~AnAlAb@b@@@","dąbrowa górnicza pogoria|dąbrowa górnicza ząbkowice":"_`irH_{ltByCwIaC_HcKaZyJgYY{@[y@[y@Yw@Yo@Wo@]w@]w@[m@[m@Yk@[i@]m@_@k@a@q@a@i@a@k@a@k@KMOSUYW[UYUWwAcBsB}BY]YYoB{Ba@c@KKWWeAgA[YSSe@c@YYm@k@]]_@_@a@_@_@_@","dąbrowa górnicza gołonóg|dąbrowa górnicza pogoria":"_xgrHwajtBmBsF{AmE}ByGcCiHs@oBqDoKIQgLs\\a@kAg@{Ak@}Ae@uA","łódź dąbrowa|łódź zarzew":"ktwzHusavBiCc@i@KwAUqDs@qCo@QEiBa@_AS_BUgAO_@Es@G_COyBMwAKcEWaO{@oAImHe@sAIaAGo@CwBOkAIkCOeDS","kraków płaszów|kraków zabłocie":"e~kpH_s{xBW`@kBnCkC|DILMRSXSXQRORUXGHIF]`@g@h@c@b@c@f@_@`@a@d@]d@_@f@_@h@k@z@]d@IN}BfDADW^y@lA[d@EF[d@}A~Bm@|@gBlCkBpC]Xk@z@gOrSb@|@","gajewniki|zduńska wola karsznice":"_r_zHotzrBHJBpABbADdAFbAHdANlANhARfAThAZnALd@Pf@\\`A`@`AfAjBp@jA`@\\`@b@dA~@f@\\h@Zf@Tf@R~@V\\H^BZF^@`ABhAIfAOhC[pAIhB@|AHdBNdLz@pA@nAEhBYjBi@|@a@lAu@dAu@bAaAhAqAt@gAbAkBdA{B~@{BpAgDbHcRjI}T`AiCr@iBXq@Zs@f@gAf@cA`@u@`@s@d@w@n@eAt@mAx@oAl@}@xBuCzByCTL|EqG","glinnik|zgierz":"oau{H}r~uB|@tHTdBT~AJl@Hd@Jh@H`@T`APp@HXb@tAt@nB|A~Dn@`BDLb@tA\\jAHVNp@Pv@Nx@Jp@Lp@TfBj@vEThBThB\\tC\\pCRzANnARtAF\\FZLt@XnALj@Ld@Lf@Pj@ZdAbBrF`BnFX~@V`ADP@DFVNn@Nn@Lp@RjAPfAJj@Hj@TtA\\vBFZFZNz@Nn@Ll@Nj@Nh@Pl@Rj@Pf@Tj@\\x@\\t@LVNVZh@l@`Ap@|@f@l@h@j@`@^`@\\`@Zb@X\\RZPPHNH`@PlA`@n@Ln@J|@JP@P@b@@N?P@F?XAJ?HCP?f@E`@E^I^I`@I~E}A\\KZIXGXGLALCZEFAL?VCh@Cb@?X?j@@h@DVBVDn@Jh@Jh@PVHVHj@VTLVLj@\\v@j@t@p@j@j@j@n@RVPTd@p@l@bAj@dAP`@R`@Tj@LXRj@Rh@h@vAf@tAf@tAn@hBXt@Tt@Tx@Tx@Nl@Pz@P`ATtAJn@Fl@Hv@Hx@Fx@Fx@D|@B|@Bt@@v@@`A@`A?NBpBD~FLrN@zB@d@@vABzBB|BBxADzADzAFzADnAFpA@b@Dh@FnAFv@Dt@Dv@D\\Dn@BZDr@NdBH`AHbAFdAJbAH`AJbAJ|@L`AF`@F^N|@F^H`@H^H`@Ld@Jd@J`@Ld@JZJ\\J\\J\\N`@N`@P`@P`@N^R`@LVBHR^LTNTZh@^j@\\f@NRNP`@f@b@b@d@d@xBrBtI~HfGvFj@f@vArAxApA`@Z`@\\`@\\`@Zd@b@LJXVn@l@|@v@r@n@XVx@v@|@z@FD~DrDJHzBpBxBlBtAjAjS`RxClClC`Cd@d@","glinnik|stryków":"oau{H}r~uBKcA[eCm@iF{AgMwAuLCMoBwPqBwP[kCWuBUqBWmBQeAQeAWqA[qAm@wBI[g@uAi@sASe@EIYm@g@y@g@w@g@q@i@q@]a@_@_@o@i@i@a@k@a@cAi@]O_@Qi@Qm@OWGYGs@KoAK_FQaBGgAM}@O{Ac@aAc@y@c@y@g@u@m@kAgA}BgC}AaBqF_GuB{Bi@m@g@q@a@m@_@m@c@w@Ym@Ym@Yq@Wo@Ws@Us@Su@Sw@Sw@Q{@Oy@My@M{@K}@K{@G}@I}@E}@Eu@Cw@CgAAeA?cA@aA@gABeAHwB@WD_BHwBD{@By@DsABsA@_A@aA?}@A_AC_AA_@Aa@E_AG}@C_@C_@I}@K}@K}@M{@Mw@Q{@Ow@Sy@Sw@IYKYI[KYUm@Sk@Si@Ug@_@w@_@u@_@s@a@o@c@m@o@u@_DqCu@o@SOUUkAeA][[][]Ya@a@g@_@k@_@o@_@u@Yk@Yq@Yq@Wq@Us@Su@Uy@S{@Qu@Ou@M}@G_@G_@K{@E]C]Ec@Ea@IcACe@Cc@EeACmA?e@Ai@?oA@qABsABqA`@_P`Ag`@?KnBow@@Mt@wZv@e[DiBDgBFeCF_C@eC?iA?qAAqACoACoAGwAAMASAc@GcAMiBKmBMkBqA{RSeCKiBMiB_AeN","głowno|stryków":"qjc|HkbgwB~@R^H^JPFD@d@Rf@Vb@Xf@^d@b@HHTT\\d@h@t@h@v@bCpEt@hBj@|ADJ^tAf@zBd@hCL|@L~@T~BLxBNnC\\lGZlGx@tOxAfZl@rLRpDHrAJpAZ~C`@zCPhAHh@Hb@P`ARbALh@Jf@Lh@Lf@XdAXbA\\dA\\dA\\bA^~@`@`A`@|@b@z@b@x@d@x@b@t@Xb@X^f@x@h@t@DFrMvQ~FhI`GfIvCbEtF|HV\\Z`@n@`Af@t@b@t@d@v@PZPZHNHRNX`@|@`@~@^~@^`AZ`AL`@L`@ZdAXdAXfANn@Nn@`@~A`A|D`A~D`@bBNj@Np@Rx@Rx@Rx@VdA~BtJtEjRjNrk@j@|B^zA\\|AVdARdAP|@BLPhAPfANjANlALjALlAJlAHnAHnAJxBNpFJtCJzBPxBJz@Hz@Lz@Nz@Nz@Px@Pv@Rv@Tx@Tt@Tp@Vp@Xr@Zp@Zh@Vh@x@rA`AnAv@z@FH`@^b@^dAv@hAl@^R`@PpUfJJD|CnAn@Zn@Zn@\\l@^j@`@l@d@tAjAx@x@d@f@VZLLb@j@d@l@jAbBjAbB`BbCr@`Ar@bAvB~CtE|GjBlCjBlCvGrJvB`D|CpE^l@\\n@Zj@Xn@Xp@Vp@Vr@Tp@Tv@Pt@Rv@Px@Nz@Nx@D^F\\D\\D\\Fl@Fl@Fp@JlANvBBj@LhBB`@~Bx]tBv[","domaniewice|głowno":"ygo|Hih~wBhNhk@|BjJ~@vDbAdEnAbFrCjLbB~G`B|Gl@bCb@nBPt@Lt@H\\DZLx@Jv@Jx@@HFp@F~@F~@Dz@H~BFrCDpCHxBLzBL|AP~ARtARrAPx@Pv@Pv@Rp@\\jAN`@Nd@f@pA~@|B`C`GtDdJn@~A`@bAtAdDx]x{@L\\|AvDt@jBt@hBl@pAl@pAh@jAl@jAr@rAr@nAtA~BzFtJ|BzD`CzDxEbI|]tl@rIvN~CjFxFrJvBnDbC`Eh@~@l@fA`@v@`@z@d@dA`@bAn@bBb@rAZ`AXbAJ^J^H^J`@T`ARbAR~@N~@VvAHd@`@|B^~B`@zB^|B`A~FvD|TzA~IzA~IzBzMx@`FzA~I|AfJF^bBxJp@bEX|AX|AZ~A\\|A\\|A\\|ARt@Lf@\\tAh@nBVx@V|@Vx@Pj@FNd@xAj@|Ah@zAn@~Ad@jAd@fAh@nAj@lA|B|E`CdFLVLVZp@v@`BnBhE~EhKjCvFZp@bAnBn@jAdA~AbAlAdAbAfAz@r@d@x@b@bA`@dAZpAZNBnBd@lBd@hSrEzBf@pKdC|FrAhBb@","domaniewice|łowicz przedmieście":"ygo|Hih~wBkDoNcDwMu@yCgRiv@qAoFwDkOy@eDmB}HoBaI}E_S{Jaa@{@mDK_@Mi@WeA[yAOw@Mu@OcAMcAKeAIeAGgAGaACaAA}@AgA?eA?s@ByC?o@BaC?_A?}@?m@?k@Am@Ai@Cq@Ak@Eo@Cm@I_AG}@K}@Ky@M_AQ_AUmAUiAs@{CAIaDqN_@}AcEyQcEwQeD{N_@{Ay@wDe@sBq@uCWkAWiAQu@Qs@a@iBcAsEkCgLiCgLcAsEcAqEwCoMkCeLOq@Qm@e@{A]iA_@eAaAeCgAaCu@uAqA{BiBiCyBgCiAgAeB{AaIeHiAaA}SaRmHsGiOwMgIiHqUoSgJeI}CoCkE{DsB}AUQi@_@i@]sA}@aBaAwAu@aBw@mBw@_Bm@sBo@uBo@uDgAkDeAaBe@SGsDgAoCy@mJqCgHuBqEsAeC{@aBo@oAm@y@a@yAu@y@e@IGaBcAm@c@i@_@iA{@gA{@sDaDoBaBgGkF{DeDcDsCsBgBoAqAMMUY_@g@[e@U_@GGYi@OYEIUc@k@qAe@oAYy@y@}COq@Ou@Ic@SgAw@_GiF_`@iCoRyA}KCQoAiJ","bełchów|mokra":"auo|HeghyBNIJIXQXQ`BcA~AeArAy@NKRMFE|AaAh@]FEVQVOp@c@VQRKDCNKlAw@dFaDpAy@tFoDhIiFhIgFfIiFPKd@[d@[f@[h@_@d@]b@]^YTQTQLKVUb@_@f@a@d@c@f@c@f@e@^_@VWTW^_@\\_@d@g@b@g@b@e@`@e@`@e@`@i@TYf@q@f@o@^g@^i@f@s@^i@^m@`@m@`@o@`@q@Zk@b@s@\\m@Zm@\\o@^o@HORc@Xk@Xk@`@{@Xm@Xo@Xk@\\{@HQN_@dB}DrB}EN]`B}D@AbC{FfBgE`CsFx@oBVm@|BmFVo@dB_Ebd@yeA~@wBxa@kaAxh@mnAb@eAlBsEDI","koluszki|słotwiny":"{ryzHe_~wB\\P\\PZNZNPHVJr@Zr@Xh@R~An@VJ`A`@zGlCXJXJf@Pf@Nd@Lv@Tl@Nh@Nd@LhAZ`@JFBLDVHVHTCLDLDLDLBp@NrAXTDLDB?JBL@J@N@H?F@P?J?L?NAL?NANATCVCJCPCNENCNELGLELGLGNGZSNKLKLKNMLMLO^a@f@i@lBuBX[LMX]TWRWTYLQLSNSFKDGLUJSTa@b@{@dFqKx@eB~@mBjLqVzA_DLWN]pBgEFMzByE|B{EdBoDz@kB","bełchów|płyćwia":"auo|HeghyBNIJIXQXQ`BcA~AeArAy@NKRMFE|AaAh@]FEVQVOp@c@VQRKDCNKlAw@dFaDpAy@tFoDhIiFhIgFfIiFPKd@[d@[f@[h@_@d@]b@]^YTQTQLKVUb@_@f@a@d@c@f@c@f@e@^_@VWTW^_@\\_@d@g@b@g@b@e@`@e@`@e@`@i@TYf@q@f@o@^g@^i@f@s@^i@^m@`@m@`@o@`@q@Zk@b@s@\\m@Zm@\\o@^o@HORc@Xk@Xk@`@{@Xm@Xo@Xk@\\{@HQN_@dB}DrB}EN]`B}D@AbC{FfBgE`CsFx@oBVm@|BmFVo@dB_Ebd@yeA~@wBxa@kaAxh@mnAb@eAlBsEDIlAsCd@iAlDiIrB}EnDmIxIqSpEmK|R_e@xCqGJS~AwDDMb@cA~AsDFOFMHQJQHSv@yABCR_@@CHOHOJSJUHQ`A{BPe@Pc@Pe@Na@Na@HWHWNi@Ni@Ni@n@}BnAyELe@Je@Lg@Je@Jg@Ji@ZeBF]H]F]FWHYFWHWHUHWJUHUJULSJSLSLQJQLQt@_APSNSPQRSRSROJIHITORMRMTMRKRKRGRIRGRGRETERERCRCTARATAN?B?T?R@R@T@VBTBVBP@JB\\DVFD?ZHZH\\HTFt@TPFPDPDNDp@Nb@Jb@L^JB@p@PJBJDJBPBNDn@JPBNDLBJBHB~Ad@dAZrF~A~GpBpn@tQp@Rp@R^L^L^L^L\\L\\N\\L\\PZNNHLF@@ZPTNFBZR\\TZTZTZVRPFDZXZXRTDBXZZZDDRTX\\V\\X\\V\\V^@BTZV`@T^FJNTHPJPR\\@BTb@Tb@Rd@Td@Rd@Rd@Rd@Nb@N`@@@Nb@JZBHNd@Nd@Nd@Ld@Nd@Nj@Nj@Nj@v@vCrMxg@VhAXfANl@Nn@H`@BLLj@DTFVJl@Jl@Jl@Jl@Jn@Jl@Hn@Hn@Hl@Fp@Hp@Fn@Fp@Fn@Dl@Dn@Dl@Dn@Dp@@V@\\Bj@Bl@Bx@Bx@@L?N?J@t@@r@@t@?t@@r@?b@?NAt@?t@AT?\\At@Ct@?JAd@?@Ct@Cr@Cr@Et@Er@Er@Et@Gt@Gt@Ej@Ef@MrAObBuF~m@MtAu@nI{ArPEf@{AvPgAtLGl@qCb[yA`PuB~UMtAgAzLMrAsBhUWpCw@xIKhAE`@Gn@[fD[nD[lD[jDy@dJ_CrWw@tIq@vHCT[lDMnAsBpUKdAKxBMrAMtAGr@Er@Gp@Et@Gp@Er@Cp@En@AXAVAp@Cp@Ap@Ap@Ap@Ar@?p@?p@?p@?p@@p@@r@@p@@p@Bp@@b@Bb@Bd@?N@VDp@Dn@Dp@Fn@Dp@@LD`@Fp@Hn@Fn@Hh@Fh@@LFZHj@Hh@Hj@Jh@Jj@FX@JLl@Lj@Lj@Nl@Lh@DL@HFRNj@HXFNNh@Ph@Nb@JZFPPf@Rf@Pf@Rd@DHLZRd@Tb@Td@HNHRXf@HNNVNXRZXb@V`@V^V^X\\V\\X\\XZXZXXXZXXXVZVZVXVZTZR\\TZR^TXNVN^P^P\\Nn@Xn@Xl@TnAf@xIlD|D~Ap@b@b]bNjKdE`@N`@P`@P^N^P\\P\\PZPXNVP\\TZRZTXVVR\\XZVXXXXVXXZXZVZX\\V\\V\\T\\V\\Vb@RZR\\JRNVb@v@b@z@h@bALVVThAxBTb@|@dB`E`ItAnCf@`Af@`ATb@|A|C|@fB@@FLrB`E","bełchów|łowicz główny":"auo|HeghyB}CnBc@X]Tm@^]RA?[RaAh@a@T_@TULi@Zk@\\_@T_@VA?IFyCjB_@Va@V_@Tc@Z[RGDQLWPWP_Ap@c@Xa@Vc@X_@Va@VQLqEtCoBnAEBe@Xi@^gAp@u@d@{BvAyExCUNo@`@i@\\EBIFc@XwD~B}AbAsD|BiAt@kAt@gIfFiIhFiIhFgIhFiHpE_@VuAz@kA`AsAz@s@b@qBpAoAv@sAz@oAx@iIhFeh@d\\aHlEEBuEvCob@dXg]lTyA~@C@m@`@s@d@_@Va@Xa@Xa@XCB]Xa@ZWRKHa@\\a@\\a@\\k@f@WV_@\\YVEFc@`@[\\_@^a@`@]^_@b@_@b@_@b@]`@a@f@_@b@_@f@]b@Y`@Y^]d@[d@U\\W^g@v@g@t@iTf]cA~AiIrMk@|@eC|Dw@nAoCzDsD~F{CzEyPfXqAtBsAvB{@rAYb@g@z@i@x@e@x@{BtDu@lAMRQZMPGLYd@Yf@w@tAGLA@oAxBg@|@Yf@CB]j@[f@[f@}BtD[f@SZKR_@n@y@rAUb@iAnB_BnCe@x@g@v@c@t@c@p@Yf@oU|^c@r@c@r@a@n@_@n@]l@]j@MRWb@[f@a@r@c@p@mB~@k@~@g@t@e@t@U^}@vAcA~AcA~A}@xA","józefinów|warszawa główna towarowa":"aro}Hs{g~Bc@UQk@Qi@Oc@EKKUWm@O]_@s@a@q@IM]g@]a@Y]UUGG[Y[W]W_@U[Qa@SWKEA]Mc@M_@GOCMCCAa@E]A_@A]?_@?_@B[B[F]D]H[JQFC@[JWL[NYPWNGDeErCiBlAcBjAaAn@a@Xa@V_AXs@Zs@X_Cz@oC`AkBp@OFk@RgBn@_A\\aCx@q@Ra@Lc@Jm@Lo@Hg@Dk@Di@@g@?g@?[CUAg@Ei@Ek@Ka@IICg@Mk@Qi@Sg@Si@Yg@Yg@[_@WKI]We@c@c@a@c@c@KMW[a@g@OQQYa@m@_@m@_@o@Uc@GM]s@[s@Wq@Yu@AEY{@Uu@Uy@Su@EQKc@Ke@G[G[Ic@GWEYCOKu@G_@Iq@EWIo@KeA_@cDW}BAKGi@Ee@Ee@Ee@Ca@Cc@G}@_@gGcAwPUoDyB{^a@cH_@iGEq@w@oMMwBG_As@kL","dłubnia|raciborowice":"gsxpHwlfyBg@r@y@jAUXOTSTKJ[^i@l@SVWXUVQVUZSZS^e@z@{@`BUb@S\\U\\QTUZUTURUPYRWNSHe@Pe@Li@FS@U@a@?]Ca@EQCOEc@M[OUKa@UYSa@c@SSY_@Yc@S_@Sc@Sg@Uo@So@[eAQk@[gAi@kB]_Ai@cCDEw@sC","marków|szeligi":"a_e|Hmtb|Bq@nHEVCTaBzK_ApGcHfe@m@bEUdBQzAKdAKtAK~AGvAEbBCrAAxA?`B@pABrADtAFpAFhAJnAJhALjANnAPhALv@F\\Jj@DTDTNn@Rz@XdAV~@X|@Xv@Vr@Zv@Xn@^x@Vf@^r@b@r@\\h@^h@d@j@V\\f@j@d@d@f@d@b@`@`@X\\VdBhAfBjAxDdClQfLVPVNVPXNLJNHJFLF\\P\\PNFFBRJZLZJRHnAf@ZLXLZLXNnAl@XNZNt@XbDnAz@\\fHnCd@P`C~@pHtCb`At^","przemiarki|łazy łc":"o~orHok`uBuChBcJbHq@f@iBpAsPrLq@b@m@^u@b@u@^c@Rw@\\i@Ru@Vu@Rs@Rw@Pc@Hi@H_@Fu@Hu@F_@BW@s@B{@?w@?C?q@Aw@Ew@Gc@ESCy@Ku@Mu@Ou@Sw@Ss@Wo@Ui@Uk@Wi@Wm@[u@c@m@a@u@g@o@g@m@e@uK}Ik@c@i@a@m@a@m@_@m@[m@[m@Wa@QOGq@Um@Qs@Qo@Ms@Mo@K}B[m@Ii@Km@Ok@Ok@Qi@Si@Si@Wi@Yi@[e@[i@a@c@]_@[IIe@e@e@e@e@i@UWKO_@g@a@k@a@o@Ye@EG_@s@]s@_@w@Qa@IQ[y@Yw@Um@Qm@Qm@Ma@Oi@Mi@Qu@Oq@Mq@Km@Ig@Ga@Mw@K{@Ge@CUKy@W}BUqBIy@Gy@I{@GgAGiAK_C]cII_Bg@qHYaGEmAEw@eBo`@Es@","dąbrowa górnicza towarowa dta r5|przemiarki":"i{drHwxguBiCzKkA`Fq@pCq@`Cu@zBw@jBm@rA}@`Bi@z@i@t@s@~@gAlAo@n@i@b@gAv@i@\\y@d@e@T]Nm@Ts@TkAXoATi@FoAH{@@o@?qp@sB_ACqp@sBwIKaZaAuBG}@Aw@?_BB{AFiBNyBXyAX{@P_Cp@A@uAf@cA`@iBz@{@d@w@d@iBlAw@j@{@r@{@t@i@f@a@`@aA`A}AhBm@v@q@|@gA|A}@vA_A`Ba@r@aAdB}DnH{Wpf@_CjEeCrEwB`EwAhCiYxh@i@`Ag@|@EHk@|@w@jA[d@[`@c@j@i@p@{@bAs@v@_@^SR}@z@m@h@k@f@w@l@yC|B","dąbrowa górnicza towarowa|dąbrowa górnicza towarowa dta r5":"a}drHsrguBv@cE","rokiciny|słotwiny":"_rjzH}pvwBaC_Ag_@aOwP{GqAg@uAk@mEgBeG_CkAg@oAe@{CmA{H}CeMaFmDwA{D{Aki@gTeBs@sAi@GCsn@sVac@}PqP{G{CkA_A_@eLsEq@Ww_@kOaJqDOGmBu@e@Qg@Ui@So@Yo@Wg@Ss@YiEcB[OMEKGMGMIw@g@QKYOKIe@Y[UUQUQQQa@c@MOMQSYMUOUMWOYKWMWM[IWKWEOCIK[I]AEGUI]G]G[G]G_@E[Ea@AMCSEm@Eo@Cc@Cc@IsA]yGSkEy@wOCu@E}@Cm@Ac@Ae@Ak@?e@Ae@@g@?g@@e@@e@@g@Bg@@e@@MBYBg@De@De@De@Fe@De@BQDSFc@Hc@?AHa@Fa@Jc@Je@Ja@Ja@La@DOJ_@BKtD_MJ_@J]J[L[J[JWL[P_@\\iAdBoDz@kB","dorota|dąbrowa górnicza wschodnia":"gz{qHstttBaIoFq@e@oFqDuA}@yA{@c@WmAi@eBs@aA_@gA[qBg@mB_@_UgDCAe`@aG}AU}AYkA[iAe@iAo@cAs@OMo@k@y@}@]c@GGQW]g@[e@Wi@Wc@Wm@Wk@Wo@Uo@Ww@GWIYSw@Os@Qw@Mu@My@M{@K}@Gw@G{@G{@E{@C{@A_AA}@?k@?i@@qABwFJqM","sosnowiec dańdówka|stawiska":"coxqHo_`tBFdFDrCPhLHxFFpDLxHRnADtCJpHDbBHlFP`MJnHLvH?t@?x@AbAC|@Cx@G`AEx@Ix@Gr@Kv@EZKr@UxAsAlIQnAKv@Gf@KpAGt@EbAE~@At@C~@?L?r@BvBBdABv@F|@H~@Ht@Hr@Jv@Jj@Ln@Lj@Nl@Tv@Vt@TfA^dAtF~Op@jBb@`B^bBd@tCNfArDnXJn@tBnOPtA`Ifl@ZhBb@dBf@`Bj@zAp@tAv@pAx@dA|@bA~@t@zElDfHhFTPZTZVXVTTTVTVT\\T^P\\N\\N`@Nb@Nf@Jd@Jd@Hd@Hj@Df@Fl@Bj@Bf@@^@b@?r@@x@RpV@~ABz@Dx@Dx@Fx@RnBJt@Lt@Lt@Pr@Pr@Pn@HTHTRd@L\\Td@b@~@","katowice janów|stawiska":"w_sqH{mmsBoMcX}Om\\OYgN{ZWi@_FaKg@gAk@oA{Uai@g@iAa@y@g@iAc@aAcBmD","katowice janów|katowice much. kmb":"w_sqH{mmsBr@zAtArCf@fARd@Tf@\\x@^~@rHfS|@fCx@lCj@~Bh@jCbFnYRnAp@~D^vBdDlPHb@`@jCNfANnAHxABp@Bp@?x@?x@G~Be@vJ[~FwDdq@Q~C[tEK`CGnB@fB@rBJvFF~AFnAFn@N|AfIxs@^fDj@nGZrCxDx\\^fD\\hDB`@tIf_AVlCT~ATvA","katowice much. kmb|staszic":"szpqHw{_sBHl@Ff@NzAR|BNlAL|@N~@Pz@Pt@ZjAf@vAd@lAn@zAvHdRbAdC^z@`@x@d@v@b@f@b@d@vA|@fBh@d@Ff@@h@Ad@Ef@KhA]v@e@~@y@t@_Ad@q@d@w@d@w@","gałkówek|łódź olechów łoc":"cqvzHqbnwBBhAl@rT`@xNNdGBxABlABxA@pAJh_@@dC?zAD|JBdK?|ABtIBlHFdRf@ljB@fDAbDE|CGtCMrCQxCUjCWjC]jCa@rCyAnJAB?DCJmAzHkA~HQnAQhAOjAKdAMjAKhAIfAKlAGjAGjAEhAElAClAAhAApAApA?tA?jA@rDJv`@@nD@tD@pD@tDJb`@@tDD|N@jD@hEDvODjM@tE@lATrBBfN@n@?n@?VAz@?v@ExBAl@Cz@Cl@EbAC`AGpAAPMbCQtDkEx}@yAvZE~@I`BAJAVAVCp@IbBGfBC`ACz@A~@Ax@?vAAxA?^?rB?zA?t@?~CAnF?zB?V?h@?z@?z@@`A@`A@`A@x@B~@B~@Bx@B~@D`ABz@D|@D|@D|@FdAFdAD~@HnAJnADn@Dl@Fj@Dl@Hj@Fl@Hj@Hj@DVDTHh@Jj@Lh@Jh@Lh@Nl@~CfMRx@Rx@Nj@Ll@Hb@Jd@H`@H`@Hb@Hh@NfAJj@l@rE","dionizów|gajewniki":"kxazHmnvrB`@ITIRIb@QPKp@_@f@YZSZUZYXWTWZa@Xa@R]T_@Tg@Pc@Re@Tu@Vw@l@qB`Kc]X_AX}@\\}@N[L[Xi@NUJQ\\g@\\e@`@c@NONOt@k@v@k@v@g@pBoAdFaDnA{@nAmAV[V[j@}@Ra@Rc@b@eANa@J]Lc@Lc@Ha@H]Hc@Fa@Lw@D]B]DY@YFu@Bg@@g@@u@?s@?y@EkD?_@?[?]@u@?[?Y?c@As@?_E","kraków olsza|kraków przedmieście":"kgtpHgfxxBs@`JO|BEn@Iv@Kx@Mj@IXK\\KZM\\OZQZSXQTUVSPSNWNWLUHWFUD[BU@Q?QAKAWCUG[I]OWMmAs@s@a@[O[O[OiBs@OGQIOI]U","sosnowiec główny|sosnowiec południowy":"uozqHgqusBbBzHTd@n@bBnA~Ch@vA~@vB~@dBp@dAj@p@h@h@VQIOYk@KSIWKYGQQq@Kk@Ko@QyAGo@Eq@Ck@Ao@?_@?_@@M@s@Ds@B[BY@K@KFYFa@F[H[HYN_@L[N[","sosnowiec dańdówka|sosnowiec maczki":"coxqHo_`tBCgAC}AAkDAwAA}Ag@s]EiDAkACgCAuBAsAImEIaFC_C?CAaBB}AB}AHqBNgCd@}GTgCN}ALgBFiAFuAB_ABkA?}@?{AAkAEcBIeBGaAKoAKeAE_@Ge@Ik@O_AMw@Oy@Mm@U_Am@_C[oA}WyeAMg@q@kCCKo@cC]sAUu@Uo@Uo@Wk@Yq@[k@Ye@Ua@QWOS[a@SWOQOQSSKKGGYWWS_@[e@[eAm@{@c@_Aa@qJgEi@Wc@Sc@Ua@Ya@Y_@Yc@_@KKo@q@_@c@]c@AAYc@]g@[i@o@cAo@iAEIGG_EcH[k@KUYo@KUOWsC}EkGqKeAkB[i@Uc@O]O[Qa@IWCIMa@I]Ie@Ic@Ge@Ge@Ec@Cg@Ag@Ag@?g@?g@@c@Bi@Ba@Dk@Fe@Fc@He@Je@Lc@J[HUJYL[P]Ta@LSNUFGT[X_@nAcBl@_Ah@u@~GeKle@es@jA_Bv@aAZa@dBwB|TqXrAcBbAuALQfBcCd@y@b@_A^aA\\gAZeATkARmAJw@DWLuAHsADmABqABaEJ_NBgBBgBFcBLcBP_BT_BZaB\\sA^kABKTm@L[d@eAl@kAXa@Zc@l@u@n@k@t@g@z@e@f@Ux@_@r@[ZOXO\\Sb@W|DcCvFiD\\Wb@YZUXW\\]Z[X]X_@Ze@f@y@j@kAx@cB","borowa górka|bukowno":"}rtqHkg~tBOi@u@gJU{Cq@wHOmBKsAKmAIqAIqAOwC?E_@qJS}DW{D[yDgGmu@AMqF_q@mDub@_LcuAaLcuAaLcuAaLcuA}JanAWeCSwAIc@a@}Bg@uBk@sBw@{Be@qA[{@aB}Ek@cBUs@Ss@Sw@Qs@Ow@Ou@O}@Kw@M{@Iw@Iw@G}@Gw@E}@EeAAg@I[[eKQkGQuGC_AAs@AOAw@?aA@}@@}@BcABaADgAD}@VmE`@}H","dłubnia|kraków batowice":"gsxpHwlfyBg@r@y@jAgBhC_ApAe@t@e@v@[f@IN_@t@_@t@c@|@_@|@]|@]`AAFWt@Sj@GTYbA[jASz@WnAS`AQbASjAMdASzAGn@Gl@MvAEd@Gp@IzACn@Ch@ErAA^Ct@C|BEzCExC?BC`CItFGjDEdDGhDGjECjBE`CCdBCdBC|ACfBA`BAx@ExDClBCvAAdAApAUXOxMCvC?hA?hA@`BBlABvAFvAHvALdBHdAJdATnB`@tCb@~BTjAr@vCbAzDlC`K","koniecpol|starzyny":"mq|tH{xhwBUeGIwAK{AIcAKeAKcAMeAOaAOeAOy@UiAS_AU}@]qAe@cBi@iBaG}S]mA[kAYgAW_AS{@Q{@ScAO}@QaAMaAMgAKcAIcAIaAGgAEcAEkAAaACkA?cA?iA@y@@}@Bs@Bw@DkADy@Fy@HaA@GJaAJcAL}@L{@PgAPaAR_AVgAZkAZeAZcAZ}@Zw@Xq@Zo@Tg@Tc@Zg@Zk@T]T]`@i@b@k@`@g@b@e@h@g@d@c@f@a@h@_@j@_@d@Yl@[r@_@vC{A|C{ArV{LjN_HxLcG`LwFze@uUbLuFlAq@tAu@`BaAbBkAvAmAzAwApAwAvAiBlAoBtAyB|E{JvTid@zMiXf@_AfAwBxAgCjAmBbBaC`_@ki@Xa@fi@mv@vIcMtV}]nAcBbAuAtAuA~@}@HGbBsAbBgA~A_AnB_Afg@kTxAq@~LmF~CgAPG","katowice muchowiec staszic|staszic":"atpqHkbfsB`BxIR~@R~@l@xBh@rBT|@Rt@VvAf@nCZbBP`ATzAR`Bj@tEl@~E\\dDb@tDRlAJn@n@hDz@xEjB~J^nBP|@h@vEVvAVxAp@rD`BzIXrA`@~Av@dDtBtIxD|OtAzFnAhFXnAP|@PjAJz@LfAFdAHxABjA@dBAnACz@Ev@A`@InAMlAU|AUvAUdAc@`BIZqB`Iu@pCOf@Qf@{@lBI\\","dąbrowa górnicza wschodnia|kozioł":"k|_rHskxtBFcF@kB@aAp@el@^{ZF}GCaCXmUNgOr@{m@B{ADcBD{AFgBF}AHeBlEecAFyAH}AHsAJ{AJoANyALmANqAnHyl@LaAJaAJeAHcAFaAFeADgABaA@cA@gA?gA?cACeACcAEiAEeAGiAIeAKaAI{@OiAOeAOeAQ}@ScASy@U_AW{@Y_AUu@Wo@Yw@[u@_@y@AA{@gBcA_BcAwA}EoGiAuAiA{AaC}D_AuA_AwAu@{Au@iBm@kBk@qBg@_Ca@yBa@uCwGyc@g@eDIo@]{BUw@i@sD","dąbrowa górnicza towarowa|kozioł":"a}drHsrguBv@cEHa@tCyL^{ATaA`@qA^iA`@cAd@cAd@}@`@s@b@q@f@q@j@o@|@{@d@a@d@[~@m@x@a@b@Qx@WtA[nAMp@Cx@Av@D`@Bl@Hp@LjAZh@Pj@V`@R^Rf@ZR?DgBFwALcBR_BDYPeAp@yCj@eBPg@h@oAp@mAv@kAf@q@j@o@~@{@bAm@`Ag@fAa@p@Ot@KhAGlAAtHRtAFpALpATnAZFBdAb@jAn@jAv@fA`A`AhA~@jA|@xAt@zAr@`Bn@hBj@vB`@fB^rB|@`GJp@Hr@Jv@A~A","mysłowice|stawiska":"casqHcrysBsArAqAx@}DbCYPWRWRg@j@a@f@o@~@}BpDu@rAo@pAe@r@w@`BaBnDo@bBITi@vAa@~@a@~@c@z@g@`Ao@fAuAxB_@h@c@j@_BnByA~AmAdA_Ax@g@`@_@^Y\\KLa@h@w@vA_C~CoBhCoGnIcAzAwDxFwBbDmDnFy@~A_IhMaDnFQZk@bAYh@Yh@OXSb@Uj@Qd@Qd@Od@Mf@Oh@Kd@Mj@Kh@Ih@Ij@Ij@Eh@Gn@Eh@Cp@Cj@Al@?h@@j@Bt@Dz@RhC@RFh@Fj@Jh@Hf@Ld@Lf@N`@Nb@P`@P^T^R\\TZTVVVVTZTTNb@T\\PbAd@zAp@r@Z`@TZPVRVRVTTXTVTZR^Xf@h@fAzBvEhAdB","dąbrowa górnicza towarowa dta r5|kozioł":"i{drHwxguBHa@tCyL^{ATaA`@qA^iA`@cAd@cAd@}@`@s@b@q@f@q@j@o@|@{@d@a@d@[~@m@Zq@fB}@r@_@bAg@`FeCrBcArBcAvBcA`FcCnWmMjAc@nAYdAOvAKpA?pAHnAPlAZlAb@hAl@hAt@bA|@bAdA|@jA|@tAt@xAp@bBn@dBj@tB`@dBZhB@FnBtN","kutno|ostrowy":"}sw}HkuauB?BEPGPKf@Mb@CJOh@GRIVOh@GLGTOb@o@lBUr@GTELK\\K`@MFYJMj@YpAMn@Qx@Kd@Kf@Qr@GTw@|CGVw@`Dq@lCi@xBMf@U|@U~@GROn@Kb@K`@G^Op@Ot@Ml@Kn@Ib@CJWvAGb@CNuAbIsB|LO|@]vBEVm@lDcAbGCLe@nCiA`Ho@rD_@|B[jB[jBuD|Tg@tCa@bCa@`CCNc@jCe@rCkA~Gw@xEwE|XuBbMEVy@|ESnASjAWvAg@vCkAdHq@`E}B|MY`BWbBeNdy@k@lCG^WvAeAlGKp@YbBYbBETG\\Ot@Ov@Q~@I`@K^Ml@Mf@Of@Oh@Of@Of@Sl@Ob@Q`@IVQ`@MZOZ[t@_@p@]n@a@n@a@n@a@n@gClDiCjDqGzIiPvTOd@yNxR}b@|k@g\\fd@k\\`d@}AxByA~BuAdCoAjCkAnCgAxC{f@|vA}f@dwAyYfz@e@rA_@dAe@nAa@dAi@nAg@hA{JhT{AnCaAtByAvCoCzFw@bBsAvCOZiK|T[n@wAxCyClG[r@{B|E[r@y@hB","dionizów|zduńska wola":"kxazHmnvrB`@ITIRIvAg@^OXOXQTOTOTUTSVYV[T]Va@Ta@Vg@Rg@Tk@Pk@hA{DzJw\\ZaAZ_AL_@L[N[N[Zk@\\i@d@q@d@g@RQPQj@a@p@a@^Q^Od@Mb@I^G^C^A\\?X@X@\\D\\F^J^H\\N\\Nb@V`@Vf@`@XXVZTXTXXb@Vb@Vd@Th@Rf@Pf@J\\J\\Ld@Ld@Hh@Jj@Jl@Hn@Df@Df@Dh@Bh@Dn@BpABdBBpAFhFFdFBdBBnBJbI@x@Bh@FdA@\\LlCB\\?^FzDBhCTrQBvA?dABfDB|E@fABzCVjRFpFDhBDjBJrE@r@DhB@bAF|E@d@Hh@","dąbrowa górnicza huta katowice|dąbrowa górnicza strzemieszyce":"q_frHwvptBPf@jAY\\Gf@MXEXEVEXA\\C\\?^@`@Bb@DH@RD`@H^L^N\\L^TZR`@Z\\X~CnCtDfDdIjHzClCxClCLLf@b@h@b@b@\\XR?@JFd@Zb@Xf@Xd@Vd@Vd@R@?d@Rd@PJDHB\\L`@Lp@Pl@LD@j@Jn@JfBPlCHtABP?xDSnAWnAa@lAg@lAs@fAw@bAcAhAmA`AuAf@}@x@{Av@}AHOpBcEFMpJuR~@}BVs@L[HSHUFQHSDODIBIFONi@DS`@wANo@Pm@FWDUH_@H_@^qB`AcFP}@VsA~@yE","zduńska wola|zduńska wola karsznice":"qh_zH{rrrBAi@Ae@Ay@@_@?[@}@@c@?]AWIeHIiHAk@E}BE_DA_BCw@A_AC_ACyAA{Ac@i]GkFYiUGsE]wXGkFCeA?mC?cABeAD}ALmBFy@HaAZcCN{@Nw@XuANk@ZiAPg@f@yAbA}B`@s@p@iAt@cAf@m@n@o@z@w@x@g@z@i@`Ac@zAg@~@QrC_@nAEhB?zAHfBNdL|@rA@nAEfBUnBk@|@a@nAs@fA{@bAaAbAkA|@sAt@oAv@_B`A}Bv@qB`CsGhAyCt@qB~KiZ`AkC^_Ad@gA\\u@\\u@d@{@`@u@Ta@`@o@~AmCh@{@b@m@b@o@b@m@tFoHFK|EqG","idzikowice|radzice":"wa`yH{v~zBsFkKYk@kAeBcIoOoBsDuAiCgCgGmoAiaC}@eBsCuFs@yAkAaCcA_C}@wBaAmCw@uCq@oCq@cDe@iDQwAOuAIu@Gq@MgBGw@Eu@MkBEy@G_AO{Bq@_LkAiRe@mHc@mHGiAEgAG_BCyAAgA?cA?iA@eABgABcAFgAFeAFaAHgAJ_AJcA\\aCPeAPiAT_Bx@cFLu@"},"segmentColors":{"warszawa grochów|warszawa wschodnia":[[0,0]],"warszawa centralna|warszawa wschodnia":[[0,0]],"warszawa centralna|warszawa zachodnia":[[0,0]],"warszawa włochy|warszawa zachodnia":[[0,0]],"józefinów|warszawa włochy":[[0,0]],"józefinów|pruszków":[[0,0]],"grodzisk mazowiecki|pruszków":[[0,0]],"grodzisk mazowiecki|korytów":[[0,0]],"korytów|szeligi":[[0,0]],"biała rawska|szeligi":[[0,0]],"biała rawska|strzałki":[[0,0]],"idzikowice|strzałki":[[0,0]],"idzikowice|opoczno południe":[[0,0]],"opoczno południe|pilichowice":[[0,0]],"olszamowice|pilichowice":[[0,0]],"olszamowice|włoszczowa północ":[[0,0]],"knapówka|włoszczowa północ":[[0,0]],"knapówka|psary":[[0,0]],"psary|starzyny":[[0,0]],"sprowa|starzyny":[[0,0]],"kozłów|sprowa":[[0,0]],"kozłów|tunel":[[0,0]],"miechów|tunel":[[0,0]],"miechów|słomniki":[[0,0]],"niedźwiedź|słomniki":[[0,0]],"niedźwiedź|zastów":[[0,0]],"raciborowice|zastów":[[0,0]],"kraków batowice|raciborowice":[[0,0]],"kraków batowice|kraków przedmieście":[[0,0]],"kraków główny|kraków przedmieście":[[0,0]],"kraków główny|kraków zabłocie":[[0,0]],"kraków płaszów pzs kpa|kraków zabłocie":[[0,0]],"góra włodowska|psary":[[0,0]],"góra włodowska|zawiercie":[[0,0]],"zawiercie|łazy ła":[[0,0]],"łazy|łazy ła":[[0,0]],"łazy|łazy łc":[[0,0]],"dąbrowa górnicza ząbkowice|łazy łc":[[0,0]],"dąbrowa górnicza|dąbrowa górnicza ząbkowice":[[0,0]],"będzin|dąbrowa górnicza":[[0,0]],"będzin|sosnowiec główny":[[0,0]],"katowice zawodzie|sosnowiec główny":[[0,0]],"katowice|katowice zawodzie":[[0,0]],"włoszczowa północ|żelisławice":[[0,0]],"grodzisk mazowiecki|żyrardów":[[0,0]],"radziwiłłów mazowiecki|żyrardów":[[0,0]],"radziwiłłów mazowiecki|skierniewice":[[0,0]],"płyćwia|skierniewice":[[0,0]],"płyćwia|rogów":[[0,0]],"koluszki|rogów":[[0,0]],"koluszki|rokiciny":[[0,0]],"baby|rokiciny":[[0,0]],"baby|piotrków trybunalski":[[0,0]],"piotrków trybunalski towarowy|rozprza":[[0,0]],"warszawa gołąbki|warszawa włochy":[[0,0]],"bednary|warszawa gołąbki":[[0,0],[12,1],[707,0]],"bednary|łowicz główny":[[0,0]],"jackowice|łowicz główny":[[0,0]],"jackowice|stara wieś":[[0,0],[9,1],[163,0]],"kutno|stara wieś":[[0,0]],"krzewie|kutno":[[0,0]],"gałkówek|koluszki":[[0,0]],"gałkówek|łódź andrzejów":[[0,0]],"łódź andrzejów|łódź widzew":[[0,0]],"łódź fabryczna|łódź widzew":[[0,0]],"mikołajów|żakowice południowe":[[0,0]],"gałkówek|żakowice południowe":[[0,0]],"łódź marysin|łódź widzew":[[0,0]],"zgierz|łódź marysin":[[0,0]],"zgierz|zgierz północ":[[0,0]],"zgierz kontrewers|zgierz północ":[[0,0]],"chociszew|zgierz kontrewers":[[0,0]],"chociszew|ozorków":[[0,0]],"ozorków|łęczyca":[[0,0]],"witonia|łęczyca":[[0,0]],"kutno|witonia":[[0,0]],"kraków główny|kraków płaszów pzs kpa":[[0,0]],"warszawa praga wpt m|warszawa wschodnia":[[0,0]],"katowice zawodzie|mysłowice":[[0,0]],"katowice|katowice tow. ktc":[[0,0]],"kraków główny|sosnowiec maczki":[[0,0],[69,1],[988,0]],"dorota|sosnowiec maczki":[[0,0]],"dorota|dąbrowa górnicza południowa":[[0,0]],"dąbrowa górnicza huta katowice|dąbrowa górnicza południowa":[[0,0]],"dąbrowa górnicza huta katowice|dąbrowa górnicza ząbkowice":[[0,0]],"myszków|zawiercie":[[0,0]],"myszków|rozprza":[[0,0],[1,1],[1148,0]],"gałkówek|rokiciny":[[0,0]],"łódź chojny|łódź widzew":[[0,0]],"retkinia|łódź chojny":[[0,0]],"retkinia|łódź lublinek":[[0,0]],"pabianice|łódź lublinek":[[0,0]],"dobroń|pabianice":[[0,0]],"dobroń|kolumna":[[0,0]],"kolumna|łask":[[0,0]],"borszewice|łask":[[0,0]],"borszewice|gajewniki":[[0,0]],"gajewniki|zduńska wola":[[0,0]],"sieradz|zduńska wola":[[0,0]],"łódź chojny|łódź dąbrowa pbs":[[0,0]],"łódź dąbrowa pbs|łódź widzew":[[0,0]],"kraków główny kga|sosnowiec maczki":[[0,0],[17,1],[927,0]],"kraków główny|kraków główny kga":[[0,0]],"łódź fabryczna|łódź niciarniana":[[0,0]],"łódź niciarniana|łódź widzew":[[0,0]],"warszawa podskarbińska|warszawa wschodnia":[[0,0]],"lipce reymontowskie|płyćwia":[[0,0]],"lipce reymontowskie|rogów":[[0,0]],"bedoń|łódź andrzejów":[[0,0]],"bedoń|justynów":[[0,0]],"gałkówek|justynów":[[0,0]],"gałkówek|żakowice":[[0,0]],"koluszki|żakowice":[[0,0]],"koluszki|wągry":[[0,0]],"rogów|wągry":[[0,0]],"przyłęk duży|rogów":[[0,0]],"krosnowa|przyłęk duży":[[0,0]],"krosnowa|lipce reymontowskie":[[0,0]],"maków|płyćwia":[[0,0]],"dąbrowice skierniewickie|maków":[[0,0]],"dąbrowice skierniewickie|skierniewice":[[0,0]],"puszcza mariańska|skierniewice":[[0,0]],"koluszki|żakowice południowe":[[0,0]],"idzikowice|radzice pzs r31":[[0,0]],"łowicz główny|łowicz przedmieście":[[0,0]],"stare grudze|łowicz przedmieście":[[0,0]],"domaniewice|stare grudze":[[0,0]],"domaniewice|domaniewice centrum":[[0,0]],"domaniewice centrum|kamień łowicki":[[0,0]],"głowno północne|kamień łowicki":[[0,0]],"głowno|głowno północne":[[0,0]],"bratoszewice|głowno":[[0,0]],"bratoszewice|stryków":[[0,0]],"stryków|swędów":[[0,0]],"glinnik|swędów":[[0,0]],"glinnik|glinnik wieś":[[0,0]],"glinnik wieś|smardzew":[[0,0]],"smardzew|zgierz rudunki":[[0,0]],"zgierz|zgierz rudunki":[[0,0]],"zgierz|łódź radogoszcz wschód":[[0,0]],"łódź arturówek|łódź radogoszcz wschód":[[0,0]],"łódź arturówek|łódź warszawska":[[0,0]],"łódź marysin|łódź warszawska":[[0,0]],"łódź marysin|łódź stoki":[[0,0]],"łódź stoki|łódź widzew":[[0,0]],"słotwiny|żakowice południowe":[[0,0]],"mikołajów|słotwiny":[[0,0]],"sędziszów towarowy|warszawa zachodnia peron 8":[[0,0],[1,1],[4570,0]],"sędziszów|sędziszów towarowy":[[0,0]],"gniewięcin apo|sędziszów":[[0,0]],"gniewięcin apo|klimontów apo":[[0,0]],"klimontów apo|kozłów":[[0,0]],"charsznica|tunel":[[0,0]],"charsznica|gajówka apo":[[0,0]],"gajówka apo|wolbrom":[[0,0]],"wolbrom|zarzecze apo":[[0,0]],"jaroszowiec olkuski|zarzecze apo":[[0,0]],"jaroszowiec olkuski|olkusz":[[0,0]],"bukowno|olkusz":[[0,0]],"bukowno|sławków":[[0,0]],"dąbrowa górnicza wschodnia|sławków":[[0,0]],"dąbrowa górnicza strzemieszyce|dąbrowa górnicza wschodnia":[[0,0]],"dąbrowa górnicza strzemieszyce|sosnowiec kazimierz":[[0,0]],"sosnowiec kazimierz|sosnowiec maczki":[[0,0]],"chrusty nowe|żakowice":[[0,0]],"chrusty nowe|rokiciny":[[0,0]],"rokiciny|łaznów":[[0,0]],"wolbórka|łaznów":[[0,0]],"baby|wolbórka":[[0,0]],"baby|moszczenica":[[0,0]],"jarosty|moszczenica":[[0,0]],"jarosty|piotrków trybunalski":[[0,0]],"gawrony|witonia":[[0,0]],"gawrony|łęczyca":[[0,0]],"sierpów|łęczyca":[[0,0]],"ozorków|sierpów":[[0,0]],"ozorków|ozorków nowe miasto":[[0,0]],"chociszew|ozorków nowe miasto":[[0,0]],"chociszew|grotniki":[[0,0]],"grotniki|jedlicze koło zgierza":[[0,0]],"jedlicze koło zgierza|zgierz kontrewers":[[0,0]],"zgierz jaracza|zgierz północ":[[0,0]],"zgierz|zgierz jaracza":[[0,0]],"zgierz|łódź radogoszcz zachód":[[0,0]],"łódź radogoszcz zachód|łódź żabieniec":[[0,0]],"łódź kaliska|łódź żabieniec":[[0,0]],"łódź kaliska|łódź pabianicka":[[0,0]],"łódź chojny|łódź pabianicka":[[0,0]],"łódź chojny|łódź dąbrowa":[[0,0]],"łódź dąbrowa pbs|łódź zarzew":[[0,0]],"łódź widzew|łódź zarzew":[[0,0]],"sosnowiec dańdówka|sosnowiec kazimierz":[[0,0]],"sosnowiec dańdówka|sosnowiec południowy":[[0,0]],"katowice zawodzie|sosnowiec południowy":[[0,0]],"warszawa gołąbki|łowicz główny":[[0,0],[4,1],[697,0]],"kutno|łowicz główny":[[0,0],[116,1],[245,0]],"łódź andrzejów szosa|łódź widzew":[[0,0]],"łódź andrzejów szosa|łódź olechów pzs r82":[[0,0]],"łódź olechów wschód|łódź olechów łoc":[[0,0]],"łódź olechów pzs r16|łódź olechów wschód":[[0,0]],"łódź olechów pzs r16|łódź olechów zachód":[[0,0]],"łódź olechów wiadukt|łódź olechów zachód":[[0,0]],"łódź olechów pzs r3|łódź olechów wiadukt":[[0,0]],"łódź chojny|łódź olechów pzs r3":[[0,0]],"retkinia|łódź pabianicka":[[0,0]],"retkinia|łódź retkinia":[[0,0]],"łódź lublinek|łódź retkinia":[[0,0]],"pabianice północne|łódź lublinek":[[0,0]],"pabianice|pabianice północne":[[0,0]],"chechło|pabianice":[[0,0]],"chechło|dobroń":[[0,0]],"izabelów|zduńska wola":[[0,0]],"izabelów|męcka wola":[[0,0]],"męcka wola|sieradz męka":[[0,0]],"sieradz męka|sieradz warta":[[0,0]],"sieradz|sieradz warta":[[0,0]],"retkinia|łódź kaliska":[[0,0]],"bełchów|skierniewice":[[0,0]],"bednary|bełchów":[[0,0]],"warszawa stadion|warszawa wschodnia":[[0,0]],"warszawa powiśle|warszawa stadion":[[0,0]],"warszawa powiśle|warszawa śródmieście":[[0,0]],"warszawa ochota|warszawa śródmieście":[[0,0]],"warszawa ochota|warszawa zachodnia":[[0,0]],"warszawa ursus północny|warszawa włochy":[[0,0]],"warszawa gołąbki|warszawa ursus północny":[[0,0]],"warszawa ursus|warszawa włochy":[[0,0]],"warszawa ursus|warszawa ursus niedźwiadek":[[0,0]],"piastów|warszawa ursus niedźwiadek":[[0,0]],"piastów|pruszków":[[0,0]],"parzniew|pruszków":[[0,0]],"brwinów|parzniew":[[0,0]],"brwinów|milanówek":[[0,0]],"grodzisk mazowiecki|milanówek":[[0,0]],"grodzisk mazowiecki|jaktorów":[[0,0]],"jaktorów|międzyborów":[[0,0]],"międzyborów|żyrardów":[[0,0]],"sucha żyrardowska|żyrardów":[[0,0]],"jesionka|sucha żyrardowska":[[0,0]],"jesionka|radziwiłłów mazowiecki":[[0,0]],"radziwiłłów mazowiecki|skierniewice rawka":[[0,0]],"skierniewice|skierniewice rawka":[[0,0]],"mokra|skierniewice":[[0,0]],"mokra|sierakowice skierniewickie":[[0,0]],"bełchów|sierakowice skierniewickie":[[0,0]],"bełchów|bobrowniki":[[0,0]],"bobrowniki|łowicz główny":[[0,0]],"gniewięcin apo|klimontów":[[0,0]],"klimontów|klimontów apo":[[0,0]],"dziadówki|tunel":[[0,0]],"dziadówki|miechów":[[0,0]],"kamieńczyce|miechów":[[0,0]],"kamieńczyce|szczepanowice":[[0,0]],"smroków|szczepanowice":[[0,0]],"smroków|słomniki":[[0,0]],"słomniki|słomniki miasto":[[0,0]],"niedźwiedź|słomniki miasto":[[0,0]],"goszcza|niedźwiedź":[[0,0]],"goszcza|łuczyce":[[0,0]],"baranówka|łuczyce":[[0,0]],"baranówka|zastów":[[0,0]],"czarnca|knapówka":[[0,0]],"dorota|juliusz":[[0,0]],"juliusz|sosnowiec dańdówka":[[0,0]],"charsznica|gajówka":[[0,0]],"gajówka|gajówka apo":[[0,0]],"gajówka apo|jeżówka":[[0,0]],"jeżówka|wolbrom":[[0,0]],"wolbrom|zarzecze":[[0,0]],"zarzecze|zarzecze apo":[[0,0]],"chrząstowice olkuskie|zarzecze apo":[[0,0]],"chrząstowice olkuskie|jaroszowiec olkuski":[[0,0]],"bukowno|bukowno przymiarki":[[0,0]],"bukowno przymiarki|sławków":[[0,0]],"sosnowiec kazimierz|sosnowiec porąbka":[[0,0]],"sosnowiec dańdówka|sosnowiec porąbka":[[0,0]],"łódź chojny|łódź kaliska":[[0,0]],"zgierz|łódź żabieniec":[[0,0]],"dąbrowa górnicza gołonóg|dąbrowa górnicza ząbkowice":[[0,0]],"dąbrowa górnicza|dąbrowa górnicza gołonóg":[[0,0]],"będzin ksawera|dąbrowa górnicza":[[0,0]],"będzin ksawera|będzin miasto":[[0,0]],"będzin|będzin miasto":[[0,0]],"myszków mrzygłód|myszków światowit":[[0,0]],"myszków mrzygłód|zawiercie borowe pole":[[0,0]],"zawiercie|zawiercie borowe pole":[[0,0]],"wiesiółka|łazy łc":[[0,0]],"chruszczobród|wiesiółka":[[0,0]],"chruszczobród|dąbrowa górnicza sikorka":[[0,0]],"dąbrowa górnicza sikorka|dąbrowa górnicza ząbkowice":[[0,0]],"dąbrowa górnicza pogoria|dąbrowa górnicza ząbkowice":[[0,0]],"dąbrowa górnicza gołonóg|dąbrowa górnicza pogoria":[[0,0]],"łódź dąbrowa|łódź zarzew":[[0,0]],"kraków płaszów|kraków zabłocie":[[0,0]],"gajewniki|zduńska wola karsznice":[[0,0]],"glinnik|zgierz":[[0,0]],"glinnik|stryków":[[0,0]],"głowno|stryków":[[0,0]],"domaniewice|głowno":[[0,0]],"domaniewice|łowicz przedmieście":[[0,0]],"bełchów|mokra":[[0,0]],"koluszki|słotwiny":[[0,0]],"bełchów|płyćwia":[[0,0]],"bełchów|łowicz główny":[[0,0]],"józefinów|warszawa główna towarowa":[[0,0]],"dłubnia|raciborowice":[[0,0]],"marków|szeligi":[[0,0]],"przemiarki|łazy łc":[[0,0]],"dąbrowa górnicza towarowa dta r5|przemiarki":[[0,0]],"dąbrowa górnicza towarowa|dąbrowa górnicza towarowa dta r5":[[0,0]],"rokiciny|słotwiny":[[0,0]],"dorota|dąbrowa górnicza wschodnia":[[0,0]],"sosnowiec dańdówka|stawiska":[[0,0]],"katowice janów|stawiska":[[0,0]],"katowice janów|katowice much. kmb":[[0,0]],"katowice much. kmb|staszic":[[0,0]],"gałkówek|łódź olechów łoc":[[0,0]],"dionizów|gajewniki":[[0,0]],"kraków olsza|kraków przedmieście":[[0,0]],"sosnowiec główny|sosnowiec południowy":[[0,0]],"sosnowiec dańdówka|sosnowiec maczki":[[0,0]],"borowa górka|bukowno":[[0,0]],"dłubnia|kraków batowice":[[0,0]],"koniecpol|starzyny":[[0,0]],"katowice muchowiec staszic|staszic":[[0,0]],"dąbrowa górnicza wschodnia|kozioł":[[0,0]],"dąbrowa górnicza towarowa|kozioł":[[0,0]],"mysłowice|stawiska":[[0,0]],"dąbrowa górnicza towarowa dta r5|kozioł":[[0,0]],"kutno|ostrowy":[[0,0]],"dionizów|zduńska wola":[[0,0]],"dąbrowa górnicza huta katowice|dąbrowa górnicza strzemieszyce":[[0,0]],"zduńska wola|zduńska wola karsznice":[[0,0]],"idzikowice|radzice":[[0,0]]}} \ No newline at end of file diff --git a/packages/map/lib/trainRoute.ts b/packages/map/lib/trainRoute.ts index ff90519..c3ab423 100644 --- a/packages/map/lib/trainRoute.ts +++ b/packages/map/lib/trainRoute.ts @@ -13,22 +13,27 @@ * 3. computeRoute() resolves each stop name to coordinates from the * gazetteer in railData.json. Stops without coordinates are skipped. * 4. The route is trimmed to the first and last "known" stations (stations - * that exist in the wiki interactive map — these define the playable area). + * that resolved AND validated against the wiki track data at generation + * time — in-game resolvable stations). * 5. For each consecutive pair of resolved stops, the pre-computed track - * geometry is looked up from railData.segments (encoded as Google - * Encoded Polylines, keyed by "fromNormalized|toNormalized"). + * geometry is looked up from railData.segments. Keys are SORTED pairs + * ("aNorm|bNorm" with a; - /** Pre-computed track geometries: "fromNorm|toNorm" → Google Encoded Polyline. */ + /** + * Pre-computed track geometries, keyed by the SORTED pair of normalized + * station names ("a|b" with a; /** - * Color boundaries per segment: "fromNorm|toNorm" → [[startIndex, colorCode], ...] - * Each entry marks where a new color section begins (by point index into the - * decoded polyline). colorCode: 0=green, 1=red, 2=grey. + * Color boundaries per segment (same sorted key): [[startIndex, colorCode], ...] + * Each entry marks where a new color section begins (by point index into + * the decoded polyline, in key order). colorCode: 0=green, 1=red, 2=grey. * Segments not in this map default to [[0, 0]] (all green). */ segmentColors: Record; @@ -238,15 +239,16 @@ export function getTrainRoute(train: { * 1. Fetch the train's timetable (stop list with line numbers). * 2. Resolve each stop name to coordinates from the gazetteer. * Stops without coordinates (signal boxes, off-map stations) are skipped. - * 3. Trim the route to the first and last "known" stations (playable area). + * 3. Trim the route to the first and last "known" stations. * 4. For each consecutive pair of resolved stops: - * a. Look up the pre-computed track geometry (encoded polyline). + * a. Look up the pre-computed track geometry by the sorted key pair, + * reversing the decoded points when traveling against key order. * b. If no geometry exists, draw a grey straight line (no wiki data). - * c. Decode the polyline and split it at color boundaries - * (from segmentColors) into green/red/grey sub-segments. - * d. Merge adjacent same-color sub-segments for rendering efficiency. - * e. After a gap (missing segment), don't merge with the previous - * segment to avoid creating straight lines across gaps. + * c. Split the polyline at color boundaries (from segmentColors) + * into green/red/grey sub-segments, in travel order. + * d. Merge adjacent same-color sub-segments. Consecutive segments + * share exact endpoints (canonical station nodes), so merging + * is exact — no bridging needed. * * @param train - Object with ServerCode and TrainNoLocal * @returns Array of ColoredSegment, or null if the route can't be computed @@ -294,53 +296,37 @@ async function computeRoute(train: { for (let i = 0; i < effective.length - 1; i++) { const a = effective[i]; const b = effective[i + 1]; - const segKey = `${a.name}|${b.name}`; - const encoded = railData.segments[segKey]; + + // Segments are keyed by the sorted pair of names; reverse the decoded + // points when the train travels against key order. + const key = a.name < b.name ? `${a.name}|${b.name}` : `${b.name}|${a.name}`; + const encoded = railData.segments[key]; // No pre-computed route — draw a grey straight line to indicate // the route continues but track data is not available. if (!encoded) { - // Start the grey from the previous segment's endpoint (the last - // point of the preceding green/red segment) if connected, so the - // grey line connects seamlessly to the track polyline. - const startCoord = - prevConnected && segments.length > 0 - ? segments[segments.length - 1].points[ - segments[segments.length - 1].points.length - 1 - ] - : a.coord; - // Skip excessively long grey lines (> 50km) — they are caused by - // wrong station coordinates in the wiki data (e.g. Maków - // Podhalański is misplaced near Skierniewice instead of the Tatra - // mountains, creating a 211km grey line). - const greyKm = haversineKm(startCoord, b.coord); - if (greyKm > 50) { - prevConnected = false; - continue; - } - segments.push({ color: "grey", points: [startCoord, b.coord] }); + segments.push({ color: "grey", points: [a.coord, b.coord] }); prevConnected = false; continue; } - // Decode the full polyline for this segment. + const reversed = a.name > b.name; + // Decode in KEY order — boundary indices refer to key-order points. + // Travel direction is applied after slicing, by reversing the + // sub-segments and their points below. const allPts = decodePolyline(encoded); - // If this segment follows a gap (grey line), the grey line ended at - // the station coordinate. Update its endpoint to the polyline's first - // point (the A* snap point on the track) so the grey connects to green. - if (!prevConnected && segments.length > 0) { - const lastGrey = segments[segments.length - 1]; - if (lastGrey.color === "grey" && allPts.length > 0) { - lastGrey.points[lastGrey.points.length - 1] = allPts[0]; - } - } - - // Get color boundaries: [[startIndex, colorCode], ...] + // Get color boundaries: [[startIndex, colorCode], ...] in KEY order. // Default to [[0, 0]] (all green) if not in the data. - const boundaries = railData.segmentColors?.[segKey] ?? [[0, 0]]; - - // Split the polyline into colored sub-segments at each boundary. + const boundaries = railData.segmentColors?.[key] ?? [[0, 0]]; + + // Split the polyline into colored sub-segments at each boundary + // (in stored order), then reverse both the sub-segment order and + // their points when traveling against key order. + const subs: { + color: "green" | "red" | "grey"; + points: RoutePoint[]; + }[] = []; for (let bi = 0; bi < boundaries.length; bi++) { const [startIdx, colorCode] = boundaries[bi]; // End index is the start of the next boundary, or the end of the polyline. @@ -351,52 +337,29 @@ async function computeRoute(train: { startIdx, bi < boundaries.length - 1 ? endIdx + 1 : endIdx, ); - const color = COLOR_NAMES[colorCode] ?? "grey"; + subs.push({ + color: COLOR_NAMES[colorCode] ?? "grey", + points: subPts, + }); + } + if (reversed) { + subs.reverse(); + for (const sub of subs) sub.points.reverse(); + } + for (const { color, points: subPts } of subs) { // Merge with the previous segment if same color and connected - // (no gap). This produces continuous polylines for rendering. + // (no gap). Consecutive segments share exact endpoints (canonical + // station nodes), so the merge is exact. const lastSeg = segments[segments.length - 1]; if (prevConnected && lastSeg && lastSeg.color === color) { lastSeg.points.push(...subPts.slice(1)); } else { - // If connected to the previous segment (different color), - // bridge the snap gap by replacing the first point with the - // previous segment's last point. Different A* runs may snap - // the same station to slightly different track nodes. - if (prevConnected && lastSeg && subPts.length > 0) { - subPts[0] = lastSeg.points[lastSeg.points.length - 1]; - } segments.push({ color, points: subPts }); } prevConnected = true; } } - // Remove backtracks from each segment's polyline. At junctions, the train - // may go out to a stop and reverse back through the same tracks. When - // consecutive segments are merged, this creates visible loops on the map - // (the path revisits the same coordinates 3-5 times). This pass detects - // duplicate coordinates and removes the out-and-back portion. - for (const seg of segments) { - if (seg.color === "grey" || seg.points.length < 4) continue; - let changed = true; - while (changed && seg.points.length > 2) { - changed = false; - const seen = new Map(); - for (let i = 0; i < seg.points.length; i++) { - const key = `${seg.points[i][0]},${seg.points[i][1]}`; - const prev = seen.get(key); - if (prev !== undefined) { - // Duplicate found: remove the sub-path between the two - // occurrences (the out-and-back), keeping the first. - seg.points.splice(prev + 1, i - prev); - changed = true; - break; - } - seen.set(key, i); - } - } - } - return segments; } diff --git a/packages/map/scripts/generate-rail-data.mjs b/packages/map/scripts/generate-rail-data.mjs index b8c2f1a..59db0bf 100644 --- a/packages/map/scripts/generate-rail-data.mjs +++ b/packages/map/scripts/generate-rail-data.mjs @@ -14,9 +14,9 @@ * LK4, LK62, etc.), split into "available" (drivable in SimRail) and * "not available" (not drivable) sections. Some lines have two entries * with different URLs (e.g. lk1.geojson vs lk1u.geojson). - * - Station GeoJSON files: track geometry at each station/signal box, - * used to extract station coordinates. Geometry types include - * LineString, MultiLineString, Polygon, and Point. + * - Station GeoJSON files: track/platform geometry at each station, + * used to extract a station's center point (arc-length midpoint of the + * longest track LineString, or the platform Polygon centroid). * - map-data.json: master index of routes and stations with metadata * (type: "po"/"border"/"playable:false", available: true/false). * 2. SimRail official timetable API (api1.aws.simrail.eu) — provides all @@ -28,38 +28,54 @@ * small stops (e.g. Sprowa, Józefinów) that aren't in the wiki. * 4. SimRail stations-open API (panel.simrail.eu:8084) — provides * coordinates for dispatch stations (e.g. Pruszków, Grodzisk Mazowiecki). + * 5. scripts/station-overrides.json — curated coordinates for stations with + * known-bad source geometry (applied last, wins over all other sources). * * Pipeline: * Step 1: Fetch wiki map-data.json + route GeoJSONs + station GeoJSONs + * timetables (all in parallel). Cache all responses to disk. - * Step 1b: Supplement station coordinates from local files + stations-open API - * (the wiki doesn't include all timetable stops). + * Station coordinates are extracted as geometry CENTERS (not the + * first coordinate, which sits at the station's edge). + * Step 1b: Supplement station coordinates from local files + stations-open API, + * then apply curated overrides. * Step 2: Collect unique segments from timetables. A segment is a pair of - * consecutive stops that both have coordinates. Stops without - * coordinates (signal boxes, off-map stations) are skipped, and - * the surrounding resolvable stops are connected directly. Each - * segment records allLines (all line numbers between the from and - * to stops, including skipped intermediates) for A* line preference. - * Step 3: Compute A* routes for each segment. Build a rail graph (CSR format) - * from wiki track geometry. For each segment: - * - Snap from/to station coordinates to graph nodes, preferring the - * from-stop's departure line (prevents snapping to wrong parallel - * tracks at junctions). - * - Try A* with the from-stop's line as preferred (non-preferred - * edges cost 10x more but are still traversable for junction - * connectors). Fallback to allLines, then unconstrained with - * detour guard (>1.5x straight-line distance = rejected). - * - Skip segments whose timetable line number doesn't exist in the - * wiki (e.g. line 131 maps to wiki LK543/LK542, not LK131). - * - Remove backtracking points (Z-shaped edges) iteratively. + * consecutive stops that both have coordinates, keyed by the SORTED + * pair of normalized station names (direction-agnostic: "a|b" and + * "b|a" are the same segment, computed once and reversed at lookup + * time). Stops without coordinates are skipped and the surrounding + * resolvable stops are connected directly. Each segment accumulates + * allLines — the union of line numbers used by every train on that + * pair, in both directions — used for A* line preference. + * Step 2.5: Canonical station nodes. Each station is snapped ONCE to the + * nearest graph node on any of its served lines (the lines of all + * segments touching it), within 3km. Every segment touching the + * station then routes to/from the same node, so consecutive + * segments chain exactly with no gaps or straight-line bridges. + * Stations that fail to snap (>3km from any track — e.g. wrong + * source coordinates, like Maków Podhalański) are dropped from the + * gazetteer and reported; the runtime treats them as unknown stops. + * Step 3: Compute A* routes for each segment: canonical node → canonical + * node. Try the available-tracks graph first (guarantees an + * all-green path); fall back to the full graph for segments that + * traverse non-drivable tracks. A* prefers the segment's + * accumulated lines (non-preferred edges cost 10x more but remain + * traversable for junction connectors). Paths are validated: a + * detour guard (>2x straight-line + 5km = rejected) and a + * non-timetable-line usage guard (>5km on a foreign line = the wiki + * doesn't have the right tracks → leave the segment uncomputed so + * the runtime draws it grey). * Step 4: Determine per-segment drivability (green/red) by classifying each - * point along the path against the wiki's available and not-available - * track geometry. A point is red only if it's NOT on an available - * track (>50m away) AND close to a not-available track (<200m). - * This avoids false reds from parallel available/not-available tracks. - * Store results as color boundaries: [startIndex, colorCode] pairs. + * point along the path against the wiki's available and + * not-available track geometry of all the segment's lines. A point + * is red only if it's NOT on an available track (>50m away) AND + * close to a not-available track (<200m). This avoids false reds + * from parallel available/not-available tracks. Store results as + * color boundaries: [startIndex, colorCode] pairs. * colorCode: 0=green, 1=red, 2=grey (no wiki data). - * Step 5: Write the output JSON file. + * Step 5: Write the output JSON file. Also print a grey-risk report: + * uncomputed consecutive-stop pairs whose stations are >50km apart + * (these would draw very long grey straight lines at runtime and + * usually indicate data rot in the wiki). * * Usage: node packages/map/scripts/generate-rail-data.mjs [--refresh] * @@ -69,16 +85,18 @@ * * Output format (railData.json): * { - * knownStations: string[], // Normalized station names (define playable area for route trimming) - * stations: { [name]: [lat, lon] }, // Station coordinate gazetteer (normalized name → [lat, lon]) - * segments: { [key]: string }, // Google Encoded Polylines (key = "fromNorm|toNorm") + * knownStations: string[], // All stations that resolved AND snapped to the graph (in-game resolvable stations) + * stations: { [name]: [lat, lon] }, // Station gazetteer (normalized name → canonical on-track coordinate) + * segments: { [key]: string }, // Google Encoded Polylines (key = sorted pair "aNorm|bNorm", a < b) * segmentColors: { [key]: number[][] } // Color boundaries: [[startIndex, colorCode], ...] * // colorCode: 0=green (drivable), 1=red (non-drivable), 2=grey (no data) * } * - * The runtime (lib/trainRoute.ts) decodes each segment's polyline and splits - * it at the color boundaries to render green/red/grey sub-segments on the map. - * Adjacent same-color sub-segments are merged for rendering efficiency. + * The runtime (lib/trainRoute.ts) decodes each segment's polyline (reversing + * it when the travel direction is opposite the sorted key) and splits it at + * the color boundaries to render green/red/grey sub-segments on the map. + * Consecutive segments share exact endpoints (canonical station nodes), so + * adjacent sub-segments chain seamlessly. */ import fs from "node:fs"; import path from "node:path"; @@ -145,6 +163,148 @@ async function pool(items, limit, fn) { await Promise.all(workers); } +/** + * Extracts a station's representative center coordinate from its wiki GeoJSON. + * + * The wiki draws stations in two ways, and the first coordinate of the first + * feature sits at the station's EDGE (throat), which made routes visually end + * where a station begins. Instead, return the station's middle: + * - OPEN LineStrings (through tracks): the arc-length midpoint of the + * longest one (the through-track's middle, interpolated). + * - CLOSED LineStrings only (drawn station-area outlines, ~66 stations): + * the vertex-average centroid of the largest loop. The arc midpoint of a + * loop is an arbitrary point on the outline. Loop-only outlines are + * area drawings rather than tracks, so they are marked loopOnly — the + * caller prefers the precise game-source coordinate (Step 1b) and only + * falls back to the centroid. + * - Else Polygon rings: the vertex-average centroid of the largest ring. + * - Else a Point: as-is. + * + * @param {object} gj - Station GeoJSON (FeatureCollection) + * @returns {{anchor: [number, number]|null, loopOnly: boolean}} + */ +function extractStationAnchor(gj) { + const lines = []; + const rings = []; + let point = null; + for (const f of gj.features || []) { + const g = f.geometry; + if (!g) continue; + if (g.type === "LineString") lines.push(g.coordinates); + else if (g.type === "MultiLineString") lines.push(...g.coordinates); + else if (g.type === "Polygon") rings.push(g.coordinates[0]); + else if (g.type === "MultiPolygon") { + for (const p of g.coordinates) rings.push(p[0]); + } else if (g.type === "Point") point = g.coordinates; + } + const arcLenKm = (ls) => { + let len = 0; + for (let i = 1; i < ls.length; i++) { + len += haversineKm( + [ls[i - 1][1], ls[i - 1][0]], + [ls[i][1], ls[i][0]], + ); + } + return len; + }; + const vertexCentroid = (ls) => { + let lat = 0; + let lon = 0; + for (const c of ls) { + lat += c[1]; + lon += c[0]; + } + return [lat / ls.length, lon / ls.length]; + }; + if (lines.length > 0) { + // Split into open through-tracks and closed outline loops. + const open = []; + const loops = []; + for (const ls of lines) { + if (ls.length < 2) continue; + const closed = + haversineKm( + [ls[0][1], ls[0][0]], + [ls[ls.length - 1][1], ls[ls.length - 1][0]], + ) * + 1000 < + 5; + if (closed) loops.push(ls); + else open.push(ls); + } + // Prefer open through-tracks: arc-length midpoint of the longest. + if (open.length > 0) { + let best = null; + let bestLen = -1; + for (const ls of open) { + const len = arcLenKm(ls); + if (len > bestLen) { + bestLen = len; + best = ls; + } + } + const target = bestLen / 2; + let acc = 0; + for (let i = 1; i < best.length; i++) { + const seg = haversineKm( + [best[i - 1][1], best[i - 1][0]], + [best[i][1], best[i][0]], + ); + if (acc + seg >= target) { + const t = seg === 0 ? 0 : (target - acc) / seg; + return { + anchor: [ + best[i - 1][1] + (best[i][1] - best[i - 1][1]) * t, + best[i - 1][0] + (best[i][0] - best[i - 1][0]) * t, + ], + loopOnly: false, + }; + } + acc += seg; + } + const last = best[best.length - 1]; + return { anchor: [last[1], last[0]], loopOnly: false }; + } + // Only loops: centroid of the largest outline, flagged as loopOnly. + if (loops.length > 0) { + let best = null; + let bestLen = -1; + for (const ls of loops) { + const len = arcLenKm(ls); + if (len > bestLen) { + bestLen = len; + best = ls; + } + } + return { anchor: vertexCentroid(best), loopOnly: true }; + } + const only = lines.find((ls) => ls.length >= 1); + return only ? { anchor: [only[0][1], only[0][0]], loopOnly: false } : { anchor: null, loopOnly: false }; + } + if (rings.length > 0) { + // Largest ring by bounding-box diagonal; centroid = vertex average. + const size = (r) => { + let mnLat = 1e9, + mnLon = 1e9, + mxLat = -1e9, + mxLon = -1e9; + for (const c of r) { + if (c[1] < mnLat) mnLat = c[1]; + if (c[1] > mxLat) mxLat = c[1]; + if (c[0] < mnLon) mnLon = c[0]; + if (c[0] > mxLon) mxLon = c[0]; + } + return mxLat - mnLat + (mxLon - mnLon); + }; + const ring = rings.reduce((a, b) => (size(b) > size(a) ? b : a)); + if (ring.length === 0) return { anchor: null, loopOnly: false }; + return { anchor: vertexCentroid(ring), loopOnly: false }; + } + if (point && point.length >= 2) + return { anchor: [point[1], point[0]], loopOnly: false }; + return { anchor: null, loopOnly: false }; +} + async function main() { const t0 = Date.now(); const log = (msg) => @@ -195,38 +355,38 @@ async function main() { log(` [wiki] Route features: ${routeFeatures.length}`); // --- Fetch station GeoJSON files --- - // Each station has a URL to a GeoJSON file. We extract a coordinate - // from the first feature (LineString, Polygon, or Point geometry). + // Each station has a URL to a GeoJSON file. We extract a CENTER + // coordinate (midpoint of the longest track / platform centroid), NOT + // the first vertex — the first vertex sits at the station's edge. + // Stations drawn ONLY as closed outline loops are deferred: the game + // sources (Step 1b) provide precise in-game coordinates, and only + // stations with no game source fall back to the loop centroid. log(" [wiki] Fetching station coordinates..."); const stationCoords = new Map(); const knownStations = new Set(); + const wikiLoopCentroids = new Map(); await pool(wikiMapData.stations, 10, async (station) => { const norm = normalizeName(station.name); const cacheName = `wiki_station_${station.name.replace(/[^a-zA-Z0-9]/g, "_").toLowerCase()}.json`; try { const gj = await cachedFetchJson(WIKI_BASE + station.url, cacheName); - for (const f of gj.features || []) { - const g = f.geometry; - if (!g?.coordinates?.[0]) continue; - let coord; - // GeoJSON coordinates are [lon, lat]; we store [lat, lon]. - if (g.type === "LineString") coord = g.coordinates[0]; - else if (g.type === "MultiLineString") coord = g.coordinates[0]?.[0]; - else if (g.type === "Point") coord = g.coordinates; - else if (g.type === "Polygon") coord = g.coordinates[0]?.[0]; - if (coord && coord.length >= 2) { - stationCoords.set(norm, [coord[1], coord[0]]); - knownStations.add(norm); - break; - } + const { anchor, loopOnly } = extractStationAnchor(gj); + if (!anchor) return; + if (loopOnly) { + wikiLoopCentroids.set(norm, anchor); + } else { + stationCoords.set(norm, anchor); + knownStations.add(norm); } } catch { // skip } }); - log(` [wiki] Stations with coords: ${stationCoords.size}`); + log( + ` [wiki] Stations with coords: ${stationCoords.size} (+${wikiLoopCentroids.size} loop-only, deferred)`, + ); - return { wikiMapData, stationCoords, knownStations, routeFeatures }; + return { wikiMapData, stationCoords, knownStations, routeFeatures, wikiLoopCentroids }; })(); const timetablesPromise = (async () => { @@ -282,7 +442,7 @@ async function main() { log(` [timetables] Community EDR: ${all.length} timetables`); })(); - const { wikiMapData, stationCoords, knownStations, routeFeatures } = + const { wikiMapData, stationCoords, knownStations, routeFeatures, wikiLoopCentroids } = await wikiPromise; await timetablesPromise; @@ -341,6 +501,40 @@ async function main() { } log(` Total stations with coords: ${stationCoords.size}`); + // Curated station coordinate overrides (scripts/station-overrides.json). + // Applied last so they win over every other source. Used for stations with + // known-bad source geometry (e.g. Maków Podhalański's wiki geometry is + // misplaced ~211km north near Skierniewice). + const overridesPath = path.join(__dirname, "station-overrides.json"); + if (fs.existsSync(overridesPath)) { + const overrides = JSON.parse(fs.readFileSync(overridesPath, "utf8")); + for (const [name, coord] of Object.entries(overrides)) { + const norm = normalizeName(name); + const prev = stationCoords.get(norm); + stationCoords.set(norm, coord); + knownStations.add(norm); + log( + ` Override [${name}]: ${prev ? `${prev.map((x) => x.toFixed(3)).join(",")} -> ` : ""}${coord.map((x) => x.toFixed(3)).join(",")}`, + ); + } + } + + // Last-resort fallback: wiki stations drawn only as outline loops that + // have no game-source coordinate use the loop centroid. + let loopFallbackCount = 0; + for (const [norm, coord] of wikiLoopCentroids) { + if (!stationCoords.has(norm)) { + stationCoords.set(norm, coord); + knownStations.add(norm); + loopFallbackCount++; + } + } + if (loopFallbackCount > 0) { + log( + ` Loop-centroid fallbacks (no game coordinate): ${loopFallbackCount}`, + ); + } + // ======================================================================== // Step 2: Collect segments from timetables // ======================================================================== @@ -378,6 +572,9 @@ async function main() { return null; } + // Segments are keyed by the SORTED pair of normalized names (a|b, a 0) allLines.add(String(line)); if (toLine > 0) allLines.add(String(toLine)); @@ -413,9 +615,6 @@ async function main() { key, from: fromName, to: name, - line: line > 0 ? String(line) : null, - toLine: toLine > 0 ? String(toLine) : null, - toLineWas0: toLine === 0, allLines: [...allLines], label: `${fromName} → ${name}`, }); @@ -460,158 +659,156 @@ async function main() { } // ======================================================================== - // Step 3: Compute A* routes + // Step 2.5: Canonical station nodes // ======================================================================== - // Build two rail graphs from wiki route features: - // - graphAvail: only available (drivable) tracks - // - graphFull: all tracks (available + not-available) - // For each segment, try A* on graphAvail first. If a path is found, the - // entire segment is green (no availability classification needed). If no - // path exists on available tracks, fall back to graphFull and classify - // per-point availability (may produce red sub-segments). - - log("Step 3: Compute A* routes"); - - // Factory: builds nearest-node finder, line-membership table, preferred-line - // snap function, and A* router for a given graph. - function makeGraphHelpers(g) { - const nearest = makeNearestNode(g, 0.02, SNAP_MAX_KM); - const router = makeRouter(g); - - const nLines = new Map(); - for (let u = 0; u < g.coords.length; u++) { - for (let p = g.start[u]; p < g.start[u + 1]; p++) { - const e = g.adjEdge[p]; - const refs = g.erefs[e]; - if (!refs) continue; - for (const r of refs) { - if (!nLines.has(r)) { - nLines.set(r, new Uint8Array(g.coords.length)); - } - nLines.get(r)[u] = 1; - } - } - } - - const pGrids = new Map(); - const GRID = 0.02; - function snap(point, preferredLine) { - const global = nearest(point); - if (!preferredLine || global.distKm > SNAP_MAX_KM) return global; - const hasLine = nLines.get(preferredLine); - if (!hasLine) return global; - if (hasLine[global.index]) return global; - - if (!pGrids.has(preferredLine)) { - const grid = new Map(); - for (let i = 0; i < g.coords.length; i++) { - if (!hasLine[i]) continue; - const [nlat, nlon] = g.coords[i]; - const key = `${Math.floor(nlat / GRID)},${Math.floor(nlon / GRID)}`; - if (!grid.has(key)) grid.set(key, []); - grid.get(key).push(i); - } - pGrids.set(preferredLine, grid); - } - const grid = pGrids.get(preferredLine); - - const [lat, lon] = point; - const cx = Math.floor(lat / GRID); - const cy = Math.floor(lon / GRID); - let bestIdx = -1; - let bestDist = Infinity; - for (let r = 0; r <= 10; r++) { - for (let dx = -r; dx <= r; dx++) { - for (let dy = -r; dy <= r; dy++) { - if (r > 0 && Math.abs(dx) !== r && Math.abs(dy) !== r) continue; - const cell = grid.get(`${cx + dx},${cy + dy}`); - if (!cell) continue; - for (const idx of cell) { - const d = haversineKm(g.coords[idx], point); - if (d < bestDist) { - bestDist = d; - bestIdx = idx; - } - } - } - } - if (bestIdx >= 0 && bestDist < SNAP_MAX_KM) break; - } - if (bestIdx >= 0 && bestDist < SNAP_MAX_KM) { - return { index: bestIdx, distKm: bestDist }; + // Each station participating in at least one segment is snapped ONCE to a + // single graph node: the nearest node on any of its served lines (union of + // the lines of all segments touching it, both directions), preferring + // available (drivable) tracks, falling back to any track. Every segment + // touching the station then routes to/from that same node, so consecutive + // segments chain exactly — no straight-line bridges, and the route passes + // through the station's middle rather than stopping at its edge. + // Stations that cannot be snapped at all (>3km from any track — wrong + // source coordinates) are dropped from the gazetteer and reported; the + // runtime treats them like any other stop without coordinates. + + // Served lines per station (only lines that exist as wiki routes). + const servedLines = new Map(); // normalized name → Set + for (const seg of segments.values()) { + const [a, b] = seg.key.split("|"); + if (!servedLines.has(a)) servedLines.set(a, new Set()); + if (!servedLines.has(b)) servedLines.set(b, new Set()); + for (const l of seg.allLines) { + if (wikiLineNumbers.has(l)) { + servedLines.get(a).add(l); + servedLines.get(b).add(l); } - return global; } - - return { - snap, - router, - graph: g, - nodeHasLine: (nodeIdx, lineNo) => { - const hl = nLines.get(lineNo); - return hl ? hl[nodeIdx] === 1 : false; - }, - }; } const graphAvail = buildGraphFromRoutes( routeFeatures.filter((f) => f.available), ); const graphFull = buildGraphFromRoutes(routeFeatures); - const helpersAvail = makeGraphHelpers(graphAvail); - const helpersFull = makeGraphHelpers(graphFull); + const nearestAvail = makeNearestNode(graphAvail, 0.02, SNAP_MAX_KM); + const nearestFull = makeNearestNode(graphFull, 0.02, SNAP_MAX_KM); + const routerAvail = makeRouter(graphAvail); + const routerFull = makeRouter(graphFull); log( ` Graph avail: ${graphAvail.coords.length} nodes, full: ${graphFull.coords.length} nodes`, ); + // Resolve an exact [lat, lon] (a canonical node coordinate) to its node + // index in the given graph, via the coordinate-dedup key. + const coordKey = (lat, lon) => `${lat.toFixed(6)},${lon.toFixed(6)}`; + const nodeIndexFor = (graph, coord) => + graph.coordIndex.get(coordKey(coord[0], coord[1])) ?? -1; + + log( + ` Snapping ${servedLines.size} stations to canonical nodes...`, + ); + const canonicalNodes = new Map(); // normalized name → [lat, lon] + const droppedStations = []; + for (const [name, lines] of servedLines) { + const anchor = stationCoords.get(name); + if (!anchor) continue; // no coordinate at all — segment prep will skip + let snap = null; + let snapGraph = null; + // 1. Nearest node on a served line, on available tracks (drivable). + if (lines.size > 0) { + snap = nearestAvail(anchor, lines); + snapGraph = graphAvail; + // 2. Nearest node on a served line, on any track (non-drivable + // stations, e.g. Jęzor which sits on non-available LK171). + if (snap.index < 0 || snap.distKm > SNAP_MAX_KM) { + snap = nearestFull(anchor, lines); + snapGraph = graphFull; + } + } + // 3. Unrestricted: nearest node on any track. + if (snap === null || snap.index < 0 || snap.distKm > SNAP_MAX_KM) { + snap = nearestFull(anchor, null); + snapGraph = graphFull; + } + if (snap.index >= 0 && snap.distKm <= SNAP_MAX_KM) { + // Coordinate MUST come from the graph the snap index belongs to — + // graphAvail and graphFull have independent node numbering. + const nodeCoord = snapGraph.coords[snap.index]; + canonicalNodes.set(name, nodeCoord); + // Update the gazetteer to the validated on-track coordinate. + stationCoords.set(name, nodeCoord); + } else { + droppedStations.push(name); + stationCoords.delete(name); + knownStations.delete(name); + } + } + if (droppedStations.length > 0) { + log( + ` Dropped stations (no track within ${SNAP_MAX_KM}km — likely bad source coordinates):`, + ); + for (const name of droppedStations) log(` - ${name}`); + } + log( + ` Canonical nodes: ${canonicalNodes.size}, dropped: ${droppedStations.length}`, + ); + + // Rebuild work segments after pruning dropped stations. + const workSegmentsPruned = []; + for (const seg of workSegments) { + const [a, b] = seg.key.split("|"); + if (canonicalNodes.has(a) && canonicalNodes.has(b)) { + workSegmentsPruned.push(seg); + } + } + log( + ` Work segments after prune: ${workSegmentsPruned.length} (was ${workSegments.length})`, + ); + const workList = workSegmentsPruned; + + // ======================================================================== + // Step 3: Compute A* routes (canonical node → canonical node) + // ======================================================================== + // Try the available-tracks graph first (guarantees an all-green path); + // fall back to the full graph for segments that traverse non-drivable + // tracks. A* prefers the segment's accumulated lines; paths are validated + // by a detour guard and a non-timetable-line usage guard. + + log("Step 3: Compute A* routes"); + const routeSegments = {}; - const segmentLines = {}; + const segmentLines = {}; // key → lines actually traversed by the path const segmentUsedFullGraph = new Set(); let computed = 0; let fallback = 0; let computedAvail = 0; let computedFull = 0; - // Try to route a segment on a given graph (helpers). Returns encoded polyline - // or null. Handles snapping, A* with line preference, fallbacks, and detour guard. - function tryRoute(seg, helpers) { - const { snap, router, graph } = helpers; - const lines = seg.allLines || [seg.line, seg.toLine].filter(Boolean); - - const fromSnap = snap(seg.from, seg.line); - const toSnap = snap(seg.to, seg.toLine); - - if ( - fromSnap.index < 0 || - toSnap.index < 0 || - fromSnap.distKm > SNAP_MAX_KM || - toSnap.distKm > SNAP_MAX_KM - ) { - return null; - } - - // If the from-stop originally had line 0 (we borrowed the to-line), - // verify that the from-stop actually snapped to the preferred line. - // If it snapped to a different line's tracks (e.g. Jęzor snaps to - // LK171 instead of LK163), the from-stop is off the drivable network - // and the segment should be skipped. - if (seg.fromHadLine0) { - const hasLine = helpers.nodeHasLine?.(fromSnap.index, seg.line); - if (!hasLine) return null; - } - - const straightKm = haversineKm(seg.from, seg.to); + // Try to route a segment on the given graph. Endpoints are the canonical + // station nodes (resolved by exact coordinate). Returns an encoded + // polyline or null. + function tryRoute(seg, graph, router) { + const [aName, bName] = seg.key.split("|"); + const fromIdx = nodeIndexFor(graph, canonicalNodes.get(aName)); + const toIdx = nodeIndexFor(graph, canonicalNodes.get(bName)); + if (fromIdx < 0 || toIdx < 0) return null; + + const lines = seg.allLines; + const fromCoord = graph.coords[fromIdx]; + const toCoord = graph.coords[toIdx]; + const straightKm = haversineKm(fromCoord, toCoord); let pathIndices = null; - // Helper: compute total path distance (from-station → path → to-station). + // Helper: compute total path distance (canonical nodes are on the + // track, so the path length IS the full segment length). function pathKmOf(indices) { let total = 0; - let prev = seg.from; + let prev = fromCoord; for (const idx of indices) { total += haversineKm(prev, graph.coords[idx]); prev = graph.coords[idx]; } - total += haversineKm(prev, seg.to); + total += haversineKm(prev, toCoord); return total; } @@ -642,6 +839,10 @@ async function main() { const timetableLines = new Set(lines); function usesOnlyTimetableLines(indices, allowedLines) { if (!indices) return false; + // No line hints in the timetable (freight runs often have line 0 + // everywhere) — there is nothing to validate against; rely on the + // detour guard alone. + if (allowedLines.size === 0) return true; const nonTtKm = new Map(); // lineNo → km on non-timetable lines for (let i = 0; i < indices.length - 1; i++) { for ( @@ -668,33 +869,38 @@ async function main() { return true; } - // Try A* with from-stop's line, then to-stop's line. - if (seg.line && wikiLineNumbers.has(seg.line)) { - const p = router(fromSnap.index, toSnap.index, seg.line); - if (acceptPath(p) && usesOnlyTimetableLines(p, timetableLines)) - pathIndices = p; - } - if (!pathIndices && seg.toLine && wikiLineNumbers.has(seg.toLine)) { - const p = router(fromSnap.index, toSnap.index, seg.toLine); - if (acceptPath(p) && usesOnlyTimetableLines(p, timetableLines)) - pathIndices = p; - } - // Try with all lines (for multi-line segments). - if (!pathIndices && lines.length > 0) { - const p = router(fromSnap.index, toSnap.index, lines); + // Try A* with the segment's union of timetable lines (non-preferred + // edges cost 10x more but remain traversable for junction connectors). + if (lines.length > 0) { + const p = router(fromIdx, toIdx, lines); if (acceptPath(p) && usesOnlyTimetableLines(p, timetableLines)) pathIndices = p; } - // Fallback: unconstrained A* with detour guard. + // Fallback: unconstrained A* with the same guards. if (!pathIndices) { - const p = router(fromSnap.index, toSnap.index, null); + const p = router(fromIdx, toIdx, null); if (acceptPath(p) && usesOnlyTimetableLines(p, timetableLines)) pathIndices = p; } if (!pathIndices || pathIndices.length < 2) return null; + // Collect the lines actually traversed by the accepted path. + const usedLineSet = new Set(); + for (let i = 0; i < pathIndices.length - 1; i++) { + for ( + let p = graph.start[pathIndices[i]]; + p < graph.start[pathIndices[i] + 1]; + p++ + ) { + if (graph.adjOther[p] !== pathIndices[i + 1]) continue; + const refs = graph.erefs[graph.adjEdge[p]]; + if (refs) for (const r of refs) usedLineSet.add(r); + break; + } + } + // Use the A* path as-is — snapped nodes are already on the track. const points = pathIndices.map((idx) => graph.coords[idx]); @@ -716,73 +922,65 @@ async function main() { } } - return encodePolyline(points); + // Drop consecutive points that collapse to the same encoded coordinate + // (polyline precision is 1e-5 ≈ 1.1m; distinct graph nodes can be + // closer than that and would decode to zero-length edges). + const deduped = []; + let lastRlat = null; + let lastRlon = null; + for (const p of points) { + const rlat = Math.round(p[0] * 1e5); + const rlon = Math.round(p[1] * 1e5); + if (rlat !== lastRlat || rlon !== lastRlon) { + deduped.push(p); + lastRlat = rlat; + lastRlon = rlon; + } + } + + return { + encoded: encodePolyline(deduped), + // Lines actually traversed by the path (used for availability + // classification in Step 4 — more accurate than timetable hints, + // and the only source for hint-less freight segments). + usedLines: [...usedLineSet], + }; } - for (let i = 0; i < workSegments.length; i++) { - const seg = workSegments[i]; - const lines = seg.allLines || [seg.line, seg.toLine].filter(Boolean); + for (let i = 0; i < workList.length; i++) { + const seg = workList[i]; - // Skip segments whose lines don't exist in wiki route data. - const hasWikiLine = lines.some((l) => wikiLineNumbers.has(l)); - if (!hasWikiLine) { - segmentLines[seg.key] = seg.line || seg.toLine || null; - continue; - } - // If from-stop has no line number (line 0), use the to-stop's line. - // The from-stop is often a terminus with line 0 because it has no - // departure line. The to-stop's line is the actual running line. - // However, if the from-stop is too far from the to-line's tracks, - // it is off the drivable network (e.g. Jęzor is 4.5km from LK163) - // and the segment is skipped to avoid routing via wrong tracks. - if (!seg.line && seg.toLine) { - seg.line = seg.toLine; - seg.fromHadLine0 = true; - } - // Skip if neither from nor to line exists in wiki (both line 0). - if (!seg.line) { - segmentLines[seg.key] = null; - continue; - } - // If the to-stop's line doesn't exist in wiki, clear it so it's not - // used as a preferred line. The segment can still be routed using - // the from-stop's line (e.g. LK64 exists but LK61 doesn't in wiki). - if (seg.toLine && !wikiLineNumbers.has(seg.toLine)) { - seg.toLine = null; - } - // Skip if to-stop originally had line 0 (no line number). A to-stop - // with no line number means the train enters a non-drivable area - // (e.g. beyond Maczki toward Jęzor). - if (seg.toLineWas0) { - segmentLines[seg.key] = seg.line; - continue; - } + // Skip segments whose lines don't exist in wiki route data. Segments + // with NO line hints at all (freight runs with line 0 everywhere) + // still get a chance: the detour guard decides. + const hasHints = seg.allLines.length > 0; + const hasWikiLine = seg.allLines.some((l) => wikiLineNumbers.has(l)); + if (hasHints && !hasWikiLine) continue; // Try available-only graph first (produces all-green paths). - let encoded = tryRoute(seg, helpersAvail); + let result = tryRoute(seg, graphAvail, routerAvail); let usedFull = false; // Fall back to full graph if no available path exists. - if (!encoded) { - encoded = tryRoute(seg, helpersFull); + if (!result) { + result = tryRoute(seg, graphFull, routerFull); usedFull = true; } - if (!encoded) { + if (!result) { fallback++; - segmentLines[seg.key] = seg.line; continue; } - routeSegments[seg.key] = encoded; - segmentLines[seg.key] = seg.line || seg.allLines?.[0] || null; + routeSegments[seg.key] = result.encoded; + segmentLines[seg.key] = result.usedLines; if (usedFull) segmentUsedFullGraph.add(seg.key); computed++; if (usedFull) computedFull++; else computedAvail++; } log( - ` Computed: ${computed} (avail: ${computedAvail}, full: ${computedFull}), Fallback: ${fallback}`, + ` Computed: ${computed} (avail: ${computedAvail}, full: ${computedFull}), Fallback (grey): ${fallback}`, ); // ======================================================================== @@ -903,9 +1101,18 @@ async function main() { continue; } - const line = segmentLines[key]; - const availTracks = line ? lineAvailableFeatures[line] || [] : []; - const notAvailTracks = line ? lineNotAvailableFeatures[line] || [] : []; + // Classify against the wiki track geometry of the lines the path + // actually traversed (segmentLines — more accurate than timetable + // hints, and the only source for hint-less freight segments). A hop + // may legitimately traverse several lines. + const lines = + segmentLines[key] || + (segments.get(key)?.allLines.filter((l) => wikiLineNumbers.has(l)) ?? + []); + const availTracks = lines.flatMap((l) => lineAvailableFeatures[l] || []); + const notAvailTracks = lines.flatMap( + (l) => lineNotAvailableFeatures[l] || [], + ); // No wiki track data for this line — mark as grey. if (availTracks.length === 0 && notAvailTracks.length === 0) { @@ -958,9 +1165,32 @@ async function main() { ); // ======================================================================== - // Step 5: Write output + // Step 5: Write output + grey-risk report // ======================================================================== log("Step 5: Write output"); + + // Grey-risk report: uncomputed consecutive-stop pairs whose stations are + // far apart (>50km). At runtime these draw very long grey straight lines + // and usually indicate data rot in the wiki (missing/wrong tracks), not + // genuinely missing routes — worth investigating before shipping. + const GREY_RISK_KM = 50; + const greyRisk = []; + for (const seg of workList) { + if (routeSegments[seg.key]) continue; + const [a, b] = seg.key.split("|"); + const ca = stationCoords.get(a); + const cb = stationCoords.get(b); + if (ca && cb && haversineKm(ca, cb) > GREY_RISK_KM) { + greyRisk.push(seg.label); + } + } + if (greyRisk.length > 0) { + log(` GREY RISK — ${greyRisk.length} uncomputed pairs > ${GREY_RISK_KM}km apart:`); + for (const label of greyRisk) log(` - ${label}`); + } else { + log(` Grey-risk report: none > ${GREY_RISK_KM}km`); + } + const output = { version: 1, knownStations: [...knownStations], diff --git a/packages/map/scripts/rail-helpers.mjs b/packages/map/scripts/rail-helpers.mjs index 60baf8e..38f2c0b 100644 --- a/packages/map/scripts/rail-helpers.mjs +++ b/packages/map/scripts/rail-helpers.mjs @@ -4,9 +4,7 @@ * This module provides the core algorithms used by the generator: * - Name normalization (for matching station names across data sources) * - Haversine distance (great-circle distance between two lat/lon points) - * - Douglas-Peucker line simplification (reduces polyline point count) * - Google Encoded Polyline format (compact string encoding of coordinates) - * - Convex hull (Andrew's monotone chain algorithm) * - Rail graph construction from GeoJSON route features * - Spatial grid index for fast nearest-node queries * - A* pathfinding with line-preference weighting @@ -162,12 +160,17 @@ export function decodePolyline(str) { * * Two types of edges are created: * 1. Track edges: consecutive points within a LineString, tagged with the - * line number(s) from the route name (e.g. "LK4" → refs=["4"]). - * 2. Proximity snap edges: edges between nodes that are within 15 meters of - * each other but not connected by any LineString. These bridge gaps where - * OSM ways share a physical location but have slightly different - * coordinates (e.g. a track that was remapped). Snap edges have refs=[] - * (no line association). + * line number(s) from the route name (e.g. "LK4" → refs=["4"]). Ways that + * meet share the same OSM node, so coordinate deduplication connects + * them (including parallel tracks of doubled lines, which never share + * coordinates and stay separate — the router can only switch tracks via + * real junction/crossover geometry). + * 2. Endpoint-snap edges: each LineString endpoint is connected to its + * single nearest non-adjacent node within 500m. This bridges gaps in the + * wiki GeoJSON data where a LineString is split into fragments with + * ~100-300m gaps between them (e.g. LK139 near Brynów has a 257m gap). + * Only endpoints are considered, so this does NOT connect parallel + * tracks (which have close mid-track nodes but distant endpoints). * * CSR format explanation: * - coords: Array of [lat, lon] — one per node @@ -177,6 +180,8 @@ export function decodePolyline(str) { * - adjOther: Int32Array — the other endpoint of each adjacency entry * - adjDist: Float64Array — edge distance (km) for each adjacency entry * - erefs: Array — line number(s) associated with each edge + * - coordIndex: Map — 6-decimal coordinate key → node index + * - nodeLines: Array> — line number(s) touching each node * * @param {Array<{geometry: object, refs: string[]}>} routeFeatures - GeoJSON features * @returns {object} Graph in CSR format @@ -201,12 +206,30 @@ export function buildGraphFromRoutes(routeFeatures) { // Build edge lists from LineString features. // Each consecutive pair of coordinates in a LineString becomes an edge. // We also track which nodes are LineString endpoints (first and last - // points) for the secondary endpoint-snap pass below. + // points) for the secondary endpoint-snap pass below, and the local way + // direction at each endpoint (used to tell junctions from passthroughs). const ea = []; // Edge endpoint A (node index) const eb = []; // Edge endpoint B (node index) const ed = []; // Edge distance (km, via haversine) const erefs = []; // Edge line refs (e.g. ["4"] for LK4) const endpointNodes = new Set(); // Node indices that are LineString endpoints + const endpointBearings = new Map(); // node index → [bearingDeg, ...] + + // Initial bearing a→b ([lat, lon] pairs), degrees (0=N, 90=E), via an + // equirectangular approximation (accurate enough at these distances). + const bearingDeg = (a, b) => { + const cosLat = Math.cos((((a[0] + b[0]) / 2) * Math.PI) / 180); + return ((Math.atan2((b[1] - a[1]) * cosLat, b[0] - a[0]) * 180) / Math.PI + 360) % 360; + }; + const angleDiffDeg = (a, b) => { + const d = Math.abs(a - b) % 360; + return d > 180 ? 360 - d : d; + }; + const addEndpointBearing = (idx, deg) => { + let list = endpointBearings.get(idx); + if (!list) endpointBearings.set(idx, (list = [])); + list.push(deg); + }; for (const feat of routeFeatures) { const refs = feat.refs || []; @@ -226,6 +249,20 @@ export function buildGraphFromRoutes(routeFeatures) { const lastC = line[line.length - 1]; const lastIdx = resolveCoord(lastC[1], lastC[0]); endpointNodes.add(lastIdx); + // Local way direction at both endpoints: at the first point + // the direction leaving it, at the last point the direction + // arriving at it. A connection continuing past the endpoint + // keeps roughly this bearing. + const second = line[1]; + addEndpointBearing( + firstIdx, + bearingDeg([line[0][1], line[0][0]], [second[1], second[0]]), + ); + const prevLast = line[line.length - 2]; + addEndpointBearing( + lastIdx, + bearingDeg([prevLast[1], prevLast[0]], [lastC[1], lastC[0]]), + ); } let prevIdx = -1; @@ -243,67 +280,22 @@ export function buildGraphFromRoutes(routeFeatures) { } } - // Proximity snapping: connect nodes that are within 15 meters of each other - // but not connected by any LineString. This bridges gaps in the OSM data - // where ways share a physical point but have slightly different coordinates - // (e.g. after a remap or when ways from different line routes meet). - // - // Uses a spatial grid (cell size ~0.005° ≈ 555m) to avoid O(n²) comparison. - // For each node, checks the 3×3 neighborhood of grid cells. - const snapToleranceKm = 0.015; // 15 meters - const snapGridSize = 0.005; // ~555m grid cells - const snapGrid = new Map(); - for (let i = 0; i < coords.length; i++) { - const [lat, lon] = coords[i]; - const key = `${Math.floor(lat / snapGridSize)},${Math.floor(lon / snapGridSize)}`; - let cell = snapGrid.get(key); - if (!cell) { - cell = []; - snapGrid.set(key, cell); - } - cell.push(i); - } - - // For each node, check neighboring cells for close nodes. - // Use a Set to avoid duplicate edges (pair i,j is only added once). - const snapEdges = new Set(); - for (let i = 0; i < coords.length; i++) { - const [lat, lon] = coords[i]; - const cx = Math.floor(lat / snapGridSize); - const cy = Math.floor(lon / snapGridSize); - for (let dx = -1; dx <= 1; dx++) { - for (let dy = -1; dy <= 1; dy++) { - const cell = snapGrid.get(`${cx + dx},${cy + dy}`); - if (!cell) continue; - for (const j of cell) { - if (j <= i) continue; // Only check j > i to avoid duplicates - const d = haversineKm(coords[i], coords[j]); - if (d <= snapToleranceKm && d > 0) { - const ek = `${Math.min(i, j)}|${Math.max(i, j)}`; - if (!snapEdges.has(ek)) { - snapEdges.add(ek); - ea.push(i); - eb.push(j); - ed.push(d); - erefs.push([]); // Snap edges have no line association - } - } - } - } - } - } - - // Secondary endpoint-snap pass: connect LineString endpoints to nearby - // nodes within a larger tolerance (500m). This bridges gaps in the wiki + // Endpoint-snap pass: connect LineString endpoints to nearby + // nodes within a tolerance (500m). This bridges gaps in the wiki // GeoJSON data where a LineString is split into fragments with ~100-300m // gaps between them (e.g. LK139 near Brynów has a 257m gap). // // Only endpoints are considered (not mid-track nodes), so this does NOT // connect parallel tracks (which have close mid-track nodes but distant - // endpoints). Each endpoint is connected to its single nearest non-adjacent - // node within tolerance, avoiding a flood of spurious edges. + // endpoints). Each endpoint is connected to the nearest non-adjacent + // node that is a plausible track continuation: the snap edge must keep + // roughly the way's heading at BOTH ends (within 60°). Real junctions + // and fragment-gap bridges satisfy this; tracks crossing on a bridge or + // tunnel arrive perpendicular to the line below and are rejected — + // without the heading check, this pass creates phantom junctions at + // every crossing (e.g. LK25 over LK1 south of Koluszki). const endpointToleranceKm = 0.5; // 500 meters - const epGridSize = 0.005; // ~555m grid cells (reuse same size) + const epGridSize = 0.005; // ~555m grid cells const epGrid = new Map(); for (let i = 0; i < coords.length; i++) { if (!endpointNodes.has(i)) continue; @@ -328,17 +320,60 @@ export function buildGraphFromRoutes(routeFeatures) { } cell.push(i); } - // Track existing adjacency to avoid duplicate edges. + // Track existing adjacency to avoid duplicate edges, and per-node + // neighbor lists for the heading-alignment check below. const adjSet = new Set(); + const neighbors = new Map(); // node index → [neighbor index, ...] for (let e = 0; e < ea.length; e++) { adjSet.add(`${Math.min(ea[e], eb[e])}|${Math.max(ea[e], eb[e])}`); + let n1 = neighbors.get(ea[e]); + if (!n1) neighbors.set(ea[e], (n1 = [])); + n1.push(eb[e]); + let n2 = neighbors.get(eb[e]); + if (!n2) neighbors.set(eb[e], (n2 = [])); + n2.push(ea[e]); } + + // Heading-alignment tolerance: a snap edge must continue roughly in the + // way's direction at both ends (within 60°). Real junctions and fragment + // gaps satisfy this; a track passing over/under another (bridge, tunnel) + // arrives perpendicular to the line below and is rejected — without this + // check, the pass creates phantom junctions at every crossing. + const MAX_ALIGN_DEG = 60; + + // Is connecting endpoint i to node j a plausible continuation of the + // track at i (and of the track(s) through j)? + const isPlausibleContinuation = (i, j) => { + const bearingIJ = bearingDeg(coords[i], coords[j]); + // At i: the connection must roughly continue the way's direction. + const bearingsI = endpointBearings.get(i); + if (!bearingsI || bearingsI.length === 0) return false; + let okI = false; + for (const b of bearingsI) { + if (angleDiffDeg(bearingIJ, b) <= MAX_ALIGN_DEG) { + okI = true; + break; + } + } + if (!okI) return false; + // At j: some existing edge at j must continue in the same direction + // (a junction lets traffic flow onward, a passthrough does not). + const jsNeighbors = neighbors.get(j); + if (!jsNeighbors || jsNeighbors.length === 0) return false; + for (const k of jsNeighbors) { + if (angleDiffDeg(bearingIJ, bearingDeg(coords[j], coords[k])) <= MAX_ALIGN_DEG) { + return true; + } + } + return false; + }; + for (const i of endpointNodes) { const [lat, lon] = coords[i]; const cx = Math.floor(lat / epGridSize); const cy = Math.floor(lon / epGridSize); - let bestJ = -1; - let bestDist = Infinity; + // Gather non-adjacent candidates within tolerance, nearest first. + const candidates = []; for (let dx = -1; dx <= 1; dx++) { for (let dy = -1; dy <= 1; dy++) { const cell = allGrid.get(`${cx + dx},${cy + dy}`); @@ -348,23 +383,40 @@ export function buildGraphFromRoutes(routeFeatures) { const ek = `${Math.min(i, j)}|${Math.max(i, j)}`; if (adjSet.has(ek)) continue; const d = haversineKm(coords[i], coords[j]); - if (d < bestDist) { - bestDist = d; - bestJ = j; - } + if (d <= endpointToleranceKm) candidates.push({ j, d }); } } } - if (bestJ >= 0 && bestDist <= endpointToleranceKm) { - const ek = `${Math.min(i, bestJ)}|${Math.max(i, bestJ)}`; + candidates.sort((a, b) => a.d - b.d); + // Connect to the nearest candidate that is a plausible continuation. + let connected = -1; + for (let c = 0; c < candidates.length && c < 8; c++) { + if (isPlausibleContinuation(i, candidates[c].j)) { + connected = candidates[c].j; + break; + } + } + if (connected >= 0) { + const ek = `${Math.min(i, connected)}|${Math.max(i, connected)}`; adjSet.add(ek); ea.push(i); - eb.push(bestJ); - ed.push(bestDist); + eb.push(connected); + ed.push(haversineKm(coords[i], coords[connected])); erefs.push([]); // Endpoint-snap edges have no line association } } + // Build per-node line sets: all line numbers of edges incident to each + // node. Used by the generator for canonical station snapping (nearest + // node on any of a station's served lines). + const nodeLines = new Array(coords.length); + for (let e = 0; e < ea.length; e++) { + for (const u of [ea[e], eb[e]]) { + if (!nodeLines[u]) nodeLines[u] = new Set(); + for (const r of erefs[e]) nodeLines[u].add(r); + } + } + // Build CSR (Compressed Sparse Row) adjacency structure. // CSR stores all adjacency entries in flat arrays, with a prefix-sum index // that gives the range [start[u], start[u+1]) of adjacency entries for node u. @@ -404,7 +456,7 @@ export function buildGraphFromRoutes(routeFeatures) { adjDist[p] = ed[e]; } - return { coords, start, adjEdge, adjOther, adjDist, erefs }; + return { coords, start, adjEdge, adjOther, adjDist, erefs, coordIndex, nodeLines }; } /** @@ -415,24 +467,22 @@ export function buildGraphFromRoutes(routeFeatures) { * scanning all nodes — only checks cells in expanding rings around the query * point until a node within maxKm is found. * - * Preferred-line snapping: if preferredRefs is provided, the finder also tracks - * the nearest node that has at least one edge on a preferred line. If such a - * node is found within maxKm, it is returned instead of the global nearest. - * This ensures stations snap to the correct line's tracks at junctions where - * multiple lines meet (e.g. Warszawa Główna Towarowa is at the junction of - * LK1, LK3, and LK19 — we want to snap to LK19, not LK3). + * Line-restricted search: if allowedLines (a Set of line numbers) is passed to + * the returned finder, only nodes with at least one incident edge on one of + * those lines are considered. This is used by the generator to snap each + * station once to a canonical node on one of the lines that actually serve it + * (per the timetables), avoiding anchoring on unrelated nearby tracks. * * @param {object} graph - Graph from buildGraphFromRoutes() * @param {number} gridSize - Grid cell size in degrees (default 0.02 ≈ 2.2km) * @param {number} maxKm - Maximum snap distance in km (default 3.0) - * @param {string[]|null} preferredRefs - Line numbers to prefer (e.g. ["19", "1"]) - * @returns {function} (point: [lat, lon]) => { index: number, distKm: number } + * @returns {function} (point: [lat, lon], allowedLines?: Set) => + * { index: number, distKm: number } — index is -1 if nothing was found */ export function makeNearestNode( graph, gridSize = 0.02, maxKm = 3.0, - preferredRefs = null, ) { // Build spatial grid: each cell contains indices of nodes within that cell. const grid = new Map(); @@ -447,33 +497,14 @@ export function makeNearestNode( cell.push(i); } - // Precompute which nodes have at least one edge on a preferred line. - // This avoids checking edge refs on every query — we just check a bitmask. - const preferredSet = preferredRefs ? new Set(preferredRefs) : null; - const nodeHasPreferred = new Uint8Array(graph.coords.length); - if (preferredSet) { - for (let u = 0; u < graph.coords.length; u++) { - // Check all edges of node u for any preferred line ref. - for (let p = graph.start[u]; p < graph.start[u + 1]; p++) { - const e = graph.adjEdge[p]; - const refs = graph.erefs[e]; - if (refs && refs.some((r) => preferredSet.has(r))) { - nodeHasPreferred[u] = 1; - break; - } - } - } - } - - // The returned finder function. - return (point) => { + // The returned finder function. If allowedLines is provided, only nodes + // with at least one incident edge on one of those lines are considered. + return (point, allowedLines = null) => { const [lat, lon] = point; const cx = Math.floor(lat / gridSize); const cy = Math.floor(lon / gridSize); let bestIdx = -1; let bestDist = Infinity; - let bestPreferredIdx = -1; - let bestPreferredDist = Infinity; // Expand search ring by ring until we find a node within maxKm. // Ring r checks all cells at Chebyshev distance r from (cx, cy). @@ -485,21 +516,24 @@ export function makeNearestNode( const cell = grid.get(`${cx + dx},${cy + dy}`); if (!cell) continue; for (const idx of cell) { + if (allowedLines) { + const lines = graph.nodeLines[idx]; + let ok = false; + if (lines) { + for (const l of lines) { + if (allowedLines.has(l)) { + ok = true; + break; + } + } + } + if (!ok) continue; + } const d = haversineKm(graph.coords[idx], point); - // Track global nearest if (d < bestDist) { bestDist = d; bestIdx = idx; } - // Track nearest preferred-line node - if ( - preferredSet && - nodeHasPreferred[idx] && - d < bestPreferredDist - ) { - bestPreferredDist = d; - bestPreferredIdx = idx; - } } } } @@ -507,10 +541,6 @@ export function makeNearestNode( if (bestIdx >= 0 && bestDist < maxKm) break; } - // Return preferred node if available, otherwise global nearest. - if (preferredSet && bestPreferredIdx >= 0 && bestPreferredDist < maxKm) { - return { index: bestPreferredIdx, distKm: bestPreferredDist }; - } return { index: bestIdx, distKm: bestDist }; }; } diff --git a/packages/map/scripts/station-overrides.json b/packages/map/scripts/station-overrides.json new file mode 100644 index 0000000..504ea8c --- /dev/null +++ b/packages/map/scripts/station-overrides.json @@ -0,0 +1,3 @@ +{ + "maków podhalański": [49.7275, 19.6836] +} From 87eac0ea1f4c421575da1bd9d0de935acdc25fff Mon Sep 17 00:00:00 2001 From: Cosmin Date: Sat, 19 Sep 2026 00:50:35 +0300 Subject: [PATCH 05/19] Add only selected train toggle --- packages/map/components/TrainText.tsx | 11 ++++++ packages/map/components/TrainsList.tsx | 36 +++++++++++++------ .../map/contexts/SelectedTrainContext.tsx | 12 +++++++ 3 files changed, 48 insertions(+), 11 deletions(-) diff --git a/packages/map/components/TrainText.tsx b/packages/map/components/TrainText.tsx index 995edfc..313f814 100644 --- a/packages/map/components/TrainText.tsx +++ b/packages/map/components/TrainText.tsx @@ -86,6 +86,8 @@ const TrainText = ({ setShowTrainRoute, followTrain, setFollowTrain, + onlySelectedTrain, + setOnlySelectedTrain, } = useSelectedTrain(); const usedRailcarInfo = useMemo( @@ -223,6 +225,15 @@ const TrainText = ({ size="xs" color="blue" /> + + setOnlySelectedTrain(event.currentTarget.checked) + } + label="Only selected train" + size="xs" + color="orange" + /> setShowTrainRoute(event.currentTarget.checked)} diff --git a/packages/map/components/TrainsList.tsx b/packages/map/components/TrainsList.tsx index 688f5fe..a503f96 100644 --- a/packages/map/components/TrainsList.tsx +++ b/packages/map/components/TrainsList.tsx @@ -2,6 +2,7 @@ import type { Train } from "@simrail/types"; import type { FC } from "react"; import TrainMarker from "@/components/Markers/TrainMarker"; +import { useSelectedTrain } from "../contexts/SelectedTrainContext"; type Props = { trains: Train[]; @@ -10,14 +11,27 @@ type Props = { const getTrainStopKey = (train: Train) => train.id ?? train.TrainNoLocal; -export const TrainsList: FC = ({ trains, stoppedTrainsSince }) => ( - <> - {trains.map((train) => ( - - ))} - -); +export const TrainsList: FC = ({ trains, stoppedTrainsSince }) => { + const { selectedTrain, onlySelectedTrain } = useSelectedTrain(); + + // "Only selected train" hides every other train from the map while a + // train is selected; with no selection, all trains stay visible. + const visibleTrains = + onlySelectedTrain && selectedTrain + ? trains.filter( + (train) => getTrainStopKey(train) === getTrainStopKey(selectedTrain), + ) + : trains; + + return ( + <> + {visibleTrains.map((train) => ( + + ))} + + ); +}; \ No newline at end of file diff --git a/packages/map/contexts/SelectedTrainContext.tsx b/packages/map/contexts/SelectedTrainContext.tsx index 34fb5dd..104e2d4 100644 --- a/packages/map/contexts/SelectedTrainContext.tsx +++ b/packages/map/contexts/SelectedTrainContext.tsx @@ -17,6 +17,8 @@ interface SelectedTrainContextType { setShowTrainRoute: Dispatch>; followTrain: boolean; setFollowTrain: Dispatch>; + onlySelectedTrain: boolean; + setOnlySelectedTrain: Dispatch>; } export const SelectedTrainContext = createContext({ @@ -26,6 +28,8 @@ export const SelectedTrainContext = createContext({ setShowTrainRoute: () => {}, followTrain: true, setFollowTrain: () => {}, + onlySelectedTrain: false, + setOnlySelectedTrain: () => {}, }); export const useSelectedTrain = () => useContext(SelectedTrainContext); @@ -44,6 +48,10 @@ export const SelectedTrainProvider = ({ key: "followTrain", defaultValue: true, }); + const [onlySelectedTrain, setOnlySelectedTrain] = useLocalStorage({ + key: "onlySelectedTrain", + defaultValue: false, + }); const value = useMemo( () => ({ selectedTrain, @@ -52,13 +60,17 @@ export const SelectedTrainProvider = ({ setShowTrainRoute, followTrain, setFollowTrain, + onlySelectedTrain, + setOnlySelectedTrain, }), [ selectedTrain, showTrainRoute, followTrain, + onlySelectedTrain, setShowTrainRoute, setFollowTrain, + setOnlySelectedTrain, ], ); From cd94fc2c6e7d76ac771d031a1b055a3fdf004b56 Mon Sep 17 00:00:00 2001 From: Cosmin Date: Sat, 19 Sep 2026 00:54:47 +0300 Subject: [PATCH 06/19] Re-design the Follow Single Route toggles as inline so they take less vertical space --- README-TRAIN-ROUTE.md | 9 ++++++--- packages/map/components/TrainText.tsx | 6 +++--- packages/map/styles/TrainDetails.module.css | 4 ++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/README-TRAIN-ROUTE.md b/README-TRAIN-ROUTE.md index 2b7fa38..520531f 100644 --- a/README-TRAIN-ROUTE.md +++ b/README-TRAIN-ROUTE.md @@ -7,9 +7,12 @@ geometry, colored by drivability, with direction arrows along the line. - **Red** — real track, but not drivable in the game (e.g. the LK1 gap Myszków→Rozprza) - **Grey** — no track data available; rendered as a straight line between stops -Controls (persisted in `localStorage` via `SelectedTrainContext`): -- *Show train route* — toggles the route layer (`showTrainRoute`, rendered by `TrainRoute.tsx`) -- *Follow train* — pans the map to keep the selected train centered (`followTrain`, handled in `Map.tsx`) +Controls — one row of three checkboxes in the selected-train panel, persisted in +`localStorage` via `SelectedTrainContext`: +- *Follow* — pans the map to keep the selected train centered (`followTrain`, `Map.tsx`) +- *Single* — hides every other train from the map while a train is selected + (`onlySelectedTrain`, filter in `TrainsList.tsx`) +- *Route* — toggles the route layer (`showTrainRoute`, rendered by `TrainRoute.tsx`) ## Big picture diff --git a/packages/map/components/TrainText.tsx b/packages/map/components/TrainText.tsx index 313f814..51b1c7a 100644 --- a/packages/map/components/TrainText.tsx +++ b/packages/map/components/TrainText.tsx @@ -221,7 +221,7 @@ const TrainText = ({ setFollowTrain(event.currentTarget.checked)} - label="Follow train" + label="Follow" size="xs" color="blue" /> @@ -230,14 +230,14 @@ const TrainText = ({ onChange={(event) => setOnlySelectedTrain(event.currentTarget.checked) } - label="Only selected train" + label="Single" size="xs" color="orange" /> setShowTrainRoute(event.currentTarget.checked)} - label="Show route on map" + label="Route" size="xs" color="green" /> diff --git a/packages/map/styles/TrainDetails.module.css b/packages/map/styles/TrainDetails.module.css index 64f4731..29e97be 100644 --- a/packages/map/styles/TrainDetails.module.css +++ b/packages/map/styles/TrainDetails.module.css @@ -49,8 +49,8 @@ .route span { flex: 1; line-height: 1.35; } .route span:last-child { text-align: right; } .route i { color: var(--train-accent); font-style: normal; } -.trainToggles { display: flex; flex-direction: column; gap: 4px; margin: 8px 0 0; } -.routeLegend { display: flex; gap: 12px; margin: 0 0 2px 28px; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--train-subtle); } +.trainToggles { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 8px 0 0; } +.routeLegend { display: flex; flex-basis: 100%; gap: 12px; margin: 2px 0 0; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--train-subtle); } .stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 12px 0; overflow: hidden; border: 1px solid var(--train-border); border-radius: 9px; background: var(--train-divider); } .stats > div { display: flex; flex-direction: column; gap: 5px; padding: 10px 8px; background: var(--train-stat-background); } .stats span, .consist > span { color: var(--train-muted); font-size: 0.6875rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; } From 617a120d1806e652089bfe133c3633d7ef0a2ef6 Mon Sep 17 00:00:00 2001 From: Cosmin Date: Sat, 19 Sep 2026 01:03:11 +0300 Subject: [PATCH 07/19] Re-work the next signal area to occupy less vertical space --- packages/map/components/TrainText.tsx | 7 +- .../map/components/TrainUpcomingSignal.tsx | 130 +++++------------- 2 files changed, 38 insertions(+), 99 deletions(-) diff --git a/packages/map/components/TrainText.tsx b/packages/map/components/TrainText.tsx index 51b1c7a..7d81d46 100644 --- a/packages/map/components/TrainText.tsx +++ b/packages/map/components/TrainText.tsx @@ -1,6 +1,5 @@ import { Carousel } from "@mantine/carousel"; import { Checkbox, Image } from "@mantine/core"; -import { readLocalStorageValue } from "@mantine/hooks"; import type { Train } from "@simrail/types"; import { useSelectedTrain } from "contexts/SelectedTrainContext"; import { useRouter } from "next/router"; @@ -161,10 +160,6 @@ const TrainText = ({ (minimum, info) => Math.min(minimum, info.railcar.maxSpeed), Number.POSITIVE_INFINITY, ); - const showSignalInfo = readLocalStorageValue({ - key: "showSignalInfo", - defaultValue: true, - }); const displayName = getTrainDisplayName(train.TrainName, train.TrainNoLocal); const displayedMaxSpeed = Number.isFinite(minMaxSpeed) ? `${minMaxSpeed} km/h` @@ -314,7 +309,7 @@ const TrainText = ({
Next signal
- +
5000) { - return "> 5km"; + return ">5km"; } if (distanceMeters > 1000) { - const distanceKilometers = (distanceMeters / 1000).toFixed(1); - return `${distanceKilometers} km`; + return `${(distanceMeters / 1000).toFixed(1)}km`; } - return `${distanceMeters.toFixed(1)} m`; + return `${Math.round(distanceMeters)}m`; } function formatSignalSpeed(rawSpeedLimit: number): string { @@ -35,99 +22,56 @@ function formatSignalSpeed(rawSpeedLimit: number): string { return `${rawSpeedLimit} km/h`; } -const getSignalState = (signalSpeed: number | string): string | null => { +/** Status dot color for the upcoming signal aspect: clear, stop, or limited. */ +const getSignalColor = (signalSpeed: number | string): string => { if (signalSpeed === "vmax" || signalSpeed === 32767) { - return "open"; + return "#2ecc71"; // clear } - if (signalSpeed === 0) { - return "closed"; - } - - if (typeof signalSpeed === "number" && signalSpeed <= 40) { - return "limited40"; - } - - // Dedicated icon for exact 50 - if (typeof signalSpeed === "number" && signalSpeed === 50) { - return "limited50"; - } - - if (typeof signalSpeed === "number" && signalSpeed <= 60) { - return "limited60"; + return "#e74c3c"; // stop } + return "#f5a623"; // limited aspect +}; - if (typeof signalSpeed === "number" && signalSpeed <= 100) { - return "limited100"; +const getSignalStatusText = (signalSpeed: number | string): string => { + if (signalSpeed === "vmax" || signalSpeed === 32767) { + return "Clear"; } - - if (typeof signalSpeed === "number" && signalSpeed <= 130) { - return "limited130"; + if (signalSpeed === 0) { + return "Stop"; } - - return null; + return "Limited"; }; -const TrainUpcomingSignal: React.FC = ({ - train, - showMoreInfo, -}) => { +const TrainUpcomingSignal: React.FC = ({ train }) => { const { TrainData: { SignalInFront, SignalInFrontSpeed, DistanceToSignalInFront }, } = train; - const signalName = SignalInFront?.split("@")[0]; - const signalState = getSignalState(SignalInFrontSpeed); - const signalImageSrc = signalState - ? signalStates[signalState as keyof typeof signalStates] - : null; - - // Track last failed src to hide image only when that src fails - const [failedSrc, setFailedSrc] = useState(null); - const visibleSignalImageSrc = - signalImageSrc && failedSrc !== signalImageSrc ? signalImageSrc : null; - - if (!showMoreInfo) { - return ( - <> - Distance to {signalName ? signalName : "next signal"}:{" "} - {SignalInFront - ? formatSignalDistance(DistanceToSignalInFront) - : "Signal too far away"} - - ); + if (!SignalInFront) { + return
Signal too far away
; } + const signalName = SignalInFront.split("@")[0]; + const signalColor = getSignalColor(SignalInFrontSpeed); + return ( - <> -
- Distance to {signalName ? signalName : "next signal"}:{" "} - {SignalInFront - ? formatSignalDistance(DistanceToSignalInFront) - : "Signal too far away"} -
- {SignalInFront && ( - <> -
Signal speed: {formatSignalSpeed(SignalInFrontSpeed)}
- {visibleSignalImageSrc ? ( -
- Signal Status : - {signalState - setFailedSrc((e.currentTarget as HTMLImageElement).src) - } - /> -
- ) : null} - - )} - +
+ {signalName} in {formatSignalDistance(DistanceToSignalInFront)} - speed{" "} + {formatSignalSpeed(SignalInFrontSpeed)} -{" "} + +
); }; -export default TrainUpcomingSignal; +export default TrainUpcomingSignal; \ No newline at end of file From 7998298f0dab1c5a352c088cebc377d597ae9532 Mon Sep 17 00:00:00 2001 From: Cosmin Date: Sat, 19 Sep 2026 01:11:13 +0300 Subject: [PATCH 08/19] Move open in EDR button next to the train number to free up some vertical space --- packages/map/components/TrainText.tsx | 22 +++++++++++---------- packages/map/styles/TrainDetails.module.css | 11 ++++++----- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/packages/map/components/TrainText.tsx b/packages/map/components/TrainText.tsx index 7d81d46..00dca33 100644 --- a/packages/map/components/TrainText.tsx +++ b/packages/map/components/TrainText.tsx @@ -201,8 +201,18 @@ const TrainText = ({
@@ -311,14 +321,6 @@ const TrainText = ({
- - Open in EDR -
)} diff --git a/packages/map/styles/TrainDetails.module.css b/packages/map/styles/TrainDetails.module.css index 29e97be..dd07d42 100644 --- a/packages/map/styles/TrainDetails.module.css +++ b/packages/map/styles/TrainDetails.module.css @@ -42,9 +42,12 @@ .identity strong { overflow: hidden; color: var(--train-title); font-size: 0.9375rem; text-overflow: ellipsis; white-space: nowrap; } .close { display: grid; flex: none; width: 32px; height: 32px; padding: 0; color: var(--train-close); border: 1px solid var(--train-border); border-radius: 8px; background: var(--train-surface); place-items: center; cursor: pointer; } .close:hover { color: #ff7777; border-color: rgb(255 100 100 / 28%); } -.serviceHeading { margin: 17px 0 11px; } -.serviceHeading > span { color: var(--train-muted); font-size: 0.6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; } -.serviceHeading h3 { margin: 4px 0 0; color: var(--train-title); font-family: "Saira", sans-serif; font-size: 1.3125rem; line-height: 1.1; } +.serviceHeading { display: flex; align-items: stretch; justify-content: space-between; gap: 8px; margin: 17px 0 11px; } +.serviceMeta { min-width: 0; } +.serviceMeta > span { display: block; color: var(--train-muted); font-size: 0.6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1; } +.edrButton { display: inline-flex; align-items: center; justify-content: center; gap: 4px; padding: 0 16px; color: #17191e; font-size: 0.6875rem; font-weight: 800; border-radius: 8px; background: #ffad32; white-space: nowrap; } +.edrButton:hover { background: #ffba51; } +.serviceHeading h3 { margin: 0; color: var(--train-title); font-family: "Saira", sans-serif; font-size: 1.3125rem; line-height: 1.1; } .route { align-items: center; gap: 9px; padding: 10px 11px; color: var(--train-secondary); border: 1px solid var(--train-border); border-radius: 9px; background: var(--train-surface); } .route span { flex: 1; line-height: 1.35; } .route span:last-child { text-align: right; } @@ -61,8 +64,6 @@ .trainMedia { margin: 2px 0 14px; overflow: hidden; border: 1px solid var(--train-border); border-radius: 10px; background: var(--train-media-background); } .signalSection { padding-top: 14px; border-top: 1px solid var(--train-border); } .signalDetails { margin: 9px 0 13px; color: var(--train-secondary); line-height: 1.65; } -.edrButton { display: flex; align-items: center; justify-content: space-between; min-height: 41px; padding: 0 13px; color: #17191e; font-size: 0.75rem; font-weight: 800; border-radius: 9px; background: #ffad32; } -.edrButton:hover { background: #ffba51; } .compact { width: 280px; } .compact .avatar { width: 34px; height: 34px; border-radius: 8px; } .compact .serviceHeading { margin-top: 13px; } From 9b75c1e087e2e58a1001ae5df33f4837f6c120aa Mon Sep 17 00:00:00 2001 From: Cosmin Date: Sat, 19 Sep 2026 01:13:18 +0300 Subject: [PATCH 09/19] Move wagon count on the same line as the locomotive to free up vertical space --- packages/map/components/TrainText.tsx | 4 +++- packages/map/styles/TrainDetails.module.css | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/map/components/TrainText.tsx b/packages/map/components/TrainText.tsx index 00dca33..f5b9995 100644 --- a/packages/map/components/TrainText.tsx +++ b/packages/map/components/TrainText.tsx @@ -296,10 +296,12 @@ const TrainText = ({
Locomotive {tractionUnitInfo || "Unknown"} + {wagons.length > 0 && ( + + {wagons.length} wagons + )} {additionalUnits.length > 0 && ( Additional units: {additionalUnits.join(", ")} )} - {wagons.length > 0 && {wagons.length} wagons}
{!minified && locomotiveImages.length > 0 && ( diff --git a/packages/map/styles/TrainDetails.module.css b/packages/map/styles/TrainDetails.module.css index dd07d42..5b171f2 100644 --- a/packages/map/styles/TrainDetails.module.css +++ b/packages/map/styles/TrainDetails.module.css @@ -61,6 +61,7 @@ .consist { align-items: baseline; flex-wrap: wrap; gap: 5px 9px; padding: 3px 1px 11px; } .consist strong { color: var(--train-strong); font-size: 0.75rem; } .consist small { width: 100%; color: var(--train-subtle); font-size: 0.6875rem; } +.consist small.wagonsInline { width: auto; } .trainMedia { margin: 2px 0 14px; overflow: hidden; border: 1px solid var(--train-border); border-radius: 10px; background: var(--train-media-background); } .signalSection { padding-top: 14px; border-top: 1px solid var(--train-border); } .signalDetails { margin: 9px 0 13px; color: var(--train-secondary); line-height: 1.65; } From 1af4d58b7521273f31aca5e55ff300069e8b42bc Mon Sep 17 00:00:00 2001 From: Cosmin Date: Sat, 19 Sep 2026 01:46:03 +0300 Subject: [PATCH 10/19] Further train panel looks improvements to make it as small as possible (make it the width of the train photo) --- packages/map/components/TrainText.tsx | 28 ++++++++++--------- .../map/styles/SelectedTrainPopup.module.css | 5 +++- packages/map/styles/TrainDetails.module.css | 17 ++++++----- 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/packages/map/components/TrainText.tsx b/packages/map/components/TrainText.tsx index f5b9995..f7bd8f2 100644 --- a/packages/map/components/TrainText.tsx +++ b/packages/map/components/TrainText.tsx @@ -205,14 +205,16 @@ const TrainText = ({ Train {train.TrainNoLocal}

{displayName}

- - Open in EDR - + {!minified && ( + + Open in EDR + + )}
@@ -248,17 +250,17 @@ const TrainText = ({ /> {showTrainRoute && (
- > Driveable - > Undriveable + > Playable + > Unplayable - > No data in{" "} + > No{" "} - wiki + wiki data
@@ -294,7 +296,7 @@ const TrainText = ({
- Locomotive + Loco {tractionUnitInfo || "Unknown"} {wagons.length > 0 && ( + {wagons.length} wagons diff --git a/packages/map/styles/SelectedTrainPopup.module.css b/packages/map/styles/SelectedTrainPopup.module.css index ac92df7..c9085cc 100644 --- a/packages/map/styles/SelectedTrainPopup.module.css +++ b/packages/map/styles/SelectedTrainPopup.module.css @@ -4,7 +4,10 @@ top: 62px; right: 0; box-sizing: border-box; - width: min(360px, calc(100vw - 24px)); + /* Content width matches the locomotive picture: all railcar images are + 1699x720 (2.36 aspect); at the carousel's 112px height they render + 264px wide. 264 + 2*24px padding + 2*1px border = 316px. */ + width: min(316px, calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 78px); padding: 10px 24px; diff --git a/packages/map/styles/TrainDetails.module.css b/packages/map/styles/TrainDetails.module.css index 5b171f2..d6fc946 100644 --- a/packages/map/styles/TrainDetails.module.css +++ b/packages/map/styles/TrainDetails.module.css @@ -52,18 +52,21 @@ .route span { flex: 1; line-height: 1.35; } .route span:last-child { text-align: right; } .route i { color: var(--train-accent); font-style: normal; } -.trainToggles { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 8px 0 0; } -.routeLegend { display: flex; flex-basis: 100%; gap: 12px; margin: 2px 0 0; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--train-subtle); } +.trainToggles { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; margin: 12px 0 0; } +.trainToggles label { padding-inline-start: 6px; } +.routeLegend { display: flex; flex-basis: 100%; justify-content: center; gap: 0; margin: 2px 0 0; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--train-subtle); } +.routeLegend span { padding-left: 6px; } .stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 12px 0; overflow: hidden; border: 1px solid var(--train-border); border-radius: 9px; background: var(--train-divider); } -.stats > div { display: flex; flex-direction: column; gap: 5px; padding: 10px 8px; background: var(--train-stat-background); } +.stats > div { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 5px; padding: 10px 4px; background: var(--train-stat-background); } .stats span, .consist > span { color: var(--train-muted); font-size: 0.6875rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; } .stats strong { color: var(--train-strong); font-size: 0.75rem; white-space: nowrap; } -.consist { align-items: baseline; flex-wrap: wrap; gap: 5px 9px; padding: 3px 1px 11px; } -.consist strong { color: var(--train-strong); font-size: 0.75rem; } +.consist { align-items: baseline; flex-wrap: wrap; justify-content: center; text-align: center; gap: 5px 9px; padding: 3px 1px 11px; } +.consist strong { color: var(--train-strong); font-size: 0.75rem; white-space: nowrap; } .consist small { width: 100%; color: var(--train-subtle); font-size: 0.6875rem; } -.consist small.wagonsInline { width: auto; } +.consist small.wagonsInline { width: auto; white-space: nowrap; } .trainMedia { margin: 2px 0 14px; overflow: hidden; border: 1px solid var(--train-border); border-radius: 10px; background: var(--train-media-background); } -.signalSection { padding-top: 14px; border-top: 1px solid var(--train-border); } +.signalSection { padding-top: 14px; border-top: 1px solid var(--train-border); text-align: center; } +.signalSection .kicker { display: block; } .signalDetails { margin: 9px 0 13px; color: var(--train-secondary); line-height: 1.65; } .compact { width: 280px; } .compact .avatar { width: 34px; height: 34px; border-radius: 8px; } From 0b66690d319efe0f637c469fcbf388e4c1d81eee Mon Sep 17 00:00:00 2001 From: Cosmin Date: Sat, 19 Sep 2026 02:13:46 +0300 Subject: [PATCH 11/19] Add next signal information to hover panel --- packages/map/components/TrainText.tsx | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/map/components/TrainText.tsx b/packages/map/components/TrainText.tsx index f7bd8f2..fef3587 100644 --- a/packages/map/components/TrainText.tsx +++ b/packages/map/components/TrainText.tsx @@ -319,14 +319,12 @@ const TrainText = ({
)} - {!minified && ( -
- Next signal -
- -
+
+ Next signal +
+
- )} +
); }; From 4e75492155e886fa1bf77fb4f959f7ecf208099d Mon Sep 17 00:00:00 2001 From: Cosmin Date: Sat, 19 Sep 2026 02:30:26 +0300 Subject: [PATCH 12/19] Make arrows spacing uniform and less frequent --- packages/map/components/TrainRoute.tsx | 43 ++++++++++++++++---------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/packages/map/components/TrainRoute.tsx b/packages/map/components/TrainRoute.tsx index 0ae8fe3..4a3f585 100644 --- a/packages/map/components/TrainRoute.tsx +++ b/packages/map/components/TrainRoute.tsx @@ -3,7 +3,7 @@ import { memo, useEffect, useMemo, useState } from "react"; import { Polyline, Marker, useMap } from "react-leaflet"; import { useSelectedTrain } from "../contexts/SelectedTrainContext"; -import { getTrainRoute, type ColoredSegment } from "../lib/trainRoute"; +import { getTrainRoute, type ColoredSegment, type RoutePoint } from "../lib/trainRoute"; const ROUTE_COLORS = { green: "#2ecc71", @@ -11,7 +11,7 @@ const ROUTE_COLORS = { grey: "#888888", } as const; -const ARROW_SPACING_KM = 1; +const ARROW_SPACING_KM = 3; function haversineKm(a: [number, number], b: [number, number]): number { const R = 6371; @@ -38,10 +38,6 @@ function bearing(a: [number, number], b: [number, number]): number { return (toDeg(Math.atan2(y, x)) + 360) % 360; } -function midpoint(a: [number, number], b: [number, number]): [number, number] { - return [(a[0] + b[0]) / 2, (a[1] + b[1]) / 2]; -} - interface ArrowData { position: [number, number]; rotation: number; @@ -100,27 +96,40 @@ const TrainRoute = () => { const arrows = useMemo(() => { if (!segments) return []; const result: ArrowData[] = []; + let distSinceLast = ARROW_SPACING_KM; + let prev: RoutePoint | null = null; for (let si = 0; si < segments.length; si++) { - const seg = segments[si]; - const pts = seg.points; - if (pts.length < 2) continue; - let distSinceLast = 0; + const pts = segments[si].points; + if (pts.length < 1) continue; + // If this segment doesn't chain onto the previous point, reset. + if (!prev || prev[0] !== pts[0][0] || prev[1] !== pts[0][1]) { + prev = pts[0]; + distSinceLast = ARROW_SPACING_KM; + } for (let i = 1; i < pts.length; i++) { const a = pts[i - 1]; const b = pts[i]; const segLen = haversineKm(a, b); - distSinceLast += segLen; - if (distSinceLast >= ARROW_SPACING_KM) { - const pos = midpoint(a, b); - const brng = bearing(a, b); - const cssRotation = brng - 90; + if (segLen <= 0) continue; + const brng = bearing(a, b); + let consumed = 0; + while (distSinceLast + (segLen - consumed) >= ARROW_SPACING_KM) { + const need = ARROW_SPACING_KM - distSinceLast; + const t = (consumed + need) / segLen; + const pos: RoutePoint = [ + a[0] + (b[0] - a[0]) * t, + a[1] + (b[1] - a[1]) * t, + ]; result.push({ position: pos, - rotation: cssRotation, - key: `arrow-${si}-${i}`, + rotation: brng - 90, + key: `arrow-${result.length}`, }); + consumed += need; distSinceLast = 0; } + distSinceLast += segLen - consumed; + prev = b; } } return result; From 70e1d80c3ad3cb676b9cfad8564c4738742a57f0 Mon Sep 17 00:00:00 2001 From: Julian-Louis Date: Sun, 20 Sep 2026 21:15:20 +0200 Subject: [PATCH 13/19] Fix train route retries and preferences --- packages/map/components/Map.tsx | 13 ++--- packages/map/components/TrainText.tsx | 6 ++- .../map/components/TrainUpcomingSignal.tsx | 19 +++++-- .../map/contexts/SelectedTrainContext.tsx | 12 +++++ packages/map/lib/trainRoute.ts | 50 ++++++++++++++----- packages/map/scripts/generate-rail-data.mjs | 27 +++++++--- 6 files changed, 96 insertions(+), 31 deletions(-) diff --git a/packages/map/components/Map.tsx b/packages/map/components/Map.tsx index 4ef3608..6296ea0 100644 --- a/packages/map/components/Map.tsx +++ b/packages/map/components/Map.tsx @@ -99,15 +99,17 @@ const LeaftletMap = ({ serverId }: MapProps) => { defaultValue: true, }); - const [showSignalInfo, setShowSignalInfo] = useLocalStorage({ - key: "showSignalInfo", - defaultValue: true, - }); - const [isSatellite, setIsSatellite] = useLocalStorage({ key: "isSatellite", defaultValue: false, }); + const { + selectedTrain, + setSelectedTrain, + followTrain, + showSignalInfo, + setShowSignalInfo, + } = useSelectedTrain(); const { toggle: toggleFullscreen, fullscreen } = useFullscreen(); const FullscreenIcon = fullscreen ? MdFullscreenExit : MdFullscreen; @@ -118,7 +120,6 @@ const LeaftletMap = ({ serverId }: MapProps) => { renderPopup === true ? MdSpeakerNotes : MdSpeakerNotesOff; const SatelliteIcon = isSatellite === true ? MdSatellite : MdSatelliteAlt; - const { selectedTrain, setSelectedTrain, followTrain } = useSelectedTrain(); const [stations, setStations] = useState(null); const [stoppedTrainsSince, setStoppedTrainsSince] = useState< Record diff --git a/packages/map/components/TrainText.tsx b/packages/map/components/TrainText.tsx index fef3587..6a34b90 100644 --- a/packages/map/components/TrainText.tsx +++ b/packages/map/components/TrainText.tsx @@ -81,6 +81,7 @@ const TrainText = ({ const { id, trainId } = router.query; const { setSelectedTrain, + showSignalInfo, showTrainRoute, setShowTrainRoute, followTrain, @@ -322,7 +323,10 @@ const TrainText = ({
Next signal
- +
diff --git a/packages/map/components/TrainUpcomingSignal.tsx b/packages/map/components/TrainUpcomingSignal.tsx index 70e1671..b7e9d49 100644 --- a/packages/map/components/TrainUpcomingSignal.tsx +++ b/packages/map/components/TrainUpcomingSignal.tsx @@ -3,6 +3,7 @@ import type React from "react"; type TrainSignalProps = { train: Train; + showMoreInfo: boolean; }; function formatSignalDistance(distanceMeters: number): string { @@ -43,7 +44,10 @@ const getSignalStatusText = (signalSpeed: number | string): string => { return "Limited"; }; -const TrainUpcomingSignal: React.FC = ({ train }) => { +const TrainUpcomingSignal: React.FC = ({ + train, + showMoreInfo, +}) => { const { TrainData: { SignalInFront, SignalInFrontSpeed, DistanceToSignalInFront }, } = train; @@ -54,10 +58,19 @@ const TrainUpcomingSignal: React.FC = ({ train }) => { const signalName = SignalInFront.split("@")[0]; const signalColor = getSignalColor(SignalInFrontSpeed); + const signalDistance = formatSignalDistance(DistanceToSignalInFront); + + if (!showMoreInfo) { + return ( +
+ {signalName} in {signalDistance} +
+ ); + } return (
- {signalName} in {formatSignalDistance(DistanceToSignalInFront)} - speed{" "} + {signalName} in {signalDistance} - speed{" "} {formatSignalSpeed(SignalInFrontSpeed)} -{" "} = ({ train }) => { ); }; -export default TrainUpcomingSignal; \ No newline at end of file +export default TrainUpcomingSignal; diff --git a/packages/map/contexts/SelectedTrainContext.tsx b/packages/map/contexts/SelectedTrainContext.tsx index 104e2d4..ecfb08b 100644 --- a/packages/map/contexts/SelectedTrainContext.tsx +++ b/packages/map/contexts/SelectedTrainContext.tsx @@ -13,6 +13,8 @@ import { interface SelectedTrainContextType { selectedTrain: Train | null; setSelectedTrain: (train: Train | null) => void; + showSignalInfo: boolean; + setShowSignalInfo: Dispatch>; showTrainRoute: boolean; setShowTrainRoute: Dispatch>; followTrain: boolean; @@ -24,6 +26,8 @@ interface SelectedTrainContextType { export const SelectedTrainContext = createContext({ selectedTrain: null, setSelectedTrain: () => {}, + showSignalInfo: true, + setShowSignalInfo: () => {}, showTrainRoute: true, setShowTrainRoute: () => {}, followTrain: true, @@ -40,6 +44,10 @@ export const SelectedTrainProvider = ({ children: ReactNode; }) => { const [selectedTrain, setSelectedTrain] = useState(null); + const [showSignalInfo, setShowSignalInfo] = useLocalStorage({ + key: "showSignalInfo", + defaultValue: true, + }); const [showTrainRoute, setShowTrainRoute] = useLocalStorage({ key: "showTrainRoute", defaultValue: true, @@ -56,6 +64,8 @@ export const SelectedTrainProvider = ({ () => ({ selectedTrain, setSelectedTrain, + showSignalInfo, + setShowSignalInfo, showTrainRoute, setShowTrainRoute, followTrain, @@ -65,10 +75,12 @@ export const SelectedTrainProvider = ({ }), [ selectedTrain, + showSignalInfo, showTrainRoute, followTrain, onlySelectedTrain, setShowTrainRoute, + setShowSignalInfo, setFollowTrain, setOnlySelectedTrain, ], diff --git a/packages/map/lib/trainRoute.ts b/packages/map/lib/trainRoute.ts index c3ab423..1e65884 100644 --- a/packages/map/lib/trainRoute.ts +++ b/packages/map/lib/trainRoute.ts @@ -174,6 +174,28 @@ interface TimetableStop { */ const timetableCache = new Map>(); +function cacheSuccessfulResult( + cache: Map>, + key: string, + load: () => Promise, +): Promise { + const cached = cache.get(key); + if (cached) return cached; + + const request = load().then( + (result) => { + if (result === null) cache.delete(key); + return result; + }, + (error) => { + cache.delete(key); + throw error; + }, + ); + cache.set(key, request); + return request; +} + /** * Fetches a train's timetable from the community EDR API. * Results are cached per train (serverCode + trainNo) for the session. @@ -184,15 +206,20 @@ function fetchTimetable( trainNo: string, ): Promise { const key = `${serverCode}|${trainNo}`; - if (!timetableCache.has(key)) { - timetableCache.set( - key, - fetch(`${EDR_TIMETABLE_URL}/${serverCode}/${trainNo}`) - .then((r) => (r.ok ? r.json() : null)) - .catch(() => null), - ); - } - return timetableCache.get(key)!; + return cacheSuccessfulResult(timetableCache, key, async () => { + try { + const response = await fetch( + `${EDR_TIMETABLE_URL}/${encodeURIComponent(serverCode)}/${encodeURIComponent(trainNo)}`, + ); + if (!response.ok) return null; + const timetable: unknown = await response.json(); + return Array.isArray(timetable) && timetable.length > 0 + ? (timetable as TimetableStop[]) + : null; + } catch { + return null; + } + }); } /** @@ -226,10 +253,7 @@ export function getTrainRoute(train: { TrainNoLocal: string; }): Promise { const key = `${train.ServerCode}|${train.TrainNoLocal}`; - if (!routeCache.has(key)) { - routeCache.set(key, computeRoute(train)); - } - return routeCache.get(key)!; + return cacheSuccessfulResult(routeCache, key, () => computeRoute(train)); } /** diff --git a/packages/map/scripts/generate-rail-data.mjs b/packages/map/scripts/generate-rail-data.mjs index 59db0bf..5ae03b3 100644 --- a/packages/map/scripts/generate-rail-data.mjs +++ b/packages/map/scripts/generate-rail-data.mjs @@ -403,15 +403,23 @@ async function main() { ); if (resp.ok) { const list = await resp.json(); - const all = (Array.isArray(list) ? list : list.data || []).map( - (tt) => ({ + const all = (Array.isArray(list) ? list : list.data || []) + .filter( + (tt) => + tt.trainNoLocal && + Array.isArray(tt.timetable) && + tt.timetable.length > 0, + ) + .map((tt) => ({ trainNo: tt.trainNoLocal, - timetable: tt.timetable || [], - }), - ); - fs.writeFileSync(cachePath, JSON.stringify(all)); - log(` [timetables] Official: ${all.length} timetables`); - return; + timetable: tt.timetable, + })); + if (all.length > 0) { + fs.writeFileSync(cachePath, JSON.stringify(all)); + log(` [timetables] Official: ${all.length} timetables`); + return; + } + log(" [timetables] Official API returned no timetables"); } } catch (err) { log(` [timetables] Official API failed: ${err.message}`); @@ -438,6 +446,9 @@ async function main() { // skip } }); + if (all.length === 0) { + throw new Error("No timetables returned by either data source"); + } fs.writeFileSync(cachePath, JSON.stringify(all)); log(` [timetables] Community EDR: ${all.length} timetables`); })(); From 2f3533ee2da9b230cad65e555e73f56b2d31d314 Mon Sep 17 00:00:00 2001 From: Julian-Louis Date: Sun, 20 Sep 2026 21:23:21 +0200 Subject: [PATCH 14/19] Reduce train route rendering overhead --- .../map/components/Markers/TrainMarker.tsx | 36 ++++++++++------- packages/map/components/TrainRoute.tsx | 40 ++++++++++++++++--- packages/map/components/TrainsList.tsx | 12 ++++-- 3 files changed, 64 insertions(+), 24 deletions(-) diff --git a/packages/map/components/Markers/TrainMarker.tsx b/packages/map/components/Markers/TrainMarker.tsx index f4a3b79..f86bcf2 100644 --- a/packages/map/components/Markers/TrainMarker.tsx +++ b/packages/map/components/Markers/TrainMarker.tsx @@ -7,20 +7,25 @@ import ReactLeafletDriftMarker from "react-leaflet-drift-marker"; import { getSteamProfileOrBot } from "@/components/steam"; -import { useSelectedTrain } from "../../contexts/SelectedTrainContext"; import TrainText from "../TrainText"; type TrainMarkerProps = { train: Train; stoppedSince?: number; + isSelected: boolean; + selectTrain: (train: Train) => void; }; -const TrainMarker = ({ train, stoppedSince }: TrainMarkerProps) => { - const { selectedTrain, setSelectedTrain } = useSelectedTrain(); - +const TrainMarker = ({ + train, + stoppedSince, + isSelected, + selectTrain, +}: TrainMarkerProps) => { const [avatar, setAvatar] = useState(null); const [username, setUsername] = useState(null); const [bearing, setBearing] = useState(null); + const [isPopupOpen, setIsPopupOpen] = useState(false); const previousPosition = useRef<[number, number] | null>(null); useEffect(() => { @@ -84,9 +89,6 @@ const TrainMarker = ({ train, stoppedSince }: TrainMarkerProps) => { const borderAreaClass = train.TrainData.InBorderStationArea ? " in-border-area" : ""; - const isSelected = - (selectedTrain?.id ?? selectedTrain?.TrainNoLocal) === - (train.id ?? train.TrainNoLocal); const avatarUrl = train.TrainData.ControlledBySteamID && avatar ? avatar : botIcon; const escapedAvatarUrl = avatarUrl.replace( @@ -125,17 +127,21 @@ const TrainMarker = ({ train, stoppedSince }: TrainMarkerProps) => { eventHandlers={{ mouseover: (event) => event.target.openPopup(), mouseout: (event) => event.target.closePopup(), - mouseup: () => setSelectedTrain(train), + mouseup: () => selectTrain(train), + popupopen: () => setIsPopupOpen(true), + popupclose: () => setIsPopupOpen(false), }} > - + {isPopupOpen && ( + + )} (); function haversineKm(a: [number, number], b: [number, number]): number { const R = 6371; @@ -47,16 +49,23 @@ interface ArrowData { function createArrowIcon(rotation: number, zoom: number): L.DivIcon { const scale = Math.max(0.5, Math.min(2.5, (zoom - 6) / 5)); const size = Math.round(18 * scale); + const roundedRotation = Math.round(rotation / 5) * 5; + const cacheKey = `${size}:${roundedRotation}`; + const cachedIcon = arrowIconCache.get(cacheKey); + if (cachedIcon) return cachedIcon; + // SVG triangle (not a text glyph — font metrics render ">" off-center // in Firefox). The shape is centered in the viewBox, so the anchor at // the box center is exact in every browser. - const html = ``; - return L.divIcon({ + const html = ``; + const icon = L.divIcon({ className: "route-arrow", html, iconSize: [size, size], iconAnchor: [Math.round(size / 2), Math.round(size / 2)], }); + arrowIconCache.set(cacheKey, icon); + return icon; } const TrainRoute = () => { @@ -64,12 +73,18 @@ const TrainRoute = () => { const [segments, setSegments] = useState(null); const map = useMap(); const [zoom, setZoom] = useState(map.getZoom()); + const [viewportBounds, setViewportBounds] = useState(() => + map.getBounds().pad(0.25), + ); useEffect(() => { - const onZoom = () => setZoom(map.getZoom()); - map.on("zoomend", onZoom); + const updateViewport = () => { + setZoom(map.getZoom()); + setViewportBounds(map.getBounds().pad(0.25)); + }; + map.on("moveend zoomend", updateViewport); return () => { - map.off("zoomend", onZoom); + map.off("moveend zoomend", updateViewport); }; }, [map]); @@ -135,6 +150,19 @@ const TrainRoute = () => { return result; }, [segments]); + const visibleArrows = useMemo(() => { + const inView = arrows.filter((arrow) => + viewportBounds.contains(arrow.position), + ); + if (inView.length <= MAX_VISIBLE_ARROWS) return inView; + + const step = inView.length / MAX_VISIBLE_ARROWS; + return Array.from( + { length: MAX_VISIBLE_ARROWS }, + (_, index) => inView[Math.floor(index * step)], + ); + }, [arrows, viewportBounds]); + if (!shouldShow || !segments || segments.length === 0) return null; return ( @@ -150,7 +178,7 @@ const TrainRoute = () => { }} /> ))} - {arrows.map((arrow) => ( + {visibleArrows.map((arrow) => ( train.id ?? train.TrainNoLocal; export const TrainsList: FC = ({ trains, stoppedTrainsSince }) => { - const { selectedTrain, onlySelectedTrain } = useSelectedTrain(); + const { selectedTrain, setSelectedTrain, onlySelectedTrain } = + useSelectedTrain(); + const selectedTrainKey = selectedTrain + ? getTrainStopKey(selectedTrain) + : null; // "Only selected train" hides every other train from the map while a // train is selected; with no selection, all trains stay visible. const visibleTrains = onlySelectedTrain && selectedTrain ? trains.filter( - (train) => getTrainStopKey(train) === getTrainStopKey(selectedTrain), + (train) => getTrainStopKey(train) === selectedTrainKey, ) : trains; @@ -30,8 +34,10 @@ export const TrainsList: FC = ({ trains, stoppedTrainsSince }) => { key={train.TrainNoLocal} train={train} stoppedSince={stoppedTrainsSince[getTrainStopKey(train)]} + isSelected={getTrainStopKey(train) === selectedTrainKey} + selectTrain={setSelectedTrain} /> ))} ); -}; \ No newline at end of file +}; From 6502da1d7e5bef85e418b0576b87cab4b927dcbd Mon Sep 17 00:00:00 2001 From: Julian-Louis Date: Sun, 20 Sep 2026 23:49:04 +0200 Subject: [PATCH 15/19] Polish train map controls --- packages/map/components/TrainText.tsx | 67 +++++++++++++-------- packages/map/styles/TrainDetails.module.css | 17 ++++-- 2 files changed, 56 insertions(+), 28 deletions(-) diff --git a/packages/map/components/TrainText.tsx b/packages/map/components/TrainText.tsx index 6a34b90..6ce93e1 100644 --- a/packages/map/components/TrainText.tsx +++ b/packages/map/components/TrainText.tsx @@ -1,5 +1,5 @@ import { Carousel } from "@mantine/carousel"; -import { Checkbox, Image } from "@mantine/core"; +import { Image } from "@mantine/core"; import type { Train } from "@simrail/types"; import { useSelectedTrain } from "contexts/SelectedTrainContext"; import { useRouter } from "next/router"; @@ -27,6 +27,31 @@ interface TrainRailcarInfo { loadWeight: number | null; } +type TrainToggleProps = { + active: boolean; + label: string; + title: string; + onToggle: () => void; +}; + +const TrainToggle = ({ + active, + label, + title, + onToggle, +}: TrainToggleProps) => ( + +); + const railcarsByApiName = new Map( (railcarJson as Railcar[]).map((railcar) => [railcar.apiName, railcar]), ); @@ -226,40 +251,34 @@ const TrainText = ({ {!minified && (
- setFollowTrain(event.currentTarget.checked)} + setFollowTrain((enabled) => !enabled)} /> - - setOnlySelectedTrain(event.currentTarget.checked) - } - label="Single" - size="xs" - color="orange" + setOnlySelectedTrain((enabled) => !enabled)} /> - setShowTrainRoute(event.currentTarget.checked)} + setShowTrainRoute((enabled) => !enabled)} /> {showTrainRoute && (
- > Playable - > Unplayable - - > No{" "} + Playable + Unplayable + + No{" "} wiki data diff --git a/packages/map/styles/TrainDetails.module.css b/packages/map/styles/TrainDetails.module.css index d6fc946..7a530d6 100644 --- a/packages/map/styles/TrainDetails.module.css +++ b/packages/map/styles/TrainDetails.module.css @@ -52,10 +52,19 @@ .route span { flex: 1; line-height: 1.35; } .route span:last-child { text-align: right; } .route i { color: var(--train-accent); font-style: normal; } -.trainToggles { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; margin: 12px 0 0; } -.trainToggles label { padding-inline-start: 6px; } -.routeLegend { display: flex; flex-basis: 100%; justify-content: center; gap: 0; margin: 2px 0 0; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--train-subtle); } -.routeLegend span { padding-left: 6px; } +.trainToggles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 12px 0 0; } +.trainToggle { display: inline-flex; align-items: center; justify-content: center; min-width: 0; height: 32px; gap: 6px; padding: 0 8px; color: var(--train-muted); font: inherit; font-size: .6875rem; font-weight: 700; border: 1px solid var(--train-border); border-radius: 8px; background: var(--train-surface); cursor: pointer; white-space: nowrap; } +.trainToggle:hover { color: var(--train-title); border-color: rgb(255 177 59 / 30%); } +.trainToggle:focus-visible { outline: 2px solid var(--train-accent); outline-offset: 2px; } +.trainToggle > span { width: 7px; height: 7px; flex: none; border: 1px solid var(--train-muted); border-radius: 50%; } +.trainToggleActive { color: var(--train-title); border-color: rgb(255 177 59 / 38%); background: rgb(255 177 59 / 12%); } +.trainToggleActive > span { border-color: var(--train-accent); background: var(--train-accent); box-shadow: 0 0 0 3px rgb(255 177 59 / 10%); } +.routeLegend { display: flex; grid-column: 1 / -1; align-items: center; justify-content: center; gap: 9px; margin: 2px 0 0; color: var(--train-subtle); font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; } +.routeLegend span { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; } +.routeLegend span::before { width: 5px; height: 5px; flex: none; border-radius: 50%; background: #888; content: ""; } +.routeLegend span:first-child::before { background: #2ecc71; } +.routeLegend span:nth-child(2)::before { background: #e74c3c; } +.routeLegend a { color: inherit; text-decoration: underline; text-underline-offset: 2px; } .stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 12px 0; overflow: hidden; border: 1px solid var(--train-border); border-radius: 9px; background: var(--train-divider); } .stats > div { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 5px; padding: 10px 4px; background: var(--train-stat-background); } .stats span, .consist > span { color: var(--train-muted); font-size: 0.6875rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; } From 642c1af31d71cd68cd067244fbd7efd5e952f8a0 Mon Sep 17 00:00:00 2001 From: Julian-Louis Date: Sun, 20 Sep 2026 23:55:26 +0200 Subject: [PATCH 16/19] Remove temporary train route documentation --- README-TRAIN-ROUTE.md | 286 ------------------------------------------ 1 file changed, 286 deletions(-) delete mode 100644 README-TRAIN-ROUTE.md diff --git a/README-TRAIN-ROUTE.md b/README-TRAIN-ROUTE.md deleted file mode 100644 index 520531f..0000000 --- a/README-TRAIN-ROUTE.md +++ /dev/null @@ -1,286 +0,0 @@ -# Train Route Feature (map package) - -When a train is selected on the map, its full route is drawn along the real track -geometry, colored by drivability, with direction arrows along the line. - -- **Green** — drivable in SimRail (exists in the wiki as available track) -- **Red** — real track, but not drivable in the game (e.g. the LK1 gap Myszków→Rozprza) -- **Grey** — no track data available; rendered as a straight line between stops - -Controls — one row of three checkboxes in the selected-train panel, persisted in -`localStorage` via `SelectedTrainContext`: -- *Follow* — pans the map to keep the selected train centered (`followTrain`, `Map.tsx`) -- *Single* — hides every other train from the map while a train is selected - (`onlySelectedTrain`, filter in `TrainsList.tsx`) -- *Route* — toggles the route layer (`showTrainRoute`, rendered by `TrainRoute.tsx`) - -## Big picture - -All routing is **precomputed at build time**; the browser never runs a router. -The generator (`packages/map/scripts/generate-rail-data.mjs`) downloads the SimRail -wiki interactive-map GeoJSONs plus every train timetable, snaps each station to one -canonical track node, A*-routes every consecutive-stop pair, and writes -`components/railData.json` (~170 KB, committed). At runtime a selected train only -fetches its timetable from the community EDR API and stitches precomputed polylines -together (`lib/trainRoute.ts`). - -``` -wiki map-data.json ─┐ -route GeoJSONs ─────┤ generate-rail-data.mjs (build time / on demand) -station GeoJSONs ───┤ fetch → anchor → canonical nodes → A* → classify -timetables (API) ───┘ │ -station overrides ───────────────┘└→ railData.json (committed) - │ -train click → EDR timetable → resolve stops → polyline lookup/stitch → Leaflet -``` - -## The generator, step by step - -### Data sources - -| Source | Provides | -|---|---| -| `wiki.simrail.eu/map/main-files/map-data.json` | Index of 106 lines + 161 stations | -| Route GeoJSONs (`/map/lk*.geojson`) | Per-line OSM track geometry. Lines can have two entries: drivable (`lk1.geojson`) and not-drivable (`lk1u.geojson`). Ways keep their OSM tags (`bridge`, `layer`, `tunnel`, …) | -| Station GeoJSONs (`/map/stations/*.geojson`) | Station drawings — through tracks (open LineStrings), area outlines (closed loops), platform polygons, or points | -| Timetables (`api1.aws.simrail.eu`, fallback: community EDR) | All trains' stop lists with line numbers (server `int1`) | -| `components/stations.json`, `stationsRemote.json`, `stations-open` API | In-game coordinates for dispatch posts and small stops missing from the wiki | -| `scripts/station-overrides.json` | Curated fixes; wins over every other source | - -API responses are cached in `scripts/.cache/` (gitignored). Use `--refresh` to re-fetch. - -### Step 1 — Station anchors - -Station coordinates are extracted as the station's *middle*, never the first vertex -(that sat at the station's throat and made routes visibly stop at its edge): - -- **Open LineStrings** (through tracks): arc-length midpoint of the longest one. -- **Closed-loop-only outlines** (~66 stations are drawn as area outlines): deferred — - the game sources in Step 1b provide the precise in-game position; only stations with - no game source fall back to the loop's centroid (the arc midpoint of a loop is an - arbitrary point on its perimeter). -- **Polygons**: centroid of the largest ring. **Points**: as-is. - -### Step 2 — Segments from timetables - -A *segment* is a pair of consecutive **resolvable** stops (stops whose name matches a -station with coordinates; fuzzy "contains" matching resolves name variants like -"Warszawa Główna Towarowa" vs "…WOA"). Unresolvable intermediate stops are skipped and -their neighbors connected directly — their line numbers are still recorded. - -Keys are the **sorted** pair of normalized names (`a|b`, `a < b`): both travel directions -of a hop share one entry, one A* run, and one geometry — out-and-back trains draw -identical lines. Each segment accumulates `allLines`, the union of line numbers from -every train on that pair in both directions (used for A* line preference). - -### Step 2.5 — Canonical station nodes - -Every station that participates in a segment is snapped **once** to a single graph node: - -1. Nearest node on any of its *served lines* (the lines of all its segments), on the - drivable-only graph; -2. else the same search on the full graph (non-drivable stations, e.g. Jęzor on LK171); -3. else the unrestricted nearest node. - -Within 3 km (`SNAP_MAX_KM`) or the station is **dropped** from the gazetteer and -reported (the runtime then treats it like any unknown stop). The canonical coordinate -replaces the station's gazetteer coordinate, so the output is validated-on-track by -construction. - -Because every segment touching a station routes to/from the same node, consecutive -segments share exact endpoints — the runtime needs no bridging, and routes pass through -a station's middle instead of ending at its throat. - -### Graph construction (`rail-helpers.mjs`) - -Nodes are unique coordinates (6-decimal dedup merges ways that share OSM nodes — -including at junctions). Edges are of two kinds: - -- **Track edges** — consecutive points of a LineString, tagged with the line number - from the route name. Parallel tracks of doubled lines never share coordinates, so - the router can only change tracks via real junction/crossover geometry. -- **Endpoint-snap edges** — each LineString endpoint may connect to the nearest - non-adjacent node within 500 m, bridging fragment gaps in the wiki data (e.g. a 257 m - gap on LK139 near Brynów). The connection is only made if it keeps the way's heading - within **60° at both ends**: real junctions and fragment bridges qualify, while a - track crossing on a bridge/tunnel arrives perpendicular to the line below and is - rejected. Without this filter the pass creates phantom junctions at every crossing - (this actually happened: LK25 over LK1 south of Koluszki produced a >90° zigzag). - -There is deliberately **no** all-pairs proximity mesh: the previous 15 m pass made up -48% of all edges, meshed the ~5 m-spaced parallel tracks of double lines, and let A* -zigzag between them. - -### Step 3 — A* routing - -Two graphs: drivable-only first (guarantees an all-green path), full graph as fallback -for hops that traverse non-drivable track. A* runs canonical node → canonical node with: - -- **Line preference**: edges on the segment's timetable lines cost normal, others 10× - (soft — junction connectors stay traversable). -- **Detour guard**: path > `2 × straight-line + 5 km` → rejected. -- **Foreign-line guard**: more than 5 km on a non-timetable line → rejected (the wiki - lacks the right tracks; the hop renders grey). Skipped when the timetable provides no - line hints at all (common on freight runs with `line 0` everywhere) — the detour guard - alone decides. - -Accepted paths get Z-shaped backtrack points removed and zero-length (sub-1 m) points -deduplicated, then are stored as Google Encoded Polylines (1e-5 precision ≈ 1.1 m). - -### Step 4 — Drivability classification - -Hops routed on the full graph are classified per point against the wiki's available / -not-available track geometry of the lines the path actually traversed (derived from the -path's edges — more accurate than timetable hints, and the only source for hint-less -freight hops). A point is **red** only if it is >50 m from any available track *and* -<200 m from a not-available track; otherwise green. Results are stored as boundary -indices (below). - -### Step 5 — Output & reports - -Reports to review on every run: - -- **Dropped stations** — no track within 3 km of any source coordinate (bad wiki data). - Fixable via `station-overrides.json`. -- **GREY RISK** — uncomputed stop pairs >50 km apart; these render as very long grey - lines and usually indicate wiki data rot. Empty is good. -- **Computed / fallback counts** — a falling "Computed" number means the wiki changed - or the pipeline regressed. - -## Output format (`railData.json`) - -```jsonc -{ - "version": 1, - "knownStations": ["…"], // in-game resolvable stations (resolved AND snapped); - // the runtime trims routes to the first/last one - "stations": { "name": [lat, lon] }, // normalized name → canonical on-track coordinate - "segments": { "a|b": "…" }, // sorted key (a < b) → encoded polyline in KEY order - "segmentColors": { "a|b": [[startIndex, colorCode], …] } // boundaries in KEY order -} -``` - -- Color codes: `0` green, `1` red, `2` grey (no data for those tracks). -- A hop missing from `segments` renders as a grey straight line between the two - canonical coordinates. -- **Reversal contract**: polylines and boundary indices are in key order. When a train - travels `b → a`, the runtime reverses the decoded points *and* the sub-segment order - (slicing by boundary indices happens in key order; the runtime's double-reverse - handles direction — see git history for the bug this caused). - -## Runtime behavior (`lib/trainRoute.ts`, `TrainRoute.tsx`) - -1. Train selected → `getTrainRoute()` (memoized per `serverCode|trainNo`; concurrent - calls share one promise). -2. Timetable fetched from `https://simrail-edr.emeraldnetwork.xyz/train/{server}/{train}` - and cached for the session. -3. Stops resolved via the gazetteer (`normalizeName`: NFC → trim → collapse whitespace → - lowercase); unknown stops are skipped and neighbors connected. -4. Route trimmed to the first/last known station. -5. For each consecutive stop pair: look up the sorted key; if missing, draw a grey - straight line. Otherwise decode, apply the reversal contract, split at color - boundaries, and merge adjacent same-color sub-segments (exact — endpoints are shared - canonical nodes; the merged polyline simply drops the duplicated join point). -6. Real reversals (a train backing out of a terminus) and loops (e.g. the Muchowiec - loop) are drawn **as-is** — doubled lines are correct train movement; there is - deliberately no "out-and-back cleanup" (a previous dedup pass amputated legitimate - track, producing multi-km straight lines). -7. `TrainRoute.tsx` renders one polyline per colored segment plus an SVG arrow per km - traveled (rotation from the local bearing; size scales with zoom). Note: arrows are - SVG triangles, not text glyphs — font metrics render `>` off-center in Firefox. - -## Why grey (straight) lines appear - -A hop renders grey when `segments` has no geometry for that stop pair. This is a -deliberate fallback: the runtime still draws a straight line between the two stations' -canonical coordinates, so the route stays continuous — "we know the train runs A→B, -but there is no track geometry for it" — instead of silently vanishing. Note that only -*resolvable* stops are drawn at all (off-map stops like Gdańsk are skipped, and the -route is trimmed to the first/last known station), so grey lines always run between -real, validated station positions and meet green/red track wherever wiki coverage -resumes — which is why a route can leave known track, cross unknown territory as grey, -and land on a known station further along the line. - -Causes, most frequent first: - -1. **The line doesn't exist in the wiki.** Timetable line numbers don't always match - wiki route names (timetable "131" is wiki LK543/542) and some lines aren't drawn at - all (e.g. the Zakopane branch, LK 94/97/98). Every hop on such a corridor is grey. -2. **The wiki has the line, but not that section** — the tracks are missing, isolated - fragments A* can't reach, or the would-be path violates the sanity guards (detour / - foreign-line). Current examples: `krzewie|koło` (42 km of LK3), `koniecpol|żelisławice` - (LK572), `sosnowiec maczki|jęzor`. These are wiki data gaps, not code bugs. -3. **A dropped station stretches a hop.** If a station fails canonical snapping (bad - source coordinates — e.g. Maków Podhalański), the runtime skips it and connects its - *neighbors* directly. That long neighbor-pair was never computed (no timetable runs - it as a single hop with usable lines), so it draws as one long grey chord. The - generator's dropped-station report names the culprits. -4. **Zero-length hops (invisible, cosmetic).** Small halts often share a canonical node - with their parent station (e.g. `piotrków trybunalski|… towarowa`, the Łódź Olechów - PZS pairs): A* start==end yields no polyline, and the grey line is 0 km long. - -The generator's **GREY RISK** report flags the worst offenders at build time (currently -`kraków główny|mysłowice`, 60 km, and `myszków|dionizów`). If one bothers you: check -whether the wiki added the missing line, fix bad stations via overrides, regenerate. -Grey cannot be "fixed" in runtime code — it is the no-data signal by design. - -## Design decisions worth knowing - -| Decision | Why | -|---|---| -| One canonical node per station | Independent per-segment snapping disagreed at shared stations; the runtime bridged the mismatch with straight lines (498 junctions had ≥10 m bridges, worst 2.7 km across Kraków Płaszów). With canonical nodes: 0. | -| Sorted-pair keys | Halves A* runs; out-and-back trains draw identical geometry; forces explicit direction handling (the reversal contract). | -| Endpoint-only snapping + heading filter | Parallel tracks of double lines must not be cross-connected (the old 15 m all-pairs mesh did), and bridge/tunnel crossings must not become phantom junctions. | -| No runtime heuristics | The old runtime had straight-line bridging, a >50 km grey guard, and an out-and-back dedup — all papering over generator data. All three removed; the generator now validates its own output instead. | -| Timetable hints are soft (10×), guards are hard | Hints pick the right corridor when several exist; guards reject paths the wiki can't support. | - -## Running the generator - -```bash -cd packages/map -pnpm generate:rail-data # uses scripts/.cache/ (~1s) -pnpm generate:rail-data --refresh # re-fetch everything from the wiki/APIs (~3s) -``` - -Regeneration checklist: - -1. Check the log: dropped stations, grey-risk entries, computed/fallback counts. -2. Spot-check in dev (`pnpm dev`): a Warszawa Wschodnia reversal train, an LK1 long haul - (red gap Myszków→Rozprza stays red), and anything the report flagged. -3. Commit the regenerated `railData.json` together with any script changes. - -## Fixing a misplaced station - -Add it to `packages/map/scripts/station-overrides.json` (`{ "name": [lat, lon] }`, -normalized lowercase key) and regenerate. Overrides win over every other source. -Current example: `maków podhalański` — its wiki geometry is drawn ~200 km off. - -## Key files - -| File | Purpose | -|---|---| -| `packages/map/scripts/generate-rail-data.mjs` | Generator (fetch → anchor → snap → A* → classify → railData.json) | -| `packages/map/scripts/rail-helpers.mjs` | Graph builder (endpoint snap + heading filter), A* router, nearest-node finder, polyline codec | -| `packages/map/scripts/station-overrides.json` | Curated station coordinate fixes | -| `packages/map/components/railData.json` | Generated data (committed) | -| `packages/map/lib/trainRoute.ts` | Runtime assembly (lookup, reversal, color split, merge, caching) | -| `packages/map/components/TrainRoute.tsx` | Rendering (polylines + arrows), respects `showTrainRoute` | -| `packages/map/contexts/SelectedTrainContext.tsx` | Selected train + persisted toggles | - -Tuning knobs (in the scripts): `SNAP_MAX_KM` (3 km), endpoint tolerance (500 m), -`MAX_ALIGN_DEG` (60°), detour guard (2× + 5 km), foreign-line allowance (5 km), -line-preference penalty (10×), `ARROW_SPACING_KM` (1, runtime). - -## Validation state (last regeneration) - -334 computed segments, 19 grey; 270 stations; zero join gaps between consecutive -segments, zero zero-length edges, no direction-duplicated keys, zero mid-path spikes -across all 1973 timetables (only genuine at-station reversals). The Żakowice -Południowe→Koluszki bridge crossing routes via the real LK537 corridor (sharpest turn -33°, previously an 84° phantom via LK25→LK1). - -Known data gaps (wiki, not code): `sosnowiec maczki|jęzor`, `koniecpol|żelisławice`, -`idzikowice|radzice` (isolated track fragments in the wiki GeoJSONs), plus two long -grey pairs (`kraków główny|mysłowice`, `myszków|dionizów`). A few wiki ways are sparse -(few vertices), so some hops are multi-km straight chords — real straight track, not -rendering bugs (e.g. the 3.1 km chord on Sławków–Olkusz). \ No newline at end of file From b479a131e2e89539d056ab877791f0103b38c7ec Mon Sep 17 00:00:00 2001 From: Julian-Louis Date: Sun, 20 Sep 2026 23:59:04 +0200 Subject: [PATCH 17/19] Remove excessive route comments --- packages/map/components/TrainRoute.tsx | 1 - packages/map/lib/trainRoute.ts | 174 ---------- packages/map/scripts/generate-rail-data.mjs | 314 +---------------- packages/map/scripts/rail-helpers.mjs | 358 +++----------------- 4 files changed, 53 insertions(+), 794 deletions(-) diff --git a/packages/map/components/TrainRoute.tsx b/packages/map/components/TrainRoute.tsx index 1a66094..131cce9 100644 --- a/packages/map/components/TrainRoute.tsx +++ b/packages/map/components/TrainRoute.tsx @@ -116,7 +116,6 @@ const TrainRoute = () => { for (let si = 0; si < segments.length; si++) { const pts = segments[si].points; if (pts.length < 1) continue; - // If this segment doesn't chain onto the previous point, reset. if (!prev || prev[0] !== pts[0][0] || prev[1] !== pts[0][1]) { prev = pts[0]; distSinceLast = ARROW_SPACING_KM; diff --git a/packages/map/lib/trainRoute.ts b/packages/map/lib/trainRoute.ts index 1e65884..a56b3bf 100644 --- a/packages/map/lib/trainRoute.ts +++ b/packages/map/lib/trainRoute.ts @@ -1,140 +1,37 @@ -/** - * trainRoute.ts — Runtime route computation for the train highlight feature. - * - * When a train is selected on the map, this module fetches its timetable from - * the community EDR API, looks up pre-computed track geometries from - * railData.json, and assembles a list of colored polyline segments to render - * on the Leaflet map. - * - * Data flow: - * 1. Train selected → getTrainRoute() is called (cached per train) - * 2. fetchTimetable() fetches the train's stop list from the community EDR - * (simrail-edr.emeraldnetwork.xyz). Cached in memory per train number. - * 3. computeRoute() resolves each stop name to coordinates from the - * gazetteer in railData.json. Stops without coordinates are skipped. - * 4. The route is trimmed to the first and last "known" stations (stations - * that resolved AND validated against the wiki track data at generation - * time — in-game resolvable stations). - * 5. For each consecutive pair of resolved stops, the pre-computed track - * geometry is looked up from railData.segments. Keys are SORTED pairs - * ("aNorm|bNorm" with a) - * - routeCache: Per-train computed route results (Map) - * Both are module-level Maps that persist for the session. This means clicking - * the same train twice doesn't re-fetch or re-compute. - */ import railDataJson from "../components/railData.json"; -/** A [lat, lon] coordinate pair in decimal degrees. */ export type RoutePoint = [number, number]; -/** - * A colored polyline segment to render on the map. - * - green: drivable track (available in SimRail) - * - red: non-drivable track (exists in wiki but not playable) - * - grey: no wiki track data available (straight line between stations) - */ export interface ColoredSegment { color: "green" | "red" | "grey"; points: RoutePoint[]; } -/** - * The railData.json structure loaded at build time. - * This file is generated by scripts/generate-rail-data.mjs and committed - * to the repository. It contains all pre-computed route data so no runtime - * A* routing or OSM fetching is needed. - */ interface RailData { - /** In-game resolvable station names (used for route trimming). */ knownStations: string[]; - /** - * Station coordinate gazetteer: normalized name → [lat, lon]. - * For stations that participate in routes, the coordinate is the - * canonical track node the generator snapped them to (on-track, - * near the station's middle). - */ stations: Record; - /** - * Pre-computed track geometries, keyed by the SORTED pair of normalized - * station names ("a|b" with a; - /** - * Color boundaries per segment (same sorted key): [[startIndex, colorCode], ...] - * Each entry marks where a new color section begins (by point index into - * the decoded polyline, in key order). colorCode: 0=green, 1=red, 2=grey. - * Segments not in this map default to [[0, 0]] (all green). - */ segmentColors: Record; } -/** Maps color codes (0, 1, 2) to color names ("green", "red", "grey"). */ const COLOR_NAMES = ["green", "red", "grey"] as const; const railData = railDataJson as unknown as RailData; -/** Set of normalized known station names, used for route trimming. */ const knownSet = new Set(railData.knownStations); -/** Community EDR API base URL for fetching train timetables. */ const EDR_TIMETABLE_URL = "https://simrail-edr.emeraldnetwork.xyz/train"; -/** - * Normalizes a station name for matching across data sources. - * Applies Unicode NFC, trims whitespace, collapses internal spaces, lowercases. - * This ensures "Warszawa Główna Towarowa" matches "Warszawa Główna Towarowa WOA" - * via the fuzzy resolver in the generator (which stores both under their - * respective normalized forms). - */ function normalizeName(name: string): string { return name.normalize("NFC").trim().replace(/\s+/g, " ").toLowerCase(); } -/** - * Decodes a Google Encoded Polyline string into an array of [lat, lon] points. - * - * The encoding uses delta encoding with zigzag-signed varints at 5 decimal - * places (~1.1m precision). Each coordinate is split into 5-bit groups with - * a continuation bit (0x20) and offset by 63 to avoid control characters. - * - * Format per coordinate: - * 1. Read varint for latitude delta (zigzag-decoded) - * 2. Add delta to running latitude - * 3. Read varint for longitude delta (zigzag-decoded) - * 4. Add delta to running longitude - * 5. Divide by 1e5 to get decimal degrees - */ function decodePolyline(str: string): RoutePoint[] { let idx = 0; let lat = 0; let lon = 0; const pts: RoutePoint[] = []; while (idx < str.length) { - // Decode latitude delta (varint with continuation bit 0x20) let shift = 0; let result = 0; let byte; @@ -143,10 +40,8 @@ function decodePolyline(str: string): RoutePoint[] { result |= (byte & 0x1f) << shift; shift += 5; } while (byte >= 0x20); - // Zigzag decode: if LSB is 1, value is negative lat += result & 1 ? ~(result >> 1) : result >> 1; - // Decode longitude delta (same varint format) shift = 0; result = 0; do { @@ -161,17 +56,12 @@ function decodePolyline(str: string): RoutePoint[] { return pts; } -/** A timetable stop as returned by the community EDR API. */ interface TimetableStop { nameOfPoint?: string; nameForPerson?: string; line?: number; } -/** - * Per-train timetable cache. Keyed by "serverCode|trainNo". - * Stores Promises so concurrent calls for the same train share a single fetch. - */ const timetableCache = new Map>(); function cacheSuccessfulResult( @@ -196,11 +86,6 @@ function cacheSuccessfulResult( return request; } -/** - * Fetches a train's timetable from the community EDR API. - * Results are cached per train (serverCode + trainNo) for the session. - * Returns null if the fetch fails or the train has no timetable. - */ function fetchTimetable( serverCode: string, trainNo: string, @@ -222,32 +107,14 @@ function fetchTimetable( }); } -/** - * A timetable stop resolved to a coordinate. - * - coord: [lat, lon] from the railData stations gazetteer - * - name: normalized station name (used as segment key component) - * - isKnown: whether the station is in the knownStations set (playable area) - */ interface ResolvedStop { coord: RoutePoint; name: string; isKnown: boolean; } -/** - * Per-train route cache. Keyed by "serverCode|trainNo". - * Stores Promises so concurrent calls share a single computation. - */ const routeCache = new Map>(); -/** - * Gets the colored route segments for a train. - * This is the main entry point called by the TrainRoute component. - * Results are cached per train for the session. - * - * @param train - Object with ServerCode and TrainNoLocal - * @returns Array of ColoredSegment (green/red/grey polylines), or null if no route - */ export function getTrainRoute(train: { ServerCode: string; TrainNoLocal: string; @@ -256,27 +123,6 @@ export function getTrainRoute(train: { return cacheSuccessfulResult(routeCache, key, () => computeRoute(train)); } -/** - * Computes the colored route segments for a train. - * - * Algorithm: - * 1. Fetch the train's timetable (stop list with line numbers). - * 2. Resolve each stop name to coordinates from the gazetteer. - * Stops without coordinates (signal boxes, off-map stations) are skipped. - * 3. Trim the route to the first and last "known" stations. - * 4. For each consecutive pair of resolved stops: - * a. Look up the pre-computed track geometry by the sorted key pair, - * reversing the decoded points when traveling against key order. - * b. If no geometry exists, draw a grey straight line (no wiki data). - * c. Split the polyline at color boundaries (from segmentColors) - * into green/red/grey sub-segments, in travel order. - * d. Merge adjacent same-color sub-segments. Consecutive segments - * share exact endpoints (canonical station nodes), so merging - * is exact — no bridging needed. - * - * @param train - Object with ServerCode and TrainNoLocal - * @returns Array of ColoredSegment, or null if the route can't be computed - */ async function computeRoute(train: { ServerCode: string; TrainNoLocal: string; @@ -284,7 +130,6 @@ async function computeRoute(train: { const stops = await fetchTimetable(train.ServerCode, train.TrainNoLocal); if (!stops || stops.length < 2) return null; - // Resolve each stop to coordinates. Stops without coordinates are skipped. const resolved: ResolvedStop[] = []; for (const stop of stops) { const name = stop.nameOfPoint || stop.nameForPerson; @@ -299,7 +144,6 @@ async function computeRoute(train: { }); } - // Trim to the first and last known stations (playable area boundary). let first = -1; let last = -1; for (let i = 0; i < resolved.length; i++) { @@ -313,7 +157,6 @@ async function computeRoute(train: { const effective = resolved.slice(first, last + 1); if (effective.length < 2) return null; - // Assemble colored segments from pre-computed data. const segments: ColoredSegment[] = []; let prevConnected = false; @@ -321,13 +164,9 @@ async function computeRoute(train: { const a = effective[i]; const b = effective[i + 1]; - // Segments are keyed by the sorted pair of names; reverse the decoded - // points when the train travels against key order. const key = a.name < b.name ? `${a.name}|${b.name}` : `${b.name}|${a.name}`; const encoded = railData.segments[key]; - // No pre-computed route — draw a grey straight line to indicate - // the route continues but track data is not available. if (!encoded) { segments.push({ color: "grey", points: [a.coord, b.coord] }); prevConnected = false; @@ -335,28 +174,18 @@ async function computeRoute(train: { } const reversed = a.name > b.name; - // Decode in KEY order — boundary indices refer to key-order points. - // Travel direction is applied after slicing, by reversing the - // sub-segments and their points below. const allPts = decodePolyline(encoded); - // Get color boundaries: [[startIndex, colorCode], ...] in KEY order. - // Default to [[0, 0]] (all green) if not in the data. const boundaries = railData.segmentColors?.[key] ?? [[0, 0]]; - // Split the polyline into colored sub-segments at each boundary - // (in stored order), then reverse both the sub-segment order and - // their points when traveling against key order. const subs: { color: "green" | "red" | "grey"; points: RoutePoint[]; }[] = []; for (let bi = 0; bi < boundaries.length; bi++) { const [startIdx, colorCode] = boundaries[bi]; - // End index is the start of the next boundary, or the end of the polyline. const endIdx = bi < boundaries.length - 1 ? boundaries[bi + 1][0] : allPts.length; - // Slice includes the endIdx point for continuity with the next sub-segment. const subPts = allPts.slice( startIdx, bi < boundaries.length - 1 ? endIdx + 1 : endIdx, @@ -372,9 +201,6 @@ async function computeRoute(train: { } for (const { color, points: subPts } of subs) { - // Merge with the previous segment if same color and connected - // (no gap). Consecutive segments share exact endpoints (canonical - // station nodes), so the merge is exact. const lastSeg = segments[segments.length - 1]; if (prevConnected && lastSeg && lastSeg.color === color) { lastSeg.points.push(...subPts.slice(1)); diff --git a/packages/map/scripts/generate-rail-data.mjs b/packages/map/scripts/generate-rail-data.mjs index 5ae03b3..c3326fd 100644 --- a/packages/map/scripts/generate-rail-data.mjs +++ b/packages/map/scripts/generate-rail-data.mjs @@ -1,103 +1,5 @@ #!/usr/bin/env node -/** - * generate-rail-data.mjs — Generator script for railData.json. - * - * This script fetches data from the SimRail wiki interactive map and the - * SimRail timetable API, then pre-computes track-following route geometries - * between every pair of consecutive timetable stops. The output is committed - * to the repository as components/railData.json and loaded at runtime by - * lib/trainRoute.ts. - * - * Data sources: - * 1. Wiki interactive map (wiki.simrail.eu/map/) — provides: - * - Route GeoJSON files: exact OSM track geometry per railway line (LK1, - * LK4, LK62, etc.), split into "available" (drivable in SimRail) and - * "not available" (not drivable) sections. Some lines have two entries - * with different URLs (e.g. lk1.geojson vs lk1u.geojson). - * - Station GeoJSON files: track/platform geometry at each station, - * used to extract a station's center point (arc-length midpoint of the - * longest track LineString, or the platform Polygon centroid). - * - map-data.json: master index of routes and stations with metadata - * (type: "po"/"border"/"playable:false", available: true/false). - * 2. SimRail official timetable API (api1.aws.simrail.eu) — provides all - * train timetables (stop lists with line numbers). Falls back to the - * community EDR API (simrail-edr.emeraldnetwork.xyz) if the official - * API is down. - * 3. Local station files (components/stations.json, stationsRemote.json) — - * supplement the wiki's 161 stations with additional coordinates for - * small stops (e.g. Sprowa, Józefinów) that aren't in the wiki. - * 4. SimRail stations-open API (panel.simrail.eu:8084) — provides - * coordinates for dispatch stations (e.g. Pruszków, Grodzisk Mazowiecki). - * 5. scripts/station-overrides.json — curated coordinates for stations with - * known-bad source geometry (applied last, wins over all other sources). - * - * Pipeline: - * Step 1: Fetch wiki map-data.json + route GeoJSONs + station GeoJSONs + - * timetables (all in parallel). Cache all responses to disk. - * Station coordinates are extracted as geometry CENTERS (not the - * first coordinate, which sits at the station's edge). - * Step 1b: Supplement station coordinates from local files + stations-open API, - * then apply curated overrides. - * Step 2: Collect unique segments from timetables. A segment is a pair of - * consecutive stops that both have coordinates, keyed by the SORTED - * pair of normalized station names (direction-agnostic: "a|b" and - * "b|a" are the same segment, computed once and reversed at lookup - * time). Stops without coordinates are skipped and the surrounding - * resolvable stops are connected directly. Each segment accumulates - * allLines — the union of line numbers used by every train on that - * pair, in both directions — used for A* line preference. - * Step 2.5: Canonical station nodes. Each station is snapped ONCE to the - * nearest graph node on any of its served lines (the lines of all - * segments touching it), within 3km. Every segment touching the - * station then routes to/from the same node, so consecutive - * segments chain exactly with no gaps or straight-line bridges. - * Stations that fail to snap (>3km from any track — e.g. wrong - * source coordinates, like Maków Podhalański) are dropped from the - * gazetteer and reported; the runtime treats them as unknown stops. - * Step 3: Compute A* routes for each segment: canonical node → canonical - * node. Try the available-tracks graph first (guarantees an - * all-green path); fall back to the full graph for segments that - * traverse non-drivable tracks. A* prefers the segment's - * accumulated lines (non-preferred edges cost 10x more but remain - * traversable for junction connectors). Paths are validated: a - * detour guard (>2x straight-line + 5km = rejected) and a - * non-timetable-line usage guard (>5km on a foreign line = the wiki - * doesn't have the right tracks → leave the segment uncomputed so - * the runtime draws it grey). - * Step 4: Determine per-segment drivability (green/red) by classifying each - * point along the path against the wiki's available and - * not-available track geometry of all the segment's lines. A point - * is red only if it's NOT on an available track (>50m away) AND - * close to a not-available track (<200m). This avoids false reds - * from parallel available/not-available tracks. Store results as - * color boundaries: [startIndex, colorCode] pairs. - * colorCode: 0=green, 1=red, 2=grey (no wiki data). - * Step 5: Write the output JSON file. Also print a grey-risk report: - * uncomputed consecutive-stop pairs whose stations are >50km apart - * (these would draw very long grey straight lines at runtime and - * usually indicate data rot in the wiki). - * - * Usage: node packages/map/scripts/generate-rail-data.mjs [--refresh] - * - * --refresh: Forces re-fetching from the APIs (ignores cache). - * Without --refresh, all API responses are cached in scripts/.cache/ - * and reused on subsequent runs for fast iteration (~1s vs ~5s). - * - * Output format (railData.json): - * { - * knownStations: string[], // All stations that resolved AND snapped to the graph (in-game resolvable stations) - * stations: { [name]: [lat, lon] }, // Station gazetteer (normalized name → canonical on-track coordinate) - * segments: { [key]: string }, // Google Encoded Polylines (key = sorted pair "aNorm|bNorm", a < b) - * segmentColors: { [key]: number[][] } // Color boundaries: [[startIndex, colorCode], ...] - * // colorCode: 0=green (drivable), 1=red (non-drivable), 2=grey (no data) - * } - * - * The runtime (lib/trainRoute.ts) decodes each segment's polyline (reversing - * it when the travel direction is opposite the sorted key) and splits it at - * the color boundaries to render green/red/grey sub-segments on the map. - * Consecutive segments share exact endpoints (canonical station nodes), so - * adjacent sub-segments chain seamlessly. - */ + import fs from "node:fs"; import path from "node:path"; import { fileURLToPath } from "node:url"; @@ -129,10 +31,6 @@ const TIMETABLE_SERVER = "int1"; fs.mkdirSync(CACHE_DIR, { recursive: true }); const refresh = process.argv.includes("--refresh"); -/** - * Fetches JSON from a URL and caches it to disk. - * On subsequent runs (without --refresh), the cached file is used directly. - */ async function cachedFetchJson(url, cacheName) { const cachePath = path.join(CACHE_DIR, cacheName); if (!refresh && fs.existsSync(cachePath)) { @@ -145,10 +43,6 @@ async function cachedFetchJson(url, cacheName) { return json; } -/** - * Runs async tasks with bounded concurrency. - * Creates `limit` concurrent workers that pull from a shared index. - */ async function pool(items, limit, fn) { let idx = 0; const workers = Array.from( @@ -163,26 +57,6 @@ async function pool(items, limit, fn) { await Promise.all(workers); } -/** - * Extracts a station's representative center coordinate from its wiki GeoJSON. - * - * The wiki draws stations in two ways, and the first coordinate of the first - * feature sits at the station's EDGE (throat), which made routes visually end - * where a station begins. Instead, return the station's middle: - * - OPEN LineStrings (through tracks): the arc-length midpoint of the - * longest one (the through-track's middle, interpolated). - * - CLOSED LineStrings only (drawn station-area outlines, ~66 stations): - * the vertex-average centroid of the largest loop. The arc midpoint of a - * loop is an arbitrary point on the outline. Loop-only outlines are - * area drawings rather than tracks, so they are marked loopOnly — the - * caller prefers the precise game-source coordinate (Step 1b) and only - * falls back to the centroid. - * - Else Polygon rings: the vertex-average centroid of the largest ring. - * - Else a Point: as-is. - * - * @param {object} gj - Station GeoJSON (FeatureCollection) - * @returns {{anchor: [number, number]|null, loopOnly: boolean}} - */ function extractStationAnchor(gj) { const lines = []; const rings = []; @@ -217,7 +91,6 @@ function extractStationAnchor(gj) { return [lat / ls.length, lon / ls.length]; }; if (lines.length > 0) { - // Split into open through-tracks and closed outline loops. const open = []; const loops = []; for (const ls of lines) { @@ -232,7 +105,6 @@ function extractStationAnchor(gj) { if (closed) loops.push(ls); else open.push(ls); } - // Prefer open through-tracks: arc-length midpoint of the longest. if (open.length > 0) { let best = null; let bestLen = -1; @@ -265,7 +137,6 @@ function extractStationAnchor(gj) { const last = best[best.length - 1]; return { anchor: [last[1], last[0]], loopOnly: false }; } - // Only loops: centroid of the largest outline, flagged as loopOnly. if (loops.length > 0) { let best = null; let bestLen = -1; @@ -282,7 +153,6 @@ function extractStationAnchor(gj) { return only ? { anchor: [only[0][1], only[0][0]], loopOnly: false } : { anchor: null, loopOnly: false }; } if (rings.length > 0) { - // Largest ring by bounding-box diagonal; centroid = vertex average. const size = (r) => { let mnLat = 1e9, mnLon = 1e9, @@ -310,10 +180,6 @@ async function main() { const log = (msg) => console.log(`[${((Date.now() - t0) / 1000).toFixed(1)}s] ${msg}`); - // ======================================================================== - // Step 1: Fetch wiki map-data.json + timetables (parallel) - // ======================================================================== - log("Step 1: Fetch wiki map-data.json + timetables (parallel)"); const wikiPromise = (async () => { @@ -326,10 +192,6 @@ async function main() { ` [wiki] Routes: ${wikiMapData.routes.length}, Stations: ${wikiMapData.stations.length}`, ); - // --- Fetch route GeoJSON files --- - // Each route has a URL to a GeoJSON file with track geometry (LineStrings). - // Some lines have TWO entries: "available" (drivable) and "not available" - // (not drivable), with different URLs (e.g. lk1.geojson vs lk1u.geojson). log(" [wiki] Fetching route geometries..."); const routeFeatures = []; await pool(wikiMapData.routes, 10, async (route) => { @@ -337,7 +199,6 @@ async function main() { if (!match) return; const lineNo = match[1]; const isAvailable = route.available !== false; - // Cache name includes availability flag to avoid collisions. const cacheName = `wiki_route_${route.name.replace(/[^a-zA-Z0-9]/g, "_")}_${isAvailable ? "avail" : "notavail"}.json`; try { const gj = await cachedFetchJson(WIKI_BASE + route.url, cacheName); @@ -354,13 +215,6 @@ async function main() { }); log(` [wiki] Route features: ${routeFeatures.length}`); - // --- Fetch station GeoJSON files --- - // Each station has a URL to a GeoJSON file. We extract a CENTER - // coordinate (midpoint of the longest track / platform centroid), NOT - // the first vertex — the first vertex sits at the station's edge. - // Stations drawn ONLY as closed outline loops are deferred: the game - // sources (Step 1b) provide precise in-game coordinates, and only - // stations with no game source fall back to the loop centroid. log(" [wiki] Fetching station coordinates..."); const stationCoords = new Map(); const knownStations = new Set(); @@ -379,7 +233,6 @@ async function main() { knownStations.add(norm); } } catch { - // skip } }); log( @@ -443,7 +296,6 @@ async function main() { all.push({ trainNo: train.TrainNoLocal, timetable: tt }); } } catch { - // skip } }); if (all.length === 0) { @@ -457,10 +309,6 @@ async function main() { await wikiPromise; await timetablesPromise; - // Supplement station coordinates with local files and the SimRail API. - // The wiki station list (161 stations) doesn't include all timetable stops - // (e.g. Pruszków, Grodzisk Mazowiecki, Sprowa, Korytów). These are available - // from the local stations.json/stationsRemote.json files and the stations-open API. log("Step 1b: Supplement station coordinates from local files + API"); const localBundled = JSON.parse( fs.readFileSync( @@ -507,15 +355,10 @@ async function main() { } } } catch { - // skip } } log(` Total stations with coords: ${stationCoords.size}`); - // Curated station coordinate overrides (scripts/station-overrides.json). - // Applied last so they win over every other source. Used for stations with - // known-bad source geometry (e.g. Maków Podhalański's wiki geometry is - // misplaced ~211km north near Skierniewice). const overridesPath = path.join(__dirname, "station-overrides.json"); if (fs.existsSync(overridesPath)) { const overrides = JSON.parse(fs.readFileSync(overridesPath, "utf8")); @@ -530,8 +373,6 @@ async function main() { } } - // Last-resort fallback: wiki stations drawn only as outline loops that - // have no game-source coordinate use the loop centroid. let loopFallbackCount = 0; for (const [norm, coord] of wikiLoopCentroids) { if (!stationCoords.has(norm)) { @@ -546,13 +387,6 @@ async function main() { ); } - // ======================================================================== - // Step 2: Collect segments from timetables - // ======================================================================== - // A "segment" is a pair of consecutive stops that both have coordinates. - // Stops without coordinates (signal boxes, off-map stations) are skipped, - // and the surrounding resolvable stops are connected directly. - log("Step 2: Collect segments from timetables"); const allTimetables = JSON.parse( fs.readFileSync(path.join(CACHE_DIR, "all_timetables.json"), "utf8"), @@ -560,12 +394,6 @@ async function main() { const wikiStationList = wikiMapData.stations; - /** - * Resolves a raw station name to a normalized name with coordinates. - * First tries exact match, then fuzzy "contains" matching against the - * wiki station list (e.g. "Warszawa Główna Towarowa" matches - * "Warszawa Główna Towarowa WOA"). - */ function resolveStationCoords(rawName) { const norm = normalizeName(rawName); if (stationCoords.has(norm)) return norm; @@ -583,9 +411,6 @@ async function main() { return null; } - // Segments are keyed by the SORTED pair of normalized names (a|b, a 0) allLines.add(String(line)); if (toLine > 0) allLines.add(String(toLine)); @@ -643,7 +462,6 @@ async function main() { } log(` Unique segments: ${segments.size}`); - // Prepare work segments: replace station names with coordinates. const workSegments = []; let noCoordsCount = 0; for (const seg of segments.values()) { @@ -659,32 +477,13 @@ async function main() { } log(` Work segments: ${workSegments.length} (skipped ${noCoordsCount})`); - // Build a set of line numbers that exist in the wiki route data. - // Used to skip segments whose timetable line number doesnt correspond - // to any wiki track (e.g. line 131 in the timetable corresponds to - // wiki LK543/LK542, not LK131). const wikiLineNumbers = new Set(); for (const r of wikiMapData.routes) { const match = r.name.match(/^LK(\d+)$/); if (match) wikiLineNumbers.add(match[1]); } - // ======================================================================== - // Step 2.5: Canonical station nodes - // ======================================================================== - // Each station participating in at least one segment is snapped ONCE to a - // single graph node: the nearest node on any of its served lines (union of - // the lines of all segments touching it, both directions), preferring - // available (drivable) tracks, falling back to any track. Every segment - // touching the station then routes to/from that same node, so consecutive - // segments chain exactly — no straight-line bridges, and the route passes - // through the station's middle rather than stopping at its edge. - // Stations that cannot be snapped at all (>3km from any track — wrong - // source coordinates) are dropped from the gazetteer and reported; the - // runtime treats them like any other stop without coordinates. - - // Served lines per station (only lines that exist as wiki routes). - const servedLines = new Map(); // normalized name → Set + const servedLines = new Map(); for (const seg of segments.values()) { const [a, b] = seg.key.split("|"); if (!servedLines.has(a)) servedLines.set(a, new Set()); @@ -709,8 +508,6 @@ async function main() { ` Graph avail: ${graphAvail.coords.length} nodes, full: ${graphFull.coords.length} nodes`, ); - // Resolve an exact [lat, lon] (a canonical node coordinate) to its node - // index in the given graph, via the coordinate-dedup key. const coordKey = (lat, lon) => `${lat.toFixed(6)},${lon.toFixed(6)}`; const nodeIndexFor = (graph, coord) => graph.coordIndex.get(coordKey(coord[0], coord[1])) ?? -1; @@ -718,35 +515,28 @@ async function main() { log( ` Snapping ${servedLines.size} stations to canonical nodes...`, ); - const canonicalNodes = new Map(); // normalized name → [lat, lon] + const canonicalNodes = new Map(); const droppedStations = []; for (const [name, lines] of servedLines) { const anchor = stationCoords.get(name); - if (!anchor) continue; // no coordinate at all — segment prep will skip + if (!anchor) continue; let snap = null; let snapGraph = null; - // 1. Nearest node on a served line, on available tracks (drivable). if (lines.size > 0) { snap = nearestAvail(anchor, lines); snapGraph = graphAvail; - // 2. Nearest node on a served line, on any track (non-drivable - // stations, e.g. Jęzor which sits on non-available LK171). if (snap.index < 0 || snap.distKm > SNAP_MAX_KM) { snap = nearestFull(anchor, lines); snapGraph = graphFull; } } - // 3. Unrestricted: nearest node on any track. if (snap === null || snap.index < 0 || snap.distKm > SNAP_MAX_KM) { snap = nearestFull(anchor, null); snapGraph = graphFull; } if (snap.index >= 0 && snap.distKm <= SNAP_MAX_KM) { - // Coordinate MUST come from the graph the snap index belongs to — - // graphAvail and graphFull have independent node numbering. const nodeCoord = snapGraph.coords[snap.index]; canonicalNodes.set(name, nodeCoord); - // Update the gazetteer to the validated on-track coordinate. stationCoords.set(name, nodeCoord); } else { droppedStations.push(name); @@ -764,7 +554,6 @@ async function main() { ` Canonical nodes: ${canonicalNodes.size}, dropped: ${droppedStations.length}`, ); - // Rebuild work segments after pruning dropped stations. const workSegmentsPruned = []; for (const seg of workSegments) { const [a, b] = seg.key.split("|"); @@ -777,27 +566,16 @@ async function main() { ); const workList = workSegmentsPruned; - // ======================================================================== - // Step 3: Compute A* routes (canonical node → canonical node) - // ======================================================================== - // Try the available-tracks graph first (guarantees an all-green path); - // fall back to the full graph for segments that traverse non-drivable - // tracks. A* prefers the segment's accumulated lines; paths are validated - // by a detour guard and a non-timetable-line usage guard. - log("Step 3: Compute A* routes"); const routeSegments = {}; - const segmentLines = {}; // key → lines actually traversed by the path + const segmentLines = {}; const segmentUsedFullGraph = new Set(); let computed = 0; let fallback = 0; let computedAvail = 0; let computedFull = 0; - // Try to route a segment on the given graph. Endpoints are the canonical - // station nodes (resolved by exact coordinate). Returns an encoded - // polyline or null. function tryRoute(seg, graph, router) { const [aName, bName] = seg.key.split("|"); const fromIdx = nodeIndexFor(graph, canonicalNodes.get(aName)); @@ -810,8 +588,6 @@ async function main() { const straightKm = haversineKm(fromCoord, toCoord); let pathIndices = null; - // Helper: compute total path distance (canonical nodes are on the - // track, so the path length IS the full segment length). function pathKmOf(indices) { let total = 0; let prev = fromCoord; @@ -823,14 +599,6 @@ async function main() { return total; } - // Helper: reject paths with excessive detour. The threshold scales - // with distance: short segments (where rail curves add proportionally - // more distance) get a more lenient allowance via an absolute bonus. - // maxPathKm = straightKm * 2 + 5 (5km absolute bonus, 2× ratio) - // So a 1.25km segment allows up to 7.5km, while a 85km segment - // allows up to 175km. This accommodates real rail routes that zigzag - // through junctions (e.g. Płyćwia→Bełchów via Skierniewice is 22.6km - // for 12km straight). function acceptPath(indices) { if (!indices || indices.length < 2) return false; if (straightKm > 0) { @@ -840,21 +608,11 @@ async function main() { return true; } - // Helper: verify the path only uses lines listed in the timetable. - // Edges with no line ref (snap/connector edges) are always allowed. - // Non-timetable lines are allowed for short distances (junction - // connectors, e.g. LK537 bridges LK535 and LK1 at Koluszki). - // If the path uses a non-timetable line for more than 5km total, - // the wiki doesn't have the correct tracks for this segment and the - // route should be shown as grey instead. const timetableLines = new Set(lines); function usesOnlyTimetableLines(indices, allowedLines) { if (!indices) return false; - // No line hints in the timetable (freight runs often have line 0 - // everywhere) — there is nothing to validate against; rely on the - // detour guard alone. if (allowedLines.size === 0) return true; - const nonTtKm = new Map(); // lineNo → km on non-timetable lines + const nonTtKm = new Map(); for (let i = 0; i < indices.length - 1; i++) { for ( let p = graph.start[indices[i]]; @@ -863,7 +621,7 @@ async function main() { ) { if (graph.adjOther[p] !== indices[i + 1]) continue; const refs = graph.erefs[graph.adjEdge[p]]; - if (!refs || refs.length === 0) continue; // connector edge + if (!refs || refs.length === 0) continue; for (const r of refs) { if (!allowedLines.has(r)) { const edgeKm = graph.adjDist[p]; @@ -873,22 +631,18 @@ async function main() { break; } } - // Reject if any non-timetable line is used for more than 5km. for (const km of nonTtKm.values()) { if (km > 5) return false; } return true; } - // Try A* with the segment's union of timetable lines (non-preferred - // edges cost 10x more but remain traversable for junction connectors). if (lines.length > 0) { const p = router(fromIdx, toIdx, lines); if (acceptPath(p) && usesOnlyTimetableLines(p, timetableLines)) pathIndices = p; } - // Fallback: unconstrained A* with the same guards. if (!pathIndices) { const p = router(fromIdx, toIdx, null); if (acceptPath(p) && usesOnlyTimetableLines(p, timetableLines)) @@ -897,7 +651,6 @@ async function main() { if (!pathIndices || pathIndices.length < 2) return null; - // Collect the lines actually traversed by the accepted path. const usedLineSet = new Set(); for (let i = 0; i < pathIndices.length - 1; i++) { for ( @@ -912,10 +665,8 @@ async function main() { } } - // Use the A* path as-is — snapped nodes are already on the track. const points = pathIndices.map((idx) => graph.coords[idx]); - // Remove backtracking points (Z-shaped edges) throughout the path. let changed = true; while (changed && points.length > 2) { changed = false; @@ -933,9 +684,6 @@ async function main() { } } - // Drop consecutive points that collapse to the same encoded coordinate - // (polyline precision is 1e-5 ≈ 1.1m; distinct graph nodes can be - // closer than that and would decode to zero-length edges). const deduped = []; let lastRlat = null; let lastRlon = null; @@ -951,9 +699,6 @@ async function main() { return { encoded: encodePolyline(deduped), - // Lines actually traversed by the path (used for availability - // classification in Step 4 — more accurate than timetable hints, - // and the only source for hint-less freight segments). usedLines: [...usedLineSet], }; } @@ -961,18 +706,13 @@ async function main() { for (let i = 0; i < workList.length; i++) { const seg = workList[i]; - // Skip segments whose lines don't exist in wiki route data. Segments - // with NO line hints at all (freight runs with line 0 everywhere) - // still get a chance: the detour guard decides. const hasHints = seg.allLines.length > 0; const hasWikiLine = seg.allLines.some((l) => wikiLineNumbers.has(l)); if (hasHints && !hasWikiLine) continue; - // Try available-only graph first (produces all-green paths). let result = tryRoute(seg, graphAvail, routerAvail); let usedFull = false; - // Fall back to full graph if no available path exists. if (!result) { result = tryRoute(seg, graphFull, routerFull); usedFull = true; @@ -994,17 +734,8 @@ async function main() { ` Computed: ${computed} (avail: ${computedAvail}, full: ${computedFull}), Fallback (grey): ${fallback}`, ); - // ======================================================================== - // Step 4: Compute per-segment availability from wiki track data - // ======================================================================== - // Some lines have both drivable and non-drivable sections (e.g. LK1 has - // a non-drivable gap between Myszków and Rozprza). We classify each - // segment by sampling points along its path and voting: closer to - // available tracks → green, closer to not-available tracks → red. - log("Step 4: Compute per-segment availability"); - // Load available and not-available track geometries per line. const lineAvailableFeatures = {}; const lineNotAvailableFeatures = {}; for (const routeEntry of wikiMapData.routes) { @@ -1035,14 +766,12 @@ async function main() { } } } catch { - // skip } } log( ` Available lines: ${Object.keys(lineAvailableFeatures).length}, Not-available lines: ${Object.keys(lineNotAvailableFeatures).length}`, ); - // Distance from a point to a LineString (km), using equirectangular projection. function distToLineKm(point, line) { let min = Infinity; const cosLat = Math.cos((point[0] * Math.PI) / 180); @@ -1065,7 +794,6 @@ async function main() { return min; } - // Decode Google Encoded Polyline to [lat, lon] points. function decodePolyline(str) { let idx = 0; let lat = 0; @@ -1094,28 +822,16 @@ async function main() { return pts; } - // Classify each segment: determine availability (green/red) at each point - // along the path, and store color boundaries as [startIndex, colorCode] - // pairs. colorCode: 0=green, 1=red, 2=grey (no wiki data). - // The runtime decodes the full polyline from "segments" and splits it - // at these boundaries, avoiding duplicate polyline data. - // - // For segments with no wiki track data, a single grey entry [0, 2] is stored. const segmentColors = {}; let availCount = 0; let notAvailCount = 0; for (const [key, encoded] of Object.entries(routeSegments)) { - // Segments routed on the available-only graph are entirely green. if (!segmentUsedFullGraph.has(key)) { segmentColors[key] = [[0, 0]]; availCount++; continue; } - // Classify against the wiki track geometry of the lines the path - // actually traversed (segmentLines — more accurate than timetable - // hints, and the only source for hint-less freight segments). A hop - // may legitimately traverse several lines. const lines = segmentLines[key] || (segments.get(key)?.allLines.filter((l) => wikiLineNumbers.has(l)) ?? @@ -1125,19 +841,16 @@ async function main() { (l) => lineNotAvailableFeatures[l] || [], ); - // No wiki track data for this line — mark as grey. if (availTracks.length === 0 && notAvailTracks.length === 0) { segmentColors[key] = [[0, 2]]; continue; } - // No not-available tracks — entirely green. if (notAvailTracks.length === 0) { segmentColors[key] = [[0, 0]]; availCount++; continue; } - // Decode the polyline and classify each point. const pts = decodePolyline(encoded); const pointColors = pts.map((pt) => { let minAvail = Infinity; @@ -1152,11 +865,10 @@ async function main() { if (d < minNotAvail) minNotAvail = d; if (minNotAvail < 0.05) break; } - if (minAvail > 0.05 && minNotAvail < 0.2) return 1; // red - return 0; // green + if (minAvail > 0.05 && minNotAvail < 0.2) return 1; + return 0; }); - // Build boundary list: [startIndex, colorCode] at each color change. const boundaries = [[0, pointColors[0]]]; for (let i = 1; i < pointColors.length; i++) { if (pointColors[i] !== pointColors[i - 1]) { @@ -1165,7 +877,6 @@ async function main() { else notAvailCount++; } } - // Count the last segment. if (pointColors[pointColors.length - 1] === 0) availCount++; else notAvailCount++; @@ -1175,15 +886,8 @@ async function main() { ` Available sub-segments: ${availCount}, Not available: ${notAvailCount}`, ); - // ======================================================================== - // Step 5: Write output + grey-risk report - // ======================================================================== log("Step 5: Write output"); - // Grey-risk report: uncomputed consecutive-stop pairs whose stations are - // far apart (>50km). At runtime these draw very long grey straight lines - // and usually indicate data rot in the wiki (missing/wrong tracks), not - // genuinely missing routes — worth investigating before shipping. const GREY_RISK_KM = 50; const greyRisk = []; for (const seg of workList) { diff --git a/packages/map/scripts/rail-helpers.mjs b/packages/map/scripts/rail-helpers.mjs index 38f2c0b..4b47227 100644 --- a/packages/map/scripts/rail-helpers.mjs +++ b/packages/map/scripts/rail-helpers.mjs @@ -1,54 +1,7 @@ -/** - * rail-helpers.mjs — Shared utilities for the rail route data generator. - * - * This module provides the core algorithms used by the generator: - * - Name normalization (for matching station names across data sources) - * - Haversine distance (great-circle distance between two lat/lon points) - * - Google Encoded Polyline format (compact string encoding of coordinates) - * - Rail graph construction from GeoJSON route features - * - Spatial grid index for fast nearest-node queries - * - A* pathfinding with line-preference weighting - * - * All functions are pure and stateless (except makeRouter/makeNearestNode - * which return closures with pre-allocated buffers for performance). - */ - -/** - * Normalizes a station name for matching across different data sources. - * - * Different sources use different casing, whitespace, and Unicode forms: - * - SimRail API: "Warszawa Główna Towarowa" - * - Wiki interactive map: "Warszawa Główna Towarowa WOA" - * - Community EDR: "Warszawa Główna Towarowa" - * - * Normalization: Unicode NFC form → trim → collapse internal whitespace → lowercase. - * This allows exact-match lookups after normalization, and also helps with - * fuzzy "contains" matching (e.g. "warszawa główna towarowa" is contained in - * "warszawa główna towarowa woa"). - * - * @param {string} name - Raw station name from any source - * @returns {string} Normalized name - */ export function normalizeName(name) { return name.normalize("NFC").trim().replace(/\s+/g, " ").toLowerCase(); } -/** - * Haversine distance between two [lat, lon] points, in kilometers. - * - * Uses the haversine formula: a = sin²(Δlat/2) + cos(lat1)·cos(lat2)·sin²(Δlon/2) - * Distance = 2·R·arcsin(√a), where R = Earth radius (6371 km). - * - * This is used for: - * - Edge weights in the rail graph (distance between consecutive track points) - * - A* heuristic (straight-line distance to target — admissible, never overestimates) - * - Nearest-node snapping (finding the closest graph node to a station coordinate) - * - Detour detection (comparing A* path length vs straight-line distance) - * - * @param {[number, number]} a - [lat, lon] in decimal degrees - * @param {[number, number]} b - [lat, lon] in decimal degrees - * @returns {number} Distance in kilometers - */ export function haversineKm(a, b) { const R = 6371; const dLat = ((b[0] - a[0]) * Math.PI) / 180; @@ -61,66 +14,35 @@ export function haversineKm(a, b) { return 2 * R * Math.asin(Math.sqrt(h)); } -/** - * Encodes a polyline as a Google Encoded Polyline string. - * - * This format encodes lat/lon deltas as variable-length signed integers using - * 5-bit groups (base64-like, shifted by 63 to avoid control characters). - * Precision: 5 decimal places (~1.1 meters). - * - * Algorithm per coordinate: - * 1. Round lat/lon to 5 decimal places - * 2. Compute delta from previous coordinate - * 3. Zigzag-encode: if negative, ~(v << 1); if positive, v << 1 - * (This interleaves positive/negative for compact varint encoding) - * 4. Split into 5-bit groups, output each as ASCII char (group | 0x20) + 63 - * (continuation bit + base64 offset). Last group has no continuation bit. - * - * @param {[number, number][]} points - Array of [lat, lon] points - * @returns {string} Encoded polyline string - */ export function encodePolyline(points) { let out = ""; - let plat = 0; // Previous rounded latitude (for delta encoding) - let plon = 0; // Previous rounded longitude + let plat = 0; + let plon = 0; const enc = (v) => { - // Zigzag encoding: maps signed integers to unsigned for varint. - // 0→0, -1→1, 1→2, -2→3, 2→4, ... v = v < 0 ? ~(v << 1) : v << 1; let s = ""; - // Output 5-bit groups with continuation bit (0x20) until value fits in 5 bits. while (v >= 0x20) { s += String.fromCharCode((0x20 | (v & 0x1f)) + 63); v >>= 5; } - return s + String.fromCharCode(v + 63); // Last group: no continuation bit + return s + String.fromCharCode(v + 63); }; for (const [lat, lon] of points) { - const rlat = Math.round(lat * 1e5); // Round to 5 decimal places + const rlat = Math.round(lat * 1e5); const rlon = Math.round(lon * 1e5); - out += enc(rlat - plat) + enc(rlon - plon); // Encode deltas + out += enc(rlat - plat) + enc(rlon - plon); plat = rlat; plon = rlon; } return out; } -/** - * Decodes a Google Encoded Polyline string back to an array of [lat, lon] points. - * - * Reverses the encoding: reads 5-bit groups, reconstructs zigzag-decoded deltas, - * accumulates them to get absolute coordinates, and divides by 1e5. - * - * @param {string} str - Encoded polyline string - * @returns {[number, number][]} Array of [lat, lon] points - */ export function decodePolyline(str) { let idx = 0; let lat = 0; let lon = 0; const pts = []; while (idx < str.length) { - // Decode one varint (latitude delta) let shift = 0; let result = 0; let byte; @@ -128,11 +50,9 @@ export function decodePolyline(str) { byte = str.charCodeAt(idx++) - 63; result |= (byte & 0x1f) << shift; shift += 5; - } while (byte >= 0x20); // Continue bit set - // Zigzag decode: if LSB is 1, value is negative + } while (byte >= 0x20); lat += result & 1 ? ~(result >> 1) : result >> 1; - // Decode one varint (longitude delta) shift = 0; result = 0; do { @@ -147,49 +67,7 @@ export function decodePolyline(str) { return pts; } -/** - * Builds a rail graph from wiki route GeoJSON features. - * - * The graph is stored in CSR (Compressed Sparse Row) format for cache-efficient - * A* traversal. Each node is a unique [lat, lon] coordinate, and each edge - * connects two consecutive points in a LineString. - * - * The wiki provides track geometry as GeoJSON LineString features, where each - * feature represents a section of track belonging to a specific line (e.g. LK4, - * LK1). These LineStrings are OSM ways — sequences of [lon, lat] coordinates. - * - * Two types of edges are created: - * 1. Track edges: consecutive points within a LineString, tagged with the - * line number(s) from the route name (e.g. "LK4" → refs=["4"]). Ways that - * meet share the same OSM node, so coordinate deduplication connects - * them (including parallel tracks of doubled lines, which never share - * coordinates and stay separate — the router can only switch tracks via - * real junction/crossover geometry). - * 2. Endpoint-snap edges: each LineString endpoint is connected to its - * single nearest non-adjacent node within 500m. This bridges gaps in the - * wiki GeoJSON data where a LineString is split into fragments with - * ~100-300m gaps between them (e.g. LK139 near Brynów has a 257m gap). - * Only endpoints are considered, so this does NOT connect parallel - * tracks (which have close mid-track nodes but distant endpoints). - * - * CSR format explanation: - * - coords: Array of [lat, lon] — one per node - * - start: Int32Array(nodeCount + 1) — start[u] to start[u+1] is the range - * of adjacency entries for node u (prefix sum of node degrees) - * - adjEdge: Int32Array — edge index for each adjacency entry - * - adjOther: Int32Array — the other endpoint of each adjacency entry - * - adjDist: Float64Array — edge distance (km) for each adjacency entry - * - erefs: Array — line number(s) associated with each edge - * - coordIndex: Map — 6-decimal coordinate key → node index - * - nodeLines: Array> — line number(s) touching each node - * - * @param {Array<{geometry: object, refs: string[]}>} routeFeatures - GeoJSON features - * @returns {object} Graph in CSR format - */ export function buildGraphFromRoutes(routeFeatures) { - // Deduplicate coordinates: many LineStrings share the same physical points - // (e.g. at junctions). We use a Map keyed by "lat,lon" (6 decimal places) - // to assign each unique coordinate a node index. const coordIndex = new Map(); const coords = []; const resolveCoord = (lat, lon) => { @@ -203,20 +81,13 @@ export function buildGraphFromRoutes(routeFeatures) { return i; }; - // Build edge lists from LineString features. - // Each consecutive pair of coordinates in a LineString becomes an edge. - // We also track which nodes are LineString endpoints (first and last - // points) for the secondary endpoint-snap pass below, and the local way - // direction at each endpoint (used to tell junctions from passthroughs). - const ea = []; // Edge endpoint A (node index) - const eb = []; // Edge endpoint B (node index) - const ed = []; // Edge distance (km, via haversine) - const erefs = []; // Edge line refs (e.g. ["4"] for LK4) - const endpointNodes = new Set(); // Node indices that are LineString endpoints - const endpointBearings = new Map(); // node index → [bearingDeg, ...] - - // Initial bearing a→b ([lat, lon] pairs), degrees (0=N, 90=E), via an - // equirectangular approximation (accurate enough at these distances). + const ea = []; + const eb = []; + const ed = []; + const erefs = []; + const endpointNodes = new Set(); + const endpointBearings = new Map(); + const bearingDeg = (a, b) => { const cosLat = Math.cos((((a[0] + b[0]) / 2) * Math.PI) / 180); return ((Math.atan2((b[1] - a[1]) * cosLat, b[0] - a[0]) * 180) / Math.PI + 360) % 360; @@ -238,21 +109,16 @@ export function buildGraphFromRoutes(routeFeatures) { if (!g) continue; if (g.type === "LineString") lines = [g.coordinates]; else if (g.type === "MultiLineString") lines = g.coordinates; - else continue; // Skip Points, Polygons, etc. + else continue; for (const line of lines) { if (line.length === 0) continue; - // Mark first and last coordinates as endpoints. const firstIdx = resolveCoord(line[0][1], line[0][0]); endpointNodes.add(firstIdx); if (line.length > 1) { const lastC = line[line.length - 1]; const lastIdx = resolveCoord(lastC[1], lastC[0]); endpointNodes.add(lastIdx); - // Local way direction at both endpoints: at the first point - // the direction leaving it, at the last point the direction - // arriving at it. A connection continuing past the endpoint - // keeps roughly this bearing. const second = line[1]; addEndpointBearing( firstIdx, @@ -267,7 +133,6 @@ export function buildGraphFromRoutes(routeFeatures) { let prevIdx = -1; for (const c of line) { - // GeoJSON coordinates are [lon, lat]; resolveCoord expects (lat, lon) const i = resolveCoord(c[1], c[0]); if (prevIdx >= 0 && prevIdx !== i) { ea.push(prevIdx); @@ -280,22 +145,8 @@ export function buildGraphFromRoutes(routeFeatures) { } } - // Endpoint-snap pass: connect LineString endpoints to nearby - // nodes within a tolerance (500m). This bridges gaps in the wiki - // GeoJSON data where a LineString is split into fragments with ~100-300m - // gaps between them (e.g. LK139 near Brynów has a 257m gap). - // - // Only endpoints are considered (not mid-track nodes), so this does NOT - // connect parallel tracks (which have close mid-track nodes but distant - // endpoints). Each endpoint is connected to the nearest non-adjacent - // node that is a plausible track continuation: the snap edge must keep - // roughly the way's heading at BOTH ends (within 60°). Real junctions - // and fragment-gap bridges satisfy this; tracks crossing on a bridge or - // tunnel arrive perpendicular to the line below and are rejected — - // without the heading check, this pass creates phantom junctions at - // every crossing (e.g. LK25 over LK1 south of Koluszki). - const endpointToleranceKm = 0.5; // 500 meters - const epGridSize = 0.005; // ~555m grid cells + const endpointToleranceKm = 0.5; + const epGridSize = 0.005; const epGrid = new Map(); for (let i = 0; i < coords.length; i++) { if (!endpointNodes.has(i)) continue; @@ -308,7 +159,6 @@ export function buildGraphFromRoutes(routeFeatures) { } cell.push(i); } - // Build a grid of ALL nodes for lookup (endpoint → nearest any-node). const allGrid = new Map(); for (let i = 0; i < coords.length; i++) { const [lat, lon] = coords[i]; @@ -320,10 +170,8 @@ export function buildGraphFromRoutes(routeFeatures) { } cell.push(i); } - // Track existing adjacency to avoid duplicate edges, and per-node - // neighbor lists for the heading-alignment check below. const adjSet = new Set(); - const neighbors = new Map(); // node index → [neighbor index, ...] + const neighbors = new Map(); for (let e = 0; e < ea.length; e++) { adjSet.add(`${Math.min(ea[e], eb[e])}|${Math.max(ea[e], eb[e])}`); let n1 = neighbors.get(ea[e]); @@ -334,18 +182,10 @@ export function buildGraphFromRoutes(routeFeatures) { n2.push(ea[e]); } - // Heading-alignment tolerance: a snap edge must continue roughly in the - // way's direction at both ends (within 60°). Real junctions and fragment - // gaps satisfy this; a track passing over/under another (bridge, tunnel) - // arrives perpendicular to the line below and is rejected — without this - // check, the pass creates phantom junctions at every crossing. const MAX_ALIGN_DEG = 60; - // Is connecting endpoint i to node j a plausible continuation of the - // track at i (and of the track(s) through j)? const isPlausibleContinuation = (i, j) => { const bearingIJ = bearingDeg(coords[i], coords[j]); - // At i: the connection must roughly continue the way's direction. const bearingsI = endpointBearings.get(i); if (!bearingsI || bearingsI.length === 0) return false; let okI = false; @@ -356,8 +196,6 @@ export function buildGraphFromRoutes(routeFeatures) { } } if (!okI) return false; - // At j: some existing edge at j must continue in the same direction - // (a junction lets traffic flow onward, a passthrough does not). const jsNeighbors = neighbors.get(j); if (!jsNeighbors || jsNeighbors.length === 0) return false; for (const k of jsNeighbors) { @@ -372,7 +210,6 @@ export function buildGraphFromRoutes(routeFeatures) { const [lat, lon] = coords[i]; const cx = Math.floor(lat / epGridSize); const cy = Math.floor(lon / epGridSize); - // Gather non-adjacent candidates within tolerance, nearest first. const candidates = []; for (let dx = -1; dx <= 1; dx++) { for (let dy = -1; dy <= 1; dy++) { @@ -388,7 +225,6 @@ export function buildGraphFromRoutes(routeFeatures) { } } candidates.sort((a, b) => a.d - b.d); - // Connect to the nearest candidate that is a plausible continuation. let connected = -1; for (let c = 0; c < candidates.length && c < 8; c++) { if (isPlausibleContinuation(i, candidates[c].j)) { @@ -406,9 +242,6 @@ export function buildGraphFromRoutes(routeFeatures) { } } - // Build per-node line sets: all line numbers of edges incident to each - // node. Used by the generator for canonical station snapping (nearest - // node on any of a station's served lines). const nodeLines = new Array(coords.length); for (let e = 0; e < ea.length; e++) { for (const u of [ea[e], eb[e]]) { @@ -417,39 +250,27 @@ export function buildGraphFromRoutes(routeFeatures) { } } - // Build CSR (Compressed Sparse Row) adjacency structure. - // CSR stores all adjacency entries in flat arrays, with a prefix-sum index - // that gives the range [start[u], start[u+1]) of adjacency entries for node u. - // This is cache-efficient and allows fast iteration over a node's neighbors. const nodeCount = coords.length; const edgeCount = ea.length; - // Step 1: Count the degree of each node (number of adjacency entries). const degree = new Int32Array(nodeCount); for (let e = 0; e < edgeCount; e++) { - degree[ea[e]]++; // Each undirected edge contributes to both endpoints + degree[ea[e]]++; degree[eb[e]]++; } - // Step 2: Build the prefix-sum array. start[u] = offset where node u's - // adjacency entries begin. start[nodeCount] = total adjacency entries. const start = new Int32Array(nodeCount + 1); for (let i = 0; i < nodeCount; i++) start[i + 1] = start[i] + degree[i]; - // Step 3: Fill adjacency arrays. cursor[u] tracks the current write position - // for node u's entries (starts at start[u], advances as edges are added). - // Each edge is added twice: once for endpoint A, once for endpoint B. - const cursor = Int32Array.from(start); // Copy of start, used as write cursors - const adjEdge = new Int32Array(edgeCount * 2); // Edge index for each adjacency - const adjOther = new Int32Array(edgeCount * 2); // Other endpoint node index - const adjDist = new Float64Array(edgeCount * 2); // Edge distance (km) + const cursor = Int32Array.from(start); + const adjEdge = new Int32Array(edgeCount * 2); + const adjOther = new Int32Array(edgeCount * 2); + const adjDist = new Float64Array(edgeCount * 2); for (let e = 0; e < edgeCount; e++) { - // Add edge e to node ea[e]'s adjacency list let p = cursor[ea[e]]++; adjEdge[p] = e; adjOther[p] = eb[e]; adjDist[p] = ed[e]; - // Add edge e to node eb[e]'s adjacency list (undirected graph) p = cursor[eb[e]]++; adjEdge[p] = e; adjOther[p] = ea[e]; @@ -459,32 +280,11 @@ export function buildGraphFromRoutes(routeFeatures) { return { coords, start, adjEdge, adjOther, adjDist, erefs, coordIndex, nodeLines }; } -/** - * Creates a nearest-node finder function using a spatial grid index. - * - * Returns a closure that, given a [lat, lon] point, finds the nearest graph - * node within maxKm. Uses a grid of cells (size gridSize degrees) to avoid - * scanning all nodes — only checks cells in expanding rings around the query - * point until a node within maxKm is found. - * - * Line-restricted search: if allowedLines (a Set of line numbers) is passed to - * the returned finder, only nodes with at least one incident edge on one of - * those lines are considered. This is used by the generator to snap each - * station once to a canonical node on one of the lines that actually serve it - * (per the timetables), avoiding anchoring on unrelated nearby tracks. - * - * @param {object} graph - Graph from buildGraphFromRoutes() - * @param {number} gridSize - Grid cell size in degrees (default 0.02 ≈ 2.2km) - * @param {number} maxKm - Maximum snap distance in km (default 3.0) - * @returns {function} (point: [lat, lon], allowedLines?: Set) => - * { index: number, distKm: number } — index is -1 if nothing was found - */ export function makeNearestNode( graph, gridSize = 0.02, maxKm = 3.0, ) { - // Build spatial grid: each cell contains indices of nodes within that cell. const grid = new Map(); for (let i = 0; i < graph.coords.length; i++) { const [lat, lon] = graph.coords[i]; @@ -497,8 +297,6 @@ export function makeNearestNode( cell.push(i); } - // The returned finder function. If allowedLines is provided, only nodes - // with at least one incident edge on one of those lines are considered. return (point, allowedLines = null) => { const [lat, lon] = point; const cx = Math.floor(lat / gridSize); @@ -506,12 +304,9 @@ export function makeNearestNode( let bestIdx = -1; let bestDist = Infinity; - // Expand search ring by ring until we find a node within maxKm. - // Ring r checks all cells at Chebyshev distance r from (cx, cy). for (let r = 0; r <= 10; r++) { for (let dx = -r; dx <= r; dx++) { for (let dy = -r; dy <= r; dy++) { - // Only check cells on the ring boundary (skip interior, already checked). if (r > 0 && Math.abs(dx) !== r && Math.abs(dy) !== r) continue; const cell = grid.get(`${cx + dx},${cy + dy}`); if (!cell) continue; @@ -537,7 +332,6 @@ export function makeNearestNode( } } } - // Stop expanding if we found a node within maxKm. if (bestIdx >= 0 && bestDist < maxKm) break; } @@ -545,51 +339,20 @@ export function makeNearestNode( }; } -/** - * Creates an A* router function for the given graph. - * - * Returns a closure that finds the shortest path between two nodes using A* - * with a haversine distance heuristic (straight-line distance to target). - * - * Line preference: if lineFilter is provided (a string or array of strings), - * edges on those lines are traversed at normal cost, while edges on other - * lines are penalized with a 10x cost multiplier. This is NOT a hard filter — - * non-preferred edges are still allowed, which lets the router use connector - * tracks (e.g. LK3 junction tracks between LK19 and LK1 in Warsaw) when - * necessary, but minimizes their use. - * - * The router uses pre-allocated typed arrays for dist[], prev[], and done[] - * to avoid GC pressure on repeated queries. A "stamp" mechanism avoids - * resetting the done[] array between queries — each query increments the stamp, - * and a node is "visited" if done[u] === currentStamp. - * - * The binary heap is also pre-allocated and grows dynamically if needed. - * It stores [f, g, node] tuples, where f = g + h (estimated total cost), - * g = actual cost so far, h = heuristic (haversine to target). - * - * @param {object} graph - Graph from buildGraphFromRoutes() - * @returns {function} (startIdx, endIdx, lineFilter?) => number[] | null - */ export function makeRouter(graph) { const { coords, start, adjEdge, adjOther, adjDist, erefs } = graph; const n = coords.length; - // Pre-allocated arrays (reused across queries for performance) - const dist = new Float64Array(n); // Best-known cost to each node - const prev = new Int32Array(n); // Previous node in best-known path - const done = new Uint32Array(n); // "Visited" stamp (avoids reset between queries) - let stamp = 0; // Current query stamp + const dist = new Float64Array(n); + const prev = new Int32Array(n); + const done = new Uint32Array(n); + let stamp = 0; - // Binary min-heap, stored as parallel typed arrays for cache efficiency. - // heapF: f-score (estimated total cost = g + heuristic) - // heapG: g-score (actual cost so far) - // heapN: node index let heapF = new Float64Array(4096); let heapG = new Float64Array(4096); let heapN = new Int32Array(4096); let heapSize = 0; - // Doubles the heap capacity when full (copy old data to new arrays). const grow = () => { const cap = heapF.length * 2; const nf = new Float64Array(cap); @@ -603,19 +366,15 @@ export function makeRouter(graph) { heapN = nn; }; - // Push a [f, g, node] entry into the heap and sift up. - // Standard binary heap: parent at (c-1)>>1, swap if child < parent. const push = (f, g, node) => { if (heapSize === heapF.length) grow(); let c = heapSize++; heapF[c] = f; heapG[c] = g; heapN[c] = node; - // Sift up: swap with parent while child's f-score is smaller. while (c > 0) { const p = (c - 1) >> 1; if (heapF[p] <= heapF[c]) break; - // Swap all three arrays in parallel const tf = heapF[p]; heapF[p] = heapF[c]; heapF[c] = tf; @@ -629,27 +388,23 @@ export function makeRouter(graph) { } }; - // Pop the minimum-f entry from the heap and sift down. - // Returns [f, g, node] — the entry with the smallest f-score. const pop = () => { - const rf = heapF[0]; // Min entry (root of heap) + const rf = heapF[0]; const rg = heapG[0]; const rn = heapN[0]; heapSize--; if (heapSize > 0) { - // Move last entry to root and sift down. heapF[0] = heapF[heapSize]; heapG[0] = heapG[heapSize]; heapN[0] = heapN[heapSize]; let c = 0; for (;;) { - const l = 2 * c + 1; // Left child index - const r = 2 * c + 2; // Right child index - let m = c; // Index of smallest f-score among c, l, r + const l = 2 * c + 1; + const r = 2 * c + 2; + let m = c; if (l < heapSize && heapF[l] < heapF[m]) m = l; if (r < heapSize && heapF[r] < heapF[m]) m = r; - if (m === c) break; // Heap property satisfied - // Swap with smallest child + if (m === c) break; const tf = heapF[m]; heapF[m] = heapF[c]; heapF[c] = tf; @@ -665,78 +420,53 @@ export function makeRouter(graph) { return [rf, rg, rn]; }; - /** - * Find shortest path from startIdx to endIdx. - * - * @param {number} startIdx - Source node index - * @param {number} endIdx - Target node index - * @param {string|string[]|null} lineFilter - Preferred line number(s). - * Edges on these lines have normal cost; other edges cost 10x more. - * If null, all edges have equal cost (standard A*). - * @returns {number[]|null} Array of node indices forming the path, or null - */ return function route(startIdx, endIdx, lineFilter) { - stamp++; // New query → new stamp (done[] entries from previous queries are stale) + stamp++; dist.fill(Infinity); dist[startIdx] = 0; - prev[startIdx] = -1; // No predecessor for start node + prev[startIdx] = -1; heapSize = 0; - // Push start node with f = 0 + haversine(start, end) (A* heuristic) push(haversineKm(coords[startIdx], coords[endIdx]), 0, startIdx); - // Convert lineFilter to a Set for O(1) lookup. - // Accepts a single string or an array of strings. const filterSet = Array.isArray(lineFilter) ? new Set(lineFilter) : lineFilter ? new Set([lineFilter]) : null; - // Main A* loop: repeatedly pop the node with smallest f-score, - // relax its neighbors, and push updated entries. while (heapSize > 0) { - const [, g, u] = pop(); // f, g, node (f not needed after pop) - if (done[u] === stamp) continue; // Already visited (stale heap entry) + const [, g, u] = pop(); + if (done[u] === stamp) continue; done[u] = stamp; - if (u === endIdx) break; // Reached target - if (g > dist[u]) continue; // Stale entry (better path already found) + if (u === endIdx) break; + if (g > dist[u]) continue; - // Iterate over all neighbors of u using CSR adjacency. for (let p = start[u]; p < start[u + 1]; p++) { - const e = adjEdge[p]; // Edge index - const refs = erefs[e]; // Line number(s) for this edge - const v = adjOther[p]; // Other endpoint - if (done[v] === stamp) continue; // Already visited - - // Compute edge cost. Edges on preferred lines have normal cost. - // Edges on other lines (e.g. junction connectors) cost 10x more. - // This is a soft penalty, not a hard filter — non-preferred edges - // are still traversable, which allows the router to use connector - // tracks at junctions where two preferred lines don't directly meet. + const e = adjEdge[p]; + const refs = erefs[e]; + const v = adjOther[p]; + if (done[v] === stamp) continue; + let edgeCost = adjDist[p]; if (filterSet && refs.length > 0) { const onPreferred = refs.some((r) => filterSet.has(r)); if (!onPreferred) edgeCost *= 10; } - const ng = g + edgeCost; // Actual cost to reach v via u + const ng = g + edgeCost; if (ng < dist[v]) { - // Found a better path to v dist[v] = ng; prev[v] = u; - // f = g + h, where h = haversine(v, end) (A* heuristic) push(ng + haversineKm(coords[v], coords[endIdx]), ng, v); } } } - // Check if target was reached. if (done[endIdx] !== stamp) return null; - // Reconstruct path by following prev[] chain from target to source. const pathIdx = []; for (let u = endIdx; u !== -1; u = prev[u]) pathIdx.push(u); - pathIdx.reverse(); // Source → target order + pathIdx.reverse(); return pathIdx; }; } From a5f8c30f292992c56c6dcbb232f90aa2cc79c0e4 Mon Sep 17 00:00:00 2001 From: Julian-Louis Date: Mon, 21 Sep 2026 00:13:17 +0200 Subject: [PATCH 18/19] Polish upcoming signal status --- .../map/components/TrainUpcomingSignal.tsx | 89 +++++++++++-------- packages/map/styles/TrainDetails.module.css | 15 +++- 2 files changed, 64 insertions(+), 40 deletions(-) diff --git a/packages/map/components/TrainUpcomingSignal.tsx b/packages/map/components/TrainUpcomingSignal.tsx index 2aa4483..773ff3a 100644 --- a/packages/map/components/TrainUpcomingSignal.tsx +++ b/packages/map/components/TrainUpcomingSignal.tsx @@ -2,6 +2,8 @@ import type { Train } from "@simrail/types"; import type React from "react"; import { useState } from "react"; +import styles from "../styles/TrainDetails.module.css"; + type TrainSignalProps = { train: Train; showMoreInfo: boolean; @@ -18,15 +20,16 @@ const signalStates = { closed: "/signals/signal-closed.png", }; +type SignalState = keyof typeof signalStates; + function formatSignalDistance(distanceMeters: number): string { if (distanceMeters > 5000) { - return "> 5km"; + return ">5 km"; } if (distanceMeters > 1000) { - const distanceKilometers = (distanceMeters / 1000).toFixed(1); - return `${distanceKilometers} km`; + return `${(distanceMeters / 1000).toFixed(1)} km`; } - return `${distanceMeters.toFixed(1)} m`; + return `${Math.round(distanceMeters)} m`; } function formatSignalSpeed(rawSpeedLimit: number): string { @@ -36,7 +39,7 @@ function formatSignalSpeed(rawSpeedLimit: number): string { return `${rawSpeedLimit} km/h`; } -const getSignalState = (signalSpeed: number | string): string | null => { +const getSignalState = (signalSpeed: number | string): SignalState | null => { if (signalSpeed === "vmax" || signalSpeed === 32767) { return "open"; } @@ -72,6 +75,13 @@ const getSignalState = (signalSpeed: number | string): string | null => { return null; }; +const getSignalStatus = (state: SignalState | null): string => { + if (state === "open") return "Clear"; + if (state === "closed") return "Stop"; + if (!state) return "Unknown"; + return "Limited"; +}; + const TrainUpcomingSignal: React.FC = ({ train, showMoreInfo, @@ -82,9 +92,7 @@ const TrainUpcomingSignal: React.FC = ({ const signalName = SignalInFront?.split("@")[0]; const signalState = getSignalState(SignalInFrontSpeed); - const signalImageSrc = signalState - ? signalStates[signalState as keyof typeof signalStates] - : null; + const signalImageSrc = signalState ? signalStates[signalState] : null; const [failedSrc, setFailedSrc] = useState(null); const visibleSignalImageSrc = @@ -92,42 +100,45 @@ const TrainUpcomingSignal: React.FC = ({ if (!showMoreInfo) { return ( - <> - Distance to {signalName ? signalName : "next signal"}:{" "} - {SignalInFront - ? formatSignalDistance(DistanceToSignalInFront) - : "Signal too far away"} - +
+ {SignalInFront ? ( + <> + {signalName} + {formatSignalDistance(DistanceToSignalInFront)} ahead + + ) : ( + Signal too far away + )} +
); } + if (!SignalInFront) { + return
Signal too far away
; + } + return ( - <> -
- Distance to {signalName ? signalName : "next signal"}:{" "} - {SignalInFront - ? formatSignalDistance(DistanceToSignalInFront) - : "Signal too far away"} +
+
+ {signalName} + {formatSignalDistance(DistanceToSignalInFront)} ahead +
+
+ {visibleSignalImageSrc && ( + setFailedSrc(signalImageSrc)} + /> + )} +
+ {getSignalStatus(signalState)} + {formatSignalSpeed(SignalInFrontSpeed)} +
- {SignalInFront && ( - <> -
Signal speed: {formatSignalSpeed(SignalInFrontSpeed)}
- {visibleSignalImageSrc ? ( -
- Signal Status : - {signalState setFailedSrc(signalImageSrc)} - /> -
- ) : null} - - )} - +
); }; diff --git a/packages/map/styles/TrainDetails.module.css b/packages/map/styles/TrainDetails.module.css index 7a530d6..8a7d316 100644 --- a/packages/map/styles/TrainDetails.module.css +++ b/packages/map/styles/TrainDetails.module.css @@ -76,7 +76,20 @@ .trainMedia { margin: 2px 0 14px; overflow: hidden; border: 1px solid var(--train-border); border-radius: 10px; background: var(--train-media-background); } .signalSection { padding-top: 14px; border-top: 1px solid var(--train-border); text-align: center; } .signalSection .kicker { display: block; } -.signalDetails { margin: 9px 0 13px; color: var(--train-secondary); line-height: 1.65; } +.signalDetails { margin: 9px 0 13px; color: var(--train-secondary); } +.signalCard { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; text-align: left; border: 1px solid var(--train-border); border-radius: 9px; background: var(--train-surface); } +.signalPosition, .signalAspect > div { display: flex; flex-direction: column; } +.signalPosition { min-width: 0; gap: 2px; } +.signalPosition strong { overflow: hidden; color: var(--train-strong); font-size: .8125rem; text-overflow: ellipsis; white-space: nowrap; } +.signalPosition span, .signalAspect span { color: var(--train-muted); font-size: .625rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; } +.signalAspect { display: flex; flex: none; align-items: center; gap: 8px; padding-left: 12px; border-left: 1px solid var(--train-divider); } +.signalAspect img { width: 24px; height: 24px; object-fit: contain; } +.signalAspect > div { align-items: flex-start; gap: 1px; } +.signalAspect strong { color: var(--train-strong); font-size: .75rem; white-space: nowrap; } +.signalCompact { display: flex; justify-content: center; gap: 6px; font-size: .75rem; } +.signalCompact strong { color: var(--train-strong); } +.signalCompact span, .signalEmpty { color: var(--train-muted); } +.signalEmpty { padding: 8px 0 2px; font-size: .75rem; } .compact { width: 280px; } .compact .avatar { width: 34px; height: 34px; border-radius: 8px; } .compact .serviceHeading { margin-top: 13px; } From f22cb455856925a35c392923b710b695c5fe6c7c Mon Sep 17 00:00:00 2001 From: Julian-Louis Date: Mon, 21 Sep 2026 00:23:28 +0200 Subject: [PATCH 19/19] Fix PR formatting --- packages/map/components/TrainRoute.tsx | 6 +- packages/map/components/TrainText.tsx | 16 +- packages/map/components/TrainsList.tsx | 5 +- packages/map/components/railData.json | 1252 ++++++++++++++++++- packages/map/scripts/generate-rail-data.mjs | 53 +- packages/map/scripts/rail-helpers.mjs | 30 +- 6 files changed, 1312 insertions(+), 50 deletions(-) diff --git a/packages/map/components/TrainRoute.tsx b/packages/map/components/TrainRoute.tsx index 131cce9..7ed6626 100644 --- a/packages/map/components/TrainRoute.tsx +++ b/packages/map/components/TrainRoute.tsx @@ -3,7 +3,11 @@ import { memo, useEffect, useMemo, useState } from "react"; import { Polyline, Marker, useMap } from "react-leaflet"; import { useSelectedTrain } from "../contexts/SelectedTrainContext"; -import { getTrainRoute, type ColoredSegment, type RoutePoint } from "../lib/trainRoute"; +import { + getTrainRoute, + type ColoredSegment, + type RoutePoint, +} from "../lib/trainRoute"; const ROUTE_COLORS = { green: "#2ecc71", diff --git a/packages/map/components/TrainText.tsx b/packages/map/components/TrainText.tsx index 6ce93e1..a230ac6 100644 --- a/packages/map/components/TrainText.tsx +++ b/packages/map/components/TrainText.tsx @@ -34,12 +34,7 @@ type TrainToggleProps = { onToggle: () => void; }; -const TrainToggle = ({ - active, - label, - title, - onToggle, -}: TrainToggleProps) => ( +const TrainToggle = ({ active, label, title, onToggle }: TrainToggleProps) => (