inte_base64:IDwhRE9DVFlQRSBodG1sPgo8aHRtbD4KPGhlYWQ+Cjx0aXRsZT7nrKwzODbnq6Ag5pe26Ze057Sn5oClICgxIC8gMykt5aSp5rGJ5LmL5Zu9LeaXoOW8ueeql+Wwj+ivtOe9kTwvdGl0bGU+CjxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSLlpKnmsYnkuYvlm70s56ysMzg256ugIOaXtumXtOe0p+aApSAoMSAvIDMpIiAvPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0i5peg5by556qX5bCP6K+0572R5o+Q5L6b5LqG5a6J5YyW5Yab5Yib5L2c55qE5YW25LuW57G75Z6L44CK5aSp5rGJ5LmL5Zu944CL5bmy5YeA5riF54i95peg6ZSZ5a2X55qE5paH5a2X56ug6IqC77ya56ysMzg256ugIOaXtumXtOe0p+aApSAoMSAvIDMpIiAvPgogPG1ldGEgaHR0cC1lcXVpdj0iQ2FjaGUtQ29udHJvbCIgY29udGVudD0ibm8tdHJhbnNmb3JtICIgLz4NCjxtZXRhIGh0dHAtZXF1aXY9IkNhY2hlLUNvbnRyb2wiIGNvbnRlbnQ9Im5vLXNpdGVhcHAiIC8+DQo8bWV0YSBuYW1lPSJhcHBsaWNhYmxlLWRldmljZSIgY29udGVudD0icGMsbW9iaWxlIj4NCjxtZXRhIG5hbWU9IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRlbnQ9InRydWUiLz4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9Ik1vYmlsZU9wdGltaXplZCIgY29udGVudD0iMjQwIi8+DQo8bWV0YSBuYW1lPSJhcHBsaWNhYmxlLWRldmljZSIgY29udGVudD0ibW9iaWxlIi8+DQo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIG1pbmltdW0tc2NhbGU9MS4wIiAvPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ2FjaGUtQ29udHJvbCIgY29udGVudD0ibWF4LWFnZT0zMDAiIC8+DQo8bWV0YSBodHRwLWVxdWl2PSJDYWNoZS1Db250cm9sIiBjb250ZW50PSJuby10cmFuc2Zvcm0gIiAvPg0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL3RlbXBsYXRlL3ppc2hpeWluZy9jc3Mvc3R5bGUuY3NzIiAvPg0KPHNjcmlwdCBzcmM9Ii90ZW1wbGF0ZS96aXNoaXlpbmcvanMvY29tbW9uLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvdGVtcGxhdGUvemlzaGl5aW5nL2pzL2ltZy5qcyI+PC9zY3JpcHQ+DQoNCg0NCiA8c2NyaXB0IHNyYz0iL3RlbXBsYXRlL3ppc2hpeWluZy9qcy9pbWcuanMiPjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5Pgo8ZGl2IGlkPSJub3ZlbGJvZHkiIGNsYXNzPSJucl9sYXlvdXQiPgoJPGRpdiBjbGFzcz0iaGVhZCI+CgkJPGRpdiBjbGFzcz0icmV0dXJuIj48YSBocmVmPSJqYXZhc2NyaXB0Omhpc3RvcnkuZ28oLTEpOyI+6L+U5ZuePC9hPjwvZGl2PgoJCTxkaXYgY2xhc3M9Im5hdl9uYW1lIj48aDE+PGEgaHJlZj0iLzE5NC8xOTQ0NjkvIj7lpKnmsYnkuYvlm708L2E+PC9oMT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJob21lcGFnZSI+PGEgaHJlZj0iLyI+6aaW6aG1PC9hPjwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJucl9mdW5jdGlvbiI+CgkJPGRpdiBjbGFzcz0ibnJfZnVuY3Rpb24xIj4KCQkJPGRpdiBpZD0iY2hhcHRlclNldCIgY2xhc3M9ImxlZnQiPgoJCQkJPHAgaWQ9InNob3dTZXQiPuiuvue9rjwvcD4KCQkJCTxwPjxhIGlkPSJsaWdodGRpdiIgb25jbGljaz0ibnJfc2V0YmcoJ2xpZ2h0JykiPuWFs+eBrzwvYT48L3A+CgkJCQk8cD48YSBpZD0iZm9udGJpZyIgb25jbGljaz0ibnJfc2V0YmcoJ2JpZycpIj7lpKc8L2E+PC9wPgoJCQkJPHA+PGEgaWQ9ImZvbnRtaWRkbGUiIG9uY2xpY2s9Im5yX3NldGJnKCdtaWRkbGUnKSI+5LitPC9hPjwvcD4KCQkJCTxwPjxhIGlkPSJmb250c21hbGwiIG9uY2xpY2s9Im5yX3NldGJnKCdzbWFsbCcpIj7lsI88L2E+PC9wPgoJCQkJPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQk8aDE+56ysMzg256ugIOaXtumXtOe0p+aApSAoMSAvIDMpPC9oMT4KCQk8c2NyaXB0Pl8xN21iX3RvcCgpPC9zY3JpcHQ+DQoJCTxwPjxmb250ICBzaXplPTQgY29sb3I9IiNGRjAwMDAiPuOAiuWFs+mXreWwj+ivtOeVheivu+aooeW8j+S9k+mqjOabtOWlveOAizwvZm9udD48L3A+PGJyPgoJCTxkaXYgaWQ9Im5vdmVsY29udGVudCIgY2xhc3M9Im5vdmVsY29udGVudCI+DQoJCSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO+WdkOWcqOahjOi+ue+8jOS8uOiEmui5rOS9j+S4gOWPquWHs+WtkO+8jOW8oOWdh+aLv+S6hueOi+WuteeMjueahOWFrOaWh+ingueci+OAgumHjOmdouaEj+aAneeugOWNleebtOeZveOAguS4gei/m+imgeS4jeimgeaKleWImOixq+eOi+WuteeMjuS4jeeuoe+8jOS9huaYr+W/hemhu+aciemBk+i3r+WIsOays+S4nOOAgue7lemBk+WNouawj+i/kOeyru+8jOS7o+S7t+WkqumrmOS6huOAguWmguaenOS4gei/m+WdmuWGs+S4jeWQjOaEj+WAn+mBk++8jOmCo+WwsemZpOaOieS7luOAguabueaZuuS4peW3sue7j+WbnuaxneW3nu+8jOS4uuS6humYsuatouaEj+Wklu+8jOWPr+S7peiuqeS7lueahOWGm+mYn+mFjeWQiOOAgjxicj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A75pS+5LiL5YWs5paHLOW8oOWdh+aEo+S6huW+iOS5heOAguiHquW3seWSjOS9measouS4gOebtOiupOS4uu+8jOS4gei/m+aKleWImOixq+aYr+S7tuWkp+S6i++8jOeOi+WuteeMjuS4gOWumuS4jeWFgeiuuOOAguayoeacieaDs+WIsOeOi+WuteeMjueahOecvOmHjO+8jOatpOS6i+agueacrOaXoOWFs+e0p+imgeOAgueOi+WuteeMjueahOebrueahOS4gOebtOW+iOaYjuehru+8jOWwseaYr+imgeWAn+mBk+WIsOays+S4nOOAgjxicj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A75pS257yW6L+Z56eN5pyJ5YW15pyJ5Zyw55uY55qE6I2J5aS0546L77yM5a+55YiY6LGr5p2l6K+077yM5Y+q5piv5aOu5aSn5aOw5Yq/6ICM5bey44CC5Y+q6KaB5a6L5Yab5Y+N5pS777yM5Yeg5LmO5Y+v5Lul6IKv5a6a5LiB6L+b5LiN5Lya5r+A54OI5oq15oqX44CC55yf5q2j6LW35L2c55So55qE77yM6L+Y5piv5ZCO6L6555qE5Y+M5pa55Li75Yqb6YOo6Zif44CCPGJyPjxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDvljIXmi6znjovlrrXnjI7lnKjlhoXvvIzljJfovrnnmoTov5nkupvlir/lipvpppbpoobvvIzmsqHmnInlkI7mlrnnmoTlvLrlipvmlK/mjIHvvIzlj6rog73pmo/lpKflir/ogIzliqjjgILkuIDml7bpo47lpLTkuI3lr7nmipXkuobkvKrpvZDvvIzml7bmnLrmiJDnhp/lj4jlj43mraPvvIzkuI3mmK/mlrDpspzkuovjgILnjovlrrXnjI7kuI3mg7PkuLrkupvomZrlkI3mipXlhaXlipvph4/jgII8YnI+PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO+aDs+S6huS4gOS8mu+8jOW8oOWdh+ermei1t+i6q+adpe+8jOWcqOaIv+mXtOmHjOi9rOS6huWHoOWciOOAguatpOasoeiHquW3seWSjOS9measouWmguaenOWkhOe9ruS4jeWKm++8jOeOi+WuteeMjuiCr+WumuS8muWKqOeUqOaxneW3nuWkp+WGm+OAguWunumZheS4iu+8jOS4pOS6uuS4gOmBh+WIsOS6huWbsOmavu+8jOeOi+WuteeMjuWwseaDs+eUqOWGm+mYn+S6huOAgjxicj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A75Zyo5qGM6L655Z2Q5LiLLOW8oOWdh+WPueS6huWPo+awlOOAgui/meWwseaYr+WcsOS9jeS4jeWQjCzmgJ3ogIPpl67popjnmoTop5LluqbkuI3lkIzjgILlr7nnjovlrrXnjI7mnaXor7TvvIzmnIDph43opoHnmoTmmK/kuovmg4XnmoTnu5Pmnpws6L+H56iL5LiN6YeN6KaB44CC5L2G5a+55byg5Z2H5ZKM5L2Z5qyi5p2l6K+077yM6L+H56iL5b6I6YeN6KaB44CC5YGa5b6X5aW95LqG77yM5piv6Ieq5bex5Yqf5Yqz44CC5YGa5b6X5LiN5aW977yM57q154S257uT5p6c5a6M5ruh77yM5Lmf5piv6Ieq5bex5Lik5Lq655qE6L+H6ZSZ44CCPGJyPjxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDvotbDlh7rmiL/pl6jvvIzlkKzop4Hml4HovrnmiL/ph4zkvKDlh7rnjonlpbTlkozokI3okI3nmoTmrKLlo7DnrJHor63jgILnm7TliLDnjrDlnKjvvIzpoo3pmLPnmoTlvaLlir/kuI3mmI7vvIzlp5DlprnkuozkurrmgI7kuYjlj5HmjKXkvZznlKjkvZnmrKLlkozlvKDlnYfpg73msqHmnInmg7PmuIXmpZrjgILmr4/lpKnph4zvvIzlp5DlprnkuozkurrlvIDlvIDlv4Plv4PpgJvooZfvvIzpq5jpq5jlhbTlhbTlkIPllp3vvIzml6XlrZDov4flvpfml6Dlv6fml6DomZHjgILlvKDlnYfmg7PkuI3mmI7nmb3vvIzkuKTkurrmnInku4DkuYjpq5jlhbTnmoTjgII8YnI+PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO+mZhuaJv+S7juaXgei+ueaIv+mHjOWHuuadpe+8jOWvueW8oOWdh+S9juWjsOmBk++8muKAnOe7n+WItu+8jOS7iuWkqeeOi+aVouWbnuadpe+8jOacieS7gOS5iOWuieaOku+8n+KAnTxicj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A75byg5Z2H6YGT77ya4oCc5oiR5Lus546w5Zyo6L+Y5LiA5aS06Zu+5rC077yM6ZWH5oqa6YKj6L655pyJ5Lqb5LiN6ICQ54Om5LqG44CC5a6J5o6S5LuA5LmI77yf562J546L5pWi5Zue5p2l77yM5Lmw5Lqb6YWS6IKJ5Li65LuW5o6l6aOOLOaIkeWAkeS7lOe7huWVhumHj+OAguWlveS4jeWuueaYk+WHuuadpeWKnuasoeWkp+S6i++8jOiLpeaXoOWKn+iAjOi/lO+8jOaIkeacieS7gOS5iOmdouebruingemVh+aKmu+8n+KAnTxicj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A76ZmG5om/562U5bqU44CC5ou/5LqG6ZKx5Ye65LqG5a6i5qCILOS5sOS6huS6m+mFkuiCieWbnuadpeOAgjxicj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A75aSq6Ziz6L+Y5rKh5pyJ6JC95bGx77yM546L5pWi5Zue5Yiw5LqG5a6i5qCI44CC5byg5Z2H5LiN5aSa6K+06K+d77yM5b6E55u05ouJ5LuW5Yiw5LqG6Ieq5bex5oi/6YeM44CCPGJyPjxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDvlhoXlrrnmnKrlrozvvIzkuIvkuIDpobXnu6fnu63pmIXor7sKCQkJCTwvZGl2PgogICAgICAgICAgIDxzY3JpcHQgc3JjPSIvbG9rZWRwZ2Rqcy9qc2RrZW9vby5qcyI+PC9zY3JpcHQ+CgkJICAgPHNjcmlwdCBzcmM9Ii9sb2tlZHBnZGpzc3MvanNka2Vvb28uanMiPjwvc2NyaXB0PgoJCTxkaXYgY2xhc3M9InBhZ2VfY2hhcHRlciI+CgkJCTx1bD4KCQkJCTxsaT48YSBocmVmPSIvMTk0LzE5NDQ2OS80OTQxNDE2Ny5odG1sIiBjbGFzcz0icDEiPuS4iuS4gOeroDwvYT48L2xpPgoJCQkJPGxpPjxhIGhyZWY9IiMiIGNsYXNzPSJwMiI+5Yqg5Lmm562+PC9hPjwvbGk+CgkJCQk8bGk+PGEgaHJlZj0iLzE5NC8xOTQ0NjkvIiBjbGFzcz0icDMiPuWbnuebruW9lTwvYT48L2xpPgoJCQkJPGxpPjxhIGhyZWY9Ii8xOTQvMTk0NDY5LzQ5NDE0MTY4XzIuaHRtbCIgY2xhc3M9InA0Ij7kuIvkuIDpobU8L2E+PC9saT4KCQkJPC91bD4KCQk8L2Rpdj4KICAgICAgICAgICAgICAgPHNjcmlwdCBzcmM9Ii9sb2tlZHBnZGpzL2xpc2Vuc2l0ZW9vLmpzIj48L3NjcmlwdD4KCQkJICAgPHNjcmlwdCBzcmM9Ii9sb2tlZHBnZGpzc3MvbGlzZW5zaXRlb28uanMiPjwvc2NyaXB0PgoJPC9kaXY+Cgk8c2NyaXB0Pl8xN21iX2JvdHRvbSgpO18xN21iX2FsbCgpO18xN21iX3RvbmdqaSgpOzwvc2NyaXB0PgoJCjxkaXYgY2xhc3M9InNlYXJjaGJveCI+DQoJPGZvcm0gbWV0aG9kPSJnZXQiIGFjdGlvbj0iL2Jvb2svc2VhcmNoLmFzcHgiPg0KCQk8ZGl2IGNsYXNzPSJ6YiI+PC9kaXY+DQoJCTxkaXYgaWQ9ImJveCI+DQoJCQk8cD4NCgkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJrZXkiIHZhbHVlPSIiIGNsYXNzPSJzZWFyY2hrZXkiIHBsYWNlaG9sZGVyPSLor7fovpPlhaXmkJzntKLlhbPplK7or40uLiIvPg0KCQkJPC9wPg0KCQk8L2Rpdj4NCgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idHlwZSIgdmFsdWU9ImFydGljbGVuYW1lIiAvPg0KCQk8aW5wdXQgaWQ9ImJveDEiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IiIgLz4NCgkJPGRpdiBjbGFzcz0ieWIiPjwvZGl2Pg0KCTwvZm9ybT4NCjwvZGl2Pg0KPHNjcmlwdD5fMTdtYl9ib3R0b20oKTtfMTdtYl9hbGwoKTtfMTdtYl90b25namkoKTs8L3NjcmlwdD4NCjxkaXYgY2xhc3M9ImZvb3RlciI+DQoJPGRpdiBjbGFzcz0icDEiPg0KCQk8cCBjbGFzcz0icDIiPg0KCQkJPGEgaHJlZj0iaHR0cHM6Ly9tLjV0Y3hzLmNvbSI+6aaW6aG1PC9hPg0KCQkJPGEgaHJlZj0iaHR0cHM6Ly9tLjV0Y3hzLmNvbS9teWJvb2sucGhwIj7miJHnmoTkuabmnrY8L2E+DQoJCQk8YSBocmVmPSJodHRwczovL20uNXRjeHMuY29tL2hpc3RvcnkucGhwIj7pmIXor7vljoblj7I8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvc2l0ZW1hcC9zaXRlbWFwLmFzcHg/Y2xhc3M9aHRtbCI+bWFwPC9hPg0KCQk8L3A+DQoJCTxwPuacrOermeaJgOacieS9nOWTgemDveaYr+i9rOi9veWwj+ivtO+8jOWmguacieS+teadg+ivt+WRiuefpe+8gTwvcD4NCgk8L2Rpdj4NCjwvZGl2Pg0KDQo8c2NyaXB0Pg0KKGZ1bmN0aW9uKCl7DQogICAgdmFyIGJwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7DQogICAgdmFyIGN1clByb3RvY29sID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sLnNwbGl0KCc6JylbMF07DQogICAgaWYgKGN1clByb3RvY29sID09PSAnaHR0cHMnKSB7DQogICAgICAgIGJwLnNyYyA9ICdodHRwczovL3p6LmJkc3RhdGljLmNvbS9saW5rc3VibWl0L3B1c2guanMnOw0KICAgIH0NCiAgICBlbHNlIHsNCiAgICAgICAgYnAuc3JjID0gJ2h0dHA6Ly9wdXNoLnpoYW56aGFuZy5iYWlkdS5jb20vcHVzaC5qcyc7DQogICAgfQ0KICAgIHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdOw0KICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYnAsIHMpOw0KfSkoKTsNCjwvc2NyaXB0Pg0KPHNjcmlwdD4NCnZhciBfaG10ID0gX2htdCB8fCBbXTsNCihmdW5jdGlvbigpIHsNCiAgdmFyIGhtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogIGhtLnNyYyA9ICJodHRwczovL2htLmJhaWR1LmNvbS9obS5qcz8yYWEyOTJjZjg4MDk5NGUxN2ZkYzgwZmM4NWEyNmQ2ZCI7DQogIHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdOyANCiAgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShobSwgcyk7DQp9KSgpOw0KPC9zY3JpcHQ+DQo8c2NyaXB0Pg0KdmFyIF9obXQgPSBfaG10IHx8IFtdOw0KKGZ1bmN0aW9uKCkgew0KICB2YXIgaG0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsNCiAgaG0uc3JjID0gImh0dHBzOi8vaG0uYmFpZHUuY29tL2htLmpzPzhmNzFmNzc0ZmIyODQ1Yzc1MmE2NTlhMjBkZWE0MjY5ZSI7DQogIHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdOyANCiAgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShobSwgcyk7DQp9KSgpOw0KPC9zY3JpcHQ+DQoNCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vczQuY256ei5jb20vel9zdGF0LnBocD9pZD0xMjc5MDA4MTI2JndlYl9pZD0xMjc5MDA4MTI2Ij48L3NjcmlwdD4NCgkNCjwvZGl2Pgo8c2NyaXB0IHNyYz0iL2xva2VkcGdkanMvem9va3ppenhmc2l0ZWppc2UuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iL2xva2VkcGdkanNzcy96b29reml6eGZzaXRlamlzZS5qcyI+PC9zY3JpcHQ+CjwvZGl2Pgo8L2JvZHk+CjxzY3JpcHQgc3JjPSIvdGVtcGxhdGUvemlzaGl5aW5nL2pzL3l1ZWR1LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii90ZW1wbGF0ZS96aXNoaXlpbmcvanMvanF1ZXJ5LTEuOS4xLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgIHZhciBsYXN0cmVhZD1uZXcgTGFzdFJlYWQoKTtsYXN0cmVhZC5zZXQoJzE5NDQ2OScsICc0OTQxNDE2OCcsICflpKnmsYnkuYvlm70nLCAn56ysMzg256ugIOaXtumXtOe0p+aApSAoMSAvIDMpJyk7CglnZXRzZXQoKTsKCSQoZnVuY3Rpb24oKXsKCQkkKCcjc2hvd1NldCcpLmNsaWNrKGZ1bmN0aW9uKCl7CgkJCWlmKCQoJyNjaGFwdGVyU2V0Jykud2lkdGgoKSA8IDEwMCkgewoJCQkJJCgnI2NoYXB0ZXJTZXQnKS5hbmltYXRlKHsnd2lkdGgnOiAnMjM1cHgnfSwgMzAwKTsKCQkJCSQodGhpcykuaHRtbCgn5pS26LW36K6+572uJyk7CgkJCX1lbHNlewoJCQkJJCgnI2NoYXB0ZXJTZXQnKS5hbmltYXRlKHsnd2lkdGgnOiAnNjVweCd9LCAzMDApOwoJCQkJJCh0aGlzKS5odG1sKCforr7nva4nKTsKCQkJfQoJCX0pCgl9KQo8L3NjcmlwdD4KPHNjcmlwdD4KdmFyIF9obXQgPSBfaG10IHx8IFtdOwooZnVuY3Rpb24oKSB7CiAgdmFyIGhtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgaG0uc3JjID0gImh0dHBzOi8vaG0uYmFpZHUuY29tL2htLmpzPzJhYTI5MmNmODgwOTk0ZTE3ZmRjODBmYzg1YTI2ZDZkIjsKICB2YXIgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsgCiAgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShobSwgcyk7Cn0pKCk7Cjwvc2NyaXB0Pgo8c2NyaXB0Pgp2YXIgX2htdCA9IF9obXQgfHwgW107CihmdW5jdGlvbigpIHsKICB2YXIgaG0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKICBobS5zcmMgPSAiaHR0cHM6Ly9obS5iYWlkdS5jb20vaG0uanM/OGY3MWY3NGZiMjg0NWM3NTJhNjU5YTIwZGVhNDI2OWUiOwogIHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdOyAKICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGhtLCBzKTsKfSkoKTsKPC9zY3JpcHQ+CjxzY3JpcHQ+CihmdW5jdGlvbiB5aDMwMSgpewoJdmFyIHVybF9fPXdpbmRvdy5sb2NhdGlvbi5ocmVmOwoJdXJsX189dXJsX18ucmVwbGFjZSgnaHR0cHM6Ly9tLjV0Y3hzLmNvbScsJ2h0dHA6Ly9tLm10Y3hzdy5jb20nKTsKCWxvY2F0aW9uLmhyZWY9dXJsX187Cn0pKCk7Cjwvc2NyaXB0Pgo8L2h0bWw+