Prince Corum is the last remaining Vadhagh. He sets out on a crusade of vengeance against the forces that slaughtered his family and his race, to challenge the unjust power of the puppet masters of Man: the Lords of Chaos. Along the way he will barter with his soul for the limbs of gods to repair his mutilated body, and will encounter a member of the very race who caused the mutilation, the irresistible Rhalina...
Includes Corum 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
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI2NjMtMTc2NzY4MDc5MiI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQ09SVU0wMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJRMjl5ZFcwZ01Ub2dWR2hsSUV0dWFXZG9kQ0J2WmlCMGFHVWdVM2R2Y21SeiIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC85LzcvOTc4MTY0ODc5MzY0Nl8xLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iQ29ydW0mI3gyMDsxJiN4M0E7JiN4MjA7VGhlJiN4MjA7S25pZ2h0JiN4MjA7b2YmI3gyMDt0aGUmI3gyMDtTd29yZHMiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNjYzLTE3Njc2ODA3OTIgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNjYzLTE3Njc2ODA3OTIgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjY2My0xNzY3NjgwNzkyIik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjY2My0xNzY3NjgwNzkyICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5Db3J1bTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4xIDo8L3NwYW4+ICAgICAgICAgICAgICAgIFRoZSBLbmlnaHQgb2YgdGhlIFN3b3JkcyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgTWljaGFlbCBNb29yY29jazwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IE1heSAxNiwgMjAxNiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA1IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPlRoZSBhbmNpZW50IHJhY2VzLCB0aGUgVmFkaGFnaCBhbmQgdGhlIE5oYWRyYWdoLCBhcmUgZHlpbmcuIEJ5IGNyZWF0aW5nIE1hbmtpbmQsIHRoZSB1bml2ZXJzZSBoYXMgY29uZGVtbmVkIEVhcnRoIHRvIGEgcGVzdGlsZW5jZSBvZiBkZXN0cnVjdGlvbiBhbmQgZmVhci48YnIgLz4NCiA8YnIgLz4NClByaW5jZSBDb3J1bSBpcyB0aGUgbGFzdCByZW1haW5pbmcgVmFkaGFnaC4gSGUgc2V0cyBvdXQgb24gYSBjcnVzYWRlIG9mIHZlbmdlYW5jZSBhZ2FpbnN0IHRoZSBmb3JjZXMgdGhhdCBzbGF1Z2h0ZXJlZCBoaXMgZmFtaWx5IGFuZCBoaXMgcmFjZSwgdG8gY2hhbGxlbmdlIHRoZSB1bmp1c3QgcG93ZXIgb2YgdGhlIHB1cHBldCBtYXN0ZXJzIG9mIE1hbjogdGhlIExvcmRzIG9mIENoYW9zLiBBbG9uZyB0aGUgd2F5IGhlIHdpbGwgYmFydGVyIHdpdGggaGlzIHNvdWwgZm9yIHRoZSBsaW1icyBvZiBnb2RzIHRvIHJlcGFpciBoaXMgbXV0aWxhdGVkIGJvZHksIGFuZCB3aWxsIGVuY291bnRlciBhIG1lbWJlciBvZiB0aGUgdmVyeSByYWNlIHdobyBjYXVzZWQgdGhlIG11dGlsYXRpb24sIHRoZSBpcnJlc2lzdGlibGUgUmhhbGluYS4uLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgwqkgMTk3MSBNaWNoYWVsIGFuZCBMaW5kYSBNb29yY29jay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gUmVjb3JkZWQgd2l0aCBwZXJtaXNzaW9uIG9mIHRoZSBBdXRob3IuIOKElyAyMDE2IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLiBVbmF1dGhvcml6ZWQgZG93bmxvYWQgYW5kL29yIGR1cGxpY2F0aW9uIGlzIHByb2hpYml0ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQ09SVU0wMS5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DT1JVTTAxLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI2ODMtMTA3NDE2NTU0MyI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQ09SVU0wMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJRMjl5ZFcwZ01qb2dWR2hsSUZGMVpXVnVJRzltSUhSb1pTQlRkMjl5WkhNPSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC85LzcvOTc4MTY0ODc5MzY2MF8xLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iQ29ydW0mI3gyMDsyJiN4M0E7JiN4MjA7VGhlJiN4MjA7UXVlZW4mI3gyMDtvZiYjeDIwO3RoZSYjeDIwO1N3b3JkcyIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI2ODMtMTA3NDE2NTU0MyB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI2ODMtMTA3NDE2NTU0MyBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNjgzLTEwNzQxNjU1NDMiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNjgzLTEwNzQxNjU1NDMgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkNvcnVtPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjIgOjwvc3Bhbj4gICAgICAgICAgICAgICAgVGhlIFF1ZWVuIG9mIHRoZSBTd29yZHMgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IE1pY2hhZWwgTW9vcmNvY2s8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBKdW4gMTUsIDIwMTYgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNSBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTMrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5QcmluY2UgQ29ydW0gaGFzIGRlZmVhdGVkIHRoZSBDaGFvcyBMb3JkIEFyaW9jaC4gQnV0IGFueSBwZWFjZSBmb3IgaGltIGFuZCBoaXMgZmFpdGhmdWwgUmhhbGluYSBpcyBicmllZi4gSGlzIGFjdGlvbnMgaGF2ZSBldm9rZWQgdGhlIG11cmRlcm91cyBhbmdlciBvZiBBcmlvY2jigJlzIHNpc3RlciwgdGhlIGRyZWFkZWQgWGlvbWJhcmcuPGJyIC8+DQogPGJyIC8+DQpUaGUgUHJpbmNlIGluIHRoZSBTY2FybGV0IFJvYmUgbXVzdCBjb250aW51ZSBoaXMgb2R5c3NleSwgZmFjZSB0aGUgdGVycm9yIG9mIHRoZSBNYWJkZW4gYXJtaWVzLCBhbmQgY2hhbGxlbmdlIHRoZSBtaWdodCBvZiB0aGUgUXVlZW4gb2YgdGhlIFN3b3Jkcy4gRmFjZWQgd2l0aCBpbW1lbnNlIHBvd2VycyBvZiBldmlsIG9uIGFsbCBzaWRlcywgb25seSB0aGUgbGVnZW5kYXJ5IENpdHkgb2YgdGhlIFB5cmFtaWQgb2ZmZXJzIGEgZ2xpbW1lciBvZiBob3BlLiBCdXQgQ29ydW0gbXVzdCBnZXQgdGhlcmUgZmlyc3QsIGFuZCBhbG9uZyB0aGUgd2F5IGhlIHdpbGwgZW5jb3VudGVyIGhvcnJpZnlpbmcgY3JlYXR1cmVzLCBzdHJhbmdlIGZvcm1zIG9mIHNvcmNlcnksIGFuZCBuZXcgcGxhbmVzIG9mIGV4aXN0ZW5jZS4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgIMKpIDE5NzEgTWljaGFlbCBhbmQgTGluZGEgTW9vcmNvY2suIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIFJlY29yZGVkIHdpdGggcGVybWlzc2lvbiBvZiB0aGUgQXV0aG9yLiDihJcgMjAxNiBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gVW5hdXRob3JpemVkIGRvd25sb2FkIGFuZC9vciBkdXBsaWNhdGlvbiBpcyBwcm9oaWJpdGVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0NPUlVNMDIubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQ09SVU0wMi5tcDMiPmRvd25sb2FkIHRoZSBhdWRpbyBzYW1wbGU8L2E+LjwvcD4KICAgICAgICA8L2F1ZGlvPgogICAgPC9kaXY+CiAKCjwvZGl2Pg==
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI3MDgtODYxNDM2MTI2Ij4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJDT1JVTTAzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlEyOXlkVzBnTXpvZ1ZHaGxJRXRwYm1jZ2IyWWdkR2hsSUZOM2IzSmtjdz09IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4LzkvNy85NzgxNjQ4NzkzNjg0XzEuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJDb3J1bSYjeDIwOzMmI3gzQTsmI3gyMDtUaGUmI3gyMDtLaW5nJiN4MjA7b2YmI3gyMDt0aGUmI3gyMDtTd29yZHMiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNzA4LTg2MTQzNjEyNiB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI3MDgtODYxNDM2MTI2IHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI3MDgtODYxNDM2MTI2Iik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjcwOC04NjE0MzYxMjYgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkNvcnVtPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjMgOjwvc3Bhbj4gICAgICAgICAgICAgICAgVGhlIEtpbmcgb2YgdGhlIFN3b3JkcyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgTWljaGFlbCBNb29yY29jazwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IEp1bCAxMywgMjAxNiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA1IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPlRoZSBvbGQgcmFjZXMgaGF2ZSBwZXJpc2hlZC4gQWNyb3NzIHRoZSBmaWZ0ZWVuIHBsYW5lcyBvZiByZWFsaXR5LCB0aGUgY2Vhc2VsZXNzIHN0cnVnZ2xlIGJldHdlZW4gTGF3IGFuZCBDaGFvcyBjb250aW51ZXMuIENvcnVtLCB0aGUgUHJpbmNlIGluIHRoZSBTY2FybGV0IFJvYmUsIGhhcyBkZXN0cm95ZWQgdHdvIG9mIHRoZSBjb21wYW55IG9mIENoYW9zLCBidXQgTWFiZWxvZGUgdGhlIEZhY2VsZXNzIHdpbGwgbm90IHNlZSBoaXMgYWN0aW9ucyBnbyB1bnB1bmlzaGVkLjxiciAvPg0KPGJyIC8+DQpUaGUgRXRlcm5hbCBDaGFtcGlvbiBtdXN0IGNhbGwgdXBvbiB0aGUgcG93ZXIgb2Ygb3RoZXIgaW5jYXJuYXRpb25z4oCURWxyaWMsIGFuZCBFcmVrb3NlzIjigJRhbmQgdHJhdmVsIHRvIHRoZSBsYXN0IGZpdmUgcGxhbmVzIHRvIGRlZmVhdCB0aGUgS2luZyBvZiB0aGUgU3dvcmRzLiBBdCBzdGFrZTogbm90IG9ubHkgdGhlIGJhbGFuY2Ugb2YgZm9yY2VzIGF0IHRoZSBjcnV4IG9mIGV4aXN0ZW5jZSwgYnV0IGFsc28gYSBwZXJzb25hbCB2ZW5kZXR0YSwgc2luY2UgdGhlIGNhcHRhaW4gb2YgdGhlIGVuZW15IGFybXkgaXMgdGhlIHNhbWUgTWFiZGVuIHdobyBzbGF1Z2h0ZXJlZCBDb3J1beKAmXMgZmFtaWx5Li4uICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICDCqSAxOTcxIE1pY2hhZWwgYW5kIExpbmRhIE1vb3Jjb2NrLiBBbGwgUmlnaHRzIFJlc2VydmVkLiBSZWNvcmRlZCB3aXRoIHBlcm1pc3Npb24gb2YgdGhlIEF1dGhvci4g4oSXIDIwMTYgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIFVuYXV0aG9yaXplZCBkb3dubG9hZCBhbmQvb3IgZHVwbGljYXRpb24gaXMgcHJvaGliaXRlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DT1JVTTAzLm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0NPUlVNMDMubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI3MjgtMTMyNDYxNjY4MyI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQ09SVU0wNCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJRMjl5ZFcwZ05Eb2dWR2hsSUVKMWJHd2dZVzVrSUhSb1pTQlRjR1ZoY2c9PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC85LzcvOTc4MTY0ODc5MzcwN18xLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iQ29ydW0mI3gyMDs0JiN4M0E7JiN4MjA7VGhlJiN4MjA7QnVsbCYjeDIwO2FuZCYjeDIwO3RoZSYjeDIwO1NwZWFyIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjcyOC0xMzI0NjE2NjgzIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjcyOC0xMzI0NjE2NjgzIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI3MjgtMTMyNDYxNjY4MyIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI3MjgtMTMyNDYxNjY4MyAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+Q29ydW08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+NCA6PC9zcGFuPiAgICAgICAgICAgICAgICBUaGUgQnVsbCBhbmQgdGhlIFNwZWFyICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBNaWNoYWVsIE1vb3Jjb2NrPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gQXVnIDgsIDIwMTYgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNSBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTMrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5JbiB0aGUgYW5jaWVudCBDYXN0bGUgRXJvcm4sIENvcnVtIG9mIHRoZSBTY2FybGV0IFJvYmUgZHdlbGxzIGluIGlzb2xhdGlvbiBhbmQgc29ycm93LiBIZSBoYXMgb3V0LWxpdmVkIGhpcyBncmVhdCBsb3ZlLCBSaGFsaW5hLCBhbmQgaXMgdG9ybWVudGVkIGJ5IHZvaWNlcyBpbiBoaXMgZHJlYW1z4oCUYSBjcm93ZCBvZiBzaGFkb3d5IGZpZ3VyZXMgY2hhbnRpbmcgaGlzIG5hbWUuIFVuYWJsZSB0byBpZ25vcmUgdGhlaXIgY2FsbHMgZm9yIGhlbHAgYW55IGxvbmdlciwgaGUgd2lsbCB0cmF2ZWwgdGhyb3VnaCBlb25zIG9mIHRpbWUgdG8gYW4gYWdlIG9mIHRyYWdlZHksIHdoZXJlIHRoZSBwZW9wbGUgb2YgVHVoYS1uYS1DcmVtbSBDcm9pY2gsIGRlc2NlbmRhbnRzIG9mIFJoYWxpbmEsIGFyZSBwZXJzZWN1dGVkIGJ5IHRoZSBnaWFudCBnb2RzIG9mIHRoZSBDb2xkIEZvbGsuPGJyIC8+DQo8YnIgLz4NCkEgZ3JlYXQgYmxhY2sgYnVsbCBoYXMgdGhlIHBvd2VyIG5lZWRlZCB0byBkZWZlYXQgdGhlIG1vbnN0ZXJzIG9mIGEgbmV3IGFnZS4gQnV0IHRvIHRhbWUgdGhlIGJ1bGwsIHRoZSBFdGVybmFsIENoYW1waW9uIG11c3QgdHJhdmVsIHRvIHRoZSBmYXRhbGx5IGJlYXV0aWZ1bCBpc2xhbmQgb2YgSHktQnJlYXNhaWwgdG8gZmluZCB0aGUgaW52aW5jaWJsZSBhbmQgbWFnaWNhbCBTcGVhciBCcnlpb25hay4uLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgwqkgMTk3MyBNaWNoYWVsIGFuZCBMaW5kYSBNb29yY29jay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gUmVjb3JkZWQgd2l0aCBwZXJtaXNzaW9uIG9mIHRoZSBBdXRob3IuIOKElyAyMDE2IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLiBVbmF1dGhvcml6ZWQgZG93bmxvYWQgYW5kL29yIGR1cGxpY2F0aW9uIGlzIHByb2hpYml0ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQ09SVU0wNC5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DT1JVTTA0Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI3NDYtOTc2NTY1NjA2Ij4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJDT1JVTTA1IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlEyOXlkVzBnTlRvZ1ZHaGxJRTloYXlCaGJtUWdkR2hsSUZKaGJRPT0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvOS83Lzk3ODE2NDg3OTM3MjFfMS5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkNvcnVtJiN4MjA7NSYjeDNBOyYjeDIwO1RoZSYjeDIwO09hayYjeDIwO2FuZCYjeDIwO3RoZSYjeDIwO1JhbSIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI3NDYtOTc2NTY1NjA2IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjc0Ni05NzY1NjU2MDYgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjc0Ni05NzY1NjU2MDYiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNzQ2LTk3NjU2NTYwNiAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+Q29ydW08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+NSA6PC9zcGFuPiAgICAgICAgICAgICAgICBUaGUgT2FrIGFuZCB0aGUgUmFtICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBNaWNoYWVsIE1vb3Jjb2NrPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gU2VwIDEyLCAyMDE2ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDUgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+U3ByaW5nIGhhcyB0dXJuZWQgdG8gc3VtbWVyLCB0aGUgaG90dGVzdCBhbmQgbW9zdCBhYnVuZGFudCBzdW1tZXIgZXZlciByZW1lbWJlcmVkIGluIHRoZSBNYWJkZW4gbGFuZHMuIEJ1dCBpbiB0aGUgbWlzdHMgbHVya3MgYW4gaW5zaWRpb3VzIGNvbGRuZXNz4oCUdGhlIGljeSBwcmVzZW5jZSBvZiB0aGUgRmhvaSBNeW9yZS4gRGVzcGl0ZSBiZWluZyBzbG93bHkgZGVjYXllZCBieSB0aGUgd2FybXRoIG9mIHRoZSB3b3JsZCwgdGhlc2UgaGFyYmluZ2VycyBvZiBkZWF0aCB3aWxsIHN0b3AgYXQgbm90aGluZyB0byBvdmVyd2hlbG0gdGhlIEVhcnRoLjxiciAvPg0KPGJyIC8+DQpUaGUgSGlnaCBLaW5nIG9mIHRoZSBNYWJkZW4sIEFtZXJnaW4sIG11c3QgdW5pdGUgdGhlIHJhY2UgaW4gdGhlIGZpZ2h0IGFnYWluc3QgdGhlIEZob2kgTXlvcmUuIEJ1dCBBbWVyZ2luIGlzIGluIHRocmFsbCB0byB0aGUgZGFyayBtYWdpYyBvZiB0aGUgR29kcyBvZiBMaW1iby4gSXQgZmFsbHMgdG8gQ29ydW0gb2YgdGhlIFNpbHZlciBIYW5kIHRvIHJlc3RvcmUgdGhlIHJpZ2h0ZnVsIHBvd2VyIG9mIHRoZSBIaWdoIEtpbmcgd2l0aCB0aGUgbWlyYWN1bG91cyBmb3JjZXMgb2YgdHdvIGxlZ2VuZGFyeSB0YWxpc21hbnM6IHRoZSBHb2xkZW4gT2FrIGFuZCB0aGUgU2lsdmVyIFJhbS4uLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgwqkgMTk3MyBNaWNoYWVsIGFuZCBMaW5kYSBNb29yY29jay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gUmVjb3JkZWQgd2l0aCBwZXJtaXNzaW9uIG9mIHRoZSBBdXRob3IuIOKElyAyMDE2IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLiBVbmF1dGhvcml6ZWQgZG93bmxvYWQgYW5kL29yIGR1cGxpY2F0aW9uIGlzIHByb2hpYml0ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQ09SVU0wNS5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DT1JVTTA1Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI3NzAtODY4NDE0MDU2Ij4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJDT1JVTTA2IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlEyOXlkVzBnTmpvZ1ZHaGxJRk4zYjNKa0lHRnVaQ0IwYUdVZ1UzUmhiR3hwYjI0PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC85LzcvOTc4MTY0ODc5Mzc0NV8xLmpwZyIKICAgICAgICAgICAgbG9hZGluZz0ibGF6eSIKICAgICAgICAgICAgd2lkdGg9IjIwMCIKICAgICAgICAgICAgaGVpZ2h0PSIyMDAiCiAgICAgICAgICAgIGFsdD0iQ29ydW0mI3gyMDs2JiN4M0E7JiN4MjA7VGhlJiN4MjA7U3dvcmQmI3gyMDthbmQmI3gyMDt0aGUmI3gyMDtTdGFsbGlvbiIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTI3NzAtODY4NDE0MDU2IHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjc3MC04Njg0MTQwNTYgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjc3MC04Njg0MTQwNTYiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yNzcwLTg2ODQxNDA1NiAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+Q29ydW08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+NiA6PC9zcGFuPiAgICAgICAgICAgICAgICBUaGUgU3dvcmQgYW5kIHRoZSBTdGFsbGlvbiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgTWljaGFlbCBNb29yY29jazwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IE9jdCAyNCwgMjAxNiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA1IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPlRoZXJlIGlzIGEgc3dvcmQsIGZvcmdlZCBieSB0aGUgbWFzdGVyIHN3b3Jkc21pdGggR29mZmFub24gdGhlIER3YXJmLCBpbWJ1ZWQgd2l0aCBwb3dlcmZ1bGx5IG1hZ2ljYWwgcHJvcGVydGllcy4gQnV0IHRoaXMgbWFnaWMgY2FuIG9ubHkgYmUgd2llbGRlZCBieSBvbmUgbWFuLiBBbmQgdGhlcmUgaXMgYSBzdGFsbGlvbuKAlGEgZmllcmNlIGFuaW1hbCB0aGF0IGFsbG93cyBvbmx5IHRob3NlIHB1cmUgb2YgaGVhcnQgdG8gcmlkZSBpdC4gVGhlIG9ubHkgbWFuIHdvcnRoeSBvZiB0YWtpbmcgdXAgdGhpcyBzd29yZCwgYW5kIGNsaW1iaW5nIGludG8gdGhpcyBzYWRkbGUsIGlzIFByaW5jZSBDb3J1beKAlHRoZSBFdGVybmFsIENoYW1waW9uLjxiciAvPg0KPGJyIC8+DQpUaGUgc3RydWdnbGUgZm9yIGRvbWluaW9uIGJldHdlZW4gdGhlIHJhY2VzIG9mIGdvb2QgYW5kIGV2aWwgaXMgcmVhY2hpbmcgYW4gZXBpYyBjcmVzY2VuZG8sIGFuZCB0aGUgZm9ybWlkYWJsZSBHb2RzIG9mIExpbWJvIHRocmVhdGVuIHRvIGRlbGl2ZXIgdW5lbmRpbmcgQ2hhb3MgdG8gdGhlIHdvcmxkLiBDb3J1beKAmXMgbW9zdCBkZXNwZXJhdGUgcXVlc3QgeWV0IHdpbGwgc2VlIHRyZWFjaGVyeSwgYmV0cmF5YWwsIHdpemFyZHMsIGRyYWdvbnMgYW5kIGJydXRhbCBiYXR0bGUsIGFsbCBvZiB3aGljaCB3aWxsIGRlY2lkZSB0aGUgZmF0ZSBvZiB0aGUgRWFydGgsIGFuZCBvZiBDb3J1bSBoaW1zZWxmLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgwqkgMTk3NCBNaWNoYWVsIGFuZCBMaW5kYSBNb29yY29jay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gUmVjb3JkZWQgd2l0aCBwZXJtaXNzaW9uIG9mIHRoZSBBdXRob3IuIOKElyAyMDE2IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLiBVbmF1dGhvcml6ZWQgZG93bmxvYWQgYW5kL29yIGR1cGxpY2F0aW9uIGlzIHByb2hpYml0ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQ09SVU0wNi5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DT1JVTTA2Lm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+