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

Top

No Comments

Open Source: Projects to Watch (hint: OpenStack and Docker)

Open Source: Projects to Watch (hint: OpenStack and Docker)
David Davis, vExpert, VCP/VCAP, CCIE
  • On October 23, 2014

We’ve been seeing a lot of activity around open source projects lately. It isn’t that they haven’t existed before, but there is an increased focus on open source software that is proving to be a powerful adversary for the traditional enterprise software industry.

Luckily, the relationship with open source has not actually been so adversarial, as it has become a key part of integration with existing and new enterprise infrastructure and development software that companies are deploying.

Open is Not Free, But That’s Alright

We need to lead with the caveat that although open source is founded on many principles, one of which is the freely available nature of the products, that it is not truly free when we think of both tangible and intangible costs.

Many organizations are not sized to be able to handle all of the deployment, support, and potential development when utilizing some tools and technologies. With most enterprise infrastructure products such as VMware’s vSphere, organizations are comfortable with paying for licensing and ongoing support on a year-to-year basis. For this reason, more systems integrators who support open source technologies like OpenStack and Docker will be growing their customer base in the coming years most likely.

Who to Watch for 2014 and Beyond

It shouldn’t be a surprise to see what are listed as top open source cloud projects are, as they include the hottest names that have been in the headlines lately: OpenStack, Docker, KVM, CloudStack, and Ceph.

Each of these have become synonymous with the next wave in cloud development. As OpenStack just delivered its 10th release, Juno as blogged by fellow Virtualization Software author Eric Wright, on October 17th, we are seeing more and more people getting involved on learning the value that can be gotten by deploying these growing open source projects.

Docker and container-based application deployment is more than just a trend. It has grown from the early iterations of Linux containers (LXC), so this is certainly not an entirely new concept, but what is new is the growth of adoption and development in the project.

KVM, an entirely open source hypervisor, has been the core of many enterprise Linux implementations. The project which has origins from Red Hat has grown to become a widely used platform, and with the native integration with OpenStack, there is no doubt that it will continue to see wider use.

Apache CloudStack also has been around for a while, but is getting an increased awareness of it’s capabilities. The product even launched a brand new release today with version 4.4.1, a bugfix release of the 4.4 product.

Ceph deserves some notice as well, since the open source file system has gained in popularity under a number of use-cases. The once close market on resilient file system implementations is now clearly a more open venue and this is one to watch for sure.

Upstream Contribution

More than just the consumption of open source projects, we are also seeing a rise in the number of companies and individual developers who are feeding back upstream to the open source development communities.

