PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlcyIgeG1sOmxhbmc9ImVzIj48aGVhZD4KPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KPCEtLQogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHhtbCBzb3VyY2U6IERPIE5PVCBFRElUCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgLS0+Cjx0aXRsZT5JbmZvcm1hY2nzbiBHZW5lcmFsIHNvYnJlIGxhcyBOdWV2YXMgQ2FyYWN0ZXLtc3RpY2FzIGVuIEFwYWNoZSBIVFRQIFNlcnZlciAyLjIgLSBTZXJ2aWRvciBIVFRQIEFwYWNoZSBWZXJzafNuIDIuNTwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJNYWluIHN0eWxlc2hlZXQiIC8+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC1sb29zZS0xMDBwYy5jc3MiIHJlbD0iYWx0ZXJuYXRlIHN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTm8gU2lkZWJhciAtIERlZmF1bHQgZm9udCBzaXplIiAvPgo8bGluayBocmVmPSIuL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi9zdHlsZS9jc3MvcHJldHRpZnkuY3NzIiAvPgo8c2NyaXB0IHNyYz0iLi9zdHlsZS9zY3JpcHRzL3ByZXR0aWZ5Lm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KPC9zY3JpcHQ+Cgo8bGluayBocmVmPSIuL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHkgaWQ9Im1hbnVhbC1wYWdlIj48ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuL21vZC8iPk3zZHVsb3M8L2E+IHwgPGEgaHJlZj0iLi9tb2QvcXVpY2tyZWZlcmVuY2UuaHRtbCI+RGlyZWN0aXZhczwvYT4gfCA8YSBocmVmPSJodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0dHBkL0ZBUSI+UHJlZ3VudGFzIEZyZWN1ZW50ZXM8L2E+IHwgPGEgaHJlZj0iLi9nbG9zc2FyeS5odG1sIj5HbG9zYXJpbzwvYT4gfCA8YSBocmVmPSIuL3NpdGVtYXAuaHRtbCI+TWFwYSBkZWwgc2l0aW8gd2ViPC9hPjwvcD4KPHAgY2xhc3M9ImFwYWNoZSI+VmVyc2nzbiAyLjUgZGVsIFNlcnZpZG9yIEhUVFAgQXBhY2hlPC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2ZlYXRoZXIucG5nIiAvPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ1cCI+PGEgaHJlZj0iLi8iPjxpbWcgdGl0bGU9IiZsdDstIiBhbHQ9IiZsdDstIiBzcmM9Ii4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPlNlcnZpZG9yIEhUVFA8L2E+ICZndDsgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8iPkRvY3VtZW50YWNp8248L2E+ICZndDsgPGEgaHJlZj0iLi8iPlZlcnNp824gMi41PC9hPjwvZGl2PjxkaXYgaWQ9InBhZ2UtY29udGVudCI+PGRpdiBpZD0icHJlYW1ibGUiPjxoMT5JbmZvcm1hY2nzbiBHZW5lcmFsIHNvYnJlIGxhcyBOdWV2YXMgQ2FyYWN0ZXLtc3RpY2FzIGVuIEFwYWNoZSBIVFRQIFNlcnZlciAyLjI8L2gxPgo8ZGl2IGNsYXNzPSJ0b3BsYW5nIj4KPHA+PHNwYW4+SWRpb21hcyBkaXNwb25pYmxlczogPC9zcGFuPjxhIGhyZWY9Ii4vZW4vbmV3X2ZlYXR1cmVzXzJfMi5odG1sIiBocmVmbGFuZz0iZW4iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRW5nbGlzaCI+Jm5ic3A7ZW4mbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi9lcy9uZXdfZmVhdHVyZXNfMl8yLmh0bWwiIHRpdGxlPSJFc3Bh8W9sIj4mbmJzcDtlcyZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2ZyL25ld19mZWF0dXJlc18yXzIuaHRtbCIgaHJlZmxhbmc9ImZyIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkZyYW7nYWlzIj4mbmJzcDtmciZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2tvL25ld19mZWF0dXJlc18yXzIuaHRtbCIgaHJlZmxhbmc9ImtvIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IktvcmVhbiI+Jm5ic3A7a28mbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi9wdC1ici9uZXdfZmVhdHVyZXNfMl8yLmh0bWwiIGhyZWZsYW5nPSJwdC1iciIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJQb3J0dWd16nMgKEJyYXNpbCkiPiZuYnNwO3B0LWJyJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vdHIvbmV3X2ZlYXR1cmVzXzJfMi5odG1sIiBocmVmbGFuZz0idHIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iVPxya+dlIj4mbmJzcDt0ciZuYnNwOzwvYT48L3A+CjwvZGl2PgoKICA8cD5Fc3RlIGRvY3VtZW50byBkZXNjcmliZSBhbGd1bm9zIGRlIGxvcyBwcmluY2lwYWxlcyBjYW1iaW9zIGVudHJlIGxhcyB2ZXJzaW9uZXMgMi4wIHkKICAgMi4yIGRlbCBTZXJ2aWRvciBBcGFjaGUgSFRUUC4gUGFyYSBsYXMgbnVldmFzIGNhcmFjdGVy7XN0aWNhcyBkZXNkZSBsYSB2ZXJzafNuIDEuMywgCiAgIGNvbnN1bHRlIDxhIGhyZWY9Im5ld19mZWF0dXJlc18yXzAuaHRtbCI+Mi4wIG51ZXZhcyBjYXJhY3Rlcu1zdGljYXMuPC9hPgogIDwvcD4KPC9kaXY+CjxkaXYgaWQ9InF1aWNrdmlldyI+PHVsIGlkPSJ0b2MiPjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjY29yZSI+TWVqb3JhcyBwcmluY2lwYWxlczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI21vZHVsZSI+TWVqb3JhcyBlbiBN82R1bG9zPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjcHJvZ3JhbXMiPk1lam9yYXMgZGUgUHJvZ3JhbWFzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZGV2ZWxvcGVyIj5DYW1iaW9zIHBhcmEgZGVzYXJyb2xsYWRvcmVzIGRlIE3zZHVsb3M8L2E+PC9saT4KPC91bD48aDM+Q29uc3VsdGUgdGFtYmnpbjwvaDM+PHVsIGNsYXNzPSJzZWVhbHNvIj48bGk+PGEgaHJlZj0iI2NvbW1lbnRzX3NlY3Rpb24iPkNvbWVudGFyaW9zPC9hPjwvbGk+PC91bD48L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJjb3JlIiBpZD0iY29yZSI+TWVqb3JhcyBwcmluY2lwYWxlczwvYT48L2gyPgogICAgCiAgICA8ZGw+CgogICAgICA8ZHQ+QXV0ZW50aWNhY2nzbiB5IEF1dG9yaXphY2nzbjwvZHQ+CiAgICAgIDxkZD5FbCBwYXF1ZXRlIGRlIGxvcyBt82R1bG9zIGRlIGF1dGVudGljYWNp824geSBhdXRvcml6YWNp824gc2UgaGFuIAogICAgICByZWZhY3Rvcml6YWRvLiBFbCBudWV2byBt82R1bG8gbW9kX2F1dGhuX2FsaWFzIChlbGltaW5hZG9zIGVuIGxhcyAKICAgICAgdmVyc2lvbmVzIDIuMy8yLjQpIHB1ZWRlIHNpbXBsaWZpY2FyIGRlIGdyYW4gZm9ybWEgYWxndW5hcyBjb25maWd1cmFjaW9uZXMgCiAgICAgIGRlIGF1dGVudGljYWNp824uIFZlYSB0YW1iaeluIGVsIDxhIGhyZWY9IiNtb2R1bGUiPmNhbWJpbyBkZSBub21icmVzIGRlIAogICAgICBsb3MgbfNkdWxvczwvYT4sIHkgPGEgaHJlZj0iI2RldmVsb3BlciI+bG9zIGNhbWJpb3MgcGFyYSBkZXNhcnJvbGxhZG9yZXM8L2E+IAogICAgICBwYXJhIG3hcyBpbmZvcm1hY2nzbiBzb2JyZSBsb3MgY2FtYmlvcyBkZSBjb21vIGFmZWN0YW4gYSBsb3MgdXN1YXJpb3MsIAogICAgICB5IGEgbG9zIHF1ZSBkZXNhcnJvbGxhbiBt82R1bG9zLgogICAgICA8L2RkPgoKICAgICAgPGR0PkNhY2jpPC9kdD4KICAgICAgPGRkPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9jYWNoZS5odG1sIj5tb2RfY2FjaGU8L2E+PC9jb2RlPiwgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2NhY2hlX2Rpc2suaHRtbCI+bW9kX2NhY2hlX2Rpc2s8L2E+PC9jb2RlPiwgeQogICAgICAgICAgbW9kX21lbV9jYWNoZSAoZWxpbWluYWRvcyBlbiBsYXMgdmVyc2lvbmVzIDIuMy8yLjQpIGhhbiBzdWZyaWRvIG11Y2hvcyAKICAgICAgICAgIGNhbWJpb3MsIHkgYWhvcmEgc2UgY29uc2lkZXJhbiBlbiBjYWxpZGFkIGRlIHByb2R1Y2Np824uIAogICAgICAgICAgRWwgcHJvZ3JhbWEgPGNvZGUgY2xhc3M9InByb2dyYW0iPjxhIGhyZWY9Ii4vcHJvZ3JhbXMvaHRjYWNoZWNsZWFuLmh0bWwiPmh0Y2FjaGVjbGVhbjwvYT48L2NvZGU+IHNlIGhhIGludHJvZHVjaWRvCiAgICAgICAgICBwYXJhIGxpbXBpYXIgbG9zIHNldHVwcyBkZSA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfY2FjaGVfZGlzay5odG1sIj5tb2RfY2FjaGVfZGlzazwvYT48L2NvZGU+LgogICAgICA8L2RkPgoKICAgICAgPGR0PkNvbmZpZ3VyYWNp8248L2R0PgogICAgICA8ZGQ+TGEgY2FwYSBkZSBsYSBjb25maWd1cmFjafNuIHBvciBkZWZlY3RvLCBzZSBoYSBzaW1wbGlmaWNhZG8geSAKICAgICAgbW9kdWxhcml6YWRvLiBTZSBwdWVkZW4gdXRpbGl6YXIgZnJhZ21lbnRvcyBkZSBjb25maWd1cmFjafNuIHBhcmEgCiAgICAgIGhhYmlsaXRhciBsYXMgZnVuY2lvbmVzIGRlIHVzbyBjb236biBxdWUgYWhvcmEgc2UgaW5jbHV5ZW4gY29uIEFwYWNoZSwgCiAgICAgIHkgcHVlZGVuIHNlciBm4WNpbG1lbnRlIGHxYWRpZG9zIGEgbGEgY29uZmlndXJhY2nzbiBkZWwgc2Vydmlkb3IKICAgICAgcHJpbmNpcGFsLjwvZGQ+CgogICAgICA8ZHQ+RGV0ZW5jafNuIGNvbiBlbGVnYW5jaWE8L2R0PgogICAgICA8ZGQ+TG9zIG3zZHVsb3MgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvcHJlZm9yay5odG1sIj5wcmVmb3JrPC9hPjwvY29kZT4sIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL3dvcmtlci5odG1sIj53b3JrZXI8L2E+PC9jb2RlPiB5CiAgICAgICAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9ldmVudC5odG1sIj5ldmVudDwvYT48L2NvZGU+IE1QTXMobfNkdWxvcyBkZSBwcm9jZXNvcyBt+mx0aXBsZXMpIGFob3JhIAogICAgICAgICAgcGVybWl0ZW4gYSA8Y29kZSBjbGFzcz0icHJvZ3JhbSI+PGEgaHJlZj0iLi9wcm9ncmFtcy9odHRwZC5odG1sIj5odHRwZDwvYT48L2NvZGU+IHNlciBhcGFnYWRvL3BhcmFkbyBjb24gZWxlZ2FuY2lhCiAgICAgICAgICBtZWRpYW50ZSBsYSBzZfFhbCAKICAgICAgICAgIDxhIGhyZWY9InN0b3BwaW5nLmh0bWwjZ3JhY2VmdWxzdG9wIj48Y29kZT5ncmFjZWZ1bC1zdG9wPC9jb2RlPjwvYT4uCiAgICAgICAgICBMYSBkaXJlY3RpdmEgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbXBtX2NvbW1vbi5odG1sI2dyYWNlZnVsc2h1dGRvd250aW1lb3V0Ij5HcmFjZWZ1bFNodXRkb3duVGltZW91dDwvYT48L2NvZGU+IHNlIGhhIGHxYWRpZG9zCiAgICAgICAgICBwYXJhIGVzcGVjaWZpY2FyIHVuIHRpZW1wbyBvcGNpb25hbCwgdHJhcyBlbCBjdWFsIGVsIAogICAgICAgICAgPGNvZGUgY2xhc3M9InByb2dyYW0iPjxhIGhyZWY9Ii4vcHJvZ3JhbXMvaHR0cGQuaHRtbCI+aHR0cGQ8L2E+PC9jb2RlPiBzZSBwYXJhcuEgaW5kZXBlbmRpZW50ZW1lbnRlIGRlbCBlc3RhZG8gZGUKICAgICAgICAgIGN1YWxxdWllciBwZXRpY2nzbiBxdWUgc2UgZXN06SBzaXJ2aWVuZG8uPC9kZD4KCiAgICAgIDxkdD5GdW5jaW9uYWxpZGFkIGRlbCBQcm94eTwvZHQ+CiAgICAgIDxkZD5FbCBudWV2byBt82R1bG8gPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3Byb3h5X2JhbGFuY2VyLmh0bWwiPm1vZF9wcm94eV9iYWxhbmNlcjwvYT48L2NvZGU+IHByb3BvcmNpb25hIHVuIAogICAgICBzZXJ2aWNpbyBkZSBiYWxhbmNlbyBkZSBjYXJnYSBwYXJhIGVsIG3zZHVsbyA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfcHJveHkuaHRtbCI+bW9kX3Byb3h5PC9hPjwvY29kZT4uCiAgICAgIEVsIG51ZXZvIG3zZHVsbyA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfcHJveHlfYWpwLmh0bWwiPm1vZF9wcm94eV9hanA8L2E+PC9jb2RlPiBh8WFkZSBzb3BvcnRlIHBhcmEgZWwKICAgICAgPGNvZGU+UHJvdG9jb2xvICBKU2VydiB2ZXJzafNuIDEuMyBkZSBBcGFjaGUgPC9jb2RlPiB1c2FkbyBwb3IKICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly90b21jYXQuYXBhY2hlLm9yZy8iPkFwYWNoZSBUb21jYXQ8L2E+LjwvZGQ+CgogICAgICA8ZHQ+QWN0dWFsaXphY2nzbiBkZSBsYSBMaWJyZXLtYSBkZSBFeHByZXNpb25lcyBSZWd1bGFyZXM8L2R0PgogICAgICA8ZGQ+U2UgaGEgaW5jbHVpZG8gbGEgdmVyc2nzbiA1LjAgZGUgCiAgICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LnBjcmUub3JnLyI+TGlicmVy7WEgZGUgRXhwcmVzaW9uZXMgUmVndWxhcmVzIAogICAgICAgICAgQ29tcGF0aWJsZXMgUGVybCA8L2E+IChQQ1JFKS4gRWwgcHJvZ3JhbWEgPGNvZGUgY2xhc3M9InByb2dyYW0iPjxhIGhyZWY9Ii4vcHJvZ3JhbXMvaHR0cGQuaHRtbCI+aHR0cGQ8L2E+PC9jb2RlPiAKICAgICAgICAgIHB1ZWRlIHNlciBjb25maWd1cmFkbyBwYXJhIHF1ZSB1c2UgdW5hIGluc3RhbGFjafNuIGVuIGVsIHNpc3RlbWEgCiAgICAgICAgICBkZSBQQ1JFIHBhc2FuZG9sZSBjb21vIHBhcuFtZXRybyA8Y29kZT4tLXdpdGgtcGNyZTwvY29kZT4gCiAgICAgICAgICBhbCBjb25maWd1cmUuPC9kZD4KCiAgICAgIDxkdD5GaWx0cmFkbyBJbnRlbGlnZW50ZTwvZHQ+CiAgICAgIDxkZD48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfZmlsdGVyLmh0bWwiPm1vZF9maWx0ZXI8L2E+PC9jb2RlPiBpbnRyb2R1Y2UgdW5hIGNvbmZpZ3VyYWNp824gZGlu4W1pY2EgCiAgICAgIGEgbGEgY2FkZW5hIGRlIGZpbHRybyBkZSBzYWxpZGEuIEhhYmlsaXRhIHF1ZSBsb3MgZmlsdHJvcyBzZWFuIGluc2VydGFkb3MKICAgICAgZGUgZm9ybWEgY29uZGljaW9uYWwsIGJhc2FkbyBlbiBjdWFscXVpZXIgY2FiZWNlcmEgZGUgcGV0aWNp824gbyByZXNwdWVzdGEKICAgICAgbyB1bmEgdmFyaWFibGUgZGUgZW50b3JubywgeSBwcmVzY2luZGUgZGUgbGFzIGRlcGVuZGVuY2lhcyBt4XMgcHJvYmxlbeF0aWNhcwogICAgICBhc+0gY29tbyBwcm9ibGVtYXMgZGUgb3JkZW5hY2nzbiBlbiBsYSBhcnF1aXRlY3R1cmEgMi4wLjwvZGQ+CgogICAgICA8ZHQ+U29wb3J0ZSBkZSBHcmFuZGVzIEZpY2hlcm9zPC9kdD4KICAgICAgPGRkPjxjb2RlIGNsYXNzPSJwcm9ncmFtIj48YSBocmVmPSIuL3Byb2dyYW1zL2h0dHBkLmh0bWwiPmh0dHBkPC9hPjwvY29kZT4gZXMgY3JlYWRvIGFob3JhIGNvbiBzb3BvcnRlIHBhcmEgZmljaGVyb3MgCiAgICAgIG1heW9yZXMgZGUgMkdCIGVuIGxvcyBzaXN0ZW1hcyBVbml4IG1vZGVybm9zIGRlIDMyLWJpdHMuIFRhbWJp6W4gZWwgc29wb3J0ZQogICAgICBwYXJhIGVsIG1hbmVqbyBkZSBjdWVycG9zIGRlIHJlc3B1ZXN0YSAmZ3Q7MkdCIGhhIHNpZG8gYfFhZGlkby48L2RkPgoKICAgICAgPGR0PkV2ZW50b3MgTVBNPC9kdD4KICAgICAgPGRkPkVsIG3zZHVsbyA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9ldmVudC5odG1sIj5ldmVudDwvYT48L2NvZGU+IE1QTSB1c2EgdW4gaGlsbyBzZXBhcmFkbyBwYXJhIGVsIG1hbmVqbwogICAgICBkZSBsYXMgcGV0aWNpb25lcyBLZWVwIEFsaXZlIHkgYWNlcHRhciBsYXMgY29uZXhpb25lcy4gTGFzIHBldGljaW9uZXMgZGUgCiAgICAgIEtlZXAgQWxpdmUgdHJhZGljaW9uYWxtZW50ZSBoYW4gcmVxdWVyaWRvIHVuICJ3b3JrZXIiIGRlIGh0dHBkIHBhcmEgc3UgbWFuZWpvLgogICAgICBFc3RlICJ3b3JrZXIiIGRlZGljYWRvIG5vIHB1ZWRlIHNlciB1dGlsaXphZG8gb3RyYSB2ZXogaGFzdGEgcXVlIGVsIEtlZXAgQWxpdmUKICAgICAgaGF5YSBleHBpcmFkbyBzdSB0aWVtcG8gZGUgY29uZXhp824uIAogICAgICA8L2RkPgoKICAgICAgPGR0PlNvcG9ydGUgZGUgQmFzZSBkZSBEYXRvcyBTUUw8L2R0PgogICAgICA8ZGQ+RWwgbfNkdWxvIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9kYmQuaHRtbCI+bW9kX2RiZDwvYT48L2NvZGU+LCBqdW50byBjb24gZWwgZnJhbWV3b3JrCiAgICAgIDxjb2RlPmFwcl9kYmQ8L2NvZGU+LCBub3MgdHJhZSBzb3BvcnRlIGRpcmVjdG8gZGUgU1FMIHBhcmEgbG9zIG3zZHVsb3MKICAgICAgcXVlIGxvIG5lY2VzaXRhbi4gRXMgY29tcGF0aWJsZSBjb24gbGEgYWdydXBhY2nzbiBkZSBjb25leGlvbmVzIAogICAgICBlbiBwcm9jZXNvcyBNUE0uPC9kZD4KCiAgICA8L2RsPgogIDwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0ibW9kdWxlIiBpZD0ibW9kdWxlIj5NZWpvcmFzIGVuIE3zZHVsb3M8L2E+PC9oMj4KICAgIAogICAgPGRsPgogICAgICA8ZHQ+QXV0ZW50aWNhY2nzbiB5IEF1dG9yaXphY2nzbjwvZHQ+CiAgICAgIDxkZD5Mb3MgbfNkdWxvcyBlbiBlbCBkaXJlY3RvcmlvIGFhYSBzZSBoYW4gcmVub21icmFkbyB5IG9mcmVjZW4gbWVqb3IgCgkgICAgICBzb3BvcnRlIHBhcmEgbGEgYXV0ZW50aWNhY2nzbiBpbXBs7WNpdGEgKGRpZ2VzdCkuCgkgICAgICBQb3IgZWplbXBsbzogCgkgICAgICA8Y29kZT5tb2RfYXV0aDwvY29kZT4gc2UgaGEgZGl2aWRpZG8gYWhvcmEgZW4KCSAgICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hdXRoX2Jhc2ljLmh0bWwiPm1vZF9hdXRoX2Jhc2ljPC9hPjwvY29kZT4geQoJICAgICAgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2F1dGhuX2ZpbGUuaHRtbCI+bW9kX2F1dGhuX2ZpbGU8L2E+PC9jb2RlPjsgPGNvZGU+bW9kX2F1dGhfZGJtPC9jb2RlPiBhaG9yYQoJICAgICAgc2UgbGxhbWEgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2F1dGhuX2RibS5odG1sIj5tb2RfYXV0aG5fZGJtPC9hPjwvY29kZT47IDxjb2RlPm1vZF9hY2Nlc3M8L2NvZGU+IGhhIAoJICAgICAgc2lkbyByZW5vbWJyYWRvIGEgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2F1dGh6X2hvc3QuaHRtbCI+bW9kX2F1dGh6X2hvc3Q8L2E+PC9jb2RlPi4gVGFtYmnpbiBoYXkgdW4gbnVldm8gCgkgICAgICBt82R1bG8gbW9kX2F1dGhuX2FsaWFzKCB5YSBlbGltaW5hZG8gZW4gbGFzIHZlcnNpb25lcyAyLjMvMi40KSBwYXJhIAoJICAgICAgc2ltcGxpZmljYXIgYWxndW5hcyBjb25maWd1cmFjaW9uZXMgZGUgYXV0ZW50aWNhY2nzbi4KICAgICAgPC9kZD4KCiAgICAgIDxkdD48Y29kZSBjbGFzcz0ibW9kdWxlIj5tb2RfYXV0aG56X2xkYXA8L2NvZGU+PC9kdD4KICAgICAgPGRkPkVzdGUgbfNkdWxvIHNlIGhhIHRyYe1kbyBkZSBsYSB2ZXJzafNuIDIuMCBkZWwgbfNkdWxvCiAgICAgICAgICA8Y29kZT5tb2RfYXV0aF9sZGFwPC9jb2RlPiBhIGxhIHZlcnNp824gMi4yIGRlbCBmcmFtZXdvcmsgZGUgCiAgICAgICAgICA8Y29kZT5BdXRlbnRpY2FjafNuL0F1dG9yaXphY2nzbjwvY29kZT4uIExhcyBudWV2YXMgY2FyYWN0ZXLtc3RpY2FzIAogICAgICAgICAgaW5jbHV5ZW4gZWwgdXNvIGRlICB2YWxvcmVzIGRlIExEQVAgeSBmaWx0cm9zIGRlIGL6c3F1ZWRhIGNvbXBsZWpvcyAKICAgICAgICAgIHBhcmEgbGEgZGlyZWN0aXZhIAogICAgICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2F1dGh6X2NvcmUuaHRtbCNyZXF1aXJlIj5SZXF1aXJlPC9hPjwvY29kZT4uPC9kZD4KCiAgICAgIDxkdD48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfYXV0aHpfb3duZXIuaHRtbCI+bW9kX2F1dGh6X293bmVyPC9hPjwvY29kZT48L2R0PgogICAgICA8ZGQ+VW4gbnVldm8gbfNkdWxvIHF1ZSBhdXRvcml6YSBlbCBhY2Nlc28gYSBmaWNoZXJvcyBiYXPhbmRvc2UgZW4gZWwgCiAgICAgIAlwcm9waWV0YXJpbyBkZWwgZmljaGVybyBlbiBlbCBzaXN0ZW1hIG9wZXJhdGl2by4KICAgICAgPC9kZD4KCiAgICAgIDxkdD48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfdmVyc2lvbi5odG1sIj5tb2RfdmVyc2lvbjwvYT48L2NvZGU+PC9kdD4KICAgICAgPGRkPkVzdGUgbnVldm8gbfNkdWxvIHBlcm1pdGUgcXVlIHNlIGhhYmlsaXRlbiBibG9xdWVzIGRlIGNvbmZpZ3VyYWNp824gIAogICAgICAJZGVwZW5kaWVuZG8gZGUgbGEgdmVyc2nzbiBkZWwgc2Vydmlkb3IuCiAgICAgIDwvZGQ+CgogICAgICA8ZHQ+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2luZm8uaHRtbCI+bW9kX2luZm88L2E+PC9jb2RlPjwvZHQ+CiAgICAgIDxkZD5TZSBoYSBh8WFkaWRvIHVuIG51ZXZvIGFyZ3VtZW50byBhbCA8Y29kZT5jb25maWc8L2NvZGU+IHF1ZSBtdWVzdHJhCiAgICAgIGxhcyBjb25maWd1cmFjaW9uZXMgZGUgbGFzIGRpcmVjdGl2YXMgcXVlIHNlIGxlIHBhc2FuIGEgQXBhY2hlLCBpbmNsdXllbmRvCiAgICAgIGxvcyBub21icmVzIGRlIGxvcyBmaWNoZXJvcyB5IGVuIHF1ZSBsaW5lYSBzZSBlbmN1ZW50cmEgZGljaGEgY29uZmlndXJhY2nzbi4KICAgICAgRXN0ZSBt82R1bG8gYWRlbeFzIG11ZXN0cmEgZW4gb3JkZW4gdG9kYXMgbGFzIHBldGljaW9uZXMgZGUgaG9va3MgeSBpbmZvcm1hY2nzbiAKICAgICAgYWRpY2lvbmFsIGEgbGEgaG9yYSBkZSBjb21waWxhciwgc2ltaWxhciBhIDxjb2RlPmh0dHBkIC1WPC9jb2RlPi48L2RkPgoKICAgICAgPGR0Pjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9zc2wuaHRtbCI+bW9kX3NzbDwvYT48L2NvZGU+PC9kdD4KICAgICAgCiAgICAgIDxkZD5TZSBoYSBh8WFkaWRvIHNvcG9ydGUgcGFyYSBlbCAKICAgICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjgxNy50eHQiPlJGQyAyODE3PC9hPiwgcXVlIHBlcm1pdGUKICAgICAgICAgY29uZXhpb25lcyBwYXJhIHF1ZSBzZSBhY3R1YWxpY2VuIGRlIHRleHRvIHBsYW5vIGFsIGNpZnJhZG8gVExTLjwvZGQ+CgogICAgICA8ZHQ+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2ltYWdlbWFwLmh0bWwiPm1vZF9pbWFnZW1hcDwvYT48L2NvZGU+PC9kdD4KICAgICAgPGRkPjxjb2RlPm1vZF9pbWFwPC9jb2RlPiBTZSBoYSByZW5vbWJyYWRvIGEgCiAgICAgICAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfaW1hZ2VtYXAuaHRtbCI+bW9kX2ltYWdlbWFwPC9hPjwvY29kZT4gcGFyYSBldml0YXIgY29uZnVzafNuIGVuIGVsIHVzdWFyaW8uCiAgICAgIDwvZGQ+CiAgICA8L2RsPgoKICA8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9InByb2dyYW1zIiBpZD0icHJvZ3JhbXMiPk1lam9yYXMgZGUgUHJvZ3JhbWFzPC9hPjwvaDI+CiAgICAKICAgIDxkbD4KICAgICAgPGR0Pjxjb2RlIGNsYXNzPSJwcm9ncmFtIj48YSBocmVmPSIuL3Byb2dyYW1zL2h0dHBkLmh0bWwiPmh0dHBkPC9hPjwvY29kZT48L2R0PgogICAgICA8ZGQ+U2UgaGEgYfFhZGlkbyB1bmEgbnVldmEgb3BjafNuIGVuIGxhIGztbmVhIGRlIGNvbWFuZG9zIDxjb2RlPi1NPC9jb2RlPiwKICAgICAgZGljaGEgb3BjafNuIGxpc3RhIHRvZG9zIGxvcyBt82R1bG9zIHF1ZSBzZSBjYXJnYW4gYmFz4W5kb3NlIGVuIGxhIAogICAgICBjb25maWd1cmFjafNuIGFjdHVhbC4gQSBkaWZlcmVuY2lhIGRlIGxhIG9wY2nzbiA8Y29kZT4tbDwvY29kZT4sIGVzdGEgbGlzdGEKICAgICAgaW5jbHV5ZSBsb3MgRFNPcyBjYXJnYWRvcyBtZWRpYW50ZSBlbCBt82R1bG88Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2Rfc28uaHRtbCI+bW9kX3NvPC9hPjwvY29kZT4uCiAgCSAgPC9kZD4KCiAgICAgIDxkdD48Y29kZSBjbGFzcz0icHJvZ3JhbSI+PGEgaHJlZj0iLi9wcm9ncmFtcy9odHR4dDJkYm0uaHRtbCI+aHR0eHQyZGJtPC9hPjwvY29kZT48L2R0PgogICAgICA8ZGQ+VW4gbnVldm8gcHJvZ3JhbWEgcGFyYSBnZW5lcmFyIGFyY2hpdm9zIGRibSBkZXNkZSBhcmNoaXZvcyBkZSB0ZXh0byAKICAgICAgCWNvbW8gZW50cmFkYSwgcGFyYSBzdSB1c28gZW4KICAgICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfcmV3cml0ZS5odG1sI3Jld3JpdGVtYXAiPlJld3JpdGVNYXA8L2E+PC9jb2RlPgogICAgICAgICAgY29uIGVsIG1hcGEgZGUgdGlwbyA8Y29kZT5kYm08L2NvZGU+LjwvZGQ+CiAgICA8L2RsPgogIDwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iZGV2ZWxvcGVyIiBpZD0iZGV2ZWxvcGVyIj5DYW1iaW9zIHBhcmEgZGVzYXJyb2xsYWRvcmVzIGRlIE3zZHVsb3M8L2E+PC9oMj4KICAgIAogICAgPGRsPgogICAgICA8ZHQ+PGEgY2xhc3M9Imdsb3NzYXJ5bGluayIgaHJlZj0iLi9nbG9zc2FyeS5odG1sI2FwciIgdGl0bGU9InZlciBnbG9zYXJpbyI+QVBSPC9hPiAxLjAgQVBJPC9kdD4KCiAgICAgIDxkZD5BcGFjaGUgMi4yIHVzYSBsYSBBUEkgZGUgQVBSLiBUb2RhcyBsYXMgZnVuY2lvbmVzICB5IHPtbWJvbG9zIG9ic29sZXRhcwogICAgICBzZSBoYW4gZWxpbWluYWRvIGRlIDxjb2RlPkFQUjwvY29kZT4geQogICAgICAgICAgPGNvZGU+QVBSLVV0aWw8L2NvZGU+LiBQYXJhIG1hcyBkZXRhbGxlcyBzb2JyZSBkaWNob3MgY2FtYmlvcwogICAgICAgICAgdmF5YSBhIGxhIAogICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2Fwci5hcGFjaGUub3JnLyI+cOFnaW5hIGRlIEFQUjwvYT4uPC9kZD4KCiAgICAgIDxkdD5BdXRlbnRpY2FjafNuIHkgQXV0b3JpemFjafNuPC9kdD4KICAgICAgPGRkPkVsIHBhcXVldGUgZGUgbfNkdWxvcyBkZSBhdXRlbnRpY2FjafNuIHkgYXV0b3JpemFjafNuIHNlIGhhbiByZW5vbWJyYWRvIAogICAgICAgICAgY29tbyBzZSBtdWVzdHJhIGVuIGxhcyBzaWd1aWVudGVzIGztbmVhczoKICAgICAgICAgIDx1bD4KICAgICAgICAgIDxsaT48Y29kZT5tb2RfYXV0aF8qPC9jb2RlPiAgLSZndDsgTfNkdWxvcyBxdWUgaW1wbGVtZW50YW4gdW4gbWVjYW5pc21vIGRlIAogICAgICAgICAgYXV0ZW50aWNhY2nzbiBwb3IgSFRUUC48L2xpPgogICAgICAgICAgPGxpPjxjb2RlPm1vZF9hdXRobl8qPC9jb2RlPiAtJmd0OyBN82R1bG9zIHF1ZSBwcm9wb3JjaW9uYW4gdW4gYmFja2VuZAogICAgICAgICAgIHByb3ZlZWRvciBkZSBhdXRlbnRpY2FjafNuLjwvbGk+CiAgICAgICAgICA8bGk+PGNvZGU+bW9kX2F1dGh6Xyo8L2NvZGU+IC0mZ3Q7IE3zZHVsb3MgcXVlIGltcGxlbWVudGFuIGF1dG9yaXphY2nzbiAKICAgICAgICAgIChvIGFjY2Vzbyk8L2xpPgogICAgICAgICAgPGxpPjxjb2RlPm1vZF9hdXRobnpfKjwvY29kZT4gLSZndDsgTfNkdWxvIHF1ZSBpbXBsZW1lbnRhIGFtYmFzIG9wY2lvbmVzCiAgICAgICAgICBhdXRlbnRpY2FjafNuICZhbXA7IGF1dG9yaXphY2nzbjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgICAgSGF5IHVuIG51ZXZvIGVzcXVlbWEgZGUgcHJvdmVlZG9yIGRlIGxhIGF1dGVudGljYWNp824gZW4gZWwgYmFja2VuZCAKICAgICAgICAgIGxvIHF1ZSBmYWNpbGl0YSBlbiBncmFuIG1lZGlkYSBsYSBjb25zdHJ1Y2Np824gZGUgbnVldm9zIG1vdG9yZXMgCiAgICAgICAgICBkZSBhdXRlbnRpY2FjafNuLgogICAgICAgICAgPC9kZD4KCiAgICAgIDxkdD5SZWdpc3RybyBkZSBlcnJvcmVzIGRlIENvbmV4afNuPC9kdD4KCiAgICAgIDxkZD5VbmEgbnVldmEgZnVuY2nzbiA8Y29kZT5hcF9sb2dfY2Vycm9yPC9jb2RlPiBoYSBzaWRvIGHxYWRpZGEgcGFyYSAKICAgICAgcmVnaXN0cmFyIGxvcyBlcnJvcmVzIHF1ZSBvY3VycmVuIGVuIGxhIGNvbmV4afNuIGRlbCBjbGllbnRlLiBDdWFuZG8gc2UKICAgICAgcmVnaXN0cmEgZWwgZXJyb3IsIGVsIG1lbnNhamUgaW5jbHV5ZSBsYSBkaXJlY2Np824gSVAgZGVsIGNsaWVudGUuPC9kZD4KCiAgICAgIDxkdD5B8WFkaWRvIEhvb2tzIHBhcmEgbGEgY29uZmlndXJhY2nzbiBkZSBUZXN0PC9kdD4KCiAgICAgIDxkZD5VbiBudWV2byBob29rLCA8Y29kZT50ZXN0X2NvbmZpZzwvY29kZT4gc2UgaGEgYfFhZGlkbyBwYXJhIGF5dWRhciBhIAogICAgICBsb3MgbfNkdWxvcyBxdWUgbmVjZXNpdGFuIGVqZWN1dGFyIHPzbG8gY/NkaWdvIGVzcGVjaWFsIGN1YW5kbyBlbCB1c3VhcmlvIAogICAgICBwYXNhIGNvbW8gcGFy4W1ldHJvIDxjb2RlPi10PC9jb2RlPiBhIDxjb2RlIGNsYXNzPSJwcm9ncmFtIj48YSBocmVmPSIuL3Byb2dyYW1zL2h0dHBkLmh0bWwiPmh0dHBkPC9hPjwvY29kZT4uPC9kZD4KCiAgICAgIDxkdD5Db25maWd1cmFjafNuIGRlIHRhbWHxbyBkZSBwaWxhIHBhcmEgbG9zIHByb2Nlc29zIE1QTSdzPC9kdD4KCiAgICAgIDxkZD5VbmEgbnVldmEgZGlyZWN0aXZhLCA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tcG1fY29tbW9uLmh0bWwjdGhyZWFkc3RhY2tzaXplIj5UaHJlYWRTdGFja1NpemU8L2E+PC9jb2RlPiBzZSBoYSBh8WFkaWRvIHBhcmEgY29uZmlndXJhciAKICAgICAgICAgIGVsIHRhbWHxbyBkZSBsYSBwaWxhIGRlICB0b2RvcyBsb3MgaGlsb3MgZGUgTVBNcy4gRXN0YSBkaXJlY3RpdmEKICAgICAgICAgIGVzIHJlcXVlcmlkYSBwb3IgYWxn+m4gbfNkdWxvIGRlIHRlcmNlcm9zIGVuIHBsYXRhZm9ybWFzIHF1ZSB0aWVuZW4KICAgICAgICAgIHBvciBkZWZlY3RvIHVuYSBwaWxhIGNvbiB1biB0YW1h8W8gcGVxdWXxby48L2RkPgoKICAgICAgPGR0Pk1hbmVqbyBkZSBwcm90b2NvbG8gcGFyYSBsb3MgZmlsdHJvcyBkZSBzYWxpZGE8L2R0PgoKICAgICAgPGRkPkVuIGVsIHBhc2FkbywgY2FkYSBmaWx0cm8gaGEgc2lkbyByZXNwb25zYWJsZSBkZSBnYXJhbnRpemFyCiAgICAgICBxdWUgZ2VuZXJhIGxhcyBjYWJlY2VyYXMgZGUgcmVzcHVlc3RhIGNvcnJlY3RhcyBkb25kZSBsZXMgYWZlY3RhLiAgCiAgICAgICBMb3MgZmlsdHJvcyBhaG9yYSBkZWxlZ2FuIGxhIGFkbWluaXN0cmFjafNuIGNvbfpuIGRlbCBwcm90b2NvbG8KICAgICAgIGEgbG9zIG3zZHVsb3MgCiAgICAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfZmlsdGVyLmh0bWwiPm1vZF9maWx0ZXI8L2E+PC9jb2RlPiwgdXNhbmRvIGxsYW1hZGFzIGEKICAgICAgIDxjb2RlPmFwX3JlZ2lzdGVyX291dHB1dF9maWx0ZXJfcHJvdG9jb2w8L2NvZGU+IPMKICAgICAgIDxjb2RlPmFwX2ZpbHRlcl9wcm90b2NvbDwvY29kZT4uPC9kZD4KCiAgICAgIDxkdD5Nb25pdG9yIGRlIGhvb2tzIGHxYWRpZG88L2R0PgogICAgICA8ZGQ+TW9uaXRvciBob29rIGhhYmlsaXRhIGEgbG9zIG3zZHVsb3MgYSBlamVjdXRhciB0YXJlYXMgcmVndWxhcmVzCiAgICAgICAgbyBwcm9ncmFtYWRhcyBlbiBlbCBwcm9jZXNvIHBhZHJlIChyYe16KS48L2RkPgoKICAgICAgPGR0PkNhbWJpbyBkZSBleHByZXNpb25lcyByZWd1bGFyZXMgZW4gbGEgQVBJPC9kdD4KCiAgICAgIDxkZD5MYSBjYWJlY2VyYSA8Y29kZT5wY3JlcG9zaXguaDwvY29kZT4geWEgbm8gZXN0YSBkaXNwb25pYmxlOwogICAgICBzZSBoYSBjYW1iaWFkbyBwb3IgbGEgbnVldmEgPGNvZGU+YXBfcmVnZXguaDwvY29kZT4uIExhIAogICAgICBpbXBsZW1lbnRhY2nzbiBQT1NJWC4yIGRlIDxjb2RlPnJlZ2V4Lmg8L2NvZGU+IGV4cHVlc3RhIHBvciBsYSBjYWJlY2VyYSAKICAgICAgYW50aWd1YSwgZXN04SBhaG9yYSBkaXNwb25pYmxlIGVuIGVsIGVzcGFjaW8gZGUgbm9tYnJlIGNvbiA8Y29kZT5hcF88L2NvZGU+CiAgICAgIGVuIGxhIGNhYmVjZXJhIDxjb2RlPmFwX3JlZ2V4Lmg8L2NvZGU+LiBsbGFtYSBhIDxjb2RlPnJlZ2NvbXA8L2NvZGU+LAogICAgICA8Y29kZT5yZWdleGVjPC9jb2RlPiB5IGFz7SBzdWNlc2l2YW1lbnRlIHB1ZWRlbiBzZXIgc3VzdGl0dWlkb3MgcG9yIAogICAgICBsbGFtYWRhcyBhIDxjb2RlPmFwX3JlZ2NvbXA8L2NvZGU+LCA8Y29kZT5hcF9yZWdleGVjPC9jb2RlPi48L2RkPgoKICAgICAgPGR0PkRCRCBGcmFtZXdvcmsgKEFQSSBkZSBiYXNlIGRlIGRhdG9zIFNRTCk8L2R0PgoKICAgICAgPGRkPjxwPkNvbiBBcGFjaGUgMS54IHkgMi4wLCBhbGd1bm9zIG3zZHVsb3MgcXVlIHJlcXVpZXJlbiB1biAKICAgICAgCWJhY2tlbmQgZGUgU1FMIGRlYmVuIHRvbWFyIGxhIHJlc3BvbnNhYmlsaWRhZCBkZSBnZXN0aW9uYXIgcG9yIHPtIAogICAgICAJbWlzbW9zLiBBcGFydGUgZGUgcmVpbnZlbnRhciBsYSBydWVkYSwgZXN0byBwdWVkZSBsbGVnYXIgYSBzZXIKICAgICAgCWluZWZpY2llbnRlLCBwb3IgZWplbXBsbyBjdWFuZG8gdmFyaW9zIG3zZHVsb3MgY2FkYSB1bm8gbWFudGllbmUgc3UgcHJvcGlhIGNvbmV4afNuLgogICAgICAJPC9wPgoKICAgICAgPHA+TGFzIHZlcnNpb25lcyBkZSBBcGFjaGUgcG9zdGVyaW9yZXMgYSBsYSAyLjEgcHJvcG9yY2lvbmEgbGEgQVBJIGRlIDxjb2RlPmFwX2RiZDwvY29kZT4gCiAgICAgIHBhcmEgZWwgbWFuZWpvIGRlIGxhcyBjb25leGlvbmVzIGEgbGFzIGJhc2VzIGRlIGRhdG9zIChpbmNsdXllbmRvIGVzdHJhdGVnaWEgCiAgICAgIG9wdGltaXphZGFzIHBhcmEgbG9zIGhpbG9zIG8gbm8gZGUgTVBNcyksIG1pZW50cmFzIHF1ZSBsYXMgdmVyc2lvbmVzIGRlIAogICAgICBBUFIgMS4yIHkgcG9zdGVyaW9yZXMgcHJvcG9yY2lvbmEgbGEgQVBJIDxjb2RlPmFwcl9kYmQ8L2NvZGU+IHBhcmEgCiAgICAgIGludGVyYWN0dWFyIGNvbiBsYSBiYXNlIGRlIGRhdG9zLjwvcD4KCiAgICAgIDxwPkxvcyBudWV2b3MgbfNkdWxvcyBERUJFTiB1c2FyIGVzdGFzIEFQSXMgcGFyYSB0b2RhcyBsYXMgb3BlcmFjaW9uZXMgZW4gCiAgICAgIAliYXNlcyBkZSBkYXRvcyBTUUwuIEFwbGljYWNpb25lcyBleGlzdGVudGVzIERFQkVOIHNlciBhY3R1YWxpemFkYXMgcGFyYSAKICAgICAgCXF1ZSBsbyB1c2VuIGN1YW5kbyBzZWEgcG9zaWJsZSwgZGUgZm9ybWEgdHJhbnNwYXJlbnRlIG8gY29tbyBvcGNp824gcmVjb21lbmRhZGEKICAgICAgCXBhcmEgc3VzIHVzdWFyaW9zLjwvcD4KICAgICAgPC9kZD4KICAgIDwvZGw+CiAgPC9kaXY+PC9kaXY+CjxkaXYgY2xhc3M9ImJvdHRvbWxhbmciPgo8cD48c3Bhbj5JZGlvbWFzIGRpc3BvbmlibGVzOiA8L3NwYW4+PGEgaHJlZj0iLi9lbi9uZXdfZmVhdHVyZXNfMl8yLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2VzL25ld19mZWF0dXJlc18yXzIuaHRtbCIgdGl0bGU9IkVzcGHxb2wiPiZuYnNwO2VzJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vZnIvbmV3X2ZlYXR1cmVzXzJfMi5odG1sIiBocmVmbGFuZz0iZnIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRnJhbudhaXMiPiZuYnNwO2ZyJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4va28vbmV3X2ZlYXR1cmVzXzJfMi5odG1sIiBocmVmbGFuZz0ia28iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iS29yZWFuIj4mbmJzcDtrbyZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL3B0LWJyL25ld19mZWF0dXJlc18yXzIuaHRtbCIgaHJlZmxhbmc9InB0LWJyIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IlBvcnR1Z3XqcyAoQnJhc2lsKSI+Jm5ic3A7cHQtYnImbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi90ci9uZXdfZmVhdHVyZXNfMl8yLmh0bWwiIGhyZWZsYW5nPSJ0ciIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJU/HJr52UiPiZuYnNwO3RyJm5ic3A7PC9hPjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgc3JjPSIuL2ltYWdlcy91cC5naWYiIGFsdD0idG9wIiAvPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0aW9uIj48aDI+PGEgaWQ9ImNvbW1lbnRzX3NlY3Rpb24iIG5hbWU9ImNvbW1lbnRzX3NlY3Rpb24iPkNvbWVudGFyaW9zPC9hPjwvaDI+PGRpdiBjbGFzcz0id2FybmluZyI+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+PGJyIC8+VGhpcyBpcyBub3QgYSBRJmFtcDtBIHNlY3Rpb24uIENvbW1lbnRzIHBsYWNlZCBoZXJlIHNob3VsZCBiZSBwb2ludGVkIHRvd2FyZHMgc3VnZ2VzdGlvbnMgb24gaW1wcm92aW5nIHRoZSBkb2N1bWVudGF0aW9uIG9yIHNlcnZlciwgYW5kIG1heSBiZSByZW1vdmVkIGFnYWluIGJ5IG91ciBtb2RlcmF0b3JzIGlmIHRoZXkgYXJlIGVpdGhlciBpbXBsZW1lbnRlZCBvciBjb25zaWRlcmVkIGludmFsaWQvb2ZmLXRvcGljLiBRdWVzdGlvbnMgb24gaG93IHRvIG1hbmFnZSB0aGUgQXBhY2hlIEhUVFAgU2VydmVyIHNob3VsZCBiZSBkaXJlY3RlZCBhdCBlaXRoZXIgb3VyIElSQyBjaGFubmVsLCAjaHR0cGQsIG9uIEZyZWVub2RlLCBvciBzZW50IHRvIG91ciA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9saXN0cy5odG1sIj5tYWlsaW5nIGxpc3RzPC9hPi48L2Rpdj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0vLy0tPjwhW0NEQVRBWy8vPjwhLS0KdmFyIGNvbW1lbnRzX3Nob3J0bmFtZSA9ICdodHRwZCc7CnZhciBjb21tZW50c19pZGVudGlmaWVyID0gJ2h0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvdHJ1bmsvbmV3X2ZlYXR1cmVzXzJfMi5odG1sJzsKKGZ1bmN0aW9uKHcsIGQpIHsKICAgIGlmICh3LmxvY2F0aW9uLmhvc3RuYW1lLnRvTG93ZXJDYXNlKCkgPT0gImh0dHBkLmFwYWNoZS5vcmciKSB7CiAgICAgICAgZC53cml0ZSgnPGRpdiBpZD0iY29tbWVudHNfdGhyZWFkIj48XC9kaXY+Jyk7CiAgICAgICAgdmFyIHMgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogICAgICAgIHMudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIHMuYXN5bmMgPSB0cnVlOwogICAgICAgIHMuc3JjID0gJ2h0dHBzOi8vY29tbWVudHMuYXBhY2hlLm9yZy9zaG93X2NvbW1lbnRzLmx1YT9zaXRlPScgKyBjb21tZW50c19zaG9ydG5hbWUgKyAnJnBhZ2U9JyArIGNvbW1lbnRzX2lkZW50aWZpZXI7CiAgICAgICAgKGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSB8fCBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF0pLmFwcGVuZENoaWxkKHMpOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgZC53cml0ZSgnPGRpdiBpZD0iY29tbWVudHNfdGhyZWFkIj5Db21tZW50cyBhcmUgZGlzYWJsZWQgZm9yIHRoaXMgcGFnZSBhdCB0aGUgbW9tZW50LjxcL2Rpdj4nKTsKICAgIH0KfSkod2luZG93LCBkb2N1bWVudCk7Ci8vLS0+PCFdXT48L3NjcmlwdD48L2Rpdj48ZGl2IGlkPSJmb290ZXIiPgo8cCBjbGFzcz0iYXBhY2hlIj5Db3B5cmlnaHQgMjAxNiBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uPGJyIC8+TGljZW5jaWEgYmFqbyBsb3MgdOlybWlub3MgZGUgbGEgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIj5BcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjA8L2E+LjwvcD4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4vbW9kLyI+TfNkdWxvczwvYT4gfCA8YSBocmVmPSIuL21vZC9xdWlja3JlZmVyZW5jZS5odG1sIj5EaXJlY3RpdmFzPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvaHR0cGQvRkFRIj5QcmVndW50YXMgRnJlY3VlbnRlczwvYT4gfCA8YSBocmVmPSIuL2dsb3NzYXJ5Lmh0bWwiPkdsb3NhcmlvPC9hPiB8IDxhIGhyZWY9Ii4vc2l0ZW1hcC5odG1sIj5NYXBhIGRlbCBzaXRpbyB3ZWI8L2E+PC9wPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tLy8tLT48IVtDREFUQVsvLz48IS0tCmlmICh0eXBlb2YocHJldHR5UHJpbnQpICE9PSAndW5kZWZpbmVkJykgewogICAgcHJldHR5UHJpbnQoKTsKfQovLy0tPjwhXV0+PC9zY3JpcHQ+CjwvYm9keT48L2h0bWw+