{"id":4691,"date":"2026-09-24T14:34:42","date_gmt":"2026-09-24T14:34:42","guid":{"rendered":"https:\/\/naroeco.com\/?page_id=4691"},"modified":"2026-11-02T18:19:18","modified_gmt":"2026-11-02T18:19:18","slug":"stay","status":"publish","type":"page","link":"https:\/\/naroeco.com\/","title":{"rendered":"Stay at Naro Eco Resort"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4691\" class=\"elementor elementor-4691\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2990979 e-flex e-con-boxed e-con e-parent\" data-id=\"2990979\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-47fffc23 elementor-widget elementor-widget-text-editor\" data-id=\"47fffc23\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t\n<div id=\"naro-app\" data-src=\"PHN0eWxlPgo6cm9vdHsKICBjb2xvci1zY2hlbWU6ZGFyazsKICAtLW5pZ2h0OiMwODE0MGY7IC0tZm9yZXN0OiMwZTFmMTg7IC0tbW9zczojMTYzMDJhOyAtLWNhcmQ6IzExMjUxZTsgLS1taXN0OiNlOGYwZWE7IC0tbWlzdDI6I2E4YmRiMDsgLS1saW5lOnJnYmEoMjMyLDI0MCwyMzQsLjE0KTsKICAtLWdvbGQ6I2VmYmY2MjsgLS1nb2xkLWluazojMjQxNzAzOyAtLXRlYWw6IzYzYjdiMDsgLS13YXJuOiNmZjliN2E7IC0tZ29vZDojN2ZkMWEwOwogIC0tcGFwZXI6I2YzZjZmMTsgLS1wYXBlci1pbms6IzEwMjUxYzsgLS1wYXBlci0yOiNlM2ViZTQ7IC0tcGFwZXItbGluZTojYzlkNmNjOyAtLXBhcGVyLW11dGU6IzRhNjA1NTsKICAtLWY6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsKfQoqe2JveC1zaXppbmc6Ym9yZGVyLWJveH0KaDEsaDIsaDMsaDR7Zm9udC1mYW1pbHk6dmFyKC0tZik7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo0MDB9CmJ1dHRvbixpbnB1dCxzZWxlY3QsdGV4dGFyZWEsc3VtbWFyeXtmb250LWZhbWlseTp2YXIoLS1mKX0KcCxsaSxzcGFuLGxhYmVsLGF7Zm9udC1mYW1pbHk6dmFyKC0tZil9CgpodG1se3Njcm9sbC1iZWhhdmlvcjpzbW9vdGh9CmJvZHl7YmFja2dyb3VuZDp2YXIoLS1uaWdodCk7Y29sb3I6dmFyKC0tbWlzdCk7Zm9udDo0MDAgMTdweC8xLjY1IHZhcigtLWYpO3BhZGRpbmctaW5saW5lOjB9CmgxLGgyLGgzLGg0LHAsdWx7bWFyZ2luOjB9CmgxLGgyLGgze2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjA4O3RleHQtd3JhcDpiYWxhbmNlO2xldHRlci1zcGFjaW5nOi0uMDFlbX0KYXtjb2xvcjppbmhlcml0fQpidXR0b24saW5wdXQsc2VsZWN0LHRleHRhcmVhe2ZvbnQtZmFtaWx5OnZhcigtLWYpfQo6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjNweCBzb2xpZCB2YXIoLS1nb2xkKTtvdXRsaW5lLW9mZnNldDoycHh9Ci53cmFwe21heC13aWR0aDoxMTgwcHg7bWFyZ2luLWlubGluZTphdXRvO3BhZGRpbmctaW5saW5lOjIwcHh9Ci5leWVicm93e2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOi4yMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1nb2xkKX0KLmJ0bntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxMHB4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzoxNXB4IDI2cHg7Zm9udDo3MDAgMTVweC8xIHZhcigtLWYpO2N1cnNvcjpwb2ludGVyO3RleHQtZGVjb3JhdGlvbjpub25lO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXMsZmlsdGVyIC4xNXN9Ci5idG46aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7ZmlsdGVyOmJyaWdodG5lc3MoMS4wNyl9Ci5idG4tZ29sZHtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO2NvbG9yOnZhcigtLWdvbGQtaW5rKX0KLmJ0bi1saW5le2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tbWlzdCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKX0KLmJ0bi1kYXJre2JhY2tncm91bmQ6dmFyKC0tcGFwZXItaW5rKTtjb2xvcjp2YXIoLS1wYXBlcil9Ci5idG46ZGlzYWJsZWR7b3BhY2l0eTouNTU7Y3Vyc29yOndhaXQ7dHJhbnNmb3JtOm5vbmV9CgovKiBuYXYgKi8KLm5hdntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjMwO3BhZGRpbmctdG9wOmVudihzYWZlLWFyZWEtaW5zZXQtdG9wLDBweCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoOCwyMCwxNSwuNzgpLHJnYmEoOCwyMCwxNSwwKSk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoNnB4KX0KLm5hdiAud3JhcHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxNnB4O21pbi1oZWlnaHQ6NzBweH0KLmJyYW5ke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC1zaXplOjIwcHh9Ci5icmFuZC1tYXJre3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1nb2xkKTtjb2xvcjp2YXIoLS1nb2xkLWluayk7ZGlzcGxheTpncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjtmb250LXNpemU6MTlweDtmb250LXdlaWdodDo3MDA7ZmxleDpub25lfQouYnJhbmQgc21hbGx7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTBweDtsZXR0ZXItc3BhY2luZzouMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1taXN0Mil9Ci5uYXYgdWx7ZGlzcGxheTpmbGV4O2dhcDoyOHB4O2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7Zm9udC1zaXplOjE1cHh9Ci5uYXYgdWwgYXt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjp2YXIoLS1taXN0Mil9Lm5hdiB1bCBhOmhvdmVye2NvbG9yOnZhcigtLW1pc3QpfQpAbWVkaWEobWF4LXdpZHRoOjg2MHB4KXsubmF2IHVse2Rpc3BsYXk6bm9uZX19CgovKiBoZXJvICovCi5oZXJve3Bvc2l0aW9uOnJlbGF0aXZlO21pbi1oZWlnaHQ6NzIwcHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtZW5kO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLW5pZ2h0KX0KI3NreXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja30KLmhlcm86OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSg4LDIwLDE1LC41NSkgMCUscmdiYSg4LDIwLDE1LDApIDM4JSxyZ2JhKDgsMjAsMTUsLjU1KSA3OCUsdmFyKC0tbmlnaHQpIDEwMCUpO3BvaW50ZXItZXZlbnRzOm5vbmV9Ci5oZXJvIC53cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mjt3aWR0aDoxMDAlO3BhZGRpbmctYmxvY2s6MTUwcHggNjRweH0KLmhlcm8gaDF7Zm9udC1zaXplOmNsYW1wKDQ0cHgsOHZ3LDEwNHB4KTttYXgtd2lkdGg6MTJjaH0KLmhlcm8gaDEgZW17Zm9udC1zdHlsZTppdGFsaWM7Y29sb3I6dmFyKC0tZ29sZCl9Ci5oZXJvIC5sZWRle21heC13aWR0aDo1NGNoO21hcmdpbi10b3A6MjJweDtmb250LXNpemU6MTlweDtjb2xvcjp2YXIoLS1taXN0KX0KLmNtZHttYXJnaW4tdG9wOjM2cHg7bWF4LXdpZHRoOjgyMHB4O2JhY2tncm91bmQ6cmdiYSgxMCwyNiwyMCwuNzIpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoyMnB4O3BhZGRpbmc6MTRweDtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNHB4KTtib3gtc2hhZG93OjAgMzBweCA4MHB4IHJnYmEoMCwwLDAsLjQpfQouY21kLXJvd3tkaXNwbGF5OmZsZXg7Z2FwOjEycHg7YWxpZ24taXRlbXM6c3RyZXRjaDtmbGV4LXdyYXA6d3JhcH0KLmNtZCB0ZXh0YXJlYXtmbGV4OjEgMSAzMDBweDttaW4taGVpZ2h0OjYwcHg7cmVzaXplOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MDtjb2xvcjp2YXIoLS1taXN0KTtmb250OjQwMCAxOHB4LzEuNDUgdmFyKC0tZik7cGFkZGluZzoxMnB4IDE0cHh9Ci5jbWQgdGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLW1pc3QyKX0KLmNtZC10YWd7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOi4xNmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1nb2xkKTtwYWRkaW5nOjhweCAxNHB4IDB9Ci5wdWxzZXt3aWR0aDo4cHg7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO2JveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDIzOSwxOTEsOTgsLjcpO2FuaW1hdGlvbjpwdWxzZSAycyBpbmZpbml0ZX0KQGtleWZyYW1lcyBwdWxzZXs3MCV7Ym94LXNoYWRvdzowIDAgMCAxMHB4IHJnYmEoMjM5LDE5MSw5OCwwKX0xMDAle2JveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDIzOSwxOTEsOTgsMCl9fQouY2hpcHN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo4cHg7cGFkZGluZzo2cHggMTRweCA4cHh9Ci5jaGlwe2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS1taXN0Mik7Ym9yZGVyLXJhZGl1czo5OXB4O3BhZGRpbmc6N3B4IDE0cHg7Zm9udDo0MDAgMTRweC8xLjIgdmFyKC0tZik7Y3Vyc29yOnBvaW50ZXJ9Ci5jaGlwOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1nb2xkKTtjb2xvcjp2YXIoLS1taXN0KX0KLmFpbXNne3BhZGRpbmc6MCAxNHB4IDhweDtmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS1taXN0Mik7bWluLWhlaWdodDowfQouZmFjdHN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDoxMHB4IDMwcHg7bWFyZ2luLXRvcDozMHB4O2ZvbnQtc2l6ZToxM3B4O2xldHRlci1zcGFjaW5nOi4xMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1taXN0Mil9Ci5mYWN0cyBzcGFuOjpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo2cHg7aGVpZ2h0OjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO21hcmdpbi1yaWdodDoxMHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0KCi8qIGJvb2tpbmcgc3R1ZGlvICovCi5zdHVkaW97cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1ibG9jazoxMDBweCA5NnB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1uaWdodCksdmFyKC0tZm9yZXN0KSl9Ci5zdHVkaW8taGVhZHtkaXNwbGF5OmdyaWQ7Z2FwOjEycHg7bWFyZ2luLWJvdHRvbToyOHB4O21heC13aWR0aDo2MGNofQouc3R1ZGlvLWhlYWQgaDJ7Zm9udC1zaXplOmNsYW1wKDMycHgsNXZ3LDU0cHgpfQouc3R1ZGlvLWhlYWQgcHtjb2xvcjp2YXIoLS1taXN0Mil9Ci5zdHVkaW8tZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjEuNWZyIDFmcjtnYXA6MjhweDthbGlnbi1pdGVtczpzdGFydH0KQG1lZGlhKG1heC13aWR0aDo5MDBweCl7LnN0dWRpby1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQouY2FyZHtiYWNrZ3JvdW5kOnZhcigtLXBhcGVyKTtjb2xvcjp2YXIoLS1wYXBlci1pbmspO2JvcmRlci1yYWRpdXM6MjBweDtib3gtc2hhZG93OjAgMzBweCA3MHB4IHJnYmEoMCwwLDAsLjM1KTtvdmVyZmxvdzpoaWRkZW59Ci5zdGVwc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcik7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tcGFwZXItbGluZSk7YmFja2dyb3VuZDp2YXIoLS1wYXBlci0yKX0KLnN0ZXBzIGJ1dHRvbntib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXBhcGVyLW11dGUpO3BhZGRpbmc6MTZweCA4cHg7Zm9udDo0MDAgMTNweC8xLjIgdmFyKC0tZik7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudH0KLnN0ZXBzIGJ1dHRvbiBie3dpZHRoOjI2cHg7aGVpZ2h0OjI2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1wYXBlci1saW5lKTtjb2xvcjp2YXIoLS1wYXBlci1pbmspO2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjEzcHh9Ci5zdGVwcyBidXR0b24ub257Y29sb3I6dmFyKC0tcGFwZXItaW5rKTtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWdvbGQpfQouc3RlcHMgYnV0dG9uLm9uIGIsLnN0ZXBzIGJ1dHRvbi5kb25lIGJ7YmFja2dyb3VuZDp2YXIoLS1wYXBlci1pbmspO2NvbG9yOnZhcigtLXBhcGVyKX0KLnN0ZXBzIGJ1dHRvbi5kb25le2NvbG9yOnZhcigtLXBhcGVyLWluayl9Ci5wYW5le3BhZGRpbmc6MjZweH0KLnBhbmUgaDN7Zm9udC1zaXplOjI4cHg7bWFyZ2luLWJvdHRvbTo2cHh9Ci5wYW5lIC5zdWJ7Y29sb3I6dmFyKC0tcGFwZXItbXV0ZSk7Zm9udC1zaXplOjE1cHg7bWFyZ2luLWJvdHRvbToyMHB4fQouZ3JpZDJ7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDIwMHB4LDFmcikpO2dhcDoxNnB4fQouZmxkIGxhYmVse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLXBhcGVyLW11dGUpO21hcmdpbi1ib3R0b206OHB4fQouZmxkIGlucHV0LC5mbGQgc2VsZWN0LC5mbGQgdGV4dGFyZWF7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjUwcHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1wYXBlci1saW5lKTtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDojZmZmO2NvbG9yOnZhcigtLXBhcGVyLWluayk7Zm9udDo0MDAgMTZweCB2YXIoLS1mKTtwYWRkaW5nOjEycHggMTRweH0KLmZsZCB0ZXh0YXJlYXttaW4taGVpZ2h0Ojg0cHg7cmVzaXplOnZlcnRpY2FsfQouc3RlcHBlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6NTBweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXBhcGVyLWxpbmUpO2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOiNmZmZ9Ci5zdGVwcGVyIGJ1dHRvbnt3aWR0aDo1MHB4O2FsaWduLXNlbGY6c3RyZXRjaDtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXBhcGVyLWluayk7Zm9udDo0MDAgMjRweCB2YXIoLS1mKTtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjEycHh9Ci5zdGVwcGVyIGJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXBhcGVyLTIpfQouc3RlcHBlciBvdXRwdXR7ZmxleDoxO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxN3B4O2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30KLmFjdGlvbnN7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxMnB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi10b3A6MjRweDthbGlnbi1pdGVtczpjZW50ZXJ9Ci5lcnJ7Y29sb3I6I2IyM2ExNztmb250LXNpemU6MTRweDttaW4taGVpZ2h0OjIwcHh9Ci5ub3Rle2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLXBhcGVyLW11dGUpfQoub3B0c3tkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweH0KLm9wdHMgbGFiZWx7Y3Vyc29yOnBvaW50ZXJ9Ci5vcHRzIGlucHV0e3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6MH0KLm9wdHMgc3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjEwcHggMTZweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXBhcGVyLWxpbmUpO2JvcmRlci1yYWRpdXM6OTlweDtiYWNrZ3JvdW5kOiNmZmY7Zm9udC1zaXplOjE1cHh9Ci5vcHRzIGlucHV0OmNoZWNrZWQrc3BhbntiYWNrZ3JvdW5kOnZhcigtLXBhcGVyLWluayk7Y29sb3I6dmFyKC0tcGFwZXIpO2JvcmRlci1jb2xvcjp2YXIoLS1wYXBlci1pbmspfQoub3B0cyBpbnB1dDpmb2N1cy12aXNpYmxlK3NwYW57b3V0bGluZTozcHggc29saWQgdmFyKC0tZ29sZCl9Ci5wYXktYm94e2JvcmRlcjoxcHggc29saWQgdmFyKC0tcGFwZXItbGluZSk7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MThweDtiYWNrZ3JvdW5kOiNmZmY7ZGlzcGxheTpncmlkO2dhcDoxMHB4fQoucGF5LWJhZGdlc3tkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweH0KLnBheS1iYWRnZXMgc3Bhbntmb250LXNpemU6MTNweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXBhcGVyLWxpbmUpO2JvcmRlci1yYWRpdXM6NnB4O3BhZGRpbmc6NHB4IDEwcHg7Y29sb3I6dmFyKC0tcGFwZXItbXV0ZSl9Ci5wcmV2aWV3bm90ZXtiYWNrZ3JvdW5kOiNmZmY2ZGM7Ym9yZGVyOjFweCBzb2xpZCAjZWNkNDhjO2NvbG9yOiM1YzQ1MDg7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTJweCAxNHB4O2ZvbnQtc2l6ZToxNHB4fQoKLyogc3VtbWFyeSAqLwouc3Vte3Bvc2l0aW9uOnN0aWNreTt0b3A6OTBweDtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6MjRweDtkaXNwbGF5OmdyaWQ7Z2FwOjE2cHh9CkBtZWRpYShtYXgtd2lkdGg6OTAwcHgpey5zdW17cG9zaXRpb246c3RhdGljfX0KLnN1bSBoNHtmb250LXNpemU6MTJweDtsZXR0ZXItc3BhY2luZzouMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1nb2xkKTtmb250LXdlaWdodDo0MDB9Ci5zdW0gLnN0YXktbHtkaXNwbGF5OmdyaWQ7Z2FwOjhweDtmb250LXNpemU6MTZweH0KLnN1bSAuc3RheS1sIGRpdntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHh9Ci5zdW0gLnN0YXktbCAudntmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9Ci5zdW0gLnRvdGFse2JvcmRlci10b3A6MXB4IGRhc2hlZCB2YXIoLS1saW5lKTtwYWRkaW5nLXRvcDoxMnB4O2ZvbnQtc2l6ZToyMnB4fQouc3VtIC5zYXZle2NvbG9yOnZhcigtLWdvb2QpO2ZvbnQtc2l6ZToxNHB4fQouYnJpZWZ7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxNHB4O2ZvbnQtc2l6ZToxNXB4O2NvbG9yOnZhcigtLW1pc3QpO21pbi1oZWlnaHQ6NjRweDt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0KLnN1bSAud2h5e2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLW1pc3QyKX0KCi8qIHBhc3MgKi8KLnBhc3N7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMxNTNiMmYsIzBjMjMxYik7Y29sb3I6dmFyKC0tbWlzdCk7Ym9yZGVyLXJhZGl1czoxOHB4O3BhZGRpbmc6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpncmlkO2dhcDoxNnB4fQoucGFzczo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LTYwcHg7dG9wOi02MHB4O3dpZHRoOjIyMHB4O2hlaWdodDoyMjBweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUscmdiYSgyMzksMTkxLDk4LC40NSkscmdiYSgyMzksMTkxLDk4LDApIDcwJSl9Ci5wYXNzIC5yZWZ7Zm9udC1zaXplOjM0cHg7bGV0dGVyLXNwYWNpbmc6LjA4ZW07Y29sb3I6dmFyKC0tZ29sZCl9Ci5wYXNzIGRse21hcmdpbjowO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heCgxNTBweCwxZnIpKTtnYXA6MTRweCAyMHB4fQoucGFzcyBkdHtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouMThlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0tbWlzdDIpfQoucGFzcyBkZHttYXJnaW46MnB4IDAgMDtmb250LXNpemU6MTdweH0KLnN0YW1we2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlcjoxcHggc29saWQgdmFyKC0tZ29sZCk7Y29sb3I6dmFyKC0tZ29sZCk7Ym9yZGVyLXJhZGl1czo5OXB4O3BhZGRpbmc6NXB4IDE0cHg7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2p1c3RpZnktc2VsZjpzdGFydH0KLndlbGNvbWV7YmFja2dyb3VuZDp2YXIoLS1wYXBlci0yKTtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoxNnB4O2ZvbnQtc2l6ZToxNnB4O3doaXRlLXNwYWNlOnByZS13cmFwO21pbi1oZWlnaHQ6NzBweH0KCi8qIHNlY3Rpb25zICovCnNlY3Rpb24uc3twYWRkaW5nLWJsb2NrOjEwMHB4fQoucy1oZWFke2Rpc3BsYXk6Z3JpZDtnYXA6MTRweDttYXJnaW4tYm90dG9tOjQ0cHg7bWF4LXdpZHRoOjYyY2h9Ci5zLWhlYWQgaDJ7Zm9udC1zaXplOmNsYW1wKDMycHgsNXZ3LDU4cHgpfQoucy1oZWFkIHB7Y29sb3I6dmFyKC0tbWlzdDIpO2ZvbnQtc2l6ZToxOHB4fQouYmFuZHtiYWNrZ3JvdW5kOnZhcigtLWZvcmVzdCl9Ci5zdGF5e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS4xZnIgMWZyO2dhcDowO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoyMnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpfQouc3RheSAucGh7bWluLWhlaWdodDo0MjBweH0KLnN0YXktZ3JvdXB7ZGlzcGxheTpncmlkO2dhcDoyNHB4fQoucm9vbS1kb3VibGV7Y29sb3I6dmFyKC0tZ29sZCl9Ci5yb29tLWZhbWlseXtjb2xvcjp2YXIoLS10ZWFsKX0KLnN0YXktYm9keXtwYWRkaW5nOjM2cHg7ZGlzcGxheTpncmlkO2dhcDoyMHB4O2FsaWduLWNvbnRlbnQ6Y2VudGVyfQouc3RheS1ib2R5IGgze2ZvbnQtc2l6ZTozNnB4fQoucHJpY2V7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDoxNHB4O2ZsZXgtd3JhcDp3cmFwfQoucHJpY2UgYntmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjQ0cHg7Y29sb3I6dmFyKC0tZ29sZCk7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfQoucHJpY2Ugc3tjb2xvcjp2YXIoLS1taXN0Mik7Zm9udC1zaXplOjE5cHh9Ci5wcmljZSBzcGFue2NvbG9yOnZhcigtLW1pc3QyKTtmb250LXNpemU6MTVweH0KLnRpY2tze2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoxMHB4IDIwcHg7Zm9udC1zaXplOjE2cHh9Ci50aWNrcyBsaTo6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1nb2xkKTtib3JkZXItdG9wOjA7Ym9yZGVyLWxlZnQ6MDt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKC0zcHgpO21hcmdpbi1yaWdodDoxMnB4fQpAbWVkaWEobWF4LXdpZHRoOjg2MHB4KXsuc3RheXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS50aWNrc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS5zdGF5IC5waHttaW4taGVpZ2h0OjI2MHB4fX0KLnBoe3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLW1vc3MpfQoucGggc3ZnLC5waCBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXI7ZGlzcGxheTpibG9ja30KLnRpbGVze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heCgyNTBweCwxZnIpKTtnYXA6MjJweH0KLnRpbGV7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjE4cHg7cGFkZGluZzoyNnB4O2Rpc3BsYXk6Z3JpZDtnYXA6MTJweDthbGlnbi1jb250ZW50OnN0YXJ0O2JhY2tncm91bmQ6dmFyKC0tY2FyZCl9Ci50aWxlIGgze2ZvbnQtc2l6ZToyNnB4fQoudGlsZSBwe2NvbG9yOnZhcigtLW1pc3QyKTtmb250LXNpemU6MTZweH0KLnRpbGUgLmt7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6LjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0tZ29sZCl9Ci5zcGxpdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjU2cHg7YWxpZ24taXRlbXM6Y2VudGVyfQpAbWVkaWEobWF4LXdpZHRoOjg2MHB4KXsuc3BsaXR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6MzRweH19Ci5iYXJze2Rpc3BsYXk6Z3JpZDtnYXA6MThweH0KLmJhcntkaXNwbGF5OmdyaWQ7Z2FwOjhweH0KLmJhciAudHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHg7Zm9udC1zaXplOjE2cHh9Ci5iYXIgLnQgc3BhbjpsYXN0LWNoaWxke2NvbG9yOnZhcigtLWdvbGQpO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30KLmJhciBpe2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjk5cHg7YmFja2dyb3VuZDp2YXIoLS1tb3NzKTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Ci5iYXIgaTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7d2lkdGg6dmFyKC0tdyk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tdGVhbCksdmFyKC0tZ29sZCkpO2JvcmRlci1yYWRpdXM6OTlweH0KLmdhbGxlcnl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDIyMHB4LDFmcikpO2dhcDoxNnB4O21hcmdpbi10b3A6NDBweH0KLmdhbGxlcnkgZmlndXJle21hcmdpbjowO2Rpc3BsYXk6Z3JpZDtnYXA6OHB4fQouZ2FsbGVyeSAucGh7YXNwZWN0LXJhdGlvOjQvMztib3JkZXItcmFkaXVzOjE2cHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJX0KLmdhbGxlcnkgZmlnY2FwdGlvbntmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS1taXN0Mil9Ci5wbGFuLW91dHt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MThweDtmb250LXNpemU6MTZweDttaW4taGVpZ2h0OjExMHB4O21hcmdpbi10b3A6MTRweH0KLnJvd3tkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7ZmxleC13cmFwOndyYXB9Ci5yb3cgaW5wdXR7ZmxleDoxIDEgMjIwcHg7bWluLWhlaWdodDo1MHB4O2JvcmRlci1yYWRpdXM6OTlweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tbWlzdCk7cGFkZGluZzowIDIwcHg7Zm9udDo0MDAgMTZweCB2YXIoLS1mKX0KCmZvb3RlcntiYWNrZ3JvdW5kOiMwNTBkMGE7cGFkZGluZy1ibG9jazo2NHB4IGNhbGMoMTEwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwwcHgpKX0KZm9vdGVyIC5jb2xze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS40ZnIgMWZyIDFmcjtnYXA6MzRweH0KZm9vdGVyIGg0e2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOi4yZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLWdvbGQpO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tYm90dG9tOjE0cHh9CmZvb3RlciBsaXtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luLWJvdHRvbTo4cHg7Y29sb3I6dmFyKC0tbWlzdDIpfQpmb290ZXIgdWx7cGFkZGluZzowfQpmb290ZXIgLmZpbmV7bWFyZ2luLXRvcDo0MHB4O3BhZGRpbmctdG9wOjIwcHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSk7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tbWlzdDIpfQpAbWVkaWEobWF4LXdpZHRoOjc2MHB4KXtmb290ZXIgLmNvbHN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19Ci5wZW5kaW5ne2ZvbnQtc3R5bGU6aXRhbGljfQoKLyogZmxvYXRpbmcgZ3VpZGUgKi8KLmZhYntwb3NpdGlvbjpmaXhlZDtyaWdodDoxOHB4O2JvdHRvbTpjYWxjKDE4cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwwcHgpKTt6LWluZGV4OjQwO2JhY2tncm91bmQ6dmFyKC0tZ29sZCk7Y29sb3I6dmFyKC0tZ29sZC1pbmspO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OTlweDtwYWRkaW5nOjE1cHggMjJweDtmb250OjcwMCAxNXB4IHZhcigtLWYpO2N1cnNvcjpwb2ludGVyO2JveC1zaGFkb3c6MCAxNHB4IDQwcHggcmdiYSgwLDAsMCwuNDUpO2Rpc3BsYXk6ZmxleDtnYXA6MTBweDthbGlnbi1pdGVtczpjZW50ZXJ9Ci5jaGF0e3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjE4cHg7Ym90dG9tOmNhbGMoODRweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLDBweCkpO3otaW5kZXg6NDE7d2lkdGg6bWluKDM5MHB4LGNhbGMoMTAwdncgLSAzNnB4KSk7aGVpZ2h0Om1pbig1NjBweCxjYWxjKDEwMCUgLSAxMjBweCkpO2JhY2tncm91bmQ6dmFyKC0tcGFwZXIpO2NvbG9yOnZhcigtLXBhcGVyLWluayk7Ym9yZGVyLXJhZGl1czoyMHB4O2JveC1zaGFkb3c6MCAzMHB4IDgwcHggcmdiYSgwLDAsMCwuNTUpO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLXJvd3M6YXV0byAxZnIgYXV0byBhdXRvO292ZXJmbG93OmhpZGRlbn0KLmNoYXRbaGlkZGVuXXtkaXNwbGF5Om5vbmV9Ci5jaGF0LWh7YmFja2dyb3VuZDp2YXIoLS1wYXBlci1pbmspO2NvbG9yOnZhcigtLXBhcGVyKTtwYWRkaW5nOjE0cHggMThweDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4fQouY2hhdC1oIGJ1dHRvbntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjowO2NvbG9yOnZhcigtLXBhcGVyKTtmb250LXNpemU6MjJweDtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDoxfQoubXNnc3tvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxNnB4O2Rpc3BsYXk6Z3JpZDtnYXA6MTBweDthbGlnbi1jb250ZW50OnN0YXJ0fQoubXttYXgtd2lkdGg6ODglO3BhZGRpbmc6MTBweCAxNHB4O2JvcmRlci1yYWRpdXM6MTRweDtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxLjU7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Ci5tLnV7anVzdGlmeS1zZWxmOmVuZDtiYWNrZ3JvdW5kOnZhcigtLXBhcGVyLWluayk7Y29sb3I6dmFyKC0tcGFwZXIpfQoubS5he2p1c3RpZnktc2VsZjpzdGFydDtiYWNrZ3JvdW5kOnZhcigtLXBhcGVyLTIpfQouY2hhdCAucXN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo2cHg7cGFkZGluZzowIDE0cHggMTBweH0KLmNoYXQgLnFzIC5jaGlwe2NvbG9yOnZhcigtLXBhcGVyLW11dGUpO2JvcmRlci1jb2xvcjp2YXIoLS1wYXBlci1saW5lKTtmb250LXNpemU6MTNweH0KLmNoYXQgZm9ybXtkaXNwbGF5OmZsZXg7Z2FwOjhweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tcGFwZXItbGluZSl9Ci5jaGF0IGZvcm0gaW5wdXR7ZmxleDoxO21pbi1oZWlnaHQ6NDZweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXBhcGVyLWxpbmUpO2JvcmRlci1yYWRpdXM6OTlweDtwYWRkaW5nOjAgMTZweDtmb250OjQwMCAxNXB4IHZhcigtLWYpO2JhY2tncm91bmQ6I2ZmZjtjb2xvcjp2YXIoLS1wYXBlci1pbmspfQouY2hhdCBmb3JtIC5idG57cGFkZGluZzowIDIwcHh9Ci5ydHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxNnB4O2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmctYm90dG9tOjE2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSl9Ci5ydCBoM3tmb250LXNpemU6MzBweH0KLnJze2NvbG9yOnZhcigtLW1pc3QyKTtmb250LXNpemU6MTVweH0KLnN0YXktYm9keSAucHJpY2UgYntmb250LXNpemU6MzRweH0KLnBheS1ib3ggLnN0YXktbHtkaXNwbGF5OmdyaWQ7Z2FwOjhweDtmb250LXNpemU6MTZweH0KLnBheS1ib3ggLnN0YXktbCBkaXZ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxMnB4fQoucGF5LWJveCAuc3RheS1sIC50b3RhbHtib3JkZXItdG9wOjFweCBkYXNoZWQgdmFyKC0tcGFwZXItbGluZSk7cGFkZGluZy10b3A6MTJweDtmb250LXNpemU6MjJweH0KLnN0YXktbCAudntmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9Ci5yZWFjaHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjEuMWZyIDFmcjtnYXA6MjhweDttYXJnaW4tdG9wOjU2cHg7YWxpZ24taXRlbXM6c3RhcnR9CkBtZWRpYShtYXgtd2lkdGg6ODYwcHgpey5yZWFjaHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfX0KLm1hcGNhcmR7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjIwcHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6dmFyKC0tY2FyZCl9Ci5tYXBhcnR7YXNwZWN0LXJhdGlvOjE2LzEwO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6IzBmMmEyMn0KLm1hcGFydCBzdmd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9Ci5tYXBub3Rle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTJweDtib3R0b206MTBweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1taXN0Mil9Ci5tYXBidG5ze3BhZGRpbmc6MThweDtkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7ZmxleC13cmFwOndyYXB9Ci5kaXJze2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Ci5kaXJzIGxpe2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoxNHB4IDA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSl9Ci5kaXJzIHNtYWxse2Rpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0tbWlzdDIpO2ZvbnQtc2l6ZToxM3B4fQouZGlycyBhe3doaXRlLXNwYWNlOm5vd3JhcDtjb2xvcjp2YXIoLS1nb2xkKTt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6OTlweDtwYWRkaW5nOjhweCAxNnB4O2ZvbnQtc2l6ZToxNHB4fQouZGlycyBhOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1nb2xkKX0KLmZhcSBkZXRhaWxze2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpfQouZmFxIHN1bW1hcnl7Y3Vyc29yOnBvaW50ZXI7bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MjBweCAwO2ZvbnQtc2l6ZToyMHB4O2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTZweDthbGlnbi1pdGVtczpjZW50ZXJ9Ci5mYXEgc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmV9Ci5mYXEgc3VtbWFyeTo6YWZ0ZXJ7Y29udGVudDoiKyI7Y29sb3I6dmFyKC0tZ29sZCk7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MTtmbGV4Om5vbmV9Ci5mYXEgZGV0YWlsc1tvcGVuXSBzdW1tYXJ5OjphZnRlcntjb250ZW50OiLiiJIifQouZmFxIGRldGFpbHMgcHtjb2xvcjp2YXIoLS1taXN0Mik7cGFkZGluZzowIDAgMjJweDttYXgtd2lkdGg6NjhjaH0KQG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXtodG1se3Njcm9sbC1iZWhhdmlvcjphdXRvfS5wdWxzZXthbmltYXRpb246bm9uZX19CgouZ3Jldi1ib3h7ZGlzcGxheTpmbGV4O2dhcDo0MHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6NDBweDtmbGV4LXdyYXA6d3JhcH0KLmdyZXYtc2NvcmV7dGV4dC1hbGlnbjpjZW50ZXI7bWluLXdpZHRoOjE2MHB4fQouZ3Jldi1udW17Zm9udC1mYW1pbHk6dmFyKC0tZik7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZTo1NnB4O2NvbG9yOnZhcigtLWdvbGQpO2xpbmUtaGVpZ2h0OjF9Ci5ncmV2LXN0YXJze3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToyNHB4O2xldHRlci1zcGFjaW5nOjNweDtsaW5lLWhlaWdodDoxO21hcmdpbjoxMHB4IDAgNnB4O2NvbG9yOnJnYmEoMjMyLDI0MCwyMzQsLjI1KX0KLmdyZXYtc3RhcnM6OmJlZm9yZXtjb250ZW50OiJcMjYwNVwyNjA1XDI2MDVcMjYwNVwyNjA1In0KLmdyZXYtc3RhcnMgLmZpbGx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO292ZXJmbG93OmhpZGRlbjt3aWR0aDo4NiU7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOnZhcigtLWdvbGQpfQouZ3Jldi1zdGFycyAuZmlsbDo6YmVmb3Jle2NvbnRlbnQ6IlwyNjA1XDI2MDVcMjYwNVwyNjA1XDI2MDUifQouZ3Jldi1jb3VudHtjb2xvcjp2YXIoLS1taXN0Mik7Zm9udC1zaXplOjE0cHh9Ci5ncmV2LWluZm97ZmxleDoxO21pbi13aWR0aDoyNDBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNHB4fQouZ3Jldi1nbG9nb3toZWlnaHQ6MjhweDt3aWR0aDphdXRvO2FsaWduLXNlbGY6ZmxleC1zdGFydH0KLmdyZXYtaW5mbyBwe21hcmdpbjowO2NvbG9yOnZhcigtLW1pc3QpO2ZvbnQtc2l6ZToxN3B4O21heC13aWR0aDpub25lO3BhZGRpbmctaW5saW5lOjB9Ci5ncmV2LWJ0bnN7ZGlzcGxheTpmbGV4O2dhcDoxNHB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi10b3A6NnB4fQpAbWVkaWEgKG1heC13aWR0aDo2MDBweCl7LmdyZXYtYm94e3BhZGRpbmc6MjhweCAyMnB4O2dhcDoyNHB4fS5ncmV2LW51bXtmb250LXNpemU6NDRweH19Cjwvc3R5bGU+PHN0eWxlPgouaGFzLWRyb3B7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4fQouaGFzLWRyb3A+YXtwYWRkaW5nOjRweCAwfQouZHJvcC10b2dnbGV7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MDtjb2xvcjppbmhlcml0O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6NHB4IDZweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfQouZHJvcC10b2dnbGUgc3Zne3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4c30KLmhhcy1kcm9wLm9wZW4gLmRyb3AtdG9nZ2xlIHN2Z3t0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9Ci5kcm9wZG93bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OjA7bWFyZ2luLXRvcDoxNnB4O2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzo4cHg7bWluLXdpZHRoOjIwMHB4O2JveC1zaGFkb3c6MCAyNHB4IDYwcHggcmdiYSgwLDAsMCwuNDUpO29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3RyYW5zaXRpb246b3BhY2l0eSAuMThzLHRyYW5zZm9ybSAuMThzLHZpc2liaWxpdHkgLjE4czt6LWluZGV4OjQwfQouaGFzLWRyb3A6aG92ZXIgLmRyb3Bkb3duLC5oYXMtZHJvcC5vcGVuIC5kcm9wZG93bntvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfQouZHJvcGRvd24gYXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTBweCAxNHB4O2JvcmRlci1yYWRpdXM6OHB4O2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLW1pc3QyKTt0ZXh0LWRlY29yYXRpb246bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXB9Ci5kcm9wZG93biBhOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tbW9zcyk7Y29sb3I6dmFyKC0tbWlzdCl9CkBtZWRpYShtYXgtd2lkdGg6ODYwcHgpewouZHJvcGRvd257cG9zaXRpb246c3RhdGljO29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7dHJhbnNmb3JtOm5vbmU7Ym94LXNoYWRvdzpub25lO2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7bWFyZ2luLXRvcDoycHg7cGFkZGluZy1sZWZ0OjE2cHg7bWF4LWhlaWdodDowO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOm1heC1oZWlnaHQgLjJzfQouaGFzLWRyb3Aub3BlbiAuZHJvcGRvd257bWF4LWhlaWdodDoyNDBweH0KLmRyb3AtdG9nZ2xle3BhZGRpbmc6OHB4fQp9Ci5tZW51LWNhdHticmVhay1pbnNpZGU6YXZvaWQ7bWFyZ2luLWJvdHRvbTozNHB4fQoubWVudS1jYXQgaDR7Zm9udC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6LjEzZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLWdvbGQpO21hcmdpbi1ib3R0b206MTJweDtwYWRkaW5nLWJvdHRvbTo4cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSl9Ci5tZW51LWNhdCBoNCAubXN1YjJ7Y29sb3I6dmFyKC0tbWlzdDIpO2ZvbnQtc2l6ZToxMXB4O3RleHQtdHJhbnNmb3JtOm5vbmU7bGV0dGVyLXNwYWNpbmc6MDtmb250LXdlaWdodDo0MDA7bWFyZ2luLWxlZnQ6NHB4fQoubWVudS1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDoxMHB4O3BhZGRpbmc6NnB4IDA7Zm9udC1zaXplOjE1LjVweH0KLm1lbnUtcm93IC5tbmFtZXtmbGV4Om5vbmV9Ci5tZW51LXJvdyAubXN1YntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxMi41cHg7Y29sb3I6dmFyKC0tbWlzdDIpO21hcmdpbi10b3A6M3B4O2ZvbnQtc3R5bGU6aXRhbGljfQoubWVudS1yb3cgLm1kb3Rze2ZsZXg6MTtib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgdmFyKC0tbGluZSk7aGVpZ2h0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCl9Ci5tZW51LXJvdyAubXByaWNle2ZsZXg6bm9uZTtjb2xvcjp2YXIoLS1nb2xkKTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9Ci5tZW51LWNvbHN7Y29sdW1uLWNvdW50OjI7Y29sdW1uLWdhcDo2MHB4fQpAbWVkaWEobWF4LXdpZHRoOjc2MHB4KXsubWVudS1jb2xze2NvbHVtbi1jb3VudDoxfX0KLm1lbnUtbm90ZXtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoxNnB4O3BhZGRpbmc6MjZweCAyOHB4O21hcmdpbi10b3A6MTBweH0KLm1lbnUtbm90ZSBoNHtjb2xvcjp2YXIoLS1nb2xkKTtmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMWVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW4tYm90dG9tOjEycHh9Ci5tZW51LW5vdGUgdWx7bWFyZ2luOjA7cGFkZGluZy1sZWZ0OjIwcHg7ZGlzcGxheTpncmlkO2dhcDo2cHg7Zm9udC1zaXplOjE0LjVweDtjb2xvcjp2YXIoLS1taXN0Mil9Ci5wa2ctZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjIycHg7bWFyZ2luLXRvcDozMHB4fQpAbWVkaWEobWF4LXdpZHRoOjkwMHB4KXsucGtnLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19Ci5wa2ctY2FyZHtiYWNrZ3JvdW5kOnZhcigtLXBhcGVyKTtjb2xvcjp2YXIoLS1wYXBlci1pbmspO2JvcmRlci1yYWRpdXM6MjBweDtwYWRkaW5nOjMwcHggMjZweDtib3gtc2hhZG93OjAgMzBweCA3MHB4IHJnYmEoMCwwLDAsLjM1KTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNHB4fQoucGtnLWNhcmQgaDR7Zm9udC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6LjEzZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLXBhcGVyLW11dGUpfQoucGtnLWNhcmQgLnBrZy1wcmljZXtmb250LWZhbWlseTp2YXIoLS1mKTtmb250LXNpemU6MzZweDtjb2xvcjp2YXIoLS1wYXBlci1pbmspfQoucGtnLWNhcmQgLnBrZy1wcmljZSBzbWFsbHtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1wYXBlci1tdXRlKTtmb250LXdlaWdodDo0MDB9Ci5wa2ctY2FyZCB1bHttYXJnaW46MDtwYWRkaW5nLWxlZnQ6MThweDtkaXNwbGF5OmdyaWQ7Z2FwOjdweDtmb250LXNpemU6MTQuNXB4O2ZsZXg6MX0KLnBrZy1jYXJkIC5idG57bWFyZ2luLXRvcDo0cHg7d2lkdGg6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXh9Ci5wb2xpY3ktYm94e2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1nb2xkKTtib3JkZXItcmFkaXVzOjE2cHg7cGFkZGluZzoyNnB4IDI4cHg7bWFyZ2luLXRvcDoyOHB4fQoucG9saWN5LWJveCBoNHtjb2xvcjp2YXIoLS1nb2xkKTtmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMWVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW4tYm90dG9tOjEycHh9Ci5wb2xpY3ktYm94IG9se21hcmdpbjowO3BhZGRpbmctbGVmdDoyMHB4O2Rpc3BsYXk6Z3JpZDtnYXA6OHB4O2ZvbnQtc2l6ZToxNC41cHh9Ci5wb2xpY3ktYm94IHN0cm9uZ3tjb2xvcjp2YXIoLS13YXJuKX0KLmV2Y2Fse2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjE2cHg7cGFkZGluZzoyNHB4O21hcmdpbi10b3A6MjRweDttYXgtd2lkdGg6NDIwcHh9Ci5ldmNhbC1oZWFke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWFyZ2luLWJvdHRvbToxNHB4fQouZXZjYWwtaGVhZCBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2NvbG9yOnZhcigtLW1pc3QpO2JvcmRlci1yYWRpdXM6OHB4O3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE2cHh9Ci5ldmNhbC1oZWFkIHNwYW57Zm9udC1zaXplOjE1LjVweH0KLmV2Y2FsLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNyxtaW5tYXgoMCwxZnIpKTtnYXA6NHB4O3RleHQtYWxpZ246Y2VudGVyfQouZXZjYWwtZ3JpZCAuZG93e2ZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLW1pc3QyKTtwYWRkaW5nLWJvdHRvbTo2cHh9Ci5ldmNhbC1ncmlkIGJ1dHRvbnthc3BlY3QtcmF0aW86MTttaW4td2lkdGg6MDtwYWRkaW5nOjA7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLW1pc3QpO2N1cnNvcjpwb2ludGVyO2ZvbnQ6NDAwIDE0cHggdmFyKC0tZil9Ci5ldmNhbC1ncmlkIGJ1dHRvbjpkaXNhYmxlZHtvcGFjaXR5Oi4yMjtjdXJzb3I6ZGVmYXVsdH0KLmV2Y2FsLWdyaWQgYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JvcmRlci1jb2xvcjp2YXIoLS1nb2xkKX0KLmV2Y2FsLWdyaWQgYnV0dG9uLnNlbHtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO2NvbG9yOnZhcigtLWdvbGQtaW5rKX0KLmV2Y2FsLXBpY2tlZHttYXJnaW4tdG9wOjE0cHg7Zm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tbWlzdDIpfQouZXZjYWwtcGlja2VkIGJ7Y29sb3I6dmFyKC0tZ29sZCk7Zm9udC13ZWlnaHQ6NDAwfQpAbWVkaWEobWF4LXdpZHRoOjg2MHB4KXsKICAubmF2LXRvZ2dsZXtkaXNwbGF5OmZsZXghaW1wb3J0YW50fQogICNuYXZMaXN0e3Bvc2l0aW9uOmZpeGVkO3RvcDo3MHB4O2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6dmFyKC0tbmlnaHQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDowO3BhZGRpbmc6MjBweDtkaXNwbGF5Om5vbmU7b3ZlcmZsb3c6YXV0bzt6LWluZGV4OjM1fQogICNuYXZMaXN0Lm9wZW57ZGlzcGxheTpmbGV4IWltcG9ydGFudH0KICAjbmF2TGlzdCBsaXt3aWR0aDoxMDAlO3BhZGRpbmc6MTRweCA0cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSl9Cn0KPC9zdHlsZT4KCjxoZWFkZXIgY2xhc3M9Im5hdiIgaWQ9InNpdGVOYXYiPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGEgY2xhc3M9ImJyYW5kIiBocmVmPSIjdG9wIj48aW1nIGNsYXNzPSJicmFuZC1sb2dvIiBzcmM9Imh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDcvTmFyb19FY29fTG9nb18tcmVtb3ZlYmctcHJldmlldy5wbmciIGFsdD0iTmFybyBFY28gUmVzb3J0IGxvZ28iIHdpZHRoPSI0NiIgaGVpZ2h0PSI0NiI+PHNwYW4+TmFybyBFY28gUmVzb3J0PHNtYWxsPllhbXVub3RyaSBIaWdod2F5PC9zbWFsbD48L3NwYW4+PC9hPgogICAgPHVsIGlkPSJuYXZMaXN0Ij4KICAgICAgPGxpPjxhIGhyZWY9IiNzdGF5Ij5TdGF5PC9hPjwvbGk+CiAgICAgIDxsaT48YSBocmVmPSIjZXhwZXJpZW5jZXMiPkV4cGVyaWVuY2VzPC9hPjwvbGk+CiAgICAgIDxsaT48YSBocmVmPSIjZXZlbnRzIj5FdmVudHM8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9IiNleHBsb3JlIj5FeHBsb3JlPC9hPjwvbGk+CiAgICAgIDxsaT48YSBocmVmPSIjZmFxIj5RdWVzdGlvbnM8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9IiNjb250YWN0Ij5Db250YWN0PC9hPjwvbGk+CiAgICA8L3VsPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2LXRvZ2dsZSIgaWQ9Im5hdlRvZ2dsZSIgYXJpYS1sYWJlbD0iT3BlbiBtZW51IiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0ibmF2TGlzdCI+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PC9idXR0b24+CiAgICA8c3R5bGU+Lm5hdi1wbGFuLWxpbmt7Y29sb3I6cmdiKDE2OCwxODksMTc2KTtmb250LXNpemU6MTVweDttYXJnaW4tcmlnaHQ6MThweDt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmNvbG9yIC4ycyxib3JkZXItY29sb3IgLjJzO3doaXRlLXNwYWNlOm5vd3JhcH0ubmF2LXBsYW4tbGluazpob3Zlcntjb2xvcjp2YXIoLS1nb2xkKTtib3JkZXItY29sb3I6dmFyKC0tZ29sZCl9QG1lZGlhKG1heC13aWR0aDo4NjBweCl7Lm5hdi1wbGFuLWxpbmt7ZGlzcGxheTpub25lfX08L3N0eWxlPjxhIGhyZWY9IiN0cmlwUGxhbk9wdGlvbmFsIiBpZD0ibmF2UGxhbkxpbmsiIGNsYXNzPSJuYXYtcGxhbi1saW5rIj5QbGFuIHlvdXIgc3RheTwvYT48YSBjbGFzcz0iYnRuIGJ0bi1nb2xkIiBocmVmPSIjYm9vayI+Qm9vayBub3c8L2E+CiAgPC9kaXY+CjwvaGVhZGVyPjxzY3JpcHQ+CndpbmRvdy5UYXdrX0FQST13aW5kb3cuVGF3a19BUEl8fHt9Owp3aW5kb3cuVGF3a19BUEkub25Mb2FkPWZ1bmN0aW9uKCl7dHJ5e1Rhd2tfQVBJLmhpZGVXaWRnZXQoKTt9Y2F0Y2goZSl7fX07Cjwvc2NyaXB0PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciBUYXdrX0FQST1UYXdrX0FQSXx8e30sVGF3a19Mb2FkU3RhcnQ9bmV3IERhdGUoKTsoZnVuY3Rpb24oKXt2YXIgczE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksczI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO3MxLmFzeW5jPXRydWU7czEuc3JjPSJodHRwczovL2VtYmVkLnRhd2sudG8vNmFiNjgyNmMzOWQ3YzYzNDQ1ZDRlMTBkL2RlZmF1bHQiO3MxLmNoYXJzZXQ9IlVURi04IjtzMS5zZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIiwiKiIpO3MyLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMxLHMyKTt9KSgpOzwvc2NyaXB0PjxkaXYgaWQ9ImhpQmFkZ2UiIHN0eWxlPSJwb3NpdGlvbjpmaXhlZDt0b3A6ODRweDtyaWdodDoxNnB4O3otaW5kZXg6OTk5ODtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO2NvbG9yOnZhcigtLWdvbGQtaW5rKTtwYWRkaW5nOjEwcHggMTZweCAxMHB4IDE0cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo2MDA7Ym94LXNoYWRvdzowIDhweCAyNHB4IHJnYmEoMCwwLDAsLjI1KTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7bWF4LXdpZHRoOjI4MHB4O29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzLHRyYW5zZm9ybSAuNHMiIG9uY2xpY2s9InZhciBwPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0eScpO2lmKHApe3Auc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnfSk7dmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BMYW5nSGknKTtpZihiKXNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmNsaWNrKCl9LDUwMCk7fXRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSciPuKtkCBBYiBhYXAgSGluZGkgbWVpIGJoaSBwYWQgc2FrdGUgaGFpbi48c3BhbiBvbmNsaWNrPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTt0aGlzLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT0nbm9uZSciIHN0eWxlPSJtYXJnaW4tbGVmdDo0cHg7b3BhY2l0eTouNztmb250LXdlaWdodDo0MDAiPuKclTwvc3Bhbj48L2Rpdj48c2NyaXB0PnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hpQmFkZ2UnKTtpZihlbCl7ZWwuc3R5bGUub3BhY2l0eT0xO2VsLnN0eWxlLnRyYW5zZm9ybT0ndHJhbnNsYXRlWSgwKSc7fX0sMTgwMCk7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGlCYWRnZScpO2lmKGVsKWVsLnN0eWxlLmRpc3BsYXk9J25vbmUnO30sMTQwMDApOzwvc2NyaXB0Pgo8c2NyaXB0PihmdW5jdGlvbigpewogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5kcm9wLXRvZ2dsZScpLmZvckVhY2goZnVuY3Rpb24oYnRuKXsKICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpeyBlLnByZXZlbnREZWZhdWx0KCk7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IHZhciBsaT1idG4uY2xvc2VzdCgnLmhhcy1kcm9wJyk7IHZhciBvcGVuPWxpLmNsYXNzTGlzdC50b2dnbGUoJ29wZW4nKTsgYnRuLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIG9wZW4\/J3RydWUnOidmYWxzZScpOyB9KTsKICB9KTsKfSkoKTs8L3NjcmlwdD4KCjxtYWluIGlkPSJ0b3AiPgo8c3R5bGU+Lmhlcm8gLndyYXB7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxLjE1ZnIgLjg1ZnI7Z2FwOjM2cHg7YWxpZ24taXRlbXM6Y2VudGVyfS5oZXJvLXRleHR7bWluLXdpZHRoOjB9QG1lZGlhIChtYXgtd2lkdGg6OTAwcHgpey5oZXJvIC53cmFwe2Rpc3BsYXk6YmxvY2t9Lmhlcm8tdGV4dHttYXJnaW4tYm90dG9tOjI0cHh9fS5ib29rLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDpyZ2JhKDQsMTYsMTMsLjYpO3otaW5kZXg6OTk5OTk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlfS5ib29rLWJhY2tkcm9wLm9wZW57b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99c2VjdGlvbi5zdHVkaW8jYm9va3twb3NpdGlvbjpmaXhlZCAhaW1wb3J0YW50O3RvcDowO3JpZ2h0OjA7aGVpZ2h0OjEwMHZoO3dpZHRoOm1pbig5NjBweCw5NHZ3KTttYXgtd2lkdGg6OTR2dzt6LWluZGV4OjEwMDAwMDtvdmVyZmxvdy15OmF1dG87dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JveC1zaGFkb3c6LTEycHggMCA0MHB4IHJnYmEoMCwwLDAsLjQ1KX1zZWN0aW9uLnN0dWRpbyNib29rLm9wZW57dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9LmJvb2stY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE0cHg7cmlnaHQ6MTRweDt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6I2VhZThlMjtib3JkZXI6MnB4IHNvbGlkICMyYTJhMmE7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfUBtZWRpYSAobWF4LXdpZHRoOjYwMHB4KXtzZWN0aW9uLnN0dWRpbyNib29re3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCV9fTwvc3R5bGU+PHNjcmlwdD5mdW5jdGlvbiBvcGVuQm9va0RyYXdlcigpe3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib29rIik7dmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvb2tCYWNrZHJvcCIpO2lmKHMpcy5jbGFzc0xpc3QuYWRkKCJvcGVuIik7aWYoYiliLmNsYXNzTGlzdC5hZGQoIm9wZW4iKTtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7fWZ1bmN0aW9uIGNsb3NlQm9va0RyYXdlcigpe3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib29rIik7dmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvb2tCYWNrZHJvcCIpO2lmKHMpcy5jbGFzc0xpc3QucmVtb3ZlKCJvcGVuIik7aWYoYiliLmNsYXNzTGlzdC5yZW1vdmUoIm9wZW4iKTtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUub3ZlcmZsb3c9IiI7fWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oZSl7dmFyIGE9ZS50YXJnZXQuY2xvc2VzdCgiYVtocmVmPVwiI2Jvb2tcIl0iKTtpZihhKXtlLnByZXZlbnREZWZhdWx0KCk7b3BlbkJvb2tEcmF3ZXIoKTt9fSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIGZ1bmN0aW9uKGUpe2lmKGUua2V5PT09IkVzY2FwZSIpY2xvc2VCb29rRHJhd2VyKCk7fSk7PC9zY3JpcHQ+CjxkaXYgaWQ9ImJvb2tCYWNrZHJvcCIgY2xhc3M9ImJvb2stYmFja2Ryb3AiIG9uY2xpY2s9ImlmKHR5cGVvZiBjbG9zZUJvb2tEcmF3ZXI9PT0nZnVuY3Rpb24nKWNsb3NlQm9va0RyYXdlcigpOyI+PC9kaXY+CjxzZWN0aW9uIGNsYXNzPSJzdHVkaW8iIGlkPSJib29rIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImJvb2tDbG9zZSIgY2xhc3M9ImJvb2stY2xvc2UiIGFyaWEtbGFiZWw9IkNsb3NlIiBvbmNsaWNrPSJpZih0eXBlb2YgY2xvc2VCb29rRHJhd2VyPT09J2Z1bmN0aW9uJyljbG9zZUJvb2tEcmF3ZXIoKTsiPiZ0aW1lczs8L2J1dHRvbj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InN0dWRpby1oZWFkIj48c3BhbiBjbGFzcz0iZXllYnJvdyI+Qm9vayBvbmxpbmU8L3NwYW4+PGgyPkJvb2sgeW91ciBzdGF5IGluIGZvdXIgZWFzeSBzdGVwczwvaDI+PHA+MS4gQ2hvb3NlIHlvdXIgZGF0ZXMsIGd1ZXN0cyBhbmQgcm9vbXMuIDIuIEFkZCB0aGUgZ3Vlc3QgZGV0YWlscy4gMy4gUGF5IHNlY3VyZWx5IG9ubGluZSB3aXRoIFVQSSwgY2FyZCBvciBuZXQgYmFua2luZy4gNC4gR2V0IHlvdXIgYm9va2luZyBwYXNzIGFuZCBzaG93IGl0IGF0IHJlY2VwdGlvbi4gQ2hlY2staW4gaXMgZnJvbSAxMSBhbTsgZWFybHkgY2hlY2staW4gZnJvbSA5IGFtIGlzIGZyZWUgd2hlbiByb29tcyBhcmUgdmFjYW50LjwvcD48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN0dWRpby1ncmlkIj4KICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RlcHMiIGlkPSJzdGVwcyI+CiAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1nbz0iMSI+PGI+MTwvYj5UcmlwPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1nbz0iMiI+PGI+MjwvYj5HdWVzdDwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtZ289IjMiPjxiPjM8L2I+UGF5PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1nbz0iNCI+PGI+NDwvYj5Eb25lPC9idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InBhbmUiIGlkPSJwMSI+PGgzPllvdXIgZGF0ZXMgYW5kIHJvb21zPC9oMz48cCBjbGFzcz0ic3ViIj5UYXAgYSBkYXRlIHRvIG9wZW4gdGhlIGNhbGVuZGFyLCB0aGVuIHNldCB5b3VyIGd1ZXN0cyBhbmQgcm9vbXMuPC9wPjxkaXYgY2xhc3M9ImdyaWQyIj48ZGl2IGNsYXNzPSJmbGQiPjxsYWJlbD5DaGVjayBpbjwvbGFiZWw+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJkYXRlYnRuIiBkYXRhLWNhbD0iY2kiIGlkPSJwMWNpQiI+Q2hvb3NlIGRhdGU8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJmbGQiPjxsYWJlbD5DaGVjayBvdXQ8L2xhYmVsPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iZGF0ZWJ0biIgZGF0YS1jYWw9ImNvIiBpZD0icDFjb0IiPkNob29zZSBkYXRlPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZmxkIj48bGFiZWw+QWR1bHRzPC9sYWJlbD48ZGl2IGNsYXNzPSJzdGVwcGVyIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJhZHVsdHM6LTEiIGFyaWEtbGFiZWw9IkZld2VyIj7iiJI8L2J1dHRvbj48b3V0cHV0IGlkPSJwMWFkdWx0c08iPjA8L291dHB1dD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJhZHVsdHM6MSIgYXJpYS1sYWJlbD0iTW9yZSI+KzwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsPkNoaWxkcmVuIGFnZWQgOSs8L2xhYmVsPjxkaXYgY2xhc3M9InN0ZXBwZXIiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9ImtpZHM5Oi0xIiBhcmlhLWxhYmVsPSJGZXdlciI+4oiSPC9idXR0b24+PG91dHB1dCBpZD0icDFraWRzOU8iPjA8L291dHB1dD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJraWRzOToxIiBhcmlhLWxhYmVsPSJNb3JlIj4rPC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZmxkIj48bGFiZWw+Q2hpbGRyZW4gYmVsb3cgOSAoZnJlZSk8L2xhYmVsPjxkaXYgY2xhc3M9InN0ZXBwZXIiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9ImtpZHNVOTotMSIgYXJpYS1sYWJlbD0iRmV3ZXIiPuKIkjwvYnV0dG9uPjxvdXRwdXQgaWQ9InAxa2lkc1U5TyI+MDwvb3V0cHV0PjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9ImtpZHNVOToxIiBhcmlhLWxhYmVsPSJNb3JlIj4rPC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZmxkIj48bGFiZWw+RG91YmxlIHJvb21zPC9sYWJlbD48ZGl2IGNsYXNzPSJzdGVwcGVyIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJkYmw6LTEiIGFyaWEtbGFiZWw9IkZld2VyIj7iiJI8L2J1dHRvbj48b3V0cHV0IGlkPSJwMWRibE8iPjA8L291dHB1dD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJkYmw6MSIgYXJpYS1sYWJlbD0iTW9yZSI+KzwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsPkZhbWlseSByb29tICg0IGJlZHMpPC9sYWJlbD48ZGl2IGNsYXNzPSJzdGVwcGVyIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJmYW06LTEiIGFyaWEtbGFiZWw9IkZld2VyIj7iiJI8L2J1dHRvbj48b3V0cHV0IGlkPSJwMWZhbU8iPjA8L291dHB1dD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJmYW06MSIgYXJpYS1sYWJlbD0iTW9yZSI+KzwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvZGl2PjxwIGNsYXNzPSJub3RlIiBpZD0icDFIaW50IiBzdHlsZT0ibWFyZ2luLXRvcDoxMnB4Ij48L3A+PGRpdiBjbGFzcz0icDF0b3RhbCIgaWQ9InAxVG90YWwiPjwvZGl2PjxkaXYgY2xhc3M9ImFjdGlvbnMiIHN0eWxlPSJtYXJnaW4tdG9wOjIwcHgiPjxzcGFuPjwvc3Bhbj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRhcmsiIHR5cGU9ImJ1dHRvbiIgZGF0YS1uZXh0PSIyIj5Db250aW51ZTwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InBhbmUiIGlkPSJwMiIgaGlkZGVuPgogICAgICAgICAgPGgzPldobyBpcyBjaGVja2luZyBpbj88L2gzPgogICAgICAgICAgPHAgY2xhc3M9InN1YiI+V2UgdXNlIHRoZXNlIGRldGFpbHMgdG8gcHJlcGFyZSB5b3VyIHJvb20gYW5kIGdyZWV0IHlvdSBieSBuYW1lLjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIj48bGFiZWw+VGl0bGU8L2xhYmVsPjxkaXYgY2xhc3M9Im9wdHMiIGlkPSJ0aXRsZU9wdHMiPjxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InRpdGxlIiB2YWx1ZT0iTXIuIj48c3Bhbj5Nci48L3NwYW4+PC9sYWJlbD48bGFiZWw+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ0aXRsZSIgdmFsdWU9Ik1ycy4iPjxzcGFuPk1ycy48L3NwYW4+PC9sYWJlbD48bGFiZWw+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ0aXRsZSIgdmFsdWU9Ik1pc3MuIj48c3Bhbj5NaXNzLjwvc3Bhbj48L2xhYmVsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsIGZvcj0iZ05hbWUiPkZ1bGwgbmFtZTwvbGFiZWw+PGlucHV0IGlkPSJnTmFtZSIgdHlwZT0idGV4dCIgYXV0b2NvbXBsZXRlPSJuYW1lIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIj48bGFiZWwgZm9yPSJnUGhvbmUiPk1vYmlsZSBudW1iZXI8L2xhYmVsPjxpbnB1dCBpZD0iZ1Bob25lIiB0eXBlPSJ0ZWwiIGF1dG9jb21wbGV0ZT0idGVsIiBpbnB1dG1vZGU9InRlbCIgcGxhY2Vob2xkZXI9Iis5MSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsIGZvcj0iZ0VtYWlsIj5FbWFpbCAoZm9yIHlvdXIgcmVjZWlwdCk8L2xhYmVsPjxpbnB1dCBpZD0iZ0VtYWlsIiB0eXBlPSJlbWFpbCIgYXV0b2NvbXBsZXRlPSJlbWFpbCI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsIGZvcj0iZ0NvbXAiPkNvbXBhbnkgbmFtZSAob3B0aW9uYWwpPC9sYWJlbD48aW5wdXQgaWQ9ImdDb21wIiB0eXBlPSJ0ZXh0IiBhdXRvY29tcGxldGU9Im9yZ2FuaXphdGlvbiIgcGxhY2Vob2xkZXI9IkZvciBhIEdTVCBpbnZvaWNlIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIj48bGFiZWwgZm9yPSJnR3N0Ij5DdXN0b21lciBHU1RJTiAob3B0aW9uYWwpPC9sYWJlbD48aW5wdXQgaWQ9ImdHc3QiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMTUiIGF1dG9jb21wbGV0ZT0ib2ZmIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlIiBwbGFjZWhvbGRlcj0iRm9yIGEgR1NUIGludm9pY2UiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGQiPjxsYWJlbCBmb3I9ImdWZWgiPlZlaGljbGUgbnVtYmVyIChmb3IgcGFya2luZyk8L2xhYmVsPjxpbnB1dCBpZD0iZ1ZlaCIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9Ik9wdGlvbmFsIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIiBzdHlsZT0ibWFyZ2luLXRvcDoxNnB4Ij48bGFiZWw+V2hlbiB3aWxsIHlvdSBhcnJpdmU\/PC9sYWJlbD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3B0cyIgaWQ9ImFycml2ZU9wdHMiPgogICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImFyciIgdmFsdWU9IkJlZm9yZSBub29uIj48c3Bhbj5CZWZvcmUgbm9vbjwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImFyciIgdmFsdWU9IjEyIHRvIDMgcG0iIGNoZWNrZWQ+PHNwYW4+MTIgdG8gMyBwbTwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImFyciIgdmFsdWU9IjMgdG8gNiBwbSI+PHNwYW4+MyB0byA2IHBtPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgPGxhYmVsPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iYXJyIiB2YWx1ZT0iQWZ0ZXIgNiBwbSI+PHNwYW4+QWZ0ZXIgNiBwbTwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgIDxwIGNsYXNzPSJub3RlIiBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4Ij5OYXJvIFJlc3RhdXJhbnQgc2VydmVzIHB1cmUgdmVnZXRhcmlhbiBmb29kIG9ubHkuPC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIiBzdHlsZT0ibWFyZ2luLXRvcDoxNnB4Ij48bGFiZWwgZm9yPSJnTm90ZSI+T2NjYXNpb24gb3IgcmVxdWVzdHM8L2xhYmVsPjx0ZXh0YXJlYSBpZD0iZ05vdGUiIHBsYWNlaG9sZGVyPSJCaXJ0aGRheSwgYW5uaXZlcnNhcnksIGV4dHJhIGJlZCwgYW55dGhpbmcgeW91IHdvdWxkIGxpa2UgdXMgdG8ga25vdyI+PC90ZXh0YXJlYT48L2Rpdj4KICAgICAgICAgIDxwIGNsYXNzPSJlcnIiIGlkPSJlMiIgcm9sZT0iYWxlcnQiPjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vdGUiIHN0eWxlPSJtYXJnaW4tdG9wOjE2cHg7bGluZS1oZWlnaHQ6MS42Ij48c3Ryb25nPkJlZm9yZSB5b3UgYm9vazo8L3N0cm9uZz4gR3Vlc3RzIG11c3QgYmUgMTggeWVhcnMgb2YgYWdlIG9yIG9sZGVyLCBhcyBwZXIgSW5kaWFuIGxhdy4gUm9vbXMgYXJlIG5vdCBnaXZlbiB0byB1bmRlcmFnZSBjb3VwbGVzIHdpdGhvdXQgYWR1bHQgYWNjb21wYW5pbWVudC4gVW5tYXJyaWVkIGNvdXBsZXMgYXJlIHdlbGNvbWUg4oCUIGJvdGggZ3Vlc3RzIG11c3QgY2FycnkgYSB2YWxpZCBnb3Zlcm5tZW50IHBob3RvIElEIGF0IGNoZWNrLWluIChBYWRoYXIgY2FyZCwgVm90ZXIgSUQgb3IgRHJpdmluZyBMaWNlbmNlKS48L2Rpdj48bGFiZWwgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6MTBweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O21hcmdpbi10b3A6MTRweDtjdXJzb3I6cG9pbnRlciI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iZ0NvbnNlbnQiIHN0eWxlPSJtYXJnaW4tdG9wOjNweDtmbGV4LXNocmluazowIj48c3Bhbj5JIGNvbmZpcm0gYWxsIGd1ZXN0cyBhcmUgMTggeWVhcnMgb3Igb2xkZXIgYW5kIHdpbGwgY2FycnkgdmFsaWQgZ292ZXJubWVudCBwaG90byBJRCBhdCBjaGVjay1pbi48L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSJhY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmUiIHN0eWxlPSJjb2xvcjp2YXIoLS1wYXBlci1pbmspO2JvcmRlci1jb2xvcjp2YXIoLS1wYXBlci1saW5lKSIgdHlwZT0iYnV0dG9uIiBkYXRhLW5leHQ9IjEiPkJhY2s8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRhcmsiIHR5cGU9ImJ1dHRvbiIgZGF0YS1uZXh0PSIzIj5SZXZpZXcgYW5kIHBheTwvYnV0dG9uPjwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lIiBpZD0icDMiIGhpZGRlbj4KICAgICAgICAgIDxoMz5SZXZpZXcgYW5kIHBheTwvaDM+CiAgICAgICAgICA8cCBjbGFzcz0ic3ViIj5DaGVjayB5b3VyIHJvb21zIGFuZCB0b3RhbCwgaW5jbHVkaW5nIDUlIEdTVCwgdGhlbiBjaG9vc2UgaG93IHlvdSB3b3VsZCBsaWtlIHRvIHBheS48L3A+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXktYm94Ij4KICAgICAgICAgICAgPGRpdiBpZD0icmV2aWV3TGluZXMiIGNsYXNzPSJzdGF5LWwiPjwvZGl2PjxkaXYgY2xhc3M9ImNvdXBvbi1ib3giIHN0eWxlPSJtYXJnaW46MTRweCAwO2Rpc3BsYXk6ZmxleDtnYXA6OHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LXdyYXA6d3JhcCI+PGlucHV0IHR5cGU9InRleHQiIGlkPSJjb3Vwb25JbnB1dCIgcGxhY2Vob2xkZXI9IkRpc2NvdW50IGNvdXBvbiAob3B0aW9uYWwpIiBzdHlsZT0iZmxleDoxO21pbi13aWR0aDoxNjBweDtwYWRkaW5nOjEwcHggMTJweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXBhcGVyLWxpbmUpO2JvcmRlci1yYWRpdXM6OHB4O2ZvbnQtc2l6ZToxNHB4Ij48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tbGluZSIgaWQ9ImNvdXBvbkFwcGx5QnRuIiBzdHlsZT0iY29sb3I6dmFyKC0tcGFwZXItaW5rKTtib3JkZXItY29sb3I6dmFyKC0tcGFwZXItbGluZSkiPkFwcGx5PC9idXR0b24+PC9kaXY+PHAgaWQ9ImNvdXBvbk1zZyIgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O21hcmdpbjowIDAgMTBweDtkaXNwbGF5Om5vbmUiPjwvcD4KICAgICAgICAgICAgPHN0eWxlPi5wb3tkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtib3JkZXI6MXB4IHNvbGlkICNjOTk4MmU7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTJweCAxNHB4O21hcmdpbjo4cHggMDtjdXJzb3I6cG9pbnRlcn0ucG8gaW5wdXR7bWFyZ2luLXRvcDo1cHh9LnBvIHNtYWxse2Rpc3BsYXk6YmxvY2s7b3BhY2l0eTouODttYXJnaW4tdG9wOjRweDtsaW5lLWhlaWdodDoxLjQ1fTwvc3R5bGU+CiAgICAgICAgICAgIDxmaWVsZHNldCBzdHlsZT0iYm9yZGVyOjA7cGFkZGluZzowO21hcmdpbjoxNnB4IDAgMCI+PGxlZ2VuZCBzdHlsZT0iZm9udC1zaXplOjE3cHg7bWFyZ2luLWJvdHRvbTo2cHgiPlBheW1lbnQ8L2xlZ2VuZD4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9InBvIj48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InBheU1vZGUiIHZhbHVlPSJmdWxsIiBjaGVja2VkPjxzcGFuPjxiPkZ1bGwgcGF5bWVudCBpbiBhZHZhbmNlPC9iPiA8c3BhbiBpZD0icG9GdWxsQW10Ij48L3NwYW4+PHNtYWxsPklmIHlvdXIgcGxhbnMgY2hhbmdlLCB5b3UgY2FuIHJlc2NoZWR1bGUgeW91ciBzdGF5IGZvciBhIOKCuTEsMDAwIGNoYW5nZSBmZWUgcGVyIHJvb20gKERvdWJsZSBvciBGYW1pbHkpLCB3aXRoIG5vdGljZSBvbiBXaGF0c0FwcCAoKzkxIDcwMTc3IDE0Mzg1KSBhdCBsZWFzdCAzIGRheXMgYmVmb3JlIGFycml2YWwuIEFueSBjaGFuZ2UgcmVxdWVzdGVkIGxlc3MgdGhhbiAzIGRheXMgYmVmb3JlIGFycml2YWwgaXMgdHJlYXRlZCBhcyBhIG5vLXNob3cgYW5kIGlzIG5vdCB0cmFuc2ZlcmFibGUuPC9zbWFsbD48L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgPC9maWVsZHNldD4KICAgICAgICAgICAgPHAgY2xhc3M9Im5vdGUiPllvdSBwYXkgc2VjdXJlbHkgd2l0aCBSYXpvcnBheSBvbiB0aGUgbmV4dCBzY3JlZW4sIHVzaW5nIFVQSSwgY2FyZCBvciBuZXQgYmFua2luZy4gVGhlIHJlc29ydCBjb25maXJtcyBhdmFpbGFiaWxpdHkgYWZ0ZXIgcGF5bWVudC48L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXdub3RlIiBpZD0icHJldmlld05vdGUiIHN0eWxlPSJtYXJnaW4tdG9wOjE0cHgiIGhpZGRlbj5QcmV2aWV3IG1vZGUuIE9uIHRoZSBsaXZlIHNpdGUgdGhpcyBidXR0b24gb3BlbnMgdGhlIHJlc29ydCdzIHBheW1lbnQgY2hlY2tvdXQuIE5vIHBheW1lbnQgaXMgdGFrZW4gaGVyZS48L2Rpdj4KICAgICAgICAgIDxwIGNsYXNzPSJlcnIiIGlkPSJlMyIgcm9sZT0iYWxlcnQiPjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluZSIgc3R5bGU9ImNvbG9yOnZhcigtLXBhcGVyLWluayk7Ym9yZGVyLWNvbG9yOnZhcigtLXBhcGVyLWxpbmUpIiB0eXBlPSJidXR0b24iIGRhdGEtbmV4dD0iMiI+QmFjazwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZ29sZCIgaWQ9InBheUJ0biIgdHlwZT0iYnV0dG9uIj5Db250aW51ZSB0byBwYXltZW50PC9idXR0b24+PC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InBhbmUiIGlkPSJwNCIgaGlkZGVuPgogICAgICAgICAgPGgzPllvdXIgYm9va2luZyByZXF1ZXN0PC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJzdWIiPlRoZSByZXNvcnQgd2lsbCBjb250YWN0IHlvdSB0byBjb25maXJtLiBLZWVwIHRoaXMgcmVmZXJlbmNlIGFuZCBzaG93IGl0IGF0IHJlY2VwdGlvbiB3aGVuIHlvdSBhcnJpdmUuPC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0icGFzcyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFtcCIgaWQ9InBhc3NTdGFtcCI+UmVxdWVzdCBzZW50PC9zcGFuPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWYiIGlkPSJwYXNzUmVmIj48L2Rpdj4KICAgICAgICAgICAgPGRsIGlkPSJwYXNzRGwiPjwvZGw+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luOjIycHggMCA4cHg7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOi4xOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1wYXBlci1tdXRlKSI+QSBub3RlIGJlZm9yZSB5b3UgdHJhdmVsPC9oND4KICAgICAgICAgIDxkaXYgY2xhc3M9IndlbGNvbWUiIGlkPSJ3ZWxjb21lIiBhcmlhLWxpdmU9InBvbGl0ZSI+UHJlcGFyaW5nIHlvdXIgbm90ZeKApjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucyI+PGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1kYXJrIiBpZD0iY29weVBhc3MiIHR5cGU9ImJ1dHRvbiI+Q29weSBwYXNzIGRldGFpbHM8L2J1dHRvbj48c3BhbiBjbGFzcz0ibm90ZSIgaWQ9ImNvcHlNc2ciPjwvc3Bhbj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8YXNpZGUgY2xhc3M9InN1bSIgYXJpYS1sYWJlbD0iWW91ciBzdGF5Ij4KICAgICAgICA8aDQ+WW91ciBzdGF5PC9oND4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGF5LWwiIGlkPSJsaW5lcyI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnJpZWYiIGlkPSJicmllZiI+UGxhbiBhIHRyaXAgYWJvdmUgYW5kIHlvdXIgc3VtbWFyeSBhcHBlYXJzIGhlcmUuPC9kaXY+CiAgICAgICAgPHAgY2xhc3M9IndoeSI+Um9vbSByYXRlcyBhcmUgcGVyIG5pZ2h0LCBwbHVzIDUlIEdTVC4gQnJlYWtmYXN0IGlzIG5vdCBpbmNsdWRlZC4gQ2hpbGRyZW4gYmVsb3cgOSBzdGF5IGZyZWUuPC9wPgogICAgICA8L2FzaWRlPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJoZXJvIj4KICA8ZGl2IGNsYXNzPSJoZXJvLXBob3RvIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICA8Y2FudmFzIGlkPSJza3kiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2NhbnZhcz4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9Imhlcm8tdGV4dCI+CiAgICA8cCBjbGFzcz0iZXllYnJvdyI+TmVhciBWaWthcyBOYWdhciDCtyA0NSBrbSBmcm9tIERlaHJhZHVuPC9wPgogICAgPGgxIHN0eWxlPSJtYXJnaW4tdG9wOjE4cHgiPldha2UgdXAgaW4gdGhlIDxlbT5mb290aGlsbHM8L2VtPjwvaDE+CiAgICA8cCBjbGFzcz0ibGVkZSI+Q29tZm9ydGFibGUgcm9vbXMgd2l0aCBkZXNlcnQgY29vbGVycywgYW4gb3JnYW5pYyBnYXJkZW4gYW5kIE5hcm8gUmVzdGF1cmFudCBvbiB0aGUgWWFtdW5vdHJpIEhpZ2h3YXkuIERlc2NyaWJlIHlvdXIgdHJpcCBpbiBhIHNlbnRlbmNlIGFuZCB3ZSBzZXQgdXAgeW91ciByb29tcyBhbmQgeW91ciBwcmljZS48L3A+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4jaGVyb0Jvb2sgbGFiZWx7Y29sb3I6dmFyKC0tbWlzdDIpIWltcG9ydGFudDtmb250LXNpemU6MTVweCFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NjAwIWltcG9ydGFudH0jaGVyb0Jvb2sgLm5vdGV7Y29sb3I6dmFyKC0tbWlzdDIpIWltcG9ydGFudDtmb250LXNpemU6MTRweCFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS41IWltcG9ydGFudH0jaGVyb0Jvb2sgLnN0ZXBwZXIgb3V0cHV0e2NvbG9yOnZhcigtLXBhcGVyLWluaykhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMH0jaGVyb0Jvb2sgLmJ0bi1saW5le2NvbG9yOnZhcigtLW1pc3QpIWltcG9ydGFudDtib3JkZXItY29sb3I6dmFyKC0tbWlzdDIpIWltcG9ydGFudH0jaGVyb0Jvb2sgLmVycntjb2xvcjp2YXIoLS13YXJuKSFpbXBvcnRhbnR9I2hlcm9Cb29rIGg0e2ZvbnQtc2l6ZToxNnB4IWltcG9ydGFudH0jaGVyb0Jvb2sgc3VtbWFyeXtmb250LXNpemU6MTRweCFpbXBvcnRhbnR9I2hlcm9Cb29rIGlucHV0W3R5cGU9ImRhdGUiXXtib3JkZXI6M3B4IHNvbGlkIHZhcigtLWdvbGQpIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjEwcHghaW1wb3J0YW50O2JveC1zaGFkb3c6MCAwIDAgMXB4IHJnYmEoMjM5LDE5MSw5OCwuMjUpIWltcG9ydGFudH0jaGVyb0Jvb2sgaW5wdXRbdHlwZT0iZGF0ZSJdOmZvY3Vze291dGxpbmU6bm9uZSFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDAgMCAzcHggcmdiYSgyMzksMTkxLDk4LC4zNSkhaW1wb3J0YW50fTwvc3R5bGU+PGRpdiBjbGFzcz0iaGVyby1ib29rIiBpZD0iaGVyb0Jvb2siPgogICAgICAgICAgPGgzPkJvb2sgTm93PC9oMz4KICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbjoyMHB4IDAgMjhweCI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsPkNoZWNrIGluPC9sYWJlbD48aW5wdXQgaWQ9ImNpIiB0eXBlPSJoaWRkZW4iPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iZGF0ZWJ0biIgZGF0YS1jYWw9ImNpIiBpZD0iY2lCIj5DaG9vc2UgZGF0ZTwvYnV0dG9uPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGQiPjxsYWJlbD5DaGVjayBvdXQ8L2xhYmVsPjxpbnB1dCBpZD0iY28iIHR5cGU9ImhpZGRlbiI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJkYXRlYnRuIiBkYXRhLWNhbD0iY28iIGlkPSJjb0IiPkNob29zZSBkYXRlPC9idXR0b24+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsPkFkdWx0czwvbGFiZWw+PGRpdiBjbGFzcz0ic3RlcHBlciI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtc3RlcD0iYWR1bHRzOi0xIiBhcmlhLWxhYmVsPSJGZXdlciBhZHVsdHMiPuKIkjwvYnV0dG9uPjxvdXRwdXQgaWQ9ImFkdWx0c08iPjA8L291dHB1dD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJhZHVsdHM6MSIgYXJpYS1sYWJlbD0iTW9yZSBhZHVsdHMiPis8L2J1dHRvbj48L2Rpdj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIj48bGFiZWw+Q2hpbGRyZW4gYWdlZCA5KzwvbGFiZWw+PGRpdiBjbGFzcz0ic3RlcHBlciI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtc3RlcD0ia2lkczk6LTEiIGFyaWEtbGFiZWw9IkZld2VyIGNoaWxkcmVuIGFnZWQgOSBhbmQgYWJvdmUiPuKIkjwvYnV0dG9uPjxvdXRwdXQgaWQ9ImtpZHM5TyI+MDwvb3V0cHV0PjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9ImtpZHM5OjEiIGFyaWEtbGFiZWw9Ik1vcmUgY2hpbGRyZW4gYWdlZCA5IGFuZCBhYm92ZSI+KzwvYnV0dG9uPjwvZGl2PjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGQiPjxsYWJlbD5DaGlsZHJlbiBiZWxvdyA5IChmcmVlKTwvbGFiZWw+PGRpdiBjbGFzcz0ic3RlcHBlciI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtc3RlcD0ia2lkc1U5Oi0xIiBhcmlhLWxhYmVsPSJGZXdlciBjaGlsZHJlbiBiZWxvdyA5Ij7iiJI8L2J1dHRvbj48b3V0cHV0IGlkPSJraWRzVTlPIj4wPC9vdXRwdXQ+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtc3RlcD0ia2lkc1U5OjEiIGFyaWEtbGFiZWw9Ik1vcmUgY2hpbGRyZW4gYmVsb3cgOSI+KzwvYnV0dG9uPjwvZGl2PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjoyNnB4IDAgMTJweDtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6LjE4ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLXBhcGVyLW11dGUpIj5Sb29tczwvaDQ+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsPkRvdWJsZSByb29tczwvbGFiZWw+PGRpdiBjbGFzcz0ic3RlcHBlciI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtc3RlcD0iZGJsOi0xIiBhcmlhLWxhYmVsPSJGZXdlciBkb3VibGUgcm9vbXMiPuKIkjwvYnV0dG9uPjxvdXRwdXQgaWQ9ImRibE8iPjA8L291dHB1dD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJkYmw6MSIgYXJpYS1sYWJlbD0iTW9yZSBkb3VibGUgcm9vbXMiPis8L2J1dHRvbj48L2Rpdj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIj48bGFiZWw+RmFtaWx5IHJvb20gKDQgYmVkcyk8L2xhYmVsPjxkaXYgY2xhc3M9InN0ZXBwZXIiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9ImZhbTotMSIgYXJpYS1sYWJlbD0iRmV3ZXIgZmFtaWx5IHJvb21zIj7iiJI8L2J1dHRvbj48b3V0cHV0IGlkPSJmYW1PIj4wPC9vdXRwdXQ+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtc3RlcD0iZmFtOjEiIGFyaWEtbGFiZWw9Ik1vcmUgZmFtaWx5IHJvb21zIj4rPC9idXR0b24+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxwIGNsYXNzPSJub3RlIiBpZD0icm9vbUhpbnQiIHN0eWxlPSJtYXJnaW4tdG9wOjEycHgiIGFyaWEtbGl2ZT0icG9saXRlIj48L3A+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW4tdG9wOjEwcHgiPjxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluZSIgaWQ9ImF1dG9CdG4iIHR5cGU9ImJ1dHRvbiIgc3R5bGU9ImNvbG9yOnZhcigtLXBhcGVyLWluayk7Ym9yZGVyLWNvbG9yOnZhcigtLXBhcGVyLWxpbmUpO3BhZGRpbmc6MTFweCAxOHB4Ij5TdWdnZXN0IGJlc3Qgcm9vbXM8L2J1dHRvbj48L2Rpdj4KICAgICAgICAgIAogICAgICAgICAgPHAgY2xhc3M9ImVyciIgaWQ9ImUxIiByb2xlPSJhbGVydCI+PC9wPgogICAgICAgICAgPGRldGFpbHMgY2xhc3M9InRyaXAtb3B0aW9uYWwiIGlkPSJ0cmlwUGxhbk9wdGlvbmFsIiBzdHlsZT0ibWFyZ2luOjE4cHggMCA2cHgiPjxzdW1tYXJ5IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS1nb2xkLCNlZmJmNjIpO2ZvbnQtc2l6ZToxM3B4Ij5PciBkZXNjcmliZSB5b3VyIHRyaXAgaW4gYSBzZW50ZW5jZSBpbnN0ZWFkPC9zdW1tYXJ5PjxkaXYgc3R5bGU9Im1hcmdpbi10b3A6MTRweCI+PGRpdiBjbGFzcz0iY21kIj4KICAgICAgPGRpdiBjbGFzcz0iY21kLXRhZyI+PHNwYW4gY2xhc3M9InB1bHNlIj48L3NwYW4+IFRyaXAgcGxhbm5lcjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjbWQtcm93Ij4KICAgICAgICA8dGV4dGFyZWEgaWQ9InRyaXBUZXh0IiByb3dzPSIyIiBhcmlhLWxhYmVsPSJEZXNjcmliZSB5b3VyIHRyaXAiIHBsYWNlaG9sZGVyPSJGb3IgZXhhbXBsZTogMiBhZHVsdHMgYW5kIDIga2lkcyBhZ2VkIDYgYW5kIDgsIDMgbmlnaHRzIGZyb20gbmV4dCBGcmlkYXkiPjwvdGV4dGFyZWE+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1nb2xkIiBpZD0icGxhbkJ0biIgdHlwZT0iYnV0dG9uIj5QbGFuIG15IHN0YXk8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNoaXBzIiBpZD0ic2FtcGxlcyI+PC9kaXY+CiAgICAgIDxwIGNsYXNzPSJhaW1zZyIgaWQ9ImFpTXNnIiByb2xlPSJzdGF0dXMiIGFyaWEtbGl2ZT0icG9saXRlIj48L3A+CiAgICA8L2Rpdj48L2Rpdj48L2RldGFpbHM+PGRpdiBjbGFzcz0iYWN0aW9ucyI+PHNwYW4+PC9zcGFuPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZGFyayIgdHlwZT0iYnV0dG9uIiBkYXRhLW5leHQ9IjIiIGlkPSJoZXJvQ29udGludWVCdG4iPkNvbnRpbnVlIHRvIGJvb2s8L2J1dHRvbj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZhY3RzIj48c3Bhbj5QdXJlIHZlZ2V0YXJpYW4gcmVzdGF1cmFudDwvc3Bhbj48c3Bhbj5EZXNlcnQgY29vbGVyIGluIGV2ZXJ5IHJvb208L3NwYW4+PHNwYW4+RnJlZSBwYXJraW5nPC9zcGFuPjxzcGFuPkNvdXBsZSBmcmllbmRseTwvc3Bhbj48c3Bhbj5Td2ltbWluZyBwb29sIG9wZW5pbmcgc29vbjwvc3Bhbj48L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPHNlY3Rpb24gY2xhc3M9InMiIGlkPSJzdGF5Ij4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InMtaGVhZCI+PHNwYW4gY2xhc3M9ImV5ZWJyb3ciPlRoZSBzdGF5PC9zcGFuPjxoMj5Sb29tcyBmb3IgY291cGxlcyBhbmQgZmFtaWxpZXM8L2gyPjxwPk5pbmUgZG91YmxlIHJvb21zIGFuZCBvbmUgZm91ci1iZWQgZmFtaWx5IHJvb20sIGVhY2ggd2l0aCBhIGRlc2VydCBjb29sZXIuPC9wPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic3RheS1ncm91cCI+CiAgICA8ZGl2IGNsYXNzPSJzdGF5Ij4KICAgICAgPGRpdiBjbGFzcz0icGgiIGRhdGEtcGhvdG89InJvb20iIGRhdGEtc2VlZD0iMSI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN0YXktYm9keSI+CiAgICAgICAgPGRpdiBjbGFzcz0icnQiPjxkaXY+PGgzIGNsYXNzPSJyb29tLWRvdWJsZSI+RG91YmxlIFJvb208L2gzPjxwIGNsYXNzPSJycyI+RG91YmxlIG9jY3VwYW5jeSwgZGVzZXJ0IGNvb2xlcjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJwcmljZSI+PGIgY2xhc3M9InJvb20tZG91YmxlIj7igrkyLDUwMDwvYj48c3Bhbj4rIDUlIEdTVCwgcGVyIG5pZ2h0PC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLWdvbGQiIGhyZWY9IiNib29rIiBzdHlsZT0ianVzdGlmeS1zZWxmOnN0YXJ0Ij5Cb29rIE5vdzwvYT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN0YXkiPgogICAgICA8ZGl2IGNsYXNzPSJwaCIgZGF0YS1waG90bz0icm9vbTIiIGRhdGEtc2VlZD0iMiI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN0YXktYm9keSI+CiAgICAgICAgPGRpdiBjbGFzcz0icnQiPjxkaXY+PGgzIGNsYXNzPSJyb29tLWZhbWlseSI+RmFtaWx5IFJvb208L2gzPjxwIGNsYXNzPSJycyI+NCBiZWRzLCBkZXNlcnQgY29vbGVyLCBsYXJnZSB3aW5kb3cgdmlldyBmcm9tIHJvb20uPC9wPjwvZGl2PjxkaXYgY2xhc3M9InByaWNlIj48YiBjbGFzcz0icm9vbS1mYW1pbHkiPuKCuTQsMDAwPC9iPjxzcGFuPisgNSUgR1NULCBwZXIgbmlnaHQ8L3NwYW4+PC9kaXY+PC9kaXY+CiAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tZ29sZCIgaHJlZj0iI2Jvb2siIHN0eWxlPSJqdXN0aWZ5LXNlbGY6c3RhcnQiPkJvb2sgTm93PC9hPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8dWwgY2xhc3M9InRpY2tzIiBzdHlsZT0ibWFyZ2luLXRvcDoyNHB4Ij48bGk+RGVzZXJ0IGNvb2xlciBpbiBldmVyeSByb29tPC9saT48bGk+RXh0cmEgYmVkIOKCuTUwMCBhIG5pZ2h0PC9saT48bGk+Q2hpbGRyZW4gYmVsb3cgOSBzdGF5IGZyZWU8L2xpPjxsaT41JSBHU1QgaXMgYWRkZWQgdG8gdGhlIHJhdGVzPC9saT48bGk+V2ktRmkgYWxsIGRheTwvbGk+PGxpPjI0LWhvdXIgcG93ZXIgYmFja3VwPC9saT48bGk+SG90IGFuZCBjb2xkIHdhdGVyPC9saT48bGk+RnJlZSBwYXJraW5nPC9saT48L3VsPgogICAgPHAgY2xhc3M9InJzIj5CcmVha2Zhc3QgaXMgbm90IGluY2x1ZGVkLiBOYXJvIFJlc3RhdXJhbnQgc2VydmVzIHB1cmUgdmVnZXRhcmlhbiBtZWFscy48L3A+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJzIGJhbmQiIGlkPSJleHBlcmllbmNlcyI+CiAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJzLWhlYWQiPjxzcGFuIGNsYXNzPSJleWVicm93Ij5PbiB0aGUgcHJvcGVydHk8L3NwYW4+PGgyPkVhdCwgd2FsaywgdW53aW5kPC9oMj48cD5FdmVyeXRoaW5nIGlzIHdpdGhpbiB0aGUgZ3JvdW5kcywgYW5kIHRoZSB2ZWdldGFyaWFuIGtpdGNoZW4gZHJhd3Mgb24gdGhlIHJlc29ydCdzIG93biBvcmdhbmljIGdhcmRlbi48L3A+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ0aWxlcyI+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUiPjxkaXYgY2xhc3M9InBoIHRwaCIgZGF0YS1waG90bz0iZGluaW5nIiBkYXRhLXNlZWQ9IjIiPjwvZGl2PjxzcGFuIGNsYXNzPSJrIj5EaW5pbmc8L3NwYW4+PGgzPk5hcm8gUmVzdGF1cmFudDwvaDM+PHA+UHVyZSB2ZWdldGFyaWFuIGZvb2QsIHNlcnZlZCBvbiBzaXRlLiBGb29kIGRlbGl2ZXJ5IGlzIGF2YWlsYWJsZSB3aXRoaW4gMTUga20uPC9wPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ0aWxlIj48c3BhbiBjbGFzcz0iayI+T3BlbmluZyBzb29uPC9zcGFuPjxoMz5Td2ltbWluZyBwb29sPC9oMz48cD5PdXIgc3dpbW1pbmcgcG9vbCB3aWxsIGJlIGluYXVndXJhdGVkIHNob3J0bHkuIEFzayB1cyBmb3IgdGhlIG9wZW5pbmcgZGF0ZS48L3A+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUiPjxkaXYgY2xhc3M9InBoIHRwaCIgZGF0YS1waG90bz0ibGF3biIgZGF0YS1zZWVkPSIzIj48L2Rpdj48c3BhbiBjbGFzcz0iayI+R2FyZGVuPC9zcGFuPjxoMz5PcmdhbmljIHZlZ2V0YWJsZSBnYXJkZW48L2gzPjxwPldhbGsgdGhyb3VnaCB0aGUgYmVkcyB3aGVyZSBtdWNoIG9mIHRoZSBraXRjaGVuJ3MgcHJvZHVjZSBpcyBncm93bi48L3A+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUiPjxkaXYgY2xhc3M9InBoIHRwaCIgZGF0YS1waG90bz0id2FsayIgZGF0YS1zZWVkPSI0Ij48L2Rpdj48c3BhbiBjbGFzcz0iayI+T3V0ZG9vcnM8L3NwYW4+PGgzPk5hdHVyZSB3YWxrcyBhbmQgdHJla3M8L2gzPjxwPkZvcmVzdCBwYXRocyBhbmQgc2hvcnQgdHJla3MgYmVnaW4gY2xvc2UgdG8gdGhlIHJvb21zLiBBc2sgdGhlIGZyb250IGRlc2sgZm9yIGEgZ3VpZGUuPC9wPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ0aWxlIj48c3BhbiBjbGFzcz0iayI+Q29tZm9ydDwvc3Bhbj48aDM+TG9va2VkIGFmdGVyIGFsbCBkYXk8L2gzPjxwPkRlc2VydCBjb29sZXJzIGluIGV2ZXJ5IHJvb20sIDI0Lzcgc2VjdXJpdHksIFdpLUZpLCBwb3dlciBiYWNrdXAsIGhvdCBhbmQgY29sZCB3YXRlciwgYW5kIGZyZWUgcGFya2luZyBmb3IgbW9yZSB0aGFuIDUwIHZlaGljbGVzLjwvcD48L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8c2VjdGlvbiBjbGFzcz0icyIgaWQ9ImV2ZW50cyI+CiAgPGRpdiBjbGFzcz0id3JhcCBzcGxpdCI+CiAgICA8ZGl2IGNsYXNzPSJzLWhlYWQiIHN0eWxlPSJtYXJnaW46MCI+PHNwYW4gY2xhc3M9ImV5ZWJyb3ciPldlZGRpbmdzIGFuZCBldmVudHM8L3NwYW4+PGgyPkNlbGVicmF0ZSBpbiB0aGUgZm9vdGhpbGxzPC9oMj48cD5BIDQwIMOXIDQwIGZ0IGNvbmZlcmVuY2UgaGFsbCBhbmQgb3BlbiBncm91bmRzIHN1aXQgZGVzdGluYXRpb24gd2VkZGluZ3MsIGJpcnRoZGF5cyBhbmQga2l0dHkgcGFydGllcy4gUGFya2luZyBob2xkcyBtb3JlIHRoYW4gNTAgdmVoaWNsZXMuPC9wPjxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluZSIgdHlwZT0iYnV0dG9uIiBpZD0iZXZBc2siIHN0eWxlPSJqdXN0aWZ5LXNlbGY6c3RhcnQiPkFzayBhYm91dCBhbiBldmVudDwvYnV0dG9uPjxkaXYgY2xhc3M9InBoIiBkYXRhLXBob3RvPSJ3ZWRkaW5nIiBkYXRhLXNlZWQ9IjEiIHN0eWxlPSJoZWlnaHQ6MjYwcHg7bWFyZ2luLXRvcDoyMnB4O2JvcmRlci1yYWRpdXM6MTRweDtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJSI+PC9kaXY+PC9kaXY+CiAgICA8ZGl2PgogICAgICA8aDMgc3R5bGU9ImZvbnQtc2l6ZToyOHB4Ij5QbGFuIHlvdXIgZGF5cyB3aXRoIHVzPC9oMz4KICAgICAgPHAgc3R5bGU9ImNvbG9yOnZhcigtLW1pc3QyKTttYXJnaW46MTBweCAwIDE2cHgiPlRlbGwgdXMgaG93IG1hbnkgZGF5cyB5b3UgaGF2ZSBhbmQgd2hhdCB5b3VyIGdyb3VwIGVuam95cy4gV2UgYnVpbGQgYW4gaXRpbmVyYXJ5IGFyb3VuZCB0aGUgcmVzb3J0IGFuZCB0aGUgc2lnaHRzIG5lYXJieS48L3A+CiAgICAgIDxkaXYgY2xhc3M9InJvdyI+PGlucHV0IGlkPSJwbGFuSW4iIHR5cGU9InRleHQiIGFyaWEtbGFiZWw9Ikl0aW5lcmFyeSByZXF1ZXN0IiBwbGFjZWhvbGRlcj0iRm9yIGV4YW1wbGU6IDMgZGF5cywgZmFtaWx5IHdpdGgga2lkcywgbGlrZXMgdGVtcGxlcyBhbmQgZWFzeSB3YWxrcyI+PGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1nb2xkIiBpZD0icGxhbkdvIiB0eXBlPSJidXR0b24iPkJ1aWxkIGl0aW5lcmFyeTwvYnV0dG9uPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwbGFuLW91dCIgaWQ9InBsYW5PdXQiIGFyaWEtbGl2ZT0icG9saXRlIj5Zb3VyIGl0aW5lcmFyeSBhcHBlYXJzIGhlcmUuPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPHNlY3Rpb24gY2xhc3M9InMgYmFuZCIgaWQ9InBhcnR5IiBzdHlsZT0icGFkZGluZy10b3A6ODBweCI+CiAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJzLWhlYWQiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjIwcHgiPgogICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7bWFyZ2luLWJvdHRvbToyMHB4Ij4KICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ29sZCIgaWQ9InBMYW5nRW4iIHN0eWxlPSJwYWRkaW5nOjhweCAyMHB4O2ZvbnQtc2l6ZToxM3B4Ij5FbmdsaXNoPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWxpbmUiIGlkPSJwTGFuZ0hpIiBzdHlsZT0icGFkZGluZzo4cHggMjBweDtmb250LXNpemU6MTNweCI+4KS54KS\/4KSo4KWN4KSm4KWAPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJwSW50cm9FbiI+PHNwYW4gY2xhc3M9ImV5ZWJyb3ciPlBhcnR5ICZhbXA7IENlbGVicmF0aW9uczwvc3Bhbj48aDI+SG9zdCB5b3VyIGV2ZW50IGF0IE5hcm8gRWNvIFJlc29ydDwvaDI+PHA+RnJvbSBiaXJ0aGRheXMgYW5kIGtpdHR5IHBhcnRpZXMgdG8gZnVsbCBkZXN0aW5hdGlvbiB3ZWRkaW5ncywgb3VyIHRlYW0gcGxhbnMgaXQgd2l0aCB5b3UuIE1pbmltdW0gZ3JvdXAgc2l6ZSBpcyA1MCBndWVzdHMuIEFsbCBwYWNrYWdlcyBiZWxvdyBhcmUgdmVnZXRhcmlhbi48L3A+PC9kaXY+CiAgICAgIDxkaXYgaWQ9InBJbnRyb0hpIiBzdHlsZT0iZGlzcGxheTpub25lIj48c3BhbiBjbGFzcz0iZXllYnJvdyI+4KSq4KS+4KSw4KWN4KSf4KWAIOCklOCksCDgpIngpKTgpY3gpLjgpLU8L3NwYW4+PGgyPuCkqOCkvuCksOCliyDgpIfgpJXgpYsg4KSw4KS\/4KSc4KS84KWJ4KSw4KWN4KSfIOCkruClh+CkgiDgpIXgpKrgpKjgpL4g4KSG4KSv4KWL4KSc4KSoIOCkleCksOClh+CkgjwvaDI+PHA+4KSc4KSo4KWN4KSu4KSm4KS\/4KSoIOCklOCksCDgpJXgpL\/gpJ\/gpYAg4KSq4KS+4KSw4KWN4KSf4KWAIOCkuOClhyDgpLLgpYfgpJXgpLAg4KSq4KWC4KSw4KWN4KSjIOCkoeClh+CkuOCljeCkn+Ckv+CkqOClh+CktuCkqCDgpLbgpL7gpKbgpYAg4KSk4KSVLCDgpLngpK7gpL7gpLDgpYAg4KSf4KWA4KSuIOCkhuCkquCkleClhyDgpLjgpL7gpKUg4KSu4KS\/4KSy4KSV4KSwIOCkr+Cli+CknOCkqOCkviDgpKzgpKjgpL7gpKTgpYAg4KS54KWI4KWkIOCkqOCljeCkr+ClguCkqOCkpOCkriDgpLjgpK7gpYLgpLkg4KSG4KSV4KS+4KSwIDUwIOCkruClh+CkueCkruCkvuCkqCDgpLngpYjgpaQg4KSo4KWA4KSa4KWHIOCkpuCkv+CkjyDgpJfgpI8g4KS44KSt4KWAIOCkquCliOCkleClh+CknCDgpLbgpL7gpJXgpL7gpLngpL7gpLDgpYAg4KS54KWI4KSC4KWkPC9wPjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJwQm9keUVuIj48ZGl2IGNsYXNzPSJwa2ctZ3JpZCI+PGRpdiBjbGFzcz0icGtnLWNhcmQiPjxoND5QYWNrYWdlIDE8L2g0PjxkaXYgY2xhc3M9InBrZy1wcmljZSI+4oK5NzUwPHNtYWxsPiAvIHBsYXRlPC9zbWFsbD48L2Rpdj48dWw+PGxpPjEgU291cCBvciBDb2xkIERyaW5rPC9saT48bGk+MyBWZWcgU3RhcnRlcnM8L2xpPjxsaT4zIFZlZyBNYWluIENvdXJzZTwvbGk+PGxpPjIgUmljZTwvbGk+PGxpPjEgRGFsPC9saT48bGk+MiBTYWxhZHM8L2xpPjxsaT5Bc3NvcnRlZCBSb3RpIC8gQnJlYWQ8L2xpPjxsaT4yIFJhaXRhIC8gUGFwYWQgLyBDaHV0bmV5IC8gQWNoYXI8L2xpPjxsaT4yIERlc3NlcnRzPC9saT48L3VsPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kYXJrIiBvbmNsaWNrPSJpZih3aW5kb3cubmFyb09wZW5UYXdrKW5hcm9PcGVuVGF3aygpOyI+Q2hhdCB3aXRoIHVzPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0icGtnLWNhcmQiPjxoND5QYWNrYWdlIDI8L2g0PjxkaXYgY2xhc3M9InBrZy1wcmljZSI+4oK5NzAwPHNtYWxsPiAvIHBsYXRlPC9zbWFsbD48L2Rpdj48dWw+PGxpPjEgU291cCBvciBDb2xkIERyaW5rPC9saT48bGk+MyBWZWcgU3RhcnRlcnM8L2xpPjxsaT4yIFZlZyBNYWluIENvdXJzZTwvbGk+PGxpPjIgUmljZTwvbGk+PGxpPjEgRGFsPC9saT48bGk+MSBTYWxhZDwvbGk+PGxpPkFzc29ydGVkIFJvdGkgLyBCcmVhZDwvbGk+PGxpPlJhaXRhIC8gUGFwYWQgLyBDaHV0bmV5IC8gQWNoYXI8L2xpPjxsaT4yIERlc3NlcnRzPC9saT48L3VsPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kYXJrIiBvbmNsaWNrPSJpZih3aW5kb3cubmFyb09wZW5UYXdrKW5hcm9PcGVuVGF3aygpOyI+Q2hhdCB3aXRoIHVzPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0icGtnLWNhcmQiPjxoND5QYWNrYWdlIDM8L2g0PjxkaXYgY2xhc3M9InBrZy1wcmljZSI+4oK5NjUwPHNtYWxsPiAvIHBsYXRlPC9zbWFsbD48L2Rpdj48dWw+PGxpPjEgU291cCBvciBDb2xkIERyaW5rPC9saT48bGk+MiBWZWcgU3RhcnRlcnM8L2xpPjxsaT4yIFZlZyBNYWluIENvdXJzZTwvbGk+PGxpPjEgUmljZTwvbGk+PGxpPjEgRGFsPC9saT48bGk+MSBTYWxhZDwvbGk+PGxpPkFzc29ydGVkIFJvdGkgLyBCcmVhZDwvbGk+PGxpPlJhaXRhIC8gUGFwYWQgLyBDaHV0bmV5IC8gQWNoYXI8L2xpPjxsaT4xIERlc3NlcnQ8L2xpPjwvdWw+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRhcmsiIG9uY2xpY2s9ImlmKHdpbmRvdy5uYXJvT3BlblRhd2spbmFyb09wZW5UYXdrKCk7Ij5DaGF0IHdpdGggdXM8L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJtZW51LW5vdGUiIHN0eWxlPSJtYXJnaW4tdG9wOjIycHgiPgogIDxoND5Hb29kIHRvIGtub3c8L2g0PgogIDx1bD4KICAgIDxsaT5QYXJ0eSBwbGFubmVyIGZvciBiaXJ0aGRheXMsIGtpdHR5IHBhcnRpZXMsIG1hcnJpYWdlIHBhcnRpZXMgYW5kIG1vcmUuPC9saT4KICAgIDxsaT5BZGRpdGlvbmFsIGxpdmUgZm9vZCBjb3VudGVyOiDigrk0LDAwMCBwZXIgY291bnRlci48L2xpPgogICAgPGxpPlZlbnVlIGNoYXJnZSAoYmlsbGVkIHNlcGFyYXRlbHksIGJ5IGhhbGwvZ3JvdW5kcyk6IOKCuTEsMDAsMDAwIG9yIOKCuTEsMjUsMDAwLjwvbGk+CiAgICA8bGk+TmFybyBpcyBhIHB1cmUtdmVnZXRhcmlhbiBwcm9wZXJ0eSAmbWRhc2g7IG5vIG5vbi12ZWdldGFyaWFuIGZvb2QgaXMgc2VydmVkIGhlcmUuPC9saT48bGk+T3V0c2lkZSBmb29kLCBpbmNsdWRpbmcgYW55IG5vbi12ZWdldGFyaWFuIGZvb2QsIGlzIG5vdCBwZXJtaXR0ZWQgYW55d2hlcmUgb24gdGhlIHByZW1pc2VzLjwvbGk+CiAgICA8bGk+NSUgdGF4IGlzIGFwcGxpY2FibGUgYW5kIGNoYXJnZWQgZXh0cmEgb24gYWxsIHByaWNlcyBhYm92ZS48L2xpPgogIDwvdWw+CjwvZGl2PjxkaXYgY2xhc3M9InBvbGljeS1ib3giPgogIDxoND5Cb29raW5nICZhbXA7IHBheW1lbnQgcnVsZXM8L2g0PgogIDxvbD4KICAgIDxsaT5BIDxzdHJvbmc+MjUlIGFkdmFuY2UgcGF5bWVudDwvc3Ryb25nPiBjb25maXJtcyB5b3VyIGRhdGUgYW5kIHBhY2thZ2UuPC9saT4KICAgIDxsaT5UaGUgcmVtYWluaW5nIDxzdHJvbmc+NzUlIGlzIGR1ZSBvbiB0aGUgZGF0ZTwvc3Ryb25nPiBvZiB0aGUgZXZlbnQsIHBhcnR5LCBmdW5jdGlvbiBvciB3ZWRkaW5nLjwvbGk+CiAgICA8bGk+VGhlIDI1JSBhZHZhbmNlIGlzIDxzdHJvbmc+c3RyaWN0bHkgbm9uLXJlZnVuZGFibGU8L3N0cm9uZz4uPC9saT4KICAgIDxsaT5OZWVkIHRvIGNoYW5nZSB5b3VyIGRhdGU\/IFBheSBhbiA8c3Ryb25nPmFkZGl0aW9uYWwgNSU8L3N0cm9uZz4gb24gdG9wIG9mIHRoZSBhZHZhbmNlIGFuZCB3ZSB3aWxsIHJlc2NoZWR1bGUgeW91ciBldmVudCB0byBhIG5ldyBhdmFpbGFibGUgZGF0ZSAmbWRhc2g7IG5vIGNhbmNlbGxhdGlvbiBuZWVkZWQuPC9saT4KICAgIDxsaT5NaW5pbXVtIGd1YXJhbnRlZTogNTAgZ3Vlc3RzLiBQcmljZXMgYXJlIHBlciBwbGF0ZTsgdmVudWUgY2hhcmdlLCB0YXggYW5kIGFueSBleHRyYSBjb3VudGVycyBhcmUgYmlsbGVkIHNlcGFyYXRlbHkuPC9saT4KICA8L29sPgo8L2Rpdj48L2Rpdj4KICAgIDxkaXYgaWQ9InBCb2R5SGkiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxkaXYgY2xhc3M9InBrZy1ncmlkIj48ZGl2IGNsYXNzPSJwa2ctY2FyZCI+PGg0PuCkquCliOCkleClh+CknCAxPC9oND48ZGl2IGNsYXNzPSJwa2ctcHJpY2UiPuKCuTc1MDxzbWFsbD4gLyDgpKrgpY3gpLLgpYfgpJ88L3NtYWxsPjwvZGl2Pjx1bD48bGk+MSDgpLjgpYLgpKog4KSv4KS+IOCkleCli+CksuCljeCkoSDgpKHgpY3gpLDgpL\/gpILgpJU8L2xpPjxsaT4zIOCkteClh+CknCDgpLjgpY3gpJ\/gpL7gpLDgpY3gpJ\/gpLA8L2xpPjxsaT4zIOCkteClh+CknCDgpK7gpYHgpJbgpY3gpK8g4KS14KWN4KSv4KSC4KSc4KSoPC9saT48bGk+MiDgpJrgpL7gpLXgpLI8L2xpPjxsaT4xIOCkpuCkvuCksjwvbGk+PGxpPjIg4KS44KSy4KS+4KSmPC9saT48bGk+4KSu4KS\/4KSV4KWN4KS4IOCksOCli+Ckn+ClgCAvIOCkrOCljeCksOClh+CkoTwvbGk+PGxpPjIg4KSw4KS+4KSv4KSk4KS+IC8g4KSq4KS+4KSq4KSh4KS8IC8g4KSa4KSf4KSo4KWAIC8g4KSF4KSa4KS+4KSwPC9saT48bGk+MiDgpK7gpL\/gpKDgpL7gpIfgpK\/gpL7gpIE8L2xpPjwvdWw+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRhcmsiIG9uY2xpY2s9ImlmKHdpbmRvdy5uYXJvT3BlblRhd2spbmFyb09wZW5UYXdrKCk7Ij7gpLngpK7gpLjgpYcg4KSa4KWI4KSfIOCkleCksOClh+CkgjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InBrZy1jYXJkIj48aDQ+4KSq4KWI4KSV4KWH4KScIDI8L2g0PjxkaXYgY2xhc3M9InBrZy1wcmljZSI+4oK5NzAwPHNtYWxsPiAvIOCkquCljeCksuClh+Cknzwvc21hbGw+PC9kaXY+PHVsPjxsaT4xIOCkuOClguCkqiDgpK\/gpL4g4KSV4KWL4KSy4KWN4KShIOCkoeCljeCksOCkv+CkguCklTwvbGk+PGxpPjMg4KS14KWH4KScIOCkuOCljeCkn+CkvuCksOCljeCkn+CksDwvbGk+PGxpPjIg4KS14KWH4KScIOCkruClgeCkluCljeCkryDgpLXgpY3gpK\/gpILgpJzgpKg8L2xpPjxsaT4yIOCkmuCkvuCkteCksjwvbGk+PGxpPjEg4KSm4KS+4KSyPC9saT48bGk+MSDgpLjgpLLgpL7gpKY8L2xpPjxsaT7gpK7gpL\/gpJXgpY3gpLgg4KSw4KWL4KSf4KWAIC8g4KSs4KWN4KSw4KWH4KShPC9saT48bGk+4KSw4KS+4KSv4KSk4KS+IC8g4KSq4KS+4KSq4KSh4KS8IC8g4KSa4KSf4KSo4KWAIC8g4KSF4KSa4KS+4KSwPC9saT48bGk+MiDgpK7gpL\/gpKDgpL7gpIfgpK\/gpL7gpIE8L2xpPjwvdWw+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRhcmsiIG9uY2xpY2s9ImlmKHdpbmRvdy5uYXJvT3BlblRhd2spbmFyb09wZW5UYXdrKCk7Ij7gpLngpK7gpLjgpYcg4KSa4KWI4KSfIOCkleCksOClh+CkgjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InBrZy1jYXJkIj48aDQ+4KSq4KWI4KSV4KWH4KScIDM8L2g0PjxkaXYgY2xhc3M9InBrZy1wcmljZSI+4oK5NjUwPHNtYWxsPiAvIOCkquCljeCksuClh+Cknzwvc21hbGw+PC9kaXY+PHVsPjxsaT4xIOCkuOClguCkqiDgpK\/gpL4g4KSV4KWL4KSy4KWN4KShIOCkoeCljeCksOCkv+CkguCklTwvbGk+PGxpPjIg4KS14KWH4KScIOCkuOCljeCkn+CkvuCksOCljeCkn+CksDwvbGk+PGxpPjIg4KS14KWH4KScIOCkruClgeCkluCljeCkryDgpLXgpY3gpK\/gpILgpJzgpKg8L2xpPjxsaT4xIOCkmuCkvuCkteCksjwvbGk+PGxpPjEg4KSm4KS+4KSyPC9saT48bGk+MSDgpLjgpLLgpL7gpKY8L2xpPjxsaT7gpK7gpL\/gpJXgpY3gpLgg4KSw4KWL4KSf4KWAIC8g4KSs4KWN4KSw4KWH4KShPC9saT48bGk+4KSw4KS+4KSv4KSk4KS+IC8g4KSq4KS+4KSq4KSh4KS8IC8g4KSa4KSf4KSo4KWAIC8g4KSF4KSa4KS+4KSwPC9saT48bGk+MSDgpK7gpL\/gpKDgpL7gpIg8L2xpPjwvdWw+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRhcmsiIG9uY2xpY2s9ImlmKHdpbmRvdy5uYXJvT3BlblRhd2spbmFyb09wZW5UYXdrKCk7Ij7gpLngpK7gpLjgpYcg4KSa4KWI4KSfIOCkleCksOClh+CkgjwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im1lbnUtbm90ZSIgc3R5bGU9Im1hcmdpbi10b3A6MjJweCI+CiAgPGg0PuCknOCkvuCkqOCkqOClhyDgpK\/gpYvgpJfgpY3gpK8g4KSs4KS+4KSk4KWH4KSCPC9oND4KICA8dWw+CiAgICA8bGk+4KSc4KSo4KWN4KSu4KSm4KS\/4KSoLCDgpJXgpL\/gpJ\/gpYAg4KSq4KS+4KSw4KWN4KSf4KWALCDgpLbgpL7gpKbgpYAt4KSq4KS+4KSw4KWN4KSf4KWAIOCklOCksCDgpIXgpKjgpY3gpK8g4KSG4KSv4KWL4KSc4KSo4KWL4KSCIOCkleClhyDgpLLgpL\/gpI8g4KSq4KS+4KSw4KWN4KSf4KWAIOCkquCljeCksuCkvuCkqOCksCDgpIngpKrgpLLgpKzgpY3gpKfgpaQ8L2xpPgogICAgPGxpPuCkheCkpOCkv+CksOCkv+CkleCljeCkpCDgpLLgpL7gpIfgpLUg4KSr4KWC4KShIOCkleCkvuCkieCkguCkn+CksDog4oK5NCwwMDAg4KSq4KWN4KSw4KSk4KS\/IOCkleCkvuCkieCkguCkn+CksOClpDwvbGk+CiAgICA8bGk+4KS14KWH4KSo4KWN4KSv4KWCIOCktuClgeCksuCljeCklSAo4KSF4KSy4KSXIOCkuOClhyDgpKbgpYfgpK8sIOCkueClieCksi\/gpK7gpYjgpKbgpL7gpKgg4KSF4KSo4KWB4KS44KS+4KSwKTog4oK5MSwwMCwwMDAg4KSv4KS+IOKCuTEsMjUsMDAw4KWkPC9saT4KICAgIDxsaT7gpKjgpL7gpLDgpYsg4KSP4KSVIOCktuClgeCkpuCljeCkpyDgpLbgpL7gpJXgpL7gpLngpL7gpLDgpYAg4KS44KSC4KSq4KSk4KWN4KSk4KS\/IOCkueCliCAmbWRhc2g7IOCkr+CkueCkvuCkgSDgpJXgpYvgpIgg4KSu4KS+4KSC4KS44KS+4KS54KS+4KSw4KWAIOCkreCli+CknOCkqCDgpKjgpLngpYDgpIIg4KSq4KSw4KWL4KS44KS+IOCknOCkvuCkpOCkvuClpDwvbGk+PGxpPuCkquCksOCkv+CkuOCksCDgpK7gpYfgpIIg4KSV4KS54KWA4KSCIOCkreClgCDgpKzgpL7gpLngpLAg4KSV4KS+IOCkreCli+CknOCkqCwg4KSc4KS\/4KS44KSu4KWH4KSCIOCkruCkvuCkguCkuOCkvuCkueCkvuCksOClgCDgpK3gpYvgpJzgpKgg4KSt4KWAIOCktuCkvuCkruCkv+CksiDgpLngpYgsIOCksuCkvuCkqOCkviDgpIXgpKjgpYHgpK7gpKTgpL8g4KSo4KS54KWA4KSCIOCkueCliOClpDwvbGk+CiAgICA8bGk+4KSK4KSq4KSwIOCkpuClgCDgpJfgpIgg4KS44KSt4KWAIOCkleClgOCkruCkpOCli+CkgiDgpKrgpLAgNSUg4KSV4KSwIOCkheCkpOCkv+CksOCkv+CkleCljeCkpCDgpLLgpL7gpJfgpYIg4KS54KWL4KSX4KS+4KWkPC9saT4KICA8L3VsPgo8L2Rpdj48ZGl2IGNsYXNzPSJwb2xpY3ktYm94Ij4KICA8aDQ+4KSs4KWB4KSV4KS\/4KSC4KSXIOCklOCksCDgpK3gpYHgpJfgpKTgpL7gpKgg4KSV4KWHIOCkqOCkv+Ckr+CkrjwvaDQ+CiAgPG9sPgogICAgPGxpPuCkhuCkquCkleClgCDgpKTgpL7gpLDgpYDgpJYg4KSU4KSwIOCkquCliOCkleClh+CknCDgpJXgpYAg4KSq4KWB4KS34KWN4KSf4KS\/IOCkleClhyDgpLLgpL\/gpI8gPHN0cm9uZz4yNSUg4KSF4KSX4KWN4KSw4KS\/4KSuIOCkreClgeCkl+CkpOCkvuCkqDwvc3Ryb25nPiDgpIbgpLXgpLbgpY3gpK\/gpJUg4KS54KWI4KWkPC9saT4KICAgIDxsaT7gpLbgpYfgpLcgPHN0cm9uZz43NSUg4KSw4KS+4KS24KS\/IOCkhuCkr+Cli+CknOCkqC\/gpKrgpL7gpLDgpY3gpJ\/gpYAv4KSr4KSC4KSV4KWN4KS24KSoL+CktuCkvuCkpuClgCDgpJXgpYAg4KSk4KS+4KSw4KWA4KSWIOCkquCksCDgpKbgpYfgpK88L3N0cm9uZz4g4KS54KWL4KSX4KWA4KWkPC9saT4KICAgIDxsaT4yNSUg4KSF4KSX4KWN4KSw4KS\/4KSuIOCkreClgeCkl+CkpOCkvuCkqCA8c3Ryb25nPuCkquClguCksOCljeCko+CkpOCkgyDgpJfgpYjgpLAt4KS14KS+4KSq4KS44KWAIOCkr+Cli+Ckl+CljeCkryAobm9uLXJlZnVuZGFibGUpPC9zdHJvbmc+IOCkueCliOClpDwvbGk+CiAgICA8bGk+4KSk4KS+4KSw4KWA4KSWIOCkrOCkpuCksuCkqOClgCDgpLngpYg\/IOCkheCkl+CljeCksOCkv+CkriDgpJXgpYcg4KSK4KSq4KSwIDxzdHJvbmc+4KSF4KSk4KS\/4KSw4KS\/4KSV4KWN4KSkIDUlPC9zdHJvbmc+IOCkreClgeCkl+CkpOCkvuCkqCDgpJXgpLDgpYfgpIIg4KSU4KSwIOCkueCkriDgpIbgpKrgpJXgpYcg4KSG4KSv4KWL4KSc4KSoIOCkleCliyDgpJXgpL\/gpLjgpYAg4KSo4KSIIOCkieCkquCksuCkrOCljeCkpyDgpKTgpL7gpLDgpYDgpJYg4KSq4KSwIOCkquClgeCkqOCksOCljeCkqOCkv+CksOCljeCkp+CkvuCksOCkv+CkpCDgpJXgpLAg4KSm4KWH4KSC4KSX4KWHICZtZGFzaDsg4KSw4KSm4KWN4KSmIOCkleCksOCkqOClhyDgpJXgpYAg4KSG4KS14KS24KWN4KSv4KSV4KSk4KS+IOCkqOCkueClgOCkguClpDwvbGk+CiAgICA8bGk+4KSo4KWN4KSv4KWC4KSo4KSk4KSuIDUwIOCkruClh+CkueCkruCkvuCkqCDgpIbgpLXgpLbgpY3gpK\/gpJXgpaQg4KSV4KWA4KSu4KSk4KWH4KSCIOCkquCljeCksOCkpOCkvyDgpKrgpY3gpLLgpYfgpJ8g4KS54KWI4KSCOyDgpLXgpYfgpKjgpY3gpK\/gpYIg4KS24KWB4KSy4KWN4KSVLCDgpJXgpLAg4KSU4KSwIOCkheCkpOCkv+CksOCkv+CkleCljeCkpCDgpJXgpL7gpIngpILgpJ\/gpLAg4KSV4KS+IOCkreClgeCkl+CkpOCkvuCkqCDgpIXgpLLgpJcg4KS44KWHIOCkueCli+Ckl+CkvuClpDwvbGk+CiAgPC9vbD4KPC9kaXY+PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjQwcHg7bWFyZ2luLXRvcDo0MHB4O2FsaWduLWl0ZW1zOnN0YXJ0IiBjbGFzcz0icGFydHktY29scyI+CiAgPGRpdj4KICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjI0cHg7bWFyZ2luLWJvdHRvbTo2cHgiPjxzcGFuIGNsYXNzPSJwZW4iPkNoZWNrIGEgZGF0ZTwvc3Bhbj48c3BhbiBjbGFzcz0icGhpIiBzdHlsZT0iZGlzcGxheTpub25lIj7gpKTgpL7gpLDgpYDgpJYg4KSm4KWH4KSW4KWH4KSCPC9zcGFuPjwvaDM+CiAgICA8cCBzdHlsZT0iY29sb3I6dmFyKC0tbWlzdDIpO2ZvbnQtc2l6ZToxNHB4Ij48c3BhbiBjbGFzcz0icGVuIj5UYXAgYSBkYXRlLCB0aGVuIGNoYXQgd2l0aCB1cyB0byBlbnF1aXJlLjwvc3Bhbj48c3BhbiBjbGFzcz0icGhpIiBzdHlsZT0iZGlzcGxheTpub25lIj7gpI\/gpJUg4KSk4KS+4KSw4KWA4KSWIOCkmuClgeCkqOClh+Ckgiwg4KSr4KS\/4KSwIOCkueCkruCkuOClhyDgpJrgpYjgpJ8g4KSV4KSw4KWH4KSC4KWkPC9zcGFuPjwvcD4KICAgIDxkaXYgY2xhc3M9ImV2Y2FsIiBpZD0iZXZjYWwiPgogIDxkaXYgY2xhc3M9ImV2Y2FsLWhlYWQiPgogICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJldmNhbFByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIG1vbnRoIj4mbHNhcXVvOzwvYnV0dG9uPgogICAgPHNwYW4gaWQ9ImV2Y2FsVGl0bGUiPjwvc3Bhbj4KICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0iZXZjYWxOZXh0IiBhcmlhLWxhYmVsPSJOZXh0IG1vbnRoIj4mcnNhcXVvOzwvYnV0dG9uPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImV2Y2FsLWdyaWQiIGlkPSJldmNhbEdyaWQiPjwvZGl2PgogIDxkaXYgY2xhc3M9ImV2Y2FsLXBpY2tlZCIgaWQ9ImV2Y2FsUGlja2VkIj48L2Rpdj4KICA8YSBjbGFzcz0iYnRuIGJ0bi1nb2xkIiBpZD0iZXZjYWxCdG4iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4O3dpZHRoOjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Om5vbmUiIGhyZWY9IiMiPkVucXVpcmUgZm9yIHRoaXMgZGF0ZTwvYT4KPC9kaXY+CiAgPC9kaXY+CiAgPGRpdj4KICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjI0cHg7bWFyZ2luLWJvdHRvbToxNnB4Ij48c3BhbiBjbGFzcz0icGVuIj5Gcm9tIHBhc3QgY2VsZWJyYXRpb25zPC9zcGFuPjxzcGFuIGNsYXNzPSJwaGkiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPuCkquCkv+Ckm+CksuClhyDgpIbgpK\/gpYvgpJzgpKjgpYvgpIIg4KSV4KWAIOCkneCksuCklTwvc3Bhbj48L2gzPgogICAgPGRpdiBjbGFzcz0iZ2FsbGVyeSI+PGZpZ3VyZT48ZGl2IGNsYXNzPSJwaCIgc3R5bGU9ImhlaWdodDoxODBweDtib3JkZXItcmFkaXVzOjE0cHg7b3ZlcmZsb3c6aGlkZGVuIj48aW1nIHNyYz0iaHR0cHM6Ly9uYXJvZWNvLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS9XaGF0c0FwcC1JbWFnZS0yMDI1LTA3LTAxLWF0LTExLjU5LjM4LVBNLW5hcm8td20uanBnIiBhbHQ9IiIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlciI+PC9kaXY+PGZpZ2NhcHRpb24+PHNwYW4gY2xhc3M9InBlbiI+V2VkZGluZyBtYW5kYXAgc2V0dXA8L3NwYW4+PHNwYW4gY2xhc3M9InBoaSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+4KS24KS+4KSm4KWAIOCkruCkguCkoeCkqiDgpLjgpJzgpL7gpLXgpJ88L3NwYW4+PC9maWdjYXB0aW9uPjwvZmlndXJlPjxmaWd1cmU+PGRpdiBjbGFzcz0icGgiIHN0eWxlPSJoZWlnaHQ6MTgwcHg7Ym9yZGVyLXJhZGl1czoxNHB4O292ZXJmbG93OmhpZGRlbiI+PGltZyBzcmM9Imh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMS1hdC0xMS41OS4zOS1QTS0yLW5hcm8td20uanBnIiBhbHQ9IiIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlciI+PC9kaXY+PGZpZ2NhcHRpb24+PHNwYW4gY2xhc3M9InBlbiI+RmxvcmFsIG1hbmRhcCBkZWNvcjwvc3Bhbj48c3BhbiBjbGFzcz0icGhpIiBzdHlsZT0iZGlzcGxheTpub25lIj7gpKvgpYLgpLLgpYvgpIIg4KS44KWHIOCkruCkguCkoeCkqiDgpLjgpJzgpL7gpLXgpJ88L3NwYW4+PC9maWdjYXB0aW9uPjwvZmlndXJlPjxmaWd1cmU+PGRpdiBjbGFzcz0icGgiIHN0eWxlPSJoZWlnaHQ6MTgwcHg7Ym9yZGVyLXJhZGl1czoxNHB4O292ZXJmbG93OmhpZGRlbiI+PGltZyBzcmM9Imh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMS1hdC0xMS41OS40MC1QTS1uYXJvLXdtLmpwZyIgYWx0PSIiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXIiPjwvZGl2PjxmaWdjYXB0aW9uPjxzcGFuIGNsYXNzPSJwZW4iPkZ1bmN0aW9uIGxpZ2h0aW5nIGFuZCBkZWNvcjwvc3Bhbj48c3BhbiBjbGFzcz0icGhpIiBzdHlsZT0iZGlzcGxheTpub25lIj7gpKvgpILgpJXgpY3gpLbgpKgg4KSy4KS+4KSH4KSf4KS\/4KSC4KSXIOCklOCksCDgpLjgpJzgpL7gpLXgpJ88L3NwYW4+PC9maWdjYXB0aW9uPjwvZmlndXJlPjxmaWd1cmU+PGRpdiBjbGFzcz0icGgiIHN0eWxlPSJoZWlnaHQ6MTgwcHg7Ym9yZGVyLXJhZGl1czoxNHB4O292ZXJmbG93OmhpZGRlbiI+PGltZyBzcmM9Imh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMS1hdC0xMS41OS4zNy1QTS0xLW5hcm8td20uanBnIiBhbHQ9IiIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlciI+PC9kaXY+PGZpZ2NhcHRpb24+PHNwYW4gY2xhc3M9InBlbiI+V2VkZGluZyBlbnRyYW5jZSBkZWNvcjwvc3Bhbj48c3BhbiBjbGFzcz0icGhpIiBzdHlsZT0iZGlzcGxheTpub25lIj7gpLbgpL7gpKbgpYAg4KSq4KWN4KSw4KS14KWH4KS2IOCkpuCljeCkteCkvuCksCDgpLjgpJzgpL7gpLXgpJ88L3NwYW4+PC9maWdjYXB0aW9uPjwvZmlndXJlPjwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgo8c2NyaXB0PihmdW5jdGlvbigpewogIHZhciBNT05fRU49WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdOwogIHZhciBNT05fSEk9WyLgpJzgpKjgpLXgpLDgpYAiLCLgpKvgpLzgpLDgpLXgpLDgpYAiLCLgpK7gpL7gpLDgpY3gpJoiLCLgpIXgpKrgpY3gpLDgpYjgpLIiLCLgpK7gpIgiLCLgpJzgpYLgpKgiLCLgpJzgpYHgpLLgpL7gpIgiLCLgpIXgpJfgpLjgpY3gpKQiLCLgpLjgpL\/gpKTgpILgpKzgpLAiLCLgpIXgpJXgpY3gpJ\/gpYLgpKzgpLAiLCLgpKjgpLXgpILgpKzgpLAiLCLgpKbgpL\/gpLjgpILgpKzgpLAiXTsKICB2YXIgRE9XX0VOPVsiU3UiLCJNbyIsIlR1IiwiV2UiLCJUaCIsIkZyIiwiU2EiXTsKICB2YXIgRE9XX0hJPVsi4KSwIiwi4KS44KWLIiwi4KSu4KSCIiwi4KSs4KWBIiwi4KSX4KWBIiwi4KS24KWBIiwi4KS2Il07CiAgdmFyIGxhbmcgPSAnZW4nOwogIHZhciB2aWV3ID0gbmV3IERhdGUoKTsgdmlldy5zZXREYXRlKDEpOwogIHZhciBwaWNrZWQgPSBudWxsOwogIHZhciB0aXRsZUVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldmNhbFRpdGxlJyksIGdyaWRFbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXZjYWxHcmlkJyksIHBpY2tlZEVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldmNhbFBpY2tlZCcpLCBidG5FbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXZjYWxCdG4nKTsKICBmdW5jdGlvbiByZW5kZXIoKXsKICAgIHZhciB5PXZpZXcuZ2V0RnVsbFllYXIoKSwgbT12aWV3LmdldE1vbnRoKCk7CiAgICB2YXIgTU9OID0gbGFuZz09PSdoaSc\/TU9OX0hJOk1PTl9FTiwgRE9XID0gbGFuZz09PSdoaSc\/RE9XX0hJOkRPV19FTjsKICAgIHRpdGxlRWwudGV4dENvbnRlbnQgPSBNT05bbV0gKyAnICcgKyB5OwogICAgdmFyIGZpcnN0ID0gbmV3IERhdGUoeSxtLDEpLmdldERheSgpOwogICAgdmFyIGRheXMgPSBuZXcgRGF0ZSh5LG0rMSwwKS5nZXREYXRlKCk7CiAgICB2YXIgdG9kYXkgPSBuZXcgRGF0ZSgpOyB0b2RheS5zZXRIb3VycygwLDAsMCwwKTsKICAgIHZhciBodG1sID0gRE9XLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gJzxzcGFuIGNsYXNzPSJkb3ciPicrZCsnPC9zcGFuPic7fSkuam9pbignJyk7CiAgICBmb3IodmFyIGk9MDtpPGZpcnN0O2krKykgaHRtbCArPSAnPGJ1dHRvbiBkaXNhYmxlZD48L2J1dHRvbj4nOwogICAgZm9yKHZhciBkPTE7IGQ8PWRheXM7IGQrKyl7CiAgICAgIHZhciBkdCA9IG5ldyBEYXRlKHksbSxkKTsKICAgICAgdmFyIGRpc2FibGVkID0gZHQgPCB0b2RheTsKICAgICAgdmFyIHNlbCA9IHBpY2tlZCAmJiBkdC5nZXRUaW1lKCk9PT1waWNrZWQuZ2V0VGltZSgpOwogICAgICBodG1sICs9ICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1kPSInK2QrJyIgJysoZGlzYWJsZWQ\/J2Rpc2FibGVkJzonJykrJyBjbGFzcz0iJysoc2VsPydzZWwnOicnKSsnIj4nK2QrJzwvYnV0dG9uPic7CiAgICB9CiAgICBncmlkRWwuaW5uZXJIVE1MID0gaHRtbDsKICAgIFtdLmZvckVhY2guY2FsbChncmlkRWwucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uW2RhdGEtZF0nKSwgZnVuY3Rpb24oYil7CiAgICAgIGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpewogICAgICAgIHBpY2tlZCA9IG5ldyBEYXRlKHksbSxwYXJzZUludChiLmdldEF0dHJpYnV0ZSgnZGF0YS1kJyksMTApKTsKICAgICAgICByZW5kZXIoKTsgc2hvd1BpY2tlZCgpOwogICAgICB9KTsKICAgIH0pOwogIH0KICBmdW5jdGlvbiBzaG93UGlja2VkKCl7CiAgICBpZighcGlja2VkKXsgcGlja2VkRWwudGV4dENvbnRlbnQ9Jyc7IGJ0bkVsLnN0eWxlLmRpc3BsYXk9J25vbmUnOyByZXR1cm47IH0KICAgIHZhciBNT04gPSBsYW5nPT09J2hpJz9NT05fSEk6TU9OX0VOOwogICAgdmFyIGxhYmVsID0gcGlja2VkLmdldERhdGUoKSArICcgJyArIE1PTltwaWNrZWQuZ2V0TW9udGgoKV0gKyAnICcgKyBwaWNrZWQuZ2V0RnVsbFllYXIoKTsKICAgIHBpY2tlZEVsLmlubmVySFRNTCA9IChsYW5nPT09J2hpJyA\/ICfgpJrgpK\/gpKjgpL\/gpKQg4KSk4KS+4KSw4KWA4KSWOiAnIDogJ1NlbGVjdGVkIGRhdGU6ICcpICsgJzxiPicrbGFiZWwrJzwvYj4nOwogICAgYnRuRWwuc3R5bGUuZGlzcGxheT0naW5saW5lLWZsZXgnOwogICAgYnRuRWwudGV4dENvbnRlbnQgPSBsYW5nPT09J2hpJyA\/ICfgpIfgpLgg4KSk4KS+4KSw4KWA4KSWIOCkleClhyDgpLLgpL\/gpI8g4KSq4KWC4KSb4KSk4KS+4KSbIOCkleCksOClh+CkgicgOiAnRW5xdWlyZSBmb3IgdGhpcyBkYXRlJzsKICAgIHZhciBtc2cgPSBsYW5nPT09J2hpJyA\/ICgn4KSo4KSu4KS44KWN4KSk4KWHLCDgpK7gpYjgpIIgJytsYWJlbCsnIOCkleClgCDgpKTgpL7gpLDgpYDgpJYg4KSV4KWHIOCksuCkv+CkjyDgpI\/gpJUg4KSq4KS+4KSw4KWN4KSf4KWAL+CkhuCkr+Cli+CknOCkqCDgpKzgpYHgpJUg4KSV4KSw4KSo4KS+IOCkmuCkvuCkueCkpOCkvi\/gpJrgpL7gpLngpKTgpYAg4KS54KWC4KSB4KWkJykgOiAoJ0hlbGxvIE5hcm8gRWNvIFJlc29ydCwgSSB3b3VsZCBsaWtlIHRvIGVucXVpcmUgYWJvdXQgaG9zdGluZyBhbiBldmVudCBvbiAnK2xhYmVsKycuJyk7CiAgICBidG5FbC5ocmVmID0gJyMnOyBidG5FbC5vbmNsaWNrID0gZnVuY3Rpb24oZSl7IGUucHJldmVudERlZmF1bHQoKTsgaWYod2luZG93Lm5hcm9PcGVuVGF3aykgbmFyb09wZW5UYXdrKCk7IH07CiAgfQogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldmNhbFByZXYnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IHZpZXcuc2V0TW9udGgodmlldy5nZXRNb250aCgpLTEpOyByZW5kZXIoKTsgfSk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2Y2FsTmV4dCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgdmlldy5zZXRNb250aCh2aWV3LmdldE1vbnRoKCkrMSk7IHJlbmRlcigpOyB9KTsKICB3aW5kb3cuX19zZXRFdmNhbExhbmcgPSBmdW5jdGlvbihsKXsgbGFuZz1sOyByZW5kZXIoKTsgc2hvd1BpY2tlZCgpOyB9OwogIHJlbmRlcigpOwp9KSgpOzwvc2NyaXB0Pgo8c2NyaXB0PihmdW5jdGlvbigpewogIHZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwTGFuZ0VuJyksIGg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BMYW5nSGknKTsKICB2YXIgaUVuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwSW50cm9FbicpLCBpSGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BJbnRyb0hpJyk7CiAgdmFyIGJFbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncEJvZHlFbicpLCBiSGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BCb2R5SGknKTsKICB2YXIgcGVuc1NlY3Rpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydHknKTsKICBmdW5jdGlvbiBzZXRMYW5nKGwpewogICAgaWYobD09PSdoaScpeyBpRW4uc3R5bGUuZGlzcGxheT0nbm9uZSc7IGlIaS5zdHlsZS5kaXNwbGF5PScnOyBiRW4uc3R5bGUuZGlzcGxheT0nbm9uZSc7IGJIaS5zdHlsZS5kaXNwbGF5PScnOyBoLmNsYXNzTmFtZT0nYnRuIGJ0bi1nb2xkJzsgZS5jbGFzc05hbWU9J2J0biBidG4tbGluZSc7IH0KICAgIGVsc2UgeyBpSGkuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGlFbi5zdHlsZS5kaXNwbGF5PScnOyBiSGkuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGJFbi5zdHlsZS5kaXNwbGF5PScnOyBlLmNsYXNzTmFtZT0nYnRuIGJ0bi1nb2xkJzsgaC5jbGFzc05hbWU9J2J0biBidG4tbGluZSc7IH0KICAgIHZhciBwZW5zID0gcGVuc1NlY3Rpb24ucXVlcnlTZWxlY3RvckFsbCgnLnBlbicpLCBwaGlzID0gcGVuc1NlY3Rpb24ucXVlcnlTZWxlY3RvckFsbCgnLnBoaScpOwogICAgZm9yKHZhciBpPTA7aTxwZW5zLmxlbmd0aDtpKyspIHBlbnNbaV0uc3R5bGUuZGlzcGxheSA9IChsPT09J2hpJykgPyAnbm9uZScgOiAnJzsKICAgIGZvcih2YXIgaT0wO2k8cGhpcy5sZW5ndGg7aSsrKSBwaGlzW2ldLnN0eWxlLmRpc3BsYXkgPSAobD09PSdoaScpID8gJycgOiAnbm9uZSc7CiAgICBpZih3aW5kb3cuX19zZXRFdmNhbExhbmcpIHdpbmRvdy5fX3NldEV2Y2FsTGFuZyhsKTsKICB9CiAgZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IHNldExhbmcoJ2VuJyk7IH0pOwogIGguYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBzZXRMYW5nKCdoaScpOyB9KTsKfSkoKTs8L3NjcmlwdD4KPHN0eWxlPkBtZWRpYShtYXgtd2lkdGg6NzYwcHgpey5wYXJ0eS1jb2xze2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIhaW1wb3J0YW50fX08L3N0eWxlPjxzZWN0aW9uIGNsYXNzPSJzIGJhbmQiIGlkPSJleHBsb3JlIj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InNwbGl0Ij4KICAgICAgPGRpdiBjbGFzcz0icy1oZWFkIiBzdHlsZT0ibWFyZ2luOjAiPjxzcGFuIGNsYXNzPSJleWVicm93Ij5HZXR0aW5nIGFyb3VuZDwvc3Bhbj48aDI+Q2xvc2UgdG8gS2Fsc2ksIENoYWtyYXRhLCBNdXNzb29yaWUgYW5kIFJlbnVrYTwvaDI+PHA+V2UgYXJlIG9uIHRoZSBZYW11bm90cmkgSGlnaHdheSBuZWFyIFZpa2FzIE5hZ2FyLiBIaXN0b3J5LCByaXZlcnMsIGhpbGwgdG93bnMsIGxha2VzIGFuZCB0ZW1wbGVzIGFyZSBhbGwgd2l0aGluIGEgZGF5IHRyaXAuIFRhcCBBc2sgTmFybyBTdXJ5YSBuZXh0IHRvIGFueSBwbGFjZSBhbmQgaGUgd2lsbCB0ZWxsIHlvdSB3aHkgaXQgaXMgd29ydGggYSB2aXNpdCwgcmlnaHQgaGVyZSBvbiB0aGlzIHBhZ2UuPC9wPgo8cCBzdHlsZT0ibWFyZ2luOjJweCAwIDA7Zm9udC1zaXplOi45NWVtIj5QbGFubmluZyBkYXkgdHJpcHM\/IFJlYWQgb3VyIGRldGFpbGVkIGd1aWRlcyB0byBNYXRvZ2kgU2hpdiBUZW1wbGUsIEJoYWRyYWosIEt1bmphcHVyaSBhbmQgUmFodSBNYW5kaXIgb24gPGEgaHJlZj0iaHR0cHM6Ly9kZWhyYWR1bmkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHN0eWxlPSJjb2xvcjp2YXIoLS1nb2xkKTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIj5EZWhyYWR1bmkgdHJhdmVsIGd1aWRlczwvYT4uPC9wPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1nb2xkIGFza2J0biIgZGF0YS1hc2s9IldoYXQgcGxhY2VzIGNhbiBJIHZpc2l0IG5lYXJieT8iIHN0eWxlPSJqdXN0aWZ5LXNlbGY6c3RhcnQiPkFzayBOYXJvIFN1cnlhIGFib3V0IHBsYWNlczwvYnV0dG9uPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJiYXJzIiByb2xlPSJsaXN0IiBhcmlhLWxhYmVsPSJEaXN0YW5jZXMgZnJvbSB0aGUgcmVzb3J0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJiYXIiIHJvbGU9Imxpc3RpdGVtIj48ZGl2IGNsYXNzPSJ0Ij48c3Bhbj5KYWdhdGdyYW0sIEFzaHdhbWVkaGEgc2l0ZTwvc3Bhbj48c3Bhbj41IGttPC9zcGFuPjwvZGl2PjxpIHN0eWxlPSItLXc6NSUiPjwvaT48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYXIiIHJvbGU9Imxpc3RpdGVtIj48ZGl2IGNsYXNzPSJ0Ij48c3Bhbj5Bc2hva2EgUm9jayBFZGljdHMsIEthbHNpPC9zcGFuPjxzcGFuPjYga208L3NwYW4+PC9kaXY+PGkgc3R5bGU9Ii0tdzo2JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPkRha3BhdGhhciBCYXJyYWdlPC9zcGFuPjxzcGFuPjgga208L3NwYW4+PC9kaXY+PGkgc3R5bGU9Ii0tdzo4JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPk1hYSBCYWdhbGFtdWtoaSBEZXZpIFRlbXBsZSwgVmlrYXNuYWdhcjwvc3Bhbj48c3Bhbj4xMyBrbTwvc3Bhbj48L2Rpdj48aSBzdHlsZT0iLS13OjE0JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPkdhbmdiaGV3YSBCYXdkaSwgR2F1dGFtIFJpc2hpIFRlbXBsZTwvc3Bhbj48c3Bhbj4xNiBrbTwvc3Bhbj48L2Rpdj48aSBzdHlsZT0iLS13OjE3JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPkFzYW4gQmFycmFnZSwgYm9hdGluZyBhbmQgYmlyZHdhdGNoaW5nPC9zcGFuPjxzcGFuPjI1IGttPC9zcGFuPjwvZGl2PjxpIHN0eWxlPSItLXc6MjYlIj48L2k+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYmFyIiByb2xlPSJsaXN0aXRlbSI+PGRpdiBjbGFzcz0idCI+PHNwYW4+RGVocmFkdW48L3NwYW4+PHNwYW4+NDUga208L3NwYW4+PC9kaXY+PGkgc3R5bGU9Ii0tdzo0NyUiPjwvaT48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYXIiIHJvbGU9Imxpc3RpdGVtIj48ZGl2IGNsYXNzPSJ0Ij48c3Bhbj5DaGFrcmF0YTwvc3Bhbj48c3Bhbj40NSBrbTwvc3Bhbj48L2Rpdj48aSBzdHlsZT0iLS13OjQ3JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPlJlbnVrYSBKaGVlbDwvc3Bhbj48c3Bhbj43MCBrbTwvc3Bhbj48L2Rpdj48aSBzdHlsZT0iLS13Ojc0JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPkphbWFkYWduaSBUZW1wbGUsIEphbXUgUGVhazwvc3Bhbj48c3Bhbj43NSBrbTwvc3Bhbj48L2Rpdj48aSBzdHlsZT0iLS13Ojc5JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPk11c3Nvb3JpZTwvc3Bhbj48c3Bhbj43NSBrbTwvc3Bhbj48L2Rpdj48aSBzdHlsZT0iLS13Ojc5JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPk5haGFuIEZvc3NpbCBQYXJrLCBTdWtldGk8L3NwYW4+PHNwYW4+ODUga208L3NwYW4+PC9kaXY+PGkgc3R5bGU9Ii0tdzo4OSUiPjwvaT48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYXIiIHJvbGU9Imxpc3RpdGVtIj48ZGl2IGNsYXNzPSJ0Ij48c3Bhbj5SaXNoaWtlc2g8L3NwYW4+PHNwYW4+OTUga208L3NwYW4+PC9kaXY+PGkgc3R5bGU9Ii0tdzoxMDAlIj48L2k+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJnYWxsZXJ5Ij4KICAgICAgPGZpZ3VyZT48ZGl2IGNsYXNzPSJwaCIgZGF0YS1waG90bz0iZ2F0ZSIgZGF0YS1zZWVkPSIyIj48L2Rpdj48ZmlnY2FwdGlvbj5UaGUgZW50cmFuY2U8L2ZpZ2NhcHRpb24+PC9maWd1cmU+CiAgICAgIDxmaWd1cmU+PGRpdiBjbGFzcz0icGgiIGRhdGEtcGhvdG89ImNvdHRhZ2UiIGRhdGEtc2VlZD0iMyI+PC9kaXY+PGZpZ2NhcHRpb24+Q290dGFnZXMgYW5kIGdhcmRlbjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT4KICAgICAgPGZpZ3VyZT48ZGl2IGNsYXNzPSJwaCIgZGF0YS1waG90bz0ibGF3biIgZGF0YS1zZWVkPSI0Ij48L2Rpdj48ZmlnY2FwdGlvbj5HYXJkZW4gcGF0aHM8L2ZpZ2NhcHRpb24+PC9maWd1cmU+CiAgICAgIDxmaWd1cmU+PGRpdiBjbGFzcz0icGgiIGRhdGEtcGhvdG89ImRpbmluZyIgZGF0YS1zZWVkPSI1Ij48L2Rpdj48ZmlnY2FwdGlvbj5OYXJvIFJlc3RhdXJhbnQ8L2ZpZ2NhcHRpb24+PC9maWd1cmU+CiAgICAgIDxmaWd1cmU+PGRpdiBjbGFzcz0icGgiIGRhdGEtcGhvdG89IndlZGRpbmciIGRhdGEtc2VlZD0iMSI+PC9kaXY+PGZpZ2NhcHRpb24+V2VkZGluZyBzZXR1cDwvZmlnY2FwdGlvbj48L2ZpZ3VyZT4KICAgICAgPGZpZ3VyZT48ZGl2IGNsYXNzPSJwaCIgZGF0YS1waG90bz0icm9vbTIiIGRhdGEtc2VlZD0iMiI+PC9kaXY+PGZpZ2NhcHRpb24+QSBkb3VibGUgcm9vbTwvZmlnY2FwdGlvbj48L2ZpZ3VyZT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icmVhY2giPgogICAgICA8ZGl2IGNsYXNzPSJtYXBjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtYXBhcnQiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iU2tldGNoIG1hcCBzaG93aW5nIHRoZSByZXNvcnQgb24gdGhlIFlhbXVub3RyaSBIaWdod2F5IGJldHdlZW4gRGVocmFkdW4gYW5kIHRoZSBoaWxscyI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCA0ODAgMzAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBzbGljZSIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICA8cmVjdCB3aWR0aD0iNDgwIiBoZWlnaHQ9IjMwMCIgZmlsbD0iIzBmMmEyMiIvPgogICAgICAgICAgICA8ZyBzdHJva2U9IiMxZDQ0MzgiIHN0cm9rZS13aWR0aD0iMSI+PHBhdGggZD0iTTAgNjBINDgwTTAgMTIwSDQ4ME0wIDE4MEg0ODBNMCAyNDBINDgwTTgwIDBWMzAwTTE2MCAwVjMwME0yNDAgMFYzMDBNMzIwIDBWMzAwTTQwMCAwVjMwMCIvPjwvZz4KICAgICAgICAgICAgPHBhdGggZD0iTS0xMCAyNTAgQzkwIDIxMCAxNTAgMjQwIDI0MCAxOTAgUzQwMCAxMTAgNTAwIDEzMCIgc3Ryb2tlPSIjNjNiN2IwIiBzdHJva2Utd2lkdGg9IjciIGZpbGw9Im5vbmUiIG9wYWNpdHk9Ii41NSIvPgogICAgICAgICAgICA8cGF0aCBkPSJNLTEwIDI4MCBDMTIwIDIzMCAyMDAgMTkwIDI2MCAxNTAgUzQwMCA2MCA1MDAgNDAiIHN0cm9rZT0iI2U4ZjBlYSIgc3Ryb2tlLXdpZHRoPSI1IiBmaWxsPSJub25lIiBvcGFjaXR5PSIuODUiLz4KICAgICAgICAgICAgPHBhdGggZD0iTS0xMCAyODAgQzEyMCAyMzAgMjAwIDE5MCAyNjAgMTUwIFM0MDAgNjAgNTAwIDQwIiBzdHJva2U9IiMwZjJhMjIiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA5IiBmaWxsPSJub25lIi8+CiAgICAgICAgICAgIDxnIGZpbGw9IiNlZmJmNjIiPjxjaXJjbGUgY3g9IjI2MiIgY3k9IjE1MCIgcj0iOSIvPjxjaXJjbGUgY3g9IjI2MiIgY3k9IjE1MCIgcj0iMjAiIG9wYWNpdHk9Ii4yMiIvPjwvZz4KICAgICAgICAgICAgPGcgZmlsbD0iI2U4ZjBlYSIgZm9udC1mYW1pbHk9Ikdlb3JnaWEsc2VyaWYiPjx0ZXh0IHg9IjI3OCIgeT0iMTQ2IiBmb250LXNpemU9IjE1Ij5OYXJvIEVjbyBSZXNvcnQ8L3RleHQ+PHRleHQgeD0iMzAiIHk9IjI3MCIgZm9udC1zaXplPSIxMiIgb3BhY2l0eT0iLjgiPlRvd2FyZHMgRGVocmFkdW4sIDQ1IGttPC90ZXh0Pjx0ZXh0IHg9IjMzMCIgeT0iNTAiIGZvbnQtc2l6ZT0iMTIiIG9wYWNpdHk9Ii44Ij5ZYW11bm90cmkgSGlnaHdheTwvdGV4dD48L2c+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJtYXBub3RlIj5Ta2V0Y2gsIG5vdCB0byBzY2FsZTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtYXBidG5zIj48YSBjbGFzcz0iYnRuIGJ0bi1nb2xkIiBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvc2VhcmNoLz9hcGk9MSZxdWVyeT1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5PcGVuIGluIEdvb2dsZSBNYXBzPC9hPjxhIGNsYXNzPSJidG4gYnRuLWxpbmUiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJmRlc3RpbmF0aW9uPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZ0cmF2ZWxtb2RlPWRyaXZpbmciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5EaXJlY3Rpb25zIHRvIHRoZSByZXNvcnQ8L2E+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8dWwgY2xhc3M9ImRpcnMiIGFyaWEtbGFiZWw9Ik5lYXJieSBwbGFjZXMgd2l0aCBkaXJlY3Rpb25zIGZyb20gdGhlIHJlc29ydCI+CiAgICAgICAgPGxpPjxzcGFuPkphZ2F0Z3JhbSwgQXNod2FtZWRoYSBzaXRlPHNtYWxsPjUga20sIGFib3V0IDE1IG1pbnV0ZXM8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBKYWdhdGdyYW0iPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj1KYWdhdGdyYW0rQmFyd2FsYStWaWthc25hZ2FyK1V0dGFyYWtoYW5kJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgICAgPGxpPjxzcGFuPkFzaG9rYSBSb2NrIEVkaWN0cywgS2Fsc2k8c21hbGw+NiBrbSwgYWJvdXQgMTUgbWludXRlczwvc21hbGw+PC9zcGFuPjxzcGFuIGNsYXNzPSJkYnRucyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJhc2tidG4iIGRhdGEtYXNrPSJUZWxsIG1lIGFib3V0IEthbHNpIHJvY2sgZWRpY3QiPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj1Bc2hva2ErUm9jaytFZGljdHMrS2Fsc2krVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+RGFrcGF0aGFyIEJhcnJhZ2U8c21hbGw+OCBrbSwgYWJvdXQgMTUgbWludXRlczwvc21hbGw+PC9zcGFuPjxzcGFuIGNsYXNzPSJkYnRucyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJhc2tidG4iIGRhdGEtYXNrPSJUZWxsIG1lIGFib3V0IERha3BhdGhhciI+QXNrIE5hcm8gU3VyeWE8L2J1dHRvbj48YSBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyLz9hcGk9MSZvcmlnaW49TmFybytFY28rUmVzb3J0K1Zpa2FzK05hZ2FyK1V0dGFyYWtoYW5kJmRlc3RpbmF0aW9uPURha3BhdGhhcitCYXJyYWdlK1V0dGFyYWtoYW5kJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgICAgPGxpPjxzcGFuPkFzYW4gQmFycmFnZSwgYm9hdGluZyBhbmQgYmlyZHdhdGNoaW5nPHNtYWxsPjI1IGttLCBhYm91dCA0MCBtaW51dGVzPC9zbWFsbD48L3NwYW4+PHNwYW4gY2xhc3M9ImRidG5zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImFza2J0biIgZGF0YS1hc2s9IlRlbGwgbWUgYWJvdXQgQXNhbiBCYXJyYWdlIj5Bc2sgTmFybyBTdXJ5YTwvYnV0dG9uPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQmZGVzdGluYXRpb249QXNhbitCYXJyYWdlK1V0dGFyYWtoYW5kJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgICAgPGxpPjxzcGFuPkRlaHJhZHVuPHNtYWxsPjQ1IGttLCBhYm91dCAxIGhvdXIgMTUgbWludXRlczwvc21hbGw+PC9zcGFuPjxzcGFuIGNsYXNzPSJkYnRucyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJhc2tidG4iIGRhdGEtYXNrPSJUZWxsIG1lIGFib3V0IERlaHJhZHVuIj5Bc2sgTmFybyBTdXJ5YTwvYnV0dG9uPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQmZGVzdGluYXRpb249RGVocmFkdW4rVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+Q2hha3JhdGE8c21hbGw+NDUga20sIGFib3V0IDEgaG91ciAxNSBtaW51dGVzPC9zbWFsbD48L3NwYW4+PHNwYW4gY2xhc3M9ImRidG5zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImFza2J0biIgZGF0YS1hc2s9IlRlbGwgbWUgYWJvdXQgQ2hha3JhdGEiPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj1DaGFrcmF0YStVdHRhcmFraGFuZCZ0cmF2ZWxtb2RlPWRyaXZpbmciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5EaXJlY3Rpb25zPC9hPjwvc3Bhbj48L2xpPgogICAgICAgIDxsaT48c3Bhbj5SZW51a2EgSmhlZWw8c21hbGw+NzAga20sIGFib3V0IDIgdG8gMi41IGhvdXJzPC9zbWFsbD48L3NwYW4+PHNwYW4gY2xhc3M9ImRidG5zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImFza2J0biIgZGF0YS1hc2s9IlRlbGwgbWUgYWJvdXQgUmVudWthIEpoZWVsIj5Bc2sgTmFybyBTdXJ5YTwvYnV0dG9uPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQmZGVzdGluYXRpb249UmVudWthK0xha2UrU2lybWF1citIaW1hY2hhbCtQcmFkZXNoJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgICAgPGxpPjxzcGFuPkphbWFkYWduaSBUZW1wbGUsIEphbXUgUGVhazxzbWFsbD43NSBrbSwgYWJvdXQgMiB0byAyLjUgaG91cnM8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBKYW1hZGFnbmkgdGVtcGxlIj5Bc2sgTmFybyBTdXJ5YTwvYnV0dG9uPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQmZGVzdGluYXRpb249SmFtdStQZWFrK1JlbnVrYStKaStIaW1hY2hhbCtQcmFkZXNoJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgICAgPGxpPjxzcGFuPk11c3Nvb3JpZTxzbWFsbD43NSBrbSwgYWJvdXQgMiB0byAyLjUgaG91cnM8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBNdXNzb29yaWUiPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj1NdXNzb29yaWUrVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+TmFoYW4gRm9zc2lsIFBhcmssIFN1a2V0aTxzbWFsbD44NSBrbSwgYWJvdXQgMi41IHRvIDMgaG91cnM8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBOYWhhbiBGb3NzaWwgUGFyayI+QXNrIE5hcm8gU3VyeWE8L2J1dHRvbj48YSBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyLz9hcGk9MSZvcmlnaW49TmFybytFY28rUmVzb3J0K1Zpa2FzK05hZ2FyK1V0dGFyYWtoYW5kJmRlc3RpbmF0aW9uPVN1a2V0aStGb3NzaWwrUGFyaytOYWhhbitIaW1hY2hhbCtQcmFkZXNoJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgICAgPGxpPjxzcGFuPlJpc2hpa2VzaDxzbWFsbD45NSBrbSwgYWJvdXQgMi41IHRvIDMgaG91cnM8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBSaXNoaWtlc2giPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj1SaXNoaWtlc2grVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+TWFoYXN1IFRlbXBsZTxzbWFsbD5Bc2sgdXMgZm9yIHRoZSBiZXN0IHJvdXRlPC9zbWFsbD48L3NwYW4+PHNwYW4gY2xhc3M9ImRidG5zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImFza2J0biIgZGF0YS1hc2s9IlRlbGwgbWUgYWJvdXQgTWFoYXN1IHRlbXBsZSI+QXNrIE5hcm8gU3VyeWE8L2J1dHRvbj48YSBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyLz9hcGk9MSZvcmlnaW49TmFybytFY28rUmVzb3J0K1Zpa2FzK05hZ2FyK1V0dGFyYWtoYW5kJmRlc3RpbmF0aW9uPU1haGFzdStUZW1wbGUrVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+QmhhZHJhaiBUZW1wbGU8c21hbGw+QXNrIHVzIGZvciB0aGUgYmVzdCByb3V0ZTwvc21hbGw+PC9zcGFuPjxzcGFuIGNsYXNzPSJkYnRucyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJhc2tidG4iIGRhdGEtYXNrPSJUZWxsIG1lIGFib3V0IEJoYWRyYWogdGVtcGxlIj5Bc2sgTmFybyBTdXJ5YTwvYnV0dG9uPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQmZGVzdGluYXRpb249QmhhZHJhaitUZW1wbGUrVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+QmhhZHJhIEthbGkgVGVtcGxlPHNtYWxsPkFzayB1cyBmb3IgdGhlIGJlc3Qgcm91dGU8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBCaGFkcmEgS2FsaSB0ZW1wbGUiPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj1CaGFkcmErS2FsaStUZW1wbGUrVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+U3dheWFtYmh1IFNoaXZhIFRlbXBsZTxzbWFsbD5Bc2sgdXMgZm9yIHRoZSBiZXN0IHJvdXRlPC9zbWFsbD48L3NwYW4+PHNwYW4gY2xhc3M9ImRidG5zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImFza2J0biIgZGF0YS1hc2s9IlRlbGwgbWUgYWJvdXQgU3dheWFtYmh1IFNoaXZhIHRlbXBsZSI+QXNrIE5hcm8gU3VyeWE8L2J1dHRvbj48YSBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyLz9hcGk9MSZvcmlnaW49TmFybytFY28rUmVzb3J0K1Zpa2FzK05hZ2FyK1V0dGFyYWtoYW5kJmRlc3RpbmF0aW9uPVN3YXlhbWJodStTaGl2YStUZW1wbGUrVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+TWFhIEJhZ2FsYW11a2hpIERldmkgVGVtcGxlLCBWaWthc25hZ2FyPHNtYWxsPjEzIGttLCBhYm91dCAzMCBtaW51dGVzIMK3IENoYWtyYXRhIFJvYWQ8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBCYWdhbGFtdWtoaSB0ZW1wbGUiPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj0zMC40NzY1Niw3Ny43NDc4MSZ0cmF2ZWxtb2RlPWRyaXZpbmciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5EaXJlY3Rpb25zPC9hPjwvc3Bhbj48L2xpPgogICAgICAgIDxsaT48c3Bhbj5HYW5nYmhld2EgQmF3ZGksIEdhdXRhbSBSaXNoaSBUZW1wbGUgKFRhbGFiIE1hbmRpcik8c21hbGw+MTYga20sIGFib3V0IDM1IG1pbnV0ZXMgwrcgRGh1bW1pcHVyIEdhbmcgQmhld2EsIG5lYXIgSGVyYmVydHB1cjwvc21hbGw+PC9zcGFuPjxzcGFuIGNsYXNzPSJkYnRucyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJhc2tidG4iIGRhdGEtYXNrPSJUZWxsIG1lIGFib3V0IEdhbmdiaGV3YSBCYXdkaSBHYXV0YW0gUmlzaGkgdGVtcGxlIj5Bc2sgTmFybyBTdXJ5YTwvYnV0dG9uPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQmZGVzdGluYXRpb249MzAuNDYwODc3NSw3Ny43MzkyMDc5JnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgIDwvdWw+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPHNlY3Rpb24gY2xhc3M9InMiIGlkPSJyZXZpZXdzIj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InMtaGVhZCI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5HdWVzdCByZXZpZXdzPC9zcGFuPgogICAgICA8aDI+UmF0ZWQgb24gR29vZ2xlPC9oMj4KICAgICAgPHA+U2VlIHdoYXQgZ3Vlc3RzIGFyZSBzYXlpbmcgYWJvdXQgdGhlaXIgc3RheSBhdCBOYXJvIEVjbyBSZXNvcnQsIHN0cmFpZ2h0IGZyb20gR29vZ2xlLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZ3Jldi1ib3giPgogICAgICA8ZGl2IGNsYXNzPSJncmV2LXNjb3JlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJncmV2LW51bSI+NC4zPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3Jldi1zdGFycyI+PHNwYW4gY2xhc3M9ImZpbGwiPjwvc3Bhbj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJncmV2LWNvdW50Ij41MzQgR29vZ2xlIHJldmlld3M8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImdyZXYtaW5mbyI+CiAgICAgICAgPHN2ZyBjbGFzcz0iZ3Jldi1nbG9nbyIgdmlld0JveD0iMCAwIDQ4IDQ4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGFyaWEtbGFiZWw9Ikdvb2dsZSI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTQ1LjEyIDI0LjVjMC0xLjU2LS4xNC0zLjA2LS40LTQuNUgyNHY4LjUxaDExLjg0Yy0uNTEgMi43NS0yLjA2IDUuMDgtNC4zOSA2LjY0djUuNTJoNy4xMWM0LjE2LTMuODMgNi41Ni05LjQ3IDYuNTYtMTYuMTd6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTI0IDQ2YzUuOTQgMCAxMC45Mi0xLjk3IDE0LjU2LTUuMzNsLTcuMTEtNS41MmMtMS45NyAxLjMyLTQuNDkgMi4xLTcuNDUgMi4xLTUuNzMgMC0xMC41OC0zLjg3LTEyLjMxLTkuMDdINC4zNHY1LjdDNy45NiA0MS4wNyAxNS40IDQ2IDI0IDQ2eiIvPjxwYXRoIGZpbGw9IiNGQkJDMDUiIGQ9Ik0xMS42OSAyOC4xOEMxMS4yNSAyNi44NiAxMSAyNS40NSAxMSAyNHMuMjUtMi44Ni42OS00LjE4di01LjdINC4zNEMyLjg1IDE3LjA5IDIgMjAuNDUgMiAyNHMuODUgNi45MSAyLjM0IDkuODhsNy4zNS01Ljd6Ii8+PHBhdGggZmlsbD0iI0VBNDMzNSIgZD0iTTI0IDEwLjc1YzMuMjMgMCA2LjEzIDEuMTEgOC40MSAzLjI5bDYuMzEtNi4zMUMzNC45MSA0LjE4IDI5LjkzIDIgMjQgMiAxNS40IDIgNy45NiA2LjkzIDQuMzQgMTQuMTJsNy4zNSA1LjdjMS43My01LjIgNi41OC05LjA3IDEyLjMxLTkuMDd6Ii8+PC9zdmc+CiAgICAgICAgPHA+TmFybyBFY28gUmVzb3J0IGFuZCBTcGEgaG9sZHMgYSA0LjMgb3V0IG9mIDUgcmF0aW5nIGZyb20gNTM0IHJldmlld3Mgb24gR29vZ2xlLCBiYXNlZCBvbiByZWFsIGd1ZXN0IGV4cGVyaWVuY2VzLjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJncmV2LWJ0bnMiPgogICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tZ29sZCIgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL3BsYWNlL05hcm8rRWNvK1Jlc29ydCthbmQrU3BhL0AzMC41MDAzNTkzLDc3Ljg2OTUxMjEsMTd6IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+UmVhZCByZXZpZXdzIG9uIEdvb2dsZTwvYT4KICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLWxpbmUiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9wbGFjZS9OYXJvK0VjbytSZXNvcnQrYW5kK1NwYS9AMzAuNTAwMzU5Myw3Ny44Njk1MTIxLDE3eiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPldyaXRlIGEgcmV2aWV3PC9hPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8c2VjdGlvbiBjbGFzcz0icyIgaWQ9ImZhcSI+CiAgPGRpdiBjbGFzcz0id3JhcCBzcGxpdCIgc3R5bGU9ImFsaWduLWl0ZW1zOnN0YXJ0Ij4KICAgIDxkaXYgY2xhc3M9InMtaGVhZCIgc3R5bGU9Im1hcmdpbjowIj48c3BhbiBjbGFzcz0iZXllYnJvdyI+UXVlc3Rpb25zPC9zcGFuPjxoMj5CZWZvcmUgeW91IGJvb2s8L2gyPjxwPlJhdGVzLCBmb29kLCByb29tcyBhbmQgZ2V0dGluZyBoZXJlLiBGb3IgYW55IG90aGVyIHF1ZXN0aW9uLCBhc2sgPGEgaHJlZj0iIyIgY2xhc3M9ImFza1N1cnlhIj5OYXJvIFN1cnlhPC9hPiBhdCB0aGUgYm90dG9tIGxlZnQuIElmIGl0IGlzIHNvbWV0aGluZyB1bnVzdWFsLCBoZSBjb25uZWN0cyB5b3UgdG8gb3VyIHRlYW0gb24gbGl2ZSBjaGF0LjwvcD48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZhcWxhbmciIHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7bWFyZ2luLWJvdHRvbToyNHB4Ij48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ29sZCIgaWQ9ImZhcUxhbmdFbiIgc3R5bGU9InBhZGRpbmc6OHB4IDIwcHg7Zm9udC1zaXplOjEzcHgiPkVuZ2xpc2g8L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tbGluZSIgaWQ9ImZhcUxhbmdIaSIgc3R5bGU9InBhZGRpbmc6OHB4IDIwcHg7Zm9udC1zaXplOjEzcHgiPuCkueCkv+CkqOCljeCkpuClgDwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9ImZhcSIgaWQ9ImZhcUVuIj4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+V2hhdCBhcmUgdGhlIHJvb20gcmF0ZXM\/PC9zdW1tYXJ5PjxwPkEgRG91YmxlIFJvb20gaXMg4oK5Miw1MDAgcGVyIG5pZ2h0IGFuZCB0aGUgNC1iZWQgRmFtaWx5IFJvb20gaXMg4oK5NCwwMDAgcGVyIG5pZ2h0LiBBbiBleHRyYSBiZWQgaXMg4oK5NTAwIHBlciBuaWdodCwgYW5kIGNoaWxkcmVuIGJlbG93IDkgc3RheSBmcmVlLiA1JSBHU1QgaXMgYWRkZWQgb24gdG9wLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PklzIEdTVCBhZGRlZCB0byB0aGUgcmF0ZXM\/PC9zdW1tYXJ5PjxwPlllcywgNSUgR1NUIGlzIGFkZGVkIG9uIHRvcCBvZiB0aGUgbGlzdGVkIHJhdGVzLiBUaGUgYm9va2luZyBzdW1tYXJ5IHNob3dzIHRoZSByb29tIGNoYXJnZXMsIHRoZW4gQ0dTVCBhbmQgU0dTVCwgYW5kIHRoZSBmaW5hbCB0b3RhbC48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5JcyBicmVha2Zhc3QgaW5jbHVkZWQ\/PC9zdW1tYXJ5PjxwPk5vLCBicmVha2Zhc3QgaXMgbm90IGluY2x1ZGVkIGluIHRoZSByb29tIHJhdGUuIE5hcm8gUmVzdGF1cmFudCBpcyBvbiBzaXRlIGFuZCBzZXJ2ZXMgcHVyZSB2ZWdldGFyaWFuIGZvb2QuPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+SXMgdGhlIHJlc29ydCBjb3VwbGUgZnJpZW5kbHk\/PC9zdW1tYXJ5PjxwPlllcy4gVW5tYXJyaWVkIGNvdXBsZXMgYXJlIHdlbGNvbWUgYXQgTmFybyBFY28gUmVzb3J0LiBHdWVzdHMgbXVzdCBiZSAxOCB5ZWFycyBvZiBhZ2Ugb3Igb2xkZXIsIGFzIHBlciBJbmRpYW4gbGF3IOKAlCByb29tcyBhcmUgbm90IGdpdmVuIHRvIHVuZGVyYWdlIGNvdXBsZXMgd2l0aG91dCBhZHVsdCBhY2NvbXBhbmltZW50LiBCb3RoIGd1ZXN0cyBtdXN0IGNhcnJ5IGEgdmFsaWQgZ292ZXJubWVudCBwaG90byBJRCAoQWFkaGFyIGNhcmQsIFZvdGVyIElEIG9yIERyaXZpbmcgTGljZW5jZSkgYXQgY2hlY2staW4uPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+RG8gdGhlIHJvb21zIGhhdmUgYWlyIGNvbmRpdGlvbmluZz88L3N1bW1hcnk+PHA+RXZlcnkgcm9vbSBoYXMgYSBkZXNlcnQgY29vbGVyLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PklzIHRoZSBzd2ltbWluZyBwb29sIG9wZW4\/PC9zdW1tYXJ5PjxwPk5vdCB5ZXQsIHRoZSBwb29sIHdpbGwgYmUgaW5hdWd1cmF0ZWQgc2hvcnRseS4gQXNrIHVzIGZvciB0aGUgb3BlbmluZyBkYXRlLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PkRvIHlvdSBzZXJ2ZSBub24tdmVnZXRhcmlhbiBmb29kPzwvc3VtbWFyeT48cD5ObywgdGhlIHJlc3RhdXJhbnQgaXMgcHVyZSB2ZWdldGFyaWFuLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PkhvdyBmYXIgYXJlIHlvdSBmcm9tIERlaHJhZHVuPzwvc3VtbWFyeT48cD5XZSBhcmUgNDUga20gZnJvbSBEZWhyYWR1biBvbiB0aGUgWWFtdW5vdHJpIEhpZ2h3YXksIG5lYXIgVmlrYXMgTmFnYXIuPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+SXMgdGhlcmUgcGFya2luZz88L3N1bW1hcnk+PHA+WWVzLCBwYXJraW5nIGlzIGZyZWUgYW5kIGhvbGRzIG1vcmUgdGhhbiA1MCB2ZWhpY2xlcy48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5DYW4gSSBob3N0IGEgd2VkZGluZyBvciBldmVudD88L3N1bW1hcnk+PHA+WWVzLCB3ZSBob3N0IGRlc3RpbmF0aW9uIHdlZGRpbmdzLCBiaXJ0aGRheXMgYW5kIGtpdHR5IHBhcnRpZXMsIGFuZCBoYXZlIGEgNDAgeCA0MCBmdCBjb25mZXJlbmNlIGhhbGwuIFNoYXJlIHRoZSBib29raW5nIGZvcm0gd2l0aCB5b3VyIGRhdGVzIGFuZCBvdXIgdGVhbSB3aWxsIGNvbmZpcm0gYXZhaWxhYmlsaXR5IGFuZCBhIHF1b3RlLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PkhvdyBkb2VzIGNoZWNrLWluIHdvcms\/PC9zdW1tYXJ5PjxwPkJvb2sgb25saW5lIGFuZCBhZGQgeW91ciBkZXRhaWxzLCBhcnJpdmFsIHRpbWUgYW5kIHZlaGljbGUgbnVtYmVyLiBZb3UgcmVjZWl2ZSBhIGNoZWNrLWluIHBhc3MsIHNvIHJlY2VwdGlvbiBvbmx5IGhhcyB0byBoYW5kIHlvdSB0aGUga2V5LjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PklzIGFkdmFuY2UgcGF5bWVudCByZXF1aXJlZD88L3N1bW1hcnk+PHA+WWVzLiBGdWxsIHBheW1lbnQgaXMgdGFrZW4gaW4gYWR2YW5jZSB0byBjb25maXJtIHlvdXIgYm9va2luZy4gSWYgeW91ciBwbGFucyBjaGFuZ2UsIHlvdSBjYW4gcmVzY2hlZHVsZSB5b3VyIHN0YXkgZm9yIGEg4oK5MSwwMDAgY2hhbmdlIGZlZSBwZXIgcm9vbSAoRG91YmxlIG9yIEZhbWlseSksIHdpdGggbm90aWNlIG9uIFdoYXRzQXBwICgrOTEgNzAxNzcgMTQzODUpIGF0IGxlYXN0IDMgZGF5cyBiZWZvcmUgYXJyaXZhbC4gQW55IGNoYW5nZSByZXF1ZXN0ZWQgbGVzcyB0aGFuIDMgZGF5cyBiZWZvcmUgYXJyaXZhbCBpcyB0cmVhdGVkIGFzIGEgbm8tc2hvdyBhbmQgaXMgbm90IHRyYW5zZmVyYWJsZS48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5DYW4gSSByZXNjaGVkdWxlIG15IHN0YXk\/PC9zdW1tYXJ5PjxwPklmIHlvdSBwYXkgaW4gZnVsbCwgeW91IGNhbiByZXNjaGVkdWxlIHdpdGggYSDigrkxLDAwMCBjaGFuZ2UgZmVlIHBlciByb29tIChEb3VibGUgb3IgRmFtaWx5KSwgd2l0aCBub3RpY2Ugb24gV2hhdHNBcHAgKCs5MSA3MDE3NyAxNDM4NSkgYXQgbGVhc3QgMyBkYXlzIGJlZm9yZSBhcnJpdmFsLiBBbnkgY2hhbmdlIHJlcXVlc3RlZCBsZXNzIHRoYW4gMyBkYXlzIGJlZm9yZSBhcnJpdmFsIGlzIHRyZWF0ZWQgYXMgYSBuby1zaG93IGFuZCBpcyBub3QgdHJhbnNmZXJhYmxlIGlmIHlvdXIgcGxhbnMgY2hhbmdlLCBzdWJqZWN0IHRvIGF2YWlsYWJpbGl0eS48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscyBpZD0icnNBcHAiPjxzdW1tYXJ5PlJlc2NoZWR1bGUgbXkgc3RheSAoV2hhdHNBcHApPC9zdW1tYXJ5PjxkaXYgc3R5bGU9InBhZGRpbmc6NnB4IDAgNHB4Ij48cCBzdHlsZT0ibWFyZ2luOjAgMCAxMHB4Ij5GdWxseSBwYWlkIGJvb2tpbmdzIGNhbiBiZSByZXNjaGVkdWxlZCBmb3IgYSDigrkxLDAwMCBjaGFuZ2UgZmVlIHBlciByb29tIChEb3VibGUgb3IgRmFtaWx5KS4gWW91IG11c3QgaW5mb3JtIHVzIG9uIFdoYXRzQXBwIGF0IGxlYXN0IDMgZGF5cyBiZWZvcmUgeW91ciBhcnJpdmFsIGRhdGUuIEEgY2hhbmdlIHJlcXVlc3RlZCBsZXNzIHRoYW4gMyBkYXlzIGJlZm9yZSBhcnJpdmFsIGlzIHRyZWF0ZWQgYXMgYSBuby1zaG93IGFuZCBpcyBub3QgdHJhbnNmZXJhYmxlLjwvcD48ZGl2IHN0eWxlPSJkaXNwbGF5OmdyaWQ7Z2FwOjhweDttYXgtd2lkdGg6NDIwcHgiPjxpbnB1dCBpZD0icnNOYW1lIiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iR3Vlc3QgbmFtZSIgc3R5bGU9InBhZGRpbmc6MTBweDtmb250OmluaGVyaXQ7Ym9yZGVyOjFweCBzb2xpZCAjYmJiO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlIj48aW5wdXQgaWQ9InJzUm9vbXMiIHR5cGU9Im51bWJlciIgbWluPSIxIiBtYXg9IjEyIiBwbGFjZWhvbGRlcj0iTnVtYmVyIG9mIHJvb21zIiBzdHlsZT0icGFkZGluZzoxMHB4O2ZvbnQ6aW5oZXJpdDtib3JkZXI6MXB4IHNvbGlkICNiYmI7Ym9yZGVyLXJhZGl1czo2cHg7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCUiPjxpbnB1dCBpZD0icnNSZWYiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJCb29raW5nIHJlZmVyZW5jZSAoaWYgYW55KSIgc3R5bGU9InBhZGRpbmc6MTBweDtmb250OmluaGVyaXQ7Ym9yZGVyOjFweCBzb2xpZCAjYmJiO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlIj48bGFiZWwgc3R5bGU9ImZvbnQtc2l6ZToxNHB4Ij5DdXJyZW50IGFycml2YWwgZGF0ZTxpbnB1dCBpZD0icnNPbGQiIHR5cGU9ImRhdGUiIHN0eWxlPSJwYWRkaW5nOjEwcHg7Zm9udDppbmhlcml0O2JvcmRlcjoxcHggc29saWQgI2JiYjtib3JkZXItcmFkaXVzOjZweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJSI+PC9sYWJlbD48bGFiZWwgc3R5bGU9ImZvbnQtc2l6ZToxNHB4Ij5OZXcgY2hlY2staW4gZGF0ZTxpbnB1dCBpZD0icnNJbiIgdHlwZT0iZGF0ZSIgc3R5bGU9InBhZGRpbmc6MTBweDtmb250OmluaGVyaXQ7Ym9yZGVyOjFweCBzb2xpZCAjYmJiO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlIj48L2xhYmVsPjxsYWJlbCBzdHlsZT0iZm9udC1zaXplOjE0cHgiPk5ldyBjaGVjay1vdXQgZGF0ZTxpbnB1dCBpZD0icnNPdXQiIHR5cGU9ImRhdGUiIHN0eWxlPSJwYWRkaW5nOjEwcHg7Zm9udDppbmhlcml0O2JvcmRlcjoxcHggc29saWQgI2JiYjtib3JkZXItcmFkaXVzOjZweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJSI+PC9sYWJlbD48YnV0dG9uIGlkPSJyc0J0biIgdHlwZT0iYnV0dG9uIiBzdHlsZT0icGFkZGluZzoxMnB4O2ZvbnQ6aW5oZXJpdDtmb250LXdlaWdodDpib2xkO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6NnB4O2JhY2tncm91bmQ6IzI1RDM2Njtjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyIj5TZW5kIG9uIFdoYXRzQXBwPC9idXR0b24+PGRpdiBpZD0icnNNc2ciIHJvbGU9ImFsZXJ0IiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6I2IwMDAyMCI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5XaGF0IElEIHByb29mIGRvIEkgbmVlZCB0byBicmluZz88L3N1bW1hcnk+PHA+QWxsIGd1ZXN0cyBtdXN0IGNhcnJ5IGEgdmFsaWQgZ292ZXJubWVudCBwaG90byBJRCBhdCBjaGVjay1pbiDigJQgQWFkaGFyIGNhcmQsIFZvdGVyIElEIG9yIERyaXZpbmcgTGljZW5jZS4gVGhpcyBhcHBsaWVzIHRvIG1hcnJpZWQgYW5kIHVubWFycmllZCBjb3VwbGVzIGFsaWtlLCBhbmQgYWxsIGd1ZXN0cyBtdXN0IGJlIDE4IHllYXJzIG9yIG9sZGVyLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PkhvdyBtYW55IHJvb21zIGRvZXMgdGhlIHJlc29ydCBoYXZlPzwvc3VtbWFyeT48cD5OYXJvIEVjbyBSZXNvcnQgaGFzIDEwIHJvb21zIGluIHRvdGFsIOKAlCAxMSBEb3VibGUgT2NjdXBhbmN5IFJvb21zIGFuZCAxIEZhbWlseSBSb29tIHdpdGggNCBiZWRzLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PklzIFdpLUZpIGF2YWlsYWJsZT88L3N1bW1hcnk+PHA+WWVzLCBXaS1GaSBpcyBhdmFpbGFibGUgYWxsIGRheSBhY3Jvc3MgdGhlIHByb3BlcnR5LjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PldoYXQgYWN0aXZpdGllcyBjYW4gSSBkbyBhdCB0aGUgcmVzb3J0Pzwvc3VtbWFyeT48cD5Gb3Jlc3QgcGF0aHMgYW5kIHNob3J0IHRyZWtzIGJlZ2luIGNsb3NlIHRvIHRoZSByb29tcyDigJQgYXNrIHRoZSBmcm9udCBkZXNrIGZvciBhIGd1aWRlLiBZb3UgY2FuIGFsc28gd2FsayB0aHJvdWdoIG91ciBvcmdhbmljIHZlZ2V0YWJsZSBnYXJkZW4sIHdoZXJlIG11Y2ggb2YgdGhlIGtpdGNoZW4ncyBwcm9kdWNlIGlzIGdyb3duLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PldoYXQgaXMgeW91ciBHb29nbGUgcmF0aW5nPzwvc3VtbWFyeT48cD5OYXJvIEVjbyBSZXNvcnQgYW5kIFNwYSBpcyByYXRlZCA0LjMgb3V0IG9mIDUgZnJvbSA1MzQgR29vZ2xlIHJldmlld3MuPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+V2hhdCBhcmUgbmVhcmJ5IGF0dHJhY3Rpb25zIEkgY2FuIHZpc2l0Pzwvc3VtbWFyeT48cD5Bc2hva2EgUm9jayBFZGljdHMgYXQgS2Fsc2kgKDYga20pLCBEYWtwYXRoYXIgQmFycmFnZSAoOCBrbSksIGFuZCBBc2FuIEJhcnJhZ2UgZm9yIGJvYXRpbmcgYW5kIGJpcmR3YXRjaGluZyAoMjUga20pLiBNYWhhc3UsIEJoYWRyYWosIEJoYWRyYSBLYWxpIGFuZCBTd2F5YW1iaHUgU2hpdmEgdGVtcGxlcyBhcmUgYWxzbyBuZWFyYnkuPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+SG93IGRvIEkgcGF5IGZvciBteSBib29raW5nPzwvc3VtbWFyeT48cD5Zb3UgY2FuIHBheSBzZWN1cmVseSBvbmxpbmUgd2l0aCBVUEksIGNhcmQgb3IgbmV0IGJhbmtpbmcgd2hlbiB5b3UgYm9vay48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5DYW4gSSBnZXQgZm9vZCBkZWxpdmVyZWQ\/PC9zdW1tYXJ5PjxwPk5hcm8gUmVzdGF1cmFudCBzZXJ2ZXMgcHVyZSB2ZWdldGFyaWFuIGZvb2Qgb24gc2l0ZSwgYW5kIGZvb2QgZGVsaXZlcnkgaXMgYXZhaWxhYmxlIHdpdGhpbiAxNSBrbS48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5XaGF0IGFyZSB0aGUgY2hlY2staW4gYW5kIGNoZWNrLW91dCB0aW1lcz88L3N1bW1hcnk+PHA+Q2hlY2stb3V0IGlzIGF0IDExIGFtLCBzbyBjaGVjay1pbiBpcyBmcm9tIDExIGFtLiBJZiByb29tcyBhcmUgdmFjYW50LCBlYXJseSBjaGVjay1pbiBmcm9tIDkgYW0gaXMgcG9zc2libGUgYXQgbm8gZXh0cmEgY2hhcmdlLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PkNhbiB5b3UgYXJyYW5nZSBhIHRheGksIHBpY2t1cCBvciBkcm9wPzwvc3VtbWFyeT48cD5ZZXMuIFRheGkgZW5xdWlyaWVzIGFyZSBoYW5kbGVkIGJ5IG91ciB0ZWFtIGRpcmVjdGx5LiBUYXAgPGEgaHJlZj0iIyIgY2xhc3M9Im9wZW5UYXdrIj5DaGF0IHdpdGggb3VyIHRlYW08L2E+IGFuZCBzaGFyZSB5b3VyIHBpY2t1cCBwb2ludCwgZGF0ZSBhbmQgdGltZS48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5JcyBmb29kIGF2YWlsYWJsZSBhdCB0aGUgcmVzb3J0Pzwvc3VtbWFyeT48cD5ZZXMuIE5hcm8gUmVzdGF1cmFudCBzZXJ2ZXMgcHVyZSB2ZWdldGFyaWFuIGZvb2Qgb24gc2l0ZSwgd2l0aCBkZWxpdmVyeSB3aXRoaW4gMTUga20uIEZvciBmb29kIGFuZCByb29tIHNlcnZpY2UsIGNhbGwgOTQ1ODEgMzk5MTEgb3IgOTQ1ODEgMzk5MzMuIFJlc3RhdXJhbnQgYmlsbHMgY2FycnkgNSUgR1NULjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PldoYXQgY2FuIEkgc2VlIGFyb3VuZCB0aGUgcmVzb3J0Pzwvc3VtbWFyeT48cD5KYWdhdGdyYW0sIHRoZSBLYWxzaSByb2NrIGVkaWN0LCBEYWtwYXRoYXIgYW5kIEFzYW4gYmFycmFnZXMgYXJlIGNsb3NlIGJ5LCBhbmQgQ2hha3JhdGEsIE11c3Nvb3JpZSwgUmlzaGlrZXNoLCBSZW51a2EgSmhlZWwsIEphbWFkYWduaSB0ZW1wbGUgYW5kIHRoZSBOYWhhbiBGb3NzaWwgUGFyayBtYWtlIGdvb2QgZGF5IHRyaXBzLiBBc2sgPGEgaHJlZj0iIyIgY2xhc3M9ImFza1N1cnlhIj5OYXJvIFN1cnlhPC9hPiBhYm91dCBhbnkgcGxhY2UgYW5kIGhlIHdpbGwgdGVsbCB5b3Ugd2hhdCBtYWtlcyBpdCBzcGVjaWFsLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PkkgaGF2ZSBhIGRpZmZlcmVudCBxdWVzdGlvbi4gV2hvIGRvIEkgYXNrPzwvc3VtbWFyeT48cD5Bc2sgPGEgaHJlZj0iIyIgY2xhc3M9ImFza1N1cnlhIj5OYXJvIFN1cnlhPC9hPiwgb3VyIGd1aWRlIGF0IHRoZSBib3R0b20gbGVmdCBvZiBldmVyeSBwYWdlLiBIZSBrbm93cyBvdXIgcm9vbXMsIHJhdGVzLCBmdWxsIHJlc3RhdXJhbnQgbWVudSwgcGFydHkgcGFja2FnZXMgYW5kIG5lYXJieSBwbGFjZXMuIEZvciBhbnl0aGluZyB1bnVzdWFsLCBoZSBjb25uZWN0cyB5b3UgdG8gb3VyIHRlYW0gb24gbGl2ZSBjaGF0LjwvcD48L2RldGFpbHM+CiAgICA8L2Rpdj48ZGl2IGNsYXNzPSJmYXEiIGlkPSJmYXFIaSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCkruCksOCli+CkgiDgpJXgpL4g4KSV4KS\/4KSw4KS+4KSv4KS+IOCkleCljeCkr+CkviDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkoeCkrOCksiDgpLDgpYLgpK4g4KSV4KWAIOCkleClgOCkruCkpCDigrkyLDUwMCDgpKrgpY3gpLDgpKTgpL8g4KSw4KS+4KSk4KWN4KSw4KS\/IOCkueCliCDgpJTgpLAgNC3gpKzgpYfgpKEg4KS14KS+4KSy4KWHIOCkq+CliOCkruCkv+CksuClgCDgpLDgpYLgpK4g4KSV4KWAIOCkleClgOCkruCkpCDigrk0LDAwMCDgpKrgpY3gpLDgpKTgpL8g4KSw4KS+4KSk4KWN4KSw4KS\/IOCkueCliOClpCDgpI\/gpJUg4KSF4KSk4KS\/4KSw4KS\/4KSV4KWN4KSkIOCkrOCkv+CkuOCljeCkpOCksCDgpJXgpYcg4KSy4KS\/4KSPIOKCuTUwMCDgpKrgpY3gpLDgpKTgpL8g4KSw4KS+4KSk4KWN4KSw4KS\/IOCktuClgeCksuCljeCklSDgpLngpYgsIOCklOCksCA5IOCkteCksOCljeCktyDgpLjgpYcg4KSV4KSuIOCkieCkruCljeCksCDgpJXgpYcg4KSs4KSa4KWN4KSa4KWHIOCkruClgeCkq+CljeCkpCDgpLDgpLngpKTgpYcg4KS54KWI4KSC4KWkIOCkleCkv+CksOCkvuCkjyDgpKrgpLAgNSUg4KSc4KWA4KSP4KS44KSf4KWAIOCkheCksuCklyDgpLjgpYcg4KSy4KSX4KSk4KS+IOCkueCliOClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpJXgpL\/gpLDgpL7gpI8g4KSq4KSwIOCknOClgOCkj+CkuOCkn+ClgCDgpLLgpJfgpKTgpL4g4KS54KWIPzwvc3VtbWFyeT48cD7gpLngpL7gpIEsIOCkrOCkpOCkvuCkjyDgpJfgpI8g4KSV4KS\/4KSw4KS+4KSPIOCkquCksCA1JSDgpJzgpYDgpI\/gpLjgpJ\/gpYAg4KSF4KSy4KSXIOCkuOClhyDgpJzgpYHgpKHgpLzgpKTgpL4g4KS54KWI4KWkIOCkrOClgeCkleCkv+CkguCklyDgpLjgpL7gpLDgpL7gpILgpLYg4KSu4KWH4KSCIOCkleCkruCksOClhyDgpJXgpL4g4KS24KWB4KSy4KWN4KSVLCDgpLjgpYDgpJzgpYDgpI\/gpLjgpJ\/gpYAsIOCkj+CkuOCknOClgOCkj+CkuOCkn+ClgCDgpJTgpLAg4KSF4KSC4KSk4KS\/4KSuIOCkleClgeCksiDgpLDgpL7gpLbgpL8g4KSm4KS\/4KSW4KS+4KSIIOCknOCkvuCkpOClgCDgpLngpYjgpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpJXgpY3gpK\/gpL4g4KSo4KS+4KS24KWN4KSk4KS+IOCktuCkvuCkruCkv+CksiDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkqOCkueClgOCkgiwg4KSV4KSu4KSw4KWHIOCkleClhyDgpJXgpL\/gpLDgpL7gpI8g4KSu4KWH4KSCIOCkqOCkvuCktuCljeCkpOCkviDgpLbgpL7gpK7gpL\/gpLIg4KSo4KS54KWA4KSCIOCkueCliOClpCDgpKjgpL7gpLDgpYsg4KSw4KWH4KS44KWN4KSf4KWL4KSw4KWH4KSC4KSfIOCkquCksOCkv+CkuOCksCDgpK7gpYfgpIIg4KS54KWAIOCkueCliCDgpJTgpLAg4KS24KWB4KSm4KWN4KSnIOCktuCkvuCkleCkvuCkueCkvuCksOClgCDgpK3gpYvgpJzgpKgg4KSq4KSw4KWL4KS44KSk4KS+IOCkueCliOClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpLDgpL\/gpJzgpLzgpYngpLDgpY3gpJ8g4KSV4KSq4KSyIOCkq+CljeCksOClh+CkguCkoeCksuClgCDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkueCkvuCkgeClpCDgpIXgpLXgpL\/gpLXgpL7gpLngpL\/gpKQg4KSc4KWL4KSh4KS84KWL4KSCIOCkleCkviDgpKjgpL7gpLDgpYsg4KSH4KSV4KWLIOCksOCkv+CknOCkvOClieCksOCljeCknyDgpK7gpYfgpIIg4KS44KWN4KS14KS+4KSX4KSkIOCkueCliOClpCDgpK3gpL7gpLDgpKTgpYDgpK8g4KSV4KS+4KSo4KWC4KSoIOCkleClhyDgpIXgpKjgpYHgpLjgpL7gpLAsIOCkuOCkreClgCDgpK7gpYfgpLngpK7gpL7gpKjgpYvgpIIg4KSV4KWAIOCkhuCkr+ClgSAxOCDgpLXgpLDgpY3gpLcg4KSv4KS+IOCkieCkuOCkuOClhyDgpIXgpKfgpL\/gpJUg4KS54KWL4KSo4KWAIOCkmuCkvuCkueCkv+CkjyDigJQg4KSs4KS\/4KSo4KS+IOCkleCkv+CkuOClgCDgpLXgpK\/gpLjgpY3gpJUg4KSV4KWHIOCkuOCkvuCkpSDgpKjgpL7gpKzgpL7gpLLgpL\/gpJcg4KSc4KWL4KSh4KS84KWL4KSCIOCkleCliyDgpJXgpK7gpLDgpL4g4KSo4KS54KWA4KSCIOCkpuCkv+Ckr+CkviDgpJzgpL7gpI\/gpJfgpL7gpaQg4KSa4KWH4KSVLeCkh+CkqCDgpJXgpYcg4KS44KSu4KSvIOCkpuCli+CkqOCli+CkgiDgpK7gpYfgpLngpK7gpL7gpKjgpYvgpIIg4KSV4KWLIOCkteCliOCkpyDgpLjgpLDgpJXgpL7gpLDgpYAg4KSr4KWL4KSf4KWLIOCkquCkueCkmuCkvuCkqCDgpKrgpKTgpY3gpLAgKOCkhuCkp+CkvuCksCDgpJXgpL7gpLDgpY3gpKEsIOCkteCli+Ckn+CksCDgpIbgpIjgpKHgpYAg4KSv4KS+IOCkoeCljeCksOCkvuCkh+CkteCkv+CkguCklyDgpLLgpL7gpIfgpLjgpYfgpILgpLgpIOCkuOCkvuCkpSDgpLLgpL7gpKjgpL4g4KSF4KSo4KS\/4KS14KS+4KSw4KWN4KSvIOCkueCliOClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpJXgpK7gpLDgpYvgpIIg4KSu4KWH4KSCIOCkj+Ckr+CksCDgpJXgpILgpKHgpYDgpLbgpKjgpL\/gpILgpJcg4KS54KWIPzwvc3VtbWFyeT48cD7gpLngpLAg4KSV4KSu4KSw4KWHIOCkruClh+CkgiDgpKHgpYfgpJzgpLzgpLDgpY3gpJ8g4KSV4KWC4KSy4KSwIOCkueCliOClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpLjgpY3gpLXgpL\/gpK7gpL\/gpILgpJcg4KSq4KWC4KSyIOCkluClgeCksuCkviDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkheCkreClgCDgpKjgpLngpYDgpILgpaQg4KSq4KWC4KSyIOCknOCksuCljeCkpiDgpLngpYAg4KS24KWB4KSw4KWCIOCkleCkv+Ckr+CkviDgpJzgpL7gpI\/gpJfgpL7gpaQg4KSW4KWB4KSy4KSo4KWHIOCkleClgCDgpKTgpL7gpLDgpYDgpJYg4KSV4KWHIOCksuCkv+CkjyDgpLngpK7gpLjgpYcg4KSq4KWC4KSb4KWH4KSC4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSV4KWN4KSv4KS+IOCkhuCkqiDgpKjgpYngpKgt4KS14KWH4KScIOCkluCkvuCkqOCkviDgpKrgpLDgpYvgpLjgpKTgpYcg4KS54KWI4KSCPzwvc3VtbWFyeT48cD7gpKjgpLngpYDgpIIsIOCksOClh+CkuOCljeCkn+Cli+CksOClh+CkguCknyDgpKrgpYLgpLDgpYAg4KSk4KSw4KS5IOCktuCkvuCkleCkvuCkueCkvuCksOClgCDgpLngpYjgpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpKbgpYfgpLngpLDgpL7gpKbgpYLgpKgg4KS44KWHIOCkhuCkqiDgpJXgpL\/gpKTgpKjgpYAg4KSm4KWC4KSwIOCkueCliOCkgj88L3N1bW1hcnk+PHA+4KS54KSuIOCkr+CkruClgeCkqOCli+CkpOCljeCksOClgCDgpLngpL7gpIjgpLXgpYcg4KSq4KSwIOCkteCkv+CkleCkvuCkuOCkqOCkl+CksCDgpJXgpYcg4KSq4KS+4KS4LCDgpKbgpYfgpLngpLDgpL7gpKbgpYLgpKgg4KS44KWHIDQ1IOCkleCkv+CkruClgCDgpKbgpYLgpLAg4KS54KWI4KSC4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSV4KWN4KSv4KS+IOCkquCkvuCksOCljeCkleCkv+CkguCklyDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkueCkvuCkgSwg4KSq4KS+4KSw4KWN4KSV4KS\/4KSC4KSXIOCkruClgeCkq+CljeCkpCDgpLngpYgg4KSU4KSwIOCkh+CkuOCkruClh+CkgiA1MCDgpLjgpYcg4KSF4KSn4KS\/4KSVIOCkteCkvuCkueCkqCDgpIYg4KS44KSV4KSk4KWHIOCkueCliOCkguClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpK7gpYjgpIIg4KS24KS+4KSm4KWAIOCkr+CkviDgpIfgpLXgpYfgpILgpJ8g4KS54KWL4KS44KWN4KSfIOCkleCksCDgpLjgpJXgpKTgpL4v4KS44KSV4KSk4KWAIOCkueClguCkgT88L3N1bW1hcnk+PHA+4KS54KS+4KSBLCDgpLngpK4g4KSh4KWH4KS44KWN4KSf4KS\/4KSo4KWH4KS24KSoIOCkteClh+CkoeCkv+CkguCklywg4KSc4KSo4KWN4KSu4KSm4KS\/4KSoIOCklOCksCDgpJXgpL\/gpJ\/gpYAg4KSq4KS+4KSw4KWN4KSf4KWAIOCkueCli+CkuOCljeCknyDgpJXgpLDgpKTgpYcg4KS54KWI4KSCLCDgpJTgpLAg4KS54KSu4KS+4KSw4KWHIOCkquCkvuCkuCA0MCB4IDQwIOCkq+ClgOCknyDgpJXgpL4g4KSV4KWJ4KSo4KWN4KSr4KWN4KSw4KWH4KSC4KS4IOCkueClieCksiDgpLngpYjgpaQg4KSF4KSq4KSo4KWAIOCkpOCkvuCksOClgOCkluCli+CkgiDgpJXgpYcg4KS44KS+4KSlIOCkrOClgeCkleCkv+CkguCklyDgpKvgpYngpLDgpY3gpK4g4KSt4KWH4KSc4KWH4KSCIOCklOCksCDgpLngpK7gpL7gpLDgpYAg4KSf4KWA4KSuIOCkieCkquCksuCkrOCljeCkp+CkpOCkviDgpJTgpLAg4KSV4KWL4KSf4KWH4KS24KSoIOCkleClgCDgpKrgpYHgpLfgpY3gpJ\/gpL8g4KSV4KSw4KWH4KSX4KWA4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSa4KWH4KSVLeCkh+CkqCDgpJXgpYjgpLjgpYcg4KSV4KS+4KSuIOCkleCksOCkpOCkviDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkkeCkqOCksuCkvuCkh+CkqCDgpKzgpYHgpJUg4KSV4KSw4KWH4KSCIOCklOCksCDgpIXgpKrgpKjgpYAg4KSc4KS+4KSo4KSV4KS+4KSw4KWALCDgpIbgpJfgpK7gpKgg4KSV4KS+IOCkuOCkruCkryDgpJTgpLAg4KS14KS+4KS54KSoIOCkqOCkguCkrOCksCDgpJzgpYvgpKHgpLzgpYfgpILgpaQg4KSG4KSq4KSV4KWLIOCkj+CklSDgpJrgpYfgpJUt4KSH4KSoIOCkquCkvuCkuCDgpK7gpL\/gpLLgpYfgpJfgpL4sIOCknOCkv+CkuOCkuOClhyDgpLDgpL\/gpLjgpYfgpKrgpY3gpLbgpKgg4KSV4KWLIOCkleClh+CkteCksiDgpIbgpKrgpJXgpYsg4KSa4KS+4KSs4KWAIOCkpuClh+CkqOClgCDgpLngpYvgpJfgpYDgpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpJXgpY3gpK\/gpL4g4KSP4KSh4KS14KS+4KSC4KS4IOCkreClgeCkl+CkpOCkvuCkqCDgpJzgpLzgpLDgpYLgpLDgpYAg4KS54KWIPzwvc3VtbWFyeT48cD7gpLngpL7gpIHgpaQg4KSs4KWB4KSV4KS\/4KSC4KSXIOCkquCkleCljeCkleClgCDgpJXgpLDgpKjgpYcg4KSV4KWHIOCksuCkv+CkjyDgpKrgpYLgpLDgpL4g4KSt4KWB4KSX4KSk4KS+4KSoIOCkj+CkoeCkteCkvuCkguCkuCDgpK7gpYfgpIIg4KSy4KS\/4KSv4KS+IOCknOCkvuCkpOCkviDgpLngpYjgpaQg4KSv4KWL4KSc4KSo4KS+IOCkrOCkpuCksuCkqOClhyDgpKrgpLAg4KSq4KWN4KSw4KSk4KS\/IOCkleCkruCksOCkviDigrkxLDAwMCDgpLbgpYHgpLLgpY3gpJUg4KSm4KWH4KSV4KSwIOCklOCksCDgpIbgpJfgpK7gpKgg4KS44KWHIOCkleCkriDgpLjgpYcg4KSV4KSuIDMg4KSm4KS\/4KSoIOCkquCkueCksuClhyBXaGF0c0FwcCAoKzkxIDcwMTc3IDE0Mzg1KSDgpKrgpLAg4KS44KWC4KSa4KSo4KS+IOCkpuClh+CkleCksCDgpIbgpKog4KSF4KSq4KSo4KS+IOCkoOCkueCksOCkvuCktSDgpIbgpJfgpYct4KSq4KWA4KSb4KWHIOCkleCksCDgpLjgpJXgpKTgpYcg4KS54KWI4KSC4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSV4KWN4KSv4KS+IOCkruCliOCkgiDgpIXgpKrgpKjgpYAg4KSs4KWB4KSV4KS\/4KSC4KSXIOCkleClgCDgpKTgpL7gpLDgpYDgpJYg4KSs4KSm4KSyIOCkuOCkleCkpOCkvi\/gpLjgpJXgpKTgpYAg4KS54KWC4KSBPzwvc3VtbWFyeT48cD7gpK\/gpKbgpL8g4KSG4KSqIOCkquClguCksOCkviDgpK3gpYHgpJfgpKTgpL7gpKgg4KSV4KSw4KSk4KWHIOCkueCliOCkgiwg4KSk4KWLIOCkr+Cli+CknOCkqOCkviDgpKzgpKbgpLLgpKjgpYcg4KSq4KSwIOCkquCljeCksOCkpOCkvyDgpJXgpK7gpLDgpL4g4oK5MSwwMDAg4KSV4KWHIOCkrOCkpuCksuCkvuCktSDgpLbgpYHgpLLgpY3gpJUg4KSU4KSwIOCkhuCkl+CkruCkqCDgpLjgpYcg4KSV4KSuIOCkuOClhyDgpJXgpK4gMyDgpKbgpL\/gpKgg4KSq4KS54KSy4KWHIFdoYXRzQXBwICgrOTEgNzAxNzcgMTQzODUpIOCkquCksCDgpLjgpYLgpJrgpKjgpL4g4KSV4KWHIOCkuOCkvuCkpSwg4KSJ4KSq4KSy4KSs4KWN4KSn4KSk4KS+IOCkleClhyDgpIXgpKjgpYHgpLjgpL7gpLAsIOCkhuCkqiDgpKTgpL7gpLDgpYDgpJYg4KSs4KSm4KSyIOCkuOCkleCkpOClhyDgpLngpYjgpILgpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpJrgpYfgpJUt4KSH4KSoIOCkleClhyDgpLLgpL\/gpI8g4KSV4KWM4KSoIOCkuOCkviDgpKrgpLngpJrgpL7gpKgg4KSq4KSk4KWN4KSwIOCkmuCkvuCkueCkv+Ckjz88L3N1bW1hcnk+PHA+4KS44KSt4KWAIOCkruClh+CkueCkruCkvuCkqOCli+CkgiDgpJXgpYsg4KSa4KWH4KSVLeCkh+CkqCDgpJXgpYcg4KS44KSu4KSvIOCkj+CklSDgpLXgpYjgpKcg4KS44KSw4KSV4KS+4KSw4KWAIOCkq+Cli+Ckn+CliyDgpKrgpLngpJrgpL7gpKgg4KSq4KSk4KWN4KSwIOCksuCkvuCkqOCkviDgpIXgpKjgpL\/gpLXgpL7gpLDgpY3gpK8g4KS54KWIIOKAlCDgpIbgpKfgpL7gpLAg4KSV4KS+4KSw4KWN4KShLCDgpLXgpYvgpJ\/gpLAg4KSG4KSI4KSh4KWAIOCkr+CkviDgpKHgpY3gpLDgpL7gpIfgpLXgpL\/gpILgpJcg4KSy4KS+4KSH4KS44KWH4KSC4KS44KWkIOCkr+CkuSDgpKjgpL\/gpK\/gpK4g4KS14KS\/4KS14KS+4KS54KS\/4KSkIOCklOCksCDgpIXgpLXgpL\/gpLXgpL7gpLngpL\/gpKQsIOCkpuCli+CkqOCli+CkgiDgpKTgpLDgpLkg4KSV4KWHIOCknOCli+CkoeCkvOCli+CkgiDgpKrgpLAg4KSy4KS+4KSX4KWCIOCkueCli+CkpOCkviDgpLngpYgsIOCklOCksCDgpLjgpK3gpYAg4KSu4KWH4KS54KSu4KS+4KSo4KWL4KSCIOCkleClgCDgpIbgpK\/gpYEgMTgg4KS14KSw4KWN4KS3IOCkr+CkviDgpIngpLjgpLjgpYcg4KSF4KSn4KS\/4KSVIOCkueCli+CkqOClgCDgpJrgpL7gpLngpL\/gpI\/gpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpLDgpL\/gpJzgpLzgpYngpLDgpY3gpJ8g4KSu4KWH4KSCIOCkleClgeCksiDgpJXgpL\/gpKTgpKjgpYcg4KSV4KSu4KSw4KWHIOCkueCliOCkgj88L3N1bW1hcnk+PHA+4KSo4KS+4KSw4KWLIOCkh+CkleCliyDgpLDgpL\/gpJzgpLzgpYngpLDgpY3gpJ8g4KSu4KWH4KSCIOCkleClgeCksiAxMCDgpJXgpK7gpLDgpYcg4KS54KWI4KSCIOKAlCA5IOCkoeCkrOCksiDgpJHgpJXgpY3gpK\/gpYLgpKrgpYfgpILgpLjgpYAg4KSw4KWC4KSuIOCklOCksCAxIOCkq+CliOCkruCkv+CksuClgCDgpLDgpYLgpK4gKDQg4KSs4KS\/4KS44KWN4KSk4KSwIOCkteCkvuCksuCkvingpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpJXgpY3gpK\/gpL4g4KS14KS+4KSILeCkq+CkvuCkiCDgpIngpKrgpLLgpKzgpY3gpKcg4KS54KWIPzwvc3VtbWFyeT48cD7gpLngpL7gpIEsIOCkquClguCksOClhyDgpKbgpL\/gpKgg4KSq4KWC4KSw4KWHIOCkquCksOCkv+CkuOCksCDgpK7gpYfgpIIg4KS14KS+4KSILeCkq+CkvuCkiCDgpIngpKrgpLLgpKzgpY3gpKcg4KS54KWI4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSw4KS\/4KSc4KS84KWJ4KSw4KWN4KSfIOCkruClh+CkgiDgpJXgpY3gpK\/gpL4g4KSX4KSk4KS\/4KS14KS\/4KSn4KS\/4KSv4KS+4KSBIOCkleCksCDgpLjgpJXgpKTgpYcg4KS54KWI4KSCPzwvc3VtbWFyeT48cD7gpJXgpK7gpLDgpYvgpIIg4KSV4KWHIOCkquCkvuCkuCDgpLngpYAg4KSc4KSC4KSX4KSyIOCkleClhyDgpLDgpL7gpLjgpY3gpKTgpYcg4KSU4KSwIOCkm+Cli+Ckn+ClgCDgpJ\/gpY3gpLDgpYfgpJXgpL\/gpILgpJcg4KS24KWB4KSw4KWCIOCkueCli+CkpOClgCDgpLngpYgg4oCUIOCkl+CkvuCkh+CkoSDgpJXgpYcg4KSy4KS\/4KSPIOCkq+CljeCksOCkguCknyDgpKHgpYfgpLjgpY3gpJUg4KS44KWHIOCkquClguCkm+Clh+CkguClpCDgpIbgpKog4KS54KSu4KS+4KSw4KWHIOCkkeCksOCljeCkl+Clh+CkqOCkv+CklSDgpLjgpKzgpY3gpJzgpLzgpYAg4KSs4KSX4KWA4KSa4KWHIOCkruClh+CkgiDgpK3gpYAg4KSY4KWC4KSuIOCkuOCkleCkpOClhyDgpLngpYjgpIIsIOCknOCkueCkvuCkgSDgpLjgpYcg4KSw4KS44KWL4KSIIOCkleClgCDgpIXgpKfgpL\/gpJXgpKTgpLAg4KS44KSs4KWN4KSc4KS84KS\/4KSv4KS+4KSBIOCkhuCkpOClgCDgpLngpYjgpILgpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpIbgpKrgpJXgpYAg4KSX4KWC4KSX4KSyIOCksOClh+Ckn+Ckv+CkguCklyDgpJXgpY3gpK\/gpL4g4KS54KWIPzwvc3VtbWFyeT48cD7gpKjgpL7gpLDgpYsg4KSH4KSV4KWLIOCksOCkv+CknOCkvOClieCksOCljeCknyDgpI\/gpILgpKEg4KS44KWN4KSq4KS+IOCkleCliyDgpJfgpYLgpJfgpLIg4KSq4KSwIDUzNCDgpLjgpK7gpYDgpJXgpY3gpLfgpL7gpJPgpIIg4KSV4KWHIOCkhuCkp+CkvuCksCDgpKrgpLAgNSDgpK7gpYfgpIIg4KS44KWHIDQuMyDgpLDgpYfgpJ\/gpL\/gpILgpJcg4KSu4KS\/4KSy4KWAIOCkueCliOClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkhuCkuC3gpKrgpL7gpLgg4KSY4KWC4KSu4KSo4KWHIOCkleClgCDgpJXgpYzgpKgg4KS44KWAIOCknOCkl+CkueClh+CkgiDgpLngpYjgpII\/PC9zdW1tYXJ5PjxwPuCkleCkvuCksuCkuOClgCDgpK7gpYfgpIIg4KSF4KS24KWL4KSVIOCktuCkv+CksuCkvuCksuClh+CkliAoNiDgpJXgpL\/gpK7gpYApLCDgpKHgpL7gpJXgpKrgpKTgpY3gpKXgpLAg4KSs4KWI4KSw4KS+4KScICg4IOCkleCkv+CkruClgCksIOCklOCksCDgpKjgpYzgpJXgpL7gpK\/gpKgg4KS1IOCkquCkleCljeCkt+ClgCDgpKbgpLDgpY3gpLbgpKgg4KSV4KWHIOCksuCkv+CkjyDgpIbgpLjgpKgg4KSs4KWI4KSw4KS+4KScICgyNSDgpJXgpL\/gpK7gpYAp4KWkIOCkruCkueCkvuCkuOClgiwg4KSt4KSm4KWN4KSw4KS+4KScLCDgpK3gpKbgpY3gpLDgpJXgpL7gpLLgpYAg4KSU4KSwIOCkuOCljeCkteCkr+CkguCkreClgiDgpLbgpL\/gpLUg4KSu4KSC4KSm4KS\/4KSwIOCkreClgCDgpKrgpL7gpLgg4KSu4KWH4KSCIOCkueCliOCkguClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkruCliOCkgiDgpIXgpKrgpKjgpYAg4KSs4KWB4KSV4KS\/4KSC4KSXIOCkleCkviDgpK3gpYHgpJfgpKTgpL7gpKgg4KSV4KWI4KS44KWHIOCkleCksOClguCkgT88L3N1bW1hcnk+PHA+4KSs4KWB4KSV4KS\/4KSC4KSXIOCkleCksOCkpOClhyDgpLjgpK7gpK8g4KSG4KSqIOCkr+ClguCkquClgOCkhuCkiCwg4KSV4KS+4KSw4KWN4KShIOCkr+CkviDgpKjgpYfgpJ8g4KSs4KWI4KSC4KSV4KS\/4KSC4KSXIOCkuOClhyDgpLjgpYHgpLDgpJXgpY3gpLfgpL\/gpKQg4KSR4KSo4KSy4KS+4KSH4KSoIOCkreClgeCkl+CkpOCkvuCkqCDgpJXgpLAg4KS44KSV4KSk4KWHIOCkueCliOCkguClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpK7gpYHgpJ3gpYcg4KSW4KS+4KSo4KS+IOCkruCkv+CksiDgpLjgpJXgpKTgpL4g4KS54KWIPzwvc3VtbWFyeT48cD7gpKjgpL7gpLDgpYsg4KSw4KWH4KS44KWN4KSf4KWL4KSw4KWH4KSC4KSfIOCkquCksOCkv+CkuOCksCDgpK7gpYfgpIIg4KS24KWB4KSm4KWN4KSnIOCktuCkvuCkleCkvuCkueCkvuCksOClgCDgpK3gpYvgpJzgpKgg4KSq4KSw4KWL4KS44KSk4KS+IOCkueCliCwg4KSU4KSwIDE1IOCkleCkv+CkruClgCDgpJXgpYcg4KSm4KS+4KSv4KSw4KWHIOCkruClh+CkgiDgpKvgpYLgpKEg4KSh4KS\/4KSy4KWA4KS14KSw4KWAIOCkreClgCDgpIngpKrgpLLgpKzgpY3gpKcg4KS54KWI4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSa4KWH4KSVLeCkh+CkqCDgpJTgpLAg4KSa4KWH4KSVLeCkhuCkieCknyDgpJXgpL4g4KS44KSu4KSvIOCkleCljeCkr+CkviDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkmuClh+CklS3gpIbgpIngpJ8g4KS44KWB4KSs4KS5IDExIOCkrOCknOClhyDgpLngpYgsIOCkh+CkuOCksuCkv+CkjyDgpJrgpYfgpJUt4KSH4KSoIOCkuOClgeCkrOCkuSAxMSDgpKzgpJzgpYcg4KS44KWHIOCkueCli+CkpOCkviDgpLngpYjgpaQg4KSV4KSu4KSw4KWHIOCkluCkvuCksuClgCDgpLngpYvgpIIg4KSk4KWLIOCkuOClgeCkrOCkuSA5IOCkrOCknOClhyDgpLjgpYcg4KSF4KSw4KWN4KSy4KWAIOCkmuClh+CklS3gpIfgpKgg4KSs4KS\/4KSo4KS+IOCkleCkv+CkuOClgCDgpIXgpKTgpL\/gpLDgpL\/gpJXgpY3gpKQg4KS24KWB4KSy4KWN4KSVIOCkleClhyDgpLjgpILgpK3gpLUg4KS54KWI4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSV4KWN4KSv4KS+IOCkhuCkqiDgpJ\/gpYjgpJXgpY3gpLjgpYAsIOCkquCkv+CkleCkheCkqiDgpK\/gpL4g4KSh4KWN4KSw4KWJ4KSqIOCkleClgCDgpLXgpY3gpK\/gpLXgpLjgpY3gpKXgpL4g4KSV4KSw4KSk4KWHIOCkueCliOCkgj88L3N1bW1hcnk+PHA+4KS54KS+4KSB4KWkIOCkn+CliOCkleCljeCkuOClgCDgpJXgpYAg4KSq4KWC4KSb4KSk4KS+4KSbIOCkueCkruCkvuCksOClgCDgpJ\/gpYDgpK4g4KS44KWA4KSn4KWHIOCkpuClh+CkluCkpOClgCDgpLngpYjgpaQgPGEgaHJlZj0iIyIgY2xhc3M9Im9wZW5UYXdrIj7gpLngpK7gpL7gpLDgpYAg4KSf4KWA4KSuIOCkuOClhyDgpJrgpYjgpJ8g4KSV4KSw4KWH4KSCPC9hPiDgpJTgpLAg4KSq4KS\/4KSV4KSF4KSqIOCkleClgCDgpJzgpJfgpLksIOCkpOCkvuCksOClgOCkliDgpJTgpLAg4KS44KSu4KSvIOCkrOCkpOCkvuCkj+CkgeClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpLDgpL\/gpLjgpYngpLDgpY3gpJ8g4KSu4KWH4KSCIOCkluCkvuCkqOCkviDgpK7gpL\/gpLLgpKTgpL4g4KS54KWIPzwvc3VtbWFyeT48cD7gpLngpL7gpIHgpaQg4KSo4KS+4KSw4KWLIOCksOClh+CkuOCljeCkn+Cli+CksOClh+CkguCknyDgpK7gpYfgpIIg4KS24KWB4KSm4KWN4KSnIOCktuCkvuCkleCkvuCkueCkvuCksOClgCDgpJbgpL7gpKjgpL4g4KSu4KS\/4KSy4KSk4KS+IOCkueCliCDgpJTgpLAgMTUg4KSV4KS\/4KSu4KWAIOCkpOCklSDgpKHgpL\/gpLLgpYDgpLXgpLDgpYAg4KS54KWI4KWkIOCkluCkvuCkqOClhyDgpJTgpLAg4KSw4KWC4KSuIOCkuOCksOCljeCkteCkv+CkuCDgpJXgpYcg4KSy4KS\/4KSPIDk0NTgxIDM5OTExIOCkr+CkviA5NDU4MSAzOTkzMyDgpKrgpLAg4KSV4KWJ4KSyIOCkleCksOClh+CkguClpCDgpLDgpYfgpLjgpY3gpJ\/gpYvgpLDgpYfgpILgpJ8g4KSs4KS\/4KSyIOCkquCksCA1JSBHU1Qg4KSy4KSX4KSk4KS+IOCkueCliOClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCksOCkv+CknOCkvOClieCksOCljeCknyDgpJXgpYcg4KSG4KS44KSq4KS+4KS4IOCkleCljeCkr+CkviDgpKbgpYfgpJYg4KS44KSV4KSk4KWHIOCkueCliOCkgj88L3N1bW1hcnk+PHA+4KSc4KSX4KSk4KSX4KWN4KSw4KS+4KSuLCDgpJXgpL7gpLLgpLjgpYAg4KS24KS\/4KSy4KS+4KSy4KWH4KSWLCDgpKHgpL7gpJXgpKrgpKTgpY3gpKXgpLAg4KSU4KSwIOCkhuCkuOCkqCDgpKzgpYjgpLDgpL7gpJwg4KSq4KS+4KS4IOCkruClh+CkgiDgpLngpYjgpIIsIOCklOCksCDgpJrgpJXgpLDgpL7gpKTgpL4sIOCkruCkuOClguCksOClgCwg4KSL4KS34KS\/4KSV4KWH4KS2LCDgpLDgpYfgpKPgpYHgpJXgpL4g4KSd4KWA4KSyLCDgpJzgpK7gpKbgpJfgpY3gpKjgpL8g4KSu4KSC4KSm4KS\/4KSwIOCklOCksCDgpKjgpL7gpLngpKgg4KSr4KS84KWJ4KS44KS\/4KSyIOCkquCkvuCksOCljeCklSDgpKbgpL\/gpKgg4KSt4KSwIOCkleClgCDgpK\/gpL7gpKTgpY3gpLDgpL4g4KSV4KWHIOCksuCkv+CkjyDgpKzgpKLgpLzgpL\/gpK\/gpL4g4KS54KWI4KSC4KWkIOCkleCkv+CkuOClgCDgpK3gpYAg4KSc4KSX4KS5IOCkleClhyDgpKzgpL7gpLDgpYcg4KSu4KWH4KSCIDxhIGhyZWY9IiMiIGNsYXNzPSJhc2tTdXJ5YSI+4KSo4KS+4KSw4KWLIOCkuOClguCksOCljeCkr+CkvjwvYT4g4KS44KWHIOCkquClguCkm+Clh+CkguClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkruClh+CksOCkviDgpLjgpLXgpL7gpLIg4KSV4KWB4KSbIOCkheCksuCklyDgpLngpYgsIOCkleCkv+CkuOCkuOClhyDgpKrgpYLgpJvgpYLgpIE\/PC9zdW1tYXJ5PjxwPuCkueCksCDgpKrgpYfgpJwg4KSq4KSwIOCkqOClgOCkmuClhyDgpKzgpL7gpIjgpIIg4KST4KSwIOCkueCkruCkvuCksOClhyDgpJfgpL7gpIfgpKEgPGEgaHJlZj0iIyIgY2xhc3M9ImFza1N1cnlhIj7gpKjgpL7gpLDgpYsg4KS44KWC4KSw4KWN4KSv4KS+PC9hPiDgpLjgpYcg4KSq4KWC4KSb4KWH4KSC4KWkIOCkteClhyDgpJXgpK7gpLDgpYcsIOCkleCkv+CksOCkvuCkr+Ckviwg4KSq4KWC4KSw4KS+IOCksOClh+CkuOCljeCkn+Cli+CksOClh+CkguCknyDgpK7gpYfgpKjgpY3gpK\/gpYIsIOCkquCkvuCksOCljeCkn+ClgCDgpKrgpYjgpJXgpYfgpJwg4KSU4KSwIOCkhuCkuOCkquCkvuCkuCDgpJXgpYAg4KSc4KSX4KS54KWL4KSCIOCkleClhyDgpKzgpL7gpLDgpYcg4KSu4KWH4KSCIOCknOCkvuCkqOCkpOClhyDgpLngpYjgpILgpaQg4KSV4KWB4KSbIOCkluCkvuCkuCDgpLngpYsg4KSk4KWLIOCkteClhyDgpIbgpKrgpJXgpYsg4KSy4KS+4KSH4KS1IOCkmuCliOCknyDgpKrgpLAg4KS54KSu4KS+4KSw4KWAIOCkn+ClgOCkriDgpLjgpYcg4KSc4KWL4KSh4KS8IOCkpuClh+CkguCkl+Clh+ClpDwvcD48L2RldGFpbHM+CiAgICA8L2Rpdj4KPHNjcmlwdD4oZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmFxTGFuZ0VuIiksaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmFxTGFuZ0hpIiksZWI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZhcUVuIiksaGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZhcUhpIik7ZnVuY3Rpb24gc2V0TGFuZyhsKXtpZihsPT09ImhpIil7ZWIuc3R5bGUuZGlzcGxheT0ibm9uZSI7aGIuc3R5bGUuZGlzcGxheT0iIjtoLmNsYXNzTmFtZT0iYnRuIGJ0bi1nb2xkIjtlLmNsYXNzTmFtZT0iYnRuIGJ0bi1saW5lIjt9ZWxzZXtoYi5zdHlsZS5kaXNwbGF5PSJub25lIjtlYi5zdHlsZS5kaXNwbGF5PSIiO2UuY2xhc3NOYW1lPSJidG4gYnRuLWdvbGQiO2guY2xhc3NOYW1lPSJidG4gYnRuLWxpbmUiO319ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtzZXRMYW5nKCJlbiIpO30pO2guYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7c2V0TGFuZygiaGkiKTt9KTt9KSgpOzwvc2NyaXB0PgoKICA8L2Rpdj4KPC9zZWN0aW9uPgo8c2VjdGlvbiBjbGFzcz0icyBiYW5kIiBpZD0iY29udGFjdCI+CiAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJzLWhlYWQiPjxzcGFuIGNsYXNzPSJleWVicm93Ij5Db250YWN0IHVzPC9zcGFuPjxoMj5WaXNpdCBvciBjaGF0IHdpdGggdXM8L2gyPjxwPldlIGFyZSBvbiB0aGUgWWFtdW5vdHJpIEhpZ2h3YXkgbmVhciBWaWthcyBOYWdhciwgNDUga20gZnJvbSBEZWhyYWR1bi48L3A+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWdyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWNhcmQiPgogICAgICAgIDxoMz5BZGRyZXNzPC9oMz4KICAgICAgICA8cCBjbGFzcz0iYWRkciI+TmFybyBFY28gUmVzb3J0PGJyPlZpbGxhZ2UgQ2hpbHlvbiwgUG9zdCBBc2hvayBBc2hyYW08YnI+dmlhIERha3BhdGhhciwgVmlrYXNuYWdhcjxicj5EZWhyYWR1biwgVXR0YXJha2hhbmQgMjQ4MTI1PC9wPgogICAgICAgIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbi10b3A6MThweCI+PGEgY2xhc3M9ImJ0biBidG4tZ29sZCIgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmZGVzdGluYXRpb249TmFybytFY28rUmVzb3J0K1Zpa2FzK05hZ2FyK1V0dGFyYWtoYW5kJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkdldCBkaXJlY3Rpb25zPC9hPjxhIGNsYXNzPSJidG4gYnRuLWxpbmUiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9zZWFyY2gvP2FwaT0xJnF1ZXJ5PU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPk9wZW4gaW4gR29vZ2xlIE1hcHM8L2E+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWNhcmQiPgogICAgICAgIDxoMz5UYWxrIHRvIHVzPC9oMz4KICAgICAgICA8cD5OYXJvIFN1cnlhIGFuc3dlcnMgcXVlc3Rpb25zIGFib3V0IHJvb21zLCByYXRlcywgdGhlIHJlc3RhdXJhbnQgbWVudSwgcGFydHkgcGFja2FnZXMgYW5kIHBsYWNlcyB0byB2aXNpdCwgaW4gRW5nbGlzaCBhbmQgSGluZGkuPC9wPgogICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1nb2xkIGFza2J0biIgZGF0YS1hc2s9IiIgc3R5bGU9Im1hcmdpbi10b3A6MTRweCI+QXNrIE5hcm8gU3VyeWE8L2J1dHRvbj4KICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDoyMnB4Ij5Gb3IgdGF4aSBib29raW5ncywgc3BlY2lhbCByZXF1ZXN0cyBvciBhbnl0aGluZyBlbHNlLCBjaGF0IHdpdGggb3VyIHRlYW0uPC9wPgogICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1saW5lIG9wZW5UYXdrIiBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4Ij5DaGF0IHdpdGggb3VyIHRlYW08L2J1dHRvbj4KICAgICAgICA8cCBjbGFzcz0ibm90ZS1kYXJrIiBzdHlsZT0ibWFyZ2luLXRvcDoxOHB4Ij5DaGVjay1pbiBmcm9tIDExIGFtLCBjaGVjay1vdXQgYnkgMTEgYW0uIEVhcmx5IGNoZWNrLWluIGZyb20gOSBhbSBpcyBmcmVlIHdoZW4gcm9vbXMgYXJlIHZhY2FudC48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KPC9tYWluPgoKPGZvb3Rlcj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9ImNvbHMiPgogICAgICA8ZGl2PjxpbWcgY2xhc3M9ImJyYW5kLWxvZ28iIHN0eWxlPSJ3aWR0aDo4NHB4O2hlaWdodDo4NHB4O21hcmdpbi1ib3R0b206MTRweCIgc3JjPSJodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA3L05hcm9fRWNvX0xvZ29fLXJlbW92ZWJnLXByZXZpZXcucG5nIiBhbHQ9Ik5hcm8gRWNvIFJlc29ydCBsb2dvIiB3aWR0aD0iODQiIGhlaWdodD0iODQiPjxoMyBzdHlsZT0iZm9udC1zaXplOjI4cHg7bWFyZ2luLWJvdHRvbToxMnB4Ij5OYXJvIEVjbyBSZXNvcnQ8L2gzPjxwIHN0eWxlPSJjb2xvcjp2YXIoLS1taXN0MikiPlVucmVmaW5lZCBKYXVuc2FyaSBob3NwaXRhbGl0eSwgb24gdGhlIFlhbXVub3RyaSBIaWdod2F5IG5lYXIgVmlrYXMgTmFnYXIsIFV0dGFyYWtoYW5kLjwvcD48L2Rpdj4KICAgICAgPGRpdj48aDQ+VmlzaXQ8L2g0Pjx1bD48bGk+WWFtdW5vdHJpIEhpZ2h3YXk8L2xpPjxsaT5OZWFyIFZpa2FzIE5hZ2FyPC9saT48bGk+NDUga20gZnJvbSBEZWhyYWR1bjwvbGk+PC91bD48L2Rpdj4KICAgICAgPGRpdj48aDQ+UmVhY2ggdXM8L2g0Pjx1bCBpZD0iY29udGFjdExpc3QiPjwvdWw+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxwIGNsYXNzPSJmaW5lIj5Sb29tIHJhdGVzIGFyZSBwZXIgbmlnaHQgYW5kIGV4Y2x1ZGUgNSUgR1NULiBBdmFpbGFiaWxpdHkgaXMgY29uZmlybWVkIGJ5IHRoZSByZXNvcnQuPC9wPgogICAgPHAgY2xhc3M9ImNyZWRpdCI+Q3JlYXRlZCBieSA8YSBocmVmPSJodHRwczovL3d3dy4xMWNyZWF0aW9ucy5jb20iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj4xMUNyZWF0aW9uczwvYT48L3A+CiAgPC9kaXY+CjwvZm9vdGVyPgoKPGJ1dHRvbiBjbGFzcz0iZmFiIiBpZD0iZmFiIiB0eXBlPSJidXR0b24iIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJjaGF0Ij48c3BhbiBjbGFzcz0icHVsc2UiIHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWdvbGQtaW5rKSI+PC9zcGFuPkFzayBOYXJvPC9idXR0b24+CjxkaXYgY2xhc3M9ImNoYXQiIGlkPSJjaGF0IiBoaWRkZW4gcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsPSJOYXJvIGd1aWRlIj4KICA8ZGl2IGNsYXNzPSJjaGF0LWgiPjxzcGFuIHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHgiPjxpbWcgY2xhc3M9ImJyYW5kLWxvZ28iIHN0eWxlPSJ3aWR0aDoyNnB4O2hlaWdodDoyNnB4IiBzcmM9Imh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDcvTmFyb19FY29fTG9nb18tcmVtb3ZlYmctcHJldmlldy5wbmciIGFsdD0iIiB3aWR0aD0iMjYiIGhlaWdodD0iMjYiPk5hcm8gR3VpZGU8L3NwYW4+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJjaGF0WCIgYXJpYS1sYWJlbD0iQ2xvc2UgY2hhdCI+w5c8L2J1dHRvbj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJtc2dzIiBpZD0ibXNncyIgYXJpYS1saXZlPSJwb2xpdGUiPjwvZGl2PgogIDxkaXYgY2xhc3M9InFzIiBpZD0icXMiPjwvZGl2PgogIDxmb3JtIGlkPSJjaGF0Rm9ybSI+PGlucHV0IGlkPSJjaGF0SW4iIHR5cGU9InRleHQiIGFyaWEtbGFiZWw9Ik1lc3NhZ2UgdGhlIGd1aWRlIiBwbGFjZWhvbGRlcj0iQXNrIGFib3V0IHJvb21zLCBmb29kLCBldmVudHPigKYiIGF1dG9jb21wbGV0ZT0ib2ZmIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRhcmsiIHR5cGU9InN1Ym1pdCIgaWQ9ImNoYXRTZW5kIj5QYXk8L2J1dHRvbj48L2Zvcm0+CjwvZGl2PgoKPHNjcmlwdD4KLyogLS0tLS0tLS0tLSBjb25maWd1cmF0aW9uIC0tLS0tLS0tLS0gKi8KLyogQ29udGFjdCBkZXRhaWxzIGFyZSBoaWRkZW4gdW50aWwgZmlsbGVkIGluLiAqLwpjb25zdCBDT05UQUNUID0geyBlbWFpbDoiIiB9OwovKiBQaG90b3MgYWxyZWFkeSBvbiBuYXJvZWNvLmNvbS4gVGhleSBsb2FkIG9uIHRoZSBsaXZlIHNpdGU7IGluIHRoaXMgcHJldmlldyB0aGUgZHJhd24gYXJ0IHNob3dzIGluc3RlYWQuICovCmNvbnN0IFUgPSAiaHR0cHM6Ly9uYXJvZWNvLmNvbS93cC1jb250ZW50L3VwbG9hZHMvIjsKY29uc3QgUEhPVE9TID0gewogIHJvb206ICJodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L0RlbHV4ZS1TdWl0ZS1Sb29tLW5hcm8td20uanBnIiwgcm9vbTI6ICJodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L1N1cGVyaW9yLVJvb20tbmFyby13bS5qcGciLCBnYXRlOiAiaHR0cHM6Ly9uYXJvZWNvLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS9XaGF0c0FwcC1JbWFnZS0yMDI1LTA3LTAyLWF0LTEyLjAwLjI5LUFNLW5hcm8td20uanBnIiwgY290dGFnZTogImh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMi1hdC0xMi4wMC4zMS1BTS0xLW5hcm8td20uanBnIiwgbGF3bjogImh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMi1hdC0xMi4wMC4zMC1BTS1uYXJvLXdtLmpwZyIsIGRpbmluZzogImh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMi1hdC0xMi4wMC4zMy1BTS0yLW5hcm8td20uanBnIiwgd2VkZGluZzogImh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMS1hdC0xMS41OS4zNy1QTS0xLW5hcm8td20uanBnIiwgc3RhZ2U6ICJodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L1doYXRzQXBwLUltYWdlLTIwMjUtMDctMDEtYXQtMTEuNTkuMzgtUE0tbmFyby13bS5qcGciLCBkZWNvcjogImh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMS1hdC0xMS41OS40MC1QTS1uYXJvLXdtLmpwZyIsIHdhbGs6ICJodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L1doYXRzQXBwLUltYWdlLTIwMjUtMDctMDItYXQtMTIuMDAuMzQtQU0tbmFyby13bS5qcGciLCByZXNvcnQ6ICJodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L1doYXRzQXBwLUltYWdlLTIwMjUtMDctMDItYXQtMTIuMDAuMzAtQU0tMS0xLW5hcm8td20uanBnIgp9OwovKiBQYXltZW50OiB0aGUgcmVzb3J0J3MgcGF5bWVudCBnYXRld2F5IGlzIG5vdCB0b3VjaGVkIGJ5IHRoaXMgcGFnZS4KICAgT24gdGhlIGxpdmUgc2l0ZSwgZGVmaW5lIHdpbmRvdy5OYXJvUGF5KG9yZGVyKSB0byBvcGVuIHRoZSBleGlzdGluZyBjaGVja291dCBhbmQgcmVzb2x2ZSB7cGFpZDp0cnVlLCBwYXltZW50SWR9LgogICBXaXRob3V0IGl0LCB0aGUgcGFnZSBydW5zIGluIHByZXZpZXcgbW9kZSBhbmQgdGFrZXMgbm8gcGF5bWVudC4gKi8KY29uc3QgTElWRV9DRjcgPSB7IGlkOjQ2OTAsIHVybDoiL3dwLWpzb24vY29udGFjdC1mb3JtLTcvdjEvY29udGFjdC1mb3Jtcy80NjkwL2ZlZWRiYWNrIiB9Owpjb25zdCBEQkw9MjUwMCwgRkFNPTQwMDAsIFhCRUQgPSA1MDAsIEdTVCA9IDAuMDU7IGNvbnN0IEhJX0RBVEVTPVtdLCBEQkxfSEk9MjUwMCwgRkFNX0hJPTQwMDA7IGZ1bmN0aW9uIG5pZ2h0UmF0ZXMoY2ksbil7IGxldCBkPTAsZj0wOyBpZighY2l8fCEobj4wKSkgcmV0dXJuIHtkOkRCTCpNYXRoLm1heChuLDApLGY6RkFNKk1hdGgubWF4KG4sMCl9OyBmb3IobGV0IGk9MDtpPG47aSsrKXsgY29uc3QgaGk9SElfREFURVMuaW5kZXhPZihhZGREYXlzKGNpLGkpKT4tMTsgZCs9aGk\/REJMX0hJOkRCTDsgZis9aGk\/RkFNX0hJOkZBTTsgfSByZXR1cm4ge2Q6ZCxmOmZ9OyB9IGxldCBNQVhEQkw9MTEsIE1BWEZBTSA9IDE7CmNvbnN0IEZBQ1RTID0gWwogIk5hcm8gRWNvIFJlc29ydCwgWWFtdW5vdHJpIEhpZ2h3YXkgbmVhciBWaWthcyBOYWdhciwgVXR0YXJha2hhbmQsIDQ1IGttIGZyb20gRGVocmFkdW4uIiwKICJSb29tczogMTEgRG91YmxlIE9jY3VwYW5jeSBSb29tcyBhdCBScyAyLDUwMCBwZXIgbmlnaHQsIGFuZCAxIEZhbWlseSBSb29tIHdpdGggNCBiZWRzIGF0IFJzIDQsMDAwIHBlciBuaWdodC4gVGhlc2UgcmF0ZXMgZG8gbm90IGluY2x1ZGUgR1NULiIsCiAiRXZlcnkgcm9vbSBoYXMgYSBkZXNlcnQgY29vbGVyLiBFeHRyYSBiZWQgaXMgUnMgNTAwIHBlciBuaWdodC4gQ2hpbGRyZW4gYmVsb3cgOSBzdGF5IGZyZWUuIEdTVCBvZiA1JSBpcyBhZGRlZCBvbiB0b3Agb2YgdGhlIHJvb20gcmF0ZXMuIEJyZWFrZmFzdCBpcyBub3QgaW5jbHVkZWQuIiwKICJOYXJvIFJlc3RhdXJhbnQgc2VydmVzIHB1cmUgdmVnZXRhcmlhbiBmb29kIG9ubHkuIEZvb2QgZGVsaXZlcnkgaXMgYXZhaWxhYmxlIHdpdGhpbiAxNSBrbS4iLAogIlN3aW1taW5nIHBvb2w6IGl0IHdpbGwgYmUgaW5hdWd1cmF0ZWQgc2hvcnRseSBhbmQgaXMgbm90IG9wZW4geWV0LiIsCiAiQWxzbzogV2ktRmksIDI0LWhvdXIgcG93ZXIgYmFja3VwLCBob3QgYW5kIGNvbGQgd2F0ZXIsIDI0Lzcgc2VjdXJpdHksIG9yZ2FuaWMgdmVnZXRhYmxlIGdhcmRlbiwgZnJlZSBwYXJraW5nIGZvciA1MCsgdmVoaWNsZXMuIiwKICJFdmVudHM6IGRlc3RpbmF0aW9uIHdlZGRpbmdzLCBiaXJ0aGRheXMsIGtpdHR5IHBhcnRpZXM7IGNvbmZlcmVuY2UgaGFsbCA0MCB4IDQwIGZ0LiIsCiAiTmVhcmJ5IGF0dHJhY3Rpb25zOiBBc2hva2EgUm9jayBFZGljdHMgYXQgS2Fsc2ksIDYga20gYXdheSwgYW5jaWVudCBlZGljdHMgb2YgRW1wZXJvciBBc2hva2EgY2FydmVkIGluIHJvY2suIERha3BhdGhhciBCYXJyYWdlLCA4IGttLCBhIHJpdmVyIGJhcnJhZ2UgcG9wdWxhciBmb3IgcGhvdG9zIGFuZCB3YWxrcy4gQXNhbiBCYXJyYWdlLCAyNSBrbSwga25vd24gZm9yIGJvYXRpbmcgYW5kIGJpcmR3YXRjaGluZywgZXNwZWNpYWxseSBtaWdyYXRvcnkgYmlyZHMgaW4gd2ludGVyLiBEZWhyYWR1biBjaXR5IGlzIDQ1IGttIGF3YXkuIiwgIk5lYXJieSB0ZW1wbGVzOiBNYWhhc3UgVGVtcGxlLCBCaGFkcmFqIFRlbXBsZSwgQmhhZHJhIEthbGkgVGVtcGxlIGFuZCBTd2F5YW1iaHUgU2hpdmEgVGVtcGxlIGFyZSBhbGwgYSBzaG9ydCBkcml2ZSBmcm9tIHRoZSByZXNvcnQsIG9mdGVuIHZpc2l0ZWQgdG9nZXRoZXIgd2l0aCB0aGUgQXNob2thIFJvY2sgRWRpY3RzIGluIGEgc2luZ2xlIGRheSB0cmlwLiIsCiAiQWN0aXZpdGllczogbmF0dXJlIHdhbGtzLCBmb3Jlc3QgZXhwbG9yYXRpb24sIHRyZWtraW5nLiIsCiAiUGF5bWVudDogZnVsbCBwYXltZW50IG9mIHRoZSBib29raW5nIGFtb3VudCAoaW5jbHVkaW5nIEdTVCkgaXMgcmVxdWlyZWQgaW4gYWR2YW5jZSB0byBjb25maXJtIGEgYm9va2luZzsgYSBmdWxseSBwYWlkIGJvb2tpbmcgY2FuIGJlIHJlc2NoZWR1bGVkIGZvciBhIFJzIDEsMDAwIGNoYW5nZSBmZWUgcGVyIHJvb20gKERvdWJsZSBvciBGYW1pbHkpLCB3aXRoIG5vdGljZSBvbiBXaGF0c0FwcCAoKzkxIDcwMTc3IDE0Mzg1KSBhdCBsZWFzdCAzIGRheXMgYmVmb3JlIGFycml2YWwuIEFueSBjaGFuZ2UgcmVxdWVzdGVkIGxlc3MgdGhhbiAzIGRheXMgYmVmb3JlIGFycml2YWwgaXMgdHJlYXRlZCBhcyBhIG5vLXNob3cgYW5kIGlzIG5vdCB0cmFuc2ZlcmFibGUgaWYgcGxhbnMgY2hhbmdlLiIsCiAiR3Vlc3RzIGJvb2sgYW5kIHBheSBvbmxpbmUgdGhyb3VnaCBSYXpvcnBheSwgYW5kIHRoZSByZXNvcnQgY2hlY2tzIGF2YWlsYWJpbGl0eSBhdXRvbWF0aWNhbGx5LiBEaWdpdGFsIGNoZWNrLWluIGRldGFpbHMgYXJlIGNvbGxlY3RlZCBiZWZvcmUgYXJyaXZhbC4gQ291cGxlIGZyaWVuZGx5OiB1bm1hcnJpZWQgY291cGxlcyBhcmUgd2VsY29tZS4gQWxsIGd1ZXN0cyBtdXN0IGJlIDE4IHllYXJzIG9mIGFnZSBvciBvbGRlciwgYXMgcGVyIEluZGlhbiBsYXcg4oCUIHJvb21zIGFyZSBub3QgZ2l2ZW4gdG8gdW5kZXJhZ2UgY291cGxlcyB3aXRob3V0IGFkdWx0IGFjY29tcGFuaW1lbnQuIEFsbCBndWVzdHMsIG1hcnJpZWQgb3IgdW5tYXJyaWVkLCBtdXN0IGNhcnJ5IGEgdmFsaWQgZ292ZXJubWVudCBwaG90byBJRCAoQWFkaGFyIGNhcmQsIFZvdGVyIElEIG9yIERyaXZpbmcgTGljZW5jZSkgYXQgY2hlY2staW4uIgosICJQYXJ0eSBhbmQgZXZlbnQgcGFja2FnZXM6IHRocmVlIHZlZ2V0YXJpYW4gcGFja2FnZXMgYXQgUnMgNzUwLCBScyA3MDAgYW5kIFJzIDY1MCBwZXIgcGxhdGUsIG1pbmltdW0gNTAgZ3Vlc3RzLCB3aXRoIHNvdXBzLCBzdGFydGVycywgbWFpbnMsIHJpY2UsIGRhbCwgYnJlYWQsIHJhaXRhIGFuZCBkZXNzZXJ0cy4gQm9va2luZyBuZWVkcyBhIDI1JSBhZHZhbmNlIHdoaWNoIGlzIG5vbi1yZWZ1bmRhYmxlOyB0aGUgYmFsYW5jZSA3NSUgaXMgZHVlIG9uIHRoZSBldmVudCBkYXRlLiBQYXlpbmcgYW4gZXh0cmEgNSUgYWxsb3dzIHRoZSBkYXRlIHRvIGJlIHJlc2NoZWR1bGVkLiBTZWUgdGhlIEV2ZW50cyBzZWN0aW9uIGZvciBmdWxsIHBhY2thZ2UgZGV0YWlscyBhbmQgYSBib29raW5nIGNhbGVuZGFyLiIsICJUaGUgZnVsbCBhIGxhIGNhcnRlIG1lbnUgZm9yIE5hcm8gUmVzdGF1cmFudCwgaW5jbHVkaW5nIGJyZWFrZmFzdCwgcGFyYXRoYXMsIHNvdXBzLCB2ZWcgc3RhcnRlcnMsIEluZGlhbiBtYWlucywgQXNpYW4gZGlzaGVzLCBwaXp6YSwgcGFzdGEsIGJyZWFkcywgc2FsYWRzLCB0aGFsaXMgYW5kIGRlc3NlcnRzLCBpcyBvbiB0aGUgUmVzdGF1cmFudCBwYWdlLCByZWFjaGVkIGZyb20gdGhlIEV2ZW50cyBpdGVtIGluIHRoZSBtZW51LiJdLmpvaW4oIlxuIik7CgovKiAtLS0tLS0tLS0tIGhlbHBlcnMgLS0tLS0tLS0tLSAqLwpjb25zdCAkID0gaWQgPT4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwpjb25zdCBpbnIgPSBuID0+ICLigrkiICsgTWF0aC5yb3VuZChuKS50b0xvY2FsZVN0cmluZygiZW4tSU4iKTsKY29uc3QgaXNvID0gZCA9PiB7IGNvbnN0IHogPSBuZXcgRGF0ZShkLmdldFRpbWUoKSAtIGQuZ2V0VGltZXpvbmVPZmZzZXQoKSo2MDAwMCk7IHJldHVybiB6LnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwxMCk7IH07CmNvbnN0IGFkZERheXMgPSAocyxuKSA9PiB7IGNvbnN0IGQgPSBuZXcgRGF0ZShzKyJUMDA6MDA6MDAiKTsgZC5zZXREYXRlKGQuZ2V0RGF0ZSgpK24pOyByZXR1cm4gaXNvKGQpOyB9Owpjb25zdCBmbXQgPSBzID0+IHMgPyBuZXcgRGF0ZShzKyJUMDA6MDA6MDAiKS50b0xvY2FsZURhdGVTdHJpbmcoImVuLUlOIix7d2Vla2RheToic2hvcnQiLGRheToibnVtZXJpYyIsbW9udGg6InNob3J0Iix5ZWFyOiJudW1lcmljIn0pIDogIlNlbGVjdCBkYXRlIjsKY29uc3QgZXNjID0gdCA9PiBTdHJpbmcodCkucmVwbGFjZSgvWyY8PiJdL2csYz0+KHsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsJyInOiImcXVvdDsifVtjXSkpOwpjb25zdCB0b2RheSA9IGlzbyhuZXcgRGF0ZSgpKTsKY29uc3QgZnJpZGF5ID0gKDUtbmV3IERhdGUoKS5nZXREYXkoKSs3KSU3fHw3Owpjb25zdCBTID0geyBzdGVwOjEsIGNpOiIiLCBhZHVsdHM6Miwga2lkczk6MCwga2lkc1U5OjAsIGRibDoxLCBmYW06MCwgYXV0bzp0cnVlLCByZWY6IiIsIHBhaWQ6ZmFsc2UgfTsKUy5jbyA9ICIiOwpjb25zdCBuaWdodHMgPSAoKSA9PiB7IGNvbnN0IG4gPSBNYXRoLnJvdW5kKChuZXcgRGF0ZShTLmNvKS1uZXcgRGF0ZShTLmNpKSkvODY0MDAwMDApOyByZXR1cm4gbj4wP246MDsgfTsKY29uc3QgdmFsID0gaWQgPT4gJChpZCkudmFsdWUudHJpbSgpOwpjb25zdCByYWRpbyA9IG4gPT4gKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGlucHV0W25hbWU9IiR7bn0iXTpjaGVja2VkYCl8fHt9KS52YWx1ZSB8fCAiIjsKY29uc3QgcGx1cmFsID0gKG4sYSxiKSA9PiBuKyIgIisobj09PTE\/YTpiKTsKY29uc3QgZ3Vlc3RzVGV4dCA9ICgpID0+IHBsdXJhbChTLmFkdWx0cywiYWR1bHQiLCJhZHVsdHMiKSArIChTLmtpZHM5PyIsICIrcGx1cmFsKFMua2lkczksImNoaWxkIiwiY2hpbGRyZW4iKSsiIGFnZWQgOSsiOiIiKSArIChTLmtpZHNVOT8iLCAiK3BsdXJhbChTLmtpZHNVOSwiY2hpbGQiLCJjaGlsZHJlbiIpKyIgYmVsb3cgOSI6IiIpOwpjb25zdCByb29tc1RleHQgPSAoKSA9PiBbUy5kYmw\/cGx1cmFsKFMuZGJsLCJEb3VibGUgUm9vbSIsIkRvdWJsZSBSb29tcyIpOiIiLCBTLmZhbT9wbHVyYWwoUy5mYW0sIkZhbWlseSBSb29tIiwiRmFtaWx5IFJvb21zIik6IiJdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgYW5kICIpIHx8ICJubyByb29tcyI7CgpsZXQgc2FtcGxlRm47IGNvbnN0IHNhbXBsZVJlYWR5ID0gKGFzeW5jKCk9PnsgdHJ5eyBzYW1wbGVGbiA9IGF3YWl0IHdpbmRvdy5jbGF1ZGU\/LnVzZSgic2FtcGxlIik7IH1jYXRjaChlKXsgc2FtcGxlRm4gPSBudWxsOyB9IH0pKCk7CgovKiAtLS0tLS0tLS0tIHBob3RvIHNsb3RzOiByZWFsIHBob3RvIHdoZW4gcmVhY2hhYmxlLCBkcmF3biBhcnQgb3RoZXJ3aXNlIC0tLS0tLS0tLS0gKi8KZnVuY3Rpb24gYXJ0KHNlZWQpewogIGNvbnN0IGh1ZSA9IFtbICIjMWQ0YTNiIiwiIzJmNmI1NyIsIiMwZjJhMjEiXSxbIiMyODQ4M2YiLCIjM2M2ZDYwIiwiIzEzMmIyNSJdLFsiIzJiNGE1MiIsIiMzZjcwNzgiLCIjMTMyYTMwIl0sWyIjM2E0YTMzIiwiIzViN2E0YyIsIiMxYTJhMTciXSxbIiMzNDQ2M2YiLCIjNTU3ODZhIiwiIzE1MjcxZiJdXVtzZWVkJTVdOwogIGNvbnN0IHN1biA9IDYwICsgKHNlZWQqMzcpJTE4MDsKICByZXR1cm4gYDxzdmcgdmlld0JveD0iMCAwIDQwMCAzMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIHNsaWNlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3Qgd2lkdGg9IjQwMCIgaGVpZ2h0PSIzMDAiIGZpbGw9IiR7aHVlWzJdfSIvPjxjaXJjbGUgY3g9IiR7c3VuKzEyMH0iIGN5PSI4MCIgcj0iMzAiIGZpbGw9IiNlZmJmNjIiIG9wYWNpdHk9Ii43NSIvPjxwYXRoIGQ9Ik0wIDE5MCBMNzAgMTIwIEwxNDAgMTcwIEwyMjAgOTAgTDMwMCAxNzAgTDM2MCAxMzAgTDQwMCAxNjAgVjMwMCBIMFoiIGZpbGw9IiR7aHVlWzFdfSIgb3BhY2l0eT0iLjciLz48cGF0aCBkPSJNMCAyMzAgTDkwIDE3MCBMMTgwIDIyMCBMMjcwIDE2MCBMNDAwIDIzMCBWMzAwIEgwWiIgZmlsbD0iJHtodWVbMF19Ii8+PHBhdGggZD0iTTAgMjY4IEMxMDAgMjUwIDI1MCAyODAgNDAwIDI1OCBWMzAwIEgwWiIgZmlsbD0iJHtodWVbMl19Ii8+PC9zdmc+YDsKfQpkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1waG90b10iKS5mb3JFYWNoKGVsPT57CiAgZWwuaW5uZXJIVE1MID0gYXJ0KCtlbC5kYXRhc2V0LnNlZWR8fDApOwogIGNvbnN0IHUgPSBQSE9UT1NbZWwuZGF0YXNldC5waG90b107IGlmKCF1KSByZXR1cm47CiAgY29uc3QgaW0gPSBuZXcgSW1hZ2UoKTsgaW0uYWx0ID0gIiI7IAogIGltLm9ubG9hZCA9ICgpID0+IHsgZWwuaW5uZXJIVE1MID0gIiI7IGVsLmFwcGVuZENoaWxkKGltKTsgfTsKICBpbS5zcmMgPSB1Owp9KTsKCi8qIC0tLS0tLS0tLS0gaGVybyBjYW52YXM6IHJpZGdlbGluZXMsIG1pc3QsIGZpcmVmbGllcywgdGludGVkIGJ5IHRoZSB2aWV3ZXIncyBsb2NhbCBob3VyIC0tLS0tLS0tLS0gKi8KKGZ1bmN0aW9uKCl7CiAgY29uc3QgY3YgPSAkKCJza3kiKSwgY3ggPSBjdi5nZXRDb250ZXh0KCIyZCIpOyBpZighY3gpIHJldHVybjsKICBjb25zdCBoID0gbmV3IERhdGUoKS5nZXRIb3VycygpK25ldyBEYXRlKCkuZ2V0TWludXRlcygpLzYwOwogIGNvbnN0IFAgPSBoPDUuNXx8aD49MTkuNSA\/IHt0b3A6IiMwNTBjMTQiLG1pZDoiIzBkMjIzMCIsaG9yOiIjMWM0YTRhIixnbG93OiIjN2ZiOGM4IixzdW46MC4wLG1vb246dHJ1ZX0KICAgICAgICAgIDogaDw4ID8ge3RvcDoiIzE0MjYzYSIsbWlkOiIjNWI2YjdhIixob3I6IiNmMGEzNmIiLGdsb3c6IiNmZmQwOGEiLHN1bjoxLG1vb246ZmFsc2V9CiAgICAgICAgICA6IGg8MTYuNSA\/IHt0b3A6IiMxMjQwNWEiLG1pZDoiIzNmN2Y4ZCIsaG9yOiIjYThkMGMwIixnbG93OiIjZmZmMGI4IixzdW46MSxtb29uOmZhbHNlfQogICAgICAgICAgOiB7dG9wOiIjMWEyYTRhIixtaWQ6IiM4YTVhNmEiLGhvcjoiI2YwOGE1YSIsZ2xvdzoiI2ZmYzA3MCIsc3VuOjEsbW9vbjpmYWxzZX07CiAgbGV0IFc9MCxIPTAsZHByPTEsbXg9MC41LHQwPXBlcmZvcm1hbmNlLm5vdygpLHJhZj0wOwogIGNvbnN0IGZsaWVzID0gQXJyYXkuZnJvbSh7bGVuZ3RoOjQ2fSwoXyxpKT0+KHt4Ok1hdGgucmFuZG9tKCkseTouNDUrTWF0aC5yYW5kb20oKSouNSxyOi44K01hdGgucmFuZG9tKCkqMS44LHA6TWF0aC5yYW5kb20oKSo2LjI4LHM6LjIrTWF0aC5yYW5kb20oKSouNn0pKTsKICBjb25zdCBtaXN0ID0gQXJyYXkuZnJvbSh7bGVuZ3RoOjZ9LChfLGkpPT4oe3g6TWF0aC5yYW5kb20oKSx5Oi41NStNYXRoLnJhbmRvbSgpKi4zLHI6LjI1K01hdGgucmFuZG9tKCkqLjMsczouMDA0K01hdGgucmFuZG9tKCkqLjAwOH0pKTsKICBmdW5jdGlvbiBzaXplKCl7IGRwcj1NYXRoLm1pbigyLHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKTsgVz1jdi5jbGllbnRXaWR0aDsgSD1jdi5jbGllbnRIZWlnaHQ7IGN2LndpZHRoPVcqZHByOyBjdi5oZWlnaHQ9SCpkcHI7IGN4LnNldFRyYW5zZm9ybShkcHIsMCwwLGRwciwwLDApOyB9CiAgZnVuY3Rpb24gcmlkZ2UoYmFzZSxhbXAsc2VlZCxwYXIsY29sLHQpewogICAgY3guYmVnaW5QYXRoKCk7IGN4Lm1vdmVUbygwLEgpOwogICAgZm9yKGxldCB4PTA7eDw9Vzt4Kz04KXsKICAgICAgY29uc3QgdT14L1crKG14LS41KSpwYXI7CiAgICAgIGNvbnN0IHk9SCpiYXNlIC0gYW1wKihNYXRoLnNpbih1KjUrc2VlZCkqLjUrTWF0aC5zaW4odSoxMStzZWVkKjIuMykqLjI4K01hdGguc2luKHUqMjMrc2VlZCouNykqLjEyKSAtIGFtcCouMjUqTWF0aC5zaW4odCouMDAwMDYrc2VlZCt1KjIpOwogICAgICBjeC5saW5lVG8oeCx5KTsKICAgIH0KICAgIGN4LmxpbmVUbyhXLEgpOyBjeC5jbG9zZVBhdGgoKTsgY3guZmlsbFN0eWxlPWNvbDsgY3guZmlsbCgpOwogIH0KICBmdW5jdGlvbiBmcmFtZShub3csc3RpbGwpewogICAgY29uc3QgdD1ub3ctdDA7CiAgICBjb25zdCBnPWN4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsMCwwLEgpOyBnLmFkZENvbG9yU3RvcCgwLFAudG9wKTsgZy5hZGRDb2xvclN0b3AoLjU1LFAubWlkKTsgZy5hZGRDb2xvclN0b3AoLjg1LFAuaG9yKTsgY3guZmlsbFN0eWxlPWc7IGN4LmZpbGxSZWN0KDAsMCxXLEgpOwogICAgY29uc3Qgc3g9VyooLjY4KyhteC0uNSkqLjA2KSwgc3k9SCooUC5tb29uPy4yOi40Mik7CiAgICBjb25zdCByZz1jeC5jcmVhdGVSYWRpYWxHcmFkaWVudChzeCxzeSwwLHN4LHN5LEgqLjU1KTsgcmcuYWRkQ29sb3JTdG9wKDAsUC5nbG93KyJjYyIpOyByZy5hZGRDb2xvclN0b3AoLjI1LFAuZ2xvdysiNDQiKTsgcmcuYWRkQ29sb3JTdG9wKDEsUC5nbG93KyIwMCIpOyBjeC5maWxsU3R5bGU9cmc7IGN4LmZpbGxSZWN0KDAsMCxXLEgpOwogICAgY3guYmVnaW5QYXRoKCk7IGN4LmFyYyhzeCxzeSxQLm1vb24\/MjA6MjYsMCw2LjI4Myk7IGN4LmZpbGxTdHlsZT1QLm1vb24\/IiNlOGYwZWEiOiIjZmZmM2NmIjsgY3guZ2xvYmFsQWxwaGE9Ljk1OyBjeC5maWxsKCk7IGN4Lmdsb2JhbEFscGhhPTE7CiAgICByaWRnZSguNjIsSCouMTYsMS4yLC4wNSwicmdiYSg4MCwxMjAsMTIwLC41NSkiLHQpOwogICAgcmlkZ2UoLjcwLEgqLjE0LDMuMSwuMDksInJnYmEoMzgsODgsNzYsLjgpIix0KTsKICAgIG1pc3QuZm9yRWFjaChtPT57IGNvbnN0IHg9KChtLngrdCptLnMqLjAwMDEpJTEuNC0uMikqVywgeT1tLnkqSCwgcj1tLnIqVzsKICAgICAgY29uc3QgbWc9Y3guY3JlYXRlUmFkaWFsR3JhZGllbnQoeCx5LDAseCx5LHIpOyBtZy5hZGRDb2xvclN0b3AoMCwicmdiYSgyMjAsMjM2LDIyOCwuMTYpIik7IG1nLmFkZENvbG9yU3RvcCgxLCJyZ2JhKDIyMCwyMzYsMjI4LDApIik7IGN4LmZpbGxTdHlsZT1tZzsgY3guZmlsbFJlY3QoeC1yLHktcixyKjIscioyKTsgfSk7CiAgICByaWRnZSguODAsSCouMTIsNS40LC4xNiwicmdiYSgxNiw1Miw0MiwuOTUpIix0KTsKICAgIHJpZGdlKC45MCxIKi4wOSw3LjcsLjI2LCIjMGEyMTE5Iix0KTsKICAgIGZsaWVzLmZvckVhY2goZj0+eyBjb25zdCBhPS4zNSsuNjUqTWF0aC5hYnMoTWF0aC5zaW4oZi5wK3QqLjAwMSpmLnMpKTsgY29uc3QgeD0oZi54K01hdGguc2luKHQqLjAwMDIqZi5zK2YucCkqLjAzKSpXLCB5PShmLnkrTWF0aC5jb3ModCouMDAwMjUqZi5zK2YucCkqLjAyKSpIOwogICAgICBjb25zdCBmZz1jeC5jcmVhdGVSYWRpYWxHcmFkaWVudCh4LHksMCx4LHksZi5yKjYpOyBmZy5hZGRDb2xvclN0b3AoMCxgcmdiYSgyMzksMTkxLDk4LCR7YX0pYCk7IGZnLmFkZENvbG9yU3RvcCgxLCJyZ2JhKDIzOSwxOTEsOTgsMCkiKTsgY3guZmlsbFN0eWxlPWZnOyBjeC5maWxsUmVjdCh4LWYucio2LHktZi5yKjYsZi5yKjEyLGYucioxMik7IH0pOwogICAgaWYoIXN0aWxsKSByYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKG49PmZyYW1lKG4sZmFsc2UpKTsKICB9CiAgY29uc3QgcmVkdWNlID0gd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlczsKICBzaXplKCk7IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57IHNpemUoKTsgaWYocmVkdWNlKSBmcmFtZShwZXJmb3JtYW5jZS5ub3coKSx0cnVlKTsgfSk7CiAgY3YucGFyZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsZT0+eyBteD1lLmNsaWVudFgvd2luZG93LmlubmVyV2lkdGg7IH0pOwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLCgpPT57IGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJhZik7IGlmKCFkb2N1bWVudC5oaWRkZW4gJiYgIXJlZHVjZSkgcmFmPXJlcXVlc3RBbmltYXRpb25GcmFtZShuPT5mcmFtZShuLGZhbHNlKSk7IH0pOwogIGlmKHJlZHVjZSkgZnJhbWUocGVyZm9ybWFuY2Uubm93KCksdHJ1ZSk7IGVsc2UgcmFmPXJlcXVlc3RBbmltYXRpb25GcmFtZShuPT5mcmFtZShuLGZhbHNlKSk7Cn0pKCk7CgovKiAtLS0tLS0tLS0tIHByaWNpbmc6IDkgZG91YmxlIHJvb21zIGFuZCAxIGZhbWlseSByb29tLCBHU1QgNSUgLS0tLS0tLS0tLSAqLwpmdW5jdGlvbiBjYWxjKCl7CiAgY29uc3QgRz1TLmFkdWx0cytTLmtpZHM5LCBUPUcrUy5raWRzVTksIG49bmlnaHRzKCksIHJvb21zPVMuZGJsK1MuZmFtOwogIGNvbnN0IGV4dHJhcz1NYXRoLm1heCgwLEctKDIqUy5kYmwrNCpTLmZhbSkpOwogIGxldCBwcm9ibGVtPSIiOwogIGlmKHJvb21zPDEpIHByb2JsZW09IkNob29zZSBhdCBsZWFzdCBvbmUgcm9vbS4iOwogIGVsc2UgaWYocm9vbXM+RykgcHJvYmxlbT0iVGhlcmUgYXJlIG1vcmUgcm9vbXMgdGhhbiBndWVzdHMuIFJlZHVjZSB0aGUgcm9vbXMgb3IgdGFwIFN1Z2dlc3QgYmVzdCByb29tcy4iOwogIGVsc2UgaWYoZXh0cmFzPlMuZGJsKSBwcm9ibGVtPSJUaGVzZSByb29tcyBjYW5ub3QgaG9sZCB5b3VyIGdyb3VwLiBBZGQgYSByb29tIG9yIHRhcCBTdWdnZXN0IGJlc3Qgcm9vbXMuIjsKICBlbHNlIGlmKFQ+NCpyb29tcykgcHJvYmxlbT0iQSByb29tIGhvbGRzIHVwIHRvIDQgcGVvcGxlLCBpbmNsdWRpbmcgY2hpbGRyZW4uIEFkZCBhIHJvb20gb3IgdGFwIFN1Z2dlc3QgYmVzdCByb29tcy4iOwogIGNvbnN0IG5yPW5pZ2h0UmF0ZXMoUy5jaSxuKSwgcGVyTmlnaHQ9REJMKlMuZGJsK0ZBTSpTLmZhbStYQkVEKmV4dHJhcywgc3ViPW5yLmQqUy5kYmwrbnIuZipTLmZhbStYQkVEKmV4dHJhcypuLCBnc3Q9TWF0aC5yb3VuZChzdWIqR1NUKjEwMCkvMTAwLCB0b3RhbD1NYXRoLnJvdW5kKChzdWIrZ3N0KSoxMDApLzEwMDsKICByZXR1cm4ge0csVCxuLHJvb21zLGV4dHJhcyxwcm9ibGVtLHBlck5pZ2h0LHN1Yixnc3QsdG90YWx9Owp9CmZ1bmN0aW9uIHJlY29tbWVuZCgpewogIGNvbnN0IEc9Uy5hZHVsdHMrUy5raWRzOSwgVD1HK1Mua2lkc1U5OyBsZXQgYmVzdD1udWxsOwogIGZvcihsZXQgeT0oUy5hZHVsdHM+PTMmJlMuZmFtUGljaz09PXRydWU\/MTowKTt5PD0oUy5hZHVsdHM+PTMmJlMuZmFtUGljayE9PWZhbHNlP01BWEZBTTowKTt5KyspIGZvcihsZXQgeD0wO3g8PU1BWERCTDt4KyspewogICAgY29uc3Qgcm9vbXM9eCt5OyBpZihyb29tczwxfHxyb29tcz5HKSBjb250aW51ZTsKICAgIGNvbnN0IGV4dHJhcz1NYXRoLm1heCgwLEctKDIqeCs0KnkpKTsgaWYoZXh0cmFzPnh8fFQ+NCpyb29tcykgY29udGludWU7CiAgICBjb25zdCBjb3N0PURCTCp4K0ZBTSp5K1hCRUQqZXh0cmFzOwogICAgaWYoIWJlc3R8fGNvc3Q8YmVzdC5jb3N0fHwoY29zdD09PWJlc3QuY29zdCYmcm9vbXM8YmVzdC5yb29tcykpIGJlc3Q9e3gseSxjb3N0LHJvb21zfTsKICB9CiAgcmV0dXJuIGJlc3Q7Cn0KZnVuY3Rpb24gZm0yKG4peyByZXR1cm4gIuKCuSIrTnVtYmVyKG4pLnRvTG9jYWxlU3RyaW5nKCJlbi1JTiIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk7IH0KZnVuY3Rpb24gYnJlYWtkb3duKGMpewogIGNvbnN0IG49Yy5uLCByPVtdOwogIHIucHVzaCgoUy5jaSYmUy5jbyk\/W2ZtdChTLmNpKSsiIHRvICIrZm10KFMuY28pLCBwbHVyYWwobiwibmlnaHQiLCJuaWdodHMiKV06WyJDaG9vc2UgeW91ciBkYXRlcyIsICIiXSk7CiAgaWYoUy5kYmwpIHIucHVzaChbUy5kYmwrIiDDlyBEb3VibGUgUm9vbSIsIGlucihuaWdodFJhdGVzKFMuY2ksbikuZCpTLmRibCldKTsKICBpZihTLmZhbSkgci5wdXNoKFtTLmZhbSsiIMOXIEZhbWlseSBSb29tIiwgaW5yKG5pZ2h0UmF0ZXMoUy5jaSxuKS5mKlMuZmFtKV0pOwogIGlmKGMuZXh0cmFzKSByLnB1c2goW3BsdXJhbChjLmV4dHJhcywiZXh0cmEgYmVkIiwiZXh0cmEgYmVkcyIpLCBpbnIoWEJFRCpjLmV4dHJhcypuKV0pOwogIGlmKFMua2lkc1U5KSByLnB1c2goW3BsdXJhbChTLmtpZHNVOSwiY2hpbGQiLCJjaGlsZHJlbiIpKyIgYmVsb3cgOSIsICJGcmVlIl0pOwogIHIucHVzaChbIlJvb20gY2hhcmdlcyIsIGZtMihjLnN1YildLFsiQ0dTVCAyLjUlIiwgZm0yKE1hdGguZmxvb3IoYy5nc3QqNTApLzEwMCldLFsiU0dTVCAyLjUlIiwgZm0yKGMuZ3N0LU1hdGguZmxvb3IoYy5nc3QqNTApLzEwMCldKTsKICByZXR1cm4gci5tYXAoeD0+YDxkaXY+PHNwYW4+JHt4WzBdfTwvc3Bhbj48c3BhbiBjbGFzcz0idiI+JHt4WzFdfTwvc3Bhbj48L2Rpdj5gKS5qb2luKCIiKStgPGRpdiBjbGFzcz0idG90YWwiPjxzcGFuPlRvdGFsIChpbmNsLiBHU1QpPC9zcGFuPjxzcGFuIGNsYXNzPSJ2Ij4ke2lucihjLnRvdGFsKX08L3NwYW4+PC9kaXY+YDsKfQoKLyogLS0tLS0tLS0tLSBzdGF0ZSB0byBzY3JlZW4gLS0tLS0tLS0tLSAqLwpmdW5jdGlvbiBhcHBseVJhdGVzKCl7IHRyeXsgY29uc3QgcmVmPShTJiZTLmNpKT9TLmNpOnRvZGF5OyBjb25zdCBoaT1ISV9EQVRFUy5pbmRleE9mKHJlZik+LTE7IGNvbnN0IGRyPWhpP0RCTF9ISTpEQkwsIGZyPWhpP0ZBTV9ISTpGQU07IGNvbnN0IGY9ZnVuY3Rpb24oeCl7cmV0dXJuICLigrkiK051bWJlcih4KS50b0xvY2FsZVN0cmluZygiZW4tSU4iKTt9OyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuZmxkIGxhYmVsIikuZm9yRWFjaChmdW5jdGlvbihsKXsgY29uc3QgdD1sLnRleHRDb250ZW50OyBpZih0LmluZGV4T2YoIkRvdWJsZSByb29tcyIpPT09MCkgbC50ZXh0Q29udGVudD0iRG91YmxlIHJvb21zIjsgZWxzZSBpZih0LmluZGV4T2YoIkZhbWlseSByb29tIik9PT0wKSBsLnRleHRDb250ZW50PSJGYW1pbHkgcm9vbSAoNCBiZWRzKSI7IH0pOyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJiLnJvb20tZG91YmxlIikuZm9yRWFjaChmdW5jdGlvbihlKXtlLnRleHRDb250ZW50PWYoZHIpO30pOyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJiLnJvb20tZmFtaWx5IikuZm9yRWFjaChmdW5jdGlvbihlKXtlLnRleHRDb250ZW50PWYoZnIpO30pOyB9Y2F0Y2goZSl7fSB9IApmdW5jdGlvbiByb29tUGxhbigpeyB2YXIgYT1bXTsgaWYoUy5mYW0pIGEucHVzaCgiMSBmYW1pbHkgcm9vbSIpOyBpZihTLmRibCkgYS5wdXNoKFMuZGJsKyhTLmRibD4xPyIgZG91YmxlIHJvb21zIjoiIGRvdWJsZSByb29tIikpOyByZXR1cm4gYS5qb2luKCIgYW5kICIpfHwibm9uZSB5ZXQiOyB9CmZ1bmN0aW9uIHJvb21zVUkoKXsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuZmxkIikuZm9yRWFjaChmdW5jdGlvbihmKXsKICAgIGlmKGYucXVlcnlTZWxlY3RvcignW2RhdGEtc3RlcF49ImRibDoiXScpKXsgZi5zdHlsZS5kaXNwbGF5PSJub25lIjsgcmV0dXJuOyB9CiAgICBpZighZi5xdWVyeVNlbGVjdG9yKCdbZGF0YS1zdGVwXj0iZmFtOiJdJykpIHJldHVybjsKICAgIGlmKCFmLnF1ZXJ5U2VsZWN0b3IoIi5mYW1DaGsiKSl7CiAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZi5jaGlsZHJlbixmdW5jdGlvbihjKXsgYy5zdHlsZS5kaXNwbGF5PSJub25lIjsgfSk7CiAgICAgIHZhciBsYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOwogICAgICBsYi5zdHlsZS5jc3NUZXh0PSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6MTRweDtjdXJzb3I6cG9pbnRlcjt0ZXh0LXRyYW5zZm9ybTpub25lO2xldHRlci1zcGFjaW5nOjA7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MS40O2NvbG9yOmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzoxNHB4IDE2cHg7Ym9yZGVyOjJweCBzb2xpZCAjYzk5ODJlO2JvcmRlci1yYWRpdXM6MTJweCI7CiAgICAgIGxiLmlubmVySFRNTD0nPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0iZmFtQ2hrIiBzdHlsZT0id2lkdGg6MjhweDtoZWlnaHQ6MjhweDttaW4taGVpZ2h0OjA7ZmxleDpub25lO21hcmdpbjoycHggMCAwO2FjY2VudC1jb2xvcjojYzk5ODJlIj48c3Bhbj48Yj5JbmNsdWRlIG91ciBmYW1pbHkgcm9vbSAoNCBiZWRzKTwvYj48YnI+PHNtYWxsIHN0eWxlPSJmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDA7b3BhY2l0eTouODUiPldlIGhhdmUgb25seSBvbmUgZmFtaWx5IHJvb20uIFRpY2sgaXQgdG8gYWRkIGl0IHRvIHlvdXIgYm9va2luZy4gVW50aWNrIHRvIHN0YXkgaW4gZG91YmxlIHJvb21zIG9ubHkuPC9zbWFsbD48L3NwYW4+JzsKICAgICAgZi5hcHBlbmRDaGlsZChsYik7CiAgICAgIGxiLnF1ZXJ5U2VsZWN0b3IoIi5mYW1DaGsiKS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKGV2KXsgUy5mYW1QaWNrPWV2LnRhcmdldC5jaGVja2VkOyBTLmF1dG89dHJ1ZTsgcmVuZGVyKCk7IH0pOwogICAgfQogICAgZi5zdHlsZS5kaXNwbGF5PShTLmFkdWx0cz49Myk\/IiI6Im5vbmUiOwogICAgZi5xdWVyeVNlbGVjdG9yKCIuZmFtQ2hrIikuY2hlY2tlZD1TLmZhbT4wOwogIH0pOwogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tpZCo9ImF1dG9CdG4iXScpLmZvckVhY2goZnVuY3Rpb24oYil7IGIuc3R5bGUuZGlzcGxheT0ibm9uZSI7IH0pOwp9CmZ1bmN0aW9uIHJlbmRlcigpeyBhcHBseVJhdGVzKCk7IGlmKFMuYWR1bHRzPDMpIFMuZmFtPTA7ICBpZihTLmF1dG8peyBjb25zdCBiPXJlY29tbWVuZCgpOyBpZihiKXsgUy5kYmw9Yi54OyBTLmZhbT1iLnk7IH0gfQogIGNvbnN0IGM9Y2FsYygpOwogICQoImNpIikudmFsdWU9Uy5jaTsgJCgiY28iKS52YWx1ZT1TLmNvOyAkKCJjaSIpLm1pbj10b2RheTsgJCgiY28iKS5taW49Uy5jaT9hZGREYXlzKFMuY2ksMSk6dG9kYXk7CiAgJCgiYWR1bHRzTyIpLnRleHRDb250ZW50PVMuYWR1bHRzOyAkKCJraWRzOU8iKS50ZXh0Q29udGVudD1TLmtpZHM5OyAkKCJraWRzVTlPIikudGV4dENvbnRlbnQ9Uy5raWRzVTk7ICQoImRibE8iKS50ZXh0Q29udGVudD1TLmRibDsgJCgiZmFtTyIpLnRleHRDb250ZW50PVMuZmFtOyByb29tc1VJKCk7CiAgJCgicm9vbUhpbnQiKS50ZXh0Q29udGVudCA9IGMucHJvYmxlbSB8fCAoKCJZb3VyIHJvb21zOiAiK3Jvb21QbGFuKCkrIi4iKSsoYy5leHRyYXM\/IiBJbmNsdWRlcyAiK3BsdXJhbChjLmV4dHJhcywiZXh0cmEgYmVkIiwiZXh0cmEgYmVkcyIpKyIgYXQg4oK5NTAwIGEgbmlnaHQuIjoiIikpOwogICQoInJvb21IaW50Iikuc3R5bGUuY29sb3IgPSBjLnByb2JsZW0gPyAiI2IyM2ExNyIgOiAiIjsKICAkKCJsaW5lcyIpLmlubmVySFRNTD1icmVha2Rvd24oYyk7CiAgJCgiYnJpZWYiKS50ZXh0Q29udGVudCA9IGd1ZXN0c1RleHQoKSsiLiAiK3BsdXJhbChjLm4sIm5pZ2h0IiwibmlnaHRzIikrIiBmcm9tICIrZm10KFMuY2kpKyIuICIrcm9vbXNUZXh0KCkrIi4iOwogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIiNzdGVwcyBidXR0b24iKS5mb3JFYWNoKGI9PnsgY29uc3Qgaz0rYi5kYXRhc2V0LmdvOyBiLmNsYXNzTGlzdC50b2dnbGUoIm9uIixrPT09Uy5zdGVwKTsgYi5jbGFzc0xpc3QudG9nZ2xlKCJkb25lIixrPFMuc3RlcCk7IH0pOwogIGZvcihsZXQgaT0xO2k8PTQ7aSsrKSAkKCJwIitpKS5oaWRkZW4gPSBpIT09Uy5zdGVwOwp9CmNvbnN0IExJTT17YWR1bHRzOlsxLDIwXSxraWRzOTpbMCwxMF0sa2lkc1U5OlswLDEwXSxkYmw6WzAsTUFYREJMXSxmYW06WzAsTUFYRkFNXX07CmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlPT57CiAgY29uc3QgYj1lLnRhcmdldC5jbG9zZXN0KCJbZGF0YS1zdGVwXSIpOyBpZighYikgcmV0dXJuOwogIGNvbnN0IFtrLGRdPWIuZGF0YXNldC5zdGVwLnNwbGl0KCI6Iik7IGNvbnN0IGw9TElNW2tdOwogIFNba109TWF0aC5taW4obFsxXSxNYXRoLm1heChsWzBdLFNba10rICtkKSk7CiAgUy5hdXRvPXRydWU7CiAgcmVuZGVyKCk7Cn0pOwokKCJhdXRvQnRuIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57IFMuYXV0bz10cnVlOyByZW5kZXIoKTsgfSk7CiQoImNpIikuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixlPT57IGlmKCFlLnRhcmdldC52YWx1ZSkgcmV0dXJuOyBTLmNpPWUudGFyZ2V0LnZhbHVlOyBpZihTLmNvPD1TLmNpKSBTLmNvPWFkZERheXMoUy5jaSwxKTsgcmVuZGVyKCk7IH0pOwokKCJjbyIpLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZT0+eyBpZighZS50YXJnZXQudmFsdWUpIHJldHVybjsgUy5jbz1lLnRhcmdldC52YWx1ZTsgaWYoUy5jbzw9Uy5jaSkgUy5jbz1hZGREYXlzKFMuY2ksMSk7IHJlbmRlcigpOyB9KTsKCi8qIC0tLS0tLS0tLS0gc3RlcHMgLS0tLS0tLS0tLSAqLwpmdW5jdGlvbiBnbyhuKXsKICBpZihuPlMuc3RlcCAmJiAhdmFsaWRhdGUoUy5zdGVwKSkgcmV0dXJuOwogIGlmKG49PT00ICYmICFTLnBhaWQpIHJldHVybjsKICBTLnN0ZXA9bjsgcmVuZGVyKCk7IGlmKG49PT0zKSByZW5kZXJSZXZpZXcoKTsKICAkKCJib29rIikuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiJzbW9vdGgiLGJsb2NrOiJzdGFydCJ9KTsKfQpmdW5jdGlvbiB2YWxpZGF0ZShzdGVwKXsKICBpZihzdGVwPT09MSl7CiAgICBjb25zdCBjPWNhbGMoKTsKICAgIGlmKG5pZ2h0cygpPDEpeyAkKCJlMSIpLnRleHRDb250ZW50PSJDaG9vc2UgYSBjaGVjay1vdXQgZGF0ZSBhZnRlciBjaGVjay1pbi4iOyByZXR1cm4gZmFsc2U7IH0KICAgIGlmKFMuY2k8dG9kYXkpeyAkKCJlMSIpLnRleHRDb250ZW50PSJDaGVjay1pbiBjYW5ub3QgYmUgaW4gdGhlIHBhc3QuIjsgcmV0dXJuIGZhbHNlOyB9CiAgICBpZihjLnByb2JsZW0peyAkKCJlMSIpLnRleHRDb250ZW50PWMucHJvYmxlbTsgcmV0dXJuIGZhbHNlOyB9CiAgICAkKCJlMSIpLnRleHRDb250ZW50PSIiOwogIH0KICBpZihzdGVwPT09Mil7CiAgICBjb25zdCBwaD12YWwoImdQaG9uZSIpLnJlcGxhY2UoL1tccy1dL2csIiIpOwogICAgaWYodmFsKCJnTmFtZSIpLmxlbmd0aDwyKXsgJCgiZTIiKS50ZXh0Q29udGVudD0iRW50ZXIgdGhlIG5hbWUgb2YgdGhlIHBlcnNvbiBjaGVja2luZyBpbi4iOyByZXR1cm4gZmFsc2U7IH0KICAgIGlmKCEvXihcKz85MSk\/WzYtOV1cZHs5fSQvLnRlc3QocGgpKXsgJCgiZTIiKS50ZXh0Q29udGVudD0iRW50ZXIgYSAxMC1kaWdpdCBJbmRpYW4gbW9iaWxlIG51bWJlci4iOyByZXR1cm4gZmFsc2U7IH0KICAgIGNvbnN0IGVtPXZhbCgiZ0VtYWlsIik7IGlmKGVtICYmICEvXlteQFxzXStAW15AXHNdK1wuW15AXHNdKyQvLnRlc3QoZW0pKXsgJCgiZTIiKS50ZXh0Q29udGVudD0iVGhhdCBlbWFpbCBhZGRyZXNzIGxvb2tzIGluY29tcGxldGUuIjsgcmV0dXJuIGZhbHNlOyB9CiAgICAkKCJlMiIpLnRleHRDb250ZW50PSIiOwogIH0KICByZXR1cm4gdHJ1ZTsKfQpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZT0+ewogIGNvbnN0IG49ZS50YXJnZXQuY2xvc2VzdCgiW2RhdGEtbmV4dF0iKTsgaWYobil7IGdvKCtuLmRhdGFzZXQubmV4dCk7IHJldHVybjsgfQogIGNvbnN0IGc9ZS50YXJnZXQuY2xvc2VzdCgiI3N0ZXBzIFtkYXRhLWdvXSIpOyBpZihnKXsgY29uc3Qgaz0rZy5kYXRhc2V0LmdvOyBpZihrPD1TLnN0ZXAgfHwgaz09PVMuc3RlcCsxKSBnbyhrKTsgfQp9KTsKZnVuY3Rpb24gcmVuZGVyUmV2aWV3KCl7CiAgY29uc3QgYz1jYWxjKCk7CiAgJCgicmV2aWV3TGluZXMiKS5pbm5lckhUTUw9YDxkaXY+PHNwYW4+R3Vlc3Q8L3NwYW4+PHNwYW4+JHtlc2ModmFsKCJnTmFtZSIpKX08L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj5QYXJ0eTwvc3Bhbj48c3Bhbj4ke2VzYyhndWVzdHNUZXh0KCkpfTwvc3Bhbj48L2Rpdj5gK2JyZWFrZG93bihjKTsKICAkKCJwcmV2aWV3Tm90ZSIpLmhpZGRlbiA9IHRydWU7Cn0KKGZ1bmN0aW9uKCl7CiAgdmFyIF92YWxpZGF0ZSA9IHZhbGlkYXRlOwogIHZhbGlkYXRlID0gZnVuY3Rpb24oc3RlcCl7CiAgICBpZiAoc3RlcCA9PT0gMikgewogICAgICB2YXIgZUJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlMicpOwogICAgICBpZiAoIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W25hbWU9InRpdGxlIl06Y2hlY2tlZCcpKSB7CiAgICAgICAgZUJveC50ZXh0Q29udGVudCA9ICdQbGVhc2Ugc2VsZWN0IGEgdGl0bGUg4oCUIE1yLiwgTXJzLiBvciBNaXNzLic7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dDb25zZW50JykuY2hlY2tlZCkgewogICAgICAgIGVCb3gudGV4dENvbnRlbnQgPSAnUGxlYXNlIGNvbmZpcm0gdGhlIGFnZSBhbmQgSUQgcG9saWN5IHRvIGNvbnRpbnVlLic7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gX3ZhbGlkYXRlKHN0ZXApOwogIH07CiAgdmFyIF9yZW5kZXJSZXZpZXcgPSByZW5kZXJSZXZpZXc7CiAgcmVuZGVyUmV2aWV3ID0gZnVuY3Rpb24oKXsKICAgIF9yZW5kZXJSZXZpZXcuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgIHZhciBybCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXZpZXdMaW5lcycpOwogICAgdmFyIHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dFtuYW1lPSJ0aXRsZSJdOmNoZWNrZWQnKTsKICAgIGlmIChybCAmJiB0KSB7CiAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgdmFyIHMxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOyBzMS50ZXh0Q29udGVudCA9ICdUaXRsZSc7CiAgICAgIHZhciBzMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsgczIudGV4dENvbnRlbnQgPSB0LnZhbHVlOwogICAgICBkaXYuYXBwZW5kQ2hpbGQoczEpOyBkaXYuYXBwZW5kQ2hpbGQoczIpOwogICAgICBybC5pbnNlcnRCZWZvcmUoZGl2LCBybC5maXJzdENoaWxkKTsKICAgIH0KICB9Owp9KSgpOwoKYXN5bmMgZnVuY3Rpb24gcGF5KCl7CiAgY29uc3QgYnRuPSQoInBheUJ0biIpOyBidG4uZGlzYWJsZWQ9dHJ1ZTsgJCgiZTMiKS50ZXh0Q29udGVudD0iIjsgY29uc3QgYz1jYWxjKCk7CiAgUy5yZWYgPSBTLnJlZiB8fCAiTkFSTy0iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsNykudG9VcHBlckNhc2UoKTsKICBjb25zdCBvcmRlcj17IHJlZjpTLnJlZiwgY3VycmVuY3k6IklOUiIsIGFtb3VudElOUjpjLnRvdGFsLCBhbW91bnRQYWlzZTpjLnRvdGFsKjEwMCwKICAgIHByaWNpbmc6e3N1YnRvdGFsSU5SOmMuc3ViLGdzdFJhdGVQZXJjZW50OjUsZ3N0SU5SOmMuZ3N0LHRvdGFsSU5SOmMudG90YWwscGVyTmlnaHRJTlI6Yy5wZXJOaWdodH0sCiAgICBndWVzdDp7bmFtZTp2YWwoImdOYW1lIikscGhvbmU6dmFsKCJnUGhvbmUiKSxlbWFpbDp2YWwoImdFbWFpbCIpfSwKICAgIHN0YXk6e2NoZWNraW46Uy5jaSxjaGVja291dDpTLmNvLG5pZ2h0czpjLm4sZG91YmxlUm9vbXM6Uy5kYmwsZmFtaWx5Um9vbXM6Uy5mYW0sZXh0cmFCZWRzOmMuZXh0cmFzLGFkdWx0czpTLmFkdWx0cyxjaGlsZHJlbjlQbHVzOlMua2lkczksY2hpbGRyZW5CZWxvdzk6Uy5raWRzVTl9LAogICAgY2hlY2tpbjp7YXJyaXZhbDpyYWRpbygiYXJyIiksdmVoaWNsZTp2YWwoImdWZWgiKSxub3Rlczp2YWwoImdOb3RlIil9IH07CiAgdHJ5ewogICAgaWYodHlwZW9mIHdpbmRvdy5OYXJvUGF5PT09ImZ1bmN0aW9uIil7CiAgICAgIGNvbnN0IHI9YXdhaXQgd2luZG93Lk5hcm9QYXkob3JkZXIpOwogICAgICBpZighcnx8IXIucGFpZCkgdGhyb3cgbmV3IEVycm9yKCJQYXltZW50IHdhcyBub3QgY29tcGxldGVkLiIpOwogICAgICBTLnBhaWQ9dHJ1ZTsgUy5wcmV2aWV3PWZhbHNlOyBTLnBheW1lbnRJZD1yLnBheW1lbnRJZHx8IiI7CiAgICB9IGVsc2UgaWYoTElWRV9DRjcgJiYgTElWRV9DRjcudXJsKXsKICAgICAgY29uc3Qgc3VtbWFyeT1bIkNoZWNrIGluOiAiK2ZtdChTLmNpKSwiQ2hlY2sgb3V0OiAiK2ZtdChTLmNvKSsiICgiK3BsdXJhbChjLm4sIm5pZ2h0IiwibmlnaHRzIikrIikiLCJSb29tczogIityb29tc1RleHQoKSwiUGFydHk6ICIrZ3Vlc3RzVGV4dCgpLCJFeHRyYSBiZWRzOiAiK2MuZXh0cmFzLAogICAgICAgICJBcnJpdmFsOiAiK3JhZGlvKCJhcnIiKSwiVmVoaWNsZTogIisodmFsKCJnVmVoIil8fCJub3QgZ2l2ZW4iKSwiQ29tcGFueTogIisodmFsKCJnQ29tcCIpfHwibm90IGdpdmVuIiksIkN1c3RvbWVyIEdTVElOOiAiKyh2YWwoImdHc3QiKXx8Im5vdCBnaXZlbiIpLCJSb29tIGNoYXJnZXM6ICIrZm0yKGMuc3ViKSwiQ0dTVCAyLjUlOiAiK2ZtMihNYXRoLmZsb29yKGMuZ3N0KjUwKS8xMDApLCJTR1NUIDIuNSU6ICIrZm0yKGMuZ3N0LU1hdGguZmxvb3IoYy5nc3QqNTApLzEwMCksIlRvdGFsIChpbmNsLiBHU1QpOiAiK2lucihjLnRvdGFsKSwiUGF5bWVudCBvcHRpb246ICIrKCJQYWlkIGluIGZ1bGwgaW4gYWR2YW5jZSAocmVzY2hlZHVsZSB3aXRoIFJzIDEsMDAwIGNoYW5nZSBmZWUgcGVyIHJvb20gKERvdWJsZSBvciBGYW1pbHkpLCB3aXRoIG5vdGljZSBvbiBXaGF0c0FwcCAoKzkxIDcwMTc3IDE0Mzg1KSBhdCBsZWFzdCAzIGRheXMgYmVmb3JlIGFycml2YWwuIEFueSBjaGFuZ2UgcmVxdWVzdGVkIGxlc3MgdGhhbiAzIGRheXMgYmVmb3JlIGFycml2YWwgaXMgdHJlYXRlZCBhcyBhIG5vLXNob3cgYW5kIGlzIG5vdCB0cmFuc2ZlcmFibGUpIiksIlJlcXVlc3RzOiAiKyh2YWwoImdOb3RlIil8fCJub25lIildLmpvaW4oIlxuIik7CiAgICAgIGNvbnN0IGZkPW5ldyBGb3JtRGF0YSgpOwogICAgICBmZC5hcHBlbmQoIl93cGNmNyIsU3RyaW5nKExJVkVfQ0Y3LmlkKSk7IGZkLmFwcGVuZCgiX3dwY2Y3X3ZlcnNpb24iLCI2LjEiKTsgZmQuYXBwZW5kKCJfd3BjZjdfbG9jYWxlIiwiZW5fVVMiKTsKICAgICAgZmQuYXBwZW5kKCJfd3BjZjdfdW5pdF90YWciLCJ3cGNmNy1mIitMSVZFX0NGNy5pZCsiLXAwLW8xIik7IGZkLmFwcGVuZCgiX3dwY2Y3X2NvbnRhaW5lcl9wb3N0IiwiMCIpOwogICAgICBmZC5hcHBlbmQoImd1ZXN0LW5hbWUiLHZhbCgiZ05hbWUiKSk7IGZkLmFwcGVuZCgiZ3Vlc3QtcGhvbmUiLHZhbCgiZ1Bob25lIikpOyBmZC5hcHBlbmQoImd1ZXN0LWVtYWlsIix2YWwoImdFbWFpbCIpKTsKICAgICAgZmQuYXBwZW5kKCJib29raW5nLXJlZiIsUy5yZWYpOyBmZC5hcHBlbmQoImJvb2tpbmctc3VtbWFyeSIsc3VtbWFyeSk7CiAgICAgIHRyeXsgY29uc3QgcmVzPWF3YWl0IGZldGNoKExJVkVfQ0Y3LnVybCx7bWV0aG9kOiJQT1NUIixib2R5OmZkfSk7IGF3YWl0IHJlcy5qc29uKCk7IH1jYXRjaChfbSl7fQogICAgICBjb25zdCBwcj1hd2FpdCBmZXRjaCgiL3dwLWpzb24vbmFyby92MS9wYXkiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtjaGVja2luOlMuY2ksY2hlY2tvdXQ6Uy5jbyxkYmw6Uy5kYmwsZmFtOlMuZmFtLGFkdWx0czpTLmFkdWx0cyxraWRzOTpTLmtpZHM5LGtpZHNVOTpTLmtpZHNVOSxuYW1lOnZhbCgiZ05hbWUiKSxwaG9uZTp2YWwoImdQaG9uZSIpLGVtYWlsOnZhbCgiZ0VtYWlsIiksZ3N0aW46dmFsKCJnR3N0IikudG9VcHBlckNhc2UoKS5yZXBsYWNlKC9ccy9nLCIiKSxjb21wYW55OnZhbCgiZ0NvbXAiKSxyZWY6Uy5yZWYsYXJyaXZhbDpyYWRpbygiYXJyIiksdmVoaWNsZTp2YWwoImdWZWgiKSxub3RlOnZhbCgiZ05vdGUiKSxtb2RlOnJhZGlvKCJwYXlNb2RlIil9KX0pOyBjb25zdCBwaj1hd2FpdCBwci5qc29uKCkuY2F0Y2goKCk9Pih7fSkpOyBpZighcHIub2t8fCFwai5va3x8IXBqLnVybCkgdGhyb3cgbmV3IEVycm9yKHBqLm1lc3NhZ2V8fCJXZSBjb3VsZCBub3Qgb3BlbiB0aGUgcGF5bWVudCBzY3JlZW4ganVzdCBub3cuIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBtb21lbnQsIG9yIGFzayB1cyBvbiBsaXZlIGNoYXQuIik7IHRyeXtzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJuYXJvR3Vlc3QiLEpTT04uc3RyaW5naWZ5KHtuOnZhbCgiZ05hbWUiKSxwOnZhbCgiZ1Bob25lIiksZTp2YWwoImdFbWFpbCIpfSkpO31jYXRjaChfcyl7fSBsb2NhdGlvbi5ocmVmPXBqLnVybDsgcmV0dXJuOwogICAgfSBlbHNlIHsgUy5wYWlkPXRydWU7IFMucHJldmlldz10cnVlOyB9CiAgfWNhdGNoKGVycil7ICQoImUzIikudGV4dENvbnRlbnQ9KGVyciYmZXJyLm1lc3NhZ2UpfHwiWW91ciByZXF1ZXN0IGRpZCBub3QgZ28gdGhyb3VnaC4gUGxlYXNlIHRyeSBhZ2Fpbi4iOyBidG4uZGlzYWJsZWQ9ZmFsc2U7IHJldHVybjsgfQogIGJ0bi5kaXNhYmxlZD1mYWxzZTsgUy5zdGVwPTQ7IHJlbmRlcigpOyByZW5kZXJQYXNzKCk7ICQoImJvb2siKS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6InNtb290aCIsYmxvY2s6InN0YXJ0In0pOwp9CiQoInBheUJ0biIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixwYXkpOwoKZnVuY3Rpb24gcmVuZGVyUGFzcygpewogIGNvbnN0IGM9Y2FsYygpOwogICQoInBhc3NSZWYiKS50ZXh0Q29udGVudD1TLnJlZjsKICAkKCJwYXNzU3RhbXAiKS50ZXh0Q29udGVudCA9IFMucHJldmlldyA\/ICJQcmV2aWV3LCBub3Qgc2VudCIgOiAoUy5wYXltZW50SWQgPyAiQ29uZmlybWVkIGFuZCBwYWlkIiA6ICJSZXF1ZXN0IHNlbnQsIGF3YWl0aW5nIGNvbmZpcm1hdGlvbiIpOwogIGNvbnN0IHJvd3M9W1siR3Vlc3QiLHZhbCgiZ05hbWUiKV0sWyJDaGVjayBpbiIsZm10KFMuY2kpXSxbIkNoZWNrIG91dCIsZm10KFMuY28pXSxbIlJvb21zIixyb29tc1RleHQoKV0sCiAgICBbIlBhcnR5IixndWVzdHNUZXh0KCldLFsiRXh0cmEgYmVkcyIsU3RyaW5nKGMuZXh0cmFzKV0sWyJBcnJpdmluZyIscmFkaW8oImFyciIpXSxbIlZlaGljbGUiLHZhbCgiZ1ZlaCIpfHwiTm90IGdpdmVuIl0sWyJUb3RhbCB3aXRoIEdTVCwgdG8gYmUgY29uZmlybWVkIixpbnIoYy50b3RhbCldXTsKICAkKCJwYXNzRGwiKS5pbm5lckhUTUw9cm93cy5tYXAocj0+YDxkaXY+PGR0PiR7clswXX08L2R0PjxkZD4ke2VzYyhyWzFdKX08L2RkPjwvZGl2PmApLmpvaW4oIiIpOwogIHdyaXRlV2VsY29tZSgpOwp9CmFzeW5jIGZ1bmN0aW9uIHdyaXRlV2VsY29tZSgpewogIGNvbnN0IG89JCgid2VsY29tZSIpOyBvLnRleHRDb250ZW50PSJQcmVwYXJpbmcgeW91ciBub3Rl4oCmIjsgYXdhaXQgc2FtcGxlUmVhZHk7CiAgY29uc3QgZmlyc3Q9dmFsKCJnTmFtZSIpLnNwbGl0KCIgIilbMF18fCJHdWVzdCI7CiAgY29uc3QgZmFsbGJhY2s9YFdlbGNvbWUsICR7Zmlyc3R9LiBXZSBsb29rIGZvcndhcmQgdG8gc2VlaW5nIHlvdSBvbiAke2ZtdChTLmNpKX0uIFRoZSByZXNvcnQgaXMgb24gdGhlIFlhbXVub3RyaSBIaWdod2F5IG5lYXIgVmlrYXMgTmFnYXIsIGFib3V0IDQ1IGttIGZyb20gRGVocmFkdW4uIEZyZWUgcGFya2luZyBpcyBhdmFpbGFibGUsIGFuZCBOYXJvIFJlc3RhdXJhbnQgc2VydmVzIHB1cmUgdmVnZXRhcmlhbiBtZWFscyB0aHJvdWdob3V0IHlvdXIgc3RheS4gVGVhbSBOYXJvYDsKICB0cnl7CiAgICBpZighc2FtcGxlRm4pIHRocm93IG5ldyBFcnJvcigieCIpOwogICAgY29uc3Qgcj1hd2FpdCBzYW1wbGVGbihgV3JpdGUgYSB3YXJtLCBwbGFpbiBub3RlIG9mIDMgdG8gNCBzZW50ZW5jZXMgdG8gYSBndWVzdCBiZWZvcmUgdGhlaXIgc3RheSBhdCBOYXJvIEVjbyBSZXNvcnQuIFVzZSBvbmx5IHRoZXNlIGZhY3RzIGFuZCBkbyBub3QgaW52ZW50IHRpbWVzLCBwcmljZXMsIHdlYXRoZXIgb3IgcG9saWNpZXMuIERvIG5vdCBtZW50aW9uIGJyZWFrZmFzdCBiZWluZyBpbmNsdWRlZC5cbkZBQ1RTOlxuJHtGQUNUU31cblxuR3Vlc3QgZmlyc3QgbmFtZTogJHtmaXJzdH1cbkNoZWNrIGluOiAke2ZtdChTLmNpKX0sICR7bmlnaHRzKCl9IG5pZ2h0c1xuUm9vbXM6ICR7cm9vbXNUZXh0KCl9XG5QYXJ0eTogJHtndWVzdHNUZXh0KCl9XG5BcnJpdmFsIHdpbmRvdzogJHtyYWRpbygiYXJyIil9XG5PY2Nhc2lvbiBvciByZXF1ZXN0czogJHt2YWwoImdOb3RlIil8fCJub25lIn1cbk1lbnRpb24gdGhlaXIgb2NjYXNpb24gb3IgcmVxdWVzdCBpZiBhbnksIGFuZCBvbmUgdGhpbmcgdG8gbG9vayBmb3J3YXJkIHRvLiBTaWduIG9mZiBhcyBUZWFtIE5hcm8uYCx7b25UZXh0Oih7dGV4dH0pPT57by50ZXh0Q29udGVudD10ZXh0O319KTsKICAgIG8udGV4dENvbnRlbnQ9ci50ZXh0OwogIH1jYXRjaChlKXsgby50ZXh0Q29udGVudD1mYWxsYmFjazsgfQp9CiQoImNvcHlQYXNzIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFzeW5jKCk9PnsKICBjb25zdCB0eHQ9YE5hcm8gRWNvIFJlc29ydCBjaGVjay1pbiBwYXNzICR7Uy5yZWZ9XG5gK1suLi4kKCJwYXNzRGwiKS5jaGlsZHJlbl0ubWFwKGQ9PmQuY2hpbGRyZW5bMF0udGV4dENvbnRlbnQrIjogIitkLmNoaWxkcmVuWzFdLnRleHRDb250ZW50KS5qb2luKCJcbiIpOwogIHRyeXsgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodHh0KTsgJCgiY29weU1zZyIpLnRleHRDb250ZW50PSJDb3BpZWQuIjsgfQogIGNhdGNoKGUpeyBjb25zdCByPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7IHIuc2VsZWN0Tm9kZUNvbnRlbnRzKCQoInBhc3NEbCIpKTsgY29uc3Qgcz1nZXRTZWxlY3Rpb24oKTsgcy5yZW1vdmVBbGxSYW5nZXMoKTsgcy5hZGRSYW5nZShyKTsgJCgiY29weU1zZyIpLnRleHRDb250ZW50PSJTZWxlY3RlZC4gUHJlc3MgY29weSBvbiB5b3VyIGRldmljZS4iOyB9Cn0pOwoKLyogLS0tLS0tLS0tLSBUcmlwIHBsYW5uZXIgLS0tLS0tLS0tLSAqLwpmdW5jdGlvbiBsb2NhbFBhcnNlKHQpewogIGNvbnN0IHM9dC50b0xvd2VyQ2FzZSgpLCBvdXQ9e307IGxldCBtOwogIGlmKChtPXMubWF0Y2goLyhcZCspXHMqKGFkdWx0fHBlb3BsZXxndWVzdHxwZXJzb258b2YgdXMpLykpKSBvdXQuYWR1bHRzPSttWzFdOwogIGlmKChtPXMubWF0Y2goLyhcZCspXHMqKGtpZHxjaGlsZCkvKSkpeyBvdXQua2lkczk9K21bMV07IGNvbnN0IGE9cy5tYXRjaCgvYWdlZD9ccysoXGR7MSwyfSg\/OlxzKig\/Oix8YW5kfCYpXHMqXGR7MSwyfSg\/IVxkfFxzKig\/Om5pZ2h0fGFkdWx0fGd1ZXN0fHBlb3BsZXxraWR8Y2hpbGQpKSkqKS8pOyBpZihhKXsgY29uc3QgYWdlcz1hWzFdLm1hdGNoKC9cZCsvZykubWFwKE51bWJlcik7IG91dC5raWRzVTk9YWdlcy5maWx0ZXIoeD0+eDw5KS5sZW5ndGg7IG91dC5raWRzOT1NYXRoLm1heCgwLCttWzFdLW91dC5raWRzVTkpOyB9IH0KICBpZigobT1zLm1hdGNoKC8oXGQrKVxzKm5pZ2h0LykpKSBvdXQubmlnaHRzPSttWzFdOyBlbHNlIGlmKC93ZWVrZW5kLy50ZXN0KHMpKSBvdXQubmlnaHRzPTI7CiAgaWYoL2NvdXBsZS8udGVzdChzKSkgb3V0LmFkdWx0cz0yOwogIGNvbnN0IGRheXM9WyJzdW5kYXkiLCJtb25kYXkiLCJ0dWVzZGF5Iiwid2VkbmVzZGF5IiwidGh1cnNkYXkiLCJmcmlkYXkiLCJzYXR1cmRheSJdLCBkMD1uZXcgRGF0ZSh0b2RheSsiVDAwOjAwOjAwIik7CiAgZGF5cy5mb3JFYWNoKChkLGkpPT57IGlmKHMuaW5jbHVkZXMoZCkpeyBvdXQuY2hlY2tpbj1hZGREYXlzKHRvZGF5LChpLWQwLmdldERheSgpKzcpJTd8fDcpOyB9IH0pOwogIGlmKCFvdXQuY2hlY2tpbiYmL3dlZWtlbmQvLnRlc3QocykpIG91dC5jaGVja2luPWFkZERheXModG9kYXksZnJpZGF5KTsKICBpZighb3V0LmNoZWNraW4mJi90b21vcnJvdy8udGVzdChzKSkgb3V0LmNoZWNraW49YWRkRGF5cyh0b2RheSwxKTsKICByZXR1cm4gb3V0Owp9CmZ1bmN0aW9uIGFwcGx5UGxhbihwKXsKICBpZihwLmFkdWx0cykgUy5hZHVsdHM9TWF0aC5taW4oMjAsTWF0aC5tYXgoMSxNYXRoLnJvdW5kKHAuYWR1bHRzKSkpOwogIGlmKHAua2lkczkhPW51bGwpIFMua2lkczk9TWF0aC5taW4oMTAsTWF0aC5tYXgoMCxNYXRoLnJvdW5kKHAua2lkczkpKSk7CiAgaWYocC5raWRzVTkhPW51bGwpIFMua2lkc1U5PU1hdGgubWluKDEwLE1hdGgubWF4KDAsTWF0aC5yb3VuZChwLmtpZHNVOSkpKTsKICBpZihwLmNoZWNraW4mJi9eXGR7NH0tXGR7Mn0tXGR7Mn0kLy50ZXN0KHAuY2hlY2tpbikmJnAuY2hlY2tpbj49dG9kYXkpIFMuY2k9cC5jaGVja2luOwogIGNvbnN0IG49TWF0aC5taW4oMjEsTWF0aC5tYXgoMSxNYXRoLnJvdW5kKHAubmlnaHRzfHxuaWdodHMoKXx8MikpKTsKICBTLmNvPWFkZERheXMoUy5jaSxuKTsgUy5hdXRvPXRydWU7IFMuc3RlcD0xOyBTLnBhaWQ9ZmFsc2U7IHJlbmRlcigpOwp9CmFzeW5jIGZ1bmN0aW9uIHBsYW5UcmlwKCl7CiAgY29uc3QgdD12YWwoInRyaXBUZXh0Iik7IGlmKCF0KXsgJCgiYWlNc2ciKS50ZXh0Q29udGVudD0iRGVzY3JpYmUgeW91ciB0cmlwIGZpcnN0LCBvciB0YXAgb25lIG9mIHRoZSBleGFtcGxlcy4iOyByZXR1cm47IH0KICBjb25zdCBidG49JCgicGxhbkJ0biIpOyBidG4uZGlzYWJsZWQ9dHJ1ZTsgJCgiYWlNc2ciKS50ZXh0Q29udGVudD0iUmVhZGluZyB5b3VyIHJlcXVlc3TigKYiOyBhd2FpdCBzYW1wbGVSZWFkeTsgbGV0IHBsYW47CiAgdHJ5ewogICAgaWYoIXNhbXBsZUZuKSB0aHJvdyBuZXcgRXJyb3IoIngiKTsKICAgIGNvbnN0IGo9YXdhaXQgc2FtcGxlRm4uanNvbihgRXh0cmFjdCBib29raW5nIGRldGFpbHMgZnJvbSBhIGd1ZXN0J3MgbWVzc2FnZSBmb3IgYSByZXNvcnQgd2l0aCBkb3VibGUgcm9vbXMgKDIgZ3Vlc3RzKSBhbmQgb25lIGZhbWlseSByb29tICg0IGd1ZXN0cykuIENoaWxkcmVuIGJlbG93IDkgc3RheSBmcmVlLiBUb2RheSBpcyAke3RvZGF5fSAoJHtuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygiZW4tVVMiLHt3ZWVrZGF5OiJsb25nIn0pfSkuIFJlc29sdmUgcmVsYXRpdmUgZGF0ZXMgdG8gYSByZWFsIGZ1dHVyZSBZWVlZLU1NLURELiBDaGlsZHJlbiB3aG9zZSBhZ2VzIGFyZSBub3Qgc3RhdGVkIGdvIGluIGNoaWxkcmVuXzlfcGx1cywgYW5kIHlvdXIgbm90ZSBtdXN0IHRoZW4gc2F5IGFnZXMgd2VyZSBub3QgZ2l2ZW4gYW5kIHRoYXQgY2hpbGRyZW4gYmVsb3cgOSBzdGF5IGZyZWUuIFJlcGx5IHdpdGggb25seSBKU09OOiB7ImNoZWNraW4iOiJZWVlZLU1NLUREIG9yIG51bGwiLCJuaWdodHMiOm51bWJlciBvciBudWxsLCJhZHVsdHMiOm51bWJlciBvciBudWxsLCJjaGlsZHJlbl85X3BsdXMiOm51bWJlciBvciAwLCJjaGlsZHJlbl9iZWxvd185IjpudW1iZXIgb3IgMCwibm90ZSI6Im9uZSBzaG9ydCBmcmllbmRseSBzZW50ZW5jZSBzYXlpbmcgd2hhdCB5b3Ugc2V0LCBhbmQgYW55dGhpbmcgdW5jbGVhciJ9LlxuR3Vlc3QgbWVzc2FnZTogJHt0fWAse21vZGVsVGllcjoicXVpY2sifSk7CiAgICBwbGFuPXtjaGVja2luOmouY2hlY2tpbixuaWdodHM6ai5uaWdodHMsYWR1bHRzOmouYWR1bHRzLGtpZHM5OmouY2hpbGRyZW5fOV9wbHVzfHwwLGtpZHNVOTpqLmNoaWxkcmVuX2JlbG93Xzl8fDAsbm90ZTpqLm5vdGV9OwogIH1jYXRjaChlKXsgcGxhbj1sb2NhbFBhcnNlKHQpOyBwbGFuLm5vdGU9IlNldCBmcm9tIHlvdXIgbWVzc2FnZS4gQ2hpbGRyZW4gYmVsb3cgOSBzdGF5IGZyZWUsIHNvIHRlbGwgdXMgdGhlaXIgYWdlcyBpZiB5b3UgaGF2ZSBub3QuIjsgfQogIGFwcGx5UGxhbihwbGFuKTsgYnRuLmRpc2FibGVkPWZhbHNlOyBpZih0eXBlb2Ygb3BlbkJvb2tEcmF3ZXI9PT0iZnVuY3Rpb24iKSBvcGVuQm9va0RyYXdlcigpOwogICQoImFpTXNnIikudGV4dENvbnRlbnQ9KHBsYW4ubm90ZXx8IkJvb2tpbmcgdXBkYXRlZC4iKSsiIFRha2luZyB5b3UgdG8geW91ciBib29raW5nLiI7CiAgc2V0VGltZW91dCgoKT0+JCgiYm9vayIpLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjoic21vb3RoIn0pLDUwMCk7Cn0KJCgicGxhbkJ0biIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixwbGFuVHJpcCk7ClsiMiBhZHVsdHMgYW5kIDIga2lkcyBhZ2VkIDYgYW5kIDgsIDMgbmlnaHRzIGZyb20gbmV4dCBGcmlkYXkiLCJHcm91cCBvZiA2IGFkdWx0cyBmb3IgMiBuaWdodHMgZnJvbSB0b21vcnJvdyIsIkNvdXBsZSdzIHdlZWtlbmQgZ2V0YXdheSJdLmZvckVhY2godD0+ewogIGNvbnN0IGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7IGIudHlwZT0iYnV0dG9uIjsgYi5jbGFzc05hbWU9ImNoaXAiOyBiLnRleHRDb250ZW50PXQ7IGIub25jbGljaz0oKT0+eyAkKCJ0cmlwVGV4dCIpLnZhbHVlPXQ7IHBsYW5UcmlwKCk7IH07ICQoInNhbXBsZXMiKS5hcHBlbmRDaGlsZChiKTsKfSk7CgovKiAtLS0tLS0tLS0tIGd1aWRlIC0tLS0tLS0tLS0gKi8KY29uc3QgaGlzdG9yeT1bXTsKZnVuY3Rpb24gYWRkTXNnKHJvbGUsdGV4dCl7IGNvbnN0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IGQuY2xhc3NOYW1lPSJtICIrKHJvbGU9PT0idSI\/InUiOiJhIik7IGQudGV4dENvbnRlbnQ9dGV4dDsgJCgibXNncyIpLmFwcGVuZENoaWxkKGQpOyAkKCJtc2dzIikuc2Nyb2xsVG9wPTFlOTsgcmV0dXJuIGQ7IH0KYWRkTXNnKCJhIiwiV2VsY29tZSB0byBOYXJvIEVjbyBSZXNvcnQuIEFzayBtZSBhYm91dCByb29tcywgcHJpY2VzLCBmb29kLCBldmVudHMgb3IgbmVhcmJ5IHBsYWNlcywgb3IgdGVsbCBtZSB5b3VyIGRhdGVzIGFuZCBJIHdpbGwgc2V0IHVwIHlvdXIgYm9va2luZy4iKTsKZnVuY3Rpb24gbG9jYWxBbnN3ZXIocSl7CiAgY29uc3Qgcz1xLnRvTG93ZXJDYXNlKCk7CiAgaWYoL21hdG9naXxtYXRvbmdpfOCkruCkvuCkn+Cli+Ckl+ClgC8udGVzdChzKSkgcmV0dXJuICJNYXRvZ2kgU2hpdiBUZW1wbGUgaXMgb24gYSBoaWxsdG9wIGluIE1hdG9naSB2aWxsYWdlIG9uIHRoZSBWaWthc25hZ2FyIHNpZGUgb2YgRGVocmFkdW4sIHJlYWNoZWQgYnkgdGhlIENoYWtyYXRhIHJvYWQgYW5kIHRoZSBmb3Jlc3Qgcm9hZCBmcm9tIExhbmdoYSB0aHJvdWdoIEJpbmhhci4gQSB0YWxsIHN0YXR1ZSBvZiBMb3JkIFNoaXZhIGluIG1lZGl0YXRpb24gYW5kIG5pbmUgU2hpdmEgbGluZ2FzIGFyZSB0aGUgaGlnaGxpZ2h0cywgd2l0aCB3aWRlIEhpbWFsYXlhbiB2aWV3cyBvbiBjbGVhciBkYXlzLiBGdWxsIGd1aWRlIHdpdGggcm91dGUgYW5kIHRpcHM6IGRlaHJhZHVuaS5jb20vbWF0b2dpLXNoaXZhLXRlbXBsZSI7CiAgaWYoL2t1bmphcHVyaXzgpJXgpYHgpILgpJzgpL7gpKrgpYHgpLDgpYAvLnRlc3QocykpIHJldHVybiAiS3VuamFwdXJpIERldmkgaXMgYSByZXZlcmVkIFNoYWt0aSBQZWV0aCBhYm92ZSBOYXJlbmRyYSBOYWdhciwgYWJvdXQgMjUga20gZnJvbSBSaXNoaWtlc2guIEFyb3VuZCAzMDAgc3RlcHMgbGVhZCB0byB0aGUgc2hyaW5lLCBmYW1vdXMgZm9yIHN1bnJpc2Ugdmlld3Mgb3ZlciB0aGUgR2FyaHdhbCBIaW1hbGF5YS4gR28gZWFybHkgYW5kIGNhcnJ5IGEgbGlnaHQgamFja2V0LiBGdWxsIGd1aWRlOiBkZWhyYWR1bmkuY29tL2t1bmphcHVyaS10ZW1wbGUiOwogIGlmKC9yYWh1fHBhaXRoYW5pfOCksOCkvuCkueClgXzgpKrgpYjgpKDgpL7gpKPgpYAvLnRlc3QocykpIHJldHVybiAiUmFodSBNYW5kaXIgYXQgUGFpdGhhbmkgaW4gUGF1cmkgR2FyaHdhbCBpcyBvbmUgb2YgdGhlIHZlcnkgZmV3IFJhaHUgdGVtcGxlcyBpbiBJbmRpYS4gTG9yZCBTaGl2YSBpcyB3b3JzaGlwcGVkIGluc2lkZSB0aGUgb2xkIHN0b25lIHRlbXBsZSBhbmQgUmFodSBvdXRzaWRlIGFzIHRoZSBSYWh1IFNoaWxhIGJ5IHRoZSByaXZlci4gSXQgaXMgYWJvdXQgNTAga20gYmV5b25kIFBhdXJpLCBzbyBwbGFuIGEgZnVsbCBkYXkgb3IgYW4gb3Zlcm5pZ2h0IHRyaXAuIEZ1bGwgZ3VpZGU6IGRlaHJhZHVuaS5jb20vcmFodS1tYW5kaXItcGFpdGhhbmkiOwogIGlmKC9iaGFkcmFqfOCkreCkpuCljeCksOCkvuCknC8udGVzdChzKSkgcmV0dXJuICJCaGFkcmFqIFRlbXBsZSBpcyBhIHJpZGdlLXRvcCBzaHJpbmUgb2YgTG9yZCBCYWxiaGFkcmEgKEJhbHJhbSkgd2VzdCBvZiBNdXNzb29yaWUsIHJlYWNoZWQgYnkgYSBoaWxsIHRyZWssIHdpdGggc3dlZXBpbmcgdmlld3Mgb2YgdGhlIERvb24gdmFsbGV5IGFuZCwgb24gY2xlYXIgZGF5cywgc25vdyBwZWFrcy4gRnVsbCBndWlkZSB3aXRoIHJvdXRlIGFuZCB0aXBzOiBkZWhyYWR1bmkuY29tL2JoYWRyYWotdGVtcGxlIjsKICBpZigvZGVocmFkdW5pfHRyYXZlbCBibG9nfHRyYXZlbCBndWlkZS8udGVzdChzKSkgcmV0dXJuICJGb3IgZGV0YWlsZWQgZ3VpZGVzIHRvIHRlbXBsZXMgYW5kIGRheSB0cmlwcyBhcm91bmQgRGVocmFkdW4gYW5kIHRoZSBHYXJod2FsIGhpbGxzLCBpbmNsdWRpbmcgTWF0b2dpIFNoaXYgVGVtcGxlLCBCaGFkcmFqLCBLdW5qYXB1cmkgYW5kIFJhaHUgTWFuZGlyLCB2aXNpdCBkZWhyYWR1bmkuY29tIjsKICBpZigvcHJlcGF5fHByZS1wYXl8YWR2YW5jZXx0b2tlbnxyZXNjaGVkfGNhbmNlbHxyZWZ1bmR8bm8uP3Nob3d8Y2hhbmdlICh0aGUgKT9kYXRlLy50ZXN0KHMpKSByZXR1cm4gIkZ1bGwgcGF5bWVudCBpcyByZXF1aXJlZCBpbiBhZHZhbmNlIHRvIGNvbmZpcm0gYSBib29raW5nLiBJZiB5b3VyIHBsYW5zIGNoYW5nZSwgeW91IGNhbiByZXNjaGVkdWxlIHlvdXIgc3RheSBmb3IgYSDigrkxLDAwMCBjaGFuZ2UgZmVlIHBlciByb29tIChEb3VibGUgb3IgRmFtaWx5KSwgd2l0aCBub3RpY2Ugb24gV2hhdHNBcHAgKCs5MSA3MDE3NyAxNDM4NSkgYXQgbGVhc3QgMyBkYXlzIGJlZm9yZSBhcnJpdmFsLiBBbnkgY2hhbmdlIHJlcXVlc3RlZCBsZXNzIHRoYW4gMyBkYXlzIGJlZm9yZSBhcnJpdmFsIGlzIHRyZWF0ZWQgYXMgYSBuby1zaG93IGFuZCBpcyBub3QgdHJhbnNmZXJhYmxlLiI7CiAgaWYoL2JyZWFrZmFzdC8udGVzdChzKSkgcmV0dXJuICJCcmVha2Zhc3QgaXMgbm90IGluY2x1ZGVkIGluIHRoZSByb29tIHJhdGUuIE5hcm8gUmVzdGF1cmFudCBzZXJ2ZXMgcHVyZSB2ZWdldGFyaWFuIGZvb2Qgb24gc2l0ZS4iOwogIGlmKC9nc3R8dGF4Ly50ZXN0KHMpKSByZXR1cm4gIk91ciByYXRlcyBkbyBub3QgaW5jbHVkZSBHU1QuIDUlIEdTVCBpcyBhZGRlZCBvbiB0b3AsIGFuZCB5b3VyIGJvb2tpbmcgdG90YWwgc2hvd3MgaXQgc2VwYXJhdGVseS4iOwogIGlmKC9jaGlsZHxraWQvLnRlc3QocykpIHJldHVybiAiQ2hpbGRyZW4gYmVsb3cgOSBzdGF5IGZyZWUuIEFuIGV4dHJhIGJlZCBpcyDigrk1MDAgYSBuaWdodC4iOwogIGlmKC9leHRyYSBiZWQvLnRlc3QocykpIHJldHVybiAiQW4gZXh0cmEgYmVkIGlzIOKCuTUwMCBwZXIgbmlnaHQuIjsKICBpZigvcHJpY2V8cmF0ZXxjb3N0fHRhcmlmZnzigrl8cnNcYnxyb29tLy50ZXN0KHMpKSByZXR1cm4gIkEgRG91YmxlIFJvb20gaXMg4oK5Miw1MDAgYSBuaWdodCBhbmQgdGhlIDQtYmVkIEZhbWlseSBSb29tIGlzIOKCuTQsMDAwIGEgbmlnaHQsIGJvdGggcGx1cyA1JSBHU1QuIEV2ZXJ5IHJvb20gaGFzIGEgZGVzZXJ0IGNvb2xlci4gNSUgR1NUIGlzIGFkZGVkLCBhbmQgYnJlYWtmYXN0IGlzIG5vdCBpbmNsdWRlZC4iOwogIGlmKC9wb29sfHN3aW0vLnRlc3QocykpIHJldHVybiAiT3VyIHN3aW1taW5nIHBvb2wgd2lsbCBiZSBpbmF1Z3VyYXRlZCBzaG9ydGx5LiBJdCBpcyBub3Qgb3BlbiB5ZXQuIjsKICBpZigvc3BhfG1hc3NhZ2UvLnRlc3QocykpIHJldHVybiAiVGhlcmUgaXMgbm8gc3BhIGF0IHRoZSByZXNvcnQgYXQgdGhlIG1vbWVudC4iOwogIGlmKC9jb3VwbGV8dW5tYXJyaWVkfGhvbmV5bW9vbi8udGVzdChzKSkgcmV0dXJuICJZZXMsIE5hcm8gRWNvIFJlc29ydCBpcyBjb3VwbGUgZnJpZW5kbHkgYW5kIHVubWFycmllZCBjb3VwbGVzIGFyZSB3ZWxjb21lLiI7CiAgaWYoL3BheXx1cGl8Y2FyZC8udGVzdChzKSkgcmV0dXJuICJZb3UgcGF5IG9ubGluZSB0aHJvdWdoIFJhem9ycGF5IGFmdGVyIHlvdSByZXZpZXcgeW91ciBib29raW5nLiBUaGUgcmVzb3J0IHRlYW0gY29uZmlybXMgYXZhaWxhYmlsaXR5LiI7CiAgaWYoL3dlZGRpbmd8ZXZlbnR8cGFydHl8YmlydGhkYXl8aGFsbC8udGVzdChzKSkgcmV0dXJuICJXZSBob3N0IGRlc3RpbmF0aW9uIHdlZGRpbmdzLCBiaXJ0aGRheXMgYW5kIGtpdHR5IHBhcnRpZXMuIFRoZSBjb25mZXJlbmNlIGhhbGwgaXMgNDAgw5cgNDAgZnQgYW5kIHBhcmtpbmcgZml0cyBvdmVyIDUwIHZlaGljbGVzLiBUaGUgdGVhbSBjb25maXJtcyBkYXRlcyBhbmQgcXVvdGVzLiI7CiAgaWYoL2Zvb2R8ZWF0fHJlc3RhdXJhbnR8bWVudXxkZWxpdmVyfHZlZy8udGVzdChzKSkgcmV0dXJuICJOYXJvIFJlc3RhdXJhbnQgc2VydmVzIHB1cmUgdmVnZXRhcmlhbiBmb29kIG9ubHkuIEZvb2QgZGVsaXZlcnkgaXMgYXZhaWxhYmxlIHdpdGhpbiAxNSBrbS4iOwogIGlmKC9uZWFyfHZpc2l0fGRpc3RhbmNlfGthbHNpfGRha3BhdGhhcnxhc2FufHRlbXBsZXx0cmVrLy50ZXN0KHMpKSByZXR1cm4gIk5lYXJieTogQXNob2thIFJvY2sgRWRpY3RzIGF0IEthbHNpICg2IGttKSwgRGFrcGF0aGFyIEJhcnJhZ2UgKDgga20pLCBBc2FuIEJhcnJhZ2UgZm9yIGJvYXRpbmcgYW5kIGJpcmR3YXRjaGluZyAoMjUga20pLCBhbmQgc2V2ZXJhbCB0ZW1wbGVzLiI7CiAgaWYoL3doZXJlfGxvY2F0aW9ufHJlYWNofGRlaHJhZHVuLy50ZXN0KHMpKSByZXR1cm4gIldlIGFyZSBvbiB0aGUgWWFtdW5vdHJpIEhpZ2h3YXkgbmVhciBWaWthcyBOYWdhciwgYWJvdXQgNDUga20gZnJvbSBEZWhyYWR1bi4iOwogIHJldHVybiAiSSBjYW4gaGVscCB3aXRoIHJvb21zLCBwcmljZXMsIGZvb2QsIGV2ZW50cywgcGF5bWVudCBhbmQgbmVhcmJ5IHBsYWNlcy4gVGhlIHJlc29ydCB0ZWFtIGNvbmZpcm1zIGFueXRoaW5nIGVsc2UgZGlyZWN0bHkuIjsKfQphc3luYyBmdW5jdGlvbiBhc2socSl7CiAgYWRkTXNnKCJ1IixxKTsgaGlzdG9yeS5wdXNoKCJHdWVzdDogIitxKTsgY29uc3Qgb3V0PWFkZE1zZygiYSIsIuKApiIpOyAkKCJjaGF0U2VuZCIpLmRpc2FibGVkPXRydWU7IGF3YWl0IHNhbXBsZVJlYWR5OwogIHRyeXsKICAgIGlmKCFzYW1wbGVGbikgdGhyb3cgbmV3IEVycm9yKCJ4Iik7CiAgICBjb25zdCByPWF3YWl0IHNhbXBsZUZuKGBZb3UgYXJlIHRoZSBndWlkZSBmb3IgTmFybyBFY28gUmVzb3J0LiBBbnN3ZXIgaW4gMSB0byA0IHNob3J0IHNlbnRlbmNlcywgd2FybSBhbmQgcGxhaW4uIFVzZSBvbmx5IHRoZXNlIGZhY3RzLiBJZiBzb21ldGhpbmcgaXMgbm90IGxpc3RlZCAoYXZhaWxhYmlsaXR5LCBjaGVjay1pbiB0aW1lcywgcGhvbmUgbnVtYmVycywgcmVmdW5kIHBvbGljeSksIHNheSB0aGUgcmVzb3J0IHRlYW0gd2lsbCBjb25maXJtIGl0LiBOZXZlciBpbnZlbnQgcHJpY2VzLiBGb3IgYSBwcmljZSBxdW90ZSBmb3Igc3BlY2lmaWMgZGF0ZXMgYW5kIGd1ZXN0cywgdGVsbCB0aGUgZ3Vlc3QgdG8gdXNlIHRoZSBib29raW5nIHNlY3Rpb24gb24gdGhpcyBwYWdlLCB3aGljaCBjYWxjdWxhdGVzIGl0IHdpdGggR1NULlxuRkFDVFM6XG4ke0ZBQ1RTfVxuXG5DT05WRVJTQVRJT046XG4ke2hpc3Rvcnkuc2xpY2UoLTgpLmpvaW4oIlxuIil9XG5HdWlkZTpgLHtjYWNoZTpmYWxzZSxvblRleHQ6KHt0ZXh0fSk9Pnsgb3V0LnRleHRDb250ZW50PXRleHQ7ICQoIm1zZ3MiKS5zY3JvbGxUb3A9MWU5OyB9fSk7CiAgICBvdXQudGV4dENvbnRlbnQ9ci50ZXh0OyBoaXN0b3J5LnB1c2goIkd1aWRlOiAiK3IudGV4dCk7CiAgfWNhdGNoKGUpeyBjb25zdCBhPWxvY2FsQW5zd2VyKHEpOyBvdXQudGV4dENvbnRlbnQ9YTsgaGlzdG9yeS5wdXNoKCJHdWlkZTogIithKTsgfQogICQoImNoYXRTZW5kIikuZGlzYWJsZWQ9ZmFsc2U7Cn0KZnVuY3Rpb24gb3BlbkNoYXQob3Blbil7ICQoImNoYXQiKS5oaWRkZW49IW9wZW47ICQoImZhYiIpLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsU3RyaW5nKG9wZW4pKTsgaWYob3BlbikgJCgiY2hhdEluIikuZm9jdXMoKTsgfQokKCJmYWIiKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pm9wZW5DaGF0KCQoImNoYXQiKS5oaWRkZW4pKTsKJCgiY2hhdFgiKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pm9wZW5DaGF0KGZhbHNlKSk7CiQoImV2QXNrIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57IGlmKHdpbmRvdy5uYXJvU3VyeWFBc2spIG5hcm9TdXJ5YUFzaygiRG8geW91IGhhdmUgcGFydHkgYW5kIGV2ZW50IHBhY2thZ2VzPyIpOyB9KTsKJCgiY2hhdEZvcm0iKS5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLGU9PnsgZS5wcmV2ZW50RGVmYXVsdCgpOyBjb25zdCB2PXZhbCgiY2hhdEluIik7IGlmKCF2KSByZXR1cm47ICQoImNoYXRJbiIpLnZhbHVlPSIiOyBhc2sodik7IH0pOwpbIklzIGJyZWFrZmFzdCBpbmNsdWRlZD8iLCJBcmUgY291cGxlcyB3ZWxjb21lPyIsIkRvIGNoaWxkcmVuIHBheT8iLCJJcyB0aGUgcG9vbCBvcGVuPyJdLmZvckVhY2godD0+eyBjb25zdCBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOyBiLnR5cGU9ImJ1dHRvbiI7IGIuY2xhc3NOYW1lPSJjaGlwIjsgYi50ZXh0Q29udGVudD10OyBiLm9uY2xpY2s9KCk9PmFzayh0KTsgJCgicXMiKS5hcHBlbmRDaGlsZChiKTsgfSk7CgovKiAtLS0tLS0tLS0tIGl0aW5lcmFyeSAtLS0tLS0tLS0tICovCiQoInBsYW5HbyIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixhc3luYygpPT57CiAgY29uc3QgcT12YWwoInBsYW5JbiIpfHwiMiBkYXlzLCBmYW1pbHkgd2l0aCBraWRzLCBsaWtlcyB0ZW1wbGVzIGFuZCBlYXN5IHdhbGtzIjsgY29uc3Qgbz0kKCJwbGFuT3V0Iik7IG8udGV4dENvbnRlbnQ9IkJ1aWxkaW5nIHlvdXIgaXRpbmVyYXJ54oCmIjsgJCgicGxhbkdvIikuZGlzYWJsZWQ9dHJ1ZTsgYXdhaXQgc2FtcGxlUmVhZHk7CiAgdHJ5ewogICAgaWYoIXNhbXBsZUZuKSB0aHJvdyBuZXcgRXJyb3IoIngiKTsKICAgIGNvbnN0IHI9YXdhaXQgc2FtcGxlRm4oYFdyaXRlIGEgc2hvcnQgZGF5LWJ5LWRheSBpdGluZXJhcnkgZm9yIGEgZ3Vlc3Qgc3RheWluZyBhdCBOYXJvIEVjbyBSZXNvcnQuIFVzZSBvbmx5IHRoZXNlIGZhY3RzLiBEbyBub3QgaW52ZW50IG9wZW5pbmcgaG91cnMsIHByaWNlcyBvciB0cmF2ZWwgdGltZXMuIERvIG5vdCBzdWdnZXN0IG5vbi12ZWdldGFyaWFuIGZvb2Qgb3IgYSBzcGEsIGFuZCBkbyBub3Qgc2F5IHRoZSBwb29sIGlzIG9wZW4uIFBsYWluIHRleHQsIG9uZSBsaW5lIHBlciBwYXJ0IG9mIGRheSwgbm8gbWFya2Rvd24gc3ltYm9scy5cbkZBQ1RTOlxuJHtGQUNUU31cblxuR3Vlc3QgcmVxdWVzdDogJHtxfWAse29uVGV4dDooe3RleHR9KT0+e28udGV4dENvbnRlbnQ9dGV4dDt9fSk7CiAgICBvLnRleHRDb250ZW50PXIudGV4dDsKICB9Y2F0Y2goZSl7IG8udGV4dENvbnRlbnQ9KHdpbmRvdy5uYXJvSXRpbmVyYXJ5P25hcm9JdGluZXJhcnkocSk6IkFzayBOYXJvIFN1cnlhIGZvciBhIHBsYW4uIik7IH0KICAkKCJwbGFuR28iKS5kaXNhYmxlZD1mYWxzZTsKfSk7CgovKiAtLS0tLS0tLS0tIGZvb3RlciBjb250YWN0IC0tLS0tLS0tLS0gKi8KKGZ1bmN0aW9uKCl7CiAgY29uc3QgaXQ9W0NPTlRBQ1QuZW1haWwmJiJFbWFpbDogIitDT05UQUNULmVtYWlsXS5maWx0ZXIoQm9vbGVhbik7CiAgJCgiY29udGFjdExpc3QiKS5pbm5lckhUTUw9aXQubGVuZ3RoP2l0Lm1hcChpPT5gPGxpPiR7ZXNjKGkpfTwvbGk+YCkuam9pbigiIik6YDxsaT5WaWxsYWdlIENoaWx5b24sIFBvc3QgQXNob2sgQXNocmFtPC9saT48bGk+dmlhIERha3BhdGhhciwgVmlrYXNuYWdhcjwvbGk+PGxpPkRlaHJhZHVuLCBVdHRhcmFraGFuZCAyNDgxMjU8L2xpPjxsaT48YSBocmVmPSIjIiBvbmNsaWNrPSJldmVudC5wcmV2ZW50RGVmYXVsdCgpO3dpbmRvdy5uYXJvT3BlblRhd2smJm5hcm9PcGVuVGF3aygpIiBzdHlsZT0iY29sb3I6dmFyKC0tZ29sZCkiPkNoYXQgd2l0aCBvdXIgdGVhbTwvYT48L2xpPmA7Cn0pKCk7CnJlbmRlcigpOwo8L3NjcmlwdD4KPHNjcmlwdD5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZSl7dmFyIGI9ZS50YXJnZXQuY2xvc2VzdCgiI2hlcm9Db250aW51ZUJ0biIpO2lmKGIgJiYgdHlwZW9mIG9wZW5Cb29rRHJhd2VyPT09ImZ1bmN0aW9uIil7b3BlbkJvb2tEcmF3ZXIoKTt9fSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciBsPWUudGFyZ2V0LmNsb3Nlc3QoIiNuYXZQbGFuTGluayIpO2lmKGwpe2UucHJldmVudERlZmF1bHQoKTt2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHJpcFBsYW5PcHRpb25hbCIpO2lmKGQpe2Qub3Blbj10cnVlO2Quc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiJzbW9vdGgiLGJsb2NrOiJjZW50ZXIifSk7fX19KTsoZnVuY3Rpb24oKXtmdW5jdGlvbiBoZXJvRGF0ZXNSZWFkeSgpe3JldHVybiAhISh0eXBlb2YgUyE9PSJ1bmRlZmluZWQiICYmIFMuY2kgJiYgUy5jbyAmJiBTLmNvID4gUy5jaSk7fXZhciBoZXJvQXV0b09wZW5lZD1mYWxzZSxoZXJvQXV0b1RpbWVyPW51bGw7ZnVuY3Rpb24gaGVyb01heWJlQXV0b09wZW4oKXtpZihoZXJvQXV0b09wZW5lZClyZXR1cm47dmFyIGJvb2s9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvb2siKTtpZihib29rICYmIGJvb2suY2xhc3NMaXN0LmNvbnRhaW5zKCJvcGVuIikpcmV0dXJuO2lmKCFoZXJvRGF0ZXNSZWFkeSgpKXJldHVybjtjbGVhclRpbWVvdXQoaGVyb0F1dG9UaW1lcik7aGVyb0F1dG9UaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYoaGVyb0F1dG9PcGVuZWQgfHwgIWhlcm9EYXRlc1JlYWR5KCkpcmV0dXJuO2lmKHR5cGVvZiBnbz09PSJmdW5jdGlvbiIpZ28oMik7aWYodHlwZW9mIFMhPT0idW5kZWZpbmVkIiAmJiBTLnN0ZXA9PT0yKXtoZXJvQXV0b09wZW5lZD10cnVlO2lmKHR5cGVvZiBvcGVuQm9va0RyYXdlcj09PSJmdW5jdGlvbiIpb3BlbkJvb2tEcmF3ZXIoKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGdOYW1lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJnTmFtZSIpO2lmKGdOYW1lKWdOYW1lLmZvY3VzKCk7fSw0NTApO319LDcwMCk7fVsiY2kiLCJjbyJdLmZvckVhY2goZnVuY3Rpb24oaWQpe3ZhciBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoZWwpZWwuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixoZXJvTWF5YmVBdXRvT3Blbik7fSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0LmNsb3Nlc3QoIiNoZXJvQm9vayBbZGF0YS1zdGVwXSIpIHx8IGUudGFyZ2V0LmNsb3Nlc3QoIiNhdXRvQnRuIikpe3NldFRpbWVvdXQoaGVyb01heWJlQXV0b09wZW4sNTApO319KTtmdW5jdGlvbiBndWVzdEZpZWxkc1JlYWR5KCl7dmFyIG5hbWU9KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJnTmFtZSIpfHx7fSkudmFsdWUgfHwgIiI7dmFyIHBob25lPShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ1Bob25lIil8fHt9KS52YWx1ZSB8fCAiIjt2YXIgdGl0bGVPaz0hIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlucHV0W25hbWU9dGl0bGVdOmNoZWNrZWQiKTt2YXIgY29uc2VudEVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJnQ29uc2VudCIpO3ZhciBjb25zZW50T2s9IWNvbnNlbnRFbCB8fCBjb25zZW50RWwuY2hlY2tlZDtyZXR1cm4gdGl0bGVPayAmJiBjb25zZW50T2sgJiYgbmFtZS50cmltKCkubGVuZ3RoPj0yICYmIHBob25lLnJlcGxhY2UoL1tccy1dL2csIiIpLmxlbmd0aD49MTA7fXZhciBndWVzdEF1dG9UaW1lcj1udWxsO2Z1bmN0aW9uIGd1ZXN0TWF5YmVBdXRvQWR2YW5jZSgpe2lmKHR5cGVvZiBTPT09InVuZGVmaW5lZCIgfHwgUy5zdGVwIT09MilyZXR1cm47aWYoIWd1ZXN0RmllbGRzUmVhZHkoKSlyZXR1cm47Y2xlYXJUaW1lb3V0KGd1ZXN0QXV0b1RpbWVyKTtndWVzdEF1dG9UaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYodHlwZW9mIFM9PT0idW5kZWZpbmVkIiB8fCBTLnN0ZXAhPT0yIHx8ICFndWVzdEZpZWxkc1JlYWR5KCkpcmV0dXJuO2lmKHR5cGVvZiBnbz09PSJmdW5jdGlvbiIpZ28oMyk7fSw5MDApO31bImdOYW1lIiwiZ1Bob25lIiwiZ0VtYWlsIl0uZm9yRWFjaChmdW5jdGlvbihpZCl7dmFyIGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZihlbCllbC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZ3Vlc3RNYXliZUF1dG9BZHZhbmNlKTt9KTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0LmNsb3Nlc3QoImlucHV0W25hbWU9dGl0bGVdIikgfHwgZS50YXJnZXQuY2xvc2VzdCgiI2dDb25zZW50IikpZ3Vlc3RNYXliZUF1dG9BZHZhbmNlKCk7fSk7fSkoKTsoZnVuY3Rpb24oKXt2YXIgX2NhbGM9Y2FsYztjYWxjPWZ1bmN0aW9uKCl7dmFyIGM9X2NhbGMoKTtpZih3aW5kb3cuX19uYXJvQ291cG9uKXt2YXIgcGN0PSh3aW5kb3cuX19uYXJvQ291cG9uUGN0fHwzKS8xMDA7dmFyIGRpc2M9TWF0aC5yb3VuZChjLnN1YipwY3QpO3ZhciBkaXNjb3VudGVkU3ViPWMuc3ViLWRpc2M7dmFyIG5ld0dzdD1NYXRoLnJvdW5kKGRpc2NvdW50ZWRTdWIqR1NUKTtjLmRpc2NvdW50PWRpc2M7Yy5nc3Q9bmV3R3N0O2MudG90YWw9ZGlzY291bnRlZFN1YituZXdHc3Q7fXJldHVybiBjO307dmFyIF9icmVha2Rvd249YnJlYWtkb3duO2JyZWFrZG93bj1mdW5jdGlvbihjKXt2YXIgb3V0PV9icmVha2Rvd24oYyk7aWYoYy5kaXNjb3VudCl7dmFyIGxpbmU9JzxkaXY+PHNwYW4+Q291cG9uICcrd2luZG93Ll9fbmFyb0NvdXBvbisnICgnKyh3aW5kb3cuX19uYXJvQ291cG9uUGN0fHwzKSsnJSBvZmYpPC9zcGFuPjxzcGFuIGNsYXNzPSJ2Ij4tJytpbnIoYy5kaXNjb3VudCkrJzwvc3Bhbj48L2Rpdj4nO3ZhciBtYXJrZXI9JzxkaXY+PHNwYW4+R1NUIDUlPC9zcGFuPic7b3V0PW91dC5pbmRleE9mKG1hcmtlcikhPT0tMT9vdXQucmVwbGFjZShtYXJrZXIsbGluZSttYXJrZXIpOm91dC5yZXBsYWNlKCc8ZGl2IGNsYXNzPSJ0b3RhbCI+JyxsaW5lKyc8ZGl2IGNsYXNzPSJ0b3RhbCI+Jyk7fXJldHVybiBvdXQ7fTt2YXIgYXBwbHlCdG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvdXBvbkFwcGx5QnRuIik7dmFyIGNvdXBvbklucHV0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3Vwb25JbnB1dCIpO3ZhciBjb3Vwb25Nc2c9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvdXBvbk1zZyIpO2Z1bmN0aW9uIGFwcGx5Q291cG9uKCl7dmFyIGNvZGU9KGNvdXBvbklucHV0LnZhbHVlfHwiIikudHJpbSgpLnRvVXBwZXJDYXNlKCk7aWYoY29kZT09PSIiKXt3aW5kb3cuX19uYXJvQ291cG9uPW51bGw7Y291cG9uTXNnLnRleHRDb250ZW50PSJFbnRlciBhIGNvdXBvbiBjb2RlIHRvIGFwcGx5IGEgZGlzY291bnQuIjtjb3Vwb25Nc2cuc3R5bGUuY29sb3I9InZhcigtLXdhcm4pIjt9ZWxzZXt2YXIgZGF0YT1udWxsO3RyeXtkYXRhPUpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oIm5hcm9Db3Vwb25EYXRhIil8fCJudWxsIik7fWNhdGNoKGUpe2RhdGE9bnVsbDt9aWYoIWRhdGF8fCFkYXRhLmNvZGV8fGRhdGEuY29kZS50b1VwcGVyQ2FzZSgpIT09Y29kZSl7d2luZG93Ll9fbmFyb0NvdXBvbj1udWxsO2NvdXBvbk1zZy50ZXh0Q29udGVudD0iVGhhdCBjb3Vwb24gY29kZSBpcyBub3QgdmFsaWQuIjtjb3Vwb25Nc2cuc3R5bGUuY29sb3I9InZhcigtLXdhcm4pIjt9ZWxzZSBpZihkYXRhLnVzZWQpe3dpbmRvdy5fX25hcm9Db3Vwb249bnVsbDtjb3Vwb25Nc2cudGV4dENvbnRlbnQ9IlRoaXMgY291cG9uIGhhcyBhbHJlYWR5IGJlZW4gdXNlZC4iO2NvdXBvbk1zZy5zdHlsZS5jb2xvcj0idmFyKC0td2FybikiO31lbHNlIGlmKGRhdGEuZXhwaXJlc0F0JiZkYXRhLmV4cGlyZXNBdDxEYXRlLm5vdygpKXt3aW5kb3cuX19uYXJvQ291cG9uPW51bGw7Y291cG9uTXNnLnRleHRDb250ZW50PSJUaGlzIGNvdXBvbiBoYXMgZXhwaXJlZC4iO2NvdXBvbk1zZy5zdHlsZS5jb2xvcj0idmFyKC0td2FybikiO31lbHNle3dpbmRvdy5fX25hcm9Db3Vwb249ZGF0YS5jb2RlO3dpbmRvdy5fX25hcm9Db3Vwb25QY3Q9ZGF0YS5wY3R8fDM7Y291cG9uTXNnLnRleHRDb250ZW50PSJDb3Vwb24gYXBwbGllZDogIisoZGF0YS5wY3R8fDMpKyIlIG9mZiB5b3VyIHJvb20gdG90YWwuIjtjb3Vwb25Nc2cuc3R5bGUuY29sb3I9InZhcigtLWdvb2QpIjt9fWNvdXBvbk1zZy5zdHlsZS5kaXNwbGF5PSJibG9jayI7aWYodHlwZW9mIHJlbmRlclJldmlldz09PSJmdW5jdGlvbiIpe3JlbmRlclJldmlldygpO31pZih0eXBlb2YgdXBkPT09ImZ1bmN0aW9uIil7dXBkKCk7fX1pZihhcHBseUJ0biYmY291cG9uSW5wdXQpe2FwcGx5QnRuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixhcHBseUNvdXBvbik7Y291cG9uSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oZSl7aWYoZS5rZXk9PT0iRW50ZXIiKXtlLnByZXZlbnREZWZhdWx0KCk7YXBwbHlDb3Vwb24oKTt9fSk7fWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXt2YXIgYj1lLnRhcmdldC5jbG9zZXN0KCIjcGF5QnRuIik7aWYoIWJ8fCF3aW5kb3cuX19uYXJvQ291cG9uKXJldHVybjt0cnl7dmFyIGQ9SlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgibmFyb0NvdXBvbkRhdGEiKXx8Im51bGwiKTtpZihkJiZkLmNvZGU9PT13aW5kb3cuX19uYXJvQ291cG9uKXtkLnVzZWQ9dHJ1ZTtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgibmFyb0NvdXBvbkRhdGEiLEpTT04uc3RyaW5naWZ5KGQpKTt9fWNhdGNoKGUyKXt9fSx0cnVlKTt9KSgpOzwvc2NyaXB0PgoKPHN0eWxlPip7Zm9udC1mYW1pbHk6R2VvcmdpYSwiVGltZXMgTmV3IFJvbWFuIixzZXJpZiFpbXBvcnRhbnQ7dGV4dC10cmFuc2Zvcm06bm9uZSFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6bm9ybWFsIWltcG9ydGFudDtmb250LXZhcmlhbnQ6bm9ybWFsIWltcG9ydGFudH0KLm5kbGd7cG9zaXRpb246Zml4ZWQ7bGVmdDowO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7ei1pbmRleDoxMDAwMDA7ZGlzcGxheTpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQ6cmdiYSgzLDEwLDgsLjYyKTtwYWRkaW5nOjE2cHh9Ci5uZGxnLm9ue2Rpc3BsYXk6ZmxleH0KLm5kbGcgLmJveHttYXgtd2lkdGg6NDIwcHg7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOiMwZjJhMjI7Y29sb3I6I2U4ZjBlYTtib3JkZXI6MnB4IHNvbGlkICNlZmJmNjI7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MjJweCAyMnB4IDE4cHg7Ym94LXNoYWRvdzowIDIwcHggNjBweCByZ2JhKDAsMCwwLC41KTtmb250LXNpemU6MTdweDtsaW5lLWhlaWdodDoxLjV9Ci5uZGxnIC5ib3ggYnV0dG9ue21hcmdpbi10b3A6MTRweDtib3JkZXI6MXB4IHNvbGlkICNlZmJmNjI7YmFja2dyb3VuZDojZWZiZjYyO2NvbG9yOiMxYTEyMDQ7Ym9yZGVyLXJhZGl1czo5OTlweDtwYWRkaW5nOjlweCAyNHB4O2ZvbnQtc2l6ZToxNnB4O2N1cnNvcjpwb2ludGVyfTwvc3R5bGU+CjxkaXYgY2xhc3M9Im5kbGciIGlkPSJuZGxnIiByb2xlPSJhbGVydGRpYWxvZyIgYXJpYS1tb2RhbD0idHJ1ZSI+PGRpdiBjbGFzcz0iYm94Ij48ZGl2IGlkPSJuZE1zZyI+PC9kaXY+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJuZE9rIj5Pa2F5PC9idXR0b24+PC9kaXY+PC9kaXY+CjxzY3JpcHQ+CihmdW5jdGlvbigpe3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuZGxnIiksbW09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5kTXNnIiksbGFzdD0iIjsKZnVuY3Rpb24gc2hvdyh0KXttbS50ZXh0Q29udGVudD10O2QuY2xhc3NMaXN0LmFkZCgib24iKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmRPayIpLmZvY3VzKCk7fQpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmRPayIpLm9uY2xpY2s9ZnVuY3Rpb24oKXtkLmNsYXNzTGlzdC5yZW1vdmUoIm9uIil9OwpkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXtpZihlLnRhcmdldD09PWQpZC5jbGFzc0xpc3QucmVtb3ZlKCJvbiIpfSk7CmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGUpe2lmKGUua2V5PT09IkVzY2FwZSIpZC5jbGFzc0xpc3QucmVtb3ZlKCJvbiIpfSk7ClsiZTEiLCJlMiIsImUzIiwiYWlNc2ciLCJjb3B5TXNnIl0uZm9yRWFjaChmdW5jdGlvbihpZCl7dmFyIGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtpZighZWwpcmV0dXJuOwogbmV3IE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oKXt2YXIgdD1lbC50ZXh0Q29udGVudC50cmltKCk7aWYoIXR8fC9cdTIwMjYkLy50ZXN0KHQpKXJldHVybjtzaG93KHQpO2VsLnRleHRDb250ZW50PSIiO30pLm9ic2VydmUoZWwse2NoaWxkTGlzdDp0cnVlLGNoYXJhY3RlckRhdGE6dHJ1ZSxzdWJ0cmVlOnRydWV9KTt9KTsKdmFyIHJoPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyb29tSGludCIpOwppZihyaCluZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpe3ZhciB0PXJoLnRleHRDb250ZW50LnRyaW0oKTtpZihyaC5zdHlsZS5jb2xvciYmdCl7aWYodCE9PWxhc3Qpe2xhc3Q9dDtzaG93KHQpO319ZWxzZXtsYXN0PSIiO319KS5vYnNlcnZlKHJoLHtjaGlsZExpc3Q6dHJ1ZSxjaGFyYWN0ZXJEYXRhOnRydWUsc3VidHJlZTp0cnVlLGF0dHJpYnV0ZXM6dHJ1ZX0pOwp9KSgpOwo8L3NjcmlwdD4KCjxzY3JpcHQ+CihmdW5jdGlvbigpewp2YXIgdD0wLGF2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsgYXYuaWQ9ImF2YWlsTXNnIjsgYXYuY2xhc3NOYW1lPSJub3RlIjsgYXYuc3R5bGUubWFyZ2luVG9wPSI2cHgiOwp2YXIgcmg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJvb21IaW50Iik7IHJoLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGF2LHJoLm5leHRTaWJsaW5nKTsKdmFyIF9yPXJlbmRlcjsKcmVuZGVyPWZ1bmN0aW9uKCl7IF9yKCk7IGNsZWFyVGltZW91dCh0KTsgdD1zZXRUaW1lb3V0KGNoZWNrLDM1MCk7IH07CmFzeW5jIGZ1bmN0aW9uIGNoZWNrKCl7CiB2YXIgaz1TLmNpKyJ8IitTLmNvOyBpZihuaWdodHMoKTwxfHxTLmNpPHRvZGF5KSByZXR1cm47IHZhciBhOwogdHJ5eyB2YXIgcj1hd2FpdCBmZXRjaCgiL3dwLWpzb24vbmFyby92MS9hdmFpbD9jaGVja2luPSIrUy5jaSsiJmNoZWNrb3V0PSIrUy5jbyx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pOyBpZighci5vaykgcmV0dXJuOyBhPWF3YWl0IHIuanNvbigpOyBpZighYS5vaykgcmV0dXJuOyB9Y2F0Y2goZSl7IHJldHVybjsgfQogaWYoayE9PVMuY2krInwiK1MuY28pIHJldHVybjsKIHZhciBjaGFuZ2VkPShhLmRibCE9PU1BWERCTHx8YS5mYW0hPT1NQVhGQU0pOyBNQVhEQkw9YS5kYmw7IE1BWEZBTT1hLmZhbTsgTElNLmRibFsxXT1hLmRibDsgTElNLmZhbVsxXT1hLmZhbTsgUy5hdmFpbD1hOwogYXYudGV4dENvbnRlbnQ9KGEuZGJsK2EuZmFtPT09MCk\/IlNvcnJ5LCBubyByb29tcyBhcmUgZnJlZSBmb3IgdGhlc2UgZGF0ZXMuIFBsZWFzZSB0cnkgb3RoZXIgZGF0ZXMuIjoiRnJlZSBvbiB0aGVzZSBkYXRlczogIithLmRibCsiIERvdWJsZSBSb29tIisoYS5kYmw9PT0xPyIiOiJzIikrIiBhbmQgIithLmZhbSsiIEZhbWlseSBSb29tIisoYS5mYW09PT0xPyIiOiJzIikrIi4iOwogaWYoY2hhbmdlZCkgX3IoKTsKfQp2YXIgX3Y9dmFsaWRhdGU7CnZhbGlkYXRlPWZ1bmN0aW9uKHN0ZXApewogaWYoc3RlcD09PTEmJlMuYXZhaWwpewogIGlmKFMuYXZhaWwuZGJsK1MuYXZhaWwuZmFtPT09MCl7ICQoImUxIikudGV4dENvbnRlbnQ9IlNvcnJ5LCBubyByb29tcyBhcmUgZnJlZSBmb3IgdGhlc2UgZGF0ZXMuIFBsZWFzZSB0cnkgb3RoZXIgZGF0ZXMuIjsgcmV0dXJuIGZhbHNlOyB9CiAgaWYoUy5kYmw+Uy5hdmFpbC5kYmx8fFMuZmFtPlMuYXZhaWwuZmFtKXsgJCgiZTEiKS50ZXh0Q29udGVudD0iT25seSAiK1MuYXZhaWwuZGJsKyIgRG91YmxlIFJvb20iKyhTLmF2YWlsLmRibD09PTE\/IiI6InMiKSsiIGFuZCAiK1MuYXZhaWwuZmFtKyIgRmFtaWx5IFJvb20iKyhTLmF2YWlsLmZhbT09PTE\/IiI6InMiKSsiIGFyZSBmcmVlIGZvciB0aGVzZSBkYXRlcy4gUGxlYXNlIGFkanVzdCB5b3VyIHJvb21zLiI7IHJldHVybiBmYWxzZTsgfQogfQogcmV0dXJuIF92KHN0ZXApOwp9OwpyZW5kZXIoKTsKfSkoKTsKPC9zY3JpcHQ+Cgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKdmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJzQnRuIik7IGlmKCFiKSByZXR1cm47CmZ1bmN0aW9uIHYoaSl7cmV0dXJuIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpKS52YWx1ZXx8IiIpLnRyaW0oKTt9CmZ1bmN0aW9uIGZtdChzKXt2YXIgcD1zLnNwbGl0KCItIik7IHJldHVybiBwWzJdKyIvIitwWzFdKyIvIitwWzBdO30KYi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXsKIHZhciBtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyc01zZyIpLCBuPXYoInJzTmFtZSIpLCBybT1wYXJzZUludCh2KCJyc1Jvb21zIiksMTApLCBvPXYoInJzT2xkIiksIGk9digicnNJbiIpLCB1PXYoInJzT3V0Iik7CiBpZighbnx8IXJtfHxybTwxfHwhb3x8IWl8fCF1KXttLnRleHRDb250ZW50PSJQbGVhc2UgZmlsbCB5b3VyIG5hbWUsIG51bWJlciBvZiByb29tcywgY3VycmVudCBhcnJpdmFsIGRhdGUgYW5kIHRoZSBuZXcgZGF0ZXMuIjsgcmV0dXJuO30KIGlmKHU8PWkpe20udGV4dENvbnRlbnQ9IkNoZWNrLW91dCBtdXN0IGJlIGFmdGVyIGNoZWNrLWluLiI7IHJldHVybjt9CiB2YXIgdD1uZXcgRGF0ZSgpOyB0LnNldEhvdXJzKDAsMCwwLDApOyB2YXIgZD1uZXcgRGF0ZShvKyJUMDA6MDA6MDAiKTsKIGlmKE1hdGgucm91bmQoKGQtdCkvODY0MDAwMDApPDMpe20udGV4dENvbnRlbnQ9IlNvcnJ5LCBhIGNoYW5nZSByZXF1ZXN0ZWQgbGVzcyB0aGFuIDMgZGF5cyBiZWZvcmUgYXJyaXZhbCBpcyB0cmVhdGVkIGFzIGEgbm8tc2hvdyBhbmQgaXMgbm90IHRyYW5zZmVyYWJsZS4iOyByZXR1cm47fQogbS50ZXh0Q29udGVudD0iIjsKIHZhciB0eHQ9IlJlc2NoZWR1bGUgcmVxdWVzdCAtIE5hcm8gRWNvIFJlc29ydFxuTmFtZTogIituKyJcblJvb21zOiAiK3JtKyJcbkJvb2tpbmcgcmVmOiAiKyh2KCJyc1JlZiIpfHwiLSIpKyJcbkN1cnJlbnQgYXJyaXZhbDogIitmbXQobykrIlxuTmV3IGRhdGVzOiAiK2ZtdChpKSsiIHRvICIrZm10KHUpKyJcblJlc2NoZWR1bGUgZmVlOiBScyAiKyhybSoxMDAwKS50b0xvY2FsZVN0cmluZygiZW4tSU4iKSsiIChScyAxLDAwMCBwZXIgcm9vbSkuIjsKIHdpbmRvdy5fX3JzVXJsPSJodHRwczovL3dhLm1lLzkxNzAxNzcxNDM4NT90ZXh0PSIrZW5jb2RlVVJJQ29tcG9uZW50KHR4dCk7CiB3aW5kb3cub3Blbih3aW5kb3cuX19yc1VybCwiX2JsYW5rIik7Cn0pOwp9KSgpOwo8L3NjcmlwdD4KCjxzY3JpcHQ+CihmdW5jdGlvbigpewpmdW5jdGlvbiB1cGQoKXsKIHZhciBjPWNhbGMoKSwgYWR2PU1hdGgubWluKDE1MDAqYy5yb29tcyxjLnRvdGFsKSwgbW9kZT1yYWRpbygicGF5TW9kZSIpfHwiZnVsbCI7CiB2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicG9BZHYiKSwgZj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicG9GdWxsQW10IiksIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBheUJ0biIpOwogaWYoZikgZi50ZXh0Q29udGVudD0iKCIraW5yKGMudG90YWwpKyIpIjsKIGlmKGEpIGEudGV4dENvbnRlbnQ9IkJhbGFuY2Ugb2YgIitpbnIoYy50b3RhbC1hZHYpKyIgdG8gcGF5IGF0IGNoZWNrLWluLiBJZiB5b3UgZG8gbm90IGFycml2ZSwgdGhlICIraW5yKGFkdikrIiBpcyBmb3JmZWl0ZWQgYW5kIGlzIG5vdCByZWZ1bmRhYmxlLiI7CiB2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicG9BZHZUIik7IGlmKHQpIHQudGV4dENvbnRlbnQ9IlBheSAiK2lucihhZHYpKyIgbm93IjsKIGlmKGIpIGIudGV4dENvbnRlbnQ9KG1vZGU9PT0iYWR2YW5jZSIpPyJQYXkgIitpbnIoYWR2KSsiIGFuZCBjb25maXJtIjoiUGF5ICIraW5yKGMudG90YWwpKyIgYW5kIGNvbmZpcm0iOwp9CnZhciBfcnI9cmVuZGVyUmV2aWV3OyByZW5kZXJSZXZpZXc9ZnVuY3Rpb24oKXsgX3JyKCk7IHVwZCgpOyB9Owpkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dFtuYW1lPSJwYXlNb2RlIl0nKS5mb3JFYWNoKGZ1bmN0aW9uKGkpeyBpLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdXBkKTsgfSk7Cn0pKCk7Cjwvc2NyaXB0PgoKPHN0eWxlPi5icmFuZC1sb2dve3dpZHRoOjQ2cHg7aGVpZ2h0OjQ2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmO29iamVjdC1maXQ6Y29udGFpbjtmbGV4Om5vbmU7ZGlzcGxheTpibG9ja308L3N0eWxlPgoKPHN0eWxlPgouaGVyby1waG90b3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSg0LDE2LDEzLC41KSxyZ2JhKDQsMTYsMTMsLjg4KSksdXJsKGh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMi1hdC0xMi4wMC4zMS1BTS0xLW5hcm8td20uanBnKSBjZW50ZXIvY292ZXIgbm8tcmVwZWF0fQojc2t5e29wYWNpdHk6LjR9Ci5nYWxsZXJ5e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6MTRweH0KLmdhbGxlcnkgLnBoe2hlaWdodDoyMTBweDtib3JkZXItcmFkaXVzOjE0cHg7b3ZlcmZsb3c6aGlkZGVufQouZ2FsbGVyeSAucGggaW1nLC50cGggaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtkaXNwbGF5OmJsb2NrfQoudHBoe2hlaWdodDoxNzBweDtib3JkZXItcmFkaXVzOjEycHg7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi1ib3R0b206MTRweH0KQG1lZGlhKG1heC13aWR0aDo3MDBweCl7LmdhbGxlcnl7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLDFmcil9LmdhbGxlcnkgLnBoe2hlaWdodDoxNTBweH19Cjwvc3R5bGU+Cgo8c3R5bGU+Ci5uYXYtdG9nZ2xle2Rpc3BsYXk6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6NXB4O3dpZHRoOjM4cHg7aGVpZ2h0OjM0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6OHB4O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MH0KLm5hdi10b2dnbGUgc3BhbntkaXNwbGF5OmJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjJweDtiYWNrZ3JvdW5kOnZhcigtLW1pc3QpO21hcmdpbjowIGF1dG87dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzLG9wYWNpdHkgLjJzfQoubmF2LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSJ0cnVlIl0gc3BhbjpudGgtY2hpbGQoMSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoN3B4KSByb3RhdGUoNDVkZWcpfQoubmF2LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSJ0cnVlIl0gc3BhbjpudGgtY2hpbGQoMil7b3BhY2l0eTowfQoubmF2LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSJ0cnVlIl0gc3BhbjpudGgtY2hpbGQoMyl7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTdweCkgcm90YXRlKC00NWRlZyl9CkBtZWRpYShtYXgtd2lkdGg6ODYwcHgpewogLm5hdi10b2dnbGV7ZGlzcGxheTpmbGV4O29yZGVyOjN9CiAjc2l0ZU5hdiAud3JhcHtmbGV4LXdyYXA6d3JhcH0KICNuYXZMaXN0e2Rpc3BsYXk6bm9uZTt3aWR0aDoxMDAlO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O29yZGVyOjQ7YmFja2dyb3VuZDp2YXIoLS1mb3Jlc3QpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTBweDttYXJnaW4tdG9wOjEwcHh9CiAjbmF2TGlzdC5vcGVue2Rpc3BsYXk6ZmxleH0KICNuYXZMaXN0IGF7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEwcHggOHB4O2ZvbnQtc2l6ZToxNnB4fQogI3NpdGVOYXYgLmJ0bntvcmRlcjoyfQp9Cjwvc3R5bGU+CjxzY3JpcHQ+CihmdW5jdGlvbigpewp2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF2VG9nZ2xlIiksIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdkxpc3QiKTsgaWYoIWJ8fCFsKSByZXR1cm47CmIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7IHZhciBvcGVuPWwuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIpOyBiLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsU3RyaW5nKG9wZW4pKTsgfSk7CmwucXVlcnlTZWxlY3RvckFsbCgiYSIpLmZvckVhY2goZnVuY3Rpb24oYSl7IGEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7IGwuY2xhc3NMaXN0LnJlbW92ZSgib3BlbiIpOyBiLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIik7IH0pOyB9KTsKfSkoKTsKPC9zY3JpcHQ+Cgo8c3R5bGUgaWQ9Im5hcm8tcmVhZCI+Cjpyb290ey0tbWlzdDI6I2NmZGNkNH0KYm9keXtmb250LXNpemU6MThweH0KLmV5ZWJyb3d7Zm9udC1zaXplOjE1cHghaW1wb3J0YW50O2NvbG9yOnZhcigtLWdvbGQpfQoucy1oZWFkIHAsLnN0dWRpby1oZWFkIHB7Zm9udC1zaXplOjE5cHghaW1wb3J0YW50O2NvbG9yOiNkZmU5ZTIhaW1wb3J0YW50fQoubm90ZSwucGFuZSAuc3Vie2ZvbnQtc2l6ZToxNi41cHghaW1wb3J0YW50fQouZmxkIGxhYmVse2ZvbnQtc2l6ZToxNS41cHghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMH0KLnN0ZXBzIGJ1dHRvbntmb250LXNpemU6MTZweCFpbXBvcnRhbnQ7cGFkZGluZzoxOHB4IDhweCFpbXBvcnRhbnR9Ci5zdGVwcyBidXR0b24gYnt3aWR0aDozMnB4IWltcG9ydGFudDtoZWlnaHQ6MzJweCFpbXBvcnRhbnQ7Zm9udC1zaXplOjE2cHghaW1wb3J0YW50fQoucGFuZSBoM3tmb250LXNpemU6MzBweCFpbXBvcnRhbnR9Ci5vcHRzIHNwYW57Zm9udC1zaXplOjE2LjVweCFpbXBvcnRhbnR9Ci5mbGQgaW5wdXQsLmZsZCBzZWxlY3QsLmZsZCB0ZXh0YXJlYXtmb250LXNpemU6MTcuNXB4IWltcG9ydGFudDtjb2xvcjojMTAyNTFjIWltcG9ydGFudDtiYWNrZ3JvdW5kOiNmZmYhaW1wb3J0YW50fQouc3VtIC5zdGF5LWwsLnBheS1ib3ggLnN0YXktbHtmb250LXNpemU6MTcuNXB4IWltcG9ydGFudH0KLnN1bSAud2h5e2ZvbnQtc2l6ZToxNS41cHghaW1wb3J0YW50fQouYnJpZWZ7Zm9udC1zaXplOjE3cHghaW1wb3J0YW50fQoucnN7Zm9udC1zaXplOjE3LjVweCFpbXBvcnRhbnQ7Y29sb3I6I2RmZTllMiFpbXBvcnRhbnR9Ci50aWNrc3tmb250LXNpemU6MThweCFpbXBvcnRhbnR9Ci50aWxlIHB7Zm9udC1zaXplOjE3LjVweCFpbXBvcnRhbnQ7Y29sb3I6I2RmZTllMiFpbXBvcnRhbnR9Ci50aWxlIC5re2ZvbnQtc2l6ZToxNHB4IWltcG9ydGFudH0KLmJhciAudHtmb250LXNpemU6MThweCFpbXBvcnRhbnR9Ci5kaXJzIGxpe2ZvbnQtc2l6ZToxOHB4IWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcH0KLmRpcnMgc21hbGx7Zm9udC1zaXplOjE1LjVweCFpbXBvcnRhbnQ7Y29sb3I6I2NmZGNkNCFpbXBvcnRhbnR9Ci5kaXJzIGEsLmFza2J0bjpub3QoLmJ0bil7Zm9udC1zaXplOjE1LjVweCFpbXBvcnRhbnR9Ci5kYnRuc3tkaXNwbGF5OmZsZXg7Z2FwOjhweDtmbGV4LXdyYXA6d3JhcH0KLmFza2J0bjpub3QoLmJ0bil7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWdvbGQpO2NvbG9yOnZhcigtLWdvbGQpO2JvcmRlci1yYWRpdXM6OTlweDtwYWRkaW5nOjhweCAxNHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5Okdlb3JnaWEsc2VyaWZ9Ci5hc2tidG46bm90KC5idG4pOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tZ29sZCk7Y29sb3I6dmFyKC0tZ29sZC1pbmspfQouZmFxIHN1bW1hcnl7Zm9udC1zaXplOjIxcHghaW1wb3J0YW50fQouZmFxIGRldGFpbHMgcHtmb250LXNpemU6MThweCFpbXBvcnRhbnQ7Y29sb3I6I2RmZTllMiFpbXBvcnRhbnR9Ci5mYXEgYSwucy1oZWFkIGF7Y29sb3I6dmFyKC0tZ29sZCl9Ci5nYWxsZXJ5IGZpZ2NhcHRpb257Zm9udC1zaXplOjE2cHghaW1wb3J0YW50fQouZmFjdHN7Zm9udC1zaXplOjE1LjVweCFpbXBvcnRhbnR9Ci5jaGlwe2ZvbnQtc2l6ZToxNS41cHghaW1wb3J0YW50fQoubWVudS1ub3RlIHVsLC5wb2xpY3ktYm94IG9sLC5wa2ctY2FyZCB1bHtmb250LXNpemU6MTYuNXB4IWltcG9ydGFudH0KLmV2Y2FsLWhlYWQgc3Bhbntmb250LXNpemU6MTlweCFpbXBvcnRhbnR9Ci5ldmNhbC1ncmlkIC5kb3d7Zm9udC1zaXplOjE0cHghaW1wb3J0YW50O2NvbG9yOiNkZmU5ZTIhaW1wb3J0YW50fQouZXZjYWwtZ3JpZCBidXR0b257Zm9udC1zaXplOjE3cHghaW1wb3J0YW50fQouZXZjYWwtcGlja2Vke2ZvbnQtc2l6ZToxN3B4IWltcG9ydGFudH0KLmdyZXYtY291bnR7Zm9udC1zaXplOjE2cHghaW1wb3J0YW50fQpmb290ZXIgbGksZm9vdGVyIHB7Zm9udC1zaXplOjE3cHghaW1wb3J0YW50fQoucGxhbi1vdXR7Zm9udC1zaXplOjE3LjVweCFpbXBvcnRhbnQ7Y29sb3I6I2YzZjZmMX0KI3BsYW5JbntiYWNrZ3JvdW5kOiNmZmYhaW1wb3J0YW50O2NvbG9yOiMxMDI1MWMhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4IWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTAyNTFjfQojcGxhbkluOjpwbGFjZWhvbGRlcntjb2xvcjojNWI2ZjY0fQojaGVyb0Jvb2t7YmFja2dyb3VuZDpyZ2JhKDgsMjAsMTUsLjkyKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjM5LDE5MSw5OCwuNDUpO2JvcmRlci1yYWRpdXM6MjJweDtwYWRkaW5nOjI2cHh9CiNoZXJvQm9vayBoM3tmb250LXNpemU6MzRweDtjb2xvcjojZmZmfQojaGVyb0Jvb2sgbGFiZWx7Y29sb3I6I2ZmZiFpbXBvcnRhbnQ7Zm9udC1zaXplOjE3cHghaW1wb3J0YW50fQojaGVyb0Jvb2sgLm5vdGV7Y29sb3I6I2RmZTllMiFpbXBvcnRhbnQ7Zm9udC1zaXplOjE2cHghaW1wb3J0YW50fQojaGVyb0Jvb2sgLnN0ZXBwZXIgb3V0cHV0e2ZvbnQtc2l6ZToyMHB4IWltcG9ydGFudH0KI2hlcm9Cb29rIHN1bW1hcnl7Zm9udC1zaXplOjE2cHghaW1wb3J0YW50fQouc3RlcHBlciBidXR0b257Zm9udC1zaXplOjI4cHghaW1wb3J0YW50O2NvbG9yOiMxMDI1MWMhaW1wb3J0YW50fQouYm9vay1jbG9zZXtvcGFjaXR5OjEhaW1wb3J0YW50O3Zpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7YmFja2dyb3VuZDojZmZmIWltcG9ydGFudDtjb2xvcjojMTAyNTFjIWltcG9ydGFudDtib3JkZXI6MnB4IHNvbGlkICMxMDI1MWMhaW1wb3J0YW50O3dpZHRoOjQ2cHghaW1wb3J0YW50O2hlaWdodDo0NnB4IWltcG9ydGFudDtmb250LXNpemU6MzBweCFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwO2JveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDAsMCwwLC4zNSl9Ci5ib29rLWNsb3NlOmhvdmVye2JhY2tncm91bmQ6I2VmYmY2MiFpbXBvcnRhbnR9Ci5jaGF0LWggYnV0dG9uLCNjaGF0WHtvcGFjaXR5OjEhaW1wb3J0YW50O3Zpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnR9CiNmYWIsI2NoYXR7ZGlzcGxheTpub25lIWltcG9ydGFudH0KLmRhdGVidG57ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTBweDt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6NThweDtib3JkZXI6M3B4IHNvbGlkIHZhcigtLWdvbGQpO2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzEwMjUxYztmb250OjQwMCAxOXB4IEdlb3JnaWEsc2VyaWY7cGFkZGluZzoxMnB4IDE2cHg7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjpsZWZ0fQouZGF0ZWJ0bjo6YWZ0ZXJ7Y29udGVudDoiIjt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2ZsZXg6bm9uZTtiYWNrZ3JvdW5kOm5vLXJlcGVhdCBjZW50ZXIvY29udGFpbiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMTAyNTFjJyBzdHJva2Utd2lkdGg9JzInJTNFJTNDcmVjdCB4PSczJyB5PSc1JyB3aWR0aD0nMTgnIGhlaWdodD0nMTYnIHJ4PScyJy8lM0UlM0NwYXRoIGQ9J00zIDEwaDE4TTggM3Y0TTE2IDN2NCcvJTNFJTNDL3N2ZyUzRSIpfQouZGF0ZWJ0bi5lbXB0eXtjb2xvcjojNWI2ZjY0fQoucDF0b3RhbHttYXJnaW4tdG9wOjEwcHg7Zm9udC1zaXplOjE5cHg7Y29sb3I6IzEwMjUxY30KLm5jYWx7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDt6LWluZGV4OjIwMDAwMDtiYWNrZ3JvdW5kOnJnYmEoMywxMCw4LC43KTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxNHB4fQoubmNhbFtoaWRkZW5de2Rpc3BsYXk6bm9uZX0KLm5jYWwtYm94e2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMTAyNTFjO2JvcmRlci1yYWRpdXM6MjBweDt3aWR0aDptaW4oNTYwcHgsMTAwJSk7bWF4LWhlaWdodDo5NnZoO292ZXJmbG93OmF1dG87cGFkZGluZzoyMnB4O2JveC1zaGFkb3c6MCAzMHB4IDgwcHggcmdiYSgwLDAsMCwuNSk7Zm9udC1mYW1pbHk6R2VvcmdpYSxzZXJpZn0KLm5jYWwtdG9we2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxMnB4fQoubmNhbC1zdGVwe2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjcwMH0KLm5jYWwtc2Vse2ZvbnQtc2l6ZToxN3B4O2NvbG9yOiMyZDRhM2Q7bWFyZ2luLXRvcDo0cHh9Ci5uY2FsLXh7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoycHggc29saWQgIzEwMjUxYztjb2xvcjojMTAyNTFjO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjQ2cHg7aGVpZ2h0OjQ2cHg7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MTtjdXJzb3I6cG9pbnRlcjtmbGV4Om5vbmV9Ci5uY2FsLW5hdntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbjoxOHB4IDAgMTBweH0KLm5jYWwtbmF2IHNwYW57Zm9udC1zaXplOjIycHg7Zm9udC13ZWlnaHQ6NzAwfQoubmNhbC1uYXYgYnV0dG9ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JvcmRlcjoycHggc29saWQgIzEwMjUxYztiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzEwMjUxYztmb250LXNpemU6MjZweDtjdXJzb3I6cG9pbnRlcn0KLm5jYWwtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg3LG1pbm1heCgwLDFmcikpO2dhcDo2cHh9Ci5uY2FsLWdyaWQgLmRvd3t0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzJkNGEzZDtwYWRkaW5nOjRweCAwfQoubmNhbC1ncmlkIGJ1dHRvbnttaW4td2lkdGg6MDtwYWRkaW5nOjAhaW1wb3J0YW50O2hlaWdodDo1NHB4O2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXI6MXB4IHNvbGlkICNjOWQ2Y2M7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMxMDI1MWM7Zm9udDo0MDAgMjBweCBHZW9yZ2lhLHNlcmlmO2N1cnNvcjpwb2ludGVyfQoubmNhbC1ncmlkIGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKXtib3JkZXI6MnB4IHNvbGlkICNjOTk4MmV9Ci5uY2FsLWdyaWQgYnV0dG9uOmRpc2FibGVke2NvbG9yOiNiN2MxYmI7YmFja2dyb3VuZDojZjRmNmY0O2N1cnNvcjpkZWZhdWx0O3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2h9Ci5uY2FsLWdyaWQgYnV0dG9uLnRvZGF5e2JvcmRlcjoycHggc29saWQgIzEwMjUxY30KLm5jYWwtZ3JpZCBidXR0b24uaW5ye2JhY2tncm91bmQ6I2Y2ZTdjNH0KLm5jYWwtZ3JpZCBidXR0b24uY2ksLm5jYWwtZ3JpZCBidXR0b24uY297YmFja2dyb3VuZDojYzk5ODJlO2NvbG9yOiMxYTEyMDQ7Zm9udC13ZWlnaHQ6NzAwO2JvcmRlci1jb2xvcjojOGE2NjE0fQoubmNhbC1mb290e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7ZmxleC13cmFwOndyYXA7bWFyZ2luLXRvcDoxNnB4O2ZvbnQtc2l6ZToxNnB4O2NvbG9yOiMyZDRhM2R9Ci5jb250YWN0LWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoyNnB4fQpAbWVkaWEobWF4LXdpZHRoOjg2MHB4KXsuY29udGFjdC1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQouY29udGFjdC1jYXJke2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjIwcHg7cGFkZGluZzozMHB4O2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiNkZmU5ZTJ9Ci5jb250YWN0LWNhcmQgaDN7Zm9udC1zaXplOjI4cHg7Y29sb3I6I2ZmZjttYXJnaW4tYm90dG9tOjEycHh9Ci5jb250YWN0LWNhcmQgLmFkZHJ7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS42O2NvbG9yOiNmZmZ9Ci5ub3RlLWRhcmt7Zm9udC1zaXplOjE2cHg7Y29sb3I6I2NmZGNkNH0KLnBoLC53bXtwb3NpdGlvbjpyZWxhdGl2ZX0KLm9wdHMgaW5wdXR7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50O29wYWNpdHk6MCFpbXBvcnRhbnQ7d2lkdGg6MXB4IWltcG9ydGFudDtoZWlnaHQ6MXB4IWltcG9ydGFudDttaW4taGVpZ2h0OjAhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50O2JvcmRlcjowIWltcG9ydGFudDtwb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudDtsZWZ0OjA7dG9wOjB9Ci5vcHRzIGxhYmVse3Bvc2l0aW9uOnJlbGF0aXZlfQouY3JlZGl0e21hcmdpbi10b3A6MTRweDtmb250LXNpemU6MTZweCFpbXBvcnRhbnQ7Y29sb3I6I2NmZGNkNH0KLmNyZWRpdCBhe2NvbG9yOnZhcigtLWdvbGQpO3RleHQtZGVjb3JhdGlvbjpub25lO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjM5LDE5MSw5OCwuNSl9CgoucGtnLWNhcmQgaDQsLnN1bSBoNCwubWVudS1ub3RlIGg0LC5wb2xpY3ktYm94IGg0LGZvb3RlciBoNHtmb250LXNpemU6MTZweCFpbXBvcnRhbnR9Ci5wYXNzIGR0e2ZvbnQtc2l6ZToxNHB4IWltcG9ydGFudH0KLmV2Y2FsLWdyaWQgYnV0dG9uOm5vdCg6ZGlzYWJsZWQpe2NvbG9yOiNmZmYhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjM5LDE5MSw5OCwuNTUpIWltcG9ydGFudH0KLmV2Y2FsLWdyaWQgYnV0dG9uOmRpc2FibGVke29wYWNpdHk6LjMhaW1wb3J0YW50fQouZXZjYWwtZ3JpZCBidXR0b24uc2Vse2JhY2tncm91bmQ6dmFyKC0tZ29sZCkhaW1wb3J0YW50O2NvbG9yOnZhcigtLWdvbGQtaW5rKSFpbXBvcnRhbnR9Cjwvc3R5bGU+CjxkaXYgY2xhc3M9Im5jYWwiIGlkPSJuY2FsIiBoaWRkZW4+PGRpdiBjbGFzcz0ibmNhbC1ib3giIHJvbGU9ImRpYWxvZyIgYXJpYS1tb2RhbD0idHJ1ZSIgYXJpYS1sYWJlbD0iQ2hvb3NlIHlvdXIgZGF0ZXMiPgogIDxkaXYgY2xhc3M9Im5jYWwtdG9wIj48ZGl2PjxkaXYgY2xhc3M9Im5jYWwtc3RlcCIgaWQ9Im5jYWxTdGVwIj5DaG9vc2UgeW91ciBjaGVjay1pbiBkYXRlPC9kaXY+PGRpdiBjbGFzcz0ibmNhbC1zZWwiIGlkPSJuY2FsU2VsIj48L2Rpdj48L2Rpdj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im5jYWwteCIgaWQ9Im5jYWxYIiBhcmlhLWxhYmVsPSJDbG9zZSBjYWxlbmRhciI+w5c8L2J1dHRvbj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJuY2FsLW5hdiI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJuY2FsUHJldiIgYXJpYS1sYWJlbD0iUHJldmlvdXMgbW9udGgiPuKAuTwvYnV0dG9uPjxzcGFuIGlkPSJuY2FsVGl0bGUiPjwvc3Bhbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9Im5jYWxOZXh0IiBhcmlhLWxhYmVsPSJOZXh0IG1vbnRoIj7igLo8L2J1dHRvbj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJuY2FsLWdyaWQiIGlkPSJuY2FsR3JpZCI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ibmNhbC1mb290Ij48c3Bhbj5DaGVjay1pbiBmcm9tIDExIGFtIMK3IGNoZWNrLW91dCBieSAxMSBhbTwvc3Bhbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ29sZCIgaWQ9Im5jYWxEb25lIj5Eb25lPC9idXR0b24+PC9kaXY+CjwvZGl2PjwvZGl2Pgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKdmFyIE1PTj1bIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sIERPVz1bIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl07CnZhciBib3g9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5jYWwiKSwgZ3JpZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmNhbEdyaWQiKSwgbW9kZT0iY2kiLCB2aWV3PW51bGwsIHRDaT0iIiwgdENvPSIiOwpmdW5jdGlvbiBpc29EKHksbSxkKXsgcmV0dXJuIHkrIi0iK1N0cmluZyhtKzEpLnBhZFN0YXJ0KDIsIjAiKSsiLSIrU3RyaW5nKGQpLnBhZFN0YXJ0KDIsIjAiKTsgfQpmdW5jdGlvbiBvcGVuQ2FsKHdoaWNoKXsgdENpPVMuY2k7IHRDbz1TLmNvOyBtb2RlPSh3aGljaD09PSJjbyImJnRDaSk\/ImNvIjoiY2kiOyB2YXIgYmFzZT0obW9kZT09PSJjbyI\/dENpOih0Q2l8fHRvZGF5KSk7IHZpZXc9bmV3IERhdGUoYmFzZSsiVDAwOjAwOjAwIik7IHZpZXcuc2V0RGF0ZSgxKTsgYm94LmhpZGRlbj1mYWxzZTsgZHJhdygpOyB9CmZ1bmN0aW9uIGNsb3NlQ2FsKCl7IGJveC5oaWRkZW49dHJ1ZTsgfQpmdW5jdGlvbiBhcHBseSgpeyBpZighdENpKXsgY2xvc2VDYWwoKTsgcmV0dXJuOyB9IFMuY2k9dENpOyBTLmNvPSh0Q28mJnRDbz50Q2kpP3RDbzphZGREYXlzKHRDaSwxKTsgUy5wYWlkPWZhbHNlOyByZW5kZXIoKTsgY2xvc2VDYWwoKTsgfQpmdW5jdGlvbiBkcmF3KCl7CiAgdmFyIHk9dmlldy5nZXRGdWxsWWVhcigpLCBtPXZpZXcuZ2V0TW9udGgoKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmNhbFRpdGxlIikudGV4dENvbnRlbnQ9TU9OW21dKyIgIit5OwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuY2FsU3RlcCIpLnRleHRDb250ZW50PSBtb2RlPT09ImNpIiA\/ICJDaG9vc2UgeW91ciBjaGVjay1pbiBkYXRlIiA6ICJDaG9vc2UgeW91ciBjaGVjay1vdXQgZGF0ZSI7CiAgdmFyIG49KHRDaSYmdENvKT9NYXRoLnJvdW5kKChuZXcgRGF0ZSh0Q28pLW5ldyBEYXRlKHRDaSkpLzg2NDAwMDAwKTowOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuY2FsU2VsIikudGV4dENvbnRlbnQgPSB0Q2kgPyAoIkNoZWNrIGluOiAiK2ZtdCh0Q2kpKyh0Q28\/KCIgIMK3ICBDaGVjayBvdXQ6ICIrZm10KHRDbykrIiAgwrcgICIrbisobj09PTE\/IiBuaWdodCI6IiBuaWdodHMiKSk6IiIpKSA6ICJUYXAgYSBkYXRlIGJlbG93LiI7CiAgdmFyIGZpcnN0PW5ldyBEYXRlKHksbSwxKS5nZXREYXkoKSwgZGF5cz1uZXcgRGF0ZSh5LG0rMSwwKS5nZXREYXRlKCksIGg9RE9XLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gJzxzcGFuIGNsYXNzPSJkb3ciPicrZCsnPC9zcGFuPic7fSkuam9pbigiIik7CiAgZm9yKHZhciBpPTA7aTxmaXJzdDtpKyspIGgrPSc8c3Bhbj48L3NwYW4+JzsKICBmb3IodmFyIGQ9MTtkPD1kYXlzO2QrKyl7IHZhciBzPWlzb0QoeSxtLGQpLCBkaXMgPSBzPHRvZGF5IHx8IChtb2RlPT09ImNvIiAmJiB0Q2kgJiYgczw9dENpKTsKICAgIHZhciBjPVtdOyBpZihzPT09dG9kYXkpYy5wdXNoKCJ0b2RheSIpOyBpZihzPT09dENpKWMucHVzaCgiY2kiKTsgaWYocz09PXRDbyljLnB1c2goImNvIik7IGlmKHRDaSYmdENvJiZzPnRDaSYmczx0Q28pYy5wdXNoKCJpbnIiKTsKICAgIGgrPSc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1kPSInK3MrJyIgY2xhc3M9IicrYy5qb2luKCIgIikrJyInKyhkaXM\/IiBkaXNhYmxlZCI6IiIpKyc+JytkKyc8L2J1dHRvbj4nOyB9CiAgZ3JpZC5pbm5lckhUTUw9aDsKICB2YXIgbm93PW5ldyBEYXRlKCk7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuY2FsUHJldiIpLmRpc2FibGVkID0gKHk9PT1ub3cuZ2V0RnVsbFllYXIoKSAmJiBtPD1ub3cuZ2V0TW9udGgoKSk7Cn0KZ3JpZC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZSl7IHZhciBiPWUudGFyZ2V0LmNsb3Nlc3QoImJ1dHRvbltkYXRhLWRdIik7IGlmKCFifHxiLmRpc2FibGVkKSByZXR1cm47IHZhciBzPWIuZ2V0QXR0cmlidXRlKCJkYXRhLWQiKTsKICBpZihtb2RlPT09ImNpIil7IHRDaT1zOyBpZighdENvfHx0Q288PXRDaSkgdENvPSIiOyBtb2RlPSJjbyI7IGRyYXcoKTsgfQogIGVsc2UgeyBpZihzPD10Q2kpeyB0Q2k9czsgdENvPSIiOyBtb2RlPSJjbyI7IGRyYXcoKTsgfSBlbHNlIHsgdENvPXM7IGRyYXcoKTsgc2V0VGltZW91dChhcHBseSw0NTApOyB9IH0gfSk7CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuY2FsUHJldiIpLm9uY2xpY2s9ZnVuY3Rpb24oKXsgdmlldy5zZXRNb250aCh2aWV3LmdldE1vbnRoKCktMSk7IGRyYXcoKTsgfTsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5jYWxOZXh0Iikub25jbGljaz1mdW5jdGlvbigpeyB2aWV3LnNldE1vbnRoKHZpZXcuZ2V0TW9udGgoKSsxKTsgZHJhdygpOyB9Owpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmNhbFgiKS5vbmNsaWNrPWNsb3NlQ2FsOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmNhbERvbmUiKS5vbmNsaWNrPWFwcGx5Owpib3guYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpeyBpZihlLnRhcmdldD09PWJveCkgY2xvc2VDYWwoKTsgfSk7CmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGUpeyBpZihlLmtleT09PSJFc2NhcGUiJiYhYm94LmhpZGRlbil7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IGNsb3NlQ2FsKCk7IH0gfSx0cnVlKTsKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpeyB2YXIgYj1lLnRhcmdldC5jbG9zZXN0KCJbZGF0YS1jYWxdIik7IGlmKGIpeyBlLnByZXZlbnREZWZhdWx0KCk7IG9wZW5DYWwoYi5nZXRBdHRyaWJ1dGUoImRhdGEtY2FsIikpOyB9IH0pOwp3aW5kb3cubmFyb09wZW5DYWxlbmRhcj1vcGVuQ2FsOwp2YXIgX3JOPXJlbmRlcjsKcmVuZGVyPWZ1bmN0aW9uKCl7IF9yTigpOwogIFtbImNpQiIsImNpIl0sWyJjb0IiLCJjbyJdLFsicDFjaUIiLCJjaSJdLFsicDFjb0IiLCJjbyJdXS5mb3JFYWNoKGZ1bmN0aW9uKHgpeyB2YXIgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoeFswXSk7IGlmKCFlbCkgcmV0dXJuOyB2YXIgdj1TW3hbMV1dOyBlbC50ZXh0Q29udGVudD12P2ZtdCh2KToiQ2hvb3NlIGRhdGUiOyBlbC5jbGFzc0xpc3QudG9nZ2xlKCJlbXB0eSIsIXYpOyB9KTsKICBbImFkdWx0cyIsImtpZHM5Iiwia2lkc1U5IiwiZGJsIiwiZmFtIl0uZm9yRWFjaChmdW5jdGlvbihrKXsgdmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInAxIitrKyJPIik7IGlmKG8pIG8udGV4dENvbnRlbnQ9U1trXTsgfSk7CiAgdmFyIGg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInAxSGludCIpLCByaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm9vbUhpbnQiKTsgaWYoaCYmcmgpeyBoLnRleHRDb250ZW50PXJoLnRleHRDb250ZW50OyBoLnN0eWxlLmNvbG9yPXJoLnN0eWxlLmNvbG9yOyB9CiAgdmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInAxVG90YWwiKTsgaWYodCl7IHRyeXsgdmFyIGM9Y2FsYygpOyB0LnRleHRDb250ZW50PShTLmNpJiZTLmNvJiZjLm4pPygiVG90YWwsIGluY2wuIDUlIEdTVDogIitpbnIoYy50b3RhbCkrIiBmb3IgIitjLm4rKGMubj09PTE\/IiBuaWdodCI6IiBuaWdodHMiKSk6IiI7IH1jYXRjaChlKXt9IH0KfTsKcmVuZGVyKCk7Cn0pKCk7CgovKiBBc2sgTmFybyBTdXJ5YSBhbmQgbGl2ZSBjaGF0IGJ1dHRvbnMgKi8KZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpewogIHZhciBhPWUudGFyZ2V0LmNsb3Nlc3QoIi5hc2tidG4sLmFza1N1cnlhIik7IGlmKGEpeyBlLnByZXZlbnREZWZhdWx0KCk7IHZhciBxPWEuZ2V0QXR0cmlidXRlKCJkYXRhLWFzayIpOyBpZihxJiZ3aW5kb3cubmFyb1N1cnlhQXNrKSBuYXJvU3VyeWFBc2socSk7IGVsc2UgaWYod2luZG93Lm5hcm9TdXJ5YU9wZW4pIG5hcm9TdXJ5YU9wZW4oKTsgcmV0dXJuOyB9CiAgdmFyIHQ9ZS50YXJnZXQuY2xvc2VzdCgiLm9wZW5UYXdrIik7IGlmKHQpeyBlLnByZXZlbnREZWZhdWx0KCk7IGlmKHdpbmRvdy5uYXJvT3BlblRhd2spIG5hcm9PcGVuVGF3aygpOyB9Cn0pOwoKLyogTG9jYWwgaXRpbmVyYXJ5IGJ1aWxkZXIgKi8Kd2luZG93Lm5hcm9JdGluZXJhcnk9ZnVuY3Rpb24ocSl7CiAgdmFyIHM9KHF8fCIiKS50b0xvd2VyQ2FzZSgpLCBtPXMubWF0Y2goLyhcZCspXHMqKGRheXxkYXlzfGRpbnxuaWdodHxuaWdodHN8cmFhdCkvKSwgZGF5cz1NYXRoLm1pbig1LE1hdGgubWF4KDEsbT8rbVsxXToyKSk7CiAgdmFyIFA9e2phZzoiSmFnYXRncmFtLCB0aGUgM3JkIGNlbnR1cnkgQXNod2FtZWRoYSBzaXRlICg1IGttKSIsa2FsOiJ0aGUgQXNob2thIFJvY2sgRWRpY3QgYXQgS2Fsc2kgKDYga20pIixkYWs6IkRha3BhdGhhciBCYXJyYWdlIGZvciBhIHJpdmVyc2lkZSB3YWxrICg4IGttKSIsYXNhbjoiQXNhbiBCYXJyYWdlIGZvciBib2F0aW5nIGFuZCBiaXJkd2F0Y2hpbmcgKDI1IGttKSIsY2hhazoiQ2hha3JhdGEgYW5kIFRpZ2VyIEZhbGxzIGluIHRoZSBkZW9kYXIgaGlsbHMgKGFib3V0IDQ1IGttKSIsbXVzOiJNdXNzb29yaWUgdmlhIEtlbXB0eSBGYWxscyAoYWJvdXQgNzUga20pIixyZW46IlJlbnVrYSBKaGVlbCBhbmQgdGhlIEphbWFkYWduaSB0ZW1wbGUgYXQgSmFtdSBQZWFrIChhYm91dCA3MCB0byA3NSBrbSkiLGZvczoidGhlIE5haGFuIEZvc3NpbCBQYXJrIGF0IFN1a2V0aSAoYWJvdXQgODUga20pIixyaXNoOiJSaXNoaWtlc2ggYW5kIHRoZSBldmVuaW5nIEdhbmdhIEFhcnRpIChhYm91dCA5NSBrbSkiLGRvb246IkRlaHJhZHVuOiBSb2JiZXJzIENhdmUsIFNhaGFzdHJhZGhhcmEgYW5kIFRhcGtlc2h3YXIgdGVtcGxlICg0NSBrbSkifTsKICB2YXIgdHJpcHM9WyJjaGFrIiwibXVzIiwicmVuIiwicmlzaCIsImZvcyIsImRvb24iXTsKICBmdW5jdGlvbiBmcm9udChrKXsgdmFyIGk9dHJpcHMuaW5kZXhPZihrKTsgaWYoaT4wKXsgdHJpcHMuc3BsaWNlKGksMSk7IHRyaXBzLnVuc2hpZnQoayk7IH0gfQogIGlmKC9raWR8Y2hpbGR8ZmFtaWx5fGJhY2gvLnRlc3QocykpeyBmcm9udCgiZm9zIik7IH0KICBpZigvbGFrZXxib2F0fGpoZWVsLy50ZXN0KHMpKSBmcm9udCgicmVuIik7CiAgaWYoL2hpbGx8c25vd3xjb29sfHdhdGVyZmFsbHxtb3VudGFpbnxwYWhhZC8udGVzdChzKSl7IGZyb250KCJtdXMiKTsgZnJvbnQoImNoYWsiKTsgfQogIGlmKC90ZW1wbGV8c3Bpcml0dWFsfG1hbmRpcnxhYXJ0aXxwaWxncmltLy50ZXN0KHMpKXsgZnJvbnQoInJlbiIpOyBmcm9udCgicmlzaCIpOyB9CiAgdmFyIG5lYXI9WyJrYWwiLCJkYWsiLCJqYWciLCJhc2FuIl07IGlmKC9iaXJkfG5hdHVyZXxib2F0Ly50ZXN0KHMpKSBuZWFyPVsiYXNhbiIsImRhayIsImthbCIsImphZyJdOyBpZigvaGlzdG9yfGhlcml0YWdlfGFuY2llbnQvLnRlc3QocykpIG5lYXI9WyJqYWciLCJrYWwiLCJkYWsiLCJhc2FuIl07CiAgdmFyIG91dD1bXSwgdGk9MCwgbmk9MDsKICBmb3IodmFyIGQ9MTsgZDw9ZGF5czsgZCsrKXsKICAgIG91dC5wdXNoKCJEYXkgIitkKTsKICAgIGlmKGQ9PT0xKXsgb3V0LnB1c2goIk1vcm5pbmc6IEFycml2ZSBhbmQgc2V0dGxlIGluLiBDaGVjay1pbiBpcyBmcm9tIDExIGFtOyBlYXJseSBjaGVjay1pbiBmcm9tIDkgYW0gaXMgZnJlZSB3aGVuIHJvb21zIGFyZSB2YWNhbnQuIik7CiAgICAgIG91dC5wdXNoKCJBZnRlcm5vb246IEx1bmNoIGF0IE5hcm8gUmVzdGF1cmFudCwgdGhlbiBhIHNsb3cgd2FsayB0aHJvdWdoIHRoZSBvcmdhbmljIGdhcmRlbiBhbmQgdGhlIGZvcmVzdCBwYXRocy4iKTsKICAgICAgb3V0LnB1c2goIkV2ZW5pbmc6IFZpc2l0ICIrUFtuZWFyW25pKytdXSsiIGFuZCBjb21lIGJhY2sgZm9yIGRpbm5lciBhdCBOYXJvIFJlc3RhdXJhbnQuIik7IH0KICAgIGVsc2UgaWYoZD09PWRheXMpeyBvdXQucHVzaCgiTW9ybmluZzogQW4gZWFybHkgd2FsayBhcm91bmQgdGhlIHJlc29ydCwgdGhlbiAiK1BbbmVhcltuaSsrICUgbmVhci5sZW5ndGhdXSsiLiIpOwogICAgICBvdXQucHVzaCgiTGF0ZSBtb3JuaW5nOiBCcmVha2Zhc3QgYXQgTmFybyBSZXN0YXVyYW50ICg4IHRvIDEwOjMwIGFtKSBhbmQgY2hlY2stb3V0IGJ5IDExIGFtLiIpOyB9CiAgICBlbHNlIHsgb3V0LnB1c2goIk1vcm5pbmc6IERheSB0cmlwIHRvICIrUFt0cmlwc1t0aSsrICUgdHJpcHMubGVuZ3RoXV0rIi4gTGVhdmUgYWZ0ZXIgYW4gZWFybHkgYnJlYWtmYXN0LiIpOwogICAgICBvdXQucHVzaCgiRXZlbmluZzogQmFjayBhdCB0aGUgcmVzb3J0IGZvciBhIHF1aWV0IHdhbGsgaW4gdGhlIGZyZXNoIGFpciBhbmQgZGlubmVyIGF0IE5hcm8gUmVzdGF1cmFudC4iKTsgfQogICAgb3V0LnB1c2goIiIpOwogIH0KICBvdXQucHVzaCgiQXNrIE5hcm8gU3VyeWEgYXQgdGhlIGJvdHRvbSBsZWZ0IGFib3V0IGFueSBwbGFjZSBvbiB0aGlzIHBsYW4uIEZvciBhIHRheGksIGNoYXQgd2l0aCBvdXIgdGVhbS4iKTsKICByZXR1cm4gb3V0LmpvaW4oIlxuIik7Cn07CgovKiBXYXRlcm1hcmsgb24gcGhvdG9zIGFuZCB2aWRlb3MgdGhhdCBzaXQgb3V0c2lkZSB0aGUgdXN1YWwgcGhvdG8gZnJhbWVzICovCihmdW5jdGlvbigpewogIGZ1bmN0aW9uIG1hcmsoKXsgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiaW1nLHZpZGVvIikuZm9yRWFjaChmdW5jdGlvbihlbCl7CiAgICBpZihlbC5jbG9zZXN0KCIucGgsLndtLC5icmFuZCwuYnJhbmQtbG9nbywjbmFyby1zdXJ5YS1idG4sI25hcm8tc3VyeWEtaGVhZCwuZ3Jldi1ib3gsaGVhZGVyLGZvb3RlciIpKSByZXR1cm47CiAgICBpZihlbC5jbGFzc0xpc3QuY29udGFpbnMoImJyYW5kLWxvZ28iKXx8ZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCJlbW9qaSIpfHxlbC5jbG9zZXN0KCIjbmFyby1zdXJ5YS1wYW5lbCwjbmFyby1zdXJ5YS1iYWRnZSxidXR0b24sYS5idG4iKSkgcmV0dXJuOwogICAgdmFyIHc9ZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7IGlmKHc8MTQwKSByZXR1cm47CiAgICB2YXIgcD1lbC5wYXJlbnRFbGVtZW50OyBpZighcCB8fCBwLmNsYXNzTGlzdC5jb250YWlucygid20iKSkgcmV0dXJuOwogICAgdmFyIHdyYXA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOyB3cmFwLmNsYXNzTmFtZT0id20iOyB3cmFwLnN0eWxlLmRpc3BsYXk9ImlubGluZS1ibG9jayI7IHdyYXAuc3R5bGUubWF4V2lkdGg9IjEwMCUiOwogICAgcC5pbnNlcnRCZWZvcmUod3JhcCxlbCk7IHdyYXAuYXBwZW5kQ2hpbGQoZWwpOyB9KTsgfQogIGlmKGRvY3VtZW50LnJlYWR5U3RhdGU9PT0iY29tcGxldGUiKSBtYXJrKCk7IGVsc2Ugd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLG1hcmspOwp9KSgpOwo8L3NjcmlwdD4KCjxzdHlsZSBpZD0iaGJNb2JpbGVDb2xsYXBzZSI+CiNoZXJvQm9vayAuaGJUYXB7ZGlzcGxheTpub25lfQpAbWVkaWEobWF4LXdpZHRoOjc2MHB4KXsKI2hlcm9Cb29re21heC1oZWlnaHQ6MTEycHg7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246bWF4LWhlaWdodCAuNDVzIGVhc2U7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXJ9CiNoZXJvQm9vay5oYi1vcGVue21heC1oZWlnaHQ6MjYwMHB4O2N1cnNvcjphdXRvfQojaGVyb0Jvb2sgLmhiVGFwe2Rpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MTZweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTQuNXB4O2NvbG9yOiNlZmJmNjI7bGV0dGVyLXNwYWNpbmc6LjAyZW07Zm9udC13ZWlnaHQ6NzAwO3otaW5kZXg6Mjtwb2ludGVyLWV2ZW50czpub25lfQojaGVyb0Jvb2suaGItb3BlbiAuaGJUYXB7ZGlzcGxheTpub25lfQojaGVyb0Jvb2s6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2hlaWdodDo1NXB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgxNiwzNywyOCwwKSwgcmdiYSgxNiwzNywyOCwuOTcpKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6MX0KI2hlcm9Cb29rLmhiLW9wZW46OmJlZm9yZXtkaXNwbGF5Om5vbmV9Cn0KPC9zdHlsZT4KPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgZnVuY3Rpb24gaW5pdCgpewogICAgdmFyIGhiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hlcm9Cb29rJyk7CiAgICBpZiAoIWhiIHx8IGhiLnF1ZXJ5U2VsZWN0b3IoJy5oYlRhcCcpKSByZXR1cm47CiAgICB2YXIgdGFwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogICAgdGFwLmNsYXNzTmFtZSA9ICdoYlRhcCc7CiAgICB0YXAudGV4dENvbnRlbnQgPSAnVGFwIHRvIGNoZWNrIGRhdGVzIGFuZCBib29rIOKWvic7CiAgICBoYi5hcHBlbmRDaGlsZCh0YXApOwogICAgaGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsKICAgICAgaWYgKCF3aW5kb3cubWF0Y2hNZWRpYSgnKG1heC13aWR0aDo3NjBweCknKS5tYXRjaGVzKSByZXR1cm47CiAgICAgIGlmIChoYi5jbGFzc0xpc3QuY29udGFpbnMoJ2hiLW9wZW4nKSkgcmV0dXJuOwogICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgIGhiLmNsYXNzTGlzdC5hZGQoJ2hiLW9wZW4nKTsKICAgIH0sIHRydWUpOwogIH0KICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2xvYWRpbmcnKSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgaW5pdCk7CiAgZWxzZSBpbml0KCk7Cn0pKCk7Cjwvc2NyaXB0Pgo=\"><\/div>\n<script>(function(){var d=document.getElementById(`naro-app`);var s=atob(d.dataset.src);d.innerHTML=decodeURIComponent(escape(s));d.querySelectorAll(`script`).forEach(function(o){var n=document.createElement(`script`);n.text=o.text;o.replaceWith(n)})})();<\/script>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-4691","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/pages\/4691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/comments?post=4691"}],"version-history":[{"count":68,"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/pages\/4691\/revisions"}],"predecessor-version":[{"id":4803,"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/pages\/4691\/revisions\/4803"}],"wp:attachment":[{"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/media?parent=4691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}