PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sPgo8aGVhZD4KPCEtLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBDb3B5cmlnaHQgKGMpIDIwMDAsIDIwMDUgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCiAqIAogKiBDb250cmlidXRvcnM6CiAqICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIC0tPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi8uLi9vcmcuZWNsaXBzZS53c3QuZG9jLnVzZXIvY29tbW9uLmNzcyIgLz4KPHRpdGxlPkFkZGluZyBhIHBhdHRlcm4gZmFjZXQgdG8gYSBzaW1wbGUgdHlwZTwvdGl0bGU+CjwvaGVhZD4KPGJvZHkgaWQ9InRhZGRyZWciPjxhIG5hbWU9InRhZGRyZWciPjwhLS0gLS0+PC9hPgoKPGgxIGNsYXNzPSJ0b3BpY3RpdGxlMSI+QWRkaW5nIGEgcGF0dGVybiBmYWNldCB0byBhIHNpbXBsZSB0eXBlPC9oMT4KPGRpdj48ZGl2IGNsYXNzPSJza2lwc3BhY2UiPjxwPkEgcGF0dGVybiBmYWNldCBjYW4gYmUgdXNlZCB0byBjb25zdHJhaW4gdGhlIHZhbHVlIG9mIGEgdHlwZSdzCmxleGljYWwgc3BhY2UgKHRoZSBzZXQgb2Ygc3RyaW5nIGxpdGVyYWxzIHRoYXQgcmVwcmVzZW50IHRoZSB2YWx1ZXMgb2YgYSB0eXBlKSwKd2hpY2ggaW5kaXJlY3RseSBjb25zdHJhaW5zIHRoZSB2YWx1ZSBzcGFjZS4gVGhlIHZhbHVlIG9mIHRoZSBwYXR0ZXJuIGlzIGNhbGxlZAphIHJlZ3VsYXIgZXhwcmVzc2lvbi4gWW91IGNhbiBzcGVjaWZ5IGl0IHVzaW5nIHRoZSA8c3BhbiBjbGFzcz0idWljb250cm9sIj5SZWd1bGFyIEV4cHJlc3Npb248L3NwYW4+IHdpemFyZC48L3A+CjxwPlRvCmFkZCBhIHBhdHRlcm4gdG8gYSBzaW1wbGUgdHlwZSwgZm9sbG93IHRoZXNlIHN0ZXBzPC9wPgo8L2Rpdj4KPG9sPjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj5JbiB0aGUgR3JhcGggdmlldywgc2VsZWN0IHRoZSBzaW1wbGUgdHlwZSB5b3Ugd2FudCB0byB3b3JrIHdpdGguPC9zcGFuPjwvbGk+CjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj5JbiB0aGUgUHJvcGVydGllcyB2aWV3LCBjbGljayB0aGUgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+QWR2YW5jZWQ8L3NwYW4+IHRhYiwKdGhlbiB0aGUgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+UGF0dGVybjwvc3Bhbj4gdGFiLjwvc3Bhbj4gVGhlIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPlBhdHRlcm48L3NwYW4+IHRhYgp3aWxsIG9ubHkgYXBwZWFyIGlmIHRoZSBwYXR0ZXJuIGZhY2V0IGlzIGFwcGxpY2FibGUgdG8gdGhlIGJhc2UgdHlwZSBvZiB0aGUKc2ltcGxlIHR5cGUuPC9saT4KPGxpIGNsYXNzPSJza2lwc3BhY2UiPjxzcGFuPkNsaWNrIDxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkFkZDwvc3Bhbj4uPC9zcGFuPiBUaGUgUmVndWxhciBFeHByZXNzaW9uCldpemFyZCBvcGVucy48L2xpPgo8bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+U2VsZWN0IHRoZSB0b2tlbiB5b3Ugd2FudCB0byBhZGQgdG8gdGhlIGV4cHJlc3Npb24uPC9zcGFuPjwvbGk+CjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj5JbmRpY2F0ZSBob3cgb2Z0ZW4geW91IHdhbnQgdGhlIHRva2VuIHRvIGFwcGVhciBpbiBvcmRlciBmb3IgYQptYXRjaCB0byBzdWNjZWVkLjwvc3Bhbj4gSWYgeW91IHdhbnQgdGhlIHRva2VuIHRvIHJlcGVhdCwgY2xpY2sgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+UmVwZWF0PC9zcGFuPqBhbmQKc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoZSB0b2tlbiBtdXN0IGFwcGVhci4gSWYgeW91IHdhbnQgdG8gc3BlY2lmeQphIG1pbmltdW0gYW5kIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRoZSB0b2tlbiBjYW4gYXBwZWFyLCBjbGljayA8c3BhbiBjbGFzcz0idWljb250cm9sIj5SYW5nZTwvc3Bhbj4gYW5kCmVudGVyIGEgbWluaW11bSBhbmQgbWF4aW11bSB2YWx1ZS48L2xpPgo8bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+Q2xpY2sgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+QWRkPC9zcGFuPiB0byBhZGQgdGhlIHRva2VuIHRvIHRoZSByZWd1bGFyCmV4cHJlc3Npb24uoDwvc3Bhbj48L2xpPgo8bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+UmVwZWF0IHRoZSBwcmV2aW91cyB0aHJlZSBzdGVwcyBhcyBuZWNlc3NhcnkgdG8gY3JlYXRlIHRoZSBlbnRpcmUKZXhwcmVzc2lvbi48L3NwYW4+PC9saT4KPGxpIGNsYXNzPSJza2lwc3BhY2UiPjxzcGFuPldoZW4geW91IGFyZSBmaW5pc2hlZCwgY2xpY2sgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+TmV4dDwvc3Bhbj4uPC9zcGFuPjwvbGk+CjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj4oT3B0aW9uYWwpIEVudGVyIHNvbWUgc2FtcGxlIHRleHQgdG8gdGVzdCBhZ2FpbnN0IHRoZSByZWd1bGFyIGV4cHJlc3Npb24KYW5kIHNlZSBpZiBhIG1hdGNoIG9jY3Vycy4gPC9zcGFuPjwvbGk+CjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj5DbGljazxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkZpbmlzaDwvc3Bhbj4uoDwvc3Bhbj48L2xpPgo8L29sPgo8ZGl2IGNsYXNzPSJza2lwc3BhY2UiPlRoZSByZWd1bGFyIGV4cHJlc3Npb24gd2lsbCBhcHBlYXIgaW4gdGhlIFBhdHRlcm4gcGFnZS48L2Rpdj4KPC9kaXY+CjwvYm9keT4KPC9odG1sPg==