<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" >
    <channel>
        <title>Exponent CMS Blog - Tutorials, Tips &amp; Tricks </title>
        <atom:link href="http://www.exponentcms.org/blog/src/@random4d3f8288d242d" rel="self" type="application/rss+xml" />
        <description>The Exponent CMS blog features Tutorials, Tips &amp; Tricks Exponent CMS features and administrative tasks.</description>
        <link>http://www.exponentcms.org/</link>
        <lastBuildDate>Tue, 10 Feb 2026 02:16:24 -0600</lastBuildDate>
        <generator>Exponent Content Management System - 2.7.2 (Build Date: December-31-2024) (info@mypapit.net)</generator>
        <image>
            <url>http://www.exponentcms.org/themes/exp_bs3theme/images/logo.png</url>
            <title>Exponent CMS Blog - Tutorials, Tips &amp; Tricks </title>
            <link>http://www.exponentcms.org/</link>
        </image>
        <language>en_US</language>
        <pubDate>Mon, 16 Dec 2024 16:15:00 -0600</pubDate>
        <ttl>1440</ttl>
        <item>
            <title>Exponent in 2025</title>
            <link>http://www.exponentcms.org/blog/exponent-in-2025</link>
            <description>&lt;p&gt;&lt;img alt=&quot;&quot; class=&quot;image-left&quot; height=&quot;135&quot; src=&quot;/files/2025.jpg&quot; width=&quot;240&quot;&gt;What does 2025 hold in store for Exponent? There will be new releases on Jan 1st (v2.7.2 &amp; v3.0.2) with several updates. In addition to updating many 3rd party libraries, it will include:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;adds better metainfo for forms and records&lt;/li&gt;
&lt;li&gt;adds feature to add dates to an existing event&lt;/li&gt;
&lt;li&gt;adds new blog dates calendar view&lt;/li&gt;
&lt;li&gt;adds invisible reCaptcha option&lt;/li&gt;
&lt;li&gt;adds multi-column form controls&lt;/li&gt;
&lt;li&gt;adds optional titles for containers to help sorting modules&lt;/li&gt;
&lt;li&gt;adds sort items feature to dropdown control form editing&lt;/li&gt;
&lt;li&gt;removes auto updating tables on eql restore to prevent timeouts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Additionally, development will switch from v2.7.x to v3.x since v2.7.x was hobbled by support for obsolete PHP versions, whereas v3.x only supports 'supported' PHP versions (though v3.x still supports PHP v7.4 &amp; v8.0). What this also means is that in early 2025 the Git 'master' branch will switch from housing the most current v2.7 release to house the v3.0 release. However, v2.7.2 will have an archive branch on Github.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Any future updates and fixes will only be distributed for the v3.x code!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It should be noted all PHP versions prior to v8.1 are considered obsolete though many servers are still running them. The biggest issue is recent 3rd party libraries will only support newer versions of PHP (v8+). That being said, v2.7.2 will be the last Exponent version to support PHP v5 &amp; v7. Though Exponent v3.0.2 will have deprecated support for PHP v7.4 &amp; v8.0, they will likely be dropped in the future. There are NO planned patches or updates to the 2.x branch after the next release &lt;/p&gt;

&lt;table class=&quot;Table&quot;&gt;
 &lt;tbody&gt;
  &lt;tr&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td colspan=&quot;15&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;&lt;strong&gt;PHP Version&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;p&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;&lt;strong&gt;Exponent&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;5.2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;5.3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;5.4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;5.5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;5.6&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;7.0&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;7.1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;7.2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;7.3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;7.4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;8.0&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;8.1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;8.2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;8.3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;8.4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;&lt;strong&gt;3.0.2&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;3.0.1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;&lt;strong&gt;2.7.2&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;x&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;2.7.1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;2.7.0&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;2.6.0&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td rowspan=&quot;9&quot;&gt;&lt;p&gt; &lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;2.5.1p1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;2.5.0&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;2.4.2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;2.3.7&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;color:#e74c3c&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;2.3.3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;2.3.1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;2.2.1&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;2.0.7&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;2.0.0&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;text-align:center&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p style=&quot;text-align:center&quot;&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td&gt;&lt;p&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;&lt;strong&gt;x&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td colspan=&quot;10&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;span style=&quot;font-family:Aptos,sans-serif&quot;&gt;- Deprecated or Support not fully tested&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td&gt; &lt;/td&gt;
   &lt;td style=&quot;vertical-align:top&quot;&gt;&lt;p&gt; &lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Mon, 16 Dec 2024 16:15:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/exponent-in-2025</guid>
        </item>
        <item>
            <title>Exponent in 2024?</title>
            <link>http://www.exponentcms.org/blog/exponent-in-2024</link>
            <description>&lt;p&gt;&lt;img alt=&quot;&quot; class=&quot;image-left&quot; height=&quot;141&quot; src=&quot;/files/new_years_2024.jpeg&quot; width=&quot;280&quot;&gt;What does the new year hold in store for Exponent? Hard to say but implementations and usage has dropped off. There will be a patch or version release near the beginning of 2024. In addition to updating many 3rd party libraries, it will include:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;add multi-column form controls for BS 4/5&lt;/li&gt;
&lt;li&gt;add meta_fb to events so they offer the attached event image when pasted to Facebook&lt;/li&gt;
&lt;li&gt;better date sorting forms showall view&lt;/li&gt;
&lt;li&gt;add mutlti-select option for dropdown controls in form design&lt;/li&gt;
&lt;li&gt;regression fix (v271p2) site crash on older php versions due to forms coding error&lt;/li&gt;
&lt;li&gt;regression fix (v271p2) upgrade could sometimes automatically be triggered&lt;/li&gt;
&lt;li&gt;fatal error forms view with order dropdown all&lt;/li&gt;
&lt;li&gt;regression fix old file manager image editor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It should be noted all PHP versions prior to v8.1 are considered obsolete though many servers are still running them. The biggest issue is recent 3rd party libraries will only support newer versions of PHP (v8+). That being said, v2.7.2 will be the last Exponent version to support PHP v5 &amp; v7. Though Exponent v3.0.2 will have deprecated support for PHP v7.4 &amp; v8.0, they will likely be dropped in the future. There are NO planned patches or updates to the 2.x branch after the next release &lt;/p&gt;

&lt;table cellspacing=&quot;0&quot; style=&quot;border-collapse:collapse; width:464px&quot;&gt;
 &lt;tbody&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; vertical-align:bottom; white-space:nowrap; width:26px&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap; width:51px&quot;&gt; &lt;/td&gt;
   &lt;td colspan=&quot;10&quot; style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap; width:278px&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;PHP Version&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap; width:24px&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap; width:28px&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap; width:28px&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap; width:28px&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;Exponent&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;5.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;5.3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;5.4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;5.5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;5.6&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;7.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;7.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;7.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;7.3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;7.4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;8.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;8.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;8.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;8.3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;3.0.2&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;3.0.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;strong&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.7.2&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.7.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.7.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.6.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td rowspan=&quot;9&quot; style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:180px; text-align:center; vertical-align:middle; white-space:nowrap&quot;&gt;&lt;p&gt; &lt;/p&gt;

   &lt;p&gt; &lt;/p&gt;
   &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.5.1p1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.5.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.4.2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.3.7&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.3.3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.3.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.2.1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.0.7&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;2.0.0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:center; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; height:20px; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:right; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:red&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;x&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td colspan=&quot;10&quot; style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; text-align:left; vertical-align:bottom; white-space:nowrap&quot;&gt;&lt;span style=&quot;font-size:15px&quot;&gt;&lt;span style=&quot;color:black&quot;&gt;&lt;span style=&quot;font-family:Calibri,sans-serif&quot;&gt;- Deprecated or Support not fully tested&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
   &lt;td style=&quot;border-bottom:none; border-left:none; border-right:none; border-top:none; vertical-align:bottom; white-space:nowrap&quot;&gt; &lt;/td&gt;
  &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Thu, 28 Dec 2023 21:32:32 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/exponent-in-2024</guid>
        </item>
        <item>
            <title>Plans for v2.7.1patch3/v3.0.1patch3</title>
            <link>http://www.exponentcms.org/blog/plans-for-v2-7-1patch3-v3-0-1patch3</link>
            <description>&lt;p&gt;Giving you a summer forecast...the main things we'll be working on this summer should include the following of  which several will manifest itself as a patch #3:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Multi-column form controls&lt;/strong&gt; - this will only be available for Bootstrap 4 &amp; 5 and then only with standard labels (not side labels). This feature is mostly completed, but needs some testing in all scenarios before release.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cleaner checkbox and radio controls&lt;/strong&gt; - again only for Bootstrap 4 &amp; 5, but should benefit Bootstrap 3 and maybe Traditional or YUI controls. This will include an attempt to correctly display the label on the requested side of the control. We will also attempt to implement organic 'inline' controls instead of using tables and columns. Additionally an attempt to implement a 'required' option for a radio group. P.S. we added a 'required' checkbox option in v2.7.1/v3.0.1 patch #2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TinyMCE v6&lt;/strong&gt; - perhaps we'll upgrade our v5 support with the latest v6 release. Though it doesn't have as many features as v5. A reminder we added the TinyMCE v5 option in the last version.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CKEditor v5&lt;/strong&gt; - now that CKEditor v4 is 'End or Life' we should do the heavy lifting required to implement v5? Though it's a different paradigm with seemingly fewer features, it is the future. Must come up with a method to include our custom 'Insert Field' plugin!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bootstrap v5.3&lt;/strong&gt; - though just released as final and working locally, our swatches haven't been updated to add the new 'dark' mode feature yet.&lt;/li&gt;
&lt;/ul&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Thu, 01 Jun 2023 02:30:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/plans-for-v2-7-1patch3-v3-0-1patch3</guid>
        </item>
        <item>
            <title>EXPONENT IN 2023</title>
            <link>http://www.exponentcms.org/blog/exponent-in-2023</link>
            <description>&lt;p&gt;&lt;img alt=&quot;&quot; class=&quot;image-left&quot; height=&quot;180&quot; src=&quot;/files/image_20221219160646_1.png&quot; width=&quot;180&quot;&gt;Exponent is still hanging on with at least one update and a new major version planned for 2023! Some features you can expect within v2.7.1 in addition to rolling up the previous patch to 2.7.0 include:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;PHP v8.2 support&lt;/li&gt;
&lt;li&gt;activate file manager trash feature&lt;/li&gt;
&lt;li&gt;allow file manager theme selection from file manager preferences&lt;/li&gt;
&lt;li&gt;add tinymce v5 editor (functional with new tinymce v4/v5 file manager implementation)&lt;/li&gt;
&lt;li&gt;add optional selection of store home page, or page after adding item to cart&lt;/li&gt;
&lt;li&gt;update non-bs datatables views to use standard styling instead of jqueryui&lt;/li&gt;
&lt;li&gt;add object type name to db manager unserialized info&lt;/li&gt;
&lt;li&gt;update control types for better styling, includes upgrade script&lt;/li&gt;
&lt;li&gt;add/fix maintenance view countdown clock (never worked), use proper theme framework view&lt;/li&gt;
&lt;li&gt;add asc/desc to sort forms records after grouping&lt;/li&gt;
&lt;li&gt;add forms portfolio view user dropdown filter option&lt;/li&gt;
&lt;li&gt;add option to export all form columns in CSV instead of only those selected for display&lt;/li&gt;
&lt;li&gt;add smtp option to only use the smtp username as 'from' address for very strict smtp servers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some fixes in this patch will include:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;regression fix (v270p1) calendar month selector popup&lt;/li&gt;
&lt;li&gt;fix tinymce5 support in bs4/5 broken &amp; had no file manager support&lt;/li&gt;
&lt;li&gt;fix multiple issues with tinymce/tinymce5 custom configurations&lt;/li&gt;
&lt;li&gt;fix editing existing blog, filedownload, or news item (view) may crash on php v8 &lt;/li&gt;
&lt;li&gt;clean form control styling and processing, esp. bs5&lt;/li&gt;
&lt;li&gt;update expUnserialize function to include 'message' in countdownController&lt;/li&gt;
&lt;li&gt;fix multiple errors in countdownController default view and with newer smarty/php versions&lt;/li&gt;
&lt;li&gt;fix file manger root files and folders were locked for super-admins and coundn't be removed&lt;/li&gt;
&lt;li&gt;remove links from Workflow Revisions list to prevent issues&lt;/li&gt;
&lt;li&gt;(v270) regression fix Forms search cumulating records issue&lt;/li&gt;
&lt;li&gt;fix bootstrap.js v5 cdn wrong version&lt;/li&gt;
&lt;li&gt;fix extraneous datatables styles were being loaded&lt;/li&gt;
&lt;li&gt;fix turning off antispam causes views with antipam to crash (reset password, etc...)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Additionally, many 3rd party libraries will be updated.&lt;/p&gt;

