diff --git a/Scratch.ipynb b/Scratch.ipynb index 6de0d99..af86594 100644 --- a/Scratch.ipynb +++ b/Scratch.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 230, "metadata": {}, "outputs": [ { @@ -11,7 +11,7 @@ "" ] }, - "execution_count": 1, + "execution_count": 230, "metadata": {}, "output_type": "execute_result" } @@ -34,7 +34,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 231, "metadata": {}, "outputs": [ { @@ -43,7 +43,7 @@ "[0, 2]" ] }, - "execution_count": 2, + "execution_count": 231, "metadata": {}, "output_type": "execute_result" } @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 232, "metadata": {}, "outputs": [ { @@ -65,7 +65,7 @@ "array([[1., 1., 1.]])" ] }, - "execution_count": 3, + "execution_count": 232, "metadata": {}, "output_type": "execute_result" } @@ -76,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 233, "metadata": {}, "outputs": [ { @@ -96,7 +96,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 234, "metadata": {}, "outputs": [], "source": [ @@ -111,17 +111,17 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 235, "metadata": {}, "outputs": [], "source": [ - "cs = cage0.subdivide_deprecated()\n", + "cs,_,_ = cage0.subdivide_deprecated()\n", "c1,c2,c3,c4 = cs" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 236, "metadata": {}, "outputs": [ { @@ -133,7 +133,7 @@ " [0. , 0.5, 0. ]])" ] }, - "execution_count": 7, + "execution_count": 236, "metadata": {}, "output_type": "execute_result" } @@ -144,7 +144,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 237, "metadata": {}, "outputs": [ { @@ -156,7 +156,7 @@ " [0.5, 0.5, 0. ]])" ] }, - "execution_count": 8, + "execution_count": 237, "metadata": {}, "output_type": "execute_result" } @@ -167,7 +167,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 238, "metadata": {}, "outputs": [ { @@ -179,7 +179,7 @@ " [0.5, 1. , 0. ]])" ] }, - "execution_count": 9, + "execution_count": 238, "metadata": {}, "output_type": "execute_result" } @@ -190,7 +190,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 239, "metadata": {}, "outputs": [ { @@ -202,7 +202,7 @@ " [0. , 1. , 0. ]])" ] }, - "execution_count": 10, + "execution_count": 239, "metadata": {}, "output_type": "execute_result" } @@ -213,7 +213,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 240, "metadata": {}, "outputs": [ { @@ -225,7 +225,7 @@ " array([1, 2, 1, 3], dtype=uint8)]" ] }, - "execution_count": 11, + "execution_count": 240, "metadata": {}, "output_type": "execute_result" } @@ -237,7 +237,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 241, "metadata": {}, "outputs": [ { @@ -277,7 +277,39 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 242, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DEBUG: Transition from [[0. 0. 0.]\n", + " [1. 0. 0.]\n", + " [1. 1. 0.]\n", + " [0. 1. 0.]] to [[0. 0. 2. ]\n", + " [0.5 0. 2. ]\n", + " [1. 0. 2. ]\n", + " [1. 0.5 2. ]\n", + " [1. 1. 2. ]\n", + " [0.5 1. 2. ]\n", + " [0. 1. 2. ]\n", + " [0. 0.5 2. ]]\n" + ] + } + ], + "source": [ + "cf = cage.CageFork(None,\n", + " numpy.array([[0, 0, 0], [0.5, 0, 0], [1, 0, 0], [1, 0.5, 0],\n", + " [1, 1, 0], [0.5, 1, 0], [0, 1, 0], [0, 0.5, 0]]) + [0, 0, 2],\n", + " [[7, 0, 1], [1, 2, 3], [3, 4, 5], [5, 6, 7]]\n", + " )\n", + "mesh2 = cf.transition_from(cage0)" + ] + }, + { + "cell_type": "code", + "execution_count": 243, "metadata": {}, "outputs": [], "source": [ @@ -286,9 +318,247 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 244, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DEBUG: Transition from [[-0.12779038 0.21102174 2.40470962]\n", + " [ 0.33806165 0.70938821 2.14156165]\n", + " [-0.16030482 0.91209228 1.64319518]\n", + " [-0.62615685 0.41372581 1.90634315]] to [[-0.2626621 0.77854269 2.8165879 ]\n", + " [-0.12337756 1.0097311 2.62782244]\n", + " [ 0.01590698 1.24091952 2.43905698]\n", + " [-0.21528143 1.19143859 2.20786857]\n", + " [-0.44646984 1.14195767 1.97668016]\n", + " [-0.58575438 0.91076926 2.16544562]\n", + " [-0.72503892 0.67958085 2.35421108]\n", + " [-0.49385051 0.72906177 2.58539949]]\n", + "DEBUG: Transition from [[-0.74347748 0.58794149 3.71597464]\n", + " [-0.79727882 0.82750482 3.5970103 ]\n", + " [-0.90111397 0.6973509 3.38269929]\n", + " [-0.84731263 0.45778757 3.50166363]] to [[-1.21682916 0.70882435 3.91083553]\n", + " [-1.24891256 0.79437337 3.82882192]\n", + " [-1.28099597 0.87992239 3.7468083 ]\n", + " [-1.28427431 0.79385876 3.65911734]\n", + " [-1.28755265 0.70779513 3.57142638]\n", + " [-1.25546925 0.62224611 3.65344 ]\n", + " [-1.22338584 0.53669709 3.73545361]\n", + " [-1.2201075 0.62276072 3.82314457]]\n", + "DEBUG: Transition from [[-1.41904679 0.33918003 4.55662312]\n", + " [-1.49259832 0.36362409 4.49218395]\n", + " [-1.45056812 0.30486275 4.42174767]\n", + " [-1.37701659 0.28041868 4.48618684]] to [[-1.68933192 0.07584281 4.64352898]\n", + " [-1.71429045 0.08008304 4.605789 ]\n", + " [-1.73924898 0.08432327 4.56804903]\n", + " [-1.70515054 0.06722139 4.54331646]\n", + " [-1.67105211 0.05011951 4.5185839 ]\n", + " [-1.64609358 0.04587928 4.55632388]\n", + " [-1.62113504 0.04163905 4.59406386]\n", + " [-1.65523348 0.05874093 4.61879642]]\n", + "DEBUG: Transition from [[-1.75879046 1.52828884 3.91826404]\n", + " [-1.77907869 1.52756421 3.82068411]\n", + " [-1.77835406 1.42593032 3.82036248]\n", + " [-1.75806582 1.42665495 3.91794241]] to [[-2.14044268 1.51937802 3.93105781]\n", + " [-2.14710704 1.50554435 3.8886475 ]\n", + " [-2.1537714 1.49171067 3.84623719]\n", + " [-2.13779985 1.45011441 3.85631764]\n", + " [-2.1218283 1.40851814 3.86639808]\n", + " [-2.11516394 1.42235182 3.90880839]\n", + " [-2.10849958 1.4361855 3.9512187 ]\n", + " [-2.12447113 1.47778176 3.94113825]]\n", + "DEBUG: Transition from [[-2.02774586 0.78613143 2.88671916]\n", + " [-1.96411549 0.79303302 2.80926343]\n", + " [-1.91850973 0.70797367 2.83931112]\n", + " [-1.9821401 0.70107208 2.91676685]] to [[-2.22196111 0.61317392 2.64885197]\n", + " [-2.18730239 0.60587863 2.62071796]\n", + " [-2.15264368 0.59858334 2.59258396]\n", + " [-2.13421759 0.56975042 2.6229292 ]\n", + " [-2.1157915 0.5409175 2.65327443]\n", + " [-2.15045022 0.54821278 2.68140843]\n", + " [-2.18510894 0.55550807 2.70954244]\n", + " [-2.20353502 0.58434099 2.6791972 ]]\n", + "DEBUG: Transition from [[-1.71761816 -0.26532979 3.45944306]\n", + " [-1.72739674 -0.21751538 3.37249066]\n", + " [-1.62954178 -0.22931009 3.35458064]\n", + " [-1.6197632 -0.27712451 3.44153304]] to [[-1.81861384 -0.54813442 3.25391516]\n", + " [-1.80945737 -0.52737313 3.2150837 ]\n", + " [-1.80030089 -0.50661184 3.17625223]\n", + " [-1.75660235 -0.506064 3.1866376 ]\n", + " [-1.71290381 -0.50551615 3.19702297]\n", + " [-1.72206028 -0.52627744 3.23585444]\n", + " [-1.73121675 -0.54703873 3.2746859 ]\n", + " [-1.7749153 -0.54758657 3.26430053]]\n", + "DEBUG: Transition from [[0.33273772 1.97512805 2.90337296]\n", + " [0.27893637 2.07896319 2.66184879]\n", + " [0.03937304 1.94880928 2.65532115]\n", + " [0.09317438 1.84497413 2.89684532]] to [[ 5.32287262e-02 2.37916340e+00 3.05805689e+00]\n", + " [ 6.32353561e-04 2.40218653e+00 2.95098652e+00]\n", + " [-5.19640191e-02 2.42520966e+00 2.84391614e+00]\n", + " [-1.27162666e-01 2.32956383e+00 2.85767391e+00]\n", + " [-2.02361313e-01 2.23391801e+00 2.87143167e+00]\n", + " [-1.49764941e-01 2.21089488e+00 2.97850205e+00]\n", + " [-9.71685681e-02 2.18787175e+00 3.08557242e+00]\n", + " [-2.19699209e-02 2.28351757e+00 3.07181466e+00]]\n", + "DEBUG: Transition from [[ 1.09481578e-01 2.64523322e+00 3.90073134e+00]\n", + " [ 1.96852406e-02 2.66797393e+00 3.85962291e+00]\n", + " [-3.05547260e-03 2.57017380e+00 3.85309179e+00]\n", + " [ 8.67408646e-02 2.54743309e+00 3.89420022e+00]] to [[-0.09990301 2.64641837 4.21237531]\n", + " [-0.14070451 2.64305751 4.19202537]\n", + " [-0.18150602 2.63969665 4.17167542]\n", + " [-0.17341697 2.59572519 4.1624974 ]\n", + " [-0.16532793 2.55175374 4.15331937]\n", + " [-0.12452643 2.5551146 4.17366931]\n", + " [-0.08372492 2.55847546 4.19401926]\n", + " [-0.09181396 2.60244692 4.20319729]]\n", + "DEBUG: Transition from [[-0.21041681 3.04847733 2.66462288]\n", + " [-0.28396834 3.00644713 2.61128449]\n", + " [-0.3084124 2.94768578 2.68820614]\n", + " [-0.23486087 2.98971598 2.74154453]] to [[-0.49244292 3.25521577 2.81511259]\n", + " [-0.52601836 3.22791694 2.80174112]\n", + " [-0.55959381 3.2006181 2.78836964]\n", + " [-0.55126049 3.17275998 2.82254855]\n", + " [-0.54292716 3.14490185 2.85672746]\n", + " [-0.50935172 3.17220069 2.87009893]\n", + " [-0.47577628 3.19949953 2.88347041]\n", + " [-0.4841096 3.22735765 2.8492915 ]]\n", + "DEBUG: Transition from [[-1.05079225 2.1465857 2.64703003]\n", + " [-1.04463562 2.06946796 2.58169183]\n", + " [-1.01186141 2.00990788 2.65440841]\n", + " [-1.01801805 2.08702562 2.71974661]] to [[-1.36237651 2.02532775 2.73412604]\n", + " [-1.35345292 1.98475271 2.71533844]\n", + " [-1.34452933 1.94417767 2.69655084]\n", + " [-1.31922385 1.93332377 2.73259927]\n", + " [-1.29391837 1.92246987 2.76864769]\n", + " [-1.30284196 1.96304492 2.78743529]\n", + " [-1.31176555 2.00361996 2.80622289]\n", + " [-1.33707103 2.01447385 2.77017447]]\n", + "DEBUG: Transition from [[-0.83336259 1.79896047 3.67957252]\n", + " [-0.88053865 1.78423304 3.59339709]\n", + " [-0.81699274 1.70865428 3.57041434]\n", + " [-0.76981668 1.72338171 3.65658978]] to [[-1.05076267 1.55381209 3.80219963]\n", + " [-1.06133874 1.53874977 3.7612283 ]\n", + " [-1.07191482 1.52368746 3.72025698]\n", + " [-1.03130013 1.50340616 3.71655505]\n", + " [-0.99068544 1.48312485 3.71285311]\n", + " [-0.98010937 1.49818717 3.75382444]\n", + " [-0.96953329 1.51324948 3.79479576]\n", + " [-1.01014798 1.53353079 3.79849769]]\n", + "DEBUG: Transition from [[-0.85705489 1.90821162 1.64693271]\n", + " [-0.77971211 1.81526522 1.40357228]\n", + " [-0.91434668 1.5840904 1.44788536]\n", + " [-0.99168946 1.67703679 1.6912458 ]] to [[-1.20609328 2.08615194 1.46419576]\n", + " [-1.18636328 2.01321636 1.36776317]\n", + " [-1.16663329 1.94028078 1.27133058]\n", + " [-1.20308193 1.84311555 1.33704146]\n", + " [-1.23953057 1.74595032 1.40275235]\n", + " [-1.25926057 1.8188859 1.49918494]\n", + " [-1.27899057 1.89182148 1.59561753]\n", + " [-1.24254193 1.98898671 1.52990664]]\n", + "DEBUG: Transition from [[-1.64569584 2.74360496 1.80582132]\n", + " [-1.69287189 2.68005904 1.74340988]\n", + " [-1.67814447 2.60448028 1.8090762 ]\n", + " [-1.63096841 2.66802619 1.87148763]] to [[-1.92145722 2.81714973 1.9440273 ]\n", + " [-1.93804776 2.77931856 1.92506107]\n", + " [-1.95463829 2.74148739 1.90609483]\n", + " [-1.93086932 2.71590925 1.9355613 ]\n", + " [-1.90710036 2.69033112 1.96502778]\n", + " [-1.89050982 2.72816229 1.98399401]\n", + " [-1.87391929 2.76599346 2.00296025]\n", + " [-1.89768825 2.79157159 1.97349378]]\n", + "DEBUG: Transition from [[-1.37157745 2.29142615 0.69388887]\n", + " [-1.38135603 2.19357118 0.67661684]\n", + " [-1.42917044 2.18177647 0.76489743]\n", + " [-1.41939186 2.27963143 0.78216946]] to [[-1.65767608 2.35860025 0.57338448]\n", + " [-1.66649084 2.31460379 0.57863037]\n", + " [-1.6753056 2.27060732 0.58387626]\n", + " [-1.6820364 2.27640522 0.62851246]\n", + " [-1.6887672 2.28220312 0.67314866]\n", + " [-1.67995244 2.32619958 0.66790277]\n", + " [-1.67113768 2.37019604 0.66265689]\n", + " [-1.66440688 2.36439815 0.61802069]]\n", + "DEBUG: Transition from [[-1.633161 1.28583927 1.21268628]\n", + " [-1.5676273 1.21132261 1.23152628]\n", + " [-1.57087294 1.23295012 1.32990797]\n", + " [-1.63640665 1.30746679 1.31106797]] to [[-1.87380601 1.12814033 1.24313882]\n", + " [-1.84458004 1.10029995 1.26411518]\n", + " [-1.81535407 1.07245958 1.28509155]\n", + " [-1.81557636 1.09995498 1.32153904]\n", + " [-1.81579866 1.12745037 1.35798652]\n", + " [-1.84502463 1.15529075 1.33701016]\n", + " [-1.87425061 1.18313112 1.31603379]\n", + " [-1.87402831 1.15563572 1.2795863 ]]\n", + "DEBUG: Transition from [[-1.83053344 1.65646669 2.09344297]\n", + " [-1.80887482 1.57499098 2.04017734]\n", + " [-1.72739911 1.5586565 2.09680935]\n", + " [-1.74905773 1.64013221 2.15007499]] to [[-2.00727477 1.51492315 2.2856394 ]\n", + " [-1.98605816 1.47886262 2.26898208]\n", + " [-1.96484155 1.4428021 2.25232475]\n", + " [-1.92724935 1.45447431 2.27408402]\n", + " [-1.88965714 1.46614652 2.29584329]\n", + " [-1.91087375 1.50220705 2.31250062]\n", + " [-1.93209036 1.53826757 2.32915795]\n", + " [-1.96968257 1.52659536 2.30739867]]\n", + "DEBUG: Transition from [[-1.75002234 0.76028326 2.31021592]\n", + " [-1.67267956 0.89491783 2.09206692]\n", + " [-1.57973317 0.663743 1.98085422]\n", + " [-1.65707594 0.52910843 2.19900322]] to [[-2.16305897 0.7679616 2.12188319]\n", + " [-2.11255761 0.79598925 2.01560658]\n", + " [-2.06205625 0.8240169 1.90932997]\n", + " [-2.00188885 0.71726948 1.90795323]\n", + " [-1.94172144 0.61052205 1.90657649]\n", + " [-1.99222281 0.5824944 2.0128531 ]\n", + " [-2.04272417 0.55446675 2.11912971]\n", + " [-2.10289157 0.66121418 2.12050645]]\n", + "DEBUG: Transition from [[-2.78934158 0.71842309 2.5382463 ]\n", + " [-2.78318495 0.68564889 2.44279691]\n", + " [-2.7060672 0.62608881 2.46760108]\n", + " [-2.71222384 0.65886302 2.56305047]] to [[-3.04297206 0.50237651 2.55847696]\n", + " [-3.02875668 0.48182779 2.52037292]\n", + " [-3.0145413 0.46127907 2.48226888]\n", + " [-2.97506802 0.45089977 2.50268697]\n", + " [-2.93559475 0.44052048 2.52310506]\n", + " [-2.94981013 0.4610692 2.5612091 ]\n", + " [-2.96402551 0.48161792 2.59931313]\n", + " [-3.00349879 0.49199721 2.57889504]]\n", + "DEBUG: Transition from [[-2.5815931 1.2890641 1.43598402]\n", + " [-2.51796273 1.24345834 1.37433346]\n", + " [-2.52486432 1.15839899 1.42653852]\n", + " [-2.58849469 1.20400476 1.48818907]] to [[-2.82180853 1.20793295 1.22508229]\n", + " [-2.7938148 1.17761934 1.20668953]\n", + " [-2.76582106 1.14730573 1.18829677]\n", + " [-2.7668108 1.12250887 1.22562032]\n", + " [-2.76780054 1.09771202 1.26294387]\n", + " [-2.79579428 1.12802562 1.28133662]\n", + " [-2.82378801 1.15833923 1.29972938]\n", + " [-2.82279827 1.18313609 1.26240583]]\n", + "DEBUG: Transition from [[-1.98687247 0.25574474 1.19653439]\n", + " [-1.88579515 0.25703647 1.19948241]\n", + " [-1.88708688 0.21498175 1.2894741 ]\n", + " [-1.9881642 0.21369002 1.28652607]] to [[-1.99024039e+00 6.69804091e-03 1.02234241e+00]\n", + " [-1.94701814e+00 3.46945314e-03 1.03648040e+00]\n", + " [-1.90379589e+00 2.40865375e-04 1.05061839e+00]\n", + " [-1.91815896e+00 -5.19759389e-03 1.09308108e+00]\n", + " [-1.93252203e+00 -1.06360532e-02 1.13554376e+00]\n", + " [-1.97574428e+00 -7.40746539e-03 1.12140577e+00]\n", + " [-2.01896654e+00 -4.17887763e-03 1.10726779e+00]\n", + " [-2.00460347e+00 1.25958164e-03 1.06480510e+00]]\n", + "DEBUG: Transition from [[-2.16791904 -0.15963204 2.18169731]\n", + " [-2.10238534 -0.15638639 2.10783346]\n", + " [-2.02786868 -0.13475887 2.17342663]\n", + " [-2.09340238 -0.13800452 2.24729047]] to [[-2.16326236 -0.4715555 2.16483056]\n", + " [-2.12555846 -0.46530675 2.14159306]\n", + " [-2.08785455 -0.45905799 2.11835556]\n", + " [-2.06853777 -0.43754339 2.15369435]\n", + " [-2.04922099 -0.41602879 2.18903315]\n", + " [-2.0869249 -0.42227755 2.21227065]\n", + " [-2.12462881 -0.4285263 2.23550815]\n", + " [-2.14394559 -0.4500409 2.20016935]]\n" + ] + } + ], "source": [ "#mesh = examples.ram_horn()\n", "#mesh = examples.twist()\n", @@ -302,7 +572,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 245, "metadata": {}, "outputs": [], "source": [ @@ -325,7 +595,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 246, "metadata": {}, "outputs": [], "source": [ @@ -364,7 +634,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 247, "metadata": {}, "outputs": [], "source": [ @@ -383,17 +653,9 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 248, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/hodapp/.local/lib/python3.6/site-packages/IPython/core/display.py:694: UserWarning: Consider using IPython.display.IFrame instead\n", - " warnings.warn(\"Consider using IPython.display.IFrame instead\")\n" - ] - }, { "data": { "text/html": [ @@ -589,7 +851,7 @@ "Math.pow(distanceToCamera,2)+\n", "Math.pow(distanceToCamera,2));camera.position.set(len,len,len);controls.update();camera.lookAt(boundingSphere.center);controls.target.set(boundingSphere.center.x,boundingSphere.center.y,boundingSphere.center.z);camera.updateProjectionMatrix();}\n", "function centerControls(obj,camera,controls){const boundingBox=new THREE.Box3().setFromObject(obj);const boundingSphere=new THREE.Sphere();boundingBox.getBoundingSphere((target=boundingSphere));controls.update();controls.target.set(boundingSphere.center.x,boundingSphere.center.y,boundingSphere.center.z);}\n", - "function init(){scene=new THREE.Scene();scene.background=new THREE.Color(0xffffff);tracklight=new THREE.DirectionalLight(0xffffff,1.75);scene.add(tracklight);base64_data="Z2xURgIAAAB8JAAAzAMAAEpTT057InNjZW5lIjogMCwgInNjZW5lcyI6IFt7Im5vZGVzIjogWzBdfV0sICJhc3NldCI6IHsidmVyc2lvbiI6ICIyLjAiLCAiZ2VuZXJhdG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWtlZGgvdHJpbWVzaCJ9LCAiYWNjZXNzb3JzIjogW3siYnVmZmVyVmlldyI6IDAsICJjb21wb25lbnRUeXBlIjogNTEyNSwgImNvdW50IjogMTM4MywgIm1heCI6IFsyMzNdLCAibWluIjogWzBdLCAidHlwZSI6ICJTQ0FMQVIifSwgeyJidWZmZXJWaWV3IjogMSwgImNvbXBvbmVudFR5cGUiOiA1MTI2LCAiY291bnQiOiAyMzQsICJ0eXBlIjogIlZFQzMiLCAiYnl0ZU9mZnNldCI6IDAsICJtYXgiOiBbMC41NjI4ODU1MTMxMDQxMjU1LCAyLjczNjY1NTI4MTExMDg4NzMsIDQuMzQ1NjExMDk3NDU1NzY3XSwgIm1pbiI6IFstMi40NTg0NjAzNDk0NTgxMTc2LCAtMC41NDI3ODY5MzMyMTA2NDgyLCAwLjBdfV0sICJtZXNoZXMiOiBbeyJuYW1lIjogImdlb21ldHJ5XzAiLCAicHJpbWl0aXZlcyI6IFt7ImF0dHJpYnV0ZXMiOiB7IlBPU0lUSU9OIjogMX0sICJpbmRpY2VzIjogMCwgIm1vZGUiOiA0fV19XSwgImNhbWVyYXMiOiBbeyJuYW1lIjogImNhbWVyYV9ONTU3UFUiLCAidHlwZSI6ICJwZXJzcGVjdGl2ZSIsICJwZXJzcGVjdGl2ZSI6IHsiYXNwZWN0UmF0aW8iOiAxLjMzMzMzMzMzMzMzMzMzMzMsICJ5Zm92IjogMC43ODUzOTgxNjMzOTc0NDgzLCAiem5lYXIiOiAwLjAxfX1dLCAibm9kZXMiOiBbeyJuYW1lIjogIndvcmxkIiwgImNoaWxkcmVuIjogWzFdfSwgeyJuYW1lIjogImdlb21ldHJ5XzBfTlo3SzNBRzFWWUxSIiwgIm1lc2giOiAwfV0sICJidWZmZXJzIjogW3siYnl0ZUxlbmd0aCI6IDgzNDB9XSwgImJ1ZmZlclZpZXdzIjogW3siYnVmZmVyIjogMCwgImJ5dGVPZmZzZXQiOiAwLCAiYnl0ZUxlbmd0aCI6IDU1MzJ9LCB7ImJ1ZmZlciI6IDAsICJieXRlT2Zmc2V0IjogNTUzMiwgImJ5dGVMZW5ndGgiOiAyODA4fV19ICCUIAAAQklOAGMAAAAAAAAAZgAAAGYAAAAAAAAAZwAAAGcAAAAAAAAAZAAAAGQAAAAAAAAAYwAAAGMAAABjAAAAYwAAACMAAACTAAAAZgAAAGYAAACTAAAAYwAAAD0AAAAjAAAAZwAAAGcAAAAjAAAAZgAAAMQAAAA9AAAAZAAAAGQAAAA9AAAAZwAAAJMAAADEAAAAYwAAAGMAAADEAAAAZAAAAIgAAAAQAAAAIwAAACMAAAAQAAAAkwAAAJcAAACIAAAAPQAAAD0AAACIAAAAIwAAACQAAACXAAAAxAAAAMQAAACXAAAAPQAAABAAAAAkAAAAkwAAAJMAAAAkAAAAxAAAAD8AAADNAAAAiAAAAIgAAADNAAAAEAAAANcAAAA/AAAAlwAAAJcAAAA/AAAAiAAAAF0AAADXAAAAJAAAACQAAADXAAAAlwAAAM0AAABdAAAAEAAAABAAAABdAAAAJAAAACEAAACNAAAAhAAAAIQAAACNAAAAzQAAAGsAAAAhAAAATAAAAEwAAAAhAAAAhAAAAAIAAABrAAAAlQAAAJUAAABrAAAATAAAAI0AAAACAAAAzQAAAM0AAAACAAAAlQAAAFsAAABhAAAAIQAAACEAAABhAAAAjQAAAMcAAABbAAAAawAAAGsAAABbAAAAIQAAAMoAAADHAAAAAgAAAAIAAADHAAAAawAAAGEAAADKAAAAjQAAAI0AAADKAAAAAgAAAOMAAAATAAAAWwAAAFsAAAATAAAAYQAAAEMAAADjAAAAxwAAAMcAAADjAAAAWwAAAGgAAABDAAAAygAAAMoAAABDAAAAxwAAABMAAABoAAAAYQAAAGEAAABoAAAAygAAACcAAAC9AAAABQAAAAUAAAC9AAAAEwAAALQAAAAnAAAAogAAAKIAAAAnAAAABQAAAFYAAAC0AAAAtgAAALYAAAC0AAAAogAAAL0AAABWAAAAEwAAABMAAABWAAAAtgAAAKQAAAAwAAAAJwAAACcAAAAwAAAAvQAAAKUAAACkAAAAtAAAALQAAACkAAAAJwAAAC4AAAClAAAAVgAAAFYAAAClAAAAtAAAADAAAAAuAAAAvQAAAL0AAAAuAAAAVgAAAKQAAABfAAAAMAAAAKUAAABfAAAApAAAAC4AAABfAAAApQAAADAAAABfAAAALgAAADAAAAAwAAAAMAAAAK8AAADUAAAA4wAAAOMAAADUAAAABQAAAEIAAACvAAAAjwAAAI8AAACvAAAA4wAAAGkAAABCAAAAogAAAKIAAABCAAAAjwAAANQAAABpAAAABQAAAAUAAABpAAAAogAAADoAAAAMAAAArwAAAK8AAAAMAAAA1AAAAFAAAAA6AAAAQgAAAEIAAAA6AAAArwAAACkAAABQAAAAaQAAAGkAAABQAAAAQgAAAAwAAAApAAAA1AAAANQAAAApAAAAaQAAADoAAAAyAAAADAAAAFAAAAAyAAAAOgAAACkAAAAyAAAAUAAAAAwAAAAyAAAAKQAAAAwAAAAMAAAADAAAAAoAAABUAAAAjwAAAI8AAABUAAAAogAAAOYAAAAKAAAAQwAAAEMAAAAKAAAAjwAAAEUAAADmAAAAUQAAAFEAAADmAAAAQwAAAFQAAABFAAAAogAAAKIAAABFAAAAUQAAAIwAAAB5AAAACgAAAAoAAAB5AAAAVAAAAOAAAACMAAAA5gAAAOYAAACMAAAACgAAAMwAAADgAAAARQAAAEUAAADgAAAA5gAAAHkAAADMAAAAVAAAAFQAAADMAAAARQAAAIwAAACrAAAAeQAAAOAAAACrAAAAjAAAAMwAAACrAAAA4AAAAHkAAACrAAAAzAAAAHkAAAB5AAAAeQAAALMAAADTAAAAogAAAKIAAADTAAAAtgAAANUAAACzAAAAUQAAAFEAAACzAAAAogAAAAgAAADVAAAAaAAAAGgAAADVAAAAUQAAANMAAAAIAAAAtgAAALYAAAAIAAAAaAAAAFMAAABIAAAAswAAALMAAABIAAAA0wAAALUAAABTAAAA1QAAANUAAABTAAAAswAAAKgAAAC1AAAACAAAAAgAAAC1AAAA1QAAAEgAAACoAAAA0wAAANMAAACoAAAACAAAAFMAAAB+AAAASAAAALUAAAB+AAAAUwAAAKgAAAB+AAAAtQAAAEgAAAB+AAAAqAAAAEgAAABIAAAASAAAAGwAAAB1AAAAPwAAAD8AAAB1AAAAhAAAADEAAABsAAAAGgAAABoAAABsAAAAPwAAADQAAAAxAAAATAAAAEwAAAAxAAAAGgAAAHUAAAA0AAAAhAAAAIQAAAA0AAAATAAAAHIAAACyAAAAbAAAAGwAAACyAAAAdQAAAA0AAAByAAAAMQAAADEAAAByAAAAbAAAAEAAAAANAAAANAAAADQAAAANAAAAMQAAALIAAABAAAAAdQAAAHUAAABAAAAANAAAAG0AAACUAAAAcgAAAHIAAACUAAAAsgAAAA8AAABtAAAADQAAAA0AAABtAAAAcgAAAC8AAAAPAAAAQAAAAEAAAAAPAAAADQAAAJQAAAAvAAAAsgAAALIAAAAvAAAAQAAAAIcAAACxAAAAfwAAAH8AAACxAAAAlAAAAH0AAACHAAAAzgAAAM4AAACHAAAAfwAAAKwAAAB9AAAA4QAAAOEAAAB9AAAAzgAAALEAAACsAAAAlAAAAJQAAACsAAAA4QAAADgAAACuAAAAhwAAAIcAAACuAAAAsQAAANsAAAA4AAAAfQAAAH0AAAA4AAAAhwAAAE4AAADbAAAArAAAAKwAAADbAAAAfQAAAK4AAABOAAAAsQAAALEAAABOAAAArAAAADgAAABEAAAArgAAANsAAABEAAAAOAAAAE4AAABEAAAA2wAAAK4AAABEAAAATgAAAK4AAACuAAAArgAAAEEAAADFAAAAbQAAAG0AAADFAAAAfwAAABIAAABBAAAAtwAAALcAAABBAAAAbQAAAIoAAAASAAAAzgAAAM4AAAASAAAAtwAAAMUAAACKAAAAfwAAAH8AAACKAAAAzgAAABEAAAA+AAAAQQAAAEEAAAA+AAAAxQAAANAAAAARAAAAEgAAABIAAAARAAAAQQAAABcAAADQAAAAigAAAIoAAADQAAAAEgAAAD4AAAAXAAAAxQAAAMUAAAAXAAAAigAAABEAAACGAAAAPgAAANAAAACGAAAAEQAAABcAAACGAAAA0AAAAD4AAACGAAAAFwAAAD4AAAA+AAAAPgAAAJ8AAAAbAAAAtwAAALcAAAAbAAAAzgAAAOUAAACfAAAADwAAAA8AAACfAAAAtwAAAEsAAADlAAAAJQAAACUAAADlAAAADwAAABsAAABLAAAAzgAAAM4AAABLAAAAJQAAAHsAAABKAAAAnwAAAJ8AAABKAAAAGwAAALoAAAB7AAAA5QAAAOUAAAB7AAAAnwAAAIsAAAC6AAAASwAAAEsAAAC6AAAA5QAAAEoAAACLAAAAGwAAABsAAACLAAAASwAAAHsAAAAUAAAASgAAALoAAAAUAAAAewAAAIsAAAAUAAAAugAAAEoAAAAUAAAAiwAAAEoAAABKAAAASgAAAIEAAAB6AAAAzgAAAM4AAAB6AAAA4QAAAJYAAACBAAAAJQAAACUAAACBAAAAzgAAAJAAAACWAAAALwAAAC8AAACWAAAAJQAAAHoAAACQAAAA4QAAAOEAAACQAAAALwAAAGIAAAAHAAAAgQAAAIEAAAAHAAAAegAAAE8AAABiAAAAlgAAAJYAAABiAAAAgQAAAN0AAABPAAAAkAAAAJAAAABPAAAAlgAAAAcAAADdAAAAegAAAHoAAADdAAAAkAAAAGIAAAChAAAABwAAAE8AAAChAAAAYgAAAN0AAAChAAAATwAAAAcAAAChAAAA3QAAAAcAAAAHAAAABwAAAKoAAACpAAAAGgAAABoAAACpAAAATAAAANoAAACqAAAA1wAAANcAAACqAAAAGgAAANkAAADaAAAAKgAAACoAAADaAAAA1wAAAKkAAADZAAAATAAAAEwAAADZAAAAKgAAAAYAAADDAAAAqgAAAKoAAADDAAAAqQAAAIIAAAAGAAAA2gAAANoAAAAGAAAAqgAAAE0AAACCAAAA2QAAANkAAACCAAAA2gAAAMMAAABNAAAAqQAAAKkAAABNAAAA2QAAAN8AAADYAAAABgAAAAYAAADYAAAAwwAAADwAAADfAAAAggAAAIIAAADfAAAABgAAADkAAAA8AAAATQAAAE0AAAA8AAAAggAAANgAAAA5AAAAwwAAAMMAAAA5AAAATQAAAFUAAABxAAAA3AAAANwAAABxAAAA2AAAAJkAAABVAAAAGAAAABgAAABVAAAA3AAAALAAAACZAAAAFQAAABUAAACZAAAAGAAAAHEAAACwAAAA2AAAANgAAACwAAAAFQAAACwAAACSAAAAVQAAAFUAAACSAAAAcQAAAAEAAAAsAAAAmQAAAJkAAAAsAAAAVQAAAFIAAAABAAAAsAAAALAAAAABAAAAmQAAAJIAAABSAAAAcQAAAHEAAABSAAAAsAAAACwAAAC+AAAAkgAAAAEAAAC+AAAALAAAAFIAAAC+AAAAAQAAAJIAAAC+AAAAUgAAAJIAAACSAAAAkgAAAI4AAACdAAAA3wAAAN8AAACdAAAA3AAAAFwAAACOAAAAHgAAAB4AAACOAAAA3wAAAHQAAABcAAAAGAAAABgAAABcAAAAHgAAAJ0AAAB0AAAA3AAAANwAAAB0AAAAGAAAAJEAAAArAAAAjgAAAI4AAAArAAAAnQAAAOIAAACRAAAAXAAAAFwAAACRAAAAjgAAAG4AAADiAAAAdAAAAHQAAADiAAAAXAAAACsAAABuAAAAnQAAAJ0AAABuAAAAdAAAAJEAAAAOAAAAKwAAAOIAAAAOAAAAkQAAAG4AAAAOAAAA4gAAACsAAAAOAAAAbgAAACsAAAArAAAAKwAAAM8AAAAoAAAAHgAAAB4AAAAoAAAAGAAAAC0AAADPAAAAPAAAADwAAADPAAAAHgAAAHAAAAAtAAAAOwAAADsAAAAtAAAAPAAAACgAAABwAAAAGAAAABgAAABwAAAAOwAAAIAAAABeAAAAzwAAAM8AAABeAAAAKAAAAIkAAACAAAAALQAAAC0AAACAAAAAzwAAAGUAAACJAAAAcAAAAHAAAACJAAAALQAAAF4AAABlAAAAKAAAACgAAABlAAAAcAAAAIAAAAB3AAAAXgAAAIkAAAB3AAAAgAAAAGUAAAB3AAAAiQAAAF4AAAB3AAAAZQAAAF4AAABeAAAAXgAAABwAAACFAAAAGAAAABgAAACFAAAAFQAAALsAAAAcAAAAOwAAADsAAAAcAAAAGAAAADYAAAC7AAAAOQAAADkAAAC7AAAAOwAAAIUAAAA2AAAAFQAAABUAAAA2AAAAOQAAAMEAAACmAAAAHAAAABwAAACmAAAAhQAAALgAAADBAAAAuwAAALsAAADBAAAAHAAAAJwAAAC4AAAANgAAADYAAAC4AAAAuwAAAKYAAACcAAAAhQAAAIUAAACcAAAANgAAAMEAAAAzAAAApgAAALgAAAAzAAAAwQAAAJwAAAAzAAAAuAAAAKYAAAAzAAAAnAAAAKYAAACmAAAApgAAAOgAAACbAAAATAAAAEwAAACbAAAAlQAAAB0AAADoAAAAKgAAACoAAADoAAAATAAAAMYAAAAdAAAAXQAAAF0AAAAdAAAAKgAAAJsAAADGAAAAlQAAAJUAAADGAAAAXQAAAMgAAAB8AAAA6AAAAOgAAAB8AAAAmwAAACIAAADIAAAAHQAAAB0AAADIAAAA6AAAAMsAAAAiAAAAxgAAAMYAAAAiAAAAHQAAAHwAAADLAAAAmwAAAJsAAADLAAAAxgAAAHYAAABvAAAAyAAAAMgAAABvAAAAfAAAAKMAAAB2AAAAIgAAACIAAAB2AAAAyAAAAJ4AAACjAAAAywAAAMsAAACjAAAAIgAAAG8AAACeAAAAfAAAAHwAAACeAAAAywAAAGoAAADkAAAAcwAAAHMAAADkAAAAbwAAAGAAAABqAAAAGQAAABkAAABqAAAAcwAAAN4AAABgAAAAFgAAABYAAABgAAAAGQAAAOQAAADeAAAAbwAAAG8AAADeAAAAFgAAANYAAAAmAAAAagAAAGoAAAAmAAAA5AAAAFgAAADWAAAAYAAAAGAAAADWAAAAagAAAJoAAABYAAAA3gAAAN4AAABYAAAAYAAAACYAAACaAAAA5AAAAOQAAACaAAAA3gAAANYAAAC5AAAAJgAAAFgAAAC5AAAA1gAAAJoAAAC5AAAAWAAAACYAAAC5AAAAmgAAACYAAAAmAAAAJgAAADcAAAB4AAAAdgAAAHYAAAB4AAAAcwAAAFoAAAA3AAAAHwAAAB8AAAA3AAAAdgAAAKcAAABaAAAAGQAAABkAAABaAAAAHwAAAHgAAACnAAAAcwAAAHMAAACnAAAAGQAAAEcAAABXAAAANwAAADcAAABXAAAAeAAAAAsAAABHAAAAWgAAAFoAAABHAAAANwAAACAAAAALAAAApwAAAKcAAAALAAAAWgAAAFcAAAAgAAAAeAAAAHgAAAAgAAAApwAAAEcAAACtAAAAVwAAAAsAAACtAAAARwAAACAAAACtAAAACwAAAFcAAACtAAAAIAAAAFcAAABXAAAAVwAAANIAAADRAAAAHwAAAB8AAADRAAAAGQAAAAQAAADSAAAAowAAAKMAAADSAAAAHwAAAAMAAAAEAAAAoAAAAKAAAAAEAAAAowAAANEAAAADAAAAGQAAABkAAAADAAAAoAAAAL8AAACYAAAA0gAAANIAAACYAAAA0QAAAOcAAAC/AAAABAAAAAQAAAC/AAAA0gAAAMIAAADnAAAAAwAAAAMAAADnAAAABAAAAJgAAADCAAAA0QAAANEAAADCAAAAAwAAAL8AAADAAAAAmAAAAOcAAADAAAAAvwAAAMIAAADAAAAA5wAAAJgAAADAAAAAwgAAAJgAAACYAAAAmAAAAFkAAADpAAAAGQAAABkAAADpAAAAFgAAAMkAAABZAAAAoAAAAKAAAABZAAAAGQAAAEkAAADJAAAAngAAAJ4AAADJAAAAoAAAAOkAAABJAAAAFgAAABYAAABJAAAAngAAAAkAAAA1AAAAWQAAAFkAAAA1AAAA6QAAAEYAAAAJAAAAyQAAAMkAAAAJAAAAWQAAAIMAAABGAAAASQAAAEkAAABGAAAAyQAAADUAAACDAAAA6QAAAOkAAACDAAAASQAAAAkAAAC8AAAANQAAAEYAAAC8AAAACQAAAIMAAAC8AAAARgAAADUAAAC8AAAAgwAAADUAAAA1AAAANQAAAAAAAAAAAAAAAAAAAIZntr/EVxxALQzYPzjBs74Vjno+A9UmQKQP5b8bawg/KEnqP0rc179U1hQ/KVLkP4E3Rb9YLTU/+QNqQEgC1L6q/cc/YuHJP2EYB7/SxPs//JRgQOmRir+mJYQ+rf1kQMvHAcAlSy8+aK0IQOKKrL/I/WM/MHNUQP7dEMD9s5E/mo3QP1e0rb+E17E/gtp4QEYlRT4zJsg/t3kaQPxrkr+RUAhANrlsP59FIT2Vcvk/yPApQLnRGL6Za4q+L0zjP7/TqjoPSy1AGGIhQO+c/D1zeBFAybwkQIpUPr9VgxY/h9JtQHKDKr8eOAhAKpInQKijbL+2dOU/t6TVP+YN2r/JCiU/hksQQCKQ87pI8ytAgUMrQEm9Yr/ggd8/gBHGP7ca1b9+RjY/clAJQOMFtj2sjE8/dTnyP5PJeL7N+wlAEzYsQFH/oL+exOE/RGDYP90AOL+q/Rs/KnzyP+vWWL8Lj9k/SH62P4gn0L8zgkc/X1UCQAaVFcDfIJQ/BLfaP9w17Lv93gM/TYcxQPE2lb9EICg/wYz+P0QZED8wu42+3bJpP7DQFb+mFIU+Dn6rP4O6hz1ZzfI/WasxQFVcHMB+yVo/QAEhQAPwXb/QWzM/afB9QHJzir9iadA/ZLmzP5SLsr/BtqQ/tTl3QI1Vyb5otCk/oyvjPynwjb9qwQxAurppP8q4sr8bESJAjmHQP1+ggL+7Fr0/dyW6P0bVi7+0d+c+dHaIQDbSvj0dKOw/6mU5QHbxi7/NSQc/Pw+LQKicXT6S9I4/G+sHQHYxsb/hWq0/QrN0QGmHxL9g9Nk/Zfb1P8BCsz1kwHg/4QMZQCCaBMA50C0+uBcPQK+5mL8SHNw/75rsP7Yv/L9iXZE/HbbvP66sVz4AAiRAMUJgQFzffb8kqdY/vnrYP1fXr78B/7U/zyxyQP74c79PttA/hufIP6ASar95w8o/T1S5P4wFmD4W9Ao/YJwlPwoTiz1cJS9AXrgmQGsWrT53mjU/WQ8JQKH+KD4oCbY/AxsrQPGGbz6VSRNAAqIhQNOOiL9CkIo/GnlpQGivZr+XhTI/JX5YQNvVYT5VYB9AnghiQM7Yrb8z1zc/+cdVQHhq9r+swCU+r5MLQPMhEMDS158/RdXOP2lPvr8hk6Y8V75nQCrr3r+xveA+x50TQOIYK78vKA1AXrkoQNgTjb6HoAJAz/UtQDeBE74zwg8/cIgBQNOpO79wmK4/J7viPwf/az6qvhpACs9jQHkqEb8QQfA/5LFYQJWutL8+3qg/A4xwQHHMX7+U2xM/s0xcQLP1r79JJR9At4vjP1yew7+loKI9JmBiQM+xsr8e8lA/vvVZQOWLjb9syRFAHTLHPwxqU79G5Ak/9LN6QPvYFMC0RKI/sP7YPyKbGcCMpT8/Z/AZQGb067+2Q/0+DTYLQLEP/r9QQII/JfbqPyLPsr4OTDA/7btRQK/edr9YnfI/BBaXP9FLIL/e09M+DQP0P7JEr7+dfbs/sJ+hPzKUkb9WywM/ggKJQOCaAsCkBEg/CbwTQKplrb5oBck+Y7RVQM1iGL+aXv0/uhNbQAAAAL8AAAC/AAAAAAAAAL8AAAA/AAAAACcJsL9Varg/koivPwAAAD8AAAC/AAAAAAAAAD8AAAA/AAAAAHvpWL8iY+o+QhtgQCSOiL9DF4I/JxtwQMEQBMDrC2Y/8bYVQHD/kb6irxI/A30mQK27BT+9d4E/gncNQMDQjj68DQVAu1sqQN8nmL9HUgpAVC57P7sA4L/soUI/lNoTQKt8i78Gz8Y/0kbAP8iKiL+qDhNAIhHWP8ge+z4An8s/pHsdQIwN27+h3VM/gN8MQHmagL9j3v4/xICfP7V5yT66xl0/SZAeQF0a1r9WGWU/beQFQHvlqr8WqrQ/UcOnP3maA8CDTI8/iYr6Pyh04L/7G1w/2BxKQPOlMb79bgFA2ENRQN7oKr+sQQlACLYiQBV2or9SwCM/3X0ZQJjsZj7eyhBAOJBJQAM4u79w0hg9RhZjQKyWnD4euwFATBYyQM/Bpb/W6bA/D/6fP0Xnf75qkgRAYgVMQLKHGL/p7qo/zKDAPyMP/L/ARSQ+//0RQFpR1z38n+s+DnsRQJlrnr+XcOk/rd/lP8Z4kbkrnyxAzFImQED7qD5/kxRA+dVHQLZZBT/YmSk+LWXRP0SGpr+O1q0/8eatP+o2LD6itBJAresrQAYeKr+QLgdATW4sQItT2b/6ymU/gmxEQHvKlb2ASz8+Td8xQBC7XL8tkvo/imSTP+9kWb95LkM/yFlfQFdzR76aU/Q/o0VOQBmwjL/bTgZAF0ReP/dGrL+g3iRAGOHbP4wFmL4W9Aq/Ov1zP5lcqj7/0Pw/3dA5QLACwb50758+JfQJQFTair5zmvo/LQdJQJ/rrT2VJjI/DJeZP7cV+r/IPvA+Io66P49Jl79wMgxAMFDMPw2gGMCFlkI/sP0gQM8EQb/ARt8+6ekUQNvfv794Ads/Ptr+P1MRZ7+caQNASs+bPxEb1L+mcwc/eLwMQAJYc76N0AdAqKEkQOEnz79brxg/ZMEFQG0hDL/xAvY/cKNcQPmBUr92hCQ/VihjQLI0yr8Q6yk/ooz9Px5Tl7/S2hM/kI6JQO42l7/eTAA/xvWGQNoPyb/85OI/PBf3P3aKBMBxL4A/ksr1P6nRsr9K45y7ZsxjQNNQn772IZE/Yf/+P+OKxb0dcpU/b7TePy7o2b/mFFQ/etFGQFsLlj5XRgtAgjZNQHzbEsBY/Jk/JcbUPxKnlz67cCBA6jRjQHFffb9GB5U/wbpsQHFIkr+tdw1ANS/bP0+Qyz74Dg9AQnxLQHUL7T71gbk/7xwuQDVim7/CVb0+t0NnQHq5ar/ZcB4/dwN5QJwguL9PW149Nm5eQAOfS79z2gU/5fZmQHP5Ij6D4wBAQiYqQPj+v7/EA9E/jtX0P7z7GsCFN00/03gdQALuKb8NSANA92omQGdNm78ZcNQ/hxvfP1zP/79yyCk+s1UNQJWgRr89zx4/5qB/QD9Xsb8ymyBAo/bZP8ZX7L8BXvo+F3y3P6oe8b+IB+M+GfK9P/Yuyb9I59g/ixLtP47l9b8Qscs+G2jEP0UjDb8xp8s/vfvrP0QZEL8wu40+vOYvP7K3jj7EhRRA5tAoQDL1Sb+/254+LC8BQLzrDL8NUiM/ueNDQE1Bmr9fNVw/r2cNQPQv3b9LCOY+wOQLQAA3Cr9lEa8+L9xHQLlrnb9uVt8+jlwLQNF82r/SXkI/cjZJQHvbAr4VFlg+w+YZQE2FPj7KIfs/0uAxQE0uf78XscY/CZitP/s1jL36GCpAOu0lQNG07b8bBSA/wpfkP3eB4L9UcCw/w6DeP5hUkr/BpZY+johrQBNefb9Gjow/zlxzQIafk7+m1ao+1rhgQGpXHcCF2Fc/9/MZQPImJL7hfmk/OFTSP/NnW79HQPQ/sc7SP2sOA79n5XU/i1/lP7sumL61hX4/mRTFP5FdFD7wTx5AUtxgQJWBUb9yTe4/eTvDPxnA/75Ip+4/JjNeQEeoAMBBe0I/RkEbQDabR7+cWug/QqizPzRc07/SDUw/HYZDQCcRWj6OfPQ/Y5s5QM/nlr+43wNAsbdvP3caTL9b11M/azVmQCgeAsCJgmA/LzwdQBBbir5HdQBAZWEmQOGxp7/d4ko/a0VQQJwn6L9I0NU+EFbBP3oQL78qMzw/0vgMQJyv7b8c+fc+FO8SQA==";;renderer=new THREE.WebGLRenderer({antialias:true});renderer.setPixelRatio(window.devicePixelRatio);renderer.setSize(window.innerWidth,window.innerHeight);document.body.appendChild(renderer.domElement);loader=new THREE.GLTFLoader();loader.load("data:text/plain;base64,"+base64_data,function(gltf){scene.add(gltf.scene);camera=gltf.cameras[0];controls=new THREE.TrackballControls(camera);controls.rotateSpeed=1.0;controls.zoomSpeed=1.2;controls.panSpeed=0.8;controls.noZoom=false;controls.noPan=false;controls.staticMoving=true;controls.dynamicDampingFactor=0.3;controls.keys=[65,83,68];controls.addEventListener("change",render);centerControls(scene,camera,controls);render();window.addEventListener("resize",onWindowResize,false);animate();});}\n", + "function init(){scene=new THREE.Scene();scene.background=new THREE.Color(0xffffff);tracklight=new THREE.DirectionalLight(0xffffff,1.75);scene.add(tracklight);base64_data="Z2xURgIAAABQYgAAzAMAAEpTT057InNjZW5lIjogMCwgInNjZW5lcyI6IFt7Im5vZGVzIjogWzBdfV0sICJhc3NldCI6IHsidmVyc2lvbiI6ICIyLjAiLCAiZ2VuZXJhdG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWtlZGgvdHJpbWVzaCJ9LCAiYWNjZXNzb3JzIjogW3siYnVmZmVyVmlldyI6IDAsICJjb21wb25lbnRUeXBlIjogNTEyNSwgImNvdW50IjogMzU0MywgIm1heCI6IFs4MzJdLCAibWluIjogWzBdLCAidHlwZSI6ICJTQ0FMQVIifSwgeyJidWZmZXJWaWV3IjogMSwgImNvbXBvbmVudFR5cGUiOiA1MTI2LCAiY291bnQiOiA4MzMsICJ0eXBlIjogIlZFQzMiLCAiYnl0ZU9mZnNldCI6IDAsICJtYXgiOiBbMC41NjI4ODU1MTMxMDQxMjU1LCAzLjY2MTYwNTk3Njc2OTAzMywgNC45OTU2ODUzODYxMjE5NjRdLCAibWluIjogWy0zLjMzODIzNjk0ODI3MzIxOSwgLTAuNzk2NjI2MTcwNDgxNjIzNCwgMC4wXX1dLCAibWVzaGVzIjogW3sibmFtZSI6ICJnZW9tZXRyeV8wIiwgInByaW1pdGl2ZXMiOiBbeyJhdHRyaWJ1dGVzIjogeyJQT1NJVElPTiI6IDF9LCAiaW5kaWNlcyI6IDAsICJtb2RlIjogNH1dfV0sICJjYW1lcmFzIjogW3sibmFtZSI6ICJjYW1lcmFfOTJKR0o1IiwgInR5cGUiOiAicGVyc3BlY3RpdmUiLCAicGVyc3BlY3RpdmUiOiB7ImFzcGVjdFJhdGlvIjogMS4zMzMzMzMzMzMzMzMzMzMzLCAieWZvdiI6IDAuNzg1Mzk4MTYzMzk3NDQ4MywgInpuZWFyIjogMC4wMX19XSwgIm5vZGVzIjogW3sibmFtZSI6ICJ3b3JsZCIsICJjaGlsZHJlbiI6IFsxXX0sIHsibmFtZSI6ICJnZW9tZXRyeV8wX0dHN1BKWFJVS1JNUCIsICJtZXNoIjogMH1dLCAiYnVmZmVycyI6IFt7ImJ5dGVMZW5ndGgiOiAyNDE2OH1dLCAiYnVmZmVyVmlld3MiOiBbeyJidWZmZXIiOiAwLCAiYnl0ZU9mZnNldCI6IDAsICJieXRlTGVuZ3RoIjogMTQxNzJ9LCB7ImJ1ZmZlciI6IDAsICJieXRlT2Zmc2V0IjogMTQxNzIsICJieXRlTGVuZ3RoIjogOTk5Nn1dfSBoXgAAQklOAIwBAAAAAAAAkgEAAJIBAAAAAAAAkwEAAJMBAAAAAAAAjQEAAI0BAAAAAAAAjAEAAIwBAACMAQAAjAEAAHoAAAAiAgAAkgEAAJIBAAAiAgAAjAEAAAgBAAB6AAAAkwEAAJMBAAB6AAAAkgEAAL4CAAAIAQAAjQEAAI0BAAAIAQAAkwEAACICAAC+AgAAjAEAAIwBAAC+AgAAjQEAAPQBAABDAAAAegAAAHoAAABDAAAAIgIAADACAAD0AQAACAEAAAgBAAD0AQAAegAAAH8AAAAwAgAAvgIAAL4CAAAwAgAACAEAAEMAAAB/AAAAIgIAACICAAB/AAAAvgIAAA0BAADlAgAA9AEAAPQBAADlAgAAQwAAAAgDAAANAQAAMAIAADACAAANAQAA9AEAAIABAAAIAwAAfwAAAH8AAAAIAwAAMAIAAOUCAACAAQAAQwAAAEMAAACAAQAAfwAAAHkBAACJAQAAdAAAAHQAAACJAQAAEAIAAMsCAAB5AQAAoAEAAKABAAB5AQAAdAAAANsCAADLAgAABQAAAAUAAADLAgAAoAEAAIkBAADbAgAAEAIAABACAADbAgAABQAAACcDAABRAAAAeQEAAHkBAABRAAAAiQEAABwBAAAnAwAAywIAAMsCAAAnAwAAeQEAAJQBAAAcAQAA2wIAANsCAAAcAQAAywIAAFEAAACUAQAAiQEAAIkBAACUAQAA2wIAAFgCAAC/AAAAkwAAAJMAAAC/AAAArQIAAFoCAABYAgAAmAIAAJgCAABYAgAAkwAAALsAAABaAgAAZAEAAGQBAABaAgAAmAIAAL8AAAC7AAAArQIAAK0CAAC7AAAAZAEAAH0CAADBAgAAWAIAAFgCAADBAgAAvwAAAKwCAAB9AgAAWgIAAFoCAAB9AgAAWAIAAO4CAACsAgAAuwAAALsAAACsAgAAWgIAAMECAADuAgAAvwAAAL8AAADuAgAAuwAAAFACAACBAgAA6wAAAOsAAACBAgAAIQAAAMgAAABQAgAANgIAADYCAABQAgAA6wAAAPwAAADIAAAAawEAAGsBAADIAAAANgIAAIECAAD8AAAAIQAAACEAAAD8AAAAawEAAFACAAAKAAAAgQIAAMgAAAAKAAAAUAIAAPwAAAAKAAAAyAAAAIECAAAKAAAA/AAAAIECAACBAgAAgQIAAK0BAADkAAAAoQEAAKEBAADkAAAAxAAAAFoAAACtAQAAJQAAACUAAACtAQAAoQEAANQCAABaAAAAhQIAAIUCAABaAAAAJQAAAOQAAADUAgAAxAAAAMQAAADUAgAAhQIAAK0BAAClAAAA5AAAAFoAAAClAAAArQEAANQCAAClAAAAWgAAAOQAAAClAAAA1AIAAOQAAADkAAAA5AAAAAYDAACJAgAASAEAAEgBAACJAgAAmgIAAP8CAAAGAwAAzAIAAMwCAAAGAwAASAEAAHwCAAD/AgAA0QAAANEAAAD/AgAAzAIAAIkCAAB8AgAAmgIAAJoCAAB8AgAA0QAAAAYDAAAZAQAAiQIAAP8CAAAZAQAABgMAAHwCAAAZAQAA/wIAAIkCAAAZAQAAfAIAAIkCAACJAgAAiQIAAIYCAADOAAAA4wAAAOMAAADOAAAAnQIAAGEBAACGAgAAuQIAALkCAACGAgAA4wAAAAQDAABhAQAAKQEAACkBAABhAQAAuQIAAM4AAAAEAwAAnQIAAJ0CAAAEAwAAKQEAAIYCAADJAgAAzgAAAGEBAADJAgAAhgIAAAQDAADJAgAAYQEAAM4AAADJAgAABAMAAM4AAADOAAAAzgAAAPsAAAA4AAAAdQIAAHUCAAA4AAAAAgMAAEwBAAD7AAAAGAEAABgBAAD7AAAAdQIAAJwAAABMAQAAlQEAAJUBAABMAQAAGAEAADgAAACcAAAAAgMAAAIDAACcAAAAlQEAADQBAAB7AQAA+wAAAPsAAAB7AQAAOAAAAFgBAAA0AQAATAEAAEwBAAA0AQAA+wAAALABAABYAQAAnAAAAJwAAABYAQAATAEAAHsBAACwAQAAOAAAADgAAACwAQAAnAAAABADAACfAgAANwAAADcAAACfAgAA+gIAAAwAAAAQAwAAwwAAAMMAAAAQAwAANwAAAOgCAAAMAAAAOwAAADsAAAAMAAAAwwAAAJ8CAADoAgAA+gIAAPoCAADoAgAAOwAAABADAAABAwAAnwIAAAwAAAABAwAAEAMAAOgCAAABAwAADAAAAJ8CAAABAwAA6AIAAJ8CAACfAgAAnwIAAJQAAAB0AQAAbAEAAGwBAAB0AQAAjQAAAIcAAACUAAAAxQAAAMUAAACUAAAAbAEAAF8BAACHAAAAKwMAACsDAACHAAAAxQAAAHQBAABfAQAAjQAAAI0AAABfAQAAKwMAAJQAAAAAAQAAdAEAAIcAAAAAAQAAlAAAAF8BAAAAAQAAhwAAAHQBAAAAAQAAXwEAAHQBAAB0AQAAdAEAAL8CAAD6AAAAfAEAAHwBAAD6AAAAVwAAADMDAAC/AgAAagEAAGoBAAC/AgAAfAEAAFYBAAAzAwAASwAAAEsAAAAzAwAAagEAAPoAAABWAQAAVwAAAFcAAABWAQAASwAAAL8CAAAOAgAA+gAAADMDAAAOAgAAvwIAAFYBAAAOAgAAMwMAAPoAAAAOAgAAVgEAAPoAAAD6AAAA+gAAACIAAAA9AAAAuwIAALsCAAA9AAAAjgAAAIYAAAAiAAAAygEAAMoBAAAiAAAAuwIAAKAAAACGAAAA/QIAAP0CAACGAAAAygEAAD0AAACgAAAAjgAAAI4AAACgAAAA/QIAACIAAAD+AQAAPQAAAIYAAAD+AQAAIgAAAKAAAAD+AQAAhgAAAD0AAAD+AQAAoAAAAD0AAAA9AAAAPQAAAA0CAAC/AQAAJAAAACQAAAC/AQAAWQEAACADAAANAgAAMQMAADEDAAANAgAAJAAAAN4CAAAgAwAAJAEAACQBAAAgAwAAMQMAAL8BAADeAgAAWQEAAFkBAADeAgAAJAEAADcBAAB6AgAADQIAAA0CAAB6AgAAvwEAAGUAAAA3AQAAIAMAACADAAA3AQAADQIAAKcBAABlAAAA3gIAAN4CAABlAAAAIAMAAHoCAACnAQAAvwEAAL8BAACnAQAA3gIAAOYCAABHAQAAgAAAAIAAAABHAQAAYAAAAN4BAADmAgAA0gAAANIAAADmAgAAgAAAAFkAAADeAQAAsQAAALEAAADeAQAA0gAAAEcBAABZAAAAYAAAAGAAAABZAAAAsQAAAOYCAAAGAAAARwEAAN4BAAAGAAAA5gIAAFkAAAAGAAAA3gEAAEcBAAAGAAAAWQAAAEcBAABHAQAARwEAAKMAAABeAQAAGAAAABgAAABeAQAAiwIAANUAAACjAAAAOgIAADoCAACjAAAAGAAAAJ8BAADVAAAAWwEAAFsBAADVAAAAOgIAAF4BAACfAQAAiwIAAIsCAACfAQAAWwEAAKMAAADGAgAAXgEAANUAAADGAgAAowAAAJ8BAADGAgAA1QAAAF4BAADGAgAAnwEAAF4BAABeAQAAXgEAAA0AAAAYAgAAnQEAAJ0BAAAYAgAAuAEAAI4BAAANAAAAtwEAALcBAAANAAAAnQEAAGsAAACOAQAA0wEAANMBAACOAQAAtwEAABgCAABrAAAAuAEAALgBAABrAAAA0wEAAA0AAADHAQAAGAIAAI4BAADHAQAADQAAAGsAAADHAQAAjgEAABgCAADHAQAAawAAABgCAAAYAgAAGAIAADEBAACOAgAAbAIAAGwCAACOAgAAUwEAAB0AAAAxAQAA1gAAANYAAAAxAQAAbAIAAHABAAAdAAAACgMAAAoDAAAdAAAA1gAAAI4CAABwAQAAUwEAAFMBAABwAQAACgMAADEBAABJAQAAjgIAAB0AAABJAQAAMQEAAHABAABJAQAAHQAAAI4CAABJAQAAcAEAAI4CAACOAgAAjgIAAFcBAAAyAQAAkgIAAJICAAAyAQAAAAMAAJkCAABXAQAABQMAAAUDAABXAQAAkgIAAGICAACZAgAAFgAAABYAAACZAgAABQMAADIBAABiAgAAAAMAAAADAABiAgAAFgAAABICAABAAQAAVwEAAFcBAABAAQAAMgEAAL4AAAASAgAAmQIAAJkCAAASAgAAVwEAAAIAAAC+AAAAYgIAAGICAAC+AAAAmQIAAEABAAACAAAAMgEAADIBAAACAAAAYgIAACECAADVAQAAZwAAAGcAAADVAQAAOAEAAAcBAAAhAgAABAEAAAQBAAAhAgAAZwAAAMsAAAAHAQAAxgEAAMYBAAAHAQAABAEAANUBAADLAAAAOAEAADgBAADLAAAAxgEAACECAABvAQAA1QEAAAcBAABvAQAAIQIAAMsAAABvAQAABwEAANUBAABvAQAAywAAANUBAADVAQAA1QEAAGoCAABqAAAAqgEAAKoBAABqAAAAcgEAAN8AAABqAgAAKAMAACgDAABqAgAAqgEAABcCAADfAAAA+AIAAPgCAADfAAAAKAMAAGoAAAAXAgAAcgEAAHIBAAAXAgAA+AIAAGoCAACnAAAAagAAAN8AAACnAAAAagIAABcCAACnAAAA3wAAAGoAAACnAAAAFwIAAGoAAABqAAAAagAAANABAAAjAAAAQAIAAEACAAAjAAAATwIAAHoBAADQAQAAzQAAAM0AAADQAQAAQAIAABwDAAB6AQAA4QAAAOEAAAB6AQAAzQAAACMAAAAcAwAATwIAAE8CAAAcAwAA4QAAANABAAByAgAAIwAAAHoBAAByAgAA0AEAABwDAAByAgAAegEAACMAAAByAgAAHAMAACMAAAAjAAAAIwAAAL0AAABrAgAArwIAAK8CAABrAgAAMgAAAHwAAAC9AAAAgQAAAIEAAAC9AAAArwIAACMCAAB8AAAAPAEAADwBAAB8AAAAgQAAAGsCAAAjAgAAMgAAADIAAAAjAgAAPAEAAL0AAAAiAwAAawIAAHwAAAAiAwAAvQAAACMCAAAiAwAAfAAAAGsCAAAiAwAAIwIAAGsCAABrAgAAawIAAK4BAACMAgAAowEAAKMBAACMAgAAsgEAADwAAACuAQAAwgAAAMIAAACuAQAAowEAABIBAAA8AAAA2wAAANsAAAA8AAAAwgAAAIwCAAASAQAAsgEAALIBAAASAQAA2wAAAKQBAAAlAgAArgEAAK4BAAAlAgAAjAIAAEIAAACkAQAAPAAAADwAAACkAQAArgEAALwAAABCAAAAEgEAABIBAABCAAAAPAAAACUCAAC8AAAAjAIAAIwCAAC8AAAAEgEAAPUAAAB0AgAA7wEAAO8BAAB0AgAAgwIAABYDAAD1AAAA2QEAANkBAAD1AAAA7wEAAEMBAAAWAwAAbgIAAG4CAAAWAwAA2QEAAHQCAABDAQAAgwIAAIMCAABDAQAAbgIAALMBAAC6AAAA9QAAAPUAAAC6AAAAdAIAAGgBAACzAQAAFgMAABYDAACzAQAA9QAAAHEAAABoAQAAQwEAAEMBAABoAQAAFgMAALoAAABxAAAAdAIAAHQCAABxAAAAQwEAALIAAAASAAAAqgIAAKoCAAASAAAAYAEAANsBAACyAAAAlQAAAJUAAACyAAAAqgIAAD0BAADbAQAAmwIAAJsCAADbAQAAlQAAABIAAAA9AQAAYAEAAGABAAA9AQAAmwIAALIAAACiAgAAEgAAANsBAACiAgAAsgAAAD0BAACiAgAA2wEAABIAAACiAgAAPQEAABIAAAASAAAAEgAAANYBAADgAAAA4wIAAOMCAADgAAAA9AAAAEoCAADWAQAA+AAAAPgAAADWAQAA4wIAAD4BAABKAgAAXwIAAF8CAABKAgAA+AAAAOAAAAA+AQAA9AAAAPQAAAA+AQAAXwIAANYBAAA8AwAA4AAAAEoCAAA8AwAA1gEAAD4BAAA8AwAASgIAAOAAAAA8AwAAPgEAAOAAAADgAAAA4AAAAB0DAADxAQAA8AEAAPABAADxAQAA8wIAAI8AAAAdAwAANAAAADQAAAAdAwAA8AEAALYCAACPAAAAIwEAACMBAACPAAAANAAAAPEBAAC2AgAA8wIAAPMCAAC2AgAAIwEAAB0DAADsAgAA8QEAAI8AAADsAgAAHQMAALYCAADsAgAAjwAAAPEBAADsAgAAtgIAAPEBAADxAQAA8QEAAIoBAAABAAAAVwIAAFcCAAABAAAAlwEAAF0CAACKAQAA7QIAAO0CAACKAQAAVwIAAMEAAABdAgAAHwIAAB8CAABdAgAA7QIAAAEAAADBAAAAlwEAAJcBAADBAAAAHwIAAIoBAADXAgAAAQAAAF0CAADXAgAAigEAAMEAAADXAgAAXQIAAAEAAADXAgAAwQAAAAEAAAABAAAAAQAAAE4AAAALAQAAFAEAABQBAAALAQAAxQIAAPECAABOAAAATwAAAE8AAABOAAAAFAEAAFsAAADxAgAA+gEAAPoBAADxAgAATwAAAAsBAABbAAAAxQIAAMUCAABbAAAA+gEAANUCAAAOAwAATgAAAE4AAAAOAwAACwEAAEEBAADVAgAA8QIAAPECAADVAgAATgAAAHgBAABBAQAAWwAAAFsAAABBAQAA8QIAAA4DAAB4AQAACwEAAAsBAAB4AQAAWwAAAF0AAAAPAgAANgMAADYDAAAPAgAAswAAAKkBAABdAAAAEwIAABMCAABdAAAANgMAABEAAACpAQAA6wIAAOsCAACpAQAAEwIAAA8CAAARAAAAswAAALMAAAARAAAA6wIAAF0AAADNAQAADwIAAKkBAADNAQAAXQAAABEAAADNAQAAqQEAAA8CAADNAQAAEQAAAA8CAAAPAgAADwIAAPAAAADPAgAA1AEAANQBAADPAgAAeQIAAJ0AAADwAAAAPwMAAD8DAADwAAAA1AEAAHMCAACdAAAAkgAAAJIAAACdAAAAPwMAAM8CAABzAgAAeQIAAHkCAABzAgAAkgAAAPAAAAAQAAAAzwIAAJ0AAAAQAAAA8AAAAHMCAAAQAAAAnQAAAM8CAAAQAAAAcwIAAM8CAADPAgAAzwIAAEUAAAAbAQAA4QEAAOEBAAAbAQAAewIAAJwCAABFAAAAfgIAAH4CAABFAAAA4QEAAC8AAACcAgAALAMAACwDAACcAgAAfgIAABsBAAAvAAAAewIAAHsCAAAvAAAALAMAAEUAAAA6AAAAGwEAAJwCAAA6AAAARQAAAC8AAAA6AAAAnAIAABsBAAA6AAAALwAAABsBAAAbAQAAGwEAAMACAAAfAwAAyAIAAMgCAAAfAwAAaQEAAKEAAADAAgAANgAAADYAAADAAgAAyAIAAPkAAAChAAAAKQIAACkCAAChAAAANgAAAB8DAAD5AAAAaQEAAGkBAAD5AAAAKQIAAMACAADJAQAAHwMAAKEAAADJAQAAwAIAAPkAAADJAQAAoQAAAB8DAADJAQAA+QAAAB8DAAAfAwAAHwMAAMsBAAA5AQAATAIAAEwCAAA5AQAAYwAAAKUCAADLAQAAMAMAADADAADLAQAATAIAAAMCAAClAgAAOgEAADoBAAClAgAAMAMAADkBAAADAgAAYwAAAGMAAAADAgAAOgEAAKgAAADiAAAAywEAAMsBAADiAAAAOQEAAAUCAACoAAAApQIAAKUCAACoAAAAywEAAD4CAAAFAgAAAwIAAAMCAAAFAgAApQIAAOIAAAA+AgAAOQEAADkBAAA+AgAAAwIAAAgAAABAAAAADwAAAA8AAABAAAAA8gEAALQBAAAIAAAABAAAAAQAAAAIAAAADwAAAAACAAC0AQAA3AEAANwBAAC0AQAABAAAAEAAAAAAAgAA8gEAAPIBAAAAAgAA3AEAAAgAAAACAQAAQAAAALQBAAACAQAACAAAAAACAAACAQAAtAEAAEAAAAACAQAAAAIAAEAAAABAAAAAQAAAAGMBAACjAgAASgEAAEoBAACjAgAAMwAAAE0AAABjAQAAhQAAAIUAAABjAQAASgEAAHEBAABNAAAApgIAAKYCAABNAAAAhQAAAKMCAABxAQAAMwAAADMAAABxAQAApgIAAGMBAAAlAwAAowIAAE0AAAAlAwAAYwEAAHEBAAAlAwAATQAAAKMCAAAlAwAAcQEAAKMCAACjAgAAowIAAPMAAABkAAAAVAAAAFQAAABkAAAApgAAAFsCAADzAAAA/AIAAPwCAADzAAAAVAAAAMIBAABbAgAABwAAAAcAAABbAgAA/AIAAGQAAADCAQAApgAAAKYAAADCAQAABwAAAPMAAABSAQAAZAAAAFsCAABSAQAA8wAAAMIBAABSAQAAWwIAAGQAAABSAQAAwgEAAGQAAABkAAAAZAAAAKsCAADmAQAAkAAAAJAAAADmAQAAFwEAANoAAACrAgAAOwMAADsDAACrAgAAkAAAACgAAADaAAAAgwAAAIMAAADaAAAAOwMAAOYBAAAoAAAAFwEAABcBAAAoAAAAgwAAAKsCAAAPAwAA5gEAANoAAAAPAwAAqwIAACgAAAAPAwAA2gAAAOYBAAAPAwAAKAAAAOYBAADmAQAA5gEAAIsBAAAUAAAA5QEAAOUBAAAUAAAAxQEAAEQBAACLAQAALwIAAC8CAACLAQAA5QEAABkDAABEAQAAGgIAABoCAABEAQAALwIAABQAAAAZAwAAxQEAAMUBAAAZAwAAGgIAANoBAABeAgAAiwEAAIsBAABeAgAAFAAAAKkAAADaAQAARAEAAEQBAADaAQAAiwEAACEBAACpAAAAGQMAABkDAACpAAAARAEAAF4CAAAhAQAAFAAAABQAAAAhAQAAGQMAAH0BAADqAgAADAIAAAwCAADqAgAA4wEAAP0AAAB9AQAATgIAAE4CAAB9AQAADAIAAFkCAAD9AAAALgIAAC4CAAD9AAAATgIAAOoCAABZAgAA4wEAAOMBAABZAgAALgIAAH0BAADoAQAA6gIAAP0AAADoAQAAfQEAAFkCAADoAQAA/QAAAOoCAADoAQAAWQIAAOoCAADqAgAA6gIAAL4BAADQAAAAyQAAAMkAAADQAAAAHgEAADoDAAC+AQAA2gIAANoCAAC+AQAAyQAAADECAAA6AwAAMgMAADIDAAA6AwAA2gIAANAAAAAxAgAAHgEAAB4BAAAxAgAAMgMAAL4BAAD4AQAA0AAAADoDAAD4AQAAvgEAADECAAD4AQAAOgMAANAAAAD4AQAAMQIAANAAAADQAAAA0AAAAHgCAABSAAAARQEAAEUBAABSAAAAFQAAAHMAAAB4AgAAqAIAAKgCAAB4AgAARQEAAIQBAABzAAAAZgEAAGYBAABzAAAAqAIAAFIAAACEAQAAFQAAABUAAACEAQAAZgEAAHgCAAACAgAAUgAAAHMAAAACAgAAeAIAAIQBAAACAgAAcwAAAFIAAAACAgAAhAEAAFIAAABSAAAAUgAAAG0AAABvAgAA3QAAAN0AAABvAgAAEQEAAGYCAABtAAAAQQAAAEEAAABtAAAA3QAAACYBAABmAgAAfgAAAH4AAABmAgAAQQAAAG8CAAAmAQAAEQEAABEBAAAmAQAAfgAAAG0AAABoAgAAbwIAAGYCAABoAgAAbQAAACYBAABoAgAAZgIAAG8CAABoAgAAJgEAAG8CAABvAgAAbwIAABMAAAC9AgAAZwIAAGcCAAC9AgAAYwIAAOcBAAATAAAAEQMAABEDAAATAAAAZwIAAEIBAADnAQAADQMAAA0DAADnAQAAEQMAAL0CAABCAQAAYwIAAGMCAABCAQAADQMAAB4DAAALAwAAEwAAABMAAAALAwAAvQIAAAYBAAAeAwAA5wEAAOcBAAAeAwAAEwAAAPYAAAAGAQAAQgEAAEIBAAAGAQAA5wEAAAsDAAD2AAAAvQIAAL0CAAD2AAAAQgEAALQAAAAeAgAAYgEAAGIBAAAeAgAArAEAAAMAAAC0AAAAPQIAAD0CAAC0AAAAYgEAAFQBAAADAAAAdwIAAHcCAAADAAAAPQIAAB4CAABUAQAArAEAAKwBAABUAQAAdwIAAAMDAAAsAAAAtAAAALQAAAAsAAAAHgIAAKQCAAADAwAAAwAAAAMAAAADAwAAtAAAACkDAACkAgAAVAEAAFQBAACkAgAAAwAAACwAAAApAwAAHgIAAB4CAAApAwAAVAEAABwCAAD8AQAANwMAADcDAAD8AQAAbgEAAOACAAAcAgAAHwEAAB8BAAAcAgAANwMAALICAADgAgAAtAIAALQCAADgAgAAHwEAAPwBAACyAgAAbgEAAG4BAACyAgAAtAIAABwCAADHAAAA/AEAAOACAADHAAAAHAIAALICAADHAAAA4AIAAPwBAADHAAAAsgIAAPwBAAD8AQAA/AEAAHIAAABQAAAAnwAAAJ8AAABQAAAAkAIAAM8AAAByAAAAeAAAAHgAAAByAAAAnwAAAK8AAADPAAAAZAIAAGQCAADPAAAAeAAAAFAAAACvAAAAkAIAAJACAACvAAAAZAIAAHIAAAAsAgAAUAAAAM8AAAAsAgAAcgAAAK8AAAAsAgAAzwAAAFAAAAAsAgAArwAAAFAAAABQAAAAUAAAAEwAAACDAQAAzwEAAM8BAACDAQAA7gAAAJgBAABMAAAA+wIAAPsCAABMAAAAzwEAAOcCAACYAQAA+wEAAPsBAACYAQAA+wIAAIMBAADnAgAA7gAAAO4AAADnAgAA+wEAAEwAAAA+AwAAgwEAAJgBAAA+AwAATAAAAOcCAAA+AwAAmAEAAIMBAAA+AwAA5wIAAIMBAACDAQAAgwEAALcAAAAvAQAADAMAAAwDAAAvAQAAXQEAAOcAAAC3AAAACAIAAAgCAAC3AAAADAMAAFABAADnAAAAdQAAAHUAAADnAAAACAIAAC8BAABQAQAAXQEAAF0BAABQAQAAdQAAALcAAACxAgAALwEAAOcAAACxAgAAtwAAAFABAACxAgAA5wAAAC8BAACxAgAAUAEAAC8BAAAvAQAALwEAABsCAACwAAAAFQIAABUCAACwAAAARgIAACQDAAAbAgAAfwEAAH8BAAAbAgAAFQIAAKYBAAAkAwAArwEAAK8BAAAkAwAAfwEAALAAAACmAQAARgIAAEYCAACmAQAArwEAAJECAAC8AQAAGwIAABsCAAC8AQAAsAAAAO8AAACRAgAAJAMAACQDAACRAgAAGwIAACcAAADvAAAApgEAAKYBAADvAAAAJAMAALwBAAAnAAAAsAAAALAAAAAnAAAApgEAAMMCAADpAQAA7gEAAO4BAADpAQAAVQIAABUDAADDAgAAKAEAACgBAADDAgAA7gEAADwCAAAVAwAAhQEAAIUBAAAVAwAAKAEAAOkBAAA8AgAAVQIAAFUCAAA8AgAAhQEAAMMCAADeAAAA6QEAABUDAADeAAAAwwIAADwCAADeAAAAFQMAAOkBAADeAAAAPAIAAOkBAADpAQAA6QEAANICAAAHAgAANwIAADcCAAAHAgAAQQIAABkAAADSAgAA7AEAAOwBAADSAgAANwIAAJ4CAAAZAAAA+QEAAPkBAAAZAAAA7AEAAAcCAACeAgAAQQIAAEECAACeAgAA+QEAANICAAATAQAABwIAABkAAAATAQAA0gIAAJ4CAAATAQAAGQAAAAcCAAATAQAAngIAAAcCAAAHAgAABwIAABECAABKAAAAmgAAAJoAAABKAAAA8gAAAA8BAAARAgAAPgAAAD4AAAARAgAAmgAAAIgCAAAPAQAAogAAAKIAAAAPAQAAPgAAAEoAAACIAgAA8gAAAPIAAACIAgAAogAAABECAABNAgAASgAAAA8BAABNAgAAEQIAAIgCAABNAgAADwEAAEoAAABNAgAAiAIAAEoAAABKAAAASgAAACACAABcAAAA/wEAAP8BAABcAAAAGwAAAFwBAAAgAgAAwQEAAMEBAAAgAgAA/wEAAPICAABcAQAAOAMAADgDAABcAQAAwQEAAFwAAADyAgAAGwAAABsAAADyAgAAOAMAACACAADpAAAAXAAAAFwBAADpAAAAIAIAAPICAADpAAAAXAEAAFwAAADpAAAA8gIAAFwAAABcAAAAXAAAAOIBAACBAQAA8AIAAPACAACBAQAAmwAAAPYBAADiAQAAuAAAALgAAADiAQAA8AIAAI8BAAD2AQAAqwEAAKsBAAD2AQAAuAAAAIEBAACPAQAAmwAAAJsAAACPAQAAqwEAANgBAACGAQAA4gEAAOIBAACGAQAAgQEAAGkCAADYAQAA9gEAAPYBAADYAQAA4gEAABQCAABpAgAAjwEAAI8BAABpAgAA9gEAAIYBAAAUAgAAgQEAAIEBAAAUAgAAjwEAAGgAAABwAgAAkAEAAJABAABwAgAAEAEAAEgAAABoAAAAfgEAAH4BAABoAAAAkAEAAFMCAABIAAAAAQEAAAEBAABIAAAAfgEAAHACAABTAgAAEAEAABABAABTAgAAAQEAAGgAAABPAQAAcAIAAEgAAABPAQAAaAAAAFMCAABPAQAASAAAAHACAABPAQAAUwIAAHACAABwAgAAcAIAAOkCAACbAQAA0wIAANMCAACbAQAAVQAAAMgBAADpAgAAOwIAADsCAADpAgAA0wIAAKQAAADIAQAAFAMAABQDAADIAQAAOwIAAJsBAACkAAAAVQAAAFUAAACkAAAAFAMAAOkCAAAcAAAAmwEAAMgBAAAcAAAA6QIAAKQAAAAcAAAAyAEAAJsBAAAcAAAApAAAAJsBAACbAQAAmwEAAHAAAADZAgAAMwIAADMCAADZAgAA1wEAALEBAABwAAAAMAAAADAAAABwAAAAMwIAANQAAACxAQAAJgMAACYDAACxAQAAMAAAANkCAADUAAAA1wEAANcBAADUAAAAJgMAAHAAAAA/AgAA2QIAALEBAAA/AgAAcAAAANQAAAA/AgAAsQEAANkCAAA/AgAA1AAAANkCAADZAgAA2QIAACQCAADDAQAA9wEAAPcBAADDAQAAwgIAAGECAAAkAgAAMwEAADMBAAAkAgAA9wEAAAkCAABhAgAA8wEAAPMBAABhAgAAMwEAAMMBAAAJAgAAwgIAAMICAAAJAgAA8wEAACQCAAAZAgAAwwEAAGECAAAZAgAAJAIAAAkCAAAZAgAAYQIAAMMBAAAZAgAACQIAAMMBAADDAQAAwwEAALcCAABcAgAAZgAAAGYAAABcAgAA6wEAAKECAAC3AgAAqQIAAKkCAAC3AgAAZgAAAEUCAAChAgAA7AAAAOwAAAChAgAAqQIAAFwCAABFAgAA6wEAAOsBAABFAgAA7AAAANwAAADiAgAAtwIAALcCAADiAgAAXAIAAFECAADcAAAAoQIAAKECAADcAAAAtwIAAAUBAABRAgAARQIAAEUCAABRAgAAoQIAAOICAAAFAQAAXAIAAFwCAAAFAQAARQIAANkAAADkAQAAbwAAAG8AAADkAQAAKwIAAIQCAADZAAAALwMAAC8DAADZAAAAbwAAAFYAAACEAgAAmQEAAJkBAACEAgAALwMAAOQBAABWAAAAKwIAACsCAABWAAAAmQEAANkAAAA1AgAA5AEAAIQCAAA1AgAA2QAAAFYAAAA1AgAAhAIAAOQBAAA1AgAAVgAAAOQBAADkAQAA5AEAAMQBAACsAAAAuwEAALsBAACsAAAA7QEAAKsAAADEAQAAtQAAALUAAADEAQAAuwEAAMoCAACrAAAA5gAAAOYAAACrAAAAtQAAAKwAAADKAgAA7QEAAO0BAADKAgAA5gAAAMQBAACtAAAArAAAAKsAAACtAAAAxAEAAMoCAACtAAAAqwAAAKwAAACtAAAAygIAAKwAAACsAAAArAAAAAYCAADNAgAAPwEAAD8BAADNAgAAZQIAADkAAAAGAgAAZwEAAGcBAAAGAgAAPwEAAPEAAAA5AAAAlwIAAJcCAAA5AAAAZwEAAM0CAADxAAAAZQIAAGUCAADxAAAAlwIAAAYCAAB1AQAAzQIAADkAAAB1AQAABgIAAPEAAAB1AQAAOQAAAM0CAAB1AQAA8QAAAM0CAADNAgAAzQIAAAwBAAApAAAA1wAAANcAAAApAAAA4QIAAIoCAAAMAQAAFQEAABUBAAAMAQAA1wAAAKIBAACKAgAAGAMAABgDAACKAgAAFQEAACkAAACiAQAA4QIAAOECAACiAQAAGAMAAAwBAABLAQAAKQAAAIoCAABLAQAADAEAAKIBAABLAQAAigIAACkAAABLAQAAogEAACkAAAApAAAAKQAAANACAADMAQAAOQMAADkDAADMAQAARAIAAHYAAADQAgAAaQAAAGkAAADQAgAAOQMAAN0CAAB2AAAAxwIAAMcCAAB2AAAAaQAAAMwBAADdAgAARAIAAEQCAADdAgAAxwIAALUBAACoAQAA0AIAANACAACoAQAAzAEAAFYCAAC1AQAAdgAAAHYAAAC1AQAA0AIAAEkCAABWAgAA3QIAAN0CAABWAgAAdgAAAKgBAABJAgAAzAEAAMwBAABJAgAA3QIAAAcDAACMAAAAnAEAAJwBAACMAAAAKgMAAG0BAAAHAwAAiAEAAIgBAAAHAwAAnAEAAEICAABtAQAAGwMAABsDAABtAQAAiAEAAIwAAABCAgAAKgMAACoDAABCAgAAGwMAAC4BAABaAQAABwMAAAcDAABaAQAAjAAAAJEBAAAuAQAAbQEAAG0BAAAuAQAABwMAAMABAACRAQAAQgIAAEICAACRAQAAbQEAAFoBAADAAQAAjAAAAIwAAADAAQAAQgIAAAECAABhAAAAPwAAAD8AAABhAAAAGgAAAAoCAAABAgAAswIAALMCAAABAgAAPwAAAGwAAAAKAgAAfwIAAH8CAAAKAgAAswIAAGEAAABsAAAAGgAAABoAAABsAAAAfwIAAAECAAA2AQAAYQAAAAoCAAA2AQAAAQIAAGwAAAA2AQAACgIAAGEAAAA2AQAAbAAAAGEAAABhAAAAYQAAAFUBAACXAAAA3QEAAN0BAACXAAAA5AIAALACAABVAQAALgAAAC4AAABVAQAA3QEAANEBAACwAgAAGgEAABoBAACwAgAALgAAAJcAAADRAQAA5AIAAOQCAADRAQAAGgEAAFUBAACeAQAAlwAAALACAACeAQAAVQEAANEBAACeAQAAsAIAAJcAAACeAQAA0QEAAJcAAACXAAAAlwAAAG0CAACaAQAAQAMAAEADAACaAQAAJQEAAHcAAABtAgAAKwAAACsAAABtAgAAQAMAAPkCAAB3AAAATQEAAE0BAAB3AAAAKwAAAJoBAAD5AgAAJQEAACUBAAD5AgAATQEAAG0CAAAJAQAAmgEAAHcAAAAJAQAAbQIAAPkCAAAJAQAAdwAAAJoBAAAJAQAA+QIAAJoBAACaAQAAmgEAAIkAAAC5AQAAQwIAAEMCAAC5AQAAxgAAAJQCAACJAAAAKgEAACoBAACJAAAAQwIAAJEAAACUAgAA/gIAAP4CAACUAgAAKgEAALkBAACRAAAAxgAAAMYAAACRAAAA/gIAAIkAAAAoAgAAuQEAAJQCAAAoAgAAiQAAAJEAAAAoAgAAlAIAALkBAAAoAgAAkQAAALkBAAC5AQAAuQEAADABAABlAQAA7QAAAO0AAABlAQAAvQEAACoAAAAwAQAAdwEAAHcBAAAwAQAA7QAAAG4AAAAqAAAAYAIAAGACAAAqAAAAdwEAAGUBAABuAAAAvQEAAL0BAABuAAAAYAIAAKACAACeAAAAMAEAADABAACeAAAAZQEAANwCAACgAgAAKgAAACoAAACgAgAAMAEAANMAAADcAgAAbgAAAG4AAADcAgAAKgAAAJ4AAADTAAAAZQEAAGUBAADTAAAAbgAAAAQCAADfAgAARwAAAEcAAADfAgAAgAIAANgCAAAEAgAAwAAAAMAAAAAEAgAARwAAAFgAAADYAgAACQMAAAkDAADYAgAAwAAAAN8CAABYAAAAgAIAAIACAABYAAAACQMAAAQCAAArAQAA3wIAANgCAAArAQAABAIAAFgAAAArAQAA2AIAAN8CAAArAQAAWAAAAN8CAADfAgAA3wIAAEcCAAB2AQAALQEAAC0BAAB2AQAADgEAAIcBAABHAgAA9QIAAPUCAABHAgAALQEAAMwAAACHAQAAzgIAAM4CAACHAQAA9QIAAHYBAADMAAAADgEAAA4BAADMAAAAzgIAAEcCAACCAQAAdgEAAIcBAACCAQAARwIAAMwAAACCAQAAhwEAAHYBAACCAQAAzAAAAHYBAAB2AQAAdgEAAEYAAADgAQAAUwAAAFMAAADgAQAATgEAAPcAAABGAAAAugIAALoCAABGAAAAUwAAAJYCAAD3AAAAhAAAAIQAAAD3AAAAugIAAOABAACWAgAATgEAAE4BAACWAgAAhAAAAEYAAAAaAwAA4AEAAPcAAAAaAwAARgAAAJYCAAAaAwAA9wAAAOABAAAaAwAAlgIAAOABAADgAQAA4AEAAJUCAAC5AAAA6gAAAOoAAAC5AAAANQAAADEAAACVAgAALAEAACwBAACVAgAA6gAAAJYBAAAxAAAAggAAAIIAAAAxAAAALAEAALkAAACWAQAANQAAADUAAACWAQAAggAAAJUCAAB9AAAAuQAAADEAAAB9AAAAlQIAAJYBAAB9AAAAMQAAALkAAAB9AAAAlgEAALkAAAC5AAAAuQAAALUCAAA5AgAA9wIAAPcCAAA5AgAA9gIAADUDAAC1AgAADgAAAA4AAAC1AgAA9wIAALwCAAA1AwAACwAAAAsAAAA1AwAADgAAADkCAAC8AgAA9gIAAPYCAAC8AgAACwAAANgAAAATAwAAtQIAALUCAAATAwAAOQIAADICAADYAAAANQMAADUDAADYAAAAtQIAACABAAAyAgAAvAIAALwCAAAyAgAANQMAABMDAAAgAQAAOQIAADkCAAAgAQAAvAIAAP4AAABRAQAAAwEAAAMBAABRAQAARAAAALYAAAD+AAAAHQEAAB0BAAD+AAAAAwEAABYBAAC2AAAAXwAAAF8AAAC2AAAAHQEAAFEBAAAWAQAARAAAAEQAAAAWAQAAXwAAAP4AAACuAgAAUQEAALYAAACuAgAA/gAAABYBAACuAgAAtgAAAFEBAACuAgAAFgEAAFEBAABRAQAAUQEAAAkAAACLAAAAigAAAIoAAACLAAAAggIAAKUBAAAJAAAAlgAAAJYAAAAJAAAAigAAADQCAAClAQAAkwIAAJMCAAClAQAAlgAAAIsAAAA0AgAAggIAAIICAAA0AgAAkwIAAAkAAADEAgAAiwAAAKUBAADEAgAACQAAADQCAADEAgAApQEAAIsAAADEAgAANAIAAIsAAACLAAAAiwAAACIBAACYAAAA0gEAANIBAACYAAAANAMAABcAAAAiAQAA5QAAAOUAAAAiAQAA0gEAANYCAAAXAAAAKgIAACoCAAAXAAAA5QAAAJgAAADWAgAANAMAADQDAADWAgAAKgIAACIBAAD1AQAAmAAAABcAAAD1AQAAIgEAANYCAAD1AQAAFwAAAJgAAAD1AQAA1gIAAJgAAACYAAAAmAAAAF4AAAAtAAAAIQMAACEDAAAtAAAAFwMAAK4AAABeAAAAJwIAACcCAABeAAAAIQMAAHsAAACuAAAAHQIAAB0CAACuAAAAJwIAAC0AAAB7AAAAFwMAABcDAAB7AAAAHQIAAF4AAAALAgAALQAAAK4AAAALAgAAXgAAAHsAAAALAgAArgAAAC0AAAALAgAAewAAAC0AAAAtAAAALQAAAB4AAADoAAAAcwEAAHMBAADoAAAAPQMAACcBAAAeAAAA0QIAANECAAAeAAAAcwEAAOoBAAAnAQAANQEAADUBAAAnAQAA0QIAAOgAAADqAQAAPQMAAD0DAADqAQAANQEAAFQCAAD9AQAAHgAAAB4AAAD9AQAA6AAAAI8CAABUAgAAJwEAACcBAABUAgAAHgAAADgCAACPAgAA6gEAAOoBAACPAgAAJwEAAP0BAAA4AgAA6AAAAOgAAAA4AgAA6gEAALYBAACqAAAAIwMAACMDAACqAAAApwIAAIgAAAC2AQAASQAAAEkAAAC2AQAAIwMAALgCAACIAAAALQMAAC0DAACIAAAASQAAAKoAAAC4AgAApwIAAKcCAAC4AgAALQMAALYBAACZAAAAqgAAAIgAAACZAAAAtgEAALgCAACZAAAAiAAAAKoAAACZAAAAuAIAAKoAAACqAAAAqgAAAM4BAABLAgAAdgIAAHYCAABLAgAAcQIAAN8BAADOAQAAJgAAACYAAADOAQAAdgIAAFICAADfAQAAHwAAAB8AAADfAQAAJgAAAEsCAABSAgAAcQIAAHECAABSAgAAHwAAAM4BAAB5AAAASwIAAN8BAAB5AAAAzgEAAFICAAB5AAAA3wEAAEsCAAB5AAAAUgIAAEsCAABLAgAASwIAAAoBAADvAgAAIAAAACAAAADvAgAAEgMAAEYBAAAKAQAAjQIAAI0CAAAKAQAAIAAAAC4DAABGAQAALQIAAC0CAABGAQAAjQIAAO8CAAAuAwAAEgMAABIDAAAuAwAALQIAAAoBAAAWAgAA7wIAAEYBAAAWAgAACgEAAC4DAAAWAgAARgEAAO8CAAAWAgAALgMAAO8CAADvAgAA7wIAACYCAAC6AQAA/wAAAP8AAAC6AQAASAIAAMoAAAAmAgAAOwEAADsBAAAmAgAA/wAAAGIAAADKAAAAhwIAAIcCAADKAAAAOwEAALoBAABiAAAASAIAAEgCAABiAAAAhwIAACYCAAD0AgAAugEAAMoAAAD0AgAAJgIAAGIAAAD0AgAAygAAALoBAAD0AgAAYgAAALoBAAC6AQAAugEAAAAAAAAAAAAAAAAAAGBlBj0AWQVAWgeOQGdUz79D442+FEJcQIZntr/EVxxALQzYP6wCsb+8kQ5ApAYvQDjBs74Vjno+A9UmQD/jI8BVEjQ/5wUwQHB5i79/Hek/DQ0xQA4d1L8dBBVA6Fc2QN1Oz7+obqO9BIc+P2Pwzb+1xqU9eBufQKQP5b8bawg/KEnqP7NxDMB5ldc/b2CHQKiH6L+bilM+ecQdQErc179U1hQ/KVLkPwxFsr8kzA9AJoAsQB+IQb+/9ExAjzQkQF26nL4YqGhAkdI8QPb0NT7zGTJAfO+PQEgC1L6q/cc/YuHJP2EYB7/SxPs//JRgQGQObr/FUrg/C1RiQOmRir+mJYQ+rf1kQANe3r9p+DK+maatP8MhAsDsRlI/TXogQErE379ilQZAix64Pj2AQcBWkUU/vXAnQPGz079eyx5AJZxQP24W6b9KCkY//oWTP1JbDcC0jT4+KJM+QMvHAcAlSy8+aK0IQMM4B8AtWAa/U7v3P6MT8L8hhK6+IKkIQFHrv78uyqo+ff6XQN8WDcCGF4A/HY2HQHWBt783fw+/rLQwQOKKrL/I/WM/MHNUQIPw6L/ezaQ+iR2QQNrzBMAp6AC/fXX1P6Kutb975RFAQjxIP5cho7/H1f8/81FTQDwb5r8B59o/vkQmQP7dEMD9s5E/mo3QP1doMcC7o6o+/84ZQCmm0r85ly9AJyXnP3oUEcA+ZsG9bX2mP+0LRcAcDAQ/l7sSQPHmS79qWzRAFYdDQMhCy7/MhZ4/Ml63P0XXP8CikH4/gbXMP6Ahyr9V8wi/P75bQGfrmr/xbABAANgeQLeVmb7n8hpAh+N9QFMKNMCpwJU/VG/AP6TP1b47QUlAR0BIQGu0978YSNY/h2OAQFe0rb+E17E/gtp4QEDp0b/SN6Y/9CsXQO3YT78bWzNAaVFCQM6i879Se9E/UrKBQEYlRT4zJsg/t3kaQLKXDMChtYI/paeIQALKx7+PMwhAPCNZP5AjQsBJgzw/UqIlQBBY0r8khBdA4Xs2QNh4Qb/q/Lg/IOR0QJ9FIT2Vcvk/yPApQLnRGL6Za4q+L0zjP1uWCMDFiCU+r55wP+rKU7/NWjJAvBtBQD/rK8BZTDA/AWaaPxy0MsCizbQ/otOkP3IcD8AaQJk/WAiFP8AIFMA+vre+KDwLQPBq6781mQVABeJlP6JkB8CpP50/IM5tQBcS/7/fvhRAWQ8CQBa/ur9gbOc/RhQeQL/TqjoPSy1AGGIhQO+c/D1zeBFAybwkQGIsD8Cm5jJASZDWP4pUPr9VgxY/h9JtQI+Obr8lTJI/n/xcQAviJsBYsXQ/MTeiPyldi79Li+U/uFgtQBDe2L9Ie4A/UgeSP6jOE8CYNN4/4RccQNMvCcBcOKE/06VsQHORRMDtKb4/tTyhP4e8I8DLEDQ/c+UxQBpdCMCGS0k+gh+QQCKQ87pI8ytAgUMrQDHE67/5MyhAZIx1P5TFtb7P42lAkEI7QILNDsAw7tK9zd6oPzNJCcAYsw4+EzB6P1jeEcApU1M/Y8g0QHbpUcApqDE//9UwQMQDCMAzYK2+/r4iQJPJeL7N+wlAEzYsQNXHlr/i8sc/VnM4QLqR9b/DPTU/Rrc1QFH/oL+exOE/RGDYP4uI87+em8u+XLVdQKoxD8CM/ZU/f9uAP90AOL+q/Rs/KnzyP0oqB8DeXei+kL03QMX87b9KTEQ+sBQgQMSST8BFjC8/6/YxQCttLL/KuJg/wXF+QAaVFcDfIJQ/BLfaPw70CMBiBdM/evQPQArb2L+o44w/3YrPPzKlsT0lCSNAlDp5QHcsD8CPSDBAX/HVP6rjYL9hSpQ/LMlbQNw17Lv93gM/TYcxQB+71r8TDS5AV1kHQPE2lb9EICg/wYz+P74wMMAVEHk9Y1gXQHfc+b93vy1As23aP/w3BMB6dj2/tp/hP0QZED8wu42+3bJpPxhzEcCi6n69ZtWpP8Z1rr/4HUC/kqJYQF9iQcB4AoE/d3/LPzUmPb/LcLw/wvd2QLDQFb+mFIU+Dn6rPzM9EcCH7k4/AR0yQHKxxL9h8v++h65ZQHpOMsA5MJQ/GvDEPxqJm78X+AJAaZ1BQKapKcDOYHU/aBSoP41kmL992Pk/tYYgQL6FCsDMx30/9GuHQD2JE8CjxdI/vydjQKU8HcDXGxW/k2EOQEf9McCDOrE+7UM4QDqm3r89frw92dNrP+nm0r92RaG9i9w2P1VcHMB+yVo/QAEhQDLw/r8nntU/xixsQDV5AsA92KM//+eDQNDLBL8pHw1AQzqBQB3Rob9oowBAOQ5AQMP3MMDVZco+5gw6QD035L55YkRAFNkkQAPwXb/QWzM/afB9QARhE8D4xNY/LGphQAuP4D0ATy5Am2CFQFRK4L/rpHI9+QZzP62lVcAoSMc+TncKQFi+3L9tw1a+rcWnPx35HsB9khW/naENQMPVyL+lOAdA5F9OP3Jzir9iadA/ZLmzP5SLsr/BtqQ/tTl3QPFRQ7/ZxktAi48lQNI4JcANAKU/U863P7d3+b+z7S5AxA/VP5IGCsABgoE/e4aIQNC16L6u3UhAHEJcQAJdyr/euwpA5BJWP95iB8AZcjs/qGYNQJRL7L/1wUk/Lj+TP+ciCcDXUFk+68+QQPdzj7+7Xeg/2ukuQMNYBcCzNum+f2M3QJ+2hb8qcgRAcDolQHAmUb8vtdo/q4FkQJW1IMAkCRa/p+EMQJhGC8C5qJc/RxcKQE9qDsDK5Zg/cS8IQHPYDMBBR5g/XCMJQCAsD8BE/ZC9xjasP8WKDsBvlzJAarbbPynwjb9qwQxAurppP58rEcB/B0k/8vw1QCgYDT66gTFAYyiQQC0ffr7e1ldA8UgvQMq4sr8bESJAjmHQP5VmAMCwHq8/mfEFQCSXEMAa9Zq8BERMP05d4b8oQCxAP48YQF+ggL+7Fr0/dyW6P3jtQsCevII/bUnKP+E34D2ASylAlaV5QEbVi7+0d+c+dHaIQDbSvj0dKOw/6mU5QB+MsL9sXUi/0E1XQNOU0L9E0Gq+c7FWQHbxi7/NSQc/Pw+LQNyFM8DTd7A//0WoPxG1UT0ZiwRAn+mMQKicXT6S9I4/G+sHQGro979GlNA/KbyAQJai6b8ztLM+o/KRQG+t/79h980/ZZhqQDT8MsBEjhQ/y14tQAUS+L+Qq0xAwPkEQKufzb/kXYI9SFqeQDpAkL8BZd0/ejhjQG6SBcDm9Kq+8+ghQJGe/r8BEzK/f/RgQI8+L8D/tJU/MN1QP5ecxr9BXdS+PqFBQMLoqb+OUMC+52uRQNqKDsBY+S9AgRfbP1Eis79gOsg/fJtlQLk63L80rh29lRWJQHqKEMDdokQ/kFEzQOapJcDUHJo/+3y+P13u3r+cH5E/BebOP+bfB8A4JjM/s/0OQDlzB8Dox+k+OS06QPiA5r9OH9M/3lYVQLxh8b9JmoM+pIiZP050FcA8sdc/fn0bQK4bor+OzPo/kcVSQMBCsz1kwHg/4QMZQDaJ579Omck/RJICQLewS7+chLg/vVd2QJJy27+L3S9Ab9W+PjuHA8CID+q+bwk3QI+33L5hFDlA0hqEQDhux79K5em+ELlCQFyAhr+pYQlA8WgpQKxbtr81iU69FpKRQLToCcApVmk+VYCRQICy6L8fD2I9W8CmP+RvAsB0SLI/MD8HQAOA3L//ZStAAwMYQCCaBMA50C0+uBcPQCSo6r+Y5SZADXp6P0MlM8BvIZE/el69P/bOxL8U0KI+8F+XQK+5mL8SHNw/75rsP7Yv/L9iXZE/HbbvP1lA7b+Z2yFA1+7zPw/vtr86ogtAUdBDPzX4RL+F3UtAmvciQHno1b9cbaY/n+QYQMNoy7/1wAlAi09LPz4kkr+K7cU/p6A3QO3/Gr6u/TNA5hN8QK6sVz4AAiRAMUJgQFzffb8kqdY/vnrYPzxvLMD9VTI/iWSfP69nQL6fsTBAkTp7QP+i2L6GiEpAU3lcQJ6gFMDFH4A/F+RkQFfXr78B/7U/zyxyQOlCyr8Sk6w9HiCfQDXfjb8ees4/LH+FQNTJD8C3kX68gFBCPzqdCMBpvGW+DcATQCufE8CXiNY/tj9jQIA5/78rCp0/hnSLP/6r0b8m9RVAR243QDYvBsBehgo+aWJvP0T+7b/YptK+36hdQCDh37/a79E/1JoJQKASar95w8o/T1S5P2o//b+bFTS/Wm9eQIwFmD4W9Ao/YJwlPz/gMcClV0U9tBwXQOSv079FDfq+cSkLQAoTiz1cJS9AXrgmQA8a47/5vNY/mc8lQGsWrT53mjU/WQ8JQMbQJ8CF0KE/drqHP1su579QfQVAzENyP/zI/b89Lps/wh6GPxReR798+Ls/X2t4QKH+KD4oCbY/AxsrQHAj3r8T4wZADdOqPvGGbz6VSRNAAqIhQIQm4b8iKtU/4sgUQFWIEsD0TAs8mINKP0Yuob8ocgNAjNBAQNOOiL9CkIo/GnlpQGmJ7b/HPHi+yKKBQOzHRsBw/AY/ufQUQP9CVL+B2TRAHAtCQGivZr+XhTI/JX5YQA7iBsBkYec9zPN4Pw2/kL8Rgt4/ZwlmQMrb6b/9OD5APk73Pyp8/r+P0Vo+46ykP7USRb/Gl9w/kQVqQA722b+J9Dy+Sf+qP9Jtj75o3hpApUKAQM7Yrb8z1zc/+cdVQJlrNcD5bqM+14caQMfUIr/X8Z0/6Kt/QHhq9r+swCU+r5MLQJoey79GGyFAYq76PmSjrr8UP+O8dJqRQCm0L8Dv6Q4/skwrQK2VRMAUTL0/gqOdP2tpMcD/kI8/QN/BPySKJcCnO54/OiqHP7QfMsCvhi8/yVYcQK2E379gpC5AmR4ZQPMhEMDS158/RdXOP6oGD8ByYjE+4q88QGlPvr8hk6Y8V75nQA156b/WDa0/b+i0P9q44785h8M/F4Z0QCrr3r+xveA+x50TQM62UMBm5is/RcUwQCNo+782BEs/+cozQJpV879UEci+BJtgQOIYK78vKA1AXrkoQNgTjb6HoAJAz/UtQAC+B8ABkzq+Vp0UQEXvxb+WWwG/5n1cQEu4PT4Pky9AXp6PQNX81b6qyzZAB5+EQEQ23L/Jn7g/droKQOna279O2Ye+hGddQDvonb7ipjxAkgssQNOpO79wmK4/J7viPwf/az6qvhpACs9jQHkqEb8QQfA/5LFYQBC2bL8ctLk/RYpfQNp+1b+PuO++Bz8NQIbgJMABdjo/fxwwQMGt4r87tpG7pWeIQDowD8AwkT8+8lQ+QAzcl79HOfw/4ekdQD/S4r/SaNo/D3UlQJWutL8+3qg/A4xwQCoEM8Cq16Y+XC8cQJa7KcCIeHc/immiP9M4D8Drupk/ZlCBP2Kn2r83yi1AXZIYQAS7EcBxpUI8FJBAP8gok7+QTcg/Hfo4QApMC8Al7/Q+zXs6QLP1r79JJR9At4vjPxfAU8AOZ74+tQYJQDsLE8CPZXw/yblmQFyew7+loKI9JmBiQBuh47/ihLY/0oB0QM+xsr8e8lA/vvVZQJOEMsCT6jc/oXIiQM3hBMBXEUg/+CgiQBeM6b83lyVAtmd/P1dF27967S9AhEEHQPPCCcCLUz8/0eINQFPdE8A1TNY/PxVlQJsIIT71+DBAr/CEQD+UqL9Cp7W+LbWPQOWLjb9syRFAHTLHPwvWur8ldOc/QnIbQAxqU79G5Ak/9LN6QPvYFMC0RKI/sP7YP2pzYr/Zybc/6YdiQBoR2L/2KLw/N60LQFM+SLu6fSRADpl2QEzWyL5yCU1AzQFIQBX9BcAYlpw/VkJrQIvcvL+XqZo+9UKXQMne/b+UMtM/mZRpQCKbGcCMpT8/Z/AZQNfX5b9iSEFAxG3zP9Q6AMDpWjO/IWJfQMtZD8Duv00+Avo/QC5wvb807us/rSUeQM08/b8M5Km+Pi5JQGb067+2Q/0+DTYLQBm1E8CLS9o/rFdjQG7a1L/TE6Q/m5EXQCCiLcAu3Jc/YM9JP7EP/r9QQII/JfbqP15/cL6CVz9Ad3UvQCLPsr4OTDA/7btRQD4As7+8Cwa/a4UyQAwg4b/4nsM/18R6QEbIB8DLjqA/ChpqQH+lkr++rNA/I6OFQHa3/r+tgpc/OomNP6/edr9YnfI/BBaXP9FLIL/e09M+DQP0P7JEr7+dfbs/sJ+hP6WlLcC2s5Q/TrRNP1rDAMB2rBZAKWkDQP4qZb8JBJM/MBleQN5Hx7+FIiNAiZYAP2sL0b9ilqQ/TjmbPyupLcA+i5E/PZlRP+CaAsCkBEg/CbwTQKplrb5oBck+Y7RVQHjnertonwRAzoqNQM1iGL+aXv0/uhNbQAAAAL8AAAC/AAAAAAAAAL8AAAA/AAAAALPs6L9L7U0+qWMgQCcJsL9Varg/koivP/NG/b/AppU/djOIPzQwLcBbRyA/Le0dQAAAAD8AAAC/AAAAAAAAAD8AAAA/AAAAAHvpWL8iY+o+QhtgQCSOiL9DF4I/JxtwQOUoQcDxioM/azvOP2pgSz227RZAZk2IQFzB+r9jGxVAwoMDQDLlBsANw9g/kPgRQL+PM8A1nxE9BeEWQBEx6b8aa0Q/EuCPP8EQBMDrC2Y/8bYVQKFn8786tvM+q4ElQIYoVMB+zL4+Q9cKQPo/CsCqBzc/3HkPQHD/kb6irxI/A30mQKUd678NY7k+65OQQG6K4r+rFN4/hRolQK27BT+9d4E/gncNQMDQjj68DQVAu1sqQKm40r9u4s29r4NEP98nmL9HUgpAVC57P8S2/b92eTM/T6w6QLsA4L/soUI/lNoTQKeLsb4mNGhAiiw9QAsQ+7+fUJq+AVdHQKt8i78Gz8Y/0kbAP8iKiL+qDhNAIhHWP48mCsBE72g+MDGQQMge+z4An8s/pHsdQHmagL9j3v4/xICfP00I4b+hnLY/kr96QGj72b9XBZI/i2LQP7V5yT66xl0/SZAeQPFCoTwWwCpAEAR3QOz/0L8nZhRArWA4QF0a1r9WGWU/beQFQOlXHsCLeRq/mmEMQPmu8b9j1+s+MSUoQBrT+L/8pew+SQUmQDkUM8D+gb0+Gxs6QAXIB8BHhcK+mWoiQHK8AcBD568/kVUDQNqPr7+6phJAs6IxP3maA8CDTI8/iYr6PzHKsb/uA8Y/HVdjQCh04L/7G1w/2BxKQBOVLcA/qyg/BQkkQHw/1L8dpxtAn2RbP1ItlL+Wrco/lFM6QFEhBMCJ07c/WvPAPwI/DMBMKpY/JL0HQPOlMb79bgFA2ENRQFPL7b+PHM++h45gQDdC679z60s+leweQMv76L96qUc/6iuXP2eN575Ut0pAaX5cQHKDAcAPKZ4/+XmCQN7oKr+sQQlACLYiQBV2or9SwCM/3X0ZQPk/qb70RWlAkQo8QPpIA8At7zq/Gr7eP5f567+gyh9AjvHvPx6ztb8mpwW/hEswQPaQVMDuMb8+0qcMQD9/5b8vKEE9DPWhP3Ia978lx+Q+0KgoQN9p6b7XVEJAmk8hQPLVAcA3oDK/6FRgQI+c6r4mxDdAxFuDQEAM0b87G5o/AFqzPwOoyL+eDJs/p6KdP5jsZj7eyhBAOJBJQPtqYb/AYeQ/OPplQH7bFD7W+i5ARdePQJdSrr+2DBFAIuwvQL9CRsCMYAw/CR0RQPjlIsCqri0/UO8vQILPAsACgTu/ce3jP3BqLsC0yTI/7AOZPwE1Gb+wezlADHszQM/Bpb/W6bA/D/6fP8dXgL/6MeQ/5Jh7QG0HFsA5ydw/7+waQEXnf75qkgRAYgVMQHxhqL9J0v4/PC5TQLKHGL/p7qo/zKDAP2kxj7/AqtE/l+KFQBsq2b8OljBAVVa0PiMP/L/ARSQ+//0RQJlrnr+XcOk/rd/lP5T0w79rpwhAATMIP8HFA8AHEbM/KKMEQKkayL8KviBAHePmPkD7qD5/kxRA+dVHQJPbpb7zTh1AmsB+QO0hC79rHA9AoJyCQPaUr78eRxJApGUtQF1/678di7E/4bexP7ZZBT/YmSk+LWXRPy6O3b/r3US+I7aqP0SGpr+O1q0/8eatPyXm7L+3RKk/OPixPz+9sL8Zh8U/MRVlQEktxL/7WwtAE9ADP+o2LD6itBJAresrQCOl6L/t/SBA5Rf3PzGM978+S05AaxAEQDC/CsCVdiO+7qALQLiOC8DDzIA/zAmIQC6w1r+YURxAce5QP+46z78u5hZApoQ4QNjaUcCGQCg/n5MvQBy5Z79DS5M/5mJcQAYeKr+QLgdATW4sQOeZRMA8brw/UAqaP62Egb9VogBA1OEpQGPM079KuqE/mD4WQJWC3L/DMAdAj4edPuFQ2r9R1StA2c0GQEFwAsCc3rs/43fBPyaET8CiJCY/irQwQE0gEMDBMam9GVqpP/0fhL+mnOA/ejl6QItT2b/6ymU/gmxEQN70EsD23nw/LuJkQEv0oL7BV2pAmOg6QHvKlb2ASz8+Td8xQEK46L+luQNAijtrP1Yb3b9avF6+49ZXQNtimb5qnlZA44sxQMZ10b8SW6c/E9GnPxC7XL8tkvo/imSTP92p1b9i7v2+AJ4MQGsnBcBxXPS+J5o4QLqX7b+a6Uk+gXUdQEiUAsD5Zrg/iOTCP1dzR76aU/Q/o0VOQBmwjL/bTgZAF0ReP6l7+7+BjkxAsEEEQHAOCMAjVBI+8NCkP/dGrL+g3iRAGOHbP4r4bT3+FhVA9iyHQACC7b+f1yVAoGJ4P18mAcDSojS/w89dQIwFmL4W9Aq/Ov1zPz19sL89sEO/RttaQE+4AsBV77Q/LFHEP5lcqj7/0Pw/3dA5QLBWBcD6GcC+jpQhQLh0BcBQDf89ehKmP4V6McAs0L0+aSg5QM9KwL4bV0pAz4dIQLMI7b8FhPY83F6kP+jmCMDM5dg/fdsPQJ7bDsD/bzFA5dPYP1BW8r++qK++a4gMQCfyeL/jy98/zaJ7QFTair5zmvo/LQdJQJ/rrT2VJjI/DJeZP06wr79DCsU/RtNmQBCM8b8tJFw+fQ2lP9hgy79qcJk/SmS0P7ZQ1r88ucu9N9k8P3uhFMDq8to/sMobQDDAwb9+r5I+aaSWQP20v78d9wdAGpUAP076BcAOUQ2+m9MPQLcV+r/IPvA+Io66PycoAsBt8EY/EDwhQMQW17/kMX8/vQmaP+/B2b/w3zBAYjXJPo9Jl79wMgxAMFDMP2pOgr/UkQVAVBAuQLTk27+iAY8/cTjPP7xDy79JYde+Hfc/QLLtv7+tqwpAV2T4Pg2gGMCFlkI/sP0gQGyVMsA+Ogw/UlcrQM8EQb/ARt8+6ekUQNvfv794Ads/Ptr+P1MRZ7+caQNASs+bP7wMLMBtspM/bItKP9Q6C8AUMl2+/d4UQBEb1L+mcwc/eLwMQNXh475uezVA+d+DQHagBcDyaz+/+1HfPwJYc76N0AdAqKEkQKZM6b9DiwVA6BJsP0lBgL+QNtw/ZEN6QF0VzL9S6ey+7w5BQN2d0b9Z+p490RafQGob3b8Ogsc/IDIGQP8mBcDI/T+/UoHkP/w/D8BJeJ0/TcWBP3uNBsDBIyC+vuYGQO1DxL9JxSJAzWHtPrI0yr8Q6yk/ooz9P8celDtljBZAiSCIQB5Tl7/S2hM/kI6JQFO9i7/CqNI/CiKGQO42l7/eTAA/xvWGQLyJj78+qMg/5YA5QNoPyb/85OI/PBf3P+eEbjyC0QNAE22MQEBXVb9WROY/Hn5rQIURIL5nWjFAuD59QHaKBMBxL4A/ksr1Pz8HAcBo+rg/tdXEP6nRsr9K45y7ZsxjQNNQn772IZE/Yf/+P+m1+b/+ajBAi9TcP4Gu3786K7o/R/IMQNj+I7/qSps/+nF9QOOKxb0dcpU/b7TeP/mgJ79RVZs/1A5/QF0Syb9P0Z0/bTqqPxuKBcD1EN6+2Cw2QJaTsr+x70u/g4ZZQF24CcDjr+s+rlA4QH6QMcC4UTo9VEkVQFsLlj5XRgtAgjZNQBpDK7+4X5s/11WAQDVVD8C7NZo/6DB7PxvTCMAXFwS/meryP9pAtb95xQq/C50xQAgYPr/5C05AhHElQBKnlz67cCBA6jRjQHFffb9GB5U/wbpsQDGOBsAlTv2+w6TwP3FIkr+tdw1ANS/bPztHar98kpM/m6xaQDgy3r7gxkRAjA4iQJfGAcDpP0k/AsA4QEZPF79m7DtADQ41QJRJ67+sFIO+XT6CQHYNv7/wLLo++b+PQKLHEr+z5zdA1Uo1QLOLP8DG+T4/jdEoQAPWMsCAsbg/gjypPxtBzr+HL8k9qNyfQJF547/vKK09tXNlP0+Qyz74Dg9AQnxLQIk7E8CbHNk/cKgcQHR1578DH58+QXyRQPQ5rL/FJcK+M0CQQJtbCsCsCDK+RrwVQAnh6b/gXAdAR+psP1d78L9ynYG+7haCQEGJ37+j6tk/YKUkQGnbBMDVZ1M/NWchQHUL7T71gbk/7xwuQHS177+KpJ++4egKQCMFEcCslEA+vBY+QJrIAcA7/gm+bBkLQClR+b85mTFAnHbXP0bQsL94YwxAwzYtPzVim7/CVb0+t0NnQKsd5b9Q+lM91KZsP9DgL8BaHr4+tzU4QNmbQcD+83w/g8PIP23uLsBY0zQ/dAKeP1eJ279mtL0/COUNQHq5ar/ZcB4/dwN5QJwguL9PW149Nm5eQK224b+Lkga91omJQBSaHj7+Fi5AVhqFQNxuS7+13DFAtZdCQIqNsr/DTCW9qp6SQOr83r9+sQhAjOOrPlWtC8Butd4/DeOHQE0mIcClKZ8/KeqvP/j+v7/EA9E/jtX0PzpoJT5kijBAYeOPQCOHvb/59es/qYMbQHDN1r/OryZAz4/nPwLuKb8NSANA92omQOhzm78Yef4/03QhQLrqF8ANSa6+jyMKQBUbYb8wK7k/I75fQGdNm78ZcNQ/hxvfPxps5T34MDFA9DaFQJJbp78Qyfk/2qFSQDesub/4Fpw+9X6NQJWgRr89zx4/5qB/QBQpEcCGiWa7DGpGP83jyL/vkAe/4O5YQGCrUsDUULY+ODcLQFgC3r8vBS1AzpAYQGKo9L+gyExA0bEFQAYvQMC56zU/IgMnQLTX5L/Soz9AxSz4P8ZX7L8BXvo+F3y3P1pqAr+QnA1A0X2CQPYuyb9I59g/ixLtP1GaH8BwqxC/oOEOQIVxsr/92xq94I2QQBrQJsCemXI/D+KnPx7SA8BAsqE/db6CQI7l9b8Qscs+G2jEP0UjDb8xp8s/vfvrP0QZEL8wu40+vOYvP4HeEsBdWH0/kwpjQM539r4j5kpAfoNcQFOjtb8Bqa0+28+RQHXs7r/9wa0/qceuPzQj3b8l2y5Ae3W0PsnP0r/yk7e9HbA9P7K3jj7EhRRA5tAoQGzRCMDhPDk/QnAOQDL1Sb+/254+LC8BQCFb3r6S80tARrpHQIA+qb/o+7q+ipCQQOVxDcA3ZJo/lYkKQLzrDL8NUiM/ueNDQM0x3b/BSSW8ZPOHQJzL17/U76E/QvcXQGxfKcC6fZ0/WyGKP0y+P7+lIk5Ak9kiQE1Bmr9fNVw/r2cNQPQv3b9LCOY+wOQLQPVJ3b+nFAVAj8KpPmY21L8Dd30/dAiVPz8fCMBqskk+pm6RQExkkb6haUBASR8nQE4m4b9Nx0y+/GyqP5oGwjxBlQRANzqNQB2PRMBJn7k/j2ueP//N3b/t/Ys/WA7OP9uXjb8zRNg/os5jQAA3Cr9lEa8+L9xHQGGXIcBrRpQ/0Ji2P7lrnb9uVt8+jlwLQNF82r/SXkI/cjZJQD6cRMDg+MA/dtucP9qX+L/jC0tAFeMFQPNl6L/4mtg/iJAVQOtO6r8aB9Q/+PoFQBdWO77mVDNAwA96QL7+R8DgUA8/KlYTQHvbAr4VFlg+w+YZQPcJJMDgEzQ/WyYuQPk1/b/7CBdAkt0EQDKpCsDJ7dk/GieIQEjh5b+fUkI/zsyTP56DkL9h29Q/AUaGQAMDgr67plZAbuMxQN72B7/KHQ5AceuBQORvVDystRRAGQCHQBRCsL8Kk48+2I6PQODU1b8aEga/+fwLQE0uf78XscY/CZitP/s1jL36GCpAOu0lQEjO57+S8ydAepF8P66zm750Oh1AL7GAQDqtBsAWvba+xikiQMoYJ8Dd6Jk/H5GJP9G07b8bBSA/wpfkP3eB4L9UcCw/w6DeP59o+L84TLe+R+hIQP8vMsCSXVA9FPAYQM9u878kL9c/sFmBQGBe57/07B5AnBrzP6Jih78QS+Y/63svQIkqAMALT6A/g6ODQPEaMMD0PRc/LFQtQHqX6r+rPm2+oS6BQJhUkr/BpZY+johrQIQPDMBzJds/vqGHQBNefb9Gjow/zlxzQAew2L8WhitADijfPwxDpr8L0rO+4uCQQIafk7+m1ao+1rhgQD3J7782UGq+MgeBQGpXHcCF2Fc/9/MZQPImJL7hfmk/OFTSP8OnM8CxW7Q/366sP+UGCcAqB/M+WFg8QPNnW79HQPQ/sc7SPxnb3r+4tS1ABbYGQGsOA79n5XU/i1/lP4F3V75BGkNALokqQJU+pb9sz/w/5vlSQNV1DcAeXdw/YxyHQLsumL61hX4/mRTFP3+08r9UiL6+qkgKQNZR/r/58II+CiiZP26+27+4WIE/mwiXPwi73b8IJS9AiFTJPpFdFD7wTx5AUtxgQDcBCMBQ/Pc9b5OfP38L47/Lpdo/jAIVQBnA/75Ip+4/JjNeQNZsLcDYjzI/OjScP0eoAMBBe0I/RkEbQJXOtL/N4w+/k+4yQGODDb8Enw5AEVmBQDabR7+cWug/QqizP/1k5r76kExAtrpcQDRc07/SDUw/HYZDQH5nBcBbYdI9+NSgP66EsL/VBka/ixRZQG6+FcDIXbq+5t8IQM/nlr+43wNAsbdvPx0jvL8ssek/+MscQDDu0L+dMJ8/6FO2P3caTL9b11M/azVmQN079r/LuKe+ChFHQJPD0L/xwCpA6IzvPygeAsCJgmA/LzwdQGxfAMD0YtA/kzBtQObhEL9pWDpA1t02QAs1FsCDqau+0X8MQNaj17+/5wC/jxIOQFjyBsCk4tI/jhESQBBbir5HdQBAZWEmQOGxp7/d4ko/a0VQQK8Wjr9DYdk/j59mQB5JEcBjfnk/ReBkQHLV6b8ltrQ8jZOfP5wn6L9I0NU+EFbBP29vlr6NzldAZvEuQOzb6r+N3T9APY/yPz9D0b/kIB5AUhJbP3oQL78qMzw/0vgMQC1Yrr/S08I/5o5kQPArnL9XKQBAFttAQLJM4L7oRzdAZv2DQJyv7b8c+fc+FO8SQAgk/r/t4xVAdnYDQORu775w8EFAIhokQMbPM8AJO6c+eScYQA==";;renderer=new THREE.WebGLRenderer({antialias:true});renderer.setPixelRatio(window.devicePixelRatio);renderer.setSize(window.innerWidth,window.innerHeight);document.body.appendChild(renderer.domElement);loader=new THREE.GLTFLoader();loader.load("data:text/plain;base64,"+base64_data,function(gltf){scene.add(gltf.scene);camera=gltf.cameras[0];controls=new THREE.TrackballControls(camera);controls.rotateSpeed=1.0;controls.zoomSpeed=1.2;controls.panSpeed=0.8;controls.noZoom=false;controls.noPan=false;controls.staticMoving=true;controls.dynamicDampingFactor=0.3;controls.keys=[65,83,68];controls.addEventListener("change",render);centerControls(scene,camera,controls);render();window.addEventListener("resize",onWindowResize,false);animate();});}\n", "function onWindowResize(){camera.aspect=window.innerWidth/window.innerHeight;camera.updateProjectionMatrix();renderer.setSize(window.innerWidth,window.innerHeight);controls.handleResize();render();}\n", "function animate(){requestAnimationFrame(animate);controls.update();}\n", "function render(){tracklight.position.copy(camera.position);renderer.render(scene,camera);}\n", @@ -600,7 +862,7 @@ "" ] }, - "execution_count": 16, + "execution_count": 248, "metadata": {}, "output_type": "execute_result" } @@ -614,6 +876,20 @@ "scene = trimesh.Scene([m])\n", "scene.show()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/cage.py b/cage.py index 5b273c2..e5820c3 100644 --- a/cage.py +++ b/cage.py @@ -61,7 +61,12 @@ class Cage(object): # I'm sure it has a pattern I can factor out, but I've not tried # yet. cages = [Cage(numpy.array(a), self.splits) for a in arrs] - return cages + trans_verts = numpy.zeros((2*len(self.verts),3), dtype=self.verts.dtype) + for i,(v,m) in enumerate(zip(self.verts, mids)): + trans_verts[2*i] = v + trans_verts[2*i+1] = m + trans_edges = [[7, 0, 1], [1, 2, 3], [3, 4, 5], [5, 6, 7]] + return cages, trans_verts, trans_edges def is_fork(self): return False def transform(self, xform): @@ -174,6 +179,7 @@ class CageFork(object): return True def transition_from(self, cage): """Generate a transitional mesh to adapt the given starting Cage""" + print("DEBUG: Transition from {} to {}".format(cage.verts, self.verts)) vs = numpy.concatenate([cage.verts, self.verts]) # Indices 0...offset-1 are from cage, rest are from self.verts offset = cage.verts.shape[0] @@ -228,7 +234,7 @@ class CageGen(object): # from them, depth-first: if cage_cur.is_fork(): # First, transition the cage properly: - + mesh_trans = cage_cur.transition_from(cage_last) # TODO: Clean up these recursive calls; parameters are ugly. # Some of them also make no sense in certain combinations # (e.g. loop with fork) @@ -237,10 +243,6 @@ class CageGen(object): close_first=False, close_last=close_last, join_fn=join_fn) meshes.append(m) - # TODO: This has bugs that produce non-manifold geometry. - # Whatever the next generator *starts* with, I may need - # to subdivide where I *end*: all of their edges must be - # shared (not just incident). # A fork can be only the final element, so disregard anything # after one and just quit: break diff --git a/examples.py b/examples.py index 463747f..0d9d7f0 100755 --- a/examples.py +++ b/examples.py @@ -163,21 +163,24 @@ def ram_horn_branch(): elif i == 3: dx, dy = 1, -1 return meshutil.Transform().rotate([-dy,dx,0], -numpy.pi/6) - # this has to begin with cage_sub, prior to xf_sub(i) being - # composed in, because only this lines up with where the last - # frame finished + subdiv, trans_vs, trans_es = cage1.subdivide_deprecated() gens = [cage.CageGen(itertools.chain( - [cage_sub.transform(xf0)], - recur(xf_sub(i).compose(xf0), cage_sub, 8))) + #[cage_sub.transform(xf0)], + recur(xf_sub(i).compose(xf0), cage_sub, 4))) for i,cage_sub in - enumerate(cage1.subdivide_deprecated())] - yield cage.CageFork(gens) + enumerate(subdiv)] + yield cage.CageFork(gens, xf0.apply_to(trans_vs), trans_es) + # TODO: Figure out why this has a large gap now + # I seem to be producing a transition mesh that is degenerate, + # which means the starting cage and subdivided cage are lying right + # on top of each other. Starting cage looks okay, so subdivided + # cage is probably what is wrong. cg = cage.CageGen(itertools.chain( [cage0], - recur(meshutil.Transform(), cage0, 8), + recur(meshutil.Transform(), cage0, 4), )) # TODO: if this is just a list it seems silly to require itertools - mesh = cg.to_mesh(count=32, close_first=True, close_last=True) + mesh = cg.to_mesh(count=8, close_first=True, close_last=True) return mesh def branch_test():