Image Image Image Image Image Image Image Image Image Image
Scroll to top

Top

No Comments

Storage Education and Learning Resources for VMware Admins

Storage Education and Learning Resources for VMware Admins
David Davis, vExpert, VCP/VCAP, CCIE
  • On September 18, 2014

You may be one of the many VMware admins who were unwillingly dropping into the world or storage when you wanted to take advantage of advanced VMware features like high availability (HA) and distributed resources scheduler (DRS). In my case, I was forced to learn more about SAN administration when we wanted to use ESX Server 3 high availability. Many VMware admins still know that they have a lot to learn about storage and, still others, are just getting started.

Today, the world of virtualization and storage have become more and more intertwined and interdependent. VMware (majority owned by EMC) offers their own software-defined storage solution and integrates more and more into the storage layer with features like VAAI and VASA. Software-defined storage solutions and virtualization-aware storage are becoming, more and more, the “norm” in the datacenter. In fact, VMworld looked just as much like a storage show, as much as it did a virtualization show. This all goes to support the fact that, in many IT shops, the “silos are breaking down” and you’re now an “infrastructure administrator”, not just a virtualization admin anymore.

In my time spent learning about and working with storage and virtualization, here are some of the top tips that and resources that I have come up with:

#1 Knowledge of Storage Fundamentals

Being successful at storage (as it relates to virtualization) begins with a strong knowledge of the storage fundamentals. For example, what is a HBA, a LUN, RAID striping, SAN vs NAS, storage protocols (iSCSI, NFS, FC), target vs initiator, SMI-S, and who is SNIA?

Here are some of the resources I have used over the years and recommend-

For example, the VMware diagram below shows how the different VMs are made up of virtual disks, those disks are stored in datastores and those datastores could be stored across multiple storage infrastructures, across multiple LUNs.

vSphere virtual disk to physical disk mapping

Graphic Thanks to VMware.com

#2 Knowledge of VMware Storage

Once you have a basic understanding of storage infrastructure and how it works, then you can move on to learn VMware’s approach to storage. For example, VMFS vs NFS, virtual disk types, storage vMotion, iSCSI, disk queues, and more. And what about those new things called “VVOLs”?

Some of the VMware storage resources I have used over the years and recommend are:

#3 Hands-On Storage Experience

With fundamental knowledge and then knowledge of vSphere storage, you must ensure that you get some hands on experience. Some admins have access to a high-end SAN at their office. If you don’t have a high-end SAN sitting around and if you don’t have $100K lying around to buy your own storage, no worries.

The best way to gain hands-on storage experience, as it relates to vSphere is to “do it first hand”. Here are some tips:

  • Connect to vSphere to just about anything – vSphere doesn’t care if it’s connected to a $100K SAN or a free open-source iSCSI virtual SAN, running on the vSphere host itself (withouth the hypervisor’s knowledge). That means that you can connect a vSphere host to a Windows Server running NFS Server, a free OpenFiler virtual SAN running in a VM, or even a VMware Workstation or Fusion system running FreeNAS as a virtual machine.
  • Use Simulators – many high-end SAN vendors post simulators of their equipment that you can use to gain hands on experience with their interface and management nuances. For example EMC VNX offers a simulator, EMC Celerra simulator, and SimSAN.
  • Take a training course – there are numerous video training courses (like Jason Nash’s EMC ExtremeIO course) and vendor-led classroom courses from major vendors EMC Education
  • Build a Lab – no matter the sacle of lab you build, you’ll learn something about storage. Likely THE fastest ways to get up and running with a vSphere lab is to use AutoLab from Alastair Cook.

#4 Basic Storage Analytics Tools

With your knowledge and hands-on experience about SAN and vSphere administration, it’s time to get down to some tools. What you need is knowledge about-

  • what you have
  • how it’s configured
  • how it’s connected
  • how it’s performing

For example, what model SAN do you have, how is it configured, and how is it connected? How is vSphere configured, what VMs are running on it, where are they on the SAN, and how are they performing?

Usually, part of this information is in the storage and the other part of this information is in the vSphere hypervisor (ESXi) or centralized management platform (vCenter).

VMware admins typically use vCenter storage reports and SAN management tools to gather this info.

For example, vCenter offers some basic analysis of storage-

vmware-vcenter-top-iops-per-vm

VMware command line tools like esxcli and esxtop are also very helpful.

Management tools like vCenter Operations Manager also provide storage performance information, as you see below-

vcenter-operations-manager-storage-diagram

#5 More Advanced Insight Into Storage

While all admins need to be able to view I/O’s in and out and capacity utilization, VMware admins are needing tools that offer more and more insight and numerous companies have stepped up to the plate to help with that problem.

For example, some tools that are offering greater storage performance analysis than ever before are-

  • vCenter Operations Manager storage management packs, from numerous storage vendors
  • More admins are learning about vscsiStats (and even some third-party tools use it to gather data) and the author, Irfan Ahmad leverages that knowledge to build more storage analytics into CloudPhysics
  • VMware released their free I/O analyzer virtual machine to help admins perform storage throughput testing and comparisons

Additionally, with the increased focus on storage performance, more and more admins are getting interested in vSphere caching. An example of a vSphere caching solution that requires no hardware to install, requires no downtime to deploy, and offers a free evaluation is the Infinio Accelerator.

Infinio’s version 2.0 adds several capabilities to help you better understand your storage performance.  For each accelerated datastore, Infinio offers analysis of storage I/O on a per-virtual machine basis, such as which VMs benefit most from caching, and which are generating the most I/O.

For example, here you see a breakdown of the top virtual machines on a datastore, ranked by how much I/O they are generating.

VM-breakdown-clean

Another valuable resource in the new Accelerator 2.0 product is Cache Advisor. With Cache Advisor, you’ll be able to see what the impact of adding different amounts of cache is to your offload rate, answering questions like “how much more memory should I give Infinio to get a 90% offload rate?”

You can sign up to be notified when Infinio Accelerator 2.0 goes into beta here: http://bit.ly/1p7lCJE

Summary

In summary, no longer can you just be a “VMware admin” – welcome to the storage world too. Thankfully, as you can see above, there are a lot more resources available today than ever before and I welcome your feedback on them.

Now, let me direct this article back out to you, the reader … What’s your favorite vSphere/Storage resource and tool? I welcome your comments, below!

Submit a Comment

Do you want massive traffic?
Dignissim enim porta aliquam nisi pellentesque. Pulvinar rhoncus magnis turpis sit odio pid pulvinar mattis integer aliquam!
  • Goblinus globalus fantumo tubus dia montes
  • Scelerisque cursus dignissim lopatico vutario
  • Montes vutario lacus quis preambul den lacus
  • Leftomato denitro oculus softam lorum quis
  • Spiratio dodenus christmas gulleria tix digit
  • Dualo fitemus lacus quis preambul pat turtulis
* we never share your e-mail with third parties.
COMPANY NAME
221, Mount Olimpus, Rheasilvia, Mars,
Solar System, Milky Way Galaxy
+1 (999) 123-45-67
Thank You. We will contact you as soon as possible.
Do you want more traffic?
Dignissim enim porta aliquam nisi pellentesque. Pulvinar rhoncus magnis turpis sit odio pid pulvinar mattis integer aliquam!
  • Goblinus globalus fantumo tubus dia montes
  • Scelerisque cursus dignissim lopatico vutario
  • Montes vutario lacus quis preambul den lacus
  • Leftomato denitro oculus softam lorum quis
  • Spiratio dodenus christmas gulleria tix digit
  • Dualo fitemus lacus quis preambul pat turtulis
  • Scelerisque cursus dignissim lopatico vutario
  • Montes vutario lacus quis preambul den lacus
