PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iRVVDLUtSIj8+CjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGxhbmc9ImtvIiB4bWw6bGFuZz0ia28iPjxoZWFkPgo8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9RVVDLUtSIiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIC8+CjwhLS0KICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAgICAgICAgIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgZnJvbSB4bWwgc291cmNlOiBETyBOT1QgRURJVAogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgIC0tPgo8dGl0bGU+bW9kX3VzZXJkaXIgLSBBcGFjaGUgSFRUUCBTZXJ2ZXIgVmVyc2lvbiAyLjU8L3RpdGxlPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIiB0eXBlPSJ0ZXh0L2NzcyIgdGl0bGU9Ik1haW4gc3R5bGVzaGVldCIgLz4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC1sb29zZS0xMDBwYy5jc3MiIHJlbD0iYWx0ZXJuYXRlIHN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTm8gU2lkZWJhciAtIERlZmF1bHQgZm9udCBzaXplIiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLXByaW50LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0icHJpbnQiIHR5cGU9InRleHQvY3NzIiAvPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3N0eWxlL2Nzcy9wcmV0dGlmeS5jc3MiIC8+CjxzY3JpcHQgc3JjPSIuLi9zdHlsZS9zY3JpcHRzL3ByZXR0aWZ5Lm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KPC9zY3JpcHQ+Cgo8bGluayBocmVmPSIuLi9pbWFnZXMvZmF2aWNvbi5pY28iIHJlbD0ic2hvcnRjdXQgaWNvbiIgLz48L2hlYWQ+Cjxib2R5Pgo8ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj648LXiPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9xdWlja3JlZmVyZW5jZS5odG1sIj7B9r3Dvu616TwvYT4gfCA8YSBocmVmPSJodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0dHBkL0ZBUSI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPr/rvu48L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj6758DMxq64yjwvYT48L3A+CjxwIGNsYXNzPSJhcGFjaGUiPkFwYWNoZSBIVFRQIFNlcnZlciBWZXJzaW9uIDIuNTwvcD4KPGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZmVhdGhlci5wbmciIC8+PC9kaXY+CjxkaXYgY2xhc3M9InVwIj48YSBocmVmPSIuLyI+PGltZyB0aXRsZT0iJmx0Oy0iIGFsdD0iJmx0Oy0iIHNyYz0iLi4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPkhUVFAgU2VydmVyPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvIj5Eb2N1bWVudGF0aW9uPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4uLyI+VmVyc2lvbiAyLjU8L2E+ICZndDsgPGEgaHJlZj0iLi8iPrjwteI8L2E+PC9kaXY+CjxkaXYgaWQ9InBhZ2UtY29udGVudCI+CjxkaXYgaWQ9InByZWFtYmxlIj48aDE+vsbGxMShILjwteIgbW9kX3VzZXJkaXI8L2gxPgo8ZGl2IGNsYXNzPSJ0b3BsYW5nIj4KPHA+PHNwYW4+sKG0ycfRIL7wvu46IDwvc3Bhbj48YSBocmVmPSIuLi9lbi9tb2QvbW9kX3VzZXJkaXIuaHRtbCIgaHJlZmxhbmc9ImVuIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkVuZ2xpc2giPiZuYnNwO2VuJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2ZyL21vZC9tb2RfdXNlcmRpci5odG1sIiBocmVmbGFuZz0iZnIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRnJhbiYjMjMxO2FpcyI+Jm5ic3A7ZnImbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4vamEvbW9kL21vZF91c2VyZGlyLmh0bWwiIGhyZWZsYW5nPSJqYSIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJKYXBhbmVzZSI+Jm5ic3A7amEmbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi4va28vbW9kL21vZF91c2VyZGlyLmh0bWwiIHRpdGxlPSJLb3JlYW4iPiZuYnNwO2tvJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL3RyL21vZC9tb2RfdXNlcmRpci5odG1sIiBocmVmbGFuZz0idHIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iVCYjMjUyO3JrJiMyMzE7ZSI+Jm5ic3A7dHImbmJzcDs8L2E+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0ib3V0b2ZkYXRlIj7AzCC5rryttMIgw9a9xcbHILn4v6rAzCC+xrTVtM+02S4KICAgICAgICAgICAgw9ax2b+hILqvsOa1yCCzu7/rwLogv7W+7iC5rrytuKYgwvyw7cfPvLy/5C48L2Rpdj4KPHRhYmxlIGNsYXNzPSJtb2R1bGUiPjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+vLO47To8L2E+PC90aD48dGQ+u+e/68DaurAgtfC3usXkuK48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTdGF0dXMiPrvzxcI6PC9hPjwvdGg+PHRkPkJhc2U8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNNb2R1bGVJZGVudGlmaWVyIj648LXiuO06PC9hPjwvdGg+PHRkPnVzZXJkaXJfbW9kdWxlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjU291cmNlRmlsZSI+vNK9usbEwM86PC9hPjwvdGg+PHRkPm1vZF91c2VyZGlyLmM8L3RkPjwvdHI+PC90YWJsZT4KPGgzPr/kvuA8L2gzPgoKPHA+wMwguPC14sC7ILvnv+vHz7jpIDxjb2RlPmh0dHA6Ly9leGFtcGxlLmNvbS9+dXNlci88L2NvZGU+IL3EwLi3zgq757/rwNq6sCC18Le6xeS4rr+hIMGisdnH0iC89iDA1rTZLjwvcD4KPC9kaXY+CjxkaXYgaWQ9InF1aWNrdmlldyI+PGgzIGNsYXNzPSJkaXJlY3RpdmVzIj7B9r3Dvu616TwvaDM+Cjx1bCBpZD0idG9jIj4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjdXNlcmRpciI+VXNlckRpcjwvYT48L2xpPgo8L3VsPgo8aDM+QnVnZml4IGNoZWNrbGlzdDwvaDM+PHVsIGNsYXNzPSJzZWVhbHNvIj48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9kaXN0L2h0dHBkL0NIQU5HRVNfMi40Ij5odHRwZCBjaGFuZ2Vsb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9iei5hcGFjaGUub3JnL2J1Z3ppbGxhL2J1Z2xpc3QuY2dpP2J1Z19zdGF0dXM9X19vcGVuX18mYW1wO2xpc3RfaWQ9MTQ0NTMyJmFtcDtwcm9kdWN0PUFwYWNoZSUyMGh0dHBkLTImYW1wO3F1ZXJ5X2Zvcm1hdD1zcGVjaWZpYyZhbXA7b3JkZXI9Y2hhbmdlZGRhdGUlMjBERVNDJTJDcHJpb3JpdHklMkNidWdfc2V2ZXJpdHkmYW1wO2NvbXBvbmVudD1tb2RfdXNlcmRpciI+S25vd24gaXNzdWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vYnouYXBhY2hlLm9yZy9idWd6aWxsYS9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9QXBhY2hlJTIwaHR0cGQtMiZhbXA7Y29tcG9uZW50PW1vZF91c2VyZGlyIj5SZXBvcnQgYSBidWc8L2E+PC9saT48L3VsPjxoMz7C/LDtPC9oMz4KPHVsIGNsYXNzPSJzZWVhbHNvIj4KPGxpPjxhIGhyZWY9Ii4uL3VybG1hcHBpbmcuaHRtbCI+VVJMwLsgxsTAz73DvbrF27+hILTrwMA8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ii4uL2hvd3RvL3B1YmxpY19odG1sLmh0bWwiPnB1YmxpY19odG1sCsX1xeS4rr7zPC9hPjwvbGk+CjxsaT48YSBocmVmPSIjY29tbWVudHNfc2VjdGlvbiI+Q29tbWVudHM8L2E+PC9saT48L3VsPjwvZGl2PgoKPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iVXNlckRpciIgaWQ9IlVzZXJEaXIiPlVzZXJEaXI8L2E+IDxhIG5hbWU9InVzZXJkaXIiIGlkPSJ1c2VyZGlyIj7B9r3Dvu48L2E+IDxhIHRpdGxlPSJQZXJtYW5lbnQgbGluayIgaHJlZj0iI3VzZXJkaXIiIGNsYXNzPSJwZXJtYWxpbmsiPiZwYXJhOzwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+vLO47To8L2E+PC90aD48dGQ+u+e/68DaurAgtfC3usXkuK4gwKfEoTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+ua65/To8L2E+PC90aD48dGQ+PGNvZGU+VXNlckRpciA8ZW0+ZGlyZWN0b3J5LWZpbGVuYW1lPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+seK6u7CqOjwvYT48L3RoPjx0ZD48Y29kZT5Vc2VyRGlyIHB1YmxpY19odG1sPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPrvnv+vA5bzSOjwvYT48L3RoPjx0ZD7B1rytufa8s8GkLCCwobvzyKO9usauPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj6788XCOjwvYT48L3RoPjx0ZD5CYXNlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj648LXiOjwvYT48L3RoPjx0ZD5tb2RfdXNlcmRpcjwvdGQ+PC90cj4KPC90YWJsZT4KCiAgICA8cD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5Vc2VyRGlyPC9jb2RlPiDB9r3Dvu60wiC757/rwNrAxyC5rrytv6EgtOvH0Qq/5MO7wLsgud7Au7anILvnv+vA2iDIqLXwt7rF5LiuIL7Iv6G8rSC757/rx9IgvcfBpiC18Le6xeS4rrimCsH2waTH0bTZLiA8ZW0+RGlyZWN0b3J5LWZpbGVuYW1lPC9lbT7AuiC02cC9IMHfIMfPs6rAzLTZOjwvcD4KCiAgICA8dWw+CiAgICAgIDxsaT6+xrehv80gsLDAuiC18Le6xeS4rrjtIMikwLogxtDFzy48L2xpPgoKICAgICAgPGxpPjxjb2RlPmRpc2FibGVkPC9jb2RlPiDFsL/2teUuIAo8Y29kZT5lbmFibGVkPC9jb2RlPiDFsL/2teW3ziAovsa3oSDC/LDtKSDB98GiIMDMuKfAuyDB9sGkx8/B9iC+yr7StNm46Qo8ZW0+uPC15zwvZW0+ILvnv+vA2rjtLbXwt7rF5LiuILqvyK/AuyDHz8H2IL7KtMK02S48L2xpPgoKICAgICAgPGxpPjxjb2RlPmRpc2FibGVkPC9jb2RlPiDFsL/2teUgtdq/oSCw+LnpwLi3ziCxuLrQx9Egu+e/68DauO0guPG3zy4Ku+e/68DauO3AzCA8Y29kZT5lbmFibGVkPC9jb2RlPiCxuLmuv6EgwNa02bDtIMfPtPW287W1LCDAzCC48bfPv6EKwNa0wiC757/rwNq47cC6ILXwt7rF5LiuILqvyK/AuyDHz8H2IDxlbT6+yrTCtNk8L2VtPi48L2xpPgoKICAgICAgPGxpPjxjb2RlPmVuYWJsZWQ8L2NvZGU+IMWwv/a15SC12r+hILD4uenAuLfOILG4utDH0SC757/rwNq47SC48bfPLgrA/MO8IGRpc2FibGXAuyC757/rx8+w7SC757/rwNq47cDMIDxjb2RlPmRpc2FibGVkPC9jb2RlPiCxuLmuv6EKvvi09bbztbUsILvnv+vA2rjtwLsgtfC3usXkuK4guq/Ir8fRtNkuPC9saT4KICAgIDwvdWw+CgogICAgPHA+PGNvZGU+VXNlcmRpcjwvY29kZT4gwfa9w77uv6EgPGNvZGU+ZW5hYmxlZDwvY29kZT6zqgo8Y29kZT5kaXNhYmxlZDwvY29kZT4gxbC/9rXluKYgu+e/68fPwfYgvsrAuLjpLCC+xrHUuNXGrrimCsbEwM+47SDG0MXPwLi3ziDDs7iux8+/qSC18Le6xeS4rrfOILqvyK/H0bTZLgo8Y29kZT5odHRwOi8vd3d3LmZvby5jb20vfmJvYi9vbmUvdHdvLmh0bWw8L2NvZGU+v6EgtOvH0SC/5MO7wLoKtNnAvbD6ILCwwMwguq/Ir7XItNk6PC9wPgoKPHRhYmxlPgo8dHI+PHRoPrvnv+vH0SBVc2VyRGlyIMH2vcO+7jwvdGg+Cjx0aD66r8ivx9EgsOa3zjwvdGg+PC90cj4KPHRyPjx0ZD5Vc2VyRGlyIHB1YmxpY19odG1sPC90ZD48dGQ+fmJvYi9wdWJsaWNfaHRtbC9vbmUvdHdvLmh0bWw8L3RkPjwvdHI+Cjx0cj48dGQ+VXNlckRpciAvdXNyL3dlYjwvdGQ+PHRkPi91c3Ivd2ViL2JvYi9vbmUvdHdvLmh0bWw8L3RkPjwvdHI+Cjx0cj48dGQ+VXNlckRpciAvaG9tZS8qL3d3dzwvdGQ+PHRkPi9ob21lL2JvYi93d3cvb25lL3R3by5odG1sPC90ZD48L3RyPgo8L3RhYmxlPgoKICAgIDxwPrTZwL0gwfa9w77utMIgxay288DMvvDGrr+hsNQguK602cDMt7q8x8C7ILq4s7202To8L3A+IAoKPHRhYmxlPgo8dHI+PHRoPrvnv+vH0SBVc2VyRGlyIMH2vcO+7jwvdGg+Cjx0aD66r8ivx9EgsOa3zjwvdGg+PC90cj4KPHRyPjx0ZD5Vc2VyRGlyIGh0dHA6Ly93d3cuZm9vLmNvbS91c2VyczwvdGQ+PHRkPmh0dHA6Ly93d3cuZm9vLmNvbS91c2Vycy9ib2Ivb25lL3R3by5odG1sPC90ZD48L3RyPgo8dHI+PHRkPlVzZXJEaXIKaHR0cDovL3d3dy5mb28uY29tLyovdXNyPC90ZD48dGQ+aHR0cDovL3d3dy5mb28uY29tL2JvYi91c3Ivb25lL3R3by5odG1sPC90ZD48L3RyPgo8dHI+PHRkPlVzZXJEaXIKaHR0cDovL3d3dy5mb28uY29tL34qLzwvdGQ+PHRkPmh0dHA6Ly93d3cuZm9vLmNvbS9+Ym9iL29uZS90d28uaHRtbDwvdGQ+PC90cj4KPC90YWJsZT4gCgo8ZGl2IGNsYXNzPSJub3RlIj4KICAgICAgPHN0cm9uZz7AzCDB9r3Dvu64piC757/rx9K2pyDB1sDHx8+28zsgv7m4piC16b7uLAo8Y29kZT4iVXNlckRpciAuLyI8L2NvZGU+tMIgPGNvZGU+Ii9+cm9vdCI8L2NvZGU+uKYgvsa4trW1ILnZtvfB98fPwfYgvsqw1Ao8Y29kZT4iLyI8L2NvZGU+t84guq/Ir8fRtNkuILyzwaS/oSAiPGNvZGU+VXNlckRpcgogICAgICBkaXNhYmxlZCByb290PC9jb2RlPiK4piDG98fUx8+x5iCwrbfCyPcgscfH0bTZLiDA2ry8x9EgwaS6uLimIL7Lt8G46Qo8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI2RpcmVjdG9yeSI+RGlyZWN0b3J5PC9hPjwvY29kZT4gwfa9w77uv80gPGEgaHJlZj0iLi4vbWlzYy9zZWN1cml0eV90aXBzLmh0bWwiPrq4vsggxsE8L2E+tbUgwvyw7cfPtvMuPC9zdHJvbmc+CjwvZGl2PgoKPHA+w9+woSC/ucGmOjwvcD4KCjxwPrjuuO4gu+e/68Dav6Gw1Li4IDxjb2RlPlVzZXJEaXI8L2NvZGU+ILXwt7rF5LiuuKYgx+O/68fRtNm46SwKtNnAvbD6ILCwtNk6PC9wPgoKPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+ClVzZXJEaXIgZGlzYWJsZWQ8YnIgLz4KVXNlckRpciBlbmFibGVkIHVzZXIxIHVzZXIyIHVzZXIzCjwvY29kZT48L3A+PC9kaXY+Cgo8cD6067rOutDAxyC757/rwNq/obDUIDxjb2RlPlVzZXJEaXI8L2NvZGU+ILXwt7rF5LiuuKYgx+O/68fPsO0KwM+6zri4ILDFus7H0bTZuOksILTZwL2w+iCwsLTZOjwvcD4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgpVc2VyRGlyIGVuYWJsZWQ8YnIgLz4KVXNlckRpciBkaXNhYmxlZCB1c2VyNCB1c2VyNSB1c2VyNgo8L2NvZGU+PC9wPjwvZGl2PgoKPHA+tNm4pSC757/rwNogtfC3usXkuK64piDB9sGkx9IgvPa1tSDA1rTZLgq02cC9sPogsLDAuiC47bfJvu64piC757/rx9G02bjpOjwvcD4KPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+ClVzZXJkaXIgcHVibGljX2h0bWwgL3Vzci93ZWIgaHR0cDovL3d3dy5mb28uY29tLwo8L2NvZGU+PC9wPjwvZGl2Pgo8cD5odHRwOi8vd3d3LmZvby5jb20vfmJvYi9vbmUvdHdvLmh0bWwgv+TDu8C7IMfPuOksCrjVwPogfmJvYi9wdWJsaWNfaHRtbC9vbmUvdHdvLmh0bWwgxuTAzMH2uKYgw6Ow7SwKL3Vzci93ZWIvYm9iL29uZS90d28uaHRtbMC7IMOjwLogyMQsILi2wfa4t8C4t84KaHR0cDovL3d3dy5mb28uY29tL2JvYi9vbmUvdHdvLmh0bWzAuLfOILiutNnAzLe6vMfAuyC6uLO9tNkuPC9wPgo8cD64rrTZwMy3urzHwLsgu+e/68fRtNm46SC48bfPwMcguLbB9ri3v6Egtc6+7r7fIMfRtNkuCr7GxsTEobTCILiutNnAzLe6vMfAzCC8urD4x9+0wsH2IL7LILz2IL74seK2p7muv6EsILiutNnAzLe6vMfAuwq48bfPIL7Vv6Egtc646SDH17vzILiutNnAzLe6vMfAuyC757/rx8+w1CC1yLTZLjwvcD4KCgo8aDM+wvyw7TwvaDM+Cjx1bD4KPGxpPjxhIGhyZWY9Ii4uL2hvd3RvL3B1YmxpY19odG1sLmh0bWwiPnB1YmxpY19odG1sCsX1xeS4rr7zPC9hPjwvbGk+CjwvdWw+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iYm90dG9tbGFuZyI+CjxwPjxzcGFuPrChtMnH0SC+8L7uOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vbW9kL21vZF91c2VyZGlyLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi9mci9tb2QvbW9kX3VzZXJkaXIuaHRtbCIgaHJlZmxhbmc9ImZyIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkZyYW4mIzIzMTthaXMiPiZuYnNwO2ZyJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2phL21vZC9tb2RfdXNlcmRpci5odG1sIiBocmVmbGFuZz0iamEiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iSmFwYW5lc2UiPiZuYnNwO2phJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4uL2tvL21vZC9tb2RfdXNlcmRpci5odG1sIiB0aXRsZT0iS29yZWFuIj4mbmJzcDtrbyZuYnNwOzwvYT4gfAo8YSBocmVmPSIuLi90ci9tb2QvbW9kX3VzZXJkaXIuaHRtbCIgaHJlZmxhbmc9InRyIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IlQmIzI1MjtyayYjMjMxO2UiPiZuYnNwO3RyJm5ic3A7PC9hPjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiBhbHQ9InRvcCIgLz48L2E+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGgyPjxhIGlkPSJjb21tZW50c19zZWN0aW9uIiBuYW1lPSJjb21tZW50c19zZWN0aW9uIj5Db21tZW50czwvYT48L2gyPjxkaXYgY2xhc3M9Indhcm5pbmciPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPjxiciAvPlRoaXMgaXMgbm90IGEgUSZhbXA7QSBzZWN0aW9uLiBDb21tZW50cyBwbGFjZWQgaGVyZSBzaG91bGQgYmUgcG9pbnRlZCB0b3dhcmRzIHN1Z2dlc3Rpb25zIG9uIGltcHJvdmluZyB0aGUgZG9jdW1lbnRhdGlvbiBvciBzZXJ2ZXIsIGFuZCBtYXkgYmUgcmVtb3ZlZCBieSBvdXIgbW9kZXJhdG9ycyBpZiB0aGV5IGFyZSBlaXRoZXIgaW1wbGVtZW50ZWQgb3IgY29uc2lkZXJlZCBpbnZhbGlkL29mZi10b3BpYy4gUXVlc3Rpb25zIG9uIGhvdyB0byBtYW5hZ2UgdGhlIEFwYWNoZSBIVFRQIFNlcnZlciBzaG91bGQgYmUgZGlyZWN0ZWQgYXQgZWl0aGVyIG91ciBJUkMgY2hhbm5lbCwgI2h0dHBkLCBvbiBMaWJlcmEuY2hhdCwgb3Igc2VudCB0byBvdXIgPGEgaHJlZj0iaHR0cHM6Ly9odHRwZC5hcGFjaGUub3JnL2xpc3RzLmh0bWwiPm1haWxpbmcgbGlzdHM8L2E+LjwvZGl2Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLS8vLS0+PCFbQ0RBVEFbLy8+PCEtLQp2YXIgY29tbWVudHNfc2hvcnRuYW1lID0gJ2h0dHBkJzsKdmFyIGNvbW1lbnRzX2lkZW50aWZpZXIgPSAnaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy90cnVuay9tb2QvbW9kX3VzZXJkaXIuaHRtbCc7CihmdW5jdGlvbih3LCBkKSB7CiAgICBpZiAody5sb2NhdGlvbi5ob3N0bmFtZS50b0xvd2VyQ2FzZSgpID09ICJodHRwZC5hcGFjaGUub3JnIikgewogICAgICAgIGQud3JpdGUoJzxkaXYgaWQ9ImNvbW1lbnRzX3RocmVhZCI+PFwvZGl2PicpOwogICAgICAgIHZhciBzID0gZC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBzLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBzLnNyYyA9ICdodHRwczovL2NvbW1lbnRzLmFwYWNoZS5vcmcvc2hvd19jb21tZW50cy5sdWE/c2l0ZT0nICsgY29tbWVudHNfc2hvcnRuYW1lICsgJyZwYWdlPScgKyBjb21tZW50c19pZGVudGlmaWVyOwogICAgICAgIChkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0gfHwgZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdKS5hcHBlbmRDaGlsZChzKTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIGQud3JpdGUoJzxkaXYgaWQ9ImNvbW1lbnRzX3RocmVhZCI+Q29tbWVudHMgYXJlIGRpc2FibGVkIGZvciB0aGlzIHBhZ2UgYXQgdGhlIG1vbWVudC48XC9kaXY+Jyk7CiAgICB9Cn0pKHdpbmRvdywgZG9jdW1lbnQpOwovLy0tPjwhXV0+PC9zY3JpcHQ+PC9kaXY+PGRpdiBpZD0iZm9vdGVyIj4KPHAgY2xhc3M9ImFwYWNoZSI+Q29weXJpZ2h0IDIwMjMgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLjxiciAvPkxpY2Vuc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAiPkFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMDwvYT4uPC9wPgo8cCBjbGFzcz0ibWVudSI+PGEgaHJlZj0iLi4vbW9kLyI+uPC14jwvYT4gfCA8YSBocmVmPSIuLi9tb2QvcXVpY2tyZWZlcmVuY2UuaHRtbCI+wfa9w77utek8L2E+IHwgPGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9GQVEiPkZBUTwvYT4gfCA8YSBocmVmPSIuLi9nbG9zc2FyeS5odG1sIj6/677uPC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+u+fAzMauuMo8L2E+PC9wPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tLy8tLT48IVtDREFUQVsvLz48IS0tCmlmICh0eXBlb2YocHJldHR5UHJpbnQpICE9PSAndW5kZWZpbmVkJykgewogICAgcHJldHR5UHJpbnQoKTsKfQovLy0tPjwhXV0+PC9zY3JpcHQ+CjwvYm9keT48L2h0bWw+