<?xml version="1.0"?>
<rss version="2.0"><channel><title>Technical help Latest Questions</title><link>https://forum.thirtybees.com/forum/11-technical-help/</link><description>Technical help Latest Questions</description><language>en</language><item><title>Credist slip not working</title><link>https://forum.thirtybees.com/topic/8866-credist-slip-not-working/</link><description><![CDATA[<p>
	TB 1.7, PHP 8.3 is making credit slip. But it can't be viewed or printed.<br />
	Error message is following :<br />
	SmartyCompilerException: Syntax error in template "file:xxx/pdf/order-slip.product-tab.tpl" on line 100 "{if is_array($cart_rules) &amp;&amp; $cart_rules ? count($cart_rules)}" - Unexpected " ? ", expected one of: "}" 
</p>

<p>
	How to fix this ?
</p>

<p>
	<br />
	Thank You
</p>
]]></description><guid isPermaLink="false">8866</guid><pubDate>Mon, 12 Oct 2026 11:37:04 +0000</pubDate></item><item><title>taxes and multistore</title><link>https://forum.thirtybees.com/topic/7501-taxes-and-multistore/</link><description><![CDATA[<p>
	I would like product prices to show with tax included on one of my two stores in a multistore setup.
</p>

<p>
	The other store has no taxes.
</p>

<p>
	Localization -&gt; Taxes 
</p>

<p>
	Enable tax = yes<br />
	Display tax in shopping cart = no<br />
	<strong>Based on = Invoice address</strong>
</p>

<p>
	What is the difference between <strong>Invoice address</strong> or <strong>delivery address</strong>? I want the prices in this one store to ALWAYS show with tax included, even before the customer logs in.
</p>

<p>
	And I want the tax included price (in this store) to always show for every country (based on IP address).
</p>

<p>
	So I think <strong>Based on</strong> should also have a "store" option, so that the price + tax is always displayed for that one store.
</p>

<p>
	When I check this with online tools such as geopeeker.com I get inconsistent results. 
</p>

<p>
	Localization -&gt; Tax Rules - set to every country  
</p>

<p>
	In summary - how do I set prices in one store so that they will always show with tax included?
</p>

<p>
	Thanks!
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7501</guid><pubDate>Sun, 19 Oct 2025 20:31:44 +0000</pubDate></item><item><title>HELP! I am hacked!!!</title><link>https://forum.thirtybees.com/topic/6155-help-i-am-hacked/</link><description><![CDATA[<p>
	Hi all, since several weeks the number of orders have been repidly dropping. I checked the ordering process and was shocked to see the payment options. Instead of classical paypal and bank transfer methods there is strange payment method asking you to enter your credit data, see below. I guess this is a fake code :((( What should I do? 
</p>

<p>
	TB 1.1, the shop is now in the maintanence mode.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="https://forum.thirtybees.com/uploads/monthly_2023_05/image.png.91a2323cfbd5d2b77aec9fb8b9b8d6e7.png" data-fileid="4153" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="4153" data-ratio="54.00" width="1000" alt="image.thumb.png.2ef6141dc0aab47ce0d599798e206da6.png" data-src="https://forum.thirtybees.com/uploads/monthly_2023_05/image.thumb.png.2ef6141dc0aab47ce0d599798e206da6.png" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" /></a>
</p>
]]></description><guid isPermaLink="false">6155</guid><pubDate>Wed, 10 May 2023 20:49:52 +0000</pubDate></item><item><title>Backoffice login security</title><link>https://forum.thirtybees.com/topic/6125-backoffice-login-security/</link><description><![CDATA[<p>
	Hi, I am concerned about the security of the backoffice login page:
</p>

<p>
	I do not believe there is any sort of application-level rate limiting on the login page. <span>Anybody could reach that page and attempt to log in, and thirty bees would not stop an attacker from attempting hundreds of logins per minute. There is no 2-factor authentication available either.</span>
</p>

<p>
	<span>This is why I would limit access to the backoffice route to a small number of trusted IP addresses, using apache's require IP directive.</span>
</p>

<p>
	<span>Recently however, I have moved to another country and the ISP here do not provide static IP addresses. The IP address I am given changes rather frequently and I am unable to use the require IP directive to protect the backoffice login page.</span>
</p>

<p>
	Am I mistaken? Are there application-level mitigations for bruteforce attacks on the backoffice login page?
</p>

<p>
	How do I make sure attackers cannot attempt logins like that?
</p>
]]></description><guid isPermaLink="false">6125</guid><pubDate>Sat, 01 Apr 2023 08:47:43 +0000</pubDate></item><item><title>SEO Friendly URL issue - TB1.4</title><link>https://forum.thirtybees.com/topic/6975-seo-friendly-url-issue-tb14/</link><description><![CDATA[<p>
	I am having difficulty with configuring a specific SEO URLS rewrite in my beta store and would like some feedback - maybe I'm asking too much from the system.
</p>

<p>
	Desired URL: <strong>domain.com/p/88-21/product-name.html</strong>
</p>

<p>
	I want to keep the product id in the url string as I have found this element to be critical in certain situations. The "p" tells me it is a product, I'm using "c" for categories. Maybe I don't need the product attribute, but I don't want to move forward under that assumption if I can figure out how to include it in the final output.
</p>

<p>
	SEO-URL Rewrite:
</p>

<pre class="ipsCode">p/{id}{-:id_product_attribute}/{rewrite}.html</pre>

<p>
	I keep getting a 404 error with the above configuration.
</p>

<pre class="ipsCode">p/{id}/{rewrite}.html</pre>

<p>
	However, if I leave out the product attribute option <strong>{-:id_product_attribute} -</strong> this SEO friendly URL rewrite scheme works fine. I've also tried adjusting the attribute to <strong>{id_product_attribute:/}</strong> and its reverse with no success.
</p>
]]></description><guid isPermaLink="false">6975</guid><pubDate>Sun, 25 May 2025 18:49:30 +0000</pubDate></item><item><title>Need Help ..</title><link>https://forum.thirtybees.com/topic/7852-need-help/</link><description><![CDATA[<p>
	I have TB 1.6 and PHP 8.3 theme with Panda running now. <br />
	<br />
	I have two issues.<br />
	<br />
	1. I am unable to add the new products and the save button keeps greyed.<br />
	<br />
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="5596" data-ratio="29.52" width="332" alt="image.png.984e4d821e9ad2d92b73e5ae46b01b72.png" data-src="https://forum.thirtybees.com/uploads/monthly_2026_06/image.png.984e4d821e9ad2d92b73e5ae46b01b72.png" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	2. The related product in the frontend shows nothing <br />
	<br />
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="5597" data-ratio="110.24" width="293" alt="image.png.2a58f5b1280129911df27a6a3d85b60b.png" data-src="https://forum.thirtybees.com/uploads/monthly_2026_06/image.png.2a58f5b1280129911df27a6a3d85b60b.png" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" /><br />
	<br />
	In the backend <br />
	<br />
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="5598" data-ratio="29.41" width="629" alt="image.png.64c5489a90de70857ceb38c30814e929.png" data-src="https://forum.thirtybees.com/uploads/monthly_2026_06/image.png.64c5489a90de70857ceb38c30814e929.png" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	Can you please help ?
</p>

<p>
	<br />
	 
</p>
]]></description><guid isPermaLink="false">7852</guid><pubDate>Sun, 21 Jun 2026 12:38:47 +0000</pubDate></item><item><title>DHL Modul Silbersaiten compatibility Thirtybees</title><link>https://forum.thirtybees.com/topic/7797-dhl-modul-silbersaiten-compatibility-thirtybees/</link><description><![CDATA[<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="https://forum.thirtybees.com/uploads/monthly_2026_06/image.png.c030c55ff5a2bfdc2ad406300db2d33e.png" data-fileid="5584" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="5584" data-ratio="42.60" width="1000" alt="image.thumb.png.e95fac8750cf7ba8e68476f49be43137.png" data-src="https://forum.thirtybees.com/uploads/monthly_2026_06/image.thumb.png.e95fac8750cf7ba8e68476f49be43137.png" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	 
</p>

<p>
	I am in the process to get the Silbersaiten modul running with my Thirtybees 1.actual php7.x. But well, I think in order to get rif this warnings I should alter an db table or ...? I have no clue <span><span class="ipsEmoji">🙂</span></span>
</p>
]]></description><guid isPermaLink="false">7797</guid><pubDate>Tue, 16 Jun 2026 10:22:03 +0000</pubDate></item><item><title>Need help</title><link>https://forum.thirtybees.com/topic/7793-need-help/</link><description><![CDATA[<p>
	All,<br />
	<br />
	I need an urgent help. I can't login to my backend shop. I tried to reset my password but I don't get my new password anymore.
</p>

<p>
	 
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="5575" data-ratio="115.32" width="581" alt="image.png.6a4596994688e85d54002c41156519b2.png" data-src="https://forum.thirtybees.com/uploads/monthly_2026_06/image.png.6a4596994688e85d54002c41156519b2.png" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" />
</p>
]]></description><guid isPermaLink="false">7793</guid><pubDate>Thu, 04 Jun 2026 17:40:52 +0000</pubDate></item><item><title>Thirty bees back office is loading very slow</title><link>https://forum.thirtybees.com/topic/7283-thirty-bees-back-office-is-loading-very-slow/</link><description><![CDATA[<p>
	Hi <br />
	TB back office is loading very slow. It takes very long time to display. Can you please help me to fix it ?<br />
	<br />
	TB Version : 1.4<br />
	PHP Version: 7.4<br />
	<br />
	Thank you<br />
	Madhosh 
</p>

<p><a href="https://forum.thirtybees.com/uploads/monthly_2025_07/image.png.57aec8e9655abcba623facf7c76fa6c9.png" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="5362" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" data-src="https://forum.thirtybees.com/uploads/monthly_2025_07/image.thumb.png.333957a0ce44148ad01ee73d3f02ad5d.png" data-ratio="52.1" width="1000" class="ipsImage ipsImage_thumbnailed" alt="image.png"></a></p>]]></description><guid isPermaLink="false">7283</guid><pubDate>Sun, 27 Jul 2025 07:26:18 +0000</pubDate></item><item><title>A few things when importing products via CSV</title><link>https://forum.thirtybees.com/topic/6691-a-few-things-when-importing-products-via-csv/</link><description><![CDATA[<p>
	Hello!
</p>

<p>
	(Bleeding edge, php 8.3)
</p>

<p>
	I noticed a couple of things when I do CSV imports, maybe something to look at when you have the time <a contenteditable="false" data-ipshover="" data-ipshover-target="https://forum.thirtybees.com/profile/186-datakick/?do=hovercard" data-mentionid="186" href="https://forum.thirtybees.com/profile/186-datakick/" rel="">@datakick</a>:
</p>