SUBSCRIBE TO OUR NEWSLETTER AND START INCREASING YOUR PROFITS NOW!
* we never share your e-mail with third parties.
SUBSCRIBE TO NEWSLETTER
Turpis dis amet adipiscing hac montes odio ac velit? Porta, non rhoncus vut, vel, et adipiscing magna pulvinar adipiscing est adipiscing urna. Dignissim rhoncus scelerisque pulvinar?
SUBSCRIBE TO OUR NEWSLETTER
PGlmcmFtZSB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBzcmM9Imh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvajhsU2NITzJtTTAiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+
All rights reserved © Company Name, 2014
CONTACT US
COMPANY NAME
221, Mount Olimpus, Rheasilvia, Mars
Solar System, Milky Way Galaxy
+1 (999) 999-99-99
Thank You. We will contact you as soon as possible.
Macbook Pro
* Intel Core i7 (3.8GHz, 6MB cache)
* Retina Display (2880 x 1880 px)
* NVIDIA GeForce GT 750M (Iris)
* 802.11ac Wi-Fi and Bluetooth 4.0
* Thunderbolt 2 (up to 20Gb/s)
* Faster All-Flash Storage (X1)
* Long Lasting Battery (9 hours)
Ivan Churakov, developer
Tel.:
Fax:
E-mail:
Website:
+1 (800) 800-1234, +1 (800) 123-4567
+1 (800) 800-1234 (ext. 1234)
ivan.churakov@domain.tld
http://halfdata.com/
My CodeCanyon Portfolio
Banner Manager Pro - CodeCanyon Item for Sale
Coming Soon and Maintenance Mode - CodeCanyon Item for Sale
Code Shop - CodeCanyon Item for Sale
Keyword Tooltips - CodeCanyon Item for Sale
Subscribe & Download - CodeCanyon Item for Sale
"A placerat mauris placerat et penatibus porta aliquet sed dapibus, pulvinar urna cum aliquet arcu lectus sed tortor aliquet sed dapibus."
John Doe, Astronomer
Bubble Company Inc. © 2011-2014
SUBSCRIBE TO NEWSLETTER
PGlmcmFtZSB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBzcmM9Ii8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3NCV1BDdmR2OEJrP2F1dG9wbGF5PTEiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+
ENJOY AURORA BOREALIS
SUBSCRIBE TO NEWSLETTER
INTERGALACTIC COMPANY
"Ridiculus enim cras placerat facilisis amet lorem ipsum scelerisque sagittis lorem tis!"
Jojn Doe, CEO
Tel.: +1 (800) 123-45-67, +1 (800) 123-45-68
Fax: +1 (800) 123-45-69 (any time, 24/7/365)
E-mail: info@intergalactic.company
Website: http://www.intergalactic.company
Address:
221, Mount Olimpus,
Rheasilvia region, Mars,
Solar System, Milky Way Galaxy
Do you want more traffic?
Dignissim enim porta aliquam nisi pellentesque. Pulvinar rhoncus magnis turpis sit odio pid pulvinar mattis integer aliquam!
  • Goblinus globalus fantumo tubus dia
  • Scelerisque cursus dignissim lopatico
  • Montes vutario lacus quis preambul
  • Leftomato denitro oculus softam lorum
  • Spiratio dodenus christmas gulleria tix
  • Dualo fitemus lacus quis preambul bela
PGlmcmFtZSB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBzcmM9Imh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvajhsU2NITzJtTTAiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+
* we never share your details with third parties.
Do you want massive traffic?
Scelerisque augue ac hac, aliquet, nascetur turpis. Augue diam phasellus odio lorem integer, aliquam aliquam sociis nisi adipiscing hacac.
  • Goblinus globalus fantumo tubus dia
  • Scelerisque cursus dignissim lopatico
  • Montes vutario lacus quis preambul
  • Leftomato denitro oculus softam lorum
  • Spiratio dodenus christmas gulleria tix
  • Dualo fitemus lacus quis preambul bela
