From marten@bx.psu.edu Mon Dec 14 16:41:02 2015 From: Martin =?utf-8?q?=C4=8Cech?= To: galaxy-dev@lists.galaxyproject.org Subject: Re: [galaxy-dev] How does one run Javascript or HTML as a tool? the complete message ignore previous Date: Mon, 14 Dec 2015 21:40:46 +0000 Message-ID: In-Reply-To: <2019633671.1996864.1450127685180.JavaMail.zimbra@comcast.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3062877922012358338==" --===============3062877922012358338== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi all, I transformed the awesome tutorial Carl wrote into a wiki page here: https://wiki.galaxyproject.org/Develop/Visualizations Please contribute if you feel like it. M. On Mon, Dec 14, 2015 at 4:17 PM wrote: > Thank you Carl for the excellent write-up. It could serve as a > visualization plugin tutorial. > > However, I am still not able to get the visualization icon to appear, see > the attachment 2. > > I feel if I get the icon to show it will all come together. > > A couple questions followed by file dumps and startup info > > *1. my /api/datatypes/mapping dump it shows registry instead of binary* > > *near the top* > > "galaxy.datatypes.genetics.RexpBase": {"galaxy.datatypes.images.Html": > true, "galaxy.datatypes.data.Data": true, "galaxy.datatypes.data.Text": > true, "galaxy.datatypes.genetics.RexpBase": true}, "galaxy.datatypes. > *registry*.MDA_zip": {"galaxy.datatypes.*registry*.Binary": true, > "galaxy.datatypes.data.Data": true, "galaxy.datatypes.binary.Binary": true, > "galaxy.datatypes.*registry*.MDA_zip": true}, > > *near the bottom in lower case* > > "galaxy.datatypes.registry.Text", "mda_zip": > "galaxy.datatypes.registry.MDA_zip", "chips": > "galaxy.datatypes.registry.Text", "gg": > "galaxy.datatypes.genetics.GenomeGraphs", "syco": > "galaxy.datatypes.registry.Text", > > > > 2. I also added a snapshot of the visualization/tool/ sub-directories. > It shows my extension because I have a format=3Dtype in the tool.xml output > file defition but shows file type 'binary' at the bottom of the file > history. Is this correct, or should it be my extension type there? > > Comment -- It appears the only link between the file extension and the > visualization plugin is via the test line in the /conf/toolxml file. Is > that correct? > > > > > *My xml in my visualize directory /tool/config/tool.xml (formatting is > messed up here) attachment 1* > > > > > > > > > > > > > HistoryDatasetAssociation > > result_type=3D"datatype">binary.MDA_zip > > param_attr=3D"id">dataset_id > > > > > > > > var_name_in_template=3D"hda" required=3D"true">dataset_id > > > > entry_point_type=3D"mako">MDAheatmap.mako > > > > > > *My templates/tool.mako file (hello world)* > > > > > > > > > > A Small Hello > > > > > > > >

Hi

> >

This is very minimal "hello world" HTML document.

