<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://bmcwiki.mit.edu/index.php?action=history&amp;feed=atom&amp;title=User%3AUdays108%2Fcommon.js</id>
	<title>User:Udays108/common.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://bmcwiki.mit.edu/index.php?action=history&amp;feed=atom&amp;title=User%3AUdays108%2Fcommon.js"/>
	<link rel="alternate" type="text/html" href="http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;action=history"/>
	<updated>2026-05-10T08:49:54Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131464&amp;oldid=prev</id>
		<title>Udays108 at 23:19, 8 May 2026</title>
		<link rel="alternate" type="text/html" href="http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131464&amp;oldid=prev"/>
		<updated>2026-05-08T23:19:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;amp;diff=131464&amp;amp;oldid=131463&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Udays108</name></author>
	</entry>
	<entry>
		<id>http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131463&amp;oldid=prev</id>
		<title>Udays108: Replaced content with &quot;alert(&#039;JS is running&#039;);&quot;</title>
		<link rel="alternate" type="text/html" href="http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131463&amp;oldid=prev"/>
		<updated>2026-05-08T23:12:46Z</updated>

		<summary type="html">&lt;p&gt;Replaced content with &amp;quot;alert(&amp;#039;JS is running&amp;#039;);&amp;quot;&lt;/p&gt;
&lt;a href=&quot;http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;amp;diff=131463&amp;amp;oldid=131462&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Udays108</name></author>
	</entry>
	<entry>
		<id>http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131462&amp;oldid=prev</id>
		<title>Udays108 at 23:10, 8 May 2026</title>
		<link rel="alternate" type="text/html" href="http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131462&amp;oldid=prev"/>
		<updated>2026-05-08T23:10:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 23:10, 8 May 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;alert(&#039;JS is running&#039;);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/**&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/**&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  * BioMicro Center Wiki — Full DOM Replacement&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  * BioMicro Center Wiki — Full DOM Replacement&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  * MediaWiki still runs underneath for editing, search, login, etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  * MediaWiki still runs underneath for editing, search, login, etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  */&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  */&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;( function () {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;( function () {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Udays108</name></author>
	</entry>
	<entry>
		<id>http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131458&amp;oldid=prev</id>
		<title>Udays108 at 22:39, 8 May 2026</title>
		<link rel="alternate" type="text/html" href="http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131458&amp;oldid=prev"/>
		<updated>2026-05-08T22:39:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;amp;diff=131458&amp;amp;oldid=131456&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Udays108</name></author>
	</entry>
	<entry>
		<id>http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131456&amp;oldid=prev</id>
		<title>Udays108 at 21:53, 8 May 2026</title>
		<link rel="alternate" type="text/html" href="http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131456&amp;oldid=prev"/>
		<updated>2026-05-08T21:53:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;amp;diff=131456&amp;amp;oldid=131454&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Udays108</name></author>
	</entry>
	<entry>
		<id>http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131454&amp;oldid=prev</id>
		<title>Udays108 at 21:32, 8 May 2026</title>
		<link rel="alternate" type="text/html" href="http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131454&amp;oldid=prev"/>
		<updated>2026-05-08T21:32:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;amp;diff=131454&amp;amp;oldid=131452&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Udays108</name></author>
	</entry>
	<entry>
		<id>http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131452&amp;oldid=prev</id>
		<title>Udays108 at 20:17, 8 May 2026</title>
		<link rel="alternate" type="text/html" href="http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131452&amp;oldid=prev"/>
		<updated>2026-05-08T20:17:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;amp;diff=131452&amp;amp;oldid=131450&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Udays108</name></author>
	</entry>
	<entry>
		<id>http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131450&amp;oldid=prev</id>
		<title>Udays108 at 19:49, 8 May 2026</title>
		<link rel="alternate" type="text/html" href="http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131450&amp;oldid=prev"/>
		<updated>2026-05-08T19:49:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;amp;diff=131450&amp;amp;oldid=131448&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Udays108</name></author>
	</entry>
	<entry>
		<id>http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131448&amp;oldid=prev</id>
		<title>Udays108: Created page with &quot;/* ============================================================    MIT BioMicro Center — MediaWiki Custom Scripts    Skin: Vector-2022    Scope: User:USERNAME/common.js  (personal preview only)    Promote to MediaWiki:Common.js for site-wide deployment    ============================================================ */  mw.loader.using( [ &#039;mediawiki.util&#039; ] ).then( function () {   &#039;use strict&#039;;    /* ── Helpers ──────────────────...&quot;</title>
		<link rel="alternate" type="text/html" href="http://bmcwiki.mit.edu/index.php?title=User:Udays108/common.js&amp;diff=131448&amp;oldid=prev"/>
		<updated>2026-05-08T19:39:04Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;span class=&quot;autocomment&quot;&gt;============================================================    MIT BioMicro Center — MediaWiki Custom Scripts    Skin: Vector-2022    Scope: User:USERNAME/common.js  (personal preview only)    Promote to MediaWiki:Common.js for site-wide deployment    ============================================================: &lt;/span&gt;  mw.loader.using( [ &amp;#039;mediawiki.util&amp;#039; ] ).then( function () {   &amp;#039;use strict&amp;#039;;    /* ── Helpers ──────────────────...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* ============================================================&lt;br /&gt;
   MIT BioMicro Center — MediaWiki Custom Scripts&lt;br /&gt;
   Skin: Vector-2022&lt;br /&gt;
   Scope: User:USERNAME/common.js  (personal preview only)&lt;br /&gt;
   Promote to MediaWiki:Common.js for site-wide deployment&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using( [ &amp;#039;mediawiki.util&amp;#039; ] ).then( function () {&lt;br /&gt;
  &amp;#039;use strict&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
  /* ── Helpers ─────────────────────────────────────────────── */&lt;br /&gt;
&lt;br /&gt;
  function el( tag, props, children ) {&lt;br /&gt;
    var node = document.createElement( tag );&lt;br /&gt;
    Object.keys( props || {} ).forEach( function ( k ) {&lt;br /&gt;
      if ( k === &amp;#039;style&amp;#039; &amp;amp;&amp;amp; typeof props[ k ] === &amp;#039;object&amp;#039; ) {&lt;br /&gt;
        Object.assign( node.style, props[ k ] );&lt;br /&gt;
      } else if ( k === &amp;#039;className&amp;#039; ) {&lt;br /&gt;
        node.className = props[ k ];&lt;br /&gt;
      } else {&lt;br /&gt;
        node.setAttribute( k, props[ k ] );&lt;br /&gt;
      }&lt;br /&gt;
    } );&lt;br /&gt;
    ( children || [] ).forEach( function ( c ) {&lt;br /&gt;
      if ( typeof c === &amp;#039;string&amp;#039; ) {&lt;br /&gt;
        node.appendChild( document.createTextNode( c ) );&lt;br /&gt;
      } else {&lt;br /&gt;
        node.appendChild( c );&lt;br /&gt;
      }&lt;br /&gt;
    } );&lt;br /&gt;
    return node;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  /* ── 1. Top Contact Bar ──────────────────────────────────── */&lt;br /&gt;
  /* Injects a crimson bar above the header with email/phone/location */&lt;br /&gt;
&lt;br /&gt;
  ( function injectTopbar() {&lt;br /&gt;
    var header = document.querySelector( &amp;#039;.vector-header&amp;#039; );&lt;br /&gt;
    if ( !header || document.querySelector( &amp;#039;.bmc-topbar&amp;#039; ) ) return;&lt;br /&gt;
&lt;br /&gt;
    var topbar = document.createElement( &amp;#039;div&amp;#039; );&lt;br /&gt;
    topbar.className = &amp;#039;bmc-topbar&amp;#039;;&lt;br /&gt;
    topbar.innerHTML =&lt;br /&gt;
      &amp;#039;&amp;lt;div class=&amp;quot;bmc-topbar-inner&amp;quot;&amp;gt;&amp;#039; +&lt;br /&gt;
        &amp;#039;&amp;lt;a href=&amp;quot;mailto:biomicro@mit.edu&amp;quot;&amp;gt;biomicro@mit.edu&amp;lt;/a&amp;gt;&amp;#039; +&lt;br /&gt;
        &amp;#039;&amp;lt;span class=&amp;quot;bmc-sep&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&amp;#039; +&lt;br /&gt;
        &amp;#039;617-715-4533&amp;#039; +&lt;br /&gt;
        &amp;#039;&amp;lt;span class=&amp;quot;bmc-sep&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&amp;#039; +&lt;br /&gt;
        &amp;#039;Building 68-322&amp;#039; +&lt;br /&gt;
      &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
    header.parentNode.insertBefore( topbar, header );&lt;br /&gt;
&lt;br /&gt;
    /* Inject inline styles — common.css won&amp;#039;t reach injected elements&lt;br /&gt;
       before the DOM settles on first load */&lt;br /&gt;
    mw.util.addCSS(&lt;br /&gt;
      &amp;#039;.bmc-topbar{background:#a31f34;color:#fff;font-size:.75rem;&amp;#039; +&lt;br /&gt;
      &amp;#039;padding:6px 0;text-align:right;font-family:\&amp;#039;Helvetica Neue\&amp;#039;,Arial,sans-serif}&amp;#039; +&lt;br /&gt;
      &amp;#039;.bmc-topbar-inner{max-width:1140px;margin:0 auto;padding:0 24px}&amp;#039; +&lt;br /&gt;
      &amp;#039;.bmc-topbar a{color:#fff;opacity:.85;text-decoration:none}&amp;#039; +&lt;br /&gt;
      &amp;#039;.bmc-topbar a:hover{opacity:1}&amp;#039; +&lt;br /&gt;
      &amp;#039;.bmc-sep{margin:0 6px;opacity:.5}&amp;#039;&lt;br /&gt;
    );&lt;br /&gt;
  }() );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  /* ── 2. Active Navigation Highlight ─────────────────────── */&lt;br /&gt;
  /* Marks the sidebar nav link that matches the current wiki page */&lt;br /&gt;
&lt;br /&gt;
  ( function markActiveNav() {&lt;br /&gt;
    var pageName = mw.config.get( &amp;#039;wgPageName&amp;#039; );&lt;br /&gt;
    if ( !pageName ) return;&lt;br /&gt;
&lt;br /&gt;
    /* Normalise: spaces → underscores, lower-case for comparison */&lt;br /&gt;
    var norm = pageName.replace( / /g, &amp;#039;_&amp;#039; ).toLowerCase();&lt;br /&gt;
&lt;br /&gt;
    var links = document.querySelectorAll(&lt;br /&gt;
      &amp;#039;#p-navigation .mw-list-item a, &amp;#039; +&lt;br /&gt;
      &amp;#039;.vector-main-menu .mw-list-item a&amp;#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    links.forEach( function ( link ) {&lt;br /&gt;
      var href = ( link.getAttribute( &amp;#039;href&amp;#039; ) || &amp;#039;&amp;#039; ).toLowerCase();&lt;br /&gt;
      /* Match on the last path segment (/wiki/PageName) */&lt;br /&gt;
      if ( href.indexOf( norm ) !== -1 ) {&lt;br /&gt;
        var li = link.closest( &amp;#039;li&amp;#039; );&lt;br /&gt;
        if ( li ) li.classList.add( &amp;#039;bmc-active&amp;#039; );&lt;br /&gt;
      }&lt;br /&gt;
    } );&lt;br /&gt;
  }() );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  /* ── 3. Scroll Offset Fix (sticky header) ────────────────── */&lt;br /&gt;
  /* Vector-2022&amp;#039;s sticky header is ~50–68px tall. Without this fix&lt;br /&gt;
     clicking a TOC anchor scrolls the heading behind the header. */&lt;br /&gt;
&lt;br /&gt;
  ( function fixScrollOffset() {&lt;br /&gt;
    var OFFSET = 88; /* header + topbar combined */&lt;br /&gt;
&lt;br /&gt;
    document.addEventListener( &amp;#039;click&amp;#039;, function ( e ) {&lt;br /&gt;
      var anchor = e.target.closest( &amp;#039;a[href^=&amp;quot;#&amp;quot;]&amp;#039; );&lt;br /&gt;
      if ( !anchor ) return;&lt;br /&gt;
&lt;br /&gt;
      var targetId = anchor.getAttribute( &amp;#039;href&amp;#039; ).slice( 1 );&lt;br /&gt;
      if ( !targetId ) return;&lt;br /&gt;
      var target = document.getElementById( targetId ) ||&lt;br /&gt;
                   document.querySelector( &amp;#039;[name=&amp;quot;&amp;#039; + CSS.escape( targetId ) + &amp;#039;&amp;quot;]&amp;#039; );&lt;br /&gt;
      if ( !target ) return;&lt;br /&gt;
&lt;br /&gt;
      e.preventDefault();&lt;br /&gt;
      var top = target.getBoundingClientRect().top + window.pageYOffset - OFFSET;&lt;br /&gt;
      window.scrollTo( { top: top, behavior: &amp;#039;smooth&amp;#039; } );&lt;br /&gt;
&lt;br /&gt;
      /* Update URL hash without triggering browser jump */&lt;br /&gt;
      if ( history.pushState ) {&lt;br /&gt;
        history.pushState( null, null, &amp;#039;#&amp;#039; + targetId );&lt;br /&gt;
      }&lt;br /&gt;
    } );&lt;br /&gt;
  }() );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  /* ── 4. Tab Panel System ─────────────────────────────────── */&lt;br /&gt;
  /* Activates the .tab-btn / .tab-panel system used on the&lt;br /&gt;
     pricing page. Does nothing if no .tab-btn elements exist. */&lt;br /&gt;
&lt;br /&gt;
  ( function initTabs() {&lt;br /&gt;
    var tabBtns = document.querySelectorAll( &amp;#039;.tab-btn&amp;#039; );&lt;br /&gt;
    if ( !tabBtns.length ) return;&lt;br /&gt;
&lt;br /&gt;
    var tabPanels = document.querySelectorAll( &amp;#039;.tab-panel&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
    /* Activate first tab by default if none is active */&lt;br /&gt;
    if ( !document.querySelector( &amp;#039;.tab-btn.active&amp;#039; ) ) {&lt;br /&gt;
      tabBtns[ 0 ].classList.add( &amp;#039;active&amp;#039; );&lt;br /&gt;
    }&lt;br /&gt;
    if ( !document.querySelector( &amp;#039;.tab-panel.active&amp;#039; ) ) {&lt;br /&gt;
      tabPanels[ 0 ] &amp;amp;&amp;amp; tabPanels[ 0 ].classList.add( &amp;#039;active&amp;#039; );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    tabBtns.forEach( function ( btn ) {&lt;br /&gt;
      btn.addEventListener( &amp;#039;click&amp;#039;, function () {&lt;br /&gt;
        var target = btn.dataset.tab;&lt;br /&gt;
&lt;br /&gt;
        tabBtns.forEach( function ( t ) { t.classList.remove( &amp;#039;active&amp;#039; ); } );&lt;br /&gt;
        tabPanels.forEach( function ( p ) { p.classList.remove( &amp;#039;active&amp;#039; ); } );&lt;br /&gt;
&lt;br /&gt;
        btn.classList.add( &amp;#039;active&amp;#039; );&lt;br /&gt;
        var panel = document.getElementById( &amp;#039;tab-&amp;#039; + target );&lt;br /&gt;
        if ( panel ) panel.classList.add( &amp;#039;active&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
        /* Scroll to tab bar, accounting for sticky header */&lt;br /&gt;
        var tabBarWrap = document.querySelector( &amp;#039;.tab-bar-wrap&amp;#039; );&lt;br /&gt;
        if ( tabBarWrap ) {&lt;br /&gt;
          var top = tabBarWrap.getBoundingClientRect().top + window.pageYOffset - 68;&lt;br /&gt;
          window.scrollTo( { top: top, behavior: &amp;#039;smooth&amp;#039; } );&lt;br /&gt;
        }&lt;br /&gt;
      } );&lt;br /&gt;
    } );&lt;br /&gt;
  }() );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  /* ── 5. BMC Logo Mark ────────────────────────────────────── */&lt;br /&gt;
  /* Injects the red square &amp;quot;BMC&amp;quot; mark next to the wiki wordmark&lt;br /&gt;
     if the logo element is a plain text/image logo.             */&lt;br /&gt;
&lt;br /&gt;
  ( function injectLogoMark() {&lt;br /&gt;
    var logoLink = document.querySelector( &amp;#039;.mw-logo&amp;#039; );&lt;br /&gt;
    if ( !logoLink || document.querySelector( &amp;#039;.bmc-logo-mark&amp;#039; ) ) return;&lt;br /&gt;
&lt;br /&gt;
    var mark = document.createElement( &amp;#039;div&amp;#039; );&lt;br /&gt;
    mark.className = &amp;#039;bmc-logo-mark&amp;#039;;&lt;br /&gt;
    mark.textContent = &amp;#039;BMC&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
    mw.util.addCSS(&lt;br /&gt;
      &amp;#039;.bmc-logo-mark{&amp;#039; +&lt;br /&gt;
        &amp;#039;width:36px;height:36px;background:#a31f34;border-radius:4px;&amp;#039; +&lt;br /&gt;
        &amp;#039;display:flex;align-items:center;justify-content:center;&amp;#039; +&lt;br /&gt;
        &amp;#039;color:#fff;font-weight:700;font-size:.9rem;letter-spacing:-.5px;&amp;#039; +&lt;br /&gt;
        &amp;#039;flex-shrink:0;font-family:\&amp;#039;Helvetica Neue\&amp;#039;,Arial,sans-serif&amp;#039; +&lt;br /&gt;
      &amp;#039;}&amp;#039; +&lt;br /&gt;
      &amp;#039;.mw-logo{display:flex!important;align-items:center!important;gap:10px!important}&amp;#039;&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    /* Prepend mark before the existing logo image/text */&lt;br /&gt;
    logoLink.insertBefore( mark, logoLink.firstChild );&lt;br /&gt;
  }() );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  /* ── 6. Wrap Long Tables for Mobile Scroll ───────────────── */&lt;br /&gt;
  /* Wraps .wikitable in a scrollable div so wide tables don&amp;#039;t&lt;br /&gt;
     break the layout on small screens.                         */&lt;br /&gt;
&lt;br /&gt;
  ( function wrapTables() {&lt;br /&gt;
    document.querySelectorAll( &amp;#039;.mw-parser-output .wikitable&amp;#039; ).forEach( function ( table ) {&lt;br /&gt;
      if ( table.closest( &amp;#039;.wikitable-wrapper&amp;#039; ) ) return;&lt;br /&gt;
      var wrapper = document.createElement( &amp;#039;div&amp;#039; );&lt;br /&gt;
      wrapper.className = &amp;#039;wikitable-wrapper&amp;#039;;&lt;br /&gt;
      table.parentNode.insertBefore( wrapper, table );&lt;br /&gt;
      wrapper.appendChild( table );&lt;br /&gt;
    } );&lt;br /&gt;
&lt;br /&gt;
    mw.util.addCSS(&lt;br /&gt;
      &amp;#039;.wikitable-wrapper{overflow-x:auto;border-radius:8px;&amp;#039; +&lt;br /&gt;
      &amp;#039;border:1px solid #e4e4e4;margin-bottom:26px}&amp;#039;&lt;br /&gt;
    );&lt;br /&gt;
  }() );&lt;br /&gt;
&lt;br /&gt;
} );&lt;/div&gt;</summary>
		<author><name>Udays108</name></author>
	</entry>
</feed>