PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+ClREIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CkJPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQo8L3N0eWxlPjx0aXRsZT5FbmNvZGluZ3Mgc3VwcG9ydDwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+RW5jb2RpbmdzIHN1cHBvcnQ8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+TWFpbiBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludHJvLmh0bWwiPkludHJvZHVjdGlvbjwvYT48L2xpPjxsaT48YSBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvY3MuaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+UmVwb3J0aW5nIGJ1Z3MgYW5kIGdldHRpbmcgaGVscDwvYT48L2xpPjxsaT48YSBocmVmPSJoZWxwLmh0bWwiPkhvdyB0byBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvd25sb2Fkcy5odG1sIj5Eb3dubG9hZHM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmV3cy5odG1sIj5SZWxlYXNlczwvYT48L2xpPjxsaT48YSBocmVmPSJYTUxpbmZvLmh0bWwiPlhNTDwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sZHRkLmh0bWwiPlZhbGlkYXRpb24gJmFtcDsgRFREczwvYT48L2xpPjxsaT48YSBocmVmPSJlbmNvZGluZy5odG1sIj5FbmNvZGluZ3Mgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJjYXRhbG9nLmh0bWwiPkNhdGFsb2cgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iY29udHJpYnMuaHRtbCI+Q29udHJpYnV0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5SZWNlbnQgQ2hhbmdlczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmJsYXN0d2F2ZS5vcmcvcGFja2FnZXMucGhwL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48cD5JZiB5b3UgYXJlIG5vdCByZWFsbHkgZmFtaWxpYXIgd2l0aCBJbnRlcm5hdGlvbmFsaXphdGlvbiAodXN1YWwgc2hvcnRjdXQKaXMgSTE4TikgLCBVbmljb2RlLCBjaGFyYWN0ZXJzIGFuZCBnbHlwaHMsIEkgc3VnZ2VzdCB5b3UgcmVhZCBhIDxhIGhyZWY9Imh0dHA6Ly93d3cudGJyYXkub3JnL29uZ29pbmcvV2hlbi8yMDB4LzIwMDMvMDQvMDYvVW5pY29kZSI+cHJlc2VudGF0aW9uPC9hPgpieSBUaW0gQnJheSBvbiBVbmljb2RlIGFuZCB3aHkgeW91IHNob3VsZCBjYXJlIGFib3V0IGl0LjwvcD48cD5JZiB5b3UgZG9uJ3QgdW5kZXJzdGFuZCB3aHkgPGI+aXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBoYXZlIGEgc3RyaW5nCndpdGhvdXQga25vd2luZyB3aGF0IGVuY29kaW5nIGl0IHVzZXM8L2I+LCB0aGVuIGFzIEpvZWwgU3BvbHNreSBzYWlkIDxhIGhyZWY9Imh0dHA6Ly93d3cuam9lbG9uc29mdHdhcmUuY29tL2FydGljbGVzL1VuaWNvZGUuaHRtbCI+cGxlYXNlIGRvIG5vdAp3cml0ZSBhbm90aGVyIGxpbmUgb2YgY29kZSB1bnRpbCB5b3UgZmluaXNoIHJlYWRpbmcgdGhhdCBhcnRpY2xlLjwvYT4uIEl0IGlzCmEgcHJlcmVxdWlzaXRlIHRvIHVuZGVyc3RhbmQgdGhpcyBwYWdlLCBhbmQgYXZvaWQgYSBsb3Qgb2YgcHJvYmxlbXMgd2l0aApsaWJ4bWwyLCBYTUwgb3IgdGV4dCBwcm9jZXNzaW5nIGluIGdlbmVyYWwuPC9wPjxwPlRhYmxlIG9mIENvbnRlbnQ6PC9wPjxvbD48bGk+PGEgaHJlZj0iZW5jb2RpbmcuaHRtbCNXaGF0Ij5XaGF0IGRvZXMgaW50ZXJuYXRpb25hbGl6YXRpb24gc3VwcG9ydAogICAgbWVhbiA/PC9hPjwvbGk+CiAgPGxpPjxhIGhyZWY9ImVuY29kaW5nLmh0bWwjaW50ZXJuYWwiPlRoZSBpbnRlcm5hbCBlbmNvZGluZywgaG93IGFuZAogIHdoeTwvYT48L2xpPgogIDxsaT48YSBocmVmPSJlbmNvZGluZy5odG1sI2ltcGxlbWVudGUiPkhvdyBpcyBpdCBpbXBsZW1lbnRlZCA/PC9hPjwvbGk+CiAgPGxpPjxhIGhyZWY9ImVuY29kaW5nLmh0bWwjRGVmYXVsdCI+RGVmYXVsdCBzdXBwb3J0ZWQgZW5jb2RpbmdzPC9hPjwvbGk+CiAgPGxpPjxhIGhyZWY9ImVuY29kaW5nLmh0bWwjZXh0ZW5kIj5Ib3cgdG8gZXh0ZW5kIHRoZSBleGlzdGluZwogIHN1cHBvcnQ8L2E+PC9saT4KPC9vbD48aDM+PGEgbmFtZT0iV2hhdCIgaWQ9IldoYXQiPldoYXQgZG9lcyBpbnRlcm5hdGlvbmFsaXphdGlvbiBzdXBwb3J0IG1lYW4gPzwvYT48L2gzPjxwPlhNTCB3YXMgZGVzaWduZWQgZnJvbSB0aGUgc3RhcnQgdG8gYWxsb3cgdGhlIHN1cHBvcnQgb2YgYW55IGNoYXJhY3RlciBzZXQKYnkgdXNpbmcgVW5pY29kZS4gQW55IGNvbmZvcm1hbnQgWE1MIHBhcnNlciBoYXMgdG8gc3VwcG9ydCB0aGUgVVRGLTggYW5kClVURi0xNiBkZWZhdWx0IGVuY29kaW5ncyB3aGljaCBjYW4gYm90aCBleHByZXNzIHRoZSBmdWxsIHVuaWNvZGUgcmFuZ2VzLiBVVEY4CmlzIGEgdmFyaWFibGUgbGVuZ3RoIGVuY29kaW5nIHdob3NlIGdyZWF0ZXN0IHBvaW50cyBhcmUgdG8gcmV1c2UgdGhlIHNhbWUKZW5jb2RpbmcgZm9yIEFTQ0lJIGFuZCB0byBzYXZlIHNwYWNlIGZvciBXZXN0ZXJuIGVuY29kaW5ncywgYnV0IGl0IGlzIGEgYml0Cm1vcmUgY29tcGxleCB0byBoYW5kbGUgaW4gcHJhY3RpY2UuIFVURi0xNiB1c2UgMiBieXRlcyBwZXIgY2hhcmFjdGVyIChhbmQKc29tZXRpbWVzIGNvbWJpbmVzIHR3byBwYWlycyksIGl0IG1ha2VzIGltcGxlbWVudGF0aW9uIGVhc2llciwgYnV0IGxvb2tzIGEKYml0IG92ZXJraWxsIGZvciBXZXN0ZXJuIGxhbmd1YWdlcyBlbmNvZGluZy4gTW9yZW92ZXIgdGhlIFhNTCBzcGVjaWZpY2F0aW9uCmFsbG93cyB0aGUgZG9jdW1lbnQgdG8gYmUgZW5jb2RlZCBpbiBvdGhlciBlbmNvZGluZ3MgYXQgdGhlIGNvbmRpdGlvbiB0aGF0CnRoZXkgYXJlIGNsZWFybHkgbGFiZWxlZCBhcyBzdWNoLiBGb3IgZXhhbXBsZSB0aGUgZm9sbG93aW5nIGlzIGEgd2VsbGZvcm1lZApYTUwgZG9jdW1lbnQgZW5jb2RlZCBpbiBJU08tODg1OS0xIGFuZCB1c2luZyBhY2NlbnR1YXRlZCBsZXR0ZXJzIHRoYXQgd2UKRnJlbmNoIGxpa2UgZm9yIGJvdGggbWFya3VwIGFuZCBjb250ZW50OjwvcD48cHJlPiZsdDs/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPyZndDsKJmx0O3Ry6HMmZ3Q7bOAmbHQ7L3Ry6HMmZ3Q7PC9wcmU+PHA+SGF2aW5nIGludGVybmF0aW9uYWxpemF0aW9uIHN1cHBvcnQgaW4gbGlieG1sMiBtZWFucyB0aGUgZm9sbG93aW5nOjwvcD48dWw+PGxpPnRoZSBkb2N1bWVudCBpcyBwcm9wZXJseSBwYXJzZWQ8L2xpPgogIDxsaT5pbmZvcm1hdGlvbiBhYm91dCBpdCdzIGVuY29kaW5nIGlzIHNhdmVkPC9saT4KICA8bGk+aXQgY2FuIGJlIG1vZGlmaWVkPC9saT4KICA8bGk+aXQgY2FuIGJlIHNhdmVkIGluIGl0cyBvcmlnaW5hbCBlbmNvZGluZzwvbGk+CiAgPGxpPml0IGNhbiBhbHNvIGJlIHNhdmVkIGluIGFub3RoZXIgZW5jb2Rpbmcgc3VwcG9ydGVkIGJ5IGxpYnhtbDIgKGZvcgogICAgZXhhbXBsZSBzdHJhaWdodCBVVEY4IG9yIGV2ZW4gYW4gQVNDSUkgZm9ybSk8L2xpPgo8L3VsPjxwPkFub3RoZXIgdmVyeSBpbXBvcnRhbnQgcG9pbnQgaXMgdGhhdCB0aGUgd2hvbGUgbGlieG1sMiBBUEksIHdpdGggdGhlCmV4Y2VwdGlvbiBvZiBhIGZldyByb3V0aW5lcyB0byByZWFkIHdpdGggYSBzcGVjaWZpYyBlbmNvZGluZyBvciBzYXZlIHRvIGEKc3BlY2lmaWMgZW5jb2RpbmcsIGlzIGNvbXBsZXRlbHkgYWdub3N0aWMgYWJvdXQgdGhlIG9yaWdpbmFsIGVuY29kaW5nIG9mIHRoZQpkb2N1bWVudC48L3A+PHA+SXQgc2hvdWxkIGJlIG5vdGVkIHRvbyB0aGF0IHRoZSBIVE1MIHBhcnNlciBlbWJlZGRlZCBpbiBsaWJ4bWwyIG5vdyBvYmV5CnRoZSBzYW1lIHJ1bGVzIHRvbywgdGhlIGZvbGxvd2luZyBkb2N1bWVudCB3aWxsIGJlIChhcyBvZiAyLjIuMikgaGFuZGxlZCAgaW4KYW4gaW50ZXJuYXRpb25hbGl6ZWQgZmFzaGlvbiBieSBsaWJ4bWwyIHRvbzo8L3A+PHByZT4mbHQ7IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iCiAgICAgICAgICAgICAgICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiJmd0OwombHQ7aHRtbCBsYW5nPSJmciImZ3Q7CiZsdDtoZWFkJmd0OwogICZsdDtNRVRBIEhUVFAtRVFVSVY9IkNvbnRlbnQtVHlwZSIgQ09OVEVOVD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiJmd0OwombHQ7L2hlYWQmZ3Q7CiZsdDtib2R5Jmd0OwombHQ7cCZndDtXM0MgY3LpZSBkZXMgc3RhbmRhcmRzIHBvdXIgbGUgV2ViLiZsdDsvYm9keSZndDsKJmx0Oy9odG1sJmd0OzwvcHJlPjxoMz48YSBuYW1lPSJpbnRlcm5hbCIgaWQ9ImludGVybmFsIj5UaGUgaW50ZXJuYWwgZW5jb2RpbmcsIGhvdyBhbmQgd2h5PC9hPjwvaDM+PHA+T25lIG9mIHRoZSBjb3JlIGRlY2lzaW9ucyB3YXMgdG8gZm9yY2UgYWxsIGRvY3VtZW50cyB0byBiZSBjb252ZXJ0ZWQgdG8gYQpkZWZhdWx0IGludGVybmFsIGVuY29kaW5nLCBhbmQgdGhhdCBlbmNvZGluZyB0byBiZSBVVEYtOCwgaGVyZSBhcmUgdGhlCnJhdGlvbmFsZXMgZm9yIHRob3NlIGNob2ljZXM6PC9wPjx1bD48bGk+a2VlcGluZyB0aGUgbmF0aXZlIGVuY29kaW5nIGluIHRoZSBpbnRlcm5hbCBmb3JtIHdvdWxkIGZvcmNlIHRoZSBsaWJ4bWwKICAgIHVzZXJzIChvciB0aGUgY29kZSBhc3NvY2lhdGVkKSB0byBiZSBmdWxseSBhd2FyZSBvZiB0aGUgZW5jb2Rpbmcgb2YgdGhlCiAgICBvcmlnaW5hbCBkb2N1bWVudCwgZm9yIGV4YW1wbGVzIHdoZW4gYWRkaW5nIGEgdGV4dCBub2RlIHRvIGEgZG9jdW1lbnQsCiAgICB0aGUgY29udGVudCB3b3VsZCBoYXZlIHRvIGJlIHByb3ZpZGVkIGluIHRoZSBkb2N1bWVudCBlbmNvZGluZywgaS5lLiB0aGUKICAgIGNsaWVudCBjb2RlIHdvdWxkIGhhdmUgdG8gY2hlY2sgaXQgYmVmb3JlIGhhbmQsIG1ha2Ugc3VyZSBpdCdzIGNvbmZvcm1hbnQKICAgIHRvIHRoZSBlbmNvZGluZywgZXRjIC4uLiBWZXJ5IGhhcmQgaW4gcHJhY3RpY2UsIHRob3VnaCBpbiBzb21lIHNwZWNpZmljCiAgICBjYXNlcyB0aGlzIG1heSBtYWtlIHNlbnNlLjwvbGk+CiAgPGxpPnRoZSBzZWNvbmQgZGVjaXNpb24gd2FzIHdoaWNoIGVuY29kaW5nLiBGcm9tIHRoZSBYTUwgc3BlYyBvbmx5IFVURjggYW5kCiAgICBVVEYxNiByZWFsbHkgbWFrZXMgc2Vuc2UgYXMgYmVpbmcgdGhlIHR3byBvbmx5IGVuY29kaW5ncyBmb3Igd2hpY2ggdGhlcmUKICAgIGlzIG1hbmRhdG9yeSBzdXBwb3J0LiBVQ1MtNCAoMzIgYml0cyBmaXhlZCBzaXplIGVuY29kaW5nKSBjb3VsZCBiZQogICAgY29uc2lkZXJlZCBhbiBpbnRlbGxpZ2VudCBjaG9pY2UgdG9vIHNpbmNlIGl0J3MgYSBkaXJlY3QgVW5pY29kZSBtYXBwaW5nCiAgICBzdXBwb3J0LiBJIHNlbGVjdGVkIFVURi04IG9uIHRoZSBiYXNpcyBvZiBlZmZpY2llbmN5IGFuZCBjb21wYXRpYmlsaXR5CiAgICB3aXRoIHN1cnJvdW5kaW5nIHNvZnR3YXJlOgogICAgPHVsPjxsaT5VVEYtOCB3aGlsZSBhIGJpdCBtb3JlIGNvbXBsZXggdG8gY29udmVydCBmcm9tL3RvIChpLmUuIHNsaWdodGx5CiAgICAgICAgbW9yZSBjb3N0bHkgdG8gaW1wb3J0IGFuZCBleHBvcnQgQ1BVIHdpc2UpIGlzIGFsc28gZmFyIG1vcmUgY29tcGFjdAogICAgICAgIHRoYW4gVVRGLTE2IChhbmQgVUNTLTQpIGZvciBhIG1ham9yaXR5IG9mIHRoZSBkb2N1bWVudHMgSSBzZWUgaXQgdXNlZAogICAgICAgIGZvciByaWdodCBub3cgKFJQTSBSREYgY2F0YWxvZ3MsIGFkdm9nYXRvIGRhdGEsIHZhcmlvdXMgY29uZmlndXJhdGlvbgogICAgICAgIGZpbGUgZm9ybWF0cywgZXRjLikgYW5kIHRoZSBrZXkgcG9pbnQgZm9yIHRvZGF5J3MgY29tcHV0ZXIKICAgICAgICBhcmNoaXRlY3R1cmUgaXMgZWZmaWNpZW50IHVzZXMgb2YgY2FjaGVzLiBJZiBvbmUgbmVhcmx5IGRvdWJsZSB0aGUKICAgICAgICBtZW1vcnkgcmVxdWlyZW1lbnQgdG8gc3RvcmUgdGhlIHNhbWUgYW1vdW50IG9mIGRhdGEsIHRoaXMgd2lsbCB0cmFzaAogICAgICAgIGNhY2hlcyAobWFpbiBtZW1vcnkvZXh0ZXJuYWwgY2FjaGVzL2ludGVybmFsIGNhY2hlcykgYW5kIG15IHRha2UgaXMKICAgICAgICB0aGF0IHRoaXMgaGFybXMgdGhlIHN5c3RlbSBmYXIgbW9yZSB0aGFuIHRoZSBDUFUgcmVxdWlyZW1lbnRzIG5lZWRlZAogICAgICAgIGZvciB0aGUgY29udmVyc2lvbiB0byBVVEYtODwvbGk+CiAgICAgIDxsaT5Nb3N0IG9mIGxpYnhtbDIgdmVyc2lvbiAxIHVzZXJzIHdlcmUgdXNpbmcgaXQgd2l0aCBzdHJhaWdodCBBU0NJSQogICAgICAgIG1vc3Qgb2YgdGhlIHRpbWUsIGRvaW5nIHRoZSBjb252ZXJzaW9uIHdpdGggYW4gaW50ZXJuYWwgZW5jb2RpbmcKICAgICAgICByZXF1aXJpbmcgYWxsIHRoZWlyIGNvZGUgdG8gYmUgcmV3cml0dGVuIHdhcyBhIHNlcmlvdXMgc2hvdy1zdG9wcGVyCiAgICAgICAgZm9yIHVzaW5nIFVURi0xNiBvciBVQ1MtNC48L2xpPgogICAgICA8bGk+VVRGLTggaXMgYmVpbmcgdXNlZCBhcyB0aGUgZGUtZmFjdG8gaW50ZXJuYWwgZW5jb2Rpbmcgc3RhbmRhcmQgZm9yCiAgICAgICAgcmVsYXRlZCBjb2RlIGxpa2UgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cucGFuZ28ub3JnLyI+cGFuZ288L2E+CiAgICAgICAgdXBjb21pbmcgR25vbWUgdGV4dCB3aWRnZXQsIGFuZCBhIGxvdCBvZiBVbml4IGNvZGUgKHlldCBhbm90aGVyIHBsYWNlCiAgICAgICAgd2hlcmUgVW5peCBwcm9ncmFtbWVyIGJhc2UgdGFrZXMgYSBkaWZmZXJlbnQgYXBwcm9hY2ggZnJvbSBNaWNyb3NvZnQKICAgICAgICAtIHRoZXkgYXJlIHVzaW5nIFVURi0xNik8L2xpPgogICAgPC91bD48L2xpPgo8L3VsPjxwPldoYXQgZG9lcyB0aGlzIG1lYW4gaW4gcHJhY3RpY2UgZm9yIHRoZSBsaWJ4bWwyIHVzZXI6PC9wPjx1bD48bGk+eG1sQ2hhciwgdGhlIGxpYnhtbDIgZGF0YSB0eXBlIGlzIGEgYnl0ZSwgdGhvc2UgYnl0ZXMgbXVzdCBiZSBhc3NlbWJsZWQKICAgIGFzIFVURi04IHZhbGlkIHN0cmluZ3MuIFRoZSBwcm9wZXIgd2F5IHRvIHRlcm1pbmF0ZSBhbiB4bWxDaGFyICogc3RyaW5nCiAgICBpcyBzaW1wbHkgdG8gYXBwZW5kIDAgYnl0ZSwgYXMgdXN1YWwuPC9saT4KICA8bGk+T25lIGp1c3QgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB3aGVuIHVzaW5nIGNoYXJzIG91dHNpZGUgdGhlIEFTQ0lJIHNldCwKICAgIHRoZSB2YWx1ZXMgaGFzIGJlZW4gcHJvcGVybHkgY29udmVydGVkIHRvIFVURi04PC9saT4KPC91bD48aDM+PGEgbmFtZT0iaW1wbGVtZW50ZSIgaWQ9ImltcGxlbWVudGUiPkhvdyBpcyBpdCBpbXBsZW1lbnRlZCA/PC9hPjwvaDM+PHA+TGV0J3MgZGVzY3JpYmUgaG93IGFsbCB0aGlzIHdvcmtzIHdpdGhpbiBsaWJ4bWwsIGJhc2ljYWxseSB0aGUgSTE4TgooaW50ZXJuYXRpb25hbGl6YXRpb24pIHN1cHBvcnQgZ2V0IHRyaWdnZXJlZCBvbmx5IGR1cmluZyBJL08gb3BlcmF0aW9uLCBpLmUuCndoZW4gcmVhZGluZyBhIGRvY3VtZW50IG9yIHNhdmluZyBvbmUuIExldCdzIGxvb2sgZmlyc3QgYXQgdGhlIHJlYWRpbmcKc2VxdWVuY2U6PC9wPjxvbD48bGk+d2hlbiBhIGRvY3VtZW50IGlzIHByb2Nlc3NlZCwgd2UgdXN1YWxseSBkb24ndCBrbm93IHRoZSBlbmNvZGluZywgYQogICAgc2ltcGxlIGhldXJpc3RpYyBhbGxvd3MgdG8gZGV0ZWN0IFVURi0xNiBhbmQgVUNTLTQgZnJvbSBlbmNvZGluZ3Mgd2hlcmUKICAgIHRoZSBBU0NJSSByYW5nZSAoMC0weDdGKSBtYXBzIHdpdGggQVNDSUk8L2xpPgogIDxsaT50aGUgeG1sIGRlY2xhcmF0aW9uIGlmIGF2YWlsYWJsZSBpcyBwYXJzZWQsIGluY2x1ZGluZyB0aGUgZW5jb2RpbmcKICAgIGRlY2xhcmF0aW9uLiBBdCB0aGF0IHBvaW50LCBpZiB0aGUgYXV0b2RldGVjdGVkIGVuY29kaW5nIGlzIGRpZmZlcmVudAogICAgZnJvbSB0aGUgb25lIGRlY2xhcmVkIGEgY2FsbCB0byB4bWxTd2l0Y2hFbmNvZGluZygpIGlzIGlzc3VlZC48L2xpPgogIDxsaT5JZiB0aGVyZSBpcyBubyBlbmNvZGluZyBkZWNsYXJhdGlvbiwgdGhlbiB0aGUgaW5wdXQgaGFzIHRvIGJlIGluIGVpdGhlcgogICAgVVRGLTggb3IgVVRGLTE2LCBpZiBpdCBpcyBub3QgdGhlbiBhdCBzb21lIHBvaW50IHdoZW4gcHJvY2Vzc2luZyB0aGUKICAgIGlucHV0LCB0aGUgY29udmVydGVyL2NoZWNrZXIgb2YgVVRGLTggZm9ybSB3aWxsIHJhaXNlIGFuIGVuY29kaW5nIGVycm9yLgogICAgWW91IG1heSBlbmQtdXAgd2l0aCBhIGdhcmJsZWQgZG9jdW1lbnQsIG9yIG5vIGRvY3VtZW50IGF0IGFsbCAhIEV4YW1wbGU6CiAgICA8cHJlPn4vWE1MIC0mZ3Q7IC4veG1sbGludCBlcnIueG1sIAplcnIueG1sOjE6IGVycm9yOiBJbnB1dCBpcyBub3QgcHJvcGVyIFVURi04LCBpbmRpY2F0ZSBlbmNvZGluZyAhCiZsdDt0cuhzJmd0O2zgJmx0Oy90cuhzJmd0OwogICBeCmVyci54bWw6MTogZXJyb3I6IEJ5dGVzOiAweEU4IDB4NzMgMHgzRSAweDZDCiZsdDt0cuhzJmd0O2zgJmx0Oy90cuhzJmd0OwogICBePC9wcmU+CiAgPC9saT4KICA8bGk+eG1sU3dpdGNoRW5jb2RpbmcoKSBkb2VzIGFuIGVuY29kaW5nIG5hbWUgbG9va3VwLCBjYW5vbmljYWxpemUgaXQsIGFuZAogICAgdGhlbiBzZWFyY2ggdGhlIGRlZmF1bHQgcmVnaXN0ZXJlZCBlbmNvZGluZyBjb252ZXJ0ZXJzIGZvciB0aGF0IGVuY29kaW5nLgogICAgSWYgaXQncyBub3Qgd2l0aGluIHRoZSBkZWZhdWx0IHNldCBhbmQgaWNvbnYoKSBzdXBwb3J0IGhhcyBiZWVuIGNvbXBpbGVkCiAgICBpdCwgaXQgd2lsbCBhc2sgaWNvbnYgZm9yIHN1Y2ggYW4gZW5jb2Rlci4gSWYgdGhpcyBmYWlscyB0aGVuIHRoZSBwYXJzZXIKICAgIHdpbGwgcmVwb3J0IGFuIGVycm9yIGFuZCBzdG9wcyBwcm9jZXNzaW5nOgogICAgPHByZT5+L1hNTCAtJmd0OyAuL3htbGxpbnQgZXJyMi54bWwgCmVycjIueG1sOjE6IGVycm9yOiBVbnN1cHBvcnRlZCBlbmNvZGluZyBVbnN1cHBvcnRlZEVuYwombHQ7P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVbnN1cHBvcnRlZEVuYyI/Jmd0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBePC9wcmU+CiAgPC9saT4KICA8bGk+RnJvbSB0aGF0IHBvaW50IHRoZSBlbmNvZGVyIHByb2Nlc3NlcyBwcm9ncmVzc2l2ZWx5IHRoZSBpbnB1dCAoaXQgaXMKICAgIHBsdWdnZWQgYXMgYSBmcm9udC1lbmQgdG8gdGhlIEkvTyBtb2R1bGUpIGZvciB0aGF0IGVudGl0eS4gSXQgY2FwdHVyZXMKICAgIGFuZCBjb252ZXJ0cyBvbi10aGUtZmx5IHRoZSBkb2N1bWVudCB0byBiZSBwYXJzZWQgdG8gVVRGLTguIFRoZSBwYXJzZXIKICAgIGl0c2VsZiBqdXN0IGRvZXMgVVRGLTggY2hlY2tpbmcgb2YgdGhpcyBpbnB1dCBhbmQgcHJvY2VzcyBpdAogICAgdHJhbnNwYXJlbnRseS4gVGhlIG9ubHkgZGlmZmVyZW5jZSBpcyB0aGF0IHRoZSBlbmNvZGluZyBpbmZvcm1hdGlvbiBoYXMKICAgIGJlZW4gYWRkZWQgdG8gdGhlIHBhcnNpbmcgY29udGV4dCAobW9yZSBwcmVjaXNlbHkgdG8gdGhlIGlucHV0CiAgICBjb3JyZXNwb25kaW5nIHRvIHRoaXMgZW50aXR5KS48L2xpPgogIDxsaT5UaGUgcmVzdWx0ICh3aGVuIHVzaW5nIERPTSkgaXMgYW4gaW50ZXJuYWwgZm9ybSBjb21wbGV0ZWx5IGluIFVURi04CiAgICB3aXRoIGp1c3QgYW4gZW5jb2RpbmcgaW5mb3JtYXRpb24gb24gdGhlIGRvY3VtZW50IG5vZGUuPC9saT4KPC9vbD48cD5PayB0aGVuIHdoYXQgaGFwcGVucyB3aGVuIHNhdmluZyB0aGUgZG9jdW1lbnQgKGFzc3VtaW5nIHlvdQpjb2xsZWN0ZWQvYnVpbHQgYW4geG1sRG9jIERPTSBsaWtlIHN0cnVjdHVyZSkgPyBJdCBkZXBlbmRzIG9uIHRoZSBmdW5jdGlvbgpjYWxsZWQsIHhtbFNhdmVGaWxlKCkgd2lsbCBqdXN0IHRyeSB0byBzYXZlIGluIHRoZSBvcmlnaW5hbCBlbmNvZGluZywgd2hpbGUKeG1sU2F2ZUZpbGVUbygpIGFuZCB4bWxTYXZlRmlsZUVuYygpIGNhbiBvcHRpb25hbGx5IHNhdmUgdG8gYSBnaXZlbgplbmNvZGluZzo8L3A+PG9sPjxsaT5pZiBubyBlbmNvZGluZyBpcyBnaXZlbiwgbGlieG1sMiB3aWxsIGxvb2sgZm9yIGFuIGVuY29kaW5nIHZhbHVlCiAgICBhc3NvY2lhdGVkIHRvIHRoZSBkb2N1bWVudCBhbmQgaWYgaXQgZXhpc3RzIHdpbGwgdHJ5IHRvIHNhdmUgdG8gdGhhdAogICAgZW5jb2RpbmcsCiAgICA8cD5vdGhlcndpc2UgZXZlcnl0aGluZyBpcyB3cml0dGVuIGluIHRoZSBpbnRlcm5hbCBmb3JtLCBpLmUuIFVURi04PC9wPgogIDwvbGk+CiAgPGxpPnNvIGlmIGFuIGVuY29kaW5nIHdhcyBzcGVjaWZpZWQsIGVpdGhlciBhdCB0aGUgQVBJIGxldmVsIG9yIG9uIHRoZQogICAgZG9jdW1lbnQsIGxpYnhtbDIgd2lsbCBhZ2FpbiBjYW5vbmljYWxpemUgdGhlIGVuY29kaW5nIG5hbWUsIGxvb2t1cCBmb3IgYQogICAgY29udmVydGVyIGluIHRoZSByZWdpc3RlcmVkIHNldCBvciB0aHJvdWdoIGljb252LiBJZiBub3QgZm91bmQgdGhlCiAgICBmdW5jdGlvbiB3aWxsIHJldHVybiBhbiBlcnJvciBjb2RlPC9saT4KICA8bGk+dGhlIGNvbnZlcnRlciBpcyBwbGFjZWQgYmVmb3JlIHRoZSBJL08gYnVmZmVyIGxheWVyLCBhcyBhbm90aGVyIGtpbmQgb2YKICAgIGJ1ZmZlciwgdGhlbiBsaWJ4bWwyIHdpbGwgc2ltcGx5IHB1c2ggdGhlIFVURi04IHNlcmlhbGl6YXRpb24gdG8gdGhyb3VnaAogICAgdGhhdCBidWZmZXIsIHdoaWNoIHdpbGwgdGhlbiBwcm9ncmVzc2l2ZWx5IGJlIGNvbnZlcnRlZCBhbmQgcHVzaGVkIG9udG8KICAgIHRoZSBJL08gbGF5ZXIuPC9saT4KICA8bGk+SXQgaXMgcG9zc2libGUgdGhhdCB0aGUgY29udmVydGVyIGNvZGUgZmFpbHMgb24gc29tZSBpbnB1dCwgZm9yIGV4YW1wbGUKICAgIHRyeWluZyB0byBwdXNoIGFuIFVURi04IGVuY29kZWQgQ2hpbmVzZSBjaGFyYWN0ZXIgdGhyb3VnaCB0aGUgVVRGLTggdG8KICAgIElTTy04ODU5LTEgY29udmVydGVyIHdvbid0IHdvcmsuIFNpbmNlIHRoZSBlbmNvZGVycyBhcmUgcHJvZ3Jlc3NpdmUgdGhleQogICAgd2lsbCBqdXN0IHJlcG9ydCB0aGUgZXJyb3IgYW5kIHRoZSBudW1iZXIgb2YgYnl0ZXMgY29udmVydGVkLCBhdCB0aGF0CiAgICBwb2ludCBsaWJ4bWwyIHdpbGwgZGVjb2RlIHRoZSBvZmZlbmRpbmcgY2hhcmFjdGVyLCByZW1vdmUgaXQgZnJvbSB0aGUKICAgIGJ1ZmZlciBhbmQgcmVwbGFjZSBpdCB3aXRoIHRoZSBhc3NvY2lhdGVkIGNoYXJSZWYgZW5jb2RpbmcgJmFtcDsjMTIzOyBhbmQKICAgIHJlc3VtZSB0aGUgY29udmVyc2lvbi4gVGhpcyBndWFyYW50ZWVzIHRoYXQgYW55IGRvY3VtZW50IHdpbGwgYmUgc2F2ZWQKICAgIHdpdGhvdXQgbG9zc2VzIChleGNlcHQgZm9yIG1hcmt1cCBuYW1lcyB3aGVyZSB0aGlzIGlzIG5vdCBsZWdhbCwgdGhpcyBpcwogICAgYSBwcm9ibGVtIGluIHRoZSBjdXJyZW50IHZlcnNpb24sIGluIHByYWN0aWNlIGF2b2lkIHVzaW5nIG5vbi1hc2NpaQogICAgY2hhcmFjdGVycyBmb3IgdGFnIG9yIGF0dHJpYnV0ZSBuYW1lcykuIEEgc3BlY2lhbCAiYXNjaWkiIGVuY29kaW5nIG5hbWUKICAgIGlzIHVzZWQgdG8gc2F2ZSBkb2N1bWVudHMgdG8gYSBwdXJlIGFzY2lpIGZvcm0gY2FuIGJlIHVzZWQgd2hlbgogICAgcG9ydGFiaWxpdHkgaXMgcmVhbGx5IGNydWNpYWw8L2xpPgo8L29sPjxwPkhlcmUgYXJlIGEgZmV3IGV4YW1wbGVzIGJhc2VkIG9uIHRoZSBzYW1lIHRlc3QgZG9jdW1lbnQ6PC9wPjxwcmU+fi9YTUwgLSZndDsgLi94bWxsaW50IGlzb2xhdDEgCiZsdDs/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPyZndDsKJmx0O3Ry6HMmZ3Q7bOAmbHQ7L3Ry6HMmZ3Q7Cn4vWE1MIC0mZ3Q7IC4veG1sbGludCAtLWVuY29kZSBVVEYtOCBpc29sYXQxIAombHQ7P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Jmd0OwombHQ7dHLDqHMmZ3Q7bMMgoCZsdDsvdHLDqHMmZ3Q7Cn4vWE1MIC0mZ3Q7IDwvcHJlPjxwPlRoZSBzYW1lIHByb2Nlc3NpbmcgaXMgYXBwbGllZCAoYW5kIHJldXNlIG1vc3Qgb2YgdGhlIGNvZGUpIGZvciBIVE1MIEkxOE4KcHJvY2Vzc2luZy4gTG9va2luZyB1cCBhbmQgbW9kaWZ5aW5nIHRoZSBjb250ZW50IGVuY29kaW5nIGlzIGEgYml0IG1vcmUKZGlmZmljdWx0IHNpbmNlIGl0IGlzIGxvY2F0ZWQgaW4gYSAmbHQ7bWV0YSZndDsgdGFnIHVuZGVyIHRoZSAmbHQ7aGVhZCZndDssCnNvIGEgY291cGxlIG9mIGZ1bmN0aW9ucyBodG1sR2V0TWV0YUVuY29kaW5nKCkgYW5kIGh0bWxTZXRNZXRhRW5jb2RpbmcoKSBoYXZlCmJlZW4gcHJvdmlkZWQuIFRoZSBwYXJzZXIgYWxzbyBhdHRlbXB0cyB0byBzd2l0Y2ggZW5jb2Rpbmcgb24gdGhlIGZseSB3aGVuCmRldGVjdGluZyBzdWNoIGEgdGFnIG9uIGlucHV0LiBFeGNlcHQgZm9yIHRoYXQgdGhlIHByb2Nlc3NpbmcgaXMgdGhlIHNhbWUKKGFuZCBhZ2FpbiByZXVzZXMgdGhlIHNhbWUgY29kZSkuPC9wPjxoMz48YSBuYW1lPSJEZWZhdWx0IiBpZD0iRGVmYXVsdCI+RGVmYXVsdCBzdXBwb3J0ZWQgZW5jb2RpbmdzPC9hPjwvaDM+PHA+bGlieG1sMiBoYXMgYSBzZXQgb2YgZGVmYXVsdCBjb252ZXJ0ZXJzIGZvciB0aGUgZm9sbG93aW5nIGVuY29kaW5ncwoobG9jYXRlZCBpbiBlbmNvZGluZy5jKTo8L3A+PG9sPjxsaT5VVEYtOCBpcyBzdXBwb3J0ZWQgYnkgZGVmYXVsdCAobnVsbCBoYW5kbGVycyk8L2xpPgogIDxsaT5VVEYtMTYsIGJvdGggbGl0dGxlIGFuZCBiaWcgZW5kaWFuPC9saT4KICA8bGk+SVNPLUxhdGluLTEgKElTTy04ODU5LTEpIGNvdmVyaW5nIG1vc3Qgd2VzdGVybiBsYW5ndWFnZXM8L2xpPgogIDxsaT5BU0NJSSwgdXNlZnVsIG1vc3RseSBmb3Igc2F2aW5nPC9saT4KICA8bGk+SFRNTCwgYSBzcGVjaWZpYyBoYW5kbGVyIGZvciB0aGUgY29udmVyc2lvbiBvZiBVVEYtOCB0byBBU0NJSSB3aXRoIEhUTUwKICAgIHByZWRlZmluZWQgZW50aXRpZXMgbGlrZSAmYW1wO2NvcHk7IGZvciB0aGUgQ29weXJpZ2h0IHNpZ24uPC9saT4KPC9vbD48cD5Nb3JlIG92ZXIgd2hlbiBjb21waWxlZCBvbiBhbiBVbml4IHBsYXRmb3JtIHdpdGggaWNvbnYgc3VwcG9ydCB0aGUgZnVsbApzZXQgb2YgZW5jb2RpbmdzIHN1cHBvcnRlZCBieSBpY29udiBjYW4gYmUgaW5zdGFudGx5IGJlIHVzZWQgYnkgbGlieG1sLiBPbiBhCmxpbnV4IG1hY2hpbmUgd2l0aCBnbGliYy0yLjEgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGVuY29kaW5ncyBhbmQgYWxpYXNlcyBmaWxsCjMgZnVsbCBwYWdlcywgYW5kIGluY2x1ZGUgVUNTLTQsIHRoZSBmdWxsIHNldCBvZiBJU08tTGF0aW4gZW5jb2RpbmdzLCBhbmQgdGhlCnZhcmlvdXMgSmFwYW5lc2Ugb25lcy48L3A+PHA+VG8gY29udmVydCBmcm9tIHRoZSBVVEYtOCB2YWx1ZXMgcmV0dXJuZWQgZnJvbSB0aGUgQVBJIHRvIGFub3RoZXIgZW5jb2RpbmcKdGhlbiBpdCBpcyBwb3NzaWJsZSB0byB1c2UgdGhlIGZ1bmN0aW9uIHByb3ZpZGVkIGZyb20gPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCI+dGhlIGVuY29kaW5nIG1vZHVsZTwvYT4gbGlrZSA8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1VURjhUb2lzb2xhdDEiPlVURjhUb2lzb2xhdDE8L2E+LCBvciB1c2UgdGhlClBPU0lYIDxhIGhyZWY9Imh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwOTY5NTM5OS9mdW5jdGlvbnMvaWNvbnYuaHRtbCI+aWNvbnYoKTwvYT4KQVBJIGRpcmVjdGx5LjwvcD48aDQ+RW5jb2RpbmcgYWxpYXNlczwvaDQ+PHA+RnJvbSAyLjIuMywgbGlieG1sMiBoYXMgc3VwcG9ydCB0byByZWdpc3RlciBlbmNvZGluZyBuYW1lcyBhbGlhc2VzLiBUaGUKZ29hbCBpcyB0byBiZSBhYmxlIHRvIHBhcnNlIGRvY3VtZW50IHdob3NlIGVuY29kaW5nIGlzIHN1cHBvcnRlZCBidXQgd2hlcmUKdGhlIG5hbWUgZGlmZmVycyAoZm9yIGV4YW1wbGUgZnJvbSB0aGUgZGVmYXVsdCBzZXQgb2YgbmFtZXMgYWNjZXB0ZWQgYnkKaWNvbnYpLiBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhbGxvdyB0byByZWdpc3RlciBhbmQgaGFuZGxlIG5ldyBhbGlhc2VzIGZvcgpleGlzdGluZyBlbmNvZGluZ3MuIE9uY2UgcmVnaXN0ZXJlZCBsaWJ4bWwyIHdpbGwgYXV0b21hdGljYWxseSBsb29rdXAgdGhlCmFsaWFzZXMgd2hlbiBoYW5kbGluZyBhIGRvY3VtZW50OjwvcD48dWw+PGxpPmludCB4bWxBZGRFbmNvZGluZ0FsaWFzKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmFsaWFzKTs8L2xpPgogIDxsaT5pbnQgeG1sRGVsRW5jb2RpbmdBbGlhcyhjb25zdCBjaGFyICphbGlhcyk7PC9saT4KICA8bGk+Y29uc3QgY2hhciAqIHhtbEdldEVuY29kaW5nQWxpYXMoY29uc3QgY2hhciAqYWxpYXMpOzwvbGk+CiAgPGxpPnZvaWQgeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcyh2b2lkKTs8L2xpPgo8L3VsPjxoMz48YSBuYW1lPSJleHRlbmQiIGlkPSJleHRlbmQiPkhvdyB0byBleHRlbmQgdGhlIGV4aXN0aW5nIHN1cHBvcnQ8L2E+PC9oMz48cD5XZWxsIGFkZGluZyBzdXBwb3J0IGZvciBuZXcgZW5jb2RpbmcsIG9yIG92ZXJyaWRpbmcgb25lIG9mIHRoZSBlbmNvZGVycwooYXNzdW1pbmcgaXQgaXMgYnVnZ3kpIHNob3VsZCBub3QgYmUgaGFyZCwganVzdCB3cml0ZSBpbnB1dCBhbmQgb3V0cHV0CmNvbnZlcnNpb24gcm91dGluZXMgdG8vZnJvbSBVVEYtOCwgYW5kIHJlZ2lzdGVyIHRoZW0gdXNpbmcKeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcihuYW1lLCB4eHhUb1VURjgsIFVURjhUb3h4eCksICBhbmQgdGhleSB3aWxsIGJlCmNhbGxlZCBhdXRvbWF0aWNhbGx5IGlmIHRoZSBwYXJzZXIocykgZW5jb3VudGVyIHN1Y2ggYW4gZW5jb2RpbmcgbmFtZQoocmVnaXN0ZXIgaXQgdXBwZXJjYXNlLCB0aGlzIHdpbGwgaGVscCkuIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZW5jb2RlcnMsCnRoZWlyIGFyZ3VtZW50cyBhbmQgZXhwZWN0ZWQgcmV0dXJuIHZhbHVlcyBhcmUgZGVzY3JpYmVkIGluIHRoZSBlbmNvZGluZy5oCmhlYWRlci48L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+Cg==