<p>
	Firstly when i import a products i get theese type notices in the error log:
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="4962" data-ratio="33.19" width="907" alt="image.png.d7e4b8147c3712251fc9772316209b85.png" data-src="https://forum.thirtybees.com/uploads/monthly_2024_09/image.png.d7e4b8147c3712251fc9772316209b85.png" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	Secondly, when importing combinations, i get this notice:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="https://forum.thirtybees.com/uploads/monthly_2024_09/image.png.6693222c39daa662a76840ae022a8364.png" data-fileid="4963" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="4963" data-ratio="3.80" width="1000" alt="image.thumb.png.7388aa2f03db96adef0afa2dbfc826cb.png" data-src="https://forum.thirtybees.com/uploads/monthly_2024_09/image.thumb.png.7388aa2f03db96adef0afa2dbfc826cb.png" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	And lastly, when I import, only webp images are generated. Consistency check tells me that images registered in the database does not exists and that i should delete them, only .jpg images. When follow the recommendation and delete them in the consistency check interface, the product in the front office no longer shows any images:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="https://forum.thirtybees.com/uploads/monthly_2024_09/image.png.32bf96ba1a8215d0b63b0e73b98047cb.png" data-fileid="4965" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="4965" data-ratio="24.30" width="1000" alt="image.thumb.png.f4dd5b631b1bffb930168c1fac87c7f6.png" data-src="https://forum.thirtybees.com/uploads/monthly_2024_09/image.thumb.png.f4dd5b631b1bffb930168c1fac87c7f6.png" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	Thanks!
</p>
]]></description><guid isPermaLink="false">6691</guid><pubDate>Mon, 30 Sep 2024 08:18:52 +0000</pubDate></item><item><title>cancellation button (withdrawal button)</title><link>https://forum.thirtybees.com/topic/7569-cancellation-button-withdrawal-button/</link><description><![CDATA[<p>
	Hello, ...the cancellation button will become mandatory from June 19, 2026 in EU countries.
</p>

<p>
	So, this means, an electronic button is needed that allows consumers to cancel contracts online – simply, directly, and without detours. The goal: Cancellation should be as easy as signing the contract – with just one click.
</p>

<p>
	How do we implement this in ThirtyBees? Has anyone already considered this, or is someone working on a solution?
</p>

<p>
	It would be sufficient to use a copy the existing contact form and make it available for this purpose. This would also allow for the automatic sending of the email confirmation.
</p>

<p>
	<u>This means, we have to copy the Controller and the .tpl  from contact form to a new form?  What else is to be done?</u>
</p>

<p>
	Once again, the entire EU is affected, although the implementation in some countries seems to be less stringent.
</p>

<p>
	More informations here:
</p>

<p>
	<em>The "cancellation button" (or withdrawal button) becomes a mandatory, simple, one-click feature for all EU online retailers for distance contracts starting June 19, 2026, due to EU Directive 2023/2673, </em>
</p>

<p>
	<em>requiring an easily accessible, prominent, and clearly labeled button on websites/apps to make canceling online purchases as easy as making them, preventing complex email/form processes. </em>
</p>

<p>
	<br />
	<em>Key Details of the 2026 Cancellation Button:<br />
	Mandatory Date: June 19, 2026.<br />
	Applies To: Online retailers (websites &amp; apps) in the EU for distance contracts (e.g., online shopping).<br />
	Purpose: To allow consumers to withdraw from a contract with a single click, just as easily as they agreed to it.<br />
	Functionality: It must be a digital function that's simple, clearly recognizable, and available throughout the 14-day withdrawal period.<br />
	Requirements:<br />
	Easy Access: Prominently placed, not hidden behind multiple clicks or logins.<br />
	Clear Labeling: Clearly labeled (e.g., "Cancel Contract").<br />
	Confirmation: Clicking it leads to a confirmation page where the user submits the cancellation.<br />
	Legal Basis: EU Directive 2023/2673, amending the Consumer Rights Directive. <br />
	Why it's Happening:<br />
	The EU aims to strengthen consumer rights and confidence in e-commerce by removing friction and complexity from the cancellation process, making it as easy as ordering. Non-compliance could lead to extended withdrawal periods (12 months + 14 days) or penalties. </em>
</p>

<p>
	and also here are some informations: <a href="https://retjet.com/en/mandatory-return-button-in-online-stores-directive-2023-2673" rel="external nofollow">https://retjet.com/en/mandatory-return-button-in-online-stores-directive-2023-2673</a> 
</p>

<p>
	 
</p>

<p>
	Maybe we can arrange an good solution (without an module) in team work here? 
</p>
]]></description><guid isPermaLink="false">7569</guid><pubDate>Fri, 26 Dec 2025 18:35:49 +0000</pubDate></item><item><title>Looking For Proxy Help? ( frauddefense.io vs proxycheck.io)</title><link>https://forum.thirtybees.com/topic/7768-looking-for-proxy-help-frauddefenseio-vs-proxycheckio/</link><description><![CDATA[<p dir="ltr">
	<b><span style="background-color:#ffffff;color:#666666;font-size:10.5pt;vertical-align:baseline;">I want to know which proxy tool works best for detecting bots, proxies, VPNs, IP address lookups, and fake traffic.</span></b>
</p>
]]></description><guid isPermaLink="false">7768</guid><pubDate>Wed, 15 Apr 2026 10:58:47 +0000</pubDate></item><item><title>Prestashop security alert. Is TB affected?</title><link>https://forum.thirtybees.com/topic/7662-prestashop-security-alert-is-tb-affected/</link><description><![CDATA[<p>
	
</p>

<p style="color:#000000;font-size:14px;">
	Had this in an email from Prestashop. <br />
	Is it an issue for Thirtybees?
</p>

<p style="color:#000000;font-size:14px;">
	&lt;——————————————————————-<br />
	We have recently identified a security threat affecting some online stores within the PrestaShop ecosystem. A malicious script (“digital skimmer”) has been detected and may have led to the theft of customers’ payment information.
</p>

<p style="color:#000000;font-size:14px;">
	This malware operates by replacing the legitimate payment buttons on the checkout page with fraudulent ones. When a customer clicks on one of these fake buttons, they are redirected to a counterfeit payment form designed to capture their bank card details.
</p>

<p style="color:#000000;font-size:14px;">
	<strong>At this stage, we strongly recommend that you contact your PrestaShop expert agency or<span> </span><a href="https://preview.prestashop.com/e3t/Ctc/DK+113/cwszK04/VXccQf5MGXzKW9jhxS35jqf2BW1MKd8X5Kq_47N1k24YF3qgz0W7Y8-PT6lZ3p-N76VbJnMHjnKW8vsCf963KrnsVXD7Tl8Q6G3fW99ClbL8QFYFzW7JpxzZ2K2gWjW3ns22f77npQwW8j3TcS3VKhLHW6BQHDc6f1zTqW1jkMYf1fYR1mW7bt_Hz1gqqMWN3Bw4JP7hD8pM1PqjMBgLKqW7G5Fkj3kxKMlVKDPTh7_BHHtVh-67B4SG1HtN7bNQh32G-BQW74GWZj7hdcn4W4M-llV4txvm9W7vBprs8-jcwfW4lVM476NDB2VMkG-xy6X45YW3hMKQf5_GhbCW7mNnF147z_59W5yL0lv1Gb8hdW62sWmF8GtQzvW5rM6pb2rY8ycf8QFLwY04" rel="external nofollow" style="color:#000000;">PrestaShop Support</a><span> </span>as soon as possible to perform a thorough security check of your store and ensure it has not been compromised.</strong>
</p>

<p style="color:#000000;font-size:14px;">
	 
</p>
]]></description><guid isPermaLink="false">7662</guid><pubDate>Thu, 12 Feb 2026 09:30:15 +0000</pubDate></item><item><title>updating my shop to latest bleeding edge version under PHP8.2 give "Ajax request failed: error" when trying to update Database, Front office is 500 error!</title><link>https://forum.thirtybees.com/topic/7658-updating-my-shop-to-latest-bleeding-edge-version-under-php82-give-ajax-request-failed-error-when-trying-to-update-database-front-office-is-500-error/</link><description><![CDATA[<p>
	Hello people!
</p>

<p>
	I recently update my server to use PHP8.2 instead of previous PHP8.1 and today I tried to upgrade my Thirtybees 6.1 to latest Bleeding Edge.
</p>

<p>
	The upgrade perform successfully but when I click on the Database button in Core Updated, I got this:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">Oh snap! We have encountered an error
Ajax request failed: error
Details


