PhysIKA – Documentation https://PhysikaTeam.github.io/docs.html Recent content in Documentation on PhysIKA Hugo -- gohugo.io Docs: Scene Graph https://PhysikaTeam.github.io/docs/architecture/scenegraph.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/architecture/scenegraph.html <h2 id="structure-of-a-scene">Structure of a scene</h2> <p><img src="./scenegraph/sceneflow.jpg" alt="SceneFlow"></p> <h2 id="scene-graph-traversal">Scene graph traversal</h2> <blockquote> <p>To be continued&hellip;</p> </blockquote> Docs: Cloth Simulation https://PhysikaTeam.github.io/docs/examples/cloth.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/examples/cloth.html Docs: Incompressible Fluids https://PhysikaTeam.github.io/docs/examples/fluids/incompressible.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/examples/fluids/incompressible.html Docs: Nodes https://PhysikaTeam.github.io/docs/architecture/nodes.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/architecture/nodes.html <h2 id="structure-of-a-node">Structure of a node</h2> <p>The follow code demonstrates a typical implementation of a node that handles the one-way coupling between particles and static trianglar boundaries.</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#000">template</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">typename</span> <span style="color:#000">TDataType</span><span style="color:#000;font-weight:bold">&gt;</span> <span style="color:#000">class</span> <span style="color:#000">StaticMeshBoundary</span> <span style="color:#000;font-weight:bold">:</span> <span style="color:#000">public</span> <span style="color:#000">Node</span> <span style="color:#000;font-weight:bold">{</span> <span style="color:#000">DECLARE_CLASS_1</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">StaticMeshBoundary</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">TDataType</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000">public</span><span style="color:#000;font-weight:bold">:</span> <span style="color:#000">typedef</span> <span style="color:#000">typename</span> <span style="color:#000">TDataType</span><span style="color:#000;font-weight:bold">::</span><span style="color:#000">Real</span> <span style="color:#000">Real</span><span style="color:#000;font-weight:bold">;</span> <span style="color:#000">typedef</span> <span style="color:#000">typename</span> <span style="color:#000">TDataType</span><span style="color:#000;font-weight:bold">::</span><span style="color:#000">Coord</span> <span style="color:#000">Coord</span><span style="color:#000;font-weight:bold">;</span> <span style="color:#000">typedef</span> <span style="color:#000">typename</span> <span style="color:#000">TopologyModule</span><span style="color:#000;font-weight:bold">::</span><span style="color:#000">Triangle</span> <span style="color:#000">Triangle</span><span style="color:#000;font-weight:bold">;</span> <span style="color:#000">StaticMeshBoundary</span><span style="color:#000;font-weight:bold">();</span> <span style="color:#a40000">~</span><span style="color:#000">StaticMeshBoundary</span><span style="color:#000;font-weight:bold">()</span> <span style="color:#000">override</span><span style="color:#000;font-weight:bold">;</span> <span style="color:#000">void</span> <span style="color:#000">advance</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">Real</span> <span style="color:#000">dt</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000">override</span><span style="color:#000;font-weight:bold">;</span> <span style="color:#000">public</span><span style="color:#000;font-weight:bold">:</span> <span style="color:#8f5902;font-style:italic">/** </span><span style="color:#8f5902;font-style:italic"> * @brief Input rigid bodies </span><span style="color:#8f5902;font-style:italic"> */</span> <span style="color:#000">DEF_NODE_PORTS</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">RigidBody</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">RigidBody</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">TDataType</span><span style="color:#000;font-weight:bold">&gt;,</span> <span style="color:#4e9a06">&#34;A rigid body&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#8f5902;font-style:italic">/** </span><span style="color:#8f5902;font-style:italic"> * @brief Input particle systems </span><span style="color:#8f5902;font-style:italic"> */</span> <span style="color:#000">DEF_NODE_PORTS</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">ParticleSystem</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">ParticleSystem</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">TDataType</span><span style="color:#000;font-weight:bold">&gt;,</span> <span style="color:#4e9a06">&#34;Particle Systems&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#000">public</span><span style="color:#000;font-weight:bold">:</span> <span style="color:#8f5902;font-style:italic">/** </span><span style="color:#8f5902;font-style:italic"> * @brief Particle position </span><span style="color:#8f5902;font-style:italic"> */</span> <span style="color:#000">DEF_EMPTY_CURRENT_ARRAY</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">ParticlePosition</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Coord</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">DeviceType</span><span style="color:#000;font-weight:bold">::</span><span style="color:#000">GPU</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#4e9a06">&#34;Particle position&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#8f5902;font-style:italic">/** </span><span style="color:#8f5902;font-style:italic"> * @brief Particle velocity </span><span style="color:#8f5902;font-style:italic"> */</span> <span style="color:#000">DEF_EMPTY_CURRENT_ARRAY</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">ParticleVelocity</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Coord</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">DeviceType</span><span style="color:#000;font-weight:bold">::</span><span style="color:#000">GPU</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#4e9a06">&#34;Particle velocity&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#8f5902;font-style:italic">/** </span><span style="color:#8f5902;font-style:italic"> * @brief Triangle vertex </span><span style="color:#8f5902;font-style:italic"> */</span> <span style="color:#000">DEF_EMPTY_CURRENT_ARRAY</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">TriangleVertex</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Coord</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">DeviceType</span><span style="color:#000;font-weight:bold">::</span><span style="color:#000">GPU</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#4e9a06">&#34;Particle position&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#8f5902;font-style:italic">/** </span><span style="color:#8f5902;font-style:italic"> * @brief Particle velocity </span><span style="color:#8f5902;font-style:italic"> */</span> <span style="color:#000">DEF_EMPTY_CURRENT_ARRAY</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">TriangleIndex</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Triangle</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">DeviceType</span><span style="color:#000;font-weight:bold">::</span><span style="color:#000">GPU</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#4e9a06">&#34;Particle velocity&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#000">private</span><span style="color:#000;font-weight:bold">:</span> <span style="color:#8f5902;font-style:italic">/** </span><span style="color:#8f5902;font-style:italic"> * @brief Define other private members below </span><span style="color:#8f5902;font-style:italic"> */</span> <span style="color:#000;font-weight:bold">};</span> </code></pre></div><p>To be recognized by the reflecting system in PhysIKA, each class should be started with the following macro definition</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"> <span style="color:#000">DECLARE_CLASS</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">ClassName</span><span style="color:#000;font-weight:bold">)</span> </code></pre></div><p>or</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"> <span style="color:#000">DECLARE_CLASS_1</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">ClassName</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">TemplateName</span><span style="color:#000;font-weight:bold">)</span> </code></pre></div><p>for templated class.</p> <p>The above declaration should be concluded with the following macro definition</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"> <span style="color:#000">IMPLEMENT_CLASS</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">ClassName</span><span style="color:#000;font-weight:bold">)</span> </code></pre></div><p>or</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"> <span style="color:#000">IMPLEMENT_CLASS_1</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">ClassName</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">TemplateName</span><span style="color:#000;font-weight:bold">)</span> </code></pre></div><p>for templated class.</p> <p>Then, an instance of StaticMeshBoundary can correctly created by passing the class name to the static function in the Object class.</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"> <span style="color:#000">static</span> <span style="color:#000">Object</span><span style="color:#ce5c00;font-weight:bold">*</span> <span style="color:#000">createObject</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">std</span><span style="color:#000;font-weight:bold">::</span><span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">name</span><span style="color:#000;font-weight:bold">);</span> </code></pre></div><p>In addition, an instance of the reflected class can also be create from the PhysIKA Studio.</p> <p><img src="./nodes/createInstanceFromQt.jpg" alt="Example"></p> <h3 id="node-ports">Node Ports</h3> <h3 id="mechanical-status">Mechanical Status</h3> <h3 id="topology">Topology</h3> Docs: Modules https://PhysikaTeam.github.io/docs/architecture/modules.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/architecture/modules.html <h2 id="structure-of-a-module">Structure of a module</h2> <p>The following code demonstrates the typical strcuture of a module, which contains regular variables, input variables and output variables.</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#000">template</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">typename</span> <span style="color:#000">TDataType</span><span style="color:#000;font-weight:bold">&gt;</span> <span style="color:#000">class</span> <span style="color:#000">SummationDensity</span> <span style="color:#000;font-weight:bold">:</span> <span style="color:#000">public</span> <span style="color:#000">ComputeModule</span> <span style="color:#000;font-weight:bold">{</span> <span style="color:#000">DECLARE_CLASS_1</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">SummationDensity</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">TDataType</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000">public</span><span style="color:#000;font-weight:bold">:</span> <span style="color:#000">typedef</span> <span style="color:#000">typename</span> <span style="color:#000">TDataType</span><span style="color:#000;font-weight:bold">::</span><span style="color:#000">Real</span> <span style="color:#000">Real</span><span style="color:#000;font-weight:bold">;</span> <span style="color:#000">typedef</span> <span style="color:#000">typename</span> <span style="color:#000">TDataType</span><span style="color:#000;font-weight:bold">::</span><span style="color:#000">Coord</span> <span style="color:#000">Coord</span><span style="color:#000;font-weight:bold">;</span> <span style="color:#000">SummationDensity</span><span style="color:#000;font-weight:bold">();</span> <span style="color:#a40000">~</span><span style="color:#000">SummationDensity</span><span style="color:#000;font-weight:bold">()</span> <span style="color:#000">override</span> <span style="color:#000;font-weight:bold">{};</span> <span style="color:#000">void</span> <span style="color:#000">compute</span><span style="color:#000;font-weight:bold">()</span> <span style="color:#000">override</span><span style="color:#000;font-weight:bold">;</span> <span style="color:#000">protected</span><span style="color:#000;font-weight:bold">:</span> <span style="color:#000">void</span> <span style="color:#000">calculateScalingFactor</span><span style="color:#000;font-weight:bold">();</span> <span style="color:#000">void</span> <span style="color:#000">compute</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">DeviceArray</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">Real</span><span style="color:#000;font-weight:bold">&gt;</span><span style="color:#ce5c00;font-weight:bold">&amp;</span> <span style="color:#000">rho</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#000">void</span> <span style="color:#000">compute</span><span style="color:#000;font-weight:bold">(</span> <span style="color:#000">DeviceArray</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">Real</span><span style="color:#000;font-weight:bold">&gt;</span><span style="color:#ce5c00;font-weight:bold">&amp;</span> <span style="color:#000">rho</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">DeviceArray</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">Coord</span><span style="color:#000;font-weight:bold">&gt;</span><span style="color:#ce5c00;font-weight:bold">&amp;</span> <span style="color:#000">pos</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">NeighborList</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#204a87;font-weight:bold">int</span><span style="color:#000;font-weight:bold">&gt;</span><span style="color:#ce5c00;font-weight:bold">&amp;</span> <span style="color:#000">neighbors</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Real</span> <span style="color:#000">smoothingLength</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Real</span> <span style="color:#000">mass</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#000">public</span><span style="color:#000;font-weight:bold">:</span> <span style="color:#8f5902;font-style:italic">///Define intrinsic fields </span><span style="color:#8f5902;font-style:italic"></span> <span style="color:#000">DEF_EMPTY_VAR</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">RestDensity</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Real</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#4e9a06">&#34;Rest Density&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#000">DEF_EMPTY_VAR</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">Mass</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Real</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#4e9a06">&#34;Particle mass, note that this module only support a constant mass for all particles.&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#000">DEF_EMPTY_VAR</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">SmoothingLength</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Real</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#4e9a06">&#34;Indicating the smoothing length&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#000">DEF_EMPTY_VAR</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">SamplingDistance</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Real</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#4e9a06">&#34;Indicating the initial sampling distance&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#8f5902;font-style:italic">///Define input fields </span><span style="color:#8f5902;font-style:italic"></span> <span style="color:#8f5902;font-style:italic">/** </span><span style="color:#8f5902;font-style:italic"> * @brief Particle positions </span><span style="color:#8f5902;font-style:italic"> */</span> <span style="color:#000">DEF_EMPTY_IN_ARRAY</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">Position</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Coord</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">DeviceType</span><span style="color:#000;font-weight:bold">::</span><span style="color:#000">GPU</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#4e9a06">&#34;Particle position&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#8f5902;font-style:italic">/** </span><span style="color:#8f5902;font-style:italic"> * @brief Neighboring particles </span><span style="color:#8f5902;font-style:italic"> * </span><span style="color:#8f5902;font-style:italic"> */</span> <span style="color:#000">DEF_EMPTY_IN_NEIGHBOR_LIST</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">NeighborIndex</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">int</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#4e9a06">&#34;Neighboring particles&#39; ids&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#8f5902;font-style:italic">///Define output fields </span><span style="color:#8f5902;font-style:italic"></span> <span style="color:#8f5902;font-style:italic">/** </span><span style="color:#8f5902;font-style:italic"> * @brief Particle densities </span><span style="color:#8f5902;font-style:italic"> */</span> <span style="color:#000">DEF_EMPTY_OUT_ARRAY</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">Density</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Real</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">DeviceType</span><span style="color:#000;font-weight:bold">::</span><span style="color:#000">GPU</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#4e9a06">&#34;Particle position&#34;</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#000">private</span><span style="color:#000;font-weight:bold">:</span> <span style="color:#8f5902;font-style:italic">///Define other class members </span><span style="color:#8f5902;font-style:italic"></span><span style="color:#000;font-weight:bold">};</span> </code></pre></div><p>In the Qt-based GUI, the above module appears like</p> <p><img src="./modules/summation-density.jpg" alt="ModuleView"></p> <p>Besides, all regular variables will be shown in the property editor</p> <p><img src="./modules/property.jpg" alt="Property"></p> <h3 id="intrinsic-fields">Intrinsic fields</h3> <blockquote> <p>All intrinsic field names are started with an prefix <strong>var</strong>, e.g., this-&gt;varRestDensity().</p> </blockquote> <p>If a intrinsic field is defined, it can be used by the module without explicitly initializing its value.</p> <p>To declare an empty field of real type, use the following formulation</p> <pre><code>DEF_EMPTY_VAR(RestDensity, Real, &quot;Rest Density&quot;); </code></pre><h3 id="input-fields">Input fields</h3> <blockquote> <p>All input field names are started with an prefix <strong>in</strong>, e.g., this-&gt;inPosition().</p> </blockquote> <p>Input fields of a module are usually empty. Therefore, to execuate a module, its input fields should be explicitly specified.</p> <p>To set up an input field, the most efficienty way is by connecting an output field to an input field, e.g.,</p> <div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-go" data-lang="go"><span style="color:#000">this</span><span style="color:#ce5c00;font-weight:bold">-</span><span style="color:#000;font-weight:bold">&gt;</span><span style="color:#000">outPosition</span><span style="color:#000;font-weight:bold">().</span><span style="color:#000">connect</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">m_densitySum</span><span style="color:#ce5c00;font-weight:bold">-</span><span style="color:#000;font-weight:bold">&gt;</span><span style="color:#000">inPosition</span><span style="color:#000;font-weight:bold">());</span> </code></pre></div><h3 id="output-fields">Output fields</h3> <blockquote> <p>All output field names are started with an prefix <strong>out</strong>, e.g., this-&gt;outPosition().</p> </blockquote> <p>The values of output fields are computed from input fields. As long as either the intrinsic fields all input fields are changed, the output fields should be updated again.</p> Docs: Viscous Fluids https://PhysikaTeam.github.io/docs/examples/fluids/viscous.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/examples/fluids/viscous.html Docs: Fields https://PhysikaTeam.github.io/docs/architecture/fields.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/architecture/fields.html <h2 id="field-types">Field types</h2> <pre><code>VarField </code></pre><pre><code>ArrayField </code></pre><pre><code>NeighborField </code></pre> Docs: Particle System https://PhysikaTeam.github.io/docs/advanced/particle-system.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/advanced/particle-system.html Docs: Particle-based Elastic Objects https://PhysikaTeam.github.io/docs/examples/elasticity.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/examples/elasticity.html Docs: Collision https://PhysikaTeam.github.io/docs/examples/collision.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/examples/collision.html Docs: Height Field https://PhysikaTeam.github.io/docs/advanced/height-field.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/advanced/height-field.html Docs: Rigid Body Dynamics https://PhysikaTeam.github.io/docs/advanced/rigid-body.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/advanced/rigid-body.html Docs: Finite Element https://PhysikaTeam.github.io/docs/advanced/finite-element.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/advanced/finite-element.html Docs: Linux https://PhysikaTeam.github.io/docs/gettingstarted/linux.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/gettingstarted/linux.html <div class="pageinfo pageinfo-primary"> <p>To appear&hellip;</p> </div> Docs: Related projects https://PhysikaTeam.github.io/docs/reference/parameter-reference.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/reference/parameter-reference.html Docs: Windows https://PhysikaTeam.github.io/docs/gettingstarted/windows.html Thu, 05 Jan 2017 00:00:00 +0000 https://PhysikaTeam.github.io/docs/gettingstarted/windows.html <h1 id="how-to-build-physika--in-windows-environment">How to build physika in windows environment</h1> <p>This page tells you how to build physika, including installation and basic configuration.</p> <h3 id="install-cmake">Install Cmake</h3> <ol> <li>Download the latest version of cmake executable file(Click <a href="https://cmake.org/download/">Here</a> to download cmake executable file).</li> <li>Double click to install directly.</li> </ol> <h3 id="install-cuda-110">Install Cuda 11.0</h3> <ol> <li> <p>Download cuda11.0(Click <a href="https://developer.nvidia.com/cuda-downloads?target_os=Windows&amp;target_arch=x86_64&amp;target_version=10&amp;target_type=exelocal">Here</a> to download cuda11.0 executable file)<img src="cuda11.0.PNG" alt=""></p> </li> <li> <p>Double click to install directly.</p> </li> <li> <p>Open the command line and enter the nvcc -V command. The following message appears, indicating that the installation is successful.</p> <p><img src="cuda.PNG" alt=""></p> </li> </ol> <h3 id="install-visual-studio-2017">Install <strong>Visual Studio 2017</strong></h3> <ol> <li> <p>Download Visual Studio 2017(Click <a href="https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/">Here</a> to download visual studio 2017 executable file)</p> </li> <li> <p>The community version of visual studio is free. It is recommended to install the community edition.</p> </li> <li> <p>Choose what you need to install.</p> <p><img src="vs.PNG" alt=""></p> </li> </ol> <h3 id="install-physika">Install PhysiKA</h3> <ol> <li> <p>pull the latest version of the Physika project by directly using <code>git clone</code>.</p> <pre><code>git clone https://github.com/PhysikaTeam/PhysIKA.git cd PhysIKA git submodule update --init --recursive` git checkout -b dev git pull origin dev </code></pre></li> <li> <p>Use cmake to compile and generate the corresponding project.</p> <p><img src="cmake1PNG.PNG" alt=""></p> </li> <li> <p>Configure to set up Visual Studio 2017 and 64-bit. Before that, make sure you install python3.7、cuda11.0 and Visual Studio 2017.</p> <p><img src="cmake1.PNG" style="zoom:50%;" /></p> </li> <li> <p>After generation, such a folder will be generated. Open with visual studio 2017 sln file.</p> <p><img src="fold.PNG" style="zoom:50%;" /></p> </li> <li> <p>Run the project under the example folder. You will see the following results.</p> <p><img src="result.PNG" style="zoom:50%;" /></p> </li> </ol> Docs: How to contribute to PhysIKA documentation https://PhysikaTeam.github.io/docs/contributing/physika-webset.html Mon, 01 Jan 0001 00:00:00 +0000 https://PhysikaTeam.github.io/docs/contributing/physika-webset.html <h2 id="prerequisites-and-installation">Prerequisites and installation</h2> <h3 id="install-hugo">Install Hugo</h3> <p>You need a <a href="https://github.com/gohugoio/hugo/releases">recent <strong>extended</strong> version</a> (we recommend version 0.53 or later) of <a href="https://gohugo.io/">Hugo</a> to do local builds and previews of sites (like this one) that use Docsy. If you install from the release page, make sure to get the <code>extended</code> Hugo version, which supports <a href="https://sass-lang.com/documentation/file.SCSS_FOR_SASS_USERS.html">SCSS</a>; you may need to scroll down the list of releases to see it.</p> <p>For comprehensive Hugo documentation, see <a href="https://gohugo.io/">gohugo.io</a>.</p> <p>To see if you already have hugo installed and check the installed version, run the following commands:</p> <pre><code>hugo version </code></pre><h4 id="windows">windows</h4> <p>1.Download hugo executable file</p> <p>Click <a href="https://github.com/gohugoio/hugo/releases">Here</a> to download hugo executable file, you must download an extended version. For example, an 64bit windows OS should download <code>hugo_extended_0.75.1_Windows-64bit.zip</code>.</p> <p>2.Config the path</p> <p>Config the path where .exe file exist to environment variables. The path should not have spaces, which may cause some unexpected problems.</p> <p>For example, the path of <code>D:\Hugo\bin</code> is ok. The path of <code>D:\Program Files (x86)\Hugo\bin</code> may cause some unexpected problems.</p> <h4 id="linux">Linux</h4> <p>Do <strong>not</strong> use <code>sudo apt-get install hugo</code>, as it currently doesn&rsquo;t get you the <code>extended</code> version.</p> <p>If you&rsquo;ve already installed Hugo, check your version:</p> <pre><code>hugo version </code></pre><p>If the result is <code>v0.52</code> or earlier, or if you don&rsquo;t see <code>Extended</code>, you&rsquo;ll need to install the latest version.</p> <ol> <li> <p>Go to the <a href="https://github.com/gohugoio/hugo/releases">Hugo releases</a> page.</p> </li> <li> <p>In the most recent release, scroll down until you find a list of <strong>Extended</strong> versions.</p> </li> <li> <p>Download the latest extended version (<code>hugo_extended_0.5X_Linux-64bit.tar.gz</code>).</p> </li> <li> <p>Create a new directory:</p> <pre><code>mkdir hugo </code></pre> </li> <li> <p>Extract the files you downloaded to <code>hugo</code>.</p> </li> <li> <p>Switch to your new directory:</p> <pre><code>cd hugo </code></pre> </li> <li> <p>Install Hugo:</p> <pre><code>sudo install hugo /usr/bin </code></pre> </li> </ol> <h4 id="macos">macOS</h4> <p>Install Hugo using <a href="https://gohugo.io/getting-started/installing/#homebrew-macos">Brew</a>.</p> <h2 id="install-nodejs-and-npm">Install Node.js and npm</h2> <p>To see if you already have Node.js and npm installed and check the installed version, run the following commands:</p> <pre><code>node -v npm -v </code></pre><p>Click <a href="http://nodejs.cn/download/">Here</a> to download Node.js and install it.</p> <h2 id="install-postcss">Install PostCSS</h2> <p>To build or update your site&rsquo;s CSS resources, you also need <a href="https://postcss.org/"><code>PostCSS</code></a> to create the final assets. If you need to install it, you must have a recent version of <a href="https://nodejs.org/en/">NodeJS</a> installed on your machine so you can use <code>npm</code>, the Node package manager. By default <code>npm</code> installs tools under the directory where you run <code>npm install</code>:</p> <pre><code>npm install postcss --save-dev npm install -D --save autoprefixer npm install -D --save postcss-cli </code></pre><p>Note that versions of <code>PostCSS</code> later than 5.0.1 will not load <code>autoprefixer</code> if installed <a href="https://flaviocopes.com/npm-packages-local-global/">globally</a>, you must use a local install.</p> <h2 id="clone-physika-webset-code-and-run">Clone PhysiKA webset code and run</h2> <ol> <li> <p>Make a local working copy of the PhysiKA webset directly using <code>git clone</code>:</p> <pre><code>git clone https://github.com/PhysikaTeam/PhysIKA-website.git </code></pre> </li> <li> <p>Switch to the root of the cloned project, for example:</p> <pre><code> cd physIKA-website </code></pre> </li> <li> <p>Build your site:</p> <pre><code> hugo server </code></pre> </li> <li> <p>Preview your site in your browser at: http://localhost:1313/. You can use <code>Ctrl + c</code> to stop the Hugo server whenever you like.</p> </li> </ol> <p>In the cmd of windows, enter into current folder, and input <code>hugo server</code> to launch the local server. <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABIwAAAHGCAYAAAFhqiCUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAK7zSURBVHhe7f09kus60kYL7wG8NY0egSI64vOPcc22ZLV3jXa/OBHyzig0Es2j5lSXD8ikkmCCBH8kUaplrL1VIIifBAgkkgnwzz///PPzf//3fwCboCPBLtCRYBdSR/q+XdIft+b/r/N1FClC8c5fX+n37XIaXV/CknxrOF9vu6YH8/z56z//+zldbn1A3gC32/3a7fv68309p98+Xt6RTl0Hs/+F4n99tfdGWHqX2/fPKSvDIJ2JNDyW3vX79vP9/T24dmvC2v+H+cB6/vz137/DCwBLSFPb7dpObR49xRpprleNJKfBqDCMd3+qNVroPh8Gv4M///rXv8ILnkszvZU6EoCo6kh7cj2PO6Q6qUa9PBzeh6d3pAh1JCnZtgqE9wM7EuxCa0dKCvIdTT97hd2CMDEXFhUWjgsjEuzCoCO9UkepNTTCMfnzd9aRpPTq9zOX+8r3fGU6e2eY2mAXRlObvXe7Xc+9ZXvwLu7r1CjDd8v1tVOMr+dTbwv67t5lLUHpsPx/X4oj0tdp/NoEoMSgI2n57S/OoVFI/y9xI7mc4jzouO/NaESyKcYr3XMK+JKOVEoDZfu9QdmGXfjz73//u//DW5TlNWmjx9QL1T1cRq7XSxoJn2lygH1hRIJdGHSkZyy/UbY/k2JHyn23hfk658iPO5+WStMhyvZnwtQGuzDoSNdgGX/ZaLHOMVMCfBaMSLALg47E8hvWUjUi2XTUbnKst2JHXLsNlvBZMLXBLhQ7klmsbYNkG/Y4RRk3kveGEQl2gY4Eu0BHgl2gI8EupI4UnUbiOQ98tsfL9+/bNVnA83D4Pfz539+cjwTbGUxtubExfPdWcAOpsYrn6X3akYNKLwr3eSx5e5C3R3RvbXpb7q0hdSRr4NRInTuHrNlqqCUFNQu4/o9sTnl6n3jkoOGPFfRlVpqpTA32QFiHMdlb/BTHtYeVx+SsPBTmy2noXrPN6fjDPI5cgkr3eiwvYWWJ3IlQtmEXUkf6OrdDcnpSuqdDvU5PfHT03+1y/jmfG/IwN8Kke50CbpbyczM1WjxtwtT/JUU9PVXdFin9r/wsX6Wncul/G9ls1PDlMnwe9pS1mzrLI43StnxtlLg2Cwu7bl6dmqJtBL7L7/4kG5aeRlfL1z/dkZwtPWNuBHkVVSPSo47+O5J7rZ9mX4XJ+QhlWUrqSEvdXPOnZOnGSs+We+E4DEakqEPpCZGy5ldrNsznRPebwqd7IoUZPgOUbdiFQUdKCmymt3iFWaOLhdn0Zn7cmte9Iixrt92j0czCvKLuFVd4bxiRYBdSR1rjsCY9xy+zvQI+l543rtVSsqjP4Q1qETX62l4rVpUleltghtVIpu+ycTR1JFs5SWC5YL2F2WPxZF1NFXb3+fSihrw001uU1xxRgyp/U/KjZbPyt05uir8vk69H+r+pb75o8GWNymDovmjBYShf6zRWBpXZdyT972UadaSpPF7FoaY2GSuj8LXsnR6USR3JLNvxx23uT0WyzGZxTNlWo/Xxbpf+KbNRQpZehUnZ1t8WLxxlung2klh6rZW9vV/5Rvcmq3H2FKf0XLllTba0rXyajhWW6mv5dnXzKK2LW0j4qeg3c5gRKdIdtrB3ejBNqyMFeoxhy3hDT6T9thEhGhmmdAn4PIojUuQqkMK7jmT2If3OO43utTApjAz/n8+hlG14X+hIsAt/okCAJdCJYDN0ItjMn72X5to9Eb2e8MiuY4Y+T14WxSut8uwVgiilB89h0Inst97tmJXWwvR/7tCWk1uHFT9/YWu+38kMYO/EXB55vPxdmKWt+xU/Sq+P69Lznc7Hm+vwMA/TGWwmjUT+KdVT7d976Um3EcZPGWkUcO+9xFqXDnhvGIlgMw/vRDY62WgX7ROz/Wvwnjy1E53Txr/hC17BdqP3hukMNvNHS3Ch0cB+HyEsKiwcE0Yi2MygE005q62l14k6hVpGTH8d3p9wJPI7ImQnyq8vwTrRVHq5pRnei6etzuBzGXQiO5PHb7O2kUNLdJuSzOajXRn27ql0VlHeiXhX9XlsGokGLzgLuzkZiT6fQSeKrMklajtHHm+rjgXHY9CJzJocuVBE249zIp+evBN5tw74DFCsYTOjTqRRqGZ/u7mMRKOPxzqR2YeiAzWjMHgfGIlgM4NOVGuxXqLXoFh/PsWRyCvRNmVZmO9E5nctv2y9PLVwI+9EKNafB9MZbGbQibSzQgqzfptl2c7uWft5q9pOZGcBwfvBSASbGXQijTp7bwSs1YnscHV4PwadSNbpfCOgvQrxVuwl1I5EdKL3hekMNjPqRGaJ7l08OsXab2hcQt6JcAX5PBiJYDMP70Tw+dCJYDN0IthMeCqI/ztCyrFZsu1Y4uhUevgdMBLBZsJONGVY9DtBtrDWeFniKMf8LfFTPwpRWyisto3+SPj5qwh/s67lLh5ekLl7SJ5xLuQonv1+92P+FK5O5NNbg5eviNIblvkef6otI18u3WtxrB5CYSJ/cxHBdAabSZ0onwa0KdF+q/fmo4n/lJVdU5j+92nZhsb0Wanu6dLnqPR/9M1ZcZ6YkuSLrXzNt1tPiqU7eOKaEULot8/DThuxe1Q+u27/C6XlLfT3TZ0aae7x9Fv+6HaSiV3T57Km0rPPZHk5C3+PsNFUMvWjrI2APu4reehIVNrQuAeXW/wdtCU8sny/iT+5Aill0f89x+nSPhH5XDyHnjq7F96b1In80JimAk1XzVBqyqW5aUwNodaJpIh5BU1oxMiV4yMNx7ANFGvYTDpuzxQ6PzqYgmvKcc0JIKb0mhVbYfqSow8zpZwj9T6H2ZHIlE+vxKKQgmekWG9la3oaDaM0zFJuS/ecfKVWinck1qwuly5gnsFAsfYFtLDBCJQpw5EQlJ4p1qUK99NhcN3yyPMSZiPJw4XK4u+p7WwWFtXXsHLqZBRbcOjv3K5jeAtyhFmOS2Xxf5ul2MrXl2Umj2fyKxTrqLFgP1InsifKLLORsi3l+Hxu6BpET7pXrM0SHZ0oIguu/TbLdh4vV7SjeGY9zxX6ZBHP9LQ8PdVNZdYCIX8PpLqNnnhnURdTu1H86PQbd62wxIfNzCrW0m+YDmCKUSeKlEV1ojlFziu1U2HweTCdwWboRLCZP//88094AQDgmTAYAcAhYDACgEPw56+//kpWxZKzkLccpu0Kzd964WTWSflq6PW8XrDJ60xWzLQV4nZJL5fknVbjH2uv3/VCy7ZF5HH8lhKVWa/3FU8ky2h3r67bSzS9DLNtJZaHlSHKw5dPL9zybS9Reqqz6ujLpxeRaTtIE1cv1nz5fB5Lyne+NmVx987JwLA8fHp9W7p2t3t9W9o1gEfz56///h1eEP7hmuIZXo+lsmgbkf7Xg5hfW8pUfY/8YO4pA4BX8eff//lf6sS2+TLCZmxhjnZLt6t5eGgAICfZjDQ4SLvxSwBPNBhZmO61sGhAy5caIhqMongA8Hv4869//Su88E54mxQAvCcfORh5Da81ts/vzLhcW7uLGZPZ/g3wXD7i1T6aEcD78xGDkbdpAcB7wmAEAIeAZRoAHILiYCQnPx394x0Bzdvav4b3HsSvYmTAlpuCK6MdzzSF6pa8krN7AeA5/PnP/8oe2BHP8LZeCpoRwPszqRldO2fGiCkP7GdrFlODka5FHwUrccTBFuA3MDkY6X/zrhY699m8p3MPbB/P/Hy0UVb/t0u+sXd38vxu4kZ55B+lmRpQpgYjK190LSLPFwCeAwZsADgExcHIPJcHx4V0R2r0x2Ocm6VcEyYNaM7QPYdpWlNHiJSYG4xqTx8QXpvLrwHA49isGdmyLeeZthc0I4D3589///p3eEGDjL2yjwac0iCUo4HCPpZn7O2kmA9G+V4003amUBo3HQS3wL4EAPvx538TmpEZom3g0f9miM4HoyWG32gw2vIGLh+MbECxMta+TSsdoQIAjwcDNgAcgslX+/Jc9uchR8blKCw6c7mNF2tP/qxsOz9b94qkjc0YtecGIwzYAMfnsJrRknOd0YwA3p/JV/v2++i74ucGoyX2rPMFuxHAK5jUjLQ00v/5YJS/cZKBeInH9N7MDUZLDdNoWgDPBwM2AByC4mDkjc2mGZmG4Q3JsuloSTfwwO68sksG572ZG4yWLjP10cUoHAAex0M0oxqj856gGQG8P2XN6Hbt7UBrDNjP9GSeGox0bYn9iiNEAF5DlWY0ZcCWFqS/cwP2UQYjK190LWLJmzcA2I+PMGADwPvDYAQAh4DBCAAOQRqMZFcp7RsT/av9Fa/q7cscZkhesk8MAH4P/WCUPtFT8FTO/YwiStdsW4kZkk/BdotrM0jJt8cM0c/03gaAY/Dnr7/+Ci8AAOzJ3Kqotxl9nS+DyJG3tZ2Brd+mLVmY4glpQBbfY8eA+CNJ7FqUR+7Rnecxd6xIXj5/zTRBH2Z4DS+l3/w9OAe8O9/b18OOPfFHoUTpeax8U/XwMlCZpUFGMtB1nUeu//1HNXONNsrDl8/L2cKi9FRn1dGXrz8XvYkrLXfQRi6PpeUT5y4fk7OXvfLK8/ByUTn0fzqvPfnO3cs8JXsfZvGsHOl6UGbf1yxfw/chq4eP58NyBs9CVw+fntKQ3O23/o8+rurDonzHZR7LRVi8qL/omi+biPKN2M2AveTIj7U8Og/f6FM8wzGyVJY9ZTBV3yOc52TlKz0Ua/CDVoQN6nuxd3qv4hn1KA5GUQfwD8DURxw9mkHzM7CXkuxZne2pJt+5DrcHyuN0Ku9h08M89RHMpSQNrHs4a2XvqXH8vBVmZmNqALT61sp+zYA+NwBvGaCn+mlJLrlMfT+N6DXBHQfXTyINRhK2OrgXrnUq75GsxrY4JlgfNvVGTpQ6au71rHg+rp/BLV//Qcmcwb1NHJ3b7cOWfigyKreF5WWwzljSLOw+k5WdKT7q2Fmn9umZDPprhXr4NJR+JIP8ZEurz9xkZOT19XkMfmfp6cG1dlW6+Uc+L5dmCaDlcNb/prSlqfIZvr6Kn8vd4/tzlLbuHZSvK5tPU/fZEipflsKQ3ZZpW/F2lmfyqnwBYEgajDRL6KH0Bjr9fbm1I7iN6GYo1GxjM5MZsbzxdsrgN0d77/D4EStLNBvmZVE59ioLADyPw2hGexCp0gDwHqTBSA9x/hrwVcwZAQHgM+k1Iy1dvDHOGxS9AVn4ZU5kSNbfiuMNebVG4zwvQ+nlntqiJixfluV/A8Dr+ahlGgC8L70BW8s0rzGYYdobfg0fZh7J/roR3evzMO9Pb5iOtJa+fC7e3fvzbsDujdWBl/eluZZeJzdhFi+61+J7fJmm8vAon/yVbkQqR5O+r9utSVcbjCNZpOvm3pDKEp81Hr1k8Ncjz+Xewzlo3ygPT98eLr37veP7B/UNZBq9tMjL24a1nt+GnPNMLrpusjIvYK95m5x9PCtLJBdfFrvemhWG93r5RW0U1QN20ozUIFE4fAZb2pe+AbUUB6PcDmRhexi613gQG1P3+jJPaSOeqJ4eszvVpmfx5tKNrktb6X93co7CIswW59N9lKf2HL7MyTEwOKkhGqRKA5elV7InwmeQBiPzwC55u3qkXtYaukv4B3tkwG7ytTQtPR+WDwq5t6vdMzV4DPJofufXDb8fx6eXyyAqn8JUttzD2eob5ds/dM01Sz8Ki/D1yWVgZYkGmjwsj2fp5nlbPfzyw7AyX/2g1A3qRlSXUv0sPd6yfjYYsAHgEPQGbBnyvAGxN+S5mS86lsBjs7030NnsfDcyxvfbvZavvxYdQdAbC92READwvry9ZsRbCYDPgGUaABwCBiMAOAR/okAAgGfDYAQAh4DBCAAOAYMRABwCBiMAOAQMRgBwCP7IaZBP7tyx+tY6U67ZlT6Vv5i6PncvwLuSBiP9yD/SZn/PbRURekBsC4jfLKvwfHNje387CPnNp6K09cSXTYORHyhqz8zx2APtt57k9R3moQFquDXG0GBk4XbujW19sTR13d/bn1e0oHzGq84NAng0/WCUz7g2iKjD+nDD7tNDp/9td3euuUSDkf3OB6PyzvB7Gvlg9Fu+/2UDm67VysCI8jCsXL58eR0AnsEmm9EzPmldQ7RU8hrab2DNchHgSGDABoBDkJZpkRq/5TTGCEtvaskAAL+XwWDU2h3a5c3YuDw2js4dzO+N0Jae2Tp8WtE5Sb0tqrnPbCEA8LkM3qZNDUbRK/XIiOqvp/DCYFQyVgPA72RXmxFGVABYy680YOeHwwPA6/nIwUh+NloGll7v54ORX27qSxS5oyEAPJ6PHYw04Jwul5HtS0SDkQ9juQnwfD52MNL/GowiV4JoMPJe3l5TAoDngM0IAA7BrxyMAOB4/MrBKLIjAcBr+eOPu7DfnxymozvyMGMuLBIgAOwDmhEAHAJsRgBwCHibBgCHIByMPsXPJtrcm8JzP6PsNEoAeD6zg5Gd6yznQaGd+f4MbH/fUdBxJiqfHT2SnyYwGoxOd+dIu9dfB4DHMzsYpcGnezijN0pHHJBsb1p0TeSDkY87dy8APIZqm9FRzrveA2xGAMcDAzYAHIKHGLCPoj2Vdt9PDUa6xqmTAM9nlQG7v+bOC7J4+m1xoo8G9vGv43t9HnsYyUvfEZvTjH7bZ44AjsAmA3Ypnh+wSlqWhWugmMpDrB2QSoboqcFIZSm5BADA43iZATsapJ5lJMdmBHA8MGADwCEIB6NH2kxaB8PW43nvD0XmYMAGeB8Kg9H97OjeCO0GKDtSo9YIbXGEH+jy3fPeNhR92HEpGLAB3ofiYOQHBtl3IhvPEiO0MTUY5QbnrRoKBmyA92GTzeiVRugtYDMCOB4YsAHgEISDUVqWdcs0v1zrr7uwKSP0M43VnmSEvl2Ly618MMqPEDFbEwA8j3gwagab86kbjLqlmLf1+OWZ2X2iL7E+01jtkbe3zrquPUIkH3x0r/8bAB5POBhdm4FF/+shtoHHaxnRYBTxTGN1ji9jTj4YWd1s0OLVPsDzwWYEAIeAwQgADkHRgB2F7w0e2ABgzA5G6RiP5m+9cTKjsxmrIyO0D7sfA3K/12N2pGSbauJ4G5POor41+WwxdOOBDfA+zA5G5lUdPdglI3Q+8JResXujtgYjH+92u6VBaouhGw9sgPfh0Daj0jJrK9iMAI4HBmwAOATFwejWHSHreaYX9R6sWaYJ87MCgOdRHIyiJZLZePxxIfdrY6P2EbgF9h80I4DjERuwC7Ya//bLDNvR4HOUASk6k1tMDUaPslMBwDTYjADgEDAYAcAhiJdpyclxvNTKlztHZ5WfUXdaAQA8l3gwagYiO0LEY4ORGavlCPmtc4Oah9uM2v5c7L2PBtkLNCOA4xEORv4IER+e/31tBhptDdHDrWsyGJv3tnlqH3GfF4MRwPHY3Wbkt5IcFQYjgOOBARsADsHkYPRuBuscjhABeB/CwSgyOvu3a72xenCs7PRxIa+AI0QA3ofYgN09xP6h9a/Jc2O150jHb3CECMD7gM0IAA7BrxyMAOB4MBgBwCFgMAKAQ8BgBACHgMEIAA4BgxEAHII/peNCovOuI4/suXOx9Ro994Q+4k5+AHgtg8FIg4124uu3/6aZEQ1GFu96vY62UWggEt4TOtqioXSP5LkNAM8nDUb6cT23x4CsHYx0LfJc1mCUe29HntEajNr/GZAAfiPYjADgEDAYweG5dct8eG/mtmH9uX5f02mN+c72fEm25tA02Yds+VXDmjyWojxOp3KZJIfrjhtllZ6dbrDmI5g1m3ajD256ouW1YfWtlf2aTzlN5S/mrtcQpfHIJf9UmUv55m05V77IVDJFbX2jeD5sqp9avDXP6vk6fU+yGd1u7cNiR4PotwlbA1U6GiTI3B8hcj2ffm7Zl1jtKA5vnI7SivKIjimxPLzgps7Z9vcalodsZD7c/tbDqZn4fD7/XK9N/vrbfaBSSDZWXn/ciMLzwbe9vy1v3rlK9fBlUwf2crnLYGzwz/82rC2tHvqd13eYhwaotr4WZrQTTBtubfTd3C8sTV33994aOaY8VpSvj+PkbLL36dkLFB9mdcrj6YWKD4v6UN8nnZz9S5q8zL6veVkabbzvQT0sXunIGusvJmdf5r5Puryi+vbXXFiUr0/H8jUZWLjo8xjEb+P5M/H78vl8ZyaytEyzSBJw6cOHPvMoTANafo9V1r9Ns/QjfHpWliiP3ABeOgxtqsyj+nWDiMroww27Tx1K/1s9xrPdeDCy3/lgVKqHTyMfjEwGXqb63+oTdcS8riKvr89j8DtLT33F2lXp5u15uTQPbNOJ85cWds/S8hlezpZnnofi+DBfj1P3W/EUXtuHvJwtD/2dl7kkP4/u9fWweD7MY/1FeVmdrR5C95fyjeRsYVG+/t68n3osno9v+DPxfbjlO6sZRYFrWaPCL+UZeZS4dBpk3hGfTSSD0uz6CczZGmrIB+2jkmuEOX5yq2EuvWcyZ07AgA0Ah+BQBuwSmhllK4muRew1+00Z8pSH2dcMG/nXyGoKSy9voyl12sqyVWMyGURqf1TfOdlbektn+JJMa8o3h++nU20+R20/Pbp29iqOZcB28SKPbkNxhG9U3xntXv8gegOn3RsZ2Tz2sEdl0f2lJaOvn9V3ULdOVt5IbrL3RsAoPY+Vb6oeXgYqs9b1kQx03VR6b9C1PKwMUR6+fF7OFhalpzqrjr58vSG8ias+MWgjl8fi8rkwS8/3XV+Gvs1df86XOr4tvfyM3uBcaDfVKwr/7RzKgF0yFkaYIdmIjJn+fp9efq+IOrF1zKgsCvOd2IcP5NLVdyCDSFYKb+JGRsBSp7byeXw98jLqb/Ow9zKw9E07EDb45g97bvjN66u/TVbe2JqnN9XGKkcuW8tD9+j/JeXLwxR3UOZgMPJt5OUiojJ7dJ/a0ueRX4/CfztvZ8AWWwzJjzZCRwNUxDNkVSrLnjKYqq8GnCj8mdS2R8Sz+jO0HMKArRkkXwY9g1flCwBj+o2yj2ZvTSRaotSCmgxwPAaDUW98DNTTyCN5YARswr1hT3jDb80AEBkGfVm8sbBf21tZrvuWBQCeSz8Ync9Dg+LcWlv35VqVBoDIkGy/LbxEyTAYlcVrRr4sZqfYWhYAeC4f4/SYD4wA8F7ggQ0AhyAt0yIfm4gt3qm1LPW2BoDP4I8GovOpffh7Y7AzVmtwuNyGRmPvZSu8DcYbkv3RBxavN0w3f1u8iBQnDZR3Q7Tu198+noX59O5h9/B7etP5AsBr+HPtXN79gOLxRmAbjBTXjMG5N7M3JCueeSDXej0bkeey/s8HIwsbedk2YSXPb+8ZDADHYJPNKPLkjQzJRzl6w7CBDQCOAwZsADgEf5bsv6k1YE/Fk1YSHQdr5NpTTflK/kmedsk4jldz71yZDZU1WkYaNV7jkWYpHvXyYA9ttVTmIzNX5tp+qniRCQKWkwYjbyDWrm7fCN5zucaAHcXz19R4uu4dGf2REHlavny9gd3d24YNzzQ2Y7X9ncJu7Xna3qgd3RthZfb3RnlYnUodPR+MwnO23b3WHvqd3+vLEp3hHMnK8PW1NvLtEbWvpWdxPFGZ5+61MvuyWP39BNTXw8nqHv9+9rb99nIx/N9Tx3sM4qVyz/dTxcvrcZdf3tfiekBLNxjdjdipI2Wdy7QHeyB8mDqAxTWieIY1Qh5ug5Y1shFpG3lHUloDQ3vw0Oi6OlZuEM/vjbC4JYO4sXQwirB7JQdRGoxK8vMoragsvr7WRj49325R++b4PHyZ/b1ROVTmUrv5QWAJuVwMGxRUPuXj5WxxfFlq+6niaTCckynMs7sBGz6HLe1L34ClYMCeQWp9FH40/DLhE7k0S5soHD6H8AzsSKVW2JE6fL5sico8R6k+/pTFNcyVJcr31Dme+uVJFCZK5auRQe3SYe0Sw8qcL33Nn81QHfKlZRRm6cHnMzgD24xsUafWA1Tjqe0ftFJaInwg3UNn6ZVsBzYY1RokDZ/e3MM7dfaxndsdlc+n28vUlWUu39wYXQrLidKNjP2D6ya/kbG1/CFLuzcynC8hkl2pvYVkHoXDZ5CWaf7tRfq769R+vV/rqV0ySEbkg4WfjS2d0gztjeQ1BknDpxc9vPkA5MmN3yIqX56u/W31jfI1TpfxNR82Vb5IBnleeXlNfnl4Se7Ct1tkOM/J+5dQvlFZpvL1cofPA5tRgWdsCt4TMxh/KtGABp8FgxEAHIJdzsCWep0vuXJsWaVvguXLp7l7jdp4APB+DAYjMzj7hz7ylDW88dLSiTxMtQ1DBtGSvcPu9UbU/pr7O4onb1ez5QDA+zIYjMzgnGsuZqTMBwobBPTmy6cTkb+K99i9kYE4Xe/yjeIlrWwmbwA4Pm9vM9JgFIUDwHuBARsADgGDEQAcAgYjADgEDEYAcAj+/PPPP+EFAAAAgN8GihEAAABAB4oRAAAAQAeKEQAAAEAHihEAAABAxyLFSOeZfep56Dou6Xy+TB65VOIZcjlSHpLTnqe2KL1H123vMkdE31F4Rr4AALAfSTHSGYk2eOuLVTZJfZ3O6Wta/ob8PEX9fY9/Sec9+uuP4qvys36+fOLsDr09BWVdoxiJXC7+y19TH95ZQp7HFHnddG5nzQRd074K2zrZ+/Ip3UcrRkvLvFZ+4nwdHsS8VVYAAPA8RoqRJqmpLwQK/3EuP3F68q/6+dPy7R6fr1fAoi8CyqKjU/f1tQD9fe3i6POisnSUFDJfvlzpiZQgH+YPAfeKzk2fuA3q7OUSKUa+vlb+SAaRrOzv/MNopbLkdfP5iFLdxFz7+rS80qdvpKcw1xY15WsVo9O4zFmbR1jZ9VUIs9hEdfNlVpj9foT8hD1Dkax82Np+kJPXo9h3g2fL8rN2W3IvAMCn8eev//7dD8qn82WgoEQWI+PWfea6NGDnn7SW8nI9t5ONTXSa+PTpou9mItankCxufq8miFQ+lae5dmkmrTWKUU4++eVhKp/V89JM0ClM6XV5RZYgi+8nlH5CNItLUw99tklWiUgGkaw8A9kXyjKa2KV8NHFNeYjq5plqX4XZJJznO+g/leXzFiObfKM2t/g5uu77QKnd7jJt83iE/PJFRSSrvfqBEdWjVL782RLKR8/R/e/6ewEAPo2kGEUXnkEagDUZNLzbJ+334lNkcGomZ30kOLoG8/AsAAAcgz///s//wgu1aEAvOS3r2sX5WwAAAAAcmT//+3voY+T9C0rkjqkiUoxE/ooiundvtjjOAgAAwO9l5Hwtc77+92Hmz2NESpAP88rVpG+Jy6P3jXBhJf8mY2/H2VJ6AAAA8DsIFSP9jhxE7aY5xcicRpPfRKPwmGPoKF6kGDX35E6oEbp3T8fZqfQAAADgd/DnX//6V3jhVSSlRYpRA06oAAAA8EwOpxj9VkrHDezJM/IAAAB4Z1CMDsKc0pJe9Tn/J72CPF0u/SGAen1p10rU5KF0b863y79WzMsAAADwaaAYHYRaxSgdgdDFlWKk/6W87KUYKQ9/4rIdhpiun+ZPRQcAAHhnFn1EFh7HEovR+dJ+0sIUI1HjMF5rMdLvfneinOGvOl1cTvEc4AgAAJ8NitFBmFNa9uAZeQAAALwzKEYAAAAAHShGByE6G2pvnpEHAADAO4NidBBQjAAAAF4PihEAAABAB4oRAAAAQAeK0UGY3Uqftsu3n0oRFn69tX/bNvsp1uRRyhcAAOATWaQY+bN07COzeRxYx6zS0sg7D7u5wxfP13nlaE0eURgAAMCnsloxGoR/nX6u1+uPHQDoDwr87j4voYnb4p8u9wn9drvH/c0sUTK9LNMHdxsZ7nHAo8fnMRUGAADwSTSK0d/hhYhIMdLnI6TYnE7npBhdLqf765fb7edybndCKex2bT9bcWmUqBSm9LrJumZi/2RmrTmdrFrZ3uWn+6Ro1ig9a/PIwwAAAD6Vh/gYJSWo80m5skW8iiXWnLU8Iw8AAIB3Bufrg7BWaTlfb0kB3cP5usSSPAAAAN6Zpztfn1ZPzp89Ma+RpX/9WCOfZ+QBAADwzjzN+drwpy/7eH4CztPL4wr5NvlrVi6/U6uET0sKXq/sVdTDOyDv6US+RmnxMlBZorbxPCMPAACAd2azYlTrfG3MKUZReimuFJhmYj9dOqXl6/xz7dL2CtTN/S6hfM0R/LtTpGrrobBHOJGvUVqEFLZUzq5MUzwjDwAAgHfmVzpfJ2WnxrL0xHqsVVqW8Iw8AAAA3hmcrzukBJ3Pl5d9aHWt0oLzNQAAwH4sUoxOl0vvc6JXWfn1o+J9gQbhgaLwTooRztcAAAD7slgx0v+aLE0x8s655oMU+Q5F+Hh7OUFHlK5HSpAPe5SjdcQapcXLvsYx+hl5AAAAvDOrFCNhCk/kBL1EMdrTCbrEWsUoykNl3upoHbH2NRfO1wAAAPvxUh+jIzpBv4q1SssSnpEHAADAO/Pnf//5d3jhU5BS9Uqn6lpqlJZTU49cObzeWoWx5tXeM/IAAAB4Z/7859/1itHVWXfkE2S/a51yS/HWnoZdekV2JKfqWuaUlui1nT/MsqYNnpEHAADAO/Pn33/9N7wwxVfy/3FKkvMp6sO+5k+vNkoOz3Os9R3yefg0HuFUXcuc0hI5uet3esXYlLvG3+kZeQAAALwzi3yMpFCY8/Pt5hSj7FTqyIE6imd4pUXO3L3Ds8sj4h2cqmuZU1qS83O3I8+sOCqz7pMc5u4Xz8gDAADgnXmp8zXceYbSgWIDAAAwzUcqRrJ8XK7T1qajsVZp4eRrAACA/VikGHm/E70WO7IFouZ1mHfS/jqNX789kzWy9HXcw/k6YmkeAAAA78xqxcjjdy6JyIk3cqpe4gSdh0X3+rAaxcj7HdmOOx1iKD8nUyJyJ3LVx8oxdwr3EmfuNUqLl7PyjdrG84w8AAAA3pmdFKOhM3V4GnbgVF3rBB2GRfd2+aZrTTy7p8ScYhQ5kSttvVaaO4U7KvMUa5QWwcnXAAAA+4Hz9UKSEiTFqGHPU7jXKi1LeEYeAAAA78xmxUiKwjucLH101iotdir1nHVMrMlDlq9kIeuofTUIAADwjixWjM7X68CnxogUo7UnWv9G1igtagdTVLxvU4ktFiO9XkQpAgCAT2exYmSWg1wRihSjPEzWpfw07BqnavHKU6mfwVrFyH6rTfy1iC2KERZBAAD4DSxSjPxJ1LlD8ZxiFDoy1zpVL3RkfkfWvubqTyLPdgZGrFWMpKBez+uVKgAAgHcB5+uDsMWaU8sz8gAAAHhnUIwOwlql5XprT6WuuX+LYnRlqz4AAPwCFilGdtaP0MnX/lruaO0dg0u8+rTpI7FGaVEbmIwjh/icLYoRZxgBAMBvYJXF6Cv5CQ19WkaO1ud5p+o1p02nL/R3vz/JIXuTNafSMRrFCAAAYJpFipGUm97Z1zlip79zxUgKTDMRny52KvXYqbr6tOlGMbJ7TSH7NIfsNUqLnOFPp1NCH3qN4njWKkZqu+9GCY2uAQAAfBJv4WPUHhEwP/G/M1usObU8Iw8AAIB3ZrNiJGvCs06+Vl6XCsvIO7JWaZGlSIpjzSvFZ+QBAADwzixSjPJXVn6ifYZiJDjH6I6XRY2z+zPyAAAAeGcWKUZTr7O8YhQ5Wospp2qbgKN7fRiK0R35Y9lvycqc0ks8Iw8AAIB3ZpFiJAdp253kT8EWXjGKHa1jp+pcMYruVb7XcxNf15p4NR9MfTfWKC3i+3ZJcqnZNfaMPAAAAN6Zt3C+/g2sVVqW8Iw8AAAA3hkUIwAAAIAOFCMAAACADhQjAAAAgA4UIwAAAIAOFCMAAACAjs2KkbZxP+vk6wjl73dbRac0X2/6pAiHEwIAAMA0STHy5wn5wxRLnIJt37litOSU5Ci9GnTgoP8q/9wpzXawZMTX6TWKHQAAAByHkWJ060469mH2FXwjsg7lYf7+OQaHQwaHPkZcu8MGvWI0d0qzv54Tfelff99u9fUAAACA9yZUjPT763RJysHX6dyGOatOlWLU3K8Tqk+XspXGWKMYGcrner6XLT+lOSlIqofCGiXH4uVEipHKYqdsf+qnSAAAAODOn//+jfM1AAAAgHjIrjQ5Y3/C66dPqUctspR96kdit2wSeIZcjpTH3v1e6T26bs94Vqfkp2tR+FJ+25jzKNKmnOvQBWQvtowl8Lw+fu6+tbqGP//73/96h+v2NdT0A17jVD3lX7TW0TpCr8mi8L2YqserWCM/Xw/ve6XXpGrzPG7+9z1++3rVX38Utc7wvnzi7F6r1mwSqCWXi+97e71mzfOYIq9b7WaHmvZV2NZ+78uXXqtvTG+OpWXeS359+E6K0ZJ61Jb5SGwp89J7557LrfJ7tGK0d/vWpleKt2buEXl6tX1864aoTYpR8jHSSqgZvNKkeblPlNKMr03ifjdXXilV2n4bPk7eOef8iXxYPmnn5IqRd65WOjYY3zLn8Ygl9cjlUlsPn4cv+xIH7zn5Rfh4uU9WxOV2L5vujSa1XKaR7CMZiKg9cpmWnOFzfPnygSoauHzY0vbwcokUI19fK38kg1I/FT4PUSpLXjefjyjVTcy1r0/L96tr1za+LWrK1ypGp3GZg/Elx8r+3cjT/BWjuvkyK8x+P1p+Rh4nqlve730eRiT7UlnyMou8jXwcU1BL6dWMQ1GZ555934fyMkdlqb03wqc3uDdojyi9mj5p1PTnvD3mZOU3OkXlq2kjEcWrrW8UT/j6Rv2gRJ6e/3uqj0dzQBRPRPX115fy5z//+U/6YZnbIKkGVEYnWRUaoV06oaSHqymgDVK659Y5OtuAEVXcGAyYQTw1lM4c+m7SupyHHS8nr7jKcu3u8Q19c79L1NYjkkttPRTW59F0xhTW3LvEwXtOfhEW73S+DBSUyGJkWDlT+bo8BtczmUayL7Vlfm8k0zWKUU4+cOVha9rD4vu+17d582yonH7DQtwP4n5qDGRfKEtet/FzOa6bZ6p9FVbqV4P+U1k+m5BTeNeupfElQtd9Hyi1212m9+f30fIzVD77Xapb9Mz0eUyMOaWy5GU28jaye3u5FOSXy0ph+fgQljnoz1E9UniFnKvvLZRPZUnpNvcqfu1cVhrbi2Ok60NT/XnQHpGsmnLk44aF5/XV3/o92UZBvBReUd8onjEcO+O+G8kqqkfevlE/iOaA2r4rNluMoguvIlW8aTBNJlfXEO/Gp9RjC8jgc2RwSoPe+oEGHk/URkkp7yYYeC48M+8Lztdvwm+TqVYIJUvQuyNlaa3z5jPkcqQ89u73Su/RdXvGs3qk52NpWdT/cYyGI5MUI3tvJzOYOnkeyaO4cw+9N5XlrHXgitjyDnFvSmXZq75TMn0Va+rm6yGZ2YCKI3g9uVyi13pbyfOYIq9bzRghatpXYVv7vS9fMutvTG+OpWXeS35b2TKGLS3LXD/dOrbnz1atTAEEztcdUT2i9Ep1Kz3IpfpO1W2JTPM2iuJF+fo8fNlrnfvEXFtG+HiapHAEb38vbQ8vFx8/anMrfySD0jMjfB6iVJa8bj4fUaqbmGtfn5bvVziCt3j5+XjGM8ewvL/k+PJZvqW6RWWZGuusjxtzMgWYon+VhvP1NqfCqkGlsm61Mo3aqFamCqt1Yisx15YRFg9H8Ex+K9rD4vu+17d585wmi0tTD3PojPtB/MwYA9kXypLXbTxGjOvmmWpfhZX61aD/VJavVYzaeJ/mCB6OG9GzUJDpHmOY5R9hZUn1afJVHUt1y8sSjnVBH7f4czIFmALn6yfyqrp9skxrQQafIwOcWl9HTR+SAqTrQ2gveB8Opxi9krQabAbd3CKgwWAPZ0GlcyTHwFJ9AQAAfiutj5HMvJ1pVZiZdQk1Dno1bD/tsjW5+rCp1zS15ObvLaxRjB4hFwAAABgyUIySZaRTcErvoU3ByK0M+WS/1CHW8oj8OSIHvVL5fPhWljgL5nIpxRNeVnNyMZ+II8kFAADgUxlZjM7NBKsJtDjB6v1x4GA3VoyG75TN8U6/p5wAIwUgvdfOHPSK5Quc7NZajKzMKf8mjylnwVwupXjCy6okF7vXnDcfIRcAAAAYgo/RAWmdFVtFCAAAAJ4HihEAAABAR1KM7DWN0CsXH2ELezlkv5LcP6iW6tOSd44HAAAA6xlYjJIvTqcklZyHo5OCaxyyI98XHzblA+TjmTNy+v1VPgnV0ivWo3AKbU6kGNU4lkc+QRbHU+tUHcWL8tXvqI2ik4IBAABgSFKMNBHbKaa3/sTU2Hk4OkVaE7V3PDZmFaMmj+RPUzhF1dC9Y2fk4CTUIL2Sg7IckVOYc1COiBWjoQxU/9yBeotiFJU5jjfOV0RtJNY4oAMAAPwmXupjlBQAKTINUyfx1joj16b32+CkYAAAgDpwvj4IUur2OF17Ka/Kdy9U/vw08ShsC0qr5rVrxFRZjiD7LXXbmyOV5Yjs1V8iOe/9zDyTIzxH8Fkkxcj77ejV0V6D097O12vS87434jzzNfccvWack8de8pt7rVfD5aIPWLb567VoTVn2yHernCOi15glogF9r0HevwauIeqnpbLsIfstLK3bWmrOEntWWd6ZvL+sHRNLcp57ZrY+5/l4eqSxE8AYKEa5M691UvNv8WHWEaMwwz9kc/fW+L/MpRehePbgDe5vVhnecTtdDxyyfT4lIvlFDtRRmX28KMwrB5FTdc7lck7tdW5WUDbQRE7aS/KtIZLzEufwiLwMXn7WJ41oQI/CcvKyzLWbyXRLWSLZi5oNAZFMfVmmngWfr1G6N38+ong+bG6zQw1zeUTjkOVb6msRuZxLZY76qeVnPoNL7l1Lqb+IvK+FY9hEW1p/trilfmp187L1cdeOp0caOwGMkcVIPjr6X2HJwbdZ6SlMK5Ooc0ZhxuDBie5tHqYa52tjLr0IxcsHST2EunfguK143WDn00uyacKnTowO5dfUreZUanOgTvGbsKnTtUtO1R4pRtZ2NuhFTtq1+SqNfPCNiOS81Dk8xw9sIuqTdi0qY025x470cbvd69EN1BvKEsq+0P9ywrYM+lWE7u3rZpssgntLz8e479ZtdkjhSmuBxajPI5BznG/c13IiOZfKHPVT5eM3miy5dy1Rf7Frg34V1K3Ulnl/Nob9dFy3lEfXRsaW8TT93aX36rETwHgL52sAOB6ven4ZNwDgkSxSjHCO3IYG9BoHx6M6R0ZWs37lt3P5ovQiuTyKq7MKpL+bFakm4jz/2nii9jt15iO2R30lx7WOqdG9W9LbwljOtyRnWZP0tywK+tuYkpteM8/FEbXxRF6+Vz6nALCNpBjZe1mZumWezCMZ3pw5hfe5kKnUX3sVa5wU9yDKd27QnJLzngOu2r2mPcWUUuTZe0Lw6dX2vxJRfUuveKJzuVJ4ZpKvjVerFPmyTNV3SX/2rzKWEt27Jb21DF5fNWOKycX7lKRrzfg11Ud82af6f208I+8HUiBNwQWA96L1MWoGk7MGm8vt53xpB2Y/4Jivhx+ozX/F4kSkSadTkqL0xLMcHPMJu8bRVaQB7jp0KszLV4onIkUhD8vvnZKzv7ckl4iofLWKhuLVhAlfPu9QqfjyJfBl9tTIz5fXJq4oD/2ucfycoqTw+PxETbySrCIGCoAr71Q/iOTi5TynyOSyj+4tpZc/g6U+GbVH7TMoIjlHr9HyZyvHt4vKl/vLGLXxjKh8c2UBgGPSv0rTg50UpG4A0GAZOcCVnPY8GhzNKXKPk7SX3Fsin0gix8AcDY4auL1TocLz8pXiiWhw9GHRvVNyHtSjIJecYj0yR8gIlaUmzBiWL3AUbsL6Mnd9o1Z+ylfx9NvaLcyj0L5RfSOLkeTqD8RME2NzXx5eE29KVhHeGqJ7q/rBhFxSH2nCTB45Yf8L7i2llz+D6XrWJ6P2KLVRhJenUL85nU4Jve6ycMnfW2n0t5eTofZOaXbl3BovL5+wvg0A78dLna8BAAAAjsTbKkZapb3aGRkAAAA+i9bHSGZtM9+f2nND8oiPIDehe58iezUwR6QY+bBSHhFL8q1h7/QAAADgsYwUI8+jHStLfkreZ8IoOVrPKUZTvlA5eb7yv/DXphwwa5x9o/R8nOQDM5EHAAAAPJYZxeixjpVy6DTHRu+sGDnJlhyt516llfKIyPM1h1P9NsfeiFJ9a9LTvSbTJUocAAAA7A/O1y+mPZAOhQgAAOAIoBgBAAAAdKAYAQAAAHSgGAEAAAB0/IkCAQAAAH4jKEYAAAAAHShGAAAAAB0oRgAAAAAdKEYAAAAAHShGAAAAAB0oRgAAAAAdKEYAAAAAHShGAAAAAB0oRgAAAAAdKEYAAAAAHYsUo+v3NQz/BE7n88/leguvzfEMuRwlj6/T+ed6vYTX1vB1Ov1cb4+t295lLnE9fw3+fla+AACwH0kx+r61g/f19v1z+hoO7p6v02V0/bubTDUJfF/Pg2tHoC/f16n/LU7n8YR1uqxTjEK5dLJQvrfLaXBtDVEeJaK6XSom6Nr2tf6ylrx8twqFbCtLyrxWfiJXjrbKCgAAnstAMUq/3SR1/R4rSvkk7+PfvtcpFmuoVRJ8+aSkRL+NtYqRGMllZ8VI1KaT101/107QNe27dbLPy3c0xWiL/IRXjrbKCgAAnstIMbo1ypD9jjhfh9dt4tQqW8qAXo2cL9ef89f553z66q+bknVulI9zp9Rcbm1a+l+vskr39nk09yqNr+b6rclLf1+aeNcJhexevvZ/I1KC8rBUriY/3XsvcxtHYcrb4o7kEihGJmeV3+7NZaDfkaxEnkepLFHd8gk6qpuYa98UdmvuafKThSmvh+qma21YXflMMfKvMkdt3qTx3cjFY3K09MyqE9XtuymLldkUl0fIz7A8Illt7Qc5UT3y8pWeLVN21U/v7VZ3LwDAJ7JYMdIA6ieRaJD0k0D6uxlQB6vo7p5+gmgGYA3E6Xd2r3FuJuZbM2CngTqbEB+lGHnriSkF52byvpyHFgUxkkulYpTLoCSrFCfLo1SWmok9qpuoad97PU59WVVutc2pmUAtXm35pBjlCpnwbZ5fM1R23asyW1miuvn62+9HyE8o3f5aIKt72Lp+kBPVIypf9GxZfr7dau8FAPhExq/Ssgkg4urjBwO2BlE/mZUGeQ3GWvnL+tPHHd17GgzOaxWjnGjyG03YboLI8atzYyAXK3NTfksnmhBzGcxNiD4PIy/L0ok9Z6597/W4T/YWfg3SnSufWYx8unmbW9wctb1kJ4uQhUV18/XPZbGn/LxSJHydphSjpf0gwtcjKl9JlpK1z2vJvQAAn8ZAMZK1yCw3IvIxEhok7Xc0YEeDqNLS/xq87ZpM9mkyuA0tRv5eTRA2WehVi8z5NqHYBPYoxcheKcjx2CYcvRrR/2nHkZtM2jAnl36CuytG9tpC9bhdujoFMohkZQzyKJQlqlv/uqqrR1Q3Y659o8leKF/fX2rLZ2VTvipL1OY+vkdpSUa+D8Tt1l73ysPe8suVIhHJao9+4InqEZUvf7YMy8dYci8AwKeRFKM1lFbMtWiisEFX3LoJ5N1ZIpe1Mtgq+xrW5OFfx0A9n/osAAC8I6sVoz2QQ6dWyf41yG/jU2SgOmBRWA/PAgDAMXipYgQAAABwJDYrRlMnRp91zfluAAAAAByZgfO1zkvxTqgR0anAkbOqGDnnBvfuzZZTiwEAAOB3M1CM0u9uN1AJKTt5WK1iFN27N3ke+tvXDwAAAKDE0GJ0vW+3vm8zvm/ZFZESlIfZNv/cAuXj6TRdbTO+NP9/ne+Hx2mrsP1vJwBH7H1qcSm9HNXtu9turbzkMKvfkhMOyAAAAO/NQDHSayjbpr1FMbI0cotRHu+exz1eH9YoKKakRUSn/YoaxchvRTcLWSk9AAAA+D2MXqXZJ0HWKkZScrYoRtFp2FOssRhNndEzZzECAACAz2VkMbLf0em8Kc6MYiTsJN3L9TpQcGoUI73mSoqROwE4Yu9Ti0vpAQAAwO8hKUZHQQqSt9ZwAjAAAAA8k0MpRoITgAEAAOBVHE4x+o1oV14UvifPyAMAAODdQTE6AChGAAAAxwDF6ADUKC3fnQO5/LDsiAE7Q0lcJnbaiao8zAn/cj/Pqj/zqQnjjCYAAPh0UIwOwBLFSOhwTP1//jr3Rw/spRh9nS69UiQlbHDmkysDAADAJ4JidACWKEZyTrcwWXD6oxF2UozsVG+hQzYHuwSdhQoAAOATQTE6AIsUo+tdcZFiZFadXRSjJg8d6GnnOKEYAQDAbwPF6AAsUYyEDqHU//fvvH3v6mNkVihepQEAwG8DxegALFGMkvN1p8CYYpQrMBFLFCP5GV2778aZ87U+CIzzNQAAfDooRgegRmnZyjPyAAAAeHdQjA4AihEAAMAxQDECAAAA6EAxAgAAAOhAMToA2hYfhe/JM/IAAAB4d1CMDgCKEQAAwDH4owlT39zyEPaksJNOms7C3jGPICzqbAAAAEcHi9EBkGIRhe/JM/IAAAB4d1CMDgCKEQAAwDFAMQIAAADoQDECAAAA6EAxAgAAAOhAMToAfBIEAADgGKAYHYAapUVfubet8Ndz91X9biv+7Xoexc9Zm0cUBgAA8KksUoy+v9udTV+n8893xWQMddQoLddM3l9fp5/b5dT9Ps8qLWvyKIUBAAB8KqsUI3H7vg2uwXqqlJZOCTJkLbqc7srQ9206jTV5lMIAAAA+lVWK0amZZM1i1Iddbj+nr/vrF/v/dG7jpd/N9dP5+nPu47XKlcL8JP/bqFJabq2cz42cJT9ZiXqLkV6p7aEYZXmUwgAAAD6V1RYjz7mZdG+N4mMTp03SOlTQlCWbxNP1Tqk6X28/lzMWiRqlxWPyO13aT3GcT6fZV5tr85gLAwAA+CQ2KUbyc7HJUlYLU4xswvZOwV4xysFiNK+0eNnnCkr+Wi1ibR5T+QIAAHwaGxWjc6/8XK561dL97nYy3W53i5G9SpPjtk3i391rGoX95h1PNUrLrbPCna/OMtf5edn/U6zNIwoDAAD4VBYpRjXIiuStFzaxQpmlr7nW8Iw8AAAA3p3dFSNx7l6lfXfO1TANihEAAMAxeIhiBMtAMQIAADgGKEYHYK3SkpzfMyf3Es/IAwAA4N1Z5Xy99uRrnX8UhddwuX6uxWOt0mKHbO61Ky1iSR4AAADvzirFSKw5+VrWhyh8jmS1+GAn7jVKS5KJU073OOAxZ2keAAAA784qxWjNydcWx35/6VDCm84vOqVJu9/CH6SXwrNJ+frdbv/vT4Ju0pHTt44MODdpeSXOk6xdTb6K448JqK2HHTuw5wne65SW+8nXolRf4xl5AAAAvDurLUaempOvhVeMRB/v6zQ4xyhPz8cV+UdTrVy1r3t8WjdXp1ed4I1iBAAAcAw2KUb+Vcvcyddt+LRiVErPx23jlxUjf08Jn5buXVIPryjkPNNiJLz8psolnpEHAADAu7NRMao/+VrMK0ZxesIsO6Z46FWa/vevtKoVo+/2dZkpMkvqYa/S9jzBe63Skk6jbsqgMkXXPc/IAwAA4N1ZpBjVICXHW02OePK1txiVeGY91iotS3hGHgAAAO/O7oqROPLJ17JaqWxe6SnxrHqgGAEAAByDhyhGsAwUIwAAgGOAYtSh7fjyL4quPZq1Sote9yUfKOccXuIZeQAAALw7C52v7w64lzfaoWSHUZrDtohO4c6dw5/FWqWFk68BAAD2ZZFipN1atmX7nRQj24rvkSUkD3snxShZcly95hzKn5EHAADAu7NQMfrqrS6mGEUnUOcnWuuAxOTE7HjECdQlIsUoUoLysCiPradcR6xTWpYdvviMPAAAAN6dxYqRrAiaLKUYaeKMDlrMzyey6zneArHHCdQl1ipGUR5bT7mOQDECAAA4BosVI/0vS8reipHu9a9utpxAnbOHYpTzaouR8HKek8cz8gAAAHh3VilGfpKMTqCuVox2PoG6xFrFKMpj6ynXEWuVFk6+BgAA2JdFitHeeItRCSlXXvE54knaW1mrtCzhGXkAAAC8Oy9TjGSdkRWo5nXUkU/S3gMUIwAAgGPwUosRtKAYAQAAHIOPV4xeeaJ1LbVKyzX5Wt3rIgf13Cm9xDPyAAAAeHcWKUY2OaYt6+4V2OVaN+lG8aITqGs5+onWtdQoLdfsBGrvAJ/vDox4Rh4AAADvTrVipIlxoAx1k6Qmz1on6iiewvOwWqLdZlF6764YJdlldTXlxf6ea4Nn5AEAAPDuLLIY6ZWUtszn4fmEaecZSSGx7fUpPJhYS1vk/fb/Elu34fs8HnGidS3zSouOMWjK2pRL5ZPlJoWZNUevuzYrRtvzAAAAeHdW+RhJsZizJOSnV4saxcgm4hrWKkY+D0vjESda11KltPgy94pnu1vvrM+wBLLwPCMPAACAd2fRqzT/t1dy/G//SkZWhqMrRjnHtBgNlZJcjvkrr4hn5AEAAPDuLLIY2W4lOTj7SdK+c6aw9pVMO8H606vzeBaWKy32UdpPONG6ljmlRajM7Wuuu+ytPfwushLPyAMAAODdWfUqDfalRmnZyjPyAAAAeHdQjA4AihEAAMAxQDE6AChGAAAAx+AjFaOzTrt+o8MI1yotyWG68lTqZ+QBAADw7ix0vr47KEeOz0dBk/mcA/WWE7f3Zq3SYid/77ErrcSSPAAAAN6dVYqRsAnziNQoRorj//YHUT6bNUpLsuQ45TQ6CsHzjDwAAADenVWKkawtmjC/Tqef80WnR5/TNm+7blvuzxdt128Vjvi06boTqOOw8b0+31mLkdvCb0cMKEzp2zfD7occ3k/wVr72vz5Q2//OyrLkJO11Skt8IGOJZ+QBAADw7qy2GBn5KxZNpl4psXuiQxUHk25nmYhOoI7ConstrOpVWqYYqQ4WZoqRyE/wNqvJV6PwmLJUW48SKEYAAADHYBfFyJSG9PdKxSgnsrT4sPxeKUMWtodi5F8j+TraJzK8M/LSeuSsUVpEr6S5upd4Rh4AAADvzu6KkdArLf3vXy1FJ1rbK6i5E6ijsOhey/dyvc7uoppXjNrXa/rbn+CtfJNi1JTJLEa19SixVmk5X9uTqpV/dN3zjDwAAADenUWK0W9HVhNTfMRtJ2fktUrLEp6RBwAAwLuDYrQQOZvLYvTdOVfvAYoRAADAMUAxOgAoRgAAAMdgs2KkLevywYmuQR1rlRb5d7XWq7HvV87aPFL6BucYAQDAh7NYMbre7mf6GN6RuQ/DQlHNWqXF7xKzHXQl1uZhzvNyRs+vAQAAfBqLFSNNlPkuq0gxkqNyHgYxq605zoLzqO36xvW67X4AAIB3YJFipFc3+v+WbdsPLUZZmG31V/h9m3sbx5/1Y1vf/Vb/JadIvyNrlZZ01tL3Yz8iK5RPfiQDAADAJ7JIMdKZNuZv4sNrFCORnyJde6L1klOk35G1SovJSgrjo85KEmr3KBwAAODTWKQYXbuJWJ/D8BaEOcUoWTY6JSc6ENJbgqZeCWExupPLcc4xeotidOQPBgMAAOxJtWLkDzfUb//6Zl4xik+Rrj3Reskp0u/IWqXlu1NYahTGLYpRbiEEAAD4VBY7X8P+bFFaanlGHgAAAO8OitEBQDECAAA4BihGBwDFCAAA4BigGB2AtUqLfK7aE6kfd/K1UD5ROAAAwKexSDEyB+q0fd45+0anXF84ELCatUqL7eBLzvATu/nEeuXrxHZ9AAD4NVQrRtpZ5pWhi9sdponZftvfNd/Vyj8t8ltZq7RcL3dLzqMUIxHtOgQAAPhEFlmMtNX+Fry2iSbOXDHKT7S2Lfy6VwrXtdt6np+QnV4XNXmemzh+u/4nnYa9RWkRsuBF4R4UIwAAgHlW+RhJyRm8SqtQjLxFQ4c9mgXK7jXFSOQnZA++CdYpTp90GvYWpUWHbUbhOShGAAAA8yx6leb/9srKUsVIRIpRegXX+TH5k519WmZRMn6zxci+XSdOJ16lAQAAbGWRxeh+0vJl1mJklh2Ll59oHStGhROym2v2Gs7S+6TTsNcoLVIiL40yJIVIPNLH6HL9Tq8yo2sAAACfxKpXac8mtz59GluUllqekQcAAMC7c3jFSBYlndXjLVSfBooRAADAMXgLi9Gng2IEAABwDDYrRqfzOfkDRdf25qy8+Lp+T3JW//7u/bKmeEYeAAAA784ixUgnIKfzhLIDHJ+1a0n5vrujdcRapeXWOcNrd9rcq8Zn5AEAAPDuVCtGSRlyVgM/0aIYbWON0pK3x5yD+jPyAAAAeHfqFaOJ84JyxSg/5Vph4xOtZXVSmqc0aVva0b3X7zbs3NyLYtSSjjbwh2Zm5zvlPCMPAACAd+chilF+yrX9Lp1o7S1B0b0WhsXoDooRAADA/ix4lTacJP1EO6UYCf9KJjrRuqQY2TULQzEa4uWXyy3nGXkAAAC8O4ucr+2VVn7adOlVmj/lOjzROlCM8nsVpnzbe68fuTtqrdJizvCSWXTd84w8AAAA3p1FihE8hrVKyxKekQcAAMC7g2J0AFCMAAAAjgGKEQAAAEAHihEAAABAB4oRAAAAQAeKEQAAAEAHihEAAABAB4oRAAAAQAeKEQAAAEAHihEAAABAB4oRAAAAQAeKEQAAAEAHihEAAABAx2bF6HQ+py/mR9eeweV2z1tf6f/+/h58gf/rdBmFAQAAAEQkxej71n5g9Hy5/VzPX6NInlPwMdJTc18edrnWfbQ0Sq+WVum5533rfiv8cmrr8d0pRF/nax8GAAAAEDFQjNLvGcuKrDJ5WK4YJcuNS3OKKL1aZAW6mjKkPF3Z8/ylGJ2/yorRaeIaAAAA/A6GFqPrrVcQLOzr6zywtETWoSisVjHy936dpFDJsnNqFJm71SdCZdX/d8Xo/HO73JWs7+9r//v2/f1zPZcVsHRvo1SpLMrT0rTXdCesTQAAAL+CgWKk11qmXLxCMRL3fE/F13oqk/2uUYzs+lR6qqOVxdKU8nWZUKgAAADgsxi9SpN1xYcdUTHymBIj/L2mJHmn69JrwpJiZGAxAgAA+B2MLEb22xyZtePsdrkrFLWK0a2z2MwpFFsVIyunOF+/f85Nfpdbq9wJvZrrrxX8iEqKkd37dSpbmwAAAOBzSIoRAAAAAKAYAQAAAPSgGAEAbERnp/nNHwDwOvz5hmvYXTFK/jiVhzsemU+pxxKu2U6+T2LLCe3PkMtR8ti73+sIjmvnq/convWsTsnvWtjYsYTfOOY8irOe9wf5hb76aw/vzDP7+NS5hXP8keOxEjDH4/N1ehCrOdHaHKhztpxyHWGO19duJ93elOrxKtbKz+pxvX1PHmSpVW9+3Y49UIeeO/zzFfTl0wGfbuKKZBVtEqghlEsnC78DcgtRHiWiutU8l7Xtu7Xf5+WzjRiPZEmZ95SfsYdiJJbUo/brAkdiS5mX3FuzeWdLWdaOJUvYu31r04virZ17RJ7es+bVTYqR/lEH0snQeugvE4N8mnwqKlWKo/uj8LU8eqJ+VgPWslZ+vh5eeZBCmQ/0+STv4/sdgI+mVknw5fPyiWS1ZTAbyWVnxUjUppPXTX/X9tWa9t3a7/PyHU0x2lN+xrMVoyVlPgpbyrz0XsWfUoy2yu/RitHe7VubXimewvOwGqL0autVOweU2KwYaZBPhxlqq3u3vd4GTHUAX8C8Utoar+s668cKom3u2javFZbfru87U+mUa9tqn9I9Tw82uWJkE72++aayKI/zReVq6tek7yeBnNp65HJZUo8ojyWna9fIL8K3mZ1TVULHGvi/+/o2eUjeJZnmsldYLoPSvSOZNtejk8gj7uVr/ze8rEphS9pjJJeu7+nBt8nS5OzP/sploN+RrESeR6ksUd1qnksx174pLOj3Vo9kYe7D6srXH93hXj+M2rxJQx979uTHaNjKM6rbd1MWK7NNiM+Qn1Af8JPwqG6Ffh/XI5Z9VJaozPrf2ihZAfv0zk4u4/Rqx6Ho3mjcLY1Nc3Jecm+EL4vVN28Pi5unV4oXkfeh6N68PfQ7evatHH7c8OFGfRvF8WrrG8k5r2/UD0qM8q3o45JF/DWKcb6l+l7dMUNLaS1GjYCuzeCuAd4L6Nx0zFtTEF/xvJLRCsri5APGqDMF8fqwppK+LBFeMZIgo8HJC3+KJfXI5VJbD5+HlX3J6do18ouweGJOMVJag4epk6Mnl2lJ9pEMSu3hZWoDhNX3UYrRkvYYyaWLr3BL594e9wEul0FJVilOlkepLFHdfBuLqG6ipn3v9bj3K5VbbXNqJniLV1s+KUaRQhGNLzkqu+5Vma0sUd18/e33M+RnaPz0f+d1i/q9z8OIZF8qS17mqI18HFNQo/Rqx6G8zKX+HNXDhxtRWWrvjbD08ntr5jJR0ydF1IdGbZ61x7ysphWj2jYqxautbxRvauycI0/vXt9yHzdZWL42B0T9pVTfJWXMSYqRBh4JxiZNFdgy1QM9JbQo86jiIhduFE+dSKtFf2J1CSujKHW6vPwlaupRkkttPaYaKtd2I2rkF2Hx8t8lrj5+J0dPLtOS7CMZjO8dy7T0UERE5RO5rKKwpe0xkIuVuSm/pXNvj/sAl8ugJCvD52HkZYnqlrfrVN3m2rfUrxSeKwBirnw2Ift0S+NLjtpespNFyMKmntX8t3ik/Pow1x+iukX1nKqHl32pLHmZLcy3kY9jbT1Vt7lxKL+31J+jevhwo1YGPryE4lt6dq/+L/U1n95UvAjfh+bysPaYl9W0YmTMtZGRx6utb5TvkrEzJ0/vXt9yHzdZWL6RYpST13euDadIipFWs/rfdl2oUDaQy/wtE7B+i94s3hXATIMy1VpYVHGRCzeKJ1NZmkhuyyxGQmXR/xKQCaWmk4uaepTkUlsPMwMO8+hk7kzdJWrkF2HxpPh6mVqd7W9DMrPf0cQZyTSSfSSD/N5IpqWHIiIqn8hlFYUtbY+BXGxQaWRvD2t0Wnwkg0hWxiCPQlmiuuXPZVQ3Y659S/1K+fr+Uls+K5vyVVmmxpccpSUZ+T4Qt1t73Q+Oz5CfcVeM4rrpnuiZGddjLPtSWfIyi1EbNXLT314usfzGssrHCxGVOerPpT5UI+fae0vlS3Gu19QOU33Np1eKF+UhfB+ayiNvj0hW0bjRhg/rW9tGpX5fU988noXlz0zUD0qyGtdjvo+rfPrf8rXnv7bvivx5W0JSjI6CBGWVFbdOgO/GJ9RjyYog4lPaMmeJXNbKYKvsa1iTh70SgLH8zM/h1eRtZJPQGvSKIgo/Cs8o39Y8Hv3MHKmNjlQWLUQiJa2WQylGQk6KWmF70/k78in12AIy+BwZqA5bVmDwePI20mpbYV45h+fBM/O+HE4xAgAAAHgVuytG6T3fzgdT/XZ+o0yfcRL0q9hycu4z5HKUPPbu99oK/htO4X42S8vCqdRwdDj5eieisuxZ3y2+Ao9gbd2sHpzCvW7wDuXSyUL57uGftOT9fFS3mjGitn239vu8fOYI+kiWlHlP+W1l7Ri2tCzqp95JNmLL2B49WzUyBTCSxUid1M5Z4eTrdURl2bO+WyeIvVlbN18PrzzYLgf7W+STvI9vA+czqB30ffm8fCJZrVWMxEguOytGojadvG76u7av1rTv1n6fl+9oitGe8tvKljFsSVmU5pxitGVsz5+tJTIFEEkxUieUR7mc9MxRzwYpdTI/MeQdzLbPDbdqNr+bdLSS8I5/vsOWTjhVeva/nRRcIn94bHL1J7BGJ85GRPWI0ovKLKIHOX9Aa+sWlSWSad5GS2Qa5VF7sqqoacsI33+0vdNfy5k7pbnUvnm7KSyXQenekUyb69rWqr9Vr5qjAyQ/H573gyhsSXuM5NL1PU0ANkGZnG3bq37nMtDvSFYiz6NUlqhuNWOEmGvfFBb0e6tHsnb3YXXl67cOu9ctozZv0kgO8458+/ART+GO4j1rDMvLEuHLcpdLXLe8LHkbpbCgj1sc+23kMgWYorUYNZ2Ok6+H9SilV6pbzaBSW7clMs3bqFamPg8re1KOK05WFTVtGWHxxJxipLQGA3fXBp68fWfbzcmg1De8TPMJ8VGK0ZL2GMmli69wS+feHvdJI5dBSVYpTpZHqSxR3Xwbi6huoqZ97/W49yuVW23jt0LXlk+KUTSJR2Ndjsque1VmK0tUN19/+/0M+fl47fXnjWF5WSKsfD7fUt2ispTHOhQj2JekGOlhV2eziUod1zqmJg8/WEw9tEbpwSs+ZC5eflLwFMNBoqwYTQ12xjMGldq61ci01Ea1Mo3yMPJVbURNW0ZYvPx3CU7hjtuDU7g5hVt4+eXxnj2GRf3F8H3T51uqmy9LqY3u9UAxgn1JipG0f/1vuwvU0azjz52KaeZROUxaWOnByztsFE+m1fTg3aatKiJ/kFUW/a/Bxx6eucHOiOoRpbdlUKmtW41MS21UK1MzYQ/z6Nq/CfN1i6hpywiLl5+SanW2vw21n/2OJs6ofaN2i2SQ3xvJ1AZdq++jFKOl7TGQS1dmyd4mGvPRUT04hfuenpVN+aosU2NdjtKSjHwfiNutve6VoGfILxo3ovYtyXTrGObLEmFlsVOp0+9C3XxZSm0U9XFRI1OAKZJidBT0oPqO+ymnJYtX1e0TZDq1Yq7hU/vVErmslcFW2dewJg9ZLqLw38gz2kjU9KFnlQXgkRxKMRKffFryq+r2yTKtBRl8jgxUh9y6Bc+hpg/JMpTiOGgveCcOpxi9En1wUa8VH3X42NH4bfUFAACYA8WoI/kPnLRte7wS2uukVm1v1fvw6NqzmaovAADAbyUpRub0qHfIkQPeHDWnoz6LtSec6t25zvWIrkku3klxC5Fj4DPI5TJVXwAAgN/KQDESOgDMftcixSEKX0O+02EJSbELHAJtt0YeXssRFKNHyAUAAACGDBQjOdbp/9LpqLY9UhOtnTgr/GRfexpxlIdty1R6+tu2xdqWTttyOnl6644KgC+zKUZ5WRQWySWKJ3LFaCwXnZPS3CN5dFt7jyYXAACAT2WoGDn/l+isCzvtNN8qm0/2dkZI/3czsXuLi+WX56F4us/SMwXAbwG1V31R+Xz4Hli+Po+oLJFconjCy2pOLkLnbxxNLgAAAJ9K8CptZoJtJmD/t4gUI28l2VMxMh6tACjdOcXIk8ulFG+pYqSwI8kFAADgkxk7X3cTaGmC1asf+23MKUbC7ps6gbWkAESno5bKF51waq+r7O9arMw1J7XmcinFy2UVyqWpd7JANWG691FyAQAAgCFJMYJjYcoNAAAAPBcUo4Mhq5BOisWyAwAA8HxQjAAAAAA6UIwAAAAAOpJiZI7F2q6/1yucI52GvQU7oyh3rgYAAIDP44/teLKAvT4oql1RUfi74c8gWkLtLri94wEAAMB6ksVIHza93drt3EZ0qnJ0onXtadjRiczKw/7XB1Ytvkdb0fOToBVu+SsfUxqi9PJ6tGFt2Ww7vH6X8IpRSQZ2HEB/enVzPTqpOqcULy9zKd4o30L5TC5Kx7cRAAAADBn4GGkCNUXBHx5oykF+onUKaybvNInPnIYdna/Th3VpWNwcv33dzuMR50bJujVlNoUnSi+qR3pleK6zaOUWo5pTvRWmOCaDKcUoipeXOYoX5av/wzZq4kpGeRsBAADAkPQqzQeYchGdqhwd3Cg0eftJWtQoRpqotTXdfJxKeMWoVTxOA2XNyhSlF9XDWGoxErkMIgUlUmTsuqcULy9zFC/KN8UttVEjw+uELAAAAKCzGOmkZf0vh2lTFOx1jj9VuTTpRo7JNYqR8kiKzG3GYtSUL1mlOkVGSoEpP3oNqFdH6XeQXlQPvZrT//7VXIk5xUjkp1dvVYzyMpfi5fnqd6mNdO+UjAEAACB7lfZMpCCZoiJuziqU4y1GJZak9xvhNRoAAMA8L1OMhByFZeH57pyhI2TpUByv9JSoSe83IplEViQAAAAY8lLFCAAAAOBIoBgdhPP5vNsZUkt4Vb57oWMZ5Gc2F7aW5Id2Xf9adqosr5b91rrtyZHKclT26C8lOe/5zDybdx/D4Hgkxci2wMuJd84ZuZa9T75em16/W0s72brfS7hUDNZ7yM87pa8l1dGc3E+Xat+sPdp8q5wjak8dN6f0ubC11MjRiPppqSx7yX4LS+r2aI5UliOS95fVY2JBzjXPzN7j6VHGTgDPQDESew1O6qxR+FrWpucf3qVppIe/Qh57yG+Phzul0SkR56t8rebLske+YoucS+Q7AkscSTGK6o5i1Cq3c7sin1WWdyXvL2ufs5KclyhGYmn+ip/nfZSxE8AzUIx0grI5OVsnta3i0enVpROthX/Itpx8bdSkF2EPslYko7Amzfu2/jZ9xfPp1Tyskfxsy73SS1v4C2W2CUP32sMd3RudaJ2jAcLqpF15Vnafhzlh1+Rr6dYQyTnPt7YeRq4Y5X3SwqMBPQrzlMoSyUDO/IojK5zJaktZYtnH/S8nkmntsxDXrfnd1c3uzZ+PUh5Kr0+3e3439aGoLIGco3yjPh4RyTkvc6lvRKf8196bo0No00YRRxSmuFF/EXm/iuqWt2UKC/qzxbHfImrLPr0mzOJFedSOp0cZOwE8vWKkgcc/JNGAdA+7a+hRmMgfssl7m05sD1SJmvQiogdZ5Kdml07DtnymiOQXnbgdldniRWHC7vWTRQmlYe0llN+oXTt51OZbSy7nUr419TAeqRiJqCxT7eZ/bylLJPua09hLMr2XZfpZ8HUzSvcWT5V38fow9/xu6kNTeTg55/mW5BIRyTkqc9Q3LD9/9EXtvVuI+ovI+1WpD5XaMv9d6qeifxay59xYO54eZewE8AwsRtLA7cK9Iz5OMao9+VrUpBeRD5KK7x8Ye5ANPfD+IbJ8pojk5x9QIy+z/p97uI2orDlKQ//bcQXKL5o0luRby1jOZcVorh6GtVP/dy+//RSjvCxT7eZ/ry1LSfZG3v88JZneyzL9LEzVze7V/9HzEeWx9KT5OaI8Ijnn+ZbkMoWXc1TmUj+VbHxeS+5dg2RR6i+lPm51m2vL/HeeXthfRs/5tvH0KGMngGegGKkD9R3MTmFuNP/bpe34eecshYn8IYviyeyZBrjb4y1GhgbR6NRsmWrTde3acOmZbEqTlYjkZyZdpWf3RmW2AeFyvd7LFdxb83ArXf1vbWf5WR4apCyN2nzNnD9HNBlF+S4ZpHLFKOqTIpogSpOGJypL3G5tWoPJdENZItmX+l9OJNPaZ0H3zvXJ8vMxziN6fiP5Ccvb/o6I8ojkHOUbySUiknNU5lI/tXyMJfeuxfL0/UWMx8Rh3cpt2d7n+3P6O0svqtve4+lRxk4AT1KMXoE6uH8oOaka4H141fPLuAEAj+ZlipGQU5xWfraCAYD34VXPL+MGADySlypG8F5E31uLwiCmVlY1Z2fBMZFFS69yomsA8B5UK0bpXTED9iZqTpctyfkIJ9P6Vxh52N7ly9N7Zv9TXsO/L61Pi/PvaMPr4hmR/HLMz2Ov+m45FTi69xWnDI/lfO4sRndFM/1tTLxek+Iy1UZGbTyRly/yMwOA9+GPnOfkmGYP8/laXtVODTgeG0zSls2KyeDR7H0Kdy1LTkH2lOS894C7xDJRYy3au3x5erX9r0RNfdO5J9ehg22/68Y5q9bGM2qtRd5RtdgPFvRnTfA+zSVE925Jbw2RnP1uJPttzrUazyxehDlzS4mdGptq40XlE/nGAQB4H5LFSAOdndFxCbY7GjUTkwYmP5Ac4Rs2GkCj8EcT5XsUxUhlW6JoRJNhHnZkxahU32i3VKkeekb87pbaeKJGmbBn0P4u1XdJf1bctYpMdO+W9NaSy/nqdgHm27OnrGypDziFZUq+NfGMqB9od1QeBgDvQVKMNAiYdceUGtv2ONwWHJ+YmqNXINpKOwjL0iudSNqv1JrBSeFL7i2RD1y1pwxburrfJqyofFE8+9t+l8Kie0tyzu+N2iiiVL5aRUMTdk1YXj5TOvxpxGG/qpSfXp2YXKzd4jza+/L2ra1vnq+4NflcswPrauNFsooYWaAq+oGeBcml5lTgiEj20b15WOkZjNo3Pm06bqOISM5CY5b/Oz2TXZ4RaWu5U6SszDm18YyofKUyA8DxaS1GzYN/bQYCDQY2OA4Ghm715CeWmklGg6QNelF6kZnaVs3+1UPtvSXyQap0KmtEfqJrVL4onqgdMPc8mbZEVL5aRSGaWKMwXz5NLj6OTS6+zJ4a+Vl5NQGmybmQR+2puyWiNhJ5frXx/O8pxopRXT/I5aLfJmcfViKXfXRvFBY9g1GfjNpjyTMYyTlSNqNXWp5ahac2nhGVb64sAHBckmKkh1iDola7dsEPDEZpoPZoUPF/W7woPQ2sfiI0NKD6wXzJvRGlCWxqtaoJwCthPi9fvql4Ub4+rHRvSc55epFccibrUWhDTzQBlSwgw7rFSkte5iXys/LqHqVdysPYy2LkHXCtrKImXklWEVPtM9UPxnKZPl3biGQf3VtKLy+vmOqT0fO2xmKkfPtrp3t+Zs2dwstqqqy18URePqHFZh4GAO9BUoxs8PYPs5nEtePCBi47N2RuMPvuBig5iVq8KL1oYBUy2/u/l9wbMZ5I2noqvfKkEZ/oKnz5puJFA6YPK91bknOeXiSXnKny1ZzqLUtiTZjIy2dyUj2sreyVjJV5ifxyBUC/ozxqT90VVh77O13XQsHFsfRsAbEkXklWJfyBhbX9YEou+WnJnpLso3ujsOgZjMeNcXvUPIOGl7PqqNeGUoiEV1q0i8x+R3+L1DZNWiqnhW2JJ/J+0JZxuk4AcFySYgQQ4VfmU2EQs0ZWTKrvz7WgiALAe4BiBAAAANCBYgQAAADQ8baK0RFOggYAAIDPIilGtptHjpB+182jMQdH+VWYA6moPZE5d0IV+S6gUh4Re3+jim9eAQAAvBcDxUjUbHndg6SoOCVMh9P14TMKjDGnGJXyiFiSbw17pwcAAACPZ6AYaXu9FIlnnGorBaZ0zSsUU6dce8VIO4C0ndYzlUdErsjYVm5/qnJE7UnLeXrJQndr6tbcU7NtGQAAAB7LyGJkSNHIlYrBmSGdJWbtqba1ipGIyiJmLUYbFCOd8eIVlUhGRs1Jy6X0fBw7ZwcAAABew6RilFtJ9jzVNh0u59Lzr7kixSiy2My/SivnEbFWMTKmLEY1ilFNHgAAAPA4FilGe59qa6+W8nj5CcVLFKOcUh4Reb522q8Unih/o1TfmvR0SrjKN6VEAgAAwHNIihG8jtw6BgAAAK8DxeiFyOIlJ3EsRQAAAMcAxQgAAACgA8UIAAAAoAPFCAAAAKADxQgAAACgA8UIAAAAoAPFCAAAAKADxQgAAACg488///wTXgAAAAAAAAAAgN8JBiMAAAAAAAAAABiAwQgAAAAAAAAAAAZgMAIAAAAAAAAAgAEYjAAAAAAAAAAAYAAGIwAAAAAAAAAAGIDBCAAAAAAAAAAABmAwAgAAAAAAAACAARiMAAAAAAAAAABgAAYjAAAAAAAAAAAY8DCD0df5+nO7nsNrADmf0l+oBwAAAAAAAHwCyWB0utx+vr+/h9xuP9fL+ef09RXeWIPSvZ7L94f5JpT3KbwH7pTl1xEs+L++Tj+Xm65ff85B26br1+vPteHWpHF7YjvM9Zfz1dXtdkl9816flmeWt8RcPdYw126PYK/n93S+/FxV9q7NfBrPYkp+X6emfFfV5XmyfQSPlPMr+t+5aZPJ/neAfgUAAAAA8Mn0HkbyKMgV76+v88+1WQCuXYS3i4zbz+VUVuZTvtEirhAOQ6bktNVwofufaYCp6S/JSJEZwmwxewRjkaipx6NIz+xOC+g9n9/094EX9jIa3T5gvHm1nPfsf8aU4ejo/QoAAAAA4J3585///Df9KCne7cJvvGj8OrXGpDllvV1AlBdibfrTC87WA+DapHPrF3Up//TGe1wGXbskj4H2+k35B4veQRqKd73092mBsjTfU1Pmm0vvO8u39ZBpZGlvxpNcT2lBFKVXQyQ/yfySGU/MqGJlqzGuzBmMlGZfdqXZlL8s53s8yeXayDpv8xR3pr/UGIxSnJTPXZ6tQUD5F/qyl03WD3y8mn6V4s7UQ9TIpbbdBt5XnqBP1bZbG3e6HjXPb/93KktTnz7voSfSvY3aa2qnlH8fNm6PveSXG4z6PpTSXfac1zCol9JP8mr/Vh3v7elkWNFuRTmfx/V+h/7n0T254aimXx1hPKihpj1SvBn51c5b7TPahbl+dm/LoWz2ytfiAwAAAMDxmfQwSuGdYp0r6ktIaRTOQxkqrcZQ4e/jprI0ymijRJcUz6TsBnnl4VF9p2UwnW8yrjTpD9JL9/kFX6M8OyXcGz/ya7XE8muU+cLCTqSyTlw3puKVZCU5+3tag8M43ulyLdZ1qr/0i7+AQb5R+wYyru0Htf3KM9nvV8ilpt1K7TJ3PW83z2Q9lN6oLcbPbxvv/iyksGSMCBbsiuvyS/nn6e0sP/+stgvjOJ2URlM2n6+/18etQXK3sdW3jdIcGNMq262V81imeT99p/7nyY1GbX3n+1WU77PHgylq22OJ/Np+qf46jt/HSbLKDWHDvpfCds4XAAAAAN6DP3+t9DBaitKJFgRt+nWLrbmFWbQA6K9l994V5bZM6e/ComUuX9Eq/N1iWW+Fz82i8pznOSxfMn50i4upsk8RyU9p5R5GnpqFn5iKlxZGI0NBR7TwSV5VrbGn5k18qb94mRnWlj5+kktWjkjGNf1gqm1m+2ShHsYSueyxYF/abkapHim/mWdDxO1hsh/fq3IqPMl+olx7ye++yG3SyJ7bQbxUHsmr/JwvIeWb6qd05VHS9r2L6uLSq223UvuXwt+l/0XeRaK2X8Xxnj8ezDHXHkvkV1uWtj7ueQsMPY/IFwAAAACOz5+//vt3+lFWqIfK8haKWwoqlcsaRVSKbVTe3NCQ0pJiPLFAMubyba+PFxD5fflCw5dpahEyxRL5GTULPzEVL5enoQWWl6m2JESL0JoyRP0lytcWeT696gViZT+o7VcRYb9fIZcameX1Vp3PbjtSqbx5u0VseX7j9hgv7O/XurGnWTzHC/N95Td+VoM+VfmcL8UW45JDm9a4r9W2WyRnkfJw979L/ysZiozafhXHe814EFHbHkvkt6RfJvkk408c/1H5AgAAAMCxSQYjW7AMaBZq0bkXhhTcdAZHsDgp0SrydwU9KaEuz9LCoFdmM0qLl1S27i1titeUMVfGlebgnItTo/iedSZFc0+nGC/JV0ry8NwLbVtpFy7moXWXc6NMdwtDS29wrVKetfITtojy8RPhIiqIF5Qrpdks6Po4zWIjWky3nhO+rE3fKrSdJ+8vg37alXtUL7eo8fJJfaBbIOqcDUuzph8YNf0qIq9HCquUS227ebTILqUnatotIq/Huue37Ud5P4vuzdtmcG1H+cXlG95n5at5zn3+NShN2/LXtk08BtS029f5ksLSOUsu3mj8O3j/01asqfFMLO1XRxkPImrbI8Wdkd9QLndK86Uxa5x7UL4AAAAAcFx6D6NnkRT6icXGs0jGh0zB/2oWB/n2A3gtj+4vz+oHR+n3W3l0PbQI13bKlE+2QAd4NMwLAAAAAAB3nm4wAgAAAAAAAACAY/Pn3//5X3gBAAAAAAAAAAB+J8lglJ9F0nPTmQbb3PDvZ2BMncuhsxvaMzdq3f7T1pXuPIXw/JOZfN+FT6kHAAAAAAAAALwPvYdROrAyOJsknenwpLNEZLhack6EGVPmDkf9DXzKGTkAAAAAAAAA8Hr+/PPPP+lHZDAyg4wZcXpPJBcvfeEneSRlX4HqPWNaagxBcwYj71XUfkGm+TszGNXkm75II48mfT5Z8QdpRvFljHFpNvdNeTfNkX9dR1+buTZpeg+iWvkNvhzmCYxHSvP+BaMmzSZO9FWfmvItwfpNK29Xx/RloDb9/CtJVs5b08Y+HAAAAAAAAAAez9BgZAYCIzAoxIalc/o8cb7oN2o9h6biJaPDKN/WqFIy2kyl19Z3uM2rTS8zfEX1DcJqKXkC6TPSW+Q3V6bSdRmcfNpryjfHWW0n40/JYBT0HQxGAAAAAAAAAK9j0sOoD3eGlSjeow1GZhjKr202GI3qMU7vHtamk/7e4RPLp7OMJZ1R5NbId8IYs4fBqOiJJCID0YLyAQAAAAAAAMBnUWkwuhuDXmEwsmv5WUptvg82GGnLnTxjdjKYaLtXZHyZq/tSg5Fkc3YHlkfyE6qzr9ua8gEAAAAAAADAZ/HnX//614T3ye3ndj2PvU9kfOjipHNwOoORzgXqDUud8WWYXkNobAriBV8FG5wllLxelIfK2OTrPYBm8m2NYHatzScvhxmNFNefa3Rq8jyddZZSE2/FYeDtNiydCXSXYXR2Uq38PPfziQpnMSlNn29wdlBt+QAAAAAAAADgc0kGo+gCtCRjmoxiAy8cGV62b0sDAAAAAAAAADgif/7f/weDEYD4Ol+K2yrfiU+pBwAAAAAAALwOPIwAOjAYAQAAAAAAALRgMALo2GpoGZ6NNcbOxerPDMvP8/L3T5xVNcfWevgzyvozvoJzvyx+fjZWOtcMgxUAAAAAAMBbg8EIoGMPz5zWsBIc2J4OMb+Hny5NXskwkxtfzk34trOxdquHM1rpbx2An8dLxqXAuJWMYisOhQcAAAAAAIBjgMEIoONRBqMoXRmMFKf15rnHP57BSF8mHBvAUpzT5ef2ffecqr0GAAAAAAAAxweDEUDHfgYj27pl3IoGo/b33Wh0KIORyn49F72I2jjjuqVrMjQ19/MlQQAAAAAAgPfkzz///BNeAPhtvMLD6B7HjC/H3JIWGY3wMAIAAAAAAPhcMBgBdDzKYGScr9c+/dxgJNp7t3vlPMJgJNK5RFkYZxgBAAAAAAB8JhiMADq2GlrarWW2DS3geu4Ov76H5R44MtS82mA0rMd9q5y2mFm4L6PqdPZfSbvylTQAAAAAAIB3B4MRQMcenjlH4FPqAQAAAAAAAK8DgxEAAAAAAAAAAAzAYAQAAAAAAAAAAAMwGAEAAAAAAAAAwAAMRgAdexw4fQQ+pR4AAAAAAADwOjAYAXRgMAIAAAAAAABowWAE0IHBCAAAAAAAAKAFgxFABwYjAAAAAAAAgBYMRgAAAAAAAAAAMACDEQAAAAAAAAAADMBgBAAAAAAAAAAAAzAYAXR8nS8/l9NXeO2d+JR6AAAAAAAAwOvAYATQgcEIAAAAAAAAoOUhBqPT5fbz/f0dcPu58vUmOCh7GFq+vs4/1+v553Q6jRjEO11+bs3zcDm34V9fp5/ztXlGmnt9vDU8tR6V8QAAAAAAAOC9eJiHkT7t/f19/Tl/DReupXCAV7OXoeUyYxRNRpbv75/rOXs2vk4/l9t2o9Gz6iFq4wEAAAAAAMB7cQiD0akJu2mhbJ5It+Z6sOD9OjULbRfvdm0WxtfWm8kvvltvjbuX0+12mUjPeUM1+V6bNDFm/U52MbScLsmL7nRp+rTrVz7d3rsoyCt5GTX99bShDz6rHkviAQAAAAAAwHvxYINRt4DsGW9J0/a1m7a0uAVyu6AeGpVSetlCujZMaCF+c3knL48gnha+LHZ/J/t45px+zt02Mx8mzyHf/9ptm25LWjJeygAqg8sBDEaV9aiNBwAAAAAAAO/F0z2MclrDTWdMknfP+fxzaha8I4NRtwi9ujNftLjOF6XJQ2NkqOqIDERNXuZldCt4NsHvYA9Di4iMPclANLPVzLaqbTW0PLsea+sLAAAAAAAAx+WlBqPS1pzQw0hh18vPaWYhXFqoysDk75VHR2Qc0v14RvxOthpazKiZ9z8zBA22Tao/y0Dp+vge29HEs+qxpL4AAAAAAADwXvz5+79/hRe2kIw2zYLRmFo4auE8PJdI29O6hagzJskA5bezpS8xnc/tFp7RglXeR64MpbNXmvCrjxdsmYPfw26eOU06+VlbuXFSfdSfs6U+upd32zPrsSQeAAAAAAAAvA8P8zDaG/O+8AvRr5MMQ9u38ACIvQwtr+ZT6gEAAAAAAACv420MRgCPBoMRAAAAAAAAQAsGI4AODEYAAAAAAAAALQ8xGOVnGN153hlB/YG8FV9qAxDPNrT4bZalA6TX8Cn1AAAAAAAAgNfx9K+k1X5u/11JX4ja4UtX8HyeaWiJvohmxpajfFa/hkfWAwAAAAAAAF7HIQxGpybslryBOgpfjNKn8POvMdnX0Eaf+rY4waI1fSHt2uSpz/Qrfv+1qtgDqqZ8aeFs1z2B8Uj18F9xS59Xd+lZ+a6328+tk9Wg7gsNUukrVlbfgQyb+p7X1VfUtEeK18jYfxHs1pS/nN49nvK96otbC+q6hWcZWuyz81HfbL3z2jbPr9XyKfUAAAAAAACA1/Fgg9HdmNAyNshoYdl+Sv++sJTBxAwlfZjSyz0ZgjBPSjtYzIrIcNUam+6f8he15euvzZQpGZaC7TpReJuP8l9mIIqI6ivSwt6Vd+/2KMlD9fVtU/LMOl2uT/OWwWC0DAxGAAAAAAAAn8vTPYxyWkNBZ0ySN8n5nDxiRgaKznPIPGLS35nRIScZP6YMRrlxo8/Dh9WVr49fMJCka2mBPTRI9dcio8yEYWoppXLleezdHkXPKxEZiJq8zMso97x6NM8ztLSyKxoOC/2nlk+pBwAAAAAAALyOlxqMzIMmX9wWjSfytFmwEN5qMFpSvv5alq4MMGe37Sv3rDGSR0boYTQtw1pKBiOf75L6prCK9ojqJSRrf6+2o0XGoak23JtnGVpEJOuS/JfyKfUAAAAAAACA1/EQg1EyEjhPEu+xk6PF5fAcHG2H6jwX3KJTBg+/ne10Ov2czjoLqInnDBK914PLP+GNOMmYZddaQ0jr/XOP741GNeXz3M/rGW/BE/lZPfmZPsPy3dliOOkNRr4+t/F2r73bI8XV/e4Mo3K+OrPI951Yfo/imYYWIbkMznZKst6e/6fUAwAAAAAAAF7HwzyM9sa2uAwMKycZIrYZUn4LvcFop4X8J7bHsw0tj+JT6gEAAAAAAACv420MRgCPBoMRAAAAAAAAQAsGI4AODEYAAAAAAAAALQ8xGKXtSjrPJNsCNTibZ8ftUdCSnz+ks4LyA7PvZzwVDu1O5w3pLKHrz61J4zdt93u2ocVv6+vbJTv/aQ2fUg8AAAAAAAB4HQ/zMDpdmkVrOvw6+7rW17kJ58yhvSl9jWwLz/xC2RF4pqHFjCwDg2pnbNkq80+pBwAAAAAAALyOhxqMZChqv5h2NxpFBiN9Ncx/Resmzxi34E2eM/J40WfckweMxV33Fa1Ts6Du00tfLGvzTem5T+Df4zdx+zgNWfmM9utn93hK38rqvxSnBfXgq1Kdd4ZPq4b8y24DCot4u16zmJ8zGNXWI/8qnOR3bWQTeTi9kmcZWqzdItnmz8saPqUeAAAAAAAA8DoebjBqf98Xj7nBKHkoBJ4xeXi7nW24AG2NIPGn7eeI0hOprM7YkowmTTkGxpfT5eeWlyX4ClltmFB9t3hkpHJXehilOlXkNRWvth7JqBDEO13Gn9Z/NRiMloHBCAAAAAAA4HN5isFItAYaGXfuBqN2wRkbfHKjTGh86bxmvPdOLSWDxyjfZPCQZ8yt9Yo5n5OH0shg1JfF6iZPqPFiOhnC5GUTEZSnlmcbjJbWI3l1dV5GuQfZUXieoaXz9ioZSjf0A/Ep9QAAAAAAAIDX8TSDkWiNRkMjSu6RYuQGkGcZjHy+rfFobNAKPYwUlra4TZelZNhRXebunaKUbsSUIcgzFa+2HtqOFhmHasvwTJ5laBFR3yr1t6V8Sj0AAAAAAADgdexuMOq9Djpvk9yYI0NNbijIz7jJz8IxQ1NLa6ix7TAWvtRo1BuMmsVtf+7QbbxNSovf4blE2p5mdbwvipWeP0/pdDr9nM46m6mJlxlWkozc2T9RvrUkw42l0zNerOft0jMywg3lemdoIOvTnKlHKz+dWeTLue7sqUfzTEOLkPwGZ0ClvrU9/0+pBwAAAAAAALyOh3kYHZ2Sh9FabAvOwNB1kkEl9qCC4/FsQ8uj+JR6AAAAAAAAwOv4tQYjgBwMRgAAAAAAAAAtf/7337/CCwC/DQxGAAAAAAAAAC1//veff4cX9uCk84q6c03as00uP+fLeXQWziu5n+0zPqPn0eTnI+kMoPCcoInytecI6YygVtZsf1vPXoaW9sytpr26tPS32safs9UfDO2+qpe2NQYHiS/lU+oBAAAAAAAAr+PPf//a32DUGjniryTpcNwovP18/X5nCu2d3t6UvjK2hSN+eeyd2MPQktp1pt/ZweKjA+HNOLixX3xKPQAAAAAAAOB1/Pnr34/xMGoPgb57J5RI8ZpF54hgsZo8lnKPnCz92vT6RW13fcrQ0npN3L8CtfarZuUvkDVsKJ8xZzDK65F/ja6Pl321TvW9yjtswnjwCWw1tFj7qg2G3mO3n2vngZPimVdOkFf73Ewbaub4lHoAAAAAAADA6/jz738/9gyjkzc+TBiQ5r5alowh1+HnutsFa5NmcM9cep4pQ0vkaTG1UK4lpVvpgTFnCDKm4pXkoYW9vycZC4J4p8v6T/+/C3sZWiI55+2d/lYfsq1c6Tlp8j+QwejV9QAAAAAAAIDX8eev//4dXtiCPFlOhQVr8jwIDCVzBp7WkNHcKy8Hebuczz+nZmH8SIORefnUGGuWki+8pyiVL2cqXtHzSkSGgUa2Zui7VXiKfQJ7euaMrqk/FvqqMXX/Ej6lHgAAAAAAAPA6HvJZ/dbQEnvglAwluYFHi85z77UQe/Qs8TDy6eVMGVpSeQODitK7XOoMPhElOURMlc8zW49I7plxTx4ikXGotgzvzFZDi0hyDvpqbihNfVeGONev9trG9Sn1AAAAAAAAgNfxEIORSFuYzuefy4Kzf+7n69x+rplxQgtT/0WxdnuanfMTG6cm0+vvzYiMQ6dl9ZiiXYi7/BKBMayyfObNMYoXGNJSmjP1aOWsM4t8Ocfy+0T2MLSISM65EU5x8nOx9vLi+pR6AAAAAAAAwOt4mMEI4N3Yy9Dyaj6lHgAAAAAAAPA6MBgBdGAwAgAAAAAAAGjBYATQgcEIAAAAAAAAoOUhBqP4nB7xO87CeQT+HKXreb0xIJ1Lk85GGp9x9Nt5tqHFDofWmT99u1QehD7Fp9QDAAAAAAAAXsfDPIxKn9+u+Sw3xNhifIvBCMo809ASfUnM2nfr1+g+pR4AAAAAAADwOl5qMEpf5Lpef663W/95fHnS9F9Dyxei2dfK0ue8g4WxFqz5l5uiBXQe79Z5SYzipTIN07tem7h53WrjLcj3Xl95ZzV/rzQY2SK+zzNYzKfFv77YdrYv0unrba6sWXucmra8uTRLX8gatKnybmQSeUvt3R5LeZahxb5sF7VB6503fm6W8Cn1AAAAAAAAgNfxYIPR3UjQEm9Jk+Ho1lyTIcEbJDzJmBFsc8nD00J1ZGhq0/eL6FS+LJ5Qen4BnBbFQbzTZWiEqo5XmW9Yj87os9XDSGlHi/zWAHCXUypDJ9vo2q25NihfkvPQSBDVtzZMrG2PNWAwWsaj6wEAAAAAAACv4+keRhGRoWFwPTNWDK65e82gEi1gc5KhaWDMckQGieR1o0Vwk37Bk6YmXk2+pXocyWCU/k5eQ7fWu+d8TnUfGYz6Mrf5pb8zI5B4VHss4XmGllYmRQNoUN8lfEo9AAAAAAAA4HW8hcFIaAFa9GRwC9b0d7BQlYHjcsniBQtdLYJPbrGt7U+RMSI3utTGq803itcabV5vMIo8tlKcyMNIYfIcC2TjqZVLrZzX8CxDi4hkWJLrUj6lHgAAAAAAAPA6HmIwSot/5yFSMnC0RqV7PKO08M/Prqk7+6fhVj7DaC6eFr/XJvzq4zWL4XxrXW28FLci3xQv1fce53ySR8ft53Zt4nceO7WkPC0tjzOu3b18lJcW/e3fao/BtSZ+W18La+JctT3N8rgbC9TGXganpg6ns9qniTcyiO3XHmt4pqFFqL6DM5uSDLfn/yn1AAAAAAAAgNfxMA8jAGFbk7xh70uGr4LH2Ct5tqHlUXxKPQAAAAAAAOB1YDAC6MBgBAAAAAAAANCCwQigA4MRAAAAAAAAQMvDDUb92TnBgcb99avOpLmmM3Pmtin16VUeqA1QyzMNLe35XbfBWVQnC9tYhmfWI51XlrYc6nByRxO+9XB2AAAAAAAAeB2PNxjp0OPz8OtbJfb40hXAWp5laDGjZ2RQSQaYgnG1lqcajE7j5/V0iQ9xBwAAAAAAgPfhoQaj1nuo+yy7vCdmFsJTBqO7Z1H3JaYJw5I8NW4ubvuFsfECNv/qmuJdr5eR55LyHnwFauLrbDXpwTF5qofRl4yobR+xvpS+ANf0l61fGHtmPXLwLAIAAAAAAPgMHmow8p4GrcFn2suo1sNoKl66ln3WWwvxW7aFLS3Y3Sfljdw7Ihm6gnj6+pcvQ216cFyeazCSMbXtGzI0XjqDZE3/n+NVBqMaozAAAAAAAAC8Bw8zGCUDSrZ4lDFnakG5h8GoNdzIw+fWeveczz+nZgGdG4wMXTOvoFvgiZQ+C28eQzmRgWgmPTguzzK0tN5Fhf4484zU8AqDUVuneJsdAAAAAAAAvB8PMxhFnjVzi8qtBqPWk2jsxRR6GJ3OoTEnT7u0gJeHyMndX5seHJfnGoxib7tSf1vCSwxG8i7CYAQAAAAAAPAx7G4wGp41NDTSDLx1ukWxGZH68J7MwDNI15F5+aRzYPxZR00+p/7e+yK9jaczhlpvoJbbzzUyRKXtQy5ec19klKpND47Jsw0trTea9ZX9PNJeZzCaP9geAAAAAAAA3oOHnmEE8E68wtDyCD6lHgAAAAAAAPA6MBgBdGAwAgAAAAAAAGjBYATQgcEIAAAAAAAAoOWhBqPT+fpz68/z0XlCl5/z5Rx+Hep+RlH89SiAR/NMQ0s6iP12+7mc2zOu1P/POvB6h3OAnlqP7nyvm53FtPHAbgAAAAAAADgGDzEYtcafeOF7bhaXWxaz6ZDs4HP2AFt5pqGlPQB+bBxN4W/4lTSxxxfeAAAAAAAA4Bg8zMMoLXwrvvp09yxqKX2CfvCFNU9gPEreGu5rZbcmji9Hm5a8O+wrVTJiuXuyNJOnlCtjXq/0tatrE+fa3HeSQcvi3n6unQeJR5/gv97c19TS19WaMmIEeymv3so19bn9JWAwAgAAAAAAgK08/Ayj1oBihphpA5IWnCWDkZE+3z3hYVS6LiORpZ0vzP1CN7rWfpr/nl7aTpR/9j99VnzsMZLSduUpeUidLuNP9cNzeaXBSP3nOtP3a8FgBAAAAAAAAFt52Ja0U2HBOrXlZg+DUdETSXT3LTEYtQYe3X9rvYDO5+RRFBqMgnJFxiWRvJI6Q9qtwhMLHs8rDC17GooMDEYAAAAAAACwlT9//ffv8MIWps4wmlpUrjEYyaBzdtu+Sul7I1atwag19ozrUfQwCj2HhuXRdrTIOFRTd3gszzS0tIdeBwZG9b+NRhcMRgAAAAAAALCVh21JS1uszuf0BaW7h89421V+htE97ngxbdzPJ7qF3hkpzYl8715I8uyR8af9WwabwbUmfy3s72cSNXGaBfGpL7PzRDKDkY8f1Tdd15lFrnyFesBzeZahpTVKWtuPuZ63leGphq/S8xt41QEAAAAAAMD78PAzjH4LJQ8jeB9e5ZmzN59SDwAAAAAAAHgdGIwAOjAYAQAAAAAAALRgMALowGAEAAAAAAAA0PJwg5HOMrIzgnRWz+2qr0K5Q6DTeUM606eN9ykHP+twaztHaeuZNPAcnm1oSedl3S7pEPT+LKAdDo3+lHoAAAAAAADA63jgodcylowPvm0XlPGBuJ/2pTBbPGMweg+eaWgxI4s/88r6y9Zn4FPqAQAAAAAAAK/jIQaj9rPzyw0lcwYjLUTvX0hrFqSdV0Me73S+NtfaOAkZqFy89KUyeTRdtdBtFrcVX12rydd7FbVpNX9jMHobnmVosa+kRX29ZGhdwqfUAwAAAAAAAF7HYwxG+mKY++R8LVMGo9JXyOTh4O9JaaRP39/jtQas4eK1LWMWljwjhuVekm/J0wKD0XuAwWgZGIwAAAAAAAA+l7fxMEpbX5o0Q5yhJi1ik3fR7ed6vfycz+efU7OADg1GFQaemnztvrzsGIzei+cZWtp+EZ3zE23xWsqn1AMAAAAAAABex8POMCotGNMiM20FGy8kpwxGyWMhWJgqvVO3OG4NVWPPpqKHUYXBqCZfEcUzDwwMRu/BswwtIuqrpf67lE+pBwAAAAAAALyOhxmMRGsc0taU784j5zpaRJpRZeC5kxhvZ6lKr1msth5GLe32tM4TolvEttvRLE6bT14Ob+SpyTfFO5l3UxvnfFK+2iLXxD/HhjA4Ds80tAj1q8HZWKmvbs//U+oBAAAAAAAAr+OhBiOAd+LZhpZH8Sn1AAAAAAAAgNeBwQgAAAAAAAAAAAZgMAIAAAAAAAAAgAEYjAAAAAAAAAAAYAAGIwAAAAAAAAAAGIDBCAAAAAAAAAAABmAwAgAAAAAAAACAARiMAAAAAAAAAABgAAYjAAAAAAAAAAAYgMEIAAAAAAAAAAAGYDACAAAAAAAAAIABGIwAAAAAAAAAAGAABiMAAAAAAAAAABiQDEany+3n+/t7zO32cz2fwhtr+fo6/VxuSu/6c/76iq9frz/XhluT5+2yLb+lzJXv0bSyv/1cTuO8z1e1weXn3Fzry3k9D+J8nS4/t1tT9u7+r9P55xrEAwAAAAAAAACopfcw+jpfk3HilBlNktHiScYHGU/mDEZfXzKIjMv5brQGIBnkmvoEBiMzFvl6mtHIy0jtdsvjyYhUMEIBAAAAAAAAAMwxaTDKDRS9J5KL1xonmrDMQHH33Gmp8RyaMhglA0qX1oCVxqOa8qluyfPpqjya+FfzxLr9XCvqU6L1CmrLnQxgI9kpLC5T2wZlb6iTynxbZyxqZdzce1Ya3e/TqQkft7tovZlMJrouT7HLSzy1AAAAAAAAAGA/hgYjW/j3BoB2O5S/ITYsxV4yRo3nkKjyMCp4Qm1hKt9WLkMDjXkHrTHKKD2f194GIxlxkiFshYzysqS8Ou+y/Fr6O8jjdLmukgsAAAAAAAAAHIfZLWm5wSSKFxk9PG9vMBrVt/VOup6XlaGVZWaUy1CavfdTsBUw2qoWsWYr4RKDkXFK3kitl5E/SwkAAAAAAAAA3pdKg5HzLAkNKK8zGCnv88aDuZ9lMIooyS46hygP6w1LYXvUbQP05GWZMhjJkykyDtW2NQAAAAAAAAAcl2QwKp4P9N0s/q/nkREpGRK6ODqL59wZE3Tez8iYMUivoWDcGMWb2HbVn6mjPFcaJ2rK1xrL7Fpbnry8a41G97OfPMM6q4z3ujayDtpCnJpy+rTaM5eWl+veD+QpdC+fDECDa5JDOitJZxbdy7elPQAAAAAAAADgOPz591//CS8AAAAAAAAAAMDvpN+SBgAAAAAAAAAAIDAYAcAIbcfUFsjoGkDOp/QX6gGwnbX9rz0qYHymIwAAwG+nPQ5m3bEzW0kGo/4sHxWimejtTBqdz9OfV/SiAor2S1zLynA/o6h8FtKraRu+lXUr4+OW1bOmPX4bz+x//kyxe1/SeVLxmVe1KN2pM7rCfBOcZVVDWX4dwYJrrl+l61edLdYs2Jo0nnkA/Vx/GZyV140d9/q0HOHA/Ll6rOEV89Fez+8Rxvsp+aV5NJ2l9x7zZ4lHyvmI/S8inRF5EEMneg4cDX1s5tKdG7r3HPVIXqmXwPN4xTwzxyeO4+fmOXqFfJPBqG1k9wUsGY28Qt8sPPMba0kKwA4N5csUXX83krL+xm+AP6093p2oPeyA9rWTcz4uRKR8o0VcIRyGTMlpq+FC9z9TMavpL9G4Z0rGUZTImno8ir3mS7Hn85v+PvB4335E4v3Hm1fL+dn9L+dIBiPxqPbYU85Q5lVyfmS+Nl9u0Q1e2f+erZc8gqM/v3uX793re3T9ZSkvMxj9/fff6Yd/iJNS3ylfUsQu2cCUvsqVrIgd8ozJlILil9eCRtMA6L8GpvRyJePe4M1g2ccdvglN8brB1NKKBqb2jaRcpufTa+OrM7o0m/vWWPlTp+7SGBHJxb1NELdMzlaPa6OUmbI8KOvKB2TP9hBz/eVR7ZHXI33RL6tHipfSG9b32qS55oF8RP+roTQgpvAm3VH7qc6prtN9pB2I274VXk/pj6/78KX9VNem+r2PN9UPluY710/bMa2Rpb2xSHJ1fWxGlhGR/CTzS9YPavpVzpxi9ojnY66/1BiM2vlH+dzlqbZsv9pY6MteNqXxoLJfpbgz9RA1cqltty3zZand2rjT9ah5fvu/U1nK49W9jdpraqeUfx82bo+95NfmfS9v34dSusue8xoG9VL6SV7t36pj/lXR9p75divK+Tyu9yf0v5zUjgWDUa0eUTve5/VQelv0nBq51Mi59jlKb85Nj/D1LPWXynar6VdLqJFzitfkOzU+W/vW6E179udH5VvLUC7Ks/m7aWs/loqacW1J+fYYJyPm9JKa53zpPDPVr5boG4v61d7PUUV6e7dvbXp6hmrmGVE7HtRQXb4dx/E2z6ZfVK4D5tLr4y3oL6fLepltoT/DKD0gqaJNoZsJW0JJk9JlWOD0sDfXBwJJD1fT2YKK3Rsqrlx6WHMBp/SGD2pKJ8uj7aTDeJ6pgak2vaj8c3WqIdV74k1a6pTB9Sjc5NVOaOvLJPZuj9r+snd7lNpI8vN9olVox/H2eCD36H+1lOrbynqsXCwhpVHoq209ugGupzAQV/TT2n6/pM1r8q3pp61Scm8f/wzn12qJ5Tc94U71K89s/3vQ8zHVX5LMgvqKQb5R+wYyru0Htf3KM9nvV8ilpt1K7TJ3PW83z2Q9lN6oLcbPbxuvbrxKcV1+Kf88vZ3l559VlUtv4KJ0UhpN2Xy+/l4ftwbJ3cZW3zZK08uwtt1aOY9lmvfTT+l/hvWlaN4QS9qtDVf8cj2UXl4Pu8/Lr22P+X6/VC5zchYpztxzFJRP5PWrLd+afjVFrZzz/l0Kj+o7pTfNyblaLjvnW0sov5TvUKdb8nykazPlW5reElLaezznqoPvG8HzsahfjeQ81jf6azPy2/s5Wpre3u07l55nrn1Hck75xnKuZbY9dL3i+S2l48eDvF+kOnV9Kb9Wk16Kt7R9VXYZoSbq/AjuBiMT3uWSCpgq2ky4+Xa0tmLNw9YIJVm/zk2nO6/raDbwlTqXJ0onGjg9Ux23Nr17mHWW5u+ssdfgO1lO3ukG14KHeupBX8Ij2qO2v+zdHmlCGC2EOoL+2O5zbdqkuT7lebCEPfpfLVF6fXihLy1B6UR1adOv63tz/XRJv6/tB+laxfNR00/z8k1NFLVE8lNauYeRZ6pfeabiPfr5KPWXaNyztvTxk1xGz8dYxjX9YKptZvtkoR7GErnUtFtUb8/SdjNK9Uj5zTwbIm4Pk/34XpVT4Un2E+XaS35tOzbXr00a2XM7iJfKI3nV6S9zpHxT/ZSu3gi2fe+iurj0atut1P6l8HfvfzlJnoFetKTdZp/pYLwpUdvvl8plTs7G3HNUSieXwdLyLelXJWrlvGR8rm2P/tqMnLc8l1vyraEkvyjfpePaXPn2Hic9k+P4wnynno/t/Wri/sr23eM58tSmt3f7LunPpfatHQ/WMFvfsH3Hz1HNeJD3C9W3tA541Lgrj6WoXz6awVfSUsVNKOmBGhYqCruH13U0CfTs3GV9nhZm8byxqrbBPZMDU2V6qW7NA3XauXF8J4tQR4vKHt03Jf+l7NkeS/rL3u1Rkq/S9PfKDTB6KKf6Ti1Taazpz1PE6Wnw2m+A1iCVly3lW9n3avppbb+v7QdiLt/2+nw/zScDX6b8Wi1L5GfU9s2peLk8jT2fj6i/RPlav/fplfvzUMa1/WDJeJoT9vsVcqmRWV5v1Xk0X1a0W8SW5zduj/J41Y89jfITPRN7y2/8rAZ9qvI5X4ophZJDm9a4r9W2WyRnkfJw939K/8tJ/SZLf2m71bRnqkcgZ+W/Ru9cKpc5Offx5p6jQn/Jy1Nbvtp+pe0saVEz059q5Vw971e2R39tRs7Vctk73yXyy8pnfcLyXfp8pGsT5VuSXm09PHlfMlbVo5NF6fnY1q+Udt1zl7fv3s/R0vF+r/btr83U11Mqk13L5SyUnh8Plvar2fbIrrdx1o3jSrt2HVCTXvp7Yfu+9NBr+0NC7QchCVOKeN6wTadqLZMtrVtbK3hZK+OHthFait8oDFHnboTl95jmexpTY9u1rkO3DWNhbvDsy5LhO9OS9CQTV+bTqWnos8rbxAs6whypA7l8WgqDUiMXszaK0d7qQT3u1D5kJXZtj4r+8qj2aPtwuR4pTiqf3gz7don7aQ17978abMEyoOk30TkGRupbKd74GS/R1i0bDF2epTIv7adz/T7FqegHS/Kt6ad3OTdtlibXLm6T3uBapTxr5Sdq+lUbb9iP7ozL9ejnI+8vg37alXtUL/cMe/mkPpDq1uTtthstGg8q+lVEXo8UVimX2nbzzM6XFe0Wkddj3fNbP17lbTO4tqP84vIN77Py1TznPv8alKZ5xbRtE48BNe32dW49vKUw9+d0NPFG498H9L+I1K+y5zaFV7TbkvG+TXM/PSfFXyiXOTkbk8+Ryqi29PIp5FvV/yr7VYpreRf6kTEnZx+vXt+tH4e29ueH5btAfr5tz80cp+dI3pQXZwRYOq5NlW9JejX1yOV1p5VnH29FPZR/6fkQtfN+jb7hmZfffs/RkvSMvdrXmEyvvzcjqFf1eFD5fBil8qV0LK8dxvGl64C9x11xCIMRjEkdIBtgvjRgN+ElRQQeB+3xWtJAu2AQfxT0g/fg0f3lWf3gKP1+K4+uR1IGG7mnfBolNIoDv5ea/icFP/LS+k3UPkdLF1V7cb40i5uJF1IwzafI71X1+JR5hucoBrnEtEbNWyOb1+ihGIwAAAAAAAAAAGAABiMAgErS2288J6CST+kv1ANgO/S/GOQCAHBsksGo33so19Zm4LY9dHJ76vd1vtAdvz05fFkZ7nsqX7PXr4Z8H2nan3zQsj6TGrkcsX3X9NPfxjPbLT+jpe1L2hes/drr81a6Uy6hYb6J8p5kuFOWX0ewsJjrV+0+8uuPziN49naXuf5y3/fe0I0d9/q0HGF7zlw91vCKcXyv5/cI4/2U/NI8ms5EOM4cuYZHyvmI/e8oPFsPe6Rc/LkpW/N4pt6e5PuieQsAwJMMRu2gfz/oStb+geLqTi9fyl5nJvgyRdffjaSU8kZlxLvL5dP66bsTtUcakzYoX/l4GZHyjRZxhXAYMiWnrQsL3f9Mxbumv0TjXnvfcRYJNfV4FHvpEWLP5zf9feDxXovbuS+GvQOvlvOz+9+reYUe9mi52Hi6de54lX5aM2/t2U8BADz9ljQ/GKVBsVMypHBcsgE2fcEjt7Bng/zgraknGMw0kN9POFec4BTxXmFoBv0+7vCNX4rXTQqWVjTAtm/e5AI7n14bX4OwS7O5b83bCluoWjoDIrm4tyLilsnZ6qEvAJhSOCjryomjpj1SvMryzcl5iVxq2tfYq92MPfupmHuOHtVP83qUvhrRpjes77VJc83i4xHPZQ2lhUYKb9IdtZ/qnOo6vsfTKmbtMxdeT+mPr/vwpc+vrt1lonYb9hcfb6ofLM13rp+2Y30jS/MESHJ1fWxGlhGR/CRzHXQ5iFfRr3LmFO9HPB9z/SVaiFjdrKztvKx87vJUW7Zf6Sj0ZS+b0nhQ2a9S3Jl6iBq51LbbFj2i1G5t3Ol61Dy//d+pLOXx6t5G7TW1U8q/Dxu3x17ya/O+l7fvQyndZc95DYN6Kf0kr/Zv1fHenk6GFe1WlHNwMOon9D+Rp6d6fLoeViOXWoZyUV2bv5tyjPOcbrclchFzz9HScdyYmreW9FMAgDX0BqM0YKXBpRkcG8VVA5AG1tNlONGmQau5Ppg8MqXEc5/oy4PgaDJK6Q0HzkiBayetdQNsbXpR+efqVEOq98SbijQBBNejcJNXqxCsL5OobY/a8i1ttzm5eGbbd8d2q5VLbX1T2Zt6jtPL7q1Mr7a+JRmo3bwsW8VtHO90iZXWJcy224L+Mkepvq2sx8rjElIahb7a1qN5FgbEhi/rR1PP76LnrbLNa/Kt6aetQn1vn/SsdGXKr9USy296YTLVrzyz/e9Bz8dUf0kyC+orBvlG7RvIuLYf1PYrz2S/XyGXmnYrtcvc9bzdPJP1UHqjthg/v228uvEqxXX5pfzz9HaWn39WVS59jjdKJ6XRlM3n6+/1cWuQ3G1s9W2jNAdGisp2a+U8lmneTz+l/6XxIEuvbY+hDPL6l8Jb+dXPqyn/QtlyJvtfIJdZWU7IpZZQfqm+wzl/abvNySXJork+brdM9pFcgnHcMyVnY062AABruRuMbPK4XNKAlQYevQnItqO1E3KnPDXXz+dmcDyXFYupAcwG8LlBUMQD7HgC8CyeyKIJpQ9r00l/TygBtUxNPFMTRzj5BGFrqG2PJeVb2m5zE7Jnsn13bLdauYj6flX3HO3dT5MiOVoIdWT5iPb8iKZNmutTngdL2OO5rCVKrw+fUM5qUTpRXdr0657Jued30fNW2Q/StYpxo6af5uXzz/BU2aeI5Ke0cg8jz1S/8kzFe/TzUeovXmaGtaWPn+Qyej7GMq7pB1NtM9snC/Uwlsilpt2ienuWtptRqkfKb+bZEHF7mOzH96qcCk+ynyjXXvJr27G5fm3SyJ7bQbxUHsmrTq+bI+Wb6qd05eHT9r2L6uLSq223UvuXwt+5/0XPfcSS53dpP43GoxKT/a9iHIqI5FJLSX5RfReP9zNyqX2O4vYot6fYo58CAKylNxiJNBh2g40pGgMlNAi7h8eKRT6AaVA8d5OH8HlamMXzxqqlE56YnMgq00t1awb+04TCsYa5iUcTWVT26L4p+S+ltj1qy7e03ebk4lHcYvvu3G61cqmp75LnaO9+WpKv0vT3yp07UrKnZF7LZLuteM6niNOTYjavtNYid/a8bCnfymey5vmtft4W9Pu5fNvr8/20lec9ni9Tfq2WJfIzavvmVLxcnsaez0fUX6J8rd/79Mr9eSjj2n6wZJ7JCfv9CrnUyCyvt+o80iMq2i1iy/Mbt0d5vOrHnlv8TOwtv/GzGvSpyud8KbYYlxzatMZ9rbbdIjmLlIe7/1P6X0ovqK/y/S16WCSXWqLy27Pn0yzVs9RuU3JZ8hzF7TE9V07J2ZjrpwAAaxkYjDTY2GCaJhMN9PmE1Qx+rQW9pXW/bCee0ht7Dfxt/GYCCAY8TfJ+D3a+VzsNgnatG3ht8LfwQbld+Xr8ILokPcnElfl0aiaSs8rbxKucUD1pwnH5tJSVR3tLJkZ7qwf1uDM3qcwx1x4+Xn35puVcK5ea9k3xdm43sWs/rXiOFqW3oL7tsz3dvm359GbYt0v8/Naw93NZgy1YBjT91d52RqQ+neKNx74Sbd3ufTXvy6UyD+t7p6x8N2WbeN5SnIp+sCTfmn56l3PTZkk57uI26Q2uVcqzVn6iejzI+tGdcbke/Xzk/WXQT7tyj+rlnmEvn9QHUt2avN12o0XjQUW/isjrkcIq5VLbbp5ZPaKi3SLyeqx7fuvHq7xtBtd2lF9cvuF9Vr6a59znX4PSVDrpd2qbeAyoabevc+v5ns6HcfFG498H9L8+fEbf8PE+UQ8ryaWWVi5WLvWVNj15212cDlDTbtVyWfAcVY3jC+YtY66fAgCsYWAwgjFJmc8nYE08TfhWwww8jt/WbvTT15IUu0xZfgX0g/fg0f3lWf3gKP1+K4+uR1r8N3JP+cwslOH38SnPUc7WcehT5QIA8G5gMAIAAAAAAAAAgAEYjGDE3d1Ybq/2e71rMBwL2hcAAAAAAADmSAaj4R7nMVNnSOzFcBHLwvVVtC7ArfFgyR5yv9/+Gf1ljnZfus4yaM88YDtOy9r2BQAAAAAAgN9F72HUGo3Gxpp2UYkR51W80x5uM/odwWDk0eGCv8VgxJ5/AAAAAAAA2INJg5F9maL/W18AkMdG+nqaPDji0/ijrzIoPB2A18W3dM3IYPGjhb3lK88I+zzl8AsIwwWy93ZJaaYvJCyvR1vepqyNHNq8VG59+aeLn+fbpHX/QoHyzQ/7q8tX3GWVUTAGJHlMXH8EQzmrDs3fgcFoVi4L+ktNejlzBqO5/nJS+1u7+X6nOruvbbxTfwEAAAAAAACYIjMY5QvO4UL9Hu++qE9hWsxmW1vasKHxIC2AJxbu8wt7fbJZn8UsL4LTwjn4CkkeXlOP5K3hZJA+g9mlkV9L6QWLc+Xr61Qrv/5aId1Xk2QRGEBGbV4rl8r+UpueZ6pfbekvwsuB/gIAAAAAAACfwiIPoz5etiCNFvttuBbJbXj6PWHoEVMLe9EajMaL9v56tigfXMvuranHEgNAMjCMDG4dLp8l8kvXDmgAsPLmbRXVo1Yu7f3z/WVJekapX23tL3k8+gsAAAAAAAB8CrNnGInz9dovdFctYNMiuGzoMbYajETuoWH4xbuoqccSA0CevqE0T12c9Pca+bn4yvfstkG9iqi+rUyG9aiVSx8+01+Wpid0T6lfbekveTz6CwAAAAAAAHwKyWCUFq/m3RBhi15bzCe8V8U9brSI1TktUbiwxe893Q6/6B3ke6dkBGjPN7rXqebMnKgedy+QJk4yVrV/K9/BtX5x3tTFnUkjo4cZCJbka/GN+zk347NrjFedYXQ/R0oyUlvefm4yMDojxZxccqb6i6hJL5frnXt79XFn+kuKY4aYph/4Ovt836m/AAAAAAAAAEzRexgBQJneYPQkYxwAAAAAAADAK8FgBAAAAAAAAAAAAzAYAQAAAAAAAADAgIHB6HS+9ueuCH2+/nw5j858eSX3M4/GZ9HAa9Bh5P25PkLnGdE2AAAAAAAAAG9LMhi1Rpj7F5w8OkB36oBi+N2UvvYFAAAAAAAAAO9L72GUvuIkz5AK45AMTPcvMQVfIZPHyfWavjxln8EfflGrPTw4+gqU7r9/UepurLp7FrVEX0izfOUZdRp8gSr+WtSgTEqzuc/umfpKV87p7PIdpKmvfY3zTZ5cuUdOIPfa8s21Rx8v+xqY8r3Ki2yhN1D5C2QN7mDo2n7Qp9tc818Nu2VyaftF0yck75SG+oere5beHEvTm5Pz4vRm6lv9HDXx7p6ByrMJq/iaGgAAAAAAAECJ0RlGrcHDFrhjQ0bpa1FaLOdGnHYhq8+slxfyZggaGEC0UJ74HLi8Woqf1E9GqHZx3YelPNqF9CBevoAv1K2GKF+RPHBcmqns1/Mw3ySnrMyV5SuVOW+PZEAI4p0u05+4n6PGw6imHyRjS5COD2+NIPd29Hnn12pYkl6NnJekV1Nfo0Z+IpXR3Zvum3iOAAAAAAAAAEr0W9JOhYV2voBNfzvPhQG5MSMwhES0i+nWaJR+zyyMk9FlymCUlyMySvVhttiXR9LY6FVLyaCQyyDVr/M+Sd4953PyUBoZjCrLt6Q9RPKG6gyCuUfLGuoNRuV+kBtTBtfcvXm8ZxqMauRcm95UWSNZ1T5HQuXsn6Og/QEAAAAAAABqmD3DKDcIlAwESiM3Oi1Z6CaDS1p8z8dXGTYbjFQ2GaaCOq+hZDAaGA2SPMZyLhoJKspX2x7ayhQZh6ZkWUMpf09NP5ChIyrHQH6VBhm7d44l6ZXq6eW8JL2a+ho18jPafGQMXCYLAAAAAAAAAE+/JS1tTToPz1SR8SZadCYDzES83viTMWeY0Fkv3qjjMaPPKF1npBnm2y6wbQFt4Za+4vptb6dTs/BP9W/iBYaBOXqDUbO4v58xM5afFv/99YZ2e5rV7b7IX1K+ufZIcVK+OrPIxWvym9r6N0UybPTp3NPb0g/a83nu6cZnBImmbZMR5Z7e4FqFYUUsTW9OzovTm6nvUvkZed8BAAAAAAAAWMroDKPfQlrA5wv0kwwC8wvyiN5gVGmsmGPv8sFnkw7QbvpFMpCuMHgCAAAAAAAAeH6twQgAAAAAAAAAAGIwGAEAAAAAAAAAwID20OvCWSnfN50pdKztT/ezjOrPqnkmzyxffI6Q4022Jh2p/6WtXd05RaXztJ7B4Myu6Mwqu7ZxG+RR6iverT/n55HpTKulz3x7LpbOFrumM69K201r472C9suLqv9+W3KNufF0rVyO1O9fxSPb7Z1BLrCVufFlblzbkyX9ec955ujzOXonAEA9vYdR6UtMdpYOitMxaSe9WOnQhP3oySedmbND/zhS/zNl7tUTd0mp7BWdneRylPqKV/fnWpIyvLPCqzRrFPTaeM8ktduL54mlcjlSv38VR2i3I4JcYCuHm1cX9uc95plXz+dz+il6JwBAHXUGo25hpAE+X6i292lR677w1YSlNxT6LLwGwc5ynn+VqzZeitsNpu31+M3HkvTa+JpMXJrNfWut/I8oXw3RhKxJUgcg+3ji1MS9uTImjwh3qLbRysXK1sa7NmX2eaR+Ydc9KyfZth9N9z9DstYX9SzP0dfFVvSDYZzm72Dirs1XsrO6DPrYQtmkPnVp+mRzv/Wntp9dm/CmHFl6w3qofOX23aO+j2BJf56r7/7t0dzb5TXCpVU7TubUKuhbFfmlcqnpB/cFSfa8uTe1S+TS9vM2v5TnDnKp7vdJFvf6RuPfEmr76Z7zgsjbLf+qY4pTarcg37n5Y2k9Bn2uoTT/LhmHUpqK5/rYGmrksvQ5r67vTH9ZSpvvPb1Sf56Tc+240Y7hXZgby+86w/hZ3yNfi/8qhu0Wjy9LxrXadqvR62rG55zZ8XSm3VKc1BfufaC9r5HLivHFqJFLrX7aPq/D8vX3/1K9EwAgIjMYdQNMPzBNTTxuwEoLqUwJCCcKTZbr4nmmJrJF+eb1CMLWsEf5amnTG7Zbarss/1SmZgKcmyxTWwYyOF3Giw2xl8y29D+hCd7XuVbOSenP+0GKlyl6lfmKti6S9za5pHI0SoSvi34rv7zckYIThT+ivnvS1nXYD1JfyPKsra/Yqz08SY5B/kYkv2ic9KRntEK2tfHmqJFLbT9o221ct7w9XiWX1F41/X7h+DdHbT9t5bffvBDWt2tvn15tvkm2TXnH6WX3VqYX9oPKMJH3v73ZVI+SPlRRt9r+Ukttf14i56pxI3q2mvvyhfPe+b6K2vHFMzVe1bbbsudy2CfFVL+aLF9lu7X5NnnMzOfV9Vg4PpfK2V9PeWRl++V6JwBARNHDKBrQUrxgAKtWkCoHxE0TbW2+fVibTvo7GITXsEf5aknpBZNq/gannWg1Id7atzHnZnI+jydko9333vSBwgRqRPVZQ23/SwpONsH3uPg1cra/RxNv0B61+ab7A0VnDakcMhj15dQbqDZdL5/o+evTcGV5VH33pKY/19Z3KmwrSf4TC7i4/5XLLabGDU9tvDlq5LLleYvCXyGXJf3eqB3/pljST2O5lMs3Ram+EbX5pro0YXPzR316FtaWMf0dzL8vHYdq6lHZn2vqu6S/LGWuPz9ifmvr08or/Q4Wsq+YV/fG2nbJ+CJqxrW5dtvyXE6Fi6nyLZoX8rI0ZT6Kfpr3KdU5ir9lHsz7wZL+8gnPBwB8BpNb0tJglQ9K4YA4VnRqBs4l8TxTE1l1vqqvFJjCRLOFPcpXS0pvZpJo23asiEZtLlfWaPIt1Smvj/rCecLNuURt/0sTerBQlwx9W9bKOUqv7c/z8USebwoL6rKGVN5Lm2fbzvcypfK4+klWUfvk5X5Effekpj+L2vqKvdrDU5KPEfe/8TjpUZqlccNTG2+OGrnU9oOoviI9w+7+V8klqkfU75eOf3PU9tNYLuvnhZR+0B6qs40p6e+KfNt+Ujl/VNYj3Vsx/0btJp4yDtXUo7I/19Z3ybhWQ21/XiLnmnHDSPJJi9s4/qPyfTZRPaLxxZO3gaem3Vp5rH8uRT4+e6bKV9tubftPt9mieuysn0Z5JJlkslpU34pxI0ov6i+1+aawoC4AAHvx5//3v///fVJP3AduG+hSuBu00iDWxU/7aTsFSftode8wvXYAs8HQwjUo1sYblcXjJ4Ml6TVxB+cRnJoB+Nwo0xMT6BR7l68G3w5z92oy6fc0N7Tuv1Zm1+YpnvaE+7Sbti0oDuK+v3o6XomhXOb7Xwr35WvK65WNpXKWEtLLJr2tUr6NAqL+7JWLRfneKSldU+R1b/Nu+9Kg3X3/SvW4X4vOFLjHs/vX11dYWdbUMWdJfxZz9d2zPYy8jC1jZTePG42TipP3yzttv7W0auPVsFQuNf3g63xJYekcChevpNz3eRbl4vq/x/X3Nl69XGr6/Zrxb45l/bQt95Z5wVC+e42TNfPHovSauLXzb03/6+NK1inOsJ8sYWl7VPXnJfWd6S9LWNKf5+Q8lMudufFU+sFU/31Uvs+manypHdcq263muUzxKsfnRePpTLstmc+r67GgPxsl/XTYr9A7AQCm6D2Mfhv2FmGguGvAbsIZaAEAAB7Db5t/0TcAAADgXfm1BiMAAAAAAAAAAIjBYAQAu5NcsbOtFhG18QCWsGe/0paAs9teBADPJW1FYp4AAAB4Cclg1O/X1T5qtx9W+237fcjZHusp2i8YLLunhsH+6wYdInm+nEd7q38j933X473mn8hcfdt939rr3vaZLW7/S/rznvm+K1uMRUeXX035HjX+vYK2vrefW3rWGgrtqgWd/1pNfz5D2L77pRexq7EolWPYjmvaN9U71Xnf8VlysfMtps4I2ZvafF9VvmexrD/fBmfZnJNudT87RSR9q+lXOs8knXNkNOFr5ee3w/X9cMPzsWd6tfITbV5DeQEAAMDjSQajfCJOh6h1ynC65r6qUotPI7q+hClFQQfaoUDAFFK2txoe1vTnPfJ9FGlRvdPz6WkX6/Pp1sQ7svzEVPn2HP/W8Ij2VX2LC2IZ87P80iI5WxB79k5P1Pa/Gtr8CgbpF7evp50fn2+Qqc33VeV7NlP9ORlZgr6Uwt09Mg756ynsst67zYw7g+eoa481Y+ve6Xmm5Gek5/uXvBQDAAA4Cv2WNL/4SRN3NylLab5kip4UhPuXBxpFoVEg/GGOKU6vUDfKRB9Xb8nWKRWtotKUqUJxmiuf6iQPAX2JxBYE/Rts3dMpRKkOXRpe2WuVPzFcvOyVr8WvwZS1Ps8Jpa3N614+yVOLq7XKV/L4cnnn7bNUfnPpiSX1NXzfjqjKV3VZ2J/n8q15jpZQU4+77DNW9L2c1DZVxqK6eLPyc94LwnukDOJlcpZcogVYjfw8U+Ur9pcgfnU9Kp7fpe2b0py47knzwsyCzjhprCsY+Y2906vtV7VMla92PEhlmhmvbF5In11f3F8Up/m7yWOtQaa239fmOxdv6TyYP7+lcbJN4x4vej6WxFvKkv4sWuPH/DOytl3b9OM+l8rq5uQa9k4vp1Z+GuOm5gUAAADYl95gJCVOitgpvaE9p0lZisrpMlSk7oryUDHIJ/HWWDBWhtKCZoFSlXPyyl6g2NaWT6Q6N2VsFfVh/D5Op/B7pS0pvHlaO+e7BilcJUUqKXtB+da+vUx5Ne3o02vrNVQaa+VXm55nqr6eqXjV9VjRn6fyXdJfalgqv1L+a6ldrNfGE1PyK8k9D1caeT1buQzbcqn8xGz7hs/CMN/aeix9fvduX5FkGZQ1IhkNZACYKMOe6S3pV7VMPYsPGQ8q+kuSWd6fU7yx4aaGVKamvIP0gn5fm++S8tlzODn/Fvpx3ja1z8fe86An1b22Pzf1ioyBnlT3yvQi9jbw7J1eTq38lsgZAAAAtnM3GJlyerkkxalVVprf2Xa0pBDLWBPhFLGSolcKn0JlOxWUuVxBry2fmFsQGqYoSeFNvwMF9xH5LkWKVGlBYrTnb0i5axS/wpvkGlrFW/W7tW9nz82io0k7qleN/JakZ9TUV0zFq813TX+eyndJf6lhqfzWPIcl0tgRtGlObTyjJL+2P40X6+mae7ZsoVrTR/buf5F8rTy2cK6thw9XmWqe3z3b11B9ly7U8vHZs1d6S/tVLUmGhfKV5Dsl9+39Je7Pebwl1PT72nyXlq9mHlw6TtY+H7XxllDTn9XOc4Yi0Y4N69rUMLlHZUpyXTg+7J1eTpX8Cn0JAAAAHkdvMBJpwu4m/VaZGy9mSpO6JnJv1CkpzlMLiBKtkhAvrPLy1JYvhS0w3KT6JCU1jv+ofJegMhQXJKdzqBRP3VOi1Dem6jUlvzXpidqyl+ItyXdNf54qn67V9pc51sgvr48WKOcV20XTs3ktt5FRG88zJT/JPbqWyzX9HbSb6mvG8DXyE1Pli/pLkkG22Kmtx9Lnd6/29eRlMqxe4/q2i96SjPZIb02/WoLaJ1qc7j0e1PaXSGYml6WL6CX9vjbfJeWbe77EVB8Z6BuVz8ee82BOqawi1TXoL0k2Uf3UH1a0aU7UxqV2r2Hv9DxT8jNq4gAAAMC+DAxGUlJMQWkV8bGCc7/WTNyNQmNGgJHSeW49ldL5CC7e2jd5yWX87M9GiPMVc+UzZSxnTmHUOQpTCtyj8p0i5anFVZ5uvvholLprU56rL1+j5NW87Yxo07vn125rsLLEyuOU/GrTq65vt0gZxcsNQbX5Vvbn2nzbuE0+E/1lCWvbo42/vh/oc+M1i/XaeIvk1yz++u2pDVNnm8yOV9X9b758w+e8Dc/v889BTT3a8i17fmvaN+WtOMFiNl0vPW9BewyejYZoq9He6dX2qy1okZqPW/XjQaG+Tt7r+kt3LeWpPG6NfJp+vdAouGTcqM13Lt7SebBmnKx9PtY8R1PU9OfymNESzYmtjOJxWyTDSXNvje6gMg7OgEptPEz3VenVyM9Qmlt0JQAAAFjHwGAEAAAAQ1qjRWxUA4DHwbMHAADwWjAYAQAAAAAAAADAAAxGAAAAAAAAAAAwIBmMbL/5mPV7+98FnY10PyejPWfhmn0Zbk9a92qdodDmu9ee/GfXAwAAAAAAAAA+l97DqD1kcXzQYCn83WmNZEF90yGMUbgO8tx3H33tIY5qg1K8pfWo5RH13ZOjlw8AAAAAAADgnVlkMEpfGJHnir540of5L6IMF/AyWgy+ptFcL33FyH8lSF9BuV6buHlZKuPNoXrIG6f0xS5P+kyy5edxdV0qF2OrwWhJPWqpqa+hOvqv19xkoCp81aWGmvbds3ync9tu6etLvr3kWbfxE+QAAAAAAAAA70xmMLIFs1s4Fw0V2vYUG0JSHKUXLOK14PfGj5KnSPqMvlvc18aroa1r+ZO1EaX6eGrk4tlsMFpRj1rm6psMN9fxlrdS+BxL23ev8rUybI18Pl7y3JppbwAAAAAAAIBPZdbDKKI1jEzHTQvzkQGqIzIMyNuj8y6Z8lSpjTfFGs+cOQOFqJGL54geRsZUfZNxp2CoWiqDnNr23at8pXS21gMAAAAAAADgnXmYwSh5aAQeHtqmdnILeW0biowCuTGlNl4tyaAVGQrSodRBeGZYkFHinG1bWmpkWFt2z9J61DJXX+Ublb3U7nMsbd+9ylcyGK2tBwAAAAAAAMAnkAxGaXH8ffcAKnmstEalezyjZPRojRYu7dt4e5GMLNcm/OrjfY+3wtXGW0JN+Tz385iG+S6RS+v9Mo5ba6yLWFqPWkr1NfIzh0pnVNWwpn33KF9vMEr5d/nuJD8AAAAAAACAd6X3MAL4jZQ8jAAAAAAAAAB+MxiMAAAAAAAAAABgAAYjAAAAAAAAAAAYgMEIAAAAAAAAAAAGYDACAAAAAAAAAIABGIwAAAAAAAAAAGAABiMAAAAAAAAAABiAwQgAAAAAAAAAAAZgMAIAAAAAAAAAAMf//fx/8n/3ODijn5IAAAAASUVORK5CYII=" alt="screen shot"></p> <h2 id="pull-requests">Pull requests</h2> <p>Finally, you should make an &ldquo;Pull requests&rdquo; at our github repository. Thanks for your contribution to PhysIKA opensource project!</p> <h2 id="publishing-website">Publishing website</h2> <ol> <li> <p>Generate public folder</p> <pre><code> cd physiIKA-website hugo </code></pre> </li> <li> <p>Push files(If you have permission)</p> <pre><code> cd public git init git add -A git commit -am &quot;init&quot; git remote add origin https://github.com/PhysikaTeam/PhysikaTeam.github.io git push -f origin master </code></pre> </li> <li> <p>Modify Custom domain(If you have permission) Enter the settings of the PhysikaTeam.github.io project(<a href="https://github.com/PhysikaTeam/PhysikaTeam.github.io/settings)">https://github.com/PhysikaTeam/PhysikaTeam.github.io/settings)</a>. Add <code>www.physika.net</code> in Custom domain. Wait a few minutes, you can see PhysiIKA website on <code>www.physika.net</code>.</p> </li> </ol> <h1 id="if-our-project-is-helpful-to-you-give-a-star-and-watch-us">If our project is helpful to you, give a star and watch us!!!</h1>