The forecast may be “clouds” and we are seeing the skies “open” up!

 

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+PGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJyB0YXJnZXQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnIGlkPSdnZm9ybV8yMycgIGFjdGlvbj0nL29wZW4tc291cmNlLXByb2plY3RzLXdhdGNoLWhpbnQtb3BlbnN0YWNrLWRvY2tlci8jZ2ZfMjMnPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybV9ib2R5Jz48dWwgaWQ9J2dmb3JtX2ZpZWxkc18yMycgY2xhc3M9J2dmb3JtX2ZpZWxkcyB0b3BfbGFiZWwgZm9ybV9zdWJsYWJlbF9iZWxvdyBkZXNjcmlwdGlvbl9iZWxvdyc+PGxpIGlkPSdmaWVsZF8yM18xJyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzEnID5GaXJzdCBOYW1lPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF8xJyBpZD0naW5wdXRfMjNfMScgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PScxJyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzInIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMicgPkxhc3QgTmFtZTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfMicgaWQ9J2lucHV0XzIzXzInIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICB0YWJpbmRleD0nMicgICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM18zJyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzMnID5FbWFpbDxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSdpbnB1dF8zJyBpZD0naW5wdXRfMjNfMycgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgdGFiaW5kZXg9JzMnICAgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzUnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNScgPkNvdW50cnk8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF81JyBpZD0naW5wdXRfMjNfNScgb25jaGFuZ2U9J2dmX2FwcGx5X3J1bGVzKDIzLFs0XSk7JyBjbGFzcz0nbWVkaXVtIGdmaWVsZF9zZWxlY3QnIHRhYmluZGV4PSc0JyA+PG9wdGlvbiB2YWx1ZT0nVW5pdGVkIFN0YXRlcycgc2VsZWN0ZWQ9J3NlbGVjdGVkJz5Vbml0ZWQgU3RhdGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FuYWRhJyA+Q2FuYWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVW5pdGVkIEtpbmdkb20nID5Vbml0ZWQgS2luZ2RvbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0F1c3RyYWxpYScgPkF1c3RyYWxpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FmZ2hhbmlzdGFuJyA+QWZnaGFuaXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbGJhbmlhJyA+QWxiYW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsZ2VyaWEnID5BbGdlcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW1lcmljYW4gU2Ftb2EnID5BbWVyaWNhbiBTYW1vYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FuZG9ycmEnID5BbmRvcnJhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW5nb2xhJyA+QW5nb2xhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW50aWd1YSBhbmQgQmFyYnVkYScgPkFudGlndWEgYW5kIEJhcmJ1ZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcmdlbnRpbmEnID5BcmdlbnRpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lbmlhJyA+QXJtZW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0F1c3RyaWEnID5BdXN0cmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXplcmJhaWphbicgPkF6ZXJiYWlqYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYWhhbWFzJyA+QmFoYW1hczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhaHJhaW4nID5CYWhyYWluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFuZ2xhZGVzaCcgPkJhbmdsYWRlc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYXJiYWRvcycgPkJhcmJhZG9zPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVsYXJ1cycgPkJlbGFydXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZWxnaXVtJyA+QmVsZ2l1bTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbGl6ZScgPkJlbGl6ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbmluJyA+QmVuaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZXJtdWRhJyA+QmVybXVkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JodXRhbicgPkJodXRhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JvbGl2aWEnID5Cb2xpdmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYScgPkJvc25pYSBhbmQgSGVyemVnb3ZpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCb3Rzd2FuYScgPkJvdHN3YW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnJhemlsJyA+QnJhemlsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnJ1bmVpJyA+QnJ1bmVpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVsZ2FyaWEnID5CdWxnYXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0J1cmtpbmEgRmFzbycgPkJ1cmtpbmEgRmFzbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0J1cnVuZGknID5CdXJ1bmRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FtYm9kaWEnID5DYW1ib2RpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbWVyb29uJyA+Q2FtZXJvb248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYXBlIFZlcmRlJyA+Q2FwZSBWZXJkZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NheW1hbiBJc2xhbmRzJyA+Q2F5bWFuIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDZW50cmFsIEFmcmljYW4gUmVwdWJsaWMnID5DZW50cmFsIEFmcmljYW4gUmVwdWJsaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDaGFkJyA+Q2hhZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoaWxlJyA+Q2hpbGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDaGluYScgPkNoaW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29sb21iaWEnID5Db2xvbWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbW9yb3MnID5Db21vcm9zPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29uZ28sIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlJyA+Q29uZ28sIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29uZ28sIFJlcHVibGljIG9mIHRoZScgPkNvbmdvLCBSZXB1YmxpYyBvZiB0aGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb3N0YSBSaWNhJyA+Q29zdGEgUmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Mmb2NpcmM7dGUgZCYjMDM5O0l2b2lyZScgPkMmb2NpcmM7dGUgZCYjMDM5O0l2b2lyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nyb2F0aWEnID5Dcm9hdGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3ViYScgPkN1YmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDeXBydXMnID5DeXBydXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDemVjaCBSZXB1YmxpYycgPkN6ZWNoIFJlcHVibGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGVubWFyaycgPkRlbm1hcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEamlib3V0aScgPkRqaWJvdXRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRG9taW5pY2EnID5Eb21pbmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RvbWluaWNhbiBSZXB1YmxpYycgPkRvbWluaWNhbiBSZXB1YmxpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Vhc3QgVGltb3InID5FYXN0IFRpbW9yPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWN1YWRvcicgPkVjdWFkb3I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFZ3lwdCcgPkVneXB0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWwgU2FsdmFkb3InID5FbCBTYWx2YWRvcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VxdWF0b3JpYWwgR3VpbmVhJyA+RXF1YXRvcmlhbCBHdWluZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFcml0cmVhJyA+RXJpdHJlYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VzdG9uaWEnID5Fc3RvbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXRoaW9waWEnID5FdGhpb3BpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ZpamknID5GaWppPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRmlubGFuZCcgPkZpbmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGcmFuY2UnID5GcmFuY2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHYWJvbicgPkdhYm9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2FtYmlhJyA+R2FtYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2VvcmdpYScgPkdlb3JnaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHZXJtYW55JyA+R2VybWFueTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0doYW5hJyA+R2hhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHcmVlY2UnID5HcmVlY2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHcmVlbmxhbmQnID5HcmVlbmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHcmVuYWRhJyA+R3JlbmFkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1YW0nID5HdWFtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VhdGVtYWxhJyA+R3VhdGVtYWxhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VpbmVhJyA+R3VpbmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VpbmVhLUJpc3NhdScgPkd1aW5lYS1CaXNzYXU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdXlhbmEnID5HdXlhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIYWl0aScgPkhhaXRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSG9uZHVyYXMnID5Ib25kdXJhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hvbmcgS29uZycgPkhvbmcgS29uZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0h1bmdhcnknID5IdW5nYXJ5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWNlbGFuZCcgPkljZWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRpYScgPkluZGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW5kb25lc2lhJyA+SW5kb25lc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXJhbicgPklyYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJcmFxJyA+SXJhcTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lyZWxhbmQnID5JcmVsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXNyYWVsJyA+SXNyYWVsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXRhbHknID5JdGFseTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0phbWFpY2EnID5KYW1haWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSmFwYW4nID5KYXBhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0pvcmRhbicgPkpvcmRhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0themFraHN0YW4nID5LYXpha2hzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2VueWEnID5LZW55YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0tpcmliYXRpJyA+S2lyaWJhdGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aCBLb3JlYScgPk5vcnRoIEtvcmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggS29yZWEnID5Tb3V0aCBLb3JlYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0t1d2FpdCcgPkt1d2FpdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0t5cmd5enN0YW4nID5LeXJneXpzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGFvcycgPkxhb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMYXR2aWEnID5MYXR2aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMZWJhbm9uJyA+TGViYW5vbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xlc290aG8nID5MZXNvdGhvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGliZXJpYScgPkxpYmVyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWJ5YScgPkxpYnlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGllY2h0ZW5zdGVpbicgPkxpZWNodGVuc3RlaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaXRodWFuaWEnID5MaXRodWFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMdXhlbWJvdXJnJyA+THV4ZW1ib3VyZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hY2Vkb25pYScgPk1hY2Vkb25pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hZGFnYXNjYXInID5NYWRhZ2FzY2FyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsYXdpJyA+TWFsYXdpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsYXlzaWEnID5NYWxheXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGRpdmVzJyA+TWFsZGl2ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxpJyA+TWFsaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbHRhJyA+TWFsdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXJzaGFsbCBJc2xhbmRzJyA+TWFyc2hhbGwgSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hdXJpdGFuaWEnID5NYXVyaXRhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWF1cml0aXVzJyA+TWF1cml0aXVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWV4aWNvJyA+TWV4aWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWljcm9uZXNpYScgPk1pY3JvbmVzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb2xkb3ZhJyA+TW9sZG92YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbmFjbycgPk1vbmFjbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbmdvbGlhJyA+TW9uZ29saWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb250ZW5lZ3JvJyA+TW9udGVuZWdybzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vcm9jY28nID5Nb3JvY2NvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW96YW1iaXF1ZScgPk1vemFtYmlxdWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNeWFubWFyJyA+TXlhbm1hcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05hbWliaWEnID5OYW1pYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmF1cnUnID5OYXVydTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05lcGFsJyA+TmVwYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXRoZXJsYW5kcycgPk5ldGhlcmxhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IFplYWxhbmQnID5OZXcgWmVhbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pY2FyYWd1YScgPk5pY2FyYWd1YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pZ2VyJyA+TmlnZXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOaWdlcmlhJyA+TmlnZXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcndheScgPk5vcndheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcycgPk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09tYW4nID5PbWFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFraXN0YW4nID5QYWtpc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbGF1JyA+UGFsYXU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYWxlc3RpbmUnID5QYWxlc3RpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYW5hbWEnID5QYW5hbWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYXB1YSBOZXcgR3VpbmVhJyA+UGFwdWEgTmV3IEd1aW5lYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhcmFndWF5JyA+UGFyYWd1YXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQZXJ1JyA+UGVydTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BoaWxpcHBpbmVzJyA+UGhpbGlwcGluZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQb2xhbmQnID5Qb2xhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQb3J0dWdhbCcgPlBvcnR1Z2FsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUHVlcnRvIFJpY28nID5QdWVydG8gUmljbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1FhdGFyJyA+UWF0YXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdSb21hbmlhJyA+Um9tYW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1J1c3NpYScgPlJ1c3NpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1J3YW5kYScgPlJ3YW5kYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IEtpdHRzIGFuZCBOZXZpcycgPlNhaW50IEtpdHRzIGFuZCBOZXZpczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IEx1Y2lhJyA+U2FpbnQgTHVjaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcycgPlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2Ftb2EnID5TYW1vYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhbiBNYXJpbm8nID5TYW4gTWFyaW5vPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FvIFRvbWUgYW5kIFByaW5jaXBlJyA+U2FvIFRvbWUgYW5kIFByaW5jaXBlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2F1ZGkgQXJhYmlhJyA+U2F1ZGkgQXJhYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2VuZWdhbCcgPlNlbmVnYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZXJiaWEgYW5kIE1vbnRlbmVncm8nID5TZXJiaWEgYW5kIE1vbnRlbmVncm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZXljaGVsbGVzJyA+U2V5Y2hlbGxlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NpZXJyYSBMZW9uZScgPlNpZXJyYSBMZW9uZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NpbmdhcG9yZScgPlNpbmdhcG9yZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Nsb3Zha2lhJyA+U2xvdmFraWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTbG92ZW5pYScgPlNsb3ZlbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU29sb21vbiBJc2xhbmRzJyA+U29sb21vbiBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU29tYWxpYScgPlNvbWFsaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBBZnJpY2EnID5Tb3V0aCBBZnJpY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTcGFpbicgPlNwYWluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3JpIExhbmthJyA+U3JpIExhbmthPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VkYW4nID5TdWRhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N1ZGFuLCBTb3V0aCcgPlN1ZGFuLCBTb3V0aDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N1cmluYW1lJyA+U3VyaW5hbWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTd2F6aWxhbmQnID5Td2F6aWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTd2VkZW4nID5Td2VkZW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTd2l0emVybGFuZCcgPlN3aXR6ZXJsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3lyaWEnID5TeXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RhaXdhbicgPlRhaXdhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RhamlraXN0YW4nID5UYWppa2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFuemFuaWEnID5UYW56YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RoYWlsYW5kJyA+VGhhaWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUb2dvJyA+VG9nbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RvbmdhJyA+VG9uZ2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUcmluaWRhZCBhbmQgVG9iYWdvJyA+VHJpbmlkYWQgYW5kIFRvYmFnbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1R1bmlzaWEnID5UdW5pc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVya2V5JyA+VHVya2V5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVya21lbmlzdGFuJyA+VHVya21lbmlzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHV2YWx1JyA+VHV2YWx1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVWdhbmRhJyA+VWdhbmRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVWtyYWluZScgPlVrcmFpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVbml0ZWQgQXJhYiBFbWlyYXRlcycgPlVuaXRlZCBBcmFiIEVtaXJhdGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVXJ1Z3VheScgPlVydWd1YXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVemJla2lzdGFuJyA+VXpiZWtpc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZhbnVhdHUnID5WYW51YXR1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmF0aWNhbiBDaXR5JyA+VmF0aWNhbiBDaXR5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmVuZXp1ZWxhJyA+VmVuZXp1ZWxhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlldG5hbScgPlZpZXRuYW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaXJnaW4gSXNsYW5kcywgQnJpdGlzaCcgPlZpcmdpbiBJc2xhbmRzLCBCcml0aXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlyZ2luIElzbGFuZHMsIFUuUy4nID5WaXJnaW4gSXNsYW5kcywgVS5TLjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1llbWVuJyA+WWVtZW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdaYW1iaWEnID5aYW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdaaW1iYWJ3ZScgPlppbWJhYndlPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzQnIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM180JyA+U3RhdGU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxzZWxlY3QgbmFtZT0naW5wdXRfNCcgaWQ9J2lucHV0XzIzXzQnICBjbGFzcz0nbWVkaXVtIGdmaWVsZF9zZWxlY3QnIHRhYmluZGV4PSc1JyA+PG9wdGlvbiB2YWx1ZT0nQWxhYmFtYScgPkFsYWJhbWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbGFza2EnID5BbGFza2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcml6b25hJyA+QXJpem9uYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Fya2Fuc2FzJyA+QXJrYW5zYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYWxpZm9ybmlhJyA+Q2FsaWZvcm5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbG9yYWRvJyA+Q29sb3JhZG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25uZWN0aWN1dCcgPkNvbm5lY3RpY3V0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGVsYXdhcmUnID5EZWxhd2FyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Rpc3RyaWN0IG9mIENvbHVtYmlhJyA+RGlzdHJpY3Qgb2YgQ29sdW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGbG9yaWRhJyA+RmxvcmlkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dlb3JnaWEnID5HZW9yZ2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSGF3YWlpJyA+SGF3YWlpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWRhaG8nID5JZGFobzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lsbGlub2lzJyA+SWxsaW5vaXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRpYW5hJyA+SW5kaWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lvd2EnID5Jb3dhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2Fuc2FzJyA+S2Fuc2FzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2VudHVja3knID5LZW50dWNreTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xvdWlzaWFuYScgPkxvdWlzaWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01haW5lJyA+TWFpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXJ5bGFuZCcgPk1hcnlsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFzc2FjaHVzZXR0cycgPk1hc3NhY2h1c2V0dHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaWNoaWdhbicgPk1pY2hpZ2FuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlubmVzb3RhJyA+TWlubmVzb3RhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlzc2lzc2lwcGknID5NaXNzaXNzaXBwaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pc3NvdXJpJyA+TWlzc291cmk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb250YW5hJyA+TW9udGFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05lYnJhc2thJyA+TmVicmFza2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXZhZGEnID5OZXZhZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgSGFtcHNoaXJlJyA+TmV3IEhhbXBzaGlyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBKZXJzZXknID5OZXcgSmVyc2V5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IE1leGljbycgPk5ldyBNZXhpY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgWW9yaycgPk5ldyBZb3JrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGggQ2Fyb2xpbmEnID5Ob3J0aCBDYXJvbGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoIERha290YScgPk5vcnRoIERha290YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09oaW8nID5PaGlvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT2tsYWhvbWEnID5Pa2xhaG9tYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09yZWdvbicgPk9yZWdvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Blbm5zeWx2YW5pYScgPlBlbm5zeWx2YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Job2RlIElzbGFuZCcgPlJob2RlIElzbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIENhcm9saW5hJyA+U291dGggQ2Fyb2xpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBEYWtvdGEnID5Tb3V0aCBEYWtvdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUZW5uZXNzZWUnID5UZW5uZXNzZWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUZXhhcycgPlRleGFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVXRhaCcgPlV0YWg8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWZXJtb250JyA+VmVybW9udDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpcmdpbmlhJyA+VmlyZ2luaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXYXNoaW5ndG9uJyA+V2FzaGluZ3Rvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1dlc3QgVmlyZ2luaWEnID5XZXN0IFZpcmdpbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV2lzY29uc2luJyA+V2lzY29uc2luPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV3lvbWluZycgPld5b21pbmc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lZCBGb3JjZXMgQW1lcmljYXMnID5Bcm1lZCBGb3JjZXMgQW1lcmljYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lZCBGb3JjZXMgRXVyb3BlJyA+QXJtZWQgRm9yY2VzIEV1cm9wZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBQYWNpZmljJyA+QXJtZWQgRm9yY2VzIFBhY2lmaWM8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNicgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzYnID5QaG9uZTwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzYnIGlkPSdpbnB1dF8yM182JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyB0YWJpbmRleD0nNicgICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM183JyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzcnID5Db21wYW55PHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF83JyBpZD0naW5wdXRfMjNfNycgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PSc3JyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzgnIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM184JyA+Sm9iIFRpdGxlPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfOCcgaWQ9J2lucHV0XzIzXzgnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICB0YWJpbmRleD0nOCcgICAvPjwvZGl2PjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2Zvb3RlciB0b3BfbGFiZWwnPiA8aW5wdXQgdHlwZT0nc3VibWl0JyBpZD0nZ2Zvcm1fc3VibWl0X2J1dHRvbl8yMycgY2xhc3M9J2dmb3JtX2J1dHRvbiBidXR0b24nIHZhbHVlPSdSZWdpc3RlciBOb3chJyB0YWJpbmRleD0nOScgb25jbGljaz0naWYod2luZG93WyJnZl9zdWJtaXR0aW5nXzIzIl0pe3JldHVybiBmYWxzZTt9ICB3aW5kb3dbImdmX3N1Ym1pdHRpbmdfMjMiXT10cnVlOyAgJyAvPiA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdnZm9ybV9hamF4JyB2YWx1ZT0nZm9ybV9pZD0yMyZhbXA7dGl0bGU9JmFtcDtkZXNjcmlwdGlvbj0mYW1wO3RhYmluZGV4PTEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2lzX3N1Ym1pdF8yMycgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3N1Ym1pdCcgdmFsdWU9JzIzJyAvPgogICAgICAgICAgICAKICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fdW5pcXVlX2lkJyB2YWx1ZT0nJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdzdGF0ZV8yMycgdmFsdWU9J1d5SmJYU0lzSW1OaE9EVTNZbVl3TURZd05EY3dNVGxqTW1FeU1qQTJOR1poWkRBd056QTFJbDA9JyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMjMnIGlkPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMjMnIHZhbHVlPScwJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMjMnIGlkPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMjMnIHZhbHVlPScxJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdnZm9ybV9maWVsZF92YWx1ZXMnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGlmcmFtZSBzdHlsZT0nZGlzcGxheTpub25lO3dpZHRoOjBweDtoZWlnaHQ6MHB4Oycgc3JjPSdhYm91dDpibGFuaycgbmFtZT0nZ2Zvcm1fYWpheF9mcmFtZV8yMycgaWQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnPjwvaWZyYW1lPgogICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCl7Z2Zvcm1Jbml0U3Bpbm5lciggMjMsICdodHRwOi8vd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeSgnI2dmb3JtX2FqYXhfZnJhbWVfMjMnKS5sb2FkKCBmdW5jdGlvbigpe3ZhciBjb250ZW50cyA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyonKS5odG1sKCk7dmFyIGlzX3Bvc3RiYWNrID0gY29udGVudHMuaW5kZXhPZignR0ZfQUpBWF9QT1NUQkFDSycpID49IDA7aWYoIWlzX3Bvc3RiYWNrKXtyZXR1cm47fXZhciBmb3JtX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1fd3JhcHBlcl8yMycpO3ZhciBpc19jb25maXJtYXRpb24gPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXJfMjMnKS5sZW5ndGggPiAwO3ZhciBpc19yZWRpcmVjdCA9IGNvbnRlbnRzLmluZGV4T2YoJ2dmb3JtUmVkaXJlY3QoKXsnKSA+PSAwO3ZhciBpc19mb3JtID0gZm9ybV9jb250ZW50Lmxlbmd0aCA+IDAgJiYgISBpc19yZWRpcmVjdCAmJiAhIGlzX2NvbmZpcm1hdGlvbjtpZihpc19mb3JtKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykuaHRtbChmb3JtX2NvbnRlbnQuaHRtbCgpKTtzZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsgLyogZGVsYXkgdGhlIHNjcm9sbCBieSA1MCBtaWxsaXNlY29uZHMgdG8gZml4IGEgYnVnIGluIGNocm9tZSAqLyBqUXVlcnkoZG9jdW1lbnQpLnNjcm9sbFRvcChqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykub2Zmc2V0KCkudG9wKTsgfSwgNTAgKTtpZih3aW5kb3dbJ2dmb3JtSW5pdERhdGVwaWNrZXInXSkge2dmb3JtSW5pdERhdGVwaWNrZXIoKTt9aWYod2luZG93WydnZm9ybUluaXRQcmljZUZpZWxkcyddKSB7Z2Zvcm1Jbml0UHJpY2VGaWVsZHMoKTt9dmFyIGN1cnJlbnRfcGFnZSA9IGpRdWVyeSgnI2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycpLnZhbCgpO2dmb3JtSW5pdFNwaW5uZXIoIDIzLCAnaHR0cDovL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZ3Jhdml0eWZvcm1zL2ltYWdlcy9zcGlubmVyLmdpZicgKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3BhZ2VfbG9hZGVkJywgWzIzLCBjdXJyZW50X3BhZ2VdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfMjMnXSA9IGZhbHNlO31lbHNlIGlmKCFpc19yZWRpcmVjdCl7dmFyIGNvbmZpcm1hdGlvbl9jb250ZW50ID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yMycpLmh0bWwoKTtpZighY29uZmlybWF0aW9uX2NvbnRlbnQpe2NvbmZpcm1hdGlvbl9jb250ZW50ID0gY29udGVudHM7fXNldFRpbWVvdXQoZnVuY3Rpb24oKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykucmVwbGFjZVdpdGgoJzwnICsgJ2RpdiBpZD1cJ2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yM1wnIGNsYXNzPVwnZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2VfMjMgZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXCcnICsgJz4nICsgY29uZmlybWF0aW9uX2NvbnRlbnQgKyAnPCcgKyAnL2RpdicgKyAnPicpO2pRdWVyeShkb2N1bWVudCkuc2Nyb2xsVG9wKGpRdWVyeSgnI2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yMycpLm9mZnNldCgpLnRvcCk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9jb25maXJtYXRpb25fbG9hZGVkJywgWzIzXSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzIzJ10gPSBmYWxzZTt9LCA1MCk7fWVsc2V7alF1ZXJ5KCcjZ2Zvcm1fMjMnKS5hcHBlbmQoY29udGVudHMpO2lmKHdpbmRvd1snZ2Zvcm1SZWRpcmVjdCddKSB7Z2Zvcm1SZWRpcmVjdCgpO319alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X3JlbmRlcicsIFsyMywgY3VycmVudF9wYWdlXSk7fSApO30gKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IGlmKHR5cGVvZiBnZl9nbG9iYWwgPT0gJ3VuZGVmaW5lZCcpIHZhciBnZl9nbG9iYWwgPSB7ImdmX2N1cnJlbmN5X2NvbmZpZyI6eyJuYW1lIjoiVS5TLiBEb2xsYXIiLCJzeW1ib2xfbGVmdCI6IiQiLCJzeW1ib2xfcmlnaHQiOiIiLCJzeW1ib2xfcGFkZGluZyI6IiIsInRob3VzYW5kX3NlcGFyYXRvciI6IiwiLCJkZWNpbWFsX3NlcGFyYXRvciI6Ii4iLCJkZWNpbWFscyI6Mn0sImJhc2VfdXJsIjoiaHR0cDpcL1wvd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC9ncmF2aXR5Zm9ybXMiLCJudW1iZXJfZm9ybWF0cyI6W10sInNwaW5uZXJVcmwiOiJodHRwOlwvXC93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3Jtc1wvaW1hZ2VzXC9zcGlubmVyLmdpZiJ9O2pRdWVyeShkb2N1bWVudCkuYmluZCgnZ2Zvcm1fcG9zdF9yZW5kZXInLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBjdXJyZW50UGFnZSl7aWYoZm9ybUlkID09IDIzKSB7aWYod2luZG93WydqUXVlcnknXSl7aWYoIXdpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddKXdpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddID0gbmV3IEFycmF5KCk7d2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ11bMjNdID0geydsb2dpYycgOiB7NDogeyJmaWVsZCI6eyJhY3Rpb25UeXBlIjoiaGlkZSIsImxvZ2ljVHlwZSI6ImFsbCIsInJ1bGVzIjpbeyJmaWVsZElkIjoiNSIsIm9wZXJhdG9yIjoiaXNub3QiLCJ2YWx1ZSI6IlVuaXRlZCBTdGF0ZXMifV19LCJuZXh0QnV0dG9uIjpudWxsLCJzZWN0aW9uIjpudWxsfSB9LCAnZGVwZW5kZW50cycgOiB7NDogWzRdIH0sICdhbmltYXRpb24nIDogMCAsICdkZWZhdWx0cycgOiB7IjUiOiJVbml0ZWQgU3RhdGVzIn0gfTsgaWYoIXdpbmRvd1snZ2ZfbnVtYmVyX2Zvcm1hdCddKXdpbmRvd1snZ2ZfbnVtYmVyX2Zvcm1hdCddID0gJ2RlY2ltYWxfZG90JztqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7Z2ZfYXBwbHlfcnVsZXMoMjMsIFs0XSwgdHJ1ZSk7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yMycpLnNob3coKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBbMjMsIG51bGwsIHRydWVdKTt9ICk7fSBnZm9ybUluaXRDaG9zZW5GaWVsZHMoJyNpbnB1dF8yM181LCNpbnB1dF8yM180JywnTm8gcmVzdWx0cyBtYXRjaGVkJyk7fSB9ICk7alF1ZXJ5KGRvY3VtZW50KS5iaW5kKCdnZm9ybV9wb3N0X2NvbmRpdGlvbmFsX2xvZ2ljJywgZnVuY3Rpb24oZXZlbnQsIGZvcm1JZCwgZmllbGRzLCBpc0luaXQpe2dmb3JtSW5pdENob3NlbkZpZWxkcygnI2lucHV0XzIzXzUsI2lucHV0XzIzXzQnLCdObyByZXN1bHRzIG1hdGNoZWQnKTt9ICk7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X3JlbmRlcicsIFsyMywgMV0pIH0gKTsgPC9zY3JpcHQ+
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+PGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJyB0YXJnZXQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnIGlkPSdnZm9ybV8yMycgIGFjdGlvbj0nL29wZW4tc291cmNlLXByb2plY3RzLXdhdGNoLWhpbnQtb3BlbnN0YWNrLWRvY2tlci8jZ2ZfMjMnPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybV9ib2R5Jz48dWwgaWQ9J2dmb3JtX2ZpZWxkc18yMycgY2xhc3M9J2dmb3JtX2ZpZWxkcyB0b3BfbGFiZWwgZm9ybV9zdWJsYWJlbF9iZWxvdyBkZXNjcmlwdGlvbl9iZWxvdyc+PGxpIGlkPSdmaWVsZF8yM18xJyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzEnID5GaXJzdCBOYW1lPHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF8xJyBpZD0naW5wdXRfMjNfMScgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PScxJyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzInIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfMicgPkxhc3QgTmFtZTxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfMicgaWQ9J2lucHV0XzIzXzInIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICB0YWJpbmRleD0nMicgICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM18zJyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzMnID5FbWFpbDxzcGFuIGNsYXNzPSdnZmllbGRfcmVxdWlyZWQnPio8L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSdpbnB1dF8zJyBpZD0naW5wdXRfMjNfMycgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgdGFiaW5kZXg9JzMnICAgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzUnIGNsYXNzPSdnZmllbGQgZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfMjNfNScgPkNvdW50cnk8c3BhbiBjbGFzcz0nZ2ZpZWxkX3JlcXVpcmVkJz4qPC9zcGFuPjwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF81JyBpZD0naW5wdXRfMjNfNScgb25jaGFuZ2U9J2dmX2FwcGx5X3J1bGVzKDIzLFs0XSk7JyBjbGFzcz0nbWVkaXVtIGdmaWVsZF9zZWxlY3QnIHRhYmluZGV4PSc0JyA+PG9wdGlvbiB2YWx1ZT0nVW5pdGVkIFN0YXRlcycgc2VsZWN0ZWQ9J3NlbGVjdGVkJz5Vbml0ZWQgU3RhdGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FuYWRhJyA+Q2FuYWRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVW5pdGVkIEtpbmdkb20nID5Vbml0ZWQgS2luZ2RvbTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0F1c3RyYWxpYScgPkF1c3RyYWxpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FmZ2hhbmlzdGFuJyA+QWZnaGFuaXN0YW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbGJhbmlhJyA+QWxiYW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FsZ2VyaWEnID5BbGdlcmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW1lcmljYW4gU2Ftb2EnID5BbWVyaWNhbiBTYW1vYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FuZG9ycmEnID5BbmRvcnJhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW5nb2xhJyA+QW5nb2xhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQW50aWd1YSBhbmQgQmFyYnVkYScgPkFudGlndWEgYW5kIEJhcmJ1ZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcmdlbnRpbmEnID5BcmdlbnRpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lbmlhJyA+QXJtZW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0F1c3RyaWEnID5BdXN0cmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQXplcmJhaWphbicgPkF6ZXJiYWlqYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYWhhbWFzJyA+QmFoYW1hczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JhaHJhaW4nID5CYWhyYWluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmFuZ2xhZGVzaCcgPkJhbmdsYWRlc2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCYXJiYWRvcycgPkJhcmJhZG9zPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQmVsYXJ1cycgPkJlbGFydXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZWxnaXVtJyA+QmVsZ2l1bTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbGl6ZScgPkJlbGl6ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JlbmluJyA+QmVuaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCZXJtdWRhJyA+QmVybXVkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JodXRhbicgPkJodXRhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0JvbGl2aWEnID5Cb2xpdmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYScgPkJvc25pYSBhbmQgSGVyemVnb3ZpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdCb3Rzd2FuYScgPkJvdHN3YW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnJhemlsJyA+QnJhemlsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnJ1bmVpJyA+QnJ1bmVpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQnVsZ2FyaWEnID5CdWxnYXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0J1cmtpbmEgRmFzbycgPkJ1cmtpbmEgRmFzbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0J1cnVuZGknID5CdXJ1bmRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ2FtYm9kaWEnID5DYW1ib2RpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NhbWVyb29uJyA+Q2FtZXJvb248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYXBlIFZlcmRlJyA+Q2FwZSBWZXJkZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NheW1hbiBJc2xhbmRzJyA+Q2F5bWFuIElzbGFuZHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDZW50cmFsIEFmcmljYW4gUmVwdWJsaWMnID5DZW50cmFsIEFmcmljYW4gUmVwdWJsaWM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDaGFkJyA+Q2hhZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NoaWxlJyA+Q2hpbGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDaGluYScgPkNoaW5hPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29sb21iaWEnID5Db2xvbWJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbW9yb3MnID5Db21vcm9zPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29uZ28sIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlJyA+Q29uZ28sIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ29uZ28sIFJlcHVibGljIG9mIHRoZScgPkNvbmdvLCBSZXB1YmxpYyBvZiB0aGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb3N0YSBSaWNhJyA+Q29zdGEgUmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Mmb2NpcmM7dGUgZCYjMDM5O0l2b2lyZScgPkMmb2NpcmM7dGUgZCYjMDM5O0l2b2lyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Nyb2F0aWEnID5Dcm9hdGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nQ3ViYScgPkN1YmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDeXBydXMnID5DeXBydXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDemVjaCBSZXB1YmxpYycgPkN6ZWNoIFJlcHVibGljPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGVubWFyaycgPkRlbm1hcms8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdEamlib3V0aScgPkRqaWJvdXRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRG9taW5pY2EnID5Eb21pbmljYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0RvbWluaWNhbiBSZXB1YmxpYycgPkRvbWluaWNhbiBSZXB1YmxpYzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Vhc3QgVGltb3InID5FYXN0IFRpbW9yPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWN1YWRvcicgPkVjdWFkb3I8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFZ3lwdCcgPkVneXB0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRWwgU2FsdmFkb3InID5FbCBTYWx2YWRvcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VxdWF0b3JpYWwgR3VpbmVhJyA+RXF1YXRvcmlhbCBHdWluZWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdFcml0cmVhJyA+RXJpdHJlYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0VzdG9uaWEnID5Fc3RvbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRXRoaW9waWEnID5FdGhpb3BpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ZpamknID5GaWppPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRmlubGFuZCcgPkZpbmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGcmFuY2UnID5GcmFuY2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHYWJvbicgPkdhYm9uPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2FtYmlhJyA+R2FtYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR2VvcmdpYScgPkdlb3JnaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHZXJtYW55JyA+R2VybWFueTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0doYW5hJyA+R2hhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHcmVlY2UnID5HcmVlY2U8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHcmVlbmxhbmQnID5HcmVlbmxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHcmVuYWRhJyA+R3JlbmFkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0d1YW0nID5HdWFtPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VhdGVtYWxhJyA+R3VhdGVtYWxhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VpbmVhJyA+R3VpbmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nR3VpbmVhLUJpc3NhdScgPkd1aW5lYS1CaXNzYXU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdHdXlhbmEnID5HdXlhbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdIYWl0aScgPkhhaXRpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSG9uZHVyYXMnID5Ib25kdXJhczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0hvbmcgS29uZycgPkhvbmcgS29uZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0h1bmdhcnknID5IdW5nYXJ5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWNlbGFuZCcgPkljZWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRpYScgPkluZGlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSW5kb25lc2lhJyA+SW5kb25lc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXJhbicgPklyYW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJcmFxJyA+SXJhcTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lyZWxhbmQnID5JcmVsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXNyYWVsJyA+SXNyYWVsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSXRhbHknID5JdGFseTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0phbWFpY2EnID5KYW1haWNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSmFwYW4nID5KYXBhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0pvcmRhbicgPkpvcmRhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0themFraHN0YW4nID5LYXpha2hzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2VueWEnID5LZW55YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0tpcmliYXRpJyA+S2lyaWJhdGk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOb3J0aCBLb3JlYScgPk5vcnRoIEtvcmVhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU291dGggS29yZWEnID5Tb3V0aCBLb3JlYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0t1d2FpdCcgPkt1d2FpdDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0t5cmd5enN0YW4nID5LeXJneXpzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGFvcycgPkxhb3M8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMYXR2aWEnID5MYXR2aWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMZWJhbm9uJyA+TGViYW5vbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xlc290aG8nID5MZXNvdGhvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGliZXJpYScgPkxpYmVyaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaWJ5YScgPkxpYnlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTGllY2h0ZW5zdGVpbicgPkxpZWNodGVuc3RlaW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMaXRodWFuaWEnID5MaXRodWFuaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdMdXhlbWJvdXJnJyA+THV4ZW1ib3VyZzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hY2Vkb25pYScgPk1hY2Vkb25pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hZGFnYXNjYXInID5NYWRhZ2FzY2FyPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsYXdpJyA+TWFsYXdpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFsYXlzaWEnID5NYWxheXNpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbGRpdmVzJyA+TWFsZGl2ZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYWxpJyA+TWFsaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hbHRhJyA+TWFsdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXJzaGFsbCBJc2xhbmRzJyA+TWFyc2hhbGwgSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01hdXJpdGFuaWEnID5NYXVyaXRhbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWF1cml0aXVzJyA+TWF1cml0aXVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWV4aWNvJyA+TWV4aWNvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWljcm9uZXNpYScgPk1pY3JvbmVzaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb2xkb3ZhJyA+TW9sZG92YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbmFjbycgPk1vbmFjbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vbmdvbGlhJyA+TW9uZ29saWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb250ZW5lZ3JvJyA+TW9udGVuZWdybzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01vcm9jY28nID5Nb3JvY2NvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTW96YW1iaXF1ZScgPk1vemFtYmlxdWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNeWFubWFyJyA+TXlhbm1hcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05hbWliaWEnID5OYW1pYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmF1cnUnID5OYXVydTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05lcGFsJyA+TmVwYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXRoZXJsYW5kcycgPk5ldGhlcmxhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IFplYWxhbmQnID5OZXcgWmVhbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pY2FyYWd1YScgPk5pY2FyYWd1YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05pZ2VyJyA+TmlnZXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOaWdlcmlhJyA+TmlnZXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcndheScgPk5vcndheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcycgPk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09tYW4nID5PbWFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUGFraXN0YW4nID5QYWtpc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhbGF1JyA+UGFsYXU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYWxlc3RpbmUnID5QYWxlc3RpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYW5hbWEnID5QYW5hbWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQYXB1YSBOZXcgR3VpbmVhJyA+UGFwdWEgTmV3IEd1aW5lYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BhcmFndWF5JyA+UGFyYWd1YXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQZXJ1JyA+UGVydTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1BoaWxpcHBpbmVzJyA+UGhpbGlwcGluZXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQb2xhbmQnID5Qb2xhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdQb3J0dWdhbCcgPlBvcnR1Z2FsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nUHVlcnRvIFJpY28nID5QdWVydG8gUmljbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1FhdGFyJyA+UWF0YXI8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdSb21hbmlhJyA+Um9tYW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1J1c3NpYScgPlJ1c3NpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1J3YW5kYScgPlJ3YW5kYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IEtpdHRzIGFuZCBOZXZpcycgPlNhaW50IEtpdHRzIGFuZCBOZXZpczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhaW50IEx1Y2lhJyA+U2FpbnQgTHVjaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcycgPlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2Ftb2EnID5TYW1vYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhbiBNYXJpbm8nID5TYW4gTWFyaW5vPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2FvIFRvbWUgYW5kIFByaW5jaXBlJyA+U2FvIFRvbWUgYW5kIFByaW5jaXBlPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2F1ZGkgQXJhYmlhJyA+U2F1ZGkgQXJhYmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2VuZWdhbCcgPlNlbmVnYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZXJiaWEgYW5kIE1vbnRlbmVncm8nID5TZXJiaWEgYW5kIE1vbnRlbmVncm88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTZXljaGVsbGVzJyA+U2V5Y2hlbGxlczwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NpZXJyYSBMZW9uZScgPlNpZXJyYSBMZW9uZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NpbmdhcG9yZScgPlNpbmdhcG9yZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Nsb3Zha2lhJyA+U2xvdmFraWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTbG92ZW5pYScgPlNsb3ZlbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU29sb21vbiBJc2xhbmRzJyA+U29sb21vbiBJc2xhbmRzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU29tYWxpYScgPlNvbWFsaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBBZnJpY2EnID5Tb3V0aCBBZnJpY2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTcGFpbicgPlNwYWluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3JpIExhbmthJyA+U3JpIExhbmthPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3VkYW4nID5TdWRhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N1ZGFuLCBTb3V0aCcgPlN1ZGFuLCBTb3V0aDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N1cmluYW1lJyA+U3VyaW5hbWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTd2F6aWxhbmQnID5Td2F6aWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTd2VkZW4nID5Td2VkZW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTd2l0emVybGFuZCcgPlN3aXR6ZXJsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU3lyaWEnID5TeXJpYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RhaXdhbicgPlRhaXdhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RhamlraXN0YW4nID5UYWppa2lzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGFuemFuaWEnID5UYW56YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RoYWlsYW5kJyA+VGhhaWxhbmQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUb2dvJyA+VG9nbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1RvbmdhJyA+VG9uZ2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUcmluaWRhZCBhbmQgVG9iYWdvJyA+VHJpbmlkYWQgYW5kIFRvYmFnbzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1R1bmlzaWEnID5UdW5pc2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVya2V5JyA+VHVya2V5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVya21lbmlzdGFuJyA+VHVya21lbmlzdGFuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHV2YWx1JyA+VHV2YWx1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVWdhbmRhJyA+VWdhbmRhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVWtyYWluZScgPlVrcmFpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVbml0ZWQgQXJhYiBFbWlyYXRlcycgPlVuaXRlZCBBcmFiIEVtaXJhdGVzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVXJ1Z3VheScgPlVydWd1YXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdVemJla2lzdGFuJyA+VXpiZWtpc3Rhbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZhbnVhdHUnID5WYW51YXR1PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmF0aWNhbiBDaXR5JyA+VmF0aWNhbiBDaXR5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmVuZXp1ZWxhJyA+VmVuZXp1ZWxhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlldG5hbScgPlZpZXRuYW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWaXJnaW4gSXNsYW5kcywgQnJpdGlzaCcgPlZpcmdpbiBJc2xhbmRzLCBCcml0aXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVmlyZ2luIElzbGFuZHMsIFUuUy4nID5WaXJnaW4gSXNsYW5kcywgVS5TLjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1llbWVuJyA+WWVtZW48L29wdGlvbj48b3B0aW9uIHZhbHVlPSdaYW1iaWEnID5aYW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdaaW1iYWJ3ZScgPlppbWJhYndlPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzQnIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM180JyA+U3RhdGU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxzZWxlY3QgbmFtZT0naW5wdXRfNCcgaWQ9J2lucHV0XzIzXzQnICBjbGFzcz0nbWVkaXVtIGdmaWVsZF9zZWxlY3QnIHRhYmluZGV4PSc1JyA+PG9wdGlvbiB2YWx1ZT0nQWxhYmFtYScgPkFsYWJhbWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBbGFza2EnID5BbGFza2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcml6b25hJyA+QXJpem9uYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Fya2Fuc2FzJyA+QXJrYW5zYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDYWxpZm9ybmlhJyA+Q2FsaWZvcm5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0NvbG9yYWRvJyA+Q29sb3JhZG88L29wdGlvbj48b3B0aW9uIHZhbHVlPSdDb25uZWN0aWN1dCcgPkNvbm5lY3RpY3V0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRGVsYXdhcmUnID5EZWxhd2FyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0Rpc3RyaWN0IG9mIENvbHVtYmlhJyA+RGlzdHJpY3Qgb2YgQ29sdW1iaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdGbG9yaWRhJyA+RmxvcmlkYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0dlb3JnaWEnID5HZW9yZ2lhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSGF3YWlpJyA+SGF3YWlpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nSWRhaG8nID5JZGFobzwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lsbGlub2lzJyA+SWxsaW5vaXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdJbmRpYW5hJyA+SW5kaWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0lvd2EnID5Jb3dhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2Fuc2FzJyA+S2Fuc2FzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nS2VudHVja3knID5LZW50dWNreTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0xvdWlzaWFuYScgPkxvdWlzaWFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01haW5lJyA+TWFpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNYXJ5bGFuZCcgPk1hcnlsYW5kPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWFzc2FjaHVzZXR0cycgPk1hc3NhY2h1c2V0dHM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNaWNoaWdhbicgPk1pY2hpZ2FuPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlubmVzb3RhJyA+TWlubmVzb3RhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTWlzc2lzc2lwcGknID5NaXNzaXNzaXBwaTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J01pc3NvdXJpJyA+TWlzc291cmk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdNb250YW5hJyA+TW9udGFuYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05lYnJhc2thJyA+TmVicmFza2E8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXZhZGEnID5OZXZhZGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgSGFtcHNoaXJlJyA+TmV3IEhhbXBzaGlyZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05ldyBKZXJzZXknID5OZXcgSmVyc2V5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTmV3IE1leGljbycgPk5ldyBNZXhpY288L29wdGlvbj48b3B0aW9uIHZhbHVlPSdOZXcgWW9yaycgPk5ldyBZb3JrPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nTm9ydGggQ2Fyb2xpbmEnID5Ob3J0aCBDYXJvbGluYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J05vcnRoIERha290YScgPk5vcnRoIERha290YTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09oaW8nID5PaGlvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nT2tsYWhvbWEnID5Pa2xhaG9tYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J09yZWdvbicgPk9yZWdvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Blbm5zeWx2YW5pYScgPlBlbm5zeWx2YW5pYTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1Job2RlIElzbGFuZCcgPlJob2RlIElzbGFuZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NvdXRoIENhcm9saW5hJyA+U291dGggQ2Fyb2xpbmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTb3V0aCBEYWtvdGEnID5Tb3V0aCBEYWtvdGE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUZW5uZXNzZWUnID5UZW5uZXNzZWU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUZXhhcycgPlRleGFzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVXRhaCcgPlV0YWg8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdWZXJtb250JyA+VmVybW9udDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1ZpcmdpbmlhJyA+VmlyZ2luaWE8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXYXNoaW5ndG9uJyA+V2FzaGluZ3Rvbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1dlc3QgVmlyZ2luaWEnID5XZXN0IFZpcmdpbmlhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV2lzY29uc2luJyA+V2lzY29uc2luPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV3lvbWluZycgPld5b21pbmc8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lZCBGb3JjZXMgQW1lcmljYXMnID5Bcm1lZCBGb3JjZXMgQW1lcmljYXM8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdBcm1lZCBGb3JjZXMgRXVyb3BlJyA+QXJtZWQgRm9yY2VzIEV1cm9wZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0FybWVkIEZvcmNlcyBQYWNpZmljJyA+QXJtZWQgRm9yY2VzIFBhY2lmaWM8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfMjNfNicgY2xhc3M9J2dmaWVsZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzYnID5QaG9uZTwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzYnIGlkPSdpbnB1dF8yM182JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyB0YWJpbmRleD0nNicgICAvPjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8yM183JyBjbGFzcz0nZ2ZpZWxkIGdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzIzXzcnID5Db21wYW55PHNwYW4gY2xhc3M9J2dmaWVsZF9yZXF1aXJlZCc+Kjwvc3Bhbj48L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF83JyBpZD0naW5wdXRfMjNfNycgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PSc3JyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzIzXzgnIGNsYXNzPSdnZmllbGQgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8yM184JyA+Sm9iIFRpdGxlPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfOCcgaWQ9J2lucHV0XzIzXzgnIHR5cGU9J3RleHQnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nICB0YWJpbmRleD0nOCcgICAvPjwvZGl2PjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2Zvb3RlciB0b3BfbGFiZWwnPiA8aW5wdXQgdHlwZT0nc3VibWl0JyBpZD0nZ2Zvcm1fc3VibWl0X2J1dHRvbl8yMycgY2xhc3M9J2dmb3JtX2J1dHRvbiBidXR0b24nIHZhbHVlPSdSZWdpc3RlciBOb3chJyB0YWJpbmRleD0nOScgb25jbGljaz0naWYod2luZG93WyJnZl9zdWJtaXR0aW5nXzIzIl0pe3JldHVybiBmYWxzZTt9ICB3aW5kb3dbImdmX3N1Ym1pdHRpbmdfMjMiXT10cnVlOyAgJyAvPiA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdnZm9ybV9hamF4JyB2YWx1ZT0nZm9ybV9pZD0yMyZhbXA7dGl0bGU9JmFtcDtkZXNjcmlwdGlvbj0mYW1wO3RhYmluZGV4PTEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2lzX3N1Ym1pdF8yMycgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3N1Ym1pdCcgdmFsdWU9JzIzJyAvPgogICAgICAgICAgICAKICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fdW5pcXVlX2lkJyB2YWx1ZT0nJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdzdGF0ZV8yMycgdmFsdWU9J1d5SmJYU0lzSW1OaE9EVTNZbVl3TURZd05EY3dNVGxqTW1FeU1qQTJOR1poWkRBd056QTFJbDA9JyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMjMnIGlkPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMjMnIHZhbHVlPScwJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMjMnIGlkPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMjMnIHZhbHVlPScxJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdnZm9ybV9maWVsZF92YWx1ZXMnIHZhbHVlPScnIC8+CiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGlmcmFtZSBzdHlsZT0nZGlzcGxheTpub25lO3dpZHRoOjBweDtoZWlnaHQ6MHB4Oycgc3JjPSdhYm91dDpibGFuaycgbmFtZT0nZ2Zvcm1fYWpheF9mcmFtZV8yMycgaWQ9J2dmb3JtX2FqYXhfZnJhbWVfMjMnPjwvaWZyYW1lPgogICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCl7Z2Zvcm1Jbml0U3Bpbm5lciggMjMsICdodHRwOi8vd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeSgnI2dmb3JtX2FqYXhfZnJhbWVfMjMnKS5sb2FkKCBmdW5jdGlvbigpe3ZhciBjb250ZW50cyA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyonKS5odG1sKCk7dmFyIGlzX3Bvc3RiYWNrID0gY29udGVudHMuaW5kZXhPZignR0ZfQUpBWF9QT1NUQkFDSycpID49IDA7aWYoIWlzX3Bvc3RiYWNrKXtyZXR1cm47fXZhciBmb3JtX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1fd3JhcHBlcl8yMycpO3ZhciBpc19jb25maXJtYXRpb24gPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXJfMjMnKS5sZW5ndGggPiAwO3ZhciBpc19yZWRpcmVjdCA9IGNvbnRlbnRzLmluZGV4T2YoJ2dmb3JtUmVkaXJlY3QoKXsnKSA+PSAwO3ZhciBpc19mb3JtID0gZm9ybV9jb250ZW50Lmxlbmd0aCA+IDAgJiYgISBpc19yZWRpcmVjdCAmJiAhIGlzX2NvbmZpcm1hdGlvbjtpZihpc19mb3JtKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykuaHRtbChmb3JtX2NvbnRlbnQuaHRtbCgpKTtzZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsgLyogZGVsYXkgdGhlIHNjcm9sbCBieSA1MCBtaWxsaXNlY29uZHMgdG8gZml4IGEgYnVnIGluIGNocm9tZSAqLyBqUXVlcnkoZG9jdW1lbnQpLnNjcm9sbFRvcChqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykub2Zmc2V0KCkudG9wKTsgfSwgNTAgKTtpZih3aW5kb3dbJ2dmb3JtSW5pdERhdGVwaWNrZXInXSkge2dmb3JtSW5pdERhdGVwaWNrZXIoKTt9aWYod2luZG93WydnZm9ybUluaXRQcmljZUZpZWxkcyddKSB7Z2Zvcm1Jbml0UHJpY2VGaWVsZHMoKTt9dmFyIGN1cnJlbnRfcGFnZSA9IGpRdWVyeSgnI2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8yMycpLnZhbCgpO2dmb3JtSW5pdFNwaW5uZXIoIDIzLCAnaHR0cDovL3d3dy52aXJ0dWFsaXphdGlvbnNvZnR3YXJlLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZ3Jhdml0eWZvcm1zL2ltYWdlcy9zcGlubmVyLmdpZicgKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3BhZ2VfbG9hZGVkJywgWzIzLCBjdXJyZW50X3BhZ2VdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfMjMnXSA9IGZhbHNlO31lbHNlIGlmKCFpc19yZWRpcmVjdCl7dmFyIGNvbmZpcm1hdGlvbl9jb250ZW50ID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yMycpLmh0bWwoKTtpZighY29uZmlybWF0aW9uX2NvbnRlbnQpe2NvbmZpcm1hdGlvbl9jb250ZW50ID0gY29udGVudHM7fXNldFRpbWVvdXQoZnVuY3Rpb24oKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzIzJykucmVwbGFjZVdpdGgoJzwnICsgJ2RpdiBpZD1cJ2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yM1wnIGNsYXNzPVwnZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2VfMjMgZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXCcnICsgJz4nICsgY29uZmlybWF0aW9uX2NvbnRlbnQgKyAnPCcgKyAnL2RpdicgKyAnPicpO2pRdWVyeShkb2N1bWVudCkuc2Nyb2xsVG9wKGpRdWVyeSgnI2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8yMycpLm9mZnNldCgpLnRvcCk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9jb25maXJtYXRpb25fbG9hZGVkJywgWzIzXSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzIzJ10gPSBmYWxzZTt9LCA1MCk7fWVsc2V7alF1ZXJ5KCcjZ2Zvcm1fMjMnKS5hcHBlbmQoY29udGVudHMpO2lmKHdpbmRvd1snZ2Zvcm1SZWRpcmVjdCddKSB7Z2Zvcm1SZWRpcmVjdCgpO319alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X3JlbmRlcicsIFsyMywgY3VycmVudF9wYWdlXSk7fSApO30gKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IGlmKHR5cGVvZiBnZl9nbG9iYWwgPT0gJ3VuZGVmaW5lZCcpIHZhciBnZl9nbG9iYWwgPSB7ImdmX2N1cnJlbmN5X2NvbmZpZyI6eyJuYW1lIjoiVS5TLiBEb2xsYXIiLCJzeW1ib2xfbGVmdCI6IiQiLCJzeW1ib2xfcmlnaHQiOiIiLCJzeW1ib2xfcGFkZGluZyI6IiIsInRob3VzYW5kX3NlcGFyYXRvciI6IiwiLCJkZWNpbWFsX3NlcGFyYXRvciI6Ii4iLCJkZWNpbWFscyI6Mn0sImJhc2VfdXJsIjoiaHR0cDpcL1wvd3d3LnZpcnR1YWxpemF0aW9uc29mdHdhcmUuY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC9ncmF2aXR5Zm9ybXMiLCJudW1iZXJfZm9ybWF0cyI6W10sInNwaW5uZXJVcmwiOiJodHRwOlwvXC93d3cudmlydHVhbGl6YXRpb25zb2Z0d2FyZS5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3Jtc1wvaW1hZ2VzXC9zcGlubmVyLmdpZiJ9O2pRdWVyeShkb2N1bWVudCkuYmluZCgnZ2Zvcm1fcG9zdF9yZW5kZXInLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBjdXJyZW50UGFnZSl7aWYoZm9ybUlkID09IDIzKSB7aWYod2luZG93WydqUXVlcnknXSl7aWYoIXdpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddKXdpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddID0gbmV3IEFycmF5KCk7d2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ11bMjNdID0geydsb2dpYycgOiB7NDogeyJmaWVsZCI6eyJhY3Rpb25UeXBlIjoiaGlkZSIsImxvZ2ljVHlwZSI6ImFsbCIsInJ1bGVzIjpbeyJmaWVsZElkIjoiNSIsIm9wZXJhdG9yIjoiaXNub3QiLCJ2YWx1ZSI6IlVuaXRlZCBTdGF0ZXMifV19LCJuZXh0QnV0dG9uIjpudWxsLCJzZWN0aW9uIjpudWxsfSB9LCAnZGVwZW5kZW50cycgOiB7NDogWzRdIH0sICdhbmltYXRpb24nIDogMCAsICdkZWZhdWx0cycgOiB7IjUiOiJVbml0ZWQgU3RhdGVzIn0gfTsgaWYoIXdpbmRvd1snZ2ZfbnVtYmVyX2Zvcm1hdCddKXdpbmRvd1snZ2ZfbnVtYmVyX2Zvcm1hdCddID0gJ2RlY2ltYWxfZG90JztqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7Z2ZfYXBwbHlfcnVsZXMoMjMsIFs0XSwgdHJ1ZSk7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8yMycpLnNob3coKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBbMjMsIG51bGwsIHRydWVdKTt9ICk7fSBnZm9ybUluaXRDaG9zZW5GaWVsZHMoJyNpbnB1dF8yM181LCNpbnB1dF8yM180JywnTm8gcmVzdWx0cyBtYXRjaGVkJyk7fSB9ICk7alF1ZXJ5KGRvY3VtZW50KS5iaW5kKCdnZm9ybV9wb3N0X2NvbmRpdGlvbmFsX2xvZ2ljJywgZnVuY3Rpb24oZXZlbnQsIGZvcm1JZCwgZmllbGRzLCBpc0luaXQpe2dmb3JtSW5pdENob3NlbkZpZWxkcygnI2lucHV0XzIzXzUsI2lucHV0XzIzXzQnLCdObyByZXN1bHRzIG1hdGNoZWQnKTt9ICk7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X3JlbmRlcicsIFsyMywgMV0pIH0gKTsgPC9zY3JpcHQ+