Includes John Henry Cole 1-6.
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.
6 Titles In This Set - See AllSee Fewer
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0MjEtNTQwMzMyNTQwIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJKSEMwMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJTbTlvYmlCSVpXNXllU0JEYjJ4bElERTZJRUpzYjI5a0lGTjBiM0p0IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjQ4Nzk0MDI1XzEuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJKb2huJiN4MjA7SGVucnkmI3gyMDtDb2xlJiN4MjA7MSYjeDNBOyYjeDIwO0Jsb29kJiN4MjA7U3Rvcm0iLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNDIxLTU0MDMzMjU0MCB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0MjEtNTQwMzMyNTQwIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0MjEtNTQwMzMyNTQwIik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjQyMS01NDAzMzI1NDAgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkpvaG4gSGVucnkgQ29sZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4xIDo8L3NwYW4+ICAgICAgICAgICAgICAgIEJsb29kIFN0b3JtICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBCaWxsIEJyb29rczwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IE1hciAxMSwgMjAxNSAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA2IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxOCsgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPkJ1c2luZXNzIGxhdGVseSBoYXMgYmVlbiBkZWFkbHkgZm9yIElrZSBLZWxseS4gUmVjZW50IHVuZXhwZWN0ZWQgZ3VucGxheSBoYXMgbGVmdCBoaXMgYWdlbmN5IHRvIGEgc2luZ2xlIG9wZXJhdGl2ZS4gSm9obiBIZW5yeSBDb2xlIGlzIHRoYXQgb3BlcmF0aXZlLiBLZWxseSBoYXMgcmVjZWl2ZWQgYSBsZXR0ZXIgZnJvbSBmb3JtZXIgbG92ZXIgTHlkaWEgV2luc2xvdywgd2hvIG9wZXJhdGVzIGFuIGVzY29ydCBzZXJ2aWNlIGluIHRoZSBuZXcgbWluaW5nIGNhbXAgb2YgRGVhZHdvb2QgaW4gRGFrb3RhIFRlcnJpdG9yeS4gIlRocmVlIHlvdW5nIHdvbWVuIGhhdmUgYmVlbiBtdXJkZXJlZCBzaW5jZSB0aGV5IGFycml2ZWQgaW4gY2FtcC4iIEl0IGlzIG9idmlvdXNseSBhIGRhbmdlcm91cyBhc3NpZ25tZW50LCBhbmQgQ29sZSBpcyBhZHZpc2VkIHRoYXQgaGUgbXVzdCB0YWtlIGV2ZXJ5IHByZWNhdXRpb24tLWFzIGlmIGhlIG5lZWRlZCBzdWNoIGFkdmljZS4gPGJyIC8+DQo8YnIgLz4NCkRlYWR3b29kIHdhcyB0aGUgc2NlbmUgb2YgdGhlIHJlY2VudCBtdXJkZXIgb2YgdGhlIGxlZ2VuZGFyeSBXaWxkIEJpbGwgSGlja29rLCBhbmQgQ2FsYW1pdHkgSmFuZSBDYW5hcnkgYW5kIERvYyBIb2xsaWRheSB3aWxsIGJlIGFtb25nIHRoZSBwZW9wbGUgQ29sZSB3aWxsIGhhdmUgdG8gcmVnYXJkIGFzIHBvdGVudGlhbCBzdXNwZWN0cy4gQ29uc3RhYmxlIEpvaG5ueSBMb2dhbiwgYSBmcmFjdGlvdXMsIGNvcnJ1cHQgbGF3bWFuLCBhbmQgS2luZyBGaXNoZXIsIGEgYm91bnR5IGh1bnRlciBhbmQgb2xkIGVuZW15IG9mIENvbGUncywgd2lsbCBiZSBhbW9uZyB0aG9zZSB3aG8gd2lsbCBub3Qgd2VsY29tZSBoaXMgYXJyaXZhbCBpbiBEZWFkd29vZC4gPGJyIC8+DQo8YnIgLz4NCkNvbGUgaXMgYSBsb25lbHkgbWFuIGluIGEgbG9uZWx5IHByb2Zlc3Npb24sIGFuZCBmaW5kaW5nIGEgbXVyZGVyZXIgaW4gdGhlIHdpbGQgbWluaW5nIGNhbXAgY291bGQgYmUgbGVzcyBvZiBhIGNoYWxsZW5nZSB0aGFuIHNpbXBseSBzdGF5aW5nIGFsaXZlLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDIwMTIgQmlsbCBCcm9va3MuIFB1Ymxpc2hlZCBieSBhcnJhbmdlbWVudCB3aXRoIEdvbGRlbiBXZXN0IExpdGVyYXJ5IEFnZW5jeS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4g4oSXIDIwMTUgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvSkhDMDEubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvSkhDMDEubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0MzItMjA0Mzg4NDMwMSI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iSkhDMDIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iU205b2JpQklaVzV5ZVNCRGIyeGxJREk2SUVaeWIyNTBhV1Z5SUVwMWMzUnBZMlU9IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjQ4Nzk0MDQ5LmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iSm9obiYjeDIwO0hlbnJ5JiN4MjA7Q29sZSYjeDIwOzImI3gzQTsmI3gyMDtGcm9udGllciYjeDIwO0p1c3RpY2UiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNDMyLTIwNDM4ODQzMDEgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNDMyLTIwNDM4ODQzMDEgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjQzMi0yMDQzODg0MzAxIik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjQzMi0yMDQzODg0MzAxICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5Kb2huIEhlbnJ5IENvbGU8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+MiA6PC9zcGFuPiAgICAgICAgICAgICAgICBGcm9udGllciBKdXN0aWNlICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBCaWxsIEJyb29rczwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IEFwciAxLCAyMDE1ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDYgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDE4KyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+Sm9obiBIZW5yeSBDb2xlIGlzIGFuIG9wZXJhdGl2ZSBvZiBJa2UgS2VsbHkncyBEZXRlY3RpdmUgQWdlbmN5LCBiYXNlZCBvdXQgb2YgQ2hleWVubmUsIFd5b21pbmcgVGVycml0b3J5LiBSZXR1cm5pbmcgdG8gQ2hleWVubmUgZnJvbSB3aGF0IGhhZCBiZWVuIGEgZGVhZGx5IGFzc2lnbm1lbnQgaW4gRGVhZHdvb2QsIERha290YSBUZXJyaXRvcnksIENvbGUgaGFzIGRlY2lkZWQgdGhhdCBoZSBoYXMgbm8gYWx0ZXJuYXRpdmUgYnV0IHRvIHJlc2lnbiBmcm9tIHRoZSBhZ2VuY3kgYW5kIHB1cnN1ZSBhIGRpZmZlcmVudCBsaW5lIG9mIHdvcmsuIEhvd2V2ZXIsIGluIENoZXllbm5lLCBDb2xlIGxlYXJucyB0aGF0IElrZSBLZWxseSBoYXMgYmVlbiBtdXJkZXJlZCBhbmQgaGlzIGJvZHkgYnVybmVkIGluIGEgZmlyZSB0aGF0IGRlc3Ryb3llZCBib3RoIHRoZSBhZ2VuY3kgb2ZmaWNlIGFuZCB0aGUgc2hvcCBuZXh0IGRvb3IuIE5vIG9uZSBzZWVtcyB0byBoYXZlIGFueSBpZGVhIHdobyBtaWdodCBoYXZlIG11cmRlcmVkIEtlbGx5LCBhbmQgTGVvIEZveHgsIHRoZSB0b3duIG1hcnNoYWwsIGlzIHNvIGRpc2ludGVyZXN0ZWQgaW4gdGhlIGNyaW1lIHRoYXQgaGUgaGFzIHlldCB0byBzdGFydCBhbiBpbnZlc3RpZ2F0aW9uLCBzbyBDb2xlIG11c3QgYmVnaW4gaGlzIG93bi4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgICZjb3B5OyAyMDEyIEJpbGwgQnJvb2tzLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBHb2xkZW4gV2VzdCBMaXRlcmFyeSBBZ2VuY3kuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIOKElyAyMDE1IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0pIQzAyLm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0pIQzAyLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0NTUtMTUzOTUzNzc4OCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iSkhDMDMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iU205b2JpQklaVzV5ZVNCRGIyeGxJRE02SUZkcGJuUmxjaUJMYVd4cyIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC85LzcvOTc4MTY0ODc5NDA2M18xLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iSm9obiYjeDIwO0hlbnJ5JiN4MjA7Q29sZSYjeDIwOzMmI3gzQTsmI3gyMDtXaW50ZXImI3gyMDtLaWxsIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjQ1NS0xNTM5NTM3Nzg4IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjQ1NS0xNTM5NTM3Nzg4IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0NTUtMTUzOTUzNzc4OCIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0NTUtMTUzOTUzNzc4OCAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+Sm9obiBIZW5yeSBDb2xlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjMgOjwvc3Bhbj4gICAgICAgICAgICAgICAgV2ludGVyIEtpbGwgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IEJpbGwgQnJvb2tzPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gTWF5IDEsIDIwMTUgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNiBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTgrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5UaGUgd2ludGVyIGFyb3VuZCBDaGV5ZW5uZSBXeW9taW5nIHRoYXQgeWVhciB3YXMgZGV2YXN0YXRpbmcga2lsbGluZyBib3RoIHBlb3BsZSBhbmQgbGl2ZXN0b2NrLiBKb2huIEhlbnJ5IENvbGUgd2FzIHRocmVlIG1pbGVzIG91dCBvZiB0b3duIG9uIGhpcyBzbWFsbCByYW5jaCB3YWl0aW5nIG91dCB0aGUgc3Rvcm0gdGhhdCB3YXMgcXVpY2tseSBraWxsaW5nIGhpcyBjYXR0bGUgYW5kIGhvcnNlcyBhbmQgc3RhcnRpbmcgdG8gZmVlbCBhIGxpdHRsZSBjcmF6eSBoaW1zZWxmLiBFdmVyeXRoaW5nIGhlIG93bmVkIHdhcyBkeWluZyBiZWZvcmUgaGlzIGV5ZXMgYW5kIHRoZXJlIHdhc24ndCBhbnl0aGluZyB0aGF0IGhlIGNvdWxkIGRvIGFib3V0IGl0LiBIaXMgZHJlYW1zIG9mIGEgc2V0dGxlZCBsaWZlIHdlcmUgYXMgZGVhZCBhcyBldmVyeXRoaW5nIGVsc2UuIEhlIGtuZXcgaXQgd2FzIHRpbWUgdG8gbW92ZSBvbi4gQW5kIG1vdmUgb24gaGUgZGlkIGJ1dCBub3QgaW4gYSBkaXJlY3Rpb24gaGUgZXhwZWN0ZWQuIFRlZGR5IEdyZWVuIGEgVGV4YXMgUmFuZ2VyIGFycml2ZXMgaW4gQ2hleWVubmUgYW5kIHNlZWtzIENvbGUgcyBoZWxwIGluIGxvY2F0aW5nIEVsbGEgTWltcyBhIHdvbWFuIHdobyBvbmNlIGxpdmVkIGluIENoZXllbm5lIGFuZCB3aXRoIHdob20gQ29sZSBoYWQgb25jZSBiZWVuIGludGltYXRlLiBHcmVlbiB3YW50cyB0byBxdWVzdGlvbiBoZXIgY29uY2VybmluZyBoZXIgaW52b2x2ZW1lbnQgaW4gYSBtdXJkZXIgaW4gRGVudmVyIENpdHkuIEJ1dCB0aGV5IHdvdWxkIG5vdCBiZSB0aGUgb25seSBvbmVzIHNlYXJjaGluZyBmb3IgaGVyLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgJmNvcHk7IDIwMTMgQmlsbCBCcm9va3MuIFB1Ymxpc2hlZCBieSBhcnJhbmdlbWVudCB3aXRoIEdvbGRlbiBXZXN0IExpdGVyYXJ5IEFnZW5jeS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4g4oSXIDIwMTUgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvSkhDMDMubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvSkhDMDMubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0NzEtMTczNzE4NDQ2NyI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iSkhDMDQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iU205b2JpQklaVzV5ZVNCRGIyeGxJRFE2SUZKcFpHVWdkR2hsSUUxaGJpQkViM2R1IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjQ4Nzk0MDg3LmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iSm9obiYjeDIwO0hlbnJ5JiN4MjA7Q29sZSYjeDIwOzQmI3gzQTsmI3gyMDtSaWRlJiN4MjA7dGhlJiN4MjA7TWFuJiN4MjA7RG93biIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0NzEtMTczNzE4NDQ2NyB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0NzEtMTczNzE4NDQ2NyBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNDcxLTE3MzcxODQ0NjciKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNDcxLTE3MzcxODQ0NjcgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkpvaG4gSGVucnkgQ29sZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj40IDo8L3NwYW4+ICAgICAgICAgICAgICAgIFJpZGUgdGhlIE1hbiBEb3duICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBCaWxsIEJyb29rczwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IEp1biA4LCAyMDE1ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDYgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDE4KyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+Sm9obiBIZW5yeSBDb2xlLCB3b3JraW5nIGFzIGEgZGVwdXR5IFUuUy4gbWFyc2hhbCBvdXQgb2YgSnVkZ2UgSXNhYWMgUGFya2VyJ3MgY291cnQgaW4gQXJrYW5zYXMsIHdhcyBvbiBhc3NpZ25tZW50IGluIHRoZSBJbmRpYW4gTmF0aW9ucywgaW4gcHVyc3VpdCBvZiBhIGdyb3VwIG9mIHdoaXRlIHJlbmVnYWRlcyB3aG8gd2VyZSBpbiBoaWRpbmcgdGhlcmUgLSBhYm92ZSBhbGwgYSBwYXJ0aWN1bGFybHkgdmljaW91cyByZW5lZ2FkZSBuYW1lZCBDYWRkbyBQaWVyY2UuIEhlIGhhZCBhIHdhZ29uIG9mIGNhcHRpdmUgcmVuZWdhZGVzIHdoZW4gaGUgd2FzIHNob3QgYW5kIHNlcmlvdXNseSBpbmp1cmVkLiBIZSBtYW5hZ2VkIHRvIGNvbWUgb3V0IG9mIHRoZSBOYXRpb25zIHdpdGggaGlzIHByaXNvbmVycywgYnV0IGRlY2lkZWQgdGhhdCBoZSBoYWQgZW5vdWdoIG9mIHRoYXQgam9iIGFuZCBzbyByZXNpZ25lZC4gTm93IGZpZnRlZW4geWVhcnMgbGF0ZXIsIGVtcGxveWVkIGFzIGEgZGVwdXR5IGZvciBKdWRnZSBSb3kgQmVhbiBpbiBUZXhhcywgQ29sZSByZWNlaXZlcyBhIHBlcnNvbmFsIHN1bW1vbnMgZnJvbSBKdWRnZSBQYXJrZXIuIEhlIGxlYXJucyB0aGF0IENhZGRvIFBpZXJjZSBhbmQgaGlzIGdhbmcgYXJlIHN5c3RlbWF0aWNhbGx5IG11cmRlcmluZyBJbmRpYW4gbGF3IGVuZm9yY2VtZW50IG9mZmljZXJzIGFuZCB0aGVpciBmYW1pbGllcyBpbiB0aGUgTmF0aW9ucy4gQnkgdHJlYXR5LCBQYXJrZXIgY2Fubm90IHNlbmQgYW55IG9mZmljZXIgaW50byB0aGUgTmF0aW9ucyB0byBwdXJzdWUgYSBraWxsZXIgdW5sZXNzIHRoYXQga2lsbGVyIGhhcyBraWxsZWQgYSB3aGl0ZSBtYW4sIHNvIENvbGUgaXMgd2l0aG91dCBiYWNraW5nIGluIGhpcyBwdXJzdWl0IG9mIFBpZXJjZS4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgICZjb3B5OyAyMDEzIEJpbGwgQnJvb2tzLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBHb2xkZW4gV2VzdCBMaXRlcmFyeSBBZ2VuY3kuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIOKElyAyMDE1IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0pIQzA0Lm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0pIQzA0Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0OTItNjM4NDE1OTkzIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJKSEMwNSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJTbTlvYmlCSVpXNXllU0JEYjJ4bElEVTZJRTFsYmlCdlppQldhVzlzWlc1alpRPT0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvOS83Lzk3ODE2NDg3OTQxMDAuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJKb2huJiN4MjA7SGVucnkmI3gyMDtDb2xlJiN4MjA7NSYjeDNBOyYjeDIwO01lbiYjeDIwO29mJiN4MjA7VmlvbGVuY2UiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNDkyLTYzODQxNTk5MyB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0OTItNjM4NDE1OTkzIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI0OTItNjM4NDE1OTkzIik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjQ5Mi02Mzg0MTU5OTMgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkpvaG4gSGVucnkgQ29sZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj41IDo8L3NwYW4+ICAgICAgICAgICAgICAgIE1lbiBvZiBWaW9sZW5jZSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgQmlsbCBCcm9va3M8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBKdW4gMjQsIDIwMTUgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNSBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTgrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5Kb2huIEhlbnJ5IENvbGUgaGFkIHdvcmtlZCBmb3IgeWVhcnMgYXMgYSBsYXdtYW4gYW5kIHRoZW4gYXMgYSBkZXRlY3RpdmUgZm9yIGFuIGFnZW5jeSBvdXQgb2YgQ2hleWVubmUsIFd5b21pbmcuIEl0IHdhcyB0aGlzIHdvcmsgdGhhdCBoZSBlbmpveWVkLCBkZXNwaXRlIGl0cyBkYW5nZXJzLCB0aGF0IGhhZCBpbnNwaXJlZCBoaW0gdG8gZXN0YWJsaXNoIGhpcyBvd24gYWdlbmN5LiBIZSBnYXRoZXJlZCBleC1sYXdtZW4gbGlrZSBoaW1zZWxmLCBtZW4gaGUga25ldyBhbmQgdHJ1c3RlZCwgbW9zdCBvZiB3aG9tIGhlIGhhZCB3b3JrZWQgd2l0aCBhdCBvbmUgdGltZSBvciBhbm90aGVyLiA8YnIgLz4NCjxiciAvPg0KQ29sZSdzIGFnZW5jeSB3YXMgbG9jYXRlZCBpbiBqdXN0IGFib3V0IHRoZSBtb3N0IGRhbmdlcm91cyBwbGFjZSBvbmUgY291bGQgZmluZCBpbiBSZWQgUG9ueSwgaW4gdGhlIENoZXJva2VlIFN0cmlwLCBjb21tb25seSBjYWxsZWQgTm8gTWFuJ3MgTGFuZCBiZWNhdXNlIG9mIHRoZSByYW1wYW50IG91dGxhd3J5LiBCdXQsIENvbGUgaGFkIGZpZ3VyZWQsIHdoYXQgYmV0dGVyIHBsYWNlIHRvIGh1bnQgZm9yIG91dGxhd3MgZm9yIHRoZSBtb25leSBvbiB0aGVpciBoZWFkcz8gPGJyIC8+DQo8YnIgLz4NCkhpcyBhZ2VuY3kgbWlnaHQgY29uc2lzdCBpbiBwcmFjdGljZSBvZiBib3VudHkgaHVudGVycywgYnV0IHRoZSBhZ2VuY3kgbWVuIHdlcmUgaW4gdGhlbXNlbHZlcyBob25vcmFibGUgYW5kIHByb2Zlc3Npb25hbC4gSXQgd2FzIHRoaXMgZ3JvdXAgdGhhdCBzZXQgb3V0IHRvIGNhcHR1cmUgdGhlIG5vdG9yaW91cyBTYW0gU3RhcnIgYW5kIGhpcyBvdXRsYXcgZ2FuZy4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgICZjb3B5OyAyMDE0IEJpbGwgQnJvb2tzLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBHb2xkZW4gV2VzdCBMaXRlcmFyeSBBZ2VuY3kuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIOKElyAyMDE1IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0pIQzA1Lm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0pIQzA1Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI1MDktMTY4MTQ5ODYwNCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iSkhDMDYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iU205b2JpQklaVzV5ZVNCRGIyeGxJRFk2SUVkdklHRnVaQ0JDZFhKNUlGbHZkWElnUkdWaFpBPT0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvOS83Lzk3ODE2NDg3OTQxMjQuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJKb2huJiN4MjA7SGVucnkmI3gyMDtDb2xlJiN4MjA7NiYjeDNBOyYjeDIwO0dvJiN4MjA7YW5kJiN4MjA7QnVyeSYjeDIwO1lvdXImI3gyMDtEZWFkIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjUwOS0xNjgxNDk4NjA0IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjUwOS0xNjgxNDk4NjA0IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI1MDktMTY4MTQ5ODYwNCIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI1MDktMTY4MTQ5ODYwNCAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+Sm9obiBIZW5yeSBDb2xlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjYgOjwvc3Bhbj4gICAgICAgICAgICAgICAgR28gYW5kIEJ1cnkgWW91ciBEZWFkICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBCaWxsIEJyb29rczwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IEF1ZyAxMCwgMjAxNSAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA1IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxOCsgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPkpvaG4gSGVucnkgQ29sZSdzIGxpZmUgaGFzIHF1aWV0ZWQgZG93biBmcm9tIHdoYXQgaXQgaGFkIGFsd2F5cyBiZWVuLCBhbmQgaGUgY2FuIG5vdyBzZXR0bGUgZG93biBhbmQgbWFrZSBpbXByb3ZlbWVudHMgb24gaGlzIHNtYWxsIHJhbmNoLiBCdXQgZXZlcnl0aGluZyBjaGFuZ2VzIHdoZW4gYW4gb2xkIHJhbmNoZXIgbmFtZWQgV2lsc29uIHJpZGVzIGluIHdpdGggaGlzIHR3byBzb25zLiBXaWxzb24gaXMgd2lsbGluZyB0byBwYXkgQ29sZSAkNSwwMDAgdG8gaGVscCBnZXQgYmFjayBoaXMgd2lmZSBMZW5vcmEgd2hvIGhhcyBiZWVuIHRha2VuIGhvc3RhZ2UgYnkgTHVja3kgSmFjayBEYW5jZXIsIGFuIG91dGxhdyB3aG8gaGFkIHJvYmJlZCB0aGUgdHJhaW4gb24gd2hpY2ggc2hlIHdhcyBhIHBhc3Nlbmdlci4gU2hlIGlzIGJlaW5nIGhlbGQgcHJpc29uZXIgaW4gR3VuIFRvd24sIGEgc2FmZSBoYXZlbiBmb3Igb3V0bGF3cy4gQ29sZSBoYWQgcmlkZGVuIHdpdGggTHVja3kgSmFjayBEYW5jZXIgeWVhcnMgYWdvLCB3aGVuIHRoZXkgd2VyZSBib3RoIFVTIE1hcnNoYWxzLCBiZWZvcmUgTHVja3kgSmFjayBxdWl0IHRoZSBNYXJzaGFsIFNlcnZpY2UgdG8gYmVjb21lIGFuIG91dGxhdy4gSGUga25vd3MgYWxsIG9mIENvbGUncyB0cmlja3MsIHdoaWNoIG1ha2VzIGhpbSBhIHRvdWdoIGFkdmVyc2FyeS4gVGhlIHNpdHVhdGlvbiBiZWNvbWVzIGNvbXBsaWNhdGVkIHdoZW4gQ29sZSBsZWFybnMgdGhhdCBuZWl0aGVyIG9mIFdpbHNvbidzIHNvbnMgd2FudHMgdGhlIHdvbWFuIGJhY2sgYW5kIHRoYXQgV2lsc29uJ3MgaGVhbHRoIGlzIHNlcmlvdXNseSBjb21wcm9taXNlZC4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgICZjb3B5OyAyMDE0IEJpbGwgQnJvb2tzLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBHb2xkZW4gV2VzdCBMaXRlcmFyeSBBZ2VuY3kuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIOKElyAyMDE1IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0pIQzA2Lm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0pIQzA2Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+