PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPjxodG1sPjxoZWFkPjx0aXRsZT5BcGFjaGUgQXhpczIvQyAtIFByb2plY3QgSW5mb3JtYXRpb248L3RpdGxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCI+CiAgICAgICAgICBAaW1wb3J0IHVybCgiLi9zdHlsZS9tYXZlbi1iYXNlLmNzcyIpOwogICAgICAgICAgCgkJCSAgICBAaW1wb3J0IHVybCgiLi9zdHlsZS9tYXZlbi1jbGFzc2ljLmNzcyIpOzwvc3R5bGU+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuL3N0eWxlL3ByaW50LmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJwcmludCI+PC9saW5rPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPjwvbWV0YT48L2hlYWQ+PGJvZHkgY2xhc3M9ImNvbXBvc2l0ZSI+PGRpdiBpZD0iYmFubmVyIj48YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvIiBpZD0ib3JnYW5pemF0aW9uTG9nbyI+PGltZyBhbHQ9IkFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIiBzcmM9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9pbWFnZXMvYXNmLWxvZ28uZ2lmIj48L2ltZz48L2E+PGEgaHJlZj0iaHR0cDovL3dzLmFwYWNoZS5vcmcvYXhpczIvYyIgaWQ9InByb2plY3RMb2dvIj48aW1nIGFsdD0iQXBhY2hlIEF4aXMyL0MiIHNyYz0iaHR0cDovL3dzLmFwYWNoZS5vcmcvYXhpczIvaW1hZ2VzL2F4aXMuanBnIj48L2ltZz48L2E+PGRpdiBjbGFzcz0iY2xlYXIiPjxocj48L2hyPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImJyZWFkY3J1bWJzIj48ZGl2IGNsYXNzPSJ4bGVmdCI+CiAgICAgICAgICAgICAgICAJTGFzdCBwdWJsaXNoZWQ6IDE3IEFwcmlsIDIwMDkKICAgICAgICAgICAgICAgICAgfCBEb2MgZm9yIDEuNi4wPC9kaXY+PGRpdiBjbGFzcz0ieHJpZ2h0Ij48L2Rpdj48ZGl2IGNsYXNzPSJjbGVhciI+PGhyPjwvaHI+PC9kaXY+PC9kaXY+PGRpdiBpZD0ibGVmdENvbHVtbiI+PGRpdiBpZD0ibmF2Y29sdW1uIj48ZGl2IGlkPSJtZW51QXBhY2hlX0F4aXMyX0MiPjxoNT5BcGFjaGUgQXhpczIvQzwvaDU+PHVsPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QXBhY2hlIEF4aXMyL0MgSG9tZTwvYT48L2xpPjxsaSBjbGFzcz0iZXhwYW5kZWQiPjxhIGhyZWY9Imh0dHA6Ly93cy5hcGFjaGUub3JnL2F4aXMyL2MvZG93bmxvYWQuY2dpIiBjbGFzcz0iZXh0ZXJuYWxMaW5rIiB0aXRsZT0iRXh0ZXJuYWwgTGluayI+RG93bmxvYWQgQXhpczIvQzwvYT48dWw+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSJodHRwOi8vd3MuYXBhY2hlLm9yZy9heGlzMi9jL2Rvd25sb2FkLmNnaSIgY2xhc3M9ImV4dGVybmFsTGluayIgdGl0bGU9IkV4dGVybmFsIExpbmsiPlJlbGVhc2VzPC9hPjwvbGk+PC91bD48L2xpPjxsaSBjbGFzcz0iZXhwYW5kZWQiPjxhIGhyZWY9ImRvY3MvaW5kZXguaHRtbCI+RG9jdW1lbnRhdGlvbjwvYT48dWw+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSJkb2NzL2luc3RhbGxhdGlvbmd1aWRlLmh0bWwiPkluc3RhbGxhdGlvbiBHdWlkZTwvYT48L2xpPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iZG9jcy9heGlzMmNfbWFudWFsLmh0bWwiPkF4aXMyL0MgbWFudWFsPC9hPjwvbGk+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSJkb2NzL2ZhcS5odG1sIj5BeGlzMi9DIEZBUTwvYT48L2xpPjwvdWw+PC9saT48bGkgY2xhc3M9ImV4cGFuZGVkIj48YSBocmVmPSJsaXN0c19pc3N1ZXMuaHRtbCI+R2V0IEludm9sdmVkPC9hPjx1bD48bGkgY2xhc3M9Im5vbmUiPjxhIGhyZWY9Imxpc3RzX2lzc3Vlcy5odG1sIj5NYWlsaW5nIExpc3RzICZhbXA7IElzc3VlIFRyYWNraW5nPC9hPjwvbGk+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSJzdm4uaHRtbCI+Q2hlY2tvdXQgU291cmNlIENvZGU8L2E+PC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJleHBhbmRlZCI+PGEgaHJlZj0iY29kaW5nX2NvbnZlbnRpb25zLmh0bWwiPkRldmVsb3BlciBHdWlkZWxpbmVzPC9hPjx1bD48bGkgY2xhc3M9Im5vbmUiPjxhIGhyZWY9ImNvZGluZ19jb252ZW50aW9ucy5odG1sIj5Db2RpbmcgQ29udmVudGlvbjwvYT48L2xpPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0idmVyc2lvbmluZy5odG1sIj5WZXJzaW9ubmluZzwvYT48L2xpPjwvdWw+PC9saT48bGkgY2xhc3M9ImV4cGFuZGVkIj48YSBocmVmPSJ0ZWFtLWxpc3QuaHRtbCI+UHJvamVjdCBJbmZvcm1hdGlvbjwvYT48dWw+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSJ0ZWFtLWxpc3QuaHRtbCI+UHJvamVjdCBUZWFtPC9hPjwvbGk+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSJodHRwOi8vc3ZuLmFwYWNoZS5vcmcvdmlld2N2cy5jZ2kvd2Vic2VydmljZXMvYXhpczIvdHJ1bmsvYy8iIGNsYXNzPSJleHRlcm5hbExpbmsiIHRpdGxlPSJFeHRlcm5hbCBMaW5rIj5Tb3VyY2UgQ29kZTwvYT48L2xpPjwvdWw+PC9saT48L3VsPjwvZGl2PjxhIGhyZWY9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnLyIgdGl0bGU9IkJ1aWx0IGJ5IE1hdmVuIiBpZD0icG93ZXJlZEJ5Ij48aW1nIGFsdD0iQnVpbHQgYnkgTWF2ZW4iIHNyYz0iLi9pbWFnZXMvbG9nb3MvbWF2ZW4tYnV0dG9uLTEucG5nIj48L2ltZz48L2E+PC9kaXY+PC9kaXY+PGRpdiBpZD0iYm9keUNvbHVtbiI+PGRpdiBjbGFzcz0iY29udGVudEJveCI+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGEgbmFtZT0iR2VuZXJhbF9Qcm9qZWN0X0luZm9ybWF0aW9uIj48L2E+PGgyPkdlbmVyYWwgUHJvamVjdCBJbmZvcm1hdGlvbjwvaDI+PHA+CiAgICAgICAgVGhpcyBkb2N1bWVudCBwcm92aWRlcyBhbiBvdmVydmlldyBvZiB0aGUgdmFyaW91cyBkb2N1bWVudHMgYW5kCiAgICAgICAgbGlua3MgdGhhdCBhcmUgcGFydCBvZiB0aGlzIHByb2plY3QncyBnZW5lcmFsIGluZm9ybWF0aW9uLiAgQWxsCiAgICAgICAgb2YgdGhpcyBjb250ZW50IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IAogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9tYXZlbi5hcGFjaGUub3JnLyIgY2xhc3M9ImV4dGVybmFsTGluayIgdGl0bGU9IkV4dGVybmFsIExpbmsiPk1hdmVuPC9hPiBvbgogICAgICAgIGJlaGFsZiBvZiB0aGUgcHJvamVjdC4KICAgICAgPC9wPjxkaXYgY2xhc3M9InN1YnNlY3Rpb24iPjxhIG5hbWU9Ik92ZXJ2aWV3Ij48L2E+PGgzPk92ZXJ2aWV3PC9oMz48dGFibGUgY2xhc3M9ImJvZHlUYWJsZSI+PHRyIGNsYXNzPSJiIj48dGg+RG9jdW1lbnQ8L3RoPjx0aD5EZXNjcmlwdGlvbjwvdGg+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD48YSBocmVmPSJtYWlsLWxpc3RzLmh0bWwiPk1haWxpbmcgTGlzdHM8L2E+PC90ZD48dGQ+CiAgICAgICAgICAgICAgVGhpcyBkb2N1bWVudCBwcm92aWRlcyBzdWJzY3JpcHRpb24gYW5kIGFyY2hpdmUKICAgICAgICAgICAgICBpbmZvcm1hdGlvbiBmb3IgdGhpcyBwcm9qZWN0J3MgbWFpbGluZyBsaXN0cy4KICAgICAgICAgICAgPC90ZD48L3RyPjx0ciBjbGFzcz0iYiI+PHRkPjxhIGhyZWY9InRlYW0tbGlzdC5odG1sIj5Qcm9qZWN0IFRlYW08L2E+PC90ZD48dGQ+CiAgICAgICAgICAgICAgVGhpcyBkb2N1bWVudCBwcm92aWRlcyBpbmZvcm1hdGlvbiBvbiB0aGUgbWVtYmVycyBvZgogICAgICAgICAgICAgIHRoaXMgcHJvamVjdC4gIFRoZXNlIGFyZSB0aGUgaW5kaXZpZHVhbHMgd2hvIGhhdmUKICAgICAgICAgICAgICBjb250cmlidXRlZCB0byB0aGUgcHJvamVjdCBpbiBvbmUgZm9ybSBvciBhbm90aGVyLgogICAgICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJhIj48dGQ+PGEgaHJlZj0iZGVwZW5kZW5jaWVzLmh0bWwiPkRlcGVuZGVuY2llczwvYT48L3RkPjx0ZD4KICAgICAgICAgICAgICBUaGlzIGRvY3VtZW50IGxpc3RzIHRoZSBwcm9qZWN0cyBkZXBlbmRlbmNpZXMgYW5kIHByb3ZpZGVzCiAgICAgICAgICAgICAgaW5mb3JtYXRpb24gb24gZWFjaCBkZXBlbmRlbmN5LgogICAgICAgICAgICA8L3RkPjwvdHI+PHRyIGNsYXNzPSJiIj48dGQ+PGEgaHJlZj0iY3ZzLXVzYWdlLmh0bWwiPlNvdXJjZSBSZXBvc2l0b3J5PC9hPjwvdGQ+PHRkPgogICAgICAgICAgICAgIFRoaXMgaXMgYSBsaW5rIHRvIHRoZSBvbmxpbmUgc291cmNlIHJlcG9zaXRvcnkgdGhhdCBjYW4gYmUKICAgICAgICAgICAgICB2aWV3ZWQgdmlhIGEgd2ViIGJyb3dzZXIuCiAgICAgICAgICAgIDwvdGQ+PC90cj48dHIgY2xhc3M9ImEiPjx0ZD48YSBocmVmPSJpc3N1ZS10cmFja2luZy5odG1sIj5Jc3N1ZSBUcmFja2luZzwvYT48L3RkPjx0ZD4KICAgICAgICAgICAgICBUaGlzIGlzIGEgbGluayB0byB0aGUgaXNzdWUgdHJhY2tpbmcgc3lzdGVtIGZvciB0aGlzCiAgICAgICAgICAgICAgcHJvamVjdC4gIElzc3VlcyAoYnVncywgZmVhdHVyZXMsIGNoYW5nZSByZXF1ZXN0cykgY2FuIGJlCiAgICAgICAgICAgICAgY3JlYXRlZCBhbmQgcXVlcmllZCB1c2luZyB0aGlzIGxpbmsuCiAgICAgICAgICAgIDwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImNsZWFyIj48aHI+PC9ocj48L2Rpdj48ZGl2IGlkPSJmb290ZXIiPjxkaXYgY2xhc3M9InhyaWdodCI+qSAyMDA1LTIwMDksIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uPC9kaXY+PGRpdiBjbGFzcz0iY2xlYXIiPjxocj48L2hyPjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+