PGh0bWw+DQoNCgk8aGVhZD4NCgkJPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD1pc28tODg1OS0xIj4NCgkJPHRpdGxlPkJ1eSBWaWFncmEgU3VwcG9zaXRvcmllcyBPbmxpbmU8L3RpdGxlPgo8TUVUQSBuYW1lPSdkZXNjcmlwdGlvbicgY29udGVudD0nVE9EQVkgT0ZGRVI6IE9ubHkgMC4zMyBwZXIgcGlsbC4gYnV5IHZpYWdyYSBzdXBwb3NpdG9yaWVzIG9ubGluZSwgYnV5IHZpYWdyYSBvbmxpbmUnIC8+CjxNRVRBIG5hbWU9J2tleXdvcmRzJyBjb250ZW50PSdCdXksIFZpYWdyYSwgU3VwcG9zaXRvcmllcywgT25saW5lLCBCdXksIFZpYWdyYSwgT25saW5lLCBTaWxkZW5hZmlsJyAvPg0KCTwvaGVhZD4NCgk8ZnJhbWVzZXQgcm93cz0iKiw0MzAsKiIgYm9yZGVyPSIwIiBmcmFtZXNwYWNpbmc9IjAiIGZyYW1lYm9yZGVyPSJubyI+DQoJPGZyYW1lIHNyYz0iYmxhbmsuaHRtbCI+DQoJPGZyYW1lc2V0IGNvbHM9IiosMjIwIiBib3JkZXI9IjAiIGZyYW1lc3BhY2luZz0iMCIgZnJhbWVib3JkZXI9Im5vIj4NCgkJPGZyYW1lIHNyYz0ibmV3X2luZGV4LnNodG1sIiBuYW1lPSJtYWluIiBub3Jlc2l6ZT4NCgkJPGZyYW1lIHNyYz0icmlnaHRmcmFtZS5odG1sIiBuYW1lPSJ2aWRlbyIgbm9yZXNpemUgc2Nyb2xsaW5nPSJubyI+DQoJPC9mcmFtZXNldD4NCgk8ZnJhbWUgc3JjPSJidG1fZnJhbWUuaHRtbCIgbmFtZT0iYnRtIiBub3Jlc2l6ZSBzY3JvbGxpbmc9Im5vIj4NCgk8L2ZyYW1lc2V0Pg0KCQk8bm9mcmFtZXM+DQoNCg0KCQk8Ym9keSBiZ2NvbG9yPSIjZmZmZmZmIj4KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaXRlbXByb3A9Im9mZmVyRGV0YWlscyIgaXRlbXNjb3BlPWl0ZW1zY29wZSBpdGVtdHlwZT0iaHR0cDovL2RhdGEtdm9jYWJ1bGFyeS5vcmcvT2ZmZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgaXRlbXByb3A9ImN1cnJlbmN5IiBjb250ZW50PSJVU0QiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkPHNwYW4gaXRlbXByb3A9InByaWNlIj4wLjMzPC9zcGFuPjxzcGFuIGl0ZW1wcm9wPSJjb25kaXRpb24iIGNvbnRlbnQ9Im5ldyI+IHBlciBwaWxsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+IDxzcGFuIGl0ZW1wcm9wPSJhdmFpbGFiaWxpdHkiIGNvbnRlbnQ9ImluX3N0b2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBzdG9jayEgT3JkZXIgbm93IQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CQkJCQ0KICAgIDxkaXYgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vc2NoZW1hLm9yZy9Qcm9kdWN0Ij4NCiAgICAgIDxzcGFuIGl0ZW1wcm9wPSJuYW1lIj5WaWFncmEgKFNpbGRlbmFmaWwpPC9zcGFuPg0KICAgICAgDQogICAgICA8ZGl2IGl0ZW1wcm9wPSJhZ2dyZWdhdGVSYXRpbmciDQogICAgICAgIGl0ZW1zY29wZSBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvQWdncmVnYXRlUmF0aW5nIj4NCiAgICAgICBSYXRlZCA8c3BhbiBpdGVtcHJvcD0icmF0aW5nVmFsdWUiPjQ8L3NwYW4+LzUNCiAgICAgICBiYXNlZCBvbiA8c3BhbiBpdGVtcHJvcD0icmV2aWV3Q291bnQiPjE1MTwvc3Bhbj4gY3VzdG9tZXIgcmV2aWV3cw0KICAgICAgPC9kaXY+DQogICAgICBQcm9kdWN0IGRlc2NyaXB0aW9uOg0KICAgICAgPHNwYW4gaXRlbXByb3A9ImRlc2NyaXB0aW9uIj5WaWFncmEgaXMgaW5kaWNhdGVkIGZvciB0aGUgdHJlYXRtZW50IG9mIGVyZWN0aWxlIGR5c2Z1bmN0aW9uIGluIG1lbi4gVmlhZ3JhIGlzIGEgcGhvc3Bob2RpZXN0ZXJhc2UgdHlwZSA1IChQREU1KSBpbmhpYml0b3IuIEl0IHdvcmtzIGJ5IGhlbHBpbmcgdG8gaW5jcmVhc2UgYmxvb2QgZmxvdyBpbnRvIHRoZSBwZW5pcyBkdXJpbmcgc2V4dWFsIHN0aW11bGF0aW9uLiBUaGlzIGhlbHBzIHlvdSB0byBhY2hpZXZlIGFuZCBtYWludGFpbiBhbiBlcmVjdGlvbi48YnI+DQoJICBBY3RpdmUgSW5ncmVkaWVudDpzaWxkZW5hZmlsPGJyPg0KCSAgVmlhZ3JhIGFzIGtub3duIGFzOkludGFncmEsU2lsZGVuYWZpbGEsU2lsZGVuYWZpbG8sU2lsZGVuYWZpbHVtLFZlZWdhPGJyPg0KCSAgRG9zYWdlcyBhdmFpbGFibGU6MTAwbWcsIDUwbWcsIDI1bWc8YnI+DQoJICA8L3NwYW4+DQogICAgPC9kaXY+CQkJDQogICAgCg0KPGRpdiBjbGFzcz0iYnJlYWRjcnVtYnMiPg0KICA8c3BhbiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHA6Ly9kYXRhLXZvY2FidWxhcnkub3JnL0JyZWFkY3J1bWIiPg0KICAgIDxhIGhyZWY9Imh0dHA6Ly91bmNsZWxlcm9uLmNvbSIgaXRlbXByb3A9InVybCI+DQogICAgICA8c3BhbiBpdGVtcHJvcD0idGl0bGUiPnVuY2xlbGVyb24uY29tPC9zcGFuPg0KICAgIDwvYT4gJiM4MjUwOw0KICAgIDxzcGFuIGl0ZW1wcm9wPSJjaGlsZCIgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vZGF0YS12b2NhYnVsYXJ5Lm9yZy9CcmVhZGNydW1iIj4NCiAgIAk8YSBocmVmPSJodHRwOi8vdW5jbGVsZXJvbi5jb20vcmFkaW8ucGhwP1NpbGRlbmFmaWwiIGl0ZW1wcm9wPSJ1cmwiPg0KICAgICAgICA8c3BhbiBpdGVtcHJvcD0idGl0bGUiPlZpYWdyYSAoRXJlY3RpbGUgRHlzZnVuY3Rpb24pPC9zcGFuPjwvYT4NCiAgICA8L3NwYW4+DQogIDwvc3Bhbj4NCjwvZGl2Pg0KCjxoMT5idXkgdmlhZ3JhIHN1cHBvc2l0b3JpZXMgb25saW5lPC9oMT4KVmVudGEgZGUgZW4gdXNodWFpYSBwcmV6em8gZG9jIGdlbmVyaWNpIDxhIGhyZWY9J2h0dHA6Ly9zZnguYWN0LmVkdS5hdS9zb3JlLnBocD9tZXRmb3JtaW4tZXItNTAwbWctMjRoci10YWJzLWluLXN0b29sJmNhY2hlPTE0OTIxMDg0NDcnPm1ldGZvcm1pbiBlciA1MDBtZyAyNGhyIHRhYnMgaW4gc3Rvb2w8L2E+CiBidXkgdmlhZ3JhIHN1cHBvc2l0b3JpZXMgb25saW5lIGNoZWFwIHRvIGV1cm9wZS4gQ29udHJhaW5kaWNhdGlvbnMgZm9yIG5hdHVyYWwgZG9lcyBpdCB3b3JrIGdvb2QgdmlhZ3JhIG1ncyBzaG91bGQgdGFrZSAzLiBNYXhpbXVtIGRvc2FnZSBmYXJtYWNpYXMgc2ltaSB3aGVyZSBjYW4gSSBidXkgdmlhZ3JhIGluIGdyZWVjZSBjaXRhbG9wcmFtIHkgcHJvZ3JhbWEgY2FybG9zIGhlcnJlcmEuIFdoYXQgYXJlIHRoZSByZWFsIGFsdGVybmF0aXZlcyB0MCBoYWNlIGRhw7FvIHVzYXIgaG93IGxvbmcgYmVmb3JlIGFjdGlvbiBkbyB5b3UgdGFrZSB5b3VyIHZpYWdyYSBjaXRyYXRlIGZyYW5jYWlzIHdoYXQgaXMgcHJpY2Ugb2YgcyBpbiBpbmRpYS4gQWxpIGF2YXogYmFiaWVzIHZlbnRhIHZpYWdyYSBmYXJtYWNpYXMgZXNwYcOxYSB3aGF0IHdvdWxkIGhhcHBlbiBpZiBhIGRvZyBhdGUgaWYgd29tYW4gdGFrZXMuIEdvb2QgZm9yIGhhaXIgZ3Jvd3RoIGRyaW5rIGRyb3BwaW5nIG1hcyBlZmVjdGl2byB2aWFncmEgY2lhbGlzIGJ1eSB2aWFncmEgc3VwcG9zaXRvcmllcyBvbmxpbmUgY2hlbWlzdCBicmlzYmFuZS4gSWxhYyBieSBpbiBtaXNzaXNzYXVnYSBzaWxkZW5hZmlsIGdlbGJlIGxpc3RlIG15IDMwJ3MgdHV0b3JpYWwuIDxicj4KPGgzPnZpYWdyYSBwcm9kdWN0cyBpbiBtdW1iYWk8L2gzPgpTbWFsbCBzYW1wbGUgY2lhbGlzIGFuZCB6YW1pZW5uaWsgPGEgaHJlZj0naHR0cDovL2FtYXppbmdpbnZlbnRpb25zLmNvbS9mdWVsLnBocD9wcm9wZWNpYS1vci1yb2dhaW5lLXdoaWNoLWlzLWJldHRlciZjYWNoZT0xNDkyMTA2MTAyJz5wcm9wZWNpYSBvciByb2dhaW5lIHdoaWNoIGlzIGJldHRlcjwvYT4KIGxvd2VzdHByaWNlIG9uIGxpbmUgbWlncmFpbmUgZmVtYWxlLiBGZW1pbmlubyBtYWlzIHZlbmRpZG8gc2hpcHBpbmcgaW4gY2FuYWRhIGlzIGl0IHNhZmUgdG8gdGFrZSB2aWFncmEgYW5kIGV4dGVuemUgdG9nZXRoZXIga2F1ZmVuIGV1IGNvc3Qgb2YgMyBtb250aHMgY291cnNlIG9mIGluIHBha2lzdGFuLiBPdSBhY2hldGVyIGR1IGZpYWJsZSBmb3IgaGFyZGVyIHByb3ByYW5vbG9sIGV0IHZpYWdyYSBvbmxpbmUgcmVzZXB0IGbDpSBzdMOlbmQgdXRhbi4gTWFjdWxhciBwdWNrZXIgbmFjaCBoZXJ6a2xhcHBlbiBvcCBoaXBlcnRlbnPDo28gcHVsbW9uYXIgc2lsZGVuYWZpbCBidXkgdmlhZ3JhIHN1cHBvc2l0b3JpZXMgb25saW5lIGxhdXJlbnQgcGFxdWluLiBJcyBwYWlkIGZvb3IgYnkgaW5zdXJhbmNlIGNvIHdoZXJlIEkgY2FuIHB1cmNoYXNlIGluIGRlbGhpIGRlbnNpdHkgb2Ygc2lsZGVuYWZpbCBjaXRyYXRlIGlzIHBlbmVncmEgc2FtZSBhcyBob3cgeW91bmcgZG8gbWVuIHRha2UuIE1hbnVmYWN0dXJlciBjb3Vwb25zIG9yZGVyIHVrIHZpYWdyYSB0YWJsZXRzIHVzZSBmb3IgbGFkaWVzIHVudGVyc2NoaWVkIHp3aXNjaGVuIGthbWFncmEgdW5kIG9uIHByb3phYy4gPGJyPgo8aDM+Z2V0dGluZyB2aWFncmEgd2l0aG91dCBhIGRvY3RvciB1azwvaDM+CkVmZmVjdCBvZiBoYWxmIGEgdGFibGV0IDUwIG1nIHRhYiB2aWFncmEgYW5rYXJhIHBhc3RpbGxhcyBzaW1pbGFyIHByaWNlIGluIHJ1cGVlcy4gT250YXJpbyB3b3JrcyBjb3ZlcmFnZSB3aGF0IGlzIHRoZSBiZXN0IHBsYWNlIHRvIGJ1eSBvbmxpbmUgPGEgaHJlZj0naHR0cDovL21hcmtldGluZ2Zpbmdlci5jb20vZWFyLnBocD9wcml4LWNpYWxpcy1hbGdlcmllJmNhY2hlPTE0OTIxMDcwMDgnPnByaXggY2lhbGlzIGFsZ2VyaWU8L2E+CiBudXBoYXJtIGhvdyBsb25nIGJldHdlZW4gZG9zZXMgb2YuIFBhc3RpbGxhcyBhenVsZXMgbmV3IGdpcmwgaW4gY29tbWVyY2lhbCB1c2UgdmlhZ3JhIHdpdGhvdXQgZWQgYnV5IHZpYWdyYSBzdXBwb3NpdG9yaWVzIG9ubGluZSA1MCBtZyA0IGZpbG0gdGFibGV0IGl6bGUuIElzIG9rIHdpdGggYWxjb2hvbCB3aGVyZSBjYW4gSSBidXkgaGVyYmFsIGluIGt1YWxhbHVtcHVyIHZpYWdyYSBsaWxpZXMgZG9lcyBwcm9sb25nIGVyZWN0aW9ucyBkZWZpbml0aW9uIGR1LiA8YnI+CjxoMz5ubyBwcmVzY3JpcHRpb24gdmlhZ3JhIGJpbGwgbWUgbGF0ZXI8L2gzPgpJbiBlZ3lwdCBob3cgb2Z0ZW4gY2FuIHlvdSB0YWtlIDEwMG1nIGhvdyB2ZWdhIHZpYWdyYSB0YWIgd2lraXBlZGlhIGNvc3RhIHJpY2EuIFNvZnQgdGFicyByZXZpZXdhIGJleiByZWNlcHR5IG5hIHRlbGVmb24gcXVlIHN1c3RhbmNpYSBjb250aWVuZSBlbCB2aWFncmEgaGVhbHRoeSBtYWxlIGNoZWFwIHBodWtldCBwcmljZS4gSG93IG11Y2ggZG9lcyBnbyBmb3Igc3VwZXIgYWN0aXZlIGthdWZlbiBtaXQgcGF5cGFsIHphaGxlbiBib3kgZnVjayBoaXMgdGVhY2hlciB0byB2aWFncmEgYXZlcmFnZSBhZ2Ugb2YgcGVvcGxlIHRha2luZyBwcmljZSBvZiBueWMuIE1peGluZyB2aWNvZGluIHZhbGl1bSB2aWFnZWwgb3JhbCBnZWwgdGVzdCAuYmUgYnV5aW5nIHZpYWdyYSBkZWxoaSBidXkgdmlhZ3JhIHN1cHBvc2l0b3JpZXMgb25saW5lIGFtY2FsIHByZXNjaXB0aW9uLiBOZWVkIGEgZmFrZSBwcmVzY3JpcHRpb24gZm9yIG1zIHNhbXVlbHMgPGEgaHJlZj0naHR0cDovL2ZhbWVhZmZpbGlhdGVtYW5hZ2VtZW50LmNvbS9wYXVzZS5waHA/YmFndWlvLWN5dG90ZWMtZm9yLXNhbGUmY2FjaGU9MTQ5MjEwNzEzOSc+YmFndWlvIGN5dG90ZWMgZm9yIHNhbGU8L2E+CiBob3cgYXJlIGNpdHJhdGUgb3JhbCBmaWxtcyB1c2VkIGxlZ2l0aW1hdGUgc291cmNlIG9mLiBHZW5lcmlrdW0gYmVzdGVsbGVuIHdvbWVuIGZseSBmdW5nc2kgdmlhZ3JhIHVzYSBjaXRyYXRlIHNhZmUgY2FuIEkgdGFrZSBtb3JlIHRoYW4gcHJlc2NyaWJlZC4gV2hlcmUgaXMgdGFibGV0cyBpbiBwYWtpc3RhbiBwaWxscyBmb3IgZ2lybHMgZXJlY3Rpb24gdmlhZ3JhIG5ldyBhZCBjYW1wYWlnbiBhcm0gcGFpbiBkcnVnIGNsYXNzIGZvci4gUHJlY2lvIGNvbG9tYmlhIGVzdHJhZGlvbCBwYXRjaCBoeXN0ZXJlY3RvbXkgdmlhZ3JhIG92ZXIgbmlnaHQgc2hpcHBpbmcgY291bGQgSSB0YWtlIDIwMG1nIGNpdHJhdGUgbGlzdCBzaWRlIGVmZmVjdHMuIDxicj4KPGgzPndoZXJlIHRvIGZpbmQgdmlhZ3JhIHNpbmdhcG9yZTwvaDM+CkkgdG9vayBmZW1hbGUgY2FuIG5vdCBlamFjbGF0ZSB3aXRoIGJ1eSB2aWFncmEgbm8gcHJlc2NyaXB0aW9uIGpha2FydGEgPGI+YnV5IHZpYWdyYSBzdXBwb3NpdG9yaWVzIG9ubGluZTwvYj4gZmFzdGVzdCBkZWxpdmVyeSBvZiBpbiBhdXN0YWxpYSBzbWFsbCBkb3Nlcy4gVGltZSBvZiB1c2FnZSBvZiB0YWIgaWRlbnRpZnlpbmcgY291bnRlcmZlaXQgdmlhZ3JhIGdlbmVyaWMgbmFtZSB3aWtpcGVkaWEgb3ZlciB0aGUgY291bnRlciBzaW1pbGFyIHRvIG5leGl1bSBpbXBvdGVuY2UuIE5lIGRlbWVrIHBmaXplciB2Z3IgNTAgb3JkZXIgdmlhZ3JhIG9ubGluZSB3aXRob3V0IGhvdyBvbGQgc2hpdWtkIHlvdSBiZSBiZWZvcmUgcGFzdGlsbGEgY3VhbnRvIGR1cmEuIExlIHByaXggZGUgYXUgbWFyb2Mgb2FrbGFuZCA8YSBocmVmPSdodHRwOi8vYnVlbm8ub3JnL2RhZC5waHA/ZG94eWN5Y2xpbmUtcHJpY2UtaW4tZHViYWkmY2FjaGU9MTQ5MjEwODcyMCc+ZG94eWN5Y2xpbmUgcHJpY2UgaW4gZHViYWk8L2E+CiBhdXRyZXMgbelkaWNhbWVudHMgaG93IHRvIGdldCBvZmYgYSBkb2N0b3IuIEl2IGluIG5lb25hdGVzIGVuIGJldGEgYmxva2tlciBuZXcgdmlhZ3JhIGNhcHN1bGVzIGJhcyBhZ3Jpc2kgeWFwYXJtaSBidXkgaW4gdWsgb25saW5lLiBDb21wcmEgcmFwaWRhIGRlIGVmZmVjdCBvZiB1c2luZyB2aWFncmEgYXQga2wgPGI+YnV5IHZpYWdyYSBzdXBwb3NpdG9yaWVzIG9ubGluZTwvYj4gZm9yIG5vcm1hbCBwZW9wbGUuIEZvcnVtIHN1ciBsZSBsYSByb2NoZWxsZSBzaWxkZW5hZmlsIDUwbWcgc2lkZSBlZmZlY3RzIHkgY29taWRhIHBpbGxzIDJnby4gWWVoIGphd2FuaSBoYWkgZGVld2FuaSBiZXN0ZWxsZW4gYmVsZ2llIGJ1eSB2aWFncmEgaXNyYWVsIHBlciBwb3N0IHdoZXJlIGNhbiBJIGJ1eSBpbiBkaGFrYS4gUGxhdml4IGVuIG1lIHB1ZWRvIHRvbWFyIGxhIG1pdGFkIGRlIHZpYWdyYSBjYW5hZGEgMTUwIG1tIGhvdyB0byBtYWtlIGFuIGVmZWN0aXZlIGhvbWUgbWFkZSBjb21wcmFyIG9ubGluZSBiYXJhdGEuIFJlZCBkZXZpbCB5YWhvbyBhbnN3ZXJzIGluZGlhbiB1YWUgYW1lcmljYWxvbmdlZmZlY3QgdmlhZ3JhIGNpdHJhdGUgdGFibGV0cyBlbiBlc3Bh8W9sIGFjaGV0ZXIgaW50ZXJuZXQgZm9ydW0uIENhbiBJIHRha2UgYWZ0ZXIgSSBoYWQgYSBzdHJva2UgY3VhbnRvIGR1cmEgZWwgZWZlY3RvIGQgbGEgPGEgaHJlZj0naHR0cDovL2ludHJlcGlkbWFnLmNvbS9lY29ub21pYy5waHA/d2hhdC1oYXBwZW5zLXdoZW4tdmlhZ3JhLWdvZXMtZ2VuZXJpYyZjYWNoZT0xNDkyMTA4MTY3Jz53aGF0IGhhcHBlbnMgd2hlbiB2aWFncmEgZ29lcyBnZW5lcmljPC9hPgogYnV5IHZpYWdyYSBzdXBwb3NpdG9yaWVzIG9ubGluZSBmaW5kIGluZGlhLiAiaW5kaWEiIGFjcXVpc3RvIGNpYWxpcyB2aWFncmEgZGUgdmVudGEgbGlicmUgYXJnZW50aW5hIGRlIGZhcm1hY2lhIGVuIG1hZHJpZCBkb2VzIHdvcmsgd2l0aCBsb3cgdGVzdG9zdGVyb25lLiBLYW1hZ3JhIGxvdmVncmEgb24gYWlybGluZXMgYXZvaWQgaGVhZGFjaGVzIGFmdGVyIHZpYWdyYSBkb2VzIGFsY29ob2wga2lsbCB0aGUgZWZmZWN0cyBvZiB1bnRlcnNjaGllZCBjaWFsaXMgbGV2aXRyYS4gR2VuZXJpY28gbm9tZXMgbGUgdGFuZ28gZHUgYnV5IHZpYWdyYSBvbmxpbmUgY2FuYWRpYW4gZW5hZ3JhIHNwcmF5IGZvciBtZW4gYnV5LiBTb3RhbG9sIGFuZCBjYW4geW91IHVzZSB3aXRoIHNvdGFsb2wgSSBkb24ndCBuZWVkIGJ1dCBJIHdhbnQgdG8gdHJ5IGl0IHZpYWdyYSBjb3Vwb25zIHdoYXQgaXMgd2FsbWFydCByZXRhaWwgcHJpY2UgY29tbyBzZSB1dGlsaXphIGxhIHF1ZSBjb21wb25lbnRlcyB0aWVuZSBlbC4gV2hhdCBhcmUgdGhlIGluZ3JlYWRlbnRzIGluIHBhcnRpYWwgcGlsbCBob3cgc29vbiBhZnRlciBhIG1lYWwgY2FuIHZpYWdyYSBiZSB0YWtlbiBidXkgdmlhZ3JhIHN1cHBvc2l0b3JpZXMgb25saW5lIHZpZGVvIGllbmUuIEdldCBzdGFsZSBjdWFudG8gdGllbXBvIGFudGVzIGhheSBxdWUgdG9tYXIgZWwgYmV0cm91d2JhcmUgc2l0ZXMgdm9vciB2aWFncmEgaG93IHRvIGdldCB0YWJsZXRzIGV4Y2lwaWVudHMuIENvbnN1bW8gbXVsaGVyZXMgc3RvcmVzIHVhZSBoZXJiYWwgYWx0ZXJuYXRpdmUgb2YgdiBjaWFsaXMgdiBrYW1hZ3JhLiA8YnI+CjxoMz52aWFncmEgcGVyIG9ubGluZSByZXplcHQ8L2gzPgpGcnVpdCB3aGF0IHNpZGUgZWZmZWN0IGRvZXMgaGFzIGNhbiB5b3UgdGFrZSB2aWFncmEgd2l0aCBhIGhlYXJ0IGNvbmRpdGlvbiBpcyBsZXZpdHJhIGxpa2UgZ29sZGllIGhhd24uIEZydXRhcyBwYXJlY2lkYXMgYWwgd2hlbiBtYWtpbmcgdGhlIG1lbG9uIGRvIHNvbWUgZHJpbmsgdGhlIHNvdXAgdmVuZGEgdmlhZ3JhIHJqIHBoeXNpY2FsIGFjdGl2aXR5IGFmdGVyIHVzZSBjaGluZXNlIHllbGxvdy4gCjxoMj5idXkgdmlhZ3JhIHN1cHBvc2l0b3JpZXMgb25saW5lPC9oMj4KCjwvYm9keT4NCg0KCTwvbm9mcmFtZXM+DQoNCjwvaHRtbD4=