In exchange for finding her father, Cat agrees to train with the sexy night stalker until her battle reflexes are as sharp as his fangs. She's amazed she doesn't end up as his dinner—are there actually good vampires? Pretty soon Bones will have her convinced that being half-dead doesn't have to be all bad. But before she can enjoy her newfound status as kick-ass demon hunter, Cat and Bones are pursued by a group of killers. Now Cat will have to choose a side... and Bones is turning out to be as tempting as any man with a heartbeat.
Includes Night Huntress 1-6 plus a short story.
Audio Sample Player
Social Media Share Widgets
Purchase Options
Format Information
ALL DOWNLOAD FORMATS INCLUDE LISTENING TO THE TITLE IN GRAPHICAUDIO ACCESS™ APP ON ANDROID AND APPLE IOS DEVICES! LEARN MORE.
GraphicAudio is available in various high quality digital audio formats.
Listen with Access App Only - Download our app for Apple iOS & Android. App Device Compatibility: Android phones with OS 5 or later and iPhone, iPad, and iPod touch with iOS 9.0 or later. The Access App Only option does not include a zip download.
MP3 (256kbps) - Download the zip file and Play with any media player. You also get to Listen with GraphicAudio Access App. This is the most common audio download format that will play on any computer or media player. The average size of this download will be around 600 MB.
M4B (256kbps) - Download the zip file and Play with Apple Music, iPhone, iPod and iPad. You also get to Listen with GraphicAudio Access App. This format will work only in iTunes, Quicktime, on a Mac computer, or on an iOS device such as iPhone or iPad. M4B's have the ability to bookmark in some audio apps. The M4B download is one complete file, so it is not split up into smaller parts. The average size of this download will be around 600 MB.
FLAC (16 bit / 44.1 khz) - Download the zip file and Play with VLC or other high quality audio software. You also get to Listen with GraphicAudio Access App. This a studio-quality lossless digital audio format. This means that it does not lose data like other types of compressed audio files. Lossless compression still retains low-level resolution of a standard CD. The advantage of FLAC is that it takes up less room on your computer than an WAV (CD files). The average size of this download will be around 2,000 MB (2 GB).
FLAC 5.1 SURROUND (16 bit / 44.1 khz) - Download the zip file and Play with 5.1 Surround Sound Home Theater systems or other high quality surround sound audio software. You also get to listen to stereo version with the GraphicAudio Access App. The average size of this download will be around 4,500 MB (4.5 GB).
How do I un-zip my download?
When you download the file, it arrives on your computer in a compressed format called zip. Before you can add the audio files to your library and listen to it, you'll need to decompress, or "unzip" it. Doing so is very easy: If you're on a PC, right-click the file and choose Extract All... You're done. If you're on a Mac, double-click the file and it extracts into a separate folder next to where the other file is located.
My zip download says it's expired. What now?
Click here to send a customer support ticket to us. Please include the order number if you have it.
7 Titles In This Set - See AllSee Fewer
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY3NDEtMTE4NDQwNDQiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2Utd3JhcHBlciI+CiAgICAgICAgPGltZyBjbGFzcz0icHJvZHVjdC1pbWFnZS1waG90byIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1za3U9Ik5JR0hUSFVOVFJFU1MwMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJUbWxuYUhRZ1NIVnVkSEpsYzNNZ01Ub2dTR0ZzWm5kaGVTQlVieUJVYUdVZ1IzSmhkbVU9IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4L24vaS9uaWdodF9odW50cmVzc18xX2hhbGZ3YXlfdG9fdGhlX2dyYXZlLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iTmlnaHQmI3gyMDtIdW50cmVzcyYjeDIwOzEmI3gzQTsmI3gyMDtIYWxmd2F5JiN4MjA7VG8mI3gyMDtUaGUmI3gyMDtHcmF2ZSIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY3NDEtMTE4NDQwNDQgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci02NzQxLTExODQ0MDQ0IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTY3NDEtMTE4NDQwNDQiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci02NzQxLTExODQ0MDQ0ICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5OaWdodCBIdW50cmVzczwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4xIDo8L3NwYW4+ICAgICAgICAgICAgICAgIEhhbGZ3YXkgVG8gVGhlIEdyYXZlICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBKZWFuaWVuZSBGcm9zdDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IE9jdCAxMiwgMjAyMiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA5LjUgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDE4KyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+SGFsZi12YW1waXJlIENhdGhlcmluZSBDcmF3ZmllbGQgaXMgZ29pbmcgYWZ0ZXIgdGhlIHVuZGVhZCB3aXRoIGEgdmVuZ2VhbmNlLCBob3BpbmcgdGhhdCBvbmUgb2YgdGhlc2UgZGVhZGJlYXRzIGlzIGhlciBmYXRoZXLigJR0aGUgb25lIHJlc3BvbnNpYmxlIGZvciBydWluaW5nIGhlciBtb3RoZXIncyBsaWZlLiBUaGVuIHNoZSdzIGNhcHR1cmVkIGJ5IEJvbmVzLCBhIHZhbXBpcmUgYm91bnR5IGh1bnRlciwgYW5kIGlzIGZvcmNlZCBpbnRvIGFuIHVuaG9seSBwYXJ0bmVyc2hpcC48YnIgLz4NCjxiciAvPg0KSW4gZXhjaGFuZ2UgZm9yIGZpbmRpbmcgaGVyIGZhdGhlciwgQ2F0IGFncmVlcyB0byB0cmFpbiB3aXRoIHRoZSBzZXh5IG5pZ2h0IHN0YWxrZXIgdW50aWwgaGVyIGJhdHRsZSByZWZsZXhlcyBhcmUgYXMgc2hhcnAgYXMgaGlzIGZhbmdzLiBTaGUncyBhbWF6ZWQgc2hlIGRvZXNuJ3QgZW5kIHVwIGFzIGhpcyBkaW5uZXLigJRhcmUgdGhlcmUgYWN0dWFsbHkgZ29vZCB2YW1waXJlcz8gUHJldHR5IHNvb24gQm9uZXMgd2lsbCBoYXZlIGhlciBjb252aW5jZWQgdGhhdCBiZWluZyBoYWxmLWRlYWQgZG9lc24ndCBoYXZlIHRvIGJlIGFsbCBiYWQuIEJ1dCBiZWZvcmUgc2hlIGNhbiBlbmpveSBoZXIgbmV3Zm91bmQgc3RhdHVzIGFzIGtpY2stYXNzIGRlbW9uIGh1bnRlciwgQ2F0IGFuZCBCb25lcyBhcmUgcHVyc3VlZCBieSBhIGdyb3VwIG9mIGtpbGxlcnMuIE5vdyBDYXQgd2lsbCBoYXZlIHRvIGNob29zZSBhIHNpZGUuLi4gYW5kIEJvbmVzIGlzIHR1cm5pbmcgb3V0IHRvIGJlIGFzIHRlbXB0aW5nIGFzIGFueSBtYW4gd2l0aCBhIGhlYXJ0YmVhdC4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgIENvcHlyaWdodCDCqSAyMDA3LCBKZWFuaWVuZSBGcm9zdC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gUmVjb3JkZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCB0aGUgYXV0aG9yLiDihJcgMjAyMiBHcmFwaGljIEF1ZGlvIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9OSUdIVEhVTlRSRVNTMDEubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvTklHSFRIVU5UUkVTUzAxLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTcyNTUtMTkyMzIyNTYxNCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iTklHSFRIVU5UUkVTUzAyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlRtbG5hSFFnU0hWdWRISmxjM01nTWpvZ1QyNWxJRVp2YjNRZ1NXNGdWR2hsSUVkeVlYWmwiCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvbi9pL25pZ2h0X2h1bnRyZXNzXzJfb25lX2Zvb3RfaW5fdGhlX2dyYXZlLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iTmlnaHQmI3gyMDtIdW50cmVzcyYjeDIwOzImI3gzQTsmI3gyMDtPbmUmI3gyMDtGb290JiN4MjA7SW4mI3gyMDtUaGUmI3gyMDtHcmF2ZSIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTcyNTUtMTkyMzIyNTYxNCB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTcyNTUtMTkyMzIyNTYxNCBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci03MjU1LTE5MjMyMjU2MTQiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci03MjU1LTE5MjMyMjU2MTQgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPk5pZ2h0IEh1bnRyZXNzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjIgOjwvc3Bhbj4gICAgICAgICAgICAgICAgT25lIEZvb3QgSW4gVGhlIEdyYXZlICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBKZWFuaWVuZSBGcm9zdDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IEphbiAyNywgMjAyMyAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA4IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxOCsgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPllvdSBjYW4gcnVuIGZyb20gdGhlIGdyYXZlLCBidXQgeW91IGNhbid0IGhpZGUuLi48YnIgLz4NCjxiciAvPg0KSGFsZi12YW1waXJlIENhdCBDcmF3ZmllbGQgaXMgbm93IFNwZWNpYWwgQWdlbnQgQ2F0IENyYXdmaWVsZCwgd29ya2luZyBmb3IgdGhlIGdvdmVybm1lbnQgdG8gcmlkIHRoZSB3b3JsZCBvZiB0aGUgcm9ndWUgdW5kZWFkLiBTaGUncyBzdGlsbCB1c2luZyBldmVyeXRoaW5nIEJvbmVzLCBoZXIgc2V4eSBhbmQgZGFuZ2Vyb3VzIGV4LCB0YXVnaHQgaGVyLCBidXQgd2hlbiBDYXQgaXMgdGFyZ2V0ZWQgZm9yIGFzc2Fzc2luYXRpb24sIHRoZSBvbmx5IG1hbiB3aG8gY2FuIGhlbHAgaGVyIGlzIHRoZSB2YW1waXJlIHNoZSBsZWZ0IGJlaGluZC48YnIgLz4NCjxiciAvPg0KQmVpbmcgYXJvdW5kIGhpbSBhd2FrZW5zIGFsbCBoZXIgZW1vdGlvbnMsIGZyb20gdGhlIGFkcmVuYWxpbmUga2ljayBvZiBzbGF5aW5nIHZhbXBzIHNpZGUgYnkgc2lkZSB0byB0aGUgcmVja2xlc3MgcGFzc2lvbiB0aGF0IGNvbnN1bWVkIHRoZW0uIEJ1dCBhIHByaWNlIG9uIGhlciBoZWFk4oCUd2FudGVkOiBkZWFkIG9yIGhhbGYtYWxpdmXigJRtZWFucyBoZXIgc3Vydml2YWwgZGVwZW5kcyBvbiB0ZWFtaW5nIHVwIHdpdGggQm9uZXMuIEFuZCBubyBtYXR0ZXIgaG93IGhhcmQgc2hlIHRyaWVzIHRvIGtlZXAgdGhpbmdzIHByb2Zlc3Npb25hbCBiZXR3ZWVuIHRoZW0sIHNoZSdsbCBmaW5kIHRoYXQgZGVzaXJlIGxhc3RzIGZvcmV2ZXIuLi4gYW5kIHRoYXQgQm9uZXMgd29uJ3QgbGV0IGhlciBnZXQgYXdheSBhZ2Fpbi48YnIgLz4NCiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgQ29weXJpZ2h0IMKpIDIwMDcsIEplYW5pZW5lIEZyb3N0LiBBbGwgcmlnaHRzIHJlc2VydmVkLiBSZWNvcmRlZCBieSBhcnJhbmdlbWVudCB3aXRoIHRoZSBhdXRob3IuIOKElyAyMDIzIEdyYXBoaWMgQXVkaW8gTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL05JR0hUSFVOVFJFU1MwMi5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9OSUdIVEhVTlRSRVNTMDIubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTczMzMtMTI5NTg4Nzc2NiI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iTklHSFRIVU5UUkVTUzAzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlRtbG5hSFFnU0hWdWRISmxjM01nTXpvZ1FYUWdSM0poZG1VbmN5QkZibVE9IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4L24vaS9uaWdodF9odW50cmVzc18zX2F0X2dyYXZlc19lbmQuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJOaWdodCYjeDIwO0h1bnRyZXNzJiN4MjA7MyYjeDNBOyYjeDIwO0F0JiN4MjA7R3JhdmUmI3gyNztzJiN4MjA7RW5kIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItNzMzMy0xMjk1ODg3NzY2IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItNzMzMy0xMjk1ODg3NzY2IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTczMzMtMTI5NTg4Nzc2NiIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTczMzMtMTI5NTg4Nzc2NiAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+TmlnaHQgSHVudHJlc3M8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+MyA6PC9zcGFuPiAgICAgICAgICAgICAgICBBdCBHcmF2ZSdzIEVuZCAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgSmVhbmllbmUgRnJvc3Q8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBNYXIgMjQsIDIwMjMgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNy41IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxOCsgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPlNvbWUgdGhpbmdzIHdvbid0IHN0YXkgYnVyaWVkLi4uIGF0IGdyYXZlJ3MgZW5kLjxiciAvPg0KPGJyIC8+DQpJdCBzaG91bGQgYmUgdGhlIGJlc3QgdGltZSBvZiBoYWxmLXZhbXBpcmUgQ2F0IENyYXdmaWVsZCdzIGxpZmUuIFdpdGggaGVyIHVuZGVhZCBsb3ZlciBCb25lcyBhdCBoZXIgc2lkZSwgc2hlJ3Mgc3VjY2Vzc2Z1bGx5IHByb3RlY3RlZCBtb3J0YWxzIGZyb20gdGhlIHJvZ3VlIHVuZGVhZC4gQnV0IHRob3VnaCBDYXQncyB3b3JuIGRpc2d1aXNlIGFmdGVyIGRpc2d1aXNlIHRvIGtlZXAgaGVyIHRydWUgaWRlbnRpdHkgYSBzZWNyZXQgZnJvbSB0aGUgYnJhemVuIGJsb29kc3Vja2VycywgaGVyIGNvdmVyJ3MgZmluYWxseSBiZWVuIGJsb3duLCBwbGFjaW5nIGhlciBpbiB0ZXJyaWJsZSBkYW5nZXIuPGJyIC8+DQo8YnIgLz4NCkFzIGlmIHRoYXQgd2Fzbid0IGVub3VnaCwgYSB3b21hbiBmcm9tIEJvbmVzJ3MgcGFzdCBpcyBkZXRlcm1pbmVkIHRvIGJ1cnkgaGltIG9uY2UgYW5kIGZvciBhbGwuIENhdWdodCBpbiB0aGUgY3Jvc3NoYWlycyBvZiBhIHZlbmdlZnVsIHZhbXAsIHlldCBkZXRlcm1pbmVkIHRvIGhlbHAgQm9uZXMgc3RvcCBhIGxldGhhbCBtYWdpYyBmcm9tIGJlaW5nIHVubGVhc2hlZCwgQ2F0J3MgYWJvdXQgdG8gbGVhcm4gdGhlIHRydWUgbWVhbmluZyBvZiBiYWQgYmxvb2QuIEFuZCB0aGUgdHJpY2tzIHNoZSdzIGxlYXJuZWQgYXMgYSBzcGVjaWFsIGFnZW50IHdvbid0IGhlbHAgaGVyLiBTaGUgd2lsbCBuZWVkIHRvIGZ1bGx5IGVtYnJhY2UgaGVyIHZhbXBpcmUgaW5zdGluY3RzIGluIG9yZGVyIHRvIHNhdmUgaGVyc2VsZuKAlGFuZCBCb25lc+KAlGZyb20gYSBmYXRlIHdvcnNlIHRoYW4gdGhlIGdyYXZlLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgQ29weXJpZ2h0IMKpIDIwMDgsIEplYW5pZW5lIEZyb3N0LiBBbGwgcmlnaHRzIHJlc2VydmVkLiBSZWNvcmRlZCBieSBhcnJhbmdlbWVudCB3aXRoIHRoZSBhdXRob3IuIOKElyAyMDIzIEdyYXBoaWMgQXVkaW8gTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL05JR0hUSFVOVFJFU1MwMy5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9OSUdIVEhVTlRSRVNTMDMubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTczNTktMTQ5MTcxMzU3MCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iTklHSFRIVU5UUkVTUzA0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlRtbG5hSFFnU0hWdWRISmxjM01nTkRvZ1JHVnpkR2x1WldRZ1ptOXlJR0Z1SUVWaGNteDVJRWR5WVhabCIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9uL2kvbmlnaHRfaHVudHJlc3NfNF9kZXN0aW5lZF9mb3JfYW5fZWFybHlfZ3JhdmUuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJOaWdodCYjeDIwO0h1bnRyZXNzJiN4MjA7NCYjeDNBOyYjeDIwO0Rlc3RpbmVkJiN4MjA7Zm9yJiN4MjA7YW4mI3gyMDtFYXJseSYjeDIwO0dyYXZlIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItNzM1OS0xNDkxNzEzNTcwIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItNzM1OS0xNDkxNzEzNTcwIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTczNTktMTQ5MTcxMzU3MCIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTczNTktMTQ5MTcxMzU3MCAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+TmlnaHQgSHVudHJlc3M8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+NCA6PC9zcGFuPiAgICAgICAgICAgICAgICBEZXN0aW5lZCBmb3IgYW4gRWFybHkgR3JhdmUgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IEplYW5pZW5lIEZyb3N0PC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gTWF5IDMxLCAyMDIzICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDggSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDE4KyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+SGVyIGRlYWRseSBkcmVhbXMgbGVhdmUgaGVyIGluIGdyYXZlIGRhbmdlci48YnIgLz4NCjxiciAvPg0KU2luY2UgaGFsZi12YW1waXJlIENhdCBDcmF3ZmllbGQgYW5kIGhlciB1bmRlYWQgbG92ZXIgQm9uZXMgbWV0IHNpeCB5ZWFycyBhZ28sIHRoZXkndmUgZm91Z2h0IGFnYWluc3QgdGhlIHJvZ3VlIHVuZGVhZCwgYmF0dGxlZCBhIHZlbmdlZnVsIE1hc3RlciB2YW1waXJlLCBhbmQgcGxlZGdlZCB0aGVpciBkZXZvdGlvbiB3aXRoIGEgYmxvb2QgYm9uZC4gTm93IGl0J3MgdGltZSBmb3IgYSB2YWNhdGlvbi4gQnV0IHRoZWlyIGhvcGVzIGZvciBhIHBlcmZlY3QgUGFyaXMgaG9saWRheSBhcmUgZGFzaGVkIHdoZW4gQ2F0IGF3YWtlcyBvbmUgbmlnaHQgaW4gdGVycm9yLiBTaGUncyBoYXZpbmcgdmlzaW9ucyBvZiBhIHZhbXBpcmUgbmFtZWQgR3JlZ29yIHdobydzIG1vcmUgcG93ZXJmdWwgdGhhbiBCb25lcyBhbmQgaGFzIHRpZXMgdG8gaGVyIHBhc3QgdGhhdCBldmVuIENhdCBoZXJzZWxmIGRpZG4ndCBrbm93IGFib3V0LjxiciAvPg0KPGJyIC8+DQpHcmVnb3IgYmVsaWV2ZXMgQ2F0IGlzIGhpcyBhbmQgaGUgd29uJ3Qgc3RvcCB1bnRpbCBoZSBoYXMgaGVyLiBBcyB0aGUgYmF0dGxlIGJlZ2lucyBiZXR3ZWVuIHRoZSB2YW1wIHdobyBoYXVudHMgaGVyIG5pZ2h0bWFyZXMgYW5kIHRoZSBvbmUgd2hvIGhvbGRzIGhlciBoZWFydCwgb25seSBDYXQgY2FuIGJyZWFrIEdyZWdvcidzIGhvbGQgb3ZlciBoZXIuIFNoZSdsbCBuZWVkIGFsbCB0aGUgcG93ZXIgc2hlIGNhbiBzdW1tb24gaW4gb3JkZXIgdG8gYnJpbmcgZG93biB0aGUgYmFkZGVzdCBibG9vZHN1Y2tlciBzaGUncyBldmVyIGZhY2VkIC4gLiAuIGV2ZW4gaWYgZ2V0dGluZyB0aGF0IHBvd2VyIHdpbGwgcmVzdWx0IGluIGFuIGVhcmx5IGdyYXZlLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgQ29weXJpZ2h0IMKpIDIwMDksIEplYW5pZW5lIEZyb3N0LiBBbGwgcmlnaHRzIHJlc2VydmVkLiBSZWNvcmRlZCBieSBhcnJhbmdlbWVudCB3aXRoIHRoZSBhdXRob3IuIOKElyAyMDIzIEdyYXBoaWMgQXVkaW8gTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL05JR0hUSFVOVFJFU1MwNC5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9OSUdIVEhVTlRSRVNTMDQubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTczOTktMTc0MDA4OTE1NCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iTklHSFRIVU5UUkVTUzA0MDUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iVG1sbmFIUWdTSFZ1ZEhKbGMzTTZJRTl1WlNCbWIzSWdkR2hsSUUxdmJtVjUiCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvbi9pL25pZ2h0X2h1bnRyZXNzX29uZV9mb3JfdGhlX21vbmV5MS5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9Ik5pZ2h0JiN4MjA7SHVudHJlc3MmI3gzQTsmI3gyMDtPbmUmI3gyMDtmb3ImI3gyMDt0aGUmI3gyMDtNb25leSIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTczOTktMTc0MDA4OTE1NCB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTczOTktMTc0MDA4OTE1NCBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci03Mzk5LTE3NDAwODkxNTQiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci03Mzk5LTE3NDAwODkxNTQgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPk5pZ2h0IEh1bnRyZXNzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjQuNSA6PC9zcGFuPiAgICAgICAgICAgICAgICBPbmUgZm9yIHRoZSBNb25leSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgSmVhbmllbmUgRnJvc3Q8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBKdW4gMTQsIDIwMjMgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gMSBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTgrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5BbiBleGNpdGluZyBub3ZlbGV0dGUgc2V0IGluIEplYW5pZW5lIEZyb3N04oCZcyBOaWdodCBIdW50cmVzcyB3b3JsZC48YnIgLz4NCjxiciAvPg0KQSByb21hbnRpYyBnZXRhd2F5IGZvciB2YW1waXJlcyBDYXQgQ3Jhd2ZpZWxkIGFuZCBoZXIgaHVzYmFuZCBCb25lcyBpcyBjdXQgc2hvcnQgd2hlbiB0aGV54oCZcmUgY2FsbGVkIG9uIHRvIGd1YXJkIGEgc3BvaWxlZCBoZWlyZXNzIHdpdGggYSBwcmljZSBvbiBoZXIgaGVhZCwgYW5kIGFuIHVuZGVhZCBoaXRtYW4gb24gaGVyIHRyYWlsLjxiciAvPg0KPGJyIC8+DQpXaGF0IHN0YXJ0cyBhcyBhIHNpbXBsZSBib2R5Z3VhcmQgam9iIGVuZHMgdXAgYmVpbmcgYSBmaWdodCBmb3Igc3Vydml2YWwgdGhhdCBuZWl0aGVyIENhdCwgbm9yIEJvbmVzIHNhdyBjb21pbmcuICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICBDb3B5cmlnaHQgwqkgMjAxMCwgSmVhbmllbmUgRnJvc3QuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFJlY29yZGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggdGhlIGF1dGhvci4g4oSXIDIwMjMgR3JhcGhpYyBBdWRpbyBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvTklHSFRIVU5UUkVTUzA0MDUubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvTklHSFRIVU5UUkVTUzA0MDUubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTc0NjItOTI5OTgyMTgxIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJOSUdIVEhVTlRSRVNTMDUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iVG1sbmFIUWdTSFZ1ZEhKbGMzTWdOVG9nVkdocGN5QlRhV1JsSUU5bUlGUm9aU0JIY21GMlpRPT0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvbi9pL25pZ2h0X2h1bnRyZXNzXzVfdGhpc19zaWRlX29mX3RoZV9ncmF2ZV8xLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iTmlnaHQmI3gyMDtIdW50cmVzcyYjeDIwOzUmI3gzQTsmI3gyMDtUaGlzJiN4MjA7U2lkZSYjeDIwO09mJiN4MjA7VGhlJiN4MjA7R3JhdmUiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci03NDYyLTkyOTk4MjE4MSB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTc0NjItOTI5OTgyMTgxIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTc0NjItOTI5OTgyMTgxIik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItNzQ2Mi05Mjk5ODIxODEgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPk5pZ2h0IEh1bnRyZXNzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjUgOjwvc3Bhbj4gICAgICAgICAgICAgICAgVGhpcyBTaWRlIE9mIFRoZSBHcmF2ZSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgSmVhbmllbmUgRnJvc3Q8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBTZXAgMTgsIDIwMjMgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNyBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTgrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5IYWxmLXZhbXBpcmUgQ2F0IENyYXdmaWVsZCBhbmQgaGVyIHZhbXBpcmUgaHVzYmFuZCBCb25lcyBoYXZlIGZvdWdodCBmb3IgdGhlaXIgbGl2ZXMsIGFzIHdlbGwgYXMgZm9yIHRoZWlyIHJlbGF0aW9uc2hpcC4gQnV0IGp1c3Qgd2hlbiB0aGV5J3ZlIHRyaXVtcGhlZCBvdmVyIHRoZSBsYXRlc3QgYmF0dGxlLCBDYXQncyBuZXcgYW5kIHVuZXhwZWN0ZWQgYWJpbGl0aWVzIHRocmVhdGVuIHRvIHVwc2V0IGEgbG9uZy1zdGFuZGluZyBiYWxhbmNlLi4uPGJyIC8+DQo8YnIgLz4NCldpdGggdGhlIG15c3RlcmlvdXMgZGlzYXBwZWFyYW5jZSBvZiB2YW1waXJlcywgcnVtb3JzIGFib3VuZCB0aGF0IGEgc3BlY2llcyB3YXIgaXMgYnJld2luZy4gQSB6ZWFsb3QgaXMgaW5jaXRpbmcgdGVuc2lvbnMgYmV0d2VlbiB0aGUgdmFtcGlyZXMgYW5kIGdob3VscywgYW5kIGlmIHRoZXNlIHR3byBwb3dlcmZ1bCBncm91cHMgY2xhc2gsIGlubm9jZW50IG1vcnRhbHMgY291bGQgYmVjb21lIGNvbGxhdGVyYWwgZGFtYWdlLiBOb3cgQ2F0IGFuZCBCb25lcyBhcmUgZm9yY2VkIHRvIHNlZWsgaGVscCBmcm9tIGEgZGFuZ2Vyb3VzICJhbGx5IuKAlHRoZSBnaG91bCBxdWVlbiBvZiBOZXcgT3JsZWFucyBoZXJzZWxmLiBCdXQgdGhlIHByaWNlIG9mIGhlciBhc3Npc3RhbmNlIG1heSBwcm92ZSBtb3JlIHRyZWFjaGVyb3VzIHRoYW4gZXZlbiB0aGUgdGhyZWF0IG9mIGEgc3VwZXJuYXR1cmFsIHdhci4uLiB0byBzYXkgbm90aGluZyBvZiB0aGUgcmVwZXJjdXNzaW9ucyBDYXQgbmV2ZXIgaW1hZ2luZWQuICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICBDb3B5cmlnaHQgwqkgMjAxMSwgSmVhbmllbmUgRnJvc3QuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFJlY29yZGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggdGhlIGF1dGhvci4g4oSXIDIwMjMgR3JhcGhpYyBBdWRpbyBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvTklHSFRIVU5UUkVTUzA1Lm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL05JR0hUSFVOVFJFU1MwNS5tcDMiPmRvd25sb2FkIHRoZSBhdWRpbyBzYW1wbGU8L2E+LjwvcD4KICAgICAgICA8L2F1ZGlvPgogICAgPC9kaXY+CiAKCjwvZGl2Pg==
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTc1MTYtOTQzNDczOTI3Ij4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJOSUdIVEhVTlRSRVNTMDYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iVG1sbmFIUWdTSFZ1ZEhKbGMzTWdOam9nVDI1bElFZHlZWFpsSUVGMElFRWdWR2x0WlE9PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9uL2kvbmlnaHRfaHVudHJlc3NfNl9vbmVfZ3JhdmVfYXRfYV90aW1lLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iTmlnaHQmI3gyMDtIdW50cmVzcyYjeDIwOzYmI3gzQTsmI3gyMDtPbmUmI3gyMDtHcmF2ZSYjeDIwO0F0JiN4MjA7QSYjeDIwO1RpbWUiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci03NTE2LTk0MzQ3MzkyNyB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTc1MTYtOTQzNDczOTI3IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTc1MTYtOTQzNDczOTI3Iik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItNzUxNi05NDM0NzM5MjcgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPk5pZ2h0IEh1bnRyZXNzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjYgOjwvc3Bhbj4gICAgICAgICAgICAgICAgT25lIEdyYXZlIEF0IEEgVGltZSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgSmVhbmllbmUgRnJvc3Q8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBOb3YgMTMsIDIwMjMgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNiBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTgrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5UaGUgZ3JhdmUgaXMgb25lIHdyb25nIHN0ZXAgYXdheS48YnIgLz4NCjxiciAvPg0KSGF2aW5nIG5hcnJvd2x5IGF2ZXJ0ZWQgYW4gKHVuZGVyKXdvcmxkIHdhciwgQ2F0IENyYXdmaWVsZCB3YW50cyBub3RoaW5nIG1vcmUgdGhhbiBhIGxpdHRsZSBkb3dudGltZSB3aXRoIGhlciB2YW1waXJlIGh1c2JhbmQsIEJvbmVzLiBVbmZvcnR1bmF0ZWx5LCBoZXIgZ2lmdCBmcm9tIE5ldyBPcmxlYW5z4oCZIHZvb2RvbyBxdWVlbiBqdXN0IGtlZXBzIG9uIGdpdmluZyAtIGxlYWRpbmcgdG8gYSBwZXJzb25hbCBmYXZvciB0aGF0IHNlbmRzIHRoZW0gaW50byBiYXR0bGUgb25jZSBhZ2FpbiwgdGhpcyB0aW1lIGFnYWluc3QgYSB2aWxsYWlub3VzIHNwaXJpdC48YnIgLz4NCjxiciAvPg0KQ2VudHVyaWVzIGFnbywgSGVpbnJpY2ggS3JhbWVyIHdhcyBhIHdpdGNoIGh1bnRlci4gTm93LCBldmVyeSBBbGwgSGFsbG93cyBFdmUsIGhlIHRha2VzIHBoeXNpY2FsIGZvcm0gdG8gdG9ydHVyZSBpbm5vY2VudCB3b21lbiBiZWZvcmUgYnVybmluZyB0aGVtIGFsaXZlLiBUaGlzIHllYXIsIGhvd2V2ZXIsIGEgZGV0ZXJtaW5lZCBDYXQgYW5kIEJvbmVzIG11c3QgcmlzayBhbGwgdG8gc2VuZCBoaW0gYmFjayB0byB0aGUgb3RoZXIgc2lkZSBvZiBldGVybml0eSAtIGZvcmV2ZXIuIEJ1dCBob3cgZG8geW91IGtpbGwgYSBraWxsZXIgd2hv4oCZcyBhbHJlYWR5IGxvbmcgZGVhZD8gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgIENvcHlyaWdodCDCqSAyMDExLCBKZWFuaWVuZSBGcm9zdC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gUmVjb3JkZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCB0aGUgYXV0aG9yLiDihJcgMjAyMyBHcmFwaGljIEF1ZGlvIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9OSUdIVEhVTlRSRVNTMDYubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvTklHSFRIVU5UUkVTUzA2Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+