cloudflare
tcp/443 tcp/80 tcp/8443
Open service 192.71.82.2:443 · internal-comprendmapsdemo.pages.dev
2026-01-04 16:45
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 16:45:31 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 4713
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "6450f24a3b08f26380e87520919afc4d"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=8gYz15s0BiXvq5WWI0ns1UgiEQQZrAP7Z5Klr1Dzdxtz09G7hs8BJ3HwKJMtAMdBX%2FwacBoCmeJQCBkoEUznhNE0Vr0OfD6qdaASvFqyyKVMY8lPXxNEWt%2BKhHRqIisp38oS"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9b8c34f0cf7f4b96-SJC
alt-svc: h3=":443"; ma=86400
Page title: Comprend Maps - Demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Comprend Maps - Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Web App Manifest -->
<link rel="manifest" href="./site.webmanifest">
<!-- Favicon -->
<link rel="icon" href="./assets/icons/favicon.ico" type="image/x-icon">
<!-- Favicons -->
<link rel="apple-touch-icon" sizes="180x180" href="./assets/icons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="./assets/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="./assets/icons/favicon-16x16.png">
<!-- MapLibre GL CSS -->
<link href="./assets/css/maplibre-gl.css" rel="stylesheet" />
<!-- Main Application CSS -->
<link href="./assets/css/main.css" rel="stylesheet" />
</head>
<body>
<div id="map"></div>
<!-- Search Control -->
<div class="maplibregl-ctrl-top-left">
<div class="controls-row">
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="geolocation-control">
<button id="geolocation-button" class="geolocation-button" title="Find my location">
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="9" cy="9" r="7" stroke="currentColor" stroke-width="1.5" fill="none"/>
<line x1="9" y1="2" x2="9" y2="5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="9" y1="13" x2="9" y2="16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="2" y1="9" x2="5" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="13" y1="9" x2="16" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<circle cx="9" cy="9" r="2" fill="currentColor"/>
</svg>
</button>
</div>
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="search-control">
<div class="search-container">
<button id="search-button" class="search-icon-button" title="Search">
<svg width="22" height="22" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="display: block;">
<circle cx="11" cy="11" r="7" stroke="currentColor" stroke-width="2" fill="none"/>
<line x1="21" y1="21" x2="16.65" y2="16.65" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
</button>
<input type="text" id="search-input" placeholder="Search for a place or city..." autocomplete="off">
<div id="search-results" class="search-results"></div>
</div>
</div>
</div>
</div>
<!-- Style Picker Control -->
<div class="maplibregl-ctrl-top-right">
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="style-picker">
<button class="style-picker-button" id="style-picker-toggle" title="Change map style">
<span class="style-picker-icon">🎨</span>
</button>
<div class="style-picker-menu" id="style-picker-menu">
<!-- Style options will be populated by JavaScript -->
</div>
</div>
</div>
<!-- Custom Attribution Control -->
<div class="maplibregl-ctrl-bottom-right">
<div class="maplibregl-ctrl" id="custom-attribution">
<span id="attribution-text">
<a href="https://openfreemap.org" target="_blank">OpenFreeMap</a> ©
<a href="https://openmaptiles.org" target="_blank">OpenMapTiles</a>
Data from <a href="https://openstreetmap.org/copyright" target="_blank">OpenStreetMap</a>.
Powered by <a href="https://www.geoapify.com/" target="_blank">Geoapify</a>.
</span>
<button id="attribution-button" style="display: none;" title="Map Information">ℹ</button>
</div>
</div>
<!-- JavaScript dependencies -->
<!-- Load fflate first -->
<script src="./assets/js/fflate.js"></script>
<!-- Set up require for pmtiles fflate dependency -->
<script>
window.require = function(name) {
if (name === 'fflate') {
Open service 192.71.82.2:8443 · internal-comprendmapsdemo.pages.dev
2026-01-04 16:45
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 16:45:31 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 4713
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "6450f24a3b08f26380e87520919afc4d"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=hAGDpPTq6jHyC%2B2OsfqdqbFm%2FFhE3%2Fiy97Gqhh3nCi8Cwt6cA0rYG9VjnTG8YJXMzGKBl%2F3aqtooLdRyyxmlOLXlPmdpqzbMG85oXwyqKoLbBVgirpiMXfkEpHRi5dXkV3vJ"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9b8c34f16e8b428b-EWR
alt-svc: h3=":8443"; ma=86400
Page title: Comprend Maps - Demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Comprend Maps - Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Web App Manifest -->
<link rel="manifest" href="./site.webmanifest">
<!-- Favicon -->
<link rel="icon" href="./assets/icons/favicon.ico" type="image/x-icon">
<!-- Favicons -->
<link rel="apple-touch-icon" sizes="180x180" href="./assets/icons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="./assets/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="./assets/icons/favicon-16x16.png">
<!-- MapLibre GL CSS -->
<link href="./assets/css/maplibre-gl.css" rel="stylesheet" />
<!-- Main Application CSS -->
<link href="./assets/css/main.css" rel="stylesheet" />
</head>
<body>
<div id="map"></div>
<!-- Search Control -->
<div class="maplibregl-ctrl-top-left">
<div class="controls-row">
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="geolocation-control">
<button id="geolocation-button" class="geolocation-button" title="Find my location">
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="9" cy="9" r="7" stroke="currentColor" stroke-width="1.5" fill="none"/>
<line x1="9" y1="2" x2="9" y2="5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="9" y1="13" x2="9" y2="16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="2" y1="9" x2="5" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="13" y1="9" x2="16" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<circle cx="9" cy="9" r="2" fill="currentColor"/>
</svg>
</button>
</div>
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="search-control">
<div class="search-container">
<button id="search-button" class="search-icon-button" title="Search">
<svg width="22" height="22" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="display: block;">
<circle cx="11" cy="11" r="7" stroke="currentColor" stroke-width="2" fill="none"/>
<line x1="21" y1="21" x2="16.65" y2="16.65" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
</button>
<input type="text" id="search-input" placeholder="Search for a place or city..." autocomplete="off">
<div id="search-results" class="search-results"></div>
</div>
</div>
</div>
</div>
<!-- Style Picker Control -->
<div class="maplibregl-ctrl-top-right">
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="style-picker">
<button class="style-picker-button" id="style-picker-toggle" title="Change map style">
<span class="style-picker-icon">🎨</span>
</button>
<div class="style-picker-menu" id="style-picker-menu">
<!-- Style options will be populated by JavaScript -->
</div>
</div>
</div>
<!-- Custom Attribution Control -->
<div class="maplibregl-ctrl-bottom-right">
<div class="maplibregl-ctrl" id="custom-attribution">
<span id="attribution-text">
<a href="https://openfreemap.org" target="_blank">OpenFreeMap</a> ©
<a href="https://openmaptiles.org" target="_blank">OpenMapTiles</a>
Data from <a href="https://openstreetmap.org/copyright" target="_blank">OpenStreetMap</a>.
Powered by <a href="https://www.geoapify.com/" target="_blank">Geoapify</a>.
</span>
<button id="attribution-button" style="display: none;" title="Map Information">ℹ</button>
</div>
</div>
<!-- JavaScript dependencies -->
<!-- Load fflate first -->
<script src="./assets/js/fflate.js"></script>
<!-- Set up require for pmtiles fflate dependency -->
<script>
window.require = function(name) {
if (name === 'fflate') {
Open service 192.71.82.2:80 · internal-comprendmapsdemo.pages.dev
2026-01-04 16:45
HTTP/1.1 301 Moved Permanently
Date: Sun, 04 Jan 2026 16:45:31 GMT
Content-Length: 0
Connection: close
Location: https://internal-comprendmapsdemo.pages.dev/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=crUFHtGyg921nlDIYPRxFwT18y0lbZnAd9B2wV48CgvD7CkiHhxdgJmYewme2Ikb7bUSM5LpMEQ%2FJWWkgjPswwr4AG4WG0mFNHuGbR9O0OV0d2caFkbp3ouReuvdxDOQxSC9"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9b8c34f0c9857c90-EWR
alt-svc: h3=":443"; ma=86400
Open service 192.71.82.4:80 · internal-comprendmapsdemo.pages.dev
2026-01-04 16:45
HTTP/1.1 301 Moved Permanently
Date: Sun, 04 Jan 2026 16:45:31 GMT
Content-Length: 0
Connection: close
Location: https://internal-comprendmapsdemo.pages.dev/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=V09pDEbSQWEA7wFpzs7ejUGatNAP4ukV3bklm0S9M%2FlU%2FRwRW6fxy1zm3%2F%2F%2BWsEpF2sa8QwrkgpkKg1cBm0zEdYWkGgLYOwUwWYuWaKh8Vl5x234e6zueiBMRTcCZqAysJ1B"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9b8c34f009b2de62-LHR
alt-svc: h3=":443"; ma=86400
Open service 192.71.82.4:8443 · internal-comprendmapsdemo.pages.dev
2026-01-04 16:45
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 16:45:31 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 4713
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "6450f24a3b08f26380e87520919afc4d"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=cBRf3hEnUYBoeaSIGlpf%2B%2B9io%2BFJ0SflUjN%2Bt9G%2BdK1y%2BUyf5QdMgLRI5WOBgtOcN2%2FW0Lnng%2BsmVr4%2F22lvk23f3byWkqdUV4JnsPIxfAACRuA0o5vjFM8xn5Mc78FcVpSX"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9b8c34f0bcd3dca6-FRA
alt-svc: h3=":8443"; ma=86400
Page title: Comprend Maps - Demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Comprend Maps - Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Web App Manifest -->
<link rel="manifest" href="./site.webmanifest">
<!-- Favicon -->
<link rel="icon" href="./assets/icons/favicon.ico" type="image/x-icon">
<!-- Favicons -->
<link rel="apple-touch-icon" sizes="180x180" href="./assets/icons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="./assets/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="./assets/icons/favicon-16x16.png">
<!-- MapLibre GL CSS -->
<link href="./assets/css/maplibre-gl.css" rel="stylesheet" />
<!-- Main Application CSS -->
<link href="./assets/css/main.css" rel="stylesheet" />
</head>
<body>
<div id="map"></div>
<!-- Search Control -->
<div class="maplibregl-ctrl-top-left">
<div class="controls-row">
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="geolocation-control">
<button id="geolocation-button" class="geolocation-button" title="Find my location">
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="9" cy="9" r="7" stroke="currentColor" stroke-width="1.5" fill="none"/>
<line x1="9" y1="2" x2="9" y2="5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="9" y1="13" x2="9" y2="16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="2" y1="9" x2="5" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="13" y1="9" x2="16" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<circle cx="9" cy="9" r="2" fill="currentColor"/>
</svg>
</button>
</div>
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="search-control">
<div class="search-container">
<button id="search-button" class="search-icon-button" title="Search">
<svg width="22" height="22" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="display: block;">
<circle cx="11" cy="11" r="7" stroke="currentColor" stroke-width="2" fill="none"/>
<line x1="21" y1="21" x2="16.65" y2="16.65" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
</button>
<input type="text" id="search-input" placeholder="Search for a place or city..." autocomplete="off">
<div id="search-results" class="search-results"></div>
</div>
</div>
</div>
</div>
<!-- Style Picker Control -->
<div class="maplibregl-ctrl-top-right">
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="style-picker">
<button class="style-picker-button" id="style-picker-toggle" title="Change map style">
<span class="style-picker-icon">🎨</span>
</button>
<div class="style-picker-menu" id="style-picker-menu">
<!-- Style options will be populated by JavaScript -->
</div>
</div>
</div>
<!-- Custom Attribution Control -->
<div class="maplibregl-ctrl-bottom-right">
<div class="maplibregl-ctrl" id="custom-attribution">
<span id="attribution-text">
<a href="https://openfreemap.org" target="_blank">OpenFreeMap</a> ©
<a href="https://openmaptiles.org" target="_blank">OpenMapTiles</a>
Data from <a href="https://openstreetmap.org/copyright" target="_blank">OpenStreetMap</a>.
Powered by <a href="https://www.geoapify.com/" target="_blank">Geoapify</a>.
</span>
<button id="attribution-button" style="display: none;" title="Map Information">ℹ</button>
</div>
</div>
<!-- JavaScript dependencies -->
<!-- Load fflate first -->
<script src="./assets/js/fflate.js"></script>
<!-- Set up require for pmtiles fflate dependency -->
<script>
window.require = function(name) {
if (name === 'fflate') {
Open service 192.71.82.3:80 · internal-comprendmapsdemo.pages.dev
2026-01-04 16:45
HTTP/1.1 301 Moved Permanently
Date: Sun, 04 Jan 2026 16:45:31 GMT
Content-Length: 0
Connection: close
Location: https://internal-comprendmapsdemo.pages.dev/
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=MhzOzbhQ1dexuaLPMeNHM7Sp6L3LEBfjGuMXt0Z6VusS6RxWGSdHm3whjnbaRA2V8OaMl2oh95ktc15QBvekXUf2NQMcZojy5MYY0JE%2FtYOTIe7pOxxLjfUJtqndjXYFhQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9b8c34efeabdfb81-AMS
alt-svc: h3=":443"; ma=86400
Open service 192.71.82.4:443 · internal-comprendmapsdemo.pages.dev
2026-01-04 16:45
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 16:45:31 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 4713
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "6450f24a3b08f26380e87520919afc4d"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=IBpvWfn3lL1Fy8wC8NBXUqJtMs7gEYPmktx2e0QjCb7UPLEHV1uIbi%2FhRdAWED3RPi0n75O9o9jbdo6NoEI8Fa5Xkt6H95coa%2BisMA1hPqf5F8TQqxpbWp3AKpRTtJ%2FKJ4sb"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9b8c34f2aa5c6f7a-BLR
alt-svc: h3=":443"; ma=86400
Page title: Comprend Maps - Demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Comprend Maps - Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Web App Manifest -->
<link rel="manifest" href="./site.webmanifest">
<!-- Favicon -->
<link rel="icon" href="./assets/icons/favicon.ico" type="image/x-icon">
<!-- Favicons -->
<link rel="apple-touch-icon" sizes="180x180" href="./assets/icons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="./assets/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="./assets/icons/favicon-16x16.png">
<!-- MapLibre GL CSS -->
<link href="./assets/css/maplibre-gl.css" rel="stylesheet" />
<!-- Main Application CSS -->
<link href="./assets/css/main.css" rel="stylesheet" />
</head>
<body>
<div id="map"></div>
<!-- Search Control -->
<div class="maplibregl-ctrl-top-left">
<div class="controls-row">
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="geolocation-control">
<button id="geolocation-button" class="geolocation-button" title="Find my location">
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="9" cy="9" r="7" stroke="currentColor" stroke-width="1.5" fill="none"/>
<line x1="9" y1="2" x2="9" y2="5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="9" y1="13" x2="9" y2="16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="2" y1="9" x2="5" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="13" y1="9" x2="16" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<circle cx="9" cy="9" r="2" fill="currentColor"/>
</svg>
</button>
</div>
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="search-control">
<div class="search-container">
<button id="search-button" class="search-icon-button" title="Search">
<svg width="22" height="22" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="display: block;">
<circle cx="11" cy="11" r="7" stroke="currentColor" stroke-width="2" fill="none"/>
<line x1="21" y1="21" x2="16.65" y2="16.65" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
</button>
<input type="text" id="search-input" placeholder="Search for a place or city..." autocomplete="off">
<div id="search-results" class="search-results"></div>
</div>
</div>
</div>
</div>
<!-- Style Picker Control -->
<div class="maplibregl-ctrl-top-right">
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="style-picker">
<button class="style-picker-button" id="style-picker-toggle" title="Change map style">
<span class="style-picker-icon">🎨</span>
</button>
<div class="style-picker-menu" id="style-picker-menu">
<!-- Style options will be populated by JavaScript -->
</div>
</div>
</div>
<!-- Custom Attribution Control -->
<div class="maplibregl-ctrl-bottom-right">
<div class="maplibregl-ctrl" id="custom-attribution">
<span id="attribution-text">
<a href="https://openfreemap.org" target="_blank">OpenFreeMap</a> ©
<a href="https://openmaptiles.org" target="_blank">OpenMapTiles</a>
Data from <a href="https://openstreetmap.org/copyright" target="_blank">OpenStreetMap</a>.
Powered by <a href="https://www.geoapify.com/" target="_blank">Geoapify</a>.
</span>
<button id="attribution-button" style="display: none;" title="Map Information">ℹ</button>
</div>
</div>
<!-- JavaScript dependencies -->
<!-- Load fflate first -->
<script src="./assets/js/fflate.js"></script>
<!-- Set up require for pmtiles fflate dependency -->
<script>
window.require = function(name) {
if (name === 'fflate') {
Open service 192.71.82.3:8443 · internal-comprendmapsdemo.pages.dev
2026-01-04 16:45
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 16:45:31 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 4713
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "6450f24a3b08f26380e87520919afc4d"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=PiRTgPlAJuT0ESiHpHw8nZEi66VR%2B6oxD6GAvI0VW5E0QOIyFixv8Xwvop9S3znrhWEoKKFWotvpsHHZpmd4sUKoaZmFkiWvaZtnCvdug8E0WJKInvgQ9PWKOlJT0vgRDcNA"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9b8c34ef8a01e839-LHR
alt-svc: h3=":8443"; ma=86400
Page title: Comprend Maps - Demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Comprend Maps - Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Web App Manifest -->
<link rel="manifest" href="./site.webmanifest">
<!-- Favicon -->
<link rel="icon" href="./assets/icons/favicon.ico" type="image/x-icon">
<!-- Favicons -->
<link rel="apple-touch-icon" sizes="180x180" href="./assets/icons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="./assets/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="./assets/icons/favicon-16x16.png">
<!-- MapLibre GL CSS -->
<link href="./assets/css/maplibre-gl.css" rel="stylesheet" />
<!-- Main Application CSS -->
<link href="./assets/css/main.css" rel="stylesheet" />
</head>
<body>
<div id="map"></div>
<!-- Search Control -->
<div class="maplibregl-ctrl-top-left">
<div class="controls-row">
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="geolocation-control">
<button id="geolocation-button" class="geolocation-button" title="Find my location">
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="9" cy="9" r="7" stroke="currentColor" stroke-width="1.5" fill="none"/>
<line x1="9" y1="2" x2="9" y2="5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="9" y1="13" x2="9" y2="16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="2" y1="9" x2="5" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="13" y1="9" x2="16" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<circle cx="9" cy="9" r="2" fill="currentColor"/>
</svg>
</button>
</div>
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="search-control">
<div class="search-container">
<button id="search-button" class="search-icon-button" title="Search">
<svg width="22" height="22" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="display: block;">
<circle cx="11" cy="11" r="7" stroke="currentColor" stroke-width="2" fill="none"/>
<line x1="21" y1="21" x2="16.65" y2="16.65" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
</button>
<input type="text" id="search-input" placeholder="Search for a place or city..." autocomplete="off">
<div id="search-results" class="search-results"></div>
</div>
</div>
</div>
</div>
<!-- Style Picker Control -->
<div class="maplibregl-ctrl-top-right">
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="style-picker">
<button class="style-picker-button" id="style-picker-toggle" title="Change map style">
<span class="style-picker-icon">🎨</span>
</button>
<div class="style-picker-menu" id="style-picker-menu">
<!-- Style options will be populated by JavaScript -->
</div>
</div>
</div>
<!-- Custom Attribution Control -->
<div class="maplibregl-ctrl-bottom-right">
<div class="maplibregl-ctrl" id="custom-attribution">
<span id="attribution-text">
<a href="https://openfreemap.org" target="_blank">OpenFreeMap</a> ©
<a href="https://openmaptiles.org" target="_blank">OpenMapTiles</a>
Data from <a href="https://openstreetmap.org/copyright" target="_blank">OpenStreetMap</a>.
Powered by <a href="https://www.geoapify.com/" target="_blank">Geoapify</a>.
</span>
<button id="attribution-button" style="display: none;" title="Map Information">ℹ</button>
</div>
</div>
<!-- JavaScript dependencies -->
<!-- Load fflate first -->
<script src="./assets/js/fflate.js"></script>
<!-- Set up require for pmtiles fflate dependency -->
<script>
window.require = function(name) {
if (name === 'fflate') {
Open service 192.71.82.3:443 · internal-comprendmapsdemo.pages.dev
2026-01-04 16:45
HTTP/1.1 200 OK
Date: Sun, 04 Jan 2026 16:45:31 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 4713
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
ETag: "6450f24a3b08f26380e87520919afc4d"
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=hRVx0eAuA7yuaFZyjycN%2B3AoG3%2Bnshr6hcsbV2bR%2FIe9KffZCaRuvdx0Ot9hNu1SeG0qotvWmGhqn86csPClI5%2Fm%2FkCa2IFEKEXDgQ6rzLhf8xpJ8jTQL7obgdU74hsNahFw"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9b8c34ef8bd8ac5d-YYZ
alt-svc: h3=":443"; ma=86400
Page title: Comprend Maps - Demo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Comprend Maps - Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Web App Manifest -->
<link rel="manifest" href="./site.webmanifest">
<!-- Favicon -->
<link rel="icon" href="./assets/icons/favicon.ico" type="image/x-icon">
<!-- Favicons -->
<link rel="apple-touch-icon" sizes="180x180" href="./assets/icons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="./assets/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="./assets/icons/favicon-16x16.png">
<!-- MapLibre GL CSS -->
<link href="./assets/css/maplibre-gl.css" rel="stylesheet" />
<!-- Main Application CSS -->
<link href="./assets/css/main.css" rel="stylesheet" />
</head>
<body>
<div id="map"></div>
<!-- Search Control -->
<div class="maplibregl-ctrl-top-left">
<div class="controls-row">
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="geolocation-control">
<button id="geolocation-button" class="geolocation-button" title="Find my location">
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="9" cy="9" r="7" stroke="currentColor" stroke-width="1.5" fill="none"/>
<line x1="9" y1="2" x2="9" y2="5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="9" y1="13" x2="9" y2="16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="2" y1="9" x2="5" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<line x1="13" y1="9" x2="16" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
<circle cx="9" cy="9" r="2" fill="currentColor"/>
</svg>
</button>
</div>
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="search-control">
<div class="search-container">
<button id="search-button" class="search-icon-button" title="Search">
<svg width="22" height="22" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="display: block;">
<circle cx="11" cy="11" r="7" stroke="currentColor" stroke-width="2" fill="none"/>
<line x1="21" y1="21" x2="16.65" y2="16.65" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
</svg>
</button>
<input type="text" id="search-input" placeholder="Search for a place or city..." autocomplete="off">
<div id="search-results" class="search-results"></div>
</div>
</div>
</div>
</div>
<!-- Style Picker Control -->
<div class="maplibregl-ctrl-top-right">
<div class="maplibregl-ctrl maplibregl-ctrl-group" id="style-picker">
<button class="style-picker-button" id="style-picker-toggle" title="Change map style">
<span class="style-picker-icon">🎨</span>
</button>
<div class="style-picker-menu" id="style-picker-menu">
<!-- Style options will be populated by JavaScript -->
</div>
</div>
</div>
<!-- Custom Attribution Control -->
<div class="maplibregl-ctrl-bottom-right">
<div class="maplibregl-ctrl" id="custom-attribution">
<span id="attribution-text">
<a href="https://openfreemap.org" target="_blank">OpenFreeMap</a> ©
<a href="https://openmaptiles.org" target="_blank">OpenMapTiles</a>
Data from <a href="https://openstreetmap.org/copyright" target="_blank">OpenStreetMap</a>.
Powered by <a href="https://www.geoapify.com/" target="_blank">Geoapify</a>.
</span>
<button id="attribution-button" style="display: none;" title="Map Information">ℹ</button>
</div>
</div>
<!-- JavaScript dependencies -->
<!-- Load fflate first -->
<script src="./assets/js/fflate.js"></script>
<!-- Set up require for pmtiles fflate dependency -->
<script>
window.require = function(name) {
if (name === 'fflate') {