PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KPHRpdGxlPlRoZSBQcm9ncmFtIEV4ZWN1dGlvbiBNb25pdG9yIGltcGxlbWVudGF0aW9uPC90aXRsZT4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9zdHlsZS9zdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIj4KPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43NC4wIj4KPGxpbmsgcmVsPSJob21lIiBocmVmPSIuLi9pbmRleC5odG1sIiB0aXRsZT0iQm9vc3QgVGVzdCBMaWJyYXJ5Ij4KPGxpbmsgcmVsPSJ1cCIgaHJlZj0iLi4vcHJnLWV4ZWMtbW9uaXRvci5odG1sIiB0aXRsZT0iUGFydKBJSS6gQm9vc3QgVGVzdCBMaWJyYXJ5OiBUaGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciI+CjxsaW5rIHJlbD0icHJldiIgaHJlZj0iLi4vcHJnLWV4ZWMtbW9uaXRvci5odG1sIiB0aXRsZT0iUGFydKBJSS6gQm9vc3QgVGVzdCBMaWJyYXJ5OiBUaGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciI+CjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iY29tcGlsYXRpb24uaHRtbCIgdGl0bGU9IlRoZSBQcm9ncmFtIEV4ZWN1dGlvbiBNb25pdG9yIGNvbXBpbGF0aW9uIj4KPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdDEuMiIgc3JjPSIuLi8uLi9qcy9ib29zdC10ZXN0LmpzIj48L3NjcmlwdD4KPC9oZWFkPgo8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+Cjx0YWJsZSB3aWR0aD0iMTAwJSI+PHRyPgo8dGQgd2lkdGg9IjEwJSI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBhbHQ9IkhvbWUiIHdpZHRoPSIyMjkiIGhlaWdodD0iNjEiIGJvcmRlcj0iMCIgc3JjPSIuLi8uLi8uLi8uLi8uLi9saWJzL3Rlc3QvZG9jYm9vay9pbWcvYm9vc3QudGVzdC5sb2dvLnBuZyI+PC9hPjwvdGQ+Cjx0ZCB2YWxpZ249Im1pZGRsZSIgYWxpZ249ImxlZnQiPiAmZ3Q7IDxhIGhyZWY9Ii4uL3ByZy1leGVjLW1vbml0b3IuaHRtbCI+VGhlIFByb2dyYW0gRXhlY3V0aW9uIE1vbml0b3I8L2E+PGEgaHJlZj0iLi4vbWluaW1hbC5odG1sIj4KICAgICAgJmd0OwogICAgICA8L2E+PGI+SW1wbGVtZW50YXRpb248L2I+CjwvdGQ+Cjx0ZD48ZGl2IGNsYXNzPSJzcGlyaXQtbmF2Ij4KPGEgaHJlZj0iLi4vcHJnLWV4ZWMtbW9uaXRvci5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL3ByZXYucG5nIiBhbHQ9IlByZXYiPjwvYT48YSBocmVmPSJjb21waWxhdGlvbi5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL25leHQucG5nIiBhbHQ9Ik5leHQiPjwvYT4KPC9kaXY+PC90ZD4KPC90cj48L3RhYmxlPgo8aHI+CjxkaXYgY2xhc3M9InNlY3Rpb24iIGxhbmc9ImVuIj4KPGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgzIGNsYXNzPSJ0aXRsZSI+CjxhIG5hbWU9InBlbS5pbXBsIj48L2E+VGhlIFByb2dyYW0gRXhlY3V0aW9uIE1vbml0b3IgaW1wbGVtZW50YXRpb248L2gzPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cCBjbGFzcz0iZmlyc3QtbGluZS1pbmRlbnRlZCI+CiAgIFRvIG1vbml0b3IgZXhlY3V0aW9uIG9mIHVzZXIgc3VwcGxpZWQgZnVuY3Rpb24gY3BwX21haW4oKSB0aGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciByZWxpZXMgb24gdGhlIEJvb3N0LlRlc3QncwogICA8YSBjbGFzcz0ibGluayIgaHJlZj0iLi4vZXhlY3V0aW9uLW1vbml0b3IuaHRtbCIgdGl0bGU9IlBhcnSgSS6gQm9vc3QgVGVzdCBMaWJyYXJ5OiBUaGUgRXhlY3V0aW9uIE1vbml0b3IiPkV4ZWN1dGlvbiBNb25pdG9yPC9hPi4gQWxzbyB0aGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciBzdXBwbGllcyB0aGUgZnVuY3Rpb24gbWFpbigpIHRvIGZhY2lsaXRhdGUKICAgdW5pZm9ybSBlcnJvciByZXBvcnRpbmcuIEZvbGxvd2luZyBmaWxlcyBjb25zdGl0dXRlIHRoZSBQcm9ncmFtIEV4ZWN1dGlvbiBNb25pdG9yIGltcGxlbWVudGF0aW9uOgogIDwvcD4KPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj4KPGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgo8dGJvZHk+Cjx0cj4KPHRkPjxwPjxzcGFuIGNsYXNzPSJ0ZXJtIj48YSBocmVmPSIuLi8uLi8uLi8uLi8uLi9ib29zdC90ZXN0L2ltcGwvZXhlY3V0aW9uX21vbml0b3IuaXBwIiB0YXJnZXQ9Il90b3AiPjxjb2RlIGNsYXNzPSJmaWxlbmFtZSI+bGlicy90ZXN0L2V4ZWN1dGlvbl9tb25pdG9yLmNwcDwvY29kZT48L2E+PC9zcGFuPjwvcD48L3RkPgo8dGQ+CiAgICAgIHByb3ZpZGVzIDxhIGNsYXNzPSJsaW5rIiBocmVmPSIuLi9leGVjdXRpb24tbW9uaXRvci5odG1sIiB0aXRsZT0iUGFydKBJLqBCb29zdCBUZXN0IExpYnJhcnk6IFRoZSBFeGVjdXRpb24gTW9uaXRvciI+RXhlY3V0aW9uIE1vbml0b3I8L2E+IGltcGxlbWVudGF0aW9uIGZvciBhbGwgc3VwcG9ydGVkIAogICAgICBjb25maWd1cmF0aW9ucy4KICAgICA8L3RkPgo8L3RyPgo8dHI+Cjx0ZD48cD48c3BhbiBjbGFzcz0idGVybSI+PGEgaHJlZj0iLi4vLi4vLi4vLi4vLi4vYm9vc3QvdGVzdC9pbXBsL2NwcF9tYWluLmlwcCIgdGFyZ2V0PSJfdG9wIj48Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmxpYnMvdGVzdC9jcHBfbWFpbi5jcHA8L2NvZGU+PC9hPjwvc3Bhbj48L3A+PC90ZD4KPHRkPnN1cHBsaWVzIGZ1bmN0aW9uIG1haW4oKSBmb3Igc3RhdGljIGxpYnJhcnkgYnVpbGQ8L3RkPgo8L3RyPgo8dHI+Cjx0ZD48cD48c3BhbiBjbGFzcz0idGVybSI+PGEgaHJlZj0iLi4vLi4vLi4vLi4vLi4vYm9vc3QvdGVzdC9pbmNsdWRlZC9wcmdfZXhlY19tb25pdG9yLmhwcCIgdGFyZ2V0PSJfdG9wIj48Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmJvb3N0L3Rlc3QvaW5jbHVkZWQvcHJnX2V4ZWNfbW9uaXRvci5ocHA8L2NvZGU+PC9hPjwvc3Bhbj48L3A+PC90ZD4KPHRkPmNvbWJpbmVzIGFsbCBpbXBsZW1lbnRhdGlvbiBmaWxlcyBpbnRvIHNpbmdsZSBoZWFkZXIgdG8gYmUgdXNlIGFzIGlubGluZWQgdmVyc2lvbiBvZiBjb21wb25lbnQ8L3RkPgo8L3RyPgo8dHI+Cjx0ZD48cD48c3BhbiBjbGFzcz0idGVybSI+PGEgaHJlZj0iLi4vLi4vLi4vLi4vLi4vYm9vc3QvdGVzdC9wcmdfZXhlY19tb25pdG9yLmhwcCIgdGFyZ2V0PSJfdG9wIj48Y29kZSBjbGFzcz0iZmlsZW5hbWUiPmJvb3N0L3Rlc3QvcHJnX2V4ZWNfbW9uaXRvci5ocHA8L2NvZGU+PC9hPjwvc3Bhbj48L3A+PC90ZD4KPHRkPgogICAgICBjb250YWlucyBkZWZpbml0aW9ucyBmb3IgbWFpbigpIGZ1bmN0aW9uIGZvciBkeW5hbWljIGxpYnJhcnkgYnVpbGQgYW5kIHByYWdtYXMgZm9yIGF1dG8tbGlua2luZyBmZWF0dXJlIHN1cHBvcnQuCiAgICAgPC90ZD4KPC90cj4KPC90Ym9keT4KPC90YWJsZT48L2Rpdj4KPHAgY2xhc3M9ImZpcnN0LWxpbmUtaW5kZW50ZWQiPgogICBUaGUgUHJvZ3JhbSBFeGVjdXRpb24gTW9uaXRvciBpbXBsZW1lbnRhdGlvbiB3cmFwcyBzZXZlcmFsIHN5c3RlbSBoZWFkZXJzIGFuZCBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIHN0YW5kYWxvbmUgbGlicmFyeS4gV2hpbGUgdGhlcmUKICAgZXhpc3QgYW4gYWx0ZXJuYXRpdmUgdmFyaWFudCB0byA8YSBjbGFzcz0ibGluayIgaHJlZj0iY29tcGlsYXRpb24uaHRtbCNwZW0uY29tcGlsYXRpb24uZGlyZWN0LWluY2x1ZGUiIHRpdGxlPSJJbmNsdWRpbmcgdGhlIFByb2dyYW0gRXhlY3V0aW9uIE1vbml0b3IgZGlyZWN0bHkgaW50byB5b3VyIHByb2dyYW0iPmluY2x1ZGUgdGhlIHdob2xlIGltcGxlbWVudGF0aW9uIAogICBkaXJlY3RseTwvYT4gaW50byB5b3VyIHByb2dyYW0sIGZvciB0aGUgbG9uZyB0ZXJtIHVzYWdlIHRoZSBwcmVmZXJhYmxlIHNvbHV0aW9uIGlzIHRvIAogICA8YSBjbGFzcz0ibGluayIgaHJlZj0iY29tcGlsYXRpb24uaHRtbCNwZW0uY29tcGlsYXRpb24uc3RhbmRhbG9uZSIgdGl0bGU9IlN0YW5kYWxvbmUgbGlicmFyeSBjb21waWxhdGlvbiI+YnVpbGQgbGlicmFyeSBvbmNlPC9hPiBhbmQgcmV1c2UgaXQuCiAgPC9wPgo8L2Rpdj4KPHRhYmxlIHhtbG5zOnJldj0iaHR0cDovL3d3dy5jcy5ycGkuZWR1L35ncmVnb2QvYm9vc3QvdG9vbHMvZG9jL3JldmlzaW9uIiB3aWR0aD0iMTAwJSI+PHRyPgo8dGQgYWxpZ249ImxlZnQiPjwvdGQ+Cjx0ZCBhbGlnbj0icmlnaHQiPjxkaXYgY2xhc3M9ImNvcHlyaWdodC1mb290ZXIiPkNvcHlyaWdodCCpIDIwMDEtMjAwNyBHZW5uYWRpeSBSb3plbnRhbDwvZGl2PjwvdGQ+CjwvdHI+PC90YWJsZT4KPGhyPgo8ZGl2IGNsYXNzPSJzcGlyaXQtbmF2Ij4KPGEgYWNjZXNza2V5PSJwIiBocmVmPSIuLi9wcmctZXhlYy1tb25pdG9yLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvcHJldi5wbmciIGFsdD0iUHJldiI+PC9hPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iLi4vcHJnLWV4ZWMtbW9uaXRvci5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL3VwLnBuZyIgYWx0PSJVcCI+PC9hPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9ob21lLnBuZyIgYWx0PSJIb21lIj48L2E+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJjb21waWxhdGlvbi5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL25leHQucG5nIiBhbHQ9Ik5leHQiPjwvYT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=