PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPnhwYXRoSW50ZXJuYWxzPC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjU4LjEiPjxzdHlsZSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgdHlwZT0idGV4dC9jc3MiPgogICAgICAgIC5zeW5vcHNpcywgLmNsYXNzc3lub3BzaXMgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlOwogICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjYWFhYWFhOwogICAgICAgICAgICBwYWRkaW5nOiAwLjVlbTsKICAgICAgICB9CiAgICAgICAgLnByb2dyYW1saXN0aW5nIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2VlZWVmZjsKICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2FhYWFmZjsKICAgICAgICAgICAgcGFkZGluZzogMC41ZW07CiAgICAgICAgfQogICAgICAgIC52YXJpYWJsZWxpc3QgewogICAgICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzZW07CiAgICAgICAgfQogICAgICAgIC5uYXZpZ2F0aW9uIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZWVlZTsKICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2ZmYWFhYTsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOwogICAgICAgIH0KICAgICAgICAubmF2aWdhdGlvbiBhIHsKICAgICAgICAgICAgY29sb3I6ICM3NzAwMDA7CiAgICAgICAgfQogICAgICAgIC5uYXZpZ2F0aW9uIGE6dmlzaXRlZCB7CiAgICAgICAgICAgIGNvbG9yOiAjNTUwMDAwOwogICAgICAgIH0KICAgICAgICAubmF2aWdhdGlvbiAudGl0bGUgewogICAgICAgICAgICBmb250LXNpemU6IDIwMCU7CiAgICAgICAgfQogICAgICA8L3N0eWxlPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9Ikdub21lIFhNTCBMaWJyYXJ5IFJlZmVyZW5jZSBNYW51YWwiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImxpYnhtbC1saWIuaHRtbCIgdGl0bGU9IkxpYnhtbCBMaWJyYXJ5IFJlZmVyZW5jZSI+PGxpbmsgcmVsPSJwcmV2aW91cyIgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwiIHRpdGxlPSJ4cGF0aCI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCIgdGl0bGU9Inhwb2ludGVyIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjx0YWJsZSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiPjwvaW1nPjwvYT48L3RkPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImxpYnhtbC1saWIuaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiPjwvaW1nPjwvYT48L3RkPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSI+PC9pbWc+PC9hPjwvdGQ+PHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5Hbm9tZSBYTUwgTGlicmFyeSBSZWZlcmVuY2UgTWFudWFsPC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCI+PC9pbWc+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxkaXYgY2xhc3M9InJlZmVudHJ5IiBsYW5nPSJlbiI+PGEgbmFtZT0ibGlieG1sLXhwYXRoSW50ZXJuYWxzIj48L2E+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZuYW1lZGl2Ij48aDI+eHBhdGhJbnRlcm5hbHM8L2gyPjxwPnhwYXRoSW50ZXJuYWxzICYjODIxMjsgPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij48aDI+U3lub3BzaXM8L2gyPjxwcmUgY2xhc3M9InN5bm9wc2lzIj4KCgoKI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRFcnJvciI+eG1sWFBhdGhTZXRFcnJvcjwvYT4gICAgICAgICAgICAgICAgKGN0eHQsIGVycikKI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRBcml0eUVycm9yIj54bWxYUGF0aFNldEFyaXR5RXJyb3I8L2E+ICAgICAgICAgICAoY3R4dCkKI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRUeXBlRXJyb3IiPnhtbFhQYXRoU2V0VHlwZUVycm9yPC9hPiAgICAgICAgICAgIChjdHh0KQojZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEdldEVycm9yIj54bWxYUGF0aEdldEVycm9yPC9hPiAgICAgICAgICAgICAgICAoY3R4dCkKI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDaGVja0Vycm9yIj54bWxYUGF0aENoZWNrRXJyb3I8L2E+ICAgICAgICAgICAgICAoY3R4dCkKI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhHZXREb2N1bWVudCI+eG1sWFBhdGhHZXREb2N1bWVudDwvYT4gICAgICAgICAgICAgKGN0eHQpCiNkZWZpbmUgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoR2V0Q29udGV4dE5vZGUiPnhtbFhQYXRoR2V0Q29udGV4dE5vZGU8L2E+ICAgICAgICAgIChjdHh0KQppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcEJvb2xlYW4iPnhtbFhQYXRoUG9wQm9vbGVhbjwvYT4gICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CjxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJkb3VibGUiPmRvdWJsZTwvR1RLRE9DTElOSz4gICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcE51bWJlciI+eG1sWFBhdGhQb3BOdW1iZXI8L2E+ICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTsKPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiogICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BTdHJpbmciPnhtbFhQYXRoUG9wU3RyaW5nPC9hPiAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wTm9kZVNldCI+eG1sWFBhdGhQb3BOb2RlU2V0PC9hPiAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CnZvaWQqICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wRXh0ZXJuYWwiPnhtbFhQYXRoUG9wRXh0ZXJuYWw8L2E+ICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CiNkZWZpbmUgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuQm9vbGVhbiI+eG1sWFBhdGhSZXR1cm5Cb29sZWFuPC9hPiAgICAgICAgICAgKGN0eHQsIHZhbCkKI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5UcnVlIj54bWxYUGF0aFJldHVyblRydWU8L2E+ICAgICAgICAgICAgICAoY3R4dCkKI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5GYWxzZSI+eG1sWFBhdGhSZXR1cm5GYWxzZTwvYT4gICAgICAgICAgICAgKGN0eHQpCiNkZWZpbmUgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuTnVtYmVyIj54bWxYUGF0aFJldHVybk51bWJlcjwvYT4gICAgICAgICAgICAoY3R4dCwgdmFsKQojZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVyblN0cmluZyI+eG1sWFBhdGhSZXR1cm5TdHJpbmc8L2E+ICAgICAgICAgICAgKGN0eHQsIHN0cikKI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5FbXB0eVN0cmluZyI+eG1sWFBhdGhSZXR1cm5FbXB0eVN0cmluZzwvYT4gICAgICAgKGN0eHQpCiNkZWZpbmUgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuTm9kZVNldCI+eG1sWFBhdGhSZXR1cm5Ob2RlU2V0PC9hPiAgICAgICAgICAgKGN0eHQsIG5zKQojZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldCI+eG1sWFBhdGhSZXR1cm5FbXB0eU5vZGVTZXQ8L2E+ICAgICAgKGN0eHQpCiNkZWZpbmUgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuRXh0ZXJuYWwiPnhtbFhQYXRoUmV0dXJuRXh0ZXJuYWw8L2E+ICAgICAgICAgIChjdHh0LCB2YWwpCiNkZWZpbmUgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RhY2tJc05vZGVTZXQiPnhtbFhQYXRoU3RhY2tJc05vZGVTZXQ8L2E+ICAgICAgICAgIChjdHh0KQojZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0YWNrSXNFeHRlcm5hbCI+eG1sWFBhdGhTdGFja0lzRXh0ZXJuYWw8L2E+ICAgICAgICAgKGN0eHQpCiNkZWZpbmUgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRW1wdHlOb2RlU2V0Ij54bWxYUGF0aEVtcHR5Tm9kZVNldDwvYT4gICAgICAgICAgICAobnMpCiNkZWZpbmUgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NIRUNLLUVSUk9SLUNBUFMiPkNIRUNLX0VSUk9SPC9hPgojZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDSy1FUlJPUjAtQ0FQUyI+Q0hFQ0tfRVJST1IwPC9hPgojZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNYUC1FUlJPUi1DQVBTIj5YUF9FUlJPUjwvYT4gICAgICAgICAgICAgICAgICAgICAgICAoWCkKI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjWFAtRVJST1IwLUNBUFMiPlhQX0VSUk9SMDwvYT4gICAgICAgICAgICAgICAgICAgICAgIChYKQojZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDSy1UWVBFLUNBUFMiPkNIRUNLX1RZUEU8L2E+ICAgICAgICAgICAgICAgICAgICAgICh0eXBldmFsKQojZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDSy1UWVBFMC1DQVBTIj5DSEVDS19UWVBFMDwvYT4gICAgICAgICAgICAgICAgICAgICAodHlwZXZhbCkKI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0hFQ0stQVJJVFktQ0FQUyI+Q0hFQ0tfQVJJVFk8L2E+ICAgICAgICAgICAgICAgICAgICAgKHgpCiNkZWZpbmUgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NBU1QtVE8tU1RSSU5HLUNBUFMiPkNBU1RfVE9fU1RSSU5HPC9hPgojZGVmaW5lICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDQVNULVRPLU5VTUJFUi1DQVBTIj5DQVNUX1RPX05VTUJFUjwvYT4KI2RlZmluZSAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0FTVC1UTy1CT09MRUFOLUNBUFMiPkNBU1RfVE9fQk9PTEVBTjwvYT4KPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiAoPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPip4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYzwvYT4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKmN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5zX3VyaSk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCI+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwPC9hPiAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYyI+eG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmM8L2E+IGYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGEpOwo8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPiAoPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGdW5jTG9va3VwRnVuYyI+KnhtbFhQYXRoRnVuY0xvb2t1cEZ1bmM8L2E+KSAgKHZvaWQgKmN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5zX3VyaSk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwIj54bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cDwvYT4gICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnVuY0xvb2t1cEZ1bmMiPnhtbFhQYXRoRnVuY0xvb2t1cEZ1bmM8L2E+IGYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmZ1bmNDdHh0KTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhlcnJvciI+eG1sWFBhdGhlcnJvcjwvYT4gICAgICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGluZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5vKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QiPnhtbFhQYXRoRGVidWdEdW1wT2JqZWN0PC9hPiAgICAgICAgICg8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iRklMRS1DQVBTIj5GSUxFPC9HVEtET0NMSU5LPiAqb3V0cHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IGN1ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRlcHRoKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwciI+eG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwcjwvYT4gICAgICAgKDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJGSUxFLUNBUFMiPkZJTEU8L0dUS0RPQ0xJTks+ICpvdXRwdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2E+IGNvbXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkZXB0aCk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldENvbnRhaW5zIj54bWxYUGF0aE5vZGVTZXRDb250YWluczwvYT4gICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gY3VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbCk7CjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlmZmVyZW5jZSI+eG1sWFBhdGhEaWZmZXJlbmNlPC9hPiAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik7CjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSW50ZXJzZWN0aW9uIj54bWxYUGF0aEludGVyc2VjdGlvbjwvYT4gICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMyKTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXN0aW5jdFNvcnRlZCI+eG1sWFBhdGhEaXN0aW5jdFNvcnRlZDwvYT4gICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2Rlcyk7CjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlzdGluY3QiPnhtbFhQYXRoRGlzdGluY3Q8L2E+ICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEhhc1NhbWVOb2RlcyI+eG1sWFBhdGhIYXNTYW1lTm9kZXM8L2E+ICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMyKTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZDwvYT4gICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nU29ydGVkIj54bWxYUGF0aExlYWRpbmdTb3J0ZWQ8L2E+ICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMyKTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZyI+eG1sWFBhdGhOb2RlTGVhZGluZzwvYT4gICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nIj54bWxYUGF0aExlYWRpbmc8L2E+ICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMyKTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkPC9hPiAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk7CjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhaWxpbmdTb3J0ZWQiPnhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQ8L2E+ICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpOwo8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZyI+eG1sWFBhdGhOb2RlVHJhaWxpbmc8L2E+ICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZyI+eG1sWFBhdGhUcmFpbGluZzwvYT4gICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJOcyI+eG1sWFBhdGhSZWdpc3Rlck5zPC9hPiAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpwcmVmaXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5zX3VyaSk7CmNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4qIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTnNMb29rdXAiPnhtbFhQYXRoTnNMb29rdXA8L2E+ICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqcHJlZml4KTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwIj54bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXA8L2E+ICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyRnVuYyI+eG1sWFBhdGhSZWdpc3RlckZ1bmM8L2E+ICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPiBmKTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlckZ1bmNOUyI+eG1sWFBhdGhSZWdpc3RlckZ1bmNOUzwvYT4gICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuc191cmksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+IGYpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUiPnhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZTwvYT4gICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWx1ZSk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TIj54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUzwvYT4gICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5zX3VyaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWx1ZSk7CjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+IDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnVuY3Rpb25Mb29rdXAiPnhtbFhQYXRoRnVuY3Rpb25Mb29rdXA8L2E+ICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5hbWUpOwo8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPiA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMiPnhtbFhQYXRoRnVuY3Rpb25Mb29rdXBOUzwvYT4gICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5zX3VyaSk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCI+eG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwPC9hPiAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwIj54bWxYUGF0aFZhcmlhYmxlTG9va3VwPC9hPiAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5hbWUpOwo8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVmFyaWFibGVMb29rdXBOUyI+eG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TPC9hPiAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuc191cmkpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwIj54bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCk7CjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQiPnhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqc3RyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnJlZVBhcnNlckNvbnRleHQiPnhtbFhQYXRoRnJlZVBhcnNlckNvbnRleHQ8L2E+ICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjdmFsdWVQb3AiPnZhbHVlUG9wPC9hPiAgICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3ZhbHVlUHVzaCI+dmFsdWVQdXNoPC9hPiAgICAgICAgICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbHVlKTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1N0cmluZyI+eG1sWFBhdGhOZXdTdHJpbmc8L2E+ICAgICAgICAgKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKnZhbCk7CjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdDU3RyaW5nIj54bWxYUGF0aE5ld0NTdHJpbmc8L2E+ICAgICAgICAoY29uc3QgY2hhciAqdmFsKTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBTdHJpbmciPnhtbFhQYXRoV3JhcFN0cmluZzwvYT4gICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICp2YWwpOwo8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoV3JhcENTdHJpbmciPnhtbFhQYXRoV3JhcENTdHJpbmc8L2E+ICAgICAgIChjaGFyICp2YWwpOwo8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3RmxvYXQiPnhtbFhQYXRoTmV3RmxvYXQ8L2E+ICAgICAgICAgICg8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iZG91YmxlIj5kb3VibGU8L0dUS0RPQ0xJTks+IHZhbCk7CjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdCb29sZWFuIj54bWxYUGF0aE5ld0Jvb2xlYW48L2E+ICAgICAgICAoaW50IHZhbCk7CjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdOb2RlU2V0Ij54bWxYUGF0aE5ld05vZGVTZXQ8L2E+ICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpOwo8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3VmFsdWVUcmVlIj54bWxYUGF0aE5ld1ZhbHVlVHJlZTwvYT4gICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRBZGQiPnhtbFhQYXRoTm9kZVNldEFkZDwvYT4gICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBjdXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlIj54bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWU8L2E+ICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gY3VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbCk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEFkZE5zIj54bWxYUGF0aE5vZGVTZXRBZGROczwvYT4gICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gY3VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldFNvcnQiPnhtbFhQYXRoTm9kZVNldFNvcnQ8L2E+ICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBzZXQpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJvb3QiPnhtbFhQYXRoUm9vdDwvYT4gICAgICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXZhbEV4cHIiPnhtbFhQYXRoRXZhbEV4cHI8L2E+ICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4qICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUGFyc2VOYW1lIj54bWxYUGF0aFBhcnNlTmFtZTwvYT4gICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+KiAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBhcnNlTkNOYW1lIj54bWxYUGF0aFBhcnNlTkNOYW1lPC9hPiAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOwo8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iZG91YmxlIj5kb3VibGU8L0dUS0RPQ0xJTks+ICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIj54bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXI8L2E+ICAgICAgICAoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqc3RyKTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCI+eG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdDwvYT4gKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHJlcyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMiPnhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnM8L2E+ICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCk7CjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldE1lcmdlIj54bWxYUGF0aE5vZGVTZXRNZXJnZTwvYT4gICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHZhbDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHZhbDIpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXREZWwiPnhtbFhQYXRoTm9kZVNldERlbDwvYT4gICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBjdXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0UmVtb3ZlIj54bWxYUGF0aE5vZGVTZXRSZW1vdmU8L2E+ICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gY3VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdmFsKTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld05vZGVTZXRMaXN0Ij54bWxYUGF0aE5ld05vZGVTZXRMaXN0PC9hPiAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gdmFsKTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBOb2RlU2V0Ij54bWxYUGF0aFdyYXBOb2RlU2V0PC9hPiAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gdmFsKTsKPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBFeHRlcm5hbCI+eG1sWFBhdGhXcmFwRXh0ZXJuYWw8L2E+ICAgICAgKHZvaWQgKnZhbCk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXF1YWxWYWx1ZXMiPnhtbFhQYXRoRXF1YWxWYWx1ZXM8L2E+ICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm90RXF1YWxWYWx1ZXMiPnhtbFhQYXRoTm90RXF1YWxWYWx1ZXM8L2E+ICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CmludCAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ29tcGFyZVZhbHVlcyI+eG1sWFBhdGhDb21wYXJlVmFsdWVzPC9hPiAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5mLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyaWN0KTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYWx1ZUZsaXBTaWduIj54bWxYUGF0aFZhbHVlRmxpcFNpZ248L2E+ICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEFkZFZhbHVlcyI+eG1sWFBhdGhBZGRWYWx1ZXM8L2E+ICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJWYWx1ZXMiPnhtbFhQYXRoU3ViVmFsdWVzPC9hPiAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTXVsdFZhbHVlcyI+eG1sWFBhdGhNdWx0VmFsdWVzPC9hPiAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXZWYWx1ZXMiPnhtbFhQYXRoRGl2VmFsdWVzPC9hPiAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTW9kVmFsdWVzIj54bWxYUGF0aE1vZFZhbHVlczwvYT4gICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aElzTm9kZVR5cGUiPnhtbFhQYXRoSXNOb2RlVHlwZTwvYT4gICAgICAgICAgICAgIChjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuYW1lKTsKPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0U2VsZiI+eG1sWFBhdGhOZXh0U2VsZjwvYT4gICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7CjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dENoaWxkIj54bWxYUGF0aE5leHRDaGlsZDwvYT4gICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTsKPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0RGVzY2VuZGFudCI+eG1sWFBhdGhOZXh0RGVzY2VuZGFudDwvYT4gICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7CjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYiPnhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGY8L2E+ICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQYXJlbnQiPnhtbFhQYXRoTmV4dFBhcmVudDwvYT4gICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZiI+eG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGY8L2E+ICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7CjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmciPnhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmc8L2E+ICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRGb2xsb3dpbmciPnhtbFhQYXRoTmV4dEZvbGxvd2luZzwvYT4gICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHROYW1lc3BhY2UiPnhtbFhQYXRoTmV4dE5hbWVzcGFjZTwvYT4gICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBdHRyaWJ1dGUiPnhtbFhQYXRoTmV4dEF0dHJpYnV0ZTwvYT4gICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmciPnhtbFhQYXRoTmV4dFByZWNlZGluZzwvYT4gICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3RvciI+eG1sWFBhdGhOZXh0QW5jZXN0b3I8L2E+ICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7CjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmciPnhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmc8L2E+ICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExhc3RGdW5jdGlvbiI+eG1sWFBhdGhMYXN0RnVuY3Rpb248L2E+ICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24iPnhtbFhQYXRoUG9zaXRpb25GdW5jdGlvbjwvYT4gICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb3VudEZ1bmN0aW9uIj54bWxYUGF0aENvdW50RnVuY3Rpb248L2E+ICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSWRGdW5jdGlvbiI+eG1sWFBhdGhJZEZ1bmN0aW9uPC9hPiAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uIj54bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uPC9hPiAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24iPnhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb248L2E+ICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT4gICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uPC9hPiAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ29uY2F0RnVuY3Rpb24iPnhtbFhQYXRoQ29uY2F0RnVuY3Rpb248L2E+ICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uIj54bWxYUGF0aENvbnRhaW5zRnVuY3Rpb248L2E+ICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uIj54bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbjwvYT4gICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+ICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbjwvYT4gKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbjwvYT4gICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT4gICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uIj54bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uPC9hPiAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm90RnVuY3Rpb24iPnhtbFhQYXRoTm90RnVuY3Rpb248L2E+ICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcnVlRnVuY3Rpb24iPnhtbFhQYXRoVHJ1ZUZ1bmN0aW9uPC9hPiAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGYWxzZUZ1bmN0aW9uIj54bWxYUGF0aEZhbHNlRnVuY3Rpb248L2E+ICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGFuZ0Z1bmN0aW9uIj54bWxYUGF0aExhbmdGdW5jdGlvbjwvYT4gICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTnVtYmVyRnVuY3Rpb24iPnhtbFhQYXRoTnVtYmVyRnVuY3Rpb248L2E+ICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdW1GdW5jdGlvbiI+eG1sWFBhdGhTdW1GdW5jdGlvbjwvYT4gICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOwp2b2lkICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZsb29yRnVuY3Rpb24iPnhtbFhQYXRoRmxvb3JGdW5jdGlvbjwvYT4gICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24iPnhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uPC9hPiAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTsKdm9pZCAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSb3VuZEZ1bmN0aW9uIj54bWxYUGF0aFJvdW5kRnVuY3Rpb248L2E+ICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQm9vbGVhbkZ1bmN0aW9uIj54bWxYUGF0aEJvb2xlYW5GdW5jdGlvbjwvYT4gICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEZyZWVOcyI+eG1sWFBhdGhOb2RlU2V0RnJlZU5zPC9hPiAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucyk7CjwvcHJlPjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+PGgyPkRlc2NyaXB0aW9uPC9oMj48cD4KCjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPjxoMj5EZXRhaWxzPC9oMj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFNldEVycm9yIj48L2E+eG1sWFBhdGhTZXRFcnJvcigpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSAgICAgeG1sWFBhdGhTZXRFcnJvcihjdHh0LCBlcnIpPC9wcmU+PHA+ClJhaXNlcyBhbiBlcnJvci48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVycjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4geG1sWFBhdGhFcnJvciBjb2RlCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoU2V0QXJpdHlFcnJvciI+PC9hPnhtbFhQYXRoU2V0QXJpdHlFcnJvcigpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSAgICAgeG1sWFBhdGhTZXRBcml0eUVycm9yKGN0eHQpPC9wcmU+PHA+ClJhaXNlcyBhbiBYUEFUSF9JTlZBTElEX0FSSVRZIGVycm9yLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoU2V0VHlwZUVycm9yIj48L2E+eG1sWFBhdGhTZXRUeXBlRXJyb3IoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgICAgIHhtbFhQYXRoU2V0VHlwZUVycm9yKGN0eHQpPC9wcmU+PHA+ClJhaXNlcyBhbiBYUEFUSF9JTlZBTElEX1RZUEUgZXJyb3IuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhHZXRFcnJvciI+PC9hPnhtbFhQYXRoR2V0RXJyb3IoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgeG1sWFBhdGhHZXRFcnJvcihjdHh0KQkgICgoY3R4dCktJmd0O2Vycm9yKQo8L3ByZT48cD4KR2V0IHRoZSBlcnJvciBjb2RlIG9mIGFuIFhQYXRoIGNvbnRleHQuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDaGVja0Vycm9yIj48L2E+eG1sWFBhdGhDaGVja0Vycm9yKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIHhtbFhQYXRoQ2hlY2tFcnJvcihjdHh0KSAgKChjdHh0KS0mZ3Q7ZXJyb3IgIT0gWFBBVEhfRVhQUkVTU0lPTl9PSykKPC9wcmU+PHA+CkNoZWNrIGlmIGFuIFhQYXRoIGVycm9yIHdhcyByYWlzZWQuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhHZXREb2N1bWVudCI+PC9hPnhtbFhQYXRoR2V0RG9jdW1lbnQoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgeG1sWFBhdGhHZXREb2N1bWVudChjdHh0KQkoKGN0eHQpLSZndDtjb250ZXh0LSZndDtkb2MpCjwvcHJlPjxwPgpHZXQgdGhlIGRvY3VtZW50IG9mIGFuIFhQYXRoIGNvbnRleHQuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhHZXRDb250ZXh0Tm9kZSI+PC9hPnhtbFhQYXRoR2V0Q29udGV4dE5vZGUoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgeG1sWFBhdGhHZXRDb250ZXh0Tm9kZShjdHh0KQkoKGN0eHQpLSZndDtjb250ZXh0LSZndDtub2RlKQo8L3ByZT48cD4KR2V0IHRoZSBjb250ZXh0IG5vZGUgb2YgYW4gWFBhdGggY29udGV4dC48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+IGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUG9wQm9vbGVhbiI+PC9hPnhtbFhQYXRoUG9wQm9vbGVhbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbFhQYXRoUG9wQm9vbGVhbiAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTs8L3ByZT48cD4KUG9wcyBhIGJvb2xlYW4gZnJvbSB0aGUgc3RhY2ssIGhhbmRsaW5nIGNvbnZlcnNpb24gaWYgbmVlZGVkLgpDaGVjayBlcnJvciB3aXRoIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ2hlY2tFcnJvciI+eG1sWFBhdGhDaGVja0Vycm9yPC9hPi48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBib29sZWFuCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUG9wTnVtYmVyIj48L2E+eG1sWFBhdGhQb3BOdW1iZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iZG91YmxlIj5kb3VibGU8L0dUS0RPQ0xJTks+ICAgICAgeG1sWFBhdGhQb3BOdW1iZXIgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOzwvcHJlPjxwPgpQb3BzIGEgbnVtYmVyIGZyb20gdGhlIHN0YWNrLCBoYW5kbGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZC4KQ2hlY2sgZXJyb3Igd2l0aCA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENoZWNrRXJyb3IiPnhtbFhQYXRoQ2hlY2tFcnJvcjwvYT4uPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUG9wU3RyaW5nIj48L2E+eG1sWFBhdGhQb3BTdHJpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+KiAgICB4bWxYUGF0aFBvcFN0cmluZyAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7PC9wcmU+PHA+ClBvcHMgYSBzdHJpbmcgZnJvbSB0aGUgc3RhY2ssIGhhbmRsaW5nIGNvbnZlcnNpb24gaWYgbmVlZGVkLgpDaGVjayBlcnJvciB3aXRoIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ2hlY2tFcnJvciI+eG1sWFBhdGhDaGVja0Vycm9yPC9hPi48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhQb3BOb2RlU2V0Ij48L2E+eG1sWFBhdGhQb3BOb2RlU2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4geG1sWFBhdGhQb3BOb2RlU2V0ICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTs8L3ByZT48cD4KUG9wcyBhIG5vZGUtc2V0IGZyb20gdGhlIHN0YWNrLCBoYW5kbGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZC4KQ2hlY2sgZXJyb3Igd2l0aCA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENoZWNrRXJyb3IiPnhtbFhQYXRoQ2hlY2tFcnJvcjwvYT4uPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZS1zZXQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhQb3BFeHRlcm5hbCI+PC9hPnhtbFhQYXRoUG9wRXh0ZXJuYWwgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkKiAgICAgICB4bWxYUGF0aFBvcEV4dGVybmFsICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7PC9wcmU+PHA+ClBvcHMgYW4gZXh0ZXJuYWwgb2JqZWN0IGZyb20gdGhlIHN0YWNrLCBoYW5kbGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZC4KQ2hlY2sgZXJyb3Igd2l0aCA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENoZWNrRXJyb3IiPnhtbFhQYXRoQ2hlY2tFcnJvcjwvYT4uPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZXR1cm5Cb29sZWFuIj48L2E+eG1sWFBhdGhSZXR1cm5Cb29sZWFuKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lICAgICB4bWxYUGF0aFJldHVybkJvb2xlYW4oY3R4dCwgdmFsKTwvcHJlPjxwPgpQdXNoZXMgdGhlIGJvb2xlYW4gPGk+PHR0PnZhbDwvdHQ+PC9pPiBvbiB0aGUgY29udGV4dCBzdGFjay48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBib29sZWFuCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmV0dXJuVHJ1ZSI+PC9hPnhtbFhQYXRoUmV0dXJuVHJ1ZSgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSB4bWxYUGF0aFJldHVyblRydWUoY3R4dCkgICB4bWxYUGF0aFJldHVybkJvb2xlYW4oKGN0eHQpLCAxKQo8L3ByZT48cD4KUHVzaGVzIHRydWUgb24gdGhlIGNvbnRleHQgc3RhY2suPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZXR1cm5GYWxzZSI+PC9hPnhtbFhQYXRoUmV0dXJuRmFsc2UoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgeG1sWFBhdGhSZXR1cm5GYWxzZShjdHh0KSAgeG1sWFBhdGhSZXR1cm5Cb29sZWFuKChjdHh0KSwgMCkKPC9wcmU+PHA+ClB1c2hlcyBmYWxzZSBvbiB0aGUgY29udGV4dCBzdGFjay48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFJldHVybk51bWJlciI+PC9hPnhtbFhQYXRoUmV0dXJuTnVtYmVyKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lICAgICB4bWxYUGF0aFJldHVybk51bWJlcihjdHh0LCB2YWwpPC9wcmU+PHA+ClB1c2hlcyB0aGUgZG91YmxlIDxpPjx0dD52YWw8L3R0PjwvaT4gb24gdGhlIGNvbnRleHQgc3RhY2suPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGEgZG91YmxlCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmV0dXJuU3RyaW5nIj48L2E+eG1sWFBhdGhSZXR1cm5TdHJpbmcoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgICAgIHhtbFhQYXRoUmV0dXJuU3RyaW5nKGN0eHQsIHN0cik8L3ByZT48cD4KUHVzaGVzIHRoZSBzdHJpbmcgPGk+PHR0PnN0cjwvdHQ+PC9pPiBvbiB0aGUgY29udGV4dCBzdGFjay48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBzdHJpbmcKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZXR1cm5FbXB0eVN0cmluZyI+PC9hPnhtbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmcoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgICAgIHhtbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmcoY3R4dCk8L3ByZT48cD4KUHVzaGVzIGFuIGVtcHR5IHN0cmluZyBvbiB0aGUgc3RhY2suPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZXR1cm5Ob2RlU2V0Ij48L2E+eG1sWFBhdGhSZXR1cm5Ob2RlU2V0KCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lICAgICB4bWxYUGF0aFJldHVybk5vZGVTZXQoY3R4dCwgbnMpPC9wcmU+PHA+ClB1c2hlcyB0aGUgbm9kZS1zZXQgPGk+PHR0Pm5zPC90dD48L2k+IG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGEgbm9kZS1zZXQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZXR1cm5FbXB0eU5vZGVTZXQiPjwvYT54bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldCgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSAgICAgeG1sWFBhdGhSZXR1cm5FbXB0eU5vZGVTZXQoY3R4dCk8L3ByZT48cD4KUHVzaGVzIGFuIGVtcHR5IG5vZGUtc2V0IG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmV0dXJuRXh0ZXJuYWwiPjwvYT54bWxYUGF0aFJldHVybkV4dGVybmFsKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lICAgICB4bWxYUGF0aFJldHVybkV4dGVybmFsKGN0eHQsIHZhbCk8L3ByZT48cD4KUHVzaGVzIHVzZXIgZGF0YSBvbiB0aGUgY29udGV4dCBzdGFjay48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdXNlciBkYXRhCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoU3RhY2tJc05vZGVTZXQiPjwvYT54bWxYUGF0aFN0YWNrSXNOb2RlU2V0KCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lICAgICB4bWxYUGF0aFN0YWNrSXNOb2RlU2V0KGN0eHQpPC9wcmU+PHA+CkNoZWNrIGlmIHRoZSBjdXJyZW50IHZhbHVlIG9uIHRoZSBYUGF0aCBzdGFjayBpcyBhIG5vZGUgc2V0IG9yCmFuIFhTTFQgdmFsdWUgdHJlZS48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+IGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoU3RhY2tJc0V4dGVybmFsIj48L2E+eG1sWFBhdGhTdGFja0lzRXh0ZXJuYWwoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgICAgIHhtbFhQYXRoU3RhY2tJc0V4dGVybmFsKGN0eHQpPC9wcmU+PHA+CkNoZWNrcyBpZiB0aGUgY3VycmVudCB2YWx1ZSBvbiB0aGUgWFBhdGggc3RhY2sgaXMgYW4gZXh0ZXJuYWwKb2JqZWN0LjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhFbXB0eU5vZGVTZXQiPjwvYT54bWxYUGF0aEVtcHR5Tm9kZVNldCgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSAgICAgeG1sWFBhdGhFbXB0eU5vZGVTZXQobnMpPC9wcmU+PHA+CkVtcHRpZXMgYSBub2RlLXNldC48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJDSEVDSy1FUlJPUi1DQVBTIj48L2E+Q0hFQ0tfRVJST1I8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lICAgICBDSEVDS19FUlJPUjwvcHJlPjxwPgpNYWNybyB0byByZXR1cm4gZnJvbSB0aGUgZnVuY3Rpb24gaWYgYW4gWFBhdGggZXJyb3Igd2FzIGRldGVjdGVkLjwvcD48cD4KCjwvcD48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iQ0hFQ0stRVJST1IwLUNBUFMiPjwvYT5DSEVDS19FUlJPUjA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lICAgICBDSEVDS19FUlJPUjA8L3ByZT48cD4KTWFjcm8gdG8gcmV0dXJuIDAgZnJvbSB0aGUgZnVuY3Rpb24gaWYgYW4gWFBhdGggZXJyb3Igd2FzIGRldGVjdGVkLjwvcD48cD4KCjwvcD48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWFAtRVJST1ItQ0FQUyI+PC9hPlhQX0VSUk9SKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lICAgICBYUF9FUlJPUihYKTwvcHJlPjxwPgpNYWNybyB0byByYWlzZSBhbiBYUGF0aCBlcnJvciBhbmQgcmV0dXJuLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Plg8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBlcnJvciBjb2RlCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhQLUVSUk9SMC1DQVBTIj48L2E+WFBfRVJST1IwKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lICAgICBYUF9FUlJPUjAoWCk8L3ByZT48cD4KTWFjcm8gdG8gcmFpc2UgYW4gWFBhdGggZXJyb3IgYW5kIHJldHVybiAwLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Plg8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBlcnJvciBjb2RlCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkNIRUNLLVRZUEUtQ0FQUyI+PC9hPkNIRUNLX1RZUEUoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgICAgIENIRUNLX1RZUEUodHlwZXZhbCk8L3ByZT48cD4KTWFjcm8gdG8gY2hlY2sgdGhhdCB0aGUgdmFsdWUgb24gdG9wIG9mIHRoZSBYUGF0aCBzdGFjayBpcyBvZiBhIGdpdmVuCnR5cGUuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZXZhbDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIHR5cGUKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iQ0hFQ0stVFlQRTAtQ0FQUyI+PC9hPkNIRUNLX1RZUEUwKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lICAgICBDSEVDS19UWVBFMCh0eXBldmFsKTwvcHJlPjxwPgpNYWNybyB0byBjaGVjayB0aGF0IHRoZSB2YWx1ZSBvbiB0b3Agb2YgdGhlIFhQYXRoIHN0YWNrIGlzIG9mIGEgZ2l2ZW4KdHlwZS4gUmV0dXJuKDApIGluIGNhc2Ugb2YgZmFpbHVyZTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGV2YWw8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCB0eXBlCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkNIRUNLLUFSSVRZLUNBUFMiPjwvYT5DSEVDS19BUklUWSgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSAgICAgQ0hFQ0tfQVJJVFkoeCk8L3ByZT48cD4KTWFjcm8gdG8gY2hlY2sgdGhhdCB0aGUgbnVtYmVyIG9mIGFyZ3MgcGFzc2VkIHRvIGFuIFhQYXRoIGZ1bmN0aW9uIG1hdGNoZXMuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+eDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG51bWJlciBvZiBleHBlY3RlZCBhcmdzCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkNBU1QtVE8tU1RSSU5HLUNBUFMiPjwvYT5DQVNUX1RPX1NUUklORzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgICAgIENBU1RfVE9fU1RSSU5HPC9wcmU+PHA+Ck1hY3JvIHRvIHRyeSB0byBjYXN0IHRoZSB2YWx1ZSBvbiB0aGUgdG9wIG9mIHRoZSBYUGF0aCBzdGFjayB0byBhIHN0cmluZy48L3A+PHA+Cgo8L3A+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkNBU1QtVE8tTlVNQkVSLUNBUFMiPjwvYT5DQVNUX1RPX05VTUJFUjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgICAgIENBU1RfVE9fTlVNQkVSPC9wcmU+PHA+Ck1hY3JvIHRvIHRyeSB0byBjYXN0IHRoZSB2YWx1ZSBvbiB0aGUgdG9wIG9mIHRoZSBYUGF0aCBzdGFjayB0byBhIG51bWJlci48L3A+PHA+Cgo8L3A+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkNBU1QtVE8tQk9PTEVBTi1DQVBTIj48L2E+Q0FTVF9UT19CT09MRUFOPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSAgICAgQ0FTVF9UT19CT09MRUFOPC9wcmU+PHA+Ck1hY3JvIHRvIHRyeSB0byBjYXN0IHRoZSB2YWx1ZSBvbiB0aGUgdG9wIG9mIHRoZSBYUGF0aCBzdGFjayB0byBhIGJvb2xlYW4uPC9wPjxwPgoKPC9wPjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYyI+PC9hPnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiAoKnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICpjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuc191cmkpOzwvcHJlPjxwPgpQcm90b3R5cGUgZm9yIGNhbGxiYWNrcyB1c2VkIHRvIHBsdWcgdmFyaWFibGUgbG9va3VwIGluIHRoZSBYUGF0aAplbmdpbmUuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gWFBhdGggY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIG5hbWUgb2YgdGhlIHZhcmlhYmxlCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnNfdXJpPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbmFtZXNwYWNlIG5hbWUgaG9zdGluZyB0aGlzIHZhcmlhYmxlCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIG9iamVjdCB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZC4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwIj48L2E+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jIj54bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYzwvYT4gZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSk7PC9wcmU+PHA+CnJlZ2lzdGVyIGFuIGV4dGVybmFsIG1lY2hhbmlzbSB0byBkbyB2YXJpYWJsZSBsb29rdXA8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBsb29rdXAgZnVuY3Rpb24KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbG9va3VwIGRhdGEKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhGdW5jTG9va3VwRnVuYyI+PC9hPnhtbFhQYXRoRnVuY0xvb2t1cEZ1bmMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPiAoKnhtbFhQYXRoRnVuY0xvb2t1cEZ1bmMpICAodm9pZCAqY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqbnNfdXJpKTs8L3ByZT48cD4KUHJvdG90eXBlIGZvciBjYWxsYmFja3MgdXNlZCB0byBwbHVnIGZ1bmN0aW9uIGxvb2t1cCBpbiB0aGUgWFBhdGgKZW5naW5lLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGFuIFhQYXRoIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBuYW1lIG9mIHRoZSBmdW5jdGlvbgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zX3VyaTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG5hbWVzcGFjZSBuYW1lIGhvc3RpbmcgdGhpcyBmdW5jdGlvbgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBmdW5jdGlvbiBvciBOVUxMIGlmIG5vdCBmb3VuZC4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAiPjwvYT54bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIj54bWxYUGF0aEZ1bmNMb29rdXBGdW5jPC9hPiBmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpmdW5jQ3R4dCk7PC9wcmU+PHA+ClJlZ2lzdGVycyBhbiBleHRlcm5hbCBtZWNoYW5pc20gdG8gZG8gZnVuY3Rpb24gbG9va3VwLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGxvb2t1cCBmdW5jdGlvbgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bmNDdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbG9va3VwIGRhdGEKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhlcnJvciI+PC9hPnhtbFhQYXRoZXJyb3IgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aGVycm9yICAgICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxpbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBubyk7PC9wcmU+PHA+CkZvcm1hdHMgYW4gZXJyb3IgbWVzc2FnZS48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgZmlsZSBuYW1lCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGluZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGxpbmUgbnVtYmVyCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm88L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBlcnJvciBudW1iZXIKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QiPjwvYT54bWxYUGF0aERlYnVnRHVtcE9iamVjdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoRGVidWdEdW1wT2JqZWN0ICAgICAgICAgKDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJGSUxFLUNBUFMiPkZJTEU8L0dUS0RPQ0xJTks+ICpvdXRwdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gY3VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGVwdGgpOzwvcHJlPjxwPgpEdW1wIHRoZSBjb250ZW50IG9mIHRoZSBvYmplY3QgZm9yIGRlYnVnZ2luZyBwdXJwb3NlczwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIEZJTEUgKiB0byBkdW1wIHRoZSBvdXRwdXQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBvYmplY3QgdG8gaW5zcGVjdAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlcHRoPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBpbmRlbnRhdGlvbiBsZXZlbAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByIj48L2E+eG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIgICAgICAgKDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJGSUxFLUNBUFMiPkZJTEU8L0dUS0RPQ0xJTks+ICpvdXRwdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2E+IGNvbXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkZXB0aCk7PC9wcmU+PHA+CkR1bXBzIHRoZSB0cmVlIG9mIHRoZSBjb21waWxlZCBYUGF0aCBleHByZXNzaW9uLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXA8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBwcmVjb21waWxlZCBYUGF0aCBleHByZXNzaW9uCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGVwdGg8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBpbmRlbnRhdGlvbiBsZXZlbC4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlU2V0Q29udGFpbnMiPjwvYT54bWxYUGF0aE5vZGVTZXRDb250YWlucyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbFhQYXRoTm9kZVNldENvbnRhaW5zICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpOzwvcHJlPjxwPgpjaGVja3Mgd2hldGhlciA8aT48dHQ+Y3VyPC90dD48L2k+IGNvbnRhaW5zIDxpPjx0dD52YWw8L3R0PjwvaT48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBub2RlLXNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG5vZGUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50cnVlICgxKSBpZiA8aT48dHQ+Y3VyPC90dD48L2k+IGNvbnRhaW5zIDxpPjx0dD52YWw8L3R0PjwvaT4sIGZhbHNlICgwKSBvdGhlcndpc2UKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhEaWZmZXJlbmNlIj48L2E+eG1sWFBhdGhEaWZmZXJlbmNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4geG1sWFBhdGhEaWZmZXJlbmNlICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMyKTs8L3ByZT48cD4KSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJkaWZmZXJlbmNlIj5kaWZmZXJlbmNlPC9HVEtET0NMSU5LPigpIGZ1bmN0aW9uOgogICBub2RlLXNldCBzZXQ6ZGlmZmVyZW5jZSAobm9kZS1zZXQsIG5vZGUtc2V0KTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3byBub2RlIHNldHMsIG9yIG5vZGVzMSBpZgogICAgICAgIG5vZGVzMiBpcyBlbXB0eQo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEludGVyc2VjdGlvbiI+PC9hPnhtbFhQYXRoSW50ZXJzZWN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4geG1sWFBhdGhJbnRlcnNlY3Rpb24gICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMyKTs8L3ByZT48cD4KSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJpbnRlcnNlY3Rpb24iPmludGVyc2VjdGlvbjwvR1RLRE9DTElOSz4oKSBmdW5jdGlvbjoKICAgbm9kZS1zZXQgc2V0OmludGVyc2VjdGlvbiAobm9kZS1zZXQsIG5vZGUtc2V0KTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBzZXQgY29tcHJpc2luZyB0aGUgbm9kZXMgdGhhdCBhcmUgd2l0aGluIGJvdGggdGhlCiAgICAgICAgbm9kZSBzZXRzIHBhc3NlZCBhcyBhcmd1bWVudHMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhEaXN0aW5jdFNvcnRlZCI+PC9hPnhtbFhQYXRoRGlzdGluY3RTb3J0ZWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiB4bWxYUGF0aERpc3RpbmN0U29ydGVkICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMpOzwvcHJlPjxwPgpJbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9ImRpc3RpbmN0Ij5kaXN0aW5jdDwvR1RLRE9DTElOSz4oKSBmdW5jdGlvbjoKICAgbm9kZS1zZXQgc2V0OmRpc3RpbmN0IChub2RlLXNldCk8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+YSBzdWJzZXQgb2YgdGhlIG5vZGVzIGNvbnRhaW5lZCBpbiA8aT48dHQ+bm9kZXM8L3R0PjwvaT4sIG9yIDxpPjx0dD5ub2RlczwvdHQ+PC9pPiBpZgogICAgICAgIGl0IGlzIGVtcHR5CjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRGlzdGluY3QiPjwvYT54bWxYUGF0aERpc3RpbmN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4geG1sWFBhdGhEaXN0aW5jdCAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzKTs8L3ByZT48cD4KSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJkaXN0aW5jdCI+ZGlzdGluY3Q8L0dUS0RPQ0xJTks+KCkgZnVuY3Rpb246CiAgIG5vZGUtc2V0IHNldDpkaXN0aW5jdCAobm9kZS1zZXQpCjxpPjx0dD5ub2RlczwvdHQ+PC9pPiBpcyBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXIsIHRoZW4gPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9ImV4c2xTZXRzRGlzdGluY3RTb3J0ZWQiPmV4c2xTZXRzRGlzdGluY3RTb3J0ZWQ8L0dUS0RPQ0xJTks+CmlzIGNhbGxlZCB3aXRoIHRoZSBzb3J0ZWQgbm9kZS1zZXQ8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPmEgc3Vic2V0IG9mIHRoZSBub2RlcyBjb250YWluZWQgaW4gPGk+PHR0Pm5vZGVzPC90dD48L2k+LCBvciA8aT48dHQ+bm9kZXM8L3R0PjwvaT4gaWYKICAgICAgICBpdCBpcyBlbXB0eQo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEhhc1NhbWVOb2RlcyI+PC9hPnhtbFhQYXRoSGFzU2FtZU5vZGVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sWFBhdGhIYXNTYW1lTm9kZXMgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpOzwvcHJlPjxwPgpJbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgaGFzLXNhbWUtbm9kZXMgZnVuY3Rpb246CiAgIGJvb2xlYW4gc2V0Omhhcy1zYW1lLW5vZGUobm9kZS1zZXQsIG5vZGUtc2V0KTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRydWUgKDEpIGlmIDxpPjx0dD5ub2RlczE8L3R0PjwvaT4gc2hhcmVzIGFueSBub2RlIHdpdGggPGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPiwgZmFsc2UgKDApCiAgICAgICAgb3RoZXJ3aXNlCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQiPjwvYT54bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4geG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpOzwvcHJlPjxwPgpJbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9ImxlYWRpbmciPmxlYWRpbmc8L0dUS0RPQ0xJTks+KCkgZnVuY3Rpb246CiAgIG5vZGUtc2V0IHNldDpsZWFkaW5nIChub2RlLXNldCwgbm9kZS1zZXQpPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXM8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiBhIG5vZGUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZXMgaW4gPGk+PHR0Pm5vZGVzPC90dD48L2k+IHRoYXQgcHJlY2VkZSA8aT48dHQ+bm9kZTwvdHQ+PC9pPiBpbiBkb2N1bWVudCBvcmRlciwKICAgICAgICA8aT48dHQ+bm9kZXM8L3R0PjwvaT4gaWYgPGk+PHR0Pm5vZGU8L3R0PjwvaT4gaXMgTlVMTCBvciBhbiBlbXB0eSBub2RlLXNldCBpZiA8aT48dHQ+bm9kZXM8L3R0PjwvaT4KICAgICAgICBkb2Vzbid0IGNvbnRhaW4gPGk+PHR0Pm5vZGU8L3R0PjwvaT4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhMZWFkaW5nU29ydGVkIj48L2E+eG1sWFBhdGhMZWFkaW5nU29ydGVkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4geG1sWFBhdGhMZWFkaW5nU29ydGVkICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMyKTs8L3ByZT48cD4KSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJsZWFkaW5nIj5sZWFkaW5nPC9HVEtET0NMSU5LPigpIGZ1bmN0aW9uOgogICBub2RlLXNldCBzZXQ6bGVhZGluZyAobm9kZS1zZXQsIG5vZGUtc2V0KTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXMyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhIG5vZGUtc2V0LCBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXIKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZXMgaW4gPGk+PHR0Pm5vZGVzMTwvdHQ+PC9pPiB0aGF0IHByZWNlZGUgdGhlIGZpcnN0IG5vZGUgaW4gPGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPgogICAgICAgIGluIGRvY3VtZW50IG9yZGVyLCA8aT48dHQ+bm9kZXMxPC90dD48L2k+IGlmIDxpPjx0dD5ub2RlczI8L3R0PjwvaT4gaXMgTlVMTCBvciBlbXB0eSBvcgogICAgICAgIGFuIGVtcHR5IG5vZGUtc2V0IGlmIDxpPjx0dD5ub2RlczE8L3R0PjwvaT4gZG9lc24ndCBjb250YWluIDxpPjx0dD5ub2RlczI8L3R0PjwvaT4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlTGVhZGluZyI+PC9hPnhtbFhQYXRoTm9kZUxlYWRpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiB4bWxYUGF0aE5vZGVMZWFkaW5nICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk7PC9wcmU+PHA+CkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ibGVhZGluZyI+bGVhZGluZzwvR1RLRE9DTElOSz4oKSBmdW5jdGlvbjoKICAgbm9kZS1zZXQgc2V0OmxlYWRpbmcgKG5vZGUtc2V0LCBub2RlLXNldCkKPGk+PHR0Pm5vZGVzPC90dD48L2k+IGlzIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciwgdGhlbiA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iZXhzbFNldHNOb2RlTGVhZGluZ1NvcnRlZCI+ZXhzbFNldHNOb2RlTGVhZGluZ1NvcnRlZDwvR1RLRE9DTElOSz4KaXMgY2FsbGVkLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhIG5vZGUtc2V0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIGluIDxpPjx0dD5ub2RlczwvdHQ+PC9pPiB0aGF0IHByZWNlZGUgPGk+PHR0Pm5vZGU8L3R0PjwvaT4gaW4gZG9jdW1lbnQgb3JkZXIsCiAgICAgICAgPGk+PHR0Pm5vZGVzPC90dD48L2k+IGlmIDxpPjx0dD5ub2RlPC90dD48L2k+IGlzIE5VTEwgb3IgYW4gZW1wdHkgbm9kZS1zZXQgaWYgPGk+PHR0Pm5vZGVzPC90dD48L2k+CiAgICAgICAgZG9lc24ndCBjb250YWluIDxpPjx0dD5ub2RlPC90dD48L2k+CjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTGVhZGluZyI+PC9hPnhtbFhQYXRoTGVhZGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHhtbFhQYXRoTGVhZGluZyAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik7PC9wcmU+PHA+CkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ibGVhZGluZyI+bGVhZGluZzwvR1RLRE9DTElOSz4oKSBmdW5jdGlvbjoKICAgbm9kZS1zZXQgc2V0OmxlYWRpbmcgKG5vZGUtc2V0LCBub2RlLXNldCkKPGk+PHR0Pm5vZGVzMTwvdHQ+PC9pPiBhbmQgPGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPiBhcmUgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyLCB0aGVuCjxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJleHNsU2V0c0xlYWRpbmdTb3J0ZWQiPmV4c2xTZXRzTGVhZGluZ1NvcnRlZDwvR1RLRE9DTElOSz4gaXMgY2FsbGVkLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlcyBpbiA8aT48dHQ+bm9kZXMxPC90dD48L2k+IHRoYXQgcHJlY2VkZSB0aGUgZmlyc3Qgbm9kZSBpbiA8aT48dHQ+bm9kZXMyPC90dD48L2k+CiAgICAgICAgaW4gZG9jdW1lbnQgb3JkZXIsIDxpPjx0dD5ub2RlczE8L3R0PjwvaT4gaWYgPGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPiBpcyBOVUxMIG9yIGVtcHR5IG9yCiAgICAgICAgYW4gZW1wdHkgbm9kZS1zZXQgaWYgPGk+PHR0Pm5vZGVzMTwvdHQ+PC9pPiBkb2Vzbid0IGNvbnRhaW4gPGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCI+PC9hPnhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4geG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpOzwvcHJlPjxwPgpJbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9InRyYWlsaW5nIj50cmFpbGluZzwvR1RLRE9DTElOSz4oKSBmdW5jdGlvbjoKICAgbm9kZS1zZXQgc2V0OnRyYWlsaW5nIChub2RlLXNldCwgbm9kZS1zZXQpPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXM8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiBhIG5vZGUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZXMgaW4gPGk+PHR0Pm5vZGVzPC90dD48L2k+IHRoYXQgZm9sbG93IDxpPjx0dD5ub2RlPC90dD48L2k+IGluIGRvY3VtZW50IG9yZGVyLAogICAgICAgIDxpPjx0dD5ub2RlczwvdHQ+PC9pPiBpZiA8aT48dHQ+bm9kZTwvdHQ+PC9pPiBpcyBOVUxMIG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIDxpPjx0dD5ub2RlczwvdHQ+PC9pPgogICAgICAgIGRvZXNuJ3QgY29udGFpbiA8aT48dHQ+bm9kZTwvdHQ+PC9pPgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFRyYWlsaW5nU29ydGVkIj48L2E+eG1sWFBhdGhUcmFpbGluZ1NvcnRlZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik7PC9wcmU+PHA+CkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0idHJhaWxpbmciPnRyYWlsaW5nPC9HVEtET0NMSU5LPigpIGZ1bmN0aW9uOgogICBub2RlLXNldCBzZXQ6dHJhaWxpbmcgKG5vZGUtc2V0LCBub2RlLXNldCk8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczE8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGEgbm9kZS1zZXQsIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlcgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIGluIDxpPjx0dD5ub2RlczE8L3R0PjwvaT4gdGhhdCBmb2xsb3cgdGhlIGZpcnN0IG5vZGUgaW4gPGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPgogICAgICAgIGluIGRvY3VtZW50IG9yZGVyLCA8aT48dHQ+bm9kZXMxPC90dD48L2k+IGlmIDxpPjx0dD5ub2RlczI8L3R0PjwvaT4gaXMgTlVMTCBvciBlbXB0eSBvcgogICAgICAgIGFuIGVtcHR5IG5vZGUtc2V0IGlmIDxpPjx0dD5ub2RlczE8L3R0PjwvaT4gZG9lc24ndCBjb250YWluIDxpPjx0dD5ub2RlczI8L3R0PjwvaT4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlVHJhaWxpbmciPjwvYT54bWxYUGF0aE5vZGVUcmFpbGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHhtbFhQYXRoTm9kZVRyYWlsaW5nICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTs8L3ByZT48cD4KSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJ0cmFpbGluZyI+dHJhaWxpbmc8L0dUS0RPQ0xJTks+KCkgZnVuY3Rpb246CiAgIG5vZGUtc2V0IHNldDp0cmFpbGluZyAobm9kZS1zZXQsIG5vZGUtc2V0KQo8aT48dHQ+bm9kZXM8L3R0PjwvaT4gaXMgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyLCB0aGVuIDxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIj54bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDwvYT4KaXMgY2FsbGVkLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhIG5vZGUtc2V0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBub2RlCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIGluIDxpPjx0dD5ub2RlczwvdHQ+PC9pPiB0aGF0IGZvbGxvdyA8aT48dHQ+bm9kZTwvdHQ+PC9pPiBpbiBkb2N1bWVudCBvcmRlciwKICAgICAgICA8aT48dHQ+bm9kZXM8L3R0PjwvaT4gaWYgPGk+PHR0Pm5vZGU8L3R0PjwvaT4gaXMgTlVMTCBvciBhbiBlbXB0eSBub2RlLXNldCBpZiA8aT48dHQ+bm9kZXM8L3R0PjwvaT4KICAgICAgICBkb2Vzbid0IGNvbnRhaW4gPGk+PHR0Pm5vZGU8L3R0PjwvaT4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhUcmFpbGluZyI+PC9hPnhtbFhQYXRoVHJhaWxpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiB4bWxYUGF0aFRyYWlsaW5nICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpOzwvcHJlPjxwPgpJbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9InRyYWlsaW5nIj50cmFpbGluZzwvR1RLRE9DTElOSz4oKSBmdW5jdGlvbjoKICAgbm9kZS1zZXQgc2V0OnRyYWlsaW5nIChub2RlLXNldCwgbm9kZS1zZXQpCjxpPjx0dD5ub2RlczE8L3R0PjwvaT4gYW5kIDxpPjx0dD5ub2RlczI8L3R0PjwvaT4gYXJlIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciwgdGhlbgo8YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYWlsaW5nU29ydGVkIj54bWxYUGF0aFRyYWlsaW5nU29ydGVkPC9hPiBpcyBjYWxsZWQuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXMxPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhIG5vZGUtc2V0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXMyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBhIG5vZGUtc2V0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIGluIDxpPjx0dD5ub2RlczE8L3R0PjwvaT4gdGhhdCBmb2xsb3cgdGhlIGZpcnN0IG5vZGUgaW4gPGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPgogICAgICAgIGluIGRvY3VtZW50IG9yZGVyLCA8aT48dHQ+bm9kZXMxPC90dD48L2k+IGlmIDxpPjx0dD5ub2RlczI8L3R0PjwvaT4gaXMgTlVMTCBvciBlbXB0eSBvcgogICAgICAgIGFuIGVtcHR5IG5vZGUtc2V0IGlmIDxpPjx0dD5ub2RlczE8L3R0PjwvaT4gZG9lc24ndCBjb250YWluIDxpPjx0dD5ub2RlczI8L3R0PjwvaT4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZWdpc3Rlck5zIj48L2E+eG1sWFBhdGhSZWdpc3Rlck5zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sWFBhdGhSZWdpc3Rlck5zICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKnByZWZpeCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqbnNfdXJpKTs8L3ByZT48cD4KUmVnaXN0ZXIgYSBuZXcgbmFtZXNwYWNlLiBJZiA8aT48dHQ+bnNfdXJpPC90dD48L2k+IGlzIE5VTEwgaXQgdW5yZWdpc3RlcnMKdGhlIG5hbWVzcGFjZTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbmFtZXNwYWNlIHByZWZpeAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zX3VyaTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG5hbWVzcGFjZSBuYW1lCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOc0xvb2t1cCI+PC9hPnhtbFhQYXRoTnNMb29rdXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+KiB4bWxYUGF0aE5zTG9va3VwICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqcHJlZml4KTs8L3ByZT48cD4KU2VhcmNoIGluIHRoZSBuYW1lc3BhY2UgZGVjbGFyYXRpb24gYXJyYXkgb2YgdGhlIGNvbnRleHQgZm9yIHRoZSBnaXZlbgpuYW1lc3BhY2UgbmFtZSBhc3NvY2lhdGVkIHRvIHRoZSBnaXZlbiBwcmVmaXg8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG5hbWVzcGFjZSBwcmVmaXggdmFsdWUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgb3IgTlVMTCBpZiBub3QgZm91bmQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwIj48L2E+eG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpOzwvcHJlPjxwPgpDbGVhbnVwIHRoZSBYUGF0aCBjb250ZXh0IGRhdGEgYXNzb2NpYXRlZCB0byByZWdpc3RlcmVkIHZhcmlhYmxlczwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBjb250ZXh0CjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJGdW5jIj48L2E+eG1sWFBhdGhSZWdpc3RlckZ1bmMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiI+eG1sWFBhdGhGdW5jdGlvbjwvYT4gZik7PC9wcmU+PHA+ClJlZ2lzdGVyIGEgbmV3IGZ1bmN0aW9uLiBJZiA8aT48dHQ+ZjwvdHQ+PC9pPiBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzIHRoZSBmdW5jdGlvbjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGZ1bmN0aW9uIG5hbWUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gb3IgTlVMTAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJGdW5jTlMiPjwvYT54bWxYUGF0aFJlZ2lzdGVyRnVuY05TICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmNOUyAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5zX3VyaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiI+eG1sWFBhdGhGdW5jdGlvbjwvYT4gZik7PC9wcmU+PHA+ClJlZ2lzdGVyIGEgbmV3IGZ1bmN0aW9uLiBJZiA8aT48dHQ+ZjwvdHQ+PC9pPiBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzIHRoZSBmdW5jdGlvbjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGZ1bmN0aW9uIG5hbWUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uc191cmk8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBmdW5jdGlvbiBuYW1lc3BhY2UgVVJJCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uIG9yIE5VTEwKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUiPjwvYT54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWx1ZSk7PC9wcmU+PHA+ClJlZ2lzdGVyIGEgbmV3IHZhcmlhYmxlIHZhbHVlLiBJZiA8aT48dHQ+dmFsdWU8L3R0PjwvaT4gaXMgTlVMTCBpdCB1bnJlZ2lzdGVycwp0aGUgdmFyaWFibGU8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSB2YXJpYWJsZSBuYW1lCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSB2YXJpYWJsZSB2YWx1ZSBvciBOVUxMCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlMiPjwvYT54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuc191cmksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsdWUpOzwvcHJlPjxwPgpSZWdpc3RlciBhIG5ldyB2YXJpYWJsZSB2YWx1ZS4gSWYgPGk+PHR0PnZhbHVlPC90dD48L2k+IGlzIE5VTEwgaXQgdW5yZWdpc3RlcnMKdGhlIHZhcmlhYmxlPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgdmFyaWFibGUgbmFtZQo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zX3VyaTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIHZhcmlhYmxlIG5hbWVzcGFjZSBVUkkKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIHZhcmlhYmxlIHZhbHVlIG9yIE5VTEwKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZ1bmN0aW9uTG9va3VwIj48L2E+eG1sWFBhdGhGdW5jdGlvbkxvb2t1cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+IHhtbFhQYXRoRnVuY3Rpb25Mb29rdXAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqbmFtZSk7PC9wcmU+PHA+ClNlYXJjaCBpbiB0aGUgRnVuY3Rpb24gYXJyYXkgb2YgdGhlIGNvbnRleHQgZm9yIHRoZSBnaXZlbgpmdW5jdGlvbi48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBmdW5jdGlvbiBuYW1lCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIHhtbFhQYXRoRnVuY3Rpb24gb3IgTlVMTCBpZiBub3QgZm91bmQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TIj48L2E+eG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiI+eG1sWFBhdGhGdW5jdGlvbjwvYT4geG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuc191cmkpOzwvcHJlPjxwPgpTZWFyY2ggaW4gdGhlIEZ1bmN0aW9uIGFycmF5IG9mIHRoZSBjb250ZXh0IGZvciB0aGUgZ2l2ZW4KZnVuY3Rpb24uPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgZnVuY3Rpb24gbmFtZQo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zX3VyaTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGZ1bmN0aW9uIG5hbWVzcGFjZSBVUkkKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgeG1sWFBhdGhGdW5jdGlvbiBvciBOVUxMIGlmIG5vdCBmb3VuZAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAiPjwvYT54bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCk7PC9wcmU+PHA+CkNsZWFudXAgdGhlIFhQYXRoIGNvbnRleHQgZGF0YSBhc3NvY2lhdGVkIHRvIHJlZ2lzdGVyZWQgZnVuY3Rpb25zPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIGNvbnRleHQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhWYXJpYWJsZUxvb2t1cCI+PC9hPnhtbFhQYXRoVmFyaWFibGVMb29rdXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHhtbFhQYXRoVmFyaWFibGVMb29rdXAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpuYW1lKTs8L3ByZT48cD4KU2VhcmNoIGluIHRoZSBWYXJpYWJsZSBhcnJheSBvZiB0aGUgY29udGV4dCBmb3IgdGhlIGdpdmVuCnZhcmlhYmxlIHZhbHVlLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIHZhcmlhYmxlIG5hbWUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD5hIGNvcHkgb2YgdGhlIHZhbHVlIG9yIE5VTEwgaWYgbm90IGZvdW5kCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoVmFyaWFibGVMb29rdXBOUyI+PC9hPnhtbFhQYXRoVmFyaWFibGVMb29rdXBOUyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4geG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5zX3VyaSk7PC9wcmU+PHA+ClNlYXJjaCBpbiB0aGUgVmFyaWFibGUgYXJyYXkgb2YgdGhlIGNvbnRleHQgZm9yIHRoZSBnaXZlbgp2YXJpYWJsZSB2YWx1ZS48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSB2YXJpYWJsZSBuYW1lCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnNfdXJpPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgdmFyaWFibGUgbmFtZXNwYWNlIFVSSQo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBhIGNvcHkgb2YgdGhlIHZhbHVlIG9yIE5VTEwgaWYgbm90IGZvdW5kCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAiPjwvYT54bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCk7PC9wcmU+PHA+CkNsZWFudXAgdGhlIFhQYXRoIGNvbnRleHQgZGF0YSBhc3NvY2lhdGVkIHRvIHJlZ2lzdGVyZWQgdmFyaWFibGVzPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIGNvbnRleHQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0Ij48L2E+eG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IHhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpzdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTs8L3ByZT48cD4KQ3JlYXRlIGEgbmV3IHhtbFhQYXRoUGFyc2VyQ29udGV4dDwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIGV4cHJlc3Npb24KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSB4bWxYUGF0aFBhcnNlckNvbnRleHQganVzdCBhbGxvY2F0ZWQuCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRnJlZVBhcnNlckNvbnRleHQiPjwvYT54bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dCAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOzwvcHJlPjxwPgpGcmVlIHVwIGFuIHhtbFhQYXRoUGFyc2VyQ29udGV4dDwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBjb250ZXh0IHRvIGZyZWUKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0idmFsdWVQb3AiPjwvYT52YWx1ZVBvcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsdWVQb3AgICAgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOzwvcHJlPjxwPgpQb3BzIHRoZSB0b3AgWFBhdGggb2JqZWN0IGZyb20gdGhlIHZhbHVlIHN0YWNrPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiBhbiBYUGF0aCBldmFsdWF0aW9uIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggb2JqZWN0IGp1c3QgcmVtb3ZlZAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ2YWx1ZVB1c2giPjwvYT52YWx1ZVB1c2ggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgICAgICAgICB2YWx1ZVB1c2ggICAgICAgICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWx1ZSk7PC9wcmU+PHA+ClB1c2hlcyBhIG5ldyBYUGF0aCBvYmplY3Qgb24gdG9wIG9mIHRoZSB2YWx1ZSBzdGFjazwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGFuIFhQYXRoIGV2YWx1YXRpb24gY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggb2JqZWN0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBpdGVtcyBvbiB0aGUgdmFsdWUgc3RhY2sKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXdTdHJpbmciPjwvYT54bWxYUGF0aE5ld1N0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4geG1sWFBhdGhOZXdTdHJpbmcgICAgICAgICAoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqdmFsKTs8L3ByZT48cD4KQ3JlYXRlIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgc3RyaW5nIGFuZCBvZiB2YWx1ZSA8aT48dHQ+dmFsPC90dD48L2k+PC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgeG1sQ2hhciAqIHZhbHVlCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0Lgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5ld0NTdHJpbmciPjwvYT54bWxYUGF0aE5ld0NTdHJpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHhtbFhQYXRoTmV3Q1N0cmluZyAgICAgICAgKGNvbnN0IGNoYXIgKnZhbCk7PC9wcmU+PHA+CkNyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIHN0cmluZyBhbmQgb2YgdmFsdWUgPGk+PHR0PnZhbDwvdHQ+PC9pPjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGNoYXIgKiB2YWx1ZQo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhXcmFwU3RyaW5nIj48L2E+eG1sWFBhdGhXcmFwU3RyaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB4bWxYUGF0aFdyYXBTdHJpbmcgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICp2YWwpOzwvcHJlPjxwPgpXcmFwcyB0aGUgPGk+PHR0PnZhbDwvdHQ+PC9pPiBzdHJpbmcgaW50byBhbiBYUGF0aCBvYmplY3QuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgeG1sQ2hhciAqIHZhbHVlCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0Lgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFdyYXBDU3RyaW5nIj48L2E+eG1sWFBhdGhXcmFwQ1N0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4geG1sWFBhdGhXcmFwQ1N0cmluZyAgICAgICAoY2hhciAqdmFsKTs8L3ByZT48cD4KV3JhcHMgYSBzdHJpbmcgaW50byBhbiBYUGF0aCBvYmplY3QuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgY2hhciAqIHZhbHVlCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0Lgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5ld0Zsb2F0Ij48L2E+eG1sWFBhdGhOZXdGbG9hdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4geG1sWFBhdGhOZXdGbG9hdCAgICAgICAgICAoPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9ImRvdWJsZSI+ZG91YmxlPC9HVEtET0NMSU5LPiB2YWwpOzwvcHJlPjxwPgpDcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSBkb3VibGUgYW5kIG9mIHZhbHVlIDxpPjx0dD52YWw8L3R0PjwvaT48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBkb3VibGUgdmFsdWUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV3Qm9vbGVhbiI+PC9hPnhtbFhQYXRoTmV3Qm9vbGVhbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4geG1sWFBhdGhOZXdCb29sZWFuICAgICAgICAoaW50IHZhbCk7PC9wcmU+PHA+CkNyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIGJvb2xlYW4gYW5kIG9mIHZhbHVlIDxpPjx0dD52YWw8L3R0PjwvaT48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBib29sZWFuIHZhbHVlCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0Lgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5ld05vZGVTZXQiPjwvYT54bWxYUGF0aE5ld05vZGVTZXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHhtbFhQYXRoTmV3Tm9kZVNldCAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTs8L3ByZT48cD4KQ3JlYXRlIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgTm9kZVNldCBhbmQgaW5pdGlhbGl6ZQppdCB3aXRoIHRoZSBzaW5nbGUgTm9kZSA8aT48dHQ+dmFsPC90dD48L2k+PC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgTm9kZVB0ciB2YWx1ZQo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXdWYWx1ZVRyZWUiPjwvYT54bWxYUGF0aE5ld1ZhbHVlVHJlZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4geG1sWFBhdGhOZXdWYWx1ZVRyZWUgICAgICAoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpOzwvcHJlPjxwPgpDcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSBWYWx1ZSBUcmVlIChYU0xUKSBhbmQgaW5pdGlhbGl6ZQppdCB3aXRoIHRoZSB0cmVlIHJvb3QgPGk+PHR0PnZhbDwvdHQ+PC9pPjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIE5vZGVQdHIgdmFsdWUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldEFkZCI+PC9hPnhtbFhQYXRoTm9kZVNldEFkZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoTm9kZVNldEFkZCAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpOzwvcHJlPjxwPgphZGQgYSBuZXcgeG1sTm9kZVB0ciB0byBhbiBleGlzdGluZyBOb2RlU2V0PC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgaW5pdGlhbCBub2RlIHNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBuZXcgeG1sTm9kZVB0cgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUiPjwvYT54bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBjdXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTs8L3ByZT48cD4KYWRkIGEgbmV3IHhtbE5vZGVQdHIgdG8gYW4gZXhpc3RpbmcgTm9kZVNldCwgb3B0aW1pemVkIHZlcnNpb24Kd2hlbiB3ZSBhcmUgc3VyZSB0aGUgbm9kZSBpcyBub3QgYWxyZWFkeSBpbiB0aGUgc2V0LjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGluaXRpYWwgbm9kZSBzZXQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGEgbmV3IHhtbE5vZGVQdHIKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlU2V0QWRkTnMiPjwvYT54bWxYUGF0aE5vZGVTZXRBZGROcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoTm9kZVNldEFkZE5zICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMpOzwvcHJlPjxwPgphZGQgYSBuZXcgbmFtZXNwYWNlIG5vZGUgdG8gYW4gZXhpc3RpbmcgTm9kZVNldDwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGluaXRpYWwgbm9kZSBzZXQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgaG9zdGluZyBub2RlCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGEgdGhlIG5hbWVzcGFjZSBub2RlCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldFNvcnQiPjwvYT54bWxYUGF0aE5vZGVTZXRTb3J0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhOb2RlU2V0U29ydCAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gc2V0KTs8L3ByZT48cD4KU29ydCB0aGUgbm9kZSBzZXQgaW4gZG9jdW1lbnQgb3JkZXI8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZXQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBub2RlIHNldAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFJvb3QiPjwvYT54bWxYUGF0aFJvb3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aFJvb3QgICAgICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7PC9wcmU+PHA+CkluaXRpYWxpemUgdGhlIGNvbnRleHQgdG8gdGhlIHJvb3Qgb2YgdGhlIGRvY3VtZW50PC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRXZhbEV4cHIiPjwvYT54bWxYUGF0aEV2YWxFeHByICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhFdmFsRXhwciAgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOzwvcHJlPjxwPgpQYXJzZSBhbmQgZXZhbHVhdGUgYW4gWFBhdGggZXhwcmVzc2lvbiBpbiB0aGUgZ2l2ZW4gY29udGV4dCwKdGhlbiBwdXNoIHRoZSByZXN1bHQgb24gdGhlIGNvbnRleHQgc3RhY2s8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhQYXJzZU5hbWUiPjwvYT54bWxYUGF0aFBhcnNlTmFtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4qICAgIHhtbFhQYXRoUGFyc2VOYW1lICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTs8L3ByZT48cD4KcGFyc2UgYW4gWE1MIG5hbWUKPC9wPjxwPgpbNF0gTmFtZUNoYXIgOjo9IExldHRlciB8IERpZ2l0IHwgJy4nIHwgJy0nIHwgJ18nIHwgJzonIHwKICAgICAgICAgICAgICAgICBDb21iaW5pbmdDaGFyIHwgRXh0ZW5kZXIKPC9wPjxwPgpbNV0gTmFtZSA6Oj0gKExldHRlciB8ICdfJyB8ICc6JykgKE5hbWVDaGFyKSo8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIG5hbWUgb3IgTlVMTAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFBhcnNlTkNOYW1lIj48L2E+eG1sWFBhdGhQYXJzZU5DTmFtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4qICAgIHhtbFhQYXRoUGFyc2VOQ05hbWUgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTs8L3ByZT48cD4KcGFyc2UgYW4gWE1MIG5hbWVzcGFjZSBub24gcXVhbGlmaWVkIG5hbWUuCjwvcD48cD4KW05TIDNdIE5DTmFtZSA6Oj0gKExldHRlciB8ICdfJykgKE5DTmFtZUNoYXIpKgo8L3A+PHA+CltOUyA0XSBOQ05hbWVDaGFyIDo6PSBMZXR0ZXIgfCBEaWdpdCB8ICcuJyB8ICctJyB8ICdfJyB8CiAgICAgICAgICAgICAgICAgICAgICBDb21iaW5pbmdDaGFyIHwgRXh0ZW5kZXI8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIG5hbWUgb3IgTlVMTAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIiPjwvYT54bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iZG91YmxlIj5kb3VibGU8L0dUS0RPQ0xJTks+ICAgICAgeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyICAgICAgICAoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqc3RyKTs8L3ByZT48cD4KWzMwYV0gIEZsb2F0ICA6Oj0gTnVtYmVyICgnZScgRGlnaXRzPyk/CjwvcD48cD4KIFszMF0gICBOdW1iZXIgOjo9ICAgRGlnaXRzICgnLicgRGlnaXRzPyk/CiAgICAgICAgICAgICAgICAgICB8ICcuJyBEaWdpdHMgCiBbMzFdICAgRGlnaXRzIDo6PSAgIFswLTldKwo8L3A+PHA+CkNvbXBpbGUgYSBOdW1iZXIgaW4gdGhlIHN0cmluZwpJbiBjb21wbGVtZW50IG9mIHRoZSBOdW1iZXIgZXhwcmVzc2lvbiwgdGhpcyBmdW5jdGlvbiBhbHNvIGhhbmRsZXMKbmVnYXRpdmUgdmFsdWVzIDogJy0nIE51bWJlci48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIEEgc3RyaW5nIHRvIHNjYW4KPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgZG91YmxlIHZhbHVlLgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Ij48L2E+eG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHJlcyk7PC9wcmU+PHA+CkV2YWx1YXRlIGEgcHJlZGljYXRlIHJlc3VsdCBmb3IgdGhlIGN1cnJlbnQgbm9kZS4KQSBQcmVkaWNhdGVFeHByIGlzIGV2YWx1YXRlZCBieSBldmFsdWF0aW5nIHRoZSBFeHByIGFuZCBjb252ZXJ0aW5nCnRoZSByZXN1bHQgdG8gYSBib29sZWFuLiBJZiB0aGUgcmVzdWx0IGlzIGEgbnVtYmVyLCB0aGUgcmVzdWx0IHdpbGwKYmUgY29udmVydGVkIHRvIHRydWUgaWYgdGhlIG51bWJlciBpcyBlcXVhbCB0byB0aGUgcG9zaXRpb24gb2YgdGhlCmNvbnRleHQgbm9kZSBpbiB0aGUgY29udGV4dCBub2RlIGxpc3QgKGFzIHJldHVybmVkIGJ5IHRoZSBwb3NpdGlvbgpmdW5jdGlvbikgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGZhbHNlIG90aGVyd2lzZTsgaWYgdGhlIHJlc3VsdAppcyBub3QgYSBudW1iZXIsIHRoZW4gdGhlIHJlc3VsdCB3aWxsIGJlIGNvbnZlcnRlZCBhcyBpZiBieSBhIGNhbGwKdG8gdGhlIGJvb2xlYW4gZnVuY3Rpb24uPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgUHJlZGljYXRlIEV4cHJlc3Npb24gZXZhbHVhdGlvbiByZXN1bHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4xIGlmIHByZWRpY2F0ZSBpcyB0cnVlLCAwIG90aGVyd2lzZQo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zIj48L2E+eG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9ucyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTs8L3ByZT48cD4KUmVnaXN0ZXJzIGFsbCBkZWZhdWx0IFhQYXRoIGZ1bmN0aW9ucyBpbiB0aGlzIGNvbnRleHQ8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggY29udGV4dAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVTZXRNZXJnZSI+PC9hPnhtbFhQYXRoTm9kZVNldE1lcmdlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4geG1sWFBhdGhOb2RlU2V0TWVyZ2UgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHZhbDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHZhbDIpOzwvcHJlPjxwPgpNZXJnZXMgdHdvIG5vZGVzZXRzLCBhbGwgbm9kZXMgZnJvbSA8aT48dHQ+dmFsMjwvdHQ+PC9pPiBhcmUgYWRkZWQgdG8gPGk+PHR0PnZhbDE8L3R0PjwvaT4KaWYgPGk+PHR0PnZhbDE8L3R0PjwvaT4gaXMgTlVMTCwgYSBuZXcgc2V0IGlzIGNyZWF0ZWQgYW5kIGNvcGllZCBmcm9tIDxpPjx0dD52YWwyPC90dD48L2k+PC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsMTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGZpcnN0IE5vZGVTZXQgb3IgTlVMTAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBzZWNvbmQgTm9kZVNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPjxpPjx0dD52YWwxPC90dD48L2k+IG9uY2UgZXh0ZW5kZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVTZXREZWwiPjwvYT54bWxYUGF0aE5vZGVTZXREZWwgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aE5vZGVTZXREZWwgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBjdXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTs8L3ByZT48cD4KUmVtb3ZlcyBhbiB4bWxOb2RlUHRyIGZyb20gYW4gZXhpc3RpbmcgTm9kZVNldDwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGluaXRpYWwgbm9kZSBzZXQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGFuIHhtbE5vZGVQdHIKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlU2V0UmVtb3ZlIj48L2E+eG1sWFBhdGhOb2RlU2V0UmVtb3ZlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhOb2RlU2V0UmVtb3ZlICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gY3VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdmFsKTs8L3ByZT48cD4KUmVtb3ZlcyBhbiBlbnRyeSBmcm9tIGFuIGV4aXN0aW5nIE5vZGVTZXQgbGlzdC48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBpbml0aWFsIG5vZGUgc2V0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgaW5kZXggdG8gcmVtb3ZlCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV3Tm9kZVNldExpc3QiPjwvYT54bWxYUGF0aE5ld05vZGVTZXRMaXN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB4bWxYUGF0aE5ld05vZGVTZXRMaXN0ICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiB2YWwpOzwvcHJlPjxwPgpDcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSBOb2RlU2V0IGFuZCBpbml0aWFsaXplCml0IHdpdGggdGhlIE5vZGVzZXQgPGk+PHR0PnZhbDwvdHQ+PC9pPjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYW4gZXhpc3RpbmcgTm9kZVNldAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhXcmFwTm9kZVNldCI+PC9hPnhtbFhQYXRoV3JhcE5vZGVTZXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHhtbFhQYXRoV3JhcE5vZGVTZXQgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHZhbCk7PC9wcmU+PHA+CldyYXAgdGhlIE5vZGVzZXQgPGk+PHR0PnZhbDwvdHQ+PC9pPiBpbiBhIG5ldyB4bWxYUGF0aE9iamVjdFB0cjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIE5vZGVQdHIgdmFsdWUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoV3JhcEV4dGVybmFsIj48L2E+eG1sWFBhdGhXcmFwRXh0ZXJuYWwgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHhtbFhQYXRoV3JhcEV4dGVybmFsICAgICAgKHZvaWQgKnZhbCk7PC9wcmU+PHA+CldyYXBzIHRoZSA8aT48dHQ+dmFsPC90dD48L2k+IGRhdGEgaW50byBhbiBYUGF0aCBvYmplY3QuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgdXNlciBkYXRhCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0Lgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEVxdWFsVmFsdWVzIj48L2E+eG1sWFBhdGhFcXVhbFZhbHVlcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbFhQYXRoRXF1YWxWYWx1ZXMgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTs8L3ByZT48cD4KSW1wbGVtZW50IHRoZSBlcXVhbCBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0cyBjb250ZW50OiA8aT48dHQ+YXJnMTwvdHQ+PC9pPiA9PSA8aT48dHQ+YXJnMjwvdHQ+PC9pPjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPjAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIHJlc3VsdHMgb2YgdGhlIHRlc3QuCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm90RXF1YWxWYWx1ZXMiPjwvYT54bWxYUGF0aE5vdEVxdWFsVmFsdWVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sWFBhdGhOb3RFcXVhbFZhbHVlcyAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOzwvcHJlPjxwPgpJbXBsZW1lbnQgdGhlIGVxdWFsIG9wZXJhdGlvbiBvbiBYUGF0aCBvYmplY3RzIGNvbnRlbnQ6IDxpPjx0dD5hcmcxPC90dD48L2k+ID09IDxpPjx0dD5hcmcyPC90dD48L2k+PC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+MCBvciAxIGRlcGVuZGluZyBvbiB0aGUgcmVzdWx0cyBvZiB0aGUgdGVzdC4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb21wYXJlVmFsdWVzIj48L2E+eG1sWFBhdGhDb21wYXJlVmFsdWVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sWFBhdGhDb21wYXJlVmFsdWVzICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdHJpY3QpOzwvcHJlPjxwPgpJbXBsZW1lbnQgdGhlIGNvbXBhcmUgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHM6IAogICAgPGk+PHR0PmFyZzE8L3R0PjwvaT4gJmx0OyA8aT48dHQ+YXJnMjwvdHQ+PC9pPiAgICAoMSwgMSwgLi4uCiAgICA8aT48dHQ+YXJnMTwvdHQ+PC9pPiAmbHQ7PSA8aT48dHQ+YXJnMjwvdHQ+PC9pPiAgICgxLCAwLCAuLi4KICAgIDxpPjx0dD5hcmcxPC90dD48L2k+ICZndDsgPGk+PHR0PmFyZzI8L3R0PjwvaT4gICAgKDAsIDEsIC4uLgogICAgPGk+PHR0PmFyZzE8L3R0PjwvaT4gJmd0Oz0gPGk+PHR0PmFyZzI8L3R0PjwvaT4gICAoMCwgMCwgLi4uCjwvcD48cD4KV2hlbiBuZWl0aGVyIG9iamVjdCB0byBiZSBjb21wYXJlZCBpcyBhIG5vZGUtc2V0IGFuZCB0aGUgb3BlcmF0b3IgaXMKJmx0Oz0sICZsdDssICZndDs9LCAmZ3Q7LCB0aGVuIHRoZSBvYmplY3RzIGFyZSBjb21wYXJlZCBieSBjb252ZXJ0ZWQgYm90aCBvYmplY3RzCnRvIG51bWJlcnMgYW5kIGNvbXBhcmluZyB0aGUgbnVtYmVycyBhY2NvcmRpbmcgdG8gSUVFRSA3NTQuIFRoZSAmbHQ7CmNvbXBhcmlzb24gd2lsbCBiZSB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBmaXJzdCBudW1iZXIgaXMgbGVzcyB0aGFuIHRoZQpzZWNvbmQgbnVtYmVyLiBUaGUgJmx0Oz0gY29tcGFyaXNvbiB3aWxsIGJlIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGZpcnN0Cm51bWJlciBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNlY29uZCBudW1iZXIuIFRoZSAmZ3Q7IGNvbXBhcmlzb24Kd2lsbCBiZSB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBmaXJzdCBudW1iZXIgaXMgZ3JlYXRlciB0aGFuIHRoZSBzZWNvbmQKbnVtYmVyLiBUaGUgJmd0Oz0gY29tcGFyaXNvbiB3aWxsIGJlIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGZpcnN0IG51bWJlcgppcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNlY29uZCBudW1iZXIuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5mPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBsZXNzIHRoYW4gKDEpIG9yIGdyZWF0ZXIgdGhhbiAoMCkKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHJpY3Q8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGlzIHRoZSBjb21wYXJpc29uIHN0cmljdAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIGNvbXBhcmlzb24gc3VjY2VlZGVkLCAwIGlmIGl0IGZhaWxlZAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFZhbHVlRmxpcFNpZ24iPjwvYT54bWxYUGF0aFZhbHVlRmxpcFNpZ24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aFZhbHVlRmxpcFNpZ24gICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7PC9wcmU+PHA+CkltcGxlbWVudCB0aGUgdW5hcnkgLSBvcGVyYXRpb24gb24gYW4gWFBhdGggb2JqZWN0ClRoZSBudW1lcmljIG9wZXJhdG9ycyBjb252ZXJ0IHRoZWlyIG9wZXJhbmRzIHRvIG51bWJlcnMgYXMgaWYKYnkgY2FsbGluZyB0aGUgbnVtYmVyIGZ1bmN0aW9uLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEFkZFZhbHVlcyI+PC9hPnhtbFhQYXRoQWRkVmFsdWVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhBZGRWYWx1ZXMgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOzwvcHJlPjxwPgpJbXBsZW1lbnQgdGhlIGFkZCBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0czoKVGhlIG51bWVyaWMgb3BlcmF0b3JzIGNvbnZlcnQgdGhlaXIgb3BlcmFuZHMgdG8gbnVtYmVycyBhcyBpZgpieSBjYWxsaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24uPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoU3ViVmFsdWVzIj48L2E+eG1sWFBhdGhTdWJWYWx1ZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aFN1YlZhbHVlcyAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7PC9wcmU+PHA+CkltcGxlbWVudCB0aGUgc3VidHJhY3Rpb24gb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHM6ClRoZSBudW1lcmljIG9wZXJhdG9ycyBjb252ZXJ0IHRoZWlyIG9wZXJhbmRzIHRvIG51bWJlcnMgYXMgaWYKYnkgY2FsbGluZyB0aGUgbnVtYmVyIGZ1bmN0aW9uLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE11bHRWYWx1ZXMiPjwvYT54bWxYUGF0aE11bHRWYWx1ZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aE11bHRWYWx1ZXMgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7PC9wcmU+PHA+CkltcGxlbWVudCB0aGUgbXVsdGlwbHkgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHM6ClRoZSBudW1lcmljIG9wZXJhdG9ycyBjb252ZXJ0IHRoZWlyIG9wZXJhbmRzIHRvIG51bWJlcnMgYXMgaWYKYnkgY2FsbGluZyB0aGUgbnVtYmVyIGZ1bmN0aW9uLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aERpdlZhbHVlcyI+PC9hPnhtbFhQYXRoRGl2VmFsdWVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhEaXZWYWx1ZXMgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOzwvcHJlPjxwPgpJbXBsZW1lbnQgdGhlIGRpdiBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0cyA8aT48dHQ+YXJnMTwvdHQ+PC9pPiAvIDxpPjx0dD5hcmcyPC90dD48L2k+OgpUaGUgbnVtZXJpYyBvcGVyYXRvcnMgY29udmVydCB0aGVpciBvcGVyYW5kcyB0byBudW1iZXJzIGFzIGlmCmJ5IGNhbGxpbmcgdGhlIG51bWJlciBmdW5jdGlvbi48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhNb2RWYWx1ZXMiPjwvYT54bWxYUGF0aE1vZFZhbHVlcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoTW9kVmFsdWVzICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTs8L3ByZT48cD4KSW1wbGVtZW50IHRoZSBtb2Qgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHM6IDxpPjx0dD5hcmcxPC90dD48L2k+IC8gPGk+PHR0PmFyZzI8L3R0PjwvaT4KVGhlIG51bWVyaWMgb3BlcmF0b3JzIGNvbnZlcnQgdGhlaXIgb3BlcmFuZHMgdG8gbnVtYmVycyBhcyBpZgpieSBjYWxsaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24uPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoSXNOb2RlVHlwZSI+PC9hPnhtbFhQYXRoSXNOb2RlVHlwZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbFhQYXRoSXNOb2RlVHlwZSAgICAgICAgICAgICAgKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKm5hbWUpOzwvcHJlPjxwPgpJcyB0aGUgbmFtZSBnaXZlbiBhIE5vZGVUeXBlIG9uZS4KPC9wPjxwPgogWzM4XSAgIE5vZGVUeXBlIDo6PSAgICdjb21tZW50JwogICAgICAgICAgICAgICAgICAgfCAndGV4dCcKICAgICAgICAgICAgICAgICAgIHwgJ3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24nCiAgICAgICAgICAgICAgICAgICB8ICdub2RlJzwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIGEgbmFtZSBzdHJpbmcKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2UKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0U2VsZiI+PC9hPnhtbFhQYXRoTmV4dFNlbGYgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICB4bWxYUGF0aE5leHRTZWxmICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOzwvcHJlPjxwPgpUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAic2VsZiIgZGlyZWN0aW9uClRoZSBzZWxmIGF4aXMgY29udGFpbnMganVzdCB0aGUgY29udGV4dCBub2RlIGl0c2VsZjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dENoaWxkIj48L2E+eG1sWFBhdGhOZXh0Q2hpbGQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICB4bWxYUGF0aE5leHRDaGlsZCAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOzwvcHJlPjxwPgpUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiY2hpbGQiIGRpcmVjdGlvbgpUaGUgY2hpbGQgYXhpcyBjb250YWlucyB0aGUgY2hpbGRyZW4gb2YgdGhlIGNvbnRleHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlci48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHREZXNjZW5kYW50Ij48L2E+eG1sWFBhdGhOZXh0RGVzY2VuZGFudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gIHhtbFhQYXRoTmV4dERlc2NlbmRhbnQgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7PC9wcmU+PHA+ClRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJkZXNjZW5kYW50IiBkaXJlY3Rpb24KdGhlIGRlc2NlbmRhbnQgYXhpcyBjb250YWlucyB0aGUgZGVzY2VuZGFudHMgb2YgdGhlIGNvbnRleHQgbm9kZSBpbiBkb2N1bWVudApvcmRlcjsgYSBkZXNjZW5kYW50IGlzIGEgY2hpbGQgb3IgYSBjaGlsZCBvZiBhIGNoaWxkIGFuZCBzbyBvbi48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmIj48L2E+eG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gIHhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7PC9wcmU+PHA+ClRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJkZXNjZW5kYW50LW9yLXNlbGYiIGRpcmVjdGlvbgp0aGUgZGVzY2VuZGFudC1vci1zZWxmIGF4aXMgY29udGFpbnMgdGhlIGNvbnRleHQgbm9kZSBhbmQgdGhlIGRlc2NlbmRhbnRzCm9mIHRoZSBjb250ZXh0IG5vZGUgaW4gZG9jdW1lbnQgb3JkZXI7IHRodXMgdGhlIGNvbnRleHQgbm9kZSBpcyB0aGUgZmlyc3QKbm9kZSBvbiB0aGUgYXhpcywgYW5kIHRoZSBmaXJzdCBjaGlsZCBvZiB0aGUgY29udGV4dCBub2RlIGlzIHRoZSBzZWNvbmQgbm9kZQpvbiB0aGUgYXhpczwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dFBhcmVudCI+PC9hPnhtbFhQYXRoTmV4dFBhcmVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gIHhtbFhQYXRoTmV4dFBhcmVudCAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7PC9wcmU+PHA+ClRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJwYXJlbnQiIGRpcmVjdGlvbgpUaGUgcGFyZW50IGF4aXMgY29udGFpbnMgdGhlIHBhcmVudCBvZiB0aGUgY29udGV4dCBub2RlLCBpZiB0aGVyZSBpcyBvbmUuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWwKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYiPjwvYT54bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gIHhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7PC9wcmU+PHA+ClRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJhbmNlc3Rvci1vci1zZWxmIiBkaXJlY3Rpb24KaGUgYW5jZXN0b3Itb3Itc2VsZiBheGlzIGNvbnRhaW5zIHRoZSBjb250ZXh0IG5vZGUgYW5kIGFuY2VzdG9ycyBvZgp0aGUgY29udGV4dCBub2RlIGluIHJldmVyc2UgZG9jdW1lbnQgb3JkZXI7IHRodXMgdGhlIGNvbnRleHQgbm9kZSBpcwp0aGUgZmlyc3Qgbm9kZSBvbiB0aGUgYXhpcywgYW5kIHRoZSBjb250ZXh0IG5vZGUncyBwYXJlbnQgdGhlIHNlY29uZDsKcGFyZW50IGhlcmUgaXMgZGVmaW5lZCB0aGUgc2FtZSBhcyB3aXRoIHRoZSBwYXJlbnQgYXhpcy48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nIj48L2E+eG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gIHhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7PC9wcmU+PHA+ClRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJmb2xsb3dpbmctc2libGluZyIgZGlyZWN0aW9uClRoZSBmb2xsb3dpbmctc2libGluZyBheGlzIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgc2libGluZ3Mgb2YgdGhlIGNvbnRleHQKbm9kZSBpbiBkb2N1bWVudCBvcmRlci48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRGb2xsb3dpbmciPjwvYT54bWxYUGF0aE5leHRGb2xsb3dpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICB4bWxYUGF0aE5leHRGb2xsb3dpbmcgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOzwvcHJlPjxwPgpUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiZm9sbG93aW5nIiBkaXJlY3Rpb24KVGhlIGZvbGxvd2luZyBheGlzIGNvbnRhaW5zIGFsbCBub2RlcyBpbiB0aGUgc2FtZSBkb2N1bWVudCBhcyB0aGUgY29udGV4dApub2RlIHRoYXQgYXJlIGFmdGVyIHRoZSBjb250ZXh0IG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIsIGV4Y2x1ZGluZyBhbnkKZGVzY2VuZGFudHMgYW5kIGV4Y2x1ZGluZyBhdHRyaWJ1dGUgbm9kZXMgYW5kIG5hbWVzcGFjZSBub2RlczsgdGhlIG5vZGVzCmFyZSBvcmRlcmVkIGluIGRvY3VtZW50IG9yZGVyPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWwKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0TmFtZXNwYWNlIj48L2E+eG1sWFBhdGhOZXh0TmFtZXNwYWNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAgeG1sWFBhdGhOZXh0TmFtZXNwYWNlICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTs8L3ByZT48cD4KVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgIm5hbWVzcGFjZSIgZGlyZWN0aW9uCnRoZSBuYW1lc3BhY2UgYXhpcyBjb250YWlucyB0aGUgbmFtZXNwYWNlIG5vZGVzIG9mIHRoZSBjb250ZXh0IG5vZGU7CnRoZSBvcmRlciBvZiBub2RlcyBvbiB0aGlzIGF4aXMgaXMgaW1wbGVtZW50YXRpb24tZGVmaW5lZDsgdGhlIGF4aXMgd2lsbApiZSBlbXB0eSB1bmxlc3MgdGhlIGNvbnRleHQgbm9kZSBpcyBhbiBlbGVtZW50CjwvcD48cD4KV2Uga2VlcCB0aGUgWE1MIG5hbWVzcGFjZSBub2RlIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgY3VycmVudCBhdHRyaWJ1dGUgaW4gdGhlIHRyYXZlcnNhbAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRBdHRyaWJ1dGUiPjwvYT54bWxYUGF0aE5leHRBdHRyaWJ1dGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICB4bWxYUGF0aE5leHRBdHRyaWJ1dGUgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOzwvcHJlPjxwPgpUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiYXR0cmlidXRlIiBkaXJlY3Rpb24KVE9ETzogc3VwcG9ydCBEVEQgaW5oZXJpdGVkIGRlZmF1bHQgYXR0cmlidXRlczwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGN1cnJlbnQgYXR0cmlidXRlIGluIHRoZSB0cmF2ZXJzYWwKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0UHJlY2VkaW5nIj48L2E+eG1sWFBhdGhOZXh0UHJlY2VkaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAgeG1sWFBhdGhOZXh0UHJlY2VkaW5nICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTs8L3ByZT48cD4KVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgInByZWNlZGluZyIgZGlyZWN0aW9uCnRoZSBwcmVjZWRpbmcgYXhpcyBjb250YWlucyBhbGwgbm9kZXMgaW4gdGhlIHNhbWUgZG9jdW1lbnQgYXMgdGhlIGNvbnRleHQKbm9kZSB0aGF0IGFyZSBiZWZvcmUgdGhlIGNvbnRleHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlciwgZXhjbHVkaW5nIGFueQphbmNlc3RvcnMgYW5kIGV4Y2x1ZGluZyBhdHRyaWJ1dGUgbm9kZXMgYW5kIG5hbWVzcGFjZSBub2RlczsgdGhlIG5vZGVzIGFyZQpvcmRlcmVkIGluIHJldmVyc2UgZG9jdW1lbnQgb3JkZXI8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRBbmNlc3RvciI+PC9hPnhtbFhQYXRoTmV4dEFuY2VzdG9yICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAgeG1sWFBhdGhOZXh0QW5jZXN0b3IgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTs8L3ByZT48cD4KVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgImFuY2VzdG9yIiBkaXJlY3Rpb24KdGhlIGFuY2VzdG9yIGF4aXMgY29udGFpbnMgdGhlIGFuY2VzdG9ycyBvZiB0aGUgY29udGV4dCBub2RlOyB0aGUgYW5jZXN0b3JzCm9mIHRoZSBjb250ZXh0IG5vZGUgY29uc2lzdCBvZiB0aGUgcGFyZW50IG9mIGNvbnRleHQgbm9kZSBhbmQgdGhlIHBhcmVudCdzCnBhcmVudCBhbmQgc28gb247IHRoZSBub2RlcyBhcmUgb3JkZXJlZCBpbiByZXZlcnNlIGRvY3VtZW50IG9yZGVyOyB0aHVzIHRoZQpwYXJlbnQgaXMgdGhlIGZpcnN0IG5vZGUgb24gdGhlIGF4aXMsIGFuZCB0aGUgcGFyZW50J3MgcGFyZW50IGlzIHRoZSBzZWNvbmQKbm9kZSBvbiB0aGUgYXhpczwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmciPjwvYT54bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAgeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTs8L3ByZT48cD4KVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgInByZWNlZGluZy1zaWJsaW5nIiBkaXJlY3Rpb24KVGhlIHByZWNlZGluZy1zaWJsaW5nIGF4aXMgY29udGFpbnMgdGhlIHByZWNlZGluZyBzaWJsaW5ncyBvZiB0aGUgY29udGV4dApub2RlIGluIHJldmVyc2UgZG9jdW1lbnQgb3JkZXI7IHRoZSBmaXJzdCBwcmVjZWRpbmcgc2libGluZyBpcyBmaXJzdCBvbiB0aGUKYXhpczsgdGhlIHNpYmxpbmcgcHJlY2VkaW5nIHRoYXQgbm9kZSBpcyB0aGUgc2Vjb25kIG9uIHRoZSBheGlzIGFuZCBzbyBvbi48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aExhc3RGdW5jdGlvbiI+PC9hPnhtbFhQYXRoTGFzdEZ1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhMYXN0RnVuY3Rpb24gICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7PC9wcmU+PHA+CkltcGxlbWVudCB0aGUgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9Imxhc3QiPmxhc3Q8L0dUS0RPQ0xJTks+KCkgWFBhdGggZnVuY3Rpb24KICAgbnVtYmVyIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJsYXN0Ij5sYXN0PC9HVEtET0NMSU5LPigpClRoZSBsYXN0IGZ1bmN0aW9uIHJldHVybnMgdGhlIG51bWJlciBvZiBub2RlcyBpbiB0aGUgY29udGV4dCBub2RlIGxpc3QuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUG9zaXRpb25GdW5jdGlvbiI+PC9hPnhtbFhQYXRoUG9zaXRpb25GdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoUG9zaXRpb25GdW5jdGlvbiAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOzwvcHJlPjxwPgpJbXBsZW1lbnQgdGhlIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJwb3NpdGlvbiI+cG9zaXRpb248L0dUS0RPQ0xJTks+KCkgWFBhdGggZnVuY3Rpb24KICAgbnVtYmVyIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJwb3NpdGlvbiI+cG9zaXRpb248L0dUS0RPQ0xJTks+KCkKVGhlIHBvc2l0aW9uIGZ1bmN0aW9uIHJldHVybnMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjb250ZXh0IG5vZGUgaW4gdGhlCmNvbnRleHQgbm9kZSBsaXN0LiBUaGUgZmlyc3QgcG9zaXRpb24gaXMgMSwgYW5kIHNvIHRoZSBsYXN0IHBvc2l0aW9uCndpbGwgYmUgZXF1YWwgdG8gPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9Imxhc3QiPmxhc3Q8L0dUS0RPQ0xJTks+KCkuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ291bnRGdW5jdGlvbiI+PC9hPnhtbFhQYXRoQ291bnRGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoQ291bnRGdW5jdGlvbiAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOzwvcHJlPjxwPgpJbXBsZW1lbnQgdGhlIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJjb3VudCI+Y291bnQ8L0dUS0RPQ0xJTks+KCkgWFBhdGggZnVuY3Rpb24KICAgbnVtYmVyIGNvdW50KG5vZGUtc2V0KTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aElkRnVuY3Rpb24iPjwvYT54bWxYUGF0aElkRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aElkRnVuY3Rpb24gICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTs8L3ByZT48cD4KSW1wbGVtZW50IHRoZSA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iaWQiPmlkPC9HVEtET0NMSU5LPigpIFhQYXRoIGZ1bmN0aW9uCiAgIG5vZGUtc2V0IGlkKG9iamVjdCkKVGhlIGlkIGZ1bmN0aW9uIHNlbGVjdHMgZWxlbWVudHMgYnkgdGhlaXIgdW5pcXVlIElECihzZWUgWzUuMi4xIFVuaXF1ZSBJRHNdKS4gV2hlbiB0aGUgYXJndW1lbnQgdG8gaWQgaXMgb2YgdHlwZSBub2RlLXNldCwKdGhlbiB0aGUgcmVzdWx0IGlzIHRoZSB1bmlvbiBvZiB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nIGlkIHRvIHRoZQpzdHJpbmcgdmFsdWUgb2YgZWFjaCBvZiB0aGUgbm9kZXMgaW4gdGhlIGFyZ3VtZW50IG5vZGUtc2V0LiBXaGVuIHRoZQphcmd1bWVudCB0byBpZCBpcyBvZiBhbnkgb3RoZXIgdHlwZSwgdGhlIGFyZ3VtZW50IGlzIGNvbnZlcnRlZCB0byBhCnN0cmluZyBhcyBpZiBieSBhIGNhbGwgdG8gdGhlIHN0cmluZyBmdW5jdGlvbjsgdGhlIHN0cmluZyBpcyBzcGxpdAppbnRvIGEgd2hpdGVzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiB0b2tlbnMgKHdoaXRlc3BhY2UgaXMgYW55IHNlcXVlbmNlCm9mIGNoYXJhY3RlcnMgbWF0Y2hpbmcgdGhlIHByb2R1Y3Rpb24gUyk7IHRoZSByZXN1bHQgaXMgYSBub2RlLXNldApjb250YWluaW5nIHRoZSBlbGVtZW50cyBpbiB0aGUgc2FtZSBkb2N1bWVudCBhcyB0aGUgY29udGV4dCBub2RlIHRoYXQKaGF2ZSBhIHVuaXF1ZSBJRCBlcXVhbCB0byBhbnkgb2YgdGhlIHRva2VucyBpbiB0aGUgbGlzdC48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbiI+PC9hPnhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTs8L3ByZT48cD4KSW1wbGVtZW50IHRoZSBsb2NhbC08R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ibmFtZSI+bmFtZTwvR1RLRE9DTElOSz4oKSBYUGF0aCBmdW5jdGlvbgogICBzdHJpbmcgbG9jYWwtbmFtZShub2RlLXNldD8pClRoZSBsb2NhbC1uYW1lIGZ1bmN0aW9uIHJldHVybnMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgbG9jYWwgcGFydApvZiB0aGUgbmFtZSBvZiB0aGUgbm9kZSBpbiB0aGUgYXJndW1lbnQgbm9kZS1zZXQgdGhhdCBpcyBmaXJzdCBpbgpkb2N1bWVudCBvcmRlci4gSWYgdGhlIG5vZGUtc2V0IGlzIGVtcHR5IG9yIHRoZSBmaXJzdCBub2RlIGhhcyBubwpuYW1lLCBhbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIGl0CmRlZmF1bHRzIHRvIHRoZSBjb250ZXh0IG5vZGUuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24iPjwvYT54bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbiAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7PC9wcmU+PHA+CkltcGxlbWVudCB0aGUgbmFtZXNwYWNlLTxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJ1cmkiPnVyaTwvR1RLRE9DTElOSz4oKSBYUGF0aCBmdW5jdGlvbgogICBzdHJpbmcgbmFtZXNwYWNlLXVyaShub2RlLXNldD8pClRoZSBuYW1lc3BhY2UtdXJpIGZ1bmN0aW9uIHJldHVybnMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUKbmFtZXNwYWNlIFVSSSBvZiB0aGUgZXhwYW5kZWQgbmFtZSBvZiB0aGUgbm9kZSBpbiB0aGUgYXJndW1lbnQKbm9kZS1zZXQgdGhhdCBpcyBmaXJzdCBpbiBkb2N1bWVudCBvcmRlci4gSWYgdGhlIG5vZGUtc2V0IGlzIGVtcHR5LAp0aGUgZmlyc3Qgbm9kZSBoYXMgbm8gbmFtZSwgb3IgdGhlIGV4cGFuZGVkIG5hbWUgaGFzIG5vIG5hbWVzcGFjZQpVUkksIGFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4gSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQgaXQKZGVmYXVsdHMgdG8gdGhlIGNvbnRleHQgbm9kZS48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+PC9hPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTs8L3ByZT48cD4KSW1wbGVtZW50IHRoZSA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ic3RyaW5nIj5zdHJpbmc8L0dUS0RPQ0xJTks+KCkgWFBhdGggZnVuY3Rpb24KICAgc3RyaW5nIHN0cmluZyhvYmplY3Q/KQpoZSBzdHJpbmcgZnVuY3Rpb24gY29udmVydHMgYW4gb2JqZWN0IHRvIGEgc3RyaW5nIGFzIGZvbGxvd3M6CiAgIC0gQSBub2RlLXNldCBpcyBjb252ZXJ0ZWQgdG8gYSBzdHJpbmcgYnkgcmV0dXJuaW5nIHRoZSB2YWx1ZSBvZgogICAgIHRoZSBub2RlIGluIHRoZSBub2RlLXNldCB0aGF0IGlzIGZpcnN0IGluIGRvY3VtZW50IG9yZGVyLgogICAgIElmIHRoZSBub2RlLXNldCBpcyBlbXB0eSwgYW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkLgogICAtIEEgbnVtYmVyIGlzIGNvbnZlcnRlZCB0byBhIHN0cmluZyBhcyBmb2xsb3dzCiAgICAgKyBOYU4gaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgTmFOIAogICAgICsgcG9zaXRpdmUgemVybyBpcyBjb252ZXJ0ZWQgdG8gdGhlIHN0cmluZyAwIAogICAgICsgbmVnYXRpdmUgemVybyBpcyBjb252ZXJ0ZWQgdG8gdGhlIHN0cmluZyAwIAogICAgICsgcG9zaXRpdmUgaW5maW5pdHkgaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgSW5maW5pdHkgCiAgICAgKyBuZWdhdGl2ZSBpbmZpbml0eSBpcyBjb252ZXJ0ZWQgdG8gdGhlIHN0cmluZyAtSW5maW5pdHkgCiAgICAgKyBpZiB0aGUgbnVtYmVyIGlzIGFuIGludGVnZXIsIHRoZSBudW1iZXIgaXMgcmVwcmVzZW50ZWQgaW4KICAgICAgIGRlY2ltYWwgZm9ybSBhcyBhIE51bWJlciB3aXRoIG5vIGRlY2ltYWwgcG9pbnQgYW5kIG5vIGxlYWRpbmcKICAgICAgIHplcm9zLCBwcmVjZWRlZCBieSBhIG1pbnVzIHNpZ24gKC0pIGlmIHRoZSBudW1iZXIgaXMgbmVnYXRpdmUKICAgICArIG90aGVyd2lzZSwgdGhlIG51bWJlciBpcyByZXByZXNlbnRlZCBpbiBkZWNpbWFsIGZvcm0gYXMgYQogICAgICAgTnVtYmVyIGluY2x1ZGluZyBhIGRlY2ltYWwgcG9pbnQgd2l0aCBhdCBsZWFzdCBvbmUgZGlnaXQKICAgICAgIGJlZm9yZSB0aGUgZGVjaW1hbCBwb2ludCBhbmQgYXQgbGVhc3Qgb25lIGRpZ2l0IGFmdGVyIHRoZQogICAgICAgZGVjaW1hbCBwb2ludCwgcHJlY2VkZWQgYnkgYSBtaW51cyBzaWduICgtKSBpZiB0aGUgbnVtYmVyCiAgICAgICBpcyBuZWdhdGl2ZTsgdGhlcmUgbXVzdCBiZSBubyBsZWFkaW5nIHplcm9zIGJlZm9yZSB0aGUgZGVjaW1hbAogICAgICAgcG9pbnQgYXBhcnQgcG9zc2libHkgZnJvbSB0aGUgb25lIHJlcXVpcmVkIGRpZ2l0IGltbWVkaWF0ZWx5CiAgICAgICBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQ7IGJleW9uZCB0aGUgb25lIHJlcXVpcmVkIGRpZ2l0CiAgICAgICBhZnRlciB0aGUgZGVjaW1hbCBwb2ludCB0aGVyZSBtdXN0IGJlIGFzIG1hbnksIGJ1dCBvbmx5IGFzCiAgICAgICBtYW55LCBtb3JlIGRpZ2l0cyBhcyBhcmUgbmVlZGVkIHRvIHVuaXF1ZWx5IGRpc3Rpbmd1aXNoIHRoZQogICAgICAgbnVtYmVyIGZyb20gYWxsIG90aGVyIElFRUUgNzU0IG51bWVyaWMgdmFsdWVzLgogICAtIFRoZSBib29sZWFuIGZhbHNlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byB0aGUgc3RyaW5nIGZhbHNlLgogICAgIFRoZSBib29sZWFuIHRydWUgdmFsdWUgaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgdHJ1ZS4KPC9wPjxwPgpJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCwgaXQgZGVmYXVsdHMgdG8gYSBub2RlLXNldCB3aXRoIHRoZQpjb250ZXh0IG5vZGUgYXMgaXRzIG9ubHkgbWVtYmVyLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uIj48L2E+eG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24gICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOzwvcHJlPjxwPgpJbXBsZW1lbnQgdGhlIHN0cmluZy08R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ibGVuZ3RoIj5sZW5ndGg8L0dUS0RPQ0xJTks+KCkgWFBhdGggZnVuY3Rpb24KICAgbnVtYmVyIHN0cmluZy1sZW5ndGgoc3RyaW5nPykKVGhlIHN0cmluZy1sZW5ndGggcmV0dXJucyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZwooc2VlIFszLjYgU3RyaW5nc10pLiBJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCwgaXQgZGVmYXVsdHMgdG8KdGhlIGNvbnRleHQgbm9kZSBjb252ZXJ0ZWQgdG8gYSBzdHJpbmcsIGluIG90aGVyIHdvcmRzIHRoZSB2YWx1ZQpvZiB0aGUgY29udGV4dCBub2RlLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aENvbmNhdEZ1bmN0aW9uIj48L2E+eG1sWFBhdGhDb25jYXRGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoQ29uY2F0RnVuY3Rpb24gICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOzwvcHJlPjxwPgpJbXBsZW1lbnQgdGhlIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJjb25jYXQiPmNvbmNhdDwvR1RLRE9DTElOSz4oKSBYUGF0aCBmdW5jdGlvbgogICBzdHJpbmcgY29uY2F0KHN0cmluZywgc3RyaW5nLCBzdHJpbmcqKQpUaGUgY29uY2F0IGZ1bmN0aW9uIHJldHVybnMgdGhlIGNvbmNhdGVuYXRpb24gb2YgaXRzIGFyZ3VtZW50cy48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb250YWluc0Z1bmN0aW9uIj48L2E+eG1sWFBhdGhDb250YWluc0Z1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7PC9wcmU+PHA+CkltcGxlbWVudCB0aGUgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9ImNvbnRhaW5zIj5jb250YWluczwvR1RLRE9DTElOSz4oKSBYUGF0aCBmdW5jdGlvbgogICBib29sZWFuIGNvbnRhaW5zKHN0cmluZywgc3RyaW5nKQpUaGUgY29udGFpbnMgZnVuY3Rpb24gcmV0dXJucyB0cnVlIGlmIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcKY29udGFpbnMgdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcsIGFuZCBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24iPjwvYT54bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOzwvcHJlPjxwPgpJbXBsZW1lbnQgdGhlIHN0YXJ0cy08R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0id2l0aCI+d2l0aDwvR1RLRE9DTElOSz4oKSBYUGF0aCBmdW5jdGlvbgogICBib29sZWFuIHN0YXJ0cy13aXRoKHN0cmluZywgc3RyaW5nKQpUaGUgc3RhcnRzLXdpdGggZnVuY3Rpb24gcmV0dXJucyB0cnVlIGlmIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcKc3RhcnRzIHdpdGggdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcsIGFuZCBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbiI+PC9hPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTs8L3ByZT48cD4KSW1wbGVtZW50IHRoZSA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ic3Vic3RyaW5nIj5zdWJzdHJpbmc8L0dUS0RPQ0xJTks+KCkgWFBhdGggZnVuY3Rpb24KICAgc3RyaW5nIHN1YnN0cmluZyhzdHJpbmcsIG51bWJlciwgbnVtYmVyPykKVGhlIHN1YnN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSBzdWJzdHJpbmcgb2YgdGhlIGZpcnN0IGFyZ3VtZW50CnN0YXJ0aW5nIGF0IHRoZSBwb3NpdGlvbiBzcGVjaWZpZWQgaW4gdGhlIHNlY29uZCBhcmd1bWVudCB3aXRoCmxlbmd0aCBzcGVjaWZpZWQgaW4gdGhlIHRoaXJkIGFyZ3VtZW50LiBGb3IgZXhhbXBsZSwKc3Vic3RyaW5nKCIxMjM0NSIsMiwzKSByZXR1cm5zICIyMzQiLiBJZiB0aGUgdGhpcmQgYXJndW1lbnQgaXMgbm90CnNwZWNpZmllZCwgaXQgcmV0dXJucyB0aGUgc3Vic3RyaW5nIHN0YXJ0aW5nIGF0IHRoZSBwb3NpdGlvbiBzcGVjaWZpZWQKaW4gdGhlIHNlY29uZCBhcmd1bWVudCBhbmQgY29udGludWluZyB0byB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuIEZvcgpleGFtcGxlLCBzdWJzdHJpbmcoIjEyMzQ1IiwyKSByZXR1cm5zICIyMzQ1Ii4gIE1vcmUgcHJlY2lzZWx5LCBlYWNoCmNoYXJhY3RlciBpbiB0aGUgc3RyaW5nIChzZWUgWzMuNiBTdHJpbmdzXSkgaXMgY29uc2lkZXJlZCB0byBoYXZlIGEKbnVtZXJpYyBwb3NpdGlvbjogdGhlIHBvc2l0aW9uIG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgMSwgdGhlIHBvc2l0aW9uCm9mIHRoZSBzZWNvbmQgY2hhcmFjdGVyIGlzIDIgYW5kIHNvIG9uLiBUaGUgcmV0dXJuZWQgc3Vic3RyaW5nIGNvbnRhaW5zCnRob3NlIGNoYXJhY3RlcnMgZm9yIHdoaWNoIHRoZSBwb3NpdGlvbiBvZiB0aGUgY2hhcmFjdGVyIGlzIGdyZWF0ZXIgdGhhbgpvciBlcXVhbCB0byB0aGUgc2Vjb25kIGFyZ3VtZW50IGFuZCwgaWYgdGhlIHRoaXJkIGFyZ3VtZW50IGlzIHNwZWNpZmllZCwKbGVzcyB0aGFuIHRoZSBzdW0gb2YgdGhlIHNlY29uZCBhbmQgdGhpcmQgYXJndW1lbnRzOyB0aGUgY29tcGFyaXNvbnMKYW5kIGFkZGl0aW9uIHVzZWQgZm9yIHRoZSBhYm92ZSBmb2xsb3cgdGhlIHN0YW5kYXJkIElFRUUgNzU0IHJ1bGVzLiBUaHVzOgogLSBzdWJzdHJpbmcoIjEyMzQ1IiwgMS41LCAyLjYpIHJldHVybnMgIjIzNCIgCiAtIHN1YnN0cmluZygiMTIzNDUiLCAwLCAzKSByZXR1cm5zICIxMiIgCiAtIHN1YnN0cmluZygiMTIzNDUiLCAwIGRpdiAwLCAzKSByZXR1cm5zICIiIAogLSBzdWJzdHJpbmcoIjEyMzQ1IiwgMSwgMCBkaXYgMCkgcmV0dXJucyAiIiAKIC0gc3Vic3RyaW5nKCIxMjM0NSIsIC00MiwgMSBkaXYgMCkgcmV0dXJucyAiMTIzNDUiIAogLSBzdWJzdHJpbmcoIjEyMzQ1IiwgLTEgZGl2IDAsIDEgZGl2IDApIHJldHVybnMgIiI8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbiI+PC9hPnhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTs8L3ByZT48cD4KSW1wbGVtZW50IHRoZSBzdWJzdHJpbmctPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9ImJlZm9yZSI+YmVmb3JlPC9HVEtET0NMSU5LPigpIFhQYXRoIGZ1bmN0aW9uCiAgIHN0cmluZyBzdWJzdHJpbmctYmVmb3JlKHN0cmluZywgc3RyaW5nKQpUaGUgc3Vic3RyaW5nLWJlZm9yZSBmdW5jdGlvbiByZXR1cm5zIHRoZSBzdWJzdHJpbmcgb2YgdGhlIGZpcnN0CmFyZ3VtZW50IHN0cmluZyB0aGF0IHByZWNlZGVzIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHRoZSBzZWNvbmQKYXJndW1lbnQgc3RyaW5nIGluIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcsIG9yIHRoZSBlbXB0eSBzdHJpbmcKaWYgdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZyBkb2VzIG5vdCBjb250YWluIHRoZSBzZWNvbmQgYXJndW1lbnQKc3RyaW5nLiBGb3IgZXhhbXBsZSwgc3Vic3RyaW5nLWJlZm9yZSgiMTk5OS8wNC8wMSIsIi8iKSByZXR1cm5zIDE5OTkuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbiI+PC9hPnhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbiAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOzwvcHJlPjxwPgpJbXBsZW1lbnQgdGhlIHN1YnN0cmluZy08R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iYWZ0ZXIiPmFmdGVyPC9HVEtET0NMSU5LPigpIFhQYXRoIGZ1bmN0aW9uCiAgIHN0cmluZyBzdWJzdHJpbmctYWZ0ZXIoc3RyaW5nLCBzdHJpbmcpClRoZSBzdWJzdHJpbmctYWZ0ZXIgZnVuY3Rpb24gcmV0dXJucyB0aGUgc3Vic3RyaW5nIG9mIHRoZSBmaXJzdAphcmd1bWVudCBzdHJpbmcgdGhhdCBmb2xsb3dzIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHRoZSBzZWNvbmQKYXJndW1lbnQgc3RyaW5nIGluIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcsIG9yIHRoZSBlbXB0eSBzdHJpbmdpCmlmIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcgZG9lcyBub3QgY29udGFpbiB0aGUgc2Vjb25kIGFyZ3VtZW50CnN0cmluZy4gRm9yIGV4YW1wbGUsIHN1YnN0cmluZy1hZnRlcigiMTk5OS8wNC8wMSIsIi8iKSByZXR1cm5zIDA0LzAxLAphbmQgc3Vic3RyaW5nLWFmdGVyKCIxOTk5LzA0LzAxIiwiMTkiKSByZXR1cm5zIDk5LzA0LzAxLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uIj48L2E+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24gICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOzwvcHJlPjxwPgpJbXBsZW1lbnQgdGhlIG5vcm1hbGl6ZS08R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ic3BhY2UiPnNwYWNlPC9HVEtET0NMSU5LPigpIFhQYXRoIGZ1bmN0aW9uCiAgIHN0cmluZyBub3JtYWxpemUtc3BhY2Uoc3RyaW5nPykKVGhlIG5vcm1hbGl6ZS1zcGFjZSBmdW5jdGlvbiByZXR1cm5zIHRoZSBhcmd1bWVudCBzdHJpbmcgd2l0aCB3aGl0ZQpzcGFjZSBub3JtYWxpemVkIGJ5IHN0cmlwcGluZyBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlCmFuZCByZXBsYWNpbmcgc2VxdWVuY2VzIG9mIHdoaXRlc3BhY2UgY2hhcmFjdGVycyBieSBhIHNpbmdsZQpzcGFjZS4gV2hpdGVzcGFjZSBjaGFyYWN0ZXJzIGFyZSB0aGUgc2FtZSBhbGxvd2VkIGJ5IHRoZSBTIHByb2R1Y3Rpb24KaW4gWE1MLiBJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCwgaXQgZGVmYXVsdHMgdG8gdGhlIGNvbnRleHQKbm9kZSBjb252ZXJ0ZWQgdG8gYSBzdHJpbmcsIGluIG90aGVyIHdvcmRzIHRoZSB2YWx1ZSBvZiB0aGUgY29udGV4dCBub2RlLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uIj48L2E+eG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24gICAgICAgKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmFyZ3MpOzwvcHJlPjxwPgpJbXBsZW1lbnQgdGhlIDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJ0cmFuc2xhdGUiPnRyYW5zbGF0ZTwvR1RLRE9DTElOSz4oKSBYUGF0aCBmdW5jdGlvbgogICBzdHJpbmcgdHJhbnNsYXRlKHN0cmluZywgc3RyaW5nLCBzdHJpbmcpClRoZSB0cmFuc2xhdGUgZnVuY3Rpb24gcmV0dXJucyB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIHdpdGgKb2NjdXJyZW5jZXMgb2YgY2hhcmFjdGVycyBpbiB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZyByZXBsYWNlZApieSB0aGUgY2hhcmFjdGVyIGF0IHRoZSBjb3JyZXNwb25kaW5nIHBvc2l0aW9uIGluIHRoZSB0aGlyZCBhcmd1bWVudApzdHJpbmcuIEZvciBleGFtcGxlLCB0cmFuc2xhdGUoImJhciIsImFiYyIsIkFCQyIpIHJldHVybnMgdGhlIHN0cmluZwpCQXIuIElmIHRoZXJlIGlzIGEgY2hhcmFjdGVyIGluIHRoZSBzZWNvbmQgYXJndW1lbnQgc3RyaW5nIHdpdGggbm8KY2hhcmFjdGVyIGF0IGEgY29ycmVzcG9uZGluZyBwb3NpdGlvbiBpbiB0aGUgdGhpcmQgYXJndW1lbnQgc3RyaW5nCihiZWNhdXNlIHRoZSBzZWNvbmQgYXJndW1lbnQgc3RyaW5nIGlzIGxvbmdlciB0aGFuIHRoZSB0aGlyZCBhcmd1bWVudApzdHJpbmcpLCB0aGVuIG9jY3VycmVuY2VzIG9mIHRoYXQgY2hhcmFjdGVyIGluIHRoZSBmaXJzdCBhcmd1bWVudApzdHJpbmcgYXJlIHJlbW92ZWQuIEZvciBleGFtcGxlLCB0cmFuc2xhdGUoIi0tYWFhLS0iLCJhYmMtIiwiQUJDIik8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb3RGdW5jdGlvbiI+PC9hPnhtbFhQYXRoTm90RnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aE5vdEZ1bmN0aW9uICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTs8L3ByZT48cD4KSW1wbGVtZW50IHRoZSA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ibm90Ij5ub3Q8L0dUS0RPQ0xJTks+KCkgWFBhdGggZnVuY3Rpb24KICAgYm9vbGVhbiBub3QoYm9vbGVhbikKVGhlIG5vdCBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYgaXRzIGFyZ3VtZW50IGlzIGZhbHNlLAphbmQgZmFsc2Ugb3RoZXJ3aXNlLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFRydWVGdW5jdGlvbiI+PC9hPnhtbFhQYXRoVHJ1ZUZ1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhUcnVlRnVuY3Rpb24gICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7PC9wcmU+PHA+CkltcGxlbWVudCB0aGUgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9InRydWUiPnRydWU8L0dUS0RPQ0xJTks+KCkgWFBhdGggZnVuY3Rpb24KICAgYm9vbGVhbiA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0idHJ1ZSI+dHJ1ZTwvR1RLRE9DTElOSz4oKTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZhbHNlRnVuY3Rpb24iPjwvYT54bWxYUGF0aEZhbHNlRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aEZhbHNlRnVuY3Rpb24gICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTs8L3ByZT48cD4KSW1wbGVtZW50IHRoZSA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iZmFsc2UiPmZhbHNlPC9HVEtET0NMSU5LPigpIFhQYXRoIGZ1bmN0aW9uCiAgIGJvb2xlYW4gPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9ImZhbHNlIj5mYWxzZTwvR1RLRE9DTElOSz4oKTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aExhbmdGdW5jdGlvbiI+PC9hPnhtbFhQYXRoTGFuZ0Z1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhMYW5nRnVuY3Rpb24gICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7PC9wcmU+PHA+CkltcGxlbWVudCB0aGUgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9ImxhbmciPmxhbmc8L0dUS0RPQ0xJTks+KCkgWFBhdGggZnVuY3Rpb24KICAgYm9vbGVhbiBsYW5nKHN0cmluZykKVGhlIGxhbmcgZnVuY3Rpb24gcmV0dXJucyB0cnVlIG9yIGZhbHNlIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZQpsYW5ndWFnZSBvZiB0aGUgY29udGV4dCBub2RlIGFzIHNwZWNpZmllZCBieSB4bWw6bGFuZyBhdHRyaWJ1dGVzCmlzIHRoZSBzYW1lIGFzIG9yIGlzIGEgc3VibGFuZ3VhZ2Ugb2YgdGhlIGxhbmd1YWdlIHNwZWNpZmllZCBieQp0aGUgYXJndW1lbnQgc3RyaW5nLiBUaGUgbGFuZ3VhZ2Ugb2YgdGhlIGNvbnRleHQgbm9kZSBpcyBkZXRlcm1pbmVkCmJ5IHRoZSB2YWx1ZSBvZiB0aGUgeG1sOmxhbmcgYXR0cmlidXRlIG9uIHRoZSBjb250ZXh0IG5vZGUsIG9yLCBpZgp0aGUgY29udGV4dCBub2RlIGhhcyBubyB4bWw6bGFuZyBhdHRyaWJ1dGUsIGJ5IHRoZSB2YWx1ZSBvZiB0aGUKeG1sOmxhbmcgYXR0cmlidXRlIG9uIHRoZSBuZWFyZXN0IGFuY2VzdG9yIG9mIHRoZSBjb250ZXh0IG5vZGUgdGhhdApoYXMgYW4geG1sOmxhbmcgYXR0cmlidXRlLiBJZiB0aGVyZSBpcyBubyBzdWNoIGF0dHJpYnV0ZSwgdGhlbiBsYW5nPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTnVtYmVyRnVuY3Rpb24iPjwvYT54bWxYUGF0aE51bWJlckZ1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhOdW1iZXJGdW5jdGlvbiAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7PC9wcmU+PHA+CkltcGxlbWVudCB0aGUgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9Im51bWJlciI+bnVtYmVyPC9HVEtET0NMSU5LPigpIFhQYXRoIGZ1bmN0aW9uCiAgIG51bWJlciBudW1iZXIob2JqZWN0Pyk8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdW1GdW5jdGlvbiI+PC9hPnhtbFhQYXRoU3VtRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aFN1bUZ1bmN0aW9uICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTs8L3ByZT48cD4KSW1wbGVtZW50IHRoZSA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0ic3VtIj5zdW08L0dUS0RPQ0xJTks+KCkgWFBhdGggZnVuY3Rpb24KICAgbnVtYmVyIHN1bShub2RlLXNldCkKVGhlIHN1bSBmdW5jdGlvbiByZXR1cm5zIHRoZSBzdW0gb2YgdGhlIHZhbHVlcyBvZiB0aGUgbm9kZXMgaW4KdGhlIGFyZ3VtZW50IG5vZGUtc2V0LjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZsb29yRnVuY3Rpb24iPjwvYT54bWxYUGF0aEZsb29yRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aEZsb29yRnVuY3Rpb24gICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTs8L3ByZT48cD4KSW1wbGVtZW50IHRoZSA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iZmxvb3IiPmZsb29yPC9HVEtET0NMSU5LPigpIFhQYXRoIGZ1bmN0aW9uCiAgIG51bWJlciBmbG9vcihudW1iZXIpClRoZSBmbG9vciBmdW5jdGlvbiByZXR1cm5zIHRoZSBsYXJnZXN0IChjbG9zZXN0IHRvIHBvc2l0aXZlIGluZmluaXR5KQpudW1iZXIgdGhhdCBpcyBub3QgZ3JlYXRlciB0aGFuIHRoZSBhcmd1bWVudCBhbmQgdGhhdCBpcyBhbiBpbnRlZ2VyLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aENlaWxpbmdGdW5jdGlvbiI+PC9hPnhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24gICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7PC9wcmU+PHA+CkltcGxlbWVudCB0aGUgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9ImNlaWxpbmciPmNlaWxpbmc8L0dUS0RPQ0xJTks+KCkgWFBhdGggZnVuY3Rpb24KICAgbnVtYmVyIGNlaWxpbmcobnVtYmVyKQpUaGUgY2VpbGluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSBzbWFsbGVzdCAoY2xvc2VzdCB0byBuZWdhdGl2ZSBpbmZpbml0eSkKbnVtYmVyIHRoYXQgaXMgbm90IGxlc3MgdGhhbiB0aGUgYXJndW1lbnQgYW5kIHRoYXQgaXMgYW4gaW50ZWdlci48L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSb3VuZEZ1bmN0aW9uIj48L2E+eG1sWFBhdGhSb3VuZEZ1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAgICAgICAgeG1sWFBhdGhSb3VuZEZ1bmN0aW9uICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7PC9wcmU+PHA+CkltcGxlbWVudCB0aGUgPEdUS0RPQ0xJTksgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIEhSRUY9InJvdW5kIj5yb3VuZDwvR1RLRE9DTElOSz4oKSBYUGF0aCBmdW5jdGlvbgogICBudW1iZXIgcm91bmQobnVtYmVyKQpUaGUgcm91bmQgZnVuY3Rpb24gcmV0dXJucyB0aGUgbnVtYmVyIHRoYXQgaXMgY2xvc2VzdCB0byB0aGUKYXJndW1lbnQgYW5kIHRoYXQgaXMgYW4gaW50ZWdlci4gSWYgdGhlcmUgYXJlIHR3byBzdWNoIG51bWJlcnMsCnRoZW4gdGhlIG9uZSB0aGF0IGlzIGV2ZW4gaXMgcmV0dXJuZWQuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uIj48L2E+eG1sWFBhdGhCb29sZWFuRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbiAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5hcmdzKTs8L3ByZT48cD4KSW1wbGVtZW50IHRoZSA8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iYm9vbGVhbiI+Ym9vbGVhbjwvR1RLRE9DTElOSz4oKSBYUGF0aCBmdW5jdGlvbgogICBib29sZWFuIGJvb2xlYW4ob2JqZWN0KQpoZSBib29sZWFuIGZ1bmN0aW9uIGNvbnZlcnRzIGl0cyBhcmd1bWVudCB0byBhIGJvb2xlYW4gYXMgZm9sbG93czoKICAgLSBhIG51bWJlciBpcyB0cnVlIGlmIGFuZCBvbmx5IGlmIGl0IGlzIG5laXRoZXIgcG9zaXRpdmUgb3IKICAgICBuZWdhdGl2ZSB6ZXJvIG5vciBOYU4KICAgLSBhIG5vZGUtc2V0IGlzIHRydWUgaWYgYW5kIG9ubHkgaWYgaXQgaXMgbm9uLWVtcHR5CiAgIC0gYSBzdHJpbmcgaXMgdHJ1ZSBpZiBhbmQgb25seSBpZiBpdHMgbGVuZ3RoIGlzIG5vbi16ZXJvPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldEZyZWVOcyI+PC9hPnhtbFhQYXRoTm9kZVNldEZyZWVOcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbFhQYXRoTm9kZVNldEZyZWVOcyAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucyk7PC9wcmU+PHA+Ck5hbWVzcGFjZSBub2RlIGluIGxpYnhtbCBkb24ndCBtYXRjaCB0aGUgWFBhdGggc2VtYW50aWMuIEluIGEgbm9kZSBzZXQKdGhlIG5hbWVzcGFjZSBub2RlcyBhcmUgZHVwbGljYXRlZCBhbmQgdGhlIG5leHQgcG9pbnRlciBpcyBzZXQgdG8gdGhlCnBhcmVudCBub2RlIGluIHRoZSBYUGF0aCBzZW1hbnRpYy4gQ2hlY2sgaWYgc3VjaCBhIG5vZGUgbmVlZCB0byBiZSBmcmVlZDwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgWFBhdGggbmFtZXNwYWNlIG5vZGUgZm91bmQgaW4gYSBub2Rlc2V0Lgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pjx0YWJsZSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZCBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCI+PGI+Jmx0OyZsdDugeHBhdGg8L2I+PC9hPjwvdGQ+PHRkIGFsaWduPSJyaWdodCI+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCI+PGI+eHBvaW50ZXKgJmd0OyZndDs8L2I+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+Cg==