PGlmcmFtZSB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBzcmM9Imh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvajhsU2NITzJtTTAiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+
* we never share your details with third parties.
CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZl9icm93c2VyX3Vua25vd24gZ2Zvcm1fd3JhcHBlcicgaWQ9J2dmb3JtX3dyYXBwZXJfMjMnIHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxhIGlkPSdnZl8yMycgbmFtZT0nZ2ZfMjMnIGNsYXNzPSdnZm9ybV9hbmNob3InID48L2E+PGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJyB0YXJnZXQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnIGlkPSdnZm9ybV8yMycgIGFjdGlvbj0nL3N0b3JhZ2UtZWR1Y2F0aW9uLWxlYXJuaW5nLXJlc291cmNlcy12bXdhcmUtYWRtaW5zLyNnZl8yMyc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2JvZHknPjx1bCBpZD0nZ2Zvcm1fZmllbGRzXzIzJyBjbGFzcz0nZ2Zvcm1fZmllbGRzIHRvcF9sYWJlbCBmb3JtX3N1YmxhYmVsX2JlbG93IGRlc2NyaXB0aW9uX2JlbG93Jz48bGkgaWQ9J2ZpZWxkXzIzXzEnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMScgPkZpcnN0IE5hbWU8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzEnIGlkPSdpbnB1dF8yM18xJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzEnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfMicgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM18yJyA+TGFzdCBOYW1lPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF8yJyBpZD0naW5wdXRfMjNfMicgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PScyJyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzMnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMycgPkVtYWlsPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9J2lucHV0XzMnIGlkPSdpbnB1dF8yM18zJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyB0YWJpbmRleD0nMycgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNScgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM181JyA+Q291bnRyeTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48c2VsZWN0IG5hbWU9J2lucHV0XzUnIGlkPSdpbnB1dF8yM181JyBvbmNoYW5nZT0nZ2ZfYXBwbHlfcnVsZXMoMjMsWzRdKTsnIGNsYXNzPSdtZWRpdW0gZ2ZpZWxkX3NlbGVjdCcgdGFiaW5kZXg9JzQnID48b3B0aW9uIHZhbHVlPSdVbml0ZWQgU3RhdGVzJyBzZWxlY3RlZD0nc2VsZWN0ZWQnPlVuaXRlZCBTdGF0ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYW5hZGEnID5DYW5hZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVbml0ZWQgS2luZ2RvbScgPlVuaXRlZCBLaW5nZG9tPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXVzdHJhbGlhJyA+QXVzdHJhbGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWZnaGFuaXN0YW4nID5BZmdoYW5pc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsYmFuaWEnID5BbGJhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWxnZXJpYScgPkFsZ2VyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbWVyaWNhbiBTYW1vYScgPkFtZXJpY2FuIFNhbW9hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW5kb3JyYScgPkFuZG9ycmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbmdvbGEnID5BbmdvbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbnRpZ3VhIGFuZCBCYXJidWRhJyA+QW50aWd1YSBhbmQgQmFyYnVkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FyZ2VudGluYScgPkFyZ2VudGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVuaWEnID5Bcm1lbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXVzdHJpYScgPkF1c3RyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBemVyYmFpamFuJyA+QXplcmJhaWphbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhaGFtYXMnID5CYWhhbWFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFocmFpbicgPkJhaHJhaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYW5nbGFkZXNoJyA+QmFuZ2xhZGVzaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhcmJhZG9zJyA+QmFyYmFkb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZWxhcnVzJyA+QmVsYXJ1czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbGdpdW0nID5CZWxnaXVtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVsaXplJyA+QmVsaXplPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVuaW4nID5CZW5pbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Jlcm11ZGEnID5CZXJtdWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmh1dGFuJyA+Qmh1dGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQm9saXZpYScgPkJvbGl2aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCb3NuaWEgYW5kIEhlcnplZ292aW5hJyA+Qm9zbmlhIGFuZCBIZXJ6ZWdvdmluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JvdHN3YW5hJyA+Qm90c3dhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCcmF6aWwnID5CcmF6aWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCcnVuZWknID5CcnVuZWk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCdWxnYXJpYScgPkJ1bGdhcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVya2luYSBGYXNvJyA+QnVya2luYSBGYXNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVydW5kaScgPkJ1cnVuZGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYW1ib2RpYScgPkNhbWJvZGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FtZXJvb24nID5DYW1lcm9vbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhcGUgVmVyZGUnID5DYXBlIFZlcmRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2F5bWFuIElzbGFuZHMnID5DYXltYW4gSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycgPkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoYWQnID5DaGFkPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2hpbGUnID5DaGlsZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoaW5hJyA+Q2hpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb2xvbWJpYScgPkNvbG9tYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29tb3JvcycgPkNvbW9yb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUnID5Db25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25nbywgUmVwdWJsaWMgb2YgdGhlJyA+Q29uZ28sIFJlcHVibGljIG9mIHRoZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nvc3RhIFJpY2EnID5Db3N0YSBSaWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQyZvY2lyYzt0ZSBkJiMwMzk7SXZvaXJlJyA+QyZvY2lyYzt0ZSBkJiMwMzk7SXZvaXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3JvYXRpYScgPkNyb2F0aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDdWJhJyA+Q3ViYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0N5cHJ1cycgPkN5cHJ1czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0N6ZWNoIFJlcHVibGljJyA+Q3plY2ggUmVwdWJsaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEZW5tYXJrJyA+RGVubWFyazwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RqaWJvdXRpJyA+RGppYm91dGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEb21pbmljYScgPkRvbWluaWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRG9taW5pY2FuIFJlcHVibGljJyA+RG9taW5pY2FuIFJlcHVibGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWFzdCBUaW1vcicgPkVhc3QgVGltb3I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFY3VhZG9yJyA+RWN1YWRvcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VneXB0JyA+RWd5cHQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFbCBTYWx2YWRvcicgPkVsIFNhbHZhZG9yPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXF1YXRvcmlhbCBHdWluZWEnID5FcXVhdG9yaWFsIEd1aW5lYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VyaXRyZWEnID5Fcml0cmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXN0b25pYScgPkVzdG9uaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFdGhpb3BpYScgPkV0aGlvcGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRmlqaScgPkZpamk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGaW5sYW5kJyA+RmlubGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ZyYW5jZScgPkZyYW5jZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dhYm9uJyA+R2Fib248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHYW1iaWEnID5HYW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHZW9yZ2lhJyA+R2VvcmdpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dlcm1hbnknID5HZXJtYW55PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2hhbmEnID5HaGFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZWVjZScgPkdyZWVjZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZWVubGFuZCcgPkdyZWVubGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZW5hZGEnID5HcmVuYWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VhbScgPkd1YW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWF0ZW1hbGEnID5HdWF0ZW1hbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWluZWEnID5HdWluZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWluZWEtQmlzc2F1JyA+R3VpbmVhLUJpc3NhdTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1eWFuYScgPkd1eWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hhaXRpJyA+SGFpdGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIb25kdXJhcycgPkhvbmR1cmFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSG9uZyBLb25nJyA+SG9uZyBLb25nPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSHVuZ2FyeScgPkh1bmdhcnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJY2VsYW5kJyA+SWNlbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0luZGlhJyA+SW5kaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRvbmVzaWEnID5JbmRvbmVzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJcmFuJyA+SXJhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lyYXEnID5JcmFxPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXJlbGFuZCcgPklyZWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJc3JhZWwnID5Jc3JhZWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJdGFseScgPkl0YWx5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSmFtYWljYScgPkphbWFpY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdKYXBhbicgPkphcGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSm9yZGFuJyA+Sm9yZGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2F6YWtoc3RhbicgPkthemFraHN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLZW55YScgPktlbnlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2lyaWJhdGknID5LaXJpYmF0aTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoIEtvcmVhJyA+Tm9ydGggS29yZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBLb3JlYScgPlNvdXRoIEtvcmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS3V3YWl0JyA+S3V3YWl0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS3lyZ3l6c3RhbicgPkt5cmd5enN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMYW9zJyA+TGFvczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xhdHZpYScgPkxhdHZpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xlYmFub24nID5MZWJhbm9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGVzb3RobycgPkxlc290aG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWJlcmlhJyA+TGliZXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpYnlhJyA+TGlieWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWVjaHRlbnN0ZWluJyA+TGllY2h0ZW5zdGVpbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpdGh1YW5pYScgPkxpdGh1YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0x1eGVtYm91cmcnID5MdXhlbWJvdXJnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFjZWRvbmlhJyA+TWFjZWRvbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFkYWdhc2NhcicgPk1hZGFnYXNjYXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxhd2knID5NYWxhd2k8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxheXNpYScgPk1hbGF5c2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsZGl2ZXMnID5NYWxkaXZlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGknID5NYWxpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsdGEnID5NYWx0YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hcnNoYWxsIElzbGFuZHMnID5NYXJzaGFsbCBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWF1cml0YW5pYScgPk1hdXJpdGFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXVyaXRpdXMnID5NYXVyaXRpdXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNZXhpY28nID5NZXhpY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaWNyb25lc2lhJyA+TWljcm9uZXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbGRvdmEnID5Nb2xkb3ZhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9uYWNvJyA+TW9uYWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9uZ29saWEnID5Nb25nb2xpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbnRlbmVncm8nID5Nb250ZW5lZ3JvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9yb2NjbycgPk1vcm9jY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb3phbWJpcXVlJyA+TW96YW1iaXF1ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J015YW5tYXInID5NeWFubWFyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmFtaWJpYScgPk5hbWliaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOYXVydScgPk5hdXJ1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmVwYWwnID5OZXBhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldGhlcmxhbmRzJyA+TmV0aGVybGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgWmVhbGFuZCcgPk5ldyBaZWFsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmljYXJhZ3VhJyA+TmljYXJhZ3VhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmlnZXInID5OaWdlcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pZ2VyaWEnID5OaWdlcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9yd2F5JyA+Tm9yd2F5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzJyA+Tm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT21hbicgPk9tYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYWtpc3RhbicgPlBha2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFsYXUnID5QYWxhdTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbGVzdGluZScgPlBhbGVzdGluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbmFtYScgPlBhbmFtYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhcHVhIE5ldyBHdWluZWEnID5QYXB1YSBOZXcgR3VpbmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFyYWd1YXknID5QYXJhZ3VheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BlcnUnID5QZXJ1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGhpbGlwcGluZXMnID5QaGlsaXBwaW5lczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BvbGFuZCcgPlBvbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BvcnR1Z2FsJyA+UG9ydHVnYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQdWVydG8gUmljbycgPlB1ZXJ0byBSaWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUWF0YXInID5RYXRhcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1JvbWFuaWEnID5Sb21hbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUnVzc2lhJyA+UnVzc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUndhbmRhJyA+UndhbmRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FpbnQgS2l0dHMgYW5kIE5ldmlzJyA+U2FpbnQgS2l0dHMgYW5kIE5ldmlzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FpbnQgTHVjaWEnID5TYWludCBMdWNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzJyA+U2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW1vYScgPlNhbW9hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FuIE1hcmlubycgPlNhbiBNYXJpbm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW8gVG9tZSBhbmQgUHJpbmNpcGUnID5TYW8gVG9tZSBhbmQgUHJpbmNpcGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYXVkaSBBcmFiaWEnID5TYXVkaSBBcmFiaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZW5lZ2FsJyA+U2VuZWdhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NlcmJpYSBhbmQgTW9udGVuZWdybycgPlNlcmJpYSBhbmQgTW9udGVuZWdybzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NleWNoZWxsZXMnID5TZXljaGVsbGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2llcnJhIExlb25lJyA+U2llcnJhIExlb25lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2luZ2Fwb3JlJyA+U2luZ2Fwb3JlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2xvdmFraWEnID5TbG92YWtpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Nsb3ZlbmlhJyA+U2xvdmVuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb2xvbW9uIElzbGFuZHMnID5Tb2xvbW9uIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb21hbGlhJyA+U29tYWxpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIEFmcmljYScgPlNvdXRoIEFmcmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NwYWluJyA+U3BhaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTcmkgTGFua2EnID5TcmkgTGFua2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTdWRhbicgPlN1ZGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VkYW4sIFNvdXRoJyA+U3VkYW4sIFNvdXRoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VyaW5hbWUnID5TdXJpbmFtZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3YXppbGFuZCcgPlN3YXppbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3ZWRlbicgPlN3ZWRlbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3aXR6ZXJsYW5kJyA+U3dpdHplcmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTeXJpYScgPlN5cmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFpd2FuJyA+VGFpd2FuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFqaWtpc3RhbicgPlRhamlraXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUYW56YW5pYScgPlRhbnphbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGhhaWxhbmQnID5UaGFpbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RvZ28nID5Ub2dvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVG9uZ2EnID5Ub25nYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RyaW5pZGFkIGFuZCBUb2JhZ28nID5UcmluaWRhZCBhbmQgVG9iYWdvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVuaXNpYScgPlR1bmlzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXJrZXknID5UdXJrZXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXJrbWVuaXN0YW4nID5UdXJrbWVuaXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXZhbHUnID5UdXZhbHU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVZ2FuZGEnID5VZ2FuZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVa3JhaW5lJyA+VWtyYWluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VuaXRlZCBBcmFiIEVtaXJhdGVzJyA+VW5pdGVkIEFyYWIgRW1pcmF0ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVcnVndWF5JyA+VXJ1Z3VheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1V6YmVraXN0YW4nID5VemJla2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmFudWF0dScgPlZhbnVhdHU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWYXRpY2FuIENpdHknID5WYXRpY2FuIENpdHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWZW5lenVlbGEnID5WZW5lenVlbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaWV0bmFtJyA+VmlldG5hbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpcmdpbiBJc2xhbmRzLCBCcml0aXNoJyA+VmlyZ2luIElzbGFuZHMsIEJyaXRpc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaXJnaW4gSXNsYW5kcywgVS5TLicgPlZpcmdpbiBJc2xhbmRzLCBVLlMuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nWWVtZW4nID5ZZW1lbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1phbWJpYScgPlphbWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ppbWJhYndlJyA+WmltYmFid2U8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNCcgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzQnID5TdGF0ZTwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF80JyBpZD0naW5wdXRfMjNfNCcgIGNsYXNzPSdtZWRpdW0gZ2ZpZWxkX3NlbGVjdCcgdGFiaW5kZXg9JzUnID48b3B0aW9uIHZhbHVlPSdBbGFiYW1hJyA+QWxhYmFtYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsYXNrYScgPkFsYXNrYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FyaXpvbmEnID5Bcml6b25hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJrYW5zYXMnID5BcmthbnNhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbGlmb3JuaWEnID5DYWxpZm9ybmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29sb3JhZG8nID5Db2xvcmFkbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nvbm5lY3RpY3V0JyA+Q29ubmVjdGljdXQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEZWxhd2FyZScgPkRlbGF3YXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGlzdHJpY3Qgb2YgQ29sdW1iaWEnID5EaXN0cmljdCBvZiBDb2x1bWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Zsb3JpZGEnID5GbG9yaWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2VvcmdpYScgPkdlb3JnaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIYXdhaWknID5IYXdhaWk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJZGFobycgPklkYWhvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWxsaW5vaXMnID5JbGxpbm9pczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0luZGlhbmEnID5JbmRpYW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW93YScgPklvd2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLYW5zYXMnID5LYW5zYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLZW50dWNreScgPktlbnR1Y2t5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTG91aXNpYW5hJyA+TG91aXNpYW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFpbmUnID5NYWluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hcnlsYW5kJyA+TWFyeWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXNzYWNodXNldHRzJyA+TWFzc2FjaHVzZXR0czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pY2hpZ2FuJyA+TWljaGlnYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaW5uZXNvdGEnID5NaW5uZXNvdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaXNzaXNzaXBwaScgPk1pc3Npc3NpcHBpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlzc291cmknID5NaXNzb3VyaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbnRhbmEnID5Nb250YW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmVicmFza2EnID5OZWJyYXNrYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldmFkYScgPk5ldmFkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBIYW1wc2hpcmUnID5OZXcgSGFtcHNoaXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IEplcnNleScgPk5ldyBKZXJzZXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgTWV4aWNvJyA+TmV3IE1leGljbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBZb3JrJyA+TmV3IFlvcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aCBDYXJvbGluYScgPk5vcnRoIENhcm9saW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGggRGFrb3RhJyA+Tm9ydGggRGFrb3RhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT2hpbycgPk9oaW88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdPa2xhaG9tYScgPk9rbGFob21hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT3JlZ29uJyA+T3JlZ29uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGVubnN5bHZhbmlhJyA+UGVubnN5bHZhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUmhvZGUgSXNsYW5kJyA+UmhvZGUgSXNsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggQ2Fyb2xpbmEnID5Tb3V0aCBDYXJvbGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIERha290YScgPlNvdXRoIERha290YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Rlbm5lc3NlZScgPlRlbm5lc3NlZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RleGFzJyA+VGV4YXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVdGFoJyA+VXRhaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Zlcm1vbnQnID5WZXJtb250PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlyZ2luaWEnID5WaXJnaW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1dhc2hpbmd0b24nID5XYXNoaW5ndG9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV2VzdCBWaXJnaW5pYScgPldlc3QgVmlyZ2luaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXaXNjb25zaW4nID5XaXNjb25zaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXeW9taW5nJyA+V3lvbWluZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBBbWVyaWNhcycgPkFybWVkIEZvcmNlcyBBbWVyaWNhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBFdXJvcGUnID5Bcm1lZCBGb3JjZXMgRXVyb3BlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJtZWQgRm9yY2VzIFBhY2lmaWMnID5Bcm1lZCBGb3JjZXMgUGFjaWZpYzwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM182JyBjbGFzcz0nZ2ZpZWxkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNicgPlBob25lPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfNicgaWQ9J2lucHV0XzIzXzYnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nIHRhYmluZGV4PSc2JyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzcnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNycgPkNvbXBhbnk8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzcnIGlkPSdpbnB1dF8yM183JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzcnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfOCcgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzgnID5Kb2IgVGl0bGU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF84JyBpZD0naW5wdXRfMjNfOCcgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PSc4JyAgIC8+PC9kaXY+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1fZm9vdGVyIHRvcF9sYWJlbCc+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIGlkPSdnZm9ybV9zdWJtaXRfYnV0dG9uXzIzJyBjbGFzcz0nZ2Zvcm1fYnV0dG9uIGJ1dHRvbicgdmFsdWU9J1JlZ2lzdGVyIE5vdyEnIHRhYmluZGV4PSc5JyBvbmNsaWNrPSdpZih3aW5kb3dbImdmX3N1Ym1pdHRpbmdfMjMiXSl7cmV0dXJuIGZhbHNlO30gIHdpbmRvd1siZ2Zfc3VibWl0dGluZ18yMyJdPXRydWU7ICAnIC8+IDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2FqYXgnIHZhbHVlPSdmb3JtX2lkPTIzJmFtcDt0aXRsZT0mYW1wO2Rlc2NyaXB0aW9uPSZhbXA7dGFiaW5kZXg9MScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0naXNfc3VibWl0XzIzJyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc3VibWl0JyB2YWx1ZT0nMjMnIC8+CiAgICAgICAgICAgIAogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV91bmlxdWVfaWQnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J3N0YXRlXzIzJyB2YWx1ZT0nV3lKYlhTSXNJbU5oT0RVM1ltWXdNRFl3TkRjd01UbGpNbUV5TWpBMk5HWmhaREF3TnpBMUlsMD0nIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8yMycgaWQ9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8yMycgdmFsdWU9JzAnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycgaWQ9J2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2ZpZWxkX3ZhbHVlcycgdmFsdWU9JycgLz4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aWZyYW1lIHN0eWxlPSdkaXNwbGF5Om5vbmU7d2lkdGg6MHB4O2hlaWdodDowcHg7JyBzcmM9J2Fib3V0OmJsYW5rJyBuYW1lPSdnZm9ybV9hamF4X2ZyYW1lXzIzJyBpZD0nZ2Zvcm1fYWpheF9mcmFtZV8yMyc+PC9pZnJhbWU+CiAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKXtnZm9ybUluaXRTcGlubmVyKCAyMywgJ2h0dHA6Ly93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5naWYnICk7alF1ZXJ5KCcjZ2Zvcm1fYWpheF9mcmFtZV8yMycpLmxvYWQoIGZ1bmN0aW9uKCl7dmFyIGNvbnRlbnRzID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnKicpLmh0bWwoKTt2YXIgaXNfcG9zdGJhY2sgPSBjb250ZW50cy5pbmRleE9mKCdHRl9BSkFYX1BPU1RCQUNLJykgPj0gMDtpZighaXNfcG9zdGJhY2spe3JldHVybjt9dmFyIGZvcm1fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV93cmFwcGVyXzIzJyk7dmFyIGlzX2NvbmZpcm1hdGlvbiA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV9jb25maXJtYXRpb25fd3JhcHBlcl8yMycpLmxlbmd0aCA+IDA7dmFyIGlzX3JlZGlyZWN0ID0gY29udGVudHMuaW5kZXhPZignZ2Zvcm1SZWRpcmVjdCgpeycpID49IDA7dmFyIGlzX2Zvcm0gPSBmb3JtX2NvbnRlbnQubGVuZ3RoID4gMCAmJiAhIGlzX3JlZGlyZWN0ICYmICEgaXNfY29uZmlybWF0aW9uO2lmKGlzX2Zvcm0pe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5odG1sKGZvcm1fY29udGVudC5odG1sKCkpO3NldFRpbWVvdXQoIGZ1bmN0aW9uKCkgeyAvKiBkZWxheSB0aGUgc2Nyb2xsIGJ5IDUwIG1pbGxpc2Vjb25kcyB0byBmaXggYSBidWcgaW4gY2hyb21lICovIGpRdWVyeShkb2N1bWVudCkuc2Nyb2xsVG9wKGpRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5vZmZzZXQoKS50b3ApOyB9LCA1MCApO2lmKHdpbmRvd1snZ2Zvcm1Jbml0RGF0ZXBpY2tlciddKSB7Z2Zvcm1Jbml0RGF0ZXBpY2tlcigpO31pZih3aW5kb3dbJ2dmb3JtSW5pdFByaWNlRmllbGRzJ10pIHtnZm9ybUluaXRQcmljZUZpZWxkcygpO312YXIgY3VycmVudF9wYWdlID0galF1ZXJ5KCcjZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzIzJykudmFsKCk7Z2Zvcm1Jbml0U3Bpbm5lciggMjMsICdodHRwOi8vd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcGFnZV9sb2FkZWQnLCBbMjMsIGN1cnJlbnRfcGFnZV0pO3dpbmRvd1snZ2Zfc3VibWl0dGluZ18yMyddID0gZmFsc2U7fWVsc2UgaWYoIWlzX3JlZGlyZWN0KXt2YXIgY29uZmlybWF0aW9uX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzJykuaHRtbCgpO2lmKCFjb25maXJtYXRpb25fY29udGVudCl7Y29uZmlybWF0aW9uX2NvbnRlbnQgPSBjb250ZW50czt9c2V0VGltZW91dChmdW5jdGlvbigpe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5yZXBsYWNlV2l0aCgnPCcgKyAnZGl2IGlkPVwnZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzXCcgY2xhc3M9XCdnZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZV8yMyBnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VcJycgKyAnPicgKyBjb25maXJtYXRpb25fY29udGVudCArICc8JyArICcvZGl2JyArICc+Jyk7alF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzJykub2Zmc2V0KCkudG9wKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX2NvbmZpcm1hdGlvbl9sb2FkZWQnLCBbMjNdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfMjMnXSA9IGZhbHNlO30sIDUwKTt9ZWxzZXtqUXVlcnkoJyNnZm9ybV8yMycpLmFwcGVuZChjb250ZW50cyk7aWYod2luZG93WydnZm9ybVJlZGlyZWN0J10pIHtnZm9ybVJlZGlyZWN0KCk7fX1qUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzIzLCBjdXJyZW50X3BhZ2VdKTt9ICk7fSApOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4gaWYodHlwZW9mIGdmX2dsb2JhbCA9PSAndW5kZWZpbmVkJykgdmFyIGdmX2dsb2JhbCA9IHsiZ2ZfY3VycmVuY3lfY29uZmlnIjp7Im5hbWUiOiJVLlMuIERvbGxhciIsInN5bWJvbF9sZWZ0IjoiJCIsInN5bWJvbF9yaWdodCI6IiIsInN5bWJvbF9wYWRkaW5nIjoiIiwidGhvdXNhbmRfc2VwYXJhdG9yIjoiLCIsImRlY2ltYWxfc2VwYXJhdG9yIjoiLiIsImRlY2ltYWxzIjoyfSwiYmFzZV91cmwiOiJodHRwOlwvXC93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3JtcyIsIm51bWJlcl9mb3JtYXRzIjpbXSwic3Bpbm5lclVybCI6Imh0dHA6XC9cL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvZ3Jhdml0eWZvcm1zXC9pbWFnZXNcL3NwaW5uZXIuZ2lmIn07alF1ZXJ5KGRvY3VtZW50KS5iaW5kKCdnZm9ybV9wb3N0X3JlbmRlcicsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGN1cnJlbnRQYWdlKXtpZihmb3JtSWQgPT0gMjMpIHtpZih3aW5kb3dbJ2pRdWVyeSddKXtpZighd2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ10pd2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ10gPSBuZXcgQXJyYXkoKTt3aW5kb3dbJ2dmX2Zvcm1fY29uZGl0aW9uYWxfbG9naWMnXVsyM10gPSB7J2xvZ2ljJyA6IHs0OiB7ImZpZWxkIjp7ImFjdGlvblR5cGUiOiJoaWRlIiwibG9naWNUeXBlIjoiYWxsIiwicnVsZXMiOlt7ImZpZWxkSWQiOiI1Iiwib3BlcmF0b3IiOiJpc25vdCIsInZhbHVlIjoiVW5pdGVkIFN0YXRlcyJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9IH0sICdkZXBlbmRlbnRzJyA6IHs0OiBbNF0gfSwgJ2FuaW1hdGlvbicgOiAwICwgJ2RlZmF1bHRzJyA6IHsiNSI6IlVuaXRlZCBTdGF0ZXMifSB9OyBpZighd2luZG93WydnZl9udW1iZXJfZm9ybWF0J10pd2luZG93WydnZl9udW1iZXJfZm9ybWF0J10gPSAnZGVjaW1hbF9kb3QnO2pRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtnZl9hcHBseV9ydWxlcygyMywgWzRdLCB0cnVlKTtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykuc2hvdygpO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9jb25kaXRpb25hbF9sb2dpYycsIFsyMywgbnVsbCwgdHJ1ZV0pO30gKTt9IGdmb3JtSW5pdENob3NlbkZpZWxkcygnI2lucHV0XzIzXzUsI2lucHV0XzIzXzQnLCdObyByZXN1bHRzIG1hdGNoZWQnKTt9IH0gKTtqUXVlcnkoZG9jdW1lbnQpLmJpbmQoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBmaWVsZHMsIGlzSW5pdCl7Z2Zvcm1Jbml0Q2hvc2VuRmllbGRzKCcjaW5wdXRfMjNfNSwjaW5wdXRfMjNfNCcsJ05vIHJlc3VsdHMgbWF0Y2hlZCcpO30gKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzIzLCAxXSkgfSApOyA8L3NjcmlwdD4=
Can't Make the time?
Can't Make the Webinar Time?