Response:
</span><span class="dec">&lt;!DOCTYPE html&gt;</span><span class="pln">
</span><span class="tag">&lt;html</span><span class="pln"> </span><span class="atn">lang</span><span class="pun">=</span><span class="atv">"en"</span><span class="tag">&gt;</span><span class="pln">
    </span><span class="tag">&lt;head&gt;</span><span class="pln">
        </span><span class="tag">&lt;meta</span><span class="pln"> </span><span class="atn">http-equiv</span><span class="pun">=</span><span class="atv">"Content-Type"</span><span class="pln"> </span><span class="atn">content</span><span class="pun">=</span><span class="atv">"text/html; charset=utf-8"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
        </span><span class="tag">&lt;meta</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"description"</span><span class="pln"> </span><span class="atn">content</span><span class="pun">=</span><span class="atv">"This store is powered by thirty bees."</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln">
        </span><span class="tag">&lt;style&gt;</span><span class="pln">
            </span><span class="pun">::-</span><span class="pln">moz-selection </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">background</span><span class="pun">:</span><span class="pln"> </span><span class="lit">#b3d4fc</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">text-shadow</span><span class="pun">:</span><span class="pln"> none</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            </span><span class="pun">::</span><span class="pln">selection </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">background</span><span class="pun">:</span><span class="pln"> </span><span class="lit">#b3d4fc</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">text-shadow</span><span class="pun">:</span><span class="pln"> none</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            html </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">padding</span><span class="pun">:</span><span class="pln"> </span><span class="lit">30px</span><span class="pln"> </span><span class="lit">10px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">font-size</span><span class="pun">:</span><span class="pln"> </span><span class="lit">16px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">line-height</span><span class="pun">:</span><span class="pln"> </span><span class="lit">1.4</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">color</span><span class="pun">:</span><span class="pln"> </span><span class="lit">#737373</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">background</span><span class="pun">:</span><span class="pln"> </span><span class="lit">#f0f0f0</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">-webkit-text-size-adjust</span><span class="pun">:</span><span class="pln"> </span><span class="lit">100%</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">-ms-text-size-adjust</span><span class="pun">:</span><span class="pln"> </span><span class="lit">100%</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            html</span><span class="pun">,</span><span class="pln">
            input </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">font-family</span><span class="pun">:</span><span class="pln"> </span><span class="str">"Helvetica Neue"</span><span class="pun">,</span><span class="pln"> Helvetica</span><span class="pun">,</span><span class="pln"> Arial</span><span class="pun">,</span><span class="pln"> sans-serif</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            body </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">max-width</span><span class="pun">:</span><span class="lit">600px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">_width</span><span class="pun">:</span><span class="pln"> </span><span class="lit">600px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">padding</span><span class="pun">:</span><span class="pln"> </span><span class="lit">30px</span><span class="pln"> </span><span class="lit">20px</span><span class="pln"> </span><span class="lit">50px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">border</span><span class="pun">:</span><span class="pln"> </span><span class="lit">1px</span><span class="pln"> solid </span><span class="lit">#b3b3b3</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">border-radius</span><span class="pun">:</span><span class="pln"> </span><span class="lit">4px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">margin</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> auto</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">box-shadow</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="lit">1px</span><span class="pln"> </span><span class="lit">10px</span><span class="pln"> </span><span class="lit">#a7a7a7</span><span class="pun">,</span><span class="pln"> inset </span><span class="lit">0</span><span class="pln"> </span><span class="lit">1px</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="lit">#fff</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">background</span><span class="pun">:</span><span class="pln"> </span><span class="lit">#fcfcfc</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            h1 </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">margin</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="lit">10px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">font-size</span><span class="pun">:</span><span class="pln"> </span><span class="lit">50px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">text-align</span><span class="pun">:</span><span class="pln"> center</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            h1 span </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">color</span><span class="pun">:</span><span class="pln"> </span><span class="lit">#bbb</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            h2 </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">color</span><span class="pun">:</span><span class="pln"> </span><span class="lit">#fad629</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">margin</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="lit">10px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">font-size</span><span class="pun">:</span><span class="pln"> </span><span class="lit">40px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">text-align</span><span class="pun">:</span><span class="pln"> center</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            h2 span </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">color</span><span class="pun">:</span><span class="pln"> </span><span class="lit">#bbb</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">font-size</span><span class="pun">:</span><span class="pln"> </span><span class="lit">60px</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            h3 </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">margin</span><span class="pun">:</span><span class="pln"> </span><span class="lit">1.5em</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="lit">0.5em</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            p </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">margin</span><span class="pun">:</span><span class="pln"> </span><span class="lit">1em</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            a </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">color</span><span class="pun">:</span><span class="pln"> </span><span class="lit">#d8b81c</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            ul </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">padding</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="lit">40px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">margin</span><span class="pun">:</span><span class="pln"> </span><span class="lit">1em</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            </span><span class="pun">.</span><span class="pln">container </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">max-width</span><span class="pun">:</span><span class="pln"> </span><span class="lit">380px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">_width</span><span class="pun">:</span><span class="pln"> </span><span class="lit">380px</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">margin</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> auto</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            </span><span class="kwd">input</span><span class="pun">::-</span><span class="pln">moz-focus-inner </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">padding</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">border</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">

            pre </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">white-space</span><span class="pun">:</span><span class="pln"> pre-wrap</span><span class="pun">;</span><span class="pln">       </span><span class="com">/* Since CSS 2.1 */</span><span class="pln">
                </span><span class="kwd">white-space</span><span class="pun">:</span><span class="pln"> -moz-pre-wrap</span><span class="pun">;</span><span class="pln">  </span><span class="com">/* Mozilla, since 1999 */</span><span class="pln">
                </span><span class="kwd">white-space</span><span class="pun">:</span><span class="pln"> -pre-wrap</span><span class="pun">;</span><span class="pln">      </span><span class="com">/* Opera 4-6 */</span><span class="pln">
                </span><span class="kwd">white-space</span><span class="pun">:</span><span class="pln"> -o-pre-wrap</span><span class="pun">;</span><span class="pln">    </span><span class="com">/* Opera 7 */</span><span class="pln">
                </span><span class="kwd">word-wrap</span><span class="pun">:</span><span class="pln"> break-word</span><span class="pun">;</span><span class="pln">       </span><span class="com">/* Internet Explorer 5.5+ */</span><span class="pln">
                </span><span class="kwd">width</span><span class="pun">:</span><span class="pln"> </span><span class="lit">400px</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="tag">&lt;/style&gt;</span><span class="pln">
    </span><span class="tag">&lt;/head&gt;</span><span class="pln">
    </span><span class="tag">&lt;body&gt;</span><span class="pln">
        </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"container"</span><span class="tag">&gt;</span><span class="pln">
            </span><span class="tag">&lt;h2</span><span class="pln"> </span><span class="atn">id</span><span class="pun">=</span><span class="atv">"errorTitle"</span><span class="tag">&gt;&lt;span&gt;</span><span class="pln">500</span><span class="tag">&lt;/span&gt;</span><span class="pln"> Server Error</span><span class="tag">&lt;/h2&gt;</span><span class="pln">
            </span><span class="tag">&lt;p</span><span class="pln"> </span><span class="atn">id</span><span class="pun">=</span><span class="atv">"errorMessage"</span><span class="tag">&gt;</span><span class="pln">
                Oops, something went wrong. You can try to refresh this page
            </span><span class="tag">&lt;/p&gt;</span><span class="pln">
            </span><span class="tag">&lt;p&gt;</span><span class="pln">
                If the problem persists please feel free to </span><span class="tag">&lt;a</span><span class="pln"> </span><span class="atn">href</span><span class="pun">=</span><span class="atv">"mailto:sales@miraxsupplements.ca?subject=Server%20Error"</span><span class="tag">&gt;</span><span class="pln">contact us</span><span class="tag">&lt;/a&gt;</span><span class="pln">.
                Make sure to </span><span class="tag">&lt;a</span><span class="pln"> </span><span class="atn">id</span><span class="pun">=</span><span class="atv">"downloadError"</span><span class="tag">&gt;</span><span class="pln">download</span><span class="tag">&lt;/a&gt;</span><span class="pln"> encrypted error message and
                attach it to your email. That will help our engineers to solve this problem quickly.
            </span><span class="tag">&lt;/p&gt;</span><span class="pln">
            </span><span class="tag">&lt;br/&gt;</span><span class="pln">
        </span><span class="tag">&lt;/div&gt;</span><span class="pln">
        </span><span class="tag">&lt;script</span><span class="pln"> </span><span class="atn">type</span><span class="pun">=</span><span class="atv">"text/javascript"</span><span class="tag">&gt;</span><span class="pln">
          </span><span class="pun">(</span><span class="kwd">function</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
              </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> </span><span class="str">'def50200ab881eb66b84d16a2d5c6e5213f2039e38f02845a6aa7218db898017d370c83e89d367b119934ade371a75b3706cde3ecb5cf57a89cf530e4ba2a8cccff6dee55b6d9b368cfe9a6e2d339ed953fdcdc57c7c424b67441486ce69bd2f08bd2356555f324c27db296edefd0d5cc797e0d627a2265194020d2ca7847978ff243df396ef3e4c87ef3a6390b7028d1e0d2059bc4645674bd922123896ceec80ece2619509e184bc7d9c1f9fe1d69f40ae658177c86775269a263c935e146c8050fd96c0129eec9cd1c1c82701df7a5c8702116c762c10d98458598036db0d4d7f187363ffd800217269bff95de2c5ed02c7ff7e890d65bbfb86d0d28f4242d4fdadb716dde28233adfad86424631777da6e75052920c863f245072c3580661564dca2c5b915b594ecca4e747c46ca4a88c07f714e914a43e9fccfaf5b11fc04900a5e5c392bd9ee1d885125c1079b4eafb928fbf80d435f562e81684997c0230a71f1d8a39eb6c4d3a3ca695105717b8774d5158c24b13c5b85849f414ff7bea4e44c2a9ed7ad87eb5cda35b866debfac3ad2596d0feff6d6628eb7b264739e8c41848186ee67b9ada45064e10ef3c55c71e1b35b298034189f8eb2c950dc923d7264691bd6fed79b7d82d17a0e70447e89f6e1eb1bb6cfce50f0e8f7c05d0dd8ed73c9cba09999531537c04a876fedb710c257cbe849c90bd3a8251939bc2231a63bf5a5b4563328f9a73442d38e4aefb6a4ddaaceac4fa82f56ea87b72b61fd496006cd02bebac3dbbaa9882b9b9900e76ee117f8cd0501fbb52f754bc4bc1481e2612d52fe67312eeabe516380f553f5eeb41cd0ceb5260257a7d9d62a150246ed1b912c6a16c4d644fb04676165a755ea4b39092f307846e84bb51cbf9af42e16a7e3e3a2c09032e4d2ffaffa07d9dc57509740bf1368effd38b343b011c805c623cf2e79ffda3bcd021496244b3f24ac6960c24fc8ceb6e9b9b312c9b7ffe92fa56b7e23882944d95f363a9dedd16e16ee0a23942076cf1b69e7778da5402b2af885015bcd3844b5fe398d08548c926d814aadc80d1e258c48ff03a69fcf1e19aad06d14aeffef0f6aa8462657adea77047f571ab267cd3b51265498ee637ff2d65ae3794e326966a7059dc2a755f28de818cbb871836bf5dd83c7f3cc95f867fd99e57753d458e1eabbfb16022c5ff0370ea73adad3979fa8115f3b91a387886ce87d64505683c4b741a19b6746476a2e6005449c79ffba9177a381cf11b4a9184fa763fc0b0da99656bcfef474a757cfbf216c7d0326d42344e7728f244b22d45f2754cd136b71352f4c24af989af5dc3aaf20042c6d912104593426a49b8624d3f143680821a3e5e61b51ebaa2a20c5c952b15df9e4f58785fb514fae4a7f7a37de1b11e1343c3ba1e9f5b8a2f56d641097283aa9ae4a75fde32017fecb329ed5da5653d45a22af327675ed013f5fa09b56ed6b38ba87bcb2926c60a629ccbc3ec0c5c83825b8a27f872ce0fb6dd27323cc6599fa88ecbd44b9ee7637675fac69df26a4a3b65a268ad1a7ec27684cb798313def29d76eec507a39be52d8e34ab5cc903b2a5f8f0487f0047a7cbdf9cac16eb11d87ba7303c0f834daeb5abdc41d73abec86f5d27b4b50955eb3591ace281aa9d6ac97a52cbe7bc9febd62892e00d17150845def1482d73be5782e324b9585b4b4ddd5a413ddb576afe4125680973b87253d20adbade03b3a7b78a9434a57b6e12d7f0313259c92001ccecc656f51f249c2d890b79118ceaf52662d4d2a7d46010bf08dd84cf89c6f680f3dd0c9c3d2187f35ba0cde9a920658e355928ac7ebb2bbae7a0aa0ed5666135e2188d92ad515f333663ed425bb6c6b5ef2dff1b5be8340d9e39173d7109d5ba00df93ef97ba0ab22d0e625eb88494fb5edb657fb8a912ba1c814c143f60c42d1322662da13eb96583ddb690c8fa42f42bb555b9f0c740362b98b1f9b8ee6d9849300e063c3476da843e2f9c84b15db741dc4f5e174026d96ff561d54fe7404edfddd0182c14b58c9214daf2c26eef46fb0fef3aba31a43b4ba1ec828f21efeafdf4c46be85d45646855325a6f0124f155ee700032cebb844517988669043ae638b40daf6fe61164eb146a2364dde249428835b5ba7b8761bd3612d3e4af0f9f0bb1d5ecdec793fb9b5a86c00478fd4e47a811b698ea5fac1feac81faed871d89784f1addd73dcdd3a71df6e914131d73d3b7b6e61c04455222a4a802e0cc716639ff8ce5f361eaa711114e7d03636517cde8f2a2e9079a445425027a4535b452a25c88f742660e07119db689a7ef0b051aab92d3ecbe313105b501fcdbec22bf75a5171a24c57edf35d014782c7b1934826a8d3da58efd9e8f5437f737ce074897cb2cb2f7c55d82c857241ad774c24b48dcc3fe0a8a7d6e3a37f1f5a95539920ef93cd1002901050c5613a48584fcf3798bb0b9405e8aa64cb806f2bf2c235cbfbf740ca9d02df9eec1edc79ee444373f76aef1273d0d5078a1b8ade0e050784287cf69d3ed01a94ed882fb02ed82fca5cf5d061c513f223d57606a0d5810faba0a781d0243de75b9a9c05a9d8f200d55390ceed2ec137d1e68e04d39876b80813534bc0d651d6b505d62dc6071c74e6aa92601d91ab05d7aff01cf9472f048c734ec14fb3251337c18a54156b60c4b71f8b8cd9e2bad290c381f37987f02cae56f0de748866d20b063985f2c88e648f3e33e533709e3d6e2cea74beacf9128feeefedd03656917cc5adceb3c24536d129f92e24008aeb3d378160e67b3305b2081b669b6295c4a0cb6f7ff81e5999c5492bd1004c0103bd9e54312845156ac814670635a97f34139e3b508c9410b1b69ee803afcedfd3300f39c295a41476bd8da6deae3e2f2b8c23c8cacb7db8866583a2a283af15e241c7379589da977ab936f61d7a28b8c12a18ce3f54e48cdac02e04825ce5ea150036a6f7af7bae66fa84ff44f992b85d8a3142d9686ddbc3557ef8e58a8c9ab0c2ea4cc579e8919562a782899eb14b2557957fbf5cf780bd6242f67756688a2d2e0ec1438616b45279a3bf8ec0e13930e8e1dbca79ea4a33e849ba86085d2d1f6d894ea762235206ebdf3ec387893f5b6cf803724ac598c8220ace22f8c0ca7f5ebc02bc53376360a3aecdc8dbf14ca9b8fe3bd26319e61ea4b8ff688c22972af2651cc0ac2da512f71f0a2bd8b131cb236a59220cb2f3a2d44bfc3209e2e033642d8899d49cd434b08bbb67045ff6fc0ccdfa5fc283f8ba509704565577d944bc477eefe6344fb97d32eee2335cbbd4c6192026e7ee69b5d18be0db780d686bf91b9493ea90a1d3615bee39353babc6fd6decf828512528525fbe3a7832b36889faeffb65d1f0762a2c83acb89a9ca11f5661f9b7c9e722cefdee645a5a1e11103b22b7ed0e7171a240bf6416703c4ef78305f273a6c86fb03ddf140a4489a2050bdab08ef3cc69160d50eda54191ee52a704f2c360cc3224deb4cb0a418b6d16aef99a4a73caa926a8b4b3fd911fe1e6bea44b724f1b30d1a310410cab40e1079b4ab271b7f9171cb3edf3299f8eecbcdafd484fa1c42792f12787a0929ede9797c22751dccad5e853034161917f90bd46ef637ab6ed3fbb0c8679e59f2f00fbc6bf1d412099406c63c26cf49d75c34579be43f6c7c3b7a9aea7529d94eb590cb9c5be03ab8e28c70731823c7d36b4f6606531867978bcaa933366f2b1f64066a9cf9b701f97eb63e790022d95876c0e77742b8478a55888f116458798b94c09cd49f8f55332d887938ec30842ec2c5074840e104dfbe2c8f4f57e0c44618a95008cb34ea0db4fae0cce6648c4c948839157673bc571a858d3d114cd0eca7a52efa902482e04a5730b9e7b35498bd959307ea3886b239df021d8be29a04ac9319a42ff7f3045247ccdc0beabbaf96446d7e44cf571924ec770abb72301cf0b1bea9850927abb4948a2e2cf83324df5c686eb11d7a339594bd444a2727713f9ae2e5cfa72166d6c06e59f6296a844ef8bd1c9d206d993a42760c9e9d7f57f90d137356e33dabaec9c5d94b93d2139972d745f7c7549d72e73bd264c0fda51a3638fb43e6b59c2e777fc1893b9d6ebbb6a9b377f99b12256a4dfd6f5c088a9a99461ab3421310947b54ff1cc40bfc8434a0253950988d3a754dab9c67289a2e81bb912fb323aa0547746f57cb3c2d87cb220178df23a6a43673b515ad0ce2257171538a862a363b474bc2e1dd1aae548544fdedad831cc095af532b280843b48a2afc546d1ac567423ef39c8243b17f466b196f2c8552274f50100809469d436d373af3dcbfcc6bedfb1e44f9f65634a9f89d82ffe086068ee3d7aec047798e90a418baa4d41c95dd79be9e7eec98487839863931affb9ecee32eeee5f7f86905478e056cc54fa3ad5558fea7091ed65675b07931e0f2b4e23afea282298dee52ce2bd419710e769a3dc0e895b30396719be9b784e51e8d1fc09ba8df145bfd11bd498b46e098dbe53dc6d0fc246827c4b34dbe99383760ed726e8853c59cff70423b15061d86f0ac30d403824a4a0092747d8713b30d8f7c8edc21ddec91301b156b3a8f6b64ca459fa15fcccabbff2e9bde0bccc29bc9dbfe84482078d1e5e5a7226544d5d845fdc8845151fba5d2d357c6f14d524426ae7a0d9c8a77151248d14f8e8946572902a49869d679505c757d0aeb7bf4b866e4c336ebe294ed3e1eaaf4def97d2cef808f23519bf0afc4ab43738cefcf471f2e6c87a48273027b84cf31880f298259ef23da1d51a4f3aa65dfaa5f1b82e82f3ea449c5a93df282536eae4bb4666637ea01deb990d83983a1a8ac10667d4ab33c861143ef8182adeeff351d648b5ae189da3fd0957aeb180c847b6de0cd1704bf7245a3442bef64a11a9a821f782b545b7d08e0ecdb2fcad0d7e1d10b11a1a9d7fb9cd6d2e950691bdd068d23a44f7d3721946cb82c122b7faa4f8ecfba126241ff09f24dcbc4061cd29445a2e12f86e83971f9ed1f5a9a4f1e8be73dc092027e643ffd1bbd9eb285c109394b8a5eb9b1ac39a39af30bed58c8b1570ba235dccdbc80ec5d6b47f8e53051687c9376d3a7c05a0700ad79d83955d810b84b20fa6639bef92d2375f44d400e80dab733cc3a7921cebbd30f513679e324f34b62d080d8c27e3d630e807a498f2fa151c375c5114cdf249de861968f86a0e74bb7ac8291afb5e043c6cae3a7c3fe0020a225bdb6aa978470383e7aa6ede7e6fc75ff662b1fd2c597af6cf2304bb63b45be560e664fc736d8e5afb08afe7051d5c9f0721ea41f8678473125f81e8e48de0c019234b4268b3e56371c092f9993d935b8e660b790d944881db5bd27c3dac0b9e08bb3aeca035be32b3a11b72030bf941a206586b904135b3600b684accbee62f9d8400ecac97b9e01afc4bb8a895ca1cc4fb0fbb61c815e568437ccdd88332dd304821485e1744b2d8a88f2b2a0dcf5b2342fe98f5ff35cbf90b1a5d74f5195e17568293b7ac324546518a77c235c262168dad02a09327fdde166b11885f2e2f1433ebdba40d63514323effc0e5c72af4adab9fbffd916ce90392c5eb741a401850539b285e1559b63b288268fd5e59d9654e00cc2ba5e5c032d99dd0f13df6875830e5ca276edeecc4a27675c2f32c1c81afc91b3951d66240dfc8ede418461d35fbfa0f37b5f7f4a70ebb2a6b6b0a91a7d4db51ac2810b337852e509c9802b4b2ecdb3f01d0f4da60f39bcf065f8707a7d4e51677ae3c379ac0758de2c50ace73114585743c67296b60c42839a6d9def0a7f0e22a6a1be771ad2d532d081a27cb332378c69ea5539ef53f3df5a737541e6eac1787814f6ed82bbc3e3562b59ef7a538b05039f2ad88d9831946dafeb3a9ac12684de83e86103be2f6e0340bc33bac364e1860f56cb5213cc196d201d0167a44643e4eafb1edc7b469dd38ecdecdb0b871ebb1b4fdf1f85cdd0a3a98ea7d79d146807099dd2800fbe219998520a2f0da71898c185e9c20185f8e197dc40a346c680a99792c29ca9451b5606a81873f8494481b6e8d59b1b4105ecfd498697f672d5bc0a29ba84332b290a4f8e51714f4893df068de5e264855d50883be6f67247d08da96fd12acbef47af415728d2b10025a7b6e17eb8ed45f62b7723ce761dc6e1f3c85a83a893fdbd77a239caede06eac54b72dec64a54b947ff160ee752683b8036c88c776ce5cb1407d4a5d6d495babe6d3c24be55edf5a98f7d78965cfe5ca0f83faec6ec1cce656698c1265a09697c00976dfa9cc0e747cd73847a7c8dfe6ab89b727b9b567251f01d411e99af36b8fee1d7d22d95601ad0d0ebda30e89f8464e58b6a4c94f76777a6f719bfef86436fea33cf465ecbb2cb4fd0f726d6e2d77b068f19d132ff3f1a6e289518e96559690d3f0584d8bf7be73684d7f150f5fcd3478da1cb00f0cc0863fb9e400a7fc6ed122d66d36aae6f3ea88ed819c16bf4099e0647b3514b3fb89f0c06129ac33146cdb1effeb3aa9e1fb8f0d6dca4d1c1cc134e138c165343b708a8dfed8017fbffe6f4b56852b151e41360f37fa0afaf0953151f90610fcf36008c4b1ab5a68f16bdca42a03e69fdccd8d8391822d8a1899270b227051dcfb03a120216dda4b1b0fa168477122f9b5f24c3e9dfd4c9b72353550ac7c698cfd741e75962f3582e205bb17767de2bd1fb06634196263e750fb53b774e2391aec650c36032af91c511aedde0f48c6d53ceab14e8f8a767df6bb3e0832cf8f3e0eb1d65ae77a9ddfb13177ab0f69aabd4f491b191f27d419d4f8729a4a2af884baaeef3d959df2d18fc81e183bba7054c0e36aacd1d8e84a8ab23ee48f48cc8469ef15a1a4048035955a09ae0bca76abb90b7782224f0d991ff0261bea503a9a71bbc9abb1200f8c754da67869e23db8863cb96c7b1b298049ce6fd57e6e0a942c53d0469dbbaf2a66b392dc02a1940b4cd2a8f7290a7bc5fb2a28f12b0252b27021bb0cc4d45b3b44315994fc08e70d7b01185a1213b8c9babdaa2e94fb1af0f4731e89f6f272edaf5b2dddeb3213de50c10e5b52a4a07fae54967ea76106a981c9f8af8a90aeb33fd8c99690d3437ee44ff2016ddbe0842c3c0526e002bfed6faa1e582fe49d72870d2b6d69b53e1ffc28f475a1c56f51561f18e2c2415e9d938447982a84122f2803cf6196e648e5dacdc352c28b48d514ea7f109cf99e6366b85d19ec0c7d1c2fded1174da39af37f6227b0687a5c79c9026f633f9f45304520d183188aec876cdadd5ee81237c4cd1794a5cc0565d4d3f842276697162339bd2468cab179ac39c8f5e0e61b2e2bd4482b36ba606d3f120a5f1bda97740ff936525b83ed2ca4e7b57ec234aad73efe47837f78a8ac708b61341b32643f453dcdf871ca6d35ec14207d9f1fee5f741de698b65be0f22f0bd85dd3932f470ca9dff9db91f19ff20e08ab463206c1e8db00a97618f3b07d228f60f5d252191e4a6359ad3b8d55e654fc5c356cf698f99c9b5432491dd6a5330fca722947d4a825db918cb31bb4565c4fb711bf5942ba7c6504e76b3323dac6327d3666c82caffd313ebc2683169922ecd0da0553a854b1e47f94a5f121c19f914155f69494e99113fe2a24c5ac2874a18249d96c6fe8506608338656c68131a18d225c2efd2d1a8c2a85ba6125760aefddcef58ea462b1ce3edec043105a8ed10886b70ecfdf9b4bc78d00bce3a663dad5508efe0ce32b8c9d5dbd4f46c559dbfab3c19ab5bc11d6a8fdf2f3cf056cf0563ec956cc41ffbd76c24c5f8696dcd4cc6e41fe7273fc133d30aef2137809b611d2789ee1587de8201f358b7941bc70e03938efff99a8c00ffe3db2203c63324041762a2bc2f28e31ac101b09f5ee39971b2d012dd219bc06ea107da166b27ece5e75ab8a64d24c33ad5ef9baa577bcae32ab0dd214418f01af8e0da185a4fc7d1a4b0f62d7eb8cc3c4d129e9d3337cf282a773ce8c833d0a870f05d1acb8763564f2348bc204538e5b6798ba3413a792ddb691e0bdf316bef2d6dc466b282909c08e3b0842fdb084b8417b26164632eece33876fc444367571ff7d204303245611dc82ae523a94aea3fa7f245e8d6cd4bab79af670a57afdd4bd5c695259f0a14030e43288fb949799aa180fa7707c7967aea279b6323a00d2c2dfcacda2e24ab6af1b93f106be37fd8717433c48970f6d1dc0396e8f1fb00b505bbc03872cc52b26723a22a3d37654012fde9c9ba76e212ee55a7af13d54880df02bb8fe8362ee1d06399b785f4c79605be51972f2eebb55659709a44a061e0d69d24e87c985403cfdda01f667d9a435a4b12dd1420325ce008cb3afbdd9efd61e331c9f7ffb89c4e87af7fba4297055ef7f6dbb273b5b40b4b8355e3b37ae25f11e65a601da43cb73f255999493e3030f47fa84e32f8c59965727dc248d5c74f38f9c26aacfd53aa6bd8b408ad20c84356daf3ad800e5344d820cf45752bc8e3d36605505480a42c64d37c0550177dad6ed67fee8663514cfb23e5f853e57d8c7a983dc14979b9f42704146af6c1835e21a431b77d2ca90b4a74fdde6acb0de81fd7ce3de4ae86dd8fe66e7cf91c097359f248c0ca1d14dcfe64a7721b09ad5e41094063c24f2a005ac8d9ffc22b59ec352c2920cc7c6e0daff8556b31a449fe91e09bd001ceaa7e957c1fe36b18636caf5767ed8bbb1a205be9c3baaefcf2e4c36213919b114d8b5bb71e9f6de4572458454d11140130e3b5e8fc9177165b97b706483c7df8252ebef9a165bcc6a9097d45b2e8ee543d8e884b66f3388ba2840b63e99865f6e9af275c9b1aa0149925133f102f6e4ebbf11059a7b7bb5cafb7f31e68b8f290d05f82d79896834c1713c5372b3accd3dcf36fdfd27b3723e0b7e9c398e2d9438ffe0dcc15eea71ed7accc9dbc8dbc5eb414562d19336aee0af2d63ea6e0799c226e8cc0e72508b55021e2a60c355404523938ba68277c7a545bda2683b9722f771b4faeb8ee78a83d52c66389d9c71c637beb7e8b478389c7cf3d28435c81cc95c608f3aadf073e9c877d112d868ab8de51bf0d5e0b8f0019bba5a6fd9b49d99cf26cd29066eb69fe01e27d9b60fdfc34cd59382ca3fbe77bdd272908559ad44a67a7a77532d35c3d677d08a82d919242df1949a2d9b9dc3956515e6873d760e9ed039cad1e30127d8e0b0d6eb78d153e50ce8e842ed36ba48688ab0aab9726216ddbb1678f524b51975ff62f7f17ca230b53d2325151a7d54cb7e276e30284b5c955cab4ea131e0ace8876869387312e2203a3df3765401cac1803fb282114b52ce0dab5a3a5b30b72bc2d51e0d099181f28373fc84a9aac65a98fbb6b829a85cf92ce2aa759b2c8dae0a280f5c067d885a27940f16fc835fb418bcc65a959550edbeb50dfc3ae60fb3b4aef131e1bc905af7a3dab52a1a10bd1342f8424d5588d55753d3845cbe6ee2e2d5272d01457c1976cbec637bdd2b0729276db613193bbb2e8bd6e37b9a0b7e098db545e489e90de5bff1ec3a69bf1809d93cd9c62654230faadb115049483ee5504c31044b06e184ca5702a0feb08599a3f67d3e2d11fcad7672ee76869a0c887c52b9e5c527e66602f70539b754266befd37226a2f0ccca690bf7483eb32d7b5df3a3e832ef34a554d5c5c41374236760f3a35a4d3922bea6fb4535e9dcee43af6eb327929960ef468017fdc5acf3d99fbb6767fd971c4b520c2d31cec5c807cd25a0f9c00959ffb200771dfbfdb89b716abfec81273119e7a0c9eb0b634fe171833ba21c65dcb9d97493bb82bf383191e2d9aa1c5425eaca5dad09be835757e8cc944154011d33b615280ececf5486df09d2ad2be72f597c421196927a8066f61a551fc369441ca7d70ce497a1f252a63eb2c8e950d2a4c65458293c15b65a8db1da424fad8337b56b757f8417c2ccce15f35a9946c50cdc9f5fb2e841caa6945704d40330f1b5a4e88da224671d8d0815a12133f98f219b0f49d7543fb890feea399b8b5a54a97addf11cba06ffc562e8bc1022dfbaba5f034684011f54828dc246ebe470d75178e8f31f0c7f79cad76f056cdddc600eb9e5220946ca3e8fb45d82832e2874f15101c50855263a06817cb998c0fa11bf879a1c5101a7662873c13c2001095119ef9cf53370754e7432628b3be0d5bafdd9f109648f46f0c16ba106eddccff28434c9264bc990b9d5eb3d8269d4dec1e4820b47dc058129158b745c15bf87c32f594b44fc1243784b71895769b42eded5c4e204e9d4497421c982e16d1c71b8723af3bd87d83614ca1fa6a774d46f630f5baafce81668bea3fc0e0bc2d48dfdced9a4223c0f8a720d4b58b05de08dd28ec717feba90193ebf3a0e32e798fc744db4dad0c26f4b0dbb1f2e3da49d6c591f71c2b6671d01432e2de26fab4e58759dd1ec690a366dddb5c9ac87a5093bdc23cd4518ba214058d39414cb805931804970b4d1fb34210c93a625247cb3ef19ce06237c3956d3e1050b5de47a128502f5b64efa10023d7898d545371692d9d658b29bf68218703f076d69f8410e205043f1fe9d3fe68a8521c4a8da6aa418cb310a4c1e075d6d2fe67a5b46133749dfb182446254ce15f1fc745d12f45916c0a485bf2ddc3e2e408e7fc81b9a3cc6635f194f3ca5ed9ca91ab0b8c4c593ccfb950f2551ffc0f061c650b12c87f45d461b69fcff65e7db74d529b2d254cf573066a41f8bf28a3a2cd6cfd811106817ad192627f1aac89857e27d54c8128782591d7cbb5afa542461b48e3c211abdbdb3cf9a5ef0b053f9e539447859bd1216f7ebd4e413170485cd7f99f0597209a18cfff1dcb48b5c3bc0798621e43b25c9a1ef48c955fd820735bc38859351607e76aec69499eecd53368d0171356cede37dde82e236bd17bcf899a5abce214076a9c2315627192e3e6971e8a3d939f3609cbfb517ae2d4f36f09897483b096aefeba46109a846c592957d4606801b241c331520de83e72c90daa697871033f988633ed574e2f16f866fd5ea9e2855fa3e7d6efdf050a59c80eadef5b31ee3a6a6c59bcba454f68661ae4421d387fabd8eef9719044eeae7f743c23beef6bc097c3fb02f906fc7a340969efd0a858c53ae32659dcfa44c49a6634157551f021c37af83b7655c0a2da9ec4d88a218f131c4cdad79dce169662fd425e3467f4393ea6527f04723c16aff99f7b6dbaf087dd8b8099467c9bce9e5a0c0410d493a2efeafb89c4ec0a5c8bca7f29277157efd26b1ab1b441acf750b49e2e2be75d04b739f82f2b1520b2c07c45a74757efb6d16697b15e2a0bb9e0490b1eac89cc8bd8aafbc719b4df9217cddfd3d81a42872e70dbebd7fdf8b27c5cf6859c641dc9c73d30a174179303071534f1bc1171a64b26db49528296ab6d5b04a99ebd64b3bf684c800aaa138e8b43e0abaa763b575de72fa78db9dd49d8acca74582724291ee4f1eff5e1b76b30493e7eced32538c6c1aade6d60f40be51848bf4ddeca04c73c57929d70205cf5662b5cec31228a35ee29fed1ddd182ec8b1e62b6dcf12ab4b72b750328afd6b74da3c74fd90be85d38ad1d7c0d0a8aff3df54eaaaade75948ef03dca7ccc4fcd8b114b0974db88054231737eaa8fe9522c6a9135590086a05483a4cf8a83d9142a31cdcca8e12d7b520d5c9702a185aeaa506e5ff064943b15f90acfb4da05d46c7f3be29e1308a8c98fb612a22950a4ae4df020524cef1529e149a09586db92dbc86b0fc3f34494a2720c65ae7e4c2bd7e9acc72b38b28763071a6992b933ae9b4e0450b8b9d958f84167b0dbd31de1aeea0190d626b9c9dc151bd2db816f57914406e192725f780438d682a2cb7daeaa686bf434f5855ae679f4d55cede6dee39aa2250be5334a07c3587c3efc5429889bcfdce99ff8176bf9e2735841d90d79ad6a36bfb636e4962a01588fae5c9a1b14fc7a8e11b92897664aa4827bdcd20960f51a5ec0c618273df59769a578c141a775fd5c928f9257f422da4a3e76b7b3bd1aa5162de0ed0a2b519e45fe05f79b6121d31ae5f29aea983a146b2a6a0640f947a1b95c259deeda6f92c49ff380e437fd7add8d6c7bcb7c5f1f2dcccebd77493ebc48a525208cfd4e7b45b3598e5d92441ce456c9f87aed933d2dca86e0946a8cfb803a549463c0bbb9be70b4ea7729903d23f14b3b0a2c0f1e5fb20d1d6651c4f98a64e8b9884e9c9f8540f7f52e3fd31df88a0be4935f516bbed5e7c9312003ba0bb0b0adddd0d54e5335d7dfe2dd083e9520ef2004e2abd9a0c6810bee96ce0a1d3a8e5f7407c0ffd3d2258592c7ec1af938763cdecdc339fba622a9e8ce14e8e14fdf4b1bad82a357f4d73a1bb7d82d84af3ba2c63ec7579079d410e0a37d01cc6e811b14f5f7cd352dde050bd1c5e42cd46510c0b004e9895b82b249d03260d8662d6ecc54dc1ca527f720f4cce3c7ee42629e2e6a20cb08e70ad122b6f3a46e1e72f2b372361156988219deb8b9a8aec7c4d0099e40fc0cd8c6994a1703319e96c630d502839d6d9042c68fc0345f76db8ada1979de6e1eb2f60e052878e126774b3645647300240be69752c845fe240d34c8913702d506ec094f3541a0045add915e17cc98fd99659556fc0c3f37f3e6ab04addf1ca7b67cc119f5d241f1bed75678e817d2c693adfb8de77444a8e29e98050945c279f044a08ffb2744c974ab518aa560c7450e57ec64f9d9dc7bc9ca18c9d385509289503734e559678285e7d550f9d3aa0a2f67a7b17e5222efe8ac4ff71cd6c91d5fd2f18f648604d36d337a7b3c064da96d3f6a0000645965963d9d8a47407c03e558fabdaa3c4ed98c65e56f1d83d14acb1b26884a4781480de562d0f5389ae2822c3648373743a7b3e1446f6c6aafd615587787a660c22424743dbf99f75d95a380c3b0c1e4e89a3fef7945a6fc3b7ddd25a326df3e7366fece5bdc48b95be64c059fa31bb364e73167bd2cd1f193a1fb8f445a720894433b9680e14451cd88c1a98e10a7376d4c9bbcc94745d25f4116f10a93a127655bb3926c3654feade152105db4f8229e737a1c07cfba1043655f441026cd75a4b5232681bc2e5317ad4593ed41ccc79303756be9ae25faeb8ee76cd4dcd0870f4b0e484bb0ccd293a122ac9f62ddc60ce9aca3fe84cf1b248c43dedfa4bd02472721e63b3a189b2798cb9d4ac12112580d2a5f3f78a8a6a9f931f9d746053d443245eef502a8d826835d2faae4d9fc9a94698186ba5c265f7b8167e9ebbeb6287ee6a2834595fdc540800bfadfb7fef00c0d5190e9324753e2e347f097dc59e5425e8eb07a451f7cdc57a949c4bf323a550a5ff17c0747bc89ec0b9d5fe9328713c600bd7ce2ee91e0f5bd02121b0ff728bfa68d4996a5bd3c6151c51b7e29e926efe6fab9a40cdb04b4988546ce302c458b7634766f07620bf3567446444485e313bf008159210b22fa527a6b18cb651325fc702ad558c6a622158b91aadf39ed420adda4c37de214806fbdafcb51103020fbafdf2892c0eac3cb8989aa97a55661924361b12443cae83f20d9b628c2c7b73ceb2c5dfabbc05d5e8c6ccb29b7764a936e43dbf0ea1b0dbef03e7287189f0d087044312ec8bc4b31f53023c72bb7f39d52e0d6ff36497c179bfc145b142cb59654f2c531fec03458e14559b589ab9ca72ed69ecc70d5324aef4dd036e9fdd49a20562d9bb64c4305ab5b11f15a58dbf0c32ffb832dc2a59ba3f8e7362fae7aa488a52fa61cc0da63d2784610c5dcefc6bc5163cb4c7bada3c7459451f74186861fb579433a080d4190d2950b91d3a62a3b0fa169cba7f124e8f781c41293058e33e00cafcaa8e1922ce5caede538a9928f4bf38babb562f2b5b1e8e560f4af31916da6873f1cfc0ffb1ca1c96e73022cdd4360973c36f0836a639e0d5d73a585e5fe3f34a7e3ce276c28ec65a64e3aeb2bfb6a1c985596566c61f8d690ec780b809c770fec1be017ad34da3bf834747b6d443698f01fe75dd77918f5e406bf1890794847b7741d18a984ae3f95965fb85ecc5bace8791a3829c1819d195e5ffeb9bdec6982679802b320f9cd6b7f71572bd9c1fb314f5fb1f60647916177a51fc3abdde021b48f17c451dfd9cf5c7f93a6472f69ff8a18745aa99a58982615645d9d4d9e13aeaf68ef5a9ac91a8cc2ea52b8f1040fda9eb7f69e0912891c688f7f650b2583520a2477be45595b70d44bbeab2d94ef82425aa2f3498a6c2cbdc0462d17125d6d2369c38f3537b0ca9898ccb60779e00365dee164ca5700e43a55fcfbb81095102c5838d7dd93e1ff2e6a6e4ac4b7022c75e28d158abf0ccda4ef6f7edae3643ecf5c5ae5397976c6649c2db2755339bcd8e06de3fadaa46ad5580b4a0f74b234c15b4f4b82d2b55638dfa2a4287f7a2e42e9548863bc587abdd14421025042a44bc4dd373ed11b82f0f1fb097b5ed1c462d599b13f300cbcea339d5e8ab0b870e9ad98390b03ba3e26d2b60de8b04847e8c8fb243714f18ba72457aa530dfdb66af4f0cbd7da27726a33d79350b6a0384da0a487536265c73324cc804c038f120202b32151676d2fb2926e4ae1e6bcec6b258138c866255a1688c9d6f1c14de1c399ad0e9b9e39da4c6167c8952c4b1a320df1924bfd4fc9bfb755447c0d0ad230f0b7b37fa04aa239e4c4271b6ca5d0cbf880c02ffeb8c542b408751f13a1056444cbd4375210cff7963dc4fc3d31ab9892365d8b893c843ee4a439892d1b089fdb38f7ed8e3bbf3d536ce655f43b572a3e0c830e5687acec5e3f9fa1030dc3bf1eb7d3773a0591d4931e29c7e44252868e1535e085a03c057cfc5bcc783e896851dd38970ecd34f21fe84f5e7d83080007eb43e8e8becaed2290e94d59f89754999886ec1cc4d89a4a0424b819f23586d277f8ebdd102277f3284a8a0bd6767ac20b96d3b1bc78afb057c743d33d35400f69364d8e797e716fd0c1a53833a18d03ef1546894a308934edb95426959d891fdc58bf4887874bcda1c55f2c9ce0cda2c64ab0d656611adfae2eb8c4946c2bff842fd113a16311a6fab77837be47b1c5630709170b2bcaf803237664bd80e8892f231c597cc1ccfb74a6a36c616a885a77683784ba6b4dd397d0c53b25d0438ebb2f16c7049f2235437c75232b3edb2f4086b7385e355d44deea34733bd096e5df6bb621dbc44038fe2dd152696b29bdd9c6e75c1a6c2b28117f98955afe5eac0a58b841430f21556bd2eeed298e91d067775d43efdc2722f3a6a73c15f336ff311c5041a3809182083aee3a4a443833a67d2dc2babfb936642e288f05fe641ef530b7a068f036265820c5313a265c86b9fb157055bb2ffab3d4ddc227dc4c4c3f3e21aedac3fc205fc1d8f603556b9b53d0e8fa29604f931695626fcff5726e12d864dda2789d82f8f2f8adab392dba6eb81b2e5f0800517d905ae0dba1063bc31076d38cca0f8f3215cb512a64a7ecbdcb29ecca0930813bec6c3933df96ca20e18127d81afcce9e7ec81ab09d849c4c8c243577df91b42d638882197e2673b1386f2b35025b042b4557016c27f4b651337a0bc54aa79c73964406f099bf8bac5ea0cf78c204c4980182c6475e8efc219e625743e4489629eed9ba559fece3a0e61a336e778eac357ae9c16516878456e76b7e22c6b69215186e8ce068d3ffe15474800c5fe669ceb4f3331662063eeb59f5f817f05707eb691f3728062fbe48249c54c4f5fa81b02f1156f39a0d00f4fef5878c0257cf319557e37d30a38baa662e6443f13575e17a2587f079abf07a0497d21919728b253c374acccc2a92ddf2055bda685ee8678083c39562a9a41c84c810cca278dd549661238c6ec1e06d06d53ed4df266ff07c35f696792c5f38fbfd097162a73b59a19a41fb6935457ff6f3b65e2cde78436bf5cb78d5878de1cc432b44d8b8ee7e43608e6611126d44359710a536d554cf8f31d8bace919feaa12332033dd4bfec46ff09afd750d2a81213d3d66bcdcf88f9ac67a680a36d5c12c9434694394ddebb3dd7c19ec7cf1eefbac5c91d8'</span><span class="pun">;</span><span class="pln">
              </span><span class="kwd">var</span><span class="pln"> date </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Date</span><span class="pun">();</span><span class="pln">
              </span><span class="kwd">var</span><span class="pln"> year </span><span class="pun">=</span><span class="pln"> date</span><span class="pun">.</span><span class="pln">getFullYear</span><span class="pun">();</span><span class="pln">
              </span><span class="kwd">var</span><span class="pln"> month </span><span class="pun">=</span><span class="pln"> date</span><span class="pun">.</span><span class="pln">getMonth</span><span class="pun">()</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
              </span><span class="kwd">var</span><span class="pln"> day </span><span class="pun">=</span><span class="pln"> date</span><span class="pun">.</span><span class="pln">getDate</span><span class="pun">();</span><span class="pln">
              </span><span class="kwd">var</span><span class="pln"> hours </span><span class="pun">=</span><span class="pln"> date</span><span class="pun">.</span><span class="pln">getHours</span><span class="pun">();</span><span class="pln">
              </span><span class="kwd">var</span><span class="pln"> minutes </span><span class="pun">=</span><span class="pln"> date</span><span class="pun">.</span><span class="pln">getMinutes</span><span class="pun">();</span><span class="pln">
              </span><span class="kwd">var</span><span class="pln"> seconds </span><span class="pun">=</span><span class="pln"> date</span><span class="pun">.</span><span class="pln">getSeconds</span><span class="pun">();</span><span class="pln">
              </span><span class="kwd">var</span><span class="pln"> fileName </span><span class="pun">=</span><span class="pln"> </span><span class="str">'exception_'</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> year </span><span class="pun">+</span><span class="pln"> month </span><span class="pun">+</span><span class="pln"> day </span><span class="pun">+</span><span class="pln"> hours </span><span class="pun">+</span><span class="pln"> minutes </span><span class="pun">+</span><span class="pln"> seconds </span><span class="pun">+</span><span class="pln"> </span><span class="str">'.txt'</span><span class="pun">;</span><span class="pln">
              </span><span class="kwd">var</span><span class="pln"> element </span><span class="pun">=</span><span class="pln"> document</span><span class="pun">.</span><span class="pln">getElementById</span><span class="pun">(</span><span class="str">'downloadError'</span><span class="pun">);</span><span class="pln">
              </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">window</span><span class="pun">.</span><span class="pln">navigator</span><span class="pun">.</span><span class="pln">msSaveOrOpenBlob</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                  </span><span class="kwd">var</span><span class="pln"> fileData </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[</span><span class="pln">data</span><span class="pun">];</span><span class="pln">
                  blobObject </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Blob</span><span class="pun">(</span><span class="pln">fileData</span><span class="pun">);</span><span class="pln">
                  element</span><span class="pun">.</span><span class="pln">addEventListener</span><span class="pun">(</span><span class="str">'click'</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(){</span><span class="pln">
                     window</span><span class="pun">.</span><span class="pln">navigator</span><span class="pun">.</span><span class="pln">msSaveOrOpenBlob</span><span class="pun">(</span><span class="pln">blobObject</span><span class="pun">,</span><span class="pln"> fileName</span><span class="pun">);</span><span class="pln">
                  </span><span class="pun">});</span><span class="pln">
              </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                  </span><span class="kwd">var</span><span class="pln"> url </span><span class="pun">=</span><span class="pln"> </span><span class="str">"data:text/plain;charset=utf-8,"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> encodeURIComponent</span><span class="pun">(</span><span class="pln">data</span><span class="pun">);</span><span class="pln">
                  element</span><span class="pun">.</span><span class="pln">setAttribute</span><span class="pun">(</span><span class="str">"download"</span><span class="pun">,</span><span class="pln"> fileName</span><span class="pun">);</span><span class="pln">
                  element</span><span class="pun">.</span><span class="pln">setAttribute</span><span class="pun">(</span><span class="str">"href"</span><span class="pun">,</span><span class="pln"> url</span><span class="pun">);</span><span class="pln">
              </span><span class="pun">}</span><span class="pln">
          </span><span class="pun">}());</span><span class="pln">
        </span><span class="tag">&lt;/script&gt;</span><span class="pln">
    </span><span class="tag">&lt;/body&gt;</span><span class="pln">
