<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GlowLED的后花园</title><link>https://blog.glowled.top/algolia.json</link><description>Recent content from GlowLED的后花园</description><generator>Hugo</generator><language>zh-CN</language><managingEditor>zpeiyu11@gamil.com (GlowLED)</managingEditor><webMaster>zpeiyu11@gamil.com (GlowLED)</webMaster><copyright>本博客所有文章除特别声明外，均采用 BY-NC-SA 许可协议。转载请注明出处！</copyright><lastBuildDate>Tue, 03 Feb 2026 15:12:14 +0800</lastBuildDate><atom:link href="https://blog.glowled.top/index.xml" rel="self" type="application/rss+xml"/><item><title>策略梯度定理</title><link>https://blog.glowled.top/post/policy-gradient/</link><pubDate>Tue, 03 Feb 2026 15:12:14 +0800</pubDate><author>zpeiyu11@gamil.com (GlowLED)</author><guid>https://blog.glowled.top/post/policy-gradient/</guid><description>
<![CDATA[<h1>策略梯度定理</h1><p>作者：GlowLED（zpeiyu11@gamil.com）</p>
        
          <h2 id="policy-based算法">
<a class="header-anchor" href="#policy-based%e7%ae%97%e6%b3%95"></a>
Policy-Based算法
</h2><p>Value-Based算法试图学习$Q$函数, 通过评估每个动作得到回报的期望来获得一个理性的策略$\pi$. Policy-Based则直接学习策略$\pi$.</p>
<p>因此, 我们先要显式定义$\pi$, 将其参数化为$\pi_\theta$. $\pi_\theta(s)$是一个分布$\mathbb{P}(\cdot|s; \theta)$. 而优化$\theta$可以使用梯度上升法. 即策略梯度方法.</p>
<h2 id="策略梯度方法">
<a class="header-anchor" href="#%e7%ad%96%e7%95%a5%e6%a2%af%e5%ba%a6%e6%96%b9%e6%b3%95"></a>
策略梯度方法
</h2><p>首先我们需要设计一个用于梯度上升的目标函数$ J(\theta) $. 直觉上来说, 我们希望策略获得的奖励期望最大, 即:
</p>
$$
\begin{align*}
J(\theta) = \mathbb{E}_\tau[R(\tau)]	\tag{1}
\end{align*}
$$<p>
$ \tau $即轨迹(trajectory), 该式即对所有可能的轨迹, 求奖励的期望. 这个式子虽然没写$\theta$, 但是其实和$\theta$有关. 因为:
</p>
$$
\begin{align*}
\mathbb{E_\tau}[R(t)] = \sum_\tau P(\tau ; \theta)R(\tau)	\tag{2}
\end{align*}
$$<p>
$\theta $可以影响轨迹$ \tau $的分布. 因此来影响期望. 接下来, 我们对目标函数求梯度:
</p>
$$
\begin{align*}
\nabla_\theta J(\theta) &= \nabla_\theta \sum_\tau P(\tau ; \theta)R(\tau) 	\tag{3.a}\\
&= \sum_\tau R(\tau) \nabla_\theta P(\tau ; \theta)	\tag{3.b}
\end{align*}
$$<p>
如果我们可以通过计算机计算或者估计这个梯度值, 我们就可以更新我们的策略参数.</p>
        
        <hr><p>本文2026-02-03首发于<a href='https://blog.glowled.top/'>GlowLED的后花园</a>，最后修改于2026-02-03</p>]]></description><category>强化学习</category><category>随笔</category></item><item><title>Deep Q Network (DQN)笔记</title><link>https://blog.glowled.top/post/deep-q-network/</link><pubDate>Thu, 29 Jan 2026 17:10:14 +0800</pubDate><author>zpeiyu11@gamil.com (GlowLED)</author><guid>https://blog.glowled.top/post/deep-q-network/</guid><description>
<![CDATA[<h1>Deep Q Network (DQN)笔记</h1><p>作者：GlowLED（zpeiyu11@gamil.com）</p>
        
          <h2 id="基本方法">
<a class="header-anchor" href="#%e5%9f%ba%e6%9c%ac%e6%96%b9%e6%b3%95"></a>
基本方法
</h2><p><strong>Deep Q Network</strong>的核心思想是使用神经网络表示:
</p>
$$
Q_\pi(s_t, a_t) = Net_\theta(s_t, a_t)
$$<p>
其中, 不同的参数$ \theta $就对应了不同的$ \pi $. 策略$ \pi $被隐式表达了. 假设我们使得网络学习到了最好的参数$ \theta^* $. 则它应该满足:
</p>
$$
Q^*(s_t, a_t) = Net_{\theta^*}(s_t, a_t)
$$<p>
$ Q^* $是<strong>Optimal Action-Value Function</strong>, 最优行动价值函数, 它的值绝对是正确的, 即它的值一定是回报的期望.</p>
<p>对于Agent来说, 它采取动作的方法是:
</p>
$$
a^* = \mathop{\arg\max}\limits_{a}\ Net_{\theta^*}(s_t, a)
$$<p>
一般来说, 神经网络的实现是同时输出所有动作的$ Q $值:
</p>
$$
Net_\theta(s_t) = 
\begin{bmatrix}
Q_\pi(s_t, a_1) \\
Q_\pi(s_t, a_2) \\
Q_\pi(s_t, a_3) \\
\vdots \\
Q_\pi(s_t, a_n)
\end{bmatrix}
$$<p>
这样效率更高, 也方便更泛化地学习.</p>
        
        <hr><p>本文2026-01-29首发于<a href='https://blog.glowled.top/'>GlowLED的后花园</a>，最后修改于2026-01-29</p>]]></description><category>深度学习</category><category>强化学习</category><category>随笔</category></item><item><title>强化学习基础-粗略过一遍</title><link>https://blog.glowled.top/post/reinforcement-learning-base-quickpass/</link><pubDate>Wed, 28 Jan 2026 14:42:14 +0800</pubDate><author>zpeiyu11@gamil.com (GlowLED)</author><guid>https://blog.glowled.top/post/reinforcement-learning-base-quickpass/</guid><description>