Request the Recording!
If you haven’t had these virtual machine problems yet – you will! These VM problems and their solutions have been selected based on the real-world feedback from thousands of VMware Admins and you’ll have two vExperts on the webinar to offer insight and remedies.
arrow-right-green
CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZl9icm93c2VyX3Vua25vd24gZ2Zvcm1fd3JhcHBlcicgaWQ9J2dmb3JtX3dyYXBwZXJfMjMnIHN0eWxlPSdkaXNwbGF5Om5vbmUnPjxhIGlkPSdnZl8yMycgbmFtZT0nZ2ZfMjMnIGNsYXNzPSdnZm9ybV9hbmNob3InID48L2E+PGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJyB0YXJnZXQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnIGlkPSdnZm9ybV8yMycgIGFjdGlvbj0nL3N0b3JhZ2UtZWR1Y2F0aW9uLWxlYXJuaW5nLXJlc291cmNlcy12bXdhcmUtYWRtaW5zLyNnZl8yMyc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2JvZHknPjx1bCBpZD0nZ2Zvcm1fZmllbGRzXzIzJyBjbGFzcz0nZ2Zvcm1fZmllbGRzIHRvcF9sYWJlbCBmb3JtX3N1YmxhYmVsX2JlbG93IGRlc2NyaXB0aW9uX2JlbG93Jz48bGkgaWQ9J2ZpZWxkXzIzXzEnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMScgPkZpcnN0IE5hbWU8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzEnIGlkPSdpbnB1dF8yM18xJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzEnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfMicgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM18yJyA+TGFzdCBOYW1lPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF8yJyBpZD0naW5wdXRfMjNfMicgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PScyJyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzMnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMycgPkVtYWlsPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9J2lucHV0XzMnIGlkPSdpbnB1dF8yM18zJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyB0YWJpbmRleD0nMycgICAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNScgY2xhc3M9J2dmaWVsZCBnZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM181JyA+Q291bnRyeTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48c2VsZWN0IG5hbWU9J2lucHV0XzUnIGlkPSdpbnB1dF8yM181JyBvbmNoYW5nZT0nZ2ZfYXBwbHlfcnVsZXMoMjMsWzRdKTsnIGNsYXNzPSdtZWRpdW0gZ2ZpZWxkX3NlbGVjdCcgdGFiaW5kZXg9JzQnID48b3B0aW9uIHZhbHVlPSdVbml0ZWQgU3RhdGVzJyBzZWxlY3RlZD0nc2VsZWN0ZWQnPlVuaXRlZCBTdGF0ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYW5hZGEnID5DYW5hZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVbml0ZWQgS2luZ2RvbScgPlVuaXRlZCBLaW5nZG9tPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXVzdHJhbGlhJyA+QXVzdHJhbGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWZnaGFuaXN0YW4nID5BZmdoYW5pc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsYmFuaWEnID5BbGJhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQWxnZXJpYScgPkFsZ2VyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbWVyaWNhbiBTYW1vYScgPkFtZXJpY2FuIFNhbW9hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW5kb3JyYScgPkFuZG9ycmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbmdvbGEnID5BbmdvbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbnRpZ3VhIGFuZCBCYXJidWRhJyA+QW50aWd1YSBhbmQgQmFyYnVkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FyZ2VudGluYScgPkFyZ2VudGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVuaWEnID5Bcm1lbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXVzdHJpYScgPkF1c3RyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBemVyYmFpamFuJyA+QXplcmJhaWphbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhaGFtYXMnID5CYWhhbWFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFocmFpbicgPkJhaHJhaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYW5nbGFkZXNoJyA+QmFuZ2xhZGVzaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhcmJhZG9zJyA+QmFyYmFkb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZWxhcnVzJyA+QmVsYXJ1czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbGdpdW0nID5CZWxnaXVtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVsaXplJyA+QmVsaXplPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVuaW4nID5CZW5pbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Jlcm11ZGEnID5CZXJtdWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmh1dGFuJyA+Qmh1dGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQm9saXZpYScgPkJvbGl2aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCb3NuaWEgYW5kIEhlcnplZ292aW5hJyA+Qm9zbmlhIGFuZCBIZXJ6ZWdvdmluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JvdHN3YW5hJyA+Qm90c3dhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCcmF6aWwnID5CcmF6aWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCcnVuZWknID5CcnVuZWk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCdWxnYXJpYScgPkJ1bGdhcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVya2luYSBGYXNvJyA+QnVya2luYSBGYXNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVydW5kaScgPkJ1cnVuZGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYW1ib2RpYScgPkNhbWJvZGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FtZXJvb24nID5DYW1lcm9vbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhcGUgVmVyZGUnID5DYXBlIFZlcmRlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2F5bWFuIElzbGFuZHMnID5DYXltYW4gSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycgPkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoYWQnID5DaGFkPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2hpbGUnID5DaGlsZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoaW5hJyA+Q2hpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb2xvbWJpYScgPkNvbG9tYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29tb3JvcycgPkNvbW9yb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUnID5Db25nbywgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25nbywgUmVwdWJsaWMgb2YgdGhlJyA+Q29uZ28sIFJlcHVibGljIG9mIHRoZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nvc3RhIFJpY2EnID5Db3N0YSBSaWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQyZvY2lyYzt0ZSBkJiMwMzk7SXZvaXJlJyA+QyZvY2lyYzt0ZSBkJiMwMzk7SXZvaXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3JvYXRpYScgPkNyb2F0aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDdWJhJyA+Q3ViYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0N5cHJ1cycgPkN5cHJ1czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0N6ZWNoIFJlcHVibGljJyA+Q3plY2ggUmVwdWJsaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEZW5tYXJrJyA+RGVubWFyazwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RqaWJvdXRpJyA+RGppYm91dGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEb21pbmljYScgPkRvbWluaWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRG9taW5pY2FuIFJlcHVibGljJyA+RG9taW5pY2FuIFJlcHVibGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWFzdCBUaW1vcicgPkVhc3QgVGltb3I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFY3VhZG9yJyA+RWN1YWRvcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VneXB0JyA+RWd5cHQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFbCBTYWx2YWRvcicgPkVsIFNhbHZhZG9yPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXF1YXRvcmlhbCBHdWluZWEnID5FcXVhdG9yaWFsIEd1aW5lYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VyaXRyZWEnID5Fcml0cmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXN0b25pYScgPkVzdG9uaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFdGhpb3BpYScgPkV0aGlvcGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRmlqaScgPkZpamk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGaW5sYW5kJyA+RmlubGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ZyYW5jZScgPkZyYW5jZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dhYm9uJyA+R2Fib248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHYW1iaWEnID5HYW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHZW9yZ2lhJyA+R2VvcmdpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dlcm1hbnknID5HZXJtYW55PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2hhbmEnID5HaGFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZWVjZScgPkdyZWVjZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZWVubGFuZCcgPkdyZWVubGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dyZW5hZGEnID5HcmVuYWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VhbScgPkd1YW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWF0ZW1hbGEnID5HdWF0ZW1hbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWluZWEnID5HdWluZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdWluZWEtQmlzc2F1JyA+R3VpbmVhLUJpc3NhdTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1eWFuYScgPkd1eWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hhaXRpJyA+SGFpdGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIb25kdXJhcycgPkhvbmR1cmFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSG9uZyBLb25nJyA+SG9uZyBLb25nPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSHVuZ2FyeScgPkh1bmdhcnk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJY2VsYW5kJyA+SWNlbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0luZGlhJyA+SW5kaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRvbmVzaWEnID5JbmRvbmVzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJcmFuJyA+SXJhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lyYXEnID5JcmFxPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXJlbGFuZCcgPklyZWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJc3JhZWwnID5Jc3JhZWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJdGFseScgPkl0YWx5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSmFtYWljYScgPkphbWFpY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdKYXBhbicgPkphcGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSm9yZGFuJyA+Sm9yZGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2F6YWtoc3RhbicgPkthemFraHN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLZW55YScgPktlbnlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2lyaWJhdGknID5LaXJpYmF0aTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoIEtvcmVhJyA+Tm9ydGggS29yZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBLb3JlYScgPlNvdXRoIEtvcmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS3V3YWl0JyA+S3V3YWl0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS3lyZ3l6c3RhbicgPkt5cmd5enN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMYW9zJyA+TGFvczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xhdHZpYScgPkxhdHZpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xlYmFub24nID5MZWJhbm9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGVzb3RobycgPkxlc290aG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWJlcmlhJyA+TGliZXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpYnlhJyA+TGlieWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWVjaHRlbnN0ZWluJyA+TGllY2h0ZW5zdGVpbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xpdGh1YW5pYScgPkxpdGh1YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0x1eGVtYm91cmcnID5MdXhlbWJvdXJnPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFjZWRvbmlhJyA+TWFjZWRvbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFkYWdhc2NhcicgPk1hZGFnYXNjYXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxhd2knID5NYWxhd2k8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxheXNpYScgPk1hbGF5c2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsZGl2ZXMnID5NYWxkaXZlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGknID5NYWxpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsdGEnID5NYWx0YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hcnNoYWxsIElzbGFuZHMnID5NYXJzaGFsbCBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWF1cml0YW5pYScgPk1hdXJpdGFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXVyaXRpdXMnID5NYXVyaXRpdXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNZXhpY28nID5NZXhpY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaWNyb25lc2lhJyA+TWljcm9uZXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbGRvdmEnID5Nb2xkb3ZhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9uYWNvJyA+TW9uYWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9uZ29saWEnID5Nb25nb2xpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbnRlbmVncm8nID5Nb250ZW5lZ3JvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW9yb2NjbycgPk1vcm9jY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb3phbWJpcXVlJyA+TW96YW1iaXF1ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J015YW5tYXInID5NeWFubWFyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmFtaWJpYScgPk5hbWliaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOYXVydScgPk5hdXJ1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmVwYWwnID5OZXBhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldGhlcmxhbmRzJyA+TmV0aGVybGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgWmVhbGFuZCcgPk5ldyBaZWFsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmljYXJhZ3VhJyA+TmljYXJhZ3VhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmlnZXInID5OaWdlcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pZ2VyaWEnID5OaWdlcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9yd2F5JyA+Tm9yd2F5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzJyA+Tm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT21hbicgPk9tYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYWtpc3RhbicgPlBha2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFsYXUnID5QYWxhdTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbGVzdGluZScgPlBhbGVzdGluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbmFtYScgPlBhbmFtYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhcHVhIE5ldyBHdWluZWEnID5QYXB1YSBOZXcgR3VpbmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFyYWd1YXknID5QYXJhZ3VheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BlcnUnID5QZXJ1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGhpbGlwcGluZXMnID5QaGlsaXBwaW5lczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BvbGFuZCcgPlBvbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BvcnR1Z2FsJyA+UG9ydHVnYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQdWVydG8gUmljbycgPlB1ZXJ0byBSaWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUWF0YXInID5RYXRhcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1JvbWFuaWEnID5Sb21hbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUnVzc2lhJyA+UnVzc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUndhbmRhJyA+UndhbmRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FpbnQgS2l0dHMgYW5kIE5ldmlzJyA+U2FpbnQgS2l0dHMgYW5kIE5ldmlzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FpbnQgTHVjaWEnID5TYWludCBMdWNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzJyA+U2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW1vYScgPlNhbW9hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FuIE1hcmlubycgPlNhbiBNYXJpbm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYW8gVG9tZSBhbmQgUHJpbmNpcGUnID5TYW8gVG9tZSBhbmQgUHJpbmNpcGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYXVkaSBBcmFiaWEnID5TYXVkaSBBcmFiaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZW5lZ2FsJyA+U2VuZWdhbDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NlcmJpYSBhbmQgTW9udGVuZWdybycgPlNlcmJpYSBhbmQgTW9udGVuZWdybzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NleWNoZWxsZXMnID5TZXljaGVsbGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2llcnJhIExlb25lJyA+U2llcnJhIExlb25lPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2luZ2Fwb3JlJyA+U2luZ2Fwb3JlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2xvdmFraWEnID5TbG92YWtpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Nsb3ZlbmlhJyA+U2xvdmVuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb2xvbW9uIElzbGFuZHMnID5Tb2xvbW9uIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb21hbGlhJyA+U29tYWxpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIEFmcmljYScgPlNvdXRoIEFmcmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NwYWluJyA+U3BhaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTcmkgTGFua2EnID5TcmkgTGFua2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTdWRhbicgPlN1ZGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VkYW4sIFNvdXRoJyA+U3VkYW4sIFNvdXRoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VyaW5hbWUnID5TdXJpbmFtZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3YXppbGFuZCcgPlN3YXppbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3ZWRlbicgPlN3ZWRlbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N3aXR6ZXJsYW5kJyA+U3dpdHplcmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTeXJpYScgPlN5cmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFpd2FuJyA+VGFpd2FuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFqaWtpc3RhbicgPlRhamlraXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUYW56YW5pYScgPlRhbnphbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGhhaWxhbmQnID5UaGFpbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RvZ28nID5Ub2dvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVG9uZ2EnID5Ub25nYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RyaW5pZGFkIGFuZCBUb2JhZ28nID5UcmluaWRhZCBhbmQgVG9iYWdvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVuaXNpYScgPlR1bmlzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXJrZXknID5UdXJrZXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXJrbWVuaXN0YW4nID5UdXJrbWVuaXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUdXZhbHUnID5UdXZhbHU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVZ2FuZGEnID5VZ2FuZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVa3JhaW5lJyA+VWtyYWluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1VuaXRlZCBBcmFiIEVtaXJhdGVzJyA+VW5pdGVkIEFyYWIgRW1pcmF0ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVcnVndWF5JyA+VXJ1Z3VheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1V6YmVraXN0YW4nID5VemJla2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmFudWF0dScgPlZhbnVhdHU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWYXRpY2FuIENpdHknID5WYXRpY2FuIENpdHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWZW5lenVlbGEnID5WZW5lenVlbGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaWV0bmFtJyA+VmlldG5hbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpcmdpbiBJc2xhbmRzLCBCcml0aXNoJyA+VmlyZ2luIElzbGFuZHMsIEJyaXRpc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaXJnaW4gSXNsYW5kcywgVS5TLicgPlZpcmdpbiBJc2xhbmRzLCBVLlMuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nWWVtZW4nID5ZZW1lbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1phbWJpYScgPlphbWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ppbWJhYndlJyA+WmltYmFid2U8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNCcgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzQnID5TdGF0ZTwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF80JyBpZD0naW5wdXRfMjNfNCcgIGNsYXNzPSdtZWRpdW0gZ2ZpZWxkX3NlbGVjdCcgdGFiaW5kZXg9JzUnID48b3B0aW9uIHZhbHVlPSdBbGFiYW1hJyA+QWxhYmFtYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsYXNrYScgPkFsYXNrYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FyaXpvbmEnID5Bcml6b25hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJrYW5zYXMnID5BcmthbnNhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbGlmb3JuaWEnID5DYWxpZm9ybmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29sb3JhZG8nID5Db2xvcmFkbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nvbm5lY3RpY3V0JyA+Q29ubmVjdGljdXQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEZWxhd2FyZScgPkRlbGF3YXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGlzdHJpY3Qgb2YgQ29sdW1iaWEnID5EaXN0cmljdCBvZiBDb2x1bWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Zsb3JpZGEnID5GbG9yaWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2VvcmdpYScgPkdlb3JnaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIYXdhaWknID5IYXdhaWk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJZGFobycgPklkYWhvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWxsaW5vaXMnID5JbGxpbm9pczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0luZGlhbmEnID5JbmRpYW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW93YScgPklvd2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLYW5zYXMnID5LYW5zYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdLZW50dWNreScgPktlbnR1Y2t5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTG91aXNpYW5hJyA+TG91aXNpYW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFpbmUnID5NYWluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hcnlsYW5kJyA+TWFyeWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXNzYWNodXNldHRzJyA+TWFzc2FjaHVzZXR0czwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pY2hpZ2FuJyA+TWljaGlnYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaW5uZXNvdGEnID5NaW5uZXNvdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaXNzaXNzaXBwaScgPk1pc3Npc3NpcHBpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlzc291cmknID5NaXNzb3VyaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbnRhbmEnID5Nb250YW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmVicmFza2EnID5OZWJyYXNrYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldmFkYScgPk5ldmFkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBIYW1wc2hpcmUnID5OZXcgSGFtcHNoaXJlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IEplcnNleScgPk5ldyBKZXJzZXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgTWV4aWNvJyA+TmV3IE1leGljbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBZb3JrJyA+TmV3IFlvcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aCBDYXJvbGluYScgPk5vcnRoIENhcm9saW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGggRGFrb3RhJyA+Tm9ydGggRGFrb3RhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT2hpbycgPk9oaW88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdPa2xhaG9tYScgPk9rbGFob21hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT3JlZ29uJyA+T3JlZ29uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGVubnN5bHZhbmlhJyA+UGVubnN5bHZhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUmhvZGUgSXNsYW5kJyA+UmhvZGUgSXNsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggQ2Fyb2xpbmEnID5Tb3V0aCBDYXJvbGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIERha290YScgPlNvdXRoIERha290YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Rlbm5lc3NlZScgPlRlbm5lc3NlZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RleGFzJyA+VGV4YXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVdGFoJyA+VXRhaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Zlcm1vbnQnID5WZXJtb250PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlyZ2luaWEnID5WaXJnaW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1dhc2hpbmd0b24nID5XYXNoaW5ndG9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV2VzdCBWaXJnaW5pYScgPldlc3QgVmlyZ2luaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXaXNjb25zaW4nID5XaXNjb25zaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXeW9taW5nJyA+V3lvbWluZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBBbWVyaWNhcycgPkFybWVkIEZvcmNlcyBBbWVyaWNhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBFdXJvcGUnID5Bcm1lZCBGb3JjZXMgRXVyb3BlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXJtZWQgRm9yY2VzIFBhY2lmaWMnID5Bcm1lZCBGb3JjZXMgUGFjaWZpYzwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM182JyBjbGFzcz0nZ2ZpZWxkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNicgPlBob25lPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfNicgaWQ9J2lucHV0XzIzXzYnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nIHRhYmluZGV4PSc2JyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzcnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNycgPkNvbXBhbnk8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzcnIGlkPSdpbnB1dF8yM183JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzcnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfOCcgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzgnID5Kb2IgVGl0bGU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF84JyBpZD0naW5wdXRfMjNfOCcgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PSc4JyAgIC8+PC9kaXY+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1fZm9vdGVyIHRvcF9sYWJlbCc+IDxpbnB1dCB0eXBlPSdzdWJtaXQnIGlkPSdnZm9ybV9zdWJtaXRfYnV0dG9uXzIzJyBjbGFzcz0nZ2Zvcm1fYnV0dG9uIGJ1dHRvbicgdmFsdWU9J1JlZ2lzdGVyIE5vdyEnIHRhYmluZGV4PSc5JyBvbmNsaWNrPSdpZih3aW5kb3dbImdmX3N1Ym1pdHRpbmdfMjMiXSl7cmV0dXJuIGZhbHNlO30gIHdpbmRvd1siZ2Zfc3VibWl0dGluZ18yMyJdPXRydWU7ICAnIC8+IDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2FqYXgnIHZhbHVlPSdmb3JtX2lkPTIzJmFtcDt0aXRsZT0mYW1wO2Rlc2NyaXB0aW9uPSZhbXA7dGFiaW5kZXg9MScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0naXNfc3VibWl0XzIzJyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc3VibWl0JyB2YWx1ZT0nMjMnIC8+CiAgICAgICAgICAgIAogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV91bmlxdWVfaWQnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J3N0YXRlXzIzJyB2YWx1ZT0nV3lKYlhTSXNJbU5oT0RVM1ltWXdNRFl3TkRjd01UbGpNbUV5TWpBMk5HWmhaREF3TnpBMUlsMD0nIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8yMycgaWQ9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8yMycgdmFsdWU9JzAnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycgaWQ9J2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2ZpZWxkX3ZhbHVlcycgdmFsdWU9JycgLz4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aWZyYW1lIHN0eWxlPSdkaXNwbGF5Om5vbmU7d2lkdGg6MHB4O2hlaWdodDowcHg7JyBzcmM9J2Fib3V0OmJsYW5rJyBuYW1lPSdnZm9ybV9hamF4X2ZyYW1lXzIzJyBpZD0nZ2Zvcm1fYWpheF9mcmFtZV8yMyc+PC9pZnJhbWU+CiAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKXtnZm9ybUluaXRTcGlubmVyKCAyMywgJ2h0dHA6Ly93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5naWYnICk7alF1ZXJ5KCcjZ2Zvcm1fYWpheF9mcmFtZV8yMycpLmxvYWQoIGZ1bmN0aW9uKCl7dmFyIGNvbnRlbnRzID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnKicpLmh0bWwoKTt2YXIgaXNfcG9zdGJhY2sgPSBjb250ZW50cy5pbmRleE9mKCdHRl9BSkFYX1BPU1RCQUNLJykgPj0gMDtpZighaXNfcG9zdGJhY2spe3JldHVybjt9dmFyIGZvcm1fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV93cmFwcGVyXzIzJyk7dmFyIGlzX2NvbmZpcm1hdGlvbiA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV9jb25maXJtYXRpb25fd3JhcHBlcl8yMycpLmxlbmd0aCA+IDA7dmFyIGlzX3JlZGlyZWN0ID0gY29udGVudHMuaW5kZXhPZignZ2Zvcm1SZWRpcmVjdCgpeycpID49IDA7dmFyIGlzX2Zvcm0gPSBmb3JtX2NvbnRlbnQubGVuZ3RoID4gMCAmJiAhIGlzX3JlZGlyZWN0ICYmICEgaXNfY29uZmlybWF0aW9uO2lmKGlzX2Zvcm0pe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5odG1sKGZvcm1fY29udGVudC5odG1sKCkpO3NldFRpbWVvdXQoIGZ1bmN0aW9uKCkgeyAvKiBkZWxheSB0aGUgc2Nyb2xsIGJ5IDUwIG1pbGxpc2Vjb25kcyB0byBmaXggYSBidWcgaW4gY2hyb21lICovIGpRdWVyeShkb2N1bWVudCkuc2Nyb2xsVG9wKGpRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5vZmZzZXQoKS50b3ApOyB9LCA1MCApO2lmKHdpbmRvd1snZ2Zvcm1Jbml0RGF0ZXBpY2tlciddKSB7Z2Zvcm1Jbml0RGF0ZXBpY2tlcigpO31pZih3aW5kb3dbJ2dmb3JtSW5pdFByaWNlRmllbGRzJ10pIHtnZm9ybUluaXRQcmljZUZpZWxkcygpO312YXIgY3VycmVudF9wYWdlID0galF1ZXJ5KCcjZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzIzJykudmFsKCk7Z2Zvcm1Jbml0U3Bpbm5lciggMjMsICdodHRwOi8vd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcGFnZV9sb2FkZWQnLCBbMjMsIGN1cnJlbnRfcGFnZV0pO3dpbmRvd1snZ2Zfc3VibWl0dGluZ18yMyddID0gZmFsc2U7fWVsc2UgaWYoIWlzX3JlZGlyZWN0KXt2YXIgY29uZmlybWF0aW9uX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzJykuaHRtbCgpO2lmKCFjb25maXJtYXRpb25fY29udGVudCl7Y29uZmlybWF0aW9uX2NvbnRlbnQgPSBjb250ZW50czt9c2V0VGltZW91dChmdW5jdGlvbigpe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMjMnKS5yZXBsYWNlV2l0aCgnPCcgKyAnZGl2IGlkPVwnZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzXCcgY2xhc3M9XCdnZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZV8yMyBnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VcJycgKyAnPicgKyBjb25maXJtYXRpb25fY29udGVudCArICc8JyArICcvZGl2JyArICc+Jyk7alF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIzJykub2Zmc2V0KCkudG9wKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX2NvbmZpcm1hdGlvbl9sb2FkZWQnLCBbMjNdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfMjMnXSA9IGZhbHNlO30sIDUwKTt9ZWxzZXtqUXVlcnkoJyNnZm9ybV8yMycpLmFwcGVuZChjb250ZW50cyk7aWYod2luZG93WydnZm9ybVJlZGlyZWN0J10pIHtnZm9ybVJlZGlyZWN0KCk7fX1qUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzIzLCBjdXJyZW50X3BhZ2VdKTt9ICk7fSApOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4gaWYodHlwZW9mIGdmX2dsb2JhbCA9PSAndW5kZWZpbmVkJykgdmFyIGdmX2dsb2JhbCA9IHsiZ2ZfY3VycmVuY3lfY29uZmlnIjp7Im5hbWUiOiJVLlMuIERvbGxhciIsInN5bWJvbF9sZWZ0IjoiJCIsInN5bWJvbF9yaWdodCI6IiIsInN5bWJvbF9wYWRkaW5nIjoiIiwidGhvdXNhbmRfc2VwYXJhdG9yIjoiLCIsImRlY2ltYWxfc2VwYXJhdG9yIjoiLiIsImRlY2ltYWxzIjoyfSwiYmFzZV91cmwiOiJodHRwOlwvXC93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3JtcyIsIm51bWJlcl9mb3JtYXRzIjpbXSwic3Bpbm5lclVybCI6Imh0dHA6XC9cL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvZ3Jhdml0eWZvcm1zXC9pbWFnZXNcL3NwaW5uZXIuZ2lmIn07alF1ZXJ5KGRvY3VtZW50KS5iaW5kKCdnZm9ybV9wb3N0X3JlbmRlcicsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGN1cnJlbnRQYWdlKXtpZihmb3JtSWQgPT0gMjMpIHtpZih3aW5kb3dbJ2pRdWVyeSddKXtpZighd2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ10pd2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ10gPSBuZXcgQXJyYXkoKTt3aW5kb3dbJ2dmX2Zvcm1fY29uZGl0aW9uYWxfbG9naWMnXVsyM10gPSB7J2xvZ2ljJyA6IHs0OiB7ImZpZWxkIjp7ImFjdGlvblR5cGUiOiJoaWRlIiwibG9naWNUeXBlIjoiYWxsIiwicnVsZXMiOlt7ImZpZWxkSWQiOiI1Iiwib3BlcmF0b3IiOiJpc25vdCIsInZhbHVlIjoiVW5pdGVkIFN0YXRlcyJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9IH0sICdkZXBlbmRlbnRzJyA6IHs0OiBbNF0gfSwgJ2FuaW1hdGlvbicgOiAwICwgJ2RlZmF1bHRzJyA6IHsiNSI6IlVuaXRlZCBTdGF0ZXMifSB9OyBpZighd2luZG93WydnZl9udW1iZXJfZm9ybWF0J10pd2luZG93WydnZl9udW1iZXJfZm9ybWF0J10gPSAnZGVjaW1hbF9kb3QnO2pRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtnZl9hcHBseV9ydWxlcygyMywgWzRdLCB0cnVlKTtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykuc2hvdygpO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9jb25kaXRpb25hbF9sb2dpYycsIFsyMywgbnVsbCwgdHJ1ZV0pO30gKTt9IGdmb3JtSW5pdENob3NlbkZpZWxkcygnI2lucHV0XzIzXzUsI2lucHV0XzIzXzQnLCdObyByZXN1bHRzIG1hdGNoZWQnKTt9IH0gKTtqUXVlcnkoZG9jdW1lbnQpLmJpbmQoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBmaWVsZHMsIGlzSW5pdCl7Z2Zvcm1Jbml0Q2hvc2VuRmllbGRzKCcjaW5wdXRfMjNfNSwjaW5wdXRfMjNfNCcsJ05vIHJlc3VsdHMgbWF0Y2hlZCcpO30gKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzIzLCAxXSkgfSApOyA8L3NjcmlwdD4=