</span><span class="tag">&lt;/html&gt;</span></pre>

<p>
	 
</p>

<p>
	Then when I tried to see the Front Office, I got a 500 error!
</p>

<p>
	I have reverted back to Thirtybees 6.1.
</p>

<p>
	I am on Niara theme with a <u>3 columns</u> setup page.
</p>

<p>
	Any idea why this is happening and any help to resolve the issue?
</p>

<p>
	Also, any particular PHP Extensions that need to be enable with Thirtybees?
</p>

<p>
	 
</p>

<p>
	Cheers,
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7658</guid><pubDate>Mon, 02 Feb 2026 16:12:20 +0000</pubDate></item><item><title>Updating from PHP8.1 to PHP8.2 caused new CMS page long titles to go outside right column width on Niara Theme.</title><link>https://forum.thirtybees.com/topic/7659-updating-from-php81-to-php82-caused-new-cms-page-long-titles-to-go-outside-right-column-width-on-niara-theme/</link><description><![CDATA[<p>
	Hello people, I recently set my host to use PHP8.2 instead of PHP8.1 that I was using previously.
</p>

<p>
	I noticed that if I create a new cms page on my Niara, 3 columns theme, the longer titles will be expanded beyond the columns width.
</p>

<p>
	This is only affecting new CMS pages creation, old ones are fine...
