{"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+TUNEIENhc2UgTWl4IHwgU05GIENhc2UgTWl4IENhbGN1bGF0b3IgJiBNZWRpY2FyZSBPcHRpbWl6YXRpb248L3RpdGxlPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iRnJlZSBTTkYgY2FzZSBtaXggY2FsY3VsYXRvci4gT3B0aW1pemUgeW91ciBNZWRpY2FyZSBQYXJ0IEEgcmVpbWJ1cnNlbWVudCB3aXRoIG91ciBQRFBNIGNhc2UgbWl4IHRvb2wuIEJ1aWx0IGZvciBza2lsbGVkIG51cnNpbmcgZmFjaWxpdHkgYmlsbGluZyB0ZWFtcy4iPgo8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly9tY2RjYXNlbWl4LmNvbSI+CjwhLS0gR0E0IC0tPgo8c2NyaXB0IGFzeW5jIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLVhDSldKWDhCNzYiPjwvc2NyaXB0Pgo8c2NyaXB0PndpbmRvdy5kYXRhTGF5ZXI9d2luZG93LmRhdGFMYXllcnx8W107ZnVuY3Rpb24gZ3RhZygpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyk7fWd0YWcoJ2pzJyxuZXcgRGF0ZSgpKTtndGFnKCdjb25maWcnLCdHLVhDSldKWDhCNzYnKTs8L3NjcmlwdD4KPHN0eWxlPgo6cm9vdHstLWJnOiMwYTBmMWU7LS1zdXJmYWNlOiMxMTE4Mjc7LS1jYXJkOiMxYTIzMzI7LS1ibHVlOiMyNTYzZWI7LS1zdGVlbDojM2I4MmY2Oy0tc3RlZWxMOiM2MGE1ZmE7LS10ZXh0OiNlMmU4ZjA7LS1tdXRlZDojOTRhM2I4Oy0tYm9yZGVyOiMxZTNhNWY7fQoqe21hcmdpbjowO3BhZGRpbmc6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7fQpib2R5e2ZvbnQtZmFtaWx5OidTZWdvZSBVSScsc3lzdGVtLXVpLHNhbnMtc2VyaWY7YmFja2dyb3VuZDp2YXIoLS1iZyk7Y29sb3I6dmFyKC0tdGV4dCk7bGluZS1oZWlnaHQ6MS42O30KYXtjb2xvcjp2YXIoLS1zdGVlbEwpO30KLyogSGVhZGVyICovCmhlYWRlcntiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7cGFkZGluZzoxcmVtIDJyZW07ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjt9Ci5sb2dve2ZvbnQtc2l6ZToxLjRyZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXN0ZWVsTCk7bGV0dGVyLXNwYWNpbmc6LTAuNXB4O30KLmxvZ28gc3Bhbntjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC13ZWlnaHQ6NDAwO30KbmF2IGF7Y29sb3I6dmFyKC0tbXV0ZWQpO3RleHQtZGVjb3JhdGlvbjpub25lO21hcmdpbi1sZWZ0OjEuNXJlbTtmb250LXNpemU6LjlyZW07fQpuYXYgYTpob3Zlcntjb2xvcjp2YXIoLS1zdGVlbEwpO30KLyogSGVybyAqLwouaGVyb3twb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6NDgwcHg7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7fQouaGVybyBpbWd7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO2ZpbHRlcjpicmlnaHRuZXNzKDAuNCk7fQouaGVyby1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjttYXgtd2lkdGg6ODAwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjJyZW07dGV4dC1hbGlnbjpjZW50ZXI7fQouaGVybyBoMXtmb250LXNpemU6Mi44cmVtO2ZvbnQtd2VpZ2h0OjgwMDtsaW5lLWhlaWdodDoxLjI7bWFyZ2luLWJvdHRvbToxcmVtO30KLmhlcm8gaDEgc3Bhbntjb2xvcjp2YXIoLS1zdGVlbEwpO30KLmhlcm8gcHtmb250LXNpemU6MS4ycmVtO2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW4tYm90dG9tOjJyZW07fQouY3Rhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQ6dmFyKC0tYmx1ZSk7Y29sb3I6I2ZmZjtwYWRkaW5nOi45cmVtIDJyZW07Ym9yZGVyLXJhZGl1czo4cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxcmVtO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMnM7fQouY3RhOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tc3RlZWwpO30KLyogVG9vbCBTZWN0aW9uICovCi5zZWN0aW9ue3BhZGRpbmc6NHJlbSAycmVtO21heC13aWR0aDoxMTAwcHg7bWFyZ2luOjAgYXV0bzt9Ci5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToxLjhyZW07Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1ib3R0b206LjVyZW07Y29sb3I6dmFyKC0tc3RlZWxMKTt9Ci5zZWN0aW9uLXN1Yntjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luLWJvdHRvbToycmVtO30KLnRvb2wtY2FyZHtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoycmVtO30KLnRvb2wtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjEuNXJlbTttYXJnaW4tYm90dG9tOjEuNXJlbTt9CkBtZWRpYShtYXgtd2lkdGg6NjQwcHgpey50b29sLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjt9fQouZmllbGQgbGFiZWx7ZGlzcGxheTpibG9jaztmb250LXNpemU6Ljg1cmVtO2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW4tYm90dG9tOi40cmVtO2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjA1ZW07fQouZmllbGQgaW5wdXQsLmZpZWxkIHNlbGVjdHt3aWR0aDoxMDAlO2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2NvbG9yOnZhcigtLXRleHQpO3BhZGRpbmc6LjdyZW0gMXJlbTtib3JkZXItcmFkaXVzOjZweDtmb250LXNpemU6Ljk1cmVtO30KLmZpZWxkIGlucHV0OmZvY3VzLC5maWVsZCBzZWxlY3Q6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlci1jb2xvcjp2YXIoLS1zdGVlbCk7fQouY2FsYy1idG57YmFja2dyb3VuZDp2YXIoLS1ibHVlKTtjb2xvcjojZmZmO2JvcmRlcjpub25lO3BhZGRpbmc6LjlyZW0gMnJlbTtib3JkZXItcmFkaXVzOjhweDtmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo2MDA7Y3Vyc29yOnBvaW50ZXI7d2lkdGg6MTAwJTttYXJnaW4tdG9wOi41cmVtO30KLmNhbGMtYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tc3RlZWwpO30KLnJlc3VsdHtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tc3RlZWwpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6MS41cmVtO21hcmdpbi10b3A6MS41cmVtO2Rpc3BsYXk6bm9uZTt9Ci5yZXN1bHQgaDN7Zm9udC1zaXplOjEuNHJlbTtjb2xvcjp2YXIoLS1zdGVlbEwpO21hcmdpbi1ib3R0b206LjVyZW07fQoucmVzdWx0IC5iaWctbnVte2ZvbnQtc2l6ZToyLjVyZW07Zm9udC13ZWlnaHQ6ODAwO2NvbG9yOiNmZmY7fQoucmVzdWx0IHB7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZTouOXJlbTttYXJnaW4tdG9wOi41cmVtO30KLyogRmVhdHVyZXMgKi8KLmZlYXR1cmVze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6MS41cmVtO21hcmdpbi10b3A6MnJlbTt9CkBtZWRpYShtYXgtd2lkdGg6NzY4cHgpey5mZWF0dXJlc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO319Ci5mZWF0dXJle2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjEuNXJlbTt9Ci5mZWF0dXJlIGgze2ZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOi41cmVtO2NvbG9yOnZhcigtLXN0ZWVsTCk7fQouZmVhdHVyZSBwe2ZvbnQtc2l6ZTouOXJlbTtjb2xvcjp2YXIoLS1tdXRlZCk7fQovKiBOZXdzbGV0dGVyICovCi5uZXdzbGV0dGVye2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjIuNXJlbTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tdG9wOjNyZW07fQoubmV3c2xldHRlciBoMntmb250LXNpemU6MS42cmVtO21hcmdpbi1ib3R0b206LjVyZW07fQoubmV3c2xldHRlciBwe2NvbG9yOnZhcigtLW11dGVkKTttYXJnaW4tYm90dG9tOjEuNXJlbTt9Ci5ubC1mb3Jte2Rpc3BsYXk6ZmxleDtnYXA6Ljc1cmVtO21heC13aWR0aDo1MDBweDttYXJnaW46MCBhdXRvO30KQG1lZGlhKG1heC13aWR0aDo0ODBweCl7Lm5sLWZvcm17ZmxleC1kaXJlY3Rpb246Y29sdW1uO319Ci5ubC1mb3JtIGlucHV0e2ZsZXg6MTtiYWNrZ3JvdW5kOnZhcigtLXN1cmZhY2UpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtjb2xvcjp2YXIoLS10ZXh0KTtwYWRkaW5nOi44cmVtIDFyZW07Ym9yZGVyLXJhZGl1czo2cHg7Zm9udC1zaXplOi45NXJlbTt9Ci5ubC1mb3JtIGJ1dHRvbntiYWNrZ3JvdW5kOnZhcigtLWJsdWUpO2NvbG9yOiNmZmY7Ym9yZGVyOm5vbmU7cGFkZGluZzouOHJlbSAxLjVyZW07Ym9yZGVyLXJhZGl1czo2cHg7Zm9udC13ZWlnaHQ6NjAwO2N1cnNvcjpwb2ludGVyO3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5ubC1mb3JtIGJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXN0ZWVsKTt9Ci8qIEZvb3RlciAqLwpmb290ZXJ7YmFja2dyb3VuZDp2YXIoLS1zdXJmYWNlKTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO3BhZGRpbmc6MnJlbTt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOi44NXJlbTt9Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CjxoZWFkZXI+CiAgPGRpdiBjbGFzcz0ibG9nbyI+TUNEPHNwYW4+Q2FzZU1peDwvc3Bhbj48L2Rpdj4KICA8bmF2PgogICAgPGEgaHJlZj0iI3Rvb2wiPkNhbGN1bGF0b3I8L2E+CiAgICA8YSBocmVmPSIjcmVzb3VyY2VzIj5SZXNvdXJjZXM8L2E+CiAgICA8YSBocmVmPSIjbmV3c2xldHRlciI+TmV3c2xldHRlcjwvYT4KICA8L25hdj4KPC9oZWFkZXI+Cgo8ZGl2IGNsYXNzPSJoZXJvIj4KICA8aW1nIHNyYz0iL2hlcm8uanBnIiBhbHQ9IlNORiBDYXNlIE1peCBEYXNoYm9hcmQiPgogIDxkaXYgY2xhc3M9Imhlcm8tY29udGVudCI+CiAgICA8aDE+U05GIENhc2UgTWl4IDxzcGFuPkNhbGN1bGF0b3I8L3NwYW4+PC9oMT4KICAgIDxwPk1heGltaXplIE1lZGljYXJlIFBhcnQgQSByZWltYnVyc2VtZW50IHdpdGggUERQTSBjYXNlIG1peCBvcHRpbWl6YXRpb24uIEJ1aWx0IGZvciBTTkYgYmlsbGluZyB0ZWFtcy48L3A+CiAgICA8YSBocmVmPSIjdG9vbCIgY2xhc3M9ImN0YSI+Q2FsY3VsYXRlIFlvdXIgQ2FzZSBNaXgg4oaSPC9hPgogIDwvZGl2Pgo8L2Rpdj4KCjxtYWluPgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiBpZD0idG9vbCI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+RnJlZSBQRFBNIENhc2UgTWl4IENhbGN1bGF0b3I8L2Rpdj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXN1YiI+RXN0aW1hdGUgeW91ciBwZXItZGllbSByYXRlIGJhc2VkIG9uIHJlc2lkZW50IGNsaW5pY2FsIGNoYXJhY3RlcmlzdGljczwvZGl2PgogIDxkaXYgY2xhc3M9InRvb2wtY2FyZCI+CiAgICA8ZGl2IGNsYXNzPSJ0b29sLWdyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJmaWVsZCI+CiAgICAgICAgPGxhYmVsPlByaW1hcnkgRGlhZ25vc2lzIENhdGVnb3J5IChQVCk8L2xhYmVsPgogICAgICAgIDxzZWxlY3QgaWQ9InB0LWNhdCI+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIxLjAiPk9ydGhvcGVkaWMgKFN1cmdpY2FsKSDigJQgMS4wMDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMC45MiI+T3J0aG9wZWRpYyAoTm9uLVN1cmdpY2FsKSDigJQgMC45Mjwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMS4wNSI+TmV1cm9sb2dpY2FsIOKAlCAxLjA1PC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIwLjg4Ij5NZWRpY2FsIE1hbmFnZW1lbnQg4oCUIDAuODg8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjAuNzgiPkJlaGF2aW9yYWwg4oCUIDAuNzg8L29wdGlvbj4KICAgICAgICA8L3NlbGVjdD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZpZWxkIj4KICAgICAgICA8bGFiZWw+U0xQIERpYWdub3NpcyBDYXRlZ29yeTwvbGFiZWw+CiAgICAgICAgPHNlbGVjdCBpZD0ic2xwLWNhdCI+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIwLjk1Ij5BY3V0ZSBOZXVyb2xvZ2ljYWwg4oCUIDAuOTU8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjAuNzUiPk5vbi1OZXVyb2xvZ2ljYWwg4oCUIDAuNzU8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjEuMTAiPkNvZ25pdGl2ZSDigJQgMS4xMDwvb3B0aW9uPgogICAgICAgIDwvc2VsZWN0PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZmllbGQiPgogICAgICAgIDxsYWJlbD5OVEEgU2NvcmUgKENvbW9yYmlkaXRpZXMpPC9sYWJlbD4KICAgICAgICA8c2VsZWN0IGlkPSJudGEiPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMS4wIj4wLTMgUG9pbnRzIOKAlCAxLjAwPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIxLjUiPjQtNSBQb2ludHMg4oCUIDEuNTA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjIuMiI+Ni05IFBvaW50cyDigJQgMi4yMDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMy4wIj4xMCsgUG9pbnRzIOKAlCAzLjAwPC9vcHRpb24+CiAgICAgICAgPC9zZWxlY3Q+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmaWVsZCI+CiAgICAgICAgPGxhYmVsPk51cnNpbmcgSElQUFMgQ2F0ZWdvcnk8L2xhYmVsPgogICAgICAgIDxzZWxlY3QgaWQ9Im51cnNpbmciPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMzIwIj5DRTEg4oCUICQzMjA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjM5MCI+Q0ExIOKAlCAkMzkwPC9vcHRpb24+CiAgICAgICAgICA8b3B0aW9uIHZhbHVlPSI0NTAiPkNBMiDigJQgJDQ1MDwvb3B0aW9uPgogICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iNTYwIj5DQTMg4oCUICQ1NjA8L29wdGlvbj4KICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjYyMCI+Q0IxIOKAlCAkNjIwPC9vcHRpb24+CiAgICAgICAgPC9zZWxlY3Q+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmaWVsZCI+CiAgICAgIDxsYWJlbD5MZW5ndGggb2YgU3RheSAoZGF5cyk8L2xhYmVsPgogICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0ibG9zIiB2YWx1ZT0iMjEiIG1pbj0iMSIgbWF4PSIxMDAiPgogICAgPC9kaXY+CiAgICA8YnV0dG9uIGNsYXNzPSJjYWxjLWJ0biIgb25jbGljaz0iY2FsY01peCgpIj5DYWxjdWxhdGUgRXN0aW1hdGVkIFJlaW1idXJzZW1lbnQ8L2J1dHRvbj4KICAgIDxkaXYgY2xhc3M9InJlc3VsdCIgaWQ9InJlc3VsdCI+CiAgICAgIDxoMz5Fc3RpbWF0ZWQgTWVkaWNhcmUgUGFydCBBIFJlaW1idXJzZW1lbnQ8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJiaWctbnVtIiBpZD0idG90YWwtdmFsIj7igJQ8L2Rpdj4KICAgICAgPHAgaWQ9InJlc3VsdC1kZXRhaWwiPjwvcD4KICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6Ljc1cmVtO2ZvbnQtc2l6ZTouOHJlbTtjb2xvcjp2YXIoLS1tdXRlZCkiPuKaoO+4jyBFc3RpbWF0ZSBvbmx5LiBWZXJpZnkgd2l0aCB5b3VyIGJpbGxpbmcgdGVhbSBhbmQgY3VycmVudCBDTVMgcmF0ZSB0YWJsZXMuPC9wPgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0ic2VjdGlvbiIgaWQ9InJlc291cmNlcyI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Q2FzZSBNaXggUmVzb3VyY2VzPC9kaXY+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1zdWIiPkV2ZXJ5dGhpbmcgeW91ciBTTkYgYmlsbGluZyB0ZWFtIG5lZWRzIHRvIG9wdGltaXplIFBEUE08L2Rpdj4KICA8ZGl2IGNsYXNzPSJmZWF0dXJlcyI+CiAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlIj4KICAgICAgPGgzPlBEUE0gR3JvdXBlciBMb2dpYzwvaDM+CiAgICAgIDxwPlVuZGVyc3RhbmRpbmcgaG93IENNUyBhc3NpZ25zIFBULCBPVCwgU0xQLCBOdXJzaW5nLCBhbmQgTlRBIGNvbXBvbmVudHMgZm9yIGFjY3VyYXRlIGNvZGluZy48L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUiPgogICAgICA8aDM+TlRBIFNjb3JpbmcgR3VpZGU8L2gzPgogICAgICA8cD5Ob24tVGhlcmFweSBBbmNpbGxhcnkgc2NvcmluZyBpcyBvZnRlbiB1bmRlcnV0aWxpemVkLiBMZWFybiB3aGljaCBjb21vcmJpZGl0aWVzIGRyaXZlIHRoZSBoaWdoZXN0IE5UQSB2YWx1ZXMuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlIj4KICAgICAgPGgzPklDRC0xMCBNYXBwaW5nPC9oMz4KICAgICAgPHA+Q3JpdGljYWwgZGlhZ25vc2lzIGNvZGVzIGZvciBQRFBNIGNsYXNzaWZpY2F0aW9uLiBHZXQgdGhlIHJpZ2h0IENNRyBhc3NpZ25tZW50IGZyb20gZGF5IG9uZS48L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUiPgogICAgICA8aDM+VmFyaWFibGUgUGVyIERpZW08L2gzPgogICAgICA8cD5QVCBhbmQgT1QgcmF0ZXMgZGVjbGluZSBvdmVyIHRpbWUuIFBsYW4geW91ciB0aGVyYXB5IGludGVuc2l0eSBjdXJ2ZSBmb3IgbWF4aW11bSByZWltYnVyc2VtZW50LjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZmVhdHVyZSI+CiAgICAgIDxoMz5NRFMgQWNjdXJhY3kgVGlwczwvaDM+CiAgICAgIDxwPk1EUyBjb2RpbmcgZXJyb3JzIGNvc3QgU05GcyBtaWxsaW9ucy4gTGVhcm4gdGhlIG1vc3QgY29tbW9uIG1pc3Rha2VzIGFuZCBob3cgdG8gY2F0Y2ggdGhlbS48L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUiPgogICAgICA8aDM+UmF0ZSBVcGRhdGVzIDIwMjY8L2gzPgogICAgICA8cD5DTVMgdXBkYXRlZCBTTkYgUFBTIHJhdGVzIGVmZmVjdGl2ZSBPY3RvYmVyIDIwMjYuIENoZWNrIHlvdXIgZmFjaWxpdHkncyB1cGRhdGVkIFBEUE0gYmFzZSByYXRlcy48L3A+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiBpZD0ibmV3c2xldHRlciI+CiAgPGRpdiBjbGFzcz0ibmV3c2xldHRlciI+CiAgICA8aDI+U05GIEJpbGxpbmcgSW50ZWxsaWdlbmNlPC9oMj4KICAgIDxwPldlZWtseSBjYXNlIG1peCB0aXBzLCByYXRlIHVwZGF0ZXMsIGFuZCBiaWxsaW5nIGFsZXJ0cyBmb3IgU05GIHRlYW1zLiBObyBzcGFtLCBldmVyLjwvcD4KICAgIDxmb3JtIGNsYXNzPSJubC1mb3JtIiBvbnN1Ym1pdD0icmV0dXJuIG5sU3VibWl0KGV2ZW50KSI+CiAgICAgIDxpbnB1dCB0eXBlPSJlbWFpbCIgaWQ9Im5sLWVtYWlsIiBwbGFjZWhvbGRlcj0ieW91ckBzbmYuY29tIiByZXF1aXJlZD4KICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiPlN1YnNjcmliZSBGcmVlPC9idXR0b24+CiAgICA8L2Zvcm0+CiAgICA8cCBpZD0ibmwtbXNnIiBzdHlsZT0ibWFyZ2luLXRvcDoxcmVtO2NvbG9yOnZhcigtLXN0ZWVsTCk7ZGlzcGxheTpub25lIj7inJMgWW91J3JlIG9uIHRoZSBsaXN0ITwvcD4KICA8L2Rpdj4KPC9kaXY+CjwvbWFpbj4KCjxmb290ZXI+CiAgPHA+wqkgMjAyNiBNQ0QgQ2FzZSBNaXggwrcgU05GIE1lZGljYXJlIE9wdGltaXphdGlvbiDCtyA8YSBocmVmPSIvc2l0ZW1hcC54bWwiPlNpdGVtYXA8L2E+PC9wPgo8L2Zvb3Rlcj4KCjxzY3JpcHQgZGVmZXIgc3JjPSIvX3ZlcmNlbC9pbnNpZ2h0cy9zY3JpcHQuanMiPjwvc2NyaXB0Pgo8c2NyaXB0PgpmdW5jdGlvbiBjYWxjTWl4KCl7CiAgY29uc3QgcHQ9cGFyc2VGbG9hdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHQtY2F0JykudmFsdWUpOwogIGNvbnN0IHNscD1wYXJzZUZsb2F0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbHAtY2F0JykudmFsdWUpOwogIGNvbnN0IG50YT1wYXJzZUZsb2F0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdudGEnKS52YWx1ZSk7CiAgY29uc3QgbnVyc2luZz1wYXJzZUZsb2F0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdudXJzaW5nJykudmFsdWUpOwogIGNvbnN0IGxvcz1wYXJzZUludChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9zJykudmFsdWUpfHwxOwogIGNvbnN0IGJhc2VQVD01ODAsIGJhc2VPVD01MjAsIGJhc2VTTFA9MTkwLCBiYXNlTlRBPTEwMDsKICBjb25zdCBwdFJhdGU9YmFzZVBUKnB0LCBvdFJhdGU9YmFzZU9UKjAuOSwgc2xwUmF0ZT1iYXNlU0xQKnNscCwgbnRhUmF0ZT1iYXNlTlRBKm50YTsKICBjb25zdCBkYWlseVJhdGU9cHRSYXRlK290UmF0ZStzbHBSYXRlK250YVJhdGUrbnVyc2luZzsKICBjb25zdCB0b3RhbD1kYWlseVJhdGUqbG9zOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b3RhbC12YWwnKS50ZXh0Q29udGVudD0nJCcrdG90YWwudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJyx7bWF4aW11bUZyYWN0aW9uRGlnaXRzOjB9KTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0LWRldGFpbCcpLnRleHRDb250ZW50PSdEYWlseSByYXRlOiAkJytkYWlseVJhdGUudG9GaXhlZCgyKSsnIMOXICcrbG9zKycgZGF5cyB8IFBUOiAkJytwdFJhdGUudG9GaXhlZCgwKSsnIHwgT1Q6ICQnK290UmF0ZS50b0ZpeGVkKDApKycgfCBTTFA6ICQnK3NscFJhdGUudG9GaXhlZCgwKSsnIHwgTlRBOiAkJytudGFSYXRlLnRvRml4ZWQoMCkrJyB8IE51cnNpbmc6ICQnK251cnNpbmc7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKfQpmdW5jdGlvbiBubFN1Ym1pdChlKXsKICBlLnByZXZlbnREZWZhdWx0KCk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25sLW1zZycpLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmwtZW1haWwnKS52YWx1ZT0nJzsKICByZXR1cm4gZmFsc2U7Cn0KPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPg=="}