{"id":558,"date":"2025-12-07T01:31:17","date_gmt":"2025-12-07T01:31:17","guid":{"rendered":"https:\/\/fairview.vintechnet.com\/?page_id=558"},"modified":"2025-12-11T03:25:56","modified_gmt":"2025-12-11T03:25:56","slug":"share-price-graph","status":"publish","type":"page","link":"https:\/\/staging.plc.fairview.edu.my\/?page_id=558","title":{"rendered":"Financial Information"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"558\" class=\"elementor elementor-558\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-768e715 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no elementor-invisible e-con e-parent\" data-id=\"768e715\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-39e8fcf e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"39e8fcf\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0189c6a elementor-widget elementor-widget-xpro-page-title\" data-id=\"0189c6a\" data-element_type=\"widget\" data-widget_type=\"xpro-page-title.default\">\n\t\t\t\t\t\n<h2 class=\"xpro-page-title\">\n<span class=\"xpro-page-title-text\">\n\t\tFinancial Information\t<\/span>\n<\/h2>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b01831d elementor-widget elementor-widget-hfe-breadcrumbs-widget\" data-id=\"b01831d\" data-element_type=\"widget\" data-widget_type=\"hfe-breadcrumbs-widget.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<nav aria-label=\"Breadcrumb\"><ul class=\"hfe-breadcrumbs hfe-breadcrumbs-show-home\"><li class=\"hfe-breadcrumbs-item hfe-breadcrumbs-first\"><span class=\"hfe-breadcrumbs-home-icon\"><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-home\" viewBox=\"0 0 576 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z\"><\/path><\/svg><\/span><a href=\"https:\/\/staging.plc.fairview.edu.my\"><span class=\"hfe-breadcrumbs-text\">Home<\/span><\/a><\/li><\/ul><\/nav>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-39bc3e0 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no elementor-invisible e-con e-parent\" data-id=\"39bc3e0\" data-element_type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0de06f9 elementor-widget elementor-widget-heading\" data-id=\"0de06f9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Annual Data<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c63e4b5 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no elementor-invisible e-con e-parent\" data-id=\"c63e4b5\" data-element_type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f6e905b e-n-tabs-mobile elementor-widget elementor-widget-n-tabs\" data-id=\"f6e905b\" data-element_type=\"widget\" data-settings=\"{&quot;horizontal_scroll&quot;:&quot;disable&quot;}\" data-widget_type=\"nested-tabs.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-tabs\" data-widget-number=\"258904155\" aria-label=\"Tabs. Open items with Enter or Space, close with Escape and navigate using the Arrow keys.\">\n\t\t\t<div class=\"e-n-tabs-heading\" role=\"tablist\">\n\t\t\t\t\t<button id=\"e-n-tab-title-2589041551\" class=\"e-n-tab-title\" aria-selected=\"true\" data-tab-index=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"e-n-tab-content-2589041551\" style=\"--n-tabs-title-order: 1;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tConsolidated Statement of<br \/> Profit and Loss\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-2589041552\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-2589041552\" style=\"--n-tabs-title-order: 2;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tConsolidated Statement of<br \/> Financial Position\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-2589041553\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-2589041553\" style=\"--n-tabs-title-order: 3;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tConsolidated Statement of<br \/> Cash Flows\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-2589041554\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"4\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-2589041554\" style=\"--n-tabs-title-order: 4;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tKey Indicators\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t\t<\/div>\n\t\t\t<div class=\"e-n-tabs-content\">\n\t\t\t\t<div id=\"e-n-tab-content-2589041551\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-2589041551\" data-tab-index=\"1\" style=\"--n-tabs-title-order: 1;\" class=\"e-active elementor-element elementor-element-1e683e0 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"1e683e0\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4a6fd86 e-n-tabs-mobile elementor-widget elementor-widget-n-tabs\" data-id=\"4a6fd86\" data-element_type=\"widget\" data-settings=\"{&quot;tabs_justify_horizontal&quot;:&quot;end&quot;,&quot;horizontal_scroll&quot;:&quot;disable&quot;}\" data-widget_type=\"nested-tabs.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-tabs\" data-widget-number=\"78052742\" aria-label=\"Tabs. Open items with Enter or Space, close with Escape and navigate using the Arrow keys.\">\n\t\t\t<div class=\"e-n-tabs-heading\" role=\"tablist\">\n\t\t\t\t\t<button id=\"e-n-tab-title-780527421\" class=\"e-n-tab-title\" aria-selected=\"true\" data-tab-index=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"e-n-tab-content-780527421\" style=\"--n-tabs-title-order: 1;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tGraph\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-780527422\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-780527422\" style=\"--n-tabs-title-order: 2;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tTable\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t\t<\/div>\n\t\t\t<div class=\"e-n-tabs-content\">\n\t\t\t\t<div id=\"e-n-tab-content-780527421\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-780527421\" data-tab-index=\"1\" style=\"--n-tabs-title-order: 1;\" class=\"e-active elementor-element elementor-element-a1cfbea e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"a1cfbea\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-8d5df65 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"8d5df65\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b46cd73 elementor-widget elementor-widget-html\" data-id=\"b46cd73\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"pl-chart\" style=\"width:100%; height:400px;\"><\/div>\r\n\r\n<!-- Load Highcharts (skip these 3 lines if you already load Highcharts globally) -->\r\n\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n    Highcharts.chart('pl-chart', {\r\n        chart: {\r\n            zoomType: 'xy'\r\n        },\r\n        title: {\r\n            text: 'Consolidated Statement of Profit and Loss'\r\n        },\r\n        xAxis: {\r\n            categories: ['2024', '2025'],\r\n            crosshair: true\r\n        },\r\n        yAxis: {\r\n            title: {\r\n                text: \"GBP '000\"\r\n            }\r\n        },\r\n        tooltip: {\r\n            shared: true\r\n        },\r\n        legend: {\r\n            layout: 'horizontal',\r\n            align: 'center',\r\n            verticalAlign: 'bottom'\r\n        },\r\n        plotOptions: {\r\n            column: {\r\n                borderWidth: 0\r\n            }\r\n        },\r\n        series: [\r\n            {\r\n                \/\/ Orange columns: Total Finance and Other Income\r\n                type: 'column',\r\n                name: 'Total Finance and Other Income',\r\n                data: [815, 1161],\r\n                color: '#f28e2b'\r\n            },\r\n            {\r\n                \/\/ Green columns (negative): Total Expenses\r\n                type: 'column',\r\n                name: 'Total Expenses',\r\n                data: [-2616, -2606],\r\n                color: '#59a14f'\r\n            },\r\n            {\r\n                \/\/ Blue columns: Profit for the year\r\n                type: 'column',\r\n                name: 'Profit for the year',\r\n                data: [1343, 754],\r\n                color: '#4e79a7'\r\n            },\r\n            {\r\n                \/\/ Line: Revenue\r\n                type: 'spline',\r\n                name: 'Revenue',\r\n                data: [5011, 5342],\r\n                color: '#004b87',\r\n                marker: {\r\n                    enabled: true,\r\n                    radius: 4\r\n                }\r\n            }\r\n        ]\r\n    });\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-780527422\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-780527422\" data-tab-index=\"2\" style=\"--n-tabs-title-order: 2;\" class=\" elementor-element elementor-element-3fae87a e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"3fae87a\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-bd2c0be e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"bd2c0be\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f800f4e elementor-widget elementor-widget-Table\" data-id=\"f800f4e\" data-element_type=\"widget\" data-widget_type=\"Table.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<table class=\"tafe-table \">\n\t\t\t<thead  class=\"tafe-table-header\">\n\t\t\t\t<tr>\n\t\t\t\t\t<th class=\"elementor-inline-editing elementor-repeater-item-fe69075\"   ><\/th><th class=\"elementor-inline-editing elementor-repeater-item-d6f455a\"   >2024<\/th><th class=\"elementor-inline-editing elementor-repeater-item-6acdf50\"   >2025<\/th>\t\t\t\t<\/tr>\n\t\t\t<\/thead>\n\t\t\t\t\t\t<tbody class=\"tafe-table-body\">\n\t\t\t\t<tr>\n\t\t\t\t\t<td data-label=\"\"   class=\"elementor-repeater-item-09b8324 td-content-type-default\" >Revenue<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-d4a84e1 td-content-type-default\" >5,011\n<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-50ac54c td-content-type-default\" >5342<\/td><\/tr><tr><td data-label=\"\"   class=\"elementor-repeater-item-a7e5b78 td-content-type-default\" >Total Finance and Other Income<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-51a9951 td-content-type-default\" >815<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-fc3c09e td-content-type-default\" >1161<\/td><\/tr><tr><td data-label=\"\"   class=\"elementor-repeater-item-0c04234 td-content-type-default\" >Total Expenses<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-bfbe409 td-content-type-default\" >-2616<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-c69702e td-content-type-default\" >-2606<\/td><\/tr><tr><td data-label=\"\"   class=\"elementor-repeater-item-43d1407 td-content-type-default\" >Profit for the year<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-1f423e5 td-content-type-default\" >1343<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-54f6d2a td-content-type-default\" >754<\/td>\t\t\t\t<\/tr>\n\t\t\t<\/tbody>\n\t\t<\/table>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-2589041552\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-2589041552\" data-tab-index=\"2\" style=\"--n-tabs-title-order: 2;\" class=\" elementor-element elementor-element-13a971f e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"13a971f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6ca74aa e-n-tabs-mobile elementor-widget elementor-widget-n-tabs\" data-id=\"6ca74aa\" data-element_type=\"widget\" data-settings=\"{&quot;tabs_justify_horizontal&quot;:&quot;end&quot;,&quot;horizontal_scroll&quot;:&quot;disable&quot;}\" data-widget_type=\"nested-tabs.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-tabs\" data-widget-number=\"113931434\" aria-label=\"Tabs. Open items with Enter or Space, close with Escape and navigate using the Arrow keys.\">\n\t\t\t<div class=\"e-n-tabs-heading\" role=\"tablist\">\n\t\t\t\t\t<button id=\"e-n-tab-title-1139314341\" class=\"e-n-tab-title\" aria-selected=\"true\" data-tab-index=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"e-n-tab-content-1139314341\" style=\"--n-tabs-title-order: 1;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tGraph\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-1139314342\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-1139314342\" style=\"--n-tabs-title-order: 2;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tTable\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t\t<\/div>\n\t\t\t<div class=\"e-n-tabs-content\">\n\t\t\t\t<div id=\"e-n-tab-content-1139314341\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-1139314341\" data-tab-index=\"1\" style=\"--n-tabs-title-order: 1;\" class=\"e-active elementor-element elementor-element-2ee51c5 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"2ee51c5\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-15bfdca e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"15bfdca\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-89e2a56 elementor-widget elementor-widget-html\" data-id=\"89e2a56\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"bs-chart\" style=\"width:100%; height:400px;\"><\/div>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n    Highcharts.chart('bs-chart', {\r\n        chart: {\r\n            zoomType: 'xy'   \/\/ allow mix of column + line\r\n        },\r\n        title: {\r\n            text: \"Consolidated Statement of Financial Position (GBP '000)\"\r\n        },\r\n        xAxis: {\r\n            categories: ['2024', '2025'],\r\n            crosshair: true\r\n        },\r\n        yAxis: {\r\n            title: {\r\n                text: \"GBP '000\"\r\n            }\r\n        },\r\n        tooltip: {\r\n            shared: true\r\n        },\r\n        legend: {\r\n            layout: 'horizontal',\r\n            align: 'center',\r\n            verticalAlign: 'bottom'\r\n        },\r\n        plotOptions: {\r\n            column: {\r\n                borderWidth: 0\r\n            }\r\n        },\r\n        series: [\r\n            {\r\n                \/\/ Columns: Total Equity\r\n                type: 'column',\r\n                name: 'Total Equity',\r\n                data: [2519, 5755],\r\n                color: '#59a14f'\r\n            },\r\n            {\r\n                \/\/ Columns: Total Liabilities\r\n                type: 'column',\r\n                name: 'Total Liabilities',\r\n                data: [26070, 20319],\r\n                color: '#f28e2b'\r\n            },\r\n            {\r\n                \/\/ Line: Total Assets\r\n                type: 'spline',\r\n                name: 'Total Assets',\r\n                data: [28589, 26074],\r\n                color: '#004b87',\r\n                marker: {\r\n                    enabled: true,\r\n                    radius: 4\r\n                }\r\n            }\r\n        ]\r\n    });\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-1139314342\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-1139314342\" data-tab-index=\"2\" style=\"--n-tabs-title-order: 2;\" class=\" elementor-element elementor-element-41c701b e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"41c701b\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-0500599 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"0500599\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-110e8ea elementor-widget elementor-widget-Table\" data-id=\"110e8ea\" data-element_type=\"widget\" data-widget_type=\"Table.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<table class=\"tafe-table \">\n\t\t\t<thead  class=\"tafe-table-header\">\n\t\t\t\t<tr>\n\t\t\t\t\t<th class=\"elementor-inline-editing elementor-repeater-item-fe69075\"   ><\/th><th class=\"elementor-inline-editing elementor-repeater-item-d6f455a\"   >2024<\/th><th class=\"elementor-inline-editing elementor-repeater-item-6acdf50\"   >2025<\/th>\t\t\t\t<\/tr>\n\t\t\t<\/thead>\n\t\t\t\t\t\t<tbody class=\"tafe-table-body\">\n\t\t\t\t<tr>\n\t\t\t\t\t<td data-label=\"\"   class=\"elementor-repeater-item-09b8324 td-content-type-default\" >Total Assets<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-d4a84e1 td-content-type-default\" >28589<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-50ac54c td-content-type-default\" >26074<\/td><\/tr><tr><td data-label=\"\"   class=\"elementor-repeater-item-a7e5b78 td-content-type-default\" >Total Equity<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-51a9951 td-content-type-default\" >2519<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-fc3c09e td-content-type-default\" >5755<\/td><\/tr><tr><td data-label=\"\"   class=\"elementor-repeater-item-0c04234 td-content-type-default\" >Total Liabilities<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-bfbe409 td-content-type-default\" >26070<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-c69702e td-content-type-default\" >20319<\/td>\t\t\t\t<\/tr>\n\t\t\t<\/tbody>\n\t\t<\/table>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-2589041553\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-2589041553\" data-tab-index=\"3\" style=\"--n-tabs-title-order: 3;\" class=\" elementor-element elementor-element-3c2d286 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"3c2d286\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9155b5a e-n-tabs-mobile elementor-widget elementor-widget-n-tabs\" data-id=\"9155b5a\" data-element_type=\"widget\" data-settings=\"{&quot;tabs_justify_horizontal&quot;:&quot;end&quot;,&quot;horizontal_scroll&quot;:&quot;disable&quot;}\" data-widget_type=\"nested-tabs.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-tabs\" data-widget-number=\"152394586\" aria-label=\"Tabs. Open items with Enter or Space, close with Escape and navigate using the Arrow keys.\">\n\t\t\t<div class=\"e-n-tabs-heading\" role=\"tablist\">\n\t\t\t\t\t<button id=\"e-n-tab-title-1523945861\" class=\"e-n-tab-title\" aria-selected=\"true\" data-tab-index=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"e-n-tab-content-1523945861\" style=\"--n-tabs-title-order: 1;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tGraph\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-1523945862\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-1523945862\" style=\"--n-tabs-title-order: 2;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tTable\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t\t<\/div>\n\t\t\t<div class=\"e-n-tabs-content\">\n\t\t\t\t<div id=\"e-n-tab-content-1523945861\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-1523945861\" data-tab-index=\"1\" style=\"--n-tabs-title-order: 1;\" class=\"e-active elementor-element elementor-element-1e4f00c e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"1e4f00c\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-1c692f2 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"1c692f2\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a104bf4 elementor-widget elementor-widget-html\" data-id=\"a104bf4\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"cashflow-chart\" style=\"width:100%; height:400px;\"><\/div>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n    Highcharts.chart('cashflow-chart', {\r\n        chart: {\r\n            zoomType: 'xy'\r\n        },\r\n        title: {\r\n            text: \"Consolidated Statement of Cash Flows (GBP '000)\"\r\n        },\r\n        xAxis: {\r\n            categories: ['2024', '2025'],\r\n            crosshair: true\r\n        },\r\n        yAxis: {\r\n            title: {\r\n                text: \"GBP '000\"\r\n            }\r\n        },\r\n        tooltip: {\r\n            shared: true\r\n        },\r\n        legend: {\r\n            layout: 'horizontal',\r\n            align: 'center',\r\n            verticalAlign: 'bottom'\r\n        },\r\n        plotOptions: {\r\n            column: {\r\n                borderWidth: 0\r\n            }\r\n        },\r\n        series: [\r\n            {\r\n                \/\/ Columns: Net cash flows from operating activities\r\n                type: 'column',\r\n                name: 'Net cash flows from operating activities',\r\n                data: [18281, 3898],\r\n                color: '#004b87'\r\n            },\r\n            {\r\n                \/\/ Columns: Net cash flows used in investing activities\r\n                type: 'column',\r\n                name: 'Net cash flows used in investing activities',\r\n                data: [-445, -2195],\r\n                color: '#f28e2b'\r\n            },\r\n            {\r\n                \/\/ Columns: Net cash flows from \/ (used in) financing activities\r\n                type: 'column',\r\n                name: 'Net cash flows from \/ (used in) financing activities',\r\n                data: [18445, -1167],\r\n                color: '#2ca02c'\r\n            },\r\n            {\r\n                \/\/ Line: Net (decrease) \/ increase in cash and cash equivalents\r\n                type: 'spline',\r\n                name: 'Net (decrease) \/ increase in cash and cash equivalents',\r\n                data: [281, 536],\r\n                color: '#00a2e8',\r\n                marker: {\r\n                    enabled: true,\r\n                    radius: 4\r\n                }\r\n            },\r\n            {\r\n                \/\/ Line: Cash and cash equivalents at the end of the year\r\n                type: 'spline',\r\n                name: 'Cash and cash equivalents at the end of the year',\r\n                data: [1083, 163],\r\n                color: '#a23abf',\r\n                marker: {\r\n                    enabled: true,\r\n                    radius: 4\r\n                }\r\n            }\r\n        ]\r\n    });\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-1523945862\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-1523945862\" data-tab-index=\"2\" style=\"--n-tabs-title-order: 2;\" class=\" elementor-element elementor-element-c815aae e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"c815aae\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-58fca46 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"58fca46\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-657b49e elementor-widget elementor-widget-Table\" data-id=\"657b49e\" data-element_type=\"widget\" data-widget_type=\"Table.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<table class=\"tafe-table \">\n\t\t\t<thead  class=\"tafe-table-header\">\n\t\t\t\t<tr>\n\t\t\t\t\t<th class=\"elementor-inline-editing elementor-repeater-item-fe69075\"   ><\/th><th class=\"elementor-inline-editing elementor-repeater-item-d6f455a\"   >2024<\/th><th class=\"elementor-inline-editing elementor-repeater-item-6acdf50\"   >2025<\/th>\t\t\t\t<\/tr>\n\t\t\t<\/thead>\n\t\t\t\t\t\t<tbody class=\"tafe-table-body\">\n\t\t\t\t<tr>\n\t\t\t\t\t<td data-label=\"\"   class=\"elementor-repeater-item-09b8324 td-content-type-default\" >Net cash flows from operating activities<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-d4a84e1 td-content-type-default\" >18281<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-50ac54c td-content-type-default\" >3898<\/td><\/tr><tr><td data-label=\"\"   class=\"elementor-repeater-item-a7e5b78 td-content-type-default\" >Net cash flows used in investing activities<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-51a9951 td-content-type-default\" >-445<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-fc3c09e td-content-type-default\" >-2195<\/td><\/tr><tr><td data-label=\"\"   class=\"elementor-repeater-item-0c04234 td-content-type-default\" >Net cash flows from \/ (used in) financing activities<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-bfbe409 td-content-type-default\" >18445<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-c69702e td-content-type-default\" >-1167<\/td><\/tr><tr><td data-label=\"\"   class=\"elementor-repeater-item-43d1407 td-content-type-default\" >Net (decrease) \/ increase in cash and cash equivalents<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-1f423e5 td-content-type-default\" >281<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-54f6d2a td-content-type-default\" >536<\/td><\/tr><tr><td data-label=\"\"   class=\"elementor-repeater-item-625ed18 td-content-type-default\" >Cash and cash equivalents at the end of the year<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-b37da17 td-content-type-default\" >1083<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-f0c2004 td-content-type-default\" >163<\/td>\t\t\t\t<\/tr>\n\t\t\t<\/tbody>\n\t\t<\/table>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-2589041554\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-2589041554\" data-tab-index=\"4\" style=\"--n-tabs-title-order: 4;\" class=\" elementor-element elementor-element-c6f00bc e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"c6f00bc\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eba05cd e-n-tabs-mobile elementor-widget elementor-widget-n-tabs\" data-id=\"eba05cd\" data-element_type=\"widget\" data-settings=\"{&quot;tabs_justify_horizontal&quot;:&quot;end&quot;,&quot;horizontal_scroll&quot;:&quot;disable&quot;}\" data-widget_type=\"nested-tabs.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-tabs\" data-widget-number=\"247072205\" aria-label=\"Tabs. Open items with Enter or Space, close with Escape and navigate using the Arrow keys.\">\n\t\t\t<div class=\"e-n-tabs-heading\" role=\"tablist\">\n\t\t\t\t\t<button id=\"e-n-tab-title-2470722051\" class=\"e-n-tab-title\" aria-selected=\"true\" data-tab-index=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"e-n-tab-content-2470722051\" style=\"--n-tabs-title-order: 1;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tGraph\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-2470722052\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-2470722052\" style=\"--n-tabs-title-order: 2;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tTable\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t\t<\/div>\n\t\t\t<div class=\"e-n-tabs-content\">\n\t\t\t\t<div id=\"e-n-tab-content-2470722051\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-2470722051\" data-tab-index=\"1\" style=\"--n-tabs-title-order: 1;\" class=\"e-active elementor-element elementor-element-70446b6 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"70446b6\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-00c3453 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"00c3453\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fe4e831 elementor-widget elementor-widget-html\" data-id=\"fe4e831\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"key-indicators-chart\" style=\"width:100%; height:400px;\"><\/div>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n    Highcharts.chart('key-indicators-chart', {\r\n        chart: {\r\n            type: 'column'\r\n        },\r\n        title: {\r\n            text: 'Key Indicators (pence)'\r\n        },\r\n        xAxis: {\r\n            categories: ['2024', '2025'],\r\n            crosshair: true\r\n        },\r\n        yAxis: {\r\n            title: {\r\n                text: 'Pence'\r\n            },\r\n            allowDecimals: true\r\n        },\r\n        tooltip: {\r\n            shared: true,\r\n            valueSuffix: ' p'\r\n        },\r\n        legend: {\r\n            layout: 'horizontal',\r\n            align: 'center',\r\n            verticalAlign: 'bottom'\r\n        },\r\n        plotOptions: {\r\n            column: {\r\n                borderWidth: 0\r\n            }\r\n        },\r\n        series: [\r\n            {\r\n                name: 'Earnings Per Share (Basic)',\r\n                data: [null, 0.13]   \/\/ 2024 = \"-\", so null\r\n            },\r\n            {\r\n                name: 'EPS before non-recurring IPO costs',\r\n                data: [null, 0.28]   \/\/ 2024 = \"-\", so null\r\n            }\r\n        ]\r\n    });\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-2470722052\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-2470722052\" data-tab-index=\"2\" style=\"--n-tabs-title-order: 2;\" class=\" elementor-element elementor-element-06ba57f e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"06ba57f\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-de97fc4 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"de97fc4\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-53e0251 elementor-widget elementor-widget-Table\" data-id=\"53e0251\" data-element_type=\"widget\" data-widget_type=\"Table.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<table class=\"tafe-table \">\n\t\t\t<thead  class=\"tafe-table-header\">\n\t\t\t\t<tr>\n\t\t\t\t\t<th class=\"elementor-inline-editing elementor-repeater-item-fe69075\"   ><\/th><th class=\"elementor-inline-editing elementor-repeater-item-d6f455a\"   >2024<\/th><th class=\"elementor-inline-editing elementor-repeater-item-6acdf50\"   >2025<\/th>\t\t\t\t<\/tr>\n\t\t\t<\/thead>\n\t\t\t\t\t\t<tbody class=\"tafe-table-body\">\n\t\t\t\t<tr>\n\t\t\t\t\t<td data-label=\"\"   class=\"elementor-repeater-item-09b8324 td-content-type-default\" >Earnings Per Share (Basic)<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-d4a84e1 td-content-type-default\" >-<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-50ac54c td-content-type-default\" >0.13<\/td><\/tr><tr><td data-label=\"\"   class=\"elementor-repeater-item-a7e5b78 td-content-type-default\" >EPS before non-recurring IPO costs<\/td><td data-label=\"2024\"   class=\"elementor-repeater-item-51a9951 td-content-type-default\" >-<\/td><td data-label=\"2025\"   class=\"elementor-repeater-item-fc3c09e td-content-type-default\" >0.28<\/td>\t\t\t\t<\/tr>\n\t\t\t<\/tbody>\n\t\t<\/table>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-94ea2d7 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent\" data-id=\"94ea2d7\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c8af9aa elementor-widget elementor-widget-spacer\" data-id=\"c8af9aa\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0c46103 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no elementor-invisible e-con e-parent\" data-id=\"0c46103\" data-element_type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fe34778 elementor-widget elementor-widget-heading\" data-id=\"fe34778\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Realtime Share Price<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1902123 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no elementor-invisible e-con e-parent\" data-id=\"1902123\" data-element_type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c3847c3 e-n-tabs-mobile elementor-widget elementor-widget-n-tabs\" data-id=\"c3847c3\" data-element_type=\"widget\" data-settings=\"{&quot;horizontal_scroll&quot;:&quot;disable&quot;}\" data-widget_type=\"nested-tabs.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-tabs\" data-widget-number=\"205014979\" aria-label=\"Tabs. Open items with Enter or Space, close with Escape and navigate using the Arrow keys.\">\n\t\t\t<div class=\"e-n-tabs-heading\" role=\"tablist\">\n\t\t\t\t\t<button id=\"e-n-tab-title-2050149791\" class=\"e-n-tab-title\" aria-selected=\"true\" data-tab-index=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"e-n-tab-content-2050149791\" style=\"--n-tabs-title-order: 1;\">\n\t\t\t\t\t<span class=\"e-n-tab-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"xi xi-graph\"><\/i>\t\t\t<i aria-hidden=\"true\" class=\"xi xi-graph\"><\/i>\t\t<\/span>\n\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tGraph\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-2050149792\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-2050149792\" style=\"--n-tabs-title-order: 2;\">\n\t\t\t\t\t<span class=\"e-n-tab-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-table\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z\"><\/path><\/svg>\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-table\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z\"><\/path><\/svg>\t\t<\/span>\n\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\tTable\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t\t<\/div>\n\t\t\t<div class=\"e-n-tabs-content\">\n\t\t\t\t<div id=\"e-n-tab-content-2050149791\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-2050149791\" data-tab-index=\"1\" style=\"--n-tabs-title-order: 1;\" class=\"e-active elementor-element elementor-element-dc7d76e e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"dc7d76e\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-f22b1f0 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"f22b1f0\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3e50667 elementor-widget elementor-widget-html\" data-id=\"3e50667\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"share-price-widget\" class=\"share-price-widget\">\r\n\r\n    <!-- Toggle lines\/bars -->\r\n    <div class=\"spw-toggles\">\r\n        <label><input type=\"checkbox\" id=\"spw-toggle-high\" checked> 52 Week High<\/label>\r\n        <label><input type=\"checkbox\" id=\"spw-toggle-low\" checked> 52 Week Low<\/label>\r\n        <label><input type=\"checkbox\" id=\"spw-toggle-volume\" checked> Volume<\/label>\r\n    <\/div>\r\n\r\n    <!-- Main chart (Highcharts container) -->\r\n    <div id=\"spw-main-container\" class=\"spw-main-chart\"><\/div>\r\n\r\n    <!-- Small overview chart (Highcharts container) -->\r\n    <div id=\"spw-preview-container\" class=\"spw-preview-chart\"><\/div>\r\n\r\n    <!-- Range buttons -->\r\n    <div class=\"spw-range-buttons\">\r\n        <button type=\"button\" data-range=\"1W\">1W<\/button>\r\n        <button type=\"button\" data-range=\"1M\">1M<\/button>\r\n        <button type=\"button\" data-range=\"3M\" class=\"is-active\">3M<\/button>\r\n        <button type=\"button\" data-range=\"6M\">6M<\/button>\r\n        <button type=\"button\" data-range=\"1Y\">1Y<\/button>\r\n        <button type=\"button\" data-range=\"ALL\">All<\/button>\r\n    <\/div>\r\n\r\n    <!-- Month range selection -->\r\n    <div class=\"spw-month-range\">\r\n        <div class=\"spw-month-field\">\r\n            <label>From<\/label>\r\n            <select id=\"spw-from-month\"><\/select>\r\n        <\/div>\r\n        <div class=\"spw-month-field\">\r\n            <label>To<\/label>\r\n            <select id=\"spw-to-month\"><\/select>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Graph type dropdown -->\r\n    <div class=\"spw-chart-type-row\">\r\n        <div class=\"spw-type-field\">\r\n            <label>Graph Type<\/label>\r\n            <select id=\"spw-chart-type\">\r\n                <option value=\"area\" selected>Area (Curved)<\/option>\r\n                <option value=\"line\">Line<\/option>\r\n                <option value=\"donut\">Donut<\/option>\r\n            <\/select>\r\n        <\/div>\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n<style>\r\n.share-price-widget {\r\n    max-width: 1000px;\r\n    margin: 0 auto 40px;\r\n    font-family: inherit;\r\n}\r\n.spw-toggles {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 15px;\r\n    margin-bottom: 10px;\r\n    font-size: 14px;\r\n}\r\n.spw-main-chart,\r\n.spw-preview-chart {\r\n    width: 100%;\r\n    height: 360px;\r\n    margin-bottom: 15px;\r\n}\r\n.spw-preview-chart {\r\n    height: 80px;\r\n}\r\n.spw-range-buttons {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 10px;\r\n    margin: 10px 0 20px;\r\n}\r\n.spw-range-buttons button {\r\n    padding: 6px 16px;\r\n    border-radius: 3px;\r\n    border: 1px solid #ccc;\r\n    background: #fff;\r\n    cursor: pointer;\r\n    font-size: 13px;\r\n}\r\n.spw-range-buttons button.is-active {\r\n    background: #003c71;\r\n    color: #fff;\r\n    border-color: #003c71;\r\n}\r\n.spw-month-range {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 20px;\r\n    align-items: flex-end;\r\n    font-size: 14px;\r\n}\r\n.spw-month-field label {\r\n    display: block;\r\n    margin-bottom: 4px;\r\n}\r\n.spw-month-field select {\r\n    min-width: 150px;\r\n    padding: 5px;\r\n    font-size: 14px;\r\n}\r\n.spw-chart-type-row {\r\n    margin: 10px 0 15px;\r\n}\r\n.spw-type-field label {\r\n    display: block;\r\n    margin-bottom: 4px;\r\n}\r\n.spw-type-field select {\r\n    min-width: 180px;\r\n    padding: 5px;\r\n    font-size: 14px;\r\n}\r\n<\/style>\r\n\r\n\r\n\r\n<script>\r\n(function () {\r\n    const API_URL   = 'https:\/\/api.fairview.vintechnet.com\/api\/share-graph';\r\n    const REFRESH_MS = 5 * 60 * 1000; \/\/ 5 minutes\r\n\r\n    let fullData = [];      \/\/ [{date, price, volume, symbol, currency}]\r\n    let mainChart = null;\r\n    let previewChart = null;\r\n    let globalHigh = null;\r\n    let globalLow  = null;\r\n\r\n    let currentFilter = { mode: 'range', value: '3M' }; \/\/ default 3M\r\n    let currentChartKind = 'area';                      \/\/ 'area' | 'line' | 'donut'\r\n\r\n    const mainContainer    = document.getElementById('spw-main-container');\r\n    const previewContainer = document.getElementById('spw-preview-container');\r\n    const btnContainer     = document.querySelector('.spw-range-buttons');\r\n    const fromSelect       = document.getElementById('spw-from-month');\r\n    const toSelect         = document.getElementById('spw-to-month');\r\n    const toggleHigh       = document.getElementById('spw-toggle-high');\r\n    const toggleLow        = document.getElementById('spw-toggle-low');\r\n    const toggleVolume     = document.getElementById('spw-toggle-volume');\r\n    const typeSelect       = document.getElementById('spw-chart-type');\r\n\r\n    if (!mainContainer || !previewContainer) {\r\n        return;\r\n    }\r\n\r\n    \/\/ ----------- Parsing & basic helpers ---------------------------------\r\n\r\n    function parseApiData(json) {\r\n        if (!json || json.status !== 'success' || !Array.isArray(json.data)) {\r\n            return [];\r\n        }\r\n\r\n        const rows = json.data.map(function (r) {\r\n            const rawDateStr = r.latest_trading_day || (r.fetched_at ? r.fetched_at.substring(0, 10) : null);\r\n            if (!rawDateStr) return null;\r\n\r\n            const iso = rawDateStr.indexOf(' ') >= 0\r\n                ? rawDateStr.replace(' ', 'T')\r\n                : rawDateStr + 'T00:00:00';\r\n\r\n            const d = new Date(iso);\r\n            if (isNaN(d.getTime())) return null;\r\n\r\n            return {\r\n                date: d,\r\n                price: parseFloat(r.price),\r\n                volume: Number(r.volume) || 0,\r\n                symbol: r.symbol || 'Share',\r\n                currency: r.currency || ''\r\n            };\r\n        }).filter(Boolean);\r\n\r\n        rows.sort(function (a, b) { return a.date - b.date; });\r\n        return rows;\r\n    }\r\n\r\n    function computeHighLow(data) {\r\n        if (!data.length) {\r\n            globalHigh = null;\r\n            globalLow  = null;\r\n            return;\r\n        }\r\n        const prices = data.map(function (d) { return d.price; });\r\n        globalHigh = Math.max.apply(null, prices);\r\n        globalLow  = Math.min.apply(null, prices);\r\n    }\r\n\r\n    function daysForRange(range) {\r\n        switch (range) {\r\n            case '1W': return 7;\r\n            case '1M': return 30;\r\n            case '3M': return 90;\r\n            case '6M': return 180;\r\n            case '1Y': return 365;\r\n            default:   return null; \/\/ ALL\r\n        }\r\n    }\r\n\r\n    function filterByRange(range) {\r\n        if (!fullData.length || range === 'ALL') return fullData.slice();\r\n\r\n        const days = daysForRange(range);\r\n        if (!days) return fullData.slice();\r\n\r\n        const lastDate = fullData[fullData.length - 1].date;\r\n        const fromTime = lastDate.getTime() - days * 24 * 60 * 60 * 1000;\r\n\r\n        const filtered = fullData.filter(function (d) {\r\n            return d.date.getTime() >= fromTime;\r\n        });\r\n\r\n        return filtered.length ? filtered : fullData.slice();\r\n    }\r\n\r\n    function filterByMonths(fromKey, toKey) {\r\n        if (!fullData.length || !fromKey || !toKey) return fullData.slice();\r\n\r\n        const partsFrom = fromKey.split('-');\r\n        const partsTo   = toKey.split('-');\r\n\r\n        const fy = parseInt(partsFrom[0], 10);\r\n        const fm = parseInt(partsFrom[1], 10);\r\n        const ty = parseInt(partsTo[0], 10);\r\n        const tm = parseInt(partsTo[1], 10);\r\n\r\n        const fromDate = new Date(fy, fm - 1, 1);\r\n        const toDate   = new Date(ty, tm, 0); \/\/ last day of target month\r\n\r\n        const filtered = fullData.filter(function (d) {\r\n            return d.date >= fromDate && d.date <= toDate;\r\n        });\r\n\r\n        return filtered.length ? filtered : fullData.slice();\r\n    }\r\n\r\n    function buildMonthOptions() {\r\n        if (!fullData.length) return;\r\n\r\n        const map = {}; \/\/ key 'YYYY-MM' => label\r\n        fullData.forEach(function (d) {\r\n            const y = d.date.getFullYear();\r\n            const m = d.date.getMonth() + 1;\r\n            const key = y + '-' + String(m).padStart(2, '0');\r\n            const label = d.date.toLocaleDateString(undefined, { month: 'long', year: 'numeric' });\r\n            map[key] = label;\r\n        });\r\n\r\n        const keys = Object.keys(map).sort();\r\n\r\n        fromSelect.innerHTML = '';\r\n        toSelect.innerHTML   = '';\r\n\r\n        keys.forEach(function (k) {\r\n            var opt1 = document.createElement('option');\r\n            opt1.value = k;\r\n            opt1.textContent = map[k];\r\n            fromSelect.appendChild(opt1);\r\n\r\n            var opt2 = document.createElement('option');\r\n            opt2.value = k;\r\n            opt2.textContent = map[k];\r\n            toSelect.appendChild(opt2);\r\n        });\r\n\r\n        if (keys.length) {\r\n            fromSelect.value = keys[0];\r\n            toSelect.value   = keys[keys.length - 1];\r\n        }\r\n    }\r\n\r\n    \/\/ ----------- Aggregation (day \/ week \/ month \/ year) -----------------\r\n\r\n    function groupData(data, keyFn, labelFn) {\r\n        if (!data || !data.length) return [];\r\n\r\n        var buckets = {}; \/\/ key -> {sumPrice,sumVolume,count,date}\r\n        data.forEach(function (item) {\r\n            var key = keyFn(item);\r\n            if (!key) return;\r\n\r\n            var bucket = buckets[key];\r\n            if (!bucket) {\r\n                bucket = buckets[key] = {\r\n                    sumPrice: 0,\r\n                    sumVolume: 0,\r\n                    count: 0,\r\n                    date: new Date(item.date)\r\n                };\r\n            }\r\n\r\n            bucket.sumPrice  += item.price;\r\n            bucket.sumVolume += item.volume;\r\n            bucket.count     += 1;\r\n\r\n            if (item.date < bucket.date) {\r\n                bucket.date = new Date(item.date);\r\n            }\r\n        });\r\n\r\n        var symbol   = data[0].symbol || 'Share';\r\n        var currency = data[0].currency || '';\r\n\r\n        return Object.keys(buckets).sort().map(function (key) {\r\n            var b = buckets[key];\r\n            var date = b.date;\r\n            var label = labelFn ? labelFn(date, key) : key;\r\n            return {\r\n                date: date,\r\n                label: label,\r\n                price: b.sumPrice \/ (b.count || 1),\r\n                volume: b.sumVolume,\r\n                symbol: symbol,\r\n                currency: currency\r\n            };\r\n        });\r\n    }\r\n\r\n    function groupByDay(data) {\r\n        return groupData(\r\n            data,\r\n            function (item) {\r\n                var d = item.date;\r\n                var y = d.getFullYear();\r\n                var m = String(d.getMonth() + 1).padStart(2, '0');\r\n                var day = String(d.getDate()).padStart(2, '0');\r\n                return y + '-' + m + '-' + day;\r\n            },\r\n            function (date) {\r\n                return date.toLocaleDateString(undefined, { day: '2-digit', month: 'short' });\r\n            }\r\n        );\r\n    }\r\n\r\n    function getStartOfWeek(date) {\r\n        var d = new Date(date.getTime());\r\n        var day = d.getDay();             \/\/ 0..6, Sunday..Saturday\r\n        var diff = (day === 0 ? -6 : 1 - day); \/\/ Monday as first day\r\n        d.setDate(d.getDate() + diff);\r\n        d.setHours(0, 0, 0, 0);\r\n        return d;\r\n    }\r\n\r\n    function groupByWeek(data) {\r\n        return groupData(\r\n            data,\r\n            function (item) {\r\n                var start = getStartOfWeek(item.date);\r\n                var y = start.getFullYear();\r\n                var m = String(start.getMonth() + 1).padStart(2, '0');\r\n                var day = String(start.getDate()).padStart(2, '0');\r\n                return y + '-' + m + '-' + day; \/\/ chronological\r\n            },\r\n            function (date) {\r\n                return 'Week of ' + date.toLocaleDateString(undefined, { day: 'numeric', month: 'short' });\r\n            }\r\n        );\r\n    }\r\n\r\n    function groupByMonth(data) {\r\n        return groupData(\r\n            data,\r\n            function (item) {\r\n                var d = item.date;\r\n                var y = d.getFullYear();\r\n                var m = String(d.getMonth() + 1).padStart(2, '0');\r\n                return y + '-' + m;\r\n            },\r\n            function (date) {\r\n                return date.toLocaleDateString(undefined, { month: 'short', year: 'numeric' });\r\n            }\r\n        );\r\n    }\r\n\r\n    function groupByYear(data) {\r\n        return groupData(\r\n            data,\r\n            function (item) {\r\n                return String(item.date.getFullYear());\r\n            },\r\n            function (date, key) {\r\n                return key; \/\/ just the year\r\n            }\r\n        );\r\n    }\r\n\r\n    function getFilteredRawData() {\r\n        if (currentFilter.mode === 'months') {\r\n            return filterByMonths(currentFilter.from, currentFilter.to);\r\n        }\r\n        return filterByRange(currentFilter.value);\r\n    }\r\n\r\n    function aggregateDataForCurrentFilter(rawData) {\r\n        if (!rawData || !rawData.length) return [];\r\n\r\n        if (currentFilter.mode === 'months') {\r\n            \/\/ From\/To month selection -> aggregate by month\r\n            return groupByMonth(rawData);\r\n        }\r\n\r\n        switch (currentFilter.value) {\r\n            case '1W': return groupByDay(rawData);\r\n            case '1M': return groupByWeek(rawData);\r\n            case '3M':\r\n            case '6M':\r\n            case '1Y': return groupByMonth(rawData);\r\n            case 'ALL':\r\n            default:   return groupByYear(rawData);\r\n        }\r\n    }\r\n\r\n    \/\/ ----------- Highcharts helpers -------------------------------------\r\n\r\n    function buildSeriesData(data) {\r\n        if (!data.length) {\r\n            return { categories: [], prices: [], volumes: [], symbol: 'Share', currency: '' };\r\n        }\r\n        var categories = data.map(function (d) { return d.label; });\r\n        var prices     = data.map(function (d) { return d.price; });\r\n        var volumes    = data.map(function (d) { return d.volume; });\r\n        var symbol     = data[0].symbol || 'Share';\r\n        var currency   = data[0].currency || '';\r\n        return { categories: categories, prices: prices, volumes: volumes, symbol: symbol, currency: currency };\r\n    }\r\n\r\n    function applyToggleStates() {\r\n        if (!mainChart) return;\r\n        var highSeries = mainChart.get('highLine');\r\n        var lowSeries  = mainChart.get('lowLine');\r\n        var volSeries  = mainChart.get('volumeBars');\r\n\r\n        if (highSeries) highSeries.setVisible(toggleHigh.checked, false);\r\n        if (lowSeries)  lowSeries.setVisible(toggleLow.checked, false);\r\n        if (volSeries)  volSeries.setVisible(toggleVolume.checked, false);\r\n\r\n        mainChart.redraw();\r\n    }\r\n\r\n    function createMainChart(aggData, kind) {\r\n        kind = kind || currentChartKind || 'area';\r\n\r\n        var sd = buildSeriesData(aggData);\r\n        var categories = sd.categories;\r\n        var prices     = sd.prices;\r\n        var volumes    = sd.volumes;\r\n        var symbol     = sd.symbol;\r\n        var currency   = sd.currency;\r\n\r\n        if (mainChart) {\r\n            mainChart.destroy();\r\n        }\r\n\r\n        \/\/ ---- Donut (pie) chart -----------------------------------------\r\n        if (kind === 'donut') {\r\n            mainChart = Highcharts.chart('spw-main-container', {\r\n                chart: {\r\n                    type: 'pie'\r\n                },\r\n                title: {\r\n                    text: symbol + ' price distribution'\r\n                },\r\n                tooltip: {\r\n                    pointFormat: '<b>{point.y:.2f}' + (currency ? ' ' + currency : '') + '<\/b>'\r\n                },\r\n                plotOptions: {\r\n                    pie: {\r\n                        innerSize: '60%',\r\n                        dataLabels: {\r\n                            enabled: true,\r\n                            format: '{point.name}'\r\n                        }\r\n                    }\r\n                },\r\n                series: [{\r\n                    id: 'donutSeries',\r\n                    name: symbol + (currency ? ' (' + currency + ')' : ''),\r\n                    data: aggData.map(function (d) {\r\n                        return { name: d.label, y: d.price };\r\n                    })\r\n                }]\r\n            });\r\n            return;\r\n        }\r\n\r\n        \/\/ ---- Area \/ Line with volume + high\/low ------------------------\r\n        var isArea = (kind === 'area');\r\n\r\n        mainChart = Highcharts.chart('spw-main-container', {\r\n            chart: {\r\n                zoomType: 'x'\r\n            },\r\n            title: {\r\n                text: symbol + ' share price'\r\n            },\r\n            xAxis: {\r\n                categories: categories,\r\n                crosshair: true\r\n            },\r\n            yAxis: [{\r\n                title: {\r\n                    text: 'Price'\r\n                }\r\n            }, {\r\n                title: {\r\n                    text: 'Volume'\r\n                },\r\n                opposite: true\r\n            }],\r\n            legend: {\r\n                align: 'center',\r\n                verticalAlign: 'bottom'\r\n            },\r\n            tooltip: {\r\n                shared: true\r\n            },\r\n            series: [\r\n                {\r\n                    id: 'priceSeries',\r\n                    type: isArea ? 'area' : 'line',\r\n                    name: symbol + (currency ? ' (' + currency + ')' : ''),\r\n                    data: prices,\r\n                    tooltip: {\r\n                        valueDecimals: 2,\r\n                        valueSuffix: currency ? ' ' + currency : ''\r\n                    },\r\n                    fillOpacity: isArea ? 0.25 : 0,\r\n                    marker: {\r\n                        enabled: false\r\n                    }\r\n                },\r\n                {\r\n                    id: 'volumeBars',\r\n                    type: 'column',\r\n                    name: 'Volume',\r\n                    yAxis: 1,\r\n                    data: volumes,\r\n                    tooltip: {\r\n                        valueDecimals: 0\r\n                    }\r\n                },\r\n                {\r\n                    id: 'highLine',\r\n                    type: 'line',\r\n                    name: '52 Week High',\r\n                    data: categories.map(function () { return globalHigh; }),\r\n                    dashStyle: 'ShortDash',\r\n                    marker: { enabled: false },\r\n                    color: '#008000'\r\n                },\r\n                {\r\n                    id: 'lowLine',\r\n                    type: 'line',\r\n                    name: '52 Week Low',\r\n                    data: categories.map(function () { return globalLow; }),\r\n                    dashStyle: 'ShortDash',\r\n                    marker: { enabled: false },\r\n                    color: '#cc0000'\r\n                }\r\n            ]\r\n        });\r\n\r\n        applyToggleStates();\r\n    }\r\n\r\n    function updateMainChart() {\r\n        if (!fullData.length) return;\r\n\r\n        var rawFiltered = getFilteredRawData();\r\n        var aggFiltered = aggregateDataForCurrentFilter(rawFiltered);\r\n\r\n        if (!aggFiltered.length) return;\r\n\r\n        if (!mainChart || currentChartKind === 'donut') {\r\n            createMainChart(aggFiltered, currentChartKind);\r\n            return;\r\n        }\r\n\r\n        var sd = buildSeriesData(aggFiltered);\r\n        var categories = sd.categories;\r\n        var prices     = sd.prices;\r\n        var volumes    = sd.volumes;\r\n\r\n        mainChart.xAxis[0].setCategories(categories, false);\r\n\r\n        var priceSeries = mainChart.get('priceSeries');\r\n        var volumeSeries = mainChart.get('volumeBars');\r\n        var highSeries = mainChart.get('highLine');\r\n        var lowSeries  = mainChart.get('lowLine');\r\n\r\n        if (priceSeries) priceSeries.setData(prices, false);\r\n        if (volumeSeries) volumeSeries.setData(volumes, false);\r\n        if (highSeries) highSeries.setData(categories.map(function () { return globalHigh; }), false);\r\n        if (lowSeries)  lowSeries.setData(categories.map(function () { return globalLow; }), false);\r\n\r\n        mainChart.redraw();\r\n        applyToggleStates();\r\n    }\r\n\r\n    function createPreviewChart() {\r\n        if (previewChart) {\r\n            previewChart.destroy();\r\n        }\r\n        var labels = fullData.map(function (d) {\r\n            return d.date.toLocaleDateString(undefined, { day: '2-digit', month: 'short', year: '2-digit' });\r\n        });\r\n        var prices = fullData.map(function (d) { return d.price; });\r\n\r\n        previewChart = Highcharts.chart('spw-preview-container', {\r\n            chart: {\r\n                type: 'area'\r\n            },\r\n            title: { text: '' },\r\n            xAxis: {\r\n                categories: labels,\r\n                visible: false\r\n            },\r\n            yAxis: {\r\n                title: { text: '' },\r\n                visible: false\r\n            },\r\n            legend: { enabled: false },\r\n            credits: { enabled: false },\r\n            tooltip: { enabled: false },\r\n            series: [{\r\n                name: 'Price',\r\n                data: prices\r\n            }]\r\n        });\r\n    }\r\n\r\n    \/\/ ----------- Event wiring --------------------------------------------\r\n\r\n    if (btnContainer) {\r\n        btnContainer.addEventListener('click', function (e) {\r\n            var btn = e.target.closest('button[data-range]');\r\n            if (!btn) return;\r\n\r\n            var range = btn.getAttribute('data-range');\r\n            currentFilter = { mode: 'range', value: range };\r\n\r\n            btnContainer.querySelectorAll('button').forEach(function (b) {\r\n                b.classList.remove('is-active');\r\n            });\r\n            btn.classList.add('is-active');\r\n\r\n            updateMainChart();\r\n        });\r\n    }\r\n\r\n    if (fromSelect) {\r\n        fromSelect.addEventListener('change', function () {\r\n            currentFilter = { mode: 'months', from: fromSelect.value, to: toSelect.value };\r\n            btnContainer.querySelectorAll('button').forEach(function (b) {\r\n                b.classList.remove('is-active');\r\n            });\r\n            updateMainChart();\r\n        });\r\n    }\r\n\r\n    if (toSelect) {\r\n        toSelect.addEventListener('change', function () {\r\n            currentFilter = { mode: 'months', from: fromSelect.value, to: toSelect.value };\r\n            btnContainer.querySelectorAll('button').forEach(function (b) {\r\n                b.classList.remove('is-active');\r\n            });\r\n            updateMainChart();\r\n        });\r\n    }\r\n\r\n    if (toggleHigh) {\r\n        toggleHigh.addEventListener('change', function () {\r\n            if (!mainChart) return;\r\n            var s = mainChart.get('highLine');\r\n            if (s) {\r\n                s.setVisible(toggleHigh.checked, true);\r\n            }\r\n        });\r\n    }\r\n\r\n    if (toggleLow) {\r\n        toggleLow.addEventListener('change', function () {\r\n            if (!mainChart) return;\r\n            var s = mainChart.get('lowLine');\r\n            if (s) {\r\n                s.setVisible(toggleLow.checked, true);\r\n            }\r\n        });\r\n    }\r\n\r\n    if (toggleVolume) {\r\n        toggleVolume.addEventListener('change', function () {\r\n            if (!mainChart) return;\r\n            var s = mainChart.get('volumeBars');\r\n            if (s) {\r\n                s.setVisible(toggleVolume.checked, true);\r\n            }\r\n        });\r\n    }\r\n\r\n    if (typeSelect) {\r\n        typeSelect.addEventListener('change', function () {\r\n            currentChartKind = this.value;\r\n            var raw = getFilteredRawData();\r\n            var agg = aggregateDataForCurrentFilter(raw);\r\n            createMainChart(agg, currentChartKind);\r\n        });\r\n    }\r\n\r\n    \/\/ ----------- Fetch + refresh -----------------------------------------\r\n\r\n    async function fetchDataAndBuild(initialBuild) {\r\n        try {\r\n            var res = await fetch(API_URL, { cache: 'no-store' });\r\n            if (!res.ok) throw new Error('HTTP ' + res.status);\r\n\r\n            var json = await res.json();\r\n            fullData = parseApiData(json);\r\n            computeHighLow(fullData);\r\n            buildMonthOptions();\r\n\r\n            if (!fullData.length) return;\r\n\r\n            if (initialBuild) {\r\n                var raw = getFilteredRawData();\r\n                var agg = aggregateDataForCurrentFilter(raw);\r\n                createMainChart(agg, currentChartKind);\r\n                createPreviewChart();\r\n            } else {\r\n                createPreviewChart();\r\n                updateMainChart();\r\n            }\r\n        } catch (err) {\r\n            console.error('Error loading share data:', err);\r\n        }\r\n    }\r\n\r\n    function start() {\r\n        if (window.spwRefreshTimerHighcharts) {\r\n            clearInterval(window.spwRefreshTimerHighcharts);\r\n        }\r\n\r\n        fetchDataAndBuild(true);\r\n        window.spwRefreshTimerHighcharts = setInterval(function () {\r\n            fetchDataAndBuild(false);\r\n        }, REFRESH_MS);\r\n    }\r\n\r\n    if (document.readyState === 'loading') {\r\n        document.addEventListener('DOMContentLoaded', start);\r\n    } else {\r\n        start();\r\n    }\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-2050149792\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-2050149792\" data-tab-index=\"2\" style=\"--n-tabs-title-order: 2;\" class=\" elementor-element elementor-element-456b08b e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"456b08b\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-21edcb1 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"21edcb1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-511640b e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-child\" data-id=\"511640b\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8ea861c elementor-widget elementor-widget-html\" data-id=\"8ea861c\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  .share-price-table-wrapper {\r\n      max-width: 900px;\r\n      margin: 0 auto 3rem;\r\n  }\r\n\r\n  .share-price-title {\r\n      font-size: 24px;\r\n      font-weight: 600;\r\n      margin-bottom: 1rem;\r\n  }\r\n\r\n  .share-price-table {\r\n      width: 100%;\r\n      border-collapse: collapse;\r\n      font-size: 14px;\r\n  }\r\n\r\n  .share-price-table th,\r\n  .share-price-table td {\r\n      border: 1px solid #e0e0e0;\r\n      padding: 8px 12px;\r\n  }\r\n\r\n  .share-price-table th {\r\n      background-color: #f5f5f5;\r\n      text-align: left;\r\n      font-weight: 600;\r\n      width: 18%;\r\n  }\r\n\r\n  .share-price-table td {\r\n      background-color: #ffffff;\r\n  }\r\n\r\n  .share-price-updated-note {\r\n      margin-top: 0.75rem;\r\n      font-size: 12px;\r\n      color: #777;\r\n  }\r\n\r\n  @media (max-width: 768px) {\r\n      .share-price-table {\r\n          font-size: 13px;\r\n      }\r\n      .share-price-title {\r\n          font-size: 20px;\r\n      }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"share-price-table-wrapper\">\r\n    <h2 class=\"share-price-title\">Detailed Share Price<\/h2>\r\n\r\n    <table class=\"share-price-table\">\r\n        <tbody>\r\n        <tr>\r\n            <th>Symbol<\/th>\r\n            <td id=\"sp-symbol\"><\/td>\r\n            <th>Currency<\/th>\r\n            <td id=\"sp-currency\"><\/td>\r\n            <th>Mid Price<\/th>\r\n            <td id=\"sp-price\"><\/td>\r\n        <\/tr>\r\n        <tr>\r\n            <th>Open<\/th>\r\n            <td id=\"sp-open\"><\/td>\r\n            <th>High<\/th>\r\n            <td id=\"sp-high\"><\/td>\r\n            <th>Low<\/th>\r\n            <td id=\"sp-low\"><\/td>\r\n        <\/tr>\r\n        <tr>\r\n            <th>Previous Close<\/th>\r\n            <td id=\"sp-previous-close\"><\/td>\r\n            <th>Volume<\/th>\r\n            <td id=\"sp-volume\"><\/td>\r\n            <th>Last Trading Day<\/th>\r\n            <td id=\"sp-latest-trading-day\"><\/td>\r\n        <\/tr>\r\n        <tr>\r\n            <th>Change<\/th>\r\n            <td id=\"sp-change\"><\/td>\r\n            <th>% Change<\/th>\r\n            <td id=\"sp-change-percent\"><\/td>\r\n            <th>Last Updated<\/th>\r\n            <td id=\"sp-fetched-at\"><\/td>\r\n        <\/tr>\r\n        <\/tbody>\r\n    <\/table>\r\n\r\n    <div class=\"share-price-updated-note\" id=\"sp-updated-note\"><\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function() {\r\n    const endpoint = 'https:\/\/api.fairview.vintechnet.com\/api\/share-graph';\r\n\r\n    function setText(id, value) {\r\n        const el = document.getElementById(id);\r\n        if (el) el.textContent = value != null && value !== '' ? value : '-';\r\n    }\r\n\r\n    fetch(endpoint)\r\n        .then(res => res.json())\r\n        .then(json => {\r\n            if (!json || json.status !== 'success' || !Array.isArray(json.data) || !json.data.length) {\r\n                throw new Error('No data');\r\n            }\r\n\r\n            \/\/ Pick latest record by fetched_at\r\n            const latest = json.data.reduce((latest, item) => {\r\n                if (!latest) return item;\r\n                const latestDate = new Date(latest.fetched_at.replace(' ', 'T'));\r\n                const itemDate = new Date(item.fetched_at.replace(' ', 'T'));\r\n                return itemDate > latestDate ? item : latest;\r\n            }, null);\r\n\r\n            const d = latest;\r\n\r\n            setText('sp-symbol', d.symbol);\r\n            setText('sp-currency', d.currency);\r\n            setText('sp-price', d.price);\r\n            setText('sp-open', d.open);\r\n            setText('sp-high', d.high);\r\n            setText('sp-low', d.low);\r\n            setText('sp-previous-close', d.previous_close);\r\n            setText('sp-volume', d.volume);\r\n            setText('sp-latest-trading-day', d.latest_trading_day);\r\n            setText('sp-change', d.change);\r\n            setText('sp-change-percent', d.change_percent);\r\n            setText('sp-fetched-at', d.fetched_at);\r\n\r\n            const note = document.getElementById('sp-updated-note');\r\n            if (note) {\r\n                note.textContent = 'Last updated: ' + d.fetched_at + ' (' + d.source_provider + ')';\r\n            }\r\n        })\r\n        .catch(err => {\r\n            console.error('Share price fetch failed', err);\r\n            const note = document.getElementById('sp-updated-note');\r\n            if (note) {\r\n                note.textContent = 'Unable to load latest share price at the moment.';\r\n            }\r\n        });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e19802d e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent\" data-id=\"e19802d\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Financial Information Home Annual Data Consolidated Statement of Profit and Loss Consolidated Statement of Financial Position Consolidated Statement of Cash Flows Key Indicators Graph Table 2024 2025 Revenue 5,011 5342 Total Finance and Other Income 815 1161 Total Expenses -2616 -2606 Profit for the year 1343 754 Graph Table 2024 2025 Total Assets 28589 26074 Total Equity 2519 5755 Total Liabilities 26070 20319 Graph Table 2024 2025 Net cash flows from operating activities 18281 3898 Net cash flows used in investing activities -445 -2195 Net cash flows from \/ (used in) financing activities 18445 -1167 Net (decrease) \/ increase in cash and cash equivalents 281 536 Cash and cash equivalents at the end of the year 1083 163 Graph Table 2024 2025 Earnings Per Share (Basic) &#8211; 0.13 EPS before non-recurring IPO costs &#8211; 0.28 Graph Table 2024 2025 Revenue 5,011 5342 Total Finance and Other Income 815 1161 Total Expenses -2616 -2606 Profit for the year 1343 754 2024 2025 Revenue 5,011 5342 Total Finance and Other Income 815 1161 Total Expenses -2616 -2606 Profit for the year 1343 754 Graph Table 2024 2025 Total Assets 28589 26074 Total Equity 2519 5755 Total Liabilities 26070 20319 2024 2025 Total Assets 28589 26074 Total Equity 2519 5755 Total Liabilities 26070 20319 Graph Table 2024 2025 Net cash flows from operating activities 18281 3898 Net cash flows used in investing activities -445 -2195 Net cash flows from \/ (used in) financing activities 18445 -1167 Net (decrease) \/ increase in cash and cash equivalents 281 536 Cash and cash equivalents at the end of the year 1083 163 2024 2025 Net cash flows from operating activities 18281 3898 Net cash flows used in investing activities -445 -2195 Net cash flows from \/ (used in) financing activities 18445 -1167 Net (decrease) \/ increase in cash and cash equivalents 281 536 Cash and cash equivalents at the end of the year 1083 163 Graph Table 2024 2025 Earnings Per Share (Basic) &#8211; 0.13 EPS before non-recurring IPO costs &#8211; 0.28 2024 2025 Earnings Per Share (Basic) &#8211; 0.13 EPS before non-recurring IPO costs &#8211; 0.28 Realtime Share Price Graph Table 52 Week High 52 Week Low Volume 1W 1M 3M 6M 1Y All From To Graph Type Area (Curved)LineDonut 52 Week High 52 Week Low Volume 1W 1M 3M 6M 1Y All From To Graph Type Area (Curved)LineDonut<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-558","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Financial Information - Fairview<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/staging.plc.fairview.edu.my\/?page_id=558\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Financial Information - Fairview\" \/>\n<meta property=\"og:description\" content=\"Financial Information Home Annual Data Consolidated Statement of Profit and Loss Consolidated Statement of Financial Position Consolidated Statement of Cash Flows Key Indicators Graph Table 2024 2025 Revenue 5,011 5342 Total Finance and Other Income 815 1161 Total Expenses -2616 -2606 Profit for the year 1343 754 Graph Table 2024 2025 Total Assets 28589 26074 Total Equity 2519 5755 Total Liabilities 26070 20319 Graph Table 2024 2025 Net cash flows from operating activities 18281 3898 Net cash flows used in investing activities -445 -2195 Net cash flows from \/ (used in) financing activities 18445 -1167 Net (decrease) \/ increase in cash and cash equivalents 281 536 Cash and cash equivalents at the end of the year 1083 163 Graph Table 2024 2025 Earnings Per Share (Basic) &#8211; 0.13 EPS before non-recurring IPO costs &#8211; 0.28 Graph Table 2024 2025 Revenue 5,011 5342 Total Finance and Other Income 815 1161 Total Expenses -2616 -2606 Profit for the year 1343 754 2024 2025 Revenue 5,011 5342 Total Finance and Other Income 815 1161 Total Expenses -2616 -2606 Profit for the year 1343 754 Graph Table 2024 2025 Total Assets 28589 26074 Total Equity 2519 5755 Total Liabilities 26070 20319 2024 2025 Total Assets 28589 26074 Total Equity 2519 5755 Total Liabilities 26070 20319 Graph Table 2024 2025 Net cash flows from operating activities 18281 3898 Net cash flows used in investing activities -445 -2195 Net cash flows from \/ (used in) financing activities 18445 -1167 Net (decrease) \/ increase in cash and cash equivalents 281 536 Cash and cash equivalents at the end of the year 1083 163 2024 2025 Net cash flows from operating activities 18281 3898 Net cash flows used in investing activities -445 -2195 Net cash flows from \/ (used in) financing activities 18445 -1167 Net (decrease) \/ increase in cash and cash equivalents 281 536 Cash and cash equivalents at the end of the year 1083 163 Graph Table 2024 2025 Earnings Per Share (Basic) &#8211; 0.13 EPS before non-recurring IPO costs &#8211; 0.28 2024 2025 Earnings Per Share (Basic) &#8211; 0.13 EPS before non-recurring IPO costs &#8211; 0.28 Realtime Share Price Graph Table 52 Week High 52 Week Low Volume 1W 1M 3M 6M 1Y All From To Graph Type Area (Curved)LineDonut 52 Week High 52 Week Low Volume 1W 1M 3M 6M 1Y All From To Graph Type Area (Curved)LineDonut\" \/>\n<meta property=\"og:url\" content=\"https:\/\/staging.plc.fairview.edu.my\/?page_id=558\" \/>\n<meta property=\"og:site_name\" content=\"Fairview\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-11T03:25:56+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/staging.plc.fairview.edu.my\/?page_id=558\",\"url\":\"https:\/\/staging.plc.fairview.edu.my\/?page_id=558\",\"name\":\"Financial Information - Fairview\",\"isPartOf\":{\"@id\":\"https:\/\/staging.plc.fairview.edu.my\/#website\"},\"datePublished\":\"2025-12-07T01:31:17+00:00\",\"dateModified\":\"2025-12-11T03:25:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/staging.plc.fairview.edu.my\/?page_id=558#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/staging.plc.fairview.edu.my\/?page_id=558\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/staging.plc.fairview.edu.my\/?page_id=558#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/staging.plc.fairview.edu.my\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Financial Information\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/staging.plc.fairview.edu.my\/#website\",\"url\":\"https:\/\/staging.plc.fairview.edu.my\/\",\"name\":\"Fairview\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/staging.plc.fairview.edu.my\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/staging.plc.fairview.edu.my\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/staging.plc.fairview.edu.my\/#organization\",\"name\":\"Fairview\",\"url\":\"https:\/\/staging.plc.fairview.edu.my\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/staging.plc.fairview.edu.my\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/staging.plc.fairview.edu.my\/wp-content\/uploads\/2025\/12\/Fairview-International-PLC-RGB-white.png\",\"contentUrl\":\"https:\/\/staging.plc.fairview.edu.my\/wp-content\/uploads\/2025\/12\/Fairview-International-PLC-RGB-white.png\",\"width\":1241,\"height\":510,\"caption\":\"Fairview\"},\"image\":{\"@id\":\"https:\/\/staging.plc.fairview.edu.my\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Financial Information - Fairview","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/staging.plc.fairview.edu.my\/?page_id=558","og_locale":"en_US","og_type":"article","og_title":"Financial Information - Fairview","og_description":"Financial Information Home Annual Data Consolidated Statement of Profit and Loss Consolidated Statement of Financial Position Consolidated Statement of Cash Flows Key Indicators Graph Table 2024 2025 Revenue 5,011 5342 Total Finance and Other Income 815 1161 Total Expenses -2616 -2606 Profit for the year 1343 754 Graph Table 2024 2025 Total Assets 28589 26074 Total Equity 2519 5755 Total Liabilities 26070 20319 Graph Table 2024 2025 Net cash flows from operating activities 18281 3898 Net cash flows used in investing activities -445 -2195 Net cash flows from \/ (used in) financing activities 18445 -1167 Net (decrease) \/ increase in cash and cash equivalents 281 536 Cash and cash equivalents at the end of the year 1083 163 Graph Table 2024 2025 Earnings Per Share (Basic) &#8211; 0.13 EPS before non-recurring IPO costs &#8211; 0.28 Graph Table 2024 2025 Revenue 5,011 5342 Total Finance and Other Income 815 1161 Total Expenses -2616 -2606 Profit for the year 1343 754 2024 2025 Revenue 5,011 5342 Total Finance and Other Income 815 1161 Total Expenses -2616 -2606 Profit for the year 1343 754 Graph Table 2024 2025 Total Assets 28589 26074 Total Equity 2519 5755 Total Liabilities 26070 20319 2024 2025 Total Assets 28589 26074 Total Equity 2519 5755 Total Liabilities 26070 20319 Graph Table 2024 2025 Net cash flows from operating activities 18281 3898 Net cash flows used in investing activities -445 -2195 Net cash flows from \/ (used in) financing activities 18445 -1167 Net (decrease) \/ increase in cash and cash equivalents 281 536 Cash and cash equivalents at the end of the year 1083 163 2024 2025 Net cash flows from operating activities 18281 3898 Net cash flows used in investing activities -445 -2195 Net cash flows from \/ (used in) financing activities 18445 -1167 Net (decrease) \/ increase in cash and cash equivalents 281 536 Cash and cash equivalents at the end of the year 1083 163 Graph Table 2024 2025 Earnings Per Share (Basic) &#8211; 0.13 EPS before non-recurring IPO costs &#8211; 0.28 2024 2025 Earnings Per Share (Basic) &#8211; 0.13 EPS before non-recurring IPO costs &#8211; 0.28 Realtime Share Price Graph Table 52 Week High 52 Week Low Volume 1W 1M 3M 6M 1Y All From To Graph Type Area (Curved)LineDonut 52 Week High 52 Week Low Volume 1W 1M 3M 6M 1Y All From To Graph Type Area (Curved)LineDonut","og_url":"https:\/\/staging.plc.fairview.edu.my\/?page_id=558","og_site_name":"Fairview","article_modified_time":"2025-12-11T03:25:56+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/staging.plc.fairview.edu.my\/?page_id=558","url":"https:\/\/staging.plc.fairview.edu.my\/?page_id=558","name":"Financial Information - Fairview","isPartOf":{"@id":"https:\/\/staging.plc.fairview.edu.my\/#website"},"datePublished":"2025-12-07T01:31:17+00:00","dateModified":"2025-12-11T03:25:56+00:00","breadcrumb":{"@id":"https:\/\/staging.plc.fairview.edu.my\/?page_id=558#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/staging.plc.fairview.edu.my\/?page_id=558"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/staging.plc.fairview.edu.my\/?page_id=558#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/staging.plc.fairview.edu.my\/"},{"@type":"ListItem","position":2,"name":"Financial Information"}]},{"@type":"WebSite","@id":"https:\/\/staging.plc.fairview.edu.my\/#website","url":"https:\/\/staging.plc.fairview.edu.my\/","name":"Fairview","description":"","publisher":{"@id":"https:\/\/staging.plc.fairview.edu.my\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/staging.plc.fairview.edu.my\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/staging.plc.fairview.edu.my\/#organization","name":"Fairview","url":"https:\/\/staging.plc.fairview.edu.my\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/staging.plc.fairview.edu.my\/#\/schema\/logo\/image\/","url":"https:\/\/staging.plc.fairview.edu.my\/wp-content\/uploads\/2025\/12\/Fairview-International-PLC-RGB-white.png","contentUrl":"https:\/\/staging.plc.fairview.edu.my\/wp-content\/uploads\/2025\/12\/Fairview-International-PLC-RGB-white.png","width":1241,"height":510,"caption":"Fairview"},"image":{"@id":"https:\/\/staging.plc.fairview.edu.my\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/staging.plc.fairview.edu.my\/index.php?rest_route=\/wp\/v2\/pages\/558","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.plc.fairview.edu.my\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/staging.plc.fairview.edu.my\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/staging.plc.fairview.edu.my\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/staging.plc.fairview.edu.my\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=558"}],"version-history":[{"count":116,"href":"https:\/\/staging.plc.fairview.edu.my\/index.php?rest_route=\/wp\/v2\/pages\/558\/revisions"}],"predecessor-version":[{"id":1818,"href":"https:\/\/staging.plc.fairview.edu.my\/index.php?rest_route=\/wp\/v2\/pages\/558\/revisions\/1818"}],"wp:attachment":[{"href":"https:\/\/staging.plc.fairview.edu.my\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=558"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}