&lt;p&gt;Furthermore, there will be a new major version 3.0.0alpha1 released as unstable which completely removes support for obsolete PHP versions (5.6, 7.0, 7.1, 7.2 &amp; 7.3). This deprecation will also take with it some double-versioned libraries required to support those obsolete PHP versions. Otherwise, they'll be no code changes from the 2.7.1 release except a firm requirement to run on PHP version 7.4, 8.0, 8.1, or 8.2 and a slight reduction is size.&lt;/p&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Tue, 22 Nov 2022 23:15:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/exponent-in-2023</guid>
        </item>
        <item>
            <title>Exponent in 2022</title>
            <link>http://www.exponentcms.org/blog/exponent-in-2022</link>
            <description>&lt;p&gt;&lt;img alt=&quot;&quot; class=&quot;image-left&quot; height=&quot;92&quot; src=&quot;/files/image_20220107155445_1.png&quot; width=&quot;180&quot;&gt;Exponent will see at least one update in 2022! Some features you can expect within v2.6.1 include direct integration of Twitter Bootstrap v5 and Twitter Bootstrap Icon support. PHP v8.1 support will be improved and support for obsolete PHP versions (5.6, 7.0, 71, &amp; 7.2) will likely be removed along with the extra libraries only included to support those older versions (Smarty &amp; Switftmailer).&lt;/p&gt;
</description>
            <author> Anonymous User</author>
            <pubDate>Fri, 07 Jan 2022 21:00:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/exponent-in-2022</guid>
        </item>
        <item>
            <title>Exponent in 2021</title>
            <link>http://www.exponentcms.org/blog/exponent-in-2021</link>
            <description>&lt;p&gt;&lt;img alt=&quot;&quot; class=&quot;image-left&quot; height=&quot;50&quot; src=&quot;/files/Flat_design_new_year_2021_on_transparent_background_PNG.png&quot; width=&quot;128&quot;&gt;Exponent will be updated in 2021, however support may come to an end in early 2022. The use of Exponent as a CMS seems to be waning as many site providers and previous users now opt for a proprietary or commercial applications. However some features you can expect to be integrated in v2.6.1 will include Twitter Bootstrap v5 and Twitter Bootstrap Icon support included in the main package instead of as an optional addon.&lt;/p&gt;
</description>
            <author> Anonymous User</author>
            <pubDate>Sat, 01 May 2021 15:30:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/exponent-in-2021</guid>
        </item>
        <item>
            <title>Exponent in 2020</title>
            <link>http://www.exponentcms.org/blog/exponent-in-2020</link>
            <description>&lt;p&gt;&lt;img alt=&quot;2020&quot; class=&quot;image-left&quot; height=&quot;77&quot; src=&quot;/files/FAVPNG_2020_happy_new_year_2020_happy_new_year_cwCW09qi.png&quot; width=&quot;128&quot;&gt;&lt;strong&gt;Yes, Exponent CMS is still alive and being updated. &lt;/strong&gt;Though development has taken a much slower pace, bugs are still being squashed and new features are being added. You can expect v2.5.1 to be released by the end of winter 2020 (March). This is actually a minor patch update to v2.5.0patch2, but due to the copyright being updated to 2020 it affects almost every file and would be a very large patch, therefore it'll be a full version release.&lt;/p&gt;

&lt;p&gt;What are some changes can you expect from Exponent CMS in 2020?&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Become PHP v7.4 compliant&lt;/strong&gt;...Exponent v2.5.1 will not be fully PHP v7.4 compliant and may not even run under a server using that version of PHP&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Attempt to integrate Twitter Bootstrap 5&lt;/strong&gt; when released. There is no date set for its release, but when integrated will likely move the Exponent version to 3.0.x.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Remove PHP v5.6, v7.0 and v7.1 compatibility&lt;/strong&gt;. Many 3rd party libraries no longer work under these obsolete (&lt;em&gt;unsupported and no longer updated&lt;/em&gt;) PHP versions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Become MySQL v5.7 'Strict' Mode compliant&lt;/strong&gt;. Exponent currently requires turning the default 'strict' mode of MySQL v5.7.x off or Exponent will NOT be able to create ANY new objects such as modules, items, or users. Some web providers will &lt;u&gt;not &lt;/u&gt;modify their MySQL settings to allow this. This will be a pretty labor intensive code update and may require overhauling much of the code. Therefore it may be as easy to move to a PDO database interface.&lt;/li&gt;
&lt;/ul&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <comments>http://www.exponentcms.org/blog/exponent-in-2020#exp-comments</comments>
            <slash:comments>2</slash:comments>
            <pubDate>Wed, 26 Feb 2020 17:00:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/exponent-in-2020</guid>
        </item>
        <item>
            <title>Exponent in 2018</title>
            <link>http://www.exponentcms.org/blog/exponent-in-2018</link>
            <description>&lt;p&gt;&lt;img alt=&quot;New Year 2018&quot; class=&quot;image-left&quot; height=&quot;128&quot; src=&quot;/files/bf5380387f279af82c38009c1aed0dfc.jpg&quot; width=&quot;128&quot;&gt;As we wind down 2017 and move into 2018, Exponent version 2.4.2 is being polished for release. What does the future of Exponent CMS hold in store? If you've read recent posts (&lt;a href=&quot;http://www.exponentcms.org/blog/php-and-exponent-in-2017-and-browsers-too&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.exponentcms.org/blog/integrating-bootstrap-4-into-exponent&quot;&gt;here&lt;/a&gt;), you'll get a feel for what you can expect in the next version. So how can you prepare for the next version of Exponent?&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Ensure your web server is running at least PHP version 5.5 (&lt;em&gt;though v7.x is highly recommended for speed&lt;/em&gt;) since the next version of Exponent will NOT run/upgrade on older versions of PHP since they are so obsolete. Therefore, if your web server is ancient and running a long-ago version of PHP, do NOT attempt to update/upgrade your site since it will come to a screeching halt!&lt;/li&gt;