</p>

<p>
	I am on Thirtybees 1.6.0.
</p>

<p>
	Any ideas on h<span> </span>ow to fix this?
</p>

<p>
	 
</p>

<p>
	CMS page in center column:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="https://forum.thirtybees.com/uploads/monthly_2026_02/cmstitle1.png.4fad2275caf410babad212fb9a2827ba.png" data-fileid="5457" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="5457" data-ratio="43.70" width="1000" alt="cmstitle1.thumb.png.d000889a37062f670f4bcc19c60df853.png" data-src="https://forum.thirtybees.com/uploads/monthly_2026_02/cmstitle1.thumb.png.d000889a37062f670f4bcc19c60df853.png" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	CMS title on the right column on the Niara 3 columns theme:
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="5458" data-ratio="60.00" width="600" alt="cmstitle2.png.886c16d9e92d818f17813f71a6541d73.png" data-src="https://forum.thirtybees.com/uploads/monthly_2026_02/cmstitle2.png.886c16d9e92d818f17813f71a6541d73.png" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7659</guid><pubDate>Mon, 09 Feb 2026 16:09:57 +0000</pubDate></item><item><title>Getting controller and id_entity by url</title><link>https://forum.thirtybees.com/topic/6398-getting-controller-and-id_entity-by-url/</link><description><![CDATA[<p>
	Is it somehow possible to get the controller name and id_entity by throwing an url?