> > > > > > *startup info seems successful* > > galaxy.web.base.pluginframework INFO 2015-12-14 13:20:09,631 > VisualizationsRegistry, loaded plugin: MDAheatmap > > x.x.10.42 - - [14/Dec/2015:14:11:50 -0400] "PUT > /api/histories/a799d38679e985db/contents/datasets/fb85969571388350 > HTTP/1.1" 200 - "http://xx.xx.10.4:8082/" "Mozilla/5.0 (Macintosh; Intel > Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 > Safari/537.36" > > *no skipping error and no other apparent errors in startup* > > > > *here is my Datatypes.conf.xml 2 additions* > > mimetype=3D"application/octet-stream" display_in_upload=3D"true" > subclass=3D"False"> > > *and sniffer* > > > > > > *my binary.py addition* > > class MDA_zip( Binary ): > > """Class describing an MDA Heatmap binary zip file""" > > file_ext =3D "MDA_zip" > > def set_peek( self, dataset, is_multi_byte=3DFalse ): > > if not dataset.dataset.purged: > > dataset.peek =3D "Binary MDA_zip sequence file" > > dataset.blurb =3D nice_size( dataset.get_size() ) > > else: > > dataset.peek =3D 'file MDA_zip does not exist' > > dataset.blurb =3D 'file MDA_zip purged from disk' > > def display_peek( self, dataset ): > > try: > > return dataset.peek > > except: > > return "Binary MDA_zip heatmap file (%s)" % ( nice_size( > dataset.get_size() ) ) > > > > Binary.register_sniffable_binary_format("MDA_zip","MDA_zip",MDA_zip) > > > > *my dataset.py addition* > > class MDA_zipDataProvider( base.DataProvider ): > > def __init__( self, dataset, **kwards ): > > self.dataset =3D json.loads( "".join( dataset.readlines() )) > > """ > > def __init__( self, dataset, **kwards ): > > raise NotImplementedError() > > super( MDA_zipDataProvider, self ).__init__( dataset, **kwargs ) > > *My tool in tools dir* > > > > > > > > Display HeatMap generated by MDAnderson HeatMap > tools > > MDAheatmap.py $input $out_file > > > > help=3D"input any file and a MDA zipped file pulled off disk"/> > > > > > > > > > > > > > > > ----- Original Message ----- > From: Carl Eberhard > To: rbrown1422(a)comcast.net > Cc: Eric Rasche , galaxy-dev > Sent: Mon, 14 Dec 2015 16:40:34 -0000 (UTC) > Subject: Re: [galaxy-dev] How does one run Javascript or HTML as a tool? > the complete message ignore previous > Hi, Bob > There are a number of ways to visualize data in Galaxy, so let's settle on > some terminology first for the three major ways: > * *display applications*: these are definitions of external websites that > can fetch galaxy datasets and display them in their visualization > applications. Examples are the UCSC genome browser, GBrowse, and IGV. > * *tools*: although the tool framework generally produces 'raw' data like > tabular or binary files, it can also produce the html (and js even) that > can display data for visualization. An example would be 'Boxplot of quality > statistics'. > * *visualization plugins*: these are python/mako/js files that are meant > to be more interactive visualizations in order to explore data > It sounds to me like you'd like to use the visualization plugin system, so: > * since they're for external code or websites, *let's take display > applications off the table entirely*. > * since they can be a viable alternative to the plugin system, so *I'd > keep tools as another option but keep our focus on the plugin system* > It also sounds like you have two elements you'd like to incorporate: > * a *datatype* > * a *plugin* to display datasets of that datatype > *The datatype* > I'm more familiar with the plugin part of this process, but for the > datatype it sounds like you want to subclass the binary datatype and add it > to your galaxy installation. I'd start here (I imagine you've already seen > it, tho): > * https://wiki.galaxyproject.org/Admin/Datatypes > * https://wiki.galaxyproject.org/Admin/Datatypes/Adding%20Datatypes > Note: to see if your datatype was loaded successfully, with your server > running - you can go to: /api/datatypes/mapping. You should be able to see > your datatype listed at the first level of the json map, generally > beginning with 'galaxy.datatypes.' and the python module name you added it > to (like a python import namespace): e.g. galaxy.datatypes.binary.H5 or > galaxy.datatypes.binary.mydatatype > To simplify: > 1. Add a definition to your datatypes_conf file > 2. Add a sniffer for your datatype > 3. Add a subclass/class for your datatype > *The plugin* > For the plugin, I also imagine you've seen this, but it's a (hopefully) > good place to start: > https://wiki.galaxyproject.org/VisualizationsRegistry > *The filesystem layout* > Here's a simplified process for creating an outline for a visualization > plugin project: > 1. in the filesystem, start at * galaxy>/config/plugins/visualizations* > 2. *think of an id for your plugin*. This can be any (filesystem > permissible) file name and is only used as an id by the registry - the > users never see it. It should be unique from any other plugins in that > directory. (e.g. myplugin) > 3. *create a main directory using your id*. (e.g. galaxy>/config/plugins/visualizations/myplugin) > 4. inside that directory, *create three more directories: config, > templates, static*. This is where the plugin configuration, the mako > templates, and any (optional) javascript or static files are kept > respectively. > 5. *the configuration file should use the same id* you used above for the > directory: e.g. config/myplugin.xml. Most people copy and rename a simple > config file like the one in > config/plugins/visualizations/scatterplot/config/scatterplot.xml. We'll > change the datatype it applies to later, but there's more at: > https://wiki.galaxyproject.org/VisualizationsRegistry#The_visualization_con= figuration_file > and https://wiki.galaxyproject.org/VisualizationsRegistry/Configuration > 6. *a mako template file should go into the templates directory*: e.g. > templates/myplugin.mako. This template file is the entry point for your > visualization and is loaded first. You don't have to do any major coding > here and can instead just launch javascript to render the visualization. > https://wiki.galaxyproject.org/VisualizationsRegistry#Creating_the_code_and= _markup_for_your_visualization > At this point, your config/plugins/visualizations/myplugin directory > should look like one of the two trees displayed here: > > https://wiki.galaxyproject.org/VisualizationsRegistry#Configuring_your_visu= alization_plugin_in_the_.60visualization_plugins_directory.60 > *The configuration* > Now, we'll configure the plugin by editing the > config/plugins/visualizations/myplugin/config/myplugin.xml file. Let's > assume you've copied the scatterplot config file ( > https://github.com/galaxyproject/galaxy/blob/dev/config/plugins/visualizati= ons/scatterplot/config/scatterplot.xml > ): > 1. change the name displayed to what you'd like users to see in the > dataset visualizations dropdown menu: > l > 2. change the configuration for your visualization to test for your > datatype. For example, if you have mydatatype, change: > > > HistoryDatasetAssociation > result_type=3D"datatype">*binary.MyDatatype* > dataset_id > > > > The above is basically saying, if an object is a) a > HistoryDatasetAssociation (a dataset in a history) and b) it's a subclass > or instance of binary.MyDatatype, then put a link: > * in the dataset visualization dropdown menu > * that will start my visualization > * pass the encoded id of the dataset in the link using the parameter > 'dataset_id' > Note: the 'binary.MyDatatype' is essentially 'module.class' and is also > the last half of the id given in the 'api/datatypes/mapping' mentioned > previously. > 3. change the template used as the entry point to reflect the name you > gave it: > *myplugin.mako* > *Testing and troubleshooting* > Finally, you should be at a spot that: > * your visualization will appear in the visualization dropdown menu of > datasets that are of the mydatatype class > * if that menu link is clicked, galaxy will go to visualization/show/ plugin id>. E.g. /visualization/show/myplugin?dataset_id=3D0b1d0715f8366ea8 > * whatever code is in myplugin.mako will be executed (you should be able > to use print in python or alert in javascript to test) > *Troubleshooting* > * If your server is running when you've made changes to your config file, > you'll need to restart it (changes to mako and static files do not need a > restart) > * Make sure your id is used in the proper places above and that they all > match > * If galaxy is trying to load or loading your visualization plugin, you > should see an entry like this in your server logs: > galaxy.web.base.pluginframework INFO 2015-12-14 08:46:44,788 > VisualizationsRegistry, loaded plugin: myplugin > * errors will also display there > * it can help to change 'debug =3D True' in your config/galaxy.ini file > (only do this on a separate development server - not you public shared > instances) > I know that's a lot of info, so let me know if I can add or clarify on any > of it. > Carl > > On Sat, Dec 12, 2015 at 9:57 AM, wrote: > >> Thank you Eric, >> But I want to be clear after spending 5 days, reading many Galaxy wiki >> links, looking at samples, and with help from others trying to get this to >> work. I have written many tools but never tried to display a unique >> datatype before. >> Below is a series of questions and steps I followed trying the >> suggestions from early posts. >> My goals are: >> -- To get the visualization icon to show in the bottom left of my >> history output file? >> -- click the visualization icon to display my data (that I will process >> to display) inside Galaxy. >> The steps below are in order of urgency:) >> Thank you for you patience. >> 1. /Config/plugin/visualization is where code goes to have a Galaxy >> *internal* module display a user defined data type? -- mine is binary >> Without getting to in the weeds under this directory I have a mydatatype >> dir with subdirectories /config w xml, /static w .js, /templates w mako >> made of html >> 2. Under /lib/galaxy/datatypes/display_applications I tried the same >> approach with no success. Is this where code goes for external displays >> that use get and post reside? >> 3. which if any of 1or2 above use the Tools/Visualization directory. Is >> that the convention for the return of a Get or Post external displays? >> 4. I create my own datatype in data_config_type.xml with a >> tag >> 5. in data_config_type.xml you only use the record which -- >> internal or external displays? >> 6. I added a class in the binary.py file with the name of my new >> datatype. >> 7. I added a tool.mydatatype section and file with my xml to input and >> then output my datatype by specifying format=3Dmydatatype not >> format=3Dbinary.mydatatype Plus I added this into Tools_conf.xml Are >> there other xml specific items I need in my tool xml for an internal >> visualization >> 8. By clicking the visualization icon. what does it call (hopefully 1or2 >> above) so i can add specific code to display my datatype internal >> "visualization?" (preferred) in galaxy? >> ----- Original Message ----- >> From: Eric Rasche >> To: rbrown1422(a)comcast.net >> Cc: galaxy-dev >> Sent: Tue, 08 Dec 2015 02:34:47 -0000 (UTC) >> Subject: Re: [galaxy-dev] How does one run Javascript or HTML as a tool? >> Hi Bob, >> >> Yes, galaxy supports output formats of HTML+JS, though the tool producing >> them may need to be whitelisted (grep for 'whitelist' in your galaxy.ini) >> for display to work properly. >> >> If you wish to write your own visualization plugin for a specific >> datatype, there are assorted pieces of documentation on the wiki >> >> that might help you (though I usually just look at one of the other >> existing visualization plugins and copy+paste). >> >> Cheers, >> >> Eric >> >> 2015-12-07 20:08 GMT-06:00 : >> >>> Good evening Galaxy team, >>> Is it possible to run JavaScript or HTML as a tool or a display module? >>> I see support for URLs, e.g. UCSC Genome Browser, but I would like to >>> process a specific datatype to allow it to be viewed in Galaxy -- but the >>> application is a combination of HTML and JavaScript. >>> Does Galaxy support this? >>> Thank you, >>> Bob >>> >>> ___________________________________________________________ >>> >>> Please keep all replies on the list by using "reply all" >>> >>> in your mail client. To manage your subscriptions to this >>> >>> and other Galaxy lists, please use the interface at: >>> >>> https://lists.galaxyproject.org/ >>> >>> To search Galaxy mailing lists use the unified search at: >>> >>> http://galaxyproject.org/search/mailinglists/ >> >> >> >> >> -- >> Eric Rasche >> Programmer II >> Center for Phage Technology >> Rm 312A, BioBio >> Texas A&M University >> College Station, TX 77843 >> 404-692-2048 >> esr(a)tamu.edu >> >> ___________________________________________________________ >> >> Please keep all replies on the list by using "reply all" >> >> in your mail client. To manage your subscriptions to this >> >> and other Galaxy lists, please use the interface at: >> >> https://lists.galaxyproject.org/ >> >> To search Galaxy mailing lists use the unified search at: >> >> http://galaxyproject.org/search/mailinglists/ > > ___________________________________________________________ > Please keep all replies on the list by using "reply all" > in your mail client. To manage your subscriptions to this > and other Galaxy lists, please use the interface at: > https://lists.galaxyproject.org/ > > To search Galaxy mailing lists use the unified search at: > http://galaxyproject.org/search/mailinglists/ --===============3062877922012358338== Content-Type: text/html Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.htm" MIME-Version: 1.0 PGRpdiBkaXI9Imx0ciI+PGRpdj5IaSBhbGwsPC9kaXY+PGRpdj48c3BhbiBzdHlsZT0ibGluZS1o ZWlnaHQ6MS41Ij5JIHRyYW5zZm9ybWVkIHRoZSBhd2Vzb21lIHR1dG9yaWFsIENhcmwgd3JvdGUg aW50byBhIHdpa2kgcGFnZSBoZXJlOsKgPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vd2lraS5nYWxh eHlwcm9qZWN0Lm9yZy9EZXZlbG9wL1Zpc3VhbGl6YXRpb25zIiBzdHlsZT0ibGluZS1oZWlnaHQ6 MS41Ij5odHRwczovL3dpa2kuZ2FsYXh5cHJvamVjdC5vcmcvRGV2ZWxvcC9WaXN1YWxpemF0aW9u czwvYT48YnI+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6MS41Ij5QbGVhc2Ug Y29udHJpYnV0ZSBpZiB5b3UgZmVlbCBsaWtlIGl0Ljwvc3Bhbj48YnI+PC9kaXY+PGRpdj48c3Bh biBzdHlsZT0ibGluZS1oZWlnaHQ6MS41Ij48YnI+PC9zcGFuPjwvZGl2PjxkaXY+TS48L2Rpdj48 YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPjxkaXYgZGlyPSJsdHIiPk9uIE1vbiwgRGVjIDE0 LCAyMDE1IGF0IDQ6MTcgUE0gJmx0OzxhIGhyZWY9Im1haWx0bzpyYnJvd24xNDIyQGNvbWNhc3Qu bmV0Ij5yYnJvd24xNDIyQGNvbWNhc3QubmV0PC9hPiZndDsgd3JvdGU6PGJyPjwvZGl2PjxibG9j a3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRl ci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxkaXY+CjxwPjxzcGFuIHN0 eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPlRo YW5rIHlvdSBDYXJsIGZvciB0aGUgZXhjZWxsZW50IHdyaXRlLXVwLsKgIEl0IGNvdWxkIHNlcnZl IGFzIGEgdmlzdWFsaXphdGlvbiBwbHVnaW4gdHV0b3JpYWwuPC9zcGFuPjwvcD4KPHA+PHNwYW4g c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+ SG93ZXZlciwgSSBhbSBzdGlsbCBub3QgYWJsZSB0byBnZXQgdGhlIHZpc3VhbGl6YXRpb24gaWNv biB0byBhcHBlYXIsIHNlZSB0aGUgYXR0YWNobWVudCAyLsKgIDwvc3Bhbj48L3A+CjxwPjxzcGFu IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2si PkkgZmVlbCBpZiBJIGdldCB0aGUgaWNvbiB0byBzaG93IGl0IHdpbGwgYWxsIGNvbWUgdG9nZXRo ZXIuPC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+QSBjb3VwbGUgcXVlc3Rpb25zIGZvbGxvd2VkIGJ5IGZp bGUgZHVtcHMgYW5kIHN0YXJ0dXAgaW5mbzwvc3Bhbj48L3A+CjxwPjxiPjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPjEuIG15wqDC oCAvYXBpL2RhdGF0eXBlcy9tYXBwaW5nIGR1bXDCoMKgIGl0IHNob3dzIHJlZ2lzdHJ5IGluc3Rl YWQgb2YgYmluYXJ5PC9zcGFuPjwvYj48L3A+CjxwPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPm5lYXIgdGhlIHRvcDwvc3Bh bj48L2I+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpD YWxpYnJpO2NvbG9yOmJsYWNrIj4mcXVvdDtnYWxheHkuZGF0YXR5cGVzLmdlbmV0aWNzLlJleHBC YXNlJnF1b3Q7OiB7JnF1b3Q7Z2FsYXh5LmRhdGF0eXBlcy5pbWFnZXMuSHRtbCZxdW90OzogdHJ1 ZSwgJnF1b3Q7Z2FsYXh5LmRhdGF0eXBlcy5kYXRhLkRhdGEmcXVvdDs6IHRydWUsICZxdW90O2dh bGF4eS5kYXRhdHlwZXMuZGF0YS5UZXh0JnF1b3Q7OiB0cnVlLCAmcXVvdDtnYWxheHkuZGF0YXR5 cGVzLmdlbmV0aWNzLlJleHBCYXNlJnF1b3Q7OiB0cnVlfSwgJnF1b3Q7Z2FsYXh5LmRhdGF0eXBl cy48Yj5yZWdpc3RyeTwvYj4uPHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6eWVsbG93Ij5NREFfemlw PC9zcGFuPiZxdW90OzogeyZxdW90O2dhbGF4eS5kYXRhdHlwZXMuPGI+cmVnaXN0cnk8L2I+LkJp bmFyeSZxdW90OzogdHJ1ZSwgJnF1b3Q7Z2FsYXh5LmRhdGF0eXBlcy5kYXRhLkRhdGEmcXVvdDs6 IHRydWUsICZxdW90O2dhbGF4eS5kYXRhdHlwZXMuYmluYXJ5LkJpbmFyeSZxdW90OzogdHJ1ZSwg JnF1b3Q7Z2FsYXh5LmRhdGF0eXBlcy48Yj5yZWdpc3RyeTwvYj4uPHNwYW4gc3R5bGU9ImJhY2tn cm91bmQ6eWVsbG93Ij5NREFfemlwPC9zcGFuPiZxdW90OzogdHJ1ZX0sPC9zcGFuPjwvcD4KPHA+ PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xv cjpibGFjayI+bmVhciB0aGUgYm90dG9tIGluIGxvd2VyIGNhc2U8L3NwYW4+PC9iPjwvcD4KPHA+ PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q291cmllciI+JnF1b3Q7 Z2FsYXh5LmRhdGF0eXBlcy5yZWdpc3RyeS5UZXh0JnF1b3Q7LCA8c3BhbiBzdHlsZT0iYmFja2dy b3VuZDp5ZWxsb3ciPiZxdW90O21kYV96aXAmcXVvdDs6PC9zcGFuPiAmcXVvdDtnYWxheHkuZGF0 YXR5cGVzLnJlZ2lzdHJ5Lk1EQV96aXAmcXVvdDssICZxdW90O2NoaXBzJnF1b3Q7OiAmcXVvdDtn YWxheHkuZGF0YXR5cGVzLnJlZ2lzdHJ5LlRleHQmcXVvdDssICZxdW90O2dnJnF1b3Q7OiAmcXVv dDtnYWxheHkuZGF0YXR5cGVzLmdlbmV0aWNzLkdlbm9tZUdyYXBocyZxdW90OywgJnF1b3Q7c3lj byZxdW90OzogJnF1b3Q7Z2FsYXh5LmRhdGF0eXBlcy5yZWdpc3RyeS5UZXh0JnF1b3Q7LCA8L3Nw YW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxp YnJpO2NvbG9yOmJsYWNrIj7CoDwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPjIuIEkgYWxzbyBhZGRlZCBh IHNuYXBzaG90IG9mIHRoZSB2aXN1YWxpemF0aW9uL3Rvb2wvIHN1Yi1kaXJlY3Rvcmllcy7CoMKg IEl0IHNob3dzIG15IGV4dGVuc2lvbiBiZWNhdXNlIEkgaGF2ZSBhIGZvcm1hdD10eXBlIGluIHRo ZSB0b29sLnhtbCBvdXRwdXQgZmlsZSBkZWZpdGlvbiBidXQgc2hvd3PCoCBmaWxlIHR5cGUgJiMz OTtiaW5hcnkmIzM5OyBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlIGhpc3RvcnkuwqDCoCBJcyB0 aGlzIGNvcnJlY3QsIG9yIHNob3VsZCBpdCBiZSBteSBleHRlbnNpb24gdHlwZSB0aGVyZT88L3Nw YW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxp YnJpO2NvbG9yOmJsYWNrIj5Db21tZW50IC0tIEl0IGFwcGVhcnMgdGhlIG9ubHkgbGluayBiZXR3 ZWVuIHRoZSBmaWxlIGV4dGVuc2lvbiBhbmQgdGhlIHZpc3VhbGl6YXRpb24gcGx1Z2luIGlzIHZp YSB0aGUgdGVzdCBsaW5lIGluIHRoZSAvY29uZi90b29seG1sIGZpbGUuwqAgSXMgdGhhdCBjb3Jy ZWN0Pzwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt aWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPsKgPC9zcGFuPjwvcD4KPHA+PGI+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+TXkgeG1s IGluIG15IHZpc3VhbGl6ZSBkaXJlY3RvcnkgL3Rvb2wvY29uZmlnL3Rvb2wueG1swqDCoMKgwqAg KGZvcm1hdHRpbmcgaXMgbWVzc2VkIHVwIGhlcmUpIGF0dGFjaG1lbnQgMTxicj48L3NwYW4+PC9i PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJy aTtjb2xvcjpibGFjayI+Jmx0Oz94bWwgdmVyc2lvbj0mcXVvdDsxLjAmcXVvdDsgZW5jb2Rpbmc9 JnF1b3Q7VVRGLTgmcXVvdDsgPyZndDs8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1z aXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj4mbHQ7IURPQ1RZUEUg dmlzdWFsaXphdGlvbiBTWVNURU0gJnF1b3Q7Li4vLi4vdmlzdWFsaXphdGlvbi5kdGQmcXVvdDsm Z3Q7PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+Jmx0O3Zpc3VhbGl6YXRpb24gbmFtZT0mcXVvdDtNREFo ZWF0bWFwJnF1b3Q7Jmd0Ozwvc3Bhbj48L3A+PC9kaXY+PGRpdj4KPHA+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+PHNwYW4+wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPC9zcGFuPiZsdDtkYXRhX3NvdXJjZXMmZ3Q7PC9zcGFu PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJy aTtjb2xvcjpibGFjayI+PHNwYW4+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPC9zcGFuPsKg wqAgJmx0O2RhdGFfc291cmNlJmd0Ozwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNp emU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPjxzcGFuPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgPC9zcGFuPiAmbHQ7bW9kZWxfY2xhc3MmZ3Q7SGlzdG9yeURhdGFz ZXRBc3NvY2lhdGlvbiZsdDsvbW9kZWxfY2xhc3MmZ3Q7PC9zcGFuPjwvcD4KPC9kaXY+PGRpdj48 cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9y OmJsYWNrIj48c3Bhbj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgPC9zcGFuPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOnllbGxvdyI+Jmx0O3Rl c3QgdHlwZT0mcXVvdDtpc2luc3RhbmNlJnF1b3Q7IHRlc3RfYXR0cj0mcXVvdDtkYXRhdHlwZSZx dW90OyByZXN1bHRfdHlwZT0mcXVvdDtkYXRhdHlwZSZxdW90OyZndDtiaW5hcnkuTURBX3ppcCZs dDsvdGVzdCZndDs8L3NwYW4+PC9zcGFuPjwvcD48L2Rpdj48ZGl2Pgo8cD48c3BhbiBzdHlsZT0i Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj48c3Bhbj7C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDwvc3Bhbj7CoMKgICZsdDt0b19wYXJhbSBwYXJhbV9h dHRyPSZxdW90O2lkJnF1b3Q7Jmd0O2RhdGFzZXRfaWQmbHQ7L3RvX3BhcmFtJmd0Ozwvc3Bhbj48 L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7 Y29sb3I6YmxhY2siPjxzcGFuPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCA8L3NwYW4+Jmx0Oy9kYXRhX3NvdXJjZSZndDs8L3NwYW4+PC9wPgo8 cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9y OmJsYWNrIj48c3Bhbj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA8L3NwYW4+Jmx0Oy9kYXRh X3NvdXJjZXMmZ3Q7PC9zcGFuPjwvcD4KPC9kaXY+PGRpdj48cD48c3BhbiBzdHlsZT0iZm9udC1z aXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj48c3Bhbj7CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCA8L3NwYW4+Jmx0O3BhcmFtcyZndDs8L3NwYW4+PC9wPgo8cD48 c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJs YWNrIj48c3Bhbj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDwvc3Bhbj4gJmx0O3BhcmFtIHR5 cGU9JnF1b3Q7ZGF0YXNldCZxdW90OyB2YXJfbmFtZV9pbl90ZW1wbGF0ZT0mcXVvdDtoZGEmcXVv dDsgcmVxdWlyZWQ9JnF1b3Q7dHJ1ZSZxdW90OyZndDtkYXRhc2V0X2lkJmx0Oy9wYXJhbSZndDs8 L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpD YWxpYnJpO2NvbG9yOmJsYWNrIj48c3Bhbj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA8L3Nw YW4+Jmx0Oy9wYXJhbXMmZ3Q7PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox MS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+PHNwYW4+wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgPC9zcGFuPiZsdDtlbnRyeV9wb2ludCBlbnRyeV9wb2ludF90eXBlPSZx dW90O21ha28mcXVvdDsmZ3Q7TURBaGVhdG1hcC5tYWtvJmx0Oy9lbnRyeV9wb2ludCZndDs8L3Nw YW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxp YnJpO2NvbG9yOmJsYWNrIj4mbHQ7L3Zpc3VhbGl6YXRpb24mZ3Q7PC9zcGFuPjwvcD4KPHA+PHNw YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFj ayI+wqA8L3NwYW4+PC9wPgo8cD48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250 LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj5NeSB0ZW1wbGF0ZXMvdG9vbC5tYWtvIGZpbGUg KGhlbGxvIHdvcmxkKTwvc3Bhbj48L2I+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx LjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj48L3NwYW4+PC9wPgo8cD48c3Bh biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNr Ij4mbHQ7IURPQ1RZUEUgaHRtbCBQVUJMSUMgJnF1b3Q7LS8vSUVURi8vRFREIEhUTUwgMi4wLy9F TiZxdW90OyZndDs8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm b250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHls ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj4mbHQ7 SFRNTCZndDs8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250 LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0i Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj7CoMKgICZs dDtIRUFEJmd0Ozwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv bnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxl PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPsKgwqDC oMKgICZsdDtUSVRMRSZndDs8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx LjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj48L3NwYW4+PC9wPgo8cD48c3Bh biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNr Ij7CoMKgwqDCoMKgwqDCoMKgIEEgU21hbGwgSGVsbG88L3NwYW4+PC9wPgo8cD48c3BhbiBzdHls ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj48L3Nw YW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxp YnJpO2NvbG9yOmJsYWNrIj7CoMKgwqDCoCAmbHQ7L1RJVExFJmd0Ozwvc3Bhbj48L3A+CjxwPjxz cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6Ymxh Y2siPjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt aWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPsKgwqAgJmx0Oy9IRUFEJmd0Ozwvc3Bhbj48L3A+Cjxw PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6 YmxhY2siPjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt ZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPiZsdDtCT0RZJmd0Ozwvc3Bhbj48L3A+CjxwPjxz cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6Ymxh Y2siPjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt aWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPsKgwqAgJmx0O0gxJmd0O0hpJmx0Oy9IMSZndDs8L3Nw YW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxp YnJpO2NvbG9yOmJsYWNrIj48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx LjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj7CoMKgICZsdDtQJmd0O1RoaXMg aXMgdmVyeSBtaW5pbWFsICZxdW90O2hlbGxvIHdvcmxkJnF1b3Q7IEhUTUwgZG9jdW1lbnQuJmx0 Oy9QJmd0Ozwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt ZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPiZsdDsvQk9E WSZndDs8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh bWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj48L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj4mbHQ7L0hUTUwm Z3Q7PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+PC9zcGFuPjwvcD4KPHA+PGI+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+c3RhcnR1cCBp bmZvIHNlZW1zIHN1Y2Nlc3NmdWw8L3NwYW4+PC9iPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+Z2FsYXh5LndlYi5i YXNlLnBsdWdpbmZyYW1ld29yayBJTkZPIDIwMTUtMTItMTQgMTM6MjA6MDksNjMxIFZpc3VhbGl6 YXRpb25zUmVnaXN0cnksIGxvYWRlZCBwbHVnaW46IE1EQWhlYXRtYXA8L3NwYW4+PC9wPgo8cD48 c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJs YWNrIj54LnguMTAuNDIgLSAtIFsxNC9EZWMvMjAxNToxNDoxMTo1MCAtMDQwMF0gJnF1b3Q7UFVU IC9hcGkvaGlzdG9yaWVzL2E3OTlkMzg2NzllOTg1ZGIvY29udGVudHMvZGF0YXNldHMvZmI4NTk2 OTU3MTM4ODM1MCBIVFRQLzEuMSZxdW90OyAyMDAgLSAmcXVvdDs8YSBocmVmPSJodHRwOi8veHgu eHguMTAuNDo4MDgyLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly94eC54eC4xMC40OjgwODIvPC9h PiZxdW90OyAmcXVvdDtNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMF85 XzUpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS80Ny4wLjI1 MjYuODAgU2FmYXJpLzUzNy4zNiZxdW90Ozwvc3Bhbj48L3A+CjxwPjxiPjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPm5vIHNraXBw aW5nIGVycm9yIGFuZCBubyBvdGhlciBhcHBhcmVudCBlcnJvcnPCoMKgIGluIHN0YXJ0dXA8L3Nw YW4+PC9iPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6 Q2FsaWJyaTtjb2xvcjpibGFjayI+wqA8L3NwYW4+PC9wPgo8cD48Yj48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj5oZXJlIGlzIG15 IERhdGF0eXBlcy5jb25mLnhtbCAyIGFkZGl0aW9uczwvc3Bhbj48L2I+PC9wPgo8cD48c3BhbiBz dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj7C oMKgICZsdDtkYXRhdHlwZSBleHRlbnNpb249JnF1b3Q7TURBX3ppcCZxdW90OyB0eXBlPSZxdW90 O2dhbGF4eS5kYXRhdHlwZXMuYmluYXJ5Ok1EQV96aXAmcXVvdDsgbWltZXR5cGU9JnF1b3Q7YXBw bGljYXRpb24vb2N0ZXQtc3RyZWFtJnF1b3Q7IGRpc3BsYXlfaW5fdXBsb2FkPSZxdW90O3RydWUm cXVvdDsgc3ViY2xhc3M9JnF1b3Q7RmFsc2UmcXVvdDsmZ3Q7IDwvc3Bhbj48L3A+CjxwPjxiPjxz cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6Ymxh Y2siPmFuZCBzbmlmZmVyPC9zcGFuPjwvYj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPsKgwqAgJmx0O3NuaWZmZXIg dHlwZT0mcXVvdDtnYWxheHkuZGF0YXR5cGVzLmJpbmFyeTpNREFfemlwJnF1b3Q7LyZndDs8L3Nw YW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxp YnJpO2NvbG9yOmJsYWNrIj7CoDwvc3Bhbj48L3A+CjxwPjxiPjxzcGFuIHN0eWxlPSJmb250LXNp emU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPm15IGJpbmFyeS5weSBh ZGRpdGlvbjwvc3Bhbj48L2I+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm b250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj5jbGFzcyBNREFfemlwKCBCaW5hcnkgKTo8 L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpD YWxpYnJpO2NvbG9yOmJsYWNrIj7CoMKgICZxdW90OyZxdW90OyZxdW90O0NsYXNzIGRlc2NyaWJp bmcgYW4gTURBIEhlYXRtYXAgYmluYXJ5IHppcCBmaWxlJnF1b3Q7JnF1b3Q7JnF1b3Q7PC9zcGFu PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJy aTtjb2xvcjpibGFjayI+wqDCoCBmaWxlX2V4dCA9ICZxdW90O01EQV96aXAmcXVvdDs8L3NwYW4+ PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJp O2NvbG9yOmJsYWNrIj7CoMKgIGRlZiBzZXRfcGVlayggc2VsZiwgZGF0YXNldCwgaXNfbXVsdGlf Ynl0ZT1GYWxzZSApOjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0 O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPsKgwqDCoMKgwqDCoCBpZiBub3QgZGF0 YXNldC5kYXRhc2V0LnB1cmdlZDo8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXpl OjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj7CoMKgwqDCoMKgwqDCoMKg wqDCoCBkYXRhc2V0LnBlZWsgPSAmcXVvdDtCaW5hcnkgTURBX3ppcCBzZXF1ZW5jZSBmaWxlJnF1 b3Q7PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+wqDCoMKgwqDCoMKgwqDCoMKgwqAgZGF0YXNldC5ibHVy YiA9IG5pY2Vfc2l6ZSggZGF0YXNldC5nZXRfc2l6ZSgpICk8L3NwYW4+PC9wPgo8cD48c3BhbiBz dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj7C oMKgwqDCoMKgwqAgZWxzZTo8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx LjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj7CoMKgwqDCoMKgwqDCoMKgwqDC oCBkYXRhc2V0LnBlZWsgPSAmIzM5O2ZpbGUgTURBX3ppcCBkb2VzIG5vdCBleGlzdCYjMzk7PC9z cGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2Fs aWJyaTtjb2xvcjpibGFjayI+wqDCoMKgwqDCoMKgwqDCoMKgwqAgZGF0YXNldC5ibHVyYiA9ICYj Mzk7ZmlsZSBNREFfemlwIHB1cmdlZCBmcm9tIGRpc2smIzM5Ozwvc3Bhbj48L3A+CjxwPjxzcGFu IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2si PsKgwqAgZGVmIGRpc3BsYXlfcGVlayggc2VsZiwgZGF0YXNldCApOjwvc3Bhbj48L3A+CjxwPjxz cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6Ymxh Y2siPsKgwqDCoMKgwqDCoCB0cnk6PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+wqDCoMKgwqDCoMKgwqDC oMKgwqAgcmV0dXJuIGRhdGFzZXQucGVlazwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250 LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPsKgwqDCoMKgwqDC oCBleGNlcHQ6PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u dC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+wqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJu ICZxdW90O0JpbmFyeSBNREFfemlwIGhlYXRtYXAgZmlsZSAoJXMpJnF1b3Q7ICUgKCBuaWNlX3Np emUoIGRhdGFzZXQuZ2V0X3NpemUoKSApICk8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj7CoDwvc3Bhbj48 L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7 Y29sb3I6YmxhY2siPkJpbmFyeS5yZWdpc3Rlcl9zbmlmZmFibGVfYmluYXJ5X2Zvcm1hdCgmcXVv dDtNREFfemlwJnF1b3Q7LCZxdW90O01EQV96aXAmcXVvdDssTURBX3ppcCk8L3NwYW4+PC9wPgo8 cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9y OmJsYWNrIj7CoDwvc3Bhbj48L3A+CjxiciBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh bWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj4KPHA+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox MS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+bXkgZGF0YXNldC5weSBhZGRp dGlvbjwvc3Bhbj48L2I+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250 LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj5jbGFzcyBNREFfemlwRGF0YVByb3ZpZGVyKCBi YXNlLkRhdGFQcm92aWRlciApOjwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPmRlZiBfX2luaXRfXyggc2Vs ZiwgZGF0YXNldCwgKiprd2FyZHMgKTo8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1z aXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj7CoMKgwqDCoMKgwqDC oMKgwqDCoCBzZWxmLmRhdGFzZXQgPSBqc29uLmxvYWRzKCAmcXVvdDsmcXVvdDsuam9pbiggZGF0 YXNldC5yZWFkbGluZXMoKSApKTwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPsKgwqAgJnF1b3Q7JnF1b3Q7 JnF1b3Q7PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m YW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+wqDCoCBkZWYgX19pbml0X18oIHNlbGYsIGRhdGFz ZXQsICoqa3dhcmRzICk6PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w cHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+wqDCoMKgwqDCoMKgIHJhaXNlIE5v dEltcGxlbWVudGVkRXJyb3IoKTwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPsKgwqDCoMKgwqDCoCBzdXBl ciggTURBX3ppcERhdGFQcm92aWRlciwgc2VsZiApLl9faW5pdF9fKCBkYXRhc2V0LCAqKmt3YXJn cyApPC9zcGFuPjwvcD4KPHA+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m YW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+TXkgdG9vbCBpbiB0b29scyBkaXI8L3NwYW4+PC9i PjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJy aTtjb2xvcjpibGFjayI+Jmx0Oz94bWwgdmVyc2lvbj0mcXVvdDsxLjAmcXVvdDsgZW5jb2Rpbmc9 JnF1b3Q7VVRGLTgmcXVvdDsgPyZndDs8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1z aXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj4mbHQ7IURPQ1RZUEUg dmlzdWFsaXphdGlvbiBTWVNURU0gJnF1b3Q7Li4vLi4vdmlzdWFsaXphdGlvbi5kdGQmcXVvdDsm Z3Q7PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+Jmx0O3Rvb2wgaWQ9JnF1b3Q7TURBaGVhdG1hcCZxdW90 OyBuYW1lPSZxdW90O01EQSBIZWF0TWFwJnF1b3Q7IHZlcnNpb249JnF1b3Q7MS4zLjAmcXVvdDsm Z3Q7PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+ICZsdDtkZXNjcmlwdGlvbiZndDtEaXNwbGF5IEhlYXRN YXAgZ2VuZXJhdGVkIGJ5IE1EQW5kZXJzb24gSGVhdE1hcCB0b29scyZsdDsvZGVzY3JpcHRpb24m Z3Q7PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+ICZsdDtjb21tYW5kIGludGVycHJldGVyPSZxdW90O3B5 dGhvbiZxdW90OyZndDtNREFoZWF0bWFwLnB5ICRpbnB1dCAkb3V0X2ZpbGUgJmx0Oy9jb21tYW5k Jmd0Ozwvc3Bhbj48L3A+CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt aWx5OkNhbGlicmk7Y29sb3I6YmxhY2siPiAmbHQ7aW5wdXRzJmd0Ozwvc3Bhbj48L3A+CjxwPjxz cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6Ymxh Y2siPsKgwqAgJmx0O3BhcmFtIGZvcm1hdD0mcXVvdDt0ZXh0JnF1b3Q7IG5hbWU9JnF1b3Q7aW5w dXQmcXVvdDsgdHlwZT0mcXVvdDtkYXRhJnF1b3Q7IGxhYmVsPSZxdW90O2RvZXNudF9tYXR0ZXIm cXVvdDsgaGVscD0mcXVvdDtpbnB1dCBhbnkgZmlsZSBhbmQgYSBNREEgemlwcGVkIGZpbGUgcHVs bGVkIG9mZiBkaXNrJnF1b3Q7LyZndDs8L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1z aXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj4gJmx0Oy9pbnB1dHMm Z3Q7PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+ICZsdDtvdXRwdXRzJmd0Ozwvc3Bhbj48L3A+CjxwPjxz cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmk7Y29sb3I6Ymxh Y2siPsKgwqAgJmx0O2RhdGEgZm9ybWF0PSZxdW90O01EQV96aXAmcXVvdDsgbmFtZT0mcXVvdDtv dXRfZmlsZSZxdW90Oy8mZ3Q7PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox MS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+ICZsdDsvb3V0cHV0cyZndDs8 L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpD YWxpYnJpO2NvbG9yOmJsYWNrIj4mbHQ7L3Rvb2wmZ3Q7PC9zcGFuPjwvcD4KPHA+PHNwYW4gc3R5 bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+wqA8 L3NwYW4+PC9wPgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpD YWxpYnJpIj7CoDwvc3Bhbj48L3A+CjwvZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2Pi0tLS0tIE9yaWdp bmFsIE1lc3NhZ2UgLS0tLS08YnI+RnJvbTogQ2FybCBFYmVyaGFyZCAmbHQ7PGEgaHJlZj0ibWFp bHRvOmNhcmxmZWJlcmhhcmRAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+Y2FybGZlYmVyaGFy ZEBnbWFpbC5jb208L2E+Jmd0Ozxicj5UbzogPGEgaHJlZj0ibWFpbHRvOnJicm93bjE0MjJAY29t Y2FzdC5uZXQiIHRhcmdldD0iX2JsYW5rIj5yYnJvd24xNDIyQGNvbWNhc3QubmV0PC9hPjxicj5D YzogRXJpYyBSYXNjaGUgJmx0OzxhIGhyZWY9Im1haWx0bzplc3JAdGFtdS5lZHUiIHRhcmdldD0i X2JsYW5rIj5lc3JAdGFtdS5lZHU8L2E+Jmd0OywgZ2FsYXh5LWRldiAmbHQ7PGEgaHJlZj0ibWFp bHRvOmdhbGF4eS1kZXZAbGlzdHMuYngucHN1LmVkdSIgdGFyZ2V0PSJfYmxhbmsiPmdhbGF4eS1k ZXZAbGlzdHMuYngucHN1LmVkdTwvYT4mZ3Q7PGJyPlNlbnQ6IE1vbiwgMTQgRGVjIDIwMTUgMTY6 NDA6MzQgLTAwMDAgKFVUQyk8YnI+U3ViamVjdDogUmU6IFtnYWxheHktZGV2XSBIb3cgZG9lcyBv bmUgcnVuIEphdmFzY3JpcHQgb3IgSFRNTCBhcyBhIHRvb2w/IHRoZSBjb21wbGV0ZSBtZXNzYWdl IGlnbm9yZSBwcmV2aW91czwvZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2IGRpcj0ibHRyIj5IaSwgQm9i PGJyPgo8ZGl2PjwvZGl2Pgo8ZGl2PlRoZXJlIGFyZSBhIG51bWJlciBvZiB3YXlzIHRvIHZpc3Vh bGl6ZSBkYXRhIGluIEdhbGF4eSwgc28gbGV0JiMzOTtzIHNldHRsZSBvbiBzb21lIHRlcm1pbm9s b2d5IGZpcnN0IGZvciB0aGUgdGhyZWUgbWFqb3Igd2F5czo8L2Rpdj4KPGRpdj4qIDxiPmRpc3Bs YXkgYXBwbGljYXRpb25zPC9iPjogdGhlc2UgYXJlIGRlZmluaXRpb25zIG9mIGV4dGVybmFsIHdl YnNpdGVzIHRoYXQgY2FuIGZldGNoIGdhbGF4eSBkYXRhc2V0cyBhbmQgZGlzcGxheSB0aGVtIGlu IHRoZWlyIHZpc3VhbGl6YXRpb24gYXBwbGljYXRpb25zLiBFeGFtcGxlcyBhcmUgdGhlIFVDU0Mg Z2Vub21lIGJyb3dzZXIsIEdCcm93c2UsIGFuZCBJR1YuPC9kaXY+CjxkaXY+KiA8Yj50b29sczwv Yj46IGFsdGhvdWdoIHRoZSB0b29sIGZyYW1ld29yayBnZW5lcmFsbHkgcHJvZHVjZXMgJiMzOTty YXcmIzM5OyBkYXRhIGxpa2UgdGFidWxhciBvciBiaW5hcnkgZmlsZXMsIGl0IGNhbiBhbHNvIHBy b2R1Y2UgdGhlIGh0bWwgKGFuZCBqcyBldmVuKSB0aGF0IGNhbiBkaXNwbGF5IGRhdGEgZm9yIHZp c3VhbGl6YXRpb24uIEFuIGV4YW1wbGUgd291bGQgYmUgJiMzOTtCb3hwbG90IG9mIHF1YWxpdHkg c3RhdGlzdGljcyYjMzk7LsKgPC9kaXY+CjxkaXY+KiA8Yj52aXN1YWxpemF0aW9uIHBsdWdpbnM8 L2I+OiB0aGVzZSBhcmUgcHl0aG9uL21ha28vanMgZmlsZXMgdGhhdCBhcmUgbWVhbnQgdG8gYmUg bW9yZSBpbnRlcmFjdGl2ZSB2aXN1YWxpemF0aW9ucyBpbiBvcmRlciB0byBleHBsb3JlIGRhdGE8 L2Rpdj4KPGRpdj48L2Rpdj4KPGRpdj5JdCBzb3VuZHMgdG8gbWUgbGlrZSB5b3UmIzM5O2QgbGlr ZSB0byB1c2UgdGhlIHZpc3VhbGl6YXRpb24gcGx1Z2luIHN5c3RlbSwgc286PC9kaXY+CjxkaXY+ KiBzaW5jZSB0aGV5JiMzOTtyZSBmb3IgZXh0ZXJuYWwgY29kZSBvciB3ZWJzaXRlcywgPGI+bGV0 JiMzOTtzIHRha2XCoGRpc3BsYXkgYXBwbGljYXRpb25zwqBvZmYgdGhlIHRhYmxlIGVudGlyZWx5 PC9iPi7CoDwvZGl2Pgo8ZGl2Piogc2luY2UgdGhleSBjYW4gYmUgYSB2aWFibGUgYWx0ZXJuYXRp dmUgdG8gdGhlIHBsdWdpbiBzeXN0ZW0sIHNvIDxiPkkmIzM5O2Qga2VlcCB0b29scyBhcyBhbm90 aGVyIG9wdGlvbiBidXQga2VlcCBvdXIgZm9jdXMgb24gdGhlIHBsdWdpbiBzeXN0ZW08L2I+PC9k aXY+CjxkaXY+PC9kaXY+CjxkaXY+SXQgYWxzbyBzb3VuZHMgbGlrZSB5b3UgaGF2ZSB0d28gZWxl bWVudHMgeW91JiMzOTtkIGxpa2UgdG8gaW5jb3Jwb3JhdGU6PC9kaXY+CjxkaXY+KiBhIDxiPmRh dGF0eXBlPC9iPjwvZGl2Pgo8ZGl2PiogYSA8Yj5wbHVnaW48L2I+IHRvIGRpc3BsYXkgZGF0YXNl dHMgb2YgdGhhdCBkYXRhdHlwZTwvZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2PjxiPjxzcGFuIHN0eWxl PSJ0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIj5UaGUgZGF0YXR5cGU8L3NwYW4+PC9iPjwvZGl2 Pgo8ZGl2PkkmIzM5O20gbW9yZSBmYW1pbGlhciB3aXRoIHRoZSBwbHVnaW4gcGFydCBvZiB0aGlz IHByb2Nlc3MsIGJ1dCBmb3IgdGhlIGRhdGF0eXBlIGl0IHNvdW5kcyBsaWtlIHlvdSB3YW50IHRv IHN1YmNsYXNzIHRoZSBiaW5hcnkgZGF0YXR5cGUgYW5kIGFkZCBpdCB0byB5b3VyIGdhbGF4eSBp bnN0YWxsYXRpb24uIEkmIzM5O2Qgc3RhcnQgaGVyZSAoSSBpbWFnaW5lIHlvdSYjMzk7dmUgYWxy ZWFkeSBzZWVuIGl0LCB0aG8pOjwvZGl2Pgo8ZGl2PiogPGEgaHJlZj0iaHR0cHM6Ly93aWtpLmdh bGF4eXByb2plY3Qub3JnL0FkbWluL0RhdGF0eXBlcyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8v d2lraS5nYWxheHlwcm9qZWN0Lm9yZy9BZG1pbi9EYXRhdHlwZXM8L2E+PC9kaXY+CjxkaXY+KsKg PGEgaHJlZj0iaHR0cHM6Ly93aWtpLmdhbGF4eXByb2plY3Qub3JnL0FkbWluL0RhdGF0eXBlcy9B ZGRpbmclMjBEYXRhdHlwZXMiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3dpa2kuZ2FsYXh5cHJv amVjdC5vcmcvQWRtaW4vRGF0YXR5cGVzL0FkZGluZyUyMERhdGF0eXBlczwvYT48L2Rpdj4KPGRp dj48L2Rpdj4KPGRpdj5Ob3RlOiB0byBzZWUgaWYgeW91ciBkYXRhdHlwZSB3YXMgbG9hZGVkIHN1 Y2Nlc3NmdWxseSwgd2l0aCB5b3VyIHNlcnZlciBydW5uaW5nIC0geW91IGNhbiBnbyB0bzogL2Fw aS9kYXRhdHlwZXMvbWFwcGluZy4gWW91IHNob3VsZCBiZSBhYmxlIHRvIHNlZSB5b3VyIGRhdGF0 eXBlIGxpc3RlZCBhdCB0aGUgZmlyc3QgbGV2ZWwgb2YgdGhlIGpzb24gbWFwLCBnZW5lcmFsbHkg YmVnaW5uaW5nIHdpdGggJiMzOTtnYWxheHkuZGF0YXR5cGVzLiYjMzk7IGFuZCB0aGUgcHl0aG9u IG1vZHVsZSBuYW1lIHlvdSBhZGRlZCBpdCB0byAobGlrZSBhIHB5dGhvbiBpbXBvcnQgbmFtZXNw YWNlKTogZS5nLiBnYWxheHkuZGF0YXR5cGVzLmJpbmFyeS5INSBvciBnYWxheHkuZGF0YXR5cGVz LmJpbmFyeS5teWRhdGF0eXBlPC9kaXY+CjxkaXY+PC9kaXY+CjxkaXY+VG8gc2ltcGxpZnk6PC9k aXY+CjxkaXY+MS4gQWRkIGEgZGVmaW5pdGlvbiB0byB5b3VyIGRhdGF0eXBlc19jb25mIGZpbGU8 L2Rpdj4KPGRpdj4yLiBBZGQgYSBzbmlmZmVyIGZvciB5b3VyIGRhdGF0eXBlPC9kaXY+CjxkaXY+ My4gQWRkIGEgc3ViY2xhc3MvY2xhc3MgZm9yIHlvdXIgZGF0YXR5cGU8L2Rpdj4KPGRpdj48L2Rp dj4KPGRpdj48c3BhbiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSI+PGI+VGhlIHBs dWdpbjwvYj48L3NwYW4+PC9kaXY+CjxkaXY+Rm9yIHRoZSBwbHVnaW4sIEkgYWxzbyBpbWFnaW5l IHlvdSYjMzk7dmUgc2VlbiB0aGlzLCBidXQgaXQmIzM5O3MgYSAoaG9wZWZ1bGx5KSBnb29kIHBs YWNlIHRvIHN0YXJ0OjwvZGl2Pgo8ZGl2PjxhIGhyZWY9Imh0dHBzOi8vd2lraS5nYWxheHlwcm9q ZWN0Lm9yZy9WaXN1YWxpemF0aW9uc1JlZ2lzdHJ5IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly93 aWtpLmdhbGF4eXByb2plY3Qub3JnL1Zpc3VhbGl6YXRpb25zUmVnaXN0cnk8L2E+PC9kaXY+Cjxk aXY+PC9kaXY+CjxkaXY+PGI+VGhlIGZpbGVzeXN0ZW0gbGF5b3V0PC9iPjwvZGl2Pgo8ZGl2Pkhl cmUmIzM5O3MgYSBzaW1wbGlmaWVkIHByb2Nlc3MgZm9yIGNyZWF0aW5nIGFuIG91dGxpbmUgZm9y IGEgdmlzdWFsaXphdGlvbiBwbHVnaW4gcHJvamVjdDo8L2Rpdj4KPGRpdj4xLiBpbiB0aGUgZmls ZXN5c3RlbSwgc3RhcnQgYXTCoDxiPiZsdDt5b3VyIGdhbGF4eSZndDsvY29uZmlnL3BsdWdpbnMv dmlzdWFsaXphdGlvbnM8L2I+PC9kaXY+CjxkaXY+Mi4gPGI+dGhpbmsgb2YgYW4gaWQgZm9yIHlv dXIgcGx1Z2luPC9iPi4gVGhpcyBjYW4gYmUgYW55IChmaWxlc3lzdGVtIHBlcm1pc3NpYmxlKSBm aWxlIG5hbWUgYW5kIGlzIG9ubHkgdXNlZCBhcyBhbiBpZCBieSB0aGUgcmVnaXN0cnkgLSB0aGUg dXNlcnMgbmV2ZXIgc2VlIGl0LiBJdCBzaG91bGQgYmUgdW5pcXVlIGZyb20gYW55IG90aGVyIHBs dWdpbnMgaW4gdGhhdCBkaXJlY3RvcnkuIChlLmcuIG15cGx1Z2luKTwvZGl2Pgo8ZGl2PjMuIDxi PmNyZWF0ZSBhIG1haW4gZGlyZWN0b3J5IHVzaW5nIHlvdXIgaWQ8L2I+LiAoZS5nLiAmbHQ7eW91 ciBnYWxheHkmZ3Q7L2NvbmZpZy9wbHVnaW5zL3Zpc3VhbGl6YXRpb25zL215cGx1Z2luKTwvZGl2 Pgo8ZGl2PjQuIGluc2lkZSB0aGF0IGRpcmVjdG9yeSwgPGI+Y3JlYXRlIHRocmVlIG1vcmUgZGly ZWN0b3JpZXM6IGNvbmZpZywgdGVtcGxhdGVzLCBzdGF0aWM8L2I+LiBUaGlzIGlzIHdoZXJlIHRo ZSBwbHVnaW4gY29uZmlndXJhdGlvbiwgdGhlIG1ha28gdGVtcGxhdGVzLCBhbmQgYW55IChvcHRp b25hbCkgamF2YXNjcmlwdCBvciBzdGF0aWMgZmlsZXMgYXJlIGtlcHQgcmVzcGVjdGl2ZWx5Ljwv ZGl2Pgo8ZGl2PjUuIDxiPnRoZSBjb25maWd1cmF0aW9uIGZpbGUgc2hvdWxkIHVzZSB0aGUgc2Ft ZSBpZDwvYj4geW91IHVzZWQgYWJvdmUgZm9yIHRoZSBkaXJlY3Rvcnk6IGUuZy4gY29uZmlnL215 cGx1Z2luLnhtbC4gTW9zdCBwZW9wbGUgY29weSBhbmQgcmVuYW1lIGEgc2ltcGxlIGNvbmZpZyBm aWxlIGxpa2UgdGhlIG9uZSBpbiBjb25maWcvcGx1Z2lucy92aXN1YWxpemF0aW9ucy9zY2F0dGVy cGxvdC9jb25maWcvc2NhdHRlcnBsb3QueG1sLiBXZSYjMzk7bGwgY2hhbmdlIHRoZSBkYXRhdHlw ZSBpdCBhcHBsaWVzIHRvIGxhdGVyLCBidXQgdGhlcmUmIzM5O3MgbW9yZSBhdDogPGEgaHJlZj0i aHR0cHM6Ly93aWtpLmdhbGF4eXByb2plY3Qub3JnL1Zpc3VhbGl6YXRpb25zUmVnaXN0cnkjVGhl X3Zpc3VhbGl6YXRpb25fY29uZmlndXJhdGlvbl9maWxlIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6 Ly93aWtpLmdhbGF4eXByb2plY3Qub3JnL1Zpc3VhbGl6YXRpb25zUmVnaXN0cnkjVGhlX3Zpc3Vh bGl6YXRpb25fY29uZmlndXJhdGlvbl9maWxlPC9hPiBhbmQgPGEgaHJlZj0iaHR0cHM6Ly93aWtp LmdhbGF4eXByb2plY3Qub3JnL1Zpc3VhbGl6YXRpb25zUmVnaXN0cnkvQ29uZmlndXJhdGlvbiIg dGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd2lraS5nYWxheHlwcm9qZWN0Lm9yZy9WaXN1YWxpemF0 aW9uc1JlZ2lzdHJ5L0NvbmZpZ3VyYXRpb248L2E+wqA8L2Rpdj4KPGRpdj42LiA8Yj5hIG1ha28g dGVtcGxhdGUgZmlsZSBzaG91bGQgZ28gaW50byB0aGUgdGVtcGxhdGVzIGRpcmVjdG9yeTwvYj46 IGUuZy4gdGVtcGxhdGVzL215cGx1Z2luLm1ha28uIFRoaXMgdGVtcGxhdGUgZmlsZSBpcyB0aGUg ZW50cnkgcG9pbnQgZm9yIHlvdXIgdmlzdWFsaXphdGlvbiBhbmQgaXMgbG9hZGVkIGZpcnN0LiBZ b3UgZG9uJiMzOTt0IGhhdmUgdG8gZG8gYW55IG1ham9yIGNvZGluZyBoZXJlIGFuZCBjYW4gaW5z dGVhZCBqdXN0IGxhdW5jaCBqYXZhc2NyaXB0IHRvIHJlbmRlciB0aGUgdmlzdWFsaXphdGlvbi4g PGEgaHJlZj0iaHR0cHM6Ly93aWtpLmdhbGF4eXByb2plY3Qub3JnL1Zpc3VhbGl6YXRpb25zUmVn aXN0cnkjQ3JlYXRpbmdfdGhlX2NvZGVfYW5kX21hcmt1cF9mb3JfeW91cl92aXN1YWxpemF0aW9u IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly93aWtpLmdhbGF4eXByb2plY3Qub3JnL1Zpc3VhbGl6 YXRpb25zUmVnaXN0cnkjQ3JlYXRpbmdfdGhlX2NvZGVfYW5kX21hcmt1cF9mb3JfeW91cl92aXN1 YWxpemF0aW9uPC9hPjwvZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2PkF0IHRoaXMgcG9pbnQsIHlvdXIg Y29uZmlnL3BsdWdpbnMvdmlzdWFsaXphdGlvbnMvbXlwbHVnaW4gZGlyZWN0b3J5IHNob3VsZCBs b29rIGxpa2Ugb25lIG9mIHRoZSB0d28gdHJlZXMgZGlzcGxheWVkIGhlcmU6PC9kaXY+CjxkaXY+ PGEgaHJlZj0iaHR0cHM6Ly93aWtpLmdhbGF4eXByb2plY3Qub3JnL1Zpc3VhbGl6YXRpb25zUmVn aXN0cnkjQ29uZmlndXJpbmdfeW91cl92aXN1YWxpemF0aW9uX3BsdWdpbl9pbl90aGVfLjYwdmlz dWFsaXphdGlvbl9wbHVnaW5zX2RpcmVjdG9yeS42MCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8v d2lraS5nYWxheHlwcm9qZWN0Lm9yZy9WaXN1YWxpemF0aW9uc1JlZ2lzdHJ5I0NvbmZpZ3VyaW5n X3lvdXJfdmlzdWFsaXphdGlvbl9wbHVnaW5faW5fdGhlXy42MHZpc3VhbGl6YXRpb25fcGx1Z2lu c19kaXJlY3RvcnkuNjA8L2E+PC9kaXY+CjxkaXY+PC9kaXY+CjxkaXY+PGI+VGhlIGNvbmZpZ3Vy YXRpb248L2I+PC9kaXY+CjxkaXY+Tm93LCB3ZSYjMzk7bGwgY29uZmlndXJlIHRoZSBwbHVnaW4g YnkgZWRpdGluZyB0aGUgY29uZmlnL3BsdWdpbnMvdmlzdWFsaXphdGlvbnMvbXlwbHVnaW4vY29u ZmlnL215cGx1Z2luLnhtbCBmaWxlLiBMZXQmIzM5O3MgYXNzdW1lIHlvdSYjMzk7dmUgY29waWVk IHRoZSBzY2F0dGVycGxvdCBjb25maWcgZmlsZSAoPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29t L2dhbGF4eXByb2plY3QvZ2FsYXh5L2Jsb2IvZGV2L2NvbmZpZy9wbHVnaW5zL3Zpc3VhbGl6YXRp b25zL3NjYXR0ZXJwbG90L2NvbmZpZy9zY2F0dGVycGxvdC54bWwiIHRhcmdldD0iX2JsYW5rIj5o dHRwczovL2dpdGh1Yi5jb20vZ2FsYXh5cHJvamVjdC9nYWxheHkvYmxvYi9kZXYvY29uZmlnL3Bs dWdpbnMvdmlzdWFsaXphdGlvbnMvc2NhdHRlcnBsb3QvY29uZmlnL3NjYXR0ZXJwbG90LnhtbDwv YT4pOjwvZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2PjEuIGNoYW5nZSB0aGUgbmFtZSBkaXNwbGF5ZWQg dG8gd2hhdCB5b3UmIzM5O2QgbGlrZSB1c2VycyB0byBzZWUgaW4gdGhlIGRhdGFzZXQgdmlzdWFs aXphdGlvbnMgZHJvcGRvd24gbWVudTrCoDwvZGl2Pgo8ZGl2Pmw8c3BhbiBzdHlsZT0iY29sb3I6 IzMzMzMzMztmb250LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlIiBmYWNlPSJtb25vc3BhY2Us IG1vbm9zcGFjZSIgY29sb3I9IiMzMzMzMzMiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTJweDts aW5lLWhlaWdodDoxNi44cHg7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPiZsdDt2aXN1YWxpemF0aW9u IG5hbWU9JnF1b3Q7PGI+TXkgVmlzdWFsaXphdGlvbiBQbHVnaW48L2I+JnF1b3Q7Jmd0Ozwvc3Bh bj48L3NwYW4+PC9kaXY+CjxkaXY+PC9kaXY+CjxkaXY+Mi4gY2hhbmdlIHRoZSBjb25maWd1cmF0 aW9uIGZvciB5b3VyIHZpc3VhbGl6YXRpb24gdG8gdGVzdCBmb3IgeW91ciBkYXRhdHlwZS4gRm9y IGV4YW1wbGUsIGlmIHlvdSBoYXZlIG15ZGF0YXR5cGUsIGNoYW5nZTo8L2Rpdj4KPGRpdj4KPGRp dj48c3BhbiBzdHlsZT0iY29sb3I6IzMzMzMzMztmb250LWZhbWlseTptb25vc3BhY2UsbW9ub3Nw YWNlIiBmYWNlPSJtb25vc3BhY2UsIG1vbm9zcGFjZSIgY29sb3I9IiMzMzMzMzMiPjxzcGFuIHN0 eWxlPSJmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxOC4ycHg7d2hpdGUtc3BhY2U6cHJlLXdy YXAiPiZsdDtkYXRhX3NvdXJjZXMmZ3Q7PC9zcGFuPjwvc3Bhbj48L2Rpdj4KPGRpdj48c3BhbiBz dHlsZT0iY29sb3I6IzMzMzMzMztmb250LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlIiBmYWNl PSJtb25vc3BhY2UsIG1vbm9zcGFjZSIgY29sb3I9IiMzMzMzMzMiPjxzcGFuIHN0eWxlPSJmb250 LXNpemU6MTJweDtsaW5lLWhlaWdodDoxOC4ycHg7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPsKgIMKg ICZsdDtkYXRhX3NvdXJjZSZndDs8L3NwYW4+PC9zcGFuPjwvZGl2Pgo8ZGl2PjxzcGFuIHN0eWxl PSJjb2xvcjojMzMzMzMzO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2UiIGZhY2U9Im1v bm9zcGFjZSwgbW9ub3NwYWNlIiBjb2xvcj0iIzMzMzMzMyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZToxMnB4O2xpbmUtaGVpZ2h0OjE4LjJweDt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+wqAgwqAgwqAg wqAgJmx0O21vZGVsX2NsYXNzJmd0O0hpc3RvcnlEYXRhc2V0QXNzb2NpYXRpb24mbHQ7L21vZGVs X2NsYXNzJmd0Ozwvc3Bhbj48L3NwYW4+PC9kaXY+CjxkaXY+PHNwYW4gc3R5bGU9ImNvbG9yOiMz MzMzMzM7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZSIgZmFjZT0ibW9ub3NwYWNlLCBt b25vc3BhY2UiIGNvbG9yPSIjMzMzMzMzIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEycHg7bGlu ZS1oZWlnaHQ6MTguMnB4O3doaXRlLXNwYWNlOnByZS13cmFwIj7CoCDCoCDCoCDCoCAmbHQ7dGVz dCB0eXBlPSZxdW90O2lzaW5zdGFuY2UmcXVvdDsgdGVzdF9hdHRyPSZxdW90O2RhdGF0eXBlJnF1 b3Q7IHJlc3VsdF90eXBlPSZxdW90O2RhdGF0eXBlJnF1b3Q7Jmd0OzxiPmJpbmFyeS5NeURhdGF0 eXBlPC9iPiZsdDsvdGVzdCZndDs8L3NwYW4+PC9zcGFuPjwvZGl2Pgo8ZGl2PjxzcGFuIHN0eWxl PSJmb250LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlIiBmYWNlPSJtb25vc3BhY2UsIG1vbm9z cGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE4LjJweDt3aGl0 ZS1zcGFjZTpwcmUtd3JhcDtjb2xvcjojMzMzMzMzIj7CoCDCoCDCoCDCoCAmbHQ7dG9fcGFyYW0g cGFyYW1fYXR0cj0mcXVvdDtpZCZxdW90OyZndDtkYXRhc2V0X2lkJmx0Oy90b19wYXJhbSZndDs8 L3NwYW4+PGJyPjwvc3Bhbj48L2Rpdj4KPGRpdj48c3BhbiBzdHlsZT0iY29sb3I6IzMzMzMzMztm b250LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlIiBmYWNlPSJtb25vc3BhY2UsIG1vbm9zcGFj ZSIgY29sb3I9IiMzMzMzMzMiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTJweDtsaW5lLWhlaWdo dDoxOC4ycHg7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPsKgIMKgICZsdDsvZGF0YV9zb3VyY2UmZ3Q7 PC9zcGFuPjwvc3Bhbj48L2Rpdj4KPGRpdj48c3BhbiBzdHlsZT0iY29sb3I6IzMzMzMzMztmb250 LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlIiBmYWNlPSJtb25vc3BhY2UsIG1vbm9zcGFjZSIg Y29sb3I9IiMzMzMzMzMiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDox OC4ycHg7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPiZsdDsvZGF0YV9zb3VyY2VzJmd0Ozwvc3Bhbj48 L3NwYW4+PC9kaXY+CjwvZGl2Pgo8ZGl2PjxzcGFuIHN0eWxlPSJjb2xvcjojMzMzMzMzO2ZvbnQt ZmFtaWx5OkNvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxNZW5sbyxDb3VyaWVyLG1vbm9zcGFjZSIg ZmFjZT0iQ29uc29sYXMsIExpYmVyYXRpb24gTW9ubywgTWVubG8sIENvdXJpZXIsIG1vbm9zcGFj ZSIgY29sb3I9IiMzMzMzMzMiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTJweDtsaW5lLWhlaWdo dDoxOC4ycHg7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPsKgPC9zcGFuPjwvc3Bhbj48L2Rpdj4KPGRp dj5UaGUgYWJvdmUgaXMgYmFzaWNhbGx5IHNheWluZywgaWYgYW4gb2JqZWN0IGlzIGEpIGEgSGlz dG9yeURhdGFzZXRBc3NvY2lhdGlvbiAoYSBkYXRhc2V0IGluIGEgaGlzdG9yeSkgYW5kIGIpIGl0 JiMzOTtzIGEgc3ViY2xhc3Mgb3IgaW5zdGFuY2Ugb2YgYmluYXJ5Lk15RGF0YXR5cGUsIHRoZW4g cHV0IGEgbGluazo8L2Rpdj4KPGRpdj4qIGluIHRoZSBkYXRhc2V0IHZpc3VhbGl6YXRpb24gZHJv cGRvd24gbWVudcKgPC9kaXY+CjxkaXY+KiB0aGF0IHdpbGwgc3RhcnQgbXkgdmlzdWFsaXphdGlv bjwvZGl2Pgo8ZGl2PiogcGFzcyB0aGUgZW5jb2RlZCBpZCBvZiB0aGUgZGF0YXNldCBpbiB0aGUg bGluayB1c2luZyB0aGUgcGFyYW1ldGVyICYjMzk7ZGF0YXNldF9pZCYjMzk7PC9kaXY+CjxkaXY+ PC9kaXY+CjxkaXY+Tm90ZTogdGhlICYjMzk7YmluYXJ5Lk15RGF0YXR5cGUmIzM5OyBpcyBlc3Nl bnRpYWxseSAmIzM5O21vZHVsZS5jbGFzcyYjMzk7IGFuZCBpcyBhbHNvIHRoZSBsYXN0IGhhbGYg b2YgdGhlIGlkIGdpdmVuIGluIHRoZSAmIzM5O2FwaS9kYXRhdHlwZXMvbWFwcGluZyYjMzk7IG1l bnRpb25lZCBwcmV2aW91c2x5LsKgPC9kaXY+CjxkaXY+PC9kaXY+CjxkaXY+My4gY2hhbmdlIHRo ZSB0ZW1wbGF0ZSB1c2VkIGFzIHRoZSBlbnRyeSBwb2ludCB0byByZWZsZWN0IHRoZSBuYW1lIHlv dSBnYXZlIGl0OjwvZGl2Pgo8ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTptb25vc3BhY2Us bW9ub3NwYWNlIiBmYWNlPSJtb25vc3BhY2UsIG1vbm9zcGFjZSI+Jmx0O2VudHJ5X3BvaW50IGVu dHJ5X3BvaW50X3R5cGU9JnF1b3Q7bWFrbyZxdW90OyZndDs8Yj5teXBsdWdpbi5tYWtvPC9iPiZs dDsvZW50cnlfcG9pbnQmZ3Q7PGJyPjwvc3Bhbj48L2Rpdj4KPGRpdj48L2Rpdj4KPGRpdj48L2Rp dj4KPGRpdj48Yj48c3BhbiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSI+VGVzdGlu ZyBhbmQgdHJvdWJsZXNob290aW5nPC9zcGFuPjwvYj48L2Rpdj4KPGRpdj5GaW5hbGx5LCB5b3Ug c2hvdWxkIGJlIGF0IGEgc3BvdCB0aGF0OjwvZGl2Pgo8ZGl2PiogeW91ciB2aXN1YWxpemF0aW9u IHdpbGwgYXBwZWFyIGluIHRoZSB2aXN1YWxpemF0aW9uIGRyb3Bkb3duIG1lbnUgb2YgZGF0YXNl dHMgdGhhdCBhcmUgb2YgdGhlIG15ZGF0YXR5cGUgY2xhc3M8L2Rpdj4KPGRpdj4qIGlmIHRoYXQg bWVudSBsaW5rIGlzIGNsaWNrZWQsIGdhbGF4eSB3aWxsIGdvIHRvIHZpc3VhbGl6YXRpb24vc2hv dy8mbHQ7eW91ciBwbHVnaW4gaWQmZ3Q7LiBFLmcuIC92aXN1YWxpemF0aW9uL3Nob3cvbXlwbHVn aW4/ZGF0YXNldF9pZD0wYjFkMDcxNWY4MzY2ZWE4PC9kaXY+CjxkaXY+KiB3aGF0ZXZlciBjb2Rl IGlzIGluIG15cGx1Z2luLm1ha28gd2lsbCBiZSBleGVjdXRlZCAoeW91IHNob3VsZCBiZSBhYmxl IHRvIHVzZSBwcmludCBpbiBweXRob24gb3IgYWxlcnQgaW4gamF2YXNjcmlwdCB0byB0ZXN0KTwv ZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2PjxiPlRyb3VibGVzaG9vdGluZzwvYj48L2Rpdj4KPGRpdj4q IElmIHlvdXIgc2VydmVyIGlzIHJ1bm5pbmcgd2hlbiB5b3UmIzM5O3ZlIG1hZGUgY2hhbmdlcyB0 byB5b3VyIGNvbmZpZyBmaWxlLCB5b3UmIzM5O2xsIG5lZWQgdG8gcmVzdGFydCBpdCAoY2hhbmdl cyB0byBtYWtvIGFuZCBzdGF0aWMgZmlsZXMgZG8gbm90IG5lZWQgYSByZXN0YXJ0KTwvZGl2Pgo8 ZGl2PiogTWFrZSBzdXJlIHlvdXIgaWQgaXMgdXNlZCBpbiB0aGUgcHJvcGVyIHBsYWNlcyBhYm92 ZSBhbmQgdGhhdCB0aGV5IGFsbCBtYXRjaDwvZGl2Pgo8ZGl2PiogSWYgZ2FsYXh5IGlzIHRyeWlu ZyB0byBsb2FkIG9yIGxvYWRpbmcgeW91ciB2aXN1YWxpemF0aW9uIHBsdWdpbiwgeW91IHNob3Vs ZCBzZWUgYW4gZW50cnkgbGlrZSB0aGlzIGluIHlvdXIgc2VydmVyIGxvZ3M6PC9kaXY+CjxkaXY+ PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2UiIGZhY2U9Im1vbm9z cGFjZSwgbW9ub3NwYWNlIj5nYWxheHkud2ViLmJhc2UucGx1Z2luZnJhbWV3b3JrIElORk8gMjAx NS0xMi0xNCAwODo0Njo0NCw3ODggVmlzdWFsaXphdGlvbnNSZWdpc3RyeSwgbG9hZGVkIHBsdWdp bjogbXlwbHVnaW48L3NwYW4+PC9kaXY+CjxkaXY+KiBlcnJvcnMgd2lsbCBhbHNvIGRpc3BsYXkg dGhlcmU8L2Rpdj4KPGRpdj4qIGl0IGNhbiBoZWxwIHRvIGNoYW5nZSAmIzM5O2RlYnVnID0gVHJ1 ZSYjMzk7IGluIHlvdXIgY29uZmlnL2dhbGF4eS5pbmkgZmlsZSAob25seSBkbyB0aGlzIG9uIGEg c2VwYXJhdGUgZGV2ZWxvcG1lbnQgc2VydmVyIC0gbm90IHlvdSBwdWJsaWMgc2hhcmVkIGluc3Rh bmNlcyk8L2Rpdj4KPGRpdj48L2Rpdj4KPGRpdj48L2Rpdj4KPGRpdj5JIGtub3cgdGhhdCYjMzk7 cyBhIGxvdCBvZiBpbmZvLCBzbyBsZXQgbWUga25vdyBpZiBJIGNhbiBhZGQgb3IgY2xhcmlmeSBv biBhbnkgb2YgaXQuPC9kaXY+CjxkaXY+Q2FybDwvZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2IGNsYXNz PSJnbWFpbF9leHRyYSI+PGJyPgo8ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gU2F0LCBEZWMg MTIsIDIwMTUgYXQgOTo1NyBBTSwgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86 cmJyb3duMTQyMkBjb21jYXN0Lm5ldCIgdGFyZ2V0PSJfYmxhbmsiPnJicm93bjE0MjJAY29tY2Fz dC5uZXQ8L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPgo8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxf cXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xp ZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KPGRpdj5UaGFuayB5b3UgRXJpYyw8L2Rpdj4KPGRpdj48L2Rp dj4KPGRpdj5CdXQgSSB3YW50IHRvIGJlIGNsZWFyIGFmdGVyIHNwZW5kaW5nIDUgZGF5cywgcmVh ZGluZyBtYW55IEdhbGF4eSB3aWtpIGxpbmtzLCBsb29raW5nIGF0IHNhbXBsZXMsIGFuZCB3aXRo IGhlbHAgZnJvbSBvdGhlcnMgdHJ5aW5nIHRvIGdldCB0aGlzIHRvIHdvcmsuwqAgSSBoYXZlIHdy aXR0ZW4gbWFueSB0b29scyBidXQgbmV2ZXIgdHJpZWQgdG8gZGlzcGxheSBhIHVuaXF1ZSBkYXRh dHlwZSBiZWZvcmUuPC9kaXY+CjxkaXY+QmVsb3cgaXMgYSBzZXJpZXMgb2YgcXVlc3Rpb25zIGFu ZCBzdGVwcyBJIGZvbGxvd2VkIHRyeWluZyB0aGUgc3VnZ2VzdGlvbnMgZnJvbSBlYXJseSBwb3N0 cy7CoDwvZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2Pk15IGdvYWxzIGFyZTo8L2Rpdj4KPGRpdj4tLSBU byBnZXTCoCB0aGUgdmlzdWFsaXphdGlvbiBpY29uIHRvIHNob3cgaW4gdGhlIGJvdHRvbSBsZWZ0 IG9mIG15IGhpc3Rvcnkgb3V0cHV0IGZpbGU/wqDCoMKgwqAgPGJyPgo8ZGl2Pi0tIGNsaWNrIHRo ZSB2aXN1YWxpemF0aW9uIGljb24gdG8gZGlzcGxheSBteSBkYXRhICh0aGF0IEkgd2lsbCBwcm9j ZXNzIHRvIGRpc3BsYXkpIGluc2lkZSBHYWxheHkuPC9kaXY+CjxkaXY+PC9kaXY+CjxkaXY+VGhl IHN0ZXBzIGJlbG93IGFyZSBpbiBvcmRlciBvZiB1cmdlbmN5Oik8L2Rpdj4KPC9kaXY+CjxkaXY+ VGhhbmsgeW91IGZvciB5b3UgcGF0aWVuY2UuPC9kaXY+CjxkaXY+PC9kaXY+CjxkaXY+MS7CoCAv Q29uZmlnL3BsdWdpbi92aXN1YWxpemF0aW9uIGlzIHdoZXJlIGNvZGUgZ29lcyB0byBoYXZlIGEg R2FsYXh5IDxzdHJvbmc+aW50ZXJuYWw8L3N0cm9uZz4gbW9kdWxlIGRpc3BsYXkgYSB1c2VyIGRl ZmluZWQgZGF0YSB0eXBlP8KgIC0tIG1pbmUgaXMgYmluYXJ5PC9kaXY+CjxkaXY+V2l0aG91dCBn ZXR0aW5nIHRvIGluIHRoZSB3ZWVkcyB1bmRlciB0aGlzIGRpcmVjdG9yeSBJIGhhdmUgYSBteWRh dGF0eXBlIGRpciB3aXRoIHN1YmRpcmVjdG9yaWVzIC9jb25maWcgdyB4bWwsIC9zdGF0aWMgdyAu anMsIC90ZW1wbGF0ZXMgdyBtYWtvIG1hZGUgb2YgaHRtbDwvZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2 PjIuwqAgVW5kZXIgL2xpYi9nYWxheHkvZGF0YXR5cGVzL2Rpc3BsYXlfYXBwbGljYXRpb25zwqAg SSB0cmllZCB0aGUgc2FtZSBhcHByb2FjaCB3aXRoIG5vIHN1Y2Nlc3MuIElzIHRoaXMgd2hlcmUg Y29kZSBnb2VzIGZvciBleHRlcm5hbCBkaXNwbGF5cyB0aGF0IHVzZSBnZXQgYW5kIHBvc3QgcmVz aWRlPzwvZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2PjMuwqAgd2hpY2ggaWYgYW55IG9mIDFvcjIgYWJv dmUgdXNlIHRoZSBUb29scy9WaXN1YWxpemF0aW9uIGRpcmVjdG9yeS7CoCBJcyB0aGF0IHRoZSBj b252ZW50aW9uIGZvciB0aGUgcmV0dXJuIG9mIGEgR2V0IG9yIFBvc3QgZXh0ZXJuYWwgZGlzcGxh eXM/PC9kaXY+CjxkaXY+PC9kaXY+CjxkaXY+NC7CoCBJIGNyZWF0ZSBteSBvd24gZGF0YXR5cGUg aW7CoCBkYXRhX2NvbmZpZ190eXBlLnhtbMKgIHdpdGggYSAmbHQ7ZGF0YXR5cGUmZ3Q7IHRhZzwv ZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2PjUuwqAgaW4gZGF0YV9jb25maWdfdHlwZS54bWwgeW91IG9u bHkgdXNlIHRoZSAmbHQ7ZGlzcGxheSZndDvCoCByZWNvcmQgd2hpY2ggLS0gaW50ZXJuYWwgb3Ig ZXh0ZXJuYWwgZGlzcGxheXM/PC9kaXY+CjxkaXY+PC9kaXY+CjxkaXY+Ni7CoCBJIGFkZGVkIGEg Y2xhc3MgaW4gdGhlIGJpbmFyeS5wecKgIGZpbGUgd2l0aCB0aGUgbmFtZSBvZiBteSBuZXcgZGF0 YXR5cGUuwqDCoDwvZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2PjcuwqAgSSBhZGRlZCBhIHRvb2wubXlk YXRhdHlwZSBzZWN0aW9uIGFuZCBmaWxlIHdpdGggbXkgeG1sIHRvIGlucHV0IGFuZCB0aGVuIG91 dHB1dCBteSBkYXRhdHlwZSBieSBzcGVjaWZ5aW5nwqAgZm9ybWF0PW15ZGF0YXR5cGUgbm90IGZv cm1hdD1iaW5hcnkubXlkYXRhdHlwZcKgwqDCoMKgwqDCoCBQbHVzIEkgYWRkZWQgdGhpcyBpbnRv IFRvb2xzX2NvbmYueG1swqAgQXJlIHRoZXJlIG90aGVyIHhtbCBzcGVjaWZpYyBpdGVtcyBJIG5l ZWQgaW4gbXkgdG9vbCB4bWwgZm9yIGFuIGludGVybmFsIHZpc3VhbGl6YXRpb248L2Rpdj4KPGRp dj48L2Rpdj4KPGRpdj4KPGRpdj44LiBCeSBjbGlja2luZyB0aGUgdmlzdWFsaXphdGlvbiBpY29u LiB3aGF0IGRvZXMgaXQgY2FsbCAoaG9wZWZ1bGx5IDFvcjIgYWJvdmUpIHNvIGkgY2FuIGFkZCBz cGVjaWZpYyBjb2RlIHRvIGRpc3BsYXkgbXkgZGF0YXR5cGUgaW50ZXJuYWwgJnF1b3Q7dmlzdWFs aXphdGlvbj8mcXVvdDsgKHByZWZlcnJlZCkgaW4gZ2FsYXh5PzwvZGl2Pgo8ZGl2PjwvZGl2Pgo8 L2Rpdj4KPGRpdj48L2Rpdj4KPGRpdj4tLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tPGJyPkZy b206IEVyaWMgUmFzY2hlICZsdDs8YSBocmVmPSJtYWlsdG86ZXNyQHRhbXUuZWR1IiB0YXJnZXQ9 Il9ibGFuayI+ZXNyQHRhbXUuZWR1PC9hPiZndDs8YnI+VG86IDxhIGhyZWY9Im1haWx0bzpyYnJv d24xNDIyQGNvbWNhc3QubmV0IiB0YXJnZXQ9Il9ibGFuayI+cmJyb3duMTQyMkBjb21jYXN0Lm5l dDwvYT48YnI+Q2M6IGdhbGF4eS1kZXYgJmx0OzxhIGhyZWY9Im1haWx0bzpnYWxheHktZGV2QGxp c3RzLmJ4LnBzdS5lZHUiIHRhcmdldD0iX2JsYW5rIj5nYWxheHktZGV2QGxpc3RzLmJ4LnBzdS5l ZHU8L2E+Jmd0Ozxicj5TZW50OiBUdWUsIDA4IERlYyAyMDE1IDAyOjM0OjQ3IC0wMDAwIChVVEMp PGJyPlN1YmplY3Q6IFJlOiBbZ2FsYXh5LWRldl0gSG93IGRvZXMgb25lIHJ1biBKYXZhc2NyaXB0 IG9yIEhUTUwgYXMgYSB0b29sPzwvZGl2Pgo8ZGl2PjwvZGl2Pgo8ZGl2IGRpcj0ibHRyIj4KPGRp dj4KPGRpdj4KPGRpdj5IaSBCb2IsPGJyPgo8ZGl2PjwvZGl2Pgo8L2Rpdj4KPGJyPlllcywgZ2Fs YXh5IHN1cHBvcnRzIG91dHB1dCBmb3JtYXRzIG9mIEhUTUwrSlMsIHRob3VnaCB0aGUgdG9vbCBw cm9kdWNpbmcgdGhlbSBtYXkgbmVlZCB0byBiZSB3aGl0ZWxpc3RlZCAoZ3JlcCBmb3IgJiMzOTt3 aGl0ZWxpc3QmIzM5OyBpbiB5b3VyIGdhbGF4eS5pbmkpIGZvciBkaXNwbGF5IHRvIHdvcmsgcHJv cGVybHkuPGJyPgo8ZGl2PjwvZGl2Pgo8YnI+SWYgeW91IHdpc2ggdG8gd3JpdGUgeW91ciBvd24g dmlzdWFsaXphdGlvbiBwbHVnaW4gZm9yIGEgc3BlY2lmaWMgZGF0YXR5cGUsIHRoZXJlIGFyZSBh c3NvcnRlZCBwaWVjZXMgb2YgPGEgaHJlZj0iaHR0cHM6Ly93aWtpLmdhbGF4eXByb2plY3Qub3Jn Lz9hY3Rpb249ZnVsbHNlYXJjaCZhbXA7Y29udGV4dD0xODAmYW1wO3ZhbHVlPXZpc3VhbGl6YXRp b24mYW1wO3RpdGxlc2VhcmNoPVRpdGxlcyIgdGFyZ2V0PSJfYmxhbmsiPmRvY3VtZW50YXRpb24g b24gdGhlIHdpa2k8L2E+IHRoYXQgbWlnaHQgaGVscCB5b3UgKHRob3VnaCBJIHVzdWFsbHkganVz dCBsb29rIGF0IG9uZSBvZiB0aGUgb3RoZXIgZXhpc3RpbmcgdmlzdWFsaXphdGlvbiBwbHVnaW5z IGFuZCBjb3B5K3Bhc3RlKS48YnI+CjxkaXY+PC9kaXY+CjwvZGl2Pgo8YnI+Q2hlZXJzLDwvZGl2 Pgo8YnI+RXJpYzwvZGl2Pgo8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJyPgo8ZGl2IGNsYXNz PSJnbWFpbF9xdW90ZSI+MjAxNS0xMi0wNyAyMDowOCBHTVQtMDY6MDAgPHNwYW4gZGlyPSJsdHIi PiZsdDs8YSBocmVmPSJtYWlsdG86cmJyb3duMTQyMkBjb21jYXN0Lm5ldCIgdGFyZ2V0PSJfYmxh bmsiPnJicm93bjE0MjJAY29tY2FzdC5uZXQ8L2E+Jmd0Ozwvc3Bhbj46PGJyPgo8YmxvY2txdW90 ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVm dDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KPGRpdj5Hb29kIGV2ZW5pbmcgR2Fs YXh5IHRlYW0sPC9kaXY+CjxkaXY+PC9kaXY+CjxkaXY+SXMgaXQgcG9zc2libGUgdG8gcnVuIEph dmFTY3JpcHQgb3IgSFRNTCBhcyBhIHRvb2wgb3IgYSBkaXNwbGF5IG1vZHVsZT/CoDwvZGl2Pgo8 ZGl2PjwvZGl2Pgo8ZGl2Pkkgc2VlIHN1cHBvcnQgZm9yIFVSTHMsIGUuZy4gVUNTQyBHZW5vbWUg QnJvd3NlciwgYnV0IEkgd291bGQgbGlrZSB0byBwcm9jZXNzIGEgc3BlY2lmaWMgZGF0YXR5cGUg dG8gYWxsb3cgaXQgdG8gYmUgdmlld2VkIGluIEdhbGF4eSAtLSBidXQgdGhlIGFwcGxpY2F0aW9u IGlzIGEgY29tYmluYXRpb24gb2YgSFRNTCBhbmQgSmF2YVNjcmlwdC7CoMKgPC9kaXY+CjxkaXY+ PC9kaXY+CjxkaXY+RG9lcyBHYWxheHkgc3VwcG9ydCB0aGlzP8KgwqA8L2Rpdj4KPGRpdj48L2Rp dj4KPGRpdj5UaGFuayB5b3UsPC9kaXY+CjxkaXY+Qm9iPC9kaXY+Cjxicj5fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4KPGRpdj48 L2Rpdj4KPGJyPlBsZWFzZSBrZWVwIGFsbCByZXBsaWVzIG9uIHRoZSBsaXN0IGJ5IHVzaW5nICZx dW90O3JlcGx5IGFsbCZxdW90Ozxicj4KPGRpdj48L2Rpdj4KPGJyPmluIHlvdXIgbWFpbCBjbGll bnQuwqAgVG8gbWFuYWdlIHlvdXIgc3Vic2NyaXB0aW9ucyB0byB0aGlzPGJyPgo8ZGl2PjwvZGl2 Pgo8YnI+YW5kIG90aGVyIEdhbGF4eSBsaXN0cywgcGxlYXNlIHVzZSB0aGUgaW50ZXJmYWNlIGF0 Ojxicj4KPGRpdj48L2Rpdj4KPGJyPsKgIDxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuZ2FsYXh5cHJv amVjdC5vcmcvIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2xpc3Rz LmdhbGF4eXByb2plY3Qub3JnLzwvYT48YnI+CjxkaXY+PC9kaXY+Cjxicj5UbyBzZWFyY2ggR2Fs YXh5IG1haWxpbmcgbGlzdHMgdXNlIHRoZSB1bmlmaWVkIHNlYXJjaCBhdDo8YnI+CjxkaXY+PC9k aXY+Cjxicj7CoCA8YSBocmVmPSJodHRwOi8vZ2FsYXh5cHJvamVjdC5vcmcvc2VhcmNoL21haWxp bmdsaXN0cy8iIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9nYWxheHlw cm9qZWN0Lm9yZy9zZWFyY2gvbWFpbGluZ2xpc3RzLzwvYT48L2Jsb2NrcXVvdGU+CjxzcGFuPjxz cGFuIHN0eWxlPSJjb2xvcjojODg4ODg4IiBjb2xvcj0iIzg4ODg4OCI+PC9zcGFuPjwvc3Bhbj48 L2Rpdj4KPHNwYW4+PHNwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiM4ODg4ODgiIGNvbG9yPSIjODg4 ODg4Ij48YnI+PGJyIGNsZWFyPSJhbGwiPjxicj4tLSA8YnI+PC9zcGFuPjwvc3Bhbj48L3NwYW4+ CjxkaXY+CjxkaXYgZGlyPSJsdHIiPgo8ZGl2Pgo8ZGl2IGRpcj0ibHRyIj4KPGRpdj5FcmljIFJh c2NoZTwvZGl2Pgo8ZGl2PlByb2dyYW1tZXIgSUk8L2Rpdj4KPGRpdj48L2Rpdj4KPGRpdj5DZW50 ZXIgZm9yIFBoYWdlIFRlY2hub2xvZ3k8L2Rpdj4KPGRpdj5SbSAzMTJBLCBCaW9CaW88L2Rpdj4K PGRpdj5UZXhhcyBBJmFtcDtNIFVuaXZlcnNpdHk8L2Rpdj4KPGRpdj5Db2xsZWdlIFN0YXRpb24s IFRYIDc3ODQzPC9kaXY+CjxkaXY+PGEgaHJlZj0idGVsOjQwNC02OTItMjA0OCIgdGFyZ2V0PSJf YmxhbmsiPjQwNC02OTItMjA0ODwvYT48L2Rpdj4KPGRpdj48YSBocmVmPSJtYWlsdG86ZXNyQHRh bXUuZWR1IiB0YXJnZXQ9Il9ibGFuayI+ZXNyQHRhbXUuZWR1PC9hPjwvZGl2Pgo8L2Rpdj4KPC9k aXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXY+PC9kaXY+CjxkaXY+PC9kaXY+CjxkaXY+PC9k aXY+Cjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXzxicj4KPGRpdj48L2Rpdj4KPGJyPlBsZWFzZSBrZWVwIGFsbCByZXBsaWVzIG9u IHRoZSBsaXN0IGJ5IHVzaW5nICZxdW90O3JlcGx5IGFsbCZxdW90Ozxicj4KPGRpdj48L2Rpdj4K PGJyPmluIHlvdXIgbWFpbCBjbGllbnQuwqAgVG8gbWFuYWdlIHlvdXIgc3Vic2NyaXB0aW9ucyB0 byB0aGlzPGJyPgo8ZGl2PjwvZGl2Pgo8YnI+YW5kIG90aGVyIEdhbGF4eSBsaXN0cywgcGxlYXNl IHVzZSB0aGUgaW50ZXJmYWNlIGF0Ojxicj4KPGRpdj48L2Rpdj4KPGJyPsKgIDxhIGhyZWY9Imh0 dHBzOi8vbGlzdHMuZ2FsYXh5cHJvamVjdC5vcmcvIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0i X2JsYW5rIj5odHRwczovL2xpc3RzLmdhbGF4eXByb2plY3Qub3JnLzwvYT48YnI+CjxkaXY+PC9k aXY+Cjxicj5UbyBzZWFyY2ggR2FsYXh5IG1haWxpbmcgbGlzdHMgdXNlIHRoZSB1bmlmaWVkIHNl YXJjaCBhdDo8YnI+CjxkaXY+PC9kaXY+Cjxicj7CoCA8YSBocmVmPSJodHRwOi8vZ2FsYXh5cHJv amVjdC5vcmcvc2VhcmNoL21haWxpbmdsaXN0cy8iIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly9nYWxheHlwcm9qZWN0Lm9yZy9zZWFyY2gvbWFpbGluZ2xpc3RzLzwvYT48 L2Jsb2NrcXVvdGU+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjxkaXY+PC9kaXY+CjxkaXY+PC9kaXY+ X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X188YnI+ClBsZWFzZSBrZWVwIGFsbCByZXBsaWVzIG9uIHRoZSBsaXN0IGJ5IHVzaW5nICZxdW90 O3JlcGx5IGFsbCZxdW90Ozxicj4KaW4geW91ciBtYWlsIGNsaWVudC7CoCBUbyBtYW5hZ2UgeW91 ciBzdWJzY3JpcHRpb25zIHRvIHRoaXM8YnI+CmFuZCBvdGhlciBHYWxheHkgbGlzdHMsIHBsZWFz ZSB1c2UgdGhlIGludGVyZmFjZSBhdDo8YnI+CsKgIDxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuZ2Fs YXh5cHJvamVjdC5vcmcvIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczov L2xpc3RzLmdhbGF4eXByb2plY3Qub3JnLzwvYT48YnI+Cjxicj4KVG8gc2VhcmNoIEdhbGF4eSBt YWlsaW5nIGxpc3RzIHVzZSB0aGUgdW5pZmllZCBzZWFyY2ggYXQ6PGJyPgrCoCA8YSBocmVmPSJo dHRwOi8vZ2FsYXh5cHJvamVjdC5vcmcvc2VhcmNoL21haWxpbmdsaXN0cy8iIHJlbD0ibm9yZWZl cnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9nYWxheHlwcm9qZWN0Lm9yZy9zZWFyY2gvbWFp bGluZ2xpc3RzLzwvYT48L2Jsb2NrcXVvdGU+PC9kaXY+PC9kaXY+Cg== --===============3062877922012358338==--