CiAgPCFET0NUWVBFIGh0bWw CiAgPGh0bWwgbGFuZz0ia28iPgogICAgPGhlYWQ CiAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgogICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0iaW5pdGlhbC1zY2FsZT0xLjAsbWF4aW11bS1zY2FsZT0xLjAsbWluaW11bS1zY2FsZT0xLjAsdXNlci1zY2FsYWJsZT15ZXMsd2lkdGg9ZGV2aWNlLXdpZHRoLGhlaWdodD1kZXZpY2UtaGVpZ2h0IiAvPgogICAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9ImllPWVkZ2UiPgoKICAgICAgCiAgICAgICAgICA8dGl0bGU W uMleq4sOyekOydmCDslaDtlLzroIjthLBd66W8IOq1rOuPhe2VtOyjvOyEuOyalDwvdGl0bGU CiAgICAgICAgICAKICAgICAgICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSLrp6Tso7wg7ZmU7JqU7J28IOygleyYpCwgCuyDneuqheydhCDsgqzrnpHtlZjripQg7J2065Ok7J2EIOychO2VnCDribTsiqTroIjthLAgJ yVoO2UvOugiO2EsCfqsIAg64 F7J6Q64uY7J2EIOywvuyVhOqwkeuLiOuLpC4gCuu5hOq4gOuvuCDrhJjsuZjripQgJ uMleq4sOyekCfwn5C26rCAIO2VnOyjvOydmCDrj5nrrLwg64m07Iqk7JmAIOuPmeusvOuTpOydmCDshozsi53quYzsp4Ag7KCE7ZWp64uI64ukLiDtmZjqsr3qs7wg7IOd7YOcIOydtOyKiOulvCDsmKTrnqvrj5nslYgg7Leo7J6s7ZWcIOyhsO2ZjeyErSDshKDsnoTquLDsnpDqsIAg64 Z66y87JeQIOuMgO2VnCDtmLjquLDsi6zrj4QgJ qzvO2VmSfsnLzroZwg7ZKA7Ja065Oc66a964uI64ukLiAKCvCfkKgg64 Z66y87J2EIOyCrOueke2VmOyLoOuLpOuptCwg7JWg7ZS866CI7YSw7J2YIOq1rOuPheyekOqwgCDrkJjslrTso7zshLjsmpQuIArwn5C5IOq1rOuPhe2VmOyLnOuptCDqs6frsJTroZwg66mU7J287ZWo7JeQIOybsOy7tOugiO2EsOqwgCDrsLDri6zrkKnri4jri6QhCgrwn5CoIOyngOuCnCDslaDtlLzroIjthLAg67O06riwCmh0dHBzOi8vcGFnZS5zdGliZWUuY29tL2FyY2hpdmVzLzEyNjk3MSIgLz4KCSAgICAgICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IlvrjJXquLDsnpDsnZgg7JWg7ZS866CI7YSwXeulvCDqtazrj4XtlbTso7zshLjsmpQsIOuJtOyKpOugiO2EsCwgbmV3c2xldHRlciIgLz4KICAgICAgICAKICAgICAgICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iW uMleq4sOyekOydmCDslaDtlLzroIjthLBd66W8IOq1rOuPhe2VtOyjvOyEuOyalCIvPgogICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSLrp6Tso7wg7ZmU7JqU7J28IOygleyYpCwgCuyDneuqheydhCDsgqzrnpHtlZjripQg7J2065Ok7J2EIOychO2VnCDribTsiqTroIjthLAgJ yVoO2UvOugiO2EsCfqsIAg64 F7J6Q64uY7J2EIOywvuyVhOqwkeuLiOuLpC4gCuu5hOq4gOuvuCDrhJjsuZjripQgJ uMleq4sOyekCfwn5C26rCAIO2VnOyjvOydmCDrj5nrrLwg64m07Iqk7JmAIOuPmeusvOuTpOydmCDshozsi53quYzsp4Ag7KCE7ZWp64uI64ukLiDtmZjqsr3qs7wg7IOd7YOcIOydtOyKiOulvCDsmKTrnqvrj5nslYgg7Leo7J6s7ZWcIOyhsO2ZjeyErSDshKDsnoTquLDsnpDqsIAg64 Z66y87JeQIOuMgO2VnCDtmLjquLDsi6zrj4QgJ qzvO2VmSfsnLzroZwg7ZKA7Ja065Oc66a964uI64ukLiAKCvCfkKgg64 Z66y87J2EIOyCrOueke2VmOyLoOuLpOuptCwg7JWg7ZS866CI7YSw7J2YIOq1rOuPheyekOqwgCDrkJjslrTso7zshLjsmpQuIArwn5C5IOq1rOuPhe2VmOyLnOuptCDqs6frsJTroZwg66mU7J287ZWo7JeQIOybsOy7tOugiO2EsOqwgCDrsLDri6zrkKnri4jri6QhCgrwn5CoIOyngOuCnCDslaDtlLzroIjthLAg67O06riwCmh0dHBzOi8vcGFnZS5zdGliZWUuY29tL2FyY2hpdmVzLzEyNjk3MSIvPgogICAgICAgICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJodHRwczovL3MzLmFwLW5vcnRoZWFzdC0yLmFtYXpvbmF3cy5jb20vaW1nLnN0aWJlZS5jb20vMzAzNjdfbGlzdF8xMjY5NzFfc3Vic2NyaXB0aW9uc19oZWFkZXJfaW1hZ2UuanBnP3Y9MTYyNTk4NjQ1MiIvPgogICAgICAgIAogICAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnkiPgogICAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxODB4MTgwIiBocmVmPSIvc3RhdGljL2FwcGxlLXRvdWNoLWljb24ucG5nIj4KICAgICAgPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS9wbmciIHNpemVzPSIzMngzMiIgaHJlZj0iL3N0YXRpYy9mYXZpY29uLTMyeDMyLnBuZyI CiAgICAgIDxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMTZ4MTYiIGhyZWY9Ii9zdGF0aWMvZmF2aWNvbi0xNngxNi5wbmciPgogICAgICA8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iI2RhNTMyYyI CiAgICAgIDxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjZmZmZmZmIj4KICAgICAgPGxpbmsgaHJlZj0iL3N0YXRpYy9jc3MvMTIyLmFhYmMyYmM3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgogICAgICA8bWV0YSBuYW1lPSJuYXZlci1zaXRlLXZlcmlmaWNhdGlvbiIgY29udGVudD0iNzIyNTNkYWNiOThmNTZhYzczZjQ0YThjZjhiNWYxMmRiMzhiYzg2MSIgLz4KCiAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAoZnVuY3Rpb24gKGYsIGIpIHsgaWYgKCFiLl9fU1YpIHsgdmFyIGUsIGcsIGksIGg7IHdpbmRvdy5taXhwYW5lbCA9IGI7IGIuX2kgPSBbXTsgYi5pbml0ID0gZnVuY3Rpb24gKGUsIGYsIGMpIHsgZnVuY3Rpb24gZyhhLCBkKSB7IHZhciBiID0gZC5zcGxpdCgiLiIpOyAyID09IGIubGVuZ3RoICYmICgoYSA9IGFbYlswXV0pLCAoZCA9IGJbMV0pKTsgYVtkXSA9IGZ1bmN0aW9uICgpIHsgYS5wdXNoKFtkXS5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAwKSkpOyB9OyB9IHZhciBhID0gYjsgInVuZGVmaW5lZCIgIT09IHR5cGVvZiBjID8gKGEgPSBiW2NdID0gW10pIDogKGMgPSAibWl4cGFuZWwiKTsgYS5wZW9wbGUgPSBhLnBlb3BsZSB8fCBbXTsgYS50b1N0cmluZyA9IGZ1bmN0aW9uIChhKSB7IHZhciBkID0gIm1peHBhbmVsIjsgIm1peHBhbmVsIiAhPT0gYyAmJiAoZCArPSAiLiIgKyBjKTsgYSB8fCAoZCArPSAiIChzdHViKSIpOyByZXR1cm4gZDsgfTsgYS5wZW9wbGUudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBhLnRvU3RyaW5nKDEpICsgIi5wZW9wbGUgKHN0dWIpIjsgfTsgaSA9ICJkaXNhYmxlIHRpbWVfZXZlbnQgdHJhY2sgdHJhY2tfcGFnZXZpZXcgdHJhY2tfbGlua3MgdHJhY2tfZm9ybXMgdHJhY2tfd2l0aF9ncm91cHMgYWRkX2dyb3VwIHNldF9ncm91cCByZW1vdmVfZ3JvdXAgcmVnaXN0ZXIgcmVnaXN0ZXJfb25jZSBhbGlhcyB1bnJlZ2lzdGVyIGlkZW50aWZ5IG5hbWVfdGFnIHNldF9jb25maWcgcmVzZXQgb3B0X2luX3RyYWNraW5nIG9wdF9vdXRfdHJhY2tpbmcgaGFzX29wdGVkX2luX3RyYWNraW5nIGhhc19vcHRlZF9vdXRfdHJhY2tpbmcgY2xlYXJfb3B0X2luX291dF90cmFja2luZyBzdGFydF9iYXRjaF9zZW5kZXJzIHBlb3BsZS5zZXQgcGVvcGxlLnNldF9vbmNlIHBlb3BsZS51bnNldCBwZW9wbGUuaW5jcmVtZW50IHBlb3BsZS5hcHBlbmQgcGVvcGxlLnVuaW9uIHBlb3BsZS50cmFja19jaGFyZ2UgcGVvcGxlLmNsZWFyX2NoYXJnZXMgcGVvcGxlLmRlbGV0ZV91c2VyIHBlb3BsZS5yZW1vdmUiLnNwbGl0KCIgIik7IGZvciAoaCA9IDA7IGggPCBpLmxlbmd0aDsgaCsrKSBnKGEsIGlbaF0pOyB2YXIgaiA9ICJzZXQgc2V0X29uY2UgdW5pb24gdW5zZXQgcmVtb3ZlIGRlbGV0ZSIuc3BsaXQoIiAiKTsgYS5nZXRfZ3JvdXAgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGIoYykgeyBkW2NdID0gZnVuY3Rpb24gKCkgeyBjYWxsMl9hcmdzID0gYXJndW1lbnRzOyBjYWxsMiA9IFtjXS5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoY2FsbDJfYXJncywgMCkpOyBhLnB1c2goW2UsIGNhbGwyXSk7IH07IH0gZm9yICh2YXIgZCA9IHt9LCBlID0gWyJnZXRfZ3JvdXAiXS5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAwKSksIGMgPSAwOyBjIDwgai5sZW5ndGg7IGMrKykgYihqW2NdKTsgcmV0dXJuIGQ7IH07IGIuX2kucHVzaChbZSwgZiwgY10pOyB9OyBiLl9fU1YgPSAxLjI7IGUgPSBmLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOyBlLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsgZS5hc3luYyA9ICEwOyBlLnNyYyA9ICJ1bmRlZmluZWQiICE9PSB0eXBlb2YgTUlYUEFORUxfQ1VTVE9NX0xJQl9VUkwgPyBNSVhQQU5FTF9DVVNUT01fTElCX1VSTCA6ICJmaWxlOiIgPT09IGYubG9jYXRpb24ucHJvdG9jb2wgJiYgIi8vY2RuLm14cG5sLmNvbS9saWJzL21peHBhbmVsLTItbGF0ZXN0Lm1pbi5qcyIubWF0Y2goIl5cL1wvIikgPyAiaHR0cHM6Ly9jZG4ubXhwbmwuY29tL2xpYnMvbWl4cGFuZWwtMi1sYXRlc3QubWluLmpzIiA6ICIvL2Nkbi5teHBubC5jb20vbGlicy9taXhwYW5lbC0yLWxhdGVzdC5taW4uanMiOyBnID0gZi5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07IGcucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSwgZyk7IH0gfSkoZG9jdW1lbnQsIHdpbmRvdy5taXhwYW5lbCB8fCBbXSk7CiAgICAgICAgdmFyIGlzRGV2ZWxvcG1lbnQgPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUudG9Mb3dlckNhc2UoKS5zZWFyY2goJ3FhLXBhZ2Uuc3RpYmVlLmNvbScpID49IDAKICAgICAgICBpZiAoaXNEZXZlbG9wbWVudCkgewogICAgICAgICAgbWl4cGFuZWwuaW5pdCgnOWUzMGMxM2ZlNzY0YTg1YzVlNjRjZDdjMmI3YjljYjAnLCB7IGRlYnVnOiB0cnVlLCBwZXJzaXN0ZW5jZTogJ2xvY2FsU3RvcmFnZScgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIG1peHBhbmVsLmluaXQoJzNmYzMxOGU5MDE1MmRlNDc0OGU4ZjZlZDViNDBhMGE2JywgeyBkZWJ1ZzogZmFsc2UsIHBlcnNpc3RlbmNlOiAnbG9jYWxTdG9yYWdlJyB9KTsKICAgICAgICB9CiAgICAgIDwvc2NyaXB0PgogICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI CiAgICAgIChmdW5jdGlvbihlLHQpe3ZhciBuPWUuYW1wbGl0dWRlfHx7X3E6W10sX2lxOnt9fTt2YXIgcj10LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpCiAgICAgIDtyLnR5cGU9InRleHQvamF2YXNjcmlwdCIKICAgICAgO3IuaW50ZWdyaXR5PSJzaGEzODQtdHpjYWFDSDUrS1hENHNHYURvemV2Nm9FbFFoc1ZmYkp2ZGkzLy9jMll2YlkwMkxyTmxicEdkdDNXcTRyV29uUyIKICAgICAgO3IuY3Jvc3NPcmlnaW49ImFub255bW91cyI7ci5hc3luYz10cnVlCiAgICAgIDtyLnNyYz0iaHR0cHM6Ly9jZG4uYW1wbGl0dWRlLmNvbS9saWJzL2FtcGxpdHVkZS04LjUuMC1taW4uZ3ouanMiCiAgICAgIDtyLm9ubG9hZD1mdW5jdGlvbigpe2lmKCFlLmFtcGxpdHVkZS5ydW5RdWV1ZWRGdW5jdGlvbnMpewogICAgICBjb25zb2xlLmxvZygiW0FtcGxpdHVkZV0gRXJyb3I6IGNvdWxkIG5vdCBsb2FkIFNESyIpfX0KICAgICAgO3ZhciBpPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2kucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocixpKQogICAgICA7ZnVuY3Rpb24gcyhlLHQpe2UucHJvdG90eXBlW3RdPWZ1bmN0aW9uKCl7CiAgICAgIHRoaXMuX3EucHVzaChbdF0uY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKSkpO3JldHVybiB0aGlzfX0KICAgICAgdmFyIG89ZnVuY3Rpb24oKXt0aGlzLl9xPVtdO3JldHVybiB0aGlzfQogICAgICA7dmFyIGE9WyJhZGQiLCJhcHBlbmQiLCJjbGVhckFsbCIsInByZXBlbmQiLCJzZXQiLCJzZXRPbmNlIiwidW5zZXQiLCJwcmVJbnNlcnQiLCJwb3N0SW5zZXJ0IiwicmVtb3ZlIl0KICAgICAgO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKXtzKG8sYVtjXSl9bi5JZGVudGlmeT1vO3ZhciB1PWZ1bmN0aW9uKCl7dGhpcy5fcT1bXQogICAgICA7cmV0dXJuIHRoaXN9CiAgICAgIDt2YXIgbD1bInNldFByb2R1Y3RJZCIsInNldFF1YW50aXR5Iiwic2V0UHJpY2UiLCJzZXRSZXZlbnVlVHlwZSIsInNldEV2ZW50UHJvcGVydGllcyJdCiAgICAgIDtmb3IodmFyIHA9MDtwPGwubGVuZ3RoO3ArKyl7cyh1LGxbcF0pfW4uUmV2ZW51ZT11CiAgICAgIDt2YXIgZD1bImluaXQiLCJsb2dFdmVudCIsImxvZ1JldmVudWUiLCJzZXRVc2VySWQiLCJzZXRVc2VyUHJvcGVydGllcyIsInNldE9wdE91dCIsInNldFZlcnNpb25OYW1lIiwic2V0RG9tYWluIiwic2V0RGV2aWNlSWQiLCJlbmFibGVUcmFja2luZyIsInNldEdsb2JhbFVzZXJQcm9wZXJ0aWVzIiwiaWRlbnRpZnkiLCJjbGVhclVzZXJQcm9wZXJ0aWVzIiwic2V0R3JvdXAiLCJsb2dSZXZlbnVlVjIiLCJyZWdlbmVyYXRlRGV2aWNlSWQiLCJncm91cElkZW50aWZ5Iiwib25Jbml0IiwibG9nRXZlbnRXaXRoVGltZXN0YW1wIiwibG9nRXZlbnRXaXRoR3JvdXBzIiwic2V0U2Vzc2lvbklkIiwicmVzZXRTZXNzaW9uSWQiXQogICAgICA7ZnVuY3Rpb24gdihlKXtmdW5jdGlvbiB0KHQpe2VbdF09ZnVuY3Rpb24oKXsKICAgICAgZS5fcS5wdXNoKFt0XS5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApKSl9fQogICAgICBmb3IodmFyIG49MDtuPGQubGVuZ3RoO24rKyl7dChkW25dKX19dihuKTtuLmdldEluc3RhbmNlPWZ1bmN0aW9uKGUpewogICAgICBlPSghZXx8ZS5sZW5ndGg9PT0wPyIkZGVmYXVsdF9pbnN0YW5jZSI6ZSkudG9Mb3dlckNhc2UoKQogICAgICA7aWYoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLl9pcSxlKSl7bi5faXFbZV09e19xOltdfTt2KG4uX2lxW2VdKQogICAgICB9cmV0dXJuIG4uX2lxW2VdfTtlLmFtcGxpdHVkZT1ufSkod2luZG93LGRvY3VtZW50KTsKICAgIAogICAgICBhbXBsaXR1ZGUuZ2V0SW5zdGFuY2UoKS5pbml0KCI2OGUwZjRhZWIwMDI2NGEzZDA2MmViZWMwYTYyNzAwNCIsIG51bGwsIHsKICAgICAgICBzYXZlRXZlbnRzOiB0cnVlLAogICAgICAgIGluY2x1ZGVVdG06IHRydWUsCiAgICAgICAgaW5jbHVkZVJlZmVycmVyOiB0cnVlLAogICAgICAgIGluY2x1ZGVnY2xpZDogdHJ1ZSwKICAgICAgfSk7CiAgICA8L3NjcmlwdD4KICAgIDwhLS0gRmFjZWJvb2sgUGl4ZWwgQ29kZSAtLT4KICAgIDxzY3JpcHQ CiAgICAhZnVuY3Rpb24oZixiLGUsdixuLHQscykKICAgIHtpZihmLmZicSlyZXR1cm47bj1mLmZicT1mdW5jdGlvbigpe24uY2FsbE1ldGhvZD8KICAgIG4uY2FsbE1ldGhvZC5hcHBseShuLGFyZ3VtZW50cyk6bi5xdWV1ZS5wdXNoKGFyZ3VtZW50cyl9OwogICAgaWYoIWYuX2ZicSlmLl9mYnE9bjtuLnB1c2g9bjtuLmxvYWRlZD0hMDtuLnZlcnNpb249JzIuMCc7CiAgICBuLnF1ZXVlPVtdO3Q9Yi5jcmVhdGVFbGVtZW50KGUpO3QuYXN5bmM9ITA7CiAgICB0LnNyYz12O3M9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShlKVswXTsKICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCxzKX0od2luZG93LCBkb2N1bWVudCwnc2NyaXB0JywKICAgICdodHRwczovL2Nvbm5lY3QuZmFjZWJvb2submV0L2VuX1VTL2ZiZXZlbnRzLmpzJyk7CiAgICBmYnEoJ2luaXQnLCAnOTM3MTI4NzMzODIyMjgxJyk7CiAgICBmYnEoJ3RyYWNrJywgJ1BhZ2VWaWV3Jyk7CiAgICA8L3NjcmlwdD4KICAgIDxub3NjcmlwdD48aW1nIGhlaWdodD0iMSIgd2lkdGg9IjEiIHN0eWxlPSJkaXNwbGF5Om5vbmUiCiAgICBzcmM9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS90cj9pZD05MzcxMjg3MzM4MjIyODEmZXY9UGFnZVZpZXcmbm9zY3JpcHQ9MSIKICAgIC8 PC9ub3NjcmlwdD4KICAgIDwhLS0gRW5kIEZhY2Vib29rIFBpeGVsIENvZGUgLS0 CiAgICAgIAogICAgCiAgICA8L2hlYWQ CiAgICA8Ym9keT4KICAgIDxub3NjcmlwdD5Zb3UgbmVlZCB0byBlbmFibGUgSmF2YVNjcmlwdCB0byBydW4gdGhpcyBhcHAuPC9ub3NjcmlwdD4KICAgIDxkaXYgaWQ9InJvb3QiPgogICAgCiAgICA8L2Rpdj4KICAgIAogICAgPHNjcmlwdCBzcmM9Ii9zdGF0aWMvanMvcnVudGltZS1tYWluLjIyMGU1ZGE5LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIvc3RhdGljL2pzLzEyMi5jaHVuay5qcyI PC9zY3JpcHQ CiAgICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9qcy9tYWluLmZlODM5ZjkwLmpzIj48L3NjcmlwdD4KICAgIDwvYm9keT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL25zcC5wYXkubmF2ZXIuY29tL3Nkay9qcy9uYXZlcnBheS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTEuMTIuNC5taW4uanMiID48L3NjcmlwdD4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vY2RuLmlhbXBvcnQua3IvdjEvaWFtcG9ydC5qcyI PC9zY3JpcHQ CiAgICA8c2NyaXB0PgogICAgICBJTVAuaW5pdCgnaW1wMjcyODc5NTcnKTsKICAgIDwvc2NyaXB0PgogICAgPG5vc2NyaXB0PgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jLnBheXBhbC5jb20vdjEvci9kL2IvbnM/Zj1SSVNLX1NFU1NJT05fQ09SUkVMQVRJT05fSUQmcz1TT1VSQ0VfSURFTlRJRklFUiZqcz0wJnI9MSIgLz4KICAgIDwvbm9zY3JpcHQ CiAgPC9odG1sPgogIAogIAogIA==