</p>

<p>
	I want something like:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">function getControllerAndId($url) {
	
	// Use $url somewow

	$dispatcher-&gt;getController();
}</span></pre>

<p>
	I want to use this in a module... The idea is to recognize posted urls by customers in FrontOffice as product links and replace them.
</p>

<p>
	For example: www.domain.ch/category/productXY
</p>

<p>
	I want:
</p>

<ul>
	<li>
		Controller=ProductController
	</li>
	<li>
		id_product=352
	</li>
</ul>
]]></description><guid isPermaLink="false">6398</guid><pubDate>Wed, 29 Nov 2023 16:57:18 +0000</pubDate></item><item><title>Product - Features</title><link>https://forum.thirtybees.com/topic/5699-product-features/</link><description><![CDATA[<p>
	Hi All, 
</p>

<p>
	Love this section of TB where you can pre-define a list of features that you can select for a product - SUCH a shame that on the front end it's listed under 'Data Sheet' ..... 
</p>

<p>
	Anyway of changing this, maybe to.....Product Features ? 
</p>

<p><a href="https://forum.thirtybees.com/uploads/monthly_2022_06/723661048_2022-06-0317_31_43-Window.png.2368ccc92a3ec4d6234c075f732ee767.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3473" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" data-src="https://forum.thirtybees.com/uploads/monthly_2022_06/723661048_2022-06-0317_31_43-Window.png.2368ccc92a3ec4d6234c075f732ee767.png" data-ratio="13.82" width="861" class="ipsImage ipsImage_thumbnailed" alt="2022-06-03 17_31_43-Window.png"></a></p>]]></description><guid isPermaLink="false">5699</guid><pubDate>Fri, 03 Jun 2022 16:35:18 +0000</pubDate></item><item><title>Update Thirty Bees to stay in step with PHP - But did it work?</title><link>https://forum.thirtybees.com/topic/7565-update-thirty-bees-to-stay-in-step-with-php-but-did-it-work/</link><description><![CDATA[<p>
	As my ISP moves PHP along I occasionally have to update Thirty Bees to stay in step
