[{"data":1,"prerenderedAt":51},["ShallowReactive",2],{"dataset-eb26b8f9-213f-4bd6-90c1-1a3c65b82c72":3},{"entry":4,"body":50},{"id":5,"slug":5,"title":6,"organization":7,"organization_slug":8,"tags_he":9,"primary_resource_id":13,"formats":14,"metadata_modified":17,"license":18,"record_count":19,"resources":20,"last_analyzed_at":45,"version":46,"summary_he":47,"dataset_kind":48,"related_ids":49},"eb26b8f9-213f-4bd6-90c1-1a3c65b82c72","נסועה בקווי אוטובוס","משרד התחבורה והבטיחות בדרכים","ministry_of_transport",[10,11,12],"אוטובוסים","משרד התחבורה","תחבורה ציבורית","7b126b6d-3411-4438-89c3-8eceea61c2db",[15,16],"CSV","PDF","2026-04-15T11:59:22.781436Z","אחר (פתוח)",5127,[21,25,29,33,37,41],{"url":22,"format":15,"name":23,"size_bytes":24},"https:\u002F\u002Fdata.gov.il\u002Fdataset\u002Feb26b8f9-213f-4bd6-90c1-1a3c65b82c72\u002Fresource\u002F7b126b6d-3411-4438-89c3-8eceea61c2db\u002Fdownload\u002Fridership_2026.csv","קובץ נסועה בקווי אוטובוס שנת 2026",1352403,{"url":26,"format":15,"name":27,"size_bytes":28},"https:\u002F\u002Fdata.gov.il\u002Fdataset\u002Feb26b8f9-213f-4bd6-90c1-1a3c65b82c72\u002Fresource\u002Fa52b0f0a-0785-48ff-a2d8-70a4a8e63fd8\u002Fdownload\u002F2025_ridership.csv","קובץ נסועה בקווי אוטובוס שנת 2025",2851193,{"url":30,"format":15,"name":31,"size_bytes":32},"https:\u002F\u002Fdata.gov.il\u002Fdataset\u002Feb26b8f9-213f-4bd6-90c1-1a3c65b82c72\u002Fresource\u002Fe6cfac2f-979a-44fd-b439-ecb116ec0b16\u002Fdownload\u002Fe6cfac2f-979a-44fd-b439-ecb116ec0b16.csv","קובץ נסועה בקווי אוטובוס שנת 2024",5344684,{"url":34,"format":15,"name":35,"size_bytes":36},"https:\u002F\u002Fdata.gov.il\u002Fdataset\u002Feb26b8f9-213f-4bd6-90c1-1a3c65b82c72\u002Fresource\u002F9cf3237f-80cd-4646-836f-f1370088430a\u002Fdownload\u002F9cf3237f-80cd-4646-836f-f1370088430a.csv","קובץ נסועה בקווי אוטובוס שנת 2023",3521062,{"url":38,"format":15,"name":39,"size_bytes":40},"https:\u002F\u002Fdata.gov.il\u002Fdataset\u002Feb26b8f9-213f-4bd6-90c1-1a3c65b82c72\u002Fresource\u002F9dd76d51-376a-4324-8d7b-6719601bbf7f\u002Fdownload\u002F9dd76d51-376a-4324-8d7b-6719601bbf7f.csv","קובץ נסועה בקווי אוטובוס רבעון 4 שנת 2022",1730080,{"url":42,"format":16,"name":43,"size_bytes":44},"https:\u002F\u002Fdata.gov.il\u002Fdataset\u002Feb26b8f9-213f-4bd6-90c1-1a3c65b82c72\u002Fresource\u002F943f8091-efc6-4d75-a3af-0fb5953c3fc0\u002Fdownload\u002Fridership_info.pdf","מידע על קובץ הנסועה בקווי אוטובוס",64554,"2026-05-05T03:17:19.387289Z",1,"נתוני נסועה רבעוניים לכלל קווי האוטובוס בישראל — כולל מספר נוסעים, קילומטראז', עלות לנוסע ופירוט לפי מפעיל, אזור מטרופולין וסוג קו; מגמת גידול של כ-32% בנסועה בין 2022 ל-2025.","timeseries",[],"\u003C!-- נסועה בקווי אוטובוס — body fragment -->\n\n\u003Ch1 class=\"text-2xl font-bold text-ink-deep mb-2\">נסועה בקווי אוטובוס\u003C\u002Fh1>\n\n\u003Cdiv class=\"flex flex-wrap gap-2 mb-6\">\n  \u003Cspan class=\"tag-chip\">תחבורה ציבורית\u003C\u002Fspan>\n  \u003Cspan class=\"tag-chip\">אוטובוסים\u003C\u002Fspan>\n  \u003Cspan class=\"tag-chip\">משרד התחבורה\u003C\u002Fspan>\n  \u003Cspan class=\"tag-chip\">נסועה\u003C\u002Fspan>\n  \u003Cspan class=\"tag-chip\">קווים\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\n\u003C!-- AI summary -->\n\u003Csection class=\"card p-5 mb-6\">\n  \u003Cdiv class=\"flex gap-3 items-start\">\n    \u003Cimg src=\"\u002Ficons\u002Finfo.svg\" alt=\"\" class=\"w-5 h-5 mt-0.5 text-brand shrink-0\" \u002F>\n    \u003Cdiv>\n      \u003Ch2 class=\"font-semibold text-ink-deep mb-2\">על המאגר\u003C\u002Fh2>\n      \u003Cp class=\"leading-relaxed text-ink\">\n        מאגר הנסועה בקווי האוטובוס מרכז נתוני נסיעה מאומתים מתוך מערכת המסלקה של הרשות הארצית לתחבורה, ומכסה את כל הקווים הפעילים בישראל. הנתונים מוצגים לפי רבעונים ומאפשרים מעקב אחר מגמות הנסועה, ביצועי המפעילים ופיזור הנסיעות לפי אזורי מטרופולין. בין 2022 ל-2026 נרשמה עלייה מצטברת של כ-18% בסך הנוסעים השבועיים — משיא של 12.9 מיליון לרבעון ל-17 מיליון ב-Q2 2025.\n      \u003C\u002Fp>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Fsection>\n\n\u003C!-- KPI cards -->\n\u003Cdiv class=\"grid grid-cols-2 md:grid-cols-4 gap-4 mb-6\">\n  \u003Cdiv class=\"card p-5 text-center\">\n    \u003Cdiv class=\"text-3xl font-bold text-brand mb-1\">2,703\u003C\u002Fdiv>\n    \u003Cdiv class=\"text-sm text-subtle\">קווים פעילים\u003C\u002Fdiv>\n    \u003Cdiv class=\"text-xs text-subtle mt-1\">Q1 2026\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"card p-5 text-center\">\n    \u003Cdiv class=\"text-3xl font-bold text-brand mb-1\">17M\u003C\u002Fdiv>\n    \u003Cdiv class=\"text-sm text-subtle\">נוסעים שבועיים\u003C\u002Fdiv>\n    \u003Cdiv class=\"text-xs text-subtle mt-1\">שיא — Q2 2025\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"card p-5 text-center\">\n    \u003Cdiv class=\"text-3xl font-bold text-brand mb-1\">29\u003C\u002Fdiv>\n    \u003Cdiv class=\"text-sm text-subtle\">מפעילי אוטובוסים\u003C\u002Fdiv>\n    \u003Cdiv class=\"text-xs text-subtle mt-1\">2025\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"card p-5 text-center\">\n    \u003Cdiv class=\"text-3xl font-bold text-brand mb-1\">83%\u003C\u002Fdiv>\n    \u003Cdiv class=\"text-sm text-subtle\">נסועה עירונית\u003C\u002Fdiv>\n    \u003Cdiv class=\"text-xs text-subtle mt-1\">מסך הנוסעים, Q2 2025\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\n\u003C!-- insights -->\n\u003Csection class=\"card p-5 mb-6\">\n  \u003Cdiv class=\"flex gap-2 items-center mb-3\">\n    \u003Cimg src=\"\u002Ficons\u002Fcircle-check.svg\" alt=\"\" class=\"w-5 h-5 text-ok shrink-0\" \u002F>\n    \u003Ch2 class=\"font-semibold text-ink-deep\">ממצאים עיקריים\u003C\u002Fh2>\n  \u003C\u002Fdiv>\n  \u003Cul class=\"space-y-2 text-ink leading-relaxed list-disc list-inside\">\n    \u003Cli>סך הנוסעים השבועיים צמח מ-12.9 מיליון ב-Q4 2022 ל-17.1 מיליון ב-Q2 2025 — עלייה של כ-32% בשלוש שנים.\u003C\u002Fli>\n    \u003Cli>אגד היא המפעילה הגדולה עם 7.8 מיליון נוסעים שבועיים (2025), כשדן ממוקמת שנייה עם 4.9 מיליון.\u003C\u002Fli>\n    \u003Cli>מטרופולין ירושלים מוביל בנסועה עם 9.2 מיליון נוסעים שבועיים (2025), ואחריו גוש דן עם 8.1 מיליון.\u003C\u002Fli>\n    \u003Cli>הקווים העירוניים מהווים 83% מסך הנסועה (14.2M מתוך 17.1M בQ2 2025), בינעירוניים 15% ואזוריים 1.7%.\u003C\u002Fli>\n    \u003Cli>שעות הצהריים (12:00–14:59) הן שעות השיא בנסועה ביום עבודה, עם מדד נסועה גבוה משעות הבוקר.\u003C\u002Fli>\n    \u003Cli>האוטובוסים הרגילים מסיעים 82% מהנוסעים, והמפרקיים — כ-13% — אחוץ כפול ממשקלם (134 קווים מתוך 5,397).\u003C\u002Fli>\n  \u003C\u002Ful>\n\u003C\u002Fsection>\n\n\u003C!-- Quarterly trend chart -->\n\u003Csection class=\"card p-5 mb-6\">\n  \u003Ch2 class=\"font-semibold text-ink-deep mb-3\">מגמת הנסועה הרבעונית (2022–2026)\u003C\u002Fh2>\n  \u003Cp class=\"text-sm text-subtle mb-3\">סך נוסעים שבועיים ממוצע לכלל קווי האוטובוס בישראל, לפי רבעון\u003C\u002Fp>\n  \u003Cdiv id=\"chart-trend\" class=\"h-64 md:h-80\">\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\n\u003C!-- Agency + RouteType two-column -->\n\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 gap-5 mb-6\">\n  \u003Csection class=\"card p-5\">\n    \u003Ch2 class=\"font-semibold text-ink-deep mb-3\">נסועה לפי מפעיל (2025)\u003C\u002Fh2>\n    \u003Cp class=\"text-xs text-subtle mb-2\">סך נוסעים שבועיים ממוצע — כלל הרבעונים\u003C\u002Fp>\n    \u003Cdiv id=\"chart-agency\" class=\"h-64 md:h-80\">\u003C\u002Fdiv>\n  \u003C\u002Fsection>\n  \u003Csection class=\"card p-5\">\n    \u003Ch2 class=\"font-semibold text-ink-deep mb-3\">נסועה לפי סוג קו (Q2 2025)\u003C\u002Fh2>\n    \u003Cp class=\"text-xs text-subtle mb-2\">חלוקת נוסעים שבועיים לפי סוג הקו\u003C\u002Fp>\n    \u003Cdiv id=\"chart-routetype\" class=\"h-64 md:h-80\">\u003C\u002Fdiv>\n  \u003C\u002Fsection>\n\u003C\u002Fdiv>\n\n\u003C!-- Metropolin chart -->\n\u003Csection class=\"card p-5 mb-6\">\n  \u003Ch2 class=\"font-semibold text-ink-deep mb-3\">נסועה לפי מטרופולין (2025 — כל הרבעונים)\u003C\u002Fh2>\n  \u003Cp class=\"text-sm text-subtle mb-3\">סך נוסעים שבועיים ממוצע בכל אזור מטרופולין\u003C\u002Fp>\n  \u003Cdiv id=\"chart-metro\" class=\"h-64 md:h-80\">\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\n\u003C!-- Hourly + BusSize two-column -->\n\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 gap-5 mb-6\">\n  \u003Csection class=\"card p-5\">\n    \u003Ch2 class=\"font-semibold text-ink-deep mb-3\">פיזור נסועה לפי שעות ביום עבודה (2024)\u003C\u002Fh2>\n    \u003Cp class=\"text-xs text-subtle mb-2\">סך ממוצע נוסעים ברכיבה, לפי חלון שעות ביום עבודה\u003C\u002Fp>\n    \u003Cdiv id=\"chart-hourly\" class=\"h-64 md:h-72\">\u003C\u002Fdiv>\n  \u003C\u002Fsection>\n  \u003Csection class=\"card p-5\">\n    \u003Ch2 class=\"font-semibold text-ink-deep mb-3\">נסועה לפי סוג רכב (Q2 2025)\u003C\u002Fh2>\n    \u003Cp class=\"text-xs text-subtle mb-2\">חלוקת נוסעים שבועיים לפי גודל הרכב\u003C\u002Fp>\n    \u003Cdiv id=\"chart-bussize\" class=\"h-64 md:h-72\">\u003C\u002Fdiv>\n  \u003C\u002Fsection>\n\u003C\u002Fdiv>\n\n\u003C!-- Data explorer -->\n\u003Csection class=\"card p-5 mb-6\">\n  \u003Cdiv class=\"flex flex-wrap items-center justify-between gap-3 mb-3\">\n    \u003Ch2 class=\"font-semibold text-ink-deep\">עיון בקווים (Q1 2026)\u003C\u002Fh2>\n    \u003Cinput id=\"explorer-search\" class=\"gov-explorer-search\"\n           type=\"search\" placeholder=\"חיפוש לפי מספר קו, עיר או מפעיל...\"\n           aria-label=\"חיפוש בטבלה\" \u002F>\n  \u003C\u002Fdiv>\n  \u003Cdiv id=\"explorer\">\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\n\u003C!-- Notes -->\n\u003Csection class=\"card p-5 mb-6\">\n  \u003Cdiv class=\"flex gap-2 items-center mb-3\">\n    \u003Cimg src=\"\u002Ficons\u002Fdatabase.svg\" alt=\"\" class=\"w-5 h-5 text-subtle shrink-0\" \u002F>\n    \u003Ch2 class=\"font-semibold text-ink-deep\">על הנתונים\u003C\u002Fh2>\n  \u003C\u002Fdiv>\n  \u003Cp class=\"leading-relaxed text-ink text-sm\">\n    קובץ הנסועה בקווי האוטובוס מכיל מידע על כל הקווים הפעילים בישראל ומספרי העולים המתקפים בהם מתוך מערכת המסלקה של הרשות הארצית לתחבורה. הקבצים מחולקים לפי שנים והמידע בהם מוצג לפי רבעונים.\n  \u003C\u002Fp>\n\u003C\u002Fsection>\n\n\u003Cscript>\n(function () {\n  const GOVIL_PALETTE = [\n    '#0068f5','#0b3668','#6c9fd8','#0053c4','#0c3058',\n    '#3d70b0','#b7d2f7','#2658a0','#dbe8fb','#0c1f3d'\n  ];\n\n  const baseECharts = {\n    color: GOVIL_PALETTE,\n    textStyle: { fontFamily: 'Rubik, sans-serif', color: '#0c3058' },\n    tooltip: {\n      textStyle: { fontFamily: 'Rubik', color: '#0c3058' },\n      backgroundColor: '#fff',\n      borderColor: '#c3cfe7',\n      extraCssText: 'direction: rtl; box-shadow: 0 6px 24px -8px rgba(0,104,245,.18);'\n    },\n    grid: { left: 48, right: 64, top: 40, bottom: 48, containLabel: true },\n  };\n\n  \u002F* ── 1. Quarterly trend ── *\u002F\n  const trendLabels = [\n    'Q4 2022','Q1 2023','Q2 2023',\n    'Q1 2024','Q2 2024','Q4 2024',\n    'Q2 2025','Q4 2025','Q1 2026'\n  ];\n  const trendData = [\n    12900426, 14995860, 15843656,\n    14633228, 15973981, 16186565,\n    17052388, 16481343, 15250362\n  ];\n  const chartTrend = echarts.init(document.getElementById('chart-trend'));\n  chartTrend.setOption(Object.assign({}, baseECharts, {\n    tooltip: Object.assign({}, baseECharts.tooltip, {\n      trigger: 'axis',\n      formatter: function(params) {\n        const v = params[0].value;\n        return params[0].axisValue + \"\u003Cbr\u002F>\\u05e0\\u05d5\\u05e1\\u05e2\\u05d9\\u05dd \\u05e9\\u05d1\\u05d5\\u05e2\\u05d9\\u05d9\\u05dd: \u003Cb>\" + (v\u002F1e6).toFixed(2) + \"M\u003C\u002Fb>\";\n      }\n    }),\n    xAxis: {\n      type: 'category',\n      data: trendLabels,\n      axisLabel: { fontFamily: 'Rubik', color: '#0c3058', rotate: 30, fontSize: 11 }\n    },\n    yAxis: {\n      type: 'value',\n      axisLabel: {\n        fontFamily: 'Rubik', color: '#6c757d', fontSize: 11,\n        formatter: function(v) { return (v\u002F1e6).toFixed(0) + 'M'; }\n      },\n      splitLine: { lineStyle: { color: '#e8eef8' } }\n    },\n    series: [{\n      type: 'line',\n      data: trendData,\n      smooth: true,\n      lineStyle: { width: 3 },\n      itemStyle: { color: '#0068f5' },\n      areaStyle: { color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1,\n        colorStops: [{ offset: 0, color: 'rgba(0,104,245,0.22)' }, { offset: 1, color: 'rgba(0,104,245,0.02)' }] } },\n      markPoint: {\n        data: [{ type: \"max\", name: \"\\u05e9\\u05d9\\u05d0\" }],\n        label: { fontFamily: \"Rubik\", fontSize: 11 }\n      }\n    }]\n  }));\n  window.addEventListener('resize', () => chartTrend.resize());\n\n  \u002F* ── 2. Agency horizontal bar ── *\u002F\n  const agencyNames = [\n    \"\\u05d1\\u05d9\\u05ea \\u05e9\\u05de\\u05e9 \\u05d0\\u05e7\\u05e1\\u05e4\\u05e8\\u05e1\",\n    \"\\u05d0\\u05dc\\u05e7\\u05d8\\u05e8\\u05d0 \\u05d0\\u05e4\\u05d9\\u05e7\\u05d9\\u05dd\",\n    \"\\u05d0\\u05e7\\u05e1\\u05d8\\u05e8\\u05d4 \\u05d9\\u05e8\\u05d5\\u05e9\\u05dc\\u05d9\\u05dd\",\n    \"\\u05de\\u05d8\\u05e8\\u05d5\\u05e4\\u05d5\\u05dc\\u05d9\\u05df\",\n    \"\\u05e7\\u05d5\\u05d5\\u05d9\\u05dd\",\n    \"\\u05e1\\u05d5\\u05e4\\u05e8\\u05d1\\u05d5\\u05e1\",\n    \"\\u05d3\\u05df\",\n    \"\\u05d0\\u05d2\\u05d3\"\n  ];\n  const agencyPax = [1177533, 1832629, 2330465, 2887160, 3358200, 3566847, 4928966, 7833766];\n  const chartAgency = echarts.init(document.getElementById('chart-agency'));\n  chartAgency.setOption(Object.assign({}, baseECharts, {\n    grid: { left: 20, right: 60, top: 10, bottom: 10, containLabel: true },\n    tooltip: Object.assign({}, baseECharts.tooltip, {\n      trigger: 'axis',\n      formatter: function(p) {\n        return p[0].name + '\u003Cbr\u002F>\\u05e0\\u05d5\\u05e1\\u05e2\\u05d9\\u05dd \\u05e9\\u05d1\\u05d5\\u05e2\\u05d9\\u05d9\\u05dd: \u003Cb>' + (p[0].value\u002F1e6).toFixed(2) + 'M\u003C\u002Fb>';\n      }\n    }),\n    xAxis: {\n      type: 'value',\n      axisLabel: { fontFamily: 'Rubik', color: '#6c757d', fontSize: 10,\n        formatter: function(v) { return (v\u002F1e6).toFixed(0) + 'M'; } },\n      splitLine: { lineStyle: { color: '#e8eef8' } }\n    },\n    yAxis: {\n      type: 'category',\n      data: agencyNames,\n      axisLabel: { fontFamily: 'Rubik', color: '#0c3058', fontSize: 11 }\n    },\n    series: [{\n      type: 'bar',\n      data: agencyPax,\n      itemStyle: { color: '#0068f5', borderRadius: [0, 4, 4, 0] },\n      label: { show: true, position: 'right', fontFamily: 'Rubik', fontSize: 10, color: '#0c3058',\n        formatter: function(p) { return (p.value\u002F1e6).toFixed(1) + 'M'; } }\n    }]\n  }));\n  window.addEventListener('resize', () => chartAgency.resize());\n\n  \u002F* ── 3. RouteType donut ── *\u002F\n  const chartRT = echarts.init(document.getElementById('chart-routetype'));\n  chartRT.setOption(Object.assign({}, baseECharts, {\n    tooltip: Object.assign({}, baseECharts.tooltip, {\n      trigger: 'item',\n      formatter: function(p) {\n        return p.name + '\u003Cbr\u002F>\\u05e0\\u05d5\\u05e1\\u05e2\\u05d9\\u05dd \\u05e9\\u05d1\\u05d5\\u05e2\\u05d9\\u05d9\\u05dd: \u003Cb>' + (p.value\u002F1e6).toFixed(2) + 'M\u003C\u002Fb>\u003Cbr\u002F>(' + p.percent + '%)';\n      }\n    }),\n    legend: {\n      orient: 'vertical', right: 10, top: 'middle',\n      textStyle: { fontFamily: 'Rubik', color: '#0c3058', fontSize: 12 }\n    },\n    series: [{\n      type: 'pie',\n      radius: ['42%', '68%'],\n      center: ['40%', '50%'],\n      data: [\n        { name: \"\\u05e2\\u05d9\\u05e8\\u05d5\\u05e0\\u05d9\",     value: 14212729 },\n        { name: \"\\u05d1\\u05d9\\u05e0\\u05e2\\u05d9\\u05e8\\u05d5\\u05e0\\u05d9\", value: 2554811 },\n        { name: \"\\u05d0\\u05d6\\u05d5\\u05e8\\u05d9\",            value: 284848  }\n      ],\n      label: { show: false },\n      emphasis: { label: { show: true, fontFamily: 'Rubik', fontSize: 13, fontWeight: 'bold' } }\n    }]\n  }));\n  window.addEventListener('resize', () => chartRT.resize());\n\n  \u002F* ── 4. Metropolin horizontal bar ── *\u002F\n  const metroNames = [\n    \"\\u05d1\\u05d9\\u05df \\u05de\\u05d7\\u05d5\\u05d6\\u05d9\",\n    \"\\u05de\\u05d6\\u05e8\\u05d7 \\u05d9\\u05e8\\u05d5\\u05e9\\u05dc\\u05d9\\u05dd\",\n    \"\\u05d2\\u05d5\\u05dc\\u05df \\u05d2\\u05dc\\u05d9\\u05dc \\u05d5\\u05e2\\u05de\\u05e7\\u05d9\\u05dd\",\n    \"\\u05d4\\u05d3\\u05e8\\u05d5\\u05dd\",\n    \"\\u05de\\u05d8\\u05e8\\u05d5\\u05e4\\u05d5\\u05dc\\u05d9\\u05df \\u05d7\\u05d9\\u05e4\\u05d4\",\n    \"\\u05de\\u05e8\\u05db\\u05d6\",\n    \"\\u05d2\\u05d5\\u05e9 \\u05d3\\u05df\",\n    \"\\u05d9-\\u05dd\"\n  ];\n  const metroPax = [769790, 864288, 1734186, 1989628, 3471358, 3803213, 8087069, 9171611];\n  const chartMetro = echarts.init(document.getElementById('chart-metro'));\n  chartMetro.setOption(Object.assign({}, baseECharts, {\n    grid: { left: 20, right: 80, top: 10, bottom: 10, containLabel: true },\n    tooltip: Object.assign({}, baseECharts.tooltip, {\n      trigger: 'axis',\n      formatter: function(p) {\n        return p[0].name + '\u003Cbr\u002F>\\u05e0\\u05d5\\u05e1\\u05e2\\u05d9\\u05dd \\u05e9\\u05d1\\u05d5\\u05e2\\u05d9\\u05d9\\u05dd: \u003Cb>' + (p[0].value\u002F1e6).toFixed(2) + 'M\u003C\u002Fb>';\n      }\n    }),\n    xAxis: {\n      type: 'value',\n      axisLabel: { fontFamily: 'Rubik', color: '#6c757d', fontSize: 10,\n        formatter: function(v) { return (v\u002F1e6).toFixed(0) + 'M'; } },\n      splitLine: { lineStyle: { color: '#e8eef8' } }\n    },\n    yAxis: {\n      type: 'category',\n      data: metroNames,\n      axisLabel: { fontFamily: 'Rubik', color: '#0c3058', fontSize: 11 }\n    },\n    series: [{\n      type: 'bar',\n      data: metroPax,\n      itemStyle: {\n        color: function(p) { return GOVIL_PALETTE[p.dataIndex % GOVIL_PALETTE.length]; },\n        borderRadius: [0, 4, 4, 0]\n      },\n      label: { show: true, position: 'right', fontFamily: 'Rubik', fontSize: 10, color: '#0c3058',\n        formatter: function(p) { return (p.value\u002F1e6).toFixed(1) + 'M'; } }\n    }]\n  }));\n  window.addEventListener('resize', () => chartMetro.resize());\n\n  \u002F* ── 5. Workday hourly bar ── *\u002F\n  const hourLabels = ['00:00-03:59','04:00-05:59','06:00-08:59','09:00-11:59','12:00-14:59','15:00-18:59','19:00-23:59'];\n  const hourData   = [3999, 10098, 62817, 45053, 87368, 43637, 34529];\n  const chartHour = echarts.init(document.getElementById('chart-hourly'));\n  chartHour.setOption(Object.assign({}, baseECharts, {\n    grid: { left: 20, right: 20, top: 20, bottom: 20, containLabel: true },\n    tooltip: Object.assign({}, baseECharts.tooltip, {\n      trigger: 'axis',\n      formatter: function(p) {\n        return p[0].axisValue + '\u003Cbr\u002F>\\u05de\\u05d3\\u05d3 \\u05e0\\u05e1\\u05d5\\u05e2\\u05d4: \u003Cb>' + p[0].value.toLocaleString('he-IL') + '\u003C\u002Fb>';\n      }\n    }),\n    xAxis: {\n      type: 'category',\n      data: hourLabels,\n      axisLabel: { fontFamily: 'Rubik', color: '#0c3058', fontSize: 10, rotate: 20 }\n    },\n    yAxis: {\n      type: 'value',\n      axisLabel: { fontFamily: 'Rubik', color: '#6c757d', fontSize: 10,\n        formatter: function(v) { return (v\u002F1000).toFixed(0) + 'K'; } },\n      splitLine: { lineStyle: { color: '#e8eef8' } }\n    },\n    series: [{\n      type: 'bar',\n      data: hourData,\n      itemStyle: {\n        color: function(p) {\n          return p.dataIndex === 4 ? '#0053c4' : '#6c9fd8';\n        },\n        borderRadius: [3, 3, 0, 0]\n      }\n    }]\n  }));\n  window.addEventListener('resize', () => chartHour.resize());\n\n  \u002F* ── 6. BusSize donut ── *\u002F\n  const chartBus = echarts.init(document.getElementById('chart-bussize'));\n  chartBus.setOption(Object.assign({}, baseECharts, {\n    tooltip: Object.assign({}, baseECharts.tooltip, {\n      trigger: 'item',\n      formatter: function(p) {\n        return p.name + '\u003Cbr\u002F>\\u05e0\\u05d5\\u05e1\\u05e2\\u05d9\\u05dd \\u05e9\\u05d1\\u05d5\\u05e2\\u05d9\\u05d9\\u05dd: \u003Cb>' + (p.value\u002F1e6).toFixed(2) + 'M\u003C\u002Fb>\u003Cbr\u002F>(' + p.percent + '%)';\n      }\n    }),\n    legend: {\n      orient: 'vertical', right: 5, top: 'middle',\n      textStyle: { fontFamily: 'Rubik', color: '#0c3058', fontSize: 11 }\n    },\n    series: [{\n      type: 'pie',\n      radius: ['38%', '65%'],\n      center: ['38%', '50%'],\n      data: [\n        { name: \"\\u05d0\\u05d5\\u05d8\\u05d5\\u05d1\\u05d5\\u05e1 \\u05e8\\u05d2\\u05d9\\u05dc\", value: 14058993 },\n        { name: \"\\u05de\\u05e4\\u05e8\\u05e7\\u05d9\",        value: 2199806 },\n        { name: \"\\u05de\\u05d9\\u05e0\\u05d9\\u05d1\\u05d5\\u05e1\",      value: 620901  },\n        { name: \"\\u05dc\\u05d0 \\u05de\\u05d5\\u05d2\\u05d3\\u05e8\",     value: 129604  },\n        { name: \"\\u05de\\u05d9\\u05d3\\u05d9\\u05d1\\u05d5\\u05e1\",      value: 43083   }\n      ],\n      label: { show: false },\n      emphasis: { label: { show: true, fontFamily: 'Rubik', fontSize: 12, fontWeight: 'bold' } }\n    }]\n  }));\n  window.addEventListener('resize', () => chartBus.resize());\n\n  \u002F* ── 7. GovExplorer ── *\u002F\n  GovExplorer.create({\n    container:    '#explorer',\n    searchInput:  '#explorer-search',\n    resourceId:   '7b126b6d-3411-4438-89c3-8eceea61c2db',\n    fields:       ['RouteName','AgencyName','OriginCityName','DestinationCityName','RouteType','AVGPassengersPerWeek'],\n    headers:      [\"\\u05e7\\u05d5\", \"\\u05de\\u05e4\\u05e2\\u05d9\\u05dc\", \"\\u05e2\\u05d9\\u05e8 \\u05de\\u05d5\\u05e6\\u05d0\", \"\\u05e2\\u05d9\\u05e8 \\u05d9\\u05e2\\u05d3\", \"\\u05e1\\u05d5\\u05d2\", \"\\u05e0\\u05d5\\u05e1\\u05e2\\u05d9\\u05dd \\u05e9\\u05d1\\u05d5\\u05e2\\u05d9\\u05d9\\u05dd\"],\n    searchFields: ['AgencyName','OriginCityName','DestinationCityName'],\n    pageSize:     50,\n    sort:         'AVGPassengersPerWeek desc',\n    renderRow: function(r) {\n      var rt = r['RouteType'] || '';\n      var badge = rt === \"\\u05e2\\u05d9\\u05e8\\u05d5\\u05e0\\u05d9\" ? 'ok' : (rt === \"\\u05d1\\u05d9\\u05e0\\u05e2\\u05d9\\u05e8\\u05d5\\u05e0\\u05d9\" ? 'info' : 'mut');\n      var pax = r['AVGPassengersPerWeek'];\n      var paxStr = pax ? Number(pax).toLocaleString('he-IL') : '\\u2014';\n      return [\n        { text: String(r['RouteName'] || ''), dir: 'ltr' },\n        { text: r['AgencyName'] || '' },\n        { text: r['OriginCityName'] || '' },\n        { text: r['DestinationCityName'] || '' },\n        { text: rt, badge: badge },\n        { text: paxStr, dir: 'ltr' }\n      ];\n    }\n  });\n})();\n\u003C\u002Fscript>\n",1778130672664]