{"id":37790,"date":"2026-09-23T12:23:01","date_gmt":"2026-09-23T12:23:01","guid":{"rendered":"https:\/\/skinfoways.com\/?page_id=37790"},"modified":"2026-09-23T12:23:01","modified_gmt":"2026-09-23T12:23:01","slug":"sk-home","status":"publish","type":"page","link":"https:\/\/skinfoways.com\/","title":{"rendered":"Home"},"content":{"rendered":"<script>window.SK_ROUTE=\"\/\";<\/script><link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin><link href=\"https:\/\/fonts.googleapis.com\/css2?family=Schibsted+Grotesk:wght@400;500;600;700;800&amp;display=swap\" rel=\"stylesheet\">\n<link rel=\"stylesheet\" id=\"sk-css\" href=\"data:text\/css;charset=utf-8;base64,OnJvb3R7CiAgLS1uYXZ5OiMxNjFEMUY7IC0tbmF2eS0yOiMxRTI4MkI7IC0tbmF2eS0zOiMyQjNBM0Q7IC0tbmF2eS1saW5lOnJnYmEoMjU1LDI1NSwyNTUsLjA5KTsKICAtLWJnOiNGRkZGRkY7IC0tYmctMjojRjRGNkY2OyAtLWNhcmQ6I0ZGRkZGRjsKICAtLXRleHQ6IzIwMjUyNjsgLS1tdXRlZDojNjU2QzZFOyAtLWxpbmU6I0UxRTVFNjsgLS1zaWx2ZXI6I0E0QUFBQzsKICAtLWN5YW46IzAwNzI5RjsgLS1jeWFuLTI6IzVDQzZFQzsgLS1jeWFuLXNvZnQ6I0U0RjNGOTsKICAtLWN5YW4tbG9nbzojMDQ5NENDOyAtLWdyZWVuOiM4QkM1M0Y7IC0tZ3JlZW4tMjojN0FCNTMyOyAtLWdyZWVuLWluazojNDM3QzFFOyAtLWdyZWVuLXNvZnQ6I0VFRjZFMzsgLS1vbi1ncmVlbjojMTExNzE5OwogIC0td2E6IzNFN0QxRjsgLS13YS0yOiMzMzY4MUE7CiAgLS1kYW5nZXI6I0M0MzgyRjsKICAtLXNoYWRvdzowIDFweCAycHggcmdiYSgyNSwzMSwzMywuMDUpLDAgMTBweCAyOHB4IC0xNHB4IHJnYmEoMjUsMzEsMzMsLjIyKTsKICAtLXNoYWRvdy1sZzowIDMwcHggNzBweCAtMjhweCByZ2JhKDI1LDMxLDMzLC40NSk7CiAgLS1yLWxnOjE4cHg7IC0tcjoxMnB4OyAtLXItc206OHB4OwogIC0tbWF4dzoxMjAwcHg7CiAgLS1mb250OiJTY2hpYnN0ZWQgR3JvdGVzayIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSwiU2Vnb2UgVUkiLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmOwogIC0taGRyOjgwcHg7CiAgYm94LXNpemluZzpib3JkZXItYm94OwogIHBhZGRpbmctdG9wOmVudihzYWZlLWFyZWEtaW5zZXQtdG9wLDBweCk7CiAgcGFkZGluZy1ib3R0b206ZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sMHB4KTsKICBjb2xvci1zY2hlbWU6bGlnaHQ7Cn0KQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXs6cm9vdDpub3QoW2RhdGEtdGhlbWU9ImxpZ2h0Il0pewogICAgLS1iZzojMTIxNTE1OyAtLWJnLTI6IzE4MUMxRDsgLS1jYXJkOiMxRDIxMjI7IC0tdGV4dDojRUJFRUVFOyAtLW11dGVkOiNBNkFEQUU7IC0tbGluZTojMzAzNTM2OwogICAgLS1jeWFuLXNvZnQ6IzBFMkEzNTsgLS1jeWFuOiMyRkE4REI7IC0tZ3JlZW4taW5rOiM5Q0QxNTU7IC0tZ3JlZW4tc29mdDojMUIyQTEyOyAtLXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMyksMCAxMnB4IDMwcHggLTE0cHggcmdiYSgwLDAsMCwuNik7IGNvbG9yLXNjaGVtZTpkYXJrOwogIH0KCn0KOnJvb3RbZGF0YS10aGVtZT0iZGFyayJdewogIC0tYmc6IzEyMTUxNTsgLS1iZy0yOiMxODFDMUQ7IC0tY2FyZDojMUQyMTIyOyAtLXRleHQ6I0VCRUVFRTsgLS1tdXRlZDojQTZBREFFOyAtLWxpbmU6IzMwMzUzNjsKICAtLWN5YW4tc29mdDojMEUyQTM1OyAtLWN5YW46IzJGQThEQjsgLS1ncmVlbi1pbms6IzlDRDE1NTsgLS1ncmVlbi1zb2Z0OiMxQjJBMTI7IC0tc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4zKSwwIDEycHggMzBweCAtMTRweCByZ2JhKDAsMCwwLC42KTsgY29sb3Itc2NoZW1lOmRhcms7Cn0KaHRtbHtzY3JvbGwtcGFkZGluZy10b3A6Y2FsYyh2YXIoLS1oZHIpICsgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsMHB4KSk7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCV9CiNzay1yb290ICosI3NrLXJvb3QgKjo6YmVmb3JlLCNzay1yb290ICo6OmFmdGVye2JveC1zaXppbmc6aW5oZXJpdH0KI3NrLXJvb3R7bWFyZ2luOjA7YmFja2dyb3VuZDp2YXIoLS1iZyk7Y29sb3I6dmFyKC0tdGV4dCk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udCk7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MS42Oy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7b3ZlcmZsb3cteDpoaWRkZW59CiNzay1yb290IGltZ3ttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfQojc2stcm9vdCBhe2NvbG9yOmluaGVyaXR9CiNzay1yb290IGJ1dHRvbntmb250OmluaGVyaXQ7Y29sb3I6aW5oZXJpdH0KI3NrLXJvb3QgOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tY3lhbik7b3V0bGluZS1vZmZzZXQ6M3B4O2JvcmRlci1yYWRpdXM6NnB4fQojc2stcm9vdCAuc2tpcHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi05OTlweDt0b3A6OHB4O2JhY2tncm91bmQ6dmFyKC0tY3lhbik7Y29sb3I6I2ZmZjtwYWRkaW5nOjhweCAxNHB4O2JvcmRlci1yYWRpdXM6OHB4O3otaW5kZXg6MTAwfQojc2stcm9vdCAuc2tpcDpmb2N1c3tsZWZ0OjEycHh9CiNzay1yb290IC53cmFwe3dpZHRoOjEwMCU7bWF4LXdpZHRoOnZhcigtLW1heHcpO21hcmdpbjowIGF1dG87cGFkZGluZzowIGNsYW1wKDE4cHgsNHZ3LDMycHgpfQojc2stcm9vdCAuaWN7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtmbGV4Om5vbmV9CiNzay1yb290IC5waHtiYWNrZ3JvdW5kOnJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoMjcsMTUwLDE5OCwuMTIpIDAgNnB4LHRyYW5zcGFyZW50IDZweCAxMnB4KTtib3JkZXI6MXB4IGRhc2hlZCB2YXIoLS1jeWFuKTtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjAgNnB4O2ZvbnQtd2VpZ2h0OjUwMH0KI3NrLXJvb3QgaDEsI3NrLXJvb3QgaDIsI3NrLXJvb3QgaDMsI3NrLXJvb3QgaDR7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4xO2xldHRlci1zcGFjaW5nOi0uMDJlbTt0ZXh0LXdyYXA6YmFsYW5jZX0KI3NrLXJvb3QgaDF7Zm9udC1zaXplOmNsYW1wKDIuNHJlbSw2dncsNC42cmVtKTtmb250LXdlaWdodDo4MDA7bGV0dGVyLXNwYWNpbmc6LS4wNGVtO2xpbmUtaGVpZ2h0OjEuMDF9CiNzay1yb290IGgye2ZvbnQtc2l6ZTpjbGFtcCgxLjdyZW0sMy4ydncsMi41NXJlbSk7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi0uMDNlbX0KI3NrLXJvb3QgaDN7Zm9udC1zaXplOjEuMTRyZW07Zm9udC13ZWlnaHQ6NjUwfQojc2stcm9vdCBwe21hcmdpbjowfQojc2stcm9vdCAubGVhZHtmb250LXNpemU6Y2xhbXAoMS4wMnJlbSwxLjV2dywxLjE4cmVtKTtjb2xvcjp2YXIoLS1tdXRlZCk7bWF4LXdpZHRoOjYwY2h9CiNzay1yb290IC5zZWN7cGFkZGluZzpjbGFtcCg2NHB4LDl2dywxMTJweCkgMH0KI3NrLXJvb3QgLnNlYy5hbHR7YmFja2dyb3VuZDp2YXIoLS1iZy0yKX0KI3NrLXJvb3QgLnNlYy1oZWFke2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczplbmQ7Z2FwOjI0cHg7bWFyZ2luLWJvdHRvbTpjbGFtcCgyOHB4LDR2dyw0NHB4KTtmbGV4LXdyYXA6d3JhcH0KI3NrLXJvb3QgLnNlYy1oZWFkIHB7bWFyZ2luLXRvcDoxMnB4fQojc2stcm9vdCAuYnRuey0tYmg6NDhweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxMHB4O21pbi1oZWlnaHQ6dmFyKC0tYmgpO3BhZGRpbmc6MCAyMnB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6Ljk4cmVtO3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXMgZWFzZSxiYWNrZ3JvdW5kIC4ycyBlYXNlLGJvcmRlci1jb2xvciAuMnMgZWFzZSxib3gtc2hhZG93IC4ycyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9CiNzay1yb290IC5idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTcpfQojc2stcm9vdCAuYnRuIC5pY3t3aWR0aDoxOXB4O2hlaWdodDoxOXB4fQojc2stcm9vdCAuYnRuLXByaW1hcnl7YmFja2dyb3VuZDp2YXIoLS1jeWFuKTtjb2xvcjojZmZmO2JveC1zaGFkb3c6MCA4cHggMjBweCAtMTBweCByZ2JhKDI3LDE1MCwxOTgsLjgpfQojc2stcm9vdCAuYnRuLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZDojMDQ3REFDfQojc2stcm9vdCAuYnRuLXdhe2JhY2tncm91bmQ6dmFyKC0td2EpO2NvbG9yOiNmZmZ9CiNzay1yb290IC5idG4td2E6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS13YS0yKX0KI3NrLXJvb3QgLmJ0bi1naG9zdHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjp2YXIoLS1saW5lKTtjb2xvcjp2YXIoLS10ZXh0KX0KI3NrLXJvb3QgLmJ0bi1naG9zdDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tdGV4dCl9CiNzay1yb290IC5vbi1kYXJrIC5idG4tZ2hvc3R7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI4KTtjb2xvcjojZmZmfQojc2stcm9vdCAub24tZGFyayAuYnRuLWdob3N0OmhvdmVye2JvcmRlci1jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDYpfQojc2stcm9vdCAuYnRuLXNtey0tYmg6NDBweDtwYWRkaW5nOjAgMTRweDtmb250LXNpemU6LjlyZW07Ym9yZGVyLXJhZGl1czo4cHh9CiNzay1yb290IC5idG4tYmxvY2t7d2lkdGg6MTAwJX0KI3NrLXJvb3QgLmxpbmt7Y29sb3I6dmFyKC0tY3lhbik7Zm9udC13ZWlnaHQ6NjAwO3RleHQtZGVjb3JhdGlvbjpub25lO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHRyYW5zcGFyZW50O3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4yc30KI3NrLXJvb3QgLmxpbms6aG92ZXJ7Ym9yZGVyLWNvbG9yOmN1cnJlbnRDb2xvcn0KI3NrLXJvb3QgI2hkcntwb3NpdGlvbjpzdGlja3k7dG9wOmVudihzYWZlLWFyZWEtaW5zZXQtdG9wLDBweCk7ei1pbmRleDo1MDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjk2KTtiYWNrZHJvcC1maWx0ZXI6c2F0dXJhdGUoMS40KSBibHVyKDE0cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnNhdHVyYXRlKDEuNCkgYmx1cigxNHB4KTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRTdFOUVBO2NvbG9yOiMyMDI1MjY7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4yNXN9CiNzay1yb290ICNoZHIgLndyYXB7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MjRweDtoZWlnaHQ6dmFyKC0taGRyKTt0cmFuc2l0aW9uOmhlaWdodCAuMjVzIGVhc2V9CiNzay1yb290ICNoZHIuc2Nyb2xsZWR7Ym94LXNoYWRvdzowIDEwcHggMzBweCAtMThweCByZ2JhKDI1LDMxLDMzLC4zNSl9CiNzay1yb290ICNoZHIuc2Nyb2xsZWQgLndyYXB7aGVpZ2h0OjU4cHh9CiNzay1yb290IC5sb2dve2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6I2ZmZjtmbGV4Om5vbmV9CiNzay1yb290IC5sb2dvIGltZ3toZWlnaHQ6NThweDt3aWR0aDphdXRvO3RyYW5zaXRpb246aGVpZ2h0IC4yNXN9CiNzay1yb290ICNoZHIuc2Nyb2xsZWQgLmxvZ28gaW1ne2hlaWdodDo0NHB4fQojc2stcm9vdCAuZmxvZ297ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjEwcHggMTRweH0KI3NrLXJvb3QgLmZsb2dvIGltZ3toZWlnaHQ6NTJweDt3aWR0aDphdXRvfQojc2stcm9vdCAud29yZG1hcmt7Zm9udC13ZWlnaHQ6ODAwO2ZvbnQtc2l6ZToxLjIycmVtO2xldHRlci1zcGFjaW5nOi0uMDNlbX0KI3NrLXJvb3QgLndvcmRtYXJrIHNtYWxse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOi42NnJlbTtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6LjAyZW07Y29sb3I6dmFyKC0tc2lsdmVyKTttYXJnaW4tdG9wOi0ycHh9CiNzay1yb290IC5uYXZ7ZGlzcGxheTpmbGV4O2dhcDo0cHg7bWFyZ2luLWxlZnQ6YXV0b30KI3NrLXJvb3QgLm5hdiBhe3BhZGRpbmc6OHB4IDE0cHg7Ym9yZGVyLXJhZGl1czo4cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZTouOTVyZW07Y29sb3I6IzUxNUE1Qzt0cmFuc2l0aW9uOmNvbG9yIC4ycyxiYWNrZ3JvdW5kIC4yc30KI3NrLXJvb3QgLm5hdiBhOmhvdmVye2NvbG9yOiMxOTFGMjE7YmFja2dyb3VuZDojRjNGNUY1fQojc2stcm9vdCAubmF2IGEuYWN0aXZle2NvbG9yOnZhcigtLWN5YW4pO2JhY2tncm91bmQ6I0VERjJGM30KI3NrLXJvb3QgLmhkci13YXttYXJnaW4tbGVmdDo4cHh9CiNzay1yb290IC5idXJnZXJ7ZGlzcGxheTpub25lO21hcmdpbi1sZWZ0OmF1dG87d2lkdGg6NDRweDtoZWlnaHQ6NDRweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjFweCBzb2xpZCAjRENFMEUxO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmV9CiNzay1yb290IC5idXJnZXIgc3Bhbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEycHg7cmlnaHQ6MTJweDtoZWlnaHQ6MnB4O2JhY2tncm91bmQ6IzIwMjUyNjtib3JkZXItcmFkaXVzOjJweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzLG9wYWNpdHkgLjJzfQojc2stcm9vdCAuYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDEpe3RvcDoxNXB4fQojc2stcm9vdCAuYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDIpe3RvcDoyMXB4fQojc2stcm9vdCAuYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDMpe3RvcDoyN3B4fQpib2R5Lm1lbnUtb3BlbiAjc2stcm9vdCAuYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDEpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCkgcm90YXRlKDQ1ZGVnKX0KYm9keS5tZW51LW9wZW4gI3NrLXJvb3QgLmJ1cmdlciBzcGFuOm50aC1jaGlsZCgyKXtvcGFjaXR5OjB9CmJvZHkubWVudS1vcGVuICNzay1yb290IC5idXJnZXIgc3BhbjpudGgtY2hpbGQoMyl7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCkgcm90YXRlKC00NWRlZyl9CiNzay1yb290IC5tbmF2e2Rpc3BsYXk6bm9uZX0KQG1lZGlhIChtYXgtd2lkdGg6OTAwcHgpeyNzay1yb290IC5uYXYsI3NrLXJvb3QgLmhkci13YXtkaXNwbGF5Om5vbmV9CiNzay1yb290IC5idXJnZXJ7ZGlzcGxheTpibG9ja30KI3NrLXJvb3QgLm1uYXZ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7cmlnaHQ6MDt0b3A6Y2FsYyh2YXIoLS1oZHIpICsgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsMHB4KSk7Ym90dG9tOjA7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6MThweCBjbGFtcCgxOHB4LDR2dywzMnB4KSBjYWxjKDI4cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwwcHgpKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbjpvcGFjaXR5IC4yMnMgZWFzZSx0cmFuc2Zvcm0gLjIycyBlYXNlLHZpc2liaWxpdHkgLjIycztvdmVyZmxvdy15OmF1dG87ei1pbmRleDo0OX0KI3NrLXJvb3QgI2hkci5zY3JvbGxlZCB+IC5tbmF2e3RvcDpjYWxjKDU4cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwwcHgpKX0KYm9keS5tZW51LW9wZW4gI3NrLXJvb3QgLm1uYXZ7b3BhY2l0eToxO3RyYW5zZm9ybTpub25lO3Zpc2liaWxpdHk6dmlzaWJsZX0KI3NrLXJvb3QgLm1uYXYgYS5tbHtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTZweCA0cHg7Zm9udC1zaXplOjEuNXJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LS4wMmVtO2NvbG9yOiMyMDI1MjY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI0U3RTlFQX0KI3NrLXJvb3QgLm1uYXYgYS5tbC5hY3RpdmV7Y29sb3I6dmFyKC0tY3lhbil9CiNzay1yb290IC5tbmF2IC5idG57bWFyZ2luLXRvcDoyNHB4O3dpZHRoOjEwMCV9CiNzay1yb290IC5tbmF2IC5tbm90ZXtjb2xvcjojNjU2QzZFO2ZvbnQtc2l6ZTouOXJlbTttYXJnaW4tdG9wOjE0cHh9Cgp9CmJvZHkubWVudS1vcGVue292ZXJmbG93OmhpZGRlbn0KI3NrLXJvb3QgI3NrLW1haW57b3V0bGluZTpub25lO2FuaW1hdGlvbjpwYWdlSW4gLjMycyBlYXNlIGJvdGh9CiNzay1yb290ICNzay1tYWluLmxlYXZpbmd7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMTJzfQpAa2V5ZnJhbWVzIHBhZ2VJbntmcm9te29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fQojc2stcm9vdCAucmV2ZWFse29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxNHB4KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UsdHJhbnNmb3JtIC41cyBlYXNlfQojc2stcm9vdCAucmV2ZWFsLmlue29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7I3NrLXJvb3QgKiwjc2stcm9vdCAqOjpiZWZvcmUsI3NrLXJvb3QgKjo6YWZ0ZXJ7YW5pbWF0aW9uLWR1cmF0aW9uOi4wMW1zIWltcG9ydGFudDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wMW1zIWltcG9ydGFudH0KI3NrLXJvb3QgLnJldmVhbHtvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9Cgp9CiNzay1yb290IC5oZXJve3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6dmFyKC0tbmF2eSk7Y29sb3I6I2ZmZjtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGV9CiNzay1yb290IC5oZXJvOjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6LTE7YmFja2dyb3VuZDoKICByYWRpYWwtZ3JhZGllbnQoNzAwcHggNDIwcHggYXQgNzglIDM4JSxyZ2JhKDEzOSwxOTcsNjMsLjE2KSx0cmFuc3BhcmVudCA2NSUpLAogIGxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tbmF2eSkgMCUsdmFyKC0tbmF2eS0yKSAxMDAlKX0KI3NrLXJvb3QgLmhlcm86OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4Oi0xO29wYWNpdHk6LjU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodmFyKC0tbmF2eS1saW5lKSAxcHgsdHJhbnNwYXJlbnQgMXB4KSxsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tbmF2eS1saW5lKSAxcHgsdHJhbnNwYXJlbnQgMXB4KTtiYWNrZ3JvdW5kLXNpemU6NTZweCA1NnB4O21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCwjMDAwIDMwJSwjMDAwIDcwJSx0cmFuc3BhcmVudCk7LXdlYmtpdC1tYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQsIzAwMCAzMCUsIzAwMCA3MCUsdHJhbnNwYXJlbnQpfQojc2stcm9vdCAuaGVybyAud3JhcHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjEuM2ZyIDFmcjtnYXA6Y2xhbXAoMjRweCw1dncsNjRweCk7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctdG9wOmNsYW1wKDU2cHgsOHZ3LDEwNHB4KTtwYWRkaW5nLWJvdHRvbTpjbGFtcCg2NHB4LDl2dywxMTJweCl9CiNzay1yb290IC5oZXJvIGgxe2ZvbnQtc2l6ZTpjbGFtcCgyLjNyZW0sNC41dncsMy44cmVtKX0KI3NrLXJvb3QgLmhlcm8gaDEgc3BhbntkaXNwbGF5OmJsb2NrfQpAbWVkaWEgKG1pbi13aWR0aDo5MDFweCl7I3NrLXJvb3QgLmhlcm8gaDEgc3Bhbnt3aGl0ZS1zcGFjZTpub3dyYXB9fQojc2stcm9vdCAuaGVybyBoMSBzcGFuOm50aC1jaGlsZCgyKXtjb2xvcjojRDFEN0Q5fQojc2stcm9vdCAuaGVybyBoMSBzcGFuOm50aC1jaGlsZCgzKXtjb2xvcjp2YXIoLS1jeWFuLTIpfQojc2stcm9vdCAuaGVybyAubGVhZHtjb2xvcjojQkZDNkM4O21hcmdpbi10b3A6MjRweDttYXgtd2lkdGg6NDZjaH0KI3NrLXJvb3QgLmhlcm8tY3Rhc3tkaXNwbGF5OmZsZXg7Z2FwOjEycHg7bWFyZ2luLXRvcDozNHB4O2ZsZXgtd3JhcDp3cmFwfQojc2stcm9vdCAuaGVyby1ub3Rle21hcmdpbi10b3A6MjhweDtkaXNwbGF5OmZsZXg7Z2FwOjE4cHg7ZmxleC13cmFwOndyYXA7Y29sb3I6IzlDQTVBNztmb250LXNpemU6LjlyZW19CiNzay1yb290IC5oZXJvLW5vdGUgc3BhbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4fQojc2stcm9vdCAuaGVyby1ub3RlIC5pY3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2NvbG9yOnZhcigtLWN5YW4tMil9CiNzay1yb290IC5oLWxpbmV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDE2cHgpO2FuaW1hdGlvbjpyaXNlIC42cyBjdWJpYy1iZXppZXIoLjIsLjcsLjIsMSkgZm9yd2FyZHN9CiNzay1yb290IC5oLWxpbmU6bnRoLWNoaWxkKDEpe2FuaW1hdGlvbi1kZWxheTouMDVzfQojc2stcm9vdCAuaC1saW5lOm50aC1jaGlsZCgyKXthbmltYXRpb24tZGVsYXk6LjE1c30KI3NrLXJvb3QgLmgtbGluZTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4yNXN9CiNzay1yb290IC5oLWZhZGV7b3BhY2l0eTowO2FuaW1hdGlvbjpmYWRlIC43cyBlYXNlIC40NXMgZm9yd2FyZHN9CkBrZXlmcmFtZXMgcmlzZXt0b3tvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9fQpAa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eToxfX0KI3NrLXJvb3QgLmhlcm8tYXJ0e3Bvc2l0aW9uOnJlbGF0aXZlO21heC13aWR0aDo2MDBweDtqdXN0aWZ5LXNlbGY6ZW5kO3dpZHRoOjEwMCV9CiNzay1yb290IC5oZXJvLWFydCBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0bztmaWx0ZXI6ZHJvcC1zaGFkb3coMCA0MHB4IDUwcHggcmdiYSgwLDAsMCwuNDUpKX0KI3NrLXJvb3QgLmhlcm8tcGhvdG97YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6MjBweDtwYWRkaW5nOjE0cHg7Ym94LXNoYWRvdzowIDQwcHggODBweCAtMzBweCByZ2JhKDAsMCwwLC42KTthc3BlY3QtcmF0aW86NC8zO2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO29wYWNpdHk6MDthbmltYXRpb246ZmFkZSAuOHMgZWFzZSAuM3MgZm9yd2FyZHN9CiNzay1yb290IC5oZXJvLXBob3RvIGltZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y29udGFpbjtib3JkZXItcmFkaXVzOjEycHh9CiNzay1yb290IC5oZXJvLWFydCAuc2Nye2FuaW1hdGlvbjpwb3dlck9uIDEuMXMgZWFzZSAuMzVzIGJvdGh9CkBrZXlmcmFtZXMgcG93ZXJPbnswJXtvcGFjaXR5Oi4wOH00MCV7b3BhY2l0eTouMzV9MTAwJXtvcGFjaXR5OjF9fQojc2stcm9vdCAubG90e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTYlO2JvdHRvbTo2JTt3aWR0aDptaW4oMjUwcHgsNTglKTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjk3KTtjb2xvcjojMjAyNTI2O2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjE0cHggMTZweCAxNHB4IDIwcHg7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctbGcpO2N1cnNvcjpwb2ludGVyO2JvcmRlcjowO3RleHQtYWxpZ246bGVmdDtvcGFjaXR5OjA7YW5pbWF0aW9uOnJpc2UgLjZzIGN1YmljLWJlemllciguMiwuNywuMiwxKSAuOHMgZm9yd2FyZHM7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTZweCl9CiNzay1yb290IC5sb3Q6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6OHB4O3RvcDoxNHB4O2JvdHRvbToxNHB4O3dpZHRoOjNweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kOnZhcigtLWN5YW4pfQojc2stcm9vdCAubG90IHNtYWxse2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzY1NkM2RTtmb250LXNpemU6Ljc2cmVtO2ZvbnQtd2VpZ2h0OjUwMH0KI3NrLXJvb3QgLmxvdCBzdHJvbmd7ZGlzcGxheTpibG9jaztmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjI1O21hcmdpbjoycHggMCA2cHh9CiNzay1yb290IC5sb3QgLnJvd3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Zm9udC1zaXplOi44cmVtO2NvbG9yOiM2NTZDNkU7Ym9yZGVyLXRvcDoxcHggc29saWQgI0U4RUFFQjtwYWRkaW5nLXRvcDo2cHg7bWFyZ2luLXRvcDo2cHg7Z2FwOjhweH0KI3NrLXJvb3QgLmxvdCAucm93IGJ7Y29sb3I6IzIwMjUyNjtmb250LXdlaWdodDo2MDB9CiNzay1yb290IC5sb3Q6aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTNweCkhaW1wb3J0YW50O3RyYW5zaXRpb246dHJhbnNmb3JtIC4yc30KI3NrLXJvb3QgLmhse2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpfQojc2stcm9vdCAuaGwgLndyYXB7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpfQojc2stcm9vdCAuaGwtaXRlbXtkaXNwbGF5OmZsZXg7Z2FwOjE0cHg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MjhweCAyMHB4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCB2YXIoLS1saW5lKX0KI3NrLXJvb3QgLmhsLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLWxlZnQ6MDtwYWRkaW5nLWxlZnQ6MH0KI3NrLXJvb3QgLmhsLWl0ZW0gLmljLWJveHt3aWR0aDo0NnB4O2hlaWdodDo0NnB4O2JvcmRlci1yYWRpdXM6MTJweDtkaXNwbGF5OmdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6dmFyKC0tY3lhbi1zb2Z0KTtjb2xvcjp2YXIoLS1jeWFuKTtmbGV4Om5vbmV9CiNzay1yb290IC5obC1pdGVtIGgze2ZvbnQtc2l6ZToxcmVtfQojc2stcm9vdCAuaGwtaXRlbSBwe2ZvbnQtc2l6ZTouODZyZW07Y29sb3I6dmFyKC0tbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNDttYXJnaW4tdG9wOjJweH0KI3NrLXJvb3QgLmdyaWQtcHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpbGwsbWlubWF4KDI3MHB4LDFmcikpO2dhcDoyMHB4fQojc2stcm9vdCAucGNhcmR7YmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tci1sZyk7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjIycyBlYXNlLGJveC1zaGFkb3cgLjIycyBlYXNlLGJvcmRlci1jb2xvciAuMjJzfQojc2stcm9vdCAucGNhcmQ6aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0KI3NrLXJvb3QgLnBtZWRpYXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7Ym9yZGVyOjA7cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE2MGRlZywjRjdGOUY5LCNFQkVFRUYpO2FzcGVjdC1yYXRpbzoxNi8xMC41O292ZXJmbG93OmhpZGRlbn0KOnJvb3RbZGF0YS10aGVtZT0iZGFyayJdICNzay1yb290IC5wbWVkaWF7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTYwZGVnLCMyNjJCMkMsIzFBMUYyMCl9CkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7OnJvb3Q6bm90KFtkYXRhLXRoZW1lPSJsaWdodCJdKSAjc2stcm9vdCAucG1lZGlhe2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE2MGRlZywjMjYyQjJDLCMxQTFGMjApfX0KI3NrLXJvb3QgLnBtZWRpYXthc3BlY3QtcmF0aW86NC8zfQojc2stcm9vdCAucG1lZGlhIGltZywjc2stcm9vdCAucG1lZGlhIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y29udGFpbjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNDVzIGVhc2V9CiNzay1yb290IC5wbWVkaWEgLnBoLWJne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b2JqZWN0LWZpdDpjb3ZlcjtmaWx0ZXI6Ymx1cigyMnB4KSBzYXR1cmF0ZSgxLjEpIGJyaWdodG5lc3MoLjkyKTt0cmFuc2Zvcm06c2NhbGUoMS4yKX0KI3NrLXJvb3QgLnBtZWRpYSAucGgtZmd7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzoxMHB4O2ZpbHRlcjpkcm9wLXNoYWRvdygwIDEwcHggMThweCByZ2JhKDAsMCwwLC4yNSkpfQojc2stcm9vdCAucGNhcmQ6aG92ZXIgLnBtZWRpYSAucGgtYmd7dHJhbnNmb3JtOnNjYWxlKDEuMil9CiNzay1yb290IC5wbWVkaWEgc3Zne29iamVjdC1maXQ6Y29udGFpbjtwYWRkaW5nOjglIDEwJSA0JX0KI3NrLXJvb3QgLnBjYXJkOmhvdmVyIC5wbWVkaWEgaW1nLCNzay1yb290IC5wY2FyZDpob3ZlciAucG1lZGlhIHN2Z3t0cmFuc2Zvcm06c2NhbGUoMS4wNCl9CiNzay1yb290IC50YWd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEycHg7bGVmdDoxMnB4O2JhY2tncm91bmQ6cmdiYSgyNSwzMSwzMywuODYpO2NvbG9yOiNmZmY7Zm9udC1zaXplOi43NHJlbTtmb250LXdlaWdodDo2MDA7cGFkZGluZzo1cHggMTBweDtib3JkZXItcmFkaXVzOjZweDtiYWNrZHJvcC1maWx0ZXI6Ymx1cig2cHgpfQojc2stcm9vdCAudGFnLnF0eXtsZWZ0OmF1dG87cmlnaHQ6MTJweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjk0KTtjb2xvcjojMjAyNTI2fQojc2stcm9vdCAucGJvZHl7cGFkZGluZzoxOHB4IDE4cHggMjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MX0KI3NrLXJvb3QgLnBicmFuZHtmb250LXNpemU6LjgycmVtO2NvbG9yOnZhcigtLW11dGVkKTtmb250LXdlaWdodDo1MDB9CiNzay1yb290IC5wYm9keSBoM3ttYXJnaW46MnB4IDAgMTRweDtmb250LXNpemU6MS4xMnJlbTtsaW5lLWhlaWdodDoxLjI1fQojc2stcm9vdCAucGxpbmt7dGV4dC1kZWNvcmF0aW9uOm5vbmV9CiNzay1yb290IC5wbGluazpob3Zlcntjb2xvcjp2YXIoLS1jeWFuKX0KI3NrLXJvb3QgLnNwZWNze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MTBweCAxNHB4O21hcmdpbjowIDAgMTZweDtmb250LXNpemU6Ljg2cmVtfQojc2stcm9vdCAuc3BlY3MgZGl2e21pbi13aWR0aDowfQojc2stcm9vdCAuc3BlY3MgZHR7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZTouNzRyZW19CiNzay1yb290IC5zcGVjcyBkZHttYXJnaW46MDtmb250LXdlaWdodDo2MDA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTtsaW5lLWhlaWdodDoxLjN9CiNzay1yb290IC5wbWV0YXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHggMTBweDtwYWRkaW5nLXRvcDoxMnB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2ZvbnQtc2l6ZTouODVyZW07bWFyZ2luLXRvcDphdXRvfQojc2stcm9vdCAuY29uZHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZvbnQtd2VpZ2h0OjYwMH0KI3NrLXJvb3QgLmNvbmQ6OmJlZm9yZXtjb250ZW50OiIiO3dpZHRoOjdweDtoZWlnaHQ6N3B4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0td2EpfQojc2stcm9vdCAucHJpY2UtcmVxe3doaXRlLXNwYWNlOm5vd3JhcDtjb2xvcjp2YXIoLS1jeWFuKTtmb250LXdlaWdodDo2MDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZDpub25lO2JvcmRlcjowO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6Ljg1cmVtfQojc2stcm9vdCAucHJpY2UtcmVxOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9CiNzay1yb290IC5wYWN0aW9uc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjhweDttYXJnaW4tdG9wOjE0cHh9CiNzay1yb290IC5wYWN0aW9ucyAuYnRue3BhZGRpbmc6MCAxMHB4fQojc2stcm9vdCAud2h5e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKTtnYXA6MjBweH0KI3NrLXJvb3QgLndjYXJke3BhZGRpbmc6MjhweCAyNHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tci1sZyk7YmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMjVzLHRyYW5zZm9ybSAuMjVzfQojc2stcm9vdCAud2NhcmQ6OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1jeWFuKSx2YXIoLS1jeWFuLTIpKTt0cmFuc2Zvcm06c2NhbGVYKDApO3RyYW5zZm9ybS1vcmlnaW46bGVmdDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2V9CiNzay1yb290IC53Y2FyZDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tc2lsdmVyKX0KI3NrLXJvb3QgLndjYXJkOmhvdmVyOjphZnRlcnt0cmFuc2Zvcm06c2NhbGVYKDEpfQojc2stcm9vdCAud2NhcmQgLmlje3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Y29sb3I6dmFyKC0tY3lhbil9CiNzay1yb290IC53Y2FyZCBoM3ttYXJnaW46MjBweCAwIDhweH0KI3NrLXJvb3QgLndjYXJkIHB7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZTouOTVyZW07bGluZS1oZWlnaHQ6MS41fQojc2stcm9vdCAuYnJhbmRze2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6MTBweCA0NHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjMwcHggMDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1saW5lKX0KI3NrLXJvb3QgLmJyYW5kcyBzcGFue2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6Y2xhbXAoMS4wNXJlbSwydncsMS4zNXJlbSk7Y29sb3I6dmFyKC0tc2lsdmVyKTtsZXR0ZXItc3BhY2luZzotLjAyZW19CiNzay1yb290IC5icmFuZHMgc21hbGx7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6LjlyZW19CiNzay1yb290IC5jdGF7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDp2YXIoLS1uYXZ5KTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MjRweDtwYWRkaW5nOmNsYW1wKDQwcHgsN3Z3LDgwcHgpO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjEuNGZyIGF1dG87Z2FwOjMycHg7YWxpZ24taXRlbXM6Y2VudGVyfQojc2stcm9vdCAuY3RhOjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6LTE7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoNTIwcHggMzAwcHggYXQgOTAlIDAlLHJnYmEoMjcsMTUwLDE5OCwuMzUpLHRyYW5zcGFyZW50IDcwJSksbGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1uYXZ5KSx2YXIoLS1uYXZ5LTMpKX0KI3NrLXJvb3QgLmN0YSBoMntmb250LXNpemU6Y2xhbXAoMS45cmVtLDR2dywzLjFyZW0pfQojc2stcm9vdCAuY3RhIHB7Y29sb3I6I0JGQzZDODttYXJnaW4tdG9wOjE0cHg7Zm9udC1zaXplOjEuMXJlbX0KI3NrLXJvb3QgLmN0YSAuYnRuc3tkaXNwbGF5OmZsZXg7Z2FwOjEycHg7ZmxleC13cmFwOndyYXB9CiNzay1yb290IC5waGVyb3tiYWNrZ3JvdW5kOnZhcigtLW5hdnkpO2NvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlfQojc2stcm9vdCAucGhlcm86OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDotMTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCg2MDBweCAzMDBweCBhdCA4NSUgMTAlLHJnYmEoMjcsMTUwLDE5OCwuMjUpLHRyYW5zcGFyZW50IDcwJSksbGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1uYXZ5KSx2YXIoLS1uYXZ5LTIpKX0KI3NrLXJvb3QgLnBoZXJvIC53cmFwe3BhZGRpbmctdG9wOmNsYW1wKDU2cHgsN3Z3LDkycHgpO3BhZGRpbmctYm90dG9tOmNsYW1wKDQ4cHgsNnZ3LDgwcHgpfQojc2stcm9vdCAucGhlcm8gaDF7Zm9udC1zaXplOmNsYW1wKDIuMnJlbSw1dncsMy44cmVtKX0KI3NrLXJvb3QgLnBoZXJvIC5sZWFke2NvbG9yOiNCRkM2Qzg7bWFyZ2luLXRvcDoxNnB4fQojc2stcm9vdCAuY3J1bWJze2ZvbnQtc2l6ZTouODZyZW07Y29sb3I6IzlDQTVBNzttYXJnaW4tYm90dG9tOjE4cHh9CiNzay1yb290IC5jcnVtYnMgYXt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojQkZDNkM4fQojc2stcm9vdCAuY3J1bWJzIGE6aG92ZXJ7Y29sb3I6I2ZmZn0KI3NrLXJvb3QgLnNwbGl0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS4yNWZyIDFmcjtnYXA6Y2xhbXAoMzJweCw2dncsODBweCk7YWxpZ24taXRlbXM6c3RhcnR9CiNzay1yb290IC5wcm9zZS1zIHB7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZToxLjA2cmVtO21hcmdpbi10b3A6MTZweDttYXgtd2lkdGg6NjJjaH0KI3NrLXJvb3QgLnByb3NlLXMgcDpmaXJzdC1vZi10eXBle2NvbG9yOnZhcigtLXRleHQpO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS41fQojc2stcm9vdCAuZmFjdHN7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOnZhcigtLXItbGcpO2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7b3ZlcmZsb3c6aGlkZGVufQojc2stcm9vdCAuZmFjdHMgZGl2e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTZweDtwYWRkaW5nOjE4cHggMjJweDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1saW5lKX0KI3NrLXJvb3QgLmZhY3RzIGRpdjpmaXJzdC1jaGlsZHtib3JkZXItdG9wOjB9CiNzay1yb290IC5mYWN0cyBkdHtjb2xvcjp2YXIoLS1tdXRlZCk7Zm9udC1zaXplOi45cmVtfQojc2stcm9vdCAuZmFjdHMgZGR7bWFyZ2luOjA7Zm9udC13ZWlnaHQ6NjAwO3RleHQtYWxpZ246cmlnaHR9CiNzay1yb290IC5vZmZlcntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg2LDFmcik7Z2FwOjE4cHh9CiNzay1yb290IC5vY2FyZHtncmlkLWNvbHVtbjpzcGFuIDI7cGFkZGluZzoyNnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tci1sZyk7YmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjIycyxib3gtc2hhZG93IC4yMnMsYm9yZGVyLWNvbG9yIC4yMnN9CiNzay1yb290IC5vY2FyZDpudGgtY2hpbGQoNCksI3NrLXJvb3QgLm9jYXJkOm50aC1jaGlsZCg1KXtncmlkLWNvbHVtbjpzcGFuIDN9CiNzay1yb290IC5vY2FyZDpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KTtib3gtc2hhZG93OnZhcigtLXNoYWRvdyk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fQojc2stcm9vdCAub2NhcmQgLmlje3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Y29sb3I6dmFyKC0tY3lhbil9CiNzay1yb290IC5vY2FyZCBoM3ttYXJnaW4tdG9wOjEwcHh9CiNzay1yb290IC5vY2FyZCBwe2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6Ljk1cmVtO2xpbmUtaGVpZ2h0OjEuNX0KI3NrLXJvb3QgLm9jYXJkIGF7bWFyZ2luLXRvcDphdXRvO3BhZGRpbmctdG9wOjEwcHg7Zm9udC1zaXplOi45cmVtfQojc2stcm9vdCAuc3RlcHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpO2dhcDowO2NvdW50ZXItcmVzZXQ6cztwb3NpdGlvbjpyZWxhdGl2ZX0KI3NrLXJvb3QgLnN0ZXB7cGFkZGluZzowIDIycHggMCAwO3Bvc2l0aW9uOnJlbGF0aXZlfQojc2stcm9vdCAuc3RlcCAubnVte3dpZHRoOjUycHg7aGVpZ2h0OjUycHg7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTpncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjEuMDVyZW07YmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tY3lhbik7Y29sb3I6dmFyKC0tY3lhbik7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMjVzLGNvbG9yIC4yNXN9CiNzay1yb290IC5zdGVwOmhvdmVyIC5udW17YmFja2dyb3VuZDp2YXIoLS1jeWFuKTtjb2xvcjojZmZmfQojc2stcm9vdCAuc3RlcDo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjI2cHg7bGVmdDo1MnB4O3JpZ2h0OjA7aGVpZ2h0OjEuNXB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLWN5YW4pLHZhcigtLWxpbmUpKX0KI3NrLXJvb3QgLnN0ZXA6bGFzdC1jaGlsZDo6YmVmb3Jle2Rpc3BsYXk6bm9uZX0KI3NrLXJvb3QgLnN0ZXAgaDN7bWFyZ2luOjIwcHggMCA2cHg7Zm9udC1zaXplOjEuMjVyZW19CiNzay1yb290IC5zdGVwIHB7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZTouOTVyZW07bGluZS1oZWlnaHQ6MS41O21heC13aWR0aDoyNmNofQojc2stcm9vdCAuY2F0YWxvZ3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjI1MHB4IDFmcjtnYXA6MzZweDthbGlnbi1pdGVtczpzdGFydH0KI3NrLXJvb3QgLnNlYXJjaGJhcntwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6NjQwcHg7bWFyZ2luLXRvcDoyOHB4fQojc2stcm9vdCAuc2VhcmNoYmFyIC5pY3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjE4cHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtjb2xvcjojOUNBNUE3fQojc2stcm9vdCAuc2VhcmNoYmFyIGlucHV0e3dpZHRoOjEwMCU7aGVpZ2h0OjU4cHg7Ym9yZGVyLXJhZGl1czoxNHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTYpO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDcpO2NvbG9yOiNmZmY7Zm9udDppbmhlcml0O2ZvbnQtc2l6ZToxLjAycmVtO3BhZGRpbmc6MCA0OHB4IDAgNTJweDt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMnMsYmFja2dyb3VuZCAuMnN9CiNzay1yb290IC5zZWFyY2hiYXIgaW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOiM5Q0E1QTd9CiNzay1yb290IC5zZWFyY2hiYXIgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlci1jb2xvcjp2YXIoLS1jeWFuLTIpO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9CiNzay1yb290IC5zZWFyY2hiYXIgLmNscntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6MzhweDtoZWlnaHQ6MzhweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNCRkM2Qzg7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpub25lO3BsYWNlLWl0ZW1zOmNlbnRlcn0KI3NrLXJvb3QgLnNlYXJjaGJhci5oYXMgLmNscntkaXNwbGF5OmdyaWR9CiNzay1yb290IC5maWx0ZXJze3Bvc2l0aW9uOnN0aWNreTt0b3A6Y2FsYyh2YXIoLS1oZHIpICsgMjRweCl9CiNzay1yb290IC5mZ3JvdXB7cGFkZGluZzoxOHB4IDA7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSl9CiNzay1yb290IC5mZ3JvdXA6Zmlyc3Qtb2YtdHlwZXtib3JkZXItdG9wOjA7cGFkZGluZy10b3A6MH0KI3NrLXJvb3QgLmZncm91cCBoM3tmb250LXNpemU6LjlyZW07bWFyZ2luLWJvdHRvbToxMnB4O2NvbG9yOnZhcigtLW11dGVkKTtmb250LXdlaWdodDo2MDB9CiNzay1yb290IC5jaGlwc3tkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweH0KI3NrLXJvb3QgLmNoaXB7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDttaW4taGVpZ2h0OjM4cHg7cGFkZGluZzowIDE0cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi45cmVtO2ZvbnQtd2VpZ2h0OjUwMDt0cmFuc2l0aW9uOmFsbCAuMTVzfQojc2stcm9vdCAuY2hpcDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tdGV4dCl9CiNzay1yb290IC5jaGlwW2FyaWEtcHJlc3NlZD0idHJ1ZSJde2JhY2tncm91bmQ6dmFyKC0tbmF2eSk7Ym9yZGVyLWNvbG9yOnZhcigtLW5hdnkpO2NvbG9yOiNmZmZ9Cjpyb290W2RhdGEtdGhlbWU9ImRhcmsiXSAjc2stcm9vdCAuY2hpcFthcmlhLXByZXNzZWQ9InRydWUiXXtiYWNrZ3JvdW5kOnZhcigtLWN5YW4pO2JvcmRlci1jb2xvcjp2YXIoLS1jeWFuKX0KQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXs6cm9vdDpub3QoW2RhdGEtdGhlbWU9ImxpZ2h0Il0pICNzay1yb290IC5jaGlwW2FyaWEtcHJlc3NlZD0idHJ1ZSJde2JhY2tncm91bmQ6dmFyKC0tY3lhbik7Ym9yZGVyLWNvbG9yOnZhcigtLWN5YW4pfX0KI3NrLXJvb3QgLmNoaXAgLm57Zm9udC1zaXplOi43NnJlbTtvcGFjaXR5Oi42fQojc2stcm9vdCAuY2hpcDpkaXNhYmxlZHtvcGFjaXR5Oi40O2N1cnNvcjpkZWZhdWx0fQojc2stcm9vdCAuZmNsZWFye21hcmdpbi10b3A6NnB4O2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MDtjb2xvcjp2YXIoLS1jeWFuKTtmb250LXdlaWdodDo2MDA7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzo2cHggMH0KI3NrLXJvb3QgLmZzaGVldC1oZWFkLCNzay1yb290IC5mc2hlZXQtZm9vdCwjc2stcm9vdCAuc2NyaW17ZGlzcGxheTpub25lfQojc2stcm9vdCAucmVzYmFye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7bWFyZ2luLWJvdHRvbToxOHB4O2ZsZXgtd3JhcDp3cmFwfQojc2stcm9vdCAucmVzYmFyIHB7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtc2l6ZTouOTVyZW19CiNzay1yb290IC5yZXNiYXIgYntjb2xvcjp2YXIoLS10ZXh0KX0KI3NrLXJvb3QgLmFjdGl2ZS1me2Rpc3BsYXk6ZmxleDtnYXA6NnB4O2ZsZXgtd3JhcDp3cmFwfQojc2stcm9vdCAuYWN0aXZlLWYgYnV0dG9ue2JvcmRlcjowO2JhY2tncm91bmQ6dmFyKC0tY3lhbi1zb2Z0KTtjb2xvcjp2YXIoLS1jeWFuKTtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6NXB4IDEwcHggNXB4IDEycHg7Zm9udC1zaXplOi44MnJlbTtmb250LXdlaWdodDo2MDA7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtnYXA6NHB4O2FsaWduLWl0ZW1zOmNlbnRlcn0KI3NrLXJvb3QgLmVtcHR5e3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6NjBweCAyMHB4O2JvcmRlcjoxcHggZGFzaGVkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6dmFyKC0tci1sZyl9CiNzay1yb290IC5lbXB0eSBoM3ttYXJnaW4tYm90dG9tOjhweH0KI3NrLXJvb3QgLmVtcHR5IHB7Y29sb3I6dmFyKC0tbXV0ZWQpO21hcmdpbi1ib3R0b206MjBweH0KI3NrLXJvb3QgLmZidG57ZGlzcGxheTpub25lfQojc2stcm9vdCAubm90aWNle2JhY2tncm91bmQ6dmFyKC0tY3lhbi1zb2Z0KTtjb2xvcjp2YXIoLS10ZXh0KTtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzoxMHB4IDE0cHg7Zm9udC1zaXplOi44NnJlbTttYXJnaW4tYm90dG9tOjE4cHh9CkBtZWRpYSAobWF4LXdpZHRoOjk2MHB4KXsjc2stcm9vdCAuY2F0YWxvZ3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQojc2stcm9vdCAuZmJ0bntkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOmZpeGVkO2xlZnQ6MTZweDtib3R0b206Y2FsYygxOHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sMHB4KSk7ei1pbmRleDo0MDtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1sZyk7YmFja2dyb3VuZDp2YXIoLS1uYXZ5KTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjp2YXIoLS1uYXZ5KX0KI3NrLXJvb3QgLmZpbHRlcnN7cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7dG9wOmF1dG87ei1pbmRleDo3MDtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlci1yYWRpdXM6MjJweCAyMnB4IDAgMDtwYWRkaW5nOjhweCAyMHB4IGNhbGMoMThweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLDBweCkpO21heC1oZWlnaHQ6ODJ2aDtvdmVyZmxvdy15OmF1dG87dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTA1JSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMiwuNywuMiwxKTtib3gtc2hhZG93OjAgLTIwcHggNjBweCByZ2JhKDAsMCwwLC4zKX0KI3NrLXJvb3QgLmZpbHRlcnMub3Blbnt0cmFuc2Zvcm06bm9uZX0KI3NrLXJvb3QgLmZzaGVldC1oZWFke2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoxNHB4IDAgMTZweDtwb3NpdGlvbjpzdGlja3k7dG9wOi04cHg7YmFja2dyb3VuZDp2YXIoLS1jYXJkKTt6LWluZGV4OjF9CiNzay1yb290IC5mc2hlZXQtaGVhZDo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDo1MCU7d2lkdGg6NDBweDtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQ6dmFyKC0tbGluZSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9CiNzay1yb290IC5mc2hlZXQtaGVhZCBoMntmb250LXNpemU6MS4yNXJlbX0KI3NrLXJvb3QgLmZzaGVldC1mb290e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246c3RpY2t5O2JvdHRvbTotMThweDtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO3BhZGRpbmc6MTRweCAwIDRweH0KI3NrLXJvb3QgLmNoaXB7bWluLWhlaWdodDo0NHB4fQojc2stcm9vdCAuc2NyaW17ZGlzcGxheTpibG9jaztwb3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tncm91bmQ6cmdiYSgxMywxNiwxNiwuNSk7ei1pbmRleDo2NTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMsdmlzaWJpbGl0eSAuMjVzfQojc2stcm9vdCAuc2NyaW0ub3BlbntvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlfQoKfQojc2stcm9vdCAueGJ0bnt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7ZGlzcGxheTpncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0KI3NrLXJvb3QgI3NrLW1vZGFse3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDo5MDtkaXNwbGF5OmdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO3BhZGRpbmc6MjBweH0KI3NrLXJvb3QgI3NrLW1vZGFsW2hpZGRlbl17ZGlzcGxheTpub25lfQojc2stcm9vdCAubXNjcmlte3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7YmFja2dyb3VuZDpyZ2JhKDEzLDE2LDE2LC42Mik7YmFja2Ryb3AtZmlsdGVyOmJsdXIoNHB4KTthbmltYXRpb246ZmFkZSAuMnMgZWFzZSBmb3J3YXJkcztvcGFjaXR5OjB9CiNzay1yb290IC5tYm94e3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyLXJhZGl1czoyMnB4O3dpZHRoOm1pbigxMDAwcHgsMTAwJSk7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gNDBweCk7b3ZlcmZsb3c6YXV0bztkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjEuMWZyIDFmcjtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1sZyk7YW5pbWF0aW9uOnBvcCAuMjhzIGN1YmljLWJlemllciguMiwuNywuMiwxKSBib3RofQpAa2V5ZnJhbWVzIHBvcHtmcm9te29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxOHB4KSBzY2FsZSguOTgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX19CiNzay1yb290IC5tZ2Fse2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE2MGRlZywjRjdGOUY5LCNFOEVCRUMpO3BhZGRpbmc6MjhweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNHB4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9Cjpyb290W2RhdGEtdGhlbWU9ImRhcmsiXSAjc2stcm9vdCAubWdhbHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNjBkZWcsIzI2MkIyQywjMTkxRDFFKX0KQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXs6cm9vdDpub3QoW2RhdGEtdGhlbWU9ImxpZ2h0Il0pICNzay1yb290IC5tZ2Fse2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE2MGRlZywjMjYyQjJDLCMxOTFEMUUpfX0KI3NrLXJvb3QgLm1nYWwgLm1haW57YXNwZWN0LXJhdGlvOjQvMztib3JkZXItcmFkaXVzOjE0cHg7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXJ9CiNzay1yb290IC5tZ2FsIC5tYWluIGltZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y29udGFpbn0KI3NrLXJvb3QgLm1nYWwgLm1haW4gc3Zne3dpZHRoOjkyJTtoZWlnaHQ6YXV0b30KI3NrLXJvb3QgI3NrLW1vZGFsIC5tZ2FsIC5tYWluOmhhcyhpbWcpe2FzcGVjdC1yYXRpbzphdXRvO21pbi1oZWlnaHQ6MjQwcHg7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6MTBweH0KI3NrLXJvb3QgI3NrLW1vZGFsIC5tZ2FsIC5tYWluIGltZ3t3aWR0aDphdXRvO2hlaWdodDphdXRvO21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6bWluKDY4dmgsNTYwcHgpO29iamVjdC1maXQ6Y29udGFpbjtkaXNwbGF5OmJsb2NrO21hcmdpbjowIGF1dG99CkBtZWRpYSAobWF4LXdpZHRoOjc2MHB4KXsjc2stcm9vdCAjc2stbW9kYWwgLm1nYWwgLm1haW4gaW1ne21heC1oZWlnaHQ6NDZ2aH19CiNzay1yb290IC50aHVtYnN7ZGlzcGxheTpmbGV4O2dhcDo4cHg7b3ZlcmZsb3cteDphdXRvfQojc2stcm9vdCAudGh1bWJzIGJ1dHRvbnt3aWR0aDo2NHB4O2hlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjoycHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjdXJzb3I6cG9pbnRlcjtmbGV4Om5vbmU7YmFja2dyb3VuZDojZmZmfQojc2stcm9vdCAudGh1bWJzIGJ1dHRvblthcmlhLWN1cnJlbnQ9InRydWUiXXtib3JkZXItY29sb3I6dmFyKC0tY3lhbil9CiNzay1yb290IC50aHVtYnMgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0KI3NrLXJvb3QgLm1kZXR7cGFkZGluZzozMnB4IDMwcHggMjhweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufQojc2stcm9vdCAubWRldCBoMntmb250LXNpemU6Y2xhbXAoMS41cmVtLDN2dywycmVtKTttYXJnaW46NHB4IDAgMTZweH0KI3NrLXJvb3QgLm1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTRweDtyaWdodDoxNHB4O3otaW5kZXg6Mn0KI3NrLXJvb3QgLnN0YWJsZXt3aWR0aDoxMDAlO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtmb250LXNpemU6Ljk0cmVtO21hcmdpbi1ib3R0b206MThweH0KI3NrLXJvb3QgLnN0YWJsZSB0aCwjc2stcm9vdCAuc3RhYmxlIHRke3RleHQtYWxpZ246bGVmdDtwYWRkaW5nOjEwcHggMDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1saW5lKTt2ZXJ0aWNhbC1hbGlnbjp0b3B9CiNzay1yb290IC5zdGFibGUgdGh7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtd2VpZ2h0OjUwMDt3aWR0aDo0MCV9CiNzay1yb290IC5zdGFibGUgdGR7Zm9udC13ZWlnaHQ6NjAwfQojc2stcm9vdCAubW5vdGV7Zm9udC1zaXplOi44NnJlbTtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luLWJvdHRvbToxOHB4fQojc2stcm9vdCAubWFjdGlvbnN7ZGlzcGxheTpncmlkO2dhcDoxMHB4O21hcmdpbi10b3A6YXV0b30KQG1lZGlhIChtYXgtd2lkdGg6NzYwcHgpeyNzay1yb290ICNzay1tb2RhbHtwYWRkaW5nOjA7cGxhY2UtaXRlbXM6ZW5kIHN0cmV0Y2h9CiNzay1yb290IC5tYm94e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Ym9yZGVyLXJhZGl1czoyMnB4IDIycHggMCAwO21heC1oZWlnaHQ6OTJ2aDthbmltYXRpb246c2hlZXRVcCAuM3MgY3ViaWMtYmV6aWVyKC4yLC43LC4yLDEpIGJvdGh9CkBrZXlmcmFtZXMgc2hlZXRVcHtmcm9te3RyYW5zZm9ybTp0cmFuc2xhdGVZKDQwcHgpO29wYWNpdHk6MH10b3t0cmFuc2Zvcm06bm9uZTtvcGFjaXR5OjF9fQojc2stcm9vdCAubWdhbHtwYWRkaW5nOjE4cHh9CiNzay1yb290IC5tZGV0e3BhZGRpbmc6MjJweCAyMHB4IGNhbGMoMjJweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLDBweCkpfQoKfQojc2stcm9vdCAuYmNoaXBze2Rpc3BsYXk6ZmxleDtnYXA6OHB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1ib3R0b206MjhweH0KI3NrLXJvb3QgLmJmZWF0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS4zZnIgMWZyO2JvcmRlci1yYWRpdXM6dmFyKC0tci1sZyk7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7YmFja2dyb3VuZDp2YXIoLS1jYXJkKTt0ZXh0LWRlY29yYXRpb246bm9uZTttYXJnaW4tYm90dG9tOjI4cHg7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4yNXMsdHJhbnNmb3JtIC4yNXN9CiNzay1yb290IC5iZmVhdDpob3Zlcntib3gtc2hhZG93OnZhcigtLXNoYWRvdyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTNweCl9CiNzay1yb290IC5iaW1ne3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLW5hdnkpO2FzcGVjdC1yYXRpbzoxNi85fQojc2stcm9vdCAuYmltZyBpbWcsI3NrLXJvb3QgLmJpbWcgc3Zne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNXMgZWFzZX0KI3NrLXJvb3QgLmJpbWcgc3ZnIHN2Z3t3aWR0aDozMjBweDtoZWlnaHQ6MjEwcHh9CiNzay1yb290IGE6aG92ZXIgLmJpbWcgaW1nLCNzay1yb290IGE6aG92ZXIgLmJpbWcgPiBzdmd7dHJhbnNmb3JtOnNjYWxlKDEuMDQpfQojc2stcm9vdCAuYmZlYXQgLmJpbWd7YXNwZWN0LXJhdGlvOmF1dG87bWluLWhlaWdodDozMjBweH0KI3NrLXJvb3QgLmJmZWF0IC5idHh0e3BhZGRpbmc6Y2xhbXAoMjRweCw0dncsNDRweCk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfQojc2stcm9vdCAuYmZlYXQgaDJ7Zm9udC1zaXplOmNsYW1wKDEuNXJlbSwyLjZ2dywyLjFyZW0pO21hcmdpbjoxMnB4IDB9CiNzay1yb290IC5ibWV0YXtkaXNwbGF5OmZsZXg7Z2FwOjEycHg7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZTouODRyZW07Y29sb3I6dmFyKC0tbXV0ZWQpO2ZsZXgtd3JhcDp3cmFwfQojc2stcm9vdCAuYmNhdHtiYWNrZ3JvdW5kOnZhcigtLWN5YW4tc29mdCk7Y29sb3I6dmFyKC0tY3lhbik7Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6M3B4IDEwcHg7Ym9yZGVyLXJhZGl1czo2cHh9CiNzay1yb290IC5iZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpbGwsbWlubWF4KDI5MHB4LDFmcikpO2dhcDoyNHB4fQojc2stcm9vdCAuYmNhcmR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXItcmFkaXVzOnZhcigtLXItbGcpO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4yNXMsdHJhbnNmb3JtIC4yNXN9CiNzay1yb290IC5iY2FyZDpob3Zlcntib3gtc2hhZG93OnZhcigtLXNoYWRvdyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTNweCl9CiNzay1yb290IC5iY2FyZCAuYnR4dHtwYWRkaW5nOjIycHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjF9CiNzay1yb290IC5iY2FyZCBoM3ttYXJnaW46MTJweCAwIDEwcHg7Zm9udC1zaXplOjEuMThyZW07bGluZS1oZWlnaHQ6MS4zfQojc2stcm9vdCAuYmV4e2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6Ljk1cmVtO2xpbmUtaGVpZ2h0OjEuNTU7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWxpbmUtY2xhbXA6Mzstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7b3ZlcmZsb3c6aGlkZGVufQojc2stcm9vdCAuYm1vcmV7bWFyZ2luLXRvcDphdXRvO3BhZGRpbmctdG9wOjE2cHg7Y29sb3I6dmFyKC0tY3lhbik7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTouOTJyZW19CiNzay1yb290IC5hcnRpY2xle21heC13aWR0aDo3NjBweDttYXJnaW46MCBhdXRvfQojc2stcm9vdCAuYXJ0aWNsZSAuYmltZ3tib3JkZXItcmFkaXVzOnZhcigtLXItbGcpO21hcmdpbjotNDBweCAwIDQwcHg7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctbGcpO2FzcGVjdC1yYXRpbzoxNi84fQojc2stcm9vdCAucHJvc2V7Zm9udC1zaXplOjEuMDhyZW07bGluZS1oZWlnaHQ6MS43NX0KI3NrLXJvb3QgLnByb3NlID4gKiArICp7bWFyZ2luLXRvcDoxLjFlbX0KI3NrLXJvb3QgLnByb3NlIGgye2ZvbnQtc2l6ZToxLjZyZW07bWFyZ2luLXRvcDoxLjhlbX0KI3NrLXJvb3QgLnByb3NlIGgze2ZvbnQtc2l6ZToxLjI1cmVtO21hcmdpbi10b3A6MS42ZW19CiNzay1yb290IC5wcm9zZSB1bCwjc2stcm9vdCAucHJvc2Ugb2x7cGFkZGluZy1sZWZ0OjEuM2VtfQojc2stcm9vdCAucHJvc2UgbGkrbGl7bWFyZ2luLXRvcDouNGVtfQojc2stcm9vdCAucHJvc2UgYXtjb2xvcjp2YXIoLS1jeWFuKX0KI3NrLXJvb3QgLnByb3NlIGltZ3tib3JkZXItcmFkaXVzOjEycHg7aGVpZ2h0OmF1dG99CiNzay1yb290IC5wcm9zZSB0YWJsZXt3aWR0aDoxMDAlO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtmb250LXNpemU6Ljk1cmVtO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteDphdXRvfQojc2stcm9vdCAucHJvc2UgdGgsI3NrLXJvb3QgLnByb3NlIHRke2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpO3BhZGRpbmc6MTBweCAxMnB4O3RleHQtYWxpZ246bGVmdH0KI3NrLXJvb3QgLnByb3NlIGJsb2NrcXVvdGV7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkIHZhcigtLWN5YW4pO21hcmdpbi1sZWZ0OjA7cGFkZGluZy1sZWZ0OjE4cHg7Y29sb3I6dmFyKC0tbXV0ZWQpfQojc2stcm9vdCAuYWN0YXttYXJnaW4tdG9wOjU2cHg7YmFja2dyb3VuZDp2YXIoLS1uYXZ5KTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MjBweDtwYWRkaW5nOjMycHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MjBweDtmbGV4LXdyYXA6d3JhcH0KI3NrLXJvb3QgLmFjdGEgaDJ7Zm9udC1zaXplOjEuNXJlbX0KI3NrLXJvb3QgLmFjdGEgcHtjb2xvcjojQkZDNkM4O21hcmdpbi10b3A6NnB4fQojc2stcm9vdCAuYWN0YSAuYnRuc3tkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7ZmxleC13cmFwOndyYXB9CiNzay1yb290IC5iYWNre2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7Y29sb3I6I0JGQzZDODt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LXNpemU6LjkycmVtO21hcmdpbi1ib3R0b206MjBweH0KI3NrLXJvb3QgLmJhY2s6aG92ZXJ7Y29sb3I6I2ZmZn0KI3NrLXJvb3QgLnNrZWx7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tYmctMiksdmFyKC0tbGluZSksdmFyKC0tYmctMikpO2JhY2tncm91bmQtc2l6ZToyMDAlIDEwMCU7YW5pbWF0aW9uOnNoIDEuMnMgaW5maW5pdGU7Ym9yZGVyLXJhZGl1czoxMnB4fQpAa2V5ZnJhbWVzIHNoe3Rve2JhY2tncm91bmQtcG9zaXRpb246LTIwMCUgMH19CiNzay1yb290IC5jZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjEuMzVmciAxZnI7Z2FwOjI4cHg7YWxpZ24taXRlbXM6c3RhcnR9CiNzay1yb290IC5mb3JtLWNhcmR7YmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6MjJweDtwYWRkaW5nOmNsYW1wKDIycHgsNHZ3LDQwcHgpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93KX0KI3NrLXJvb3QgLmZvcm0tY2FyZCBoMntmb250LXNpemU6MS42cmVtfQojc2stcm9vdCAuZm9ybS1jYXJkID4gcHtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luLXRvcDo2cHh9CiNzay1yb290IC5mZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjE2cHggMThweDttYXJnaW4tdG9wOjI2cHh9CiNzay1yb290IC5maWVsZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo2cHg7bWluLXdpZHRoOjB9CiNzay1yb290IC5maWVsZC5mdWxse2dyaWQtY29sdW1uOjEvLTF9CiNzay1yb290IC5maWVsZCBsYWJlbHtmb250LXNpemU6Ljg4cmVtO2ZvbnQtd2VpZ2h0OjYwMH0KI3NrLXJvb3QgLmZpZWxkIGxhYmVsIC5vcHR7Y29sb3I6dmFyKC0tbXV0ZWQpO2ZvbnQtd2VpZ2h0OjQwMH0KI3NrLXJvb3QgLmZpZWxkIGlucHV0LCNzay1yb290IC5maWVsZCBzZWxlY3QsI3NrLXJvb3QgLmZpZWxkIHRleHRhcmVhe3dpZHRoOjEwMCU7Zm9udDppbmhlcml0O2ZvbnQtc2l6ZToxcmVtO2NvbG9yOnZhcigtLXRleHQpO2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoxMHB4O3BhZGRpbmc6MTJweCAxNHB4O21pbi1oZWlnaHQ6NTBweDt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMnMsYm94LXNoYWRvdyAuMnM7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfQojc2stcm9vdCAuZmllbGQgc2VsZWN0e2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzNUE2Nzc5JyBzdHJva2Utd2lkdGg9JzEuOCclM0UlM0NwYXRoIGQ9J00xIDEuNWw1IDUgNS01Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgMTRweCBjZW50ZXI7cGFkZGluZy1yaWdodDozOHB4fQojc2stcm9vdCAuZmllbGQgdGV4dGFyZWF7bWluLWhlaWdodDoxMjBweDtyZXNpemU6dmVydGljYWx9CiNzay1yb290IC5maWVsZCBpbnB1dDpmb2N1cywjc2stcm9vdCAuZmllbGQgc2VsZWN0OmZvY3VzLCNzay1yb290IC5maWVsZCB0ZXh0YXJlYTpmb2N1c3tvdXRsaW5lOm5vbmU7Ym9yZGVyLWNvbG9yOnZhcigtLWN5YW4pO2JveC1zaGFkb3c6MCAwIDAgNHB4IHJnYmEoMjcsMTUwLDE5OCwuMTUpfQojc2stcm9vdCAuZmllbGQgW2FyaWEtaW52YWxpZD0idHJ1ZSJde2JvcmRlci1jb2xvcjp2YXIoLS1kYW5nZXIpfQojc2stcm9vdCAuZXJye2NvbG9yOnZhcigtLWRhbmdlcik7Zm9udC1zaXplOi44MnJlbTttaW4taGVpZ2h0OjB9CiNzay1yb290IC5mbGFiZWx7Zm9udC1zaXplOi44OHJlbTtmb250LXdlaWdodDo2MDB9CiNzay1yb290IC5zZWd7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDo4cHh9CiNzay1yb290IC5zZWcgbGFiZWx7cG9zaXRpb246cmVsYXRpdmU7bWluLXdpZHRoOjB9CiNzay1yb290IC5zZWcgaW5wdXR7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfQojc2stcm9vdCAuc2VnIHNwYW57ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo4cHg7bWluLWhlaWdodDo1MHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoxMHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjYwMDt0cmFuc2l0aW9uOmFsbCAuMTVzfQojc2stcm9vdCAuc2VnIC5pY3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4fQojc2stcm9vdCAuc2VnIGlucHV0OmNoZWNrZWQgKyBzcGFue2JvcmRlci1jb2xvcjp2YXIoLS1jeWFuKTtiYWNrZ3JvdW5kOnZhcigtLWN5YW4tc29mdCk7Y29sb3I6dmFyKC0tY3lhbil9CiNzay1yb290IC5zZWcgaW5wdXQ6Zm9jdXMtdmlzaWJsZSArIHNwYW57b3V0bGluZToycHggc29saWQgdmFyKC0tY3lhbik7b3V0bGluZS1vZmZzZXQ6MnB4fQojc2stcm9vdCAuaHB7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotOTk5OXB4O3dpZHRoOjFweDtoZWlnaHQ6MXB4O292ZXJmbG93OmhpZGRlbn0KI3NrLXJvb3QgLmZzdWJtaXR7bWFyZ2luLXRvcDoyNHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE2cHg7ZmxleC13cmFwOndyYXB9CiNzay1yb290IC5mc3VibWl0IHNtYWxse2NvbG9yOnZhcigtLW11dGVkKTtmb250LXNpemU6Ljg0cmVtfQojc2stcm9vdCAuc3Bpbnt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JvcmRlcjoycHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNCk7Ym9yZGVyLXRvcC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6NTAlO2FuaW1hdGlvbjpyb3QgLjdzIGxpbmVhciBpbmZpbml0ZX0KQGtleWZyYW1lcyByb3R7dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0KI3NrLXJvb3QgLnN1Y2Nlc3N7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzozMHB4IDEwcHh9CiNzay1yb290IC5zdWNjZXNzIC50aWNre3dpZHRoOjcycHg7aGVpZ2h0OjcycHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2JhKDMwLDE1OCw4MiwuMTIpO2NvbG9yOnZhcigtLXdhKTtkaXNwbGF5OmdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO21hcmdpbjowIGF1dG8gMjBweDthbmltYXRpb246cG9wIC40cyBjdWJpYy1iZXppZXIoLjIsLjcsLjIsMS4zKSBib3RofQojc2stcm9vdCAuc3VjY2VzcyAudGljayAuaWN7d2lkdGg6MzRweDtoZWlnaHQ6MzRweH0KI3NrLXJvb3QgLnN1Y2Nlc3MgcHtjb2xvcjp2YXIoLS1tdXRlZCk7bWFyZ2luOjEwcHggYXV0byAyNHB4O21heC13aWR0aDo0MmNofQojc2stcm9vdCAuc3VjY2VzcyAuYnRuc3tkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbGV4LXdyYXA6d3JhcH0KI3NrLXJvb3QgLndhLWNhcmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCMwRjNCMkEsIzBCMkEyMCk7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzozMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZX0KI3NrLXJvb3QgLndhLWNhcmQ6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi02MHB4O3RvcDotNjBweDt3aWR0aDoyMjBweDtoZWlnaHQ6MjIwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHJnYmEoNDYsMjA0LDExMywuMzUpLHRyYW5zcGFyZW50IDcwJSk7ei1pbmRleDotMX0KI3NrLXJvb3QgLndhLWNhcmQgLmljLWJveHt3aWR0aDo1NnB4O2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6MTZweDtiYWNrZ3JvdW5kOnZhcigtLXdhKTtkaXNwbGF5OmdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206MThweH0KI3NrLXJvb3QgLndhLWNhcmQgLmljLWJveCAuaWN7d2lkdGg6MzBweDtoZWlnaHQ6MzBweH0KI3NrLXJvb3QgLndhLWNhcmQgaDJ7Zm9udC1zaXplOjEuNnJlbX0KI3NrLXJvb3QgLndhLWNhcmQgcHtjb2xvcjojQjhENkM3O21hcmdpbjo4cHggMCAyMnB4fQojc2stcm9vdCAud2EtY2FyZCAubnVte2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MS4xcmVtO21hcmdpbi1ib3R0b206MThweDtkaXNwbGF5OmJsb2NrfQojc2stcm9vdCAuaW5mb3ttYXJnaW4tdG9wOjIwcHg7YmFja2dyb3VuZDp2YXIoLS1jYXJkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6MjJweDtwYWRkaW5nOjhweCAyNHB4fQojc2stcm9vdCAuaW5mbyBkaXZ7ZGlzcGxheTpmbGV4O2dhcDoxNHB4O3BhZGRpbmc6MTZweCAwO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9CiNzay1yb290IC5pbmZvIGRpdjpmaXJzdC1jaGlsZHtib3JkZXItdG9wOjB9CiNzay1yb290IC5pbmZvIC5pY3tjb2xvcjp2YXIoLS1jeWFuKTttYXJnaW4tdG9wOjJweH0KI3NrLXJvb3QgLmluZm8gZHR7Zm9udC1zaXplOi44cmVtO2NvbG9yOnZhcigtLW11dGVkKX0KI3NrLXJvb3QgLmluZm8gZGR7bWFyZ2luOjA7Zm9udC13ZWlnaHQ6NjAwO292ZXJmbG93LXdyYXA6YW55d2hlcmV9CiNzay1yb290IC5pbmZvIGRkIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmV9CiNzay1yb290IC5mYXF7bWF4LXdpZHRoOjgyMHB4fQojc2stcm9vdCAuZmFxIGRldGFpbHN7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSl9CiNzay1yb290IC5mYXEgc3VtbWFyeXtsaXN0LXN0eWxlOm5vbmU7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzoyMnB4IDQ0cHggMjJweCAwO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MS4wOHJlbTtwb3NpdGlvbjpyZWxhdGl2ZX0KI3NrLXJvb3QgLmZhcSBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2Vye2Rpc3BsYXk6bm9uZX0KI3NrLXJvb3QgLmZhcSBzdW1tYXJ5OjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjZweDt0b3A6NTAlO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7Ym9yZGVyLXJpZ2h0OjJweCBzb2xpZCB2YXIoLS1tdXRlZCk7Ym9yZGVyLWJvdHRvbToycHggc29saWQgdmFyKC0tbXV0ZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC03MCUpIHJvdGF0ZSg0NWRlZyk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1c30KI3NrLXJvb3QgLmZhcSBkZXRhaWxzW29wZW5dIHN1bW1hcnk6OmFmdGVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMCUpIHJvdGF0ZSgtMTM1ZGVnKX0KI3NrLXJvb3QgLmZhcSAuYW5ze2NvbG9yOnZhcigtLW11dGVkKTtwYWRkaW5nOjAgMCAyMnB4O21heC13aWR0aDo2NmNoO2FuaW1hdGlvbjpmYWRlIC4zcyBlYXNlfQojc2stcm9vdCAjZnRye2JhY2tncm91bmQ6dmFyKC0tbmF2eSk7Y29sb3I6I0JGQzZDODtwYWRkaW5nOjY0cHggMCBjYWxjKDI4cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwwcHgpKTttYXJnaW4tdG9wOjB9CiNzay1yb290IC5mZ3JpZDR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxLjVmciAxZnIgMS4yZnIgMS4yZnI7Z2FwOjM2cHh9CiNzay1yb290ICNmdHIgaDN7Y29sb3I6I2ZmZjtmb250LXNpemU6Ljk1cmVtO21hcmdpbi1ib3R0b206MTRweH0KI3NrLXJvb3QgI2Z0ciB1bHtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2Rpc3BsYXk6Z3JpZDtnYXA6MTBweH0KI3NrLXJvb3QgI2Z0ciBhe3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiNCRkM2Qzg7dHJhbnNpdGlvbjpjb2xvciAuMnN9CiNzay1yb290ICNmdHIgYTpob3Zlcntjb2xvcjojZmZmfQojc2stcm9vdCAjZnRyIC5mYWJvdXR7bWF4LXdpZHRoOjMyY2g7bWFyZ2luOjE2cHggMCAyMHB4O2ZvbnQtc2l6ZTouOTVyZW19CiNzay1yb290IC5mYm90dG9te21hcmdpbi10b3A6NDhweDtwYWRkaW5nLXRvcDoyNHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLW5hdnktbGluZSk7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxNnB4O2ZsZXgtd3JhcDp3cmFwO2ZvbnQtc2l6ZTouODVyZW07Y29sb3I6IzhGOTg5QX0KI3NrLXJvb3QgI3dhLWZsb2F0e3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjE4cHg7Ym90dG9tOmNhbGMoMThweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLDBweCkpO3otaW5kZXg6NjA7aGVpZ2h0OjU4cHg7bWluLXdpZHRoOjU4cHg7Ym9yZGVyLXJhZGl1czoyOXB4O2JhY2tncm91bmQ6dmFyKC0td2EpO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nOjAgMThweCAwIDE2cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NjAwO2JveC1zaGFkb3c6MCAxNHB4IDM0cHggLTEwcHggcmdiYSgyMiwxMjgsNjgsLjcpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyxiYWNrZ3JvdW5kIC4yc30KI3NrLXJvb3QgI3dhLWZsb2F0OmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zcHgpO2JhY2tncm91bmQ6dmFyKC0td2EtMil9CiNzay1yb290ICN3YS1mbG9hdCAuaWN7d2lkdGg6MjZweDtoZWlnaHQ6MjZweH0KI3NrLXJvb3QgI3dhLWZsb2F0OjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtib3JkZXI6MnB4IHNvbGlkIHZhcigtLXdhKTthbmltYXRpb246cGluZyAyLjhzIGVhc2Utb3V0IDJzIDJ9CkBrZXlmcmFtZXMgcGluZ3swJXt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eTouOH0xMDAle3RyYW5zZm9ybTpzY2FsZSgxLjM1KTtvcGFjaXR5OjB9fQpib2R5Lm92ZXJsYXkgI3NrLXJvb3QgI3dhLWZsb2F0LGJvZHkub3ZlcmxheSAjc2stcm9vdCAuZmJ0bntvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZX0KQG1lZGlhIChtYXgtd2lkdGg6NDIwcHgpeyNzay1yb290IC5sb2dvIGltZ3toZWlnaHQ6NDZweH0KI3NrLXJvb3QgI2hkci5zY3JvbGxlZCAubG9nbyBpbWd7aGVpZ2h0OjQwcHh9fQpAbWVkaWEgKG1heC13aWR0aDo2MDBweCl7I3NrLXJvb3QgI3dhLWZsb2F0e3BhZGRpbmc6MDt3aWR0aDo1OHB4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9CiNzay1yb290ICN3YS1mbG9hdCBzcGFue2Rpc3BsYXk6bm9uZX19CkBtZWRpYSAobWF4LXdpZHRoOjEwODBweCl7I3NrLXJvb3QgLndoeXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX0KI3NrLXJvb3QgLmZncmlkNHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcn0KCn0KQG1lZGlhIChtYXgtd2lkdGg6OTAwcHgpeyNzay1yb290IC5oZXJvIC53cmFwe2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9CiNzay1yb290IC5oZXJvLWFydHtqdXN0aWZ5LXNlbGY6Y2VudGVyO21heC13aWR0aDo1MjBweDttYXJnaW4tdG9wOjhweH0KI3NrLXJvb3QgLmxvdHtsZWZ0OjB9CiNzay1yb290IC5obCAud3JhcHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcn0KI3NrLXJvb3QgLmhsLWl0ZW17Ym9yZGVyLWxlZnQ6MDtwYWRkaW5nOjIycHggMDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1saW5lKX0KI3NrLXJvb3QgLmhsLWl0ZW06bnRoLWNoaWxkKC1uKzIpe2JvcmRlci10b3A6MH0KI3NrLXJvb3QgLmhsLWl0ZW06bnRoLWNoaWxkKGV2ZW4pe3BhZGRpbmctbGVmdDoxOHB4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCB2YXIoLS1saW5lKX0KI3NrLXJvb3QgLmN0YXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQojc2stcm9vdCAuc3BsaXQsI3NrLXJvb3QgLmNncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9CiNzay1yb290IC5vZmZlcntncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcn0KI3NrLXJvb3QgLm9jYXJkLCNzay1yb290IC5vY2FyZDpudGgtY2hpbGQoNCksI3NrLXJvb3QgLm9jYXJkOm50aC1jaGlsZCg1KXtncmlkLWNvbHVtbjpzcGFuIDF9CiNzay1yb290IC5vY2FyZDpudGgtY2hpbGQoNSl7Z3JpZC1jb2x1bW46MS8tMX0KI3NrLXJvb3QgLnN0ZXBze2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDozNnB4IDB9CiNzay1yb290IC5zdGVwOm50aC1jaGlsZCgyKTo6YmVmb3Jle2Rpc3BsYXk6bm9uZX0KI3NrLXJvb3QgLmJmZWF0e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9CiNzay1yb290IC5iZmVhdCAuYmltZ3ttaW4taGVpZ2h0OjA7YXNwZWN0LXJhdGlvOjE2Lzl9Cgp9CkBtZWRpYSAobWF4LXdpZHRoOjYwMHB4KXsjc2stcm9vdCAuaGVyby1jdGFzIC5idG4sI3NrLXJvb3QgLmN0YSAuYnRue2ZsZXg6MSAxIDEwMCV9CiNzay1yb290IC5obC1pdGVte2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxMHB4fQojc2stcm9vdCAubG90e3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6YXV0bztib3R0b206YXV0bzt3aWR0aDoxMDAlO21hcmdpbi10b3A6NHB4fQojc2stcm9vdCAuaGVyby1hcnQgc3Zne21hcmdpbi1ib3R0b206LTZweH0KI3NrLXJvb3QgLndoeXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQojc2stcm9vdCAub2ZmZXJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0KI3NrLXJvb3QgLm9jYXJkOm50aC1jaGlsZCg1KXtncmlkLWNvbHVtbjphdXRvfQojc2stcm9vdCAuc3RlcHN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6MH0KI3NrLXJvb3QgLnN0ZXB7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczo1MnB4IDFmcjtnYXA6MCAxOHB4O3BhZGRpbmc6MCAwIDMwcHh9CiNzay1yb290IC5zdGVwOjpiZWZvcmV7ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7dG9wOjUycHg7Ym90dG9tOjA7bGVmdDoyNXB4O3JpZ2h0OmF1dG87d2lkdGg6MS41cHg7aGVpZ2h0OmF1dG87YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLWN5YW4pLHZhcigtLWxpbmUpKX0KI3NrLXJvb3QgLnN0ZXA6bGFzdC1jaGlsZDo6YmVmb3Jle2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9CiNzay1yb290IC5zdGVwIGgze21hcmdpbjoxMnB4IDAgNHB4O2dyaWQtY29sdW1uOjJ9CiNzay1yb290IC5zdGVwIHB7Z3JpZC1jb2x1bW46MjttYXgtd2lkdGg6bm9uZX0KI3NrLXJvb3QgLnN0ZXAgLm51bXtncmlkLXJvdzoxLzN9CiNzay1yb290IC5mZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQojc2stcm9vdCAuZmdyaWQ0e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9CiNzay1yb290IC5ncmlkLXB7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0KI3NrLXJvb3QgLmJyYW5kc3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtnYXA6OHB4IDI4cHh9CiNzay1yb290IC5hY3Rhe3BhZGRpbmc6MjRweH0KI3NrLXJvb3QgLmFjdGEgLmJ0bnMsI3NrLXJvb3QgLmFjdGEgLmJ0bnt3aWR0aDoxMDAlfQojc2stcm9vdCAuYXJ0aWNsZSAuYmltZ3ttYXJnaW4tdG9wOi0yNHB4fQoKfQpAbWVkaWEgKG1pbi13aWR0aDo2MDFweCkgYW5kIChtYXgtd2lkdGg6NzYwcHgpeyNzay1yb290IC5ncmlkLXB7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnJ9fQoKCi8qID09PT09IFdvcmRQcmVzcyAvIEFzdHJhIGludGVncmF0aW9uID09PT09ICovCmh0bWw6aGFzKCNzay1yb290KXtmb250LXNpemU6MTAwJX0KI3NrLXJvb3R7Ym94LXNpemluZzpib3JkZXItYm94fQpib2R5Omhhcygjc2stcm9vdCl7YmFja2dyb3VuZDojZmZmO292ZXJmbG93LXg6aGlkZGVufQpib2R5Omhhcygjc2stcm9vdCkgI21hc3RoZWFkLGJvZHk6aGFzKCNzay1yb290KSAuc2l0ZS1oZWFkZXIsYm9keTpoYXMoI3NrLXJvb3QpICNjb2xvcGhvbixib2R5Omhhcygjc2stcm9vdCkgLnNpdGUtZm9vdGVyLGJvZHk6aGFzKCNzay1yb290KSAuZW50cnktaGVhZGVyLGJvZHk6aGFzKCNzay1yb290KSAuYXN0LWJyZWFkY3J1bWJzLXdyYXBwZXIsYm9keTpoYXMoI3NrLXJvb3QpIC5odC1jdGMsYm9keTpoYXMoI3NrLXJvb3QpICNhc3Qtc2Nyb2xsLXRvcCxib2R5Omhhcygjc2stcm9vdCkgLmFzdC1zY3JvbGwtdG9wLWljb257ZGlzcGxheTpub25lIWltcG9ydGFudH0KYm9keTpoYXMoI3NrLXJvb3QpIC5zaXRlLWNvbnRlbnQ+LmFzdC1jb250YWluZXIsYm9keTpoYXMoI3NrLXJvb3QpICNwcmltYXJ5LGJvZHk6aGFzKCNzay1yb290KSAuc2l0ZS1tYWluLGJvZHk6aGFzKCNzay1yb290KSBhcnRpY2xlLnBhZ2UsYm9keTpoYXMoI3NrLXJvb3QpIC5lbnRyeS1jb250ZW50LGJvZHk6aGFzKCNzay1yb290KSAjY29udGVudHttYXgtd2lkdGg6bm9uZSFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7YmFja2dyb3VuZDpub25lIWltcG9ydGFudDtib3JkZXI6MCFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lIWltcG9ydGFudH0KYm9keTpoYXMoI3NrLXJvb3QpIC5lbnRyeS1jb250ZW50PiNzay1yb290LCNzay1yb290e21heC13aWR0aDpub25lIWltcG9ydGFudDttYXJnaW46MCFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnR9CmJvZHkuYWRtaW4tYmFyICNzay1yb290ICNoZHJ7dG9wOjMycHh9CkBtZWRpYSAobWF4LXdpZHRoOjc4MnB4KXtib2R5LmFkbWluLWJhciAjc2stcm9vdCAjaGRye3RvcDo0NnB4fX0KI3NrLXJvb3QgaDEsI3NrLXJvb3QgaDIsI3NrLXJvb3QgaDMsI3NrLXJvb3QgaDR7Y29sb3I6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O3RleHQtdHJhbnNmb3JtOm5vbmV9CiNzay1yb290IGJ1dHRvbntwYWRkaW5nOjA7YmFja2dyb3VuZDpub25lO2JveC1zaGFkb3c6bm9uZTt0ZXh0LXNoYWRvdzpub25lO2JvcmRlci1yYWRpdXM6MDtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWluLWhlaWdodDowfQojc2stcm9vdCB0YWJsZSwjc2stcm9vdCB0aCwjc2stcm9vdCB0ZHtib3JkZXI6MH0KI3NrLXJvb3QgaW5wdXQsI3NrLXJvb3Qgc2VsZWN0LCNzay1yb290IHRleHRhcmVhe2JveC1zaGFkb3c6bm9uZX0KI3NrLXJvb3QgdWwsI3NrLXJvb3Qgb2x7bWFyZ2luLWJvdHRvbTowfQoKLyogU0sgSW5mb3dheXMgYnJhbmQgY29sb3VyIHN5c3RlbSAoZ3JlZW4gKyBjeWFuKSAqLwojc2stcm9vdCAuYnRuLXByaW1hcnl7YmFja2dyb3VuZDp2YXIoLS1ncmVlbik7Y29sb3I6dmFyKC0tb24tZ3JlZW4pO2JveC1zaGFkb3c6MCA4cHggMjBweCAtMTBweCByZ2JhKDEzOSwxOTcsNjMsLjc1KX0KI3NrLXJvb3QgLmJ0bi1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQ6dmFyKC0tZ3JlZW4tMik7Y29sb3I6dmFyKC0tb24tZ3JlZW4pfQojc2stcm9vdCAubmF2IGEuYWN0aXZle2NvbG9yOnZhcigtLWdyZWVuLWluayk7YmFja2dyb3VuZDp2YXIoLS1ncmVlbi1zb2Z0KX0KI3NrLXJvb3QgLm1uYXYgYS5tbC5hY3RpdmV7Y29sb3I6dmFyKC0tZ3JlZW4taW5rKX0KI3NrLXJvb3QgLmhlcm8gaDEgc3BhbjpudGgtY2hpbGQoMyl7Y29sb3I6dmFyKC0tZ3JlZW4pfQojc2stcm9vdCAuaGVyby1ub3RlIC5pY3tjb2xvcjp2YXIoLS1ncmVlbil9CiNzay1yb290IC5sb3Q6OmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWdyZWVuKX0KI3NrLXJvb3QgLndjYXJkOjphZnRlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1ncmVlbiksdmFyKC0tY3lhbi1sb2dvKSl9CiNzay1yb290IC5jaGlwW2FyaWEtcHJlc3NlZD0idHJ1ZSJdLDpyb290W2RhdGEtdGhlbWU9ImRhcmsiXSAjc2stcm9vdCAuY2hpcFthcmlhLXByZXNzZWQ9InRydWUiXXtiYWNrZ3JvdW5kOnZhcigtLWdyZWVuKTtib3JkZXItY29sb3I6dmFyKC0tZ3JlZW4pO2NvbG9yOnZhcigtLW9uLWdyZWVuKX0KQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXs6cm9vdDpub3QoW2RhdGEtdGhlbWU9ImxpZ2h0Il0pICNzay1yb290IC5jaGlwW2FyaWEtcHJlc3NlZD0idHJ1ZSJde2JhY2tncm91bmQ6dmFyKC0tZ3JlZW4pO2JvcmRlci1jb2xvcjp2YXIoLS1ncmVlbik7Y29sb3I6dmFyKC0tb24tZ3JlZW4pfX0KI3NrLXJvb3QgLnNlZyBpbnB1dDpjaGVja2VkICsgc3Bhbntib3JkZXItY29sb3I6dmFyKC0tZ3JlZW4taW5rKTtiYWNrZ3JvdW5kOnZhcigtLWdyZWVuLXNvZnQpO2NvbG9yOnZhcigtLWdyZWVuLWluayl9CiNzay1yb290IC5hY3RpdmUtZiBidXR0b257YmFja2dyb3VuZDp2YXIoLS1ncmVlbi1zb2Z0KTtjb2xvcjp2YXIoLS1ncmVlbi1pbmspfQojc2stcm9vdCAudGh1bWJzIGJ1dHRvblthcmlhLWN1cnJlbnQ9InRydWUiXXtib3JkZXItY29sb3I6dmFyKC0tZ3JlZW4pfQo=\">\n<style id=\"sk-wpfix\">#sk-root>*:not(#sk-modal):not(#wa-float):not(.mnav):not(.skip){max-width:none!important;margin-left:0!important;margin-right:0!important;width:100%!important}#sk-root #sk-modal .mgal .main:has(img){aspect-ratio:auto;min-height:240px;background:#fff;padding:10px}#sk-root #sk-modal .mgal .main img{width:auto;height:auto;max-width:100%;max-height:min(68vh,560px);object-fit:contain;display:block;margin:0 auto}@media (max-width:760px){#sk-root #sk-modal .mgal .main img{max-height:46vh}}<\/style>\n<div id=\"sk-root\">\n<a class=\"skip\" href=\"#sk-main\">Skip to content<\/a>\n\n<header id=\"hdr\">\n  <div class=\"wrap\">\n    <a class=\"logo\" id=\"logo-h\" data-link aria-label=\"SK Infoways home\"><\/a>\n    <nav class=\"nav\" id=\"nav\" aria-label=\"Main\"><\/nav>\n    <a class=\"btn btn-wa btn-sm hdr-wa\" id=\"wa-hdr\" target=\"_blank\" rel=\"noopener\"><\/a>\n    <button class=\"burger\" id=\"burger\" aria-label=\"Open menu\" aria-expanded=\"false\" aria-controls=\"mnav\"><span><\/span><span><\/span><span><\/span><\/button>\n  <\/div>\n<\/header>\n<div class=\"mnav\" id=\"mnav\" aria-label=\"Mobile\"><\/div>\n\n<main id=\"sk-main\" tabindex=\"-1\"><\/main>\n<footer id=\"ftr\"><\/footer>\n<a id=\"wa-float\" target=\"_blank\" rel=\"noopener\" aria-label=\"Chat with SK Infoways on WhatsApp\"><\/a>\n<div id=\"sk-modal\" hidden><\/div>\n\n\n<\/div>\n<script id=\"sk-app\" src=\"data:text\/javascript;charset=utf-8;base64,Ci8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAxKSBDT05GSUdVUkFUSU9OIOKAlCBlZGl0IHRoZXNlIHZhbHVlcy4gUGxhY2Vob2xkZXJzIGFyZSBpbiBbYnJhY2tldHNdLgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KY29uc3QgQ09ORklHID0gewogIEJVU0lORVNTX05BTUU6ICJTSyBJbmZvd2F5cyIsCiAgU0lURV9VUkw6ICJodHRwczovL3NraW5mb3dheXMuY29tIiwKICAvLyBPcmlnaW5hbCBTSyBJbmZvd2F5cyBsb2dvIChlbWJlZGRlZCkuIFRvIHVzZSB0aGUgdXBsb2FkZWQgZmlsZSBpbnN0ZWFkOiAiL3dwLWNvbnRlbnQvdXBsb2Fkcy9zay1pbmZvd2F5cy1sb2dvLnBuZyIKICBMT0dPX1VSTDogImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBYTBBQUFDRUNBSUFBQUNzNE9NcUFBQmVPRWxFUVZSNDJ1MTlkM3hjMVpYL09mZStNbjJrVWErMlpMbDNqQUdiRm5vSW5RMlFoSkNFOUMzSnB1NXVkcFBBUW5wKzJmUmtBNEdFaEFESnBoRmE2TTJBYld6akxsZFpWclhxaktiUHZQZnUrZjF4WjU1RzFiSXRHMlBlaVQ2T0dMMTU1YjU3di9lYzcybElSSEJ5Q1FrU0RQbndmNE5BWU9DSUk0NDRjbndFVHlvY0ZHUkpCT3hMN3R2WS9YdVhFcHhmZWttRmR5NEFBYUR6dGh4eHhKRlRHUWNKQkFBaVlNYU1yKzM4OVlidTMyZk1HQUJ3VkM2ZmZkdVM4cXVJQktLakZUcmlpQ09uSmc0T0c4STcrLzYrcHYzdS91UitsK0pucUNDd2pKWHc2K1VmWGY0SGxia2NyZEFSUnh3NUhxS2NESVl3UTk2VDJQM1N3Wi90QzY5Um1PWlJpd1ZaZ2l3QXdWRVJ3akJGUm1VdUJ3VWRjY1NSVXdvSGlRUWdNdVJwTS9wYXg2ODNIZm8vdzBxNWxRQ1JFR1FWMk1zRUFPZ0FvQ09PT0hJcTRTQUJVZDRRM3Q3MytDdHRkdzJrV2wxS3dLWDRDeEhRRVVjY2NlVFV4RUZwQ0NQeVEvR2RMeDc4V1V2a1ZZWHBCWWF3STQ0NDRzaXBpNE8ySVp3MElxOTEzUHZHb1QrWkl1TldncU1NWVVjY2NjU1JVeEFIQ1FoSUlISUEyTmI3eUN2dGR3K20ybHhLUUhjTVlVY2NjZVR0Z0lPNTBHamtYYkZ0TDdYOS9FQjRyY0pkMGhBbUJ3UWRjY1NSVXhzSGlRUWlNdVFKWS9EVjludTM5UHpaRWxtMzZoakNqamppeU5zQUJ3c040YzA5ZjNtMS9aNUl1dE9sQkxpaU9Ram9pQ09PblBvNGFCdkNIZEV0TDdYOXJEV3lYdU51ajFva3lEcjVham80NG9namprd3JEc29VWUlZOG51MS9wZjJYVzNzZkZzTDBxRVdPSWV5SUk0NmMramhJUUVDRXlBam9qVU4vZXEzajNxRjB0MXNKZ0tJN0NPaUlJNDZjK2ppWU40U3hQYnJweFlNL2F4dmFxSEdQTklUQk1ZUWRjY1NSVXhzSGJVTTRsdTE5cGUzdXJiMlBFRm1PSWV5SUk0NjhMWERRTm9RRldXOGMrdU5ySGIrS1pucmNTZ0FRSFFSMHhCRkhUbjBjdEEzaGcwT3Z2M1R3WiszUnpZNGg3SWdqanJ4ZGNOQTJoS09aUTJ2YTc5cmUreGdCT1lhd0k0NDQ4cmJBd1FKRDJOelkvWWUxSGIrT1ovdGNqaUhzaUNPT3ZFMXcwRGFFRDBUV3Z0VDI4ODdvRm8zNzNJNGg3SWdqanJ3ZGNOQTJoQ1BwempYdGQrM29ld0lCUEdxeFl3Zzc0b2dqcHo0TzJvYXdSY2FHcmdmWGRmNDJrZTEzcVVHcEhqb0Q1NGdqanB6YU9KaHZJSWU0UC96S3kyMC83NHB0MTIxRDJCRkhISEhrMU1aQjJ4QU9wOXRmYnZ0RmM5K1RpTXlqRmd2SEVIYkVFVWRPZVJ5MERXRlRaRjd2ZW1COTUvMUpNK3hTQW80aDdJZ2pqcndkY0hEWUVONDMrTkpMYmY5N0tMNVRWM3h1SmVnZ29DT09PUEkyd1VGa3lBZFRCMTlxKzk5ZC9jOHd4eEIyeEJGSDNsWTRTRUJaTTdHeCs2SDFYYjlMbVVPT0lleUlJNDY4N1hBUUFWODQrS08xSGI4TzZGV09JZXlJSTIrdUVBQkpxbjVNZ2dJaUlDQUNBQUk2SXpYdGRuSEdqT3VLSDVFTE1wMFJjY1NSTjBVRUFSRnhobE9CT291SUtJK01EaXhPQ3c0aWNpSUI0R1RJT2VMSW02TURDaUtPQ0lpbW9BUFI3TDVJcGpOaERHYk1qRVVNd2F1d2tFc3BkeXZWWHJYS3E1YTVGVDRTL09RWmlBQUJFQjJkOGFodzBFRkFSeHc1Y3ZDaUVjbjFtTGRjajF3TlpBZ2NzWGt3ZmRmMi9yKzFETFVNcGlCakFjSHd5U2gvQ1lXQnpodUMrckpTOTRweXo3SlM5NXhpVjYxUGRTdU1qN200RFk1ajdlc1Ivd21JWXo1OGUrS2dJNDQ0TWpYNEkwRkFETGxOMW8wQ1J5S0JnSWhzNmlBNG1MSCtlMjNYejdmMkc5R01OK1M2ZW01b1pibW5JYUNWdUJTTm95QkltaUtjc1hxVFJsdmNPRENVMlRlVWVhUTErcGVkQTJBSlVKalhwelVGOVlVaDE2SVMxOXhpMTZ5Z1h1TlRTM1FGRWJoak16czQ2SWdqMDY0QUlqSUpMQWxqSUpFZHpGcEpBc0ZSZFNsK2p4cHlLWDdadG52cUlMZzdrcm51a2YzTjdiRlFpZXZ6bDg3OHlNS1NDbzk2Mk85R3MxWmJ6R2dlVEczc1RXNGJTTzhkeXZ4cGYrU0JIU2FZQkF4QTQwR1hVdWxSS2p4cXFWc0phaXlnOGFER2d4cjNxTXl0TURkSGxhT0NxREowSzZ6T3A5WUhOSTV2WDZYUXdVRkhISmtTQ0VvRjhGQjhWM1AvayszUnpVT1pycXlac01nZ0lBYU1NODJsQkVMdStoci80bG5GNTFUN0Z4OU9yd1FBR0VpYlZ6NnlmMTluL0tMNUpmZGNYRC9EcjBIZUJ6TEtnTFhOVzZubEJUUytxSVF2S25IZE1MdFlmcDQwUlgvSzdFb1luWEdqSTJHMHg3TTlTYk0vWlhiR2piMm1sYkhJSWdBQWphRkhZVUdkVmJyVkdYNXRYckZyWHNoVjRsYmV6aURvNE9ESnJuM1FCTlF0NXRod3grWTVRYll3SWt1WlE4OGYrT0dPL3I4YlZsSmhHa2NOa2Fub0FrQVo2NUkwd3ZGc1gzUC8wOTN4NWhzWC9FaCthMEpsRUlnai92ZjZRL3ZhWStmT0xYN2txa2Ezd2d4QkN1TDR4dXdZN284SUJKR05qQjZGMWZ1MWVyL212QzhIQjArUlZRY0FpQXdPdDBYbnVTcjJaZ0VpZ1VCZ3AvanJBSUhJaGpMZC83ZnpNejJKWFI2bFNGV0xLYmRGNWY2VlIzSlVWTzRTWk00SXJzeXJrQk1xZ3h5eEoybithdWVBTzZEZGZWRzlXMkdtSUpWTjlUMUt6d1lybUNEakJoN0t2K1BJbVZSNG1JeThZVy83L2RUQndaTnN5ZVVwOXFRUjdrdnVHMGdlaUdaNzAyWlVrSW5BWkQrc2dGNFZjczhvY2MvVXVBZHpNOXVhT2kxMUFrQlFrTW1RbnhMcUtnRkJWaVQvc3V2ZitwSjdmV3FwUlFibGN3MFk4dHdSZVJPV1NDRHdLdDk4bURSd3hTSlNFTmQweCtQaDlEOHNLNTliNUxLSWxHTkRvN3pQOS9DT0VTZXN4c0hCazkzNEFvQjk0WmUzOVR6YUdkdVNNQVlzWWRoVE43L05Fd0pUdUI3UUttcjhTMmFYbk45UXRFcmpucU83WEgveXdHTjdiMk9veU5NanNyUVpXMWgyK2FyYVd3VUpOb2xaUnhaRHZxUHZpWFdkdjlHNFIrcXdCTUJSU1JyaDJhSHp6NS94endCdzFLU1Q1T1ArdnYvclhiRWRLbmNEQ1FBVVpPbmNkOTM4NytqY215UHNqck1JSW9ic2xmWmZka1MzK1BXeS9Pc0FCRVlnVXVZUUVjbTNKdDNFRExsWEt5bnpOQTByWXhOTGN6aXRBcHhmN1pPcW5BTk1EZzQ2SUNoUnFlV1pBOTlyamF3bEFJMjVOTzVGamhNZEg4MzJEdlk5dXEzdnNaQ3JmbG5sZFN1cTNxTXc5VWdYa3lGU1hmSHRERldKZ3d4NTBvalVCcGJtTGEzSlFMQWwvT3BqZTIrWGQwNjVyeXNaTTFyaG0zOTY5WHNSOGRpalV2dVRCN3BpMnpURlN6a2NORDFLRVoyb3JDZkpPUXhsdXJmMC9NV2pCb2RCRUpscHBUblRGcGE5cXk2d3pLdVdFbERTR0J4SUhtaUp2T2JYU3QxcTBWUmd1aXR1R0FtRE1RY0FIUngwSkcvVjdoOWM4N2M5WDg1WXNYeXBDMEVrSm9FU0JWVlYwUUZ3SU5XNnBlZmgwNnZlU3dBSVI2WlhTRnQ3R0FlQm16eXJvRGFwaW1ReDVOM3huUS92L2hKRFJlRWFFUUVRUXlVcmtxV2VXZTlaK0ZPZlZqb3QrcHJLZEkxN05PWWh5T0dneXR3blRIRWlFb2g4Vi8vVFNTUHNVWXRsNmowaU02MU13RlYxOVp5dlYva1dqREY0alVSMllCS3pVOFkyQ3dKQjhMNDV4WTB1NWF4S3IveFBpNGdoT3BqbzRPRGJWaFBrN1VPYi9yenJpNGpNcFFRS1MxMGdjc3o1anVYYVF2dGJCRVJrTWVRSWNGcmxEWnlwNHFoWVFya3FKUTRTb2p6ekpBY3o1T0YweDUrYlAyK0tyTUoxR3gwTWtkSzQ1eC9tZjgrdmxVL3VLajBpalN3SEdpUUFNSCtySjBqa0k3Ukcxak5VN0RHUmozYk5uSzlYK2hZSU1rZUJNa2Mxb0ZkT2RFS0xpQ055Uk00QkFNNnA5cDFUN1pOLzB2S0t2eVdJTVFjTkhSeDhtOEVnSUtiTjJPUDc3aUFnbFdrMkNFb0dLbTFHaVFSSEJSRUpTSkFsMTZHQ3VzSTBSR2FSNlZhTDU1Uzh3MTYzeC9OZUJTSkxHdUUvTlg4MmJnem8zSnNEUVdBU0VhNmIrNTB5VDFPdXkrdGIvOVVnWU5aS2h0TnRDdE1nRjZIQ01tWnNkdWdkbGI0RmdpeUd5amc3eFhqS29KMDhCd0JydXhQUGRzUmVQQmc5bzlaMyt4bFY5elFQUExoOTROd1ovbmZVK00rdDhXa003ZU1kY1hEd3JhZldqVktqRVBHd01TV3lEUGdiaC83WW56cmdWVXZzZWo4SXpCUnB4dFQ1cFpmT0NLNG8wbXRVN3JMSVRCcVJvVXhYWDJMZm9maXVjTHBOa0NYSVdsQjJXVUN2bkM0VmJCTFZESUVaSXZYblhWL3NUN2E0bEtDOFd3UWtFS2FWdlc3K2QrcURLMDRWRU16eEN3bGpNR1ZFR1hMNWNoRlFrRlhqWHpLeHlqeU9LaWZWUUFENDljNkJuMjd0MjlDVEJFdEEycW91MGhXRy9Tbnp4ZjNoRnp2algyUGQ4MHZjSDF0VStzbkZwVzZGMmQ5eXhNSEJ0NHpnVWNWZ01lUVdHVHY3bnRTWW00WTFRVFJGT3VpcXZuTDJIZFgrUmVOKzBSU1pydGoyNXY2bnR2WTh2S0QwTXBnMFdtMWFRQkNJQklpSGQvOW4yOUJHajFxY2gyd0V4SXdSdTJMMmJYTkM3emlaUUpESS9xY0FzOUQrMzJGSlJpSkF6RnB4aXd6Ym55NjNxSUJlZ1RCVkw1Q0VzMTJSOU1lZmJudTVMUW9jbWNwMFhjMFM2aHdCUUdYSWRVWHpLRmxMTkErbVB2ZnN3WHQzOVAvOG9obm5WSGxQY2lpMEswM1E4T0JnVGdVNEtYdy9NbEJ5NU8xTjhQWWRISndXUlFsZjYvalZRUElBNXpxUVFHUlpNOUVVT205QjJUc25VZFBrbndhU0I4THBkczcwWVFZS2lLRnk5Wnh2VlBybVNYdHptQmJNYXlVSzArdURLK3FESzg2c3VjV3Jsa0ErbHUxNHpTY2lodXl4dmJmdEhuamVxNFpzdlpVaEpvM0l4WTFmWEZKeHpac0xnb1hwTnpLd0hNR09sQnQvOEtmQ0pBZ1NCTUlPV2lJZ1JPUk1vNXdYQzhjak9wajl2aVNRcmVsT1hQUHd2c0drb2JvVitUVlRrSjA4UndBV2tTbElFSENGTVpWdjcwOWQrSCs3NzM5WDQ0MU5SWVZRS085NTdBWjh1R0VSaFdOd3VPTUYwR1NYSUJCRUpLTmNDOHJDam5OZE9iM0hBdUxZVzhvaDV4U2djNXdSUUJocmRSRlpNSHlIRTk4ZWdNMm5Pemc0UGJKbjRJWFd5RHBkOFFvU0hIbkNHSFNwd1FWbDc1d3NxUUFJQVFaVGJZWkkyWlhBSlliT0tGcFo2WnMzbG9IQ2tkZ0VBRVd1MnVPTk1OSjRmN3JsdTF0Ni9scG92RFBrQ1dQdy9QcC9QcVA2NWpkZEU4U1JTUk5aSzVreWg5Sm1OR1BHRFpHeXlKUWVIcDM3dkZwcFVLOVFtR3VZOUR5eWxCaFNtUnVSOGNOaktIREVQWkhNVlEvdmk2Uk4xYVdZZ2c3N0ZVR2thTnkweEhzZmE2bDQ5NXp6YTN5Q2lPVlFuUjNWc1BBak9mNHdVVHlGT1N4Skk1d3dCbExHVU5aS3lnMWI1UzZQR2dwbzVXNjFTRUxNV0QzZ1NHOXA2cUJ2djAxNTZheVZpbWE2NDBaLzFrd0NFR2Vxem4wZXRkaW5sV3JjTzhxajZPRGc5SWl1K0R4cWtZeDBrM1NTeXR4VCtXTEtqQlJtUWtrR3lxZVZ5ZHlTeWFZRVlvRTVmTHpNRUFtQ0x4MzgyZnF1KzBkcWdrckNHRmhWZStzNTlSOC9HY3hobVg3VG05amJsOXdmVHJYSHNqMXBNMmFLdEVSQW1mMkdnSWhjWlM2ZlZscnBXekMvOU5MWm9mTVEyTlNwVlNKU21IdHQ1NisyOXowbWxZNlJMQWZMV0lsNUpSY3ZLcjlDa0FCZ0Z0RUhuemtZU1JxalFCQUJDck5IT0k2SWw3RUVjYzVNeS9yQTA2MWIzemZmcnpJQWlHWU9QZC82UTlzZVIyU0dsYXIyTDFwVmUrdTRJVXJ5b2ZZTVBMKzE5MkdkKytUZVVCODhmV1gxKzhaOVh2bmh4dTQvSElpOHBuT3Z5R2xleEZDNXFPSHpubHhFSlBRblc5cUdObmJGZHd3a0Q4U3l2Umt6YmxLV3lLSjgzQlZubWxzSmxub2Fta0xuTFN4N3Awc0oycGNqSWtSYzEvbWJqdWhtTlI5N2o0aW15SjQzNDU5SzNRMlR2d2lMakdkYXZwY3l3dEo5TDZNNHk3eE41OVovVXRLNTl0ZjNERHpmM1AvVW9YaHozQmd3UmRyMjVqSGtDdE05YWxHUnE2N0NPN2N1c0x3K2VKckd2UURrNE9CMG1ZNUNlaTNrMnhWa1RUSENRNHhVOWVVTFRocGg2UytlMG9aLzNFUUMzR3NkdjFyVGZwZFhEWW5oZkRJbGtSMDR2Zm85Rjg3OERKSEY4RTFMTVpZUUVNOE8zTC90dzVGMHB5QUxBUm5qREZXR25LSEtVY3RYU0xXNUlqR1U2UjVJdGU3b2U2SStjTnJGalordjhNNmJQSG1tOElJTWxmYm81bkU3V0REa3lleGdrVjZ6cVB3S1V3aU5zd2YyaE5jZWpLcnVrU0NJWUJGWktkUEtjNWhXMnJSMHpoRkZma2UwQktrNmIrdFAvV2hMMzFkV1Zsb0VicldvSTdZbG5HcFhtQzYxSGxPa2V4TjdWbGJmckRBTkpvZ2IzZEgzOSsyOWo3dlZJQkZscldRNDNYNTYxWHZHeFJwRUJLQ3RQUSszUnpkcDNDc3ZrYldTMWY2RkxzVm5WNEo5Y3YrMzlvVmYxcm1QSVdlb01PUWFlcVNPUjdtZFFxVE1vZGJJK3YzaFY5WjMvdmJjK2s4dUtyOHlIMnd2RUxoRnh0YmV2M255ZXlwRG5qVENkWUhscGU2R2lZd24rZlhCMU1GTjNYK0EvTXRreUpQWjhMbjFuNUNMU0pycVBZbGRUN2Q4dHozNkJnQ3FUR2VvYU54YjhQYUpnT0xaL2tpNnV5WDg2cXR3ejRlVy9yYkd2NFRJd2NFM1cxeUtyM0FHRXdtTnV6dWpXeVBwamlKWHJTQnp2T0NNRTRQc0ZtZmFocTRIbjIvOWtWc3RzdkZhYW9KTEs2KzliTmFYOGp2d20weUtXMlNrektpbWVCZ29JOHNJa00yU0YxcWtDbXFxNGdLQTl1Z2I5Mi85NkRWenY5a1VPbmZLV2lGcDNEUHU5c09RRXdtVnVRQ0FNeVNBbjJ6dFI0YWpDaDhJazd3YSs5eUZkYmN1REJIQUIrY1ZhZGp3blUwOVBYR0RxZHcyRG9RZ1ZQbmRPL3Evc0x6Y3BRQkgxK3ppOHpabC91aFdnM21heko4eWh5THA5bExQTEtscWpUSWhMVElHVTYwK3JVeGhPZ0RwM0pmSURrYXpoNEo2OVNnVlV2NW5MTnNYeS9iNXRYSTVEZ3c1QU0wT3ZZT2hraWR0ZU1oZHIwZDliclZJQ0ROZmFVTEFTUGM1UTRVcktnSkxHSU1QNy82dmNMcmozUHBQeXJ4REFKZ1R1bUJ0eDMyMkFTR3YxUkhkdkxMNmZSTUhueE1DZE1XMkE2SlhMUlprRVFBRFpCcWZVM0toUEFTUnQ0UmYrOHZ1ZnpPc2xGc0p3bkNNcmN6NHRNK01IRlZGMFFXWmJyVzQxTjA0Slh2YmtlTkxhUUVVdStvVXBvMHdqWkZuUmZLeHZYZGtyWVNjZ3VNUzVNZGJ2ZVZNZStQUUg1OCs4RjIzR3BBWkkza1FIRnhZZHZrVnMyL0xOUW82Q1R5RENNaFFLVlRKNWNwaHlCbHl5WmRMZlVIV2taYVJtSUlzbCtJbkVBL3YvbEpQWWpjaW0rbzRqd0hXZ28rSFRkMldvY3lHbmlTb3pNcS9YSVlBRnBWN2xCZi9ZYzRkcTZvYkFpNGlzOHFyZis2MGlyVTN6cDFYNGlaRDJQU2JJR0FLYTQ5azF2VWs1VlNwQzY2US9obDU4d0NRTm1QZDhXYUFVVUNVOHllRVUyMlJUQmRETHNnVVpBRkMwb3oweEhlUGRUakkvK3hON0U0YWc0QW96MitSQ1lEMXdSV0YxSFN4cTA2UUJVQ0l5SkRoZU1NcnRVSkJKa2ZOcTRWZU92aXo3YjJQMmNtWEplNFpJZmZNckpVa0lrR1dFQ1pIdFR2ZW5ESGppR3pjYkU3NStPM1JONERJZnNXR1NQdTBzZ3JmWEFtQ2c2bTJ2KzM1VHlMVHBmaHp4OGl5NGNnQWlITDJHU0VpSWtOa2hwVXVjYy9RRlovY0F4d2NuS2FsaUV5dU92dm5zT3k3M01ETHZMT0xYTlVtWlFwelJUVHVhWTl1ZW1EN0p6cWltK1c3ekFWUm41Qk9Nb0lFSXR0ODZNOVA3dittaS90bHBva0V3YVF4T0sva29xdm5mRzA0Q09Ha1lTWkdyUnhEcEpOR09HbEVNbWJjRUdsRHBETm1MR2xFTERMdDdWK1FwVERkRU9tblc3NHJ5SnBha3c0MFJESmxSdE5tTkRYeUoyMUdVOGFRSVRJUzlEYjNwY2l3ZE00VWh2SkhaUXd0K24vbjFhd285OFN5UTQvdXZmM3VOMjU0Y3YrM0UwWmlaa0MvKytKNmxZT0NZQit2Y1ZRRnZkNlRBRUFDcUEwczlhZ2hpNHpDdmFjenRuVmNCUW9BdXVNN00yWjhXUE1DSkxLNll0c25lckRPMkZaQnBueW5DR2dKdzY5WFZQa1dBZ3c3UjRyZDlRQ1VNUk5KSTVJMHdtbHpLR3NsOHNNYlR4cGhVMlR0NFpYT1pWM3h2ZFQyczVRNUpCRVprYzhzV21tS2pFMXdjNmJGTW9lNjR6dkcwa1I1WFkrWkl0c2QzNmt3WFVJMlEyYUlUTFYva2M1OWtneFowLzZMcEJGUm1ic3dIU3RsRG1YTkJDSlh1VXRCallDeVZpSnBoTk5tTEN0U2xiNEY5aDdnMk1YVEkxa3prVEtHTE1qNUpWTkd4QkNwdzY0b1FaYktYSXZMcjNxdTlmdWE2cmJ5ckJPUmNDbiszc1RlQjNmODAvelNTMDZyZkhlMWY3SHRnRHV1aWp5UjVWTDhld2FlZjN6Zm5UTFRtUXBBY0hiby9Hdm5mak5IVkorczlRRVEwS1JzcFcvQnpLS1ZRYjNHcDVYcTNBZEFDV093SzdhdHVmK3BXTGJQcnBFanRjTDI2S2FXOEt0Tm9YTVA1L05CUVdhTmY0bFhLOGxwd3lPdXl6Tld2TUk3Ui81cHkwREtqQnVtQUJDNXRXMFFnTTdmV1I4MGhmSFkzaS92SFhqT294YXY2N3d2bHUyNWR1NjNWMWQ2QWg2MXZ5OEZLa3BVTnhoQzB0elVsd0lBVXdpL1ZsN2htOXNhV2E4clhpSWlJb1ZwM2ZHZEU5MXpSM1FMamdSSGpxcUVtOUUrWEdRQTBCWGR6bEROeFdZaEdsWjZsbStSUy9FWFJzQUU5V3FmVmxybW1WM3FhU2gyMWZtMGNwZnFWMUNYSHIrZStLN21nYWNIa2dkMHhaODNTSVhDWEpGMDUrNytaNWRWWGk5YjZzMHFQbWRkNTI5dEd3Z0JMVElPUk5iT0xEcHpYTjhVSWc2a0RneWxPem5UQ2hNY0c0ck9rak16bHVrNUVIbk5wZmlzWWQ2V0JGbkxLcTZmVzNKUmthdEc0MjVCVnRaS3hJMkJnV1JMVjJ4SFMrUTFDZkU1cXNTQnNHbVJodUpWUHIxTVpick11OGhZOFNyZkFnSWd5Tk5ENDhFR1EwWkFLNnB1MnRuMzkvNVVpODc5TmdFdnlGSzVtNGkyOVQ2eXEvL3Btc0N5K1NVWE40WE84Mm1sK2VsQjA0Nkdnb1N1K1BZT3Z2akdvVC9LNG9iNVZjRVN4c0RzMFBuWHpmdU9uSXNuYy9rNlJHYVl5U1VWVnkycnVIN1VuK2FXWEhoNjlYdi91dXMvdXVMYmJTaVVJTEd6LzhtbTBMbVRQeGNpbWxacVZlMUhHb3RYVFRxTWhJRG5WSG4rL2J3cXJ2S2M5d09CQlBrMEh0UVZ3eHJzam0vM2FhVUl6S2VWZHNXMkdTTGxWZ0pmUHIyME8yWXducHN6RE5FeXJXV1ZmZ0JBRUFCc1p0RVpMZUZYcEZPQ1FDaE1DNmZhSXVtT2tIdEdZUUNRMUx5NjR6czQwMjI0a2JqWm56cVFNQWE5YXNoK2lmS1hoREhZbDlxdkRoK1BSRlpEOFprMlBTY25XNm1uOFNQTGZ5OURWc2ZLN05ENUsydmUvM1RMZDdiM1BxWXJQaHNLR1NyN3c2OHVxN3hlNG5XVmIyR0plMGJlNXlNQlhUOFllWDFjUUpkWGI0OXV6bHBKdTlxRklOT3RCdXVEcDh0amVwTjdVMGJVdmlJaXk1anhpeG8rdDdMNmZhUE9WZ3F6WmdiUFdGRUZhVFBHbVpxblFSMGNuQ2FhVC9xdHhzcmhvc3dRU0dqY2M5V2NPeC9ZL3Ntc2xkQzRWeFJvaFFEZ1ZvS0NSRnZrOVFQaDF3SjZlV1B4T1l2THI2Z0xuQ1lkZkJKMnAxRWRaS2lHMHgwY09jOFhGMEJBMDhyTUs3bjQ2cmxmczUyVkovOXJNVVJHOGtSOHVDSXNDUkIrcmZ5cU9YZithc3Y3aVV3QVNSNEpoYnNPeFhjYUlxMHlGeHltWmc4YUlpVkp1dkUxUjBScFJWNWFIN3kwUGpqdUtSSVdxS2hsUklJaENqSTFYaXk5MWYrNnRHcWlxOHFKTkRONGhzcmNWT0N6U2htUnJ0ajJrSHNHRVVuOVZMNmd3VlI3T04yaE1LMGc2b0FZVXhQWmdkN0U3b2FpVmJaclJWYjY2SW52U21RSGJDZ1JaTG1VUUgzZ2RCaFpSRkpobXNKS1pGUXBqTm5mQ1lUT3ZWYzAzVGFRUE5DVDJLMHlONEVBSXM3VWdWU0xLVElLMHdWWkN0TWFpczdxVGV4VnVWc3lkd3B6OWFkYStwTDdLcnh6UnptczVOWGJoelppZ1dzbGF5YnFncWNWdVdya1cwaGtCNlIxTERjY0lVeTNHbHhRZWxtZXl1U0ZoSUhFZlpmaUx4eGVCd2VuemJGUXVINGtQQTFtTEpselFBUmVqWG1VY2VNVkdKRW85ODY1YWVGUEh0NzlwY0hVUWJjU1JHUWlkMEtRRzZDbWVCRXdZeWEySFByTDl0NUg2d0xMVjFUZE5LZmtBaXdJbTVxdVIxRlFwV0hxSFFVSWxic3ZidnlDeXR3V0dSelZ0OHIrSkhHcU1HS1dBeGRrRmJscVpvZk8yOWJ6aUZzTlN0YVZveExMOWcybHUwbzlqV045cjJQT3pCQVpBazJlS2JTei85bnUyQzZWdTNKS0NxQUZsb3Y3enFwNUx3SUtDVStZSytEQVVCRmtydXQ4S0cwbE9IQmJEVGVzVkZQbzdCbkI1WEptbFhtYlF1NFpBNmxXdFNBQnFTUDZ4cUx5SzBZYWt0QVoyNUl4NHg2MWFFVDVJa0JCWmtkMFMwUFJxbEdNYWx0MGt5UUhDUUNCWlVXeTJyZW8yRjBIWXpiYW5HTmh2RDFBVnR4Z3FDeXJ2UDZ4dmJkcjNDTWQ5Z3lWcEJGSkdBTkJ2VnBlZDA3SkJSdTZmMjgvQWtPV05wUDd3NjlXZU9lT2pKN0pXVmVINHMxcW5oeVVkclEwaXNmYmpXUm9ZU1pqeGIxYWlVVm1RV2o0TUtVOXlxWnhjSERhYkxGQ3hwNEJwQzA2OTA5N09xS0dybUltYWQ1K1h1M25scFdiWXB6eTZ4SUtxM3dMUHJEa1Z5OGMvTW1PdmlkTU02TXBIbzdxc09PZkJBRWdjaGsyMFRhMHNYWG85WWFpTXk5cStGeVpwMm5LNFc5VDl6alFzQklCekJTWmgzYjg4MVd6NzZ6Mkx6d0ZLaWtRVUgzdzlLMDlmeXQ4QlZrekhzMTBsM29hanoxVFc1Nmh1ZStKTFQxL3NaRUlBUTNLQkxYcU0ydHVHbWw5RTBQR2tGdGtydXU4TjVydFVWSExjN0k4WVF5NkZIMUdjRGtSRVZnYzFSbkJGVDJKM1pyVXBFaHdwbmVOcEFqejN0Vk5PRjU3WllacVozUnI0WXlWTTZjenVzVm0zeERSRXRtWlJXZktxUDVScjl0R2tueVRscEVxSVpFQXM5dzdSK09lQXAyUm1TS2ROcUpCdlZxaWFyVnZjYW03MFFaMDZTMXBDYTlaVmZ1aEVVdUpDQkVQeFhkRk16MmFZbE82UXVPZXh1TFZ0cmJvVVVOMkxZemMyN1NTYTlydnZtcjJIUndWcWIyT1N2SWJSWUM4QlF5Y3QyNXd6MURXaXFYTlNNYUtwYzIwU1pQREtKSHdxS0YzTlgzMS9ZdC91YVRpR29YcFNTTnNXQ2tBekljajVOaGZBdElVcjFzSnRFYlcvM2JyaDV2N24yTElDcmY5WTJZSnpjS0pJdFdsb1hUblF6dithZS9naXd6NU5GN3JUZEVURVRBME1seEpMdmlFTVRpTkY5SVZuMWNOZWRSaSs4ZXJoanhxMFZqdGthSENnQU9RUnkwYSs1VlJpVWtOeGF2dE5VOUFDdFBDNmZad3FrMmFwWG52YXFZN051eGRIVFpUaUZTbTl5WDNKNHhCR1Q4a0MxdEdNNGY2ay91VlBEbElKQlRta2h6b2VBbkNRdVFUZUljamsvSS9uS2tNbFlCZXdRdE1jZ1FRSkV6SzJ0dzNaMnBUNkR4VHBPMnVCaXB6OWNSM0R5UmJwSWt6Yk1jQ3RBMXRzQ2liZDJRelU2UkxQYlBLUEUweW1scXF5YlpGTDgrbUs3NmRmWDkvWU1jbkRrVFcyU3RJUmgyTis3Sk9hbjJRSVJka1pNd1luSkI0a1drWEJSRVpLb2dXTzN3NW1seUFGVkdWYitFVnN4Y09aYnAzOVQrOWUrQzVuc1NldEpuU3VGdE82OXdDSUVFQUxzVnZDZVBoM1Y4Q3dQbWxsMHlMZ1V3a1BHcFIwb2dBa0N3b0lLZWp5ajFDR0gvZTljVjNOWDFsY2ZsVmIyR3RFQUVBUEdxUjVEb0xIejFqeHFlWEtwRUVwYTBQMnIvbmt2eHlFSU81TURjQlFuNEZtSzNhRkNZbVNjV3QxcjgwcUZjbWpMQ3NnaU5iS1hURXRwUjRHaWhYSkJGN0Uvc2k2VTZGYVlDWU5ST3pRK2NuamNHdStBNk51WkVwQ2FPL083NmpxZmpjdkZlQmQ4YTJKbzJJWkFrUTBCU1prTHV1MGpzUHhuU1l5Zm1PRVRKV3ZDZSt1eSs1TDVMdVNocURXWkVDRWlyM2VOV1NNaytqV3kxQ1lBQXk5WkRHcGRUbmxWNzhldGY5QlZ3blQ1clJ2WU12bG5wbTJTbzVRd1pBYlVNYkMzVlZVMlFhaTFmSi9WakdyZ2YxcW9haXM1cjdublRuS3lGSktPeUlidm5EemsvVitKZk1MNzJrS1hSZVVLK3lOZGxSSzBVNVdlY3FBNFMwR1ZXWXRxenlIMVR1T2Q0K1Nydit4MGhzR3Q4ck1zVWFXMVR3TTFXWEMrWTJ3NkJlZFdiTkI4NnN1YVVydG1QM3dMTzdCNTRiVExXcDNLVXlsNjJPQ2JJWVUxUndQN0h2em5MdjdCTDNqR09FUW9ZOFlVYVhWLzVEZlhERjMvWjgyYkJTR3ZmSXl4RlpEQlVWMmFON2J6ZEUrclRLRzk2eVVJZ0FvREFYWjZvcE1namNmai9XOGU5OGttdHVoOHdVV1lzTUhmVTB4YVRiMUNMRDFub211bk81dkdzRHk3YjNQVjVRbXdQYmhqWXVyYmhXcW5nSTBCN2RhSWlVeWwwQVlJck12TktMWlY2d3pyMXkyclFQYld3cVB0Yys3OEdoRFlWR3BTRXk5Y0dWbkdtalhyRk0raHhJSHRoNDZQZjdCMStOWmc5WklpdFQzVzNYczZ3Y3JuSTNSeFhIQTBGN3k2L3d6cTcyTDJxUHZxRnhyOXpnT2RQMkRyNTBWczJISk9MTEpSOUpkL1ltOTlxNnJkUWNtNHJQRzlaVkVRRG92UHAvUEJCZWE0aTB5dlQ4akJVYTl3QkJaMnhyMjlER05XMTNOUlNmdGFUOG1wbEZaeUJLVm4wNEM0Q2RmSk1VR1hKRHBESm12Q2wwN3ZzWDMzUEJ6SC9OaitseEZJNW94Ni9hUDdrcTZnVS9ESStnVURBVy9Cd1IxV2dIVGdOZ3RYL1JCVFAvOVVOTDc3Kzg2YitDZWxYU2lJd2tVQVJuV3NhTXY5ejJ2OU9TMmlHRDc1cEM1OTI4K081aWQzM0tqTnFKZmJMMGc4NTlUKzc3NXFidS8zdExHOGk1UUhjYWp4bzliZ2lvTUgwbzA5VWFXZWRTZ2hjMmZFYmw3bmkyWCtmZTFYVWZSY0FEa2JXeFRBOW42bVI5RVlBQVlGYnh1Y1BkQzBrb1RPK083ekJFMnFiQURnNXRrREdlZ29UT2ZYV0I1YlgrcFpnSEY0WHBiVU52RUlrOEwybDBScmZZWGdpWmh0RVVPbmNjNXcvZ3VzN2YzcmYxZ3h1NmZwOHcralhtOGFqRkhyWElyUVJkU3NDbEJOeEswS09HUEdvUnozZThtVVJaQnNENXBaZFp3c2hoS0FtTnVYc1N1dzhsZGtHQkRkc1czWlF5aGpncWtBK1BML1hNcXZUTnN5bE9CRVpBSWZlTWErZCtrNk9TTm1QNU5KSmN6d25aN2RhazdJNitKMzYvODE4ZTJQNkpsdkNyTWgvVUhtcmxaSnVkbHNobXpFU1ZiK0haZFIrZFUzSUJqRmU2WjlwbktDQTh1Q2ZjSGMrNlZhNHdVQm1xakdrY1ZXYi9nSkwvM2FXd2VjVXVQZ1hNeVFvaVFWbEJaSkZGZEtSNFpBZE9FNUJMOFMrdmZQZUMwc3RlYXZ2NXh1NC95TWFWTnAybks3Nzk0VmNHVXdkSHhaRWROUlFTaVFydjNKc1gzZlhYM2YvUkdsbHZGMTYxWXc2ZWJQa21aK3JTaW10UG1RTFVKOFpCZzhDZWEvMSt0WC94MG9wclp4YWQyUkhkWE9OZlhPU3FEYWM3WG1qOXNjSjBvTVB3eUFBd3MyaWxUeStUbVJLU0lveWtPM3ZpdTJvRHl4QlpQTnQvS040czA1eE5rU24xTkFUMFNvYUtUeXMxckxTc3VkS2ZhaGxNdDVXNFp3SkFYMkxmWUtxTjUwSmYwUkxaSWxkTnJYK3BiWW5iYS9ENTFoKzkwbjZYUncxNTFPSmNwaHFocExaRnJvZE1Ubzg1TEdFdEgyUnV5WVd2dE4rVk1ST0lYREtiaHBuYTFmOTBsVytCYmYrMWhGKzFiWE5KZmM0cVBsdm1teGE0aGhpUmFDaGU5ZjdGOXp6ZDhwMjJvUTJNcVJyeklLTGQ3d3lCdVpVZ0ViVVBiV29iMnJpczRycUxHNytnNUo5YU9Ya1FVSkNWTkNJQnZlTGNHZjkwV3VVTnVkQW5PZ0Z0TndBQnZySGgwUGFEVWRDVjRZbUlCZVl4NWh0bEN5cjJxaTBmV0Zpazg0bkN6T1NIR3NPbnJtbktXb1FJSktqR3J3RUFQL0txMWZsSzF5Ukk2SXIva3NaLzg2b2xMN1g5ekE3WmgzelJqdGJJK3NJNHNtTnpUakZMWkQxcThZMExmdlR3N3YvYVBmQ01YU0JFemh1ZCs1N1k5eldOZStlWFh1SkE0WlJubWxDNWV5RForbjg3UDMxUnd4ZXEvUXVEWlZXV01MYjFQdkp5MnkvaTJYNDd5R2F5TFFxRVJ3M1YrSmZzR1hqT3BmZ0ZFUUl6UmViZzBJYmF3RElBNklodFRtUUgzR3BRNG1CZDREUUE4R21sRmQ3NUJ5S3Y2WXFQQVVzYTRiYWhEUklIRHc2OUxvMW9RWlpFb3ZyZ0NobGtMcGVlakVabzduL3ExZlo3ZkZxWnpCMjJKMG5XVENsTTA3aFg1VG9BV3BUTldBbkx5bXJjZTlpOTFxTVdONFhPZTZQN2oyNjFTR1lOcTl5OWQvQ2xjK28vSVhFOGJVWTdvMXRVNWhiRFJyRmJxa2M0dXBLcmpEK2JmZlBpdTNmMi9YM1RvVDkyeGJaWklxdHlqM1NJNWQwN3VSQzBEZDBQRFdXNnI1Ly8veFNtMGNtZ0QrYXB3SmpDOU5PcjM3T3E5bGEvVmo2c0JoWThyS3hTS2Z2WTJCWEE4N2lEeDNJSEFPQlRtZUpSdWNaRXZsREpLR05FSGlsTTBEbE9wVm82UTFoYzRoNFhJby91THFXWGtFaXNydnZJd2VpR3RxRU5rbGl4RCtoTDdwdk85NEpjMmx6WHpmdjJJM3Urc3FQdjhWRlFxSEwzbzN1KzZsR0taaFN0ZEtCd3lzNFRTMU84WGZFZEQrNzRaTG1uU2VYdVNMb3JuRzVYbVg1WUVNeWZnUkJoZHVpOFhmM1BRSjZWNDZpMkRxMWZYZmNSQkd3SnZ3cDViekpEM2xCOGx2eGlRL0ZaKzhNdlM4Nk9JVzhKdjdhODh0MHd1aUVmSWJMWm9mTmh1TFFsTVVSVFpGNXB2MXZqN3VGWUdXUlpLeG5VcXhhVlgxa2ZXQkhRSzNUdUJVVERTaVdNZ1k3bzVwZmJmcEdmOHBOcHVFdktyOTdhODhpd080N3BBNm5XMXNqNjJhSHpBS0J0YUZNczIrTlMvSUlFQWpORXN0SzNvTUlyYXl1dzhXaEhnY0FXbEwxelFkazcyNFkyN3V4L3NpWDh5bEM2aXpNdEg4Y2pPeUNDWHkvZk8vakNTd2QvZWxIRDU0bUU4cVlpSU1yUkZHVE9LajczblBxUHk0YXdjbEdOaXNnVFJEd2ZxUS9BeDZkTzhpK3AwS2RobDUrYkNJWGtwN0ppSjRuSmVnWXpBQ0pRRU5uVU5GU1JhN2NKQk1SZ0duclQybFhlRnBSZWRpRDhHbkswNjhVelpIRmpzczY1UjZjVnlqTmZQZmRyQURBS0NobHlRdkdYM2Y5KzgrSzd5anhOeDUyK09IV2dVRWh0cXl1K2cwaHdwcm9VUHhCTnNkcU5IT1NHb2xVK3JkU3dVbks3VXJtcko3NDdtdW4yYXhWdFE1c1U3aUlnU3hoK3Jiekd2elNIZzhHek5PNlZIbUdWdWJ0aTIyUVYxVVB4blRLREV3Qk5rUTNxMWJMR0RCc3Vuc282WTlzR2txMnl6RERrQTd4ci9JdXZtL3NkcnpZaXg4NnRCQU42WmJHcjlwWDJYMXI1cWcyVHpLNXEvNkxhd05MMm9VMzVreU1DN09oOVRPTGd2dkJMbEMvaUx5dTJ6Z205QTVGTnRPOUtSa2cyQkplTks1SkdlTS9BODV0Ny90d2QzNmx4TDh2NzRpMWhlTlRRNXA2L3JxaTZxY2hWKzZaTlhCazRtalRDcFo3RzYrWjk5NFlGUDZqeUxiQ3I1UlFlYVJHaExHUVVUZCt6WTZoMXFIWGY0TE1kMGExOXlmMnhURS9hakZwazJLZzZvdUtMakdrQ1Z0Q1poUXJLRm8wQVBFTk1sYitUeFdTbTlvekFNZGV3Y1ZyNzdhQlBLeXRzcWlzL05LMk1yU1BiUzg2dVFYUnN5SXRYemJselh1bkZ5Vnk0aHMzUWExa3I4WmRkLzVZMHduWmhwWW4xR09zWWIrWlVna0lBMExoSFYzd0thcFAzakI3WG92UnBwWFdCNVlaSTVXc0ZLaWtqM0JIZDBwL2NIMDYzS1V5WExvV2F3QkszRXBESlRxV2Vobkx2YkZPa0FaRXpOWnJ0Nlk3djZJN3RpR2Y3ZVM0RWh4bFdhbWJSR1RyMzJlZ2piNnduc2RzaW82QWtFaUd5U3hxLzZOVktMR0hrS3YwQkVaQWtDdE5tZE1yamdFc3JyckVSVTVDbGNVOUxaRzAwMDIwSm96V3lYdVh1ZlBpMDZWSUNzdURnWVJKK2JHS2RMSTlhdkt6eStnOHMrZlZsczc0a3lUZjdLUmp5dEJrN0VGbjM1dmhKNUE2V05DSit2ZnpjK2srdXFMcFJzcFZBb3hGUUpxVnh4SVFwZnZoRzcvYzJkUThPNldmUGZPSGQ5VDlKVzBHVkt3cHFLbmRyM0tOenI2NEVYSXJmclJTNTFZQmJLWElyUWJjYWRDbCtuZnMwN3RXNFIyVXVSRFlLa1NnWDVBbFQ5bU9RZ25nY3VvaFJQcDFyQ3QxcWdESm1uSVlUS20yQVZ1MW5JckNiNlVBaDFYMjBVRWdNMmRWenZwNHg0NjFEcjd2elRUc0ZXUnIzRHFSYS83Ym55emN1K0ZFK2EybWN5RnZaTmVMWWIrWXR4Z2RPQVEyUDZyeUVBSE5MTHR6Vi96VG1Bck1Ja2U4UHIrbFB0dGhMblVqTUtqNGJjdUVzeEpBM0ZxL3VpRzZXekIwQzdoNTRYaFJVSVpNbmtVQXpLcWttV1JCaGpvQW1HWDZ0b3RoVlQwQ2NLV09iTHVIVVNCSVpIamduZEVHSloyWTBjMGlXeG1Lb3hMUDl1d2Vlci9UTmo2UTdaRzBGV1RxaHNYaDF5RjAvUlUrZzdSK1hDZFNuVmQ3Z1Uwdi91dnMvR0J2MkFTREFRT3JBaWNaQkJBYUlHVE9tTU8zMHFwdk9xcjAxb0ZjVVVJRTQwcUxNZGVwNmNIZjRqblhkdTNvVG9DTjNzNkdzVjFjQ0Zya1FMSk15aHBGT1pQdmxMaVRyblVFdTE0Y2hjbzRLWjVyS2RKVzdOZTUxS1Q2ZEI5eHF3S1VFenFoK3YwOHJsZTBaQlpFaHBzYmVFU2dNSnNMQlNYeGs0L2J1c3IvRmtFdDh6azNpQ1RvZkVnZ0N3WUMzUkY0dEhDNVpXczZyaHZMVG1lejRpY0ZVbThaZHRZRmxZNnNRSHlFVUNvWHAxODc3OWdQYlB0R2ZhckdidUFzeTNVclIvdkNhNTF0L2VGSEQ1OFlhTERMVjJoVFpnME92UnpQZGJpVllIMXpoVVVOdmtYb05SeS81Y3ZuSGpxWTBrV25zMXl2VFpsVFdvTlVWWDJ0a0hVUEZ4ZjNTZ2V0VlF6T0RaK1NPSndLQXB1SnpYK3Y0bFZUZmRPN2JNL0NjL0tVZ2ZMcSswQ2llaEZFbnNtZ2FvcVpRMWxWYVhIYmxDd2QvcktvdW1TeW9jYy8yM3NjT0RtM2dkaDB3UUVGV3JrWHRlSjdBZkFzNkhOc1dTanFqQlZselNpNG84OHpxUys3UEZZQUFBTUMwR1R1Uk9JZ01XZFpLQ1RJYWk4OCtwKzdqc2pPdklJc2hHMFVGV3Jra1hIeWxPM0hiYTEzUHRnNEJSOVdqRWxtbVNhYlFMVUVBMGtuUEdRS2drbmVZNExpTVlkWktwcTA0VVk5MDloT1JSY2I4MHN0OFdta3VWb0RBRWpSRk40YVNUdzRacjQ3V2tma0tKR3BzN1gxNGUrL2pxMnB2blJGY3FUQnQ3UDNuUzU0eUJNYVI3UnA0cHJudktSZjNGOEl1QVpWN1p3T0FBSXVER2tsM1BycjN0bzdvWmpuRmRjVjNkdDFIejZ6NXdHR0xDRXl5aHhFSnR4SzhmdjUzNzkvNjBZd1ZzN05OQkpsZU5iUys4N2VWdnZrTHl5NHZoRUo1ODkyeEhZL3R1NzB2MlNLRFYzMXE2WVVObjExWWR2bEpYci9yR0tYWVZUY2REQURLTGt0alRXTzNHbXdvT210cno4TjJIb2doTWdCcHFWSVlacXErK0RTL1hwR2ZQd2hBRmQ2NTVaN1pzaElNSUdSRnlrWlZSR2FZNlZuRjU4aEEvVkV6V1ZhaXROOHBaMm9zMnp1UVBsanRXMlNSd1dCRXJEVk5xaENNaStsTEtxN2UwUDJRSVZJSU1oTElOWmc2T0pBNmtHL25oS2JJQmwzVk1xcHhYSXkyNDh3Z0gybzJDaWR6eHJMTjJJK2tGRThFRGpMa2xqQ1M1bENGYjk3WnRSK2RWM3F4NURJQjJWZ3FVTVl6SDRobTcxelgvZXZtQWJKSTBSVUNNb1gwRkZOR2FBTDRNRk5SOFA4MHNTV3V5Sy9rNFhKVVMwelpRSGJLKy96NFM5Y1MyYTI5ZnpPczlCaUxEeTNLemkyNXFOaFZPMnJseXlOMzlUL2RFbjYxSzdhdHhEMXpWdWljaHFKVnBaNUdyeG9hMVl0U2tEbVlPcml0OTlHTjNiOW5qTk5JUE5VVmY2NHNKWEJEcEIvZS9hV08yQmF2V21JWHJYbXE1VHN1SmJpMDRwcWpONUNSQ2JLS1hYVlh6LzM2NzNmOEM4dFJTTGs4UDAzeFBiWC9XeFhldWFXZXhueGZIa0tBV0xidlQ3dStFTS8ydXBXZ1BEaGpKZjYyNTh0ZXJXUm04SXhUMGtDV3I3amF2N2l3YnVoUmFZSkNZVnFadDJuY1BSNEJGcFJldXEzM2taRnQxSmxNMmhOa3pncWRtemUyT09SYkQ4NEtuZE1aMnlvcndZeXNqeUFVcHM4dnZYUmNWMXZJWFQvUzFFVUFldjdBRDYrZDkrMmNGVkx3QitrdG1mcFlDUkkrcld4KzZhV3ZkejJRTDB0QmlKemw2KzdJYWpSTEtxNXlLWUV4SlVVSUFETlcvTkU5dDlYNEZ6Y1duMTNxYVp5SXdOL2E4M0Ivc2tYbHJvTFVNWklGUFk4dkRnNVRnVnJaMmZVZk83M3FKb1c1cEpxRG94RXc1MCtJR2VJSGIvVDh6NmJlU01KZ091ZDh1TDBERVFKU1ZtZ1djVHl5NlRVYUxrZjVTU3dDa3dpbWNsSUNOVmRQZkVRM1lWbnc3dm5XSHlXTXNETFNnNEhJMG1hMDJGMWY3S3ExSjZYTm1nMmtXcnRpMi8xNk9RQU1wQTcydE85WjMvbGJqMXJpMThxOGFraFhmQXhWSWl0dFJhT1pua2k2TTJQR2RNVmZ1S2N4VkpKR2VHSFo1U0gzREl0TWpzcit3VmM2WTF0OVdxa2xESHNyY25IZjYxMFBMQ3AvMTdFVXpwSk04NHpnNlJjM2ZQN3YrNzl1MThXVXRSZ3ladnp4ZlhlOGI5RmRrbmVYRDd1OTk5R2hkS2RQTDdOdlJtRzZLZEt2ZC81T1dtMm5uc2pOcTlxL01PU3FpMlM2RkR3YU5NU2NFbFJUNFowNzFqTWdGWWk2NElwU1QyTTQxYVlNbCtFaUFMRElkS3RGalVXckNyOG8wVzEyNkx5MUhiOGFSVTNLa0pRcTM4SXEzNEpSSVNueTl4cmZFcThha3ZxYWZMTXE5M1RFdHZ4bTY0Zm1sMTVTNDEvaTA4b1VwZ215VEpISm1QSGU1TjVDajhUaG5oUUFZRVhWamR0Ni8xYWdTQlpnRlFtVmFZdktyaGhyaEVuN0pwTHUzRFB3L082QjUxNXAvMld4dTc3Q095ZmtucEhyVXd4b2lGUTBjNmdqdXFWMWFEMGYxUXNJc01hLzVEamlJQUpEeExRWlU1aDJXdFVOcTJzL0hOQXJEMHNGM3I5cjhNNTEzWHY2VXFCenhhM0lqaXlqSGp4ajZVSXdob0ttejZTeUJKbGlTbE1UQUJTT0FPTVU2MFJBV1UyRWo4RkJqb295Qm4wa3piRjM0SVcwR1pPQW9qSmRobWlseldqU0dNemwyQk1CSWdKanFDaE1jK2MzVEhzOW1DTHQxVUxuei9nbnlxY3k5eWYyUVVIUmpwd3V3TlNFMFovSURnVDB5bU5SVWlRVW5sWjFRM2Q4NTVhZXY5cDFwYVJPMmg1OVkwM2JMOTR4ODFQMk11aFB0akNtRnQ2TTdJUVhTWGRad3VCTVBWemQwN2NrRWdxeUZPWmFXSGI1OHdkL3JLcHVPdkxNWlVSdW1LbjVKUmVQYTZoQ3JybUtOcmZrb3BmYmZpNExtdHJ6TFd2R0c0ck9LbkxWRkpicGxSMkx5ajF6eWoxekRpVjJGWEJrdVpDVStXV1hqUTFKa1RhNFZ5dFpVSHJadXM3ZjJQdVpaUEVTMmY1WDIrOWx5RG5UN0E1TkZwa0VwT2ZpcUdrS1Q4cUlSTWc5WTI3SlJWdDcvaWJOL01LL1pzMWtUV0JKbFg4UmpRa2JsSHB4YjJJUElQclVrQ215L2NtV252aXVYUHZ2ZkdWYVdSTmJ0aXEycDNIV1NwWjVtbVlVcmFUajA3ODRSd1ZhWk13cVhuMU8zY2VyL1lzUFN3VyszQm4vNnRxdUYxcWpvRERWbzhnSWkvSE9UU2FwSnFrNlN4T3g2VW9JdFNnUHVGTTRuOG9RSmxpN01pNEVDL0lXSVZlUGZXeXdDREZrcHNoczczdGM1VzRaMlVOQWNqWXpWRGlxaFkyUWJLN1FuaUtTRU1sYUNZYjg2amxmSzVMS0pqQUE0QVVrNHdnSUF6N1JuNDdVUUNZUWx6UitzVHUrY3pEVldoalo0RkdMMTNYK3BxRjQxWXpnNlpZd09MSTgwbzFXcXpuanA3RExXTklDeXl0djJOenoxNlF4eUZHYllqOXJXNDB3UmNhdlY2eW91b2ttS1BncUZiMkZaZTk4dmV0M1k0dXQ1bUtoQyt3UDJ6UnVDcDNYRWRzaVRlTzhIbUQ0dExKNUpSZkR1SzF2RUFsb2RkMUhXeUt2RHFiYTNFcFFScW9SQ1k2cVI4M1Yxb2RjQ1FsUTBDV3BwN0U2eE9TeXN2cm01djZueG43UkltTngrWlh5bk9ONm9uc1RlMlVyT3dDUXlzUzQ3cWJDT3Q0V1pRVlpGelo4Vm1VdUlqSE5FNUVoSjdLU1JsaW1QZCs0NE1mVi9zV1N0bVRENWRGejBJTUFDc1A5UTVrUFB0VjYzaC8zdk5BV1ZWd0tWOUFVazhTd2tDRVVReWdBTkkxQmFLWUFhNHI2SlpIS3BrRjVrVGVmc1JJNjk1c2ltelNIaUt4YzUwTmttSDl0ZHVHbWZDL0s0UmhKaTh5RU1SQjBWZCswOEtjTlJhc0ttK25VQlU1aitSUjBtUS9JbVpLMUVtV2VXVjYxZUNSSGlhUGE3STJLWUo5UUx5YlF1T2VLMlYrVjgxSldwV0RJSmRRKzAvTC9USkdSYWtWOWNJVWxqUHk5eVp0Uk0xYWkycitZSVJjMG1aOStiQmZBaVR4UjR6ekY0VjduZUY5aDQyM3FSM3ptL0JDUld3MWUzUEQ1ckpVNm90NSs4dGlzbGJ5azRZdGVyVVR5UVJONXJrTHVHVE9DS3cwcnpaa21lNnNUa0VjdG5oVTZHOGJweDRRQU1MdmtIWkpha1krak1DMHJVck5ENS91MFVydkw4RmdJODZoRjE4LzdYc2hkSHpmNjVYS1dLNXBJMkMxTmhzTUxpUXFyRXdLUUlUS1R4QW5aV1hGelNpNlVoUklLeVlFaVY4M2Nrb3ZHOVpBd1pBUWlYeThIR1hKWnNZbElpSUlmSWdFRTl2eEptUkVBdkhyTzF4cUxWOHVGbzB6akJnaEVTU1BpMDBwWDEzMzA5S3FiVk83T1U0RnNsUElsKzU1R3M5Yi92Tkg3L1UyOTBhVEJYSnlCTW5rUW55eHhid3JWSkFXblNST1VaekdKckNtZmIxcHdVTTR0cnhwNi8rSzc5NFhYN09oN3JDTzZPWjd0RnlRWUtwd3BjbG5tc1VPT2k3RElzb1FoaEFHSVJYck5tVFczckt5KzJlNG9acytuMnNEUzVaVTNyT3Y4alZzTk1sU0FLR25FWE54Ly9zeC9rZW9wRERmSk5aTkdtT1dyZ3pEa0NTT2N0WkpUOUpsVStSYWVVL2V4Si9kL3M3QUtKa1BsNE5ENnAxcStmWG5UVndqRS9KSkxtMHVlMnRYL2pGc05TcjQ0bGcyWGVocFcxMzZFNERETzY0d1pTeHBoazdMU2FTaklwSkVwUXpiVG1qUWlacDY5a21XYzgvMHpKM3J2bERRaWhwV1VRUlg1cjZUR0tQaG0wZ2piQkora2V1MTZvbE13OTZ3NUpSZThZK2Fubmovd0E0OWFQSlVLUGZLWWxCRzV0UEhmNTVWZVBIbkNvclFLbDFaY3M3M3ZNUUdtMVA3U1puUkI2YVZCdlhwc1pKSXN6VkxtYVN6enpHb0p2eWI3M3NrdU44c3FyNXZFR3BMV2NhbW40ZjJMNzEzVDlvdWQvVThtamJDc3JzbFFZWkRMZjVWVitBa0tteXdUUTlYRnZTV2VtYnJpTyt4eVhGVjc2Lzd3R2pIQ3hrK3NxTHBSZGlVZWJ5aFFFdFlaS3hiTDlKZ2lhMi9KbUw4cklCQWdCRmtXR1VUQ3BRVG1sMTV5VHQzSFN6Mno3SVdqVE1lU3psR0JuS25MSzkrOXV1N0RzdDZoekc2WmlBcThyM25nem5XSDl2Y25RVmR5Vk9CVW9BM0pKTVVRR3VKMFppV1lPU0lTcDQ2RE5FMnNGaUtiSFRwdmR1aThSTGEvTTdhdEk3YWxMN0Z2S05PZE1vZE1LMjJTYVNNVVo1cEhDZnExOG5MdjdCbkJsVE9MenBTOVpzYjJ0U0dnUzJmOWU1R3JlbHZ2bzBsamtLRmE3ejM5dkJuL21HditrRU5NQklBaVYvVVZzMitYVGtiYkhLdnd6WUVwdEFhVnpmYk9yTG5GcTRZc01qQ2ZzWlN2Z3Njc2tWV1l4cGw2N2J4dnJXbTdhOC9BQzJrcnBqSjlUc2tGNzVqeHo1S214QW1USFJFQVZ0VitaSEhaVll3cHVlQndFZ3JUTk9hMkQ1RC91cFhnNVUzL2xXY2tDWUNaSWxNWFhEN3VVOGl2dUJUL081ditVd2hMdHJ1U1g2a05MSVhoT0JJRWdHSlg3Wld6NzJCbzF5aEVTeGd5KzNNcVJyM0UvZFcxSDFhWTlrTHJqMldVSDR3WDJHRUh2bVhNT0VQbDhsbGZPYTNxM1lmTjJwWi9iU2hlZGYyODc1b2lJK056VFN0ZEcxaGU0SUVZNTc0dWF2amNndElkQ25jQmtTRFRyUmJKSnBhVGJFdVNEUEdvUlpmTyt2Y3phei9RRW42MU03WjFNTldXTk1LR1NNbTRlZ2FjTTFWaHVzWjlYclU0b0ZlVnVHZUUzRE9LWGJVQnZVckcrVTg0YmdnRTRGVkRLbk5sekxnZDlPZFMvRXNxcnAzazNqZ3FGelY4N3R6NlQzYkZ0N2NQYmVwSjdJbGxlakpXVERicUFpQ0dpc3BjYnFXbzJGMVg3Vi9VVUhTV0xEQlJ1SENRaUI3WjgrWHR2WSs1UjdaME9WSXFzTEhvckhQcVB5NlRHU1VWQ0NNYVdkbFVJRHpmRWJ0dGJmZkxCNk9nTUZWbGxqZ3lDNWNBdjdEd1d6TzhyUm1oSDdWV0tNaTZaY212S3J4ekxCSWMyZjZoeklMZk5XY3RZcE9la1NPYWFmTzYrYUUvdjZ0Umh2aU1jTjZiOFhzMjM1UTBJbVA5SkJrejl1NEZQMmdxSHI4OTd0aVd4S1pJcDR5aHRCVXpyTFFnQ3hFVjFEVEY1MWFDaFgyMnhvN3oyTWRNR0FNS2FtNjFDTWIwcGpsUmt0c3dUSkZKR1JHTmUzUUozNmQwOE9Dbzk0dklPcUp2dkhqd3ArM1J6VElpbmFNcXVRTEsreFpNa1ViQXVzQnA3NWo1cVJyL2twTXpvbWlzaFplMWtvWklTZWhnd0JsVEZLYkxhakZIdUNSTmhzcnpyVDk2cmVOZTZUWmt5Rk5tZEg3cHBkZk8vZWJrb3pIcXJ6SmsyQlNaSERvalY1bGI0NTVDQXlMUEd1WGs2UFZCT3lxdzNEdDdkZTFIRnBTOU03ZWtFU2VLQ3R3VHlkeTVydnYrWFFNZ1FIRXJkQ1JSZS9hZVFhUmtMUTF6Nitqb2RjTENLNXN5cis3d3BmT256UzRlVFNrVThMaUlUR0V1dis3eVE4VkU2R1p6WjVOalBVT2VLOTR6WVFXejRRYU1ZM1dUcVc4cWsyZ3JrSGNqS2t6MzU5T0hKa3FZR1R1L3g2cjk0ejcxMkh1WUpJRm40cS9nR0lwd3ZQRTUzSm5ISmI5cUE4dHZYdnpML2VFMXpmMVBkOGEyeGpKOXBwV1FQSnJLWEFHdHZOcS9lSDdwcFUzRFFYOUgvd3JHZTVERERPd1VVd0J5SmRNTGtqYzA3aW1FbUVLc3lmVUpzUDgzM0dPbndKbWJteEFXUjdVcnRtMWo5ME11SlpBdktFME1sWlhWNzUzYUNzcjFqWkxQcm5PdlBxYndWNDVrSDI5d2xLTmN0emtxc0dSVjNZZFByM3F2ZGpncU1KS3h2cmVwNXdlYmUrTkprN2s0QTdURTBVSVlzYXpRRWVrWTdWSy94aWlIMFdBS0VnUU1DbnBHakloMnpnOFdRMkxvVW83TExsMFlFSjhQZEtTeE1EeFJ5OFFKWU1odUlzOG1Na0NQdlY3V0ZNNlF5MjJpQXR5ZjRrekRhYnVIby9zS1RrczlNUW1GaUd4VzhUbXppczh4UkRxY2JvK211MDJSMGJqWHI1Y1g2VFZxM3N0NUZKcmdrZDdrMUFkMnFuTjF4Ri9sWkdVNHhTbUh5SUgxSnZiOGRmZVhKRzlESktReU9LZmtnaW1yeGppeWRNQ0l1OHJkMHNSUHJSejU4N08wR2VPb0xxdTgvdXphandSZDFiYnFNUzRWU0FEMzdoeTRjMTEzNjBCNk9DcndxTXVmSUFHeGpOQ1BKV0lHQVN5aVo5cWoxODRDalhHTEtHc1IyUTVqbTRnZkUwbGpNSVNra1RaRjdvODQzdlRLeFFiUnFBK1B1RGcvak5jZTVTZ0c3Q1F5cXZCdFlRWlBydldUQUFDVnVjbzlzOHM5czhlbFI5NXE0VVJUZmEzU2dodE1IZHcxOEd4OTREUy9YcUZ4dHlteTBjeWgvWU5yM2pqMHA2eVZVUEpGR0tVQmNVN2R4MC9NWkpzNkRxSXN5Mk5TdHFIb3JIUHFQaUZKWlVsUmpXem1Ba0tRelB0OXRqMzIxYlZkcjdiRkRoTVZlSVJQbUxGMFBLWjBKZEE1KytpemJUL2VYUEtOczB2T3JQUXRMbkd0Zjg4OFFXQVFtSUlNK1dQbGZza0tNbVM0RVZFaVl5MHQ5d0NNdTlsUnhveG56QmhIdFRCWURKR256Wmc0L2oyQVRrMXlEVUFTeUpQVStKSHNNK0tJWTJUVmpWRWZUa1ZrMEFLYjJHVXc3dVdPQ0ExSE52L042ekxIR2Y2a2FvS0E3RTNhanFRNysrRFFoci92KzNwQXIxQ1ptek5Oa0preDQ0Wkk2OXhyZ3lCbmFqelRkMDc5eHl1OGM2YTNOL2N4NGFCTkJaWjVtbGJYZldSaDJlVVRVb0dDWkpEVnJuRDZ2OWQxUDdSckVPZ29xY0NKaHhNemxuN3Nxb1ZQNWM4ZGlKN2QxZi9oQldWZk9iTnlaWVgzQ0MyUjBhYUF5dDNYenYxMllabTJRZzY0eXIvb2lFeENSK3lSUFN6YzRIaEozMnhpdzJ4eU9ickxIVEVlSG5ORlNybWVwbjRqYkx5U2FDZEdDcGYrb1hpelJ5MVdtY3VrckdHbUVWQmhtc3BkSXQrWWlhT2FOTUl6aWxhZVhmY3hJc0ZPaUJXaFRKRUs5R29sWjlWK2FHWDFlelhaSVdnOEtwQWpjb2FER2V1N0czdCt2TGsza1RLWmkrT3hVSUVUU0VhNGp2MGtSSUs3R0NEZXZibjNqM3ZEbnoydC9OUEx5b01hTndVSkFJN2pNUjgyMTRYanpqTmxadEVaaHlVV0hHaWJ1aVlJQUVNWmEydGZrbk4yUm9WbnJJZEtFREhFL1VPWm4yenFtVkhzK3N5eWNzcng2N2krSi9IZ3R2N1RhdjIzekF2Snc2WnlVVVBRdXA2a3NNVFNjazlBNDZPUVE1NW4zMURtcHdXWGU3UGU2TlFSVU43a3pzRjBmOXlvTDlKbkJyUVRmTnY1VytVQTFKdllLK1BuRVZpQmg5REtzNVlzWVF5VWUrZGVPL2RiK2FUcEUzR25iSklWeTVCbnpJUWhNc3Nxci8zZ2tsK2ZYZmRSdTY1M0lRZ0tBb3VBSXdxQXU3YjNuL2E3NW0rOTJwV3dTSEVyTXFSeTJtODZiZW5IZmhLVEZNdGlCS0M1ZWRnd3YvcHkyNnJmNzN4d2Q3L0NVTXR0bmVOMDhsUW1MVVpkbUFFeTZnZmU5a1dZajFRc1FRand6UTJIem4rZytad0htcDg0R0pVRzZWaXNQQkROL21CTjUxMDcrZ3UxanpmNlVqOTRzZVAvOWtWZ2FrTXZzNWdlT1RCMDdnUE41ei9RL0oyTlBUaTF5NzFac2p1U2JvMW1wL0owY2czKzJ5dGQ1LzlxKzgrMzk4R1k1enJlbTFsckxMc3JuQUtBd1ZSN2IzS3Z3alJFWk1qeVA3azBqNnlWVEJxRFRhSHozcnZvWno2dGpFQ2NNTDFCbVpnS1RKc2lNN1BvakhQcVAxRVhXRDRSRldoSEJUN1ZGcjN0dGU2MUhkTkxCVTZnRDFyVG9BOEd0Y2lBa2pRQXM2WUtwSURLbW52Rit4N3UvZC9HeUoycks4K3I5c20xd1k5RUw4YzNqWHM1QlpWQmhXSENFTC9iR3dhWEFxYTRlK2ZBMVEzQmNkZUZ4bER4cU1YNmlNbnNWbER4cWtGdHFvNVVHUXR6OTg0QllBQ3FjditlOEpkWFZyb1ZObFloR2ZkeUozSmtFTUFRZFBydmQxL1RFTHovMHBuMkdweGNYQW95aldsdnhneTk4cEg5SGdYVzN6Zy9LOUt5QmsvS0hDcE1zME5rR3ZkVyt4WXRxN3grY2ZtVmNNSXJsaXZqVUlGa0pvMmhVcytzMWJVZlhsUit4VVJVb0Vta0lDb01kd3ltLzN0dDkvL3R5VkdCWWhxcHdBazAxWXpRaVk3cGRRcGlIMnE2SjJXNms2WTNidnBpUmlCcUJHSm1VY0x3djl3OTkvdy94RCt3b09qTFoxVE5MdEp0azkvQnBoT3NEQ29NLzk0VzdleEpuamU3dUNPZWZYSi9wRFdhblJuUUJJMDJDV2s0STJnRUoyV0txYmFORmdUU3ZuNm1aYWlwMUZQcFVkYnNpenpWRnJ1Nk1UZ1daUW92UndVZEhkakUyNkQwOXNnRFVUcGhjSng3a0hiM3FKTllSRVJnNzhjeVVLRXZaY1pUcHM0WjVlcnlIMTV4SW9JcHRrRXB2RnNBR0tzS1NBVkkzdW9rSXlEdkttdFJlOXhZVnVvbWdBclBuRnVYUFRpUWFoMUl0Z3hsdWpOV0hBRTA3dk5wbGFXZVdhV2VSbzR5Mkc0Y0p0M0t1OHRHRE9ZRTNxcFJ4N0REc2JGS1hnSGtERG1SU0JsREhyWDR6Qm4vdkxMNmZUcjM1dnRtakVNRktvajlhZk03RzNwK3NxVXZsVGE1aThOeG9BTEhmVTBaeTNYc1JiZFVOSFF0RTlJSEdRb0dBcEVJVU1OczFQeFM4MEQ1YjdiMS9tVi81RFBMS3o2M3ZGeTJLaFlPR3A1d1J1bWVuUU5naXM4dkwzK2xPLzZkWjlzZjJEUDRuNmRYVHAzc081SjlrUmppNy9hRXpXam1wak9yVGl0enI5azFlRS96d0RXTndVa3VKUkdaalhSU2o0WENISFUrTW5KODdPWTZrV05uMUJkbDc4TytsSWxaUytPSTB4M1lQKzdkam5vdTIxTmtFWEFFWllJUklBSkVHTXBhc2JTcE1ydGtQQ3Z6TkpaNUdpZTZBWTRvWGVtakJvUG5HbGZrQ3BYYXQ1ZVBrQjE5dDVNL3dqZzRLTWhJR21FQnhGRlpYSEgxMlhVZktYYlZ3Y2krR1lYTUMwZTBpTzdhMXYrTjF3OTFoRFBneWtVRm5pZ0tqREtXVHNjY2pFYUFKaW5TNVdOL29yT01LUkNBTkk4U004V2RhenJ2Yng3NDhwbFZ0eTRveWMvYXdzTFhJN1pYR1FMcWVFS21BNVdBSWU2TlpKNDVNRlJVNW5sbmZhRFVwWHpIM1hYZnJzRXZMSzlRT1U0dmVVNEFuR0hHb3Z0MkRZSmJ2Yll4dUNEa0NwUzRuend3MURLVWFRenE0eTRoK1dIVUVIL2JIMm1OWml1OXlzWDFnWm4rMGVxcUlPQ0lRMW5yeFk3WXpuQ0dpT1lYdTg2djlSZnIzRDVTNHNXdWNIcmJvY1RzTXMreVVqY1Z6TzluMjJPRFNlT0NHWUZTbDBMNUhXTG5ZSW9zeWxvVXkxcW1JSlV6N3pUQklVYzBCSzNwaW0vdVN5Vk1NYmRJdjN4bTBLY3l1NTQ5QWd5a3plY09ScGRYZXB1QyttREdldnpBVUdzMFcrNVJMcW9QekNwUTJPVWo3QTZuS1dzUlVTeHJDUUpFOEtxSStYWEVFUUJ3VTI5eWZVK3lMMldWdVpRektyMm5sWHRnakpMN1dHdFU0M2hKblI4QW5tdVByZTlKcWd4V1ZualBxL0VWSGl5SEtHWFJNd2VqMndkVEhIRjVtZnVpK29CTW1aMHNqbnAxM1VjOWFna0N6aTI5YUJJcU1COFZDRThjak43Mld0ZnJuWEZRanpzVk9ENE9DczBpZml4SmRmbHRUUllSSVJzSEdRcmJMbVBJdUVjNUVNMSs1SWtEdjl6ZWY4ZXFtZ3RyZlF3TG93OUdnSjZEZjlPcm5kMi9lOUNJWlc5WVhLWnhQTDNDczZqR3Y3MDk5bnhuN05MNndQVHE1dEx5ZmFZOTJ0SWRYejRqc0t6VXJUQzhycW40dm5WZEQrd0pmM25sZUJxb0lML0duMnFMdmZ2Ui9iR0VBVVJnVXFCSS84bEY5YmZNRGRsQUlIKzVmMC80MzE1czcrNVBBV2VBQUtZb0wzRi84OXphRDgvUE9iSXRJZ1h4RC9zaXR6MnkveE1YMVAzdkJmWHlFN2x1UC9WU1IzUHIwQXNmV25SK2pROEFYdXhJWFArM2ZVT0MwSy9kMnp4d2IvTUFXRlRpVmZmZHNrQWFMa2M5THRMQ2ZiSXQrdmtYTzNaM3g0RXphUURQcWZiOThjcFppMHRjZG5KRWN6aDk0ME83UG5WQi9lVXpBdGM5dkMrVHNTUlo0QTFvUDdxby9zUHpTMHhCQ3NPOWtmUTVmOXpUbDdiUXBUemZHUS84WXFzRXgrYWI1ODh0ZHNrWXU3NlUrWS9QSGZ4VDh5Q1lGaWdNVEFLTzE4d1AvZUxDR1JVZXBYQS91UFhaZzNGRGJIN1B2RnVlUExDK05Rb013UlNnc3Zjc0x2djF4VE5VSmt1ZEFVUFkycDk2N3hNSGRuYkU3QUdmVyszNzlXVXp6NnowVHFRVktnQlE1bW02cFBHTCtiRVlUUVhhemhET2NOdEE2dmExM1gvZUV3WThJVlRnT0s5S2x1Ylh4V0ZLSWt5UG1tQUs0Z295bGIvV252NWYxKzA5a1M1QmZvVkpHa0ZoS0NPRk9FTkZZYW9wTWd2TDNqV3IrQnluby9teGEyZHBTL3gyOXlDNGxBL09DMG5YeEMxemkvLzlRT1RlbllPWDFRZW1tWEJHQUlCN213ZkJGQitZRzVJVzN3Zm5GZCszdWZlKzNZTmZQSzFDR3hraUlJaEFaVnQ2a3pjODN2S1o1ZVgvTUx2WUVIVGZyc0dmYkRqMG9TZGJsNWE0bDVTNmJjajQ0NzdJTFEvdjA5ekt0eStiZVVsZGdDRTgxeEg3cjFlNlB2TElmcDNoelhPTGJYTE5yU0IzSzE1MTlNd0phcHk3RlZ2Ym14RlFQN09pWW4xZjh2RmQ0VFBxL2RjMEJyTVcrVFV1MHozeDZQY2VZQWhkY2VQS3YrelRWZmF0UzJkZVdoY0FnSjl0Ni92bCtrTWZldWJnMmh2bUtIbVZnUUh5b091UGU4Ty8zTjcvK1JVVk44d05DWUlIZGc5KzcvVkRIMzNxNFBKU3o3SXl0eUFxY1NuL3VyUjhaemo5NFBiK3BqTFBCK2VGWlB1TlVyY2lJOGhUcHJqNnNaYTF1d2N2WGxqNitlWGw5WDZ0TTJIOFlIUHZ3MXY3T3BQbUM5ZlBkdlBoaDZwd0s3Rk01b3lIZHAxZTdubjI1dmtWSG5WamIvTGZYKzE4YUZQUDdDTDlqak9yVEVFTU1XUFJ6VThmM05rVi84dzV0UitZRjBLRTV6dGlQOW5RY3locElvQ1lRQ2xVWUdSRzlQaFVJTVBlbFBudERZZCt0clV2bmJHNHp1RUV1dDdIcnBTamFsRnk5UE9EaUxpbTFIc1A5U2QzSkUwM0F5dWZjRWUyYmN5UUo3S0RaWjdaczRyUEdkWDcxWkdqME02ZWJvc2RPSlJZVWg4NHE5SWpsK2lOVGNXM0Jic2ZiWW0weDdOMVBtMXl1dWVJM2k5SGJJMW1IMitKZUlwYzcyNHFscHJST2RXKytkWGU1czc0cysyeHkyY0dyTHd4WkdObndyRCtldFVzRzVSUEwvZUUwK2J2TnZUOGVHdmYzUmZXQ3lMT01HR0l6NjdwUUlRSDM5VndmV09SUEhKcHFYdDJrWDdObi9aKy9wV09LMmNHQWpvM1NmYlNBa3ZRMkZVbGN6NHBEOEVOQWYycloxYmQyenp3Mk9iZXM2dDgvM2w2NVhRUnNnUlE3OWNldlc3MnZKQStLNUFMVGJ2N3d2bzEzZkZOSGJITmZhbVZGUjRoZ0NNSUlndXBQMm4rK2NyR0t4dHlMWmxPSzZ2cFM1dS9XWC9vcDl2NmZubGh2VVZRNGxMK2EyWGxpNTN4QnpiMnppMTIvZGZLNFZ1VkN1TzlPL3ZYN2dtZk42L2t5V3VhNU9ndUNMa3VxZk5mWUlvWG1nZnUydDcvMldYbFp0NVB4UkRUY2VQbUZSVy92S2hlbm1SaHlGWGlVcTc1ODU2ZmIrdi8zTEx5b000UllGYzR2YjBydm1wVzBmZlByWkdITFN0MWYzWlplU0hKT003akF3QUNHMXVJV0ZCdWloaEVQOW5TdC94M3pmK3o3bENhUUhFcDhrOXZtaUNaUWpXRnZUbWRrTVVKd2dLdU1JL08zSnJpMVJXdnJ2aDB4YThyZnJjU2xEOGV0VWd2S0lybHlMRm9aL2MwRDRBaGJwa1RZb0NtSUZQUXpJQjI4WXhBTXBKK2FFOFlZTnJpVXVWNUh0d2JUa2N5bHpjRWEzMnFUS3hVR040OHV4aXkxcjI3QmtZbFlqQkVNTVh5Q3M5bDlRRlpvU05ya1NDNGRVRUpxdXlWN29Rc0w0SUFMM1hGTzNxVFMrdjgxemNXbVlJc0FvdkFFSFRsek9EeU9uOVBYK3E1emhnQ1dFZnlLSVlnVTFBc0t3QXhhUXBUVU5vVTAyS1d5VWU4WW1aZ1ZrRFBGRGphejZqd1lzWnFpV1pnT0lrRndSQ0x5ejFYTmdRbGRtY0ZDWUlQelF1Qnh0WjB4U1Y0eVZzTloweEF5QW95QldVdGtuR2FjbE41WUUrWWNmejBzaktHa0xHRUlNaFlBZ0ErdmJRTU9YdHdUNWdLa0VzUUFjZFBMeXNqZ0t3UUZvRXA2SjB6L0EzbG52NUkrbzIrcER4T1FRU0dQZkhzdnFHTURXVVdIV2E2c0VrZFlmRG9nYUd6SHRyOXFhY1BkaVVOMWFPd04xTU5ITllIalh4SmFqb2hwQndCQWdnRkRTSWlGTExxdC8xVEVDd3RwcVUyeWR2Y1E4SVJEMFF6ZjI4WktpcDEzN3FnQkJFMGpsSWorTlNTTXFieSszWU55cmhPbW9ZM0M1eWhJZWkrWFFOTVZ6NjFwQXdBRkliU0QvdVJoU1gra092eC9VTUhZMW1PT0dyaTV4UUZoZ3h6TGEzcmZCcTRsTzZFRWNsWVVydlowcDlDUTZ3bzgxQk9HUUdlTHhXN3N0eURwdGpTbjg0eGMwZUNWbllIYlhscCtUTmRwSVFFUUowakF2U2xqTlpZTm1rSVFqQnBuQzFrZUFRUUdjSU12OFpjU2xmQ0NHZHlkY0FrZVdUZnRuMnJDRENVdGZaRU11UldGb1ZjQktBeXhoQlV4Z2hnVWNnTkhuVnZKQk5PV3pqUzdrc1lRcVphY2dSWnkycE9VRWRESEl4bDVTWXhMK1I2VjFOUlMyZDh4WU83L3VXRjltZmFvbGtoRHNzbUsrUFNwUXhoUzMvcXR0ZTZIdDRYQVFURjh5WlFnWWZCUWFIaWljelFRR0o0bU9kSGdHTnBpZW1JN1NINXphNXdKbVdpb3IzemIvc0tJU0lyU0xpVUhUM0pGenJqRjlYNWoxMGxsTmJ1cysyeDNiMHBjUEZQdjlSUjZIUkZoQ3hnSnBYOTNlNWN2TTZvMVRTS290WVlJZ09EaG5zZlJyTVdBUVMxMFNsSUNCRFVPQkZFTXlkUjlRM0taM1AvZVYva3Z1YUJ0VDNKZ2JScEVYSEdRT1BqS2tDajRGZFhtTW94WTFGbWNoV1hBQkNTcGtnWVFsR1lWK1dGbmRVUndLc3lUY0dFS1JLbUZRSmV5T21OakU4a0FuUnpSZ1JKMDQ1aGhBY3ZtL25mUmZwdm13ZC8rbHJYVDlkMU4xVjRQck9pOHA4WGwwN0NwU2hqeVFpTytLdm1nVTg4ZGRDdzZNMm1Bc2RUelpBczRvWlFwN2MwLzJIWUV4QWNyY1BSME1oUmNiRHNHTFd6akVXLzNUMElLcXZ5S0wxSjAzN0hCS0FnMXZqVXpvSFVQVHNITHE2YkJncENScGpkczNNQUxGRmJwRWV6bGxrUW9JK0ExUjdsUU5xOGIxZjRpNmRWS0F3TG83SkhoWWtSUU55d2hFbCtOL1BtbzB4a0xFdkNHTDErQ0NCdUNFVHdxdnp3OVBTSkdmeDhlUFpOVDdROHZ6ZXlxTmIvc1VVbGkwdmNOVjcxbXh0N0h0OHh3TWRBeU5qNDdhUWhzaVlGZGU1UkRxK2Z1amx6S3hoT2k5U1lucmtwVXhnVytUUW0vU1NqT29VWGJDZUlBREhEUWdTL2x2T29JRUJBNDk4N3QvYkxaMVM5MUJuN3c5N0lBODBELy9KNEMwZjQ1S0xTaVhJaXh1U1RBQkxCRHpmM0daYlEzVXJXT3VteVloSElJcDRWT2g1Skk4UmpCRitHRWdjUGMyZXlBNE1qUjZtZEVYSEU1enBpKzNzUzlhV2VMZStkN3gvalBIMjlOM25XZzgyUEhSanFTaGpWWHRVUXhJL1dJcFEyZUVjOCswVHJFTmY0bzFmTldsbzZ1dDlqSkdNdGZLQjVUMC9paGM3NHhYVitJUUR5d0tVZ0lvQkp4QkZOSVRUT2RnNm1NV1hPcnZYN1ZHWUlVaGt1Q0xsSVlXOE1wREIvUlZ2dDJqeVFJczRXbHJqc2RTNVBLTTF0UVRJVWgxU0drOGNGeXV4K25ISWdrVXl6R1dYYnlhOXl3SytzN1g1KzUrQ2RsODM4Y29GUFkrYWVNRmpqdVA3a0RVc3kxQlNrY213T3B5RnB6Q3IzRkx1VXNYN1ovS1BsT0kyZ3podUQrc2J3ME81SXBxbElOd1dwREUwaUZYQlBKRU5KczZIVUgzS05qZ1JTRUdYelJyazAweFp0SDB5VGk4OHZkc2tIa2I1TFExQ3h6cTlwTExxbXNlaWlldi9ISG0xNWNFLzRrNHRLSndydlphUFZWWVNFS1E0bERhWnlRNXlNcFFGeXBmbUZ5dURFT1dZUkJFTnJrbVMrZk50QUJ3ZVBaWkFCQVg3VlBBQlpjZFBzWXIvS1JpMVhRYkN5M0hOV3JUOFdUdjloYnhqZ21QeDEwcXgrYUc4NEVjbWNXK2RmV3VvZWRUWkxVSkhPYjVoVmhCbnozdWFCd21ZMGdCRE9tRFlXYUp3QndNKzM5NU9nYXhxRDlobmVVZU12TFhGdGFvODkxeEdUcEI1RFVCbXU2WXF2YjRzV0Zic3VxdlZEM2hWUTYxTkpZUnY3a2d4QjQ0Z0lLc09XYUxZbGtnYk9ScEVBbEMrZnpoQjBqbE9OcGlUd3FreGg2RkxZeU5JaEtBTWsxL1lrRksvNm9ma2xBR0RyUUMzUkRQQXhiQ3ppVU1hVU40OEFrbEg5MmJZK3N1aWF4aURtU3pSQ2djN0lFQlFHQ2tQTUY5RzRmbFlSR2VMbjIvcHlaMERRR0NMQ3o3ZjFrMkZkMzFqRWNEaEZUV2FUUkRJV1IxUVpjZ1NPK0p0ZGcxMTlxUVVWM3FXbGJzcFhqWlNjc3FRTEFlQWROVDVFMUNmZE1FZTE5UU5CNEZaWWhVY1ZHVXRsSjJzZUdiR3NwUVBTQ2NGcEFrS09naCtlSDh6WnhVN1F6RkZyWjEwSjQ4bldLUGVwNzV0YlRQYjJYcUF3QXNBdGMwUEE4SGQ3dzVEUDdzSUNQcjZRdWhyN1lhRklyZVNCUFJGZ2VNdmNFSXoxUVNNUXdNM3pRdWhWLzk0NmRDaHBhUGx5YklyR2R3MmtML25ydm5VOXllNmtzYWt2K2Q0blcxL1lIVzZvOFgxNFFZa3NFbUVSRmV2OGEyZFZteG5ycHNjUDNMOTdzRDJlN1lnYkQrME52L3Z4QTBiSy9PK3pxc3JjaWd5WkJvRHphM3orSXYyVmc5SGIxblczeGJKdDhld3Z0dldmL21CekxDdVVNV3U0MUtVSXpsN3VqTzhieXF3OWxQamY3ZjJIdGFBUlFkSFpNKzJ4cjY3ci92TGFycSt1Ni83cXV1N2IxM2QvNVpYT1AreU41RlEvdjJhbXpaOXU2MHVaQWhHMjlxY3UvOXUrNTl0aWlzNExQYTZDQ0JTMmJ6Qjl3Wi8zdm5ZbzBaMDBOdmVuUHZEMHdTZWJCK3VxdlArNHVMVFF6MXZxVWtobDIvcVNtL3FTemVIMDl6ZjNHb0k0UTBId2o0dEs1ODRJUEw2OS80UFBISHlqTDNVb2FXenBUMzNrMmJaSHR2ZlBxdlAveTVJeW91RmNRNWxkZk5NVEIzNjdlN0FqYmh5TVpYK3l0ZTlmWDJnSGhEdk9yRklabW9JUVlITi9hdEZ2ZHZ4a2ExODRZeWtNdXhQR0YxN3V0RExtRFUzRk1IR1lnVEoyMFhQRUg1eGJlL01UTGQxRFdYQnhoYUYxTWltR2lBU0VHYUdmR0xqSjVSS2hRQkNUUTV4czV3cmdJT0ZSYW1jTThVZGIrcUxkOFZXTHk1YVZ1aVV5ampMRUNPQzZ4cUxQQnJRTmU4T1B0UTVkTVRNSUFGblpabmlrenlGbGtwa3dockxqc3huU1EvTFhscUUzOW9WOXBlNXJHb00wSnJoTStvaFhsSHVXVi9rMjdoajR5ZGErcjUxVkRRQVdnUmxPWDMxNkpRTTQ2OTV0NEZFaGE0RXA1dGY0SDNwWGc1MHdKOU5QUDdHb05HcUlyNnpwdk9YUGU4R2xBQUtrVE1XcmZ1MlNtWjllV21ZbnhnaUNTby82MC9QclB2Sms2eDNQdHQzeGFoY0FnVWsvdkhUbXRvSFVMMS9xRURRQ3Z0ODV3OTlVNDl0Mk1EcjczbTFnQ00yblhkMFFyUEtxTkhIQzZXREdOTFBXQzNzakwrd1lLSHhJU0JqbnI2aTRjWGFSSVBqUzZSWFBINHgrNjhYMkgyM3BjM0VjakdWdlhWTDI4NHZxUC96UTdrS0tEQkhCRkhNclBFbFRyTDV2QjdnVXlGcGdpSG0xdmdjdWJ5eDFLYm1BRThnTjRIbU53WmVhQjFmOFpxZE1JYnlneHIrc3pHMFJGZW44c2F0bWZmQ3AxdDlzNlBuTkc3MmdjVG1TWnpVVzNYZlp6SkNMRjNvMkxBSlEyRG5Wdmc4OGZpQ1hpcGd5VlovNnZVdG0vTU9zSWptU0JKQXhSZHdVbjNxczVkTXZkWlM1bGQ2NEFSbnpZNnRyYnAwZkVqUmhBZDNST0NqUGRVR3RiL1A3RjN4cnc2R2ZiKzFMcDAydWN3QVVkUEtnSVV0YkxnSVF4TVpCeVdFb21xNGJ6dW1Eay9QTUNJd3p4MDl5bENKcCtKVVZuaDlkMVhSUmdXazVTcU1oZ0FxUDhzaVZzNW9QSmV6S1YvT0xYVCs4b3JIU3IwRyttZ3NBbkZmdCsrSFZzMlpQMEVSQlpzMkhYUHo3bDh4WVV1MHJrWHdXam04eC9lcWkrbWNiZ3JYRkx2dHkzMzlYNHpzYWdzdEszWCtZVS94eVo1d3pQTDNjYysyc0lwL0tDcGV1Uk5JdkxpKy9vYW5veWRibzlzR1VJRmdVY2wwMk05aVl5OE5GVzNzVkJMZk1DeTBwZFQvU0V1bE1HTFZlN2ZyWlJmT0xYVnNIVWdzRG1peDl4UEx0bGtNdTVhWHJaOSszYzZBdG5wMFYxSzl2S3E3eXFqRFJJeUFDd0dlV2xsOVZIMUJHSWdGREZLYVlYZUtTcStYTUN1K0dtK2YvY1U5NC8xQ20zS05jMlZDMHVzcWJNa1hzMnFhektyMlFkOWRLNUE1b2ZOMk5jLyt3Ti94eVo1d3hYRGxtQk9TRmRJNlBYdEY0YjBOd2R6aFQ3Vld1blZXOElPUWlBb1VoRWN3SzZpL2ZNUGZwZzlFMTNmR2VwRm51VmxaWCt5NmJFV0Q1d0pWQ3hBWkRmT3ZzNmp2T3FucG85MkFrSzJZRnRDc2JnL09LWGZaSUVzQ1psZDY5dHk1NjRrRDA1YTVZZjlxcTgybVh6d3lzcWp4TXRYa2NOOERRZnBMdEE2bmIxM2IvYVc4WUNCU2RGMWJqZWRNZ0VJVmwrTi9UZFBjN2F4NVBtRjZaRVV3RUJFakFpRkFBSTBJQ2xML25NR284bnJFZ1QxaXlxNml6ekk5MmZYWnZlQWxYa2hKa0VVaVE0bGVIL20zeDE3MUtrb2J6V0ViMzRUWkU1bjJMNzZyeEwzYnk2bzR6VHpIOSt2YlJuWE5jVjhCRTlXYW04dUhZcjAvazN6eE9aWnJIM3NDb1QrVDl2TnFkT1B0M081ZlcrRGUvZHg1TVlRU082SW9UZmI3NGdlYnQzWWxYYjU2M3F0STNjb2lBSDY2dXpHSHZTcGtBYTNJRnZCYVZ1UDk0UmVPVEI2TmZYZHUxdmlOK2RKM1hwM25LRWlKUHY5Qno0ZjVZazhhelhpWGg1a21Qa25UenBKdW5YRHp0NG1tTlp6U1dWZEZRbU1uUllpZ1FoVTNhU3BRVXhBaFFVQTQ5Q1lZL0hFZGJRY3V2SmhWTXh3MTdWbUp1ejh2M1ppV3d1Qk5IZld3aWErMnhTZXZaNHBqRGpycFAweFI3T1kwNnJMRDZYdUZhNEd6ODI1WmFZZUdpa1FIQTQ2Njd3aVBsWWJhUEZVZlJOVk1yZlRocWJDZFN0T1g5akxvQitYbmg4OXBYbHc0V1dYN2xzQ05RV0VoODFLM2FVR09mUlpZTEhIc2VtZUFyQjhUSWgwYXpNVTB5eGozaDBjUlIyNCthajZHbnkyWUVMcTRQM0xPai8rdnJEN1VOcGtIbkNuL1RTRU1DQkRRUEplb094Um9MOVZvQUFyUUFMWVVaS2pNMGx0VjVXc0tpaEVpUGtvTkxqeUlSTStYaWFaMW5OSlpSbWFFd1U4T3NoeWZIeGdreUJFRCtSdC9NQ3ErMU1LUVJXUUlzbVVsQ0pQSy9DMHRrT2RNZExEc202M2hLN2QxSEgzYlVmWnFtMk10cDFHR0ZsK05UVTM2bTNqUnE3SkVUZlJkSEZ2NmJyckVkZTdteHcyc0lNbE5tSkdQaTFFWmc4czVXT0xWN2kyUk1NMlVhUklmMWdPR1VIL1l3ZHZGRU92eGd4dnFmalQwLzNOd2JUK1hic2I5SnFpRUNqYzB2dHRVNklBUkFJRmJ3cjkyZm5RQUVvQUMwR0pvcU0xU1cxWG5HeFRJNlQvdlVXR3U4TVpZdFFqUWw0OHdaR29ZQVMxelNVUEtOczZ0UEw5Y2gxMWxHYnB6Qy9rV0EwTG5QU2ExejVKUW5KZnBUNWxPdFE4VWU5ZklaZ1JOMjZjZGJvNUdVZVZsRG9HUzg0TVJqeFpPcEUzNTJ5WTA5a2N3ZDY3cC90MnNRQkVtSCtza1dhRGdjYm9Fd2J2cWRSRXdBb0dHVVpMbC9XUWJSQWtETzBMUUlNbFpUcWZ1TzFkWHZuVk44L0hnWlJ4eHg1TTFFakNOeWZCUTJabnFoSTM3YjJxNlhEa1pQQnRMd1dIYTQ0VHdxbE9XUFVQYU50akttVzFjK3Q3ejhpNmRYQkRVdTh1MjlSNDdIaU4rY1l0U092RTIwd3FQdVpIL1VNcXBQeTV1SmcxTHNHcE1BOE50ZGczZXM2OTdYbHdTZEs1eFo0cTNkblRKbkNHY3RFSERON0tLdm5WMnpLT1FDcDFXVEk0NDQrdUJFOEN5am1hS0c5Y00zK3Y1blUwOGtZVENkeXpyamI4V3hzQTNoK1JXZXI2K3V2bTVXRVJ4NTYwNUhISEhrYllTRE5ocEtSZWxBTlB1MTlkMi8yamxBSmlrNko2QzNrR3JJRUFISVNsdCtqL3JGRlJXZlA2M2NvN0I4eVVsbmtqamlpSU9EVXlNTEpHbjRhbmZpOXJWZFR4OFlBbzZxeXEyVElPNTZxb1l3d1kzelFsOWJWZTMwTEhiRUVRY0hqMUlLU2NQZjd3M2ZzYlo3WjA4U05LWXFKNjhMUldGb1dBSXlZbG0xOSt1cmE5NDFNK0FZd280NDR1RGdOS0NodENWVHB2anhscjd2YnV6cGoyVlI1L3drSzliQUVBbElwSzJRVC8yUDB5cy92YXhjNTdLdUZqcUdzQ09PT0RnNERXSWJsUjF4NHh1dmQ5KzlmY0EwTEs0cmNCS1FoakpyeDh4WWdQQ0JCYVgvdmFwcXBsOXpER0ZISEhGd2NQcWxrRFRjMEp1OC9iV3V4MXFHQUVIVjNrelNVR0ZvbUFJTWNVYXQ3eHVyYXk2cTh6dUdzQ09PT0lMSEZaT0lRT1JKdzcvdWo5eStybnRMZHdMVU40RTA1SWlDU0dTczhvRDI1VE9xL21sSkdVZHdER0ZISEhIa3VPT2dGSnMwekFyNitkYStiMi9vNlI3S2dINkNLcnphaGpBeS9OamkwdHZPcktyMnFvNGg3SWdqanB4UUhKUmk0MDVQMHBRVlhqTlo2M2hYZUxVTjRYUHJBOTg0dS9xY2FwODBoQlZIQ1hURUVVZE9QQTdDU05KdzYwRHE5dGU2L3lLN1RCeUhDcSt5S2pxbHJacGkvYll6cXo2MnFGUmlNY3VWSW5iRUVVY2NlVE53MEVaRGtTOWQ4MFJyOUxhMVhhOTN4cWVSTkdRSWlHaW1UVVZsLzdTay9ML09xQ3gzSzVUckJPUzhjVWNjY2VRa3dFRXBObWxvRWYxeSs4RFhYKzl1SDh3Y1k0WFh3bktCRjg4TWZ2M3M2ak1xdkFCZzVsdUNPZUtJSTQ2Y1JEZ294U1lOQjlMbS85dlk4K010ZlltanJmQXFRN1VwYmMwc2NkMnhxdnFXZVNHUTljU2RtQmhISEhIa1pNYkJIQnJtemVSZDRmUWQ2N29mM0RVbzIwSk5zY0lyUTBCQU0yUHFHdi9YWmVYL3NiS3lXT2RFUUU2VkJFY2NjZVN0Z29NdzBvWHlYRWZzdHRlNjE3UWR2c0pyM2hDMndLSXJtb3ErdnJwbWFha2JuSmdZUnh4eDVLMklnMUlLaXpYYzF6eHc1N3BEKy90VG9MTnhLN3pteXdXYWM4bzlkNjZxdm5GMk1RQ1lSTnh4Q0R2aWlDTnZYUnpNbWNsMmhkZXM5ZjAzZXIvL1J1L1F5QXF2REFFQXJiVHBkU3VmTzYzaWl5c3EvS3BUTHRBUlJ4dzVoWERRUmtPcEdMWU1aZTVjZitqWHpRTmdDa1ZYRUVHV0M3eCtUdkhYVmxmUEwzYnE1anZpaUNPbktBN0NTTkp3VFZmOHR0ZTZuenM0QkJZdHJQSitmWFhOTlkxQmNLb2tPT0tJSTZjMkRrb1oxUmFxTTU3OTdQSUtuYU5qQ0R2aWlDTnZGeHkweldSVzRBQnhER0ZISEhGa3V1VC9BMlpLODFTWWlDc2RBQUFBQUVsRlRrU3VRbUNDIiwKICBXSEFUU0FQUF9OVU1CRVI6ICI5MTk4MTg1OTI5ODkiLCAgICAvLyBjb3VudHJ5IGNvZGUgKyBudW1iZXIsIGRpZ2l0cyBvbmx5CiAgUEhPTkU6ICIrOTEgOTgxODUgOTI5ODkiLAogIFBIT05FXzI6ICIrOTEgOTIwNTYgNjA4OTIiLCAgICAgICAgIC8vIHNlY29uZCBudW1iZXIgZnJvbSB5b3VyIGN1cnJlbnQgQ29udGFjdCBwYWdlIOKAlCBzZXQgIiIgdG8gaGlkZQogIEVNQUlMOiAic2FsZXNAc2tpbmZvd2F5cy5jb20iLAogIEFERFJFU1M6ICJHdXJnYW9uLCBIYXJ5YW5hLCBJbmRpYSIsCiAgSE9VUlM6ICJNb25kYXkgdG8gU2F0dXJkYXksIDEwOjMwIEFNIOKAkyA3OjMwIFBNIiwKICBZRUFSU19FWFBFUklFTkNFOiAiMTUrIiwgICAgICAgICAgICAvLyBzZXQgdG8gIiIgdG8gaGlkZQogIEhFUk9fUFJPRFVDVDogIlN1cmZhY2UgTGFwdG9wIDQiLCAgIC8vIHByb2R1Y3Qgc2hvd24gaW4gdGhlIEhvbWUgcGFnZSBoZXJvIChtYXRjaGVkIGJ5IG5hbWUpCiAgV0FfR0VORVJBTDogIkhlbGxvIFNLIEluZm93YXlzLCBJIHdvdWxkIGxpa2UgdG8gZW5xdWlyZSBhYm91dCB5b3VyIGxhcHRvcCBzdG9jay4iLAogIFdBX1BST0RVQ1Q6ICJIZWxsbyBTSyBJbmZvd2F5cywgSSBhbSBpbnRlcmVzdGVkIGluIHtQUk9EVUNUfS4gUGxlYXNlIHNoYXJlIHRoZSBjdXJyZW50IHdob2xlc2FsZSBwcmljZSBhbmQgYXZhaWxhYmxlIHF1YW50aXR5LiIsCgogIC8vIExpdmUgZGF0YTogcHJvZHVjdHMgY29tZSBmcm9tIHlvdXIgV29vQ29tbWVyY2Ugc3RvcmUgKGFscmVhZHkgc3luY2VkIGZyb20gdGhlIEdvb2dsZSBTaGVldCksCiAgLy8gYmxvZ3MgZnJvbSB5b3VyIFdvcmRQcmVzcyBwb3N0cyAoYWxyZWFkeSBhdXRvLXB1Ymxpc2hlZCBieSB0aGUgQXBwcyBTY3JpcHQpLgogIExJVkVfSE9TVFM6IFsic2tpbmZvd2F5cy5jb20iLCAid3d3LnNraW5mb3dheXMuY29tIl0sCiAgLy8gWW91ciBXb3JkUHJlc3MgdXNlcyBwbGFpbiBwZXJtYWxpbmtzLCBzbyB0aGUgUkVTVCBBUEkgbGl2ZXMgYXQgL2luZGV4LnBocD9yZXN0X3JvdXRlPQogIFJFU1Q6IHJvdXRlID0+ICIvaW5kZXgucGhwP3Jlc3Rfcm91dGU9IiArIHJvdXRlLAogIC8vIENvbnRhY3QgZm9ybSBwb3N0cyB0byB0aGUgU0FNRSBHb29nbGUgRm9ybSB5b3VyIGN1cnJlbnQgQ29udGFjdCBwYWdlIHVzZXMsCiAgLy8gc28gZW5xdWlyaWVzIGxhbmQgaW4gIkZvcm0gUmVzcG9uc2VzIDEiIGFuZCB5b3VyIFdoYXRzQXBwIGFsZXJ0ICsgcmVwbHkgbGlua3Mgd29yayBhcyBiZWZvcmUuCiAgR09PR0xFX0ZPUk06IHsKICAgIGFjdGlvbjogIiIsCiAgICBuYW1lOiAiZW50cnkuOTEwMDAxMjYiLCAgICAgICAgICAvLyBGdWxsIE5hbWUKICAgIHBob25lOiAiZW50cnkuMjEyMzUwNjg5NiIsICAgICAgIC8vIFBob25lIE51bWJlciAoV2hhdHNBcHAgcHJlZmVycmVkKQogICAgaW50ZXJlc3Q6ICJlbnRyeS4xOTg5MzIwODAxIiwgICAgLy8gTGFwdG9wIC8gTW9kZWwgSW50ZXJlc3RlZCBJbgogICAgY29udGFjdFByZWY6ICJlbnRyeS4yNTUwNzAxNDciLCAgLy8gUHJlZmVycmVkIGNvbnRhY3Q6ICJXaGF0c0FwcCIgfCAiUGhvbmUgQ2FsbCIKICAgIGRldGFpbHM6ICJlbnRyeS4xNTcxNzIxNjU2IiAgICAgIC8vIEFkZGl0aW9uYWwgRGV0YWlscyAoZW1haWwsIGNvbXBhbnksIGJ1eWVyIHR5cGUsIHF1YW50aXR5LCBtZXNzYWdlIGdvIGhlcmUpCiAgfSwKICAvLyB0cnVlID0gY2xlYW4gVVJMcyAoL2Fib3V0LCAvcHJvZHVjdHMpIOKAlCBuZWVkcyB0aGUgLmh0YWNjZXNzIHJ1bGVzIGZyb20gdGhlIGRlcGxveSBub3Rlcy4KICBDTEVBTl9VUkxTOiBmYWxzZSwKICAvLyBXb3JkUHJlc3MgbW9kZTogZWFjaCBXUCBwYWdlIHNldHMgd2luZG93LlNLX1JPVVRFOyB0aGVzZSBhcmUgdGhlIHJlYWwgcGFnZSBVUkxzLgogIFBBR0VfVVJMUzogeyIvIjogIi8iLCAiL2Fib3V0IjogIi8\/cGFnZV9pZD0zNzc5MSIsICIvcHJvZHVjdHMiOiAiLz9wYWdlX2lkPTM3NzkyIiwgIi9ibG9ncyI6ICIvP3BhZ2VfaWQ9Mzc3OTMiLCAiL2NvbnRhY3QiOiAiLz9wYWdlX2lkPTM3Nzk0In0KfTsKY29uc3QgV1BfTU9ERSA9IHR5cGVvZiB3aW5kb3cuU0tfUk9VVEUgPT09ICJzdHJpbmciOwoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIDIpIFNBTVBMRSBEQVRBIOKAlCBzaG93biBvbmx5IGluIHByZXZpZXcgLyBpZiB0aGUgbGl2ZSBzdG9yZSBjYW4ndCBiZSByZWFjaGVkLgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KY29uc3QgU0FNUExFX1BST0RVQ1RTID0gWwogIHsgaWQ6InMxIiwgYnJhbmQ6Ikxlbm92byIsIG1vZGVsOiJUaGlua1BhZCBYMSBDYXJib24iLCBjcHU6IkludGVsIENvcmUgaTcgMTB0aCBHZW4iLCByYW06IjE2R0IiLCBzdG9yYWdlOiI1MTJHQiBTU0QiLCBzY3JlZW46JzE0IiBGSEQnLCBjb25kaXRpb246IlJlZnVyYmlzaGVkIiwgcXR5OiIyNSIsIGZlYXR1cmVkOnRydWUgfSwKICB7IGlkOiJzMiIsIGJyYW5kOiJEZWxsIiwgbW9kZWw6IkxhdGl0dWRlIDc0NDAiLCBjcHU6IkludGVsIENvcmUgaTcgMTN0aCBHZW4iLCByYW06IjMyR0IgRERSNSIsIHN0b3JhZ2U6IjI1NkdCIFNTRCIsIHNjcmVlbjonMTQiIFRvdWNoJywgY29uZGl0aW9uOiJSZWZ1cmJpc2hlZCIsIHF0eToiNDAiLCBmZWF0dXJlZDp0cnVlIH0sCiAgeyBpZDoiczMiLCBicmFuZDoiRGVsbCIsIG1vZGVsOiJMYXRpdHVkZSA3NDUwIiwgY3B1OiJJbnRlbCBDb3JlIFVsdHJhIDciLCByYW06IjMyR0IiLCBzdG9yYWdlOiI1MTJHQiBTU0QiLCBzY3JlZW46JzE0IiBUb3VjaCcsIGNvbmRpdGlvbjoiUmVmdXJiaXNoZWQiLCBxdHk6IjE1IiwgZmVhdHVyZWQ6dHJ1ZSB9LAogIHsgaWQ6InM0IiwgYnJhbmQ6IkRlbGwiLCBtb2RlbDoiTGF0aXR1ZGUgNzMyMCAyLWluLTEiLCBjcHU6IkludGVsIENvcmUgaTUgMTF0aCBHZW4iLCByYW06IjhHQiIsIHN0b3JhZ2U6IjI1NkdCIFNTRCIsIHNjcmVlbjonMTMuMyIgRkhEIFRvdWNoJywgY29uZGl0aW9uOiJVc2VkIiwgcXR5OiIzMCIsIGZlYXR1cmVkOnRydWUgfSwKICB7IGlkOiJzNSIsIGJyYW5kOiJNaWNyb3NvZnQiLCBtb2RlbDoiU3VyZmFjZSBMYXB0b3AgMyIsIGNwdToiSW50ZWwgQ29yZSBpNyAxMHRoIEdlbiIsIHJhbToiMTZHQiIsIHN0b3JhZ2U6IjI1NkdCIFNTRCIsIHNjcmVlbjonMTMuNSIgVG91Y2gnLCBjb25kaXRpb246IlJlZnVyYmlzaGVkIiwgcXR5OiIyMCIsIGZlYXR1cmVkOnRydWUgfSwKICB7IGlkOiJzNiIsIGJyYW5kOiJIUCIsIG1vZGVsOiJFbGl0ZUJvb2sgODQwIEc1IiwgY3B1OiJJbnRlbCBDb3JlIGk1IDh0aCBHZW4iLCByYW06IjhHQiIsIHN0b3JhZ2U6IjI1NkdCIFNTRCIsIHNjcmVlbjonMTQiIEZIRCcsIGNvbmRpdGlvbjoiVXNlZCIsIHF0eToiNTAiLCBmZWF0dXJlZDp0cnVlIH0sCiAgeyBpZDoiczciLCBicmFuZDoiSFAiLCBtb2RlbDoiRWxpdGVCb29rIDg0MCBHMTAiLCBjcHU6IkludGVsIENvcmUgaTUgMTN0aCBHZW4iLCByYW06IjE2R0IiLCBzdG9yYWdlOiI1MTJHQiBTU0QiLCBzY3JlZW46JzE0IiBXVVhHQScsIGNvbmRpdGlvbjoiUmVmdXJiaXNoZWQiLCBxdHk6IjEyIiB9LAogIHsgaWQ6InM4IiwgYnJhbmQ6Ikxlbm92byIsIG1vZGVsOiJUaGlua1BhZCBUMTQgR2VuIDIiLCBjcHU6IkFNRCBSeXplbiA1IFBybyA1NjUwVSIsIHJhbToiMTZHQiIsIHN0b3JhZ2U6IjI1NkdCIFNTRCIsIHNjcmVlbjonMTQiIEZIRCcsIGNvbmRpdGlvbjoiVXNlZCIsIHF0eToiMTgiIH0sCiAgeyBpZDoiczkiLCBicmFuZDoiQXBwbGUiLCBtb2RlbDoiTWFjQm9vayBBaXIgTTEiLCBjcHU6IkFwcGxlIE0xIiwgcmFtOiI4R0IiLCBzdG9yYWdlOiIyNTZHQiBTU0QiLCBzY3JlZW46JzEzLjMiIFJldGluYScsIGNvbmRpdGlvbjoiUmVmdXJiaXNoZWQiLCBxdHk6IjEwIiB9Cl07Cgpjb25zdCBTQU1QTEVfUE9TVFMgPSBbCiAgeyBzbHVnOiJldmFsdWF0ZS11c2VkLWxhcHRvcC1sb3QtYmVmb3JlLWJ1bGstcHVyY2hhc2UiLCB0aXRsZToiSG93IHRvIGV2YWx1YXRlIGEgdXNlZCBsYXB0b3AgbG90IGJlZm9yZSBidXlpbmcgaW4gYnVsayIsIGNhdGVnb3J5OiJCdXlpbmcgZ3VpZGUiLCBkYXRlOiIyMDI2LTA5LTE0IiwKICAgIGV4Y2VycHQ6IkZpdmUgY2hlY2tzIHRoYXQgdGVsbCB5b3Ugd2hldGhlciBhIGxvdCBvZiB1c2VkIGJ1c2luZXNzIGxhcHRvcHMgd2lsbCByZXNlbGwgd2VsbDogcHJvY2Vzc29yIGdlbmVyYXRpb24sIGJhdHRlcnkgaGVhbHRoLCBzY3JlZW4gY29uZGl0aW9uLCBzdG9yYWdlIHR5cGUgYW5kIGdyYWRlIGNvbnNpc3RlbmN5LiIsCiAgICBodG1sOmA8cD5CdXlpbmcgbGFwdG9wcyBieSB0aGUgbG90IGlzIGRpZmZlcmVudCBmcm9tIGJ1eWluZyBhIHNpbmdsZSBtYWNoaW5lLiBZb3UgYXJlIG5vdCBqdWRnaW5nIG9uZSB1bml0IOKAlCB5b3UgYXJlIGp1ZGdpbmcgaG93IGNvbnNpc3RlbnQgdGhlIHdob2xlIGxvdCBpcywgYW5kIGhvdyBxdWlja2x5IGl0IHdpbGwgbW92ZS48L3A+CjxoMj4xLiBQcm9jZXNzb3IgZ2VuZXJhdGlvbjwvaDI+PHA+R2VuZXJhdGlvbiBtYXR0ZXJzIG1vcmUgdGhhbiB0aGUgaTUvaTcgbGFiZWwuIEFuIDh0aCBHZW4gaTUgaXMgc3RpbGwgY29tZm9ydGFibGUgZm9yIG9mZmljZSB3b3JrOyBhbnl0aGluZyBvbGRlciBpcyBoYXJkZXIgdG8gcmVzZWxsIHRvIGJ1c2luZXNzIGJ1eWVycy48L3A+CjxoMj4yLiBCYXR0ZXJ5IGhlYWx0aDwvaDI+PHA+QXNrIGZvciBhIGJhdHRlcnkgcmVwb3J0IG9uIGEgc2FtcGxlIG9mIHVuaXRzLiBBIGxvdCB3aXRoIG1peGVkIGJhdHRlcnkgaGVhbHRoIG5lZWRzIHNlcGFyYXRlIHByaWNpbmcgZm9yIGVhY2ggZ3JvdXAuPC9wPgo8aDI+My4gU2NyZWVuIGFuZCBib2R5IGdyYWRlPC9oMj48cD5TY3JhdGNoZXMgYW5kIHByZXNzdXJlIG1hcmtzIGFmZmVjdCByZXNhbGUgcHJpY2UgbW9yZSB0aGFuIHNtYWxsIHNwZWNpZmljYXRpb24gZGlmZmVyZW5jZXMuIEFzayBmb3IgcGhvdG9zIG9mIGJvdGggdGhlIGxpZCBhbmQgdGhlIGRpc3BsYXkuPC9wPgo8aDI+NC4gU3RvcmFnZSB0eXBlPC9oMj48cD5TU0QgaXMgbm93IHRoZSBtaW5pbXVtIGJ1eWVycyBleHBlY3QuIENoZWNrIHdoZXRoZXIgdGhlIGxvdCBpcyB1bmlmb3JtLCBvciBoYXMgbWl4ZWQgY2FwYWNpdGllcy48L3A+CjxoMj41LiBDb25zaXN0ZW5jeSBhY3Jvc3MgdGhlIGxvdDwvaDI+PHA+QSBsb3Qgb2YgdGhlIHNhbWUgbW9kZWwgYW5kIHNwZWNpZmljYXRpb24gaXMgZWFzaWVyIHRvIGxpc3QsIHByaWNlIGFuZCBzZWxsIHRoYW4gYSBtaXhlZCBwaWxlLjwvcD5gIH0sCiAgeyBzbHVnOiJkZWxsLWxhdGl0dWRlLXZzLWxlbm92by10aGlua3BhZC1mb3ItcmVzZWxsZXJzIiwgdGl0bGU6IkRlbGwgTGF0aXR1ZGUgdnMgTGVub3ZvIFRoaW5rUGFkOiB3aGljaCBzdWl0cyByZXNhbGUgYmV0dGVyPyIsIGNhdGVnb3J5OiJDb21wYXJpc29uIiwgZGF0ZToiMjAyNi0wOS0wNyIsCiAgICBleGNlcnB0OiJCb3RoIGxpbmVzIGFyZSBidWlsdCBmb3IgYnVzaW5lc3MgdXNlIGFuZCBib3RoIHJlc2VsbCB3ZWxsLiBIZXJlIGlzIGhvdyB0aGV5IGRpZmZlciBvbiBrZXlib2FyZHMsIHNwYXJlIHBhcnRzIGFuZCB3aGF0IGJ1eWVycyBhc2sgZm9yLiIsCiAgICBodG1sOmA8cD5EZWxsIExhdGl0dWRlIGFuZCBMZW5vdm8gVGhpbmtQYWQgYXJlIHRoZSB0d28gbW9zdCBjb21tb24gYnVzaW5lc3MgbGFwdG9wIGxpbmVzIGluIHRoZSB1c2VkIG1hcmtldC4gQm90aCBhcmUgZHVyYWJsZSBhbmQgYm90aCBhcmUgZmFtaWxpYXIgdG8gYnV5ZXJzLjwvcD4KPGgyPldoYXQgYnV5ZXJzIG5vdGljZTwvaDI+PHVsPjxsaT48c3Ryb25nPktleWJvYXJkOjwvc3Ryb25nPiBUaGlua1BhZCBrZXlib2FyZHMgaGF2ZSBhIGxveWFsIGZvbGxvd2luZyBhbW9uZyBvZmZpY2UgdXNlcnMuPC9saT48bGk+PHN0cm9uZz5CdWlsZDo8L3N0cm9uZz4gTGF0aXR1ZGUgNTAwMCBhbmQgNzAwMCBzZXJpZXMgZmVlbCBzb2xpZCBhbmQgYXJlIGVhc3kgdG8gc2VydmljZS48L2xpPjxsaT48c3Ryb25nPlNwYXJlIHBhcnRzOjwvc3Ryb25nPiBCb3RoIGhhdmUgd2lkZSBhdmFpbGFiaWxpdHkgb2YgYmF0dGVyaWVzLCBjaGFyZ2VycyBhbmQgc2NyZWVucy48L2xpPjwvdWw+CjxoMj5Gb3IgcmVzZWxsZXJzPC9oMj48cD5TdG9jayB3aGF0IHlvdXIgY3VzdG9tZXJzIGFzayBmb3IuIEZvciBjb3Jwb3JhdGUgYnV5ZXJzLCBhIGNvbnNpc3RlbnQgbW9kZWwgYWNyb3NzIHRoZSB3aG9sZSBvcmRlciB1c3VhbGx5IG1hdHRlcnMgbW9yZSB0aGFuIHRoZSBicmFuZCBpdHNlbGYuPC9wPmAgfSwKICB7IHNsdWc6InJlZnVyYmlzaGVkLXZzLXVzZWQtbGFwdG9wcy1leHBsYWluZWQiLCB0aXRsZToiUmVmdXJiaXNoZWQgdnMgdXNlZCBsYXB0b3BzOiB3aGF0IHRoZSB0ZXJtcyBhY3R1YWxseSBtZWFuIiwgY2F0ZWdvcnk6IkJhc2ljcyIsIGRhdGU6IjIwMjYtMDgtMzEiLAogICAgZXhjZXJwdDoiVGhlIHR3byB3b3JkcyBhcmUgb2Z0ZW4gdXNlZCBpbnRlcmNoYW5nZWFibHkuIEtub3dpbmcgdGhlIGRpZmZlcmVuY2UgaGVscHMgeW91IHNldCB0aGUgcmlnaHQgcHJpY2UgYW5kIHRoZSByaWdodCBleHBlY3RhdGlvbnMgd2l0aCB5b3VyIGN1c3RvbWVycy4iLAogICAgaHRtbDpgPHA+QSA8c3Ryb25nPnVzZWQ8L3N0cm9uZz4gbGFwdG9wIGlzIHNvbGQgYXMgaXQgd2FzIHJlY2VpdmVkLCB1c3VhbGx5IGFmdGVyIGEgYmFzaWMgZnVuY3Rpb24gY2hlY2suIEEgPHN0cm9uZz5yZWZ1cmJpc2hlZDwvc3Ryb25nPiBsYXB0b3AgaGFzIGJlZW4gY2hlY2tlZCwgY2xlYW5lZCBhbmQsIHdoZXJlIG5lZWRlZCwgaGFkIHBhcnRzIHJlcGxhY2VkIGJlZm9yZSBzYWxlLjwvcD4KPGgyPldoeSBpdCBtYXR0ZXJzIGZvciBkZWFsZXJzPC9oMj48cD5SZWZ1cmJpc2hlZCB1bml0cyBjb3N0IG1vcmUgYnV0IG5lZWQgbGVzcyB3b3JrIGJlZm9yZSByZXNhbGUuIFVzZWQgdW5pdHMgbGVhdmUgcm9vbSBmb3IgeW91ciBvd24gcHJlcGFyYXRpb24gYW5kIG1hcmdpbi48L3A+CjxwPldoaWNoZXZlciB5b3UgYnV5LCBhc2sgdGhlIHN1cHBsaWVyIHRvIHN0YXRlIHRoZSBjb25kaXRpb24gY2xlYXJseSBvbiBldmVyeSBsaXN0aW5nLjwvcD5gIH0sCiAgeyBzbHVnOiJjaG9vc2luZy1wcm9jZXNzb3ItZ2VuZXJhdGlvbi1idXNpbmVzcy1sYXB0b3BzIiwgdGl0bGU6IkNob29zaW5nIHRoZSByaWdodCBwcm9jZXNzb3IgZ2VuZXJhdGlvbiBmb3IgYnVzaW5lc3MgYnV5ZXJzIiwgY2F0ZWdvcnk6IkJ1eWluZyBndWlkZSIsIGRhdGU6IjIwMjYtMDgtMjQiLAogICAgZXhjZXJwdDoiRnJvbSA4dGggR2VuIEludGVsIHRvIENvcmUgVWx0cmE6IGEgc2ltcGxlIHdheSB0byBtYXRjaCBwcm9jZXNzb3IgZ2VuZXJhdGlvbiB0byB3aGF0IHlvdXIgY3VzdG9tZXIgd2lsbCBhY3R1YWxseSB1c2UgdGhlIGxhcHRvcCBmb3IuIiwKICAgIGh0bWw6YDxwPk1vc3QgYnVzaW5lc3MgYnV5ZXJzIG5lZWQgZW1haWwsIGJyb3dzZXJzLCBzcHJlYWRzaGVldHMgYW5kIHZpZGVvIGNhbGxzLiBUaGF0IHdvcmtsb2FkIGRvZXMgbm90IG5lZWQgdGhlIG5ld2VzdCBwcm9jZXNzb3IuPC9wPgo8aDI+QSBzaW1wbGUgZ3VpZGU8L2gyPjx1bD48bGk+PHN0cm9uZz44dGjigJMxMHRoIEdlbiBJbnRlbDo8L3N0cm9uZz4gb2ZmaWNlIHdvcmssIHNjaG9vbHMsIGNhbGwgY2VudHJlcy48L2xpPjxsaT48c3Ryb25nPjExdGjigJMxM3RoIEdlbiBJbnRlbCAvIFJ5emVuIDUwMDA6PC9zdHJvbmc+IGhlYXZpZXIgbXVsdGl0YXNraW5nIGFuZCBsb25nZXIgbGlmZS48L2xpPjxsaT48c3Ryb25nPkNvcmUgVWx0cmE6PC9zdHJvbmc+IGJ1eWVycyB3aG8gd2FudCB0aGUgbmV3ZXN0IHBsYXRmb3JtLjwvbGk+PC91bD4KPHA+TWF0Y2ggdGhlIGdlbmVyYXRpb24gdG8gdGhlIGJ1ZGdldCwgYW5kIHF1b3RlIGFsdGVybmF0aXZlcyB3aGVuIHN0b2NrIG9mIG9uZSBtb2RlbCBydW5zIGxvdy48L3A+YCB9Cl07CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgMykgSEVMUEVSUwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KY29uc3QgJCA9IChzLCByPWRvY3VtZW50KSA9PiByLnF1ZXJ5U2VsZWN0b3Iocyk7CmNvbnN0ICQkID0gKHMsIHI9ZG9jdW1lbnQpID0+IFsuLi5yLnF1ZXJ5U2VsZWN0b3JBbGwocyldOwpjb25zdCBlc2MgPSBzID0+IFN0cmluZyhzID8\/ICIiKS5yZXBsYWNlKC9bJjw+IiddL2csIGMgPT4gKHsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsJyInOiImcXVvdDsiLCInIjoiJiMzOTsifVtjXSkpOwpjb25zdCBkZWNvZGUgPSBzID0+IHsgY29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpOyB0LmlubmVySFRNTD1zfHwiIjsgcmV0dXJuIHQudmFsdWU7IH07CmNvbnN0IGlzUGggPSB2ID0+IC9eXFsuKlxdJC8udGVzdChTdHJpbmcodnx8IiIpKTsKY29uc3Qgc2hvdyA9IHYgPT4gaXNQaCh2KSA\/IGA8c3BhbiBjbGFzcz0icGgiPiR7ZXNjKHYpfTwvc3Bhbj5gIDogZXNjKHYpOwpjb25zdCB3YUxpbmsgPSBtc2cgPT4gYGh0dHBzOi8vd2EubWUvJHtDT05GSUcuV0hBVFNBUFBfTlVNQkVSfT90ZXh0PSR7ZW5jb2RlVVJJQ29tcG9uZW50KG1zZyl9YDsKY29uc3Qgd2FHZW5lcmFsID0gKCkgPT4gd2FMaW5rKENPTkZJRy5XQV9HRU5FUkFMKTsKY29uc3QgcE5hbWUgPSBwID0+IGAke3AuYnJhbmR9ICR7cC5tb2RlbH1gLnRyaW0oKTsKY29uc3Qgd2FQcm9kdWN0ID0gcCA9PiB3YUxpbmsoQ09ORklHLldBX1BST0RVQ1QucmVwbGFjZSgie1BST0RVQ1R9IiwgcE5hbWUocCkpKTsKY29uc3QgZm10RGF0ZSA9IGQgPT4geyB0cnkgeyByZXR1cm4gbmV3IERhdGUoZCkudG9Mb2NhbGVEYXRlU3RyaW5nKCJlbi1JTiIse2RheToibnVtZXJpYyIsbW9udGg6InNob3J0Iix5ZWFyOiJudW1lcmljIn0pOyB9IGNhdGNoKGUpeyByZXR1cm4gZDsgfSB9OwpmdW5jdGlvbiBocmVmKHApewogIGlmIChXUF9NT0RFKXsKICAgIGlmIChwLnN0YXJ0c1dpdGgoIi9ibG9ncy8iKSkgcmV0dXJuIENPTkZJRy5QQUdFX1VSTFNbIi9ibG9ncyJdICsgKENPTkZJRy5QQUdFX1VSTFNbIi9ibG9ncyJdLmluY2x1ZGVzKCI\/IikgPyAiJiIgOiAiPyIpICsgImFydGljbGU9IiArIGVuY29kZVVSSUNvbXBvbmVudChwLnNsaWNlKDcpKTsKICAgIHJldHVybiBDT05GSUcuUEFHRV9VUkxTW3BdIHx8ICIvIjsKICB9CiAgcmV0dXJuIENPTkZJRy5DTEVBTl9VUkxTID8gcCA6ICIjIiArIHA7Cn0KY29uc3QgYWJzID0gcCA9PiBXUF9NT0RFID8gbmV3IFVSTChocmVmKHApLCBDT05GSUcuU0lURV9VUkwpLmhyZWYgOiBDT05GSUcuU0lURV9VUkwgKyAocCA9PT0gIi8iID8gIi8iIDogcCArICIvIik7CmNvbnN0IGFkZFBhcmFtID0gKHUsIGssIHYpID0+IHUgKyAodS5pbmNsdWRlcygiPyIpID8gIiYiIDogIj8iKSArIGsgKyAiPSIgKyBlbmNvZGVVUklDb21wb25lbnQodik7Cgpjb25zdCBJID0gewogIGJveGVzOic8cGF0aCBkPSJNMyA4IDEyIDMuNSAyMSA4bC05IDQuNXoiLz48cGF0aCBkPSJNMyA4djhsOSA0LjUgOS00LjVWOCIvPjxwYXRoIGQ9Ik0xMiAxMi41djgiLz48cGF0aCBkPSJtNy41IDUuOCA5IDQuNSIvPicsCiAgc2hpZWxkOic8cGF0aCBkPSJNMTIgMyAxOSA2djUuMmMwIDQuMy0yLjkgNy44LTcgOS44LTQuMS0yLTctNS41LTctOS44VjZ6Ii8+PHBhdGggZD0ibTguOCAxMiAyLjMgMi4zIDQuMi00LjYiLz4nLAogIGxheWVyczonPHBhdGggZD0ibTEyIDMgOSA0LjgtOSA0LjgtOS00Ljh6Ii8+PHBhdGggZD0ibTMgMTIuMiA5IDQuOCA5LTQuOCIvPjxwYXRoIGQ9Im0zIDE2LjQgOSA0LjYgOS00LjYiLz4nLAogIGJyaWVmOic8cmVjdCB4PSIzIiB5PSI3IiB3aWR0aD0iMTgiIGhlaWdodD0iMTMiIHJ4PSIyIi8+PHBhdGggZD0iTTkgN1Y1LjVBMS41IDEuNSAwIDAgMSAxMC41IDRoM0ExLjUgMS41IDAgMCAxIDE1IDUuNVY3Ii8+PHBhdGggZD0iTTMgMTIuNWgxOCIvPjxwYXRoIGQ9Ik0xMSAxMi41aDJ2MmgtMnoiLz4nLAogIGNoYXQ6JzxwYXRoIGQ9Ik0yMC41IDExLjhhOC41IDguNSAwIDAgMS0xMi40IDcuNkwzLjUgMjAuNWwxLjItNC4zYTguNSA4LjUgMCAxIDEgMTUuOC00LjR6Ii8+PHBhdGggZD0iTTkuMiA4LjZjLS4zIDIuNyAyLjggNi4zIDUuOSA2LjJsLjktMS40LTEuOS0xLTEgLjhjLS45LS40LTEuOC0xLjMtMi4yLTIuMmwuOC0xLTEtMS45eiIvPicsCiAgc2VhcmNoOic8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI3Ii8+PHBhdGggZD0ibTIwIDIwLTMuOC0zLjgiLz4nLAogIGNsb3NlOic8cGF0aCBkPSJNNiA2bDEyIDEyTTE4IDYgNiAxOCIvPicsCiAgZmlsdGVyOic8cGF0aCBkPSJNNCA2aDE2TTcgMTJoMTBNMTAgMThoNCIvPicsCiAgdGFyZ2V0Oic8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4LjUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI0LjUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxIi8+JywKICBsaW5rOic8cGF0aCBkPSJNOS41IDE0LjUgMTQuNSA5LjUiLz48cGF0aCBkPSJNMTAuOCA2LjcgMTIuNiA1YTQuMiA0LjIgMCAwIDEgNiA2bC0xLjggMS44Ii8+PHBhdGggZD0iTTEzLjIgMTcuMyAxMS40IDE5YTQuMiA0LjIgMCAwIDEtNi02bDEuOC0xLjgiLz4nLAogIGxhcHRvcDonPHJlY3QgeD0iNC41IiB5PSI1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTAiIHJ4PSIxLjUiLz48cGF0aCBkPSJNMi41IDE4LjVoMTkiLz4nLAogIHJlZnJlc2g6JzxwYXRoIGQ9Ik0yMCAxMmE4IDggMCAwIDEtMTQuMyA0LjkiLz48cGF0aCBkPSJNNCAxMkE4IDggMCAwIDEgMTguMyA3LjEiLz48cGF0aCBkPSJNMTguNSAzLjV2NGgtNCIvPjxwYXRoIGQ9Ik01LjUgMjAuNXYtNGg0Ii8+JywKICBzdGFjazonPHJlY3QgeD0iMyIgeT0iNCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjQuNSIgcng9IjEuMiIvPjxyZWN0IHg9IjMiIHk9IjEwIiB3aWR0aD0iMTgiIGhlaWdodD0iNC41IiByeD0iMS4yIi8+PHJlY3QgeD0iMyIgeT0iMTYiIHdpZHRoPSIxOCIgaGVpZ2h0PSI0LjUiIHJ4PSIxLjIiLz4nLAogIGJ1aWxkaW5nOic8cGF0aCBkPSJNNCAyMVY1LjVMMTIgM3YxOCIvPjxwYXRoIGQ9Ik0xMiA4LjUgMjAgMTF2MTAiLz48cGF0aCBkPSJNMyAyMWgxOCIvPjxwYXRoIGQ9Ik03LjUgOC41aDFNNy41IDEyaDFNNy41IDE1LjVoMU0xNS41IDE0aDFNMTUuNSAxNy41aDEiLz4nLAogIHN0b3JlOic8cGF0aCBkPSJNNCA5LjVWMjBoMTZWOS41Ii8+PHBhdGggZD0iTTMgOS41IDUgNGgxNGwyIDUuNWEyLjcgMi43IDAgMCAxLTUuNCAwIDIuNyAyLjcgMCAwIDEtNS4zIDAgMi43IDIuNyAwIDAgMS01LjMgMHoiLz48cGF0aCBkPSJNMTAgMjB2LTVoNHY1Ii8+JywKICBwaW46JzxwYXRoIGQ9Ik0xMiAyMXMtNi41LTYtNi41LTExYTYuNSA2LjUgMCAwIDEgMTMgMGMwIDUtNi41IDExLTYuNSAxMXoiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEwIiByPSIyLjMiLz4nLAogIHBob25lOic8cGF0aCBkPSJNNSA0aDMuNWwxLjggNC40LTIuMiAxLjRhMTEgMTEgMCAwIDAgNi4xIDYuMWwxLjQtMi4yTDIwIDE1LjVWMTlhMS41IDEuNSAwIDAgMS0xLjYgMS41QTE2LjUgMTYuNSAwIDAgMSAzLjUgNS42IDEuNSAxLjUgMCAwIDEgNSA0eiIvPicsCiAgbWFpbDonPHJlY3QgeD0iMyIgeT0iNSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE0IiByeD0iMiIvPjxwYXRoIGQ9Im0zLjUgNi41IDguNSA2LjUgOC41LTYuNSIvPicsCiAgY2xvY2s6JzxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjguNSIvPjxwYXRoIGQ9Ik0xMiA3LjVWMTJsMyAyIi8+JywKICBjaGVjazonPHBhdGggZD0ibTUgMTIuNSA0LjUgNC41TDE5IDcuNSIvPicsCiAgYmFjazonPHBhdGggZD0iTTE1IDVsLTcgNyA3IDciLz4nLAogIHNlbmQ6JzxwYXRoIGQ9Ik0yMC41IDMuNSAxMCAxNCIvPjxwYXRoIGQ9Ik0yMC41IDMuNSAxNCAyMC41bC00LTYuNS02LjUtNHoiLz4nCn07CmNvbnN0IGljb24gPSAobiwgY2xzPSIiKSA9PiBgPHN2ZyBjbGFzcz0iaWMgJHtjbHN9IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+JHtJW25dfTwvc3ZnPmA7CgovKiBMYXB0b3AgaWxsdXN0cmF0aW9uIHVzZWQgd2hlbiBhIHByb2R1Y3QgaGFzIG5vIHBob3RvIHlldCAqLwpjb25zdCBUSU5UID0geyBEZWxsOlsiIzBCNkE5MiIsIiM1Q0M2RUMiXSwgTGVub3ZvOlsiIzFFMjgyQiIsIiM4Qzk5OUMiXSwgSFA6WyIjM0U3RDFGIiwiI0E2RDQ2QSJdLCBNaWNyb3NvZnQ6WyIjMEQ1QTc4IiwiIzhGRDNFQyJdLCBBcHBsZTpbIiM0OTU0NTciLCIjQ0JEM0Q1Il0sIE90aGVyOlsiIzJGNkIzQSIsIiM5Q0NCN0EiXSB9OwpsZXQgdWlkTiA9IDA7CmZ1bmN0aW9uIGxhcHRvcEFydChicmFuZCwgbGFiZWwpewogIGNvbnN0IFthLGJdID0gVElOVFticmFuZF0gfHwgVElOVC5PdGhlcjsgY29uc3QgdSA9ICJnIiArICh1aWROKyspOwogIHJldHVybiBgPHN2ZyB2aWV3Qm94PSIwIDAgMzIwIDIxMCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSIke2VzYyhsYWJlbHx8IkxhcHRvcCIpfSI+CiAgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJzJHt1fSIgeDE9IjAiIHkxPSIwIiB4Mj0iMSIgeTI9IjEiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iJHthfSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iJHtifSIvPjwvbGluZWFyR3JhZGllbnQ+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJiJHt1fSIgeDE9IjAiIHkxPSIwIiB4Mj0iMCIgeTI9IjEiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0YxRjNGMyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0IxQjdCOSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPgogIDxlbGxpcHNlIGN4PSIxNjAiIGN5PSIxOTciIHJ4PSIxNDAiIHJ5PSI2IiBmaWxsPSIjMTkxRjIxIiBvcGFjaXR5PSIuMTQiLz4KICA8cmVjdCB4PSI0NCIgeT0iMTIiIHdpZHRoPSIyMzIiIGhlaWdodD0iMTUyIiByeD0iOSIgZmlsbD0iIzIxMjUyNiIvPgogIDxyZWN0IGNsYXNzPSJzY3IiIHg9IjUzIiB5PSIyMSIgd2lkdGg9IjIxNCIgaGVpZ2h0PSIxMzQiIHJ4PSIzIiBmaWxsPSJ1cmwoI3Mke3V9KSIvPgogIDxwYXRoIGQ9Ik01MyAxMThDMTEyIDg4IDE3MiAxMzggMjY3IDY4djg3SDUzeiIgZmlsbD0iI2ZmZiIgb3BhY2l0eT0iLjExIi8+CiAgPHBhdGggZD0iTTUzIDE0MGM2Ni0yMiAxMzYgMTAgMjE0LTMydjQ3SDUzeiIgZmlsbD0iI2ZmZiIgb3BhY2l0eT0iLjA4Ii8+CiAgPGNpcmNsZSBjeD0iMTYwIiBjeT0iMTYuNSIgcj0iMS41IiBmaWxsPSIjNDU0QTRCIi8+CiAgPHBhdGggZD0iTTE2IDE2NmgyODhsLTEwIDE4cS0zIDYtMTAgNkgzNnEtNyAwLTEwLTZ6IiBmaWxsPSJ1cmwoI2Ike3V9KSIvPgogIDxyZWN0IHg9IjEzNiIgeT0iMTY2IiB3aWR0aD0iNDgiIGhlaWdodD0iNCIgcng9IjIiIGZpbGw9IiM5Mjk4OTkiLz48L3N2Zz5gOwp9CmZ1bmN0aW9uIGhlcm9BcnQoYnJhbmQpewogIGNvbnN0IFthLGJdID0gVElOVFticmFuZF0gfHwgVElOVC5EZWxsOwogIHJldHVybiBgPHN2ZyB2aWV3Qm94PSIwIDAgNTQwIDQ0MCIgYXJpYS1oaWRkZW49InRydWUiPgogIDxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iaHMiIHgxPSIwIiB5MT0iMCIgeDI9IjEiIHkyPSIxIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiR7YX0iLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiR7Yn0iLz48L2xpbmVhckdyYWRpZW50PgogIDxsaW5lYXJHcmFkaWVudCBpZD0iaGIiIHgxPSIwIiB5MT0iMCIgeDI9IjAiIHkyPSIxIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNGNEY1RjUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNBOUFGQjEiLz48L2xpbmVhckdyYWRpZW50PgogIDxsaW5lYXJHcmFkaWVudCBpZD0iaGwiIHgxPSIwIiB5MT0iMCIgeDI9IjEiIHkyPSIwIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMzOTNGNDEiLz48c3RvcCBvZmZzZXQ9Ii41IiBzdG9wLWNvbG9yPSIjNEI1NTU4Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzQzQTNDIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+CiAgPGcgb3BhY2l0eT0iLjkiPjxyZWN0IHg9IjYyIiB5PSIzODAiIHdpZHRoPSI0MjAiIGhlaWdodD0iMTYiIHJ4PSI2IiBmaWxsPSJ1cmwoI2hsKSIvPjxyZWN0IHg9IjYyIiB5PSIzOTIiIHdpZHRoPSI0MjAiIGhlaWdodD0iNCIgcng9IjIiIGZpbGw9IiMxNTE5MUEiIG9wYWNpdHk9Ii42Ii8+PC9nPgogIDxnPjxyZWN0IHg9IjUyIiB5PSIzNjAiIHdpZHRoPSI0NDAiIGhlaWdodD0iMTgiIHJ4PSI2IiBmaWxsPSJ1cmwoI2hsKSIvPjxyZWN0IHg9IjUyIiB5PSIzNzQiIHdpZHRoPSI0NDAiIGhlaWdodD0iNCIgcng9IjIiIGZpbGw9IiMxNTE5MUEiIG9wYWNpdHk9Ii42Ii8+PC9nPgogIDxyZWN0IHg9Ijk2IiB5PSIzMCIgd2lkdGg9IjM1MiIgaGVpZ2h0PSIyMzIiIHJ4PSIxMyIgZmlsbD0iIzFEMjAyMSIvPgogIDxyZWN0IGNsYXNzPSJzY3IiIHg9IjEwOSIgeT0iNDMiIHdpZHRoPSIzMjYiIGhlaWdodD0iMjA2IiByeD0iNCIgZmlsbD0idXJsKCNocykiLz4KICA8cGF0aCBkPSJNMTA5IDE5MGM5MC00NiAxODAgMzAgMzI2LTc4djEzN0gxMDl6IiBmaWxsPSIjZmZmIiBvcGFjaXR5PSIuMTIiLz4KICA8cGF0aCBkPSJNMTA5IDIyMmMxMDAtMzQgMjA4IDE0IDMyNi00OHY3NUgxMDl6IiBmaWxsPSIjZmZmIiBvcGFjaXR5PSIuMDgiLz4KICA8ZyBvcGFjaXR5PSIuODUiIGZpbGw9IiNmZmYiPjxyZWN0IHg9IjEzMyIgeT0iNzAiIHdpZHRoPSI5MiIgaGVpZ2h0PSI4IiByeD0iNCIgb3BhY2l0eT0iLjciLz48cmVjdCB4PSIxMzMiIHk9Ijg4IiB3aWR0aD0iMTUwIiBoZWlnaHQ9IjUiIHJ4PSIyLjUiIG9wYWNpdHk9Ii4zNSIvPjxyZWN0IHg9IjEzMyIgeT0iMTAwIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjUiIHJ4PSIyLjUiIG9wYWNpdHk9Ii4zNSIvPjwvZz4KICA8Y2lyY2xlIGN4PSIyNzIiIGN5PSIzNi41IiByPSIyIiBmaWxsPSIjNDU0QTRCIi8+CiAgPHBhdGggZD0iTTQwIDI2NGg0NjRsLTE1IDI4cS00IDgtMTQgOEg2OXEtMTAgMC0xNC04eiIgZmlsbD0idXJsKCNoYikiLz4KICA8cGF0aCBkPSJNNDAgMjY0aDQ2NGwtMiA0SDQyeiIgZmlsbD0iI2ZmZiIgb3BhY2l0eT0iLjciLz4KICA8cmVjdCB4PSIyMzYiIHk9IjI2NCIgd2lkdGg9IjcyIiBoZWlnaHQ9IjUiIHJ4PSIyLjUiIGZpbGw9IiM4RTk1OTciLz4KICA8ZWxsaXBzZSBjeD0iMjcyIiBjeT0iMzE4IiByeD0iMjM1IiByeT0iMTAiIGZpbGw9IiMwMDAiIG9wYWNpdHk9Ii4yNSIvPjwvc3ZnPmA7Cn0KZnVuY3Rpb24gcHJvZHVjdE1lZGlhKHAsIGNscz0iIil7CiAgcmV0dXJuIHAuaW1hZ2VzICYmIHAuaW1hZ2VzLmxlbmd0aAogICAgPyBgPGltZyBjbGFzcz0icGgtYmciIHNyYz0iJHtlc2MocC5pbWFnZXNbMF0uc3JjKX0iIGFsdD0iIiBhcmlhLWhpZGRlbj0idHJ1ZSIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj48aW1nIGNsYXNzPSJwaC1mZyIgc3JjPSIke2VzYyhwLmltYWdlc1swXS5zcmMpfSIgYWx0PSIke2VzYyhwLmltYWdlc1swXS5hbHQgfHwgcE5hbWUocCkgKyAiIGxhcHRvcCIpfSIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj5gCiAgICA6IGxhcHRvcEFydChwLmJyYW5kLCBgJHtwTmFtZShwKX0gbGFwdG9wYCk7Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICA0KSBEQVRBIExBWUVSIOKAlCBsaXZlIFdvb0NvbW1lcmNlIHByb2R1Y3RzICsgV29yZFByZXNzIHBvc3RzCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwpjb25zdCBCUkFORFMgPSBbIkRlbGwiLCJMZW5vdm8iLCJIUCIsIk1pY3Jvc29mdCIsIkFwcGxlIiwiT3RoZXIiXTsKY29uc3QgUFJPQ1MgPSBbImk1IiwiaTciLCJpOSIsIkNvcmUgVWx0cmEiLCJBTUQiXTsKZnVuY3Rpb24gcHJvY0ZhbWlseShjcHUpewogIGNvbnN0IGMgPSAoY3B1fHwiIikudG9Mb3dlckNhc2UoKTsKICBpZiAoL3VsdHJhLy50ZXN0KGMpKSByZXR1cm4gIkNvcmUgVWx0cmEiOwogIGlmICgvXGJpOVxifGk5Wy0gXS8udGVzdChjKSkgcmV0dXJuICJpOSI7CiAgaWYgKC9cYmk3XGJ8aTdbLSBdLy50ZXN0KGMpKSByZXR1cm4gImk3IjsKICBpZiAoL1xiaTVcYnxpNVstIF0vLnRlc3QoYykpIHJldHVybiAiaTUiOwogIGlmICgvcnl6ZW58YW1kLy50ZXN0KGMpKSByZXR1cm4gIkFNRCI7CiAgcmV0dXJuICJPdGhlciI7Cn0KZnVuY3Rpb24gbm9ybUJyYW5kKHMpewogIGNvbnN0IHQ9KHN8fCIiKS50b0xvd2VyQ2FzZSgpOwogIGlmICh0LmluY2x1ZGVzKCJkZWxsIikpIHJldHVybiAiRGVsbCI7IGlmICh0LmluY2x1ZGVzKCJsZW5vdm8iKXx8dC5pbmNsdWRlcygidGhpbmtwYWQiKSkgcmV0dXJuICJMZW5vdm8iOwogIGlmICh0LmluY2x1ZGVzKCJocCIpfHx0LmluY2x1ZGVzKCJlbGl0ZWJvb2siKXx8dC5pbmNsdWRlcygiemJvb2siKXx8dC5pbmNsdWRlcygicHJvYm9vayIpKSByZXR1cm4gIkhQIjsKICBpZiAodC5pbmNsdWRlcygibWljcm9zb2Z0Iil8fHQuaW5jbHVkZXMoInN1cmZhY2UiKSkgcmV0dXJuICJNaWNyb3NvZnQiOwogIGlmICh0LmluY2x1ZGVzKCJhcHBsZSIpfHx0LmluY2x1ZGVzKCJtYWNib29rIikpIHJldHVybiAiQXBwbGUiOyByZXR1cm4gIk90aGVyIjsKfQpmdW5jdGlvbiBlbnJpY2gocCl7CiAgcC5icmFuZCA9IEJSQU5EUy5pbmNsdWRlcyhwLmJyYW5kKSA\/IHAuYnJhbmQgOiBub3JtQnJhbmQocC5icmFuZCArICIgIiArIHAubW9kZWwpOwogIHAucHJvYyA9IHByb2NGYW1pbHkocC5jcHUpOwogIHAuaGF5ID0gW3AuYnJhbmQscC5tb2RlbCxwLmNwdSxwLnJhbSxwLnN0b3JhZ2UscC5zY3JlZW4scC5jb25kaXRpb24scC5wcm9jXS5qb2luKCIgIikudG9Mb3dlckNhc2UoKTsKICBwLmltYWdlcyA9IHAuaW1hZ2VzIHx8IFtdOwogIHJldHVybiBwOwp9CmNvbnN0IFdPUkRTID0geyB0aGlua3BhZDoiVGhpbmtQYWQiLCB0aGlua2Jvb2s6IlRoaW5rQm9vayIsIGlkZWFwYWQ6IklkZWFQYWQiLCBlbGl0ZWJvb2s6IkVsaXRlQm9vayIsIHByb2Jvb2s6IlByb0Jvb2siLCB6Ym9vazoiWkJvb2siLCBtYWNib29rOiJNYWNCb29rIiwgeHBzOiJYUFMiLCAiMmluMSI6IjItaW4tMSIsIGhwOiJIUCIsIGc6IkciIH07CmZ1bmN0aW9uIHRpdGxlTW9kZWwocyl7CiAgcmV0dXJuIHMudHJpbSgpLnNwbGl0KC9ccysvKS5tYXAodyA9PiB7IGNvbnN0IGwgPSB3LnRvTG93ZXJDYXNlKCk7CiAgICBpZiAoV09SRFNbbF0pIHJldHVybiBXT1JEU1tsXTsKICAgIGlmICgvXlthLXpdKyQvLnRlc3QobCkpIHJldHVybiBsWzBdLnRvVXBwZXJDYXNlKCkgKyBsLnNsaWNlKDEpOwogICAgcmV0dXJuIHcudG9VcHBlckNhc2UoKTsgfSkuam9pbigiICIpLnJlcGxhY2UoLy1HKFxkKS8sIiBHJDEiKTsKfQpjb25zdCBjYXAgPSBzID0+IFN0cmluZyhzfHwiIikudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cYlx3L2csIGMgPT4gYy50b1VwcGVyQ2FzZSgpKTsKZnVuY3Rpb24gbmljZUNwdShjKXsKICByZXR1cm4gU3RyaW5nKGN8fCIiKS5yZXBsYWNlKC9cYklOVEVMXGIvaSwiSW50ZWwiKS5yZXBsYWNlKC9cYkNPUkVcYi9pLCJDb3JlIikucmVwbGFjZSgvXGJJKFszNTc5XSlcYlxzKi9pLCJpJDEtIikucmVwbGFjZSgvLShcZHs0LDV9W0EtWjAtOV0qKS9pLChtLGEpPT4iLSIrYS50b1VwcGVyQ2FzZSgpKQogICAgLnJlcGxhY2UoL1xiVUxUUkFcYi9pLCJVbHRyYSIpLnJlcGxhY2UoL1woPyhcZHsxLDJ9KShTVHxORHxSRHxUSClccypHRU4oRVJBVElPTik\/XCk\/L2ksKG0sbix0KT0+YCgke259JHt0LnRvTG93ZXJDYXNlKCl9IEdlbilgKQogICAgLnJlcGxhY2UoL0NvcmVccysoQ0VMRVJPTnxQRU5USVVNKS9pLChtLGEpPT5jYXAoYSkpLnJlcGxhY2UoL1woKFxkKylccypDT1JFXCkvaSwiKCQxLWNvcmUpIikucmVwbGFjZSgvXHN7Mix9L2csIiAiKS5yZXBsYWNlKC8tXHMvLCItIikudHJpbSgpOwp9CmZ1bmN0aW9uIG1hcFdvbyh3KXsKICBjb25zdCBuYW1lID0gZGVjb2RlKHcubmFtZSk7CiAgY29uc3QgcGFydHMgPSBuYW1lLnNwbGl0KCJ8IikubWFwKHggPT4geC50cmltKCkpOwogIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOyBkaXYuaW5uZXJIVE1MID0gKHcuZGVzY3JpcHRpb258fCIiKSArICJcbiIgKyAody5zaG9ydF9kZXNjcmlwdGlvbnx8IiIpOwogIGNvbnN0IGt2ID0ge307CiAgZGl2LnF1ZXJ5U2VsZWN0b3JBbGwoInRyIikuZm9yRWFjaCh0ciA9PiB7IGNvbnN0IGMgPSB0ci5xdWVyeVNlbGVjdG9yQWxsKCJ0aCx0ZCIpOyBpZiAoYy5sZW5ndGg+PTIpIGt2W2NbMF0udGV4dENvbnRlbnQudHJpbSgpLnRvTG93ZXJDYXNlKCldID0gY1sxXS50ZXh0Q29udGVudC50cmltKCk7IH0pOwogICh3LmF0dHJpYnV0ZXN8fFtdKS5mb3JFYWNoKGEgPT4ga3ZbKGEubmFtZXx8IiIpLnRvTG93ZXJDYXNlKCldID0gKGEudGVybXN8fFtdKS5tYXAodD0+dC5uYW1lKS5qb2luKCIsICIpKTsKICAvLyBleGFjdCBrZXkgZmlyc3QsIHRoZW4gcGFydGlhbCBtYXRjaAogIGNvbnN0IHBpY2sgPSAoLi4ua2V5cykgPT4geyBmb3IgKGNvbnN0IGsgb2Yga2V5cykgaWYgKGt2W2tdKSByZXR1cm4ga3Zba107IGZvciAoY29uc3QgayBvZiBrZXlzKSBmb3IgKGNvbnN0IGtrIGluIGt2KSBpZiAoa2suaW5jbHVkZXMoaykgJiYga3Zba2tdKSByZXR1cm4ga3Zba2tdOyByZXR1cm4gIiI7IH07CiAgY29uc3QgaGVhZCA9IHBhcnRzWzBdIHx8IG5hbWU7CiAgY29uc3QgYnJhbmQgPSBub3JtQnJhbmQoaGVhZCArICIgIiArICh3LmNhdGVnb3JpZXN8fFtdKS5tYXAoYz0+Yy5uYW1lKS5qb2luKCIgIikpOwogIGNvbnN0IG1vZGVsID0gdGl0bGVNb2RlbChoZWFkLnJlcGxhY2UoL14ocmVmdXJiaXNoZWR8dXNlZClccysvaSwiIikucmVwbGFjZShuZXcgUmVnRXhwKCJeKCIgKyBicmFuZCArICJ8aHB8ZGVsbHxsZW5vdm98YXBwbGV8bWljcm9zb2Z0KVxccysiLCJpIiksIiIpKTsKICBjb25zdCB0b3VjaCA9IC9eeS9pLnRlc3QocGljaygidG91Y2ggc2NyZWVuIiwidG91Y2giKSk7CiAgbGV0IHNjcmVlbiA9IHBpY2soImRpc3BsYXkiLCJzY3JlZW4gc2l6ZSIsInNjcmVlbiIpLnJlcGxhY2UoL+KAsy9nLCciJyk7CiAgaWYgKHRvdWNoICYmIHNjcmVlbiAmJiAhL3RvdWNoL2kudGVzdChzY3JlZW4pKSBzY3JlZW4gKz0gIiBUb3VjaCI7CiAgY29uc3QgcnggPSByID0+IChuYW1lLm1hdGNoKHIpfHxbIiJdKVswXS50cmltKCk7CiAgcmV0dXJuIGVucmljaCh7CiAgICBpZDogInciICsgdy5pZCwgYnJhbmQsIG1vZGVsLCBza3U6IHcuc2t1LCBmZWF0dXJlZDogISF3LmZlYXR1cmVkLAogICAgY3B1OiBuaWNlQ3B1KHBpY2soInByb2Nlc3NvciIsImNwdSIpIHx8IHBhcnRzWzFdIHx8ICIiKSwKICAgIHJhbTogKHBpY2soInJhbSIsIm1lbW9yeSIpIHx8IHJ4KC9cYlxkezEsMn1ccz9HQig\/PVxzKlJBTSkvaSkpLnJlcGxhY2UoL1xzKlJBTSQvaSwiIiksCiAgICBzdG9yYWdlOiBwaWNrKCJzdG9yYWdlIiwic3NkIiwiaGRkIikgfHwgcngoL1xiXGQrXHM\/KEdCfFRCKVxzPyhTU0R8SEREfE5WTWUpL2kpLAogICAgc2NyZWVuLAogICAgY29uZGl0aW9uOiBjYXAocGljaygiY29uZGl0aW9uIiwiZ3JhZGUiKSkgfHwgIlJlZnVyYmlzaGVkIiwKICAgIHF0eTogcGljaygicXVhbnRpdHkiLCJxdHkiLCJhdmFpbGFibGUgcXVhbnRpdHkiLCJzdG9jayBxdHkiKSB8fCAody5pc19pbl9zdG9jayA9PT0gZmFsc2UgPyAiQXNrIiA6ICJJbiBzdG9jayIpLAogICAgc3BlY3M6IE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhrdikubWFwKChbayx2XSkgPT4gW2ssIC9eW0EtWjAtOSAuLC8oKS1dKyQvLnRlc3QodikgJiYgdi5sZW5ndGggPiAzID8gY2FwKHYpIDogdl0pKSwKICAgIGltYWdlczogKHcuaW1hZ2VzfHxbXSkuZmlsdGVyKGkgPT4gIS9QSE9UT1wucG5nL2kudGVzdChpLnNyYykpLm1hcChpID0+ICh7IHNyYzppLnNyYywgYWx0OmkuYWx0IHx8IG5hbWUgfSkpLAogICAgdXJsOiB3LnBlcm1hbGluawogIH0pOwp9CmZ1bmN0aW9uIG1hcFBvc3QocCl7CiAgY29uc3QgZSA9IHAuX2VtYmVkZGVkIHx8IHt9OwogIGNvbnN0IGltZyA9IGVbIndwOmZlYXR1cmVkbWVkaWEiXSAmJiBlWyJ3cDpmZWF0dXJlZG1lZGlhIl1bMF07CiAgY29uc3QgY2F0ID0gZVsid3A6dGVybSJdICYmIGVbIndwOnRlcm0iXVswXSAmJiBlWyJ3cDp0ZXJtIl1bMF1bMF07CiAgY29uc3QgZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOyBkLmlubmVySFRNTCA9IHAuZXhjZXJwdCA\/IHAuZXhjZXJwdC5yZW5kZXJlZCA6ICIiOwogIHJldHVybiB7IHNsdWc6cC5zbHVnLCB0aXRsZTpkZWNvZGUocC50aXRsZS5yZW5kZXJlZCksIGRhdGU6cC5kYXRlLCBjYXRlZ29yeTogY2F0ID8gZGVjb2RlKGNhdC5uYW1lKSA6ICJJbnNpZ2h0cyIsCiAgICBleGNlcnB0OiBkLnRleHRDb250ZW50LnRyaW0oKS5yZXBsYWNlKC9ccypcW+KAplxdfFxzKlJlYWQgbW9yZS4qJC9pLCIiKSwgaHRtbDpwLmNvbnRlbnQucmVuZGVyZWQsCiAgICBpbWFnZTogaW1nICYmIGltZy5zb3VyY2VfdXJsID8geyBzcmM6KGltZy5tZWRpYV9kZXRhaWxzJiZpbWcubWVkaWFfZGV0YWlscy5zaXplcyYmaW1nLm1lZGlhX2RldGFpbHMuc2l6ZXMubGFyZ2UgPyBpbWcubWVkaWFfZGV0YWlscy5zaXplcy5sYXJnZS5zb3VyY2VfdXJsIDogaW1nLnNvdXJjZV91cmwpLCBhbHQ6IGltZy5hbHRfdGV4dCB8fCBkZWNvZGUocC50aXRsZS5yZW5kZXJlZCkgfSA6IG51bGwgfTsKfQpjb25zdCBzdGF0ZSA9IHsgcHJvZHVjdHM6IFtdLCBwb3N0czogW10sIGxpdmU6IGZhbHNlLCBwb3N0c0xpdmU6IGZhbHNlLCBmaWx0ZXI6IHsgcToiIiwgYnJhbmRzOm5ldyBTZXQoKSwgcHJvY3M6bmV3IFNldCgpIH0sIGJsb2dDYXQ6ICJBbGwiLCBwcmVmaWxsOiAiIiB9Owpjb25zdCBpc0xpdmVIb3N0ID0gKCkgPT4gQ09ORklHLkxJVkVfSE9TVFMuaW5jbHVkZXMobG9jYXRpb24uaG9zdG5hbWUpOwpmdW5jdGlvbiB3aXRoVGltZW91dChwciwgbXMpeyByZXR1cm4gUHJvbWlzZS5yYWNlKFtwciwgbmV3IFByb21pc2UoKF8scik9PnNldFRpbWVvdXQoKCk9PnIobmV3IEVycm9yKCJ0aW1lb3V0IikpLG1zKSldKTsgfQphc3luYyBmdW5jdGlvbiBsb2FkRGF0YSgpewogIHN0YXRlLnByb2R1Y3RzID0gU0FNUExFX1BST0RVQ1RTLm1hcChwID0+IGVucmljaCh7Li4ucH0pKTsKICBzdGF0ZS5wb3N0cyA9IFNBTVBMRV9QT1NUUy5zbGljZSgpOwogIGlmICghaXNMaXZlSG9zdCgpKSByZXR1cm47CiAgY29uc3QgZ2V0QWxsUHJvZHVjdHMgPSBhc3luYyAoKSA9PiB7IGxldCBhbGwgPSBbXSwgcGFnZSA9IDE7CiAgICB3aGlsZSAocGFnZSA8PSAxMCl7IGNvbnN0IHIgPSBhd2FpdCBmZXRjaChDT05GSUcuUkVTVCgiL3djL3N0b3JlL3YxL3Byb2R1Y3RzIikgKyAiJnBlcl9wYWdlPTEwMCZwYWdlPSIgKyBwYWdlKTsgaWYgKCFyLm9rKSBicmVhazsKICAgICAgY29uc3QgaiA9IGF3YWl0IHIuanNvbigpOyBhbGwgPSBhbGwuY29uY2F0KGopOyBpZiAoai5sZW5ndGggPCAxMDApIGJyZWFrOyBwYWdlKys7IH0KICAgIHJldHVybiBhbGw7IH07CiAgY29uc3QgW3Byb2RzLCBwb3N0c10gPSBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoWwogICAgd2l0aFRpbWVvdXQoZ2V0QWxsUHJvZHVjdHMoKSwgODAwMCksCiAgICB3aXRoVGltZW91dChmZXRjaChDT05GSUcuUkVTVCgiL3dwL3YyL3Bvc3RzIikgKyAiJnBlcl9wYWdlPTUwJl9lbWJlZD0xIikudGhlbihyID0+IHIub2sgPyByLmpzb24oKSA6IFByb21pc2UucmVqZWN0KHIuc3RhdHVzKSksIDgwMDApCiAgXSk7CiAgaWYgKHByb2RzLnN0YXR1cyA9PT0gImZ1bGZpbGxlZCIgJiYgcHJvZHMudmFsdWUubGVuZ3RoKXsgc3RhdGUucHJvZHVjdHMgPSBwcm9kcy52YWx1ZS5tYXAobWFwV29vKTsgc3RhdGUubGl2ZSA9IHRydWU7IH0KICBpZiAocG9zdHMuc3RhdHVzID09PSAiZnVsZmlsbGVkIiAmJiBwb3N0cy52YWx1ZS5sZW5ndGgpeyBzdGF0ZS5wb3N0cyA9IHBvc3RzLnZhbHVlLm1hcChtYXBQb3N0KTsgc3RhdGUucG9zdHNMaXZlID0gdHJ1ZTsgfQp9CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgNSkgU0VPCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwpmdW5jdGlvbiBzZXRNZXRhKHsgdGl0bGUsIGRlc2MsIHBhdGgsIGxkIH0pewogIGRvY3VtZW50LnRpdGxlID0gdGl0bGU7CiAgY29uc3Qgc2V0ID0gKHNlbCwgYXR0ciwgdmFsKSA9PiB7IGxldCBlbCA9ICQoc2VsKTsKICAgIGlmICghZWwgJiYgc2VsLnN0YXJ0c1dpdGgoIm1ldGEiKSl7IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibWV0YSIpOyBjb25zdCBtID0gc2VsLm1hdGNoKC9cWyhuYW1lfHByb3BlcnR5KT0iKFteIl0rKSJcXS8pOyBpZiAobSkgZWwuc2V0QXR0cmlidXRlKG1bMV0sIG1bMl0pOyBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGVsKTsgfQogICAgaWYgKGVsKSBlbC5zZXRBdHRyaWJ1dGUoYXR0ciwgdmFsKTsgfTsKICBzZXQoJ21ldGFbbmFtZT0iZGVzY3JpcHRpb24iXScsImNvbnRlbnQiLGRlc2MpOwogIHNldCgnbWV0YVtwcm9wZXJ0eT0ib2c6dGl0bGUiXScsImNvbnRlbnQiLHRpdGxlKTsKICBzZXQoJ21ldGFbcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIl0nLCJjb250ZW50IixkZXNjKTsKICBzZXQoJ21ldGFbcHJvcGVydHk9Im9nOnVybCJdJywiY29udGVudCIsYWJzKHBhdGgpKTsKICBpZiAoIVdQX01PREUpIHNldCgnbGlua1tyZWw9ImNhbm9uaWNhbCJdJywiaHJlZiIsYWJzKHBhdGgpKTsKICBjb25zdCBvcmcgPSB7ICJAdHlwZSI6Ik9yZ2FuaXphdGlvbiIsICJAaWQiOkNPTkZJRy5TSVRFX1VSTCsiLyNvcmciLCBuYW1lOkNPTkZJRy5CVVNJTkVTU19OQU1FLCB1cmw6Q09ORklHLlNJVEVfVVJMLAogICAgLi4uKENPTkZJRy5MT0dPX1VSTCA\/IHsgbG9nbzogbmV3IFVSTChDT05GSUcuTE9HT19VUkwsIENPTkZJRy5TSVRFX1VSTCkuaHJlZiB9IDoge30pIH07CiAgbGV0IGxkRWwgPSAkKCIjbGQiKTsgaWYgKCFsZEVsKXsgbGRFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOyBsZEVsLnR5cGUgPSAiYXBwbGljYXRpb24vbGQranNvbiI7IGxkRWwuaWQgPSAibGQiOyBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGxkRWwpOyB9CiAgbGRFbC50ZXh0Q29udGVudCA9IEpTT04uc3RyaW5naWZ5KHsgIkBjb250ZXh0IjoiaHR0cHM6Ly9zY2hlbWEub3JnIiwgIkBncmFwaCI6W29yZywgLi4uKGxkfHxbXSldIH0pOwp9CmZ1bmN0aW9uIGxvY2FsQnVzaW5lc3NMRCgpewogIGNvbnN0IGxiID0geyAiQHR5cGUiOiJMb2NhbEJ1c2luZXNzIiwgIkBpZCI6Q09ORklHLlNJVEVfVVJMKyIvI2J1c2luZXNzIiwgbmFtZTpDT05GSUcuQlVTSU5FU1NfTkFNRSwgdXJsOkNPTkZJRy5TSVRFX1VSTCwKICAgIGRlc2NyaXB0aW9uOiJCMkIgd2hvbGVzYWxlIHN1cHBsaWVyIG9mIHVzZWQgYW5kIHJlZnVyYmlzaGVkIGxhcHRvcHMgdG8gZGVhbGVycywgcmVzZWxsZXJzLCBkaXN0cmlidXRvcnMgYW5kIGJ1c2luZXNzIGJ1eWVycy4iLAogICAgYWRkcmVzczp7ICJAdHlwZSI6IlBvc3RhbEFkZHJlc3MiLCBhZGRyZXNzTG9jYWxpdHk6Ikd1cmdhb24iLCBhZGRyZXNzUmVnaW9uOiJIYXJ5YW5hIiwgYWRkcmVzc0NvdW50cnk6IklOIiB9IH07CiAgaWYgKCFpc1BoKENPTkZJRy5QSE9ORSkpIGxiLnRlbGVwaG9uZSA9IENPTkZJRy5QSE9ORTsKICBpZiAoIWlzUGgoQ09ORklHLkVNQUlMKSkgbGIuZW1haWwgPSBDT05GSUcuRU1BSUw7CiAgcmV0dXJuIGxiOwp9CmNvbnN0IGNydW1iTEQgPSAobmFtZSwgcGF0aCkgPT4gKHsgIkB0eXBlIjoiQnJlYWRjcnVtYkxpc3QiLCBpdGVtTGlzdEVsZW1lbnQ6WwogIHsgIkB0eXBlIjoiTGlzdEl0ZW0iLCBwb3NpdGlvbjoxLCBuYW1lOiJIb21lIiwgaXRlbTphYnMoIi8iKSB9LCB7ICJAdHlwZSI6Ikxpc3RJdGVtIiwgcG9zaXRpb246MiwgbmFtZSwgaXRlbTphYnMocGF0aCkgfSBdfSk7CgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgNikgU0hBUkVEIENPTVBPTkVOVFMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCmNvbnN0IE5BViA9IFtbIi8iLCJIb21lIl0sWyIvYWJvdXQiLCJBYm91dCBVcyJdLFsiL3Byb2R1Y3RzIiwiUHJvZHVjdHMiXSxbIi9ibG9ncyIsIkJsb2dzIl0sWyIvY29udGFjdCIsIkNvbnRhY3QgVXMiXV07CmZ1bmN0aW9uIGxvZ29IVE1MKGZvb3Rlcil7CiAgY29uc3QgaW1nID0gYDxpbWcgc3JjPSIke2VzYyhDT05GSUcuTE9HT19VUkwpfSIgYWx0PSJTLksuIEluZm93YXlzIOKAkyBBbGwgQWJvdXQgTGFwdG9wcyIgd2lkdGg9IjQyOSIgaGVpZ2h0PSIxMzIiPmA7CiAgcmV0dXJuIGZvb3RlciA\/IGA8c3BhbiBjbGFzcz0iZmxvZ28iPiR7aW1nfTwvc3Bhbj5gIDogaW1nOwp9CmZ1bmN0aW9uIHJlbmRlckNocm9tZSgpewogICQoIiNsb2dvLWgiKS5pbm5lckhUTUwgPSBsb2dvSFRNTChmYWxzZSk7ICQoIiNsb2dvLWgiKS5ocmVmID0gaHJlZigiLyIpOwogICQoIiNuYXYiKS5pbm5lckhUTUwgPSBOQVYubWFwKChbcCxsXSkgPT4gYDxhIGhyZWY9IiR7aHJlZihwKX0iIGRhdGEtbGluayBkYXRhLXBhdGg9IiR7cH0iPiR7bH08L2E+YCkuam9pbigiIik7CiAgJCgiI3dhLWhkciIpLmhyZWYgPSB3YUdlbmVyYWwoKTsgJCgiI3dhLWhkciIpLmlubmVySFRNTCA9IGljb24oImNoYXQiKSArICJXaGF0c0FwcCI7CiAgJCgiI21uYXYiKS5pbm5lckhUTUwgPSBOQVYubWFwKChbcCxsXSkgPT4gYDxhIGNsYXNzPSJtbCIgaHJlZj0iJHtocmVmKHApfSIgZGF0YS1saW5rIGRhdGEtcGF0aD0iJHtwfSI+JHtsfTwvYT5gKS5qb2luKCIiKQogICAgKyBgPGEgY2xhc3M9ImJ0biBidG4td2EiIGhyZWY9IiR7d2FHZW5lcmFsKCl9IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+JHtpY29uKCJjaGF0Iil9Q2hhdCBvbiBXaGF0c0FwcDwvYT4KICAgICAgIDxwIGNsYXNzPSJtbm90ZSI+JHtlc2MoQ09ORklHLkFERFJFU1MpfTwvcD5gOwogICQoIiN3YS1mbG9hdCIpLmhyZWYgPSB3YUdlbmVyYWwoKTsgJCgiI3dhLWZsb2F0IikuaW5uZXJIVE1MID0gaWNvbigiY2hhdCIpICsgIjxzcGFuPldoYXRzQXBwPC9zcGFuPiI7CiAgJCgiI2Z0ciIpLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9ImZncmlkNCI+CiAgICAgIDxkaXY+PGEgY2xhc3M9ImxvZ28iIGhyZWY9IiR7aHJlZigiLyIpfSIgZGF0YS1saW5rPiR7bG9nb0hUTUwodHJ1ZSl9PC9hPgogICAgICAgIDxwIGNsYXNzPSJmYWJvdXQiPkIyQiB3aG9sZXNhbGUgc3VwcGxpZXIgb2YgdXNlZCBhbmQgcmVmdXJiaXNoZWQgbGFwdG9wcyB0byBkZWFsZXJzLCByZXNlbGxlcnMgYW5kIGJ1c2luZXNzIGJ1eWVycy48L3A+CiAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4td2EgYnRuLXNtIiBocmVmPSIke3dhR2VuZXJhbCgpfSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPiR7aWNvbigiY2hhdCIpfVdoYXRzQXBwIHVzPC9hPjwvZGl2PgogICAgICA8ZGl2PjxoMz5QYWdlczwvaDM+PHVsPiR7TkFWLm1hcCgoW3AsbF0pID0+IGA8bGk+PGEgaHJlZj0iJHtocmVmKHApfSIgZGF0YS1saW5rPiR7bH08L2E+PC9saT5gKS5qb2luKCIiKX08L3VsPjwvZGl2PgogICAgICA8ZGl2PjxoMz5TdG9jazwvaDM+PHVsPiR7WyJEZWxsIiwiTGVub3ZvIiwiSFAiLCJNaWNyb3NvZnQiLCJBcHBsZSJdLm1hcChiID0+IGA8bGk+PGEgaHJlZj0iJHtocmVmKCIvcHJvZHVjdHMiKX0iIGRhdGEtbGluayBkYXRhLWJyYW5kPSIke2J9Ij5Vc2VkICR7Yn0gbGFwdG9wczwvYT48L2xpPmApLmpvaW4oIiIpfTwvdWw+PC9kaXY+CiAgICAgIDxkaXY+PGgzPkNvbnRhY3Q8L2gzPjx1bD4KICAgICAgICA8bGk+JHtlc2MoQ09ORklHLkFERFJFU1MpfTwvbGk+CiAgICAgICAgPGxpPiR7cGhvbmVzSFRNTCgpfTwvbGk+CiAgICAgICAgPGxpPiR7aXNQaChDT05GSUcuRU1BSUwpID8gc2hvdyhDT05GSUcuRU1BSUwpIDogYDxhIGhyZWY9Im1haWx0bzoke2VzYyhDT05GSUcuRU1BSUwpfSI+JHtlc2MoQ09ORklHLkVNQUlMKX08L2E+YH08L2xpPgogICAgICAgIDxsaT4ke3Nob3coQ09ORklHLkhPVVJTKX08L2xpPjwvdWw+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZib3R0b20iPjxzcGFuPsKpICR7bmV3IERhdGUoKS5nZXRGdWxsWWVhcigpfSBTSyBJbmZvd2F5cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L3NwYW4+PHNwYW4+VXNlZCAmYW1wOyByZWZ1cmJpc2hlZCBsYXB0b3BzIHdob2xlc2FsZSwgR3VyZ2FvbiwgSW5kaWE8L3NwYW4+PC9kaXY+CiAgPC9kaXY+YDsKfQpjb25zdCB3YURpc3BsYXkgPSAoKSA9PiAiKyIgKyBDT05GSUcuV0hBVFNBUFBfTlVNQkVSLnJlcGxhY2UoL145MShcZHs1fSkoXGR7NX0pJC8sICI5MSAkMSAkMiIpOwpmdW5jdGlvbiBwaG9uZXNIVE1MKCl7CiAgcmV0dXJuIFtDT05GSUcuUEhPTkUsIENPTkZJRy5QSE9ORV8yXS5maWx0ZXIoQm9vbGVhbikubWFwKHAgPT4gaXNQaChwKSA\/IHNob3cocCkgOiBgPGEgaHJlZj0idGVsOiR7ZXNjKHAucmVwbGFjZSgvXHMvZywiIikpfSI+JHtlc2MocCl9PC9hPmApLmpvaW4oIjxicj4iKTsKfQpmdW5jdGlvbiBwcm9kdWN0Q2FyZChwLCBvblByb2R1Y3RzKXsKICByZXR1cm4gYDxhcnRpY2xlIGNsYXNzPSJwY2FyZCByZXZlYWwiPgogICAgPGJ1dHRvbiBjbGFzcz0icG1lZGlhIiBkYXRhLW9wZW49IiR7ZXNjKHAuaWQpfSIgYXJpYS1sYWJlbD0iVmlldyBkZXRhaWxzOiAke2VzYyhwTmFtZShwKSl9Ij4KICAgICAgJHtwcm9kdWN0TWVkaWEocCl9PHNwYW4gY2xhc3M9InRhZyI+JHtlc2MocC5jb25kaXRpb24pfTwvc3Bhbj4ke3AucXR5ID8gYDxzcGFuIGNsYXNzPSJ0YWcgcXR5Ij5RdHk6ICR7ZXNjKHAucXR5KX08L3NwYW4+YCA6ICIifQogICAgPC9idXR0b24+CiAgICA8ZGl2IGNsYXNzPSJwYm9keSI+CiAgICAgIDxzcGFuIGNsYXNzPSJwYnJhbmQiPiR7ZXNjKHAuYnJhbmQpfTwvc3Bhbj4KICAgICAgPGgzPiR7cC51cmwgPyBgPGEgY2xhc3M9InBsaW5rIiBocmVmPSIke2VzYyhwLnVybCl9IiBkYXRhLW9wZW49IiR7ZXNjKHAuaWQpfSI+JHtlc2MocC5tb2RlbCl9PC9hPmAgOiBlc2MocC5tb2RlbCl9PC9oMz4KICAgICAgPGRsIGNsYXNzPSJzcGVjcyI+CiAgICAgICAgPGRpdj48ZHQ+UHJvY2Vzc29yPC9kdD48ZGQ+JHtlc2MocC5jcHV8fCLigJQiKX08L2RkPjwvZGl2PgogICAgICAgIDxkaXY+PGR0PlJBTTwvZHQ+PGRkPiR7ZXNjKHAucmFtfHwi4oCUIil9PC9kZD48L2Rpdj4KICAgICAgICA8ZGl2PjxkdD5TdG9yYWdlPC9kdD48ZGQ+JHtlc2MocC5zdG9yYWdlfHwi4oCUIil9PC9kZD48L2Rpdj4KICAgICAgICA8ZGl2PjxkdD5TY3JlZW48L2R0PjxkZD4ke2VzYyhwLnNjcmVlbnx8IuKAlCIpfTwvZGQ+PC9kaXY+CiAgICAgIDwvZGw+CiAgICAgIDxkaXYgY2xhc3M9InBtZXRhIj48c3BhbiBjbGFzcz0iY29uZCI+JHtlc2MocC5jb25kaXRpb24pfTwvc3Bhbj4KICAgICAgICA8YSBjbGFzcz0icHJpY2UtcmVxIiBocmVmPSIke3dhUHJvZHVjdChwKX0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5SZXF1ZXN0IHdob2xlc2FsZSBwcmljZTwvYT48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFjdGlvbnMiPgogICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIiBkYXRhLW9wZW49IiR7ZXNjKHAuaWQpfSI+VmlldyBkZXRhaWxzPC9idXR0b24+CiAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4td2EgYnRuLXNtIiBocmVmPSIke3dhUHJvZHVjdChwKX0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBhcmlhLWxhYmVsPSJXaGF0c0FwcCBlbnF1aXJ5IGZvciAke2VzYyhwTmFtZShwKSl9Ij4ke2ljb24oImNoYXQiKX1FbnF1aXJlPC9hPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PjwvYXJ0aWNsZT5gOwp9CmZ1bmN0aW9uIGN0YUJhbmQoaCwgcCwgc2Vjb25kKXsKICByZXR1cm4gYDxzZWN0aW9uIGNsYXNzPSJzZWMiIHN0eWxlPSJwYWRkaW5nLXRvcDowIj48ZGl2IGNsYXNzPSJ3cmFwIj48ZGl2IGNsYXNzPSJjdGEgb24tZGFyayByZXZlYWwiPgogICAgPGRpdj48aDI+JHtofTwvaDI+PHA+JHtwfTwvcD48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImJ0bnMiPiR7c2Vjb25kfTxhIGNsYXNzPSJidG4gYnRuLXdhIiBocmVmPSIke3dhR2VuZXJhbCgpfSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPiR7aWNvbigiY2hhdCIpfVdoYXRzQXBwIHVzPC9hPjwvZGl2PgogIDwvZGl2PjwvZGl2Pjwvc2VjdGlvbj5gOwp9CmZ1bmN0aW9uIHNhbXBsZU5vdGljZSgpeyByZXR1cm4gc3RhdGUubGl2ZSA\/ICIiIDogYDxwIGNsYXNzPSJub3RpY2UiPlByZXZpZXcgd2l0aCBzYW1wbGUgc3RvY2suIE9uIHNraW5mb3dheXMuY29tIHRoaXMgbGlzdCBzaG93cyB5b3VyIGxpdmUgcHJvZHVjdHMgZnJvbSB0aGUgV2Vic2l0ZSBQcm9kdWN0cyBzaGVldC48L3A+YDsgfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIDcpIFBBR0VTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwpmdW5jdGlvbiBIb21lKCl7CiAgY29uc3QgZmVhdCA9IChzdGF0ZS5wcm9kdWN0cy5maWx0ZXIocD0+cC5mZWF0dXJlZCkubGVuZ3RoID49IDQgPyBzdGF0ZS5wcm9kdWN0cy5maWx0ZXIocD0+cC5mZWF0dXJlZCkgOiBzdGF0ZS5wcm9kdWN0cykuc2xpY2UoMCw2KTsKICBjb25zdCBmID0gc3RhdGUucHJvZHVjdHMuZmluZChwID0+IHBOYW1lKHApLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoQ09ORklHLkhFUk9fUFJPRFVDVC50b0xvd2VyQ2FzZSgpKSkgfHwgZmVhdFswXTsKICBzZXRNZXRhKHsgdGl0bGU6IlVzZWQgJiBSZWZ1cmJpc2hlZCBMYXB0b3BzIFdob2xlc2FsZSBpbiBJbmRpYSB8IFNLIEluZm93YXlzIiwgcGF0aDoiLyIsCiAgICBkZXNjOiJTSyBJbmZvd2F5cyBzdXBwbGllcyBxdWFsaXR5IHVzZWQgYW5kIHJlZnVyYmlzaGVkIGxhcHRvcHMgaW4gYnVsayB0byBkZWFsZXJzLCByZXNlbGxlcnMsIGRpc3RyaWJ1dG9ycyBhbmQgYnVzaW5lc3MgYnV5ZXJzLiBEZWxsLCBMZW5vdm8sIEhQLCBNaWNyb3NvZnQgYW5kIEFwcGxlIHN0b2NrIGZyb20gR3VyZ2Fvbi4iLAogICAgbGQ6W2xvY2FsQnVzaW5lc3NMRCgpLCB7ICJAdHlwZSI6IldlYlNpdGUiLCBuYW1lOiJTSyBJbmZvd2F5cyIsIHVybDpDT05GSUcuU0lURV9VUkwgfV0gfSk7CiAgcmV0dXJuIGAKICA8c2VjdGlvbiBjbGFzcz0iaGVybyBvbi1kYXJrIj48ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXY+CiAgICAgIDxoMT48c3BhbiBjbGFzcz0iaC1saW5lIj5Vc2VkIExhcHRvcHMuPC9zcGFuPjxzcGFuIGNsYXNzPSJoLWxpbmUiPldob2xlc2FsZSBCdXNpbmVzcy48L3NwYW4+PHNwYW4gY2xhc3M9ImgtbGluZSI+VHJ1c3RlZCBTdXBwbHkuPC9zcGFuPjwvaDE+CiAgICAgIDxwIGNsYXNzPSJsZWFkIGgtZmFkZSI+UXVhbGl0eSB1c2VkIGFuZCByZWZ1cmJpc2hlZCBsYXB0b3BzIHN1cHBsaWVkIGluIGJ1bGsgdG8gZGVhbGVycywgcmVzZWxsZXJzLCBkaXN0cmlidXRvcnMgYW5kIGJ1c2luZXNzIGJ1eWVycy48L3A+CiAgICAgIDxkaXYgY2xhc3M9Imhlcm8tY3RhcyBoLWZhZGUiPgogICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIGhyZWY9IiR7aHJlZigiL3Byb2R1Y3RzIil9IiBkYXRhLWxpbms+VmlldyBwcm9kdWN0czwvYT4KICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1naG9zdCIgaHJlZj0iJHt3YUdlbmVyYWwoKX0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj4ke2ljb24oImNoYXQiKX1XaGF0c0FwcCB1czwvYT4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Imhlcm8tbm90ZSBoLWZhZGUiPjxzcGFuPiR7aWNvbigicGluIil9R3VyZ2FvbiwgSW5kaWE8L3NwYW4+PHNwYW4+JHtpY29uKCJsYXB0b3AiKX1EZWxsLCBMZW5vdm8sIEhQLCBNaWNyb3NvZnQsIEFwcGxlPC9zcGFuPjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJoZXJvLWFydCI+CiAgICAgICR7ZiAmJiBmLmltYWdlcy5sZW5ndGggPyBgPGRpdiBjbGFzcz0iaGVyby1waG90byI+PGltZyBzcmM9IiR7ZXNjKGYuaW1hZ2VzWzBdLnNyYyl9IiBhbHQ9IiR7ZXNjKHBOYW1lKGYpKX0g4oCTIHJlZnVyYmlzaGVkIGxhcHRvcCBhdCBTSyBJbmZvd2F5cyIgZmV0Y2hwcmlvcml0eT0iaGlnaCI+PC9kaXY+YCA6IGhlcm9BcnQoZiA\/IGYuYnJhbmQgOiAiRGVsbCIpfQogICAgICAke2YgPyBgPGJ1dHRvbiBjbGFzcz0ibG90IiBkYXRhLW9wZW49IiR7ZXNjKGYuaWQpfSIgYXJpYS1sYWJlbD0iVmlldyAke2VzYyhwTmFtZShmKSl9Ij4KICAgICAgICA8c21hbGw+SW4gc3RvY2sgbm93PC9zbWFsbD48c3Ryb25nPiR7ZXNjKHBOYW1lKGYpKX08L3N0cm9uZz4KICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOi44MnJlbTtjb2xvcjojNjU2QzZFIj4ke2VzYyhbZi5jcHUsZi5yYW0sZi5zdG9yYWdlXS5maWx0ZXIoQm9vbGVhbikuam9pbigiIHwgIikpfTwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0icm93Ij48c3Bhbj5Db25kaXRpb24gPGI+JHtlc2MoZi5jb25kaXRpb24pfTwvYj48L3NwYW4+PHNwYW4+UXR5IDxiPiR7ZXNjKGYucXR5KX08L2I+PC9zcGFuPjwvc3Bhbj48L2J1dHRvbj5gIDogIiJ9CiAgICA8L2Rpdj4KICA8L2Rpdj48L3NlY3Rpb24+CgogIDxzZWN0aW9uIGNsYXNzPSJobCIgYXJpYS1sYWJlbD0iQnVzaW5lc3MgaGlnaGxpZ2h0cyI+PGRpdiBjbGFzcz0id3JhcCI+CiAgICAke1tbInN0YWNrIiwiQnVsayBxdWFudGl0aWVzIiwiU3RvY2sgc3VwcGxpZWQgYnkgdGhlIGxvdCJdLFsic2hpZWxkIiwiUXVhbGl0eSBjaGVja2VkIHN0b2NrIiwiU3BlY3MgYW5kIGNvbmRpdGlvbiBzdGF0ZWQiXSxbImxheWVycyIsIk11bHRpcGxlIGJyYW5kcyIsIkRlbGwsIExlbm92bywgSFAgYW5kIG1vcmUiXSxbImJyaWVmIiwiQjJCIHdob2xlc2FsZSIsIkZvciBkZWFsZXJzIGFuZCBidXNpbmVzc2VzIl1dCiAgICAgIC5tYXAoKFtpLHQsZF0pID0+IGA8ZGl2IGNsYXNzPSJobC1pdGVtIj48c3BhbiBjbGFzcz0iaWMtYm94Ij4ke2ljb24oaSl9PC9zcGFuPjxkaXY+PGgzPiR7dH08L2gzPjxwPiR7ZH08L3A+PC9kaXY+PC9kaXY+YCkuam9pbigiIil9CiAgPC9kaXY+PC9zZWN0aW9uPgoKICA8c2VjdGlvbiBjbGFzcz0ic2VjIGFsdCI+PGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJzZWMtaGVhZCByZXZlYWwiPjxkaXY+PGgyPkZlYXR1cmVkIHN0b2NrPC9oMj48cCBjbGFzcz0ibGVhZCI+QSBzZWxlY3Rpb24gb2Ygd2hhdCdzIGF2YWlsYWJsZSBub3cuIFByaWNlcyBhcmUgc2hhcmVkIG9uIGVucXVpcnkuPC9wPjwvZGl2PgogICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1naG9zdCIgaHJlZj0iJHtocmVmKCIvcHJvZHVjdHMiKX0iIGRhdGEtbGluaz5WaWV3IGFsbCBwcm9kdWN0czwvYT48L2Rpdj4KICAgICR7c2FtcGxlTm90aWNlKCl9CiAgICA8ZGl2IGNsYXNzPSJncmlkLXAiPiR7ZmVhdC5tYXAocCA9PiBwcm9kdWN0Q2FyZChwKSkuam9pbigiIil9PC9kaXY+CiAgPC9kaXY+PC9zZWN0aW9uPgoKICA8c2VjdGlvbiBjbGFzcz0ic2VjIiBzdHlsZT0icGFkZGluZzo1NnB4IDAgMCI+PGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJicmFuZHMgcmV2ZWFsIiBhcmlhLWxhYmVsPSJCcmFuZHMgd2Ugc3RvY2siPjxzbWFsbD5CcmFuZHMgd2Ugc3RvY2s8L3NtYWxsPjxzcGFuPkRlbGw8L3NwYW4+PHNwYW4+TGVub3ZvPC9zcGFuPjxzcGFuPkhQPC9zcGFuPjxzcGFuPk1pY3Jvc29mdDwvc3Bhbj48c3Bhbj5BcHBsZTwvc3Bhbj48L2Rpdj4KICA8L2Rpdj48L3NlY3Rpb24+CgogIDxzZWN0aW9uIGNsYXNzPSJzZWMiPjxkaXYgY2xhc3M9IndyYXAiPgogICAgPGRpdiBjbGFzcz0ic2VjLWhlYWQgcmV2ZWFsIj48ZGl2PjxoMj5XaHkgU0sgSW5mb3dheXM8L2gyPjwvZGl2PjwvZGl2PgogICAgPGRpdiBjbGFzcz0id2h5Ij4KICAgICAgJHtbWyJ0YXJnZXQiLCJXaG9sZXNhbGUgZm9jdXMiLCJGb2N1c2VkIG9uIEIyQiBsYXB0b3Agc3VwcGx5LiJdLFsiYm94ZXMiLCJCdWxrIGF2YWlsYWJpbGl0eSIsIlN1aXRhYmxlIGZvciBkZWFsZXJzLCByZXNlbGxlcnMgYW5kIGJ1c2luZXNzIGJ1eWVycy4iXSxbInNoaWVsZCIsIlF1YWxpdHkgY29uc2Npb3VzIiwiU3RvY2sgaXMgY2hlY2tlZCBhbmQgc3BlY2lmaWNhdGlvbnMgYXJlIGNsZWFybHkgcHJlc2VudGVkLiJdLFsibGluayIsIkxvbmctdGVybSBidXNpbmVzcyIsIkZvY3VzZWQgb24gYnVpbGRpbmcgcmVsaWFibGUgQjJCIHJlbGF0aW9uc2hpcHMuIl1dCiAgICAgICAgLm1hcCgoW2ksdCxkXSkgPT4gYDxkaXYgY2xhc3M9IndjYXJkIHJldmVhbCI+JHtpY29uKGkpfTxoMz4ke3R9PC9oMz48cD4ke2R9PC9wPjwvZGl2PmApLmpvaW4oIiIpfQogICAgPC9kaXY+CiAgPC9kaXY+PC9zZWN0aW9uPgoKICAke2N0YUJhbmQoIkxvb2tpbmcgZm9yIGxhcHRvcHMgaW4gYnVsaz8iLCJMZXQncyBkaXNjdXNzIHlvdXIgcmVxdWlyZW1lbnQuIixgPGEgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgaHJlZj0iJHtocmVmKCIvcHJvZHVjdHMiKX0iIGRhdGEtbGluaz5WaWV3IHByb2R1Y3RzPC9hPmApfWA7Cn0KCmZ1bmN0aW9uIEFib3V0KCl7CiAgc2V0TWV0YSh7IHRpdGxlOiJBYm91dCBTSyBJbmZvd2F5cyB8IFVzZWQgTGFwdG9wIFdob2xlc2FsZSBTdXBwbGllciBpbiBHdXJnYW9uIiwgcGF0aDoiL2Fib3V0IiwKICAgIGRlc2M6IlNLIEluZm93YXlzIGlzIGEgR3VyZ2Fvbi1iYXNlZCB3aG9sZXNhbGUgc3VwcGxpZXIgb2YgdXNlZCBhbmQgcmVmdXJiaXNoZWQgbGFwdG9wcyBmb3IgZGVhbGVycywgcmVzZWxsZXJzLCBkaXN0cmlidXRvcnMgYW5kIGJ1bGsgYnVzaW5lc3MgYnV5ZXJzLiIsCiAgICBsZDpbbG9jYWxCdXNpbmVzc0xEKCksIGNydW1iTEQoIkFib3V0IFVzIiwiL2Fib3V0IildIH0pOwogIGNvbnN0IG9mZmVyID0gWwogICAgWyJsYXB0b3AiLCJVc2VkIGxhcHRvcHMiLCJCdXNpbmVzcy1ncmFkZSB1c2VkIGxhcHRvcHMsIGxpc3RlZCB3aXRoIGNsZWFyIHNwZWNpZmljYXRpb25zLiIsInVzZWQgbGFwdG9wcyJdLAogICAgWyJyZWZyZXNoIiwiUmVmdXJiaXNoZWQgbGFwdG9wcyIsIkNoZWNrZWQgYW5kIHByZXBhcmVkIHVuaXRzLCByZWFkeSBmb3IgcmVzYWxlIG9yIGRlcGxveW1lbnQuIiwicmVmdXJiaXNoZWQgbGFwdG9wcyJdLAogICAgWyJzdGFjayIsIkJ1bGsgbGFwdG9wIGxvdHMiLCJMb3RzIG9mIHRoZSBzYW1lIG1vZGVsIGFuZCBzcGVjIGZvciBlYXNpZXIgcmVzYWxlLiIsImJ1bGsgbGFwdG9wIGxvdHMiXSwKICAgIFsiYnVpbGRpbmciLCJCdXNpbmVzcyAvIGNvcnBvcmF0ZSByZXF1aXJlbWVudHMiLCJMYXB0b3BzIGZvciBvZmZpY2VzLCB0ZWFtcyBhbmQgaW5zdGl0dXRpb25hbCBidXllcnMuIiwiYSBidXNpbmVzcyAvIGNvcnBvcmF0ZSByZXF1aXJlbWVudCJdLAogICAgWyJzdG9yZSIsIkRlYWxlciAmIHJlc2VsbGVyIHN1cHBseSIsIlJlZ3VsYXIgc3RvY2sgZm9yIHNob3BzLCBkZWFsZXJzIGFuZCBvbmxpbmUgcmVzZWxsZXJzLiIsImRlYWxlciAvIHJlc2VsbGVyIHN1cHBseSJdCiAgXTsKICByZXR1cm4gYAogIDxzZWN0aW9uIGNsYXNzPSJwaGVybyBvbi1kYXJrIj48ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxuYXYgY2xhc3M9ImNydW1icyIgYXJpYS1sYWJlbD0iQnJlYWRjcnVtYiI+PGEgaHJlZj0iJHtocmVmKCIvIil9IiBkYXRhLWxpbms+SG9tZTwvYT4gLyBBYm91dCBVczwvbmF2PgogICAgPGgxPkFib3V0IFNLIEluZm93YXlzPC9oMT4KICAgIDxwIGNsYXNzPSJsZWFkIj5Zb3VyIEIyQiBwYXJ0bmVyIGZvciBxdWFsaXR5IHVzZWQgbGFwdG9wcy48L3A+CiAgPC9kaXY+PC9zZWN0aW9uPgoKICA8c2VjdGlvbiBjbGFzcz0ic2VjIj48ZGl2IGNsYXNzPSJ3cmFwIHNwbGl0Ij4KICAgIDxkaXYgY2xhc3M9InByb3NlLXMgcmV2ZWFsIj4KICAgICAgPGgyPk91ciBidXNpbmVzczwvaDI+CiAgICAgIDxwPlNLIEluZm93YXlzIGlzIGEgR3VyZ2Fvbi1iYXNlZCB3aG9sZXNhbGUgYnVzaW5lc3Mgc3VwcGx5aW5nIHVzZWQgYW5kIHJlZnVyYmlzaGVkIGxhcHRvcHMgdG8gZGVhbGVycywgcmVzZWxsZXJzLCBkaXN0cmlidXRvcnMgYW5kIGJ1bGsgYnV5ZXJzLjwvcD4KICAgICAgPHA+V2Uga2VlcCBhIGJ1bGsgaW52ZW50b3J5IG9mIGJ1c2luZXNzLWdyYWRlIG1vZGVscyBmcm9tIERlbGwsIExlbm92bywgSFAsIE1pY3Jvc29mdCBhbmQgQXBwbGUg4oCUIHRoZSBsYXB0b3BzIG9mZmljZXMgYWN0dWFsbHkgdXNlLCBhbmQgY3VzdG9tZXJzIGFjdHVhbGx5IGFzayBmb3IuPC9wPgogICAgICA8cD5FdmVyeSBsaXN0aW5nIHN0YXRlcyB0aGUgcHJvY2Vzc29yLCBtZW1vcnksIHN0b3JhZ2UsIHNjcmVlbiBhbmQgY29uZGl0aW9uLCBzbyB5b3UgY2FuIGNvbXBhcmUgc3RvY2sgcXVpY2tseSBhbmQgcGxhbiB5b3VyIG9yZGVyLjwvcD4KICAgICAgPHA+V2hvbGVzYWxlIHN0b2NrIG1vdmVzIGZhc3QsIHNvIHByaWNpbmcgaXMgc2hhcmVkIG9uIGVucXVpcnkuIE1lc3NhZ2UgdXMgb24gV2hhdHNBcHAgYW5kIHdlJ2xsIHJlcGx5IHdpdGggY3VycmVudCBwcmljZSwgcXVhbnRpdHkgYW5kIHBob3Rvcy48L3A+CiAgICA8L2Rpdj4KICAgIDxkbCBjbGFzcz0iZmFjdHMgcmV2ZWFsIj4KICAgICAgPGRpdj48ZHQ+QmFzZWQgaW48L2R0PjxkZD5HdXJnYW9uLCBIYXJ5YW5hPC9kZD48L2Rpdj4KICAgICAgPGRpdj48ZHQ+QnVzaW5lc3M8L2R0PjxkZD5CMkIgd2hvbGVzYWxlPC9kZD48L2Rpdj4KICAgICAgPGRpdj48ZHQ+U3RvY2s8L2R0PjxkZD5Vc2VkICZhbXA7IHJlZnVyYmlzaGVkIGxhcHRvcHM8L2RkPjwvZGl2PgogICAgICA8ZGl2PjxkdD5CcmFuZHM8L2R0PjxkZD5EZWxsLCBMZW5vdm8sIEhQLCBNaWNyb3NvZnQsIEFwcGxlPC9kZD48L2Rpdj4KICAgICAgPGRpdj48ZHQ+QnV5ZXJzPC9kdD48ZGQ+RGVhbGVycywgcmVzZWxsZXJzLCBkaXN0cmlidXRvcnMsIGJ1c2luZXNzZXM8L2RkPjwvZGl2PgogICAgICAke0NPTkZJRy5ZRUFSU19FWFBFUklFTkNFID8gYDxkaXY+PGR0PkluIHRoZSBsYXB0b3AgdHJhZGU8L2R0PjxkZD4ke2VzYyhDT05GSUcuWUVBUlNfRVhQRVJJRU5DRSl9IHllYXJzPC9kZD48L2Rpdj5gIDogIiJ9CiAgICA8L2RsPgogIDwvZGl2Pjwvc2VjdGlvbj4KCiAgPHNlY3Rpb24gY2xhc3M9InNlYyBhbHQiPjxkaXYgY2xhc3M9IndyYXAiPgogICAgPGRpdiBjbGFzcz0ic2VjLWhlYWQgcmV2ZWFsIj48ZGl2PjxoMj5XaGF0IHdlIG9mZmVyPC9oMj48cCBjbGFzcz0ibGVhZCI+VGVsbCB1cyB3aGljaCBmaXRzIHlvdXIgcmVxdWlyZW1lbnQg4oCUIGVhY2ggY2FyZCBvcGVucyBhIFdoYXRzQXBwIGVucXVpcnkuPC9wPjwvZGl2PjwvZGl2PgogICAgPGRpdiBjbGFzcz0ib2ZmZXIiPgogICAgICAke29mZmVyLm1hcCgoW2ksdCxkLHFdKSA9PiBgPGRpdiBjbGFzcz0ib2NhcmQgcmV2ZWFsIj4ke2ljb24oaSl9PGgzPiR7dH08L2gzPjxwPiR7ZH08L3A+CiAgICAgICAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9IiR7d2FMaW5rKGBIZWxsbyBTSyBJbmZvd2F5cywgSSB3b3VsZCBsaWtlIHRvIGVucXVpcmUgYWJvdXQgJHtxfS5gKX0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5FbnF1aXJlIG9uIFdoYXRzQXBwPC9hPjwvZGl2PmApLmpvaW4oIiIpfQogICAgPC9kaXY+CiAgPC9kaXY+PC9zZWN0aW9uPgoKICA8c2VjdGlvbiBjbGFzcz0ic2VjIj48ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InNlYy1oZWFkIHJldmVhbCI+PGRpdj48aDI+T3VyIGFwcHJvYWNoPC9oMj48cCBjbGFzcz0ibGVhZCI+Rm91ciBzdGVwcyBmcm9tIHNvdXJjaW5nIHRvIHlvdXIgZG9vci48L3A+PC9kaXY+PC9kaXY+CiAgICA8b2wgY2xhc3M9InN0ZXBzIiBzdHlsZT0ibGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MCI+CiAgICAgICR7W1siU291cmNlIiwiQnVzaW5lc3MtZ3JhZGUgbGFwdG9wcyBzb3VyY2VkIGluIGxvdHMuIl0sWyJDaGVjayIsIkVhY2ggdW5pdCBjaGVja2VkIGFuZCBpdHMgc3BlY2lmaWNhdGlvbnMgcmVjb3JkZWQuIl0sWyJQcmVwYXJlIiwiQ2xlYW5lZCwgZ3JhZGVkIGFuZCBwcmVwYXJlZCBmb3IgZGlzcGF0Y2guIl0sWyJTdXBwbHkiLCJTdXBwbGllZCB0byBkZWFsZXJzLCByZXNlbGxlcnMgYW5kIGJ1c2luZXNzIGJ1eWVycy4iXV0KICAgICAgICAubWFwKChbdCxkXSxuKSA9PiBgPGxpIGNsYXNzPSJzdGVwIHJldmVhbCI+PHNwYW4gY2xhc3M9Im51bSI+JHtuKzF9PC9zcGFuPjxoMz4ke3R9PC9oMz48cD4ke2R9PC9wPjwvbGk+YCkuam9pbigiIil9CiAgICA8L29sPgogIDwvZGl2Pjwvc2VjdGlvbj4KCiAgJHtjdGFCYW5kKCJMb29raW5nIGZvciBhIHJlbGlhYmxlIHdob2xlc2FsZSBsYXB0b3Agc3VwcGxpZXI\/IiwiQ29udGFjdCBTSyBJbmZvd2F5cyBmb3IgY3VycmVudCBzdG9jayBhbmQgcHJpY2luZy4iLGA8YSBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IiBocmVmPSIke2hyZWYoIi9jb250YWN0Iil9IiBkYXRhLWxpbms+Q29udGFjdCBTSyBJbmZvd2F5czwvYT5gKX1gOwp9CgpmdW5jdGlvbiBQcm9kdWN0cygpewogIHNldE1ldGEoeyB0aXRsZToiVXNlZCBMYXB0b3BzIFdob2xlc2FsZSBTdG9jayB8IERlbGwsIExlbm92bywgSFAgfCBTSyBJbmZvd2F5cyIsIHBhdGg6Ii9wcm9kdWN0cyIsCiAgICBkZXNjOiJCcm93c2UgY3VycmVudCB3aG9sZXNhbGUgc3RvY2sgb2YgdXNlZCBhbmQgcmVmdXJiaXNoZWQgRGVsbCwgTGVub3ZvLCBIUCwgTWljcm9zb2Z0IGFuZCBBcHBsZSBsYXB0b3BzLiBTZWFyY2ggYnkgbW9kZWwgb3Igc3BlYyBhbmQgZW5xdWlyZSBvbiBXaGF0c0FwcCBmb3IgYnVsayBwcmljaW5nLiIsCiAgICBsZDpbY3J1bWJMRCgiUHJvZHVjdHMiLCIvcHJvZHVjdHMiKSwgeyAiQHR5cGUiOiJJdGVtTGlzdCIsIG5hbWU6Ildob2xlc2FsZSBsYXB0b3Agc3RvY2siLCBpdGVtTGlzdEVsZW1lbnQ6IHN0YXRlLnByb2R1Y3RzLnNsaWNlKDAsMzApLm1hcCgocCxpKSA9PiAoewogICAgICAiQHR5cGUiOiJMaXN0SXRlbSIsIHBvc2l0aW9uOmkrMSwgaXRlbTp7ICJAdHlwZSI6IlByb2R1Y3QiLCBuYW1lOnBOYW1lKHApLCAuLi4ocC51cmwgPyB7IHVybDpwLnVybCB9IDoge30pLCBicmFuZDp7ICJAdHlwZSI6IkJyYW5kIiwgbmFtZTpwLmJyYW5kIH0sCiAgICAgIGRlc2NyaXB0aW9uOltwLmNwdSxwLnJhbSxwLnN0b3JhZ2UscC5zY3JlZW4scC5jb25kaXRpb25dLmZpbHRlcihCb29sZWFuKS5qb2luKCIsICIpLCAuLi4ocC5pbWFnZXNbMF0gPyB7IGltYWdlOnAuaW1hZ2VzWzBdLnNyYyB9IDoge30pIH0gfSkpIH1dIH0pOwogIGNvbnN0IGYgPSBzdGF0ZS5maWx0ZXI7CiAgcmV0dXJuIGAKICA8c2VjdGlvbiBjbGFzcz0icGhlcm8gb24tZGFyayI+PGRpdiBjbGFzcz0id3JhcCI+CiAgICA8bmF2IGNsYXNzPSJjcnVtYnMiIGFyaWEtbGFiZWw9IkJyZWFkY3J1bWIiPjxhIGhyZWY9IiR7aHJlZigiLyIpfSIgZGF0YS1saW5rPkhvbWU8L2E+IC8gUHJvZHVjdHM8L25hdj4KICAgIDxoMT5XaG9sZXNhbGUgbGFwdG9wIHN0b2NrPC9oMT4KICAgIDxwIGNsYXNzPSJsZWFkIj5Vc2VkIGFuZCByZWZ1cmJpc2hlZCBsYXB0b3BzIGF2YWlsYWJsZSBpbiBidWxrLiBQcmljZXMgb24gcmVxdWVzdC48L3A+CiAgICA8ZGl2IGNsYXNzPSJzZWFyY2hiYXIgJHtmLnEgPyAiaGFzIiA6ICIifSIgcm9sZT0ic2VhcmNoIj4KICAgICAgJHtpY29uKCJzZWFyY2giKX0KICAgICAgPGxhYmVsIGZvcj0icSIgY2xhc3M9ImhwIj5TZWFyY2ggbGFwdG9wczwvbGFiZWw+CiAgICAgIDxpbnB1dCBpZD0icSIgdHlwZT0ic2VhcmNoIiBhdXRvY29tcGxldGU9Im9mZiIgcGxhY2Vob2xkZXI9IlNlYXJjaCBsYXB0b3BzIGJ5IG1vZGVsLCBicmFuZCBvciBzcGVjaWZpY2F0aW9uIiB2YWx1ZT0iJHtlc2MoZi5xKX0iPgogICAgICA8YnV0dG9uIGNsYXNzPSJjbHIiIGlkPSJxY2xyIiBhcmlhLWxhYmVsPSJDbGVhciBzZWFyY2giPiR7aWNvbigiY2xvc2UiKX08L2J1dHRvbj4KICAgIDwvZGl2PgogIDwvZGl2Pjwvc2VjdGlvbj4KICA8c2VjdGlvbiBjbGFzcz0ic2VjIiBzdHlsZT0icGFkZGluZy10b3A6NDRweCI+PGRpdiBjbGFzcz0id3JhcCBjYXRhbG9nIj4KICAgIDxkaXYgY2xhc3M9InNjcmltIiBpZD0ic2NyaW0iPjwvZGl2PgogICAgPGFzaWRlIGNsYXNzPSJmaWx0ZXJzIiBpZD0iZmlsdGVycyIgYXJpYS1sYWJlbD0iRmlsdGVycyI+CiAgICAgIDxkaXYgY2xhc3M9ImZzaGVldC1oZWFkIj48aDI+RmlsdGVyczwvaDI+PGJ1dHRvbiBjbGFzcz0ieGJ0biIgaWQ9ImZjbG9zZSIgYXJpYS1sYWJlbD0iQ2xvc2UgZmlsdGVycyI+JHtpY29uKCJjbG9zZSIpfTwvYnV0dG9uPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmZ3JvdXAiPjxoMz5CcmFuZDwvaDM+PGRpdiBjbGFzcz0iY2hpcHMiIGlkPSJmYiI+PC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZncm91cCI+PGgzPlByb2Nlc3NvcjwvaDM+PGRpdiBjbGFzcz0iY2hpcHMiIGlkPSJmcCI+PC9kaXY+PC9kaXY+CiAgICAgIDxidXR0b24gY2xhc3M9ImZjbGVhciIgaWQ9ImZjbGVhciI+Q2xlYXIgYWxsIGZpbHRlcnM8L2J1dHRvbj4KICAgICAgPGRpdiBjbGFzcz0iZnNoZWV0LWZvb3QiPjxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tYmxvY2siIGlkPSJmYXBwbHkiPlNob3cgbGFwdG9wczwvYnV0dG9uPjwvZGl2PgogICAgPC9hc2lkZT4KICAgIDxkaXY+CiAgICAgICR7c2FtcGxlTm90aWNlKCl9CiAgICAgIDxkaXYgY2xhc3M9InJlc2JhciI+PHAgaWQ9ImNvdW50IiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9wPjxkaXYgY2xhc3M9ImFjdGl2ZS1mIiBpZD0iYWN0aXZlZiI+PC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImdyaWQtcCIgaWQ9InBsaXN0Ij48L2Rpdj4KICAgIDwvZGl2PgogICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGZidG4iIGlkPSJmb3BlbiI+JHtpY29uKCJmaWx0ZXIiKX1GaWx0ZXJzPHNwYW4gaWQ9ImZjb3VudCI+PC9zcGFuPjwvYnV0dG9uPgogIDwvZGl2Pjwvc2VjdGlvbj4KICAke2N0YUJhbmQoIkNhbid0IGZpbmQgYSBtb2RlbD8iLCJTdG9jayBjaGFuZ2VzIGRhaWx5LiBUZWxsIHVzIHdoYXQgeW91IG5lZWQgYW5kIHdlJ2xsIGNoZWNrLiIsYDxhIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIGhyZWY9IiR7aHJlZigiL2NvbnRhY3QiKX0iIGRhdGEtbGluaz5TZW5kIGEgcmVxdWlyZW1lbnQ8L2E+YCl9YDsKfQpmdW5jdGlvbiBmaWx0ZXJlZChpZ25vcmUpewogIGNvbnN0IGYgPSBzdGF0ZS5maWx0ZXI7IGNvbnN0IHRva3MgPSBmLnEudG9Mb3dlckNhc2UoKS5zcGxpdCgvXHMrLykuZmlsdGVyKEJvb2xlYW4pOwogIHJldHVybiBzdGF0ZS5wcm9kdWN0cy5maWx0ZXIocCA9PgogICAgdG9rcy5ldmVyeSh0ID0+IHAuaGF5LmluY2x1ZGVzKHQpKSAmJgogICAgKGlnbm9yZT09PSJiIiB8fCAhZi5icmFuZHMuc2l6ZSB8fCBmLmJyYW5kcy5oYXMocC5icmFuZCkpICYmCiAgICAoaWdub3JlPT09InAiIHx8ICFmLnByb2NzLnNpemUgfHwgZi5wcm9jcy5oYXMocC5wcm9jKSkpOwp9CmZ1bmN0aW9uIG1vdW50UHJvZHVjdHMoKXsKICBjb25zdCBmID0gc3RhdGUuZmlsdGVyOwogIGNvbnN0IGRyYXcgPSAoKSA9PiB7CiAgICBjb25zdCBsaXN0ID0gZmlsdGVyZWQoKTsKICAgIGNvbnN0IGJCYXNlID0gZmlsdGVyZWQoImIiKSwgcEJhc2UgPSBmaWx0ZXJlZCgicCIpOwogICAgJCgiI2ZiIikuaW5uZXJIVE1MID0gQlJBTkRTLm1hcChiID0+IHsgY29uc3QgbiA9IGJCYXNlLmZpbHRlcihwPT5wLmJyYW5kPT09YikubGVuZ3RoOwogICAgICByZXR1cm4gYDxidXR0b24gY2xhc3M9ImNoaXAiIGRhdGEtZmI9IiR7Yn0iIGFyaWEtcHJlc3NlZD0iJHtmLmJyYW5kcy5oYXMoYil9IiAkeyFuICYmICFmLmJyYW5kcy5oYXMoYikgPyAiZGlzYWJsZWQiIDogIiJ9PiR7Yn08c3BhbiBjbGFzcz0ibiI+JHtufTwvc3Bhbj48L2J1dHRvbj5gOyB9KS5qb2luKCIiKTsKICAgICQoIiNmcCIpLmlubmVySFRNTCA9IFBST0NTLm1hcChiID0+IHsgY29uc3QgbiA9IHBCYXNlLmZpbHRlcihwPT5wLnByb2M9PT1iKS5sZW5ndGg7CiAgICAgIHJldHVybiBgPGJ1dHRvbiBjbGFzcz0iY2hpcCIgZGF0YS1mcD0iJHtifSIgYXJpYS1wcmVzc2VkPSIke2YucHJvY3MuaGFzKGIpfSIgJHshbiAmJiAhZi5wcm9jcy5oYXMoYikgPyAiZGlzYWJsZWQiIDogIiJ9PiR7Yn08c3BhbiBjbGFzcz0ibiI+JHtufTwvc3Bhbj48L2J1dHRvbj5gOyB9KS5qb2luKCIiKTsKICAgIGNvbnN0IG5BY3QgPSBmLmJyYW5kcy5zaXplICsgZi5wcm9jcy5zaXplOwogICAgJCgiI2Zjb3VudCIpLnRleHRDb250ZW50ID0gbkFjdCA\/IGAgKCR7bkFjdH0pYCA6ICIiOwogICAgJCgiI2ZhcHBseSIpLnRleHRDb250ZW50ID0gYFNob3cgJHtsaXN0Lmxlbmd0aH0gbGFwdG9wJHtsaXN0Lmxlbmd0aD09PTE\/IiI6InMifWA7CiAgICAkKCIjY291bnQiKS5pbm5lckhUTUwgPSBgPGI+JHtsaXN0Lmxlbmd0aH08L2I+IG9mICR7c3RhdGUucHJvZHVjdHMubGVuZ3RofSBsYXB0b3BzYDsKICAgICQoIiNhY3RpdmVmIikuaW5uZXJIVE1MID0gWy4uLmYuYnJhbmRzXS5tYXAoYj0+YDxidXR0b24gZGF0YS1yYj0iJHtifSIgYXJpYS1sYWJlbD0iUmVtb3ZlICR7Yn0iPiR7Yn0gJHtpY29uKCJjbG9zZSIpfTwvYnV0dG9uPmApLmpvaW4oIiIpCiAgICAgICsgWy4uLmYucHJvY3NdLm1hcChiPT5gPGJ1dHRvbiBkYXRhLXJwPSIke2J9IiBhcmlhLWxhYmVsPSJSZW1vdmUgJHtifSI+JHtifSAke2ljb24oImNsb3NlIil9PC9idXR0b24+YCkuam9pbigiIik7CiAgICAkJCgiI2FjdGl2ZWYgLmljIikuZm9yRWFjaChpID0+IHsgaS5zdHlsZS53aWR0aD0iMTRweCI7IGkuc3R5bGUuaGVpZ2h0PSIxNHB4IjsgfSk7CiAgICAkKCIjcGxpc3QiKS5pbm5lckhUTUwgPSBsaXN0Lmxlbmd0aCA\/IGxpc3QubWFwKHAgPT4gcHJvZHVjdENhcmQocCwgdHJ1ZSkpLmpvaW4oIiIpCiAgICAgIDogYDxkaXYgY2xhc3M9ImVtcHR5IiBzdHlsZT0iZ3JpZC1jb2x1bW46MS8tMSI+PGgzPk5vIGxhcHRvcHMgbWF0Y2g8L2gzPjxwPlRyeSBhIGRpZmZlcmVudCBzZWFyY2gsIG9yIHNlbmQgdXMgeW91ciByZXF1aXJlbWVudCDigJQgbmV3IHN0b2NrIGFycml2ZXMgcmVndWxhcmx5LjwvcD4KICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDoxMHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleC13cmFwOndyYXAiPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZ2hvc3QiIGlkPSJyZXNldCI+Q2xlYXIgc2VhcmNoIGFuZCBmaWx0ZXJzPC9idXR0b24+CiAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLXdhIiBocmVmPSIke3dhTGluayhgSGVsbG8gU0sgSW5mb3dheXMsIEkgYW0gbG9va2luZyBmb3I6ICR7Zi5xIHx8ICJsYXB0b3BzIn0uIFBsZWFzZSBsZXQgbWUga25vdyB3aGF0IHlvdSBoYXZlLmApfSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPiR7aWNvbigiY2hhdCIpfUFzayBvbiBXaGF0c0FwcDwvYT48L2Rpdj48L2Rpdj5gOwogICAgJCQoIiNwbGlzdCAucmV2ZWFsIikuZm9yRWFjaChlbCA9PiBlbC5jbGFzc0xpc3QuYWRkKCJpbiIpKTsKICB9OwogIGNvbnN0IHEgPSAkKCIjcSIpOyBsZXQgdDsKICBxLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgKCkgPT4geyBjbGVhclRpbWVvdXQodCk7IHQgPSBzZXRUaW1lb3V0KCgpID0+IHsgZi5xID0gcS52YWx1ZS50cmltKCk7ICQoIi5zZWFyY2hiYXIiKS5jbGFzc0xpc3QudG9nZ2xlKCJoYXMiLCAhIWYucSk7IGRyYXcoKTsgfSwgNjApOyB9KTsKICAkKCIjcWNsciIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geyBxLnZhbHVlPSIiOyBmLnE9IiI7ICQoIi5zZWFyY2hiYXIiKS5jbGFzc0xpc3QucmVtb3ZlKCJoYXMiKTsgZHJhdygpOyBxLmZvY3VzKCk7IH0pOwogIGNvbnN0IHNoZWV0ID0gJCgiI2ZpbHRlcnMiKSwgc2NyaW0gPSAkKCIjc2NyaW0iKTsKICBjb25zdCBvcGVuUyA9IG8gPT4geyBzaGVldC5jbGFzc0xpc3QudG9nZ2xlKCJvcGVuIiwgbyk7IHNjcmltLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLCBvKTsgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IG8gPyAiaGlkZGVuIiA6ICIiOyBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoIm92ZXJsYXkiLCBvKTsgfTsKICAkKCIjZm9wZW4iKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IG9wZW5TKHRydWUpKTsKICAkKCIjZmNsb3NlIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiBvcGVuUyhmYWxzZSkpOwogICQoIiNmYXBwbHkiKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsgb3BlblMoZmFsc2UpOyB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6ICQoIiNjb3VudCIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHNjcm9sbFkgLSAxMjAsIGJlaGF2aW9yOiJzbW9vdGgiIH0pOyB9KTsKICBzY3JpbS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IG9wZW5TKGZhbHNlKSk7CiAgY29uc3QgcmVzZXQgPSAoKSA9PiB7IGYuYnJhbmRzLmNsZWFyKCk7IGYucHJvY3MuY2xlYXIoKTsgZi5xPSIiOyBxLnZhbHVlPSIiOyAkKCIuc2VhcmNoYmFyIikuY2xhc3NMaXN0LnJlbW92ZSgiaGFzIik7IGRyYXcoKTsgfTsKICAkKCIjZmNsZWFyIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7IGYuYnJhbmRzLmNsZWFyKCk7IGYucHJvY3MuY2xlYXIoKTsgZHJhdygpOyB9KTsKICAkKCIuY2F0YWxvZyIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZSA9PiB7CiAgICBjb25zdCBiID0gZS50YXJnZXQuY2xvc2VzdCgiW2RhdGEtZmJdLFtkYXRhLWZwXSxbZGF0YS1yYl0sW2RhdGEtcnBdLCNyZXNldCIpOyBpZiAoIWIpIHJldHVybjsKICAgIGlmIChiLmlkID09PSAicmVzZXQiKSByZXR1cm4gcmVzZXQoKTsKICAgIGNvbnN0IHRvZyA9IChzZXQsdikgPT4gc2V0Lmhhcyh2KSA\/IHNldC5kZWxldGUodikgOiBzZXQuYWRkKHYpOwogICAgaWYgKGIuZGF0YXNldC5mYikgdG9nKGYuYnJhbmRzLCBiLmRhdGFzZXQuZmIpOyBpZiAoYi5kYXRhc2V0LmZwKSB0b2coZi5wcm9jcywgYi5kYXRhc2V0LmZwKTsKICAgIGlmIChiLmRhdGFzZXQucmIpIGYuYnJhbmRzLmRlbGV0ZShiLmRhdGFzZXQucmIpOyBpZiAoYi5kYXRhc2V0LnJwKSBmLnByb2NzLmRlbGV0ZShiLmRhdGFzZXQucnApOwogICAgZHJhdygpOwogIH0pOwogIGRyYXcoKTsKfQoKZnVuY3Rpb24gYmxvZ0ltZyhwKXsKICByZXR1cm4gcC5pbWFnZSA\/IGA8aW1nIHNyYz0iJHtlc2MocC5pbWFnZS5zcmMpfSIgYWx0PSIke2VzYyhwLmltYWdlLmFsdCl9IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPmAKICAgIDogYDxzdmcgdmlld0JveD0iMCAwIDgwMCA0NTAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIHNsaWNlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJiZyR7dWlkTn0iIHgxPSIwIiB5MT0iMCIgeDI9IjEiIHkyPSIxIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMxOTFGMjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMzNDNGNDIiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz4KICAgICAgPHJlY3Qgd2lkdGg9IjgwMCIgaGVpZ2h0PSI0NTAiIGZpbGw9InVybCgjYmcke3VpZE4rK30pIi8+PGcgc3Ryb2tlPSJyZ2JhKDI1NSwyNTUsMjU1LC4wNykiPiR7QXJyYXkuZnJvbSh7bGVuZ3RoOjE0fSwoXyxpKT0+YDxwYXRoIGQ9Ik0ke2kqNjB9IDB2NDUwIi8+YCkuam9pbigiIil9JHtBcnJheS5mcm9tKHtsZW5ndGg6OH0sKF8saSk9PmA8cGF0aCBkPSJNMCAke2kqNjB9aDgwMCIvPmApLmpvaW4oIiIpfTwvZz4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUwIDExMCkgc2NhbGUoLjk1KSIgb3BhY2l0eT0iLjk1Ij4ke2xhcHRvcEFydChbIkRlbGwiLCJMZW5vdm8iLCJIUCIsIk1pY3Jvc29mdCJdW3AudGl0bGUubGVuZ3RoJTRdKS5yZXBsYWNlKCc8c3ZnJywnPHN2ZyB3aWR0aD0iMzIwIiBoZWlnaHQ9IjIxMCInKX08L2c+PC9zdmc+YDsKfQpmdW5jdGlvbiBCbG9ncygpewogIHNldE1ldGEoeyB0aXRsZToiTGFwdG9wIFdob2xlc2FsZSBHdWlkZXMgJiBJbnNpZ2h0cyB8IFNLIEluZm93YXlzIEJsb2ciLCBwYXRoOiIvYmxvZ3MiLAogICAgZGVzYzoiUHJhY3RpY2FsIGd1aWRlcyBmb3IgZGVhbGVycyBhbmQgYnVzaW5lc3MgYnV5ZXJzIG9uIHVzZWQgYW5kIHJlZnVyYmlzaGVkIGxhcHRvcHM6IGV2YWx1YXRpbmcgbG90cywgY29tcGFyaW5nIG1vZGVscyBhbmQgY2hvb3Npbmcgc3BlY2lmaWNhdGlvbnMuIiwKICAgIGxkOltjcnVtYkxEKCJCbG9ncyIsIi9ibG9ncyIpLCB7ICJAdHlwZSI6IkJsb2ciLCBuYW1lOiJTSyBJbmZvd2F5cyBCbG9nIiwgdXJsOmFicygiL2Jsb2dzIikgfV0gfSk7CiAgY29uc3QgY2F0cyA9IFsiQWxsIiwgLi4ubmV3IFNldChzdGF0ZS5wb3N0cy5tYXAocD0+cC5jYXRlZ29yeSkpXTsKICByZXR1cm4gYAogIDxzZWN0aW9uIGNsYXNzPSJwaGVybyBvbi1kYXJrIj48ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxuYXYgY2xhc3M9ImNydW1icyIgYXJpYS1sYWJlbD0iQnJlYWRjcnVtYiI+PGEgaHJlZj0iJHtocmVmKCIvIil9IiBkYXRhLWxpbms+SG9tZTwvYT4gLyBCbG9nczwvbmF2PgogICAgPGgxPkluc2lnaHRzIGZvciBsYXB0b3AgYnV5ZXJzPC9oMT4KICAgIDxwIGNsYXNzPSJsZWFkIj5HdWlkZXMgZm9yIGRlYWxlcnMsIHJlc2VsbGVycyBhbmQgYnVzaW5lc3MgYnV5ZXJzIHdvcmtpbmcgd2l0aCB1c2VkIGFuZCByZWZ1cmJpc2hlZCBsYXB0b3BzLjwvcD4KICA8L2Rpdj48L3NlY3Rpb24+CiAgPHNlY3Rpb24gY2xhc3M9InNlYyIgc3R5bGU9InBhZGRpbmctdG9wOjQ0cHgiPjxkaXYgY2xhc3M9IndyYXAiPgogICAgJHtjYXRzLmxlbmd0aCA+IDIgPyBgPGRpdiBjbGFzcz0iYmNoaXBzIiByb2xlPSJncm91cCIgYXJpYS1sYWJlbD0iRmlsdGVyIGJ5IGNhdGVnb3J5Ij4ke2NhdHMubWFwKGMgPT4gYDxidXR0b24gY2xhc3M9ImNoaXAiIGRhdGEtYmM9IiR7ZXNjKGMpfSIgYXJpYS1wcmVzc2VkPSIke3N0YXRlLmJsb2dDYXQ9PT1jfSI+JHtlc2MoYyl9PC9idXR0b24+YCkuam9pbigiIil9PC9kaXY+YCA6ICIifQogICAgPGRpdiBpZD0iYmxpc3QiPjwvZGl2PgogIDwvZGl2Pjwvc2VjdGlvbj5gOwp9CmZ1bmN0aW9uIG1vdW50QmxvZ3MoKXsKICBjb25zdCBkcmF3ID0gKCkgPT4gewogICAgY29uc3QgbGlzdCA9IHN0YXRlLnBvc3RzLmZpbHRlcihwID0+IHN0YXRlLmJsb2dDYXQ9PT0iQWxsIiB8fCBwLmNhdGVnb3J5PT09c3RhdGUuYmxvZ0NhdCk7CiAgICBjb25zdCBbZmlyc3QsIC4uLnJlc3RdID0gbGlzdDsKICAgICQoIiNibGlzdCIpLmlubmVySFRNTCA9ICFmaXJzdCA\/IGA8ZGl2IGNsYXNzPSJlbXB0eSI+PGgzPk5vIHBvc3RzIHlldDwvaDM+PHA+TmV3IGFydGljbGVzIGFyZSBwdWJsaXNoZWQgZXZlcnkgd2Vlay48L3A+PC9kaXY+YCA6IGAKICAgICAgPGEgY2xhc3M9ImJmZWF0IiBocmVmPSIke2hyZWYoIi9ibG9ncy8iK2ZpcnN0LnNsdWcpfSIgZGF0YS1saW5rPgogICAgICAgIDxkaXYgY2xhc3M9ImJpbWciPiR7YmxvZ0ltZyhmaXJzdCl9PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnR4dCI+PGRpdiBjbGFzcz0iYm1ldGEiPjxzcGFuIGNsYXNzPSJiY2F0Ij4ke2VzYyhmaXJzdC5jYXRlZ29yeSl9PC9zcGFuPjx0aW1lIGRhdGV0aW1lPSIke2VzYyhmaXJzdC5kYXRlKX0iPiR7Zm10RGF0ZShmaXJzdC5kYXRlKX08L3RpbWU+PC9kaXY+CiAgICAgICAgICA8aDI+JHtlc2MoZmlyc3QudGl0bGUpfTwvaDI+PHAgY2xhc3M9ImJleCI+JHtlc2MoZmlyc3QuZXhjZXJwdCl9PC9wPjxzcGFuIGNsYXNzPSJibW9yZSI+UmVhZCBtb3JlPC9zcGFuPjwvZGl2PjwvYT4KICAgICAgPGRpdiBjbGFzcz0iYmdyaWQiPiR7cmVzdC5tYXAocCA9PiBgPGEgY2xhc3M9ImJjYXJkIHJldmVhbCBpbiIgaHJlZj0iJHtocmVmKCIvYmxvZ3MvIitwLnNsdWcpfSIgZGF0YS1saW5rPgogICAgICAgIDxkaXYgY2xhc3M9ImJpbWciPiR7YmxvZ0ltZyhwKX08L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJidHh0Ij48ZGl2IGNsYXNzPSJibWV0YSI+PHNwYW4gY2xhc3M9ImJjYXQiPiR7ZXNjKHAuY2F0ZWdvcnkpfTwvc3Bhbj48dGltZSBkYXRldGltZT0iJHtlc2MocC5kYXRlKX0iPiR7Zm10RGF0ZShwLmRhdGUpfTwvdGltZT48L2Rpdj4KICAgICAgICAgIDxoMz4ke2VzYyhwLnRpdGxlKX08L2gzPjxwIGNsYXNzPSJiZXgiPiR7ZXNjKHAuZXhjZXJwdCl9PC9wPjxzcGFuIGNsYXNzPSJibW9yZSI+UmVhZCBtb3JlPC9zcGFuPjwvZGl2PjwvYT5gKS5qb2luKCIiKX08L2Rpdj5gOwogICAgJCQoIltkYXRhLWJjXSIpLmZvckVhY2goYiA9PiBiLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwgYi5kYXRhc2V0LmJjPT09c3RhdGUuYmxvZ0NhdCkpOwogIH07CiAgJCQoIltkYXRhLWJjXSIpLmZvckVhY2goYiA9PiBiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geyBzdGF0ZS5ibG9nQ2F0ID0gYi5kYXRhc2V0LmJjOyBkcmF3KCk7IH0pKTsKICBkcmF3KCk7Cn0KYXN5bmMgZnVuY3Rpb24gUG9zdChzbHVnKXsKICBsZXQgcCA9IHN0YXRlLnBvc3RzLmZpbmQoeCA9PiB4LnNsdWcgPT09IHNsdWcpOwogIGlmICghcCAmJiBpc0xpdmVIb3N0KCkpewogICAgdHJ5IHsgY29uc3QgciA9IGF3YWl0IGZldGNoKENPTkZJRy5SRVNUKCIvd3AvdjIvcG9zdHMiKSArICImc2x1Zz0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHNsdWcpICsgIiZfZW1iZWQ9MSIpOyBjb25zdCBqID0gYXdhaXQgci5qc29uKCk7IGlmIChqWzBdKSBwID0gbWFwUG9zdChqWzBdKTsgfSBjYXRjaChlKXt9CiAgfQogIGlmICghcCkgcmV0dXJuIE5vdEZvdW5kKCk7CiAgY29uc3QgcGxhaW4gPSAoKCkgPT4geyBjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOyBkLmlubmVySFRNTD1wLmh0bWw7IHJldHVybiBkLnRleHRDb250ZW50OyB9KSgpOwogIHNldE1ldGEoeyB0aXRsZTpgJHtwLnRpdGxlfSB8IFNLIEluZm93YXlzYCwgcGF0aDoiL2Jsb2dzLyIrcC5zbHVnLCBkZXNjOihwLmV4Y2VycHR8fHBsYWluKS5zbGljZSgwLDE1NSksCiAgICBsZDpbeyAiQHR5cGUiOiJCbG9nUG9zdGluZyIsIGhlYWRsaW5lOnAudGl0bGUsIGRhdGVQdWJsaXNoZWQ6cC5kYXRlLCBhdXRob3I6eyAiQGlkIjpDT05GSUcuU0lURV9VUkwrIi8jb3JnIiB9LCBwdWJsaXNoZXI6eyAiQGlkIjpDT05GSUcuU0lURV9VUkwrIi8jb3JnIiB9LAogICAgICBtYWluRW50aXR5T2ZQYWdlOmFicygiL2Jsb2dzLyIrcC5zbHVnKSwgLi4uKHAuaW1hZ2UgPyB7IGltYWdlOnAuaW1hZ2Uuc3JjIH0gOiB7fSkgfSwKICAgICAgeyAiQHR5cGUiOiJCcmVhZGNydW1iTGlzdCIsIGl0ZW1MaXN0RWxlbWVudDpbeyAiQHR5cGUiOiJMaXN0SXRlbSIsIHBvc2l0aW9uOjEsIG5hbWU6IkhvbWUiLCBpdGVtOmFicygiLyIpIH0seyAiQHR5cGUiOiJMaXN0SXRlbSIsIHBvc2l0aW9uOjIsIG5hbWU6IkJsb2dzIiwgaXRlbTphYnMoIi9ibG9ncyIpIH0seyAiQHR5cGUiOiJMaXN0SXRlbSIsIHBvc2l0aW9uOjMsIG5hbWU6cC50aXRsZSwgaXRlbTphYnMoIi9ibG9ncy8iK3Auc2x1ZykgfV0gfV0gfSk7CiAgY29uc3QgbWlucyA9IE1hdGgubWF4KDEsIE1hdGgucm91bmQocGxhaW4uc3BsaXQoL1xzKy8pLmxlbmd0aCAvIDIwMCkpOwogIGNvbnN0IG1vcmUgPSBzdGF0ZS5wb3N0cy5maWx0ZXIoeCA9PiB4LnNsdWcgIT09IHAuc2x1Zykuc2xpY2UoMCwzKTsKICByZXR1cm4gYAogIDxzZWN0aW9uIGNsYXNzPSJwaGVybyBvbi1kYXJrIj48ZGl2IGNsYXNzPSJ3cmFwIiBzdHlsZT0icGFkZGluZy1ib3R0b206ODBweCI+PGRpdiBjbGFzcz0iYXJ0aWNsZSI+CiAgICA8YSBjbGFzcz0iYmFjayIgaHJlZj0iJHtocmVmKCIvYmxvZ3MiKX0iIGRhdGEtbGluaz4ke2ljb24oImJhY2siKX1BbGwgYXJ0aWNsZXM8L2E+CiAgICA8ZGl2IGNsYXNzPSJibWV0YSIgc3R5bGU9ImNvbG9yOiM5Q0E1QTciPjxzcGFuIGNsYXNzPSJiY2F0Ij4ke2VzYyhwLmNhdGVnb3J5KX08L3NwYW4+PHRpbWUgZGF0ZXRpbWU9IiR7ZXNjKHAuZGF0ZSl9Ij4ke2ZtdERhdGUocC5kYXRlKX08L3RpbWU+PHNwYW4+JHttaW5zfSBtaW4gcmVhZDwvc3Bhbj48L2Rpdj4KICAgIDxoMSBzdHlsZT0iZm9udC1zaXplOmNsYW1wKDJyZW0sNC40dncsMy4ycmVtKTttYXJnaW4tdG9wOjE2cHgiPiR7ZXNjKHAudGl0bGUpfTwvaDE+CiAgPC9kaXY+PC9kaXY+PC9zZWN0aW9uPgogIDxzZWN0aW9uIGNsYXNzPSJzZWMiIHN0eWxlPSJwYWRkaW5nLXRvcDowIj48ZGl2IGNsYXNzPSJ3cmFwIj48YXJ0aWNsZSBjbGFzcz0iYXJ0aWNsZSI+CiAgICA8ZGl2IGNsYXNzPSJiaW1nIj4ke2Jsb2dJbWcocCl9PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwcm9zZSI+JHtwLmh0bWx9PC9kaXY+CiAgICA8YXNpZGUgY2xhc3M9ImFjdGEiPjxkaXY+PGgyPkxvb2tpbmcgZm9yIGxhcHRvcHMgaW4gYnVsaz88L2gyPjxwPkNvbnRhY3QgU0sgSW5mb3dheXMgZm9yIGN1cnJlbnQgc3RvY2sgYW5kIHdob2xlc2FsZSBwcmljaW5nLjwvcD48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYnRucyI+PGEgY2xhc3M9ImJ0biBidG4tZ2hvc3QiIHN0eWxlPSJib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyk7Y29sb3I6I2ZmZiIgaHJlZj0iJHtocmVmKCIvY29udGFjdCIpfSIgZGF0YS1saW5rPkNvbnRhY3QgU0sgSW5mb3dheXM8L2E+CiAgICAgIDxhIGNsYXNzPSJidG4gYnRuLXdhIiBocmVmPSIke3dhR2VuZXJhbCgpfSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPiR7aWNvbigiY2hhdCIpfVdoYXRzQXBwIHVzPC9hPjwvZGl2PjwvYXNpZGU+CiAgPC9hcnRpY2xlPgogICR7bW9yZS5sZW5ndGggPyBgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOnZhcigtLW1heHcpO21hcmdpbjo3MnB4IGF1dG8gMCI+PGgyIHN0eWxlPSJmb250LXNpemU6MS42cmVtO21hcmdpbi1ib3R0b206MjRweCI+TW9yZSBhcnRpY2xlczwvaDI+PGRpdiBjbGFzcz0iYmdyaWQiPiR7bW9yZS5tYXAoeCA9PiBgPGEgY2xhc3M9ImJjYXJkIiBocmVmPSIke2hyZWYoIi9ibG9ncy8iK3guc2x1Zyl9IiBkYXRhLWxpbms+PGRpdiBjbGFzcz0iYmltZyI+JHtibG9nSW1nKHgpfTwvZGl2PjxkaXYgY2xhc3M9ImJ0eHQiPjxkaXYgY2xhc3M9ImJtZXRhIj48c3BhbiBjbGFzcz0iYmNhdCI+JHtlc2MoeC5jYXRlZ29yeSl9PC9zcGFuPjwvZGl2PjxoMz4ke2VzYyh4LnRpdGxlKX08L2gzPjxzcGFuIGNsYXNzPSJibW9yZSI+UmVhZCBtb3JlPC9zcGFuPjwvZGl2PjwvYT5gKS5qb2luKCIiKX08L2Rpdj48L2Rpdj5gIDogIiJ9CiAgPC9kaXY+PC9zZWN0aW9uPmA7Cn0KCmZ1bmN0aW9uIENvbnRhY3QoKXsKICBzZXRNZXRhKHsgdGl0bGU6IkNvbnRhY3QgU0sgSW5mb3dheXMgfCBCdWxrIExhcHRvcCBTdXBwbGllciBpbiBHdXJnYW9uIiwgcGF0aDoiL2NvbnRhY3QiLAogICAgZGVzYzoiU2VuZCB5b3VyIGxhcHRvcCByZXF1aXJlbWVudCB0byBTSyBJbmZvd2F5cywgR3VyZ2Fvbi4gQnVsayBvcmRlcnMgZm9yIGRlYWxlcnMgYW5kIGJ1c2luZXNzZXMsIG9yIGEgc2luZ2xlIGxhcHRvcCBmb3IgaG9tZSBvciBvZmZpY2UuIFdoYXRzQXBwIG9yIGVucXVpcnkgZm9ybS4iLAogICAgbGQ6W2xvY2FsQnVzaW5lc3NMRCgpLCBjcnVtYkxEKCJDb250YWN0IFVzIiwiL2NvbnRhY3QiKSwgeyAiQHR5cGUiOiJGQVFQYWdlIiwgbWFpbkVudGl0eTogRkFRLm1hcCgoW3EsYV0pID0+ICh7ICJAdHlwZSI6IlF1ZXN0aW9uIiwgbmFtZTpxLCBhY2NlcHRlZEFuc3dlcjp7ICJAdHlwZSI6IkFuc3dlciIsIHRleHQ6YSB9IH0pKSB9XSB9KTsKICBjb25zdCBwcmUgPSBzdGF0ZS5wcmVmaWxsOyBzdGF0ZS5wcmVmaWxsID0gIiI7CiAgcmV0dXJuIGAKICA8c2VjdGlvbiBjbGFzcz0icGhlcm8gb24tZGFyayI+PGRpdiBjbGFzcz0id3JhcCI+CiAgICA8bmF2IGNsYXNzPSJjcnVtYnMiIGFyaWEtbGFiZWw9IkJyZWFkY3J1bWIiPjxhIGhyZWY9IiR7aHJlZigiLyIpfSIgZGF0YS1saW5rPkhvbWU8L2E+IC8gQ29udGFjdCBVczwvbmF2PgogICAgPGgxPkxldCdzIHRhbGsgYnVzaW5lc3M8L2gxPgogICAgPHAgY2xhc3M9ImxlYWQiPkxvb2tpbmcgZm9yIGxhcHRvcHMgaW4gYnVsaywgb3IganVzdCBvbmUgZm9yIGhvbWUgb3Igb2ZmaWNlIHVzZT8gVGVsbCB1cyB3aGF0IHlvdSBuZWVkLjwvcD4KICA8L2Rpdj48L3NlY3Rpb24+CiAgPHNlY3Rpb24gY2xhc3M9InNlYyIgc3R5bGU9InBhZGRpbmctdG9wOjQ0cHgiPjxkaXYgY2xhc3M9IndyYXAgY2dyaWQiPgogICAgPGRpdiBjbGFzcz0iZm9ybS1jYXJkIiBpZD0iZmNhcmQiPiR7Zm9ybUhUTUwocHJlKX08L2Rpdj4KICAgIDxkaXY+CiAgICAgIDxkaXYgY2xhc3M9IndhLWNhcmQiPgogICAgICAgIDxzcGFuIGNsYXNzPSJpYy1ib3giPiR7aWNvbigiY2hhdCIpfTwvc3Bhbj4KICAgICAgICA8aDI+UHJlZmVyIFdoYXRzQXBwPzwvaDI+CiAgICAgICAgPHA+Q2hhdCB3aXRoIFNLIEluZm93YXlzIGZvciBjdXJyZW50IHN0b2NrLCBwcmljZXMgYW5kIHBob3Rvcy48L3A+CiAgICAgICAgPHNwYW4gY2xhc3M9Im51bSI+JHtlc2Mod2FEaXNwbGF5KCkpfTwvc3Bhbj4KICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi13YSBidG4tYmxvY2siIGhyZWY9IiR7d2FHZW5lcmFsKCl9IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+JHtpY29uKCJjaGF0Iil9Q2hhdCB3aXRoIFNLIEluZm93YXlzPC9hPgogICAgICA8L2Rpdj4KICAgICAgPGRsIGNsYXNzPSJpbmZvIj4KICAgICAgICA8ZGl2PiR7aWNvbigiYnJpZWYiKX08c3Bhbj48ZHQ+QnVzaW5lc3M8L2R0PjxkZD5TSyBJbmZvd2F5czwvZGQ+PC9zcGFuPjwvZGl2PgogICAgICAgIDxkaXY+JHtpY29uKCJwaW4iKX08c3Bhbj48ZHQ+TG9jYXRpb248L2R0PjxkZD4ke2VzYyhDT05GSUcuQUREUkVTUyl9PC9kZD48L3NwYW4+PC9kaXY+CiAgICAgICAgPGRpdj4ke2ljb24oInBob25lIil9PHNwYW4+PGR0PlBob25lIE5vIC8gV2hhdHNBcHA8L2R0PjxkZD4ke3Bob25lc0hUTUwoKX08L2RkPjwvc3Bhbj48L2Rpdj4KICAgICAgICA8ZGl2PiR7aWNvbigibWFpbCIpfTxzcGFuPjxkdD5FbWFpbDwvZHQ+PGRkPiR7aXNQaChDT05GSUcuRU1BSUwpID8gc2hvdyhDT05GSUcuRU1BSUwpIDogYDxhIGhyZWY9Im1haWx0bzoke2VzYyhDT05GSUcuRU1BSUwpfSI+JHtlc2MoQ09ORklHLkVNQUlMKX08L2E+YH08L2RkPjwvc3Bhbj48L2Rpdj4KICAgICAgICA8ZGl2PiR7aWNvbigiY2xvY2siKX08c3Bhbj48ZHQ+QnVzaW5lc3MgaG91cnM8L2R0PjxkZD4ke3Nob3coQ09ORklHLkhPVVJTKX08L2RkPjwvc3Bhbj48L2Rpdj4KICAgICAgPC9kbD4KICAgIDwvZGl2PgogIDwvZGl2Pjwvc2VjdGlvbj4KICA8c2VjdGlvbiBjbGFzcz0ic2VjIGFsdCI+PGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJzZWMtaGVhZCI+PGRpdj48aDI+Q29tbW9uIHF1ZXN0aW9uczwvaDI+PC9kaXY+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmYXEiPiR7RkFRLm1hcCgoW3EsYV0saSkgPT4gYDxkZXRhaWxzICR7aT09PTA\/Im9wZW4iOiIifT48c3VtbWFyeT4ke2VzYyhxKX08L3N1bW1hcnk+PHAgY2xhc3M9ImFucyI+JHtlc2MoYSl9PC9wPjwvZGV0YWlscz5gKS5qb2luKCIiKX08L2Rpdj4KICA8L2Rpdj48L3NlY3Rpb24+YDsKfQpjb25zdCBGQVEgPSBbCiAgWyJXaHkgYXJlbid0IHByaWNlcyBzaG93biBvbiB0aGUgd2Vic2l0ZT8iLCJXaG9sZXNhbGUgc3RvY2sgYW5kIHByaWNlcyBjaGFuZ2Ugb2Z0ZW4uIFNlbmQgYW4gZW5xdWlyeSBvciBXaGF0c0FwcCBtZXNzYWdlIHdpdGggdGhlIG1vZGVsIHlvdSBuZWVkLCBhbmQgd2UnbGwgc2hhcmUgdGhlIGN1cnJlbnQgcHJpY2UgYW5kIGF2YWlsYWJsZSBxdWFudGl0eS4iXSwKICBbIkNhbiBJIGJ1eSBhIHNpbmdsZSBsYXB0b3A\/IiwiWWVzLiBXZSB3b3JrIG1haW5seSB3aXRoIGRlYWxlcnMgYW5kIGJ1bGsgYnV5ZXJzLCBidXQgeW91IGNhbiBhbHNvIGVucXVpcmUgZm9yIG9uZSBsYXB0b3AgZm9yIGhvbWUgb3Igb2ZmaWNlIHVzZS4iXSwKICBbIkNhbiBJIHNlZSBwaG90b3Mgb2YgdGhlIGFjdHVhbCB1bml0cz8iLCJZZXMuIEFzayBvbiBXaGF0c0FwcCBhbmQgd2UnbGwgc2VuZCBwaG90b3Mgb2YgdGhlIHN0b2NrIHlvdSdyZSBpbnRlcmVzdGVkIGluLiJdLAogIFsiV2hpY2ggYnJhbmRzIGRvIHlvdSBzdG9jaz8iLCJNYWlubHkgRGVsbCwgTGVub3ZvLCBIUCwgTWljcm9zb2Z0IGFuZCBBcHBsZS4gQXZhaWxhYmxlIG1vZGVscyBjaGFuZ2UgcmVndWxhcmx5IOKAlCBzZWUgdGhlIFByb2R1Y3RzIHBhZ2UgZm9yIGN1cnJlbnQgc3RvY2suIl0KXTsKZnVuY3Rpb24gZm9ybUhUTUwocHJlKXsKICByZXR1cm4gYDxoMj5TZW5kIGFuIGVucXVpcnk8L2gyPjxwPkZpbGwgaW4geW91ciByZXF1aXJlbWVudCBhbmQgd2UnbGwgZ2V0IGJhY2sgdG8geW91LjwvcD4KICA8Zm9ybSBpZD0iY2Zvcm0iIG5vdmFsaWRhdGU+CiAgICA8ZGl2IGNsYXNzPSJmZ3JpZCI+CiAgICAgIDxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgZm9yPSJmLW5hbWUiPkZ1bGwgbmFtZTwvbGFiZWw+PGlucHV0IGlkPSJmLW5hbWUiIG5hbWU9Im5hbWUiIGF1dG9jb21wbGV0ZT0ibmFtZSIgcmVxdWlyZWQgYXJpYS1kZXNjcmliZWRieT0iZS1uYW1lIj48c3BhbiBjbGFzcz0iZXJyIiBpZD0iZS1uYW1lIj48L3NwYW4+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgZm9yPSJmLXBob25lIj5QaG9uZSAvIFdoYXRzQXBwPC9sYWJlbD48aW5wdXQgaWQ9ImYtcGhvbmUiIG5hbWU9InBob25lIiB0eXBlPSJ0ZWwiIGlucHV0bW9kZT0idGVsIiBhdXRvY29tcGxldGU9InRlbCIgcGxhY2Vob2xkZXI9IjEwLWRpZ2l0IG1vYmlsZSBudW1iZXIiIHJlcXVpcmVkIGFyaWEtZGVzY3JpYmVkYnk9ImUtcGhvbmUiPjxzcGFuIGNsYXNzPSJlcnIiIGlkPSJlLXBob25lIj48L3NwYW4+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgZm9yPSJmLWVtYWlsIj5FbWFpbCA8c3BhbiBjbGFzcz0ib3B0Ij4ob3B0aW9uYWwpPC9zcGFuPjwvbGFiZWw+PGlucHV0IGlkPSJmLWVtYWlsIiBuYW1lPSJlbWFpbCIgdHlwZT0iZW1haWwiIGF1dG9jb21wbGV0ZT0iZW1haWwiIGFyaWEtZGVzY3JpYmVkYnk9ImUtZW1haWwiPjxzcGFuIGNsYXNzPSJlcnIiIGlkPSJlLWVtYWlsIj48L3NwYW4+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgZm9yPSJmLWNvbXBhbnkiPkNvbXBhbnkgLyBzaG9wIDxzcGFuIGNsYXNzPSJvcHQiPihvcHRpb25hbCk8L3NwYW4+PC9sYWJlbD48aW5wdXQgaWQ9ImYtY29tcGFueSIgbmFtZT0iY29tcGFueSIgYXV0b2NvbXBsZXRlPSJvcmdhbml6YXRpb24iPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGZvcj0iZi10eXBlIj5JIGFtIGE8L2xhYmVsPjxzZWxlY3QgaWQ9ImYtdHlwZSIgbmFtZT0iYnV5ZXJUeXBlIj48b3B0aW9uPkRlYWxlciAvIHJlc2VsbGVyPC9vcHRpb24+PG9wdGlvbj5EaXN0cmlidXRvcjwvb3B0aW9uPjxvcHRpb24+QnVzaW5lc3MgLyBjb3Jwb3JhdGUgYnV5ZXI8L29wdGlvbj48b3B0aW9uPkluZGl2aWR1YWwgKGhvbWUgLyBvZmZpY2UgdXNlKTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGZvcj0iZi1xdHkiPlF1YW50aXR5IG5lZWRlZDwvbGFiZWw+PHNlbGVjdCBpZD0iZi1xdHkiIG5hbWU9InF1YW50aXR5Ij48b3B0aW9uPjE8L29wdGlvbj48b3B0aW9uPjLigJMxMDwvb3B0aW9uPjxvcHRpb24+MTHigJM1MDwvb3B0aW9uPjxvcHRpb24+NTHigJMxMDA8L29wdGlvbj48b3B0aW9uPjEwMCs8L29wdGlvbj48L3NlbGVjdD48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZmllbGQgZnVsbCI+PHNwYW4gY2xhc3M9ImZsYWJlbCIgaWQ9ImwtcHJlZiI+UHJlZmVycmVkIGNvbnRhY3QgbWV0aG9kPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9InNlZyIgcm9sZT0icmFkaW9ncm91cCIgYXJpYS1sYWJlbGxlZGJ5PSJsLXByZWYiPgogICAgICAgICAgPGxhYmVsPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iY29udGFjdFByZWYiIHZhbHVlPSJXaGF0c0FwcCIgY2hlY2tlZD48c3Bhbj4ke2ljb24oImNoYXQiKX1XaGF0c0FwcDwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgPGxhYmVsPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iY29udGFjdFByZWYiIHZhbHVlPSJQaG9uZSBDYWxsIj48c3Bhbj4ke2ljb24oInBob25lIil9UGhvbmUgY2FsbDwvc3Bhbj48L2xhYmVsPgogICAgICAgIDwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmaWVsZCBmdWxsIj48bGFiZWwgZm9yPSJmLWludGVyZXN0Ij5MYXB0b3AgaW50ZXJlc3Q8L2xhYmVsPjxpbnB1dCBpZD0iZi1pbnRlcmVzdCIgbmFtZT0iaW50ZXJlc3QiIHBsYWNlaG9sZGVyPSJlLmcuIERlbGwgTGF0aXR1ZGUgNzQ0MCwgaTUgOHRoIEdlbiwgMTZHQiAvIG9yIG5vIGlkZWEiIHZhbHVlPSIke2VzYyhwcmUpfSIgcmVxdWlyZWQgYXJpYS1kZXNjcmliZWRieT0iZS1pbnRlcmVzdCI+PHNwYW4gY2xhc3M9ImVyciIgaWQ9ImUtaW50ZXJlc3QiPjwvc3Bhbj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZmllbGQgZnVsbCI+PGxhYmVsIGZvcj0iZi1tc2ciPk1lc3NhZ2UgPHNwYW4gY2xhc3M9Im9wdCI+KG9wdGlvbmFsKTwvc3Bhbj48L2xhYmVsPjx0ZXh0YXJlYSBpZD0iZi1tc2ciIG5hbWU9Im1lc3NhZ2UiIHBsYWNlaG9sZGVyPSJCdWRnZXQsIGRlbGl2ZXJ5IGNpdHksIHByZWZlcnJlZCBzcGVjc+KApiI+PC90ZXh0YXJlYT48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaHAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGFiZWw+TGVhdmUgZW1wdHk8aW5wdXQgbmFtZT0id2Vic2l0ZSIgdGFiaW5kZXg9Ii0xIiBhdXRvY29tcGxldGU9Im9mZiI+PC9sYWJlbD48L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZnN1Ym1pdCI+PGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IiB0eXBlPSJzdWJtaXQiIGlkPSJmc2VuZCI+JHtpY29uKCJzZW5kIil9U2VuZCBlbnF1aXJ5PC9idXR0b24+PHNtYWxsPldlIG9ubHkgdXNlIHlvdXIgZGV0YWlscyB0byByZXBseSB0byB0aGlzIGVucXVpcnkuPC9zbWFsbD48L2Rpdj4KICA8L2Zvcm0+YDsKfQpmdW5jdGlvbiBtb3VudENvbnRhY3QoKXsKICBjb25zdCBmb3JtID0gJCgiI2Nmb3JtIik7IGlmICghZm9ybSkgcmV0dXJuOwogIGNvbnN0IHJ1bGVzID0gewogICAgbmFtZTogdiA9PiB2LnRyaW0oKS5sZW5ndGggPj0gMiA\/ICIiIDogIkVudGVyIHlvdXIgbmFtZS4iLAogICAgcGhvbmU6IHYgPT4geyBjb25zdCBkID0gdi5yZXBsYWNlKC9cRC9nLCIiKTsgcmV0dXJuIChkLmxlbmd0aD09PTEwICYmIC9eWzYtOV0vLnRlc3QoZCkpIHx8IChkLmxlbmd0aD09PTEyICYmIGQuc3RhcnRzV2l0aCgiOTEiKSkgPyAiIiA6ICJFbnRlciBhIHZhbGlkIDEwLWRpZ2l0IG1vYmlsZSBudW1iZXIuIjsgfSwKICAgIGVtYWlsOiB2ID0+ICF2LnRyaW0oKSB8fCAvXlteXHNAXStAW15cc0BdK1wuW15cc0BdezIsfSQvLnRlc3Qodi50cmltKCkpID8gIiIgOiAiRW50ZXIgYSB2YWxpZCBlbWFpbCwgb3IgbGVhdmUgaXQgZW1wdHkuIiwKICAgIGludGVyZXN0OiB2ID0+IHYudHJpbSgpLmxlbmd0aCA+PSAyID8gIiIgOiAiVGVsbCB1cyB3aGljaCBsYXB0b3Agb3Igc3BlYyB5b3UgbmVlZC4iCiAgfTsKICBjb25zdCBjaGVjayA9IChuYW1lKSA9PiB7IGNvbnN0IGVsID0gZm9ybS5lbGVtZW50c1tuYW1lXTsgY29uc3QgbSA9IHJ1bGVzW25hbWVdKGVsLnZhbHVlKTsgZWwuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCAhIW0pOyAkKCIjZS0iK25hbWUpLnRleHRDb250ZW50ID0gbTsgcmV0dXJuICFtOyB9OwogIE9iamVjdC5rZXlzKHJ1bGVzKS5mb3JFYWNoKG4gPT4geyBmb3JtLmVsZW1lbnRzW25dLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCAoKSA9PiBjaGVjayhuKSk7IGZvcm0uZWxlbWVudHNbbl0uYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCAoKSA9PiB7IGlmIChmb3JtLmVsZW1lbnRzW25dLmdldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIik9PT0idHJ1ZSIpIGNoZWNrKG4pOyB9KTsgfSk7CiAgbGV0IHNrVG9rID0gIiI7IGZldGNoKENPTkZJRy5SRVNUKCIvc2tpbmZvd2F5cy92MS90b2tlbiIpLCB7IG1ldGhvZDoiUE9TVCIsIGNhY2hlOiJuby1zdG9yZSIgfSkudGhlbihyID0+IHIuanNvbigpKS50aGVuKGogPT4geyBza1RvayA9IChqICYmIGoudG9rZW4pIHx8ICIiOyB9KS5jYXRjaCgoKSA9PiB7fSk7CiAgZm9ybS5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLCBhc3luYyBlID0+IHsKICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIGNvbnN0IG9rID0gT2JqZWN0LmtleXMocnVsZXMpLm1hcChjaGVjaykuZXZlcnkoQm9vbGVhbik7CiAgICBpZiAoIW9rKXsgY29uc3QgYmFkID0gZm9ybS5xdWVyeVNlbGVjdG9yKCdbYXJpYS1pbnZhbGlkPSJ0cnVlIl0nKTsgYmFkICYmIGJhZC5mb2N1cygpOyByZXR1cm47IH0KICAgIGlmIChmb3JtLmVsZW1lbnRzLndlYnNpdGUudmFsdWUpIHJldHVybjsgLy8gc3BhbSB0cmFwCiAgICBjb25zdCBkYXRhID0gT2JqZWN0LmZyb21FbnRyaWVzKG5ldyBGb3JtRGF0YShmb3JtKSk7IGRlbGV0ZSBkYXRhLndlYnNpdGU7CiAgICBkYXRhLnBhZ2UgPSBsb2NhdGlvbi5ocmVmOyBkYXRhLnN1Ym1pdHRlZEF0ID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpOwogICAgY29uc3QgYnRuID0gJCgiI2ZzZW5kIik7IGJ0bi5kaXNhYmxlZCA9IHRydWU7IGJ0bi5pbm5lckhUTUwgPSBgPHNwYW4gY2xhc3M9InNwaW4iPjwvc3Bhbj5TZW5kaW5n4oCmYDsKICAgIGxldCBzZW50ID0gZmFsc2U7CiAgICBjb25zdCBHID0gQ09ORklHLkdPT0dMRV9GT1JNOwogICAgY29uc3QgZGV0YWlscyA9IFsKICAgICAgZGF0YS5tZXNzYWdlICYmIGRhdGEubWVzc2FnZS50cmltKCksCiAgICAgIGRhdGEuZW1haWwgJiYgIkVtYWlsOiAiICsgZGF0YS5lbWFpbC50cmltKCksCiAgICAgIGRhdGEuY29tcGFueSAmJiAiQ29tcGFueTogIiArIGRhdGEuY29tcGFueS50cmltKCksCiAgICAgICJCdXllciB0eXBlOiAiICsgZGF0YS5idXllclR5cGUsCiAgICAgICJRdWFudGl0eTogIiArIGRhdGEucXVhbnRpdHkKICAgIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIlxuIik7CiAgICBpZiAoaXNMaXZlSG9zdCgpKXsKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCByciA9IGF3YWl0IGZldGNoKENPTkZJRy5SRVNUKCIvc2tpbmZvd2F5cy92MS9lbnF1aXJ5IiksIHsgbWV0aG9kOiJQT1NUIiwgaGVhZGVyczp7ICJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIiB9LCBib2R5OiBKU09OLnN0cmluZ2lmeSh7IG5hbWU6ZGF0YS5uYW1lLnRyaW0oKSwgcGhvbmU6ZGF0YS5waG9uZS50cmltKCksIGVtYWlsOihkYXRhLmVtYWlsfHwiIikudHJpbSgpLCBjb21wYW55OihkYXRhLmNvbXBhbnl8fCIiKS50cmltKCksIGJ1eWVyVHlwZTpkYXRhLmJ1eWVyVHlwZXx8IiIsIHF1YW50aXR5OmRhdGEucXVhbnRpdHl8fCIiLCBjb250YWN0UHJlZjpkYXRhLmNvbnRhY3RQcmVmfHwiV2hhdHNBcHAiLCBpbnRlcmVzdDpkYXRhLmludGVyZXN0LnRyaW0oKSwgbWVzc2FnZTooZGF0YS5tZXNzYWdlfHwiIikudHJpbSgpLCB3ZWJzaXRlOmZvcm0uZWxlbWVudHMud2Vic2l0ZS52YWx1ZSwgdG9rZW46c2tUb2sgfSkgfSk7CiAgICAgICAgbGV0IGpqID0ge307IHRyeSB7IGpqID0gYXdhaXQgcnIuanNvbigpOyB9IGNhdGNoKF8pe30KICAgICAgICBpZiAoIXJyLm9rIHx8IGpqLm9rID09PSBmYWxzZSl7IGJ0bi5kaXNhYmxlZCA9IGZhbHNlOyBidG4uaW5uZXJIVE1MID0gaWNvbigic2VuZCIpICsgIlNlbmQgZW5xdWlyeSI7CiAgICAgICAgICAkKCIjZS1pbnRlcmVzdCIpLnRleHRDb250ZW50ID0gamoubWVzc2FnZSB8fCAiVGhlIGVucXVpcnkgY291bGRuJ3QgYmUgc2VudC4gQ2hlY2sgeW91ciBjb25uZWN0aW9uIGFuZCB0cnkgYWdhaW4sIG9yIG1lc3NhZ2UgdXMgb24gV2hhdHNBcHAuIjsgcmV0dXJuOyB9CiAgICAgICAgc2VudCA9IHRydWU7CiAgICAgIH0KICAgICAgY2F0Y2goZXJyKXsgYnRuLmRpc2FibGVkID0gZmFsc2U7IGJ0bi5pbm5lckhUTUwgPSBpY29uKCJzZW5kIikgKyAiU2VuZCBlbnF1aXJ5IjsKICAgICAgICAkKCIjZS1pbnRlcmVzdCIpLnRleHRDb250ZW50ID0gIlRoZSBlbnF1aXJ5IGNvdWxkbid0IGJlIHNlbnQuIENoZWNrIHlvdXIgY29ubmVjdGlvbiBhbmQgdHJ5IGFnYWluLCBvciBtZXNzYWdlIHVzIG9uIFdoYXRzQXBwLiI7IHJldHVybjsgfQogICAgfSBlbHNlIHsgYXdhaXQgbmV3IFByb21pc2UociA9PiBzZXRUaW1lb3V0KHIsIDcwMCkpOyB9CiAgICBjb25zdCBmaXJzdCA9IGRhdGEubmFtZS50cmltKCkuc3BsaXQoIiAiKVswXTsKICAgICQoIiNmY2FyZCIpLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJzdWNjZXNzIiByb2xlPSJzdGF0dXMiPjxkaXYgY2xhc3M9InRpY2siPiR7aWNvbigiY2hlY2siKX08L2Rpdj4KICAgICAgPGgyPkVucXVpcnkgc2VudDwvaDI+PHA+VGhhbmtzLCAke2VzYyhmaXJzdCl9LiBXZSd2ZSByZWNlaXZlZCB5b3VyIHJlcXVpcmVtZW50IGZvciAke2VzYyhkYXRhLmludGVyZXN0KX0gYW5kIHdpbGwgcmVwbHkgb24gJHtlc2MoZGF0YS5waG9uZSl9LjwvcD4KICAgICAgJHtzZW50ID8gIiIgOiBgPHAgY2xhc3M9Im5vdGljZSIgc3R5bGU9Im1hcmdpbjotOHB4IGF1dG8gMjBweCI+UHJldmlldyBvbmx5OiBub3RoaW5nIHdhcyBzZW50LiBPbiBza2luZm93YXlzLmNvbSB0aGlzIGdvZXMgdG8gRm9ybSBSZXNwb25zZXMgMS48L3A+YH0KICAgICAgPGRpdiBjbGFzcz0iYnRucyI+PGEgY2xhc3M9ImJ0biBidG4td2EiIGhyZWY9IiR7d2FMaW5rKGBIZWxsbyBTSyBJbmZvd2F5cywgSSBqdXN0IHNlbnQgYW4gZW5xdWlyeSBmb3IgJHtkYXRhLmludGVyZXN0fS4gTXkgbmFtZSBpcyAke2RhdGEubmFtZX0uYCl9IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+JHtpY29uKCJjaGF0Iil9Rm9sbG93IHVwIG9uIFdoYXRzQXBwPC9hPgogICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWdob3N0IiBpZD0iYWdhaW4iPlNlbmQgYW5vdGhlciBlbnF1aXJ5PC9idXR0b24+PC9kaXY+PC9kaXY+YDsKICAgICQoIiNhZ2FpbiIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geyAkKCIjZmNhcmQiKS5pbm5lckhUTUwgPSBmb3JtSFRNTCgiIik7IG1vdW50Q29udGFjdCgpOyB9KTsKICAgICQoIiNmY2FyZCIpLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6InNtb290aCIsIGJsb2NrOiJjZW50ZXIiIH0pOwogIH0pOwp9CgpmdW5jdGlvbiBOb3RGb3VuZCgpewogIHNldE1ldGEoeyB0aXRsZToiUGFnZSBub3QgZm91bmQgfCBTSyBJbmZvd2F5cyIsIHBhdGg6Ii8iLCBkZXNjOiJUaGlzIHBhZ2UgZG9lc24ndCBleGlzdC4iIH0pOwogIHJldHVybiBgPHNlY3Rpb24gY2xhc3M9InBoZXJvIG9uLWRhcmsiPjxkaXYgY2xhc3M9IndyYXAiPjxoMT5QYWdlIG5vdCBmb3VuZDwvaDE+PHAgY2xhc3M9ImxlYWQiPlRoZSBwYWdlIHlvdSdyZSBsb29raW5nIGZvciBkb2Vzbid0IGV4aXN0IG9yIGhhcyBtb3ZlZC48L3A+CiAgICA8ZGl2IGNsYXNzPSJoZXJvLWN0YXMiPjxhIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIGhyZWY9IiR7aHJlZigiLyIpfSIgZGF0YS1saW5rPkdvIHRvIGhvbWU8L2E+PGEgY2xhc3M9ImJ0biBidG4tZ2hvc3QiIGhyZWY9IiR7aHJlZigiL3Byb2R1Y3RzIil9IiBkYXRhLWxpbms+VmlldyBwcm9kdWN0czwvYT48L2Rpdj48L2Rpdj48L3NlY3Rpb24+YDsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIDgpIFBST0RVQ1QgTU9EQUwKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCmxldCBsYXN0Rm9jdXMgPSBudWxsOwpmdW5jdGlvbiBvcGVuTW9kYWwoaWQpewogIGNvbnN0IHAgPSBzdGF0ZS5wcm9kdWN0cy5maW5kKHggPT4geC5pZCA9PT0gaWQpOyBpZiAoIXApIHJldHVybjsKICBsYXN0Rm9jdXMgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50OwogIGNvbnN0IHJvd3MgPSBbWyJCcmFuZCIscC5icmFuZF0sWyJNb2RlbCIscC5tb2RlbF0sWyJQcm9jZXNzb3IiLHAuY3B1XSxbIlJBTSIscC5yYW1dLFsiU3RvcmFnZSIscC5zdG9yYWdlXSxbIlNjcmVlbiIscC5zY3JlZW5dLFsiQ29uZGl0aW9uIixwLmNvbmRpdGlvbl0sWyJRdWFudGl0eSBhdmFpbGFibGUiLHAucXR5XV07CiAgaWYgKHAuc3BlY3MpIE9iamVjdC5lbnRyaWVzKHAuc3BlY3MpLmZvckVhY2goKFtrLHZdKSA9PiB7IGlmICghL2JyYW5kfG1vZGVsfHByb2Nlc3NvcnxjcHV8cmFtfG1lbW9yeXxzc2R8c3RvcmFnZXxzY3JlZW58ZGlzcGxheXx0b3VjaHxjb25kaXRpb258Z3JhZGV8cXR5fHF1YW50aXR5fHN0b2NrfHByaWNlL2kudGVzdChrKSAmJiB2ICYmIHYubGVuZ3RoIDwgODApIHJvd3MucHVzaChbay5yZXBsYWNlKC9cYlx3L2csYz0+Yy50b1VwcGVyQ2FzZSgpKSwgdl0pOyB9KTsKICBjb25zdCBtID0gJCgiI3NrLW1vZGFsIik7CiAgbS5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0ibXNjcmltIiBkYXRhLWNsb3NlPjwvZGl2PgogIDxkaXYgY2xhc3M9Im1ib3giIHJvbGU9ImRpYWxvZyIgYXJpYS1tb2RhbD0idHJ1ZSIgYXJpYS1sYWJlbGxlZGJ5PSJtdGl0bGUiPgogICAgPGJ1dHRvbiBjbGFzcz0ieGJ0biBtY2xvc2UiIGRhdGEtY2xvc2UgYXJpYS1sYWJlbD0iQ2xvc2UiPiR7aWNvbigiY2xvc2UiKX08L2J1dHRvbj4KICAgIDxkaXYgY2xhc3M9Im1nYWwiPjxkaXYgY2xhc3M9Im1haW4iIGlkPSJtbWFpbiI+JHtwLmltYWdlcy5sZW5ndGggPyBgPGltZyBzcmM9IiR7ZXNjKHAuaW1hZ2VzWzBdLnNyYyl9IiBhbHQ9IiR7ZXNjKHAuaW1hZ2VzWzBdLmFsdCl9Ij5gIDogbGFwdG9wQXJ0KHAuYnJhbmQsIHBOYW1lKHApKX08L2Rpdj4KICAgICAgJHtwLmltYWdlcy5sZW5ndGggPiAxID8gYDxkaXYgY2xhc3M9InRodW1icyI+JHtwLmltYWdlcy5tYXAoKGltLGkpID0+IGA8YnV0dG9uIGRhdGEtaW1nPSIke2l9IiBhcmlhLWN1cnJlbnQ9IiR7aT09PTB9IiBhcmlhLWxhYmVsPSJQaG90byAke2krMX0iPjxpbWcgc3JjPSIke2VzYyhpbS5zcmMpfSIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPjwvYnV0dG9uPmApLmpvaW4oIiIpfTwvZGl2PmAgOiAiIn0KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibWRldCI+CiAgICAgIDxzcGFuIGNsYXNzPSJwYnJhbmQiPiR7ZXNjKHAuYnJhbmQpfTwvc3Bhbj4KICAgICAgPGgyIGlkPSJtdGl0bGUiPiR7ZXNjKHAubW9kZWwpfTwvaDI+CiAgICAgIDx0YWJsZSBjbGFzcz0ic3RhYmxlIj48dGJvZHk+JHtyb3dzLmZpbHRlcihyPT5yWzFdKS5tYXAoKFtrLHZdKSA9PiBgPHRyPjx0aCBzY29wZT0icm93Ij4ke2VzYyhrKX08L3RoPjx0ZD4ke2VzYyh2KX08L3RkPjwvdHI+YCkuam9pbigiIil9PC90Ym9keT48L3RhYmxlPgogICAgICA8cCBjbGFzcz0ibW5vdGUiPldob2xlc2FsZSBwcmljZSBzaGFyZWQgb24gZW5xdWlyeS4gUmVhbCBwaG90b3Mgb2YgdGhlIHVuaXRzIGF2YWlsYWJsZSBvbiBXaGF0c0FwcC4ke3AudXJsID8gYCA8YSBjbGFzcz0ibGluayIgaHJlZj0iJHtlc2MocC51cmwpfSI+RnVsbCBwcm9kdWN0IHBhZ2U8L2E+YCA6ICIifTwvcD4KICAgICAgPGRpdiBjbGFzcz0ibWFjdGlvbnMiPgogICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLXdhIiBocmVmPSIke3dhUHJvZHVjdChwKX0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj4ke2ljb24oImNoYXQiKX1XaGF0c0FwcCBlbnF1aXJ5PC9hPgogICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLWdob3N0IiBocmVmPSIke2hyZWYoIi9jb250YWN0Iil9IiBkYXRhLWxpbmsgZGF0YS1wcmVmaWxsPSIke2VzYyhwTmFtZShwKSl9Ij5TZW5kIHdob2xlc2FsZSBlbnF1aXJ5PC9hPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PjwvZGl2PmA7CiAgbS5oaWRkZW4gPSBmYWxzZTsgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICJoaWRkZW4iOyBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoIm92ZXJsYXkiKTsKICAkKCIubWNsb3NlIiwgbSkuZm9jdXMoKTsKICAkJCgiW2RhdGEtaW1nXSIsIG0pLmZvckVhY2goYiA9PiBiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewogICAgY29uc3QgaW0gPSBwLmltYWdlc1srYi5kYXRhc2V0LmltZ107ICQoIiNtbWFpbiIpLmlubmVySFRNTCA9IGA8aW1nIHNyYz0iJHtlc2MoaW0uc3JjKX0iIGFsdD0iJHtlc2MoaW0uYWx0KX0iPmA7CiAgICAkJCgiW2RhdGEtaW1nXSIsIG0pLmZvckVhY2goeCA9PiB4LnNldEF0dHJpYnV0ZSgiYXJpYS1jdXJyZW50IiwgeD09PWIpKTsKICB9KSk7Cn0KZnVuY3Rpb24gY2xvc2VNb2RhbChyZXN0b3JlPXRydWUpewogIGNvbnN0IG0gPSAkKCIjc2stbW9kYWwiKTsgaWYgKG0uaGlkZGVuKSByZXR1cm47CiAgbS5oaWRkZW4gPSB0cnVlOyBtLmlubmVySFRNTCA9ICIiOyBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gIiI7IGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgib3ZlcmxheSIpOwogIGlmIChyZXN0b3JlICYmIGxhc3RGb2N1cykgbGFzdEZvY3VzLmZvY3VzKCk7Cn0KZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIGUgPT4gewogIGlmIChlLmtleSA9PT0gIkVzY2FwZSIpeyBjbG9zZU1vZGFsKCk7IGNsb3NlTWVudSgpOyBjb25zdCBzPSQoIiNmaWx0ZXJzLm9wZW4iKTsgaWYgKHMpeyBzLmNsYXNzTGlzdC5yZW1vdmUoIm9wZW4iKTsgJCgiI3NjcmltIikuY2xhc3NMaXN0LnJlbW92ZSgib3BlbiIpOyBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PSIiOyBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoIm92ZXJsYXkiKTsgfSB9CiAgaWYgKGUua2V5ID09PSAiVGFiIiAmJiAhJCgiI3NrLW1vZGFsIikuaGlkZGVuKXsKICAgIGNvbnN0IGYgPSAkJCgnI3NrLW1vZGFsIGEsICNzay1tb2RhbCBidXR0b24nKTsgY29uc3QgZmlyc3Q9ZlswXSwgbGFzdD1mW2YubGVuZ3RoLTFdOwogICAgaWYgKGUuc2hpZnRLZXkgJiYgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWZpcnN0KXsgZS5wcmV2ZW50RGVmYXVsdCgpOyBsYXN0LmZvY3VzKCk7IH0KICAgIGVsc2UgaWYgKCFlLnNoaWZ0S2V5ICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1sYXN0KXsgZS5wcmV2ZW50RGVmYXVsdCgpOyBmaXJzdC5mb2N1cygpOyB9CiAgfQp9KTsKCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICA5KSBST1VURVIgKyBHTE9CQUwgRVZFTlRTCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwpmdW5jdGlvbiBjdXJyZW50UGF0aCgpewogIGlmIChXUF9NT0RFKXsKICAgIGNvbnN0IGFydCA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKS5nZXQoImFydGljbGUiKTsKICAgIGlmICh3aW5kb3cuU0tfUk9VVEUgPT09ICIvYmxvZ3MiICYmIGFydCkgcmV0dXJuICIvYmxvZ3MvIiArIGFydDsKICAgIHJldHVybiB3aW5kb3cuU0tfUk9VVEU7CiAgfQogIGNvbnN0IHJhdyA9IENPTkZJRy5DTEVBTl9VUkxTID8gbG9jYXRpb24ucGF0aG5hbWUgOiAobG9jYXRpb24uaGFzaC5yZXBsYWNlKC9eIy8sIiIpIHx8ICIvIik7CiAgcmV0dXJuIChyYXcuc3BsaXQoIj8iKVswXS5yZXBsYWNlKC9cLyskLywiIikgfHwgIi8iKTsKfQpmdW5jdGlvbiBjbG9zZU1lbnUoKXsgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCJtZW51LW9wZW4iKTsgJCgiI2J1cmdlciIpLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIik7ICQoIiNidXJnZXIiKS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJPcGVuIG1lbnUiKTsgfQpsZXQgaW87CmFzeW5jIGZ1bmN0aW9uIHJlbmRlcigpewogIGNvbnN0IHBhdGggPSBjdXJyZW50UGF0aCgpOwogIGNsb3NlTWVudSgpOyBjbG9zZU1vZGFsKGZhbHNlKTsgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICIiOyBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoIm92ZXJsYXkiKTsKICBjb25zdCBtYWluID0gJCgiI3NrLW1haW4iKTsKICBsZXQgaHRtbCwgbW91bnQgPSBudWxsOwogIGlmIChwYXRoID09PSAiLyIpIGh0bWwgPSBIb21lKCk7CiAgZWxzZSBpZiAocGF0aCA9PT0gIi9hYm91dCIpIGh0bWwgPSBBYm91dCgpOwogIGVsc2UgaWYgKHBhdGggPT09ICIvcHJvZHVjdHMiKXsgaHRtbCA9IFByb2R1Y3RzKCk7IG1vdW50ID0gbW91bnRQcm9kdWN0czsgfQogIGVsc2UgaWYgKHBhdGggPT09ICIvYmxvZ3MiKXsgaHRtbCA9IEJsb2dzKCk7IG1vdW50ID0gbW91bnRCbG9nczsgfQogIGVsc2UgaWYgKHBhdGguc3RhcnRzV2l0aCgiL2Jsb2dzLyIpKSBodG1sID0gYXdhaXQgUG9zdChkZWNvZGVVUklDb21wb25lbnQocGF0aC5zbGljZSg3KSkpOwogIGVsc2UgaWYgKHBhdGggPT09ICIvY29udGFjdCIpeyBodG1sID0gQ29udGFjdCgpOyBtb3VudCA9IG1vdW50Q29udGFjdDsgfQogIGVsc2UgaHRtbCA9IE5vdEZvdW5kKCk7CiAgbWFpbi5zdHlsZS5hbmltYXRpb24gPSAibm9uZSI7IG1haW4ub2Zmc2V0SGVpZ2h0OyBtYWluLnN0eWxlLmFuaW1hdGlvbiA9ICIiOwogIG1haW4uaW5uZXJIVE1MID0gaHRtbDsKICBpZiAobW91bnQpIG1vdW50KCk7CiAgd2luZG93LnNjcm9sbFRvKDAsMCk7CiAgJCQoIltkYXRhLXBhdGhdIikuZm9yRWFjaChhID0+IHsgY29uc3Qgb24gPSBhLmRhdGFzZXQucGF0aCA9PT0gcGF0aCB8fCAoYS5kYXRhc2V0LnBhdGggIT09ICIvIiAmJiBwYXRoLnN0YXJ0c1dpdGgoYS5kYXRhc2V0LnBhdGgpKTsgYS5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLCBvbik7IG9uID8gYS5zZXRBdHRyaWJ1dGUoImFyaWEtY3VycmVudCIsInBhZ2UiKSA6IGEucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWN1cnJlbnQiKTsgfSk7CiAgaWYgKGlvKSBpby5kaXNjb25uZWN0KCk7CiAgaW8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZXMgPT4gZXMuZm9yRWFjaChlbiA9PiB7IGlmIChlbi5pc0ludGVyc2VjdGluZyl7IGVuLnRhcmdldC5jbGFzc0xpc3QuYWRkKCJpbiIpOyBpby51bm9ic2VydmUoZW4udGFyZ2V0KTsgfSB9KSwgeyByb290TWFyZ2luOiIwcHggMHB4IC04JSAwcHgiIH0pOwogICQkKCIucmV2ZWFsOm5vdCguaW4pIikuZm9yRWFjaChlbCA9PiBpby5vYnNlcnZlKGVsKSk7Cn0KZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBlID0+IHsKICBjb25zdCBvID0gZS50YXJnZXQuY2xvc2VzdCgiW2RhdGEtb3Blbl0iKTsgaWYgKG8peyBlLnByZXZlbnREZWZhdWx0KCk7IG9wZW5Nb2RhbChvLmRhdGFzZXQub3Blbik7IHJldHVybjsgfQogIGlmIChlLnRhcmdldC5jbG9zZXN0KCJbZGF0YS1jbG9zZV0iKSl7IGNsb3NlTW9kYWwoKTsgcmV0dXJuOyB9CiAgY29uc3QgYSA9IGUudGFyZ2V0LmNsb3Nlc3QoImFbZGF0YS1saW5rXSIpOwogIGlmIChhKXsKICAgIGlmIChXUF9NT0RFKXsKICAgICAgaWYgKGEuZGF0YXNldC5wcmVmaWxsKXsgZS5wcmV2ZW50RGVmYXVsdCgpOyBsb2NhdGlvbi5ocmVmID0gYWRkUGFyYW0oYS5nZXRBdHRyaWJ1dGUoImhyZWYiKSwgInByb2R1Y3QiLCBhLmRhdGFzZXQucHJlZmlsbCk7IH0KICAgICAgZWxzZSBpZiAoYS5kYXRhc2V0LmJyYW5kKXsgZS5wcmV2ZW50RGVmYXVsdCgpOyBsb2NhdGlvbi5ocmVmID0gYWRkUGFyYW0oYS5nZXRBdHRyaWJ1dGUoImhyZWYiKSwgImJyYW5kIiwgYS5kYXRhc2V0LmJyYW5kKTsgfQogICAgICByZXR1cm47IC8vIG5vcm1hbCBwYWdlIG5hdmlnYXRpb24KICAgIH0KICAgIGlmIChhLmRhdGFzZXQucHJlZmlsbCkgc3RhdGUucHJlZmlsbCA9IGEuZGF0YXNldC5wcmVmaWxsOwogICAgaWYgKGEuZGF0YXNldC5icmFuZCl7IHN0YXRlLmZpbHRlci5icmFuZHMgPSBuZXcgU2V0KFthLmRhdGFzZXQuYnJhbmRdKTsgc3RhdGUuZmlsdGVyLnByb2NzLmNsZWFyKCk7IHN0YXRlLmZpbHRlci5xID0gIiI7IH0KICAgIGNvbnN0IHRhcmdldCA9IGEuZ2V0QXR0cmlidXRlKCJocmVmIik7CiAgICBpZiAoQ09ORklHLkNMRUFOX1VSTFMpeyBlLnByZXZlbnREZWZhdWx0KCk7IGlmICh0YXJnZXQgIT09IGxvY2F0aW9uLnBhdGhuYW1lKSBoaXN0b3J5LnB1c2hTdGF0ZSh7fSwgIiIsIHRhcmdldCk7IHJlbmRlcigpOyB9CiAgICBlbHNlIGlmICh0YXJnZXQgPT09IGxvY2F0aW9uLmhhc2ggfHwgKHRhcmdldCA9PT0gIiMvIiAmJiAhbG9jYXRpb24uaGFzaCkpeyBlLnByZXZlbnREZWZhdWx0KCk7IHJlbmRlcigpOyB9CiAgfQp9KTsKaWYgKCFXUF9NT0RFKSB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihDT05GSUcuQ0xFQU5fVVJMUyA\/ICJwb3BzdGF0ZSIgOiAiaGFzaGNoYW5nZSIsIHJlbmRlcik7CiQoIiNidXJnZXIiKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKICBjb25zdCBvcGVuID0gIWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCJtZW51LW9wZW4iKTsKICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoIm1lbnUtb3BlbiIsIG9wZW4pOwogICQoIiNidXJnZXIiKS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCBvcGVuKTsgJCgiI2J1cmdlciIpLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIG9wZW4gPyAiQ2xvc2UgbWVudSIgOiAiT3BlbiBtZW51Iik7Cn0pOwpsZXQgdGlja2luZyA9IGZhbHNlOwp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgKCkgPT4geyBpZiAodGlja2luZykgcmV0dXJuOyB0aWNraW5nID0gdHJ1ZTsgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsgJCgiI2hkciIpLmNsYXNzTGlzdC50b2dnbGUoInNjcm9sbGVkIiwgc2Nyb2xsWSA+IDE2KTsgdGlja2luZyA9IGZhbHNlOyB9KTsgfSwgeyBwYXNzaXZlOnRydWUgfSk7CndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCAoKSA9PiB7IGlmIChpbm5lcldpZHRoID4gOTAwKSBjbG9zZU1lbnUoKTsgfSk7CgooYXN5bmMgZnVuY3Rpb24gaW5pdCgpewogIHJlbmRlckNocm9tZSgpOwogIGlmIChXUF9NT0RFKXsgY29uc3QgcSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTsKICAgIGlmIChxLmdldCgicHJvZHVjdCIpKSBzdGF0ZS5wcmVmaWxsID0gcS5nZXQoInByb2R1Y3QiKTsKICAgIGlmIChxLmdldCgiYnJhbmQiKSAmJiBCUkFORFMuaW5jbHVkZXMocS5nZXQoImJyYW5kIikpKSBzdGF0ZS5maWx0ZXIuYnJhbmRzID0gbmV3IFNldChbcS5nZXQoImJyYW5kIildKTsgfQogIGF3YWl0IGxvYWREYXRhKCk7CiAgcmVuZGVyKCk7Cn0pKCk7Cg==\"><\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"unboxed","ast-global-header-display":"disabled","ast-banner-title-visibility":"disabled","ast-main-header-display":"disabled","ast-hfb-above-header-display":"disabled","ast-hfb-below-header-display":"disabled","ast-hfb-mobile-header-display":"disabled","site-post-title":"disabled","ast-breadcrumbs-content":"disabled","ast-featured-img":"disabled","footer-sml-layout":"disabled","theme-transparent-header-meta":"disabled","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-37790","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/skinfoways.com\/index.php?rest_route=\/wp\/v2\/pages\/37790"}],"collection":[{"href":"https:\/\/skinfoways.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/skinfoways.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/skinfoways.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skinfoways.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=37790"}],"version-history":[{"count":2,"href":"https:\/\/skinfoways.com\/index.php?rest_route=\/wp\/v2\/pages\/37790\/revisions"}],"predecessor-version":[{"id":37805,"href":"https:\/\/skinfoways.com\/index.php?rest_route=\/wp\/v2\/pages\/37790\/revisions\/37805"}],"wp:attachment":[{"href":"https:\/\/skinfoways.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=37790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}