</p>

<p>
	My order of play was
</p>

<p>
	Log into BackOffice
</p>

<p>
	Move site to PHP 8.3 on my Control Panel
</p>

<p>
	Run Core Updater [ 1.6.12 ]
</p>

<p>
	Set target to PHP 8.3
</p>

<p>
	Run Core Updater/Check Updates followed by Update Site
</p>

<p>
	Then in BackOffice looked at Advanced Parameters/Configuration Information
</p>

<p>
	which reported
</p>

<p>
	<strong><em>Thirty bees revision: <a href="https://github.com/thirtybees/thirtybees/tree/1.6.0" rel="external nofollow">1.6.0</a></em></strong>
</p>

<p>
	<strong><em>Build for PHP version: 8.1</em></strong>
</p>

<p>
	<strong><em>Your server is running on PHP version 8.3.25. You should use core updater and fix your installation</em></strong>
</p>

<p>
	<strong>BUT now </strong>running Core Updater says 
</p>

<p>
	<strong><em>Core Updater/Check Updates =&gt;  Your System is up to date!</em></strong>
</p>

<p>
	
</p>

<h2 style="background-color:#ddf0de;color:#72c279;font-size:25px;">
	Your system is up to date!
</h2>

<p style="background-color:#ddf0de;color:#72c279;font-size:12px;">
	You are already using latest<span> </span><b>stable</b><span> </span>version<span> </span><b>1.6.0</b>.
</p>

<p style="background-color:#ddf0de;color:#72c279;font-size:12px;">
	No further actions are required.
</p>

<p>
	So did anything happen? Shop seems to be working OK.
</p>

<p>
	Why the mismatch between Core Updater and Advanced Parameters/Configuration Information?
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">7565</guid><pubDate>Wed, 17 Dec 2025 19:58:58 +0000</pubDate></item><item><title>Show Cart ID in Frontend</title><link>https://forum.thirtybees.com/topic/7655-show-cart-id-in-frontend/</link><description><![CDATA[<p>
	Hi, we would like to make the Cart ID (which can be seen in the backend under Customers &gt; Shopping Carts) displayed on the frontend when looking at the shopping cart. Is this possible? Can anyone help share some guidance on how this can be done? Thank you!
</p>
]]></description><guid isPermaLink="false">7655</guid><pubDate>Sun, 25 Jan 2026 14:53:00 +0000</pubDate></item><item><title>Attempt to update unsaved object , TB 1.6</title><link>https://forum.thirtybees.com/topic/6934-attempt-to-update-unsaved-object-tb-16/</link><description><![CDATA[<p>
	Hello,
</p>

<p>
	After the shop migration is done, I am still figuring out some minore issues. One is the following kind of error log entries:
</p>

