PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KPHRpdGxlPlRoZSBVVEYgdGVzdGluZyB0b29scyBvciB0ZXN0ZXIncyB0b29sYm94IGZvciBhbGwgb2NjYXNpb25zPC90aXRsZT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9zdHlsZS9zdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIj4KPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43NC4wIj4KPGxpbmsgcmVsPSJob21lIiBocmVmPSIuLi9pbmRleC5odG1sIiB0aXRsZT0iQm9vc3QgVGVzdCBMaWJyYXJ5Ij4KPGxpbmsgcmVsPSJ1cCIgaHJlZj0iLi4vdXRmLmh0bWwiIHRpdGxlPSJQYXJ0oElWLqBCb29zdCBUZXN0IExpYnJhcnk6IFRoZSBVbml0IFRlc3QgRnJhbWV3b3JrIj4KPGxpbmsgcmVsPSJwcmV2IiBocmVmPSJ1c2VyLWd1aWRlL3J1bnRpbWUtY29uZmlnL3JlZmVyZW5jZS5odG1sIiB0aXRsZT0iUnVudGltZSBwYXJhbWV0ZXJzIHJlZmVyZW5jZSI+CjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0idGVzdGluZy10b29scy9vdXRwdXQtdGVzdC5odG1sIiB0aXRsZT0iT3V0cHV0IHRlc3RpbmcgdG9vbCI+CjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQxLjIiIHNyYz0iLi4vLi4vanMvYm9vc3QtdGVzdC5qcyI+PC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgo8dGFibGUgd2lkdGg9IjEwMCUiPjx0cj4KPHRkIHdpZHRoPSIxMCUiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgYWx0PSJIb21lIiB3aWR0aD0iMjI5IiBoZWlnaHQ9IjYxIiBib3JkZXI9IjAiIHNyYz0iLi4vLi4vLi4vLi4vLi4vbGlicy90ZXN0L2RvY2Jvb2svaW1nL2Jvb3N0LnRlc3QubG9nby5wbmciPjwvYT48L3RkPgo8dGQgdmFsaWduPSJtaWRkbGUiIGFsaWduPSJsZWZ0Ij4gJmd0OyA8YSBocmVmPSIuLi91dGYuaHRtbCI+VGhlIFVuaXQgVGVzdCBGcmFtZXdvcms8L2E+ICZndDsgPGI+VGVzdGluZyB0b29sczwvYj48YSBocmVmPSJ1c2FnZS1yZWNvbW1lbmRhdGlvbnMuaHRtbCI+CiAgICAgICZndDsKICAgICAgPC9hPgo8L3RkPgo8dGQ+PGRpdiBjbGFzcz0ic3Bpcml0LW5hdiI+CjxhIGhyZWY9InVzZXItZ3VpZGUvcnVudGltZS1jb25maWcvcmVmZXJlbmNlLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvcHJldi5wbmciIGFsdD0iUHJldiI+PC9hPjxhIGhyZWY9InRlc3RpbmctdG9vbHMvb3V0cHV0LXRlc3QuaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9uZXh0LnBuZyIgYWx0PSJOZXh0Ij48L2E+CjwvZGl2PjwvdGQ+CjwvdHI+PC90YWJsZT4KPGhyPgo8ZGl2IGNsYXNzPSJjaGFwdGVyIiBsYW5nPSJlbiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJ1dGYudGVzdGluZy10b29scyI+PC9hPlRoZSA8YWNyb255bSBjbGFzcz0iYWNyb255bSI+VVRGPC9hY3JvbnltPiB0ZXN0aW5nIHRvb2xzICBvciB0ZXN0ZXIncyB0b29sYm94IGZvciBhbGwgb2NjYXNpb25zPC9oMj48L2Rpdj48L2Rpdj48L2Rpdj4KPGRpdiBjbGFzcz0idG9jIj4KPHA+PGI+VGFibGUgb2YgQ29udGVudHM8L2I+PC9wPgo8ZGw+CjxkdD48YSBocmVmPSJ0ZXN0aW5nLXRvb2xzL291dHB1dC10ZXN0Lmh0bWwiPk91dHB1dCB0ZXN0aW5nIHRvb2w8L2E+PC9kdD4KPGR0PjxhIGhyZWY9InRlc3RpbmctdG9vbHMvY3VzdG9tLXByZWRpY2F0ZS5odG1sIj5DdXN0b20gcHJlZGljYXRlIHN1cHBvcnQ8L2E+PC9kdD4KPGR0PjxhIGhyZWY9InRlc3RpbmctdG9vbHMvZmxvYXRpbmdfcG9pbnRfY29tcGFyaXNvbi5odG1sIj5GbG9hdGluZy1wb2ludCBjb21wYXJpc29uIGFsZ29yaXRobXM8L2E+PC9kdD4KPGR0PjxhIGhyZWY9InRlc3RpbmctdG9vbHMvcmVmZXJlbmNlLmh0bWwiPlJlZmVyZW5jZTwvYT48L2R0Pgo8L2RsPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiIgbGFuZz0iZW4iPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDQgY2xhc3M9InRpdGxlIj4KPGEgbmFtZT0idXRmLnRlc3RpbmctdG9vbHMuaW50cm8iPjwvYT5JbnRyb2R1Y3Rpb248L2g0PjwvZGl2PjwvZGl2PjwvZGl2Pgo8cCBjbGFzcz0iZmlyc3QtbGluZS1pbmRlbnRlZCI+CiAgIFRoZSA8YWNyb255bSBjbGFzcz0iYWNyb255bSI+VVRGPC9hY3JvbnltPidzIHN1cHBsaWVzIGEgdG9vbGJveCBvZiB0ZXN0aW5nIHRvb2xzIHRvIGVhc2UgY3JlYXRpb24gYW5kIG1haW50ZW5hbmNlIG9mIHRlc3QgcHJvZ3JhbXMgYW5kCiAgIHByb3ZpZGUgYSAgdW5pZm9ybSBlcnJvciByZXBvcnRpbmcgbWVjaGFuaXNtLiBUaGUgdG9vbGJveCBzdXBwbGllZCBpbiBtb3N0IHBhcnQgaW4gYSBmb3JtIG9mIG1hY3JvIGFuZCBmdW5jdGlvbgogICBkZWNsYXJhdGlvbnMuIFdoaWxlIHRoZSBmdW5jdGlvbnMgY2FuIGJlIGNhbGxlZCBkaXJlY3RseSwgdGhlIHVzdWFsIHdheSB0byB1c2UgdGVzdGluZyB0b29scyBpcyB2aWEgY29udmVuaWVuY2UKICAgbWFjcm9zLiBBbGwgbWFjcm9zIGFyZ3VtZW50cyBhcmUgY2FsY3VsYXRlZCBvbmNlLCBzbyBpdCdzIHNhZmUgdG8gcGFzcyBjb21wbGV4IGV4cHJlc3Npb25zIGluIHRoZWlyIHBsYWNlLgogICBBbGwgdG9vbHMgYXV0b21hdGljYWxseSBzdXBwbHkgYW4gZXJyb3IgbG9jYXRpb246IGEgZmlsZSBuYW1lIGFuZCBhIGxpbmUgbnVtYmVyLiBUaGUgdGVzdGluZyB0b29scyBhcmUgaW50ZW5kZWQKICAgZm9yIHVuaXQgdGVzdCAgY29kZSByYXRoZXIgdGhhbiBsaWJyYXJ5IG9yIHByb2R1Y3Rpb24gY29kZSwgd2hlcmUgdGhyb3dpbmcgZXhjZXB0aW9ucywgIHVzaW5nIGFzc2VydCgpLAogICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPmJvb3N0Ojpjb25jZXB0X2NoZWNrPC9jb2RlPiBvciA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPkJPT1NUX1NUQVRJQ19BU1NFUlQ8L2NvZGU+KCkgbWF5IGJlIG1vcmUgc3VpdGFibGUKICAgd2F5cyB0byBkZXRlY3QgYW5kIHJlcG9ydCBlcnJvcnMuIEZvciBsaXN0IG9mIGFsbCBzdXBwbGllZCB0ZXN0aW5nIHRvb2xzIGFuZCB1c2FnZSBleGFtcGxlcyBzZWUgdGhlIHJlZmVyZW5jZS4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoNCBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJ1dGYudGVzdGluZy10b29scy5mbGF2b3JzIj48L2E+VGVzdGluZyB0b29scyBmbGF2b3JzPC9oND48L2Rpdj48L2Rpdj48L2Rpdj4KPHAgY2xhc3M9ImZpcnN0LWxpbmUtaW5kZW50ZWQiPgogICBBbGwgdGhlIHRvb2xzIGFyZSBzdXBwbGllZCBpbiB0aHJlZSBmbGF2b3JzKGxldmVscyk6IDxlbSBjbGFzcz0iZmlyc3R0ZXJtIj5XQVJOPC9lbT4sIDxlbSBjbGFzcz0iZmlyc3R0ZXJtIj5DSEVDSzwvZW0+IGFuZCAKICAgPGVtIGNsYXNzPSJmaXJzdHRlcm0iPlJFUVVJUkU8L2VtPi4gRm9yIGV4YW1wbGU6IDxjb2RlIGNsYXNzPSJjb21wdXRlcm91dHB1dCI+PGEgY2xhc3M9ImxpbmsiIGhyZWY9InRlc3RpbmctdG9vbHMvcmVmZXJlbmNlLmh0bWwiIHRpdGxlPSJUaGUgVVRGIHRlc3RpbmcgdG9vbHMgcmVmZXJlbmNlIj5CT09TVF9XQVJOX0VRVUFMPC9hPjwvY29kZT4sIAogICA8Y29kZSBjbGFzcz0iY29tcHV0ZXJvdXRwdXQiPjxhIGNsYXNzPSJsaW5rIiBocmVmPSJ0ZXN0aW5nLXRvb2xzL3JlZmVyZW5jZS5odG1sIiB0aXRsZT0iVGhlIFVURiB0ZXN0aW5nIHRvb2xzIHJlZmVyZW5jZSI+Qk9PU1RfQ0hFQ0tfRVFVQUw8L2E+PC9jb2RlPiwgPGNvZGUgY2xhc3M9ImNvbXB1dGVyb3V0cHV0Ij48YSBjbGFzcz0ibGluayIgaHJlZj0idGVzdGluZy10b29scy9yZWZlcmVuY2UuaHRtbCIgdGl0bGU9IlRoZSBVVEYgdGVzdGluZyB0b29scyByZWZlcmVuY2UiPkJPT1NUX1JFUVVJUkVfRVFVQUw8L2E+PC9jb2RlPi4gSWYgYW4gYXNzZXJ0aW9uIGRlc2lnbmF0ZWQgYnkgCiAgIHRoZSB0b29sIHBhc3NlcywgY29uZmlybWF0aW9uIG1lc3NhZ2UgY2FuIGJlIHByaW50ZWQgaW4gbG9nIG91dHB1dDxzdXA+WzxhIG5hbWU9ImlkNjU3NzQwIiBocmVmPSIjZnRuLmlkNjU3NzQwIiBjbGFzcz0iZm9vdG5vdGUiPjY8L2E+XTwvc3VwPi4gSWYgYW4gYXNzZXJ0aW9uIGRlc2lnbmF0ZWQgYnkgdGhlIHRvb2wgZmFpbGVkLCBkZXBlbmRpbmcgb24gdGhlIGxldmVsIGZvbGxvd2luZyAKICAgd2lsbCBoYXBwZW5lZDxzdXA+WzxhIG5hbWU9ImlkNjU3NzU2IiBocmVmPSIjZnRuLmlkNjU3NzU2IiBjbGFzcz0iZm9vdG5vdGUiPjc8L2E+XTwvc3VwPjoKICA8L3A+CjxkaXYgY2xhc3M9InRhYmxlIj4KPGEgbmFtZT0idXRmLnRlc3RpbmctdG9vbHMubGV2ZWxzLWRpZmZzIj48L2E+PHAgY2xhc3M9InRpdGxlIj48Yj5UYWJsZaA1LqBUZXN0aW5nIHRvb2xzIGxldmVscyBkaWZmZXJlbmNlczwvYj48L3A+CjxkaXYgY2xhc3M9InRhYmxlLWNvbnRlbnRzIj48dGFibGUgY2xhc3M9InRhYmxlIiBzdW1tYXJ5PSJUZXN0aW5nIHRvb2xzIGxldmVscyBkaWZmZXJlbmNlcyI+Cjxjb2xncm91cD4KPGNvbD4KPGNvbD4KPGNvbD4KPGNvbD4KPC9jb2xncm91cD4KPHRoZWFkPjx0cj4KPHRoPkxldmVsPC90aD4KPHRoPlRlc3QgbG9nIGNvbnRlbnQ8L3RoPgo8dGg+RXJyb3JzIGNvdW50ZXI8L3RoPgo8dGg+VGVzdCBleGVjdXRpb248L3RoPgo8L3RyPjwvdGhlYWQ+Cjx0Ym9keT4KPHRyPgo8dGQ+V0FSTjwvdGQ+Cjx0ZD4KICAgICAgIHdhcm5pbmcgaW4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Jmx0O3Rlc3QgY2FzZSBuYW1lJmd0OzwvY29kZT48L2VtPjogY29uZGl0aW9uCiAgICAgICA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4mbHQ7YXNzZXJ0aW9uIGRlc2NyaXB0aW9uJmd0OzwvY29kZT48L2VtPiBpcyBub3Qgc2F0aXNmaWVkCiAgICAgIDwvdGQ+Cjx0ZD5ub3QgYWZmZWN0ZWQ8L3RkPgo8dGQ+Y29udGludWVzPC90ZD4KPC90cj4KPHRyPgo8dGQ+Q0hFQ0s8L3RkPgo8dGQ+CiAgICAgICBlcnJvciBpbiA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4mbHQ7dGVzdCBjYXNlIG5hbWUmZ3Q7PC9jb2RlPjwvZW0+OiB0ZXN0CiAgICAgICA8ZW0gY2xhc3M9InJlcGxhY2VhYmxlIj48Y29kZT4mbHQ7YXNzZXJ0aW9uIGRlc2NyaXB0aW9uJmd0OzwvY29kZT48L2VtPiBmYWlsZWQKICAgICAgPC90ZD4KPHRkPmluY3JlYXNlZDwvdGQ+Cjx0ZD5jb250aW51ZXM8L3RkPgo8L3RyPgo8dHI+Cjx0ZD5SRVFVSVJFPC90ZD4KPHRkPgogICAgICAgZmF0YWwgZXJyb3IgaW4gPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Jmx0O3Rlc3QgY2FzZSBuYW1lJmd0OzwvY29kZT48L2VtPjogY3JpdGljYWwgdGVzdAogICAgICAgPGVtIGNsYXNzPSJyZXBsYWNlYWJsZSI+PGNvZGU+Jmx0O2Fzc2VydGlvbiBkZXNjcmlwdGlvbiZndDs8L2NvZGU+PC9lbT4gZmFpbGVkCiAgICAgIDwvdGQ+Cjx0ZD5pbmNyZWFzZWQ8L3RkPgo8dGQ+YWJvcnRzPC90ZD4KPC90cj4KPC90Ym9keT4KPC90YWJsZT48L2Rpdj4KPC9kaXY+CjxiciBjbGFzcz0idGFibGUtYnJlYWsiPjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgUmVndWxhcmx5IHlvdSBzaG91bGQgdXNlIENIRUNLIGxldmVsIHRvb2xzIHRvIGltcGxlbWVudCB5b3VyIGFzc2VydGlvbnMuIFlvdSBjYW4gdXNlIFdBUk4gbGV2ZWwgdG9vbHMgdG8gdmFsaWRhdGUKICAgYXNwZWN0cyBsZXNzIGltcG9ydGFudCB0aGVuIGNvcnJlY3RuZXNzOiBwZXJmb3JtYW5jZSwgcG9ydGFiaWxpdHksIHVzYWJpbGl0eSBldGMuIFlvdSBzaG91bGQgdXNlIFJFUVVJUkUgbGV2ZWwKICAgdG9vbHMgb25seSBpZiBjb250aW51YXRpb24gb2YgdGhlIHRlc3QgY2FzZSBkb2Vzbid0IG1ha2Ugc2Vuc2UgaWYgdGhpcyBhc3NlcnRpb25zIGZhaWxzLgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9ImZvb3Rub3RlcyI+Cjxicj48aHIgd2lkdGg9IjEwMCIgYWxpZ249ImxlZnQiPgo8ZGl2IGNsYXNzPSJmb290bm90ZSI+PHA+PHN1cD5bPGEgbmFtZT0iZnRuLmlkNjU3NzQwIiBocmVmPSIjaWQ2NTc3NDAiIGNsYXNzPSJzaW1wYXJhIj42PC9hPl0gPC9zdXA+dG8gbWFuYWdlIHdoYXQgbWVzc2FnZXMgYXBwZWFyIAogICBpbiB0aGUgdGVzdCBsb2cgc3RyZWFtIHNldCB0aGUgcHJvcGVyIDxhIGNsYXNzPSJsaW5rIiBocmVmPSJ1c2VyLWd1aWRlL3Rlc3Qtb3V0cHV0L3Rlc3QtbG9nLmh0bWwiIHRpdGxlPSJUZXN0IGxvZyBvdXRwdXQiPmxvZyAKICAgbGV2ZWw8L2E+PC9wPjwvZGl2Pgo8ZGl2IGNsYXNzPSJmb290bm90ZSI+PHA+PHN1cD5bPGEgbmFtZT0iZnRuLmlkNjU3NzU2IiBocmVmPSIjaWQ2NTc3NTYiIGNsYXNzPSJzaW1wYXJhIj43PC9hPl0gPC9zdXA+aW4gc29tZSBjYXNlcyBsb2cgbWVzc2FnZSBjYW4gYmUgc2xpZ2h0bHkgZGlmZmVyZW50IHRvIHJlZmxlY3QgZmFpbGVkIHRvb2wgCiAgIHNwZWNpZmljczwvcD48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8dGFibGUgeG1sbnM6cmV2PSJodHRwOi8vd3d3LmNzLnJwaS5lZHUvfmdyZWdvZC9ib29zdC90b29scy9kb2MvcmV2aXNpb24iIHdpZHRoPSIxMDAlIj48dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+PC90ZD4KPHRkIGFsaWduPSJyaWdodCI+PGRpdiBjbGFzcz0iY29weXJpZ2h0LWZvb3RlciI+Q29weXJpZ2h0IKkgMjAwMS0yMDA3IEdlbm5hZGl5IFJvemVudGFsPC9kaXY+PC90ZD4KPC90cj48L3RhYmxlPgo8aHI+CjxkaXYgY2xhc3M9InNwaXJpdC1uYXYiPgo8YSBhY2Nlc3NrZXk9InAiIGhyZWY9InVzZXItZ3VpZGUvcnVudGltZS1jb25maWcvcmVmZXJlbmNlLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvcHJldi5wbmciIGFsdD0iUHJldiI+PC9hPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iLi4vdXRmLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvdXAucG5nIiBhbHQ9IlVwIj48L2E+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL2hvbWUucG5nIiBhbHQ9IkhvbWUiPjwvYT48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9InRlc3RpbmctdG9vbHMvb3V0cHV0LXRlc3QuaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9uZXh0LnBuZyIgYWx0PSJOZXh0Ij48L2E+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K