It is 1880. The American Civil War has raged for nearly two decades, driving technology in strange and terrible directions. Combat dirigibles skulk across the sky and armored vehicles crawl along the land. Military scientists twist the laws of man and nature, and barter their souls for weapons powered by light, fire, and steam.
But life struggles forward for soldiers and ordinary citizens. The fractured nation is dotted with stricken towns and epic scenes of devastation—some manmade, and some more mysterious. In the western territories cities are swallowed by gas and walled away to rot while the frontiers are strip-mined for resources. On the borders between North and South, spies scour and scheme, and smugglers build economies more stable than their governments.
This is the Clockwork Century. It is dark here, and different.
Includes Clockwork Century 1-5 and 1 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.
6 Titles In This Set - See AllSee Fewer
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIxOTMtMjEzODMwNTI4NCI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQ0MwMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJRMnh2WTJ0M2IzSnJJRU5sYm5SMWNua2dNVG9nUW05dVpYTm9ZV3RsY2c9PSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9jL2wvY2xvY2t3b3JrX2NlbnR1cnlfMV9ib25lc2hha2VyXzJfMS5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkNsb2Nrd29yayYjeDIwO0NlbnR1cnkmI3gyMDsxJiN4M0E7JiN4MjA7Qm9uZXNoYWtlciIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIxOTMtMjEzODMwNTI4NCB7CiAgICB3aWR0aDogMjAwcHg7Cn0KLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIxOTMtMjEzODMwNTI4NCBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMTkzLTIxMzgzMDUyODQiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMTkzLTIxMzgzMDUyODQgIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIgopOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzW2ldLnN0eWxlLnBhZGRpbmdCb3R0b20gPSAiMTAwJSI7Cn08L3NjcmlwdD48L2Rpdj4KCjxoMSBjbGFzcz0icHJvZHVjdC1uYW1lIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VyaWVzLW5hbWUiPkNsb2Nrd29yayBDZW50dXJ5PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXBpc29kZS1uYW1lIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1iZXIiPjEgOjwvc3Bhbj4gICAgICAgICAgICAgICAgQm9uZXNoYWtlciAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgQ2hlcmllIFByaWVzdDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IE1heSAxLCAyMDE0ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDggSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+SW4gdGhlIGVhcmx5IGRheXMgb2YgdGhlIENpdmlsIFdhciwgcnVtb3JzIG9mIGdvbGQgaW4gdGhlIGZyb3plbiBLbG9uZGlrZSBicm91Z2h0IGhvcmRlcyBvZiBuZXdjb21lcnMgdG8gdGhlIFBhY2lmaWMgTm9ydGh3ZXN0LiBBbnhpb3VzIHRvIGNvbXBldGUsIFJ1c3NpYW4gcHJvc3BlY3RvcnMgY29tbWlzc2lvbmVkIGludmVudG9yIExldml0aWN1cyBCbHVlIHRvIGNyZWF0ZSBhIGdyZWF0IG1hY2hpbmUgdGhhdCBjb3VsZCBtaW5lIHRocm91Z2ggQWxhc2th4oCZcyBpY2UuIFRodXMgd2FzIERyLiBCbHVl4oCZcyBJbmNyZWRpYmxlIEJvbmUtU2hha2luZyBEcmlsbCBFbmdpbmUgYm9ybi48YnIgLz4NCjxiciAvPg0KQnV0IG9uIGl0cyBmaXJzdCB0ZXN0IHJ1biB0aGUgQm9uZXNoYWtlciB3ZW50IHRlcnJpYmx5IGF3cnksIGRlc3Ryb3lpbmcgc2V2ZXJhbCBibG9ja3Mgb2YgZG93bnRvd24gU2VhdHRsZSBhbmQgdW5lYXJ0aGluZyBhIHN1YnRlcnJhbmVhbiB2ZWluIG9mIGJsaWdodCBnYXMgdGhhdCB0dXJuZWQgYW55b25lIHdobyBicmVhdGhlZCBpdCBpbnRvIHRoZSBsaXZpbmcgZGVhZC48YnIgLz4NCjxiciAvPg0KTm93IGl0IGlzIHNpeHRlZW4geWVhcnMgbGF0ZXIsIGFuZCBhIHdhbGwgaGFzIGJlZW4gYnVpbHQgdG8gZW5jbG9zZSB0aGUgZGV2YXN0YXRlZCBhbmQgdG94aWMgY2l0eS4gSnVzdCBiZXlvbmQgaXQgbGl2ZXMgQmx1ZeKAmXMgd2lkb3csIEJyaWFyIFdpbGtlcy4gTGlmZSBpcyBoYXJkIHdpdGggYSBydWluZWQgcmVwdXRhdGlvbiBhbmQgYSB0ZWVuYWdlZCBib3kgdG8gc3VwcG9ydCwgYnV0IHNoZSBhbmQgRXpla2llbCBhcmUgbWFuYWdpbmcuIFVudGlsIEV6ZWtpZWwgdW5kZXJ0YWtlcyBhIHNlY3JldCBjcnVzYWRlIHRvIHJld3JpdGUgaGlzdG9yeS48YnIgLz4NCjxiciAvPg0KSGlzIHF1ZXN0IHdpbGwgdGFrZSBoaW0gdW5kZXIgdGhlIHdhbGwgYW5kIGludG8gYSBjaXR5IHRlZW1pbmcgd2l0aCByYXZlbm91cyB1bmRlYWQsIGFpciBwaXJhdGVzLCBjcmltaW5hbCBvdmVybG9yZHMsIGFuZCBoZWF2aWx5IGFybWVkIHJlZnVnZWVzLiBBbmQgb25seSBCcmlhciBjYW4gYnJpbmcgaGltIG91dCBhbGl2ZS4gICAgICAgIDwvZGl2PgogICA8L2Rpdj4KCjxkaXYgY2xhc3M9InByb2R1Y3QtY29weXJpZ2h0Ij4KICAgIENvcHlyaWdodCDCqSAyMDA5IGJ5IENoZXJpZSBQcmllc3QuIFB1Ymxpc2hlZCBieSBhcnJhbmdlbWVudCB3aXRoIFRvbSBEb2hlcnR5IEFzc29jaWF0ZXMsIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggdGhlIERvbmFsZCBNYXNzIExpdGVyYXJ5IEFnZW5jeS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4g4oSXIDIwMTQgYnkgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQ0MwMS5tcDMiIHR5cGU9ImF1ZGlvL21wZWciPgogICAgICAgIDwhLS0gZmFsbGJhY2sgZm9yIG5vbiBzdXBwb3J0aW5nIGJyb3dzZXJzIGdvZXMgaGVyZSAtLT4KICAgICAgICA8cD5Zb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MNS4gWW91IGNhbiA8YSBocmVmPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DQzAxLm1wMyI+ZG93bmxvYWQgdGhlIGF1ZGlvIHNhbXBsZTwvYT4uPC9wPgogICAgICAgIDwvYXVkaW8+CiAgICA8L2Rpdj4KIAoKPC9kaXY+
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIyNzUtNzcyNTcxNTA0Ij4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJDQzAyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LW5hbWU9IlEyeHZZMnQzYjNKcklFTmxiblIxY25rZ01qb2dSSEpsWVdSdWIzVm5hSFE9IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4L2MvYy9jYzAyXzEuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJDbG9ja3dvcmsmI3gyMDtDZW50dXJ5JiN4MjA7MiYjeDNBOyYjeDIwO0RyZWFkbm91Z2h0Ii8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjI3NS03NzI1NzE1MDQgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMjc1LTc3MjU3MTUwNCBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKfTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0JiN4MkY7amF2YXNjcmlwdCI+cHJvZEltYWdlQ29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMjc1LTc3MjU3MTUwNCIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIyNzUtNzcyNTcxNTA0ICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5DbG9ja3dvcmsgQ2VudHVyeTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj4yIDo8L3NwYW4+ICAgICAgICAgICAgICAgIERyZWFkbm91Z2h0ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBDaGVyaWUgUHJpZXN0PC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gSnVsIDEsIDIwMTQgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNyBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTMrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5OdXJzZSBNZXJjeSBMeW5jaCBpcyBlbGJvd3MgZGVlcCBpbiBibG9vZHkgbGF1bmRyeSBhdCBhIHdhciBob3NwaXRhbCBpbiBSaWNobW9uZCwgVmlyZ2luaWEsIHdoZW4gQ2xhcmEgQmFydG9uIGNvbWVzIGJlYXJpbmcgYmFkIG5ld3M6IE1lcmN54oCZcyBodXNiYW5kIGhhcyBkaWVkIGluIGEgUE9XIGNhbXAuIE9uIHRvcCBvZiB0aGF0LCBhIHRlbGVncmFtIGZyb20gdGhlIHdlc3QgY29hc3QgZGVjbGFyZXMgdGhhdCBoZXIgZXN0cmFuZ2VkIGZhdGhlciBpcyBncmF2ZWx5IGluanVyZWQsIGFuZCBoZSB3aXNoZXMgdG8gc2VlIGhlci4gTWVyY3kgc2V0cyBvdXQgdG93YXJkIHRoZSBNaXNzaXNzaXBwaSBSaXZlci4gT25jZSB0aGVyZSwgc2hl4oCZbGwgY2F0Y2ggYSB0cmFpbiBvdmVyIHRoZSBSb2NraWVzIGFuZOKAlGlmIHRoZSB0ZWxlZ3JhbSBjYW4gYmUgYmVsaWV2ZWTigJRiZSBncmVldGVkIGluIFdhc2hpbmd0b24gVGVycml0b3J5IGJ5IHRoZSBzaGVyaWZmLCB3aG8gd2lsbCB0YWtlIGhlciB0byBzZWUgaGVyIGZhdGhlciBpbiBTZWF0dGxlLjxiciAvPg0KPGJyIC8+DQpSZWFjaGluZyB0aGUgTWlzc2lzc2lwcGkgaXMgYSBoYXJyb3dpbmcgYWR2ZW50dXJlIGJ5IGRpcmlnaWJsZSBhbmQgcmFpbCB0aHJvdWdoIHdhci10b3JuIGJvcmRlciBzdGF0ZXMuIFdoZW4gTWVyY3kgZmluYWxseSBhcnJpdmVzIGluIFN0LiBMb3VpcywgdGhlIG9ubHkgVGFjb21hLWJvdW5kIHRyYWluIGlzIHB1bGxlZCBieSBhIHRlcnJpZnlpbmcgVW5pb24tb3BlcmF0ZWQgc3RlYW0gZW5naW5lIGNhbGxlZCB0aGUgRHJlYWRub3VnaHQuIFJlbHVjdGFudGx5LCBNZXJjeSBidXlzIGEgdGlja2V0IGFuZCBjbGltYnMgYWJvYXJkLjxiciAvPg0KPGJyIC8+DQpXaGF0IG91Z2h0IHRvIGJlIGEgcXVpZXQgdHJpcCB0dXJucyBkZWFkbHkgd2hlbiB0aGUgdHJhaW4gaXMgYmVzZXQgYnkgYnVzaHdoYWNrZXJzLCB0aGVuIHZpZ29yb3VzbHkgYXR0YWNrZWQgYnkgYSBiYW5kIG9mIFJlYmVsIHNvbGRpZXJzLiBUaGUgdHJhaW4gaXMgbW92aW5nIGF3YXkgZnJvbSBiYXR0bGUgbGluZXMgaW50byB0aGUgdmFzdCwgdW5pbmNvcnBvcmF0ZWQgd2VzdCwgc28gTWVyY3kgY2Fu4oCZdCBpbWFnaW5lIHdoeSB0aGV54oCZcmUgc28gaW50ZXJlc3RlZC4gUGVyaGFwcyB0aGUgbXlzdGVyaW91cyBjYXJnbyBzZWNyZXRlZCBpbiB0aGUgc2Vjb25kIGFuZCBsYXN0IHRyYWluIGNhcnMgaGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIGl0PzxiciAvPg0KPGJyIC8+DQpNZXJjeSBpcyBqdXN0IGEgZnJ1c3RyYXRlZCBudXJzZSB3aG8gd2FudHMgdG8gc2VlIGhlciBmYXRoZXIgYmVmb3JlIGhlIGRpZXMuIEJ1dCBzaGXigJlsbCBoYXZlIHRvIHN1cnZpdmUgYm90aCBVbmlvbiBpbnRyaWd1ZSBhbmQgQ29uZmVkZXJhdGUgb3Bwb3NpdGlvbiBpZiBzaGUgd2FudHMgdG8gbWFrZSBpdCBvZmYgdGhlIERyZWFkbm91Z2h0IGFsaXZlLiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgQ29weXJpZ2h0IMKpIDIwMTAgYnkgQ2hlcmllIFByaWVzdC4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggVG9tIERvaGVydHkgQXNzb2NpYXRlcywgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCB0aGUgRG9uYWxkIE1hc3MgTGl0ZXJhcnkgQWdlbmN5LiBBbGwgUmlnaHRzIFJlc2VydmVkLiDihJcgMjAxNCBieSBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DQzAyLm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0NDMDIubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzMDgtMTY2NTQ0MzA0MSI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQ0MwMyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJRMnh2WTJ0M2IzSnJJRU5sYm5SMWNua2dNem9nUjJGdWVXMWxaR1U9IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4L2MvYy9jYzAzXzEuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJDbG9ja3dvcmsmI3gyMDtDZW50dXJ5JiN4MjA7MyYjeDNBOyYjeDIwO0dhbnltZWRlIi8+PC9zcGFuPgo8L3NwYW4+CjxzdHlsZT4ucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjMwOC0xNjY1NDQzMDQxIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjMwOC0xNjY1NDQzMDQxIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzMDgtMTY2NTQ0MzA0MSIpOwpmb3IgKHZhciBpID0gMDsgaSA8IHByb2RJbWFnZUNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNbaV0uc3R5bGUud2lkdGggPSAiMjAwcHgiOwp9CnByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzMDgtMTY2NTQ0MzA0MSAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+Q2xvY2t3b3JrIENlbnR1cnk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWJlciI+MyA6PC9zcGFuPiAgICAgICAgICAgICAgICBHYW55bWVkZSAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2gxPgoKPGRpdiBjbGFzcz0icHJvZHVjdC1hdXRob3IiPgogICAgYnkgQ2hlcmllIFByaWVzdDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1pbmktYXR0cmlidXRlcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1yZWxlYXNlZGF0ZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+UmVsZWFzZSBEYXRlOjwvbGFiZWw+IFNlcCAxLCAyMDE0ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ydW5uaW5ndGltZSI+CiAgICAgICAgICAgICAgICA8bGFiZWw+QXBwcm94aW1hdGUgUnVubmluZyBUaW1lOjwvbGFiZWw+IDYgSG91cnMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1jb250ZW50cmF0aW5nIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db250ZW50IFJhdGluZzo8L2xhYmVsPiBBZ2VzIDEzKyAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgIDxkaXYgY2xhc3M9InN0ZCI+VGhlIGFpciBwaXJhdGUgQW5kYW4gQ2x5IGlzIGdvaW5nIHN0cmFpZ2h0LiBXZWxsLCBzdHJhaWdodGVyLiBBbHRob3VnaCBoZeKAmXMgaGFwcHkgdG8gcnVuIGFsY29ob2wgZ3VucyB3aGVyZXZlciB0aGUgbW9uZXnigJlzIGdvb2QsIGhlIGRvZXNu4oCZdCB0aGluayB0aGUgd29ybGQgbmVlZHMgbW9yZSBzYXAsIG9yIGl0cyBpbmNyZWFzaW5nbHkgdWdseSBzaWRlLWVmZmVjdHMuIEJ1dCBiZWNvbWluZyBsZWdpdCBpcyBlYXNpZXIgc2FpZCB0aGFuIGRvbmUsIGFuZCBDbHnigJlzIGZpcnN0IGxlZ2FsIGdpZ+KAlGEgc3VwcGx5IHJ1biBmb3IgdGhlIFNlYXR0bGUgVW5kZXJncm91bmTigJR3aWxsIGJlIHBhaWQgZm9yIGJ5IHNhcCBtb25leS48YnIgLz4NCjxiciAvPg0KTmV3IE9ybGVhbnMgaXMgbm90IENseeKAmXMgZmlyc3QgcGljayBmb3IgYSBzaG9wcGluZyBydW4uIEhlIGxvdmVkIHRoZSBCaWcgRWFzeSBvbmNlLCBiYWNrIHdoZW4gaGUgYWxzbyBsb3ZlZCBhIGJlYXV0aWZ1bCBtaXhlZC1yYWNlIHByb3N0aXR1dGUgbmFtZWQgSm9zZXBoaW5lIEVhcmx54oCUYnV0IHRoYXQgd2FzIGEgZGVjYWRlIGFnbywgYW5kIGhlIGhhc27igJl0IGxvb2tlZCBiYWNrIHNpbmNlLiBKb+KAmXMgc3RpbGwgdGhpbmtpbmcgYWJvdXQgaGltLCB0aG91Z2gsIG9yIHNvIGhlIGxlYXJucyB3aGVuIGhlIGdldHMgYSB0ZWxlZ3JhbSBhYm91dCBhIHBlY3VsaWFyIHBpbG90aW5nIGpvYi4gSXTigJlzIGEgY2hhbmNlIHRvIGNvbXBsZXRlIHR3byBsdWNyYXRpdmUgam9icyBhdCBvbmNlLCBvbmUgaGUgY2Fu4oCZdCByZWZ1c2UuIEhlIHNlbmRzIGhpcyBvbGQgcGFyYW1vdXIgYSBub3RlIGFuZCBoZWFkcyBmb3IgTmV3IE9ybGVhbnMsIHdpdGggbm8gaWRlYSBvZiB3aGF0IGhl4oCZcyBpbiBmb3LigJRvciB3aGF0IHNoZSB3YW50cyBoaW0gdG8gZmx5LjxiciAvPg0KPGJyIC8+DQpCdXQgaGUgd29u4oCZdCBiZSBmbHlpbmcuIE5vdCBleGFjdGx5LiBIaWRkZW4gYXQgdGhlIGJvdHRvbSBvZiBMYWtlIFBvbnRjaGFydHJhaW4gbHVya3MgYW4gYXN0b25pc2hpbmcgd2FyIG1hY2hpbmUsIGFuIGltbWVuc2Ugc3VibWVyc2libGUgY2FsbGVkIHRoZSBHYW55bWVkZS4gVGhpcyBwcm90b3R5cGUgY291bGQgZW5kIHRoZSB3YXIsIGlmIG9ubHkgYW55b25lIGhhZCB0aGUgZmFpbnRlc3QgaWRlYSBvZiBob3cgdG8gb3BlcmF0ZSBpdOKApi4gSWYgb25seSB0aGV5IGNvdWxkIHNuZWFrIGl0IHBhc3QgdGhlIFNvdXRoZXJuIGZvcmNlcyBhdCB0aGUgbW91dGggb2YgdGhlIE1pc3Npc3NpcHBpIFJpdmVy4oCmIElmIG9ubHkgaXQgaGFkbuKAmXQga2lsbGVkIG1vc3Qgb2YgdGhlIG1lbiB3aG/igJlkIGV2ZXIgc2V0IGZvb3QgaW5zaWRlIGl0LiA8YnIgLz4NCjxiciAvPg0KQnV0IGl04oCZcyB0aG9zZSDigJxpZiBvbmx5c+KAnSB0aGF0IHdpbGwgZGVjaWRlIHdoZXRoZXIgQ2x5IGFuZCBoaXMgY3JldyB3aWxsIGVuZCB1cCBpbiB0aGUgaGlzdG9yeSBib29rcywgb3IgYXQgdGhlIGJvdHRvbSBvZiB0aGUgb2NlYW4uICAgICAgICA8L2Rpdj4KICAgPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvcHlyaWdodCI+CiAgICBDb3B5cmlnaHQgwqkgMjAxMSBieSBDaGVyaWUgUHJpZXN0LiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCBUb20gRG9oZXJ0eSBBc3NvY2lhdGVzLCBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIFB1Ymxpc2hlZCBieSBhcnJhbmdlbWVudCB3aXRoIHRoZSBEb25hbGQgTWFzcyBMaXRlcmFyeSBBZ2VuY3kuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIOKElyAyMDE0IGJ5IFRoZSBDdXR0aW5nIENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1lZGlhLXBsYXllciI+CiAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzdHlsZT0id2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0NDMDMubXAzIiB0eXBlPSJhdWRpby9tcGVnIj4KICAgICAgICA8IS0tIGZhbGxiYWNrIGZvciBub24gc3VwcG9ydGluZyBicm93c2VycyBnb2VzIGhlcmUgLS0+CiAgICAgICAgPHA+WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgSFRNTDUuIFlvdSBjYW4gPGEgaHJlZj0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQ0MwMy5tcDMiPmRvd25sb2FkIHRoZSBhdWRpbyBzYW1wbGU8L2E+LjwvcD4KICAgICAgICA8L2F1ZGlvPgogICAgPC9kaXY+CiAKCjwvZGl2Pg==
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzNTQtMTM2NjI0MzMyOSI+CiAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1pbWFnZS13cmFwcGVyIj4KICAgICAgICA8aW1nIGNsYXNzPSJwcm9kdWN0LWltYWdlLXBob3RvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wcm9kdWN0LXNrdT0iQ0MwNCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1uYW1lPSJRMnh2WTJ0M2IzSnJJRU5sYm5SMWNua2dORG9nVkdobElFbHVaWGh3YkdsallXSnNaWE09IgogICAgICAgICAgICAgICAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LmdyYXBoaWNhdWRpby5uZXQvbWVkaWEvY2F0YWxvZy9wcm9kdWN0L2NhY2hlL2NlNjkyMzk0YmMzMWRiZTQxN2Y5ZDA0ZWI2NzgwMjM4L2MvYy9jYzA0XzEuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJDbG9ja3dvcmsmI3gyMDtDZW50dXJ5JiN4MjA7NCYjeDNBOyYjeDIwO1RoZSYjeDIwO0luZXhwbGljYWJsZXMiLz48L3NwYW4+Cjwvc3Bhbj4KPHN0eWxlPi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMzU0LTEzNjYyNDMzMjkgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMzU0LTEzNjYyNDMzMjkgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjM1NC0xMzY2MjQzMzI5Iik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVycy5sZW5ndGg7IGkrKykgewogICAgcHJvZEltYWdlQ29udGFpbmVyc1tpXS5zdHlsZS53aWR0aCA9ICIyMDBweCI7Cn0KcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgKICAgICIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjM1NC0xMzY2MjQzMzI5ICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5DbG9ja3dvcmsgQ2VudHVyeTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj40IDo8L3NwYW4+ICAgICAgICAgICAgICAgIFRoZSBJbmV4cGxpY2FibGVzICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvaDE+Cgo8ZGl2IGNsYXNzPSJwcm9kdWN0LWF1dGhvciI+CiAgICBieSBDaGVyaWUgUHJpZXN0PC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWluaS1hdHRyaWJ1dGVzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJlbGVhc2VkYXRlIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5SZWxlYXNlIERhdGU6PC9sYWJlbD4gTm92IDEsIDIwMTQgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXJ1bm5pbmd0aW1lIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5BcHByb3hpbWF0ZSBSdW5uaW5nIFRpbWU6PC9sYWJlbD4gNiBIb3VycwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnRyYXRpbmciPgogICAgICAgICAgICAgICAgPGxhYmVsPkNvbnRlbnQgUmF0aW5nOjwvbGFiZWw+IEFnZXMgMTMrICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgPGRpdiBjbGFzcz0ic3RkIj5SZWN0b3Ig4oCcV3JlY2sg4oCYZW3igJ0gU2hlcm1hbiB3YXMgb3JwaGFuZWQgYXMgYSB0b2RkbGVyIGluIHRoZSBCbGlnaHQgb2YgMTg2MywgYnV0IHRoYXQgd2FzIHllYXJzIGFnby4gV3JlY2sgaGFzIGdyb3duIHVwLCBhbmQgb24gaGlzIGVpZ2h0ZWVudGggYmlydGhkYXksIGhl4oCZbGwgYmUgY2FzdCBvdXQgb3V0IG9mIHRoZSBvcnBoYW5hZ2UuIEFuZCBXcmVja+KAmXMgcHJvYmxlbXMgYXJlbid0IG1lcmVseSBhYm91dCBmaW5kaW5nIGEgaG9tZS4gSGXigJlzIGJlZW4gcXVpZXRseSBicmVha2luZyB0aGUgY2FyZGluYWwgcnVsZSBvZiBhbnkgZ29vZCBkcnVnIGRlYWxlciBhbmQgZGlwcGluZyBpbnRvIGhpcyBvd24gc3VwcGx5IG9mIHRoZSBzYXAgaGUgc2VsbHMuIEhl4oCZcyBhbHNvIHByZXR0eSBzdXJlIGhl4oCZcyBiZWluZyBoYXVudGVkIGJ5IHRoZSBnaG9zdCBvZiBhIGtpZCBoZSB1c2VkIHRvIGtub3figJRaZWtlIFdpbGtlcywgd2hvIGFsbW9zdCBjZXJ0YWlubHkgZGllZCBzaXggbW9udGhzIGFnby4gWmVrZSB3b3VsZCBoYXZlIGV2ZXJ5IHJlYXNvbiB0byBwZXN0ZXIgV3JlY2ssIHNpbmNlIFdyZWNrIGdvdCBoaW0gaW5zaWRlIHRoZSB3YWxsZWQgY2l0eSBvZiBTZWF0dGxlIGluIHRoZSBmaXJzdCBwbGFjZSwgYW5kIHRoYXQgd2FzIHByb2JhYmx5IHdoYXQga2lsbGVkIGhpbS5NYXliZSBpdOKAmXMgb25seSBhIGd1aWx0eSBjb25zY2llbmNlLCBidXQgV3JlY2sgY2Fu4oCZdCB0YWtlIGl0IGFueW1vcmUsIHNvIGhlIHNuZWFrcyBvdmVyIHRoZSB3YWxsLjxiciAvPg0KIDxiciAvPg0KVGhlIHdhbGxlZC1vZmYgd2FzdGVsYW5kIG9mIFNlYXR0bGUgaXMgZXZlcnkgYml0IGFzIGJhZCBhcyBoZeKAmWQgaGVhcmQsIGNob2NrLWZ1bGwgb2YgdGhlIGh1bmdyeSB1bi1kZWFkIGFuZCB1dHRlcmx5IGNob2tlZCBieSB0aGUgcG9pc29ub3VzLCBpbmVzY2FwYWJsZSB5ZWxsb3cgZ2FzLiBBbmQgdGhlbiB0aGVyZSdzIHRoZSBtb25zdGVyLiBSZWN0b3IncyBwcmV0dHkgY2VydGFpbiB0aGF0IHdoYXRldmVyIGF0dGFja2VkIGhpbSB3YXMgbm90IGF0IGFsbCBodW1hbuKAlGFuZCBub3QgYSByb3R0ZXIsIGVpdGhlci4gQXJtcyBmYXIgdG9vIGxvbmcuIFBvc3R1cmUgYWxsIHN0cmFuZ2UuIEV5ZXMgYWxsIHdpbGQgYW5kIGZhaW50bHkgZ2xvd2luZyBnb2xkIGFuZCBrbm93biB0byB0aGUgbG9jYWxzIGFzIHNpbXBseSAiIlRoZSBJbmV4cGxpY2FibGVzLiIiPGJyIC8+DQogPGJyIC8+DQpJbiB0aGUgcHJvY2VzcyBvZiB0cmFja2luZyBkb3duIHRoZXNlIGNyZWF0dXJlcywgUmVjdG9yIGNvbWVzIGFjcm9zcyBhbm90aGVyIGluY3Vyc2lvbiB0aHJvdWdoIHRoZSB3YWxs4oCUanVzdCBhcyBiaXphcnJlIGJ1dCBlbnRpcmVseSBhdHRyaWJ1dGFibGUgdG8gaHVtYW4gZ3JlZWQuIEl0IHNlZW1zIHNvbWUgb3V0c2lkZXJzIGhhdmUgZGVjaWRlZCAgdGhlcmUncyBnb2xkIHRvIGJlIGZvdW5kIGluIHRoZSBjaXR5IGFuZCB0aGV5J3JlIHdpbGxpbmcgdG8gZG8gd2hhdGV2ZXIgaXQgdGFrZXMgdG8gZ2V0IGEgcGllY2Ugb2YgdGhlIHBpZSB1bmxlc3MgUmVjdG9yIGFuZCBoaXMgcG9zc2UgaGF2ZSBhbnl0aGluZyB0byBkbyB3aXRoIGl0LiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgQ29weXJpZ2h0IMKpIDIwMTIgYnkgQ2hlcmllIFByaWVzdC4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggVG9tIERvaGVydHkgQXNzb2NpYXRlcywgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCB0aGUgRG9uYWxkIE1hc3MgTGl0ZXJhcnkgQWdlbmN5LiBBbGwgUmlnaHRzIFJlc2VydmVkLiDihJcgMjAxNCBieSBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DQzA0Lm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0NDMDQubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzODAtNDA5MTgxNzAiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2Utd3JhcHBlciI+CiAgICAgICAgPGltZyBjbGFzcz0icHJvZHVjdC1pbWFnZS1waG90byIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcHJvZHVjdC1za3U9IkNDMDUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iUTJ4dlkydDNiM0pySUVObGJuUjFjbmtnTlRvZ1JtbGtaR3hsYUdWaFpBPT0iCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ3JhcGhpY2F1ZGlvLm5ldC9tZWRpYS9jYXRhbG9nL3Byb2R1Y3QvY2FjaGUvY2U2OTIzOTRiYzMxZGJlNDE3ZjlkMDRlYjY3ODAyMzgvYy9jL2NjMDVfMS5qcGciCiAgICAgICAgICAgIGxvYWRpbmc9ImxhenkiCiAgICAgICAgICAgIHdpZHRoPSIyMDAiCiAgICAgICAgICAgIGhlaWdodD0iMjAwIgogICAgICAgICAgICBhbHQ9IkNsb2Nrd29yayYjeDIwO0NlbnR1cnkmI3gyMDs1JiN4M0E7JiN4MjA7RmlkZGxlaGVhZCIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzODAtNDA5MTgxNzAgewogICAgd2lkdGg6IDIwMHB4Owp9Ci5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMzgwLTQwOTE4MTcwIHNwYW4ucHJvZHVjdC1pbWFnZS13cmFwcGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOwp9PC9zdHlsZT48c2NyaXB0IHR5cGU9InRleHQmI3gyRjtqYXZhc2NyaXB0Ij5wcm9kSW1hZ2VDb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIzODAtNDA5MTgxNzAiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMzgwLTQwOTE4MTcwICBzcGFuLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciIKKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMubGVuZ3RoOyBpKyspIHsKICAgIHByb2RJbWFnZUNvbnRhaW5lcnNXcmFwcGVyc1tpXS5zdHlsZS5wYWRkaW5nQm90dG9tID0gIjEwMCUiOwp9PC9zY3JpcHQ+PC9kaXY+Cgo8aDEgY2xhc3M9InByb2R1Y3QtbmFtZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcmllcy1uYW1lIj5DbG9ja3dvcmsgQ2VudHVyeTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVwaXNvZGUtbmFtZSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtYmVyIj41IDo8L3NwYW4+ICAgICAgICAgICAgICAgIEZpZGRsZWhlYWQgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IENoZXJpZSBQcmllc3Q8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBKYW4gMSwgMjAxNSAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiA2IEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPllvdW5nIGV4LXNsYXZlIEdpZGVvbiBCYXJkc2xleSBpcyBhIGJyaWxsaWFudCBpbnZlbnRvciwgYnV0IHRoZSBqb2IgaXMgbGVzcyBnbGFtb3JvdXMgdGhhbiBvbmUgbWlnaHQgdGhpbmssIGVzcGVjaWFsbHkgc2luY2UgdGhlIGFzc2Fzc2luYXRpb24gYXR0ZW1wdHMgc3RhcnRlZC4gV29yc2UgeWV0LCB0aGV5J3JlIHRyeWluZyB0byBkZXN0cm95IGhpcyBncmVhdGVzdCBhY2hpZXZlbWVudDogYSBjYWxjdWxhdGluZyBlbmdpbmUgY2FsbGVkIEZpZGRsZWhlYWQsIHdoaWNoIHByb3ZpZGVzIHVuZGVuaWFibGUgcHJvb2Ygb2Ygc29tZXRoaW5nIGF3ZnVsIGVub3VnaCB0byBkZXN0cm95IHRoZSB3b3JsZC4gQm90aCBtYW4gYW5kIG1hY2hpbmUgYXJlIGF0IHJpc2sgZnJvbSBmb3JjZXMgY29uc3BpcmluZyB0byBrZWVwIHRoZSBDaXZpbCBXYXIgZ29pbmcgYW5kIHRoZSBtb25leSBmbG93aW5nLjxiciAvPg0KPGJyIC8+DQpCYXJkc2xleSBoYXMgbm8gY2hvaWNlIGJ1dCB0byBhc2sgaGlzIHBhdHJvbiwgZm9ybWVyIHByZXNpZGVudCBBYnJhaGFtIExpbmNvbG4sIGZvciBoZWxwLiAgTGluY29sbiByZXRpcmVkIGZyb20gbGVhZGluZyB0aGUgY291bnRyeSBhZnRlciBhbiBhdHRlbXB0IG9uIGhpcyBsaWZlLCBidXQgaXMgcXVpdGUgaW50ZXJlc3RlZCBpbiBCYXJkc2xleeKAmXMgaW1tZW5zZSBkYXRhLXByb2Nlc3NpbmcgY2FwYWNpdGllcywgY29uZmlkZW50IHRoYXQgaWYgcGVvcGxlIGhhdmUgdGhlIGZhY3RzLCB0aGV5J2xsIHNlZSByZWFzb24gYW5kIHVyZ2UgdGhlIGdvdmVybm1lbnQgdG8gZW5kIHRoZSB3YXIuIExpbmNvbG4gbXVzdCBrZWVwIEJhcmRzbGV5IHNhZmUgdW50aWwgaGUgY2FuIGZpbmlzaCBoaXMgcmVzZWFyY2gsIHNvIGhlIGNhbGxzIG9uIGhpcyBvbGQgcHJpdmF0ZSBzZWN1cml0eSBzdGFmZiB0byBwcm90ZWN0IEdpZGVvbiBhbmQgaGlzIGRhdGEuPGJyIC8+DQo8YnIgLz4NCk1hcmlhIOKAnEJlbGxl4oCdIEJveWQgd2FzIGEgcmV0aXJlZCBDb25mZWRlcmF0ZSBzcHksIHVudGlsIHNoZSBnb3QgYSBsaWZlLWNoYW5naW5nIGpvYiBvZmZlciBmcm9tIHRoZSBQaW5rZXJ0b24gRGV0ZWN0aXZlIEFnZW5jeS4gUGlua2VydG9uIHJlc3BlY3RzIGhlciB3b3JrLCBkZXNwaXRlIHJlc2VydmF0aW9ucyBhYm91dCBoZXIgbGluZ2VyaW5nIFNvdXRoZXJuIGxveWFsdGllcy4gQnV0IGl04oCZcyBwcmVjaXNlbHkgdGhvc2UgbG95YWx0aWVzIHRoYXQgbGV0IGhlciBnbyBpbnRvIENvbmZlZGVyYXRlIHRlcnJpdG9yeSB0byBmaWd1cmUgb3V0IHdobyBtaWdodCBiZSB0YXJnZXRpbmcgQmFyZHNsZXkuIE1hcmlhIGlzIGEgZ29vZCBkZXRlY3RpdmUsIGJ1dCB3aXRoIHNwaWVzIGZyb20gYm90aCBjYW1wcyBndW5uaW5nIGZvciBoZXIsIGNhbiBldmVuIHRoZSBub3RvcmlvdXMgQmVsbGUgQm95ZCBob2xkIHRoZSBncmVlZHkgd2FyaGF3a3MgYXQgYmF5PyAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgQ29weXJpZ2h0IMKpIDIwMTMgYnkgQ2hlcmllIFByaWVzdC4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggVG9tIERvaGVydHkgQXNzb2NpYXRlcywgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLiBQdWJsaXNoZWQgYnkgYXJyYW5nZW1lbnQgd2l0aCB0aGUgRG9uYWxkIE1hc3MgTGl0ZXJhcnkgQWdlbmN5LiBBbGwgUmlnaHRzIFJlc2VydmVkLiDihJcgMjAxNSBieSBUaGUgQ3V0dGluZyBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtZWRpYS1wbGF5ZXIiPgogICAgICAgIDxhdWRpbyBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3R5bGU9IndpZHRoOiAxMDAlOyIgc3JjPSJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vZ3JhcGhpY2F1ZGlvc2FtcGxlcy9DQzA1Lm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0NDMDUubXAzIj5kb3dubG9hZCB0aGUgYXVkaW8gc2FtcGxlPC9hPi48L3A+CiAgICAgICAgPC9hdWRpbz4KICAgIDwvZGl2PgogCgo8L2Rpdj4=
-
PGRpdiBjbGFzcz0iZ3JhcGhpY2F1ZGlvLWdyaWQtcHJvZHVjdC12aWV3Ij4KCjxkaXYgY2xhc3M9InByb2R1Y3QtbWVkaWEiPgogICAgPHNwYW4gY2xhc3M9InByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIxNTUtODk1MTUzNzkyIj4KICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LWltYWdlLXdyYXBwZXIiPgogICAgICAgIDxpbWcgY2xhc3M9InByb2R1Y3QtaW1hZ2UtcGhvdG8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3Qtc2t1PSJDQ1RBTkdMRUZPT1QiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3QtbmFtZT0iUTJ4dlkydDNiM0pySUVObGJuUjFjbms2SUZSaGJtZHNaV1p2YjNRPSIKICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL3d3dy5ncmFwaGljYXVkaW8ubmV0L21lZGlhL2NhdGFsb2cvcHJvZHVjdC9jYWNoZS9jZTY5MjM5NGJjMzFkYmU0MTdmOWQwNGViNjc4MDIzOC9jL2MvY2N0YW5nbGVmb290XzEuanBnIgogICAgICAgICAgICBsb2FkaW5nPSJsYXp5IgogICAgICAgICAgICB3aWR0aD0iMjAwIgogICAgICAgICAgICBoZWlnaHQ9IjIwMCIKICAgICAgICAgICAgYWx0PSJDbG9ja3dvcmsmI3gyMDtDZW50dXJ5JiN4M0E7JiN4MjA7VGFuZ2xlZm9vdCIvPjwvc3Bhbj4KPC9zcGFuPgo8c3R5bGU+LnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyLTIxNTUtODk1MTUzNzkyIHsKICAgIHdpZHRoOiAyMDBweDsKfQoucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjE1NS04OTUxNTM3OTIgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIgewogICAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn08L3N0eWxlPjxzY3JpcHQgdHlwZT0idGV4dCYjeDJGO2phdmFzY3JpcHQiPnByb2RJbWFnZUNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIucHJvZHVjdC1pbWFnZS1jb250YWluZXItMjE1NS04OTUxNTM3OTIiKTsKZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kSW1hZ2VDb250YWluZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzW2ldLnN0eWxlLndpZHRoID0gIjIwMHB4IjsKfQpwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKAogICAgIi5wcm9kdWN0LWltYWdlLWNvbnRhaW5lci0yMTU1LTg5NTE1Mzc5MiAgc3Bhbi5wcm9kdWN0LWltYWdlLXdyYXBwZXIiCik7CmZvciAodmFyIGkgPSAwOyBpIDwgcHJvZEltYWdlQ29udGFpbmVyc1dyYXBwZXJzLmxlbmd0aDsgaSsrKSB7CiAgICBwcm9kSW1hZ2VDb250YWluZXJzV3JhcHBlcnNbaV0uc3R5bGUucGFkZGluZ0JvdHRvbSA9ICIxMDAlIjsKfTwvc2NyaXB0PjwvZGl2PgoKPGgxIGNsYXNzPSJwcm9kdWN0LW5hbWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMtbmFtZSI+Q2xvY2t3b3JrIENlbnR1cnk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcGlzb2RlLW5hbWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhbmdsZWZvb3QgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oMT4KCjxkaXYgY2xhc3M9InByb2R1Y3QtYXV0aG9yIj4KICAgIGJ5IENoZXJpZSBQcmllc3Q8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtaW5pLWF0dHJpYnV0ZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcmVsZWFzZWRhdGUiPgogICAgICAgICAgICAgICAgPGxhYmVsPlJlbGVhc2UgRGF0ZTo8L2xhYmVsPiBBcHIgMSwgMjAxNCAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcnVubmluZ3RpbWUiPgogICAgICAgICAgICAgICAgPGxhYmVsPkFwcHJveGltYXRlIFJ1bm5pbmcgVGltZTo8L2xhYmVsPiAxIEhvdXJzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudHJhdGluZyI+CiAgICAgICAgICAgICAgICA8bGFiZWw+Q29udGVudCBSYXRpbmc6PC9sYWJlbD4gQWdlcyAxMysgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICA8ZGl2IGNsYXNzPSJzdGQiPkEgbWVjaGFuaWNhbGx5IGluY2xpbmVkIG9ycGhhbiB3aG8gbGl2ZXMgaW4gdGhlIGJhc2VtZW50IG9mIGEgc2FuaXRhcml1bSBpcyB1cmdlZCB0byDigJxtYWtlIG5ldyBmcmllbmRzLuKAnSBBIGRvZGRlcmluZyBzY2llbnRpc3Qgc2hhcmVzIGhpcyBsaXZpbmcgc3BhY2UsIGFuZCBoZSBlbmNvdXJhZ2VzIHRoZSBlZmZvcnQg4oCUIHByb3ZpZGluZyBhbGwgdGhlIGFzc2lzdGFuY2UgaGlzIHdlYWtlbmluZyBtaW5kIHdpbGwgcGVybWl0LjxiciAvPg0KPGJyIC8+DQpTbyB0aGUgb3JwaGFuIG1ha2VzIGEgZnJpZW5k4oCmIHdpdGggdGhlIG1hdGVyaWFscyB0aGF0IGxpZSBpbW1lZGlhdGVseSBhdCBoYW5kLiBVbmZvcnR1bmF0ZWx5LCB0aGUgcmVzdWx0aW5nIGF1dG9tYXRvbiB3b3VsZCByYXRoZXIgY2F1c2UgY2hhb3MgdGhhbiBrZWVwIGhpbSBjb21wYW55LjxiciAvPg0KPGJyIC8+DQo8c3Ryb25nPkFCT1VUIFRIRSBDTE9DS1dPUksgQ0VOVFVSWTogPC9zdHJvbmc+PGJyIC8+DQo8YnIgLz4NClN0b25ld2FsbCBKYWNrc29uIHN1cnZpdmVkIENoYW5jZWxsb3JzdmlsbGUuICBFbmdsYW5kIGJyb2tlIHRoZSBVbmlvbuKAmXMgbmF2YWwgYmxvY2thZGUsIGFuZCBmb3JtYWxseSByZWNvZ25pemVkIHRoZSBDb25mZWRlcmF0ZSBTdGF0ZXMgb2YgQW1lcmljYS4gIEF0bGFudGEgbmV2ZXIgYnVybmVkLjxiciAvPg0KPGJyIC8+DQpJdCBpcyAxODgwLiBUaGUgQW1lcmljYW4gQ2l2aWwgV2FyIGhhcyByYWdlZCBmb3IgbmVhcmx5IHR3byBkZWNhZGVzLCBkcml2aW5nIHRlY2hub2xvZ3kgaW4gc3RyYW5nZSBhbmQgdGVycmlibGUgZGlyZWN0aW9ucy4gQ29tYmF0IGRpcmlnaWJsZXMgc2t1bGsgYWNyb3NzIHRoZSBza3kgYW5kIGFybW9yZWQgdmVoaWNsZXMgY3Jhd2wgYWxvbmcgdGhlIGxhbmQuICBNaWxpdGFyeSBzY2llbnRpc3RzIHR3aXN0IHRoZSBsYXdzIG9mIG1hbiBhbmQgbmF0dXJlLCBhbmQgYmFydGVyIHRoZWlyIHNvdWxzIGZvciB3ZWFwb25zIHBvd2VyZWQgYnkgbGlnaHQsIGZpcmUsIGFuZCBzdGVhbS48YnIgLz4NCjxiciAvPg0KQnV0IGxpZmUgc3RydWdnbGVzIGZvcndhcmQgZm9yIHNvbGRpZXJzIGFuZCBvcmRpbmFyeSBjaXRpemVucy4gIFRoZSBmcmFjdHVyZWQgbmF0aW9uIGlzIGRvdHRlZCB3aXRoIHN0cmlja2VuIHRvd25zIGFuZCBlcGljIHNjZW5lcyBvZiBkZXZhc3RhdGlvbuKAlHNvbWUgbWFubWFkZSwgYW5kIHNvbWUgbW9yZSBteXN0ZXJpb3VzLiAgSW4gdGhlIHdlc3Rlcm4gdGVycml0b3JpZXMgY2l0aWVzIGFyZSBzd2FsbG93ZWQgYnkgZ2FzIGFuZCB3YWxsZWQgYXdheSB0byByb3Qgd2hpbGUgdGhlIGZyb250aWVycyBhcmUgc3RyaXAtbWluZWQgZm9yIHJlc291cmNlcy4gIE9uIHRoZSBib3JkZXJzIGJldHdlZW4gTm9ydGggYW5kIFNvdXRoLCBzcGllcyBzY291ciBhbmQgc2NoZW1lLCBhbmQgc211Z2dsZXJzIGJ1aWxkIGVjb25vbWllcyBtb3JlIHN0YWJsZSB0aGFuIHRoZWlyIGdvdmVybm1lbnRzLjxiciAvPg0KPGJyIC8+DQpUaGlzIGlzIHRoZSBDbG9ja3dvcmsgQ2VudHVyeS4gSXQgaXMgZGFyayBoZXJlLCBhbmQgZGlmZmVyZW50LiAgICAgICAgPC9kaXY+CiAgIDwvZGl2PgoKPGRpdiBjbGFzcz0icHJvZHVjdC1jb3B5cmlnaHQiPgogICAgQ29weXJpZ2h0IMKpIDIwMDggYnkgQ2hlcmllIFByaWVzdC4gUHVibGlzaGVkIGJ5IGFycmFuZ2VtZW50IHdpdGggdGhlIERvbmFsZCBNYXNzIExpdGVyYXJ5IEFnZW5jeS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4g4oSXIDIwMTQgYnkgVGhlIEN1dHRpbmcgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibWVkaWEtcGxheWVyIj4KICAgICAgICA8YXVkaW8gY29udHJvbHMgcHJlbG9hZD0ibWV0YWRhdGEiIHN0eWxlPSJ3aWR0aDogMTAwJTsiIHNyYz0iaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL2dyYXBoaWNhdWRpb3NhbXBsZXMvQ0NUQU5HTEVGT09ULm1wMyIgdHlwZT0iYXVkaW8vbXBlZyI+CiAgICAgICAgPCEtLSBmYWxsYmFjayBmb3Igbm9uIHN1cHBvcnRpbmcgYnJvd3NlcnMgZ29lcyBoZXJlIC0tPgogICAgICAgIDxwPllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IEhUTUw1LiBZb3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9ncmFwaGljYXVkaW9zYW1wbGVzL0NDVEFOR0xFRk9PVC5tcDMiPmRvd25sb2FkIHRoZSBhdWRpbyBzYW1wbGU8L2E+LjwvcD4KICAgICAgICA8L2F1ZGlvPgogICAgPC9kaXY+CiAKCjwvZGl2Pg==