<p>
	[15-Mar-2025 17:57:19 Europe/Zurich] PHP Warning:  Attempt to update unsaved object in /home/codium/public_html/maxmalt.ch/shop/classes/ObjectModel.php on line 752<br />
	[19-Mar-2025 13:38:16 Europe/Zurich] PHP Warning:  Attempt to update unsaved object in /home/codium/public_html/maxmalt.ch/shop/classes/ObjectModel.php on line 752
</p>

<p>
	When I search the server logfiles, this kind of HTTP request machtes with the timesamps.
</p>

<p>
	[15/Mar/2025:17:57:19 +0100] "POST /?rand=1742057839489 HTTP/1.1" 200 171 "https://maxmalt.ch/glen-scotia-1992-23y-hart-brothers-finest-collection-50-5-scotia-1992-hb-283.html" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Mobile/15E148 Safari/604.1"<br />
	2a02:26f7:e344:5444:0:72b0:2cff:6faf - - [15/Mar/2025:17:57:19 +0100] "POST /index.php?controller=trigger&amp;ts=1742016985 HTTP/1.1" 200 43 "https://maxmalt.ch/glen-scotia-1992-23y-hart-brothers-finest-collection-50-5-scotia-1992-hb-283.html" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Mobile/15E148 Safari/604.1"
</p>

<p>
	[19/Mar/2025:13:38:16 +0100] "POST /index.php?controller=trigger&amp;ts=1742387892 HTTP/2" 200 43 "https://maxmalt.ch/glen-scotia-1992-23y-hart-brothers-finest-collection-50-5-scotia-1992-hb-283.html" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Mobile/15E148 Safari/604.1"
</p>
]]></description><guid isPermaLink="false">6934</guid><pubDate>Thu, 20 Mar 2025 09:19:20 +0000</pubDate></item><item><title>Tags ID are incremented each time a product is modified</title><link>https://forum.thirtybees.com/topic/343-343/tags-id-are-incremented-each-time-a-product-is-modified/</link><description><![CDATA[<p>Hello,</p>

<p>Each time a product is edited and saved, Tags ID are changing.</p>

<p>It make non sense to me as i need to add a field/property ('category') to the Tag Object</p>

<p>When my field is added and his value is modified for example :
Tag->name = 'economy'
Tag->category = 'Article'</p>

<p>When i edit my product Tag->category is lost.
When go to catalog>Tags econmy'id value is no more '1' but Two.</p>

<p>I see in adminProductController that Tags are deleted then reassign.</p>

<p>So all previous modification to Object tag are lost and the ID has been incremented.
The Method addTags never recognize is<em>obect</em>loaded.</p>

<p>Is it normal ? why ?</p>
]]></description><guid isPermaLink="false">343</guid><pubDate>Mon, 29 May 2017 10:01:22 +0000</pubDate></item><item><title>Unable to use backoffice SQL Manager, getting error "Db::getArrray method can be used for SELECT queries only."</title><link>https://forum.thirtybees.com/topic/7541-unable-to-use-backoffice-sql-manager-getting-error-dbgetarrray-method-can-be-used-for-select-queries-only/</link><description><![CDATA[<p>
	Hello people, today, I tried to use SQL Manager in the Backoffice to do an SQL query for an email campaign, but as soon as I click to view the results,  I get this error <span><span><span><span><span><span><span><span><span><span><span>: "<span style="color:#c0392b;">Db::getArrray method can be used for SELECT queries only.</span>"</span></span></span></span></span></span></span></span></span></span></span>
</p>

<p>
	<span><span><span><span><span><span><span><span><span><span><span>If I try to export the </span></span></span></span></span></span></span></span></span></span></span>query instead,  I get a "This site can’t be reached" page with this error:
</p>

<p>
	The webpage at <a href="https://www.xxxxxxxxxxxxxxx/index.php?controller=AdminRequestSql&amp;token=xxxxxxxxxxxxxxxxxxxxxxxxxx&amp;id_request_sql=2&amp;exportrequest_sql=1" rel="external nofollow">https://www.xxxxxxxxxxxxxxx/index.php?controller=AdminRequestSql&amp;token=xxxxxxxxxxxxxxxxxxxxxxxxxx&amp;id_request_sql=2&amp;exportrequest_sql=1</a> might be temporarily down or it may have moved permanently to a new web address.<br />
	ERR_INVALID_RESPONSE
</p>

<p>
	Errors logs shows this:
</p>

<h3 style="border-bottom:1px solid #eeeeee;border-left:none;border-right:none;border-top:none;color:#555555;font-size:1.2em;padding:0px 0px 0px 5px;">
	Stacktrace
</h3>

<div style="color:#555555;font-size:12px;padding:15px;">
	<pre style="background-color:#f5f5f5;border:1px solid #cccccc;color:#333333;font-size:11px;padding:8px;"><code style="background-color:transparent;color:inherit;font-size:inherit;padding:0px;">#0 controllers/admin/AdminRequestSqlController.php(511)
#1 classes/db/Db.php(1100): ()
#2 controllers/admin/AdminRequestSqlController.php(511): DbCore-&gt;getArray()
#3 controllers/admin/AdminRequestSqlController.php(343): AdminRequestSqlControllerCore-&gt;generateExport()
#4 classes/controller/Controller.php(209): AdminRequestSqlControllerCore-&gt;initContent()
#5 classes/Dispatcher.php(858): ControllerCore-&gt;run()
#6 admin123/index.php(58): DispatcherCore-&gt;dispatch()</code></pre>
</div>

<p>
	I'm on Thirtybees 1.6.0
</p>

<p>
	Any idea why I get this error?
</p>

<p>
	Any help would be appreciated
</p>

<p>
	Cheers,
</p>
]]></description><guid isPermaLink="false">7541</guid><pubDate>Thu, 04 Dec 2025 15:52:30 +0000</pubDate></item><item><title>How to create a catalog data source to be used with Pinterest, Facebook...</title><link>https://forum.thirtybees.com/topic/7524-how-to-create-a-catalog-data-source-to-be-used-with-pinterest-facebook/</link><description><![CDATA[<p>
	I would like to increase traffic to my shop by posting my product catalog on Pinterest or Facebook. 
</p>

<p>
	Is there a module that can create a catalog data source or any other way to do it with not too much trouble?
</p>

<p>
	<u>Here is the formatting needed for Pinterest:</u>
</p>

<p>
	<strong>Data source formatting options</strong>
</p>

<p>
	We support the following formats:
</p>

<ul>
	<li>
		Tab separated (TSV)
	</li>
	<li>
		Comma separated (CSV)
	</li>
	<li>
		XML (RSS 2.0, ATOM 1.0)
	</li>
	<li>
		Google Sheets
	</li>
</ul>

<p>
	 
</p>

<ul>
	<li>
		 Note: We accept compressed files (.zip, .giz, .gz, .bz2 and others), but we currently do not support encrypted, password-protected compressed files, or Dropbox files.
	</li>
</ul>

<p>
	<strong>Required fields</strong>
</p>

<p>
	Your retail catalog needs to include the following fields, formatted exactly as you see them. If they’re missing, or formatted incorrectly, your entire retail catalog will fail ingestion.
</p>

<p>
	    id<br />
	    title<br />
	    description<br />
	    link<br />
	    image_link<br />
	    price<br />
	    availability<br />
	    item_group_id (only required when products have multiple variants)
</p>

<p>
	 
</p>

<p>
	Any help on this would be appreciated...
</p>

<p>
	Cheers,
</p>
]]></description><guid isPermaLink="false">7524</guid><pubDate>Fri, 14 Nov 2025 16:15:14 +0000</pubDate></item><item><title>Mail problem - unable to send</title><link>https://forum.thirtybees.com/topic/7522-mail-problem-unable-to-send/</link><description><![CDATA[<p>
	Something has changed on my email settings and I'm not sure if its at the ISP end or my end.
</p>

<p>
	Was using PHPMailer successfully until  a few days ago
</p>

<p>
	 
</p>

<p>
	ssl_errors.log message is
</p>

<p style="color:#000000;">
	<span>[Thu Nov 13 12:43:51.909043 2025] [core:error] [pid 55714] [client 2.126.40.62:15399] End of script output before headers: php82-cgi, referer: <a href="https://ashtonjones.uk/admin0XXX87n/index.php?controller=AdminEmails&amp;token=9b2bb752062e6115d9196c18d56X" rel="external nofollow">https://ashtonjones.uk/admin0XXX87n/index.php?controller=AdminEmails&amp;token=9b2bb752062e6115d9196c18d56X</a>XXXX</span>
</p>

<p style="color:#000000;">
	Does this give anyone a clue as to where I should be looking?
</p>

<p style="color:#000000;">
	 
</p>
]]></description><guid isPermaLink="false">7522</guid><pubDate>Thu, 13 Nov 2025 12:58:08 +0000</pubDate></item><item><title><![CDATA[cron currency rates & multistore]]></title><link>https://forum.thirtybees.com/topic/7498-cron-currency-rates-multistore/</link><description><![CDATA[<p>
	I've recently set up the multistore function so that we have two versions - USA and international.
</p>

<p>
	The international site has 9 currencies (including US dollars which is the default currency), but the USA site has only US dollars.
</p>

<p>
	I can disable the other 8 currencies for the US site. But when the currency update cron runs (twice a day) ALL 9 currencies are re-enabled for the US site.
</p>

<p>
	The cron job is run with admin/cron_currency_rates.php which updates all shops:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">if (!defined('_PS_ADMIN_DIR_')) {
    define('_PS_ADMIN_DIR_', getcwd());
}
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');

if (isset($_GET['secure_key'])) {
    $secureKey = md5(_COOKIE_KEY_.Configuration::get('PS_SHOP_NAME'));
    if (!empty($secureKey) &amp;&amp; $secureKey === $_GET['secure_key']) {
        $shopIds = Shop::getCompleteListOfShopsID();
        foreach ($shopIds as $idShop) {
            Shop::setContext(Shop::CONTEXT_SHOP, (int) $idShop);
            Currency::refreshCurrencies();
        }
    }
}</span></pre>

<p>
	If I click on the "Update currency rates" button the unwanted currencies are not re-enabled.
</p>

<p>
	Any ideas on how to stop the cron job from re-enabling these unwanted currencies?
</p>

<p>
	 
</p>

<p><a href="https://forum.thirtybees.com/uploads/monthly_2025_10/Screenshot_20251009_111914.jpeg.d1ab9c403f1836d1443114919d5a560a.jpeg" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="5405" src="https://forum.thirtybees.com/applications/core/interface/js/spacer.png" data-src="https://forum.thirtybees.com/uploads/monthly_2025_10/Screenshot_20251009_111914.jpeg.d1ab9c403f1836d1443114919d5a560a.jpeg" data-ratio="65.07" width="959" class="ipsImage ipsImage_thumbnailed" alt="Screenshot_20251009_111914.jpeg"></a></p>]]></description><guid isPermaLink="false">7498</guid><pubDate>Thu, 09 Oct 2025 15:33:30 +0000</pubDate></item></channel></rss>
