{"version":"1.0","provider_name":"Fabrix.ai","provider_url":"https:\/\/fabrix.ai\/blog","title":"FBX Nav Script Payload (do not delete) | Fabrix.ai","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"aitM3p1KtU\"><a href=\"https:\/\/fabrix.ai\/blog\/fbx-nav-script-payload-do-not-delete\/\">FBX Nav Script Payload (do not delete)<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/fabrix.ai\/blog\/fbx-nav-script-payload-do-not-delete\/embed\/#?secret=aitM3p1KtU\" width=\"600\" height=\"338\" title=\"&#8220;FBX Nav Script Payload (do not delete)&#8221; &#8212; Fabrix.ai\" data-secret=\"aitM3p1KtU\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/fabrix.ai\/blog\/wp-includes\/js\/wp-embed.min.js\n<\/script>\n","description":"[vc_raw_html]KGZ1bmN0aW9uKCl7IHZhciBjb250YWluZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IGNvbnRhaW5lci5pbm5lckhUTUwgPSAiPHN0eWxlPlxuLmZieC1uYXZ0ZXN0LW5vdGV7YmFja2dyb3VuZDojZmZmM2NkO2NvbG9yOiM2NjRkMDM7cGFkZGluZzoxMnB4IDIwcHg7Zm9udC1zaXplOjE0cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ZmZTY5Yzt9XG4uZmJ4LW5hdntmb250LWZhbWlseTonTW9udHNlcnJhdCcsc2Fucy1zZXJpZjtiYWNrZ3JvdW5kOiMwMDA7aGVpZ2h0OjY4cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEwMDt3aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDt9XG4uZmJ4LW5hdi1pbm5lcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjE0NDBweDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAzMnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDt9XG4uZmJ4LWxvZ28gaW1ne2hlaWdodDoyNXB4O2Rpc3BsYXk6YmxvY2s7fVxuLmZieC1saW5rc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7fVxuLmZieC1saW5rcz5saXtwb3NpdGlvbjpyZWxhdGl2ZTt9XG4uZmJ4LWxpbmtzPmxpPmEsLmZieC1saW5rcz5saT5idXR0b257Y29sb3I6I2ZmZiFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6I2ZmZiFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUhaW1wb3J0YW50O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjYwMDtiYWNrZ3JvdW5kOm5vbmUhaW1wb3J0YW50O2JvcmRlcjpub25lO3BhZGRpbmc6MCAxNHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjVweDtoZWlnaHQ6NjhweDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O31cbi5mYngtbGlua3M+bGk+YTpob3ZlciwuZmJ4LWxpbmtzPmxpPmJ1dHRvbjpob3ZlciwuZmJ4LWxpbmtzPmxpLmZieC1hY3RpdmU+YXtjb2xvcjojZTE0ZjI5IWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojZTE0ZjI5IWltcG9ydGFudDt9XG4uZmJ4LWNhcmV0e3dpZHRoOjExcHg7aGVpZ2h0OjExcHg7ZmxleDpub25lO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yczt9XG4uZmJ4LWxpbmtzPmxpLmZieC1vcGVuIC5mYngtY2FyZXR7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO31cbi5mYngtY3Rhe2JvcmRlcjoxLjZweCBzb2xpZCAjZTE0ZjI5O2JhY2tncm91bmQ6I2UxNGYyOSFpbXBvcnRhbnQ7Y29sb3I6I2ZmZiFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6I2ZmZiFpbXBvcnRhbnQ7cGFkZGluZzo0cHggMjBweDtib3JkZXItcmFkaXVzOjMycHg7dGV4dC1kZWNvcmF0aW9uOm5vbmUhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTMuNnB4O3doaXRlLXNwYWNlOm5vd3JhcDtmb250LWZhbWlseTppbmhlcml0O21hcmdpbi1sZWZ0OjIwcHg7fVxuLmZieC1jdGE6aG92ZXJ7YmFja2dyb3VuZDojYzczZjFlIWltcG9ydGFudDtjb2xvcjojZmZmIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojZmZmIWltcG9ydGFudDt9XG4uZmJ4LXBhbmVse2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjpmaXhlZDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOi44cHggc29saWQgcmdiYSgxNSwyMCw0MCwuMTQpO2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2hhZG93OjAgMTZweCA1NnB4IHJnYmEoMTEsMTMsMjAsLjE0KSwwIDJweCA4cHggcmdiYSgxMSwxMywyMCwuMDcpO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjIwMDt9XG5saS5mYngtb3BlbiAuZmJ4LXBhbmVse2Rpc3BsYXk6YmxvY2s7fVxuLmZieC1wYW5lbC1zaGVsbHtkaXNwbGF5OmZsZXg7fVxuLmZieC1zaWRle3dpZHRoOjIwNnB4O2ZsZXg6MCAwIDIwNnB4O2JhY2tncm91bmQ6I2Y3ZjhmYjtwYWRkaW5nOjE2cHggMDtib3gtc2l6aW5nOmJvcmRlci1ib3g7fVxuLmZieC1zaWRlLXRpdGxle2NvbG9yOiM5Y2EzYWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOjFweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7cGFkZGluZzowIDIwcHggMTJweDt9XG4uZmJ4LXNpZGUtYnRue2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2JvcmRlci1sZWZ0OjEuNnB4IHNvbGlkIHRyYW5zcGFyZW50O3BhZGRpbmc6MTFweCAyMHB4O2ZvbnQtc2l6ZToxMy41cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiM2YjcyODA7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDtib3gtc2l6aW5nOmJvcmRlci1ib3g7fVxuLmZieC1kb3R7d2lkdGg6NnB4O2hlaWdodDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojOWNhM2FmO2ZsZXg6bm9uZTtkaXNwbGF5OmJsb2NrO31cbi5mYngtc2lkZS1idG4uZmJ4LXNlbCAuZmJ4LWRvdHtiYWNrZ3JvdW5kOiNlMTRmMjk7fVxuLmZieC1zaWRlLWJ0bi5mYngtc2Vse2JhY2tncm91bmQ6I2VlZjBmNTtib3JkZXItbGVmdC1jb2xvcjojZTE0ZjI5O2NvbG9yOiNlMTRmMjk7Zm9udC13ZWlnaHQ6NzAwO31cbi5mYngtY2F0e2Rpc3BsYXk6bm9uZTt9XG4uZmJ4LWNhdC5mYngtb257ZGlzcGxheTpibG9jazt9XG4uZmJ4LWNhdC1ib2R5e3BhZGRpbmc6MjRweCAyOHB4O31cbi5mYngtY2F0LXRpdGxle2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMGIwZDE0O21hcmdpbjowIDAgNHB4O31cbi5mYngtY2F0LWRlc2N7Y29sb3I6IzZiNzI4MDtmb250LXNpemU6MTIuNXB4O21hcmdpbjowIDAgMjBweDtwYWRkaW5nLWJvdHRvbToxOHB4O2JvcmRlci1ib3R0b206LjhweCBzb2xpZCByZ2JhKDE1LDIwLDQwLC4wOCk7fVxuLmZieC1jb2xze2Rpc3BsYXk6Z3JpZDt9XG4uZmJ4LWNvbHtwYWRkaW5nOjAgMjRweCA0cHggMDt9XG4uZmJ4LWZsYXQtYm9keSAuZmJ4LWNvbHMgLmZieC1jb2w6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjI0cHg7Ym9yZGVyLWxlZnQ6LjhweCBzb2xpZCByZ2JhKDE1LDIwLDQwLC4wOCk7fVxuLmZieC1jb2wtaGR7Y29sb3I6I2UxNGYyOTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6MS4wOHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW46MCAwIDZweDt3aGl0ZS1zcGFjZTpub3dyYXA7fVxuLmZieC1jb2wgdWx7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MDt9XG4uZmJ4LW1pe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjEycHggMDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo2MDA7Y29sb3I6IzBiMGQxNCFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzBiMGQxNCFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUhaW1wb3J0YW50O3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDE1LDIwLDQwLC4xMyk7fVxuLmZieC1taTpob3Zlcntjb2xvcjojZTE0ZjI5IWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojZTE0ZjI5IWltcG9ydGFudDt9XG4uZmJ4LW1pIHN2Z3t3aWR0aDoxM3B4O2hlaWdodDoxM3B4O2ZsZXg6bm9uZTt9LmZieC1jb2wgdWwgbGk6bGFzdC1jaGlsZD4uZmJ4LW1pe2JvcmRlci1ib3R0b206bm9uZX1cbi5mYngtZm9vdGVyLXJvd3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6I2Y3ZjhmYjtib3JkZXItdG9wOi44cHggc29saWQgcmdiYSgxNSwyMCw0MCwuMDgpO3BhZGRpbmc6MTRweCAyOHB4O31cbi5mYngtZm9vdGVyLWxlZnR7Y29sb3I6IzZiNzI4MDtmb250LXNpemU6MTNweDt9XG4uZmJ4LWZvb3Rlci1yaWdodHtjb2xvcjojZTE0ZjI5IWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojZTE0ZjI5IWltcG9ydGFudDtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjEzcHg7dGV4dC1kZWNvcmF0aW9uOm5vbmUhaW1wb3J0YW50O31cbi5mYngtZmxhdC1ib2R5e3BhZGRpbmc6MjRweCAyOHB4O31cbi5mYngtY29tcGFueS1ib2R5e2Rpc3BsYXk6ZmxleDt9XG4uZmJ4LWNvbXBhbnktbGlzdHtwYWRkaW5nOjI0cHggMjhweDtmbGV4OjE7Ym94LXNpemluZzpib3JkZXItYm94O31cbi5mYngtcHJvbW97YmFja2dyb3VuZDojZjdmOGZiO3BhZGRpbmc6MjZweCAyNHB4O3dpZHRoOjIzMHB4O2ZsZXg6MCAwIDIzMHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItbGVmdDouOHB4IHNvbGlkIHJnYmEoMTUsMjAsNDAsLjA4KTt9XG4uZmJ4LXByb21vLWV5ZWJyb3d7ZGlzcGxheTppbmxpbmUtZmxleDtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjZweDtjb2xvcjojZmZmO2JhY2tncm91bmQ6I2UxNGYyOTtwYWRkaW5nOjNweCA4cHg7Ym9yZGVyLXJhZGl1czo0cHg7bWFyZ2luLWJvdHRvbToxMnB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt9XG4uZmJ4LXByb21vLXRpdGxle2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMGIwZDE0O21hcmdpbjowIDAgOHB4O2xpbmUtaGVpZ2h0OjEuMzt9XG4uZmJ4LXByb21vLWRlc2N7Zm9udC1zaXplOjEyLjVweDtjb2xvcjojNmI3MjgwO21hcmdpbjowIDAgMTRweDtsaW5lLWhlaWdodDoxLjQ7fVxuLmZieC1wcm9tby1saW5re2NvbG9yOiNlMTRmMjkhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiNlMTRmMjkhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTNweDt0ZXh0LWRlY29yYXRpb246bm9uZSFpbXBvcnRhbnQ7fVxuQG1lZGlhKG1heC13aWR0aDoxMTAwcHgpey5mYngtbGlua3N7ZGlzcGxheTpub25lO319XG48L3N0eWxlPlxuPGRpdiBjbGFzcz1cImZieC1uYXZ0ZXN0LW5vdGVcIj5FeGFjdC1yZXBsaWNhIHByb3RvdHlwZSBoZWFkZXIgKGNvbG9ycywgdHlwb2dyYXBoeSwgbWVnYS1tZW51IHN0cnVjdHVyZSwgYW5kIGxpbmtzIGNvcGllZCBmcm9tIHRoZSBsaXZlIGZhYnJpeC5haSBuYXYpIGF0dGFjaGVkIHRvIHRoZSB0b3Agb2YgdGhpcyBwYWdlIGZvciBkaXJlY3QgcHJldmlldyBvbmx5LiBPbmx5IHZpc2libGUgb24gdGhpcyBkcmFmdCAmbWRhc2g7IHRoZSByZWFsIHRoZW1lIGhlYWRlci9zZXR0aW5ncyBhcmUgdW50b3VjaGVkLCBhbmQgbm90aGluZyBoZXJlIGlzIGxpdmUgb24gdGhlIHNpdGUuPC9kaXY+XG48ZGl2IGlkPVwiZmJ4LW5hdi1zb3VyY2VcIiBzdHlsZT1cImRpc3BsYXk6bm9uZTtcIj5cbjxuYXYgY2xhc3M9XCJmYngtbmF2XCI+PGRpdiBjbGFzcz1cImZieC1uYXYtaW5uZXJcIj5cbjxhIGhyZWY9XCJodHRwczovL3d3dy5mYWJyaXguYWkvXCIgY2xhc3M9XCJmYngtbG9nb1wiPjxpbWcgc3JjPVwiaHR0cHM6Ly93d3cuZmFicml4LmFpL2ltYWdlcy9sb2dvLWxpZ2h0LnN2Z1wiIGFsdD1cIkZhYnJpeC5haVwiPjwvYT5cbjx1bCBjbGFzcz1cImZieC1saW5rc1wiIGlkPVwiZmJ4LWxpbmtzXCI+PC91bD5cbjwvZGl2PjwvbmF2PlxuPC9kaXY+XG48c2NyaXB0PlxuKGZ1bmN0aW9uKCl7XG52YXIgQkFTRT0naHR0cHM6Ly93d3cuZmFicml4LmFpLyc7XG52YXIgc3ZnQXJyb3c9Jzxzdmcgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk01IDNsNCA0LTQgNFwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuNlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPjwvcGF0aD48L3N2Zz4nO1xuZnVuY3Rpb24gbWkodGV4dCxocmVmKXtyZXR1cm4gJzxhIGNsYXNzPVwiZmJ4LW1pXCIgaHJlZj1cIicraHJlZisnXCI+JytzdmdBcnJvdysnPHNwYW4+Jyt0ZXh0Kyc8L3NwYW4+PC9hPic7fVxuZnVuY3Rpb24gY29sKGhlYWRlcixsaW5rcyl7dmFyIGg9aGVhZGVyPyc8ZGl2IGNsYXNzPVwiZmJ4LWNvbC1oZFwiPicraGVhZGVyKyc8L2Rpdj4nOicnO3JldHVybiAnPGRpdiBjbGFzcz1cImZieC1jb2xcIj4nK2grJzx1bD4nK2xpbmtzLm1hcChmdW5jdGlvbihsKXtyZXR1cm4gJzxsaT4nK21pKGxbMF0sbFsxXSkrJzwvbGk+Jzt9KS5qb2luKCcnKSsnPC91bD48L2Rpdj4nO31cbmZ1bmN0aW9uIGZvb3RlckxpbmsodGV4dCxocmVmKXtyZXR1cm4gJzxhIGNsYXNzPVwiZmJ4LWZvb3Rlci1yaWdodFwiPicrdGV4dCsnPC9hPicucmVwbGFjZSgnPGEgY2xhc3MnLCAnPGEgaHJlZj1cIicraHJlZisnXCIgY2xhc3MnKTt9XG5cbnZhciBwbGF0Zm9ybUNvbHM9Y29sKCdBZ2VudCBQbGFuZScsW1xuIFsnQWdlbnQgQ2F0YWxvZyAvIFByZS1idWlsdCBBZ2VudHMnLEJBU0UrJ2FpLWFnZW50cy8nXSxcbiBbJ0J1aWxkIHlvdXIgQWdlbnRzJyxCQVNFKydwbGF0Zm9ybS9hZ2VudGljLWFpLXBsYXRmb3JtL2luZGV4Lmh0bWwjYWdlbnQtYnVpbGRlciddLFxuIFsnQ29waWxvdCcsQkFTRSsnYWktYWdlbnRzL2luZGV4Lmh0bWwjYWdlbnQtMCddLFxuIFsnTXVsdGktRG9tYWluIC8gVXNlIENhc2UgQWdlbnRzJyxCQVNFKydwbGF0Zm9ybS9hZ2VudGljLWFpLXBsYXRmb3JtL2luZGV4Lmh0bWwjbXVsdGktZG9tYWluLWFnZW50cyddXG5dKStjb2woJ0FnZW50IENvbnRyb2wgUGxhbmUnLFtcbiBbJ0FnZW50IE9ic2VydmFiaWxpdHknLEJBU0UrJ3BsYXRmb3JtL2FnZW50aWMtY29udHJvbC1wbGFuZS9pbmRleC5odG1sI2VudGVycHJpc2Utb2JzZXJ2ZSddLFxuIFsnQ29zdCAmIFRva2VuIEluc2lnaHRzJyxCQVNFKydwbGF0Zm9ybS9hZ2VudGljLWNvbnRyb2wtcGxhbmUvaW5kZXguaHRtbCNjb3N0LXRva2VuLWluc2lnaHRzJ10sXG4gWydBZ2VudCBFdmFsdWF0b3JzJyxCQVNFKydwbGF0Zm9ybS9hZ2VudGljLWNvbnRyb2wtcGxhbmUvaW5kZXguaHRtbCNldmFsdWF0b3JzJ10sXG4gWydTZWN1cml0eSAmIEd1YXJkcmFpbHMnLEJBU0UrJ3BsYXRmb3JtL2FnZW50aWMtYWktcGxhdGZvcm0vaW5kZXguaHRtbCNzZWN1cml0eS1nb3YnXVxuXSkrY29sKCdBZ2VudCBPcmNoZXN0cmF0b3InLFtcbiBbJ0VudGVycHJpc2UgT250b2xvZ3knLEJBU0UrJ2luZGV4Lmh0bWwjbGl2aW5nLW9udG9sb2d5J10sXG4gWydDb250ZXh0ICYgQ2FjaGUnLEJBU0UrJ3BsYXRmb3JtL2FnZW50aWMtYWktcGxhdGZvcm0vaW5kZXguaHRtbCNjb250ZXh0LWVuZ2luZSddLFxuIFsnQWdlbnRpYyBEYXRhIEZlZGVyYXRpb24nLEJBU0UrJ3BsYXRmb3JtL2FnZW50aWMtYWktcGxhdGZvcm0vaW5kZXguaHRtbCNkYXRhLWZlZGVyYXRpb24nXSxcbiBbJ1VuaXZlcnNhbCBNQ1AgU2VydmVyICYgVG9vbGluZycsQkFTRSsncGxhdGZvcm0vYWdlbnRpYy1haS1wbGF0Zm9ybS9pbmRleC5odG1sI3UtbWNwLXNlcnZlciddXG5dKTtcblxudmFyIGRhdGFGYWJyaWNDb2xzPWNvbChudWxsLFtcbiBbJ0RhdGEgQm90cyBMaWJyYXJ5JyxCQVNFKydwbGF0Zm9ybS9kYXRhLWZhYnJpYy9pbmRleC5odG1sI2RhdGEtYm90LWxpYnJhcnknXSxcbiBbJ1RlbGVtZXRyeSBQaXBlbGluZXMnLEJBU0UrJ3BsYXRmb3JtL2RhdGEtZmFicmljL2luZGV4Lmh0bWwjdGVsZW1ldHJ5LXBpcGVsaW5lcyddLFxuIFsnVW5pdmVyc2FsIENvbm5lY3RvcicsQkFTRSsncGxhdGZvcm0vZGF0YS1mYWJyaWMvaW5kZXguaHRtbCN1bml2ZXJzYWwtaW5nZXN0J10sXG4gWydQaXBlbGluZSBTdHVkaW8nLEJBU0UrJ3BsYXRmb3JtL2RhdGEtZmFicmljL2luZGV4Lmh0bWwjcGlwZWxpbmUtc3R1ZGlvJ10sXG4gWydEYXRhIERpc2NvdmVyeSAmIEVucmljaG1lbnQnLEJBU0UrJ3BsYXRmb3JtL2RhdGEtZmFicmljL2luZGV4Lmh0bWwjZGF0YS1lbnJpY2htZW50J10sXG4gWydXb3JrZmxvdyBBdXRvbWF0aW9uJyxCQVNFKydwbGF0Zm9ybS9hdXRvbWF0aW9uLWZhYnJpYy9pbmRleC5odG1sI3dvcmtmbG93LWF1dG9tYXRpb24nXSxcbiBbJ1NvbHV0aW9uIFBhY2tzJyxCQVNFKydwbGF0Zm9ybS9hdXRvbWF0aW9uLWZhYnJpYy9pbmRleC5odG1sI3NvbHV0aW9uLXBhY2tzJ11cbl0pO1xuZGF0YUZhYnJpY0NvbHM9ZGF0YUZhYnJpY0NvbHMucmVwbGFjZSgnPHVsPicsJzx1bCBzdHlsZT1cImRpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKTtjb2x1bW4tZ2FwOjQwcHg7XCI+Jyk7XG5cbnZhciBwbGF0Zm9ybVBhbmVsPSc8ZGl2IGNsYXNzPVwiZmJ4LXBhbmVsLXNoZWxsXCI+JytcbiAnPGRpdiBjbGFzcz1cImZieC1zaWRlXCI+PGRpdiBjbGFzcz1cImZieC1zaWRlLXRpdGxlXCI+UGxhdGZvcm0gQXJlYXM8L2Rpdj4nK1xuICc8YnV0dG9uIGNsYXNzPVwiZmJ4LXNpZGUtYnRuIGZieC1zZWxcIiBkYXRhLWNhdD1cInAxXCI+PHNwYW4gY2xhc3M9XCJmYngtZG90XCI+PC9zcGFuPkFnZW50aWMgQUkgUGxhdGZvcm08L2J1dHRvbj4nK1xuICc8YnV0dG9uIGNsYXNzPVwiZmJ4LXNpZGUtYnRuXCIgZGF0YS1jYXQ9XCJwMlwiPjxzcGFuIGNsYXNzPVwiZmJ4LWRvdFwiPjwvc3Bhbj5EYXRhIEZhYnJpYzwvYnV0dG9uPjwvZGl2PicrXG4gJzxkaXY+JytcbiAnPGRpdiBjbGFzcz1cImZieC1jYXQgZmJ4LW9uXCIgZGF0YS1jYXQtYm9keT1cInAxXCI+PGRpdiBjbGFzcz1cImZieC1jYXQtYm9keVwiPjxkaXYgY2xhc3M9XCJmYngtY2F0LXRpdGxlXCI+QWdlbnRpYyBBSSBQbGF0Zm9ybTwvZGl2PjxkaXYgY2xhc3M9XCJmYngtY2F0LWRlc2NcIj5VbmlmaWVkIGRhdGEgYW5kIEFnZW50aWMgQUkgZm9yIG1vZGVybiBJVE9wczwvZGl2PjxkaXYgY2xhc3M9XCJmYngtY29sc1wiIHN0eWxlPVwiZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7XCI+JytwbGF0Zm9ybUNvbHMrJzwvZGl2PjwvZGl2PjwvZGl2PicrXG4gJzxkaXYgY2xhc3M9XCJmYngtY2F0XCIgZGF0YS1jYXQtYm9keT1cInAyXCI+PGRpdiBjbGFzcz1cImZieC1jYXQtYm9keVwiPjxkaXYgY2xhc3M9XCJmYngtY2F0LXRpdGxlXCI+RGF0YSBGYWJyaWM8L2Rpdj48ZGl2IGNsYXNzPVwiZmJ4LWNhdC1kZXNjXCI+VGVsZW1ldHJ5LCBjb25uZWN0b3JzIGFuZCBwaXBlbGluZSB0b29saW5nPC9kaXY+PGRpdiBjbGFzcz1cImZieC1jb2xzXCIgc3R5bGU9XCJncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKTttYXgtd2lkdGg6NjIwcHg7XCI+JytkYXRhRmFicmljQ29scysnPC9kaXY+PC9kaXY+PC9kaXY+JytcbiAnPC9kaXY+PC9kaXY+JztcblxudmFyIHByb2R1Y3RzUGFuZWw9JzxkaXYgY2xhc3M9XCJmYngtZmxhdC1ib2R5XCI+PGRpdiBjbGFzcz1cImZieC1jb2xzXCIgc3R5bGU9XCJncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDI2MHB4LDFmcikpO2NvbHVtbi1nYXA6MjhweDtcIj4nK1xuIGNvbCgnQUkgQWdlbnRzIOKAlCBPcGVyYXRpb25zJyxbXG4gIFsnQWdlbnQtMCAoQ29waWxvdCknLEJBU0UrJ2FpLWFnZW50cy9pbmRleC5odG1sI2FnZW50LTAnXSxcbiAgWydEaWdpdGFsIFNSRSAvIEFJT3BzJyxCQVNFKydhaS1hZ2VudHMvaW5kZXguaHRtbCNkaWdpdGFsLXNyZSddLFxuICBbJ09ic2VydmFiaWxpdHkgQWdlbnRzJyxCQVNFKydhaS1hZ2VudHMvaW5kZXguaHRtbCNvYnNlcnZlLWFnZW50cyddLFxuICBbJ05ldE9wcyBBZ2VudHMnLEJBU0UrJ2FpLWFnZW50cy9pbmRleC5odG1sI25ldG9wcy1hZ2VudHMnXVxuIF0pK2NvbCgnQUkgQWdlbnRzIOKAlCBCdXNpbmVzcyAmIFNlY3VyaXR5JyxbXG4gIFsnU2VydmljZU9wcyBBZ2VudHMnLEJBU0UrJ2FpLWFnZW50cy9pbmRleC5odG1sI3NlcnZpY2VvcHMtYWdlbnRzJ10sXG4gIFsnQ29sbGFiT3BzJyxCQVNFKydhaS1hZ2VudHMvaW5kZXguaHRtbCNhZ2VudC1jb2xsYWInXSxcbiAgWydTZWNPcHMgQWdlbnRzJyxCQVNFKydhaS1hZ2VudHMvaW5kZXguaHRtbCNzZWNvcHMnXSxcbiAgWydCaXpPcHMgQWdlbnRzJyxCQVNFKydhaS1hZ2VudHMvaW5kZXguaHRtbCNiaXpvcHMnXVxuIF0pKyc8L2Rpdj48L2Rpdj4nK1xuICc8ZGl2IGNsYXNzPVwiZmJ4LWZvb3Rlci1yb3dcIj48c3BhbiBjbGFzcz1cImZieC1mb290ZXItbGVmdFwiPkJyb3dzZSBhbGwgYWdlbnRzIGluIHRoZSBjYXRhbG9nPC9zcGFuPicrZm9vdGVyTGluaygnVmlldyBBZ2VudCBDYXRhbG9nIOKGkicsQkFTRSsnYWdlbnRpY2FpL2FnZW50LWNhdGFsb2cvJykrJzwvZGl2Pic7XG5cbnZhciBzb2x1dGlvbnNQYW5lbD0nPGRpdiBjbGFzcz1cImZieC1mbGF0LWJvZHlcIj48ZGl2IGNsYXNzPVwiZmJ4LWNvbHNcIiBzdHlsZT1cImdyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMzAwcHgsMWZyKSk7Y29sdW1uLWdhcDoyOHB4O1wiPicrXG4gY29sKCdCeSBWZXJ0aWNhbCcsW1xuICBbJ1RlbGNvIC8gU2VydmljZSBQcm92aWRlcnMnLEJBU0UrJ3VzZWNhc2VzL3RlbGNvLXNlcnZpY2UtYXNzdXJhbmNlLyddLFxuICBbJ0hlYWx0aGNhcmUnLEJBU0UrJ3VzZWNhc2VzL2hlYWx0aGNhcmUtYW5kLWxpZmVzY2llbmNlcy8nXSxcbiAgWydGaW50ZWNoJyxCQVNFKyd1c2VjYXNlcy9maW50ZWNoLyddLFxuICBbJ01hbnVmYWN0dXJpbmcnLEJBU0UrJ3VzZWNhc2VzL21hbnVmYWN0dXJpbmcvJ11cbiBdKStjb2woJ0J5IFRlY2hub2xvZ3kgLyBJbnRlZ3JhdGlvbicsW1xuICBbJ0Npc2NvJyxCQVNFKydwYXJ0bmVycy9jaXNjby8nXSxcbiAgWydTcGx1bmsnLEJBU0UrJ3BhcnRuZXJzL3NwbHVuay8nXSxcbiAgWydJQk0nLEJBU0UrJ3BhcnRuZXJzL2libS8nXSxcbiAgWydBV1MnLEJBU0UrJ3BhcnRuZXJzL2F3cy8nXSxcbiAgWydOVklESUEnLEJBU0UrJ3BhcnRuZXJzL252aWRpYS8nXVxuIF0pK2NvbCgnQnkgVXNlIENhc2UnLFtcbiAgWydBSU9wcycsQkFTRSsnYWlvcHMtc29sdXRpb24vJ10sXG4gIFsnVGVsY28gU2VydmljZSBBc3N1cmFuY2UnLEJBU0UrJ3VzZWNhc2VzL3RlbGNvLXNlcnZpY2UtYXNzdXJhbmNlLyddLFxuICBbJ1NvdmVyZWlnbiBBSScsQkFTRSsndXNlY2FzZXMvc292ZXJlaWduLWFpLyddLFxuICBbJ05ldHdvcmsgT2JzZXJ2YWJpbGl0eScsQkFTRSsnbmV0d29yay1vYnNlcnZhYmlsaXR5LyddLFxuICBbJ0Fzc2V0IEludGVsbGlnZW5jZSAvIFNBQ00nLEJBU0UrJ2Fzc2V0LWludGVsbGlnZW5jZS1hbmQtYW5hbHl0aWNzLyddLFxuICBbJ0xvZyBJbnRlbGxpZ2VuY2UnLEJBU0UrJ2xvZy1pbnRlbGxpZ2VuY2UvJ10sXG4gIFsnT2JzZXJ2YWJpbGl0eSBQaXBlbGluZXMnLEJBU0UrJ29ic2VydmFiaWxpdHktdGVsZW1ldHJ5LXBpcGVsaW5lcy8nXVxuIF0pKyc8L2Rpdj48L2Rpdj4nK1xuICc8ZGl2IGNsYXNzPVwiZmJ4LWZvb3Rlci1yb3dcIj48c3BhbiBjbGFzcz1cImZieC1mb290ZXItbGVmdFwiPlRydXN0ZWQgYnkgRm9ydHVuZSA1MDAgZW50ZXJwcmlzZXMgwrcgU09DIDIgY2VydGlmaWVkPC9zcGFuPicrZm9vdGVyTGluaygnUmVxdWVzdCBhIERlbW8g4oaSJyxCQVNFKydyZXF1ZXN0LWRlbW8vJykrJzwvZGl2Pic7XG5cbnZhciByZXNvdXJjZXNQYW5lbD0nPGRpdiBjbGFzcz1cImZieC1mbGF0LWJvZHlcIj48ZGl2IGNsYXNzPVwiZmJ4LWNvbHNcIiBzdHlsZT1cImdyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7bWF4LXdpZHRoOjI0MHB4O1wiPicrXG4gY29sKCdMZWFybiAmIERpc2NvdmVyJyxbXG4gIFsnUmVzb3VyY2UgTGlicmFyeScsQkFTRSsncmVzb3VyY2VzLyddLFxuICBbJ1ZpZGVvIExpYnJhcnknLEJBU0UrJ3ZpZGVvLWxpYnJhcnkvJ10sXG4gIFsnRG9jdW1lbnRhdGlvbicsJ2h0dHBzOi8vZG9jcy5mYWJyaXguYWkvJ11cbiBdKSsnPC9kaXY+PC9kaXY+JztcblxudmFyIGNvbXBhbnlQYW5lbD0nPGRpdiBjbGFzcz1cImZieC1jb21wYW55LWJvZHlcIj4nK1xuICc8ZGl2IGNsYXNzPVwiZmJ4LWNvbXBhbnktbGlzdFwiPjxkaXYgY2xhc3M9XCJmYngtY29sc1wiIHN0eWxlPVwiZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtcIj4nK1xuIGNvbCgnQWJvdXQgRmFicml4LmFpJyxbXG4gIFsnQWJvdXQgVXMnLEJBU0UrJ2Fib3V0LyddLFxuICBbJ0NhcmVlcnMnLEJBU0UrJ2NhcmVlcnMvJ10sXG4gIFsnTmV3cyAmIEV2ZW50cycsQkFTRSsnbmV3c3Jvb20vJ10sXG4gIFsnUG9kY2FzdHMnLEJBU0UrJ3BvZGNhc3RzLyddLFxuICBbJ1BhcnRuZXJzJyxCQVNFKydwYXJ0bmVycy8nXSxcbiAgWydDb250YWN0JyxCQVNFKydjb250YWN0LyddXG4gXSkrJzwvZGl2PjwvZGl2PicrXG4gJzxkaXYgY2xhc3M9XCJmYngtcHJvbW9cIj48ZGl2IGNsYXNzPVwiZmJ4LXByb21vLWV5ZWJyb3dcIj5HaWdhT20gMjAyNTwvZGl2PjxkaXYgY2xhc3M9XCJmYngtcHJvbW8tdGl0bGVcIj5Ub3AgMyBMZWFkZXIgJiBPdXRwZXJmb3JtZXIgaW4gQUlPcHM8L2Rpdj48ZGl2IGNsYXNzPVwiZmJ4LXByb21vLWRlc2NcIj5GYWJyaXguYWkgcmVjb2duaXplZCBpbiB0aGUgR2lnYU9tIEFJT3BzIFJhZGFyIFJlcG9ydCBmb3IgMjAyNS48L2Rpdj48YSBjbGFzcz1cImZieC1wcm9tby1saW5rXCIgaHJlZj1cImh0dHBzOi8vcG9ydGFsLmdpZ2FvbS5jb20vcmVwcmludC9naWdhb20tcmFkYXItZm9yLWFpb3BzLXNvbHV0aW9ucy12Ni1mYWJyaXhhaVwiPkRvd25sb2FkIFJlcG9ydCDihpI8L2E+PC9kaXY+JytcbiAnPC9kaXY+JztcblxudmFyIG1lbnVzPVtcbiB7bGFiZWw6J0FnZW50IENhdGFsb2cnLHR5cGU6J2xpbmsnLGhyZWY6QkFTRSsnYWdlbnRpY2FpL2FnZW50LWNhdGFsb2cvJ30sXG4ge2xhYmVsOidQbGF0Zm9ybScsdHlwZTonbWVnYScscGFuZWw6cGxhdGZvcm1QYW5lbCx3aWR0aDoxMTYwfSxcbiB7bGFiZWw6J1Byb2R1Y3RzJyx0eXBlOidtZWdhJyxwYW5lbDpwcm9kdWN0c1BhbmVsLHdpZHRoOjY4MH0sXG4ge2xhYmVsOidTb2x1dGlvbnMnLHR5cGU6J21lZ2EnLHBhbmVsOnNvbHV0aW9uc1BhbmVsLHdpZHRoOjEwNjB9LFxuIHtsYWJlbDonUmVzb3VyY2VzJyx0eXBlOidtZWdhJyxwYW5lbDpyZXNvdXJjZXNQYW5lbCx3aWR0aDoyNjB9LFxuIHtsYWJlbDonQ29tcGFueScsdHlwZTonbWVnYScscGFuZWw6Y29tcGFueVBhbmVsLHdpZHRoOjQ4MH0sXG4ge2xhYmVsOidCbG9nJyx0eXBlOidsaW5rJyxocmVmOicvYmxvZy8nLGFjdGl2ZTp0cnVlfVxuXTtcblxudmFyIGxpbmtzSHRtbD1tZW51cy5tYXAoZnVuY3Rpb24obSxpKXtcbiBpZihtLnR5cGU9PT0nbGluaycpe1xuICByZXR1cm4gJzxsaSBjbGFzcz1cIicrKG0uYWN0aXZlPydmYngtYWN0aXZlJzonJykrJ1wiPjxhIGhyZWY9XCInK20uaHJlZisnXCI+JyttLmxhYmVsKyc8L2E+PC9saT4nO1xuIH1cbiByZXR1cm4gJzxsaSBkYXRhLWlkeD1cIicraSsnXCI+PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmYngtdHJpZ2dlclwiPicrbS5sYWJlbCsnIDxzdmcgY2xhc3M9XCJmYngtY2FyZXRcIiB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgZmlsbD1cIm5vbmVcIj48cGF0aCBkPVwiTTMgNWw0IDQgNC00XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+PC9wYXRoPjwvc3ZnPjwvYnV0dG9uPjxkaXYgY2xhc3M9XCJmYngtcGFuZWxcIiBzdHlsZT1cIndpZHRoOicrbS53aWR0aCsncHg7XCI+JyttLnBhbmVsKyc8L2Rpdj48L2xpPic7XG59KS5qb2luKCcnKTtcblxudmFyIGN0YUh0bWw9JzxhIGhyZWY9XCInK0JBU0UrJ3JlcXVlc3QtZGVtby9cIiBjbGFzcz1cImZieC1jdGFcIj5SZXF1ZXN0IERlbW88L2E+JztcblxuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZieC1saW5rcycpLmlubmVySFRNTD1saW5rc0h0bWwgKyAnJztcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5mYngtbmF2LWlubmVyJykuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCBjdGFIdG1sKTtcblxudmFyIG1hc3RoZWFkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXN0aGVhZCcpO1xudmFyIHNvdXJjZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmJ4LW5hdi1zb3VyY2UnKTtcbmlmKG1hc3RoZWFkJiZzb3VyY2Upe1xuIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwobWFzdGhlYWQuY2hpbGRyZW4sZnVuY3Rpb24oYyl7Yy5zdHlsZS5kaXNwbGF5PSdub25lJzt9KTtcbiB2YXIgbmF2RWw9c291cmNlLnF1ZXJ5U2VsZWN0b3IoJy5mYngtbmF2Jyk7XG4gbmF2RWwuc3R5bGUuZGlzcGxheT0nJztcbiBtYXN0aGVhZC5hcHBlbmRDaGlsZChuYXZFbCk7XG4gc291cmNlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc291cmNlKTtcbn1cblxuZnVuY3Rpb24gY2xvc2VBbGwoKXtcbiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjbWFzdGhlYWQgLmZieC1saW5rcyA+IGxpLmZieC1vcGVuJykuZm9yRWFjaChmdW5jdGlvbihsaSl7bGkuY2xhc3NMaXN0LnJlbW92ZSgnZmJ4LW9wZW4nKTt9KTtcbn1cbmZ1bmN0aW9uIHBvc2l0aW9uUGFuZWwobGkpe1xuIHZhciBwYW5lbD1saS5xdWVyeVNlbGVjdG9yKCcuZmJ4LXBhbmVsJyk7XG4gdmFyIG5hdkVsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtYXN0aGVhZCAuZmJ4LW5hdicpO1xuIHZhciBuYXZSZWN0PW5hdkVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuIHZhciBwdz1wYW5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCB8fCBwYXJzZUludChwYW5lbC5zdHlsZS53aWR0aCwxMCk7XG4gdmFyIGxlZnQ9KHdpbmRvdy5pbm5lcldpZHRoLXB3KS8yO1xuIGlmKGxlZnQ8MTYpIGxlZnQ9MTY7XG4gcGFuZWwuc3R5bGUubGVmdD1sZWZ0KydweCc7XG4gcGFuZWwuc3R5bGUudG9wPW5hdlJlY3QuYm90dG9tKydweCc7XG59XG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjbWFzdGhlYWQgLmZieC1saW5rcyA+IGxpJykuZm9yRWFjaChmdW5jdGlvbihsaSl7XG4gdmFyIHRyaWdnZXI9bGkucXVlcnlTZWxlY3RvcignLmZieC10cmlnZ2VyJyk7XG4gaWYoIXRyaWdnZXIpIHJldHVybjtcbiB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXsgZS5wcmV2ZW50RGVmYXVsdCgpOyB9KTtcbiBsaS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJyxmdW5jdGlvbigpe1xuICBjbGVhclRpbWVvdXQobGkuX2ZieENsb3NlVGltZXIpO1xuICBjbG9zZUFsbCgpO1xuICBsaS5jbGFzc0xpc3QuYWRkKCdmYngtb3BlbicpO1xuICBwb3NpdGlvblBhbmVsKGxpKTtcbiB9KTtcbiBsaS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJyxmdW5jdGlvbigpe1xuICBsaS5fZmJ4Q2xvc2VUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IGxpLmNsYXNzTGlzdC5yZW1vdmUoJ2ZieC1vcGVuJyk7IH0sMTgwKTtcbiB9KTtcbiBsaS5xdWVyeVNlbGVjdG9yQWxsKCcuZmJ4LXNpZGUtYnRuJykuZm9yRWFjaChmdW5jdGlvbihidG4pe1xuICBidG4uYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsZnVuY3Rpb24oKXtcbiAgIHZhciBjYXQ9YnRuLmdldEF0dHJpYnV0ZSgnZGF0YS1jYXQnKTtcbiAgIGxpLnF1ZXJ5U2VsZWN0b3JBbGwoJy5mYngtc2lkZS1idG4nKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IuY2xhc3NMaXN0LnJlbW92ZSgnZmJ4LXNlbCcpO30pO1xuICAgYnRuLmNsYXNzTGlzdC5hZGQoJ2ZieC1zZWwnKTtcbiAgIGxpLnF1ZXJ5U2VsZWN0b3JBbGwoJy5mYngtY2F0JykuZm9yRWFjaChmdW5jdGlvbihjKXtjLmNsYXNzTGlzdC5yZW1vdmUoJ2ZieC1vbicpO30pO1xuICAgbGkucXVlcnlTZWxlY3RvcignLmZieC1jYXRbZGF0YS1jYXQtYm9keT1cIicrY2F0KydcIl0nKS5jbGFzc0xpc3QuYWRkKCdmYngtb24nKTtcbiAgIHBvc2l0aW9uUGFuZWwobGkpO1xuICB9KTtcbiB9KTtcbn0pO1xuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpe1xuIGlmKCFlLnRhcmdldC5jbG9zZXN0KCcjbWFzdGhlYWQgLmZieC1saW5rcyA+IGxpJykpe2Nsb3NlQWxsKCk7fVxufSk7XG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJyxmdW5jdGlvbigpe1xuIHZhciBvcGVuTGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI21hc3RoZWFkIC5mYngtbGlua3MgPiBsaS5mYngtb3BlbicpO1xuIGlmKG9wZW5MaSkgcG9zaXRpb25QYW5lbChvcGVuTGkpO1xufSk7XG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJyxjbG9zZUFsbCk7XG59KSgpO1xuPC9zY3JpcHQ+XG48c3R5bGU+LmZieC1idXJnZXJ7ZGlzcGxheTpub25lO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7cGFkZGluZzo4cHg7bWFyZ2luLWxlZnQ6MTJweDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6OHB4O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzfS5mYngtYnVyZ2VyOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDgpfS5mYngtYnVyZ2VyIHNwYW57ZGlzcGxheTpibG9jazt3aWR0aDoyMnB4O2hlaWdodDoycHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC44NSk7Ym9yZGVyLXJhZGl1czoycHg7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yOHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuMnMsd2lkdGggLjJzfS5mYngtYnVyZ2VyLmZieC1ib3BlbiBzcGFuOm50aC1jaGlsZCgxKXt0cmFuc2Zvcm06dHJhbnNsYXRlWSg3cHgpIHJvdGF0ZSg0NWRlZyl9LmZieC1idXJnZXIuZmJ4LWJvcGVuIHNwYW46bnRoLWNoaWxkKDIpe29wYWNpdHk6MDt3aWR0aDowfS5mYngtYnVyZ2VyLmZieC1ib3BlbiBzcGFuOm50aC1jaGlsZCgzKXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtN3B4KSByb3RhdGUoLTQ1ZGVnKX0jZmJ4LWJhY2tkcm9we2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3A6dmFyKC0tZmJ4LW5oLDEwMHB4KTtiYWNrZ3JvdW5kOnJnYmEoMTEsMTMsMjAsLjM1KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDVweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoNXB4KTt6LWluZGV4OjQwMH0jZmJ4LWJhY2tkcm9wLmZieC1vbntkaXNwbGF5OmJsb2NrfUBtZWRpYShtYXgtd2lkdGg6MTEwMHB4KXsuZmJ4LWJ1cmdlcntkaXNwbGF5OmZsZXh9LmZieC1jdGF7bWFyZ2luLWxlZnQ6YXV0b30uZmJ4LW5hdnt6LWluZGV4OjUwMCFpbXBvcnRhbnR9I2ZieC1saW5rc3tkaXNwbGF5OmZsZXghaW1wb3J0YW50O3Bvc2l0aW9uOmZpeGVkO3RvcDp2YXIoLS1mYngtbmgsMTAwcHgpO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3dpZHRoOmF1dG87YmFja2dyb3VuZDojZmZmO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2hlaWdodDphdXRvO21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW47b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zMnMgY3ViaWMtYmV6aWVyKC4xNiwxLC4zLDEpO3otaW5kZXg6NDgwO21hcmdpbjowO3BhZGRpbmc6MCAwIDgwcHg7Z2FwOjA7bGlzdC1zdHlsZTpub25lfSNmYngtbGlua3MuZmJ4LW1vYm9wZW57dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9I2ZieC1saW5rcz5saXt3aWR0aDoxMDAlO2hlaWdodDphdXRvO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDE1LDIwLDQwLC4wOCk7cG9zaXRpb246c3RhdGljO21hcmdpbjowO3BhZGRpbmc6MH0jZmJ4LWxpbmtzPmxpPi5mYngtdHJpZ2dlciwjZmJ4LWxpbmtzPmxpPmF7ZGlzcGxheTpmbGV4IWltcG9ydGFudDt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmc6MTZweCAyMHB4O2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjcwMDtmb250LWZhbWlseTppbmhlcml0O2NvbG9yOiMwYjBkMTQhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMwYjBkMTQhaW1wb3J0YW50O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDojZmZmO3RleHQtYWxpZ246bGVmdDt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzLGNvbG9yIC4xc30jZmJ4LWxpbmtzPmxpPi5mYngtdHJpZ2dlcjpob3ZlciwjZmJ4LWxpbmtzPmxpPmE6aG92ZXJ7YmFja2dyb3VuZDojZjdmOGZiO2NvbG9yOiNlMTRmMjkhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiNlMTRmMjkhaW1wb3J0YW50fSNmYngtbGlua3M+bGkuZmJ4LW1hY2M+LmZieC10cmlnZ2Vye2NvbG9yOiNlMTRmMjkhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiNlMTRmMjkhaW1wb3J0YW50O2JhY2tncm91bmQ6I2Y3ZjhmYn0jZmJ4LWxpbmtzIC5mYngtY2FyZXR7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtmbGV4Om5vbmU7b3BhY2l0eToxO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yc30jZmJ4LWxpbmtzPmxpLmZieC1tYWNjPi5mYngtdHJpZ2dlciAuZmJ4LWNhcmV0e3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTtjb2xvcjojZTE0ZjI5fSNmYngtbGlua3M+bGk+LmZieC1wYW5lbHtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50O29wYWNpdHk6MSFpbXBvcnRhbnQ7cG9zaXRpb246c3RhdGljIWltcG9ydGFudDtsZWZ0OmF1dG8haW1wb3J0YW50O3JpZ2h0OmF1dG8haW1wb3J0YW50O3RvcDphdXRvIWltcG9ydGFudDt0cmFuc2Zvcm06bm9uZSFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7bWluLXdpZHRoOjAhaW1wb3J0YW50O21heC13aWR0aDoxMDAlIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O2JvcmRlcjpub25lIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O2JhY2tncm91bmQ6I2ZmZiFpbXBvcnRhbnQ7cGFkZGluZzowIWltcG9ydGFudDttYXJnaW46MCFpbXBvcnRhbnQ7cG9pbnRlci1ldmVudHM6YXV0byFpbXBvcnRhbnQ7bWF4LWhlaWdodDowO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOm1heC1oZWlnaHQgLjM4cyBjdWJpYy1iZXppZXIoLjE2LDEsLjMsMSl9I2ZieC1saW5rcz5saS5mYngtbWFjYz4uZmJ4LXBhbmVse21heC1oZWlnaHQ6NDAwMHB4fSNmYngtbGlua3MgLmZieC1wYW5lbC1zaGVsbHtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDtwYWRkaW5nOjAhaW1wb3J0YW50fSNmYngtbGlua3MgLmZieC1zaWRle2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9I2ZieC1saW5rcyAuZmJ4LXNpZGUtdGl0bGV7ZGlzcGxheTpub25lIWltcG9ydGFudH0jZmJ4LWxpbmtzIC5mYngtc2lkZS1idG57ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7ZmxleDpub25lIWltcG9ydGFudDtib3JkZXI6bm9uZSFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxNSwyMCw0MCwuMDgpIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O2JhY2tncm91bmQ6I2Y3ZjhmYiFpbXBvcnRhbnQ7cGFkZGluZzoxMnB4IDIwcHghaW1wb3J0YW50O2ZvbnQtc2l6ZToxMXB4IWltcG9ydGFudDtmb250LXdlaWdodDo3MDAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOi4wOGVtIWltcG9ydGFudDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UhaW1wb3J0YW50O2NvbG9yOiM2YjcyODAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiM2YjcyODAhaW1wb3J0YW50O3doaXRlLXNwYWNlOm5vd3JhcCFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudDtjdXJzb3I6ZGVmYXVsdCFpbXBvcnRhbnQ7cG9pbnRlci1ldmVudHM6bm9uZSFpbXBvcnRhbnR9I2ZieC1saW5rcyAuZmJ4LWRvdHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fSNmYngtbGlua3MgLmZieC1wYW5lbC1zaGVsbD5kaXY6bm90KC5mYngtc2lkZSl7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7b3ZlcmZsb3c6dmlzaWJsZSFpbXBvcnRhbnQ7cGFkZGluZzowIWltcG9ydGFudH0jZmJ4LWxpbmtzIC5mYngtY2F0e2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7Ym9yZGVyOm5vbmUhaW1wb3J0YW50fSNmYngtbGlua3MgLmZieC1jYXQtYm9keXtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDtwYWRkaW5nOjAhaW1wb3J0YW50fSNmYngtbGlua3MgLmZieC1jYXQtdGl0bGV7ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7cGFkZGluZzoxMnB4IDIwcHggOHB4IWltcG9ydGFudDttYXJnaW46MCFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxNSwyMCw0MCwuMDgpIWltcG9ydGFudDtiYWNrZ3JvdW5kOiNmN2Y4ZmIhaW1wb3J0YW50O2ZvbnQtc2l6ZToxMnB4IWltcG9ydGFudDtmb250LXdlaWdodDo3MDAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOi4wNmVtIWltcG9ydGFudDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UhaW1wb3J0YW50O2NvbG9yOiMzNzQxNTEhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMzNzQxNTEhaW1wb3J0YW50fSNmYngtbGlua3MgLmZieC1jYXQtZGVzY3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fSNmYngtbGlua3MgLmZieC1mbGF0LWJvZHl7ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7cGFkZGluZzowIWltcG9ydGFudH0jZmJ4LWxpbmtzIC5mYngtY29sc3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6bm9uZSFpbXBvcnRhbnQ7bWF4LXdpZHRoOm5vbmUhaW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50O2NvbHVtbi1nYXA6MCFpbXBvcnRhbnQ7Z2FwOjAhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50fSNmYngtbGlua3MgLmZieC1jb2x7ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7d2lkdGg6YXV0byFpbXBvcnRhbnQ7cGFkZGluZzowIWltcG9ydGFudDttYXJnaW46MCFpbXBvcnRhbnQ7Ym9yZGVyOm5vbmUhaW1wb3J0YW50fSNmYngtbGlua3MgLmZieC1jb2wtaGR7ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7cGFkZGluZzoxMHB4IDIwcHggNHB4IWltcG9ydGFudDttYXJnaW46MCFpbXBvcnRhbnQ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgxNSwyMCw0MCwuMDgpIWltcG9ydGFudDtiYWNrZ3JvdW5kOiNmN2Y4ZmIhaW1wb3J0YW50O3doaXRlLXNwYWNlOm5vd3JhcCFpbXBvcnRhbnQ7b3ZlcmZsb3c6dmlzaWJsZSFpbXBvcnRhbnR9I2ZieC1saW5rcyAuZmJ4LWNvbDpmaXJzdC1jaGlsZCAuZmJ4LWNvbC1oZHtib3JkZXItdG9wOm5vbmUhaW1wb3J0YW50fSNmYngtbGlua3MgLmZieC1taXtkaXNwbGF5OmZsZXghaW1wb3J0YW50O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnQ7Z2FwOjEwcHghaW1wb3J0YW50O3BhZGRpbmc6MTRweCAyMHB4IWltcG9ydGFudDttYXJnaW46MCFpbXBvcnRhbnQ7Zm9udC1zaXplOjE0cHghaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnQ7d2hpdGUtc3BhY2U6bm9ybWFsIWltcG9ydGFudDtib3JkZXItdG9wOm5vbmUhaW1wb3J0YW50O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMTUsMjAsNDAsLjA4KSFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0jZmJ4LWxpbmtzIC5mYngtbWk+c3Zne2ZsZXg6bm9uZSFpbXBvcnRhbnR9I2ZieC1saW5rcyAuZmJ4LW1pPnNwYW57ZmxleDoxIDEgYXV0byFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0jZmJ4LWxpbmtzIC5mYngtY29sIC5mYngtbWk6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmUhaW1wb3J0YW50fSNmYngtbGlua3MgLmZieC1jb21wYW55LWJvZHl7ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7cGFkZGluZzowIWltcG9ydGFudH0jZmJ4LWxpbmtzIC5mYngtY29tcGFueS1saXN0e2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnR9I2ZieC1saW5rcyAuZmJ4LXByb21ve2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50O2JvcmRlcjpub25lIWltcG9ydGFudDtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDE1LDIwLDQwLC4wOCkhaW1wb3J0YW50O3BhZGRpbmc6MTZweCAyMHB4IWltcG9ydGFudDtiYWNrZ3JvdW5kOiNmN2Y4ZmIhaW1wb3J0YW50O21hcmdpbjowIWltcG9ydGFudH0jZmJ4LWxpbmtzIC5mYngtcHJvbW8tZXllYnJvd3ttYXJnaW4tYm90dG9tOjZweCFpbXBvcnRhbnR9I2ZieC1saW5rcyAuZmJ4LWZvb3Rlci1yb3d7ZGlzcGxheTpmbGV4IWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50O2dhcDo2cHghaW1wb3J0YW50O3BhZGRpbmc6MTRweCAyMHB4IWltcG9ydGFudDttYXJnaW46MCFpbXBvcnRhbnR9fTwvc3R5bGU+PHNjcmlwdD5cbihmdW5jdGlvbigpe1xuIHZhciBNUT1cIihtYXgtd2lkdGg6MTEwMHB4KVwiO1xuIGZ1bmN0aW9uIGlzTW9iKCl7IHJldHVybiB3aW5kb3cubWF0Y2hNZWRpYShNUSkubWF0Y2hlczsgfVxuIGZ1bmN0aW9uIGZieFBvc2l0aW9uUGFuZWwobGkpe1xuICB2YXIgcGFuZWw9bGkucXVlcnlTZWxlY3RvcihcIi5mYngtcGFuZWxcIik7XG4gIHZhciBuYXZFbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI21hc3RoZWFkIC5mYngtbmF2XCIpfHxkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmZieC1uYXZcIik7XG4gIGlmKCFwYW5lbHx8IW5hdkVsKSByZXR1cm47XG4gIHZhciBuYXZSZWN0PW5hdkVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB2YXIgcHc9cGFuZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGh8fHBhcnNlSW50KHBhbmVsLnN0eWxlLndpZHRoLDEwKXx8MzAwO1xuICB2YXIgbGVmdD0od2luZG93LmlubmVyV2lkdGgtcHcpLzI7XG4gIGlmKGxlZnQ8MTYpIGxlZnQ9MTY7XG4gIHBhbmVsLnN0eWxlLmxlZnQ9bGVmdCtcInB4XCI7XG4gIHBhbmVsLnN0eWxlLnRvcD1uYXZSZWN0LmJvdHRvbStcInB4XCI7XG4gfVxuIGZ1bmN0aW9uIGluaXQoKXtcbiAgdmFyIG5hdj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI21hc3RoZWFkIC5mYngtbmF2XCIpfHxkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmZieC1uYXZcIik7XG4gIHZhciB1bD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImZieC1saW5rc1wiKTtcbiAgaWYoIW5hdnx8IXVsKSByZXR1cm47XG4gIHZhciBpbm5lcj1uYXYucXVlcnlTZWxlY3RvcihcIi5mYngtbmF2LWlubmVyXCIpfHxuYXY7XG4gIHZhciBidXJnZXI9aW5uZXIucXVlcnlTZWxlY3RvcihcIi5mYngtYnVyZ2VyXCIpO1xuICBpZighYnVyZ2VyKXtcbiAgIGJ1cmdlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO1xuICAgYnVyZ2VyLnR5cGU9XCJidXR0b25cIjtcbiAgIGJ1cmdlci5jbGFzc05hbWU9XCJmYngtYnVyZ2VyXCI7XG4gICBidXJnZXIuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLFwiTWVudVwiKTtcbiAgIGJ1cmdlci5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsXCJmYWxzZVwiKTtcbiAgIGJ1cmdlci5pbm5lckhUTUw9XCI8c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj5cIjtcbiAgIGlubmVyLmFwcGVuZENoaWxkKGJ1cmdlcik7XG4gIH1cbiAgdmFyIGJhY2tkcm9wPW5hdi5xdWVyeVNlbGVjdG9yKFwiI2ZieC1iYWNrZHJvcFwiKTtcbiAgaWYoIWJhY2tkcm9wKXsgYmFja2Ryb3A9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTsgYmFja2Ryb3AuaWQ9XCJmYngtYmFja2Ryb3BcIjsgbmF2LmFwcGVuZENoaWxkKGJhY2tkcm9wKTsgfVxuICBmdW5jdGlvbiBzZXROSCgpeyB2YXIgcj1uYXYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcIi0tZmJ4LW5oXCIsIE1hdGgubWF4KDAsTWF0aC5yb3VuZChyLmJvdHRvbSkpK1wicHhcIik7IH1cbiAgZnVuY3Rpb24gY2xvc2VBY2MoKXsgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbCh1bC5xdWVyeVNlbGVjdG9yQWxsKFwibGkuZmJ4LW1hY2NcIiksZnVuY3Rpb24obyl7IG8uY2xhc3NMaXN0LnJlbW92ZShcImZieC1tYWNjXCIpOyB9KTsgfVxuICBmdW5jdGlvbiBvcGVuRHJhd2VyKCl7IHNldE5IKCk7IHVsLmNsYXNzTGlzdC5hZGQoXCJmYngtbW9ib3BlblwiKTsgYmFja2Ryb3AuY2xhc3NMaXN0LmFkZChcImZieC1vblwiKTsgYnVyZ2VyLmNsYXNzTGlzdC5hZGQoXCJmYngtYm9wZW5cIik7IGJ1cmdlci5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsXCJ0cnVlXCIpOyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUub3ZlcmZsb3c9XCJoaWRkZW5cIjsgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz1cImhpZGRlblwiOyB9XG4gIGZ1bmN0aW9uIGNsb3NlRHJhd2VyKCl7IHVsLmNsYXNzTGlzdC5yZW1vdmUoXCJmYngtbW9ib3BlblwiKTsgYmFja2Ryb3AuY2xhc3NMaXN0LnJlbW92ZShcImZieC1vblwiKTsgYnVyZ2VyLmNsYXNzTGlzdC5yZW1vdmUoXCJmYngtYm9wZW5cIik7IGJ1cmdlci5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsXCJmYWxzZVwiKTsgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLm92ZXJmbG93PVwiXCI7IGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9XCJcIjsgfVxuICBidXJnZXIuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsZnVuY3Rpb24oZSl7IGUucHJldmVudERlZmF1bHQoKTsgZS5zdG9wUHJvcGFnYXRpb24oKTsgaWYodWwuY2xhc3NMaXN0LmNvbnRhaW5zKFwiZmJ4LW1vYm9wZW5cIikpeyBjbG9zZURyYXdlcigpOyB9IGVsc2UgeyBvcGVuRHJhd2VyKCk7IH0gfSk7XG4gIGJhY2tkcm9wLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLGNsb3NlRHJhd2VyKTtcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIixmdW5jdGlvbihlKXsgaWYoZS5rZXk9PT1cIkVzY2FwZVwiKXsgY2xvc2VEcmF3ZXIoKTsgfSB9KTtcbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIixmdW5jdGlvbigpeyBpZighaXNNb2IoKSl7IGNsb3NlRHJhd2VyKCk7IGNsb3NlQWNjKCk7IH0gZWxzZSBpZih1bC5jbGFzc0xpc3QuY29udGFpbnMoXCJmYngtbW9ib3BlblwiKSl7IHNldE5IKCk7IH0gfSk7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsZnVuY3Rpb24oKXsgaWYoaXNNb2IoKSYmdWwuY2xhc3NMaXN0LmNvbnRhaW5zKFwiZmJ4LW1vYm9wZW5cIikpeyBzZXROSCgpOyB9IH0pO1xuICBzZXROSCgpO1xuICB1bC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIixmdW5jdGlvbihlKXtcbiAgIGlmKCFpc01vYigpKSByZXR1cm47XG4gICB2YXIgdHJnPWUudGFyZ2V0LmNsb3Nlc3Q\/ZS50YXJnZXQuY2xvc2VzdChcIi5mYngtdHJpZ2dlclwiKTpudWxsO1xuICAgaWYoIXRyZ3x8IXVsLmNvbnRhaW5zKHRyZykpIHJldHVybjtcbiAgIGUucHJldmVudERlZmF1bHQoKTsgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgIHZhciBsaT10cmcucGFyZW50RWxlbWVudDtcbiAgIHZhciB3aWxsT3Blbj0hbGkuY2xhc3NMaXN0LmNvbnRhaW5zKFwiZmJ4LW1hY2NcIik7XG4gICBjbG9zZUFjYygpO1xuICAgaWYod2lsbE9wZW4peyBsaS5jbGFzc0xpc3QuYWRkKFwiZmJ4LW1hY2NcIik7IH1cbiAgfSx0cnVlKTtcbiAgdWwuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsZnVuY3Rpb24oZSl7XG4gICBpZighaXNNb2IoKSkgcmV0dXJuO1xuICAgdmFyIGE9ZS50YXJnZXQuY2xvc2VzdD9lLnRhcmdldC5jbG9zZXN0KFwiYVwiKTpudWxsO1xuICAgaWYoYSYmYS5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpJiZhLmdldEF0dHJpYnV0ZShcImhyZWZcIikhPT1cIiNcIil7IGNsb3NlRHJhd2VyKCk7IH1cbiAgfSk7XG4gIHZhciBpc1RvdWNoPXdpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYShcIihob3Zlcjogbm9uZSksIChwb2ludGVyOiBjb2Fyc2UpXCIpLm1hdGNoZXM7XG4gIGlmKGlzVG91Y2gpe1xuICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbCh1bC5xdWVyeVNlbGVjdG9yQWxsKFwiOnNjb3BlID4gbGlcIiksZnVuY3Rpb24obGkpe1xuICAgIHZhciBwYW5lbD1saS5xdWVyeVNlbGVjdG9yKFwiLmZieC1wYW5lbFwiKTtcbiAgICBpZighcGFuZWwpIHJldHVybjtcbiAgICB2YXIgdHJpZ2dlcj1saS5xdWVyeVNlbGVjdG9yKFwiLmZieC10cmlnZ2VyXCIpO1xuICAgIGlmKCF0cmlnZ2VyKSByZXR1cm47XG4gICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIixmdW5jdGlvbihldil7XG4gICAgIGlmKGlzTW9iKCkpIHJldHVybjtcbiAgICAgaWYoIWxpLmNsYXNzTGlzdC5jb250YWlucyhcImZieC1vcGVuXCIpKXtcbiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIjZmJ4LWxpbmtzID4gbGkuZmJ4LW9wZW5cIiksZnVuY3Rpb24obyl7IGlmKG8hPT1saSl7IG8uY2xhc3NMaXN0LnJlbW92ZShcImZieC1vcGVuXCIpOyB9IH0pO1xuICAgICAgbGkuY2xhc3NMaXN0LmFkZChcImZieC1vcGVuXCIpO1xuICAgICAgZmJ4UG9zaXRpb25QYW5lbChsaSk7XG4gICAgIH1cbiAgICB9KTtcbiAgIH0pO1xuICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsZnVuY3Rpb24oZXYpe1xuICAgIGlmKGlzTW9iKCkpIHJldHVybjtcbiAgICBpZighKGV2LnRhcmdldC5jbG9zZXN0JiZldi50YXJnZXQuY2xvc2VzdChcIiNmYngtbGlua3NcIikpKXtcbiAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiI2ZieC1saW5rcyA+IGxpLmZieC1vcGVuXCIpLGZ1bmN0aW9uKG8peyBvLmNsYXNzTGlzdC5yZW1vdmUoXCJmYngtb3BlblwiKTsgfSk7XG4gICAgfVxuICAgfSk7XG4gIH1cbiB9XG4gaWYoZG9jdW1lbnQucmVhZHlTdGF0ZT09PVwibG9hZGluZ1wiKXsgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixpbml0KTsgfSBlbHNlIHsgaW5pdCgpOyB9XG59KSgpO1xuPC9zY3JpcHQ+IjsgdmFyIG5vZGVzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoY29udGFpbmVyLmNoaWxkTm9kZXMpOyBub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKG4peyBpZihuLm5vZGVUeXBlIT09MSkgcmV0dXJuOyBpZihuLnRhZ05hbWU9PT0iU1RZTEUiKXsgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChuKTsgfSBlbHNlIGlmKG4udGFnTmFtZSE9PSJTQ1JJUFQiICYmICFuLmNsYXNzTGlzdC5jb250YWlucygiZmJ4LW5hdnRlc3Qtbm90ZSIpKXsgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChuKTsgfSB9KTsgbm9kZXMuZm9yRWFjaChmdW5jdGlvbihuKXsgaWYobi5ub2RlVHlwZSE9PTEpIHJldHVybjsgaWYobi50YWdOYW1lPT09IlNDUklQVCIpeyB2YXIgbnM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7IG5zLnRleHRDb250ZW50PW4udGV4dENvbnRlbnQ7IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobnMpOyB9IH0pOyB9KSgpOw==[\/vc_raw_html]"}