﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>https://www.ayende.com/blog/</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Production postmorterm: The rookie server's untimely promotion</title><description>&lt;p&gt;Today&amp;#39;s incident involved a production system failure when one node in the cluster unexpectedly died.&amp;nbsp;That is a scenario RavenDB is designed to handle, and there are well-established (and well-trodden) procedures for recovery.&lt;/p&gt;&lt;p&gt;In this case, the failing node didn&amp;rsquo;t just crash (which a restart would solve), but actually died. This meant that the admin had to provision a new server and add it to the cluster. This process is, again, both well-established and well-trodden. &lt;/p&gt;&lt;p&gt;As you can tell from the fact that you are reading this post, &lt;em&gt;something&lt;/em&gt;&amp;nbsp;went wrong. This cluster is primarily intended to host a single large database (100+ GB in size).&amp;nbsp;When you add a new node to the cluster and add an existing database to it, we need to sync the state between the existing nodes and the new node.&lt;/p&gt;&lt;p&gt;For large databases, that can take a while to complete, which is fine because the new node hasn&amp;rsquo;t (yet) been promoted to serve users&amp;rsquo; requests. It is just slurping all the data until it is in complete sync with the rest of the system. In this case, however&amp;hellip; somehow this rookie server got promoted to a full-blown member and started serving user requests.&lt;/p&gt;&lt;p&gt;This is not possible. I repeat, it is &lt;em&gt;not&lt;/em&gt;&amp;nbsp;possible. This code has been running in production for over a decade. It has been tested, it has been proven, it has been reviewed, and it has been modeled. And yet&amp;hellip; It happened. This sucks.&lt;/p&gt;&lt;p&gt;This postmortem will dissect this distributed systems bug.Debugging such systems is pretty complex&amp;nbsp;and requires&amp;nbsp;specialized expertise.&amp;nbsp;But this particular bug is surprisingly easy to reason about.&lt;/p&gt;&lt;p&gt;Let&amp;rsquo;s start from the beginning. Here is how the RavenDB cluster decides if a node can be promoted:&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;&amp;lt;pre class='line-numbers language-python'&amp;gt;&amp;lt;code class='line-numbers language-python'&amp;gt;&lt;span class="token keyword"&gt;def&lt;/span&gt; &lt;span class="token function"&gt;scan_nodes&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;:&lt;/span&gt;
  states &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;&lt;span class="token punctuation"&gt;}&lt;/span&gt;
  &lt;span class="token keyword"&gt;for&lt;/span&gt; node &lt;span class="token keyword"&gt;in&lt;/span&gt; self&lt;span class="token punctuation"&gt;.&lt;/span&gt;cluster&lt;span class="token punctuation"&gt;.&lt;/span&gt;nodes&lt;span class="token punctuation"&gt;:&lt;/span&gt;
    &lt;span class="token comment"&gt;# retrieve the state of the node (remote call)&lt;/span&gt;
    &lt;span class="token comment"&gt;# - may fail if node is down&lt;/span&gt;
    state &lt;span class="token operator"&gt;=&lt;/span&gt; self&lt;span class="token punctuation"&gt;.&lt;/span&gt;cluster&lt;span class="token punctuation"&gt;.&lt;/span&gt;get_current_state&lt;span class="token punctuation"&gt;(&lt;/span&gt;node&lt;span class="token punctuation"&gt;)&lt;/span&gt; 
    states&lt;span class="token punctuation"&gt;[&lt;/span&gt;node&lt;span class="token punctuation"&gt;]&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; state&lt;/p&gt;
&lt;p&gt;&lt;span class="token keyword"&gt;for&lt;/span&gt; database &lt;span class="token keyword"&gt;in&lt;/span&gt; self&lt;span class="token punctuation"&gt;.&lt;/span&gt;cluster&lt;span class="token punctuation"&gt;.&lt;/span&gt;databases&lt;span class="token punctuation"&gt;:&lt;/span&gt;
    promotables &lt;span class="token operator"&gt;=&lt;/span&gt; database&lt;span class="token punctuation"&gt;.&lt;/span&gt;promotable_nodes&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token builtin"&gt;len&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;promotables&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token operator"&gt;==&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;:&lt;/span&gt; &lt;span class="token comment"&gt;# nothing to do &lt;/span&gt;
      &lt;span class="token keyword"&gt;continue&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;span class=&amp;quot;token keyword&amp;quot;&amp;gt;for&amp;lt;/span&amp;gt; promotable &amp;lt;span class=&amp;quot;token keyword&amp;quot;&amp;gt;in&amp;lt;/span&amp;gt; promotables&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;:&amp;lt;/span&amp;gt;
  mentor &amp;lt;span class=&amp;quot;token operator&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt; promotable&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;mentor_node&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;(&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt;
  mentor_db_state &amp;lt;span class=&amp;quot;token operator&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt; states&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;mentor&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;databases&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;database&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;name&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;
  &amp;lt;span class=&amp;quot;token keyword&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; mentor_db_state&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;faulted&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;:&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;token comment&amp;quot;&amp;gt;# ignore mentor in faulty state&amp;lt;/span&amp;gt;
      &amp;lt;span class=&amp;quot;token keyword&amp;quot;&amp;gt;continue&amp;lt;/span&amp;gt;


  promotable_db_state &amp;lt;span class=&amp;quot;token operator&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt; states&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;promotable&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;databases&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;[&amp;lt;/span&amp;gt;database&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;name&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;]&amp;lt;/span&amp;gt;


  &amp;lt;span class=&amp;quot;token keyword&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; mentor_db_state&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;last_etag &amp;lt;span class=&amp;quot;token operator&amp;quot;&amp;gt;&amp;gt;&amp;lt;/span&amp;gt; promotable_db_state&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;current_etag&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;:&amp;lt;/span&amp;gt;
    &amp;lt;span class=&amp;quot;token keyword&amp;quot;&amp;gt;continue&amp;lt;/span&amp;gt;


  &amp;lt;span class=&amp;quot;token comment&amp;quot;&amp;gt;# the promotable node is up to date as of the last check cycle, promote&amp;lt;/span&amp;gt;
  self&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;cluster&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;promote_node&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;(&amp;lt;/span&amp;gt;promotable&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;,&amp;lt;/span&amp;gt; database&amp;lt;span class=&amp;quot;token punctuation&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;hr/&amp;gt;&amp;lt;p&amp;gt;The overall structure is pretty simple, we ask each of the nodes in the cluster what its current state is. That gives us an &amp;lt;em&amp;gt;inconsistent &amp;lt;/em&amp;gt;view of the system (because we ask different nodes at different times).&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;To resolve this, we keep both the &amp;lt;code&amp;gt;last&amp;lt;/code&amp;gt;&amp;amp;nbsp;and &amp;lt;code&amp;gt;current&amp;lt;/code&amp;gt;&amp;amp;nbsp;values. In the code above, you can see that we go over all the promotable nodes and check the current state of each promotable node compared to the last state (from the previous call) of its mentoring node.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;The idea is that we can promote a node when its current state is greater than the last state of its mentor (allowing some flexibility for constant writes, etc.). &amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;The code is simple, well-tested, and has been widely deployed for a long time. Staring at this code didn&amp;amp;rsquo;t tell us anything, it &amp;lt;em&amp;gt;looks&amp;lt;/em&amp;gt;&amp;amp;nbsp;like it is supposed to work!&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;The problem with distributed systems is that there is also all the code involved that is &amp;lt;em&amp;gt;not&amp;lt;/em&amp;gt;&amp;amp;nbsp;there. For example, you can see that there is handling here for when the mentor node has failed. In that case, another part of the code would reassign the promotable node to a new mentor, and we&amp;amp;rsquo;ll start the cycle again.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;That was indeed the cause of the problem. Midway through the sync process for the new node, the mentor node failed. That is expected, as I mentioned, and handled. The problem was that there are various &amp;lt;em&amp;gt;levels&amp;lt;/em&amp;gt;&amp;amp;nbsp;of failure.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;For example, it is very clear that a node that is offline isn&amp;amp;rsquo;t going to respond to a status request, right? &amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;What about a node that just restarted? It &amp;lt;em&amp;gt;can&amp;lt;/em&amp;gt;&amp;amp;nbsp;respond, and for all intents and purposes, it is up &amp;amp;amp; running - except that it is still loading its databases. &amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;Loading a database that exceeds the 100 GB mark can take a while, especially if your disk is taking its time. In that case, what ended up happening was that the status check for the node passed with flying colors, and the status check for the &amp;lt;em&amp;gt;database&amp;lt;/em&amp;gt;&amp;amp;nbsp;state returned a &amp;lt;code&amp;gt;loading&amp;lt;/code&amp;gt;&amp;amp;nbsp;state.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;All the other fields in the database status check were set to their default values&amp;amp;hellip; &amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;I think you can see where this is going, right? The problem was that we got a valid status report from a node and didn&amp;amp;rsquo;t check the status of the individual database state. Then we checked the progress of the promotable database against the mentor state (which was all set to default values). &amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;The promotable node&amp;amp;rsquo;s current etag was indeed higher than the last etag from the mentor node (since it was the default 0 value), and boom, we have a rookie server being promoted too soon.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;The actual fix, by the way, is a single if statement to verify that the state of the database is properly loaded before we check the actual values. &amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;To reproduce this, even after we knew what was going on, was an actual chore, by the way. You need to hit just the right race conditions on two separate machines to get to this state, helped by slow disk, a very large database, and two separate mistimed incidents of server failures.&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/themes/prism.min.css" integrity="sha512-/mZ1FHPkg6EKcxo0fKXF51ak6Cr2ocgDi5ytaTBjsQZIH/RNs6GF6+oId/vPe3eJB836T36nXwVh/WBl/cWT4w==" crossorigin="anonymous" referrerpolicy="no-referrer" /&gt;&lt;/p&gt;
</description><link>https://www.ayende.com/blog/202723-A/production-postmorterm-the-rookie-servers-untimely-promotion?Key=ed028770-86f3-45d1-ae8b-db5fdd9c6923</link><guid>https://www.ayende.com/blog/202723-A/production-postmorterm-the-rookie-servers-untimely-promotion?Key=ed028770-86f3-45d1-ae8b-db5fdd9c6923</guid><pubDate>Wed, 11 Jun 2025 12:00:00 GMT</pubDate></item><item><title>The null check that didn't check for nulls</title><description>&lt;p&gt;I wrote the following code:&lt;/p&gt;&lt;p&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;_items is &lt;span class="token punctuation"&gt;[&lt;/span&gt;var single&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    // no point invoking thread pool
    single.Run&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p&gt;And I was very proud of myself for writing such pretty and succinct C# code. &lt;/p&gt;&lt;p&gt;Then I got a runtime error:&lt;/p&gt;&lt;p&gt;&lt;img src="/blog/Images/qgjAxWwgxsODKyyL0QGi7Q.png"/&gt;&lt;/p&gt;&lt;p&gt;I asked Grok about this because I did &lt;em&gt;not&lt;/em&gt;&amp;nbsp;expect this, and got the following reply:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;No, &lt;code&gt;if (_items is [var single])&lt;/code&gt;&amp;nbsp;in C# does not match a null value.&amp;nbsp;This pattern checks if &lt;code&gt;_items &lt;/code&gt;is a single-element array and binds the element to single. If &lt;code&gt;_items &lt;/code&gt;is &lt;code&gt;null&lt;/code&gt;, the pattern match fails, and the condition evaluates to &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;However, the output clearly disagreed with both Grok&amp;rsquo;s and my expectations. I decided to put that into &lt;a href="https://sharplab.io/#v2:D4AQDABCCMAsDcBYAUCmkAqBTAzgF2gAoAZAS3wB50A+CfAJxwEoUBvFCTiUgM0IZzdBAbQBuAQ3p0Aui2RcI7eQq4gA7HSTLOAXw6qN6AHQApAPakAdoQBEAGnt08jJlr2oP6CNnwAmEuR4VNBgtAJySgq8/M6C5BDCXjiy+pyRKpzqmqkQ7gpZxuZWtg52Ti5uKFWeId64eADMAZQ05cxsOdECQgmsOjJyCukZWThaCnkGUCGmFtb2juFuQA=="&gt;SharpLab&lt;/a&gt;, which can quickly help identify what is going on behind the scenes for such syntax. &lt;/p&gt;&lt;p&gt;You can see three versions of this check in &lt;a href="https://sharplab.io/#v2:D4AQDABCCMAsDcBYAUCmkAqBTAzgF2gAoAZAS3wB50A+CfAJxwEoUBvFCTiUgM0IZzdBAbQBuAQ3p0Aui2RcI7eQq4gA7HSTLOAXw6qN6AHQApAPakAdoQBEAGnt08jJlr2oP6CNnwAmEuR4VNBgtAJySgq8/M6C5BDCXjiy+pyRKpzqmqkQ7gpZxuZWtg52Ti5uKFWeId64eADMAZQ05cxsOdECQgmsOjJyCukZWThaCnkGUCGmFtb2juFuQA=="&gt;the associated link&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-javascript'&gt;&lt;code class='line-numbers language-javascript'&gt;&lt;span class="token keyword"&gt;if&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;strs is &lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token keyword"&gt;var&lt;/span&gt; s&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token comment"&gt;// no null check&lt;/span&gt;


&lt;span class="token keyword"&gt;if&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;strs is &lt;span class="token punctuation"&gt;[&lt;/span&gt;string s&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token comment"&gt;//  if (s != null)&lt;/span&gt;


&lt;span class="token keyword"&gt;if&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;strs is &lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token punctuation"&gt;{&lt;/span&gt;&lt;span class="token punctuation"&gt;}&lt;/span&gt; s&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token comment"&gt;//  if (s != null)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p&gt;Turns out that there is a distinction between a var pattern (allows null) and a non-var pattern. The third option is the non-null pattern, which does the same thing (but doesn&amp;rsquo;t require redundant type specification). Usually &lt;code&gt;var&lt;/code&gt;&amp;nbsp;vs. type is a readability distinction, but here we have a real difference in behavior. &lt;/p&gt;&lt;p&gt;Note that when I asked the LLM about it, I got the wrong answer. Luckily, I could get a verified answer by just checking the compiler output, and only then head out to the C# spec to see if this is a compiler bug or just a misunderstanding.&lt;/p&gt;
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/themes/prism.min.css" integrity="sha512-/mZ1FHPkg6EKcxo0fKXF51ak6Cr2ocgDi5ytaTBjsQZIH/RNs6GF6+oId/vPe3eJB836T36nXwVh/WBl/cWT4w==" crossorigin="anonymous" referrerpolicy="no-referrer" /&gt;</description><link>https://www.ayende.com/blog/202403-B/the-null-check-that-didnt-check-for-nulls?Key=c3207f89-d3a1-433f-b6b3-098d8dfcd2eb</link><guid>https://www.ayende.com/blog/202403-B/the-null-check-that-didnt-check-for-nulls?Key=c3207f89-d3a1-433f-b6b3-098d8dfcd2eb</guid><pubDate>Mon, 28 Apr 2025 12:00:00 GMT</pubDate></item><item><title>When racing the Heisenbug, code quality goes out the Windows</title><description>&lt;p style="text-align:left;"&gt;There are at least 3 puns in the title of this blog post. I&amp;rsquo;m sorry, but I&amp;rsquo;m writing this after several &lt;em&gt;days&lt;/em&gt;&amp;nbsp;of tracking an impossible bug. I&amp;rsquo;m actually writing a &lt;em&gt;set&lt;/em&gt;&amp;nbsp;of posts to wind down from this hunt, so you&amp;rsquo;ll have to suffer through my more prosaic prose. &lt;/p&gt;&lt;p style="text-align:left;"&gt;This bug is the kind that leaves you questioning your sanity after days of pursuit, the kind that I&amp;rsquo;m sure I&amp;rsquo;ll look back on and blame for any future grey hair I have. I&amp;rsquo;m going to have another post talking about the bug since it is such a doozy. In this post, I want to talk about the general &lt;em&gt;approach&lt;/em&gt;&amp;nbsp;I take when dealing with something like this.&lt;/p&gt;&lt;p style="text-align:left;"&gt;Beware, this process involves a &lt;em&gt;lot&lt;/em&gt;&amp;nbsp;of hair-pulling. I&amp;rsquo;m saving that for when the &lt;em&gt;real&lt;/em&gt;&amp;nbsp;nasties show up.&lt;/p&gt;&lt;p style="text-align:left;"&gt;The bug in question was a race condition that defied easy reproduction. It didn&amp;rsquo;t show up consistently&amp;mdash;sometimes it surfaced, sometimes it didn&amp;rsquo;t. The only &amp;ldquo;reliable&amp;rdquo; way to catch it was by running a full test suite, which took anywhere from 8 to 12 minutes per run. If the suite hung, we knew we had a hit. But that left us with a narrow window to investigate before the test timed out or crashed entirely. To make matters worse, the bug was in &lt;em&gt;new &lt;/em&gt;C code called from a .NET application.&lt;/p&gt;&lt;blockquote&gt;&lt;p style="text-align:left;"&gt;New C code is a scary concept. New C code that does multithreading is an even &lt;em&gt;scarier&lt;/em&gt;&amp;nbsp;concept. Race conditions there are almost expected, right? &lt;/p&gt;&lt;/blockquote&gt;&lt;p style="text-align:left;"&gt;That means that the feedback cycle is &lt;em&gt;long.&lt;/em&gt;&amp;nbsp;Any attempt we make to fix it is going to be unreliable - &amp;ldquo;Did I fix it, or it just didn&amp;rsquo;t happen?&amp;rdquo; and there isn&amp;rsquo;t a lot of information going on.The first challenge was figuring out how to detect the bug reliably. &lt;/p&gt;&lt;p style="text-align:left;"&gt;Using Visual Studio as the debugger was useless here&amp;mdash;it only reproduced in release mode, and even with native debugging enabled, Visual Studio wouldn&amp;rsquo;t show the unmanaged code properly. That left us blind to the C library where the bug resided. I&amp;rsquo;m fairly certain that there are ways around that, but I was more interested in actually getting things done than fighting the debugger. &lt;/p&gt;&lt;p style="text-align:left;"&gt;We got a lot of experience with WinDbg, a low-level debugger and a real powerhouse. It is also about as friendly as a monkey with a sore tooth and an alcohol addiction. The initial process was all about trying to reproduce the hang and then attach WinDbg to it.&lt;/p&gt;&lt;p style="text-align:left;"&gt;Turns out that we never actually generated PDBs for the C library. So we had to figure out how to generate them, then how to carry them all the way from the build to the NuGet package to the deployment for testing - to &lt;em&gt;maybe&lt;/em&gt;&amp;nbsp;reproduce the bug again. Then we could see in what area of the code we are even in.&lt;/p&gt;&lt;p style="text-align:left;"&gt;Getting WinDbg attached is just the start; we need to sift through the hundreds of threads running in the system. That is where we actually started applying the proper process for this.&lt;/p&gt;&lt;p style="text-align:left;"&gt;This piece of code is &lt;em&gt;stupidly&lt;/em&gt;&amp;nbsp;simple, but it is sufficient to reduce &amp;ldquo;what thread should I be looking at&amp;rdquo; from 1 - 2 minutes to 5 seconds. &lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-go'&gt;&lt;code class='line-numbers language-go'&gt;&lt;span class="token function"&gt;SetThreadDescription&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token function"&gt;GetCurrentThread&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; L&lt;span class="token string"&gt;"Rvn.Ring.Wrkr"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;I had the thread that was hanging, and I could start inspecting its state. This was a complex piece of code, so I had no idea what was going on or what the cause was. This is when we pulled the next tool from our toolbox.&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;void &lt;span class="token function-name function"&gt;alert&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token keyword"&gt;while&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token number"&gt;1&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        Beep&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token number"&gt;800&lt;/span&gt;, &lt;span class="token number"&gt;200&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        Sleep&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token number"&gt;200&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;This isn&amp;rsquo;t a joke, it is a &lt;em&gt;super&lt;/em&gt;&amp;nbsp;important aspect. In WinDbg, we noticed some signs in the data that the code was working on, indicating that &lt;em&gt;something&lt;/em&gt;&amp;nbsp;wasn&amp;rsquo;t right. It didn&amp;rsquo;t make any sort of sense, but it was there. Here is an example:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-dart'&gt;&lt;code class='line-numbers language-dart'&gt;&lt;span class="token keyword"&gt;enum&lt;/span&gt; state
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
  red&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  yellow&lt;span class="token punctuation"&gt;,&lt;/span&gt;
  green
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


&lt;span class="token keyword"&gt;enum&lt;/span&gt; state _currentState&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;And when we look at it in the debugger, we get:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-yaml'&gt;&lt;code class='line-numbers language-yaml'&gt;0&lt;span class="token punctuation"&gt;:&lt;/span&gt;000&lt;span class="token punctuation"&gt;&gt;&lt;/span&gt; dt _currentState
Local var @ 0x50b431f614 Type state
17 ( banana_split )&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;That is beyond a bug, that is some truly invalid scenario. But that also meant that I could &lt;em&gt;act&lt;/em&gt;&amp;nbsp;on it. I started adding things like this:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;if&lt;span class="token punctuation"&gt;(&lt;/span&gt;_currentState &lt;span class="token operator"&gt;!=&lt;/span&gt; red &lt;span class="token operator"&gt;&amp;amp;&amp;amp;&lt;/span&gt; 
   _currentState &lt;span class="token operator"&gt;!=&lt;/span&gt; yellow &lt;span class="token operator"&gt;&amp;amp;&amp;amp;&lt;/span&gt; 
   _currentState &lt;span class="token operator"&gt;!=&lt;/span&gt; green&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
   alert&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;The end result of this is that instead of having to wait &amp;amp; guess, I would now:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Be immediately notified when the issue happened.&lt;/li&gt;&lt;li&gt;Inspect the problematic state &lt;em&gt;earlier&lt;/em&gt;.&lt;/li&gt;&lt;li&gt;Hopefully glean some additional insight so I can add &lt;em&gt;more&lt;/em&gt;&amp;nbsp;of those things. &lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align:left;"&gt;With this in place, we iterated. Each time we spotted a new behavior hinting at the bug&amp;rsquo;s imminent trigger, we put another call to the alert function to catch it earlier. It was crude but effective&amp;mdash;progressively tightening the noose around the problem.&lt;/p&gt;&lt;p style="text-align:left;"&gt;Race conditions are annoyingly sensitive; &lt;em&gt;any &lt;/em&gt;change to the system&amp;mdash;like adding debug code&amp;mdash;alters its behavior. We hit this hard. For example, we&amp;rsquo;d set a breakpoint in WinDbg, and the alert function would trigger as expected. The system would beep, we&amp;rsquo;d break in, and start inspecting the state. But because this was an optimized release build, the debugging experience was a mess. Variables were often optimized away into registers or were outright missing, leaving us to guess what was happening.&lt;/p&gt;&lt;p style="text-align:left;"&gt;I resorted to outright hacks like this function:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;__declspec&lt;span class="token punctuation"&gt;(&lt;/span&gt;noinline&lt;span class="token punctuation"&gt;)&lt;/span&gt; void spill&lt;span class="token punctuation"&gt;(&lt;/span&gt;void* ptr&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    volatile void* dummy &lt;span class="token operator"&gt;=&lt;/span&gt; ptr&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    dummy&lt;span class="token punctuation"&gt;;&lt;/span&gt; // Ensure dummy isn't flagged as unused
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;The purpose of this function is to force the compiler to assign an address to a value. Consider the following code:&lt;/p&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;completed &lt;span class="token operator"&gt;!=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    printf&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"old_global_state : %p, current state: %p&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;,
         old_global_state, handle_ptr-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;global_state&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    alert&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    spill&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;work&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;p style="text-align:left;"&gt;Because we are sending a pointer to the work value to the spill function, the compiler cannot just put that in a register and must place it on the stack. That means that it is &lt;em&gt;much &lt;/em&gt;easier to inspect it, of course.&lt;/p&gt;&lt;p style="text-align:left;"&gt;Unfortunately, adding those spill calls led to the problem being &amp;ldquo;fixed&amp;rdquo;, we could no longer reproduce it. Far more annoyingly, any time that we added any sort of additional code to try to narrow down where this was happening, we had a good chance of either &lt;em&gt;moving&lt;/em&gt;&amp;nbsp;the behavior somewhere completely different or masking it completely.&lt;/p&gt;&lt;blockquote&gt;&lt;p style="text-align:left;"&gt;Here are &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://gist.github.com/ayende/eafff96d82d921e2848211b05301dc35"&gt;some of our efforts&lt;/a&gt;&lt;/span&gt;&amp;nbsp;to narrow it down, if you want to see what the gory details look like.&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="text-align:left;"&gt;At this stage, the process became a grind. We&amp;rsquo;d hypothesize about the bug&amp;rsquo;s root cause, tweak the code, and test again. Each change risked shifting the race condition&amp;rsquo;s timing, so we&amp;rsquo;d often see the bug vanish, only to reappear later in a slightly different form. The code quality suffered&amp;mdash;spaghetti logic crept in as we layered hacks on top of hacks. But when you&amp;rsquo;re chasing a bug like this, clean code takes a back seat to results. The goal is to understand the failure, not to win a style award.&lt;/p&gt;&lt;p style="text-align:left;"&gt;Bug hunting at this level is less about elegance and more about pragmatism. As the elusiveness of the bug increases, so does code quality and any other structured approach to your project. The only thing on your mind is, how do I narrow it down?. How do I get this chase to end? &lt;/p&gt;&lt;p style="text-align:left;"&gt;Next time, I&amp;rsquo;ll dig into the specifics of this particular bug. For now, this is the high-level process: detect, iterate, hack, and repeat. No fluff&amp;mdash;just the reality of the chase. The key in any of those bugs that we looked at is to keep narrowing the reproduction to something that you can get in a reasonable amount of time. &lt;/p&gt;&lt;p style="text-align:left;"&gt;Once that happens, when you can hit F5 and get &lt;em&gt;results&lt;/em&gt;, this is when you can start actually figuring out what is going on.&lt;/p&gt;
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/themes/prism.min.css" integrity="sha512-/mZ1FHPkg6EKcxo0fKXF51ak6Cr2ocgDi5ytaTBjsQZIH/RNs6GF6+oId/vPe3eJB836T36nXwVh/WBl/cWT4w==" crossorigin="anonymous" referrerpolicy="no-referrer" /&gt;</description><link>https://www.ayende.com/blog/202179-A/when-racing-the-heisenbug-code-quality-goes-out-the-windows?Key=9465b5ba-e0fa-4211-b470-75b1e58ed02c</link><guid>https://www.ayende.com/blog/202179-A/when-racing-the-heisenbug-code-quality-goes-out-the-windows?Key=9465b5ba-e0fa-4211-b470-75b1e58ed02c</guid><pubDate>Wed, 09 Apr 2025 12:00:00 GMT</pubDate></item><item><title>Production postmortem: The race condition in the interlock</title><description>&lt;p style="text-align:left;"&gt;This post isn&amp;rsquo;t actually about a production issue&amp;mdash;thankfully, we caught this one during testing. It&amp;rsquo;s part of a series of blog posts that are probably some of my favorite posts to write. Why? Because when I&amp;rsquo;m writing one, it means I&amp;rsquo;ve managed to pin down and solve a &lt;em&gt;nasty &lt;/em&gt;problem.&lt;/p&gt;&lt;p style="text-align:left;"&gt;&amp;nbsp;This time, it&amp;rsquo;s a race condition in RavenDB that took mountains of effort, multiple engineers, and a lot of frustration to resolve. &lt;/p&gt;&lt;p style="text-align:left;"&gt;For the last year or so, I&amp;rsquo;ve been focused on speeding up RavenDB&amp;rsquo;s core performance, particularly its IO handling. You might have seen &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://ayende.com/blog/posts/series/201955-A/ravendb-7-1"&gt;my earlier posts about this effort&lt;/a&gt;&lt;/span&gt;. One key change we made was switching RavenDB&amp;rsquo;s IO operations to use IO Ring, a new API designed for high-performance, asynchronous IO, and other goodies. If you&amp;rsquo;re in the database world and care about squeezing every ounce of performance out of your system, this is the kind of thing that you want to use.&lt;/p&gt;&lt;p style="text-align:left;"&gt;This wasn&amp;rsquo;t a small tweak. The pull request for this work exceeded 12,000 lines of code&amp;mdash;over a hundred commits&amp;mdash;and likely a lot more code when you count all the churn. Sadly, this is one of those changes where we &lt;em&gt;can&amp;rsquo;t&lt;/em&gt;&amp;nbsp;just split the work into digestible pieces. Even now, we still have some significant additional work remaining to do. &lt;/p&gt;&lt;p style="text-align:left;"&gt;We had two or three of our best engineers dedicated to it, running benchmarks, tweaking, and testing over the past few months. The goal is simple: make RavenDB faster by any means necessary. &lt;/p&gt;&lt;p style="text-align:left;"&gt;And we succeeded, by a&lt;em&gt;&amp;nbsp;lot&lt;/em&gt;&amp;nbsp;(and yes, more on&lt;em&gt;&amp;nbsp;that&lt;/em&gt;&amp;nbsp;in a separate post). But speed isn&amp;rsquo;t enough; it has to be &lt;em&gt;correct &lt;/em&gt;too. That&amp;rsquo;s where things got messy.&lt;/p&gt;&lt;h3 style="color:#434343;text-align:left;"&gt;Tests That Hang, Sometimes&lt;/h3&gt;&lt;p style="text-align:left;"&gt;We noticed that our test suite would &lt;em&gt;occasionally &lt;/em&gt;hang with the new code. Big changes like this&amp;mdash;ones that touch core system components and take months to implement&amp;mdash;often break things. That&amp;rsquo;s expected, and it&amp;rsquo;s &lt;em&gt;why &lt;/em&gt;we have tests. But these weren&amp;rsquo;t just failures; sometimes the tests would hang, crash, or exhibit other bizarre behavior. Intermittent issues are the worst. They scream &amp;ldquo;race condition,&amp;rdquo; and race conditions are notoriously hard to track down.&lt;/p&gt;&lt;p style="text-align:left;"&gt;Here&amp;rsquo;s the setup. IO Ring isn&amp;rsquo;t available in managed code, so we had to write native C code to integrate it. RavenDB already has a Platform Abstraction Layer (PAL) to handle differences between Windows, Linux, and macOS, so we had a natural place to slot this in. &lt;/p&gt;&lt;p style="text-align:left;"&gt;The IO Ring code had to be multithreaded and thread-safe. I&amp;rsquo;ve been writing system-level code for over 20 years, and I &lt;em&gt;still &lt;/em&gt;get uneasy about writing new multithreaded C code. It&amp;rsquo;s a minefield. But the performance we could get&amp;hellip; so we pushed forward&amp;hellip; and now we had to see where that led us.&lt;/p&gt;&lt;p style="text-align:left;"&gt;Of &lt;em&gt;course&lt;/em&gt;, there was a race condition. The actual implementation was under 400 lines of C code&amp;mdash;deliberately simple, stupidly obvious, and easy to review. The goal was to minimize complexity: handle queuing, dispatch data, and get out. I wanted something I could look at and say, &amp;ldquo;Yes, this is correct.&amp;rdquo; I absolutely thought that I had it covered.&lt;/p&gt;&lt;p style="text-align:left;"&gt;We ran the test suite repeatedly. Sometimes it passed; sometimes it hung; rarely, it would crash.&lt;/p&gt;&lt;p style="text-align:left;"&gt;When we looked into it, we were usually stuck on submitting work to the IO Ring. Somehow, we ended up in a state where we pushed data in and never got called back. Here is what this looked like. &lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-php'&gt;&lt;code class='line-numbers language-php'&gt;&lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;:&lt;/span&gt;&lt;span class="token number"&gt;019&lt;/span&gt;&lt;span class="token operator"&gt;&gt;&lt;/span&gt; k
 &lt;span class="token comment"&gt;#   Call Site&lt;/span&gt;
&lt;span class="token number"&gt;00&lt;/span&gt;   ntdll&lt;span class="token operator"&gt;!&lt;/span&gt;ZwSubmitIoRing
&lt;span class="token number"&gt;01&lt;/span&gt;   &lt;span class="token constant"&gt;KERNELBASE&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;&lt;span class="token class-name static-context"&gt;ioring_impl&lt;/span&gt;&lt;span class="token operator"&gt;::&lt;/span&gt;&lt;span class="token class-name static-context"&gt;um_io_ring&lt;/span&gt;&lt;span class="token operator"&gt;::&lt;/span&gt;&lt;span class="token constant"&gt;Submit&lt;/span&gt;&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;0x73&lt;/span&gt;
&lt;span class="token number"&gt;02&lt;/span&gt;   &lt;span class="token constant"&gt;KERNELBASE&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;SubmitIoRing&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;0x3b&lt;/span&gt;
&lt;span class="token number"&gt;03&lt;/span&gt;   librvnpal&lt;span class="token operator"&gt;!&lt;/span&gt;do_ring_work&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;0x16c&lt;/span&gt; 
&lt;span class="token number"&gt;04&lt;/span&gt;   &lt;span class="token constant"&gt;KERNEL32&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;BaseThreadInitThunk&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;0x17&lt;/span&gt;
&lt;span class="token number"&gt;05&lt;/span&gt;   ntdll&lt;span class="token operator"&gt;!&lt;/span&gt;RtlUserThreadStart&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;0x2c&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;In the previous code sample, we just get the work and mark it as done. Now, here is the other side, where we submit the work to the worker thread.&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;int32_t rvn_write_io_ring&lt;span class="token punctuation"&gt;(&lt;/span&gt;void* handle, int32_t count, 
        int32_t* detailed_error_code&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
        int32_t rc &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        struct handle* handle_ptr &lt;span class="token operator"&gt;=&lt;/span&gt; handle&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        EnterCriticalSection&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;handle_ptr-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;global_state-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;lock&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        ResetEvent&lt;span class="token punctuation"&gt;(&lt;/span&gt;handle_ptr-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;global_state-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;notify&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        char* buf &lt;span class="token operator"&gt;=&lt;/span&gt; handle_ptr-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;global_state-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;arena&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        struct workitem* prev &lt;span class="token operator"&gt;=&lt;/span&gt; NULL&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;int32_t curIdx &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; curIdx &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; count&lt;span class="token punctuation"&gt;;&lt;/span&gt; curIdx++&lt;span class="token punctuation"&gt;)&lt;/span&gt;
        &lt;span class="token punctuation"&gt;{&lt;/span&gt;
                struct workitem* work &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;struct workitem*&lt;span class="token punctuation"&gt;)&lt;/span&gt;buf&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                buf &lt;span class="token operator"&gt;+=&lt;/span&gt; sizeof&lt;span class="token punctuation"&gt;(&lt;/span&gt;struct workitem&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                *work &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;struct workitem&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;{&lt;/span&gt;
                        .prev &lt;span class="token operator"&gt;=&lt;/span&gt; prev,
                        .notify &lt;span class="token operator"&gt;=&lt;/span&gt; handle_ptr-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;global_state-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;notify,
                &lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                prev &lt;span class="token operator"&gt;=&lt;/span&gt; work&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                queue_work&lt;span class="token punctuation"&gt;(&lt;/span&gt;work&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token punctuation"&gt;}&lt;/span&gt;
        SetEvent&lt;span class="token punctuation"&gt;(&lt;/span&gt;IoRing.event&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


        bool all_done &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token boolean"&gt;false&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token keyword"&gt;while&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;all_done&lt;span class="token punctuation"&gt;)&lt;/span&gt;
        &lt;span class="token punctuation"&gt;{&lt;/span&gt;
                all_done &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token boolean"&gt;true&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                WaitForSingleObject&lt;span class="token punctuation"&gt;(&lt;/span&gt;handle_ptr-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;global_state-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;notify, INFINITE&lt;span class="token punctuation"&gt;)&lt;/span&gt;
                ResetEvent&lt;span class="token punctuation"&gt;(&lt;/span&gt;handle_ptr-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;global_state-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;notify&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                struct workitem* work &lt;span class="token operator"&gt;=&lt;/span&gt; prev&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                &lt;span class="token keyword"&gt;while&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;work&lt;span class="token punctuation"&gt;)&lt;/span&gt;
                &lt;span class="token punctuation"&gt;{&lt;/span&gt;
                        all_done &lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;&lt;span class="token operator"&gt;=&lt;/span&gt; InterlockedCompareExchange&lt;span class="token punctuation"&gt;(&lt;/span&gt;
&lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;completed, &lt;span class="token number"&gt;0&lt;/span&gt;, &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                        work &lt;span class="token operator"&gt;=&lt;/span&gt; work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;prev&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                &lt;span class="token punctuation"&gt;}&lt;/span&gt;
        &lt;span class="token punctuation"&gt;}&lt;/span&gt;


        LeaveCriticalSection&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;handle_ptr-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;global_state-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;lock&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token builtin class-name"&gt;return&lt;/span&gt; rc&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;We basically take each page we were asked to write and send it to the worker thread for processing, then we wait for the worker to mark &lt;em&gt;all&lt;/em&gt;&amp;nbsp;the requests as completed. Note that we play a nice game with the prev and next&amp;nbsp;pointers. The next pointer is used by the worker thread while the prev pointer is used by the submitter thread.&lt;/p&gt;&lt;p style="text-align:left;"&gt;You can also see that this is being protected by a critical section (a lock) and that there are clear hand-off segments. Either I own the memory, or I explicitly give it to the background thread and wait until the background thread tells me it is done. There is no &lt;em&gt;place&lt;/em&gt;&amp;nbsp;for memory corruption. And yet, we could clearly get it to fail.&lt;/p&gt;&lt;p style="text-align:left;"&gt;Being able to have a small reproduction meant that we could start making changes and see whether it affected the outcome. With nothing else to look at, we checked this function:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;void queue_work_origin&lt;span class="token punctuation"&gt;(&lt;/span&gt;struct workitem* work&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;next &lt;span class="token operator"&gt;=&lt;/span&gt; IoRing.head&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token keyword"&gt;while&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;true&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        struct workitem* cur_head &lt;span class="token operator"&gt;=&lt;/span&gt; InterlockedCompareExchangePointer&lt;span class="token punctuation"&gt;(&lt;/span&gt;
                        &lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;IoRing.head, work, work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;next&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;cur_head &lt;span class="token operator"&gt;==&lt;/span&gt; work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;next&lt;span class="token punctuation"&gt;)&lt;/span&gt;
            &lt;span class="token builtin class-name"&gt;break&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;next &lt;span class="token operator"&gt;=&lt;/span&gt; cur_head&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;I have written similar code dozens of times, I very intentionally made the code simple so it would be obviously correct.&amp;nbsp;But when I even slightly tweaked the queue_work&amp;nbsp;function, the issue vanished. That wasn&amp;rsquo;t good enough, I needed to know &lt;em&gt;what&lt;/em&gt;&amp;nbsp;was going on.&lt;/p&gt;&lt;p style="text-align:left;"&gt;Here is the &amp;ldquo;fixed&amp;rdquo; version of the queue_work&amp;nbsp;function:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;void queue_work_fixed&lt;span class="token punctuation"&gt;(&lt;/span&gt;struct workitem* work&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
        &lt;span class="token keyword"&gt;while&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token number"&gt;1&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
        &lt;span class="token punctuation"&gt;{&lt;/span&gt;
                struct workitem* cur_head &lt;span class="token operator"&gt;=&lt;/span&gt; IoRing.head&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;next &lt;span class="token operator"&gt;=&lt;/span&gt; cur_head&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;InterlockedCompareExchangePointer&lt;span class="token punctuation"&gt;(&lt;/span&gt;
&lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;IoRing.head, work, cur_head&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token operator"&gt;==&lt;/span&gt; cur_head&lt;span class="token punctuation"&gt;)&lt;/span&gt;
                        &lt;span class="token builtin class-name"&gt;break&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token punctuation"&gt;}&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;This is functionally the &lt;em&gt;same thing&lt;/em&gt;. Look at those two functions! There shouldn&amp;rsquo;t be a difference between them. I pulled up the assembly output for those functions and stared at it for a long while.&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-php'&gt;&lt;code class='line-numbers language-php'&gt;&lt;span class="token number"&gt;1&lt;/span&gt; &lt;span class="token class-name type-declaration"&gt;work&lt;/span&gt;$ &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;8&lt;/span&gt;
 &lt;span class="token number"&gt;2&lt;/span&gt; queue_work_fixed &lt;span class="token constant"&gt;PROC&lt;/span&gt;                             &lt;span class="token punctuation"&gt;;&lt;/span&gt; &lt;span class="token constant"&gt;COMDAT&lt;/span&gt;
 &lt;span class="token number"&gt;3&lt;/span&gt;        npad    &lt;span class="token number"&gt;2&lt;/span&gt;
 &lt;span class="token number"&gt;4&lt;/span&gt; &lt;span class="token variable"&gt;$LL2&lt;/span&gt;@queue_work&lt;span class="token punctuation"&gt;:&lt;/span&gt;
 &lt;span class="token number"&gt;5&lt;/span&gt;        mov     rax&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token constant"&gt;QWORD&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; IoRing&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;32&lt;/span&gt;
 &lt;span class="token number"&gt;6&lt;/span&gt;        mov     &lt;span class="token constant"&gt;QWORD&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; &lt;span class="token punctuation"&gt;[&lt;/span&gt;rcx&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;8&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; rax
 &lt;span class="token number"&gt;7&lt;/span&gt;        lock cmpxchg &lt;span class="token constant"&gt;QWORD&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; IoRing&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;32&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; rcx
 &lt;span class="token number"&gt;8&lt;/span&gt;        jne     &lt;span class="token class-name type-declaration"&gt;SHORT&lt;/span&gt; &lt;span class="token variable"&gt;$LL2&lt;/span&gt;@queue_work
 &lt;span class="token number"&gt;9&lt;/span&gt;        ret     &lt;span class="token number"&gt;0&lt;/span&gt;
&lt;span class="token number"&gt;10&lt;/span&gt; queue_work_fixed &lt;span class="token constant"&gt;ENDP&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;A total of ten lines of assembly. Here is what is going on:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Line 5 - we read the IoRing.head&amp;nbsp;into register rax (representing cur_head).&lt;/li&gt;&lt;li&gt;Line 6 - we write the rax register (representing cur_head) to work-&amp;gt;next.&lt;/li&gt;&lt;li&gt;Line 7 - we compare-exchange the value of IoRing.head&amp;nbsp;with the value in rcx (work) using rax (cur_head) as the comparand.&lt;/li&gt;&lt;li&gt;Line 8 - if we fail to update, we jump to line 5 again and re-try.&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align:left;"&gt;That is about as simple a code as you can get, and exactly expresses the intent in the C code. However, if I&amp;rsquo;m looking at the original version, we have:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-php'&gt;&lt;code class='line-numbers language-php'&gt;&lt;span class="token number"&gt;1&lt;/span&gt; &lt;span class="token class-name type-declaration"&gt;work&lt;/span&gt;$ &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;8&lt;/span&gt;
 &lt;span class="token number"&gt;2&lt;/span&gt; queue_work_origin &lt;span class="token constant"&gt;PROC&lt;/span&gt;                               &lt;span class="token punctuation"&gt;;&lt;/span&gt; &lt;span class="token constant"&gt;COMDAT&lt;/span&gt;
 &lt;span class="token number"&gt;3&lt;/span&gt;         npad    &lt;span class="token number"&gt;2&lt;/span&gt;
 &lt;span class="token number"&gt;4&lt;/span&gt; &lt;span class="token variable"&gt;$LL2&lt;/span&gt;@queue_work_origin&lt;span class="token punctuation"&gt;:&lt;/span&gt;
 &lt;span class="token number"&gt;5&lt;/span&gt;         mov     rax&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token constant"&gt;QWORD&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; IoRing&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;32&lt;/span&gt;
 &lt;span class="token number"&gt;6&lt;/span&gt;         mov     &lt;span class="token constant"&gt;QWORD&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; &lt;span class="token punctuation"&gt;[&lt;/span&gt;rcx&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;8&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; rax
&lt;span class="token punctuation"&gt;;&lt;/span&gt;                        ↓↓↓↓↓↓↓↓↓↓↓↓↓ 
 &lt;span class="token number"&gt;7&lt;/span&gt;         mov     rax&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token constant"&gt;QWORD&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; IoRing&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;32&lt;/span&gt;
&lt;span class="token punctuation"&gt;;&lt;/span&gt;                        ↑↑↑↑↑↑↑↑↑↑↑↑↑
 &lt;span class="token number"&gt;8&lt;/span&gt;         lock cmpxchg &lt;span class="token constant"&gt;QWORD&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; IoRing&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;32&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; rcx
 &lt;span class="token number"&gt;9&lt;/span&gt;         cmp     rax&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token constant"&gt;QWORD&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; &lt;span class="token punctuation"&gt;[&lt;/span&gt;rcx&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;8&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;
&lt;span class="token number"&gt;10&lt;/span&gt;         jne     &lt;span class="token class-name type-declaration"&gt;SHORT&lt;/span&gt; &lt;span class="token variable"&gt;$LL2&lt;/span&gt;@queue_work_origin
&lt;span class="token number"&gt;11&lt;/span&gt;         ret     &lt;span class="token number"&gt;0&lt;/span&gt;
&lt;span class="token number"&gt;12&lt;/span&gt; queue_work_origin &lt;span class="token constant"&gt;ENDP&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;This looks &lt;em&gt;mostly&lt;/em&gt;&amp;nbsp;the same, right? But notice that we have just a few more lines. In particular, lines 7, 9, and 10 are new. Because we are using a field, we cannot compare to cur_head directly like we previously did but need to read work-&amp;gt;next&amp;nbsp;again on lines 9 &amp;amp;10. That is &lt;em&gt;fine&lt;/em&gt;.&lt;/p&gt;&lt;p style="text-align:left;"&gt;What is &lt;em&gt;not&lt;/em&gt;&amp;nbsp;fine is line 7. Here we are reading IoRing.head&lt;strong&gt;again&lt;/strong&gt;, and work-&amp;gt;next&amp;nbsp;may point to &lt;em&gt;another&lt;/em&gt;&amp;nbsp;value. In other words, if I were to decompile this function, I would have:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;void queue_work_origin_decompiled&lt;span class="token punctuation"&gt;(&lt;/span&gt;struct workitem* work&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token keyword"&gt;while&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;true&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;next &lt;span class="token operator"&gt;=&lt;/span&gt; IoRing.head&lt;span class="token punctuation"&gt;;&lt;/span&gt;
//                        ↓↓↓↓↓↓↓↓↓↓↓↓↓ 
        struct workitem* tmp &lt;span class="token operator"&gt;=&lt;/span&gt; IoRing.head&lt;span class="token punctuation"&gt;;&lt;/span&gt;
//                        ↑↑↑↑↑↑↑↑↑↑↑↑↑
        struct workitem* cur_head &lt;span class="token operator"&gt;=&lt;/span&gt; InterlockedCompareExchangePointer&lt;span class="token punctuation"&gt;(&lt;/span&gt;
                        &lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;IoRing.head, work, tmp&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;cur_head &lt;span class="token operator"&gt;==&lt;/span&gt; work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;next&lt;span class="token punctuation"&gt;)&lt;/span&gt;
            &lt;span class="token builtin class-name"&gt;break&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;Note the new tmp&amp;nbsp;variable? Why is it reading this twice? It changes the &lt;em&gt;entire&lt;/em&gt;&amp;nbsp;meaning of what we are trying to do here. &lt;/p&gt;&lt;blockquote&gt;&lt;p style="text-align:left;"&gt;You can look at the output directly in &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://godbolt.org/z/c7dfT4efj"&gt;the Compiler Explorer&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="text-align:left;"&gt;This smells like a compiler bug. I also checked the assembly output of clang, and it doesn&amp;rsquo;t have this behavior.&lt;/p&gt;&lt;p style="text-align:left;"&gt;I opened &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://developercommunity.visualstudio.com/t/MSVC-generate-non-thread-safe-code-when/10866952?"&gt;a feedback item with MSVC to confirm&lt;/a&gt;&lt;/span&gt;, but the evidence is compelling. Take a look at this slightly different version of the original. Instead of using a global variable in this function, I&amp;rsquo;m passing the pointer to it. &lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;void queue_work_origin_pointer&lt;span class="token punctuation"&gt;(&lt;/span&gt;
struct IoRingSetup* ring, struct workitem* work&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
        &lt;span class="token keyword"&gt;while&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token number"&gt;1&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
        &lt;span class="token punctuation"&gt;{&lt;/span&gt;
                struct workitem* cur_head &lt;span class="token operator"&gt;=&lt;/span&gt; ring-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;head&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;next &lt;span class="token operator"&gt;=&lt;/span&gt; cur_head&lt;span class="token punctuation"&gt;;&lt;/span&gt;
                &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;InterlockedCompareExchangePointer&lt;span class="token punctuation"&gt;(&lt;/span&gt;
&lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;ring-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;head, work, work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;next&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token operator"&gt;==&lt;/span&gt;  work-&lt;span class="token operator"&gt;&gt;&lt;/span&gt;next&lt;span class="token punctuation"&gt;)&lt;/span&gt;
                        &lt;span class="token builtin class-name"&gt;break&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token punctuation"&gt;}&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;And here is the assembly output, &lt;em&gt;without&lt;/em&gt;&amp;nbsp;the additional load. &lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-php'&gt;&lt;code class='line-numbers language-php'&gt;&lt;span class="token class-name type-declaration"&gt;ring&lt;/span&gt;$ &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;8&lt;/span&gt;
&lt;span class="token class-name type-declaration"&gt;work&lt;/span&gt;$ &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;16&lt;/span&gt;
queue_work_origin &lt;span class="token constant"&gt;PROC&lt;/span&gt;                              &lt;span class="token punctuation"&gt;;&lt;/span&gt; &lt;span class="token constant"&gt;COMDAT&lt;/span&gt;
        prefetchw &lt;span class="token constant"&gt;BYTE&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; &lt;span class="token punctuation"&gt;[&lt;/span&gt;rcx&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;32&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;
        npad    &lt;span class="token number"&gt;12&lt;/span&gt;
&lt;span class="token variable"&gt;$LL2&lt;/span&gt;@queue_work&lt;span class="token punctuation"&gt;:&lt;/span&gt;
        mov     rax&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token constant"&gt;QWORD&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; &lt;span class="token punctuation"&gt;[&lt;/span&gt;rcx&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;32&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;
        mov     &lt;span class="token constant"&gt;QWORD&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; &lt;span class="token punctuation"&gt;[&lt;/span&gt;rdx&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;8&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; rax
        lock cmpxchg &lt;span class="token constant"&gt;QWORD&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; &lt;span class="token punctuation"&gt;[&lt;/span&gt;rcx&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;32&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; rdx
        cmp     rax&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token constant"&gt;QWORD&lt;/span&gt; &lt;span class="token constant"&gt;PTR&lt;/span&gt; &lt;span class="token punctuation"&gt;[&lt;/span&gt;rdx&lt;span class="token operator"&gt;+&lt;/span&gt;&lt;span class="token number"&gt;8&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;
        jne     &lt;span class="token class-name type-declaration"&gt;SHORT&lt;/span&gt; &lt;span class="token variable"&gt;$LL2&lt;/span&gt;@queue_work
        ret     &lt;span class="token number"&gt;0&lt;/span&gt;
queue_work_origin &lt;span class="token constant"&gt;ENDP&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;That unexpected load was breaking our thread-safety assumptions, and that led to a whole &lt;em&gt;mess&lt;/em&gt;&amp;nbsp;of trouble. Violated invariants are no joke. &lt;/p&gt;&lt;p style="text-align:left;"&gt;The actual fix was pretty simple, as you can see. &lt;em&gt;Finding&lt;/em&gt;&amp;nbsp;it was a huge hurdle. The good news is that I got &lt;em&gt;really&lt;/em&gt;&amp;nbsp;familiar with this code, to the point that I got some good ideas on how to improve it further &amp;#128578;.&lt;/p&gt;
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/themes/prism.min.css" integrity="sha512-/mZ1FHPkg6EKcxo0fKXF51ak6Cr2ocgDi5ytaTBjsQZIH/RNs6GF6+oId/vPe3eJB836T36nXwVh/WBl/cWT4w==" crossorigin="anonymous" referrerpolicy="no-referrer" /&gt;</description><link>https://www.ayende.com/blog/202180-A/production-postmortem-the-race-condition-in-the-interlock?Key=d4505a7a-e882-490b-837c-aeda90792a87</link><guid>https://www.ayende.com/blog/202180-A/production-postmortem-the-race-condition-in-the-interlock?Key=d4505a7a-e882-490b-837c-aeda90792a87</guid><pubDate>Mon, 07 Apr 2025 12:00:00 GMT</pubDate></item><item><title>Challenge: Giving file system developer ulcer</title><description>&lt;p style="text-align:left;"&gt;I&amp;rsquo;m trying to reason about the behavior of this code, and I can&amp;rsquo;t decide if this is a stroke of genius or if I&amp;rsquo;m suffering from a stroke. Take a look at the code, and then I&amp;rsquo;ll discuss what I&amp;rsquo;m trying to do below:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;HANDLE hFile &lt;span class="token operator"&gt;=&lt;/span&gt; CreateFileA&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"R:/original_file.bin"&lt;/span&gt;, 
GENERIC_READ &lt;span class="token operator"&gt;|&lt;/span&gt; GENERIC_WRITE, 
FILE_SHARE_READ &lt;span class="token operator"&gt;|&lt;/span&gt; FILE_SHARE_WRITE, 
NULL, 
OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 
NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile &lt;span class="token operator"&gt;==&lt;/span&gt; INVALID_HANDLE_VALUE&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    printf&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"Error creating file: %d&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;




HANDLE hMapFile &lt;span class="token operator"&gt;=&lt;/span&gt; CreateFileMapping&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile, NULL, 
PAGE_READWRITE, &lt;span class="token number"&gt;0&lt;/span&gt;, &lt;span class="token number"&gt;0&lt;/span&gt;, NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;hMapFile &lt;span class="token operator"&gt;==&lt;/span&gt; NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"Could not create file mapping object: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;


char* lpMapAddress &lt;span class="token operator"&gt;=&lt;/span&gt; MapViewOfFile&lt;span class="token punctuation"&gt;(&lt;/span&gt;hMapFile, FILE_MAP_WRITE, &lt;span class="token number"&gt;0&lt;/span&gt;, &lt;span class="token number"&gt;0&lt;/span&gt;, &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;lpMapAddress &lt;span class="token operator"&gt;==&lt;/span&gt; NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"Could not map view of file: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;


&lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;size_t i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;2&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;4&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
        lpMapAddress&lt;span class="token punctuation"&gt;[&lt;/span&gt;i&lt;span class="token punctuation"&gt;]&lt;/span&gt;++&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;


HANDLE hDirect &lt;span class="token operator"&gt;=&lt;/span&gt; CreateFileA&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"R:/original_file.bin"&lt;/span&gt;, 
GENERIC_READ &lt;span class="token operator"&gt;|&lt;/span&gt; GENERIC_WRITE, 
FILE_SHARE_READ &lt;span class="token operator"&gt;|&lt;/span&gt; FILE_SHARE_WRITE, 
NULL, 
OPEN_ALWAYS, 
FILE_ATTRIBUTE_NORMAL, 
NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


SetFilePointerEx&lt;span class="token punctuation"&gt;(&lt;/span&gt;hDirect, &lt;span class="token punctuation"&gt;(&lt;/span&gt;LARGE_INTEGER&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt; &lt;span class="token number"&gt;6&lt;/span&gt; * MB &lt;span class="token punctuation"&gt;}&lt;/span&gt;, &lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt; fileSize, FILE_BEGIN&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;6&lt;/span&gt; &lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;10&lt;/span&gt; &lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;WriteFile&lt;span class="token punctuation"&gt;(&lt;/span&gt;hDirect, lpMapAddress + i * MB, MB, &lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;bytesWritten, NULL&lt;span class="token punctuation"&gt;))&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"WriteFile direct failed on iteration %d: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, i, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;The idea is pretty simple, I&amp;rsquo;m opening the same file &lt;em&gt;twice&lt;/em&gt;. Once in buffered mode and mapping that memory for both reads &amp;amp; writes. The problem is that to flush the data to disk, I have to either wait for the OS, or call FlushViewOfFile()&amp;nbsp;and FlushFileBuffers()&amp;nbsp;to actually flush it to disk explicitly.&lt;/p&gt;&lt;p style="text-align:left;"&gt;The problem with this approach is that FlushFileBuffers()&amp;nbsp;has &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://github.com/dotnet/runtime/issues/111201"&gt;undesirable side effects&lt;/a&gt;&lt;/span&gt;. So I&amp;rsquo;m opening the file &lt;em&gt;again&lt;/em&gt;, this time for &lt;em&gt;unbuffered&lt;/em&gt;&amp;nbsp;I/O. I&amp;rsquo;m writing to the &lt;em&gt;memory&lt;/em&gt;&amp;nbsp;map and then using the &lt;em&gt;same&lt;/em&gt;&amp;nbsp;mapping to write to the file itself. On Windows, that goes through a separate path (and may lose coherence with the memory map). &lt;/p&gt;&lt;p style="text-align:left;"&gt;The idea here is that since I&amp;rsquo;m writing from the same location, I &lt;em&gt;can&amp;rsquo;t&lt;/em&gt;&amp;nbsp;lose coherence. I either get the value from the file or from the memory map, and they are both the same. At least, that is what I &lt;em&gt;hope&lt;/em&gt;&amp;nbsp;will happen.&lt;/p&gt;&lt;p style="text-align:left;"&gt;For the purpose of discussion, I can ensure that there is no one else writing to this file while I&amp;rsquo;m abusing the system in this manner. What do you &lt;em&gt;think&lt;/em&gt;&amp;nbsp;Windows will do in this case?&lt;/p&gt;&lt;p style="text-align:left;"&gt;I believe that when I&amp;rsquo;m writing using unbuffered I/O in this manner, I&amp;rsquo;m forcing the OS to drop the mapping and refresh from the disk. That is likely the reason why it may lose coherence, because there may be already reads that aren&amp;rsquo;t served from main memory, or something like that.&lt;/p&gt;&lt;p style="text-align:left;"&gt;This isn&amp;rsquo;t an approach that I would actually take for production usage, but it is a &lt;em&gt;damn&lt;/em&gt;&amp;nbsp;interesting thing to speculate on. If you have any idea what will actually happen, I would love to have your input.&lt;/p&gt;
&lt;p&gt;&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/themes/prism.min.css" integrity="sha512-/mZ1FHPkg6EKcxo0fKXF51ak6Cr2ocgDi5ytaTBjsQZIH/RNs6GF6+oId/vPe3eJB836T36nXwVh/WBl/cWT4w==" crossorigin="anonymous" referrerpolicy="no-referrer" /&gt;&lt;/p&gt;
</description><link>https://www.ayende.com/blog/201989-A/challenge-giving-file-system-developer-ulcer?Key=43f24790-760e-4bd6-bd27-e458228ddada</link><guid>https://www.ayende.com/blog/201989-A/challenge-giving-file-system-developer-ulcer?Key=43f24790-760e-4bd6-bd27-e458228ddada</guid><pubDate>Mon, 03 Feb 2025 12:00:00 GMT</pubDate></item><item><title>NTFS has an emergency stash of disk space</title><description>&lt;p style="text-align:left;"&gt;I would &lt;em&gt;really&lt;/em&gt;&amp;nbsp;love to have a better understanding of what is going on here!&lt;/p&gt;&lt;p style="text-align:left;"&gt;If you format a 32 MB disk using NTFS, you&amp;rsquo;ll get the following result:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;So about 10 MB are taken for NTFS metadata. I guess that makes sense, and giving up 10 MB isn&amp;rsquo;t generally a big deal these days, so I wouldn&amp;rsquo;t worry about it.&lt;/p&gt;&lt;p style="text-align:left;"&gt;I write a 20 MB file and punch a hole in it between 6 MB and 18 MB (12 MB in total), so we have:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;And in terms of disk space, we have:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;The numbers match, awesome! Let&amp;rsquo;s create a new 12 MB file, like so:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;And the disk is:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;And now I&amp;rsquo;m running the following code, which maps the first file (with the hole punched in it) and writes 4 MB to it using memory-mapped I/O:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;HANDLE hMapFile &lt;span class="token operator"&gt;=&lt;/span&gt; CreateFileMapping&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile, NULL, PAGE_READWRITE, &lt;span class="token number"&gt;0&lt;/span&gt;, &lt;span class="token number"&gt;0&lt;/span&gt;, NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;hMapFile &lt;span class="token operator"&gt;==&lt;/span&gt; NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"Could not create file mapping object: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


&lt;span class="token punctuation"&gt;}&lt;/span&gt;


char* lpMapAddress &lt;span class="token operator"&gt;=&lt;/span&gt; MapViewOfFile&lt;span class="token punctuation"&gt;(&lt;/span&gt;hMapFile, FILE_MAP_WRITE, &lt;span class="token number"&gt;0&lt;/span&gt;, &lt;span class="token number"&gt;0&lt;/span&gt;, &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;lpMapAddress &lt;span class="token operator"&gt;==&lt;/span&gt; NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"Could not map view of file: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;


&lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;6&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;10&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token variable"&gt;&lt;span class="token punctuation"&gt;((&lt;/span&gt;char&lt;span class="token operator"&gt;*&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;lpMapAddress&lt;span class="token punctuation"&gt;)&lt;/span&gt;[i]&lt;span class="token operator"&gt;++&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
}


if &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;FlushViewOfFile&lt;span class="token punctuation"&gt;(&lt;/span&gt;lpMapAddress&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"Could not flush view of file: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;


&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;FlushFileBuffers&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile&lt;span class="token punctuation"&gt;))&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"Could not flush file buffers: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;The end for this file is:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;So with the &lt;em&gt;other&lt;/em&gt;&amp;nbsp;file, we have a total of 24 MB in use on a 32 MB disk. And here is the state of the disk itself:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;The problem is that there used to be 9.78 MB that were busy when we had a newly formatted disk. And now we are using at least some of that disk space for storing file data somehow.&lt;/p&gt;&lt;p style="text-align:left;"&gt;I&amp;rsquo;m getting the same behavior when I use normal file I/O:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;moveAmount.QuadPart &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;6&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;;&lt;/span&gt;
SetFilePointerEx&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile, moveAmount, NULL, FILE_BEGIN&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


&lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;6&lt;/span&gt; &lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;10&lt;/span&gt; &lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;WriteFile&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile, buffer, MB, &lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;bytesWritten, NULL&lt;span class="token punctuation"&gt;))&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"WriteFile failed on iteration %d: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, i, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;So somehow in this sequence of operations, we get more disk space. On the other hand, if I try to write just 22 MB into a single file, it fails. See:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;hFile &lt;span class="token operator"&gt;=&lt;/span&gt; CreateFileA&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"R:/original_file.bin"&lt;/span&gt;, GENERIC_READ &lt;span class="token operator"&gt;|&lt;/span&gt; GENERIC_WRITE, &lt;span class="token number"&gt;0&lt;/span&gt;, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile &lt;span class="token operator"&gt;==&lt;/span&gt; INVALID_HANDLE_VALUE&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    printf&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"Error creating file: %d&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;


&lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;int i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;22&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;WriteFile&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile, buffer, MB, &lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;bytesWritten, NULL&lt;span class="token punctuation"&gt;))&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"WriteFile failed on iteration %d: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, i, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;You can find the &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://gist.github.com/ayende/906811ee6e975b318b7588e2122b7717"&gt;full source here&lt;/a&gt;&lt;/span&gt;. I would love to understand what &lt;em&gt;exactly&lt;/em&gt;&amp;nbsp;is happening and how we suddenly get more disk space usage in this scenario.&lt;/p&gt;
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/themes/prism.min.css" integrity="sha512-/mZ1FHPkg6EKcxo0fKXF51ak6Cr2ocgDi5ytaTBjsQZIH/RNs6GF6+oId/vPe3eJB836T36nXwVh/WBl/cWT4w==" crossorigin="anonymous" referrerpolicy="no-referrer" /&gt;</description><link>https://www.ayende.com/blog/201988-A/ntfs-has-an-emergency-stash-of-disk-space?Key=1980766b-4109-4fb6-a096-a4d2fd4e340f</link><guid>https://www.ayende.com/blog/201988-A/ntfs-has-an-emergency-stash-of-disk-space?Key=1980766b-4109-4fb6-a096-a4d2fd4e340f</guid><pubDate>Fri, 31 Jan 2025 12:00:00 GMT</pubDate></item><item><title>What happens when a sparse file allocation fails?</title><description>&lt;p style="text-align:left;"&gt;Today I set out to figure out an answer to a very specific question. What happens at the OS level when you try to allocate disk space for a sparse file and there is no additional disk space?&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;Sparse files are a fairly advanced feature of file systems. They allow you to define a file whose size is 10GB, but that only takes 2GB of actual disk space. The rest is sparse (takes no disk space and on read will return just zeroes). The OS will automatically allocate additional disk space for you if you &lt;em&gt;write &lt;/em&gt;to the sparse ranges.&lt;/p&gt;&lt;p style="text-align:left;"&gt;This leads to an interesting question, what happens when you write to a sparse file if there is no additional disk space?&lt;/p&gt;&lt;p style="text-align:left;"&gt;Let&amp;rsquo;s look at the problem on Linux first. We define a RAM disk with 32MB, like so:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;&lt;span class="token function"&gt;sudo&lt;/span&gt; &lt;span class="token function"&gt;mkdir&lt;/span&gt; &lt;span class="token parameter variable"&gt;-p&lt;/span&gt; /mnt/ramdisk
&lt;span class="token function"&gt;sudo&lt;/span&gt; &lt;span class="token function"&gt;mount&lt;/span&gt; &lt;span class="token parameter variable"&gt;-t&lt;/span&gt; tmpfs &lt;span class="token parameter variable"&gt;-o&lt;/span&gt; &lt;span class="token assign-left variable"&gt;size&lt;/span&gt;&lt;span class="token operator"&gt;=&lt;/span&gt;32M tmpfs /mnt/ramdisk&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;And then we write the following code, which does the following (on a disk with just 32MB):&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Create a file - write 32 MB to it&lt;/li&gt;&lt;li&gt;Punch a hole of 8 MB in the file (range is 12MB - 20MB)&lt;/li&gt;&lt;li&gt;Create &lt;em&gt;another &lt;/em&gt;file - write 4 MB to it (there is now only 4MB available)&lt;/li&gt;&lt;li&gt;Open the original file and try to write to the range with the hole in it (requiring additional disk space allocation)&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;&lt;span class="token comment"&gt;#define _GNU_SOURCE&lt;/span&gt;


&lt;span class="token comment"&gt;#include &amp;lt;stdio.h&gt;&lt;/span&gt;
&lt;span class="token comment"&gt;#include &amp;lt;stdlib.h&gt;&lt;/span&gt;
&lt;span class="token comment"&gt;#include &amp;lt;unistd.h&gt;&lt;/span&gt;
&lt;span class="token comment"&gt;#include &amp;lt;fcntl.h&gt;&lt;/span&gt;
&lt;span class="token comment"&gt;#include &amp;lt;linux/falloc.h&gt;&lt;/span&gt;
&lt;span class="token comment"&gt;#include &amp;lt;errno.h&gt;&lt;/span&gt;
&lt;span class="token comment"&gt;#include &amp;lt;string.h&gt;&lt;/span&gt;
&lt;span class="token comment"&gt;#include &amp;lt;sys/random.h&gt;&lt;/span&gt;


&lt;span class="token comment"&gt;#define MB (1024 * 1024)&lt;/span&gt;


void write_all&lt;span class="token punctuation"&gt;(&lt;/span&gt;int fd, const void *buf, size_t count&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    size_t bytes_written &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    const char *ptr &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;const char *&lt;span class="token punctuation"&gt;)&lt;/span&gt;buf&lt;span class="token punctuation"&gt;;&lt;/span&gt;


    &lt;span class="token keyword"&gt;while&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;bytes_written &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; count&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        ssize_t result &lt;span class="token operator"&gt;=&lt;/span&gt; write&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd, ptr + bytes_written, count - bytes_written&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


        &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;result &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
        &lt;span class="token punctuation"&gt;{&lt;/span&gt;
            &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;errno &lt;span class="token operator"&gt;==&lt;/span&gt; EINTR&lt;span class="token punctuation"&gt;)&lt;/span&gt;
                &lt;span class="token builtin class-name"&gt;continue&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


            fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"Write error: errno = %d (%s)&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, errno, strerror&lt;span class="token punctuation"&gt;(&lt;/span&gt;errno&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
            exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;EXIT_FAILURE&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token punctuation"&gt;}&lt;/span&gt;


        &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;result &lt;span class="token operator"&gt;==&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
        &lt;span class="token punctuation"&gt;{&lt;/span&gt;


            fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"Zero len write is bad: errno = %d (%s)&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, errno, strerror&lt;span class="token punctuation"&gt;(&lt;/span&gt;errno&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
            exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;EXIT_FAILURE&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token punctuation"&gt;}&lt;/span&gt;


        bytes_written &lt;span class="token operator"&gt;+=&lt;/span&gt; result&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;


int &lt;span class="token function-name function"&gt;main&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    int fd&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    char buffer&lt;span class="token punctuation"&gt;[&lt;/span&gt;MB&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


    unlink&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"/mnt/ramdisk/fullfile"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    unlink&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"/mnt/ramdisk/anotherfile"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


    getrandom&lt;span class="token punctuation"&gt;(&lt;/span&gt;buffer, MB, &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


    ssize_t bytes_written&lt;span class="token punctuation"&gt;;&lt;/span&gt;


    fd &lt;span class="token operator"&gt;=&lt;/span&gt; open&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"/mnt/ramdisk/fullfile"&lt;/span&gt;, O_RDWR &lt;span class="token operator"&gt;|&lt;/span&gt; O_CREAT &lt;span class="token operator"&gt;|&lt;/span&gt; O_TRUNC, 0644&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;fd &lt;span class="token operator"&gt;==&lt;/span&gt; -1&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"open full file: errno = %d (%s)&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, errno, strerror&lt;span class="token punctuation"&gt;(&lt;/span&gt;errno&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;EXIT_FAILURE&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
    &lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;int i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;32&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        write_all&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd, buffer, MB&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
    close&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


    fd &lt;span class="token operator"&gt;=&lt;/span&gt; open&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"/mnt/ramdisk/fullfile"&lt;/span&gt;, O_RDWR&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;fd &lt;span class="token operator"&gt;==&lt;/span&gt; -1&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"reopen full file: errno = %d (%s)&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, errno, strerror&lt;span class="token punctuation"&gt;(&lt;/span&gt;errno&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;EXIT_FAILURE&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;


    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;fallocate&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd, FALLOC_FL_PUNCH_HOLE &lt;span class="token operator"&gt;|&lt;/span&gt; FALLOC_FL_KEEP_SIZE, &lt;span class="token number"&gt;12&lt;/span&gt; * MB, &lt;span class="token number"&gt;8&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token operator"&gt;==&lt;/span&gt; -1&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"fallocate failure: errno = %d (%s)&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, errno, strerror&lt;span class="token punctuation"&gt;(&lt;/span&gt;errno&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;EXIT_FAILURE&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
    close&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


    fd &lt;span class="token operator"&gt;=&lt;/span&gt; open&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"/mnt/ramdisk/anotherfile"&lt;/span&gt;, O_RDWR &lt;span class="token operator"&gt;|&lt;/span&gt; O_CREAT &lt;span class="token operator"&gt;|&lt;/span&gt; O_TRUNC, 0644&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;fd &lt;span class="token operator"&gt;==&lt;/span&gt; -1&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"open another file: errno = %d (%s)&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, errno, strerror&lt;span class="token punctuation"&gt;(&lt;/span&gt;errno&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;EXIT_FAILURE&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;


    &lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;int i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;4&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        write_all&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd, buffer, MB&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
    close&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


    // Write &lt;span class="token number"&gt;8&lt;/span&gt; MB to the hole &lt;span class="token keyword"&gt;in&lt;/span&gt; the first &lt;span class="token function"&gt;file&lt;/span&gt;
    fd &lt;span class="token operator"&gt;=&lt;/span&gt; open&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"/mnt/ramdisk/fullfile"&lt;/span&gt;, O_RDWR&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;fd &lt;span class="token operator"&gt;==&lt;/span&gt; -1&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"reopen full file 2: errno = %d (%s)&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, errno, strerror&lt;span class="token punctuation"&gt;(&lt;/span&gt;errno&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;EXIT_FAILURE&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;


    // Seek to the start of the hole
    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;lseek&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd, &lt;span class="token number"&gt;12&lt;/span&gt; * MB, SEEK_SET&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token operator"&gt;==&lt;/span&gt; -1&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"seek full file: errno = %d (%s)&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, errno, strerror&lt;span class="token punctuation"&gt;(&lt;/span&gt;errno&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;EXIT_FAILURE&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
    &lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;int i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;8&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt;
    &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        write_all&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd, buffer, MB&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;
    close&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


    printf&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"Operations completed successfully.&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token builtin class-name"&gt;return&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;As expected, this code will fail on the 5th write (since there is no disk space &lt;em&gt;to&lt;/em&gt;&amp;nbsp;allocate in the disk). The error would be:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-yaml'&gt;&lt;code class='line-numbers language-yaml'&gt;&lt;span class="token key atrule"&gt;Write error&lt;/span&gt;&lt;span class="token punctuation"&gt;:&lt;/span&gt; errno = 28 (No space left on device)&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;Here is what the file system reports:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-julia'&gt;&lt;code class='line-numbers language-julia'&gt;&lt;span class="token operator"&gt;$&lt;/span&gt; du &lt;span class="token operator"&gt;-&lt;/span&gt;h &lt;span class="token operator"&gt;/&lt;/span&gt;mnt&lt;span class="token operator"&gt;/&lt;/span&gt;ramdisk&lt;span class="token operator"&gt;/&lt;/span&gt;&lt;span class="token operator"&gt;*&lt;/span&gt;
&lt;span class="token number"&gt;4.0&lt;/span&gt;M    &lt;span class="token operator"&gt;/&lt;/span&gt;mnt&lt;span class="token operator"&gt;/&lt;/span&gt;ramdisk&lt;span class="token operator"&gt;/&lt;/span&gt;anotherfile
&lt;span class="token number"&gt;28&lt;/span&gt;M     &lt;span class="token operator"&gt;/&lt;/span&gt;mnt&lt;span class="token operator"&gt;/&lt;/span&gt;ramdisk&lt;span class="token operator"&gt;/&lt;/span&gt;fullfile


&lt;span class="token operator"&gt;$&lt;/span&gt; ll &lt;span class="token operator"&gt;-&lt;/span&gt;h &lt;span class="token operator"&gt;/&lt;/span&gt;mnt&lt;span class="token operator"&gt;/&lt;/span&gt;ramdisk&lt;span class="token operator"&gt;/&lt;/span&gt;
total &lt;span class="token number"&gt;33&lt;/span&gt;M
drwxrwxrwt &lt;span class="token number"&gt;2&lt;/span&gt; root   root     &lt;span class="token number"&gt;80&lt;/span&gt; Jan  &lt;span class="token number"&gt;9&lt;/span&gt; &lt;span class="token number"&gt;10&lt;/span&gt;&lt;span class="token punctuation"&gt;:&lt;/span&gt;&lt;span class="token number"&gt;43&lt;/span&gt; &lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token operator"&gt;/&lt;/span&gt;
drwxr&lt;span class="token operator"&gt;-&lt;/span&gt;xr&lt;span class="token operator"&gt;-&lt;/span&gt;x &lt;span class="token number"&gt;6&lt;/span&gt; root   root   &lt;span class="token number"&gt;4.0&lt;/span&gt;K Jan  &lt;span class="token number"&gt;9&lt;/span&gt; &lt;span class="token number"&gt;10&lt;/span&gt;&lt;span class="token punctuation"&gt;:&lt;/span&gt;&lt;span class="token number"&gt;30&lt;/span&gt; &lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token operator"&gt;/&lt;/span&gt;
&lt;span class="token operator"&gt;-&lt;/span&gt;rw&lt;span class="token operator"&gt;-&lt;/span&gt;r&lt;span class="token operator"&gt;-&lt;/span&gt;&lt;span class="token operator"&gt;-&lt;/span&gt;r&lt;span class="token operator"&gt;-&lt;/span&gt;&lt;span class="token operator"&gt;-&lt;/span&gt; &lt;span class="token number"&gt;1&lt;/span&gt; ayende ayende &lt;span class="token number"&gt;4.0&lt;/span&gt;M Jan  &lt;span class="token number"&gt;9&lt;/span&gt; &lt;span class="token number"&gt;10&lt;/span&gt;&lt;span class="token punctuation"&gt;:&lt;/span&gt;&lt;span class="token number"&gt;43&lt;/span&gt; anotherfile
&lt;span class="token operator"&gt;-&lt;/span&gt;rw&lt;span class="token operator"&gt;-&lt;/span&gt;r&lt;span class="token operator"&gt;-&lt;/span&gt;&lt;span class="token operator"&gt;-&lt;/span&gt;r&lt;span class="token operator"&gt;-&lt;/span&gt;&lt;span class="token operator"&gt;-&lt;/span&gt; &lt;span class="token number"&gt;1&lt;/span&gt; ayende ayende  &lt;span class="token number"&gt;32&lt;/span&gt;M Jan  &lt;span class="token number"&gt;9&lt;/span&gt; &lt;span class="token number"&gt;10&lt;/span&gt;&lt;span class="token punctuation"&gt;:&lt;/span&gt;&lt;span class="token number"&gt;43&lt;/span&gt; fullfile&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;As you can see, we have a total of 32 MB of actual size reported, but ll is reporting that we actually have files bigger than that (because we have hole punching).&lt;/p&gt;&lt;p style="text-align:left;"&gt;What would happen if we were to run this using memory-mapped I/O? Here is the code:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;fd &lt;span class="token operator"&gt;=&lt;/span&gt; open&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"/mnt/ramdisk/fullfile"&lt;/span&gt;, O_RDWR&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


char *mapped_memory &lt;span class="token operator"&gt;=&lt;/span&gt; mmap&lt;span class="token punctuation"&gt;(&lt;/span&gt;NULL, &lt;span class="token number"&gt;32&lt;/span&gt; * MB, PROT_READ &lt;span class="token operator"&gt;|&lt;/span&gt; PROT_WRITE, MAP_SHARED, fd, &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;mapped_memory &lt;span class="token operator"&gt;==&lt;/span&gt; MAP_FAILED&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"fail mmap: errno = %d (%s)&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, errno, strerror&lt;span class="token punctuation"&gt;(&lt;/span&gt;errno&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;EXIT_FAILURE&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;


&lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;size_t i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token number"&gt;12&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token number"&gt;20&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    mapped_memory&lt;span class="token punctuation"&gt;[&lt;/span&gt;i&lt;span class="token punctuation"&gt;]&lt;/span&gt; &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;1&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;
munmap&lt;span class="token punctuation"&gt;(&lt;/span&gt;mapped_memory, &lt;span class="token number"&gt;32&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
close&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;This will lead to an interesting scenario. We need to allocate disk space for the memory, and we&amp;rsquo;ll do so (note that we are writing into the hole), and this code will &lt;em&gt;fail&lt;/em&gt;&amp;nbsp;with a segmentation fault.&lt;/p&gt;&lt;p style="text-align:left;"&gt;It will fail in the loop, by the way, as part of the page fault to bring the memory in, the file system needs to allocate the disk space. If there is no such disk space, it will fail. The only way for the OS to behave in this case is to fail the write, which leads to a segmentation fault.&lt;/p&gt;&lt;p style="text-align:left;"&gt;I also tried that on Windows. I defined a virtual disk like so:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-python'&gt;&lt;code class='line-numbers language-python'&gt;$ diskpart
create vdisk &lt;span class="token builtin"&gt;file&lt;/span&gt;&lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token string"&gt;"D:\ramdisk.vhd"&lt;/span&gt; maximum&lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class="token number"&gt;32&lt;/span&gt;
select vdisk &lt;span class="token builtin"&gt;file&lt;/span&gt;&lt;span class="token operator"&gt;=&lt;/span&gt;D&lt;span class="token punctuation"&gt;:&lt;/span&gt;\ramdisk&lt;span class="token punctuation"&gt;.&lt;/span&gt;vhd"
attach vdisk
create partition primary
&lt;span class="token builtin"&gt;format&lt;/span&gt; fs&lt;span class="token operator"&gt;=&lt;/span&gt;NTFS quick label&lt;span class="token operator"&gt;=&lt;/span&gt;RAMDISK
assign letter&lt;span class="token operator"&gt;=&lt;/span&gt;R
exit&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;This creates a 32MB disk and assigns it the letter R. Note that we are using NTFS, which has its own metadata, we have roughly 21MB or so of usable disk space to play with here.&lt;/p&gt;&lt;p style="text-align:left;"&gt;Here is the Windows code that simulates the same behavior as the Linux code above:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;&lt;span class="token comment"&gt;#include &amp;lt;stdio.h&gt;&lt;/span&gt;
&lt;span class="token comment"&gt;#include &amp;lt;windows.h&gt;&lt;/span&gt;


&lt;span class="token comment"&gt;#define MB (1024 * 1024)&lt;/span&gt;


int &lt;span class="token function-name function"&gt;main&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    HANDLE hFile, hFile2&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    DWORD bytesWritten&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    LARGE_INTEGER fileSize, moveAmount&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    char* buffer &lt;span class="token operator"&gt;=&lt;/span&gt; malloc&lt;span class="token punctuation"&gt;(&lt;/span&gt;MB&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    
    int i&lt;span class="token punctuation"&gt;;&lt;/span&gt;


        DeleteFileA&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"R:&lt;span class="token entity" title="\\"&gt;\\&lt;/span&gt;original_file.bin"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        DeleteFileA&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"R:&lt;span class="token entity" title="\\"&gt;\\&lt;/span&gt;another_file.bin"&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


    hFile &lt;span class="token operator"&gt;=&lt;/span&gt; CreateFileA&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"R:/original_file.bin"&lt;/span&gt;, GENERIC_READ &lt;span class="token operator"&gt;|&lt;/span&gt; GENERIC_WRITE, &lt;span class="token number"&gt;0&lt;/span&gt;, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile &lt;span class="token operator"&gt;==&lt;/span&gt; INVALID_HANDLE_VALUE&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        printf&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"Error creating file: %d&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;


    &lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;int i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;20&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;WriteFile&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile, buffer, MB, &lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;bytesWritten, NULL&lt;span class="token punctuation"&gt;))&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
            fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"WriteFile failed on iteration %d: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, i, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
            exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token punctuation"&gt;}&lt;/span&gt;
        &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;bytesWritten &lt;span class="token operator"&gt;!=&lt;/span&gt; MB&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
            fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"Failed to write full buffer on iteration %d&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, i&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
            exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token punctuation"&gt;}&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;


    FILE_ZERO_DATA_INFORMATION zeroDataInfo&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    zeroDataInfo.FileOffset.QuadPart &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;6&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;;&lt;/span&gt; 
    zeroDataInfo.BeyondFinalZero.QuadPart &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;18&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;;&lt;/span&gt; 


    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;DeviceIoControl&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile, FSCTL_SET_SPARSE, NULL, &lt;span class="token number"&gt;0&lt;/span&gt;, NULL, &lt;span class="token number"&gt;0&lt;/span&gt;, NULL, NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token operator"&gt;||&lt;/span&gt; 
        &lt;span class="token operator"&gt;!&lt;/span&gt;DeviceIoControl&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile, FSCTL_SET_ZERO_DATA, &lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;zeroDataInfo, sizeof&lt;span class="token punctuation"&gt;(&lt;/span&gt;zeroDataInfo&lt;span class="token punctuation"&gt;)&lt;/span&gt;, NULL, &lt;span class="token number"&gt;0&lt;/span&gt;, NULL, NULL&lt;span class="token punctuation"&gt;))&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
                printf&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"Error setting zero data: %d&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token punctuation"&gt;}&lt;/span&gt;




    // Create another &lt;span class="token function"&gt;file&lt;/span&gt; of size &lt;span class="token number"&gt;4&lt;/span&gt; MB
    hFile2 &lt;span class="token operator"&gt;=&lt;/span&gt; CreateFileA&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"R:/another_file.bin"&lt;/span&gt;, GENERIC_READ &lt;span class="token operator"&gt;|&lt;/span&gt; GENERIC_WRITE, &lt;span class="token number"&gt;0&lt;/span&gt;, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile2 &lt;span class="token operator"&gt;==&lt;/span&gt; INVALID_HANDLE_VALUE&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        printf&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"Error creating second file: %d&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;




    &lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;int i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;4&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;WriteFile&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile2, buffer, MB, &lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;bytesWritten, NULL&lt;span class="token punctuation"&gt;))&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
            fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"WriteFile 2 failed on iteration %d: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, i, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
            exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token punctuation"&gt;}&lt;/span&gt;
        &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;bytesWritten &lt;span class="token operator"&gt;!=&lt;/span&gt; MB&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
            fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"Failed to write full buffer 2 on iteration %d&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, i&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
            exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token punctuation"&gt;}&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;


        moveAmount.QuadPart &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;12&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    SetFilePointerEx&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile, moveAmount, NULL, FILE_BEGIN&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;8&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
        &lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token operator"&gt;!&lt;/span&gt;WriteFile&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile, buffer, MB, &lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;bytesWritten, NULL&lt;span class="token punctuation"&gt;))&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
            printf&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"Error writing to file: %d&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
            exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
        &lt;span class="token punctuation"&gt;}&lt;/span&gt;
    &lt;span class="token punctuation"&gt;}&lt;/span&gt;


    &lt;span class="token builtin class-name"&gt;return&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;And that gives us the exact same behavior as in Linux. One of these writes will fail because there is no more disk space for it. What about when we use memory-mapped I/O?&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;HANDLE hMapFile &lt;span class="token operator"&gt;=&lt;/span&gt; CreateFileMapping&lt;span class="token punctuation"&gt;(&lt;/span&gt;hFile, NULL, PAGE_READWRITE, &lt;span class="token number"&gt;0&lt;/span&gt;, &lt;span class="token number"&gt;0&lt;/span&gt;, NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;hMapFile &lt;span class="token operator"&gt;==&lt;/span&gt; NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"Could not create file mapping object: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


&lt;span class="token punctuation"&gt;}&lt;/span&gt;


char* lpMapAddress &lt;span class="token operator"&gt;=&lt;/span&gt; MapViewOfFile&lt;span class="token punctuation"&gt;(&lt;/span&gt;hMapFile, FILE_MAP_WRITE, &lt;span class="token number"&gt;0&lt;/span&gt;, &lt;span class="token number"&gt;0&lt;/span&gt;, &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;if&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;lpMapAddress &lt;span class="token operator"&gt;==&lt;/span&gt; NULL&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    fprintf&lt;span class="token punctuation"&gt;(&lt;/span&gt;stderr, &lt;span class="token string"&gt;"Could not map view of file: %x&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, GetLastError&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;))&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    exit&lt;span class="token punctuation"&gt;(&lt;/span&gt;__LINE__&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;


&lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;20&lt;/span&gt; * MB&lt;span class="token punctuation"&gt;;&lt;/span&gt; i++&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token punctuation"&gt;((&lt;/span&gt;char*&lt;span class="token punctuation"&gt;)&lt;/span&gt;lpMapAddress&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;[&lt;/span&gt;i&lt;span class="token punctuation"&gt;]&lt;/span&gt;++&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;That results in the expected access violation: &lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;I didn&amp;rsquo;t bother checking Mac or BSD, but I&amp;rsquo;m assuming that they behave in the same manner. I can&amp;rsquo;t conceive of anything else that they &lt;em&gt;could&lt;/em&gt;&amp;nbsp;reasonably do.&lt;/p&gt;&lt;p style="text-align:left;"&gt;You can find &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://gist.github.com/ayende/5fdb898301b4240436f08d711374c667"&gt;my full source here&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/themes/prism.min.css" integrity="sha512-/mZ1FHPkg6EKcxo0fKXF51ak6Cr2ocgDi5ytaTBjsQZIH/RNs6GF6+oId/vPe3eJB836T36nXwVh/WBl/cWT4w==" crossorigin="anonymous" referrerpolicy="no-referrer" /&gt;</description><link>https://www.ayende.com/blog/201987-A/what-happens-when-a-sparse-file-allocation-fails?Key=5fa3eb3f-fc5b-406d-9e87-2738640506da</link><guid>https://www.ayende.com/blog/201987-A/what-happens-when-a-sparse-file-allocation-fails?Key=5fa3eb3f-fc5b-406d-9e87-2738640506da</guid><pubDate>Wed, 29 Jan 2025 12:00:00 GMT</pubDate></item><item><title>RavenDB Performance: 15% improvement in one line</title><description>&lt;p style="text-align:left;"&gt;RavenDB is a database, a transactional one. This means that we have to reach the disk and wait for it to complete persisting the data to stable storage before we can confirm a transaction commit. That represents a major challenge for ensuring high performance because disks are &lt;em&gt;slow&lt;/em&gt;. &lt;/p&gt;&lt;p style="text-align:left;"&gt;I&amp;rsquo;m talking about disks, which can be rate-limited cloud disks, HDD, SSDs, or even NVMe. From the perspective of the database, &lt;em&gt;all of them&lt;/em&gt;&amp;nbsp;are slow. RavenDB spends a &lt;em&gt;lot&lt;/em&gt;&amp;nbsp;of time and effort making the system run fast, even though the disk is slow.&lt;/p&gt;&lt;p style="text-align:left;"&gt;An interesting problem we routinely encounter is that &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://ayende.com/blog/193922-A/the-performance-regression-odyssey"&gt;our test suite would literally cause disks to fail&lt;/a&gt;&lt;/span&gt;&amp;nbsp;because we stress them beyond warranty limits. We actually keep a couple of those around, drives that have been stressed to the breaking point, because it lets us test unusual I/O patterns.&lt;/p&gt;&lt;p style="text-align:left;"&gt;We recently ran into strange benchmark results, and during the investigation, we realized we are actually running on one of those burnt-out drives. Here is what the performance looks like when writing 100K documents as fast as we can (10 active threads):&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAAHCCAYAAACwm0waAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFxEAABcRAcom8z8AAP+lSURBVHhe7N35t21pXd3/7x+SziSKHdIUUC1FUUVTgELRVQPVUFX0qNgrvQqosY1JaFQEIyqYmEgUiIkxJph2kMQEEjJIM9L8kGSM5Kf8A+fL3GZe55n1fp611t77nHuq6vzwGlX3nLX3Xnut55mfec8999z/7wlPeMLJWfjar/3ag33d133dXr7+679+k2/4hm9Y7Ru/8RtXe+ITn3iwb/qmb1r0pCc9aejJT37y1FOe8pShpz71qZtdc801Q0972tPQ05/+dPSMZzxjs2uvvfYRrrvuuk2uv/76oRtuuGG1G2+8ceimm27a5JnPfCa6+eabN3vWs561t1tuuWXo2c9+9sFuvfXWo7rttts2e85znnPpAqF7tITWwiForW5Fe8Zor61Fe3wJZYlQ9sxQthll4gzlrVBGz9AMoFmxhGaS0AwTmnlGs3IJzeRE89yoCyTqEYm6yD6oFxHqWiPU4WaoI65BnXQr6sbHcCbFnd7AVnQh16Abt4QWxwgtOkKLeCvaUI02pdGGThQGRkGyhALLKOiEglEoSGcorIWCfYYGh9CgmaFBJjT8Zmi4Cg3jNWjwr0Flw6ikbEFFaV9U4maoKF4kz33uc68KOpeLhO7lDK2VfdEa3oL2kNHeW4P2+hqULUJZNENZJ5SNM5S9Qlk9Q7NAaHbM0GwSmmVCs89oZi6h2Ww00xN1AqMu0aiTbEXdiFDXGqEOt4S64hrUTbeijnyooxd3OvF90EVcg27aDC2MEVpwhBbwPmgzJdqQiTazURAYBcgSCiqjgBMKRKEAnaGAFgr0GRoYQgNmhgaY0MCboYEqNICX0LBfg8qFUSnZgkrRPqiojVAJPG9UlB/N6D2eN7rXI7SG9kFregvaU0Z7cQ3a+0soY4QyaYYyTygjZyiDhTJ7hmaC0AyZoRklNNOEZqDR7FxCM9potifqBUadIlEn2Qd1JEKda4S63Ax1xTWom+6DuvIhLmRxpwu4Bt2wGVoQI7TQCC3cfdBGSrQRE21iowAwCo4lFFBGwSYUhELBOUPBLBTkMzQohAbLCA0toSE3Q0NUaOguoeG+BpUJoQKyBRWgfVAhG6Gid5ao3D6e0TU6S7QGRmht7YPW+ha014T25hqUBUsoc4QyaoYyUCgzRyiLhbJ7hmaD0CyZoVklNNuEZqHRDF1Cs9poxht1g0TdIlE32Qd1JULda4Q63Qx1xjWoo25FXfkQRy3udMJb0YVbg27UEloMhBYYoQW7D9pAiTZgog1stPGNAmMJBZNRoAkFoFBgzlAgCwX4CA0HoWEyQ4NKaLDN0OAUGrQzNMzXoPIgVDa2oLKzFRUvQmXurFBRvbQOXc+zQGuE0Jrbitb+FrT3hPbqGpQNM5Q9Qlk1Q1kolJ0zlM1CWT5CM0JopszQzBKacUIz0WiWLqGZbTTrjTpCoo6RqKPsgzoToQ5GqNMtoe64BnXVragz7+toxZ1OdB900dagmzRDC2GEFhehxboVbZxEGy/RxjXa8EZBsYQCySjIhIJPKChnKIiFgnuEBoLQAJmhASU00EZoWAoN1yU0wJdQWRAqF2tRsdmKChahwnZMVDwvHR9d+2OitUNoLW5Fe2It2otCe3cJZcQSyiKh7JqhXKQMnaGMFsr0EZoVQrNlhmaX0KwTmo1GM3UJzW6jmW/UFRJ1jURdZSvqTIQ62Ah1uxnqjmtQV90Hded9XKjiThdsDbpBM7QARmhhEVqo+6BNY7ThEm1Yo41uFBBrUBgJBZhQ4AkF5AwFsFBgj9AgEBocIzSUhAbYDA1IoYE6Q0N7CZUDo0KxBpWYLahIESpmx0Kl8tL5o3tzLLSmCK3RLWiPrEX7UmgvL6HMmKFMEsqwGcpIoUwdoawWyvYRmhlCM2aGZpjQzBOakUZzdQnNcKPZb9QZEnUOo66yD+pOhLrYCHW8GeqQa1Bn3Yq68z6OUtzpBLeiC7UG3ZgldPMJLShCC3QftGESbTajjWq0wY2CYQ0KIaHgEgo6oWCcoeClkJ6hASA0MEZoEAkNrhEaikJDdIaG9BIqA0YFYg0qLVtQaWpUwA5FhfEiet7znnem6DUvIrqHh6K11mjNbkF7Zg3ao0Z7ewllyAxllFCmjVBWCmXrCGW2UMbP0AyhWTNDs0xo9gnNSqHZugbNcqMOYNQdjDpHos6yD+pQhDrZCPW8GeqSa1B33Yo69FaPu+JON32EFlOjhbkP2iiJNprRBk20uY1CYQkFkFBgCQWcUCDOUOBSMM9Q8AsNihEaQDSsZmgQCg3OGRrMMzT8jUrDGlRS1qKC1KhoHYLK4NVA5fnRhN7T1UD3+BC0Bhut5bVoD61Be9Zor89QlsxQVgll2wxlJ2XsDOU3Zf0MzRKaOTM004RmoNDMFJqxS2iWG3WARB3CqHsk6i77oC7VqJONUNeboS65BnXXrahDb3VwcacT24ou0Bp0Q2boho/QQiK0KLeiDZJogxltzEQb2ygQllDwCAWVULAJBeEMBS0F8gwFPg2GERo6QgNqhIaf0LCcoWG8hAa+UElYg0rJWlSGEhWqQ1DhO2tUdh9P6JqcNbr3h6C1mWhtr0V7ag3aw0J7fgllywxll1DWjVCGCmXuCGU5Zf4MzRSaPTM024RmodDsFJq1S2imG3WBRF3CqIMk6jBbUZci1M1GqPPNUKdcgzrsVtSltziouNMJ7YMuzhK6ETN0o0doARFakFvRxki0sRJtSqMNbRQESyhwhAJKKNCEAnCGApaCeIaCngbCCA0aocE0QgNPaEDO0ACeoSEvVArWoBKyBhWfRuVpH1TqzgqV1ktjdA3PCq2NfdBabbTm16A9tgbtaaEMmKGMmaEME8q8EcpSoewdoUyn7J+h2UIzaIZmnNBMFJqhQjN3Cc12o05g1CUSdZFEXWYr6lSEOtoIdb8Z6pZrUI/dijr1Wle9uNNFWYNuwgzd5BFaPI0W4j5oUxhtqEQb0mgjGwXAEgoaoWASCjKh4JuhYKUAHqFwFxoEIzRghAbSCA06GoozNHRnaKgLlYA1qHSsQSUnUVHaBxW3Y6ISeul46JofE62ZfdAaTrQH1qA9twbtcaFMmKHMmaFMo+wboUwVyuARynahWTBCM4Zm0QzNOqHZKDRLhWbvEprxRt3AqFMk6iRGXWYf1K0I9TRC3W+GuuUa1GW3ok691t7FnU5kK7oga9ANmKEbPEKLhtAi3Io2RKLNZLQRjTaw0cZfQgEjFEhCASYUeDMUqBS8IxToQgNghAYLDaERGm5Cg3CEhuwSGuRCg38JlYw1qNQkKkVbUUE7FiqXl84P3ZNjobW0Fa3pRHtiDdqDS2ivC2XDEsqgEco2oSwcoYylLB6hjBeaCSM0a2gmzdDME5qRQjNVaAYvoVlv1BGMuoVRJ0nUabaibkWoq41QB5yhjrkGddqtqFuv8agr7nThZ+jGjtCCIbQAt6KNkGgjGW1Ao41rtOGXULAIBZFQcAkF3QiFqFDgjlCQCwX/CA0UGjwjNNCEBuAIDdYZGt5Cw34JlYo1qMQYFaCtqIgdA5XHi+75z3/+Xui5Ljq6Z8dAa2wrWutGe2QN2pNLaO8LZcUMZdEIZZxQJo5Q1lImj1DWC82GEZo5QjNqhGaf0KwUmq1Cs3gJzXyjrmDUMYy6SaJusxV1LEKdbYS64Ax1zSXUabeibr3GXsWdTmAruhBr0EWfoZtKaKEQWnhb0QZItIESbT6jTSu00ZdQoAgFkFBgCQXcCAWnUNCOUIALBT6hISI0cEZokNHQm6GBOkLDWmi4L6ESsYQKS6KyswUVrkNRObwaqFhfZPQerga6p4eitbcFrf1Ee2cJ7dEllAVC2TFDuTRCmUfZOEKZK5TRhDJfaEaM0OwRmlUjNAOFZqbQjBWayUto9hv1BaGOkaijJOo4W1HXItTdCHXBGeqaa1C33Yo69pKrUtzpAqxBF3yGbugILZJGC24ftPiNNk6ijWe0WYU2+BIKEqHgEQoqoWAbocAUCtgRCm4K+REaHEKDhtDwEhp0IzRAZ2hA0zBfQqVhCZWTROVmCypX+6Lydx6o/D6W0TU4D3TP90VrcQvaC4n20hLas0soGyhDZiijRij7hLKSUPYKZfUIzQCaFSM0g4Rm1gjNQqHZKTRrhWbzEuoAQp3BqGsk6ipGHWcf1LkadbcR6oQz1DnXoI67BXXsJZuLO73wVvTm16CLPUI3coQWCKHFthUt/ESbxmjDGW1Uo829hEJEKHQooIQCbYbCkoJ1hAKbgn2EBgYNlxEaWEIDboQG5wgNZaEBPkMlYQ0qJEZlZi0qUvuigndWqMRe+mN0zc4KrYV90Rpdi/ZGon21hPbwDGWEUKaMUFaNUAYKZeYIZTFl9gjNApoZIzSLaGbN0EwUmqE0a43m8wx1AKPuYNQ5jLpKoq6zFXUuQh1uhLrhDPXOJdRxt6KuPbOpuNMLbkVvfA26yDN0EwktDEILbSta8Ik2jNFGM9qgRht7CYWHUOAIhRMF2QwFJQXqCAU1BfoIDQoaKCM0qGiojdCwnKFBTEN7CRWDJVRAjMrLWlSa9kFF7piolF7aH13jY6I1si9at2vQXjHaY0toLy+hzKBsmaHsGqFMpOwcoUym7B6hmUCzY4RmEs2uGZqNNEOFZq7QjF5CXcCoQxh1D6POkqjzbEXdi1CXI9QNZ6h7rkFddyvq3COPiuJOF3iGbuAILYpGC2wrWuiJNorRBjPamEYbegkFh1DQCAUTBdgMBSQF6QgFNAX5CA0IGiQjNKBokI3QgByh4Ss0qGeoDCyh0mFUVtagcrQPKmzHQmXz0tmhe3AstHb2QWt5Ddo7RntuCe3tGcoOoawZoQwboWykDB2hbKYMH6HZQDNkhGYTzbAZmpE0S4Vmr9CsXkKdwKhLGHUQo+6SqPtsRR2sUZcboY44Qx10CXXdrahzj6wu7vRCW9EbXoMu7gzdPEILgtDi2ooWudEGSbS5jDal0EZeQoEhFDBCgUTBNUPBSAE6QsFMAT5Cg4EGCKGhJDTACA3FGRq4NJxnaPgvoZJhVE7WoDK0FRWzQ1GRvMhuv/32vdBzXWR0rw5Fa2orWttr0F4y2oNLaK/PUJZQ5sxQphHKSKFMJZTRlOUjNCNolozQjKJZNkOzkmaq0AwWmtlLqBsIdQmjDpKowxh1n62ogxHqdIQ64gx10DWo825F3ZucW3GnN7oGXdgZunGEFgKhhbUVLfBEm8NoYxltSKNNPENBIRQsQkEkFFojFIgUnCMUyBTchIaB0OAgNIiEBhehQThCQ1ZoII/QsF9CpcKojKxB5WcLKmCHoJJ43qhYX2T0Hs4b3ctD0Frbitb7EtpbRntyCe39EcoUoQwaoWwjlJVC2Uooq4WyndCsoJkyQrOKZtoIzUqh2So0i4Vm9wx1A6NOYdRFjDpMog60FXUxQt2OUFecoS66BnXfLah7k1XFnV5gK3qTS+iCztANG6FF0GhBbUULO9HGMNpQRhvRaAPPUEAIBYpQAAkF1ggFIQXmCAUxBTahASA0MAgNIBpWIzQAR2iw0hCeoQE/QyXCqHwsoZKzBRWtQ1ARPEtUfh/L6BqcJbrHh6A1uAXtgSW014z26AxlwAxlDGXRCGXcCGUnZSyhzBbKeEIzg2bLCM0smm0jNDOFZqzQTBaa4TPUEYy6hVEnMeoyibrQVtTJGnW7EeqMM9RJl1D33Yo6eDuX4k5vcA26mDN0swgtAEKLaSta1EYbwmgjGW1Ao407Q8EgFCRCwSMUVCMUgBSUIxTAFNSEgl9oUBAaPDSgRmjwjdBApcE7QkN9hkqDUdlYQqVmCypV+6CydxaoxF76Y3TNzgKtgX3QmtyC9sQS2ntGe3aGMmGEsoYyaYSyboQylLKWUHYLZT2h2UEzZoRmF824EZqdQrNWaDYLzfIZ6gpGHcOomxh1GqMutBV1MkIdj1BnnKFOugZ14C2og7fF4k5PvBW9uSV0IWfoRhG68YQW0la0oI02QqJNJLTxjDbsEgoFoRChwBEKqBEKPgrIEQpeCmhCgU/DYYQGDg0mQsNuhIYoDdsZGuQzVBSEysUSKjFrUYHaBxU6ednLXnbyoQ996OQjH/nI7r933XUXHreEiuml7ejaHhOtjX3QWl2L9sgS2otCe3eGsmGGsocyaoSyj1CWUuaOUJZT5hOaITRrRmiG0awboRkqNHOF5jPN8iXUGYy6hlA3SdRtjDrRVtTNCHU9Qt1xhrrpEurAW1EXT9PiTk+4Fb2xNegijtANGqGb3mgBbUULOdEmMNpARptOaKMuoUAQCg8KGqFgGqHAo2AcocClYCYU9DQQCA0ZoYFEaMCN0OCkATtCw3uGyoFQmVhCpWUtKktbUXFrv/zLv3zyf//v/73igx/8IB6XqHBeOjt0D46B1sxWtHbXoj2zhPam0F6eoawYoQyirBqhDCSUqUIZTCjTKfsJzRKaOSM0y2jmjdAsFZq9NKOFZvoS6g5CXcOooxh1m0TdaCvqaI263gh1yBHqpmtQF96KOrldyOJOF3CGbg6hG05o8WxBCzjRBjDaOEYbzmiTzlAQCAWHUMhQII1Q0FEgjlDQUiATCngaBIQGCw2hERpshIal0GAdoYHd7r777pN3v/vdJ+95z3tO7rnnHiwFVCBmqKSsQcVoKypoI3rN//bf/tup4n7//fc/4nmoTF66evLeHEuvo330el6L9tAS7UvtV+3b3Lu0x0coM2Yojyi7CGXhCGUsZTGhbKcZQGim0OwZoZlGs2+EZirNXqFZLTTbZ6g7GHUOo65i1HESdaQtqKMR6nyEOuQMddQl1IW3ok5uw+JOT7QVvaEldOFm6MaM0M1utHC2osVrtPCNNozRRjPaoDMUAEKBIRQwFEQjFHAUhCMUsBTEhIKdBgChgaJB85KXvOTkwx/+8BXf//3f/4hhlEPshS984clf+kt/6crxP/zDP3zq8zQgVa5/7ud+bkf/T4PVaEgTfVtIltb/9J/+0+7jj7bCTkVsiR731re+9dT7/8M//MPdvdI56RgqjWu9+MUvPvmpn/qpk0984hMn/+yf/bOdz33ucye/+Iu/ePKGN7wBH9Ne8IIXXGh0zldD39tD9fraqtf3WrSnRlTUc+3m3s09vgZlyAhlU2bXks7FEcpaymRCGU+zgNBsoRk0QrONZuAIzVaawUIzW2jGz1CHMOoeRp3FqOsYdaStqKs16nwj1CVnqKsuoU68FXVzObPiTm9kDbpoI3RDRuhGN1owW9HCTbTojTaL0AYz2pgztPGFgkIoWIRCiFCwUQCOULBSABMKdAp+QoPEQ+Ynf/InTw3R//k//+epIdTD66Mf/eip4+Utb3nL7nM0GO+8885Tx+r59XEarDSYiY5917vedep5Rd/zvbW0UwlZg0rPFlS61tLr/+Zv/uap966irfulz+kYKolraD389//+3089d1OJ12/4qBA/VtC1OWt9nw9Ba26LXOtb0B5L2p/6zXuvKe1d7W3/xrv3/EznyEznk3TGzWQ2zlDmUjYTynqaCYRmDM2iEZpxNAtHaL7SLBaa3UKzfoa6hFEHEeosRl0nUVfaijpbo+43Qp1yhLrqGtSNt6BuLljc6Qm2ojexhC7YDN0MQjeY0GLZghZsogVvtFGMNpfQhlxCm54CQihQhMKHUKAJhR+hQKXgJRTkFPiEBkgOlze+8Y2PGKL6lgt9nobWv/7X//oRx+svRurzOQw9JPUV+Tz2H//jf7x7Hh8jNIxHNNT1mDe/+c2nnle/IdA5UHH/nu/5nt1X9XSc/qs/nqfSsQaVnLWoYG2l53nRi160e7/5/vU5vX99nkrhGv2buBl95Z0K72MdXbez0vd+X7kGt6I90L73e7/35D//5/+8Wxf67w/+4A8+Yg+a9rB+o59ryV8s8P5OufeXOE/WyKwy59wSnesanbtCGU0o82k2EJo1NJMIzTihmUhoxgrNZKEZTrN+CXUKoQ5i1F2MOk+izrQFdTZCHZBQp5yhzrqEuvFW1NHPpLjTG1iDLtYI3YgRurmNFspWtFiNFrrRBjHaWEabcYY2vFA4UJAIBc8IhRkFH6EgpcAlFOAU9IQGRw4WP9f/+B//49Qg/fEf//Hd53tYqQTkcfaP/tE/2j23jtMA9HDUrz/5yU+eOlZfGdZr+jgawCMe5B6yv/7rv37yD//hP9x5xzvesTsHfT6Lgh7z8z//86fOQb/W56iEjFCpWauL1D6yzOk3Hvl+9BVwrSm99zx2CxXx//N//s+p5/2v//W/nvzqr/7q7luj/uAP/uDUOvmO7/iO3eOo3D4e9fU8tlwL+6K1uRbtCdE+Gu2vpr3o0kx7V59zYU/e/2s4e9bQeTTn3ZLM0RnnbsqMnuncF5oRpOeN0GwiNOuE5iKhWSs0m2mGC838GeoURl3EqMMYdR+jzrQVdbdGHXCEuuUIddY1qCNvQR39EcWdHrgVnfwSulAzdBMI3dhGC2QrWqhGCzzR5hDaUEYbcYY2ulAwCIUIBc4IhRgFHqEApaAlFNwU8IQGRg8VPZ+uxac//elTg/dv/+2/vTu+B9V3f/d3nzrOVPg0NHVcDkU9h773Oo/Vt87odXVMD92RHuJ6bl1HrR2ved1/vZ4+n0VBv9b34uc56Nf6nI6hMpKoxKxBxWkrKnB67r/7d//uqfej4qN7rvczelzr0vmzP/uzp57zi1/84m7t9/5++9vfvvtTF31rg14rn+fSH+vrfUy5RvbV63Wt3BveY0v7S//1sdr3yrbZ3tVxRJ9fyzm0JEu7Ze7NdJ6O6L21zuuRzH7rOTHSc0doRhGaeT0XZ3reGs3nnOGJZv9MdopGnUQ63xp1IMvOtK/sbiPUBQl1yxnqrkuoI2/VPf3oxZ1OfA26SCN0AwjdUEKLYwtaoIkWt9HGMNpMQhtwhja4UCAIhQcFzQgFGAUdoeCkgCUU2BTshAYFDRQdq/f43ve+99Tg/Y//8T/uXi+HlJ7jr/yVv3LquKRvudHQy4GogpDH6Cu2uld6Lh1DA9dUUL79279999VlfetODnA9Vs+hc/ea0PXWeerzWRR0HvoxiXke+rWeQ8dkEUlUWr7zO79z51u/9Vvx89IFqX3Xd33XKd/yLd9y6vNd0pI+f8cdd5z6yvj//t//e3e99D71+vQ4KpZJz/uZz3zm1DXStz/p2uZe8h7Udde19uvRczZ9u5LontLn13r5y19+5bmEjjmG1772tVdeQ+uPjiF6f6Pv/+/7It/2bd+2+8vA9Dmi3zyLHqdf59rZSmtP6/mHfuiHTh588MFT63iJ9oj2j/bR2v2lX2utrt27JDPiTW960+5667/5cdM56POmXxPtnebcM+15ef3rX3/q45SrRO+5dW6P9BwQmhmEZlDOqBmafbpva9HszTxJnuPNmbMWdQyhTmLUZYw6UKIOtQV1OEKdkFDHHKHuugZ15S26p58q7vSAreikl9AFmqGLT+hmNloYW9HiNFrYRhvCaCMJbbwZ2thCQSAUHBQwIxRcFHCEApOClVBQU6ATGhA0SESf03tSGcrBKy996Ut3x3hA6bn17RJ9nH3gAx/YHZfDUMMyj9FX9vV6el4do+F63333nSqiDz300E5+D7e/oq/B7aHej/s3/+bfnDpGfvd3f/fK52f0/fIuF11Qvu/7vu/k3//7f4+P+xf/4l9cKTxUjEw/AUc/oSXP1/Sxv/E3/sYjChrRc/2Fv/AXTj3+U5/61G5t6b3r8z6WiiPRsXrf+rsH+by613perwH9V2tAH9N61P3T69Fz2g/8wA8Mr92//Jf/cleO9VOK1tD7/l//63894nn0sb/5N//m7jc09DihcyNarzqvfg37vd/7vd1PRKHHin76Th6v90/Hib8nXLQGfN+IftLT7Do+/PDDV9Ya0RrNtafyKb3HaP3P7LO/tC/X7F3Rb5jyOL1PXTt9+1Z+XPR3V972trftnkfe9773PeLvgcjHPvaxKxnVurzrNzVf+tKXHvEc8vnPf/7k1a9+9ZV81P5Y0rksmd0zPQ+EZgfx/Ek0s0jOPqNZOUIzmGa10GwX6gIz1DWEuolRpzHqQkYdaivqco06IaGOOUMddgl15a2yqx+1uNMJL6ELM0MXntCNJLQotqCFabSgjTaC0QYy2nQztKmFQoACQyhcCAUWBRuhoKRAJRTQFOSkhwINj6RjdG66tv197vrJDzrGQ0mDLYelSmser+9z13EaeDpWj1OZz2P0nHo9HyP6ymEeo7/M2j+fXHRsFvf+TUH+SDkfo+Gax4y8//3vf0Rp+eZv/uaT3/iN38Djk8rBO9/5TixMoucZla507733YmlLOq9/8k/+yanH6SvCuo/6nI7pgrhEj9G16r+LIPqWB10XvQ89v66ri5E+7tfroqwSrTLdz9dUurUm+vFJzzX7DaN9/OMfx3NZQ6+hx9PzNt1v/USjvIaia/T3/t7fO3WsvuWs74l+rT9pyeO03nV99Rz6vOkr8fpNXR5LfE5+nNee75v+PkIer/VOe8zlWo9ZorWwZX/peD23/ru0d4X2uH4jtPSa+k1//8SltlTe9f7+2l/7a/jYpOuu31RtKe+SGS2U5YRmQ86OmZxFRrOL0CykmUloBgvNbKH53j1gCXUNo45i1G2MOpFRl9qK+lyjbkioa85Ql11CnXkL93S5UtzpwK3oZJfQRRmhCz5CN7HRYtiCFmSixWy0CYw2j9CGm6ENLbT5KSiEgoVQUFGgEQpIClJCwUwBTnoY0MAgeqyuWX+f+y/90i/tnscDqX/6jAq3vk3Dv1ap17D1V6v0GJX5fIxKkt6Ti7v+Sz8dJn9tOg8Pdg35/skU+vYePZ8Hv56/v4o8oq8+6jFZTP7iX/yLp47Rb2z0lb6//Jf/8iOKpEqQvnc/C5NL0y/8wi+cOlbf86/nkN/6rd+68pshfSVXj8nilvS5V77ylaeeS+eke6T3qs9nQVxLz63r2n/h1b7whS+c+sqxz0f/3wXY9JdZ8zl0T3/t135t961WvSb0oyf13ul59Br62fF5/Mjf+lt/a3de9DxLdC/oOf/dv/t3+HG9H/3jX3lNVEr7JyjpOP3GzdfLx/7Vv/pXTx2n3+Ro/fk4/Vf67x3ofus66nz7OmoN6k92/FjTeXUBHu0x7SutWa/dET2njt2yv7x39V99y0l+3nvXxwjt8f4qOxm9t6Tn0W/WXNab/gJ9Hq/r/vGv/MZOmaC/CJ6f03XXt0ZdlvcxmsXSc1toxgt1ghnqHEY9RajbGHWiRJ1qC+p0jbrhCHXOEeqya1Bv3uLoxZ1OcgldkBm62IRuYKOFsBUtRqOFbLQBjDaN0EaboY0stPGFQoIChVBAUZCNdDBSgBIKZApu0kOABgXRoNHxeo8qZzmQVDD13D62v3qua/oP/sE/OPUxfa+pBrDoeXPQ/of/8B92j9HHPSD1+vTjKOW//Jf/svte2Z/5mZ/ZlTI9zl+V02P1Wnm8hr+ez4Nf56ASpG8T6K8m69cPPPDAyWte85rdH8frfep5/dVGlfAsAPrpKvrqZ+6F/gt5KlR6rEqP6fnyK+S6HlpjuUd0bfVtIC5LXbxMn++/Y6CvCmqd6P3qGJfDLfQ4vXet1f5Wj6Rv7dB5UvFNKuF97VSScv/rH+LK59a3Eelc+rlUjrus6aeR6H7p2um/+k2CjtFXUXWN6HlmdL791Wd9+5H2hO+RvkLe56Fz9jXXf3UPdP/6OP2oxDxOx/S3X+g3wVrbPk703mkN+pyE1qCugZ5HvAa7AJueU3+XQYVUe0z7R8frcabzbTpGe1DXT1/hnu0vfVuM1qjenwt5/2Zde1f7wMV9tMdNf7Khb2PR3h19a5PKttarXv+nf/qnH/F5/aZIGeEsMn2LYF535ZDeZ87uzsJf/uVf3l07c2YuUaYlrec1ckYYzRTS84lm2EjOROv5OZKz2Gh2C816oW4wk5mTcg+17Date1GiTrUVdbtGHZHkel2DOu0S6s5bnCrudMBWdJJL6GKM0IUeoZvXaBFsQQsx0SIWWvhGG8Zok83QJqYNLxQQFCQjFE4UYqRDUSg8GwUxBXbr4BcaECSHjM5Tgz6HkWhA6xg9b36FT8NS664Hor/PXTRU83Ma5rqW+pyHpP5fP4YwjxOVfA1wr23db51DFvcu/D38NZR1T7TeVP7zWP1a61ef0/rQc+txer/SP95OBUBr2utOa1JrJf/EQWUsS48Kjp7TPz9edLw+5nWq/+o5dZ46Xz3GpSupyOlz+l5gP5foe8T1nv04l76tdN66Bvrvv/pX/+rUazR9249eN8uv6bk+8pGPnDpeP1pU18v7UO9Z6yALrq6dzr+fq/+04p/+03+6uw+ZDbqH+rn2+ouWOn89Lp9nRseqdOVr6P37NXRv/Br6nuk8Tuef11yvrT3Z3y7z1//6X9+tBx2j41Vo8/MqmNoHWhd+Pv2337uuo85D18/rhtZgriG9rs6Lirv2mI51vuv+6Dx0vNdw0rGmY7QHlRu6PqP9peuoc9V1yeI+2rs+RteC9rgoR5QJnn1at32MrqkKuGeoZm7/JCb9qUdmkWgP6jcyedyP/uiP7l7Hs1D/r/uQ111/MqPz0POZ3s8aelzLjB+hmUGzpeVsspxhMzkTk2fnEq2x5vXctL6J9/0auk8jWpsj7jfE64Bkp9qH1/SS7Icz3TtnqNOuQf15i6MVdzq5JXQhZugiE7ppjRbAVrQIjRav0aIX2ihGG2yGNi9tdKFgoAAZoVCiACMUiBScjQKYgrpR4NNgID1gdB661l/+8pdPDS39Ebs+r4GaRUvlTPe5S0h+n/tP/MRPnPqc/uKYXkef0/N5UHZx10DUH/lrffn+6z7oeTXQR0NdRUTXQJ93QdCvdV/7Ww70a31c903XUs+nx6iQ6L/9E1b0l9B0DjrW10vrTa/pY3R99NoqNi47Ooe///f//qnnUknRj2/0tfe91LF6jEuXC+Go8OmrpTp/Py6Pn6HyqsfrGug96rroK7BZTJq+IknlXef52c9+9tSx+oqnrpfer+6370lfO123PD89V98Hfa+09rSeT9dN//Ue1bXU/aP3OKLX6L9gqYKcr6H9qNfQuuhroj+Z8XXVNdR71N93yGP0Gze9N72WjqE/NdHr6Pl1jJ+r37uuozJF71Ovo/PSefZ11PPo8X49/bq/wq33oT9pUB5rHet+6P1qDeT6JS7uWuu6l7o2S/tL9937cmnv+rnpOH31WzNJ2aNcUD7o1/rRpXmc3q+P03tUlvS3Menvr+ha6tz0WqLr+tu//dunjtOffOh19H70XnXN9dyZlbruuh++N6Zfr6H33nTdlnheJN3HJT2nRPdqDV2Dpmuzlq5fyxmecuab7sUW2T2a+0rLjtN072eoX21BHa9RVyTUPWeo2y6hDr3FrrjTJ7agE1uDLsIIXWBCN4zQzd+CFp/RwjVa8EabRGhjzdDGFdrkFAhC4UEokCi4CAUhBWaj4KWAbhT0NBBIDhbTc+pa9R956yvoem79xcn8uL5HVddc1yjLjMurnlPfv52P8etoQKpsChV3DUStId0TXQ+9vh6r4/Xco6Hew98lQa/ZZUm/1rF6fT2vjtVjRL+mfx12Df10HpUblya9fv9FRNO3Z+hbG17xilfsXt/lzkUw6eP6Owf5eH27id6bHjt6nFBhbTpO713rQ9dde1Xnrq8+6quX+bqmb6vJ59f/6z30nwqspe/f1/Poq+f6r65fP5e+cqxz9PXy/dK55nXwOc2Mzlelr9eR1on2eZZk0W9s9Zp6Pv3Xa1T7II/Teev19J76Lxfr9bS+ff9Fr3usNajz7+Ku96EcVU45E3wNdR563BJfe12rtftL/9XrrN27dJzmgu6F1r7yQeu1v+9c36KjfHIOK6f0hYM8Rn8S4nPUa+m/+nX/uxNrad1Svupja+i1m97jkpwd1nOG5KyynGkzOSPNc3RJz2fLWW499617wpLuIda9JVHnMepKRh1rK+p5jTojoQ46Qt12DerSW1yV4k4XYIYuLqGb1eimb0ELL9GiNVrsQhtEaEPN0IYV2uAUBELBQSiIKLAIBSAFZaPApWAmHfA0CEgPFdNz6D3397nrK+g6L30VMj/u43Xt9S8f5udcfPSVZX9M31qj+6GPa0hqQGuga1h2cddw1j3xsS5DooG+dviL/l+vQcVCH3ehUFlxEdRz5/e4bqHh7QKmcqPn0hqZ/QVLlTz9ZTg9RuWu6eN6zvyWG9FXAnXv/Ho+vgvqWnoOXQ+tE52z9pr2s9bqxwc/cUXf3+zX1H/1+H2vnb7VRc/h4q570c+lP4nRa+T79LXWf/VrPX4NHUvnq6+ia83lNdW59JoW/fsHfl0fp/3S3y6jb73SOeq58+P6TZGut15Pn9dz6Pm0bo+1BvUeqbgrp7Q+vf51rP+7lh67z/46pLhrbWrd65rpGF3vLu76sZH6uPNNmak/5cpjXNz1HKLz1XGj36gu0bmPMtb5u0TnkzLzZ/ReW86akZ5b4rm2JGel9Vwd6TltPdel579RZ5ihTiLdXxL1HqGulKhrbUFdr1FnJNRBZ6jjLqEuvcVBxZ1OaA168yN0YQndqEY3fCtadEYL1miRC20Mo800Q5uVNrZQCFBgEAogCipCwUcB2ShoKZBJhzsNAEIDxfR5nbuKQw4jlUqdr36snT+m4alrro/rWvVPX9FX6fWvaubHVFx1vTQcXcT1X/2airueW8NUx2mI29JQ1/Xw8M+i0H+ZTL/Wx32cC4v+q3PSt6Hk8frqsn4Tk/STZVQY/M+263thdS31HC5NOhfdW61nfavL7Ode6x/VcVFMeq7+cX7/9t/+2939csF0iT2EX8vXTGtN91f7Tntb3+ef5yAqQ3psFuG+dv/8n//z3U8fSXn95Md+7Md270Xn4OfStevyqmuo6+vXNP26P7ZkdL6ve93rrryG6bpoXXRx109L0X32vdL/aw30t8voq/p6Tn2rT35c3yajNatr7ufQa+lajNZgX0dfQ19HnafOQ8+j/+o9UnHXntfr+tikj62h96RzXbO/RL/W8f2XTnvvzva49pOeQ8fqv3pc/5Qn3RfdB33ex/Q9UXHXGtfr6Bj9V8/d111/r0LPn3Sttef1l/NFf/9Be0Wv40xtmcUzeo6U2T/jOZI8b2ZydlnPuRHPy0QzltDM7rlu3QOk+8IS6iTWPcao+xh1JqOutRV1vkbdkVAXHaGOuwZ16rXOvbjTGx+hCzpCN6nRzd6CFpzRQjVa4EabQmgjzdBGFdrUFAAUFCMUPhRSjQKPgpF0wFIQkw51Cn5CgyTpGJ2Hrmf/lIZXvepVp74K5b9kqvPRe9ZXXfN4lYn+9hB9S4GeX8NRA9dDdzSc9dz6vAa4aaAvDXVdEz13FgUdu1QsXET0a10Plc08Xteg17F+rf3g/aJ1p9Kk53P50fPpY1ovOl7H6vP6FpT+dgp9lVaPc4EzPY9KRh77kz/5k7v3qufSMVkyD+XX1Lm79Oh+a43kOYh+BrtfX//Vte9rp78f0HtXv9b1cGbo+ui19Bwq1fqvft3ftqCfJKJz0+t1Ed9qdL70Gj6fPE70YwB1rD6v43X/dJyet++vvqe8/4KkvoXGRbufg9ZgZ6N+rWuodaX/Ks/y+fRc2i9d3PUbkFyrI3qeGT1e53qexV3H6Tl0jI7Xr7u464sBen86TrSn9XPu85gu7jpeGdU/WUl/ytOzUzNaM90dQPtfa1jnkrnaMpNn9DzJ+b/E88Ro9pCeY+I5N5Mz03q+zvTclsyJzAuSebyGsoa4vxD3HuK+RHrNbEWdr3VvnMkuuqR77hrUqdfau7jTiaxBb3qELiahG9ToRm9BCy3RIjVa3EIbQmgDzdAGFdrQtPGFQoJQ8FBANQo6CkTS4UoBTDrMKfAJDRCi59Q16Z8K0qVR3yuq96vn1nnpPfX3uet7t/1rfU7H6Pk1IDVsbc1w1iBPs6Guc9Lnsyjo2P6pF7/zO7+z+7iOySKi43Ut+j3rW4W0BnudeR3quule6pz1PFl89JwqBboGeozWuPaRvrKbr5E/EUSly8VLPwe8v/KsbyvR+ev5VfaOQV/Vd1H1x/T6Pn+V1DwH0d998DnofHVP+x+t0m8yaK95D2o/6X7rdfQ8WZT770noL2z69Xyupt8g9MdmfL79GvrHe/o1dGx/j7R+M6u1kvdAx2n9aS30t8v4x1b243UOus5+Dv2/3ntfR/1lb6+15LWo/9d+9PPpXHz/+qfKrC3upvdI9Hid62h/6bV1jOnXOv6si7set29x148bzeP0pxg09/QxzUr9v+6LHrsmb53LS/S+kufAEp1H8txZ0vNMeu6R3te5t9fw+k3O1dR9wLo/LKGOIn1/zb2HdG9q1L22oO7XqEMS6qQz1HeXULde41yLO73ZEbqQhG4MoZu8BS0yowVqtLCFNoLR5pmhzUkbWWjTUzgQChwKJkIhR2HYOlSFwrd1iFPQNxoaRANL9Bi9t/6XTJvKhc7bj9F10x8d5zFZUPQ5HaPX0oDUsPXQXRrOGuJtNNRVRnQ++nwWBR3b37uvY1WIdUwXEb2vH/qhHzp1vP74XGW5r53pe5f94wj1PC48Kk8qDPrRdHq/OlbrQOtP7zFfQ38ZUefux7l49ffm6nrqOXSsjnHh2ypLrH9ijf60Rf8Qkz+u4/Qa+jnsf+fv/J1T59HFVcfpPer7vvM4XTv/YzcuUklfidbn9V59Xn6u/vYcrStdzzx//QZI562fBuKPrTF7Df1rmPkaOsf+2ev6y8JaK3ne+q+uhz7e35qRe0L802S0ZvI+6v91Xeg66jdPem6irwzr57xrDXsN6b96/kOLu+m9JT1e5zraX3ptHWP6tY6nf4NBe1f3Q8eM9viW4p7rTet0qbjrv8q1H/zBHzx1nK67riVlvmjt6r1tyVzR8Uv03lLOhJGcLZYzaKbfW8+9kZyh1vN2hGY4zXqhbiDUI0aooxh1G6EuZNShjLrXFtT9CHVJQt10hDrvEurWa+xV3OkE1qA3O0IXkdBNaXSDt6AFZrQwjRa00SYQ2jgztClpAwtteAoGQkFDgUQ63IRCsFGgUvC2Dm8K+EaDguTg1691Tnp8Dq6kwanrrPPQoNNj9P77x8ElfU7H6DU0aDVwPXRnw9lDvI2G+qy497Gir2Lr+1f1DwvpW3tcRHS8Xr9/nrmO189+/r7v+77dt1Pofekf4dG/LKrP63vc9RwqOBr0Lk5+rP7pej32rW996+6r2/qWonx+PZcKhB7jEqf/7x+vqN9U6H3qXPUaPnaJS2jT5/SjBvM19K+Z6ls1rL/iL/oLtbqnes9+DV1vfYyu3cc//vFdwfue7/me3b/8qW+58o/xU3nOc9T/6z7qufp7jkXfzqB/bTS/nURfOc/nWJKvob8zkM+vkv17v/d7Jx/96Ed3r6PrkZ93mdP90n/zefVrrV3psp707Su+fnkf9f86L+0tuo76ufO6jvo7Efoqfq/BXn+6J1Tctc61hnTMVjpn7xddg6X9pf3i/ajjR8Vd73u2xzsb9F/9elTcfR90LdcUd/1aWdXfLqj3orWg96GfqKW1/yu/8itXfiKRftRk5qn+fw295yV6fylnw0jPGel5RDzPEs1AQjOVZi/pOS4084U6AnWJGeoqQt3GqBMZdSmjDrYFdcBGXZJQN52h3ruEOvaScyvu9CZH6AISuiGEbu4WtLiMFqXRYhbaAEIbZoY2pNDmpY1OgUAoYCiICAUbBWCjIKXAbR3aFOyNBgTxkEl6DV3LHlymsqXroMdr0Okxei/9fe5Jn9N70XDUQDYN1DXDuY2G+qi463V1n2b/sNCP/MiPXHmMjtc9638mfomeQ6UmS5PKDR3b9NVrfTVV71mPdYHTV/Gz/On/fd30/C57I1koR/Q6+qphns8SfcuK9o2ulR6v59Hr6frp3uk3J/S4ERV3PYe+Siv6f107PVf/6ceI/uVPXZN8HqLP9/l2kZzRt37pNx9a91pffZ31a31ca76/Xcb8pxW6fn0fdT39+K3XcWtx928adNxWLu5aj9ovS/tL5yF6z7Pirucc7fHOBh2nXy8Vd+XUmuKuc9CM6Ou1pIu7OGeXOLdn9B6TzntJzhrLmTTS8016Do70XJWevyM9z4VmP3UEoU4xQ51FqOMIdSKjLmXUwbaiHtioUxLqqCPUfZdQx16yubjTCy+hNzhDF4/QzWh0U7eghWW0II0WstHiF9osI7QRhTYubXChMCAULhRCjQKNgq9RgFLQtg5rCnRCw6HlgBENLf1Xj9f16H890PIfUdJjROemj6mM9PH6B1P0fvW8GqAatKZf6/H7FPc1w198vK6nfgNB5yg6Bx3rx+h5tKb0FwJHv4lJ+oqcfgSdHq9S4zKk9/DpT38aH2N6v/pecV1Dnase6wLXP4VERVDXM49LWSDX0vPoeuonY9BXt5Oun36KkNa+zkPXSs/hQuzn0n7R95zPypzp2ukfc9Jj87l0/bQ+tB71lw21lujxovPWz+5WmfRzLKHz1VeI6flNX+nXt6MoR7SP9Hp93fVrfVx7pL9dxvzTZLRe8v6JzsmP1+toDa69jrQGdY+Wirvp+C30+K37a83e1bE6bk1x1+PWFHf9Reo8RsVdz6Xj9Fr6r+6p1rbmmr71aM3e13vW/qVs9cdmdP5r6FxTzooRz5vkuTSTM85yFo7kTLWcvTM9z406AHUFoW4xQp1Fut8k6kZGncqoi21BXbBRpyTUUWeoAy+hrj1z4Yo7XThCN6LRDd2CFlSixSi0gI0WvtBGmaFNSBtWaHNTEBAKFgqgRkFGgdcoOClgW4e0UJg3GgwtB4toYJk+r/PWddH3VuuPhE3f5qF7pfPLYafX1fH66vBP//RPXzle/6/Bruun19EA1aA1/dqvqYKqv+Am+mqm3q+HM/Fj83Hf+73fuzsXD3/R6+t4fVzrRI/RsfoLiPpecf1FNH0lTp/XcTpe9N50HbQOtQf0x+P61phPfepTu5Jg+pYPva7ev54jS5OfR+9f34qifzBJj/GPQtQfves3QtpHOjc/Xo9VgdPz6EfNZUnQPdBxem4fl6VxH3oen6foTxr0bQD5PvXeda1173VNtP71GD1Wz5FlWO/B11tZoOfTt3ToK+J676af9a33o+fSfdH7zefSe9M90VrQc+m/ul4f/vCHr5yXCrDWiz+v187nWOLz9WvofPWjBH2+eg0VPP3F0AcffHD3eWWQroPWmd9/08e1RvXe9HcG9Jsd01901rXTntB77nvo8q7n1+vo9bRGvAZ9XpZrUHvJa0P0/Hp/ei59Nd7noOuua57HJj1uLT2/XlfXb7a/vC/136W9O9rjnQ06Xq+tv+egzytzdH39GjpOnD967zpGx95///2759K9MD1GH9Os0EzUbNZvMnS835PpufStM1oT2jc6f2dq0vkt0WOX6Lya1scSmkE5o0Y855IzYkbrsPUcHtEaajn7U3YF616xRPeOZMdp3Y+s+1SjTrYFdcLWvXKEuuoIdeAl1LVnNhV3esEl9MZm6KIRugmNbuYWtJiMFqLR4hVa8EabZIQ2oNBmpY1NAUAoUCh4SAcYBR3pwKRgbRTQFOSNBkLroaJBlfQxnYOutdZFrk+tBV1HvZaO9bDTY/RedS+1zrxe9XjdRz2fjtMwTR7M+ryO8zrUPdW56hgNZ9NAz6Hu8/Qa1bnpcfq8ConpMXodnaNeR8d7T/j19J7ycfp/P0avoTWtY5P3gd631pJeW6+lMuPyo/P06+o5ct/4sXp9vRcdq8e4uPU/1qNvk9F56lrq81n2DpEFWddQ5+RzTD5XvR9dG10nPb6LsM5N907Pp+ui997PqV+Lrq2eL98TPZeuz+jc9BzaozonXb8+p5nR+fZr+Fz1eR2n4/W4Lt2mj2st6FhdszxvPY+ywM8xerzei66LjvVzeM0lPafOWddAe1H3xeem/+o8tDZ1/fxedKye22t1RJ9fotfzeeq9aW/0/vI107n4WvtYvYfcuzpG/+097ufKbNB/9WvdFz2PjtH78xrVc4j+X7mt96+c8Wt6P+kY/VfH6Rr6mus4vY+c1TnX9Tk9p66nnsuZqv8mneMSPX6JrlvTNVqi99N0jZb03NP7XEP3o+l6r6Hr3rQGmtY80f1fS/duRPeeeC0Sra0R74l9ea7O5Dqd6Z66hLrwEurcIxequNMFI3QDGt3ILWghGS1Ao4VrtNiFNsgIbTyhjUobWmjzkw4SChzS4SUUcq2DkgK1UTBTgDcaBK2HiQZM08f1fHqPura6F75PuoZ6H36sBp3pMbpWfozvl66DXluDUUO26eP6vF7P90mP0fPr8xrOHuZJn9N56FjfW52bzkWfdwEX/VrPoefUMTrea8rvyY/LMqLH6OO6Bz4/vadcj3pdnYPev85Jj8vSo+fUeeo1dH38HLPHunDpK3pZ3POnkIwK4770enpe3Qudq96vzs/XVueuj+vzOle9Nz1uVob1fHrvOud+PtHH9DndF10nvafZc/ncdC5+Dv3/0nMsmZ2v6T75dXScjp+9f52HrpHWt9aPHq/n9PNoXel+z+6jnyPXeq8hX099Lu+NHmt5Hj4Hrzl9Tu9liY4b8R7Te9J70/nkHtHr+brpOP1Xv9bHfX29B32M5PvO96nH6nM6Vv/Vr/26Ok7vUe9Pz6fPu5Tr/esYXze9pp5fn9MxpufzOtD11vtQBmrm5WzUrFPW6Tl1rK6/Hmt6jqTPL9F5L9H7aHr9JXq/Sddyia5l0zVZQ9el6bqv4fWdvKaSrj/JjrGk+4t130m5Dhp1LKNutgV1w0Ydk1BnHaEuvIQ698jq4k4vtITe0AxdLEIXv9FN3IIWkdHiM1q0QgtdaGPM0KajDSq0mWnTEwoRCptGwUUB1zokKUgbBTIFd6MB0HqI5IBp+ryeV6/f56fn0jEadh54+q8+ps/1Oeu59HkN0ObBq+fQcT5XPZc+ps/nIE85tP2e/BgViebH+LWSzs+Po0Lic/Rr+Tz1/3mufnyXHn1cz+Hr5Nf1Y/UafpzLlh7z+c9//lRx1/cp63E6VsdQ2VtjqWz62up8Ld+jX5uex/L5fA3z+UQf83ufPWefm87Fz+HzWnqOJbPz1WusPdekY3RP/XzW13FGx3gN5XvPNaRf5/nlOqLH+zz0MX1uCz0/0XPp9fX8uca9n31+Pk6/1nnrc94HPsZ0vvpYPp/vhz5nfs3cl3nfJI/JbNLHiV9TxyvTXHR7BmQu6ng9Luljyec4k/k5otdsmdUjPZf8PmZy9hnNykYzl2YzoVlPnUCoQ1DXmKEuI9R9hLqSUccy6mZbUDds1DEJddYZ6sRLqHuTC1Pc6UIRuvCNbuAWtICMFp7RghVa4EabYoQ2nNDmpI1MG55QgFDQNAosCrbW4SgUoomCmAK7UfC3Hh49XLbSUPRgTPQx8fC0HLrSn/cxOcRJPoc/pmIw42N8fD6GCknK56DHZcHp4pSlhx7Tx7/sZS87Vdr1ly+1/nQ99XkqeTNULImPz3Px/299LqHny+f0cfr7EUvy+RI9hz+2lZ/T55f69dbwY4yebw0/xtfP62e2jpI/n0YfX9KvnXqPJH9u9vn+WO7x3uv5sVGG5Oc6l2T2OeWZM68ztGU+tj6WMrpR1jeaGTRbEs0mmmGt56DQzGw0e2lGE5r51A2oQwh1jhHqMkYdSKgzGXUto462BXXERl2TUHcdoU68hLo3WVXc6QWW0BuZoYtE6KI3unlb0OIxWnRCC9VocQttiBnabLQxaQPTRicUHBQwpIOKAq1RMFKAtg5gCupGgd96aNBgaS7mMzToPARnctjO5PCeyTKwhIrGDJWWJV2YtsiSpmtw9913735Sh/5SpN6r1oX+m8eOUIk8T1miLzI69/NE925fuZa2orW8hPbMDO3JkdzjM50bI5RFjTKNsq9RhrbOYcrqRpnfem7QbGk0o2iWtZ6HNDMJzWCa1YRmP3UE6hLUOWao0wh1IKPuJNS1jDraFtQRG3VNQt11hrrxEurg7UIUd7pAhC54oxu3BS0cowVntEiFFrbQRpihjUYbUmjz0iYnHRgULKRDSijMEgUiBWfr8KWAbhT0rYcFDZRGg6nRgKNB2GigEhrQhAb+CBWJESopS6gMrUUFTNdL68d7QOtP117n18cbFcOzREX4sYTe81mie7qPXl9b0Npe0vtnCe1PQnueUIaQziNC2db5RyhLW+cxZXaj7G89P2jGtJ5TQjOt9Uyk2Ul6DtOsJjT7sxsk6hTUPWao2wh1IaHuZNS5jLraFtQVG3VOQh12hLrxEurg7UyKO72BGbo4hC52o5u2Fi2YRItNaIEaLWqhTTBCG0xoM9LGpQ1OOiyEQqV1OAmFWOsgpMBsHboUzI0CvvWQoEHSaCA1Gmw0ABsN0kZDeYQGPaHiMEKlZAmVn7WodIk+p/eo++Z1ovujj/XjqAAeG5XaxzO6RseW93hfuda2orW+hPbUCO1Vknt+CWVKo2xqlHGUha3zlHQuU3Y3mgGt50jOmJGeVzTTGs1GmqGNZjHNbEIdgLoCdQqhDjJC3UaoCxl1KKHOlaizrUVdsVHnJNRhZ6gjz1AHb4vFnZ54CZ38CF0YQhe60Q3bghaL0UIzWpxCC1poA8zQ5qKNSBuWNjahoKBAaRRMFGCtQ5CCsnXYUiA3CvbWw4EGSKNB1Gig0eBrNEAbDWJCw32ECsMIFZEZKjtrUclKOkavoffg66P/92Op6B0LFdVLy+haHkuvj61y7W3V634J7a2R3KtLKAtIZsoIZRTprKNMbJStrfOZMrzRLGg9T2jmtJ5bNNsazUiapY1mMs1uQl2AOgN1C+ogM9RxhDqRUIcy6l5GnW0L6oyNuiehLjtCHXkJdfF09OJOJz5DF4XQRW50s9aihWK0wIwWptBCNlr8I7SxaAMKbVba1KQDgoKEdCBRcLUOP6GQTB2yQmGcKNBbDwUaHI0GUOshRoOu0dAkNIAJDXRCJWGEyscSKjhLqFAt6eegUncoKqGXDkfX+lC0RrbqNbUG7YEltNdGaA8TygRCGUMos1rnHmVjo4xtndOU5Y1mQqKZQrMn0eyiGdd6TtIsJT2XheZ3oy5AnUGoY1AXGaGOY9SNhLqUUQcz6m5rUWds1D0JddkZ6soz1MXTtLjTEy6hkx6hC0LoAje6UVvQIjFaXEaLUmgRCy38EdpQQpuPNiptaELhQCHSOowosBoFHwVkooClIE4U5K2HAQ2MRoOn9fCiAddoUBIavIQGOaFiMEKFY4ZKzRIqT1tQgTsElcxLZ4/uxSForWxBa3UJ7YkZ2nMjtJcJZQOhrCGUXa3zjzKyUda2zmvK9EazIdFsoRmUaIbRrGs9L2mmNprNNMMJdQLqDtQxhDrJCHUdoW4k1KWMOphRd9uCumOjDkqo045QV15Cndwui/tX0AIxWlhGC1JoAQst+BnaTLTxaIPSRiYUDBQgrUNIKKxaBx4FY+tgpQBuFOKphwANikYDp/XQosHWaEASGriNhjehMjBCJWOGSswSKktbUFnbFxXJi+DFL37xmaLXvAjoHu2L1s4WtHaX0B6ZoT04QnubUFY0yhxCGdY6BykrG2Vu69ymbG80H1LPF5pBrecYzbpGM5Nma6MZTbOcUDegDkFdgzrJDHUeoY4k1KmMuphRh9uC+mOiDkqo045QV15CndyGxZ2eaAmd8AhdCEIXttHN2YIWh9GiElqIRotXaLGP0EYS2nS0OWkTNwoECg7SAURB1TrsKBBbhyoFb6PwTh3+NCAaDZrWw4oGWqPB2GjIEhrYhArACBWLESota1BBWoOK2b6oMJ4XKtEXGb2H80L3bl+0ptaidbyE9swI7cUR2uOEMoNQBjXKstZ5SJnZKHtb5zdlfKIZ0XrO0CxqPc9o5rWem0LztdGsppneqBtQhxDqG9RNRqjzCHUko24l1MWMOtwW1CEbdVFC3XaEOvMS6ubyuC/utDCMFpTRIhRauEILfYQ2kNBmo41JG5h0EFBgkA4eCqjWIUdB2DpMKXAbBXfq0KfB0GjAtB5SNMgaDcRGg5XQoCY0+AmViRkqKkuoEK1BJWwfVAzPEpXgxxJ6z2eJ7uk+aI2tQWt6Ce2dGdqbhPY6oewglEWNMq11LlJ2Nsrg1jlOWZ9oVrSeNzSTWs81mn2t5yfNWNLzmmY6oY5AXYI6h1BHGaHuI9SVhLqVUScz6nJbUI9M1EUJddsR6sxLqJsLFnd6giV0oiN0AQhd0EY3ZQtaFEaLSWgBGi1aoUU+QpuHNhptSKHN2zoEhMKidegIhVPqcBMKwdQhKhS2iQK7deDTUEg0WFoPJxpgjQZho4FKaEA3GvYjVCBGqJwsoRK0BpWuragAHhuV2sczukbHRvd6K1pza9AaX0J7aYT26Ajt/UYZQiiTGmVb63ykDG2UxalznLK+0cxoPXNoNiWabTQDE81QmrWNZjbNdkI9gToFdQ/qKCPUfYS6klHHEupkRl1uC+qSjTopoY47Qt15CXX0R3VxpxuyBS0Io4VktPiEFqzQAh+hjSO0yWgz0qYlHQAUFI0Ch4KpdbBRAKYOT6GQTRTUrcOeBkKigdJ6KNHgajQAGw3SRkOZ0IAnVBpmqJDMUOlZg0rWFlT0jonK6qUxuobHRGtgC1qDa9Can6E9NUN7llAGEMqURtnUKONa5yRlaaNMTp3nlPmNZkei2UMzKvV8oxnYaJbSzG09t2m2E+oK1Cmoewh1lRHqQEKdSahjGXUzo063BXXKRr20Uccdoe68hDr6UYo7neAIvXFCF7HRzdiCFoPRIhJaeEIL1Whxj9CmoQ1GG5E2LOnNLxQSrYOGAql1qFHwtQ5OCthEAd065GkQJBokrYcRDaxGg6/RAG00iAkNdkJFYYRKyAyVnDWoVG1Bpe4YqIxe2h9d42OgNbEFrck1aA/M0B4bob1LKAsIZUujjGqUda3zkjK1UTanznXK/kYzJPX8oRnVes7RLGw9T2nmkp7dNOMJdQbqFtRBqKuMUAcy6k5CXUuomxl1ui2oUzbqpoS67gh16CXd0R9R3OlBS+jkRuhNE7qIiW7EFrQQjBaQ0aITWqRCC3uENozQ5qJNSJu19aYXCofWIUNB1DrMhEIvdWhSsCYK5tbhTgMg0QBpPYRoUDUaeI0GZ6MB3GiYj1BBGKHiMUPFZgmVqLWowB2Kyuals0P34FC0VtaiNbqE9sIM7bUR2sMjlA2NMqZRVjXKvNa5SdnaKKNT5zvNgEazJPUcolnVetbRTGw9V2n2NprhNOsbdQbqFkI9hDrLCHUhoe4k1LWMOppRt9uCumWibkqo645Qh17SPf3g4k4nNkJvmNAFbHQTtqBFYLR4hBac0AIVWtAztFloU9EGpI1KesNTMLQOF6EQSh1iQmGXOiwpUBuFcupQp+BvNDxSDx8aUI0GXaOB2WjwNhrghErBCJWNGSozS6g0rUVl7RBUKK+ml7zkJeeCXvtqontzCFo7a9GaXUJ7Y4b23gjtaUIZ0ShrGmVWo+xrnZ+UsY1yOnXO0yxINEtazyOaWYlmHs3GRLOVZnDrOU6znlB3oI5BXYQ6ywx1IqEOJdS5hDqaUbfbgrplo45KqPOOUJee6Z5+qrjTA5bQSY3QmyV08RLdgC1oARgtHKPFJrQ4hRbzCG0U2lC08WiDkt7sQqHQOlgogFoHGAVd6pAUCtNEgZw6zCnwGw2N1EOHBlOjAddoUDYauI0GN6EiMEIFY4TKyxIqSWtROdsXFcfzQAX6IqP3cB7onu2L1tJatIaX0F4ZoT04QnubUFY0ypxG2dUoA1vnKGVtoqxunfc0ExLNlEQziWZX6rlHs7H1fKUZ3GiW08wn1CGoa1Anoe4yQp1IqEMJdS6jrmbU8bagjpmooxLqvCPUpZdkVz+ouNMJzdCbbXThGl38LejmGy0aoYUmtDCFFvIIbRChzUSbjjZno41OgdA6VCh4WocXBVzrgKQgTRTEqUOcgr7RwEg9bGggNRpsjQZko0HbaGATKgCESsUMFZYZKkVrUBHbFxXEs0Il+LGE3vNZoXu5L1pja9CanqE9M0N7ktAeJ5QZjbKnUYY1ysLWeUqZmyizW+c+zYZEsyX1XKLZ1Xr+0YxsPWdpFjea6TT7G3UI6hrUSYQ6zAh1I6EuJdS9hLqaUcfbgjpmo65KqPeOUKeeya5+pbjTgUvoZEboTRK6aI0u/lp0440WjNEiE1qUQot4hDYHbSTacLQxSW9wCoLWYSIUOqlDSyjcUocjBWiiAG4Z3hTwjQZF6iFDg6jRQGs0GBsN2EaDutHQH6EiMUIlZYZK0BpUuvZBRfCYqNQ+ntE1Oia6x/ugNbcGrfEZ2kMjtDdHaM83yg5COZQoyxplYutcpexNlN0ts59mQ6MZk3o+0QxLNANpViaatTSTW891mv2EugR1Duom1GFGqBsJdSmh7mXU2Yy63hbUMxN1VULdd4Q69ZILWdzpgjW66FvQTTdaLEILTGhBCi3gEdoYQpuINhttytabWygEWgcJBU7rwKJgSx2KFJyNwjdlcAuFe6IBkXq4CA2hRIMs0TBsNFAbDWdCg36ECsQIFZMZKj5LqGRtRYXvWKisXhqja3gsdO+3ojW4hNb6DO2lGdqnhPY+oSxplEmNsi1RNrbOVsrgRBmeOv9pRiSaMa3nFM2y1HOQZmXreUszudFspw7QqEtQ56BuItRlRqgjCXUqoQ5m1NuEut4W1DUbddZG3XeEOvWSg4s7ncgIvUFCF6vRRV+LbrjRIjFaXEKLUWjxjtCmoA1EG402ZKONTQHQOkQoaFqHFQVa6jAUCs1EwZs6tCnYEw2G1ENFaPgkGmCJBmCjQdpoIBMa8IQKwwiVkRkqO0uoVG1F5e5QVEYv7Y+u8aFoLWxFa3IJrf0Z2lsjtGcJZQChTGmUTY0yLlFGJspYyuJEWZ56DtCsSDRrEs0qmmmp5yHNzNZzl2ZzoxlPXaBRp6DuQR2FuswIdSShTiXUwYy6m1HnW4u6ZqPOSqgDj1C3XnKluNMnl9BJjNCba3ShGl3wLehmGy0SoYUltBCFFu4IbQjaONIbjDYi6Q1NG791eAiFTOqQEgqz1EFIgZkocFOHNQV6ooGQaKDQ4Ek0uBINvkYDtNEgJjTYCRWFESogI1RullCJ2oKK3KGocF46Prr2h6I1sgWt0SW0F0Zoj43Q3iWUBYSypVFGNcq6RFmZKGspkxNleup5QDMj0cxJPa9oprWeiTQ7E81emtGt5zx1AdK9grqHUFehTjNCXUmoWwl1MaP+JtT5tqDO2ai7NurAI9Stl+xd3OkERuiNEbpIjS72WnSjjRaH0aISWoRCi3aENgNtmt5cQpuw9WYW2vStg4MCpnVAUYilDkEKykRB2zKkKcgTDYLWg4QGTqKBlWjgNRqcjQZwo2E+QgWBUOmYoUKzhIrTWlTa9kWl8iK54447joKe+yKhe7MvWjNr0VpdQntihvYcoT08QtnQKGMaZVWjzEuUmanzljK5UbannAlCcyPR7Ek9t2i2pZ6LNDtbz1+a0Y1mPXWCRt2COgh1Feo0I9SVhLqVUBcz6nBG3W8t6pyNuiuhLjxCHXtmV9zpE0voxUfoTRG6SIku9BZ0k4UWhtGCElqAQgt2hDYCbRjaWLQBSW9k2vCtQ0MoXFKHEwVY6vCjgEwUsK0DmkI80RBIPURo0CQaVI2GXaKB2WjwNhrghErBCBWNESoxS6gsrUUlbR9UHM8TFeuLhM75PNE92wetobVo7S6hPTJCe2+E9jShjGiUNY0yK1HmNcrO1LlL2Zwo21vOBZodjWZQ6vlFMy71fKQZmmgG06xuPe+pExDqGNRFqLNQtxmhziTUsYQ6mVGXE+p+W1D3bNRfG3XhEerYSzYXd3rhEXpDhC5Oo4u8Ft1go0VhtJiEFp/QYh2hTUCbhTYVbb7Wm1hos7cODAqW1KEkFF6pg4/CMVG4pgxmofBONABSDw8aMIkGVKNBl2hQNhq4jQY3oSJAqFzMUHGZoXK0FpWyraggnjUqxY9m9B7PGt3LrWhNrUVreYb2ygztRUJ7m1BWNMqcRtmVKPsaZWjq/KWMTpTxqecDzZBEMyj1/KIZ13pG0ixNPYeF5nWimU/doFHHoC5CnYW6zQh1JqGOZdTLhLqcUQdci7pnow5LqBOPUNeeeVQUd7rAW9DNFVoQRotIaOEJLdQR2gC0UWhD0cYjvYFpo7cOCgqU1oFEoZU69CgYEwVr6lCm4E4U/KmHBg2WRIOp0YBLNCAbDdpGA5tQASBUKEaorMxQGVqLSthWVAaPjUru4wldk2Oje7sVrbG1aG3P0N4ZoT1JaI8TyoxG2dMowxJlYKMsTZ3DlNWJsj71nKBZkmgWpZ5jNOtSz0mapa3nMc3s1nOfugGhrkGdhLoLdZwR6k5CXUuomxl1OqEOuAV10EQdllAnHqGuPXMmxV0X79Of/vTJl7/85ZO3ve1t+KZEwfeFL3xhd5x98IMffMSFyouqxfP5z3/+1GPe/va3rzqmb7AWbB/3jne8AxeQ0aITWqQjtPhzcxhtpt5wpDcvbfDWISEUJqnDiAIrddhRICYK1NRhTIGdKPBTDwsaKIkGUqPBlmgwNhqwjQY1ocFPqEiMUEGZ6fKzFpWuLaj4HROV10t/jK7ZMdE934LW3Bq0xmdoD43Q3iS01wllR6MMapRlibKwUaamzmPK7ESZn3pe0ExJNJNSzzOaeannJc3URDOZZnfr+U8doVHXoE5C3UWo5xDqTkJdy6i0S/e5lH1wq+6fhPosoX5MqGvPbCru9ILtwQcfPFWER8X9h3/4h698ni6M5QVVuKroq9z7Y+9973t3z+Py3sfoJuYxvrEKeh33oQ996MpCeN/73rc77p3vfCcuIFpwQgt0hBY9bRDaSLThWm9aoc3dOiAoSFKHkFBYpQ46CsNEYZoyhCmoEwV96iFBgyTRIGo00BINxEaDtdGAbjTsR6hAEColM1R61shytY8ueMdC5fTSenRNj4HWwBa0BtegNT9De4rQHh2hvd8oQxplUaNMS5SJjbI1dS5TdifK/pQzg2ZKopmUep7RzEs0M2m2pp7LNLsbdQDqCo06B3UT6jDUdUaoQwl1LsmyntzliPvhvqiLJuq0hDryCHXukaMWd4WRyvAHPvCBk4ceemhY3BVyLtd0UVJezI9+9KMnn/vc53aL0x/TDf/MZz5z5eN5jG+iFouP0eLXx3ycNocXghagj9Om6gXUC816Yc70ghfaHL2BaKOR3rDezDMdDh0epAOIgip1yFEQJgrSlAEsFNKJQj71gKAhkmgIJRpkiQZho4HaaDA3GvCESsNIl5CZLjhrUanagkrdoaiAXjocXetD0ZrYgtbkGrQHRmhvjdCeJZQBjbKkUSY1yrZE2ZgoW1PnMmV3ouxPPTdotiSaTannGs2+1HOTZmvr+UwzvHUPoK5AundQN6EOI9R3CHUo6b6VsrAndzyS3XEr6qKtey2hnjxCnXtkdXGnFxrRCc+Ku77a/sUvfnG3ceiCJF9ILRh9W0t+td30FfUvfelLJ2984xtPHZM30cfoTwS0IHVcfrXd9FV3Hffwww+fWji00IQW5ggt9t4U0ptHaJO13qxCmzp1KAiFR+rwoYBKHW4UgIkCNHX4UkAnCvjUw4EGSKIBlGiAJRqAjQZpo4HcaLATKgqEyscMFZslVKLWogJ3CCqZl84e3YtD0FpZi9boEtoLM7TXCO1dQlnQKFMaZVOjjEuUkYkyNnU+U4YnmgGp5wfNmEQzKvV8oxmYen7SjE00o2mWJ+oC1BkadQ/qKNRlqPOMUJeS7Fype5plx2vdE7egLtq6145QRx6h7k3OvbjrYuv73/VVbS0muiCWF1IBqq/S9/ezi0q2Xktf6fcxfRNf+9rX7o7R5zQYdJy+n70Xwute97rdcf3tMrTIhBYloYUutCl649AGI71RaUO3DgQKjtShIxROqYONwi9ReKYMXQrmRMGeeijQ4Eg0eBINrkSDr9EAbTSIGw10QgWBUOEYoTKzpAvTFlTW9tUl8mp56UtfelXROV0NdI/2RWtnLVqzS2hvjNCeI7SHCWVCo2xplFGNsi5RVibK2tQ5TVmeaBaknCE0YxrNKev5RjMw0QylWZt6TtMsb90HqDOQ7h/UUajLCHUfQl1KsnOl7mmpu17qrrgFddKW3XaEOvIIdW9y1Yr7b//2b1/5C6zWZT4vosv5rLh/4hOfuHJM38As7v7/Lu5aIFTcaYEJLcgRL+wMOwpJCtc1KLgp9BMNDxo+qYcZDcfUQ5gKQnrZy162yctf/vKhV7ziFVOvfOUrT7nzzjun7rrrrqm777576p577ln0qle9atGrX/3qo7n33ntXue+++1a7//77N3vggQf28prXvOYo9CdxV4Ny8tGI3st5oHu3D1pLa9DaXUJ7ZIT2HqG9vC/KmEZZ1SjzEmVmosxNndeU6YlmQqJ5MkKzKvWco1mYeo7SrE00q2mmJ+oE1B3WoK6SXcboN20j9Bs4od+4Sf/mzeg3bka/aTum/A0gce+lnkyoe5NVxZ1eYMQnqnBXAe7irhKrb1PRt6MoQF3SVWr1cZf3UTk/tLirrJ93cXdpP8/iThu5dRBQYKQOGwqk1GFGgZcoMGcojBOFufUQoEGRaNAkGlSNhl2igZlo6O6LygChcjFCpWUJlaM1uojti8rhWeji+1hF7/0s0L3cB62tNWgtL6E9M0J7kdDe3hdlTqLMapR7ibIzUfamzm3KdqOZkGimzNDMSj3vaCamnqc0c1PPa5rprXuBUH9YQl0lu0yikj5yjOIuVNqNCvexUFlP7r3UlUeog7dzL+4qyPpK+2/+5m9eKe2m7313oe9yroV9jG+VUVnXpupvlXFJ7+JOhV2ooI9kcTf646f+IyqhP8pq+cdhQn9s1vqP3uiP51r/8R79MWDqP0KkP2Y0+uPJ1BuCNlGiDZx641NQGIVLokBqFHCJgjFRmBIK6kYBT3pQzNCgmemhtRYNwK16wJ4FGuyPR3Rtjo3u8Va01tagtT1De2eE9iShPd4oKwhlT6LsSpR9jTI0UQZb5zZle6LZkHqu0OxJNLus5x3NxNTzlGZu67lNs711P6AO0aiLUGehbkMdaIS6lbiPNfe11n0vdV/cojsqyX47Ql15hDp4O2pxzxNdKu70Pe5rivvsL6e+613v2h2jv3TaN8/H6LwU9j7ON94Lo/9yKi0qoUVIaGELbYLeKLShWm9Koc3bOgAoJFKHDAVR6hCjoEsUkinDlQI4UYCnDn8aEImGS6LhlGjAJRqQiQYsoYHdaPATKhIjVFBmuvysQWVrqy58x0Sl9dIj0bU7FrrnW9HaW0JrfIb20AjtTUJ7vVFmEMqgRBmWKAMTZWiiDE6d35TxiWZEytlCsyfR7Eo992g2pp6rNHtTz22a7Y06AnWJ1n2EOgt1G6EuRKhbiftYc18j3fms++JW2VFJ9tsZ6swj1MPTYnGnJx3JkxwVd73R0U+V+cVf/MXdx7WZ+uLpZuaPfaSPa6P0j30ULRB/XItfCyt/7UWhheiPaxPlQkq9+GZ6QUsvfulNIrSZWm/I3rSkN38GA+lwEQoh6/CigEsUkCmDVTp4EwV36tCnwZBosCQaTIkGW6LBmGiwEhrUjQY+oQJBqJTMUOlZgwrWFlTyDkWl9NJ2dG0PRWtgC1qDa9Can6E9RWiPEtrzjbKDUBYlyrJEWZgoSxNlceocp6xPNCus5wvNoEQzLPX8oxlpNFtpBqee3zTjW/cE6hKNOgl1F+o41IVGqGNJFvZEpV2yrLfskltlRx3JjjtCnXmEuni6KsVdoaWveOe3y/h4f0Xd3/6SX2Gnj/kr6f4qvb8lJr/qnl9t903O47wgHg9fbe9NLxQOqYOFAih1cFG4JQpH61Cl4E0U2tZhTwMh0UBJNJASDbREA7HRUG00oBsN+kalYaRLyBIqOkuoVK1Fhe5QVDwvHQ9d80PR2liL1uQSWvsztLdGaM822vuEciRRFjXKtESZmChTE2Vy6jynzDeaFannDM0ioxmWev7RjEw9X2kGJ5rhNOsTdQXqFK17iXR3oY4j1IkIdSxxL2tZ1luW9eS+uA931JnsuCPUmUeoi6dpcacnHNGJKYhUyFWIm76KrYXgN0rHquT7Yrmk9/e0++OWpd03yaU8j8nSbnTcsUq70GLuRS+0OXoDkd6ItGFbb3gKhtShQsGTOrQo2BIFY8owpcBNFNipg56GgdEgSTSIEg2yRIOw0UBNNJAJDfhGRWEki8cSKjdLqEStReXtEFQwL509uheHoLWyFq3RJbQXRmiPjdDebZQBhDIlUSY1yrZE2ZgoWxNls3WeU+YnmhkpZw3NokSzLPUcpFmZes7SLE49x2nWt+4L1CkadRPqMNR1qBONUNeSLu3WXc6yrLfskVtlSSdd0keoO49QJ7ejFvcl9IabL5S+Sj76tpkRullGN1loUQgtIqFFR2ghCy363hi0gVpvQqHNmnqzC4VC6kCh0EkZVhRoiQIxZZBKB22ioE4d8jQIjAZIogGUaIAlGoCNBmmiQUxosDcqCIRKxwwVmhkqTWtRWdsXFclLVw/do33R2lmL1uwM7YkZ2nOE9nCjLCCULYmyqVHGJcrIRBmbKKOtc52yP9HssJ43NJMSzbSUs5BmZeo5S7M40SynmZ+oM1C3aN1PpDsMdR2hbkSoawl1M6EuJ9T9jDrjWtRVG3XeRt15hDq5HaW40wkSerPJF0kLQT8akn6CzAjdKKMbbLQohBYRLbgRWsS92IU2BW2e1huQNmrrjU6BkDpMKHBSBpVQmCUKQ+sQpaBNFNLW4U4DINHwMBo8iQZXosHXaIAmGsCEBnqjYkCoaMxQkZmhorQGlbN9UGG8dPHQvdsHraU1aO3O0N6Yob1HaC83ygRCGZMooxplXaKsTJS1RhmdOt9pBhjNjtRzh2aT0UxLPQ9pZqaetzSTU89zmvmtewN1i0YdhboMdR7qRiPUuaibGfU5oQ5o1B3Xos6aqPMS6tAj1MtlWNzpSUbo5Bq90eYLpK+261trtNDyws3QTTK6uUKLQWgBCS22EVrEvdBpQ9DGab35pDdo601OQdA6SChsrEOKgixREKYMTwrYRAGdMtQp+BMNjkRDJ9HQMhp4jQZno+HbaJA3KgSECsYIlZcZKkdrUBnbB5XDSxcf3ct90Npag9byDO2VEdqDhPZ0o2wglDOJsqpR5hllZaKsTZTVKTNeaA4YzZCUs4dmU6LZlnou0uy0nrc0k1vPdZr9iboDdYxGXaX7DHUe6kYj1LmEOppQpxPqgEbdcS3qrI26b6MOPULdXC5kcd8H3SShG2u0GIQWDy20EVrAvciFNgNtmtYbjzZo6w1OIZA6RChoUgcUhZhRAKYMTqFwNQrm1IFOoW80MBINnEQDK9GwSzQwGw3dRMObUBEgVCxGqLDMUCFagwrYFlQELz160T3egtbYGrSmZ2jPjNBeJLS3CWVFoqxplFmJMi9RZibK3ESZbZ3zNAsSzRLr+UMzKtGMs56LNDtTz12azannOs3+1v2BOkajrkKdhroPdaQR6l7U0YQ6nVEXFOqOa1FnbdR9G3XoEermcnBxpxMj9CYTXai16AYZ3VShhSC0cIQW2QgtXlrkvRFow7TedEKbM/XmpgBIHR5CIWMdThRgicLPOjQpWBOFsnWYU+AbDYpEgybRoEo06BINykYDN9HAJlQACBUKQiVlhkrQGlS6tqDSd9HRv+B4HuhcLjq651vQmluD1vgM7SFCe5LQHieUGYkyp1F2Jcq+RNmZKHsTZbd13tNMMJolqecQzSqjGZd6PtIMNZq9NKNTz3fqAIk6BHWN1n2FOg11H+pII9S9hLqaULcT6oJGHXIt6q6Jui+hLj1C/RyLOz14hE6q0RtsdJHWoptjdFOFFoHQohFaZIQWLi3w3gRCm6X1hqON2Xpj0+ZPHRwUMKmDicLLKPhShiUFaqJAtg5xCvpEQ8JowCQaUIkGXKIB2WjQJhrUhAZ/oxIxQsVkhorPEipZW1DJu0ioOF9k9B4uEloDW9AaXEJrfYb20gjt0UZ7nVB2JMqeRhmWKAMTZWiiDDbK7tS5T7PBaKaknEU0qxLNOuv5SDM09fylGZ16vlMHaN0jqGs06izUbagDUVci1L2EuppQtzPqg0Idci3qro06cKMuPUId/aDiTidE6M0lukBr0Y0xuplCC0BowQgtsBFatLS4ewPQRmm92YQ2ZepNTRs/dWhQsKQOJQquRKFnGZRCYWoUxKkDnELeaEAkGi5GgynRYEs0GBsN2EQDmtDAb1QcRqiQjFDZWUKlagsqdVcTleDHEnrPVxOtiS1oTS6htT9Ce2qE9mqjPU8oQxJlUKMsS5SFibLUKIMTZbh17tNsSDRbrOcRzSyjWZd6TtIsTT2HaVannvPUBRJ1CeocrXsLdRvqQNSVRqiDCXU2oY4n1AmNuuRa1GETdWBCnZpQR39EcacHjtDJEHpziS7OWnRTjG6m0M0XWixCi4vQgqWF3YtfaJO03mi0IVtvaNr0qQODQiVlGFFgJQq8lCFJQZoohK3DmwLeaDAkGiyJhpLRQEs0EBsN1kbDudGgb1QYRqiIjFDBWUJFai0qcVcDldvHE7omVwOtkbVobS6hPTBCe2uE9iyh/Z8oQxplUaNMS5SJRlmaKIsTZbl1/tOMMJotKWcSzaxEMy/lrKRZmnoO06xOPeepC7TuE9Q5GnUX6jjUhagzEepgQp1NqOMJdUKjLrkWddhGPbhRpx7pnn7mxZ3eVKOLsxbdFKEbaXTzaaEILawRWqy0qHvh0wZpvcmENmPqzUwbPnVYUKCkDCKhsDIKupQBSQGaKICtQ5uCPdFQMBooiQaS0SBLNAgbDdRGgznRYCdUFAiVjxkqNjNUntai0naeqLxe+mN0zc4TrZm1aK3O0F6Yob1GaO8SyoJEWdIokxplW6JsNMrURJmcKM+t5wDNCqMZk3I20exKNPus5yXN1NTzmGZ26nlPnSBRp6Du0bq/UMehLkSdaYS6mFB3o45n1A2FuuRa1GEbdeFGnXqke/rexZ1OhNCbSnRh1qIbYnQThW680CIRWlSEFiot6F70Qpuj9Qajjdh6I9NmTx0UFCbWIURBlSjkLINRKDyNgjd1YFOoGw0Do0GSaBAlGmKJhmCiQdpoICca6IQKAqHCMUJlZgkVpjWopJ0XKqiXltG1PC+0htagNbuE9sYI7TlCe5hQJiTKlEbZlCjbEmVjomxNlM1GmZ5yDtCsSDRrrOcTzTCj2Zd6btJstZ7HNLNTz3vqBK17BXWPRh2Gug51IupOhLqYUHcT6npC3dCoU65FXTZRFybUrUn39FPFnR4wQifR6A01uihr0c0wuolCN11okdCCGqFFSouZFj1tjtSbS2gTpt7EtNFThwQFSeoAopAyCriUoUjBmSh0LYNaKMyNBkGiIWI0gBINsEQDMNEAbTSIEw1yQsWAUNEYoQIzQyVpDSpl54GK6KX90TU+D7Sm1qA1PEN7ZIT2HqG9TCgbEmVLo4xKlHGJMjJRxhplc6Jst54HNDOMZk3KGUUzLNEMtJ6bNFtTz2Wa3annPnWDRN2COkjrDkNdhzoRdacR6mTU3YS6nlE/FOqUa1GXbdSJG3XrkezqV7W40wVZi26E0c0TuuFCC0RoMY3QIu2F3ItdaFO03li0AVtvYNrkqQOCQsQ6fCigEoWbZSAKhaZR4FqHNAW50QBINEASDR+jwZVo8CUanI0GcKMh3qgQECoYI1RcZqgYrUFF7CxR4bx0fHTtzxKtrTVoLc/QXhmhPUhoTxPKh0QZ0yirEmVdoqw0ythEGZ0o463nAs0Oo5ljPadolhnNwNTzk2as9Vym2Z167lM3aN0vqIM06jLdd6gTCfUnQp1MqMMJdT6hjmjULdeiTpuoEzfq1iPZ1fcq7nQChN5MoouxFt0Eo5sndLOFFofQYiK0OHsRCy122hStNxZtvtSblzZ46nCgAEkdPBRORsGWMgwpMI2CNnVAU4gbhb/R4Eg0eIwGVqKBl2hgNhq8jYZ3oyJAqFgQKiszVIbWoPJ1VqhYXhQvf/nLj4Ke+6Kge3JWaK2tQWt7hvYOob1IaG83yohGWdMosxJlXqLMNMraRFltlPHWc4FmR6LZYzmraJYlmoXW85NmbOr5TDM89fynjpC6Xwj1kERdhjoPdSPqUIQ6mVCHE+p8Qh3RqFuuRZ02UScm1LFJdvUrxZ0OHKEXb/RGGl2MtegmCN04o5sttDhoIY3Q4qRF3AudNkTrDUUbr/XGpc2dOhgoPKxDh4IpUahZBqFQWBqFrHU4U4AbBX+ioWE0cBINK6NB12hYJhq4jQZ3owJAqFAQKigzVICWUNk6K1QizwuV64uAzvW80D06K7T2ltAan6E9RGhPEtrjjbKiUeYkyqxG2WeUmYky1yirE2W99XygGWI0e1LOK5ppieah9RylWWs9n2mGp57/1BFa9wzqIq37jHTnoW5EHWqEuplQj6POZ9QVhbrlWtRpG3XjRh175KoXd7oQa9ENMLppQjdaaFEILSJCC7MXr9Aip83QekPRpku9aWljpw4FCo7UgUOhZBRmlgEoFJJGAZsylCm4jQI/0cAwGjSJBlWiIZdoUCYatI0GdqPBT6hIEComM1R8llDBOjYqjGeNCvKjCb2ns0b37thoDS6htT5De4nQ3iS01xtlRqPsSZRdibIvUXYmyl6jzE6U+ZYzQmiOGM0g67lFs81oJlrPUZq1qec0zfLUPYC6QuqeQV2kUaeh7kMdiboUoW4m1OWEup9QVzTqmGtRt03UjRt17JG9izu9MKE3kegirEUX3+imCd1koUVBC2iEFiUt3l7gtBFabybacK03LG3q1IFAoWEdNhRIRkGWMvwoIBOFq3UgU2gbhb3RoEg0ZIwGVKIBl2hAJhqwjQZ1o4FPqEAQKiQjVHaWUKk6NiqHZ4GK72MRvfezQPfy2GhNLqG1P0J7itAeJbTnG2VHowxKlGGJMjBRhhplb6LsNsp86zlBs8RoBqWcXTTbEs1G63lKM9d6TtMsT90DqCu07hvUSVr3Guo+1JGoS41QR6MuJ9T9hLqiUcdci7ptom5MqGuTU8WdDhihF230BhpdhLXo4gvdMKEbLLQghBYPoQVJC7cXt9AmaL2RaLOl3qy0oVOHAQVG6qChMDIKMcvgEwpHo2C1DmMKbKOgTzQkjAaM0WBKNNgSDcZEg7XRgG406AkVB0JFZIQKzhIqUsdEZfCYqNQ+HtG1OSa6t8dEa3MJ7YER2luE9iqhvd8oQxplUaIsS5SFibLUKIMT5bdR9lvPC5opRrPIen7RjDOajSnnKc3c1POaZnrqPkCdIXXfoE7SqNtQB6KuRJ2KUEcT6nRCHVCoMxr1zDWo2zbqyI269shVK+50Adaii250s4RurtBiEFo8hBYjLdpe2LQBWm8ioc2WeqPSZk4dBBQWlgEjFEJGAZYy9CgYE4WqZQhTUCcKeaPhYDRYEg0lo4GWaCA2GqqJBnOjAd+oLIxQARmhYjND5emYqPwdCxXXS3+Mrtmx0L0+JlqrM7QXRmiPjdDebZQBjbKkUR4lyrREmWiUpYmy2CjDE+W/5cygmWI0i1LOMJpxiWak9Vyl2Ws9r2mmp+4D1BkSdQ7qJq37DXUg6krUqQh1NKFOJ9QBhTqjUddcizpuoo7cqGuPbC7u9IKETj7Rm1+LLrrQjTK6uUKLgRbOCC3GXrC9qIUWf+sNRBst9SYV2szWIUBBkTpgKISMwssy8IRC0ShQLQNYKKSNwt1oMCQaKkYDKdEwSzQMEw3TRAO50WBvVBAIlY4ZKjQzVJiOhcreMVBBvbSMruUx0L0/FlqzM7QnZmjPEdrDjbKgUaYkyqREmZYoExNlqlEWJ8pyoxlgPTdothjNJOs5RrPOaEamnKs0e1PPbZrtqTsBdYfUvYO6SaOO0z2IuhJ1qhHqakK9jjqgUXcU6pprUcdN1JEJdW6yK+70iRF6sUYn3ujNr0UXXegmCd1YoUUgtGgILcRerEKLmhZ/6s0jtMlSb1DaxKkDgELCMliEwscouFKGHQWiUZCmDF8KaKNgTzQUjAaK0SBKNMgSDcJEgzTRIG400BsVA0JFY4RKzAyVpGOhcncoKqKX9kfX+FC0Fo6F1vAM7ZER2nuE9nKjTGiULYmyKVG2JcrGRNlqlMlGWZ5oFljODpotiWaT5SyjWZdoVlrPV5rB1nObZnvqXkDdIVH3oI6SqONQF6LORN2KUFcT6nZCXVCoOxr1zTWo4zbqyo0698i5F3d642vRxTa6SUI3VWgR0IIZoUVIi7UXNC381huHNljrDUqb2HrzU0CkDBUKnkShZRl0QmFoFKKWwSsUzkahbjQQjAZJoiFkNMASDcBEAzTRAG40yBsVAkIFY4SKywwVo2OgMncIKpyXjo+u/SFobRwDreUZ2isjtAcJ7elG2dAoYxJlVKKMS5SRRtmaKJuNMt1oFljPD5oxRrPJep7RzDOalSlnLM3g1PObZrx1LxDqD6n7B3WU1j2HuhB1JupWI9TZqNsJdUGh7mjUOdeirpuoKzfq3COrizu9EKGTTvSm16KLLXSDjG4qLQChxTLSC5AWai9moUWfetMIba7UG5M2cOqNT+FgGShCoWMUWClDjoLQKECtQ5eC2SjQjQZBoiFiNICMBleiwZdocCYavI0GOKEy0KhYjFBhmaFCdCgqb/uiYnnRvOIVr9gLPddFQ/dkX7RWDkVreob2zAjtxUZ7mlBGNMqaRFmVKOsSZaVRxhplc6JsN5oJ1nOEZo3RjLKcaTTzEs1M6zlLs9h6ftOMT90PqEMk6iDUVRJ1HepE3ZuE+hWhzibU8YT6oFCHFOqca1HXTdSVCXVvctTiTifc6E2vRRdb6OYI3Uyhmy+0WAgtPlqkvZBpwbfeMLSxWm9M2rzWm56CIWWYUOAkCivLgBMKQaPwtA5cCmWhIE80BIwGiNHgSTS0Eg29REMz0dBNNLgJFYFGhWKEisoIlaBjoMK2DyqRVwMV7vNE53Q10D3aB62ZY6A1PkJ7Z4T2ZKO9TSgrEmVNoqxqlHdGWZkoa40y2ijbE80GyzlCs8ZoRqWcazT7jGZmyllLszj1HKdZb90PqEO07iHUVVr3HepE1J2oYxHqbEIdT6gTCnVIo965BnXdRp25Ufcm51rc6Q2vRRfZ6OYI3Uyhm08LZYQWXy/QXsRCi731hqFNlXpT0sZNveEpFCyDRChsjIIqZbhR+BkFp2XQCoWxUYgbDQCjwZFo6BgNrETDLtHATDRwEw1sQgWgUZEYoYIyQsXnUFTS9kGl8TxQab7I6D2cB7pn+6A1dCha6yO0h0Zobzba44QyI1HmJMqsRJmXKDMT5a1RVhtlvNFssJ4nNHOMZpXlbKPZl2h2Ws9bmsnWc5xmfeqeQF0idQ+hrtKo83Qvou5EHWuEuht1PKFOKNQhjbrnWtR5E3XmRt2brCru9AKETjbRm12LLrLQjTG6mXTjhRYJoYXXi1NoEdNiT71ZaEO13pC0aVNudgqElCFCQZMopCyDTSj8jELTMmQpiI0C3Cj4Ew0No2FjNKgSDbpEgzLRoG00rBsN/kYFYoSKyQgVnkNQKdsHlcSzQkX4sYDe61mhe7gPWlOHoDU/QntphPZoo71OKDcSZU+i7EqUfYmy0yhzjbI6UdYbzQjLmUIzx2hWpZxvNAONZmfKmUszOeUsp1mfuidQl2jdR6izJOo81I2oQ1HXItTdhLqeUC8U6pJC3XMt6ryJOjOhDt6OVtzpRBu92TXoAhvdFKGbKHTThRYJoUVHi7MXMC301huFNlPqzUgbNuVGFwoDywARChmjgEoZahR6RoFpGbBCIWwU3kahbzQwjAZNoiFlNOASDchEA7bRkG408BsVhxEqJCNUdA5BRWwrKoXHRiX38YCuxbHRPd2K1tYhaO2P0J4aob3aaM83yo5GGZQowxJloFF2Jspeo8w2ynqjGWE9V2j2GM0syxlHMzDRDLWeuzSbrec5zfzUfYE6Reo+Qp2lde+hbkQdiroWoe4m1PWEuqFQlzTqoGtQ523UnRt18HZuxZ3e6Fp0cY1uitBNFLrptEBGesHRwuzFK7TIW28U2kypNyJt1tQbncLAOkAoZIzCyTLQKPAShaVluFIAGwW3UeAbDYpEQ8ZoQCUabkaDMdFgbTSgGw36RoVhhIrICBWcfVH52opK4DFRkX08o2t0THSPt6K1ti/aAyO0t0Zozzba+40ypFEWJcoyowxMlKFG2Zsou40y32hWWM4Wmj1GMyvlrKNZaDRDrecuzeaU85xmfuq+QJ0idR8R6i2Jug91pO5RQn2LUIejrifUDYW6pFEHXYu6b6Lu3KiDtzMp7rpgn/70p0++/OUvn7ztbW/bfYzepOiif+Yzn9kd+6lPfQqPyYuqhfD5z39+d7y94x3vOHVTtID6mHe+852PuNlanH3cu971LlwsQouNFmUv3F7cpDdIb6LWm5A2asoNLhQC1uFBAWMUTCnDjMLOKCgtg1UofI1C2yjsjYaE0YAxGkyJBluioZhoqCYazI0GfKOiQKh8jFCpOQQVri2o9B0LFdZLj0TX7ljonm9Ba+4QtCdGaK8R2ruNMqBRliTKokRZligLE2WpUQYbZbdR5hvNCuv5QjPIaHZZzjqahYlmqfX8pRltPddp9qfuDdQtUvcS6i6t+w91JOpS1LlI9zjr0m7ZDVP2ykQddK3swYS6c6MO3haLOz1xyxN76KGHThXhpeL+3ve+9+RLX/rSyR/8wR9gcc8LquD6whe+cPKhD31o92td/Pe9732713F5Vwj6GN84H5PlXcGq4z784Q9fWRDvf//7d8eNyjsttl6QvWiFFnfrDUKbKPUGpE2aeoNTCFgHB4WLUShZBhkFXaKQtAxVCl6jwDYKeqMBYTRYEg0lo4GWaCAmGqiJBnKjwd66HIx02ZjpEnMIKllbUMk7Biqml9aja3oMtAa2oDW4L9obI7TnCO3hRlnQKFMSZVKiTEuUiUZZmiiLjTLcKPuNZobljKEZZDS7Us48molGs9R6/tKMtp7rNPtT9wbqFql7CXWXRh2oexJ1KepcJMt6yrKesqyn7Jate+ha2YVHqEM36uLpqMVdYaAy/MEPfvBKgVdxpzcouoH6ive73/3u3Vfdl4r7Rz/60ZPPfe5zuwWnX+vi64brsfq4FqaP0SL2jdPr+Bgtdt3kj33sY7tfa2N4QWjRffazn33Ex6UXmeRCNFq0vbBbbw6hTZR6A/YGTb25e/O3DA0KFqNAShliFHJGAWkZqEKhKxTUiULeaDgYDRWjgZRomBkNwkSDNPUQJjTQGxUDQkVjhArMvqhYrUWl7lBUQC8djq71oWhNrEVrcV+0R0Zo7xHay40yoVG2JMqmRNlmlImJMtUoi40y3Cj7E80O6TlDs8hohlnOPJqJiWaq5QymGZ16vlMHsO4N1C1adxPqMIk6EHUl6lTZuWa6tEuW9dSF3bJbtu6hW2RJJ9ShG3XxdPSvuNua4u6SrcW5VNx181Xy86vtpq+o66v2b37zm68c0zdPX03XMQ8//PBuMeq4/Gq7+bjXvva1pz5Oi4wWYy9YWtitN0ZvnNabjzZo6o1Nm98yMIRCxSiMLAOMAi5ROFqGKQWuUUgbBbzRYDAaKEaDKNEgSzQEjQZooyGcaJATKgWNCsYIFZd9UaFai4rcIahsXjo+uvaHoLWxFq3JfdFeGaE92GgvE8qGRNnSKKOMsi1RNibKVqNMNspyoxlgNDssZ43QPBKaYSlnH81Go5lqPYdpVlvPd+oAqfsDdYzU/YQ6TOseRF2JOlV2rhkq7tK9z7IvJvfL1j10C+rDiTp0oy6epsWdnpDQyS0Vd4XKH/7hH5685jWv2V1wKu55IRVW+mr+29/+9t2v8+KrZOu1PvCBD+yO0bfE9I17/etfvztGn1OQ+rheED6uv12GFlkvxF6sQou69cagzZN649HmtN7UtPFThgUFSqIwsgwvCjejYLQOUgpboYA2CvZEQ0FokCQaQkYDLNEATDQ8Ew3g1gOcdBkYoXJBuqzsi0rUWlTeDkHl8tLZo3txCFora9Ea3QftGUJ7kNCebpQNjTImUUYlyrhEGWmUrYmyWSjLE80CoxkiPW9oJhnNMsvZR7Mx0Vy1nMU0q1PPeeoC1v2BOkbqfkIdplEX6r5EnSo715Iu7dK9z7IvpuyYLbvoFtSHE3VoQp3cDi7udGIyK+66wFnU+9eWF9HlfFbcP/GJT1wp533jsriPyrnQ52iB9SKUXqi0oFtvCto4rTcebU7rDU2b3jIohMLEKIQsg0so3IxC0TJEKWiNwtko1I0GgtEQMRpAiYaX0eBLNDgTDd5GA7xRESBULAgVlX1QcVqLCts+qEheunroHu2D1sxatFb3QXuH0F4ktLcbZUSjrEmUVYmyzigjE2WsUTYbZbrRLDCaIZYzR2guCc2ylPOPZqTRbLWexzSzrec8dYHUHYJ6RuqeQl2mdR+izkTdKvvYTBZ2695n2RdTdsyWXXQL6sONunSjTm5nXtxVtPuN6dtVvvjFL+4WuH6tC76luPfF9+c++clP7v7bxV3Pf1GKe4dWhxyFYupApRBOHeIU/paDg4ZOouFGaIAaDWl75Stfecqdd96J7rrrrqG777576J577hl61ateNfTqV7/6IPfee+/QfffdN3X//fcveuCBBxbpT7nWePDBB1fRXj8G5cI+tP8vXVqL1tAatGb3QXuI0J4ktMcbZUWjzEmUWUZZtwVlrVFGG2W70UwwmiXSc4dmk9FMM5qFhGZryplMMzvlnKcukLpHUNdI3VO6x6yx9jdm9BsxQr8pE/oNmfRvyox+Yyb9m7F9UDcW6tKNOrmde3FXwdX3l+svsPpja4q7Fqa/VWZU3PWc9K0yXdy1IXTcMYt7l/Y1xb03g9CmSb3haFNabmTpjZ4yIKQDJFEAjVCoGYWhdHhSwBqFslGYGw0Bo+FhNHTWooGXaFgmGraJBnajwU+oSJAuJfuiorRGFrJLl9aitbQGrd190F4itDcJ7fVGmZEocxJlVqLMW4uy1iijjbLdaCYYzRLr+UMzSmimGc3CEZqx1nOZZrf1vKdOYN0jqGsk6irZZdY6ZnGXy+Je6IkanZApnKi4K/z08Rk9Jkt7Fnf9xdMu7v7Lqe95z3uuHNPFPf9yqjaEjlvzl1PXlHYq7lTaW//xE/0RVeo/3qI/Akv9x2f0R2zWfyxHf3Rn9Ed+ln9ESAvZaKNYbyzahEKb1miTG4WFdbAkCqJE4WYUhqmDtFH4pg5t0kE/0sNipIfMvmiYLaFhuRUN40uPHnRPt6K1tYTW8D5oTxHao4T2fKPsSJQ9ibIrUfYZZWaizDXKaqOMN5oNRjNFev7QjDKabZazkGal0Yy1nss0u63nPXWC1H2COkfqvkKdpnUvou5EHat72Yi6Xcvul7o3WnfNlN11C+rEjTp1o24u517ciS52f8W9L6Buko7RT6HRovNF1032x7UJ/P9auLpZem4tGH9cC1y/ph/7qIXWH+8FJbT4cnFKL2DSG4E2S+qN1hux5SbuTd4yHChArEMnZVAJhZlRCEqHJgWrURgbhbhR+BsNDaNhYzSoEg05owGZaMA2GtKJBj2h4kCoiGxFpWgNKmBbURG89OhD93YrWmNr0JreivYWob1KaO8nyo5GGZQow4yyL1F2GmWuUVYbZbzRbDCaKdZziGaV0Gyznoc0M41mreVsptmdcuYL9QLrPkGdI3VfoU7TuhdRd6KO5U62JAt76tJuWdhT903LnroV9eJEnbpRN5cLW9z1FW893j/+UfJjvuD+aru+kq4b87rXve7KMfq1nju/2u4b62+J6X+AKb/aLrSoeuH14hRaxKk3AW2U1huNNqP1BqZNbhkMQuFhFDqWIUVBZhSA1oFJoSoUxEYBbhT8RgPDaNAYDahEAy7RcDQarI0GdKMh36gwECogW1ERWoOK1xZU/h4N+o/vzwq99qMB3estaK2tQWt7K9pjhPZso73fKEMaZZFRhiXKwEQZapS9RpltlPVGM8JotljOIZpVRjPOcibSzDSatdbzmWa49dynbpC6U1DvSN1bqNsk6kbdn6hjuX+t4U6XsqynLOspy3rKnroV9eJEnbpRNxcs7vQEpE9EG17fgqJC3PRVbN14eoO60FncdcFc0vvbZvxxU9HWbxLy5ri85zFZ2n3DXd7zuK2lXXph0gJuvQF6g7TeYLQJU29g2uSWoUDBYRQ4KUOKQswo/CzDksLUKISNwtso9IUGRaIhYzScjAZbosGYeqA2GsyNBnyjokCoeGxFBWgJla0tqOxdRFSmLwI614uI7v0WtPaW0BrfivYaob3bKAMaZUmiLEqUZYmy0ChDjbI3UXYLZb3RjDCaLZaziGaV0YyznIlCc9No5lrOaJrhKec+dYPUvYK6R+reQt2mdT+iDkVdyz1siXtdyj6YqLRLdszWfXWt7seNOjWhjr53cacTafRm1tDFeu9737v7yTPaGHkR6aIL3SS6oUI3n9BiokXXC5MWb+sNQJsk9QajTWi5cYU2t2UgCIWGUdhYhhMFmHXopQxKoTAVCmCj4DYKfKMhYTRgjAZToqFmNBATDdRGQznRYG9UEAgVjq2o+CyhgrUFFbyLgAryowm9p4uA1sAWtAaX0FrfivYcoT3cKAsa5UmiTEqUaUZZmChLjTLYKLuNMt9oVhjNGOl5RDPLaNZZzkaanUYz13pO0yy3nv/UEax7BXWP1L2Fuk3rfkQdiroWdTJCHU+oE6orZp806qCjz61FnbhRt27U0c+suNMbWUs3Vz95pr/a3mXd6AYJ3Uyhm09oMfWC60UptHhTL37aIKk3F23A1BuXNrd1IFBoGIWNZThReBmFnmVIUpAaha9RaBuFvdCAMBosiYaS0UBLNAyNBmmjYZxooBMqB42KxlZUeJZQsVqLSt3VRgX4sYDe69VGa2ItWotLaM1vRXuv0R4mlAmJMqVRNhllWqJMNMrSRFlslOFCmW80K4xmjOVMopllNOssZyPNTqOZaz2naZZbz3/qCKn7BXWQ1P2FOk6ijtQ9iroWdTJCHU/UAakvZqdM1EUPRd04Ubdu1NEvZHHXV9v1rTVaRHlh6SZIF3ajm0k3ntBC6sUmvSBp4bZe+LQ5Um8s2nwpNy1t7JRhQIFhFDSWwUTBZRR4lgEpFKJCwWsU2EZBbzQcjIaK0UBKNMyMBmGiIZpoEDca5o2KQaOCsRUVnSVUqNaiInc1UMl9PKBrcTXQ2liL1uQSWvtb0R5stJcbZUKjbEmUTYmyLVEuGmWqURYbZbhR9hvNDKNZIz2XaHYZzTzLGUkz1Gj2Ws5qmuUpOwB1hNT9gjpI6v5CHad1T6IuRZ2Luhmh/tc9camgj/rrIX02n5NQt27U0R9R3OmBjU6g0ZtYI4t66xthdNOotAvddEKLiBZbL0hatK0XPm2O1BuLNp/lhhXa1JZBIBQWRiFjGUoUWkZhZxmOFKBGoWsU1kYhLzQYjAZKomFkNMSMBmCiAZpoADca5I0KAaFysQUVnBkqUWtReTtvVGQfz+gaHYru/QytM6FjGz1uhvbAFrQHCe3pRtnQKGMSZVSijDPKRqNMTZTJRlkulP1GM8No1ljOJppdRjPPckbSDDWavdbzmma6dQ+grmDdL6iDpO4v1HFa9yTqUtS5updRp5PsftkNsz+6Y6qfqsc+8anXnzzlmS89ufbF339y410/cXLzgx/defrz3/SIHrtvp/XzzHS/Jt3Tz6S40xtYKy90ypuR8oYlurnSC2GEFlEvtF6MQos29aKnjZF6U9HGS71haVNbhgAFhVHAWAaSUGgZhZ1kMAqFp1DgGgW1UcAbDQWjYWI0iIwGWKLhZzQ4Gw3fRAO8UREgVCy2oGIzQ8VpLSp454lK66U/RtdsC7rntmbt9Frbgtb2yNbjCe1FQnu7UUYkyphGWWWUcYky0ihbjTLZKMuNZoDR7DCaOdLziWaY0MyznpM0S41msOXMzlnec797QfeIJdRFUvcY6jqJulL3qexa7mHU4Sz7XnbC7I27Pvqkr/S+m1+2K+TXv/yHduX8tm//3ZPnfNc/Grrupe88cddVLz2k2/qxI92vSff0x1Vxz2K+JBeR9CKTXoi0YFsveNoUqTdUb8jUmzc3dssAEAoJo3CxDCMKLKOgswxFCk6jsDUKaaNwFxoIRoPEaAAlGl5Ggy/R0Ew0eBMN7kYFgFCh2KLLzxIqW2tR0TsPVFAvLaNrOZL32WuF1tsatM6Njk/0mDQ6vj++Vj73DO3xRlmRKGsSZVWirDPKyEQZa5TNRpkuNAOMZofRzLGcUTTDjGaf5aykWWo0g63nds/87APdHahPWPeO7imtu0z3HNJ9yT0qexZ1MXW37nfdA9UR1R+fesMLT572nNecXPeSH9gV9Ge/6W9hMV9y21t//0ofPrTb5uNJ92vSPf1CFfcu66lvlPUNtS7tQouC5EKyLOzWC5EWa8vFLr1hWm+w3JitNzEVdusAoJAwChfLMKKwMgo5yUAUCk2jsBUKaKNgNxoGRkPEaPgYDa5EQ89oYCYauI2GdqPh36hIbJGFfI0sZ1tQ0TsPVEYvbUfXNvk+a414bWl95nreZx/QY4SOTWsek3vo0P3kx8/06xM670aZkyizjLIuUVYaZaxRNhtlutEsMJohRnNHek7RLBOafZazkmap0Qw2z2vP8Szr7gjUI6S7h9HnlnpLf767EOn+RD2Lelv2PffBpzzj2SfX3HLXrqA/89U/e/Ks130CC/ghvu7rvm7Xid1p9+23ftwIdezWPf1UcacHNHrhRie/Rhb1ljcvrS3tQiWd0ILqRUcLsxdz68XfG6tlYZcs6WTf4k4BYRQslkFEQWUUcJZhSIFpFLJG4WwU6kKDwGiAGA2eREPLaOAlGpaJhm2igd1o8DcqEFt0KV+SRXwLKnpnjcrnpcPRtfZ91hrRutL6fdHdbz25/fUfOXnem35t2Rt++eT59//oI9z+wI/tXPn1q9558oJXvunkhXe+eepFd9yF+9Z6n9J+672yRj8HyT0+kllBMmsIvedEmWeUlYmy1iijjbJdaBYYzRCj2WM5q2iWGc1Ay5lJM9VoFptnuEu7usGNtz9w8uyHfvHk2a/9qzu3PPDhk5te/s4rbnj+/SfXP/eenWtvej52lv6Yf90fH31+1o0k+5N7VfYudTR3uCv97prrTq551stPrn3RW09uuPNHdl9Fp5J9bDe+6i+ffO3Xfu2uvHfvpe46k48d6Z5NsqsfvbjTia9FhV2yqKcs66kLu+UimcnCLrngrBdlL2pylsV939L+aC/uFMxGgW40BIyGh9HQMRpYRoMu0aBMNGgTDepGA79RcdiiS/mSLOJbUNE7S1Q2Lx2fr7fvs9aU1qXW74vuegsO2YtGv2l4wavedmXf9v7rPbOGHzvj15np3GidO42yK1H2GWWmUdYaZbRRthvNBKNZIjR7LGcVzTKjGWg5M2mmGs1i0bzWDD9V2l/4MK7DNfS93rc8/EtX3PTKHzy58WXv2LnhRW8+ufa2u3aecfOLH9GFuh/51zPdtdTL3NuedssrTq69/Q0nN7z83buCfutbPovnfNZueuAjJ0/4+iedPOEJTzhKcZd8POmeTbKrP26Key+YEVpsuVjt8VDcKVAsA0gopIzCTTIIhcJSKGCNQtkozIUGgNHgMBo4iYaV0ZAzGpCJBmyjIZ1o0BMqDWtRMZ/JIr5FFuqzRuXyIrrzzjtXocdeNLruus9aI1qTWt/aJ895y6dw0F5Ut9/7g7vzzv257z7z45bknieZGSOUQSmzq1H2GWVmosw1ymqjjBeaCUazxGgGSc8rmmlCM9B6btJsNZrJLu6a+eoE6hHPft2v4vo7S7e89ldOnvXQx3aeec9Pndzw0rfvXP8t33nyjFvvvOKpT3vGqX6lfnbNDc8/ecZz7z+5/o63nTzz3g+c3PKG38DXOA/PfO2vn1x31188efLzv+Pk669/2cnXPPGGkz/7Z//syZ//83/+srivQYXdqLRLF3ah0i65eGbWFPcu7WuK+1mWdtm3uFM4GIWJZfhQQBkFm2UIUlAahatQIBsFuVH4Gw0No2FjNKiMBlyi4ZhouCYa0I2GfKPCsFaX8iVdxtfoUn2WqFBeLVTAzxKdw3nS9df91jrR2tUeecGL78HBe6F9xz84uf1bXrE7/9yn++613q/ErzHT+dEog1JmF6EMNMpOo8w1ymqjjDeaDUYzRWgGWc4smmlGs9BydtJstZ7Hntma4S7tT7/2el57F9DV+gq6PPvNnzm54b6f3xX0b7jp1Sdf/aRnn/yJP/Endv7kn/yTJ3/qT/2pkz/9p//0yVd91VftivtXf/VXP6K4q6fu23GzI5Pu2SS7+oUv7lTYhUq7UGkXKunk0Vjc9y3t0uGQKEwsw4fCySjUJANQKCSFgtUojI1CXCj4jQaG0aBJNKSMhpvRYEw0WBMN5kYDvlFR2KKL+UwX8jW6WJ8VKpLniYr0RUDnehZ8H7ROtK60xrW/nnvPu3AgX3TPvff9u/zQXvd+PWTP5Z4d6f1PMkMIZVHqHEuUgamzM3XuJspso6wXmg1GM8VoFknPLZptQrPQcnbSbLWexy7tmvHqCLte8eyX47p7vNJPg1FBv+Yl7zn5pltff/I1T33eyZ/6qq+5UtJd1F3WqbTrq+1f8zVfs/sed/did9t9O252ZNI9e8Rd/Upxp4MavWCjk16DSrtQaRcq7XJIaZel0k7FvUs6uYjFvYMhUZBYBo9QOAkFmmX4UUAahapRGAsFuFHoGw0LoyFjNJyMBluioZhoqCYayokGe6OCsEUX8xkq5UuyWJ8lKpJnjUryowG9l2PQfdA911rR+tUe0d58zut+CQf1hfdtv3PyvNv/KCe0n3Nf0l5ao/cv8euMUJakzqHWOdYoC63zM1H2Wud1oqw3mhFCM8VoFlnOLpptRjPRcn7SjDXPY89szXDNfHUEdZHrX/RtvO4eB2566FdOrn3lT+y+iv6Ea55/8mef8NQrpTypmCeVdPkzf+bP7Liw/7k/9+d2X2lXaaevth+qu3Lrvk3OpLjTya5FpV2otAuVdjmkuHdpP1Zx79K+VNy3lHa5msWdQskozCzDj8LRKFSFgtgovI1CX2hQGA0Yo8GUaKgZDcREAzXRQG401BuVg7W6mM90IV+jy/VZoAJ5VqgEPxbQe93K90P3XWtLa1x77LnPf8Hu205oeF/3zd+x+0tt8vRnv3LH31977fMeuPK9tzP6Hl1/v+7M0j/aMnTnD+yyR3mgfZ37svfTGrl3RzoHSOdJ6zxqlGnWOdg6RxNlsFF2W2e90Ywwmi1G80hydtFsM5qJljOUZqx5Hntma76rE6hDqLPc+Mr34pq77s6fPHnKc990cs0Lv3vnulf82O4vXe685tH1m+Bb3vipk+tf9YE/+j70G+48+eonPnNYzFXIqZy7oLuku6iLvsKehd0/Tca9+NBua92XW/dtcqGKOxV2o9Iua0u7dEEfWVPcu7TvU9yprKctxX3f0i5Z1BuFiGXoUCgZhZlk8AmFo1CYGoWwUHAbhb3RkDAaLkZDyWigJRqGRoM00SBuNNAbFYO1qJyPdCFfI8v1WaDyeBao6D6W0TVYw/dF60VrU3tEe/O2O96AA11/LP6kp1xzZR5szfuU8yL1jGk5k26+74N8nm/667vMUpboPWn/Hrr//PgZyoTWudIom1LmWaNMNMpS6/xNnduJMt9oVkjPlUQzSXp+0YwTmomWM5RmrHkea15rhru4q1dofT7r4Y/jmvvGm+4+VVKTymr++uue8uyTr3/GC3eedMsDJ099wXftPO1bfmBX9G+8/xd2bv22v4uvdSx6fr3ONd/yjpNvuuWh3VfRs5Q3+sr5rJybSrqLepb1LOzuxNlr3Umzu27Rfbl13yY+twtd3DMUEwWodOgaBTVZKu1U3Lukk4tY3LOkNwoQy8ChQDIKMsvQo2A0ClOhADYKbaOwFxoQRoPFaCAlGmZGQzDREE00hBMN8kaFYK0u5jNUypdkwT4LVByPjUrt4wldkxndF917rS+tYe0h7enb7vsJHPQ3P/Dzu3ngjM987gzOzB7prJeeCeJ54fmi2aPzuOaZL8HzlFtf+uZdBuk9aX/r/el9HrIPez+TzARC2ZI6lxplm2UWEspUoyw2ynDpvE89JxLNGKGZZDnDaMYZzUbLWUqz1jSTXdw189URtF619kZ/CvS1T77lSnHN0ppcaptLr2Uhtq/5hmdcKftff+2Lr5R9uf7un71S9vXVcjo/fe7al//oyZOf+60nX/u020++6mueeKqMt7VfObcu5pYF3SU9v7runqte2p3WvTQ/tkV2ZZJde8R9fVfc6YBGL9ToZNfIsp6yrKcu7OYgTQ7ZJRTQFOQd9j0gyCHFvYt6e7QV9ww8oVAUClKj8DUKbaGgNxoORkPFaBgZDTKjAZhogCYawI2GeKMysAaV85Eu5Gt0yT42Ko3HQgX20roSr3uj+681pnWuPab9/pxv/TQOf/3oOeW0cti5OspFydxsmbnJmdwZrlzX62om6Bw0azSDbnn9J/Fcb3voF3bvRZmiDPAe7b21Re9n0rlAOl8aZVTqfEuUjdZ5mjqHE2W4UfYLzQrL2dJoNknPMZp1QrPRcpbSrDXN5CzuWn+7dXfdV+YnrbW3/v7Jn/vqJ1wpsC6sWWDFxTb5q9FZgkeF3rLQS5bskVEpl3wuv4bPIQu6z1Xn7ffkYt7lPHWnzf/PTjrqqPnxLfwaMz63Gb2HoxV3OtG18qIkKu3Shd26tAuVdJKF3bKwSxZ265LeOvA9CEZ6cPSAaTmYuqinLO1nXdwpwCzDjgLRKESNwlcosI1CXmgwGA0Uo0GUaIgZDb9EwzPR8E00wBsVgbWooI90KV/SJfuYqCweC5XVS49E1058j7RmtD61D7Q/n/OCV2A5kWfc+LxdxionlXHOrlE2ZXZZ51vKTOz81Ospc/XaynXNAs0R/XxqOle57UWv3mWR8sH7WPvpkP2Ye3qk86F1vrTOp0YZZ52LjbLVKJOtc9w69xPNDKEZYzSbLGcZzTqjtShr16HXXK439ZOnP+c+XGfPfPhXd8VWRba/mpxcZMUlV1x8XYYlS725QEsWa6FCT0bF3M/v18pyLlTO/b7UR/3f7KfUU9Uz8/8Tfcwf31eeE/F7mNF7verFnS6MUWmXtaVduqCPdGmXi17cs7RLFvWWQycHUqPgsAwaCiKj8LIMOwpDoxAVCl6jsBYKeKOhYDRMjIaQ0QAzGnyJBmeiwZtocDcqAGt1MZ+hYj6TJfvYqCweA5XTS8v6OuoeaQ1o3Wgdax9p795659uxnNz65t/a5atyULml3HFuUDaQzpbWmZQFTa+nHNRrK1+V1Tqfa55+7clt3/q3+Zzv/+nd8ypbtNe9X2mfbdH7m2RGEMqa1DnVKOus8zFRtlrncaIst85/ozVgfe9TrwPLWZYzruVsbDlTaeaK1lgWd60zdZbrvuV7cJ1df9dP7cqtCq262ahLZdfKTqbHZPeblXsXfH/F3rrYj2Qxly7m4mKeupPm+fv95Puj90wfy8/Rxy1fb4s8Z5LXfUTv/7K4/z9LpZ2Ku8v5zGVx/2MZdEJhKBSeRqErFNRG4W40FIyGidEQMhpeRkMv0dBMNHQTDe1Gw3+NLuYzXcqXdNE+pi6Jx0Bl9NJ2vp66T1oHWmda59pj2u+3vfZjWE6eedf7d/mozFK2KAO0n9fsTx8zQllgeg1lil5vd35fyTFlns5DmazMv+HF34XnrJ+Mc9vtL9k9h85D79P7UXsm99oWvb8JZUXKjCGUVYmyzvr6J7r+RtffnN+k8z/lzEg5YxrNKOl51vPOej6mnKk0c0VrSzNcM14dQd1D3Ub/6iits2ue/5YrpV19Scd2vxF3n+xL7lPZt9TFure597kfZqnuYj/j3wjk46lz9uvLqCv2+ftj9HHpx+fHR+h81sj3RPzeZ3SN/j/6BKEXSXSSa9BFEbqQ4hvQcvFZFvMZWtTHKO5d2peK+5bSLvuU9rMu7hRcliFHQWgUnkKBaxTSRuEuNBCMBonRADIaXEYDL9HATDRwEw3sRoN/jS7mM13Kl3TRPpYs2sdC5fPSYXRddb+0drRGtRe0B5/zvNuHPwbyhuffv8s2ZY6yQcdrj432Se+lmd6XTa+jva4sUI7o9XUeylbl9jOuv3l43rfe88O74/VYPZfOzftS77/33Vq5x0f6mjS6FqmvQ8usa52TKbO1ZSa3zvNEc0BodpjnTKMZZTnTaOZZzsiUM5Vmrmgua61r5qsnuLjf8obfwDX2pJtefqLOph6l49xdup+4x3TPEXWg7kl6ruxc2cvc27LbuRsu9ch8jGQH9H8tXzfPxdz9+lxt9Dg/Z/O5tD7ntej9t7xeI6uKOz15ohNciy6K0EUUuuiSN8x64Y10aZdeyF7kqTdC21LaZUtxz9J+rOJOoWEZMBRARqFlGXIUgkLBaRS2RiEtFOpGw8BoiBgNH6OhZTTsEg1Lo0HbaFgnGvhrZTGfoWI+02X7WLpwH4oK56Xj8DXWetA61V7R3r31Ja/HYqJSfP2Nf5RjyhLtZT1G+8Tr3Oux1/FI7pM19Fras9rzygvlk/JPeausv+nO9/G5f9vv7H5DMjrnPq8t+hwbZUZz3pDOq+acI52TiTLWOpdTZnnrOWA0O6znTaJZJTnTaOZZz8mUs5Vmr9a55rbmvtaW+siTn/o0Xl9f8Q1PvnbXy9SL1GXcRahzuJtI95fsOnrN7kiSPcq9y52M+hvx8amfy7/2x/LXW/j5Gp2XUDcV6rJrdX9u1MHbY6K40w2SXFQztCCztEsuYuuF3nJTCG2cdB7FPYt6o9CwDBcKH6PQkgw4oRAUCk2jsBUKaKNQFxoERgPEaPAYDSyjQZdoUCYasokGdaNhv4ZL0BpdzGeocB9DFu5joLJ56Xh0jXXftH60lrWXtK9vvffHsZjc8uBHdpmnLNJx2pfaI1rjuQa9HnLN5Vrdl/eFzlWvq/NVpii/lJXK52tvej6eu9z6iu+7ct7a+3qe3Gv+/616vxPnxUhmDuncapR9llnZMmMbZbR1rhvNAvPcaDRzrOeU9Vyj2Sc0Ky1na89dz+Ys7rt+cvMdvLbe8tndt1KoQ6kDqafoMe4T2S30X+ohlt1Fuv+YO1J3KOpaaU1Po8/7camPGR0n1CGpa0r30kR9dg3q0Ik6eLuqxZ0uhtFFFLrodHOEbibpBZeF3XqxUlFvvfBpcyRvKm+smX1K+1kXdwosy3CjADQKTaGgNQpnoUA3GgJGw8No6BgNK6Mhl2hIGg3YRkM60aBfo0vLTBakNVysjqlL9yGoZF5Nd91115mi1zwPuta6d1pDWsvaZ9rzox8D+cyXfu8u25Qr2svaX3qc12CvCem1dyi9lvaHXlf7V+esLFIO6tyU98+6/0N4/voHmZR1Pnftce9R76Xcg1v0vm/Oi5nOn9S51TLzGmWmZcY2ymjLTG80E6TnR+q5Yz2nUs62nnup56XlbO2569msNaVeoF6hjnLtC96Ca+um+z6862TqSjpOx6tbZGfIHpGdg2Q/0ZrOftO6I6k3Za+y7FX98fy1dVfLX89QJxTqkN0zjbqpUaddo/tzow7eLmRxpwsodMGFbg7dSNKLRHJhWS9KWrgpC7vkBiC9YXJzkWMX9w6MlMFCwWMUVpbhRuEnFJjWAWsUzEZhbjQEhAaH0cAxGlRGAy7RgEw0XBMN6EZDfg0XiSVUbmaoXB2qi/e+qFyeNyrWVwOd2zH5mmtNaL1pvWsfzn4M5I23vGiXWcoMHas9pDWudThbC7lWDpHrWK+rPah9vjvvr5yTzk0Zfd2t4/cw+geZvOf8/1vlnh/J7CCdPy2zi3T+pc7NRJlrzudG2W49DxLNEqHZYzmrUs42mn1GM9Nyxubs1VrS3NYs15pS91BvueHOH8F1dd3LfnDXydSL1GXUPdwnsjMkd4qmx3VP6V7Tugd1b2rds6iD+WOpe9wIdcPuj0adU6ijCnXaNbo/N+rg7bK4w6LIRSO04HqBtl7QvQFalnZvtJHeeF3W05rSLhkWLUOFQscorCSDTSj8hMLSKGSFQtkozIUGgNHQMBo2RkPKaLglGo5GgzXRYG404NfIYj6TRWYNKkOHoqK2DyqX54FK80VE534IXXPdP60LrVXtF+3d2+56BxaT297y27sMVBYpF7QvtU+0Xr22+p6mXDOH0utp/eu8tY91LsokZaGyV7n/7Df8Or+Ph35hl3nKHL1n7+Xcd7kXt/C+n+kcaZ1DqfOrZfY1yk7LrG2d04kyXnoepJ4j1nMn9byynm80A6XnZcoZm7NXs9nFXb1A3UP95lkPfxzX1VNvvX/XrdSL1F20BvW47ArZHaT7RcpOItRdUveg7k1rdP+ijkZdjnQvlO6PRp1TqKNK99m1qEM36uFpsbjTkyY6sbXoYghdPKGLLXRz6CYSWhS9cGhx9QJtWdqFFnnqDUKbyHrjuaST8yruFFSWoUbBZxSWQgFrFMpCQW4U/kZDQ2jQGA2oRMPNaDAmGqqJhnKiwb6Gy8MaLuRrUAE6FBW0fVCxPEtUjB9N6D1tpeuue6h1pPWs/aR9PfoxkDff/SO7XFPmaJ9rf+lxXodr1kOunUN4TWu/6Bx0LsoX5ZwydZfltz+I70NG/yBT7j//eivKgqTXmukcapRlltlHMjsbZa9QVlvne8qZkHqOJJpBQjPLcsbRDLSem5YzNmev1pFmt+a81pP6iDrPbd/+u7imnnTt83cdSh1IPcXdIruC/9+oY5j7iHVvad17qBul7lXS/Ys6GnU50r1Quj8adU7pfmrUadeiLp2oi6erVtzpQhhdPKGLTTdG6CaSXhC9aKQXFi3A1guYFrn15qANlHLTZUlvWdr3Le4ZKEKhIxRSlqFGoScUlEbhKhTIRiEuFPxGA8NoyBgNJ6PBlmgoGg3URAO50VBfw8VhicvLGlR+DkXFbCsqlGeFCvBjAb3XJb7+Whtac1rz2muzHwN50wtes8syZYn2s/aQ1rnW4pY1kWvoEDp3vbbOX+ei81c2KROVz8+47oa9/kEm7y/vx60yA0Y6T1rnUXJ+jVAWGmWoZea2zuvUOW80G6znifX8STS7JGcczUDruWk9ZzV7PZu13rWW1BXUR665gf/i821v/f2Tb3jiH3UldRl1FT0mO4O7gX8t3S9a95PsLq17D3Wj1v2q+9fuPVdPoy5HqBsKdcnum0Yd1ajbrkFdOlEXT2dS3HVhPvOZz5x8+ctfPnn7298+/bx96lOfunIx6OL54moxfP7znz/12He+852nbooWUB/zrne96xE3VYuwj3v3u9/9iEXTC4sWX+rF24u79cagzWO54SSLesvSLlnUU5f1lGFCgWMUUpKBJhR6QiFpFK5CYSwU4EahbzQsjIaM0XAyGmpGAzHRME00jBMN9DVcGpZkKV+Dis8hqJBtRYXyLFDZfSyi9z7ie6C1oXWnPaE9etsdb8BiojJ/w00377JIuaB9qX2ix3p95b1d0utpH17bOgftSe353Xv4StYpW5XnN77ku4fvZ/YPMpl+vY/Og9Z50jKLSOdZ6hxsnaHWuZsos835TmhGCM0U6fmTaHZJzzmahUKz03LWavZ6PmuWa/arS+z6yHPuw/V082t/7USdTX1J5VZdRP3CvSG7QfeI7Bit+0n3l9b9p/tR637V/Uu6uEv3OZK9MGVhT907zd20dbddi7p06h7ejl7cH3744VNFmIr7Rz/60VNF/bWvfe3uWH2MLprooiqMvvCFL5x86EMfunKh3//+9+8e6/LuYz784Q9fuXk+Jsu7AlHH/dzP/dyVhfAjP/Iju+O6vPfCosWXeuHS4k69MWjzWG+43IxtTWmXLuspw4TCxiikJMOMAs8oJIWC1SiMhcLbKPSFBoXRgDEaSkYDLdEwNBqkiQZxyyG+RZaGGZeWNaj0HIKK2FZUJo+Nyu3jAV2Lpnuge6m1pDWtPaP9e9t9P4HF5NkP/eIu15Q3Ok77T4/TmvUa63u8JNfUvvTaeg/ac9rXygxllzJTGX3tDc/a+x9kktybW2QWjDhPRiibLLOMdB6mztGU2dsou4Wy3nI2JJopljMo0eyynHU0C6XnZspZq9nr+aw1r9mvLqGecv0db8O1dOM9P7PrZOpF6i3qIu4T3RWyQ0h2jNb9hDpM6v7T/ah1v8ruZe5oyV1uSZd2cX9s1D0ly3rqbrtW9+hGXTwdtbhrM6sMf/CDH7xS4Km4S18AlfkvfvGLu8VNF04X9WMf+9jJ5z73ud1C84XWjdZX7/VxLUgfo7LqG6fF8dnPfvbUx3XcH/zBH+w2hheCFpmO08e1cbRgelFJL7zWC5cWd+qNQZvHcrPlRmxZ2sUhQLKotwwTChvpcEoZZhR2QgFpFKpCQWwU3kKBbzQkjIaL0VAyGmbWQ7DREE00hBMN8jVcFpZkKV9CZecQVMC2oiJ5LFRkH8/oGonug+6n1pPWtPaa9vzsx0Aqy5Ql2rPaR1rrevwha8OP3ZfXufaP3odyQTmk/NP5KuOfedf78T0t/YNMlnt0i8wEkplCOpda51rqPEydo6nzN3Vup8576/mQaLZIz6FEM0xy1vUcTDRDJWetZq9ms9aP5rl6gbqFussz7/0ArqWnv+Dbdt1KxVQ9xd3CvaE7QnaJ7hkpu4lkdyHdf7ofte5XclncuY/btLjTEzY6Kdla3N/73vdOi7sWgL6tJb/a7pugr6h/6UtfOnnLW96yOya/2m4+Rl/d1+LTcfnVdtNX3XXc6173OizutPBaL1xa3Ck3BW2clJutN2JyYbcu69ZFPWWQUNBYB5NlkAmFnVA4GoWqUAgLBbdR2BsNCaHBYjSQjAZZoiFoNEATDeBGQ3xJFoWZLOVLqOgcgorXFlQgj4VK66U/ltfK90NrRGtP6177cOnHQCqXlAvam3qMHnuMtZFrbB96H9ob2nva33ovOk+dr3L7kH+QyfyxLToXSOdLy2xqmWmEstEoUy0zOGVmN8p8o1khPVdSzqFEM0x63tFMFJqhRsVds17dQP1DfeeWN/wGrqOn3PzKXbdS39Gx7hajvuCPS/eMlh2l+0vr/kMdqWXHkrMu7pKF3ah7SvdV6167BfXpRJ3cDirudDJ27K+4K4T01Xx9S4wvsm/A61//+t1r6Sv9Ooa+n93H6HMKQR+XC0EL5I1vfOPuOH+7TC8oWnStFy4tbssNIbRpLDea9EZMa0q7uKSTYxZ3CjqjcBQKU6MQFgpto7AXGhBGQ8VoGBkNMaMBmGh4Jhq+qYf3WlkSZrKYL6GSsy8qXFtkcTw2KqqXHsnXS/dD91RrRGtWe0b7d/ZjIJV5yiLtf+0/7QWtx2OsDcm1tpXXu/aRzkvnp/ejHFQGaw4c8g8ySe7VLTIbSGYL6XxqlHGWmdgySxtlsVGGS+d9yhmReq4kmknS8yvlzOt5aDRDzfNW81fz2cVdXUH946lPvwHXkDzxqdfvupL6jnqI+8SoL/jj1n0jdU/pHpO6/3Q/It2zsrRbdjXpjjeSZT1lYbfundZ9NVG/XYM6daJObleluPcbVzioSOur6XTRRF8B1/PNivsnP/nJK+W8b14W9/z/XAhaHIcW9160tLBTbwjaNNYbrTdiOq/iTsFkGWIUckLBaBSmQgFsFNpCQW80HIyGitEwMhpiRsMv9eBMNHgbDe8lWRBmXFDWoIKzLypaW2TJPiYqp5eW6Z7ovmpNaV1rP2lvL/0YSOWK9rP2kda615nvcd7zfeSa20rnovej89L5KVuUccpS5fch/yCT5Z5dK7NhJDOGUE6Zc41QNlpmaaMsts7v1LlvPSdSzxejmWQ9xyxnXs/DRLNUZsV9V2BvvoPXz1s+u+tk6kXqMuoe7hOjrpBdQrJrtO4p3WNa9yDqSql7lst6yq5m3fNGsrCbe2Sj/tmdNXW/Xav7dKNOble9uOui6nvUl76//WoU915MQosu9YLtBd0B1WFG4WcdmBSw0qFMYW45FGaykCUaYJYDsQuP0VC3u+++G91zzz3oVa961dCrX/3qze69996h++67b+j++++feuCBB4Ze85rXTD344INTDz300F60X5fo28yuBu39Q2i/H9sb3vCGS3vS9dN90b3VmtZ+0n6/42VfKbaDv8SpnzSj0qY807F6jB7rdZn3Oe/9PnLtbaFz0V7SeWmfK5OUfcpqlUfNt91X1+H9Pf/1H9vlqfJN701Z4P2cezD37BadE835MtI5lTrfGmWkOU8JZfISyn7reWE9XyxnUaNZJjnzaCZaz1HzvNVs1lrX2lEv0PrRbwZuedn34Pq55cGP7Aq2Sr9+A6Hj1S+yN3RP8Met+0bqntI9pm35zdaIf9NlW37T1fb9zVfK33gl+g2YdfdN1KkTdXK76sVd3yKj7ylXeFBpF5V0LeTz/laZ8y7utGFSbrLehClLu2RRTw6JJRQwRqEkGWBCIScUikJBahS+QmFtFPJLaJgYDSGj4WU0+BINzdQDt9HQXpLFYIbKynmgcrWWy9wxURm9tJ6uoe6N1pTWrPaasuCb7/kOLCUq8899/h/9C6PKI+117SU9Vs9B9znXwFa0BtfQuWg/6by0l5UTyjJlrbJeZeHZd7yJ3+NXvPjO1++ug/JK78/7vfdo7t219DwznTOtc6plxjXKSOtcTZ3Ha3Tup54XRjPGei5ZzrDUc49mo9AsNa1xrRkXd60dlVSVxFvu/UlcO/oTKX3VXMVd60zFV/tlqS/480KdI2VXyQ5DLov7H+num6hTJ+rkdlWLu/5Cqo/Rr6m0Sxb32V9Ofc973rM7Zukvp2pj6Lj8y6n+45j8y6lbS7ssFffUf/zUfzyV+o+16I++7Ly+TUZoIUsueNocRhtKaPMJbV7rjW4UCtYBkyiQJAOsUeClDMpGwZr6N2TNvyHbyr9Bm6EBM0KDal89CLegwXoIGuCXttO11P3RWtG61b7RPl37YyB1vB6ndek10vfKr7GvXodr6T3pvLSvtKeVF8otnbtye/YPMt32wM/ssk+5pKzwnu89mnt3C+fESOdN67xKnXMtM7J1vhplsnWOp85/63mRes5YzyWjWWY5+2g2Ss7Q5hmsGa11r26gbqEe86yHP45r55rbHth1KB2jY9Uv1Bv0+FlfyE4h3TtS95XuM6l7UHakke5b7mQpv9Aq2fFm3BWTe2SjDirura377VrUqRN1chsWd3qiRCeSloq7S7uKuC8AXSzRxdRN84991ALzxdcN9sdVMvvHPooWRX7cv84fB6nn14LLHwfZCykXGenF2ou59UagzWK9wWgT2nkVdwoky/CicBMKRKMQFQpdoaA2CnejoSA0SIyGj9HQMhp4iYZlomGbaFgvyUIwk8V8hsrMvqhQrUVF7hBUQC/tR9dT90jrRetae0p7e8uPgdTa1eOX7rc/vw9ak0u8D3R+em/KBGWQzl2Zq5w/9B9kEu/fLTovWmYN6bxqnXepczJltjbKZukcT5n9jWaH9Jwxmk1GM01y9tFsNJqp4hms9aJZr66g/qG+c9u3/y6unSdd+/xdV1KXURfRY9Qb1AdmfSE7hXTvSN1XssuQ7kPdl1r3rSzslqVdspzPuC+2Lu3S/dPcU1v32y2oWyfq5nLuxV1vVF/17tIueZHyGF9QfRXcH/OF91fS9Xr6tf6YVMf0P8Dkr7br17rh+iNbHeevumtRHPqjIHuh0mJOvRFos1hvMNqEdmhxX1PahcJIMriEwk0oDIUC1Ch0hULaKNyFBoLREDEaPkZDy2jYGQ3KRIM20aBeowsBcRlZg8rMPqhIrUUF7hBUPi/tx9dU91hrS2tf+23fHwO55n73+tgi1+Ra2gd6b9qXfn86d+WpsvvQf5BJcg9vkZlBOnea84p03iXKSqOMNV2HEcp0oRlgNDuEZo15LjWaadLzj2ak0EwVrROtd81ozXN1hV1pvYF/pOhtb/39E3U29SYdp+6hPuGeMOsL7hNG3cO6r3Sfad2HqDOl7lt6Ly1Lu7nnzbgvtizslj00ZVdt2XG3oG6dupfbUYu7Nq++BUWFuOmr3bqZuoj6CjkdI/7XU13c83vaxeXdsrT7Jrm85zEu7eIb7vKex41Ku9BiS71QeyG33gi0WSw3F21Ay9I+K+5Z1NsxizsFm1EYCoWnUegKhbRQsBsNA6MhIjR4jAZW6kGXaEgmGrKJhvSSLAIzXc5HqMTsi0rUGlTc9kXF89JhdF11n3SPtQa1L7RPn3P3O7mUrPgxkH3fSK6RLXJNruX9oPenc1U26D0qG5XJyv5D/0Em8T7eonOjZeaQzq3UedcyK1vnrFE2G2W6Of8bzQ7pOZNoRgnNNMsZ2PPRaKaK1rpmtNaK1r66xK6TPOc+XDPPet0ndp1M/UjHuVu4K+h5uick9wqh7mHdV7LLkO5D1JkSdS4XdsvCbu51S7q0S3bL1KVdqLAb9eE1ulc36uZyZl9xH6E3LX2R3ve+9+1+0owWPl1Yugl0swjd/F4gtIhosaVeqLSYU24C2igpNxdtPnNhty7sRoXdzqO4UxAahadQ4BqFtFCoGw0DoQFiNHSMhpXRoEs0JI0GbKIBvUYXAZLFfAmVmH1QgVqLSts+qHReOpyure6T1ovWrvaN9u+hPwZySa6RrXp9rqHz0/7RueqclSvKNuWr8nz2DzLd9srv3+WdHqPHKgNoz+Ze3sK5MdL5kyi7kvOOdF4mylrLbE6U6dZzwHpupJ431vMp0WyTnIE9H41mqlBxV0e5/o634Xq54c4f33UrdSD1FHULdwZ3guwILbtFdg6SnUW606TuQ9SZUvct6V7WvU2o45Hui0LdUrqPGnVX6Z67FnXrRN1cLmRx103Uv2z6jne8Ay+q0E2gm0Xo5vcC6QXUi4z0QqXFbL0BaJNYbiyhzWdrSrt0WU9rijsFkWVoUagJhaBReAqFrVBAG4W60CAwGh5GQ8doWBkNOaMBmWi4JhrOS7IAzLiUL6Hysg8qTmtRYdsHFc5Lh/P11X3W2tLa1n7TT4wZfevITS94zS6vlBnat9ovWr9ac1vve66VrXqdLvG+0LnqfSoflFXKR2Wz5sOh/yCTeD9v0fnRMntIZlej7LPMykZZa53PqXPdeg6knh9GM0doRlnOtJQzsOdjotmaxV3zX91CveWZ934A18vTX/Btu26lY9RV1CeyK+h5uiek7BbS/SN1b6FuY92Hui+R7l3dy6i7Zbeboc5I3VKyjybqrtI9dy3q1om6uVzI4q6vtutba7RQ6KIK3QS6WaRvfC8O6QVEiyz1IqWFnHoD9AZJvbFo85lLu2RRb1TYJUv7PsU9A0so1IRCUCg4jcJWKJyFAt1oCBgND6GBYzSoEg05o+GYaLgmGs5LugAQl48lVFz2QYVpLSpq+6DCeek4fI11r7W+tPa1F5/z0jdiIVGZv/GZf5RJygbtQe0HPdbrJe/dGr1utsi1uob2hs5Ve1QZoPeq96GcVa7P/kGm2172ll226T3rsXrftHdzT6/V+dEye0jnV8rMI5SdllmbKKMtM73RTJCeH0Yzx3JGJZpt0nOQZqX0XPXc1YzWPNc6Ub9Qv7nlDb+Ba+UpN79y16HUZXSs+kT2hKtV3KV7UXYm0r2Luln3N+p4pPuiUb/MPpq6txp13TWoWyfq5oLFnZ4g0QmsRW9a6CIJXVS6+EI3i/SNp8XRC4gWWeoFSos49QagTWK9sWjzSZb2YxT3DpVEISQZVhRoRiEoFJpCQWsUzkJhbjQEhAaH0bAxGlJGA85oMCYarIkG85Ic/DNd0EeotOyDytIaVND2QWXz0vHoGut+ac1o7WrfaJ8u/RhI5YqO0/F6nNam10vfwzVy7WzR63WJ3qfOVXtOe1kZorxSfup9aU48+w2/ju/9tod+YZeTyiq9b2cB7d/c22s5P0YygwhlmVEGmvOSdN4mymrpXE85C1LPj0SzR2hWSc+1lLOw56T1XPXs1SzWGlE3UP946tNvwHUi3/ikp+26krqM1pQ6gzuBuA/kx1r2i+4fqXsLdZuUnUioO6XuXdTNur9RxyPUGYU6ZvdQo+4q1HXXoo6dqKOfa3GnN2x0kYQuKl18oZvV+qYLLY5eQLTIUi9QWsSpNwBtEstNRZvOsrQLFXbpsp7Oo7hTABqFplDICgWzUZgLDQCjoWE0bIyGlNFwMxqKiYZqoqG8pAc/yWI+Q4VlH1SU1qBitg8qmpeOS9dZ90zrRmtbe0p7e/RjIG9+2fft8kqZoX2r/aL1q8cfev/9+K1o7Y54j+ictVeVBXofej96X7vsv/1BfO9y24tevcs4XSdnBe1hf2yLzpGWGUQyw1rnX6LstMzaRlltme2JZoL1HLGeO0azynK2pZyFNCul56pnr9aH5r26wq7A3nwHrpFb3/LZXSdTL1JvUfdQZ6BOkF2hZcfo/pG6t3Svad2LqDul7l3dy4Q6HHW9Rp1Rul8KdVGh7mrUedfoft2oo1/o4k4XVOji040idNN7YfTiEVpkqRcoLeKUi582SMpNRZvOcpO6pBMq7LamuFMAWYYVhZlQ+BmFplDICoWyUZgLhb/R0BAaNEYDKtFwMxqKRgM10UBekgN/xqVjCRWWfVBJWoNK2VZUMi8dl6+17rXWl9a+9tvsx0De9Oxv3mWS9r/2oPaEHuv1kvdwq15Ha+WaXUN7ROesvaf3rPeh96McVZ4f4x9k8vNv1XnSMotaZljr/GuUoZaZmzqnU+e70UwwmiWSMyf1nEo04yRnIc1Ky9mquas1rzmt9aGuoE5y3Qu/FdfIM+//uV0nUwdST9Hx6gzdB6T7QsqO0f2jZXfJTkO6F1F3St27pPsZdTjqeqR7o1DHFOqkQv1VqPOu0f26UUe/EMWdLo7QxRS6+HSTCN30Xhi0eGiRpV6gtIgtF77Q5rDcUEKbznKTdllPWdTb1SzuFJhGISsUykJBbhT+RkNDaMgYDSejwWY0EBMN00TDeEkPfNLlfISKyj6oIK1BhWwrKpmXjk/XWvdM91vrUHtD+3T2YyCVacob7XPtM615rbtj3X8/z1a9fme8V/Setaf1Pnbv+ys5qCxW/s/+QabnvOCO3fHKIGWG933vWe/vLTJLSOdR6zxLnYMps7N17ibKa6GMN8+D1nPEaPYYzSzp+WY5C2lWWs7WLO6a/+oS6ig33vWjuEaue+k7d91KHUg9Rf3CPSH7gGRXaN0zuoek7i/db1L3IupOrbtX97Pub0Jdj3RvFOqYQp1UqMNK9921qGMn6uiXxf0remH0wqHF1XqB0iK2Xvi0Oaw3FG06y02aRb11Wbc1pV0ofCSDSijMhMJPKCyFAtYolIVC3Cj8hYaF0ZAxGk5GQ81oGCYapomG8ZIe+MRlYwkVla2oGK1BRWwrKpiXzoaut+6b1o3WrvaN9u/ox0A+654f3eWYckR7VntJ69drpu/lvnJNbdHreEbvWftK71v7XlmjXFPOKtOv1j/I5BwZ6TxqnWcpM7B1fibKXsusTp3viWaD9BxJPX+s55XRjJOehzQzxXPVs1ezWGt/tza+0iXUW5718MdxfVxz2wO7DqVj1EPUJ/S47AJGncHcL4y6iHV/oY5j3Yu6N5HuX93PqMNlx5uh7kgdU6iTSvdXo867BnXsRB39cV/ce1FILxxaXKkXJy3g1AufNof1hqJNJ71JqbBbF3ZzcEgW9UbhIxlSFGRG4ScUlkLhKhTIRiEuFPxGw8JoyAgNpkRDzWgYGg3SRIN4SQ76kSzmM1RQ9kGlaAkVsK2oXD5a3X333ZvQc5wlX3Pdb60xrW/tt6UfA6lMUi7oWO0XPVbPkffQ/38IWmNLcg0v8Z7RHtR7V24oo5STymrNhEfjP8iUWUYoDy0zNFH2WmZ1o6yXnAmNZorQDJKeV4nmnORMpJkpnqtd3DX/1S/UW2779t/F9fHk627fdSV1GR2rPqGekF0gUXeQ7hndQ1L3l+43rftRdifS/Ys6Wve47nkj1B2Femb3UaMOK9R516COnaijP+qKO110oZtE+obTouiFQ4sr9cKkxZt64dPmsNxMtOGsNygVdsmi3tYUdwoey5CiEBMKPaOwFApXoTAWCnCj0DcaFkIDxmgoGQ0zo0GYaIgmGsJLetCTLOczVFC2okK0BpWvLbpYPlpQCT8mes1j8HXXPdca0/rXXlzzYyC1/7XPtOa17nz/6fn31etrrV7PMzp3vXe9D2WD8kbvTbmrnL9a/yBTZgrpXGqdaymzsHWOJspgyaxunfOJZoTQTBHPnUYzy2jWSc5Empmm2erZqzWhma51sSuuN97O6+Ktv7/rY+pF6i3qHnoM9QHLztCya7h/kO4v1HFS9yPqUKn7V/cz6R4n1PcadUfpninUSYU6rFDnXaP7daOO/rgq7nSzaVH0wqHFlXph0uJNvfBpc1huJtps1huUSrtkUW8ODunCbhQ6liFFISYUekJBaRSuQmEsFN5GoS80KIyGi9FQMhpmRkMw0RBNNIRncsCPZDFfQuVkKypDS6h4bZGF79GACvZ5oHPZl6677p3Wjdau9o326dofA6m9pDWsx3sN0GscItfYWrSmR7xv9D60v3UNlGF6j8przY3ZP8ikjNS10OOUH86A3sPe72tlppDOpda5ljoPk/OTUAYbZbdQ1pvnQut5YjSDrOeW0ayTnIk5K5tmq0u75rTWv7qB+sgznns/rotnve4Tu16l/qPj1C3UGdwHPPOzF7gvkOwa3UNa9pfuN637EXWo1P1Lsp8JdTnqfK17o1HXpE4q1GGl++4W1LNTd/RHFHd6UKIXXYPeqNHFEbqYdNHpBhG62b0gaNHQ4kq9MGnxplz0tClSbibabJab0xuWdFlPhxT3DCihEBMKPaGQNApXoTAWCm+j0BcaEkbDRWggJRpmRkPQaIAmGsBLesATl4slVEy2oiK0BpWuLbrwXURUpK8mOsctdN1177R2tL61p7Svt/wYSK1PrZvRffTH99XrbK1e1zN6/3of2sPKB703ZZ+yV1n/aPwHmTrXUmYhoUyVzN5G2S2Z8Y1mhPQ8ST2DrOeW9Zyznos0O0WzdVTcb3j5u3FN3HDnj++6lbqNeoq6hXtC9oDsBtkZWnYN6S6SssN0v2ndj6hDpe5f0j2Nulz3vRHqkNQ1qZMKdVjr3rsWde3UPf3CFne6kEIXnW4OoZvdC4IWDS2u1AuTFq/lghfaFNYbiTab5eb0hiVZ1NOa0i4UOpLhRAFmFHpCISkUqkJBbBTeQoFvNCSEBovRMDIaZImGoNHwTDR8l+RwH8lyPkOlZCsqQUuocG3RZe8iocJ8EdG5z/ja655rjWnta7/t82MgvQbodcSvta9eb2v0up7R3tH70H7Ue9J7U5YpV5Xhmh2H/oNMuefX6nxpziXSudYoG63zNGUGp87t1HlvNCOs54r1HDKaXdJzLuVspNkpWgNZ3DXv1RfUSW6+74O4Jp7xwm/f9Sd1G/UU9Qn3hOwB2Q2yM7TsGkKdxLrHdM9J3Y+oQ7XuYN3TqMt13xuhDkldU6ibdn9N1H3XoK6duqdf9eJOF0boIgpddLo5hG52L4heMLSoWi9MWrzWC542hfVGos1muTm9YUmW9XQexZ0CzygkhUJVKISNwlso7I2GhNBQMRpGRkPMaAAmGp6Jhu9MDvaRLucjVEi2ogK0hIrWFlT0LgIqx48G9F6Irr3un+671qL2hvbovj8Gcule5j3fR665tXp9j3gP6TroPelaKJeUjcrm3Uy4Cv8gU2YL6XxqnW8pM7F1nqbOYaPsts576/mQcqYkmkVCs8t63lnORpqd4tmrWawZrnmvLqGOcuubfwvXw1OfdeeuK+kY9RCtHz2ue4B/Ld0bUnYNoU5i2WGEuk7KftT9iXQP656WHc6o8xHqkNQ1pXupUZcV6r5rUNdO3dMvi3stiF4wtKhSLkihRZt6wdOmsN5ItNkkN6Z4w7Yu6+lqFncKSKNQFQphoeA2CnuhAWE0VIyGkdEQMxp+iYan0eBdkkN9xKViCRWSraj8LKGStRYVvKuNyvCjEb23pOuv+6e1o/WrfaP9e8iPgaTXSXnvt8o1t1av7xldB+03vSdlgTJGOadsVcYf4x9k8r7fIjOGdEalzreUmdg6T1PncKIMl8z6RrNCeq5Yz6HU88to5knORpqd0sVd81/94ppn3IhrQb7xSU/bdSL1FnULPSb7gOe+f23dH6z7RnaR1j2me07rntQ9qnUP654m3eWo8xHqkN0zjbqpUJcV6r5rUNdO3dMf18WdFkMvGFpUqRckLdrUC542heUmoo1mvTGzrKcu62lNcafAsQwnCi+hsBMKR6NQFQphodA2Cnuh4WA0VIQGUaIhZjT8jIZmoqG7JIf6SJbzESoiW1HxWUIFawsqd1cTFeBHM3qP4uuv+641pvWt/XaMHwM54+P2RWtwSa7xGe8l7UtdD2WJckv5qIzWTJj9g0y33f6S3fHKJl0bZ0Lu5dz7a3XOtMyoltnWKBtT56p1DqfM7kSZbzkjEs0WoVlkPb+s553lbKTZKZqvmr1aA5rpWgfqF09/1ktxLdz6ls/u+pj6j3qKuoU6g/tAzv3uB9kdWnaO7iMpO4x0z2ndk7pHte5h1NW6z1HnI90fhbqmUDeV7rFG3XeN7tmte/qjqrjTBRe6OaRvNC2GXjC0qFIvSFq0qRc8bQrLTUSbzHJT5oZtXdbTRSzuFKhGISwU2kJBbzQchAaK0RAyGmBGgy/R0Ew0dGdyoI9kOZ+hIrIVlZ4lVK7WomJ3tVDpfSzp9+t7oPuudab1r714rB8DOePX3kevvzV6nc/o/eh66L3pmiiD9H71vpX1V+MfZHK+jHROtcy41vmYOlcTZbJkdrfOfaNZYTRfJGdR6vllNPMkZ6PQ/NR81RzWnNZMVzdQ/7j+W74T18Ez7/+5Xa9S/9kd9/+6hPtAz/7sCNkdWnaO7iMtewx1ndQ9ibpUyg4m1NW6z1HnI90fjTondVOhLivde9eirp26p18W99ILhhZV6gVJizblYqfNkHIT0Saz3JS9YVOX9XRIce9govASCjuhcBQKU6HwNQptoZA3Gg5Cw8RoCBkNL6Ohl2hoGg3cJTnMR7Kcz1AJ2YIKzxIqVmtRobtaqOg+FuV71j3QPdTa0frVvtEePeaPgZzJtbBVrsG1aM0T7ye9N+15Xxe9b2W45sSh/yCT9/8WmTWtc6p1zqXOx+Q8JZTJQhlulP2i6zVCM0ZoJgnNMKGZJz0fc3aa5qvmsOa05r3WgPrITXf/GK6D6176zl1/Uq9RD1GfcE+gHpAdIbtDy84h1Essu0x2HNI9qXtU6x7WPU26z0l3PkIdUqhzUjeV7rFG3XcN6tqpe/rjprjTTe6F0ItFaFGlXpC0aFMudtoM1huINpnlpuwNm7qs25rSLhQ4kqFEwWUUdkLhKBSmQuErFNhGIS80GIyGidEQMhpeRkPPaGAmGrZLcpiPuEjMUAHZisrOEipVa1GZO29Ubh8P9N51D3QPtX60vrWntK+HPwbyju/a5ZSyQntW+0XrU2tnn3vqx+yj1+Eavd5ndE303rSvlRnKIl0b5bHyf/YPMt36iu/bHavH6LG6tr3fMwPW6rxpmVWtcy5lNjbKVus8TpnhqXM/0cwQmjHiOdRohlnPPMsZ2fPT81X3XjNc815dQh3lWQ9/HNfANbc9sOtJOkbHujOMeoA/LtQhLDuHZCdp2WWE+o5lRxLqUom6WPe17HJG3a9RhxTqnN1LjbqsUPddi/p2yp5+qrjTwYlebA16g0YXRegi0sWmG0PoJvdCoMVCiyr1gqRFa73QaTNYbyDaZJabsjdsyrKezqO4U8gZhaNQmAqFr1BYG4W80FAwGiZCAyjR8DIaekbDMtGwnfEQn8lyPkPlYwsqOkuoUK1FRe68UaF9vND7133Qvdc609rXflv6MZDKIO197T/tCa09r4W+vmvkmtiq1+Mave5HvK+0T/U+lSvKNuWpclyzZPYPMilTlXl6nK6t8yH3dmbBGp03LbOqZcY1ysiU2Zo6j1PnuFH2W88L6/liPY+MZpj13LOckT0/PV81i3XvNf91/9Vb9K+j0hp48nW373qSeouOdWcY9QB/XKhDWPeO7CSt+wx1HnM/MupSibpY9zXqdN37RqhLUufsXmrUZY068BrUuVN29QtZ3OkCCl1suimEbnIvhF4otKBaL0hatNYLnTaD9QaiTSa5IaU3rHVZT1ezuFMwGoWpUPgKhbVRyAsNBaNhIjR8jAaX0cBLNCwTDduZHOIjLhBLqHxsQSVnCZWptajEnScqs48nuga6D7r3WovaG9qjox8Deeub/uYuz5Qn2uPaZ1rzWnteC32N18g1sVWvxzV63c/ovWkP6n3q+iinlJXKZM2A2T/IdOtL37y7TsopPVb50fvev14rs4Z0XjXKPHM+ks5X6zxOlOXSuZ96XljOlkQzyWiWSc89yxnZ89PzVfNXe0D3Xt3i6Td9ZT3AvVeZVx9TJ1JvUbdQR5j1gPycZIdI3Tuyk7TuM913Uvek7lGk+1j3Nep01P0Idcnum0YdlbqsUQdeo/t2y65+VYs7XRChiyd0semmELrJvRB6odBiarkYacGmXui0Gaw3EG0y6Q3ZG9a6rKc1xb3DJmUoUWgJhZxQKBqFqVD4CoW1UMAbDQWhQWI0fIyGltGwSzQsjQbtEg/wmSznI1Q6tqKSM0NFai0qcOeJiuzjja6D7oXuvdav9o327ln+GMiRXBtb9bpckmt+ifaW9qDep/a/ckfXSHmrbNdMOeQfZHIObJGZ0zKrCGWedU6mzNbWuWyU5ZbZn2hmSM6WRDPJaJZJzz3LGdnzU/dbs1ezWPdd3UD949rnPYD3/lmv+8SuV6n/6Dgdr44w6wD+nGWHSN07qJtYdhmhzpOyK1GXatnFpPsadTrqfqR7pFDnFOqoQp1Wuv+uRZ07ZVd/3Bb3XgTSC4UWU8qFKLRYUy902gyWm4c2mPWGpE0rXdbTIcU9A0kotIRCTigUhYJUKHiNwloo3I2GgtAQMRo+RkPLaNgZDcpEQ3bGw3umC/oIlY4tqOAsoRK1BhW380Ql9vHG10L3UetH61d7bfpjIG+/d5dFygQdq/2iNar1c4x7m2tki16Xa/T6H/H+0n7VNVJ+KK+Uo8rs3Zw48B9k8q/XyswhnVsps651TibKWOtctszw1vlvNDOs54zRbJKeY0azT3pO5gzVfKXifuMr3oP3/YY7f3zXq9Rr1EN0fHaBnv2SHUGyQ7TsHtRNzD3GqPOk7kvdp1r3Meps3eu6941Ql6TOKdRRhTqtdP9dizp3yq5+WdxDLxRaTKkXIi3W1AudNoPl5qHNZbkZacNaFvX2eC3uNBCMhojR8DEaWkbDzmhIJhqyMx7cMy4OS6h0bEHlZoYK1FpU2s4LldjHI18P3UutM61v7bfz+DGQI71Otsi1uQbtgRG9R10j7VllhLJH10CZq+yf/YNMt97/07sMVcYpe5wjuf8zE9bIzCGZWa3zLnVOps7X1LmcOs+t899oZhjNGsmZlHqOGc0+6TmZM1T32sVd91xdQX3k5vs+iPf9GS/89l1/Uq9RD1FfyC5A81+yK3SPSNk9upek7jPdd1r3pe5TrftY9zXpXte9b4S6JHVOoY4q3WeNOvAa1LlTdvVHTXGnCy10U0jfYFoEvVBoMaVeiLRYUy5y2ggpNw9tLsvNSJvVuqynYxV3CiyhgDMKRaEQlf+fvT9tsuw8rzPh/jWWSEkkMRZqnjEPBDEQQGGeCYKDREmWAHASQFKWLWswzUGySEpqt6huqUVLJK2OVof9kl8cwQ+OoBSM4K+pF9curvLCqvXss0/mOZlZYH24AqjKvffZ+3nu+15XZZ081YYutEEt2nCHFgaihQi04BEtsEQLOqeFpNNCdg4F9xwu5yOabKxDE5tVNHlaQhO2vaIJ7M8rrAf7wf5Ti/QGPTr6GMhTT31tmmXME47jeM6j/lQPud47wWtlHbI+l5B9MEJ9xvMyB5gx01q9PU+Z22TFbv5BJv5/HXLuJDm3kpx7js/KJOesyLnstJkOLQMEa9VoWQMtm6BlmWgZCJ6Vyk/lK9nLfpP3uASOcuaVv6/7ft3x+ydP4hiOxRfoH86f8wB3BXeIxN0jvSRxp2nO47grQXMqJ32sOZs7HTT3azSXhOae6acifVY0B15Cc27HXf3nQtxzc6EVQRZKKyYnC7EVq+NF3ppAeONAay7hzdiaVTRhhyXSDho0iQ+jNqygDTfRhiK0IQpt6EIb0qINd2hhIFqIQAsd0cJKtJBzWkiKFrCrcEFvSBhW0WRjHZrUrKLJ0xKarO0FTV5/nmFN2A/2n/qlb+jdvfoYyBG61rq0Gl2F98Aq6DOel7Xi2ZlNzEZmMvN/N/8gU86FJWjuNHJuJT7zkpyXTs5Z0Waz8Fnu5Px3WnZA5oxo2QSeYUnmn/CsVH4qXyXu5D9uccPNR+t+w6984KbJiXAWvIIaUf7PeYC7QnMJ4e4B6SeOO036TpK+lD6VpI+lr0Fzu+aASXNJSO+E5qjQnBaaAy+hObfjrn5N3H9GFgm0YnKyEFuxCi9waE0gsnFacwlvxtasokk77Ke4t4Eo2hCFNnShDWlog120MIAWIKKFjmhhJVrIiRaQTgvXOSTnc6Sgj2iisQ5NauZo4rSUJmvbponrzzNaF/aS+qG+6anzdz5UJQS28TGQjayXdfAaXULrhRHqNXqXZ2fOMOuYr8x18mM3/yCTz4Yl5PxJNLcaOfecNjOFz9jEZ7PTZrpoWQCZGyJzRmQuOS3ToGUgeFYqP5WvZDF7jRvgFjedvL/u95mPfn9yKtwHR6E2cIRV+Q/yBGguIdI/mqOI9Bp3niR9KX0qSR+D9Lbmds0Bk/RI0dyzOSo0p4X036U053bc1a+J+89oRdKKyclCbMUqssBbE4hsnNZcwpuxNatIYRfXxP1KWniIFjqihZVoISdaODotXOdwQR8hWZijScY6NKFZRZOmJTRR2zZNXH/eYV3YD/aSOqP26cO9/hjIEV4z6+A1upTWEyN4XtaLZ2eWMJ+YkcxoMmE3/yCTz4Yl+Oxp5Pxycu45PiuTnLNOm9HgszzJHBAtOyBzRmQuOZlnomUgeFYqP8lWspd9JsNxA9zj8D2/Wvf62IUvT+6E+0zHvX08jrAq/8FdIT3CSf9IP3HcaaC5j0hfak7luIuJ9Lbmds0Bk/RI0dyzOSqkz4rmwEtozu24q29F3FmA733vexd/+tOfXnzttdfqw7EJP/rRj6ZjxOuvvz4tSFs8LSwFkOd9+tOffsemUEDtGN9cNp2izOM+85nPXC6SVkxOFmIWqpMF3ppAZOO05gJvRGjNCi7qyRJx15Bp+DBqwwracIM2DKENUGgDV7QhDW2oixYG0MJDtNARLaxECznRwtFp4TqH5HwOF/QRTTDWocnMHE2YltIkbds0cf15h3VhP9h/apG+oHfPvfCtKiLb/BjIhtfMumS9rsJ7YRXqOZ6dmcCsYd2YsawP+bLTf5CJ/65Dzp8k55eTc8/xWZn4jE3ajIY200XmgMjccDxrnJZR0DINMv+EZ6Xyk3yVuJPpuAFucuyR3617fcv9b0yOhOfgIBwvF1DWZ/4LeYJwl3DSP5qjCHcaaO4j0pfSpxJ5mOPSDu50wl1wDjml09zTZd1pXgvNiZfQnNtxV9+4uD/33HPvEOEm7jT4j3/844tf/epXLy/CW2+9NR2PvLfFY1EZKpz3ta99bfo1i/+FL3xhOk/yzqDSMdqgL37xi5eP0eYyLDnu61//+lQAFMWXvvSl6TjkvRVSkoXYilVkgbcmENk4rbkgG7E1K7ioJz+v4t6CQLTwEC10RAsrkQHntHAUGapLcEFvuJzPkXKxLk1m5miytIQmaNumSevPO1ob9pL6oX7pp1tvv3Pxx0DSD9Qo9bOt/fXaWYes11VkP6yCNePZWTfmCfOL+cn6kAs7/QeZdoLPoMRnV9Jmn/BZmbRZK3w2JznXReaAaNkhMm9EyyjIPBOZf8KzkuxUvpK95DSZjivgJyef+8u6zzecfWryJY7BOagLzvOs1/8n6QvuEk76h7tJkl6T3pO4LzWnSq6J+//CXX2xuLcXSmhOZPgrX/nKZYFv4v6Nb3zj4g9+8INp47UILDjfpef3KZZcPBb1m9/85vR1iotfs/hs7ve///3p9ylGHcP/a4MoEo754Q9/OBUwr/Wtb31r+jWFLnGn8HQczZRFlHgRtiJ1ssCzARxvmmwqx5sQslEFzzhiN+LugwjasII23KANQ2jDE9qwhTagRRvq0EJAtPCAFjgiQ8ppAee0cBQtVOdwQR/hcj5Hk4t1aDIzR5OlJTQ52yZNWq/xTnGnzqhtem3uYyCPnbg0e+h7eoyap/ZUD77umyLrZyleq0toPTEHz8260cdaO9aFGcy8J2d2+g8y+YxYgs+gRHNrRJuBos1O4bPWaTNa+Ex3MgecliHQMgc8m5yWaZD5JzIvla/UPzlN3uMKOAv/Omrb5w8cOjf5EM7CsfgCteFZr/9P0hfcJRJ3kPQTJ73GnafhztScKrkaxR2aHy+hubdzhbi3g5z2InOMxJ3F5+0p/t12wXfdf/KTn0zn5uKx6Zyn77aDNoDvunPeq6++evkY3yA2k++6c8wLL7wwFRzH6bvtoMLgu+4c99JLL9VCEl6AkAWaZIFnAzjeNK2phDdha1SRsu5cE/craeEBLWxECynRws1p4ShaqM4hOZ/D5XxEE4t1aCIzRxOlJTQx2zZNWq/R3yZDf44+BvL001+fZhezhOM4nvNUP9vcX6+hdci6XYX3xCrUe6wBvX95/d6erczxKTt2+A8yrUvOISfnV5Lzz9G8bLSZCzmfnTbboWWBUG4kmTeiZRS0TIOWgcLzUvlK9tIH5D0ucdOxO/r+vi3zuBXug6vgFZzj+U+m6/8b8gVoTiHcQZqjiPSa9J4kvam5lSMvEy7tkNIO7n5zyCOd9E6RrgrutUn68FKaezv7Ju40Nt+V5/dzIZ5//vnpnDfeeOOKhWOYcB5f0yJrA1588cXpPP4wwDH5nnc2ExHnGL7GcOQ43hKjAlBhvPzyy9Nxn/3sZ2shiSzAVqROFnhrAuFN05pKeBO2JhUp68Klfbfi3oYUtMEm2jCENjyhDVtow1m0oQ4tBKAFh2hhI1pIiQw2pwWjk4G6iibqiQRhjiYW69AkZo4mSUtoUrZNmrAeBB599NFFtHM3BevDnrD/1C49Q9/OfQwkc4hZQK/SK9Qn5297f3X9dWm1O4f3xBLoPdaAXmY9mFXMROYwebDTf5BpXXwGNXKOOT77kpybTs5bp81qyLkuPAOSliGQeSMyn4RnWdKyEDwz2VNylx4gw8n+yS1ufaru78kX/mpyK5yG4/AIakL5r1zP/HfcGZpTCHeQ9BMnvaa5j5Pe5E7VcGkHl3ZIaQd3vzlc2EV6p0hXFe62TvrwUpp7O/sm7pJz/SCqMyfukvM5cf/2t789/XeVuEvOr4n7ammHJu3gQ6gNKWhDTbRhCG14Qhu20IYztIEuWghACw3Rwka0kBIt3EQLRaeF6hwu6CNS0htNKtahScwcTZKW0KRsWzRZ3S+alO+Edu2doDViL6kfapt+mvsYyONn7pnmCz1Pf3EO56oefO03TdbRUrxml9B6Yw71H73MerAuzDhmLLOc7NjJP8i0LjmHEs2vRs4/p81O4bM28RnttNkuWiaAZ4fTMgcyn0TLNNGyEDwzqX0Xd/YWBzn64Gfr/h55+IuTQ+EzOAfHywM85z37E3eG9AnHHaQ5ipDPiOY+TnpTcytHXiZc2oVLO7j7zeHCLtI7RbqqcLd1mhMvobm3c03c3/7//RB3hlAbWo4PujYYhQ/SNnxFk7dEgdFoAQMeUC3koIUmtPAXTTDgscceq1y4cGFtHn/88coTTzwx5Mknnxzy1FNPDXn66aeHPPPMM7M8++yza0HfzUGPbRvejrYu9PC60NN7CbNhv/nIRz6yFdprrQPrw56w/9QtvUT/3/XUm1VCzr7yd5MUMeOYH/QkvUKNqh5y/TeN19JSsm6XkP2xCtaAXmY+MHeYfcxhsoE1O33ujuEP+97x9L+ZZjPncK7PmJwVc+icET7Dkpx/TpudwmdtknNa5FxfQssQ8KxxWkaJlm2QOSg8M9lTspf8xgv4wwNCf+aZP6l7e/z+35ikmm+aUQf8wYX+Uf4ryzP/HXeG5hTCHST9JFnyByyx9A9XI/IPW6A/YIn2h6zGTv/A5eQ3M4W+6dnceI7m3s6+iTtFwdtU1hV3im5Tb5VhsO3XW2Wuifsl2hAUbXhCG7bQhvMqWghACw3Rwka0kBIt3EQLRdECdRUS9BEpCdugycscKUdLSRHbJimqe02T7W3QXnsJrBF7Qo1R8/QYM+K2l/unY/C+d4KY2cU8oL+oec5XTeQebBqvpXXI+l1F65E5WAN6mfVgtrCWzFjWijVDGE5f+Dd1Xc9//P+5eP8DD01rynmcv9N5ovMabZaJnH+Oz8wk563TZjVonq9DyxBomSNaToFnmtOyEJSX9AbZSj6T5XgB0on0nf3oP9S95ROY+E45+4+wcg6OoPxXlnv2J/IFSJ9w3EGgeYqQtEOTdeeauM/T3NvZd3Ff94dTKTrOm/vh1M997nOXj0lx9x9OpWk4br9+OLX9lZPwv6KC/Cssx//aq/21mNBfoSX7+VaZ1kiQTShaw4rW4JBDwmlDBXwIJW1oQQ45Jwdi4oM0yaG7Cv+D2Ij8Q1lDfzDbKQqnpbSAW0ILzG3RQnsvaBKxF7R7GaE1Yi+pH2qXXlryMZD0PMdyjmpvr/bXa2kdsn5Xkf2xBNaCfmVdmD3MM+Yma0ZO7OQfZFp3pnD8iJxjSZuFIuenyHnr+IxOcraLzAPRMkS07AHPKCdzTbQsBBc+spXsJaPJejzixkPH6p7C+667efIePAWP4BzPfuW6ft1wZ2hOIdxBID3Fcbdp7uOkNzW3cuRlQr7m6C0ywt1vDnmkk94p0lWFu63TnHgJzb2dfRN3Fkwf+8imawFY8LmPg2TT9HUKi0XmWmyuPg6SRvCPhtQGUSD+cZAUkH5NobP5XJ/CW/pxkFmAWaCJF3cWvpMNkw3leBNmgzpq6OTnVdzb8BctNKAFjWjhJFqoOS0URQvTOVLSG5LzOZpIrEOTlzmaHK2iidi2aLK6FzSh3kvaPTW0TuwlNUZd02erPgaS2UJv00PUL7Wz1/vrNbWUrN9VZH8sQb3IujBHmE2sFXOXeU/mrPsPMq07U3wWJTnHEp+BSc5PJ+euyDnt5HwXLRMg88PxzHFaVkHLNsgcFCnu5DD7SfZPbnHm4bqnZz76/cmf8B6OwyPwA2W/53rmvyNfgOYUIj0kPcVxt4HmPyK9yZ2q4dIOKe2wSXGHdE9wWXfcbZ3mxEto7u3sm7gDfx3I1/IfYPLvtvOdcR2jBeWvKfk9fdedxdd327kmv/Zj+DUb6d9t59dsNn+9y3H5DzBxHNdoReRkAbYiFVnYrfhFNkxrKuFN2JoUvKGTJeLuop4cBHFvg1m0YQ5t+IsWGtBCRrRwEi3URAtEp4XpHCnpDRf0EU0k1qHJyxxNjlbRJGxbNFndNk2k94N2bwlrxJ6w99QhPUFvrvoYSOYGfUqfUJteC7kH20Kvtw5Zv6vI/lgKvci6MCuYQawVM5XZTVas+w8yrTtXfBY1fJYlOQcdn51Jzl2Rc9ppMx48C5LMEZG5I1pWQcs2yBwUykvyk9xlL+kF9hOvOHzPr9b9PHbhy5M74TQcJ1dQ9nuuQ3qAkC9AcwqRHiI/aaTfNAcS6U3uVI0Ud3BpB5d2wTqtQl6ZpLSDy7qTbiuaEy+hubezFXGnKXkLCkKc8F1wNlUPJnkXCDPvq9NCSdz9Pe0gMffzJO2iHSNpB2245N2P41yKoxWRkwXYilRkYbfiF9kwranAGxBak0I2tHNN3K+khQa0kBEZTE4LNdHC0GlhOocLeiMFfUSTiKU0cZmjidESmoRtiyar26QJ9H7S7tFhjdgT9p+6pV/o2SUfA0k/0gvUJ/Wga/n6bxOvqXXIOl5F9skS6EXWhTVllrBWzEjmMhlA7qzzDzJp5rTZ0dAcGqFrNnIOOm2GCp+5TpvVwme7k3ngtCyBzB2ROSUy10TmoGjizl7iBXjHsUd+t+7nLfe/MYki/sK+4wrygJbz6QEivUE+kaSHpKc46TfNgYQ7EzS3clzYhUs7yOsc98ER7pWOC7tIYRcu607z4yU093a2Iu6N9lDQFgG0UHwH/l/+5V+mIm+LC20zkrapufGtOFoROVmArUhFFnYrfpEN05oKsgFbk0I2tLMbcdcAEm1IQRtq0IYgtKEJbchCG8qiDXNowx9aYIgWMqKFk2ihJloYOi1M53BJb6Sgj2gSsZQmLXM0KVpCk7Bt0ER1mzRxPgi0ewWtE3tJ7VDX9NI6HwNJrVM72le/7rbJulpK1vEqsk+WoH5kfVhX1oqZx7xltk95ssY/yATrzBYdO8JnWeIzMGkzVPjMTXxWO23GQ8sEkTkiMndE5pRo2QYtC4G9U4bSA+wjeY4n4CKnXvx23csbzz09eRHHcKzcYJTz+v0kvcGdwkkPaa4i0m/cfZL0puZWTnMzdzdojtdcMGlOCXJQp7kqNLeF5sJLaO7tHGhxZ0P5l0316TJtcaFtRtI2NTe+FUcrIicLsBWpyMJuxS+yYVpTQTZga1LIhnauifs7aWEhWsiIFk6ihZpoYei0MJ2jybojEVhFk4ilNGmZo0nRKpqAbYsU1W3ShPkg0e6ZNWJP2EtqjJqn98498kYVkDMf+b+n+cUMoX/pH2qX2tHe6rp7hdfWUrKOV5F9shT6kXVlHrBWzC/mJLOZfFjnH2TSPFo6W3wWNXKeOT4DE83NRpu9os1syPkuPAuSzBHRsgcyp0TmmmhZCE3c2Uc8ATfhX0dte3ndLecn58FNOFZuMMp5/X6S3uBO4cg/RHMVkX7j7pOkNzW3ctLLIP0t/Q6aCzbSKcGFXTRXhea20Fx4Cc29nQMt7ny33X9ItS0utI1I2qbmxmdhtAJKsgBbkYos7Fb8IhumNRVkA7YmhWxo55q4v5MWFqKFjGjhJFqoiRaGogXpKlzSGynojSYP69CkZY4mRato8rUtUlS3RRPlg0jeN2vEnrD31CD9QL+ee+FbVUBOPvqlaS4xG+hFeoTaVC1ozX0Pto3X1lKyjleRfbIU9SUzgbViFjH3mLmsI3my9B9kYm80d3J2jPCZlOQ8c3wGJj47k5y7Ts5rkfNdtEwQniFO5o5oWQUt2yBz0FGGkrtkN7mPQ9x07O0/8JZ9ROZxKXwGP2HP5QCjnNfvJ+4MkF7huIekpzjuNtAcyHFvam6VpJ+lvzXHSw8c0bzShV00V4X0WpEevJTm3s6BFvekLW7bhEbb1Nz4LIxWPIkXXytOJwu7Fb/wZmnNJLIBW5NCNrSzKXFvwwnaQBNtCEIbmtCGLLShDG2Qizb8oYWFaCEjWjiJFmqihaFoITpHSnrDBX1Ek4d1aNIyR5OiVTT52gYpqduiCfJBRvetdWIfqR3qlj7aycdAco1cd/1627QaW4XX8BJaryyF9aHHmRnMG2YYM5S5TU4cOnJyuN5nHv2d6VjO0azS7MkZ0tA8avgsS3IOOj47kzZ7hc9qx2d70rIBWpZAyx7InBKeaUnLRCA/yVYX98kpbnuu7uHJF/5qcibcheNwCDnAKOPTA4Q7A6RXOO4i6SlO+k1zIMfdyZ1qRPpZ+lv6HTQXbDS3bA7aXBXSa0Vz4SU093auibuRhdGKJ/Hia8XpZGG34hfeLK2ZhDdfa1DRmlpcE/d30sJCtJARLZxECzXRwlC0EJ2jiXoiOZ+jicM6NGkZ0YRoCU2+toEEcts0OT7I6L61Tuwl9UVN0187/RjIXHNdf9tkfS0l63mO7JN1oC9ZX+YCM4VZxfoxh5n/ZMzxD3+hr/nH/vHiuVsvzUrNMc2enCENn0mJz7Ik56DjszPJuevkvBY5352WDZA5IjxznJZV0LJNtEwE9o0ekLjjBHjH0Qc/W/fwyMNfnNwId8E38AQ5wCjj0wMceQOkVzjuIukpTvpN+k/i7tTcKkk/S39Lv4Pmgo3mls1B01NFc1toLryE5t7ONXE3sjBa8SRefK04nSzsVvzCm6U1k/Dma80pWlOLa+L+TlpYiBYyooUTtEBzWhiKFqJzuKCPSElvNHFYShOWOZoMLaHJ1zZwidwWTYyvBrh31oj9YO+pQXqBntzpx0DmmvtebBOvrXXIel5F9ss6sE6sMXODecT6MUeZ4+TG0n+QiXNZ96VzxmdSkvMs8Vno5Px0fOYmbWZDznfHM8HJHBEteyBzyslsEy0TgfwkW9k7shxHwDtOPPGVun833/nxyYNwFY7FDTz3PdOFO0Di7pBe4biLpKc46TfuPg13p+ZWSfpZ+ltzvOaCjeaW6Z/QXBWa20Jz4SU093auibuRhdGKJ/Hia8XpZGG34hfeLK2ZhDdfa07RmhqWSDuksIvdiHsbfqINTWhDFtpQhjbERRv+0MJCtJCBFkyihZnTwlC0EJ3DBX1EE/WkScNSmqzM0WRoFU28toEL5DZpUnw1wL2zTuwJe0/N0if06k4/BrKtu35/22SdLSHreRXZL+ugHmadmS3MK9aaWUwGkENL/kEmztNsWjJnNI8aPssaPguTNksh567js9rJ+e60bIDMEeGZ47SsEplvIvMQyEv2jGylF8hyHAEP4R9Zavt3/YkPTc6Dm+APuIHnvue6cAdI3B3SKxx3keYqIv0m/Sdxd4LmV076Wfpbc7zmgo30SmgO2lwVmttCc+ElNPd2rom7kYXRiifxwmvF6WRht+IX3iytmYQ3X2tO0Zoaron7lbSwgBYwooWSaGHmtDAULUTnULDP0UQ9adKwlCYrczQZWkWTrm2QArkNmhBfLXD/rBP7SN1Qz/TQbj8GMvE92SZZZ0vIel5F9ss6sMb0ML3OWrN+zDnmLPOc7FjyDzIx/ziX+bRk1uiYhs+yRs5Dp81Sobmb5LwWOd+dzAXRsgQyd0TmlNMyDjIPIcWdnMchbjx0rO4bvO+6myfnwTvkCOQ+548yPj3AcXdobiHcRdxRkvSb5kCOuxOkWyXpZ+lvzfGaCzbSK6E5aHNVaG4LzYWX0NzbuSbuRhZGKx4nC68Vp5OF3YpfeLO0ZhLefK05RWtq+HkV9zb4RQsLaOEiWiiJFmZOC0PRQnSOlPSGC/qIJg1LabIyR5OhVTTp2gZNIjdNE+KrBe6f/WAfqS3qnb7b7cdAJrkv28JrbClZz6vIflkHepN1Zs2YD6w384yZyZxmbcmi0eeA6x9kYu2ZdZpPq2aNz6RGzjRHc7CRc9RpMxhyXjs550XmgvAMcVr2QOaU0zIOMg9B4k7uks9k/uQVZx6u+8Z34fElXIb95Xj2ei7bwR0gcXeQTzTcRdxRkvSb5kCOuxOkXyXpZ+lvzfHSA0c0t2wO2lwV0mtFc+ElNPd2rom7kYXRisfJwmvF6WRht+IX3iytmYQ3X2tO0Zoaron7lbSwgBYuooWSaGEmWgg6LUTncEFvpKCPaNKwlCYrczQZWkWTrm3QJHKTNBm+muAZWCf2nfqjF+jT3X4MZOJ7sk2yzpaQ9byK7Jd1oDfVy8wHZgiziRnIDGZtp3xZ8Q8yMWNZf82uVfNGXx+Rc83xWZj4DE1y/oo2s4XPeKdlA2SOiMwdkTnltIyDzENgr8jVFPfD9/xq3bNjF748+RLegmvIC+ayHfj6CHeH9ArHXSQ9xUm/aQ7kpD+lXyXpZ+lv6XfQXLDR3LI5aHNVSK91mg+vorm3c03cjSyMVjxOFl4rTicLuxW/8GZpzSS8+VpzitbUcE3cr6SFBbRwES2URAsz0ULQaSE6h0J9RAr6iCYNS2myMkeToVU06doGTSI3SZPhqwU9A/tBzVCv9M+mPgbS8T3ZJllnS8h6XkXrmaWoP+ll+p31Y/4w01hTZjWZseofZGIuMzeZa5pRc/OGr82Rc83JeejkHHVy/gqf1UnOedGyATJHnJY/4DnltIyDzENwcSe78QGc49gjv1v37Jb735i8CE/BJdhjZX5mupMe4Lg7NLcQ7iLNVUT6TfpPkv7UHMtJP0t/a47XXLDR3LI5KKSrQnNb0Xx4Fc29nT0R9/Ywoi0CtAVri9s2odE2NTc+C6MVj5OF14rTycJuxS+8WVozCW++1pyiNTUcRHFvwxLacBVtKEMb4tCGvmhhAS1cRAsl0cJMtBB0WojOkaKeKPjnaMKwDk1W5mgytIomXdugSeQmaUJ8taBnYD+oLeqZ3trUx0AmuTfbwGtsKa2m58h+WRd6VP3MjGDGMJ+Yg8xh5j15M/cPMp257d5pD9gv9kGzKOeJ8JnU8JmW5Dx0fIYmOX9Fm9nCZ7zTsgEyRxzPHqdlFrSMg8xD5SV9QAaT3ewXDjJ6i9MNZy5MDoSX4A7K/rlsB3eAxN0hvcJxF2muItJv3H0a6U/NsZz0s/S35njNBRvNLdM/RfPV5raiOfESmn+LAynubbGgLW7bhEbb1Nz4LIxWPE4WXitOJwu7Fb/wZmnNJLz5WnOK1tRwTdyvpIUFtHARLZRECzPRQtBpITqHAn1ESnqjycI6NFmZo8nQKpp0bZomj5umCfHVAvfPOrGH1B59QC9u6mMgE9+bbZF1tgSv5SW0nlkH9Slrx7ozR1h75hpzlVlOhtx8+MTKf5CJfWC2aU6NZk7OpcRnWuKzMPEZmuT8FW1mi5zzwjPByRxxWgZByyzwbHMyD5WX5CoZTI7jBzgJ/zpq26/rbjk/+Q7egTso++eyHdIDHHcHd4rEXSQ9xUm/Sf9J0p/Sr5L0s/S39DtoLthIr4TmoNCctbmtaE68hObfzmJxbxdfQnsY0RahLRa0xW2b0GibmhufhdGKx8nCa8XpZGG34hfeLK2ZhDdfa07RmhquifuVtLCAFi6ihZJoYSZaCDotROdwSW+4oI9osrAOTVZGNBFaQpOuTdPkcZM0Gb6a4BlYJ/ac2qNH6NNNfgyko2O2Sau1JWRdz5H9si7qU/U0c4I5w+xi/ZnLZAOZdOzht+pe8A8ynT1/aa5yHjNM8yhnCvhMavhMS3IeOjlHnZy/wmd1knNetGyAliVCuZO0zILMN5F5qLwkc8lmMp69uunYHXWvkHk8Co/BO/AD5X3meeIOkLg7pFc47iLpKU76TXMgx90J0q+S9LP0t+Z46YEjmls2B4XmrM1tRfrwUpqDO5fFvX3RaRdfQnsY0RahLRa0xW2b0GibmhufhdGKx8nCa8XpZGG34hfeLK2ZhDdfa07RmhquifuVtLCAFi6ihZJoYSZaCDotROdQmI9wQR/RZGEdmqyMaBK0hCZdm6bJ4yZpMny1oGdgL9hzapXe2fTHQDq5P9vAa2wdWm2P8F7ZCd6r9DR9zyxhTZl5zFZmOzmy6h9k4ljO4Vxm1Wju6PdH5Fxzch46bZYKzd0k57XTZj14JjgtS0TLIMi8Ep5tTuYhWUl2urhPPnHbc3WfTjz7F5Mr4Sx4BvuqvM88T9wBEneH5hbCXcQdpeF+0xzISX9Kv0rSz9LfIB2vuWCjuWVzUGjOml7rNCdeQnNw55q4/4wsjFY8ThZeK07Hixpa4QtvltZMwpuvNadoTQ3XxP1KWlhACxfRQkm0MBMtBJ0M0FWkqCce+iOaLKxDk5URTYKW0KRr0zR53CRNiK8WuH/WiL2gZqhl+m3THwPp+N5sC6+xdWi1PSL7ZV28V9XXzApmDfOLWcnMZr3Jpbl/kIm5zfGcp1nV5o7PpIbPtMRnYZJz1GkzGHxWJ23WQ+aCyBxxPHucllnQMg4yD13cyW3yHt84+uBn6z4defiLkxfhLHgETqC8b5nupAc47g7uFIm7SHpK4n6T/pOkPzXHctLP0t8gHa+5YKO5ZXNQSF+F5raiOfESmoM7P5fi3jY9C6MVj5OF14rT8aJuRe94s7RmEt58rTlFa2q4Ju5X0sICWriIFkqihZloIehkgK7CJb3hoT+iycI6NFkZ0SRoCU26Nk2Tx03ShPhqgftnjdhD6ooeoEc3/TGQju/Ntsg6W4rX9Cpaz6xD9ivrSO8zT5hTzD3mMes9CdSKf5CJmcueaI612eMzqZFzzfFZmPgMTXL+ijazhc94J3NBtCwRmT8i80q0jIPMQ4k7+Utus0f4xoknvlL36OY7Pz75D46CR5D7nutkt2e6o+Ma7g7pFY67SHMVxx0n/SdJf2qO5aSfpb9Bel5zwUZzy/RP0Zy1ua1oTryE5uDONXH/GVkYrXicLLxWnI4XdSt6x5ulNZPw5mvNKVpTwzVxv5IWFtDCRbRQEi3MRAtBx8NzCRL0ERn6jSYL69BkZUSToCU06do0TR43SRPiqwHdP/vAflN39Mc2PgbS8b3ZFllnS8m6niP7ZV2yX+lr9oA1Zd4w35ivzHTyg6za7T/IpHk0Iuea47MwabNU5PwVPquTnPOiZQNkjjgtgyDzSmS+Cc9CZSXZST+Q4fgA/sE/stT26Lqj90yug5NwLOd4ru+luEPzFeGO0xzISX9Kv0rSz9LfID2vuWAjvRKag0JzVmh+C82Jl9Ac3Lkm7j8jC6MVj5OF14rT8aJuRe94o7RmEt58rTlFa2q4Ju5X0sICWriIFkqihZloIeh4eC4hRT3J0G80WViHJisjmgQtoUnXpmnyuEmaFF8N6P7ZB+qFOqVvtvUxkCL3Zxt4ja1Dq+0R2S/rkv2q3mYfmCnMKtaZmUwuTNmz4h9k4njmomZZzh/9ekTONSfnoeMzNMn5K3JeOznnRcsGaFkilDtJyyxoGQeehcpKspP8JcPZnxsPHat7A++77ubJdXAO3IBzPNOvifv/Ij2vuWAjvRKag0JzVmh+C82Jl9Ac3Lkm7j8jC6MVj5OF14rT8aJuRe94o7RmEt58rTlFa2q4Ju5X0sICWriIFkqihZloIegoOJfikt7I0G80WViHJisjmgQtoUnXpmnyuEmaFF8NcO+sD/tHTVHj9Nq2PgZS+N5si6yzpXhNr6L1zDq0nmU96X9mBvOIdWbGMtfJkFX/IBPHMkeZc5pZPn98JjVyrjmag42co07OX9FmtmizHpQHSeaI0zIIWmaBZ5vjWaisJFPJZfZmktYzD9e9Of2R/zJ5Eg7DcbgBvZQZ7r920gMcd4fmFsJdJD0lccdpDuS4O01rUBzLST9rDpeelx44orllc1Bozppe6zQnXkJzcOfnUtwhNz0LoxWPk4XXitPxooZW+MKbpTWT8OZrzSlaU8M1cb+SFhbQwkW0UBItzEQLQUfBuRQJ+ogW+kmThXVosjKiSdASmnRtmiaPm6RJ8dUA9876sNfUHPVPD27rYyCFjt0mrdaWkHU9R/bLurSeVX8zM5g5zDFmJjOabCB/5v5BplUfDekzqeEzLcl56PgMTdoMBp/VSc550bIBMkcczx6nZRZkvgnPQnKSPSFTyWXyHZc4fM+v1r05duHLkxPhKzgGx7OfmeH+ayc9wHF3aG4h3EWaqzjuN+k/SfpT+lWSfpb+Bul4zQUbzS2bg0L6KjS3Fc2Jl9Ac3Lkm7j8jC6MVj5OF14rT8aKGVvjCm6U1k/Dma80pWlPDNXG/khYW0MJFtFASLcxEC0FHwbkUBfiIFvpJk4V1aLIyoknQEpp0bZomj5ukSfFBR/fOHrDX1Cg9c+tdD1fxgN1+DKTI/dkGXmPr0Gp7hPfKTmg9C/Q3M4C5wjoz/5i/zHkyZe4fZDp9zzPTTOYczmVu+QzS/4/IuebkPHTaLBWau0nOa6fNevBMcFqWiJZBkHklMt+EZ6GLO5k97cvbLnHskd+t+3LL/W9MToSf4BD4gOe5slu/TtIDHHeH5hbCXcQdpeF+k/6TpD+lXyXpZ+lvkI7XXLDR3LI5KKSvQnNb0Zx4Cc3Bncvivkre28WX0B5GtEVoiwVtcdsmNHJDITc9C6MVj5OF14rT8aKGVvjCm6U1k/Dma80pWlPDNXG/khYW0MJFtFASLcxEC0HHpXwJKepJC/ykycI6NFkZ0SRoCU26Nk2Tx03SxPigw32zNuwBtUIN00/b/BhI4XuzLbzG1qHV9ojsl3XJfhXqceYG68y+ME+Z3+wBGTX6aMjTj3x+mtXsETNQc0szyGdSw2dakvPQ8RmatBkMOa8dn/FOywbwDElaBkHmlWgZB8pB5SS9QN6yJ3gArjH64eEbzlyY3IdjOJZzPM+V3Z7pTnqA4+7AdUe4izRXEe420BzISX9qjuW4m0H6W3O85oKN5pbpn6I5a3Nb0Zx4Cc3BncXiDu0FVtEeRrRFaIsFbXHbJjTapubGZ2G04nGy8FpxOlnYrfiFN0trJuHN15pTtKYGNT6krDsu6841cb9ECyXRwky0EHRcypfgkt5ogZ80WViHJitzNBFaRZOuTdPkcdM0OT7IcM+sDftGPVH79N+55/5TFY9NfAyk8L3ZFllnS/BaXkLrmXVoPStYW+YA68zMmvbm7bVnD8ic0dtlzrzwF9M8Z86yT+yr5hPXy7mU5FxzfBYmPkOTnL+izWzhM95p2QCeIUnmj2iZBS3jQDnYxB0vwD3411Hbvlx3y/nJc/AN9o9z2EvJurI7c10o/xvuDu4UibtIcxXhbgPpP0n6U/pVkn6W/tYcr7lgI70SmoNCc9bmtqI58RKafzsHTtyhLVhb3LYJjbapufFZGK14nCy8VpxOFnYrfuHN0ppJePO15hStqUGND03Yhcu6Myfuo98XGmw5ANuwhDZcRRvK0IY4tKEvWlhACxfRQkm0MBMtBB2X8iVI0Ee0sE+aLKxDk5U5mgytoknXNmgCuUmaHB9UdM+sP/tMvdEXt91x11Y/BlL4vmyLrLMlZD2vIvtlXbJfHXqcfWG2MJeYgcxY5jtZcvj0/XWf2L9TZy7NZM7RTMt5NCLnmpPz0PEZmuT8FTmvnTbrwTPBaVkiWgZB5pVQniXKO+UheUpPsB+TsJ64t+4JMo8/4S/4Bl5Aziu3Pb/5/0ZzAeHu0NxCuIukpzjpN82BnPSn9Ksk/Sz9rTleeuCI5pbNQaH5anNbkT68lObfQr6+VXGH9kDQFgHagrXFbZvQaJuaG5+F0YrHycJrxelkYbfiF94srZmEN19rTtGaGtT4kLLuNGkHDSMXdP+9ES7ujTYwoQ1YaEMZ2hCHNvRFCwto4SJaKIkWZqKFoONSvoQU9aSFfaMJw1KarMzRZGgVTbq2QRPITdIE+aCie2b9qRHqk345f/8LVTw29TGQkPuyLbzGltJqeo7sl3XIPk3U5+wNs4f9Ye2Z1WQEOXT24/9v3a9Tdz89zWXmKfOO830WzdFmm/BZmOQcdXL+Cp/VSZv10LIBMkcczx2nSTu0HAPPRfaBfiB7yfbJG25/vu7HiWf/YnIkXIXj8AL2ULnt+a08T5oLCHeH5hbCXSQ9xUm/Sf9J3J2gOZaTfpb+ln4HzQUbzS2bg0Lz1fRap/nwKpp7O9fE3cjCaMXjZOG14nSysFvxC2+W1kzCm681p2hNDWp8cFFPXNadFHLRjk000IQPuxyKGpptwEIbytCGOLShL1pYQAsX0UJJtDATLQSdFPNVuKQ3Wtg3mjQspcnKHE2GVtGkaxs0idwkTZAPKtwva8KeUUvUNj227Y+BBN+TbZJ1tgSv5SW0nllK69WENWZ2sN7MLeYj85UcIHdG73M/9eHPTXvFnGUOanblTGrkXHO4zog2S0XOX5Hz2mmzHjwTnMwRobxJMpcczy9H+aZcJE/ZC3Iejzj64Gfrfhx5+IuTC+Eq+AMuQD8ptz2/PdMdd4DE3aG5hXAXSU9x0m/Sf5L0p/SrJP0s/S39DpoLNppbNgdNTxXNbUXz4VU093auibuRhdGKx8nCa8XpZGG34hfeLK2ZhDdfa07RmhrU+JCy7qR0Cxd1/Rc4Z7rmvS9cPPviX06cefz3Lp764KsXT996/+XXy+ukxOdw1ADNQduGMrQhDm3oixYW0MJFtFASLcycFoSiyfkcEvQ5WtgnTRqW0mRljiZDq2jStQ2aRG6aJskHEe6VNWGPqTXqnt47+8rfVfHY1MdAgo7fNq3WVpH1vIrsl3VovZqwxuwP680esfbsATN3ypMP/nrdL97nzkxmznIO566aT0KzrNFmotD8bLQZDG1mC833pGUDZI4Il3Un88hRZiUp7uwDmYwD4Bknn/7Tuh+H7vrE5D24Cf5A3ivLuYbjme64AyTuDukVjrtIcxWRfpP+k6Q/Ncdy0s/S35rjNRdsNLdM/4TmqtDcFpoLL6G5t7Pv4v78889f/OlPf/oOvvrVr9ZF80Vl43/0ox+947xPf/rTV2wIBdSOY1O14RRkHvOZz3ymFk/ihZeFmWRht+IX3iytmYQ3X2tO0ZoavPkl6Q0JduKyLjiea59+6LfrQJp49bsXzzz9lemY03c8esXraNi5xEMbpsCwbYO5DXHRBj+0sIAWLqKFkmhh5rQgFC7lS3BBH9HCPmnSsJQmK3M0GVpFk65t0CRy0zRJPmjoXll79pjapFf24mMgIfdlW3iNLaXV9BzeK+vSejWhx5kFrDfzh31iRjJXyYwjZz5U9yvf586ecT7XmZtTOc8Sn4VJm6XCZ6/js9ppM15kLogUdpH5IlLWHc8pR9Lu4k5e4wD4x+gfxrr+2L2T6yCpHMveKcs9t8Ez3UkPcNwd3CkSd5HmKsLdBpoDOe5O0PzKuSbu/4t9FXdJ++uvv355AfR7Td61oAylH//4xxe/9rWvXV74L3zhC9N5Lu8MMB2njfziF794+Tg2m2HIMV//+tcvF8SXvvSl6ZjPfvaztYAcL7xWnE4Wdit+4c3Smkl487XmFK2pwZtf8tyQUI/QcVxner27nqrDaMjbocF35flYMt5refrs+em6GnggifdhqYHahi+DuQ1x0YY/tLAQLWCghZJoYea0MBQu5UtwQR/Rwj5JYViHJitzNBlaRZOubdAkchs0WT5IcI+sB2tPfVC39NC5h3+r9vMmPwYSfE+2idfYUlpNz5H9sg7Zpw16nLVmfjB/mFvsATOU2UwWrfs+97k55bOs4bMwyTkqfOYmbWZDzncnhV0oKxKXdcezJ0lhFynu5C55zT7ceOhY3Qd4//WHJt/BM3AC+on988wWmetC+d9wd3CnSNxF0lOc9Bt3n4a7E6RbJS7tcE3c90ncv/GNbwinGaoAAP3ZSURBVFz8wQ9+MG26FoDF/t73vnfxO9/5zhWLpgX95je/OZ1HUWnh2djvf//70+9TiPyejuPX2kgKhON++MMfToX9rW996/L/qyAoOh1DU2QBOV54rTidLOwsfMebJRvJ8eZrzSm8mRMfAC7rjgTd0e/zX53Pa/GdtnOf+Kc6jNbh7Ef+r+ntNafv/9jFM7d9aHodCbwkXvhw9QHsQzqHeRv+0MJCtJARLZighZnTwlC4lC8hJb3Rwj5p0rCUJitzNBlaQhOvbdBEctM0WT5IcI+sBftFDVHX9NS75WMgIetrKV7LS2g9s5TWqwnrzCxgfjBfmE3TXr29F8x78mX4PveH3phmLHOUWejzK2eT0NdHaA4mOT+dNntFzmuR893xHHA8KxzPE6cJu/A8clzcyTD2gOyevOHchboPpz/yXyYfwmM4jj0j4zOvhbI8cQdI3B3SKxx3EXeUJP2mOZDj7tTcKnFph2vivo/i/s///M+T/GkB2CDetjISdzacr/NddH7ti8933X/yk59M37WncHQcX/PN5LvuHPexj31sOobvtrPxXhR8151jXnrppSsKyPHiy8JMsrBb8QtvltZMwpuvNadoTS18ADBYGi7sknWH6/A6R4+fvHjm5f+zDqNd8+p3L5595qsXzzz82sWzd12Y7kMDkQHpQ1SDliHcBja04Q8tLEQLGdHCSbRAEy0MRYr5KiTnc7SwT5o0rEMTlhFNhpbQ5GsbNJncBk2YDwK6P9acvaXO6IVbb7/zXfMxkJD1tZSs5zmyT9Yl+7RBj2seMF+YTcgre8GsnjJl9D73Z/5kOoZjOYdzV80pfb3RZqHw2Znk3HVyXgsX9aTNf0hhFy7rjvIlSVl3JO7KTfqCPcAfjtz7a3Ufjl348uRD+ApuwfFkvPLac5v/H5Ee4Lg7NLcQ8hBoriLSb5oDOe5O6VUN9zO4Ju77JO40Nm9Tkbyz0Hy3nV9T6LloLCbDiHPeeOON6de++C+++OLlt8EwvDhOb53xzUTG9XYcjuH97CnuL7/88qK3y3jxteJ0srBb8QtvltZMwpsPWoNCa2qhAQAS8UTCLvxrXEPNf/qp/1gH0Vb42dtrzjz6OxfP3PvsxbPnb5uGJGhoauD6UNbQzuGuAGhhIVrIiBZOIgPNaWEoFMBLcUEf0cI+adKwDk1a5mhCtIomX9ugyeQ2aNJ8END9sebUBnVJn5z7YP8Yu01+DCTkfmwLr62ltFqeI/tkXbJPG+pz1py9Yv6wX+wFs5s5Pfw890/805QDzE5mJDPP55fPJuGzLPEZmOT8dHLuOprTSc5zRzM/8VxwlBtJk3ZQ3jRS3Mljch1/OP7o79d9OPyhT0/Og5fgDhyvHPe8Bs/yxB3ASW9wp0jcRZqriPSb9J/E3Sm9quF+Bi7t4I4n3A/ncGEX6Z/QpB2a30Jz4SU093b2VdyBxkeekWTgO+0sRFs0FlNyLnEHLb6Lu/8/X/PNlLj/9V//9fTfTYk7tAIVWdit+IU3C7SGgmzA1qTQmlr4EHAhd5q06xyuzz0ev/836hAC/jGJWz70uYvHn/6z+vVNwdtr+Hi6Mx/6+MVzdzx4xXfjfQhreOeQb2EhWsiIFk6ihZrIIHRcypfikt5oYZ80aViHJi1zNClaRZOvbdGEchs0cd5vuC/WgH2ifqhZ5Obd9DGQkPW1BK/hJbReWYfWq4n6nFnADGH9mV3Tnr29J+wNeTR8n/vtj0yyyfGc5/Mr5xPoaw3Nv0abocJnbtKkHXKOC835hkQ98ZxwXNadlHUhaZe4k5esPxmPZ5x68dt1D248+/jkNhyDK5D1ynHlrsg8d9wBHPmCSK9w3EPSU5z0m/SfxL2puVXifgbXxH0fxf2tt96aBPl//I//cVngeV86RZKLxmK+W8SdAdQGlsgh14Yi5BBNiRMa5qtoQQAZHByroc2z3PbAS3UAicP3/OrlPYSbzzx88ch9vzm913IUIJvg1o9//+IdL/3ZxbuffuviBx95eXoGhShhjRxIUB577LGLFy5cuPj4449PPPHEE1fw5JNPDnnqqaeGPP3000OeeeaZWZ599tm1eO6552bhrWTb5oUXXlgL+nVd6OO9gnmwV3zkIx85UHBPrDf7Sr3SJ/TR+Vf/S+05fmAVYWLu0F/0DXXM+dq3fOYRuQ/bxGtrKa2W5/Ae2Rbqc2YB686eMc/YC2Y3kotUnn22fwzhbRc+O+0dfzBhHrJ/mmE+l4TmWCPnoNNmqPCZm2g+J9zrulDLDf+Dq6M/UCb5h0Dhf7hj7VlX8p0/HCDyw7eanf3gJN6IP3/A4Byydp0sB45vpDe4UzjpIe4oif/hCvIPVs46f7gaseQPW+0PWY38Axew9on+EJb4NzYdfZOzOfEczb2dfRV33uPO+8gZMPqTC4MHYW7yjvBRdP5WmZG4U7R7/VaZd7u46/85jtfivniOO+59dPaHUfnrQN8r3wv9afnm43dePHLXKxdPPPbvL55++W/rdTbB+V/9/1287ZW/unjXs//24gcf/+TFBx++9BYAhqyGMwNdYZCh0UJGtHASLdREC0PHpXwJLumNDPpt0KRljhSipaR8bYsUym3TBHo/4F54ftaa2qHOEZX7H36m9hecv/OhaS4wK5Ag6p9ztc/5rHPkPmwLr6l1yDpeReuVTaM+ZxYwP5gxzC5mG3OcfEFWznz4M3X/bn3hG1O2IJvsH3OQfR/NKp9lSc5Bx2dnknPX0WxOUsqX4LLuKAuSFHaRwi4k7spPcpPemNb/zsfq+iPzuA/Ch0AituwZ52Zer6K5AMgXRHqFSA9xR0l4LqcJuzhI4p7CLq6J+9uktFMUSDPy7H/lAHwXHqFn+IzEXT+c6uLuP5xK0eq4lEX9cOrnP//56ZhN/XDqOuIO7a+bhP5qSrS/woL8K6/212KQf4Xm+F+7qdBG6DiuyesfPnr84umX/roPoLfhn23+xff+8sX3vOc9F9/73vdOqNYSvsZx07G/cv3F6049evHQB1/f+ttrzr3yNxfPPfDq1MQ0O0PBh4wPozawRA45Jweik0M0yaG7ihzeif4AtgrCZqfou0xLIeB2QgvLbdECe5s0cdhruA+enbWmdqhl+mMvPgbS137beE2tQ6vlObJP1qH1aMN7nbVnhrBvzDLmG3OcTDl8/tG6h/k+d85jH0fzymdZ4jMw8dmZ+Mx1fC4nKYNCotdI+RMuf05Kn0jpE5I9SRx5y9pPrnB7/xkRMhMPwkk4Dh8g2zOrhWd5kh4g0hvcKRx3EEhPcdJvmgMJdyZobuW4mwl900+44wm54RzyyMTdU6SrivRb0Vx4Cc29HTnTVSPubBg/wKqPg+T3WHw21z8OMn+tjaRI9FGPNJR/NCSbz/Upup18HCS0IhVZ2K34RTZMNpTjDdiaFLKhHR8CLukNjuF6vC73eerJL9fhA2c++v2Lv3zdsUnEVTu510JFznGqRZDswweOffDizXf92vQT91t5e82jn5uGMAOaga9A8OBoISNaOIkMNCeDMHEpX4IH94gW+EmTh3Vo4jJHE6NVNAnbFk0ut02T6b2Ee+DZ2U9qizpHbN5NHwMJWVdLyPpdRfbHurQeTbLP2TNmCPvA/GLvkEiy4pYjx4Zv1fD3uTMD2ffRvPJZlvgMTHx2Jj5zHc3khsu604RdSNSTFHaRwi6atEOKO71BnuMORx/8bF37Iw9/cfIdfARv4Hj2K7NaZJ47yv/EnSF9wnEHgfQUJ/0m/cdJb0qvSlzYhUs7uLCLlPSGy7rj7imau0D6rXAHXgd37ob8aM/FnQVDwBF0/kpPC8AgQOj94yD5K0a9tYUF5a8o+bV/JKR/t10b4sfxazZS323nmmw2fx3LMf5dd323nfNbETlZgK1IHS/sVvwiG6Y1lfAmbE0qWmODD4EUdfCvczyvwz2u+mHU9x+9bxJu9p+91R54s4EaTM3izcC5qj3VKHDd99105uKN55+/ePTD//biqZf+pt7HWvApNedvmwYuw5uhr1BQcLSQES2cRAs1J8PQcSlfQoZ3o4V+0uRhHZq8zNHkaBVNwrZFk8u9oAn1XqDXZ2+oB2qRXni3fQwktNpahdfuElqPrIP35ojsc+YBe8CMYUYhq8gkeUAGnXruW3UfTz34W5NwIqvMQc23nFU+wxo5Bx2fnYnLuqN53HBZd1LWRcq6k8IuUthFCrtwcSc/WXeyE884+XT/GYObb39lykGOwRnIeOW3MjozuaHcb7gzpE846SHuKIm7DaT7OOlNza0cybpIh5BHOPLAVUjUE/mnIzdJ0m+FO/A6uHM35EH79sOpvM8dcXYQdF8sibu/r11SLlLaRTuO67Gx2nDJux/DeRRIKyInC7AVqeOF3YpfZMO0phLehK1JRWtu8CEwknYdy2tM93Rb/4cjxE13fOyytLOHrLfWK9eBX/P7fF1NqcZTA3lzcE3Vo+qW1/rl97993pkLF2+5/42LJ575Rr2vVfCPPSmwGO4MfgWDwqMFDbRwEi3UHA/DJMV8FRnejRb6SZOHdWjyMkeToyU0EdsWTTD3gibW24bX5ZnZG2qGOqUf9uJjIH3Nt03W01KyfleR/bEurUeT7HPNBPaO/WD/EEpmOjlz7IE36l7q89w1B5l7mmM+mzS/RuQcdHx2Jpq1iYt6IlFPXNadJuxCop40aYcUdkGWuLiTn6w7GXf21f9a1/76Y/dOuUcWko9kvPJbGa1cBmVzkvnvuDOkTzjpIe4oSWb6HO5Myv45JOxC7uZI2EW64Ag5peP+6aSwC3daxx14Hdy5G/KefRP3tgjgi8VbZ/7lX/5laoC2yG0zGrmxbfOzQFoROVmArUgdL+5W/I43TGsq4U3YmlS05gYfAhJ2Hw4co2tMzXvyztm3qhx5+PeukHbWRs+ke/b/Ttd9++tqeq0na6xGZQ+152oiakg1phpVLcN1x++/eOjuTy1+e82Zp78yPTtDlwHOgFcwKDxa0IgWUKIFm/AwTBS+65ABnrTQbzSBWEqTlzmaHC2hydi2aJK5lzTB3ga8Fs/L+rKX1BQ1TE9c+xjIS2T9riL7Y11afybZ58DeMUfYD0QW0WTGMXOXvM+dPWf+Md9yXvkMSzT3Gjk3HRf1RLM4SVl3XNYdSXrShF2ksAuXdcfFnRylP8i4Gw8d6+v+Nu+//tCUdWQfmUg+kr2e0fp/8Cx3lNkN7kNw/RHUiCM3abjbpPckynfP+TnSy9LbIP3O3W8Od0n3i0Z6qkivFXKTdXHnbshvDqy4s6n866Z8t51ft0Vum9HIjW2bnwXSisjJAmxF6nhxt+J3vGFaUwlvwtakojU3+BBo0g5q8CU/jPpLv/L+ac/ZL9aZdeEZuEZ7Tb0O96jn0LOxDlovrqN1Z2+0j9SA6oXaoa5Ud1671Pflt9c8+gf1/gmsk6cvDVsGMoOc4U84KDxa2IgWUqKFm1AQjnApX0ILcKeFfqMJxFKavKyiCdIqmoxtkyaae02T7U3gr8Gzsr7sJTVI7SMvZ1/5u9o7Jz74a1MfIyz0DHVNrbGv66ydjt0rsp6WkHW7hOyPdWi92cg+B+YB+8cMYo6xh0vf584cZAZyHvMt55V+3cj55+TcdDRnGxL1xEU9adIOLuuOi7qTsu6ksAuJO5lKb5Bpkwucf7yv+Ut/M2WYcpP8U24qK/dL3N1NGu426T2JfEm4UzXSy5q7yQdEc8BG+qT7ROKO6qTXCnnIuri3NA68uPPddv9oyLbIbTMaubFt87NAWhE5WYCtSB0vbmgNILxpWlMJb8LWpKI1N/gQaOLOddW4q34Y9X03nJjqhD1kjVkTzuMafn2CI/HX9vvj3jmfZ9V6cE3Wk+uzD9ov9pC9pi680ag16pB7428D+MPF6DvwJ+56droPBi+DnOGvgCA8WtiIFlKihZtQEI5IMV9FC/CkBX/SJGIdmsDM0SRpCU3ItkWTzf2iyfdOyOvqWdkT6oAapf75qMfWM3D8zD1T3yAy9Al1Sw1of/I1Rui194Kso6Vk3a4i+2Jdsi8brceBecBesIfsCzNtyfvcTz/029NcRlqZgZpvPq80vxo5/5ycm44kvaE5nLioJ03awWXdSWEXKesiZd3Rd9vpC7KM7Joy8d5fq2vO3wyTV+QYx3E82ce5ymRlpPCsdDz7E64p0icc5a0yd0R6TXpPwrM56VWJO5lyPkm/S/8bkT4pd2jIJ5L0WpEevBR37sa+izu0hWiLBm2R22Y0cmMhNz8LpBWRkwXYitTJAm9NILxpWlMJb8LWpKI1N/gQcPga5/Ea3OuSH0alhtg/1pv14Tm4L67HwNF3IBxCRPBribz+n/M0rHTP3JeGjg8V1liDQA2u/ad+qDfqmPscfdf99BN/NL0Gr8/AZsgTAAQE4dHCRrSQEi3chIJwRIr5KlqAJy38kyYR69AkZo4mSUtoUrZNmnAeBJqUN9q5Ds/IurIn1Ar1Sx9s+2MgfY33Aq+hdci6XUX2xbq03kyyv4VmAnOG+cU+IpXMU2bmqve5I6ecw7maY5pLPsMSn31Jzk1Hkt5IYRcp64L7HpHCLlLYRQq7SFl3PMPILLKKbOLfNmlrfst9vzXlFNlFlnG8slsZqiwUysSE80a4M8gjGvIPz9hGeo07TyO9ST41wp1Mue40t1Pur6I5pTunk54q0mlFc+ElpHcn8vVr4v4zskBaETlZgK1InSzw1gTCm6Y1lfAmbE0qWnMLHwL6L+dw/el+bh38YxE/48bbX53qh71mrVkbno/zuRbDhiEGLurggy6/JnSupF7D0O8VNIg0aLgHDQb2l3ujjrjPG84+VZ+FHxriOrwGg5lhTggQEIRHCxvRQkq0cHNc1BOF71JagCct/JMmEevQJGaOJklLaFK2bZp4vlvg+VhX9pB6orbpg21+DKSv7V7hNbQOWberyL5Yl9abSfa3wx4yR9hH9oe5xvxkTg7f5/6xf5zmK3vK3mv2tdnVyPnnaF42XNSdlHVHop40YRcS9aRJO7isO55fjmcW60imkElk0akXv13X/Mazj09O4/mp7OYaS6UdlIkN+YLycoQ7iLykIZ8RzX2c9Caed470svS25nbufnOkT0J6p2iu2pxWuAOvQ3Nv5wpxh3agaC+yhPZQoi0GtIVri9w2o9E2NwsgC6QVUeIF2IrUyQJvTSC8aVpTCW9CaI0KrblFDgGO51rTvaz5w6isG8/KfXMdrs3wchH3ATcafvn7fq7+fyTzoGdgjbgX1pv9Yt+5z/ddd/P0NwXtmY7f8cR0DV6LYc6gV0i0sBEtpEQLNydl3XEpX0IL76SFfyMlYl2ayMzRRGkJTcy2SZPPdwN6PvaC/af+qPttfwykjtsrWg0twWt1Ca0n1sF7cY7W44KZwJ4wh9gfRJR5yXw8dPjocF9PnrtvmrHMQM2+NrsaOf+cnJtOk3bg9Uc0aYeUdcdl3UlhFxL1xDPKaeJOBuEZo9y57pbzk6uQUxxLdilDYRPizn047hKJO0j6iSOfEek9iTuTu9SI9LL0tvQ6SP8b0ZzSndNpntqcVqQHL6W5t7O2uEN7oSW0B4O2GNAWri1y24xG29wsgCyQVkSJFyG0QhVZ4K0JhDcNtMaCbMTWrNCaO9FxXIfX5IeXVv0w6nt/+dLbT9gf1pTn5FyuxXCRVLt4O6Nh2H4/0TV0baGB6d+V55lYV/aI++R+Tzz1J/W5Tj7y5nQO12FoM+gJAkKCEGmBI1pQiRZwQpLeSDFfQgtwp4V/o8nEOjSZmaPJ0hKanG2bJqBXO3o29oI6oTap/W1+DKRecy/J+llK1usqsh/WpfVkI/vbYT/YR2YQMwxBZbYxo8mh4ee53//JaY6yr9SA5pvPrYbPvIbPyySFXbioJxL1JGVdpKw7EvWk5Q8ogxKJO31BlpDVZOPNJ+6ta803x/AhsomMIqvILM6VqF8T90ukt8nnnOaAjeaU7pyiOSqkz4rmwEtI307c1a9qcYe2IUnb3CyALBBoheR4EUIrVJEF3ppAeNNAayzIRmzNCq25E47jGrwe97fkX0alZtgv1pj14N65Btdj0DD4GWBN2qENQxgNztHvJ1xbEq8ByvNxf9wn93vo9pfqs5396D9Mz8C9cy0GOkFASBAiLXBECyrRQk40YXdcypfQAjxpApA0mViHJjNzNFlaShO0bdNE9GqGZ2It2TvqiLql/rf1MZC+lnuF18y6ZL2uIvthXVpPJtnXCfvIDGFvmF/sE/ORGc08HL3PnZ/3YW4yAzmHc1fNMeCYEW1mCkl6I2VdpKw7EvXERT3JfBGeLY5nmUM/6JtHrDOZOvnB7f0PwHwTjBzFQ3AFz9H9EHd3D+B+RqTXpPc46UvuUo3mZOltze3c/eZoPtnc093UaU4LzYGX0JzbcVe/Ju4/oxVJKyYnC7EVq8gCb00gsnFacwlvxNasYtTg+q8amXs79sFfrwMG8l9GZX1ZK87jGlzPpR3acIM2DEUboDAasPn7XEOvI3nn/rhP7ve6m4/X54MTtz48DUfO5boEgcKihY5oYSVayIkU9cSlfAktwJMmAUmTiXVoMrOKJkxLaJK2bZqMXs3wTKwle0fdIU300rY+BlLH7CVZN0vJOl1C9sO6tJ5Msq8b7CV7w4xin5iNzEOyZfQ+d76BwQzkGyAIL7XA+Vxnbp7l3HN8ViYu6onLuiNJb6SwC0l64tnheCYlypfExZ1sZZ3xg6MPfrau9ZGHvzg5Dh6CK3C8slSivlTclfcNrinSIxx5h2iOIuQzIr3HSV9qTuW4i4n0tuZ26X+N5pKQ3gnNUaE5LaT/LqU5t+Oufk3cf0YrklZMThZiK1aRBd6aQGTjtOYS3oytWcVck3Pu5QZd8MOoo/e1c82U9tF326ENQ9GGKIyG7uj3gdfiXhh43Cd7RV2cfPab9RlPPvzZ6Vk4h/MZ+IQBYdFCR7SwEi3khEt6o8n5HC28kyYBjSYU69CEZo4mTUtporZtmpBejeh52AP2nbqk3rf1MZB6vb0ma2YpWaeryD5Yl+zDEa23E/aF/WQOsafMNGY0c/+Wo2/LedlbGL3PfW6e+cxLcl46KesOr91IWXdS2EVmhFBWJJlLTuaZYM1YX/KGfCVX8YWTT/9pXeebb39lchllKbmuzOYa9Ng1cb9Eeltzu/S/RnqkSO+E5qjQnBbSf5fSnNtxV78m7kYWSSsmJwuxFavjBd6aQGTjtOYS3oytWcWowdXE0z0t+GHU97znPVMtsCesI8/NPXIdBkpK+5y4QxuI0IYotKELo+Gs87gPhh/3ybOy34fv+dX6nHzEHWvDs3AvXIcwICxa6IgWVqKFnOOinjQ5X0ULcKdJQKNJxTo0qVlFE6clNFHbC5qYXm3wHKwh6099ULP00jY+BtLXbi/xWlmHrM8lZB+sS+vFRvZ1wp4wQ5gx7CkzjP1iPjPjmIWjn2Vq73PXnMv5JTTvGjq/0YQdXNQTF3XHsyBRLiTKiSRzSbQsA3LGxZ28IdPxCT61rK3z9cfunVwGp2A/6CtlNte4WsS9OY+TvpQ+laSPpa9Beh00B0zSI0V6JzRHhea00Bx4Cenbibv6z4W4Q25uK4IslFZMThZiK1bHi7w1geON05pLeDO2ZhWtuTlHjcknDCz5YVTqhD1iTVkDzuU6XJdhBfst7jmkOY9rck/cJ8/Mvd905O1BW54V9N1E7pFrEAiEBWHSggdaWIkWck7KeuJSvoQW4kkTgaRJxTo0qVlFk6clNFnbK5qgXk3wDKwhe0b9UM/U/aY/BtLXbK/xWlmHrM8lZB+sS+vFJPu5wV5qhrBHzC9mI3ONWTjN7w9/oe7xmSf/eJqBzE7O0eybm2eadw2flYlEPUlZd1zWHc+ARJmQZM4IzyTHM8xxcWd9yUby/qYjp+saw/uvv/Q3wDgE+0Gu01uS9JR24NoNZXtDngDpEY67B/czhztNcx4nfcldqpE+1pwtvc6db47mktDcM/1UNKeF5sBLaM7tuKtfNeIObaHbpjRyg1sRZKG0YnKyEFuxOl7k0BpBePO05hLejK1ZRTY2x6sxubeTT/yHOlTAfxiVfWM9WR+egXvguhowKe2iDTloQxHaEIU2dMXcoOaa3Af3yT2zX9TByef+sj7zyQdfn56Lc3hdrqXAaMEjWmCJFnTCJb3hUr6EFuJJk4FGE4t1aGIzR5OnpTRh2yuaqF4N6P5Ze/abeqPON/0xkPr9/aDVylK8NpfQemAdvPfmaD2dMAs0Q5hBzCjkln1jFk4ZcMezdY9H73MfzTP9fsNnZJKy7mjmNlLYhc9/x7MiyZwRyqOkZRko/8hC+oOsIV8PnbtQ1/jUS38zOQ9ZRCaRx2SzMlW5qv8HvjbCMz9xV5A/NNw93EmS9Bl3nYa7EjSnctLHmrO500F634jmks05If1UpM+K5sBLaM7tuKtfE3cjC6UVk5OF2IrVyUJvzSC8eVpzCW9GaA0L3tRqXF6H+1rnh1FZc9aG87g3rqfhou+2S9adNuSgDUVoQxTa0BWjYc1/OZfX4x65Z9afPT9y/2v1uc+8+H9Mx3E898N1CAUCo4WPaKElMugcheuIFPNVtBBPmgw0mlysQ5ObVTSBWkKTtr0kZfVqQPfOulMX1CO1vsmPgdRr7BdZJ0vJulxC1v+6tB5sZD83NA+YIewre8UMY9+YbWTBOu9zR6ZH88xnXeIzMklZdyTpiYt6khkglBMN5UuSuSQyxwRrxbpK3MlI3ODIvb9W1/fYhS9PzkMWKVPZE86VqG9C3OUHIj3CkXdAeomTPiPPGZG+1JzKSR9zVxPpdc39GumR0JwT0k9Fc1pI/11Kc27HXf3nVtwhiyALpRVT4oXYitXJQm/NILx5oDUYZEO2pgU1tZqW15juafSv5/0MfhiV97Wzj+wB68Szcj7X4rqSdmjSDm3IQRuKog1SaIMXRsNa/+WaDFbumftn/246dkd9bjh+5o7p2bhPzicUCA0CpQUQtNASGXRJyrqjAF6HFuRJE4KkycW6NMGZo0nUUpq47SUprQcd7pl1Y5+oG2qVet/Ux0D62uwHXhvrknW5iqz7ndB6MMk+bvgsYIYwY9grZti0v2/vH5lAFi15nzt7rdnX5hm/NyLnpOOinrisOynrjmZ/wjM3Ml+czCSROSZc3FlbspucOfH4H9f1veW+35pyFd9gHzheeS1p30txd+cA+UjDXQbSdxJ3JXeoEelj6WvN6Zr7NZpLums6zVGhOS2k/y6lObfjrr6v4g5tQdriQVvstimNtslZCFkorZgSL0ZoBSuy0FsziGyg1mSQDdma1uEcrjc12vG3h/fMD6MefujfTNJObbAvrBnPyP1xHa7HIJG0M7SatEMbctCGomiDFNrwhTasQV/nmtwL98z98yw8E39d2Z7/5P2fmoYh5/C6XIvQIFBaAEELLZFBl6SsJx7ES2hhnjQpaDTBWIcmOatoIrWUJnB7iYvrQYf7Zc3YJ+qM+qbeN/ExkPr1fpF1sQ5Zj0vIul+X1nuN7OOGzwLNEOYQ+8ssY66xj8zzpe9zZ/5pzuX88lmX5Jx0JOmJi3qSsi408xueFY5ni+NZlGSOAespcSdjyGPWFk849eK36/reePbxyWM4hkxWrrIvXOPdIu7uSOAONSJ9LH3NXU4092ukR0JzTkg/heayojnwEppzO+7qB1LcoS1gW+y2KY22yVkIWSjQCsrJgmxFK7LQWzOIbKDWZMIbclXTci1ee9UPox5/5s8vvueXfmWqC/aJNeR5OZfX5LoaJLsRd2iDEdowhTZ8oQ1r0Nc5l9fjXrl/noU9Hn2+7unn/3w6juO5H65FOBAqLYBECy6RYecoXEd4EC+hhXnSpKDRJGMdmuSsosnUUprE7TUuxwcV3SvrzT5Th4jRJj4GUtfeT7Iu1iHrcQlZ9+uSfTei9XLis0AzhBnEjGKOsX/MbzJh1fvcmZvMUGrDZ5xml37d8NnYcFl3XNQTl3UnZ7+jHEgyX4RyKPHscsi5FPcpYw4dnt5y2tb3ulvOz2brOuLOeSPcAdwdEneOqS6Kmwju12nOI9KT3KEa6WGQvtaczp1vjuaSzTmbm0J6rNMceAnNuR139XeIO7QTnPaCS2gPCG1RoC1iW2xoG5O0Tc5CaMXSisrJgmxF63iht2YQ2UCtyYQ35ahhOU6NyH0u+WFU3tfOHrHGrAX3zHW4LoNCg0XSfpDFXf/lutwn989asIc3nby/rgPv5T1+6vz0jNwn5xMOBAfB0kIIWngJBV1D4TrCg3gpLdCTJgZJk4x1aaKziiZUS2kit9e4JB9EuEfWirWmFqhRemW3HwPpa7BfeC2sS9bhErLed0LrvST7t5FzAJghzBn2jBnGLGUfyYe597mfOHvnNDM5nvnH7Mt5pl83fDYmLuqJi3risu743E+o14Zni5N5JDK/BDnHOpEX5At9QuYfOnlfXVf+tpt8xUXIZPKIvVC2Kl+vifsl0tfS56C5X5L+KJpzNjcFd1inue9Smm877uk/N+IOuclZCJDF0orKyYJsRet4obdmcLyBWpMJb8rWrByjJuQe1vlhVNaddeHZuAbXY0j4UJG0i5R20YYdtOEIbZhCG76iDWzB17ku98L9sy48F7Vw5pW/r+tx8oOfmI7lHF6b6xAcBEsLImjhJRR0I1LWnRbGq2ihnjQ5aDTRWIcmO6toUrWUJnP7RQrzQYF7Y63YH+qF+qVPdvoxkAdp3XU/OyHrcAlZ7+vSeq6R/dvIOQDMEGYMe8YMY5+Z1+wnuTD6G9iT9740zXlmJ/NPs8/nmeZbw2dj4qKeuKg7KeuOz3tH+dDIfBGeRU7LMGAt+YMQa0VGkpeTE9zef8ibj1jGdchX1p989nxVxur/QZLe8OxP5ALygRHyDeE+krjLyG9GyI9EcyknPcwdTaTPQfO+pDkkpG9CeqloLgvpvUtpru2kp18T9yALphWVkwXZitbxYofWEMIbqDWZ8KbMZuXrnK/mWvXDqDfc9tH6jyxxPtdjQGigAIPKv+O+F+IObQBDG9qCr3Mur8m98zysCft+7JHfrevBD+KxljwX98R1CAiCpQURtPASCroRKetJC+Q5WqgnTQ4aTTbWpQnPKppYLaUJ3X7RxHk/0X2xxuwv9YUY7fRjIA/SmnsNrIvX3lJara+L99ocrYeTNgs0Q5hDzC9mGXOZ/Zzm++B97qce+91p5jM3OYd915zT3PIZl+R8dFzUE4l6krLuaNYnmRNOZovwLHI8uxwXdzKD3CU7jz38Vl3XIw9/ccpY8occ4njPWOWs/h/42gjP/oTrivQHR74BzUkcOYzcYg53JGgu5aSHuaOJ9LnmfI3mkOCuKZqbQnNZaO67hPTsJD39qhJ3aAveNqeRG92KIQumFZWTBdmK1vFih9YQwpuoNZnwpgRvVDXg9PoLfhj1F3/xF6c6YA9YM56R++Q6XFfDxKV9W+IObaBCG8DQhjboa5zLa3LPDDvWZtrLMw/XNZneLnPy0rNyHtchIBQuLYygBZhwUU8UriNaIK+iBXvSBCFpsrEuTXpW0eRqHZrY7SdNovcD3Q9rTA1Qf9T2uh8DSW1on/w594vc/3Xx2ltKq/V1yX5rZN82sv+FZggziL1jr5lpzHTm4OHbn6n7fubl/3Oalcxw5h/yvGrGOZqJDRd1J2XdkaQnOfMd5UPimeK0LBLKLYe1kbiznmSlsuXk039a1/Xm21+Z/AXPIGPJcs5jrT1n+X8hSW9wbsPdANIfHHcO7n+EOwyk5yTpSfKnEelhzdXS59L3RqQ/QnNNSC8VzWWhue8Smms76ek/1+IOWQxZMK2onCzIVrROFnxrCuFNBK3RIBtT8DWuw+vefMuRRT+Mqve1s148P+fy2lyP4eADRdIOB13cBcdwXe6HZ+HZ2Lcbbjo0/EPN8btfmI7lHF6b6xAgBEwLI2gBJlLWExf1pAXyKlq4J00SGk041qWJzyqaYC2lyd1+00R6r+E+WB/2hDqhNumPdT4GkvO0pwdlrX3v1yXrbgle2zul9Vqj9W7ivZ8wQ5gxzChkl3nG/CYrDh15W87LvsOJ05d+NojjOY/Z5zNtRM5Fx0U9SVl3XNYdn/OJZ4SjPEkyh5yWYWQD6yNxp0/IdzL07Kv/ta7p9cfunfwFj+BY9gDRzpzl/4WLepLCLuQDQt6QuGtA+ojjDgPuOI30pPSoxB0M0tMgXS59b0T6IzTXhOamkB4rmvsuobm2k55+TdyjGLJgWlElXpCtaJ0s+NYUIhupNZvwptR/uQavwT3O/TDq6Ve+d/GXPnB0+I8scT0GAMOhSTtI2kGinrSBJ9qAhDZUoQ1h0Qa34Oucz/3wHDwbz8neH3/09/v6PPFH07PzbNwT1yEoCJgWSNBCTKSoJynrSQvkOVq4J00SGk061qXJzyqaZK1DE7yDQBPqvYLXZ23YE+qKeqY3lnwMJD1ALVM7nH9Q1ln3sVNa7a3Ca3untF5rZN822gwQ7DMzhr1Dgtlv5rfm4OmX/7bv/T0vTvNS80+zz+daI+eiI0lvpKyLlHVHMz7JfHCUJ4lnkJO5JcgTiTs9wnqSvTcdOV3XE95//aHJS/AGsprMJmcl6craJeLuop5wL0K+0EjfcBdJ3GFAfjPCHSn9qZEelp7WXC59b0T6IzTXhOam0FwW0nuX0lzbSU/fd3GHtjBtEaEtetucRtvsLIgsGGiF5XhRQitckQXfmkJkI7VmE9mUHM/1uZ+j932qDg7gh1F/5fA9l9/XztqzDpzHPXAtmp/hoGHiwi6WiDu0oQdtSEIbqtCGsGjD2+F8XpP75tl4zmkfb32qrtG5T/zT8O0yLZCghZiTsu64pDdaIK+iBXzSRKHRxGNdmgCtoonWOjTROyg0sd4mel3WlT2l7hCjVR8DyQygLzmWczhXe+PPsx/kfq+L19pSWm2vi/fWHK1nk9b7jmYIM4j5xSxjZjMHyYuTF/6g7n2+z91nX842x2diIklvuKw7KetOznnh2ZBkrojMIaG8SpR95CNZSW5OmX/+8b6eL/3NlLU4iLKWDFfOKmvfDeIuLxLpT410sPS09DhoztdoDtlcE9xJRXNY0dx3CenZSXr6gRV3aAvZFr1tTqNtdhZEFgy0wnKyMFvxOl7wrSkcb6TWbEJNqWO5Nvey5IdRR+9r53o0PoNBg8Nl3dHgEk3aoQ09aENStMEKbRBDG94Ox3Bd7pNnYr1Yq+tvvHn4ebvH73hiOpZn4LW5jkKmhRK0IBMu6olLeqMF8ipayCdNFhopHjuhSdASmnCtQxO+g0YT7U3D67AerCl7T01S00s+BpL6p+6pRepB+5LPsZf4Hu8Er7F1aLW9LtlfI7JfG633Hc0Q9psZhfAy05htU97c/dG+/4P3uc/NOX19hOZnkrLupKwLn++JZ4PjWZJkBomWXUCW0BuINpmpTDly76/V9Tx24ctT3uIcOAHHN3HX/4MkveGinmxb3NNvEnmRSH9KmoOlpzWXS98b0Ryyuaa7qNMcVjT3XUJzbSc9/Qpxh3ai0154Ce1BoS0OtMVsiw5tg5K22VkQkEXTisvJwmzF63jRQ2sM4Y3Umi3hHDXToWO3LfphVL1FhjXieTmX12uDxGU9uZrEnfO5H56J52TN2PvRP0196vF/N60Fz8Y9cR0Cg6BpoQQtzEQTdkcBO6KF8hwt5JMmCyOagKxLE6FVNOlahyZ9B5km3ZuAa7Me7AP1Qb3SF3MfA0mfUP/UPsdznvZxv9fW93gnZJ0twWt5N7T+arSeTbznRzA/mDHsIXvJPGMOMvP5AIO2/5Dvc9ecgzbj/OtJyrrThF24rDua7Q3PBsezxPHsSVp2AetCBrq44wajPDl096cmnyFvyR6O5zzlLdcBZS9I0hsu6omkHZozCO5BpIckche5xhzpR+lPibuXSEdrLpe+12juCOmZ0JwUmsNC+u46NM920tF/rsQdcrOzICCLphWXk4XZitfxoofWGMKbqTUb6Gv8l+tNzbHgh1F/8b2/XD+vndelyTUUNDgYJCnrDsNLpLCLNvREG5TQhiu0YQxteCecz2ty3ww31o29PnznR+p68QNGrAnHcx6vQ2AQNC2YoIWZSFFPUtSTFsiraEGfNGFoNAFZlyZDS2jitQ5N/K4GmoDvBF2PtWQvqSek6Pxtd6z8GEhqn7qnRqkX9nG/19X3didkfS0l63knZF+NyD5ttJ5vsN/sH3OIvWQWMteYb+TT6N+04H3uHMdMZoZKtEezLueho3MbKetCkt7I+e5kPgjPEifzRyinEnJN4k5Oso5kKG5w6sVv17W88ezjk7dwDNlDfpNDyttNiTv34rg3JO4a7iCJvEWk3yTuRpObmDs10r/SzyA9DprvJemNIj0TmpNCc1hI311Kc2ynOfpVJ+7QFr5tUiM3uxVFFk4rLicLsxWvk4XfmkN4M8Fcs6mJuOclP4zq72tnLbh3XpPr0vQMBA0NDZI5eV8i7tCGH7RhCW24QhvGog1wh2O4NvfK87F+PP8NNx8dvl3mxO2PTcdyr5xPYChsWjhBCzThop64pDdaIK+ihX3SpKHRJGQnNCFaRZOvdWkCeDXSxHwVnMcasP7sObVIT8x9DOTR45dmAT1DvVOD1IH2I+9rr/A93SlZX0vIOt4p2Vcjsk8brecbmiHsO0LMLGMOMvPJkKXvc+dczT6fayJnoaO5mbioJynrjs92R3nQaJkCnj2OZ5VDprF+ZCDrgyCzjjcdOjzMkg/cdGryEfyBY5W5nA97Le7uEZAe4nC/TvpN4m4E6U9J+ldztPS49LwRzR2heWb6qGgOC815l5B+nTRH31dxR1B+/OMfX/zpT396ma9+9auXF6gtJhv/ox/96B3nvPHGG1dsEAWVx336059+x2ZThHnMZz7zmSsKpxVXksXZClhk4WdjONlQrdk4jutwbe5lyQ+j5vvaeU6uwfVocIZBDhGRwi4k7SKFXbThB21YQhuuog1kaEPc4RjO5354Jp6Z9aMuTjz1J3XtTj7y5rQuPBvnch1Cg8Bp4QQt0ETKeqKAHdFCeRUt8JMmDo0mIuvSpGgJTcDWpYngzwM8O2vIHlIT1C/9MPoYyFNPfW2aN/Q4x1HXnKf926+19L3cKV5T65B1vBOyn0a0Hk28x1eh+cE+au+Zg8z6KXMWvs/dZ1/ONs2/BueMaMIuXNSdnO0O99nwDElaBkHLLFDekSOsD70yZfGJe+s68vZV/IeswRVY81Hm6tfA1xtN2IWEHdwdErmEO8UIdxd5x4j0ovSmRvrXKmmH9L8RS6Ud5KFJeqxozruE5thO+jnsm7i/+eabkyi/9tprdXEgF5Khg+h/7Wtfu7zoX/jCFy5LuTaHQabj9Ht+HBvNQOSYr3/965cL4otf/OKO5T0LtBWxyMJvzSGyobLZOEbNw33ccu6ROiyE/zAq+8Da8Hycz7VocBqegeADxElhdzTEQKKetOEHbViKNmChDWVoQzzhfF6X++aZWUfW4vBdH6trd/aj/zCtD8dzT7wOwUHgtICCDDSnybrjkt7IQF5CBn4jxWFEk5Gd0MRoCU3E1qUJ4bsdnpv1Yw+pM6SIej736ndr3fMxkPQHvUvfULvUCXu3X+uo190NWU9LyfrdKdlPI7I/G63X52B+sI/MLvaU/We2kylL3+fOeT77fLb5DEwk6Y2UdSeFXWieNzIXhGeIo7xpZF4J1oNMYP3ITdZwcoDb+99gnXj2Lya/wTk8d5W5yl39P0jSG5L0hqQd3B0S+YWQfzTcXeQeI9KL0psa7l0gPxMp7SDPW4ULu0jPFOmjwj3Wac67hObYTvo57Iu4ExZIM99d59dtcSAX8pvf/ObFH/zgB1OhadHZ2O9973vT71OcbI6O06+Bgvj+979/8Yc//OFU0N/61rcu/78KgkLTMTSEF08WV5IFmgWceOG35nC8obLR1DjTfRx9e6iu+GHUX/iFX3jH57Xz3NyvXof10ECQqCeS9MZuxB3awIQ2ZKENZdEGucMxXJt75Xl5ftbihltm/iGS8x+a1oB75XyCQ6HTQgo80BIX9SRFPWmBvIoW+o0mEI0mJDuhCdISmpCtSxPDdyt6ZtacfaYGqeFz9z5d6x2Onb57kgd6BYGiNtl7rX97nW2iZ9gNWUfrkLW7E7KPRmRfjmi9Pgfzg71nPrH/zFLmN5lJnoze537y3pem45h/zFDqQbNPM81nX0PzsuGi7kjSGznXhWdBkjkiPHMcz6jExZ38VI4ce/ituoaHH/j85DN4BWvN8aw7GSRph/0S9/SPxN1FPjNCPiTSmxJ3LiE/E9fEfZ/Ene+2//M///NU7Pq9tkCgRWTTeVsLsp8Lz3fTf/KTn1x8/vnnp2LiOP9uu9Bxr7766nQM321n070o+K47x7z44ovvKJ5WZE4WaCtix4sfWoMIbypvMr7GtXj9G2++ZfiDMMAPo/7Ce35pel87e8Ga8rzcK6/P9Whuml0DQQOkwd41rgZx17DnGK7BPfFMrC3rSU2cfPabdR1PPvzZaW04h3O5DsFC6LSQAgVaI2U9SVlPWiivogV/0iSi0aRkJzRBWkKTsp3QBPHdCM/KurF31AL1SR8M/7XUF/7z1Bf0NvVOnVN3nK/1b6+zLXzPdoPX0Dq02t0J3kNztN5Msr+XoPnC/jO/php4e2Yz/5mBJx7797UeTj361jQrmX+c47NPM01zryFBb0jSGynrjs92h/sbofxIWvZAyypgHSTuCDbrRy6TySef/tO6hjff/srkLXgFa01/KXc3Ke4u7ZsS9/QW7n+O9CJ3poY7F7ibCRd2ka43It0R5JhOc1GQrzbSd5fSHNtpjr6n4g4snr5DzsbrodsigRaSYcN36Xk/ey48kq23wTDIOM7fOiN0HPKvY9h0L4qXX365vl2mFZmTBdqK2MkGaE0isqn0X67Da3Hfo4+dAn4Y9b3vPzK9RYb9Y115bu6b1+Z6NC/NrmHgA6Thsu4sEXdoQxDa0IQ2ZEUbzNCGecL5vC73zvOzruz3kft+s64l7/PkOI7nvngdwoPgaUEFLuqJS3ojRT3JQF5CBv+IJhKNJiY7oYnSEpqY7YQmiu82eE7WjH2jfpAi6vjcx/6x1vuJB16bQp+epV+oWWpI+7WX6+Z7tRu8dtYh63WnZP+MaD3ZyP5eguYL84kaYI6xx8z+KXfueqXWw5kX/mI6hvnO7PTZp5nmsy9xUU9c1BMXdSfnueNZ4Hh2JJ45TuaUUNaRB2QmvUKmkiF8Ellbw+uP3Tt5i/LXs9dzV9IOyuWE80a4tIOLepKOMUK+ItJrkvQid6aGOxe4mwkXdkjPG5HeKFzYRXqocFF3musuJf06aY5exR3aBZx2A0tgARH37373u9N/kWSBzFMcvlBayBdeeGE6BnHn177wLu7+/7lx+tpf//VfXz6GjfeiOMji7r/HObwO9zb6Rx4gfxiVImPNOI/74Lo0Lo1NszMMfGC4rDsS9USDTLisO20IQhuaog1aaMMZ2jBPOI5rc688O+vBft505HxdT+BfkGQNuF/OJ0AUPi2sQKHWcFFvpKwnLZhX0QQgaTLRaHKyE5osLaUJ2k5owvhuQc/IWrO/1B61e/7+F2qdw9FTt019Qa1zLPXIuVxjL9dMr7VbWu0sxWt1N7Qeangvjmi9vQrNDfaSGmBuMQuZg8w1ZiD/BkirBz5hSP+KNMdz3tzcSzQnG03YQZLe8FmeeBY4LUNAOdPwjHKUc6wHfUKOks03Hj7V1+9t3n/dJdkkv8ly8pfs9cz1DAau3XBRT3Yi7eCekbizQHpN4k4E6U2JOxe4m4l3k7g3t07SzWHPxZ3N4G0qvB3lmWeeufzgbBq/n/KuhdymuIOKYqfiDlmkrZA1jHJotSEnGK76fw04BhMD5ex9z9XhIA7f86vT83E/NCVDAHFmgHEtiaOGegZDCxRogSQ87Fp4Qgtn0T7CDh599NHKY489NuTChQtD+Drn85rcN+tAGDCQGYp8d72t6a0XfmdaN9aBc7kG13viiScuPvnkk5WnnnpqyNNPPz0LfTLHs88+uzbPPffcInj72V5Cn+8U+nsTvPTSS+9KeDbWiX2lrqhZevSOF75e6/zsi385zRjmDv1Bv1Cv1I/Wu73OpvG92Q1eK+vSanWbZB+OyL5eguYGNcB+MrfYW+YyQk+2IKKjH1a+/cGXp1lJ7TD7Hn/88dnZJzhmBNcY4TN7KZr/DeVG0jIHPJsS1oDeICtZOzKVPwScvrf/Yfj0y3875TByznHkDVnCuZ65+v9V+B/IEv0BDdivEby+I9doyFeEfKbhf8AC/0PVUpb8ocv/gDVH/qEL8huKQn8gS/QNyoT9bDQHdppbO83NYd++4/6d73znHX9iQdLfeuutSegZLinuFKLeKjMn7hTzum+VWSLuS+R9HXEHb4DWJEJfV6PQBBTsuTsevHjuE/9UBwQcf/T3p2fj3vjDEDJK8XEu1+GaNC6NzfrmUACX9USinkjaIYVdtCEo2vCENmxFG9DQhrrg65zLa3KvrAFrzPrQdLyfva3r+Zf/83Qcx/MsXIPrEUAtsMBFveGinrikNzKYl9JEIGlSsW2aOC3FRW03NIG82mF9WF/2npqkbj/04MMXz3/y/6t1fvahfz2FJTOCOkeiqEfqQmvdXmeT5L7sFK+Rdcn63AuyDxvZz0vR3GAvmT3UAvOLOchMIxuQlzNP9rdf3vrEFyfBIwOYy6tmn3BRT1LWHc3rdcgcEMqLRuaN8GxKXNzpE9YOSTz90G/XtfOPVlUOs5YHRdzdOxrknsP9j7gm7u9Ccc/3uMMScUe6U9z9h1MpZo6b++HUz33uc9Mx+uFUF/fRD6duStyd/Gsn/yspR1/jv5zHtdf5YVT2i7WUxHMN/tSvt8eA//Wb/xVdK0bRChi80FtTiNZI0JpOtMaFbHDRhkHCcVyb++X5WetpTwefwwvHz9wxrQH3y/kMJg2zNvDAB2TSBqrjQ7iRQ3sJGQIj/A9rc+Qf4HaD/+FvHfwPh7ulBfXVip6JtWVPqTlq9twDr9b65i0RR45f+ut/apxjOYdzucZerJFeYxO0WlmC1+RuaT3T8N6bo/X0KnxmaLYwmxAt5hhzmTwga0b/Hsjp5/98OoZ5yexdMvtAxzRS+gTXHtFmudD8TzI3ROaM49nksFasAZlHFrAm5CrZMfqZs0N3f2ryF3xCOaz89bz1DFYuNzi34W+TWeetMu4dDbmKXGSO9CF50oj0LZCXCfmak543wp1RyC8T+afjrpo0111CenXS3Bz2XNx5yPapMvCNb3zj8u/7grGQbJqEnwLTwrO5+n2KkALgIx35NQWrTfPf5/r+0ZBsPten2EYfBwleZI0s1CzkxJsAWqOAvs45vA73uuqHUd/zvsPv+GFU1oBn4BpcUwMDchj40NAgabCODUm7cFl32jCENjxFG7rQhrRogx00/DmGa3NPPDN1xDpRF8OPRfvgJ6a14hxen+sQNIRQCy1wUU9c0hseuI0W0ktoQpA0uRjRhGUnNIlaShO33dCk8mqD52Bt2CP2nXqk7s89+7Va36ef/bNpRtDn1Dd1TZ1xvta4vc4m8LXfBF4b69Jqcyd4j6yi9WCSfbyUnBvMFuYP+8sM0wxk72859cFaG6P3uYuce+BfT1LWnZR1h9dt+OxPPDMcz5ikZRQo31gH1gzfIFvJ2dE31W48+/jkLeQ4mU7WKIM9b/l/4dnsKL8bO5F2cO9I5CHuI3OkD7krNdy1QLLuuLALOd4c8sUkhR3cPR131aS57hLSq5Pm5rDn4g4MC77j7W+X4bvlehuLFsp/jwXlry31ay28vovOXx3yazaJ75ZzXP4DTPquPL/mr2E5xj8SUt9t53X4dRZSKzYnC7UVs5ONsKpZuCb3ceTuj9ehAPph1F/42ee1s7asC+dxPtekQWlaGrwNBPDBoWGSuKwnuxF3aAMU2tCFNqRFG+4Ox3ANXpd7Z9ix3tTA0Qf722UQG9aP47kvrkOYEEQtuCBlPXFRb2ToJi2oV9GkoNEEo9GkZac0kVpKE7jd0ATzaoJnYE3ZI2oJKbr19jsnCWv1fezul6c+oH+pbeqXetG+bGtNfM03QdbFOngt7pbskxGt9xrZx0toM4NaYPawv+wzs4zZTkaQaaN/F+TEnU9OxzEzOU+iPZp/LuqJzm2krAtec0TOfydzQ3jGOJ5JifKNDCAnL+fGzbfUNYMP3HRq8g/WlmOVw561+n9o2Swk6Q1JO7ioJy7tkP7hyENEcxrHXQjclRruWiBZd3Yi7SBfTFLawWXdkasmzXGX0tzaaW4OQ3GHdiGn3cgSeFgGBvKOPIvXX3/9HQslcdf72kHyLlzaQRsleffjJO3Apkve/RhJO2QhtWJLslhbQYtshFGz6Hiuz33xAy5tKMD1t74y/EeWuBbNScPS0DR4Gwjgw0Oi3pCoJxpq0KRdtIEIbYhCG7qiDWpowz3hOK7P/fL8rP20p2cerus8fdfp1PlpDbhfzidQFEYtvCBl3ZGgj2jB67SwXkITg6RJxogmLjulCdVSmsjthiaaVwPcO+vBerKX1Bo1f+6hXx/W9pFjl2YDtU1dU3+cyzW2tR667qbIelgHr8Hd0npkhPfciNbDS2gzQ7OF2cQ+M0eZ3+QDmXPyya/WGuHnf8gGn32I9mj2aS42UtYF1xyR89vR3E8yL5zMGaE8Ssgu5RsZQK+Qq1NOD95iyR+CcB/cg2whY1hnz1uupf8HvjYiZd2RtIOLerItcU8Pkh/Nkb4lD3Nc2kE+twr5oeOy7riDOi7rTvrtUppTJ83LYd/EvZELxXveeesMzdEWuG1G27RGFgBkkWQhQSs4Jwu2FbXjjTBqFo7jWrw+937qpb+pg4F/GfVf/at/9Y73tXM896Xr06xq6DYMhA8PSXojhV1oqIkUdtGGIrQhKtrghTasRRvwoBDgGK7NPfHMrBPrTl2c+ej363qfuPeV6VjO4fW5DoFDGLXwgpT1REE6ooWv0wJ7FU0OGk00RjSB2SlNrJbShG63NOk8yHDPrAX7Qo1Qn9T7uRe+Vev61JNfnuqf/qauOZ7zOF9r2l5np/jabgqvgXVpNbhTvCdW0Xqu0Xp4FT4jHM0VZhOzkP1mXiN/ZMbofe76PPcls4/fG+GinrioJ5rfic/8hPtsZL44LZuA52adyDr6hLVAfMnpw3d+pK7ZiWf/Yspk3ILjOF457Fmr/wflcSNlXSjfhSS9sVTaQZ4iJ5lD/iPSkxrpWulj6WvgTjdHc8XmlOAO6jRnhea4S0ifTpqTiwMr7mwkHw/Jd+Hb4kLbjLZpjVYEWShZSJDFlmTBtqJ2vBmgNQrHcW1en3s/8uDvXDEU9MOoc+9rp1HVzGryNhDAhwdI1JMUdmc34g5tkEIbvtCGtWhD3uEYrsE98VysEWtPHRx75HevWG84/dR/nNaK5+O+uA6hQiBleDlN2IVLeqOFr9NCewlNEJImGyOaxOyUJlfr0MRutzQBPYjofllH9pAaQorO33l/rWk4evtTU/3TC9Q0NUuNaC82+fy6v02S+78uXnu7pfXGiOy3RvbtUtqsENQEe0xdMAfZd2Y+Mrfkfe7Mas7jfAm5zzv9XkOS3khZFz63E837RuaFyHwRmUcOa+TiTpayXuT0sYffqmt2+IHPT96iTOZ4+kx5q0z13PVMdpTfDWW8SFkXEnbh7pHIRdxJ5kgPckdqyK+c9LHmbO50czRXTJ8U7qFOc1ZojruE9OmkObk4UOIOWiS+284PklI0/LotcNuMtmmNVgRZKJDF1IrOyYJtRe1kQ7RmUeFzPzwj/4DDscf+8PJAOP70n118zy9f945/ZIln5HjO5VoaEuBN3oaC8AGioZK4qCd7Le7QBja0IZ9wPq/LvfP8rNu0r2cfe8cAvkwJL4KF0CGUPLycJuyOi3rSgjdpwb2KJgmNJhwjmsjslCZY69AEbxM0GT1IcI88P2vI/lFf1Pq5h3+r1jR/nb8Xb5PRdTZN7vu6eM3tltYTI7zH5mi9u4o2Ixz2l7nEzKI2mLHMdjKD+bfkfe6afRJyzTr9upGi7kjSGz6zE5/5TuaEk/kieK4RyjVmP/lIlpIXOMLJp/+0rtfNt78y5TfHkP3IszJYGeuZqxxueIYnS6QdXNpB3tFwR4H0mMQdSP4yhzsWuIOJ5mzpdSPcEUVzSpCDOumpTnPcJTSndtLHnX0Rd2gLAG3RoC1w2wxoG9fIImjFkgXVii7Jom2FLbIhWrOo8Hl97pv1YP15HzuyDrw9hj1jDVkb7p3zOJ+mpFFT2qENBeFDRKLekKgnS8Qd2mCENkxFG8DQhrZogx4UBhzDtbknnpl1Yw1vuOnQMLyO3/nMdCzn8Ppch+AhmBReSYp64qLeaOHrtPBeQhOFRhOPEU1odkoTrXVoorcpmpweBLg3np29oDaoS+r07Et/Vev5xGO/N80K+pfjOJ7zOF9r2F5nKb5mm8b3eie0mtsp3gOraD3WaD27BJ8NDc0d9ppZyL6z/+QFGbXqfe6afZybs4//H+GinkjSGz67nZz3DvfXyFxxWiYBz5vizlqRteTuKCuuP3bv5CfkOMfSZ8pgZSz/FZnHTua4I2kHSXrDpR3cPRK5iEiPSeQ+cpdVuGOBO5hIX0ufG5F+KNInIb1TpKc6zW+XkD6dpI87uxJ3aDe0hLYA0BYN2iK3zYC2eY0sBMhiyYJqRZd40UIrbMcbojULx3Bd7of75tlZQ9bf94r142s8B8dzHtehKdXI2eRtKAgfIinrjkQ9cXEHBl6jDUfRBiq0IQxtaIs27B2O4RrcE8/FerH+rDv/mFUbxqef+KNprXg+7ovrEC4Ek8t64qKeNFl3WvgmLcBX0WSh0eRjRJOa3dCEax2a8G2KJqr7ie6LdWPfqB2k6PydD9VahmO3Pz7NBXqAWqYeqQ2t/W6eU/ezDXKf18VrbBO0XhiR/TUi+3UJbTYkmjvMJWYXM5B5Rh0w/+be584xHMs51Av15bPPRT1xUU9c1B3N6kbOe0f5kGSuOC2PgN5QppFzzH+ygry98fDbf5ApawX8TTn5TTaTy8gz6+cZ65nrWZxwXkM5L1LWnaXSDnIR+cgc6T/yojnSs9zBID0N3OXmaI4I7pKiuSekp4r02nVwj264iyez4g7tgk67oSW0RYC2aNAWGdqGtM1rtGLIgsmCglZ4ThZuK27HmwKyYTiG6/Da3BP3zrOzLlozrQXPwHGcw/k0JU1KE7dGhzYYhA8Sl3Unhd3RgAOJetKGo2gDFdoQFm1wQxv2Cefzutw7a8MaTnt623N1GPMv17K2HM95vA4BQ/govBoKyxEp60kLYKeF+BKaMDSagIxoYrMbmnitS5O/TdGkdT/gXnhW1oy9pe6o8XOPfq7W8tmP/sNU7/Q6PUYNU2vsN9fY6fPpvG2Q+7oTvLY2QeuBEdlXI7JPl9Jmg6N5wsyhPthzZhhzmTqgHobvcy+zj/ObpCccNyJl3cl57WjOJ5kPTuaKUP40WBtlGvlHTpKxU96fu1DXig+UIKfJZ45jXVm7zFjhGZxkfjtc03FRT5aKe/qJu0tD3iPSjxJ3K5Ee5o4m0udGpB+CO6Qj30zSU0Vz2yU0l3aaizvXxD3IgoEsqlZ8ThZuK24nGyObhmPUACpq7t+fV/eu1+c8STu0JhdtOAgfJinsjkQ9WSLu0AYktKEq2iCGNrxFG/gOx3Bt7pdnZg1Zz+tvvHn6jPw2lHmvJ8fyHLw+1yGACCiX9SRl3VGgjmghnLQgX0ITh0YTkRFNcHZDE7B1aSK4aZrI7hW8Ps/J+lMP1CP1efaVv+t1/OHfmWYFfUsfcDzncb7Wq73OCF+HbeB7uVNabe0Gr/lVtJ5qtB5dgs+CEZonzBxmEnvO/GL2MteZf2TK8K2C5x+ajuN4aga55hqrSFl3UtYdn9WO5nvDs8HJPHE8gxzlFflAn/DsZKjW6ch9v1nX6diFL08eQ06TJxy/bXFX9jd4fcedI3E3kY/MwfM5rMsc6VdyHMcdTbjLzeFuKJpLQnqnaK4KzW2X0FzaaS7uHDhxh7ZwbZGhbQq0DWxkMWTBQBZVKz4nC7cVt5ON0ZqG43Q9XsOLW/ek19I11KRq5Nbo0IaD8GEiSW+4rDsu7qDBl7QhKdpghTaMoQ1v0Ya+wzFcg3viuVg31pR1PvHEV+pQPvX4v5vWiufjXK5DyBBCKetOynriot5oQey0MF9Ck4dGk5E5mujshiZi69KEcBs0sd0mel3Wib2iXqjJ83c/WmsYjp59YJoH1D41TA1yrtZ6yXPodbdN7uNO8FraFK3uR3gvzdF6dAltJjg+S9hrZhJSTZ0wX5l/5Ae5Mnyf+wP/epp91AyzT3MPUtYdHZNw/gif00nOeUe5kGSeiJZBQnnFrCffWCN6hrwlh0f/ovmhuz81+Qo5Qp4gy8peZatnrfK3odxuKOtB+d84yOIur3HS06D5XNLcENIjRXNPaJ4KzW2X0FzaaS7uXDXiDm2h26ZA28RGFkMrmiysVnxJFm8rcJGNMWocjtW1+K+/jl+Lc2hGGtQbuTW6aAMCfJgAA6aRwu7stbhDG+DQhn7C+bwu987asKbs++jzeXmLAevL8dwXr0PQEEQp64mLeuLB2mhhnLRAX0ITiEYTkhFNdHZLE7J1aWK4LZrsbgNei2djjdhPao3aPvfE4KNNX/7baWbQ49QwtUuNad9W3bs/47bJ/dsJXkObIut9jtZLjezLpbRZkPgs0cyhTphdzEDmGXONXBm9z/3001+fZqR/00IS3oQd9PWGi3riMzrJOS+UBw3PEifzxyGrlGWsD/3CGikjTr347bpON559fPKSKUfePpZsVu4qV5WxkDkslNcN5bxwUU+WSjtwv45coyEfEelFDXmVaA6WntZcrpFeKJpLNueE5qiiue0Smks7zcWdfRN3aAsBbfGgLTa0jWmb2MiCgCyaLCxoBehkAbcid7I5Rs2jY9u5HOcNSYN6I7dmF21ICB8oKeyCITZCgw5S2J02KKENV9EGMrQhLtrgB32N/3Jt7pdnZi3ZwxtuPjp+u8ztj03Hcr+cT9AojFzUExf1hodrowWy00J9CU0iRjQxGdGEZ7c0MdsJTRK3SRPgTcH1eSbWnDpAmOiLc69+t9fvQ5+Z5gX9Sv1Sm9QB52tt2mvsJb5Xu6HV0G7xGl9F66ER2ZdLyTmQtFnCvGHfmVnUCvOPbCBbDp28r9bN3M/4QEo76GsNF3UnZ7XDa47wTHAyRxzPHkc5pSzjmZn5PD85fOPNt/Q1epsP3HRq8g3cgPWk11hb5arTMlh4Ziee9RL0hjsCpGs4cgvh3tFI70kvSppbpX81R0uPG9HcsDkkNOeE5qjQnHYpzaWd5uLOrsUd2o0toS0GtMWDttjQNqdtYqMVRRZOK65WhE4WcCtyJxtkronar7MZ1aTezK3ZRRsSwodKk3YhUU806ITLutOGpWgDFtpQFm2QQxv+DsdwPvfEc7GO7BG1cfLZb9bBfPKRN6e14vk4l+sQOISRi3ojZd1pAeu0UE5asC+hiUSjyckcTXx2SxO0ndCEcS9IKd4Nuibrwv5QR9Ti+fueqbULR0/dNc0Bap5jOYdzuYbfo/5/r2l7tRO8ZjZFq/E5vHfmaD25hDYDkjZL2HPmEXLNDGTuMvPJk5tvOTL9uxWtdk7c+vA0Jzle81UivglpB5/PieZ6w/PAaVkCnjmJcko5xjMz81mfSVJP3FvXh58PwGvwDdyAvCaPM1uFcreRue141iv/G+4JIJ9oyDFEekuS3pNelDS3Sv9KP4P0uBHNDZtDQnNOSD8VzWmX0Bw6aS7urBR3aBd22s0toS0GtMWDttjQNqdtYqMVRRYOZHG1InSygFuRO9kgrYlEft2bMJvUmxlaw0MbEsKHiiS90aRdaNiBBmDShqVoQxbaUBZtkIsWAA7n87rcO+vDmrPvh+/6WB3OZz7yf0/ry/HcF69B4BBIKeqJJH1EC1mnBXPSAn4JTSgaTVDmaAK0W5qo7YQmjntNyvg6cD7PwZqwh9QY9Xj2qT+otXv6hf88zQ76m9qlZqkr7dN+r4nvzW7wWtkUWderaL3TyD5cSuv9JOeHYNZQK+w/M5D5x1wnR8iwU899q9ZPvs+dczX7ti3uPtMTz4LEM8TxzEmUU2QYc5614bnpHdZn9FbKE898Y/IX3ILjOJ6syGwVyt1G5rbwjIf0AEeuINwlEncSaO7iyHdEcyMnvaq5V/oZNJdrNDdsDgnpm6I5KjSnXUJzaKc5eHIgxR3aAkJb8LY50DaykUXRiicLrBVhkkXcCt3xBmlN5HjjteYU2dCt6UUbFMIHi8u6I0lvLBF3aAMT2pAVbTBDG+aihQDoa/yXa3O/PD/rzJ7edOTtAV6GM5w4/6FpHbhfzidwFEou6o2UdaeFbNIC2mkhv4QmFSOaqMzRRGi3NGHbKU0i95Mm6Q2O5f5ZY/YeYaKWz33sH2vdHr//N6bZQJ/SNxzPeeyp1jTvZS/wvdgtWSebImt6juyXOVovLsF7vtFmh9C8Yf+ZgdQMNUFtkE9HP/R6rR9/nzvn+OyTsINmYcMlPfH5nPBaIzIPBPc4InNHeEbxnKwLs57nJo/JhmMPv1XX5/ADn588BY+Y1vHtLGFNM1fBMzfxrE6U76K5gHB3SK9I3EncVRrpO+5CI9Kr0rsg/aw5XKM5IaQ/QnNNaG4qmtMuoTm00xw82Vdxh7Yg0BYR2qK3zYG2mY0sDMjiyQKDVohOFnIrdsebBFojCW8+aA0qvKFb04s2LIQPF5f1RKKeSNqFD0KnDU3RBi204SzaQIcWAg7HcD73xHOxjuwhtXHyub+sA/rkg69Pa8U5nMt1FExN1h0X9UYLWqeFdNKCfglNLEY0YRnRRGgTNHHbDU0qDyq6Z9aXvaN2qMNz979caxaOnLx16n/qlmM5h3O5xn6sgV5zU7Qa2QRey6tovTLCe28dWs8nbXY4zCIkG2FmhjGrqY1J3M49Uutn6fvc9euGi3qimdzwme5o/jdahkDmjaN8Un7xrGQhz83a4AMnn/7Tuj433/7K5CkcQ86TJcpbz1XwzE2U0w3PeM/+JL2huYVwF5n2P3wlSd9pTpS4T0F6V3oZNIdrNCeE9EdorgnNTUXz2SU0h3aagyfvCnGHtkFtMxutOLKAssCgFaKThdyK3clGac0ksgFbkwpvamiND21YCB8uKeuOy3qioQcahEkbmqINW9EGNLShLloQgL7G+bwu9876sCfUwuizennLAcdxPPfEdQgegongSllPXNSTFrJJC2qnhf1SmmA0mrTM0YRoEzSB2w1NMA8i3CvPz16w59QddXzu6S/3mn3+z6f5QV9T69QqtcT5Wsf2OtvC13wTeE1sklbLc3iPzNF6bynZ70nOiwZzSJLN/GImUxvUyE2HDs++z53jOJ56Y35Kyvda2kHzP8nccDxrEuVTijv5SnaTC6PPur/+yJ2Tj+AMZAjnKG+5hpO56yinG57vnv2JOwM0txDuIpC+kqTvNCdy0qfAnQuamzWHa6QPQnNHaK4JzU2huexSmkM7zcGTReIO7QWcdoNLaIsCbRGhLTq0TWqb2WjFkQUEWWStGJ0sZGgFL7JRWjM53oCtSYU3NbTGF21gCB8wTdpBkt5YIu7QBie0YSvakIY21EULA9DX+C/X5n55ftaZfb3p2B11QMOJs/dO68D9cj7ho4BKUU+asDstaJ0W1kkL/CU0yRjRxGWOJkaboIncbmmyeZDgHnl29oGaoO7O3/Z2vQ6E69g9r04zgv6kX5As6kT7slfP7Gu8KbwWNknW7yqyP+ZovbeE7PNGzouEGcMckmgzA5ljzDNqhNk3/OH8n73PnVnJzORczb6rXdw9m5Rf9AvPy7qQ3TcefvsPLWVd4P3X3TD5COtHbnMOWStRV6by/yMyp53Md64/wp0hfSJJH0lfSdJ15EEj0qeaczU3aw7XSB+E5o7QXBOam0Jz2SU0d06afyf/23vf+976haS9gNNucgltUURbSGgL3zYJ2oY2sjhaEWWhtWJMsphbwTvZLK2hhDchtEYV3tit+UUbGkIDBlzWE5d1R0NP+EB02vAUbeBCG9KiDXbRAgH0dc7nnnhm1pE9pF74J6zbkD7xwV+b1opzOJdrKaAIsJT1JGU9aYHrtMBOWvAvoYnGiCYwczRB2hRN6nZLk8/9RvfGerJf1BP1d/aBT9RaReYPH7v0Pl3qlWOpMc7lGnvxrHqNTdJqYFN4zS6h9cYI77V1aD2etFnhaL5oDjGrqAdmK7Nbs2/ufe5kC8dyDrMT8XZBb6SoO7z+CM3nhs/+xDPDaVkjlEug7CLn6Btyd8r2cxfqupATuAyZwXHkNuukPPVcVc42PKMTz3bP/CR9IX3CSQ9pruJMa2A0F0rSp5pzpZe5s83RXBCaOzbHhPRRp7nsEpo7O829E5z9mrj/jCwQyCLKQoNWkE4WdCt6JxumNZXIRmzNKry5W/OLNjSEBgykrDsu68kScYc2QKENXdEGNbThLloogL7G+bwu9876sCfUwpH7X6uDmrcecBzHc09chxAipK52cYcmHCOayMzRRGlTNMHbBE1G9wvuh2dl7dln6o36Pftsf+/tqae+Ns0N+plapUapIc7XmrXX2QS+hpvE93zTtJqdw3thFa3XlpL93cg5kfiMYQ5RO8ytqX7entXMNPLp0NkP11ribSJkC/OfeelzT/9t8LUROZMdze+G5n7iWZF4xiSeS6wFs53n5HnJYXJ+9PbJY4/94eQs+AT5T79xnvLUc9WzNlE+N5Tr0LJfuCtA+oSTHpKekqTnpAclzaXSt9LHoLlbo7kgNHdMvxTNSUVz2SU0d3aaeycHQtyhLQy0xYS2+NA2qm1qoxVJFlIrtlaUThZ0K3onG6Y1leON2JpVeHNDGwCiDQ6hIQMu644kvbFbcYc2eKENa9EGPLRQAH2N/3Jt7pfnZ82nvT95fx3UcOzkpR9o5V45nxBSUF2T93maMG2KJnqbosnpXsN9sIasO3VC3Z2//Z7x22TufnmaBfQldUrtURvah208l6/Zpsn93iReo0vIPpij9dhSsq8bbUY4OV+oA+YU84q6eMfsm3mf+/Fz90+5wPxm5jI/JeGaf4m+3vB5nHBfjZz7TuaFyHxxMpdYC/qF+U7vsCbk/InH/7iuyaG7PzW5Cf5AvpPTnrHKUv26kfnseKZDy37hrgByiEZ6SHpKkp6THpSkR0H6VnOy5m6N5oLpi6I5JjQnheawS2nu7DT3TjYq7tBudAltcaAtJrTFh7ZZbVMbrUiykCCLrRVlkkXdCt/xhmlN5WQztoYV3uBtCIg2PIQGDbisJy7rjqRd5GAUbYiKNnxFG9jQhrxowQD6Otflnnhm1pE9pGbOvPL3dVifuO/j07Gcw2tzLQXVXog7tABPmggsocnHiCY1q2jitEma9G2KJqt7Aa/Ns7F+7BF1RN2de+jXa43yHdLDRy995486RZSoLc7lGpt+Hl1vG+T+bhqvzaW0XhjhvbUOraeTNhuSnC/Ujos7M5d5Rr6QZ6P3uTP3qCfmuuYeUFuaf45LeqJzG5rLDZ/5TuaEk/niKI9AmUWO8ZxkARmNB5x68dt1TW44c2FyE47hWM7xjFWW6teNzGfHM105P8I9obmE4w7SHMVJv0n/abhDQXOt5mTpbSOaC6YviuaY0JwUmsMuoTlz0tw7uSzu+/1d97Y40BYT2uJD2yxoG9vIImnFlAXXijLJwm7F73jTQGss4c0IrWGFN3kbAqIND6FBA03YRQq7owEIPhiTNkihDV/RhrZogx5aOIC+zrm8Ls/F2rEn1MLRh96sw/r0s382Hcezck9cizAirAjEa991X00TqE3SBHDTNIHdFrwez8V6s//UGHV79sXBR5de+INpXlDT1Ci1yXmcr/Vpr7MOvhbbwvd0G7TaXIXX/ipaby2l9XTiM6HRZotmEDXE/NPsI0PIr9H73E89/ofvmHvUn8++xEU98TmcaC4nmvMN5UPDs8XJPGriTl7fcNOhuh7w/huPTg6CB5AbnEPGStaVpZ6xSeazozwH5XwjPaG5hHD3gPSTJP0m/aeRHpWeBeljzdka6X+iOSM0x4TmpNAcdgnNmZ3m3Il8/UCLO7QFhbYBbbOgbW4jCwWymLLgoBWmk4Xdit/JxmnNJbIhW9MKb3Jog0C0ASI0bECi3pCoJy7ukANStGEq2gCGNrRFG/ZiLiA4l2tz7zw/6z7t/emH6rDmr5KPnbi0Ntwr1yCMFFhL5L0FqtNCOGlBnjQhWEoTkRFNcFbRRGqTNBHcBk1qN4lehzVjX6gP6u38neO3cx29/alpBtB/1Cc1Rz1o3Xdz37qfbZP7uWm8FpfSan9E9tM6ZB832kxIcq4I6oEZxRzU7CMXyKfh+9w/+g9TTWnuMTc5XzK+TWkHn/WJZ4TjmZJkHimvyD3WgrydRPXEvX09Pv7/Tg6DW+AB5Abrk1nqv048kxPluGiZL9IT3CGS9I/0kyT9Jv0nSX+C9KzmYulrI5oDQnPG5paQHuo0h11Cc2anOXdyoMQd2gJBW1RomwBtw9rmNlqxZEFBFl0rTicLG1oDiGyc1lxONmVrXOGN3oaBaENE7FbcQUMQckCKNkxFG8KiDW7RBj60kAB9netyTzwz68geUjNnPvr9OrSP3/ORaa04h9flWuuIO7RAdVoQJy3QkyYGS2lCMqKJziqaUG2aJoXboonubuG6PAfrxX5SO9TsuUfeqLV59tX/Os0V1SeyRD2xn1xjJ/eqc/aC3L9t4DW4lFbzI7KP1iH7t9FmQZLzxKGGJNjML+Y09ULezL7P/cw904zkeGYmdSgh1/zTdUfkDHY0jxs+5x3PhqRli1AOCZ6J7OL5yEiylnw/fOdH6lqceOYbk8PgEeQFx5O7ylHgWv7rJHPZ8SzPnE/cD9IfkvSP5iiOew2k/yTpT82x0sMgfW1Ec8DmitDcEtJDRXPXpTRndppzJ1sRd2g3vIS2SNAWFdomQNu0trkjslhaUWXhteJMsrhbAzjZPK3BhDcltMYV3uxtGIg2RATDxmnSDinrjqQdckA6baCKNoihDW/RBr4YBYXO5X54LtaOPaI+jj/6+3Von37qP07rqADjWoSSi/teyHsL9aTJwTo0MRnRhGcVTay2QZPEbdMkeF24DvfP+rLn1Bg1d/alv6q1eeKx35vmBLXMcRzPeZyvdWiv4/gz7CW+X9ui1eAqvMZX0XpoHVoPJz4DGm2WOMwmCTYzkHnLrKduyLPRe7r1PndmPLWluarZp2uO8NmbaE43fMYn3Ecj88TJHAIXdzKA7CX/R2+ZPPzA5ydXwRnIC9aO8zJH9etG5rKjHIeW9UJeINIfnPQOd5JGek16TyP9Kf0K0sOg+VqjOWBzRUivFM1FobnrUpovO825kyvEfVPy3m54CW2RoC0qtE2AtmnQNrjRCiaLKgsPWoE6WeCtCZxsoNZkIhuzNa/wZoc2EEQbJEJDB1zWE5d1x8Ud2qCENlRFG8aiDXBoQ1/MhQXn8prcO2vDuk97f+bROrT5a9LR22X2UtyhBXvSBGEdmqCMaOKziiZY26DJ4l7SJHkOnccasQ/UBHV27o4Ha13C0fMfnnqfvqPGqTPO1Tq3+9Dr7Be5T9vCa24prcZHeM/shNa7SZsBSc6RRPOJWmJ2McOYZWQI+XXs4bdqbel97pp7zE1qTLNvr8W9ZYPg/kZkDimneC7yj2ckl/GB0Q/r3nz7K5OTkBMcy9p5tm5K2sEzPkk/SH9w3DmguYmTXtPcx3FnEulXzcGaqzWa+0F6omhuCc1FobnrEporO821G1eNuENbWGgb0TYN2iY3WtFkYbXia0XqZIG3JnCygVqTOdmcrYGFN3wbCqINE7FbcQcNQ8hB6bTBCm0YizbERRv8YhQYnMd1uVeemTVmX6+/8ebhP3V9/M5nprXiGTifaym83m3y3iRljiZAq2iitS2aPO4XKdEOX+d+WR/2kHqhXs8+1r8LyPuQmRfUJT2ELFFD7CHX0PX89fcT35Nt47W2lFbbc2TfrEP2a6P1fpLzI6GGNJuYVcwtZh8zm8yY8uu2p4f1RcYwI33upaA3NG8bPqMTzfWGZ0KSeSI8e4Ryikyjd3hGchofGM3/6w7fMbkHfkCGc45nK2vEf0d4Fiee4cr1Ee4F6Q1Jekd6SZJek96TpDdB+lVzsOZqjfQ+0VyxOSU0BxXNXZfQXNlprp24qx8YcYe2UNAWF9pmQNu4tsmNVjRZWJDF14o0ySJvjeBkE7VGE96c0BpYeNNDGwzQhomQtIsUdieFXWgYijYwoQ1X0QayaIMc2vAXo9DQudwPz8S6sUfUx/ELf1QHN999Yh15Vu6HaxFQmxZ3aAHttJBvNGFYShOVOZoILaFJ17ZoMnmQ4B5ZE9aTfaa2qLWzr/xdrcnjD39+mg/UMMdxPPXD/mlt2+vsNb4He4HX11KynleR/bIOrVcb2fdJzo2G5o6LO7OPGc3sJ4tuuuV4rS/gfe4cx/HUGPMzJb3hMzfxGZ1oNie89oiWJSLzB3gW5jh9w7ORo2T4jYff/gNKWQN43wcuiSTZT0Yrez1D9f+NzGPH89uzPUkvSG9w0jfSR5L0mfSdRnpTc6v0L2iu1kjvg+aI0JwSmoNCc9alNFd2mmsn7uo/N+IObaMbWTStuLIAW5EmWeitGZxspNZsIhu0NbHwpoc2GEQbKGK34g6SdmgDU7QBC20oizbMRQsAMQoNrslrct+sDXsy7f2tz9bBzQ8Bst6sAedxDQIqxX0T8t5COmlBnzRpWIcmLHM0IVpCk69t0uRyv9G9sY7sHXVCvZ69q//z63Dk9L1Tz1PD1CO1x7nai/1+Vj3TXpF1tRSv4SW0XlkH79ERreeTNjscnznUBrOKmUWtMIeZ++QNc2/ufe7MR2qMmam5R21K0hOftwnnj2izXXgWJJ4hTuaOIJ+Y42Qdz8YaTJl+61N1DU699DeTu+ATZD3HK2szRxscN8KzGzLfnfQC+UIjfaM5iZM+k77TcGeC5lbpX+lnI5rzQXNEaE4J6Z+iOetSmis7zbUTd/WNizu0Gx/Bwn7ve9+7+NOf/vTid77znbpgoEVl83/0ox9Nx4s33njjHRvCNSmsPO7Tn/70Ozaa4mzHZOFAFlcWIGSRJlno2QhJNlJrNiebtDWy8MZvw0G0oSIOgrhDG8yiDXRoISBGwcF5XJN75ZlZY/b1hpuPXjz7if9WB/jxO56YjuUczud6hOE1ef9fNDFaQkrYXtBkc7/gflgH1pC9pYaosbOPf6nW4umX/3aaI/QuPUUtUlfas/18Pl/jvSLraSleu0vI/liX1qNJ9nmjzQwn543mEmLN/KNmfO6t8z53zdUUdqFZ29D8bXDtRuaAk/nheOY4zG+eh+fn2egjMv/Ifb9Z1+DYY384+QruQNazZsrazNFG5rCj3IaW7UIeIJozOO4a0JzESZ9x12mkL0F6VXoXuLPN4bLuuBsK+WTS3FM0f11Cc+SkuXbirv4OcYd2QtJe2Gk3P+LNN9+8+JOf/OTiD3/4w5XizoD68Y9/fPGrX/3q5YV+6623JuF2eWfYcdzXvva1y5v3hS984R3yzkDVMdp4PyaLJwsMsghbsSZZ7K0hnGym1nAiG7U1s/DmhzYgRBssgkEmXNaTJu0gaRdtaEIbsqINZ9GGumhBIFp4cA7X5H54JtaNPaI+Tjz1J3WAn3zkzWkNeVbO5VoE1TbEHVpgJxn6jZSHdUl5WUUTpCU0IdsLmnzuNdwHa8B6s/fUFf1w7mP/WGvx+Id+e5oL1C61SA1SD5yvtWyvs018TfcSr6F1aLU7h/fETmi9mWR/N3JONHLeaC5RJ8wtaktzb8quNd7n7jPVhR30+w2fyYnP8kTzv+HZkXjmOMxvnj3F/cTjf1zX4NDdn5pcBE8gI+g75WzLUcezN+EaTua64y4AzRlEeoY7SCM9prlOkr6UPgXpXSA/W4XLupATJvLHpLmnaP66hObITnPsJD19X8WdjeI73p/5zGem77qvEvdvfOMbF3/wgx9MhaaF5hqcy+9TnGzKN7/5zenXFK82kEL5/ve/P/0+Ba9j+H9tPMWlY2gSLx4vLpGFmIXayIJvTeFkQ2XDOdmo2ciONz/kgHDacBG7FXdYIu7QBq1oA1q0wQ4tDMQoQLger8d9szbsCXt/yx0v1wGe/ygJ1yCsmrhDhmfSAtdpoZ208G80kViHJjJzNFFaQhOzvaLJ6F6g12fd2Ctqg9o6e99ztQ7hyMk7p1qkzziWeuNcrrHXz6PX2w9aDS3Ba3UJrSfWwXtxjtbjSZsVTs4ZQY0wqzT73jH3Fr7PnbnHvNUs3ba4++xPlBeNljnAM/DczHCeifwkm3EA3hLTnv+GMxcmFyEbWCtl7qo8BeVuQ3ktPNOT9IHmDEJ+IdJDkvSY5jqJuxKkT4E7l3A5n8OFXbisO/LHpLknNH9dSnNkpzl2kp6+r+IuEacAV4k7G4/k+3fbgU3gu+581/65556biojj/Lvtgu+oc9yrr756+ZjcfB3zwgsvXFFAWWRZiJDFmmTBt6ZwsqFa0znZrK2hhQ+ANiREGy7CxX2n8i5pF214Qhu2og1p0Ya7aIEgWoBwDq/HffL8rDH7ev2hE3WAw/HzD01rwzNwvsS9yXsLz6QFr9OCO2kC0GhCsQ5NaOZowrSUJml7SRPUbcHr8cysMftJLVFbZ5/6g1qDp1/4z9N8oGapX2qQWuF8rV17nU3ia7UfeK2sS6vVObwHdkLrxUb2dSPnQ9JmjJC4MwOn+vrZ3KOWyLsl73On3jhXs3Sb0g4tA4TyopF5I5RTZJhmPtl9w02H6rPD+288OjkH2UBucw45y/mryPx1PLNbpgvlv3BHaKRnNBdx0mPccRrpSZA+lb4F6Wcj0vVECrtwh3Sae0Lz16U0R3aaYyfp6VsRd2gP4DAw/uf//J8Xn3766WmBV4k7A4i3trz++utXLDaSrbfLMPQ4jv/PTXzxxRen45B/jsn3vIOOufZ2mXfSBozYrbjDEnGHNnBFG9SiDXhooSBakHAO1+M+eSbWkT2iPkaf53vy4c9Oa8hzci7XkrynuEMLUCeDt5Hh3Wgi0EipWJcmNnM0cVpKE7a9pknrpuF1eF7Wl/2mns7fdsfFc5/4p1qDx+795FSr1Cw1SO1RA5yvdWuvswl8bfYLr5F1aTU6h9f+Tmg92Mh+buRcaLQZI5hHLu7MYOY82UKWjd7nfvLRL02ZQr1xjmatZt8qaQefxYnmd6J532iZITxjEmUUz80zkbOTrJ64tz47Hw+Js+ATrBHH03urchQ8cxPPalCON9ID3BGS9Iv0jyT9xd1mRHpSc6n0LUg/G5GuJzYh7dAcdgnNjZPm2El6+hXiDu3EpN2A0x5CsKAS9fbrtnDPP//8JNSrxN3/3zcQJOXf/va3L8t5FsC2xZ2BpMElGIxz7Ebs2jB3PAhaiIgWUI0WfKIFqsiwb59ZDR/+8IeHPPLII0MeffTRIY899tiQCxcuXIZfczzX4x5ZF/aDUGCon3zgX9dBfu6j35n2kTXmWblXrvX4449ffOKJJypPPvnkLE899dRK+EPxKp555pmVPPvss7uGvw1bF3r+aod5tGm4LuvD3rDP1Ca9cfejn+z198n/fvHs7fdNs4ca5FjO4VyuobVur7VTfA2uVrwWl9Jqf12890a0Xk58Foxos8VhRgHzSnOPGiK3kNqT977Ua+6Vv5nqjQxi9lNznN/makPHNXJ+O5r3jcwLR/mS8LzMbJ6BeU++8lzI/ukHfqM+++nn/3ySZf9DMueRt6vyVF9vKKchczxxB3A3aKRfuHs00l9Yj3VZ+ocx/4PXHPkHMcg/gAn/JqGjP6Al7ONOaW7sNLdOmqPvi7gz4P75n/95ejB+fbWIe5P3FPdV8k7RZuG35nCysVrzOd600Bpb+DCANjBEGzQNl/XEZT2RtEMboqINXtEGtmiDHlo4iBYmXIv74FlZX4YODc77OtsghzvufXQ6ljXgPnldheJOxB1aEDstzBtNDJImGOuSkrOElKmrHZfbncJ1WBv2hVqhluif21/8T7X2zj7/zSnImCXULPXLeew9+7KJ+/JnfDeQdbiErPedkH3XyP4d0WaC02ZKQp0wo5h/1BlzjyyglqipE6dvrTUHt91535RH1Bwznbprc7Wh4xqa24nmfCNzwvFsSVzcyUeehwxHAE9f+Df1uU888sXpu95kAvLJWnGe8lU5mXjWJp7R0LJcePaDvGBE+oW8Y0T6iwv5UrYt7ZDCLpq0g8u6kzK+Ds2NnebWSXP0rYk7uKwLZJf3l3/lK1+5/HtLxJ2CHL1VhkErWafIt/VWmSbusI64i/zrpvZXUk7+dVb7Ky+Rf02Wf43m5F+/tb+iE+2v9oTeKgOtgEVrDJGN1JoOWpOK1tiiDQeRg8TJgcPxXI975HlZR/aQ+jn53F/WYX7ywdendeIczuU6GoQ5OEUbskkO6SSHeiNDYUSGyU5ogbUK/4PfTvA/HB4k/A+q68C5rAvryR5Tl9PbZD7532vtHbvn1alG6T9ql9pi37W2O70Xf5aDRO7/unjtLSXrfCe0nmtk/zZyDjTaPHE0hzSnqDPqhxnGLCOHyL/R+9yP3fX8lCnMdmYz5/osHeGzN+EaI3zWJ5kTTssY4DmVTfQOGUgfkcc89+itkTff/sr0lgxcgDUigz1bPTcdfb3hGQ3K70bmf3ME4U4B6R1JektzmyT9yN1JNNdKNxuRnifyLTKQ7iiacwp56ro0J06aWyfN0Xcs7tBuxGkPw3cmEOM5XnvttSsWj2GEbOcPp4L/cCoDUMexUb6R+sHTz33uc9Mxcz+cyh8GWjG1osvCbMWbZAO0JnGywVoTOtm8rcGFD4Q2NEQbNs6m5b0NU9EGsGiDW7SBDy0knAwVrsV98DysDXtCLRy5/7U6zPnhQNaX47lHXpPrzYk7tEB1WiAnGeqNJgiNlI2d0MRnFU2w1qEJ3kGkCbKj41gT9oMaoR7PfOjjte6Q+VuOXHp/LT1FzVE3nMs11n3dg07b+3XwmltKq/F18R6bo/Vu0mZAknMk8RmU4s7cY96TM+Td6H3u+s4zM49zfM5qnib6+gjN6yTnvJP54ChPGi7uZBo9RJaSx8x63svenvu6w3dMvsHacCzneLZmbgp9veEZnfmdeO6nFyTpFe4cjfSW5jaJuxG4O4nmWulmI9zxRAq7SHcU6ZtO89glNCd2mlM3mqNXcYd2gaTdjNMepsFC+3fcIRePDeIYPoWGgtOCs8H6fQqVIvBfayMpGP0+TegfDakCoMjy97OYIIsuCxOyeJNsgNYkSTZZNqHjzQutwYUPBWiDQ7SBIzYt7tAGKrQhLNrwFm3oixYUIoOF43kt7plnZ83Z1xuP3l6HORw7ffu0Ntw/53M9vVXKg9JpoZq0YE5awCdNFBpNPNalCdASmmytQ5O9qwEXaJ6DNWTPqB3qmrfDtJo7+cR/mGqTuqNeqTfqgfO1HlejoCe+xzuh1doSvKZ3SuuxRvZrI/u+0WZI4jNI4k7tMPuYX9QT2UF2Hb7zI7X2Tr/011P2cCyznDrV/ATNVMe/nvisTnzGJ54NiWdKwj0rl3gG8o/n4ZlvPPz2HC/PDO/7wCWZJA/Iac7xXM3cBH2tkfmc+e0o74U7QSOdonmH484C7jSN5kbpT82x5GRLkOM5TdrBZd1J3xTuqevSnNhpTp00N4cDLe56CwzfPc9fa8H9u+3aHN5zqeO0kfpOOsfxa70lJv8BJn23Xb/XiioLD7I4WxEn2QStUZxsstaIjjdwa3LHB0MbHqINHcFwc5q0Cw3ExKUd2kAVbRCLNsBFG/yiBYbwcOFYXod75FlZQ/aQmhl9tu+JD/7atE6cw31wnVXiDi1YkxbQTgv5RhOGRhOQdWkitIQmXuvS5O+go3tn7dgraoMaOnvrXcO3yRy549mp/+k5ao5aox60/lfrWgityW7I+lqK1/JOab3VyD4dkX2ftNmR5PwBF3fmHvVEVpBLNx8dv8/9yPFL39hgtmv2cg1wYddcHeEzOtFcb3gmJC1ThPKH++ZZeQael1ydsvvWp+rznnzhryZXIQc4jpwmG1blp2ds4tkMntuJZz6kEzjpE+kbSfqKu8yI9KLmTs2x5F+rkN8lLuuOy7ojUU/cU9elObHTnDppbg5bFXdoD5Sw0HPi7m+d0e8JRJsf6mHxfYMk736cpB3YdMm7H+PSDq2oWvFlgbYiTrIRWrM42WitGZ1s4tboIodDGyCiDR6xW3EHDU3RBiu0YSzaEBdt+IsWGsIDhmO5FvfB87Bm7Am1cOSBz9ShzqcNcBzPyD3qmgRiC0unBazTQjppQd9o4tBoIrITmhStognYujQRPMhwzzw7a8Y+IVPU4dmH+qcZ8Vf5vE2GmqOPqDdqiXO5xtW6DkL3vxuyrpbgtbsbWk81vDfnaD2ftNnh5NwRLu7MPWYYWaCZd+aVv681yPvcOY7jmZWcyzU0+xz9fsNndKK53shccDxLEmUP902WkW2a8eT7kft+sz/vY384uQieQMaTw8rXUXYqV0dwrsjcdjLv0wcSeYRozuGkr6TPNNKL3JlE+hW4g80hn3PcAx0XdUdu2XBPXYfmwklz6qS5OQzFHdqFknZDTnuopbz55pvTp8/QPL6YbfGhbRa0zYVWCI1WWFl8WaDQCtnJRoDWME42W2tIkY3cml34cIA2QEQbPsLFfafyrqEp2mAVbSCLNshFCwDRgkN4wHAsr8M9sy6s+bT3J++vQ53vih47eemvmbl3zud6BOI1ee+StIomY+vSpPAgwr3yzKw7+03NUH9nXxz8QPSFP5hqkr7kOGqN8zhfa9de56Dje7dTvIbWodXuTvAemqP1ZqP1euKzotFmjkhxZy5TV5p5xx/9/VqD/j53ztHs1SwVmqkNzeWGz/REOdDIHHE8e5jtzGuelecgc3neE4//cX3eQ3d/anIOHIE8Z308U5WTjmdr4pkMntlJ5j2vPSI9ormGk54CzWkceZCT3pReBc3BRjSvS/8TzRnB3dJpTrqU5sJOc+mkObk4sOLOpvLpM+0HVdviQ9ssaJsLrRAarbiyACGLtBVzks3QmsbJhmtN6Xgjt2Z3fEC0IeK0ASR2K+7gwxPagIU2lEUb5qKFgGjhITxoOJbX4f54btaYPaRmRt+B4l8U5FjO4T64zqbEHVpgJy34G00kGk1MdkITpSU0MdsJTRIPCrpH1om9oR6oHT6fvdUZHLn1samv6TVq7Wp/m4zWYLdk/SzFa3U3tB5qZD+OyP5utFmR5LxxJO7MPuYes5f5Tn2RY6ve587MY64zLzVjNUs1T0doLjd8pieeBUnmiPDM4X7pHZ6TzONZyWCyfvR2yBtOfXhyDo7hWOXuKDf1+yM8k7nOHMp5aC7gpEe4YzTSU9JjGulD7kqiuVX614jmdJD+J5ozQvqlaF66lObCTnPppDm52Lq4Q3uwVfDddn5IlKJqi9o2ANqGQdvgVgyNVlytCLNQWzEn2RCtaRJvuNaUjjcztIYXPiSgDRKRA8hxcQeX9cRl3fEBCm3IijaYRRvoogWBaAEiXNy5DvfAc7KG7A+1cPTDX6qD/fTTX5/Wlmfk/nQ9QpFwbKHptMBNWnAnTQAaTSgaTVB2QhOmpTRJ2wlNGvcb7otnZI3YP2qF2jvz4f62rLOv/tepFulV+oc6o37YU65xkJ810b3ulqyXdfAa3Q2tdxrZhyOyrxttRiQ5Z5IUd2YX85tZRp3ddORtGS51CIePXfrkLc08n68HSdrBM4f75RmZ7dw/+UlG33DTofqc8P4bL30gBvnPunCOZ2lmpX6/oRwWmdeOZzw0F3DcIYB7nSM9pblMkj6UvgTNrZqDNdLnoLkfNFeE5paieekSmgMnzaWT5uRi1+IO7cac9nBLaIsp2iZA2zRomwytIBqtwLIIs1ChFXSSTdEax8mma40psqFb0zs+KNowETmAkt2KO/gQhTZooQ1n0Ya60wIBWog0uAb3wP2yLuzHtPenH6qDfXq7zIlLa8J5vJbE/Zq8X6KJ01KasO2GJpL7AffC87HO7C81Q32f/cj/Vevs+Ie/MPU//cdx1Bbncb7Wqb3OQcL3Ybd4jaxLq9Gd4L2yitaHSevpxGfCiDZjHGaSi7vmnmYemUQejv6W8eidz015opnHuTlHR+RcdjTDG54BiXIjybxRRpFn3D/9NEnriXvrc/IzJbgJXkEGkAVkrrI0MxKUpw3lMLSsdjLn3QESdwdIv0jST5rDJO5AIn0pfQqae41Il4PmftBcEdIrneakS2gO7DSHbjQnF7PiDu2CSbs5pz3cUtqCQtsEaJsGbZOhFUSjFVkWImSxtqJOsjFa8zjZeK05nWzq1vjChwW0gSLaIBJLxR1c1hMfpG3YijagRRvsogWCaEEiFGAcx2twfzw368ueXn/jzcPP+T1+9wvTsZzDPXCddcQdWgA7LcQbTQiSJhYjmrDslCZRS2nythuaWO4VugfWhP1g/6mZs3d+uNYXHDn38NTP9BA1Sl1xrtZ1v59phJ51U2RdrIPX4m5pvTLCe29E6+VGmw1OzpWGiztQe8wt5hc5QAaRfave504WaOatmq+gOdzQ/G7k/HdadgjuzSGbuGdmNVlIljLbD9/1sfqcx5/8+uQm+ALHKXuVo8pG4VmaeAaDZ3Ti2Q6e/Y30h+YYTvqJvGWO9KD0JGhOld41orkcNPeD5oqQXimaiy6lObDTHDppLu5cteIObSOgbRy0jW5F0WhF1ooxCxZaYTvZGNAayMnmaw0qsrFb8zs+MNpQETmIkqXynrLu5DBtAxfakHbagBctGEQLFIdjuAb3wHOyfuwP9TEKslOP/+G0fjwf98Z19F13hWQLUKeFcNKCPGlS0GiCMaKJy05pQrWUJnK7pcnmtuF1eR7Wgz2jPqi5M4/+Tq2vsx/9h2kmUGP0DPVFzbCPXGO/nmMOX+NNkfWwDl6Du6X1yIjsuxHZx402E5KcK4nmEUjcmVXMPWYec55MIcfm3udODnEs9cjMWzVf9fWGz+6Gz/3EM8PxjAFmM9nk4k5PkedHH3qzPufhBz4/eQmznwzneOVpy0vlaMMzGDyfk8z3zH9HviDSKxrpJukvSfoPNFdylxLNvRrN5ZrzQXNESJ90mosupTmw0xw6aS7u7Im4Q3vAJbRFFW0zoG0etM2GVhiNVmhZjK1oW3En2RytgZxswNakTjZ3GwAih0YbLCKHkbNU3MFlPfGB2oauaINatAEvWjiIFipCX+cavD7PwZqwH9TCzeefrAOe78QfPX5yOp7zuE6KO7QgdVoQJy3QkyYGjSYaI5rA7JQmVuvQpG4TNAHdBrwWz8G6sqfUCjV97tXv1vo69sAbU8/TdxxHXbHPnK/1aK+z1/habhLf+53QanCneE+sovVcI/u3kXOg0WaK47NIpLhTY2QGmTV8n/sn//vFw0cv5QjzXPN4bsbqaw2f3YnmfUM50fCM4R6VSzwf980zkrtk/sln+z92dtOtL0z+weznWHqQ81pW6vcamb/K5Ubmumd+I73BnaKRXtLcJWkO5I4E6VHQnKvRHA6a80H6oWhOKZqLLqG5b9IcOmku7qwUd2gXTtoNOu0hl9IWFtpmiLaBbbOhFUejFVsWJGTRtuJOskFaEznZgK1JnWzwNgREDo42XIQPo4bEHTQMGy7qiQ9VaINXtIEt2qAXLSBECxaHY7g+98ozs97s6XU33HTx7Cf+Wx3yx25/fFo/nofX5zr6jpYHZQtUpwVy0oI9aYLQaMIxoonMbmiStQ5N8jZFE9NNoOvz/Kw/e06tnL2n/wMwcPjUPVMfU4/UJnXEuVxj2/e7Cr3+Nmh7vg5ea5ug9cQI77E5Wu8mbQYkOUcSn0FOijuzm4wgk8jD4fvcb7swHcfxmtOj+arfb+TcdnzWJ54RSeYLfaNckriTmXrG0Vsgrzt8x+QZOAAZTg7Qhy0r9XsNz17wbE4y1z3zG+kN7hSN9JL0lkb6T/oRuEOJ5lyN5nCQvieaH0JzSmgOupTmvk5z56Q5eHJVizu0DYG2gdA2vBXHiCy2VpRZuNAKPMkmaY3kZBO2RnWyydsgEDk82oARPpCSpeIOEvWGD9Y2fEUb2qINe9FCwslwEfo61+DeeE7Wj/2jXo5f+KM65E9e+LfTuvJs3BvX2sl33aEFc9ICPmmiMKLJx4gmNTulCde6NOnbJE1YdwrX4555dvaImphq7Yl/W+vq1PP/+zQL6Ev6gbpi/7UPm76/JfjabIPc353gNbZbsv5X0fqrkf3ayL5vtBmS+Axy9M0FZh5zi/lFrVFzZN/o7YHHH/z0NBeZj5p5mrttno7QvG5ozjcyJxzPFuWNMon75fnISzL6hltO1ueDX3n/JZ8g78lnzvHsVCbq1w3PXPBMbniet8x33BUgfSJJH4F0liS9B9KPID0K0rVGpL9Bcz1obgjNJUVz0KU093WaOyfNwZM9E3doD7qEtriibQq0TYS26dAKpNEKrhVmFm8r8iSbpDWTk43YmtXxJoc2CEQOkDZkhIt6Q+IOLuqJhmbDhyu0ASza4BZt4IsWFMLDxdHXOZ/X5jlYE/aDOrjljpfrkOfj+lhn1oT74hpN3KEFa9ICOmlBnzRhGNEkZEQTnN3Q5GtdmgRumiay68A1uFfWkD2kRqY6/9g/1ro6/qHfnnqbuqImqSf2lfP1zO11No2vwbbwvdwprbZ2g9f8KlpPjcg+bWS/N9rsSHL+ONQTNcjso76Yxcx4ao6cG77P/fk/nzKI2cg8p4Y1c9s8bXD8iJzzjnKhkbmivGGO00M8G/nHvU8ZfWv/m66TL/zV5Co4AutAPrMmyk7PQ+VmwzMXMpcd5bjwrG+kL6RPJOkj6SsNdx5IL4LmUOlZI5q7QXM9aG4IzSVF+udSmvMmzZ2T5uDJxsQd2o067WGX0hYY2qaItpFt06EVSaMVXSvOLGBohe5ko7RmSrIZW8M63uhtGDg+QNqQcXwwJZJ2cFFvaHA2fMC2ISza8BZt6DstMIQHTAsars998sysNXt6/U1Hxm+XufWR6Vieh/Ml7tfkfRlNxHZCk8Jt0SR3hM7hWVlr9pg6OXPvs7We4Jbj56Z+pQ45ltrhXK6xk3tYiq69F7Q93AleS5ug1fwI76FVtB5NWq83cmYkOXeSFHfmLXOdvCCzbjx6e61L3ud+5NglMWXOc57P25ylic/oRs55x7Mh8UzxrOEeXdzJVjL88L2/UZ/v6KN/MPkIjsDc53gyVtmpLMzcTDheZB4nnuWZ84k7AjSXSNJH3FUa6TvQ3Kg5VHrWiOZu0FwPmhdCeqRo7rmU5rxOc+ZGc/BkkbhDe4Gk3azTHnYpbZFF2xhoGwlt41uRjGiFl8XZirgVe5LN0hrKyYZsTet4s0MbCMKHCLRBIzSYRiyVdx+eiQ9ZaINYtAEu2uAXLTSEC7vD13Q+9+VBRr2ceOpP6rA/+cib07ry3NwX1xp91x1a0DotqBst+JMmECOamIxowrNbmpTthCaJ26ZJsODr3Bfrxp5QF1ONPfUfaj2deu5b0wygH+kBaon95nw9X3udneDPsFf4Xu2GVkO7xWt8Fa2HRmRfNrK/R7SZ4bSZ4+ibChJ35h51xvxijmnejd4Drn/Jl/nInGTm+WzV/zc0Xxs+2xPPhMSzBDxreCbuk+zinslacv3EE1+pz3bo7k9NzsHzk+NkrTLU89EzM1HOCs4fkTmeOZ+kJ6RHJO4gkJ7SaM6TXtTcSV61hOZuzfEgfVA0hxTNPZfSnNdpzpw0927sqbhDe+CltIWGtjnQNhPa5kMrlEYrvixQyCJuxZ5kw7SmSrIpW+OKbPg2FBwfJG3YOBpODUm7kKg3fIAmPmjbMBZtiDstAEQLDiFZd/Q1rstr8wysF3tBHdxy56t12POxfawx68F5vPacuEMLXKcFdqMJQNJEYkQTlBFNfDZBk7Sd0KRxr5Eccz+sGXtGbZy79faL5z7xT7Wejt37yamnqT9qiTpiHzlfz5UCvgq/p/3C92Y3tJrZBF7bq2i9MyL7sZF9PaLNCqfNmsTFHTTzmMvMf7KIeTeSW97nTn2SB5yjOaz5OUJzuaF5PsIzIfEs8YxRDjGXeS7umSwm50+99Df12a4/+fDkFhzDsWQts92zUf8/wrPWM7ih/BaZ8076QfpDwx0Emqsk6TvuQsKdSTTHajRng/Q70ZwQmkOK5p1LaK6bNGdOmns3Niru0G7YaQ+9lLbQ0DZHtA1tmw+tWEZk8bUizUKGVvBONgy0xnKyMVvzOtn0bTAIHybQBo5wUW9sWtyhDWTRBrloIeC0ABEjcec8rs19sh6sNXt+/aETddjDsbMfnNaGZ+F8iftI3lvoJi24G00EkiYUI5qozNEkaLc0YdspTSL3Ct0D68Q+sPfUx5n7X6l1xFsRbjl6aupR6o96pBbYF9ZF1z1IQr4K34vdknWyCbKeV5H9Mkf24YjW10nOh0bOmUQzycWd2UdNMrt83h2+51drjfI3QhzDsdQoM5rzQTM00ddH5Fx3Mg8czxBQvoBySOLOPZPN/KN67bngfTccmdyC3CeTyVXPS2a8/r/hGQsti0XmN/c3R/pB+kPSHCQ9JXHHEelDkN4Eza8azdkg/U40H4TmkNCccynNdZ3myo3m3o3F4g7thZJ200576KW0xRZtg6BtKLQCaMUyohVgK9Qs5lb0STZNa64km7M1sMjGb8PB8YHSho7jop64uB90eW8h4jR55zyuyz3xfKwd+0e9jD7798RDn5nWjefiXK4zJ+7QgjdpAZ40EWg0sRjRhGWOJkSboMnbbmhiuU14TZ6DNWWvEKWptp75aq2jU8/8p6nvqSXqj5qkDjhf69Fe56Dha74JvCY2SavlObxHVtF6sJH93Mi50GgzxnFpFynuzHeyhPy66fg9tUb1ee7kCDOe+bxq5vrXE83xRuaAo9wQmS/KIJ6JGU5fTc918v76XLw1CD/BK8h48pi1UF5yHeXjCM9Yz96GZze0jBfuBCLdIUn/cDcZkZ7TXKg5U3rVHM3Z0utEc0Fo7ijSN9ehua7TXDlpzj1iz8Ud2oMvpS04tE2CtqnQigBawTRaEbZizYKGVvhONg60BnOyOVsTO9n8bUAIHyrQBo+QpI/YhLiDD942nEUb6k4LBNGCRLi0g36fa3JPPANrxd5QB6MfauJfFWSNWQ/uV9cmHFuIihbASQvypAlBownGiCYuczQx2hRN5nZLE85Nw+uwNqwne0lNnD1/2yQ/rY6O3Pni1MfUETVI/bC/Wt+9uu+d4Gu7KbIONonX7hKyP+ZovdfIPm7kPGi02eK4rDsu7swt6o45RlaRj6P3ufN57pp3mt2jeavfb/gMb2j+Nzw7WrYwu7k/8op7JU/J7cN3faw+0/Envz65Cf4wHff28fSispLrZE46nq3Aa47wzIaW7Y47AaQ3JOkd0Bwlcb+B9CBozpReNSI9TTS3g+aC0NxRpGsupTlu0lw5ac494n97z3veU7/QaC/WaDfutIdfSltwaJsk2sZCK4RWNCNaIWaxZkFDK/wkm6c1mZMN2prYyQHQhoTjg6UNH8dFPWEgOi7rSRuqwocvtAEt2mAXLRScDBNH0g76Pc7hNbl/1oK1Zs9vuOXteyxDH46fuWdaG56D87kewUhAtjAVLYiTFuhJE4NGE405msTM0SRpUzS52wRNRHcL1+WeWRPWnTqgLs4++KlaP8j8ocOXRIHeoA6pD87lGtu8152ie9o0ue+bxGt1Ca0n5vBem6P1cNJmQZLzJHFRT1LcmXfUH1lE7i19n7vmc85afj1HznFHc7+RueGZIngWson5zb3qmY4+9GZ9pls+9LnJQXACspv8VWZ6Lo5QrkLmbuKZDZnrSXqBO0MjvSO9pJF+A+5A0FwpfWqO5mrQvK45oEhvFM01l9Ic12mO3GjO3cDZ1xJ3aC+YtJt32sMvpS26aBsFbXOhFQK0wmm0YsyChSzqVvxJNhC0RnOySVsjOzkE2qAQPlygDSDhot5YKu7QBqvwAdyGtNMGvGjBIDxMGinvnMM1uT+ej3Vl76iXUy9+uw7+Ew+8Nq0b53Au1yEYoQWq0wI5acGeNEEY0aRjRBOaOZowbZIme5uiCepO4FrcK+vH/lEH1PDZ5/vbrU4+8R+mfqeGOI7jOY/z9cztdfYaX6tN43u8DVqtzuE9sIrWYyNa7ybe+yPaLEmasAuJO7NK8476I1fIuCXvc2e+M7s1gzVTNUdHcPwcPvcTzwzliKPcIafIOeY32Uq2n3zuL+sz3Xj++ckzOIZZz/ORmTzjKjJXM3cdz2pQjo9IH0hfaLhvQHOTJP2mOZA7kkifGtEcDZrTQfqfaM4ommsupTmu0xw5aa49Yt/EHdoCLKUtPLTNgra50IoBWvE0WjG2os3ChtYASTZRazQnG7U1s5ODoA0LJ4dMG0QiZd1xcV8l7224Ch/C0Aa1aANetHBwPFCSFHfgmtwPz8Y6sTfUxuEP/nYd/PzjJKwvz8u96rpLxB1aMCct4BtNFhpNQEY0sVlFk6dN0uRvkzRxXYLOZw1YZ/aOWjhz2721duDIbU9O/Uu9UXuIFXupddzN/ewWPc+2yH3dNF6TS2k9MCL7ao7s1Ub2faPNkCRFPUlxZ94x26lDsmvV+9yZd9Qr5/kM5no+exscPyLnvqOcEC1TlDs8C7ObnCR7yfvR238+cMvtk2eQ9RzLOTwfObgqJ5WloJwd4VkNnuWN9IH0hcRdA9JHGs1t0n8gPQnSp0Y0R4PmdJD+J5oziuaZS2humzRHTpprj7gs7uvIe3vRRnsApy3CUtrCi7Zh0DYYWkG04hnRCrIVbhZ3a4IkG6k1W5LN2hrayWHQBobwIQNtEAkX9YakHTQsR7QBK3IYt4Et2qAXLSAcSXkjxZ3jeT3unXVinaeBduzuOvjh6KnbpnXhGThf4n5N3rdLk8Ft0KS2wbHcF8/PGiNJ1MOZB3+z1g0ycZDeJqPX2za5j9vAa3EprfZHeC/N0Xq00Xo+ybnRSElPNJc08zTvmOXkBNlFjg4/z/3Mh6as0bzjXK6xhDa7heZ8wzMCMkcEM5vnIMN4FmY3z3PTkbevX54FfuX9lySSnCeDeTbl41xO8jXHszbxjAbP8EZ6QHpCI33DXWREek16DzRHai41Iv0M0uNEcz9oriiaYy6lua3T3LjRXLshX19b3KG9cNIewmmLsJS2+KJtGrRNhlYU0Aqo0YqyFW8WOLRGSLKZWsM52bCtqZ0cCG1oODls2kASLuqJizu4qCdtwDo+kNvQFm3YOy0ohKR8hMs7x/N63BvPyjqzl9TLmVf+vg7/E/d9fFozzuFeuI4CkrBsAZu0oE5a4DeaQDSakMzRZGcVTao2TZPDbTMSX+6HtWK/2H9q6exLf9Xr5rHfm/qc2uE4juc8ztdztdfZBP4se4Xv2bZoNbgKr/EltF5qtN5seI+PaDMjSUlPNJNAM0/zjllNRpBD5ODxx/9jrdljH/z1aSYyG5l3ms0+bxs+qxtcZ4RnBCg7Ep6B+6KfeBZ6i6w+dOtT9VlOvvBXk8/gDBzHs5Ojq/LRMxQ8YxuZ057hDXcAcEdopGekhzTcZURzn/QjSI8akV4mmstBcz9oriiaYy4lvTZpbpw0xx6x7+IObSGW0jYA2qaJttHQCqMV0YhWmFm8rchbMyTZUK3pkmza1thODoU2OEQOnDaUHIl6Y1PynkO5DW7RBr7TAkO4qDdc3LkW98JzsW7sC3Vx5IHP1AA4/eyfTcfxrNynrkdAKjRb0CYtsJMW/I0mEo0mJnM08VlFE6xt0YRxL9Br87ysK3tFHZy9/YFaM3D4/KNTz1Jn1B11wt5pzbhek+518fvca3xvto3X3FJajc+R/TMi+3FE9nejzYpEc2aES7uLOzXKvGMWkwlkDpl3y92frDV78smvTseQD8w75uSS+atjGjnnHc8GyPwQ3At9RDZxb/QVc5tnGX0q2NFH/2DyETyAvOa5OG9VPurrwjM2US6LluGOcl+4G4xIz0gPaTSnceeB9CJIf5qjuRk0j2vOJ9ITRXrlOjSnTZobJ82xR1wh7uvIe3vxRnsQpy3GUtomiLZx0DYbWmFAK6RGK84sYGiF3hoiyaZqjedk47bmdnIwtOHh5NBpg0mkrCeSdpCkN9qgdXI4twEu2uAXLTAcQmqEQgw4ltfi3lkj9mHa89MP1QDgvZ9HT1wSfe6f8yXuoPBsgZu04E6aADSaUDSaoMzRBGgJTba2RZPIbcJr8oysD2vPvlOTZz7c/7DH397Q79QXPUC9sLfsB9fRdZuIO34PB4ncj23iNbYOWderyL4ZkX04Ivu60WZE4oI+QrPISXFn5pMpzLrRWwN5C43qVvPO57LPW6GvNXy2J54J4JmRMKu5H3KJe+M5yFvy/MRTf1Kf5ea7fm1yDjyArOYcz8nMQ+D3Hc/WRuazcntE5r+7QSP9AtJBEncY0ZwnvQjSn0Y0J4PmcNCcD9IPneaWS2lO6zQnbjTHbrir70jcod1A0h7GaYuxlLYJom0etM2GVhzQimlEK9As4lbsrSmSbKrWfEk2b2twJ4dDGyAiB08bTk7KuiNpFy7rSRu2Igd0G+KiDX+nBYcjOW8oyDiO1+LeWAPWmP2mrs589Ps1BI7d/fJ0LOdwH1xHAekB2oLXaeHdaCLQaGIxosnKHE2GltDka5s0sdw0vA7PxjqyP9TSVM+v/F2vl4c+N/U2NUOtpbjv1X1vEl/zvcBrah1aLc/hPbKK1oMN7+U52oxwfLaMcFl3UtyZ6eQHucWsm3ufO1nC8ZzncznnrX5/hOZ6I3OB12qQL5J2+ol7o7d4jiP3v1afAa4/+fDkFuQ92awsnctGz07wbE08k8Ezu+GZD80NkvQLd48R6TGQvpM+JJo/NdzFnOZwkL4nmiOK5pZLaU7rNCdOmluPcFffV3GHtiBLaRsh2gZC23BoBdKKaUQr0CxkaAXfGsPJxoLWgE42cGtyJwdEGyJODp82oIQkfcRScYc2dEUO6TbIRQsAJ8PDkaTPwXFch/vguVgz9o1aOfrhL9UQOPXkl6fjeE7ukesQjARkBmkLYKcFeKMJQaMJxogmLnM0MVpCE7G9oAnnbtG1WQ/Wmz2mhs7c8XCtFTh8+v6pV6kvao064Vyt6bbuddPo2fearKeleO0uofXICO+5OVovN9pscHKuNFzUExf3nHVk4OhfjPb3uTPvNK9z9vLrOXymJ8oB0TIDeH3um3shr8gz+oocPfbAG/X+xftuODL5A9nO8crOUS7q9wXHzqE8FpnbSea+O0HDnUI0B0nSYdJzIH0I0pvmaE6W3iaa64nmh9CccinNZZPmxElz6xHu6u8Qd2gnNNpNNNoDOW1RltI2Q7QNhLbp0IoEWkE1WpG2Ys6Ch9YYSTZXa8Ikm7g1upNDog0SkQMoB1Tiop4wNB1JeqMNXscHdRvmTgsC4eHRcElP9HWuw31w36wRezLVwJlHawjwdpkjxy6tFedxHYk7ZKC2IHZakDeaGDSaaIxoArOKJklLaFK2VzQR3Qlci2dhHdgT9psaPXPhi7VWTr/8t9McoBepe+qNPdfab/LetoGv4V6T9bMUr9WlZF/M0Xqukf07IudBkvOkodkzwmce9apZR94w60YfgXvqqa9Nx3AsM58a1kzWjAWfyYnm+AjPAs8IR7nCPTB3uR+yb7q3Bz9d710cfugLk4fgCeS4Mlb52HKQ33c8U5PM48zrhNd30gca6RXNPZL0F3DHEc2Jmjs10sNEczdorgfNDUX65Do0l3WaCzeaWzfS03cs7tBuJGkPlbSFWUrbEGibKNrGtyKBVlQjWqG2gs6ib82RZINBa0QnG7k1u5ODog0TJ4dQG1TCRb2xVNyhDWDhwxraQBctDBwPkIZCawTH8DrcF2vAGrPf191w0/CvkI/d8fR0LM/JPXAdhWQL1hbITgv0RhOERhOOOZrMzNGEaSlN0vaSJqhL4XyegTVj39j3qX5f/W6vkwfemHqaWqHGroa3yfha7QdeK+vSanUO74EltF5rZN+OyDmQtFmSuKCP0HfcR7Nu9DM908eYvp1h5Ajzn/N8JnM9/f8Ijh+ROaB8cJQnknbum/uhr1ZJ+4nn/4+Lv/S+GybXIPvJaM5TbrY8zLxUjo7IPPasbijnRXMCJ30C0jsa7i7QHKe5UPrSHM3FoLlbczyRXiiaSy6lOWzSXDhpTj0iPX3r4g7twZy2OEtpmyLaRkLbfGiFAq2wGq1YW1Fn4UNrkCSbrDVjks3cGt7JYdEGiuODKAdV4qLeeDfJu77ONbgHnon1ZN+olWOP/LsaCKce/8NpXTme++Nao7fLiBbMTgv2RhOFEU0+RjSxWUWTp6U0adsPmrw2dDzPzdqyp9TOmbufrDUCtxy/faon6oQa4xzO5Rrrvv620H3sN61GluI1uZTWAyO8p1bRerbRZkDi86ORgt5gLrm4U4fMX2Y5tUmuTd+k+MR/qzWst3pxPOctmcfCZ3iS89+zQShH6B9en3xi7pKBS6T9Pb983eQueAOZzlwnX3meUR56VnqGNriOkzmdZM43F0jcJaA5R5LeAuk30FwofWlEczBIXxPN8aA5oWguuZT010bz4KQ59Yj09CvEHdqJjXYzjXwoFvu73/3uxZ/+9KeX+c53vlMXKaEofvSjH73j3Ndee+2KjaGg8rjXX3992lBtOMWax7zxxhtXFEwrrhGtYLOoIYu/NUmSjQatIZ1s6Nb0Tg6MNlQcH0aQwyqRpDcYoo6LetKGsZPDuw140YLBkYQ3XNYdfZ3zeX2eh/VhT6iJm299toYC34li3VkPzuP83Yq7aCGfNGEY0URkRBOcVTSRWocmcftJk1vga9wvz8wesNfU5Zkn/32tkVPP/+9T71NP1Dr1xv6yznru9jrbxp/1IOC1sBOyHpeQdT9H66kR2aeN7PcRbYY4LucjJO0Sd/BZxwyjRsnEE898o9ax3udOLjDTNac1d0f47E64hpO5AJ4jzFlenyzjXpZKO/6DZ/B85DdznfM9Ez339HvCM7ThGQzK5xGZ8+4ADXcI0ZwjSW9pbpP+A+5Iq0j/EvK2JIVdpBM6zS2Xkj6bNAdupE+PaI6+K3GHdkNJPtif/dmfXfy7v/u7y79+9tlnJ2leJe8Mux//+McXv/KVr1z+vTfffHM61+WdAcpxX/3qVy9v4ltvvTUdJ3lnsOsYFYCO2Y28t6JtxZ0NAK1Rkmy21pRJNnVrfCeHRhssTg4lH1iJi3pjqbhDG8oiB3gb8k4LCOGi3lBwOfoa53N97onnZ33Z6w9cf+PwO1HHbn98OpZzOJfrKDBb0EIL6EYL/KSJw4iUkVWk6CyhSdU6pNAdRLhP1oc9on6mvf/YP9b6OHrfp6Y+pl+oD+SJfeN8PW8T602R937Q8L3fCa0GV+E1voTWSyOyPxvZ5yPa7HBczke4tLu4M6eoR2Y3uUD2kH+j97nr89zJDM7RvIOcwUJfH5Fzn2s6nh/0D3OWe2UuL5V2HAlvwRnIcnKY51BWZgZ6NoJyc0Tmr2dzQ7ku/v/t3emzZWlZ5/3+byCeDpmKogZqzCwokIIaqHmiihqQYsahgUZFBBS7QaM7wAEFbVQ6uh8fFWXQ7ohHUd84RKgYRPDXnK7vrr4yrvzl977XWvvsc/JkkS8+AXXynL3XXvc1/PKcnZm5/03mCMsaKfMKMtcg8w8sK5nMXaUyWqp8Z3pQ73qm3Koy64xl4GRZeiTzOTS4wx7A2EUZe4HdV7/61aPvf//7u4ayGwY+53vf+96u8OpjHOq3vvWt3ccpWg6mPo//rkOkeOrzKPavfe1ru/9PY1QRUHT1OTRQLxwrspEsWmRxI5vAmiVlwyGbMvWmRjZ+ysGBHC5dDqY+tEwP6qkHd/RBa3IwdznEbdAXWxJdBfGRWl4dH+dreXyuh9fHveQcqZPRvyx462P/aXdfef18bT0+S9OWbbFFbWzxJwsQIxZMZiz4rGEhawsLeZdbXRv3hfvOGVMzt7/jOa0NXHfT+V0dUf98LmfPOXCP6nEtcG/Rr/FK0c96H1lva2V9L8n+mcm+NNbjJudF6uF8JEN7qXnHnKUu2QPsmt2eu339+9z7nK7Z29WvmT7r0XcB+t7g+dhFPDc7b01of+W/f80uG5FnyBTMcGY5O5bH6Luw77v6WOHzZvreRd/NJvd77v+U+QE9Y4xkXsk8A8s+PRst6Zmr62G9q3yXMqx3PVNuZdm1y9w7Yll6JLM5jh3cYReW7EV2n/70p6fBnaLgbS39u+2F77r/4Ac/OHr66ad3BcXn8Z10DqkfJt9R5/NeeOGFC5+ThVCf88wzz1xUOFZkI1a8WeDIRoA1TMqms+ZM2dw2ALocHjZguhxOfXClCukjW8J7DueUw9wGfrFF0VVIH+mhvRYZeGyem9fCveI8qInr3vIeXRLn3/dnu3vOveDreG4ejwVpC7ezhW0sABgLEyMWUmYsBK1hoWsLC32XC9fDa+J+cC6cM2d+7sn/orVx2zO/u+t56oj65/M5d+5/3Rt7npezfrb76LW1RdbzkuyXGetFk309knMiWUhPGdY76pA5xayjLpnz7BF22tr3ufN1fUb32VuPPcLXdbkHal+AOcz10UNc49rQ/spXvvKILEOuYM/z2mq31o7M3Zd7kc+ZqX1b+k42udf7zh/J/GAZI/WMUizTZO5B5qOZnrlKZrTSs13qQb3L7LiF5daUuddYhh6xbI4zE9x5+8wsuDP4eGsLb4nJXyNk19tlGKj1eXVYdZjPPvvs7vO+9KUv7T6Ht8RkMTz33HPHfrsMrICzyK0ZrGlSNh6sQbtscBsCKYeIDZqSA6oPL9ODulkb3JFDusuBbkO/y2WRelA3LLBSH+Prapnw2rn/nPVrX3/D+O0yb35497l8DV/P47EgWaC2eJMt72RBwFiwGMmwsiTD0FoWwPZhQfA0cQ28Hu4d50a93H7+xZDy4b/SurjxbS/s6ofaoKaoCc6y7uVZeE2noZ/hcfSa2iLreEn2yYz1oMl+HsnZYDKkpx7STc07ZigzixnOzmA3sQ+X3ufOzmDW18zOWdxntKn5Xnic0nfFIUI7WYD9zWurXdp3II9f6mOl78yU+7b28Ezt82K7v+uZoVjGSJlTkHnGMk/mopnMWyUzWulBvavcZzI7bmG5NWXuNZahRyybYxjcYQ9k7OKMvVAwrAjS9t300sP57NcqnM+C+ze+8Y3d//J+9yyGkw7uOfBsSK6Rg9cGdsrBnwsj5fKxBdblUrSF29mP6Efsn2rv7r///qEHHnjgIg8++ODUQw89NPTwww9PPfLIIxfhY3wdz8vr4D5xfiwbBvvtz/6eLow3Pfn53Zlxn/haHoPHe/TRR48ee+yxVR5//PFFTzzxxCpPPvnkau9617s2e+qpp/bCT9kOgT9nc9p4Xl4Dr5+zoFao5bc+8tNaE4T52+946e/Oph/5XL6Gr617eLley2npZ3YcvYa26DW7lvXIiPWe6T08YjNhH8ycJTX/mJ/MXOY/84swT1i+9cGf15o+/67/uqtn9hFfQ03XjK6Z22ezqble+uyv/cDsZZYyf3kuduabHv+sXlO57fn/fnTNG96429uEXsI1r4XZzTXzGDxW7cbce/XfpfbkSN+1sJ3c1R4vfdeP9MyAzBVrZY4B9yTVN6/W6L9R6/pv0Lr8zVrpv2lL/Tdxh0ZtJMvBlqFHLJfjIMEddoHJQjthmb9hhu+280IzlJfjBPcK78cN7lvCuwV3ZLFbU6yRDQhr1C4bHTYQuhwmNnC6PqhqgI30YL5GDWHTh7XJ4W4LoNTCGKklNWLBncflOrlHnAWDinq/5Z6P6tK4431/sjtTPp/r5+u3BnfYQk8WDIwFjRkLMTMWlNaycLYvC4wngefi2rlXnBVnTF/c+bz/a5Pnnv6t3WKi/+kv6ph64Gy4f6d57aepn81xZd1skfW6JPthSfbbiPVwyjmwrx7OR3LWMa+oY/YH4Y1Qc/Nbn9Ca5t8pIJzVrGPO17yrWVz/3+Rc52tL7QYek+uhZ9h5PNdJh/Z6vsLnzOSezT2c+g4vue8T15wyV6yVOQY9sJcM5yMZ1kuG9ZJhvVhYLxm0D63CepcZ2LLziGXycqrBHRnceYsM7ylnMPLfGcoLxbzvW2UyuNdbZU4yuMOCe/1YqbMfQ9mPq1L+yKv/SGwkf7RmP37r8sd3/Ud7Jn802H9saPItMqk3gTVLZ83aZZPbQCg2RDobPl0OLr6G5+R1cF+495zzNde/eB2yOHDT+Xt294hr5+t5vBqSDE8bxMaGeLJFMGKLZCQX0hq51Lboy/IQ+iI+NB6f18t94pyoE76jPnqbzA1vfW5XN/QFNUodcHZ1z076ek9TP4NDyDrZotfmWtkHM9ZjI9m3Jvt/JMNYqlkzU3OuZh1zitpkHjO7qFd23Oxv0eLfJGDX8Pl83dJs7vo877O+7wVmLj3DfuJ5DvX2mNqHtuvqY6XvSJN7tvbvCNfQ2a5PmRcsU6TMJejZpVjWsUw0kjmrZD4r9S6K1DNfyty4RebWlDl3xLLziGXyMg3usAccsQtN/cXyB1IJyR//+Mcv+rjdOIbh6O009YdTCf8MWj6v/nBq4VDrD57+3M/93IXP4eO9IEZ/OLWzwjNWzLDCz+awJkrZiLCG7bLhYYOhy6Fig6fLodUHmulBPfXgjj6QTR/eqQ952CLoKqSPVCgfmS007itnSD3d+szXdYHcfN/Hd/ePr+FreZxamLVcbSEbW/DJgsKIBZCZDDZrZIDawsLbcVnA3BePx3XyOrmfnOmuPu77iNYCfwPHG65/qRfpA+qJ8+dreYyTuMbTVq/hkLIutui1uJbV/kzvqSXWs8l639T8mKlZM9JDe805UMfM25xzo/e515/bYNZR231W81gjfZaj5nzfBzwee4S9xLWs/SsfZ6G970HbcfWx0nejqccrtXdH+u4utuu7zAnoWWIkcwkyu1jGgWUiU7kq9VzW9aCeeubrMjNu0bPpSObcEcvNxrJ4d9mCe4V2gni/AbCbx0HWX9VIIY4+TiHkXw+J/nEauf4/jVAFQRHWx2mgXkRdL7olVtBZ+LAGsUZK2Yy9WUey6XMwpBwssAFUcnD1oWZ6UDcV2ksfzKmG90gOe1sIXQ/qppbViC00XhP3kPOiHm54h7+n+fbn/mB3P3nNXGs9Hkszl6wt52SL3lhoMBZEZizorGGhagsLdMdlwXMLHoNr4/VxzzlXzvjcc/9Na+GWR7+46136iRri8/k67mu9Rnues67f00PpZ7+PrL+1st6XWE+Z3psz1vMp58ZIhvRE/aWac8zFnHPswhvf+XPT2mbW8TV9Vuc8LjW/S31N3wXMTR6PnmGPnUZoR3281F4cqccsuX9T7u++20cqHxTLEskySeYWZL5B5qCZzFelh/XOAjsq65meJbfKfGoy5xrLzCOWxbvF4A57YGMXa3jf4ii0o25YvQWmvsue/43+3fb6WL0lpn/XvT6P5+aQ++fw3xRE/257FYkVFKwAjRU1rAGySayZUjYkrHFTNr8NiC6Hiw2gLodXDrfEgJ1ZG9xRQ3wkh74thi7DeqqFtYTP5fl4DdwTzoFzv+bGO3WR4I23vW13f7huvp4FWcszl60t6mQL31iAGLFQMmOhZ4kFrK0s5B2CBdKZ+jpeF/eDc6E+bn/z27UGcP2bHt/1Kb1ATXL+3Pu6N/tcx+VQr/0k5Hnvo9fcWlnfS7J/Zqw3Tfa5yXkxUvNlJAN7qTlHfTKvmHPsAuYcO+/aO/x97ude+OZub7FXqO+a4aP5XB8vNdf7DuC5eSzmLPvrami/mGWJlHkEPa/sdlfkmmJZyGSuKpW/Ug/qqbJeqly4L8uoXebbEcvMI5bDu4MGd9gFd9xg/jAqodnUv6jKDevvXa+bWB8rGdrBYVUw75/HH07qB22f00M7rKhgRThihZ0NAGsUa6iUTWnNm3IA2JBIOWRsEHU5xHLIdRXQRyq0lz6kTQ3zkRz+uRy6HtJNLawlfC6Px/XxmrmnnDF1dtt7/l9dKDff/ZHdveRr+FoepxaoLV1b2MkWv7EgMWIBZcYC0BoWtray0HdoFloLv8518Hq4d5zlri4e8H9h8vz7v7Prc3qO2qcGOEe+lsdY85yXS13bScrz3UevsS2stmd6zyyxnjTZ38ZmhanZMmKBvasZx0xlZjH32S/sN/76W6tv9Pe5U+N9RvN4pT5Wap7X3Adfz87guXnMtaGdrENGIT+w47lm9inX3/fdaJ/Vx0t9/kjfpag9O9N3Nmy3p8wHmR9M5hD0rFIs21gGGslcVXoG63p+63pQTz0bbpUh3WTGNZaVRzJ/m1MP7sVuQMdN47vkS/+aqrHDK3boxQoFVliwQjRW3LBGyGaxpjLZnNbAKYeADYouB40Noy4HWQ66lGE9VWgvfVibGuomF0BfDqYHddMD+gyPxfPzeriHnBU1cv3dH9Olwl8Xyb3n87lOnosFWYvUlq8t7mQBwFigGLGgssTC0BoWvvZhQfAkZJjluXn93GPOc1eXz/+h1sDNj3x+16/0EJ/H5/N1fH29hv74l1N/zSepn+FxWG2t0Wt4LeuZkd6DM9bbyWaE6QHdVDifqXnIrGIGM9eZX+woduatz31Da7ze587eYNbxtTab62OFfugz/3KFdtSvlfqakb5LUXt2pO9q5D43PROUzA4mc0jmFFimQeafmZ6nimUwWGYrmfM6y4hrWTbtMteOWFYeyfxtVgV32BOM2IUnuwkdBcC/bmp/i8wadoDFDh5WLLDighXiSBY3rBmyYWCNlaxBrZG7HASwgdHlsLGB1OUws4HXMXRnDhXckUugLwhTS2nEgnqpX+d/eS6un/vDOexq4ZZ7dLHghpte+s4Vr4mv5XFYkixTW8CwBZ4sCIxYuBix0LLEwtEaFsb2YeHwJNTz8Zq5r5wVNXH7m+/Vs8f15+7f9R71Tx1y7tznev08roXok5Sv67TU/TuurKO1sm7XyP6Yyb6bsZ5OORdGekA3GdBNzTdQp8xYapY9wT5iZ954/6e1xnmfO5/D5/I1Nb/7XK45Xfj1Pu97aOdxXs6hHbnPU+WAzrJDsgySOQWZZ2DZZ6Rnqc4yGCyzIfNdZ9lwLculKXPtiOVkk7l75MwGd/7wav2BU7upS+wQix1+sYKBFRisII0VOawhsmmsuUw2aTayyWFgQ6PLgQMbTF0ONRt8hcG75EoO7+B5uDZeL/ecM6bGeK+nLZib3v7+3X3mtXPNXAeLsi9WW8a2yI2FAmNBY8QCzBILSmtZONuXBcZD4fG5Xl4v95Rz3NXDw7+gZ9/f/0vNUEecWd2velwL18fVr/tyyvM5jl4zW/VaXct6YyT7bST7d8RmQuozZKSH85GcccwoZlV9g4IaZg/O3ufODmPHMBf5OpvPhV/rc57PZz6yX+iVQ4b2pd3Vfx199xkeN+WeTX1Hw3Z5qhxQMi+MZP7IfALLMsjcM5NZCpm7imW1kvmus2y4luXSlLnWWEYeydw9ctmCO+xGJLuha9lBFisAWNHAigxWkCNW6NYU2TiwBkvZqLCG7nIgwAZHl0PHhlOXg82GX9dDuqnQXvoANwz5mVwKPaibWk4jtcQSv1aPwfPyWrh/nB31MfpuFO9xvultz+7uHa+3rpGF2ResLWZb6MYCgrHAMWNhZomFprUsrB2HBcnj4DG5Tu4N50Nd7Gr0vf+fnv1ND3xq16ecPTXD53NedZ9O4hrPgn4Gh9BrZKuszzWyD5ZYr5ns25GcA6bPjpEM6KbPONScY05R2+wAapjd9pprrtc6x3U33bnbPzXnajbnjOa/+3znc5mlfB3z9DRDO/rnoO8+U3uz2I7t+m4ufYebzAHIvGAse/RsUizLZN6ZyRxVLHvBshoy13WWCbewPNplnh2xjDySuXtkdXCHPdGIvYBkNyPZDV3LDrNYEcCKplihwQrTWLHDGiObx5rMZLNaU6ccCjY8Ug4fG1BdDjcbgF0P6qZCe+mD3DDsZ/piQAXskR7UTS6zWmjg63kOrpt7wxns6uC2+3XRFP6qwFvvfGj3dXWNPC7Lsy/bXNC22I0FhRELHyMWbNawELWWhbfjsoC5RT0Or417yFlxhre95WE9b1x3y9t2PUlPcOZ8DV9b9+cQ13VW1P05pKyLLXotbmE9MNJ7aon1rMn+N31ejGRANznjUHOuZhzznhpmj7FHZ+9zZxYyE5nxfW7zWOD/97nO4/O5PAd76OUW2lF7ufTdPZI5wLKCydyRuQSZX4plHpP5qWTe6iyrIXNdZ5lwLcuiKfOssWw8knl75rIGd9gN6eymbmEHWqwQYIUDKzZYcY5YwVtzZAPBGi1lw8IaO+VwsAHS5QCCDaouh5wNwq4HdcPQLn2Ym1oAI7UYSgX0kVpOM6OlxtfznFwXr5P7zflSY+fe921dON3tT3zh6LY33bV7DB6Lx61F2hdvX9S24EcsNBgLIjMWctawULWFBbpDsPA5w9dwPbwm7jPnRa3d/qj/8+u3/8Qf7Xqa3qLGqR3Osu7lPtdwlvR7eUh5/lv12tsi632J9dRI9uhI7/mRPiNGap7M5GwrNf92tf1/Zxw7g1pmX255n3uf3fV4JUP7LQ/43xNfTjq0I3dex2On3Kup72TY7k5995eeEUYybyBzCSzDWNYZ6dmpy7xVLKOVzHTFsuAWlkW7zLEjlo1HMm/PbArusCc09iKM3ZRkN3YtO9RihQArnmIFByvQESt8axBrJGu4lE1rzZ1yQMAGSZdDyIZVl0POhmHXQ7rpwR19qJtaACMV2ksP6qYW1IwtNb62lhCvg3vHOVEbo6V2iQ/976PbH/zZ3WPwWPVcLNS+gHNp27I3Fh5GLJTMWOhZw0LWFhbyDsnCacfncB3cA86C8+L87vjAd/WM33jPf9j1Jr1CfXK2nE3dizXPeZb0e3US+lnvI+ttrazvJdZDI9mXI9nnI302jPRwPtJnWlqacaP3uddvVNktNf/73Ob/l5MO7Tz/0o7i17vcd4nH73KfptzHyL1tau+XzAfGskbmEVh2Qc83M5mbimWtYhkNmec6y4JrWQZNmWNHLBubzNlLTiy4w16IsRvT2c3dwg4WVgzFCghWdLAiHbHCtyaxZrKmM9m81uAph4QNk5TDyAZWl8POBmLHcJ650sJ7fYyv5fl4DdwH7jdn/prXvf7opof/sy4fc/6FPz66/R3P7R6rrofnYbn2ZdyXty1+Y0FixALKjAWgtSx0bWXB79AstHL93C/OhPO67a6n9FzBe37pMWqEz+Vr+Foew57jrKlrPEl2tlv12trKanum98wS60nTe3umz4ORDOimzzNT8435yVxiLjP72THsutn73N9ww0s/geTzqfua2X2G83g1N9k5L8fQjtrDJfe1yb0PywfJskbPIiVzCyzjjGRuKpa1YNmsZJ4rlgG3sAzaZX4dsUw8kjl7yRUR3GE3eC073GIFASuiYoUHK9QRawBrFGsoa7xkDWyN3uWggA2ULgeSDa2UQ88GY8eQnunBHX3IGxbBzGmEd76O5+J6uAfcS86N2qAuX3vzvcP3gprzz37t6Pa3PHDheuu5WLR9MdcStwBgLFDMWFiZsTC0loWwrSwMngSei2vmNXNfORfOirc92Xne9uzv7+qBnqJGqBnOja+v67awfDnkaz0N/Qz3lfW0Ra/hNaxXZrIPR6qfl/QZMNLD+UifY6bmXc1GZhwzmRnHPmGnsV9Hs+2Gtzy921XUPbO/z/T6/8x8Hm/3OVdAaAfP0eUeTX0HF9vZXd/1pWeCEcsYPYMUyyzIbDOSealYxiqZy0rPcMky4FqWPVPm1xHLxCOZs5dsDu6wJx6xF2TsBnV2k7ewA4YVRbFCghUfrFhHrAGsWayprPlMNrE1e7KBYYOly6Fkg6vLwWfDscugbmqolwrpIz2omx7cKwzP1MKaseXGc3H93BfuNedLLVGz9MXr3/wTq973Xs49/itH597047trruespduXNMvcgsCIhYsRCy5LLBytZaFsHxYQD4XH51q5P9x/zua2cy/Wzof+t57jjXd9cNeP9Ac1wvlxDvV6eUwL0ScpX9Np62d1HL12trLaXZL9MZN9N5PhfKT3/UjNiJmaXzN9toE5xLxljrMrmG/s0Bve6X/96U0Pfma3q9gj1H7Odh6Hj/PrJxHa1+Bzu77bTO3FkvvT9P2L3NOm73pYJjA9W5TMIbDMYtlmpGelLvNVsUxWMseVzH1bWfZMPbeOWBYeyXy9xr975Stfqb8wY08+Yi/K2A1KdqPXskMuVhjFCgpWgLCCHbFGsIaxxrIGTNnIsIZPOTRssKQcTjbAuhx+NiC7HtJNH+7IoJ56SB/pwR21jEZqaY3YcuN5uB5eI/eRM+LMqTHqdtcfr7rm6Lp7/qMuJ/ViGDz34Cd2j13XxfOyfPuyrsVuocBY0JixEDNjQWkLC2n7suC4r3pMXiP3kXOgnm696xk/vw//1dG1N96+6z3qgs/la/haHqMe18L1Pvq1njX9TI7LamaLXqtrWE/M9F6b6aF8Se/3kQrmMzW7Zmqu1WwDtct8Y0Yz39hL7L7Xn39ca/+25//7br9R++yJPvv5/+wK9ss+oX33vC/OVmYsj197as3+KX1noe8003ci+s4cqb1bbEenvuNL5gGTuQI9exTLKj3LLLGshMxVneUxZH7rMvdtYZkz9cw6Y1l4JPP1EjL7XsEddgEj9sKS3aRkN3sLO2hYcRQrKFgRwop2xJrBmgbZXNaEJpvZmj7l4IANmC4HFGyQdTkEbVB2NcBHDh3eK7B3tZBG+vIyueT4Gp6L6+UecC85J86ceqI+qX165FXXnju6+cnf1EVleP/7ubufv3Dd9fws4r64WfAWEEYsdIxYoFlioWkLC23HZaFyLb6e6+K1ca85g139PfVlPbdbn/rKrnfpIeqCc+OcuJ/1+ux5Xg76PT+UXhv7yPpcI/tgxnpspIfymd7fMxnQTc2smZpnHTOH2cN8Y35Tz8w2dt9rrr1Jax/XXn/zbg/x+bUXakfwsSsltIPn6XJvpty7yP1sar+XzAEjmSt65ugsq/QssyRzUrFsBctipWe3ZLlvrcybpmfWEcvAI5mr1zhTwR12o5Ld8LXsoIsVSLHCghUirHBHrCGscbLBYI2YsqFhjZ9yeNiQSTmkbJB1OQhhA7OzwN714I4M66kHddNDe6mQPmJLrOuLjs/nMXkurp97wL3kDDhjaoRao36pf/rptbc8cHTr8/9Tl5bh/e/n7rzvwrXz/LWU+xK3oDBiAWTGws0SC1FbWZA7LgucM3wN18J94D5zBru3yXz4r/S8+Pus6VNqgbrgvAhjdU/2uYazrN/bQ+k1sK+sxzWy7pdYb41kOB/pPT3Tw/lIBfOZPtu6mm3MWWYbM5+5xj5jr97+3j/V+r/+zqd2u4u90/cIc/GshHbUdY30XYi+K0f6zkXfySN9t5fMASbzBHrmKJZReoZZYhkJmadK5q8uc1uXeW+LzJkm8+pI5t+ZzNVrXAjuV7/r/hIrFFhxwYoRVrwj1hSwBrJGs4ZM1tg2AFIOERs0KYeVDbQuh6ENzdSDujnp8M5CWmKLrOsLj8/vC477wL3jnnN+nD11RS1Sw/QKPXXtWz9wdP6D/0sX2CVeDInnHvvc7v3vdX1cQy3oWuYsfgsNIxZGZizsLLFQtZWFu0OxMFrqc3gd3C/uNWd92z3vH57T69/wUu9RC5wVX8PX9tdhz3WlqNdwEvLc95H1t4bV+kzvoTUynI/0YD5TfT/Tw/lIzTBTc40ZyhxmrlHX7C325+hvz+J97nxO7SD2Cv+7zz+uxI5lfrLzeIzaSX3X0Gd9v5jaTyX3WOo7ELknDdfX5T42udeR+9/0DFF61iiWTZA5ZibzUck8VTJ/dZnZSua8rSxrpp5VRzL3zmSeXqPy+pkK7rAb1tlN38IOvVihFCswWEHCCnjEGsOayJrNmtJkc9sQSDlIYAOny4EFG2xdDkUbnF0F9JktwR0Z1lOF9sJSWmLLbITP70uO18m94Z5yFpw1dUHNUavU8q5nXnXN0fX3fUoXmfrAd4/O3f8zu+epa2QBs6j7YrfwMGLBZMaCzxoWsvZhge+QMqTynFw/wYp7vau3Z76q53PL4/9l16/0DXXA+XAe3Le69v74V4J+b05CP9vjyHpbK+t7ifXQSAbzmd6/IxnOR3o4H+nzy9Ss7DONeUZ9syPfcOfz2gO8z51Zx8yrfbU2tFfWYEayW9mbfD27q3ZR3zHsivr/I7mf+u4yffeVviNN7lnkPjZ1f0rf+TM9Q5TMG+iZpGR+mclcVDJHFctepWe1lDlvK8uaXc+oM5l7ZyxTL7kkuO8T3u1iZuyFJrtpyW78FnbwxQoGVmSwooQV8Yg1B6yRrOGsMVM2OGwQpBwmNnRSDi0bbimHow3QLoN6qtBeMqibCukjtYhKD+kjttBG+PxadFwPr4N7UYOfM+O8qRlqj3qlH+ibze9/f+//PDr3jndfeB08P8uYpV1LnjBgYWLEQsqMhaA1LHTty4LgodRzcM3cH+4p9/rWc3cO3ybD2wToO86dOuBMOId63TyuheOzIF//Sap7ewi9trawmp7JflnSQ/lM9euSDOemB/ORnFum5l+fZ8xtZhlzbDfDrr1NewCvff0Nux3IvLvpnZ/Uzymj0M7X8lzsrdpDfbcwX+v/j9Q+Krm3TO29kvvR5J7NPWxqj3e2+1Plhs6yRuaRUrllDctGyBxVLHuVntM6y3hbZL40PaPOZOadsUw907P6sYI77IJG7IUau3Gd3fwt7PCLFUyxQoMVJqyQR6xBrJms6aw5jTW6DYSUQ8UGT8rhZQOuywEJG6RdD+rmSg3vqIXHdfNauR/cR+4/50YtUDfUJTVNX9BjvP999N5Rc/7dXzk6/5Z37p6P52cx1xKvhU84sGBhLLAssVC0lgWxfVlA3Fc9JtfIa+Qecm93Z3rfT/lZfPB/HV173Uv9Rf1SB9x/7mu/PgvNp6m/ztNU9/QQso62yPpdI/tkpofyJdWjS3o4H+nhfCTnlakZ1ucYs5WaZtazU9hvzK7RrOJfV2W33njvJ/TXy2mGdvSdZfrOQ+5F03crcv+avsOL7XyT+QGZM5B5BD2zLLFMhMxPpWet1DNayny3VebLlPl0pGfdJZall/SsflFwh33BjF3UiL1YYzcv2QFsYQVQrHBgxQYrTlgxz1ijWENZ41mDmmx2GwopBwtsAHU5wGCDrsshacM0VUgf2RreK6DPVGgvfVGN2IKbqa/j+bguC/CcJzVCrVGf1PWuf171mqM3vO2jB33/OyHBQsaIhZclFpLWOm4Y6zLk7asej/vBPeTeco7nnvtveg43P/KF3Zlyvnwen8/X8fU8HuHVgvQhZVg+C/K+Hkc/562sZpf0nlgjg/lMhfIlPZyPZEA3OaNMza1SM5I5Rk0zv9gp7DFm1hsf+k/aC/w979ff/TH9tXKSoR21h0ruq1R7rrPd2PWdWnL/mtzjfcfPZG5A5gtkDkHmlSWZh4plKPSs1WU+6zLXbWXZMvVsOpN5d8ay9Ezm9GMHd9iFjdgLNnYDOzuELawIihVPsYKDFSisoEesWaypYA1ojZqy4WGDIeVwsSGUcojZsEs5LG2gdhnUDQujy7Ceekgf6cEdubCMLbrUF2R9XS0+ro3Xw+vmXnGPORvOnlqhDqlf6pse+rHXvXhWD3xWl57i/e/3fXD3XHW9XA+LvUIAgcECh7Egs8ZxAtO+XzfTH3Mr7gP3jfvIfb3l/Iu/ObJ7/6Lrzj+060fqnrPm/nO/6xoInhZsX24ybB9CnssWWQ9rZT/M9EC+pHpxjQzopoL5TM2kmZpXXc1Har+CO/uDmcV+vPbNz2kvnP/Q/68fL8cJ7TVDZ2r/lL6jRnLf5T40faci967pu7vYrk+VEzrLFsgcgswrM5mDSuamYlmr9GyWMtdtZdmy65l0JnPujGXoJZnTr9jgDjuILawQihUQrOhgRVqssEesYayxrAmtWU02vQ0Hk0PGBlHKYWYDL+XQtMHa1TCeuVLDO+prawFyfbwGXjv3i7PgHKkBaoh6pIbpEXrp1dfdeXTL0/6HIc3593zj6NxdT154TXVNLHnCQAUICyDGQg3sczv7Gtjnlh5w7NePy67H1Odzv7h33EfO7Nb7/R/SOv/+7+z6mrPkXLn33G8eg/BYAdSC7pWuB+xDygC+lZ3rGnX2a/WaXdJD+UwP5jMVzGf6LBqpGWVqblH/zHP2AnuI3Th7n/vIj3JoR9/dyP0+0rNCyVwByyA9o6yRGahkbiqWtdAzWbJMt0XmSdMz6Uzm3BnL0Esyp18S3GFfuMQucMReuLEb2dlhbGHFUKyIihUerFBhhT1iTQNrMGtEa1iTzW8DIuWggQ2klEPNBl+XgxM2YLse0kcqtJcM66mH9BGWUmeLK9niS7Y06+vrublGXhf3h/vKeXCW1Aa1RK1S5/QK/fS62x/d9v73p3/96Nyd79i9rrqmWviEAwsWMxZaOvsajH4twwp6KOnXejnw3Nwzzoyz4pzO/cT/0HvNX4FHX3KO1Cb3m8cgCBIiCaIWeq9EGbAPLQP4VhnE18p6XmI1PZP1NZL1P1IzZqbPn5GaSyPMD+qfumZWU+PUOjOK+bRlJlVoJ3Mw09jVPA67j9nHDKwd0/dG7YD675HaN13up8TzdbYDU9+hxXZu6ju79L0+kjkBmSdg2QOVT9awDATLTMh81WUu63qW20fmSdPz6Ihl3JHMzWtYRr+igzvsQLawgihWSLDiK1awsAIfscaxJrNmhDVusgFggyLZwLHB1OVggw3AzgaoDdquhvNMD+6okD7SQ/pID+6w5ZVsAabRAuXreR6eu66T18Y94t5yTpwxdUPtUbPU+q5n9nn/+yOfPjp3x0sBtK6rlr8FjJTBYvZr6OGi9Oe8cF/e8uNHb7r3uZc89PGjOx77zNEdT/zy0R3v+f0z5fzzX9+9r3303nZcd/s7d+fGGXKuvD7uD4GQMEkgtRB8JchgfRIyfO8jg/haFsqX9B5YYj0y0ntm5EL/LOgzZ6TPtJGakzWnmFHsG+YTe3b0PvfUQzuzjK9lX7LzeDx2Ue2Wvi9q9vddMVK7puReSrXPOtuBXe5P9B070nd1yb0+khkBlil65iiZT2Yy9xTLSiXzVelZLGWO26pnyBHLpMYy7kjm5jUso2twhz3AErvQEbsBxm5oZ4eyhRVFsWIqVoCwooUV+Yg1D6zRrCGtcU0OARsWJoeODaeUw82GYMohaoM21ZAe2RrcUYtn5nKEd/QAz+vhHnDvuOecKfVA7VCb1DQ1v+ur115/9MZHflUXpBq8/x2EgbUBor+e/O8Lr+/Ot+7C+B33PHt0x4MfuzSQv3gteo1XqHMvfHN3TpwZ58eZcm8IeARKgqkF4rMoA/VJyuC9Lwvja2UgX2LBfCb7aqT32Ezvt5kLvThRM2im5lPNqJpP7BH2F7t09D73jtD+yn//ml3OYO8zy9iV9A1zjj1Ue6Xvipr79d8zuW9qD83kXus7byT3Z+7Xkb6rYTvdVC7oMkcg80bJfDJj2QeZk0rmqq5nsZQ5bqvMkSazqLFsO5J5eQ3L5rjigzvsYLawwihWULAiLFa4sEIfsQaCNZw1pjVwykEAGxgpBw9sQKUccjYIUw5TG7ipB3VzJYf3XKr1OPWcXCuvkfvA/eNsOFfqhLqiPqlr6p7+es2Ndx3d8u7xd4JTvf+9Xm9/DUvXeMeb37IL4+fvfmYXyM8/+osv60C+1hvv+4+7fqQnOD/uGWGMYEiwJKRaSL5cMkCfpgzdx5EhfAsL5UssmI9kMJ+xgG56f8703h250NMTNZPAvGDWMpuY48wl9hR78dWvv1X7orycQztsx6a+o0vuc9MzQcn8UCxv9EyyJPNOyXzUWbZCz2Ap89tWmR9N5tARy7YjmZfXsGyOYXCHPdASu+ARuxHGbmyyA1rLiqNYURUrRFjxwop9xhrJGs6a05rY2ECwwZFsANmgSjnsbCCmHKo2eFMN7ZErLbxjtmDrsWpJcr28Tu4X95nz4bypF2qROqW+6R167Jrz7zo6975v6+I055784tFtb7rrpftyx5t3/5jT7h90euA/7AL5+cd/6Uc+kK/1hpt/fNdTnBX3k/MkkBH2KmQSWi1EH1KG5LOih+1DsCC+VobxNSyYz2Qwn7GAbnJ2mD5PZvrsGsk5SF334M4uYB6x59jBo9lDaH/F//PqXR5hTjGz+Bp2HLuKuVZ7pO+GPuv7XjB8XZf7x/Qdhtxzpu/KknvV5H5G3+EzmQuQ+QGWNXoWWSPzTsl8VCxTlZ7BUua3rTI7pp49ZyzTzlhensk83l0N7v+XFUixwipWkLAChhX8iDUTrPGsQa2RjQ0GGyAph5ANq5QDDzYYuxyssAHc9cE98nII77lweax6Xq6Fa+a1cs+4/5wbtUEdUY/UMPW/66NXveboune8GLwX/iq2qw6Hv7ud8+BsOCfOjaBFgCMoEjQtzL7cZdg+rgzgW1kgX5KBfIkF85EM5iM2L0yfITM5t0zNn5xDYM4yn5n7zCJ2FzPoDT/+wUt6w0I7M4t+YUexc2p/9J3QZ3x9bKTvlJL7J/XdVfqOG8l92XfpSO5l2A43lQO6zA3IfFEsk4z0jNNZNkLPUCnzV5e5bavMjSbz54hl2hHLyksyj3fT4A57wBm76Bm7IcZucLKDWsuKpFhxFStKWBEXK/wRayhrPlijWkObHA42REwOIxtYyQafDcjOBqwN4q4P8JGXa3gvPDfXXAuTe8kZcMbUB/VETVLL9MGu17a+//2qzfjN0S1PfPnommtf6jfOhXPi/AhmBD8CI6HTgu3LTQbtQ8jwvY8M42tYKF+SwXzGArqxOWH67Jjpc2Uk517Nw5qdzCHmLvXOvmAGsS9/7NWvPbr+vk9d6I83PvpfL3l7DHOKz6df+NraG30X9NleHxvJfQIebyb3FnK/mb4jYbvU1D7ubH+n2v+dZQZkvoBlkZGebVLmopI5qsv81WVu2yozY8rcOWJZdiZz8hLL4t3Bgzvswkfsphi7yckOagsrlGIFVqwwYYUMK/4ZayxrQGtWa2pjA8IGScqBBBtcKYefDcmUQ9aGceqDfKQHd9SSmekhfSSXmC06Y0sz2QJG/5z+mDw/183r5b5wPzkrzpnaoc6oWWqdXqLntr7//bTtwu/TX9258cHP7f6lxevu+smj191y386rrrnxkhlxaDZHutHXMDe45/Qe/cC5cEacIUGO0FgB1ILula4H7EPL8L2VhfG1MpAvsWA+YwHd5FwY6fNipM+RmT7rkPOQ+VPBnflN3VP/9AH9QG+QCXqO6L3CPmNeMbdqZ/Q9UPO8ZtySvkvQd81I7q2+00b6biy2S1PfxaXv7JnMAci8AMsW3OstLOMg81Cp3GQyd3V9ru4j57DJ3DnSM+ySno3XsizeLQZ32APP2MXP2I0xdqOTHdhaViydFRqsOIsVNKwBRqy5YI1oDWuNbWxQ2EBJNphsgKUcgjYoUw5bG8ipD/SR0wrvsKWXbIEmW8Slf149Js/NNXHtvGbuH/ed8+L8qR/qjbql3ukn+u7aO9+76f3vx5WBnLfvrA3k1tcl+/mk9NlgH6f/6V96k3vPOXAmnBXhjABIgCSEWui90mSwPgkZvveRIXwLC+VLMpTPWDg3NgtG+owY6TNpJOdbzZlUc5P5ylxm9rA/6APmDr2R/cos4tf4nNo1tSv6/O+zvD42U/uj5J4xtaeK7bRU+7Dru3PEdnHu65Ha+13mBGSeKJU71shcU3oGSjUHU5+VptfGVrYrUubNEcuwM5aRl1gO704kuMNewIjdHGM3O9mhbWEFU6zYihUorKhhTTBjDWbNCGtca3CTw8KGisnhZEMs5SCEDcyUQ9cGc+qDfeRKDO+wpVzyc3lcnp/r4jXyurmHnAfnSK1QQ9QodU1P7Hrr1a8/uv7eTx7r/e+jQP7am+/d+bHX3XC01OfWo9aD2W/G+uwkVc9yj+kt7jn3nnPgXAheBDpCZAVSC8JnWQ/TJy2D974siK+VYXwNC+YzGc5HrP9NzoSRPotGcq7VbDE1M6l3ZjKzvM8d+iP7k35hL9WOqR3R536f4fWxmdobpe+WkdxTqD02k3ux9uWS3MO5p0dq33eVC1LPEiVn1pJ+Xl2fxV3NapNzvesZbR+2S1LmzRHLsCOWjZdYBk9nIrjDbpCxG57s4LawwilWcLAiLVbYsEaYsUazhrTmtSY3OTBgg8XkkLJBlmwg2uBMOXxtQKc+4EcqtJce0kdsSSVbcLYIky1UYwu62Ofz2FwD15+LlDOnZqgv6pT6pi/ov1ddc8vu/e/9H3DqgfyGBz47DOTGenbUc9lT2RNW/1bjJmv+pNAnVffULfeec+CcCGmEQcIkwdSC8eWW4fm0Zeg+jgzhW1ggX5KBfImF85Hs+RGbBSbnkOmzrNjs62reMGv7zKEv6MPq2+pjeqZ2Se2GPu/77K6PzfSdgdonM303Fa5nSe7DvitncmYg59VI3b+u5mLX52aXmWOmZ5muz+lUszzlzO/6bthHz4YjtpuMZdcZy8ZLLIOnVcEd9gRL7IWM2E0ydtOTHd4WVjzFiq5YocKKu1hDjFijwRrTGtga3djgsAGTclDBBlqywWgDtMsBDBvUqQ/6kQrtpYf0EVtSyRadLcRki9XYou7y8+vxuQ5eA6+de8T95+w4d2qJGqNWqXH6gx6jF2d9POtJ66fslaz5rOus1aq/pbpay2ruOHqdVo1RE9x/zobwRbgjFFawtOBqYfoQ7LnOgh60DyED+FYZxtewUD6ToXwme3wm+3+k5sJMzjHkvDPMGWq/Zi39QH/Qc/QsPdz3SfVy9dBolvePj/QeLL1HTc6Fus4lXHuq1zVT86zru3mm7/pSc7OrmZp61lhSc9r07NPVrDd9J6S+O/aRu8jU3lpiO2/EMvESy97mzAR32I0yduOTHeAWVkDFCq9YwcIKHNYUM9Zw1pywRraGNzZAbNAkG1g22FIORxuiyQaxDezUB/5ID+7oIX3EFlWyhWeL0diSNba0u/55/C+PzXVwfbwOXj/3knPg/KgHaodao2apc/rA+gbZI9kDWcu9XrP+sq6yXrIWZme4rzznffUaqPPkDAhrBDyCYQVMC7E/KnrQPpQM4FtlGF8rQ/kSC+cjvaeXVM8v6fNmpM+uUrU9U31QfVV9ykymd+nj6uuu+ns0v+vjMzUfupodM3ktfWeN1Kzq+o4c6bu21Dxc0nd86Vmgq7nb9YyxRs3y1DNP1/dB6tkq2X7ZwrJhsoxpLLPOWCZeYtnbrA7usCdaYi9oxG6WsZuf7BC3sCIqVnzFirZQ2DYsbdCO2ACHLQFbJGvZ8rKFaGwZ23f5Uv6DMHffffeie+655xL33nvvovvuu2+zd77znYvuv//+RQ888MAlHnzwwVUeeuihVR5++OFF/fN5bK6D6+O1co+4v5wd9UCN1dKupWsLsRYlv16htxZ3LXkep9d+1nCvv15TWSdZA3m+dj6HkOe5xM66zuiRRx45evTRR48ee+yxo8cff3zniSee+JFSr/vQuKeXC2e6BXWwVvbxTO/xmT5jZrKWYTWfsodqptKr1b999vcez/6ur62vX1Jf39XsmMlr6btqpO+80nfjTN+1pe/krXoWKDVrU+aMmZ5duv6bu1Sz3/Tf3KX6zd5Jqt9ILum/WVxSe9Ay8Yhl7pEzFdxhQd1YWE8WyLew0F4stBcL7RgFd1iDjFjjwRrVGnotGyQ2cEwOLxtyJoelDdRkg9kGeOoLYK1cQMYWl8kFaIvS2OI1tshT/1z+l8evZczr5V5yDpwh509NUYPUrA3kGtS9pqs2e031Osmzz3O1M7P7PLuf9TpPSt7XkQpfFdgq6FXYtGD7ctKD9Uno4fly6GF8rR7Kl1hNjVidmt4nM9lf2X8jOR9L9XLNmRHrf/SPj9jj9d0xUrOo63tqpO889J04U3Oxy328Rc8AJfNCqTm9Vs8tXc3+lDuis7BeLGQfmgV0Y+F85kwFd9gTLrGAPmIh3VhQT4TvZ5555uiHP/zhBT/4wQ+OnnrqqUtCurHA3lloh4X20n+s1NmPo2bsx132YzHYj9Hsx23GfnxnP+ZL9uNC+7Fiyh9Nwn6EmfI7v/27vzPWdCmb2AZAskFkbJjZ8Es2OEds+I7YYB+x5bDElsxattz2YYvzJOQS/1Fj9+Qk2Bnvw2puLav1JdZTI9arIzYDRmy2JJtRNsuMzcaU89VmcLJZbnIn2O5ItoNsVyXbebYbk+1Y28XGdrtlAFhmsGwxY9kFlnWKZSRYpuosk21hmTBZtjSWVUcsAy+xrD1z5oI77MYZO4hkB7qFFVSxYixWwMUKH9YoI9aEsIa15oYNAmODxQZQskFmAy/Z4LQBm3JI2yBPthRMLhdbQMkWmbHFaAvU2DI2tuBHLDjMWChZYuFnLQtd+7IgeNIs5F7J7DWeNDvLfVmNrWW1vcR6aMZ6dMR639gsMTabbIYZm4kp56rNXmOzPOU+sJ2RbPfYjkq262wnJtuttoON7XRYBrCsAMsWI5ZZiuUcWDYqlqmKZbEtLAsmy5TGMuqMZeAllrVnNgd32BMvsRc4YjfP2GEkO9StrLCKFWSxQoYVPqxZZqwRYY1rDW7DwNhwsSFkbKDZ4Es2QG3QphzWNtCTLQaTS8YWkbGllmxB2iI1tphHbNmPWIiYsZCyxMLQFhbE9mUB8XKwcHw52TVeDnZm+7Ja2sJqeYn1zIz15Iz1u7EZYmwm2exKNgNNzlObucZmeMo9YLsi2c6x3ZRsx9kuNLZbbQcb2+m2+y0jwDLFjGUWWMaBZaJiWapYBtvKsmCyTGkso45Y9l1iGXvJmQzusBto7ECSHewWVlzFirJYMRdrAFjDzFhDWvPCGt0GgrEBY4PI2GCzAZhskNrATTm0bbAnWxAml40tJGMLLtmitIVqbEGP2NIfsUAxY4FlDQtHW1g4Oy4Lj1edHjuT47La2cJqdw3rlRnrxRHr8RGbHcZmkc2sZLPP5By1WWtsdqec/7Yjku0a20nJdpvtQGM71XavsV1uOx+WESxLzFhWgWWbYpmoWJYqlsG2sAyYLEsay6Yzln2XWMZesldwh13AEnuhI3YTjR2KsQPewgqsWGEWK2hYExRrnBlrTGtgWMPbYDA2aGwgmRxuNgSNDVQbvCmHtw34ZIvC5NKxxWRs0RlbmrZcjS1rYwFgxsLFjIWXNSwsbWWB7RAsXF51OHbPD8FqZCur1TWsN2as92ast43NCmOzx2aUsZlncn7ajDU2s1POfdsNJneM7SKTe812n7FdajvX2A63XQ/LBrAcMWIZpVi2gWWhYhmqWPbawrKfsSxpLJuOWOZdYtl6jVMN7rAXPGI30tjBJDvkLazIOivQYoUNawRY88xYY8Ia2ZrehsOIDRwbTCkHHGwQmhyqNnhNDnEb9MkWhsnlYwvK2MIztkBt0Rpb3CMWBmYsbMxYmFnDwtM+LMgdioXPq9aze3ooVgv7sNpcw3phxnptxnp5xGaEsZljs8nYrDM5N222GpvVKee97QST+8V2kLGdZrsv2Q61XTtiO9x2vWUCWIaYsYwCyzSwDFQsO3WWvbaw7JcsQxrLpDOWd5dYtl5j7+AOu5Al9oJH7GaO2AElO+gtrNCKFWmx4i7WELAGmrEGhTW0Nb4NiBEbPDagkg06G4gmh6sNYJPD3Aa+seWRcgnBllWyxWdskdrCNbbAZywczFj4mLFws5YFqn1YwDs0C6hXnWxIL3bm+7AaXMtqf4n114j17ozNBmOzxmaSsRlnclbaTE02m03OedsFJveK7R5ju8x2nsndaTt2xHa37XjLArDsMGPZBJZlimWgYtmpWObawjJfsuw4Ypl0xLLuEsvUa516cIe98BG7ocYOKdlhb2UFV6xQixU4rCmKNdKMNao1NWwA2KAwOXhgA8rYwLPBmHLAwgaxyaFug9/YIkm5jGBLK9kCNLZQYcvX2DIfsaAwYyFkiYWdtSxk7cuC30myMPtyZK/9JNnZ7stqbi2r9SXWUzPWsyM2C0ZsvtgsMjbbks1Im6XJZrLJ+W47wNhOsd2TbIfZrjO2O23HGtvZttthWcAyw4xlkmJZBpZ9imWmYllrK8t8ybKjsSw6Yzl3iWXqtY4V3GEXtMRe+IzdWGMHlezAt7Ci66xgixU6rDFgzTRjzQprbBsCsIFhbADZoDI2+GxAJhu0NpBTDnbYAjC2UJItJltgxpahseVqS9jYYp+x0DBjoWSJhZ8tLHjtywLhabIAfJbZazhNdob7strawmp7ifXQjPXojM0AYzPFZo+xWWZsNtoMTTaLjc122wHJdontnGS7y3acsZ1pu9XYrobtdssAsMwwY5kElmGK5R5YVuosa21hWS9ZZjSWQWcs4y6xLL3FZQnusBswYjfX2GEZO/gtrPCKFW2xQi/WILCGmrGGhTW4DQLY4DA2iGxgGRuANiiTDVwbzMkGvC0CY4sl2YKyRWZsMRpbtLaQR2zJj1iAWGIhZYmFoS0sjB2XhcWzxML0cdhznCV2RsdltbSF1fIS65kl1psj1vMjNkts5hibYcZmos3OZDPY2Ey32Z9sh9iuSbazbLcZ25W2U43taNhOt90PywozlkVg2aVY5imWlYplrK0s5yXLjMYy6Ihl2zUsS2/x717xilfoL2xhF7bEbsKM3WBjB5bs4LeyAixWuMUKHtYkxRprxhrXmhw2EGx4jNhAssFlbBDawEw2eG1AJxv0thCMLRiTi8oWmrEFaWzhwpazsYU/Y2FiiYWWJRaOtrKAdggWJq86OXYGh2A1s5XV7hLrkSXWizPW68ZmB2zWGJtdJuegzUpjs9fYLLeZn2x32I5JtqtspxnbkbZLR2xH2y6H7X7LCDOWQYplF1jWKZaROstXW1jGS5YVjWXPGcu2SyxDb0Fmv2zBHXYjRuwmGzs0YwWwhRVgZwUMK/pijVKswUaseWGNDhsMNkBGbDDZADM2EG1wJhvANqiTDXxbDMYWjcmlZYvN2KIcseVri3rElv+MhYslFmLWsMC0lQW3Q7GwedX+7B4fitXGVlaja1hPLLHem7HeHrGZYbNlxGaWyflnM9LYzDU2w23WJ9sZtluS7SjbZcZ2I2yPGtvNtsNhOx+WEUYsexTLLMWyTrF8VCxbbWHZzlhWNJY9RyzTrmEZeosLwf3qd933Y4VYrICLFX6xhoE12Yw1MKzhYQPCBomxwWRDbCSHog1PY4PYBnaywW8LwtjCMbm8bMGN2NI0tohhS9tYEFhiYWOJhZo1LETtwwLdoVkgvepSdu8OzWpgH1aTa1gPrGH9NmM9bWxGwGaKsRk1knPPZqOxWWtsdtuMT7YrbKeY3E+wPWZsN9oONbaTbXfDdj0sG8xY9oBllWIZp1g2KpaptrJslywjGsucM5Zpl1h23qLy+sGCO+xCl9gNGbGbPWIHmKwQtrBi7KyQizUArGmKNdqMNTKs8W1IwAaKsQFlg8zYYLQBamwg2+A2uQBsURhbPCaXGGzZGVugxhYybIGPWCiYsdCxhoWcNSxU7cuC3kmx4PqjxO7JSbGz3pfV4BpW82tYj81YD4/YbIDNEmOzydiss5lobMaanNc2043tCNslxnaT7TBjO9F2p7FdDNvdtuNhmWDGMkexrALLNsUyUWeZagvLdMmy4YhlzhHLsmtYbt7ikuB+iPBuF7rEbsqM3XBjh5isGLaygixWzMWaoFjjFGu4GWto2ACwQQEbLMYGlQ00YwPSBqmxwWwD3OQysIVhbAEZW2i2+Iwt0hFbzrbIZywkzFgIWcNCz1oWtPZlAfC0WNC9EtlrOy12pvuyWlvLanwN66kZ69kZmwk2O0ZsJhmbcTYLjc1Wk3PaZrmx3WA7xNhOst1lbBfazhyxPWw7G7bfLQvMWNYollGKZZtimahYltrKMl2ybGgsa85Yll1imXmLntUPGtxhF7zEbsyM3XhjB5msILaywixW0MUaoVgDwZpuxpoaNgBgA8MGy4gNLBtsxgalDVRjA9oGucmlAFseyRaRscVmC3DElqqxRQ1b6iMWGJZYKFnDQtAWFsCOw8Lh5WZh+TTYtVxudmbHZXW1ltX0GtZDS6xXR2wGwGaGsRk0YrPNZqCxmWpyNtsMN7YTbHcY20W2s4ztQNuVI7aDbVfDdjssC8xY1oBlk2KZplgWKpahtrIslywTGsuYM5Zh17C8vEXP6hcFd9gXbGEXvIbdoBG7+cYO01hhbGHF2VlhF2uIYo0Ea7wZa2zYIIANDhswIza4bMAZG5g2WI0NahvoJpcDbIkkW0gjueBsEY7Ygh2xpQ1b8iMWHpZYSFnDQtEWFsiOy4LjVafPzua4rIa2sBpew3pmifXmiPU8bEaM2OwZyXlmM2/EZmmymWyz29gusJ1hbAfZrjK2+2xHjtjutR0N2+mwDDBjGQOWSYplmWIZqLMMtYVlOGOZ0FjGnLH8usSy8haZ0w8e3GEXvsRu0IwdgLEDTVYcW1mBFivuzhoD1kyFJv/2t7999MMf/vDoZ3/2Z7UhO2tw2ECADZAcMobBV9dVvvnNb+4GmA06Y4Mzh+uIDew+0Fkw3/3udy+6vn/7t387esc73qGLwhaKseVkctnBliKL+C/+4i921/fnf/7nu4/Zoh2xBY5c9kt6iPjJn/zJi+5b4f49+OCDFz7PQssaFpK2Ipg9++yzR9///vcvusbf+73fuyTAbWXBcq2777776J/+6Z8uuqaOnrGvO00/8zM/c8l1cd/sc0+C3fPup3/6py+6th/84Ae7mrTPTVYrW2W9cs1/+Zd/ubuWX/7lX77k13HXXXddcu6/9Eu/dFFfGevFGet1nr9myGc/+1mdE+D5+uflLEo2w2zWmZqXPG/N4V/8xV+8aJaC58k5/Wd/9mcXzfIR2wG2K0ztG2b/d77znd3zfupTn7pkR/E89euFOchPqw4Z2mH7mcfu+7/2ue1+Hrs+90//9E8v+jXLFsUyCSzDdGQeHvtb3/rW7jk/8YlPXMhClZeeeeaZC/etY25z9j1bJctwybJg4RrZqTzfxz72Mc2XoHf/9V//9aLr+9KXvqT5dcYy8lY9o+OS4A77wi3s4tewmzdiBzJiB5usQLaq4jRZ3J01R7GGev755y8qpjXBHT2wdzYYbIAgh01i0RPU+f8MlxdeeGF3jWclvH/9618/+u3f/u0L/80C+cd//MczF96/8IUv7ILJ3/3d310I7qUv3SW20GHLf4blTkjimj7ykY9cFDJGMsRsYcFpjV/7tV/b1RtBygLcIWXw3Mdzzz23W1anGZBNhfbPf/7zl3zspK7N7ulInSvXVx/7xje+MQ3vVh9bWW3ip37qp3bXUyy4P/3007uz/d3f/d0LPfGrv/qru88fhXfrvRnrbdCj/fpGwd0+r8+aZLPLZpypOfmhD33ooufM4M7MZU4T1GsGf+ADH9h97lJ4t9nfd8NM7Zn3ve99F12fBXd64itf+cqF/+a6a4/08J77ccR2LWw3v+c977no+iq4284HZ0qf/M3f/M3q4G5ZpFiGKWQdvnHSr6+Ce89KBHeu6amnnrro40ssuyXLgOXd7373Rdc2Cu6/8Au/cMmvW2ZdwzLyFpXLuxMJ7rAXsKTfuDXsYIwdrrFC2aIHdWOFXqxBSm+oe++9d/e7wN/4jd+4EODXBndkaIcNB9gggQ0eU8OLIdcHWh+AMz20Fxu4xga4DXr8yq/8ym6IMLD571oWXV8sM7awjC3AWo4EBpYAYYDvhGVwhy3hEVvssCAwszW4lww0W2SQmmEZVFDKX7Ngd1IspI4QPumNRx55RH/9tHAd/Cbxvvvuu/AxvuPEd5SP+9MAu0db8BtqvmvNdSx9PM99X1aLheVfdVYBvgf3qvs//MM/3N1TrrM+xjVyT/PjsJ6bsZ7Gu971rt31ffWrX70QzC24jz4vZ02xmWWzzdR8fPzxx3f763d+53cuBPge3G321pz++othvr7BUh/rbObnXhip/fLwww/vro9QXt90suCe2GvUAPORYH1Sof3+++/fXd9v/uZvXgjws/3Pa/qHf/iH3WugT3pw77miswxSLLsUMg4/WeT6fv3Xf/1CgD9UcLfMZiwD4u1vf/vu2r785S9fCPAW3Os77Xx3vX/cMusSy8Zb9WxeNLjDHmALexFr9Bu1xA5nxA44WbFs1YO6sYIv1iiw5sKhgjtsSMAGig2fkRpo+wR31EDtbPAaG+Q28DO4wxZILZcltrhGbBn+/u///tHf/u3f7obgKLiXXMYztuRhocDsG9xLDz/7sIDV8V1Z6ozla7/eVdA7TRlo6+0zxw3Gh2C/gdh6ffaaD6He+sQ3APrH3/a2t10Iwffcc4+e8xZWc0t6cO+1zrVx7/p32wvfde99ZL02Yz0M6/lRcM85MgvuNqNslo3YjEQGd5u5OadHwd1mve0EYzuG3bM2uLPTMrjbLhyxHWu7GH1nrwnuX/va146+973v7c6xB3fLE8UyCCyzFMs6PbhnTjqp4G7Zz8yCO99tZ95Qk/Uxy6prWDbeomfy7sSCO+yFLOk3cA07lBE76GQFs5UVcbGiL9YsxRpsn+CO3vydDQrYYLEBNJLfcT9L4b1+BNvfPlNskfTFM2MLbKQvxCeeeOLoX/7lX44++MEP7pb0UnBHX8hLbOGXDAipgvuHP/zh3X9nIFnLAtAWFrqorX1DXA+Dp4nfaHA/660eFoZPS71lp8J7fbe9h/m8/tOSwb2fXf2GY81v1kasxtaq4J5vfam3ydhbYjjv+prssRnr2WK9DgvuNkNGwb3PpmIzbMRmY+nB3WZtzuOvD77jbjM+98CI7ZbaO2uCe+2z+tzf+q3f0h04YrvVdjByXy8Fd3569s///M+7/uG5KrhbliiWPYpllmJZ55DB3bKasdxn6E+uLYM7182+/eu//uvdWdTHLasusUy8Vc/k3TC4wx5oK3tBS/qNXMMOxthBGyucLbKAkxV+sYYp2WQV3D/5yU9q487kECg2MJDDBTmEzAMPPLD7sRMDrYZcsUE4YgPWBrHpA51lkn+oyEJ7sYViS2gkF9kIC5EFXEGd/2ZZrwnupS/sJbn4S4aFrgJHx/Ct7xxuZUFoqwpfFdy5X/xvv8atYT6D40no3y3m7W/2OaetAnLdNxa9fd5pq7Ot3+TUOdVbo/YJ7lZLW1HDPYT32h59PH/N+sxYr8J6u5t9J72zz+thvdjsMjYL0yy45xx+9NFHd3skZ3Wf7cV2gLGd0nfOLLjz3LlHTjO0Yxbcefz+Hfb+35kjimWOYlmlWMbBUnDv9w6jIG8ZzVjmM2TGpeDOn6Xgf/v1EeY5C8usxvLwFj2LpzMZ3NFv5hI7nBE78JSFs48s4mQNUKxxSm+04wR32DBADg3YkEEfRInhyLBgsfIduwzulyu8F4Yvy433kzM0+ltlulwqxZaRscVmWGTcK4IcS5LFvCW4Ixf3kgwCxcKD+YM/+INdDVpA2cKC0RZ8h5i3JmS4432NfPw4b6ewMHlc9Tek9D9sebnVHwD9+7//+wsB/nL8xsLOoMI711S4tj/6oz9aHdytbrbKut0S3KtntgR3601YL5t9gnuGddi8GrEZaPipIs+ZwT3nL8/P3zCT3223mW6z39guyX0zC+65x3g9vJec+bPmrTK2S2G713Y0Zj9x59e4X9Qd/81zzoK7ZY1iGaVYtimz4G74sxb2+ZbRkmW9ETLjKLhzL5h/nOOTTz55IY9yH/j42vBuWXirnsXTNLjDHnAre2FL+s1cww7I2KGbXjj7smIu1gRdNk/pzdaDO/+dzbuGDQTk8IANGuRQKvxoOwdZDjzkUJyxgWuD2digZwGw4AjvS39jQV8uJZfRiC24jgHLNfCHtmpZsqC3BveSC3xJBoNiYaIjUBGM+au/6mMVVPZhYWkNfmNIsOM6+O8e2PpbUvrH92Vhc4v6bjuLlbeh2OecNvsbWuo3Fycd3u0er1V/qHb0m7Ksk31ZrWIU3PtbZXq/YE1wt16E9e7M1uD+mc985sL8KTavRmz2GWZnBnebufj617++q83+jRWb5TnvR2yH2K4ZBXfbYew2XgPhvf5WtRHbobCdC9vPGAV3Xg/XwV9gUR/jeZmNW4O7ZZPOsk2p76qvDe68Vq77T/7kTy58zLKZsaxnKi8ufcf9j//4j3f/3TMp733PQG8sA2+VOTwtBnfYA29hL26NfkPXsIMydvCmF9W+spg7a4RiTVSq2TK4ozfwGjYQkMOj2MBBDieWEtf28z//85f8mg2+PhiX5NCFDWhjA5+Fw3d0+AOhLOm+NFIF9s4W00guulI/Np5hqdrSHbFFPmNBoVi4AOGI31wQnvjudv+1HmT2keFppoI718Efquy/dujgPmKh1PCdKEJd/mHLy2V2Pfk+/OOwe3Yc9dMUvpPYP97P/jisJtNScOcPB/aewBe/+MXdPa0/K9JZ7xXr2RlmwNrgzrXUjDmN0I4e3G3Wgj+Qyud8+tOfvvAxm+E2643tDtsxsOBuu6v2Go9PLfLXLnLv+s4rtjthuxa2m8HuHgX3+vhMzwyWMYplk2KZptsa3LkWfnPBH6blXvMxy2XJMp7pWXEpuNt31n/kgjvsBS7pN3QNO6wRK4CUhbWPLOZkDVGskQpFbsEdvYnXsMGAHCLFBg9qOFVon73nzwZgDcc1bADnkB7Joc/iWvMd99JDe7EFNWJLz7Cs6zvufZnm0l1iS30mA0OXQcO+4556oNmHhSrD39bBd7Efeuihiz7OX8vXP95D3mnIAGvf3b6cDh3c7R6chLq2j370oxed93FZDY5YcKfmuT77De3o49ZrxXp0pvf+muDOTMngbvNoxGbcSJ+ZFdx7KO8qtNf72nNuF5vxxnaG7ZaSwd12Vt9pvKbZd9xtZ8J2LGwno/b2KLgnMgHPY99xt2xRLJMUyzId2ee433G3TJYs2430rDgK7qi/VYbz7HmUOrSPd5Z9t8r8bVYFd9gTbGEvco28qUvswIwVgcni2ocVdmeNUayhyii4wxp4xgYEcpiUHD7lve997+6a1vxBHRuEOTxnbBDbwC4sJAI6jVlDn8XDHzIiADCoc3mM1PLpbFGN5PIzLG1+EpDBvdgSHrEFv6SHBwINgeNzn/vc7r97CCEU84eQK4SM9MCzrwxZXf392vV2GdTf+sFfy9c/t1QIPC32XWILv6ep3rqTAb0CPdfaP7+/nsul/iGj0bluZbW2Rg/uWe/1a/277vnd9t5jyXpySfb9LLj3WdKDu82iEZttIzkvZ8E9/7avHtQ7m/PGdoXtlK4H976jeC3skf7TZJ6DPuFs7T3utithuxW2i9F39nGDu2WKYlmkWIbpKveMgjvPzbX0j9fHmDfUpmUxY9nOZE6cBff6e9x5u0zlUP7QLJ+/9C+nWvbdInP3yKkFd9gLXSNv7BI7OGOFYHrR7csKvFhzdL2h6h9googSP2JiyNEE1sBLbFDABgtyCDEMGV52bbDvRPSBWGyIjuQwRg7t7v3vf/8l18VbZFjCtQz6ApnJRVRyYY3YIuxY3hXc+e++aEsu4yW27JdUkOA7m3nv7C0ya2QA2ocFsArv/Rr7P46zxELiIfFd4rom+/UtepjeRz4ePwno9w32j1ldDvzUpF/XIb7TbjW1Rr0Npl9PyX6o8F4qtFdPGevBJb3H+VH+6PqYdfxGjdnBXz07+zzefpYzqbOZZvpsfOyxx4b7q96qyLUx9+xzwE9GbbaP2I6wXQJ+Kje6Pt4Cw/1lR9U3qPLXufbccchdCdupsB0MdjR/xeNs/3OP+06vkM7z9eDeM0WyDNJZhin84eHZ9XGPyUP2t8qc1FtkQC6sQJ7Pi/7XP5I56ZH8XEJ+ZtPOMu9Wlr3N6uAOe6Kt7AUv6aF8DTu4ESuI1AP4vqzIO2uQYs1VqjFNb+C1bGDABgz6ICo2uGYyuKMP0yU2mG2Aj/Tv4GwN7+iLqdgCG7GlOFKBPfXFvYYt/yUWMkoP5VtYMNpHhrJDsRB51cmzszgEq519WC2vZf0D67kl1tszNjtgs2bEZtiIzUaboSM2m22Gj9husB0yYrvJdtiM7UjbpbDdC9vVSywTFMsSxTJIsezSWfbZyjJYsiw3YhlxxjLoGpZ3t7DMPXJFBHfYDZ6xAzRWFMYKbCsr9M4apViDFWvMYg29xAYHbNDABpMNsBkbkDZIR2xA2yAfsQVhi2TEFpQtshFbkDO2fG1RL7EwMGOBo1hIWcvC0T4srB2aBc2r9mf3+NCsVvZhtbuW9UyxXpuxXl5iM8Nmy4zNrhGbiTY7R2wm2+wesZ1gu2PEdpLtrhnbjbZDYTsXtqOXWBYoliGKZY9imaWzzLOVZS9jWc5YNpyx7LmGZd2tLHOPbArusCfcyl74ErvJM3aII1YYxgptKyv4zhqmWKMVa9BijT1jw6PYwLHhBBtkIzYkYQN1xAa1DfQRWxS2UEZsUcGW2ogtyxFbxLClPWPBYImFj86Cy1oWmPZlIe6kWCi96mJ2306C1cK+rEbXst7orLeWWA/P2IyAzZQRm1UjNgNhM3PEZrHN7BHbBbYzRmwXwXbXiO1E2A61XVtsR89YBiiWHYpljs7ySrGss5VlLmMZbsSy4YxlzyWWcbeyrD2zObjDnngLe/Fr2I2esYMcsQJJVmz7sMIv1jCdNVyxRoU19xIbILChAxtQsIE2YoMSNlhHbGDbYB+xhQFbLsYWFmzBjdjinLGlbAt8iYWEJRZGOgsza1mIOg4LeKfBAuzLmd2D02BnfhxWk2tZL3TWS0usZ5fYbLAZMmMzasRmH2xWGpu9sFk9YjvAdsWI7SDYzhqxXQjbnbBdC9vNSywDwDJDsazRWVbpLOdsZZkrWXYbsUw4Y5lzDcu4W1jGXnJZgjvsBqxhN3zGDtRYkRgruK2s8DtrnM4ar1jDwhp8iQ0S2OCBDSrYYBuxgQkbsCM2uGFD3tjigC2aEVtetuhGbIHO2IKGLfMlFhqWWDjpLNxsYcHquCz8nTYLvlcCey2nzc70uKz2trDa76x3lliPLrFZAJsdMzabRmzm2WwcsZkLm9HGZj5sR4zY7oHtqhHbgbCdCduxsJ28xHZ/sbxQLGcUyyidZZytLGsZy27GsuCMZc01LNtuZRl7yV7BHXYBW9mNWGI3fcYOdcQKxVjhbWUN0FkDFWu8Yg1brNGX2ECBDSDYwIINuBEbnLBBO2IDHDbwjS0Q2MIZsUUGW3ojtkxnbFnDlvsSCxFrWGApFna2ssB1CBYOzzIL1FvYY55ldmaHYDW2ldV6sR5Zw3pyifU+bFbM2CwasRkHm4kjNmths9nYrIfthhHbObAdNWK7D7YrYbsVtouX2M4vlhWKZYxi2aSzbLOVZSxjmW3EsuCMZc01LNduYdl6jSsuuMNu/Iwd7IgVjLEC3MoaobNGKtaAxRq3WMMvscECG0SwwQUbdCM2QGEDd8QGOWzwj9gyscUzYgsNtgBHbLEuseVti34NCxVrWIjpLABtZUHsUCw8XnV67EwOxWppK6vpznpiDevBNaznYfNhxmbQiM022CwcsRlrs3jEZjxsJ4zYroHtphHbebAdCdupsB28xHZ9sYxQLFsUyySdZZp9WL5KltVGLAPOWMZcwzLtVpat19g7uMMuZCu7IWvYAczYARsrGmMFuA9riGLN1FkjFmvgYo2/xAYMbCDBBhhs4M3YMLXBO2IDHbYARmyxwJbQiC03W4QztmRnbInDlv4aFjLWsFDTWSjahwW0Q7JwedXh2D0/JKuZfVgNd9YDa1jPrWE9DpsJMzZzZmym2ewbsZkKm8EjNtthu2DEdoztohnbdbDdCNulsN27xHZ8sWxQLFN0lkmKZZl9WLYyltWMZb8Zy5ZrWJbdyjL1WleDu7DCMVaIW1lTdNZQnTVksUYuNgCW2KCBDSbYIIMNvhkbrDaAZ2y42yIYsQUDW0gjtuhgS3HGlu6MLXVYCFjDQscaFnKSBaV9WHA7KRZCrxqze3hSrDb2YbWarObXsB5bw3oaNgOW2JwZsRkGm3kjNkths3fEZjps/o/YbrEdNGM7DrYTYTsUtnOX2G4vlgmKZYnOskhnWWYry1TGMtqIZb8Zy5ZrWJbdyjL1WscK7rAL2spuzBp2EDN20CNWQMYKcitrjM4aq1hTdtbQxQbBEhs4sAEFG2iwAThjA9YG8YwNeVsII7ZoYItpxBYebEHO2PJdYkseFgrWsBCylgWfzsLTcVioO2kWWn+U2D05aXb2x2G12Vltr2U9tYb1MKznl9hsmbHZBZt1IzZDYTN3xGa5zfwZ2ym2e2Zst8F2IWx3wnbtEtvpxbJAZ1miWAbpLMNsZVnKWDYbscw3Y5lyDcuwW1mW3uLYwR12YVvZDVrDDmTGDnzECilZUe7DGqSzBivWmJ01drGBsMQGD2xQwQYbbBDO2KC1gTxjA98Ww4wtHVtQM7b8YMtyxpbxjC38YiFhDQsla1kYShaojsMC3+VgYfdKYq/pcrAzPg6rwWS1vJb10BrWs8V6fcZmyYzNKthsm7HZaTN2xma4zfoZ2yW2c2Zsp8F2IGxnwnbsEtvlneWAYhmiWPboLLvsw7JUskw2YllvxrLkGpZdt7IMvdXV4D5hxWSsMPdhjdJZoxVr0GKNXWworGEDCDawYAMONhBnbODaYJ6xwQ9bEiO2gGDLasQWIWxxzthiXmLLHxYY1rKQsoUFpGRB67gsDJ41FpxPgj33WWNneFxWa8lqdgvrmbWsV2G9vcRmyIzNKNhMG7FZCZutIzazYTN+xnaI7ZoZ22Ww3QfblcX26xLb5cUyQLHsUCxzdJZZ9mEZylgmG7GsN2NZcg3LrltZht7qIMEddoFb2Y1aww5mxg5+xArKWIHuwxqmWLN11qjFGrzYYFhiA6jY4IINOthgnLHBCxvSI7YAYAtjxBYRbHHN2FKELdEZW9JLLAzAwsNaFlq2sNBkLIAdgoXFqy4fO6NDsJoyVqNbWI+sZb0J6+UlNjNmbCbBZtiMzUjYTB2xWQ2b7TO2N2zHzNgOg+082I4stluX2A4vtvuLZYbOMkdneWUry07GstiIZbwZy5BrWGbdyrLzPs5UcIfdsDXsgGasAEassIwV6lbWMJ01XGcNW6zRiw2IJTaIig0w2MCDDcgZG8CwYT1iiwC2OGZsKdkCm7EFCVuoS2xpL7FwAAsTa1mI2cqClLFgdkgWKK86PLv3h2S1Y6wWt7KeWMt6Eda7a9icmLFZBJtdMzYbbYbO2IyGzfQR2xWw3TJjuwu262C7sdhOXWK7u9jOL5YVOssanWWVrSwzGctgI5btllh+XGJZdR+WnfdxsOAOu9Ct7KatYQe0xArBWHEZK9Z9WON01nidNW6xhi82KJbYQCo2yGCDDzYoZ2wQwwb3iC0E2AKZsQUFW2Yztixhy3XGlvcaFhZg4WILCzZbWcAyFthOggXPq9aze3oSrEaM1dw+rP7Xst6D9eoaNhtmbPYUm1cjNgths3PGZjNslo/YjoDtlBnbWbAdB9uJxXbpEtvZxXZ9sYzQWcboLKPswzKTsQxmLNMtsey4hmXVrSwz7+ugwR12wVvZjVvDDmrGimHECsxYwe7DGqizBuysgYs1frGBscQGU7GBBhuAsIE5YwMZNsBnbDnAlsmILSrYYpuxpQlbtEtsma9h4QEWNrawoLMPC14jFuZOkoXUH2V2j06S1cCI1dY+rNa3sF6D9eYaNguW2MyBzagZm4GwmTlisxg2u2dsN8B2yYztKthug+3CYjt0ie3qYju+WDboLFt0lk32YVnJWPYasUw3Y5lxDcuoW1lWPo4zGdxhN3ANO7AZK4gRKzRjhbsPa6TOGrFYE3c2AIoNjiU2oIoNNtgghA3OGRvMsEE+Y4sCtlhmbGnBltyMLVHY0l1iy30NCxOw8LGVBaB9WCAbsaB32izcXsnsNZ42O+sRq6F9WE1vZb0F68U1rPeX2IyBzaQZm3mwGTljMxg2s2dsJ8B2yIztKNhOg+3AYrtzie3oYru9s2xQLFN0lkn2YRnJWOYasSw3Y1lxDcum+7CsfBwHD+6wC9/KbuIadmhLrDBGrOCMFfBW1kzJGrJYI3c2CIoNkCU2qIoNONhAhA3QGRvQsIE+YwsDtmBmbIHBFt6MLVTYAl5ii34tCxfFAskWFor2ZUFtxkLgWWJB+TTYtZwldpYzViv7shrewnqoWO+tZT2/xGYLbBbN2KyDzcYZm72wWT1juwC2O2ZsN8F2GWz3FduZS2w3F9vpnWWCYlkiWSbZyrKRsaw1YhluiWXFNSybbmUZ+bhOJLjDXsBWdiPXsIObseIYsaIzVsT7sIZK1pjFGrrYMOhskCyxgVVs0MEGI2yQztighg32GVscsEUzY4sMtviW2HKFLeMltvTXsrBRLKRsZUHpOCzELbGgeNXlY2e0xGrhOKxWt7KeKdZra1mPL7FZAps9S2zGwWbijM1c2IyesR0A2xkztpNgOwy284rtyiW2kzvb6cWyQGc5orMssg/LRsay1ohluBnLiGtYJt3KsvHxveLo/wCD0OICtrppwwAAAABJRU5ErkJggg=="/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;As you can see, there is a &lt;em&gt;huge&lt;/em&gt;&amp;nbsp;variance in the results. To understand exactly why, we need to dig a bit deeper into how RavenDB handles I/O. You can observe this in the I/O Stats tab in the RavenDB Studio:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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" style="float: right"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;There are actually three separate (and concurrent) sets of I/O operations that RavenDB uses:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Blue - journal writes - unbuffered direct I/O - in the critical path for transaction performance because this is how RavenDB ensures that the D(urability) in ACID is maintained.&lt;/li&gt;&lt;li&gt;Green - flushes - where RavenDB writes the modified data to the data file (until the flush, the modifications are kept in scratch buffers).&lt;/li&gt;&lt;li&gt;Red - sync - forcing the data to reside in a persistent medium using &lt;em&gt;fsync()&lt;/em&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align:left;"&gt;The writes to the journal (blue) are the most important ones for performance, since we must wait for them to complete successfully before we can acknowledge that the transaction was committed. The other two ensure that the data actually reached the file and that we have safely stored it.&lt;/p&gt;&lt;p style="text-align:left;"&gt;It turns out that there is an interesting interaction between those three types. Both flushes (green) and syncs (red) can run concurrently with journal writes. But on bad disks, we may end up saturating the entire I/O bandwidth for the journal writes while we are flushing or syncing. &lt;/p&gt;&lt;p style="text-align:left;"&gt;In other words, the background work will impact the system performance. That only happens when you reach the physical limits of the hardware, but it is actually quite common when running in the cloud.&lt;/p&gt;&lt;p style="text-align:left;"&gt;To handle this scenario, RavenDB does a &lt;em&gt;number&lt;/em&gt;&amp;nbsp;of what I can only describe as shenanigans. Conceptually, here is how RavenDB works:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-python'&gt;&lt;code class='line-numbers language-python'&gt;&lt;span class="token keyword"&gt;def&lt;/span&gt; &lt;span class="token function"&gt;txn_merger&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;self&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;:&lt;/span&gt;
  &lt;span class="token keyword"&gt;while&lt;/span&gt; self&lt;span class="token punctuation"&gt;.&lt;/span&gt;_running&lt;span class="token punctuation"&gt;:&lt;/span&gt;
    &lt;span class="token keyword"&gt;with&lt;/span&gt; self&lt;span class="token punctuation"&gt;.&lt;/span&gt;open_tx&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token keyword"&gt;as&lt;/span&gt; tx&lt;span class="token punctuation"&gt;:&lt;/span&gt;
      &lt;span class="token keyword"&gt;while&lt;/span&gt; tx&lt;span class="token punctuation"&gt;.&lt;/span&gt;total_size &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; MAX_TX_SIZE &lt;span class="token keyword"&gt;and&lt;/span&gt; tx&lt;span class="token punctuation"&gt;.&lt;/span&gt;time &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; MAX_TX_TIME&lt;span class="token punctuation"&gt;:&lt;/span&gt;
        curOp &lt;span class="token operator"&gt;=&lt;/span&gt; self&lt;span class="token punctuation"&gt;.&lt;/span&gt;_operations&lt;span class="token punctuation"&gt;.&lt;/span&gt;take&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
        &lt;span class="token keyword"&gt;if&lt;/span&gt; curOp &lt;span class="token keyword"&gt;is&lt;/span&gt; &lt;span class="token boolean"&gt;None&lt;/span&gt;&lt;span class="token punctuation"&gt;:&lt;/span&gt;
          &lt;span class="token keyword"&gt;break&lt;/span&gt; &lt;span class="token comment"&gt;# no more operations&lt;/span&gt;
        curOp&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token keyword"&gt;exec&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;tx&lt;span class="token punctuation"&gt;)&lt;/span&gt;
      tx&lt;span class="token punctuation"&gt;.&lt;/span&gt;commit&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
      &lt;span class="token comment"&gt;# here we notify the operations that we are done&lt;/span&gt;
      tx&lt;span class="token punctuation"&gt;.&lt;/span&gt;notify_ops_completed&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;The idea is that you submit the operation for the transaction merger, which can &lt;em&gt;significantly&lt;/em&gt;&amp;nbsp;improve the performance by merging multiple operations into a single disk write. The actual operations wait to be notified (which happens after the transaction successfully commits). &lt;/p&gt;&lt;p style="text-align:left;"&gt;If you want to know more about this, I have &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://ayende.com/blog/174945/the-guts-n-glory-of-database-internals-merging-transactions"&gt;a full blog post on the topic&lt;/a&gt;&lt;/span&gt;. There is a &lt;em&gt;lot&lt;/em&gt;&amp;nbsp;of code to handle all sorts of edge cases, but that is basically the story. &lt;/p&gt;&lt;p style="text-align:left;"&gt;Notice that processing a transaction is actually composed of &lt;em&gt;two&lt;/em&gt;&amp;nbsp;steps. First, there is the execution of the transaction operations (which reside in the &lt;em&gt;_operations&lt;/em&gt;&amp;nbsp;queue), and then there is the actual &lt;em&gt;commit()&lt;/em&gt;, where we write to the disk. It is the commit portion that takes a lot of time.&lt;/p&gt;&lt;p style="text-align:left;"&gt;Here is what the timeline will look like in this model:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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" style="float: right"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;We execute the transaction, then wait for the disk. This means that we are unable to saturate either the disk or the CPU. That is a waste. &lt;/p&gt;&lt;p style="text-align:left;"&gt;To address that, RavenDB supports async commits (sometimes called early lock release). The idea is that while we are committing the previous transaction, we execute the &lt;em&gt;next&lt;/em&gt;&amp;nbsp;one. The code for that is something like this:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-python'&gt;&lt;code class='line-numbers language-python'&gt;&lt;span class="token keyword"&gt;def&lt;/span&gt; &lt;span class="token function"&gt;txn_merger&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;self&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;:&lt;/span&gt;
  prev_txn &lt;span class="token operator"&gt;=&lt;/span&gt; completed_txn&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
  &lt;span class="token keyword"&gt;while&lt;/span&gt; self&lt;span class="token punctuation"&gt;.&lt;/span&gt;_running&lt;span class="token punctuation"&gt;:&lt;/span&gt;
    executedOps &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;
    &lt;span class="token keyword"&gt;with&lt;/span&gt; self&lt;span class="token punctuation"&gt;.&lt;/span&gt;open_tx&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; &lt;span class="token keyword"&gt;as&lt;/span&gt; tx&lt;span class="token punctuation"&gt;:&lt;/span&gt;
      &lt;span class="token keyword"&gt;while&lt;/span&gt; tx&lt;span class="token punctuation"&gt;.&lt;/span&gt;total_size &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; MAX_TX_SIZE &lt;span class="token keyword"&gt;and&lt;/span&gt; tx&lt;span class="token punctuation"&gt;.&lt;/span&gt;time &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; MAX_TX_TIME&lt;span class="token punctuation"&gt;:&lt;/span&gt;
        curOp &lt;span class="token operator"&gt;=&lt;/span&gt; self&lt;span class="token punctuation"&gt;.&lt;/span&gt;_operations&lt;span class="token punctuation"&gt;.&lt;/span&gt;take&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
        &lt;span class="token keyword"&gt;if&lt;/span&gt; curOp &lt;span class="token keyword"&gt;is&lt;/span&gt; &lt;span class="token boolean"&gt;None&lt;/span&gt;&lt;span class="token punctuation"&gt;:&lt;/span&gt;
          &lt;span class="token keyword"&gt;break&lt;/span&gt; &lt;span class="token comment"&gt;# no more operations&lt;/span&gt;
        executedOps&lt;span class="token punctuation"&gt;.&lt;/span&gt;append&lt;span class="token punctuation"&gt;(&lt;/span&gt;curOp&lt;span class="token punctuation"&gt;)&lt;/span&gt;
        curOp&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token keyword"&gt;exec&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;tx&lt;span class="token punctuation"&gt;)&lt;/span&gt;
        &lt;span class="token keyword"&gt;if&lt;/span&gt; prev_txn&lt;span class="token punctuation"&gt;.&lt;/span&gt;completed&lt;span class="token punctuation"&gt;:&lt;/span&gt;
           &lt;span class="token keyword"&gt;break&lt;/span&gt;
      &lt;span class="token comment"&gt;# verify success of previous commit&lt;/span&gt;
      prev_txn&lt;span class="token punctuation"&gt;.&lt;/span&gt;end_commit&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt; 
      &lt;span class="token comment"&gt;# only here we notify the operations that we are done&lt;/span&gt;
      prev_txn&lt;span class="token punctuation"&gt;.&lt;/span&gt;notify_ops_completed&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
      &lt;span class="token comment"&gt;# start the commit in async manner&lt;/span&gt;
      prev_txn &lt;span class="token operator"&gt;=&lt;/span&gt; tx&lt;span class="token punctuation"&gt;.&lt;/span&gt;begin_commit&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;The idea is that we start writing to the disk, and while that is happening, we are already processing the operations in the &lt;em&gt;next&lt;/em&gt;&amp;nbsp;transaction. In other words, this allows both writing to the disk and executing the transaction operations to happen concurrently. Here is what this looks like:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcEAAAApCAYAAABN25KzAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAASuSURBVHhe7Zw9ThxNEIb3IsQQODQcASEiDoAcgByv5AMgIzlxQOyAmMQBcvCdgQNwie8CXz7f9HTXTFdP7e7wIwvt+5T0SEz/VPduVb/Vs5a86jAMwzBM1IYi+M/TvwAAIIi6UQQBAIRRN4ogAIAw6kYRBAAQRt0oggAAwqjbHhfBh+5stepWq8vue9gP+w3x14b4L0XdpiL4+7Y7GpIm4nP39ff8y/s4PHVfP6V91gnPIXgRxF8b4i+LuoVvgvfrz0PyH62fZn0fk+gQwGsh/toQfy3UbXkRLDfFo/Wtv2HdXQ5jjWlOvokdrR9KgmbO7oq/nu8XU/vq4mFs3+yzp7mxnt3ZAaj4dNvdb70dGvUNd/d+VSD+0xjiX9qJ/96ibi8ugi4xUtuQcOm5Tbop4fJ4e/aHx9a4X1/mhFzic+zvnzcm/Kb92LP120HYsV8hiH80XgfiH43fX9Tt5UVwTMA5+WbXJFU13vXbbW+Lv0Q0x+1rYMEhCOb6z7ljv6VNAeKf+4k/8VeIv7q9vAjWP1v05ESpWXgIZnOnBN7k0/Y13kRHdh+C8DO5g4EIGsQ/9xN/4q8Qf3V7UxFsk9InzfKkqtfb5jPc18DuQ7DtJpjXQgSN8Hsm/jKE3zPx31vU7R2KYJP0Cw9Bmjv6rxJ0q0/bw+iz7y9/zxO2PRjtfnb16xyCFuKffRB/4u997ifq9safQy1JM2cXKZmbBN6YVJaEhdHvNp89to+BDe3Dmm2St3ObPuFD0EL8cxvxJ/4K8Ve3sAgCAIAG6kYRBAAQRt0oggAAwqgbRRAAQBh1owiK89+fHwAAsgxFENO1KCkAAFSgCIpblBQAACpQBMUtSgoAABUoguIWJQUAgAoUQXGLkgIAQAWKoLhFSbGdL93V8F9OHXePYX/h13l3ksYdnnfPUf+7sXA/8E4Qf9gvKILi5hPCBMVzcv0tGPNRRfBb9/Nwwf4ggPiDHhRBcfMJUQSlEq7n64MshqdfmrE7+Gsi2IIIvh7iD3pQBMXNJ8RcBBOPp0lUVt3VTXqei4z1O7FsRNDG+LcK83XQ/fxV2m6O/bjaT/n75Pq8uv3X+7G/K8bP0vZVa0KB+IMeFEFx8wkRi6C9DWRhakSwEa3n6+MsLrV4lTGt39p3FtjqzcPG1v7NZzV+Lsrtc9yWRbkeA8QfFKEIiptPiFgEvdDFIjibM4rgQRGuDYJj44Y3iOz76jT5zOOzKJZbey2so48FIujWKG1l35OYAvEHRSiC4uYT4hVvAj3u5zBrN+Fp22cUf8Oaaf1e8G7S3Cx8g2/bTyRmS0TQhDoAEawh/qAHRVDcfELEIphFrtzGI5EpOLE0wep9PZZ2L17tPBO/5DevMf7bj817owhmEbd5MIf4gx4UQXHzCTEXQRO2SXi8yKT+UVxqsalEMN/w0xwT0oYy9uSwX6usk98A8k9p4219kQi2op2w9SthhADiD3pQBMXNJ4SJhcffoFvRseeCCZQTwf7ZfpKqBHZiWrcVVCdcC0VwHJcY14s+G6LoIf6gB0VQ3KKkAABQgSIoblFSAACoQBEUtygpAABUoAiKW5QUAAAqUATFLUoKAAANfnT/A7+Zq+NjnW6SAAAAAElFTkSuQmCC" style="float: right"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;This change has a huge impact on overall performance. Especially because it can smooth out a slow disk by allowing us to process the operations in the transactions while waiting for the disk. I wrote about &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://ayende.com/blog/174946/the-guts-n-glory-of-database-internals-early-lock-release#:~:text=It%20is%20called%20early%20lock%20release.%20With%20early,we%20don%E2%80%99t%20have%20to%20tell%20it%20right%20away."&gt;this as well in the past&lt;/a&gt;&lt;/span&gt;. &lt;/p&gt;&lt;p style="text-align:left;"&gt;So far, so good, this is how RavenDB has behaved for about a decade or so. So what is the performance optimization?&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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" style="float: right"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;This deserves an explanation. What this piece of code does is determine whether the transaction would complete in a synchronous or asynchronous manner. It &lt;em&gt;used&lt;/em&gt;&amp;nbsp;to do that based on whether there were more operations to process in the queue. If we completed a transaction and needed to decide if to complete it asynchronously, we would check if there are additional operations in the queue (&lt;em&gt;currentOperationsCount&lt;/em&gt;).&lt;/p&gt;&lt;p style="text-align:left;"&gt;The change modifies the logic so that we complete in an async manner if we &lt;em&gt;executed&lt;/em&gt;&amp;nbsp;any operation. The change is minor but has a really important effect on the system. The idea is that if we are going to write to the disk (since we have operations to commit), we&amp;rsquo;ll always complete in an async manner, even if there are no more operations in the queue.&lt;/p&gt;&lt;p style="text-align:left;"&gt;The change is that the &lt;em&gt;next&lt;/em&gt;&amp;nbsp;operation will start processing immediately, instead of waiting for the commit to complete and only then starting to process. It is such a small change, but it had a huge impact on the system performance. &lt;/p&gt;&lt;p style="text-align:left;"&gt;Here you can see the effect of this change when writing 100K docs with 10 threads. We tested it on both a good disk and a bad one, and the results are really interesting. &lt;/p&gt;&lt;p style="text-align:left;"&gt;The bad disk chokes when we push a lot of data through it (gray line), and you can see it struggling to pick up. On the same disk, using the async version (yellow line), you can see it still struggles (because eventually, you &lt;em&gt;need&lt;/em&gt;&amp;nbsp;to hit the disk), but it is able to sustain much higher numbers and complete &lt;em&gt;far&lt;/em&gt;&amp;nbsp;more quickly (the yellow line ends before the gray one).&lt;/p&gt;&lt;p style="text-align:left;"&gt;On the good disk, which is able to sustain the entire load, we are &lt;em&gt;still&lt;/em&gt;&amp;nbsp;seeing an improvement (Blue is the new version, Orange is the old one). We aren&amp;rsquo;t sure yet why the initial stage is slower (maybe just because this is the first test we ran), but even with the slower start, it was able to complete more quickly because its throughput is higher. &lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;img src="data:image/png;base64,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"/&gt;&lt;/p&gt;
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/themes/prism.min.css" integrity="sha512-/mZ1FHPkg6EKcxo0fKXF51ak6Cr2ocgDi5ytaTBjsQZIH/RNs6GF6+oId/vPe3eJB836T36nXwVh/WBl/cWT4w==" crossorigin="anonymous" referrerpolicy="no-referrer" /&gt;</description><link>https://www.ayende.com/blog/201795-A/ravendb-performance-15-improvement-in-one-line?Key=30a81479-7a92-42b0-b95b-87f63721b4a4</link><guid>https://www.ayende.com/blog/201795-A/ravendb-performance-15-improvement-in-one-line?Key=30a81479-7a92-42b0-b95b-87f63721b4a4</guid><pubDate>Mon, 02 Dec 2024 12:00:00 GMT</pubDate></item><item><title>Fun with bugs: Advanced Dictionary API</title><description>&lt;p style="text-align:left;"&gt;In RavenDB, we &lt;em&gt;really&lt;/em&gt;&amp;nbsp;care about performance. That means that our typical code does &lt;em&gt;not&lt;/em&gt;&amp;nbsp;follow idiomatic C# code. Instead, we make use of everything that the framework and the language give us to eke out that additional push for performance. Recently we ran into a bug that was quite puzzling. Here is a simple reproduction of the problem:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-csharp'&gt;&lt;code class='line-numbers language-csharp'&gt;&lt;span class="token keyword"&gt;using&lt;/span&gt; &lt;span class="token namespace"&gt;System&lt;span class="token punctuation"&gt;.&lt;/span&gt;Runtime&lt;span class="token punctuation"&gt;.&lt;/span&gt;InteropServices&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


&lt;span class="token class-name"&gt;&lt;span class="token keyword"&gt;var&lt;/span&gt;&lt;/span&gt; counts &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token keyword"&gt;new&lt;/span&gt; &lt;span class="token constructor-invocation class-name"&gt;Dictionary&lt;span class="token punctuation"&gt;&amp;lt;&lt;/span&gt;&lt;span class="token keyword"&gt;int&lt;/span&gt;&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token keyword"&gt;int&lt;/span&gt;&lt;span class="token punctuation"&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


&lt;span class="token class-name"&gt;&lt;span class="token keyword"&gt;var&lt;/span&gt;&lt;/span&gt; totalKey &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;10_000&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


&lt;span class="token keyword"&gt;ref&lt;/span&gt; &lt;span class="token class-name"&gt;&lt;span class="token keyword"&gt;var&lt;/span&gt;&lt;/span&gt; total &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token keyword"&gt;ref&lt;/span&gt; CollectionsMarshal&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;GetValueRefOrAddDefault&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;
                               counts&lt;span class="token punctuation"&gt;,&lt;/span&gt; totalKey&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token keyword"&gt;out&lt;/span&gt; _&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


&lt;span class="token keyword"&gt;for&lt;/span&gt; &lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token class-name"&gt;&lt;span class="token keyword"&gt;int&lt;/span&gt;&lt;/span&gt; i &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i &lt;span class="token operator"&gt;&amp;lt;&lt;/span&gt; &lt;span class="token number"&gt;4&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; i&lt;span class="token operator"&gt;++&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;
&lt;span class="token punctuation"&gt;{&lt;/span&gt;
    &lt;span class="token class-name"&gt;&lt;span class="token keyword"&gt;var&lt;/span&gt;&lt;/span&gt; key &lt;span class="token operator"&gt;=&lt;/span&gt; i &lt;span class="token operator"&gt;%&lt;/span&gt; &lt;span class="token number"&gt;32&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    &lt;span class="token keyword"&gt;ref&lt;/span&gt; &lt;span class="token class-name"&gt;&lt;span class="token keyword"&gt;var&lt;/span&gt;&lt;/span&gt; count &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token keyword"&gt;ref&lt;/span&gt; CollectionsMarshal&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;GetValueRefOrAddDefault&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;
                               counts&lt;span class="token punctuation"&gt;,&lt;/span&gt; key&lt;span class="token punctuation"&gt;,&lt;/span&gt; &lt;span class="token keyword"&gt;out&lt;/span&gt; _&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
    count&lt;span class="token operator"&gt;++&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;


    total&lt;span class="token operator"&gt;++&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token punctuation"&gt;}&lt;/span&gt;


Console&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;WriteLine&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;counts&lt;span class="token punctuation"&gt;[&lt;/span&gt;totalKey&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;What would you &lt;em&gt;expect&lt;/em&gt;&amp;nbsp;this code to output? We are using two important features of C# here:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Value types (in this case, an int, but the real scenario was with a struct)&lt;/li&gt;&lt;li&gt;CollectionMarshal.GetValueRefOrAddDefault()&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align:left;"&gt;The latter method is a way to avoid performing two lookups in the dictionary to get the value if it exists and then add or modify it. &lt;/p&gt;&lt;p style="text-align:left;"&gt;If you run the code above, it will output the number 2. &lt;/p&gt;&lt;p style="text-align:left;"&gt;That is &lt;em&gt;not&lt;/em&gt;&amp;nbsp;expected, but when I sat down and thought about it, it made sense.&lt;/p&gt;&lt;p style="text-align:left;"&gt;We are keeping track of the reference to a value in the dictionary, &lt;em&gt;and we are mutating&lt;/em&gt;&amp;nbsp;the dictionary.&lt;/p&gt;&lt;p style="text-align:left;"&gt;The documentation for the method &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://learn.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.collectionsmarshal.getvaluereforadddefault?view=net-8.0#system-runtime-interopservices-collectionsmarshal-getvaluereforadddefault-2(system-collections-generic-dictionary((-0-1))-0-system-boolean@)"&gt;very clearly explains that this is a Bad Idea.&lt;/a&gt;&lt;/span&gt;&amp;nbsp;It is an easy mistake to make, but still a mistake. The challenge here is figuring out &lt;em&gt;why&lt;/em&gt;&amp;nbsp;this is happening. Can you give it a minute of thought and see if you can figure it out?&lt;/p&gt;&lt;p style="text-align:left;"&gt;A dictionary is basically an array that you access using an index (computed via a hash function), that is all. So if we strip everything away, the code above can be seen as:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-javascript'&gt;&lt;code class='line-numbers language-javascript'&gt;&lt;span class="token keyword"&gt;var&lt;/span&gt; buffer &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token keyword"&gt;new&lt;/span&gt; &lt;span class="token class-name"&gt;int&lt;/span&gt;&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token number"&gt;2&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
ref &lt;span class="token keyword"&gt;var&lt;/span&gt; total &lt;span class="token operator"&gt;=&lt;/span&gt; ref &lt;span class="token keyword"&gt;var&lt;/span&gt; buffer&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;We simply have a reference to the first element in the array, that&amp;rsquo;s what this does behind the scenes. And when we insert items into the dictionary, we may need to allocate a bigger backing array for it, so this becomes:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-javascript'&gt;&lt;code class='line-numbers language-javascript'&gt;&lt;span class="token keyword"&gt;var&lt;/span&gt; buffer &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token keyword"&gt;new&lt;/span&gt; &lt;span class="token class-name"&gt;int&lt;/span&gt;&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token number"&gt;2&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
ref &lt;span class="token keyword"&gt;var&lt;/span&gt; total &lt;span class="token operator"&gt;=&lt;/span&gt; ref &lt;span class="token keyword"&gt;var&lt;/span&gt; buffer&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;var&lt;/span&gt; newBuffer &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token keyword"&gt;new&lt;/span&gt; &lt;span class="token class-name"&gt;int&lt;/span&gt;&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token number"&gt;4&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
buffer&lt;span class="token punctuation"&gt;.&lt;/span&gt;&lt;span class="token function"&gt;CopyTo&lt;/span&gt;&lt;span class="token punctuation"&gt;(&lt;/span&gt;newBuffer&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
buffer &lt;span class="token operator"&gt;=&lt;/span&gt; newBuffer&lt;span class="token punctuation"&gt;;&lt;/span&gt;


total &lt;span class="token operator"&gt;=&lt;/span&gt; &lt;span class="token number"&gt;1&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
&lt;span class="token keyword"&gt;var&lt;/span&gt; newTotal &lt;span class="token operator"&gt;=&lt;/span&gt; buffer&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token number"&gt;0&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;In other words, the &lt;em&gt;total&lt;/em&gt;&amp;nbsp;variable is pointing to the first element in the &lt;em&gt;two-element array&lt;/em&gt;, but we allocated a &lt;em&gt;new&lt;/em&gt;&amp;nbsp;array (and copied all the values). That is the reason why the code above gives the wrong result. Makes perfect sense, and yet, was quite puzzling to figure out.&lt;/p&gt;
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/themes/prism.min.css" integrity="sha512-/mZ1FHPkg6EKcxo0fKXF51ak6Cr2ocgDi5ytaTBjsQZIH/RNs6GF6+oId/vPe3eJB836T36nXwVh/WBl/cWT4w==" crossorigin="anonymous" referrerpolicy="no-referrer" /&gt;</description><link>https://www.ayende.com/blog/201761-C/fun-with-bugs-advanced-dictionary-api?Key=8f507241-34b2-4e31-b3f1-a31f6adbcc28</link><guid>https://www.ayende.com/blog/201761-C/fun-with-bugs-advanced-dictionary-api?Key=8f507241-34b2-4e31-b3f1-a31f6adbcc28</guid><pubDate>Fri, 15 Nov 2024 10:00:00 GMT</pubDate></item><item><title>Debugging the Linux kernel using awesome psychic powers</title><description>&lt;p style="text-align:left;"&gt;I wanted to test low-level file-system behavior in preparation for a new feature for RavenDB. Specifically, I wanted to look into hole punching - where you can give low-level instructions to the file system to indicate that you&amp;rsquo;re giving up disk space, but without actually reducing the size of the file.&lt;/p&gt;&lt;p style="text-align:left;"&gt;This can be very helpful in space management. If I have a section in the file that is full of zeroes, I can just tell the file system that, and it can skip storing that range of zeros on the disk entirely. This is an advanced feature for file systems. I haven&amp;#39;t actually used that in the past, so I needed to gain some expertise with it.&lt;/p&gt;&lt;p style="text-align:left;"&gt;I wrote the following code for Linux:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;int fd &lt;span class="token operator"&gt;=&lt;/span&gt; open&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"test.file"&lt;/span&gt;, O_CREAT &lt;span class="token operator"&gt;|&lt;/span&gt; O_WRONLY, 0644&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
lseek&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd, &lt;span class="token number"&gt;128&lt;/span&gt; * &lt;span class="token number"&gt;1024&lt;/span&gt; * &lt;span class="token number"&gt;1024&lt;/span&gt; - &lt;span class="token number"&gt;1&lt;/span&gt;, SEEK_SET&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; // 128MB &lt;span class="token function"&gt;file&lt;/span&gt;
write&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd, &lt;span class="token string"&gt;""&lt;/span&gt;, &lt;span class="token number"&gt;1&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
fallocate&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd, // &lt;span class="token number"&gt;32&lt;/span&gt; MB hole from the 16MB&lt;span class="token punctuation"&gt;..&lt;/span&gt;48MB range
    FALLOC_FL_PUNCH_HOLE &lt;span class="token operator"&gt;|&lt;/span&gt; FALLOC_FL_KEEP_SIZE, 
    &lt;span class="token number"&gt;16&lt;/span&gt; * &lt;span class="token number"&gt;1024&lt;/span&gt; * &lt;span class="token number"&gt;1024&lt;/span&gt;, &lt;span class="token number"&gt;32&lt;/span&gt; * &lt;span class="token number"&gt;1024&lt;/span&gt; * &lt;span class="token number"&gt;1024&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt; 
close&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;The code for &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://gist.github.com/ayende/68dcb097c0500785b18a14ab9afa69a1"&gt;Windows is here&lt;/a&gt;&lt;/span&gt;&amp;nbsp;if you want to see it. I tested the feature on both Windows &amp;amp; Linux, and it worked. I could see that while the file size was 128MB, I was able to give back 16MB to the operating system without any issues. I turned the code above into a test and called it a day. &lt;/p&gt;&lt;p style="text-align:left;"&gt;And then the CI build broke. But that wasn&amp;rsquo;t possible since I &lt;em&gt;tested&lt;/em&gt;&amp;nbsp;that. And there had been CI runs that did work on Linux. So I did the obvious thing and started running the code above in a loop. &lt;/p&gt;&lt;p style="text-align:left;"&gt;I found something &lt;em&gt;really&lt;/em&gt;&amp;nbsp;annoying. This code worked, &lt;em&gt;sometimes&lt;/em&gt;. And sometimes it just didn&amp;rsquo;t. &lt;/p&gt;&lt;p style="text-align:left;"&gt;In order to get the size, I need to run this code:&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;hr/&gt;&lt;pre class='line-numbers language-bash'&gt;&lt;code class='line-numbers language-bash'&gt;struct &lt;span class="token function"&gt;stat&lt;/span&gt; st&lt;span class="token punctuation"&gt;;&lt;/span&gt;
fstat&lt;span class="token punctuation"&gt;(&lt;/span&gt;fd, &lt;span class="token operator"&gt;&amp;amp;&lt;/span&gt;st&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
printf&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"Total size: %lld bytes&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;,
    &lt;span class="token punctuation"&gt;(&lt;/span&gt;long long&lt;span class="token punctuation"&gt;)&lt;/span&gt;st.st_size&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;
printf&lt;span class="token punctuation"&gt;(&lt;/span&gt;&lt;span class="token string"&gt;"Actual size on disk: %lld bytes&lt;span class="token entity" title="\n"&gt;\n&lt;/span&gt;"&lt;/span&gt;, 
    &lt;span class="token punctuation"&gt;(&lt;/span&gt;long long&lt;span class="token punctuation"&gt;)&lt;/span&gt;st.st_blocks * &lt;span class="token number"&gt;512&lt;/span&gt;&lt;span class="token punctuation"&gt;)&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;I&amp;rsquo;m used to weirdness from file systems at this point, but this is really simple. All the data is 4KB aligned (in fact, all the data is 16MB aligned). There shouldn&amp;rsquo;t be any weirdness here.&lt;/p&gt;&lt;p style="text-align:left;"&gt;As you can see, I&amp;rsquo;m already working at the level of Linux syscalls, but I used strace&amp;nbsp;to check if there is something funky going on. Nope, there was a 1:1 mapping between the code and the actual system calls issued.&lt;/p&gt;&lt;p style="text-align:left;"&gt;That means that I have to debug deeper if I want to understand what is going on. This involves debugging the Linux Kernel, which is a &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://github.com/torvalds/linux/blob/master/fs/ext4/inode.c#L3946"&gt;Big Task&lt;/a&gt;&lt;/span&gt;. Take a look at the code in the relevant link. I&amp;rsquo;m fairly certain that &lt;span style="text-decoration:underline;"&gt;&lt;a style="color:inherit;" href="https://github.com/torvalds/linux/blob/master/fs/ext4/inode.c#L4024-L4025"&gt;the issue is in those lines&lt;/a&gt;&lt;/span&gt;. The problem is that this cannot be, since both offset &amp;amp; length are aligned to 4KB.&lt;/p&gt;&lt;p style="text-align:left;"&gt;I got out my crystal ball and thinking hat and meditated on this. If you&amp;rsquo;ll note, the difference between the expected and actual values is exactly 4KB. It almost looks like the file &lt;em&gt;itself&lt;/em&gt;&amp;nbsp;is not aligned on a 4KB boundary, but the holes must be. &lt;/p&gt;&lt;p style="text-align:left;"&gt;Given that I just want to release this space to the operating system and 4KB is really small, I can adjust that as a fudge factor for the test. I would &lt;em&gt;love&lt;/em&gt;&amp;nbsp;to understand exactly what is going on, but so far the &amp;ldquo;file itself is not 4KB aligned, but holes are&amp;rdquo; is a good working hypothesis (even though my gut tells me it might be wrong). &lt;/p&gt;&lt;blockquote&gt;&lt;p style="text-align:left;"&gt;If you know the actual reason for this, I would love to hear it. &lt;/p&gt;&lt;/blockquote&gt;&lt;p style="text-align:left;"&gt;And don&amp;#39;t get me started on what happened with sparse files in macOS. There, the OS will &lt;em&gt;randomly&lt;/em&gt;&amp;nbsp;decide to mark some parts of your file as holes, making any deterministic testing really hard. &lt;/p&gt;
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/themes/prism.min.css" integrity="sha512-/mZ1FHPkg6EKcxo0fKXF51ak6Cr2ocgDi5ytaTBjsQZIH/RNs6GF6+oId/vPe3eJB836T36nXwVh/WBl/cWT4w==" crossorigin="anonymous" referrerpolicy="no-referrer" /&gt;</description><link>https://www.ayende.com/blog/201665-A/debugging-the-linux-kernel-using-awesome-psychic-powers?Key=9089428b-0483-4aad-9653-44f96a66cde9</link><guid>https://www.ayende.com/blog/201665-A/debugging-the-linux-kernel-using-awesome-psychic-powers?Key=9089428b-0483-4aad-9653-44f96a66cde9</guid><pubDate>Tue, 17 Sep 2024 12:00:00 GMT</pubDate></item><item><title>Cryptographically impossible bug hunt</title><description>&lt;p style="text-align:left;"&gt;I&amp;rsquo;m currently deep in the process of modifying the internals of Voron, trying to eke out more performance out of the system. I&amp;rsquo;m making great progress, but I&amp;rsquo;m also touching parts of the code that haven&amp;rsquo;t even been looked at for a &lt;em&gt;long &lt;/em&gt;time. &lt;/p&gt;&lt;p style="text-align:left;"&gt;In other words, I&amp;rsquo;m mucking about with the most stable and most critical portions of the storage engine. It&amp;rsquo;s a lot of fun, and I&amp;rsquo;m actually seeing some great results, but it is also nerve-wracking. &lt;/p&gt;&lt;p style="text-align:left;"&gt;We have enough tests that I&amp;rsquo;ve great confidence I would catch any actual stability issues, but the drive back toward a fully green build has been a slog.&lt;/p&gt;&lt;p style="text-align:left;"&gt;The process is straightforward:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Change something.&lt;/li&gt;&lt;li&gt;Verify that it works better than before.&lt;/li&gt;&lt;li&gt;Run the entire test suite (upward of 30K tests) to see if there are any breaks.&lt;/li&gt;&lt;/ul&gt;&lt;p style="text-align:left;"&gt;The last part can be frustrating because it takes a &lt;em&gt;while&lt;/em&gt;&amp;nbsp;to run this sort of test suite. That would be bad enough, but some of the changes I made were things like marking a piece of memory that used to be read/write as read-only. Now any access to that memory would result in an access violation. &lt;/p&gt;&lt;p style="text-align:left;"&gt;I fixed those in the code, of course, but we have a &lt;em&gt;lot&lt;/em&gt;&amp;nbsp;of tests, including some tests that intentionally corrupt data to verify that RavenDB behaves properly under those conditions. &lt;/p&gt;&lt;p style="text-align:left;"&gt;One such test writes garbage to the RavenDB file, using read-write memory. The idea is to verify that the checksum matches on read and abort early. Because that test directly modifies what is now read-only memory, it generates a crash due to a memory access violation. That doesn&amp;rsquo;t just result in a test failure, it takes the whole process down.&lt;/p&gt;&lt;p style="text-align:left;"&gt;I&amp;rsquo;ve gotten pretty good at debugging those sorts of issues (--blame-crash&amp;nbsp;is fantastic) and was able to knock quite a few of them down and get them fixed. &lt;img src="data:image/png;base64,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"/&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;And then there was this test, which uses encryption-at-rest. That test started to fail after my changes, and I was pretty confused about exactly what was going on. When trying to read data from disk, it would follow up a pointer to an invalid location. That is &lt;em&gt;not&lt;/em&gt;&amp;nbsp;supposed to happen, obviously. &lt;/p&gt;&lt;p style="text-align:left;"&gt;Looks like I have a little data corruption issue on my hands. The problem is that this shouldn&amp;rsquo;t be possible. Remember how we validate the checksum on read? When using encryption-at-rest, we are using a mechanism called AEAD (Authenticated Encryption with Associated Data). That means that in order to successfully decrypt a page of data from disk, it must have been &lt;em&gt;cryptographically&lt;/em&gt;&amp;nbsp;verified to be valid.&lt;/p&gt;&lt;p style="text-align:left;"&gt;My test results showed, pretty conclusively, that I was generating valid data and then encrypting it. The next stage was to decrypt the data (verifying that it was valid), at which point I ended up with complete garbage.&lt;/p&gt;&lt;p style="text-align:left;"&gt;RavenDB trusts that since the data was properly decrypted, it is valid and tries to use it. Because the data is garbage, that leads to&amp;hellip; excitement. Once I realized what was going on, I was really confused. I&amp;rsquo;m pretty sure that I didn&amp;rsquo;t break 256-bit encryption, but I had a very clear chain of steps that led to valid data being decrypted (successfully!) to garbage. &lt;/p&gt;&lt;p style="text-align:left;"&gt;It was also quite frustrating to track because any small-stage test that I wrote would return the expected results. It was only when I ran the entire system and &lt;em&gt;stressed&lt;/em&gt;&amp;nbsp;it that I got this weird scenario.&lt;/p&gt;&lt;p style="text-align:left;"&gt;I started practicing for my Fields medal acceptance speech while digging deeper. Something here &lt;em&gt;had&lt;/em&gt;&amp;nbsp;to be wrong. It took me a while to figure out what was going on, but eventually, I tracked it down to registering to the TransactionCommit&amp;nbsp;event when we open a new file. &lt;/p&gt;&lt;p style="text-align:left;"&gt;The idea is that when we commit the transaction, we&amp;rsquo;ll encrypt all the data buffers and then write them to the file. We register for&amp;nbsp;an event to handle that, and we used to do that on a per-file basis. My changes, among other things, moved that logic to apply globally. &lt;/p&gt;&lt;p style="text-align:left;"&gt;As long as we were writing to a single file, everything just worked. When we had enough workload to need a second file, we would encrypt the data &lt;em&gt;twice&lt;/em&gt;&amp;nbsp;and then write it to the file. Upon decryption, we would successfully decrypt the data but would end up with still encrypted data (looking like random fluff). &lt;/p&gt;&lt;p style="text-align:left;"&gt;The fix was simply moving the event registration to the transaction level, not the file level. I committed my changes and went back to the unexciting life of bug-fixing, rather than encryption-breaking and math-defying hacks.&lt;/p&gt;
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/9000.0.1/themes/prism.min.css" integrity="sha512-/mZ1FHPkg6EKcxo0fKXF51ak6Cr2ocgDi5ytaTBjsQZIH/RNs6GF6+oId/vPe3eJB836T36nXwVh/WBl/cWT4w==" crossorigin="anonymous" referrerpolicy="no-referrer" /&gt;</description><link>https://www.ayende.com/blog/201441-B/cryptographically-impossible-bug-hunt?Key=b0e0416d-2ab6-4e40-9e90-74a7c913b24e</link><guid>https://www.ayende.com/blog/201441-B/cryptographically-impossible-bug-hunt?Key=b0e0416d-2ab6-4e40-9e90-74a7c913b24e</guid><pubDate>Wed, 24 Jul 2024 12:00:00 GMT</pubDate></item><item><title>Permission to pay your money, please!</title><description>&lt;p style="text-align: left;"&gt;I&amp;rsquo;m trying to pay a SaaS bill online, and I run into the following issue. I have insufficient permissions to pay the invoice on the account. No insufficient funds, which is something that you&amp;rsquo;ll routinely run into when dealing with payment processing. But insufficient permissions!&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: left;"&gt;Is&amp;hellip; paying something an act that requires permissions? That something that happens? Can I get &lt;em&gt;more&lt;/em&gt;&amp;nbsp;vulnerabilities like that? When I get people to drive-by pay for my bills?&lt;/p&gt;
&lt;p style="text-align: left;"&gt;I can&amp;rsquo;t think of a scenario where you are prevented from &lt;em&gt;paying&lt;/em&gt;&amp;nbsp;to the provider. That is&amp;hellip; weird.&lt;/p&gt;
&lt;p style="text-align: left;"&gt;And now I&amp;rsquo;m in this &amp;ldquo;nice&amp;rdquo; position where I have to chase after the provider to &lt;em&gt;give them money&lt;/em&gt;, because otherwise they&amp;rsquo;ll close the account.&lt;/p&gt;</description><link>https://www.ayende.com/blog/200865-A/permission-to-pay-your-money-please?Key=394e981a-ce0f-4dd0-8773-8b34736558e0</link><guid>https://www.ayende.com/blog/200865-A/permission-to-pay-your-money-please?Key=394e981a-ce0f-4dd0-8773-8b34736558e0</guid><pubDate>Mon, 25 Mar 2024 12:00:00 GMT</pubDate></item><item><title>Challenge: Spot the bug</title><description>&lt;p&gt;The following bug cost me a bunch of time, can you see what I&amp;rsquo;m doing wrong?&lt;/p&gt;
&lt;blockquote&gt;
&lt;script src="https://gist.github.com/ayende/cd3d6a7efae64b9725a3a9083625d4c1.js"&gt;&lt;/script&gt;
&lt;/blockquote&gt;
&lt;p&gt;For fun, it&amp;rsquo;s so nasty because usually, it will accidentally work.&lt;/p&gt;</description><link>https://www.ayende.com/blog/200161-C/challenge-spot-the-bug?Key=277eeb3d-ea55-4969-a179-95bd86ebece9</link><guid>https://www.ayende.com/blog/200161-C/challenge-spot-the-bug?Key=277eeb3d-ea55-4969-a179-95bd86ebece9</guid><pubDate>Tue, 19 Sep 2023 12:00:00 GMT</pubDate></item><item><title>Solving heap corruption errors in managed applications</title><description>&lt;p&gt;RavenDB is a .NET application, written in C#. It also has a &lt;em&gt;non trivial&lt;/em&gt; amount of unmanaged memory usage. We absolutely need that to get the proper level of performance that we require.&lt;/p&gt;
&lt;p&gt;With managing memory manually, there is also the possibility that we&amp;rsquo;ll mess it up. We run into one such case, when running our full test suite (over 10,000 tests) we would get random crashes due to heap corruption. Those issues are &lt;em&gt;nasty&lt;/em&gt;, because there is a big separation between the root cause and the actual problem manifesting.&lt;/p&gt;
&lt;p&gt;I recently learned that you can use &lt;a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/gflags-and-pageheap"&gt;the gflags tool on .NET executables&lt;/a&gt;. We were able to narrow the problem to a single scenario, but we still had no idea where the problem really occurred. So I installed the &lt;a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools"&gt;Debugging Tools for Windows&lt;/a&gt; and then executed:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt; &amp;amp;"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\gflags.exe" /p /enable C:\Work\ravendb-6.0\test\Tryouts\bin\release\net7.0\Tryouts.exe&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;What this does is enable a special debug heap at the executable level, which applies to &lt;em&gt;all&lt;/em&gt; operations (managed and native memory alike).&lt;/p&gt;
&lt;p&gt;With that enabled, I ran the scenario in question:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;PS C:\Work\ravendb-6.0\test\Tryouts&amp;gt;&amp;nbsp; C:\Work\ravendb-6.0\test\Tryouts\bin\release\net7.0\Tryouts.exe&lt;br /&gt; 42896&lt;br /&gt; Starting to run 0&lt;br /&gt; Max number of concurrent tests is: 16&lt;br /&gt; Ignore request for setting processor affinity. Requested cores: 3. Number of cores on the machine: 32.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; To attach debugger to test process (x64), use proc-id: 42896. Url &lt;a href="http://127.0.0.1:51595"&gt;http://127.0.0.1:51595&lt;/a&gt;&lt;br /&gt; Ignore request for setting processor affinity. Requested cores: 3. Number of cores on the machine: 32.&amp;nbsp; License limits: A: 3/32. Total utilized cores: 3. Max licensed cores: 1024&lt;br /&gt; &lt;a href="http://127.0.0.1:51595/studio/index.html#databases/documents?&amp;amp;database=Should_correctly_reduce_after_updating_all_documents_1&amp;amp;withStop=true&amp;amp;disableAnalytics=true"&gt;http://127.0.0.1:51595/studio/index.html#databases/documents?&amp;amp;database=Should_correctly_reduce_after_updating_all_documents_1&amp;amp;withStop=true&amp;amp;disableAnalytics=true&lt;/a&gt;&lt;br /&gt; Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Sparrow.Server.Compression.Encoder3Gram`1[[System.__Canon, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Encode(System.ReadOnlySpan`1&amp;lt;Byte&amp;gt;, System.Span`1&amp;lt;Byte&amp;gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Sparrow.Server.Compression.HopeEncoder`1[[Sparrow.Server.Compression.Encoder3Gram`1[[System.__Canon, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], Sparrow.Server, Version=6.0.0.0, Culture=neutral, PublicKeyToken=37f41c7f99471593]].Encode(System.ReadOnlySpan`1&amp;lt;Byte&amp;gt; ByRef, System.Span`1&amp;lt;Byte&amp;gt; ByRef)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Voron.Data.CompactTrees.PersistentDictionary.ReplaceIfBetter[[Raven.Server.Documents.Indexes.Persistence.Corax.CoraxDocumentTrainEnumerator, Raven.Server, Version=6.0.0.0, Culture=neutral, PublicKeyToken=37f41c7f99471593],[Raven.Server.Documents.Indexes.Persistence.Corax.CoraxDocumentTrainEnumerator, Raven.Server, Version=6.0.0.0, Culture=neutral, PublicKeyToken=37f41c7f99471593]](Voron.Impl.LowLevelTransaction, Raven.Server.Documents.Indexes.Persistence.Corax.CoraxDocumentTrainEnumerator, Raven.Server.Documents.Indexes.Persistence.Corax.CoraxDocumentTrainEnumerator, Voron.Data.CompactTrees.PersistentDictionary)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; at Raven.Server.Documents.Indexes.Persistence.Corax.CoraxIndexPersistence.Initialize(Voron.StorageEnvironment)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That pinpointed things so I was able to know exactly where we are messing up.&lt;/p&gt;
&lt;p&gt;I was also able to reproduce the behavior on the debugger:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Solving-heap-corruption-errors-in-manage_B4AE/image%20(3)_2.png"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image (3)" src="https://ayende.com/blog/Images/Open-Live-Writer/Solving-heap-corruption-errors-in-manage_B4AE/image%20(3)_thumb.png" alt="image (3)" width="1394" height="306" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This saved me &lt;em&gt;hours &lt;/em&gt;or &lt;em&gt;days&lt;/em&gt; of trying to figure out where the problem actually is.&lt;/p&gt;</description><link>https://www.ayende.com/blog/199682-B/solving-heap-corruption-errors-in-managed-applications?Key=9d558341-07d7-46a6-be46-f94cb752404e</link><guid>https://www.ayende.com/blog/199682-B/solving-heap-corruption-errors-in-managed-applications?Key=9d558341-07d7-46a6-be46-f94cb752404e</guid><pubDate>Wed, 05 Jul 2023 12:00:00 GMT</pubDate></item><item><title>Bug chasing, narrowing down the scope</title><description>&lt;p&gt;I just completed a major refactoring of a piece of code inside RavenDB that is responsible for how we manage sorted queries. The first two tiers of tests all passed, which is great. Now was the time to test how this change performed. I threw 50M records into RavenDB and indexed them. I did&amp;hellip; not &lt;em&gt;like&lt;/em&gt; the numbers I got back. It makes sense, since I was heavily refactoring to get a particular structure, I could think of a few ways to improve performance, but I like doing this based on profiler output.&lt;/p&gt;
&lt;p&gt;When running the same scenario under the profiler, the process crashed. That is&amp;hellip; quite annoying, as you can imagine. In fact, I discovered a really startling issue.&lt;/p&gt;
&lt;p&gt;If I index the data and query on it, I get the results I expect. If I restart the process and run the &lt;em&gt;same query, &lt;/em&gt;I get an ExecutionEngineException. Trying to debug those is a PITA. In this case, I&amp;rsquo;m 100% at fault, we are doing a &lt;em&gt;lot&lt;/em&gt; of unsafe things to get better performance, and it appears that I messed up something along the way. But my only reproduction is a 50M records dataset. To give some context, this means 51GB of documents to be indexed and 18 GB of indexing. Indexing this in release mode takes about 20 minutes. In debug mode, it takes a &lt;em&gt;lot&lt;/em&gt; longer.&lt;/p&gt;
&lt;p&gt;Trying to find &lt;em&gt;an&lt;/em&gt; error there, especially one that can only happen after you restart the process is going to be a challenging task. But this isn&amp;rsquo;t my first rodeo. Part of good system design is knowing how to address just these sorts of issues.&lt;/p&gt;
&lt;p&gt;The indexing process inside RavenDB is single-threaded per index. That means that we can rule out a huge chunk of issues around race conditions. It also means that we can play certain tricks. Allow me to present you with the nicest tool for debugging that you can imagine: repeatable traces.&lt;/p&gt;
&lt;p&gt;Here is what this looks like in terms of code:&lt;/p&gt;
&lt;blockquote&gt;
&lt;script src="https://gist.github.com/ayende/e248344c5b038f2cc2bd5b654609a0cd.js"&gt;&lt;/script&gt;
&lt;/blockquote&gt;
&lt;p&gt;In this case, you can see that this is a development only feature, so it is really bare-bones one. What it does is capture the indexing and commit operations on the system and write them to a file. I have another piece of similarly trivial code that reads and applies&amp;nbsp;them, as shown below. Don&amp;rsquo;t bother to dig into that, the code itself isn&amp;rsquo;t really that interesting. What is important is that I have captured the behavior of the system and can now replay it at will.&lt;/p&gt;
&lt;blockquote&gt;
&lt;script src="https://gist.github.com/ayende/447c66ac5b724a5983f51b21e2392b53.js"&gt;&lt;/script&gt;
&lt;/blockquote&gt;
&lt;p&gt;The code itself isn&amp;rsquo;t much, but it does the job. What is more important, note that we have calls to StopDatabase() and StartDatabase(), I was able to reproduce the crash using this code.&lt;/p&gt;
&lt;p&gt;That was a massive win, since it dropped my search area from 50M documents to &lt;em&gt;merely&lt;/em&gt; 1.2 million.&lt;/p&gt;
&lt;p&gt;The key aspect of this is that I now have a way to play around with things. In particular, instead of using the commit points in the trace, I can force a commit (and start / stop the database) every 10,000 items (by calling FlushIndexAndRenewWriteTransaction). When using that, I can reproduce this &lt;em&gt;far &lt;/em&gt;faster. Here is the output when I run this in release mode:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;1 With 0
2 With 10000
3 With 10000
4 With 10000
5 With 10000
6 With 10000
7 With 10000
8 With 10000
9 With 10000
10 With 10000
11 With 10000
Fatal error. Internal CLR error. (0x80131506)
&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;So now I dropped the search area to 120,000 items, which is pretty awesome. Even more important, when I run this in debug mode, I get this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;1 With 0
2 With 10000
Process terminated. Assertion failed.
   at Voron.Data.Containers.Container.Get(Low...&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;So now I have a repro in 30,000 items, what is even better, a debug assertion was fired, so I have a really good lead into what is going on.&lt;/p&gt;
&lt;p&gt;The key challenge in this bug is that it is probably triggered as a result of a commit and an index of the &lt;em&gt;next&lt;/em&gt; batch. There is a bunch of work that we do around batch optimizations that likely cause this sort of behavior. By being able to capture the input to the process and play with the batch size, we were able to reduce the amount of work required to generate a reproduction from 50M records to 30,000 and have a lead into what is going on.&lt;/p&gt;
&lt;p&gt;With that, I can now start applying more techniques to narrow down what is going on. But by far the most important aspect as far as I&amp;rsquo;m concerned is the feedback cycle. I can now hit F5 to run the code and encounter the problem in a few seconds.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_2.png"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_thumb.png" alt="image" width="697" height="86" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It looks like we hit a debug assertion because we keep a reference to an item that was already freed. That is really interesting, and now I can find out &lt;em&gt;which&lt;/em&gt; item and then figure out why this is the case. And at each point, I can simply go one step back in the investigation, and reproduce the state, I have to hit F5 and wait a bit. This means that I can be far more liberal in how I figure out this bug.&lt;/p&gt;
&lt;p&gt;This is triggered by a query on the indexed data, and if I follow up the stack, I have:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_4.png"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_thumb_1.png" alt="image" width="704" height="201" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is really interesting, I wonder&amp;hellip; what happens if I query &lt;em&gt;before&lt;/em&gt; I restart the database? With this structure, this is easy to do.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_6.png"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_thumb_2.png" alt="image" width="724" height="197" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is actually a &lt;em&gt;big&lt;/em&gt; relief. I had no idea why restarting the database would cause us to expose this bug.&lt;/p&gt;
&lt;p&gt;Another thing to note is that when I ran into the problem, I reproduced this on a query that sorted on a single field. In the test code, I&amp;rsquo;m testing on &lt;em&gt;all&lt;/em&gt; fields, so that may be an asset in exposing this faster.&lt;/p&gt;
&lt;p&gt;Right now the problem reproduces on the id field, which is unique. That helps, because it removes a large swath of code that deals with multiple terms for an entry. The current stage is that I can now reproduce this issue &lt;em&gt;without&lt;/em&gt; running the queries, and I know exactly where it goes wrong.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_10.png"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_thumb_4.png" alt="image" width="894" height="80" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And I can put a breakpoint on the exact location where this entry is created:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_12.png"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_thumb_5.png" alt="image" width="429" height="123" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;By the way, note that I&amp;rsquo;m modifying the code instead of using a conditional breakpoint. This is because of the performance difference. For a conditional breakpoint, the debugger has to stop execution, evaluate the condition and decide what to do. If this is run a &lt;em&gt;lot&lt;/em&gt;, it can have a &lt;em&gt;huge&lt;/em&gt; impact on performance. Easier to modify the code. The fact that I can do that and hit F5 and get to the same state allows me to have a lot more freedom in the ergonomics of how I work.&lt;/p&gt;
&lt;p&gt;This allows me to discover that the entry in question was created during the &lt;em&gt;second&lt;/em&gt; transaction. But the failure happens during the &lt;em&gt;third&lt;/em&gt;, which is really interesting. More to the point, it means that I can now do this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_14.png"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_thumb_6.png" alt="image" width="368" height="145" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;With the idea that this will trigger the assert on the exact entry that cause the problem. This is a good idea, and I wish that it worked, but we are actually doing a non-trivial amount of work during the commit process, so now we have a negative feedback and another clue. This is happening in the commit phase of the indexing process. It&amp;rsquo;s not a big loss, I can do the same in the commit process as well. I have done just that and now I know that I have a problem when indexing the term: &amp;ldquo;tweets/1212163952102137856&amp;rdquo;. Which leads to this code:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_16.png"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_thumb_7.png" alt="image" width="855" height="100" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And at this point, I can now single step through this and figure out what is going on, I hope.&lt;/p&gt;
&lt;p&gt;When working on complex data structures, one of the things that you need to do is to allow to visualize them. Being able to manually inspect the internal structure of your data structures can save you a &lt;em&gt;lot&lt;/em&gt; of debugging. As I mentioned, this isn&amp;rsquo;t my first rodeo. So when I narrowed it down to a specific location, I started looking into exactly what is going on.&lt;/p&gt;
&lt;p&gt;Beforehand, I need to explain a couple of terms (pun intended):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;tweets/1212163952102137856 &amp;ndash; this is the entry that &lt;em&gt;triggers&lt;/em&gt; the error.&lt;/li&gt;
&lt;li&gt;tweets/1212163846623727616 &amp;ndash; this is the term that should be returned for 1679560&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is what the structure looks like at the time of the insert:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_18.png"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-narrowing-down-the-scope_984B/image_thumb_8.png" alt="image" width="684" height="270" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You can notice that the value here for the last page is the same as the one that we are checking for 1679560.&lt;/p&gt;
&lt;p&gt;To explain what is going on will take us down a pretty complex path that you probably don&amp;rsquo;t care about, but the situation is that we are keeping track of the id in two locations. Making sure to add and remove it in both locations as appropriate. &lt;em&gt;However&lt;/em&gt;, at certain points, we may decide to shuffle things around inside the tree, and we didn&amp;rsquo;t sync that up properly with the rest of the system, leading to a dangling reference.&lt;/p&gt;
&lt;p&gt;Now that I know what is going on, I can figure out how to fix it. But the story of this post was mostly about how I figured it out, not the bug itself.&lt;/p&gt;
&lt;p&gt;The key aspect was to get to the point where I can reproduce this easily, so I can repeat it as many times that is needed to slowly inch closer to the solution.&lt;/p&gt;</description><link>https://www.ayende.com/blog/199457-B/bug-chasing-narrowing-down-the-scope?Key=ae76509f-0c74-4d15-a2e5-da5a93a273f4</link><guid>https://www.ayende.com/blog/199457-B/bug-chasing-narrowing-down-the-scope?Key=ae76509f-0c74-4d15-a2e5-da5a93a273f4</guid><pubDate>Fri, 05 May 2023 12:00:00 GMT</pubDate></item><item><title>Bug chasing, the process is more important than the result</title><description>&lt;p&gt;I&amp;rsquo;m doing a pretty major refactoring inside of RavenDB right now. I was able to finish a bunch of work and submitted things to the CI server for testing. RavenDB has several layers of tests, which we run depending on context.&lt;/p&gt;
&lt;p&gt;During development, we&amp;rsquo;ll usually run the FastTests. About 2,300 tests are being run to validate various behaviors for RavenDB, and on my machine, they take just over 3 minutes to complete. The next tier is the SlowTests, which run for about 3 hours on the CI server and run about 26,000 tests. Beyond that we actually have a few more layers, like tests that are being run only on the nightly builds and stress tests, which can take several minutes each to complete.&lt;/p&gt;
&lt;p&gt;In short, the usual process is that you write the code and write the relevant tests. You also validate that you didn&amp;rsquo;t break anything by running the FastTests locally. Then we let CI pick up the rest of the work. At the last count, we had about 9 dedicated machines as CI agents and given our workload, an actual full test run of a PR may complete the next day.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m mentioning all of that to explain that when I reviewed the build log for my PR, I found that there were a bunch of tests that failed. That was reasonable, given the scope of my changes. I sat down to grind through them, fixing them one at a time. Some of them were &lt;em&gt;quite&lt;/em&gt; important things that I didn&amp;rsquo;t take into account, after all. For example, one of the tests failed because I didn&amp;rsquo;t account for sorting on a dynamic numeric field. Sorting on a numeric field worked, and a dynamic text field also worked. But dynamic numeric field didn&amp;rsquo;t. It&amp;rsquo;s the sort of thing that I would never think of, but we got the tests to cover us.&lt;/p&gt;
&lt;p&gt;But when I moved to the next test, it didn&amp;rsquo;t fail. I ran it again, and it still didn&amp;rsquo;t fail. I ran it in a loop, and it failed on the 5th iteration. That&amp;hellip; sucked. Because it meant that I had a race condition in there somewhere. I ran the loop again, and it failed &lt;em&gt;again&lt;/em&gt; on the 5th. In fact, in every iteration I tried, it would only fail on the 5th iteration.&lt;/p&gt;
&lt;p&gt;When trying to isolate a test failure like that, I usually run that in a loop, and hope that with enough iterations, I&amp;rsquo;ll get it to reproduce. Having it happen constantly on the 5th iteration was&amp;hellip; really strange. I tried figuring out what was going on, and I realized that the test was generating 1000 documents using a random. The fact that I&amp;rsquo;m using Random is the reason it is non-deterministic, of course, except that this is the code inside my test base class:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-the-process-is-more-importan_FFE0/image_2.png"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-the-process-is-more-importan_FFE0/image_thumb.png" alt="image" width="450" height="47" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So this is &lt;em&gt;properly&lt;/em&gt; initialized with a seed, so it will be consistent.&lt;/p&gt;
&lt;p&gt;Read the code again, do you see the problem?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-the-process-is-more-importan_FFE0/image_7.png"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-the-process-is-more-importan_FFE0/image_thumb_2.png" alt="image" width="450" height="47" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That is a &lt;em&gt;static&lt;/em&gt; value. So there are two problems here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I&amp;rsquo;m getting the &lt;em&gt;bad&lt;/em&gt; values on the fifth run in a consistent manner because that is the set of results that reproduce the error.&lt;/li&gt;
&lt;li&gt;This is a &lt;em&gt;shared&lt;/em&gt; instance that may be called from multiple tests at once, leading to the wrong result because Random is not thread safe.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Before fixing this issue so it would run properly, I decided to use an ancient debugging technique. It&amp;rsquo;s called printf().&lt;/p&gt;
&lt;p&gt;In this case, I wrote out all the values that were generated by the test and wrote a &lt;em&gt;new&lt;/em&gt; test to replay them. &lt;em&gt;That&lt;/em&gt; one failed consistently.&lt;/p&gt;
&lt;p&gt;The problem was that it was still too big in scope. I iterated over this approach, trying to end up with a smaller section of the codebase that I could invoke to repeat this issue. &lt;em&gt;That&lt;/em&gt; took most of the day. But the end result is a test like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;script src="https://gist.github.com/ayende/1af4847d0f7dc293f6b075824ca8c3d8.js"&gt;&lt;/script&gt;
&lt;/blockquote&gt;
&lt;p&gt;As you can see, in terms of the amount of code that it invokes, it is pretty minimal. Which is pretty awesome, since that allowed me to figure out what the problem was:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-the-process-is-more-importan_FFE0/image_9.png"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Bug-chasing-the-process-is-more-importan_FFE0/image_thumb_3.png" alt="image" width="247" height="76" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&amp;rsquo;ve been developing software professionally for over two decades at this point. I still get caught up with things like that, sigh.&lt;/p&gt;</description><link>https://www.ayende.com/blog/199425-B/bug-chasing-the-process-is-more-important-than-the-result?Key=25f17f7f-bece-4fee-98d2-91ccbe9df5e8</link><guid>https://www.ayende.com/blog/199425-B/bug-chasing-the-process-is-more-important-than-the-result?Key=25f17f7f-bece-4fee-98d2-91ccbe9df5e8</guid><pubDate>Thu, 04 May 2023 12:00:00 GMT</pubDate></item><item><title>Debugging native memory issues in a C# application</title><description>&lt;p&gt;I&amp;rsquo;m working on improving the performance of Corax, RavenDB&amp;rsquo;s new search engine. Along the way, I introduced a bug, a fairly nasty one. At a random location, while indexing a ~50 million documents corpus, we are getting an access violation exception. That means that I messed something up.&lt;/p&gt;
&lt;p&gt;That makes sense, given that my changes were mostly about making things lower-level. Working directly with pointers and avoiding length checks. At our speed, even the use of Span can be a killer for performance, and we want to be as close to the raw metal as possible. The particular changeset that I was working on was able to improve the indexing speed from 90,000 per second to 120,000 per second. That is a change that I absolutely &lt;em&gt;want&lt;/em&gt; to keep, so I started investigating it.&lt;/p&gt;
&lt;p&gt;I mentioned that it is a &lt;em&gt;fairly&lt;/em&gt; nasty problem. A truly nasty problem would be heap corruption that is discovered after the fact and is very hard to trace. In this case, it was &lt;em&gt;not&lt;/em&gt; consistent, which is &lt;em&gt;really&lt;/em&gt; strange. One of &lt;em&gt;the&lt;/em&gt; important aspects of Corax is that it is single-threaded, which means that a lot of complexity is out the window. It means that for the same input, we always have the same behavior. If there is any variance, such as &lt;em&gt;not&lt;/em&gt; crashing all the time, it means that there are external factors involved.&lt;/p&gt;
&lt;p&gt;At any rate, given that it happened at least half the time, I was able to attach WinDBG to the process and wait for the exception to happen, this is what I got:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;(5e20.1468): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
Corax!Corax.IndexWriter.AddEntriesToTermResultViaSmallPostingList+0x953:
00007ffa`24dcea53 c4e261902411    vpgatherdd xmm4,dword ptr [rcx+xmm2],xmm3 ds:0000026d`516514e7=????????&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now, look at the last line, that is an interesting one, we use the VPGATHERDD assembly instruction. It is gathering packed DWORD values, in C#, this is generated using the Avx2.GatherVector128() method. We are using that to do some bit packing in this case, so this makes a lot of sense.&lt;/p&gt;
&lt;p&gt;Next, let&amp;rsquo;s see what we get from the exception:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;0:074&amp;gt; .exr -1
ExceptionAddress: 00007ffafc2bfe7c (KERNELBASE!RaiseException+0x000000000000006c)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000080
NumberParameters: 2
   Parameter[0]: 0000000000000000
   Parameter[1]: 0000026d51650000
Attempt to read from address 0000026d51650000&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;All of this points to an out-of-bounds read, but why is that? The call we have for GatherVector128() is used inside a method named: ReadAvx2(). And this method is called like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;private unsafe static ulong Read(int stateBitPos, byte* inputBufferPtr, int bitsToRead, int inputBufferSize, out int outputStateBit)
{
    if ((stateBitPos + bitsToRead) / 8 &amp;gt;= inputBufferSize)
        throw new ArgumentOutOfRangeException();
    if ( Avx2.IsSupported)
    {
        return ReadAvx2(stateBitPos, inputBufferPtr, bitsToRead, out outputStateBit);
    }
    return ReadScalar(stateBitPos, inputBufferPtr, bitsToRead, out outputStateBit);
}&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;It is an optimized approach to read some bits from a buffer, I&amp;rsquo;ll skip the details on exactly how this works. As you can see, we have a proper bounds check here, ensuring that we aren&amp;rsquo;t reading past the end of the buffer.&lt;/p&gt;
&lt;p&gt;Except&amp;hellip;&lt;/p&gt;
&lt;p&gt;That we aren&amp;rsquo;t actually checking this. What we are doing is checking that we can access the &lt;em&gt;bytes&lt;/em&gt; range, but consider the following scenario:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Debugging-native-memory-issues-in-a-C-ap_817C/image_2.png"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Debugging-native-memory-issues-in-a-C-ap_817C/image_thumb.png" alt="image" width="625" height="152" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We have a memory page and a buffer that is located toward the end of it.&amp;nbsp; We are now trying to access the last bit in the buffer, using ReadAvx2(). If we&amp;rsquo;ll check the actual bytes range, it will pass, we are trying to access the last byte.&lt;/p&gt;
&lt;p&gt;However, we are going to call GatherVector128(), which means that we&amp;rsquo;ll actually access 16 bytes(!), and only the first byte is in the valid memory range, the rest is going to be read from the next page, which isn&amp;rsquo;t mapped.&lt;/p&gt;
&lt;p&gt;This also explains why we are not always failing. If the &lt;em&gt;next &lt;/em&gt;page is valid (which is subject to the decisions of the operating system allocator), it will pass. So that is why we didn&amp;rsquo;t have 100% reproduction. In fact, this is the sort of bug that is very easy to hide for a very long time in the system, given that it is dependent on the actual memory structure of the application.&lt;/p&gt;
&lt;p&gt;Once we figured out what was going on, it was pretty easy to understand, but the fact that the AVX instructions will read after the end of the buffer was really confusing. Because even when we used Span, and its range checks, it would be completely ignored. Makes total sense, given that those aren&amp;rsquo;t really methods, but compiler intrinsics that are translated to direct machine instructions.&lt;/p&gt;
&lt;p&gt;Amusingly enough, now that we found the problem, we ran into something very similar a long while ago. Then it was &lt;a href="https://ayende.com/blog/185185-C/production-postmortem-the-arm-is-killing-me"&gt;the wrong instruction&lt;/a&gt; being used (loading a word, instead of a byte), that would fail, but the same overal setup. It will sometimes fail, depending on the state of the &lt;em&gt;next&lt;/em&gt; page in the memory.&lt;/p&gt;
&lt;p&gt;We actually built some tooling around managing that, we call that electric fence memory. We allocate memory so any out-of-band access would &lt;em&gt;always&lt;/em&gt; hit invalid memory, stopping us in our tracks. That means that I can get &lt;em&gt;easy&lt;/em&gt; reproduction of those sorts of issues, and once we have that, the rest isn&amp;rsquo;t really that interesting, to be honest. It&amp;rsquo;s just a normal bug fix. It&amp;rsquo;s the hunt for the root cause that is both incredibly frustrating and quite rewarding.&lt;/p&gt;</description><link>https://www.ayende.com/blog/199265-A/debugging-native-memory-issues-in-a-c-application?Key=8667f482-df0e-4b5b-8ff9-f4b69797e8b5</link><guid>https://www.ayende.com/blog/199265-A/debugging-native-memory-issues-in-a-c-application?Key=8667f482-df0e-4b5b-8ff9-f4b69797e8b5</guid><pubDate>Mon, 10 Apr 2023 12:00:00 GMT</pubDate></item><item><title>Production postmortem: The server ate all my memory</title><description>&lt;p&gt;A customer reported a scenario where RavenDB was using stupendous amounts of memory. In the orders of tens of GB on a system that didn&amp;rsquo;t have that much load.&lt;/p&gt;
&lt;p&gt;Our first suspicion was that this is an issue with reading the metrics, since RavenDB will &lt;a href="https://ayende.com/blog/181729-C/understanding-memory-utilization-in-ravendb"&gt;try to keep as much of the data in memory&lt;/a&gt;, which sometimes leads users to worry. &lt;a href="https://ayende.com/blog/181729-C/understanding-memory-utilization-in-ravendb"&gt;I spoke about this at length in the past&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this case, that wasn&amp;rsquo;t the case. We were able to drill down into the exact cause of the memory usage and we found out that RavenDB &lt;em&gt;was&lt;/em&gt; using an abnormally high amount of memory. The question was why that was, exactly.&lt;/p&gt;
&lt;p&gt;We looked into the common operations on the server, and we found a suspicious query, it looked something like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #0000ff;"&gt;from index&lt;/span&gt; 'Sales/Actions'&lt;br /&gt;&lt;span style="color: #0000ff;"&gt; where&lt;/span&gt; &lt;span style="color: #9b00d3;"&gt;endsWith&lt;/span&gt;(WorkflowStage, '/Final')&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The &lt;em&gt;endsWith&lt;/em&gt; query was suspicious, so we looked into that further. In general, &lt;em&gt;endsWith&lt;/em&gt; requires us to scan all the unique terms for a particular field, but in most cases, there aren&amp;rsquo;t that many unique values for a field. In this case, however, that wasn&amp;rsquo;t the case, here are some of the values for WorkflowStage:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Workflows/3a1af12a-b5d2-4c96-9348-177ebaacab6c/Step-2&lt;/li&gt;
&lt;li&gt;Workflows/6aacc86c-2f28-4b8b-8dee-1024314d5add/Final&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In total, there were about 250 &lt;em&gt;million&amp;nbsp;&lt;/em&gt;sales in the database, each one of them with a unique WorflowStage value.&lt;/p&gt;
&lt;p&gt;What does this mean, in terms of RavenDB query execution? Well, the fields are indexed, but we need to effectively do:&lt;/p&gt;
&lt;blockquote&gt;
&lt;script src="https://gist.github.com/ayende/eb784b0fba00fd8b4caf20fdfa9f8ef6.js"&gt;&lt;/script&gt;
&lt;/blockquote&gt;
&lt;p&gt;This isn&amp;rsquo;t the actual code, but it will show you what is going on.&lt;/p&gt;
&lt;p&gt;In other words, in order to process this query, we have to scan (and materialize) all 250 million unique terms for this field. Obviously that is going to consume a lot of memory.&lt;/p&gt;
&lt;p&gt;But what is the solution to that? Instead of doing an expensive &lt;em&gt;endsWith&lt;/em&gt; query, we can move the computation from the query time to the index time.&lt;/p&gt;
&lt;p&gt;In other words, instead of indexing the &lt;em&gt;WorkflowStage &lt;/em&gt;field&amp;nbsp; as is, we&amp;rsquo;ll extract the information we want from it. The index would have one of those:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;IsFinalWorkFlowStage = doc.WorkflowStage.EndsWith(&amp;ldquo;/Final&amp;rdquo;),&lt;/p&gt;
&lt;p&gt;WorkflowStagePostfix = doc.WorkflowStage.Split(&amp;lsquo;/&amp;rsquo;).Last()&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The first one will check whether&amp;nbsp;the value is final or not, while the second just gets the (one of hopefully a few) postfixes for the field. We can then query using equality instead of &lt;em&gt;endsWith&lt;/em&gt;, leading to far better performance and greatly reduced memory usage, since we don&amp;rsquo;t need to materialize any values during the query.&lt;/p&gt;</description><link>https://www.ayende.com/blog/198913-C/production-postmortem-the-server-ate-all-my-memory?Key=ed9c76e7-cf4c-4660-a3e1-188a53117d66</link><guid>https://www.ayende.com/blog/198913-C/production-postmortem-the-server-ate-all-my-memory?Key=ed9c76e7-cf4c-4660-a3e1-188a53117d66</guid><pubDate>Fri, 27 Jan 2023 12:00:00 GMT</pubDate></item><item><title>Production postmortem: The big server that couldn’t handle the load</title><description>&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Production-postmortem-The-big-server-tha_EA92/image_2.png"&gt;&lt;img style="border: 0px currentcolor; float: left; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Production-postmortem-The-big-server-tha_EA92/image_thumb.png" alt="image" width="141" height="90" align="left" border="0" /&gt;&lt;/a&gt; A user of ours called us, quite frantic. They are running a lot of systems on RavenDB, and have been for quite some time.&lt;/p&gt;
&lt;p&gt;However, very recently they started to run into severe issues. RavenDB would complain that there isn&amp;rsquo;t sufficient memory to run.&lt;/p&gt;
&lt;p&gt;The system metrics, however, said that there are still gobs of GBs available (I believe that this is the appropriate technical term).&lt;/p&gt;
&lt;p&gt;After verifying the situation, the on-call engineer escalated the issue. The problem was &lt;em&gt;weird&lt;/em&gt;. There &lt;em&gt;was&lt;/em&gt; enough memory, for sure, but for some reason RavenDB would be unable to run properly.&lt;/p&gt;
&lt;p&gt;An important aspect is that this user is running a multi-tenant system, with each tenant being served by its own database. Each database has a few indexes as well.&lt;/p&gt;
&lt;p&gt;Once we figured &lt;em&gt;that&lt;/em&gt; out, it was actually easy to understand what is going on.&lt;/p&gt;
&lt;p&gt;There are actually quite a few limits that you have to take into account. &lt;a href="https://ayende.com/blog/197635-A/production-postmortem-out-of-memory-on-a-clear-sky"&gt;I talked about them here&lt;/a&gt;. In that post, the issue was the maximum number of tasks defined by the system. After which, you can no longer create new threads.&lt;/p&gt;
&lt;p&gt;In this case, the suspect was: vm.max_map_count.&lt;/p&gt;
&lt;p&gt;Beyond just total memory, Linux has a limit on the number of memory &lt;em&gt;mappings&lt;/em&gt; that a process may have. And RavenDB uses Voron, which is based on &lt;em&gt;mmap&lt;/em&gt;(), and each database and each index typically have multiple maps going on.&lt;/p&gt;
&lt;p&gt;Given the number of databases involved&amp;hellip;&lt;/p&gt;
&lt;p&gt;The solution was to increase the max_map_count and add a task for us, to give a warning to the user ahead of time when they are approaching the system's limits.&lt;/p&gt;</description><link>https://www.ayende.com/blog/198881-C/production-postmortem-the-big-server-that-couldnt-handle-the-load?Key=a4b4820b-d2b8-4e52-9a3c-69229409e55d</link><guid>https://www.ayende.com/blog/198881-C/production-postmortem-the-big-server-that-couldnt-handle-the-load?Key=a4b4820b-d2b8-4e52-9a3c-69229409e55d</guid><pubDate>Mon, 23 Jan 2023 12:00:00 GMT</pubDate></item><item><title>Production postmortem: The heisenbug server</title><description>&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Production-postmortem-The-hiesien_ABC0/image_2.png"&gt;&lt;img style="border: 0px currentcolor; float: right; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Production-postmortem-The-hiesien_ABC0/image_thumb.png" alt="image" width="284" height="284" align="right" border="0" /&gt;&lt;/a&gt;A user reported that they observed nodes in the cluster &amp;ldquo;going dark&amp;rdquo;. Basically, they would stop communicating with the rest of the cluster, but would otherwise appear functional. Both the internal and external metrics were all fine, the server would just stop responding to anything over the network. The solution for the problem was to restart the service (note, the service, not the whole machine), but the problem would happen every few days.&lt;/p&gt;
&lt;p&gt;As you can imagine, we are taking this sort of thing &lt;em&gt;very&lt;/em&gt; seriously, so we looked into the problem. And we came up short. The problem made &lt;em&gt;absolutely&lt;/em&gt; no sense. The problem occurred on a (minor) version migration, but there was absolutely nothing related to this that could cause it. What was &lt;em&gt;really&lt;/em&gt; weird was that the &lt;em&gt;service &lt;/em&gt;itself continue to work. We could see log entries being written and it was able to execute scheduled backups, for example. It would just refuse to talk to us over the network.&lt;/p&gt;
&lt;p&gt;That was &lt;em&gt;super&lt;/em&gt; strange, since the &lt;em&gt;network &lt;/em&gt;itself was fine. All the monitoring systems were green, after all. For that matter, the user was able to SSH into the system to restart the service. This didn&amp;rsquo;t match with any other issue we could think of. Since the user worked around the problem by restarting the server, we didn&amp;rsquo;t have a lead.&lt;/p&gt;
&lt;p&gt;Then we noticed the exact same problem in one of our cloud instances, and there we have much better diagnostic capabilities. Once we had noticed a problematic server, we were able to SSH into that and try to figure out what was going on.&lt;/p&gt;
&lt;p&gt;Here is what we found out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The server will not respond to HTTP(s) communication either from outside the machine or by trying to connect from &lt;em&gt;inside&lt;/em&gt; the machine.&lt;/li&gt;
&lt;li&gt;The server &lt;em&gt;will&lt;/em&gt; respond to SNMP queries both from inside the machine and outside of it (which is how we typically monitor the system).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When we designed RavenDB, we implemented a &amp;ldquo;maintenance hatch&amp;rdquo; for such scenarios, in addition to using HTTP(s) for communication, RavenDB also exposes a named pipe that allows you to connect to the server without going through the network at all. This ensures that if you have administrator privileges on the server, you are able to connect even if there are network issues, certificate problems, etc.&lt;/p&gt;
&lt;p&gt;Here is the kicker. Under this particular situation, we &lt;em&gt;could&lt;/em&gt; &lt;em&gt;not &lt;/em&gt;activate this escape hatch. That is not supposed to be possible. Named pipes on Linux, where we run into the problem, are basically Unix Sockets. A network issue such as a firewall problem or something similar isn&amp;rsquo;t going to affect them.&lt;/p&gt;
&lt;p&gt;At the same time, we were able to communicate with the process using SNMP. What is the problem?&lt;/p&gt;
&lt;p&gt;Lacking any other options, we dumped the process, restarted the service, and tried to do the analysis offline. We couldn&amp;rsquo;t find any problem. All the details we looked at said that everything was fine, the server &lt;em&gt;was&lt;/em&gt; properly listening to new connections and it &lt;em&gt;should&lt;/em&gt; work. That was&amp;hellip; weird.&lt;/p&gt;
&lt;p&gt;And then it happened again, and we did the same analysis, and it came back the same. We were clueless. One of the things that we updated between versions was the .NET runtime that we were using, so we &lt;a href="https://github.com/dotnet/runtime/issues/79446"&gt;opened an issue&lt;/a&gt; to see if anyone ran into the same problem.&lt;/p&gt;
&lt;p&gt;And then it happened again. This time, we knew that just looking at the dump wouldn&amp;rsquo;t help us, so we tried other avenues. Linux has a pretty rich set of knobs and dials that you can look at to see what was going on. We suspected that this may be an issue with running out of file descriptors, running out of memory, etc.&lt;/p&gt;
&lt;p&gt;We tried looking into what is going on inside the process using &lt;em&gt;strace&lt;/em&gt;, and everything was &lt;strong&gt;fine&lt;/strong&gt;. The trace clearly showed that the server was processing requests and was able to send and receive data properly.&lt;/p&gt;
&lt;p&gt;Wait, go through that statement again please!&lt;/p&gt;
&lt;p&gt;It is fine? But the reason we are using &lt;em&gt;strace&lt;/em&gt; is that there is a problem. It looks like the problem fixed itself. That was annoying, because we were hoping to use the trace to figure out what is going on. We added more monitoring along the way, which would let us know if the server found itself isolated. And we waited.&lt;/p&gt;
&lt;p&gt;The next time we ran into the problem, the first thing we did was run &lt;em&gt;strace, &lt;/em&gt;we needed to get the root cause as soon as possible, and we were afraid that it would fix itself before we had a chance to get to the root cause. The moment we used &lt;em&gt;strace&lt;/em&gt;, the server got back online, continuing as if there was never any issue.&lt;/p&gt;
&lt;p&gt;Over the next few instances of this issue, we were able to confirm the following observations:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The service would stop responding to TCP and Unix Sockets entirely.&lt;/li&gt;
&lt;li&gt;There were &lt;em&gt;no&lt;/em&gt; firewall or network issues.&lt;/li&gt;
&lt;li&gt;The service was up and functional, tailing the log showed activity.&lt;/li&gt;
&lt;li&gt;We could query the server state using SNMP.&lt;/li&gt;
&lt;li&gt;Running strace on the service process would fix the problem.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;There are a few more things, the actual trigger for the fix wasn&amp;rsquo;t strace itself. It was the &lt;em&gt;ptrace()&lt;/em&gt; call, which it uses. That would cause the service to start responding again. The &lt;em&gt;ptrace() &lt;/em&gt;call is basically the beginning and the end of debugging under Linux. &lt;em&gt;Everything &lt;/em&gt;uses it.&lt;/p&gt;
&lt;p&gt;If you want to dump a memory process, you start with &lt;em&gt;ptrace()&lt;/em&gt;. You want to trace the calls, &lt;em&gt;ptrace(). &lt;/em&gt;You want to &lt;em&gt;debug &lt;/em&gt;the process? GDB will start by calling &lt;em&gt;ptrace()&lt;/em&gt;, etc.&lt;/p&gt;
&lt;p&gt;And doing that would alleviate the problem.&lt;/p&gt;
&lt;p&gt;That was&amp;hellip; quite annoying.&lt;/p&gt;
&lt;p&gt;We still had absolutely no indication of what the root cause even was.&lt;/p&gt;
&lt;p&gt;We suspected it may be something inside Kestrel that was causing a problem. But that wouldn&amp;rsquo;t affect the named pipes / Unix sockets that we also saw.&lt;/p&gt;
&lt;p&gt;Networking &lt;em&gt;worked&lt;/em&gt;, because SNMP did. We thought that this may be because SNMP uses UDP instead of TCP, and looked into that, but we couldn&amp;rsquo;t figure out how that would be any different.&lt;/p&gt;
&lt;p&gt;Looking at this further, we found that we have this in the code dumps:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;      ~~~~ 5072
         1 Interop+Sys.WaitForSocketEvents(IntPtr, SocketEvent*, Int32*)
         1 System.Net.Sockets.SocketAsyncEngine.EventLoop()
         1 System.Net.Sockets.SocketAsyncEngine+&amp;lt;&amp;gt;c.ctor&amp;gt;b__14_0(Object)&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;As you can see, we are waiting for this in the .NET Sockets thread. The SNMP, on the other hand, looked like:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="font-family: 'Courier New';"&gt;Thread (0x559):&lt;br /&gt;&amp;nbsp;&amp;nbsp; [Native Frames]&lt;br /&gt;&amp;nbsp;&amp;nbsp; System.Net.Sockets!System.Net.Sockets.SocketPal.SysReceive()&lt;br /&gt;&amp;nbsp;&amp;nbsp; System.Net.Sockets!System.Net.Sockets.SocketPal.TryCompleteReceiveFrom()&lt;br /&gt;&amp;nbsp;&amp;nbsp; System.Net.Sockets!System.Net.Sockets.SocketAsyncContext.ReceiveFrom()&lt;br /&gt;&amp;nbsp;&amp;nbsp; System.Net.Sockets!System.Net.Sockets.SocketPal.ReceiveFrom()&lt;br /&gt;&amp;nbsp;&amp;nbsp; System.Net.Sockets!System.Net.Sockets.Socket.ReceiveFrom()&lt;br /&gt;&amp;nbsp;&amp;nbsp; SharpSnmpLib.Engine!Lextm.SharpSnmpLib.Pipeline.ListenerBinding.AsyncReceive()&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That was really interesting, since it meant that for sockets (both HTTP and Unix), we were always using async calls, but for SNMP, we were using the synchronous API. We initially suspected that this may be something related to the thread pool. Maybe we had something that blocked it, but it turns out to be a lot more interesting. Here is the code that is actually &lt;em&gt;handling&lt;/em&gt; the SNMP:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;var count = _socket.ReceiveFrom(buffer, ref remote);&lt;/p&gt;
&lt;p&gt;Task.Factory.StartNew(() =&amp;gt; HandleMessage(buffer, count, (IPEndPoint)remote));&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In other words, we are actually reading from the socket in a blocking manner, but then processing the actual message using the thread pool. So being able to get results via SNMP meant the thread pool was well.&lt;/p&gt;
&lt;p&gt;At this point we resulted to hair pulling, rubber ducking and in some instances, shaking our fists to heaven.&lt;/p&gt;
&lt;p&gt;I reminded myself that I&amp;rsquo;m an adult with a bit of experience solving problems, and dug deeper. We started looking into how .NET is actually &lt;a href="https://github.com/dotnet/runtime/blob/e52462326be03fb329384b7e04a33d3eb7c16736/src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketAsyncEngine.Unix.cs#L176"&gt;handling sockets in async mode.&lt;/a&gt; This end up &lt;a href="https://github.com/dotnet/runtime/blob/e52462326be03fb329384b7e04a33d3eb7c16736/src/native/libs/System.Native/pal_networking.c#L2727"&gt;here, doing a system call&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;while ((numEvents = epoll_wait(port, events, *count, -1)) &amp;lt; 0 &amp;amp;&amp;amp; errno == EINTR);&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Reading through the man page for &lt;em&gt;epoll_wait()&lt;/em&gt; I learned how &lt;em&gt;epoll&lt;/em&gt;() works, that it is complex and that we need to be aware of level-triggered and edge-triggered options. Since .NET uses &lt;a href="https://github.com/dotnet/runtime/blob/e52462326be03fb329384b7e04a33d3eb7c16736/src/native/libs/System.Native/pal_networking.c#LL2693C60-L2693C67"&gt;edge-triggered&lt;/a&gt; events (EPOLLET, which I keep reading as electronic chicken), we focused on that.&lt;/p&gt;
&lt;p&gt;There are a &lt;em&gt;lot&lt;/em&gt; of edge cases and things to cover, but everything we checked was handled properly. We finally had a good smoking gun. For some reason, we weren&amp;rsquo;t getting notifications from &lt;em&gt;epoll&lt;/em&gt;(), even though we should. Using &lt;em&gt;strace()&lt;/em&gt; or friends somehow fixes that.&lt;/p&gt;
&lt;p&gt;We actually &lt;em&gt;found&lt;/em&gt; the &lt;a href="https://stackoverflow.com/questions/20272845/strace-fixes-hung-process"&gt;exact scenario we saw in StackOverflow&lt;/a&gt;, but without any idea what the issue was. &lt;a href="https://xkcd.com/979/"&gt;Truly, there is an XKCD for everything&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Our current understanding of the issue:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;All async sockets in .NET are going through the same socket engine, and are using &lt;em&gt;epoll&lt;/em&gt;() under the covers.&lt;/li&gt;
&lt;li&gt;SNMP is using &lt;em&gt;synchronous&lt;/em&gt; calls, so it wasn&amp;rsquo;t using &lt;em&gt;epoll()&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That covers both of the weird things that we are seeing. So what is the issue?&lt;/p&gt;
&lt;p&gt;It is not in .NET. Given the size &amp;amp; scope of .NET, we wouldn&amp;rsquo;t be the only ones seeing that. Below .NET, there is the kernel, so we looked into that. The machines we were running that on were using kernel 5.4.0-azure-1095, so we looked into that.&lt;/p&gt;
&lt;p&gt;And it looked like it is &lt;a href="https://lore.kernel.org/linux-fsdevel/a2f22c3c-c25a-4bda-8339-a7bdaf17849e@akamai.com/#r"&gt;a kernel bug&lt;/a&gt;, which was fixed in the &lt;a href="https://bugs.launchpad.net/ubuntu/+source/containerd/+bug/1996678/comments/28"&gt;next updated kernel&lt;/a&gt;. A race condition inside the kernel would cause us to miss wakeups, and then we would basically just stall without anything to wake us up.&lt;/p&gt;
&lt;p&gt;We dug deeper to understand a bit more about this situation, and &lt;a href="https://man7.org/linux/man-pages/man2/ptrace.2.html"&gt;we got this&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;       Some system calls return with &lt;strong&gt;EINTR &lt;/strong&gt;if a signal was sent to a
       tracee, but delivery was suppressed by the tracer.  (This is very
       typical operation: it is usually done by debuggers on every
       attach, in order to not introduce a bogus &lt;strong&gt;SIGSTOP&lt;/strong&gt;).  As of Linux
       3.2.9, the following system calls are affected (this list is
       likely incomplete): &lt;a href="https://man7.org/linux/man-pages/man2/epoll_wait.2.html"&gt;epoll_wait(2)&lt;/a&gt;, and &lt;a href="https://man7.org/linux/man-pages/man2/read.2.html"&gt;read(2)&lt;/a&gt; from an &lt;a href="https://man7.org/linux/man-pages/man7/inotify.7.html"&gt;inotify(7)&lt;/a&gt;
       file descriptor.  The usual symptom of this bug is that when you
       attach to a quiescent process with the command

           strace -p &amp;lt;process-ID&amp;gt;

       then, instead of the usual and expected one-line output such as

           restart_syscall(&amp;lt;... resuming interrupted call ...&amp;gt;_

       or

           select(6, [5], NULL, [5], NULL_

       ('_' denotes the cursor position), you observe more than one
       line.  For example:

               clock_gettime(CLOCK_MONOTONIC, {15370, 690928118}) = 0
               epoll_wait(4,_

       What is not visible here is that the process was blocked in
       &lt;a href="https://man7.org/linux/man-pages/man2/epoll_wait.2.html"&gt;epoll_wait(2)&lt;/a&gt; before &lt;a href="https://man7.org/linux/man-pages/man1/strace.1.html"&gt;strace(1)&lt;/a&gt; has attached to it.  Attaching
       caused &lt;a href="https://man7.org/linux/man-pages/man2/epoll_wait.2.html"&gt;epoll_wait(2)&lt;/a&gt; to return to user space with the error
       &lt;strong&gt;EINTR&lt;/strong&gt;.  In this particular case, the program reacted to &lt;strong&gt;EINTR &lt;/strong&gt;by
       checking the current time, and then executing &lt;a href="https://man7.org/linux/man-pages/man2/epoll_wait.2.html"&gt;epoll_wait(2)&lt;/a&gt;
       again.  (Programs which do not expect such "stray" &lt;strong&gt;EINTR &lt;/strong&gt;errors
       may behave in an unintended way upon an &lt;a href="https://man7.org/linux/man-pages/man1/strace.1.html"&gt;strace(1)&lt;/a&gt; attach.)&lt;/pre&gt;
&lt;p&gt;And.. that is exactly what is happening. On attaching, the &lt;em&gt;epoll_wait&lt;/em&gt;() will return with &lt;em&gt;EINTR&lt;/em&gt;, which will cause .NET to retry the command, and that &amp;ldquo;fixes&amp;rdquo; the issue.&lt;/p&gt;
&lt;p&gt;It makes total sense now, and concludes the discovery process of a pretty nasty bug.&lt;/p&gt;
&lt;p&gt;Now, if you&amp;rsquo;ll excuse me, I need to go and apologize to a rubber duck.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ayende.com/blog/Images/Open-Live-Writer/Production-postmortem-The-hiesien_ABC0/image_4.png"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://ayende.com/blog/Images/Open-Live-Writer/Production-postmortem-The-hiesien_ABC0/image_thumb_1.png" alt="image" width="228" height="229" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;</description><link>https://www.ayende.com/blog/198849-C/production-postmortem-the-heisenbug-server?Key=1eeda567-02a8-4bbb-b90f-557523973233</link><guid>https://www.ayende.com/blog/198849-C/production-postmortem-the-heisenbug-server?Key=1eeda567-02a8-4bbb-b90f-557523973233</guid><pubDate>Mon, 16 Jan 2023 12:00:00 GMT</pubDate></item></channel></rss>