<![CDATA[<h1>强化学习基础-粗略过一遍</h1><p>作者：GlowLED（zpeiyu11@gamil.com）</p>
        
          <h2 id="基本概念">
<a class="header-anchor" href="#%e5%9f%ba%e6%9c%ac%e6%a6%82%e5%bf%b5"></a>
基本概念
</h2><h3 id="场景描述">
<a class="header-anchor" href="#%e5%9c%ba%e6%99%af%e6%8f%8f%e8%bf%b0"></a>
场景描述
</h3><ul>
<li>
<p>Environment: 环境. 是一个外部系统, 智能体处于这个系统中，能够感知到这个系统并且能够基于感知到的状态做出一定的行动。</p>
</li>
<li>
<p>state/observation: 状态/观测. 状态反映了世界的全部信息, 观测是状态的子集.</p>
</li>
<li>
<p>agent: 智能体. 做出决策的个体.</p>
</li>
<li>
<p>action: 动作. 不同的环境允许不同种类的动作，在给定的环境中，有效动作的集合经常被称为动作空间(action space)，包括离散动作空间(discrete action spaces)和连续动作空间(continuous action spaces).</p>
</li>
<li>
<p>reward: 奖励. 是由环境给的一个标量的反馈信号(scalar feedback signal).</p>
</li>
</ul>
<p>强化学习设想中, agent在environment中行动, 在某时刻获取observation, 采取action并促使environment做出改变. 在某些时刻可以获取reward. 强化学习的目标是使得reward总和最大化.</p>
<h3 id="公理化">
<a class="header-anchor" href="#%e5%85%ac%e7%90%86%e5%8c%96"></a>
公理化
</h3><p>动作使用$ a $表示, 状态(观测)使用$ s $表示, 时刻使用$ t $表示.</p>
<ol>
<li>
<p><strong>Policy</strong>: 策略. 用于决定下一步做出什么行动.</p>
<p>如果是确定性的, 一般用$ \mu $表示:</p>
</li>
</ol>
$$
a_t=\mu(s_t)
$$<p>​	如果是随机性的, 一般用$ \pi $表示:
</p>
$$
a_t \sim \pi(\cdot|s_t)
$$<ol start="2">
<li><strong>State Transition</strong>: 状态转移. 可以是确定的也可以是随机的. 一般认为是随机的. 可以用<strong>状态密度函数</strong>来表示:</li>
</ol>
$$
p(s'|s, a) = \mathbb{P}(S'=s'|S=s, A=a)
$$<ol start="3">
<li>
<p><strong>Return</strong>: 回报. 又称<strong>cumulated future reward</strong>, 一般表示为$ U $, 定义为:
</p>
        
        <hr><p>本文2026-01-28首发于<a href='https://blog.glowled.top/'>GlowLED的后花园</a>，最后修改于2026-01-28</p>]]></description><category>强化学习</category><category>深度学习</category></item><item><title>体渲染-随笔</title><link>https://blog.glowled.top/post/volume-rendering/</link><pubDate>Tue, 27 Jan 2026 19:09:14 +0800</pubDate><author>zpeiyu11@gamil.com (GlowLED)</author><guid>https://blog.glowled.top/post/volume-rendering/</guid><description>
<![CDATA[<h1>体渲染-随笔</h1><p>作者：GlowLED（zpeiyu11@gamil.com）</p>
        
          <blockquote>
<p>本篇是随笔, 虽然写了很久, 但是乱写</p>
</blockquote>
<blockquote>
<p>写了我好久, 感觉高数都还回去了.</p>
<p>寒假是真的无聊&hellip;在22: 27看高数的绝望&hellip;</p>
</blockquote>
<h2 id="引入">
<a class="header-anchor" href="#%e5%bc%95%e5%85%a5"></a>
引入
</h2><p><strong>体渲染</strong>是一种渲染模型, 也可以认为是一种渲染思路. 在Mesh的渲染中, 我们认为场景其实是<strong>面片+材质</strong>, 而体渲染认为物体应当是个<strong>有体积的东西</strong>. 光穿过物体, 在这个过程中不断与物体发生作用, 最后得到结果.</p>
<p>体渲染的引入, 一开始是为了解决<strong>云, 烟雾</strong>这类物体的渲染. 可以认为, 面片渲染只考虑了<strong>光与物体表面的作用</strong>, 没有考虑光在物体内部的行为. 这在大部分物体上可能没有什么问题, 例如玻璃与金属, 几乎所有光学行为都发生在<strong>表面</strong>. 但是当问题复杂一些: 我想要体现水中的丁达尔效应, 我想要渲染逼真的云雾, 面片模型就难以胜任. 一种解决方法是将丁达尔效应建模成简单的射线, 再套用一个衰减函数. 但有时候云雾并不完全是这样的, 光也会在内部散射, 甚至粒子有自发光, 云雾并不均匀. 于是, 我们不如考虑光在场景中的<strong>整个行进过程</strong>, 而不是只考虑表面这种割裂情形. 这就是<strong>体渲染(Volume Rendering)</strong>.</p>
<h2 id="体渲染的计算">
<a class="header-anchor" href="#%e4%bd%93%e6%b8%b2%e6%9f%93%e7%9a%84%e8%ae%a1%e7%ae%97"></a>
体渲染的计算
</h2><p>体渲染的基本计算方法就是<strong>体渲染积分</strong>, 最简单的Ray-casting方法, 思路是从摄像头向屏幕上每个像素生成一条射线, <strong>沿射线积分</strong>辐射值, 得到最终的辐射值(RGB).</p>
<p>具体来说, 假如某个射线由一个参数$ t $来表达$ \bold{r}(t) $, $ \bold{r}(t) $是一个三维坐标. 射线方向用$ \bold{d} $表示, $ \bold{d} $是三维的笛卡尔单位向量, 或者是二维的球坐标向量. 物体实际上由两个函数表示, 第一个是辐射值函数$ \bold{C}(\bold{r}(t), \bold{d}) $, 值为一个辐射值(RGB), 表示体在$ \bold{r}(t) $处以$ \bold{d} $方向观察时的&quot;发光&quot;值, 用于累积最终辐射值. 例如一个被一束光穿过的云雾, 如果观察射线垂直于这束光, 则我们应该可以看到$ \bold{C} $在光束经过的附近的值为这束光的颜色. 我想表达的是, 在这个模型中, 场景中光源对体的影响, <strong>已经考虑</strong>在$ \bold{C} $中了. 如果想要拆分出来, 需要从物理的手段, 对体渲染积分方程进行扩展. 第二个是密度函数$ \sigma(\bold{r}(t)) $, 其值为体在$ \bold{r}(t) $处的密度, 并且我们认为与观察方向无关. 密度的作用是<strong>计算光的遮挡</strong>: 你在$ \bold{r}(t) $处观察到的辐射, 会被视线上之前所有的体遮挡, 而密度就是各处的&quot;遮挡强度&quot;, 甚至可以把$ \sigma(\bold{r}(t)) $理解成&quot;<strong>单位长度削弱辐射值的比例</strong>&quot;. 例如, 我们可以认为不透明物体的内部密度非常大, 使得只有表面的辐射值能被累积到像素, 即表现成物体表面的颜色. 而透明物体的内部密度很小, 几乎不阻挡后面的辐射.</p>
        
        <hr><p>本文2026-01-27首发于<a href='https://blog.glowled.top/'>GlowLED的后花园</a>，最后修改于2026-01-27</p>]]></description><category>随笔</category></item><item><title>可微渲染-随笔</title><link>https://blog.glowled.top/post/differentiable-rendering/</link><pubDate>Mon, 26 Jan 2026 19:09:14 +0800</pubDate><author>zpeiyu11@gamil.com (GlowLED)</author><guid>https://blog.glowled.top/post/differentiable-rendering/</guid><description>
<![CDATA[<h1>可微渲染-随笔</h1><p>作者：GlowLED（zpeiyu11@gamil.com）</p>
        
          <blockquote>
<p>本篇是随笔, 也就是随便写写一些想法, 这些想法内容不足以成文, 因此也并不考究.</p>
</blockquote>
<blockquote>
<p>我之前只接触过传统CG, 不如说传统CG都没怎么学明白. 实际上基本只学了Path Tracing, 确实是简单又出效果, 但是这导致我图形学数学基础非常烂. 最近由于要研究3DGS, 一大堆术语都是听过但是不理解. 比如球谐函数, 可微渲染种种. 我觉得不写出来就学得不踏实&hellip;&hellip;</p>
<p>所以会更一些图形学相关的下饭小文章, 纯粹是自己的输出, 没有太在乎可读性. 不过我是比较难接受抽象想法的人, 只有把事情想得直观一些才能理解。所以应该(?)会比较简单.</p>
</blockquote>
<p>试想一下我们的计算机图形学渲染过程是啥样的:
</p>
$$
场景参数 + 算法 \rightarrow 图像
$$<p>
嗯, 算法好理解, 也就是我们整的那些<strong>渲染管线</strong>, 一般来说就是些坐标变换, 最后有个光栅化操作.</p>
<p><strong>场景参数</strong>是啥? 实际上就是你对场景的控制, 一些可设定的值. 例如, 当场景中只能有一个长方体时, 你的场景参数或许就是<code>长方体顶点坐标</code>, <code>长方体旋转角度</code>&hellip;&hellip;总之, 这些参数唯一确定了场景中的一个长方体. 如果这个长方体表面还有材质, 材质也有一些参数, 例如<code>金属度</code>, <code>折射率</code>等. 这些东西整个加在一起, 就是场景参数. 也就是在所讨论的渲染过程中, <strong>你能够修改的场景部分</strong>.</p>
<p>任务: 你现在有一个场景$S$, 其参数空间为$P=\{p_i\}$. 某个参数下的场景用$S(p_i)$表示. 你经过一个渲染算法$f$, 得到了一个图像$G$. 显然, $G=f(S(p_i))$. 你现在有1张(可以多张, 但这里简化问题为1张)图片$G'$. 请你在$P$中给出参数$p$, 使得$G = f(S(p)) = G'$.</p>
<p>也就是说, 你现在知道渲染算法, 也知道渲染结果, 需要得到<strong>场景参数</strong>. 也就是<strong>根据图片反推场景实际是怎样的</strong>. 如果是你的话, 你会怎么办?</p>
        
        <hr><p>本文2026-01-26首发于<a href='https://blog.glowled.top/'>GlowLED的后花园</a>，最后修改于2026-01-26</p>]]></description><category>随笔</category></item><item><title>GQA分组查询注意力学习笔记与代码实现</title><link>https://blog.glowled.top/post/gqa-group-query-attention-notes-and-implementation/</link><pubDate>Sat, 05 Jul 2025 10:18:57 +0800</pubDate><author>zpeiyu11@gamil.com (GlowLED)</author><guid>https://blog.glowled.top/post/gqa-group-query-attention-notes-and-implementation/</guid><description>
<![CDATA[<h1>GQA分组查询注意力学习笔记与代码实现</h1><p>作者：GlowLED（zpeiyu11@gamil.com）</p>
        
          <blockquote>
<p>上一篇文章搞定了RoPE，接下来该实现llama中使用的另外一个关键技术：Group Query Attention，分组查询注意力机制。             相比RoPE，个人觉得这个好理解一些，不过代码实现上难度大一些。当然了，我还是给它实现出来了。不过有关解码的部分，GQA的kv cache与原来的MHA不太一样，目前我的项目还没做到解码的部分，等我的SimpleLLM项目实现到这一部分应该会在后面加上，或者专门写一篇文章讲讲解码的全过程实现，里面会包含这几种注意力机制（还有MQA）的解码。</p>
</blockquote>
<p><strong>手搓LLM架构与训练过程：</strong><a href="https://github.com/GlowLED/SimpleLLM">SimpleLLM</a></p>
<p>在讲解GQA之前，我们先讲讲最开始的MHA（Multi Head Attention，多头注意力机制），与改进后的MQA（Multi Query Attention，多查询注意力机制）。</p>
<h2 id="mha与mqa">
<a class="header-anchor" href="#mha%e4%b8%8emqa"></a>
MHA与MQA
</h2><p>先讲MHA，<strong>多头注意力机制</strong>，这是在transformer中最开始的注意力机制，相信大家也比较熟悉。</p>
<p>我们现在有这么一个序列：
</p>
$$
Sequence=\{token_i\}_{i=1}^N
$$<p>
经过embedding之后，得到的词嵌入序列：
</p>
$$
X=\{x_i\}_{i=1}^N
$$<p>
在多头的其中一个头内部的注意力机制中，每个$x_i$都要进行三次投影，分别得到$q_i$, $k_i$, $v_i$，相当于是一套q，k，v。<strong>有多少头，就是说的一个token对应的向量会被生成几套q，k，v</strong>。</p>
<p><img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAEQAVUDASIAAhEBAxEB/8QAHgABAAIDAAMBAQAAAAAAAAAAAAcIBQYJAwQKAgH/xABcEAAABgIBAAUHBQUSDAUEAwABAgMEBQYABwgJERM4txIUIXZ3eLYVMzY3siIyc3S1FhcYGSMkMTlBVVdydZe00dXwJTQ1U3GSlpixs9bXCihDUVgnQmHhR6HB/8QAHAEBAAMAAwEBAAAAAAAAAAAAAAQFBgIDBwEI/8QARxEAAgICAQICBQcHCQgCAwAAAgMBBAAFBhESBxMUITU2dTQ3dHa0tbYVIjEzc3ezFiMyQXKxsrfwFyVhcXiBg8FGhCRFUf/aAAwDAQACEQMRAD8A+/jGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGM+e7/wASdrJvuzhJx90s8k5KHYbg6RHhpq6Rk4hz5pJsmF9vMnV3blk46jFSdIIyZlm5zlOQiyaZzEMBerGM+hHGcHNbc2b3V+hTU2XNdUnyg1lVH3CtSC8oTv5/l7AbAT4oU6KIkcxnDlza9luK1OGECmWUj5VV8UpkS9oNLuiQ2/8Apa3RvV2izsbM7ger9LVcuFruaXm0GMgrO7K5DLa3e7DfO1maxX6LKV86nF48iSK79NXsgcJqmMqLGfVpjKRbo5fMtZ8xOMXDZWku5Z/yj1Tya2C0vKUui2aVBLj5E0J65jnUOdoovKHsv5vUk27hF42CPGPOZRNwC4dn80+vuQXLvTvALoSovjnUXllhtmdINLVi9nbbqS1cpsB2jsXkNLwWjbIQ8RJuHVLuRIhxZpmccHXh2DqlRcPJQ8inMp9kxn2a4zmRw3vuorTzZ6T6s07Sz3W+3qNf+LDbkBfVtgWK2x+3bNYuNdcnqm9iq7KSDiCpSFFqrhCmLI1eNh2tkVZDYJFuvIOTrjU3prr7Oay230PdzrdEtm0JyK6R9iSK13SFY5GyXCSkOOG9o2Ph2S8y+jYdqmo9eILPn8o8QYxrBF1IOD9m1EpmM704zlnp3pJJRXcW8OP3MXQEpxF2jpXjwflsu4dbFq22NdW3juznZSt2G6QVzqiLJRKTps3GhG2ivP4Vu6RXdIqRi0i1MRdSH23S0bPiNe0/lPs/gjtXWPBC9PaapGcgZrY+vX19q1H2FLR8VStv7H0UxXNYqnrWbCZg5Jw5JOSVlr8TMNXs7XWRknSCLGdrMZzb3Rza3nH71t3Hvifw1ufJO06zpVKvWzr3Y79A6K0/BN9gkkXdUqVXvNxi5EuwbvIxEY4l3cdV49zDwDYzdCfm458t5qSGoXpidbWviPq/kJUNIbQsW4Nx78tPFGh8UmT+pKbEkeR1GtNmq93pC9uSllqInW6kWoT9omr83lnUEnUmQyqBV1lCswYzsTjPnUoe8937U6b/AIxVjf3G2x8a7/SeB3J5wtEKXyubO1/dYmx7I0utHzVHvdZKyQlVIhWOdxlji5WFiZOFfHaiCTljINXSn0V4xjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjOUfS5aB3DyF1XxJgdMUd/fJfXvSM8LtzXNlHyMFHKQOsdZ7NCdvVucKT0rEouWdeig88cMmCruXdEECR0c8V60w6uYxjPnwR4NcklOldeRS9KKXo6Db0adJopcjTcELd/y0idRpaWg9OFricgFiRbsL8+W5L+fBDlgVJ6vRRlZM8r+tzwq54I8w0uBWzISu6eBzvDWvTA2DndrzUs/barDrbe1rTuVQbNjGEPZ20vJQMFI3WkKO5CuEsDyPOR+m1j5pKKUcnOj9POMYzgB+Zvmvyf6Ujg7ypuPDe68euP2k+P8AzK11JBsG/aqnthxl12tXdbCze2mDodyscdH1+wuK8wg6cENK2F8s9hbNIWBKAj1YYz6ubfiJzJ1d0cfReoxPGi2bD3Hwx6QGO5IbP0BAXDWsZf5PXTWyciGSxqtMT1vY6/fTPmWya3NJR7u3MwPHKOgMsm9bma59ReMYzg7SOj3n+RHIPpc23JWnbf1XpDljtXhLsDWNkoW0/wA7u7WNHU3HWmxdmQjbPrWzuLNAhWb3FL1iwNXho1GYFs6KwGSiF03qnobP6Ml3oi0dFzTOK8NuHZWstIdIzJ8jNx2Ha24JPZ9npFVmuOuzKA9nV7HsmxGsLqvJTbusMGleghklmjuSdPUI4COHq5e+OMYziRyv4R7X5J9IVt+VCCfwGjdvdDbuDiIbcZXkMrGQG4L5v5jYYmBVhiyf5pnDhpXQNZVnCUKMQqxaqsvlVOQVTbjyT1X0WsBEa11Roiy/+H20RJ8kK1+YajbH5K3DZ9KV4ozrSvOI6Nt252CsBsJXcz9zY4lk8scZRh11HPm9ifJxjmQKwb+dq/ZHjGM+Y/lHw53HsHnnyEsvKXgpt3pFuOVjr2mWHCWp1TkfD0PjnoyKrtEbRezKjtPTVh2nQ4dedtGyE3VkebAlqXtR08rgxzFFNojHNYgsScX+j05uaJ4o6LtjDjbTIHfnBvpQ+UXI2r8ZKtbqlA692zojcStzrr+K0hZknnyDWGDGm7Fcn1LH3BpWTFNU28NPMK2i7IoX6y8YxnC7WBOaHIfpVdF8mtkcMbrxq456y4l761cwk9i3rVFhvzrYd6uerpo6digtfXK0IwsM8Y10UKv5i/mTPlI+bdzAwoBFovu6OMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMiqT3vo+EkHkTM7l1TESseuo1fxknsOosJBi6RMJFWzxk6mEnLZdIwCVRFZMihDAIGKAh1ZWbPdabSrW7c7bWalTjlaW7O/VoLayB7pWs7TVCw4H86RGZKB9cx0yTWpXLpEFOpZtmEQRhWQ15CMz0giFQHIxM+qJmIiZ9X6clXGQ2HIrj6I9Qb102Ij6AANnUnrEf/AG/y5ktMnzKTZtZGNeNZCPfIJOmT5k4Sds3jVcgKIOWrlA6iDhBZMxVElkjnTUIYDEMJRAc6tZyHQbs2r0280+3NAibw1mzpXzSBzIgTRqPbKxKYmBI4GCmJiJmYnOdnX36UAVyjcqCyZgCs1nIg5iImYCWgEFMRMTMR1mImJn9Oe1jNJtezNcUNZq3vGwKRTF3yZ1WSFrtcDXVniSZvJUUapy79mdwmQ33JzolOUpvQYQH0ZqP6Ivj5/Dtpv+c+k/25kW7y/ietstpbHlHHaFxEjDql3d62rZTJDBjDUPsrauSAhMYMImRKCj1TE52p1G2sqF1fV7Gwk+sg1NKy1RxE9syLAUQl0KJiekz0n1fpyZMZq9VvFKvTReQpNvq9xYNVvNnL2q2CJsLRu48kD9gu5iHbxFJbyBA3ZKHKfyRA3k9Q9eZGdsEDVot1OWabiK7CsgIZ5MTskyiItoVQ5U0zOpCQWbtEAOocqZBVWIBjmKQvWYwANorZ619D8qp2FF2r8k7P5SVbrsoejqgpZY9MBk1/JXAHJt8zywgSkiiBnpFKtZB/op13ha7xX6MSmC/zD6QK/JkYZ3lJR2h2909Y6RPWMy+Mhv8ARF8fP4dtN/zn0n+3Mzld3JqG3yiMHU9q63tE04KodvEV281iblFyIkFRY6MfGyjl2qVJMplFDERMBCFExhAoCOU9bmnDrj01anLOM2rVhgJr1q2+1b3vcwoFakpVaJjWGUwIAAkRFMQMTM5LZpdwlZtbqdkpSxk2MZQtAsAGOpGZkqBEYj1yRTERHrmckjGBEAAREeoA9IiP7AB/7jkRu+QGh2Dpwyfbs1GyetFlG7po72RTWzpsukYSKoOG60yRVFZM4CRRNQhTkMAlMUBAQyy2e80mkFR7ncavUBYIhQez2FSgLiCIkxUVtyoYQQQyUBJSMTEzERMZHq0bt2TGlTtWyXESwatdtiQgpmBk4UByMFMTESXSJmJiMlzGQ6XkRx/OYpCb006c5zAUhC7NpRjGMYQApSlCbETGMIgAAACIiIAAdeS8isi4SScN1U10FkyKorInKqkskoUDpqJKEExFEzlEDEOQwlMUQMURAQHOOr3+i3cujS7rU7ea/ZNiNXsqd+UQzu8uXeiOb5Xmdh9nf293aXb17Z6fbVC9S7PTaVup5nd5fpVZ1fzO3p3dnmgHd29w93b16d0df0xnkxmhWnamsKM9RjbtsehU6RcIA6bsLTcK9Xnq7UTmTByi1lpFouqgJyHICxEzJichigbrKIBrH6Ivj5/Dtpv+c+k/25kK3zHiOvsup3+VccpXK5dj6tveaytZQfSC7HIdaBqy6TE9pgM9JienSYzuTp9vYWDkavYvSyOq2po2WrOOvTqBgohKOvq6jMx19WTJjNdrNvqV1jhl6baK7bYkq52xpSszcZPRwOUwKZRuL2Kcu2wLplOQx0hV7QoHKJigBg6/JY7VWKdGKTVuscDVYZJRNFWWscxHwcYmqsIgkko/k3DVqRRUQEEyGVAxxAQKAiGWsbPWlr/ysOxozq/Im1+Uot151/o0RJTY9Mhno3kRETMu8zy4iJmS6ZFmtZix6JNd8WvM8r0aVMix5sz0hfk9vmeZM+rs7e7r6umZ7GQ3+iL4+fw7ab/nPpP9uZsdY21qu7SBommbM19bpUiJ3J4ysXOuT8gVumIAo4MzipJ25KimJigdUUwTKJgAxg6wypq8y4hesJp0uV8buW7BwqvVq73V2LD2F/RWlCbRtac/1AAkU/1Rktun26Fm5+q2SVLGSY1tG0tYDH6SMzVAiMdY6zMxHryQcZ+TnImUxzmKQhCmOc5zAUpCFARMYxhEAKUoAImMIgAAAiI9WRAryG0CiooitvLTyKyRzJqpK7MpaaiahBEpyKEPNgYhyGASmKYAMUQEBABDJ2032j0kJndbnU6iLPfFedpsadCHyrt8yE+luV5vl94d/Z3dnePd07o69FWheu9/oVK3b8vt8z0Wu6x2d3Xt7/KA+3u6T293Tr0np16Tkw4yIEeQmgnKyTdvvDUC666hEkUEdl0tVZZVQwFImkkSaMdRQ5hApCEKJjGEAABEerJeKYpigYogYpgAxTFEBKYoh1gICHoEBD0gIegQ9IZ91e+0e7h06Xc6rbxXkIsTq9jTvwiW90rh01HNhUsgDkIPt7+wu3r2z0+WqN2lIRcp2qksiZXFqu6vJwPTukIaAd0D3D17evTrHX9MZ/cZHdl29qamSQw1w2hrupy5Uk1zRVlutagpIqCodaSwsZSTaugSUD0pqCl5Bw9JREM1/wDRF8fP4dtN/wA59J/tzK+1zPh9Kw6pc5XxqparsJVita3urr2ENCehLcltoGKYM+ogMRKJ9UxGSFabcPWDU6rZOUwYJbVUbTFsGenQgMFSJDPWOkjMxPWOk5MmMwlestctsWjN1SwQlmhXJlCt5evSrCai3BkjCRUqMhGruWipkzgJFAIqYSGASmABDqzN5f17Fe2hNqq9NmtYWDkWK7Qch6mDBLalyyJbFmMwQGBEJDMSMzE5AYtijNTQNbFlIMWwSAwMZ6EJgUQQkMxMSJRExMdJjGMYzuzhjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxkabpkHsTpzbMpGul2MjG60vchHvWqhkXLN6zq0q4aum6xBA6S7ddNNZJQggYihCmKICADlF9Lai1S60/q18+1pQZJ/Ja+p8tIyEpUK/KSD6Rla/HyMg7dv5CPcu3Crl45WWMKqxgJ5YJpARIhCFu5vn6jdzeyjYnwhMZWbSH1Laf9luvvhKIz8zeJeu1+08W9MnZ0aWxTW8Odgyuq/VRbWhljk1IXsQuwDBUbhroFxhAkwUpE5KFhA+wcFc6vxfYkhrEkzf1xYSjJZGK9e2QE5CRkhCTOQgpmBkymOklPX2fznNQen/6T6y9ICHooNTAfSHUPpCI6w/0h6Q/czOcIiAy1zsiAbCdOGqm/9uVuuR4qKHbw8DHziB2UWxKoY4os253C6iaQD1AdZQ49ZzmEdrzV+Fn0R3R7zW6Py0z/AL/u5X8a1Gq1XizwRmr1mv1rLGl5wh50KVamb0RW0boS4q6lkxUOUpvlnJB5ils6dwDMT+T2H2OH7gXvc+A2GlYEOYbYA++4HeEGRdpdhkEkPSZEiHr0mYyHW1Pqd55D8m3t1rMBcHMHbKLBQp7RDx8+WJh/zu4KTGPjUpZu7SZNzP3rp0crYiYnWXUMcTeV1BIf5zmoP4J9Zf7A1P8AsjNepv1+cr/aFRfC2r5NGZ7jPHtBeq7u3d0enuW3888TCfataylYsOIfEXlKxJrmoNjCFYAsZMpmAAQjoIxEXTbltSdYtVqwtYcf41ALW9oAMTx7VlMCAlAjEkRFPSI6lMzPrmchbUtdgKXy/JEU+Fi6tET/AB0nZeZiK8waw8VISkRsetR8ZIOI2PSbsjPGbJ+9bpOAQBQE3S4CYRUOI5vlnHsbJuDinT59ohMVWXnduS0rXpBMrqHk5Ct0JF5BuZCPWAzZ6aNcOXB25HCSqYA4XTMQyS6pDfml98+E92O3+KdO/v8A39Pvcme8HxC/HN7+HLLOqzTqJ8HeZaxNWsrWz498Bozr1oUFGaV/xR8MIvU5qCMV/RbsW7fpdfy/KselWPOA/OZ3VksYXiDpbBGZPjhW5dDyIpd5yONcl8hvmTPf5ifJV5TO7uX5S+yR7B6eL85zUA//AMT6y/2Bqf8AZGQdyI19Q6drRS3VClVOp2it3LW8hB2CsV2Ir8vHO1tg1mOVUQfxDNm56lGb1yiZI6hkh7QFPI7RNM5LcZXblX9SVg9ZdZeJ9OyH4kcb47V8POdWq2g0te1U4hyO3Vso1dFL61qrqLlitZruWgWJsV3rW5DlkLFNWDFkJiMxodHduM3WpWy3ZYtuzoqas3tIGKZaUDFsAjkTWwCIDAokTApEomJmMtvyafvYvjvu6RjnS7F+y1ddnDR41UMi4bLpwD4yayKpBA6ahB9JTlEBAfSA5WSlaa1CWnVQDat124Oatwiii72mVx+7XVVjWyiqzl48jV3TlZRQ5jnVXWUUOYwiYw5ZDlT3at8eyi8/Dz7I4pv0PqfqzAfkppno/iHq9btPFQQ2euo7EK3h9qyrDfqV7g1yscj3sWCRFhbITL4r14dK+2WwhMM7vKX24jhL3V+LulDmplm+swyVMNcshevoSuDkJGShctZ2QXXt8w+3p3l11s2l9OrgKCmp9a9msApH7Oi1dJTyFA8g3kKpRRFUj9Qj5KiZyKEN1GIYpgAQ3Xg65cueMtAByus48ykdgxDQV1TqmQjIXZNuiYlimZQxjA3j4xk0YtU+vyUWzdJInUUhQDLJ/OJ/xy/aDMFwW7s1J9YtqeLN4yJwrVavV+MXG/yZraGu9J8N/Ej0n0CnXp+kej8m8J/I8/0da/N8j0h/k+Z3eV5zezt8w+6RzB738Nty9zXSvkvH/L81hs7PM1nKe/s7yLt7/LX39vTu7A69e0elctaUunXu8clrFd6pXLlOI8j9hVpvJ2qEjLC6bQFdbQLaEimh5ds880ZxzdY6CCTcEgBEEkjeURFECTB+c5qD+CfWX+wNT/sjNF0V/l7kz71e3PsVzLA5heA8e0F7i9W7d0ent3Lex5DYtWrWspPs2bDuR7Zjnve1Btc5rCI2NYRGZlJEUzMzmp2Ny2qyKlWrC1Lp65a1re0AWAa+qIAACUCICMQIiMRAxEREREZDmioSHpvLO+1ypxbCtV6X0NV7LIQUG0Qi4ZxPIXuZiEpT5LZERYpOyRpAa9oigmIkMqYes6ypj5HkrDxVq5D6ArFmjmc/W/zG7anjwEu3SkIZaYjjVFqxkHMY6IqydOGjd+8SQM4RUBMHCglABHrz96v75ls92queJs5nvb270egfZtuf+k0XJw06ceDe31cVK0ayPHjU1I10IVFGKjvFnj7W1oqQHo/o7WtaxifL8szYwyGSMpmjYxn+0SpY7zl/8irLfPkpl3mjxK+Is8zr3+YIiIifd3DAjETERHTw/nOag/gn1l/sDU/7IyJNoUWk0qe0LY6ZT6xUJ0nI3UUL8rVaBi68+UibDPGjJqOXXiGrM7hnJR6ijRy3XFRI6CqhPJAFD+VaLIH3t9/oj3oNE/FgZH5xxzj1Pi+yt1NFpqtqqWvs1bNfV0UWK1hGzptQ9DlIFiXJaAsU1ZCa2CJgUFETF5rrltlxamWrLFsB62LN7TBi2V2gazAikTAwmRMSiRIZkZiYmYyZuc0i+i+Ke4HMc7XZOFImBjzrNlTJKGZS1wrsVJtTHIIGFB9GvHbJyn1+Ss2cKpHASHMA6MjpTTjRFJqlqjW4pNkyN0hXo9ZcrCmkUCE7Vy5jFXDhTySh5ay6qiypus6ihziJh23nr3TNu/itR8QKpmwH+/N/GN/xHNfzbV6za+NXJB2muo7Ianhd4ZlVG/Ur3BrFb5Z4wRamvFhbITNmKdSLErgZdFWt5nd5Cu3L8Pe6vwypKHNRLeT8hhspYa5ZCtVxOVQyQkZOFy5vlwXXs81nb07y6xW/0rp10xetldU64Im4auEVDNqTWmjgpFEjFMKLprGIuWyoAPWmu3VTWSN1HTOUwAISpwwkX0pxd0w8knbh87NU/NzOHSp1lhQZSkixaJCocRMJGzNug2RKI9REUU0y9RSgGeBf5hb8Ep9g2eLhD3U9L+rLr8vS+SODavWarxf0w6vXUNaNvw254VoaFOvTizNTk/hlFWbEV1rh01ot24ryzu8mLNjy+3zmd3DmT3WOINl7mvlXJNNC5cw2SuG6vkUsgJOSkIZKld8D07/LX3dewelYNN0GjXJtsuz3Gm1a22GQ3Ztps7mbTX4mwySjaJuUlFxrYruXaPFUmzJg1QaoIImTSImkUAJ1+kZi/Oc1B/BPrL/YGp/2RmlcePozfvbluvxCmsnzMNwPjfHbXDuPWrWh0tm1a1y7Nmy/V0XPsWbBG59h7mIJjnvaZtc1hExjDIzIiKZnWbS7cXsLS127ILWzy1rB7RBa1iILWAicCIAAwICMQIjEDERERGRjxZio2sb05Q1SusWsJWGTXSU2xr8WgmxhmMrP161jMvWUa3Km0ZqyPycxBz5sikVQrRuXyQKkQAvdlIOOveT5VfyBx6+Hbvl389z8CFKr+Hvo6FrRXrc68Wa1dCQFaa9ev4rc0ShCVBAgpKVACkqARBawEAERGIjyPxDIj5S8ymSNmn4qxhlMyRsZxTSGwzKfWRmZEZlMzJFMlMzMzOMYxnsWYnGMYxjGMYxjGMYxjGUj33yeuWiOVvDfV83WK6toTlVKbU1I82MsrJN7BR+Q0FUC7H1DWnB/ODQq9c2nVartGEaFWZpSSdxha80bvTpy3mp7uZSjpCdEWDkDxXvtdoRTJbgoL6rbx0PJIJmO+iN3aTsUdsfXDlgZIh3BFJCdgEq89I2AFnkRNSUcPlJPVSHYzU9r8247W3MJroqSkNb1HS+qOMNm5N8uN17GsRa9D6nhrDcmtA4/1lrMuJJjX4qW2BLwG2bDKHs5vISrNAKEamLuZarBpmzOk948y/E3lRyC4kba1LyAtfGfXzy2z1MYz7g68O+VbOHVbJdK8keMtsLCWVNjIKwcsozaMp5GPfKQr52Rm5Mlz0kqjyhm+Ce/uYq3GW4KclOZ3JbTe37/AKet+lmGzt16D4366uNMpev2Nc0LcQZpXbbGitWVlzs6u69kmqjtTZk9YJJlCycsqnFvah37UfJ3a186Qe9M9b89Np1vbHRNIav1jsPkdoxKiXXaF9rG+7DOO6XWdVUul1qco7hkxuBXNYoexapWdlT3l2+xw1XPUStpR4xn1CVDkdqWys9iNz3mup2XSNRpts3nCt1nQqayaXWgpbIiFp0FERFJs+qQrTrMUlHSho5Py1OpX7gY/wBo89+GelKTrHYu2OSWqaBT9zwjaz6rlrJZW7BS9VhzGsZgbNX4s5RmHdbYRUnHyM1P/J5IiAZPWrmbeR6SyZjchLcbdvHXcfSXQ6/FHkvtZbm5xn4+/odpzTusJC8UuUt1A4qSmlrlRNlXBo4bwmmbDBWdm3kw/PMdV1jPwL9AKs7nLB5MCrWyN0JyL0DsvjNvu9xfPqp0O09FlxF46oPOGepU9sbM1Ht/TR7XP33Um1NUrUO6bCrMDfV7fX5ONtkdAx1YaWqqScTst/DkY194mxn0P7c5w8QdD0qg7F21yO1JTKTtVoWR1lYntxi3rDYUSLBtLKzlL+SFpFeywDOJeNZaSn4dF5DRcU4RkpF81YqEXGwNKutO2RUa3f8AXtqrt5o1xho+xVK41GZjrFV7NASrcjuMm4CdiXDuMloqQaqpuGb9g5XauUTlURVOQwDnzMK8brDx80bwSl2Ooukq462qkUHkm3hNvcc06ly93Zo5Pdu5Iza4aC35ouhaoscTY6XeyEi5xo8pdKk6vp+YqDXXL2abRyTS2O+z3Rmwm6K5wk0nDb/1vXNTbKZN7x51R61S65rZJjVnOyLg817L2DXNQkpiq6/vVsoTit2zYVKgJaQjaxdpueh01yqNFUEWMszvn6jdzeyjYnwhMZWbSH1Laf8AZbr74SiMszvn6jdzeyjYnwhMZWbSH1Laf9luvvhKIz85c9+d/Wfu2t/iivnrnCvdW99YE/dx5KGavws+iO6Pea3T+WmebRmr8LPojuj3mt0/lpnkPU/Ov4ffCuc/YtPk3kXuhuvpul/i28j+m/X5yv8AaFRfC2r5NGQvTfr85X+0Ki+FtXyaMpuH+zdt9evE3/MjlmXFn+hrvgHGfw5qsi+l98+E92O3eKdPz3uTPeD4hfjm9/Dlnno0vvoQnux27xTp+e9yZ7wfEL8c3v4cs8qr3zV8y/6hfDb/ADS8KMgx7+aX6jb/APDXKckLK7cq/qSsHrLrLxPp2WJyu3Kv6krB6y6y8T6dnd4n/Nr4hfUjlf3Ffy70Ht3S/Ftd9sTlrOVPdq3x7KLz8PPsjim/Q+p+rMB+SmmSPyp7tW+PZRefh59kcU36H1P1ZgPyU0zd80+dZv7vdL+JOR5jOHe6x/H7n3drc2dP5xP+OX7QZguC3dmpPrFtTxZvGZ1P5xP+OX7QZguC3dlpPrFtXxavGReMfPFxT92/id+JvCHJHK/c299ZeOfdnLMhjRX+XuTPvV7c+xXMsDlftFf5e5M+9Xtz7FcywOY7w39ztb9L3v4g2maba/LJ+jUPsFbIw1f3zLZ7tVc8TZzPe3t3o9A+zbc/9Jouejq/vmWz3aq54mzme9vbvR6B9m25/wCk0XPg/NTuP+oDS/5q8byoP3+qfUe3+FNhkg5A+9vv9Ee9Bon4sDJ4yB97ff6I96DRPxYGSPEH3P3X7Op94VMttV8vR/5f4LMlrnr3TNu/itR8QKpmwH+/N/GN/wARzX+evdM27+K1HxAqmbAf7838Y3/Ec0nJ/nr5Z+63wr/FnjRmb4p7l0frRyX7p4fngX+YW/BKfYNni4Q91PS/qy6/L0vnlX+YW/BKfYNni4Q91PS/qy6/L0vkjivzw8e/dr4ifijwqzhy33Ps/WXRfdfJsg3jx9Gb97ct1+IM1k+ZAfHj6M3725br8QZrJ8zJeHfuPxf4RV/wzmo2/tO7+3P/ANZoHHXvJ8qv5A49fDt3y7+Ug4695PlV/IHHr4du+Xfz13wO9w3fvA8X/wDNrm2eV+IPvOz4JxL8JaPGMYz17MVjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxkUb5+o3c3so2J8ITGVm0h9S2n/AGW6++EojLM75+o3c3so2J8ITGVm0h9S2n/Zbr74SiM/OXPfnf1n7trf4nr565wr3VvfWBP3ceShmr8LPojuj3mt0flpnm0Zq/Cz6I7o/wDxya3R+WmeQ9T86/h98K5z9i0+TeRe6G6+m6X+LbyP6b9fnK/2hUXwtq+TRkL036/OV/tCovhbV8mjKbh/s3bfXrxN/wAyOWZcWf6Gu+AcZ/DmqyL6X3z4T3Y7d4p0/Pe5M94PiF+Ob38OWWejS++fCe7Hb/FOnf1Z73JnvB8Qvxze/hyyyqvfNXzL/qF8Nv8ANLwoyDHv5pfqNv8A8NcpyQsrtyr+pKwesusvE+nZYnK7cq/qSsHrLrLxPp2d3if82viF9SOV/cV/LvQe3dL8W132xOWs5U92rfHsovPw8+yOKb9D6n6swH5KaZI/Knu1b49lF5+Hn2RxTfofU/VmA/JTTN3zT51m/u90v4k5HmM4d7rH8fufd2tzZ0/nE/45ftBmC4Ld2ak+sW1PFm8ZnU/nE/45ftBmC4Ld2ak+sW1PFm8ZF4x88XFP3b+J34m8Ickcr9zb31l4592csyGNFf5e5M+9Xtz7FcywOV+0V/l7kz71e3PsVzLA5jvDf3O1v0ve/iDaZptr8sn6NQ+wVsjDV/fMtnu1VzxNnM97e3ej0D7Ntz/0mi56Or++ZbPdqrnibOZ729u9HoH2bbn/AKTRc+D81O4/6gNL/mrxvKg/f6p9R7f4U2GSDkD72+/0R70GifiwMnjIH3t9/oj3oNE/FgZI8Qfc/dfs6n3hUy21Xy9H/l/gsyWuevdM27+K1HxAqmbAf7838Y3/ABHNf5690zbv4rUfECqZsB/vzfxjf8RzScn+evln7rfCv8WeNGZvinuXR+tHJfunh+eBf5hb8Ep9g2eLhD3U9L+rLr8vS+eVf5hb8Ep9g2eLhD3U9L+rLr8vS+SOK/PDx792viJ+KPCrOHLfc+z9ZdF918myDePH0Zv3ty3X4hTWT5kB8ePozfvbluvxCmsnzMl4d+4/F/hFX/DOajb+07v7c/8A1mgcde8nyq/kDj18O3fLv5SDjr3k+VX8gcevh275d/PXfA73Dd+8Dxf/AM2ubZ5X4g+87PgnEvwlo8YxjPXsxWMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGareqyW60i4007szAltqthrJ3xUgXMyLPRDyKM7KiJ0wWM3B2KwJCoQFBJ5AnL1+UHPypxXLHXdXr1CLxvh7mjS4WMqzS1w+66hBx08xgWaMWxkm8TNxoyrLzlm1QUVSelSVFYVD9g3KYEE+luM805p4Z1OY7XXb1PJ+UcS3Ov19rUzsONfyacd3WWrNe5NO5V5XxrlGvkU2q4uRYq06twJY5ZWTSyVRqtByy3oK1qkOv1mzqWnqtSjZRsIhNlSzVDkt1mx1r4k1HIMWxrUlAgULgx7s54/LnLIQ6g4koAI+gDDyA14JQ6/QAiARgCIAPpEAEBEAEA9OWH4zaxs+r9fyra6qRxbbdr3b9k2GOiFjuoyCkbi/I8PBs3pwKZ8SPSSSIq5AvZmcmWTQUcIJpul7D4yFxbwnrcc5BW5Lf5nzLmGwoUb9DWByQeHVqmtHZlU9OsV08R4fxWX2XrppR37Fl5aVS30dSWNNkyN1zS3uNcesHVafVVnPRYsTro2xtsFWhvkAw9pttnALAmmfSuKSMu3zCMRgYoHdqBvfX+3dm3HW+sYvbla2s+r1gWTC/wAHRJWry0HXWNacMXJZ9q4QkmbtvHIO2qzIe0IdRYjgE/ITA+N+XOWX/wASUf8AeB15/ZmdDsZT2PBFfpmxfqPErxE45S2G12u4/I2rT4b29dTubrZWdvsvRHci8Ot7t/JsbK5btQq1tbQol5Ir+VWBKFz6/iHcVWqosaDj19lWpVpjbtfl9dhqaVdVSt5w0N/Sqya66VKkl1lScBBs7mEZlSnR+vdvyW5H+5tp0qL1knG63da2r9QbW2Nusm/JK2SMssjNv5aGRQjWyCKsS3aM2pAFwp265liJlQTUcbRyW1nsCzzOpdm6zi4u0WfUkva1jUqVlka8SzQ92gCQEoRjOuiKsmEowIiku08/KRmoVRdVRQyjdFm8tdjLxfhJoh4PsOEWNxyK6Gz3FfkdzklixqV8jPkdHca7e63dB6HpqmgTZ1uy1GrbVqK0Aakl0VJta6yplkX1bOZbI+QV+QjW16XVapUE0FqszrhoNqPpWKZQ2228a7Ne1aFrTvTa7nmarCyFchzx+XOWP/xIR/0fogdd9f5MzX7LQ+S27GbHXto0jE6nq0lYazJ2O5Ptq1i6Ksout2CNsZ20ZB19k3eLybxeKQbtjLGBmAKHI4O3KfzpDpdjMvZ8Bl7Gu7X7rxT8S91qLqjq7TUW0eF9SrtNe8fLt6+1Z0vhlqtsmtdRLK9hmu2VG5Cms8i0hkiwbofEm6khbU45xunaVMHXtqnkbW1nDMEqwpdvkdmqbUnAsCLFd6u4Y71GPUZj3bVJU2TrDYOv0XpI1a6U+wVpF+omKqbNaYjHLFJwomX7o6aSixTqAXrN5AD5ICPUA0jiFOW1eioyAW4vRc6eEYM4kZqM3nSYyPlQjm6bQr9mwko479mg6IiVYiDwwuEwP5KoFMAlDo9jNhzLwzr8u29Te1+V8q4jta+u/JL7XGo4s+NhrxtHcr17lblnF+U1BmpZdZYh9JFOxMWnLe5yvKBVHoeW2tDUfRjW6vaVXWItCrZRsh8ixKxSxiWazZa1v86sFiwHMcv+aAgAC7pLngab5bGASo8TWiCpgEEl19+a/XQRUHr8hVZFKOTVWSTN1GUSSORRQoCUhymEBCz/ABw1lL6f01T6FPvGb6cjPl2TmFY4VDMEpS0WSYtL9kyVVKRVdrHOZlVg3cqJpHcpNiuDJJCp2ZZwxnRxHwsrcW38clt8w5fy/ap1F/SUGcljiNdOtobW5qb2zGrX4lxLiymtvWNHqSa7YDeNI0xCpNYXWYd2bzmNvd68dZ+S9Tq6k3E3nDrY2hHYsVk2kViazabTZkIoXdtQIV5QJy6SbDJBXZzqea85B6jvW1BoGponcFQ2Tsad2gwlUdjwFEk4J/aUWJZaClWFhaOAdlaOGBAYOY8x0lGogsuqC652bPz/AC5yy/8AiQj/ALwOvP7MzodjM3HgUmqdhek8TfEbj2rZcvXKuk1yfDS5Q1vp9x191anY5B4cbvcnWCxYbKRv7W61SyhUOlYAI2oeI12VpG1x/jt56kIQdyx/KFT7EV0ggGOCjyCnUhsrWPfKKqRIok5DuIpmmugtcbUNtO3bq2pVovXjyTo0PrmAo7GyMbe9TjY6ceWJ3NS05FpIxgqLvXgt2bdoUT9gB/OU0DIJqPMhyL1zsuRuutNtavrsZeJiiRtvrklR5CfaVVeVibgEQod/GT0gktHNnkc5hUPLRekAizddUU/LVKUmW6xmkDwl0Y8GfwedxyIwsbgORu5KVjUxyQuRq3qORp3X5mmDjw2E7OtXNdIePxpprpGqesNBGB1Bcy2RchDkPouvhy6s0A18Ktfk6KBUT1x0+k25vys6rGCTpvzb7zlsWYZAlHPH5c5Zen/ykI//AI/8wOu/7M/qz1kqJyJ21bdaMbxp2K1HUaTsmp7Llp5zsyu3h9JK0l6aUjoOLi680bqIrSLzs0HLp6YG6DUyqxT9skmg46L4zNl4FLtEpW58UPEne6yLFV9vTX0+GVOlsl1bCbMVLljQ+G2m3C6zjSAv/J+0o2DXJgNgIOcuC8RrkAyK3HuOUnmpq120fyia+uTVkuWpC7yG3UloCUyHn1nLEuhSuZiMhXkVq59ufSt+1pFyDaLlLLFtSxjx6CgsiSURLx09HovTJEVWSZu3kWizdOEUV1WzddRwk3cHSKipVkkzy4SIRJzxRYPXCZQI4eM980JozdrFAAUctWrpgs5bNljgZRFBwsqukmYqaqhzlMYeiGM0vL/Cypynfxyapy3lvENwzT0NFffxqOJ2F7TW6q7tdhqk3K3LeKcprrPX2t5uDS/XrouaOwau2dkFVRRUaLmNvR0C1v5M1W0p+luvJXso2YlWs2U1a9k0s1ez1jCh6qVQTB5OAZQJKhZEyT52LyvLh0gq1bcVY+OcOEzoISD7e9EesmSqpRIm6ds2jBF26bIGEFFm7ZVNdYhRIkcpxActtoTWzrUGndf62fyCEo/qkAkwfvmpTkarPlnDh89Br2pSKnaouXaqDZVVNFVZFMiyiKJzmSJLuM5cP8L63FN4zkVvlvLOX7aNVa0tKxyWOKIDWa6/b197Ypp1uJcV4tXYd+zqdWyw++q84IoqCqyutlgX/N7zC3vKK9d+TNVq6g2l3Wr1sbMis2EpeiubmbTZ7NkQhVqyKwQSQKXmTRYQrkOb7Wicj9PzF1r1O0zFbaqk1e7bd4OzNNoVukOkUbjMOJ1xEycRYGa64vI527Wbg4bGFqqgVIxTnOJvJyXy5yy/+JCI/wCjkDrv+zM6HYzLr8CQpjNbT+KPiVpNWtjZo6ekjwwt09ZXNpMXRqWd54abfbtrV4LykTsNnetQqBFllkx3ZcR4j3CEZtcd45dsdgC62/8AlEp1kxGBlzQp8iqVRYzp3HCKyFyUzIrGJ6ZUzjbrfY0FZts7T2fBxlOsG0VKSwa0iNm21mNAQ9CjZaPZLSM8xTRj3khJnmXCiqbEhkEUW6BxOVVdRuhbPGM9R4fxWjwvj9Xj2us37ya9na3339oys3Y7DZbzbXt5t9hcKlVo0hfe2uyuWjVSpU6SPO8mpVr11qSGO3W3s7zZP2dpaEtcFVIpqiwK6K9KoijUQmGtc6QRVrJUJOc5x9ne1rGERyxjGafKvGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjPC5ct2bdd27XRatWqKrly5cKkRbt26BDKrLrrKGKmkiimUyiqqhikTIUxzGAoCOUFedJ3w8bO3bVrdrvPItXK7UsvVdLbjtNefGbqmRUWibDAUaQhpZp2hDAm8jnrlsr1CKapgyw/KgxicYOR5yGMQ5NDbfMQ5REpimLr2xCUxTAICUxRABAQEBAQAQHrznPxoAG/HLQKaAAgQ2ldWLCRL9TIKrijQS66olJ1AKiyyiiypxDylFTnUOImMIjn9tsrdWyivV9HHvQx7DepjuvawAEBEHo7f0lMlJH16xECPTrPqnBOIaHd6jY7bdxtXej7Ktrq1bW3quvgfMqtste51nW7OWzPaALUCkwPQyJh9wiNiP00HiJ+yNg2sUP3RNx43yUAD90TGHXQFAofuiIgAB6R9GXN1ns6ibipcNsLW1kj7XUJ9JRSOl48ygEMdBU7d00dNlyJO2EgycpqNn0e+QbvGbhM6ThFM4dWUXFVUQEBUUEB9AgJzdQh/7D6c/PRiEIlq3kI3SKVNBtzP5HN26JAAiSCCdjjgTRRTL1ESSTD0ETIBSFD70Azp1u1vPvLrWpqmtqXGJJQ1JgavLmOsnZfBCUEXWIgZiek90x6ssOXcJ41ruN29zpg3VazRva5DF7HZ09iiwm96SBdsV9Pq2Iao0gQnJuExkxlYz2lE6bk5u8cdE24aFf7jMGuCTBtJvq/TqJethSEOye9YsVZxKjV2f+RRfEKZRmlJi1VcpFFVEhk+owxR+mg8RP3/2v/u776/7dZWup+jlxz1WD0LF2zqtuCv8A6oIBoykqggCn34Igqc6gJgPkAc5jgXyjCIzz2yv+dU/1zf15FPdbMmv8oqS1rs2UgB1nNOBr2GIiSZFxUFJeXJT0WMR3dIie3rN5X8PeGJpaybqeRWrdnUabY2HV93r6SJbtdVT2ZAmszj101rT6X5I99ppH5ffMj39o2Y0Xyv0XyNdT0bqu2u5KarKLV3NVyw1e00iysmD05kmsmNeuUPBzC0WusQyBJJBmoyFcOx7ftBAo7XurfeqePVXbW/bNqSrcTISaMLEIIx8pOTk7LrkUVTjICuwTOSnZt6CCSrhRvGR7pRJBM6yoEIHWPOzTAAXpI4I5QApnHCjYB3BgDqMudHeGuU0TLCHpVMkmYxEjHEwpkMYpBAoiGbFzwKVXlR0fSShQUS+VuUDjszgBk/OGmooxZqv5BusvbNlQBVBTq8tFQPLTMU3pyYO3tfkh9whRNpNtVSJgDFBE6zWQLZVLZPoA2IIlw78+QmIMYL83PN4HpP5e6vQKdsw01/R298YHYrM2K10NPtdk6kN0aSq5E9mqJS7U6+ISFiJKu4lTLJJ/TQeIn7/7X/3d99f9us2ildItxPvdrgaZGXizQ0zZpFCHg1Lvq3Z9Ahn8u7HyGUWnYLnUYOEJIPlepBk0VfprO1zFRQKc5gKMedsr/nVP9c39eVK5vfd8d59U/wB2q1vWll2ypvulG6w7ooCArIHHrMkqKKyqQqJiUwpqqE6/JOYBrmbvapWbSKiwVATCCKjwkxAe4hg/TTgJKBmIKQOBmYmRKI6TranhvwfY2q1BKOTVXXnpqJss32tsrrtssFK3MrxxqsTwUZwZpGwgmCMhDVyXcPcmWloyCi5Gbmn7WLiIhk6kpSSfLptmTBgyRO4dvHThUxU0W7dBM6qypzAUhCGMI9QZQlTpQeHoKKFa27Yco3KociMlC6K3ZMxD0hTCUHMbLRlBdR8iyV6vLbvGThdsumJVEVDkMAjKnPIxicKuVZiGMQ5dBbSEpiiJTFEKhK9QlEPSAh+4IZV3XYA319Q0W4AginSqoCaSP6kkQPkGPHqImTySFDrER6igAdYiP7I5abXZXKtpdar6OMTXh5m9LHTPc0ggRgHo7ekAUzMyXXujpA9vrxPB+Icf3GltbfdjtnlG0PXV0a2/U1wrFFSvZa5zLOr2kuJk2gAAAUQuFlJEzzIhclj0ofEEv3Slk2iimHWJ1nHHze6CCRA++UWWV14RNFIgdZlFVDFTTIAnOYpQEQvDSrrVdi1SBvFInY+y1OzxyErBTsWuVwxkWDgBFNZFQOoQEDAZNVI5SKoLEURWIRVM5C0GTMZU5ElTGUTUOVNRNQRORQhxApyHIbrKYhiiJTFMAgYBEBAQHMp0V3ch1gXrHqJbt6pEDr9BE0t+7NTTTKH/ANpE0ylIQodRSEKUpQAAAM46vZ3bF30W1NYxKq6wJoSxJCSG1VSJQdh8HBxZkvV2SMh0/OgvVI5pwzjmq43O70o7iu5G61urcjY7GpsVOXsqO5tw1ZV9TqyQaD1PZ0LzxaNiZ6Llcd8kbU56cYtO3WU15brtNvbfBFbfL8TSNe7B2INfXdolcN2M66o1Zn2cTJKNzkcBHPnCD0qKhFDIFKYByO/00HiJ+/8Atf8A3d99f9usqLx19F65ruA9DhTnPvpuouHoWOg1JUvNkTqffmSb9sr2CZjCRLtVOzAvlm67P9sr/nVP9c39eV8bvaMkzWVJa5YyAAqrmEIAwgGCOLq4IpgepTADHWZ6DERGaj/ZzwqoFdFpPJLdmKdJtiwjea6mlrrFRFhpKqnxy2aFwbSFaztPKBEe5pTMzlptGcntK8jm06rqe2KzDysLNUbDBTMBYahaIcr4h1GLl/WLZFw063Yvipq+ZvzsAaOTJKFSWMYohnu7x5Haf46Q8TM7ZtR4JOwPjxsBFxsLOWixzrxFLt3KcPWaxHS89IlZodSzxVpHqpNEhKdc6ZTAI0D43lKTpF9jiQAILnhvTXDjyQAvnDgm5rI3Iut1dXarFQTTQKofyjlSIRMDAQoAGX5hFA/NziSBwA4Jad5JOEgMAGBNcjvVpCLkAQHyFiEUUIVQvUcpTnKAgBhAZ8be1+RzuyKJtBbGp17GQiZO4utDfK83v6QDO6V+d6yjp3xE+rMFwPSf7QEceF2zjSu0Td9ITZrTshBPH7G4KlF2KMVpI3V5SNr8nfmqOJmuRjMlJv6aDxE/f/a/+7vvr/t1m+az5/cXtsXWF17V7rYWFrsiqrWvMLtrbY+vUJx8kkdcYyJkrvVoGNfyh0U1FEY1s7UerlTP2KBxDqyKO2V/zqn+ub+vK0ckPupPioub7pZHm9xcTSVN6VEk3OwE03BEzj90Qi6YARYpRAFCABTgIB1ZAnd7RfaZlRYEGuDAar1kQkYiUCc3WQBdJmYKQOImfWMxGagfDrhNyGV6yOSVLLEWPR7Dt7rraUvBDGKNtYeOVDeqGDHmLCygyDrAtApiY7OWq1Vyj1ucuFvmo6uVetxruYnZyWcps46LjWSRlnLt25VMUiaaaZR/dExzCVNMp1DlKNFf00Ph+YPKQs+zXaJvSk6ZaA3m8ZuUx9JF2rttr5Vs6bql6jouEFVEVkxKomcxDFMP56VgxicAuQokMYojHUEoiURKIlPteiEOURAQHyTkMYhg/YMUwlEBARDMN1ebiLdD9QQQEUUUUf1JJFJMfITSSTJ1ETTTIUCkIQAKUoAUoAABlhtNpdr3fRavowCFVNgzeljiKXusrgRgLCICBitMzM98lJ+rt7fXleFcM47tuO/lvdjt7DX7rY6pCNbsKmuWleso6a2bmlY1W0J5vLcQAiMIFUV5mZZLf5vOB0ofD8vUZxadlsUAHrWeSOgt5R7BqmH37h6+ea/RaM2qRes67lysmggmUyipyEKJgvdXLHBW+Bh7TV5ZhPV2wRzSWhZmLcpvI+TjXyJXDR40comMmqiskcpymKPo6xKYAMAgHOt6AOWbtu4Dt0F2y6SyC36qkskokYiiaqZ/KIomcoiU5DAJTFEQEBAc3zowzHPwK40mOYxzfmGdB5RhEw9RbRPlKHWIiPUUoAUodfoKAB6Orqz7q9nds3Jq2vRzEqzXgaEsTIyltdciUG98FB+kd0THb2yEx+d3R04c24bx7U8fDc6QdvXYrcUtZYRsthU2IOC/S2ltbVHX1WrJBILVmBCUPhovGYlUqmGZ3YfSEcWNZ3Kdoc/drHJ2Ssu/k+wIUjWWytgsIiTKQDqxT+YpVUnYlvKNimL51Hneg7bGMBV0iG9GaX+mg8RP3/2v/u776/7dZULil9xWNwLF+5VX5S8lhXVL9yosKW2rEkkKpw6jKCmkUqSfliPkJlKQvUUAALRdsr/nVP8AXN/XlaO72jYhgFRADmSACqvMhGZ/NEji6EEURHSSgBiZmZgY9UZr2+HPCKRzUsI5LasIEFvsq3utqqc6AHzWLrFxu0SFkclIKKy8gHtEmnPUst3pHkLqTkTX5KyamtQWFlCyQw86xeRUxXbBAyQpFcJs5yt2NhFz0Qq4bmK4ag/j24OkB7VAVCAYQmnOV3CMpU+YfO8iZQIQ1X4juTEIAFKZw4qe0RXXMUOoBWWEhBVUEBOoJSicR6g6uqOaPVW23qK7DhAWy2yo/LghCZrWXV+8RIjIYOFQfbJn2zMx3F0655FzfR0+Ockt6rXnYZTCnpr1f0ti22Vht9Jrtv5DmpTXW4q83pR5oITDYXDPKXJSMMYxljmTxjGMYxjGMYxjGMYxjGMYxjODW8OlhjOIPMPnpr7d94bWeBplS4MQnD/j0yJSa/bbxuDesLur81kLCWFWPjpY8PNzFdpji2W29Tb6n62i25HwLw6ckZpK3Eqm5NucQdCwt3547Ok9z783fs8kfT9N6N1vBPGNeuF0bvJOt8bdAQ1ar8Pb79E0qAh5J3LbD2nPzU3KEibNc5ibrdYTaQkOxnSHGc7WfSYaJTgJqRt9X23rSzUbcWmtMbc1xsKkmr951DL7+fpxmqrjcWAyDmOcaztr5UqEZfKzJz0GsqhJIAuDmHlkGW0bn6QrRGkL7tDXFia3uw2jVMXogs2xpVYPYlJXYHJW0WasaZ09XiIu0TyGy7YaqvZ4YZUGrOJrT6FmZWRaN5dj2zGXqxlauOnJ6scig2DFs6FtnVV61TOxFe2FrncVHfU2zwLuwwTay158yclVka1aYObhnRHLKbqk9NMCLou494q0kWi7UllcYyBOVfde5I+wTcPh5Ys51cbu7roD2I6n+Aa/nRXlX3XuSPsE3D4eWLOdXG7u66A9iOp/gGv5kd77SrfQW/aAz3jw19z9r9ZK3/L2W3/Uf98mjPJ0ZH1Z8ivfU5I/EkdnjzydGR9WfIr31OSPxJHZ0av2tU/YXP8ACnLTmfuJvfiWg/i3sgap97Pnt7X9WeBFGydcgqp97Pnt7X9WeBFGydcgj/TtfT9j9vs5o2/J9P8AVjiP4W02Rppr9shrnuTbF8c9b5sfO3vWdH1/KHKjwejc1zTX7ZDXPcm2L4563zY+dves6Pr+UOVHg9G5Lj2Bd+MUvt+sykP50uO/u/3/AOj6q8u/1P8AxzaMqdzc7udm9ddK+NuvMtjlTubndzs3rrpXxt15lfb+SWvo7v4ZZq+P+3tJ8X1v21OdJeenco5W+wHafwfK5V+g/QKi+pdU/IEdloOenco5W+wHafwfK5V+g/QKi+pdU/IEdlzu/agfQF/aH5514de5rvrNd+6tVm4ofPo/hU/tlzLdFd3ItZeuO+fH/Z+YlD59H8Kn9suZboru5FrL1x3z4/7Pzhp/bC/ht77VrMlc+9wbn1u4z9z8xypPHb6ac1Pft5A/Yp2WbysnHb6ac1Pft5A/Yp2WbyrR+r/8jv4zM2mz+Uh9B1f6PhlT/U/8cjvjj+2L7A9zGn+NlnzL8wO+7xM9jHJT+naqzEccf2xfYHuY0/xss+ZfmB33eJnsY5Kf07VWTo93nfGE/elfM0Xzr0fqBb/BOyzbcrZyP/x7ix78PFXxDTyyeVs5H/49xY9+Hir4hp5Bsfqp/tL/AIgZpdX8uV/Zf+n9Hydv6ctd0rXcB5CfiGvvFmhZiFvQsr+EU+0OZfpWu4DyE/ENfeLNCzELfPK/hFPtD/7Zabj2wz4bR+1bPMVwD3Bp/W/lH3LwrPWX+YW/BKfYNm89GD3CONHqO8//ALtNgHNGX+YW/BKfYNm89GD3CONHqO8+KbB/f/j6c+6f2sHw67/y+U67/Uf984eIPuK762cf+5+V5S3ip9E9t+9Jya8XrJlnsrDxU+ie2/ek5NeL1kyz2VNb5Or+xGbrce07v7af7hzV+EvfG53eqPEL4S2nnVDOV/CXvjc7vVHiF8JbTzqhms497LD6Xs/vK3nhXir76WfgXDPwZoMYxjLvPOsYxjGMYxjGMYxjGMYxjGM5Il6Omr7T5v8ASM7f5DanoVw1Ryl44cadAUOwPhiJS5DV63A7TaburrYx26svTmT+WlNdyKa6CyRZqRgYmRAFFa81MjTbZnR4cxdy8dNFap3/AFSg8kLP0fHKZSzacd3TZz+ps+bPGc2urlraHJe5yuKGnNUb4r1Ou6bZ1LyoO67OXWmt5pZwELa5BKM+jfGMZ89UTw21PqDil0g1j5Gab4xdHVrbfOv6rTICTT3DO3K915OhQ1jeUe17p3Jb7i9oUjOxe0rMaU1bTNdRbVaETBZm4nrZOT7ZCIyOjeLO79u9GXOXLa+i9F8heQ/N7Yld5Q8jdL76GbiqzZ6lJt6rXqLratWxAW0pQr5rfQdJ1pC0SyS7Vyxr13hpF+5aMzySz1v3mslWrFyilIK31yCtUIq4ZvFYexxEfORajuOdJPo90ePk27podwxeoIPGa5kRVaukUnCBiKpkOGdKUpClIQoFKUAKUpQApSlKHUBSgHUAAAAAAAAAAAdQYxnJvox+LW8+N8tyAc2+Ou+ouPt1W1kloLilsDkrbuWExpN9WIyyo7LnovZ1xk7E7rtY2G8la0ERrKJttoh68rVX00i8jlrGrEtOsuMYxkCcq+69yR9gm4fDyxZzq43d3XQHsR1P8A1/OivKvuvckfYJuHw8sWc6uN3d10B7EdT/AADX8yO99pVvoLftAZ7x4a+6G1+slb7rZk0Z5OjI+rPkV76nJH4kjs8eeToyPqz5Fe+pyR+JI7OjV+1qn7C5/hTlpzP3E3vxLQfxb2QNU+9nz29r+rPAijZOuQVU+9nz29r+rPAijZOuQR/p2vp+x+32c0bfk+n+rHEfwtpsjTTX7ZDXPcm2L4563zY+dves6Pr+UOVHg9G5rmmv2yGue5NsXxz1vmx87e9Z0fX8ocqPB6NyXHsC78Ypfb9ZlIfzpcc/d/vvwry7Noyp3Nzu52b110r4268y2OVO5ud3OzeuulfG3XmV9v5Ja+ju/hlmr4/7e0nxfW/bU50l56dyjlb7Adp/B8rlX6D9AqL6l1T8gR2Wg56dyjlb7Adp/B8rlX6D9AqL6l1T8gR2XO79qB9AX9ofnnXh17mu+s137q1Wbih8+j+FT+2XMt0V3ci1l64758f9n5iUPn0fwqf2y5luiu7kWsvXHfPj/s/OGn9sL+G3vtWsyVz73BufW7jP3PzHKk8dvppzU9+3kD9inZZvKycdvppzU9+3kD9inZZvKtH6v/yO/jMzabP5UH0HV/dlTI744/ti+wPcxp/jZZ8y/MDvu8TPYxyU/p2qsxHHH9sX2B7mNP8AGyz5l+YHfd4mexjkp/TtVZOj3ed8YT96V8zRfOvR+oFv8E7LNtytnI//AB7iz78PFbxDTyyeVs5H/wCPcWffh4reIaeQbH6qf7S/4gZpdX8uT/Zf9nblrula7gPIT8Q194s0LMQt86r+EP8AaHMv0rXcB5CfiGvvFmhZiFvnVfwh/tDlpuPbDPhtH7Vs8xXAPcGn9b+UfcvCs9Zf5hb8Ep9g2bz0YHcI40eo734qsOaMv8wt+CU+wbN56MHuEcaPUd58VWDPun9rB8Ou/adbnDxB9xXfWzj/ANz8rylvFT6J7b96Tk14vWTLPZWHip9E9t+9Jya8XrJlnsqa3ydX9iM3W49p3f20/wBw5q/CXvjc7vVHiF8JbSzqhnK/hL3xud3qjxC+EtpZ1QzWce9lh9L2f3lbzwrxV99LPwLhn4M0GMYxl3nnWMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGQJyr7r3JH2Cbh8PLFnOrjd3ddAexHU/wDX860XeoxOwKXb6HPg4NBXarz9RmgaKgg6GJskU7hpIGy4kOCLgWb1YEVRIcE1PJOJDdXUPKiA4Y82Nb16Ko1G3px9mKTS4trXqi5uOrLwrb1KzCtyMoNpLjA3SPiFpBpGN2zIDtUSFVBEgqqqqioufMbupbZbr2EVmWFxWYkoVK+4DloGPcLGL/ADSjr0kZLpIzBdOsdfZ/Dnd6KroNrq9nuKeptFt6uwTN8LnlWK8UnVmQptSrbiGKZ2d62wuSFgkuTgWdkr55OjI+rPkV76nJH4kjsq5oLX/P3fWpKntVC88caGnayTIhV7LrO+upuJGIsErAGFw5iNivYtx518l/KDY7dZUhUXKSKwAsmsQOmnFXj4Xjdq5amO7Mtc7TZbjatk3+0nZJxjaavV3flkZ93GRSRjkjYsqhEG7Nr2hzCRAXBgSMuKCXRqql2Nil7ajq6kpsQRulMdxN8qAEYW1hTP5pTPWIGIj1z1mImy5tvuPFxK/rqO+1+1u39jqjUigF+ZWqn6Wx7nnapVVgEeYoAiDJhmf5odomQ89an3s+e3tf1Z4EUbJ1zw7b4c7z/Pn2NtrjvtTW9aQ3AtXpe/Vja1OsFlbI2aswDOrs5auPqzOwjlBF5CRzBB2ye9skms3FZHrMscS15hdTdItLbYu2s1p/Q8RE1Gt1WfYbNkdQ7KJRrg6sR5Ej2v114TYRnCstWgZIHmE1kyEAr9AUh+5HyoR0tgptkfQLLIK3caLFSiQIH2nOXMSTxL+gwesSMTBdY/qzRV+RcVu0dQ2eUaima9Fx+k6rcHaLsos63Sa/XWVsFWtcrpFiq3sMGmBr7TEuheqQdNftkNc9ybYvjnrfNj5296zo+v5Q5UeD0bkqcaOKGz9f7emt8722LT7rsFTXquqqtGa5rMpWKlAVB/YY60zKq6c5KS8rIy8nMREabtFXJUGaDZUqIG85EqO7cteMli3ypqu666u0dQtt6UnrFL0eXsMMtYam+Y3OELXbbBWOJaumT47WTjE24IvmDtN40Mgomh5B3QOms8dfcLR2UzXIbDbybYVyJXmStFuo2RmYZK4Ya65kAyzp1IRKRmZiMy7lPHg8StPfjapbqqfGr+iftVpuFTG5sNDvKC2QJVhtlVTa2ldb2jVmREHMWDQASOHcqdzc7udm9ddK+NuvM2TZ2p+kV14prwkbPaH2GF52VW6DJKUvUOy3hKHFTycgo72Dau22CQyNTr4skU5RVAplwM+b+R1D6DSK54NcoNpuYSr793NplfVCNlrVktMNqvX9thrVYyVOcYWWMhCS1ns8wyjWLmYi2Crt23a+eJkRDs+1T7RutVto7F6mJHXWhJyzUJHNYQGTGRgjmLEzADJdSmImekT0iZ9WbShyTiOtvU9i3lulcrX2q91iawbZlhwVWg8lVwLVgBuZAdihJgBLCiDMB7ii3nPTuUcrfYDtP4Plcq/QfoFRfUuqfkCOzoltrXELuHV+wdVWNZ03gdi06w0yXcMTFK8bx9ii3MW5XbCcBL2ySTkyiYG9AmKACIAPWHLh7xa566+p7xCvbg493CNpdcckgmjzVF+VudiZV+NOEWwUSjLuxiVJ6RQaIMyFaooNDvFC+SAFETDcbqrbO6uwis2wuasJnyZV3AYuYf5wsYuehCyOkj3R1guvT1dfP/DzdaKvx23rNluaWptL3Tb4RfC75b69ijUrxKWVKluJNTKh+aDIXMCxZB3xJ9kzIfPo/hU/tlzLdFd3ItZeuO+fH/Z+Vu1ro/pEdja9qF0k73x+1lI2yvR8w9p9o1JsVvc6Y6kGxVF4qVbmvblgSailDmTOUxFmwrplE6ZkxEmdKeNOjYvjfpOkaciZh1YEqqhMOH868RTarTM/ZrBK2yyyZWiRjpsm72wTkk4aMSKKlZtVEW3aq9l2huGnqXB2MWHVXV1LpWUyTpVEkxz6TAgIWxkzEDXZJTPSIntj1zPqk8+3mgdxItVr95Q2t21yHUbCF0AvSKauv1vIK7zey3TqgBE3aVRUAyZn0bMwMLnryx47fTTmp79vIH7FOyzea1cOE/IKrbM2pa+OW3NWwlO3BfJXalhqu2qRZLE8hL5Y0GiNncwMvV7BCHVipdVg2dlayKahmPkkatwAqKjl3C1R1R0i1n2NtWhO57RFXjtbLU5KIvs9qHZSNR2WW0wSkxILUl0lsE6rlOqOiFhZsXBSmB+oXsylKBihWxR2KZNc6+yzta7oa5ryBiTTISGZeJdCEonpIwUdekxExObA+ScT2A1rY8q09bzaOvgq9sNquyhqqNdLkvBesauDU1ZhMraxRdvcthhIlMlccf2xfYHuY0/xss+ZfmB33eJnsY5Kf07VWTVxc4q37Vuxrvu/dWwK3edqW2owuuWKFDrz+s0qt0aElndgIyaNJeQlZd9IyE29WeuXT12Pm/UZFAVEViJtcpyu4wXTctl1ltLUt6gaNtfVja2QkStcoF5ZKbN1e8JxQWGKmI6MfRsoiuC8HFu2T1g8TVIdA6J+pNUw5Y/k+5+QmJ9HL0grwW4r9yvM8sb6nyPXzPL8yVLkoHzP0zAzMF6syRco49HibW2MbVE6pXGXaI9rCbnofpjuL29aLIGa0XJqjcsAo3ei9YiDaIEqIMouytnI/wDx7ix78PFXxDTz2LtqXpFahcNW1ZnYNDXBnsawTEHK2utai2U4gNbNoyAdzLecuqyuwSKtouVdtk4NkdsRQ/yg6SE/3ACU0wVrhVyOt2wNYzPIXb2pJWiav2HWdrMa1qii2iAlp65Ul2MlUiSstZ7HNEbREfK9m+cpMUCLvCpGaHECL9qjWlS2Lu1ca+0Hea472TXEAjzBmSOYeUwIx1megyXSJgRmfVmtVyPidCTuHyvT2IrosnFeqG2ZZeXo7RBKAPVqAmtMhAJNi1iRdzGAEEUSN0rXcB5CfiGvvFmhZiFvnlfwin2h/wBOW55GaRguR+kth6Tski9iIq+wyTAZePKRV3FSMdJMZyEkyIKGIm7Iwm4uPduGR1ESvm6KrQV0AW7YnNe86B6QyhUS2WiO2Vx82M8p9WmpphXonUuwlrteHMHFOHrWJYtm14ZRiljsKzZNoim3RbMxfug7JAiXkpZZ7ipcPY+kJqtsKZSrI6plPUWJfcYUGLGrmIkbC5Eo6xPQomY6evG8B3mgTxSNTsN3R1N2ryHb7GQvhdgH1dlrePVkkhlWnaEiW3U2YcBysgg0kMHBz2zMv8wt+CU+wbN56MHuEcaPUd58U2D+/wDV+xlZanx26Qa90itzkntPj1QVbhV4eUkYZ3qbYSF0pis7FN3byLcN313eRidjr6jpVmqR03csflBqbtElEeso9MNB6dgeP2m9eaZrT15JQ2vq62gmslIAQryRVKos7fv1k0xMRAXsg6dOSNiHUK1TVI3BVUEu0P8AdPUtjfmw6q2updR6erpV3GxzqrBgIWxkzAig++Z6REyMR1nr04+IG80L+LhqtduqO2uWd9rtjI0AvSCK1DXbqs0nst06gibG7NEJAPMIoB0nAQA9/Jfip9E9t+9Jya8XrJlns0mU4SclqHa75+h93Dp9hrm6Xq0bFb1/a1CtU5PwE9dpNacsrJrL1iywzd5FLTLl07aGeNjOkSr9h1gmmUBinXmpukVvUzsyJkJ/Q1FR17eXNPi5a2ah2U2jthxyEZHSBLlTlENhKGc1xwu9Xjk1FwIt50wcdZfJEoBVBR2KRhU6+ycr6hJrmuQF2zMdwTLxmRL9MdRGek+uInrEbezyPiWwcV1fLNMgbcA+EWg2y7CJMAIkvANWwBaopkDgGMXJDMrYYdCmZOEvfG53eqPEL4S2nnVDKY8TOMds0fKbX2JtC8Q1721uZ3Ty2p9VYNzXKfFQWvo6UjKlCQEW/eSEiYGqM3KrPH792o5cncoomAQagstc7NVpa7q2uUp4SpsuuOlcyMkA2Lj3rEpGSHuhbB7ogiiC6x1npniHiJtNft+V3Lmssjcpjr+P0QtLBq1vbquO6rV2mKF61NlM2qbvKNi1kxcCfbEFEYxjGWuYnGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjK9cVPlgdBa/+Xy1ssv2Vi88LUSUlOugP5rp/sfk4muSlphS+b9iLn5FKBRe+cC+/wAJi9HLC5Wfh38jfocNbfme+VfkfsbP5n8t+Z/KnV+bWydv518n/rTr857bsux/9DsvL/VPLyzGMYyOIdWZNs+6JOL5CykInXamaN142LGBO1N4dWZ+UJ2TOgUJYzKzFK2TjwfnM2KaJc+ZAURX65HyJYFOKDcmwlUKFNxUuep0Yr/YjkJL5BtrUq1gFlAxgrf4KF7WBM4UkQZfrkCyzbzz0ChjGS1jGMYyNNkqzSRtffI2wYOgApsuspS5ZskUcbvCnSk/PdfQ/wAqFMJZywmBBRieN8mVKWPX80MACqAyXkQbdTiVD6t+VdfTl/FPcFOUjDQgSYhR5YqEx5psGY+TPQEHXiiqk/GR/wAGAaQQ86+67LJfxjGYubFcsLLmayKEO5LFyAt5Z0CItotcGiwoyLkHACgKDJTyXKwLgKIppGBQBJ5WZTMNYwRGvTwOI5xMNxhZQF4hr2oupREWK4KxzbsP1fzh8TymyPY/qvaKl7P7vqxjMLrpSSVodPUmLXGXuVPXIg0jdIYrEkTaXhmSIuJ6NLGFLHFZSanlO24MilagkqXsQAnkhm55H2qCME9ZUIkXU5OhxpKnBlY0uaB6EvVWoR6AIQMkEl/hAHsYn5LRwD39cgqkbtvu+vJBxjGRnVVZo+xNqJP9gwdkh0laV8hURgSKLM63KpXjGkk587QoSZzW151TsX8rmMJWZRBh5LbrDJMyH6WnEl2vupRnr2drcoqtrz5ZvcgEoELsgSVU5Y9Svi7/AMGiWoteuClPkn0A9MAPv1zjGTBjGMYyOrerMEtusiR98hatHqz0yWbrEiSLNI7CalrcidtCwZnpDPSO4l6CM+6GKMRwLJguC4i17UBkXImvicUe9adM+oc1aXqdmsJoizxoSQx2vHI1GWK4mp0Wf6zBpLNRVgGvyp+txev0QQ/XPZZLOMYzVryd8nSrgeLsbCnyZKtYDx1tlStDRdWfFiXYtLHJFfgZgZhCOATk3hXpTNBbtVAcgKPlhm05pmyCsz68vpJGuP7jHnpdpK+qMUDsZS0szQb4HNcjQYfr4X84iJ4xmDL9di4dJ+b/AKt5GMZkaeZ4epVY8jPMrTIHrkIZ9Z44GpY+xvDRjUXM8wKyArIrKXXE8g1BoUGoIOEwbgCXkBmxZqdCK1JRqWRjAvaqyLU64VnWJIHISNcalh2YN4F+D39eA9h0QJHugd/rkF26nb/qvl5tmMYyOKErMqSmxglb7C3RBK8uk4aNiSRZXFDiwiIgydOmhjilWPKtnBnEooaTE0h5tKNgObsQRDJHyJdZJxSc1tk0bQZulLKbJenlZKXCTBvfZH5CginuMJ8ofqQxLlAEItMY39YecxbnyP1btsYyWsYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMZHu3LRI0jVGzrpDggaWqGvLpaIsrlPtWxpGArclLMgcJdZe0QFy0SBVPrDy0/KL1h19ecuNZ6jl9ja7oexLhvvkw4tF8p1auk2pBbvt9Wh05G0QzKcXbxcBCOG0VFsmZ33mrZsyboolSRKYqZBMJQ0mk49+Vq9i226FJCHrrxPkHYYxrAJk9AE1iIAA9SIj6yRDAhP50jS7PcRr3JrjWKw1qjdMeaKgBYGIdZKROSIiL1DA9IiJmSie2J6CcVAmA0Fr8J81bPLdlYvPDVFSkrV0R/NdP9j8nKa5MemGKDfsQc/IphKDwHBX3VJg9ALC5ybieLFar8c2h6/t7kzAxLIqpWMVC78u8XFsgXXVdLA0jWDhuyblWdLruViookKq4WWWUAyipzGs7whu9wuGq7fGXWwvrZJa03Ps7VMfZZcSKTczA0mZSZxDuccplIDyU82X7Fw8MXtXBUkzrnVXFRZTv2vGI19A76NiFxaXJS5ZVmVmD6RDPLMOrGgYwS5E4kgIeoyMHElI9VDeemWxqMqFXJimsWcOFwz5Uh3iXQFyMzDIkZiCiekxPT1dbj5G8OeTHaF1ItsGIlootcqIsdbtwjflmoOTKzXnlgkRROMoLS0gCCbAHqZGwDEOPNDGHturnfbmdp3jyE5BQlh2ptypVnUNiplPqNe1fsCb16y7GYokLbJOUl1K+og4l5By+llECneqKEbtkEiIFT+78r1EuLNbbyTyaQ29yaQmZFu0ZyMwjv68JSsg0YCsLBo+kk3JXrxqxFw4Fm3cLqItRXWFAiYqqeVOVw1corMs7cENsVatqVBRa8VhcrqtKGW+cruKEuDv6BECfcIyURBFGZyQoa4FUCYCXvRDDsguTKu00mUB5R9oyxZdnUpmR6FMDM9I6x4zmxx2Xtet+ULnTBNi7DvNDs+iZjZpGmzLZI3iYhLLX77XasAxU9MGUk02EhHza53TA6x2xV0G6iKaZgVMpuHMyyXB1euN2mIC5WWjV7bk7sxxc5qlSasDbF4/XlLSsjCIjLA2/X0O3kXq4lfuGB0XZiJIlIsCQKpLVx8YcO7r6cLiTGzVO8FyVsEYqKq2LbiNH5xw1a6rxhUEUGYjEMgT7omDvFzrHbEq7BlLwrFXgwIpexyUKEWeoewzeqZOYiRGZmQ7h7ctVss8oQ2vfkvYsPrwD7NrBJEswWLMN7izJSfneuor5TUIITFjEElWZo7y5QCxy3mqZg7Xqk3OTchxYrUuMeMtt7k1KjEybWaihk9+3iQGLmWIKgxmI0XblYWEqyBdYGkk07F62BZYEF0wVOBtL2jXLRx3rDXb1C3VvqSm6vb6C3WhNgbYs9+qk7FWS71+qykXKwFgXcMjJrM5tVVN0kQjxuqiQzZZE49oW2DhKnmCa+5A7DSFaAZQapZuOYFYG2HtlYmcwMn5ZwPXrMdIyAXJyWMsbriFQRJsILQGQrH1mQhKgg5EYkoHvHu6dImJnOzGYucFUISYFCSRhlwi5AUZhz2Qt4pUGi3ZyTgFxKh2LE/kule2EEvISN2ggTrHIq5HXWb1voHc1/rSiSNgputLlY4VZZMqySMpEwT14yVOkcBIoVJwkmfyDgJTeT1GAQ6wHnvA8fzWerw0rZt78npSSscBHSM4ZDe1zi4t64mY5F0/TTg2LlOMZsVRcqJBHt0CtCID2JUgT+5yn03HY2tVtx14KaQseih/8AjnZYxorBrJkRNUAAAxf50nMkRTED0GZyx2W4ig9dcKxWGGrzi/nRSABJysfzpE5IiIT9UDEDA9Zn1xGdPdcmenoVOPJW+Pv8gauRBnt3iQZBGWxyLJIVrAwCNOePBpKKeU7QBkczYE1S9iYSeSObpnKCP4vQ0WxZxMFunk9BsmLdJlFNI/fl4QjYpFEgJNEWkUk5TYJtGgAQEmRESNgTICIJlT9GW24U7BtezuNWvbbdpQ83ZjuLtX5GZWTTTcypabfrRT2Mi9KiRNIz95HwTVw/UTTIRZ4ouqUhAP5Ic9xxqNZRjYJ2AXEjaTUaM1jrMBllVlySGCY0WBI1Hwc9wyBQHSCg5keOu3Xp1qah1SrslDbAFDhcBAliFsiZgQISgrKpGO0oKO71xIxE2pyMaqeVNsbaxHexoazRiatJ+SKAxLFhLayA1dMZ8nNmaKGkjGuLnqno75WImINCiDHy23WbOajKOtfIXZHIKduG3dzVpjr7e111HUKzrHZE9ruBja7SW0KDd05a11VuMpKyasmo4fPZAyywKlEqJyICRFLKtuLFaZP5SWZbe5NM5WcFiablGm/bw2kpo0Y2FnGGl36DkjuTNGszGaR4vllxZNRFu2FJERJlkPC1iC/SdwCXkpLWKXRa4Fy5QNgIbL1d8iJxBTC4jugoHuHtIoM8mkiPydeRrFjAAzsgsjhZkElIQo+2CkZmIkpnpMdek9YjrJjOcvGCUttI5HX7Ra9+vN7ooacrW04cdj2N7cbHBzj24y1UfsmtklDHlHEW8bsE3ZmjtZVNu48kGpUSgp22V5bS9ssO49G6UjbxcqLULjWNnXO0vKBPOqrZ5RxShqraIjE7HH+TJR8cKlgcOXSbJVI7g6KJFTGSAxBrJ4w6N4Gmi4mROpN+LnlsgfRRonfIpT/T86FLIIV3SMtiIhvZPfk6N2udWWy9HZ1F8VZr94d3nlZCqIwz1D5cmYl39OsLnr2d35uW+uB5Mtu1iVnsCJqjM89NBKVZ+EaL/YzcK1ImQhIYXpyvCuoh0CVhcDFlUcCzj1gWArbtTBI+cnHfFqtv3Ua+f7f5Nvn0K4Wdwz17v68u3kO6ctlGbl1FOnDlReOcuGaqrRddkogqs1VUbqHMicxBxExCWfj9cdIWynbh3dPp2nfOr9X2aubJ2fYtg1yXrWwpo0HJf4OsKzhNjIMSGB3Hv2YpOUnKZAMcUe0SUs/5FrOCGvuBa/sYSlMoMSDCACOAlsWGdnf29sFIFEFMd3QesxBjkpDIy3XkC5MBMwsgwgEige6AlQd3b16zHdEzET06z0ievWarejOy0m4mYWVlS3xarYTMrjJA1GOqbsIh4LayyAPjEYiyglgJKOgeHI1FBqp5wYqPliED809k2rUfGDbewKQ9LGWqFholtDyRkUlzxy9gs8HW1ZBBJciiJnjJrLrumQrJqpEeJIKKJKEKYhqhuuMUbIsHMbPbw5PziT9muwmkXW+rsWMmEnaB28ik5hgdHjgYSCaiya8YKJ2Qt1jtRSMiIlGs0/Go2dGdg6+FNM23U1DFc7LGNrprOfJCLFCsBC4jtmSKTKTjtiA6lO2O6ijaioFUrDIQuwc+aKQAGsctcRMickUlXbJR2xAxA+uZLpHTunC5NUaqZ7YGlseGrkGLu0sAbAxsrkYxqK9gZAyMZmDSZV8uRbA0MZsCLknYGFLyBHY85PBxpZxcYVtAby5Pwxo1gVtCkS31dnEbFFZtwRjk0YVV0EaoxYlSRTSjDIlZC3SK17MqH3IXQ4g7Fsu2eNOnthXF0R9Z7JU015p8mimgD54yfvowz1RJEpEiLuyMSOHPZETSFwoqZNNMglIX5uONxq6QXk3wuJ9KXUbE1zrMW1ynuTMCRtEwIKzoKYMZAhGO2YOJhrtz6dZKqdUq7PIN4T5ouAwUxS2RMwISJCT1dsdswUSXriR6TZHI2oJ5M8rsgJHYMReEiXt2WMjIssYC2vo8IeHElLl/k851jSbZYVpVQZMCP/N5VuBydiCIjzDqUBZ+Qchsq/Xbcm84Vy12/s2lQtf11tOya/rMLXqNa5CtRTZvEV5Zug4crN2BXLx86BR0u4VP5ahigQA2JjxZrcYrIrxm3uTUavMPjykutH7+vLJaWk1EkkFJKTVbOUjyEgdBBBA714ZZyZFBFIyoppJlLazwpS+gWNyC3iI+atdBrQWyRiSAWy9Us7JntkvLGJmJkYmOkzB/lMR9SVryNUzPlmVoAIw6zAlIQo+3uj19vdMxE+v19YzrHjKBcPJy2xW0ORmlZm7W29VfWaWobBT5O9zLiyWpilseDsz6XiXlie9chKsmrmBbqMDPlFV0e3cEBQERTSTv7mV2+tPU320TaD5Wuq4HLEhFiblRF1BdhxBAUpsL8wJ69h9wwRREFN7rro7Cou0CyVBm5ZLKYKQZXcyu2IIfUQwxRdpdI7h6TIjM9IYxjK3JuMYxjGMYxjGMYxjGMYzmvaOk3122tN7h9QccuX/KWoaosctUNrbg45ahgrbqyk2muKCjaq9Hy1sv9Gse3pupLlM0s8Vx+q23JCHk01oV02LNt3EckxnSjGRfpvdOr+QOsqXuLT1xi7vrnYMUSYqljjfOEE5BsJlU3DddhIIM5SMlo1y3dMJiElWTKYhpJm8jpRi0etHCCcmgomYVAKoQRSHyVQAxRFM3kgfyVAAfuB8gxT9RuofJMBv2BAcYz94zxFcIHSBciyRkTferFUIZI3WbyA6lAMJB+6+59A/ffc/s+jIyd7SSbbjrenkqDsyQCx66uGw/z1I6rFd6agRp9kqFbPRLJeCyBQi9j2Q1u+W6nV/kxcZivVe4SQvWownYOWMlLGeMiyShlCJqpqGSN5CpSHKcyR+rr8hQCiIkN1enyTAA9Xp6sEWRUOommqmc6QgVUhDlMdIwh1gVQpRESCIekAMACIYxkO8ju71vj2M7Q+CJzKgcffqE0f7HtY/BMHlv+R3d63x7GdofBE5lQOPv1CaP9j2sfgmDz0binsK58WT9jPMZyD2pW+gN9X/2A/1/3yXc1ngH9Bt8+9tv74jZ5s2azwD+g2+fe2398Rs8l733c2P0vWf47OR9R7ZqfRrv91fIuoveS5pe1PXXg1T8nfIIoveS5pe1PXXg1T8nfLZ39Ch8G0X3NQyBH6y38Q2X3hZyJtfd/Wve6NevGOh5leW3eZ4Q/j3I7wqZ5itfd/Wve6NevGOh5leW3eZ4Q/j3I7wqZ5Xl736r6sbP7m3mTP8A47f+NUPvHVZImVf5j/UBY/W7UXjBRMtBlX+Y/wBQFj9btReMFEy41XtTW/T6f2heVl35Hb+jP/hHl0eZvdL5IexbYvwxI5E9I+hVN9Uq1+RGOSxzN7pfJD2LbF+GJHInpH0KpvqlWvyIxzMcY9gH8Ys/YqOXu+9qh8PV9psf1/66/wDbNrR+eS/CE+0GYbo6u6TQPWncvjXsLMyj88l+EJ9oMw3R1d0mgetO5fGvYWdvI/dqx8b1H2He5w0ntlXwzY/atRkBcevpJy098rdn/IqWWSytvHr6SctPfK3Z/wAipZZLL25+uj6PT+yIynrfqp/a2P47cijTffxuvunVPxcsuZHkd3wuNXsl37/Tdb5jtN9/G6+6dU/Fyy5keR3fC41eyXfv9N1vlZPvkj6sO/D1rLKPdt/xuv8A8P8A9tV/r/qyRsrpyK++46e9/wAcPjcMsXldORX33HT3v+OHxuGWlH5Uv/k3+EeV1j9VP9pf8QMnTpH+5Zu78SpXiTTczSvzin8c/wBocwvSP9yzd34lSvEmm5mlfnFP45/tDlDxv3Zr/Hdx938fy23ftpnwvX/a9rnrr/MLfglPsGz9dHt3MdA+qDr4im8/K/zC34JT7Bs/XR7dzHQPqg6+IpvOPJfdxnxvWfYN1nLR+2A+G3vtWsyuHGD6JbK94rkF4nz2WSytvGD6JbK94rkF4nz2WSzQ7D5bY/aT/dGUtT5Mj9mP92R5xa71/Mn1W4v/AAxsTOhec9OLXev5k+q3F/4Y2JnQvPO+Y+3m/DeP/h/V5suNeyV/TNr96XMYxjMvl9jGMYxjGMYxjGMYxmLnGjyQhJhhHOvMZB7FyDRi9ARAWbxy0WRauusoCYPN1zkW6ygI/cegBHOD3Anm9xh4R9H1Xtb8mr801Vs/iXNTusOS1FeRE1MbGrdscbFlwe7Uk6JXo+VukxQLqjNNdkE2FEwkpCOq1MLTyr0UWr4W/fXIrumitI7IsMHbtiac1XfbXWfIGt2e6a9qNpsNfFNQyqYwc1ORD6SifIVOdQnmDlv5KhzHDqMYRFjPmT463NnS2fRycjpaxjrHjVvzpgOe24teu5+V/MnUYDTW/tGcrw0kxtJnDprFQbTYVoVZWWuQs+ZqKc1aopBRq2mjFQT0fkHyDuVzh+kVsOjNr11XSdr6Z3i/qrcGy5y63yM1RX9DL8PuN8NcU5i+ayl2NrqeqbBs5lAV21WmhzEWgaGscpJpy7dhIu5LPqQY8ctBR1Js+s2+mdZn1tc7HJW2068eUyBkaJNWOYcoPpSVeU+RYuq6Lh8/bJSLkqcamipJApICl56ssupt0bq7WcPDT1diNdUWKr9qbtGlngo2o19jDWNqwr8bU2LaejGsekymG7Kqw0RWWiMgg4TbV+KjYZEpI5i1bJMZ8kV7grZr/RPSO67qHJPQrjXzfVHFBSW0xw6uvJG31TSWyLhyCZxaF+gNv7JlLFW6JaNjUIXbWa1fSLylLolrFa2A7qMYlOKTU3cLmpVLVxJ3TK1bhPHWWtWmtdD10hGw9fVyKm7Vbn59jqby4lOXdwaM5+WnH8xbWaDyYlYxQRdvAklViR6JlXyqDj6A6/o7SlTpTjW1V0/q2s66dvQkndBr+v6nDUp1IlcNXZX7iqx0Q2glnpXTJk5B0owMuDho1WBTtG6RibupWa2tYWVuVr8IrbI2Hf12Os6kSwPYWFflXkfISkEymjNxkmsPJP4iKfP4xBymyePIyPcuEFFmTY6TGfKnxJh1qjuPivb9fctOJlZQ2frPZ83eGXGS+8wuQm5d9URHTk3LTdv2DWLlLbNrkdbaDYwi7o0vNyhYSUSuDEmvo527d2FvU33m6OuTaaY5O8NGI23S3JRhvuu3ut1TlNxY5N7wW2Ptxq0107s7q884uIW51bYEfJuxhwfP7fBXdFzrnY7/APM+vX6+zep15H6dqZpfTuuZ6x2rXup9aUOz3FUV7dY6ZRKtV560rGVKuZaxzEHFMZCcVMsUqwqSbh0cVSlUEfLABz8VPSemaFabDeaNqTWNMu1uMc1ruFToVVrtps5lFvOFDWGwQ8Szlpox1/1c4yTtyJlv1Qwif7rGMw/I7u9b49jO0PgicyoHH36hNH+x7WPwTB5b/kd3et8exnaHwROZUDj79Qmj/Y9rH4Jg89G4p7CufFk/YzzF8g9qVfh7ftAZLuazwD+g2+fe2398Rs82bNZ4B/QbfPvbb++I2eS977ubH6XrP8dnOjUe2an0a7/dXyLqL3kuaXtT114NU/J3yCKL3kuaXtT114NU/J3y2d/QofBtF9y0MgR+st/ENl94WcibX3f1r3ujXrxjof8Af9z/AP3Mry27zPCH8e5HeFTPMVr7v6173Rr14x0PMry27zPCH8e5HeFTPK8ve/VfVjZ/c28yZ/8AHb/xqh946rJEyr/Mf6gLH63ai8YKJloMq/zH+oCx+t2ovGCiZcar2prfp9P7QvKy78jt/Rn/AMI8ujzN7pfJD2LbF+GJHInpH0KpvqlWvyIxyWOZvdL5IexbYvwxI5E9I+hVN9Uq1+RGOZjjHsA/jFn7FRy933tUPh6vX/8AZsf3/wDrNrR+eS/CE+0H+jMN0dXdJoHrTuXxr2FmZR+dS/CE+0GYbo6u6TQPWncvjXsLO3kfu1Y+N6j7Dvc4aT2yr4ZsftWoyAuPX0k5ae+Vuz/kVLLJZW3j19JOWnvlbs/5FSyyWXtz9dH0en9kRlPW/VT+1sfx25FGm+/jdfdOqfi5ZcyPI7vhcavZLv3+m63/AL/15jtN9/G6+6dU/Fyy5keR3fC41eyXfv8ATdb5WT75V/qw78PWsso923/1f77r+v8A/n+9quSNldORX33HT3v+OHxuH+jLF5XTkV99x097/jh8bhlpR+VL/wCTf4R5XWP1U/2l/wAQMnTpH+5Zu78SpXiTTczSvzin8c/2hzC9I/3LN3fiVK8SabmaU+cU/jm+0OUPG/dmv8d3H3fx/Lbd+2mfC9f9r2ueuv8AMLfglPsGz9dHt3MdA+qDr4im8/K/zC34JT7Bs/XR7dzHQPqg6+IpvOPJfdxnxvWfYN1nLR+2A+G3vtWsyuHGD6JbK94rkF4nz39/2P8A9WSytvF/6JbK94rkF4nz+WSzQ7D5bY/aT/dGUtT5Mj9mP92R5xa71/Mn1W4v/DGxP7/sf/voXnPTi13r+ZHqtxf+GNiZ0LzzvmPt5vw3j/4f1ebLjXslf0za/elzGMYzL5fYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMZDPI7u9b49jO0PgicyoHH36hNH+x7WPwTB5d3cdblLlqHalQg0k1pq1a3vFbh0VVSIJKyk5WJSLj0lV1BKmimo7dIlOqoIETKInMIFARzlNq7khrvXmtdfa/vkfsir3KiUqrUyzQT3Uuy3q8fM1aEYwb8nnUPVZKPXRVcMDrtlEHigmbqpdqVJbtESek8OWyzp7yK4E94bJDSSoZY0VFVaAslY9T8uTGQ7+3tgugzMTMROK5IQq2NRzShaypNWLDmAXLPPWUhBl0Hv6TBdvXr29Z6dImYuzms8A/oNvn3tt/fEbPIHHmDo/qHqf38w9XoKGm9u9Zh/cKHlUgpesR9AdYgHX+yIB6cslwSrVkhNT3SfscBKVoNm7w2rtKuxM42Mwm0qpcptJ1BLSscoIrR7t02QM4Bst932CiC5RMksmc03kqHVOPXBtKZWJ9zXwkXgSidITZM/KE4Ej7B6EcjEwMSMl07o6xtGxb9xXJJi4V1bcsJZQYrg/R4DvIesD3T6hgpiSmJ6dek9IUoveS5pe1PXXg1T8nfKs2+6R/H/AJG8jHuzYi4RsLtiy0i5UafhaTbLdDy8bF6/g6rJNRc1SHmTNJFjKRLgF2rxNASoKIKlMbtQLnsfowNHfvhfv5m9vf8AQ+XI1Lduvrn1az7KS1GmEXIUbVkStVSS0YMBIZJbQNTB69RYJAUQUTEVzHpQ+4t7VpZF/YTK2mKzgTvPMJkSmJiDAwMZ6dCEoKPVOSLr7v7V73Rr14x0LMry27zPCH8e5HeFTPNR43zX573K5zt2nw1oDXVS0BNa4eWWxVeeqbd/bbFsKt2dtHRLOyx8XIvQaRcK7UkFisypNlDtiiYwOUjG3Lmw0lq5sDjHuo8DPTNF1XP7TZXt1W4h7YJOBbbCo6VehZdaGi0XMk4ikJBuckg4aNlzt/LbplSVcOm6KtMwhDmmsSZCDQ0F2mayKIMLVjUbYEVjiZ6i9p2EACi6HJtAencURlkIkfGrrAEiWW0q2BOImRJCb+vJrhmI9agFLSI4/NgVkXXpEzkgZV/mP9QFj9btReMFEz9fowNHfvhfv5m9vf8AQ+Rntnald5FVNtp3UMVfLNdLdcdeGaoudcXytxcZH16+1y0S8vMzFnr0PHMo1nGwrntlvOFFCHUTMZIECrLJaOjSuVrtOzZq2K9evarve9yWKUlKmgxrWMMRAAAIkiIpiIiOuUtixXdXepLlNa1LFqWtgmxjGBIgAAMyREREMRERMzM50b5m90vkh7Fti/DEjkT0j6FU31SrX5EY5P3JmoTt/wCPG7aRWGnn9iterrtAwjEDlILyUk4B81ZNimMIFAy66hEydY+kxgD9kc53VjlbqeErVehLEjsiBnoaDiYiZhnuoNoruo2SjI9uxetFlo2pPWKp0XCChfLau10jAACVQev0ZLiKW2tI5NZZvcrataxSRljAW2pVBbCAIkoAzUwROY7ZIJHr19WaHkRgnZJY0xUB0gADZMABGNhskMEUwMkMGEyPXr0KJ6dMt8j86l+EJ9oMw3R1d0mgetO5fGvYWV2/Rh6TJ1HRcbDdrEEDJNUNO7ZIs5UL6SIImcUxFAqqxgBNMyyySQHMAqKEIAmC2PBmmWahcYNc1+3xDuBnVXV6sa8PIJijIMGVx2Ha7dEISDcfu2r8sRNsReNFOpVo5FVuqUqiZgDu5Ul1XjrF2VnXY7c6w0rcJKY0E0txDjWBxBGCpemGEMTAy1cTMScdevj7Fv24mkxaC9bdFhrKDECbZ1hKEyHrAkwVMkBmYkoWcxH5s9KtcevpJy098rdn/IqWWSym0dfIvjhszkZV9tQ91g1rvyAvW16fKxVDuNsg7FUbs2gzRrhhJVSEmkSuWZ41ZvJtnXm52zo3mwCosi5TQ2v9GBo798L9/M3t7/ofNC2nbtSqxVrPs121aZKfXUblMH0REdQYsSEuk/mz0nqJRIlEFExFKDk1+9L2rS0HWBNbTEDGfSGeohKYKOvWJjrHriYKOsTE5I+m+/jdfdOqfi5ZcyPI7vhcavZLv3+m62zA8V3bnZ/JnYW7q5B2VrrVvpSsauY2CyV2YqwzlobXaYtT0kPGz7OPlXDNgwfIou3KrJEEnXkkEoprtlFctzCVeUXdehd1ysJYX+vKvVNq0qzy9bgpWyuYCTuJqk6gnD+Jg2r6V+TnIwL1sZ03ZrgRwZFMxf1TrCiIhjm6EyQ+bGgZTlfdEHFs9DYWNaR/TD5YYrhM/wA5LChfb3z0y3iC/kw5naUhO1TYguk9soDaVzJ0T0/VQIEcs/oQAyXXtjrknZXTkV99x097/jh8bhmM/RgaO/fC/fzN7e/6HzU5zZEHyJumiKTqeKu87JwHILVOy7E9kdf3WrQ0BUtfTppyckJGUtUFCtCmO2IKDFBBRZVy8Mk2ApVFkgPfIpW6rPSbNV9eulbmOe9RqUsBScyRsMRAYiOnrmY6zMRHWZiJqDsIfAqS5TWsYoQWtgmZlLA6QIjMlM+uP0R6o6zPqiels+kf7lm7vxKleJNNzNKfOKfxzfaHMvzioVp2bxU3FTKVFrzdmkoWHexsQ1Dy3kj+Z61wFjetGSX3zl8tHxDsrFomBlnjsUWqBTrLEKNRS8wtLnKU7w+xox2YoGdRzvT21VHTBwYOtZm5UZU92zUXbKCZFY7V04bmUIYUV1UxKc2c4oltrjoJrLOw5G62THKSMtYpdijpQQwwCJIQadd4rOYgSJTBiZkZjLrkBgnbyxxCpbNbSBZsmAAzVa2MsASKYgiCHKkxieowwJmIgoyza/zC34JT7Bs/XR7dzHQPqg6+IpvKuuuX2mztnBI788eWfnRVKyi2en9ppO5F0YhgQZNlX9QZsk13KolRTO7dNm5TnAyyyZAMYLo8MqLZtacXdL0i4xykRZoOoJklotb/ABiPXfyD+UTaOifspO0G75EjpucAUbuAVQVKVRMwBx5YltXQeTZWddrtxRalThlbGLRS2guYAHEEQLKwgTOIkRJoRM9SjPvHjB+18xJC1a9faBhrmDADbYoEsCIeowRiphCMz1mAKenSJyoPF/6JbK94rkF4nz+WSylNN2bAcd5DZ2uNtRV5r1gHc21LfHKMteXizxE1W7tb5GyQcrFS1WgJliugoxfJprlUWSVScpqpdmIE8sd4/RgaO/fC/fzN7e/6HzT2aVy087FarYsIfItS5KWNU1ZiJAa2AJCQlEx0mJn9PT9PqyiTYQlQJc5Smqjy2KYwQYBhPaQkBTBDMT6ukx/x/Rkt8Wu9hzI9VuL/AMMbDzoXnPHhgWQt21+S262UHYIugbCR0zXKXI2SEkq49n1tdwNqZ2GRaREw3ZyicWVzPMkGjp00QFdUrpICFUbLEL0OzzDmMxO/sDExMrpaVDIiYnscjSa5D1F0mehqcs1MGfWDAICiCiYzc8biY1CZmJiDs7FgTMTHctuxtMWY9f0gxZCYFHqISgomYmJxjGMzGXuMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGMYxjGf/9k=" alt="GQA论文里的图"></p>
<p>图中表示的是一个token对应的向量，在经过q，k，v的生成后，一共生成了8套q，k，v，那么q的数量应该与k和v的数量相等。</p>
<p>当进行注意力计算时，每个头各算各的，因为都有独立的q，k，v。任意一个头，例如第一个头$head_0$，会拿自己的q，和<strong>同样是$head_0$生成出来</strong>的所有token对应的k进行相似度计算，再算出attn weights，对<strong>同一个头</strong>的v进行加权求和得到结果。每个头都做这个操作，最后将每个头的结果concatenate起来，就是这一层多头注意力的输出结果。</p>
<p>Attention is All You Need中提到，多头的灵感来源于CNN的不同通道提取不同的特征，于是也想在注意力机制中引入类似的东西：不同的头进行的操作相同且互不干扰，提取同一个数据中的不同特征。</p>
<p>接下来我们来讲讲MQA，<strong>多查询注意力机制</strong>。</p>
<p>MHA固然很好，但是它的复杂度还是太大了，每个token都要与其它token作用，便是$O(n^2)$.每次训练时注意力机制的开销都很大。并且，运营成本中比较关键的推理时性能，MHA也很不好。推理时有个东西叫做kv cache，就是保存已经计算过的token的k与v。MHA中每个token都要有num heads个k与v，这样随着序列的增长，kv cache的内存占用会迅速变大，面对长上下文的追求，这种缺点必须被克服或缓解。除了减少num heads或者d model，这里有个比较激进的方法，就是MQA。</p>
<p><img src="data:image/jpeg;base64,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r3cmpcUpqiriuIr0w8nUzLhr99ksv+3GNGjQo0eHDjsRIkRhqNFixmkMRo0ZhtLTEeOw0lLTLDLSEttNNpShttKUISSSIi1CcGuFnLmv5P7L589o7n2h835R5Bqiq446hwjjTV5tG0no3RdXlUvNMgboJmyUllttnO0srVV3OYWshhhMKLSQaWJMm1qmotduCBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEEfZbtnV+BTGK7NtiYViVhJZ90MQMiyanqJrrBmZE+iLOmMPmyoyMku+D8Go0qJKjNKukgjUHo/XuDbVvN+Z3svFKTPMqk73znHytcphN264lLj77EWprK9qV32YMSIwrwSG46El4NDTZdG20pLkPlQ19qDSl3SOA0rjMNdzurbGaeK1qG1dr4jHUcBRiu3ZJo8bBPdtWrJ2aterDG8EQMc1iabhCEM910fpmjngy1vJ27daliYqblHQhhlt2J785QwgD2ZI4YooxjlklMt5u4xxhH98jj2IfCT49/y3ar/wCe8b/7iO0pt86SyKziUtDtzXFxbz3UsQayuzPH5c6Y+syJDEWMzPW8+8szJKGmkKcWoySlJmZEKs/B+0T/ACO65/5Wrf8A9QiPfeh9M12l9m3FRrPD6K5ocQtr2muaKoj1NrW2tSz7sgy4k6Elp9tTTzae8kldxaTMlF16GXNcn5TfLXhcZkszcxPkquVMPj7uVtU6t7V9WzarY6rJcsV61malYhgsTRQyRwyywTRRyEBSRmDOz3KvoTR9uxBUiyGp4ZbU8NaOWStiZY4pLEgwhJJGFiMzjAjYjADEiFnYSZ3Z1taARVou4ssg0rqW9uZbs+2t9b4VY2U59RrfmTpmO178qU8szM1vPvLW66tRmpbilKMzMzEqj6VwuTizeGxOZgjkihy+MoZOGKXbysUV+rFajjk2OQ8oASsJ7ScdzPwd24OuQ3ax0rlunIQmdSzPWMx47SOCU4iIeLM+0nB3bizPwduLIAAJNayAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiDVpxR/Fm8/SP2n9vjDaWNWnFH8Wbz9I/af2+MPnTyw/pF8jvwPKP4RhF1XyedDav9unu93VasQ9yF+QfcXm6yf1e4JhEPchfkH3F5usn9XuCt636lay/dLUvgl5XLFdK4rtPH98hVmuOXk/6T81WA+zFYJnEMccvJ/wBJ+arAfZisEzj6C0B1E0V+6WnPB6S4dn+nc12tke+TIAALaolAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARBq04o/izefpH7T+3xhtLGrTij+LN5+kftP7fGHzp5Yf0i+R34HlH8Iwi6r5POhtX+3T3e7qtWIe5C/IPuLzdZP6vcEwiHuQvyD7i83WT+r3BW9b9StZfulqXwS8rliulcV2nj++QqzXHLyf8ASfmqwH2YrBM4hjjl5P8ApPzVYD7MVgmcfQWgOomiv3S054PSXDs/07mu1sj3yZAABbVEoAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACINWnFH8Wbz9I/af2+MNpY1acUfxZvP0j9p/b4w+dPLD+kXyO/A8o/hGEXVfJ50Nq/wBunu93VasQ9yF+QfcXm6yf1e4JhEPchfkH3F5usn9XuCt636lay/dLUvgl5XLFdK4rtPH98hVmuOXk/wCk/NVgPsxWCZxDHHLyf9J+arAfZisEzj6C0B1E0V+6WnPB6S4dn+nc12tke+TIAALaolAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARBq04oF1rd6dPGaeSG0iUXzpNU6MpJKL4095PU09SLqRGZdeh9NpYpVnXCuhyDNcizjAdrbP05MzKWVpltTgdrFYorq67vdcuVQJkZ33JOk9VLlqYc8E88pbqWmlOOd/hvle0tqvKZjQeqNK4eHUUulZ9SV8hhHylPEXJ6uosbWrBcpW8jsoGVKxRiaetPPXKSGwUkMhHDyMvQtC5vEY2LO4/L25MfHlIsccF1qs1uGOXH2ZJChnirMVhmminPk5Y45GGSMRMWE94Zt0P6D/UYh7kMRlobcZn4i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" alt="GQA论文里的图"></p>
<p>MQA中，一个token只会生成一套k，v，但是依旧会生成num heads个q，但是这num heads个头的计算中，<strong>是共享k与v的</strong>，也就是强制每个头中的k与v都是相同的值。例如说，一个token对应的向量$x_i$，生成一个$k$与一个$v$, 以及num heads个$q$.在计算时，第一个head,会拿$q_0$与所有的k进行相似度计算；第二个头中，会拿$q_1$与所有的k进行相似度计算；&hellip;&hellip;不过，这里的k都是同一套，只有不同token之间才有区别，同一个token的k在不同的头中<strong>都是相同的值</strong>。v也同理。</p>
<p>MQA使得无论你num heads是多少，都只影响q的数量。不影响k与v的数量。那这样进行解码（推理）时，每个token只需要保存一套kv cache就可以了，在大部分模型的num heads都是几十的时候，这就降低了几十倍kv cache的内存占用。同样的，在训练时，由于参数大量共享，实际只有一套，参数本身内存占用与运行时内存占用也小很多（注意，实际上计算量是没有什么变化）。而这种张量变小的优势不仅仅是内存占用小，还有带宽占用小，能更快地把张量从内存加载到缓存，进行计算上的加速。</p>
<p><em><strong>那么，代价呢？</strong></em></p>
<p>从直觉上看，这种方式必然<strong>损失性能</strong>，不管怎么说，只有一套kv，表示能力肯定会下降不少。这一点我们在后面的图表中可以看出来。</p>
<p>于是，很自然地，我们想要在两种方案中折中，想要一种没那么极端的解决方案，甚至还能通过一些超参数来进行调节，更好地对齐我们实际需求。这就有了GQA，<strong>分组查询注意力机制</strong>。</p>
<h2 id="gqa分组查询注意力机制">
<a class="header-anchor" href="#gqa%e5%88%86%e7%bb%84%e6%9f%a5%e8%af%a2%e6%b3%a8%e6%84%8f%e5%8a%9b%e6%9c%ba%e5%88%b6"></a>
GQA，分组查询注意力机制
</h2><p><img src="data:image/jpeg;base64,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" alt="GQA论文中的图"></p>
<p>直接看图。这张图还是很显然的：既然一套kv太拉跨，那么我们就多整几套，但是还是比num heads要小。从直觉上来说，这么做相比MQA提升了性能，相比MHA降低了开销，达成了一种中间状态。</p>
<p>在有多套kv的情况下，就不是所有头都共享kv了，而是要将所有头进行<strong>分组</strong>（其实原来的说法是对q进行分组，不过也没差啦~）。这里有4套kv，自然要分成4组，每组2个头，组内的头kv的值相同。例如说，第一个头$head_0$与第二个$head_1$同组，那么它们在进行注意力计算时，$q_i^0$与$q_i^1$要进行操作的k与v是相同的(这里i的意思是第i个位置的token对应的q)；而第三个头$head_2$与第四个头$head_3$同组，那么它们在进行注意力计算时，$q_i^2$与$q_i^3$要进行操作的k与v是相同的。以此类推。</p>
<p>接下来我们看看GQA的优势：</p>
<p><img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAHgAo8DASIAAhEBAxEB/8QAHwABAQEAAgMBAQEBAAAAAAAAAAkIBwoEBQYDAQIL/8QATBAAAAYDAAEABAkMAAMFBQkAAAMEBQYHAQIICRESE5gUFRcYGVdYltUKFiE4SFl5h7fG1tgiMUEkJTI5VjNReJXUGiM6QnaXsrjX/8QAHAEBAAICAwEAAAAAAAAAAAAAAAcIBgkCBAUD/8QAKREBAAICAgICAwABBAMAAAAAAAIDAQQFBhESBxMIFCEVCSIyQSNRYf/aAAwDAQACEQMRAD8A7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDcHFvaUShydVyNsbkZeTla9wUkI0SUrGcYyaoVKdyyCC8ZzjGdzTNdcZzjHp9OcD4v5War+suv/vlHPxIYn8tKBC6+PTo9sc0SRxbXFngqBwb16clYhXoVlqwROrRLUijQxOqSKk5hhChOeWYSeSZuUbptpttrnlj6PXgT7DvH/u0Uv8A4UA0B8rNV/WXX/3yjn4kHys1X9Zdf/fKOfiQz/8AR68CfYd4/wDdopf/AAoPo9eBPsO8f+7RS/8AhQDQHys1X9Zdf/fKOfiQfKzVf1l1/wDfKOfiQz/9HrwJ9h3j/wB2il/8KD6PXgT7DvH/ALtFL/4UA0B8rNV/WXX/AN8o5+JB8rNV/WXX/wB8o5+JDP8A9HrwJ9h3j/3aKX/woPo9eBPsO8f+7RS/+FANAfKzVf1l1/8AfKOfiQfKzVf1l1/98o5+JDP/ANHrwJ9h3j/3aKX/AMKD6PXgT7DvH/u0Uv8A4UA0B8rNV/WXX/3yjn4kHys1X9Zdf/fKOfiQz/8AR68CfYd4/wDdopf/AAoPo9eBPsO8f+7RS/8AhQDQHys1X9Zdf/fKOfiQfKzVf1l1/wDfKOfiQz/9HrwJ9h3j/wB2il/8KD6PXgT7DvH/ALtFL/4UA0B8rNV/WXX/AN8o5+JB8rNV/WXX/wB8o5+JDJ6Hx+cF7T+TJduJORNkxMOgyglNtzZTWSCj1L1YZak8snML9nocoLSJSzzNdcbm6Jk+pm22pJeNfsPo9eBPsO8f+7RS/wDhQDQHys1X9Zdf/fKOfiQfKzVf1l1/98o5+JDP/wBHrwJ9h3j/AN2il/8ACg+j14E+w7x/7tFL/wCFANAfKzVf1l1/98o5+JB8rNV/WXX/AN8o5+JDP/0evAn2HeP/AHaKX/woPo9eBPsO8f8Au0Uv/hQDQHys1X9Zdf8A3yjn4kHys1X9Zdf/AHyjn4kM/wD0evAn2HeP/dopf/Cg+j14E+w7x/7tFL/4UA0B8rNV/WXX/wB8o5+JB8rNV/WXX/3yjn4kM/8A0evAn2HeP/dopf8AwoPo9eBPsO8f+7RS/wDhQDQHys1X9Zdf/fKOfiQfKzVf1l1/98o5+JDP/wBHrwJ9h3j/AN2il/8ACg+j14E+w7x/7tFL/wCFANAfKzVf1l1/98o5+JB8rNV/WXX/AN8o5+JDP/0evAn2HeP/AHaKX/woenkXj44IKj76aVxByEUaUzuZhZhfNVM6GFmaIj9tN9N9YXjbTfTbGNtdtc4212xjOM4zgBpj5War+suv/vlHPxIPlZqv6y6/++Uc/EhmeO+Pjgg2PsRpvEHIRpprO2GGGGc1UzuYYZuiI233332hedt999s52222znbbbOc5znOR7j6PXgT7DvH/ALtFL/4UA0B8rNV/WXX/AN8o5+JB8rNV/WXX/wB8o5+JDP8A9HrwJ9h3j/3aKX/woPo9eBPsO8f+7RS/+FANAfKzVf1l1/8AfKOfiQfKzVf1l1/98o5+JDP/ANHrwJ9h3j/3aKX/AMKD6PXgT7DvH/u0Uv8A4UA0B8rNV/WXX/3yjn4kHys1X9Zdf/fKOfiQz/8AR68CfYd4/wDdopf/AAoPo9eBPsO8f+7RS/8AhQDQHys1X9Zdf/fKOfiQfKzVf1l1/wDfKOfiQz/9HrwJ9h3j/wB2il/8KD6PXgT7DvH/ALtFL/4UA0B8rNV/WXX/AN8o5+JB8rNV/WXX/wB8o5+JDP8A9HrwJ9h3j/3aKX/woPo9eBPsO8f+7RS/+FANAfKzVf1l1/8AfKOfiQfKzVf1l1/98o5+JDP/ANHrwJ9h3j/3aKX/AMKHx67x+cF6z+MpdeJORNUx0OnKg5NrzZTWCDT0z1XhaY8wnEL9nucnLVqiyDNtc7laKVGpe2upxmNg1h8rNV/WXX/3yjn4kHys1X9Zdf8A3yjn4kM//R68CfYd4/8Adopf/Cg+j14E+w7x/wC7RS/+FANAfKzVf1l1/wDfKOfiQfKzVf1l1/8AfKOfiQz/APR68CfYd4/92il/8KD6PXgT7DvH/u0Uv/hQDQHys1X9Zdf/AHyjn4kHys1X9Zdf/fKOfiQz/wDR68CfYd4/92il/wDCg+j14E+w7x/7tFL/AOFANAfKzVf1l1/98o5+JB8rNV/WXX/3yjn4kM//AEevAn2HeP8A3aKX/wAKD6PXgT7DvH/u0Uv/AIUA0B8rNV/WXX/3yjn4kHys1X9Zdf8A3yjn4kM//R68CfYd4/8Adopf/Cg+j14E+w7x/wC7RS/+FANAfKzVf1l1/wDfKOfiQ8xvsiu3ZanbWqewtzcVhmCUiBvlLGsWqjc4znBSdKmXGHnmZxjOcaFF7bZxjOfR6MZGc/o9eBPsO8f+7RS/+FDHfWnJHKVOybiWa1FzJz3VkyI7058biJbXFL1xB5MS3r9JgWvQlP0ZjbW6lo1pemmitNorwQp0111O0311xjAWEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE+vKeTqo4MvkjfO2NDiq2J3zrnGNsamW/X+m2dc5xtjG2MbZ9Gc4zj0/88Zx+gUFE/wDykfqJXn/LL+sVfCgAAAAAAAAAAAAAAAAAAAAAD1ZLQmJe3B+03PyscmtnaDy9ti8ptEzIrfFiXcrTBWDdTzDX9Zqo23OML3LKTYLKK20N2O9oAAAAAAAAAAAAAAAAAAADxVyQtwRLEB22+pK1KoSG7FZ11M1LUlbkmbF53131xvjXfOdM7ab642xjOddsenGfKAB4qFIW3okaAnbfYlElTpCtjc67GbFpitCS9jM6a6a53zrpjO+ddNNc7ZznGuuPRjHlAAAAAAAAAAAAAAAAAAAA9Wc0Jjntvft9z8LG1reGggvXYvCbdM9q2NYq3N0yVk3Y8s1gR6p9tDiy9CzVODCjdtytifaAAAAAAAAAAAAAAAAAAAJ/99/sVfxAOcf7yFABP/vv9ir+IBzj/eQCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn/5SP1Erz/ll/WKvhQAT/wDKR+olef8ALL+sVfCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/mc41xnbbOMa4xnOc5zjGMYxj05znOf0YxjH6c5z+jGBOS2fJ9zrWz44xpi0k9oObbnck9xhZDTtEsLSzDCzUekjcnVJ8P9nnTXb4cyNzu1G6Ga+wXm76maae+8ldnvlacwPBceVGoHCw5K01wavT59VQmanlue3d8LJ29XbGnxkzR9czHb+jG+iZyP2J3LUYKM16woxLsHPX6F8NTUxCNn14sttnH39cSznEYQjn/b58Y9pSliWPGY4xjGcZyuv+NH44dc+SuA3e6d1v3reLxyV3F8Tw/H7OdL9menCme5vb21XGV/05suxra2vr2a9mJ03222ShKmOe0hRHkK5+veQpIchVv0El7iYnTM7NO0ra3kSBeo2zpq3sLw2uro2qV2xvsiEyBwNanFyUHlENaJab6+mm6B0jU6g9IeSqSnnJlSY0tQnUpzNyT055O+DCjiTi9tTCjSjNddyzC9td9N9cba7Y2xjI7d3KVlulv87VRYL4bsofHuM6pnxZvpoXuveo+vXRp2ctyy9Cyi93JwZ1K/fQkssjTZRnUkvQrGmuPr17m7uSlbrbUYffVD7YWVx9cTr9owl7R85xiUZSh4zHxiWJf8cZj5l4n5N/j7wnxRRwvZ+pbG7nr3L78uI2+O5G/G1dx3J/q3bmrnV2vrhZdqbetqbmZV7OZ3a92v5xfdXsRr1tCAADKFQwAAAAAAAAAAT/77/Yq/iAc4/wB5CgAn/wB9/sVfxAOcf7yAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE/8AykfqJXn/ACy/rFXwoAJ/+Uj9RK8/5Zf1ir4UAAAAAAAAAERPJX5io3xpJldJVDE2qy75RomxdIjZKesLr6uynVOU5oET8maFre+SSRLmg1KuwxNzkwpUDe7N7kpfzVGpjIbbsf8AM26Dkcol99XXKpunMSTGRWzYj1KURuN9d0MgcZa7qnZB7MzXTcrVCuNPSFk5LL9gWTqVgsvGmNNbE/jp8b8F3/sXL7HY6/3OM67qad/+M+2dMd7c3rro6+diVU4Wz1NeGrfK6mEo4ttnrxtnmn7Kbqt/lP8ALHY/jPq3CavVbf0eY7Tu72t/mPphfPjtHjqKJ7WNWN1dlEN7anu60KLrYzzTTDanTXi/Fd9Fe4p+UIdrtEmMdJPFaOl8cVrUximLZiMiYfgDeWYTlWkjr22y7ZejVKCdDdSVsh0lZSY0/Y3ZCoL0LI17RXEna1WdzU+VaNclrGN0al2rBPoC8qUp7/CJNqkJV7I1BqbOujoxOJJuVUbkpKdKme0ZZ+hqRseW96ZWr/nNjsGfk6D/ACFN1fcsYSHKPzWeef3B7fUmpm2iTZ5jlhQRFG1x2nozqarSpZNJEiTTPq7akOS4zXf1dN9DJ5+cvhbo+v0Xlux9f4fT6/yvX6KtyMuPjKjW3dWNtNOxq7WtieaJTzVPNtGxCuOx+xCMZ2ShbZjNbPx2+fvkTa+RuF6r2fnd7s/Ddn2btGcOUlHZ2+O3J033625p7WYY2I1xurjVsas7JauNWyc66oWU1Zx3HAABr9bNwAAAAAAAAAAAAAAAAAAAAAAAABinyDMsnc+WbEVQOfzesZ+g/NhNDZtB5nLIktYXh/m0XYPhq4qMPLSU/IdU7gcWe2vBa5N7E07ZMWnV7aKNA2sAm34vOipnd3PCyEXMsVmdF80zN+oW8yXZVupelkkhio1G0ShwPPzlSv3kTIURqtej87fHMjapGq0M3xjbOMW17cNvXV5ZISndrSshDzrYNBTW3Klq2NzuWxWIOEXhM4fq1h03emyOPDYmkRNjHRl0tFuw4aHJVsYlUXbnJKeU3bEZC+wCONSr5Tv5eOjqvcbTuBfV0GoGBWPEq5d7jspwhjRMZKtiRDs46si+VHJV6Q3RQ47EMLphdH0eXJRhI1k6EINUf+r1XSgvyy8k1k12ncDXWVlVFa8znVesNyWU0Q99kcLapOfH1uzM1SpMmbCCDyEBypqZ8NzQ5ZbiNHBApKPX6KwsYAzN1nLZqx1GthtUuBDZc91OZFN1E4HmHl6Mctl7e5nOU232S67qPYVlB2uXWcq1J03MNTQ41MXoYceUXvxR44Ohn3ofluJuE/yoIuiqXN5o29mxwM9o7oLVq88thfFDv/xbZ+MZCh1apQs9X0FFq3pQmL/Qn2xgN4AAiX15pZHEXTVPdbrLVvmX8VPUhTQq+6zcbcs+QMVNSKSb4b4raqFtOkio9ygeXoxHh+jLvh0akSrBzS3IVOsmYWpnC2gDB9Yxhx6MtxX07ibW9HKPLa29kpiBstqWTFora2jaq2PU3vIog1SRubNIzIsaJ22t45hCmbpPFEx8/laN5/PJkRMWQ+3UVo8dX1UHZqG0L8lvISWUpo301TOLbs93ZK+0k3tWZgttgavzkONUxhtfF6A1+hyjZSz6rkze2tzdhFId9GMLWAMD1+xKeo7d16ObJ3bUd58ZGnEeqqNRe1bJh8avVyIWFmr7nd44xyNqQ6wAjZNox1qiTJUZM/RYe5zINHyMvcO12zbQiiWK/LF1/WblaNyvFZ1fVdRTKCV693HZrxEGCQzZljS2QK8MzjKlKd0TKFRq41M1PXxk0N+HFQSgQJyCUJSQNwdnUQt6HoSTwdk2L1ljcoRy6G6HbllkKpGw6KfZNhphppBJHx22q3NlJVHnFp0SlxJWqM7EJzNN+qO/MD5Fnhxj0laHJgfmhUYidGZ4RKG5zb1ZWfQYnWIlZZShObr6cZzoaXrnOuddsenXbGc92IcYzulahs83Ciw6zg0yW6JdUJLnIYy0OTwmR67mG6pkjwel2dEZGphppmpaVWTrruYZtjGNt9s5xzmuAjylkNiq7FOxGGK5e8cyrshjOcx8+ufMZR85x7YxL2j4xnGPXGVqPgL8lL/iHjt7rXM8Ldz3WtvdnyWr+lsVa/JcXu3V01bX1Yvjmja1NmFFU8607NbNN8bLoWy+6yGeojWtZza3Zi0wSv2FbIJE8H6FkpkpW+xCNPk0so90dVWNdiWxoQ+10MXuSvYtKlKzjYwzGdtNdu3dS9ZoKcqmBVi3KcLSIbHELQc4YJyn1cnLXXZQ8OmqbJhuU2rm7HrV+qfJx2SMKME5ONzpkzb28KrSuq3SqEdewSHwhMswnwuKikcaGD4wyk130TGOG7WkS7rzidTTfUPWbHnYyabtnfOxpmdvtx9OF4OPFfZZO3F2xbHEMyjHMYQrxn29IYznOZe2cRlKWfH/ABjjEceM5l5Hz9+Qe58zWcVxulxM+C6zw19m7RqX7ENre3+Rtp+j93dnXXCmnGtRO6jU1qM2YjjY2Lbr7s2116wAAe+rcAAAAAAAAAACf/ff7FX8QDnH+8hQAT/77/Yq/iAc4/3kAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4lusmAO9gSmqWuYx5wsqDxqITKYQdG6JVEljMWny6VNsKfXtqKM2VNzdJ10HlydmPU6F4W7sDjkrG2hONtg+2AZ4kHXPK8SnsqqyX9H0bELKg+GXeWwKXWnCovLmEmRs6R/YVS9gfnpvcy0Tuzrky5vXapt0aorfbUo/Y0o4sv62EX7RNmvJkdre6qlsGQFIT3M1ihFjw6WPJbamNTkKXAxsYXlet0QpzlSUk9XsRhOUapTlmGa7nF42DLPlI/USvP+WX9Yq+FABP8A8pH6iV5/yy/rFXwoAAAAAAAAAOp15Y/EBbDha816b5YiKmfxywnM6VWNV8f3NWTdhmzwpNOkkkirGZrlTJ2GSuhvx0va2lQuf2p8dXLZCzbRkvTZm7YoDOvj75C5/wCN+c/zfBSoszbTnU39DcjOelyGpKcLM1XRrsrnCyucI2a+xXONlM8Zx5nVZdVbHPyd8Yda+V+u5692OGxXinYxu8byWjKuvf4zdjXOrF+vO2u2udVldkq9nWthOnYrzjOcQuroup/5wMV4Y7Nmkj1ikf5Zvw57wvTtiolyqyYx5C0rFO2mpWkgepC0tbLHCv8Aj13NVPzg3JE5WcmqDyitdt8dxPxPeOU/haspA+2KqaHe+rU+LjJicynbLWiGRtswYcywRpcjCy/jBUSqVKXOVOyQslvcHbdG3IvjFujjc9ulaxK7zDXxY1G8iFIqpd1MZm96WtCaAbJihPORuEPSztHInJ4e21wINIMbHAxojK5mSOpZxKlqNdtXBAemcUyRSTIXyR+QXafkPhs9ezoaPBcRfOmzkKdK2/Y2OQzROFtVN2xdmOIakL4QvxRVTGcrK6/sushHMZRh8UfjF074u57HZ48lyXY+b1676uMv5CrW1tXjI7EJ03X6+rr4nmzdnr2Wa/7F18oQqst+qiuc8TjtV/6r5gikoWwiUdGUZHJi2qdEbnFny2II1P7YtMN+DlInNpXPxC1uWHn+kghKtJIUHnY2KJL33121xy1F5dFJu1fHkMkrDLGT4a4NuHiNu6B8a8uDSsObnRFqvbVClJsqbl6c9EuI1NyYlVkGpztdDS99McW13TNPc7Uslq+HQhKjriOx/ZvdGVsiiuUuUr1OS6pXp0kLMytTq8zeQyXbY5VIVRre6Ob2qUqTlWp+N98YiX0D0/TdDeMW4jfHjK3/AGjsivF5raNyAmCWHXjfVjtcspdZJM2OGrpjF4nsUbF0p7yzsR7OZuohKl2ZM7mplqBF7WA1lVtnvp3m6NSZXC5F0BSzDLm9wJaXCMvNoQlsfW52U7+yStLg1rHslYhdFRmM6JG5WSSsVb67akEGZ12xjnHGcbYxtrnGdc4xnGcZxnGcZx6cZxnH6M4zj9OM4/RnA4RrDnurauo9hoBph8eWV62xUqMvbG4tKJegl+yhFonkTtKkysgwqQOsrV5VOcjcHXRSqeHBYpVLjDTjdthO7xT2BI0Ei7Y5HcnhxkUQ4/6HdYbUrs8L1Tq6ttWSp2l+8Wg6t1VnHnry4ZpFlKRHscZk1EkWlNRWpDegb0iYK1KX5jRvLXHVbw1pX98RurgysihelJdnZAxbt2j2sbW8w3VWuStG7w06uZ6Yo0tDlyQ4U7F/CiPX9sIK9vP1hNc3afJfCl724wviu9UVTEw1uN2NbpfRXwxXXnU0sRotc+qc+rbIezYOSebk5AhaqjTyfGumNMmYuowPzPKWJlk8ecUzuwSNpbX5jdkRntUbozu6MlwbHFIbjGPaJlqJQQpIM9GPXKN029H6QHpJvYtfVk0aSCyJ1Da+Yd1RSLR7m8nZIo0brDsbZJSaOT8uQItlRuNdslJ8HZNMxrtnTTPoz6PWR636mlsYcZtFLQruTQxo1O2dpdHptGnqMNeqfO2D9nF/bXNS1ItSM6b4OypVlYLzptjfOvq59H0MwiEXn8WkMImrE2SeIytoXsMjjzylLWNbwzuafdKuQLUxuM6mkKCDN9Nv+W+mc4ML20M11316/tIySxOQb3fvEIgn7Yxwew35ZNua7qVP6PaY17S01xJZTOqzSI8FHl73Ho4I3JBXCp40QlEOL84WEoTOSPSKw53C3afpPnRXGXCaJL9pVVDmlxRtDrLE9qQU6Mtjs4FnnIGxwfi33ZrRuK4lKqNRolKotSpLTH7klb6kmZ1+mi9v1NOI+6SyF2hXcvizHoYY9SWLzaNP8faNCdDTDt3R5aXNW3N+hRZJ25mytSTjTQo3bbONS984/CP03VkXqlFRzHA40iqNDFDIQVAMtidRGzosoRmIVrSvQKtTtHIpyIOUZdjnDKlU6qVSpY4nqVao88yElWSGfcJdFv3iuis2ZGCt77kWk85Ztx3fEamQ0jC54dI187gJzWqLW4c7AMcGF3bqYw+6Et7nMHEmTPHx8QvNimgW4S9Mc3rY+5yxH0DSKuKsq1E2PMmS2tA1EfaXJz0Umtre5vJT9u3IFrgUiWGIkipSUer0SKdyCzNSDc6feQixa+sxp3fq3ncNsFiLUbpDHqESdklbTorK/wDaJd3FhXL0eqgv049cnY7Bmnp/4tcDIXVdXQKpPG/1DWNfRtvjsKiHJd6oWRmTF5M0Kykq+VLMuCxQfk1S5PSxyxu7uj0vNUOjo8nKHZerUOCg5Rv7bxuElEcDch6El6FabUFXJ2dS9ddNcmqI+kPPMzjXGMZ3OPNMON2/8W5m+++2c7bZzkNsgAAAAAAMPeQ+y4DWfL8wcZ5L49FU699rkht1e3ZC3qHU5LaMIVLCWpKpPLUORqJHqYuWloij90iAk9aowWmJNN03CACEV9VLaMX7tY5xy6qTuNReTGsVVQXPLoo5lKGSEP8AB2/RxX3Qyu7V7drzJNqbTyYmCGan/B3CXFvylQq2WuSfO36yCc05E/NtQ8RZJfBGVmh/C7jUiJpSSBmIQR6SIrAmGzNXWcfDPZIJEnZEqfKWNHbaOuqTZJ6EucKCPXuwADr8RhLy9d3mn6cjlmt9GW23b851q0RRpnrfA521mzlpPh2jq2RxLIiHVCbK0CBaaStRNemzwnT5WknFa6EK9dFioeWqJ8ynGzJW7ZRFOoSKYuVDNG6DNsCr9uTyl6YZaljiOVEx9O0oyJA5lkZSM6d4xo4qvaJkqPTfKpMWb2BwATOIkzR1x1pOiKq6J3h6fkWPEwZFmu/ksmDm72JZxRDpZjwpbJzF5w36tcQj7VB4Q0yFsbiFaSQPNnRndwIxqvRqseweZsHAflPlNYzq60MmgHc8DbZu9vstVQKNL4l0JF1C9MiMkjTEWqLxuNpp7H9zS0zh8RtJsrkL8z4PMWHt26o++YAMrp6j6WKtfaYqOulqmsMy5U9Yp7NF1mSRpFTVxyhNDPz9Lz+dGS0iLcpBiQZ/71PwT8KN/wDvjNxnaZ2RVPfloTnkeJz6MyOk63QNbh0qZFpYi3ebLcV5xh7BTsUWM6/DkVEGxWjJebemDMZpr7YtjrVtX/CXaZ4ZaYgAhDwL02wcq3lZPi/u+2429pardfact2c7yZn20kVeO2dFzfUEmcfhWidun8N1V4QNjKryQcf8Fdo82p06BmjCdz11PrXrHti25dxjCbBiz3WkKaG106oUR6UoN3eZtzwasw00PDz2xfq47onfZrVK7plbGZnMbjxSWv0q1NI5e5LInSQAEFOJOjIxxN0hZPjFuS2Y65QaLrjZNyjZD/KWnf4LEX9QoXGUdNnXdXoQ0S6NK9lqdhRu3wE5arRuzajJSol0JaT1QdGc/wAR8wfdr5LbuqaLMLtTNGsLS/ySw4mxMDq+R6PRUt9Zm18dHZK1L3ZnNN9i5NqVWatRnEqyjyNDESvUm9YAMp1z2XRF1XOdTNITyK3AuYoO6zqeSuv5EhksPhiIl4ZGKOsymRM2rgxO0ilS1zcz0bS2uu5za2xp3WO+UmxzSnctWAAAAAAAAAAAAAAAAAAAAn/33+xV/EA5x/vIUAE/++/2Kv4gHOP95AKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4muq1E9QwVTIyWc6Vyt1cW6I1vAkSvRE6WHZElOyhiUOb1W5KnVvKXrs7LJDIT0p7ZDIg3SKcSHKaNRp5WpoP+LuGSSB+aPzfMU0l62ezc6vPGY/zaVqtleiN0l8npm0ZDItI22rVS46PQhsdHJS0QSK5WLPzXhqBjYt1zgcgNXqaq3LWPVrv0VHLYrAznuSQmD15sxV/FbadLHaF0Pn0lXu5VjT0kuIsL01uru+xLSLQ6OOqrKd1iDBrPmpqM0Q2PJilkWfHvJOnnPzx+Z9C4oedtXhtZ/Gg2XWW2SSwlCQuNpqJkC5Cpqr28fLVOL2mZns9K+p5YU1oEj/AKo05KjdKduZqFA7y8P3jTsufdHde9wUfVNwzCYvS2y5naVk7yNsb4BVtdVpFYgysZmxUqKam9ghcHr4t0dnMtOjLVL1L07KCi/b5xjwvFZ46eWecFM/6/pnmWF85SHpxgYE0CgjGzrUL5W/OCTfR8gUfk+zwrXuaOybJNPTWdb6DU5OWxu6mJVcdo7aVIhkr3wx+Ua3M6QPiWn6NZzclmdvds8w8jyHGmc6mG1/Npcrmk+QGbevpj4tkser8+EPZe2DNVTPK1qLbTGqrJpV+sYxrjGuuMa664xjXXGMYxjGMejGMYx+jGMY/RjGP0YwAn95SttdOEL133210001rPbffbONddddbhr7O2222c4xrrrjGc5znOMYxjOc59A3P+c0c/8AUDJ/81Qf/UDDHlK1134QvXTfXXfTfWs9d9NsY21212uGvsba7a5xnG2u2M5xnGcZxnGc4zj0Dc/5sxz/ANPsn/ypB/8ATgPap1CdWTooSnkqU5uM5LPTm6HEmYxtnXOdDS9ttN8Y2xnXOdds4xtjOM/pxkfsPxTp06QnROlIJTJysZwWQnK0JJLxnbO2caFF666aYztnO2ca64xnbOc5/TnI/YAAAAAAAAY/7p5NaO0Oc5XSqx82ikgNWtUtr6X6lnH6xWfxg4xVH3VSlJML3Ut5+py1ndS9PWP1anVaeixq4EpDS9gAAw9V16dQMsTa4tevJFmvNssTYQ3vEqp2U0g/1XYrg3lFpDZPGHeX2lXjxFi380o11Mjs0jUeNZcH/AU6t0wWUaZjipvGrK5b447V5Nvo9mh82tKybCtdhVR51zJi67kb1Jkspg2zosSEoUbspaV6AhPJUbQoUIVrUqXIm929sdoqT2oABJhx8iz7ztirefem6ZmaXq6WtLZGYhszvkHR0hdsqT66shUmjNyyeSMTRGWl/dyk6h4ZJY1IJrGFDwjbSou/nLWLd88il+cL9475q6PnUNiSK8+3OlJxObdlKGIPMUj0Pa7Lm+7oojrYidrJfochUV9XK5yPXqdjzdXp5ULXQpuatEqpMUgolbFL1Le0VNhFyV1ELLihp2qrVlmDGhekqVbprtoW4N2ysrc9rcidN99CXJtOSLydd99SlGmN9sZ/Wtqoh9TNOrDCsy4pnKTpkiRvk1kWNP0zajRe1wkRM+k/lcnyyo05ZuSCkjTlEn0TFpk2Cvg6RKUSGSGbgblZVRKOIyXmWPOLwprb4gkGz4wV8qtt4dz2HZA7OrnL0z05MR9hPK/dQ7qJJrMVCbeQq9nQx7xtndTrwnwPQlxuPG+nIHdlFvSVir1wzH4k6PE8gTugndatEgTyCv0ys+qbNfX5hfYiaQS07NhvwVr0Y2djLId3MwxemKrWADE77WHzPKYnSbiHmVRO57JDDVzNBkU+ZWdhOleUBbe3PsufrZsVn3TMDeVqWYtRRxWqc3DRN8DITI91WXRLl7prhZZZfEqpljUVnz11y1yEi/IpYeXWt2O2zunEpadTtKHeS7z1HCmRkdNmxBEiWhkmbkzwmFJYs3xhIpzCWIlJXkAGA4BdHbSflbR7n/HclcOsGGOp2U6DIbM5+TQiczDVKqTETFNJ0tvZRMMTUnJkjpJGpSWmfWw9xNaY43PyVN8a6cEXxw6ruHhmTMLvD5w8dbvq0i8yJpo51y02km6gakmurK9JH8uwCoPHoo26I0sHYWNonilvidYaNra0nGvbUUqxXMAEqVjj2tb/AI6rcqq6uYJYg6hldGTqnFCNnsDnxVG5zIJfCZBE0E/SPCW3imtjQb5UonSXNjhq2qULisUERhueG/TXKf33Lcs6QoLkykqjfeHb4frCq6rIzCHBMz2TyCVGHJ6jjSW3fCE0gXdMELyWhaYn0Mwq3jpi5OWd6MtZ2xeddqcAA4kotbbLpVcVeLyZUUXtJ80d32UQ9ucGh4SQjL2/OjozQXR8Ys7NMgNhUfVtUWVyJEYaS/rGlQ8YNM+G+tnlsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB69Y7NTfvqUvc29CZvp7TQtYtTJt99PTnX19dDjNNttPWxnX1sYzj04zj0+nGRP3vF6Z1xvFRCJ2bFh+e/uctsEpV6VQbnXX88vW2wWUbvvnXX049bPq+jH/XIoEsaWpw31NXtjeuM009noYsRJlO+mnpzt6mu5xe+2unrZzt6uM4x6c5z6PTnIn73iys6E3io9E0tiM/Hf3OWuDkqBKnNxrt+eXra4MKK03xrt6Metj1vRn/rgBRIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHrndoaZA0ujC/Nbc9sT23LWh6ZXdEmcml3aXJMaicWt0blpRyNwbnBGcckWolZJqZUmONIPKMKM30zk6G+PHgGuZey2DXvDfHsEnsbdUz5HZvDeZqWi8vYXtGpLWJHhlkrJCULy1uqVYUUqTOCFaQrIUlFnlHam6a7Y2EADhm5ed6O6HJrpPd9XQ+0CKks+LXRWpUvainUuG2nCfhv5rTZl1NzjBDyzYcV2iYzfBhG5ao0tQQcXt6uOZgABP8A8pH6iV5/yy/rFXwoAJ/+Uj9RK8/5Zf1ir4UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT/77/Yq/iAc4/3kKACf/ff7FX8QDnH+8gFAAAAAAAAAAAAAAAAAAAAAAAAAAAAGHvIVfl4c+85qnjmGARqy+lbKn9dUfQ0anS5U112nsi1pOjjbbKbFcUJqdYnhMIbDXaYPqZGqSLXkhk0YEKtKtdU55e4RnbrCNVBJ+f7FLvWwi6erePNyGcudy/nc0QBbTbvAndBMIra7PNn/AFMY4y+V/KGZok7Q5PadaybLW4pG+Njuzq1zUtDDHBBXdls8f2vAuuelGHPZFc35bNfKbzo+IRVLB2B0iitocoqlZIc7wKKs0xhDYmdC2d4bphEkjzI2rZdkx1bX34skLbzz4x+zs9/cTUz0+tZmaPSWXlzOLTtmjao9dF01g1ZPpPV80WRFWqOUqj4a/SCIrpJDsrFateXF3hoJclRziUq3zDWe+O/uifUXO5P/APaDGxm8f/Qzuquaw7YrPkqp43L51DbY0ZUrw9OF315NWxliURe2DKTV/n8Z3h8AaWrdc+SCLoYyW6IS+xLxnyrTfEfMFN8tUAlWp6mqGKYZoupdHEl3eH411cl8mkUvfHRKQkRLn2aSh7epY9KG1E3tO7m8qsNDa2tmEiBOGnAAAAAAAAAAAAAE/wDykfqJXn/LL+sVfCgAn/5SP1Erz/ll/WKvhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP/vv9ir+IBzj/eQoAJ/99/sVfxAOcf7yAUAAAAAAAAAAAAAAAAAAAAAAAAAAAATr8o1Ox+6uVj2Ke1bJb3qGJWvT9nXhRERRO7xILcqGv501SCYR5tjDCoTPE4VRstOkstNXrZua5WApghENbETm5PaRtV0UGE/Ix2a58K80rrlilOSHoKzpFYtW0pTNLxt3TRxXY1w3RNWqBV/GlcmWI3FLHW1Y9OxWypzNb1m2cllICCMqlpG+gTssvz8+E3mTmkwqvL8qeYRmHQPaJ1zyxTMNdCZU4J2ppy0MNSIapzFGoiuE5mhRMdMb502RRjjxHtEzrql0I2TbaB8CsU6FhfiY48YOnGZ5i9mlQ+WOCGHyMpYQ/wAJq15smZPFKQ1zTOJxq9BiNVGuhbU1Mrhomco2wpmmNuqQhzaFmomCa9edZdYe1z58CXjFTWsct0eNLCc7mppdaSZw1N0Uknq5+lkWHhQ7JjtC99nBO6YxlSVqeSZr6NNsXb8ctidWWryPCJx23XzZVPTrlYHRLdZdbshiRSxQsuMdI23FYOwMLkhc3pG+sKGumWIlskmTPDoTKGr4JIdHBZhz9uYG4QAAAAAAAAAAAAE//KR+olef8sv6xV8KACf/AJSP1Erz/ll/WKvhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP/vv9ir+IBzj/AHkKACf/AH3+xV/EA5x/vIBQAAAAAAAAAAAAAAAAAAAAAAAAAAABOfyt1H0hePEFmVzySTAD79eJRT58B2sptWLYw0OLdb0IW7zfRyazNXqJyGrCidrXicyYSF73G5NB2pwbG5Yq00J2owJ9eTKVyGNcy7tzR0Wdx+wWBZ9ZVnY3VaU1hRL6Hr6ayQlreZS1Psq20jMRe5M4ZZ6vYZw+7aoYS9T5BKtc4VtCYBLkikfyqApOSUZ2j4rFJpZJehig6prZwaeZppjXY434PVyYjBhu2M7mewTEE422z7IgrT1S9am+MDPSm3FlcHdeWNBLc6FVTzo5dPbJq51TPNaS9Ov6ZuFbCnWvVqRA1l6wjavz4qRFW8xsbVbOxkIWhegRrkKhMV16TfHBAm+xH2Kz38oz8qMTithVq23fzJbjj5HG5LWVt1hhsIaJ8oZ5Qs2QxiavFYzJPpIZaXE3tvbU9bWTWCgnfCjZ9dS7JeBoulk/i251QUPK5fO4c1u94tT5NpvMNJ49zO0G+/bNTW7NE8pJbmhO7Ria2UXJ5dCFRTWjPPhj4wKHTVQ9nOaxSFggAAAAAAAAAAAAE/8AykfqJXn/ACy/rFXwoAJ/+Uj9RK8/5Zf1ir4UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT/AO+/2Kv4gHOP95CgAn/33+xV/EA5x/vIBQAAAAAAAAAAAAAAAAAAAAAAAAAAABkjuq7uTefOV7csbuBZESuZSmHSN2U0TaKnT1ll6GXLE8dQwv8AMRK1PiyYrZO4uCZsSMSVoXbHbnbKlGidCkVLE2txJXzXTWmav4bXW5b2r8sc6cvjm63aHjcXiKieyCe9K1rc8Rl9LVmghqc5Pu/o7KlDTrBpIRhQnPQRN/f3huPJdW1AboENrw8ongd6I52gnJ1neMbtSd83VblGdVELjvGkqh7LCNUpJ5RS6vJBEbGiEyivw8hWp0c1LO6tR74WpUfHOVuDzPX7B3iKtCgri8fNGTnluj1fOHPuztd8PqmmXNn1YH6IRWseg7VrFMZKmn42fzUczkp8PUS2Z6rH57cTJS+u5zk7uS8xStOmoi89nVSpClVb+AbyzFGKExJ+5OKdccalmGF677l65Vx1ErzprvnOuuyhClP21xjYxKTvnJWtW/Gdf8k6j49ht7y+i3vmiTTy1OpTHqjZQ0qmKX18uj3Vd1xI1um7WtbGZWmnbj8Q6vs42UNiMxTLHV5VZLz7fG+4b1AAAAAAAAAAAAAT/wDKR+olef8ALL+sVfCgAn/5SP1Erz/ll/WKvhQAAAAAAAAGKep+3K/5p3JjfxaonFkLUZDgREkKzDaja29SZsWQvkT5slW6N/wjQo81E2pUa5yVallGKCG9CsSuO8+2by22OU8bGyGp4Svj+xmvqIGZ1fWh4KJ9P/H6zsuOe0SgzGP065wyptc5x6M4xjPp1ndf0neJld9syR9ytw5OVgyvJiZwNMOVNqVI8q0LczbbGb77aEsjcmSNCUj1s6J0qIlOX6CytcY4iGjP5W/Nn5s5Xv3M3dO7PPqHWeJ5fd1OC4fR4virvs1NLZt16dvmLOT0Ny/e3NyuuN21rXy/RonL6tfUr9JTs2y/Hn4r/FfH9O4uvs3AR7LzvJcbq7PLcnt7/IVemztUV3263GQ0NzWq1NbVnOVVF9Uf27oR+y/Yn7RhDty0desA6DhJM4r9apMR6qd252aXMjRI9MDsUUUea2uqUs5QRqbgg8k8lQkUq0Kok3XdOpM21N0L5jHX98UUid0V6TWMp91RjI/VoucnNKVtt8FLXsEhj5bU6KtMenXOUxTy5txO+cY213ePVxtjG+dd+wENqH40fLXIfNHxLwfc+Z06NPnMbPIcNzUNOE69LY5Di7sVy3dOucpyqq3dezX2Z0+846+xZfr1ylXVGWdfXzr8c6Xxd8jct1fjNm7a4n6NPlOLlsyjPap0uQqzOOrszhGMbLNW+F9EbfWMrqYVXTjGdksYAACfEPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACf/AH3+xV/EA5x/vIUAE/8Avv8AYq/iAc4/3kAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAll5lFc/Y+FZVN6koBR0jcVb3BzbYNMQFtl+kMf2y5Y3fleH1LOmNcbGJQnecwywzY27yWHqy2NFMYKXLI2skzImcjVOamiMfn5UsTR4x7hlkokPREbjUIm9Iy18U8yLDUFguyJstyIFaxRyWoZJF31rhkwVq0sYkMljat0fIR8bIp0mjEpTxlUwrwyeV5M/Pn7IvJv5PRtuZ7PT2m5fkOoUnTff1cevtoTvHjTCtdtvTnUrcwzfTGcabb77YztmsPjauC8765Eh1qdKU6Rz9d0js7pxHO6XTmtqzWuVUV6iuaHs8bNeGhE3t0mWJY4wM5i+YpUhek0XHKJZvuea87qDZLtn5TlzSe2oD1nj88t6FWaiTGqkOOOkLhhIo3J02OTar9bW10W6kmZ2L1WejTCnXXB2ddPXzriu3jq6/I7z5Jg3VKOESWt2yyJ10E1scImrUUxTaPR2sOirXqSOJJsyEOTwnZ5mYxQRuVyxrTOi9M3yFQ5JE6o4krTfIbdABxFe10RHn6rJPak0N9LYw6NiBsailbehXyqXyZ3QRiDwhmVOypA1Evk1mDwyRdnPdV7e0JnB1IVO7i3NZCxcnCdPk+8jMi4ykfHtXVXF0EtsHo7s/kqjpw7OpGyyO1PVN221tHHF8eiE61IpzLLFZonYEbq5HtnVOYpjs1lRu52kG2aXfTvcXZzBxtAa/Vp4mptG677tqG8+810s3vBUfWWlc0/UmkMja5yM5C6lQ2BxxAmcJXY08UtTmliUSaV6wptdnc9oZHSGflnWQGM0/413R/tyrJrcs684Pj9tq9ZBFZsxujWS84epQhPQsv/bNFbfWFWRlAxQCHKHFKiO1i0eb3uTmKJa9yJ3c/wDHlofZrY3mr/J/43VswbdYxIF/a7jG5k0HM8ga2x33rRkZpjNI5spRvkWeJnAIwly8QvR7QPrEklhKIh7aVbUpc0K0K6Lbw7gqHp3kWmrMrxmv2B9K5txNZ9m8+89WBDa15XU19BCpYwLp/aEmvayiVSCXvpiaDxlDIINCzZorOdZE0u7I4MieuXqmIh31H0dOvHH23434EjsKeWTzh3hacm5dsKHWzKl9gyODXCvRsi2oLUrubyLY+WIcSOTPCqLWLCXR+cINoyGtC2BxiLOTcq1dLiAIbdd9keXCEdpy6leFuGKK61pGFVNUMimDzL7uZKMncNndlOllaeuudpbMtW2RxLZphiQxMijkFUvCJXqt+FOCnVUlJT085bVdWuVVpHnshuo+OXE9ualzMg9AmTF1hkBjpyRAW1xNwmk1XbL7AlSVSU4L32UtkdhrBgxxJYGhjXp2L87JJwwkpFnsLqXoewY31Q5J0a+J0lX0/pumnuJNUthUugKaxHZuV2XLkhkgmzOY8ss9Qr41FG8mA59gkXr302ZNro2pmTN/jZ7Qsy0+lPIzwbecj1sCzuArjgrfGbcOaGKPPdo0Te0XXzmqlM2aIwgZYybZUKSNzhGZs+RaORaOvpW8bc00dQOKl1NVBoTykfqJXn/LL+sVfCgAn55TcGZ4OvfBO+hZ2dK1wUYaXscXoZm4K/wXuYVoaRsbprt6Nty9Tidt9cZ1waXnON8bN+AWP/6qhP8A+377/wD6WA+2AeGg0XloyNHRSjWL9ddsKVKBCc2ozds77Z1yQhUODqcn1wXnTXbUxwU523123xtrrtgvTzAAAABAzvTi2dsdgyi5qzjzjK4TMl6qSSdAzFHub5F5M5qDVT8pPaysHL1bC6LTDnctxRFnktZqlaicCW9GlQKVsx2eLSaQuujEwR19fHsw3BJbO0NC9yddzts+jUrRvRpzlexmc4zjGmCc7ZzjP6B3KwGvb5L/ANPnpvd+68l2zr/duR6Zp85yF/KcvwEOB1ua1sbu5dK/elw2znleKlxevsWzndHWv1+Tq1rbJx1/TVxTq03N6L+ZfZ+q9W0eu8z1XS7Ps8Vp1cfxvMS5e/i786utVGnUxydGOP5CO/dTXGNcr6btGy+uEM3e2xm3Ytm54++R36hWd+sGx0pSGxZmhTtKVkLUlqt4vFNDiHA1GvOTb7Jdnd5cSEihemK3VFt5DU3FaKdVR7imKpGOC+lLZkdEUlY9yx2ENlg61hEZFO36Mr5ephilbG4ozLnx5+JnIiIzAtS86o0JnwFuWI29IrMz6hjolzjXG/xnGnVMW7JoSM3dGWRXElDi4v0dlkGc12ri8QWYRpzObneNOyrVE3e1UllYROqYzdAiNOanVuUGpExh2xBdzvjX46638U9M4bo3VKLquH4aq3ELdqyF29vbWzdPZ3eQ374V1Qu3NzYtsttlCqqmuOYUa9VOtTTTXWDvXduc+Q+0cp23sVtVnJcpZXmVevCVWpqa9FUKNXT06ZTslVra1FcK4YlZZZOWJXXWW3222T1OAm/YXkFywdzQHhuvqlLnUnl7W5qHmxHmfGw2IRR9YYWrsl/ipxCOCzJe7PDZAjIy976JfYaZUzFiQKPgheypcRzTZPUuWm7G/mamYOXb177xQqwJY0LpT+Yte1bAlCv4vQSGyp4VH5gvbVz4v3JTxyJxuHymUOZJnxqpbWxjyU6m52xFrcBjHPVj1XVw13S3SldtFXOlzrVbNTNhQucrLGq2bSxvT4VKoE7vLvCa7kEHnatOYUfHWl3jaxjk+MmomWUq3kr4q21VMpawQCIymdStwKaYvDI69SqRuh3pyU3McfblLs6rTMY/4ttUqFIednXXGdtvU9XXGds4wA+kAZp5E6ZjHXVCQy8Yw1K43rIdnhrkMPc1Gqh4hksjbsrZJBGXfbBCTfCtEsR5PI2NSJDFLarQLfg5WirTUaWAAE5bW7isGlusaY5tsCgmFkiV+u7gzVrfR9yK8QlwdEKRUeXF3Rr+SXLg1Tteq1a2tvjZis9AucJCz6IpCpT7rVCLnSZ3pZSPoBiour6nitjF7RDea2JMnG1XGHoqoaT1paCOkSxsTVfLsnO87OKevzGZ2pzVuToVGn1wdkzAypdHY4NTAJy3v3FYPPnStK0dOKCYkkAv+VGRCvb9PuRWkhZb9n2+EUalrViplS+OTF0Mw3ENjLhY4tTic7pvgEkVEIH1Q0c62Lelkst6Q6j6rqeLWcteYmvms6kDpajhCUlTx0hdq2sjhMUSSsJrnOs4cC3RugyJvWnvD+tj0kOy1o2SPu70jDUoDAzh2JYKHuVt4p1pKMnLnWqTbwS2RtcLgU3a1qVJXGKZOURrFSGrC5bl3bDisR4t1Oa/U3KN/Of2Wdt9d8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn/AN9/sVfxAOcf7yG4HdNKjjytmF5j7amwV6DineMuL2eYf6+2faFKEUsj5ZJXs86a+x3TH7+vrtv7f1dsF6T67nSzElXxTu9PsacEPz/edMbJ2uJujOryZnEy9nvharmj4Trppn053Lyg22Mx6Maml+j05CkoAAAAAAAAAAAAAAAAAAAAAAAAAADF/kAvPfn/AJfm0xaKWU9IWA/u0MrenaBS7ISN7auWw5Y0RmtYwrcHL/sDExpZMtRySVSdVnBcUijC+SXX1jWkvXbXMgf2WKML3KJI5JGaOxtocn9+eF5uCELSys6I5xdHJadt+glIhQpj1Sk3P6CySt98/owJ2Otpw7yTcQwXobi2126JOT/K2izuU7RtqByWPxtTaVXWC5MTK2TGEShFH5cpr+yHBjkNcSPZlJRyR0r+XujvBVujucyLtQm7BoD+VPZeS7bmN5+LXCZScU8mcoLItaBUZSt2xxytRD/lVj0CVy1rfsJdtGpM8ay+aMqdboQsOVuSYtRsst1yXZLXbFHsUzS1oZTMiVSizG606nOUtq9RALxZrLlrXebCa8M+NWuTabW2lmLmjmjeWUinjc4o5sjKLSyAnXEM5j1Z+U6Sh9zUcA8XvHFVvCk/RmU9PS7qBisOlm9Oct2QHTppgbTMo9aercWTjdyQMThGH+SJS9SDHOKuGNstp9uOLufZLzHzlBKpntkLrktItXMp5cltuLciaFFkXLbE2kVoWpLEzQ3pkiNlYl04lz2TEmAgjUqORBMwx8nOSWsvIDUw+clkOiM8ZFMZnMVjkzja0xMasj8sY2yRMis1GeWqSGKWl4SrEB5iVUUUpTbmp99iDyizis6maa7Y+jAB16/KT4trl6ue+XmXlfmzx7QKFc4dgUT1i6yyfTSVV/Lreb6kRSfV6o2QwiuuPZu0sUQl6yTeotkCmwpiQcnZ0R6uD7mn/B0moeoeEbCuqMcQXlWsDoek+tuCbmcLhq+sIrMX1woJ7jcxKcIxc1G62Qip2AyFgZLahChI4Ym6Wkizo5Om1t2WRWQM2jiqcK5gAkFZ/IFw9w9i8YdBdEQZjpCmOEZFMrcgdXaThtsKw7a6Dkja3MMakMlXRhGVFIXXFUktWZLGNUEif5ROpA5ElSNjhzaz7I3fYL/Eu0j+2YHNI5bFQoODkNGvzJYdNuEPXqLpe78PkS5QwzFimOiHZCjiCSO7tKM5Fu9pcEno3ck6NvJz23vkZ14ACZEM5qkXHN9dZXTzrzZCbXU9mTqPWlYUhbrIS1zZqacsUd0j6SNzDExRuEZfa1QuKuTTBlkUbdEcmjqqbSVl+TuTexRvK3w/HXwjLuZZv2B1Fe0gisj6v71txmtC5Sa/Odllc1vE4K0L45T9Kwd4f0DO9y5trePOrsmXz51j0WXS9xczT94w0JECIraoYAJ/+Uj9RK8/5Zf1ir4UAE//ACkfqJXn/LL+sVfCgAAAAAAAAAAADK/c/wCpX1v/APDXd39N5IJhYsJq8Znf99R6QplhfPPacJkfRFWtTeXnOpfR8JRHGz2uY4R6upG0gsrc3UxuRkF7bLHZ8riMtxJqg31BXzoOlEHRFTTGnHuczuBxmfMrjGpW4V2bD00hc408Izm94YtVszh01RIkjoiUGplSlA2pXTQrfbVK4JvW2zt85LuYK7srWhVVrqn60ZLzrP0NmQWZyzWMJ5Gtlza1urahWyLEUjEZYlJBBrgheso2dkZE6h+jMaclWh5jeborCSimtnisPJn4wGuXHJltkSauOv7Eth0Sbe0TOVoz+FymTzTKI7OdtzGRpdXAyNxUrfbbCCJMjC1k40TISS9OU+Bkatk8k/lmbJqYf+fbxMKMkcdy46mFqFtZHM033YjmnB2PXPbG1scYs2Kjydt02u+jaRp6mxWdNdqWRxRGrM6aq/qxxua7mGw6cbH5lr9ljiioi4SztMqbnJpk6A9qfKhfXd10fG51VplSh0f1a1Nj2BrYqQHpiDS/oL25abrKliG660l7xS3TUVhztD4bcEaIQOBK5hWm7uREJs6IvCRew2HXmX3BLmayuSUl3a1Ptl8VfY+6b/DchgPzl4XuPPfOkXiZRim0pN2bTCKqyEOcZeCpcW1TfCRwbytM4U5wn3PJRGHEZ1wSockWN99cml422V1/L3Fyeqeophgczs3E0lBVl2pFoD+amz5pTdRujO8np1X55SuHMWG6aWesrmGubcseyTX2GLZ6SiSr9W1eTpjbm1ouvW7yph5JKmt2Z31Vy5/R0PaEFh620OY2uOvhZRS55ruK03EVa6Azt0Sk4TOsgtlnVSJQ3JkRLc/se235uJaUxOgUkaviwOhNrQtGRvtjxaMQ5XDZLtXxkHjUXiC2QukcZokkbq6Z5gzJ0LlK5A4KtVUuXKHda4ZPf93I5GgykCX/ACVPHLnzyL3zQEgrydVDWPZxK7pWkozYWsOKUJ7bZkRRN1s7P+Y0wmbDviUEplcrwn+NCFTc3xxuR7N5BalKoXUbfOoj2S1PkuxzZ1O8l/nM0Rv5SmOrW5dVfquxyEnMh/OneXJ1P5stfw3Jru5/FHtEhKNdvqlOyRjUz53pXiyHdOWDR9myG0rhryVc8yJXLK0VVetrVtw3yBec1Gr1jifL6xmzi5JXAplbkbixnL9Y84oiMp17Sp1NNzvsNMVuQnIJNUnLDCSSijFanVPqoVbl6a6bqT9UhCVJqcftjJpuqVKmT4322wSQSXjUvUJ8+SWvoVelGJ+dVjQfIbjth+T55+SNS74sfIhYcX9Rw1uA55KTq1UZhVYIlW7lPX8kjJqpjcfzLasKpRMo62OHFXiuuA56iVu0Db7eew9lUtYrzjpbD44GuT/Zzs7nalxu40jorxqe8xt8jSVkYmfKTGrUwszQwIGVG1xVbFExmy4TzSjh99zjodbbtuTqWzmMtULNYZsZWCqIRWIsqxe5N0cg6VgrCOyCMtfxm4GOjqSlkm+8lc06BxlBj0sQJDyuJZnwLDJZ1e3dlNl2XzXtwNsXIhONICsp5uiTnESTFu+0fkjI903IFErSH6rcFbqJM5uzkTo2sW6JclUMDMehDx/IzCq/uPnly59kkfNmFi3Q4FsFFRpqVFoJEktFqJ3dGqwkrtlOrMjMarMnQ2Tz+VZTGp0UQKcmPKd0cJG2R964C8WFqOBSe7+Y71JUIu1abnS1Zej2+uap2e7pYluEiCA2+1urljRa5xrEQLjUYQJU5eiFkaUsbU6JW0uTJEeNvxzmlExdEP8A0kvt23JfKXuIZgKSIyoysFECicPy4fHGWKHImesGWTsJCh30SObqqJlhrjI1bY0Zk616JaW4lNxRZfA8LsfqWKdfprovaubfhsbKhzOZXS2oW2OKItqc5nKGKQNkgp6TLJU3rfjdcWeXJXR23JLylygMRGN7eYlDM77/AOexDP4bCr+vksFeFbk3IDm5OuXokah3W7NrSQrVEJznRx0QLnTdA3FHGabrVujY2OTjslTamn6oG9cryXhOkPMLxBK+E2mTdNa9aoujuiohbqevzKrbT43nn4+NtVeGOy1+2i6VgldASglSlw8OClxwvdTnF6wo20z8Z50L001+/i3LKhruCM3POuiuhLne4U0yJuh8UsVfUDZXkcWydHhrcJOhiVT05WCVRLCmQ1yYEL86HuCpKzPj0ix62q7bbQNWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACf/ff7FX8QDnH+8hQAT/77/Yq/iAc4/wB5AKAAAAAAAAAAAAAAAAAAAAAAAAAAAD5acw1gsaFTCvpWk2XxadxaQQ2SodDd0+61gk7SrZHlJqeVnBhOyluXKSdTS843LzvjfTONtcZHWV7aqvz81k3U3WtHSDxnXFz1X9+84IaWfJLWV/V1c7esh1hR8ircW9FIA+OFUpIqyHomYmwn2vCo61nNCZzcGKLQ0jKRqS9pMRY/KB4fE5b4vrlMm1cW7bUdiU3o2aqq+pVTvmXSdWxXDDfihmXspDsyOMnhzs7qkLVMWhidEcmSMC5ZJIupTSFgbFRIZh2c/wArB9Xb0R7wken1c+j1T+t/W9Poz6PV9d89T1vT/wAvW/4fT/4v0ekVH8YeOqvmbQzbtxOwJepN7Y6sNtlPEcG6wwtyO6yu82P/AJj/AAjc1VtBd4dvHd4VusMMXGRbZo3W77q9jtsyqbfPz0fu2oDHLwF+YRE47Ik2y5Eh53f3FCkWZJ0yoTJHBWxtKtamJO9cohWoaW5QoK11NNQJTNtiNK2eN7qOcdnciQno2xqtldIy6b2L0gyrainjaoZ51XLdWXTFv1THIjNmpW2tCpvmDLGoQ0JJOkUtyY8l8LX6HamGY2NMDc4AAAAAAAAAAAACf/lI/USvP+WX9Yq+FABP/wApH6iV5/yy/rFXwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn/33+xV/EA5x/vIUAE/++/2Kv4gHOP8AeQCgAAAAAAAAAAAAAAAAAAAAAAAAAAADD3kN6EmvOPND5JaopVF0Vd0+mECpii6VeFrc1xqd23aUnQxuJp5g7u6hG2NMMj+5yuXSxesXN5RTDHl5erm1mGluSXcIgx5BfMD4kIlOX3h+9O3k1N32yyiJOiCZwWFTKab883FEX9rlddyR+mLfAZhVzS/RWVNrapkcTmKleyfFWHONWi0JYu8uiRSGheFJ35A+gOP7KT9LTWpKm7bgV3WjA1rpVMPTSmlmN2hqxrcovGHCOv61Y7yeDnJXJI0TLdplTDM17fu4YjU6YnbVE/E8/wDjh6yivb3HVUdJxeHtdenzs+fI5zBmZUmXtcZtmIWPLYfbqRvdEyNvw+Ny+yGKTvjVJFCBEvlDU6opI4pSF7soL1jA68C+dawYrY9dVf5P+MIRz50dM5BZ8h6IpihpmiveSsNpoGkt2eYWiMlMqg0dJe44nTLmNxgdjtS1OYo0VsExb9Tk65PcnhDjWsfH5yXS3IVQKXZyhFNxxY2Evz/uVu+yqQyB+dpfNJc74IxhOQtlExkD6+bN6X/sLSUuKaW/GiBCl01DXIAAAAAAAAAAAACf/lI/USvP+WX9Yq+FABP/AMpH6iV5/wAsv6xV8KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ/8Aff7FX8QDnH+8hQAT/wC+/wBir+IBzj/eQCgAAAAAAAAAAAAAAAAAAAAAAAAAAA/BSfhMmUKdtc7apyDT864zjGdsFF7GZ1xnP6MZzjX0Yzn9GM5HUf8AHEk/J6nDgWpnDqq3PFXP+i+m65R3d1vIuiLc5gcbzX3feiPNg2aySl3sGTa2LDHWEyeSuMcaWdGpYVcTVs+HBCWlkJq52V9uBUR8JSqU3rep8ITnEev6vrep7UvYv1vV9Ovrer63p9X1tfT6PR6cen0iAlXfkxPhng9bwSHy7kKO2bLY1EY8yyuxn2wrwb3eeyZtakiR+mK9rb7Ww2M6iSupSt5MZmnQppaMrPi5sJJQpiC9Q9J4ofIX43ufuJ4nz/LPIxxw2pef7j6zpOuPlB64oxDJXOh6t6wuuHc8vWpTvOUK9wYXWjGivlcRfCk27fJotuzSFlULWh0QKz7Mct9MVf1/TLVfdLviCUVjJJrcUSiUqaF5LoyyxHUFyT6m1crYHNNrqmcY9JnOALn2Prk+TE6tmcEJ5B6kozRQZL3b8my8Iu2u2ueCoRjG2M4znWzr8029GcejPo20tfXbXP8A7ttc42xn9OM4yKL8Rcg1pwdzfE+Wqb1UJ6rr2YXS9wBpVHuaw2Mxe17wsa4mqGauL27Pr07p4Qnn+sQSPbw7LXZ7SshLs5G6rVp5egawAAAAAAAAAAAAAT/8pH6iV5/yy/rFXwoAJ/8AlI/USvP+WX9Yq+FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE/++/2Kv4gHOP8AeQoAJ/8Aff7FX8QDnH+8gFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP/AMpH6iV5/wAsv6xV8KACf/lI/USvP+WX9Yq+FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE/wDvv9ir+IBzj/eQoAJ/99/sVfxAOcf7yAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBMP6VpmfX7c3MsQmKV9uPnyKVTMLfjKEhSaXCm66dZkfXyB0c8F/F+j+6tkHdHw9h1Py5N7E4R12WEFI39tMO/W+rRdq4i7U2QhA3v9wWY+k19TcYdPhGWpxmzihXOJr5JfgZpCsiB19HWx7sKwFSQ8pxzEYw6t8f1Xytyj7Q5Q58XtZtlQ+aPzeQZucnJ/PQ114y3WRSt72I2f5tNJLTNoySbzmQZSlEItHuZSx1eJG5Jm1MiaECly3b2RvbWdIhb0wXJuTounqE2iCOy5WegkVhua5mryBxiMS6xrOsJyaUWHJ7IglW1yxSuw5gXHmzOrpJlkejLihjLVtq6yBS2t2fhQ8uob8q+8tZeVXz07GvNevqaMz+IS2HzKuZ5CXxczoZA3IpRA7CYIxLmgp3ZHJE7MTopZtWeQtp3w9hcHJJpudr12OE+lJt0X5lPMHYDLX+twWbzxJqv4vpRmfpcRCoPQ9GVyqmJ9sLXSV5Zpc4sp933I0EvyNuZYg/PUsdYqpJzogjkOdF7NU/x7OfGslszueWUDU7hSXUDp0Knbe+K8lDy5OM1R3QzR/wBMVkasjMqlEQNhE1iLjtLK+lFc7N0Ulze7Oa9WhRTFPK2lqD7vykfqJXn/ACy/rFXwoAJ+eU00sjg69zjjNCSSdK1NNNN31LLKLLuCv9zDDDN8410001xnbffbONddcZ2znGMZyNm/KXXH1gQn71MX/wBeA+2AeGgcEDqjIcGtcjckCnXbZMuQKSViNRrrvsXtsQpT7mEm66mab6bZL32xjfXbXOcba5xjzAAAAAAAAAAAAB8nK57BoIlLWziaROGozs5wSrlciZ46lNzrjOdsFqHdYjK3zrjGc5xrvnOMYznP/IfvF5nD5uh2dIXK41L2zQz2W7jF31rf0OhucZzgvZW1KlafUzOMZz6mTMbejGc+j0YHD7Ie/wBfvD7PHn09se/j/wB+vn28f/fHh3M8dyGNPHI50dzHH5n9WN7OtfjTzZ58fXjazD6Mz84zj0xP2848ePL6UAAc3TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT/AO+/2Kv4gHOP95DcDvLIrHzykz9Jo+yKTyvbkp3d5bm084j19i/bFFLVJJhhXtNN9Paaa509fXbX0+trnGJ9dzzSHPivilAyyyNPC7bv3nQ3VE1vrW4K9iy8TLJhmE6RUcdnQvGcZ33xp6umM4ztnACkoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMRXZRFpLbiXdIRTqVkpxqi9PmQjKCa1LFpzG4FHUr2vmVhyptkL9LoxpGi5pqgiBk+VK/XSnN1Yw8w1SnIaDPX65vjh6MjUi86vlK2L8i/NsjT2Ed48Y3EZI1t9UltPYmInULo3v8Ipk9PZSlu3kMFenw2APZlerJo57vS0gxU3Jl6f4Jv3DwAdd3giCsHC/lp8utf225skBbu2phT3Y3N0tlTikYmu3Y6a0z9PfEejzq5GkNy2R01Y0h1xIYwSuNfEcbljHLDG0hjdSlQ87xcQSQ2R5VfNF31Ezjj+Xr8mXL9J0nLEmcbRi5pDzTTSCA2tPocswX8Gk8KjsxTq41G5yxKl8akrguliZrXqjWRZkq9UwgkIsJq1Yp9DYrOGTRUQu0Z5hHmiTNWi5LtnZMs1b3pGtSaqk+2c7EKME4OJ2znJe+uc+kfRJEiRvSpkKBKnRIURBKVGjSElpkqRKnL1KITJk5OuhJBBBWmpZJJWmhZZeuummuuuuMYDA/lI/USvP+WX9Yq+FABP/AMpH6iV5/wAsv6xV8KAAAAAAAAAAAAA4E6cusjnyk5taGUhLi5s6NMhjbWoz6CHCSvSwhqZilOuDkxhqBKqVYc3Uog8pVu0oF/wXfCjBXp57GFfI3XbvYfK0z1Ykypc5wtxZZ7o3pPTkxW3sR5qd+3209oXqYU2x9ydXowvODdt8NmNSCTFOScDp8hZdVo7dtGPN1evbOvxjznEowznEsY8Z85j/AMsR8Z85xjHj+s2+NuN4XmPkHpXFdinGHBcj2jhNPlPeea656exyFFVtNtuJQzRTsYl9F1/vD6KrJ3e0fTzjrRTywZraEncZlYEldZXJXQzO6t0dlGTjcaevvuWkSE640Stzcm9fbRE2N5CVuQk+ghGlIJ11Lx7OrrXn9My5BNq5kjhHH1DtprvukO3+BOiLBxR5rU9IM7fBXdoVbklZUt60s0jfcso7XXRQSQcXx2Ah7FtuLPuxZPFuJe/2+8vs9/Pn39/Pt7ef77efPn/tvQs4biLeKlwVnF8fPhZan6GeIlp6+eNzo4r+rGn+j9f62NbFeMQjRivFcY4xHEcYxh3IKLtVuu6o4JabYk2QETBk0WqW/YzB2G52SKVDU+txZ/o1yoJb3tA4I06nbQrdSQSWeYQRuZsTpywMocPQB8rTlmpItJUShuffih0f3BvV5N1UocyuRPEnRJFCY3bOUKpM2uyIlah9QkxOt0U6qidFuVPp1eJk0522amrZdjOLp69M7cZx65xZKuMp4zHxjxnEs5848fzP8/6aIe76PE8Z3Pt3G8DZG7g+P7Nz2lw1sbfvjZxerym1RoThf7T++EtWurMLsyzm2OcWZ/svAAAOyxcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE/wDvv9ir+IBzj/eQoAJ/99/sVfxAOcf7yAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE//KR+olef8sv6xV8KACf/AJSP1Erz/ll/WKvhQAAAAAAAAAAAAH8zjG2M67YxnXOM4zjOMZxnGcejOM4z+jOM4/RnGf0ZwP6ACXlz+K6mLEfF8jr6QutQL3M/ZSrZmtpRyCFlHGbbmHmNcdNVsyxoweZvnbCFC+ls6TTGhDa1ok+mpWPeUP4xqXqKQIJdLndztuRNRnt2tO/tqFqiKJZpvpuQ45jBRrkYvXJfVzhPq7PDg2lb7/CcNvwwlIpTUnAeXjheLxf+zjSqxb7e/n/f6Yl58+2Kfb6cZ8/3+V/zP9S7b89fMN3Xs9Wt79zc+Glr/qSrzLVxvz1c1/VnXs5vGtjm7KpVf+OcJ8jKM685hPEo5zjMm+0O87U406SoOPSZhr6Q8zWg4JyLHl5cekzZNKja10gQRJM/uT1ibuDA5Myd1em1wWrt4k366pUypo0Kw4uDYp2ovclnNlO1ZNrOckh7uTFGFQvbmNBtr8YymQKdim+KxFn9ONtTHqYSRa0xlkKzjOp7q7Iys5xjf0jFPWFERfp635LQcs2JLbrI4othnTrDC9TzGN8Ltypl8Vk5BGf0mHxqToml8Ta5x6hh7foVv6dN9tc5Y8fVs2B1RGKb5+tppdkct4NlLu29MZdCFGU8hs6pl6iHc7s+y0/TBb563sHaz35wKO3VJJ1VEaXnY2SvxWd/URE5s4s636g6i5Ut+9ZSnoyDzSFSeyIjHYu0QadPTAU5Vo3o1a5TIF6i20qxzTu6s1W3EENXxVltLJJc8q3X2uzaXzX4/ug7m635Ih3Qs63rKMySzipdvGGSJw+VZY4p+a81lcJ0MfcO9ir18s+HqI6U7bEt6yI/BSVBjdg9QZjVw1xf4ndtc+P7o7OM4zj5beqc+n049Ho+BkZ9Pp/5ej0Zxn0/+79P/Ifh4iaan0q8d/Or+y9VX9XTYvTWblNDIWy8zq4yy/BrnsVGdq2KJ9zrOZaZhcoTmuav43lTrtovWqtEWUbdqjb0gaw8enTt49UNl/SC1yapaW+nOg7E56QNdexOXNSx5da8TxdaqmCx1kdhSgghA5kSL4ORHiGj4QmNJ+E7vx2mMpt/d9h9wN3Kllc3RJawau0Ysqx2tmuWV7lqN0NT17KMOERiMpdlRJxRLR8dWQrbMpVrgWrSKo/EZwiJTauWyBYkzN4W05jTVPaqRe8LHg1s8inRyda/vGGshwdTEcbqwpQ8OuGhvZ2YlYu2K3WrsNbU1tZZ5pvwJvRJNSkxXjzOrbj7PpTqRclpys5RB+wUZSaqZxKbqeYq+MdUwNLsl58fU8TTUvLE5aD85CXO9mxJmVG7rVVjLiTjW8s7CVIFoBxVeEhmkQqOxZhX6qMJZXEIdJJW16zFjdZBH1psdZlzv8Wr0LLJIo4l6OOUeqTC9O652Qe1yq+Ar/Z4TGYh8fvTthXPxIkd1EUNmnSdD/HtH2fXTrI0MXdHa1quySzbJ3iRORKxI0LpQ0YaXtydFKMxES8LnVKXoZhFv6OWnKwb4m9G9H63Rz0loslsqCZ7x45PcEYtP85TFcQlOHQvcuOsrRsyYaNU6DfG6vJ+HD4xzqRgvKM3O4fr4/b5tLqHl6uegrTKgLY52ckd3RujMAj0haEEdRNMokMbwnWuMimUqUPqpcWzkOHtyErEUh2UGofg67Bei3bZatYkb0xy1eqTIkafTJihWrPKTJiC8ZxjO5x522hRWmM5xjO2++uvpzjHp/SJu+Hv/wAtrln/APSkr/qXNh7boCaUdYfQ/MERTuL1Z1sxuZ3fiCU+meW9spt4fovCyGSey65FLxGZAQrT1IncjkUUVxlI8P7XP3N0bEDQvWNUjwwBRAtQQaRopKOKMTGFYO0UFmabkbk7a+vqdobrtkvYrbT/AI8GY2zpnX/ixn0fpH5ErkSjc8tOsSnmJcE7KSyVBRu6fVQVg9PsfppvtsVg8jODicmY1waVnBmnraZxsOtbJm0xZ4zfLjFXrVJogqPtDotogzLHlLkgjcISpVdVP+zDEEWqrTLbGkr5K5MYlZtdCm7BbqtLy3klqDE+uwulOYmSveRzrA58gqIqbT105YfuiG5M/rE0u6Sr+DyFuUOtc7q3d20SyCaTvaQKWUtr03Tu9jbue8K2y8qnZraTQsgjXInFPorb1iVelMzvropRqClSffYvfYszXQ4jfcvbOhmu2m+MbZzrvrtrt6NsZwGVyHCzVuysS4cNyNlWiDKgnCzdLpvgvdTqlzv7fYjQzbXTY7GmS9d9sa52xtnGBK6vueG9N2fbHW0Bp5XDqzJ5wjKFljD5FFteOkq6MbnSRqXSRs8EVpWpxbd2yvSI7CXZ+cGpEjkLi4Z+JD3oluVuJWXaRo1y7N4wpXoNf0LTdezhtdEl3SXoRhpBXpdsKs+JurmvnyeU2isvRKk2b0pvxrHnpnWxlpjpUILbmptYmlgQsydIF/QH4pzy1SchSV7T2Sgko8v2pJyY32ZumpmntE6jQtQQZ6u2PXJPLLOK29Ohumm+u2uP2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP/vv9ir+IBzj/AHkKACf/AH3+xV/EA5x/vIBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT/wDKR+olef8ALL+sVfCgAn/5SP1Erz/ll/WKvhQAAAAAAAAAAAAAAAAAAHBinnGqVd0o+hD0U2zbCBgOiiR+Lt23iGcmLqXJK8Ko3iCkTouA7sKx2QonNYzmRfdvWL0SRWpTmnpiDNPqkNRV405sk1ij+Y0st6Q6SuxHWKO77FX2QyQuPsMW0efj+OubY9NK/DHGmdJ7ZjXtmcmkKV+2MuLm6K1nJIAMkVlw1zXTdcTWpKyik2iFeWGe5q5bG268r4NKcFj0nISPS5G4LrLVuzEueEqUhM7LWBe1q3IgvBS04/TbbXb7mk+YaZ50rY6oaaYpPDK6MwvwljeloWo+lMfxqrXuDltFXGTTV6eIhuucXRe5Kt4s4M+5zkqMcd9srfVP15+ABj2B8G8xVjDbRr+CRKdxyIXSe8LLOZ0l9dAHaSlykWqQqQPByxbaKpxbX1+SokyB6fmVW2vDs2amNa9cobjz0puia+riJVbAo5WUJSuzbDIkxpI3HG5xlMqky9qYm9Lohbm0iRSh6epLunbkRRSRu9u7mmIExJBCTcksgrXT7kAGaKa5BoHn+c2NZFTxaTRuYW47K3+ynFba1uy1FMn5a4LHQ99emCZzuQx497+GuLgYQ76NRbikLXLEyVSSmVHk78xWJX0YtSGv8AmZLyqi0oblbQ+omKVyuFrl7WvTmpFzfs/Qt7j0gISLUp5yZWQldCNFJBm5R2N9Ns6j7UAGLYl4/uaoDCkVbwVLesLgDaWsJbYZFOvuvI7Gm4hwWKHFenQM7ReaNCjTLl6xYtWJ0xJRKpUrVKDyzDVB2+/8VePTkg9gpeNpaycmJFz2qlSqpHCMWZa0YlUX/PhyVPExT7zlim6CavaWSui1WudyH+QOmqo5Sp12zglUqKO2mADFazx5cjLWK3Ip8mTo3RG9HhM+2fEY5aFtxKKyFzT6INTTio9FZ0ytTLo6btbac/kMSVtIkRzc27Phbhhtb9UvEXcNWapaYpGpGyiLKvHnhpsqOb260QSUy2YXnEYZDmlwcoQ7V+teZknnbusIm6WOIn90bZKulTXDsO6diTYXrk7qz0xABLLlugmCOWXEZ9SbZ2rW8LbDHrWeM3SFjzw2ITFkXxR6QNscbqus2UySWlSFqlK+OSRLJjGKNJECJkc20iQOG7grZVHPLD48OP4xZztbMfqElpkj7JC5m7sqKXzwmt18wJV6ryJOqqXWUfJkc8JlxZK5GcZE9iUDiQS6ISE7nphYNqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn/33+xV/EA5x/vIUAE/++/2Kv4gHOP8AeQCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn/wCUj9RK8/5Zf1ir4UAE9vKobuRwPfxxfo9clNXJunpx6ceuXbsA319OP+uPTjHpx/1wKEgAAAAAAAAAAAAAAAAAAAAAD5pK6Kzpi+su+dPgLfGom6J9caYwZhW8Ok0SLc7men076bEsaDBemcegvbU3bGc+0z6PpQAAAAAAAAAAAAAAAAAAAetelRqFndlpGdcHo2xeqJzvr62uDU6U00vO2v6PW1xvpr6df+uPTgB7IB61lVGrmdpWn51yesbECo7Ouvq65NUJSjTM66/p9XXO++3o1/6Y9GB7IAAAAAAAAAAAAAAAAAAAHzSp0VkzFiZdM6fAXCNSx0Ua50xkzKtndIWkRZ0M9Pp001JfF+DNMY9Bm2xW2c49nj0h9KAAAAAAAAAAAAAAAAAn/wB9/sVfxAOcf7yFABP/AL7/AGKv4gHOP95AKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADF/kNqyxLq41u+tKmjWJjYkiZ42bFor8cske2f1zBOYvJTmwp6kq9qYW49UhZ1RadQ7OKJFg/JepykrXb1sfH/Op68/dhdAe8BxP/sSOfrI6ipmrp811Q/Pkjf7Vd4qpnaesqyruxLenqKCpXDZo3m8hi1XRaXO0Th6l3LPZWmSylOzM0gfkqqPsCx0fSDG7H2NP3TV99w3SfVJL0MwjWry+RlwOITOTS7x2VxhxOaJRDZhF39E1SiFTWLuyc9rk0NlzMyyiPOJRiJ5aUSnXJWAyh86nrz92F0B7wHE/+xIfOp68/dhdAe8BxP8A7EigAAJ//Op68/dhdAe8BxP/ALEh86nrz92F0B7wHE/+xIoAACf/AM6nrz92F0B7wHE/+xIfOp68/dhdAe8BxP8A7EigAAJ//Op68/dhdAe8BxP/ALEh86nrz92F0B7wHE/+xIoAACf/AM6nrz92F0B7wHE/+xIfOp68/dhdAe8BxP8A7EigAAJ//Op68/dhdAe8BxP/ALEh86nrz92F0B7wHE/+xI1Lcl61TQEcaZRbEtKjKCRShmg0TbkrU/SiWzicSLY/VihNfwSINb9Np9MXUtKtVIYtDY++Px6BvcnHRvygbVylP6Gr+lqft2YyquIs/PTZZsJaGmRyesbBg85qyxW6LPylYhZZiRC7JjkVkDzCHVxbnFoQzdhQukSUPba5sZb1l4bV6FOGV03SXYZMren3bxjX5lM5R6MNJJWOgeKPa6HsrlLligzfHziPV9mYW/pdSvRnO2dijvWxjGNc5+h+dT15+7C6A94Dif8A2JFABOO6PLp42ucrtnHOl+dd1bTdyV02xx3lUOsg5+iOUzdLY+jlMfUNb+8siSLyXZeyOCRVlNGnp2WIzTcIlydMt/7OA9586nrz92F0B7wHE/8AsSHzqevP3YXQHvAcT/7EjS9AdC1H1HWTNc1FydVNqukiheTF5nvF5dF2mVJm1RskPeov+eLDH1cijChToaU1ytnTLI294IOOZnVenL2NHNICf/zqevP3YXQHvAcT/wCxIfOp68/dhdAe8BxP/sSKAAAn/wDOp68/dhdAe8BxP/sSHzqevP3YXQHvAcT/AOxIoAACf/zqevP3YXQHvAcT/wCxIfOp68/dhdAe8BxP/sSKAAAn/wDOp68/dhdAe8BxP/sSHzqevP3YXQHvAcT/AOxIoAACf/zqevP3YXQHvAcT/wCxI9e79O9fuDU5oCvGJf2hq1vWpC9t+gOKPU1MUpjSdNt/R0RnPq67b4zt6MZz6MZ9GM5FEBwZeXTnOvM0bcJd0HeFWU1H21nXvx62xZvHosaoa2wk45We1N7ovTuT2djVOaWnQsyNevWqtdUaJMoV7lkbBmJo6d6/b2psQG+MS/tzUTeiSGbadAcUepsYmTFE77aenojGfV220znX04xn0Zx6cYyPYfOp68/dhdAe8BxP/sSNf1LacFvOqqzuyr3vMlrS4K/htpV5I8tzqz5f4NYEdbZZE3rLQ+omx7asujC7IF2W15bW91Q5PylcESRWUcQXyCAn/wDOp68/dhdAe8BxP/sSHzqevP3YXQHvAcT/AOxIoAACf/zqevP3YXQHvAcT/wCxIfOp68/dhdAe8BxP/sSKAAAn/wDOp68/dhdAe8BxP/sSHzqevP3YXQHvAcT/AOxIoAACf/zqevP3YXQHvAcT/wCxIfOp68/dhdAe8BxP/sSKAAAn/wDOp68/dhdAe8BxP/sSHzqevP3YXQHvAcT/AOxIoAPlZnOoRXLCplNhTGKwSMI9tNFkjmchaIuwpdzMb7F6KXd7WIW8jbfUszbTU1RrnbGm+dcZxrt6AxT86nrz92F0B7wHE/8AsSPnlPSXYZ0rZX3XxjX5hM2x6TtJxWegeKPa7nvTlEViczTHziPV9mWWwKtTfTnG2NjSfVxnGds40vzh1rzl14z2TI+abai9yxipbWe6Tm8qhRqtxiySyo5G4lLXthZZJslJZZalQMk5jR+8hiS57jRqpYobkzuc4NrmlSaKAT/+dT15+7C6A94Dif8A2JD51PXn7sLoD3gOJ/8AYkfl0B5VvHnyndZvPHSfVVbUhbhUGY7H1jdk7v0XQKYfI3B8a2dyQy9xZSoW4KVK2OO5O7MikJ74l1TFnK20ghWkMP0Nzb1HRfXleGW3zpOM2VWOZA5xptniKNS9ji8mcGcpHu5q4W7ypgYks3jyRQs+K95XEt3mL7vqB6YSncx5YXlChDP3zqevP3YXQHvAcT/7Eh86nrz92F0B7wHE/wDsSKAAAn/86nrz92F0B7wHE/8AsSHzqevP3YXQHvAcT/7EigAAJ/8AzqevP3YXQHvAcT/7Eh86nrz92F0B7wHE/wDsSKAAAn/86nrz92F0B7wHE/8AsSHzqevP3YXQHvAcT/7EigAAJ/8AzqevP3YXQHvAcT/7Ejhe1nzrjpWZ8vx5w4UtCm41XXVFUXHMp9N7p5cf2ZoikELkWzprozV7csslbk4Kd3NMUjTNzIpztt6+xuxemudhWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQG8Pc+cbr7Y86lvyTfCqRNnkBQczt5+225nwCveXIBpAIYxo/aZz8EQEqFkhfTkSfUpNs/SF9dM6brHNWeb43Dk2cYh54fNDz63KckQGXQTinpVFGivQS1s9huFMMMBsGQtyMr1SCnGdJ08VVydZnX27ktYm9QbnYzBphns/HJCcce+R/y20NZaxLGM9RX2xd488Ob2cnbG+2oHZsZUprjxDlagwop1daasNu1YJ+zF5+M2FC9xWQqk+WWTNq87yvHBX5tueUDy1eRBi23cKPtN4525c55mafBWWKy0POdZIGW8prFl+mxhMlhZVr4xEoxLmc4+PviiMyPDetXZRmYSBeUAAAAAAAAAAAAAAAAQGv6fOM2/KNOBqKdd8HRSjvH90t0xHG/bbfJOlhWxLzaPUvhyfOcEGL2yGxN0amhbtpupQJJHI0ybckl2W4P8byZTZxpzy9+COwIypy2LrNnfY3NVgYTegjExryw62rlzbI8/GFeqcvbo5O2hlmDGjO22IRvyTVXpjXJp2Dfc9kQE+i/NV49e+ZUaW00XNaBubhKzbAXZKTRmsJxI3NZZtEGTR1O2LJYme05csfK+YntZvo1FzXaOx5apSLZSz6q/wDPYcH0678zHi7iFfKdJJHPH+09KdP9OPbKYnXNdfOVjw2IQHnODvTuTucibptN5U2v8lKh6nYuQnQWPLpKSh1atynIsL1iLyjneup1172zL7B8csC6Zlye7qvksAt64aupn4sQxFJyDzWw5Y62si2GpxfXV20lbDMU5bXDke8UZ3xOuJl0pia1yI2V7lrvtaobO6/6E4ljrRZie3+aYZWs6sB3e4C6NVaL2a02tO7x0mHzk7fZDIHBOkVp9XFP8HRlZVauSVpUOx8fkmjPnnlboa14fK+323vTo2gGI+AdIWY909CVJDRUz3VPInxifmn5FN3aQrWtvmbJLYqUjfyLAbDHlmRPO8lhz1Ld5lGJPEIYGoOR+sKe7Aq5xntQYembWCzyYUxZtay5pRx+f0tb9YuOGKeVFYMfbl7q1tErhy/BJCjRkd3qOuDeobniNvbwwuLc5KdRDr6eCOtJ4okvlB7Jc2d/jNM91972RcPNLVJGxaxOEspxnWu7SxXWQwOaNG6NbPb2i4pyj+zmUSpdmFlbXxMmy0OTW4OXYLAAAAAAAAAAAAAAATn8s8cjx/jP8kMpPYWY6TIPHj2e1IZEa1oTH1G2KeebHOUNqR33I2cE6A83OTTkZKjROaZnO+5e236RRgSg80PQlDVT44O76+s26aqr6f2pw31fGqwgkysCKxuaWM/yGlZpFGRngsUdnVI/y1wc5K8NbGlSsLevNMcl6ZL6uDDdcZDl3xNf+Vh41P8A4A+O/wD+vNdigQk94XOg6GtTxwcIV7Wd01VYFgVZw7ypHLOgcNsCKSSa10/R6mYZFXtonUUaHVW/xNwbJI0ObIrTPzegNLckKlJnX2pW2uKwgAAAAAAAAAAAAAAPTPkcj0nTJ0UkYWaQo0a9I6pEj41oXZMlc0G+TELknIXkKCiF6PfbbdIsK01UJ99s7EmaZznI9yPgLMtirKWiimd3HZUAqaDolSNCsmVmTKOwSKJFrid8Hb0amRSlxamghUuPzglGnNWaHKjs+zI033/4QEPfAV/7TzVfx+/Ix/8AyqAdgEdX78n+6v5gXy7yuwVN0PSm02uvzed0WrTcONs6GpZVbFa2AXW58JndbR1U8EvE4ispIj72cyPcZRuaBwKa1phB++pG+cXFf+1qhjfbMD4HcGizDLssWjX7oFhekUBdFdVEQiOyJdGVqJ3sAvf4A3yXde2q9ym3ZKYkJK3bCHByQuMhjiB3DF1nc+V7aPeXQT5ZHj+gnViwio+Xj6+sO5qwqlwgUP3aFV64fmyOWLazK9LNJEYoVN5itkrhmkClt32bVcy3jSR0YVjltfkTqynOm4tPmisGV4ryUc72K9UHcVGyxoZI/MqTn8KJTF4iLm1Rlze4mqj6tjObXiESiEPr/B5LG1aU9geTjErihbuAufrwuqKdPd3RLsa/KNYYCxz2Kv8AybWqpub63lsY5/Jhui6QWA9Sl+VNyWx4w8vjimaFT83mOZUNmMSmzO8OiEtS1sbThjw5wqUWF3P5kfIGxEOKXmPr+8aMiPNz0oTno2m4GTm6BSWES27IjorTFbvFdyx5fSSYDM23fLRLUxL6qSGrUyNGo1DsNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPjpvXVfWY0lMNjwWG2AxkLCnAlmm8YZJW0kr0+NsELim5+Qr0ZawnG++ClOhODi8b7Y031xtn0/UI0SNuRpW9vSJkCBCmIRokKMgpKjRpExepKZKlTEaaEp0ycnTQoggnTQoovTUsvXXXXGMeSAAAAAAAAAAAAAAAAAAPAdGprfG1czPbageGh0SnoXNqdEadwbXFEpL2KUo1yFWWclVpVBW2xZ6dQUYSaXttoZptrnOM+jhkDg1cMhcZryGROBxsk85UVH4ZHWeLshSpTnXKhSW1MaNCg0PPzprk47VPgw3Ouud9tvRj0fVgAD4yV1zXs8OZ1M4gcMmaiPK/jCPnyuLskiOY1/oxj4azmu6FZu2K/RjGPhKLYg70Yxj1/RgfZgA/mMYxjGMYxjGMYxjGMejGMY/RjGMY/RjGMf8sD+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5CYV7AbCTIEc+g8PnCRqWluTYlmEaZZKmbXEnbTcpwQEPSJaUjWlbll7Fqk+pZ+m2mm2pmM665x9WUUUQUWQQWWSSSXoUSSVpqWUUUXrjQsssvTGNCyy9MY1001xjXXXGNdcYxjGB+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACavT/YPVle9VVZytypxxDukHmaU1K7qnthWN0oo55glTx1gmDTC2hI7qUNF3U6SBwlbq5m6NCJmbsumdW5wUYbDm1vc3FvwNVfl87tuHvjpvxzRPx7cylXxyjAohYdivLv5DLFR1o7ss2ZK+fmhLDZAR4+Vj+5OpaOymAtcS9ROPIyVKd00KXKC06Y5b2FtWxt1cjXjVvRau5yIhsOddUhGHI5tSnqFSZvNXYLwqMRJ1StWpISbm5IKPVKDiy9TDjNtuqRwX/8Ait/NH/8AC/zz/TXksBSStu8vIzbTW7MzJ434ZFLip7yCxDlvpavF/WEfkzFCecHqpK3t1y6ihU9cq9rEmZpjWOzmXDPCWmPOciySnzvs2rnRQ5MkdtAOv353b86e5Hi3GFm80XZrUjRdnkE5k53umLstcQNyd7Di9gZlax2XrZ4/tLtIGhSWzwFmi5OGEttcMMxysnD1qVqmTE+t8vnQXZVF9t+JOv8AnLpNRW0D606Xd6isivnutoPLoep0Z22NqWp/WLSUEes1wTFbSBxUO0TRWWxM7+YjaExhzcQUs3VB2FgHV7tWV97cq+Yfkri6F9/W1a9YeRak70dJE9dDwKk5k90LO6SZ3exH6b0WyV9W1WQ9lUukRZDIlDItJmKSwhhens2UTSP2SmZ2+O55k5htnpPmTzfWD43LI6muLq+irW4HauyK5fegE9aK7MrewW641tYyGNopDWFd1oyq4g/omt+d9GnMbRI2bclhRNaYncl0WvAdiAB1fI72h0D5EKS6Ku+nJT35VZ+lmX7AuLjeVqjgb1U7ahp58e6/gU1thzlcckbjaL9PpxHFz/YUXc3FFDY/E3Frh0aZW+QNDrPJFYXxhW11/c/FlRy/vOnV1I9XJiH2M2zFFbc3tJDw4xx8XNrNOm5ra1zg3tqebxwtokC1uRHFoW98Vu6FtSpWxOjI0DfwDrz+anobtihOi/FTE+Xej0NTxTqntWvKAsGHu1WxWYMjoQveGleU8vbwoygnCti9Q81M+w2MSmF5kiArRs3krUSrWKNuBOpLI758SPbfBdgzDt6zuzuNu4OlIxyheVd3tCakZHiqLLs85OTDZ/VbvVsLhBDFH0euj484iCVq1b0bRFHNncPzkcpG1vUbDtJgOuAz9m2f3jKe1MRGS961XXlFdLWtypRDvxbVsLkTVu/UmiY2eTXBZEtlbE+rpg/vVkrHoxmrP/uWDoK1bo1q9tT1IJG4uqPKvQnbPmLq/wDJ77i6lvlU7cgd2c2S5jgkpe11VVu4rLyhkjtOpIEx2Y1sboQ+xaAq3SO2c4Fr1TKw65Mm8QclrM1RVuVJm9EHbpAS/wCL6H7IbrLZOob07qk1vVzbfMsHQquTdqsiDHXVZ2k4/mnISZvArBQKSZg4pG2PkPEacE0obVjxMXeQOUudXpClTx2Hx3xfMd03dfIPDUxvilWaXrdolYdPlXBJa8jzTLLCrXnZzsRhR3lZEEjj+idGBdK43AN3XVoXP7U5sEYPXfng/I9mePLjSgqUAlpwjbEH6SmBHRPJna7h1DxdLqfMYzoFIpQ2yyTVRe6CUMbkU4uix9jyK5WFxl0LcHIh8gNmu+NYiqYEK2OsTe3ynbUqR/aHS/cPI3j06Q6Tv7q7SJ+TOsJootiKc/0U9NtpUVXtJmXezssEhE/qZjgyohDWE1rHJ6ZbaFumpJgfIHVPo1Wk0yDJccTh2uwHW+83PY/V9OePzkbrHly7nSjpBbVz8sxqZw9HFILJWGSRi8G02QOLUrfJHGXGaMO7eqToUGHCHP8AHlyhnMdExhmFStOrR/BeRebd/cD9Y+N+d1z3fOrXx3D1ay8dWtT9yVvWZnNUUcbdSpGaEzqra0r+PwywIy11o7qlUhwyPdyyyay8traGORWkeQqkC14Ds/AOt/P7D6q4J8w/jfpB/wCzrz6jojyNR7qWMWTBb3aKZLT17YtIQZjnEaltSa1LVNZERBmXL5EzMJsW3TuKfVp+OFDm5PK85tVNPGtXzDyI9PeXLyocGuvkMnlZ0hztAuZnyGySrqbpZmtKOILjr9usYyPQd1e4nIowzG4WydU0ySbymOTiaL2aPsiWLOMOUq1y4kOy5PF84a4e/OFaxiNzScpEWTo5FpfMnCvo49rtTSvWROcya4ZYa5gL3TZP3IVkw18xuq0ITHEJyDzVyWdPiE8hMl8nHH5PUkqqlppVxcLZtGvya9aJYpnBbOhgD7ozJ9lkpUs0dw8OKjb2u6tUmYmpHttjX4OjL0/TtiLxRdQdgwrvju7xOdp3CZ01I+ZI3X938/dHusbYotNpzR9hkM227LYKKOEJGtwe40fK4mi0dcpdnMx61mBKxyc2ouO7JZreJftJT4/fyb24+oGePoJbNYh0recXrOLOuVXxS+WfZ15sNbQEp60Qmplp8fbZHKkL7JEqJWiXq480uiZAtSrjU52gd0oB1f8Ape2PJvUL5zndPGLN5GOlZs1WzGGrrGhugaTqiI0za1Iuba6mzd9rtE1MkfNqKbxx3TtxEHTxR8zjZI6lmSwyZasasl97QADMN7dKtlVzKsKUhrGXY/Rd4bSE2sKuLdsMiQmLw0lCfPLXseR6IHcyEVHAdHVmSyCS6Mzy6ukikEYhUQj8ilska2o3TZftPZl+2zpk31Nfa5LxtgvJnq49fJeNs7bY0zt6fVxttnbGvoxnOc+nI69XjSnjn0Z5j/NzcstNOWm8/PfMvFdOplB3tCoXXULZ7FktiNLZpnXG5aea2gR+ezhnbOcbLjdStM7FJy8aei6qu3t9s86/K3GNX9dvkBoLoLk24rTdIsfVFUyMyASGMmSxsUu8PWHRpucH990bo+hNiGbSXz6JRiRqlb87Q6YNxRcXODsagOrpSsg7uj3l16j8TmfIHdkto9w5QhPYsavex4jScu6prRuUytjreX11W0rKq9mqVtNlcqlyR4Kf5bTkyaohFo5qyRKHtkleVE1SaQ8VN99EMve3lc8cV5XvO+nI/wAZybnGaUVbNtJ4lra58G6Eq4+euUKnL5CovEmSRbxdSaxENr18QolRxyt721TJGz4saWwL9jND30OXAOgIvSdqsKWItNymq0XOdkJ3fZfHrElsfi5sll9SyMpQgQbw210jQ0ySYw5k9u8NE/gTA/ubK8FP0VkcdRwE8eXeUx7xjrFBHnsCf89eWGpOoWBz6r43sU2MRJiV1LCOiEqy1qSr+qJVE1bM8QLXnZO7sbVPK8M2uZpkydsebAnZmq3dW8bX/KJkTy3+Jnoe24Y5q45anNckozpGnpi3ZL1dIXZFTXjXzy1yNt3N0M01UlNBr42mY21zqYjc1RW2NtDNtchbsBxNQlm6XXRdL3IWjLbtLaqaubN0byt9jCkOk8h7NKtUZZm//HuWl1dcEab7/wDFtrpjbb9OcjlkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeI4KTkaBasTN6t2UJUilSQ1t+6Ate5HEE7mlN6Ix0WtrYWrWb66pk27i4t6DQ4zTZYtSp8GHl9XTjfnjvmufPb3v3xZHBVuxTmnrisoNVkGkfyycZvcniqyAtNGxdLJpzD2Hp5ydEsbeEVaSB3M1jOZTI0OFTOk/N5QeoW4b+0sACAfnz54616rrXjevOVeYppejjTvdnP8A1TPHpqsbnyAR9ug1RobFSPUcR727clfPblNHFTJGk1rSo2M2P7It1JiuRJVRPwTb0vlLozr/AKM7B8P1vUtx5asygXJPSC28r2cTLL5UjbhF48+JYS3asDW1SfohoUSeUNWje8K3Upj2VMOS0JRTS/uxywrXXsLAA693Y9E9fzvzXeMbr2ueQ7MnHPHJ1d9Fxe2Z0gsvl5kWauN/1bIoYz/mzEpbf8eljyTEHV0QGS0wxnQ+sm1W7xnEjySnwr/WS0B12s/KHoV26i5PsNVykw8FKOOnC3NbJ5pK1xM1Fxyyy9Zwngai9CrKOr/RA9IW0wzaIEzDCz4QYXEDCStNjuwYADqt8iVT5ZvD9ZvQvLtNcMIO/eHrNvie3ZzHYsR6TqKkpXS6ezXQx3eKzslps04hQa0NJhRCtS5sjDqhKdtnl2Y1kjPk5UVjXYw55ar0RV/s89HPEWVW1M3tbLX+J1+esX1zVaVekb0LPV0FfHZuan6VtUVa2xLh6mz42tSybzVdKpaijkMYnlohMc50AB1k/wAoWdJKydAeCx5hsW1nEpavKPW7gww3L2hje8pc0ejQemYCH9003a2dU7bl4RJHB09m2JlRxJrgemR6nKCtcX9Ql1eS3pDh5bY/Pti80cucS9AM3YEr1up/qRRZNx9AV6yurdSsHgkYp2zrbaUEGgr09usjsmYS57bU0mL+LovBm18QrHSSt/InkX8blt903PxZakU6fhFHtnEt8Rvo+DxZ15yeLYVzKyI04NSpKkmEjI6FrMrWFnpWzKA5kZI+2PXqL1p+so9rhHhJVtiJfE7M2ESVxanaQFIU5by5sTMrjrMvctStcK1bYxL32ULWhCedjYxO3q5E9npSttSjXNZtrk7cOsRU1PeU/wATPYfaDXzTxgj8gXCfaPQ0v6rgiWIdAVRSNic+2/ahuiyfRl9RWqtbUa6LqVCJG0pDG8hY0kx9gi77vJ0ciXSCMKOY/LHz15GOv/Er0pRJVFE2d1J1c+1ioj1MVNZ1Qt1UcyQuA2zVM7Tw9/tS6JpTSix3o9lhsic5HOI9GVRj5Pn3aPNkfZIExR9137FIAOBeYFU2OoCpEVjVdK6cmrDX0NjkjgUyeq6kLu0u7HGWlvcsavNWTiwog4IMriVJKJUjkZhygoj2xyNJgwvXb4rreU9HwuNVTI+bqiXXs4IruiSe36ta5FWsWdZJRDqwS9on57O7WtJIhFMvsePXsUnj7UdJ2LeQPjM3MKxzRsbk8KC9XgA67vPnjOX1f5PLX7N48pd44Qpyf8gTGubIgLxvDGqIW/09JJYS5wubs1JQKXTFhjTBWqBDuvkzycni6N7kCsguEMTqkfpzInGZMA4r8ucj8KHXXjVnfC7Yg6UmTvbUsnHU026WqN2+dhKX25E1ro5C04a3yQy6VWhJGZM1122PVvOdaxJqizKxr10s0cWcyBa91gAHVc8kPOPkH678TvD1BwXhGdkXvXtr8tzWwq72vPl4vSExagY8san0x7lEnuOIMCyQyZeSSojbDFFUoTkNDgjPkjywvJbmwtujfMLRvYXT1m+JyZc/8eWjYTXyz3XTHXF1km2byvEV0YhUBe0Rr1DUZUw6EZCJDPzEWFSlIQwKXKIGeyJKzL8GnbaE9hYAHXo8idE9g3L5SfD50xUfH9nzmmuL3foKQ3dJSbN5ajqxAX0LAq/i7e1R6PS3oJifJA6wVVH3IyYfBUOjSfkrXSJO0nKNKUb5f52tOwKt/KN/Nk7xTn2yL2Y3KpOBUspRVS91iRN4gfpzjBFDE45jdmzuumiRsC8zDm3OxzBK1chZ3D4kMTRl4Zlzy7xztbiPXO3jWvejPI71h5CHTrCs5sp7FaKpjVnVEk5ZkcUb2SO0xGmGGwkuCzMzqOSrGt8xG2P2L06v0ekyBxdXBW4kMTeRombiQ8Lk/mW5oR0z3P5Qrsp2Rk3b020VjXFRcsRGWVe92HW3P1NNKVmYmGUS5znzBTJttWa/6HWBM2xttFyg0RTJWlgZZw+rtHAw+RnIniG63tLwMdJ+L/penXjlq+ZVaE6tqq5lJLCpifQU2WYtCL3DW3/ftK2RZr41ID3yPYiU0VLY0kXtjGvc3JhIdleEifbuCgAgXy30J5zbGgMV51v3gKFc82wzsrdCrG7wf+kajn9Ybp0KZOgcbdgNCwnMmmEvsd8bdDndhgrw6M1fp5cYWol0lZWbU6I5vS3pPi9AiQYUq1mESRMkwscD8ql6v4MToT8JWqc665UKz/U9qpPzrrk07fczOuM7egeWACEnJVOunHXmh8iTC8pspq08k0Ap3qyin832haFTY1GI3evuka0wtO2wQsmCZfPoxaKdpJ1LUfmQ+5VotV5LBIDmv5S/uf8AraT+e7jvsWK8p2JIuX6N5htOjpta6OxuakGu0qsRRO1De7s8Gfr1aLFXxZr1dWbR0VmRRK9+usUfF7Au0RbbHWytym4RdUfbWOYpnBOtjcgQTKCzCOuBrHNq6nLQUrTtE0g0jS4yqZX1GlXuLYq120VM8jjjs+w6WtMghsjkMfdOUS9dtC9NNjNzdtNNddjTMF4MN211xjJm+CtCisb75x622Cyyy8bZz6mmmvo1wHX4g9CdeNP5Qra3a7lyZYqXlOa8LNHIrRbe1lczHezmjZbUFsLearIGmvc+xya+ObmF1RFnlxI6Y4WYR53h2hJ5m5Hh8U0B2HX/AJmvKr1bYfJ9iV3QfY8S5zZ6dsd3snmZ++CuXPtStkBcTZZEITektmrSmlrojPWxcxPHHQwtL8HxI0zGYadon7CwAOqx2HwHevkk525UlNgcTzDl3y715IOcVbr2a1y6hW5pqxfBJRFVNsWE52NUVpvLxYsPVRxuljjWdZp428SyNzt4jqdMzRqPp3+Tbb08+bRJrn4QWcO1WUW5Xx31a9S87VY0a7ZOMQNxE/jtmW3YjwiI2wrxCKzqWCS2RzB3x7NI2EZbyTz/AIU5N6RZbMcTNtKwZDbr5eixMvkFmOkeLhbPIJEu2ctYDBNstStzhVdt+SyW+IscnfmdHJ5oe3pvj6avaRl/Op6d2qHwZrjAfR1pAmOq65gFYRnU3SN1xCYrAo9oft65+rHD2JBHmnU7fH/iN1QNyfBm3/5t8Zz/ANR9sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//Z" alt="GQA论文里的图"></p>
<p><em>这张图里面的MHA-Large，就是比MHA-XXL更小的MHA，用于证明在差不多的开销减少的情况下，MQA和GQA的性能强于单纯减少num heads或者d model等粗暴方法。</em></p>
<p>横轴是每个样本所花时间，也就是时间开销，纵轴是performance。可以看到GQA的性能仅仅比MHA弱了一点，而时间开销上却远远小于MHA，同时也只比MQA大一点点。当然了，也有可能是研究人员用的硬件带宽他们自己知道，故意卡了一下那个传输瓶颈，毕竟总计算量大家都差不多，比的基本就是传输开销。</p>
<h2 id="代码实现">
<a class="header-anchor" href="#%e4%bb%a3%e7%a0%81%e5%ae%9e%e7%8e%b0"></a>
代码实现
</h2><p>原本想参考<a href="https://github.com/fkodom/grouped-query-attention-pytorch">这个项目</a>与<a href="https://zhuanlan.zhihu.com/p/690505297">这篇知乎文章</a>.但是这个里面竟然是我最讨厌在成品里面使用的einops。这种需要字符串解析而且通用性过强的东西我怎么看怎么觉得效率不行。咱也不是说要性能压榨得多厉害，不然我会去搓c/cuda，但是我还是有点难以接受这种。</p>
        
        <hr><p>本文2025-07-05首发于<a href='https://blog.glowled.top/'>GlowLED的后花园</a>，最后修改于2025-07-05</p>]]></description><category>深度学习</category></item><item><title>RoPE旋转位置编码学习笔记与代码实现</title><link>https://blog.glowled.top/post/rope-positional-encoding-notes-and-implementation/</link><pubDate>Wed, 02 Jul 2025 13:22:54 +0800</pubDate><author>zpeiyu11@gamil.com (GlowLED)</author><guid>https://blog.glowled.top/post/rope-positional-encoding-notes-and-implementation/</guid><description>
<![CDATA[<h1>RoPE旋转位置编码学习笔记与代码实现</h1><p>作者：GlowLED（zpeiyu11@gamil.com）</p>
        
          <blockquote>
<p>最近想写点torch，就打算手搓个llm预训练，于是就去拿llama3开刀。尝试去实现久闻大名的RoPE（旋转位置编码）的时候，搜到了这篇文章，然后就直接开看。奈何本人数学水平实在太差，横竖看不进去，总是不太能理解。于是就干脆对着公式写代码，经过一段痛苦的时间后，勉强挤出几十行代码，才算是对RoPE有了一些不严谨的理解。</p>
</blockquote>
<p><strong>最近心血来潮整的手搓llm结构与训练过程：</strong><a href="http://github.com/GlowLED/SimpleLLM">SimpleLLM</a> (应该会摆掉，应该&hellip;)</p>
<h2 id="绝对位置编码的缺陷">
<a class="header-anchor" href="#%e7%bb%9d%e5%af%b9%e4%bd%8d%e7%bd%ae%e7%bc%96%e7%a0%81%e7%9a%84%e7%bc%ba%e9%99%b7"></a>
绝对位置编码的缺陷
</h2><p>绝对位置编码是这么做的：
</p>
$$
x'_m = f(x_m,m)
$$<p>
是第m个位置的token进行词嵌入后得到的向量， 则是我们想要得到的，附加了位置信息的第m个位置的token对应的初始语义向量。原论文的绝对位置编码通过直接更改输入到模型内部的词嵌入向量的值，来实现附加位置信息。</p>
<p>这种方法非常符合直觉，在输入进模型之前进行某种意义上的“标号”，来附加位置信息。只要每个位置附加的信息都是独一无二的，那么它就可以作为这个位置的唯一标识。散落无章的一堆纸，只要有了页码，就可以排成一本书。</p>
<p>但是这个方法也有问题。至于是什么问题呢？本人对此有一些不成熟的思考：</p>
<p>我们先从llama3的训练中的一个细节出发：Attention is All You Need这篇论文中模型的训练，与BERT的训练，从它们的数据集中拿出某一个sample，那大概率是填不满上下文长度的，于是需要对上下文进行padding来达成固定长度。假设上下文长度为16K，甲sample的序列长度为1K，乙sample的序列长度为8K，两者都填充到了16K，开销上来看是差不多的，因为数据的规模一样大，都是一样计算（猜测可能内部有一些优化，但是不会差太多），但是从直觉上来说，应该是乙sample包含的有效信息更多，更加利于模型优化。</p>
<p>于是，很自然的，当模型上下文长度比较大，没多少sample能填满时，一个输入的序列应该由多个sample拼接而成，凑成一个比较接近上下文长度的序列，充分利用算力。当然了，为了防止某一个sample中的token进行注意力计算时，去查询了其它sample的token，mask也要进行一些改造。不过本篇文章的重点不是这个。</p>
<p>在这种情况下，我们其实希望位置编码的信息要有某种“等价性”：无论其中一个sample在哪个位置，位置编码信息应该不影响位置的表达。一个sample在拼接过程中被排在第一个，中间的位置，还是最后的位置，位置编码信息都应该具有某种共通的性质，因为这句话无论排在哪都是同一句话，位置编码出的向量都应该包含相同的信息。</p>
<p>这种特征的“空间平移不变性”，让人联想到CNN对于特征位置的不敏感。原因是CNN天生擅长捕捉像素<strong>相对位置的信息</strong>，毕竟本身结构的设计就是为了考虑<strong>相对位置</strong>。</p>
<p>所以要实现这种对于空间的绝对位置不敏感，无论在序列中的哪个位置都能表达相同的模式的编码方式，考虑<strong>相对位置信息</strong>很重要。</p>
<p>这么来看，原来的绝对位置编码的方式其实就有点不太合适了。为什么呢？我们观察一下原来绝对位置编码使用的Sinusoidal 函数：
</p>
$$
p_{i,2t}=\sin(k/10000^{2t/d}) \\
p_{i,2t+1}=\cos(k/10000^{2t/d})
$$<p>
<img src="https://pic2.zhimg.com/v2-23b21d0c383621cdcd19f2d007a61cb7_1440w.jpg" alt="网上随便找的图"></p>
<p>可以看到，Sinusoidal 函数基本不强调“相对位置信息”，不同的位置，甚至连变化的feature都不是同一个，例如，在position大约为0-5时，相邻位置编码信息在大于40的feature上几乎无变化。而当position增大后，feature较大的位置也发生了变化。位置之间的差距甚至都不是同一个feature，<strong>都不是一个方面的比较</strong>。</p>
<p>绝对位置编码错开了不同位置间差距的feature的位置，虽然充分利用了语义向量中的每个feature，但是也基本毁灭了相对位置信息的一致性。这使得同一个sample被拼接到开头，中间与结尾的位置信息都不太一样，模型需要花费额外的参数来去学习这种没有规律的不同。仿佛就是同样一句话只是因为开头被放在了不同位置，token之间的位置关系就变了。</p>
<p>现在我们放远视角，我们不仅关心llama3训练这种一输入多样本的情况。考虑大多数文章。同样一句话在文章的开头与结尾虽然有不同的绝对位置信息，但也应该具有相同的相对位置信息，而不是相对位置信息有很大差别。</p>
<p>为了解决这个问题，我们人为地设计一种可以在绝对位置信息的基础上表达相对位置信息的规律，这样模型能很容易地学习到这个规律。这就有了RoPE。而RoPE选择的规律是<strong>角度</strong>。</p>
<h2 id="rope旋转位置编码">
<a class="header-anchor" href="#rope%e6%97%8b%e8%bd%ac%e4%bd%8d%e7%bd%ae%e7%bc%96%e7%a0%81"></a>
RoPE，旋转位置编码
</h2><p>与绝对位置编码不同，RoPE是在q，k，v生成之后，对q与k做手脚，来附加位置信息。附加完后，q，k再正常计算attn score，然后对v进行加权和（attention的正常流程）。</p>
<p>本人数学水平堪忧，中间过程怕讲错，所以这里直接看结果的几个式子：
</p>
$$
f_{q, k}(x_m, m) = R^{d}_{\Theta, m}W_{q,k}x_m
$$<p>
上面这个式子就是我们想要的这样一个编码函数的表达式：它接受输入 (第m个token进行词嵌入后得到的向量)，以及位置m，输出编码后的向量 .这就是我们的目标，很简单纯粹。</p>
<p>右侧该函数的形式是 与两个矩阵相乘（分别是$W_{q,k}$与$R^d_{\Theta,m}$，这里W下标既有q又有k的意思其实是，当想编码的是q时，使用Wq，当想编码的是k时，使用Wk.</p>
<p>所以编码函数也能这么写：
</p>
$$
f_q(q_m,m)=R^d_{\Theta,m}q_m\\ 
f_k(k_m,m)=R^d_{\Theta,m}k_m
$$<p>
其实就是把q与k分别乘以同一个编码矩阵 .</p>
<p>然后我们来看看这个编码矩阵：
</p>
$$
R^d_{\Theta,m} =
\begin{pmatrix}
\cos m\theta_0 & -\sin m\theta_0 & 0 & 0 & \cdots & 0 & 0
\\
\sin m\theta_0 & \cos m\theta_0 & 0 & 0 & \cdots & 0 & 0 
\\
0 & 0 & \cos m\theta_1 & -\sin m\theta_1 & \cdots & 0 & 0 
\\
0 & 0 & \sin m\theta_1 & \cos m\theta_1  & \cdots & 0 & 0
\\
\vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots 
\\
0 & 0 & 0 & 0 & ... & \cos m\theta_{d/2-1} & -\sin m\theta_{d/2-1}
\\
0 & 0 & 0 & 0 & ... & \sin m\theta_{d/2-1} & \cos m\theta_{d/2-1}
\end{pmatrix}
$$<p>
看着有点复杂，但是我们先拿出来第一部分：
</p>
        
        <hr><p>本文2025-07-02首发于<a href='https://blog.glowled.top/'>GlowLED的后花园</a>，最后修改于2025-07-02</p>]]></description><category>深度学习</category></item></channel></rss>