1<!DOCTYPE html> 2<html dir="rtl" lang="he"> 3 <head> 4 <meta charset="utf-8"/> 5 <!-- Redirect and NoIndex for Base44 internal domain --> 6
6<script> 7 (function() { 8 if (window.location.hostname.includes('base44.app')) { 9 var targetUrl = 'https://dash.focusfin.co.il' + window.location.pathname + window.location.search; 10 var isEmbeddedPreview = false; 11 12 try { 13 isEmbeddedPreview = window.self !== window.top; 14 } catch (e) { 15 isEmbeddedPreview = true; 16 } 17 18 // 1. Noindex, nofollow 19 var robots = document.querySelector('meta[name="robots"]'); 20 if (!robots) { 21 robots = document.createElement('meta'); 22 robots.name = 'robots'; 23 document.head.appendChild(robots); 24 } 25 robots.content = 'noindex, nofollow'; 26 27 // 2. Canonical to official domain 28 var canonical = document.querySelector('link[rel="canonical"]'); 29 if (!canonical) { 30 canonical = document.createElement('link'); 31 canonical.rel = 'canonical'; 32 document.head.appendChild(canonical); 33 } 34 canonical.href = targetUrl; 35 36 // 3. Redirect only outside embedded preview environments 37 if (!isEmbeddedPreview) { 38 window.location.replace(targetUrl + window.location.hash); 39 } 40 } 41 })(); 42 </script>
42 43 <!-- Favicon: ס×× FocusFin (×××××§×× ××¢××× ××ר××§) --> 44 <link href="https://base44.app/api/apps/68cd3b5ea00e4121f93dff1b/files/mp/public/68cd3b5ea00e4121f93dff1b/b150ab1ac_focusfin_icon_clean.png" rel="icon" type="image/png"/> 45 <link href="https://base44.app/api/apps/68cd3b5ea00e4121f93dff1b/files/mp/public/68cd3b5ea00e4121f93dff1b/b150ab1ac_focusfin_icon_clean.png" rel="shortcut icon" type="image/png"/> 46 <!-- Apple Touch Icon: ס×× ×¨××××¢× ××××פ××/××××¤× --> 47 <link href="https://base44.app/api/apps/68cd3b5ea00e4121f93dff1b/files/mp/public/68cd3b5ea00e4121f93dff1b/b150ab1ac_focusfin_icon_clean.png" rel="apple-touch-icon"/> 48 <!-- iOS PWA meta tags: must be in static HTML (not React-injected) so iOS 49 Safari recognizes the app as a standalone PWA when "Add to Home Screen" 50 is used. Without these, iOS may not enable PushManager / web push. --> 51 <meta content="yes" name="apple-mobile-web-app-capable"/> 52 <meta content="yes" name="mobile-web-app-capable"/> 53 <meta content="black-translucent" name="apple-mobile-web-app-status-bar-style"/> 54 <meta content="FocusFin" name="apple-mobile-web-app-title"/> 55 <meta content="width=device-width, initial-scale=1.0" name="viewport"/> 56 <link href="/functions/manifest" rel="manifest"/> 57 <title> 58 FocusFin | ××××¢ ××× ×ש××§ ×××× ××שר××× 59 </title> 60 <meta content="פ××פ×ר×ת ××××¢ ××× ×ש××§ ×××× ××שר×××: × ×××ר ××ר×ת ×××רס×, ס××××× ××××ת, ש×××ת ×שק××¢××, ×××¤× ××§×ר×ת ××××¢ ××ת××× ××ש×ת ×¢× ××××× ×××× ××ת." name="description"/> 61 <meta content="ש××§ ×××× ××שר×××, ×××¨×¡× ××ª× ××××, ×× ××ת ×שר××, ×ער×ת ××××¢ פ×× × ×¡×, × ×××ר ×× ××ת, ×××××× ××ר×ת, ××××ת ×ספ×××, ש×××ת ×שק××¢××, ×תר××ת ש××§ ××××, ××קר ×× ××ת ×שר××××ת, FocusFin" name="keywords"/> 62 <meta content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" name="robots"/> 63 <meta content="4BEDE87C9BCF7452BCE8F7980556F6D4" name="msvalidate.01"/> 64 <meta content="FocusFin" name="author"/> 65 <meta content="#0f172a" name="theme-color"/> 66 <!-- NOTE: A <link rel="modulepreload"> for the entry was removed here. 67 The Base44 platform rewrites an href of "/src/main.jsx" into a 68 data:text/jsx;base64 bootstrap module, which is not a valid JS MIME 69 type for module scripts and triggered a Google Search Console 70 "Failed to load module script ... MIME type text/jsx" error. The real 71 app entry is the built /assets/index-*.js module loaded via a 72
72<script type="module"> in <body>, which browsers preload automatically; 73 no separate preload hint is needed. --> 74 <!-- Preconnect to the Google Fonts CDN we use for Cairo (the brand font). 75 Saves ~100-200ms on first font request. --> 76 <link crossorigin="" href="https://fonts.googleapis.com" rel="preconnect"/> 77 <link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/> 78 <!-- Preconnect to Google's favicon service used for the interactive feed 79 source logos on the landing page. Speeds up those small logo fetches. --> 80 <link href="https://www.google.com" rel="preconnect"/> 81 <!-- Preload the Cairo CSS stylesheet so the browser fetches it in parallel 82 with the HTML parse, instead of waiting for the @import inside our app 83 CSS. Cuts ~100-200ms off the time to first paint of styled text. --> 84 <link as="style" crossorigin="" href="https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;500;600;700;800&display=swap" rel="preload"/> 85 <link crossorigin="" href="https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;500;600;700;800&display=swap" rel="stylesheet"/> 86 <!-- Preload the FIRST screenshot of the Landing carousel as a high-priority 87 image. Only fires on the landing route via the inline script below 88 (so non-landing pages aren't penalized). Big LCP win for new visitors 89 coming from Google directly to "/". --> 90
90<script> 91 (function () { 92 var p = window.location.pathname; 93 if (p === '/' || p.toLowerCase() === '/landing') { 94 var l = document.createElement('link'); 95 l.rel = 'preload'; 96 l.as = 'image'; 97 l.fetchPriority = 'high'; 98 // Same Supabase render endpoint used by ScreenshotsCarousel â keep in sync. 99 l.href = 'https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/render/image/public/base44-prod/public/68cd3b5ea00e4121f93dff1b/2f5854b90_Screenshot_20260305_012158_Chrome.jpg?width=2048&height=1000&resize=contain&format=webp&quality=80'; 100 document.head.appendChild(l); 101 } 102 })(); 103 </script>
103 104 <!-- 105 NOTE: We intentionally do NOT set a static <link rel="canonical"> or 106 <link rel="alternate" hreflang> here. A static canonical would tell every 107 non-JS crawler (Bingbot, GPTBot, ClaudeBot, PerplexityBot, social previewers) 108 that EVERY URL on the site canonicalizes to "/". That actively harms 109 indexing of internal pages. 110 111 Instead, the canonical for each page is set at runtime by 112 <PageMeta /> (components/seo/PageMeta.jsx) using lib/pageMetaConfig.js. 113 Server-rendered SEO pages (functions/seo*) emit their own canonical 114 directly in their HTML head, independent of this shell. 115 116 Title / description / OG tags below ARE intentionally kept as a generic 117 brand-level fallback for any request that never reaches PageMeta. 118 --> 119 <link href="https://dash.focusfin.co.il/functions/sitemap" rel="sitemap" title="Sitemap" type="application/xml"/> 120 <link href="https://dash.focusfin.co.il/functions/newsSitemap" rel="sitemap" title="News Sitemap" type="application/xml"/> 121 <!-- Generic brand-level OG/Twitter fallback metadata. 122 Placed BEFORE the ROUTE_META script below so route-specific upserts 123 update these tags instead of creating duplicates. --> 124 <meta content="he_IL" property="og:locale"/> 125 <meta content="website" property="og:type"/> 126 <meta content="FocusFin" property="og:site_name"/> 127 <meta content="FocusFin | ××××¢ ××× ×ש××§ ×××× ××שר×××" property="og:title"/> 128 <meta content="פ××פ×ר×ת ××××¢ ××× ×ש××§ ×××× ××שר×××: × ×××ר ××ר×ת ×××רס×, ס××××× ××××ת, ש×××ת ×שק××¢××, ×××¤× ××§×ר×ת ××××¢ ××ת××× ××ש×ת ×¢× ××××× ×××× ××ת." property="og:description"/> 129 <meta content="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/68cd3b5ea00e4121f93dff1b/5ad7176ca_1000262067-removebg-preview.png" property="og:image"/> 130 <meta content="summary_large_image" name="twitter:card"/> 131 <meta content="FocusFin | ××××¢ ××× ×ש××§ ×××× ××שר×××" name="twitter:title"/> 132 <meta content="פ××פ×ר×ת ××××¢ ××× ×ש××§ ×××× ××שר×××: × ×××ר ××ר×ת ×××רס×, ס××××× ××××ת, ש×××ת ×שק××¢××, ×××¤× ××§×ר×ת ××××¢ ××ת××× ××ש×ת ×¢× ××××× ×××× ××ת." name="twitter:description"/> 133 <meta content="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/68cd3b5ea00e4121f93dff1b/5ad7176ca_1000262067-removebg-preview.png" name="twitter:image"/> 134 <!-- 135 ââ SEO route-specific raw-HTML head injection âââââââââââââââââââââââââ 136 SCOPE: a small, explicit allow-list of PUBLIC business pages only: 137 /focusfin-database, /about, /research-monitoring, 138 /how-it-works, /israeli-fear-index 139 140 Why: these public business pages (React SPA routes, NOT /functions/seo* 141 pages) previously only got their page-specific <head> from <PageMeta /> at 142 runtime. This block writes the same page-specific title/description/ 143 canonical/robots/OG/Twitter into the raw HTML before React runs, so 144 JS-capable search/AI crawlers (Googlebot, Bingbot, OAI-SearchBot) see 145 correct metadata earlier. 146 147 Safety: 148 - Runs ONLY for the exact paths in ROUTE_META below (exact match). 149 - Values are mirrored verbatim from lib/pageMetaConfig.js so the SPA 150 config remains the single source of truth. 151 - Uses upsert-by-selector (not append). <PageMeta /> later updates the SAME 152 tags via the same selectors â NO duplicate canonical / robots / OG / 153 Twitter tags. 154 - Does NOT touch /, /Landing, /faq, Article, Similarity, Dashboard, 155 admin/system routes, or /functions/seo* pages (those are separate 156 backend functions that return their own HTML and never load this 157 index.html). 158 159 Rollback: delete this entire
159<script> block, OR remove individual entries 160 from ROUTE_META. Nothing else depends on it. 161 --> 162
162<script> 163 (function () { 164 var SITE = 'https://dash.focusfin.co.il'; 165 166 // Allow-list ONLY. Mirrors lib/pageMetaConfig.js verbatim. 167 var ROUTE_META = { 168 '/focusfin-database': { 169 title: '×××ר ×××¢ ×¢×¡×§× ×¢× ××××¨×¡× ××ש××§ ××שר××× | FocusFin', 170 description: '×××ר ××××¢ ×©× FocusFin ×ר×× ××××¢ ×¢× ××ר×ת צ×××ר××ת, סק××ר××, ×××××××, ×ת××ת, ××××¢ רשת×, ס××××× ××××ת, ש×××ת ×שק××¢×× ××¨×¦×¤× ×¢×××× ×× ×ש××§ ×××× ××שר×××.' 171 }, 172 '/about': { 173 title: '×¢× FocusFin | תשת×ת ××××¢ ×××× ×ש××§ ××שר×××', 174 description: 'FocusFin ××× ××רת ××× ×××××× ×¦×××ת ש××× × ×ª×©×ª×ת ××××¢ ×××× ×××ר×ת, ש×××§××, × ×ש××× ××ש×××ת, ×¢× ××××¢ ×ס×× ×, ת×צ××ª× ×××ת×× ××ש×ת.' 175 }, 176 '/research-monitoring': { 177 title: '××קר ×× ×××ר ××××¢ ×××¢××× ×ש××§ ×××× | FocusFin', 178 description: 'FocusFin ××פשרת ××קר, × ×××ר ××¢×××× ××××¢ ×××¢××× ×¡××× ××ר×ת, סק××ר××, ס××× ×××××××, ××××¢ ×¨×©×ª× ×× ×ש××× ×¢×¡×§×××, ×¢× ×ס×ס ×××ר ×××¢ ××ער×ת × ×××ר ×××× ××ת.' 179 }, 180 '/how-it-works': { 181 title: '××× FocusFin ×¢×××ת | × ×××ר ××××¢ ×ש××§ ×××× ××שר×××', 182 description: '×× FocusFin ×× ×רת ××§×ר×ת ××××¢, ××¡× × ×ª רעש, ×ת×××ת ××¤× ××ר×ת ×סק××ר××, ××× ×××©× ×¢×××× ××, ס×××××× ××תר××ת ×ש××§ ×××× ××שר×××.' 183 }, 184 '/israeli-fear-index': { 185 title: '××× ×פ×× ××שר×××: VTA35 ×Ö¾Fear & Greed | FocusFin', 186 description: '××× ×פ×× ××שר××× VTA35: ×¢×¨× ×¢××× × ×©× ××× ××ª× ××ת××ת ××××¨×¡× ××ª× ××××, ××¦× ××× Fear & Greed ×ש××§ ××שר××× ××ס×ר קצר ×¢× ×ש××¢×ת ××××××.' 187 }, 188 '/energy-radar': { 189 title: 'ר××ר ××× ×¨××× ××שר××× | FocusFin à EnergyCom', 190 description: 'ר××ר ××× ×¨××× ××שר××× ××× ×¤×¨×××§× ×ª××× ×ש×תף ×©× FocusFin ×-EnergyCom, ××צ×× ×¡×§×ר×ת PDF ×קצ××¢××ת ×¢× ×שק ××× ×¨××× ××שר×× ×צפ××× ××××ר××.' 191 }, 192 '/energy-barrel': { 193 title: '×××ת ××× ×¨××× | ×ש×××ת ××××¨× ×× ×¨××× ×¢×××××× | FocusFin', 194 description: '×××ת ××× ×¨××× ×©× FocusFin ×ש××× ××××¨× ×× ×¨××× ×¢×××××× ××××××ת ×××§×ר ××××××ת ×ש×××× ××××× ×©× ×××ת ×× ×¨×××, ×××× × ×¤× ××¨× ×, × ×¤× WTI, ×× ××ר××§××, ×× ××ר×פ×, ×× ×ר×××, LNG ×ס×× ××× ××שר××.' 195 }, 196 '/en/about': { 197 title: 'About FocusFin | Smart Information Infrastructure for the Israeli Market', 198 description: 'FocusFin is a growing technology company building a smart information infrastructure for companies, markets, topics and entities, with filtered, concise and personalized information.' 199 }, 200 '/en/faq': { 201 title: 'FAQ | FocusFin Smart Insights for the Israeli Capital Market', 202 description: 'Answers to common questions about using FocusFin: what the system does, how to get started, privacy, subscriptions and security.' 203 }, 204 '/en/editorial-policy': { 205 title: 'Editorial Policy | FocusFin Smart Insights for the Israeli Capital Market', 206 description: "FocusFin's editorial policy: sources, AI usage, corrections and no investment advice." 207 }, 208 '/en/privacy-policy': { 209 title: 'Privacy Policy | FocusFin Smart Insights for the Israeli Capital Market', 210 description: "FocusFin's privacy policy â how we collect, use and protect users' personal information on the platform." 211 }, 212 '/en/terms-of-use': { 213 title: 'Terms of Use | FocusFin Smart Insights for the Israeli Capital Market', 214 description: "FocusFin's terms and conditions â a capital market information system. Subscription policy, cancellations, liability and no investment advice." 215 }, 216 '/en/focusfin-database': { 217 title: 'Business Knowledge Base on the Israeli Stock Exchange | FocusFin', 218 description: "FocusFin's knowledge base aggregates information on public companies, sectors, reports, articles, web data, report summaries, investor calls and update sequences in the Israeli capital market." 219 }, 220 '/en/research-monitoring': { 221 title: 'Bespoke Research and Information Monitoring | FocusFin', 222 description: 'FocusFin enables bespoke research, monitoring and information processing around companies, sectors, report types, web data and business topics, based on a knowledge base and real-time monitoring system.' 223 }, 224 '/en/how-it-works': { 225 title: 'How FocusFin Works | Information Monitoring for the Israeli Capital Market', 226 description: 'How FocusFin monitors information sources, filters noise, tags by companies and sectors, and delivers updates, summaries and alerts for the Israeli capital market.' 227 }, 228 '/en/israeli-fear-index': { 229 title: 'Israeli Fear Index: VTA35 & Fear and Greed | FocusFin', 230 description: "Israeli Fear Index VTA35: an up-to-date value of the volatility index on the Tel Aviv Stock Exchange, alongside a Fear & Greed index for the Israeli market and an explanation of what the indices mean." 231 }, 232 '/en/energy-radar': { 233 title: 'The Israeli Energy Radar | FocusFin à EnergyCom', 234 description: "The Israeli Energy Radar is a joint content project by FocusFin and EnergyCom, publishing professional PDF reviews of Israel's energy sector for viewing and download." 235 }, 236 '/en/energy-barrel': { 237 title: 'Energy Barrel | Global Energy Price Comparison | FocusFin', 238 description: "FocusFin's Energy Barrel compares global energy prices in original units and a unified energy barrel unit, including Brent, WTI, US gas, European gas, UK gas, Asia LNG and Israeli gas." 239 }, 240 '/delek-group-value': { 241 title: '×§××צת ×××§: ××××§×ת, × ×ס××, NAV ××¢×××× ×× | FocusFin', 242 description: '××× ×©××× ×§××צת ×××§? ש××× ×××××§×ת ×××תק×, × ×× ××, ×שר×××¨× ×× ×ס×× × ×ספ××, ×××× ×פ×× × ×¡× × ××, ×-NAV ×××¢×××× ×× ××ר××××× ×©×שפ××¢×× ×¢× ×ª××× ×ª ×ש×××.', 243 ogDescription: '×פת ×ש××× ×©× ×§××צת ×××§: ××תק×, × ×× ××, ×שר×××¨× ×× ×ס×× × ×ספ××, ××¦× ×××× ×פ×× × ×¡× × ××, NAV ××¢×××× ××.' 244 }, 245 '/expert-articles': { 246 title: '××××¨× ×××××× | FocusFin', 247 description: '×××ר××, × ×ת×××× ××¤×¨×©× ×ת ××§×ר×ת ××× ×©× ×קצ××¢ ××××××× ×ת×××× ×©××§ ××××, עסק××, ×× ×¨×××, ××× ×××××× ××××××.' 248 } 249 }; 250 251 // Language/direction must be correct for ALL routes, even those not in 252 // ROUTE_META (PageMeta will re-assert at runtime for SPA routes). 253 var isEn = window.location.pathname.indexOf('/en/') === 0; 254 document.documentElement.setAttribute('lang', isEn ? 'en' : 'he'); 255 document.documentElement.setAttribute('dir', isEn ? 'ltr' : 'rtl'); 256 257 var entry = ROUTE_META[window.location.pathname]; 258 if (!entry) return; 259 260 var canonicalUrl = SITE + window.location.pathname; 261 var robots = 'index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1'; 262 var ogDescription = entry.ogDescription || entry.description; 263 264 function setMeta(name, content, attr) { 265 attr = attr || 'name'; 266 var el = document.head.querySelector('meta[' + attr + '="' + name + '"]'); 267 if (!el) { 268 el = document.createElement('meta'); 269 el.setAttribute(attr, name); 270 document.head.appendChild(el); 271 } 272 el.setAttribute('content', content); 273 } 274 275 document.title = entry.title; 276 setMeta('description', entry.description); 277 setMeta('robots', robots); 278 setMeta('og:title', entry.title, 'property'); 279 setMeta('og:description', ogDescription, 'property'); 280 setMeta('og:url', canonicalUrl, 'property'); 281 setMeta('twitter:title', entry.title); 282 setMeta('twitter:description', ogDescription); 283 setMeta('twitter:url', canonicalUrl); 284 if (entry.ogImage) { 285 setMeta('og:image', entry.ogImage, 'property'); 286 setMeta('twitter:image', entry.ogImage); 287 } 288 289 var canonical = document.head.querySelector('link[rel="canonical"]'); 290 if (!canonical) { 291 canonical = document.createElement('link'); 292 canonical.setAttribute('rel', 'canonical'); 293 document.head.appendChild(canonical); 294 } 295 canonical.setAttribute('href', canonicalUrl); 296 })(); 297 </script>
297 298 <!-- Google Analytics 4 (gtag.js) -->
vendor: 69 bytes, lines 298-299
298 299 <script async="" src="https://www.googletagmanager.com/gtag/js?id=
299G-RC3BNWQLSM
vendor: 17 bytes, lines 299-301
299"> 300 </script> 301
301<script> 302
vendor: 145 bytes, lines 302-305
302window.dataLayer = window.dataLayer || []; 303 function gtag(){dataLayer.push(arguments);} 304 gtag('js', new Date()); 305 gtag('config', '
305G-RC3BNWQLSM
vendor: 6 bytes, lines 305-306
305'); 306
306</script>
306 307
307<script type="application/ld+json"> 308 { 309 "@context": "https://schema.org", 310 "@graph": [ 311 { 312 "@type": "Organization", 313 "name": "FocusFin", 314 "url": "https://dash.focusfin.co.il/", 315 "sameAs": [ 316 "https://focusfin.co.il/", 317 "https://x.com/FocusFinIL", 318 "https://www.crunchbase.com/organization/focusfin" 319 ], 320 "logo": "https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/68cd3b5ea00e4121f93dff1b/5ad7176ca_1000262067-removebg-preview.png", 321 "description": "FocusFin ××× ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××ספקת × ×××ר ××ר×ת, ס××××× ××××ת, ש×××ת ×שק××¢××, ×¨×¦×¤× ××××××× ××תר××ת ×××× ××ת." 322 }, 323 { 324 "@type": "WebSite", 325 "name": "FocusFin", 326 "url": "https://dash.focusfin.co.il/", 327 "inLanguage": "he-IL" 328 }, 329 { 330 "@type": "SoftwareApplication", 331 "name": "FocusFin", 332 "url": "https://dash.focusfin.co.il/", 333 "applicationCategory": "BusinessApplication", 334 "operatingSystem": "Web", 335 "description": "×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ××ר×ת צ×××ר××ת, ×ס××ת ××××ת ×ש×××ת ×שק××¢××, ××ספקת פ×× ×××©× ××תר××ת ×××× ××ת." 336 }, 337 { 338 "@type": "CollectionPage", 339 "name": "×¢×××× ××××¢ צ×××ר××× ×©× FocusFin", 340 "url": "https://dash.focusfin.co.il/functions/seoEntitiesIndex", 341 "description": "××× ×קס צ××××¨× ×©× ×ש×××ת, ××ר×ת, סק××ר×× ×× ×ש××× ××××× ×× ×צפ××× ××× ×ת××ר×ת." 342 }, 343 { 344 "@type": "CollectionPage", 345 "name": "×××ר×× ×× ×ת×××× ×¦×××ר××× ×©× FocusFin", 346 "url": "https://dash.focusfin.co.il/functions/seoArticlesIndex", 347 "description": "××× ×קס צ××××¨× ×©× ×××ר××, × ×ת×××× ×ס×××××× ×¢× ×©××§ ×××× ××שר×××, ×××××× ××ר×ת ×××××¨×¡× ×× ××ר×ת ×¢×¨× ××ª× ××××." 348 }, 349 { 350 "@type": "DataCatalog", 351 "name": "×××ר ××××¢ ××¢×¡×§× ×©× FocusFin", 352 "url": "https://dash.focusfin.co.il/focusfin-database", 353 "description": "×××ר ×××¢ ×¢×¡×§× ×¢× ××ר×ת צ×××ר××ת, סק××ר××, ×××××××, ×ת××ת, ××××ת ×ספ×××, ש×××ת ×שק××¢×× ××¨×¦×¤× ×¢×××× ×× ×ש××§ ×××× ××שר×××." 354 }, 355 { 356 "@type": "Service", 357 "name": "××קר, × ×××ר ××¢×××× ××××¢ ×××¢××× ×ש××§ ×××× ××שר××", 358 "provider": { "@type": "Organization", "name": "FocusFin" }, 359 "url": "https://dash.focusfin.co.il/research-monitoring", 360 "serviceType": "Financial information monitoring and research infrastructure", 361 "areaServed": "IL", 362 "description": "ש×ר××ª× ××קר, × ×××ר ××¢×××× ××××¢ ס××× ××ר×ת, סק××ר××, ס××× ×××××××, ××××¢ ×¨×©×ª× ×× ×ש××× ×¢×¡×§××× ××שר××." 363 }, 364 { 365 "@type": "FAQPage", 366 "name": "ש×××ת × ×¤×צ×ת ×¢× FocusFin", 367 "url": "https://dash.focusfin.co.il/faq" 368 } 369 ] 370 } 371 </script>
371 372
372<script crossorigin="" src="/assets/index-DPUrUn2B.js" type="module"> 373 </script>
373 374 <link crossorigin="" href="/assets/index-GJvMttXu.css" rel="stylesheet"/> 375
375<script> 376 (function(){var SAMPLING_RATE=0.15;var sid=(crypto.randomUUID&&crypto.randomUUID())||(Date.now()+'-'+Math.random().toString(36).slice(2));function samplingValue(v){var h=2166136261;for(var i=0;i<v.length;i++){h^=v.charCodeAt(i);h=Math.imul(h,16777619);}return(h>>>0)/4294967296;}var _sampledOut=samplingValue(sid)>=SAMPLING_RATE;window.Base44=window.Base44||{};if(_sampledOut){var _noop=function(){};window.Base44.recordings=Object.freeze({version:'1',setUserID:_noop,setUserAnonymousID:_noop,setMetadata:_noop,event:_noop,issue:_noop,start:_noop,stop:_noop,isActive:function(){return false;},getSessionID:function(){return null;},getSessionURL:function(){return null;},forceFlushBatch:_noop});try{console.debug('[base44 recordings] session sampled out');}catch(_){}return;}var s=document.createElement('script');window.Base44.__preQ=window.Base44.__preQ||[];if(!window.Base44.recordings){var _pre=function(m){return function(){if(window.Base44.__preQ.length<100)window.Base44.__preQ.push([m,Array.prototype.slice.call(arguments)]);};};window.Base44.recordings={version:'1',setUserID:_pre('setUserID'),setUserAnonymousID:_pre('setUserAnonymousID'),setMetadata:_pre('setMetadata'),event:_pre('event'),issue:_pre('issue'),start:_pre('start'),stop:_pre('stop'),isActive:function(){return false;},getSessionID:function(){return null;},getSessionURL:function(){return null;},forceFlushBatch:_pre('forceFlushBatch')};}s.src='https://unpkg.com/[email protected]/dist/rrweb.umd.cjs';s.integrity='sha384-vi2VGEOczLoSZVrAqXzYd5VWgeBvxiOEgda6/sVzRK+lvhbs9TuqZ474UUptLXLB';s.crossOrigin='anonymous';s.async=true;s.onload=function(){if(!window.rrweb)return;var _started=false;var APP_ID="68cd3b5ea00e4121f93dff1b";var INGEST_TOKEN="2vqHTfSQA7kmyORLvhtgTDOHd7VfU5bFejEaMtFymEg";var NETWORK_IGNORE_HEADERS=["cookie", "set-cookie", "authorization", "x-api-key"];var buffer=[];var lastFlush=Date.now();var recorderStopFn=null;var _stopRequested=false;var MAX_SESSION_MS=1800000;var IDLE_TIMEOUT_MS=900000;var lastActivityAt=0;var idleTimer=null;var maxTimer=null;var _sdkActive=null;var _sdkPending=[];var SDK_CAP=256;var sdkSafe=function(v){try{return String(v).slice(0,SDK_CAP);}catch(_){return '';}};var sdkDeep=function(v){try{return JSON.parse(JSON.stringify(v||{}));}catch(_){return {};}};var sdkEmit=function(method,payload){if(_sampledOut)return;var ev={method:method,payload:payload||{}};if(_sdkActive){try{_sdkActive('base44_sdk',Object.assign({method:method},payload||{}));}catch(_){}return;}if(_sdkPending.length<100)_sdkPending.push(ev);};window.Base44=window.Base44||{};window.Base44.recordings=Object.freeze({version:'1',setUserID:function(id){sdkEmit('setUserID',{value:sdkSafe(id)});},setUserAnonymousID:function(id){sdkEmit('setUserAnonymousID',{value:sdkSafe(id)});},setMetadata:function(key,value){if(_sampledOut)return;if(typeof key!=='string'||key.length>64)return;var v;try{v=JSON.parse(JSON.stringify(value));}catch(_){return;}sdkEmit('setMetadata',{key:key,value:v});},event:function(name,payload){if(_sampledOut)return;if(typeof name!=='string')return;sdkEmit('event',{name:name.slice(0,64),payload:sdkDeep(payload)});},issue:function(name,payload){if(_sampledOut)return;if(typeof name!=='string')return;sdkEmit('issue',{name:name.slice(0,64),payload:sdkDeep(payload)});},start:function(){},stop:function(){stopRecording('manual',true);},isActive:function(){return !_sampledOut&&!_stopRequested&&!!recorderStopFn;},getSessionID:function(){return _sampledOut?null:sid;},getSessionURL:function(){return null;},forceFlushBatch:function(){if(_sampledOut)return;try{flush(false);}catch(_){}}});if(window.Base44.__preQ&&window.Base44.__preQ.length){var _pq=window.Base44.__preQ;window.Base44.__preQ=[];for(var _qi=0;_qi<_pq.length;_qi++){var _m=_pq[_qi][0],_a=_pq[_qi][1];try{var _fn=window.Base44.recordings[_m];if(typeof _fn==='function')_fn.apply(null,_a);}catch(_){}}}function redactUrl(u){try{u=String(u||'');var q=u.indexOf('?');if(q>=0)u=u.slice(0,q);var h=u.indexOf('#');if(h>=0)u=u.slice(0,h);return u;}catch(_){return'';}}function redactText(s){try{s=String(s||'');return s.replace(/https?:\/\/[^\s)'\"]+|\/[^\s)'\"]*[?#][^\s)'\"]*/g,function(m){return redactUrl(m);});}catch(_){return'';}}function stopRecording(reason,dropBuffered){if(_stopRequested){if(dropBuffered)buffer.length=0;return;}if(!dropBuffered){try{flush(false);}catch(_){}}_stopRequested=true;buffer.length=0;if(idleTimer){try{clearTimeout(idleTimer);}catch(_){}idleTimer=null;}if(maxTimer){try{clearTimeout(maxTimer);}catch(_){}maxTimer=null;}if(recorderStopFn){try{recorderStopFn();recorderStopFn=null;}catch(_){}}
376try{if(reason)console.debug('[base44 recordings] stopped: '+reason);}catch(_){}}function scheduleIdleStop(){if(_stopRequested)return;if(idleTimer){try{clearTimeout(idleTimer);}catch(_){}}var wait=IDLE_TIMEOUT_MS-(Date.now()-lastActivityAt);if(wait<0)wait=0;idleTimer=setTimeout(function(){if(_stopRequested)return;if(Date.now()-lastActivityAt>=IDLE_TIMEOUT_MS)stopRecording('idle_timeout',false);else scheduleIdleStop();},wait);}function markActivity(){if(_stopRequested)return;lastActivityAt=Date.now();scheduleIdleStop();}function isMeaningfulActivityEvent(ev){try{return !!(ev&&ev.type===3&&ev.data&&((ev.data.source===2&&(ev.data.type===2||ev.data.type===4||ev.data.type===9))||ev.data.source===3||ev.data.source===5));}catch(_){return false;}}function sessionLifetimeCapture(){lastActivityAt=Date.now();maxTimer=setTimeout(function(){stopRecording('max_duration',false);},MAX_SESSION_MS);scheduleIdleStop();}function flush(ka){if(_stopRequested){buffer.length=0;return;}if(!buffer.length)return;var tok=null;try{tok=localStorage.getItem('base44_access_token');}catch(_){}var payload={app_id:APP_ID,session_id:sid,events:buffer.splice(0),page_url:redactUrl(location.href),user_agent:navigator.userAgent,access_token:tok};lastFlush=Date.now();var opts={method:'POST',headers:{'Content-Type':'application/json','X-Base44-Recording-Token':INGEST_TOKEN},body:JSON.stringify(payload)};if(ka)opts.keepalive=true;fetch('/api/runtime/session-recordings/ingest',opts).then(function(r){try{var skip=r.headers.get('X-Base44-Recording-Skip');if(skip==='excluded'||skip==='admin'){stopRecording('excluded',true);return;}if(skip==='sampled'){stopRecording('sampled',true);return;}}catch(_){}if(!r.ok){try{console.warn('session-recordings ingest http',r.status);}catch(_){}try{if(r.status===429&&r.headers.get('X-Base44-Recording-Limit')==='reached'){stopRecording('quota_reached',true);}}catch(_){}}}).catch(function(e){try{console.warn('session-recordings ingest err',e);}catch(_){}});}function devtoolsCapture(){if(!(window.rrweb&&window.rrweb.record&&window.rrweb.record.addCustomEvent))return;var add=window.rrweb.record.addCustomEvent;var inside=false;function safe(fn){return function(){if(inside)return;inside=true;try{return fn.apply(this,arguments);}finally{inside=false;}};}['log','info','warn','error','debug'].forEach(function(level){var orig=console[level];if(!orig)return;console[level]=function(){try{add('console',{level:level});}catch(_){}return orig.apply(console,arguments);};});window.addEventListener('error',safe(function(e){add('error',{message:redactText(String(e.message||'unknown')),source:redactUrl(e.filename||''),line:e.lineno||0,col:e.colno||0,stack:e.error&&e.error.stack?redactText(String(e.error.stack).slice(0,1000)):''});}));window.addEventListener('unhandledrejection',safe(function(e){var r=e.reason||{};add('error',{message:redactText(String(r.message||r||'unhandled rejection')),stack:r.stack?redactText(String(r.stack).slice(0,1000)):'',rejection:true});}));if(window.fetch){var of=window.fetch.bind(window);window.fetch=function(input,init){var t0=performance.now();var method=(init&&init.method)||(input&&input.method)||'GET';var url=typeof input==='string'?input:(input&&input.url)||'';if(url.indexOf('/api/runtime/session-recordings/ingest')>=0)return of(input,init);var rurl=redactUrl(url);return of(input,init).then(function(r){try{add('network',{kind:'fetch',method:method,url:rurl,status:r.status,duration:Math.round(performance.now()-t0)});}catch(_){}return r;}).catch(function(e){try{add('network',{kind:'fetch',method:method,url:rurl,status:0,duration:Math.round(performance.now()-t0),error:String(e&&e.message||e)});}catch(_){}throw e;});};}if(window.XMLHttpRequest){var xp=window.XMLHttpRequest.prototype;var oo=xp.open,os=xp.send;xp.open=function(m,u){this.__gp_m=m;this.__gp_u=u;return oo.apply(this,arguments);};xp.send=function(){var xhr=this,t0=performance.now();xhr.addEventListener('loadend',function(){try{if((xhr.__gp_u||'').indexOf('/api/runtime/session-recordings/ingest')<0)add('network',{kind:'xhr',method:xhr.__gp_m||'GET',url:redactUrl(xhr.__gp_u),status:xhr.status,duration:Math.round(performance.now()-t0)});}catch(_){}});return os.apply(this,arguments);};}}var EMAIL_RE=/([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})/g;var MASK_EMAILS=true;var MASK_NUMBERS=false;var CAPTURE_IFRAMES=true;function maskTextFn(text){if(!MASK_EMAILS||typeof text!=='string')return text;return text.replace(EMAIL_RE,'[email]');}function performanceCapture(){if(!('PerformanceObserver' in window))return;if(!(window.rrweb&&window.rrweb.record&&window.rrweb.record.addCustomEvent))return;var addPerf=window.rrweb.record.addCustomEvent;function emit(metric,value){try{addPerf('performance',{metric:metric,value:value,timestamp:Date.now()});}catch(_){}}try{new PerformanceObserver(function(list){var entries=list.getEntries();var last=entries[entries.length-1];if(last)emit('LCP',Math.round(last.renderTime||last.loadTime||last.startTime||0));}).observe({type:'largest-contentful-paint',buffered:true});}catch(_){}try{new PerformanceObserver(function(list){var entries=list.getEntries();for(var i=0;i<entries.length;i++){var e=entries[i];emit('FID',Math.round(e.processingStart-e.startTime));}}).observe({type:'first-input',buffered:true});}catch(_){}try{var clsValue=0;new PerformanceObserver(function(list){var entries=list.getEntries();for(var i=0;i<entries.length;i++){var e=entries[i];if(!e.hadRecentInput){clsValue+=e.value;}}emit('CLS',Math.round(clsValue*1000)/1000);}).observe({type:'layout-shift',buffered:true});}catch(_){}try{new PerformanceObserver(function(list){var entries=list.getEntries();for(var i=0;i<entries.length;i++){var e=entries[i];if(e.name==='first-contentful-paint')emit('FCP',Math.round(e.startTime));}}).observe({type:'paint',buffered:true});}catch(_){}try{new PerformanceObserver(function(list){var entries=list.getEntries();for(var i=0;i<entries.length;i++){var e=entries[i];emit('TTFB',Math.round(e.responseStart));}}).observe({type:'navigation',buffered:true});}catch(_){}}function issueCapture(){if(_sampledOut)return;if(!(window.rrweb&&window.rrweb.record&&window.rrweb.record.addCustomEvent))return;var addIssue=window.rrweb.record.addCustomEvent;var _crashEmitted=false;function emitIssue(kind){var page='';try{page=location.pathname;}catch(_){}try{addIssue('base44_issue',{kind:kind,page:page});}catch(_){}}var isReload=false;try{if(performance.getEntriesByType){var navEntry=performance.getEntriesByType('navigation')[0];if(navEntry&&navEntry.type==='reload')isReload=true;}}catch(_){}if(!isReload){try{if(performance.navigation&&performance.navigation.type===1)isReload=true;}catch(_){}}if(isReload)emitIssue('page_refresh');try{window.addEventListener('unhandledrejection',function(){try{if(_crashEmitted)return;_crashEmitted=true;emitIssue('app_crash');}catch(_){}},true);}catch(_){}}function startRecord(){if(_started)return;if(_stopRequested){try{console.debug('[base44 recordings] stop requested before start; not recording');}catch(_){}return;}if(_sampledOut){try{console.debug('[base44 recordings] session sampled out');}catch(_){}return;}_started=true;var maskInputOptions={password:true,email:true};if(MASK_NUMBERS){maskInputOptions.number=true;maskInputOptions.tel=true;maskInputOptions.date=true;}var recordOpts={emit:function(ev){if(_stopRequested)return;if(isMeaningfulActivityEvent(ev))markActivity();try{if(ev&&ev.type===4&&ev.data&&typeof ev.data.href==='string')ev.data.href=redactUrl(ev.data.href);}catch(_){}buffer.push(ev);if(ev.type===2){flush(false);return;}if(buffer.length>=50||Date.now()-lastFlush>5000)flush(false);},maskAllInputs:true,maskInputOptions:maskInputOptions,maskTextFn:maskTextFn,maskTextSelector:'.session-record-mask,[data-no-record]',blockSelector:'.session-record-block,[data-no-record-block]',recordCanvas:false,inlineStylesheet:true,checkoutEveryNms:60000};if(CAPTURE_IFRAMES)recordOpts.iframe=true;recorderStopFn=window.rrweb.record(recordOpts);if(window.rrweb.record.addCustomEvent){_sdkActive=window.rrweb.record.addCustomEvent;for(var _i=0;_i<_sdkPending.length;_i++){var _e=_sdkPending[_i];try{_sdkActive('base44_sdk',Object.assign({method:_e.method},_e.payload||{}));}catch(_){}}_sdkPending=[];}devtoolsCapture();performanceCapture();issueCapture();sessionLifetimeCapture();setTimeout(function(){try{window.rrweb.record.takeFullSnapshot&&window.rrweb.record.takeFullSnapshot(true);}catch(_){}},1500);setInterval(function(){flush(false);},5000);window.addEventListener('beforeunload',function(){flush(true);});}function whenReady(){var tries=0;function check(){var root=document.getElementById('root')||document.querySelector('main')||document.body;if(root&&root.childElementCount>0)return startRecord();if(++tries>50)return startRecord();setTimeout(check,100);}check();}
376if(document.readyState==='complete')whenReady();else window.addEventListener('load',whenReady);};(document.head||document.body).appendChild(s);})(); 377 </script>
377 378 </head> 379 <body> 380 <!-- 381 LCP fallback for the landing page (route: "/" or "/Landing"). 382 This block paints the H1 instantly from the HTML â before the React bundle 383 finishes downloading and executing. It cuts LCP from ~4s to ~1s on slow 384 networks for new visitors arriving from Google. 385 386 Behavior: 387 - Visible only on the landing route (root or "/Landing"), checked via JS. 388 - Uses Tailwind-equivalent inline styles so it matches the React H1 visually. 389 - Auto-hides as soon as React mounts content into #root (MutationObserver). 390 - Has a hard timeout of 8s as a safety net. 391 392 IMPORTANT: If you change the H1 text in pages/Landing.jsx, update it here too. 393 --> 394 <div id="landing-fallback" style="display:none;"> 395 <style> 396 #landing-fallback { 397 font-family: 'Cairo', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; 398 direction: rtl; 399 background: #ffffff; 400 min-height: 100vh; 401 padding: 64px 20px 20px; 402 box-sizing: border-box; 403 } 404 #landing-fallback .lf-inner { 405 max-width: 1152px; 406 margin: 0 auto; 407 text-align: center; 408 } 409 #landing-fallback .lf-badge { 410 display: inline-flex; 411 align-items: center; 412 gap: 8px; 413 border: 1px solid #DCEDE3; 414 background: #F0F7F3; 415 color: #174A30; 416 padding: 8px 16px; 417 border-radius: 9999px; 418 font-size: 14px; 419 font-weight: 600; 420 margin-bottom: 28px; 421 } 422 #landing-fallback .lf-headline { 423 font-size: 36px; 424 font-weight: 800; 425 color: #0f172a; 426 line-height: 1.15; 427 letter-spacing: -0.02em; 428 margin: 0 0 28px 0; 429 } 430 #landing-fallback .lf-headline span { 431 color: #1F5C3D; 432 } 433 #landing-fallback p { 434 font-size: 18px; 435 color: #475569; 436 line-height: 1.6; 437 max-width: 768px; 438 margin: 0 auto; 439 } 440 @media (min-width: 768px) { 441 #landing-fallback h1 { font-size: 60px; } 442 #landing-fallback p { font-size: 20px; } 443 } 444 </style> 445 <div class="lf-inner"> 446 <div class="lf-badge"> 447 ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××××××× ××שר×××ת 448 </div> 449 <h1 class="lf-headline"> 450 × ×××ר ש××§ ×××× ××××××× ××שר×××ת. 451 <br/> 452 <span> 453 ××××¢ ××××§× ××¢××× ×. 454 </span> 455 <br/> 456 ×××§×× ×××. 457 </h1> 458 <p> 459 FocusFin ×× ×רת ×××¤× ××§×ר×ת ×××× ××ת, ××¡× × ×ª ×ת ×רעש ××ר××ת ××××¢ ר×××× ×× ×¢× ××ר×ת, סק××ר××, × ×ס××, ××פ×× ×× ×ש××× ×©×ש×× ××××× ×××¢×§×× ××ר×××. 460 </p> 461 </div> 462 </div> 463 <div id="root"> 464 <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;"> 465 <main> 466 <header> 467 <h1> 468 Expert Articles Index | FocusFin 469 </h1> 470 <p> 471 Expert Articles Index on FocusFin. FocusFin | ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ×ת ××××¨×¡× ××××¤× ××§×ר×ת ××××¢. 472 </p> 473 </header> 474 <nav aria-label="Pages"> 475 <h2> 476 Pages 477 </h2> 478 <ul> 479 <li> 480 <a href="/"> 481 Landing 482 </a> 483 </li> 484 <li> 485 <a href="/about"> 486 About 487 </a> 488 â FocusFin ××× ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר×××. ××××¨× ×ת ××ש×××, ×צ××ת, ××ת×××××××× ××עקר×× ×ת ש×××××¨× ×פ××פ×ר××. 489 </li> 490 <li> 491 <a href="/faq"> 492 Faq 493 </a> 494 â תש×××ת ×ש×××ת ×× ×¤×צ×ת ×¢× ×ש×××ש ×-FocusFin: ×× ××ער×ת ×¢×ש×, ××× ×ת×××××, × ×ש×× ×¤×¨×××ת, ××××ת ××××¢ ××××××ת ×תק×××ת. 495 </li> 496 <li> 497 <a href="/editorial-policy"> 498 Editorial Policy 499 </a> 500 â Editorial Policy on FocusFin. FocusFin manages 5 data types including events. 501 </li> 502 <li> 503 <a href="/privacy-policy"> 504 Privacy Policy 505 </a> 506 â ××××ת ×××××¢, ×××××ת ××שת×ש ×פר×× ×צ×רת קשר ×¢× ××××× × ×¢× ×פר×××ת ××ער×ת FocusFin ×××××¢ ××× ×ש××§ ×××× ××שר××× 507 </li> 508 <li> 509 <a href="/terms-of-use"> 510 Terms Of Use 511 </a> 512 â ×ª×§× ×× ××ª× ×× ×ש×××ש ×©× FocusFin â ×ער×ת ××××¢ ×ש××§ ×××× ××שר×××. ×××× ××ת ×× ××, ×××××××, ××ר××ת ×××¢×ר ×××¢××¥ ×שקע×ת. 513 </li> 514 <li> 515 <a href="/focusfin-database"> 516 Focus Fin Database 517 </a> 518 â Focus Fin Database on FocusFin. FocusFin | ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ×ת ××××¨×¡× ××××¤× ××§×ר×ת ××××¢. 519 </li> 520 <li> 521 <a href="/research-monitoring"> 522 Research Monitoring 523 </a> 524 â Research Monitoring on FocusFin. FocusFin | ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ×ת ××××¨×¡× ××××¤× ××§×ר×ת ××××¢. 525 </li> 526 <li> 527 <a href="/israeli-fear-index"> 528 Israeli Fear Index 529 </a> 530 â Israeli Fear Index on FocusFin. FocusFin | ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ×ת ××××¨×¡× ××××¤× ××§×ר×ת ××××¢. 531 </li> 532 <li> 533 <a href="/energy-radar"> 534 Energy Radar 535 </a> 536 â Energy Radar on FocusFin. FocusFin | ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ×ת ××××¨×¡× ××××¤× ××§×ר×ת ××××¢. 537 </li> 538 <li> 539 <a href="/energy-barrel"> 540 Energy Barrel 541 </a> 542 â Energy Barrel on FocusFin. FocusFin | ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ×ת ××××¨×¡× ××××¤× ××§×ר×ת ××××¢. 543 </li> 544 <li> 545 <a href="/expert-articles"> 546 Expert Articles Index 547 </a> 548 â Expert Articles Index on FocusFin. FocusFin | ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ×ת ××××¨×¡× ××××¤× ××§×ר×ת ××××¢. 549 </li> 550 <li> 551 <a href="/delek-group-value"> 552 Delek Group Value 553 </a> 554 â Delek Group Value on FocusFin. FocusFin | ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ×ת ××××¨×¡× ××××¤× ××§×ר×ת ××××¢. 555 </li> 556 <li> 557 <a href="/refining-margins"> 558 Refining Margins 559 </a> 560 â Refining Margins on FocusFin. FocusFin | ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ×ת ××××¨×¡× ××××¤× ××§×ר×ת ××××¢. 561 </li> 562 <li> 563 <a href="/israel-gas-exports"> 564 Gas Exports 565 </a> 566 â Gas Exports on FocusFin. FocusFin | ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ×ת ××××¨×¡× ××××¤× ××§×ר×ת ××××¢. 567 </li> 568 <li> 569 <a href="/how-it-works"> 570 How It Works 571 </a> 572 â How It Works on FocusFin. FocusFin | ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ×ת ××××¨×¡× ××××¤× ××§×ר×ת ××××¢. 573 </li> 574 <li> 575 <a href="/saved-searches"> 576 Saved Searches 577 </a> 578 â Saved Searches on FocusFin. FocusFin | ×ער×ת ××××¢ ×××× ×ש××§ ×××× ××שר××× ××× ×רת ×ת ××××¨×¡× ××××¤× ××§×ר×ת ××××¢. 579 </li> 580 </ul> 581 </nav> 582 </main> 583 </div> 584 </div> 585
585<script> 586 // Show the LCP fallback only on the landing route, and hide it the moment 587 // React mounts content. This minimizes any visible "flash" between the 588 // static H1 and the React-rendered H1 (they're styled to look identical). 589 (function () { 590 var path = window.location.pathname; 591 var isLanding = path === '/' || path.toLowerCase() === '/landing'; 592 var fallback = document.getElementById('landing-fallback'); 593 if (!fallback) return; 594 if (!isLanding) { fallback.remove(); return; } 595 fallback.style.display = 'block'; 596 597 var hide = function () { 598 if (fallback) { 599 fallback.remove(); 600 fallback = null; 601 } 602 }; 603 604 // Hide as soon as React renders something into #root. 605 var root = document.getElementById('root'); 606 if (root) { 607 var observer = new MutationObserver(function () { 608 if (root.childElementCount > 0) { 609 observer.disconnect(); 610 hide(); 611 } 612 }); 613 observer.observe(root, { childList: true }); 614 } 615 616 // Safety timeout â if React never loads, don't strand the user on the fallback forever. 617 setTimeout(hide, 8000); 618 })(); 619 </script>
619 620 </body> 621</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.