tag:blogger.com,1999:blog-57626488128443732002024-03-13T00:02:00.682-03:00Automatic Modelling & Video MappingThis blog is meant to follow the development of our project entitled Automatic Modelling & Video Mapping.
Automatic modelling relates to techniques used to scan real objects and convert them to 3D geometry that can be manipulated on the computer. Video mapping is projecting images and videos on real world surfaces.Unknownnoreply@blogger.comBlogger22125tag:blogger.com,1999:blog-5762648812844373200.post-85272843708675180082011-06-14T09:49:00.001-03:002011-06-14T09:51:18.297-03:00Kinect resolves the geometry acquisition problem?<!--[if gte mso 9]><xml> <w:worddocument> <w:view>Normal</w:View> <w:zoom>0</w:Zoom> <w:trackmoves/> <w:trackformatting/> <w:donotshowpropertychanges/> <w:hyphenationzone>21</w:HyphenationZone> <w:punctuationkerning/> <w:validateagainstschemas/> <w:saveifxmlinvalid>false</w:SaveIfXMLInvalid> <w:ignoremixedcontent>false</w:IgnoreMixedContent> <w:alwaysshowplaceholdertext>false</w:AlwaysShowPlaceholderText> <w:donotpromoteqf/> <w:lidthemeother>ES-UY</w:LidThemeOther> <w:lidthemeasian>X-NONE</w:LidThemeAsian> <w:lidthemecomplexscript>X-NONE</w:LidThemeComplexScript> <w:compatibility> <w:breakwrappedtables/> <w:snaptogridincell/> <w:wraptextwithpunct/> <w:useasianbreakrules/> <w:dontgrowautofit/> <w:splitpgbreakandparamark/> <w:dontvertaligncellwithsp/> <w:dontbreakconstrainedforcedtables/> <w:dontvertalignintxbx/> <w:word11kerningpairs/> <w:cachedcolbalance/> </w:Compatibility> <m:mathpr> <m:mathfont val="Cambria Math"> <m:brkbin val="before"> <m:brkbinsub val="--"> <m:smallfrac val="off"> <m:dispdef/> <m:lmargin val="0"> <m:rmargin val="0"> <m:defjc val="centerGroup"> <m:wrapindent val="1440"> <m:intlim val="subSup"> <m:narylim val="undOvr"> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"> <w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"> <w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"> <w:lsdexception locked="false" priority="39" name="toc 1"> <w:lsdexception locked="false" priority="39" name="toc 2"> <w:lsdexception locked="false" priority="39" name="toc 3"> <w:lsdexception locked="false" priority="39" name="toc 4"> <w:lsdexception locked="false" priority="39" name="toc 5"> <w:lsdexception locked="false" priority="39" name="toc 6"> <w:lsdexception locked="false" priority="39" name="toc 7"> <w:lsdexception locked="false" priority="39" name="toc 8"> <w:lsdexception locked="false" priority="39" name="toc 9"> <w:lsdexception locked="false" priority="35" qformat="true" name="caption"> <w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"> <w:lsdexception locked="false" priority="1" name="Default Paragraph Font"> <w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"> <w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"> <w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"> <w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"> <w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"> <w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"> <w:lsdexception locked="false" unhidewhenused="false" name="Revision"> <w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"> <w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"> <w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"> <w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"> <w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"> <w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"> <w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"> <w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"> <w:lsdexception locked="false" priority="37" name="Bibliography"> <w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Tabla normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} </style> <![endif]--> <p class="MsoNormal"><span style="mso-ansi-language:EN-US" lang="EN-US">We study in the past, to use structured light we need a projector to obtain the geometry, in building mappings it is a disadvantage because the rent of projectors is expensive, so we look for a solution that involves use of the projector only in the show not in the design of it.</span></p> <p class="MsoNormal"><span style="mso-ansi-language:EN-US" lang="EN-US"> </span></p> <p class="MsoNormal"><span style="mso-ansi-language:EN-US" lang="EN-US">We study Kinect theory, without testing cases, now we are finishing our project and we can’t introduce new studies but we want remark that this tests could been futures works.</span></p> <p class="MsoNormal"><span style="mso-ansi-language:EN-US" lang="EN-US"> </span></p> <p class="MsoNormal"><span style="mso-ansi-language:EN-US" lang="EN-US">Kinect is a sensor based in Prieme Sence technology [</span><span lang="ES"><a href="http://www.primesense.com/?p=514"><span style="mso-ansi-language: EN-US" lang="EN-US">http://www.primesense.com/?p=514</span></a></span><span style="mso-ansi-language:EN-US" lang="EN-US">]</span></p> <p class="MsoNormal"><span style="mso-ansi-language:EN-US" lang="EN-US">It enables a computer to perceive the world in three-dimensions and to translate these perceptions into a synchronized depth image.</span></p> <p class="MsoNormal"><span style="mso-ansi-language:EN-US" lang="EN-US">Prieme Sence technology : the depth image is based on Light Coding, first code pattern is projected in the scene using a infra red ray (IR projector is a Class 1 safe light source) ,</span></p> <p class="MsoNormal"><span style="mso-ansi-language:EN-US" lang="EN-US">then a standard CMOS image sensor, receives the projected IR light and transfers the IR Light Coding image to the PS1080. </span></p> <p class="MsoNormal"><span style="mso-ansi-language:EN-US" lang="EN-US">Finally the PS1080 processes the IR image and produces an accurate per-frame depth image of the scene.</span></p> <p class="MsoNormal"><span style="mso-ansi-language:EN-US" lang="EN-US"> </span></p> <p class="MsoNormal"><span class="text08"><span lang="ES">Block Diagram</span></span></p><p class="MsoNormal"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjsAAAEgCAIAAADdTSXJAAAgAElEQVR4nOy9d3gUVfv//7u+n0eFhBaaIgIKgiI8IlZU7F1UUB8VURFQQUF6kd57R0INhJAe0nvvPZuyNduyvZfZ3dnp/ffHhhCKXUgC87rONdfZ2Zk5ZWfnfc6Z+9zn/+N4eHh4eHh6Av9fV2eAh4eHh4fnT8ErFg8PDw9Pz4BXLB4eHh6engGvWDw8PDw8PQNesXh4eHh4ega8YvHw8PDw9Ax4xeLh4eHh6RnwisXDw8PD0zPgFYuHh4eHp2fAKxYPDw8PT8+AVyweHh4enp4Br1g8Nwu2ExwXCDw8/5yOO4rnjoNXLJ6bxzXPFObPn8iyDE2TDEv/yzniuc1hGJqkKP62uW3hFYvnZkGSOOC12pxaL2j/q+fCqLdVXWN1qG9Gxnh6NAhK6sygx4dd/xVJUo1Ss0DluvW54rk18IrFc1NgWa5N3xSTti0l93Bq/tHa5jScgK85hGOvHdghKcwL2miaArzWxJwDjaKcKwfz8HCczuy7kCo9HNEUlihR6b3MVbcQ64eJY3Gi0BzF1SexLMtc8/kOu6P+SXlZlmVYluk8yB/49PvnXHkdwLJXJx74Of5mfnjF4rkpMAxbVhd/PPInsby0rC7h4LlvBZflB4I9fgjgOI5laYqmCIqAYA9F4hzHtRmaE7P3temEHq8zOe9wTVMaikE0Q3LtTxmeOxoMpzadqN1yuq680XQxU15Ua2Q5jmZYJ4DiBMVxHAgTR2NFZ/JUHMdxHOsCENCPcxzLMDRF0ThOef0YghEMS1+jYbc1LMcyHMfRDIkRXpwAcRLECPDGEcJH0egNr8IwDMMwnT/+Znosy9BXaphmGIZmr/7+79c/r1g8NwmmvO5SXMYemqY4jsuriIhK3Y6goMmqKKqKKq6KNppVOI40SQuKqiKyS05XNiRCMFAhSNxy7KP0gpMmizo5/0hU2tbCyoh6YSaK+bu6ODxdT7PM/sOuUqkW4DiOomgQIV0AmlqqOZ0gDkuWSNpcMIz/Gic8X6yiKKak3nQsuuXcJYlUbScIsqzZfPKSKClPpTP5OI7j7hjFYlmWoTm3TytUxdZLzwhkYTWiMEFrWEekQRpWIwprDESEZwWyCKurhWGpwOkQBCuVStDvD/SZYAiSiMVWi+V3WpAsy3EsyzC0UqlSq9X0jY782w1QXrF4bhJslSA5Om07goIcx7Xpmi8krpdrai+mbIrP3B+VsuVC0gaNXhSTvj380pqKhsTwpHWVDZdEsqLjkT+V18fbHJqotC3hSWtLamPPxq0Syyu7ujg8XU9CrnLTiTqnt70TwLLsxfTWbafrMks1207XLz5QodABoemyiHK1UOFcf6z6UqH6RJxw86kapcG192LT99uLy+pNLgDlOO5O6mNxPshSVL89PO2T2Nxv4/K+vZgxOz7/27jc9khs7rcX02cnFHwbk/PtxYzZF9O/Si9f6Qa1gXPr6+unT/80LOxcYAw/NTXt1VffOHL4CMdxDMPC8JWhfpphCJLs+Oh0Ovfs3hN6/DjHcSiKkgTJcZxC3pqZkWkxmwPHwDDcIV0sS8MwhGNoYMCQYTmSoi4PLV6BVyyemwLLMkXV0QmZBwgC4zhOoiiPSNogEOccCPsqt+xcVsnJlPxDUlVlRmFoi6yY47iyurhL2ft0+pbk3EN2pwaCPQmZ+5qlRRzHxWfuLqmN7eLy8HQDEnKVa49UeUA88JEgqRWHKwur9RzHaU2+rzcX5tboLxSpz+SrozLlR2JaOI4z2sF1p+ozawwn4oTxBaquzH3XobcKItN/CEuaFZ/3Y2TGvOiseZGZ86Iyv4vKnBeV+V1kxtyY7O8vZsyNzvouPm/BxYw5ERlfKbQVAanIzcl5dMzYDz/4yO0GCIJY+NPC4ffet3z5CovVEhkVc/DgwcrKKq/Hm56WduDAwcOHD6vVapIk0jOyN2/YOOuzT06cPNGm0Rw6dOTcuXMGg+Ho0aPjxo0/euy4x+MtLiratHHz+fMRTqezvl5w6uTJQ4cOXwg/X1tTTdF0RWVVXV0dSZK8YvHcCliWKaiICL+03u0xW+zK6LStBZXhepPkSPi88roEuUqgM4qcTu2l7P1ZpadsLl1K3pHCygiNURgWv1qiKPeCzkvZ+wXiPJLC49J3ldTEdHWBeLqeVg2weH9ZSqHa5kZbNYBM7dp+pv58qszhRlKK1P9bl1crtISlSE/mKjPLtBtP1BotYGGN4ZfQ2rJmy7GYlpj8O9T0VKWvORX73cnYmVGZc88lfRWe8vW55K/Op3x9Lvnr8ylfn0uadSF1dljSrPCUb6Iy551N/PJU3NdCeWZgYLAgP/+bLz+f/tHH5eXljQLBwp9+nPnp9E0bN+r1+mPHfv3uu+9++GF+dXXV3Dnz5syZu2D+gl07d5WWlP7ww4+/rFoxY9q7YWFhslb5hvUbZ0yffvrUqdOnz74w9dXwCxdycrKXL12yZfPWb76ZHR0VtWHDhhnTPwkNPblv395VK1co5K2rVq5ISkqiKOqasvCKxXNTYFmuSZIfFr86vSA0OedAWsExwGfFCaSg8kJm0cni6kSpsgIAjPGZe0Ijf0rNO5KYfcBiV0IwkJxzMDX/qMYgKqy8KFVWEQSaU3qmSZzf1QXi6XJYlmOzK3WbQ2v3J0mPxAgbxLZakXVXmOBEbMum0JrzGXIngETnKlNqjRYnvDdCcCCyefd5QXKhyu6EzqXKkst1XV2ErkGuzd1//p1Nx949cP7jg+c/2X32/YPnPzlw/uPdZ98/GP7p/vMf7z77/qELn+4/N2P3mWl7zk7befLTBlEay1Ecx+VkZ65atXrbth3r161bvWpVZFT0smUr1qz5Ra1Wh4WdX7Fi5SczPsnMSF+5clVlVXVxcfG333yzaeOmPXv2Mgy5d+++kydOikSiY0eOTp/+8e7de3Ozc3bs2Al4nb8eO7Jty1aO48LPn9u8ccPPCxcePXqUYWi73f7j/Pm7d+5atHChQq64viy8YvHcLGDEp9IKGiWFMlU1jPgCOxEUFCvKm6VFdpfW5THFZezKKDohVVbYnFqW5RiWc7qNirZ6J2D0eG0Q7KUowuE2gJCza8vC0w1gAxtZG5DdZG5SuHCS5jiutQ0orDUKFS6GYVmOtbgguxdlGcbg8Bc2WhpanThO0TRtsENWD3JHvb7qoEWeu/nYm6sOvLz+yNvrj7yz+sArG468s/7I26sPvLLh6DvrDr+1+sArG4++u+7wm6sPvLr6wCurD7xS3RzHsjTHcempKcuWListLX3vjVdfnvqSvFXx/Xff//TTogvh59976/XZ386Z/tH09LS0FctXNja3lJaVzf76mz279yxZujQrI3P+D/O3b9u6bcvmzz/77J1339uxc3dFRcWP8xdkZWWcOHlq0cLFWZlZa1avPXTw0KqVq06fOo0gCMdx+/fvf+6ZZ7du3Y4iN7Ba5BWL5xZxvUkrDHtLa2JU2sbLBzDMdRZE7BW3F7x1O881XDOth+3wq8Iwnd1esAwTGFxiWPbaUaY7Ab1ZsuvkrLnrxy/YOnnB1skLtkyev+WJQGTB5Uhgz49bn/xh8+NrD76l1JUHKrOyouLI0WM2m23vru179+zxerz79uw9cuRYVUXFqmWL161fv3nzlqqqquO/Hm9tbW0UCI4cPtTc3LJt2/bv5s1btmRJ4qVLSQkJS5Yu/fnnn6NjYhxOx6aNm7Zt3S5obDpw4MBXs75avfoXsUQccf5cYkIChmEcx2Xn5D77xMTszMwb2hPyisVzs2ifaMhc41ewfUIiQWIWm9rrs6FYwHCWCTyAAgcHjmk/i2W4O27KJ89v0mkWa/sdQjMMw5AsS8MIoTF4Ok1g7Zj6yrB38F1EUXh1U+q+s3O2h36+48TMvWe+3Xtm9o7QL/aenbPn9OwdJ77Yd3bO7tPf7Dgxc8eJmbtPfVNYdY4gkMC5Ph9oNlsoinS6AY/HS1O0yWiyWm0cy6nVbY1NTUajEfT77VYrAsMw5LfZrBzHWazWhvp6g16PwAiGok1NTSKRyA0AHMcZDAapVEpRlNvlqqqs1BsMHMc5HXaXyxVosGZlZi5Z+KPZbLphWXjF4ukaPKA1p/SM2abg+NnBPP8MhqEDzZ2mVkdovAjDyD8+5w6DpnGHS6c3iw1micWutNgVerPYYleabQq9WWy1q0w2ucEsMZglFpuKpKAuzGpLc3NdfQOG4zf8llcsni6AZRl5W01+eVi9MJMgbjzHnofnT8NwHOeDiYRc5cWM1hbZX/ZjeXvzT7wi3XoC3jR+qxXLK1a34/Jwx20LQSJieWldc6bbY5WqKhtEOX4Y6OpM3VzusE5kFxS2VQ2klWjqRRa7A8oq0TTL7BTdBX+ibvjPZVmWYWiWpW70u/yFYdLL9/AfuxP8c9f8g2N4xeoZsCwbsDWgaMLh1svb6qSqCpmqUqaqkqkquy5U/XbkLwZlpbC1sEmc7/bYOI5DUL9EXtMkyZf+QXJ/mLHuWHypskJnkhDkHdeJRAmqVQtUNpprWyy1LdY/t/2Th127rWg0l9Yb8yt1DWJbwOeCyeorrDEU1hgqm/5MBv5Ooh3bmhZrRaO5XmyzOiGu+3ZlAn6TWOZPBJrp1m/7eMXqjrgBW3VjSqM4V6UVWOxKs1VhtsnMNrnZqjLb5Gar4qpt5522VrNVeVXk2m3rb0c6rqm6NgmbzGxVXInY5Gab7OpTOqVybR5aO2VGYbBIrXYNikEcxwWWv6JIyubQGK2yq5LrnO4NCxuIdGSjc3mtqk6J/k55W68ubKeITd4efqvU16d7gwzIdUaJQJjbIMzy+R1dfU/dOiwOf3a5rqTOoNC42owetR5Q6q/dqvQe1bXba3fe8ESl7qptmx5Qat0KDeACEJZlOY5mWZrjWJ8fU2rdcs21V7g+letzcoNEb5R0YKvSuZQ6oEnmyChtqxVaAgb33Q2GYTVWf3ajKbnWmFL3eyG51pghMMmMXuoq37WcTC7Pzc1taRFe7wCXZRgURRmGgWFYIpG63X92vEShUOTm5jocf+2vwStWt8PndwlEuRJFhRe00/Tt/A6ZZZnu25b7lwAhd6uyvqYpHUa8XLccNfr3YDiOdQJIZmlbk8TsBW/85vymcr0bulsDRTM6sy+7XFsrtLDtz/RudGvbvGhUUduueNHOZOnOJOnOJGkgsuvKVrIrRbozSbIrWborWRKap9I7rjgMTElJmf/D/DW//DL/h/kJlxLpq4dbfV5fxIULYrHYB4LZ2Tk6nf5P5io9Lf3nRT9LJJK/VBZesboXDEOrdY2N4pyAy3Oe2wCSJEXyMpmq8rr5Q7cZLEUz9UJrYZX+zrx7TXZ/epHaCQQM7brRDy3SA7sTxLujmvfGifbGCvfGCvfGtW/3XNmK9sYK98aJdscKt0c118tdgeakzW6fO3duRESEUqWKjIz89ts5rVJZbk7O1q1b16xZn5yUnJ6WNv7RCbO++qa4tDQyMkqpULTKZKtXrlq+fHl5eaXFav312K9LlyzbvWevTq8XCoXbt29fv3ZtU7MwJ+3SkkXzJVLpXyoLr1jdC4ZhIBhAUG9XZ+TO4WaP2jMcx3lBR0NzOoFB3egxdhPw+KCSGoPdhQTWQOrq7NxiWJphG6X2BpG1u038qm91rD/bsP5E7foTtRtO1G44Ubv+5HWRE7XrT9TuONOw+XTdL8drSlpsgXHBqqqqeXPm2Gw2juPMFsv8H37Iyshcv279d9/9cOFCxIIffjgXdu7LL2cdPnyktqZmzarVKUlJO7bvOHTo8MkTJ1etWHH2bNiXM2dt3bpt+YoVJ0JDRUJRePiFL76YuXPHzrjoixs3rJdKZH+pLLxi8fQ4bvA4YBimw9/BDU5gA4vIdZzFXNnP3OwHK8txHEWRdqeGut1NMGAEM9oghuX+ajuAYVmGucZEtvPpV/qmDPPH/dTfWWzwZgMhpMHs+w3DvC6jVmz7dmvRzPV5C7YVf72v6Ot9RQu2FH29v+ibvUULthTNOlA0e0/R/K1Fsw4Wfb+3eNa6/Fkb8gvrjIG/S011zbffzLWYrRzHaTTaBfPnF+QXbNq4KSoqyul0LVm89NSp01u3bCkvK2tTt61cuerUydNLli5Ta7RqlXrZ0mXLlq3YunW7wWA4ferU9q1bCgsKtm3Z+s7b76xZtfLs2bD1GzZJpbxi8dz+sDRDoBgIIQBFBVYoppk/0h6GoSHEc83ikAxLkwRMk9jNfv/Rs+bE/C2Yvz0xg+VYhmUCLQs/TFw3BZglSNrtw1Cc/P12CUVRJP3Hd8JNhaYphuleilUptH6+Lu+dxRnTV2RPW501bXXW9OVXIu+vyfpgVdZHK7LfX5P14aqscT8nv7Uys6BKF3hf5ff7f1rw4/Zt28tKS9etXbdu7Tqz2bxp4+ZFCxdHRFz8bt73WVnZPy9ctGP79srKqsWLFsVER69atfrAwQOnTp5ctmzFoQN7d2xe73C4Qo8fX7vml/Vr18/+ZvbHMz75edGi0NDQFStWioTCv1QWXrF4eiR6syQp92BM+vbUguMW+++tIsGyrMtjcgFGBPOX1sQ1SQo6f0tSeIMwu7wujrqtjVxuCYFn9N/r37Acx8EomVOh23u+8dQlsdrg6/y11uwLTRC3GX/PDg3BqOxyrVjR5U6Tf6+73yWoNcDM3UUDF8QPX5TYHn6+LnI59Pkp/v11Oa1KR0cbrrmledPmzYsXL9m6ZatKqcIQZN0v66a9P23t2nWXLiVCEBgfH7/ul7WFhUUxsXHy1taa6ppFPy9esXx5eWmpVCxMTIj1en3FRcVpaWlpaWmrVq5csWJFdExsUXFxTHS0wfBnLTUC8IrF0yOpa8mITt0mk5eXVMfEZuwEvBaGxWWqComigiQxEHJrDaIWaYHG0OKDnLEZO84nrm4zNOdXhF/KPiCUFdkcmsB1cAK5lLv/TMJyj8+mMbQ0Swu0RqHBLG2S5ntBB8syGkNzvTDDbldzHOcFHQJxfmltvMEiY1lGZ5I0SvK8vi5/RN4mFNQZtp6qzyzTZJdpm+VOB4CU1hvzKvQQTOgt4OZT9WqDF4SJvEp9eb2ZICnQjzdL7YU1BrMD4jjO58cPnG/MKmlzuH3NMkdxrUGp9YgUzoomC4xRGE7UNFtyq3QWF8RxnN7szSzVpBdrTHY/hlOl9abqZguKEZc9W95WUCRd3mJZfrLm6z3Fc/aX/k6Yva9kybHKrEoNjl7VgHO73TqdHgA8HMdBELR50+Zfjx21WMw4jnMch2Kow26HIAhBUZqmGYaxWK0Wi4WhaYZhEARhGAbHcQzHCYKw22w2mw1BURzHYRim/qKRDq9YPD0SgSgvt+yMH3LCsCcuc5dYXlZSExueuC40alF1U4pYUXY2blls+vao1K0NwpxzCWuPXVwgU1YVVJw/GvF9dOrW+Ow9gQVQSBJLyjsYlrhSLC8/E7syKmXLmbhlF5PXRyRuKKuLtzk11U0p8Zl7M4pOqHXNRdWRsek7j4TPq21JF8vLIpI2Hb+4MCHrAAjd5j47bgEISu67IIjMlFMUQ5C0y4OcSRLvOSfYGFoTm60Qq1zHY4QCsfVEgujAhaYNx2uyyjQihfOnvWUHIhrVeoDjOBAmjkcLs0rbMkvbftxTtvdcw4pDFTvDGnaebkgvUbfpnbFZiv0XGi9kyJpbHeeTJJtP1C7bX55XqUsqVC07VPnT7tLkIjXZLSdU/RPaBZjmPB7EYvM5nJDbjdqdUHvE0RHxO52Q3eEHAISmfq+PSJKEyWj0eDy3qABXwysWT4+kSVKYX3EehNwcw6bmH6louHQqZnFE0vrwS+uyik/XNqWl5B6yu3RltbF55edLa+NLamO9Pntm8cm8sjCNoSUiaYPeLOU4DseR1IIj0emb61oyk3MP6Uzi9MLQysZUYWtpWsGvFqtSoxVEpmwJi1td35KZnHc4vfDXqNQtEkVFav6RUzErLiZviUje4vLe2M80z5/H7UV3nK3PKNMGPsrUrn3nBEKlSyh3HAxvzKnUnooXhSVKDl1s0pvBeqlt1zlBcb1h85l6ncVPkjTHMT6IOBovyihpi89SHo8VihSutSfrykS21GJVaLzIYgXTKnXLQ2t2hzWklWgORbccudh0JLI5pUC9/tfqNYcrVx6qDE+VISg/ONyt4RXrtoJmCAgCSZLAEa/V0WZzaDAM4TiOZRkcR1W6Ro/P6gXtPshFd7KnAv12haYeanfux9I0SVEkc6PVqroPNU2pGYW/Al6rRt+SkLW/SVp4IWl9ZUNim77ZbFMKRLnJeUcBrz237FxZXVxZXWxB5QXQ78osOlnfkgX4bDHpuxRt9RzH4QSSkLPn7KXlDcLc/IoLPr+jpCZOKK/QGEU5JWeKq6MzCk8k5x4KT9xQJUi5lL0v/NK66sZUHIdT8o6k5h+Tt9Wp9U3Y5aUZeP42NMOeuCTeH97odEFeCM8o024JrVHoPCKF82hkc0G1/kScMCxRcjC8yeqCyiT2veGNpQ3G4zFC9LKZhg/EQmOFaYXqxFxVUp7S6IZ2JUp0Zk9tk/ZUgji1uG3zybr9Fxv3nBdklWp3nW3Yebq+TmRVaN07TtUn56ukaqfK4O0Sb4Q8fx5esW4r7C59av5RnUlcXBV9Onb5qbjl+RXhCOblOA5C/Um5B1Vagai1tFVdy7ABB8kMy7I6ffOl7H12Z3vz1miR1QkzcQLuvnrFcaLWsv3nvjl8YV5o1CKBKJcg8eLq6F8jvj8Vu1SsKBO2Fu8+88Wxi/PPxq82W3QtsuL9574qro7OKj5d1ZDkBIzRaduVGgHHcSgGx2fvCktYU9+Un1VyyunWF1XHCFvL5JqGrJKzZbXxJ6MX7w/7Oix+TU1TelTqxl0nP49O3Wq2tkmVVWdil/wa+WNe+XkU9f9hhnl+F5bjuDa9d+2vNd9uKVx/vCa/1nDqkuibLYVztxZllGmUOuBgZHOD2HToYuNXWwp/3F1aJjDVi237Ihp9IBa4hA/Ej0U2Z5RokvPUMZlyncW3J6pZbvSWNuhPJIhSi9SzNxbM2pC/7Wx9doXux33ln6/LC40TtRl88QXqH3cWLztQXlBn6M6tNB6OV6zbDIu9LTptm0onyCw+3SDK1hpaLiRu0JlEHMchCBiXsUutExgtcptTixOoUtvQIMyRqaoUbfUxaTsrGy5pjC0EgZTURB4OnytsLSUprKsLdAMCU1NdHnNJTXRu2VmpqhInUI7jQL+vujG5pDba63W0SIvPJawprY1r07ewLIugvrqWTKWm0WTSWB1qBAVb1TVen43jOIrCldp6mbLWajfoDEIM8elMEofL4AHtGkOLzwdIFFUVDQkqnUAgzjsTuyIydeuxiO+zS89gOCxTVRdVX9SbpV1rTn1bwLIszbGcXO+JymwtrjciOOX0osmF6sxSDQjhCIo0Sq1+P2F1eM7lKXJrDBhOOlwegcSG4e2v7nGCFiqcWguo0HkkapcPxhtldsCP6y2gROV0eeCCGn1asVqmdiUWqBbuK996XvD11qJLRSoUJRLzVfG5SrMd7Npa4PlDeMW6rbA6NHEZu9r0Tdml5/IrwxvFucl5R62ONo7jENSXmHNApRNkl5wur78kUVREp20/n7D2QuIaqbIiLG7VmZjlkSlbBOLcoqqIPadnVgqS8W68chXLsTRNUTTZeboow9A0Q7EsK1fXltXGYfgV32idPM4FFl9oX7728jK1HXOKGYahO18zsFgDx3EOlyGjKPRiyqao1O0ieXlgTds70x3RTYWmmQ5rvYA3cY7jOhan5jqmE1+e38YwVLtBefuwAcvS7Q0IlmUZhursbJBhWI5jZWr3vguNG0/XHbjY1NoGcBxH0yzNjwf2BHjFuq0IKJbBKMotC/81cuHh8DmVgqTAHFsE9SbmHGjTN6fmHckrO1dSEx2bsTuz+ERm0Ul5W21cxi6jRVbTlJZZdKJVUZGcdwiCu8YW6N+AJSmcJNs9sdIMFZhrFVg9neO4gHuF9sUVLmsVw9Cd/Q6zLEPT5DVeGHAShxE/hiEMQ3erKaJ3BizHcSzL0TTTEec4jmEYhmECH1iWCfhuZ1mOIOhOJ7IE2SFjNMtQMEp4QAzFKX4YsGfBK9ZthcXRFpO2vU3fmFVytl6Y3STJj07bBngsHMehOJiQtVehqU/JP1JYGVFelxAauTg1/5jNodMaZfGZezw+W7OsKK3gmFRZmZC11+0x9dyHcsdjCII9DaLsqsYkh1sHeM31wiyHUxf4yurQ1zVn+vwujuM8Pnu9MKuy4ZLOKGYYGidRqbK8rC7WaFVcPTunI34H+s3renCCKm8wJeYpW9UuH4SX1htFSkfAbxNOUJXN5kqBiaVpGCXLBeb4bEVVs4UgaYYhJQrrpVxVk9RGUYE+MXO5q9ZT7/A7Fl6xbivsTl1K7mGjSVxUGSlTVaEYkpC1T9FWy3EcivnTCo+r9c15ZWE1TSl5ZWePRyxMzN7fLClQ65uzS8MAj1ksLyuriTaZZeGJG4qqI4kebgKH4VBq/pHYjF2ZxSdKamKapQW7T32enHuI4ziWZbJKz2w88pHRIge8lqTc/QlZ+zKKTl5M2qzU1gnlpVGp29ILjjdLC0mqC1bN4LkemmajMlvXHqs6ESc8kyCuF1nnbC9acaQSRkmO40oFxo9WZm07Uw+CWEKOcuupunPJ0m1n6lIKVTK1c8ep+pOxwqQClcfXfQe6ef4MvGLdVpAYZLO3QQjgcOlg0MkyjM2p9fhsDMNQFG62qyDYb3fqLHZVcu7BoxELTkYvDY3+yWRVAB4zgft9kMMNmGiKNNkUbYaWnr54rkxVdTZ+tQuw0wzt8zvErWWHzs07G78Kgt0+0Hk2buWp2CWKtrqi6ojwxDV+yM0wdF1LXnpRaE5ZWELWXqOllSAwviXeTVAbvCsOVdaJbDTNAF5UpnavOlz5/bYisdKB4dSusw3ztxcdi26plwOv51oAACAASURBVNp3n2+UawGaYVvk1u1n6hPzVBtP1lYLLRBCdHUheP4pvGLdtgSMCDiOY5mA7UAnawKG0RqEOaVn88rPSVUVFI1znV7zXD69Zw98MQxd2ZB4Kedgx9speVttVOqOSzkHG4SZirb6hMz9hZUX61syErJ2J+buDxzT2laXkn9MZxKV1cVdSFzfIimmKP4x1y2ob7GtD6012tsnEmhN3sMRTUcvNkdlyJul9gMXm3LKtaGxwtxK3a8xQj9CchxndkAHLjQ2iW25lbrNJ2sT81V+XrR6OLxi3blQFE1R9O364pllmRZp4YWkDW6PGcMg0O9qlhUl5x1tlhadiF4Sl7lHJC/LKzvXIivMLT8TnrgOgkAMh6uaktMKfgUhJ0Gg1U1pMWnbLXZlVxeFh+M4Tt7mXnW4sl5iRVDKA2IipfNgRFNhlX7XmYZfjlQV1xqaZPZj0S3lAuOOs/VSlRPFqQapY8fZBo3Bi2Bko8S66deaqiZLV5eD5x/BKxbPbQsEOiJTt6TkHSmpiSmvT2gU52UUh9qc2rD41RfS1vkgR25ZmErbYLIpotK25pSeLa6Ojk3f3SQpkrfVVNYnZhSGphUcdXvMXV0OHo7jOJIkTiaKtp2sS8xVRmW0VjSaD0e3tOk9x2NafthZYgeQJpntWGyL1eE9nyw9FNGUkK/cd06QUqiSKh1JBaqLGa2HI5pkandXl4PnH8ErFs/tjAswldREldZGGy2tDpdOrROQBKbWNWqNQpxAlNoGh9vIcZzVoS6sisotO6fWiWia1ZnEuWXhpbWxDre2q0vAcwUvhKeXaCLTWxtEVqcbFkhsEIK16T1VTRacoGxOr0BsZRjaA+KphW1nL4lL6k0UTVvtvvhsZXiyrEnmvF1HFO4ceMXi4eHh4ekZ8IrFw8PDw9Mz4BXrNodtd0REMyxFMzjNYFcHkmEplqXZO8CAm+VYlqUZlmZY8rp6wBmWYljq7y36ztMVsAzDUhSDUwyCUzBOwTgFYSSMUwhO4SRNUQzN8DMTbjd4xbptYViaolCc9GGEB8WdEGbzIxYIMUGouWPrRywwasUIN076CMrPMGRntw5dmft/E5ZhSJJCcdKL4k4Ed0KYFUJMEHq5KgK1gdlgzIYRAEH5KRpjWN4PU/eEpWgGwSjAj9u9mNEJax2w1gq1WSGtDWozg21WSGuFNDbI5IKtAAr4cQQjSZJh+VdYtwW8Yt1usBxLMzhOgjDmhBCTHzFBqAVGbQjmRDAngrkwwo1iLoxwI5gTwRwQaoEQCwgbfZAeQiwY4SEp9PboarAsQ1IIRgAwZvMjZj9iglArjNkDVYHiHZXgRDAnjNoh1AwhZj9i9KMmBHPghI+icV63ugksy2IEBfgxkwtps0JKi19jg/RO2OiE7R7E7EbsANIe8SBGF6yzw202SGmB2qx+ox12gTiKk8xtcWPfyfCKdVtBMySGeyDUBCJGP2JEMCdBQTSN0gzJ/gYMS1EUghE+BHP6EaMX0oKwAcGdFI31XN1iWZamcRRz+RGzD9LDqA3F3ATppxmMYenfqgmawUkKQQkPjFr9iBmE9X7YQJBehiF43epCWJZDCdrpwzRWWGnxax2wyY0AMIFgFEkxNM2wHMtxLMOygQjLsQxN4wQNY5QbIoxuRGuHFWa/2uy3ASiKkZf9wfP0PHjFuk1gWYag/H7EEnhA4yRI0ehfHAlhKRrHSR+M2XyQzo8YUdwVcIfRs6BoHMHcIKwHYSOKu3ASohnyz9cEy3EMS1E0jhEAiBhBxAChZoL0MT3ZA0jPhaQZF4jrbFCb1W9wwh6IwAj6L0kOw7AYTrv9uNYOy42+Nqvf6cMIiv81eyS8Yt0O0DSG4k4/bIAQM06CDPuPFm1iWJog/TBq80IaP2IiaejfyufNhmVZgoQg1OKDtDBqp2ic+2dvLyiGwAmvHzb4IB2MOymmOy5xeRuDYqTeActNfrML9iME+c+WsCIpxgsRWjvUagR1dhhC/kI7hqebwCtWz4blOIKCIdQEwjqMcNPMv+Y2jWEoDAdASOeDtRgBdH8fgyxLYzjgg7QQYiYp39XWj//gycSyFI3CmN0LafyIkaTgPz6F5x/R/mN5IEJt8StMoN2LEeS/NkCNE7TFjciMoMIEAiDevjANy1sV9gx4xerZ4KTfB+v9sJEgwcvL3DF/Mlz2Ss7e+FuWZVmGpGEQMQKgAsGdLNN919tlWRrG7F6oDUatDENe3vkHJe3Yf/23nfZzHMcxLIURgBfSeiAtfrmqeW4SDMO4fbjE4GuzQRDaeZlN9vqB7r9hBMgwrAciFGa/zOCzezCSpnkP/T0FXrF6MATp90FaEDaQFHLZfIBmGOpPBpalA+H3DuBYisb8iBnwK2HUSndL0WJYCsJsgF8F4w6GpTm2fS3aP1PSP/MV226sQWOE1+NXA341Rvi6utC3LQzL2jyoSOfV2CGMoAI6xQRMY2iaomnm8vLRgXD9nt8Ll5skLMf6EVJlhVq0XpMbppmeamR0p8ErVk+FICEP1AbCWopCWJZlmN/TKpohGIakGeLq/eSNdl7/4GYpGvOjJrdfAaN2hiX/OHO3EIal/ZgN8KsQ3EEzBPdHVcEwFH1VqUmaIQIfaYZkGPJ3TuRYBic8Hr8a8LfhpL+ri347wnIuEBfpvSqrH8YolmUIkiIpmqBoiqYIkiJIGr+8xQkKIyiCpDGC6hwIsj2CdwqBcwmSIiiaICmKZmia8aOkwuJv0XptHozmDQh7Arxi9UgoGvXCWg+kwUgfw5IM2/7Y/Y2A0wzxG4MnbPsBNE7R+G9dgWFpkoR9sB7wKxHc1Z0mY7IIDgCgCkYtFE3SzB/UA0XjDEPduCJYlmZwisF+5woMSzIMieFut1/pg3X8O61/HQ9ESPQ+pdkPoSRJ0QRJoTiFExSKUxhBowSFEzRGUDhBoziFYBRGUCzHXm9fwzAsTtIIRiE4heKB0ymcoDGcwgiqfUtQFEV7IUJi9DZpPYC/55nF3oHwitXzYBjKj1g8fhVKeCgaJ2mUpFGKRikaJa8KCEkjFIN2DNATFITgThh1QKgVRp0Y6WG59g4TTeMEBZM0csOrUTROUTiKA25Q6fGrCaq7WA8SlN8DaXywjqBAiiZIGrsm/xSDdVQFfdnSj2UpnARhzA6hVhhxwpiL6GQPSdFYRz1cXxs0jZMU6kdNAKj0wwaa6V49zh4NRtAKMyjW+1w+HMMpBKNglIKv20IoCSEkil8eoGY4ECLtHswIIAYAMXlQH0QydPs9jxMUhJIwSl5/HRilMILGCMrkggVqd6sRRPDuOOjN0xlesXoYLEsjuNMFyv2oiSChQMAvB4L0EyREUAhB+kkKCWgVRnot7npJW0xFy6682tV5Natza1bm1qwqqNtYL7mgsRa6QWVghWKKwkkKIkj/5atBJAWRFEyQIEnBJAWDsMHllYKwge4G87RohvRCejcoR3AXRaOBnJMUfFX+aZQg/TTdbkLpgzQac26z8mxp07bc2hW5NStzq1cX1K+taDnQLI+1uOowAuA4juWYQHlJ6kr1Xr44RFIIRvh8sM7tk6G4i39j/69AM6zBCTeqPQYn4kdJP0KAMOGFCC9E+DoFL0RAKBkYwLO5kTSxbXO6eHGM4IsTlR+Hln8cWv7J8fLZZ6o3pAkT6vVt1kBDhPUjpNePd1yh42p+hIRQ0gtiKhMoUANam5+k+Bda3RpesXoYFAUDoNIFylHcSZJ+gvQRhA8nQJwAccIX+IiRfpKCOI5DMLfGXFhYvyGx+Muo3LfjCt6Kyn8tPPv58KznI7JfuJjz+oWMd+MKZqSXL2psjXKDMq7dKM7bcUGSBEkSJEgvSYIEBaGYG/C3OX1SGHOwXFf+t1mOgTGHwyvxQRqSgigSJkgfToA4CeGEHyd8OAESpI8gwYDpIOBvbVGFp5etiCt4P7bgzdjCtyPzXj2f+fy59CnnM14Iz3j1Qsa7l4pn5tdukmmyMcLFcRxFY3in6iVIH0kGIn6ShCDU6vLK3D45Pzb4r+DxE01tHqHW6/RiIIx7Idzrxz1+3OPHARBzg5gbxFw+zI+QHMcanXBYifzz42XjN2aHLLnUb1nK3T8m3f1j4t0LEu9emNJrVXa/pSkP/pL19qGyvXkKuRkkGRbFKZcPc4MYAOLuyxcEQBzw436EsANYi8bToHK7fDjfAunO8IrVk2BZ2o+YHR6JF9ZjhBcnfBjhwUkQI30YeTlCeAgSYlnK4ZUU1K2Pyf3wXNqUiJypofEfrDv2/tJNry1e+tL8lc8s3vjClmOvHot760Lm++cyXjqX9nZK6Q8SdRpO+RmaxAkPTngJ0ocRPpzwYaQHJ3wYAWKk14cYHV6Jx6+maLQLq4KkUcCvdnglMGYlSB9OeDHSgxLeQMBJECM8GOFhGIJifEpjYkrxomNRH+0Pn3f4wryNh2avPfT2mi3Pr9ry9MZDUzadem5H2Gtnk9+LyH7hTPKLEZkfFjWstbkbWZYjSRQnAIz0tdcwAWKEDyd9BOFHcJcLVNgBEYRauv9ktW4OQbNqK1SndKuskMvXLlEePw74MQDE3D7M5cOcXsyPkBROF4utn/1aMXJFYq/5scGLkgcuSR4+c/PIL9aNnLlh5MyNI7/aMvr7Pf/96eiU1WefWnX6seXn3ttXkVVlhggWxWmXr/1qHcHtw7wQ4QZxmRGsUbjkZhAl+LHB7guvWD0JggQBUOH0SUHEjBJelPAguAvBARh3w7gTwQEYc+Okn6JxraUgtfyHC1mvxeR9ciTm3TkLp7765uMjJj469MExw4aPGzJq9H2jR48Zd//TLz3yxY8v7jgxNa74jfCM1y9kTGtoPYFgDorGUAJACQDG3Uj7xd0I7kZxtw8xOn0yp1cCY/au6maxHAvjdqdX5gJbIdSG4G4Yd8G4C7kSAIQASBrBCHe5IPJ49JItR1ev3bX6u4VzX3rvwwcfn/rAY2MfGDd65OT/PjL1iZfefvyDGY9/9dMLq3ZPPZXyelTea+fSXkorm6e3lVM0RlB+GHd31DCCu1ECwAgfirsASO30Stx+JUGB7fni+Vs4QbyxDWhQA212yO7FbV7M5sXsXszWETyYHyEhlDpfIn9uS3bv+bF9fk4ZvDxtxJdbBr+38N4XPxz24rT7Xnh/8ONTBj08afCY/46Y8MyT0z6bu3DZj1sOTF8TOndbRGphpc8PgShl92BOH2bzYg5ve8TpxVwg3moG65VugRqwAWiPdah5+8MrVo+B5WgIsTg9EodX6oV0KOFGcDeMOTsHBHdRDKYx56eWz43MeSM6939Lt7w36dmHRw0e98CoRwdOfn3Qk28FjZ8a/NjLQeOe/0/ve//v//XrN2jooxNGzf5pypnUD2Ly347KnVYjOQxhVpJGIMxx1fVxF4a7fZDW4ZU4PGKPv42ikS6pCpLC3KDS7hG6QDmEWhDMdU09wJiToECMtJXUXNy8f+Mve/YtXLv75Xdm3PfghPsHjRn+6KT+j7/We/zLQU+8HTTuxX6Dx4x66OFJT/736ecnf/jl09uPvxtf+L+onLcTS75UGbMoBkUJ4JqLo4QHwWwAqHR4pU6f1I+aWY7vZv1NaJpRW8EahatBDagsfpsXNwGoyYmaAdTixUxu1OhEnT7cBxGnCmWPrk3ptzpj4PK0ETM3j3p91rDn3nng5Y/uf/V/A56b1v+Z9/v+96XeIx7tNWDY3XcFBw24d+zoR6Z//OnKzdsXbdu3fMvu1LwSAIQBiLQAqMmNWr2YBUBNAGrz4jYPKtF7axSuGrlTZgQxgv81uym8YvUYKBrx+NUOj9jplbhBhR8xXV4pww5jTgRzIJidpPxmV0Nm5YLk0i8upH/78Zw3H37okfuHPzLj8U9m/3f6/97+6eFpsx94+8uBL3zUd+ILQfeODho4vNc9A/7z/wb06XPvKx+MO5H4YWr5l7H5M0RtURjhxQgAwWyd5NANoWY3KHd6JQ6PyOERw1hXWLqzLIq7HR6x3SN0+mQeSA0h5kANdNQDSrgwAsirKNp2dN/mAyfnr9kx5okXxg55ZNpDb379+KdfP/vFlM9+ufe1Twe+MGPA02/fc9/ooAH33//g+P8+8tikCf+d+urE1dtfTSicE1/0UUrpbKO9Aif9gcsGqhrGXDDm8ME6h0fs8IjtgNDtV5JdOkbak2FBlBDqPNVyZ63S3awBtHa/2YUYnYjJhZjcqNGJmFyoByRi6oyT9xX1X5c9ZF3uiFlb7n/xg6FPvBLy2fYRH84b+e6Xw9/4bPjrn4dM+SB43OSgex8KGjg8qFf/e+7q06fvoMkvvLFy+4GN+4+t23u0sKLBDVImN2ZyIiY3anQhJhdidqNqi1+gdlcrXDUKV73K7Qa73rCI54bwitVjQAnA4ZXYPWKnV+bwiFygHIT1EGKBUAuEWiHUghIuH6yrEu1NLf8qruCb6bPfGT54wkfDXp074cPFE2Yuf+r7pa8vf2X6qvumzhjw7LvBDz8RNPSh4H5Dg/sOCRo4/O7/9L/rP/2nvjv2ZNLHmVVz8mqXaMx5OAHAqBVCLRBq8SNmH6x3+VrtHrHTK3V4JTagxQfrmVtu3s0yNAgbHR6RwyuxAyKHRwL4VSBsgFBzIKsobkNxR7NEtO3ImU0HzyzduOPxyU8O7zfm65FvrZr45bIXf1425cd5H2x4ZtrP/Z+bNuDJN4KGjek9YFjvPoNHDBsx4fHxEx4f+/KLY1ZueSOx8LvU8lkVLdvdoAIjAAS1wpg1UBVeSOsC5Q6vxOmVOjwSp1eK4O47YR3nfx2GZU0upFbhrlG4ahSuWoWrsQ1QmkGNHWqzQXobZLBDbh9W0+p8PbQmZFvxw3uK7/1k9eAp74c8++6wN2aOm7Xxk9d/mvn6T6/NWP3gOzNDnn0veNzkoKEPdtzY99zd9557+j099c01u45sOHB838kLYnmb24tobLDOBukdkMrql+l9AjVQq3AFQrnMobND/Iok3RNesXoGLEtDqNkGtNg9IqdXZgeENqDF6ZW6fQo3qHCDci+kQXCXVBuXXb0gr/6Hxas/HjPsvzOGv7Z87MerH/ss+0x8+qmCvd+Erph9evCsff2nTAse89/g/vcFhdwf3G9o0H1jgkPuv+c//e8O6vfxvEnpFfMzKudUifYAoBLCrG5Q6QYVbp/c5ZPZPSKHR2T3iB0eiR0QunyyWz8wSNKoC1R01IPDI3Z6ZU6PxOWTu30KAFJDiMHuMF2IT91+9Oz2Y2eeeumt0QMe+ubBt1c/+tnRmVvzLpWEr4jcNPvMJ0sixrw7M/jBCUEDhgUNHhHUZ3DvQQ/e+8iYp6aMf2bC+OdenrjzxLS8+nkZld/JdAkwZvNBWjeoCFRFoHfl9EodHpHDI7UDIhAx9tzlxLoQnGTkJn91qzOgFlWtziq5q0HlbmwDBGqgRQO0GnxaG7QtXTZ1f/5juwrGzd0+5Pn3h7388fDXP39y5sKLycWJW5L2fBU6e3nyC9+dGPjMe0HDxwYNGRXce0DHjd3rruC7+w6Z+r9vd4We33r4ZGJ6lslkU1mhZq2nsQ0QqN11ynaxDIQyqVOk9/EDg90TXrG6PyzHcQyNefxqOyC0e0SBgUFHQDY8wvZxQr/S4RHVSg+VNK0+Hb5+3LjHJ40Zv/ixGUsfmr7j1SUNBdKsAu3m/aVz9pVOWZoS8ty0oPseCg4OCe43NDgoJHjQA8HjJgffP+au/+v7wOjhmw99UNK8pFiwTm5I8SEGh1caSPT6rcMjxkjPLa4OnPA5vZJOiiWxe0R2QGwHhA6v2OWTAX5VZYPg4JnI4xdivp73/dCBD3w96t0VYz9dMnrG2e+PNkhs4Reb1u8u/Xxn2ZAvt/ceMTYo5P7gPoOD+wzuFTxk4LCHnnpx8lNTHxs/cfxnsydG5s4ubFhS0bLLCjQHTBMDFR4Q7Mv1Lwn087rDHLUeB4iSjRpPpcxZp3DVKlw1cldlq7NK7qqRu2rkrmqFS6z35TZbvzlT8eHxspdX/Prws68PfuqtUW99MfLtmR8vi6gt0SVekmzaW/Lj7qp3lqYOfOa93kNGBvcdEhw8MDgoJHjwiOCHJgYNuO+uu/rd98iYn7atPHQm8tj5qPrGFo3BVa9wVQeSu6yXtZfzUKd0e+B/bRkEnn8RXrF6BiQFu31yq7vZBrTYgBa7R2j3iOweoQ1osQFCh0fiBpUyfWKlaFuZ4PjMWV8NHTxs5tQnlr/5evjy0+rylooq7dpM/bxc8zcXm6fNOtBv/HO9B49o/1cHhQQHhfQdOb7/pFd79bn3nqB+b306KaV0RXnLhkb5abtH5PK1OjxiGyC0AS32a7buZj9qucUrkUOY/bJqituL7xXbPSIb0OL0Slw+mcagTszMO3I+es/xsElPTH5sxP1LX375l/feyzwZpqoVxhZqlmYb52boP9tX8uRH63qNGBscPCg4KCQ4eGBw7/69+93/8OSJr7z78JNPPvLMi5O2HJ1e0ry2pGmDXJ/i8slcvla7R2QLtBsuJ2oDhHaP0OmTdh9XID0Itx+vVbjLpM7KVmdFq7Oy1RlQkRq5q6rVWS13CdTAsRzFZyerPjxe+sSs5fc+/caAZ94bOvvQwv1Z1QJzYalubaZuXrZx5sm6NxcnDnz2/d5DRgYHDQgOHhjce0BQ38F9Hn6y34SpvfsMubtfyHOf/O9wWPSJyPjUvKJWhVqotFW1ustkznKZs6L1SqiRu6pbnXYv/2KyO8IrVs8AJz0Or9gGtCvWdUFkcze1qC9UiraeS9w2dvKzY0c98M5LDy3+YIqyopjjWB9C7ReBc8uAZSfqPvh0c5+Hn+g9ZGRw8MBACOo9IGTA0AcmPd937DP/uWvAqMmP7r+wQCDfXys5qLUUBZ7RN0zX6m7yQbpb+SqL5RgfbLS4BTZ356poz54dEJrt0rpmUURienh80oLla4cMvf+5Z+57743RO39ZRGAwx3HNFuSnOvDHTPOXm5PHTJ3ea9ADwb0HdFRFr14hQ0c+8OJ7E15+/ZnJk8fPW/xcVtXGasmuFuV5i1vg8IqvJOq5qk7sgBAjAN7A/a9icSPlMmdANgKhotO2qtWVLTBvSxTNi2yesaN0/NRPBz79Rr9np42asViocnIcZ/Hiq5v83+dZvz9Y+eEX+x564MmgwVfd2AOGjnpo8tR7R4z9v3sGjXxq0i8HfwmLT49Jza5vFkkUplqZq3PSHRkolTp0dph/ldUN4RWrZwDj9t/QqoByNOtsJU2qsCbVqd27fr5v2KhRj4567uXh77zxUHFqFMdyNi95OFO15Fjdxp+jJ77zbdCwh4P7DO74YwcHD+zTq+/Qhx67f+qHd/W+d8jwYWt2f9qkOljferxVl2x21lrdTTdM1+ISAD45Rd+6lXkZlvb4NVa34IbibQdatMaWgsrqmNSsyEsp0z/+fED/IU8/PuKFl+9buPgjp93GcVyN0rP0vGjtrpKVH60Z8ugTvUOGt3ewggcGBw/s3XvAgP6Dprwy/q0PX3pm8iMfznowMntxS9uJZmWY1lp8nVJeqQcb0Ayh9u7kI7hnoLNDxWJH+XWyEej3lAhtMeWaTQmilbGid5cfH/L4i/2ffKP/cx+MfuvzGoGA4ziVHd0QI1l8qGbLoovvvvW/AYMfDOp8Y/cOCe4z8N7xz46Y8vZdfYcPGf/Qd5vnRyVlx6VmF1XWNYtba6XGMpn7+qRLpA65CfwXl5Hk+bfgFatnAGE2q7vR6m6yuhut7kYbIAx8DLTuTY7qNnOuUB0p0l5csvi7gf2HDRw56IHxQx94ZNC0DyZv3Lhu0fq938w7+vOHG2a8/vHoEU8EDR4VFHhMB4UE9xsSNPTBe/oPG3rvyKdffPWBEeN6Dxny+co3ypu3NasjxJpYva000J2yups6pSu0upvMzjq3r5W8hcYXDEu7fUqLq6EjPxZXo7WTighVDVnF5YmZ+aejEqY8/0qfPiH3jx7ywLjBY58Y9vX309dvPzh30enZXx1Z+O7S55+aGjzq0StPt6CQ4P73Bg198O4BIyZOmfj+F89OmTr6jQ9GnIlfINadEchPKw0ZZmedDWjpqIGOpC0ugdXdDMJG3vnFX4JlWLX1dxTLldNoOZ2v2pUs2RgvefbbNfdPfGbkhKcHPfNe/0lTp33+xqZNG39cdnrW7GOLPlj31tT3Bk94steQUcEdN3bfwUFDRvUa+ED/R54Z89rHQwcPD7p/yIylc+LT8hMz87JLKuubhHVS/Q0Vq0hka9Z6UN74ovvBK1bPIKBYFle9xdVgcTVYXIJAxOputrqbDPYKuT5Zoo2RqLK++npmn+DBQcH9g/sNDO47sG+/fiEh9w4YMW7kuDGPjhoTMnxMv0GjrnSwAop17+jew8b0e+TpB1/7ZMSkl+8ZPOj9hW8V1x5VmdNEbZEqU/ZlsWyyupsup9tkdTeanfUOr4Skb51jPYal3aDS5KwJZOByPQgCvRyru7G6sSGzsCK7pPJEZPxjE5/o3bt/UN+Q4L4Dg/oMCO7Xf+DQ4cPHPTRm3JixI0YHDR/TO2BU1lmxRk246/7xDz37+IffvTzlzYnPvTkmNPJrie6cWBMj16fobWWX023onHQg4oP1vLngX4JlWYUJLGixVbQ6S8T2QqGtVOIoEdtLJY5Sib1YbE+pNR7PURzMkO+/JJvy1eoRE58Z89gTD058dsSYR/sNCAkJGXr/mIdGPjp67MOjRt/3SO+hozs6WEFBA/uFDBz44P29hjw4YNzT49/635jRj939wLAPFn19KaswNa84o7Csuq6+Xqwpa3WXy5wlYnuJxNGeB6mjUGRr1PCK1R3hFasHwLIsiJjN7Vp1bbC6BVprkVQbrzCmyNTF8+Z927/fkF739A8KGhgUNLB374H33NO/V+8BQX36BfXp3yt4UFCfQcHBIVce030HB90/NmjspH5PvDLhg68m1NRwtwAAIABJREFUTXr2nr4hM75/obLlYJslS6pLUJtyTY7qDo3sHIyOGrtHSJC3zuKAZWmnt9XoqLo+P1Z3g9FRU1xVlVVcVVojOBWV8OgTz/UOCgnqHRIcNDAoaGCvXiG9evUL6tM3qE+/oOABvfsMCu4zqNMI0oDgISOCxz9z9/DHRj478bMfPvjwvWdeemfEqZjv2qzJcn2KWBPTZskP6OINfwhesf4qLMsqzWBuk6VIZCsUXhUCohVdrj2ZrzxToD6Uofz02yVjJ05+8LEnx0x4csyYcX36DLr77sCv2bd33/59gwcHX3VjDwgOua/PI48Hjf7vgEkvTXzni/EPP3b30EEfr/oysyI3v7Qmu7iiuKKmXthWJnYUXpd6fou1QeWGMd7BYLeDV6wewB8pVqPSkNGqT1Kbs/VWwY8/Lejfb2ivXv07v6YKDm5/agcHh1z5Vwf+2P3v7TPh+X5Pvh7yxEvjp88dOemVewYO/HTpB42SGJOzXKZLVOhTf1uxqu0e4S3tYzGE29dqctbcqB4ajI7qwsqKvLKaKkFLZGLKU888FxQ0IKjTa6rg4IGBeggKGtj59VVwUEhw36FBIx7pN/mV3uNffuzt52b+/PpbH0x+7YPRYfGLDM58jSVfoo1XGTMtLkFHR5NXrH9Ih2JdIxiFQluhyFbcYg0rUB3PUSRU6c8WaV+e88vICU+Pfmzy6AlPjR7zSL9+g4OCQoKDLv+gnW/soJDgPoOCho0NHv9Mr7GThk55e8qn80Y99NiAMSPnb1tUXF1fUduUU1KVU1pR26IqE9kLrks9V2BqVLn5PlY3hFesHkBAsUzOWpOz5kZ9i0alIU2kjtJaC12+ll927Bg4ZNQ9d/e9WrFuFIJCgvoM6jPysZDn3u3z5Dtj3vzs/S+/Gz7m8b5jHlp+cLbOlm121sp0SRJNgslRY/09xbp1dsAsSzu9MqOj6oaKZXHVF1fnZheXC8Tyoorq99+bFhw8sHfvkD+uit79gwY90HfSSyHPTes9adob896d/8vzU16fMGPuxIzyXXZPrdZSIGyLkuvTzM663+pu+iAdr1h/iWsUK7/Jkt9JvUpE9pO5ysMZrRl1xtQ68/SV+0ZOev6hR58YPeGp0Y892bf/vde2RToZXAT1Gdj3wQkDnn2vz+S3Hn1n5hufz/m/+x4ZNnHM5uMr61vE1Y2inJKKrMKSipa2ApHjhorVpOYVqzvCK1bP4P9n76zD27jyRn3v/b7ddpPilra7W4YtpE3bpA2TmUEWmZmZHWZswA42TZomDieGkCF2zCizLcmSbMliZs2IYe4f47hpktJu1qR5n/PoGY1HmjNH8rz6HYTbsbiSdq6kky/t5kraeZLOn4zFud1DPc3g1yiA4TPnTv/zzQ//9KdnHv43fualidFXc+e8OGfOi3Offm7uX994aYnjB56OH3hFfROatSo87X///vHby/51/EqcVN3DlxKIjMuD9HM8SQdsLK6kg3v/vHxpF0fcKlWSLJPbV1CmpnElHXxp1wOtej+ljt4bd+7V9ZNHhyijCYmpzz778l8e6Lx+Pz1cFHOefu6Zv3/w+mrMh17hH6PSg9eHR6Z/9dWSDyLSl7cO/CDXkFnC+l7a91T2jV+qEuRLCRqtAJmo6Y8yKtBUdvNgV9X0/eyxgSg+VkXbVUq8QeC2jADbjhS/sWDF6x9+/v68Be9+uuC5v707Xr/9yBd7ztMvPP/KK287LX3fM/wTVIJzbP5Kb9z/eeHdT5znfX+tYIjC7uonlVfdq6prbB1k3hkQVg4IamBZDoru9vJq+gRV3VwiU4ms7jgNQYw1M9AZZDxpF1fczpd2cSXtXEn7xP1aIOsZE9zrphyn86qU2lFCf9O8b1b8v/99du6cF+c+8/L4//MzL815+a25z70699mX4fTMM3994aW//2Pe4ndcAuOOXj7UK8s+ffe9lf5PPfuiA+6r6rZDGj2LK2nvHzkzSC+eMBZPSuBJCROn5ohbZWqqxTp5swPYIKsCYPAkBL60iytu50k6+NIurriNJ+kUyLr5UkLXYPmNu3f7SCN0tnTfkVMv/vX1p596bu7cv8595uW5c1+aO+eFuc++MueVt+Y++8pEOTzzwmsvvfnxWwvXLAxKy77cuLeVk1WU7Ymet3Dp+7uOezFFdxQaBoN/t5t6ks67K/ypSpAAn3fCnVq9fNLKYdYwJgLu9gvv9vKre7jV3VxYXdXd3Kpubt2A8NQ92qarA9fb2CQOcLqM/OVq/39+MO/dTxe8M+/rN99865lnXpwz9+df7Gdeeua5V5//54dvzV/yOSoq/tj1/d3CyH0/vvqV01P/fMsjYc2dpsskporQN3T1VkVVQ1fToLCym1vV/dOpa/r4NX28qh7eKF+DjMeahiDGmhnoTSq+vJsrbuNLe7iSTo64jSNu5YhbOOIWnoTAFNa3E/eTxi7JNVQVyE9JTZk7969PPfXcnJffnPO39+Y+/9rcOS/OefWduR/Mn/vhl3P/teD5f331xrzFry/3XR6ehdlwaPOt9nMcW9zBa39+Z+GL77+d9W0IT1qv00tYwobWob1k5jWetBM+F0fcBp+aL+sRyHo54hYlODbJVWFKgMkRt/Jl3QJZL1fc/mBRcCWtNHZF2Y1L7d2DPKGovbNr0aIlTz313Jy5f53z6ttzXn1nzpwX5zzzypy/fzD3wy/nfvjlnA8XvPTJZ+8tWfQv76g1cWtDtp/d2y4p5bKzNod/teQt96APrtVuAPV0NcgiM692kg8z+Pd4ErgoWuHEl3YJ5X1cSTtPSjCMr5KF8AfgyrRVvfzaAUEDSVzbx7/Vyb1F4N7s4JR1cyt7eWWtzJizXUfv0kZ4mg6KHJW7781PF77z0fzXvnZ+87PFLzz/ypy/PP/gF/u5D798+/Ml77uFLI/Mw24s2l7RcZZnCVh36v+8/vHri+ZtLEojjoyxeIrGdsK5a6U36/sq+oWlBO6tDs6tTs4dAremj99AEtcPiSq6uEyRZqrLBuExIMaaGZjMgEDazRI2ihSDYgVRIOvhSjrZoiamoI4pqGcJG/pHz7QO7REp+m2QsqOz5bN5C/7f//3LnLl/nfvOp3P/9dXcl974y2vvzfngi7kfLXx+octLS7zfcg740D0In7Ep+diV0F0nYw9d+GA15s9vvOMQuaiq9bDBIgN0wiHGxdbBXXReJUfczBTUsYRNXHEn3PVAoiTypV0sUaNGy53kiR40Wj5b2MCVdEiUJJFikC/t4UraWYIGpqCOLWpmCuru1B++fa+aL5JLFMCePfuef/7Vp/787NznX5v73vxn/vHRM3979y9//2DOh18+88niFxd7/W2l31vOuHmouLBd36ccvRpXeDnx4DYn33+tcX95WyF6jN9mg0CxYqiDtL+X9j1TWM8U1DMF9WxRC1fSJpD1SpQkkWKALWrlSQkm8+T1QJk1yDSG6j7BnW5+O1XaRpHWE8V3evhl7dzSDk5pO6esjZVwrjvjfO8AXS4HzCeqCfOXO/3zvU/enffNa1+7vPHhZ8/99fW/vPbunA++vP/F9nnbGf+hd0TA+kOpJ67FHTwXvu+HVxe4PP3WGx4JK+vbr0uVJhaHf+1WxcmLFTdaOKUd3LJ2Tlk7t7KH30gSw8OWa/r4tzvYAsXUrP2G8OsgxpoZWKwmiZLIENTwZT1SJRm+WQvl/XwJgSNu44haaJxbNYScQXqx0aSyQvqjR4v+8fe3/+d/5syZ+9e573728gLHFz7/+vl5i5/9dPFzny1/Zbn7+55rPkPFOsStx60/4Ja27bWvXf/n759/5LH0xNVYjZZps1l4kq6G3o09lBNMYT1H3MKXdMIDlu/PWT7EFjWxRU16o2qSi0JvVLCFDSxhvVhBlIwXxQBf2sOVdLBFzVxJazf1+6sV24m0MY3WxGAwAwIwf3n6+aeefn7O3z985cs1b332zfOfLXr20y+f/3zF31YGvO8e9ol3+BeYRI+MnUGbjnimJCx2/2iF4yvpW77pJp81WdQmM0Ckn68lZJOZ1+BIji8hCGR98FIjEiVJJO+n86pF8v7JX3hlFgAazHWDwmstrGayhEC7P3s6UVzbx79N4N7t4RfeofgerDnXQperDCKFPufwhQ++WvaP9z9959OFr33t+sIiz+c+W/Lcp1899+mi5z5b+spyv/c9wz9DJTglbMSuP+CSsuXVhe5Pvfne0uBPz5ZtkEllAKjrGRg68kPx6fLmG13CO13cewOCBqK4jSLtpEk7adI2qvR6K7Oql6fWIZ/mdAQx1oxBDXJGeZUsUZNESZaqyBIlSTKhLsWgQN7bQzle25XLl3ZCkA0AZWvX5r/yyj/+53+fmfP0i2+89c5bK794yzngQxf8e+4hH/tGrQxPd83Y4Za8fjU26rUlnn/+1xfvu67YfjJaIG+3QTa1lt9BPFjfvZ4pbBCOTw//0+nECqJI3k/nVfFlXZM5RROMxWoQyHoZvCqhrFeqosDamEgixSBH1HiPsPZO/TmBVG0wQd1dPWsc3ebMeeFPf3rm+edeeevTRW85eLznvOxdj/B3PYIXBoR6x+V65uxxTNyy0MtnmeMHq73ejsr+vKJlv94ottksIll/Xc+6LvJRobzv/sT5D56RzJW0j/IqVAATmVTw38BqtQ2MyX+8N1rVx+8ZlRNGZF0jMsKIrGdUTqDJ2qjSFqIo/Vybx/HW9lGZxWQd5mqSM9a/8smSV9//7J1PFry+2P0dR9S7Tt+84456zz1knlfYssgc96wtfpnbl/tHzJ2/+ql/ffmZ79KDxUlMAddogngC4ZkrZQcvVlf0CptIknaqrIcuJ9BkXTRZ96i8h65oHBKeuTfaThFbLEi3i+kIYqwZg86gGBPco/OqxUqiHBiVqoalaopUNSxRkqRqqhwYFch7Gns31fVskqlHIAiSyWXbt25569MFf3r2hT899dxTL7/93Dvz5n256O016C+9Ipat9vzn6oBnv3D+03sLnp8/b1nwF4XF4QJZJwRBFquByLh4qyWKzLymABhS9TDsKqmaIlVTJEqyVEXhiFuonJtyzeiU9I6Ta0ZonFtsUbNMTX1EWmQVwGAI7pbXZ3YMXNGARrMZ6uzuw2Lxz734+v/987N/nvPSs6+999bHC99YiXrfyf1zz5X/XIV9bUXAawsWzV/+thvuraztS+91HNebZBAEKTT0hp4N9T0bBbI+lZYlGf+hcD+pyBIlic6rYvBr9MbJXnVl1sCVgGfr6JdbWV2j8p5Reff91MtQ9NDlJLaqooe3vLAl6mwPV6qBIIjC1eRsPP/GQqeXP/js/U/mv/fJl2/N++LdFV+9t8p7uYP3Z15B/1jx9bNfODz14efPff7Jmohvvi/ZwBbxIAhSq8DzpXfTCy+Vd/OIbFUvQ9H9wOl66IqeUXlZB/uH2hEqd7JrDhB+J4ixZgxWq4Un6SIyLnLELTLNiFwzItPQ7nuLIlVTVCCLzqu50RTb0LtZDXIgCDJZtFduV7hEB7z28fy//P2NPz//wv/89Y2nX33jL6/946l/vPXn9z9+Zt4XH3u6Rm8IuHnvoEzOgSDIbDVRmKW3WmK6h4/K1BSZmiZRkWA1SlUUmYYm04yKlSQqu3yEW6EzTE3vOJ1RPsKtoLDKRIpBBUCXwE5VjSeZZkQOjPSP/FBSHzI0ckdvNEIQxGRzcrfv+XCFy4vvfPK/L7/2p2ee/9+5rzz9tzf/8vqbc99459XP31/p/XZ0zheHioOJ9GtWmw6CIEAnaB3aW94URmPfVIEsmWZEqqJIVGT4XFLVsEwzwpN0kBhXeBICUiX4b6MzWm538w5XUOuJ4gEmvMrihEXkvQwFhas+fY/+ya76jHKiSKGFIEiuMZ24WLYQm/TSl26v/GvB0+/Mf/3lj/780lt//tt7T73+zz+9/ubLX336NW5R3KagisazYrUFgiBQq71QOeCztWr/7UEaW93H+NmJukblQyxVK0l0tJJ6pZWlRBbHmq4gxppJAFrBMLOcwiqVKIkqcAyWFpzgbTXIHuHcvtEYea97vURBhF9F5zK+u3QlemPMqgivj5zWLHVfsNhzxeJgB+cYj5Sd4aV39zA4PTbIAkGQzgT00y5euuvd3L9TrqKqQOb9U4zINCNSDVWuGVEAdJawcXC0WCDrsdqm5jZts9kE8r5B+vkxQZ0SYMiB0YeKQg6MylTDBHLR9Tp8P+2s1qCCIMhi1RMG+rYVHnRP8F8S5PGpw8rlfotcIx2iUlfl7nA9ezOxc/CsQiWCTyFVUut7Nt1oDBtmlWm0HAUw+lBRq4AxqXJ4hHuHNHYF/n2A8G9DYisO3aacaxjrZyhJbFX/mAJOfWOKvjEFkaUis1Xbb5Pf23Ev7mwXlauEX9VHV247RXBN3Pw5JulNt8jXl3u/4x74NdbFLd5n3cHYG/dOsEUsCLJCEMQUqfKv9CzefnP7jYEhporIUsHvPHGiAaayj6G80sraU04ijMiQfu3TFsRYMwmLRccVt/bRTo8J61QgUw2wFBo6fA9VAHS5ZlQB0DVazgjn9vW6kBtNkaPcKoNpPAwymQ0j3JH6vqq7LRdvN9Q39tcyeQMGiwxufTFbDCIFqaFnV/EddOvAHoVmRK1lKzSjSoAu09AUAF0B0GUamgpkShRDQ/RLRMYVQC+YwqLQ6qUkZskA/bxYMagEmUpg3N8TRaECmQpgtJNceLHKt753h0BKttrG1wjWgIohBrGu53Zr97VBagVHUq8C6Rbb+MwdeqOCwbtb3hh9pRZDZZUBWp4SHHvQVUqAodDQVcAYR9TcN/IjU9Q0mSPSZiVqrelSM3NPKfFev4DK1ZA5aiJLRWSpBpjKQaaSyFKR2KpRvmbXneFP1t123n3vZh9XpR3/tSQDzO1jypP19OM1Xafutlc1t40JRo3G8b7poN7SSBYFFDb9Las0t6RvkK2k8TTwOw8wlfBZSGwVlaupHRDsLSOdrqFL1cha0tMXxFgzDEDLJzKuDIwWC+W9apCjBpiwVxQauhJgKAC6ChjTaDkcUXMNIffSXb/azi10Xp1GyzY/bk0QK2TVGmQi+VA35buSuqBr9/ADoz+qQTag5So0owoNXQHQlRq6AqArNKMagKUA6CPc292U73jSrvu36Sn7NcqVdPRQT41wK5UAQwNyFJpRuWZECTAUmlH4UQUylSBjiHHhak3wpcqQTvJRnqRPa5TaoMc0qpstOo2WM8ZvrOlYd77Cu6ojgyVqBHR8Dci+/4b0++VM14Acobx/iHGRyLis1vIm/9pnH/1Mxc4SYtFtchdNMiYCKFwNia0is9VktprEHpcKXQCUtrEd9tS+u7Ys6UxHRT+PLQV1j1vFymiCeDJtHUmQeanv080VS3bc/a6BwRYCDIEGfjf4nclsFYmtGuEDA2OK4zXUjVf6OqlSZKat6QxirBmG1WblSgid5KNk5nW5ZgTQ8VQAUw2yVMCYCmBotBw1yFQBTK1epNDQh+gXSmqyLlb532yKbx86SGVVccQdPHE/T0zgifqYgvpB+vlaQsHlu5jrdUGNvdv5sm5ALwJ0fBXAUAFjKoCpAsbgpAE5GpDNEjYRho8Ms0oMpqkfLas3KSnsmz3UE2xRM6DlabRcNchUAWPwI7wBaHk6g1Qg6Wvu33b5Lu5ydeQ9wqYBWjFTcI8rJvBEQzxxP1vUSmXdahsqvN2SeLXWv+ReXM/wRSXA0OpFapClAsbLdqI0NCBHoaEPs0o6SId40k5kTawngs5gudbOziruPttIp3BULBFI42seTGSOisbX8KS6HqZiU0nv4h1V72+45V3YuOXW0LkWesWwqIEqaKLy62miy928TaVE1NGWhZvKv9h8J/1yT/uwRCjTjgk0D70nla+hCwEaV325hZV3oa+4ga7RIuHytAYx1szDYFRROTcIw0V0XrUKZIJ6ISwqNcjUaDlqkKUGOSqABehEWoNEoRkhMi7Vdu661ZxU2hB8tRZ3pSbiUjXqSk3ktTp8eWN4ZVtOc/8xtrgV0Am1Bimg48L3ejXIVoNs2FsaLUerF4nkAz3U77sox6Uq2lSXwThSFaWX9n3/6BmhvB/QCTRangpg3S8EphpkqwCWGuRoDVJQL+RK2nqopyvbNpY3Rly7h7tai79cHX2pOuhaHebqPWzpvYTazt1ExgUFQNebFIBOpAaZapCl0fLUIFsNMtUgRw2yAS0P0PLovKpOchGZWXK/iyDS7PEE4Mt0hyuoay/13yBwGQINQwhQ+A87hsbX8GQ6vlTbyZDtqBgOPNXm+G3NhwU33tlS89G2yo+3VHy0rerj7TVfba32+r59R3lfC1nMl+nYEi3sp4lHeGNUoGGLgKoebsHFvv03yQwBMs/FdAcx1oxEo+UNMs53kg8xBfVavRDU8dVajkbL/XniaLRcnUFsMClBvVCiHGaLmmicCirnJmns8gj3NoN/jyftBHR8k0WjNypAvVANstUga+IdYGkBOh6oF0mUpEH6xU7yYZ6UYLVNl3WDrDYzT0ogDB/tGz0jVgyBejGoE0zkH7aXCmABOq5Gy9MaZDqjXKVlcqWEUV4NjXubwiojjV0Z4VUwhQ0SBQXUKfRGBagTwUUHX/6D5QnqBKBOyBa1EIaP9Y+eU2vhljwb9LhqRoQ/jA0ishTbrw9tuDxQ0y9kisAxETDK19D4mhG+ZmKDxtMwBBq2CJCqDCwh2DgkKutk/thAL6pnFNYzjjYwbhCYbcNiOk8tkOnYEnD8VfcfRyfeRAiwxWAbSbTl6uDaiwM9IzKb1QZBkM2G/P6YviDGmqnIVdR+2ulu6ndcSRuoF2j1QkDHA3Q8jZYLaHnwNqDjafUCjZYL6Pg6g1RvVBjNoMkMmi2AyawxmgCDSak1CAH4jqzj338VX6OF34cL6AQ6o0Smog7RL3WQC1nChskfMvzLwH1G9ExhY+fw4SHGBZmKqjdKQZ0AVg4wfkV8UMcfLxkdD9QL9Ual0QQYzWqTWWsy60xmjd6k1BmkWr1w4sI1Wt79l4/vAfUiUC/kitsJw4f7aGfkGvr9sWjIDe6JYTFbW0jidZcGtl4baiKJ+VKQJwYZAoAp0LBFAEMIsEQAQwjQhQBdCDCFGrZQI5DrFRqjGjCoAaMaMKoAo0JjECp0bNH4YQwhwBICDCHAFAIMIcAWAWMCDUsECmS6lmHJzlJiwYX+2kGhcbw9DPk0pzWIsWYiNgiCIJtVoiT20U51U0+wRS2Ajqc3yrUGMaAVgDqRVi/S6oVavVCrFwE6gVYv0upFGu34BqgXAlo+qBcAWoFWLwJ18DFi+K9avQTQiQAdX2eQ6IwymZo2SL/UQT7EFNRN5nLDvx+TGWQI6jrIRYP0YoliSG+UafViQMuDL1+rF4A6PjheDkKtXgBq+fevVATe39DqRVq9GNQJAZ0Q1AkBnUirl0wUl84gBXViroTQRTnSRTkqVZIg5Jf4fwej2VZPFK292L/l2lDdgIAnAUUKPUeqZYtBjkQLJ65Ey5Fo2SKALQI4Ei1brGUJAbZYC29zxCBLBDx45IOJLdEKZDq+VNtBke4oI6Wd7anuExgf130DYRqCGGsGY7WZpUpy38gP3dQTTGGdWsvWG9U6owLUS0C9BNSLQL3o/vZjklYvfuCpWPvAwTqDzGBUag1yoaKvf+THTlIRS9QwPXUFYzCpxwT1XcNHB0Z/FMi6dQaZwaTUGcbL4YFLu2+mn676oUIQP1RKOqPCYFJrdHwGv65r+GTfyA9iJQnpbfFfRWe0NAyJNlzp23hloKqHxxSDUo1BpNBzJFqOVMeV6TgSLVf6ex61E48cqZYt0QrkOrnawJVoq3t5O68Pbbw8WNUv0BmmSy03wm+CGGvGI1OP9I+c6SAfIjOvSZQUnVGhN6q1BjlokIIGKagXaw1SrUH6a+oySCeO0eqlBpPKaAE0Oj5TUN81fJRAOcKVtJsncaHhfw+TGeSIWgnkw13DR5jCBkDLM5g0BqNSa5ACP7/G30zwYTqDzGhWG0xKqYoyzCrpJB8aol9UaBhTfaGzHhsEQUazrXlYtOFqf+6F3uLGMTJbJVcbZCq9SGngK/QCuY4n13Nlv/HIV+j4ch1foePLdAKFXqYxyAEjjau60jyWd75363ViO0VqMlsgCLLZbEjz1YwAMdZsQKYaJY1dbScd7KWeYoualABTb1KbzKDBpNIZFDqjUmeUg4af7toPJtAg1RnlOqMcfonRpAF1QoG8Z2jsYie5kDh2RaIanikhhckMskWt/aM/dpKPkpnXhLJeQMc3mjUGo8pgUhpMSp1R9thCuF8UEq1BpjPI9Sal0QwajGqNlsMWN3dTv+8aPkbnVYM64VRfoh1hNNs6RyQHbw9n/Niz9wa5sodHF2iUoEkBGhWAQaLSC5V6oUIvVD4uKfRChV6k1EtVepnaoNYaVYCRJQar+wX7bg6vvTzwXe0ImaOyIpaaaSDGmunY4N+kOoOMKyEM0i90UY4P0ouZwka5ekRvlBlNWpNFbzRrTRbQaNYYTBqDSW0wqQwmjcGkMZoBk0VrMoMmC2g0g4CWx5cShlllXcNH+0dOc0QtUzVz4L+N1WpWgxwGv7aH9h2BXERmXhPK+wCdwGhSm81ak1lrNANGM2A0aQwmFVwORpPGaNYYzaDJojWadSazTmdUyDVjTGHjIP0cgXKYxLwuUQ5brMhUCJOJDYKskA3iSbXlBM72kqHsc70H7lCqBoRUrlKq0qu1JkBnAnUmNWhUgUYV3OdCbVBoDCrQqAaNoM4EaE0a0KjQGEeFmnuDwqIK6oZL/QdukhvJIhlouH8WRFozCcRYM50H/+VsgE7IFrUO0s91DR/rGzlN49zkSjoUGpZWL9WblEYzYDLrTGatyQyazDqzGTSaNFqDTK3lihWDY4L6IcaFruHjA6PFTGE9oOVDM2/0/3hRmM1auZo2wrndN3K6m3KCOHaaeQkwAAAgAElEQVSZwa+VKslqLU9nkBmMKpMZNFv1ZjMIa8xk0uhNSq1BqgLYAlnfCLdyYPRsD/U7IuMST0rQ/TQvO3KDmzRsE2tbW602ukB9rZ29q4y07mL/njLi2UZGA0k0ylMLFTqJyqAGjBqtCdSb1VqTCjCqAaMCMIpV+lG+uoMiudrG/vbm8MbLA/tvDVf387kS8IFTIJ/mDAMx1mzDZjMDOoFQ3k/j3uobOdNLPdlP+5E0dpXGrRjj13HE7T8lUQudd5c8dnWAfq6XdqqPdmaYVcaTdGm0vJlSDfjrmM1aJcBkCptIY1d7qN/10k4P0s8Ns0rp/Bq2qIUr6eRJOrjiNpaohcGvHeHcIY5d7h/5sY92ZpB+YZRXLVWRH1lDBDHWlGE0W1lisKZfcLKWvqOUtOXKwO5S4pFK6sWmsfIOVkUPv6pfUNUvvNPLKyewLjezjlbT9t4g7Sod3FtG+qGO3kQS8aRaCzLF7QwHMdasxWQBNVqeWDHIFNZTOeUk5vXB0QuD9OL76dwgvZjIuEJhlTJ4dwWyXhXAMpgeHPM/S+7OVptZb1TK1SMcccco9w6ZeZ3IuEJkXBqkn4MLYYB+bohxicy8TuWUMwX1YgUR1Imm07AzhJ+w2SAVaGIINQ1DwsttrBM1I4cqKftvDn9bTt5RQtxZQtx/g3zgNrmwknrq3uj1DlbzsJAu0AA6pDfgLAEx1uzjMaYxmUGtXqrR8pTAmBJgKAGGEhhTgSxQLzaaANu0mcPiv43FatAblYBOqAY5SmAMTiqQBegEOoPcZH7MZMEI04RHq/AsFpsSNLJk2lEhQOWqhthKIltJ5akZIoCj0AI68yOLhsySH2H2DGIsBAQEBISZAWIsu8OeW5t/faU+m81mMBiMRmT27pmE1frL/YNsNpPJrDcYkRUaZw2IsewLkUjU0dGh1tjjHNU6na67q4vH/cXlrDQaoKOjq39gyGSamrWVEf4oo6P0vr4Bixmu1n6kMtxkIpKGWzu6NJrpO10Lwh8CMZYdYbGYau/V7ft2f319vdUyG3oD/n5sNht5eLiwqLDizp1fijJlMnlZ+e27NfVaHdLtYgag1xuuXrl6/MQJHo8PQZDtkcEYBoOhoamlpPyWTD7DhhUi/BKIsewIkVh06vTp/d/uP37iBHNsbKqzM6loQW1ZWemevXtPnz7N43Afe4xcLr9ZUX2vqVWvn+5TUiFAEDRMHj569Nj+b/fX1ty9H2b9DIPB0NLafuN2pVyhePSvCDMRxFj2gtVqbahvKCo6XFRUtGv3ntLSMqPRBNlHs5bNZqNSacePHz9y+PCevftu3boN1/s9dO1yueJORVVTc5Nej8RY0x0QBG/cuFFYWHToYOGRI0d5vMdU9iLGmn0gxrIXlEpl8blzRYVFu3bvyczI3LF9B58vgCDIYgfGMhqNd27dKio6fODAgdzc3D179gqEIuiRa5fL5bcqqhuaWwxIjDWtsUEQxGCMnfjuu0OHCjdv3pKfl1dz9+6jxyHGmn0gxrILbDZbF6Fr3/79BVt25OTmZmZk5mRn1dbWWu2jExWXxy8sKty0afPGjRtzsrNzsrNra2uhR1rq4RirsQmJsaY7JpOpsrJq1+7dmzdtKcgvSE1O2bd3L/eRPjWIsWYfiLHsAi0Inv3xbEZGRlZufkF+QUFefkJi0t6iY2q1eqqz9l/HYrHU1N7LzMzMy8nJzV+blLU2PS3t6JEjj2oJjrHqkRhr2iOTyb7dty83J7cgv2BtwdrszKy01NRrV68ZjD9rzUKMNftAjGUXGI0GOoPRPzR8+fLltNT0o0eO9g8MkKkj9hBMWK1WLpc3ODhYeaciP7+g8OhxIolEo9Ee7cI+3o6FxFjTHp1ON0QaJnT37tmzd/v2HbUNTUQSmU6nm3/+mSLGmn0gxrIvmptbExKSzvx4Fn76a6MvZx1kMiU/L7/4fDH89NFrR2KsmYXZYj1UWLRrz14ujz++6+cNk4ixZh+IsewKW3Nza2Ji8g8/nJnqnEwBJDIlPy//7Llzv3QAEmPNLMxm88FDhbt27+FxHz9cATHW7AMxlh1hs9mamlpgY9lDp/aHGBoi/ZaxkBhrJmEymWBjcTmcxx6AGGv2gRjLjnissazW2bmu3aOVfsNkMhJjzVxstoe/qIix7BDEWHbEg8aCn/b3D+zZu/fI4aOjo/Spzt0Tw2I211TXbN269dzZs3I5fKuyQhBEJBIL8gsuXLjwSy9EYqxpy+DgYOGhQ4eLDo+MjE7sRIxlhyDGsiMmjHXmzBkIgshkcnhwUEJ0aFhYREpyyghtZKoz+GS4fu1aUGBQYkJCSFDQju3bJ+ZiJxLJ+Xn554qLf+mFSIw1PRkYJMZFhIaFhMRERaempjGZLHg/Yiw7BDGWHTFhrB9/PGuxWG7euJmemqpWKSkUSnZ2Tll5+VRn8AlgsVg2btx08tQplUrR39cXGxMjFkvgPxGJSDvWjKT4XHF+Xt7o6KhUKktMTLx585bFYoEQY9kliLHsiEdjrGNHj+l0OqFQeOrU6f7+ganO4BPAZrNV3Ll9vaREq9WSycMnvjs5sdLEf9KONSub+mYK/f0DJ777js/nGwyG06dPU6k0eD9iLDsEMZYd8VA7ltliaW5qPnTw4PcnT/b29Vkss2RslkYD3CwvP3jw0I8//MB9YJr2oT/ejmWxWCz3l2VBpDVVmC2WxoaGosKik9+d6O/rtVrHP5F/w1g2mw1Z/GxGgxjLjnioryCFQomOjExISIiJjs7PzZtoHpjplN24HR6ISU9Lj4mOP3jwkMFggPcPEX9vjGUwGKxW68jo6Nlz584XF7NYLERXU8jg4GBCVFhSQnxiYlJGejqLyYT3/1FjyaTSm2WlJ09+393VbUJWmp6ZIMayIx5sxzKbzSUlJanJySqVikwmZ2RmlpSWTnUGnwAWi2X9+g3HjxxTKJW9vX2RERF8/viECL+vHetuXXMrBEFDQ4OxMbGB+KDwQGxBTiYD1rkVslqstkfWukX4r3L27Nn0jHTqyIhEKouLjS0vK/+j7VgACMrlij07twcG+MbGxIaHh1dVVsLHIL9FZhaIseyIB9qxfoQgqLe3Lzkx8eyPPx46cCgxPr6LQJjqDD4BbDbLhYsXs7JyLl44v337tszMTJVqfLZfuB3rV/oKKpXK25XV9Y0tEASVllxPSkomEklUCiU5MfFccTEIghaL2Wq1h+VZphft7e3JySlFRUdOnfw+Lja2p6cH3v/7jaU36ElEYnp6WmVlhVQq3bt339atWzUajRGJtGYaiLHsiIfasYxG07Wr1wJxuPCwsJs3b86ChUfg38sKheJQYSEOg85Oje3u6p746+DQ723HgiCI0NUVEhqWnZVdkJvjtGZNcEjodydOCAWCSbgKhIcwm823bt4KCw0LxOPLysoM9zXz+40FakGJRLJhw4bIyMidO7b7ent5enrv2rWrq7NzEq8D4QmAGMuOeMhYQqFo39692Tk5aWlpP5w5I5HKpzqDT4ae3r7tO3akpqTm5eeXl5eb76+n/nvasSoqqhoamy1mC5fLPnb0+KaNW3dt3bBn59b8grWHDh7k3a9gRJhM2Cz20SPH0tPS09Mzvz95UiqRwvt/v7HUarXBYLhRVp6Xl797+5Y92zdt3LBp44aN7R2IsWYYiLHsiEeNdfLkyePHjuXm5qHQmLaOjqnO4JOhr3/gyJFjRYWFCfEJkRERIAjC+3//eCyTwaA3GJqaWlpb2wBAowEAk9kEQZDVZrMidYKTjY3NYp86darwUOHmzZt8vL0J96uvf7+xFEql1WqlUqm19+okEgkAghPfikfW9USY1iDGsiMe6itoMBhGRukUCqWuri4rM7O6qnqqM/hkUCqVVCqNQqHcunUnKSFRLpPB+3+zHUsuV9ypqGxqboIgqL21NTAoKCExubKy8tyPZwmETggan9tuUi4CYQKrVgsyGAwKhUIgdMXExNTW1MAfwh+pFdSKRaKCgrU+fgEXzp8vKS29dv36pF4EwhMCMZYd8VCMxWZzUlNTI8PDw0KCNhTkMFls6HHzjc446uoaoqJiw8PCw8OjDh44ZLONjzP7zXYshUJ+s/JufWs7BEG3Sq9u27h227ad69dtiIuNu3b16uRkHuFRSCRSXm5ueFhYWGh4amoam/WHZ2nS6XQjo6MbN20uKFi7aeOm1KTkgwcOTOIVIDwxEGPZEQ8ZCwS11VWVF88XX7p48VpJKZFINJlMVqt1phtLIBCWl5cXnzt75crlG+U3BXw+PI/7EOk32rGUSsWtqpq65lbIZiN0dcXFxPv4+Pn4+OTl5o0+MAErwiSj1mju1dZePH/+fPG5SxcvDg8Pw5OSmEzmP9K7Xb5923ZnJxcPD088LvDevdrJvQiEJwNiLDviod7tfD5//4FDGzdtLCgoWLF8VWhoGJfLm+o8PgF6enp27ti5fsOG5OTkhQsWfLtvnxYEIQgikX67Het2RXV9U4vJaNLr9c3NLSUl169cvVpVWcHlcCZ6cCBMMjwev+jQgbUFBTm5eStXrAwKDKbRaNADKzr+prGUKqXNZiORSNevXy+7ebu0/HZ/b79Oh8weOfNAjGVHPDiC2GazVVXdxQWGFBefO1xUhMVgN65fPzFp7MzFarXu27MnJSX13Lnivbt3+3i6X7p8WafTQxBEJpPz8/KLf7Udq6KiqqGxyWg0i0Sic+eKjxYd2rNrh4uLa3xc/ERlFMIkU1palhATfqTw4KlTpwNQ6A0bNsE/rX6/sdRqtU6nu3OnYu+evYeKjgQFh/h4eTU3Nk/udSA8ARBj2REPxlhWq5XBGLtbXSWVSkUiEXFwSCKcDQGWzWbraG8nEAgymVwhl/f19ExUcg7+1ryCCoX8ZmVNXXMbBEFVVVVBwaHf7tq2d+dWN3fPlJQ0FmKsKYIyTG5tbeXxeAq5rJvQoVKp4P1/qB2LwRhLSU3NTM8oKiwMCQrCogPa2tom8SIQngyIseyIh3u3i0RbN2/JTE9PS0s7cOAAHGDN6EYsOPOdnV0FBQVZGRnpaRkXzl+YmMr2N8djKRSKW1U1dS1tkM02TCYfLjrc19ur1eqam5uZ9+eyQ5h8xpjM/d9+m5aSkpSQePDAQZFIBO///cbSABq5XH7p4sWqykqdTj9EJPf09E7iFSA8MRBj2REPGUskEv/ww5kzP/xQkJ/vuGZ1c0vrVGfwyTA4OHTq1KmT352MjolDo1AqpRLe/3vasW5VVDc0t9isVjJ5ODMjMyc7u7m5+W51zfDw8GRlH+FhOBzOhfPnvz95cvOmLc6OTg0NDfD+PzCvIAAoFIoDBw6EhYSWlJS1tLQ11NdN3gUgPDkQY9kRD43HgiBIp9N2dXXX3K0tKizs6+uf6gw+MUQicWdHx80b5UeKigCNBt5JJpPy8/KLz5//pVcpFIrKysqW5kYIgkpLyrKyc9avX7dl8+b4uITLV65MUtYRHodOr+vt6WloaDh44ODA4BBcD/AH5hXU6ymU4bzcvKys7M2bt2ZmZOzZvXsy84/wpECMZUc8FGOJxeId23dgsfjQkLDCgwdnQbcLmIGBgfTUNBwWGxEeeeXyZbhrOwRBg0RSQX7B+V+ZV1CpqqyqbmlqhCCotbk5Jjra28vH2dE5KjKyY7ZMCDITkUjEu3btwmIwIcEhe/fsVd4Pmv/QvIJCoWjTpi0+Xr6uLh4e7u5XryAD7GYkiLHsiAf7Closllu3bgcHhdbV1ZeUlOTm5DQ2Nk11Bp8AVqt52/Yd69YWtLS0XL1yNT0tTSYfny/xN9uxZHLlrcq7jc3NFrNZKpFcunjhwP5DR44ca2pqMiLLAE4dVy5fio+Lu3HzZl19fUxUVEtzM/wr5A/NK2g0mmrv1X27d39R0eHS0hKJZJb8PrM3EGPZEQ+tj3X16tXU5GTIBvEFgtycnEuXLk11Bp8AZrOpIH/tqe9PQRDEYbEiwsJ4vPE+kOTfasdSKBS3Ku7WNbUaHh2pY4NsM39u+xnKdydOFBSslUqlBr0+MT7++vXrVssfM9bEGsQIMx3EWHbEQ7WCIyMj6Wlpa/PyMpITkpOSaFTqxGFTms3/CJvNVnGnMiE+YePa3IT4+O3bt+vv64dEIhXkF/xqO5ayoqKqoaEJHr/1s3ed+VOBzFxoNFpubn5ORkp2RnpqSiqVSoP3I8ayQxBj2REPGQuCoMHBwX27dxfu3ztEHJo4Zqbfmm0QVFt7b+/O7cePHxc90Dg3NPSbxlLcqaqub2p+aDaEGV8iMx/K8HDhgX379uwhEokTOxFj2SGIseyIh4wlkUhPnzq9/9uDhw4VHj16fPeuPadPnZmoQ5u5EAcHThQd2Ltn35HDhw8XFe3ds7ekpMRiMVOGqXm5eb9eK3inqrqhudmgR+bvmUaw2ezi4gvffru/6NChY0eP7tu77+jRoyq1ymq1IsayNxBj2REPGUvA523euDk/r2Dd2rU52blpKan7vz3AYbOnOpv/KS3NzblZGQW5uevWrs3MyMzMyDh37pzFYqZQKRs2bPytFR0rWpoa4IlWEaYJVNrIzp2783Jy1q9dm5OdnZ6Wtm3LVpVKZbNBiLHsDcRYdsRD47GsVotcLpdKJFKpRCqVSiUSpVJhmfnzver0erFUJpFIpJLx6wJAEIIgIpG0fv2GX4+xbldUNzS3GAyIsaYRJpNJoZBLJGKpRCKTSiUSiUKusNlsv39eQcRYswbEWHbEoyOI7YohIvmxtYI2CIJXFpbLpDcrqmubWnU/LVCLMH1B2rHsEMRYdoTdG4v42BHENhskFksGBwbbOjpv3rxzp6KaQOim0GgA4q3pDWIsOwQxlh1h98b6xVmaeDz+ndt3rpbcKC2/VVJafuHyteamZhAx1vQGMZYdghjLjkCM9bgRxDYIgrRaXX9fX9Xdutt37125Xnq97OYYnWGHRTSzQIxlhyDGsiPs3FjD5F+bpUkoFDQ1tzY2tdy+U9HW1qHTIh3cpzuIsewQxFh2hJ0bi/irKzrq9br+/oGauzVNjU0cLs8G2V35zDgQY9khiLHsCDs31uDgUF5u3rlf7t3OFwpra+91d3frkBHEMwHEWHYIYiw7ws6NRaHStm7dduniL074q9PrycMU9i/c/hCmG4ix7BDEWHaEnRvLZDIJRWKVSvUrx5gtFqv9lcwMBTGWHYIYy46YccYCQZA4ROzr7urv7env7SENjCdifzd5qI800EMc6CH2dxP7u4n94zuHif2PTeShPvJQH51GHhkeIg30TOwkDfQMkwbIQ33Evi7SYC+VNEAhDQwT+0mDvaTB3gfeoW+YRBwmDg4PwRsDw8T+4aG+4aH+YWI/6X424D33szSehvq6SAO9AgF/qotztoEYyw5BjGVHzCBjmS3W5vqavNRYtJebr9diPNoRG7Aah14TiUeFY30jcL5xoZiY4IAwjE8E3i8c4xOK9onE+0UHouJCMfFh2OiggOggVHQgKjooIC4UEx2IigpERQeh4kIx8GN8GDYuFBOF948OQsWHYeNCsXGhmLgQTEIELiUmJCkyMCY4IBLvFxuCTgjDxQQHROH9EyICEyMC40Ox8WG4uDBsfCg2PgwbH4qNDkKFYXxC0d6ReL8wrG8U3j8M4xOF94/C+4eivUPR3iEBXjhft5hQbPGpw3I5PJe81YqstvUfgxjLDkGMZUdMf2NN5KquphLlturrT95Z8uXHqxd/5rT8qzWLP1/5zbxV38x3Xr7Qx2m58/KFriu+dlnxtZfDUs81S9xXLfJxXObrtNzLYamv03Jfp+Ueqxd7rF4Mb7uu+NrXabmv8wofp+X+rquC/d0wng5oT4cAt9Xejsu81izBeDgE+rngfJxDAzxC0R4hAR7BKPcgf7dgf7dglHuwv1uQv1tIgHswyj0S7x2G9gz2dwtBuUfifULRnkF+bhFYL/hPkXhv+IVRgT6ReJ9glFsEzivIz9XXZeXS+R8t+fz9fTs2akHt1BbyrAExlh2CGMuOmP7GguGyaOkx2C8+fGPplx+vWjTfY83SAHcHtIejn8sqH6flvs4r0B4Ovs4rsV5OWC8nvK9LkL9bkJ9bkL9bkL9boJ9rBM4nEu8b5O8Gb0TgfIL83aIC/RLC0ZF435hg/+QoXFIkNjkKGx+GiQ7yTwhHJ0VikyJxqTGB2YnhWQlhmfGhuSlReSlRWQlhWQlheSnRa9PjcpIicpOj1mXErU2P3ZgVvz4jdi28nR2/c13q1ryk9Zlx6zLiNuckbMlN2JKXvC4vuyA9bmNWwu6NGRuz4xPDMQ7fzHdfsbCh+sZUF/AsATGWHYIYy46YCcayQRDU1dHksWrBN/M+cF6+0GnZQpcV3/i7rcJ5O2M8HVFuq32dVwS4r8F4OmK9nAL9XIMD3INR7jhv5yA/N5y3M9bLKSrQLyYYFROMSorExQSjooP8o4P8Y4JRsSGo+DBMVkJYchQuPiwgJRoPp9QYfEZccE5SRGZCaEZCaFZieFoMPikuMjs1qSAtpiA1Oi8zJSctITcpfF1G3IasxIK0mPWZ8RuyEuC0MTtx47r8jbkpG7Li1mfGb8xO3JidlJuZti47JScjdX128qZ1+Zvy0tbn54ZjPBd/8fGeHdunupBnCYix7BDEWHbEhLHOnPlxqvPyS9ggCOpsa3JbuWDRZx94Oiz1cVrhvnqJr8vKQF9XnLcz2t0B7eGA9nAIw3iFYbxw3s6Bfq44b2eMh2OQv1sk3jckwCMq0C8pEpcchYsJRoUEeISiPWGHJUXiEiOw8aEBKdH4xAhsXCg6KRIbFxqQHhucmRCWHhecmxSeGh+VHB+dnRialRiemZKQnZqQGReckxKVlxqdnxqzISthfWb8uoy4dRlxeSlRm7ITNmbFr8uIy0pPW5uZuCErfn1mfHZ6yrrMhHWZCesz49dlJqzPTFiXGb8uO3lDQX5SBM5x6YJdW9ZPdSHPEiwWC2IsewMxlh0xYazTp38wm82WaYfZYjFDEERob3ZbuXDRZx/A9YH+bqsxXk4hKA+4ii8Y5R6Ecg9GeYSgPIL83YJR7lgvp3CMd3SQf2IEFg6qYoJRYRjPCYHBIVd0kH9IgEdIgEdcaEByFD4lGpcYgYkK9I0ND0qMi06NwSVGYOPDMCkxQVkJoVkJocnR+IyE0JykiOzE8Jyk8KzUxILMpA1Z8fmp0TlJEQVpMfmp0bnJkbnJkTnJUZtzEzeszd2Sn5KbHJWTFLE+M25bfvLG7IR1GXG5yRF5KVEbs5My40PdVi3ZtmUz/HFYrVaz2WyZ+CCm4QcyvdHr9QcPHkKMZVcgxrIjbDZbY0NTXHzi9h07r1+9XnKt5PrV69MkXbty7fLlK719fRAEtbfUOy39YslnH7qtWuTnuirQ2yk22DcvJWrn+rRvt2RuzImPCfTFeq0O9HMJCfCIwPnAUVRUoF8o2jMS7xsTjIoJ9g9GuUfifaOD/JOjcCnRuKRIbFSgX5C/e0iAR3SQf1xoQEo0LhLvFxXokxCBjQ1BJ4RjogL94kIDMuKCCtJicpIjkiOxmfEhGfEhcOVhRnxYTnJkTlLEfYdFrE2PzUuJWpseC4dc6zLj12XG5SSFp8UE5SZHbi9I3pqXmJsUmZ0Ynp0YnpcSlRYT6OO0fPfW9RAE6Q2G9va2ixfOX7t6Df4sptXHMf1TybWSq5evri1Yu2PnLsRY9gNiLDvCZrO2t7VlZ+fk5eVlZWVnZeVMm5SdkZmVlpZRWlICQRChvcl99YLF8z/wWL3U22VlqNPSzYnBZ45uvXpq+5VT289/t2NTJBrr/Tk2YHWwv0cwyj0C5xMTjArycwv0cw1GuUcF+iVFYsMwXrCcYoL94aasqEC/+xv+sSEB9/tf4OJCUUH+ruFY76hA//gwdEo0Pj02OCc5Ijc5MiMuJDkKB6eJdq/MhNCMuJCUaHx+WjRcT5ibHAk7LC02CN7ITY5cmx6bmxyZlRCWGhOYGhOYGh0YH4ZGua/au20DBEEqtfqHH86kpGem5xZkZmbn5eYV5BdkZmZPs89lWqfMzOz09MzCosMikeixX3jEWLMPxFj2hUqlolBpFCoVTlQqbWRkdOKRNjIy/kij0Wg/e3zoKZX2wME/f5N/45FCpZIpFBKZAt96CK1NXq5fLlv8juvKJe6rlwZ4OGwvSL56enfJDzuvn95R+uPu9emRaE+HAI81/q6rAtzXBPu7R+J94TpAOLSCQy7YUlGBfiEBHkH+biEBHrEhAYkRuImawwicTxjGC47S4J3xYejECGwk3jcpEpebHJkZHxIXGgDXN6bFBI731IjGwx7KTAiFo6vUmMDkKBy8MysxDA7CJgwHqzEmGBWK9vJxXHpo7xYIgiwWC4/HI5NIE5/FRHpMUdNGfvbp/GcFPlWf8hM/NYVKJQ9T2Ryu0WR+7LcdMdbsAzEWwrSD0N7ksXrhkvkfuqxc5LlmKcbLaW16zJmiTZe+23b55Lbj365NjMSiPRxRbqvRHg5wj0Gst1OQn1swyh1OIQEeYRivSLxvKNozOsg/Eu8bjHKHt2NDAhIjsHCwFYn3DUV7xQSj4sPQqTGBCeGYuNCAhHAM7LyEcExKND4uFB0Xis6MD02LDYZjsqRIXEZ8SEI4Jj02JDsxHNbV/bYxfHIU/sGYLCnyp3PhvJ09Vi3at33DVBewvYAYa/aBGAth2kFoa/ByXLx8wTzn5V97rlnq67wC7+uSFIFbmxa1PjM2KQIXEuCB9XLC+7jAPS9wPs4YD0dYVLCxJkKrqEA/WFchAR6wh+DH6CD/2BBUQjgmLhQ9IRi4KSs2JCAuNCAm2D8q0C8xApsYgU0Ix6THBseHYeAXwtWMSZHYlGh8bEhAVOD4U/h9ooP8ogL9Y4JR8NOJUC8Y5e7vumrN4i/2bUf6Ck4SiLFmH9PEWNNzbBDC1EBoa/RyWLx60Rdejsu8HZf7u6z0dS7BkUYAACAASURBVF7p47zCz2VlgPsavK8LPAALHkEc5OcGR1SwGEICPAL9XOEaQrgdKxTtORF4wY9wsBWB84nAeSdF4uAXwrWCETifxAhsRnxIXGhAJN43ORKfHhucFInNiAtJjMBG4HyiAv1TovEJYeikSFxCODoS7wcbayLB3UCig1BxoeiEcCz8FM4PxsvRYcmXe7chxpokEGPNPqaJsSxWq1kDGAGtyWKxTnVmEKYQGwRBHS31Hqu/Wb1ovrfTci/H5X4uK9EuK9AuKwM8HNAeDgHua9AeDoH+rnCAFYr2jMD5wFV58AxJAW5r8L4ucIA1YQs4xgoJ8IgJ9o8OGu9VCB8Dt2NF4n3Dsd4T8psYdDwRlsWGBETgfGJDUJnxoakxQfCQr3CsF9wjccJbsSEoWIEJ4Wg4tJrwJdbb2XXlN9/uQGoFJwnEWLOPaWEsi8U6OCKtamT2kURGkxkJuewYGwRBbU31jovnL53/L7fVS3ycVvi6ro5wWxHhsRrn64rxdPR3XYX2cIAHDuN9XCLxvngfF7yPC9rTIdDPNcjPDevthPZwCEa5TwzAmnASPBgrPgw9sTPI331iMHIk3jc2JCAc6x2O9Y4K9IsPQ8eHoUPRnkH+buFY74RwTHIUPj4MnRSJiwsdrwwMRXuGY73h5rGoQN9IvG9iBDYm2H+ifjLQzxXuwQjHWG4rvz60Z8tUF7K9gBhr9jG1xrJBEGQ2W/uHxedukAcpErVGb7MhMZY9Y4MgqL253mnJF8u+/MjTYZmfy6oA9zX+bqt9nFf4u67CeDoG+bvhfVzQ7g4YT0eMp2Ogn2uA+5oA9zWBvq7j0zX5u6E9HPC+LhE4nwlzBPu7w08nehWGYbxjQwKig/zCsd7hWJ9QtGdiBDYpCjdRuQfbCO5nCDssAucTFxoA97OICoQ7bnjCgVpiBDYc6wVrMiYYNR5d+bthPB0D3FfDwZ+30/LV38z/lVpBs9litSLf/ycGYqzZx1Qay2azWq3W4VFZ+T06V6iZwpwgTCsI7U0eqxZ+M+9991WL/V1X+Tqv9HJc5rryG0+HpWj3NYG+rvCMTVgvJ5T7GrSHA8bTcaLTYDDKPdDXNcjPLdB3vNoQtgXWywl+OlHpF4HzjQn2T4zAxoYExAT7h2G8YoL9Y4L8I7Bw7OUWEuARjh2fiz06yD8qcLz3fBjaCx6nHI71xvu6wK1i8LQaYRivcKx3GHq8x3wgyjMI5Y7xdsX5OPu7rnJatnD5V5/sfVxfQZPJJBJLiORhiUQ6+QU+WzEaja1tHYixZhNTXCsoU2hu19PZAg0EQTYbUh84wzAYDCwW69dX9f036Gxr9Fi18OtP33NcusDTYamXwzJf55Uot9X+rqtQbqsD3NfAvQSx3k7ejssDPNZgvZz8XVcF+rnifVwCfV1Rbqux3k4PBljwwXCfC1gt4TjvIH+3kPE5MvzjQgNgS2G9nOD4LBjlHo71DkV74n1cQtGecaHomBBUdLB/BM4H6+0c6OcK1xmiPR3Rng5hGC84AovE+2K9nFDuq4NR7hF43wBvT6y3s5+nm6/zSi/nVa4rvlm+4GFjmcwmuVxOpVDr6hrKym9QqbQnW5j2jMlkam3vRIw1m5jiWkEOX1bdzLRYbBBks1otEPRfqhKx3U/TmkmeT12v1xuNRnhbq9VaLBZovJhsBoMBgiCLxdLV1dPe1q7X6SAIMpnNBqMBgiCrxaLT6SAI4vF42VlZdfV1TzZjnW2NHqu/XjL/I6dlC52XLfRyWIr2cMB5O6PcVvu5rIS9hfF0hPfgfV3wPi44b2dYTngfF4yn40TH9/uNSW44H2fYUhFYH3gDbmGCZ3/H+ThjPB3hOsBAP9dQjCc8g0Y41huuQsT7usKniA7yjw7yiw6GG6788D4ueF8XnI8zzts5wGMNztsZbmML8nMLRrlhvZ1RHk7+riv93FYH+Hi4r1q0/KuPJ4xlMpulMimZQmltaW2ob6iorC4vv9Xe3jEySh8ZZdBG6Ej6T9IofYw8TL1dUVV+s0Imkz/ZryjCVDHFMRZfpGkm8Ewmy9Rm40lhs1rMeo3FbPhDrzIbdUZAbrVabbbJkJbNZrNabYODgwf2H7h44YJcrujqIuzdvefypUtSqZRMHi4+f76w8FBHeweLxQ4MDHZc41BXd6+1rf3k8SONjfU8gej6teu7du3p7upmjo0lJSTW1tY+wdxBENTR2uDtuHjVN5+7rPjGffUSf9eV8GBhuM8F3scFFlUo2hPv6xKC9ghBe0x0cAj0c8X5OAf6uYaiPQP9XIP83YID3EPRnnCdId7HJcB9DdzPEOPhiHZ3wHk5B6Pcg/zcgvzcQtAecBwWivEM9B2P2LDeTrDe4LOHYbziQlBw1V+QnxvWywnj6Yj3dYFDQDhEg4WK9/MMw/qG4TEYD0eU6yp/11VOy75e/tUnEyOI1WoNgdB1t/puY0NjfV39jYrqa+W3S0rKrlwvv4qkJ5QuXy2prrknk8me3FcUYSqZemM1Ebj/ZWPZVBoDkSYZostA3eNnc3kyp7FalMwBTts1lWj0D71QzaOyGopVLOKktbqPMVnJKSkJ8fFHjx4tKytPSU7LzclJiI8/+d2Jo0eKPFyc4uPiMzIyq6uqExOSfH38bt25k5yShvbzrKq8dajoWGJiamJCcmpqyq1bt/JycxsaGp5c1mwQBBHamjzWfOOwaL6nwzLHZQs91yyDlw/2dloO19HBS2HBRoG7SMCDiOFOGcEod7iRKdjfPQzjFYr2DMd5w81dYRgvtKcDzscZ7+uC8XTEeTnjfVwmumPAR+K8neFwCu/jgvV2CvZ3jwlGBaPcUW6r4dAN4+no57IS5boa4+UIL32C9XLCeTvjfJxDUB4hAR5oD4cAD8cAH88InG842hPv64rydPF2Wu668pvlX30CzysIQZDJZBIIBCQiqbW17c6t2xevXL9ccqOjo2OMMTY2xhxD+I9hMBgjNBqXw9Yb9E/uK4owlUy9sZoJPLPpv3inNlssDZ2cQ2d7153ovFxF02r/WAD0+1FzyKMVR+iVx0ApG4Igqw2y/mq/R5ttvA4UlHBGK4/Rq06AEtbvOM8TCMKqq+/icUEKhQKCoMOHj6SnZUIQVFNzNzY2dvfOHft2bOVwuDk5OeeLi0+e+O74sWMqtSYzM+vCxcugRpkYF3fj5m0IgnJycnbu3JWZkdnU2PSfZwkG7ilKaG/yWLVgyecfOi//2nn5126rFvs4r/RzWeXjvGK8C7u/m7/bKj+XVSj3Nf6uq7BezsEB7nhfl0Df8UgrDOOF9nSEu0jAURfG0xHj5RiMcg9CuQWj3OG6uzAM3HPdC+40EejnivN1Rns6wstF4rydYSNG4nwDfV3xvi5wPSTGyxFe8jgM64XxdER7OsA9BuEIb7wju6cj2mMN3DCG93Pz9XD1dVnpvmrRigWfHNi1+cFLNpvNAoGwp7vn5s07166XjdCQdiwEhF9k9hvLaLKSRmUjTMXVmtG4HXVM7n+lRtugkTLrz1HLv9XwKDabRcUmKrk0s+nX7Gg2GRRsspI9ZLXZlP+fvfcMjiJL1zD/bMT+2YjdjTtzI+beO3enfTce5Mt777289957772EDEgIUIMQIAkkBAh57yXkvZD33lZJZXN/JE3TvqebnqZ76okTilRWknUyKdWb3znfeb/ZvonH8cs9T6QnP54z+Vqu5HL56srq4eEvTLBsa20TcTmPSh51d/empaVbWli0tbZmZGR4eXjFxyWkpaaura17eXjevXMnOyvL1cWlq6vXx8vjyaMisVjs7uYWExNbXVPr7OySnZ3lYGdXW1v7y7rxQxfY0dpAhF3RPvcRDqLBwMGZeDiLiORTMWABYjYRySGhTfk0d1tDHydTe1OekIEX0HFCBp5FQPKpWDBpwslS39aYJ2TgwRFFLhktZOCFDDyXguaQUTwyxphPNxVxRGyyPodmzKUKGXgjLsXJUuTjZGpjwhXQcDwqhkfB8qlYMNKyMGCJGAQmHi5iEEDvJSPu67wMC32WEY8qYhJ4VKyISdBnEvgUDIeEEtCwXDKaRUAwcDAySg8L0UBpX0iJ/Z71WDK5fGFhoe9l39rqyru7mWrU/Nl4PxRL/q8YDXtS/yrhdu/G7sk7CVPeRqVSbY01T5QmrXQ9kUtP9uYHJ8qSV18+V8qlbx/zrX8ll0mW2oumn2Ucby/KpcdzDV9OPU3fmmj/vhVpX/9buVyxsrJaU12TkpwyODT0yzp8eHCQmRpvaWaWlJTS2t4RH59gbWXl5+fX1tb+6NGjouKi7e2d7KxrHR3tra1tjg6ON29/eftmbmdrIwAAtTU1To7OxsbGeTfyxscn0tLT+/v6flk3foj2lno89LLexc8oaAiLgGTi4XQslIGDgWkXLAKCTUSFeNncuhqWHu2TFO7pYm0gYhKMOFQzAd2ETxMy8BYiZmq0b6i3ozGXai5kWBtxzYVMIw4FDJvMBHRLEcOQSzcRcfU5FA6VyMDBhHS8t5P51diAnOTgtBhfWxOeiEmwM+GbixgCOs5UQLc3F1kbcg1YZH0m0VzEdLE2sDZkgyOKDmZCN1sjBzO+gIFjE1EcKkHEIAgZBAYJyyIg6Vgoh4Si4xAYmC5G93JceMAPXThYqPCdfz7VqPnT8O+iWP2jq4lfvpye3wMA4J1nJJ7sr09XZI6VxB5vzEr21mfrbk09TT9cm5JLxdKjHYVcplJ9/SWkAgCF7FR6vKtQyPYXRyZLk5Y6Hp1Kdg9Xp0cKQ6crsmQnRwAAqL7xtQUutZavLi83NzXl538ZGhpmb2ff1NR8eioViyX/bDuVSnf39pubm/v6+iQSyeraek1N3eTkpFKhWF5eXl1ZOjg4mJmd3d7aPD4WDw0NjowOLywura1tiMViqVQ6ODTU1Ni0t7t7IpHMzc5sb2/9gj58qx0fiyUSCTiT19XWSEFp6Zz/GA/TomGgNCyUioEwCQg2EUnDQOlYKJ+KjQ12SYn0cbc1SY30jgpwcbE2jPRzSgz3crE2YBORhmxSTKCLj7OFrSk/Mcw7Nco/Nco/MdzHw97E29HsalxQWoy/q42RMZdixKPxWTQyFmHIIiWEeeamhscGucQFu7lYG3jYm2bG+aVGe9ubCmyNuQmhrpnxgcGe9uYihputUUZ8YEZ8kK+zpbURJ8LPKTclMDsxyNnSgEfF8ZhUIZtmyKUa8Fh8Kp5NwXPJaBYRTUDB0doXkmNDv/X5UalU/+I0UTVq/qD8+RVLJldWtMxZhNWm3e0fnd4WS07f+TPs9kRHX67TXO1NuUyyOdI0ci9o9WWFQinfme5aaLl/tPN6nAf8WlIBwOH6zGJb0e50j0qpWGi+N3wveGu8TXYinipPG7rjf7w+A3xbsYCD/f26uvqcnJy01JTk5JTw8Agfb5+0tLS7d+7m/yIKCwsfP35cUlR898sv79+/X1ZaVlxUdCf/y8LCwgf3C+7euXP/wYN7BQV379wtLn5YVPTg/v37BQUF+bfz79y5U1xcXFpaWnjv3p38/KIH9woK7ubf/mW9+Jq8vLzC+w+mZ+YAAOhqayTBr2h88QEZpcsiItkkFJeM5lOxXDKajNIlo/TYRFRUgFNGnH9skFtmfECgh02gu01GnF+En6O1EQdUrEh/RxdrfSdL0c30iLyrUfmZ0XnpEbkpQVdjfG9nxRbdSrsa62XMoxrzGUYiPo9BEjEJHvYmCaGeadE+kX6O3k5mGQnBxbeTi2+nJkX4BHvY5CYH5qWFZcQFeNgZB3na3LmWcDcnITbI1cfJPC81qPhmwsNbadGBriYCGp9J5tDIhhyKIYvIp+I4NBITD2fg4XQsBKl9/ruKpUaNmp/Jn1+xjiTyq4UDTnFNV+/133o0srp58G7Pr1Qp1/oqe7NtN4YbTsV70xVZfdedDtdeiXdXxktiJp8kS/bX5SdHK73PFprub050KWQnx9tz0xVZY0XRp0c7x5vzA7c8pp9elZ8er/ZV9OU4rw9+z7TQ+tpaQcG9yKjo+PiEmJiYoMCgQP8Afz8/P19fXx+fX9ZAvnf7hw77yYN/cfP09AiPiOzu7QMAoKezGQ+5dPGTv9OxUC4FwyGiQB8mDhFJw8JISF0aBhru65AVHxDuY+9hZ2zIIQd5WMeHuFkasOk4OAMHMxcxUiK9nSxFTpb6mXF+ieEeqVHeUf6O93Njb6SFxwW7XU8KzkkKNBcxRQy8KY/Kp6KNuFQ/Fys/Zws/F4vsxOCbGdG3M6OzE0NyUsKyEoPiQ9zSY/2j/J1TIr39XS0D3KzSov1yU0LiQz0SQj3zM0Iz4gJuZ8ZGBbgY82lcNkfEIPCpGB4FLWLgeRQsnYjnktEcEgoH1YgLV3u3q1HzC/nzK5ZcoVrdOJ5b3J+c25mc2xWfyt7t+RUqxXxzYVeq8d780PHm7GC+90RpklxyuD5Y+/K6w0rvU5VKuTPd/TLbtjPZYDDfe32wVi6XrPVV9uU4rb58IT85Gi+JHS4IOtnf2Jxof5llu9TxSPWdKFAul6+trXf39Ny5ezcoMNDO0cXBybWstGxsbGzkT8HQ0NDE+Pj+3h4AAB2tDXjIpSuf/wMLuULDQBk4OB0Ho2NhYKTCwMO5ZEyot12Am7WAhqNjoXQsNMDNOibQ1ZBNomIgDBzMQsRMjvS2M+Fb6LMSQt3jgl0TQj0i/JxzUsKvJYWkRXmnRvmG+TgJaDguBa3PoXJoJHMBPT7EPS3GJ9zX/lpyaHZSaFZ80PWk4OtJQTGBzhG+DmkxvqHe9omhHn4uFuG+9plxfjfTw1KifAI9bDPi/LMSgvLSo/xdrY24VEM+05BD4dNwIi7DkEPmUnFUAo6C1qNjYQS4VnJMyLv9BKpR8+/Dn1+xvoPy3Y4KKgHVdMW1jjje/vzIwdLowC2PmZqbStnJzIvr3Vct9mb7AADYGm/tz3PvzbTqzbSefJKqOJVsjbf1XXeYrc6THe+OFUeP3AuW7K1uT3X3Ztsud5X+SP82NzdbWppT0zNcPTz7Xr7jlIf3hLamOozOBY3P/4HSuUhFQ9hEJJOA4FFe591xyWguBeNipW9lwAbT8Jh4uIWI5Wgh0mcSWXgEh4TSZxJdbQxNeFR9FtHdztjLwdTNxtDJUt/d1sjb0SQmyMXP2cKUT+NRMPpMIp9BFHLoZgK6g7kgKsApJcIz3Nfe1oTnaC6MC/ePDva2N+PbGnNdrQ3sTfkuVvqO5kI3W6MIP4eYIGdXG0MhA+9pb5IU7h3m42RlwDJgk/hMiohJNORS2Sy2kEEQMfAcIoKC0sPDtFDaF9SKpUbNL+aPqlgHR9KFlYNjyY8HTG87M73eWF47GBhbl30nn/6nROwHX1cCqumK7I443sHCiHhrYeiO//jjeJn4YKYypyvNdGuiDQCAzbHmvlyX3kzL3kzr+YY7StnpWn/ly+uOy52P5ZKD8ZLY4bsBkp3lnYmO3mu2S+2PlIqfWOm8ubHe29Ozurr2B52vV6lUB/v7Gxsbcvn3XGl7cz1S8+ylj/8HrXuJioaAnhdCOp5LRtNxMBoGysDBBHQ8E494k0BIx0JZBASPggFXU7EICAYezsQjQI8MLgUDeuaCs2I8CoZPw/GoGBGDwKNiOSSUkI4DzZzMRUxTPp1Px4mYREMOyUjAMuKzDDgkAR3HIaE5ZBSXjDYTMkz4NHDVF2hxK6BhTXhUfSbRlE8zEzG4NBKXjBYyCAIWRcQk8lk0PhXLISJJCB3o5S/iIn4wV1CNGjU/znutWCqVSqV6Y4fxjS/nlfXDrsHV3QPJd1/9bpbd2xsNL5dTCvp/nrvEDx2j+tYviy1FXakm2+Ptp4dbI/dDh+74Sfa39uaHxoqiZqpypZK9w435kfthXalGk2VJR2szkp2VmercsaLIg5VJye7aYL7P1NOrksPd9YHql1m2i23FP6lYf3RUKtXU1PTzyqrR0dGtrS3Q0vANna2NGN0LFz/5+1eKhaRhoES4Nh0LZeIRFJQeHQdjE5FsIopFQHBIKEM22cqA42Fr5GlvbGcqEDEJVoYcfxcLD1sjIR3Pp+HMBAwLEVNAx/FpOBsjboCrdYCbNVgQxMXKMMLPMcDN0lKfZWXADvKwDXK3tTHimPBpRhyKgIrVZ772ajLl0exM+PpMIujV5GptYGnAAldfCdl0AZ3AISINWCQj0CmKwxCxSEYckpBJ5FCJYFI+CaEDu3I2PlI9j6VGzS/k/Vcs5fzyflHlxLXigYdVk8VVU3mlo5NzOzNLe7XtCxtbR+2DK4l3XtZ2Lbxa2H1cM5VbNjqxsNc9tJp+r//e8/Ht3ePRV9uP6qZvlI7eLh9d3TzqHFm3iq7PLhkurpkWS6Rbe5KbZSMZDwba+5bFktMXLXPZRYM5JcOzS/sAAAxMbN4sH6vtWtzaEbcPrF4rHu4eXlN+p0ryznR3f57bUvsjuVQ8W5M3+iBsZ7ZfIZeu9j57VXntaHsBAIDDlcnNkZbj7SUAAPaXRidKE9f6KxXyk7X+qpfX7Nf6q2WnJ/MN+f15bjvT3cA312+pVIBcoZBKpTKZVCaXgU0ul8vl8je//pZNLnunb6RQKORy+cDQ8N3Coqqqms6OzvHx8e3tbaXy9VKk7o4mMkLjyuf/QOpcpGFhPAqGioHgYFpgdMUkIMD6I6BigUFPQqh7bJBbfIh7fIi7p4NpXIh7bLBbUriHl4Opk6UwO8E/NsjdTMhwNBemxQR8mZ1wLTkk2NPG0870WlJobmrotaTgUG+nYA+7a0mh15OCM+L8nCxFLCKSR8GKWEQeBSNkEII9rG+kR3o7mbMICA9bo7z0yAB3W2PQHl7AMuJSuWS0gI5jUUkCBtGQzzTiUoV0PJ+K5VMxXDKaQ0JjIRq65z/+3mojatSo+Tm814oFUtux4JHSklUy7JXUHJHblXS379aT0cbupYKn42U10xkFA7efjI3ObD7rnnVIaCysmGzsWU65/fJh5VT8zd7Smulbj0a8klvKGmeS7/Q9fDHZNLjmlNBYWDEWktVR27HwsHIy4/5AUe10dF5PQ+eib1pbUn5vWkFfbsnwyNR2QGaHRUSdc3xT2t2+qJyuyOtdo9PbSuW3h+Ike6sj90NHH0TIxPv7C0NTT9NfVV2XbC9J9jf2N6ZlJ9/OTpRJDvcWx07F++Ltxemn6ROP44835iTbS5NPUqafZ54ebgHfWXE8O79QW99YW99Y19j8W7aWr9rXO2sbmmsb3uW71De11De2Pn1eWVJSWlFR2dzY1FDf0NjYNDI6enJyAgBAe0sDAXZZ98IneJgWDQujYaAkpC44xMchoZgEJAmpi4NqklF6bBIK9FxPjfJ2szVysdJPifQO9XZMifKJ8HUM8bLzcjBxMBVcSwzITgg0E9J9nM1zUiMC3W3CfR2uxvhG+rncyojJjA/MTgy5lhyWGRcQHeDsam2QERcY4efsbCnydTIP8rCxNxMY86hJ4Z7F+emxwR4GTJKtMfdaclhCmJe5kCGg44Q0rAGbZMqnG/OoRgK2KZ9myCEJGXgeBcMhIbkklICGFdBwJKQOUuvc93pe/OFQLyBT87vwB1Cs6vb5jKKh1a3jmyUj1R2LPSPrOcVDlS3z959PxOb1fPlk7PVhPQtx9/p3Dk+fNsykPxxWAkB952Lqnb6UL1/efzYBAEDXwHral31Pm+auFg3tHp7cejySXzoSd6Nnem5HJlemFfTnPhxK/LJveumge3gtPr/3Uc20c3zjnecTX1ZPP29fqG6ey34w2NCzKJV9e8hOpZSv9j4fK4rcnmhTSCVr/ZXjJbHrg7UKhfzbg5JvIZPJVnqeTpWn7c68lEsly52PB/N91odqVYpv+wKrVMDM7Nzzison5c+fPa/87VplVW1NTd3ziqo3e55XVFXV1L6oqnn67J29y/OKqooXVWXlz4oelT0pfVL5orK2prahvmFsfEIqlQEA0NZUj9W7pHPuYxxUk4jQwUI1yShdzlersthEFKhhNAyUQ0Ix8AhjHjUh1D0+xC0m0Dk2xN3N1tjf1Tolwjst2tfbyZjP1/V2NI0PcTPmUYI8bDPigvTZRDdbw6w4/3Bfp+zE4KuxAekxfnlpETfSI7wdTYUMQlSAa3yIR5C7VUacf3qMv7udiauNQVq0b05K2NUYf2sjjpBJSAjzSon0sTJgccloIZthyKWC5rkGbLKIxzJgk8HoikPGsKgkHgXDJCCoGL0/TebFV2sL1aj5l/IHUKwXLXNp9wfWt8T5j0bb+1a7h9bTCvrL62fuPBnNKxm5WtBf2Tw3NbdbWjWd8HBwef+ktWc58FpnVftCekHfvefjecXDYdkdtR2Laff685+NV3fMJ97tX9+RZN4buFkyklU4eLNstLptPuZm95P66cicrqWNo4ae5dhbPfWdC5HXu8pqX3UMrY9MbfeMrgdd7wrP6dzaE3+zgyoAAMTby3N1t6aepol3lmQnR+uDtbvTPcof9RWUnYq3xprXh+oUSvnR+sxEacLkk2TJ9vL3HiyVSvf39/f2dvd/Qw56e3qePi1fWVnd3z/Y3z/Y39/f3d3f3tre3d3d33t9DLj/V77R/v7ey/6B/MLiwqJH1dU1ExOTu3v7MtnrPJr25jq01nmNLz7EQTUxepfhmudxEA0qBkLFQOk4GAUNoWGgNCyMjNIjwrUJCB1zESM5wisqwMnX2cLHkBHkYh7sZWNtiY8Pdc2IDzQ1JHrYmySFe5gKGAGu1lkJITYmvCAPm6z4gKgA58RwD2crfS9H08z4oFsZ0X4u5lZG7Iy4gGAfFwGTYmPIthAxDTmUCF/nvLTI7MSgWxlRgR62JnxafKhXXLC7MZcioOMMeQwRk8inYkBrQQ6VYMgh86lYDgkpoOFFbBqXgqGgIUS4NvTyFwl/zFHBt8zD3sRXKgAAVF9NCave2laj5jfiD6BYgxOb1e3zu4en9d2LY9M700v7w4XSTAAAIABJREFUNR0LfSPrDZ0Lswvbz+qnA693VXQtdg+tPu9c3DqUisXS+7Wvwm/2Xn80tLp5+PDFhGtcY9qdvqz7A7MrBxMLe+XNswdH0tq2+fa+lanZnZSC/pjC/qq2ueXNo6KGmc09yejMTkXT7O6epKJ9IepOf0nFxPDEZknzXFj+yxfNsyfS76mNolTIt1/1TJWnLXeWnkr25VKJQioBftS7XalSKk7F8lOxZG99pvrG9LOM/YWh3/dvvqqq2sfbb29v782ew4PDJ6VlQ4OD7/y9pqemy5897+0f3Nrakn0zY7CtqR6jcx5y6XMySg+jdwUH1cBCNMgoXRoWRkTo4KCaOKgWAa5NROhQ0HpMPNzWhJsU6WVvJmCTUPpEuJe9cXqsT0yozdVYn6RwLzcb44w4/zvX40O87DzsjK/G+l9LCrueHBbu6+DjZJ6VEBgb7Jkc6ZcY5hXl75SZEJiZEHI1NsDR0pBJRINVTow45LgQj8gAFxdrw/hQ9/gQ9xBPmxvpUbmpkS7WBkZciiGHxCWh2EQkl0kT0PB8CppHeW3SwSWjhDQcm4hk4uF4mBbsypk/SubFxsZmZ2fXq1czKpVqY32jvb1zZmZWpVItLS23t3cur6yoVKq5ufmO9s7V1TWlUvlqZqazs3Nzc/P37riaPzN/AMU6lSokJ3KFSiU+lZ9KFTK58uRUfipViCUyAFAdi6VTywebB6dSmUJ8KlcoVQAAHJ/Kp1cOtvdPAAB4UDFxq2RkYm53excspKs8PpEplaqTU7lUqgAAYG1bPLN+KJUqVABwdCJXKFVSmVIikYPnmVw+WNk4OjmVr+5K5tYOT6U/mMUnl0vWBqsmy5L3Vkd+zrW/GVLZmxucKE3YHG9VKn+fypZKpbKttdXf118kNHRz8xgZGcnJyQ0JDW1oaKitrr5yWYvHE3V3dVVUvAgKDLqRm7u5sfEr31GlUh0dHG5ubspk0m+9AgBAe3MDWvu85pkPcVBNcL6KiNChofWYODgepoWFaBDg2iSkLhmlx8DDRQy8mZDuYm1gKqAzCXA2GW3AJrnbGkcHuEX4OtoYcawMWJF+TtGBbt5OZhb6TF8Xi0h/Fy8HMzMh3VRA93WxjA50C/N1sjHmmgsZod72AW42NsZcAxZRSMeDtRyNuRQnC5GlAUvIINgYc11tDF1tDMN8HMN9HO1MeTwqhkNCs6gkJhHFoeBAq3gaicyjYFkkNJ1E4lIwTDychoUSEToo7Qt/CMVSKpXDwyMPHxY1NTVLJJLhoZHi4setre1Hh4fdfUMPikp6enulUllLS1tRyaO+/v6jo6OWltb7JWUDA0PqKS41vx1/AMX6NahUqtWNo82do9/o/N9CdrJ/sDbzUxVDvs3p8f7hxoJcdqICgH9ZUce3mZiYcHRwDAsNd7Sz93C2Hx4euXu3wN7e2cPd81FJMY/LDwwInl9YeFFZFRYeweFwHj969Jv15bViobTOnf/gb0it82CJLBxUkwDTIqP0yCg9KhrCxCNoGCgdB+OS0SIGnkVEsokoLhnNIiLYRCQNC2OTUIZssiGbzKPiuAyqIZsMKhCfhjXmUUUMAoeENuHTwZknYx6VT8fps4imAroJn8aloAV0nDGPZiqggyWvwBLDXCZVn0sz4pD4LLqITTVkkwRsGp9OYBHgTDycS8XzKFgOnSxkEDkMKp9J5ZBQXDKGQyXyqRgmHk7BQAlwbZT2hdS4P0DmhVKhmJ6aamrt6B8cOj46mpqabuvsHRga3t/bn5iaae/oHBsbP5VKB4eG27t7R8fHDw8OBodHmzt7xsYn1Yql5rfjz69Y37v92/Er3+N3+Wuvr6szNTWdm5t/9uyph5trS0tbSmIcj8UwNDKrrHgWERFRXv5MpQJu5t20trJCw/Xu3Lrxm/VFBQBAa2ON9oXPPv3fv8Euf4HUvoDWvYSFaOBh2jQMlEVA0HEwcHiQjNJjE5EMPJyM0qOg9ChoCBMPZxEQFLQeBQVh4uBMPJxNQglZZA4Zy2FQnSz0vexNjLgUFgHhaC5MjvCKDnCzEDG5ZLS1ETsuxD01ytfBXKDPIga626bHBEb6u5gLGWAdSD4Vw6XguEwan07kUXEcMoZDQgmYJAEND5Yh5lMxfCqWTcZymXQenSSkYVlgKS8iEswZIaP04Jrn4BpnEqP/AJkXCqVqZXVtdGx8bn7x5ES6uro2OflqcWFRLJGsra2PTUwvLq/JZPKFhcXxicnFpWWJ5GRhcWl8cnJ5ZU2tWGp+O/7kiqXm59Dd1WVsZFRw715QSKiRsVlCXLyJsZGttTWXy3tRURHg7ZGSEN/S0mZhZm5jbY3F4rKys3+zvqgAAGhrqoddOXPmg79BLn2G1L5IQuqwiUjQSRacEKJiIK/jLQyERUSC5YkZeDgNC+WQUCwCgk1CsQgIsHHJKCYBacChpUb5ZsQFmgkZ9qa8jDi/jLiArITgEE9ba0NOcqR3bmr49eTQpHCvKH/n7MSQpHDPq7GB/q7WAjqeR8HwqBgBFcsmY1hEFJuIYOHhXDKax6QyCCgWAUEh4rgUnICKZRMQTAKKTULp89nGPBoNCwVFlE1EklF6CK0LMI0zf5T1WDK5Qiw5OZVKARUglytOTk7A1BiFQi4+OZHJFQAAyGRyiUQCGpdI5bKTE4lc/vuMbKv5N0GtWGoA8fHxvbsFFhaWDg4ON2/lN9Q3eHv52Nk6xMXGzs3NFj986OXp+fTZs9TUVHs7Oydnl+raut+sL6Bi1aG1z1369O9wzXNwzXN4mBabiGIRkTQslIjUoWNfZwyCs1ksAhK0FmQREFQMhEVAsmkUPg3PJiCoGCgZh+WQ0AwcjEdBB3pYp0X72pry/Fwtb6RF+LlYBnlaJ4V7hvs4XU8K9XW2cLc1zIwPupURk5UQ7OtknhDqFRPkps8i0LFQLhmtzyTyGFQmEc0kEwRMspCG5VHxHDKGRUCwyBgRi8hl0IRMIoeIEDEJhjy6iEnkUdBCJpFNIzNwcDxMC6Vz6Y+iWGLxyebW9ubW1ubW5sbm5ubWFtjebK9uHKxvbm1ubW29tR/cPjr6Fw3Cq/k3RK1YagAAAE4kJ3NzcysrK2KJRC5XbGxsLMwv7O3tqVRKsUSyvLJ8eHhwcHCwsLCwvr5+cnrym3UEnMeqR2mdu/jxf+td+ETv4mdo3UtklB4FDaGgISSUHh0LFdBxXDKagtKjY2HghBYYTnFIKBYBySKheRQsGxyOo+D0WSQuFcekkqyNODFBrhb6TBsjTkqkb25a1LWk0KuxgXHB7hmx/pYGbHszQXqMX2yQW2KY9430yIKc5PhQT0M2iUNCgeEdl4oTMokmQoYxn85l0nhUPIdOYZEwfAqay6DR8Gg+DavPIvKYdD4Nz6ZRBDScgI5jkdAUNAQH1QQV6z3Pbj85OR0am3zR2FbZ1Fb9w62yqaOqqf3Nry8aWl7vb2ytbGiZXVz5va9DzZ8TtWKpea/4WrHOf/g33QufYiEaWMgVtO4lPEyLhNSl4+BMPAJMHOeQUHwqlo6FMXBwNgFBQuhQ0RAqBkpFQ1hEJI+C4VNxXAbNgEMxYJNFLLKjuTAl0tvJUt+ERwtyt82ID7yZHp4c4RngapkZ5x/gahXu63A11s/d1jjI0/Z6csida/GR/s5CBoFHwfCpWC4FwyYieRSMEZciYhLYJAyXjOHR8DwqVp9F5NMIVAyURYBzyCg2CaPPIvJoeAENJ2IQaBgIk4iikwlIrQu65z96zxVr4tXcw/IXj1/UVta3Pq1pKq2qL62sL62sL6tuKK2qL62sK62sK6tuKKuqL62se1LT+KSmsbSy/nFlXWllXXlNY0Vdy6MXteVVtZtbW7/3paj5E6JWLDXvFV9nt3/xv/+pdfYjLOQKHqaF0rmI0rlIQuoywGkhAhKcHGITkVQMFMy5YODgDBycioFQ0BAuGBXRqVwqHrTNNRfQkyK8CnKSUqP8HC2EsUFuBblJOamRThYiQzY53NcxPzv+dmZMkLuVhT4rKcL37vXEtOgAOxMeh4QWMvAGHBLo4M4mItg0MpuCY+HhPDKaQ6fwaHguGcUmIph4uJCBZxEQdAxUn0XgkNE8DlPEIlExECYBQcXCUTqXoFc+f68USyaTra2tLy2tbG3vyOTy09OTxraO+2XPK+pbSp5XlVRUP6trfl7f8ry+paKhFdx4e7uiofXN9tPapkfPq0srairqW4rKX/SPjAMqlVgs3lhfX1xc2tnZ/WFraTVqfi4/rVgqAFACKhXw801ZVKrXx/80asVS8zagsUJ7cx0YY2mf+why+XM8TIuI0EVoXSAitEFrQXAMkPaVVoGTWDQymUlEUzEQUNVYBASTgGLi4WSkLhmlJ2IS3O2MA91tvBxMTfhUFyuDcD83Vyd7fSaBR8FYGrC9nczd7YxN+DQBDWdvJvB3s3a20BfS8Twyhg9WJGHg+Ww6l0bgUXHgqCMNC+VQsBwymktG07AwKgbKo2JBm3Y+FcujYlgkLBGHxcO0CHBtChqCh2m9b/NYCwuLT58+a2ztGJ2c3tvfE0sktY3ND8pfFD2rLKuqm1tc2t3bW1peWVxeXlpZ+YG2urC4tLC0vLlzsLC4/LSm8WH5i/ulT7v7R+QKxfLK2uDIWEV1fVNDk1gs/ukOqVHzo/ysGEupUimVyh95RFKpVACg3Ng+XFg7OJUpFErVz8xwXVk/rG6dk6kVS81rvl6PdeGj/4Jc+gypfYGI0GESEDiIBhGhxcQjqGgIBQ3hkNBgbWIuGf1aJ4goFgFJxUCZeDgNA+WS0QIqVkDDsUlIChpCwUDoeDibhBLQcODgHpeCETKJ+kwiOMYooOGMuBQhA8+n4gw4JCMuxUzIMGCTuGS0PosoZOBFDIKpkGnMpfIYVBYJC9rGs+kUHhXPp2FZRCSTgGATETwKhkdBs4goNp3KJCAoGCgDByehdAlwbTxME6ZxJj7iPVKsqanp+4UPauubhscnd/d2xRJJbVPL/bLnt4pKW3v6ZTJ5XW1dRHh4SHBwWGhIWGjod3/GRMeEhoSEhYa+qHgukUjaegdu3C8peFTeMzAiUyiWllcHhkbLnlc/e155ePBtS2g1av5ZflqxDo+lzxpmG7uXgJ8SobKGmZulI2PTWy09y+tbP+d5SjU5u93YtaSOsdSAvB1jXfrk73DNczCNs2jdSzQMlILSIyJ0QNd2ElKX+VUgRcNAKEQyk4jhklFsIhLUMwYeLqTj/ZytYgJdIv0c7Ux5Biyip71JqJetl4OZgI5nEZG2pnwbYw5Y8tHZSj8mwCXEy9ZUQNNnEr0cTKMDnT0dTAU0nICGC3CzivR3cbI0ADPd+XQCi4jkkFAGbJKAjudTsSIem0PB8ihocK4LbFwKlk1E8ihYPhVLx8GwEA3olS/0zn+c8D55XhweHY5PTo9Pz6ytr0mlUolYXFHfdLuo7EZhSffg6PTkpI+3t0hkYGVlbWVlbWX59U/Lr7atrW0tLa3NTc0d7OwnJ6d7BkdzCkvyHjzu7h9RqVT7+wfzC4vjE5Oz8/NvfCPVqPnF/LRiTc7u6gdUeqS0rKwfAQCgUCqkUqlCqVQqVVKpXC5XAIBKfCIXn8gLKiayHw72DK4+qJicW94HAEB6qtjZP5GcfL+zkeRU/qxxZmZJ/eSl5g3fiLF0z38MufQZXPMcSvciCalDQb9ehkWAa7/JHiTAtYlIPQYeAS5+omFhFDSESUA4mAuvxgbGh7onhnumRnknhrpnxPklhLpnxgcFuVu7WBncvBodF+KpzybZmfCuJYfevZ54PTk0wN3az8X8amxATkp4SpSvtRHHw84472r0nWsJ4X7OhmyygI7jMWlUPIpLQhlySEI6nkfF8Wl4MMYi43FMApKFRzDwCBoawiSiOAwaj4KhYqAkpC5S+yLsyhfv1aigUqU6kUolJxKp9FSlUh0fHVXUNd0oLM64VdDeO9Dd2eHl6enk5Ozh4eHl5e3m5u7l6e3m5u7l5ePu5u7t7e3m6ubl5ePh7u7m5m5lYdk3ONo9OHr9XnHOveL2ngEVAMgVCsnJqVgikcnVcqXmHfATiiWWyJ7UvorJ7U7K761qnQcAYHHt4FH11OLKwdaOpLRmempud3dfcufJ2LUHg57JLVn3BwfHN8pqXy2vH+4enhY+n0y63ZtTNDS/vPcmQgPrFMjkit7htYrG2e8W71DzbwyoWK/nsaCXP4drnYdrnodDPsajL9AwMAJcGyxB8mY9FgUNIcC1yEhdChrCwMF4FIyISWSTUI4WwuQIb19nc19n86z4gNyU4NggVzcbo+QIr4RQdxcr/aQI78RwHwMO2dnKIC89KiPW/3pySEqUn4edibmQ6WguzIgLiA12TY/xv5EWeTXW39vJ3JBDEdBxfCqOR8EImURDDllIxzEor/M7KGgIh4zhU7E0LJSCgYLVk/lUHI+KZRIQZJQe8kfXY0kkkq2tbYlE8r2v/jLkcvmPL5DaWFuvra1vbeuYnJw6PDwUS07KK2vTbt1LuXGnvbe/va3N2cnJ2tLS3tXDytnDysnd1t7R2tHV2tnD2dXV1tndxs7RxsnN1dXNwt7ZyspqYGiovXcg/WZBxu3C9t4BhUKxsrI2MjLa2NDQ2dl1evpjpQzUqPk5/IRiLa4dpn7Z19i5WFQ1EXe7BwCA4dmdsNzuwYmthdXD6Jzupu6FkpqJkKyO5q4l77S2qw8GmnuWkm69HJnauPF4KPH2y66B1bhbPal3+nYPXn9eZXLF2tZhc8/Si+a5/YN3+fep5o/Pa88LpObZS5/8D5jUjoVoUNC6dDyMANfGQjRwUE3QaRDUrTcTV2BqAxMP51MwbCLS0oB9LTHkVnrwtaSQa4mBKZHeuanhWQmB2Ykhvk7mfCrO3dYo0t9Jn0VytBBmJ4VkJwTnJIckRfiY8KgGbFJssHtCqJefi0VGbEBuamRuanhiuLcJj8YiIPg0HJeEopPJHBpJQMXqg46FFCwdC2Pi4TwKBnToYBEQXAqWS0aDvxKQEF1Nje9dj3V6ejr9ajouNi4gIGh2ZuYd3s3j4+PUlBR/P7+urq7v1cKZVzMPSkqrG9tHxif39vaPxZJHz2tSbxak5N1t63nZ1tZqa2trYGBoY2tvZWVjY2NvbW1rZWVjZW1rbW1r9WbbxsHUzMLU1LSvf7Ctpz/1xp20vLvNXS8VCsXS8urQ0EhFRWVFZc3R4T/nt6lGzXf5CcVq61uxCK3Jutfvn95mG9ewunU0PLcTfL1rZGp7ZfM45cu+Zw0zGYX9BRXjAAA8qJ6+XjxU0zp/9W5/U89SUGbbi5Y5AADqOha8Ulvn115/XpfW9tMLB26UjMws7QPqYqZqvoEKAICWhhrY5c/Pf/g3hOa5N+JEw8LAhVmglTtC6wJa9zINAwVz85h4OBUDxcO06FgYaKFkyqfFBLn4OJkFultnJQRkJwYlR3g5W4oczIUmPJo+kxjoYRMT5GLEpfi7mF9LCnKzMfawM4oLdgv2tMuMD8yIC7Y0YJsJ6MkR3sGetoHu1rmp4c4W+mwiksugcmkkPhXLoVF4VDyPiuNRsQZskoCGo2KgTDyCT0WDafcELIaChrAICAYORoBrY6Ga36qPJZVKp6emrmVfMzUx1dTQIJMpgwMDSpVK8S5QKpU7Ozu2NraffvSBSCSKj4/vffny8ODw7TReiUTy6tXM1OTUyuqa5FQmFktKnlYmXs+Pv3arufNlR0e7hYW1QKBvZmJqKBJZWFiaGBkbiESG+vpfNwMDgbm9QCA00jcY6Otr6uyNy7qZcO12Y9dLpUq5t7+/uLg0MTmxvLLyu7g8q/mT8WOKdSyW5hQP+6W1dbxcfVTzyi2xubR2emb1IOhaZ1XbQmP/ind6W13HQu6jkav3ejd2jhO/7Lt6v7+ucyH59svOwZWE/N6bpaNr2+Ib5ePh17s2tl/nYiiU8q09SW3HQkXT7OauOsZS8zbfWEEMvfw5Ru8KHqaFg2oRETpUDBRMviDAtfEwLSJcm4zSY+BeB1hklB4ZBaGgIVQ0hIGHWxqwUiK9E8PcE8PcsxMCUiO9/ZwtwHCHSUDYGHGup4TezowNcLP0dTbPTgxKDPNMifSKDXJNifK7n5eSGR8Y7uPg6WAWE+iSEe+fmRCcFO5lLqTzqVhDDonLpHFpeD4NxyaiaCQyk4jRZxH5NBybiGQTEEwiikNCU9AQMhpCQOiyCAgKSg8P00JqXdA591FCZDB4qXPzC6mp6YYGBlQKlc/nw2BwGAweGxNbUFB4Iy8vL+/mr2z5+fm5169zufzz5y/icXgOhyMSCMLDwru7upVfZfMqFYqjg4O9vb2jY4lSqTw8Ej948iIkKSskKbOpo7uzo93MzIpIJIv4fJFAwONyBTyeSCD4VuNwuRw2m88V9Pf1NXb0RKXnxFzNrW/vBgBAJjvd3z/Y3tmViCXqZ1M1v54fU6yljaP42y87B1YBAFAolI9rX+WWDIolksLKCY/U1tCczsjczomZ3dG53eCcrpCcLu/U1tK66b7R9esPB2eX9wYnNoOzOgKyOqJu9vSOrKuUXxUuVSkBQKVUqQYmNp82zJyeqqdk1bzmG+uxPvgbXOMsDqqJhWhgoJdw0CvgMCBY1JGKhnDJGDoODqZgvMkhBFdoUdB6QgbBz9kiyMPa38XC0VxkKqAbcajgumMGDm6pz4oOdA7zcbA25BjzqF4OpuE+9mE+DvZmQjdbo/hQj7hgt7ggFzcbQytDTqC7TUyQq70pn01CMXAwFgHBpWAENBybTmER0TwKmk1EsmhUFgltwCLyGUQSHkvFwOhYKB2HIOGwPCoWjLG+pVhlZU9QSBSJSOSy2TQqTQ8CP3v20pnPPj//+WdnPv/07K9rZz779Mynn5w/88Xly1cuXtKC6EHZTBadRsPj8fFxcScnr4fo11ZWq6uqmto6RidfHR4eiCWn+cXlrmEJruGJtS0dXZ0dLDZPU1Mbh8FhMVgsBotBf/9POByBxxH6BwbrWjrdg6N8IuIa2ruVSuXq6urg8FhVfXN7W/vJyW9n7qXm34UfUyyZXLG7L1EpFWBF7BOpYudICgCqE6ny1erR4vr+wdGxVKYEAGB9VzK1fLizf3x6KpVK5YfiU5lCCQCqrX3J9Pzu5q74O09XSgAATmWK8vqZuaV99bOXmq/4RowFufQZXOs8XOM8HPIxFnEOpXOJANOiYWFvcgVB+3YKGkJC6fJpWBEdD/oziRh4IR3HIaPIKD0qBsomoflUDBUDBb0HwfogHBKKQ0aziUh9JoFLRtMxMBoWxiIgBTScAZskYhH5VKyIgWeT0BwSWsQg8KhYAQ3HIiIZODiPgjFgEXkUDI+KFdCwbCKSRSWzyRh9NonHpjMJSHBCi4qB0rAwsKIjGaX3LcU6PDiorakJDQ5hs1gXL176xz8+gEGg0VFRd+/ezbuZl3fz5q9qeXk3bty4dj2HwWJ98vHHn312Bo7Eurm5PXhYtLqy+uZ2z06/uv+wpKKuaXhs4uBgXyw5yS8udwmNdwmJrWlpb21pptPoZ8+cv3xFR1NTR0db98oVbU1NnStXdDQ1dV5va+hoauqcPX8Fg8a97Buoa+n0CInyiYirb+9WKBRLS0v9g8NlzytrqiqPDtUOuWp+Lb+nS5NKpZqc22l/uaJQqAe41QDAN2OsCx/9N0LrHFL7IkzjLErnIhZyBQvRoGIgdBwcD9MCRwi/2gNztBBG+r0uCuxoLowNconyd/ZyNDFgEW2NeTGBrtGBzuYihgGL5Glv4u9qbcgmsQgISwNWsJdDsLezMY9KRUMoKAgepk1G6nJIKCcroYuVPoeMMmARfZ3NAz2sTQV0Pg3rZCUK8bJ3szUS0HEiBsHGmCdiEuh4JAMP51EwBmwSh4JhE5F0HJz+laM8WMELD9NCaJ7TOfdtX0GJRFz1otLZxe3MmXN0KmV0dPQd3s/9wyNbV4/PP/3EwMDwy/w7S0vL3zpAIpHMzc/Pzs1tbmxKpafHR0f5Dx87BUTYewdVN7a0tbRQKbRPPjt78bK2pqbupSs6mpo6X/0E92hraGpfuqJ95twVGBzd29tX29zhHhzlGRZT09KpUqkOj47W1tZevXq1urqu/jNX8+v5nX0Fl9ePmv68Lk1KhUIqk0mlP9hkMvn7E1/+k9MMKgAA5HL57u7uO81afh1jITXPanzxAQmpi4VowDTOwjXPIbQugPWIiQhtAlybiNABM90xelc4ZHRimEdCqHuYj11MoEtyhFdalE+kv1N6rG9CmHtiuGdqpFdmnH98qIejhehaUvCtzFg7Ez4DB3e21L+ZlXwrN9PD1pCOhVHREAYewcDD9VnEtGivLzMjLPWZNoacm1fDim7GhXrZCpnE6ADHh7fSctMi7U15ZgK6n4uVAYtEwKAoGBgLDxexiFwmlUfFcUhIPEyLgoYw8Qhw0BIL0YBc/kL3O4oFcnh4VFLyKDP7+vLq6ndf/cVIJJKioqLcnJzFpaXX9/eb/8sKheLo+Pjw6Ojk5ESpVB4dHd+6V+TgG2zvE1Tb1Nre1obHET788LNLl7UuXNK8cEnz4iXNi5e1Ln61feGS5vkLFy9e0jxz7hIUCu3p6a1qaHULinDwC6tu7gAAQCaTSSQnR0eHEol6HkvNO+B3jbEAYH7tz6lYKqVyfXOrd2Co8+Vg7+BYz+Boz8A32+Bo98BIR+/g5Mzcyb92nco/9cWxurq6uvKDlSPW1tZSUlL7+vreRb9A3qo28snfYRpnQLnC6GlQ0FAySg+tewmlcxFMcAeXZME0zpGROmE+9imR3oHuVgFu1vEhbhG+Dq7W+omhbknhXnYmPEMOJczHISXC14RP83Iwy4gPtDRgUdAQIZ0Q5uN4OzPW0UxAQuo5mAmiAlwCPWz8nC3SY4Mef5kSG+Tk52JxKyPy4c34nORATwfTuGDXwhsJ924kX40NCPHcAHVEAAAgAElEQVS0C/a0M+HT3pQj4ZBQPAqaRUBQMVDQVJ5FQIJyhYdpITTPfzfG+tbFv/Ov9R8/4dLScvmzitr6xtHR0f2DfcnJ6a3CEjuvQDvvoOrG1pbmVhyO+MGHH128ePHCV5w5c+7cuQtvc/78hU8//UwXAuvp6atsaHXyD3PwC6tp7VQqlcvLy/2DwxUvqhsbmyVidZqVml+L2rv9N2FldbW8qv5uaWXR06qy6oYn1Q1lVfVvt9Kq+kcvakueVRaXv+juH5LJpP+yvimUSgAA9vb2uru7R0dGT0+lG+sbnR0dk5OTMpl8b293fHz8ZW/v6urq/v5+dEycl5f31PTU+sbm8NDA0sLcyenp5OR0e3vH5ubW4tKSnY1tdXX1u+vd64qOCI0zFz76L51zH+ld/BSUKAYORsfB8DBtlM5FjN5lMkoPnNBCal/kUzHutsbhvg7p0T7JEV6pUT43UgIz431vXw0JcLPWZ5I87U1TIr08bA3JKF0BDRcf6mZtyAaNAZ2t9LMTgm2NeTQszNXGMDbYJTrAOSrAOS3KJzXKOy3a51ZmTOGNhJzkwIQwj/QY3xtp4Q9yoxJCXJIifG+kR8aHuFsYMPVZRB4FQ8NASUidN/ZRoMMTj4Kh42BEhDYWckXv0ue6Fz55M4/1PjA3M/uotLyxtWNiYnL/4EB8LLldWGTu6mvq7P2ioaO+oQWDRv/j//vH2bPnz5w5B7ZPP/38iy/Onj177s2eL744+/f//eCSFrS75+WL+hZL9wB737Ca5g6FQrG8vDw8Ml5R01BT13h8fPx7X66aPzzvoWJ9/Uj4fY+Hqrc2vrH9A8+SKvBE3zzhPz389U8dIFfImzp77xY/GZ1cauzsL6uur2xorWpse7tV1Lc8rW0cm5qtbe4oKn++uPwvrYC3t7eXnpZuqC+KCAtrbm6Njoo1MjBwdHSsram9f/8+l8sVCAQRERFt7e0sNu/SRY3CewVh4VE8Nr20uLD82XMnJzcuh5uclNzV3ePj7V1fX//uuvb1eqwLH/2X9tkPoZc/R+pchGudJ8A0SUgdHFQTB9UEk93JKD2wTKKZkB4b5OJqYxjsYXvzalRWQmCIp52brXFiuFdiqEdyhE9+Zniol60Rl8KjYF2t9HNSwnydLQ3YJDMhI9zX8U52TKi3vYhB4JLRbCKKR8E4mouSI3087IzdbPQLbmaWPsjPiAu0M+GFeNrcu5FcVpDu7WhqZcDJSY1Ii/Y1FdDeDP2B2fYMHByc1uKQUEw8HMxOxMM04ZrnYBpn4t8nX8FTqWx5eWVxYXFjc1smVxwciXPuPjRz8TFy9Kqoa2ior4dAYf/5n3/78MNPP/zwE7B98cXZjz/+7IMPPnmz58MPP/n73z+4cOFSW3tHRV2zlUegnXfQi/pmlUp1eHS8vrY2v7Cwtb39M+s5qFHzI7xfigUaOKlUyq0d8f7hyfcsOVQpX9c/ARQAoFIolOAe1ev9AAB8y2Ne+dWJVW+JnEomk0/M727sfMOu9+RUNjm3u7Mn3twRn5y+CXpUcoVyc0eyf3j61RsBb5kCq05OpVPzO5u74jfSdSw5rm3tvF9W0dbT+6Kh5WH5i7Kq+idV9U9qGsEA60l1w+MXtY+fVzd3vnxW3VD05Pno9Nyvvpf/BI1NzUKBYW9vz+LCQlp6hp2tw/z8/M28PCcnp9iYGHt7h+cVlU5OzmVlZRlXM5ISkzY3NqytbGLjE9fX1l2dXXOv5U5OTro4O6Wmpnp5ejY1Nr3b7nW2NmJ0LoA1iGEaZ3FQTQJcG6VzCal9EQfVAOeuMHpXsBANMMZi4OEhXnap0b4pkd5RAU7RAc4pkV6xQW5p0b5J4V7Xk0JvXw1JCPPwd7OyNxPEh3jkZ8UnhvtYG3MczIVpMf752QlpMQHWhhwuGc2nYpl4uDGXEurtYGfC41IwEX5Ot7NiowJchXS8AYuUGO6Tnx3vYW/KwMP9XMyjA5z1GXiM3hUySg8UPAoGSsVCaVgoHQslIXVJKD1wAJOChiC1L75viiWTyTc3t9bW1nf3DuQKxdGxOPNWgYG9h7mrX3VDc2d7+2Vd5P/xf/5f//mXv/z1P/7y1//461//4y9/eb3x1zd7/voff/l//+//5+K5s729L5/VNlu6+ti5+4CKJZacbm/vrK+t7e3tKVV/tqEUNf963ivFUimVCgAAphb2gjLaH9VMvX2kXKkEZUn1lSCpAODl8NrA+IZSpQIAQKFSyRVyUMkAAFAolIBKDgDAW7KnVKoAMGFJIjm99mCwuXv57cBsbmk39W5f79hmZ//q9u4xeE4VABwdSzv6V6dmd6bmtzsHlmVSGQAAcoUSPPPmjiSzcKB94OsJc7FEXNvaUVj67NbDx/celRc/rSx+XlXw+GlB2fM7JeV3H5UXP6ssKq948KTi5oPHd4vLCsuejU3P/rO37vT0VCb9JWOJKpWqsqpKKDCcnHq1ubmVmJDoYO+wt7dfXl7u4OAYFxufefXq+vq6t5f3vbsF2VlZMdHR83Pz/gFBT589Ozo8dLSzKywo2Nra8vDwTIiPd7K3r697hzEWAABAV1sTDnLx4kf/g9A6j9S+hNXTAOeBMHpXMHqX8TAtjN5lAlybANcmwF87YvBpOBtjno0xj0fDWeizfZ3N/V3MXa0NzIUMKwOOu61RsKetj6OpKZ/uYCbwsDWyNxUYcsgiBsHSgG1vKjAXMkUMAo+CEdBwXDKagYMLaDgDFllAwxmwiFYGbGMelU/H8SgYCxHTzoSrzyJyKWghg2AioHHJaDJCh4LSY+LhYEoIWKCLgtYjIXXoWChoOYiDakAufwHTPPteKdbiwkJpWXlNfdPw6Pj+/v6JRJJ9q8DQwUvfzv3x86q93f2khEQOkyHic0UCvr6AB/4E25s9Qh5HwONGhwZsb289rqw1s3exdPWubGhRKBTLyyv9Q2MvqmobGpvV9bHU/HreK8UCAAAQS2S5xcN83xdXCwfAPSqVamXj6EXbfHv/ytzSQffw+tzKwdzKYffQmmd2q0lC49jszv6+uH1gtaLl1erm4daupKlvuaxppndkpWNw9XH9dFH11Pzyvlgibe5bedL4amByc3f/KCW/t6Z1ARwn3NiVVHQsZhcNuqe19k5udQ+trW0eT8/vPqydLql/1dyz1D202ju8lnL3pU1UQ9fQ2sLaQUXLXHnz3Pq2eG9fkni3r7F36c0lHIvFlfXNtx48KnhcXvi4/O6j8pv3S3LuFd18+PhmUWnew8c37hXdfviosPRZUXlFfnHZ7eKykYnpn3/TTk5OxscnnpSXz776hR50r2ZmXF3cPdzds69dL7xfaG/vEBQQ5OXtc+duQWZmVkbG1dXVleDg4MePHxUXFxsZGt0ruBcWGl5a+hgAgOvZ122srN3d3UNCwmtqany9vRsaGn5ZN36I1sY6uMYXFz76b4TmBSzsIgZ2Aal1EYxUQNMmElKXhoURETpwzXNf+TbponWv4KBaJKQuEaGLg2rSMBAyShcP1wYrF4ODdXQslIqBkBA6VLQej4Jh4hEEuDYerkXHQl+XCCGjWAQEHQtl4OAcEppFQFDREDoWyiGhjDhkQx6DQ8YSUVAiUo+GgVBQehTM639IxiKZBAT9q7VidCyMioFySGg6Hk3DQAhwbZTORbjGWcjlz9+reaz5ubmSx2XV9U2jo6P7B4dHR8dXb9wxtPcwsXOJTsscn3q1urI6PDo+ODI+MDY5NDYxMDo5NDYxPDY+PDYObg+MTg4Mjw2MTS0sr45MzcRk5Jo4uBs4eD6vbVAqFUtLy4NDI8+qamvV81hq3gXvl2LJ5Mq2vtWc+4MF5WNflo+DOzd3xRn3Bmwj6iwi6rMfDN6vmIy40Z3xYLCudd73brdRSsPg2Pq95xOuKS0mYbWZhYOVzbMu8U3pDwcf17xyimtMKeiziW6IvtG9vHrwuHo6IqfbP611cHw1q7C/pWcJAICTU3nhs/HoG92x+S/dU1o6BlZuPR5p7Fq6UTwcnNluF1Uff6v3wfOJBxWTqff6raPrW/qWByc2c4uH7WMaCismd/eO0+8PNPV9PRElFh9X1NRfKyi6XliSe68o517xw2dV9R0v+0YnB8ZfdQ2MPqmuu1VUlnG78HZRafbdh3n3H/1MxRKLxa+mp2tqahITkxxc3Hr7B3/xnZ+dmb1+7Vp5eblYIunvH8jMzKiprVWpVLMzM1PTUyqVcmhoaGtr6+joqKTkUWNj08TE+Pr6OgAAJyenjx49zsjInJubBwBgYHBwZ2fnF3fje2lpqINd+fzSJ3+HXTkH0/kYrvcpRlcDrDMCKhZa9zJG7wpa9zJK5yIepkVC6oKGuViIBlgfiwjXpmOhLDycCNemYqAsIuLNimMiQgcP0wIVi0VAEpG6RKQOi4jkktFsIoJJRNPxKC4ZzaOgaRgoAa5Nw0A5JBSfijXl00QcBg2HpGBRdBwCDdEmIHS5JBRofUvCouk4OAMHY+LhTDyCjoPRMFAOCU3EoPBwbTxMCwPRgGpe1jn7YWxYwLu9Xb+GU+np8tLywuLi5taWTCY7lpxk3b7Ht3QwtXe1dvX0DYuJTc+Jz8qLz7zxdovLvBH3zT3xWXmxGf9/e/cd1VS67w38j/uede9b7jl3mnV01Bm7IkqHNJLQBOzTnRl7AelFBAuiInYFEQSRDlICCEgNJXQIgRRSgEDoJR0SkpC23z/iMI5tPA4qyPNZe7kg2ezsbIEv+ym/577fxav7XX1/OOb5i5NnYRlBq9VKJJLhkZGenh4el6fRgH4s4O+aWYnFF8iC7jf6P2w4E9Fw5n6jcEwOQRCJOXzgQllYJu1OKqWwjtPVL9ruUxgUQ4QgKAvPrm7uh7SaU2F13jFNEfnM5CesJ5Vd1+JIg6MSVqfgfGTDKF9aSOh2Cq6gdowSmvvjc+jOwRX4ht7oDFotaQCCIK5Adj6isbNvjCeSX4ltriL2P8S1FVR2hyWTo9NpiY/p1cS+1DwWvq63qLYn8QkTgiAGR5hX0X06tO5uKnlgZCwynVJP+aNVUDYxkVdSHp7wKCz+UXjCI3xVbXdP/xBPLhxX8cUTPJFicJjfQm1PxOXfiU0Oi02OTEyjMTtecnWeIZfLWSxWXn5+ZETkjRs3zgcGunj6pOGyyWRy67+/kckUOoPBZne1t7dTqTQmk8lmd7Ha2ylUKp1Op9MZFAqFwWDSaG1UGq2jo5PJYtEZDFpbWyuZTKXROjo62OwuOp1OoVAYTCaNRnuLc3huI7W00traBAIhBEE1lXiEwTq9rxcjDNejTPQtTTZbmm62ghnZIU11t1Bos81os80Y8y2Wppt1NQZ1fV12KNMd1ggHDMwOg3TAwB2sLB2xMFukmS0a4YC2sEWaOqAtdEV1d9sgt2FhdigzB7SFAwa23Rqxwxq+2xa5x8Fmh53VbjvU7q2WuvEU9mjznTbI7x2tftph8609erctcruN5TZrBBpuZo0w224F040MdMTAbC0R9mjYt/aYXbYoO6Sp/e/1orZaWljDjeDGm4z0Nxqs+Sro3AxqFXwRoa7xgPspx71Hvjtw3GHvYesfDtq84fbjwd37ju7ef2zHb0fPhNzo7u3/6xcDgH/TzEosqUSRVckOyW79KaDkeEjlEE8KQRCji+9/ty6hvIvUyWf3CEprOSeCKwOjmroHxElPmNdTyR394mtxzXdSyVWtwz0jkqqm/lvxpIERKZnOvRZDHByV5pZ3H7tUnl3a6Xmj6vy9hsNB+OKanlvxJHxtLwRBonFF8MPm9DJ2YU2P953a0tqe0MTWwsruy9FNx0MqC+q6h0ZE95KpBYSuwlpOcEwzo5Mfnk7xvVVzOKjsZmLL4MhYeCq5kvhHNQHZxERaXlHQncjb0QllNfV9/YN9AyPtXYOMzgEak81gD7L7eIPDQmZHV3xGTnBY9I3ohNY21usv1MjwyMOYh2fPnbtx4+bNm7fOnwv09zvl6+vr5e3jOfs3L28fF1e3UwGnG4lESDdWcMsa/VVLUSabsBZGlqabLbasQxpvckBbbLU00w2+0HVfoc02o8226D7damm+zQrhgLawghlhUfCtaJgtBmWPNsdaGFpZIhwxMFukqSMWZoMwsUGYOKDNd1gjdlgjd1gjtmHhu+0sHbCI7TbonTaI7VYw3Uj6PVvR39pjdtui9thZbrfF7LBF77RGbLfF2GAtreCmW1GmDhiL7bYYRyvEDiv4Dmu4gw12lx16j52lHcoMabxpK8pshw1y6hXtUKZm+qs3rlh8IXAGtQpCWu1zI2mlMnlRRe35a6Hupy+5nQl2PX3R4/QFz7PBrqcvup255H72suvpi+5nLrmevuh+Jtj97NPN9fRFz9MXXQKCPE5fuBIaQWpjftB3BXy0ZlZiTals7MeVdUIQpNVqZHJlSQ0nOI4UncssqurOLOmoah54VNxeQewlM0fOxRArWvprWwdupVJuxJMaKYOtjJH0og6uYILdJ055wuIJpDWkgdAUciNl6FZya1gyOTS5pYU+mFnUTqKN6AYcEoj95x40XU9qvZNKaWVx8yu6Cgkcrzs1Z5Na7+cz8yu78iu6m9uG2L2CK/GknHJ2LqH7VlLrufD69NJOvlCaXd7ZwuROnbxMJkvJfuIZdC05K4/Z0UlhtBPJdCKlrYXGaGljEcltREobkdLG6uxqaKFeCo06feVOC5Xx+gsllUrJrWQcDhcaFubr4+N0wtXd0zsyMjI3Ny8rK3tWbzhcVlZ2dlpaek52Tl9fHwRBdVUVSKP1hutWoM02I4z0kMZ6MIP1lqabsTAjpLEe3HCDFcxIN/Jiqj1wqgoGxtwAaaxnZWFoDTe2ebr8o7ENwljXHqjbxxpubIMw3W2H+t4Ru8MGuRVlZo8ys0ZZ2FjCHdAWW9Hm263g263gO6yRe7Za7rDDbrextLdCOVqhdlrDt2ItMTATa5iRPdp8hzVil6PdNmvUNixsx1Yr3aiNrZZmDmgLXSOkvaW5AwaGtTC0R1tss0IgjfS2rF56+ZzfdP8YTT8Bn9/R2cVic+gdnUwWq72zi9HOZnR0Mjq66KwOFruL3t5Bb2ezOrtZ7G5GZxeN2d7R3sFo7+jo6Bwe5X/o0wc+WjMxsbQQNCFXjUkUWq1aq1VBkGZSoezgCDs4Qq5AJhiTQxA0oVCKx+UqpbqnXzzKG9Nq1ZxRaUsHTySWKpRK4ZhcqVTJJtWicYVKrZLKJnlCmVKpHOBLmV0CLl8qV8jGJAq5QqXVaiBIo1SpWAPjXUNjojG5TKGcnFQx2HyXG9VOobXOIZWJeQzJxKRcoYQ0Gs7IWA9XIpGrugbGunuFY9JJpUo1Ni6XyRVTE8ImpNL4jMenr4XVNJKaqfSqRlJ1A6mZQm9rZ5Pp7WR6e01TC6GhuaaplcLoiH6UdebqbSK57TVXaerIknEJuZWSEB/v7ed/6Ojx2rp6CILUqllJo1FrNBqVSqVSKlVKpUql0qjVurepSyyj9V9jzA3ghhstTfXhhht0fVdwww1Ik01TwaPr2bJDmTpgLKxgRrZIk60oMzuUmSMWZo+20JVx0o0st0OZTX1qizR1wFjstEFut0LodrOGG9lbmtsgjO1Q5vaW5g5YpIMVyhFj4YCxsMMg7DDI7ViL7VbwbVi4Pdpcl3yOGIsd1ojddihHjIUNwsTRBqtbv1H3uB3SVHeSuuVRtlpaWMONYVvWmW785trFmXSP9WpaLaSQy9Vqle7jyclJjUYFQZAWghQKuW6ah1qtmfx9wKpGo5lUKEApJuCdmomJNeX3WVZvNeH3+VnD0EuP8/s8refJFKoGynAuobuc2D/Kl07t/ZrX/SOxJqQPUjKv3o8jUegNzZTKemItkdzU2pZbQsjIL65qaCaS26oaSFUNJBKVkVuED7wV0dhCfd1b0v5pfvSEdIJIJKakpLDZ7Nd81QynVKkmlS9faKamsgxhsHbTN4sRRhstTbfohlQgjTdhLQwtTfXNNq2GG6zXjXe3NN2sK4ZrBTPEmBvoys5awQy3okztn65KbOiIgemWKtatVKJLEV0VJQe0xTYr+DYruAPGYqc1YhsW7oiF7bJGOFihbCzhT7vEUGa6FNyGhW+3gm/DwhwwFro1urZhYdus4Lph99Yw3YBD1E4blCMWhjU3wJgbWD8tfmigWzoZZrDeZP2Ky4Gn3vOlfgsajXpkZJTB6uzp61coFMPDI+0dnX19/RMTsqERLrODPTg8rFSpevsGOju7hodHJicVfQP9rI7O4eFhEFrAuzOjE+sFL0kXLQT1DI73DIhGBRLBmEz9+9/pL+z1hsd/7dMvi7wXv2piQvrwUVb4w6Ta5tbaptaymkYKvT23uNw/+IZ3UMj1yFgKo6O6sYVQ39xAIheUlAfeinx9Yr2UXC6fnHyvBQmnkVaj7entbWxsGBwc/HMh3adVmsw3r1u1ZL7pxpUIo40Io426VbJQJvoIo41wg/VIYz2MuQHabAvCaAPSWA9pvAlhtFE3jdcRC9ellzXCxAZhYo8224aF2z694zGxQZjo1nvcijJzxMJ221lus0LssEY6YmFPh79jYbtsUA4YcyuY0Q5r5C5blD3a3AFjbodB2mOQ27Awe0vz349mvA0Lc0DDrGDGNggTm6fzw4wdMDBdXXl7SzN7S3M7lBnSWE9XaApuuMFo3bILp30+1GV/cyqVqrOjs6qe2EpjSKWSzs6OugYihUYfE491dHQQGpoZrHa5QkGjtdU3kegM5vjYOJVGq25qYbHaQWIB787sSCzln8fFaiFoquLL5KQ6MZ+Vhe8kUocZbIFuNrFS/UKwabRTg2u1EKR9+UBbLQRBmt9/3v44Ka1W9Uz1DfVfLf4tm5CGxz+6GfGwsYVS3dhSSqgjUui5JeWegSHHfE9fj4wlUZnVDaSKmsb6ZkpOYfnZa6FvkVizHa2NnpKaVl5RSaPRhoeHJid191taCIJqKksNN675asEXW1YtMdNbCTNYBzdcjzLWQxjr6VYe0d3WwA03wA036Aph2KPN7VBmKBN9O6SpHcocCzPCmBvYIk23YeEY8y26wNAVdnLEwGwRxrZIczTc3AFtbo0wsUdb6NoGdQtCOqBhdkjT34dywB0wFtut4A5WltZIczukmS3S1NJ0s+7ZHdYIO5QZ2lTfGm5kg0FhYUYY8y12KFNbpIn973dvtkhTO6SpFcwYa2Fgqrdq86oll86e/LBX/k1oNFoKmZqYkoqvIExMyChkcnIajlBTNyGVtLa0JKVlNjQ1TyqVNdU1KenZTUSiVDJGIFQlPUpvaWkFiQW8OzM9sfgiWV5lV3wus4kxKhyTN9OGBSI5Z3CsuW14XCqvow6Hp1HdrhEySjoITQMUxpB0Qo5v6g/PbCtr6JcrlBAEqTXaFvpoSmF7TjlbIlWMjEoSC1jRWbTewTGuQNZAGVZMqlndAmo7j8nhJ+Uzi2p6BEJpdctgaCqlnjwskSgqGvvj85kMNl8uV1U09sc9prM4wte8qYmJiajYeP+Q23UkWnUDqaSipqymsbaZnJJTEJecVl5dX91IKquqL6mqJ1HpiRk5PudD/jKxhAIhg8Fqa6MzGEwGg0lva2PQ6Qw6g0Fn6h6Zno3OoNPp03nAl21MBoPBYFYSqjMyswoKiwkVldXV1a1kyuDgkFKphCCoqbYCZrhh6fzPjdYtM1q33Hj9CtON35jpr4Yb6yGMNlror9HdeJltWq2r4WQFM7JG6OZp6cM2r4NtWYc1N7CCGWEtDCxNN+uqv+umbdkgTC1N9WGGeghzM7ipIdJYzxpm7IA21+UQ2myLLdJEt5qJ7rCWMFM0zGwrymwrytTSVB9jbmiLNEUa62EtDGyRprr5wubGBmgzAzs0wg5lZos0wZobwkyNdHd4aLPNCGN9mKkJ0tQAYW5isnGlweol925efKuflfdtZGSkvr6xo7NLrdGMjow0NDZxOD0atXpwYLCxidg/MKDWaHp6ehobiYODQ2qNuru7q6GhYWh49EOfOPAxm+mJNcKXPi5nX4klhsQ21zQP3k+jMtmCqpah++nUgurua/GkiDSq983qtOL25IL24rrusvqe2wmtcY/pgZENdeRBrRbii2QnrlS6hBCeELq4PElkBjUygxqVSQ1LIRdW99xMbBWPKx7jO5PzmBnFHYeDSisau0sbekMeNifkttWSenPKuo5crDhwtjTkQVNBNccvtO5mPIkzINa8uoNNNjERFZd41OdM5pOSZgq9hFBfXFFTVtvUQKI0EluqGkkllbVPyqsr6oiNLdTzN++5BlysJ71uLrBWq2UxWRkZuEdpGZm4rExcVkYmLiMTp/t4WrYMXFZGJi4nNz+/sBSXlZ3x56em8YUycVmZuOxMXHZ6ZlZGVk5+Xn5ZWUVpKb6osLi1laJbzV0kGPV1Pzr/f/7f2uWLNq/60nDNUrON35hvWmWxeY3F5jVmeivN9L6xNNVHGm+00F+N2LLOYvNq800rzTetsoIZwgzWm2z42tJkk6XpZqTxRktTfdiWtUhjPV2nF8pkk+62DGVujDLRQxnrWcFNkeYmutldCKMNSFMDuKmRpckmrLmBDdwYYWqIMNa3MNKHG2/GmG3W3V0hzIwRJlssTTdhzLdYw40QpoZwMxOMuaElzNwGaY40N0VZmGJhRnCD9QjDDZYm+qYG+mb6a4w3rV+z9AsbuHELse7v/dC8P2r1M53Az3QMq9WqqW/+Z9vh1eoXGjcAYFrN9MQa5o7hSjouRjeduVufi++6l0JhdglJjNGIVMqtxNbYXKZSoUwvYqUXtUfjaFll7DvJ5OLaXgiCojJpyXlMuVwpk6sy8J0h8aTcCnYjeeh0eINALJfJlQHh9dEZtLspFJlM+RjfGZdNxxV3RGVQZTJ5cj7rfgYNgqDxcdnlGKLH9arkXEZKHpPYNpxc0B6a2EplcbWvbhuckErvPEz+1dXvTMjNmm8H2FYAABujSURBVMaWehKlsLw6F08oqqwtJtTllVU9Kasqr20iUZnxGY8Pep12DbhY20x+/YUSisRd3Rx2N6eL0zPtWzenh9PTw+npbWMwW8i0TnZXT29vd09PF6enp7dvaHi4b2BAt5vuwb+5cXr7enp6a+sbkh7hUh9lPH6cX1/fwOnuFonEU0Ug26gtv36345tFn33xz//z+b/+uWzBZ0vnf7Z0/qdL532ydP6nS+Z9uuLL+SuWLFi64LMlX3yyZN4nS+d/unT+pyu+XLBu2cK1Sz5fseiLNUvnf/3lvPXLFy1b8Nm6ZQs2rli07qt567+at2bZgpXLlmxcsXDdV/PWLlu0cvmyNUsXrP96yYZVK9YuX7R+9Tcbvv5y3dLPVy/7cu2Kr/SWz1/91aLFCxctnv/52mULNyxfsGH5grXLl6z7auGKxV+sXvLFxhULv/ly3sqli9d+NX/NV4vXL1+8fNnyjV8v3rhi4ZovP1u3fOGG1StXfDlv1aJPVi36FA0zSU2IUc3OpXgnJ5WvKlqh0Wje8xpvwJw10xML39h39GLFhcjGU3dqS2t6wlMp8Y8Z4WnUK7HNCY8ZNxJaqoj9wdGNCbmM+Oy2/Iqu+9n0sDRqA3n4UjSxgNCtUqllclkjZSjxCdPtSmV6ScfZyMai2t6Sut5z9xvLGnrPRzQWELovRDXG4Noe4zuTcpkaDZRX2R0Y0dBEHSHSRkKTWwMjGyob+hpaBzt7BITGAe8b1XeSWqQTr6xCK5VIQh8m7/cIOODud/lOZFlNYzOVUV5HLCyvLiirKq6sbWihEsltKTmFrmcu/XLCx+3Mpb9MrPejvqHh+rVrY+PjU4+oNZru7i6R8HWtoG+HwepITH5Uii9ntneKxGPaFwp7t7PIkbcuuR87duTIMdcTJ04c+e3E0QMuzs4uzk4uzk6uzk6uJ5zcXJx1m6uzk4uz0wmn495uzr7uJ9ycj3u5Ors6H/d2dXZ3cfZxd/Zxc/ZxP3HS09XHw9XD3c3Xw8XX3cnb3dXb0/uUp7uvl6e3l8dJL6+AU6dO+3r5eXp4ubu7u5zwdjnu6ebi5uridsLJ09XJ18PF18PV193Z29XJw/WEj4erj/sJ9xNOXi7HT3q4+Lo7+7g5e7i5ers5+7g5+7o7n/Ry8/L0dHF28nFzvnDuDB5frlTIp/1KviMikehJfsHdu/dwOFwTsTktPaO/r2/q2Wc7q1gsZnJyslwGFmwE3rmZnlhtbF5wNPFWPCkmq43dK6wmDQRHNwVHN+HwnT394sTHjJDo5huxLRXEgaLqnobWIXYfLyKNHHSvMS6HPsqfgCBINC5LzmPeSWiJSqf2DIjLGnuDo5quxDRXtwyOjSvisumX7jfeSmgpq++tbOzPr+iCIGiQKw1LIQeFN5TWcOido/czqHcSWsoaeukd/KTHzCsPmsvqeyeV6le1CkolktCHKftcvH8+7vnrcXf/4JsJmXkVVXUkKr2Fxqxtas0pqbh1P9bZ9/TPTt6/OHm7+Z+rIba+oyv8hoaHhtPT0ry9fY4fc+rv7ystLY15ED04OEhsbt69c7uHm2tvb29HJ/th1L266gr1375L0Gq1I1wek9UuEoleU21OpZSJeKNc7tAod5g73McbGeDxuFzuCHd0hMsd4XFH+HwunzfK543yeKM87iiPN8rjcXk83rP/8vk8HT6fLxKLhUIhn8/j8/m6R4QCoUAg4vP5PB5XwBcIBEKBQCQQCAV8Po/L5XK5PB6Xz+fx+bynX8B/+gyfz+cLBDw+TywWiURCvkCgeyH+05d++oo8HpfH5fJ4PMlsqwNbW1v7448/eXv7FBbkFxYUuLt7UigUCIImnnkjcrkcgqCKsvLjx46NjY2/ZHkgAJhWMzyxtBqNepgr6ewV8oRSlVqlUCi7+8V9Q+Nj43JIqxaIJzr7RCM8qVQ2KRqTSSQKCFJzhRJmF//35azUSpVmYHic2cUXiuUQpFWpVOw+YXe/SKvVQFq1UCxr7xGO8ickE5NjErl4TKbVqiGtmiuQ0tl8vkim1WpG+VJml4AvlMkVSs6AiDMgUiqVGq3mVWOipBLJzciYo16nHqbigu9E7nP2POJxMuDC5cuh90PuPgi6Ge4eEPibs/tx74C4lLQz10IPeZyqqCe+u4v8lyQSyfXrN/T0Nq1ft8HNzb2qqmr/vv0W5rArV68nJiQsXbgAbm6eicsKvhQMMzf96ftvicRpONvXz5N7R0ZHRxVvtUTLawz09/f3Dfz1fk/Nmo6ewqLCQ4cONTU1QRBEJBLd3DxK8WXht69jUOjwe5GKSUV2Vpaj466EhKT6+gZ7h+1H9v/i6ek5Osr9yyMDwFub6Yn15+UZn3tO++c9n6fRaF74o++5UfL/xpzi5w/+6jG8kwrFzfux+91PtVLbEnH5e529fnHy/OWYy96jLnuPuv5y3G3fCa9fj7t6B4aQW8mRD5N+dfGr+6CtgiQSaf++fbGxcYHnzx8/7kSjtaWmpB46dHD//gM52VnHjzndvnV7YHCwuKjofGCQlbVtXFzcdL78qwdDv+z/Qvun7WlZvKe7PTfV+rn/ooGBgfj4+Ib66Rz4MDk5GXj2/PnAIKFQ9LKTf/mZzAqVlZU7d+46dvRoThauDF/u4+OXX1CYkhDn7e3z44+/4vH4H777/rvvfiwuKamrr0eh0B6uzlvt7FJTU8GdFvDuzPDEgt4kPF6VMC/9NfEefnNotdqKOuLxk4Fupy8c8jq9Y/+J3Qdd9hw8sfuAs27bc8h19wHnH455uAZcOOzhfyMyViQee/fn9Up4PH7/bwfGx8dqqqtdT5x4nJNzOTj48KHD+3/bV1xYcOlScEkpXiwS3bl929fH19HWJi4m+gOe7dtRqVQVFZWXgoMTExJFIvF0HbaykvDdd99vc3Csr2+YrmPOEKWl+D17vgs8H9Ta2kqoqvby8sl/UpiSkhrg74+xxFYRqmNiYrw9PUuKCsvw+MOHDnV0dF4IunDp4iXlK0qZAMDfN/MTa1ZSKCYJNfVXbt+7dO3O9fDoa/ceXA+7fy08+nrY/eth96+GRl64cz8k7P6Fa3ceJj7qHxz+sGfLYrEOHjjo73/qyNHje/f+dv3K9V0793y759vvvvueUFFx0veki6tbRibu559/+nb3Hri5RWRExIc94bcwMjISFRV9+/btO3dCiU3T0wY7Pi4JCbm6c+dOh61bz509K5FIpuWwM8STJ4VHjx4nNTdDENTU1Ozp4XXy5Ml9+347HRBghbV68qSQRGo5c+bsoQMH4h7Genl4cLncSxcvBZ0PUqmmud0VAKZ82MTS9g8JCI39H19iQRCkUavF4jG+QCgQiQVisUAkEojEAqFIIBQJhSKeUCQUiYVCkWwGLCWuVCorKyuvXb16915kWVkFnc6Ij0u4Gxqalf2YL+DV1FZF3ItobGzKz38Sdics6v4DKu11dXtnILVKVVlRcfv2nVu3bp86dSoyIlIkFkN/u7GuilC1f9++Pbt2WaJQSASyurp6ms53Rqivr7t69WpnZwcEQXQ6Iyw09FHqI09Pr2PHnI4fO15cXHLr5q0D+/eH3w0nVFbeunWLz+fHxz6MiYnRFc8FgHfhA99jDQyLP8p7rFlHq9WOjY1N/D5AWSabGBOLlSpd3W6NVCrVFVwXi8VyuXzWdcqMDI9ERERevBR89sxZL0+vkyf9qmvr/+YxJVLpxQtBWAwGiUBu2qS/YsU3Pt7eunF0H0FHjlarlUokoyPDujndcvkEb3RULpP19vZTyJQeDkcikXS0d5BbW8fHx+Uy2fDIyKRSwecL+DzebOy0A2aLD55Y4/janlk6pxKYFdRqdSm+3MnD293NzcvD09vn5P5jzhERkbqR2W+tvr4ejcYsXbpsw4aNepsMvvpqhZmpeU111bNV/Gevt3gLL86oA4Bp94ETq39oPL+yW65UQR/FX6bADKTRaHr7+hubSVlZ2b4+vrduhxJJLQwmc/LvDXPv6e0tKCjKzMi032pvYYEKDb1bXFQ8MPDmw9xnnz+NzZ39qQzMRh+4H0smV5ZU99S1DKnVb7EUFgD8G+gM1tlzgXHx8bpP/+avXN2vbK1Gs/fnvRgMhkqdc9X3AeD9+5CJpWtG4PIluXh2ZWOvVCp7VeEyAPj72trofn6nphJremi1P/+01xKJolJeV8sYAIBp8YFbBXWE4om6loHskk4idVj18iUZAeDvotHoJ31PTm9iadTqn3/ai0Igya0fuM4WMIu80KYK/lJ/UzMisSAImlSqheKJcYlcrdG8ps4FALw1CpXmd9IvKSlpGo8JEgt4jakiLFMRpVapdB9rNFqVSvVs5/1L109/xaLqc9cMSSxdJ5ZaV0hQowH/ScD0091jxYN7LODdE4tEDQ31Q0NDWq22vb2dRqWpVOq6uvrIiEg6gyGRjOfl5d2+fSslOXVocEijVlOplAdR0QQCQTH5x7otLFZ7dPSD8rIKhQJMyn5qhiQWALxzNFobaBUE3g8mg+Hm5q6bVB4fH381JORJfsHhQ0dcXN0z0jOqqqoO7tvrdOTg/n0HQkKusJjM6Ojoo4ePOGy1z8vN1R2hq6vLycn50MFD33/3/ZOCAjCUWgckFjBXMOjgHgt4T+htbUeOHK+srIQgKCYm5nzg+fvhYQf3/tjcTJqYmCjD4w8ePFheXh4VFe3k5MxiseRy+eDAwA/f/xAaGqYLpwfRD3x8fLs5XdeuXjkXGCgSPV9qeW4CiQXMFVQa6McC3pO2NtqxY05VVQQIgmIfxl4ICuru7r5yMfDXH7+rqKhsamratm3XDz/+vH37di8vHy53FIIgQmXl/v37yssrdEcICbl65cpVuXwi9dEjH9+TXC5YxgWCQGIBcwcVjBUE3hcmk3H40JHHOTlyufzmjRun/PykExMSiSQ+Ls75uNPdu+Fubu75+fkEQtWB/QcqKyvZ7K7Dhw49fPhwclKpUqnkcsXVq9cC/AOGhwfD7907F3heIJj+dcBnI5BYwFwB+rGA90YgEFwODj7h5BQZEXHs6NG0tLSmJuL9yMgL58+fPh0QGxt76OCh61evxjyIOXHs4JPcbDd3DxQSeTcsrJPNplFpOFx2amrq4YMHQy4H79/3Gy4zC6zhogMSC5grnvZjJSRM4zFBYgGvMjAwePPmTU8PD1wmTqPWkEgtXp6eAQGnyRQyjzd65/ZtD+dj/r6eNTW1fT09V0NCAvz9T/n5lZeXt7aSk5KSh4aG8vLzvTw8kxMTZLIPv8LDDAESC5grwHws4D3TaiGVSjU1QVilUqlUU1N3tJNKleqZKj8ajVqjfv5Gamr+FqADEguYK0A/FjBjdXVz8h5nFRcW8Lj8D30uMxpILGCuAP1YwIf29G5JoVBwOBwKhdLc3EylUmuqq/xP+dvZbrW1tr59O1QkEn/Ys5zJQGIBc4WuHysB9GMBH4JWq9XV/h4fH09JSTlw4KCjg6O1lRUWi7XCYrFojJ2tgxXW2tbWrrGx6UOf7MwFEguYK0A/FvDBjUskURH3rNBoFAq9a9euPXv2fLvn2107d1pbbbXGYFBwmK2tLUis1wCJBcwVoB8LeHf+qHWrVonHxiVS6R9P/f7B+LgkIuIeFm6GRiAuXrxcUlJSXl5eUVFRWFR09uz5nQ52u7Y7hobeFQgEb/hacxBILGCuaHtn/ViWKBQNrOg412khCBoZGcFlProcfOna9Rvl5RUymXzq6fHx8aioKGs0ygqFunHzNu/PNSxGR0fweDyhqloqfclAdpVKPTQ0LP09BedyjUGQWMBcQafT/XxPJiQmTuMxNWr1zz/9jMFgaTTaNB4WmI34PP7VK1exligL4y3GhkZ7du3Izc3TPTU6MhoZGWlna4u2xFy9ck38bxYJHBgYDAwMCr1zp4vd9Q5OfDYBiQXMFa0Uspen18PY2Gk8plql+v67H9at1Tvl5x9+LzI09O7tO2Fgm3Pb7bC7d+/5+fnDEJYGWwwQSEs0CmNuZPDtdz9ERUXHxyf6eJ/EoLHmZhY21jZB54MyM3AJCYlPt/iE2Ni4uLj4hPjYhPj42NjEuLiEhITE2NiEh7EJsbEJiUlJV0OuYDFWBgZGBw4cjIuL7+vvn8bv4dkFJBYwV7Da24OCLiQlp07jMZVK9YkTrhs3blqzZt2qVWtWr14Ltrm5rVq1evmKlStWb1y7dv369Rs3bNDfvMVwxderP//8i08+m7dw8bKV36xes3rt6lVrln21Yvnyr9euWbd2zdrVq9ctX/b1l4uXLPlyqW5buHDJ4kVLFi9asmDBks/nffnZvMWffPrF/PkLN23SX7dBf8HCxYYGRiXFRXO2KwskFjAnaLWa8fFxMrm1m9MzjT/tarW6rq4+MyMDl5GBywTbHN2ys3A4HC7A33/NqrUrlq9cvWbD16s3rFj+9SY9fRdX9zOBF/0CzvifPnvubODFC5d8vH0sLCyWLVu+atXqTZsNjh93vhx8+dy5wLNnz01t/gFnz5w56x9w9lTA2TOBF48ePbZ2o/6nn34GhyNjHsZyR4em6xt41gGJBXx8XgwkrVarfvaTaXsl7dztAwee097eYWdr//lnXyxcsGjegiULF37p7e0jnZA9t5tKpYyPi9uyecu8eQtXrlp7/37UXx65o6Nz6/bd9vb2RcVF7+bcZw2QWMDH50+BNGfbT4D3TKPRPCko+v77Hwz09cxNjL28fRkMxkv3VE5OxsXFb95i+K9//svYyDg19ZFarX52h8HBQTqd3kanc7k8SKsdGxsvLixkMJjv5X3MaCCxgI8Qj8sjEAhNTU2Tk5Ov37OLzcbj8TQq7S/3BIA3weFwCgsKCVVVL13RSqvV6samyxWT8QnJFmZm//PP/9bT009MTBwZGRkfl4yNjePx+KOHD9nb2dpvtXV39+jt63vvb2LmAokFfGxGRkZSU1Mf5+Skp2eU4vGvusfSaDQ0KjUpKSkvLy8+Lr6qquo9nyfwkXnzu3ndniqVurS03MHe/r//93+tXLfp130H3E84uzg7YVCIRfMXfPHZ5/M+/3zxoiV1dfX/7vE/YiCxgI+KTCbD4bJwWdlSqXRwcCg6+kFbG/2lP+r9fX1JSUkNTU0qtZpCoSYkJnZzOO/9fIE5aup7sqGh6be9P38+f/F//OO//usf//jPf/zjk3/9z/Ll36xcuXb5smWLFy+prav7sKc6o4DEAj4qPB6vohwv/L1BhthITE199GKNgMlJZUVZWU5OlkarhSBIo9Hi8fj8vDzwZyzw3mg0agjSQBDE4XDuR9w/fuz4oYOHnJ1dt9vbfvHZvP/1j//7j//4zwXzFjY1ET/0mc4gILGAj4pCoZDJ/ijpNiYWZ6Sn9XA4z0XR8PAILjOTxfyjK5vV3p6ekTE4OPj+zhWY87RazdRAoZGRkcGBfu4ot6GW4O3p8/PP+/b+su/M6XND4HvyGSCxgI+ZSqUsKioqr6h47jaLyWSlPno0OfnHkq+jo1wcLotCprz3cwSA542NjfN4fC53VCKRPDeMcI4DiQV8zFQqZWVFZWFR0bOJpVKpamvr8nIfP7unQqGoIhBKS0pVKtV7P00AAN4ISCxg+mk1GpVS+Rf7vKbHSKtVKpV/fv4vupdUKlVPT49AwIe0z0/GaqPRMtLSJJI/mgp5PG5GekZHe/tzByG3tqanpU9MvKR4NgC8Z2By+kuBxAKmR39/f0jIlWvXbohEIiadHhcfHxUV3cVmp6akXr9+Qy6Xq1Sq5KSUB1FRpBZSVla2Qi4rLy/H4bLGxsaGh4flcjkEQSqVuram9t698PS0NBaTqYW0IpFIMj4OQRCk1arU6kmlcnx8XMAX4B4llpcWK1VqsVgsm5iYmJgIDQsrw5e92IQiFAhTU1P6+zhTjwwODiQlJo6NjT23J4vFzMxI53JH3+mFAgDgrYHEAqZHa0urLRqBgMF6e3t5XG4rudXF1T0xPt7H96TeRv02WhuXx9u1Y+e+X3979CjNy9NTqVJGRET4+vjQ6fQbN25mZGZCEEQmU/38/FJTkhkMRjOxOeZBzL3w8JiYhz09vTzuaOGT/PSMjPy8x1WEqv2//XLutD+DwSgpLY15ENNMbPI7eSo7K/vFNj2pVJaensbp7ph6hNPTk5qSIn1mzT0dkUhUUFDQ0tLyrq8VAABvByQWMD0k4xJ/P187O1sOhwNB0PDQgMuJE0WFhZcuXvr++x8iIu8/zs07evhIwCn/LBxu788/JyUnHzl67Hzguf7+/lOn/OPi4iEIwuGyjh45ohuw19DQePTIsazsrIiI+4mJSdFRURcCzwf4B1y/dpVCoV4455+SFDc0PNzfP3Dt6rV74Xe9vLwLnuSrX0isiYkJXGZGG+3piou6/qrCgicv3o1ptVBNTU1Jccm7vlYAALwdkFjAtLl69bq9g2Nvb69ILL527XpmRqZIJLp04WL43Xv7ftt39PCRhzEPLwQFpaakHth/qLq6xv+kX0CAf1VVTUjIVR6PB0FQcXHx/v0HSKQWCILK8GXe3j5dbDaxqWn//gNwC3h8XByT1XE+8PzDBw+Czp6prKxoIhITExIPHTh69sw5Fxe3gidPXkwsjUbT3Ex8nJOjVqsgCBKLxNlZ2a0tL1/kvq6urrCg8B1fJwAA3hJILGB6DA4Oeri721jbVFdX4XBZBw8ezs3JpTMYYWFh+NKyWzeunzt7jkwm3w0Pz8vLDzofNDk5mYXDXbp4KSw01MfXr72jQ6vV8ni8e/ciQi6HlJeVPUp9dOvW7R4OR6GQ7937y45tO3p7e2ltbQEBAcnJKfejoh/GxsU8eBAQcHr/vgP3IiJDrlwhEAgvHQo8OjoaHx+nqxwoEgoz09PbaG0vfRfEpsbHj3OVSjBcEABmIpBYwPQYGR6urqouL69gsTrodHp1dU1DQyO7q6u/r08kEvO43IGBAblc3tfXLxAIORyOLp+6uroZDAahisDubNdotBAE8QWCurq61paWvt6+/r7+SYVCLBL5nfRLSkqGIIjD6SaRSEKhiMfjU6hUNptNpdFIpOahoaH+/n6hUKh52RBEoVCQmJAgEokgCOru7k5NSR4dffnwit7e3ixcduecX5scAGYmkFjA9FCr1boh6FN3OZOTk284+VGj0ahUfxrO/uwXDg4OFRUX9/X1QRCkeWbI75tXVJLLZYUFBVWESqVSWVNFyM/NfbFuk45EIsnJyampqXnDIwMA8D6BxAJmOqVSpVAo/k7FP60W6mSzIyMj09LSkhKTBvsHXr2ntpnUnJiQ0Nfb+9YvBwDAOwISC5gTVCoVg8GsqKxs7+h8/Z4KhQKPx5eUlMpkz68eCwDAhwUSC5gbtFoIgpRPK3H8xe2aTC4Xj429quUQAIAPBSQWMLdotVrdEg8AAMw6ILEAAACA2QEkFgAAADA7gMQCAAAAZgeQWAAAAMDsABILAAAAmB3+PyLR7WIcKBwiAAAAAElFTkSuQmCC" alt="" /></p><p class="MsoNormal"><!--[if !mso]> <style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <![endif]--><!--[if gte mso 9]><xml> <w:worddocument> <w:view>Normal</w:View> <w:zoom>0</w:Zoom> <w:trackmoves>false</w:TrackMoves> <w:trackformatting/> <w:donotshowpropertychanges/> <w:hyphenationzone>21</w:HyphenationZone> <w:punctuationkerning/> <w:validateagainstschemas/> <w:saveifxmlinvalid>false</w:SaveIfXMLInvalid> <w:ignoremixedcontent>false</w:IgnoreMixedContent> <w:alwaysshowplaceholdertext>false</w:AlwaysShowPlaceholderText> <w:donotpromoteqf/> <w:lidthemeother>ES-UY</w:LidThemeOther> <w:lidthemeasian>X-NONE</w:LidThemeAsian> <w:lidthemecomplexscript>X-NONE</w:LidThemeComplexScript> <w:compatibility> <w:breakwrappedtables/> <w:snaptogridincell/> <w:wraptextwithpunct/> <w:useasianbreakrules/> <w:dontgrowautofit/> <w:splitpgbreakandparamark/> <w:dontvertaligncellwithsp/> <w:dontbreakconstrainedforcedtables/> <w:dontvertalignintxbx/> <w:word11kerningpairs/> <w:cachedcolbalance/> </w:Compatibility> <m:mathpr> <m:mathfont val="Cambria Math"> <m:brkbin val="before"> <m:brkbinsub val="--"> <m:smallfrac val="off"> <m:dispdef/> <m:lmargin val="0"> <m:rmargin val="0"> <m:defjc val="centerGroup"> <m:wrapindent val="1440"> <m:intlim val="subSup"> <m:narylim val="undOvr"> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"> <w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"> <w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"> <w:lsdexception locked="false" priority="39" name="toc 1"> <w:lsdexception locked="false" priority="39" name="toc 2"> <w:lsdexception locked="false" priority="39" name="toc 3"> <w:lsdexception locked="false" priority="39" name="toc 4"> <w:lsdexception locked="false" priority="39" name="toc 5"> <w:lsdexception locked="false" priority="39" name="toc 6"> <w:lsdexception locked="false" priority="39" name="toc 7"> <w:lsdexception locked="false" priority="39" name="toc 8"> <w:lsdexception locked="false" priority="39" name="toc 9"> <w:lsdexception locked="false" priority="35" qformat="true" name="caption"> <w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"> <w:lsdexception locked="false" priority="1" name="Default Paragraph Font"> <w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"> <w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"> <w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"> <w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"> <w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"> <w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"> <w:lsdexception locked="false" unhidewhenused="false" name="Revision"> <w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"> <w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"> <w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"> <w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"> <w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"> <w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"> <w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"> <w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"> <w:lsdexception locked="false" priority="37" name="Bibliography"> <w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Tabla normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} </style> <![endif]--><!--[if gte mso 9]><xml> <o:shapedefaults ext="edit" spidmax="1027"> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout ext="edit"> <o:idmap ext="edit" data="1"> </o:shapelayout></xml><![endif]--> </p><p style="margin-bottom:12.0pt"><img src="file:///C:/Users/adriana/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg" width="567" align="left" height="284" hspace="12" /><span class="text08"><span style="font-family:"Arial","sans-serif";mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:major-fareast">Specification</span></span><span style="font-family:"Arial","sans-serif""></span></p> <table class="MsoNormalTable" style="width:88.34%;mso-cellspacing:.7pt;mso-yfti-tbllook:1184" width="88%" border="0" cellpadding="0" cellspacing="1"> <tbody><tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;height:13.0pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.0pt"> <p class="MsoNormal"><strong><span style="font-family:"Arial","sans-serif"" lang="ES">Property</span></strong><span style="mso-bidi-font-family:Arial" lang="ES"></span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.0pt"> <p class="MsoNormal"><strong><span style="font-family:"Arial","sans-serif"" lang="ES">Spec</span></strong><span style="mso-bidi-font-family:Arial" lang="ES"></span></p> </td> </tr> <tr style="mso-yfti-irow:1;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial; mso-ansi-language:EN-US" lang="EN-US">Field of View (Horizontal, Vertical, Diagonal)</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">58° H, 45° V, 70° D</span></p> </td> </tr> <tr style="mso-yfti-irow:2;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">Depth image size</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">VGA (640x480)</span></p> </td> </tr> <tr style="mso-yfti-irow:3;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial; mso-ansi-language:EN-US" lang="EN-US">Spatial x/y resolution (@ 2m distance from sensor)</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">3mm</span></p> </td> </tr> <tr style="mso-yfti-irow:4;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial; mso-ansi-language:EN-US" lang="EN-US">Depth z resolution (@ 2m distance from sensor)</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">1cm</span></p> </td> </tr> <tr style="mso-yfti-irow:5;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial; mso-ansi-language:EN-US" lang="EN-US">Maximum image throughput (frame rate)</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">60fps</span></p> </td> </tr> <tr style="mso-yfti-irow:6;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">Operation range</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">0.8m - 3.5m</span></p> </td> </tr> <tr style="mso-yfti-irow:7;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">Color image size</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">UXGA (1600x1200)</span></p> </td> </tr> <tr style="mso-yfti-irow:8;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">Audio: built-in microphones</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">Two mics</span></p> </td> </tr> <tr style="mso-yfti-irow:9;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">Audio: digital inputs</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">Four inputs</span></p> </td> </tr> <tr style="mso-yfti-irow:10;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">Data interface</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">USB 2.0</span></p> </td> </tr> <tr style="mso-yfti-irow:11;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">Power supply</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">USB 2.0</span></p> </td> </tr> <tr style="mso-yfti-irow:12;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">Power consumption</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">2.25W</span></p> </td> </tr> <tr style="mso-yfti-irow:13;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial; mso-ansi-language:EN-US" lang="EN-US">Dimensions (Width x Height x Depth)</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">14cm x 3.5cm x 5cm</span></p> </td> </tr> <tr style="mso-yfti-irow:14;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial; mso-ansi-language:EN-US" lang="EN-US">Operation environment (every lighting condition)</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">Indoor</span></p> </td> </tr> <tr style="mso-yfti-irow:15;mso-yfti-lastrow:yes;height:13.7pt"> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">Operating temperature</span></p> </td> <td style="padding:.75pt .75pt .75pt .75pt;height:13.7pt"> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial" lang="ES">0°C - 40°C</span></p> </td> </tr> </tbody></table> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial;mso-ansi-language: ES-UY;mso-fareast-language:ES-UY;mso-no-proof:yes" lang="ES"><span style="mso-spacerun:yes"> </span></span><span style="mso-bidi-font-family: Arial;mso-ansi-language:EN-US" lang="EN-US"></span></p> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial; mso-ansi-language:EN-US" lang="EN-US"> </span></p> <p class="MsoNormal"><span style="mso-bidi-font-family:Arial; mso-ansi-language:EN-US" lang="EN-US">The specifications indicate Operation enviroment : Indoor ,turns this sensor inappropriate for scanning buildings.</span></p> <p class="MsoNormal"><br /><span class="text08"><span lang="ES"></span></span><span style="mso-ansi-language:EN-US" lang="EN-US"></span></p>Adriana Soucoffhttp://www.blogger.com/profile/02479206715720740011noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-36985920009597266302011-04-14T16:33:00.002-03:002011-04-14T16:57:17.128-03:00<span style="font-family: verdana;">For those of you that still following us, i want to say that we're still here, working hard on the project :)</span><br /><span style="font-family: verdana;">We just stopped posting new entries since we're redesigning/rearchitecturing the whole application, actually we've started to code everything from scratch, just taking pieces of code from the "old" version that fit into the new design when suitable.</span><br /><br /><span style="font-family: verdana;">I'm going to share two video mapping shows we gave a few months ago using the old tool:</span><br /><br /><span style="color: rgb(255, 0, 0);font-size:130%;" ><span style="font-family: verdana; font-weight: bold;">"Ingenieria deMuestra 2" - Facultad de Ingeniería - Universidad de la República - Noviembre 2010</span><br /></span><span style="font-family: verdana;"><br />This is the second edition of a fair where all end year projects for all engineering careers are shown. It is of free access and open to everyone interested on see how is the University going in cutting edge technology research projects.</span><br /><span style="font-family: verdana;">We had the responsibility of closing the event with a 15-minutes (very long) video mapping show. Most of it was made with our Video Mapping Tool, and the audio was entirely built by our tutor and musician friends, capturing sounds from the very same place where the show was played.</span><br /><br /><span style="font-family: verdana;">We've used four 3000 lumens projectors, two for the performance developed with our own tool and other two just to play videos over a side wall.</span><br /><br /><span style="font-family: verdana;">See the video <a href="http://www.youtube.com/watch?v=lInVHgJWBZw">here</a>.</span><br /><br /><br /><span style="color: rgb(255, 0, 0);font-size:130%;" ><span style="font-family: verdana; font-weight: bold;">"Noche de los fallos" - Facultad de Arquitectura - Universidad de la República - Diciembre 2010</span></span><br /><span style="font-family: verdana;"><br />Facultad de Arquitectura proposed to their students different activities as part of the 2010-period final day. There was some artistic performances, rock shows, and a permanent Video Mapping pointing to the main room where the students attend to get their final qualifications for this period.</span><br /><br /><span style="font-family: verdana;">The video mapping was entirely developed with our tool, and we've being used three 3000 lumens projectors for it. </span><br /><br /><span style="font-family: verdana;">See some photos <a href="http://www.farq.edu.uy/patio/nggallery/post/noche-de-fallos-6">here</a>.</span><br /><br /><span style="font-family: verdana;">These two real experiences have proven, mostly to us, that we can accomplish mid-sized mapping projects and take them to an end with success. We also gathered crucial/critical requirements or features that any video mapping application has to have from the field, like multi-projector support, ease of use for non-3D technicians, etc.</span><br /><span style="font-family: verdana;">Multi-monitor is something that we're taking to the next level, with highly decoupled remote nodes/component to "play" what a camera/projector should, modeling projectors/cameras properly with corresponding visual representation, providing some calibrations techniques to when re-placing the projectors in the scene, etc. </span><br /><br /><span style="font-family: verdana;">More to come in a few more days. Stay tuned!</span><br /><br /><span style="font-family: verdana;">Rgds</span>jefahttp://www.blogger.com/profile/10839745171491426294noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-58216659640198870622010-08-26T17:07:00.000-03:002010-08-26T17:07:47.426-03:00Projector calibrationIn order to project a 3d scene on a real life environment it is necessary to match the virtual camera position with the one of the projector.<br />
<br />
To do this there are many existing techniques using cameras and computer vision methods.<br />
However, we developed a method that doesn't require the use of a camera.<br />
<br />
The goal of this method is to obtain the position and orientation of the projector using a center of coordinates relative to the scene.<br />
This problem is similar to finding the position and orientation of the chosen center of coordinates relative to the projector.<br />
<br />
This method uses three known perpendicular points at the corners of the calibration surface that are aligned with the target coordinate system. Hence the distances between those points are known.<br />
<br />
The projector casts rays of light and three of these rays pass through the chosen points and also through the center of the original coordinates system (inside the projector).<br />
To obtain the equation of these rays only one point different from the origin is needed.<br />
This point can be obtained from the screen coordinates of the pixel that is projected on each target point, for example, by clicking on them.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9wbS8hsrULKBYGjsEvp436Xfiuo3ocOWHIJw9C-3KvCGYx5p7RalWxAMplSA4cpxrYKSlt-vugDIXVPqUdjdRusSI9JHzXhbBwxoZm6sJi-fx3yVGqI1NzH2Bh4sDzxxfBmUyxsDqZxOg/s1600/CalibrationSketch+-+copia.png" imageanchor="1"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9wbS8hsrULKBYGjsEvp436Xfiuo3ocOWHIJw9C-3KvCGYx5p7RalWxAMplSA4cpxrYKSlt-vugDIXVPqUdjdRusSI9JHzXhbBwxoZm6sJi-fx3yVGqI1NzH2Bh4sDzxxfBmUyxsDqZxOg/s320/CalibrationSketch+-+copia.png" width="320" /></a></div><br />
Using the screen coordinates of the point and some known projector parameters like the resolution and the projection angle it is possible to find the 3D coordinates of the point and then the equation of the ray.<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCImKrx2tK2eSLy-edUPsxgi3k3BmuUDZobfRUXYF1HscD08FYrrWB7z_BWcFgcO-nHB5HJE6xSF1fbCOCEPX5_b68PDmonjCtmdHxZqrkkqL8d1XJezIWbDUg7SBflAJ4gDCHu-0zNAJY/s1600/RayEquation.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCImKrx2tK2eSLy-edUPsxgi3k3BmuUDZobfRUXYF1HscD08FYrrWB7z_BWcFgcO-nHB5HJE6xSF1fbCOCEPX5_b68PDmonjCtmdHxZqrkkqL8d1XJezIWbDUg7SBflAJ4gDCHu-0zNAJY/s400/RayEquation.png" width="400" /></a></div>Now that the equations for the three rays are known, we need to find the parameter t where the ray meets the corner of the target area. This can be written as a system of equations using the ray formula and the dimensions of the target area.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL71SDe-rN0tXkyHkRm_5jNl7DJsxNpES4y_dO0SwmXF6CwPBoWCF_6mlZp8XqSZ0j_efnfet3RRVN-uunOCEmUFl1XJpZjrwuvxEQzqRTyIwYHCl21N5swE8dx6SEMWZ0_R3JGpHC2OG_/s1600/system_eq1.PNG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="81" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL71SDe-rN0tXkyHkRm_5jNl7DJsxNpES4y_dO0SwmXF6CwPBoWCF_6mlZp8XqSZ0j_efnfet3RRVN-uunOCEmUFl1XJpZjrwuvxEQzqRTyIwYHCl21N5swE8dx6SEMWZ0_R3JGpHC2OG_/s200/system_eq1.PNG" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><i>a</i>, <i>b</i>,<i> c</i> are the rays.<i> j, k, l</i> are the width, height and diagonal of the surface</td><td class="tr-caption" style="text-align: center;"><br />
</td><td class="tr-caption" style="text-align: center;"> </td></tr>
</tbody></table>The goal is to find the parameters t0, t1 and t2 that satisfy the non-linear system.<br />
An approximation for this solution can be obtained using numerical methods. At the moment our implementation uses the trust-region-dogleg method from Matlab.<br />
<br />
Once the values for t0, t1 and t2 are known, the coordinates for the corners of the target area are a(t0), b(t1) and c(t2). The base for the target coordinate system is <br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqDMzBj446TBNWwRqgUl8hJZfzSPKuvo-XYNmoRrdDUHFGI9Wogt7xbqqVdkctPXLb0Y57Gh-dr7dGh3qcTr5VjmtS4H_r_LvZfo4zMMseKVw9gU9WPdxbLIX9Kbu5AZIbZBjp3kVkLNqr/s1600/coordinates.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="40" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqDMzBj446TBNWwRqgUl8hJZfzSPKuvo-XYNmoRrdDUHFGI9Wogt7xbqqVdkctPXLb0Y57Gh-dr7dGh3qcTr5VjmtS4H_r_LvZfo4zMMseKVw9gU9WPdxbLIX9Kbu5AZIbZBjp3kVkLNqr/s400/coordinates.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"></div><br />
The location of the projector relative to this base of coordinates is obtained by projecting a(t0) on this base.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-5762648812844373200.post-55153248895545015792010-07-31T22:00:00.004-03:002010-08-01T10:28:45.545-03:00Stereo-Vision<a href="ftp://ftp.iutbayonne.univ-pau.fr/pub/perso/Gim/luthon/deposite/stereo25.pdf">Structure from Stereo- A Review</a><br /><br />Stereopsis is a passive technique, the triangulation needs to be achived with the help of only the existing ambient illumination.<br />Hence a correspondence needs to be established between features from two images that correspond to some physical feature in space.<br />Then, provided the position of centers of projection, the effective focal length, the orientation of the optical axis, and the sampling interval of each camera are known, the depth can be reconstructed using triangulation.<br /><br />The principal steps are: Preprocesing, establishing correspondence and recovering depth.<br /><br />Preprocesing: in this step image locations satisfying certain well-defined feature characteristics are identified in each image.<br /><br />Establishing correspondence - Matching: Given two or more views of a scene, correspondence needs to be established among homologous features(features that are projections of the same physical identity in each view).<br /><br />Recovering depth: using trigonometric functions to obtain the depth.<br /><br />They present diferents techniques for recovering the 3-D structure of a scene from analysis of stereo images.<br /><br /><span style="font-style: italic;">A problem in Stereo is resolve the correspondence problem due to occlusion, most scenes contain regions which appear in only one of the two images. We call these regions half-occluded, or unmatched.</span><br /><br />Aplication of stereo: cartography, aircraft navigation, autonomus land rovers, robotics, industrial automation and steromicroscopy.Adriana Soucoffhttp://www.blogger.com/profile/02479206715720740011noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-62900465783216896352010-07-09T11:57:00.002-03:002010-07-09T12:01:06.855-03:00VDMX<a href="http://www.vidvox.net/">Realtime Video Studio for Professional VJs.</a><br /><br /><a href="http://vidvox.net/wiki/index.php/VDMX#A_Brief_Overview_Of_VDMX5">VDMX5 is a program that lets you assemble custom realtime video processing applications.</a><br /><br />- Layers are the basic building block of VDMX. Movies, pictures and Quartz Composer documents could be displayed on layers.<br /> The layers are composited with each other to obtain the resultant image.<br />- Modular Architecture, building by loading plugins from an ever-expanding list of available add-ons. Any setup can be saved and instantly restored, making it possible to switch between sets on the fly.<br /><br />As Modul8 the mapping is realised manualy, <a href="http://memo.tv/tags/vdmx">see an example</a>.<br /><br />VDMX is a proprietary software.Adriana Soucoffhttp://www.blogger.com/profile/02479206715720740011noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-10699188907262182272010-06-23T11:55:00.002-03:002010-08-13T08:09:03.488-03:00Modul8<a href="http://www.modul8.ch/">One of the most popular software for VJs<br /><br /></a>Modul8 is a MacOS X application designed for real time video mixing and compositing. It has been designed for VJs and live performers.<br /><br />Features:<br />Real Time Video Mixer and a user interface for real time- Is thought for real time video.<br />Is based on a layer metaphor, each change can be seen immediately in the composition.<br /><br />Each media is a layer that can be moved, resizaed an rotated.<br /><br />Has 7 outputs plus one for the user interface, you can determine what region of the composition is sent to which projector or screen.<br /><br />Is posible extend the system incorporating new modules, writing in Python script.<br />Is an accessible on-line library more of them free.<br /><span style="font-style: italic;">Modul8 is a proprietary software.</span>Adriana Soucoffhttp://www.blogger.com/profile/02479206715720740011noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-50278556216369880762010-06-16T21:18:00.003-03:002010-06-16T21:35:50.910-03:00Differents structured light techniquesStructured light is the process of projecting a known pattern of pixels on to a scene, the displacement of the stripes allows for an exact retrieval of the 3D coordinates of any details on the object's surface (depth and surface information).<br /><br />A <a href="http://en.wikipedia.org/wiki/Structured-light_3D_scanner#cite_note-0">structured-light 3D scanner</a> is a device for measuring the three-dimensional shape of an object using projected light patterns and a camera system.<br /><br /><a href="http://www.google.com.uy/url?sa=t&source=web&cd=1&ved=0CBcQFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.9.5774%26rep%3Drep1%26type%3Dpdf&rct=j&q=10.1.1.9.5774&ei=Q20ZTPySNcGBlAeRpcmxCw&usg=AFQjCNFAJSc7jcpjmM0bCoMVyeNAiqIkkQ">This paper presents</a> a comprehensive survey on coded structured light techniques.<br />The patterns are specially designed so that codewords are assigned to a set of pixels. Every coded pixel has its own codeword, so there is a direct mapping from the codewords to the corresponding coordinates of the pixel in the pattern.The codewords are simply numbers, which are mapped in the pattern by using grey levels, color or geometrical representations.<br /><br />Shows pattern projection techniques classified in three groups according to their coding strategy:<br /><ul><li> time-multiplexing - generate the codewords by projecting a sequence of patterns along time, so the structure of every pattern can be very simple</li></ul><ul><li> neighborhood codification - represents the codewords in a unique pattern</li></ul><ul><li> direct codification - define a codeword for every pixel, which is equal to its grey level or color</li></ul><br /><span style="font-weight: bold;">Time-multiplexing strategy</span><br />A set of patterns are projected onto the measuring surface, the codeword for a given pixel is formed by the sequence of illuminance values for that pixel across the projected patterns. The codification is called temporal because the bits of the codewords are multiplexed in time.<br />This kind of pattern can achieve high accuracy in the measurements. This is due to two factors:<br /> 1- since multiple patterns are projected, the codeword basis tends to be small (usually binary) and therefore a small set of primitives is used, being easily distinguishable among each other;<br /> 2- a coarse-to-fine paradigm is followed, since the position of a pixel is being encoded more precisely while the patterns are successively projected.<br /><br />They clasify the different techniques based on time-multiplexing as:<br />a) techniques based on binary codes: a sequence of binary patterns is used in order to generate binary codewords<br />b) techniques based on n-ary codes: a basis of n primitives is used to generate the codewords<br />c) Gray code combined with phase shifting: the same pattern is projected several times, shifting it in a certain direction in order to increase resolution<br />d) hybrid techniques: combination of time-multiplexing and neighborhood strategies<br /><br /><span style="font-weight: bold;">Spatial neighborhood</span><br />Tend to concentrate all the coding scheme in a unique pattern<br />clasification of techniques:<br />a) strategies based on non-formal codification: the neighborhoods are generated intuitively<br />b) strategies based on De Bruijn sequences: the neighborhoods are defined using pseudorandom sequences<br />c) strategies based on M-arrays: extension of the pseudorandom theory to the 2-D case<br /><br /><span style="font-weight: bold;">Direct codification</span><br />The entire codeword for a given point is contained in a unique pixel. In order to achieve this, it is necessary to use either a large range of color values or introduce periodicity.In theory, a high resolution of 3D information can be obtained.The sensitivity to noise is very high because the "distance" between "codewords", i.e. the colors used, is nearly zero.Moreover, the imaged colors depend not only on the projected colors, but also on the intrinsic color of the measuring surface.<br /><br />They discuss of two groups of methods:<br />a) codification based on grey levels: a spectrum of grey levels is used to encode the points of the pattern<br />b) codification based on color: these techniques take advantage of a large spectrum of colors.<br /><br /><span style="font-style: italic;">After clasification they implement some methods, compare them and present their resuls.</span>Adriana Soucoffhttp://www.blogger.com/profile/02479206715720740011noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-49394356130058245992010-05-30T20:12:00.000-03:002010-05-30T20:12:26.469-03:00Structured light - Continuity vs DiscontinuityA third experiment with structured light was performed trying to scan a simple and very used scene in the video-mapping field: a group of primitive shapes.<br />
We faced a lot of problems with this apparently simple scene and that made us think that structured light wasnt suitable for discontinuous shapes, so we built a complex but continuous geometry by wrapping the scene with a piece of cloth. The SL-applet had no trouble generating the 3d geometry.<br />
<br />
After getting these results we asked the creator of the applet for confirmation on our early conclusion and we got a response. It was true that the experiment performed wasnt suitable for discontinuous shapes because it uses phase-shifting scanning based on the principle of propagating depth values across a surface. So if two surfaces are disconnected, it cannot determine how they are related depth-wise.<br />
However, it wasn't true that SL is inappropriate for discontinuous shapes. Other pattern codifications and algorithms not so based on real-time can return better results for these type of scenes.<br />
This is what we'll be working on the next weeks.<br />
<br />
Photos of the scenes - discontinuous and continuous<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFW1Djg9cbHCjE-DP0JLbvxAsQRFbZerrhKmAzlz91TIj5qfac3Nt8TfDf3V9fTPxYcwAvbuw2KmHXMRh6FNdAWrSbKHO5stb-DluBlmPGh4E3k3y_fMaAPvS1xkDNltFbH3ErUqCfAFdT/s1600/Phase2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFW1Djg9cbHCjE-DP0JLbvxAsQRFbZerrhKmAzlz91TIj5qfac3Nt8TfDf3V9fTPxYcwAvbuw2KmHXMRh6FNdAWrSbKHO5stb-DluBlmPGh4E3k3y_fMaAPvS1xkDNltFbH3ErUqCfAFdT/s200/Phase2.jpg" width="200" /></a></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig67nHIn2HI8BPEHawpCx9kEjAbGeK1nWBHZ-blsoHYCoMZfss7-uRdO_eN18qnpC1MEdOhyphenhyphenRrWLNcZuqRafeKy8QjrtVJ8gLOoOSEkEeuMFAlIlWq5Iz_E3JluhNQU_uiItzca7VLbdCh/s1600/Phase1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig67nHIn2HI8BPEHawpCx9kEjAbGeK1nWBHZ-blsoHYCoMZfss7-uRdO_eN18qnpC1MEdOhyphenhyphenRrWLNcZuqRafeKy8QjrtVJ8gLOoOSEkEeuMFAlIlWq5Iz_E3JluhNQU_uiItzca7VLbdCh/s200/Phase1.jpg" width="200" /></a>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5762648812844373200.post-51330850954758571332010-05-20T14:48:00.000-03:002010-05-20T14:48:54.062-03:00Second scanningOn this second experiment with structured light we scanned a simple scene: two perpendicular walls.<br />
A lot of video mapping applications like <a href="http://automodellingandvideomapping.blogspot.com/2010/05/eye-candy.html">this one</a> focus on objects with planar faces like boxes so the idea of this experiment was to test structured light with these type of objects.<br />
The geometry was fairly well retrieved with minor tweakings. The pictures were only cropped around the target zone and the Z scale and Z skew were adjusted in the SL applet.<br />
Here are the pictures taken and a snapshot of the retrieved cloud of points.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjInc09cmNEERJJn9n6ljqfxhXWU8Z3rKgp2UrB0mnSMtEROPXiatbQMwB_EpG7DBaJHxQFPaIMfAm0LcIi6m22oz0C9enIcT6OKANYCyAucCSPrIOcwA9tk1XFQ5UhwyNUd1Y23_1EH6bR/s1600/phase3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjInc09cmNEERJJn9n6ljqfxhXWU8Z3rKgp2UrB0mnSMtEROPXiatbQMwB_EpG7DBaJHxQFPaIMfAm0LcIi6m22oz0C9enIcT6OKANYCyAucCSPrIOcwA9tk1XFQ5UhwyNUd1Y23_1EH6bR/s200/phase3.jpg" width="196" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUKBUHmVMLivW-eaxMi7RK2dboEnanklWK3PSNSnGgDZUxEoL9G1jksnL8udgWoHlV2ZKu4SIQ9E7EbWmqkFWhhMj-mucPxuPwB8QAN0gnF1CY896su16MG92SpRiOFT11SsrMyK2RAop6/s1600/phase1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUKBUHmVMLivW-eaxMi7RK2dboEnanklWK3PSNSnGgDZUxEoL9G1jksnL8udgWoHlV2ZKu4SIQ9E7EbWmqkFWhhMj-mucPxuPwB8QAN0gnF1CY896su16MG92SpRiOFT11SsrMyK2RAop6/s200/phase1.jpg" width="196" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt-PVdtpcu_f3A82e9sohaCfz80-lpyfgW-8QakoNfa4YXVXwdKnKGgdqQeZUqvaTc5EZetQRsw3UAsLJBoDHn6oPNRCYLIridoHHr3kcRF-40RE_k-KJTeg__j7bcVw37P6smO9dUX48S/s1600/phase2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt-PVdtpcu_f3A82e9sohaCfz80-lpyfgW-8QakoNfa4YXVXwdKnKGgdqQeZUqvaTc5EZetQRsw3UAsLJBoDHn6oPNRCYLIridoHHr3kcRF-40RE_k-KJTeg__j7bcVw37P6smO9dUX48S/s200/phase2.jpg" width="196" /></a></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5nVqGeP19EviB3ORAluacvFPr-FiOwdjvWFwALJZ2q6Zx3RmYUOZgqW04HSINRsCvmLXBIonQdS1igOswHyjbkSr1rEuOPTT9Zrzks-AMWrs-FwnczRqZGo6h7y9umMqbenpmneo7Z62f/s1600/CapturaRincon.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5nVqGeP19EviB3ORAluacvFPr-FiOwdjvWFwALJZ2q6Zx3RmYUOZgqW04HSINRsCvmLXBIonQdS1igOswHyjbkSr1rEuOPTT9Zrzks-AMWrs-FwnczRqZGo6h7y9umMqbenpmneo7Z62f/s200/CapturaRincon.jpg" width="178" /></a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-15446543478211673222010-05-19T20:39:00.000-03:002010-05-19T20:39:23.061-03:00Eye candy<object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10692284&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=10692284&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object><p><a href="http://vimeo.com/10692284">ENVISION : Step into the sensory box</a> from <a href="http://vimeo.com/user606055">SUPERBIEN</a> on <a href="http://vimeo.com">Vimeo</a>.</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-85320189261111761872010-05-15T21:08:00.008-03:002010-05-17T18:12:15.823-03:00First testsLast Saturday we could finally get a projector and started making the first experiments of mapping and scanning.<br />
<br />
<span style="font-size: 130%;">Manual mapping<br />
</span><br />
The goal of this experiment was to project two different images on two perpendicular walls (a corner of the room). The projector was not aligned with any of these walls so any planar projection resulted in deformed images. With a 3D software two textured planes were created simulating the target planes. Then the corner vertices were manually adjusted until the projected images looked undeformed on the walls.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwWf9_btt-HvpfYKo4SMRPXMICZneWy8Pnkn_o8Mg8saxlDXQ8Cx3aqFmBqiflf0RCwXNvGWNjINq7Pb84e6OdtM6mx74htD1yx8udevsMG_P5JR3Puvam4RAfcp8osOg3u-BE5JdP35Oc/s1600/DSC00128.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5471655618993770482" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwWf9_btt-HvpfYKo4SMRPXMICZneWy8Pnkn_o8Mg8saxlDXQ8Cx3aqFmBqiflf0RCwXNvGWNjINq7Pb84e6OdtM6mx74htD1yx8udevsMG_P5JR3Puvam4RAfcp8osOg3u-BE5JdP35Oc/s320/DSC00128.JPG" style="cursor: pointer; height: 240px; width: 320px;" /></a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgstgXj94_ZTKUUbqXwqkCpo428WPL_C5Cg4cnsgfei3QPb5byRSlqTSFGbZOCgbIYXmgUsKYd38gfMDtTHe0CPHCBLO5q1SObxaRy0GXXhGS31vTEIBBJI0g1ofE7QZpz10ek2l9OePFcd/s1600/DSC00131.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5471668287993883394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgstgXj94_ZTKUUbqXwqkCpo428WPL_C5Cg4cnsgfei3QPb5byRSlqTSFGbZOCgbIYXmgUsKYd38gfMDtTHe0CPHCBLO5q1SObxaRy0GXXhGS31vTEIBBJI0g1ofE7QZpz10ek2l9OePFcd/s320/DSC00131.JPG" style="cursor: pointer; float: left; height: 240px; margin: 0pt 10px 10px 0pt; width: 320px;" /></a><br />
<br />
<span style="font-style: italic;"><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Remark: The deformed planes in the 3D software didn't represent the shape of the walls but a planar deformed shape that matches the projection. <span style="font-weight: bold;">That lead us to think that we could accomplish the goal of project over real 3D structures using simplified 2D representations of that 3D object.</span></span><br />
<br />
This first mapping was manually performed. Programs like modul8 map the images to the geometry manually.<br />
In others like vvvv the definition of the geometry is needed to generate the virtual model. Then this virtual model is adjusted with the real one.<br />
This last automatic approach is what we want to achieve.<br />
<br />
<span style="font-size: 130%;">3D Scanning</span><br />
<br />
The second experiment was scanning objects using the <a href="http://www.instructables.com/id/Structured-Light-3D-Scanning/">structured light technique</a>.<br />
The goal was to obtain three photos projecting the three-phase patterns seen in the link above. These photos and the mentioned patterns are then processed by the application to generate a cloud of points that represents the retrieved 3D geometry.<br />
<br />
Many configurations were tested using different camera positions and different distances from the projector to the target object. We also started using an standard web camera but we were having very bad resolution in the captured images and we had problems focusing the scanned object/person (it was too "far" in the image with the corresponding loss of detail).<br />
<br />
The best results were obtained using a photo camera of 5 mega pixels and optical zoom x12 and with the camera field of view similar to the projector's. Also the pictures were cropped with an image editor so the applet focuses only on the target object.<br />
<br />
The calibration of the projector seemed to be very important so the pattern projected looks as sharp as possible. That, summed up to the fact that we had to use a high resolution photo camera instead of a low resolution web camera, lead us to think that the structured light algorithm requires images with a mid-to-high resolution<br />
Another conclusion, taken directly from the obtained results, is that the objects to scan shouldn't have glossy surfaces because the patterns are lost on those areas.<br />
<br />
Taking into consideration the conclusions expressed above, we tend to think we will have problems implementing a real time solution of 3D reconstruction using standard market cameras.<br />
<br />
See here the obtained pictures of the reconstructed Javier's (jefa) head.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaxoNqFhU7ZSk-cXI07Nxoayf5vtax8RWouDZF4ZYrMHWbtTNkG-oKljTF53yKk0OoSNYYEaThq9t0UJbV9Q8Pu5dDy0whwncWp4sbOFB45dtrZcD7tdA_w4iAwxxSC2kif_Sw2hxdvpor/s1600/Phase1.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaxoNqFhU7ZSk-cXI07Nxoayf5vtax8RWouDZF4ZYrMHWbtTNkG-oKljTF53yKk0OoSNYYEaThq9t0UJbV9Q8Pu5dDy0whwncWp4sbOFB45dtrZcD7tdA_w4iAwxxSC2kif_Sw2hxdvpor/s200/Phase1.JPG" width="200" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguLLwZVNsU60APKQLfghJb6qXemw0euBUquWuFAspRCBOt1QUiMgduR97gf_xOPYWNmhQ7M3PIqI3dkMOJeR7VOnuMvM7FYRVznzPkgFvMvge0hSP8K-2YyFevSI8Zs6sCx6JnmQPrdrBE/s1600/Phase2.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguLLwZVNsU60APKQLfghJb6qXemw0euBUquWuFAspRCBOt1QUiMgduR97gf_xOPYWNmhQ7M3PIqI3dkMOJeR7VOnuMvM7FYRVznzPkgFvMvge0hSP8K-2YyFevSI8Zs6sCx6JnmQPrdrBE/s200/Phase2.JPG" width="200" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN51mbGnOzkYZzG-BH_aTtbyasyG_kc_lqHmzyIpasVWM5nfLt4qgRZJxVw_Qne3RQ91FdP-6wPDBJTHqmqcH22m-4hnCoSR9-FdkYwT6hnwiVefq1DPRn284J7Uu0HP-U24J69qefM-xt/s1600/Phase3.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN51mbGnOzkYZzG-BH_aTtbyasyG_kc_lqHmzyIpasVWM5nfLt4qgRZJxVw_Qne3RQ91FdP-6wPDBJTHqmqcH22m-4hnCoSR9-FdkYwT6hnwiVefq1DPRn284J7Uu0HP-U24J69qefM-xt/s200/Phase3.JPG" width="200" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div>Recognized 2.5D shape:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ2kAUk8VM8HGUAou7nZo7jRrDKwRZKr6cuWxD3YxXtQ669CmfjO5B7ZFntv6MfknRP3d1PGQSiFs0XtUUTtn8DVkHCedEXUpxRPOCL0Zr8eF-A6S_IW3Ofh_mOQ1CwY3ISEXAmubt_OIY/s1600/Cabeza1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ2kAUk8VM8HGUAou7nZo7jRrDKwRZKr6cuWxD3YxXtQ669CmfjO5B7ZFntv6MfknRP3d1PGQSiFs0XtUUTtn8DVkHCedEXUpxRPOCL0Zr8eF-A6S_IW3Ofh_mOQ1CwY3ISEXAmubt_OIY/s200/Cabeza1.jpg" width="163" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK4lMeLC_b9oPkbFHajn-Y2YMNIZ4VlFPdpqRDt02-GF_0NC1CY_QZfsyvrQLAWZ580ixZjYRjFfepmITjL315V75DOw8w422CY1mF6Ch2Ngr6CdiKgIrzwFpQX4jx75Xfav2z-mtHKtVX/s1600/Cabeza2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK4lMeLC_b9oPkbFHajn-Y2YMNIZ4VlFPdpqRDt02-GF_0NC1CY_QZfsyvrQLAWZ580ixZjYRjFfepmITjL315V75DOw8w422CY1mF6Ch2Ngr6CdiKgIrzwFpQX4jx75Xfav2z-mtHKtVX/s200/Cabeza2.jpg" width="153" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvwEyFCWHuwNy4givexXjqatRY5PG4MvCIipXx9AAyPwuVjflJ1OOwA8gntOfrmtx4WIL61wRVu8YabyyDAGBqQeLR_43xGukx2AuW82tGnhzWl6cfFTb9drCuYULvaKgDAUu3wSuVOwNs/s1600/Cabeza3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvwEyFCWHuwNy4givexXjqatRY5PG4MvCIipXx9AAyPwuVjflJ1OOwA8gntOfrmtx4WIL61wRVu8YabyyDAGBqQeLR_43xGukx2AuW82tGnhzWl6cfFTb9drCuYULvaKgDAUu3wSuVOwNs/s200/Cabeza3.jpg" width="164" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"></div>jefahttp://www.blogger.com/profile/10839745171491426294noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-70749848847721660652010-05-11T00:47:00.005-03:002010-05-11T00:57:55.911-03:00Dynamic Projection Environments for Immersive VisualizationThis <a href="http://www.cs.rpi.edu/research/groups/graphics/procams2010/dynamic_projection_surfaces.pdf">paper </a>present a system for dynamic projection.<br />the projected surfaces are large screens (in human-body scale), each one has wheels that allow move it easyly. When the projection surfaces are moved in real-time, the application re-calculates the visualization on the fly.<br /><br />They use a technique they call <span style="font-style: italic;">projection keyframing</span> to provide continuity on moving surfaces<br />while waiting for simulations to complete.<br /><br />The system allows multiple users to participate interactively with each other and the visualization application.<br /><br />Initial target application for the system was interactive<br />architectural lighting visualization, they give a simulated environment to architects and<br /><br />clients to evaluate the natural and artificial lighting of a proposed architectural design.<br /><br />The distributed system allows for:<br />- Projector keyframing - a technique to impart slow applications with a dynamic, responsive feel<br />- Tracking projection surfaces of known geometry with simple IR-based LED markers, and<br />- A distributed rendering system which can be extended to drive an arbitrary number of projectors.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk_MBlbxZmTtxH5cZS9V2xqiPo9bEamMP8nQ3Rpr50AmQnGsDLvGSzfBcW6tYdAEaJ67YrcepZgHo4fFjc7LZQDaPLEGM64CIqZaAQo7a-LWlfFmjs5meXzaveL-gvQBbA9aXOweeL_Kzj/s1600/Sin+t%C3%ADtulo2.png"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 78px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk_MBlbxZmTtxH5cZS9V2xqiPo9bEamMP8nQ3Rpr50AmQnGsDLvGSzfBcW6tYdAEaJ67YrcepZgHo4fFjc7LZQDaPLEGM64CIqZaAQo7a-LWlfFmjs5meXzaveL-gvQBbA9aXOweeL_Kzj/s320/Sin+t%C3%ADtulo2.png" alt="" id="BLOGGER_PHOTO_ID_5469855155629865314" border="0" /></a><br /><br /><br /><br /><br /><br />The system steps:<br />- The system use a single camara to obtain images of the scene<br />- determine the projection surface geometry whit the information of the camera<br />- use a gigabit-Ethernet connected camera to detect the LEDs sensor (ubicated in the top of each<br />screen)<br />- dinamic projection using 10 projectors<br /><br />Aplications:<br />- architectural visualization<br />- explore volumetric data by defining cross-sections<br />- general purpose user-interace elements<br /><a href="http://www.cs.rpi.edu/research/groups/graphics/procams2010/dynamic_projection_surfaces.mp4"><br />see a video with examples here</a>Adriana Soucoffhttp://www.blogger.com/profile/02479206715720740011noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-11616378003844045462010-05-06T12:41:00.003-03:002010-05-06T12:51:57.469-03:00VVVV is a toolkit for real time video synthesisIt is designed to facilitate the handling of large media environments with physical<br />interfaces, real-time motion graphics, audio and video that can interact with many users simultaneously.<br /><br />vvvv uses a visual programming interface. Therefore it provides a graphical programming language for easy prototyping and development.<br /><br />vvvv is real time. where many other languages have distinct modes for building and running programs, vvvv only has one mode - runtime.<br /><br />vvvv is free for non-commercial use.<br />Download --> <a href="http://vvvv.org/tiki-index.php?page=Downloads">http://vvvv.org/tiki-index.php?page=Downloads</a><br /><br /><a href="http://vvvv.org/tiki-index.php?page=How+To+Project+On+3D+Geometry">here explains how to project on 3D Geometry</a><br />they explains how vvvv resolve projection on a flat surface and projection on an arbitrary surface.<br />In the first case vvvv use <a href="http://en.wikipedia.org/wiki/Homography">homography</a> to resolve the projection.<br />In Second case they build a virtual replica of the real scene, whith three steps<br />1- defining the origin for your real worlds coordinate system<br />2- create the target projection surface as a 3d model and place it correctly in your virtual scene regarding the coordinate systems origin (they comment that could be done whith vvvv or other toolkit)<br />3- measure the position, orientation and lens-characteristics of the projector<br /><br />all done in these three steps is manually by the user, using vvvv toolkit or other.Adriana Soucoffhttp://www.blogger.com/profile/02479206715720740011noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-50378920367650755132010-05-05T16:59:00.007-03:002010-05-05T17:11:17.961-03:00Fast 3D scanning methods for laser measurement systemsIn this <a href="http://www.rts.uni-hannover.de/images/5/5f/Wulf03-CSCS.pdf">paper </a>(writed by Oliver Wulf, Bernardo Wagner) present a laser time-of-flight method, it can provide distance measurements at 50 meters with error of centimeters.<br /><br />They combines a 2D laser scanner with a servo drive, it allow different arrangements of scan planes and rotation axis that lead to different fields of view.<br /><br />First defines 4 diferents combinations of the scanner and servo drive, then discuse the measurement density of each one and the measured points are not placed ina regular grid, the density is minimal for laser beams orthogonal to the rotation axis and maximal for beams parallel to this axis<br />example:<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqQq4EWP0PWuwHvakaIUP31lw_eMU02pTGR1wpooHObGljlU70_EzNE9t1lqfybz0xKOzRkPDOIAaMmV2fkTMZuLTdRxFrVV9_rjOnE_ryCs-onVSNokGVcw5MUCt1FShrsM-PBGTF88gw/s1600/Sin+t%C3%ADtulo.png"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 264px; height: 192px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqQq4EWP0PWuwHvakaIUP31lw_eMU02pTGR1wpooHObGljlU70_EzNE9t1lqfybz0xKOzRkPDOIAaMmV2fkTMZuLTdRxFrVV9_rjOnE_ryCs-onVSNokGVcw5MUCt1FShrsM-PBGTF88gw/s320/Sin+t%C3%ADtulo.png" alt="" id="BLOGGER_PHOTO_ID_5467880052802731922" border="0" /></a><br /><br /><br /><br />in this case there are two regions<br />with high measurement density<br /><br /><br /><br /><br /><br /><br /><br />Then they show diferences in a experimental comarison, whith de same number of points and the same time of scanning the result was diferent, the region more detailed correspond whit the region of mayor density.<br /><br />They show what case is better for indor or outdor scan depending in the choosed method (combination of scanner and axis of rotation).<br /><br />To calculate 3D point cloud is needed a transformation whith input: 2D raw scan and the position of the 2D scanner.<br /><br />Posible aplications for 3D laser scanners are: object localization and recognition for an automated system, safety systems, surveillance, navigation etc.Adriana Soucoffhttp://www.blogger.com/profile/02479206715720740011noreply@blogger.com1tag:blogger.com,1999:blog-5762648812844373200.post-14269795078344109602010-05-05T01:43:00.002-03:002010-07-22T10:24:39.491-03:00Fast 3D Scanning with Automatic Motion Compensation (Stereo approach)<span style="font-family:arial;">An intrinsic problem of phase-shifting methods is the inability to deal with blurred images caused by motion of the scanned object or person. There are a lot of initiatives or modifications performed to the original structured light method to support scanning of objects in motion. Please refer to Zhang's paper "Recent progress on real-time 3D shape measurement ... - Song Zhang" mentioned in the previous post. There Zhang cover some techniques to deal with blur by motion images with acceptable results.</span><br /><br /><span style="font-family:arial;">In the paper presented below, the authors have decided to replace the unwrap phase of the structured light method by an stereo-based approach to have the same problem of correspondence solved but by a different mechanism. They argued that the unwrapping phase does not solve the absolute phase and that if two surfaces been scanned have a discontinuity of more than 2pi then no method based on phase-shifting will correctly unwrap these two surfaces to each other.</span><br /><br /><br /><span style="font-size:130%;"><a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.3817&rep=rep1&type=pdf"><span style="font-weight: bold;font-family:arial;" >* Fast 3D Scanning with Automatic Motion Compensation - Thibaut Weise, Bastian Leibe and Luc Van Gool</span></a><br /><br /></span><span style="font-weight: bold; font-style: italic;font-family:arial;" >Abstract</span><br /><span style="font-style: italic;font-family:arial;" >We present a novel 3D scanning system combining stereo and active illumination based on phase-shift for robust and accurate scene reconstruction. Stereo overcomes the traditional phase discontinuity problem and allows for the reconstruction of complex scenes containing multiple objects. Due to the sequential recording of three patterns, motion will introduce artifacts in the reconstruction. We develop a closed-form expression for the motion error in order to apply motion compensation on a pixel level. The resulting scanning system can capture accurate depth maps of complex dynamic scenes at 17 fps and can cope with both rigid and deformable objects.</span>jefahttp://www.blogger.com/profile/10839745171491426294noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-27987778394852192972010-05-05T01:12:00.006-03:002010-07-22T10:30:18.097-03:00Real-time 3D shape measurement<span style="font-family:arial;">Structures light as a technique for 3D reconstruction has being extensively adopted by the industry and it has proven to work in controlled environments. On the other hand, there's a lot of preoccupation today about the performance of phase-shifting algorithms mostly when real-time 3D measurement comes into play.</span><br /><br /><span style="font-family:arial;">There are several directions the researchers are heading to have the performance of the algorithms improved, for example the ussage of different techniques when projecting the encoded stripes, delegate some calculations to the GPUs, or improve the mathematical model itself.</span><br /><br /><span style="font-family:arial;">The following two papers present recent research about how to improve the computational cost of the phase-shifting algorithm, and both authors tackled the problem improving the mathematical model approximating the Arctan in the formula of the phase with an intensity ratio calculation and the use of a lookup table (LUT) to compensate the approximation error.</span><br /><br /><span style="font-family:arial;">Actually, if you look at ThreePhase.java class of the Structured Light source code, you'll notice that there’s a comment within the code suggesting to do what these papers are proposing instead of using atan2 Java function:</span><br /><br /><span style="font-size:85%;"><span style="font-style: italic;font-family:courier new;" >public void phaseWrap() {</span><br /><span style="font-style: italic;font-family:courier new;" > ...</span><br /><span style="font-style: italic;font-family:courier new;" > // this equation can be found in Song Zhang's</span><br /><span style="font-style: italic;font-family:courier new;" > // "Recent progresses on real-time 3D shape measurement..."</span><br /><span style="font-style: italic;font-family:courier new;" > // and it is the "bottleneck" of the algorithm</span><br /><span style="font-style: italic;font-family:courier new;" > // it can be sped up with a look up table, which has the benefit</span><br /><span style="font-style: italic;font-family:courier new;" > // of allowing for simultaneous gamma correction.</span><br /><span style="font-style: italic;font-family:courier new;" > phase[y][x] = atan2(sqrt3 * (phase1 - phase3), 2 * phase2 - phase1 - phase3) / TWO_PI;</span><br /><span style="font-style: italic;font-family:courier new;" > ...</span><br /><span style="font-style: italic;font-family:courier new;" >}</span><br /></span><br /><span style="font-size:130%;"><a href="http://code.google.com/p/structured-light/downloads/detail?name=papers.zip&can=2&q="><span style="font-weight: bold;font-family:arial;" >* Fast three-step phase-shifting algorithm - Peisen S. Huang and Song Zhang - 2006</span></a><br /></span><br /><span style="font-weight: bold; font-style: italic;font-family:arial;" >Abstract</span><br /><span style="font-style: italic;font-family:arial;" >We propose a new three-step phase-shifting algorithm, which is much faster than the traditional three step algorithm. We achieve the speed advantage by using a simple intensity ratio function to replace the arctangent function in the traditional algorithm. The phase error caused by this new algorithm is compensated for by use of a lookup table. Our experimental results show that both the new algorithm and the traditional algorithm generate similar results, but the new algorithm is 3.4 times faster. By implementing this new algorithm in a high-resolution, real-time three-dimensional shape measurement system, we were able to achieve a measurement speed of 40 frames per second at a resolution of 532x500 pixels, all with an ordinary personal computer.</span><br /><br /><br /><a href="http://code.google.com/p/structured-light/downloads/detail?name=papers.zip&can=2&q="><span style="font-weight: bold;font-size:130%;" ><span style="font-family:arial;">* Recent progress on real-time 3D shape measurement using digital fringe projection techniques - Song Zhang - 2009</span></span></a><br /><br /><span style="font-weight: bold; font-style: italic;font-family:arial;" >Abstract</span><br /><span style="font-style: italic;font-family:arial;" >Over the past few years, we have been developing techniques for high-speed 3D shape measurement using digital fringe projection and phase-shifting techniques: various algorithms have been developed to improve the phase computation speed, parallel programming has been employed to further increase the processing speed, and advanced hardware techniques have been adopted to boost the speed of coordinate calculations and 3D geometry rendering. We have successfully achieved simultaneous 3D absolute shape acquisition, reconstruction, and display at a speed of 30 frames/s with 300 K points per frame. This paper presents the principles of the real-time 3D shape measurement techniques that we developed, summarizes the most recent progress that have been made in this field, and discusses the challenges for advancing this technology further.</span>jefahttp://www.blogger.com/profile/10839745171491426294noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-60678364409164850532010-05-04T20:01:00.002-03:002010-07-22T21:44:42.295-03:00Coded Structured light as a technique to solve the corresponding problem<span style="font-family:arial;"><a href="http://www.soe.ucsc.edu/classes/cmps290b/Fall05/readings/Batlle_PatRec98_RecentProgressCodedLight.pdf">This paper</a> covers the motivation, history and different techniques regarding the Structured Light and Coded Structured light methodologies for 3D surface reconstruction.</span><br /><br /><span style="font-family:arial;">First, a passive stereovision system with two sensor/cameras is explained and the mathematical equations and geometrical constraints are analyzed in detail. Then, structured light as an active method is covered and presented as an alternative to solve the "correspondence problem". Mathematical model is explained as well. Then, the purpose of the coded structured light is described, analyzing temporal dependence, emitted light dependence and depth surface discontinuity dependence. Finally several coded structured light techniques are covered, discussed and compared.</span><br /><br /><span style="font-family:arial;">Active and passive techniques are covered in separate, and then, when the mathematical models are explained, the similarities are remarked.</span><br /><br /><span style="font-family:arial;">Even though this paper is quite old (1998) it covers structured light and vision systems for 3D reconstruction from an historical perspective. That makes it a very useful source of information in order to understand structured light as a whole, and to be included, in the end, in our Sate of the Art document.</span><br /><br /><span style="font-size:130%;"><span style="font-weight: bold;font-family:arial;" >Abstract</span><br /></span><span style="font-style: italic;font-family:arial;" >We present a survey of the most significant techniques, used in the last few years, concerning the coded structured light methods employed to get 3D information. In fact, depth perception is one of the most important subjects in computer vision. Stereovision is an attractive and widely used method, but, it is rather limited to make 3D surface maps, due to the correspondence problem. The correspondence problem can be improved using a method based on structured light concept, projecting a given pattern on the measuring surfaces. However, some relations between the projected pattern and the reflected one must be solved. This relationship can be directly found codifying the projected light, so that, each imaged region of the projected pattern carries the needed information to solve the correspondence problem.</span>jefahttp://www.blogger.com/profile/10839745171491426294noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-73189466603292390822010-05-04T00:14:00.001-03:002010-05-04T00:14:56.649-03:00Automatic Projector CalibrationJohnny Lee presented on his <a href="http://johnnylee.net/academic/proj4.pdf">thesis work</a> an interesting way to automatically calibrate a projector by embedding optical sensors into the projection surface.<br />
The procedure consists in detecting the individual pixels illuminating the optical sensors.<br />
This is done by projecting a series of gray-coded binary patterns on the target surface. These patterns are coded in a way to detect every pixel projected on the screen. The amount of patterns to project depends on the resolution of the projector. For a 1024x768 resolution each pixel can be uniquely detected with only twenty patterns.<br />
<br />
Once the key pixels have been detected on the target surface it is posible to find the homography that transforms the screen pixels to the projected locations. Once this transformation is known, pre-warped images may be transmitted to the projector.<br />
<br />
This project has many applications besides projector calibration.<br />
It can be used for creating a large display using tiled projection. This is known as stitching.<br />
It can also be used to project multiple versions of the same content on a surface to reduce the shadows when one projector is blocked.<br />
Finally, another of the possible uses is to register the orientation of a 3D surface. This requires the geometry of the surface to be known and the optical sensors to be in the visibility range from the projector.<br />
<br />
A video explaining the usage and other details of the implementation can be seen <a href="http://www.youtube.com/watch?v=XgrGjJUBF_I">here</a>.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5762648812844373200.post-38805276521397488602010-04-28T01:36:00.008-03:002010-06-24T15:37:14.073-03:00Augmented Reality SystemAugmented Reality (AR) is the synthesis of real and virtual imagery. In contrast to Virtual Reality (VR) in which the user is immersed in an entirely artificial world, augmented reality overlays extra information on real scenes.<br /><br /><a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.10.2429&rep=rep1&type=pdf">Interactive Augmented Reality Techniques for Construction at a Distance of 3D Geometry</a><br /><br />Here present a Augmented Reality system consist in techniques for construction at distance ,<br />uses a mobile augmented reality wearable computer, the scale of the world is fixed and the user’s presence controls the view, that can be used outdoors, the user interacts with the computer using hand and head gestures.<br /><ul><li>The aplication developed to this system is Tinmith-Metro.</li></ul>To see videos demos and more go <a href="http://www.tinmith.net/">http://www.tinmith.net/</a><br /><br /><a href="http://www.tinmith.net/papers/piekarski-ismar-arch-2003.pdf">Details of software architecture.</a>Adriana Soucoffhttp://www.blogger.com/profile/02479206715720740011noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-42038642946887461502010-04-19T16:39:00.052-03:002010-04-21T17:28:37.336-03:00Building a three-dimensional model<p class="MsoNormal">One point to resolve is building a three-dimensional model from a given cloud of points, next we present papers that resolve distinct steeps in this process.<br /><br /></p><ul><li> <a href="http://www1.elsevier.com/homepage/saf/nme/00104485/183.pdf">Cloud data modelling employing a unified, non-redundant triangular mesh</a></li></ul><p class="MsoNormal"><br />here present the problem segmented into patches each represent a discrete surface region on the physical object:<br />-Physical Design Model<br />-Digitize Model<br />-Cloud Data Set<br />-Apply Reverse Engineering Software<br />-Comuter based Design Model<br /><br />Initialy utilize a laser-based range sensor to obtain the cloud data, then presents triangulation method and growth rules to build the mesh.<br /><br /></p><ul><li> The complexity of the sample data has problems in: size (we need much memory to compute all data), quality (noise in the process of generate the samples) , to overcome this problems we can reduce or simplify the cloud points, this process before build the model could be made by algorithms,</li></ul><p class="MsoNormal"><br />In the paper <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.5512&rep=rep1&type=pdf">Efficient Simplification of Point-Sampled Surfaces</a> the methods presented to resolve the pre-processing problem are:<br /><br />-<span style="font-style: italic;">clustering methods</span>, split the point cloud in subsets, each subset is replaced by one representive.<br /><br />-<span style="font-style: italic;">Iterative simplification</span>, successively collapses point pairs in a point cloud according to a quadric error metric.<br /><br />-<span style="font-style: italic;">particle simulation</span>, computes new sampling positions by moving particles on the point-sampled surface according to interparticle repelling forces.<br /><br />There compare and analyze each algorthms whit emphasis on efficiency and low memory footprint.<br /><br /></p><ul><li> To survey the existing methods, whithout evaluation of them, <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.21.2796&rep=rep1&type=pdf">Survey of polygonal surface simplification algorithms</a></li></ul><p class="MsoNormal"><br /></p><ul><li> An interesting study oriented to spherical modelling is exposed in the paper:<a href="http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA274126&Location=U2&doc=GetTRDoc.pdf"> Building 3-D Models from Unregistered Range Images</a></li></ul><p class="MsoNormal"><br />This approach is based on the representation of free-form surfaces, by building deferent meshes from each view, a curvature measure is computed at every node of the meshes and map to a spherical image.<br /><br />Each mesh is represented whit a graph, each node has three neighbors and its curvature is computed from the relative position of its neighbours.<br /><br /><span style="font-style: italic;">In Resume in this studies, we could review some mehtods and techniques that resolve distinct aspects in the building of a 3D model, is an introduction on the study of the problem.</span><br /></p><i><span style=";font-family:';color:black;" lang="ES"><o:p></o:p></span></i><p class="MsoNormal"><span style=";font-family:';font-size:85%;" lang="ES" ><o:p></o:p></span></p><i><span style=";font-family:';color:black;" lang="EN-GB"></span></i><i><span style=";font-family:';color:black;" lang="ES"><o:p></o:p></span></i><p class="MsoNormal"><span style="font-size:85%;"><span style=";font-family:';" lang="ES"><o:p></o:p></span></span></p>Adriana Soucoffhttp://www.blogger.com/profile/02479206715720740011noreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-34920184046647830362010-04-07T23:29:00.008-03:002010-04-17T01:11:52.832-03:00Structured light - First experimentAn approach to the problem of scanning objects to 3D geometry is using a technique known as structured light. Kyle McDonald's <a href="http://www.instructables.com/id/Structured-Light-3D-Scanning/">instructable </a>clearly explains the steps needed to create a scan using this technique. The program necessary is available on <a href="http://code.google.com/p/structured-light/">google code</a>.<br />
<br />
Since this is a potential technique for our project, a good start would be to reproduce the experiment in ideal conditions.<br />
These conditions are:<br />
<ul><li>Good lighting on the scene (only illuminating the target object)</li>
<li>Perfect camera orientation</li>
<li>A simple object to be scanned</li>
</ul>Although structured light is robust enough to make successful scans in less strict conditions, it seems useful to have an idea of what are the best results we can expect. This can only be done in ideal conditions.<br />
<br />
The experiment consisted of simulating the camera, projector and target object in a 3D software to generate three images. Then, using these images and the ThreePhase applet found in the google code project mentioned above, retrieve the 3D geometry.<br />
A simple cone was used as the target object. The projector was simulated using a spot light with a projection map looking at the object in the exact same direction as the camera.<br />
The scene was rendered three times to a bitmap using three different patterns as projector map. Said patterns can be found in the project folder. as projector map. Finally, the applet was used with these three renderings and the 3D geometry is retrieved as a cloud of points.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhclsyKCQ5CUudRBg-ufxma7WpXi_XKSXfxF-lliXCzVYihBGfOK7_8FrOWIKfIZONyMj0LmrEfs6W3xtHuWlUBS38hO3_R6_dj4tiosogM7MVjONEHbH2y2dFCrST-T7R0jxhtq5mgTKAZ/s1600/Exp1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhclsyKCQ5CUudRBg-ufxma7WpXi_XKSXfxF-lliXCzVYihBGfOK7_8FrOWIKfIZONyMj0LmrEfs6W3xtHuWlUBS38hO3_R6_dj4tiosogM7MVjONEHbH2y2dFCrST-T7R0jxhtq5mgTKAZ/s320/Exp1.png" width="320" /></a></div><div style="text-align: center;">Experiment deployment</div><br />
The first results were not ideal due to the projector and camera having the same location. Hence, the pattern projected on the target object was undeformed and no depth information could be retrieved.<br />
To correct this, the projector was pulled away from the camera and the experiment was repeated twice using different distances.<br />
The best results were obtained using the experimental setup shown above.<br />
<br />
The acquired results can be used in next stages of the project as a starting point to create 3D Meshes from clouds of points.<br />
<br />
The collected renderings using the three patterns: <br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmVkm50TbGqVKOj_XW1r2YbXEjB6ptWnwVaEMx_cfK0GWYKHWnfZOIZKVe-vIoh4kiHUBn2QLKmv1tC4zyYdDqfZJ6r_Cy16rEXYig9jPp92UvMR0GYmJm2_nYDcCtadmAqjXVFRjCysTg/s1600/Phase1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmVkm50TbGqVKOj_XW1r2YbXEjB6ptWnwVaEMx_cfK0GWYKHWnfZOIZKVe-vIoh4kiHUBn2QLKmv1tC4zyYdDqfZJ6r_Cy16rEXYig9jPp92UvMR0GYmJm2_nYDcCtadmAqjXVFRjCysTg/s200/Phase1.jpg" width="200" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrfHRBdQNmnmkm59GfvmYEn_Hpz4Ye3D_Vl4mB0RkhvUN8KydkxxA_pa4RruoUyybhY-X7ITSI84f_2Yp_6ClA1zQgVour_h85V37VHAahwfOxAruZ2dBvudQ-ts-CEkzlqfC3GE-trjR1/s1600/Phase2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrfHRBdQNmnmkm59GfvmYEn_Hpz4Ye3D_Vl4mB0RkhvUN8KydkxxA_pa4RruoUyybhY-X7ITSI84f_2Yp_6ClA1zQgVour_h85V37VHAahwfOxAruZ2dBvudQ-ts-CEkzlqfC3GE-trjR1/s200/Phase2.jpg" width="200" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj35D6kEA64da6j1FEbDz-mmmOAJ0PO9mPMuK5Izk2fGV79-rTTPqjlid479kbgNCLhxnVd_iOmMsmz2ZITpsSaZbhIszjx5tvLF6qsAPpuC9AuRF4u1M-Qb6qGTJDgkstGfSEI0F89MnMc/s1600/Phase3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj35D6kEA64da6j1FEbDz-mmmOAJ0PO9mPMuK5Izk2fGV79-rTTPqjlid479kbgNCLhxnVd_iOmMsmz2ZITpsSaZbhIszjx5tvLF6qsAPpuC9AuRF4u1M-Qb6qGTJDgkstGfSEI0F89MnMc/s200/Phase3.jpg" width="200" /></a></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5762648812844373200.post-46494943285070053492010-04-05T01:02:00.001-03:002010-04-05T01:16:21.961-03:00Welcome!Every blog starts with an introduction so this one won't be an exception.<br />
The project is part of the computers engineering career. The people working on it are Adriana, Javier, Daniel and Tomas as tutor.<br />
As stated in the description, this blog will demonstrate the development process of our project called "Automatic Modelling & Video Mapping". The original name in spanish is "Proyecciones sobre superficies irregulares" and the outline can be read <a href="http://www.fing.edu.uy/%7Elaurenzo/proyecto2010/ProyectoSuperficiesIrregulares.pdf">here</a> (spanish only).<br />
<br />
We identified 3 major tasks:<br />
<ul><li>Scan objects into 3D geometry</li>
<li>Allow users to edit the 3D geometry obtained in the previous step</li>
<li>Apply the needed transformations to allow video mapping on the 3D geometry and then onto the real life objects</li>
</ul>We'll blog about different techniques related to these tasks, then we'll choose one or a few of these techniques to implement. Finally we'll put all the code together to try to make a useful and user friendly tool (open source of course)Unknownnoreply@blogger.com1