&lt;li&gt;Decide if you still want to support obsolete browsers. We will still include the 'shims' used to support very old browsers, but that feature must be turned on, but you'll have that opportunity during the upgrade process. An additional factor is that we've moved to jQuery v3. If you still need support for older versions of jQuery, you'll also want to turn on the obsolete browser support.&lt;/li&gt;
&lt;li&gt;And though Bootstrap v4 and FontAwesome v5 won't be fully integrated, nor included with the next release (&lt;em&gt;since Bootstrap v4 hasn't been release yet itself&lt;/em&gt;), we have most of the underpinnings in place. Nonetheless, we'll have a special Christmas gift of a 'preview addon' which will give you a feel for what a Bootstrap v4 theme will look like. This MAY give you a head start into designing or converting some existing themes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a note for which supported theme frameworks align with which library versions:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Bootstrap v2 is tied to FontAwesome v3 and autoloads Normalize.css v7&lt;/li&gt;
&lt;li&gt;Bootstrap v3 is tied to FontAwesome v4 and Normalize.css v3.0.3 is integrated into Bootstrap v3&lt;/li&gt;
&lt;li&gt;Bootstrap v4 will be tied to FontAwesome v5 and an enhanced variation of Normalize.css (Reboot) in integrated into Bootstrap v4 (&lt;em&gt;all this is based on Bootstrap v4 stable not greatly changing from its beta2 release&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We wish you a Blessed 2018 and still strive to keep your Exponent web site in the modern age.&lt;/p&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Wed, 20 Dec 2017 17:10:47 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/exponent-in-2018</guid>
        </item>
        <item>
            <title>Integrating Bootstrap 4 into Exponent</title>
            <link>http://www.exponentcms.org/blog/integrating-bootstrap-4-into-exponent</link>
            <description>&lt;p&gt;T&lt;img alt=&quot;Bootstrap&quot; class=&quot;image-left&quot; height=&quot;106&quot; src=&quot;/files/bootstrap_stack.png&quot; width=&quot;126&quot;&gt;he primary theme framework for Exponent CMS is &lt;a href=&quot;http://getbootstrap.com/&quot; target=&quot;_blank&quot;&gt;Twitter Bootstrap&lt;/a&gt;, currently at version 3 (actually 3.3.7). The next Bootstrap release, version 4 should be available in the near future and is currently in the beta 2 stage. It would be good to integrate support for the Bootstrap 4 framework, but there are several obstacles:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Bootstrap 4 requires SASS/SCSS stylesheet compilation, where previous versions were based on LESS...and there is only &lt;a href=&quot;http://leafo.github.io/scssphp/&quot; target=&quot;_blank&quot;&gt;one PHP based SCSS compiler&lt;/a&gt; available which chokes on some of our needed stylesheets. However, we've developed a 'hack' to compile them on the fly.&lt;/li&gt;
&lt;li&gt;Bootstrap 4 also leans toward needing 'autoprefixer' support to add additional 'browser-specific' styles into the compiled stylesheets. There is currently no PHP based autoprefixer (&lt;em&gt;except for some which require node.js be running on the server&lt;/em&gt;). This may not be an issue since most modern browsers are supposed to be moving away from vendor specific style properties.&lt;/li&gt;
&lt;li&gt;Bootstrap 4 is a much greater departure (change) from the previous version (3) than in the past (e.g., v2 to v3). While not insurmountable, it will require updating a lot of Exponent code to produce compatible output for auto-generated form controls and menus, etc...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now having said that, preliminary support for Bootstrap 4 (beta 2) is already being integrated into Exponent, which in turn also requires a new theme. Though the initial integration at this point is limited to functional navbars/menus and chrome, it is usable (&lt;em&gt;if you can get past some of the odd styling on the page&lt;/em&gt;). It is expected this initial integration will be included in the next release of Exponent.&lt;/p&gt;

&lt;p&gt;Once Bootstrap 4 is released as final AND we have fully integrated it with a functional theme, it will be released...most likely as Exponent v3. The roadmap to Exponent v3 will also throw off the shackles created by a need to support obsolete browsers and ancient PHP versions, both of which should not be used if security is of any importance. You can expect to see the next release of Exponent (either v2.4.1patch7, v2.4.2, or v3.0.0) around the end of the year.&lt;/p&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Thu, 02 Nov 2017 22:39:30 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/integrating-bootstrap-4-into-exponent</guid>
        </item>
        <item>
            <title>PHP and Exponent in 2017 (and Browsers too)</title>
            <link>http://www.exponentcms.org/blog/php-and-exponent-in-2017-and-browsers-too</link>
            <description>&lt;p&gt;&lt;img alt=&quot;PHP Logo&quot; class=&quot;image-left&quot; height=&quot;128&quot; src=&quot;/files/php_logo1.jpg&quot; width=&quot;128&quot;&gt;This article is a follow up to &lt;a href=&quot;http://www.exponentcms.org/blog/php-and-exponent-in-2016&quot;&gt;PHP AND EXPONENT IN 2016&lt;/a&gt;. Roughly one year after that previous article, PHP development is proceeding at breakneck speeds and we have seen two minor versions pass (&lt;em&gt;though v7.2 is in release candidate status&lt;/em&gt;). Here's how it affects Exponent CMS.&lt;/p&gt;

&lt;p&gt;The current release of Exponent (v2.4.1) is compatible with PHP v5.3 through v7.1. However, it is &lt;u&gt;&lt;strong&gt;not &lt;/strong&gt;&lt;/u&gt;compatible with PHP v7.2 (&lt;em&gt;this will be corrected in the v2.4.2 release&lt;/em&gt;). The next release of Exponent (v2.4.2) will be compatible with PHP v5.5 through v7.2. We'll drop support for PHP v5.3 and v5.4 in that release because they are simply too insecure and should not be used in a production environment. And even though we will support PHP v5.5 in the next release, it is no longer recommended for production use since it was marked 'end of life' over one year ago. PHP v5.6 and v7.0 will be supported by their organization through the end of 2018, at which point only PHP v7.1 or later would be recommended. Another reason to remove old PHP version support in Exponent is that many of our 3rd party libraries simply no longer support ancient versions of PHP.&lt;/p&gt;

&lt;p&gt;While we're on the subject of obsolete software, many browser software versions have also been termed 'end of life' and it is strongly encouraged they &lt;u&gt;&lt;strong&gt;NOT &lt;/strong&gt;&lt;/u&gt;be used! This would include Internet Explorer versions less than v11 (&lt;em&gt;Edge in Windows 10 is considered Internet Explorer v12/v13&lt;/em&gt;). A beneficial side effect to this is that recommended browser versions are all now HTML5 compliant...which means that Exponent shouldn't need to use patches/tweaks to support HTML5 non-compliant browsers.Therefore, in the near future (&lt;em&gt;though not in v2.4.2&lt;/em&gt;), we will drop support for obsolete/ancient browsers, which in turn should speed up page loading a bit.&lt;/p&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <comments>http://www.exponentcms.org/blog/php-and-exponent-in-2017-and-browsers-too#exp-comments</comments>
            <slash:comments>1</slash:comments>
            <pubDate>Fri, 15 Sep 2017 13:00:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/php-and-exponent-in-2017-and-browsers-too</guid>
        </item>
        <item>
            <title>Making your Custom Theme more Accessible</title>
            <link>http://www.exponentcms.org/blog/making-your-custom-theme-more-accessible</link>
            <description>&lt;p&gt;We're recently added better 'accessibility' support to Exponent so it may be used with a screen reader. This is mandated with some public website due to the Americans with Disabilities Act. While the code shipped with Exponent v2.4.0 includes these changes, they may need to be integrated into your custom theme. Though you can check your theme/subtheme templates and custom views with the ones we ship, here are some things to look for:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The theme/subtheme templates must contain a 'language' in the html tag&lt;ul&gt;&lt;li&gt;from&lt;pre&gt;&amp;lt;html&amp;gt;&lt;/pre&gt;
to 
&lt;pre&gt;&amp;lt;html lang=&quot;&amp;lt;?php echo (substr(LOCALE,0,2)) ?&amp;gt;&quot;&amp;gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;any {img ...} tag found in any template view (.tpl file), must include a 'alt=xxx' entry&lt;/li&gt;
&lt;li&gt;any button or input area with NO label, or any with only an icon must include &lt;pre&gt; aria-label=&quot;{'button label'|gettext}&quot;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While this is not an all-encompassing list, it will get you through most of the errors that an accessibility plugin for your browser would report&lt;/p&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Sat, 03 Dec 2016 22:35:40 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/making-your-custom-theme-more-accessible</guid>
        </item>
        <item>
            <title>PHP and Exponent in 2016</title>
            <link>http://www.exponentcms.org/blog/php-and-exponent-in-2016</link>
            <description>&lt;p&gt;&lt;img alt=&quot;PHP Logo&quot; class=&quot;image-left&quot; height=&quot;128&quot; src=&quot;/files/php_logo1.jpg&quot; width=&quot;128&quot;&gt;The primary scripting language used in Exponent CMS is PHP, just as with most other CMS packages such as W***P****, J***la, and D***pal. PHP is a scripting processor running on the web server which parses the PHP scripts to perform a task or output a page. Unlike javascript which is processed within the browser on the viewer's device. PHP development has been advancing at break-neck speed over recent months, and here's how it affects Exponent CMS.&lt;/p&gt;

&lt;p&gt;Exponent CMS v2.0 was originally released supporting PHP version 5.2.1 or later, which at the time was v5.3.x. Support for PHP v5.4 was added in Exponent v2.0.7. Support for PHP v5.5 was added in Exponent v2.2.1. Support for PHP v5.6 was added in Exponent v2.3.1. Support for PHP version 5.2.x was &lt;u&gt;&lt;strong&gt;DROPPED &lt;/strong&gt;&lt;/u&gt;in Exponent v2.3.2 because several of the supporting libraries no longer supported such an old version of PHP. And support for PHP version 7.0, the current stable release was added in Exponent v2.3.7.&lt;/p&gt;

&lt;p&gt;Most site administrators have little control over which version of PHP their web host server is running, but some hosts do offer a selection within their 'control panel' settings. Therefore, you have to trust your web host provider in keeping your PHP versions up to date since many of the updates remove security vulnerabilities. PHP version 5.2.x has been obsolete for quite some time. PHP version 5.3.x was termed 'end of life' meaning it was no longer updated in August 2014. PHP version 5.4.x was termed 'end of life' September 2015 and PHP version 5.5 reached 'end of life' a few months ago. With that being said, PHP versions 5.6.x and v7.0.x are the only recommended and supported versions available, both of which will be supported until at least late 2018. PHP version 7.1.x should be released before the end of 2016 and is in beta testing now.&lt;/p&gt;

&lt;p&gt;Therefore, if you have a new enough version of Exponent to support a newer version of PHP, you should probably encourage your web host provider to move to it to prevent security attacks from harming your site or data. Furthermore, running PHP v7.0.x will give your site a tremendous speed increase because it is so much more efficient. The next version of Exponent (v2.3.9) will be released in a few days and supports PHP versions 5.3.x, 5.4.x, 5.5.x, 5.6.x, and 7.0.x and likely supports 7.1.x though testing isn't complete. You can expect Exponent to drop support for PHP v5.3.x very soon, with v5.4.x support not being provided too much longer either.&lt;/p&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Wed, 17 Aug 2016 21:15:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/php-and-exponent-in-2016</guid>
        </item>
        <item>
            <title>New Bootstrap3 Dynamic/Drag-n-Drop Form Designer</title>
            <link>http://www.exponentcms.org/blog/new-bootstrap3-dynamic-drag-n-drop-form-designer</link>
            <description>&lt;p&gt;&lt;img alt=&quot;New Form Designer&quot; class=&quot;image-left&quot; src=&quot;/files/fc1.png&quot; width=&quot;240&quot;&gt;The new v2.3.8 Patch #4 contains an updated form designer for Bootstrap 3 based themes (&lt;em&gt;sorry we're still running into issues on the non-Bootstrap 3 themes&lt;/em&gt;). This allows for much easier and quicker form creation and editing. Whereas the previous interface required going back and forth through various screens (&lt;em&gt;page loads&lt;/em&gt;), everything now takes place on the main form designer page with updates being performed in the background. What's more...the form designer looks and operates very similar to the previous version.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To add a new control to the form:&lt;/strong&gt; you simply select a control from the list of controls to the right (&lt;em&gt;or you can change the theme style to place this list on the left if you use a left sidebar&lt;/em&gt;) and drag it onto the form in the location you wish to place it. This opens a dialog on the page to enter the details about that control...or you may cancel the action to add the control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To move a control to a new location:&lt;/strong&gt; you simply select the control and drag it either up or down and drop it into it's new place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To remove a control from the form:&lt;/strong&gt; you can simply select the control and drag it into the trash can above the list of available controls. You may also remove a control by clicking on the red 'delete' button on that control.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;New Form Designer&quot; class=&quot;image-left&quot; src=&quot;/files/fd2.png&quot; width=&quot;240&quot;&gt;&lt;strong&gt;​To edit a control on the form:&lt;/strong&gt; hover over the control and click on the 'edit' button to bring up the control details.&lt;/p&gt;

&lt;p&gt;Some other new features include a button to remove the 'design grid' from the display to provide a better idea of what the form will actually look like (&lt;em&gt;this feature is also available on the non-Bootstrap 3 form designer&lt;/em&gt;). We've also added a 'switch styles' button to switch between the two basic form styles of having the label above the control or the labels to the left of the controls&lt;/p&gt;

&lt;p&gt;All in all this should be a great improvement for those users dealing with the form module.&lt;/p&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Tue, 14 Jun 2016 22:15:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/new-bootstrap3-dynamic-drag-n-drop-form-designer</guid>
        </item>
        <item>
            <title>Offline Blog Post Editing</title>
            <link>http://www.exponentcms.org/blog/offline-blog-post-editing</link>
            <description>&lt;p&gt;&lt;img alt=&quot;Writing Blog Articles&quot; height=&quot;128&quot; src=&quot;/files/Blog_Writing_For_Your_Readers.jpg&quot; style=&quot;margin:5px; float:left&quot; width=&quot;128&quot; /&gt;Exponent provides an excellent environment for writing and sharing articles or 'blogs'. &amp;nbsp;A site where the 'back-end' is on the front-end and a variety of what-you-see-is-what-you-get WYSIWYG editors take away some of the creative hassles with&amp;nbsp;writing. &amp;nbsp;Another nice convenience for writing articles which is found on other blog applications (&lt;em&gt;like WP&lt;/em&gt;), is editing the articles offline&amp;nbsp;by using an application to manage and edit multiple blog articles. &amp;nbsp;Though there was preliminary support for this feature in the v0.99beta1 release (&lt;em&gt;before v2.x&lt;/em&gt;), it has not been available to the v2.x code line...until now. &amp;nbsp;&lt;/p&gt;

&lt;p&gt;Why would you want to use a desktop application to edit articles instead of simply using the browser?&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Submitting the same or similar articles to multiple blogs or sites&lt;/li&gt;
&lt;li&gt;Simultaneously working on many draft articles (&lt;em&gt;beginning a new article while have several unfinished articles)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Not having immediate, unrestricted access to a reliable high-speed internet connection, but you have your PC&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The new offline blog editing feature will be available in the next release (&lt;em&gt;currently at v2.3.4patch1&lt;/em&gt;). &amp;nbsp;It will be turned OFF by default, but can be turned on using 'Site Configuration' under the 'Security' tab.&amp;nbsp; It has been tested with several offline blog applications (&lt;em&gt;mostly Windows based&lt;/em&gt;) such as Windows Live Writer, Zoundry Raven, Blog2Post, Windows 2007+, and ScrybeFire running in the Chrome browser. &amp;nbsp;Most of these interface with the blog site by adding an account. &amp;nbsp;This account creation process attempts to determine the type of blog, but all require the following information.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;user logon name (&lt;em&gt;with create/edit permission to a blog module&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;user password&lt;/li&gt;
&lt;li&gt;url to the blog web page - www.mysite.org/my-blog&lt;/li&gt;
&lt;li&gt;url to the blog xmlrpc interface (&lt;em&gt;blog post url&lt;/em&gt;) - www.mysite.org/xmlrpc.php&lt;/li&gt;
&lt;li&gt;type of blog - Metaweblog API (&lt;em&gt;NOT WordPress, nor Blogger, etc...)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;image/picture uploading handled by - the blog provider&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;During the process, the offline application attempt to determine the type of blog, but will likely need some assistance in completing the process. &amp;nbsp;You should be shown the list of all the blog modules on the site. &amp;nbsp;Most applications will require a separate account be created for each blog module&amp;nbsp;on the site, where others may only display the first blog module listed from the site.&lt;/p&gt;

&lt;p&gt;Many of these applications provide support for publishing the article or posting it as a draft, tags (&lt;em&gt;adding new tags or selecting from existing tags&lt;/em&gt;), categories (&lt;em&gt;adding new categories or selecting from existing ones&lt;/em&gt;), setting the article publish date, inserting graphics, boilerplate templates, downloading the site 'theme' for better offline previews,&amp;nbsp;and turning off user comments. &amp;nbsp;Some of these features require they be turned on within that blog module. &amp;nbsp;You may even be able to pull down recent or all blog posts from that blog to edit or archive.&lt;/p&gt;

&lt;p&gt;All-in-all, another tool in the Exponent CMS arsenal to assist you in maintaining and managing your web site.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Windows Live Writer&quot; src=&quot;/files/wlw.png&quot; /&gt;&lt;/p&gt;</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Sun, 07 Jun 2015 19:26:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/offline-blog-post-editing</guid>
        </item>
        <item>
            <title>eCommerce Payments</title>
            <link>http://www.exponentcms.org/blog/ecommerce-payments</link>
            <description>&lt;p&gt;&lt;img alt=&quot;Billing&quot; height=&quot;128&quot; src=&quot;/files/medical_billing_2.jpg&quot; style=&quot;margin:5px; float:left&quot; width=&quot;128&quot; /&gt;The goal of this article is to help better&amp;nbsp;understand how 'payments' operate within the Exponent eCommerce system. &amp;nbsp;'Payments' are used to virtualize&amp;nbsp;an online cash transaction for goods (&lt;em&gt;products&lt;/em&gt;) or services (&lt;em&gt;event registration or donation&lt;/em&gt;). &amp;nbsp;There are basically two (2) types of payment systems called&amp;nbsp;'billing calculators' within Exponent:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Those which handle the entire transaction online through a 3rd party which charges for their service&amp;nbsp;(&lt;em&gt;such as Authorize.net, WorldPay, and PayPal&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Those which record a payment due where the transaction&amp;nbsp;must be accomplished outside of Exponent...which may or may not charge for their service&amp;nbsp;(&lt;em&gt;such as cash/check, credit card, and bill me&lt;/em&gt;)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In most cases, we would only want to offer one (1) online payment option if we conduct all our business online, or perhaps a 2nd option if we also handle business directly with a customer at a brick-and-mortar location where the customer can pay when they arrive at the location for the event or to pick up the product.&lt;/p&gt;

&lt;p&gt;Though no explanation should be necessary for handling and processing cash or checks, the '&lt;strong&gt;cash/check&lt;/strong&gt;' and '&lt;strong&gt;pass-thru&lt;/strong&gt;' payment options are designed for 'point of sale' type transactions by an employee of the merchant. &amp;nbsp;Perhaps the best method to allow customers to pay by cash or check possibly by mail, or to use a credit card when they show up is to use the '&lt;strong&gt;bill me later&lt;/strong&gt;' payment option. &amp;nbsp;If we wish to allow payment online by credit card and already have a service for processing credit card transactions, we could use the '&lt;strong&gt;credit card&lt;/strong&gt;' payment option.&lt;/p&gt;

&lt;p&gt;If we want to have the entire payment not only recorded but processed online, we'd need to use one of the other payment options. &amp;nbsp;All of those options charge a fee for their services, though PayPal Express only charges per transaction instead of a&amp;nbsp;monthly fee like the others. &amp;nbsp;ALL types of credit card or bank debit payments are transacted using several steps:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Authorization &lt;/strong&gt;- places a hold on a specified amount of funds, usually the total cost of the order (+- 15%) for 3 days. &amp;nbsp;However, the money is not transferred from the customer to the merchant. &amp;nbsp;You may have seen this occur when you make a purchase which initially appears as a $1 charge, but later changes to the full amount.
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Void&amp;nbsp;&lt;/strong&gt;- cancels out the remainder of a funds 'authorization'. &amp;nbsp;If the authorization has already be partially 'captured' (or paid out), the 'void' action will simply close the authorization out.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Capture &lt;/strong&gt;- moves a specified amount of funds from the customer to the merchant. &amp;nbsp;This amount may or may not be the total of the entire order, such as a segmented shipment of an order due to some items being out of stock requiring two shipments. &amp;nbsp;Each 'capture' must usually be specifically authorized, and in most cases, the amount captured may or may not equal the amount originally authorized. &amp;nbsp;E.g., the shipping cost of the order was slightly more/less than what appeared at checkout and the exact cost was charged to the customer.&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Refund &lt;/strong&gt;- transfers previously 'captured' funds from the merchant back to the customer&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Others &lt;/strong&gt;- there are some other actions which can take place such as:&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Order &lt;/strong&gt;- simply earmarks a future 'Authorization' by collecting the customer information, no 'hold' is placed on the funds and they may not exists.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reauthorization &lt;/strong&gt;- allows extending an 'Authorization' by 3 days (to a maximum of 30 days) or allowing a 2nd 'Capture' against the 'Authorization.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We'll primarily use the PayPal Express (PPE) payment option as an example here&amp;nbsp;since it's the easiest full-featured one to use, which offers a good place to start. &amp;nbsp;PPE offers three (3) 'Processing Modes'. &amp;nbsp;1) Sale, 2) Authorization, and 3) Order. &amp;nbsp;&lt;/p&gt;

&lt;p&gt;The recommended mode is '&lt;strong&gt;Sale&lt;/strong&gt;' which automatically &lt;u&gt;authorizes and immediately captures&lt;/u&gt; the entire amount of the order when it is submitted. &amp;nbsp;This works well since it doesn't require additional actions or monitoring on the part of the merchant, but it also implies the merchandise is 'in stock' and will be shipped very quickly. &amp;nbsp;However in larger companies, it might be more prudent to only charge the customer (&lt;em&gt;capture funds&lt;/em&gt;) once the merchandise is shipped, and then only for those items actually shipped. &amp;nbsp;The 'Sale' mode doesn't allow for this although you could simulate it by issuing a partial refund. &amp;nbsp;When managing the order, you'll note the 'Refund' button with an area to enter the amount&amp;nbsp;on the invoice 'Billing' area.&lt;/p&gt;

&lt;p&gt;A better approach might be to use the '&lt;strong&gt;Authorization&lt;/strong&gt;' or 'Order' modes where the funds are manually 'captured' when the items are shipped. &amp;nbsp;Since we can't initiate an 'Authorization' from within Exponent (&lt;em&gt;in the current release&lt;/em&gt;), we don't currently recommend using the 'Order' mode (&lt;em&gt;Though this can be accomplished on the PayPal site&lt;/em&gt;). &amp;nbsp;In 'Authorization' mode, the amount is 'authorized' when the order is submitted. &amp;nbsp;If you pull up the order, you note a 'Capture' button with an area to enter the amount and 'Void' button on the invoice 'Billing' area. &amp;nbsp;The order processing sequence would work like:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;new order submitted/received (&lt;em&gt;funds are 'authorized' and placed on hold for 3 day&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;order review begins (&lt;em&gt;status set to 'processing' with a optional email sent to the customer&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;order is sent to 'warehouse' for packaging, order items are retrieved and&amp;nbsp;boxed, and the box weighed (&lt;em&gt;status set to 'sent to warehouse&lt;/em&gt;')&lt;ul&gt;&lt;li&gt;package data used to create/purchase shipping label and get a shipment tracking id&lt;/li&gt;
&lt;li&gt;shipping label applied to package, then picked up by carrier&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;total cost of the order is 'captured' from the order invoice,&amp;nbsp;since the funds were previously authorized (&lt;em&gt;placed on hold)&lt;/em&gt;&lt;ul&gt;&lt;li&gt;shipping date &amp;amp; tracking id entered into the invoice (&lt;em&gt;status set to 'order has been shipped' with an optional email set to the customer&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;the order has been 'fulfilled' at this point&lt;/li&gt;
&lt;li&gt;if a 'return' is required, a full or partial 'refund' can be issued from the order invoice (&lt;em&gt;once the returned item is received?&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Though perhaps not a full-fledged 'how to conduct e-commerce article, this information may help you better understand how ecommerce billing works and encourage you to 'take the plunge' into the icy waters of e-commerce.&lt;/p&gt;</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Sun, 07 Jun 2015 19:26:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/ecommerce-payments</guid>
        </item>
        <item>
            <title>Theming with Twitter Bootstrap version 3 - Part 3</title>
            <link>http://www.exponentcms.org/blog/theming-with-twitter-bootstrap-version-3-part-3</link>
            <description>&lt;p&gt;&lt;img alt=&quot;Twitter Bootstrap 3&quot; height=&quot;90&quot; src=&quot;http://www.exponentcms.org/files/bootstrap.jpeg&quot; style=&quot;margin-right:5px; float:left&quot; width=&quot;120&quot; /&gt;(&lt;em&gt;Corrected May 5, 2014&lt;/em&gt;)&amp;nbsp;Recently, Google changed the way they rank search hits by elevating those from 'mobile friendly' web sites and lowering those which are not mobile friendly. &amp;nbsp;To be 'mobile friendly' your web site must conform to modern standards (HTML5) AND must be small device and 'touch friendly'&amp;nbsp;...meaning the page is viewable on a small screen and the buttons/links have some space/distance between them for 'fat fingers. &amp;nbsp;The easiest way to make your Exponent CMS site 'mobile friendly' is to switch or update to a Twitter Bootstrap 3 based theme. &amp;nbsp;Exponent CMS allows&amp;nbsp;you to do this in just a matter of minutes.&lt;/p&gt;

&lt;p&gt;The easiest (&lt;em&gt;and most obvious&lt;/em&gt;) &amp;nbsp;method is to simply switch to the included 'bootstrap3theme'. &amp;nbsp;This would immediately ensure your web site is 'mobile friendly.' &amp;nbsp;In most cases, the content of you web site will remain unchanged, though some custom theme elements in the header, footer, and sidebar may not appear if you&amp;nbsp;were using a non-standard 'source' name within the previous custom theme. &amp;nbsp;In its stock form, the&amp;nbsp;bootstrap3theme is well, plain.&lt;/p&gt;

&lt;p&gt;The next level of customization&amp;nbsp;would be to 'customize' the shipped theme using the 'Configure' button found with the theme on the 'Manage Themes' page. &amp;nbsp;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;We offer a dozen or so different theme styles which offer a variety of colors, fonts, and styles&lt;/li&gt;
&lt;li&gt;You could spice up the look with some 'flair' to the widgets&amp;nbsp;by selecting the 'Bootstrap v2 Styles' setting which will give them a slight 3d effect&lt;/li&gt;
&lt;li&gt;You could choose a 'fluid' width which would make the content fill almost the entire width of the display or browser width. &amp;nbsp;'Fixed' width limits the overall width of the content.&lt;/li&gt;
&lt;li&gt;You can also select&amp;nbsp;the 'size' of the buttons, location of the main menu (navbar), whether the navbar is aligned to the left or right side of the page, whether the flyout sidebar container is displayed,&amp;nbsp;and a couple of tweaks to adjust how the main navbar is displayed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The only drawbacks thus far are: 1) the theme and its 'configuration' will be overwritten the next time you update the site software&amp;nbsp;with a new version since you are using a 'shipped theme', and 2) the basic Twitter Bootstrap themes are somewhat lacking in 'flash'.&lt;/p&gt;

&lt;p&gt;Therefore the next level of customization would be to create a custom version of the shipped bootstrap3theme. &amp;nbsp;The documentation for creating a custom theme is found &lt;a href=&quot;http://docs.exponentcms.org/docs/custom-theme-tutorial&quot;&gt;here&lt;/a&gt;. &amp;nbsp;A quick overview would&amp;nbsp;be &amp;nbsp;to&amp;nbsp;copy the entire /themes/bootstrap3theme folder into a new folder with a different name. &amp;nbsp;We'll say 'customtheme' for example and ensure we update the new custom theme's 'class.php' file to reflect the new theme's real name. &amp;nbsp;Once this complete, you'll need to select your new 'customtheme' from the Manage Themes page. &amp;nbsp;At this point your site will be identical to the previous step, but will not longer be in jeopardy of replacement when updating the site software version. &amp;nbsp;If you want to place the custom theme swatch files within your custom theme for further customization, you will need to:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Copy the .less files from the selected theme style which is found in /external/bootstrap3/less/'theme style name'. &amp;nbsp;You should find two files here...variables.less and bootswatch.less&lt;/li&gt;
&lt;li&gt;WARNING! You MUST edit the new variables.less file which will fill in any missing, but essential variables:&lt;ul&gt;&lt;li&gt;Add the following line &lt;u&gt;&lt;strong&gt;to the TOP&lt;/strong&gt;&lt;/u&gt; of the new custom variables.less file&lt;ul&gt;&lt;li&gt;&lt;code&gt;@import &amp;quot;../../../external/bootstrap3/less/variables.less&amp;quot;;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The 'merge' the contents of the existing 'variables.less' file &lt;u&gt;&lt;strong&gt;to the BOTTOM&lt;/strong&gt;&lt;/u&gt;&amp;nbsp;of the custom theme variables.less file to ensure any custom navbar 'collapse' width is followed. &amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEXT you MUST also insert the following line at the top of the 'bootswatch.less' file to get it to compile correctly&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;@import &amp;quot;variables.less&amp;quot;;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Then if you want to make some subtle color changes, you can use a site like&amp;nbsp;&lt;a href=&quot;http://bootswatchr.com/&quot;&gt;bootswatchr.com&lt;/a&gt;&amp;nbsp;which will let you copy in your 'variables.less' file and allow you to edit it with instant feedback on color changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's it, you now have a custom 'mobile friendly' web site. &amp;nbsp;Next time we'll dig a bit more deeply (and spend more time) to customize the theme to look 'less plain.'&lt;/p&gt;</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Fri, 01 May 2015 03:07:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/theming-with-twitter-bootstrap-version-3-part-3</guid>
        </item>
        <item>
            <title>Basic Theme Framework Concepts</title>
            <link>http://www.exponentcms.org/blog/basic-theme-framework-concepts</link>
            <description>&lt;p&gt;&lt;img alt=&quot;Bootstrap 3&quot; height=&quot;90&quot; src=&quot;http://www.exponentcms.org/files/bootstrap.jpeg&quot; style=&quot;margin-right:5px; float:left&quot; width=&quot;120&quot; /&gt;A '&lt;strong&gt;theme framework&lt;/strong&gt;' is a tool or library of stylesheets and javascript code which help&amp;nbsp;a web designer more efficiently create a stylish web site. In most cases they allow for effectively sectioning off&amp;nbsp;a page using styles instead of tables.&amp;nbsp;They also include code to easily create the different user interface 'widgets' and utilities which&amp;nbsp;would otherwise take a lot of code (&lt;em&gt;e.g. time&lt;/em&gt;) to produce. &amp;nbsp;Exponent CMS currently contains built-in support for two (2) different theme frameworks: 1) Yahoo User Interface (or &lt;strong&gt;YUI&lt;/strong&gt;), and 2) Twitter Bootstrap (or &lt;strong&gt;Bootstrap&lt;/strong&gt;). &amp;nbsp;And within each of these frameworks we include two (2) versions. &amp;nbsp;The question is 'which one to use?'&lt;/p&gt;

&lt;p&gt;First, we'll cover some definitions which relate to the goals of each of these theme frameworks:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Fixed&lt;/strong&gt; - this term relates to a&amp;nbsp;section (&lt;em&gt;page, column, etc...&lt;/em&gt;) having a 'fixed' width in terms of &lt;strong&gt;pixels&lt;/strong&gt;. &amp;nbsp;Regardless of the size of the display (&lt;em&gt;this includes the width of the browser window when resized&lt;/em&gt;), the section is the same size. &amp;nbsp;A fixed section may have to be 'zoomed' in order to be fully displayed on the screen, and then the size of the text may be unreadable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fluid&lt;/strong&gt; - this term relates to a section having a 'fluid' width in terms of &lt;strong&gt;percentage&lt;/strong&gt; of the parent section. &amp;nbsp;When the size of the parent container changes, the 'fluid' section will change. &amp;nbsp;A fluid section inside a fixed section would appear to be fixed, but could adjust based on the style used for that parent section.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grids&lt;/strong&gt; - this term relates to using html 'div' containers&amp;nbsp;to section off a web page layout, instead of having to use html tables (&lt;em&gt;which at this point in time is an ancient concept&lt;/em&gt;). &amp;nbsp;Most web pages have many grids, especially to make headers, columns, navigation areas, etc... for the page layout. &amp;nbsp;In other words, to keep the entire page from acting as if it were a single block of text.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Responsive&lt;/strong&gt; - this term relates to the page layout (&lt;em&gt;automatically&lt;/em&gt;)&amp;nbsp;adjusting itself based on the size of the display (&lt;em&gt;whether&amp;nbsp;due to the physical size of the screen or width of the browser window&lt;/em&gt;). &amp;nbsp;Of these four definitions, this is 'the goal' for being able to present content to a visitor to your web site. &amp;nbsp;Imagine browsing to a web page on your smart phone, where the entire page is displayed&amp;nbsp;but it is so small it is unintelligible...enter 'responsive' web site styling.&amp;nbsp;&amp;nbsp;In days past, web designers were required to create two different web sites to provide content to both small handheld devices and desktop pc's. &amp;nbsp;Exponent provides built-in support for using two different types of sub-themes &amp;nbsp;based on whether a device is small or large (&lt;em&gt;mobile theme variations&lt;/em&gt;), but that still requires creating two page layout designs. &amp;nbsp;'Responsive' styling allows a single page layout to provide&amp;nbsp;the best information display to the user regardless of the size of display being used.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A&amp;nbsp;basic rundown of the five (5) available frameworks (&lt;em&gt;we'll count 'NO' theme framework as one&lt;/em&gt;)&amp;nbsp;included in Exponent are:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;YUI2&lt;/strong&gt; - has been deprecated since 2011 and was the primary framework used in Exponent v0.9x.. &amp;nbsp;The styles allow for both fixed and fluid grids, but they are not responsive. &amp;nbsp;It also provides many widgets from its own javascript code library. &amp;nbsp;
&lt;ul&gt;&lt;li&gt;YUI3 based widgets are automatically&amp;nbsp;displayed, since we've replaced&amp;nbsp;all the&amp;nbsp;YUI2&amp;nbsp;javascript&amp;nbsp;code&amp;nbsp;(&lt;em&gt;as of about v2.3.0&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;To use the YUI2 grids, you must specially load the stylesheet &lt;code&gt;'YUI2_RELATIVE.&amp;quot;yui2-reset-fonts-grids/yui2-reset-fonts-grids.css&amp;quot;'&amp;nbsp;&lt;/code&gt;in your&amp;nbsp;expTheme::head();.&amp;nbsp;YUI2 grids typically use a class&amp;nbsp;name&amp;nbsp;with&amp;nbsp;a 'yui-' prefix and provide both fixed and fluid variations&lt;/li&gt;
&lt;li&gt;Though we don't recommend creating new custom themes based on&amp;nbsp;YUI2, there is an example theme named 'basetheme' &amp;nbsp;based on&amp;nbsp;YUI2&amp;nbsp;available&amp;nbsp;&lt;a href=&quot;https://sourceforge.net/projects/exponentcms/files/&quot;&gt;here&lt;/a&gt;. &amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;YUI3&lt;/strong&gt;&amp;nbsp;- is no longer supported by Yahoo, but is still being maintained. &amp;nbsp;It was the primary framework used in Exponent v2.x until v2.2.0. &amp;nbsp;The styles allow for both fixed, but mostly fluid grids, and more recently (&lt;em&gt;since v2.2.0&lt;/em&gt;)&amp;nbsp;allows for minimal &lt;a href=&quot;http://yuilibrary.com/yui/docs/cssgrids/#responsive&quot;&gt;'responsive' support&lt;/a&gt;.&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;rangySelectionBoundary&quot; id=&quot;selectionBoundary_1427557330589_3330483874306083&quot; style=&quot;line-height: 0; display: none;&quot;&gt;﻿&lt;/span&gt;YUI3 based widgets are automatically&amp;nbsp;displayed. &amp;nbsp;To display jQuery&amp;nbsp;library based widgets&amp;nbsp;(&lt;em&gt;if they are available&amp;nbsp;instead of YUI3&lt;/em&gt;), you can set the theme framework to 'jquery' in&amp;nbsp;your&amp;nbsp;expTheme::head(); (&lt;em&gt;which also automatically loads the&amp;nbsp;jQuery&amp;nbsp;javascript&amp;nbsp;library&lt;/em&gt;). &amp;nbsp;You can also display Bootstrap 3 based widgets (&lt;em&gt;including the&amp;nbsp;Exponent and module menus&lt;/em&gt;)&amp;nbsp;by setting a config.php constant named 'NEWUI'.&lt;/li&gt;
&lt;li&gt;To use YUI3 grids, you must specially load the stylesheet&amp;nbsp;'YUI3_RELATIVE.&amp;quot;cssgrids/cssgrids-min.css&amp;quot;'&amp;nbsp;in your&amp;nbsp;expTheme::head();.&amp;nbsp;&amp;nbsp;YUI3 grids typically use a class&amp;nbsp;name&amp;nbsp;with a 'yui3-u-'&amp;nbsp;prefix.&lt;/li&gt;
&lt;li&gt;Though we don't recommend creating new custom themes based on&amp;nbsp;YUI3, we ship&amp;nbsp;an example theme named 'simpletheme' &amp;nbsp;based on&amp;nbsp;YUI3. &amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bootstrap 2&lt;/strong&gt; - was originally shipped with Exponent v2.2.0. &amp;nbsp;The styles allow for both fixed and fluid grids with &lt;a href=&quot;http://getbootstrap.com/2.3.2/scaffolding.html#responsive&quot;&gt;some responsive support&lt;/a&gt;. &amp;nbsp;The typical grid system uses 12 columns. &amp;nbsp;To use the Bootstrap 2 theme framework, set it to 'bootstrap' in your&amp;nbsp;expTheme::head();&lt;ul&gt;&lt;li&gt;Bootstrap 2 based widgets are automatically displayed (&lt;em&gt;using&amp;nbsp;jquery or YUI3 widgets if Bootstrap 2 ones are not available&lt;/em&gt;). &amp;nbsp;The Exponent and module menus are still YUI based. &amp;nbsp;Bootstrap 2 widgets use the jQuery library, but are written to support Bootstrap 2 styling.&lt;/li&gt;
&lt;li&gt;Bootstrap 2&amp;nbsp;grids are automatically available with responsive support and columns&amp;nbsp;typically use a class&amp;nbsp;name&amp;nbsp;with a 'span'&amp;nbsp;prefix.&lt;/li&gt;
&lt;li&gt;We also automatically provide Font Awesome v3.x support with icons having an 'icon-' prefix.&lt;/li&gt;
&lt;li&gt;Since Bootstrap 2 has reached 'end of life', we don't recommend it for new custom themes, however we ship an example theme named 'bootstraptheme' based on Bootstrap 2.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bootstrap 3&lt;/strong&gt; - is the current recommended theme framework for Exponent and has been available since v2.3.0. &amp;nbsp;Like Bootstrap 2 it's grid system uses 12 columns, but allows for &lt;a href=&quot;http://getbootstrap.com/css&quot;&gt;fully 'responsive'&lt;/a&gt; web designs since it is 'mobile first'. &amp;nbsp;Each grid may be 'classed' as to how it should display on various sized devices (&lt;em&gt;large widescreen desktops, medium desktops, tablets, and smart phones&lt;/em&gt;). &amp;nbsp;&amp;nbsp;&amp;nbsp;To use the Bootstrap 3&amp;nbsp;theme framework, set it to 'bootstrap3' in&amp;nbsp;your&amp;nbsp;expTheme::head();&lt;ul&gt;&lt;li&gt;Bootstrap 3&amp;nbsp;based widgets are automatically displayed (&lt;em&gt;using Bootstrap 2,&amp;nbsp;jquery,&amp;nbsp;or&amp;nbsp;YUI3&amp;nbsp;widgets, in that order if Bootstrap 3&amp;nbsp;ones are not&amp;nbsp;available&lt;/em&gt;). &amp;nbsp;Bootstrap 3 widgets use the jQuery code library, but are written to support Bootstrap 3&amp;nbsp;styling.&lt;/li&gt;
&lt;li&gt;Bootstrap 3&amp;nbsp;grids are automatically available with responsive support and columns&amp;nbsp;typically use a class&amp;nbsp;name&amp;nbsp;with a 'col-'&amp;nbsp;prefix.&lt;/li&gt;
&lt;li&gt;We also automatically provide Font Awesome v4.x support with icons having an 'fa-' prefix.&lt;/li&gt;
&lt;li&gt;Bootstrap 3 is the recommended theme framework and we ship an example theme named 'bootstrap3theme' based on Bootstrap 3.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No framework&lt;/strong&gt; - you are not required to use a theme framework for a custom theme in Exponent CMS. &amp;nbsp;In fact most web theme templates can be converted for use in Exponent (&lt;a href=&quot;http://docs.exponentcms.org/docs/custom-theme-tutorial-2&quot;&gt;see this article&lt;/a&gt;)&lt;ul&gt;&lt;li&gt;YUI3&amp;nbsp;based widgets are automatically&amp;nbsp;displayed. &amp;nbsp;To display&amp;nbsp;jQuery&amp;nbsp;library based widgets&amp;nbsp;(&lt;em&gt;if they are available&amp;nbsp;instead of&amp;nbsp;YUI3&lt;/em&gt;), you can set the theme framework to 'jquery' in&amp;nbsp;your&amp;nbsp;expTheme::head(); (&lt;em&gt;which also automatically loads the jQuery javascript library&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you have already developed a custom theme for Exponent, you may want to stick with a known quantity and use that&amp;nbsp;familiar theme framework. &amp;nbsp;However, if your just starting a custom theme, we'd recommend using Bootstrap 3. &amp;nbsp;Though we will continue to include,&amp;nbsp;support, &lt;em&gt;and fix&lt;/em&gt;&amp;nbsp;the&amp;nbsp;YUI2, YUI3, and Bootstrap 2 theme frameworks, in the future most of the new features will emphasize Bootstrap 3.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; For details about building a custom theme for Exponent CMS or about how themes work, please visit our help/documentation pages found &lt;a href=&quot;http://docs.exponentcms.org/designer-documentation&quot;&gt;here&lt;/a&gt;. &amp;nbsp;Details about the expTheme::head() method are found &lt;a href=&quot;http://docs.exponentcms.org/docs/header-info&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Sat, 28 Mar 2015 17:03:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/basic-theme-framework-concepts</guid>
        </item>
        <item>
            <title>Where, Oh Where Has My Little Script Gone...</title>
            <link>http://www.exponentcms.org/blog/where-oh-where-has-my-little-script-gone</link>
            <description>&lt;p&gt;&lt;img alt=&quot;Scripting&quot; height=&quot;48&quot; src=&quot;/files/code_512.png&quot; style=&quot;float:left&quot; width=&quot;48&quot; /&gt;...oh where, oh where can it be! &amp;nbsp;Was your web site running a script that has seemed to stop working (&lt;em&gt;or no longer even appears in the content&lt;/em&gt;) since your upgrade to v2.3.1 (&lt;em&gt;or one of the v2.1.4 or v2.2.3 security patches&lt;/em&gt;)? &amp;nbsp;Well&amp;nbsp;on the 'plus' side, that means the security fix is working, but that's not what you wanted to hear. &amp;nbsp;To help eliminate possible site security issues which could be caused by script injections, we now strip all content of any 'script' tags EXCEPT within Code Snippet modules. &amp;nbsp;Therefore, if you had embedded a script such as Google Analytics or similar within a Text module, it is now&amp;nbsp;stripped out before saving or displaying. &amp;nbsp;What you'll need to do is either embed the script directly within the theme/subtheme template file (&lt;em&gt;e.g., v2.3.3 now allows calling a script or code directly from the &lt;a href=&quot;http://docs.exponentcms.org/docs/2.3.3/footer-info&quot;&gt;expTheme::foot()&lt;/a&gt; call&lt;/em&gt;) or use a Code Snippet module on the page.&lt;/p&gt;</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Tue, 03 Mar 2015 19:50:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/where-oh-where-has-my-little-script-gone</guid>
        </item>
        <item>
            <title>Theming with Twitter Bootstrap version 3 - Part 2</title>
            <link>http://www.exponentcms.org/blog/theming-with-twitter-bootstrap-version-3-part-2</link>
            <description>&lt;p&gt;&lt;img alt=&quot;Mobile First&quot; height=&quot;90&quot; src=&quot;http://www.exponentcms.org/files/bootstrap.jpeg&quot; width=&quot;120&quot;&gt;In the &lt;a href=&quot;/blog/themeing-with-twitter-bootstrap-version-3&quot;&gt;first article&lt;/a&gt;, I explained some of the basics of creating a Twitter Bootstrap 3 (BS3) based theme for Exponent.  In this article I'll attempt to alleviate some of the myths or quirks associated with BS3 that may be delaying your move to use this versatile framework for your next custom theme.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Myth #1 &lt;/strong&gt;- &lt;u&gt;BS3 themes are limited to a one page design&lt;/u&gt; - &lt;em&gt;&lt;strong&gt;NOT TRUE&lt;/strong&gt;&lt;/em&gt;.  While many of the examples found across the internet are limited to one (&lt;em&gt;possibly&lt;/em&gt;) long page with a menu of relative links on the page, you can still use the multi-page approach Exponent has used in the past.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Myth #2&lt;/strong&gt; - &lt;u&gt;BS3 themes must have the fixed menu (&lt;em&gt;navbar&lt;/em&gt;) always displayed at the top of each window&lt;/u&gt; - &lt;em&gt;&lt;strong&gt;NOT TRUE&lt;/strong&gt;&lt;/em&gt;.  Again, while many examples on the internet follow this approach, our sample BS3 theme (bootstrap3theme) provides the option of 'static top' (&lt;em&gt;stays at the top of the content and will scroll out of view&lt;/em&gt;), 'fixed bottom' (&lt;em&gt;always displayed at the bottom of the window&lt;/em&gt;), or 'fixed top' (&lt;em&gt;always displayed at the top of the window&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Additionally&lt;/strong&gt;, you may &lt;u&gt;place a banner above the navbar&lt;/u&gt; using one of the techniques found &lt;a href=&quot;http://stackoverflow.com/questions/19028299/bootstrap-putting-content-banner-above-the-fixed-top-navbar&quot;&gt;here&lt;/a&gt;.  You are not limited to generic sort of layout.  Some example non-Exponent themes can be found at:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://startbootstrap.com/&quot;&gt;Start Bootstrap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://bootstrapzero.com/&quot;&gt;Bootstrap Zero&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.prepbootstrap.com/&quot;&gt;Prep Bootstrap&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Quirk #1&lt;/strong&gt; - &lt;u&gt;BS3 navbars are limited to children only (&lt;em&gt;depth of two&lt;/em&gt;) and no grandchildren (&lt;em&gt;depth of three or more&lt;/em&gt;)&lt;/u&gt; - While we support multi-level navbars of any depth, this will NOT work with touch devices (&lt;em&gt;grandchildren are only displayed on 'hover'&lt;/em&gt;), nor with the 'collapsed' menu provided on small devices (&lt;em&gt;or small width browser windows&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quirk #2&lt;/strong&gt; - &lt;u&gt;Not everything is 'touch' enabled&lt;/u&gt; - Though we're working inside Exponent to alleviate (&lt;em&gt;work-around&lt;/em&gt;) this, some elements like the 'carousel' are not 'touch' enabled, in addition to the aforementioned multi-level menus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quirk #3&lt;/strong&gt; - &lt;u&gt;The site looks slightly different on different sized devices or different browser widths&lt;/u&gt; - This is actually a feature, NOT a problem.  With BS3 you won't need to develop a complex stylesheet based on media queries, nor have separate mobile subthemes (&lt;em&gt;a feature of Exponent documented &lt;a href=&quot;http://docs.exponentcms.org/docs/mobile-theme-variation&quot;&gt;here&lt;/a&gt;&lt;/em&gt;).  Since BS3 is 'mobile first' it makes it simpler to desing a web site style and layout which works equally well on large (desktop) or small (smartphone) displays.&lt;/p&gt;

&lt;p&gt;Hopefully, this has alleviated some of your fears in pressing forward into the Bootstrap era.  I do still plan to write another article/tutorial on converting an open-source/free BS3 theme (&lt;em&gt;from one of the sites listed above&lt;/em&gt;) into an Exponent theme, which may be a greater incentive to take the plunge.&lt;/p&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <comments>http://www.exponentcms.org/blog/theming-with-twitter-bootstrap-version-3-part-2#exp-comments</comments>
            <slash:comments>1</slash:comments>
            <pubDate>Fri, 29 Aug 2014 14:15:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/theming-with-twitter-bootstrap-version-3-part-2</guid>
        </item>
        <item>
            <title>Theming with Twitter Bootstrap version 3</title>
            <link>http://www.exponentcms.org/blog/themeing-with-twitter-bootstrap-version-3</link>
            <description>&lt;p&gt;&lt;img alt=&quot;Twitter Bootstrap 3 - MObile First&quot; height=&quot;90&quot; src=&quot;/files/bootstrap.jpeg&quot; style=&quot;float:left&quot; width=&quot;120&quot; /&gt;Twitter Bootstrap version 3 (&lt;a href=&quot;http://getbootstrap.com&quot;&gt;BS3&lt;/a&gt;) is becoming&amp;nbsp;the user interface framework library&amp;nbsp;of choice for Exponent CMS. &amp;nbsp;Though initially shipped with Exponent v2.3.0, that&amp;nbsp;BS3 implementation&amp;nbsp;was still lacking some refinement, and wasn't&amp;nbsp;fully implemented across the entire user interface. &amp;nbsp;This has been somewhat remedied by the first three patches to v2.3.0, and will be even more-so in the upcoming patch #4 release. &amp;nbsp;In this article I'll attempt to share some of the basics of how to create a Twitter Bootstrap 3 custom theme.&lt;/p&gt;

&lt;p&gt;First off, this is NOT an introduction to using Twitter Bootstrap 3&amp;nbsp;or it's grids, nor understanding what 'mobile first' or 'responsive' means. &amp;nbsp;There are several tutorials on the web including this &lt;a href=&quot;http://blog.jetstrap.com/2013/08/bootstrap-3-grids-explained/&quot;&gt;one&lt;/a&gt;. &amp;nbsp;However, we won't avoid those topics as we focus on Exponent CMS theming specifics as they apply to using BS3.&lt;/p&gt;

&lt;p&gt;We ship a BS3 sample theme with Exponent v2.3.0 appropriately named 'bootstrap3theme'. &amp;nbsp;Since the release of v2.3.0 we have tweaked this theme (&lt;em&gt;as we said we would&lt;/em&gt;), therefore the one being included in v2.3.0 patch #4 has some changes from the one included in the initial release. &amp;nbsp;This article assumes you have access to those&amp;nbsp;sample theme files and can use it as a starting point. &amp;nbsp;Eventually I may also publish&amp;nbsp;a second part&amp;nbsp;to this article to walk you through converting an existing open source BS3 theme template for use as an Exponent template (&lt;em&gt;with the purpose of it being added to the help/doc site&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;When you examine the &lt;code&gt;/themes/bootstrap3theme/index.php&lt;/code&gt; default theme template, you'll note several Exponent specific things in the 'head' section with the&amp;nbsp;&lt;code&gt;expTheme::head()&lt;/code&gt;&amp;nbsp;parameters:&amp;nbsp;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;the '&lt;code&gt;framework&lt;/code&gt;' parameter is set to '&lt;code&gt;bootstrap3&lt;/code&gt;'. &amp;nbsp;This automatically ensures we are loading the BS3 stylesheets, jQuery script, and 'prefer' the '.bootstrap3' view template variation (&lt;em&gt;which includes any form control or template engine plugin variations&lt;/em&gt;)&amp;nbsp;if available.
&lt;ul&gt;&lt;li&gt;BS3 scripts are never automatically loaded, but must be requested by the expJavascript::pushToFoot() call or the theme template {script} smarty function using the 'bootstrap=' parameter. &amp;nbsp;This parameter works just like the 'yui3mods' and 'jquery' parameters.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;there are no 'reset' scripts being loaded. &amp;nbsp;The new standard css reset script,&amp;nbsp;'normalize.css' is automatically loaded by BS3.&lt;/li&gt;
&lt;li&gt;we can optionally load the BS3 'theme' stylesheet which gives a BS2 appearance to BS3 styles, if that setting was saved within the theme configuration.&lt;/li&gt;
&lt;li&gt;though the '&lt;code&gt;viewport&lt;/code&gt;' parameter is optional since we always set the minimum defaults, it is in this&amp;nbsp;theme template as a point to deviate from.&lt;/li&gt;
&lt;li&gt;we account for two (2) less stylesheet compiler variables (&lt;code&gt;lessvars&lt;/code&gt;) we pull from the theme configuration settings&amp;nbsp;which are mandatory for this theme's .less stylesheets. &amp;nbsp;Most (&lt;em&gt;but not all&lt;/em&gt;) stylesheets used with a BS3 theme are in the .less format to allow custom configuration by the end user. &amp;nbsp;For example, the bootstrap3theme allows selecting from the entire set of 'BootSwatch' themes. &amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now a short sidebar on some BS3 basic concepts...there is a hierarchy of three (3) basic components for the BS3 grid system: 1) container, 2) row, and 3) column. &amp;nbsp;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The '&lt;strong&gt;container&lt;/strong&gt;' class element is mandatory as the highest level element for the grid system. &amp;nbsp;It may NOT be nested as this will create anomalies with display of the page. &amp;nbsp;The classname used for a container element is 'container'.&lt;/li&gt;
&lt;li&gt;The '&lt;strong&gt;row&lt;/strong&gt;' class element MUST be placed within a 'container' class element, however unlike the container, they may be nested if the nesting occurs within a column. &amp;nbsp;In a basic sense, the row is a placeholder for up to&amp;nbsp;12 equal-width columns of data. &amp;nbsp;The classname used for a row element is 'row'.&lt;/li&gt;
&lt;li&gt;The '&lt;strong&gt;column&lt;/strong&gt;' class element MUST be placed within a 'row' class element, and like the container may NOT be nested...except when found within a nested row. &amp;nbsp;The classname for a column element is more complex and composed of at least three (3) parts:&lt;ul&gt;&lt;li&gt;'col-' to signify that this is a column&lt;/li&gt;
&lt;li&gt;a designator for the device size the column setting applies to (&lt;em&gt;more or this later&lt;/em&gt;). &amp;nbsp;But in our example we'll use the size for a small device or tablet with a max-width of 768 pixels which is 'sm-'. &amp;nbsp;Grid column classes are divided into device&amp;nbsp;sized groupings:&lt;ul&gt;&lt;li&gt;'lg' for large devices such as wide-screen monitors (max width&amp;nbsp;1200&amp;nbsp;pixels)&lt;/li&gt;
&lt;li&gt;'md' for medium sized devices such as desktop monitors (max width 992 pixels)&lt;/li&gt;
&lt;li&gt;'sm' for tablet&amp;nbsp;sized devices&lt;/li&gt;
&lt;li&gt;'xs' for extra small devices such as phones (max width 640 pixels&lt;/li&gt;
&lt;li&gt;These can be mixed within the same element to provide for a different layout&amp;nbsp;on different devices. &amp;nbsp;E.g., a 4 column wide layout on a desktop would become a 2 column layout on a tablet (2 rows high) or a single column layout (4 rows high) on a smartphone.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;and a digit to set the number of column units of width this column is to fill (from 1 to 12)&lt;/li&gt;
&lt;li&gt;so the simplest&amp;nbsp;column element would be 'col-sm-12' for a single column the entire width of the row. &amp;nbsp;A equal-width 2-column layout would be two elements each with a class of 'col-sm-6' (6 + 6 = 12).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p style=&quot;margin-left: 120px;&quot;&gt;&lt;code&gt;&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;div class=&amp;quot;col-sm-12&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; This is a full width column, 12 units wide.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A&amp;nbsp;row with columns could also be placed within this element.&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Therefore, in Exponent, the template theme/subtheme template MUST hold any&amp;nbsp;'container' element(s). &amp;nbsp;There must NEVER be an element with the class of 'container' found within a view template. &amp;nbsp;A&amp;nbsp;BS3 styled view template can ALWAYS assume it is being loaded within a 'container' and/or a 'column' element. &amp;nbsp;Therefore, the view template should be wrapped within a 'row' element if it will be subdividing its display using&amp;nbsp;the grid system with 'column' elements. &amp;nbsp;The &lt;u&gt;only exception &lt;/u&gt;to this is the navigation menu (navbar) which in&amp;nbsp;most examples (&lt;em&gt;including the main BS3 site&lt;/em&gt;) is simply wrapped within a&amp;nbsp;'container' element without rows nor columns.&lt;/p&gt;

&lt;p&gt;So within the 'body' section of&amp;nbsp;the&amp;nbsp;&lt;code&gt;/themes/bootstrap3theme/index.php&lt;/code&gt;&amp;nbsp;default theme template, you'll note:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;We have two (2) containers: one for the menu and one for the content&lt;/li&gt;
&lt;li&gt;Within the menu container we have NO rows or columns, so the menu 'template' view can assume it's within a container&lt;/li&gt;
&lt;li&gt;Within the content container we have two rows:&amp;nbsp;one for the actual page content, and one for the page footer area&lt;/li&gt;
&lt;li&gt;Within the actual page content row we have two columns: one for the main content, and one for the sidebar&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the Exponent theming system to work correctly with several UI frameworks, we allow for view templates to also have theme framework variations. &amp;nbsp;These system view templates are denoted by a framework type suffix before&amp;nbsp;the file type. &amp;nbsp;So a system 'showall.tpl' view template with a BS3 variation would be named 'showall.bootstrap3.tpl'. &amp;nbsp;In the absence of a BS3 specific view template, the system would fallback and choose a BS2 template with that framework suffix...in this example if the BS3 variation template did not exist but a BS2 variation template existed named 'showall.bootstrap.tpl, it would be used instead of the base 'showall.tpl' file. &amp;nbsp;Since a custom theme can only use one UI framework, ALL custom template views use the root name without any framework variation.&lt;/p&gt;

&lt;p&gt;A note about the &lt;code&gt;/themes/bootstrap3theme/config.php&lt;/code&gt; theme configuration settings file. &amp;nbsp;You MUST include a variable&amp;nbsp;named 'SWATCH' or the .less stylesheet compiler will crash when compiling the BS3 stylesheets.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;There MUST always be a file &lt;code&gt;/theme/customthemename/less/variables.less&lt;/code&gt;, even if it's an empty flle. This file is ALWAYS compiled by the bootstrap.less file and overrides any bootstrap 3&amp;nbsp;and swatch variables as needed. &amp;nbsp;A failure to include this file (&lt;em&gt;it may be empty&lt;/em&gt;) WILL result in a .less compiler crash. &amp;nbsp;This file should ONLY contain .less 'variables' as it will also always be compiled as a theme stylesheet and any 'styles' included within in it will also create a theme stylesheet named /css/variables.css.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In summary:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The theme/subtheme template MUST include the un-nested&amp;nbsp;BS3 'container' element. &amp;nbsp;The theme/subtheme template is the only place the 'container' element will be found. &amp;nbsp;It may optionally contain 'row' elements' so long as it also contains 'column' elements within the 'row'.&lt;/li&gt;
&lt;li&gt;The view template can always assume it's being displayed within a 'container' and/or also a 'column' element.&lt;/li&gt;
&lt;li&gt;Any 'custom' view templates must only have the '.tpl' file type suffix and can NOT contain the '.bootstrap3.tpl' framework variation&amp;nbsp;suffix.&lt;/li&gt;
&lt;li&gt;Failure to follow these guidelines will cause horizontal margin anomalies and prevent theme custom views from loading&lt;/li&gt;
&lt;/ul&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Sun, 17 Aug 2014 20:26:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/themeing-with-twitter-bootstrap-version-3</guid>
        </item>
        <item>
            <title>jQuery and Exponent....sitting in a tree...</title>
            <link>http://www.exponentcms.org/blog/jquery-and-exponent-sitting-in-a-tree</link>
            <description>&lt;p&gt;&lt;img alt=&quot;jQuery&quot; height=&quot;220&quot; src=&quot;/files/jquery_mark_light.gif&quot; style=&quot;float:left&quot; title=&quot;jQuery in Exponent CMS&quot; width=&quot;340&quot; /&gt;The jQuery&amp;nbsp;javascript library has been integrated into Exponent since v2.2.0 in an effort to help us&amp;nbsp;move away from the&amp;nbsp;YUI library. &amp;nbsp;jQuery is more popular and has many more add-ons/plugins/widgets than does YUI. &amp;nbsp;It is also the javascript library of choice for Twitter Bootstrap. &amp;nbsp;Just like YUI, Exponent easily integrates the use of jQuery into the Exponent framework. &amp;nbsp;Here are some tips on using&amp;nbsp;jQuery&amp;nbsp;with your custom theme or view.&lt;/p&gt;

&lt;p&gt;Just like YUI, jQuery is NOT automatically loaded, but only loaded if needed on the page. &amp;nbsp;(&lt;em&gt;However, most every page has some YUI code or widget, therefore it appears that YUI is always loaded&lt;/em&gt;). &amp;nbsp;We load jQuery (&lt;em&gt;or YUI&lt;/em&gt;) using the {script} Smarty template tag. &amp;nbsp;We can either simply load the base jQuery library script, or we can use it to also&amp;nbsp;load add-ons/plugins and associated stylesheets (&lt;em&gt;again just like the YUI module loader&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;The {script} block is used within view templates to delineate a javascript&amp;nbsp;script or javascript code (&lt;em&gt;docs found &lt;a href=&quot;http://docs.exponentcms.org/docs/script&quot;&gt;here&lt;/a&gt;&lt;/em&gt;). &amp;nbsp;It is recommended that you NOT&amp;nbsp;load your own jQuery library within the view template or theme template, as it will likely conflict with the integrated version. &amp;nbsp;We ship the latest versions with Exponent and load jQuery v2.x in most browsers and v1.x in Internet Explorer versions less than 9 and Firefox version less than 3.7. &amp;nbsp;The simplest approach is to use this to embed a jQuery&amp;nbsp;code snippet:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;{script unique=&amp;quot;myuniqueid&amp;quot; jquery=1}&lt;br /&gt;
{literal}&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $(document).ready(function() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // jQuery code goes here&lt;br /&gt;
&amp;nbsp; &amp;nbsp; } );&lt;br /&gt;
{/literal}&lt;br /&gt;
{/script}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We can also use the tag to load jQuery add-ons/plugins either in the system or within the custom theme. &amp;nbsp;To load an addon, just enter its name (sans the .js) into the jquery parameter. &amp;nbsp;It will first search the theme's /js folder and if found will then look for a like named .less or .css file in the /less or /css sibling folder. &amp;nbsp;The system jQuery add-ons are located in /external/jquery/addons/. &amp;nbsp;So to load the jQuery&amp;nbsp;Colorbox (lightbox) addon (&lt;em&gt;jquery.colorbox.js and jquery.colorbox.css&lt;/em&gt;), you'd use the following:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;{script unique=&amp;quot;myuniqueid&amp;quot;&amp;nbsp;jquery='jquery.colorbox'}&amp;nbsp;&lt;br /&gt;
{literal}&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;$('a.calpopevent').click(function(e) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; target = e.target; $.colorbox({&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; href: EXPONENT.PATH_RELATIVE+&amp;quot;index.php?controller=eventregistration&amp;amp;action=show&amp;amp;ajax_action=1&amp;amp;title=&amp;quot;+target.id,&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;maxWidth: 650&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;});&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.preventDefault();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;});&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;{/literal}&amp;nbsp;&lt;br /&gt;
{/script}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We can also use the tag to load a jQuery script just as we would any other script.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;{script unique=&amp;quot;myuniqueid&amp;quot;&amp;nbsp;jquery=1 src='myjqueryscript.js'}&amp;nbsp;&lt;br /&gt;
{literal}&amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $(document).ready(function() {&amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //&amp;nbsp;jQuery&amp;nbsp;code goes here&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;myjsfunction(1, 2, 3); // function contained in myjqueryscript.js&lt;br /&gt;
&amp;nbsp; &amp;nbsp; } );&amp;nbsp;&lt;br /&gt;
{/literal}&amp;nbsp;&lt;br /&gt;
{/script}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Hopefully this little introduction to using jQuery within Exponent has whetted you appetite for using javascript within your custom theme or view.&lt;/p&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Thu, 05 Jun 2014 14:11:00 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/jquery-and-exponent-sitting-in-a-tree</guid>
        </item>
        <item>
            <title>Are you having a Facelift letdown?</title>
            <link>http://www.exponentcms.org/blog/are-you-having-a-facelift-letdown</link>
            <description>&lt;p&gt;You've unwrapped (&lt;em&gt;installed&lt;/em&gt;) v2.3.0, and much to your dismay it looks the same! &amp;nbsp;&lt;strong&gt;Where are all these major new features?&lt;/strong&gt; &amp;nbsp;One of the goals of the Exponent CMS project is to provide seamless or transparent upgrades to newer versions. &amp;nbsp;While this isn't always true (&lt;em&gt;1.x code deprecation, etc&lt;/em&gt;...), we do try to keep your web site &lt;u&gt;&lt;strong&gt;looking &lt;/strong&gt;&lt;/u&gt;the same after an upgrade, while offering new features and improving the site management tools. &amp;nbsp;In this article, I'll attempt to show you how to activate the 'new' interface options and work around a couple minor issues.&lt;/p&gt;

&lt;p&gt;First off, some issues which may require some editing or settings changes on your part are:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;We moved the bootstraptheme navbar/menu code from the theme template file into the navigation view template file. &amp;nbsp;&lt;a href=&quot;/blog/preparing-to-upgrade-to-v2-3-0&quot;&gt;Here is an article&lt;/a&gt; describing needed changes if you have built a custom theme based on 'bootstraptheme' (&lt;em&gt;the Twitter Boostrap v2 theme&lt;/em&gt;)
&lt;ul&gt;&lt;li&gt;This article also describes how to fix a 'jQuery' script crash/collision and solve a 'disappearing content' issue.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If the WYSIWYG editor (CKEditor) doesn't appear, there may be a conflict between 'Minification' and CKEditor. &amp;nbsp;Several different ways to work around this issue are:&lt;ul&gt;&lt;li&gt;Turn Minification&amp;nbsp;OFF using the Exponent, Super Admin Tools, System Cache menu&lt;/li&gt;
&lt;li&gt;Leave Minification ON, but turn off '&lt;u&gt;Minify and Combine linked js scripts&lt;/u&gt;' using the 'Minify' tab of the Configure Website command found on the Exponent menu&lt;/li&gt;
&lt;li&gt;Switch to begin using the new optional TinyMCE WYSIWYG editor (see below)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Some settings/input forms may not save or close because we've added better validation of entries. &amp;nbsp;Specially, this would apply to 'url' (&lt;em&gt;link&lt;/em&gt;) and 'email' (&lt;em&gt;address&lt;/em&gt;) type input. &amp;nbsp;Though this is NOT the case in every place Exponent asks for a url or email, some of them require specific entry formats. &amp;nbsp;The 'url' entry may be rejected if it doesn't begin with a protocol such as 'http://'. &amp;nbsp;And an 'email' entry may be rejected if it doesn't contain the '@' sign, or it contains more than one email address (&lt;em&gt;a comma is included&lt;/em&gt;). &amp;nbsp;We have a fix for the multiple email address entry.&lt;/li&gt;
&lt;li&gt;We now correctly load style sheets in an expected sequence. &amp;nbsp;The main framework library&amp;nbsp;stylesheets (&lt;em&gt;YUI, Bootstrap, etc&lt;/em&gt;...) are always loaded first, then the Exponent&amp;nbsp;system stylesheets (&lt;em&gt;core styles and&amp;nbsp;those in the module views&lt;/em&gt;), and finally the theme stylesheets. &amp;nbsp;This ensures the styles cascade correctly and that the theme custom styles have 'final' say on the styling. &amp;nbsp;However, you may discover some display anomalies exposed by the correct loading order we now use, but they should easily be fixed by a custom theme style update.&lt;/li&gt;
&lt;li&gt;You may notice the .less stylesheet compiler takes a bit longer than before, but it is also faster than before. &amp;nbsp;As before, we ONLY compile .less files into .css stylesheets&amp;nbsp;once, or when updated, so like any caching option, the first time to the page is a bit slower. &amp;nbsp;We've had to switch to a new 'less' compiler which is compatible with Twitter Bootstrap v3 (TB3), and in turn, TB3 also&amp;nbsp;has some very complex stylesheets. &amp;nbsp;However, we've now sped up the less compilation cache checking. &amp;nbsp;So if you have Error Reporting turned OFF, the .less file will only be compiled/checked if the corresponding .css file is missing. &amp;nbsp;If Error Reporting is turned ON, it will operate as in the past few versions where the cache is checked for each .less file and it will be (re) compiled if the .css file is missing or any of the .less files (including those being @import'ed) or the less variables have changed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, here's how to use some of the new features:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The new '&lt;strong&gt;elFinder&lt;/strong&gt;' File Manager is activated by changing the setting on the 'File Manager' tab&amp;nbsp;of&amp;nbsp;the Configure Website command found on the Exponent menu. &amp;nbsp;&lt;a href=&quot;/blog/using-the-new-elfinder-file-manager&quot;&gt;Here is an article&lt;/a&gt; describing it.&lt;/li&gt;
&lt;li&gt;The new '&lt;strong&gt;TimyMCE&lt;/strong&gt;' WYSIWYG editor is activated changing the setting on the 'WYSIWYG'&amp;nbsp;tab&amp;nbsp;of&amp;nbsp;the Configure Website command found on the Exponent menu. &amp;nbsp;&lt;a href=&quot;/blog/which-wysiwyg-editor-to-choose&quot;&gt;Here is an article&lt;/a&gt;&amp;nbsp;describing it. &amp;nbsp;Just like the CKEditor, you can create a custom configuration with an alternate skin, plugins, or toolbar, etc...&lt;/li&gt;
&lt;li&gt;The new '&lt;strong&gt;Workflow&lt;/strong&gt;' feature is activated using the Exponent, Super Admin Tools, Turn Workflow On/Off menu item. &amp;nbsp;&lt;a href=&quot;/blog/using-the-new-workflow-feature&quot;&gt;Here is an article&lt;/a&gt;&amp;nbsp;describing it.&lt;/li&gt;
&lt;li&gt;We've provided an initial&amp;nbsp;implementation of a TB3 based theme (bootstrap3theme)&amp;nbsp;which also includes a new TB3 based admin user interface (&lt;em&gt;new slingbar and chrome&lt;/em&gt;)! &amp;nbsp;Designers can begin to develop their own custom TB3 theme(s)&amp;nbsp;based on this one, though&amp;nbsp;we will probably tweak the&amp;nbsp;bootstrap3theme&amp;nbsp;over the next six months. &amp;nbsp;We strongly recommend you move away from any Twitter Bootstrap v2 (TB2) theme development as it has been deprecated and no new features or updates to TB2 support&amp;nbsp;are planned&amp;nbsp;for&amp;nbsp;Exponent. &amp;nbsp;However, we will still continue to support YUI3 based themes (&lt;em&gt;YUI2&amp;nbsp;compatibility has been deprecated by YAHOO and is subject to breaking in the future&lt;/em&gt;). &amp;nbsp;We will also continue to support non-Bootstrap/non-YUI based themes (&lt;em&gt;which inherit YUI2/3 widgets, etc.. at this point&lt;/em&gt;).&lt;ul&gt;&lt;li&gt;TB3 is the 'new&amp;nbsp;interface' direction we are moving toward, and away from YUI2/3 as the primary/only user interface. &amp;nbsp;This interface is called 'NewUI'. &amp;nbsp;These themes are identified by a head config setting of 'framework=bootstrap3'.&lt;/li&gt;
&lt;li&gt;TB2 development is suspended, but uses TB2 buttons and&amp;nbsp;controls (&lt;em&gt;though some widgets are still YUI2/3 based/styled&lt;/em&gt;)&amp;nbsp;with YUI2/3 slingbar and chrome. &amp;nbsp;Since there are conflicts between TB2 and TB3 it will not receive any NewUI interface elements. &amp;nbsp;These themes are identified by&amp;nbsp;a head&amp;nbsp;config&amp;nbsp;setting of 'framework=bootstrap'.&lt;/li&gt;
&lt;li&gt;YUI and other non-Bootstrap themes are based on YUI2/3 (&lt;em&gt;styled&lt;/em&gt;) buttons, controls, slingbar and chrome. &amp;nbsp;These themes are identified by&amp;nbsp;a head&amp;nbsp;config&amp;nbsp;setting of 'framework=yui',&amp;nbsp;&amp;nbsp;'framework=jquery', or no 'framework' setting. &amp;nbsp;However, these themes may be 'upgraded' to use&amp;nbsp;the 'NewUI' by changing a system setting. &amp;nbsp;Once this setting is turned on, the theme will use the NewUI (TB3) slingbar, chrome, controls/buttons, and other widgets. &amp;nbsp;Since this feature is not yet fully robust/implemented, there is no user interface to turn it on or off. &amp;nbsp;However, it can be activated within your non-Bootstrap based theme by adding '&lt;code&gt;define(&amp;quot;NEWUI&amp;quot;,'1');&lt;/code&gt;' to your theme's 'config.php' file (&lt;em&gt;found in the custom theme folder&lt;/em&gt;).&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;?php&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;define(&amp;quot;NEWUI&amp;quot;,'1');&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; ?&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;There is a new 'church web site' sample database which may be selected during installation. &amp;nbsp;This is in addition to the general site, blog site, and eCommerce site sample databases. &amp;nbsp;If you've already installed Exponent, but want to use one of these samples to 're-initialize' your site (&lt;em&gt;will NOT affect&amp;nbsp;current users/groups, but may affect their permissions&lt;/em&gt;), you can locate the /install/samples folder in the Exponent package file and do a 'Restore Database' (&lt;em&gt;which will wipe-out/overwrite all/most&amp;nbsp;current site content&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;If you need to move some blog, news, or portfolio items to another site, you can now export and import them, by module and by item. &amp;nbsp;Importing the export file will add them to your content instead of overwriting it as would occur with a 'Restore Database.'&lt;/li&gt;
&lt;li&gt;There are many more new features, most of which can be found on the module configuration setting views. &amp;nbsp;Look for a future article describing some of these.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And finally, here are some new features which are automatically implemented:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Out of the box, you should have better Search Engine Optimization (SEO) since we now provide better, more specific meta data to the search engines. &amp;nbsp;This should appear as greater search hit detail (&lt;em&gt;event &amp;amp; product data such as dates, cost, reviews, etc&lt;/em&gt;...).&lt;/li&gt;
&lt;li&gt;If you use a Twitter Bootstrap based theme, you should immediately notice better response on mobile and handheld devices, or even on desktops when the browser window size changes.&lt;/li&gt;
&lt;li&gt;On some of the management views (&lt;em&gt;manage users/groups/permissions, display form data, and event registrations&lt;/em&gt;) we now use a 'widget' which provides for much faster paging and column sorting, better filtering (&lt;em&gt;search&lt;/em&gt;), and options to copy/print/export.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As mentioned in previous articles the next upgrade, v2.3.1 shouldn't be expected until around the end of 2014. &amp;nbsp;What this means is that only patches will be released to address issues with v2.3.0 such as bug fixes or a 'proper' or 'broader' implementation of existing features. &amp;nbsp;Now go have fun with your 'NEW' web site!&lt;/p&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Thu, 01 May 2014 15:57:39 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/are-you-having-a-facelift-letdown</guid>
        </item>
        <item>
            <title>Using the new Workflow Feature</title>
            <link>http://www.exponentcms.org/blog/using-the-new-workflow-feature</link>
            <description>&lt;p&gt;Version 2.3.0 includes a new optional feature called 'Workflow'. &amp;nbsp;This feature allows greater control over a multi-user site, especially where there are many users adding new material which should be edited or approved prior to being visible to the public. &amp;nbsp;'Workflow' adds 1) Revisions, and 2) Approval.&lt;img alt=&quot;Workflow Revisions&quot; src=&quot;/files/shot_140424_154739.png&quot; style=&quot;width: 378px; height: 156px;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;'Workflow' is activated or deactivated using the 'Exponent' 'Super-Admin Tools' menu. &amp;nbsp;Workflow is currently enabled within the Blog, News, &amp;amp; Text modules. &amp;nbsp;A 'Workflow' enabled module can be identified on the Manage Modules view. Once 'Workflow' is activated creating or updating module items behaves differently depending on the user's permissions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Revisions&amp;nbsp;&lt;/strong&gt;&amp;ndash; in a very basic sense, revisioning creates a new copy or revision of a module item each time the item is edited/saved.&amp;nbsp; This affords an opportunity to &amp;lsquo;roll back&amp;rsquo; or &amp;lsquo;undo&amp;rsquo; an edit.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Revisions are &amp;lsquo;reported&amp;rsquo; on the standard view with a badge displaying the revision # next to the &amp;lsquo;Edit&amp;rsquo; button/link.&lt;/li&gt;
&lt;li&gt;Revisions are &amp;lsquo;managed&amp;rsquo; in the Edit item view.&amp;nbsp;&lt;ul&gt;&lt;li&gt;Revisions are initially hidden within a collapsed container below the standard edit area&amp;hellip;with the most most recent at the top of the stack.&lt;img alt=&quot;Revisions&quot; src=&quot;/files/revisions.png&quot; style=&quot;width: 540px; height: 586px;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;The &amp;lsquo;revision&amp;rsquo; being edited will be highlighted&lt;/li&gt;
&lt;li&gt;A previous revision may be activated by 1) clicking on that revision, and 2) when the display refreshes with the new data, saving the item&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Currently, old revisions can NOT be manually removed, so you will have a permanent history of all edits to that item.&amp;nbsp; However, it is possible to set the max number of revisions by manually editing the config.php file&amp;nbsp;(&lt;em&gt;no UI exists yet&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Approval &lt;/strong&gt;&amp;ndash; in a very basic sense, approval adds a layer of &amp;lsquo;moderation&amp;rsquo; before content may be presented to a basic user with no permissions.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Without an &amp;lsquo;approve&amp;rsquo; permission, the user will only see (&lt;em&gt;interact with&lt;/em&gt;) the most recent &amp;lsquo;approved&amp;rsquo; item revision (&lt;em&gt;if any&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;All new/edited items will be saved as un-approved revisions unless the user has 'approve' permission:&lt;ul&gt;&lt;li&gt;If a user WITHOUT 'approve' permission edits an item,&lt;ul&gt;&lt;li&gt;they will be editing the most recent approved revision which will be saved as an un-approved, but newer revision&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;With an &amp;lsquo;approve&amp;rsquo; permission, the user will see the most recent item revision which may then be &amp;lsquo;approved&amp;rsquo; using the new &amp;lsquo;Approve&amp;rsquo; button/link.&lt;ul&gt;&lt;li&gt;Creating/Editing, then saving an item will automatically approve it&lt;/li&gt;
&lt;li&gt;Turning on &amp;lsquo;Preview Mode&amp;rsquo; will display the most recent approved revision (if any)&lt;/li&gt;
&lt;li&gt;An un-approved item&amp;nbsp;will be &amp;lsquo;displayed&amp;rsquo; on the standard view with special highlighting (&lt;em&gt;yellow background and red border&lt;/em&gt;) which disappears on &amp;lsquo;hover&amp;rsquo;.&lt;img alt=&quot;Unapproved Revision&quot; src=&quot;/files/unapproved.png&quot; style=&quot;width: 540px; height: 234px;&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Currently, you can NOT un-approve a revision, therefore you are required to either leave it alone (unedited, unapproved), edit it (will be saved as approved), or simply approve it as is.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The &amp;lsquo;Approve&amp;rsquo; permission is tied to the &amp;lsquo;edit&amp;rsquo; and &amp;lsquo;create&amp;rsquo; permissions.&amp;nbsp; It applies to ALL items in the module the user has &amp;lsquo;edit&amp;rsquo; permission with&amp;hellip;therefore the &amp;lsquo;create&amp;rsquo; permission with an &amp;lsquo;approve&amp;rsquo; permission only allows (&lt;em&gt;automatic&lt;/em&gt;) approval of that user&amp;rsquo;s items, but&amp;nbsp;not all items in the module, you must also grant them the &amp;lsquo;edit&amp;rsquo; permission&amp;hellip;e.g., if you can&amp;rsquo;t edit it, you can&amp;rsquo;t approve it.&lt;/li&gt;
&lt;li&gt;As a reminder, Admins and Super-Admins&amp;nbsp;are ALWAYS&amp;nbsp;granted ALL permissions, and a 'manage' permission grants ALL permissions (&lt;em&gt;for that page/module&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One thing&amp;nbsp;to consider before activating 'Workflow'&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Non-admin users MUST specifically be granted an 'approve' permission to create/edit items for display, otherwise that&amp;nbsp;revision must be approved&amp;nbsp;before it is&amp;nbsp;displayed. &amp;nbsp;So, until you grant 'approve' permissions, the admin(s) may be busy approving all new content.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And a big caution before de-activating 'Workflow'&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;color:#FF0000;&quot;&gt;&lt;strong&gt;When you de-activate workflow, ALL revisions except the most recent approved revision will be permanently removed!&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In most instances, 'Workflow' may not be of use. &amp;nbsp;But if you are in a multi-user environment where you need to control what actually is displayed on the site, you now have a new tool.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Thu, 24 Apr 2014 22:05:21 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/using-the-new-workflow-feature</guid>
        </item>
        <item>
            <title>Preparing to Upgrade to v2.3.0</title>
            <link>http://www.exponentcms.org/blog/preparing-to-upgrade-to-v2-3-0</link>
            <description>&lt;p&gt;Version 2.3.0 is the follow-up to version 2.2.3 and was given a version bump due to the many new features added. &amp;nbsp;It also marks a 'slowing down' of version releases as it's purposely been five months since the last release. &amp;nbsp;While it doesn't require as many changes as the move to v2.2.0 (&lt;em&gt;which deprecated all the old 1.x code&lt;/em&gt;), it would still be wise to note and adhere these following changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The navigation showall_Flydown view for a bootstrap based theme&lt;/strong&gt; &lt;strong&gt;now includes all the associated markup in the view instead of in the theme template&lt;/strong&gt;. &amp;nbsp;Therefore if you use this view or have based your custom theme on 'bootstraptheme' (&lt;em&gt;it is the default menu for the boostraptheme&lt;/em&gt;) you MUST&amp;nbsp;edit your theme templates (including subthemes)&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The older code looked something like:&lt;br /&gt;
&lt;code&gt;&amp;lt;!-- navigation bar/menu --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;navigation navbar &amp;lt;?php echo (MENU_LOCATION) ? 'navbar-'.MENU_LOCATION : '' ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;div class=&amp;quot;navbar-inner&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt; &amp;lt;!-- toggle for collapsed/mobile navbar content --&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;a class=&amp;quot;btn btn-navbar&amp;quot; data-toggle=&amp;quot;collapse&amp;quot; data-target=&amp;quot;.nav-collapse&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;icon-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;icon-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;span class=&amp;quot;icon-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- menu header --&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;a class=&amp;quot;brand&amp;quot; href=&amp;quot;&amp;lt;?php echo URL_FULL ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php echo ORGANIZATION_NAME ?&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- menu --&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;?php expTheme::module(array(&amp;quot;controller&amp;quot;=&amp;gt;&amp;quot;navigation&amp;quot;,&amp;quot;action&amp;quot;=&amp;gt;&amp;quot;showall&amp;quot;,&amp;quot;view&amp;quot;=&amp;gt;&amp;quot;showall_Flydown&amp;quot;)); ?&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;navbar-spacer&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;navbar-spacer-bottom&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;This is simply replaced by:&lt;br /&gt;
&lt;code&gt;&amp;lt;?php expTheme::module(array(&amp;quot;controller&amp;quot;=&amp;gt;&amp;quot;navigation&amp;quot;,&amp;quot;action&amp;quot;=&amp;gt;&amp;quot;showall&amp;quot;,&amp;quot;view&amp;quot;=&amp;gt;&amp;quot;showall_Flydown&amp;quot;)); ?&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Depending on which exponent version you created your theme from (fi&lt;em&gt;rst shipped w/ v2.2.0&lt;/em&gt;), you may not have all those lines above. &amp;nbsp;In fact, in v2.2.0, the menu was a theme custom menu simply call 'showall'&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;There may be duplicate Search Engine Friendly (SEF) URLs&lt;/strong&gt;. &amp;nbsp;We include an optional upgrade script to correct this issue, but do NOT run it automatically. &amp;nbsp;Duplicate SEF URLs can cause issues when using the new 'Workflow' feature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If your pages/content seems to have disappeared for non-admin users&lt;/strong&gt;, you should first (re)run the 'Fix Sectionrefs' upgrade script. &amp;nbsp;If that doesn't fix the problem, you need to ensure the 'Disable Privacy Feature' is selected found in 'Confgure Website' Exponent menu item, under the 'Display' tab.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you have manually loaded the 'jQuery' script, it may be colliding with the auto-loaded jQuery script.&lt;/strong&gt; &amp;nbsp;The BEST method to ensure that jQuery is auto-loaded, is to set the theme framework (in the theme template/subtheme templates) to either 'jquery'. &amp;nbsp;jQuery is also auto-loaded with the bootstrap theme frameworks. &amp;nbsp;Documentation found &lt;a href=&quot;http://docs.exponentcms.org/docs/header-info&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Again, not a lot of earth shattering changes required, but we always recommend doing a test before upgrading a production web site, just in case.&lt;/p&gt;
</description>
            <author> dleffler@hughes.net (David Leffler)</author>
            <pubDate>Thu, 24 Apr 2014 19:34:25 -0600</pubDate>
            <guid>http://www.exponentcms.org/blog/preparing-to-upgrade-to-v2-3-0</guid>
        </item>
    </channel>
</rss>