diff --git a/FORK.md b/FORK.md
new file mode 100644
index 0000000..bc7e76d
--- /dev/null
+++ b/FORK.md
@@ -0,0 +1,85 @@
+# Fork: Ito-69/osiris
+
+╨ó╨╛╨╖╨╕ ╤Ç╨╡╨┐╨╛╨╖╨╕╤é╨╛╤Ç╨╕╨╣ ╨╡ **╤ä╨╛╤Ç╨║** ╨╜╨░ [simplifaisoul/osiris](https://github.com/simplifaisoul/osiris) ΓÇö ╨╛╤Ç╨╕╨│╨╕╨╜╨░╨╗╨╜╨╕╤Å OSIRIS OSINT dashboard. Upstream `master` ╨╛╤ü╤é╨░╨▓╨░ ╨│╨╗╨╛╨▒╨░╨╗╨╜╨╕╤Å╤é ╨┐╤Ç╨╛╨╡╨║╤é; ╤é╤â╨║ ╤ü╨░ ╨┤╨╛╨▒╨░╨▓╨╡╨╜╨╕ ╨╗╨╛╨║╨░╨╗╨╜╨╕ ╨┐╨╛╨┤╨╛╨▒╤Ç╨╡╨╜╨╕╤Å ╨╖╨░ **╨æ╨░╨╗╨║╨░╨╜╨╕╤é╨╡** ╨╕ **╨╕╤ü╤é╨╕╨╜╤ü╨║╨╕ live CCTV**.
+
+## Upstream vs. ╤é╨╛╨╖╨╕ fork
+
+| | [simplifaisoul/osiris](https://github.com/simplifaisoul/osiris) | [Ito-69/osiris](https://github.com/Ito-69/osiris) (╤é╨╛╨╖╨╕ fork) |
+|---|----------------------------------------------------------------|----------------------------------------------------------------|
+| **╨₧╨▒╤à╨▓╨░╤é** | ╨ô╨╗╨╛╨▒╨░╨╗╨╜╨╕ ╤ü╨╗╨╛╨╡╨▓╨╡: ╨┐╨╛╨╗╨╡╤é╨╕, ╨╖╨╡╨╝╨╡╤é╤Ç╨╡╤ü╨╡╨╜╨╕╤Å, ╨╜╨╛╨▓╨╕╨╜╨╕, CCTV (UK, US, EUΓÇª) | ╨í╤è╤ë╨╛╤é╨╛ + **~80 ╨║╨░╨╝╨╡╤Ç╨╕** ╨▓ BG, GR, RS, MK, TR, RO |
+| **CCTV ╤Ç╨╡╨│╨╕╨╛╨╜╨╕** | `uk`, `us-*`, `canada`, `europe`, `asia` | + `bulgaria`, `greece`, `serbia`, `macedonia`, `turkey`, `romania` |
+| **╨ƒ╤Ç╨╡╨│╨╗╨╡╨┤ ╨╜╨░ ╨║╨░╨╝╨╡╤Ç╨░** | ╨í╤é╨░╤é╨╕╤ç╨╜╨╛ JPG ╨╕╨╖╨╛╨▒╤Ç╨░╨╢╨╡╨╜╨╕╨╡, ╨╛╨▒╨╜╨╛╨▓╤Å╨▓╨░╨╜╨╡ ╨╜╨░ ~30 s | **HLS ╨▓╨╕╨┤╨╡╨╛**, **iframe embeds** (YouTube, rtsp.me, ipcamlive) ╨╕╨╗╨╕ JPG ╨╜╨░ 5 s |
+| **╨ª╨╡╨╗** | ╨ƒ╤â╨▒╨╗╨╕╤ç╨╡╨╜ live demo ╨╜╨░ [osirislive.app](https://osirislive.app) | ╨¢╨╕╤ç╨╡╨╜/╨╗╨╛╨║╨░╨╗╨╡╨╜ deploy ╤ü ╤ä╨╛╨║╤â╤ü ╨▓╤è╤Ç╤à╤â ╤ü╤è╤ü╨╡╨┤╨╜╨╕ ╨┤╤è╤Ç╨╢╨░╨▓╨╕ ╨╕ ╨│╤Ç╨░╨╜╨╕╤ç╨╜╨╕ ╨┐╤â╨╜╨║╤é╨╛╨▓╨╡ |
+
+╨Æ╤ü╨╕╤ç╨║╨╛ ╨╕╨╖╨▓╤è╨╜ CCTV ╨╝╨╛╨┤╤â╨╗╨╕╤é╨╡ ╨╕ `CameraViewer` ╨╡ **╨╜╨╡╨┐╤Ç╨╛╨╝╨╡╨╜╨╡╨╜╨╛** ╤ü╨┐╤Ç╤Å╨╝╨╛ upstream ΓÇö ╨▒╨╡╨╖ ╤ä╨╛╤Ç╨║ ╨╜╨░ ╤å╨╡╨╗╨╕╤Å ╨┐╤Ç╨╛╨╡╨║╤é, ╤ü╨░╨╝╨╛ ╨┤╨╛╨┐╤è╨╗╨╜╨╡╨╜╨╕╤Å.
+
+## ╨Ü╨░╨║╨▓╨╛ ╨┤╨╛╨▒╨░╨▓╤Å fork-╤è╤é
+
+### 1. ╨æ╨░╨╗╨║╨░╨╜╤ü╨║╨╕ CCTV ╨╕╨╖╤é╨╛╤ç╨╜╨╕╤å╨╕
+
+╨¥╨╛╨▓╨╕ API ╨╝╨╛╨┤╤â╨╗╨╕ ╨┐╨╛╨┤ `src/app/api/cctv/`:
+
+- **bulgaria.ts** ΓÇö Sofia, Plovdiv, Varna, Burgas, ╨║╤â╤Ç╨╛╤Ç╤é╨╕, GKPP (Kulata, Makaza, Kapitan AndreevoΓÇª) + **~350 ╨║╨░╨╝╨╡╤Ç╨╕** ╨╛╤é free-webcambg.com (`bulgaria-fwcbg.generated.ts`, ~170 live rtsp.me)
+- **greece.ts** ΓÇö Attiki Odos (╨É╤é╨╕╨╜╨░) + **╨í╨╛╨╗╤â╨╜, ╨Üavala, ╨Ñ╨░╨╗╨║╨╕╨┤╨╕╨║╨╕/╨í╨╕╤é╨╛╨╜╨╕╤Å, ╨Ü╤ü╨░╨╜╤é╨╕, ╨ó╨░╤ü╨╛╤ü, ╨ƒ╤Ç╨╛╨╝╨░╤à╨╛╨╜**
+- **serbia.ts** ΓÇö Belgrade, Ni┼í, ╨│╤Ç╨░╨╜╨╕╤å╨░ Gradina
+- **macedonia.ts** ΓÇö Skopje, Ohrid, ╨│╤Ç╨░╨╜╨╕╤ç╨╜╨╕ ╨┐╤â╨╜╨║╤é╨╛╨▓╨╡ (Neotel HLS)
+- **turkey.ts** ΓÇö Edirne, Kap─▒kule, Makaza
+- **romania.ts** ΓÇö Constan╚¢a, Eforie Sud, ╨│╤Ç╨░╨╜╨╕╤ç╨╜╨╕ ╨┐╤Ç╨╡╤à╨╛╨┤╨╕
+
+╨ù╨░╤Ç╨╡╨╢╨┤╨░╨╜╨╡: `GET /api/cctv?region=bulgaria` (╨╕╨╗╨╕ `greece`, `serbia`, ΓÇª) ╨╕╨╗╨╕ `?region=all`.
+
+### 2. ╨ÿ╤ü╤é╨╕╨╜╤ü╨║╨╕ live streaming
+
+- **`stream_type: hls`** ΓÇö `.m3u8` ╨┐╨╛╤é╨╛╤å╨╕ (Burgas Smart, Attiki Odos, Neotel, AMSS Serbia)
+- **`stream_type: iframe`** ΓÇö ╨▓╨│╤Ç╨░╨┤╨╡╨╜╨╕ ╨┐╨╗╨╡╨╣╤è╤Ç╨╕ (YouTube GKPP Makaza, rtsp.me, ipcamlive)
+- **`stream_type: jpg`** ΓÇö snapshot feeds (UAB, home-solutions.bg) ΓÇö ╨┐╨╛-╨▒╤è╤Ç╨╖ refresh (5 s), ╨╜╨╡ ╨╡ ╨▓╨╕╨┤╨╡╨╛
+
+╨ƒ╨╗╨╡╨╣╤è╤Ç╤è╤é ╨╡ ╨▓ `src/components/CameraViewer.tsx` (╨╖╨░╨▓╨╕╤ü╨╕╨╝╨╛╤ü╤é: `hls.js`).
+
+### 3. ╨Ü╨░╤Ç╤é╨░
+
+`OsirisMap.tsx` ╨┐╨╛╨┤╨░╨▓╨░ `stream_url` ╨╕ `stream_type` ╨║╤è╨╝ viewer-╨░ ╨┐╤Ç╨╕ ╨║╨╗╨╕╨║ ╨╜╨░ CCTV ╨╝╨░╤Ç╨║╨╡╤Ç.
+
+**╨í╤é╨░╤Ç╤é╨╛╨▓ ╨╕╨╖╨│╨╗╨╡╨┤:** ╤å╨╡╨╜╤é╤Ç╨╕╤Ç╨░╨╜╨░ ╨▓╤è╤Ç╤à╤â ╨æ╤è╨╗╨│╨░╤Ç╨╕╤Å/╨æ╨░╨╗╨║╨░╨╜╨╕╤é╨╡ (`[25.48, 42.70]`, zoom ~6.5), ╨▓╨╝╨╡╤ü╤é╨╛ ╨│╨╗╨╛╨▒╨░╨╗╨╡╨╜ ╨╕╨╖╨│╨╗╨╡╨┤.
+
+### 4. ╨æ╨░╨╗╨║╨░╨╜╤ü╨║╨╕ OSINT ╨╕╨╖╤é╨╛╤ç╨╜╨╕╤å╨╕
+
+| ╨í╨╗╨╛╨╣ | ╨ÿ╨╖╤é╨╛╤ç╨╜╨╕╨║ | ╨Ü╨░╨║╨▓╨╛ ╨┤╨╛╨▒╨░╨▓╤Å |
+|------|----------|--------------|
+| **╨ù╨╡╨╝╨╡╤é╤Ç╨╡╤ü╨╡╨╜╨╕╤Å** | [NIGGG-BAS](https://ndc.niggg.bas.bg/) | ╨á╨╡╨│╨╕╨╛╨╜╨░╨╗╨╜╨░ ╨╝╤Ç╨╡╨╢╨░ (30 ╨┤╨╜╨╕, ╨┐╨╛-╨╜╨╕╤ü╨║╨╕ magnitude) ΓÇö merge ╤ü USGS |
+| **╨æ╨╡╨┤╤ü╤é╨▓╨╕╤Å / alerts** | [GDACS](https://www.gdacs.org/) | EU civil protection ΓÇö ╤ä╨╕╨╗╤é╤Ç╨╕╤Ç╨░╨╜╨╕ ╨╖╨░ ╨æ╨░╨╗╨║╨░╨╜╨╕╤é╨╡ bbox |
+| **╨¥╨╛╨▓╨╕╨╜╨╕** | [Actualno](https://www.actualno.com/rss/actualno.xml) + [Mediapool](https://www.mediapool.bg/rss/) + BBC Europe | BG/EU RSS + keyword geo-mapping (╨í╨╛╤ä╨╕╤Å, ╨Æ╨░╤Ç╨╜╨░, ╨æ╨░╨╗╨║╨░╨╜╨╕ΓÇª) |
+
+╨í╨┐╨╛╨┤╨╡╨╗╨╡╨╜╨░ ╨╗╨╛╨│╨╕╨║╨░: `src/lib/bulgaria-sources.ts`.
+
+## ╨¢╨╛╨║╨░╨╗╨╡╨╜ Docker deploy
+
+Fork-╤è╤é ╤ü╨╡ ╨┐╤â╤ü╨║╨░ ╨╗╨╛╨║╨░╨╗╨╜╨╛ ╨╛╤é ╨╛╤é╨┤╨╡╨╗╨╜╨░ ╨┐╨░╨┐╨║╨░ (╨╜╨╡ ╨╡ ╤ç╨░╤ü╤é ╨╛╤é git repo-╤é╨╛):
+
+```bash
+git clone git@github.com:Ito-69/osiris.git repo
+# compose.yaml ╨▓ ╤Ç╨╛╨┤╨╕╤é╨╡╨╗╤ü╨║╨░╤é╨░ ╨┐╨░╨┐╨║╨░ ΓÇö build context: ./repo
+docker compose up -d --build
+# ΓåÆ http://localhost:3000
+```
+
+╨ƒ╤Ç╨╕╨╝╨╡╤Ç╨╜╨░ ╤ü╤é╤Ç╤â╨║╤é╤â╤Ç╨░: `osiris/compose.yaml` + `osiris/repo/` (clone ╨╜╨░ ╤é╨╛╨╖╨╕ fork).
+
+## ╨í╨╕╨╜╤à╤Ç╨╛╨╜╨╕╨╖╨░╤å╨╕╤Å ╤ü upstream
+
+```bash
+git remote add upstream https://github.com/simplifaisoul/osiris.git   # ╨▓╨╡╨┤╨╜╤è╨╢
+git fetch upstream
+git merge upstream/master   # ╨╕╨╗╨╕ rebase, ╨░╨║╨╛ ╨┐╤Ç╨╡╨┤╨┐╨╛╤ç╨╕╤é╨░╤ê ╨╗╨╕╨╜╨╡╨╣╨╜╨░ ╨╕╤ü╤é╨╛╤Ç╨╕╤Å
+```
+
+╨í╨╗╨╡╨┤ merge ╨┐╤Ç╨╛╨▓╨╡╤Ç╨╕ ╨║╨╛╨╜╤ä╨╗╨╕╨║╤é╨╕ ╨▓ `src/app/api/cctv/route.ts` ╨╕ `CameraViewer.tsx` ΓÇö ╤é╨░╨╝ ╤ü╨░ ╨╛╤ü╨╜╨╛╨▓╨╜╨╕╤é╨╡ ╨╗╨╛╨║╨░╨╗╨╜╨╕ ╨┐╤Ç╨╛╨╝╨╡╨╜╨╕.
+
+## ╨Ü╨╛╨╝╨╕╤é╨╕ ╤ü╨░╨╝╨╛ ╨▓ ╤é╨╛╨╖╨╕ fork
+
+- `9391982` ΓÇö Balkans CCTV coverage (BG, GR, RS, MK, TR, RO)
+- `9b87658` ΓÇö HLS + iframe live playback, ╨┐╨╛-╨▒╤è╤Ç╨╖ JPG refresh
+
+---
+
+*Upstream ╨╗╨╕╤å╨╡╨╜╨╖: MIT. Fork-╤è╤é ╨╖╨░╨┐╨░╨╖╨▓╨░ ╤ü╤è╤ë╨╕╤Å ╨╗╨╕╤å╨╡╨╜╨╖; ╨┤╨╛╨┐╤è╨╗╨╜╨╡╨╜╨╕╤Å╤é╨░ ╨╜╨╡ ╤ü╨░ ╨╛╤ä╨╕╤å╨╕╨░╨╗╨╜╨░ ╤ç╨░╤ü╤é ╨╛╤é simplifaisoul/osiris.*
diff --git a/README.md b/README.md
index 6824c52..95a074f 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,8 @@
 
 </div>
 
+> **Fork ([Ito-69/osiris](https://github.com/Ito-69/osiris)):** ╨á╨░╨╖╤ê╨╕╤Ç╨╡╨╜╨╕╨╡ ╨╜╨░ upstream ╤ü **Balkans CCTV** (~80 ╨║╨░╨╝╨╡╤Ç╨╕) ╨╕ **in-app live streaming** (HLS / iframe / ╨▒╤è╤Ç╨╖ JPG refresh). ╨á╨░╨╖╨╗╨╕╨║╨╕╤é╨╡ ╤ü [simplifaisoul/osiris](https://github.com/simplifaisoul/osiris) ΓåÆ **[FORK.md](FORK.md)**.
+
 ---
 
 ## Overview
diff --git a/package-lock.json b/package-lock.json
index 89c7bab..e259e7a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,6 +10,7 @@
       "dependencies": {
         "@vercel/analytics": "^2.0.1",
         "framer-motion": "^12.38.0",
+        "hls.js": "^1.6.16",
         "lucide-react": "^1.14.0",
         "maplibre-gl": "^5.24.0",
         "next": "16.2.6",
@@ -75,7 +76,6 @@
       "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@babel/code-frame": "^7.29.0",
         "@babel/generator": "^7.29.0",
@@ -1693,7 +1693,6 @@
       "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "csstype": "^3.2.2"
       }
@@ -1762,7 +1761,6 @@
       "integrity": "sha512-HPwA+hVkfcriajbNvTmZv4VRauibay+cWArYUYq7u7W7PmGShMxbPxLvrwDme55a6d5alG3nrYfhyJ/G28XlLg==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@typescript-eslint/scope-manager": "8.59.3",
         "@typescript-eslint/types": "8.59.3",
@@ -2390,7 +2388,6 @@
       "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "bin": {
         "acorn": "bin/acorn"
       },
@@ -2752,7 +2749,6 @@
         }
       ],
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "baseline-browser-mapping": "^2.10.12",
         "caniuse-lite": "^1.0.30001782",
@@ -3353,7 +3349,6 @@
       "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.8.0",
         "@eslint-community/regexpp": "^4.12.1",
@@ -3539,7 +3534,6 @@
       "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@rtsao/scc": "^1.1.0",
         "array-includes": "^3.1.9",
@@ -4255,6 +4249,12 @@
         "hermes-estree": "0.25.1"
       }
     },
+    "node_modules/hls.js": {
+      "version": "1.6.16",
+      "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.6.16.tgz",
+      "integrity": "sha512-VSIRpLfRwlAAdGL4wiTucx2ScRipo0ed1FBatWkyt832jC4CReKstga6yIhYVwGu9LOBjuX9wzmRMeQdBJtzEA==",
+      "license": "Apache-2.0"
+    },
     "node_modules/ignore": {
       "version": "5.3.2",
       "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
@@ -5264,7 +5264,6 @@
       "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.24.0.tgz",
       "integrity": "sha512-ALyFxgtd5R+65UqZ/++lOqwWcC0SNho9c27fYSyLmG7AfnAul2o46F05aDJGPbFU57wos9dgcIySHs0Xe6ia3A==",
       "license": "BSD-3-Clause",
-      "peer": true,
       "dependencies": {
         "@mapbox/jsonlint-lines-primitives": "^2.0.2",
         "@mapbox/point-geometry": "^1.1.0",
@@ -5424,7 +5423,6 @@
       "resolved": "https://registry.npmjs.org/next/-/next-16.2.6.tgz",
       "integrity": "sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@next/env": "16.2.6",
         "@swc/helpers": "0.5.15",
@@ -5904,7 +5902,6 @@
       "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz",
       "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==",
       "license": "MIT",
-      "peer": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -5914,7 +5911,6 @@
       "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz",
       "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "scheduler": "^0.27.0"
       },
@@ -6764,7 +6760,6 @@
       "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "engines": {
         "node": ">=12"
       },
@@ -6933,7 +6928,6 @@
       "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
       "dev": true,
       "license": "Apache-2.0",
-      "peer": true,
       "bin": {
         "tsc": "bin/tsc",
         "tsserver": "bin/tsserver"
@@ -7261,7 +7255,6 @@
       "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "funding": {
         "url": "https://github.com/sponsors/colinhacks"
       }
diff --git a/package.json b/package.json
index f3b9f5f..ff9a629 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
   "dependencies": {
     "@vercel/analytics": "^2.0.1",
     "framer-motion": "^12.38.0",
+    "hls.js": "^1.6.16",
     "lucide-react": "^1.14.0",
     "maplibre-gl": "^5.24.0",
     "next": "16.2.6",
diff --git a/scripts/generate-bg-fwcbg.mjs b/scripts/generate-bg-fwcbg.mjs
new file mode 100644
index 0000000..9db6d89
--- /dev/null
+++ b/scripts/generate-bg-fwcbg.mjs
@@ -0,0 +1,146 @@
+import fs from 'fs';
+
+const raw = JSON.parse(fs.readFileSync('/tmp/bg-cams.json', 'utf8'));
+
+const CITY_COORDS = {
+  Sofia: [42.698, 23.322],
+  Plovdiv: [42.15, 24.749],
+  Varna: [43.214, 27.915],
+  Burgas: [42.504, 27.462],
+  Ruse: [43.856, 25.973],
+  'Stara Zagora': [42.426, 25.641],
+  Pleven: [43.417, 24.617],
+  Sliven: [42.681, 26.322],
+  Vitosha: [42.57, 23.28],
+  Bansko: [41.836, 23.488],
+  Borovets: [42.27, 23.6],
+  Dobrinishte: [41.823, 23.559],
+  Petrich: [41.398, 23.207],
+  'Golden Sands': [43.28, 28.04],
+  'Sunny Beach': [42.695, 27.71],
+  Nessebar: [42.66, 27.736],
+  Sozopol: [42.417, 27.695],
+  Kavarna: [43.436, 28.34],
+  Balchik: [43.55, 28.34],
+  Shumen: [43.271, 26.936],
+  Dobrich: [43.572, 27.827],
+  Gabrovo: [42.874, 25.319],
+  'Veliko Tarnovo': [43.075, 25.617],
+  Blagoevgrad: [42.026, 23.1],
+  Sandanski: [41.567, 23.28],
+  Velingrad: [42.027, 24.0],
+  Pamporovo: [41.66, 24.68],
+  Smolyan: [41.577, 24.701],
+  Devin: [41.743, 24.4],
+  Kazanlak: [42.619, 25.393],
+  Troyan: [42.873, 24.719],
+  Montana: [43.412, 23.225],
+  Vratsa: [43.21, 23.562],
+  Lovech: [43.137, 24.719],
+  Pernik: [42.605, 23.037],
+  Yambol: [42.484, 26.503],
+  Haskovo: [41.934, 25.555],
+  Kardzhali: [41.633, 25.377],
+  Razgrad: [43.527, 26.524],
+  Silistra: [44.117, 27.26],
+  Targovishte: [43.251, 26.572],
+  Svishtov: [43.617, 25.35],
+  Sevlievo: [43.026, 25.104],
+  Mountains: [42.65, 23.4],
+  'Black Sea': [42.8, 27.9],
+  Bulgaria: [42.733, 25.486],
+};
+
+function cityFrom(title, page) {
+  const t = title.toUpperCase();
+  const p = page.toUpperCase();
+  for (const city of Object.keys(CITY_COORDS)) {
+    if (city === 'Bulgaria' || city === 'Mountains' || city === 'Black Sea') continue;
+    const key = city.toUpperCase().replace('-', ' ');
+    if (t.includes(key) || p.includes(city.toUpperCase())) return city;
+  }
+  if (/╨í╨₧╨ñ╨ÿ|SOFIA|SOFI/.test(t + p)) return 'Sofia';
+  if (/╨Æ╨É╨á╨¥|VARNA/.test(t + p)) return 'Varna';
+  if (/╨æ╨ú╨á╨ô|BURGAS/.test(t + p)) return 'Burgas';
+  if (/╨ƒ╨¢╨₧╨Æ|PLOVDIV/.test(t + p)) return 'Plovdiv';
+  if (/╨Æ╨ÿ╨ó╨₧╨¿|VITOSHA/.test(t + p)) return 'Vitosha';
+  if (/╨Ñ╨ÿ╨û╨É|HIJA|HUT/.test(t + p)) return 'Mountains';
+  if (/╨ƒ╨¢╨É╨û|BEACH|CHERNO|╨£╨₧╨á╨ò/.test(t)) return 'Black Sea';
+  return 'Bulgaria';
+}
+
+function hash(s) {
+  let h = 0;
+  for (const c of s) h = ((h << 5) - h + c.charCodeAt(0)) | 0;
+  return h;
+}
+
+function coords(city, id) {
+  const base = CITY_COORDS[city] || CITY_COORDS.Bulgaria;
+  const h = Math.abs(hash(id));
+  return [
+    +(base[0] + ((h % 100) - 50) * 0.001).toFixed(4),
+    +(base[1] + (((Math.floor(h / 100) % 100) - 50) * 0.001)).toFixed(4),
+  ];
+}
+
+function esc(s) {
+  return s.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
+}
+
+const cams = [];
+const seen = new Set();
+
+for (const row of raw) {
+  const city = cityFrom(row.title, row.page);
+  const base = `http://free-webcambg.com/${row.page}`;
+  const entries = [];
+
+  if (row.rtsps?.length) {
+    row.rtsps.forEach((rtsp, i) => {
+      if (rtsp.includes('/Aaaaaaaa/')) return;
+      const slug = rtsp.split('/embed/')[1].replace(/\//, '');
+      entries.push({
+        id: `bg-fwcbg-${slug.toLowerCase()}`,
+        city,
+        name: row.title + (row.rtsps.length > 1 ? ` (${i + 1})` : ''),
+        stream_url: rtsp,
+        stream_type: 'iframe',
+        feed_url: row.cdn?.[0] || row.pics?.[0],
+        external_url: base,
+      });
+    });
+  } else if (row.cdn?.[0] || row.pics?.[0]) {
+    const id = `bg-fwcbg-${(row.page.split('-webcam')[0] || row.page).replace(/[^a-z0-9]+/gi, '-').toLowerCase().slice(0, 45)}`;
+    entries.push({
+      id,
+      city,
+      name: row.title,
+      feed_url: row.cdn?.[0] || row.pics?.[0],
+      external_url: base,
+    });
+  }
+
+  for (const e of entries) {
+    const key = e.stream_url || e.feed_url;
+    if (seen.has(key)) continue;
+    seen.add(key);
+    cams.push(e);
+  }
+}
+
+let out = `import type { CctvCamera } from './types';\n\n/** Auto-generated from free-webcambg.com ΓÇö ${cams.length} cameras */\nexport const BULGARIA_FWCBG_CAMERAS: CctvCamera[] = [\n`;
+
+for (const c of cams) {
+  const [lat, lng] = coords(c.city, c.id);
+  out += `  {\n    id: '${esc(c.id)}',\n    lat: ${lat},\n    lng: ${lng},\n    name: '${esc(c.name)}',\n    city: '${esc(c.city)}',\n    country: 'Bulgaria',\n`;
+  if (c.stream_url) out += `    stream_url: '${esc(c.stream_url)}',\n    stream_type: 'iframe',\n`;
+  if (c.feed_url) out += `    feed_url: '${esc(c.feed_url)}',\n`;
+  out += `    external_url: '${esc(c.external_url)}',\n    source: 'Free-WebCamBG',\n  },\n`;
+}
+
+out += '];\n';
+
+const outPath = new URL('../src/app/api/cctv/bulgaria-fwcbg.generated.ts', import.meta.url);
+fs.writeFileSync(outPath, out);
+console.log(`Wrote ${cams.length} cameras (${cams.filter((c) => c.stream_url).length} live) ΓåÆ ${outPath.pathname}`);
diff --git a/src/app/api/cctv/bulgaria-fwcbg.generated.ts b/src/app/api/cctv/bulgaria-fwcbg.generated.ts
new file mode 100644
index 0000000..5ff012b
--- /dev/null
+++ b/src/app/api/cctv/bulgaria-fwcbg.generated.ts
@@ -0,0 +1,4207 @@
+import type { CctvCamera } from './types';
+
+/** Auto-generated from free-webcambg.com ΓÇö 354 cameras */
+export const BULGARIA_FWCBG_CAMERAS: CctvCamera[] = [
+  {
+    id: 'bg-fwcbg-hnisaeaq',
+    lat: 42.694,
+    lng: 23.293,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨É╨á╨ÿ╨ô╨á╨É╨ö╨í╨Ü╨₧ ╨¿╨₧╨í╨ò (1)',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/hniSAeAQ/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sofia-02',
+    external_url: 'http://free-webcambg.com/Sofia-02-webcam-live-online-camera-Sf-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-3bqnttdr',
+    lat: 42.712,
+    lng: 23.286,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨É╨á╨ÿ╨ô╨á╨É╨ö╨í╨Ü╨₧ ╨¿╨₧╨í╨ò (2)',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/3bQnttDR/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sofia-02',
+    external_url: 'http://free-webcambg.com/Sofia-02-webcam-live-online-camera-Sf-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sofia-03',
+    lat: 42.676,
+    lng: 23.322,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨¥╨ö╨Ü ╨ƒ╨₧╨ƒ╨É ╨ƒ╨É╨£╨ò╨ó╨¥╨ÿ╨Ü',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-03',
+    external_url: 'http://free-webcambg.com/Sofia-03-webcam-live-online-camera-popa-NDK-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ekdynzrs',
+    lat: 42.702,
+    lng: 23.352,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü ╨¢╨«╨¢╨ÿ╨¥ 7 (1)',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/eKDYNZrs/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/sofdom',
+    external_url: 'http://free-webcambg.com/Sofia-08-webcam-live-online-camera-city-street-road-Sofiq-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-y8nkayan',
+    lat: 42.703,
+    lng: 23.322,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü ╨¢╨«╨¢╨ÿ╨¥ 7 (2)',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/Y8nkAyAn/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/sofdom',
+    external_url: 'http://free-webcambg.com/Sofia-08-webcam-live-online-camera-city-street-road-Sofiq-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-4nsnneab',
+    lat: 42.663,
+    lng: 23.363,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨₧╨⌐╨É╨ö \'╨₧╨á╨¢╨₧╨Æ ╨£╨₧╨í╨ó\' (1)',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/4NSnNeAb/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sofia-10',
+    external_url: 'http://free-webcambg.com/Sofia-11-webcam-live-online-camera-Orlov-most-city-street-road-Sofiq-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-8yin9rtq',
+    lat: 42.674,
+    lng: 23.316,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨₧╨⌐╨É╨ö \'╨₧╨á╨¢╨₧╨Æ ╨£╨₧╨í╨ó\' (2)',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/8Yin9rtQ/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sofia-10',
+    external_url: 'http://free-webcambg.com/Sofia-11-webcam-live-online-camera-Orlov-most-city-street-road-Sofiq-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-d4bq2zn7',
+    lat: 42.742,
+    lng: 23.357,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü ╨Ü╨Æ╨É╨á╨ó╨É╨¢ \'╨¢╨₧╨ù╨ò╨¥╨ò╨ª\' (1)',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/D4BQ2zN7/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sofia-14',
+    external_url: 'http://free-webcambg.com/Sofia-14-webcam-live-online-camera-street-Tsarigradsko-shose-city-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-9de23yyb',
+    lat: 42.649,
+    lng: 23.341,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü ╨Ü╨Æ╨É╨á╨ó╨É╨¢ \'╨¢╨₧╨ù╨ò╨¥╨ò╨ª\' (2)',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/9DE23yyb/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sofia-14',
+    external_url: 'http://free-webcambg.com/Sofia-14-webcam-live-online-camera-street-Tsarigradsko-shose-city-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-neraf9qk',
+    lat: 42.675,
+    lng: 23.273,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨í╨ÿ╨£╨ò╨₧╨¥╨₧╨Æ╨₧\'',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/nerAF9QK/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-17',
+    external_url: 'http://free-webcambg.com/Sofia-17-webcam-live-online-camera-street-Sf-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sofia-18',
+    lat: 42.74,
+    lng: 23.321,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ö╨Æ╨₧╨á ╨ƒ╨É╨á╨Ü╨ÿ╨¥╨ô ╨ú╨¢╨ÿ╨ª╨É',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-18',
+    external_url: 'http://free-webcambg.com/Sofia-18-webcam-live-online-camera-city-street-parking-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-y3eeny6a',
+    lat: 42.65,
+    lng: 23.308,
+    name: '╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨£╨É╨¥╨É╨í╨ó╨ÿ╨á╨í╨Ü╨ÿ ╨¢╨ÿ╨Æ╨É╨ö╨ÿ\'',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/y3eENY6A/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-21',
+    external_url: 'http://free-webcambg.com/Sofia-21-webcam-live-online-camera-Mall-Bulgaria-mol-Sf-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sofia-24-okolovrastno-ring',
+    lat: 42.702,
+    lng: 23.333,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨É╨á╨ÿ╨ô╨á╨É╨ö╨í╨Ü╨₧ ╨¿╨₧╨í╨ò',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sofia-24',
+    external_url: 'http://free-webcambg.com/Sofia-24-Okolovrastno-ring-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sofia-27-street',
+    lat: 42.742,
+    lng: 23.364,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨¢╨₧╨ù╨ò╨¥╨ò╨ª\'',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-27',
+    external_url: 'http://free-webcambg.com/Sofia-27-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-egarrdky',
+    lat: 42.707,
+    lng: 23.281,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨û╨Ü \'╨Ü╨á╨É╨í╨¥╨É ╨ƒ╨₧╨¢╨»╨¥╨É\'',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/eGArRdkY/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-52',
+    external_url: 'http://free-webcambg.com/Sofia-28-webcam-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sofia-35',
+    lat: 42.681,
+    lng: 23.321,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ó╨Æ ╨Ü╨ú╨¢╨É \'╨Ü╨₧╨ƒ╨ÿ╨ó╨₧╨ó╨₧\', ╨Æ╨ÿ╨ó╨₧╨¿╨É',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sofia-35',
+    external_url: 'http://free-webcambg.com/Sofia-35-webcam-live-online-camera-Kopitoto-TV-kula-Vitosha-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sofia-36',
+    lat: 42.68,
+    lng: 23.321,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨¥╨É╨á╨₧╨ö╨¥╨₧ ╨í╨¬╨æ╨á╨É╨¥╨ÿ╨ò',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sofia-36',
+    external_url: 'http://free-webcambg.com/Sofia-36-webcam-live-online-camera-Narodno-Sabranie-Sofiq-hram-Alexandar-Nevski-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-rnsd69z7',
+    lat: 42.675,
+    lng: 23.296,
+    name: '╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨Ñ╨₧╨ö ╨Ü╨Æ. \'╨ö╨á╨É╨ô╨É╨¢╨ò╨Æ╨ª╨ÿ\'',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/RnsD69Z7/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-39r',
+    external_url: 'http://free-webcambg.com/Sofia-39-webcam-live-online-camera-street-traffic-bulevard-Cherni-vrah-NDK-Sofiq-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-5rqzsant',
+    lat: 42.708,
+    lng: 23.335,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. ╨û.╨Ü. \'╨ù╨₧╨¥╨É ╨æ-5\'',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/5RQzSANT/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sofia-41',
+    external_url: 'http://free-webcambg.com/Sofia-41-webcam-live-online-camera-Carigradsko-shose-bulevard-street-traffic-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sofia-44-street',
+    lat: 42.681,
+    lng: 23.318,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü \'╨ö╨á╨ú╨û╨æ╨É\',  ╨ÿ╨í╨Ü╨¬╨á╨í╨Ü╨₧ ╨¿╨₧╨í╨ò',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-44',
+    external_url: 'http://free-webcambg.com/Sofia-44-street-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nqqtsery',
+    lat: 42.661,
+    lng: 23.34,
+    name: '╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü \'╨í╨Æ╨ò╨ó╨É ╨ó╨á╨₧╨ÿ╨ª╨É\'',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/nQQtsery/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-45',
+    external_url: 'http://free-webcambg.com/Sofia-45-street-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sofia-52-street',
+    lat: 42.674,
+    lng: 23.32,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨ö╨¬╨á╨Æ╨ò╨¥╨ÿ╨ª╨É\'',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-52',
+    external_url: 'http://free-webcambg.com/Sofia-52-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sofia-53-orlandovci',
+    lat: 42.717,
+    lng: 23.303,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨Ü╨Æ. \'╨¢╨É╨ô╨ò╨á╨É\' ╨ÿ ╨Æ╨ÿ╨ó╨₧╨¿╨É',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-53r',
+    external_url: 'http://free-webcambg.com/Sofia-53-Orlandovci-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kisyghfs',
+    lat: 42.676,
+    lng: 23.353,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ╨É╨á╨ó╨É╨¢ \'╨¢╨₧╨ù╨ò╨¥╨ò╨ª\' (1)',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/kiSyGhfs/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-54r',
+    external_url: 'http://free-webcambg.com/Sofia-54-Lozenec-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-h9tekzkk',
+    lat: 42.719,
+    lng: 23.342,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ╨É╨á╨ó╨É╨¢ \'╨¢╨₧╨ù╨ò╨¥╨ò╨ª\' (2)',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/h9TeKzkk/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-54r',
+    external_url: 'http://free-webcambg.com/Sofia-54-Lozenec-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-plovdiv-02',
+    lat: 42.155,
+    lng: 24.741,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨ª╨É╨á╨ÿ╨ô╨á╨É╨ö╨í╨Ü╨₧\' ╨¿╨₧╨í╨ò',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Plovdiv-02',
+    external_url: 'http://free-webcambg.com/Plovdiv-02-webcam-live-online-camera-karlovsko-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-tk7rnf7t',
+    lat: 42.113,
+    lng: 24.717,
+    name: 'KAMEPA ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ \'╨ƒ╨É╨¢╨£ ╨ª╨ò╨¥╨ó╨¬╨á\' ╨Ü╨ª╨£',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/TK7Rnf7T/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Plovdiv-13-webcam-live-online-camera-traffic-street-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-dd4fkr2r',
+    lat: 42.151,
+    lng: 24.712,
+    name: 'KAMEPA ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨¿╨ÿ╨á╨₧╨Ü ╨ª╨ò╨¥╨ó╨¬╨á (1)',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/dd4fkr2r/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Plovdiv-14-1',
+    external_url: 'http://free-webcambg.com/Plovdiv-14-webcam-live-online-camera-center-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-3thny3ts',
+    lat: 42.166,
+    lng: 24.73,
+    name: 'KAMEPA ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨¿╨ÿ╨á╨₧╨Ü ╨ª╨ò╨¥╨ó╨¬╨á (2)',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/3tHny3tS/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Plovdiv-14-1',
+    external_url: 'http://free-webcambg.com/Plovdiv-14-webcam-live-online-camera-center-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-qtsfzydd',
+    lat: 42.179,
+    lng: 24.704,
+    name: 'KAMEPA ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨¿╨ÿ╨á╨₧╨Ü ╨ª╨ò╨¥╨ó╨¬╨á (3)',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/QtsFZydD/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Plovdiv-14-1',
+    external_url: 'http://free-webcambg.com/Plovdiv-14-webcam-live-online-camera-center-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-7b8tatfa',
+    lat: 42.153,
+    lng: 24.781,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨Ü╨É╨£╨ò╨¥╨ÿ╨ª╨É\' (1)',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/7b8tAtfA/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Plovdiv-18r',
+    external_url: 'http://free-webcambg.com/Plovdiv-18-webcam-live-online-camera-street-city-CCTV-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-e97erg5k',
+    lat: 42.145,
+    lng: 24.761,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨Ü╨É╨£╨ò╨¥╨ÿ╨ª╨É\' (2)',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/E97eRG5k/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Plovdiv-18r',
+    external_url: 'http://free-webcambg.com/Plovdiv-18-webcam-live-online-camera-street-city-CCTV-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-refkff8b',
+    lat: 42.184,
+    lng: 24.706,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨Ü╨É╨£╨ò╨¥╨ÿ╨ª╨É\' (3)',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/REFKFf8B/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Plovdiv-18r',
+    external_url: 'http://free-webcambg.com/Plovdiv-18-webcam-live-online-camera-street-city-CCTV-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-plovdiv-19',
+    lat: 42.193,
+    lng: 24.741,
+    name: '╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨ú╨£ ╨ó╨á╨É╨Ü╨ÿ╨» \'╨Ü╨É╨ú╨ñ╨¢╨É╨¥╨ö\'',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Plovdiv-19',
+    external_url: 'http://free-webcambg.com/Plovdiv-19-webcam-live-online-camera-RUM-Trakia-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-7sb666fh',
+    lat: 42.188,
+    lng: 24.777,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü \'╨ó╨á╨É╨Ü╨ÿ╨»\' SPS (1)',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/7sB666fh/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Plovdiv-20r',
+    external_url: 'http://free-webcambg.com/Plovdiv-20-webcam-live-online-camera-Trakia-SPS-METRO-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-grzi4rzd',
+    lat: 42.144,
+    lng: 24.776,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü \'╨ó╨á╨É╨Ü╨ÿ╨»\' SPS (2)',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/GRzi4RZd/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Plovdiv-20r',
+    external_url: 'http://free-webcambg.com/Plovdiv-20-webcam-live-online-camera-Trakia-SPS-METRO-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-s8kh3q3f',
+    lat: 42.187,
+    lng: 24.797,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨É╨£╨ò╨ó╨¥╨ÿ╨Ü \'╨É╨¢╨¼╨₧╨¿╨É\'',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/s8Kh3Q3f/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Plovdiv-22',
+    external_url: 'http://free-webcambg.com/Plovdiv-22-webcam-live-online-camera-street-city-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-plovdiv-23',
+    lat: 42.118,
+    lng: 24.742,
+    name: 'KAMEPA ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨Ü╨₧╨£╨É╨ó╨ò╨Æ╨í╨Ü╨₧\' ╨¿╨₧╨í╨ò',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Plovdiv-23',
+    external_url: 'http://free-webcambg.com/Plovdiv-23-webcam-live-online-camera-street-city-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-plovdiv-25-city-street',
+    lat: 42.172,
+    lng: 24.715,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨ó╨É╨ö╨ÿ╨₧╨¥ \'╨æ╨₧╨ó╨ò╨Æ\' (╨Ü╨₧╨¢╨ò╨û╨É)',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Plovdiv-25',
+    external_url: 'http://free-webcambg.com/Plovdiv-25-city-street-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-plovdiv-26-street-rogoshko-shose-city',
+    lat: 42.135,
+    lng: 24.739,
+    name: 'KAMEPA ╨ƒ╨¢╨₧╨Æ╨ö╨ÿ╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨£╨É╨á╨É╨¿╨É\'',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Plovdiv-26',
+    external_url: 'http://free-webcambg.com/Plovdiv-26-street-Rogoshko-shose-city-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-varna-02',
+    lat: 43.215,
+    lng: 27.929,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü \'╨£╨¢╨É╨ö╨₧╨í╨ó\' ╨ö╨₧ ╨Ü╨É╨ó',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Varna-02',
+    external_url: 'http://free-webcambg.com/Varna-02-webcam-live-online-camera-traffic-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ahnibgdh',
+    lat: 43.205,
+    lng: 27.957,
+    name: 'KAMEPA ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û \'╨á╨É╨ƒ╨₧╨¥╨ô╨ÿ\' 3 ╨æ╨ú╨¥╨É (1)',
+    city: 'Varna',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/AHniBGDH/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Varna-04',
+    external_url: 'http://free-webcambg.com/Varna-04-webcam-live-online-camera-plaj-3-buna-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-rtebynrq',
+    lat: 43.259,
+    lng: 27.949,
+    name: 'KAMEPA ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û \'╨á╨É╨ƒ╨₧╨¥╨ô╨ÿ\' 3 ╨æ╨ú╨¥╨É (2)',
+    city: 'Varna',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/rteByNRQ/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Varna-04',
+    external_url: 'http://free-webcambg.com/Varna-04-webcam-live-online-camera-plaj-3-buna-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-k9ki7rz5',
+    lat: 43.164,
+    lng: 27.877,
+    name: 'KAMEPA ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û \'╨á╨É╨ƒ╨₧╨¥╨ô╨ÿ\' 3 ╨æ╨ú╨¥╨É (3)',
+    city: 'Varna',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/k9Ki7rz5/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Varna-04',
+    external_url: 'http://free-webcambg.com/Varna-04-webcam-live-online-camera-plaj-3-buna-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-varna-06',
+    lat: 43.219,
+    lng: 27.929,
+    name: 'KAMEP╨ÿ ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨ô╨É╨¢╨É╨ó╨É\' ╨£╨₧╨¥╨ú╨£╨ò╨¥╨ó',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Varna-06',
+    external_url: 'http://free-webcambg.com/Varna-06-webcam-live-online-camera-Galata-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sedzeabq',
+    lat: 43.207,
+    lng: 27.914,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨ÿ ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ╨É╨á╨ó╨É╨¢ \'╨ô╨É╨¢╨É╨ó╨É\'',
+    city: 'Varna',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/SEDzEAbQ/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Varna-07-webcam-live-online-camera-Galata-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-varna-12',
+    lat: 43.246,
+    lng: 27.929,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨æ╨ú╨¢. \'╨Æ. ╨¢╨ò╨Æ╨í╨Ü╨ÿ\' & ╨ò╨ù╨ò╨á╨₧',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Varna-12',
+    external_url: 'http://free-webcambg.com/Varna-12-webcam-live-online-camera-office-Kassaba-CCTV-kameri-na-jivo.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-varna-13',
+    lat: 43.247,
+    lng: 27.929,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨Ñ╨₧╨ö ╨ƒ╨É╨á╨Ü \'╨£╨₧╨á╨í╨Ü╨É ╨ô╨á╨É╨ö╨ÿ╨¥╨É\'',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Varna-13',
+    external_url: 'http://free-webcambg.com/Varna-13-webcam-live-online-camera-Morska-gradina-Odesos-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-rhzfzh9z',
+    lat: 43.207,
+    lng: 27.942,
+    name: 'KAMEPA ╨Æ╨É╨á╨¥╨É ╨Ü╨Æ. ╨æ╨á╨ÿ╨ù (1)',
+    city: 'Varna',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/rHzFzH9z/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Varna-14r',
+    external_url: 'http://free-webcambg.com/Varna-14-webcam-live-online-camera-Akchelar-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-eg9dkhhr',
+    lat: 43.174,
+    lng: 27.927,
+    name: 'KAMEPA ╨Æ╨É╨á╨¥╨É ╨Ü╨Æ. ╨æ╨á╨ÿ╨ù (2)',
+    city: 'Varna',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/EG9dKHhr/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Varna-14r',
+    external_url: 'http://free-webcambg.com/Varna-14-webcam-live-online-camera-Akchelar-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-varna-15',
+    lat: 43.249,
+    lng: 27.929,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨Ü╨É╨ó╨ò╨ö╨á╨É╨¢╨É',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Varna-15',
+    external_url: 'http://free-webcambg.com/Varna-15-webcam-live-online-camera-center-Cathedral-Central-Post-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-varna-16',
+    lat: 43.25,
+    lng: 27.929,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨æ╨ú╨¢. \'╨Ñ╨á╨ÿ╨í╨ó╨₧ ╨æ╨₧╨ó╨ò╨Æ\'',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Varna-16',
+    external_url: 'http://free-webcambg.com/Varna-16-webcam-live-online-camera-center-bul-Botev-Cathedral-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-varna-17',
+    lat: 43.251,
+    lng: 27.929,
+    name: 'KAMEPA ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ú╨¢╨ÿ╨ª╨ÿ',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Varna-17',
+    external_url: 'http://free-webcambg.com/Varna-17-webcam-live-online-camera-center-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-varna-19',
+    lat: 43.253,
+    lng: 27.929,
+    name: 'KAMEPA ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. ╨ó╨á╨₧╨¿╨ò╨Æ╨₧',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Varna-19',
+    external_url: 'http://free-webcambg.com/Varna-19-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-varna-22',
+    lat: 43.177,
+    lng: 27.93,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ñ╨á╨É╨£ \'╨í╨Æ╨ò╨ó╨É ╨ƒ╨ò╨ó╨Ü╨É\'',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Varna-22',
+    external_url: 'http://free-webcambg.com/Varna-22-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ydrh3ien',
+    lat: 42.512,
+    lng: 27.429,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨æ╨ú╨á╨ô╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/yDrH3iEn/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Burgas-04',
+    external_url: 'http://free-webcambg.com/Burgas-04-webcam-live-online-camera-center-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-burgas-05-street',
+    lat: 42.52,
+    lng: 27.473,
+    name: 'KAMEPA ╨æ╨ú╨á╨ô╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨æ╨ú╨¢. \'╨»╨Ü╨ÿ╨£ ╨»╨Ü╨ÿ╨£╨₧╨Æ\'',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Burgas-05',
+    external_url: 'http://free-webcambg.com/Burgas-05-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-idsnkffk',
+    lat: 42.462,
+    lng: 27.453,
+    name: 'KAMEPA ╨æ╨ú╨á╨ô╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨»╨Ñ╨ó ╨Ü╨¢╨ú╨æ ╨ƒ╨₧╨á╨ó ╨º╨ò╨á╨¥╨₧ ╨£╨₧╨á╨ò (1)',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/idSnKFfk/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Burgas-06',
+    external_url: 'http://free-webcambg.com/Burgas-06-webcam-live-online-camera-port-more-Yacht-club-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-edkcvpqb',
+    lat: 42.502,
+    lng: 27.46,
+    name: 'KAMEPA ╨æ╨ú╨á╨ô╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨»╨Ñ╨ó ╨Ü╨¢╨ú╨æ ╨ƒ╨₧╨á╨ó ╨º╨ò╨á╨¥╨₧ ╨£╨₧╨á╨ò (2)',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/eDKcvpQB/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Burgas-06',
+    external_url: 'http://free-webcambg.com/Burgas-06-webcam-live-online-camera-port-more-Yacht-club-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-burgas-07',
+    lat: 42.482,
+    lng: 27.438,
+    name: 'KAMEPA ╨æ╨ú╨á╨ô╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨ò╨Æ╨ò╨á╨ò╨¥ ╨ƒ╨¢╨É╨û',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Bourgas-07',
+    external_url: 'http://free-webcambg.com/Burgas-07-webcam-live-online-camera-Windsurf-more-plaj-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-burgas-08',
+    lat: 42.481,
+    lng: 27.438,
+    name: 'KAMEPA ╨æ╨ú╨á╨ô╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨£╨₧╨í╨ó ╨ƒ╨¢╨É╨û',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Burgas-08',
+    external_url: 'http://free-webcambg.com/Burgas-08-webcams-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-burgas-09',
+    lat: 42.48,
+    lng: 27.438,
+    name: 'KAMEPA ╨æ╨ú╨á╨ô╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û╨ò╨¥ ╨í╨ƒ╨₧╨á╨ó',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Burgas-09',
+    external_url: 'http://free-webcambg.com/Burgas-09-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-burgas-15',
+    lat: 42.553,
+    lng: 27.437,
+    name: 'KAMEPA ╨æ╨ú╨á╨ô╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨á╨¬╨ô╨₧╨Æ╨₧ \'╨£╨ò╨ó╨á╨₧\'',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Burgas-15',
+    external_url: 'http://free-webcambg.com/Burgas-15-webcam-live-online-camera-street-city-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-burgas-16',
+    lat: 42.552,
+    lng: 27.437,
+    name: 'KAMEPA ╨æ╨ú╨á╨ô╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü ╨£╨ò╨ö╨ò╨¥ ╨á╨ú╨ö╨¥╨ÿ╨Ü',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Burgas-16',
+    external_url: 'http://free-webcambg.com/Burgas-16-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kszrah2a',
+    lat: 42.53,
+    lng: 27.48,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨æ╨ú╨á╨ô╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û ╨º╨ò╨á╨¥╨₧ ╨£╨₧╨á╨ò',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/kSZrah2a/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Burgas-17',
+    external_url: 'http://free-webcambg.com/Burgas-17-Cherno-more-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ruse-06',
+    lat: 43.834,
+    lng: 26.004,
+    name: 'KAMEPA ╨á╨ú╨í╨ò ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨æ╨á╨ÿ╨Ü╨ò╨ó╨¥╨É ╨ñ╨É╨æ╨á╨ÿ╨Ü╨É',
+    city: 'Ruse',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Ruse-06',
+    external_url: 'http://free-webcambg.com/Ruse-06-webcam-live-online-camera-city-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ruse-14',
+    lat: 43.863,
+    lng: 26.004,
+    name: 'KAMEPA ╨á╨ú╨í╨ò ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ô╨Ü╨ƒ╨ƒ ╨ö╨ú╨¥╨É╨Æ ╨£╨₧╨í╨ó',
+    city: 'Ruse',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Ruse-14-0',
+    external_url: 'http://free-webcambg.com/Ruse-14-webcam-live-online-camera-ponton-Dunav-Tours-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ser68aas',
+    lat: 43.887,
+    lng: 25.991,
+    name: 'KAMEPA ╨á╨ú╨í╨ò ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨æ╨ú╨¢. \'╨ô╨ò╨¥. ╨í╨Ü╨₧╨æ╨ò╨¢╨ò╨Æ\'',
+    city: 'Ruse',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/SEr68AAS/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Ruse-15-5',
+    external_url: 'http://free-webcambg.com/Ruse-16-Fazan-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kffknsdi',
+    lat: 42.779,
+    lng: 25.446,
+    name: 'KAMEPA ╨í╨ó╨É╨á╨É ╨ù╨É╨ô╨₧╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/kfFKnSdi/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Stara-Zagora-01',
+    external_url: 'http://free-webcambg.com/Stara-Zagora-01-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-hs9zy3hn',
+    lat: 42.781,
+    lng: 25.477,
+    name: 'KAMEPA ╨í╨ó╨É╨á╨É ╨ù╨É╨ô╨₧╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/hS9zy3Hn/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Stara-Zagora-02',
+    external_url: 'http://free-webcambg.com/Stara-Zagora-02-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nh3yz9sh',
+    lat: 42.769,
+    lng: 25.483,
+    name: 'KAMEPA ╨í╨ó╨É╨á╨É ╨ù╨É╨ô╨₧╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á (3)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/nH3yz9Sh/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Stara-Zagora-02',
+    external_url: 'http://free-webcambg.com/Stara-Zagora-02-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-heit5see',
+    lat: 42.775,
+    lng: 25.534,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨ó╨É╨á╨É ╨ù╨É╨ô╨₧╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ñ╨₧╨¥╨ó╨É╨¥ \'╨û╨É╨æ╨Ü╨ÿ╨ó╨ò\' (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/HEiT5SEE/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Stara-Zagora-04-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ees5tieh',
+    lat: 42.779,
+    lng: 25.466,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨ó╨É╨á╨É ╨ù╨É╨ô╨₧╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ñ╨₧╨¥╨ó╨É╨¥ \'╨û╨É╨æ╨Ü╨ÿ╨ó╨ò\' (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/EES5TiEH/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Stara-Zagora-04-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zdsisznb',
+    lat: 42.686,
+    lng: 25.529,
+    name: '╨í╨ó╨É╨á╨É ╨ù╨É╨ô╨₧╨á╨É ╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨É╨á╨Ü ╨æ╨É╨ö╨£╨ÿ╨¥╨ó╨₧╨¥',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/ZDSisZNb/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Stara-Zagora-06-webcam-live-online-camera-meteo-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-5fn8rzbr',
+    lat: 42.782,
+    lng: 25.527,
+    name: 'KAMEPA ╨í╨ó╨É╨á╨É ╨ù╨É╨ô╨₧╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨Ü╨ò╨Ö╨ó╨ƒ╨É╨á╨Ü',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/5FN8RzbR/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Stara-Zagora-01',
+    external_url: 'http://free-webcambg.com/Stara-Zagora-05-street-center-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-e4r6seny',
+    lat: 42.701,
+    lng: 25.503,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨ó╨É╨á╨É ╨ù╨É╨ô╨₧╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨Æ╨¬╨ù╨á╨É╨û╨ö╨É╨¥╨ò\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/E4r6SEny/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Stara-Zagora-07',
+    external_url: 'http://free-webcambg.com/Stara-Zagora-07-street-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-stara-zagora-08',
+    lat: 42.782,
+    lng: 25.458,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨ó╨É╨á╨É ╨ù╨É╨ô╨₧╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨₧╨Ü╨₧╨¢╨₧╨Æ╨á╨¬╨í╨ó╨ò╨¥\' ╨ƒ╨¬╨ó',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Stara-Zagora-08',
+    external_url: 'http://free-webcambg.com/Stara-Zagora-08-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pleven-07',
+    lat: 43.399,
+    lng: 24.627,
+    name: 'KAMEPA ╨ƒ╨¢╨ò╨Æ╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û.╨Ü. \'╨í╨ó╨₧╨á╨ô╨₧╨ù╨ÿ╨»\'',
+    city: 'Pleven',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pleven-07',
+    external_url: 'http://free-webcambg.com/Pleven-07-webcam-live-online-camera-center-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pleven-08',
+    lat: 43.398,
+    lng: 24.627,
+    name: '╨ƒ╨¢╨ò╨Æ╨ò╨¥ ╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ú╨¢╨ÿ╨ª╨É ╨Ü╨ó╨æ',
+    city: 'Pleven',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pleven-08',
+    external_url: 'http://free-webcambg.com/Pleven-08-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-3qyq6dba',
+    lat: 43.432,
+    lng: 24.627,
+    name: 'KAMEPA ╨ƒ╨¢╨ò╨Æ╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á, ╨ƒ╨É╨¥╨₧╨á╨É╨£╨É (1)',
+    city: 'Pleven',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/3QYQ6dbA/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Pleven-11r',
+    external_url: 'http://free-webcambg.com/Pleven-11-webcam-live-online-camera-street-city-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nzh8fhhs',
+    lat: 43.382,
+    lng: 24.637,
+    name: 'KAMEPA ╨ƒ╨¢╨ò╨Æ╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á, ╨ƒ╨É╨¥╨₧╨á╨É╨£╨É (2)',
+    city: 'Pleven',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/nZH8fHhS/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Pleven-11r',
+    external_url: 'http://free-webcambg.com/Pleven-11-webcam-live-online-camera-street-city-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sliven-01',
+    lat: 42.724,
+    lng: 26.297,
+    name: 'KAMEPA ╨í╨¢╨ÿ╨Æ╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á',
+    city: 'Sliven',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sliven-01',
+    external_url: 'http://free-webcambg.com/Sliven-01-webcam-live-online-camera-center-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nhaf57zr',
+    lat: 42.69,
+    lng: 26.287,
+    name: 'KAMEPA ╨í╨¢╨ÿ╨Æ╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨₧╨æ╨⌐╨ÿ╨¥╨É',
+    city: 'Sliven',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/NhaF57Zr/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sliven-10',
+    external_url: 'http://free-webcambg.com/Sliven-10-webcam-live-online-camera-city-complex-Sinite-kamani-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-s2gzn2sz',
+    lat: 42.654,
+    lng: 26.357,
+    name: 'KAMEPA ╨í╨¢╨ÿ╨Æ╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ó╨ò╨ª',
+    city: 'Sliven',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/S2GZn2Sz/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Sliven-04-city-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-hqskqeds',
+    lat: 42.645,
+    lng: 26.312,
+    name: 'KAMEPA ╨í╨¢╨ÿ╨Æ╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ TV ╨Ü╨ú╨¢╨É ╨Ü╨É╨á╨É╨¥╨ö╨ÿ╨¢╨É',
+    city: 'Sliven',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/hQsKQEds/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sliven-11r',
+    external_url: 'http://free-webcambg.com/Sliven-11-street-kvartal-jk-Dame-Gruev-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-vitosha-01',
+    lat: 42.558,
+    lng: 23.269,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É \'╨Æ╨ÿ╨ó╨₧╨¿╨Ü╨₧ ╨¢╨É╨¢╨ò\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨Ü╨ÿ \'╨¢╨É╨¢╨ò╨ó╨₧\'',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Vitosha-01',
+    external_url: 'http://free-webcambg.com/Vitosha-01-webcam-live-online-camera-ski-Laleto-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-di8zh683',
+    lat: 42.594,
+    lng: 23.255,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨ÿ╨ó╨₧╨¿╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨£. \'╨æ╨ò╨¢╨ÿ ╨æ╨á╨ò╨ù╨ÿ\'',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/di8zh683/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Vitosha-05-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-adqkeraf',
+    lat: 42.577,
+    lng: 23.291,
+    name: 'KAMEPA \'╨º╨ò╨á╨¥╨ÿ\' ╨Æ╨á╨¬╨Ñ ≡ƒÅö∩╕Å ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨ÿ╨ó╨₧╨¿╨É LIVE',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/adQkeraF/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Vitosha-06',
+    external_url: 'http://free-webcambg.com/Vitosha-06-webcam-live-online-camera-Cherni-vrah-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-vitosha-07',
+    lat: 42.552,
+    lng: 23.269,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ô╨₧╨í╨ó╨₧╨ƒ╨á╨ÿ╨ò╨£╨¥╨ÿ╨ª╨É \'╨£╨₧╨ó╨ò╨¥\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Vitosha-07',
+    external_url: 'http://free-webcambg.com/Vitosha-07-webcam-live-online-camera-Guest-house-Moten-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-vitosha-08',
+    lat: 42.551,
+    lng: 23.269,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨ÿ ╨Ñ╨ÿ╨û╨É \'╨º╨ò╨á╨Æ╨ò╨¥╨É╨ó╨É ╨¿╨É╨ƒ╨º╨ÿ╨ª╨É\', ╨Æ╨ÿ╨ó╨₧╨¿╨É',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/carvul-csv',
+    external_url: 'http://free-webcambg.com/Vitosha-08-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-53h9brf3',
+    lat: 42.578,
+    lng: 23.306,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨ÿ╨û╨É \'╨Ü╨É╨£╨ò╨¥ ╨ö╨ò╨¢\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨ÿ╨ó╨₧╨¿╨É',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/53h9BRf3/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/hut',
+    external_url: 'http://free-webcambg.com/Vitosha-09-webcam-hija-Kamen-del-hut-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-enbnhkni',
+    lat: 42.593,
+    lng: 23.244,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ. \'╨ƒ╨¢╨É╨¥╨ÿ╨¥╨É╨á╨í╨Ü╨É ╨ƒ╨ò╨í╨ò╨¥\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨ÿ╨ó╨₧╨¿╨É (1)',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/enBnHkni/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/hut',
+    external_url: 'http://free-webcambg.com/Hija-Planinarska-pesen-01-webcam-Vitosha-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-2ff37d2y',
+    lat: 42.533,
+    lng: 23.27,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ. \'╨ƒ╨¢╨É╨¥╨ÿ╨¥╨É╨á╨í╨Ü╨É ╨ƒ╨ò╨í╨ò╨¥\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨ÿ╨ó╨₧╨¿╨É (2)',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/2ff37D2Y/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/hut',
+    external_url: 'http://free-webcambg.com/Hija-Planinarska-pesen-01-webcam-Vitosha-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nk3brrey',
+    lat: 42.538,
+    lng: 23.294,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨ÿ╨û╨É \'╨í╨ò╨ƒ╨ó╨ò╨£╨Æ╨á╨ÿ\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨ÿ╨ó╨₧╨¿╨É',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/nK3bRReY/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Vitosha-10',
+    external_url: 'http://free-webcambg.com/Vitosha-10-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-h79bhdtz',
+    lat: 42.604,
+    lng: 23.239,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨ÿ╨û╨É \'╨æ╨É╨¢╨Ü╨É╨¥╨ÿ╨ó╨ÿ\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨ÿ╨ó╨₧╨¿╨É (1)',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/h79BHdtZ/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/carvul-gbm',
+    external_url: 'http://free-webcambg.com/Vitosha-11-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-arsyrr4e',
+    lat: 42.606,
+    lng: 23.322,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨ÿ╨û╨É \'╨æ╨É╨¢╨Ü╨É╨¥╨ÿ╨ó╨ÿ\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨ÿ╨ó╨₧╨¿╨É (2)',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/ArsYRR4E/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/carvul-gbm',
+    external_url: 'http://free-webcambg.com/Vitosha-11-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kdrbkddz',
+    lat: 42.61,
+    lng: 23.261,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ù╨É╨í╨¢╨₧╨¥ ╨Ñ. \'╨Ü╨ÿ╨Ü╨ÿ╨¿\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨ÿ╨ó╨₧╨¿╨É (1)',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/kDrbKdDz/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/hut',
+    external_url: 'http://free-webcambg.com/Vitosha-12-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-gsafbyd8',
+    lat: 42.534,
+    lng: 23.3,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ù╨É╨í╨¢╨₧╨¥ ╨Ñ. \'╨Ü╨ÿ╨Ü╨ÿ╨¿\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨ÿ╨ó╨₧╨¿╨É (2)',
+    city: 'Vitosha',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/GSafbyD8/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/hut',
+    external_url: 'http://free-webcambg.com/Vitosha-12-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-bansko-08-city-street',
+    lat: 41.839,
+    lng: 23.531,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨æ╨É╨¥╨í╨Ü╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Bansko',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Bansko-08',
+    external_url: 'http://free-webcambg.com/Bansko-08-city-street-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-bansko-10',
+    lat: 41.792,
+    lng: 23.463,
+    name: '╨Ü╨É╨£╨ò╨á╨ÿ ╨æ╨É╨¥╨í╨Ü╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨Ü╨ÿ ╨ƒ╨ÿ╨í╨ó╨ÿ ╨ƒ╨ÿ╨á╨ÿ╨¥',
+    city: 'Bansko',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Bansko-10',
+    external_url: 'http://free-webcambg.com/Bansko-10-webcam-live-online-camera-Pirin-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-vihren-01',
+    lat: 42.602,
+    lng: 23.448,
+    name: 'KAMEPA ╨Æ╨á╨¬╨Ñ \'╨Æ╨ÿ╨Ñ╨á╨ò╨¥\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨ÿ╨á╨ÿ╨¥',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/vihren',
+    external_url: 'http://free-webcambg.com/Vihren-01-webcam-Pirin-hija-hut-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-dobrinishte-01',
+    lat: 41.828,
+    lng: 23.528,
+    name: 'KAMEPA ╨ö╨₧╨æ╨á╨ÿ╨¥╨ÿ╨⌐╨ò ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨ÿ╨á╨ÿ╨¥',
+    city: 'Dobrinishte',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Dobrinishte-01',
+    external_url: 'http://free-webcambg.com/Dobrinishte-01-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-4qrzh3en',
+    lat: 41.87,
+    lng: 23.515,
+    name: 'KAMEP╨ÿ ╨ö╨₧╨æ╨á╨ÿ╨¥╨ÿ╨⌐╨ò ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨¢╨ÿ╨ñ╨ó, ╨í╨Ü╨ÿ ╨ƒ╨ÿ╨í╨ó╨ÿ',
+    city: 'Dobrinishte',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/4QRzH3EN/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Dobrinishte-02-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-yd67y496',
+    lat: 42.614,
+    lng: 23.418,
+    name: 'KAMEPA ╨Ñ╨ÿ╨û╨É ╨æ╨ò╨ô╨₧╨Æ╨ÿ╨ª╨É ╨ƒ╨ÿ╨á╨ÿ╨¥',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/Yd67Y496/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/begovica',
+    external_url: 'http://free-webcambg.com/hija-Begovica-02-webcam-Pirin-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-5aegn7ad',
+    lat: 42.899,
+    lng: 24.676,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ó╨á╨₧╨»╨¥╨í╨Ü╨ÿ ╨æ╨É╨¢╨Ü╨É╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ñ-╨¢ \'╨æ╨É╨¢╨Ü╨É╨¥\'',
+    city: 'Troyan',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/5aEGN7aD/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Troyanski-Balkan-01',
+    external_url: 'http://free-webcambg.com/Troyanski-Balkan-01-hotel-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-belasica-01',
+    lat: 42.692,
+    lng: 23.448,
+    name: 'KAMEPA ╨Ñ╨ÿ╨û╨É \'╨æ╨ò╨¢╨É╨í╨ÿ╨ª╨É\' LIVE',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/hut',
+    external_url: 'http://free-webcambg.com/Belasica-01-webcam-hija-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zznye6dt',
+    lat: 42.662,
+    lng: 23.353,
+    name: '&copy; ╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨ÿ╨û╨É \'╨Ü╨₧╨¥╨ô╨ú╨á\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ö╨₧ ╨ƒ╨ò╨ó╨á╨ÿ╨º (1)',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/ZznYE6dt/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/hut',
+    external_url: 'http://free-webcambg.com/Kongur-01-webcam-hija-Belasica-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nqhi5ybi',
+    lat: 42.689,
+    lng: 23.423,
+    name: '&copy; ╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨ÿ╨û╨É \'╨Ü╨₧╨¥╨ô╨ú╨á\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ö╨₧ ╨ƒ╨ò╨ó╨á╨ÿ╨º (2)',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/nQhi5yBi/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/hut',
+    external_url: 'http://free-webcambg.com/Kongur-01-webcam-hija-Belasica-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-borovec-05',
+    lat: 42.761,
+    lng: 25.506,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨æ╨₧╨á╨₧╨Æ╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨Ü╨ÿ ╨ƒ╨ÿ╨í╨ó╨ÿ ╨á╨ÿ╨¢╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Borovec-05',
+    external_url: 'http://free-webcambg.com/Borovec-05-webcam-live-online-camera-Samokov-Hotel-ski-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-borovec-18',
+    lat: 42.232,
+    lng: 23.621,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨ÿ ╨æ╨₧╨á╨₧╨Æ╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨Ü╨ÿ ╨¢╨ÿ╨ñ╨ó ╨ª╨ò╨¥╨ó╨¬╨á',
+    city: 'Borovets',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Borovec-18-1',
+    external_url: 'http://free-webcambg.com/Borovec-18-webcam-live-online-camera-Rila-Borovets-ski-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-borovec-17',
+    lat: 42.231,
+    lng: 23.621,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨ÿ╨û╨É \'╨»╨í╨ó╨á╨ò╨æ╨ò╨ª\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨æ╨₧╨á╨₧╨Æ╨ò╨ª',
+    city: 'Borovets',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Borovec-17',
+    external_url: 'http://free-webcambg.com/Borovec-17-webcam-live-online-camera-Yastrebec-hija-Rila-Borovets-ski-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zdravec-02',
+    lat: 42.618,
+    lng: 23.382,
+    name: 'KAMEPA ╨Ü╨ú╨á╨₧╨á╨ó \'╨Ñ╨ÿ╨û╨É ╨ù╨ö╨á╨É╨Æ╨ò╨ª\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨₧╨ö╨₧╨ƒ╨ÿ',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Zdravec-02',
+    external_url: 'http://free-webcambg.com/Zdravec-02-webcam-hija-Rodopi-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-perushtica-02-brestovica',
+    lat: 42.741,
+    lng: 25.504,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨₧╨ó╨ò╨¢ \'╨á╨₧╨ö╨₧╨ƒ╨ÿ\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨í \'╨Æ╨¬╨á╨Ñ╨₧╨Æ╨á╨¬╨Ñ\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Perushtica-02',
+    external_url: 'http://free-webcambg.com/Perushtica-02-Brestovica-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-hut-bonsovi-polyani-01',
+    lat: 42.629,
+    lng: 23.391,
+    name: 'KAMEPA ╨Ñ. ╨æ╨₧╨¥╨í╨₧╨Æ╨ÿ ╨ƒ╨₧╨¢╨»╨¥╨ÿ ╨¢╨«╨¢╨ÿ╨¥',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/carvul-bov',
+    external_url: 'http://free-webcambg.com/hut-Bonsovi-polyani-01-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-335rsryf',
+    lat: 42.75,
+    lng: 25.489,
+    name: 'KAMEPA \'╨£╨É╨¢╨¼╨₧╨Æ╨ÿ╨ª╨É\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨£╨ò╨º╨É ╨ƒ╨₧╨¢╨»╨¥╨É\' (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/335RSrYF/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/hut',
+    external_url: 'http://free-webcambg.com/Malyovica-02-webcam-Rila-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-8nratk6n',
+    lat: 42.753,
+    lng: 25.494,
+    name: 'KAMEPA \'╨£╨É╨¢╨¼╨₧╨Æ╨ÿ╨ª╨É\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨£╨ò╨º╨É ╨ƒ╨₧╨¢╨»╨¥╨É\' (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/8NraTk6N/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/hut',
+    external_url: 'http://free-webcambg.com/Malyovica-02-webcam-Rila-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-9z592y6q',
+    lat: 42.645,
+    lng: 23.372,
+    name: 'KAMEPA ╨Æ╨á╨¬╨Ñ ╨£╨É╨¢╨¼╨₧╨Æ╨ÿ╨ª╨É ╨á╨ÿ╨¢╨É',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/9z592y6Q/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/hut',
+    external_url: 'http://free-webcambg.com/Malyovica-03-webcam-Rila-hija-vrah-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-rghba4na',
+    lat: 42.752,
+    lng: 25.514,
+    name: 'KAMEP╨ÿ ╨Æ╨á╨¬╨Ñ ╨£╨ú╨í╨É╨¢╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨₧╨ó ╨æ╨ò╨₧ ╨á╨ÿ╨¢╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/rGHBa4NA/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Musala-01w',
+    external_url: 'http://free-webcambg.com/Musala-01-webcam-live-online-camera-Rila-vrah-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-osogovo-01',
+    lat: 42.676,
+    lng: 23.379,
+    name: 'KAMEPA ╨₧╨í╨₧╨ô╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨É╨á╨Ü \'╨¢╨«╨ö╨£╨ÿ╨¢ ╨»╨¥╨Ü╨₧╨Æ\'',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Osogovo-01',
+    external_url: 'http://free-webcambg.com/Osogovo-01-webcam-live-online-camera-ski-pista-Snow-Fun-park-hija-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-osogovo-02-skibg',
+    lat: 42.769,
+    lng: 25.453,
+    name: 'KAMEPA ╨₧╨í╨₧╨ô╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ñ╨¬╨¥-╨ƒ╨É╨á╨Ü ╨í╨Ü╨ÿ ╨ƒ╨ÿ╨í╨ó╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Osogovo-02c',
+    external_url: 'http://free-webcambg.com/Osogovo-02-skibg-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pamporovo-04',
+    lat: 41.616,
+    lng: 24.724,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨É╨£╨ƒ╨₧╨á╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ñ╨₧╨ó╨ò╨¢ \'╨£╨ú╨á╨ô╨É╨Æ╨ò╨ª\'',
+    city: 'Pamporovo',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pamporovo-04',
+    external_url: 'http://free-webcambg.com/Pamporovo-04-webcam-live-online-camera-ski-resort-Murgavets-hotel-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pamporovo-08',
+    lat: 41.62,
+    lng: 24.724,
+    name: 'KAMEPA ╨ƒ╨É╨£╨ƒ╨₧╨á╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨£╨É╨¢╨ÿ╨¥╨É',
+    city: 'Pamporovo',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pamporovo-08',
+    external_url: 'http://free-webcambg.com/Pamporovo-08-webcam-live-online-camera-ski-Rodopi-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pamporovo-09-malina',
+    lat: 41.64,
+    lng: 24.639,
+    name: 'KAMEPA ╨ƒ╨É╨£╨ƒ╨₧╨á╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨í \'╨£╨É╨¢╨ÿ╨¥╨É\'',
+    city: 'Pamporovo',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pamporovo-09',
+    external_url: 'http://free-webcambg.com/Pamporovo-09-Malina-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-shiroka-laka-02',
+    lat: 42.715,
+    lng: 25.528,
+    name: 'KAMEPA ╨¿╨ÿ╨á╨₧╨Ü╨É ╨¢╨¬╨Ü╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Shiroka-laka-02',
+    external_url: 'http://free-webcambg.com/Shiroka-laka-02-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-gkyrkgqn',
+    lat: 42.767,
+    lng: 25.448,
+    name: 'KAMEPA ╨ô╨ò╨¢╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨¬╨⌐╨ÿ ╨ù╨É ╨ô╨₧╨í╨ó╨ÿ ╨á╨₧╨ö╨₧╨ƒ╨ÿ (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/GkYRkGQN/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Gela-04r',
+    external_url: 'http://free-webcambg.com/Gela-04-webcam-live-online-camera-Rodopi-hotel-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ydey8znh',
+    lat: 42.7,
+    lng: 25.518,
+    name: 'KAMEPA ╨ô╨ò╨¢╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨¬╨⌐╨ÿ ╨ù╨É ╨ô╨₧╨í╨ó╨ÿ ╨á╨₧╨ö╨₧╨ƒ╨ÿ (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/YdEY8zNH/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Gela-04r',
+    external_url: 'http://free-webcambg.com/Gela-04-webcam-live-online-camera-Rodopi-hotel-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-b5fahtd8',
+    lat: 42.62,
+    lng: 23.396,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨ÿ╨û╨É \'╨á╨ÿ╨¢╨í╨Ü╨ÿ ╨ò╨ù╨ò╨á╨É\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨ÿ╨¢╨É (1)',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/B5FAhtd8/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Rilski-ezera-01r',
+    external_url: 'http://free-webcambg.com/Rilski-ezera-01-webcam-live-online-camera-hija-Rila-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-enkh7zzz',
+    lat: 42.651,
+    lng: 23.427,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨ÿ╨û╨É \'╨á╨ÿ╨¢╨í╨Ü╨ÿ ╨ò╨ù╨ò╨á╨É\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨ÿ╨¢╨É (2)',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/eNKh7ZzZ/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Rilski-ezera-01r',
+    external_url: 'http://free-webcambg.com/Rilski-ezera-01-webcam-live-online-camera-hija-Rila-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-rtzgrkkd',
+    lat: 42.669,
+    lng: 23.353,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨ÿ╨û╨É \'╨á╨ÿ╨¢╨í╨Ü╨ÿ ╨ò╨ù╨ò╨á╨É\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨ÿ╨¢╨É (3)',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/RTZGRkkD/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Rilski-ezera-01r',
+    external_url: 'http://free-webcambg.com/Rilski-ezera-01-webcam-live-online-camera-hija-Rila-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-b8t7kek8',
+    lat: 42.626,
+    lng: 23.412,
+    name: 'KAMEPA ╨Ñ. ╨ƒ╨ÿ╨₧╨¥╨ò╨á╨í╨Ü╨É ╨á╨ÿ╨¢╨É ╨ƒ╨É╨¥╨ÿ╨º╨ÿ╨⌐╨ò (1)',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/b8t7kek8/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Rilski-ezera-02r',
+    external_url: 'http://free-webcambg.com/Rilski-ezera-02-webcam-live-online-camera-hija-Pionerska-Panichishte-Rila-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-9inf4a2a',
+    lat: 42.686,
+    lng: 23.429,
+    name: 'KAMEPA ╨Ñ. ╨ƒ╨ÿ╨₧╨¥╨ò╨á╨í╨Ü╨É ╨á╨ÿ╨¢╨É ╨ƒ╨É╨¥╨ÿ╨º╨ÿ╨⌐╨ò (2)',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/9iNf4A2A/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Rilski-ezera-02r',
+    external_url: 'http://free-webcambg.com/Rilski-ezera-02-webcam-live-online-camera-hija-Pionerska-Panichishte-Rila-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kdrr6qbf',
+    lat: 42.614,
+    lng: 23.38,
+    name: 'KAMEPA ╨Ñ. ╨ƒ╨ÿ╨₧╨¥╨ò╨á╨í╨Ü╨É ╨á╨ÿ╨¢╨É ╨ƒ╨É╨¥╨ÿ╨º╨ÿ╨⌐╨ò (3)',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/KDrR6QBf/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Rilski-ezera-02r',
+    external_url: 'http://free-webcambg.com/Rilski-ezera-02-webcam-live-online-camera-hija-Pionerska-Panichishte-Rila-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-rojen-01',
+    lat: 42.745,
+    lng: 25.491,
+    name: 'KAMEPA ╨¥╨É╨₧ ╨á╨₧╨û╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨₧╨ö╨₧╨ƒ╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Rojen-01',
+    external_url: 'http://free-webcambg.com/Rojen-01-webcam-live-online-camera-Rozhen-peak-NAO-vrah-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-hija-ruy-01',
+    lat: 42.631,
+    lng: 23.414,
+    name: 'KAMEPA ╨Ñ╨ÿ╨û╨É \'╨á╨ú╨Ö\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ LIVE',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/carvul-rm',
+    external_url: 'http://free-webcambg.com/hija-Ruy-01-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ttfn2ztk',
+    lat: 42.605,
+    lng: 23.35,
+    name: 'KAMEPA ╨Ñ╨ÿ╨û╨É \'╨æ╨ú╨¥╨ó╨₧╨Æ╨¥╨É\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨á╨ò╨ö╨¥╨É ╨ô╨₧╨á╨É',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/TtFn2ztk/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/hut-Buntovna-02-2',
+    external_url: 'http://free-webcambg.com/Hija-Buntovna-02-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-fa39hz3s',
+    lat: 42.712,
+    lng: 25.453,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨£. \'╨ú╨ù╨É╨¥╨É\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨Ü╨ÿ ╨ù╨₧╨¥╨É \'╨ò╨£╨É╨á\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/Fa39hz3s/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Uzana-02',
+    external_url: 'http://free-webcambg.com/Uzana-02-ski-pisti-zona-Emar-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-bzb2r76h',
+    lat: 42.768,
+    lng: 25.458,
+    name: 'KAMEPA \'╨ú╨ù╨É╨¥╨É\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'RAINBOW HILL\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/BZB2r76H/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Uzana-04z',
+    external_url: 'http://free-webcambg.com/Uzana-04-hotel-Impuls-ski-pista-Emar-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-a7qfhbek',
+    lat: 42.78,
+    lng: 25.462,
+    name: 'KAMEPA ╨ú╨ù╨É╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧  ╨æ╨É╨¢╨Ü╨É╨¥╨ª╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/a7QFhbeK/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Uzana-05r',
+    external_url: 'http://free-webcambg.com/Uzana-05-hotel-Balkanci-Stara-planina-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kaiaay9k',
+    lat: 42.693,
+    lng: 25.464,
+    name: 'KAMEPA \'╨ª╨ÿ╨ô╨₧╨Æ ╨º╨É╨á╨Ü\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨»╨ù. \'╨æ╨É╨ó╨É╨Ü\' (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/KaiaaY9K/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Cigov-chark-01r',
+    external_url: 'http://free-webcambg.com/Cigov-chark-01-Batak-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-4kna8hbg',
+    lat: 42.734,
+    lng: 25.528,
+    name: 'KAMEPA \'╨ª╨ÿ╨ô╨₧╨Æ ╨º╨É╨á╨Ü\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨»╨ù. \'╨æ╨É╨ó╨É╨Ü\' (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/4KNa8hbG/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Cigov-chark-01r',
+    external_url: 'http://free-webcambg.com/Cigov-chark-01-Batak-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-cigov-chark-02-rodopi',
+    lat: 42.74,
+    lng: 25.526,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É \'╨ª╨ÿ╨ô╨₧╨Æ ╨º╨É╨á╨Ü\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨₧╨ö╨₧╨ƒ╨ÿ╨ó╨ò',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Cigov-chark-02r',
+    external_url: 'http://free-webcambg.com/Cigov-chark-02-Rodopi-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-chepelare-07',
+    lat: 42.696,
+    lng: 25.49,
+    name: 'KAMEPA ╨Æ╨á. \'╨£╨ò╨º╨ÿ ╨º╨É╨¢\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨Ü╨ÿ ╨ƒ╨ÿ╨í╨ó╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Chepelare-07',
+    external_url: 'http://free-webcambg.com/Chepelare-07-webcam-live-online-camera-ski-pista-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zhkhqd4k',
+    lat: 42.762,
+    lng: 25.497,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨á╨¬╨Ñ \'╨æ╨₧╨ó╨ò╨Æ\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨ó╨É╨á╨É ╨ƒ╨¢╨É╨¥╨ÿ╨¥╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/zhKhQd4k/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Botev-02-webcam-vrah-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-buzludja-01-hija',
+    lat: 42.696,
+    lng: 23.43,
+    name: '╨Ü╨É╨£╨ò╨á╨ÿ \'╨æ╨ú╨ù╨¢╨ú╨ö╨û╨É\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨Ü╨ÿ ╨ƒ╨ÿ╨í╨ó╨É',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Buzludja-01',
+    external_url: 'http://free-webcambg.com/Buzludja-01-hija-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-6tk766rr',
+    lat: 42.696,
+    lng: 23.424,
+    name: 'KAMEPA ╨Ñ╨ÿ╨û╨É ╨ö╨₧╨æ╨á╨ÿ╨¢╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨ó╨É╨á╨É ╨ƒ╨¢.',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/6TK766RR/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Dobrila-01',
+    external_url: 'http://free-webcambg.com/Dobrila-01-webcam-live-online-camera-hija-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kom-01',
+    lat: 42.605,
+    lng: 23.448,
+    name: 'KAMEPA ╨Ñ. \'╨Ü╨₧╨£\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨Ü╨ÿ ╨ƒ╨₧╨ö ╨Æ╨á╨¬╨Ñ \'╨Ü╨₧╨£\'',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Kom-01',
+    external_url: 'http://free-webcambg.com/Kom-01-webcam-live-online-camera-hija-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-5art64a4',
+    lat: 42.667,
+    lng: 23.422,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ. \'╨á╨É╨Ö\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨₧╨ö╨₧╨ƒ╨É╨ö \'╨á╨É╨Ö╨í╨Ü╨₧ ╨ƒ╨á╨¬╨í╨Ü╨É╨¢╨₧',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/5aRt64A4/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/hut',
+    external_url: 'http://free-webcambg.com/Ray-01-webcam-hija-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-hija-chumerna-01',
+    lat: 42.614,
+    lng: 23.405,
+    name: 'KAMEPA ╨Ñ. ╨º╨ú╨£╨ò╨á╨¥╨É ╨æ╨É╨¢╨Ü╨É╨¥╨É',
+    city: 'Mountains',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/hija-Chumerna-01r',
+    external_url: 'http://free-webcambg.com/hija-Chumerna-01-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nisbszz2',
+    lat: 42.74,
+    lng: 25.436,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨É╨Ñ╨ó╨₧╨ƒ╨₧╨¢ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨₧╨á╨ó ╨£╨₧╨í╨ó ╨Ü╨ò╨Ö ╨ñ╨É╨á (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/niSBszZ2/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Ahtopol-02r',
+    external_url: 'http://free-webcambg.com/Ahtopol-02-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-skkba68r',
+    lat: 42.695,
+    lng: 25.512,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨É╨Ñ╨ó╨₧╨ƒ╨₧╨¢ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨₧╨á╨ó ╨£╨₧╨í╨ó ╨Ü╨ò╨Ö ╨ñ╨É╨á (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/SkkbA68r/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Ahtopol-02r',
+    external_url: 'http://free-webcambg.com/Ahtopol-02-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-balchik-03',
+    lat: 43.578,
+    lng: 28.293,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨æ╨É╨¢╨º╨ÿ╨Ü ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨₧╨æ╨⌐╨ÿ╨¥╨É ╨ª╨ò╨¥╨ó╨¬╨á',
+    city: 'Balchik',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Balchik-03',
+    external_url: 'http://free-webcambg.com/Balchik-03-webcam-live-online-camera-street-center-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-balchik-04',
+    lat: 43.579,
+    lng: 28.293,
+    name: 'KAMEPA ╨æ╨É╨¢╨º╨ÿ╨Ü ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ô╨₧╨¢╨ñ ╨ÿ╨ô╨á╨ÿ╨⌐╨ò',
+    city: 'Balchik',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Balchik-04',
+    external_url: 'http://free-webcambg.com/Balchik-04-webcam-live-online-camera-port-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-elenite-01-sveti-vlas-fort',
+    lat: 42.773,
+    lng: 27.872,
+    name: 'KAMEP╨ÿ \'╨ò╨¢╨ò╨¥╨ÿ╨ó╨ò\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û ╨ÿ ╨Ü╨₧╨£╨¢╨ò╨Ü╨í╨ÿ',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Elenite-01-1',
+    external_url: 'http://free-webcambg.com/Elenite-01-Sveti-Vlas-Fort-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-elenite-05',
+    lat: 42.749,
+    lng: 25.49,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É \'╨ò╨¢╨ò╨¥╨ÿ╨ó╨ò\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨ù╨₧╨á╨¥╨ÿ╨ª╨É ╨í╨ò╨¥╨ö╨í\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Elenite-05',
+    external_url: 'http://free-webcambg.com/Elenite-05-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-golden-sands-05',
+    lat: 42.766,
+    lng: 25.477,
+    name: '╨Ü╨É╨£╨ò╨á╨É ╨ù╨¢╨É╨ó╨¥╨ÿ ╨ƒ╨»╨í╨¬╨ª╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ú╨¢╨ÿ╨ª╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Golden-Sands-05',
+    external_url: 'http://free-webcambg.com/Golden-Sands-05-webcam-live-online-camera-plaj-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-golden-sands-06',
+    lat: 42.765,
+    lng: 25.477,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É \'╨ù╨¢╨É╨ó╨¥╨ÿ ╨ƒ╨»╨í╨¬╨ª╨ÿ\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ñ╨₧╨ó╨ò╨¢ \'╨æ╨ò╨¥╨ö╨ÿ╨ó╨É\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Golden-Sands-06',
+    external_url: 'http://free-webcambg.com/Golden-Sands-06-webcam-live-online-camera-hotel-Bendita-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-golden-sands-09-sentido',
+    lat: 42.707,
+    lng: 25.443,
+    name: '╨Ü╨É╨£╨ò╨á╨É \'╨ù╨¢╨É╨ó╨¥╨ÿ ╨ƒ╨»╨í╨¬╨ª╨ÿ\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨Ñ╨₧╨ó╨ò╨¢ \'SENTIDO\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Golden-Sands-09',
+    external_url: 'http://free-webcambg.com/Golden-Sands-09-Sentido-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-z8dzzdqn',
+    lat: 43.249,
+    lng: 27.882,
+    name: 'KAMEPA ╨Ü╨É╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û ╨ÿ╨Ü╨É╨¥╨ó╨¬╨¢╨¬╨Ü╨É (1)',
+    city: 'Varna',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/z8DzZDQN/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Kavarna-03',
+    external_url: 'http://free-webcambg.com/Kavarna-03-Balchik-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ka7fz2di',
+    lat: 43.18,
+    lng: 27.889,
+    name: 'KAMEPA ╨Ü╨É╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û ╨ÿ╨Ü╨É╨¥╨ó╨¬╨¢╨¬╨Ü╨É (2)',
+    city: 'Varna',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/Ka7FZ2Di/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Kavarna-03',
+    external_url: 'http://free-webcambg.com/Kavarna-03-Balchik-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-rusalka-02',
+    lat: 42.818,
+    lng: 27.854,
+    name: 'KAMEPA \'╨á╨ú╨í╨É╨¢╨Ü╨É\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û ╨ÿ ╨ù╨É╨¢╨ÿ╨Æ',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/rusalka',
+    external_url: 'http://free-webcambg.com/Rusalka-02-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kavarna-04',
+    lat: 43.221,
+    lng: 27.896,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ü╨É╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û ╨æ╨É╨á ╨æ╨É╨í╨ò╨Ö╨¥',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Kavarna-04',
+    external_url: 'http://free-webcambg.com/Kavarna-04-webcam-Balchik-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kiten-04',
+    lat: 42.779,
+    lng: 25.528,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ü╨ÿ╨ó╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨É╨Æ╨ó╨₧╨ô╨É╨á╨É ╨ú╨¢╨ÿ╨ª╨É \'╨í╨ó╨á╨É╨¥╨ö╨û╨É\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Kiten-04',
+    external_url: 'http://free-webcambg.com/Kiten-04-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kiten-05',
+    lat: 42.778,
+    lng: 25.528,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ü╨ÿ╨ó╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨ª╨ò╨¥╨É ╨ñ╨₧╨¥╨ó╨É╨¥ ╨ƒ╨É╨á╨Ü',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Kiten-05',
+    external_url: 'http://free-webcambg.com/Kiten-05-webcam-live-online-camera-fontan-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kiten-06-morska-gradina',
+    lat: 42.778,
+    lng: 25.535,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ü╨ÿ╨ó╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨£╨₧╨á╨í╨Ü╨É ╨ô╨á╨É╨ö╨ÿ╨¥╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Kiten-06',
+    external_url: 'http://free-webcambg.com/Kiten-06-Morska-gradina-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-varna-09',
+    lat: 43.222,
+    lng: 27.929,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ô╨á╨É╨¥╨ö ╨Ñ╨₧╨ó╨ò╨¢ ╨Æ╨É╨á╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Varna-09',
+    external_url: 'http://free-webcambg.com/Varna-09-webcam-live-online-camera-South-Bay-beach-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-lozenets-01',
+    lat: 42.739,
+    lng: 25.477,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¢╨₧╨ù╨ò╨¥╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ó╨¬╨á╨ô╨₧╨Æ╨í╨Ü╨É ╨ú╨¢╨ÿ╨ª╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Lozenets-01',
+    external_url: 'http://free-webcambg.com/Lozenets-01-webcam-live-online-street-Lozenec-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-knzr6nh4',
+    lat: 42.753,
+    lng: 27.866,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¢╨₧╨ù╨ò╨¥╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨ª╨ò╨¥╨ó╨á╨É╨¢╨ò╨¥\' ╨ƒ╨¢╨É╨û (1)',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/KnzR6Nh4/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Lozenets-03',
+    external_url: 'http://free-webcambg.com/Lozenets-03-webcam-live-online-plaj-centralen-Lozenec-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-93akaheb',
+    lat: 42.836,
+    lng: 27.879,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¢╨₧╨ù╨ò╨¥╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨ª╨ò╨¥╨ó╨á╨É╨¢╨ò╨¥\' ╨ƒ╨¢╨É╨û (2)',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/93AkaheB/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Lozenets-03',
+    external_url: 'http://free-webcambg.com/Lozenets-03-webcam-live-online-plaj-centralen-Lozenec-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nessebar-01',
+    lat: 42.635,
+    lng: 27.745,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¥╨ò╨í╨ò╨æ╨¬╨á ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨É╨á╨Ü╨É \'╨ù╨₧╨á╨¥╨ÿ╨ª╨É\'',
+    city: 'Nessebar',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Nessebar-01',
+    external_url: 'http://free-webcambg.com/Nessebar-01-webcam-live-online-camera-Nesebar-Zornitsa-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nessebar-02',
+    lat: 42.634,
+    lng: 27.745,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¥╨ò╨í╨ò╨æ╨¬╨á ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ù╨É╨¢╨ÿ╨Æ \'╨ù╨₧╨á╨¥╨ÿ╨ª╨É\'',
+    city: 'Nessebar',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Nesebar-02',
+    external_url: 'http://free-webcambg.com/Nessebar-02-webcam-live-online-camera-Nesebar-Zornitsa-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-strfbda4',
+    lat: 42.706,
+    lng: 27.78,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¥╨ò╨í╨ò╨æ╨¬╨á ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨í╨ó╨É╨á╨ÿ╨» ╨ô╨á╨É╨ö\' ╨£╨₧╨í╨ó',
+    city: 'Nessebar',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/strFbDA4/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Nesebar-04',
+    external_url: 'http://free-webcambg.com/Nessebar-04-webcam-live-online-camera-Nesebar-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nessebar-08-cherno-more',
+    lat: 42.638,
+    lng: 27.78,
+    name: 'KAMEPA ╨í╨ó╨É╨á ╨¥╨ò╨í╨ò╨æ╨¬╨á ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨₧╨á╨ó ╨£╨₧╨í╨ó',
+    city: 'Nessebar',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Nesebar-08z',
+    external_url: 'http://free-webcambg.com/Nessebar-08-Cherno-more-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zt37qfif',
+    lat: 42.784,
+    lng: 27.893,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨₧╨æ╨ù╨₧╨á ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û \'YOO\' ╨º╨ò╨á╨¥╨₧ ╨£╨₧╨á╨ò',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/zt37QFif/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Obzor-01',
+    external_url: 'http://free-webcambg.com/Obzor-01-webcam-live-online-camera-plaj-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ifz658ff',
+    lat: 42.76,
+    lng: 27.922,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨₧╨æ╨ù╨₧╨á ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨ª╨ò╨¥╨ó╨á╨É╨¢╨ò╨¥\' ╨ƒ╨¢╨É╨û (1)',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/ifz658Ff/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Obzor-02-1',
+    external_url: 'http://free-webcambg.com/Obzor-02-webcam-live-online-camera-plaj-complex-Moreto-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-girfr83s',
+    lat: 42.784,
+    lng: 27.859,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨₧╨æ╨ù╨₧╨á ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨ª╨ò╨¥╨ó╨á╨É╨¢╨ò╨¥\' ╨ƒ╨¢╨É╨û (2)',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/GiRfR83S/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Obzor-02-1',
+    external_url: 'http://free-webcambg.com/Obzor-02-webcam-live-online-camera-plaj-complex-Moreto-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pomorie-03',
+    lat: 42.698,
+    lng: 25.456,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨₧╨£╨₧╨á╨ÿ╨ò ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨₧╨£╨ƒ╨¢╨ò╨Ü╨í ╨¥╨É╨ó╨É╨¢╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pomorie-03',
+    external_url: 'http://free-webcambg.com/Pomorie-03-webcam-live-online-camera-Complex-Natali-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pomorie-05-street',
+    lat: 42.781,
+    lng: 27.931,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨₧╨£╨₧╨á╨ÿ╨ò ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ú╨¢╨ÿ╨ª╨ÿ ╨ÿ ╨ƒ╨¢╨É╨û',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pomorie-05-2',
+    external_url: 'http://free-webcambg.com/Pomorie-05-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-primorsko-02',
+    lat: 42.72,
+    lng: 25.455,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨á╨ÿ╨£╨₧╨á╨í╨Ü╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨á╨ò╨í╨ó╨ÿ╨û ╨í╨ÿ╨ó╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Primorsko-02',
+    external_url: 'http://free-webcambg.com/Primorsko-02-webcam-live-online-camera-hotel-plaj-more-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ravda-03-riviera-fort-beach',
+    lat: 42.742,
+    lng: 25.439,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨á╨É╨Æ╨ö╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨á╨ÿ╨Æ╨ÿ╨ò╨á╨É ╨ñ╨₧╨á╨ó ╨æ╨ÿ╨Ö╨º\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Ravda-03',
+    external_url: 'http://free-webcambg.com/Ravda-03-Riviera-Fort-Beach-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ravda-04-cascadas',
+    lat: 42.771,
+    lng: 27.91,
+    name: 'KAMEP╨ÿ ╨á╨É╨Æ╨ö╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û ╨º╨ò╨á╨¥╨₧ ╨£╨₧╨á╨ò',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Ravda-04',
+    external_url: 'http://free-webcambg.com/Ravda-04-Cascadas-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ravda-05-elegance',
+    lat: 42.767,
+    lng: 27.924,
+    name: '╨Ü╨É╨£╨ò╨á╨É ╨á╨É╨Æ╨ö╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û ╨Ñ╨₧╨ó╨ò╨¢ \'╨ò╨¢╨ò╨ô╨É╨¥╨í\'',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Ravda-05z',
+    external_url: 'http://free-webcambg.com/Ravda-05-Elegance-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sveti-vlas-02-port',
+    lat: 42.692,
+    lng: 25.487,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨Æ╨ò╨ó╨ÿ ╨Æ╨¢╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨₧╨á╨ó ╨»╨Ñ╨ó╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sveti-Vlas-02',
+    external_url: 'http://free-webcambg.com/Sveti-Vlas-02-port-webcam-live-online-camera-kameri-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sveti-vlas-08-casa-real',
+    lat: 42.778,
+    lng: 25.451,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨Æ╨ò╨ó╨ÿ ╨Æ╨¢╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨æ╨É╨í╨ò╨Ö╨¥ \'╨Ü╨É╨í╨É ╨á╨ò╨É╨¢\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sveti-Vlas-08',
+    external_url: 'http://free-webcambg.com/Sveti-Vlas-08-Casa-Real-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sveti-vlas-09-prestige-fort-beach',
+    lat: 42.818,
+    lng: 27.943,
+    name: 'KAMEPA ╨í╨Æ╨ò╨ó╨ÿ ╨Æ╨¢╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨º╨ò╨á╨¥╨₧ ╨£╨₧╨á╨ò',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sveti-Vlas-09',
+    external_url: 'http://free-webcambg.com/Sveti-Vlas-09-Prestige-Fort-Beach-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sunny-beach-03',
+    lat: 42.71,
+    lng: 25.525,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É \'╨í╨¢╨¬╨¥╨º╨ò╨Æ ╨æ╨á╨»╨ô\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ñ-╨¢ \'╨Æ╨ÿ╨Ü╨ó╨₧╨á╨ÿ╨»\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sunny-Beach-03',
+    external_url: 'http://free-webcambg.com/Sunny-Beach-03-webcam-live-online-camera-Victoria-plaj-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sunny-beach-04',
+    lat: 42.709,
+    lng: 25.525,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É \'╨í╨¢╨¬╨¥╨º╨ò╨Æ ╨æ╨á╨»╨ô\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ñ-╨¢ \'SUNNY VIEW NORTH\' ≡ƒ¢Ç',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sunny-Beach-04-1',
+    external_url: 'http://free-webcambg.com/Sunny-Beach-04-webcam-live-online-camera-Luxor-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-eh8zaqby',
+    lat: 42.745,
+    lng: 25.523,
+    name: 'KAMEPA ╨í╨¢╨¬╨¥╨º╨ò╨Æ ╨æ╨á╨»╨ô ╨Æ╨á╨ò╨£╨ò╨ó╨₧ GOLDEN INA',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/Eh8ZAQby/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sunny-Bcaeh-06',
+    external_url: 'http://free-webcambg.com/Sunny-Beach-06-webcam-live-online-camera-Sveti-Vlas-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sunny-beach-09',
+    lat: 42.771,
+    lng: 27.939,
+    name: 'KAMEPA ╨í╨¢╨¬╨¥╨º╨ò╨Æ ╨æ╨á╨»╨ô ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û ╨£╨₧╨í╨ó',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sunny-Beach-09',
+    external_url: 'http://free-webcambg.com/Sunny-Beach-09-webcam-live-online-camera-Kuban-plaj-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sunny-beach-13-nesebar',
+    lat: 42.73,
+    lng: 25.517,
+    name: '╨Ü╨É╨£╨ò╨á╨É \'╨í╨¢╨¬╨¥╨º╨ò╨Æ ╨æ╨á╨»╨ô\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨æ╨É╨í╨ò╨Ö╨¥',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sunny-beach-13',
+    external_url: 'http://free-webcambg.com/Sunny-Beach-13-Nesebar-webcam-live-online-camera-kameri-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sunny-beach-14-messembria-nessebar',
+    lat: 42.64,
+    lng: 27.727,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É \'╨í╨¢╨¬╨¥╨º╨ò╨Æ ╨æ╨á╨»╨ô\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨£╨ò╨í╨ò╨£╨æ╨á╨ÿ╨» ╨ƒ╨É╨¢╨É╨í\'',
+    city: 'Nessebar',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sunny-Beach-14',
+    external_url: 'http://free-webcambg.com/Sunny-Beach-14-Messembria-Nessebar-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sunny-beach-15',
+    lat: 42.777,
+    lng: 25.524,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É \'╨í╨¢╨¬╨¥╨º╨ò╨Æ ╨æ╨á╨»╨ô\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ù╨₧╨¥╨É \'╨ù╨É╨ƒ╨É╨ö\', ╨É╨Ü╨Æ╨É╨ƒ╨É╨á╨Ü ≡ƒ¢Ç',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sunny-Beach-15',
+    external_url: 'http://free-webcambg.com/Sunny-Beach-15-webcam-Aqualand-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sunny-beach-16',
+    lat: 42.843,
+    lng: 27.938,
+    name: 'KAMEPA \'╨í╨¢╨¬╨¥╨º╨ò╨Æ ╨æ╨á╨»╨ô\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û \'╨º╨É╨Ö╨Ü╨É\'',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sunny-Beach-16',
+    external_url: 'http://free-webcambg.com/Sunny-Beach-16-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-8id4ns75',
+    lat: 42.772,
+    lng: 27.896,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨ÿ╨¥╨ò╨£╨₧╨á╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û \'╨Æ╨ò╨¢╨ò╨Ü╨É\' (1)',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/8iD4NS75/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Sinemorec-02-webcam-plaj-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-iira96zb',
+    lat: 42.84,
+    lng: 27.879,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨ÿ╨¥╨ò╨£╨₧╨á╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û \'╨Æ╨ò╨¢╨ò╨Ü╨É\' (2)',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/iiRa96zB/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Sinemorec-02-webcam-plaj-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-t4fgz7yb',
+    lat: 42.783,
+    lng: 27.903,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨ÿ╨¥╨ò╨£╨₧╨á╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û \'╨Æ╨ò╨¢╨ò╨Ü╨É\' (3)',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/t4fGZ7yB/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Sinemorec-02-webcam-plaj-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-eupz4mnt',
+    lat: 42.452,
+    lng: 27.686,
+    name: 'KAMEPA ╨í╨₧╨ù╨₧╨ƒ╨₧╨¢ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ù╨É╨¢╨ÿ╨Æ ╨º╨ò╨á╨¥╨₧ ╨£╨₧╨á╨ò',
+    city: 'Sozopol',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/EUPz4MnT/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sozopol-01',
+    external_url: 'http://free-webcambg.com/Sozopol-01-webcam-live-online-camera-plaj-more-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-syhhg2sf',
+    lat: 42.417,
+    lng: 27.721,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ù╨₧╨ƒ╨₧╨¢ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨í \'╨í╨É╨¥╨ó╨É ╨£╨É╨á╨ÿ╨¥╨É\' (1)',
+    city: 'Sozopol',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/syhhG2sf/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sozopol-02',
+    external_url: 'http://free-webcambg.com/Sozopol-02-webcam-live-online-camera-Saint-Marina-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-qidfrsne',
+    lat: 42.435,
+    lng: 27.708,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ù╨₧╨ƒ╨₧╨¢ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨í \'╨í╨É╨¥╨ó╨É ╨£╨É╨á╨ÿ╨¥╨É\' (2)',
+    city: 'Sozopol',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/QiDFrSne/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sozopol-02',
+    external_url: 'http://free-webcambg.com/Sozopol-02-webcam-live-online-camera-Saint-Marina-kameri-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sozopol-03',
+    lat: 42.461,
+    lng: 27.677,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ù╨₧╨ƒ╨₧╨¢ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨¬╨£╨ƒ╨ÿ╨¥╨ô \'╨í╨£╨₧╨Ü╨ÿ╨¥╨»\', ╨º╨ò╨á╨¥╨₧ ╨£╨₧╨á╨ò',
+    city: 'Sozopol',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sozopol-03',
+    external_url: 'http://free-webcambg.com/Sozopol-03-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-yni8rqta',
+    lat: 42.449,
+    lng: 27.72,
+    name: 'KAMEPA ╨í╨₧╨ù╨₧╨ƒ╨₧╨¢ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨¬╨£╨ƒ╨ÿ╨¥╨ô \'╨Ü╨É╨Æ╨É╨ª╨ÿ\'',
+    city: 'Sozopol',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/yNi8rQta/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sozopol-04r',
+    external_url: 'http://free-webcambg.com/Sozopol-04-webcam-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-chernomorec-02',
+    lat: 42.828,
+    lng: 27.926,
+    name: 'KAMEPA ╨º╨ò╨á╨¥╨₧╨£╨₧╨á╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á, ╨æ╨É╨í╨ò╨Ö╨¥',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Chernomorec-02',
+    external_url: 'http://free-webcambg.com/Chernomorec-02-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-abeqbky7',
+    lat: 42.777,
+    lng: 25.488,
+    name: 'KAMEPA ╨ª╨É╨á╨ò╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ LIVE',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/ABeQBKy7/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Tsarevo-01-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-tsarevo-03',
+    lat: 42.778,
+    lng: 27.939,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ª╨É╨á╨ò╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨₧╨á╨ó ╨»╨Ñ╨ó╨ÿ ╨º╨ò╨á╨¥╨₧ ╨£╨₧╨á╨ò',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Carevo-03',
+    external_url: 'http://free-webcambg.com/Tsarevo-03-webcam-live-online-camera-port-Carevo-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-shabla-02',
+    lat: 42.745,
+    lng: 25.455,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¿╨É╨æ╨¢╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨¿╨É╨æ╨¢╨ò╨¥╨í╨Ü╨ÿ ╨ñ╨É╨á',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/shabl',
+    external_url: 'http://free-webcambg.com/Shabla-02-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zktrky3s',
+    lat: 42.757,
+    lng: 27.939,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ó╨«╨¢╨ò╨¥╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û ╨º╨ò╨á╨¥╨₧ ╨£╨₧╨á╨ò',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/ZKTrKy3S/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/tylen',
+    external_url: 'http://free-webcambg.com/Tyulenovo-02-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-krapec-02',
+    lat: 42.819,
+    lng: 27.94,
+    name: 'KAMEPA ╨Ü╨á╨É╨ƒ╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Krapec-02',
+    external_url: 'http://free-webcambg.com/Krapec-02-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-shkorpilovci-02',
+    lat: 42.768,
+    lng: 27.94,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¿╨Ü╨₧╨á╨ƒ╨ÿ╨¢╨₧╨Æ╨ª╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û ╨£╨₧╨á╨ò',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Shkorpilovci-02',
+    external_url: 'http://free-webcambg.com/Shkorpilovci-02-webcam-live-online-camera-plaj-more-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ardino-01',
+    lat: 42.768,
+    lng: 25.469,
+    name: 'KAMEP╨ÿ ╨É╨á╨ö╨ÿ╨¥╨₧ ╨ÿ ╨ö╨»╨Æ╨₧╨¢╨í╨Ü╨ÿ ╨£╨₧╨í╨ó',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Ardino-01',
+    external_url: 'http://free-webcambg.com/Ardino-01-webcams-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-24rzssie',
+    lat: 42.739,
+    lng: 25.491,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨É╨í╨ò╨¥╨₧╨Æ╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ô╨¢╨É╨Æ╨¥╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/24rzsSiE/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Asenovgrad-03-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-asenovgrad-04',
+    lat: 42.748,
+    lng: 25.471,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨É╨í╨ò╨¥╨₧╨Æ╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨æ╨É╨ö╨ò╨¢╨ò╨£╨É\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Asenovgrad-04',
+    external_url: 'http://free-webcambg.com/Asenovgrad-04-webcam-live-online-camera-vila-Gorski-Kyt-Forest-Nook-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-h7rbs9ty',
+    lat: 42.683,
+    lng: 25.466,
+    name: 'KAMEPA ╨É╨í╨ò╨¥╨₧╨Æ╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨£╨ò╨ó╨₧╨Ñ╨É\' (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/h7rBs9TY/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Asenovgrad-05r',
+    external_url: 'http://free-webcambg.com/Asenovgrad-05-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-y4bdhdzq',
+    lat: 42.685,
+    lng: 25.459,
+    name: 'KAMEPA ╨É╨í╨ò╨¥╨₧╨Æ╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨£╨ò╨ó╨₧╨Ñ╨É\' (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/Y4bDHdzQ/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Asenovgrad-05r',
+    external_url: 'http://free-webcambg.com/Asenovgrad-05-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-berkovica-01-center-berkovitsa',
+    lat: 42.774,
+    lng: 25.453,
+    name: 'KAMEPA ╨æ╨ò╨á╨Ü╨₧╨Æ╨ÿ╨ª╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á LIVE',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Berkovica-01',
+    external_url: 'http://free-webcambg.com/Berkovica-01-center-Berkovitsa-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-blagoevgrad-01',
+    lat: 42.006,
+    lng: 23.054,
+    name: 'KAMEPA ╨æ╨¢╨É╨ô╨₧╨ò╨Æ╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ US ╨ú╨¥╨ÿ╨Æ╨ò╨á╨í╨ÿ╨ó╨ò╨ó',
+    city: 'Blagoevgrad',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Gradblagoev-01',
+    external_url: 'http://free-webcambg.com/Blagoevgrad-01-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-blagoevgrad-04',
+    lat: 42.009,
+    lng: 23.054,
+    name: 'KAMEPA ╨æ╨¢╨É╨ô╨₧╨ò╨Æ╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Blagoevgrad',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Gradblagoev-04',
+    external_url: 'http://free-webcambg.com/Blagoevgrad-04-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-blagoevgrad-06',
+    lat: 42.011,
+    lng: 23.054,
+    name: 'KAMEPA ╨æ╨¢╨É╨ô╨₧╨ò╨Æ╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨ƒ╨₧╨á╨ó╨¥╨ÿ ╨ÿ╨ô╨á╨ÿ╨⌐╨É ╨É╨ú',
+    city: 'Blagoevgrad',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Blagoevgrad-06',
+    external_url: 'http://free-webcambg.com/Blagoevgrad-06-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-fryzfefs',
+    lat: 42.758,
+    lng: 25.499,
+    name: 'KAMEPA ╨æ╨á╨É╨ª╨ÿ╨ô╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨₧╨ö╨₧╨ƒ╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/frYZFEfs/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Bracigovo-02r',
+    external_url: 'http://free-webcambg.com/Bracigovo-02-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-853ha97a',
+    lat: 42.745,
+    lng: 25.476,
+    name: 'KAMEPA ╨Æ. ╨ó╨¬╨á╨¥╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨É╨í╨ò╨¥╨ò╨Æ╨ª╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/853Ha97a/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Veliko-Tarnovo-03',
+    external_url: 'http://free-webcambg.com/Veliko-Tarnovo-03-webcam-live-online-camera-city-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-veliko-tarnovo-07-street-city',
+    lat: 42.731,
+    lng: 25.531,
+    name: 'KAMEPA ╨Æ. ╨ó╨¬╨á╨¥╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ó╨á╨ÿ╨¬╨ô╨¬╨¢╨¥╨ÿ╨Ü╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Veliko-Tarnovo-07',
+    external_url: 'http://free-webcambg.com/Veliko-Tarnovo-07-street-city-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-tsrtaqbt',
+    lat: 42.018,
+    lng: 24.032,
+    name: 'KAMEPA ╨Æ╨ò╨¢╨ÿ╨¥╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ñ╨₧╨¥╨ó╨É╨¥',
+    city: 'Velingrad',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/tsrTaQbT/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Velingrad-01',
+    external_url: 'http://free-webcambg.com/Velingrad-01-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-velingrad-03',
+    lat: 41.987,
+    lng: 24.023,
+    name: 'KAMEPA ╨Æ╨ò╨¢╨ÿ╨¥╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ú╨¢╨ÿ╨ª╨ÿ ╨ö╨₧ ╨ƒ╨É╨ù╨É╨á╨É',
+    city: 'Velingrad',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Velingrad-03',
+    external_url: 'http://free-webcambg.com/Velingrad-03-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-9ybhe2kd',
+    lat: 42.063,
+    lng: 24.035,
+    name: 'KAMEPA ╨Æ╨ò╨¢╨ÿ╨¥╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ñ╨₧╨¥╨ó╨É╨¥',
+    city: 'Velingrad',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/9yBHE2Kd/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Velingrad-04-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-5eezf83y',
+    lat: 42.704,
+    lng: 25.488,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨ÿ╨ö╨ÿ╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢. \'╨æ╨ö╨ÿ╨¥╨ª╨ÿ\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/5Eezf83y/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Vidin-01',
+    external_url: 'http://free-webcambg.com/Vidin-01-webcam-live-online-camera-center-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-vidin-05',
+    lat: 42.709,
+    lng: 25.507,
+    name: 'KAMEPA ╨Æ╨ÿ╨ö╨ÿ╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ö╨Ü╨ª ╨ö╨₧ ╨ƒ╨¢. \'╨ó╨É╨¿╨Ü╨«╨ƒ╨á╨ÿ╨»\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Vidin-05',
+    external_url: 'http://free-webcambg.com/Vidin-05-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-vratsa-05',
+    lat: 43.181,
+    lng: 23.557,
+    name: 'KAMEPA ╨Æ╨á╨É╨ª╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á',
+    city: 'Vratsa',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Vraca-05-c2s',
+    external_url: 'http://free-webcambg.com/Vratsa-05-webcam-live-online-camera-Vraca-shop-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-vratsa-06',
+    lat: 43.18,
+    lng: 23.557,
+    name: 'KAMEPA ╨Æ╨á╨É╨ª╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨á. ╨₧╨Ü╨₧╨¢╨º╨ÿ╨ª╨É (╨Æ╨₧╨¢╨É)',
+    city: 'Vratsa',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Vraca-06',
+    external_url: 'http://free-webcambg.com/Vratsa-06-webcam-live-online-camera-kameri-vraca-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-varshec-02',
+    lat: 42.774,
+    lng: 25.458,
+    name: 'KAMEPA ╨Æ╨¬╨á╨¿╨ò╨ª ╨ª╨ò╨¥╨ó╨¬╨á ╨ñ╨₧╨¥╨ó╨É╨¥ Γ¢▓ LIVE',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Varshec-02',
+    external_url: 'http://free-webcambg.com/Varshec-02-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-gabrovo-01',
+    lat: 42.83,
+    lng: 25.279,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ô╨É╨æ╨á╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. ╨û╨Ü \'╨£╨¢╨É╨ö╨₧╨í╨ó\'',
+    city: 'Gabrovo',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Gabrovo-01',
+    external_url: 'http://free-webcambg.com/Gabrovo-01-webcam-live-online-camera-mladost-tenta-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-si3tg78s',
+    lat: 42.9,
+    lng: 25.35,
+    name: 'KAMEPA ╨ô╨É╨æ╨á╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢. \'╨Æ╨¬╨ù╨á╨É╨û╨ö╨É╨¥╨ò\' (1)',
+    city: 'Gabrovo',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/Si3tG78s/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Gabrovo-03',
+    external_url: 'http://free-webcambg.com/Gabrovo-03-Vazrajdane-ploshtad-Vazrazhdane-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-f7refiz3',
+    lat: 42.874,
+    lng: 25.3,
+    name: 'KAMEPA ╨ô╨É╨æ╨á╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢. \'╨Æ╨¬╨ù╨á╨É╨û╨ö╨É╨¥╨ò\' (2)',
+    city: 'Gabrovo',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/F7rEFiZ3/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Gabrovo-03',
+    external_url: 'http://free-webcambg.com/Gabrovo-03-Vazrajdane-ploshtad-Vazrazhdane-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-gabrovo-06',
+    lat: 42.835,
+    lng: 25.279,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ò╨£╨₧ \'╨ò╨ó╨¬╨á\' (\'╨ò╨ó╨¬╨á╨É\') ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨£╨ú╨ù╨ò╨Ö ╨ô╨É╨æ╨á╨₧╨Æ╨₧',
+    city: 'Gabrovo',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Gabrovo-06',
+    external_url: 'http://free-webcambg.com/Gabrovo-06-webcam-live-online-camera-Etar-Complex-museum-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-glodjevo-01',
+    lat: 42.781,
+    lng: 25.439,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨ÿ ╨ô╨¢╨₧╨ö╨û╨ò╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Glodjevo-01-2',
+    external_url: 'http://free-webcambg.com/Glodjevo-01-webcam-live-online-camera-center-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-tkt7qskh',
+    lat: 42.728,
+    lng: 25.451,
+    name: 'KAMEPA ╨ô╨¬╨¢╨¬╨æ╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨ÿ╨¢╨¥╨É ╨ù╨₧╨¥╨É (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/TkT7QSKh/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Galabovo-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-q9e4kyni',
+    lat: 42.745,
+    lng: 25.533,
+    name: 'KAMEPA ╨ô╨¬╨¢╨¬╨æ╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨ÿ╨¢╨¥╨É ╨ù╨₧╨¥╨É (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/Q9E4KYni/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Galabovo-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-gorna-oryahovica-01',
+    lat: 42.684,
+    lng: 25.535,
+    name: 'KAMEPA ╨ô╨₧╨á╨¥╨É ╨₧╨á╨»╨Ñ╨₧╨Æ╨ÿ╨ª╨É ╨ª╨ò╨¥╨ó╨¬╨á',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Gorna-Oryahovica-01yv',
+    external_url: 'http://free-webcambg.com/Gorna-Oryahovica-01-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-devin-01',
+    lat: 41.791,
+    lng: 24.397,
+    name: '╨Ü╨É╨£╨ò╨á╨É ╨ö╨ò╨Æ╨ÿ╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨É╨¥╨₧╨á╨É╨£╨É ╨ª╨ò╨¥╨ó╨¬╨á ╨á╨₧╨ö╨₧╨ƒ╨ÿ',
+    city: 'Devin',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Devin-01',
+    external_url: 'http://free-webcambg.com/Devin-01-webcam-live-online-camera-Rodopi-meteo-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-dobrich-03-street',
+    lat: 43.615,
+    lng: 27.863,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ö╨₧╨æ╨á╨ÿ╨º ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü \'╨æ╨É╨¢╨ÿ╨Ü\' ╨æ╨¢. 6',
+    city: 'Dobrich',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Dobrich-03',
+    external_url: 'http://free-webcambg.com/Dobrich-03-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ybhb9nba',
+    lat: 42.778,
+    lng: 25.483,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ò╨¢╨Ñ╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/yBhb9nbA/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Elhovo-02',
+    external_url: 'http://free-webcambg.com/Elhovo-02-webcam-live-online-camera-center-central-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zlatograd-01-eak-eac',
+    lat: 42.711,
+    lng: 25.469,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ù╨¢╨É╨ó╨₧╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ò╨É╨Ü, ╨á╨₧╨ö╨₧╨ƒ╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Zlatograd-01',
+    external_url: 'http://free-webcambg.com/Zlatograd-01-EAK-EAC-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kazanlak-01',
+    lat: 42.594,
+    lng: 25.422,
+    name: '╨Ü╨É╨£╨ò╨á╨É ╨Ü╨É╨ù╨É╨¥╨¢╨¬╨Ü ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ú╨¢. \'╨ÿ╨í╨Ü╨á╨É\'',
+    city: 'Kazanlak',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Kazanlak-01',
+    external_url: 'http://free-webcambg.com/Kazanlak-01-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kazanlak-02',
+    lat: 42.593,
+    lng: 25.422,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ü╨É╨ù╨É╨¥╨¢╨¬╨Ü ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Kazanlak',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Kazanlak-02',
+    external_url: 'http://free-webcambg.com/Kazanlak-02-webcam-live-online-camera-center-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kazanlak-03',
+    lat: 42.592,
+    lng: 25.422,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ü╨É╨ù╨É╨¥╨¢╨¬╨Ü ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ú╨¢. \'╨í╨Ü╨₧╨æ╨ò╨¢╨ò╨Æ╨í╨Ü╨É\'',
+    city: 'Kazanlak',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Kazanlak-03',
+    external_url: 'http://free-webcambg.com/Kazanlak-03-webcam-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-karlovo-01',
+    lat: 42.763,
+    lng: 25.473,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ü╨É╨á╨¢╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Karlovo-01',
+    external_url: 'http://free-webcambg.com/Karlovo-01-webcam-live-online-camera-center-tv-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-y9s5shb9',
+    lat: 42.719,
+    lng: 25.478,
+    name: 'KAMEPA ╨Ü╨₧╨ù╨¢╨₧╨ö╨ú╨Ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü 2╨É (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/y9S5Shb9/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Kozloduy-03',
+    external_url: 'http://free-webcambg.com/Kozloduy-03-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-fd3nt4ks',
+    lat: 42.73,
+    lng: 25.476,
+    name: 'KAMEPA ╨Ü╨₧╨ù╨¢╨₧╨ö╨ú╨Ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü 2╨É (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/fD3nT4ks/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Kozloduy-03',
+    external_url: 'http://free-webcambg.com/Kozloduy-03-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-koprivshtitsa-01',
+    lat: 42.744,
+    lng: 25.447,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ü╨₧╨ƒ╨á╨ÿ╨Æ╨⌐╨ÿ╨ª╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Koprivshtitsa-01',
+    external_url: 'http://free-webcambg.com/Koprivshtitsa-01-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kotel-02',
+    lat: 42.773,
+    lng: 25.476,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ü╨₧╨ó╨ò╨¢ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨ô╨¬╨á╨¥╨ò╨Æ╨ò╨ª\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Kotel-02',
+    external_url: 'http://free-webcambg.com/Kotel-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kyustendil-02-street-kustendil',
+    lat: 42.77,
+    lng: 25.517,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ü╨«╨í╨ó╨ò╨¥╨ö╨ÿ╨¢ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ú╨¢╨ÿ╨ª╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Kyustendil-02',
+    external_url: 'http://free-webcambg.com/Kyustendil-02-street-Kustendil-webcam-Osogovo-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-lovech-02',
+    lat: 43.121,
+    lng: 24.766,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¢╨₧╨Æ╨ò╨º ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ô╨¢╨É╨Æ╨¥╨É ╨₧╨æ╨⌐╨ÿ╨¥╨É',
+    city: 'Lovech',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Lovech-02',
+    external_url: 'http://free-webcambg.com/Lovech-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-lovech-08',
+    lat: 43.115,
+    lng: 24.766,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¢╨₧╨Æ╨ò╨º ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü \'╨º╨ò╨á╨Æ╨ò╨¥ ╨æ╨á╨»╨ô\'',
+    city: 'Lovech',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Lovech-08',
+    external_url: 'http://free-webcambg.com/Lovech-08-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-yfyf796s',
+    lat: 42.76,
+    lng: 25.531,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨£╨ò╨¢╨¥╨ÿ╨Ü ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨Ü╨É╨¢╨¥╨ÿ ╨ƒ╨ÿ╨á╨É╨£╨ÿ╨ö╨ÿ (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/Yfyf796s/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Melnik-03r',
+    external_url: 'http://free-webcambg.com/Melnik-03-piramidi-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-337nbfik',
+    lat: 42.698,
+    lng: 25.447,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨£╨ò╨¢╨¥╨ÿ╨Ü ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨Ü╨É╨¢╨¥╨ÿ ╨ƒ╨ÿ╨á╨É╨£╨ÿ╨ö╨ÿ (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/337NbFiK/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Melnik-03r',
+    external_url: 'http://free-webcambg.com/Melnik-03-piramidi-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zq3neegn',
+    lat: 42.744,
+    lng: 25.451,
+    name: 'KAMEPA ╨£╨₧╨£╨º╨ÿ╨¢╨ô╨á╨É╨ö ╨ª╨ò╨¥╨ó╨¬╨á Γ¢▓ LIVE',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/zQ3neeGn/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Momchilgrad-01-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-montana-02-street',
+    lat: 43.369,
+    lng: 23.181,
+    name: 'KAMEPA ╨£╨₧╨¥╨ó╨É╨¥╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ╨É╨á╨ó╨É╨¢ ╨ƒ╨É╨á╨Ü',
+    city: 'Montana',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Montana-02',
+    external_url: 'http://free-webcambg.com/Montana-02-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-ogosta-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nedelino-01',
+    lat: 42.721,
+    lng: 25.456,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¥╨ò╨ö╨ò╨¢╨ÿ╨¥╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Nedelino-01',
+    external_url: 'http://free-webcambg.com/Nedelino-01-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-yahnffsg',
+    lat: 42.695,
+    lng: 25.481,
+    name: '╨Ü╨É╨£╨ò╨á╨É ╨¥╨₧╨Æ╨É ╨ù╨É╨ô╨₧╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ú╨¢╨ÿ╨ª╨ÿ ╨ó╨á╨É╨ñ╨ÿ╨Ü (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/yaHnFfSG/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Nova-Zagora-01r',
+    external_url: 'http://free-webcambg.com/Nova-Zagora-01-webcam-live-online-camera-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-7isrenyd',
+    lat: 42.758,
+    lng: 25.506,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¥╨₧╨Æ╨É ╨ù╨É╨ô╨₧╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ú╨¢╨ÿ╨ª╨É ╨û╨ƒ ╨ô╨É╨á╨É (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/7iSReNYD/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Nova-Zagora-03-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-fdeyhttq',
+    lat: 42.7,
+    lng: 25.482,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¥╨₧╨Æ╨É ╨ù╨É╨ô╨₧╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ú╨¢╨ÿ╨ª╨É ╨û╨ƒ ╨ô╨É╨á╨É (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/FdeyhTTQ/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Nova-Zagora-03-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-aatytftr',
+    lat: 42.688,
+    lng: 25.458,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¥╨₧╨Æ╨ÿ ╨ÿ╨í╨Ü╨¬╨á ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨Ü╨ú╨£╨É╨á╨ÿ╨ª╨É\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/AaTyTFTR/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Novi-Iskar-03-webcam-live-online-camera-Kumarica-Kumaritsa-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pavel-banya-01',
+    lat: 42.701,
+    lng: 25.469,
+    name: '╨ƒ╨É╨Æ╨ò╨¢ ╨æ╨É╨¥╨» ╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ñ╨₧╨¥╨ó╨É╨¥',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pavel-banya-01',
+    external_url: 'http://free-webcambg.com/Pavel-Banya-01-webcam-live-online-camera-center-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-thge23ys',
+    lat: 42.764,
+    lng: 25.437,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨É╨Æ╨¢╨ÿ╨Ü╨ò╨¥╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ú╨¢╨ÿ╨ª╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/tHGE23yS/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Pavlikeni-01',
+    external_url: 'http://free-webcambg.com/Pavlikeni-01-webcam-live-online-camera-center-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pavlikeni-02-centar-park',
+    lat: 42.754,
+    lng: 25.472,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨É╨Æ╨¢╨ÿ╨Ü╨ò╨¥╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨É╨á╨Ü',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pavlikeni-02',
+    external_url: 'http://free-webcambg.com/Pavlikeni-02-centar-park-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pazardjik-02-street',
+    lat: 42.7,
+    lng: 25.457,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨É╨ù╨É╨á╨ö╨û╨ÿ╨Ü ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ú╨¢╨ÿ╨ª╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pazardjik-02',
+    external_url: 'http://free-webcambg.com/Pazardjik-02-street-webcam-Pazardzhik-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pazardjik-04-street',
+    lat: 42.774,
+    lng: 25.49,
+    name: '╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨É╨ù╨É╨á╨ö╨û╨ÿ╨Ü ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ú╨¢╨ÿ╨ª╨É ╨ö╨₧ ╨Ü╨É╨ó',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pazardjik-04',
+    external_url: 'http://free-webcambg.com/Pazardjik-04-street-webcam-Pazardzhik-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-8nfr9ytq',
+    lat: 42.698,
+    lng: 25.517,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨ò╨ƒ╨ó╨ò╨£╨Æ╨á╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á, ╨ƒ╨É╨á╨Ü╨ÿ╨¥╨ô',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/8NfR9YtQ/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Septemvri-02r',
+    external_url: 'http://free-webcambg.com/Septemvri-02-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pernik-03-street',
+    lat: 42.584,
+    lng: 23.048,
+    name: 'KAMEPA ╨ƒ╨ò╨á╨¥╨ÿ╨Ü ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨ó╨ò╨Æ╨É\', ╨ó╨ò╨ª',
+    city: 'Pernik',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pernik-03',
+    external_url: 'http://free-webcambg.com/Pernik-03-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-pernik-05',
+    lat: 42.628,
+    lng: 23.069,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨ò╨á╨¥╨ÿ╨Ü ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨ÿ╨¢╨¥╨É ╨ù╨₧╨¥╨É',
+    city: 'Pernik',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Pernik-05',
+    external_url: 'http://free-webcambg.com/Pernik-05-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-breznik-02',
+    lat: 42.693,
+    lng: 25.518,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨æ╨á╨ò╨ù╨¥╨ÿ╨Ü ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨º╨ÿ╨ó╨É╨¢╨ÿ╨⌐╨ò',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Breznik-02r',
+    external_url: 'http://free-webcambg.com/Breznik-02-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-s4ry4dki',
+    lat: 42.747,
+    lng: 25.479,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨ò╨⌐╨ò╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨Ü╨É╨ñ╨ò ╨ú╨¢╨ÿ╨ª╨É (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/S4rY4DKi/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Peshtera-02rc',
+    external_url: 'http://free-webcambg.com/Peshtera-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-9kz6s2h4',
+    lat: 42.732,
+    lng: 25.514,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨ò╨⌐╨ò╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨Ü╨É╨ñ╨ò ╨ú╨¢╨ÿ╨ª╨É (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/9KZ6S2H4/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Peshtera-02rc',
+    external_url: 'http://free-webcambg.com/Peshtera-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-e5ds65th',
+    lat: 43.533,
+    lng: 26.512,
+    name: 'KAMEPA ╨á╨É╨ù╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü \'╨û╨ÿ╨ó╨¥╨ÿ╨ª╨É\'',
+    city: 'Razgrad',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/e5DS65TH/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Razgrad-06-3',
+    external_url: 'http://free-webcambg.com/Razgrad-02-webcam-live-online-camera-street-traffic-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-razgrad-03',
+    lat: 43.518,
+    lng: 26.521,
+    name: 'KAMEPA ╨á╨É╨ù╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨û╨Ü ╨Ü╨Æ. \'╨₧╨æ╨₧╨á╨ÿ╨⌐╨ò\'',
+    city: 'Razgrad',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Razgrad-06-3',
+    external_url: 'http://free-webcambg.com/Razgrad-03-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-razgrad-06-vilna-zona',
+    lat: 43.531,
+    lng: 26.485,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨á╨É╨ù╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ö╨Æ╨₧╨á ╨ú╨¢╨ÿ╨ª╨É ╨ƒ╨É╨á╨Ü',
+    city: 'Razgrad',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Razgrad-06-1',
+    external_url: 'http://free-webcambg.com/Razgrad-06-vilna-zona-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-razlog-02',
+    lat: 42.771,
+    lng: 25.524,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨á╨É╨ù╨¢╨₧╨ô ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Razlog-02',
+    external_url: 'http://free-webcambg.com/Razlog-02-webcam-live-online-camera-center-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-razlog-03',
+    lat: 42.77,
+    lng: 25.524,
+    name: '╨Ü╨É╨£╨ò╨á╨É ╨á╨É╨ù╨¢╨₧╨ô ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨í╨ƒ╨É ╨Ñ-╨¢ \'╨æ╨É╨¢╨Ü╨É╨¥╨í╨Ü╨₧ ╨æ╨ÿ╨û╨ú\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Razlog-03',
+    external_url: 'http://free-webcambg.com/Razlog-03-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nn328n73',
+    lat: 42.782,
+    lng: 25.459,
+    name: 'KAMEPA ╨á╨É╨Ü╨ÿ╨ó╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/NN328n73/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/rakitak',
+    external_url: 'http://free-webcambg.com/Rakitovo-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-samokov-03',
+    lat: 42.771,
+    lng: 25.505,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨É╨£╨₧╨Ü╨₧╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. ╨û╨Ü \'╨í╨É╨£╨₧╨Ü╨₧╨Æ╨₧\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Samokov-03',
+    external_url: 'http://free-webcambg.com/Samokov-03-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nyahq8qs',
+    lat: 41.58,
+    lng: 23.328,
+    name: 'KAMEP╨ÿ ╨í╨É╨¥╨ö╨É╨¥╨í╨Ü╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨ÿ╨á╨ÿ╨¥ ╨ÿ ╨æ╨ò╨¢╨É╨í╨ÿ╨ª╨É (1)',
+    city: 'Sandanski',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/NYahQ8QS/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Sandanski-01-webcam-live-online-camera-Pirin-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-srdh84bd',
+    lat: 41.526,
+    lng: 23.292,
+    name: 'KAMEP╨ÿ ╨í╨É╨¥╨ö╨É╨¥╨í╨Ü╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨ÿ╨á╨ÿ╨¥ ╨ÿ ╨æ╨ò╨¢╨É╨í╨ÿ╨ª╨É (2)',
+    city: 'Sandanski',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/SrDH84BD/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Sandanski-01-webcam-live-online-camera-Pirin-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sts3q7kn',
+    lat: 41.581,
+    lng: 23.26,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨É╨¥╨ö╨É╨¥╨í╨Ü╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ô╨ú╨£',
+    city: 'Sandanski',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/stS3Q7kn/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Sandanski-03',
+    external_url: 'http://free-webcambg.com/Sandanski-03-city-street-Glavnata-GUM-Pirin-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-svilengrad-02',
+    lat: 42.763,
+    lng: 25.521,
+    name: 'KAMEPA ╨í╨Æ╨ÿ╨¢╨ò╨¥╨ô╨á╨É╨ö ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨æ╨ú╨¢. \'╨æ╨¬╨¢╨ô╨É╨á╨ÿ╨»\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Svilengrad-02',
+    external_url: 'http://free-webcambg.com/Svilengrad-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-svishtov-04',
+    lat: 43.612,
+    lng: 25.38,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨Æ╨ÿ╨⌐╨₧╨Æ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö ╨ñ╨₧╨¥╨ó╨É╨¥',
+    city: 'Svishtov',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Svishtov-04r',
+    external_url: 'http://free-webcambg.com/Svishtov-04-webcam-live-online-camera-stadium-Akademik-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-iibbbyth',
+    lat: 43.023,
+    lng: 25.056,
+    name: 'KAMEPA ╨í╨ò╨Æ╨¢╨ÿ╨ò╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á LIVE',
+    city: 'Sevlievo',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/iiBBBYTh/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sevlievo-02',
+    external_url: 'http://free-webcambg.com/Sevlievo-02-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-silistra-02',
+    lat: 44.077,
+    lng: 27.291,
+    name: 'KAMEPA ╨í╨ÿ╨¢╨ÿ╨í╨ó╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨ò╨Ü╨É ╨ö╨ú╨¥╨É╨Æ',
+    city: 'Silistra',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Silistra-02',
+    external_url: 'http://free-webcambg.com/Silistra-02-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-smolyan-02-centar-rodopi',
+    lat: 41.541,
+    lng: 24.71,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨£╨₧╨¢╨»╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ó╨ò╨É╨ó╨¬╨á ╨₧╨æ╨⌐╨ÿ╨¥╨É',
+    city: 'Smolyan',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Smolyan-02r',
+    external_url: 'http://free-webcambg.com/Smolyan-02-Centar-Rodopi-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-smolyan-03-raykovo-rodopi',
+    lat: 41.56,
+    lng: 24.668,
+    name: 'KAMEPA ╨í╨£╨₧╨¢╨»╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨º╨ò╨á╨¥╨É ╨á╨ò╨Ü╨É',
+    city: 'Smolyan',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Smolyan-03a',
+    external_url: 'http://free-webcambg.com/Smolyan-03-Raykovo-Rodopi-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sopot-01',
+    lat: 42.748,
+    lng: 25.499,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ƒ╨₧╨ó ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sopot-01',
+    external_url: 'http://free-webcambg.com/Sopot-01-webcam-live-online-camera-center-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-6hkbsziy',
+    lat: 42.737,
+    lng: 25.519,
+    name: 'KAMEPA ╨£╨É╨¥╨É╨í╨ó╨ÿ╨á╨í╨Ü╨É ╨ƒ╨₧╨¢╨»╨¥╨É ╨¥╨É╨ö ╨í╨₧╨ƒ╨₧╨ó (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/6hKBSZiy/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Manastirska-Poliana-01',
+    external_url: 'http://free-webcambg.com/Manastirska-poliana-01-Sopot-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-y5qi3dt2',
+    lat: 42.764,
+    lng: 25.452,
+    name: 'KAMEPA ╨£╨É╨¥╨É╨í╨ó╨ÿ╨á╨í╨Ü╨É ╨ƒ╨₧╨¢╨»╨¥╨É ╨¥╨É╨ö ╨í╨₧╨ƒ╨₧╨ó (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/y5Qi3DT2/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Manastirska-Poliana-01',
+    external_url: 'http://free-webcambg.com/Manastirska-poliana-01-Sopot-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-a25iqfs4',
+    lat: 42.75,
+    lng: 25.481,
+    name: 'KAMEPA ╨í╨á╨ò╨ö╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ñ╨₧╨¥╨ó╨É╨¥ (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/A25iQfs4/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sredec-02r',
+    external_url: 'http://free-webcambg.com/Sredec-02-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-a6k2afd2',
+    lat: 42.746,
+    lng: 25.473,
+    name: 'KAMEPA ╨í╨á╨ò╨ö╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ñ╨₧╨¥╨ó╨É╨¥ (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/a6k2aFD2/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sredec-02r',
+    external_url: 'http://free-webcambg.com/Sredec-02-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-dekbffgf',
+    lat: 42.782,
+    lng: 25.454,
+    name: 'KAMEPA ╨ó╨ò╨ó╨ò╨Æ╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á, ╨á╨ò╨Ü╨É ╨Æ╨ÿ╨ó',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/DeKbffGF/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Teteven-02',
+    external_url: 'http://free-webcambg.com/Teteven-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-qe3ga626',
+    lat: 43.25,
+    lng: 26.578,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ó╨¬╨á╨ô╨₧╨Æ╨ÿ╨⌐╨ò ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ú╨¢╨ÿ╨ª╨É ╨ƒ╨É╨á╨Ü╨ÿ╨¥╨ô',
+    city: 'Targovishte',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/Qe3Ga626/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Targovishte-02',
+    external_url: 'http://free-webcambg.com/Targovishte-02-webcam-live-online-camera-center-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-harmanli-03',
+    lat: 42.779,
+    lng: 25.491,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨É╨á╨£╨É╨¥╨¢╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ô╨á. ╨ƒ╨É╨á╨Ü ╨í╨ª╨ò╨¥╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Harmanli-03',
+    external_url: 'http://free-webcambg.com/Harmanli-03-webcam-live-online-camera-city-park-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zfsbd9hd',
+    lat: 41.886,
+    lng: 25.566,
+    name: 'KAMEPA ╨Ñ╨É╨í╨Ü╨₧╨Æ╨₧ ╨ó╨á╨É╨ñ╨ÿ╨Ü ≡ƒÜù ╨ú╨¢╨ÿ╨ª╨ÿ LIVE',
+    city: 'Haskovo',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/ZfsBD9hd/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Haskovo-01',
+    external_url: 'http://free-webcambg.com/Haskovo-01-webcam-live-online-camera-city-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nrk6kgna',
+    lat: 41.948,
+    lng: 25.57,
+    name: 'KAMEP╨ÿ ╨Ñ╨É╨í╨Ü╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á \'╨º╨É╨í╨₧╨Æ╨¥╨ÿ╨Ü╨É\'',
+    city: 'Haskovo',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/NRK6kGNA/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Haskovo-02',
+    external_url: 'http://free-webcambg.com/Haskovo-02-webcam-live-online-camera-center-Atlanticheski-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zhf5rgfi',
+    lat: 41.959,
+    lng: 25.555,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ñ╨É╨í╨Ü╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢. \'╨í╨Æ╨₧╨æ╨₧╨ö╨É\'',
+    city: 'Haskovo',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/ZHF5rGFi/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Haskovo-03-webcam-live-online-camera-center-fontan-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ydsq58nk',
+    lat: 41.951,
+    lng: 25.558,
+    name: 'KAMEPA ╨Ñ╨É╨í╨Ü╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨£╨É╨Ü╨ò╨ö╨₧╨¥╨í╨Ü╨ÿ\'',
+    city: 'Haskovo',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/yDsQ58nK/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Haskovo-04',
+    external_url: 'http://free-webcambg.com/Haskovo-04-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-aez7ddeb',
+    lat: 43.237,
+    lng: 26.899,
+    name: '╨Ü╨É╨£╨ò╨á╨É ╨¿╨ú╨£╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ô╨¢╨É╨Æ╨¥╨É ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Shumen',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/Aez7ddeB/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Shumen-01',
+    external_url: 'http://free-webcambg.com/Shumen-01-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-frrn6hsb',
+    lat: 43.288,
+    lng: 26.919,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¿╨ú╨£╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ü╨Æ. \'╨ö╨₧╨æ╨á╨ú╨ö╨û╨É╨¥╨í╨Ü╨ÿ\'',
+    city: 'Shumen',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/FRrN6hsB/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Shumen-02-webcam-live-online-camera-city-street-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-eess7khz',
+    lat: 43.301,
+    lng: 26.947,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¿╨ú╨£╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨£╨ô ╨ú╨¢. \'╨æ╨₧╨ù╨Æ╨ò╨¢╨ÿ\' (2)',
+    city: 'Shumen',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/EESS7kHz/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Shumen-01c',
+    external_url: 'http://free-webcambg.com/Shumen-03-webcam-live-online-camera-plato-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-shumen-04',
+    lat: 43.248,
+    lng: 26.928,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¿╨ú╨£╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ó╨á╨É╨ñ╨ÿ╨Ü \'╨Ü╨á╨¬╨ô╨₧╨Æ╨₧\' ╨ÿ╨ƒ╨ù',
+    city: 'Shumen',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Shumen-04',
+    external_url: 'http://free-webcambg.com/Shumen-04-webcam-live-online-camera-promishlena-industrialna-zona-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-shumen-05-sky',
+    lat: 43.227,
+    lng: 26.889,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¿╨ú╨£╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨¿╨ú╨£╨ò╨¥╨í╨Ü╨₧╨ó╨₧ ╨ƒ╨¢╨É╨ó╨₧',
+    city: 'Shumen',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Shumen-05',
+    external_url: 'http://free-webcambg.com/Shumen-05-sky-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-shumen-06-center-street',
+    lat: 43.254,
+    lng: 26.933,
+    name: 'KAMEPA ╨¿╨ú╨£╨ò╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ú╨¢. \'╨æ╨ò╨¢╨É╨í╨ÿ╨ª╨É\'',
+    city: 'Shumen',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Shumen-06t',
+    external_url: 'http://free-webcambg.com/Shumen-06-center-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-frf4s3qr',
+    lat: 42.443,
+    lng: 26.509,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨»╨£╨æ╨₧╨¢ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á \'╨ô╨¢╨É╨Æ╨¥╨É\' ╨ú╨¢╨ÿ╨ª╨É',
+    city: 'Yambol',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/frF4S3QR/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Yambol-02r',
+    external_url: 'http://free-webcambg.com/Yambol-02-street-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-yambol-03-street',
+    lat: 42.474,
+    lng: 26.525,
+    name: 'KAMEPA ╨»╨£╨æ╨₧╨¢ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨Ü╨É╨ñ╨ò',
+    city: 'Yambol',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Yambol-03',
+    external_url: 'http://free-webcambg.com/Yambol-03-street-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-belchin-bani-03',
+    lat: 42.773,
+    lng: 25.489,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨æ╨ò╨¢╨º╨ÿ╨¥ ╨æ╨É╨¥╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Ñ╨₧╨ó╨ò╨¢ \'╨æ╨ò╨¢╨º╨ÿ╨¥ ╨ô╨É╨á╨ö╨¬╨¥\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Belchin-bani-03',
+    external_url: 'http://free-webcambg.com/Belchin-bani-03-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-bojenci-01',
+    lat: 42.743,
+    lng: 25.461,
+    name: 'KAMEPA ╨æ╨₧╨û╨ò╨¥╨ª╨ÿ╨ó╨ò ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨£╨É╨ÿ╨á \'╨æ╨₧╨û╨ò╨¥╨ª╨ÿ\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Bojenci-01',
+    external_url: 'http://free-webcambg.com/Bojenci-01-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-dhq65bfg',
+    lat: 42.776,
+    lng: 25.49,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨æ╨₧╨Ö╨Ü╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨₧╨ö╨₧╨ƒ╨ÿ ╨ƒ╨¢╨É╨¥╨ÿ╨¥╨É (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/DhQ65BFG/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Boykovo-01',
+    external_url: 'http://free-webcambg.com/Boykovo-01-webcam-live-online-camera-Rodopi-planina-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-99nez4ts',
+    lat: 42.709,
+    lng: 25.485,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨æ╨₧╨Ö╨Ü╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨₧╨ö╨₧╨ƒ╨ÿ ╨ƒ╨¢╨É╨¥╨ÿ╨¥╨É (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/99Nez4tS/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Boykovo-01',
+    external_url: 'http://free-webcambg.com/Boykovo-01-webcam-live-online-camera-Rodopi-planina-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kaliakra-01-nos-cherno-more-kavarna',
+    lat: 43.198,
+    lng: 27.924,
+    name: 'KAMEPA ╨¥╨₧╨í ╨Ü╨É╨¢╨ÿ╨É╨Ü╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨£. \'╨ù╨ò╨¢╨ò╨¥╨Ü╨É\'',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Kaliakra-01',
+    external_url: 'http://free-webcambg.com/Kaliakra-01-nos-cherno-more-kavarna-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nsqnzi44',
+    lat: 42.74,
+    lng: 25.474,
+    name: 'KAMEPA ╨æ╨»╨ô╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¬╨ó ╨ù╨É ╨æ╨É╨ó╨É╨Ü',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/NsQnZi44/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Byaga-02r',
+    external_url: 'http://free-webcambg.com/Byaga-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-gabarevo-01',
+    lat: 42.726,
+    lng: 25.444,
+    name: 'KAMEPA ╨ô╨É╨æ╨É╨á╨ò╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢╨₧╨⌐╨É╨ö',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Gabarevo-01',
+    external_url: 'http://free-webcambg.com/Gabarevo-01-webcam-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-395k5hq9',
+    lat: 42.748,
+    lng: 25.521,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ô╨₧╨á╨¥╨₧ ╨Ü╨á╨É╨ÿ╨⌐╨ò ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ƒ╨¢.',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/395k5HQ9/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/gorno',
+    external_url: 'http://free-webcambg.com/Gorno-Kraishte-01-webcam-live-online-camera-center-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kntqsy87',
+    lat: 43.66,
+    lng: 25.336,
+    name: 'KAMEPA ╨Ü╨₧╨ù╨¢╨₧╨Æ╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á, ╨ö╨₧ ╨í╨Æ╨ÿ╨⌐╨₧╨Æ (1)',
+    city: 'Svishtov',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/KNtQsy87/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Kozlovec-01-Svishtov-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-7b7ga9kz',
+    lat: 43.663,
+    lng: 25.396,
+    name: 'KAMEPA ╨Ü╨₧╨ù╨¢╨₧╨Æ╨ò╨ª ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á, ╨ö╨₧ ╨í╨Æ╨ÿ╨⌐╨₧╨Æ (2)',
+    city: 'Svishtov',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/7b7Ga9Kz/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Kozlovec-01-Svishtov-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-kosharica-03-kosharitsa',
+    lat: 42.704,
+    lng: 25.447,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Ü╨₧╨¿╨É╨á╨ÿ╨ª╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨Æ╨Ü ╨í╨¬╨¥╨í╨ò╨ó ╨Ñ╨₧╨ó╨ò╨¢',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Kosharica-03',
+    external_url: 'http://free-webcambg.com/Kosharica-03-Kosharitsa-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-mostovo-01',
+    lat: 42.738,
+    lng: 25.468,
+    name: 'KAMEPA ╨£╨₧╨í╨ó╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨₧╨ö╨₧╨ƒ╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Mostovo-01r',
+    external_url: 'http://free-webcambg.com/Mostovo-01-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-nnhkrbs8',
+    lat: 42.769,
+    lng: 25.445,
+    name: 'KAMEPA ╨í╨ó╨á╨ú╨£╨»╨¥╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ÿ ╨ƒ╨ÿ╨á╨ÿ╨¥ (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/NnhKrBS8/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Strumyani-02-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-7rzi9gsh',
+    lat: 42.75,
+    lng: 25.438,
+    name: 'KAMEPA ╨í╨ó╨á╨ú╨£╨»╨¥╨ÿ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ª╨ò╨¥╨ó╨¬╨á ╨ÿ ╨ƒ╨ÿ╨á╨ÿ╨¥ (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/7RZi9GSH/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Strumyani-02-webcam-BG.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-caracovo-02-plovdiv',
+    lat: 42.16,
+    lng: 24.752,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨ò╨í╨ò╨¢╨ÿ╨¥╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ 4 ╨Ü╨£. ╨»╨£╨æ╨₧╨¢',
+    city: 'Plovdiv',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Caracovo-02',
+    external_url: 'http://free-webcambg.com/Caracovo-02-Plovdiv-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ngk5st97',
+    lat: 42.731,
+    lng: 25.44,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ª╨á╨¬╨¥╨º╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨₧╨æ╨⌐╨ÿ╨¥╨É ╨ƒ╨É╨ù╨É╨á╨ö╨û╨ÿ╨Ü',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/nGK5St97/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Crancha-03-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-dolna-banya-01',
+    lat: 42.725,
+    lng: 25.493,
+    name: 'KAMEPA ╨¢╨ò╨ó╨ÿ╨⌐╨ò \'╨ö╨₧╨¢╨¥╨É ╨æ╨É╨¥╨»\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨ÿ╨í╨ó╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Dolna-Banya-01',
+    external_url: 'http://free-webcambg.com/Dolna-Banya-01-webcam-live-online-camera-Airport-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-lesnovo-02',
+    lat: 42.7,
+    lng: 25.51,
+    name: 'KAMEPA ╨¢╨ò╨ó╨ÿ╨⌐╨ò \'╨¢╨ò╨í╨¥╨₧╨Æ╨₧\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨₧╨¢╨₧╨í╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Lesnovo-02',
+    external_url: 'http://free-webcambg.com/Lesnovo-02-webcam-airport-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-dk3kbrak',
+    lat: 42.772,
+    lng: 25.492,
+    name: 'KAMEPA ╨¢╨ò╨ó╨ÿ╨⌐╨ò ╨ÿ╨Ñ╨ó╨ÿ╨£╨É╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨º╨ò╨á╨¥╨¼╨₧╨Æ╨₧ (1)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/dk3KbraK/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Airport-05-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ky9iy4re',
+    lat: 42.689,
+    lng: 25.493,
+    name: 'KAMEPA ╨¢╨ò╨ó╨ÿ╨⌐╨ò ╨ÿ╨Ñ╨ó╨ÿ╨£╨É╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨º╨ò╨á╨¥╨¼╨₧╨Æ╨₧ (2)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/Ky9iy4Re/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Airport-05-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-n2fgyyks',
+    lat: 42.75,
+    lng: 25.446,
+    name: 'KAMEPA ╨¢╨ò╨ó╨ÿ╨⌐╨ò ╨ÿ╨Ñ╨ó╨ÿ╨£╨É╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨º╨ò╨á╨¥╨¼╨₧╨Æ╨₧ (3)',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/N2FGYYKs/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Airport-05-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-sofia-31',
+    lat: 42.685,
+    lng: 23.321,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨¢╨ò╨ó╨ÿ╨⌐╨ò ╨æ╨É╨ù╨É \'BH AIR\'',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-31',
+    external_url: 'http://free-webcambg.com/Sofia-31-webcam-live-online-camera-mladost-2-Sf-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-ttnngfs2',
+    lat: 42.778,
+    lng: 27.878,
+    name: 'KAMEPA ╨»╨ù╨₧╨Æ╨ÿ╨á \'╨ÿ╨í╨Ü╨¬╨á\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨¢╨É╨û',
+    city: 'Black Sea',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/TTnNGfS2/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Yazovir-Iskar-02r',
+    external_url: 'http://free-webcambg.com/Yazovir-Iskar-02-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-yazovir-pyasachnik-02',
+    lat: 42.744,
+    lng: 25.493,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨»╨ù╨₧╨Æ╨ÿ╨á \'╨ƒ╨»╨í╨¬╨º╨¥╨ÿ╨Ü\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨ÿ╨æ╨₧╨¢╨₧╨Æ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Yazovir-Pyasachnik-02',
+    external_url: 'http://free-webcambg.com/Yazovir-Pyasachnik-02-webcam-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-yazovir-dospat-01',
+    lat: 42.729,
+    lng: 25.511,
+    name: 'KAMEPA ╨»╨ù╨₧╨Æ╨ÿ╨á \'╨ö╨₧╨í╨ƒ╨É╨ó\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨₧╨ö╨₧╨ƒ╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Yazovir-Dospat-01',
+    external_url: 'http://free-webcambg.com/Yazovir-Dospat-01-webcam-Rodopi-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-2ey6rfak',
+    lat: 42.711,
+    lng: 25.458,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É \'╨í╨á╨ò╨æ╨¬╨á╨¥╨É\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ò╨ù╨ò╨á╨₧ ╨ƒ╨ò╨¢╨ÿ╨Ü╨É╨¥╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/2EY6rFAk/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Srebarna-02',
+    external_url: 'http://free-webcambg.com/Srebarna-02-webcam-ezero-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-durankulak-01',
+    lat: 42.717,
+    lng: 25.531,
+    name: '╨ö╨ú╨á╨É╨¥╨Ü╨ú╨¢╨É╨¿╨Ü╨₧ ╨ò╨ù╨ò╨á╨₧ ╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ó╨ú╨ù╨¢╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Durankulak-01',
+    external_url: 'http://free-webcambg.com/Durankulak-01-webcam-live-online-camera-Dourankoulak-kameri-na-jivo-vremeto-weather.htm',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-bzqsb2bd',
+    lat: 42.697,
+    lng: 25.519,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨»╨ù╨₧╨Æ╨ÿ╨á \'╨æ╨É╨ó╨É╨Ü\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ \'╨ª╨ÿ╨ô╨₧╨Æ ╨º╨É╨á╨Ü\' ╨₧╨í╨ó╨á╨₧╨Æ╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/bZQSb2BD/',
+    stream_type: 'iframe',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Yazovir-Batak-02',
+    external_url: 'http://free-webcambg.com/Yazovir-Batak-02-webcam-Rodopi-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-yazovir-batak-03',
+    lat: 42.729,
+    lng: 25.49,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨»╨ù╨₧╨Æ╨ÿ╨á \'╨æ╨É╨ó╨É╨Ü\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ƒ╨á╨ò╨¢╨ÿ╨Æ╨¥╨ÿ╨Ü',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Yazovir-Batak-03',
+    external_url: 'http://free-webcambg.com/Yazovir-Batak-03-webcam-Rodopi-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-shabla-03',
+    lat: 42.744,
+    lng: 25.455,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨¿╨É╨æ╨¢╨ò╨¥╨í╨Ü╨₧ ╨ò╨ù╨ò╨á╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ó╨ú╨ù╨¢╨É╨ó╨É',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Shabla-03',
+    external_url: 'http://free-webcambg.com/Shabla-03-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-fa8ztd69',
+    lat: 42.717,
+    lng: 25.463,
+    name: 'KAMEPA ╨ƒ╨É╨¥╨º╨É╨á╨ò╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á. ╨ÿ╨í╨Ü╨¬╨á',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/FA8ZTD69/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Pancharevo-02r',
+    external_url: 'http://free-webcambg.com/Pancharevo-02-webcam-BG.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-aleko-konstantinovo-03-ribarnik-alfish',
+    lat: 42.726,
+    lng: 25.468,
+    name: 'KAMEPA ╨É╨¢╨ò╨Ü╨₧ ╨Ü╨₧╨¥╨í╨ó╨É╨¥╨ó╨ÿ╨¥╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Aleko-Konstantinovo-03',
+    external_url: 'http://free-webcambg.com/Aleko-Konstantinovo-03-ribarnik-Alfish-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-yazovir-koprinka-01-kazanlak',
+    lat: 42.595,
+    lng: 25.412,
+    name: 'KAMEPA ╨»╨ù. \'╨Ü╨₧╨ƒ╨á╨ÿ╨¥╨Ü╨É\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ö╨₧ ╨Ü╨É╨ù╨É╨¥╨¢╨¬╨Ü',
+    city: 'Kazanlak',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Yazovir-Koprinka-01',
+    external_url: 'http://free-webcambg.com/Yazovir-Koprinka-01-Kazanlak-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-burgas-14-street',
+    lat: 42.518,
+    lng: 27.498,
+    name: 'KAMEPA ╨æ╨ú╨á╨ô╨É╨í ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨É╨ó╨É╨¥╨É╨í╨₧╨Æ╨í╨Ü╨₧ ╨ò╨ù╨ò╨á╨₧',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Burgas-14',
+    external_url: 'http://free-webcambg.com/Burgas-14-street-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-banichan-02',
+    lat: 42.722,
+    lng: 25.437,
+    name: 'KAMEPA ╨æ╨É╨¥╨ÿ╨º╨É╨¥ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ô╨¥╨ò╨ù╨ö╨₧ ╨⌐╨¬╨á╨Ü╨ò╨¢',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Banichan-02',
+    external_url: 'http://free-webcambg.com/Banichan-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-dragushinovo-02',
+    lat: 42.691,
+    lng: 25.445,
+    name: 'KAMEPA ╨ö╨á╨É╨ô╨ú╨¿╨ÿ╨¥╨₧╨Æ╨₧ ╨⌐╨¬╨á╨Ü╨ò╨¢╨ÿ LIVE',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Dragushinovo-02',
+    external_url: 'http://free-webcambg.com/Dragushinovo-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-yarlovo-02',
+    lat: 42.772,
+    lng: 25.488,
+    name: 'KAMEPA ╨»╨á╨¢╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨ô╨¥╨ò╨ù╨ö╨₧ ╨æ╨»╨¢ ╨⌐╨¬╨á╨Ü╨ò╨¢',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://cdn1.free-webcambg.com/cams/Yarlovo-02',
+    external_url: 'http://free-webcambg.com/Yarlovo-02-webcam-street-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zzz-30-gnezdo-nest',
+    lat: 42.716,
+    lng: 25.44,
+    name: 'KAMEPA ╨í╨Ü╨É╨¢╨¥╨₧ ╨ô╨¥╨ò╨ù╨ö╨₧ ╨ò╨ô╨ÿ╨ƒ╨ò╨ó╨í╨Ü╨ÿ ╨¢╨ò╨¿╨₧╨»╨ö╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Zzz-30',
+    external_url: 'http://free-webcambg.com/Zzz-30-gnezdo-nest-webcam-live-online-camera-kameri-na-jivo.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-malko-tarnovo-02-derekoy',
+    lat: 42.708,
+    lng: 25.505,
+    name: 'KAMEP╨ÿ ╨ô╨Ü╨ƒ╨ƒ ╨£╨É╨¢╨Ü╨₧ ╨ó╨¬╨á╨¥╨₧╨Æ╨₧ ╨Æ╨á╨ò╨£╨ò╨ó╨₧',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Malko-Tarnovo-02-1',
+    external_url: 'http://free-webcambg.com/Malko-Tarnovo-02-Derekoy-webcam-live-online-camera-kamerite-na-jivo-vremeto-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zlatograd-03-centar-park',
+    lat: 42.778,
+    lng: 25.506,
+    name: 'KAMEPA ╨ô╨Ü╨ƒ╨ƒ \'╨ù╨¢╨É╨ó╨₧╨ô╨á╨É╨ö\' ╨Æ╨á╨ò╨£╨ò╨ó╨₧ ╨á╨₧╨ö╨₧╨ƒ╨ÿ',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Zlatograd-03',
+    external_url: 'http://free-webcambg.com/Zlatograd-03-centar-park-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-dqyegbyk',
+    lat: 42.751,
+    lng: 25.464,
+    name: 'KAMEP╨ÿ ╨ƒ╨É╨á╨¢╨É╨£╨ò╨¥╨ó ╨ù╨É╨¢╨É HC ╨ÿ ╨ª╨ÿ╨Ü',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/DQyeGBYk/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Sofia-45',
+    external_url: 'http://free-webcambg.com/Zzz-01-indoor-room-business-webcam-live-online-camera-kamerite-na-jivo.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-g4hk3ykt',
+    lat: 43.374,
+    lng: 24.59,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨ƒ╨¢╨ò╨Æ╨ò╨¥ ╨Ü╨É╨ó╨₧╨¢╨ÿ╨º╨ò╨í╨Ü╨É ╨ª╨¬╨á╨Ü╨Æ╨É \'╨ö╨ò╨Æ╨É ╨£╨É╨á╨ÿ╨»\'',
+    city: 'Pleven',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/G4hK3ykt/',
+    stream_type: 'iframe',
+    feed_url: 'http://free-webcambg.com/pics/Pleven-15',
+    external_url: 'http://free-webcambg.com/Pleven-15-city-park-webcam-live-online-camera-kameri-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zzz-21-indoor-room-business',
+    lat: 42.778,
+    lng: 25.455,
+    name: 'KAMEPA ╨ô╨É╨æ╨á╨₧╨Æ╨₧ ╨í╨ƒ╨₧╨á╨ó╨¥╨É ╨ù╨É╨¢╨É ╨₧╨á╨¢╨₧╨Æ╨ò╨ª',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Zzz-21',
+    external_url: 'http://free-webcambg.com/Zzz-21-indoor-room-business-webcam-live-online-camera-kamerite-na-jivo.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zzz-22',
+    lat: 42.746,
+    lng: 25.5,
+    name: 'KAMEPA ╨ó╨á╨₧╨»╨¥ ╨ª╨ò╨¥╨ó╨¬╨á ╨Ü╨É╨ñ╨ò ╨æ╨É╨á \'╨ƒ╨á╨ÿ╨»╨ó╨ò╨¢╨ÿ\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Zzz-22c',
+    external_url: 'http://free-webcambg.com/Zzz-22-webcam-live-online-camera-office-cctv-kameri-na-jivo.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zzz-23-indoor-room-business',
+    lat: 42.76,
+    lng: 25.508,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨Æ ╨Ü╨Æ╨É╨á╨ó╨É╨¢╨É, ╨Ü╨É╨ñ╨ò ╨æ╨É╨á \'╨¥╨É╨ù╨ö╨á╨É╨Æ╨ò\'',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Zzz-23',
+    external_url: 'http://free-webcambg.com/Zzz-23-indoor-room-business-webcam-live-online-camera-kamerite-na-jivo-bg.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zzz-25-indoor-room-business',
+    lat: 42.742,
+    lng: 25.461,
+    name: 'KAMEPA ╨ñ╨á╨ÿ╨ù╨¼╨₧╨á╨í╨Ü╨ÿ ╨í╨É╨¢╨₧╨¥ ╨í╨ó╨ú╨ö╨ÿ╨₧',
+    city: 'Bulgaria',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Zzz-25',
+    external_url: 'http://free-webcambg.com/Zzz-25-indoor-room-business-webcam-live-online-camera-kamerite-na-jivo.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zzz-32-salon',
+    lat: 42.684,
+    lng: 23.299,
+    name: 'KAMEPA ╨í╨₧╨ñ╨ÿ╨» ╨£╨É╨ô╨É╨ù╨ÿ╨¥ ╨¥╨É╨ƒ╨ÿ╨ó╨Ü╨ÿ ╨ÿ ╨ª╨ÿ╨ô╨É╨á╨ÿ',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'http://free-webcambg.com/pics/Zzz-32',
+    external_url: 'http://free-webcambg.com/Zzz-32-salon-webcam-live-online-camera-kamerite-na-jivo-vremeto-weather.html',
+    source: 'Free-WebCamBG',
+  },
+  {
+    id: 'bg-fwcbg-zfzeyd3g',
+    lat: 42.66,
+    lng: 23.31,
+    name: '╨ú╨ò╨æ ╨Ü╨É╨£╨ò╨á╨É ╨í╨₧╨ñ╨ÿ╨» ╨á╨É╨æ╨₧╨ó╨¥╨₧ ╨É╨ó╨ò╨¢╨ÿ╨ò ╨Æ ╨É╨á╨ó ╨ô╨É╨¢╨ò╨á╨ÿ╨»',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    stream_url: 'https://rtsp.me/embed/ZfzeYd3G/',
+    stream_type: 'iframe',
+    external_url: 'http://free-webcambg.com/Zzz-33-office-webcam-live-online-camera-kamerite-na-jivo.html',
+    source: 'Free-WebCamBG',
+  },
+];
diff --git a/src/app/api/cctv/bulgaria.ts b/src/app/api/cctv/bulgaria.ts
new file mode 100644
index 0000000..51986d1
--- /dev/null
+++ b/src/app/api/cctv/bulgaria.ts
@@ -0,0 +1,294 @@
+import type { CctvCamera } from './types';
+import { BULGARIA_FWCBG_CAMERAS } from './bulgaria-fwcbg.generated';
+
+/**
+ * Curated cameras from non-free-webcambg sources (UAB/GKPP, Smart Burgas HLS, YouTube, meteo).
+ * Combined with auto-generated free-webcambg catalog (~350 cameras, ~170 live rtsp.me).
+ */
+const BULGARIA_MANUAL: CctvCamera[] = [
+  // ΓöÇΓöÇ UAB / KAMEPA traffic (not on free-webcambg) ΓöÇΓöÇ
+  {
+    id: 'bg-sofia-tsarigradsko-uab',
+    lat: 42.662,
+    lng: 23.376,
+    name: 'Tsarigradsko Shose (UAB)',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'https://cdn.uab.org/images/cctv/images/cctv/cctv_103/cctv.jpg',
+    source: 'UAB / KAMEPA',
+  },
+  {
+    id: 'bg-sofia-banishora',
+    lat: 42.704,
+    lng: 23.327,
+    name: 'Banishora / Opalchenska',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'https://meteo.chavo.biz/Camera_streem/live_snap.jpg',
+    source: 'meteo.chavo.biz',
+  },
+  {
+    id: 'bg-sofia-iztok',
+    lat: 42.679,
+    lng: 23.364,
+    name: 'Iztok / Arena',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'http://85.118.88.81:8000/jpg/image.jpg?resolution=1280x960',
+    source: 'Private cam',
+  },
+  {
+    id: 'bg-sofia-lagera',
+    lat: 42.603,
+    lng: 23.297,
+    name: 'Lagera / Vitosha',
+    city: 'Sofia',
+    country: 'Bulgaria',
+    feed_url: 'https://www.meteobrite.com/rest/image?stationId=4',
+    source: 'MeteoBrite',
+  },
+
+  // ΓöÇΓöÇ GKPP / border (UAB + weather-webcam + YouTube) ΓöÇΓöÇ
+  {
+    id: 'bg-gkpp-kulata-1',
+    lat: 41.395,
+    lng: 23.361,
+    name: 'GKPP Kulata ΓÇô Promachon (BG)',
+    city: 'Kulata',
+    country: 'Bulgaria',
+    feed_url: 'https://cdn.uab.org/images/cctv/images/cctv/cctv_01/cctv.jpg',
+    external_url: 'https://weather-webcam.eu/kameri-ot-gkpp-kulata-promahon-sledete-trafika-na-grackata-granica/',
+    source: 'UAB / GKPP',
+  },
+  {
+    id: 'bg-gkpp-kulata-2',
+    lat: 41.394,
+    lng: 23.363,
+    name: 'GKPP Kulata ΓÇô Promachon (approach)',
+    city: 'Kulata',
+    country: 'Bulgaria',
+    feed_url: 'https://cdn.uab.org/images/cctv/images/cctv/cctv_02/cctv.jpg',
+    external_url: 'https://weather-webcam.eu/kameri-ot-gkpp-kulata-promahon-sledete-trafika-na-grackata-granica/',
+    source: 'UAB / GKPP',
+  },
+  {
+    id: 'bg-gkpp-kulata-3',
+    lat: 41.396,
+    lng: 23.359,
+    name: 'GKPP Kulata ΓÇô queue',
+    city: 'Kulata',
+    country: 'Bulgaria',
+    feed_url: 'https://cdn.uab.org/images/cctv/images/cctv/cctv_114/cctv.jpg',
+    external_url: 'https://weather-webcam.eu/kameri-ot-gkpp-kulata-promahon-sledete-trafika-na-grackata-granica/',
+    source: 'UAB / GKPP',
+  },
+  {
+    id: 'bg-gkpp-zlatograd',
+    lat: 41.379,
+    lng: 25.056,
+    name: 'GKPP Zlatograd ΓÇô Thermes (BGΓÇôGR)',
+    city: 'Zlatograd',
+    country: 'Bulgaria',
+    feed_url: 'https://www.weather-webcam.eu/cams/gkpp-zlatograd.jpg',
+    external_url: 'https://weather-webcam.eu/ueb-kamera-ot-gkpp-zlatograd-termes-zlatograd-ksanti/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'bg-gkpp-ruse-1',
+    lat: 43.845,
+    lng: 25.974,
+    name: 'GKPP Ruse ΓÇô Giurgiu (Danube Bridge)',
+    city: 'Ruse',
+    country: 'Bulgaria',
+    feed_url: 'https://weather-webcam.eu/cams/gkpp-ruse-gurgevo-webcam-kamera-na-jivo.jpg',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'bg-gkpp-ruse-2',
+    lat: 43.844,
+    lng: 25.976,
+    name: 'GKPP Ruse ΓÇô Giurgiu (lane 2)',
+    city: 'Ruse',
+    country: 'Bulgaria',
+    feed_url: 'https://weather-webcam.eu/cams/gkpp-ruse-gurgevo-webcam-kamera-na-jivo2.jpg',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'bg-gkpp-ruse-3',
+    lat: 43.846,
+    lng: 25.978,
+    name: 'GKPP Ruse ΓÇô Giurgiu (lane 3)',
+    city: 'Ruse',
+    country: 'Bulgaria',
+    feed_url: 'https://weather-webcam.eu/cams/gkpp-ruse-gurgevo-webcam-kamera-na-jivo3.jpg',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'bg-gkpp-ruse-4',
+    lat: 43.743,
+    lng: 26.097,
+    name: 'GKPP Tutrakan ΓÇô Olteni╚¢a',
+    city: 'Tutrakan',
+    country: 'Bulgaria',
+    feed_url: 'https://weather-webcam.eu/cams/ruse-webcam-gkpp-kam-tutrakan.jpg',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'bg-gkpp-vrashka-1',
+    lat: 43.858,
+    lng: 22.448,
+    name: 'GKPP Vrashka Chuka',
+    city: 'Vrashka Chuka',
+    country: 'Bulgaria',
+    feed_url: 'https://home-solutions.bg/cams/chuka2.jpg',
+    source: 'home-solutions.bg',
+  },
+  {
+    id: 'bg-gkpp-vrashka-2',
+    lat: 43.857,
+    lng: 22.45,
+    name: 'GKPP Vrashka Chuka (alt)',
+    city: 'Vrashka Chuka',
+    country: 'Bulgaria',
+    feed_url: 'https://home-solutions.bg/cams/chuka1.jpg',
+    source: 'home-solutions.bg',
+  },
+  {
+    id: 'bg-gkpp-makaza-1',
+    lat: 41.297,
+    lng: 24.133,
+    name: 'GKPP Makaza ΓÇô Nymfea (cam 1)',
+    city: 'Makaza',
+    country: 'Bulgaria',
+    stream_url: 'https://www.youtube.com/embed/pnr0lhrqRAc?autoplay=1&mute=1',
+    stream_type: 'iframe',
+    external_url: 'https://weather-webcam.eu/ueb-kameri-ot-gkpp-makaza-nimfeya/',
+    source: 'YouTube / GKPP',
+  },
+  {
+    id: 'bg-gkpp-makaza-2',
+    lat: 41.296,
+    lng: 24.135,
+    name: 'GKPP Makaza ΓÇô Nymfea (cam 2)',
+    city: 'Makaza',
+    country: 'Bulgaria',
+    stream_url: 'https://www.youtube.com/embed/YXN19ZEpIkc?autoplay=1&mute=1',
+    stream_type: 'iframe',
+    external_url: 'https://weather-webcam.eu/ueb-kameri-ot-gkpp-makaza-nimfeya/',
+    source: 'YouTube / GKPP',
+  },
+  {
+    id: 'bg-gkpp-kalotina',
+    lat: 42.995,
+    lng: 22.878,
+    name: 'GKPP Kalotina ΓÇô Gradina',
+    city: 'Kalotina',
+    country: 'Bulgaria',
+    external_url: 'https://weather-webcam.eu/kalotina-online-webcam-kgpp-granichen-punkt-bulgaria-sarbia-kamera/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'bg-gkpp-gueshevo',
+    lat: 42.148,
+    lng: 22.535,
+    name: 'GKPP Gyueshevo ΓÇô Deve Bair',
+    city: 'Gyueshevo',
+    country: 'Bulgaria',
+    external_url: 'https://weather-webcam.eu/gueshevo-online-webcam-kgpp-granichen-punkt-bulgaria-makedonia-kamera/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'bg-gkpp-kapitan-andreevo',
+    lat: 41.718,
+    lng: 26.328,
+    name: 'GKPP Kapitan Andreevo ΓÇô Kap─▒kule',
+    city: 'Svilengrad',
+    country: 'Bulgaria',
+    external_url: 'https://weather-webcam.eu/svilengrad-kapitan-andreevo-kapakule-odrin-live-kamera/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'bg-gkpp-lesovo',
+    lat: 41.968,
+    lng: 26.385,
+    name: 'GKPP Lesovo ΓÇô Hamzabeyli',
+    city: 'Lesovo',
+    country: 'Bulgaria',
+    external_url: 'https://weather-webcam.eu/lesovo-hamzabeyli-live-kamera-balgaria-turcia-granica-trafik-vremeto/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'bg-gkpp-malko-tarnovo',
+    lat: 41.407,
+    lng: 27.518,
+    name: 'GKPP Malko Tarnovo ΓÇô Derek├╢y',
+    city: 'Malko Tarnovo',
+    country: 'Bulgaria',
+    external_url: 'https://weather-webcam.eu/gkpp-malko-tarnovo-derekoi-live-kamera-balgaria-turcia-granica-trafik-vremeto/',
+    source: 'weather-webcam.eu',
+  },
+
+  // ΓöÇΓöÇ NIMH / Smart Burgas HLS ΓöÇΓöÇ
+  {
+    id: 'bg-varna-treta-buna',
+    lat: 43.214,
+    lng: 27.923,
+    name: 'Sea Garden / Third Buoy (NIMH)',
+    city: 'Varna',
+    country: 'Bulgaria',
+    feed_url: 'https://home-solutions.bg/cams/varna-buna.jpg',
+    external_url: 'https://weather-webcam.eu/varna-kamera-na-jivo-zaliv-treta-buna-black-sea/',
+    source: 'NIMH / home-solutions.bg',
+  },
+  {
+    id: 'bg-burgas-center',
+    lat: 42.497,
+    lng: 27.47,
+    name: 'Burgas Center (Smart Burgas HLS)',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    stream_url: 'https://pics.smartburgas.eu/m3u8/burgas_town_Center.m3u8',
+    stream_type: 'hls',
+    external_url: 'https://www.weather-webcam.eu/cams/burgas-centar.html',
+    source: 'Smart Burgas',
+  },
+  {
+    id: 'bg-burgas-sarafovo',
+    lat: 42.65,
+    lng: 27.7,
+    name: 'Sarafovo ΓÇô Black Sea Panorama',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    feed_url: 'https://www.weather-webcam.eu/cams/burgas-kvartal-sarafovo-na-jivo-kamera-panorama-cherno-more.jpg',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'bg-burgas-north-beach',
+    lat: 42.51,
+    lng: 27.474,
+    name: 'North Beach / Windsurf',
+    city: 'Burgas',
+    country: 'Bulgaria',
+    feed_url: 'http://5.104.177.125:8080/?action=snapshot',
+    source: 'Private cam',
+  },
+];
+
+function cameraKey(cam: CctvCamera): string {
+  return (cam.stream_url || cam.feed_url || cam.external_url || cam.id).split('?')[0];
+}
+
+export async function fetchBulgariaCameras(): Promise<CctvCamera[]> {
+  const seen = new Set<string>();
+  const merged: CctvCamera[] = [];
+
+  for (const cam of [...BULGARIA_MANUAL, ...BULGARIA_FWCBG_CAMERAS]) {
+    if (!cam.feed_url && !cam.stream_url && !cam.external_url) continue;
+    const key = cameraKey(cam);
+    if (seen.has(key)) continue;
+    seen.add(key);
+    merged.push(cam);
+  }
+
+  return merged;
+}
diff --git a/src/app/api/cctv/greece.ts b/src/app/api/cctv/greece.ts
new file mode 100644
index 0000000..fbeba8b
--- /dev/null
+++ b/src/app/api/cctv/greece.ts
@@ -0,0 +1,225 @@
+import type { CctvCamera } from './types';
+
+/** Public IPCamLive credentials exposed on Attiki Odos live-streaming pages. */
+const IPCAMLIVE_API_SECRET = '65586c9ba88ef';
+
+const ATTiki_ODOS_CAMERAS: Array<{
+  alias: string;
+  name: string;
+  city: string;
+  lat: number;
+  lng: number;
+}> = [
+  { alias: 'cam128', name: 'I/C D. Plakentias ΓÇô Imittos Ring Road', city: 'Athens', lat: 38.0208, lng: 23.8578 },
+  { alias: 'cam231', name: 'I/C Papagou (Imittos Ring Road)', city: 'Athens', lat: 37.9906, lng: 23.7947 },
+  { alias: 'cam38', name: 'The Mall Athens ΓÇô Neratziotissa Station', city: 'Athens', lat: 38.0414, lng: 23.7897 },
+  { alias: 'cam053', name: 'I/C Metamorfosi', city: 'Athens', lat: 38.065, lng: 23.7575 },
+  { alias: 'cam6', name: 'Koropi Toll Station', city: 'Koropi', lat: 37.8969, lng: 23.8753 },
+  { alias: 'cam88', name: 'Roupaki Toll Station', city: 'Elefsina', lat: 38.0781, lng: 23.6528 },
+];
+
+/** Northern Greece & regional live cameras (Thessaloniki, Kavala, Halkidiki, Thrace). */
+const GREECE_REGIONAL_CAMERAS: CctvCamera[] = [
+  {
+    id: 'gr-thessaloniki-center-live',
+    lat: 40.6401,
+    lng: 22.9444,
+    name: 'Thessaloniki ΓÇô Center (live)',
+    city: 'Thessaloniki',
+    country: 'Greece',
+    stream_url: 'https://www.youtube.com/embed/7V0IRFbzRFI?autoplay=1&mute=1',
+    stream_type: 'iframe',
+    external_url: 'https://www.webcameras.gr/loc_wc/webcameras.asp?ID=510&lang=en',
+    source: 'meteothes.gr / webcameras.gr',
+  },
+  {
+    id: 'gr-thessaloniki-port',
+    lat: 40.635,
+    lng: 22.938,
+    name: 'Thessaloniki ΓÇô Port',
+    city: 'Thessaloniki',
+    country: 'Greece',
+    feed_url: 'https://weather-webcam.eu/wp-content/uploads/2012/11/solun-webcam.jpg',
+    external_url: 'https://weather-webcam.eu/thessaloniki-live-online-webcam-solun-na-jivo/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'gr-kavala-live',
+    lat: 40.939,
+    lng: 24.408,
+    name: 'Kavala ΓÇô City View (live)',
+    city: 'Kavala',
+    country: 'Greece',
+    stream_url: 'https://city-view-of-kavala.click2stream.com/',
+    stream_type: 'iframe',
+    external_url: 'https://www.webcameras.gr/loc_wc/webcameras.asp?ID=286&lang=en',
+    source: 'click2stream / Angelcam',
+  },
+  {
+    id: 'gr-kavala-iraklitsa',
+    lat: 40.864,
+    lng: 24.32,
+    name: 'Nea Iraklitsa ΓÇô Beach (live)',
+    city: 'Kavala',
+    country: 'Greece',
+    stream_url: 'https://iraklitsa.click2stream.com/',
+    stream_type: 'iframe',
+    external_url: 'https://www.webcameras.gr/loc_wc/webcameras.asp?ID=620&lang=en',
+    source: 'click2stream / Angelcam',
+  },
+  {
+    id: 'gr-kavala-panorama',
+    lat: 40.936,
+    lng: 24.412,
+    name: 'Kavala ΓÇô Panorama',
+    city: 'Kavala',
+    country: 'Greece',
+    feed_url: 'https://weather-webcam.eu/wp-content/uploads/2013/03/kavala-webcam.jpg',
+    external_url: 'https://weather-webcam.eu/cam-camera-online-kavala-greece-garcia/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'gr-halkidiki-sithonia-live',
+    lat: 40.098,
+    lng: 23.979,
+    name: 'Halkidiki ΓÇô Sithonia (YouTube live)',
+    city: 'Sithonia',
+    country: 'Greece',
+    stream_url: 'https://www.youtube.com/embed/live_stream?channel=UCe7RFCllOgqTV5H4Y411XUw&autoplay=1&mute=1',
+    stream_type: 'iframe',
+    external_url: 'https://weather-webcam.eu/ueb-kameri-ot-sitoniya-halkidiki-garcziya-na-zhivo/',
+    source: 'YouTube / Sithonia',
+  },
+  {
+    id: 'gr-sarti-kalamitsi',
+    lat: 40.096,
+    lng: 23.978,
+    name: 'Sarti / Kalamitsi ΓÇô Paralia Sykia',
+    city: 'Sarti',
+    country: 'Greece',
+    feed_url: 'https://camping-melissi.gr/images/melissicam/snap/webcam.jpg',
+    external_url: 'https://weather-webcam.eu/kalamitsi-sarti-sithonia-garcia-greece-webcam-live-kamera-online-weather-vremeto/',
+    source: 'camping-melissi.gr',
+  },
+  {
+    id: 'gr-vourvourou-halkidiki',
+    lat: 40.248,
+    lng: 23.791,
+    name: 'Vourvourou ΓÇô Chalkidiki (live)',
+    city: 'Vourvourou',
+    country: 'Greece',
+    stream_url: 'https://www.youtube.com/embed/6E4IXis5myU?autoplay=1&mute=1',
+    stream_type: 'iframe',
+    external_url: 'https://www.webcameras.gr/loc_wc/webcameras.asp?ID=659&lang=en',
+    source: 'webcameras.gr',
+  },
+  {
+    id: 'gr-xanthi-windy',
+    lat: 41.135,
+    lng: 24.888,
+    name: 'Xanthi ΓÇô City (Windy live)',
+    city: 'Xanthi',
+    country: 'Greece',
+    stream_url: 'https://www.windy.com/webcams/1574440292/embed',
+    stream_type: 'iframe',
+    external_url: 'https://weather-webcam.eu/xanthi-ksanti-garcia-greece-webcam-live-kamera-online-weather-vremeto/',
+    source: 'Windy Webcams',
+  },
+  {
+    id: 'gr-thassos-prinos',
+    lat: 40.687,
+    lng: 24.576,
+    name: 'Thassos ΓÇô Prinos (live)',
+    city: 'Thassos',
+    country: 'Greece',
+    stream_url: 'https://www.youtube-nocookie.com/embed/r_ql6ILPj0c?autoplay=1&mute=1',
+    stream_type: 'iframe',
+    external_url: 'https://weather-webcam.eu/prinos-grees-garcia-webcam-live-kamera-online-vremeto/',
+    source: 'hotel-angelica.gr',
+  },
+  {
+    id: 'gr-thassos-live',
+    lat: 40.78,
+    lng: 24.68,
+    name: 'Thassos Island (live)',
+    city: 'Thassos',
+    country: 'Greece',
+    stream_url: 'https://www.youtube.com/embed/Zksbxgm6VHA?autoplay=1&mute=1',
+    stream_type: 'iframe',
+    external_url: 'https://www.webcameras.gr/loc_wc/webcameras.asp?ID=290&lang=en',
+    source: 'webcameras.gr',
+  },
+  {
+    id: 'gr-promachon-kulata-gr',
+    lat: 41.392,
+    lng: 23.355,
+    name: 'Promachon ΓÇô Kulata border (GR side)',
+    city: 'Promachon',
+    country: 'Greece',
+    feed_url: 'https://cdn.uab.org/images/cctv/images/cctv/cctv_01/cctv.jpg',
+    external_url: 'https://weather-webcam.eu/kameri-ot-gkpp-kulata-promahon-sledete-trafika-na-grackata-granica/',
+    source: 'UAB / GKPP',
+  },
+];
+
+async function fetchIpcamLiveHls(alias: string): Promise<string | null> {
+  try {
+    const res = await fetch(
+      `https://ipcamlive.com/api/v2/getstreamhlsurl?apisecret=${IPCAMLIVE_API_SECRET}&alias=${alias}`,
+      { signal: AbortSignal.timeout(10000) },
+    );
+    if (!res.ok) return null;
+    const data = await res.json();
+    if (data.result !== 'ok' || !data.data?.url) return null;
+    return String(data.data.url).replace(/^http:\/\//i, 'https://');
+  } catch {
+    return null;
+  }
+}
+
+async function fetchIpcamLiveSnapshot(alias: string): Promise<string | null> {
+  try {
+    const res = await fetch(
+      `https://ipcamlive.com/api/v2/getsnapshoturl?apisecret=${IPCAMLIVE_API_SECRET}&alias=${alias}`,
+      { signal: AbortSignal.timeout(10000) },
+    );
+    if (!res.ok) return null;
+    const data = await res.json();
+    if (data.result !== 'ok' || !data.data?.url) return null;
+    return String(data.data.url).replace(/^http:\/\//i, 'https://');
+  } catch {
+    return null;
+  }
+}
+
+export async function fetchGreeceCameras(): Promise<CctvCamera[]> {
+  const attikiSettled = await Promise.allSettled(
+    ATTiki_ODOS_CAMERAS.map(async (cam) => {
+      const [hls, snapshot] = await Promise.all([
+        fetchIpcamLiveHls(cam.alias),
+        fetchIpcamLiveSnapshot(cam.alias),
+      ]);
+      const fallback = `https://www.aodos.gr/wp-content/themes/aodos/assets/img/cameras/${cam.alias}-snapshot.jpg`;
+
+      return {
+        id: `gr-aodos-${cam.alias}`,
+        lat: cam.lat,
+        lng: cam.lng,
+        name: cam.name,
+        city: cam.city,
+        country: 'Greece',
+        stream_url: hls || undefined,
+        stream_type: hls ? ('hls' as const) : undefined,
+        feed_url: snapshot || fallback,
+        external_url: 'https://www.aodos.gr/en/live-streaming/',
+        source: 'Attiki Odos',
+      } satisfies CctvCamera;
+    }),
+  );
+
+  const attiki = attikiSettled
+    .filter((result): result is PromiseFulfilledResult<CctvCamera> => result.status === 'fulfilled')
+    .map((result) => result.value);
+
+  return [...attiki, ...GREECE_REGIONAL_CAMERAS];
+}
diff --git a/src/app/api/cctv/macedonia.ts b/src/app/api/cctv/macedonia.ts
new file mode 100644
index 0000000..558b9fd
--- /dev/null
+++ b/src/app/api/cctv/macedonia.ts
@@ -0,0 +1,97 @@
+import type { CctvCamera } from './types';
+
+/** North Macedonia ΓÇö Neotel HLS border and highway streams. */
+const MACEDONIA_CAMERAS: CctvCamera[] = [
+  {
+    id: 'mk-deve-bair',
+    lat: 42.149, lng: 22.537,
+    name: 'Deve Bair ΓÇô Gyueshevo Border',
+    city: 'Deve Bair', country: 'North Macedonia',
+    stream_url: 'https://streaming1.neotel.net.mk/stream/deve_bair.m3u8',
+    stream_type: 'hls',
+    external_url: 'https://www.weather-webcam.eu/cams/deve-bair.html',
+    source: 'Neotel / GKPP',
+  },
+  {
+    id: 'mk-tabanovce',
+    lat: 42.232, lng: 21.718,
+    name: 'Tabanovce ΓÇô Pre┼íevo Border',
+    city: 'Tabanovce', country: 'North Macedonia',
+    stream_url: 'https://streaming1.neotel.net.mk/stream/tabanovce.m3u8',
+    stream_type: 'hls',
+    external_url: 'https://weather-webcam.eu/cams/tabanovce.html',
+    source: 'Neotel / GKPP',
+  },
+  {
+    id: 'mk-bogorodica',
+    lat: 41.144, lng: 22.534,
+    name: 'Bogorodica ΓÇô Gevgelija Border',
+    city: 'Bogorodica', country: 'North Macedonia',
+    stream_url: 'https://streaming1.neotel.net.mk/stream/bogorodica.m3u8',
+    stream_type: 'hls',
+    external_url: 'https://www.weather-webcam.eu/cams/make-bogorodica.html',
+    source: 'Neotel / GKPP',
+  },
+  {
+    id: 'mk-miladinovci-1',
+    lat: 42.212, lng: 21.745,
+    name: 'Miladinovci Border (cam 1)',
+    city: 'Miladinovci', country: 'North Macedonia',
+    stream_url: 'https://streaming1.neotel.net.mk/stream/miladinovci_1.m3u8',
+    stream_type: 'hls',
+    external_url: 'https://www.weather-webcam.eu/cams/miladinovci_1.html',
+    source: 'Neotel / GKPP',
+  },
+  {
+    id: 'mk-miladinovci-2',
+    lat: 42.211, lng: 21.747,
+    name: 'Miladinovci Border (cam 2)',
+    city: 'Miladinovci', country: 'North Macedonia',
+    stream_url: 'https://streaming1.neotel.net.mk/stream/miladinovci_2.m3u8',
+    stream_type: 'hls',
+    external_url: 'https://www.weather-webcam.eu/cams/miladinovci_2.html',
+    source: 'Neotel / GKPP',
+  },
+  {
+    id: 'mk-medzitlija',
+    lat: 40.936, lng: 21.415,
+    name: 'Med┼╛itlija ΓÇô Bitola Border',
+    city: 'Med┼╛itlija', country: 'North Macedonia',
+    stream_url: 'https://streaming1.neotel.net.mk/stream/medzitlija.m3u8',
+    stream_type: 'hls',
+    external_url: 'https://weather-webcam.eu/cams/medzitlija.html',
+    source: 'Neotel / GKPP',
+  },
+  {
+    id: 'mk-tetovo',
+    lat: 42.01, lng: 20.971,
+    name: 'Tetovo',
+    city: 'Tetovo', country: 'North Macedonia',
+    stream_url: 'https://streaming1.neotel.net.mk/stream/zelino_1.m3u8',
+    stream_type: 'hls',
+    external_url: 'https://weather-webcam.eu/cams/tetovo.html',
+    source: 'Neotel',
+  },
+  {
+    id: 'mk-veles',
+    lat: 41.716, lng: 21.773,
+    name: 'Veles Highway',
+    city: 'Veles', country: 'North Macedonia',
+    stream_url: 'https://streaming1.neotel.net.mk/stream/otovica_2.m3u8',
+    stream_type: 'hls',
+    external_url: 'https://weather-webcam.eu/cams/veles.html',
+    source: 'Neotel',
+  },
+  {
+    id: 'mk-skopje',
+    lat: 41.998, lng: 21.431,
+    name: 'Skopje ΓÇô Millennium Cross Panorama',
+    city: 'Skopje', country: 'North Macedonia',
+    external_url: 'https://weather-webcam.eu/360-panoramna-ueb-kamera-ot-skopie-ot-mileniumski-krast-1000-m/',
+    source: 'weather-webcam.eu',
+  },
+];
+
+export async function fetchMacedoniaCameras(): Promise<CctvCamera[]> {
+  return MACEDONIA_CAMERAS.filter((cam) => cam.feed_url || cam.stream_url || cam.external_url);
+}
diff --git a/src/app/api/cctv/romania.ts b/src/app/api/cctv/romania.ts
new file mode 100644
index 0000000..8b0d0fc
--- /dev/null
+++ b/src/app/api/cctv/romania.ts
@@ -0,0 +1,94 @@
+import type { CctvCamera } from './types';
+
+/** Romanian webcams ΓÇö cities, Black Sea coast, Danube border. */
+const ROMANIA_CAMERAS: CctvCamera[] = [
+  {
+    id: 'ro-bucharest',
+    lat: 44.426,
+    lng: 26.102,
+    name: 'Bucharest Panorama',
+    city: 'Bucharest',
+    country: 'Romania',
+    feed_url: 'https://home-solutions.bg/cams/bukor.jpg',
+    external_url: 'https://weather-webcam.eu/cam-camera-online-romania-bucharest-1/',
+    source: 'home-solutions.bg',
+  },
+  {
+    id: 'ro-bailesti',
+    lat: 44.025,
+    lng: 23.235,
+    name: 'B─âile╚Öti',
+    city: 'B─âile╚Öti',
+    country: 'Romania',
+    feed_url: 'https://images-webcams.windy.com/37/1373238237/current/full/1373238237.jpg',
+    external_url: 'https://weather-webcam.eu/cam-camera-online-romania-bailesti-live/',
+    source: 'Windy Webcams',
+  },
+  {
+    id: 'ro-brasov',
+    lat: 45.657,
+    lng: 25.601,
+    name: 'Bra╚Öov',
+    city: 'Bra╚Öov',
+    country: 'Romania',
+    external_url: 'https://weather-webcam.eu/cam-camera-online-romania-brashov/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'ro-eforie-sud',
+    lat: 44.058,
+    lng: 28.632,
+    name: 'Eforie Sud ΓÇô Black Sea',
+    city: 'Eforie Sud',
+    country: 'Romania',
+    stream_url: 'https://g0.ipcamlive.com/player/player.php?alias=5ad96539684a9&autoplay=1',
+    stream_type: 'iframe',
+    external_url: 'https://weather-webcam.eu/ueb-kamera-ot-eforie-sud/',
+    source: 'IPCamLive',
+  },
+  {
+    id: 'ro-giurgiu-bridge',
+    lat: 43.903,
+    lng: 25.974,
+    name: 'Giurgiu ΓÇô Ruse Danube Bridge',
+    city: 'Giurgiu',
+    country: 'Romania',
+    feed_url: 'https://weather-webcam.eu/cams/gkpp-ruse-gurgevo-webcam-kamera-na-jivo.jpg',
+    external_url: 'https://weather-webcam.eu/gkpp-ruse-gurgevo-dunav-most-bulgaria-romania-kamera-na-jivo-vremeto-dunav-onlain/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'ro-giurgiu-bridge-2',
+    lat: 43.902,
+    lng: 25.976,
+    name: 'Giurgiu ΓÇô Danube Bridge (lane 2)',
+    city: 'Giurgiu',
+    country: 'Romania',
+    feed_url: 'https://weather-webcam.eu/cams/gkpp-ruse-gurgevo-webcam-kamera-na-jivo2.jpg',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'ro-oltenita-tutrakan',
+    lat: 44.093,
+    lng: 26.636,
+    name: 'Olteni╚¢a ΓÇô Tutrakan Ferry',
+    city: 'Olteni╚¢a',
+    country: 'Romania',
+    feed_url: 'https://weather-webcam.eu/cams/ruse-webcam-gkpp-kam-tutrakan.jpg',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'ro-balea-lake',
+    lat: 45.604,
+    lng: 24.616,
+    name: 'Balea Lake ΓÇô Carpathians',
+    city: 'Sibiu',
+    country: 'Romania',
+    external_url: 'https://weather-webcam.eu/balea-lake-karpati-romania-live-kamera-vremeto-ski/',
+    source: 'weather-webcam.eu',
+  },
+];
+
+export async function fetchRomaniaCameras(): Promise<CctvCamera[]> {
+  return ROMANIA_CAMERAS.filter((cam) => cam.feed_url || cam.stream_url || cam.external_url);
+}
diff --git a/src/app/api/cctv/route.ts b/src/app/api/cctv/route.ts
index 9d8dd2e..1c64cea 100644
--- a/src/app/api/cctv/route.ts
+++ b/src/app/api/cctv/route.ts
@@ -1,10 +1,17 @@
 import { NextResponse } from 'next/server';
 import { fetchAsfinagCameras } from './asfinag';
+import { fetchBulgariaCameras } from './bulgaria';
+import { fetchGreeceCameras } from './greece';
+import { fetchSerbiaCameras } from './serbia';
+import { fetchMacedoniaCameras } from './macedonia';
+import { fetchTurkeyCameras } from './turkey';
+import { fetchRomaniaCameras } from './romania';
 
 /**
  * OSIRIS ΓÇö Worldwide CCTV Camera API v2
  * Viewport-aware: pass ?region=xx to load cameras for specific regions
- * Supports: uk, us-east, us-west, us-central, canada, europe, asia
+ * Supports: uk, us-east, us-west, us-central, canada, europe, asia,
+ * bulgaria, greece, serbia, macedonia, turkey, romania
  * Or pass ?lat=x&lng=y&radius=5 for proximity-based loading
  */
 
@@ -275,6 +282,12 @@ const REGION_FETCHERS: Record<string, () => Promise<any[]>> = {
   'canada': fetchCanadaCameras,
   'europe': fetchEuropeCameras,
   'asia': fetchAsiaCameras,
+  'bulgaria': fetchBulgariaCameras,
+  'greece': fetchGreeceCameras,
+  'serbia': fetchSerbiaCameras,
+  'macedonia': fetchMacedoniaCameras,
+  'turkey': fetchTurkeyCameras,
+  'romania': fetchRomaniaCameras,
 };
 
 // Determine which regions to fetch based on viewport bounds
@@ -290,8 +303,24 @@ function getRegionsForBounds(lat: number, lng: number, radius: number): string[]
   if (lat > 24 && lat < 49 && lng > -105 && lng < -80) regions.push('us-central');
   // Canada
   if (lat > 42 && lat < 70 && lng > -141 && lng < -52) regions.push('canada');
-  // Europe
-  if (lat > 35 && lat < 72 && lng > -11 && lng < 40) regions.push('europe');
+  // Europe (NL, AT ΓÇö skip when viewport is in BG/GR)
+  const inBulgaria = lat > 41 && lat < 44.5 && lng > 22 && lng < 29.5;
+  const inGreece = lat > 34.5 && lat < 41.8 && lng > 19 && lng < 30;
+  const inSerbia = lat > 42 && lat < 46.5 && lng > 18.8 && lng < 23.3;
+  const inMacedonia = lat > 40.8 && lat < 42.8 && lng > 20.4 && lng < 23.2;
+  const inRomania = lat > 43.5 && lat < 48.5 && lng > 20 && lng < 29.8;
+  const inTurkey = lat > 35.5 && lat < 42.5 && lng > 25.5 && lng < 45;
+  const inBalkans = inBulgaria || inGreece || inSerbia || inMacedonia || inRomania || inTurkey;
+
+  if (lat > 35 && lat < 72 && lng > -11 && lng < 40 && !inBalkans) {
+    regions.push('europe');
+  }
+  if (inBulgaria) regions.push('bulgaria');
+  if (inGreece) regions.push('greece');
+  if (inSerbia) regions.push('serbia');
+  if (inMacedonia) regions.push('macedonia');
+  if (inRomania) regions.push('romania');
+  if (inTurkey) regions.push('turkey');
 
   // Asia (includes Middle East, SE Asia, overriding parts of china but that's ok they can both load)
   if ((lat > -10 && lat < 60 && lng > 60 && lng < 150)) regions.push('asia');
diff --git a/src/app/api/cctv/serbia.ts b/src/app/api/cctv/serbia.ts
new file mode 100644
index 0000000..3d864cd
--- /dev/null
+++ b/src/app/api/cctv/serbia.ts
@@ -0,0 +1,79 @@
+import type { CctvCamera } from './types';
+
+const SERBIA_CAMERAS: CctvCamera[] = [
+  {
+    id: 'rs-belgrade-live',
+    lat: 44.817, lng: 20.456,
+    name: 'Belgrade Live Cam',
+    city: 'Belgrade', country: 'Serbia',
+    feed_url: 'https://stream.uzivobeograd.rs/live/cam_7.jpg',
+    external_url: 'https://weather-webcam.eu/belgrad-webcam-online-na-jivo-kamera-ujivo-bg/',
+    source: 'Uzivo Beograd',
+  },
+  {
+    id: 'rs-kalotina-gradina-1',
+    lat: 42.997, lng: 22.882,
+    name: 'Kalotina ΓÇô Gradina Border (lane 1)',
+    city: 'Gradina', country: 'Serbia',
+    stream_url: 'https://kamere.amss.org.rs/gradina1/gradina1.m3u8',
+    stream_type: 'hls',
+    external_url: 'https://www.weather-webcam.eu/cams/gradina1.html',
+    source: 'AMSS / GKPP',
+  },
+  {
+    id: 'rs-kalotina-gradina-2',
+    lat: 42.996, lng: 22.884,
+    name: 'Kalotina ΓÇô Gradina Border (lane 2)',
+    city: 'Gradina', country: 'Serbia',
+    stream_url: 'https://kamere.amss.org.rs/gradina2/gradina2.m3u8',
+    stream_type: 'hls',
+    external_url: 'https://www.weather-webcam.eu/cams/gradina2.html',
+    source: 'AMSS / GKPP',
+  },
+  {
+    id: 'rs-zlatibor',
+    lat: 43.729, lng: 19.713,
+    name: 'Zlatibor Mountain',
+    city: 'Zlatibor', country: 'Serbia',
+    feed_url: 'https://radionicakrug.com/kamera/zlatiborrs.jpg',
+    external_url: 'https://weather-webcam.eu/online-live-webcam-weather-zlatibor-sarbia/',
+    source: 'Radionica Krug',
+  },
+  {
+    id: 'rs-senta',
+    lat: 45.927, lng: 20.078,
+    name: 'Senta',
+    city: 'Senta', country: 'Serbia',
+    feed_url: 'https://home-solutions.bg/cams/senta.jpg',
+    external_url: 'https://weather-webcam.eu/senta-serbia-webcam-online-na-jivo-kamera-ujivo/',
+    source: 'home-solutions.bg',
+  },
+  {
+    id: 'rs-subotica',
+    lat: 46.1, lng: 19.665,
+    name: 'Subotica',
+    city: 'Subotica', country: 'Serbia',
+    external_url: 'https://weather-webcam.eu/webcam-sarbia-subotica/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'rs-zrenjanin',
+    lat: 45.383, lng: 20.381,
+    name: 'Zrenjanin',
+    city: 'Zrenjanin', country: 'Serbia',
+    external_url: 'https://weather-webcam.eu/online-webcam-zrenianin-sarbia-na-zivo/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'rs-kopaonik',
+    lat: 43.285, lng: 20.816,
+    name: 'Kopaonik Ski Resort',
+    city: 'Kopaonik', country: 'Serbia',
+    external_url: 'https://weather-webcam.eu/kopaonik-webcam-online-na-jivo-kamera-ujivo/',
+    source: 'weather-webcam.eu',
+  },
+];
+
+export async function fetchSerbiaCameras(): Promise<CctvCamera[]> {
+  return SERBIA_CAMERAS.filter((cam) => cam.feed_url || cam.stream_url || cam.external_url);
+}
diff --git a/src/app/api/cctv/turkey.ts b/src/app/api/cctv/turkey.ts
new file mode 100644
index 0000000..f8e899c
--- /dev/null
+++ b/src/app/api/cctv/turkey.ts
@@ -0,0 +1,52 @@
+import type { CctvCamera } from './types';
+
+const TURKEY_CAMERAS: CctvCamera[] = [
+  {
+    id: 'tr-makaza-nymfea-1',
+    lat: 41.295, lng: 24.137,
+    name: 'Makaza ΓÇô Nymfea Border (cam 1)',
+    city: 'Komotini', country: 'Turkey',
+    stream_url: 'https://www.youtube.com/embed/pnr0lhrqRAc?autoplay=1&mute=1',
+    stream_type: 'iframe',
+    external_url: 'https://weather-webcam.eu/ueb-kameri-ot-gkpp-makaza-nimfeya/',
+    source: 'YouTube / GKPP',
+  },
+  {
+    id: 'tr-makaza-nymfea-2',
+    lat: 41.294, lng: 24.139,
+    name: 'Makaza ΓÇô Nymfea Border (cam 2)',
+    city: 'Komotini', country: 'Turkey',
+    stream_url: 'https://www.youtube.com/embed/YXN19ZEpIkc?autoplay=1&mute=1',
+    stream_type: 'iframe',
+    external_url: 'https://weather-webcam.eu/ueb-kameri-ot-gkpp-makaza-nimfeya/',
+    source: 'YouTube / GKPP',
+  },
+  {
+    id: 'tr-kapikule',
+    lat: 41.717, lng: 26.33,
+    name: 'Kap─▒kule ΓÇô Kapitan Andreevo Border',
+    city: 'Edirne', country: 'Turkey',
+    external_url: 'https://weather-webcam.eu/svilengrad-kapitan-andreevo-kapakule-odrin-live-kamera/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'tr-hamzabeyli',
+    lat: 41.97, lng: 26.388,
+    name: 'Hamzabeyli ΓÇô Lesovo Border',
+    city: 'Edirne', country: 'Turkey',
+    external_url: 'https://weather-webcam.eu/lesovo-hamzabeyli-live-kamera-balgaria-turcia-granica-trafik-vremeto/',
+    source: 'weather-webcam.eu',
+  },
+  {
+    id: 'tr-derekoy',
+    lat: 41.405, lng: 27.521,
+    name: 'Derek├╢y ΓÇô Malko Tarnovo Border',
+    city: 'K─▒rklareli', country: 'Turkey',
+    external_url: 'https://weather-webcam.eu/gkpp-malko-tarnovo-derekoi-live-kamera-balgaria-turcia-granica-trafik-vremeto/',
+    source: 'weather-webcam.eu',
+  },
+];
+
+export async function fetchTurkeyCameras(): Promise<CctvCamera[]> {
+  return TURKEY_CAMERAS.filter((cam) => cam.feed_url || cam.stream_url || cam.external_url);
+}
diff --git a/src/app/api/cctv/types.ts b/src/app/api/cctv/types.ts
new file mode 100644
index 0000000..c08ca5d
--- /dev/null
+++ b/src/app/api/cctv/types.ts
@@ -0,0 +1,32 @@
+export type CctvStreamType = 'jpg' | 'hls' | 'iframe';
+
+export interface CctvCamera {
+  id: string;
+  lat: number;
+  lng: number;
+  name: string;
+  city: string;
+  country: string;
+  /** Static image URL (MJPEG/JPG snapshot) */
+  feed_url?: string;
+  /** Live video stream (HLS .m3u8) or embed URL (YouTube/rtsp.me) */
+  stream_url?: string;
+  stream_type?: CctvStreamType;
+  external_url?: string;
+  source: string;
+}
+
+export function normalizeFeedUrl(url: string): string {
+  if (url.startsWith('pics/')) {
+    return `http://free-webcambg.com/${url.split('?')[0]}`;
+  }
+  return url.split('?')[0];
+}
+
+export function inferStreamType(url: string): CctvStreamType {
+  if (/\.m3u8(\?|$)/i.test(url)) return 'hls';
+  if (/youtube\.com\/embed|youtube-nocookie\.com\/embed|rtsp\.me\/embed|ipcamlive\.com\/player|click2stream\.com|windy\.com\/webcams\/\d+\/embed/i.test(url)) {
+    return 'iframe';
+  }
+  return 'jpg';
+}
diff --git a/src/app/api/earthquakes/route.ts b/src/app/api/earthquakes/route.ts
index 6b90e3c..4b52dbb 100644
--- a/src/app/api/earthquakes/route.ts
+++ b/src/app/api/earthquakes/route.ts
@@ -1,48 +1,51 @@
 import { NextResponse } from 'next/server';
+import { fetchNigggEarthquakes, mergeEarthquakes } from '@/lib/bulgaria-sources';
 
 /**
  * OSIRIS ΓÇö Earthquake Data API
- * Fetches real-time seismic events from USGS (last 24h, M2.5+)
- * No API key required
+ * USGS global (M2.5+, 24h) + NIGGG-BAS Balkans network (30 days, lower magnitude)
  */
 
 export async function GET() {
   try {
-    const url = 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.geojson';
-    const res = await fetch(url, {
-      signal: AbortSignal.timeout(10000),
-      next: { revalidate: 60 },
-    });
+    const [usgsRes, nigggEvents] = await Promise.all([
+      fetch('https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.geojson', {
+        signal: AbortSignal.timeout(10000),
+        next: { revalidate: 60 },
+      }),
+      fetchNigggEarthquakes().catch(() => []),
+    ]);
 
-    if (!res.ok) {
-      return NextResponse.json({ earthquakes: [], error: 'USGS unavailable' });
+    let usgsEarthquakes: any[] = [];
+    if (usgsRes.ok) {
+      const data = await usgsRes.json();
+      usgsEarthquakes = (data.features || []).map((f: any) => {
+        const coords = f.geometry?.coordinates || [0, 0, 0];
+        const props = f.properties || {};
+        return {
+          id: f.id,
+          lat: coords[1],
+          lng: coords[0],
+          depth: coords[2],
+          magnitude: props.mag,
+          place: props.place,
+          time: props.time,
+          url: props.url,
+          tsunami: props.tsunami,
+          type: props.type,
+          felt: props.felt,
+          alert: props.alert,
+          source: 'USGS',
+        };
+      });
     }
 
-    const data = await res.json();
-    const features = data.features || [];
-
-    const earthquakes = features.map((f: any) => {
-      const coords = f.geometry?.coordinates || [0, 0, 0];
-      const props = f.properties || {};
-      return {
-        id: f.id,
-        lat: coords[1],
-        lng: coords[0],
-        depth: coords[2],
-        magnitude: props.mag,
-        place: props.place,
-        time: props.time,
-        url: props.url,
-        tsunami: props.tsunami,
-        type: props.type,
-        felt: props.felt,
-        alert: props.alert,
-      };
-    });
+    const earthquakes = mergeEarthquakes(usgsEarthquakes, nigggEvents);
 
     return NextResponse.json({
       earthquakes,
       total: earthquakes.length,
+      sources: ['USGS', 'NIGGG-BAS'],
       timestamp: new Date().toISOString(),
     }, {
       headers: {
diff --git a/src/app/api/news/route.ts b/src/app/api/news/route.ts
index 67b2ed3..760b4a2 100644
--- a/src/app/api/news/route.ts
+++ b/src/app/api/news/route.ts
@@ -8,6 +8,9 @@ import { NextResponse } from 'next/server';
 
 const FEEDS: Record<string, string> = {
   BBC: 'https://feeds.bbci.co.uk/news/world/rss.xml',
+  BBCEurope: 'https://feeds.bbci.co.uk/news/world/europe/rss.xml',
+  Actualno: 'https://www.actualno.com/rss/actualno.xml',
+  Mediapool: 'https://www.mediapool.bg/rss/',
   AlJazeera: 'https://www.aljazeera.com/xml/rss/all.xml',
   NPR: 'https://feeds.npr.org/1004/rss.xml',
   GDACS: 'https://www.gdacs.org/xml/rss.xml',
@@ -32,6 +35,18 @@ const KEYWORD_COORDS: Record<string, [number, number]> = {
   'south china sea': [15.000, 115.000], 'red sea': [20.000, 38.500],
   'persian gulf': [26.500, 51.500], 'strait of hormuz': [26.600, 56.300],
   'black sea': [43.500, 34.000], 'arctic': [75.000, 0.000],
+  // Balkans / Bulgaria
+  'bulgaria': [42.698, 25.485], '╨▒╤è╨╗╨│╨░╤Ç╨╕╤Å': [42.698, 25.485],
+  'sofia': [42.698, 25.485], '╤ü╨╛╤ä╨╕╤Å': [42.698, 25.485],
+  'plovdiv': [42.136, 24.745], '╨┐╨╗╨╛╨▓╨┤╨╕╨▓': [42.136, 24.745],
+  'varna': [43.214, 27.915], '╨▓╨░╤Ç╨╜╨░': [43.214, 27.915],
+  'burgas': [42.504, 27.462], '╨▒╤â╤Ç╨│╨░╤ü': [42.504, 27.462],
+  'ruse': [43.835, 25.965], '╤Ç╤â╤ü╨╡': [43.835, 25.965],
+  'balkans': [42.000, 22.000], '╨▒╨░╨╗╨║╨░╨╜': [42.000, 22.000],
+  'greece': [39.074, 21.824], '╨│╤è╤Ç╤å╨╕╤Å': [39.074, 21.824],
+  'serbia': [44.016, 21.005], '╤ü╤è╤Ç╨▒╨╕╤Å': [44.016, 21.005],
+  'romania': [45.943, 24.967], '╤Ç╤â╨╝╤è╨╜╨╕╤Å': [45.943, 24.967],
+  'turkey': [39.000, 35.000], '╤é╤â╤Ç╤å╨╕╤Å': [39.000, 35.000],
 };
 
 function scoreRisk(title: string, summary: string): number {
diff --git a/src/app/api/weather/route.ts b/src/app/api/weather/route.ts
index a81b772..0f75b8c 100644
--- a/src/app/api/weather/route.ts
+++ b/src/app/api/weather/route.ts
@@ -1,78 +1,93 @@
 import { NextResponse } from 'next/server';
+import { fetchGdacsBalkansAlerts } from '@/lib/bulgaria-sources';
 
 /**
  * OSIRIS ΓÇö Severe Weather & Anomalies API
- * Fetches active natural events from NASA EONET (Earth Observatory Natural Event Tracker)
- * Tracks: Severe Storms (Hurricanes/Typhoons), Volcanoes, Sea Ice
+ * NASA EONET (global) + GDACS Balkans civil-protection alerts
  */
 
 export async function GET() {
   try {
-    // Fetch currently open events from EONET v3
-    const res = await fetch('https://eonet.gsfc.nasa.gov/api/v3/events?status=open&limit=100', {
-      signal: AbortSignal.timeout(10000),
-      next: { revalidate: 1800 }, // Cache for 30 minutes (events don't change by the second)
-    });
+    const [eonetRes, gdacsAlerts] = await Promise.all([
+      fetch('https://eonet.gsfc.nasa.gov/api/v3/events?status=open&limit=100', {
+        signal: AbortSignal.timeout(10000),
+        next: { revalidate: 1800 },
+      }),
+      fetchGdacsBalkansAlerts().catch(() => []),
+    ]);
+
+    const events: any[] = [];
 
-    if (!res.ok) throw new Error(`NASA EONET API returned ${res.status}`);
+    if (eonetRes.ok) {
+      const data = await eonetRes.json();
 
-    const data = await res.json();
-    const events = [];
+      for (const event of data.events || []) {
+        const geom = event.geometry && event.geometry.length > 0 ? event.geometry[event.geometry.length - 1] : null;
+        if (!geom || geom.type !== 'Point') continue;
 
-    for (const event of data.events || []) {
-      // Get the most recent geometry point
-      const geom = event.geometry && event.geometry.length > 0 ? event.geometry[event.geometry.length - 1] : null;
-      if (!geom || geom.type !== 'Point') continue; // Skip polygons for now
+        const category = event.categories?.[0]?.id || 'unknown';
+        if (category === 'wildfires' || category === 'earthquakes') continue;
 
-      const category = event.categories?.[0]?.id || 'unknown';
-      
-      // We already track wildfires via FIRMS, so we skip EONET wildfires
-      if (category === 'wildfires') continue;
+        let typeLabel = 'Event';
+        let icon = 'alert';
+        let severity = 'low';
 
-      let typeLabel = 'Event';
-      let icon = 'alert';
-      let severity = 'low';
+        if (category === 'severeStorms') {
+          typeLabel = 'Severe Storm';
+          icon = 'cyclone';
+          severity = 'high';
+        } else if (category === 'volcanoes') {
+          typeLabel = 'Volcano Eruption';
+          icon = 'volcano';
+          severity = 'high';
+        } else if (category === 'seaIce') {
+          typeLabel = 'Iceberg / Sea Ice';
+          icon = 'ice';
+          severity = 'medium';
+        } else {
+          typeLabel = event.categories?.[0]?.title || 'Anomaly';
+        }
 
-      if (category === 'severeStorms') {
-        typeLabel = 'Severe Storm';
-        icon = 'cyclone';
-        severity = 'high';
-      } else if (category === 'volcanoes') {
-        typeLabel = 'Volcano Eruption';
-        icon = 'volcano';
-        severity = 'high';
-      } else if (category === 'seaIce') {
-        typeLabel = 'Iceberg / Sea Ice';
-        icon = 'ice';
-        severity = 'medium';
-      } else if (category === 'earthquakes') {
-        continue; // Handled by USGS
-      } else {
-        typeLabel = event.categories?.[0]?.title || 'Anomaly';
+        events.push({
+          id: event.id,
+          title: event.title,
+          category,
+          type: typeLabel,
+          icon,
+          severity,
+          lat: geom.coordinates[1],
+          lng: geom.coordinates[0],
+          date: geom.date,
+          source: event.sources?.[0]?.url || 'NASA EONET',
+        });
       }
+    }
 
+    for (const alert of gdacsAlerts) {
       events.push({
-        id: event.id,
-        title: event.title,
-        category: category,
-        type: typeLabel,
-        icon: icon,
-        severity: severity,
-        lat: geom.coordinates[1],
-        lng: geom.coordinates[0],
-        date: geom.date,
-        source: event.sources?.[0]?.url || 'NASA EONET',
+        id: alert.id,
+        title: alert.title,
+        category: alert.category,
+        type: alert.type,
+        icon: alert.icon,
+        severity: alert.severity,
+        lat: alert.lat,
+        lng: alert.lng,
+        date: alert.date,
+        source: alert.source,
+        link: alert.link,
+        alertLevel: alert.alertLevel,
       });
     }
 
     return NextResponse.json({
       events,
       total: events.length,
+      sources: ['NASA EONET', 'GDACS'],
       timestamp: new Date().toISOString(),
     });
-
   } catch (error) {
     console.error('Weather API error:', error);
-    return NextResponse.json({ events: [], error: 'Failed to fetch NASA EONET data' }, { status: 500 });
+    return NextResponse.json({ events: [], error: 'Failed to fetch weather/disaster data' }, { status: 500 });
   }
 }
diff --git a/src/components/CameraViewer.tsx b/src/components/CameraViewer.tsx
index 1378aad..6b18e83 100644
--- a/src/components/CameraViewer.tsx
+++ b/src/components/CameraViewer.tsx
@@ -1,6 +1,6 @@
 'use client';
 
-import { useState, useEffect, useRef } from 'react';
+import { useState, useEffect, useRef, useMemo } from 'react';
 import { motion, AnimatePresence } from 'framer-motion';
 import { X, ExternalLink, RefreshCw, MapPin, Camera, Maximize2 } from 'lucide-react';
 
@@ -10,42 +10,165 @@ interface CameraViewerProps {
   onLocate?: (lat: number, lng: number) => void;
 }
 
+type PlaybackMode = 'hls' | 'iframe' | 'jpg' | 'external';
+
+function resolvePlayback(camera: any): { mode: PlaybackMode; url: string | null } {
+  if (!camera) return { mode: 'external', url: null };
+
+  const streamUrl = camera.stream_url as string | undefined;
+  const streamType = camera.stream_type as string | undefined;
+
+  if (streamUrl) {
+    if (streamType === 'iframe' || /youtube\.com\/embed|youtube-nocookie\.com\/embed|rtsp\.me\/embed|ipcamlive\.com\/player|click2stream\.com|windy\.com\/webcams\/\d+\/embed/i.test(streamUrl)) {
+      return { mode: 'iframe', url: streamUrl.replace(/&amp;/g, '&') };
+    }
+    if (streamType === 'hls' || /\.m3u8(\?|$)/i.test(streamUrl)) {
+      return { mode: 'hls', url: streamUrl };
+    }
+  }
+
+  if (camera.feed_url) {
+    return { mode: 'jpg', url: camera.feed_url };
+  }
+
+  const external = camera.external_url as string | undefined;
+  if (external) {
+    const normalized = external.replace(/&amp;/g, '&');
+    if (/youtube\.com\/embed|youtube-nocookie\.com\/embed|rtsp\.me\/embed|click2stream\.com|windy\.com\/webcams\/\d+\/embed/i.test(normalized)) {
+      return { mode: 'iframe', url: normalized };
+    }
+    if (/ipcamlive\.com\/player/i.test(normalized)) {
+      return { mode: 'iframe', url: normalized };
+    }
+    if (/\.m3u8(\?|$)/i.test(normalized)) {
+      return { mode: 'hls', url: normalized };
+    }
+    return { mode: 'external', url: normalized };
+  }
+
+  return { mode: 'external', url: null };
+}
+
 export default function CameraViewer({ camera, onClose, onLocate }: CameraViewerProps) {
   const [imageUrl, setImageUrl] = useState<string | null>(null);
   const [loading, setLoading] = useState(true);
   const [error, setError] = useState(false);
   const [refreshKey, setRefreshKey] = useState(0);
   const [fullscreen, setFullscreen] = useState(false);
-  const externalFeedUrl = camera?.external_url || camera?.feed_url;
-  const externalOnly = Boolean(camera?.external_url && !camera?.feed_url);
+  const videoRef = useRef<HTMLVideoElement>(null);
+  const hlsRef = useRef<{ destroy: () => void } | null>(null);
 
+  const playback = useMemo(() => resolvePlayback(camera), [camera]);
+  const externalLink = camera?.external_url || camera?.stream_url || camera?.feed_url;
+
+  // ΓöÇΓöÇ JPG snapshot refresh (every 5s) ΓöÇΓöÇ
   useEffect(() => {
-    if (!camera) return;
+    if (!camera || playback.mode !== 'jpg' || !playback.url) return;
+
     setLoading(true);
     setError(false);
-    setImageUrl(null);
 
-    if (!camera.feed_url) {
-      setLoading(false);
-      return;
-    }
+    const bust = (url: string) =>
+      url.includes('?') ? `${url}&_t=${Date.now()}` : `${url}?_t=${Date.now()}`;
+
+    setImageUrl(bust(playback.url));
+    const iv = setInterval(() => setRefreshKey((k) => k + 1), 5000);
+    return () => clearInterval(iv);
+  }, [camera, playback.mode, playback.url]);
 
-    // Add cache-busting for live feeds
-    const url = camera.feed_url.includes('?')
-      ? `${camera.feed_url}&_t=${Date.now()}`
-      : `${camera.feed_url}?_t=${Date.now()}`;
-    setImageUrl(url);
-  }, [camera, refreshKey]);
+  useEffect(() => {
+    if (playback.mode !== 'jpg' || !playback.url) return;
+    const bust = playback.url.includes('?')
+      ? `${playback.url}&_t=${Date.now()}`
+      : `${playback.url}?_t=${Date.now()}`;
+    setImageUrl(bust);
+  }, [refreshKey, playback.mode, playback.url]);
 
-  // Auto-refresh every 30 seconds for live feeds (skip for external-only)
+  // ΓöÇΓöÇ HLS live stream ΓöÇΓöÇ
   useEffect(() => {
-    if (!camera?.feed_url) return;
-    const iv = setInterval(() => setRefreshKey(k => k + 1), 30000);
-    return () => clearInterval(iv);
-  }, [camera?.feed_url]);
+    if (!camera || playback.mode !== 'hls' || !playback.url) return;
+
+    let cancelled = false;
+    setLoading(true);
+    setError(false);
+
+    const setup = async () => {
+      const video = videoRef.current;
+      if (!video) return;
+
+      hlsRef.current?.destroy();
+      hlsRef.current = null;
+
+      try {
+        const { default: Hls } = await import('hls.js');
+
+        if (cancelled) return;
+
+        if (Hls.isSupported()) {
+          const hls = new Hls({ enableWorker: true, lowLatencyMode: true });
+          hlsRef.current = hls;
+          hls.loadSource(playback.url!);
+          hls.attachMedia(video);
+          hls.on(Hls.Events.MANIFEST_PARSED, () => {
+            if (!cancelled) {
+              video.play().catch(() => {});
+              setLoading(false);
+            }
+          });
+          hls.on(Hls.Events.ERROR, (_e, data) => {
+            if (data.fatal && !cancelled) {
+              setLoading(false);
+              setError(true);
+            }
+          });
+        } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
+          video.src = playback.url!;
+          video.addEventListener('loadeddata', () => {
+            if (!cancelled) setLoading(false);
+          }, { once: true });
+          video.play().catch(() => {});
+        } else {
+          setLoading(false);
+          setError(true);
+        }
+      } catch {
+        if (!cancelled) {
+          setLoading(false);
+          setError(true);
+        }
+      }
+    };
+
+    setup();
+
+    return () => {
+      cancelled = true;
+      hlsRef.current?.destroy();
+      hlsRef.current = null;
+      if (videoRef.current) {
+        videoRef.current.pause();
+        videoRef.current.removeAttribute('src');
+        videoRef.current.load();
+      }
+    };
+  }, [camera, playback.mode, playback.url]);
+
+  // ΓöÇΓöÇ iframe / external-only reset ΓöÇΓöÇ
+  useEffect(() => {
+    if (!camera) return;
+    if (playback.mode === 'iframe') {
+      setLoading(false);
+      setError(false);
+    } else if (playback.mode === 'external') {
+      setLoading(false);
+      setError(false);
+    }
+  }, [camera, playback.mode]);
 
   if (!camera) return null;
 
+  const isLiveVideo = playback.mode === 'hls' || playback.mode === 'iframe';
+
   return (
     <AnimatePresence>
       <motion.div
@@ -54,26 +177,31 @@ export default function CameraViewer({ camera, onClose, onLocate }: CameraViewer
         exit={{ opacity: 0, scale: 0.95 }}
         transition={{ duration: 0.3 }}
         className={`fixed z-[500] ${
-          fullscreen 
-            ? 'inset-2 md:inset-4' 
+          fullscreen
+            ? 'inset-2 md:inset-4'
             : 'bottom-[70px] left-2 right-2 md:bottom-6 md:right-6 md:left-auto md:w-[420px]'
         }`}
       >
         <div className="glass-panel osiris-glow overflow-hidden h-full flex flex-col" style={{ borderColor: 'rgba(57, 255, 20, 0.3)' }}>
-          {/* Header */}
           <div className="flex items-center justify-between px-3 md:px-4 py-2 md:py-3 border-b border-[var(--border-secondary)]">
             <div className="flex items-center gap-2 flex-1 min-w-0">
               <div className="w-2 h-2 rounded-full bg-[#39FF14] animate-osiris-pulse flex-shrink-0" />
               <Camera className="w-3.5 h-3.5 text-[#39FF14] flex-shrink-0" />
               <div className="min-w-0">
                 <h3 className="text-[10px] md:text-[11px] font-mono font-bold text-[#39FF14] tracking-wider truncate">{camera.name}</h3>
-                <p className="text-[6px] md:text-[7px] font-mono text-[var(--text-muted)]">{camera.city}, {camera.country} ┬╖ {camera.source}</p>
+                <p className="text-[6px] md:text-[7px] font-mono text-[var(--text-muted)]">
+                  {camera.city}, {camera.country} ┬╖ {camera.source}
+                  {playback.mode === 'jpg' && ' ┬╖ snapshot'}
+                  {playback.mode === 'hls' && ' ┬╖ HLS'}
+                </p>
               </div>
             </div>
             <div className="flex items-center gap-1 flex-shrink-0">
-              <button onClick={() => setRefreshKey(k => k + 1)} className="p-1.5 rounded hover:bg-[var(--hover-accent)] transition-colors" title="Refresh feed">
-                <RefreshCw className="w-3 h-3 text-[var(--text-muted)] hover:text-[#39FF14]" />
-              </button>
+              {playback.mode === 'jpg' && (
+                <button onClick={() => setRefreshKey((k) => k + 1)} className="p-1.5 rounded hover:bg-[var(--hover-accent)] transition-colors" title="Refresh feed">
+                  <RefreshCw className="w-3 h-3 text-[var(--text-muted)] hover:text-[#39FF14]" />
+                </button>
+              )}
               {camera.lat && camera.lng && (
                 <button onClick={() => onLocate?.(camera.lat, camera.lng)} className="p-1.5 rounded hover:bg-[var(--hover-accent)] transition-colors" title="Fly to location">
                   <MapPin className="w-3 h-3 text-[var(--text-muted)] hover:text-[var(--gold-primary)]" />
@@ -88,9 +216,8 @@ export default function CameraViewer({ camera, onClose, onLocate }: CameraViewer
             </div>
           </div>
 
-          {/* Camera Feed */}
           <div className={`relative bg-black ${fullscreen ? 'flex-1' : 'aspect-video max-h-[35vh] md:max-h-none'}`}>
-            {loading && !error && !externalOnly && (
+            {loading && !error && playback.mode !== 'external' && (
               <div className="absolute inset-0 flex items-center justify-center bg-black/80 z-10">
                 <div className="text-center">
                   <div className="w-6 h-6 border-2 border-[#39FF14] border-t-transparent rounded-full animate-spin mx-auto mb-2" />
@@ -99,14 +226,14 @@ export default function CameraViewer({ camera, onClose, onLocate }: CameraViewer
               </div>
             )}
 
-            {externalOnly ? (
+            {playback.mode === 'external' && !error ? (
               <div className="absolute inset-0 flex items-center justify-center bg-black/90">
                 <div className="text-center px-6">
                   <div className="w-8 h-8 rounded-full bg-[#39FF14]/15 flex items-center justify-center mx-auto mb-2"><ExternalLink className="w-4 h-4 text-[#39FF14]" /></div>
                   <span className="text-[9px] font-mono text-[#39FF14] tracking-widest block mb-1">EXTERNAL FEED</span>
-                  <span className="text-[7px] font-mono text-[var(--text-muted)]">Live stream opens in source viewer</span>
-                  {externalFeedUrl && (
-                    <a href={externalFeedUrl} target="_blank" rel="noopener noreferrer" className="block mx-auto mt-3 px-3 py-1 text-[8px] font-mono text-[#39FF14] border border-[#39FF14]/30 rounded hover:bg-[#39FF14]/10 transition-colors tracking-wider">
+                  <span className="text-[7px] font-mono text-[var(--text-muted)]">Opens in source viewer</span>
+                  {playback.url && (
+                    <a href={playback.url} target="_blank" rel="noopener noreferrer" className="block mx-auto mt-3 px-3 py-1 text-[8px] font-mono text-[#39FF14] border border-[#39FF14]/30 rounded hover:bg-[#39FF14]/10 transition-colors tracking-wider">
                       OPEN FEED
                     </a>
                   )}
@@ -115,15 +242,32 @@ export default function CameraViewer({ camera, onClose, onLocate }: CameraViewer
             ) : error ? (
               <div className="absolute inset-0 flex items-center justify-center bg-black/90">
                 <div className="text-center">
-                  <div className="w-8 h-8 rounded-full bg-red-500/20 flex items-center justify-center mb-2"><Camera className="w-4 h-4 text-red-400" /></div>
+                  <div className="w-8 h-8 rounded-full bg-red-500/20 flex items-center justify-center mb-2 mx-auto"><Camera className="w-4 h-4 text-red-400" /></div>
                   <span className="text-[9px] font-mono text-red-400 tracking-widest block mb-1">FEED UNAVAILABLE</span>
-                  <span className="text-[7px] font-mono text-[var(--text-muted)]">Camera may be offline or restricted</span>
-                  <button onClick={() => { setError(false); setRefreshKey(k => k + 1); }} className="block mx-auto mt-3 px-3 py-1 text-[8px] font-mono text-[#39FF14] border border-[#39FF14]/30 rounded hover:bg-[#39FF14]/10 transition-colors tracking-wider">
+                  <span className="text-[7px] font-mono text-[var(--text-muted)]">Stream may be offline or blocked</span>
+                  <button onClick={() => { setError(false); setRefreshKey((k) => k + 1); }} className="block mx-auto mt-3 px-3 py-1 text-[8px] font-mono text-[#39FF14] border border-[#39FF14]/30 rounded hover:bg-[#39FF14]/10 transition-colors tracking-wider">
                     RETRY
                   </button>
                 </div>
               </div>
-            ) : imageUrl ? (
+            ) : playback.mode === 'hls' ? (
+              <video
+                ref={videoRef}
+                className={`w-full ${fullscreen ? 'h-full object-contain' : 'h-full object-cover'}`}
+                autoPlay
+                muted
+                playsInline
+                controls
+              />
+            ) : playback.mode === 'iframe' && playback.url ? (
+              <iframe
+                src={playback.url}
+                className="w-full h-full border-0"
+                allow="autoplay; encrypted-media; picture-in-picture"
+                allowFullScreen
+                title={camera.name}
+              />
+            ) : playback.mode === 'jpg' && imageUrl ? (
               <img
                 key={refreshKey}
                 src={imageUrl}
@@ -134,32 +278,25 @@ export default function CameraViewer({ camera, onClose, onLocate }: CameraViewer
               />
             ) : null}
 
-            {/* Live indicator */}
             {!error && !loading && (
               <div className="absolute top-2 left-2 flex items-center gap-1.5 bg-black/70 backdrop-blur-sm px-2 py-1 rounded">
                 <div className="w-1.5 h-1.5 rounded-full bg-red-500 animate-osiris-pulse" />
-                <span className="text-[7px] font-mono text-white tracking-widest">LIVE</span>
-              </div>
-            )}
-
-            {/* Timestamp */}
-            {!error && !loading && (
-              <div className="absolute bottom-2 right-2 bg-black/70 backdrop-blur-sm px-2 py-1 rounded">
-                <span className="text-[7px] font-mono text-[var(--text-muted)]">{new Date().toLocaleTimeString()}</span>
+                <span className="text-[7px] font-mono text-white tracking-widest">
+                  {isLiveVideo ? 'LIVE' : 'REFRESH'}
+                </span>
               </div>
             )}
           </div>
 
-          {/* Footer with coords + links */}
           <div className="px-3 md:px-4 py-2 border-t border-[var(--border-secondary)] flex items-center justify-between">
             <div className="text-[7px] md:text-[8px] font-mono text-[var(--text-muted)]">
               {camera.lat?.toFixed(4)}, {camera.lng?.toFixed(4)}
             </div>
             <div className="flex gap-2">
-              {(camera.feed_url || camera.external_url) && (
-                <a href={camera.external_url || camera.feed_url} target="_blank" rel="noopener noreferrer"
+              {externalLink && (
+                <a href={externalLink} target="_blank" rel="noopener noreferrer"
                   className="flex items-center gap-1 text-[7px] font-mono text-[#39FF14] hover:underline tracking-wider">
-                  <ExternalLink className="w-2.5 h-2.5" /> FEED
+                  <ExternalLink className="w-2.5 h-2.5" /> SOURCE
                 </a>
               )}
               <a href={`https://www.google.com/maps/@${camera.lat},${camera.lng},17z`} target="_blank" rel="noopener noreferrer"
diff --git a/src/components/OsirisMap.tsx b/src/components/OsirisMap.tsx
index a457635..b856710 100644
--- a/src/components/OsirisMap.tsx
+++ b/src/components/OsirisMap.tsx
@@ -86,7 +86,7 @@ function OsirisMap({ data, activeLayers, onEntityClick, onMouseCoords, onRightCl
     const map = new maplibregl.Map({
       container: containerRef.current,
       style: 'https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json',
-      center: [20, 20], zoom: 2.5, minZoom: 1.5, maxZoom: 18,
+      center: [25.484, 42.698], zoom: 6.5, minZoom: 1.5, maxZoom: 18,
       attributionControl: false,
       maxPitch: 85,
     });
@@ -436,6 +436,8 @@ function OsirisMap({ data, activeLayers, onEntityClick, onMouseCoords, onRightCl
         source: p.source,
         feed_url: p.feed_url,
         external_url: p.external_url,
+        stream_url: p.stream_url,
+        stream_type: p.stream_type,
         lat: coords[1],
         lng: coords[0],
       });
@@ -455,7 +457,7 @@ function OsirisMap({ data, activeLayers, onEntityClick, onMouseCoords, onRightCl
           <div><span style="color:#5C5A54;">DEPTH</span><br/><span style="color:#E8E6E0;">${p.depth||'ΓÇö'}km</span></div>
           <div><span style="color:#5C5A54;">COORDS</span><br/><span style="color:#E8E6E0;">${coords[1].toFixed(3)}, ${coords[0].toFixed(3)}</span></div>
         </div>
-        <a href="https://earthquake.usgs.gov/earthquakes/eventpage/${p.id||''}" target="_blank" style="${linkStyle}color:#FF9500;border:1px solid rgba(255,149,0,0.4);background:rgba(255,149,0,0.1);">≡ƒôè USGS DETAILS</a>
+        <a href="${p.source === 'NIGGG-BAS' ? 'https://ndc.niggg.bas.bg/' : `https://earthquake.usgs.gov/earthquakes/eventpage/${p.id||''}`}" target="_blank" style="${linkStyle}color:#FF9500;border:1px solid rgba(255,149,0,0.4);background:rgba(255,149,0,0.1);">≡ƒôè ${p.source === 'NIGGG-BAS' ? 'NIGGG-BAS' : 'USGS'} DETAILS</a>
       </div>`);
     });
 
@@ -595,8 +597,8 @@ function OsirisMap({ data, activeLayers, onEntityClick, onMouseCoords, onRightCl
           <div><span style="color:#5C5A54;">COORDS</span><br/><span style="color:#E8E6E0;">${coords[1].toFixed(3)}┬░, ${coords[0].toFixed(3)}┬░</span></div>
         </div>
         <div style="display:flex;gap:6px;">
-          ${p.source ? `<a href="${p.source}" target="_blank" style="${linkStyle}color:#E040FB;border:1px solid rgba(224,64,251,0.4);background:rgba(224,64,251,0.1);">≡ƒôí SOURCE</a>` : ''}
-          <a href="https://eonet.gsfc.nasa.gov/api/v3/events/${p.id || ''}" target="_blank" style="${linkStyle}color:#D4AF37;border:1px solid rgba(212,175,55,0.4);background:rgba(212,175,55,0.1);">≡ƒ¢░∩╕Å NASA EONET</a>
+          ${p.sourceUrl && p.sourceUrl.startsWith('http') ? `<a href="${p.sourceUrl}" target="_blank" style="${linkStyle}color:#E040FB;border:1px solid rgba(224,64,251,0.4);background:rgba(224,64,251,0.1);">≡ƒôí ${p.source || 'SOURCE'}</a>` : ''}
+          ${p.source === 'GDACS' ? `<a href="https://www.gdacs.org/" target="_blank" style="${linkStyle}color:#E040FB;border:1px solid rgba(224,64,251,0.4);background:rgba(224,64,251,0.1);">≡ƒåÿ GDACS</a>` : `<a href="https://eonet.gsfc.nasa.gov/api/v3/events/${p.id || ''}" target="_blank" style="${linkStyle}color:#D4AF37;border:1px solid rgba(212,175,55,0.4);background:rgba(212,175,55,0.1);">≡ƒ¢░∩╕Å NASA EONET</a>`}
         </div>
       </div>`);
     });
@@ -712,7 +714,7 @@ function OsirisMap({ data, activeLayers, onEntityClick, onMouseCoords, onRightCl
 
   useEffect(() => {
     if (!mapReady) return;
-    setGeo('earthquakes', activeLayers.earthquakes && data.earthquakes ? data.earthquakes.map((eq: any) => ({ type: 'Feature', geometry: { type: 'Point', coordinates: [eq.lng, eq.lat] }, properties: { magnitude: eq.magnitude, place: eq.place } })) : []);
+    setGeo('earthquakes', activeLayers.earthquakes && data.earthquakes ? data.earthquakes.map((eq: any) => ({ type: 'Feature', geometry: { type: 'Point', coordinates: [eq.lng, eq.lat] }, properties: { id: eq.id, magnitude: eq.magnitude, place: eq.place, depth: eq.depth, source: eq.source || 'USGS' } })) : []);
   }, [mapReady, data.earthquakes, activeLayers.earthquakes, setGeo]);
 
   useEffect(() => {
@@ -732,7 +734,7 @@ function OsirisMap({ data, activeLayers, onEntityClick, onMouseCoords, onRightCl
 
   useEffect(() => {
     if (!mapReady) return;
-    setGeo('cctv', activeLayers.cctv && data.cameras ? data.cameras.map((c: any) => ({ type: 'Feature', geometry: { type: 'Point', coordinates: [c.lng, c.lat] }, properties: { name: c.name, city: c.city, country: c.country, source: c.source, feed_url: c.feed_url, external_url: c.external_url } })) : []);
+    setGeo('cctv', activeLayers.cctv && data.cameras ? data.cameras.map((c: any) => ({ type: 'Feature', geometry: { type: 'Point', coordinates: [c.lng, c.lat] }, properties: { id: c.id, name: c.name, city: c.city, country: c.country, source: c.source, feed_url: c.feed_url, external_url: c.external_url, stream_url: c.stream_url, stream_type: c.stream_type } })) : []);
   }, [mapReady, data.cameras, activeLayers.cctv, setGeo]);
 
   useEffect(() => {
@@ -742,7 +744,7 @@ function OsirisMap({ data, activeLayers, onEntityClick, onMouseCoords, onRightCl
 
   useEffect(() => {
     if (!mapReady) return;
-    setGeo('weather', activeLayers.weather && data.weather_events ? data.weather_events.map((w: any) => ({ type: 'Feature', geometry: { type: 'Point', coordinates: [w.lng, w.lat] }, properties: { title: w.title, type: w.type, icon: w.icon, severity: w.severity, source: w.source, id: w.id } })) : []);
+    setGeo('weather', activeLayers.weather && data.weather_events ? data.weather_events.map((w: any) => ({ type: 'Feature', geometry: { type: 'Point', coordinates: [w.lng, w.lat] }, properties: { title: w.title, type: w.type, icon: w.icon, severity: w.severity, source: w.source, sourceUrl: w.link || w.source, id: w.id } })) : []);
   }, [mapReady, data.weather_events, activeLayers.weather, setGeo]);
 
   useEffect(() => {
diff --git a/src/lib/bulgaria-sources.ts b/src/lib/bulgaria-sources.ts
new file mode 100644
index 0000000..f67478a
--- /dev/null
+++ b/src/lib/bulgaria-sources.ts
@@ -0,0 +1,219 @@
+/**
+ * Balkans-focused data sources for the Ito-69/osiris fork.
+ * NIGGG-BAS (seismic), GDACS (EU civil protection), BG news feeds.
+ */
+
+export const BALKANS_BBOX = {
+  minLat: 39.5,
+  maxLat: 46.5,
+  minLng: 19.5,
+  maxLng: 30.5,
+};
+
+export const BULGARIA_BBOX = {
+  minLat: 41.2,
+  maxLat: 44.5,
+  minLng: 22.0,
+  maxLng: 29.0,
+};
+
+export const DEFAULT_MAP_CENTER: [number, number] = [25.484, 42.698]; // Sofia ΓÇö Balkans startup view
+export const DEFAULT_MAP_ZOOM = 6.5;
+
+export function inBbox(
+  lat: number,
+  lng: number,
+  bbox: { minLat: number; maxLat: number; minLng: number; maxLng: number } = BALKANS_BBOX,
+): boolean {
+  return lat >= bbox.minLat && lat <= bbox.maxLat && lng >= bbox.minLng && lng <= bbox.maxLng;
+}
+
+export interface NigggEarthquake {
+  id: string;
+  lat: number;
+  lng: number;
+  depth: number;
+  magnitude: number;
+  place: string;
+  time: number;
+  url: string;
+  source: 'NIGGG-BAS';
+}
+
+export function parseNigggXml(xml: string): NigggEarthquake[] {
+  const events: NigggEarthquake[] = [];
+  const markerRegex = /<marker\b([^>]*)\/>/gi;
+  let match: RegExpExecArray | null;
+
+  while ((match = markerRegex.exec(xml)) !== null) {
+    const attrs = match[1];
+    const get = (name: string) => {
+      const m = attrs.match(new RegExp(`${name}="([^"]*)"`));
+      return m?.[1] ?? '';
+    };
+
+    const lat = parseFloat(get('lat'));
+    const lng = parseFloat(get('lon'));
+    const magnitude = parseFloat(get('mag'));
+    if (!Number.isFinite(lat) || !Number.isFinite(lng) || !Number.isFinite(magnitude)) continue;
+
+    const id = get('id') || `niggg-${lat}-${lng}-${get('time')}`;
+    const label = get('label') || 'Balkans region';
+    const timeStr = get('time');
+    const time = timeStr ? Date.parse(timeStr.replace(' ', 'T') + 'Z') : Date.now();
+
+    events.push({
+      id: `niggg-${id}`,
+      lat,
+      lng,
+      depth: parseFloat(get('depth')) || 0,
+      magnitude,
+      place: label,
+      time,
+      url: 'https://ndc.niggg.bas.bg/',
+      source: 'NIGGG-BAS',
+    });
+  }
+
+  return events;
+}
+
+export async function fetchNigggEarthquakes(): Promise<NigggEarthquake[]> {
+  const res = await fetch('https://ndc.niggg.bas.bg/data.xml', {
+    signal: AbortSignal.timeout(10000),
+    next: { revalidate: 300 },
+  });
+  if (!res.ok) return [];
+  const xml = await res.text();
+  return parseNigggXml(xml);
+}
+
+export interface GdacsAlert {
+  id: string;
+  title: string;
+  category: string;
+  type: string;
+  icon: string;
+  severity: 'low' | 'medium' | 'high';
+  lat: number;
+  lng: number;
+  date: string;
+  source: string;
+  link: string;
+  alertLevel: string;
+}
+
+const GDACS_TYPE_MAP: Record<string, { type: string; icon: string; severity: 'low' | 'medium' | 'high' }> = {
+  EQ: { type: 'Earthquake Alert', icon: 'earthquake', severity: 'high' },
+  FL: { type: 'Forest Fire', icon: 'fire', severity: 'high' },
+  TC: { type: 'Tropical Cyclone', icon: 'cyclone', severity: 'high' },
+  VO: { type: 'Volcano', icon: 'volcano', severity: 'high' },
+  DR: { type: 'Drought', icon: 'drought', severity: 'medium' },
+  WF: { type: 'Wildfire', icon: 'fire', severity: 'high' },
+};
+
+function gdacsSeverity(level: string): 'low' | 'medium' | 'high' {
+  const l = level.toLowerCase();
+  if (l === 'red' || l === 'orange') return 'high';
+  if (l === 'yellow') return 'medium';
+  return 'low';
+}
+
+const BALKANS_KEYWORDS = [
+  'bulgaria', '╨▒╤è╨╗╨│╨░╤Ç', 'greece', '╨│╤è╤Ç╤å', 'romania', '╤Ç╤â╨╝╤è╨╜', 'turkey', '╤é╤â╤Ç╤å',
+  'serbia', '╤ü╤è╤Ç╨▒', 'balkans', '╨▒╨░╨╗╨║╨░╨╜', 'black sea', '╤ç╨╡╤Ç╨╜╨╛ ╨╝╨╛╤Ç╨╡', 'macedonia', '╨╝╨░╨║╨╡╨┤╨╛╨╜',
+];
+
+function bboxOverlapsBalkans(bboxStr: string): boolean {
+  const parts = bboxStr.trim().split(/\s+/).map(Number);
+  if (parts.length !== 4 || parts.some(n => !Number.isFinite(n))) return false;
+  const [lonMin, lonMax, latMin, latMax] = parts;
+  return latMax >= BALKANS_BBOX.minLat && latMin <= BALKANS_BBOX.maxLat
+    && lonMax >= BALKANS_BBOX.minLng && lonMin <= BALKANS_BBOX.maxLng;
+}
+
+function mentionsBalkans(text: string): boolean {
+  const lower = text.toLowerCase();
+  return BALKANS_KEYWORDS.some(kw => lower.includes(kw));
+}
+
+export function parseGdacsRss(xml: string, bbox = BALKANS_BBOX): GdacsAlert[] {
+  const alerts: GdacsAlert[] = [];
+  const itemRegex = /<item>([\s\S]*?)<\/item>/gi;
+  let match: RegExpExecArray | null;
+
+  while ((match = itemRegex.exec(xml)) !== null) {
+    const itemXml = match[1];
+    const getTag = (tag: string) => {
+      const m = itemXml.match(new RegExp(`<${tag}[^>]*>([\\s\\S]*?)<\\/${tag}>`, 'i'));
+      return (m?.[1] || '').trim();
+    };
+
+    const lat = parseFloat(getTag('geo:lat'));
+    const lng = parseFloat(getTag('geo:long'));
+    const title = getTag('title').replace(/<[^>]+>/g, '');
+    const description = getTag('description').replace(/<[^>]+>/g, '');
+    const gdacsBbox = getTag('gdacs:bbox');
+    const inRegion = (Number.isFinite(lat) && Number.isFinite(lng) && inBbox(lat, lng, bbox))
+      || bboxOverlapsBalkans(gdacsBbox)
+      || mentionsBalkans(`${title} ${description}`);
+    if (!inRegion) continue;
+
+    const eventType = getTag('gdacs:eventtype') || 'UN';
+    const alertLevel = getTag('gdacs:alertlevel') || 'Green';
+    const mapped = GDACS_TYPE_MAP[eventType] || { type: 'Disaster Alert', icon: 'alert', severity: 'low' as const };
+    const link = getTag('link');
+    const pubDate = getTag('pubDate');
+    const guid = getTag('guid') || link;
+    const pointLat = Number.isFinite(lat) ? lat : (bbox.minLat + bbox.maxLat) / 2;
+    const pointLng = Number.isFinite(lng) ? lng : (bbox.minLng + bbox.maxLng) / 2;
+
+    alerts.push({
+      id: `gdacs-${guid.replace(/[^a-zA-Z0-9]/g, '')}`,
+      title,
+      category: eventType.toLowerCase(),
+      type: mapped.type,
+      icon: mapped.icon,
+      severity: gdacsSeverity(alertLevel) === 'low' ? mapped.severity : gdacsSeverity(alertLevel),
+      lat: pointLat,
+      lng: pointLng,
+      date: pubDate,
+      source: 'GDACS',
+      link,
+      alertLevel,
+    });
+  }
+
+  return alerts;
+}
+
+export async function fetchGdacsBalkansAlerts(): Promise<GdacsAlert[]> {
+  const res = await fetch('https://www.gdacs.org/xml/rss.xml', {
+    signal: AbortSignal.timeout(10000),
+    next: { revalidate: 600 },
+  });
+  if (!res.ok) return [];
+  const xml = await res.text();
+  return parseGdacsRss(xml);
+}
+
+export function mergeEarthquakes<T extends { lat: number; lng: number; time?: number; magnitude?: number }>(
+  primary: T[],
+  regional: T[],
+): T[] {
+  const merged = [...primary];
+
+  for (const eq of regional) {
+    const duplicate = merged.some(existing => {
+      const dist = Math.hypot(existing.lat - eq.lat, existing.lng - eq.lng);
+      if (dist > 0.12) return false;
+      const tA = existing.time || 0;
+      const tB = eq.time || 0;
+      if (tA && tB && Math.abs(tA - tB) < 3600000) return true;
+      return dist < 0.05 && Math.abs((existing.magnitude || 0) - (eq.magnitude || 0)) < 0.3;
+    });
+    if (!duplicate) merged.push(eq);
+  }
+
+  return merged.sort((a, b) => (b.time || 0) - (a.time || 0));
+}
