PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImtvIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8dGl0bGU+7ZSE66Gc7KCd7Yq4IO2Gte2VqSDsi6TtlonrtoTshJ0g7Iuc7Iqk7YWcPC90aXRsZT4KICAgIDwhLS0g7Jm467aAIOudvOydtOu4jOufrOumrCBDRE4gLS0+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly91bnBrZy5jb20vcmVhY3RAMTgvdW1kL3JlYWN0LnByb2R1Y3Rpb24ubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9yZWFjdC1kb21AMTgvdW1kL3JlYWN0LWRvbS5wcm9kdWN0aW9uLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly91bnBrZy5jb20vQGJhYmVsL3N0YW5kYWxvbmUvYmFiZWwubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0veGxzeEAwLjE4LjUvZGlzdC94bHN4LmZ1bGwubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NoYXJ0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9sdWNpZGVAbGF0ZXN0Ij48L3NjcmlwdD4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9UHJldGVuZGFyZDp3Z2h0QDQwMDs2MDA7ODAwJmRpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDxzdHlsZT4KICAgICAgICBib2R5IHsgZm9udC1mYW1pbHk6ICdQcmV0ZW5kYXJkJywgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOyB9CiAgICAgICAgLmN1c3RvbS1zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgd2lkdGg6IDZweDsgfQogICAgICAgIC5jdXN0b20tc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7IGJhY2tncm91bmQ6ICNmMWY1Zjk7IH0KICAgICAgICAuY3VzdG9tLXNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgeyBiYWNrZ3JvdW5kOiAjY2JkNWUxOyBib3JkZXItcmFkaXVzOiAxMHB4OyB9CiAgICAgICAgLm5hdi1jb250YWluZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNWY5OyBwYWRkaW5nOiA1cHg7IGJvcmRlci1yYWRpdXM6IDEuMnJlbTsgZGlzcGxheTogZmxleDsgZ2FwOiA0cHg7IH0KICAgICAgICAudGFiLWJ0biB7IHBhZGRpbmc6IDEwcHggMjJweDsgYm9yZGVyLXJhZGl1czogMC45cmVtOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IGN1cnNvcjogcG9pbnRlcjsgYm9yZGVyOiBub25lOyB9CiAgICAgICAgLnRhYi1idG4uYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogIzYzNjZmMTsgY29sb3I6IHdoaXRlOyBib3gtc2hhZG93OiAwIDRweCAxMHB4IHJnYmEoOTksIDEwMiwgMjQxLCAwLjI1KTsgfQogICAgICAgIC50YWItYnRuLmluYWN0aXZlIHsgY29sb3I6ICM2NDc0OGI7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9CiAgICAgICAgLm1vZGUtYnRuIHsgcGFkZGluZzogOHB4IDE4cHg7IGJvcmRlci1yYWRpdXM6IDk5OTlweDsgZm9udC1zaXplOiAxMXB4OyBmb250LXdlaWdodDogODAwOyBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwOyB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyBjdXJzb3I6IHBvaW50ZXI7IGJhY2tncm91bmQ6IHdoaXRlOyBjb2xvcjogIzk0YTNiODsgfQogICAgICAgIC5tb2RlLWJ0bi5hY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiICFpbXBvcnRhbnQ7IGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyBib3JkZXItY29sb3I6ICMxZTI5M2IgIWltcG9ydGFudDsgfQogICAgICAgIC50b29sdGlwLWNvbnRhaW5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgICAgIC50b29sdGlwLWNvbnRlbnQgewogICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IHdpZHRoOiBhdXRvOyBtaW4td2lkdGg6IDE4MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiOyBjb2xvcjogI2ZmZjsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXItcmFkaXVzOiAxMnB4OyBwYWRkaW5nOiAxMnB4OyBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHotaW5kZXg6IDEwMDsgdG9wOiAxMDUlOyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsgb3BhY2l0eTogMDsgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOyAKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgICAgICB9CiAgICAgICAgLnRvb2x0aXAtY29udGFpbmVyOmhvdmVyIC50b29sdGlwLWNvbnRlbnQgeyB2aXNpYmlsaXR5OiB2aXNpYmxlOyBvcGFjaXR5OiAxOyB9CiAgICAgICAgaW5wdXRbdHlwZT0ibnVtYmVyIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IG1hcmdpbjogMDsgfQogICAgICAgIAogICAgICAgIC5yZXBvcnQtY2FyZCB7IGJhY2tncm91bmQ6IHdoaXRlOyBib3JkZXI6IDFweCBzb2xpZCAjZWVmMmY2OyBib3JkZXItcmFkaXVzOiAxLjVyZW07IHBhZGRpbmc6IDEuNXJlbTsgfQogICAgICAgIC5yZXBvcnQtdGFnIHsgZm9udC1zaXplOiAxMHB4OyBmb250LXdlaWdodDogODAwOyBwYWRkaW5nOiAycHggOHB4OyBib3JkZXItcmFkaXVzOiA0cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0KICAgICAgICAuc3RhdHVzLW9rIHsgYmFja2dyb3VuZDogI2RjZmNlNzsgY29sb3I6ICMxNTgwM2Q7IH0KICAgICAgICAuc3RhdHVzLXdhcm4geyBiYWNrZ3JvdW5kOiAjZmVmOWMzOyBjb2xvcjogI2ExNjIwNzsgfQogICAgICAgIC5zdGF0dXMtY3JpdCB7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjYjkxYzFjOyB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5IGNsYXNzPSJiZy1bI2Y4ZmFmY10iPgogICAgPGRpdiBpZD0icm9vdCI+PC9kaXY+CgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2JhYmVsIj4KICAgICAgICBjb25zdCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9ID0gUmVhY3Q7CgogICAgICAgIGNvbnN0IENBVF9SRVYgPSAi7IiY7J6FIiwgQ0FUX0NPTlNUID0gIuyLnOqzteybkOqwgCIsIENBVF9NRkcgPSAi7KCc7KGw7JuQ6rCAIiwgQ0FUX0xBQk9SID0gIuyduOqxtOu5hCIsIENBVF9BRE1JTiA9ICLqtIDrpqzruYQiLCBDQVRfTk9OX09QID0gIuyekOyCsC/rtoDssYQv7JiB7JeF7Jm4IjsKICAgICAgICBjb25zdCBDQVRFR09SWV9DT0xPUlMgPSB7IFtDQVRfUkVWXTogJyM2MzY2ZjEnLCBbQ0FUX0NPTlNUXTogJyMxMGI5ODEnLCBbQ0FUX01GR106ICcjZWY0NDQ0JywgW0NBVF9MQUJPUl06ICcjZjU5ZTBiJywgW0NBVF9BRE1JTl06ICcjZWM0ODk5JyB9OwoKICAgICAgICBjb25zdCBNQVNURVJfSkFOR0hFT04gPSB7CiAgICAgICAgICAgICcxMDEnOiftmITquIgnLCcxMDMnOifrs7TthrXsmIjquIgnLCcxMDQnOifquLDtg4DsoJzsmIjquIgnLCcxMTAnOifrsJvsnYTslrTsnYwnLCcxMjQnOifrp6Trj4TqsIDriqXspp3qtownLCcxMzUnOifrp6TsnoXrtoDqsIDshLgnLCcxNzgnOiftmozsm5DqtownLCcxOTEnOifstpzsnpDquIgnLCcxOTInOifsnoTssKjrs7Tspp3quIgnLCcxOTMnOifso7zsnoTsooXrjIDstpzquIgnLCcxOTQnOifsoITrj4TquIgnLCcxOTUnOifrs7Tspp3quIgnLCcxOTYnOifrjIDsl6zquIgnLCcyMDYnOifquLDqs4TsnqXsuZgo7ISk67mEKScsJzIwOCc6J+ywqOufieyatOuwmOq1rCjsnqXruYQpJywnMjEwJzon6rO16rWs7JmA6riw6rWsKOqzteq1rCknLCcyMTInOifruYTtkogo67mE7ZKIKScsJzIxOSc6J+yLnOyEpOyepey5mCjqsbTrrLwpJywnMjMxJzon7JiB7JeF6raMJywnMjQxJzon7IKs7Jqp7IiY7J216riw67aA7J6Q7IKwJywnMjU0Jzon7JiI7IiY6riIJywnMjU3Jzon6rCA7IiY6riIJywnMjU4Jzon66ek7Lac67aA6rCA7IS4JywnMjU5Jzon7ISg7IiY6riIJywnMjYwJzon64uo6riw7LCo7J6F6riIJywnMjkwJzon7KO87J6E7KKF7LCo7J6F6riIJywnMjkzJzon7J6l6riw7LCo7J6F6riIJywnMjk0Jzon7J6E64yA67O07Kad6riIJywnMzk5Jzon66ek7Lac67aA6rCA7IS4JywnODAxJzon6rCQ6rCA7IOB6rCB67mEKOyekOyCsCknLAogICAgICAgICAgICAnNDAxJzon6rO17IKs7IiY7J6FJywnNDAyJzon7IOB7ZKI66ek7LacJywnNDAzJzon7Jqp7Jet7IiY7J6FJywnNDA0Jzon6riw7YOA7IiY7J6FJywnNDA1Jzon7J6E64yA7IiY7J6FJywKICAgICAgICAgICAgJzUwMSc6J+q0gOumrCDsnoTquIgnLCc1MDInOifsi5zqs7Ug7J6E6riIJywnNTAzJzon7ISk6rOEIOyehOq4iCcsJzUwNCc6J+qzteustCDsnoTquIgnLCc1MDUnOifsp4Dsm5Ag7J6E6riIJywnNTA2Jzon7IOd7IKw6rSA66asIOyehOq4iCcsJzUwNyc6J+yDneyCsOyngSjqs4QpIOyehOq4iCcsJzUwOCc6J+yDneyCsOyngSjsnbwpIOuFuOustOu5hCcsJzU1MSc6J+q0gOumrCDth7Tsp4HquIgnLCc1NTInOifsi5zqs7Ug7Ye07KeB6riIJywnNTUzJzon7ISk6rOEIO2HtOyngeq4iCcsJzU1NCc6J+qzteustCDth7Tsp4HquIgnLCc1NTUnOifsp4Dsm5Ag7Ye07KeB6riIJywnNTU2Jzon7IOd7IKw6rSA66asIO2HtOyngeq4iCcsJzU1Nyc6J+yDneyCsOyngSjqs4QpIO2HtOyngeq4iCcsJzU1OCc6J+yDneyCsOyngSjsnbwpIO2HtOyngeq4iCcsJzU2MCc6J+qwkeq3vC/so7zrr7zshLgnLCc1NjEnOic064yA67O07ZeYJywnNTYyJzon7J287Jqp7KeBIO2HtOyngeq4iCcsJzU2Myc6J+2HtOyngeq4ieyXrCcsCiAgICAgICAgICAgICc2MDEnOifso7zsnpDsnqwnLCc2MDInOifrtoDsnpDsnqwnLCc2MDMnOifslYjsoITqtIDrpqzruYQo7ZiE7J6lKScsJzYwNCc6J+ygnOyekSjriqXrpaDquIkpJywnNjA1Jzon7J247J6lKOuKpeuloOq4iSknLCc2MDYnOifqsIDshKQo64ql66Wg6riJKScsJzYwNyc6J+2MkC/qsIAo64ql66Wg6riJKScsJzYwOCc6J+yepeu5hOu5hCcsJzYwOSc6J+yatOuwmOu5hCcsJzYxMCc6J+ydvOyaqeuFuOustOu5hCcsJzYxMSc6J+yZuOyjvOu5hCDrk7EnLCc2MTInOifso7zsnqzruYQnLCc2MTMnOifstpzsnqXruYQnLCc2MTQnOifrs7Tspp0v67O07IOB67mEJywnNjE1Jzon6riw7YOA6rK967mEJywnNjE2Jzon7ZW07Jm47Lac7J6l67mEJywnNjUxJzon7IKw7JeF7JWI7KCE67O06rG06rSA66as67mEJywnNjUyJzonKOu2iOyduOyglSnsgrDsl4XslYjsoITrs7TqsbTqtIDrpqzruYQnLAogICAgICAgICAgICAnNzAxJzon7LKg6re86rCA6rO1JywnNzAyJzon7YyQ64Ss7KCc7J6RJywnNzAzJzon7ZiE7J6l7KeA7JuQJywnNzA0Jzon7ZSE66as67mU7KCc7J6RJywnNzA1Jzon7IOB7ZKIJywnNzExJzon67O166as7ZuE7IOd67mEIFvsoJzsobBdJywnNzEyJzon7Jes67mE6rWQ7Ya167mEIFvsoJzsobBdJywnNzEzJzon7KCR64yA67mEIFvsoJzsobBdJywnNzE0Jzon7Ya17Iug67mEIFvsoJzsobBdJywnNzE1Jzon7IiY64+E6rSR7Je067mEIFvsoJzsobBdJywnNzE2Jzon7K ... [28,966 characters omitted] ... dW5kZWQtWzEuM3JlbV0gdGV4dC13aGl0ZSBzaGFkb3ctbGciPjxpIGNsYXNzTmFtZT0ibHVjaWRlLWFjdGl2aXR5Ij48L2k+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT0idGV4dC0yeGwgZm9udC1ibGFjayB0ZXh0LXNsYXRlLTkwMCBsZWFkaW5nLXRpZ2h0Ij7tlITroZzsoJ3tirgg7Ya17ZWpIOyLpO2Wieu2hOyEnTwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGdhcC0yIG10LTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXRDdXJyZW50TW9kZSgnSkFOR0hFT04nKX0gY2xhc3NOYW1lPXtgbW9kZS1idG4gJHtjdXJyZW50TW9kZSA9PT0gJ0pBTkdIRU9OJyA/ICdhY3RpdmUnIDogJyd9YH0+7J6l7ZeM7IKw7JeFIOq4sOykgDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXRDdXJyZW50TW9kZSgnUFRDJyl9IGNsYXNzTmFtZT17YG1vZGUtYnRuICR7Y3VycmVudE1vZGUgPT09ICdQVEMnID8gJ2FjdGl2ZScgOiAnJ31gfT5QVEMg6riw7KSAPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuYXYgY2xhc3NOYW1lPSJuYXYtY29udGFpbmVyIG1yLTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uQ2xpY2s9eygpID0+IHNldEFjdGl2ZVRhYignZGFzaGJvYXJkJyl9IGNsYXNzTmFtZT17YHRhYi1idG4gJHthY3RpdmVUYWIgPT09ICdkYXNoYm9hcmQnID8gJ2FjdGl2ZScgOiAnaW5hY3RpdmUnfWB9Puyihe2VqSDrjIDsi5zrs7Trk5w8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXRBY3RpdmVUYWIoJ2FuYWx5c2lzJyl9IGNsYXNzTmFtZT17YHRhYi1idG4gJHthY3RpdmVUYWIgPT09ICdhbmFseXNpcycgPyAnYWN0aXZlJyA6ICdpbmFjdGl2ZSd9YH0+7Iuk7ZaJIOyYiOyCsCDrtoTshJ08L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25hdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPSJweC02IHB5LTMgYmctaW5kaWdvLTYwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtMnhsIGN1cnNvci1wb2ludGVyIGZvbnQtYm9sZCBzaGFkb3ctbWQgaG92ZXI6YmctaW5kaWdvLTcwMCB0cmFuc2l0aW9uLWFsbCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt1cGxvYWRpbmcgPyA8c3BhbiBjbGFzc05hbWU9ImFuaW1hdGUtc3BpbiI+8J+MgDwvc3Bhbj4gOiA8aSBjbGFzc05hbWU9Imx1Y2lkZS11cGxvYWQiPjwvaT59IOuNsOydtO2EsCDsl4XroZzrk5wKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImZpbGUiIGNsYXNzTmFtZT0iaGlkZGVuIiBhY2NlcHQ9Ii54bHN4LCAueGxzIiBvbkNoYW5nZT17aGFuZGxlRmlsZVVwbG9hZH0gLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGVhZGVyPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTQgYmctd2hpdGUgcC01IHJvdW5kZWQtWzIuNXJlbV0gYm9yZGVyIHNoYWRvdy1zbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ic3BhY2UteS0xIGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT0idGV4dC1bMTBweF0gdGV4dC1zbGF0ZS00MDAgdXBwZXJjYXNlIGZvbnQtYmxhY2sgZm9udC1tb25vIj5EQVRFIFJBTkdFPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBnYXAtMSBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibW9udGgiIGNsYXNzTmFtZT0idy1mdWxsIGJnLXNsYXRlLTUwIHJvdW5kZWQteGwgcC0yIHRleHQteHMgYm9yZGVyLW5vbmUgZm9udC1ib2xkIG91dGxpbmUtbm9uZSIgdmFsdWU9e3N0YXJ0RGF0ZX0gb25DaGFuZ2U9e2UgPT4gc2V0U3RhcnREYXRlKGUudGFyZ2V0LnZhbHVlKX0gLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9Im1vbnRoIiBjbGFzc05hbWU9InctZnVsbCBiZy1zbGF0ZS01MCByb3VuZGVkLXhsIHAtMiB0ZXh0LXhzIGJvcmRlci1ub25lIGZvbnQtYm9sZCBvdXRsaW5lLW5vbmUiIHZhbHVlPXtlbmREYXRlfSBvbkNoYW5nZT17ZSA9PiBzZXRFbmREYXRlKGUudGFyZ2V0LnZhbHVlKX0gLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9InNwYWNlLXktMSBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9InRleHQtWzEwcHhdIHRleHQtc2xhdGUtNDAwIHVwcGVyY2FzZSBmb250LWJsYWNrIGZvbnQtbW9ubyBmb250LWJvbGQiPlBST0pFQ1Q8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3NOYW1lPSJ3LWZ1bGwgYmctc2xhdGUtNTAgcm91bmRlZC14bCBwLTMgdGV4dC14cyBib3JkZXItbm9uZSBjdXJzb3ItcG9pbnRlciBmb250LWJvbGQgb3V0bGluZS1ub25lIiB2YWx1ZT17c2VsZWN0ZWRQanR9IG9uQ2hhbmdlPXtlID0+IHNldFNlbGVjdGVkUGp0KGUudGFyZ2V0LnZhbHVlKX0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkFsbCI+7KCE7LK0IO2UhOuhnOygne2KuCDrs7TquLA8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2F2YWlsYWJsZVByb2plY3RzLm1hcChwID0+IDxvcHRpb24ga2V5PXtwfSB2YWx1ZT17cH0+e3B9PC9vcHRpb24+KX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9InNwYWNlLXktMSBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9InRleHQtWzEwcHhdIHRleHQtc2xhdGUtNDAwIHVwcGVyY2FzZSBmb250LWJsYWNrIGZvbnQtbW9ubyBmb250LWJvbGQiPlNFQVJDSDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSLrqoXsua0v7L2U65OcL+yggeyalC4uLiIgY2xhc3NOYW1lPSJ3LWZ1bGwgYmctc2xhdGUtNTAgcm91bmRlZC14bCBwLTMgdGV4dC14cyBib3JkZXItbm9uZSBmb250LWJvbGQgb3V0bGluZS1ub25lIiB2YWx1ZT17c2VhcmNoVGVybX0gb25DaGFuZ2U9e2UgPT4gc2V0U2VhcmNoVGVybShlLnRhcmdldC52YWx1ZSl9IC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICB7YWN0aXZlVGFiID09PSAnZGFzaGJvYXJkJyA/ICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTYgdGV4dC1jZW50ZXIgZm9udC1ib2xkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImJnLXdoaXRlIHAtOCByb3VuZGVkLVsyLjVyZW1dIGJvcmRlciBzaGFkb3ctc20gZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgc3BhY2UteS0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0idGV4dC1bMTFweF0gdGV4dC1lbWVyYWxkLTUwMCB1cHBlcmNhc2UgZm9udC1ibGFjayBmb250LW1vbm8gZm9udC1ib2xkIj5PUEVSQVRJTkcgUkVWRU5VRSAoQSk8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9InRleHQtM3hsIGZvbnQtYmxhY2siPntzdGF0cy5yZXYudG9Mb2NhbGVTdHJpbmcoKX3sm5A8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iYmctd2hpdGUgcC04IHJvdW5kZWQtWzIuNXJlbV0gYm9yZGVyIHNoYWRvdy1zbSBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzcGFjZS15LTEgZm9udC1ib2xkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0idGV4dC1bMTFweF0gdGV4dC1yb3NlLTUwMCB1cHBlcmNhc2UgZm9udC1ibGFjayBmb250LW1vbm8gZm9udC1ib2xkIj5PUEVSQVRJTkcgRVhQRU5TRSAoQik8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9InRleHQtM3hsIGZvbnQtYmxhY2siPntzdGF0cy5jb3N0U3VtLnRvTG9jYWxlU3RyaW5nKCl97JuQPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImJnLVsjMTExODI3XSBwLTggcm91bmRlZC1bMi41cmVtXSB0ZXh0LXdoaXRlIHNoYWRvdy14bCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzcGFjZS15LTEgZm9udC1ib2xkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0idGV4dC1bMTFweF0gdGV4dC1pbmRpZ28tMzAwIHVwcGVyY2FzZSBmb250LWJsYWNrIGZvbnQtbW9ubyBmb250LWJvbGQiPkVTVElNQVRFRCBQUk9GSVQgKEEtQik8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9e2B0ZXh0LTN4bCBmb250LWJsYWNrICR7c3RhdHMucHJvZml0ID49IDAgPyAndGV4dC13aGl0ZScgOiAndGV4dC1yb3NlLTQwMCd9YH0+e3N0YXRzLnByb2ZpdC50b0xvY2FsZVN0cmluZygpfeybkDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJiZy13aGl0ZSBwLTggcm91bmRlZC1bM3JlbV0gYm9yZGVyIGJvcmRlci1pbmRpZ28tMTAwIHNoYWRvdy1zbSBzcGFjZS15LTQgZm9udC1ib2xkIG92ZXJmbG93LWhpZGRlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyBib3JkZXItYiBib3JkZXItc2xhdGUtNTAgcGItNCBtYi00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJiZy1pbmRpZ28tNjAwIHAtMi41IHJvdW5kZWQteGwgdGV4dC13aGl0ZSBmb250LWJvbGQgc2hhZG93LWxnIHNoYWRvdy1pbmRpZ28tMTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9Imx1Y2lkZS1hY3Rpdml0eSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPSJ0ZXh0LWxnIGZvbnQtYmxhY2sgdGV4dC1zbGF0ZS04MDAiPuyLpOyLnOqwhCDtmITsnqUg7Jq07JiBIOu2hOyEnSDrs7Tqs6DshJwgKE9wZXJhdGluZyBTdGF0dXMpPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtkeW5hbWljRGFzaGJvYXJkUmVwb3J0fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZ3JpZCBncmlkLWNvbHMtMSBsZzpncmlkLWNvbHMtMTIgZ2FwLTYgZm9udC1ib2xkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImxnOmNvbC1zcGFuLTUgYmctd2hpdGUgcC04IHJvdW5kZWQtWzIuNXJlbV0gYm9yZGVyIHNoYWRvdy1zbSBtaW4taC1bNDAwcHhdIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9InRleHQtYmFzZSBmb250LWJsYWNrIHRleHQtc2xhdGUtODAwIG1iLTYgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgZm9udC1ib2xkIj48aSBjbGFzc05hbWU9Imx1Y2lkZS1waWUtY2hhcnQgdGV4dC1pbmRpZ28tNjAwIj48L2k+IOyatOyYgSDrtoTrpZjrs4Qg7KeA7LacIOu5hOykkTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ic3BhY2UteS00IGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge09iamVjdC5lbnRyaWVzKHN0YXRzLmJyZWFrZG93bikuY29uY2F0KFtbQ0FUX1JFViwgc3RhdHMucmV2XV0pLnNvcnQoKGEsYikgPT4gTWF0aC5hYnMoYlsxXSkgLSBNYXRoLmFicyhhWzFdKSkubWFwKChbY2F0LCB2YWxdKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsID0gT2JqZWN0LnZhbHVlcyhzdGF0cy5icmVha2Rvd24pLnJlZHVjZSgocyx2KT0+cytNYXRoLmFicyh2KSwgMCkgKyBNYXRoLmFicyhzdGF0cy5yZXYpIHx8IDE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBjdCA9IChNYXRoLmFicyh2YWwpIC8gdG90YWwgKiAxMDApLnRvRml4ZWQoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGtleT17Y2F0fSBvbkNsaWNrPXsoKSA9PiBzZXRBY3RpdmVDYXRlZ29yeUZpbHRlcihjYXQpfSBjbGFzc05hbWU9e2BwLTIgcm91bmRlZC14bCBjdXJzb3ItcG9pbnRlciAke2FjdGl2ZUNhdGVnb3J5RmlsdGVyID09PSBjYXQgPyAnYmctaW5kaWdvLTUwIGJvcmRlciBib3JkZXItaW5kaWdvLTEwMCcgOiAnJ31gfT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1bMTFweF0gbWItMSBmb250LWJvbGQiPjxzcGFuPntjYXR9ICh7cGN0fSUpPC9zcGFuPjxzcGFuIGNsYXNzTmFtZT0iZm9udC1ibGFjayI+e3ZhbC50b0xvY2FsZVN0cmluZygpfeybkDwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0idy1mdWxsIGJnLXNsYXRlLTEwMCBoLTEuNSByb3VuZGVkLWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIGZvbnQtYm9sZCI+PGRpdiBjbGFzc05hbWU9ImgtZnVsbCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi03MDAiIHN0eWxlPXt7d2lkdGg6IGAke3BjdH0lYCwgYmFja2dyb3VuZENvbG9yOiBDQVRFR09SWV9DT0xPUlNbY2F0XSB8fCAnIzk0YTNiOCd9fT48L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgb25DbGljaz17KCkgPT4gc2V0QWN0aXZlQ2F0ZWdvcnlGaWx0ZXIoQ0FUX05PTl9PUCl9IGNsYXNzTmFtZT17YHB0LTQgbXQtMiBib3JkZXItdCBjdXJzb3ItcG9pbnRlciAke2FjdGl2ZUNhdGVnb3J5RmlsdGVyID09PSBDQVRfTk9OX09QID8gJ2JnLXNsYXRlLTUwJyA6ICcnfWB9PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1bMTFweF0gZm9udC1ib2xkIGZvbnQtYm9sZCI+PHNwYW4+6riw7YOAIOyImOyngC/snpDsgrA8L3NwYW4+PHNwYW4gY2xhc3NOYW1lPSJmb250LWJsYWNrIj57c3RhdHMubm9uT3BTdW0udG9Mb2NhbGVTdHJpbmcoKX3sm5A8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ibGc6Y29sLXNwYW4tNyBiZy13aGl0ZSBwLTggcm91bmRlZC1bMi41cmVtXSBib3JkZXIgc2hhZG93LXNtIGgtWzY1MHB4XSBmbGV4IGZsZXgtY29sIGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIG1iLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9InRleHQtYmFzZSBmb250LWJsYWNrIHRleHQtc2xhdGUtODAwIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGZvbnQtYm9sZCBmb250LWJvbGQiPjxpIGNsYXNzTmFtZT0ibHVjaWRlLWxpc3QgdGV4dC1pbmRpZ28tNjAwIj48L2k+IOqzhOygleuzhCDsg4HshLgg7KCV7IKwIOuCtOyXrTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2FjdGl2ZUNhdGVnb3J5RmlsdGVyICE9PSAnQWxsJyAmJiA8YnV0dG9uIG9uQ2xpY2s9eygpID0+IHNldEFjdGl2ZUNhdGVnb3J5RmlsdGVyKCdBbGwnKX0gY2xhc3NOYW1lPSJ0ZXh0LXhzIHRleHQtaW5kaWdvLTYwMCBmb250LWJvbGQgZm9udC1ib2xkIj7stIjquLDtmZQ8L2J1dHRvbj59CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4LTEgb3ZlcmZsb3cteS1hdXRvIHByLTIgY3VzdG9tLXNjcm9sbGJhciBzcGFjZS15LTMgZm9udC1ib2xkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Z3JvdXBlZEFjY291bnREYXRhLmxlbmd0aCA9PT0gMCA/IDxkaXYgY2xhc3NOYW1lPSJ0ZXh0LWNlbnRlciBweS0yMCB0ZXh0LXNsYXRlLTQwMCBmb250LWJvbGQiPuuNsOydtO2EsCDsl4bsnYw8L2Rpdj4gOiBncm91cGVkQWNjb3VudERhdGEubWFwKChpLCBpZHgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV0ID0gaS5yb290ID09PSBDQVRfUkVWID8gKGkuaW5jb21lIC0gaS5leHBlbnNlKSA6IChpLmV4cGVuc2UgLSBpLmluY29tZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGtleT17aWR4fSBjbGFzc05hbWU9InRvb2x0aXAtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0idG9vbHRpcC1jb250ZW50IGZvbnQtYm9sZCI+7J6F6riIOiB7aS5pbmNvbWUudG9Mb2NhbGVTdHJpbmcoKX0gLyDstpzquIg6IHtpLmV4cGVuc2UudG9Mb2NhbGVTdHJpbmcoKX08L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHAtMy41IGJnLXdoaXRlIGJvcmRlciBib3JkZXItc2xhdGUtMTAwIHJvdW5kZWQtMnhsIGhvdmVyOnNoYWRvdy1zbSBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSJ0ZXh0LVsxMHB4XSBmb250LW1vbm8gdGV4dC1zbGF0ZS00MDAgZm9udC1ib2xkIj57aS5jb2RlfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0idGV4dC1zbSBmb250LWJvbGQiPntpLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSJ0ZXh0LXNtIGZvbnQtYmxhY2sgZm9udC1ib2xkIj57bmV0LnRvTG9jYWxlU3RyaW5nKCl97JuQPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJiZy13aGl0ZSByb3VuZGVkLVsyLjVyZW1dIGJvcmRlciBib3JkZXItYW1iZXIlMTAwIHNoYWRvdy1zbSBvdmVyZmxvdy1oaWRkZW4gbXQtNiBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0icHgtOCBweS02IGJnLWFtYmVyLTUwLzQwIGJvcmRlci1iIGJvcmRlci1hbWJlci0xMDAgZmxleCBmbGV4LXdyYXAganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBnYXAtNCBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggaXRlbXMtY2VudGVyIGdhcC00IGZvbnQtYm9sZCBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJiZy1hbWJlci0xMDAgcC0zIHJvdW5kZWQtMnhsIHRleHQtYW1iZXItNjAwIGZvbnQtYm9sZCI+PGkgY2xhc3NOYW1lPSJsdWNpZGUtYWxlcnQtdHJpYW5nbGUiPjwvaT48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPSJ0ZXh0LWJhc2UgZm9udC1ibGFjayB0ZXh0LWFtYmVyLTkwMCBmb250LWJvbGQgZm9udC1ib2xkIj7rjbDsnbTthLAg67aI7J287LmYIOygleuwgCDqsoDthqAg67CPIOq1kOyglTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggZ2FwLTIgbWwtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gb25DbGljaz17KCkgPT4geyBzZXRNYXN0ZXJNb2RhbFR5cGUoJ0pBTkdIRU9OJyk7IHNldElzTWFzdGVyTW9kYWxPcGVuKHRydWUpOyB9fSBjbGFzc05hbWU9InB4LTQgcHktMiBiZy13aGl0ZSB0ZXh0LWluZGlnby02MDAgYm9yZGVyIGJvcmRlci1pbmRpZ28tMTAwIHJvdW5kZWQtmGwgdGV4dC14cyBmb250LWJsYWNrIGhvdmVyOmJnLWluZGlnby01MCB0cmFuc2l0aW9uLWFsbCBzaGFkb3ctc20gZm9udC1ib2xkIGZvbnQtYm9sZCI+7J6F7ZeMIOqzhOygle2RnDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uQ2xpY2s9eygpID0+IHsgc2V0TWFzdGVyTW9kYWxUeXBlKCdQVEMnKTsgc2V0SXNNYXN0ZXJNb2RhbE9wZW4odHJ1ZSk7IH19IGNsYXNzTmFtZT0icHgtNCBweS0yIGJnLXdoaXRlIHRleHQtaW5kaWdvLTYwMCBib3JkZXIgYm9yZGVyLWluZGlnby0xMDAgcm91bmRlZC14bCB0ZXh0LXhzIGZvbnQtYmxhY2sgaG92ZXI6YmctaW5kaWdvLTUwIHRyYW5zaXRpb24tYWxsIHNoYWRvdy1zbSBmb250LWJvbGQgZm9udC1ib2xkIj5QVEMg6rOE7KCV7ZGcPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0idGV4dC1bMTFweF0gdGV4dC1hbWJlci03MDAgYmctd2hpdGUgcHgtMyBweS0xIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLWFtYmVyLTEwMCBmb250LW1vbm8gZm9udC1ib2xkIGZvbnQtYm9sZCI+e2ZpbHRlcmVkRGF0YS5maWx0ZXIoZCA9PiBkLnJlY29tbWVuZGF0aW9uKS5sZW5ndGh96rG0IOuwnOqyrDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJvdmVyZmxvdy14LWF1dG8iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT0idy1mdWxsIHRleHQtc20gdGV4dC1sZWZ0IGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3NOYW1lPSJiZy1zbGF0ZS01MCB0ZXh0LXNsYXRlLTQwMCBib3JkZXItYiB1cHBlcmNhc2UgZm9udC1ib2xkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9InAtNSBmb250LWJvbGQiPuy9lOuTnDwvdGg+PHRoIGNsYXNzTmFtZT0icC01IGZvbnQtYm9sZCI+6rGw656Y7J28PC90aD48dGggY2xhc3NOYW1lPSJwLTUgZm9udC1ib2xkIj7tlITroZzsoJ3tirg8L3RoPjx0aCBjbGFzc05hbWU9InAtNSBmb250LWJvbGQiPu2YhOyerCDrqoXsua08L3RoPjx0aCBjbGFzc05hbWU9InAtNSBmb250LWJvbGQiPuyggeyalDwvdGg+PHRoIGNsYXNzTmFtZT0icC01IHRleHQtcmlnaHQgZm9udC1ib2xkIj7quIjslaE8L3RoPjx0aCBjbGFzc05hbWU9InAtNSB0ZXh0LWNlbnRlciBmb250LWJvbGQiPuq1kOyglSDsoIHsmqk8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5IGNsYXNzTmFtZT0iZGl2aWRlLXkgZGl2aWRlLXNsYXRlLTEwMCB0ZXh0LXNsYXRlLTcwMCBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZmlsdGVyZWREYXRhLmZpbHRlcihkID0+IGQucmVjb21tZW5kYXRpb24pLmxlbmd0aCA9PT0gMCA/IDx0cj48dGQgY29sU3Bhbj0iNyIgY2xhc3NOYW1lPSJwLTEwIHRleHQtY2VudGVyIHRleHQtc2xhdGUtNDAwIGZvbnQtYm9sZCI+642w7J207YSwIOyXhuydjDwvdGQ+PC90cj4gOiBmaWx0ZXJlZERhdGEuZmlsdGVyKGQgPT4gZC5yZWNvbW1lbmRhdGlvbikubWFwKChpdGVtKSA9PiAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIga2V5PXtpdGVtLmlkfSBjbGFzc05hbWU9ImhvdmVyOmJnLWFtYmVyLTUwLzIwIHRyYW5zaXRpb24tY29sb3JzIGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT0icC00IGZvbnQtbW9ubyB0ZXh0LXNsYXRlLTQwMCBmb250LWJvbGQiPntpdGVtLmNvZGV9PC90ZD48dGQgY2xhc3NOYW1lPSJwLTQgZm9udC1ib2xkIj57aXRlbS5kYXRlfTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT0icC00IHRydW5jYXRlIG1heC13LVsxMjBweF0gZm9udC1ib2xkIj57aXRlbS5wanR9PC90ZD48dGQgY2xhc3NOYW1lPSJwLTQgZm9udC1ib2xkIj57aXRlbS5uYW1lfTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT0icC00IHRleHQtc2xhdGUtNDAwIGZvbnQtYm9sZCI+e2l0ZW0uZGVzY3JpcHRpb259PC90ZD48dGQgY2xhc3NOYW1lPSJwLTQgdGV4dC1yaWdodCBmb250LWJvbGQiPntNYXRoLm1heChpdGVtLmluY29tZSwgaXRlbS5leHBlbnNlKS50b0xvY2FsZVN0cmluZygpfeybkDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT0icC00IHRleHQtY2VudGVyIGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGdhcC0yIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uQ2xpY2s9eygpID0+IGFwcGx5Q29ycmVjdGlvbihpdGVtLmlkLCBpdGVtLnJlY29tbWVuZGF0aW9uKX0gY2xhc3NOYW1lPSJweC0yIHB5LTEgYmctYW1iZXItMTAwIHRleHQtYW1iZXItNzAwIHJvdW5kZWQgdGV4dC1bMTBweF0gZm9udC1ibGFjayBob3ZlcjpiZy1hbWJlci0yMDAgdHJhbnNpdGlvbi1hbGwgZm9udC1ib2xkIj57aXRlbS5yZWNvbW1lbmRhdGlvbn0g7LaU7LKcPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9Iuy9lOuTnCIgY2xhc3NOYW1lPSJib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCByb3VuZGVkLWxnIHAtMSB3LTE0IHRleHQtY2VudGVyIHRleHQtWzEwcHhdIGZvbnQtYm9sZCBvdXRsaW5lLW5vbmUiIG9uQ2hhbmdlPXsoZSkgPT4gc2V0TWFudWFsSW5wdXRzKHsgLi4ubWFudWFsSW5wdXRzLCBbaXRlbS5pZF06IGUudGFyZ2V0LnZhbHVlIH0pfSAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBhcHBseUNvcnJlY3Rpb24oaXRlbS5pZCwgbWFudWFsSW5wdXRzW2l0ZW0uaWRdKX0gY2xhc3NOYW1lPSJweC0yIHB5LTEgYmctaW5kaWdvLTYwMCB0ZXh0LXdoaXRlIHJvdW5kZWQgdGV4dC1bMTBweF0gZm9udC1ibGFjayBob3ZlcjpiZy1pbmRpZ28tNzAwIHRyYW5zaXRpb24tYWxsIGZvbnQtYm9sZCI+7KCB7JqpPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4KICAgICAgICAgICAgICAgICAgICAgICAgKSA6ICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJiZy13aGl0ZSBwLTggcm91bmRlZC1bMi41cmVtXSBib3JkZXIgc2hhZG93LXNtIHNwYWNlLXktNiBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9InRleHQtbGcgZm9udC1ibGFjayBtYi02IGZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGZvbnQtYm9sZCI+PGkgY2xhc3NOYW1lPSJsdWNpZGUtdHJlbmRpbmctdXAgdGV4dC1lbWVyYWxkLTUwMCI+PC9pPiDquLDsl4Xrs4Qg7Iuk7ZaJIOu2hOyEnSDrpqztj6ztirg8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJiZy1zbGF0ZS01MCByb3VuZGVkLVsycmVtXSBwLTggYm9yZGVyIGJvcmRlci1zbGF0ZS0xMDAgbWItNiBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgbWItNCB0ZXh0LWVtZXJhbGQtNjAwIGZvbnQtYmxhY2sgZm9udC1ib2xkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT0ibHVjaWRlLWJhci1jaGFydC0zIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7ilqAg67aE7ISd6rCAIOqyveyYgSDtmqjsnKgg66as7Y+s7Yq4IChCdWRnZXQgRWZmaWNpZW5jeSBSZXBvcnQpPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2R5bmFtaWNFeGVjdXRpb25SZXBvcnR9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTEyIGdhcC04IGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJsZzpjb2wtc3Bhbi03IGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iYmctd2hpdGUgcm91bmRlZC0yeGwgYm9yZGVyIGJvcmRlci1zbGF0ZS0xMDAgb3ZlcmZsb3ctaGlkZGVuIGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT0idy1mdWxsIHRleHQtc20gdGV4dC1sZWZ0IGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZCBjbGFzc05hbWU9ImJnLXNsYXRlLTEwMCB0ZXh0LXNsYXRlLTQwMCBib3JkZXItYiB0ZXh0LVsxMXB4XSBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPjx0aCBjbGFzc05hbWU9InAtNCBwbC02IGZvbnQtYm9sZCI+7Jq07JiBIOu2hOulmDwvdGg+PHRoIGNsYXNzTmFtZT0icC00IHRleHQtcmlnaHQgZm9udC1ib2xkIj7si6TsoJwg7KeR7ZaJIChBKTwvdGg+PHRoIGNsYXNzTmFtZT0icC00IHRleHQtY2VudGVyIGZvbnQtYm9sZCI+7Iuk7ZaJIOyYiOyCsCAoQik8L3RoPjx0aCBjbGFzc05hbWU9InAtNCB0ZXh0LXJpZ2h0IGZvbnQtYm9sZCI+7KeR7ZaJ66WgICglKTwvdGg+PC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5IGNsYXNzTmFtZT0iZGl2aWRlLXkgZGl2aWRlLXNsYXRlLTEwMCBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHsoKGN1cnJlbnRNb2RlID09PSAnSkFOR0hFT04nKSA/IFtDQVRfUkVWLCBDQVRfQ09OU1QsIENBVF9NRkcsIENBVF9MQUJPUiwgQ0FUX0FETUlOXSA6IFtDQVRfUkVWLCBDQVRfQ09OU1QsIENBVF9BRE1JTl0pLm1hcChjYXQgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdCA9IGNhdCA9PT0gQ0FUX1JFViA/IHN0YXRzLnJldiA6IChzdGF0cy5icmVha2Rvd25bY2F0XSB8fCAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBidWQgPSBidWRnZXRzW2N1cnJlbnRNb2RlXVtjYXR0IHx8IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmF0ZSA9IGJ1ZCA+IDAgPyAoYWN0IC8gYnVkICogMTAwKS50b0ZpeGVkKDEpIDogMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIga2V5PXtjYXR9PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT0icC00IHBsLTYgZm9udC1ibGFjayBmb250LWJvbGQiPntjYXR9PC90ZD48dGQgY2xhc3NOYW1lPSJwLTQgdGV4dC1yaWdodCBmb250LWJvbGQiPnthY3QudG9Mb2NhbGVTdHJpbmcoKX3sm5A8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT0icC00IHRleHQtY2VudGVyIGZvbnQtYm9sZCI+PGlucHV0IHR5cGU9Im51bWJlciIgY2xhc3NOYW1lPSJ3LTMyIGJnLXNsYXRlLTUwIHJvdW5kZWQtbGcgcC0yIHRleHQtcmlnaHQgdGV4dC14cyBvdXRsaW5lLW5vbmUgZm9udC1ib2xkIGZvbnQtYm9sZCIgdmFsdWU9e2J1ZCB8fCAnJ30gb25DaGFuZ2U9e2UgPT4gc2V0QnVkZ2V0cyh7Li4uYnVkZ2V0cywgW2N1cnJlbnRNb2RlXTogey4uLmJ1ZGdldHNbY3VycmVudE1vZGVdLCBbY2F0XTogcGFyc2VGbG9hdChlLnRhcmdldC52YWx1ZSkgfHwgMH19KX0gLz48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT0icC00IHRleHQtcmlnaHQgZm9udC1ibGFjayBmb250LWJvbGQiPntyYXRlfTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImxnOmNvbC1zcGFuLTUgc3BhY2UteS02IGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iaC1bMzUwcHhdIHctZnVsbCByZWxhdGl2ZSBmb250LWJvbGQgZm9udC1ib2xkIj48Y2FudmFzIHJlZj17Y2hhcnRSZWZ9PjwvY2FudmFzPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICApfQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICB7aXNNYXN0ZXJNb2RhbE9wZW4gJiYgKAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZml4ZWQgaW5zZXQtMCBiZy1ibGFjay81MCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB6LVsxMDAwXSBiYWNrZHJvcC1ibHVyLXNtIiBvbkNsaWNrPXsoKSA9PiBzZXRJc01hc3Rlck1vZGFsT3BlbihmYWxzZSl9PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImJnLXdoaXRlIHctOTAlIG1heC13LVs4NTBweF0gbWF4LWgtWzg1dmhdIHJvdW5kZWQtWzJyZW1dIG92ZXJmbG93LWhpZGRlbiBmbGV4IGZsZXgtY29sIHNoYWRvdy0yeGwgZm9udC1ib2xkIiBvbkNsaWNrPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJwLTggYm9yZGVyLWIgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIGJnLXNsYXRlLTUwIGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9InRleHQteGwgZm9udC1ibGFjayB0ZXh0LXNsYXRlLTgwMCBmb250LWJvbGQiPnttYXN0ZXJNb2RhbFR5cGUgPT09ICdKQU5HSEVPTicgPyAi7J6l7ZeM7IKw7JeFIOuniOyKpO2EsCDqs4TsoJXtkZwiIDogIlBUQyDrp4jsiqTthLAg6rOE7KCV7ZGcIn08L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uQ2xpY2s9eygpID0+IHNldElzTWFzdGVyTW9kYWxPcGVuKGZhbHNlKX0gY2xhc3NOYW1lPSJwLTIgaG92ZXI6Ymctc2xhdGUtMjAwIHJvdW5kZWQtZnVsbCB0ZXh0LXNsYXRlLTQwMCBmb250LWJvbGQgZm9udC1ib2xkIj48aSBjbGFzc05hbWU9Imx1Y2lkZS14Ij48L2k+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9InAtNiBvdmVyZmxvdy15LWF1dG8gY3VzdG9tLXNjcm9sbGJhciBmbGV4LTEgZ3JpZCBncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtMyBnYXAtMyBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtPTmplY3QuZW50cmllcyhtYXN0ZXJNb2RhbFR5cGUgPT09ICdKQU5HSEVPTicgPyBNQVNURVJfSkFOR0hFT04gOiBNQVNURVJfUFRDKS5zb3J0KChhLGIpPT5wYXJzZUludChhWzBdKS1wYXJzZUludChiWzBdKSkubWFwKChbaywgdl0pID0+ICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtrfSBjbGFzc05hbWU9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIHAtMiBiZy1zbGF0ZS01MCByb3VuZGVkLWxnIGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSJ0ZXh0LWluZGlnby02MDAgZm9udC1tb25vIHRleHQtWzExcHhdIHctOCBmb250LWJvbGQgZm9udC1ib2xkIj57a308L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSJ0ZXh0LXhzIHRydW5jYXRlIGZvbnQtYm9sZCBmb250LWJvbGQiPnt2fTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0icC02IGJnLXNsYXRlLTUwIGJvcmRlci10IGZsZXgganVzdGlmeS1lbmQgZm9udC1ib2xkIj48YnV0dG9uIG9uQ2xpY2s9eygpID0+IHNldElzTWFzdGVyTW9kYWxPcGVuKGZhbHNlKX0gY2xhc3NOYW1lPSJweC04IHB5LTMgYmctaW5kaWdvLTYwMCB0ZXh0LXdoaXRlIHJvdW5kZWQteGwgZm9udC1ibGFjayBmb250LWJvbGQgZm9udC1ib2xkIj7ri6vquLAPC9idXR0b24+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgKX0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgY29uc3Qgcm9vdCA9IFJlYWN0RE9NLmNyZWF0ZVJvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKSk7CiAgICAgICAgcm9vdC5yZW5kZXIoPEFwcCAvPik7CiAgICA8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==