ZGlmZiAtLWdpdCBhL19wcm9qZWN0Q29tbW9uLnBocCBiL19wcm9qZWN0Q29tbW9uLnBocApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGZlMDJjOS4uMDAwMDAwMAotLS0gYS9fcHJvamVjdENvbW1vbi5waHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi08P3BocAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIENvcHlyaWdodCAoYykgMjAxNCBFY2xpcHNlIEZvdW5kYXRpb24gYW5kIG90aGVycy4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly9lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAqCi0gKiBDb250cmlidXRvcnM6Ci0gKiAgICBDaHJpc3RvcGhlciBHdWluZG9uIChFY2xpcHNlIEZvdW5kYXRpb24pIC0gSW5pdGlhbCBpbXBsZW1lbnRhdGlvbgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSAgIyBTZXQgdGhlIHRoZW1lIGZvciB5b3VyIHByb2plY3QncyB3ZWIgcGFnZXMuCi0gICMgU2VlIHRoZSBDb21taXR0ZXIgVG9vbHMgIlBob2VuaXgiIHNlY2lvbiBpbiB0aGUgSG93IERvIEk/IGZvciBsaXN0IG9mIHRoZW1lcwotICAjIGh0dHBzOi8vZGV2LmVjbGlwc2Uub3JnL2NvbW1pdHRlcnMvCi0gICR0aGVtZSA9ICJzb2xzdGljZSI7Ci0KLSAgIyBEZWZpbmUgeW91ciBwcm9qZWN0LXdpZGUgTmF2IGJhcnMgaGVyZS4KLSAgIyBGb3JtYXQgaXMgTGluayB0ZXh0LCBsaW5rIFVSTCAoY2FuIGJlIGh0dHA6Ly93d3cuc29tZW90aGVyc2l0ZS5jb20vKSwgdGFyZ2V0IChfc2VsZiwgX2JsYW5rKS4KLSAgJE5hdi0+YWRkTmF2U2VwYXJhdG9yKCJTb2xzdGljZSIsICAgIi9lY2xpcHNlLm9yZy1jb21tb24vdGhlbWVzL3NvbHN0aWNlL2RvY3MvIik7Ci0gICROYXYtPmFkZEN1c3RvbU5hdigiRG9jdW1lbnRhdGlvbiIsICIvZWNsaXBzZS5vcmctY29tbW9uL3RoZW1lcy9zb2xzdGljZS9kb2NzLyIsICJfc2VsZiIsIE5VTEwpOwotICAkTmF2LT5hZGRDdXN0b21OYXYoIlNvdXJjZSBjb2RlIiwgImh0dHA6Ly9naXQuZWNsaXBzZS5vcmcvYy93d3cuZWNsaXBzZS5vcmcvZWNsaXBzZS5vcmctY29tbW9uLmdpdC90cmVlL3RoZW1lcy9zb2xzdGljZS8iLCAiX3NlbGYiLCBOVUxMKTsKLSAgJE5hdi0+YWRkQ3VzdG9tTmF2KCJVc2luZyBQaG9lbml4IiwgImh0dHA6Ly93aWtpLmVjbGlwc2Uub3JnL1VzaW5nX1Bob2VuaXgiLCAiX3NlbGYiLCBOVUxMKTsKZGlmZiAtLWdpdCBhL2Nzcy9ib290c3RyYXAubWluLmNzcyBiL2Nzcy9ib290c3RyYXAubWluLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDM5MDVlCi0tLSAvZGV2L251bGwKKysrIGIvY3NzL2Jvb3RzdHJhcC5taW4uY3NzCkBAIC0wLDAgKzEsNiBAQAorLyohCisgKiBCb290c3RyYXAgdjMuMy43IChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSkKKyAqIENvcHlyaWdodCAyMDExLTIwMTYgVHdpdHRlciwgSW5jLgorICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSkKKyAqLy8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9odG1se2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e21hcmdpbjowfWFydGljbGUsYXNpZGUsZGV0YWlscyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLGhncm91cCxtYWluLG1lbnUsbmF2LHNlY3Rpb24sc3VtbWFyeXtkaXNwbGF5OmJsb2NrfWF1ZGlvLGNhbnZhcyxwcm9ncmVzcyx2aWRlb3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1hdWRpbzpub3QoW2NvbnRyb2xzXSl7ZGlzcGxheTpub25lO2hlaWdodDowfVtoaWRkZW5dLHRlbXBsYXRle2Rpc3BsYXk6bm9uZX1he2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9YTphY3RpdmUsYTpob3ZlcntvdXRsaW5lOjB9YWJiclt0aXRsZV17Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkfWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OjcwMH1kZm57Zm9udC1zdHlsZTppdGFsaWN9aDF7bWFyZ2luOi42N2VtIDA7Zm9udC1zaXplOjJlbX1tYXJre2NvbG9yOiMwMDA7YmFja2dyb3VuZDojZmYwfXNtYWxse2ZvbnQtc2l6ZTo4MCV9c3ViLHN1cHtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3Vwe3RvcDotLjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1pbWd7Ym9yZGVyOjB9c3ZnOm5vdCg6cm9vdCl7b3ZlcmZsb3c6aGlkZGVufWZpZ3VyZXttYXJnaW46MWVtIDQwcHh9aHJ7aGVpZ2h0OjA7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94fXByZXtvdmVyZmxvdzphdXRvfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1idXR0b24saW5wdXQsb3B0Z3JvdXAsc2VsZWN0LHRleHRhcmVhe21hcmdpbjowO2ZvbnQ6aW5oZXJpdDtjb2xvcjppbmhlcml0fWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saHRtbCBpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOnBvaW50ZXJ9YnV0dG9uW2Rpc2FibGVkXSxodG1sIGlucHV0W2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJ7cGFkZGluZzowO2JvcmRlcjowfWlucHV0e2xpbmUtaGVpZ2h0Om5vcm1hbH1pbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPXJhZGlvXXstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfWlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99aW5wdXRbdHlwZT1zZWFyY2hdey13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkfWlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixpbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9ZmllbGRzZXR7cGFkZGluZzouMzVlbSAuNjI1ZW0gLjc1ZW07bWFyZ2luOjAgMnB4O2JvcmRlcjoxcHggc29saWQgc2lsdmVyfWxlZ2VuZHtwYWRkaW5nOjA7Ym9yZGVyOjB9dGV4dGFyZWF7b3ZlcmZsb3c6YXV0b31vcHRncm91cHtmb250LXdlaWdodDo3MDB9dGFibGV7Ym9yZGVyLXNwYWNpbmc6MDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9dGQsdGh7cGFkZGluZzowfS8qISBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MgKi9AbWVkaWEgcHJpbnR7Kiw6YWZ0ZXIsOmJlZm9yZXtjb2xvcjojMDAwIWltcG9ydGFudDt0ZXh0LXNoYWRvdzpub25lIWltcG9ydGFudDtiYWNrZ3JvdW5kOjAgMCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9YSxhOnZpc2l0ZWR7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1hW2hyZWZdOmFmdGVye2NvbnRlbnQ6IiAoIiBhdHRyKGhyZWYpICIpIn1hYmJyW3RpdGxlXTphZnRlcntjb250ZW50OiIgKCIgYXR0cih0aXRsZSkgIikifWFbaHJlZl49ImphdmFzY3JpcHQ6Il06YWZ0ZXIsYVtocmVmXj0iIyJdOmFmdGVye2NvbnRlbnQ6IiJ9YmxvY2txdW90ZSxwcmV7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O3BhZ2UtYnJlYWstaW5zaWRlOmF2b2lkfXRoZWFke2Rpc3BsYXk6dGFibGUtaGVhZGVyLWdyb3VwfWltZyx0cntwYWdlLWJyZWFrLWluc2lkZTphdm9pZH1pbWd7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50fWgyLGgzLHB7b3JwaGFuczozO3dpZG93czozfWgyLGgze3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWR9Lm5hdmJhcntkaXNwbGF5Om5vbmV9LmJ0bj4uY2FyZXQsLmRyb3B1cD4uYnRuPi5jYXJldHtib3JkZXItdG9wLWNvbG9yOiMwMDAhaW1wb3J0YW50fS5sYWJlbHtib3JkZXI6MXB4IHNvbGlkICMwMDB9LnRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZSFpbXBvcnRhbnR9LnRhYmxlIHRkLC50YWJsZSB0aHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS50YWJsZS1ib3JkZXJlZCB0ZCwudGFibGUtYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGRkIWltcG9ydGFudH19QGZvbnQtZmFjZXtmb250LWZhbWlseTonR2x5cGhpY29ucyBIYWxmbGluZ3MnO3NyYzp1cmwoLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3QpO3NyYzp1cmwoLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3Q/I2llZml4KSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKC4uL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZjIpIGZvcm1hdCgnd29mZjInKSx1cmwoLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmKSBmb3JtYXQoJ3dvZmYnKSx1cmwoLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5zdmcjZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyKSBmb3JtYXQoJ3N2ZycpfS5nbHlwaGljb257cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweDtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTonR2x5cGhpY29ucyBIYWxmbGluZ3MnO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5nbHlwaGljb24tYXN0ZXJpc2s6YmVmb3Jle2NvbnRlbnQ6IlwwMDJhIn0uZ2x5cGhpY29uLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlwwMDJiIn0uZ2x5cGhpY29uLWV1cjpiZWZvcmUsLmdseXBoaWNvbi1ldXJvOmJlZm9yZXtjb250ZW50OiJcMjBhYyJ9LmdseXBoaWNvbi1taW51czpiZWZvcmV7Y29udGVudDoiXDIyMTIifS5nbHlwaGljb24tY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlwyNjAxIn0uZ2x5cGhpY29uLWVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcMjcwOSJ9LmdseXBoaWNvbi1wZW5jaWw6YmVmb3Jle2NvbnRlbnQ6IlwyNzBmIn0uZ2x5cGhpY29uLWdsYXNzOmJlZm9yZXtjb250ZW50OiJcZTAwMSJ9LmdseXBoaWNvbi1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGUwMDIifS5nbHlwaGljb24tc2VhcmNoOmJlZm9yZXtjb250ZW50OiJcZTAwMyJ9LmdseXBoaWNvbi1oZWFydDpiZWZvcmV7Y29udGVudDoiXGUwMDUifS5nbHlwaGljb24tc3RhcjpiZWZvcmV7Y29udGVudDoiXGUwMDYifS5nbHlwaGljb24tc3Rhci1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGUwMDcifS5nbHlwaGljb24tdXNlcjpiZWZvcmV7Y29udGVudDoiXGUwMDgifS5nbHlwaGljb24tZmlsbTpiZWZvcmV7Y29udGVudDoiXGUwMDkifS5nbHlwaGljb24tdGgtbGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDEwIn0uZ2x5cGhpY29uLXRoOmJlZm9yZXtjb250ZW50OiJcZTAxMSJ9LmdseXBoaWNvbi10aC1saXN0OmJlZm9yZXtjb250ZW50OiJcZTAxMiJ9LmdseXBoaWNvbi1vazpiZWZvcmV7Y29udGVudDoiXGUwMTMifS5nbHlwaGljb24tcmVtb3ZlOmJlZm9yZXtjb250ZW50OiJcZTAxNCJ9LmdseXBoaWNvbi16b29tLWluOmJlZm9yZXtjb250ZW50OiJcZTAxNSJ9LmdseXBoaWNvbi16b29tLW91dDpiZWZvcmV7Y29udGVudDoiXGUwMTYifS5nbHlwaGljb24tb2ZmOmJlZm9yZXtjb250ZW50OiJcZTAxNyJ9LmdseXBoaWNvbi1zaWduYWw6YmVmb3Jle2NvbnRlbnQ6IlxlMDE4In0uZ2x5cGhpY29uLWNvZzpiZWZvcmV7Y29udGVudDoiXGUwMTkifS5nbHlwaGljb24tdHJhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDIwIn0uZ2x5cGhpY29uLWhvbWU6YmVmb3Jle2NvbnRlbnQ6IlxlMDIxIn0uZ2x5cGhpY29uLWZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDIyIn0uZ2x5cGhpY29uLXRpbWU6YmVmb3Jle2NvbnRlbnQ6IlxlMDIzIn0uZ2x5cGhpY29uLXJvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDI0In0uZ2x5cGhpY29uLWRvd25sb2FkLWFsdDpiZWZvcmV7Y29udGVudDoiXGUwMjUifS5nbHlwaGljb24tZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDI2In0uZ2x5cGhpY29uLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGUwMjcifS5nbHlwaGljb24taW5ib3g6YmVmb3Jle2NvbnRlbnQ6IlxlMDI4In0uZ2x5cGhpY29uLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTAyOSJ9LmdseXBoaWNvbi1yZXBlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDMwIn0uZ2x5cGhpY29uLXJlZnJlc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDMxIn0uZ2x5cGhpY29uLWxpc3QtYWx0OmJlZm9yZXtjb250ZW50OiJcZTAzMiJ9LmdseXBoaWNvbi1sb2NrOmJlZm9yZXtjb250ZW50OiJcZTAzMyJ9LmdseXBoaWNvbi1mbGFnOmJlZm9yZXtjb250ZW50OiJcZTAzNCJ9LmdseXBoaWNvbi1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZTAzNSJ9LmdseXBoaWNvbi12b2x1bWUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZTAzNiJ9LmdseXBoaWNvbi12b2x1bWUtZG93bjpiZWZvcmV7Y29udGVudDoiXGUwMzcifS5nbHlwaGljb24tdm9sdW1lLXVwOmJlZm9yZXtjb250ZW50OiJcZTAzOCJ9LmdseXBoaWNvbi1xcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDM5In0uZ2x5cGhpY29uLWJhcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDQwIn0uZ2x5cGhpY29uLXRhZzpiZWZvcmV7Y29udGVudDoiXGUwNDEifS5nbHlwaGljb24tdGFnczpiZWZvcmV7Y29udGVudDoiXGUwNDIifS5nbHlwaGljb24tYm9vazpiZWZvcmV7Y29udGVudDoiXGUwNDMifS5nbHlwaGljb24tYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ0In0uZ2x5cGhpY29uLXByaW50OmJlZm9yZXtjb250ZW50OiJcZTA0NSJ9LmdseXBoaWNvbi1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ2In0uZ2x5cGhpY29uLWZvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ3In0uZ2x5cGhpY29uLWJvbGQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ4In0uZ2x5cGhpY29uLWl0YWxpYzpiZWZvcmV7Y29udGVudDoiXGUwNDkifS5nbHlwaGljb24tdGV4dC1oZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDUwIn0uZ2x5cGhpY29uLXRleHQtd2lkdGg6YmVmb3Jle2NvbnRlbnQ6IlxlMDUxIn0uZ2x5cGhpY29uLWFsaWduLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDUyIn0uZ2x5cGhpY29uLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGUwNTMifS5nbHlwaGljb24tYWxpZ24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDU0In0uZ2x5cGhpY29uLWFsaWduLWp1c3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxlMDU1In0uZ2x5cGhpY29uLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDU2In0uZ2x5cGhpY29uLWluZGVudC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTA1NyJ9LmdseXBoaWNvbi1pbmRlbnQtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDU4In0uZ2x5cGhpY29uLWZhY2V0aW1lLXZpZGVvOmJlZm9yZXtjb250ZW50OiJcZTA1OSJ9LmdseXBoaWNvbi1waWN0dXJlOmJlZm9yZXtjb250ZW50OiJcZTA2MCJ9LmdseXBoaWNvbi1tYXAtbWFya2VyOmJlZm9yZXtjb250ZW50OiJcZTA2MiJ9LmdseXBoaWNvbi1hZGp1c3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDYzIn0uZ2x5cGhpY29uLXRpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDY0In0uZ2x5cGhpY29uLWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDY1In0uZ2x5cGhpY29uLXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZTA2NiJ9LmdseXBoaWNvbi1jaGVjazpiZWZvcmV7Y29udGVudDoiXGUwNjcifS5nbHlwaGljb24tbW92ZTpiZWZvcmV7Y29udGVudDoiXGUwNjgifS5nbHlwaGljb24tc3RlcC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGUwNjkifS5nbHlwaGljb24tZmFzdC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGUwNzAifS5nbHlwaGljb24tYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDcxIn0uZ2x5cGhpY29uLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxlMDcyIn0uZ2x5cGhpY29uLXBhdXNlOmJlZm9yZXtjb250ZW50OiJcZTA3MyJ9LmdseXBoaWNvbi1zdG9wOmJlZm9yZXtjb250ZW50OiJcZTA3NCJ9LmdseXBoaWNvbi1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZTA3NSJ9LmdseXBoaWNvbi1mYXN0LWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDc2In0uZ2x5cGhpY29uLXN0ZXAtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGUwNzcifS5nbHlwaGljb24tZWplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDc4In0uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGUwNzkifS5nbHlwaGljb24tY2hldnJvbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGUwODAifS5nbHlwaGljb24tcGx1cy1zaWduOmJlZm9yZXtjb250ZW50OiJcZTA4MSJ9LmdseXBoaWNvbi1taW51cy1zaWduOmJlZm9yZXtjb250ZW50OiJcZTA4MiJ9LmdseXBoaWNvbi1yZW1vdmUtc2lnbjpiZWZvcmV7Y29udGVudDoiXGUwODMifS5nbHlwaGljb24tb2stc2lnbjpiZWZvcmV7Y29udGVudDoiXGUwODQifS5nbHlwaGljb24tcXVlc3Rpb24tc2lnbjpiZWZvcmV7Y29udGVudDoiXGUwODUifS5nbHlwaGljb24taW5mby1zaWduOmJlZm9yZXtjb250ZW50OiJcZTA4NiJ9LmdseXBoaWNvbi1zY3JlZW5zaG90OmJlZm9yZXtjb250ZW50OiJcZTA4NyJ9LmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTA4OCJ9LmdseXBoaWNvbi1vay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDg5In0uZ2x5cGhpY29uLWJhbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDkwIn0uZ2x5cGhpY29uLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDkxIn0uZ2x5cGhpY29uLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTA5MiJ9LmdseXBoaWNvbi1hcnJvdy11cDpiZWZvcmV7Y29udGVudDoiXGUwOTMifS5nbHlwaGljb24tYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGUwOTQifS5nbHlwaGljb24tc2hhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZTA5NSJ9LmdseXBoaWNvbi1yZXNpemUtZnVsbDpiZWZvcmV7Y29udGVudDoiXGUwOTYifS5nbHlwaGljb24tcmVzaXplLXNtYWxsOmJlZm9yZXtjb250ZW50OiJcZTA5NyJ9LmdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduOmJlZm9yZXtjb250ZW50OiJcZTEwMSJ9LmdseXBoaWNvbi1naWZ0OmJlZm9yZXtjb250ZW50OiJcZTEwMiJ9LmdseXBoaWNvbi1sZWFmOmJlZm9yZXtjb250ZW50OiJcZTEwMyJ9LmdseXBoaWNvbi1maXJlOmJlZm9yZXtjb250ZW50OiJcZTEwNCJ9LmdseXBoaWNvbi1leWUtb3BlbjpiZWZvcmV7Y29udGVudDoiXGUxMDUifS5nbHlwaGljb24tZXllLWNsb3NlOmJlZm9yZXtjb250ZW50OiJcZTEwNiJ9LmdseXBoaWNvbi13YXJuaW5nLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMTA3In0uZ2x5cGhpY29uLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZTEwOCJ9LmdseXBoaWNvbi1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDoiXGUxMDkifS5nbHlwaGljb24tcmFuZG9tOmJlZm9yZXtjb250ZW50OiJcZTExMCJ9LmdseXBoaWNvbi1jb21tZW50OmJlZm9yZXtjb250ZW50OiJcZTExMSJ9LmdseXBoaWNvbi1tYWduZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTEyIn0uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMTEzIn0uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmV7Y29udGVudDoiXGUxMTQifS5nbHlwaGljb24tcmV0d2VldDpiZWZvcmV7Y29udGVudDoiXGUxMTUifS5nbHlwaGljb24tc2hvcHBpbmctY2FydDpiZWZvcmV7Y29udGVudDoiXGUxMTYifS5nbHlwaGljb24tZm9sZGVyLWNsb3NlOmJlZm9yZXtjb250ZW50OiJcZTExNyJ9LmdseXBoaWNvbi1mb2xkZXItb3BlbjpiZWZvcmV7Y29udGVudDoiXGUxMTgifS5nbHlwaGljb24tcmVzaXplLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZTExOSJ9LmdseXBoaWNvbi1yZXNpemUtaG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGUxMjAifS5nbHlwaGljb24taGRkOmJlZm9yZXtjb250ZW50OiJcZTEyMSJ9LmdseXBoaWNvbi1idWxsaG9ybjpiZWZvcmV7Y29udGVudDoiXGUxMjIifS5nbHlwaGljb24tYmVsbDpiZWZvcmV7Y29udGVudDoiXGUxMjMifS5nbHlwaGljb24tY2VydGlmaWNhdGU6YmVmb3Jle2NvbnRlbnQ6IlxlMTI0In0uZ2x5cGhpY29uLXRodW1icy11cDpiZWZvcmV7Y29udGVudDoiXGUxMjUifS5nbHlwaGljb24tdGh1bWJzLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlMTI2In0uZ2x5cGhpY29uLWhhbmQtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTI3In0uZ2x5cGhpY29uLWhhbmQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGUxMjgifS5nbHlwaGljb24taGFuZC11cDpiZWZvcmV7Y29udGVudDoiXGUxMjkifS5nbHlwaGljb24taGFuZC1kb3duOmJlZm9yZXtjb250ZW50OiJcZTEzMCJ9LmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTMxIn0uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTEzMiJ9LmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMTMzIn0uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZTEzNCJ9LmdseXBoaWNvbi1nbG9iZTpiZWZvcmV7Y29udGVudDoiXGUxMzUifS5nbHlwaGljb24td3JlbmNoOmJlZm9yZXtjb250ZW50OiJcZTEzNiJ9LmdseXBoaWNvbi10YXNrczpiZWZvcmV7Y29udGVudDoiXGUxMzcifS5nbHlwaGljb24tZmlsdGVyOmJlZm9yZXtjb250ZW50OiJcZTEzOCJ9LmdseXBoaWNvbi1icmllZmNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxlMTM5In0uZ2x5cGhpY29uLWZ1bGxzY3JlZW46YmVmb3Jle2NvbnRlbnQ6IlxlMTQwIn0uZ2x5cGhpY29uLWRhc2hib2FyZDpiZWZvcmV7Y29udGVudDoiXGUxNDEifS5nbHlwaGljb24tcGFwZXJjbGlwOmJlZm9yZXtjb250ZW50OiJcZTE0MiJ9LmdseXBoaWNvbi1oZWFydC1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGUxNDMifS5nbHlwaGljb24tbGluazpiZWZvcmV7Y29udGVudDoiXGUxNDQifS5nbHlwaGljb24tcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTQ1In0uZ2x5cGhpY29uLXB1c2hwaW46YmVmb3Jle2NvbnRlbnQ6IlxlMTQ2In0uZ2x5cGhpY29uLXVzZDpiZWZvcmV7Y29udGVudDoiXGUxNDgifS5nbHlwaGljb24tZ2JwOmJlZm9yZXtjb250ZW50OiJcZTE0OSJ9LmdseXBoaWNvbi1zb3J0OmJlZm9yZXtjb250ZW50OiJcZTE1MCJ9LmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0OmJlZm9yZXtjb250ZW50OiJcZTE1MSJ9LmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0LWFsdDpiZWZvcmV7Y29udGVudDoiXGUxNTIifS5nbHlwaGljb24tc29ydC1ieS1vcmRlcjpiZWZvcmV7Y29udGVudDoiXGUxNTMifS5nbHlwaGljb24tc29ydC1ieS1vcmRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTU0In0uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlczpiZWZvcmV7Y29udGVudDoiXGUxNTUifS5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzLWFsdDpiZWZvcmV7Y29udGVudDoiXGUxNTYifS5nbHlwaGljb24tdW5jaGVja2VkOmJlZm9yZXtjb250ZW50OiJcZTE1NyJ9LmdseXBoaWNvbi1leHBhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTU4In0uZ2x5cGhpY29uLWNvbGxhcHNlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlMTU5In0uZ2x5cGhpY29uLWNvbGxhcHNlLXVwOmJlZm9yZXtjb250ZW50OiJcZTE2MCJ9LmdseXBoaWNvbi1sb2ctaW46YmVmb3Jle2NvbnRlbnQ6IlxlMTYxIn0uZ2x5cGhpY29uLWZsYXNoOmJlZm9yZXtjb250ZW50OiJcZTE2MiJ9LmdseXBoaWNvbi1sb2ctb3V0OmJlZm9yZXtjb250ZW50OiJcZTE2MyJ9LmdseXBoaWNvbi1uZXctd2luZG93OmJlZm9yZXtjb250ZW50OiJcZTE2NCJ9LmdseXBoaWNvbi1yZWNvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTY1In0uZ2x5cGhpY29uLXNhdmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTY2In0uZ2x5cGhpY29uLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlMTY3In0uZ2x5cGhpY29uLXNhdmVkOmJlZm9yZXtjb250ZW50OiJcZTE2OCJ9LmdseXBoaWNvbi1pbXBvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTY5In0uZ2x5cGhpY29uLWV4cG9ydDpiZWZvcmV7Y29udGVudDoiXGUxNzAifS5nbHlwaGljb24tc2VuZDpiZWZvcmV7Y29udGVudDoiXGUxNzEifS5nbHlwaGljb24tZmxvcHB5LWRpc2s6YmVmb3Jle2NvbnRlbnQ6IlxlMTcyIn0uZ2x5cGhpY29uLWZsb3BweS1zYXZlZDpiZWZvcmV7Y29udGVudDoiXGUxNzMifS5nbHlwaGljb24tZmxvcHB5LXJlbW92ZTpiZWZvcmV7Y29udGVudDoiXGUxNzQifS5nbHlwaGljb24tZmxvcHB5LXNhdmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTc1In0uZ2x5cGhpY29uLWZsb3BweS1vcGVuOmJlZm9yZXtjb250ZW50OiJcZTE3NiJ9LmdseXBoaWNvbi1jcmVkaXQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGUxNzcifS5nbHlwaGljb24tdHJhbnNmZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMTc4In0uZ2x5cGhpY29uLWN1dGxlcnk6YmVmb3Jle2NvbnRlbnQ6IlxlMTc5In0uZ2x5cGhpY29uLWhlYWRlcjpiZWZvcmV7Y29udGVudDoiXGUxODAifS5nbHlwaGljb24tY29tcHJlc3NlZDpiZWZvcmV7Y29udGVudDoiXGUxODEifS5nbHlwaGljb24tZWFycGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTgyIn0uZ2x5cGhpY29uLXBob25lLWFsdDpiZWZvcmV7Y29udGVudDoiXGUxODMifS5nbHlwaGljb24tdG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMTg0In0uZ2x5cGhpY29uLXN0YXRzOmJlZm9yZXtjb250ZW50OiJcZTE4NSJ9LmdseXBoaWNvbi1zZC12aWRlbzpiZWZvcmV7Y29udGVudDoiXGUxODYifS5nbHlwaGljb24taGQtdmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxlMTg3In0uZ2x5cGhpY29uLXN1YnRpdGxlczpiZWZvcmV7Y29udGVudDoiXGUxODgifS5nbHlwaGljb24tc291bmQtc3RlcmVvOmJlZm9yZXtjb250ZW50OiJcZTE4OSJ9LmdseXBoaWNvbi1zb3VuZC1kb2xieTpiZWZvcmV7Y29udGVudDoiXGUxOTAifS5nbHlwaGljb24tc291bmQtNS0xOmJlZm9yZXtjb250ZW50OiJcZTE5MSJ9LmdseXBoaWNvbi1zb3VuZC02LTE6YmVmb3Jle2NvbnRlbnQ6IlxlMTkyIn0uZ2x5cGhpY29uLXNvdW5kLTctMTpiZWZvcmV7Y29udGVudDoiXGUxOTMifS5nbHlwaGljb24tY29weXJpZ2h0LW1hcms6YmVmb3Jle2NvbnRlbnQ6IlxlMTk0In0uZ2x5cGhpY29uLXJlZ2lzdHJhdGlvbi1tYXJrOmJlZm9yZXtjb250ZW50OiJcZTE5NSJ9LmdseXBoaWNvbi1jbG91ZC1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGUxOTcifS5nbHlwaGljb24tY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZTE5OCJ9LmdseXBoaWNvbi10cmVlLWNvbmlmZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMTk5In0uZ2x5cGhpY29uLXRyZWUtZGVjaWR1b3VzOmJlZm9yZXtjb250ZW50OiJcZTIwMCJ9LmdseXBoaWNvbi1jZDpiZWZvcmV7Y29udGVudDoiXGUyMDEifS5nbHlwaGljb24tc2F2ZS1maWxlOmJlZm9yZXtjb250ZW50OiJcZTIwMiJ9LmdseXBoaWNvbi1vcGVuLWZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMjAzIn0uZ2x5cGhpY29uLWxldmVsLXVwOmJlZm9yZXtjb250ZW50OiJcZTIwNCJ9LmdseXBoaWNvbi1jb3B5OmJlZm9yZXtjb250ZW50OiJcZTIwNSJ9LmdseXBoaWNvbi1wYXN0ZTpiZWZvcmV7Y29udGVudDoiXGUyMDYifS5nbHlwaGljb24tYWxlcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjA5In0uZ2x5cGhpY29uLWVxdWFsaXplcjpiZWZvcmV7Y29udGVudDoiXGUyMTAifS5nbHlwaGljb24ta2luZzpiZWZvcmV7Y29udGVudDoiXGUyMTEifS5nbHlwaGljb24tcXVlZW46YmVmb3Jle2NvbnRlbnQ6IlxlMjEyIn0uZ2x5cGhpY29uLXBhd246YmVmb3Jle2NvbnRlbnQ6IlxlMjEzIn0uZ2x5cGhpY29uLWJpc2hvcDpiZWZvcmV7Y29udGVudDoiXGUyMTQifS5nbHlwaGljb24ta25pZ2h0OmJlZm9yZXtjb250ZW50OiJcZTIxNSJ9LmdseXBoaWNvbi1iYWJ5LWZvcm11bGE6YmVmb3Jle2NvbnRlbnQ6IlxlMjE2In0uZ2x5cGhpY29uLXRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlwyNmZhIn0uZ2x5cGhpY29uLWJsYWNrYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjE4In0uZ2x5cGhpY29uLWJlZDpiZWZvcmV7Y29udGVudDoiXGUyMTkifS5nbHlwaGljb24tYXBwbGU6YmVmb3Jle2NvbnRlbnQ6IlxmOGZmIn0uZ2x5cGhpY29uLWVyYXNlOmJlZm9yZXtjb250ZW50OiJcZTIyMSJ9LmdseXBoaWNvbi1ob3VyZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlwyMzFiIn0uZ2x5cGhpY29uLWxhbXA6YmVmb3Jle2NvbnRlbnQ6IlxlMjIzIn0uZ2x5cGhpY29uLWR1cGxpY2F0ZTpiZWZvcmV7Y29udGVudDoiXGUyMjQifS5nbHlwaGljb24tcGlnZ3ktYmFuazpiZWZvcmV7Y29udGVudDoiXGUyMjUifS5nbHlwaGljb24tc2Npc3NvcnM6YmVmb3Jle2NvbnRlbnQ6IlxlMjI2In0uZ2x5cGhpY29uLWJpdGNvaW46YmVmb3Jle2NvbnRlbnQ6IlxlMjI3In0uZ2x5cGhpY29uLWJ0YzpiZWZvcmV7Y29udGVudDoiXGUyMjcifS5nbHlwaGljb24teGJ0OmJlZm9yZXtjb250ZW50OiJcZTIyNyJ9LmdseXBoaWNvbi15ZW46YmVmb3Jle2NvbnRlbnQ6IlwwMGE1In0uZ2x5cGhpY29uLWpweTpiZWZvcmV7Y29udGVudDoiXDAwYTUifS5nbHlwaGljb24tcnVibGU6YmVmb3Jle2NvbnRlbnQ6IlwyMGJkIn0uZ2x5cGhpY29uLXJ1YjpiZWZvcmV7Y29udGVudDoiXDIwYmQifS5nbHlwaGljb24tc2NhbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMjMwIn0uZ2x5cGhpY29uLWljZS1sb2xseTpiZWZvcmV7Y29udGVudDoiXGUyMzEifS5nbHlwaGljb24taWNlLWxvbGx5LXRhc3RlZDpiZWZvcmV7Y29udGVudDoiXGUyMzIifS5nbHlwaGljb24tZWR1Y2F0aW9uOmJlZm9yZXtjb250ZW50OiJcZTIzMyJ9LmdseXBoaWNvbi1vcHRpb24taG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGUyMzQifS5nbHlwaGljb24tb3B0aW9uLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZTIzNSJ9LmdseXBoaWNvbi1tZW51LWhhbWJ1cmdlcjpiZWZvcmV7Y29udGVudDoiXGUyMzYifS5nbHlwaGljb24tbW9kYWwtd2luZG93OmJlZm9yZXtjb250ZW50OiJcZTIzNyJ9LmdseXBoaWNvbi1vaWw6YmVmb3Jle2NvbnRlbnQ6IlxlMjM4In0uZ2x5cGhpY29uLWdyYWluOmJlZm9yZXtjb250ZW50OiJcZTIzOSJ9LmdseXBoaWNvbi1zdW5nbGFzc2VzOmJlZm9yZXtjb250ZW50OiJcZTI0MCJ9LmdseXBoaWNvbi10ZXh0LXNpemU6YmVmb3Jle2NvbnRlbnQ6IlxlMjQxIn0uZ2x5cGhpY29uLXRleHQtY29sb3I6YmVmb3Jle2NvbnRlbnQ6IlxlMjQyIn0uZ2x5cGhpY29uLXRleHQtYmFja2dyb3VuZDpiZWZvcmV7Y29udGVudDoiXGUyNDMifS5nbHlwaGljb24tb2JqZWN0LWFsaWduLXRvcDpiZWZvcmV7Y29udGVudDoiXGUyNDQifS5nbHlwaGljb24tb2JqZWN0LWFsaWduLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiXGUyNDUifS5nbHlwaGljb24tb2JqZWN0LWFsaWduLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxlMjQ2In0uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTI0NyJ9LmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxlMjQ4In0uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGUyNDkifS5nbHlwaGljb24tdHJpYW5nbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjUwIn0uZ2x5cGhpY29uLXRyaWFuZ2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjUxIn0uZ2x5cGhpY29uLXRyaWFuZ2xlLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiXGUyNTIifS5nbHlwaGljb24tdHJpYW5nbGUtdG9wOmJlZm9yZXtjb250ZW50OiJcZTI1MyJ9LmdseXBoaWNvbi1jb25zb2xlOmJlZm9yZXtjb250ZW50OiJcZTI1NCJ9LmdseXBoaWNvbi1zdXBlcnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGUyNTUifS5nbHlwaGljb24tc3Vic2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZTI1NiJ9LmdseXBoaWNvbi1tZW51LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjU3In0uZ2x5cGhpY29uLW1lbnUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjU4In0uZ2x5cGhpY29uLW1lbnUtZG93bjpiZWZvcmV7Y29udGVudDoiXGUyNTkifS5nbHlwaGljb24tbWVudS11cDpiZWZvcmV7Y29udGVudDoiXGUyNjAifSp7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fTphZnRlciw6YmVmb3Jley13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH1odG1se2ZvbnQtc2l6ZToxMHB4Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApfWJvZHl7Zm9udC1mYW1pbHk6IkhlbHZldGljYSBOZXVlIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZmZmfWJ1dHRvbixpbnB1dCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0fWF7Y29sb3I6IzMzN2FiNzt0ZXh0LWRlY29yYXRpb246bm9uZX1hOmZvY3VzLGE6aG92ZXJ7Y29sb3I6IzIzNTI3Yzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfWE6Zm9jdXN7b3V0bGluZTo1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7b3V0bGluZS1vZmZzZXQ6LTJweH1maWd1cmV7bWFyZ2luOjB9aW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW0+YT5pbWcsLmNhcm91c2VsLWlubmVyPi5pdGVtPmltZywuaW1nLXJlc3BvbnNpdmUsLnRodW1ibmFpbCBhPmltZywudGh1bWJuYWlsPmltZ3tkaXNwbGF5OmJsb2NrO21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfS5pbWctcm91bmRlZHtib3JkZXItcmFkaXVzOjZweH0uaW1nLXRodW1ibmFpbHtkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0bztwYWRkaW5nOjRweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMnMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIC4ycyBlYXNlLWluLW91dH0uaW1nLWNpcmNsZXtib3JkZXItcmFkaXVzOjUwJX1ocnttYXJnaW4tdG9wOjIwcHg7bWFyZ2luLWJvdHRvbToyMHB4O2JvcmRlcjowO2JvcmRlci10b3A6MXB4IHNvbGlkICNlZWV9LnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwwLDAsMCk7Ym9yZGVyOjB9LnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwuc3Itb25seS1mb2N1c2FibGU6Zm9jdXN7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87bWFyZ2luOjA7b3ZlcmZsb3c6dmlzaWJsZTtjbGlwOmF1dG99W3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn0uaDEsLmgyLC5oMywuaDQsLmg1LC5oNixoMSxoMixoMyxoNCxoNSxoNntmb250LWZhbWlseTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjE7Y29sb3I6aW5oZXJpdH0uaDEgLnNtYWxsLC5oMSBzbWFsbCwuaDIgLnNtYWxsLC5oMiBzbWFsbCwuaDMgLnNtYWxsLC5oMyBzbWFsbCwuaDQgLnNtYWxsLC5oNCBzbWFsbCwuaDUgLnNtYWxsLC5oNSBzbWFsbCwuaDYgLnNtYWxsLC5oNiBzbWFsbCxoMSAuc21hbGwsaDEgc21hbGwsaDIgLnNtYWxsLGgyIHNtYWxsLGgzIC5zbWFsbCxoMyBzbWFsbCxoNCAuc21hbGwsaDQgc21hbGwsaDUgLnNtYWxsLGg1IHNtYWxsLGg2IC5zbWFsbCxoNiBzbWFsbHtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjojNzc3fS5oMSwuaDIsLmgzLGgxLGgyLGgze21hcmdpbi10b3A6MjBweDttYXJnaW4tYm90dG9tOjEwcHh9LmgxIC5zbWFsbCwuaDEgc21hbGwsLmgyIC5zbWFsbCwuaDIgc21hbGwsLmgzIC5zbWFsbCwuaDMgc21hbGwsaDEgLnNtYWxsLGgxIHNtYWxsLGgyIC5zbWFsbCxoMiBzbWFsbCxoMyAuc21hbGwsaDMgc21hbGx7Zm9udC1zaXplOjY1JX0uaDQsLmg1LC5oNixoNCxoNSxoNnttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS5oNCAuc21hbGwsLmg0IHNtYWxsLC5oNSAuc21hbGwsLmg1IHNtYWxsLC5oNiAuc21hbGwsLmg2IHNtYWxsLGg0IC5zbWFsbCxoNCBzbWFsbCxoNSAuc21hbGwsaDUgc21hbGwsaDYgLnNtYWxsLGg2IHNtYWxse2ZvbnQtc2l6ZTo3NSV9LmgxLGgxe2ZvbnQtc2l6ZTozNnB4fS5oMixoMntmb250LXNpemU6MzBweH0uaDMsaDN7Zm9udC1zaXplOjI0cHh9Lmg0LGg0e2ZvbnQtc2l6ZToxOHB4fS5oNSxoNXtmb250LXNpemU6MTRweH0uaDYsaDZ7Zm9udC1zaXplOjEycHh9cHttYXJnaW46MCAwIDEwcHh9LmxlYWR7bWFyZ2luLWJvdHRvbToyMHB4O2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjMwMDtsaW5lLWhlaWdodDoxLjR9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5sZWFke2ZvbnQtc2l6ZToyMXB4fX0uc21hbGwsc21hbGx7Zm9udC1zaXplOjg1JX0ubWFyayxtYXJre3BhZGRpbmc6LjJlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTN9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtanVzdGlmeXt0ZXh0LWFsaWduOmp1c3RpZnl9LnRleHQtbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0udGV4dC1sb3dlcmNhc2V7dGV4dC10cmFuc2Zvcm06bG93ZXJjYXNlfS50ZXh0LXVwcGVyY2FzZXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnRleHQtY2FwaXRhbGl6ZXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplfS50ZXh0LW11dGVke2NvbG9yOiM3Nzd9LnRleHQtcHJpbWFyeXtjb2xvcjojMzM3YWI3fWEudGV4dC1wcmltYXJ5OmZvY3VzLGEudGV4dC1wcmltYXJ5OmhvdmVye2NvbG9yOiMyODYwOTB9LnRleHQtc3VjY2Vzc3tjb2xvcjojM2M3NjNkfWEudGV4dC1zdWNjZXNzOmZvY3VzLGEudGV4dC1zdWNjZXNzOmhvdmVye2NvbG9yOiMyYjU0MmN9LnRleHQtaW5mb3tjb2xvcjojMzE3MDhmfWEudGV4dC1pbmZvOmZvY3VzLGEudGV4dC1pbmZvOmhvdmVye2NvbG9yOiMyNDUyNjl9LnRleHQtd2FybmluZ3tjb2xvcjojOGE2ZDNifWEudGV4dC13YXJuaW5nOmZvY3VzLGEudGV4dC13YXJuaW5nOmhvdmVye2NvbG9yOiM2NjUxMmN9LnRleHQtZGFuZ2Vye2NvbG9yOiNhOTQ0NDJ9YS50ZXh0LWRhbmdlcjpmb2N1cyxhLnRleHQtZGFuZ2VyOmhvdmVye2NvbG9yOiM4NDM1MzR9LmJnLXByaW1hcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjd9YS5iZy1wcmltYXJ5OmZvY3VzLGEuYmctcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyODYwOTB9LmJnLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4fWEuYmctc3VjY2Vzczpmb2N1cyxhLmJnLXN1Y2Nlc3M6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYzFlMmIzfS5iZy1pbmZve2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmN31hLmJnLWluZm86Zm9jdXMsYS5iZy1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2FmZDllZX0uYmctd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTN9YS5iZy13YXJuaW5nOmZvY3VzLGEuYmctd2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmN2VjYjV9LmJnLWRhbmdlcntiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGV9YS5iZy1kYW5nZXI6Zm9jdXMsYS5iZy1kYW5nZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZTRiOWI5fS5wYWdlLWhlYWRlcntwYWRkaW5nLWJvdHRvbTo5cHg7bWFyZ2luOjQwcHggMCAyMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZWV9b2wsdWx7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MTBweH1vbCBvbCxvbCB1bCx1bCBvbCx1bCB1bHttYXJnaW4tYm90dG9tOjB9Lmxpc3QtdW5zdHlsZWR7cGFkZGluZy1sZWZ0OjA7bGlzdC1zdHlsZTpub25lfS5saXN0LWlubGluZXtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tbGVmdDotNXB4O2xpc3Qtc3R5bGU6bm9uZX0ubGlzdC1pbmxpbmU+bGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy1yaWdodDo1cHg7cGFkZGluZy1sZWZ0OjVweH1kbHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToyMHB4fWRkLGR0e2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDN9ZHR7Zm9udC13ZWlnaHQ6NzAwfWRke21hcmdpbi1sZWZ0OjB9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5kbC1ob3Jpem9udGFsIGR0e2Zsb2F0OmxlZnQ7d2lkdGg6MTYwcHg7b3ZlcmZsb3c6aGlkZGVuO2NsZWFyOmxlZnQ7dGV4dC1hbGlnbjpyaWdodDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uZGwtaG9yaXpvbnRhbCBkZHttYXJnaW4tbGVmdDoxODBweH19YWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSxhYmJyW3RpdGxlXXtjdXJzb3I6aGVscDtib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgIzc3N30uaW5pdGlhbGlzbXtmb250LXNpemU6OTAlO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX1ibG9ja3F1b3Rle3BhZGRpbmc6MTBweCAyMHB4O21hcmdpbjowIDAgMjBweDtmb250LXNpemU6MTcuNXB4O2JvcmRlci1sZWZ0OjVweCBzb2xpZCAjZWVlfWJsb2NrcXVvdGUgb2w6bGFzdC1jaGlsZCxibG9ja3F1b3RlIHA6bGFzdC1jaGlsZCxibG9ja3F1b3RlIHVsOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfWJsb2NrcXVvdGUgLnNtYWxsLGJsb2NrcXVvdGUgZm9vdGVyLGJsb2NrcXVvdGUgc21hbGx7ZGlzcGxheTpibG9jaztmb250LXNpemU6ODAlO2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6Izc3N31ibG9ja3F1b3RlIC5zbWFsbDpiZWZvcmUsYmxvY2txdW90ZSBmb290ZXI6YmVmb3JlLGJsb2NrcXVvdGUgc21hbGw6YmVmb3Jle2NvbnRlbnQ6J1wyMDE0IFwwMEEwJ30uYmxvY2txdW90ZS1yZXZlcnNlLGJsb2NrcXVvdGUucHVsbC1yaWdodHtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjA7dGV4dC1hbGlnbjpyaWdodDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkICNlZWU7Ym9yZGVyLWxlZnQ6MH0uYmxvY2txdW90ZS1yZXZlcnNlIC5zbWFsbDpiZWZvcmUsLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YmVmb3JlLC5ibG9ja3F1b3RlLXJldmVyc2Ugc21hbGw6YmVmb3JlLGJsb2NrcXVvdGUucHVsbC1yaWdodCAuc21hbGw6YmVmb3JlLGJsb2NrcXVvdGUucHVsbC1yaWdodCBmb290ZXI6YmVmb3JlLGJsb2NrcXVvdGUucHVsbC1yaWdodCBzbWFsbDpiZWZvcmV7Y29udGVudDonJ30uYmxvY2txdW90ZS1yZXZlcnNlIC5zbWFsbDphZnRlciwuYmxvY2txdW90ZS1yZXZlcnNlIGZvb3RlcjphZnRlciwuYmxvY2txdW90ZS1yZXZlcnNlIHNtYWxsOmFmdGVyLGJsb2NrcXVvdGUucHVsbC1yaWdodCAuc21hbGw6YWZ0ZXIsYmxvY2txdW90ZS5wdWxsLXJpZ2h0IGZvb3RlcjphZnRlcixibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGw6YWZ0ZXJ7Y29udGVudDonXDAwQTAgXDIwMTQnfWFkZHJlc3N7bWFyZ2luLWJvdHRvbToyMHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDN9Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6TWVubG8sTW9uYWNvLENvbnNvbGFzLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlfWNvZGV7cGFkZGluZzoycHggNHB4O2ZvbnQtc2l6ZTo5MCU7Y29sb3I6I2M3MjU0ZTtiYWNrZ3JvdW5kLWNvbG9yOiNmOWYyZjQ7Ym9yZGVyLXJhZGl1czo0cHh9a2Jke3BhZGRpbmc6MnB4IDRweDtmb250LXNpemU6OTAlO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzMzO2JvcmRlci1yYWRpdXM6M3B4Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7Ym94LXNoYWRvdzppbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSl9a2JkIGtiZHtwYWRkaW5nOjA7Zm9udC1zaXplOjEwMCU7Zm9udC13ZWlnaHQ6NzAwOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX1wcmV7ZGlzcGxheTpibG9jaztwYWRkaW5nOjkuNXB4O21hcmdpbjowIDAgMTBweDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiMzMzM7d29yZC1icmVhazpicmVhay1hbGw7d29yZC13cmFwOmJyZWFrLXdvcmQ7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItcmFkaXVzOjRweH1wcmUgY29kZXtwYWRkaW5nOjA7Zm9udC1zaXplOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MH0ucHJlLXNjcm9sbGFibGV7bWF4LWhlaWdodDozNDBweDtvdmVyZmxvdy15OnNjcm9sbH0uY29udGFpbmVye3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweDttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuY29udGFpbmVye3dpZHRoOjc1MHB4fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmNvbnRhaW5lcnt3aWR0aDo5NzBweH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuY29udGFpbmVye3dpZHRoOjExNzBweH19LmNvbnRhaW5lci1mbHVpZHtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHg7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b30ucm93e21hcmdpbi1yaWdodDotMTVweDttYXJnaW4tbGVmdDotMTVweH0uY29sLWxnLTEsLmNvbC1sZy0xMCwuY29sLWxnLTExLC5jb2wtbGctMTIsLmNvbC1sZy0yLC5jb2wtbGctMywuY29sLWxnLTQsLmNvbC1sZy01LC5jb2wtbGctNiwuY29sLWxnLTcsLmNvbC1sZy04LC5jb2wtbGctOSwuY29sLW1kLTEsLmNvbC1tZC0xMCwuY29sLW1kLTExLC5jb2wtbWQtMTIsLmNvbC1tZC0yLC5jb2wtbWQtMywuY29sLW1kLTQsLmNvbC1tZC01LC5jb2wtbWQtNiwuY29sLW1kLTcsLmNvbC1tZC04LC5jb2wtbWQtOSwuY29sLXNtLTEsLmNvbC1zbS0xMCwuY29sLXNtLTExLC5jb2wtc20tMTIsLmNvbC1zbS0yLC5jb2wtc20tMywuY29sLXNtLTQsLmNvbC1zbS01LC5jb2wtc20tNiwuY29sLXNtLTcsLmNvbC1zbS04LC5jb2wtc20tOSwuY29sLXhzLTEsLmNvbC14cy0xMCwuY29sLXhzLTExLC5jb2wteHMtMTIsLmNvbC14cy0yLC5jb2wteHMtMywuY29sLXhzLTQsLmNvbC14cy01LC5jb2wteHMtNiwuY29sLXhzLTcsLmNvbC14cy04LC5jb2wteHMtOXtwb3NpdGlvbjpyZWxhdGl2ZTttaW4taGVpZ2h0OjFweDtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHh9LmNvbC14cy0xLC5jb2wteHMtMTAsLmNvbC14cy0xMSwuY29sLXhzLTEyLC5jb2wteHMtMiwuY29sLXhzLTMsLmNvbC14cy00LC5jb2wteHMtNSwuY29sLXhzLTYsLmNvbC14cy03LC5jb2wteHMtOCwuY29sLXhzLTl7ZmxvYXQ6bGVmdH0uY29sLXhzLTEye3dpZHRoOjEwMCV9LmNvbC14cy0xMXt3aWR0aDo5MS42NjY2NjY2NyV9LmNvbC14cy0xMHt3aWR0aDo4My4zMzMzMzMzMyV9LmNvbC14cy05e3dpZHRoOjc1JX0uY29sLXhzLTh7d2lkdGg6NjYuNjY2NjY2NjclfS5jb2wteHMtN3t3aWR0aDo1OC4zMzMzMzMzMyV9LmNvbC14cy02e3dpZHRoOjUwJX0uY29sLXhzLTV7d2lkdGg6NDEuNjY2NjY2NjclfS5jb2wteHMtNHt3aWR0aDozMy4zMzMzMzMzMyV9LmNvbC14cy0ze3dpZHRoOjI1JX0uY29sLXhzLTJ7d2lkdGg6MTYuNjY2NjY2NjclfS5jb2wteHMtMXt3aWR0aDo4LjMzMzMzMzMzJX0uY29sLXhzLXB1bGwtMTJ7cmlnaHQ6MTAwJX0uY29sLXhzLXB1bGwtMTF7cmlnaHQ6OTEuNjY2NjY2NjclfS5jb2wteHMtcHVsbC0xMHtyaWdodDo4My4zMzMzMzMzMyV9LmNvbC14cy1wdWxsLTl7cmlnaHQ6NzUlfS5jb2wteHMtcHVsbC04e3JpZ2h0OjY2LjY2NjY2NjY3JX0uY29sLXhzLXB1bGwtN3tyaWdodDo1OC4zMzMzMzMzMyV9LmNvbC14cy1wdWxsLTZ7cmlnaHQ6NTAlfS5jb2wteHMtcHVsbC01e3JpZ2h0OjQxLjY2NjY2NjY3JX0uY29sLXhzLXB1bGwtNHtyaWdodDozMy4zMzMzMzMzMyV9LmNvbC14cy1wdWxsLTN7cmlnaHQ6MjUlfS5jb2wteHMtcHVsbC0ye3JpZ2h0OjE2LjY2NjY2NjY3JX0uY29sLXhzLXB1bGwtMXtyaWdodDo4LjMzMzMzMzMzJX0uY29sLXhzLXB1bGwtMHtyaWdodDphdXRvfS5jb2wteHMtcHVzaC0xMntsZWZ0OjEwMCV9LmNvbC14cy1wdXNoLTExe2xlZnQ6OTEuNjY2NjY2NjclfS5jb2wteHMtcHVzaC0xMHtsZWZ0OjgzLjMzMzMzMzMzJX0uY29sLXhzLXB1c2gtOXtsZWZ0Ojc1JX0uY29sLXhzLXB1c2gtOHtsZWZ0OjY2LjY2NjY2NjY3JX0uY29sLXhzLXB1c2gtN3tsZWZ0OjU4LjMzMzMzMzMzJX0uY29sLXhzLXB1c2gtNntsZWZ0OjUwJX0uY29sLXhzLXB1c2gtNXtsZWZ0OjQxLjY2NjY2NjY3JX0uY29sLXhzLXB1c2gtNHtsZWZ0OjMzLjMzMzMzMzMzJX0uY29sLXhzLXB1c2gtM3tsZWZ0OjI1JX0uY29sLXhzLXB1c2gtMntsZWZ0OjE2LjY2NjY2NjY3JX0uY29sLXhzLXB1c2gtMXtsZWZ0OjguMzMzMzMzMzMlfS5jb2wteHMtcHVzaC0we2xlZnQ6YXV0b30uY29sLXhzLW9mZnNldC0xMnttYXJnaW4tbGVmdDoxMDAlfS5jb2wteHMtb2Zmc2V0LTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NjY3JX0uY29sLXhzLW9mZnNldC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMzMyV9LmNvbC14cy1vZmZzZXQtOXttYXJnaW4tbGVmdDo3NSV9LmNvbC14cy1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjY2NyV9LmNvbC14cy1vZmZzZXQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMzMyV9LmNvbC14cy1vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9LmNvbC14cy1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjY2NyV9LmNvbC14cy1vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMzMyV9LmNvbC14cy1vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9LmNvbC14cy1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NjY2NyV9LmNvbC14cy1vZmZzZXQtMXttYXJnaW4tbGVmdDo4LjMzMzMzMzMzJX0uY29sLXhzLW9mZnNldC0we21hcmdpbi1sZWZ0OjB9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5jb2wtc20tMSwuY29sLXNtLTEwLC5jb2wtc20tMTEsLmNvbC1zbS0xMiwuY29sLXNtLTIsLmNvbC1zbS0zLC5jb2wtc20tNCwuY29sLXNtLTUsLmNvbC1zbS02LC5jb2wtc20tNywuY29sLXNtLTgsLmNvbC1zbS05e2Zsb2F0OmxlZnR9LmNvbC1zbS0xMnt3aWR0aDoxMDAlfS5jb2wtc20tMTF7d2lkdGg6OTEuNjY2NjY2NjclfS5jb2wtc20tMTB7d2lkdGg6ODMuMzMzMzMzMzMlfS5jb2wtc20tOXt3aWR0aDo3NSV9LmNvbC1zbS04e3dpZHRoOjY2LjY2NjY2NjY3JX0uY29sLXNtLTd7d2lkdGg6NTguMzMzMzMzMzMlfS5jb2wtc20tNnt3aWR0aDo1MCV9LmNvbC1zbS01e3dpZHRoOjQxLjY2NjY2NjY3JX0uY29sLXNtLTR7d2lkdGg6MzMuMzMzMzMzMzMlfS5jb2wtc20tM3t3aWR0aDoyNSV9LmNvbC1zbS0ye3dpZHRoOjE2LjY2NjY2NjY3JX0uY29sLXNtLTF7d2lkdGg6OC4zMzMzMzMzMyV9LmNvbC1zbS1wdWxsLTEye3JpZ2h0OjEwMCV9LmNvbC1zbS1wdWxsLTExe3JpZ2h0OjkxLjY2NjY2NjY3JX0uY29sLXNtLXB1bGwtMTB7cmlnaHQ6ODMuMzMzMzMzMzMlfS5jb2wtc20tcHVsbC05e3JpZ2h0Ojc1JX0uY29sLXNtLXB1bGwtOHtyaWdodDo2Ni42NjY2NjY2NyV9LmNvbC1zbS1wdWxsLTd7cmlnaHQ6NTguMzMzMzMzMzMlfS5jb2wtc20tcHVsbC02e3JpZ2h0OjUwJX0uY29sLXNtLXB1bGwtNXtyaWdodDo0MS42NjY2NjY2NyV9LmNvbC1zbS1wdWxsLTR7cmlnaHQ6MzMuMzMzMzMzMzMlfS5jb2wtc20tcHVsbC0ze3JpZ2h0OjI1JX0uY29sLXNtLXB1bGwtMntyaWdodDoxNi42NjY2NjY2NyV9LmNvbC1zbS1wdWxsLTF7cmlnaHQ6OC4zMzMzMzMzMyV9LmNvbC1zbS1wdWxsLTB7cmlnaHQ6YXV0b30uY29sLXNtLXB1c2gtMTJ7bGVmdDoxMDAlfS5jb2wtc20tcHVzaC0xMXtsZWZ0OjkxLjY2NjY2NjY3JX0uY29sLXNtLXB1c2gtMTB7bGVmdDo4My4zMzMzMzMzMyV9LmNvbC1zbS1wdXNoLTl7bGVmdDo3NSV9LmNvbC1zbS1wdXNoLTh7bGVmdDo2Ni42NjY2NjY2NyV9LmNvbC1zbS1wdXNoLTd7bGVmdDo1OC4zMzMzMzMzMyV9LmNvbC1zbS1wdXNoLTZ7bGVmdDo1MCV9LmNvbC1zbS1wdXNoLTV7bGVmdDo0MS42NjY2NjY2NyV9LmNvbC1zbS1wdXNoLTR7bGVmdDozMy4zMzMzMzMzMyV9LmNvbC1zbS1wdXNoLTN7bGVmdDoyNSV9LmNvbC1zbS1wdXNoLTJ7bGVmdDoxNi42NjY2NjY2NyV9LmNvbC1zbS1wdXNoLTF7bGVmdDo4LjMzMzMzMzMzJX0uY29sLXNtLXB1c2gtMHtsZWZ0OmF1dG99LmNvbC1zbS1vZmZzZXQtMTJ7bWFyZ2luLWxlZnQ6MTAwJX0uY29sLXNtLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjY2NyV9LmNvbC1zbS1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzMzMlfS5jb2wtc20tb2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5jb2wtc20tb2Zmc2V0LTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY2NjclfS5jb2wtc20tb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzMzMlfS5jb2wtc20tb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5jb2wtc20tb2Zmc2V0LTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY2NjclfS5jb2wtc20tb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzMzMlfS5jb2wtc20tb2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5jb2wtc20tb2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY2NjclfS5jb2wtc20tb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMzMyV9LmNvbC1zbS1vZmZzZXQtMHttYXJnaW4tbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmNvbC1tZC0xLC5jb2wtbWQtMTAsLmNvbC1tZC0xMSwuY29sLW1kLTEyLC5jb2wtbWQtMiwuY29sLW1kLTMsLmNvbC1tZC00LC5jb2wtbWQtNSwuY29sLW1kLTYsLmNvbC1tZC03LC5jb2wtbWQtOCwuY29sLW1kLTl7ZmxvYXQ6bGVmdH0uY29sLW1kLTEye3dpZHRoOjEwMCV9LmNvbC1tZC0xMXt3aWR0aDo5MS42NjY2NjY2NyV9LmNvbC1tZC0xMHt3aWR0aDo4My4zMzMzMzMzMyV9LmNvbC1tZC05e3dpZHRoOjc1JX0uY29sLW1kLTh7d2lkdGg6NjYuNjY2NjY2NjclfS5jb2wtbWQtN3t3aWR0aDo1OC4zMzMzMzMzMyV9LmNvbC1tZC02e3dpZHRoOjUwJX0uY29sLW1kLTV7d2lkdGg6NDEuNjY2NjY2NjclfS5jb2wtbWQtNHt3aWR0aDozMy4zMzMzMzMzMyV9LmNvbC1tZC0ze3dpZHRoOjI1JX0uY29sLW1kLTJ7d2lkdGg6MTYuNjY2NjY2NjclfS5jb2wtbWQtMXt3aWR0aDo4LjMzMzMzMzMzJX0uY29sLW1kLXB1bGwtMTJ7cmlnaHQ6MTAwJX0uY29sLW1kLXB1bGwtMTF7cmlnaHQ6OTEuNjY2NjY2NjclfS5jb2wtbWQtcHVsbC0xMHtyaWdodDo4My4zMzMzMzMzMyV9LmNvbC1tZC1wdWxsLTl7cmlnaHQ6NzUlfS5jb2wtbWQtcHVsbC04e3JpZ2h0OjY2LjY2NjY2NjY3JX0uY29sLW1kLXB1bGwtN3tyaWdodDo1OC4zMzMzMzMzMyV9LmNvbC1tZC1wdWxsLTZ7cmlnaHQ6NTAlfS5jb2wtbWQtcHVsbC01e3JpZ2h0OjQxLjY2NjY2NjY3JX0uY29sLW1kLXB1bGwtNHtyaWdodDozMy4zMzMzMzMzMyV9LmNvbC1tZC1wdWxsLTN7cmlnaHQ6MjUlfS5jb2wtbWQtcHVsbC0ye3JpZ2h0OjE2LjY2NjY2NjY3JX0uY29sLW1kLXB1bGwtMXtyaWdodDo4LjMzMzMzMzMzJX0uY29sLW1kLXB1bGwtMHtyaWdodDphdXRvfS5jb2wtbWQtcHVzaC0xMntsZWZ0OjEwMCV9LmNvbC1tZC1wdXNoLTExe2xlZnQ6OTEuNjY2NjY2NjclfS5jb2wtbWQtcHVzaC0xMHtsZWZ0OjgzLjMzMzMzMzMzJX0uY29sLW1kLXB1c2gtOXtsZWZ0Ojc1JX0uY29sLW1kLXB1c2gtOHtsZWZ0OjY2LjY2NjY2NjY3JX0uY29sLW1kLXB1c2gtN3tsZWZ0OjU4LjMzMzMzMzMzJX0uY29sLW1kLXB1c2gtNntsZWZ0OjUwJX0uY29sLW1kLXB1c2gtNXtsZWZ0OjQxLjY2NjY2NjY3JX0uY29sLW1kLXB1c2gtNHtsZWZ0OjMzLjMzMzMzMzMzJX0uY29sLW1kLXB1c2gtM3tsZWZ0OjI1JX0uY29sLW1kLXB1c2gtMntsZWZ0OjE2LjY2NjY2NjY3JX0uY29sLW1kLXB1c2gtMXtsZWZ0OjguMzMzMzMzMzMlfS5jb2wtbWQtcHVzaC0we2xlZnQ6YXV0b30uY29sLW1kLW9mZnNldC0xMnttYXJnaW4tbGVmdDoxMDAlfS5jb2wtbWQtb2Zmc2V0LTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NjY3JX0uY29sLW1kLW9mZnNldC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMzMyV9LmNvbC1tZC1vZmZzZXQtOXttYXJnaW4tbGVmdDo3NSV9LmNvbC1tZC1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjY2NyV9LmNvbC1tZC1vZmZzZXQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMzMyV9LmNvbC1tZC1vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9LmNvbC1tZC1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjY2NyV9LmNvbC1tZC1vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMzMyV9LmNvbC1tZC1vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9LmNvbC1tZC1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NjY2NyV9LmNvbC1tZC1vZmZzZXQtMXttYXJnaW4tbGVmdDo4LjMzMzMzMzMzJX0uY29sLW1kLW9mZnNldC0we21hcmdpbi1sZWZ0OjB9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmNvbC1sZy0xLC5jb2wtbGctMTAsLmNvbC1sZy0xMSwuY29sLWxnLTEyLC5jb2wtbGctMiwuY29sLWxnLTMsLmNvbC1sZy00LC5jb2wtbGctNSwuY29sLWxnLTYsLmNvbC1sZy03LC5jb2wtbGctOCwuY29sLWxnLTl7ZmxvYXQ6bGVmdH0uY29sLWxnLTEye3dpZHRoOjEwMCV9LmNvbC1sZy0xMXt3aWR0aDo5MS42NjY2NjY2NyV9LmNvbC1sZy0xMHt3aWR0aDo4My4zMzMzMzMzMyV9LmNvbC1sZy05e3dpZHRoOjc1JX0uY29sLWxnLTh7d2lkdGg6NjYuNjY2NjY2NjclfS5jb2wtbGctN3t3aWR0aDo1OC4zMzMzMzMzMyV9LmNvbC1sZy02e3dpZHRoOjUwJX0uY29sLWxnLTV7d2lkdGg6NDEuNjY2NjY2NjclfS5jb2wtbGctNHt3aWR0aDozMy4zMzMzMzMzMyV9LmNvbC1sZy0ze3dpZHRoOjI1JX0uY29sLWxnLTJ7d2lkdGg6MTYuNjY2NjY2NjclfS5jb2wtbGctMXt3aWR0aDo4LjMzMzMzMzMzJX0uY29sLWxnLXB1bGwtMTJ7cmlnaHQ6MTAwJX0uY29sLWxnLXB1bGwtMTF7cmlnaHQ6OTEuNjY2NjY2NjclfS5jb2wtbGctcHVsbC0xMHtyaWdodDo4My4zMzMzMzMzMyV9LmNvbC1sZy1wdWxsLTl7cmlnaHQ6NzUlfS5jb2wtbGctcHVsbC04e3JpZ2h0OjY2LjY2NjY2NjY3JX0uY29sLWxnLXB1bGwtN3tyaWdodDo1OC4zMzMzMzMzMyV9LmNvbC1sZy1wdWxsLTZ7cmlnaHQ6NTAlfS5jb2wtbGctcHVsbC01e3JpZ2h0OjQxLjY2NjY2NjY3JX0uY29sLWxnLXB1bGwtNHtyaWdodDozMy4zMzMzMzMzMyV9LmNvbC1sZy1wdWxsLTN7cmlnaHQ6MjUlfS5jb2wtbGctcHVsbC0ye3JpZ2h0OjE2LjY2NjY2NjY3JX0uY29sLWxnLXB1bGwtMXtyaWdodDo4LjMzMzMzMzMzJX0uY29sLWxnLXB1bGwtMHtyaWdodDphdXRvfS5jb2wtbGctcHVzaC0xMntsZWZ0OjEwMCV9LmNvbC1sZy1wdXNoLTExe2xlZnQ6OTEuNjY2NjY2NjclfS5jb2wtbGctcHVzaC0xMHtsZWZ0OjgzLjMzMzMzMzMzJX0uY29sLWxnLXB1c2gtOXtsZWZ0Ojc1JX0uY29sLWxnLXB1c2gtOHtsZWZ0OjY2LjY2NjY2NjY3JX0uY29sLWxnLXB1c2gtN3tsZWZ0OjU4LjMzMzMzMzMzJX0uY29sLWxnLXB1c2gtNntsZWZ0OjUwJX0uY29sLWxnLXB1c2gtNXtsZWZ0OjQxLjY2NjY2NjY3JX0uY29sLWxnLXB1c2gtNHtsZWZ0OjMzLjMzMzMzMzMzJX0uY29sLWxnLXB1c2gtM3tsZWZ0OjI1JX0uY29sLWxnLXB1c2gtMntsZWZ0OjE2LjY2NjY2NjY3JX0uY29sLWxnLXB1c2gtMXtsZWZ0OjguMzMzMzMzMzMlfS5jb2wtbGctcHVzaC0we2xlZnQ6YXV0b30uY29sLWxnLW9mZnNldC0xMnttYXJnaW4tbGVmdDoxMDAlfS5jb2wtbGctb2Zmc2V0LTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NjY3JX0uY29sLWxnLW9mZnNldC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMzMyV9LmNvbC1sZy1vZmZzZXQtOXttYXJnaW4tbGVmdDo3NSV9LmNvbC1sZy1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjY2NyV9LmNvbC1sZy1vZmZzZXQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMzMyV9LmNvbC1sZy1vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9LmNvbC1sZy1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjY2NyV9LmNvbC1sZy1vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMzMyV9LmNvbC1sZy1vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9LmNvbC1sZy1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NjY2NyV9LmNvbC1sZy1vZmZzZXQtMXttYXJnaW4tbGVmdDo4LjMzMzMzMzMzJX0uY29sLWxnLW9mZnNldC0we21hcmdpbi1sZWZ0OjB9fXRhYmxle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Y2FwdGlvbntwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4O2NvbG9yOiM3Nzc7dGV4dC1hbGlnbjpsZWZ0fXRoe3RleHQtYWxpZ246bGVmdH0udGFibGV7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjIwcHh9LnRhYmxlPnRib2R5PnRyPnRkLC50YWJsZT50Ym9keT50cj50aCwudGFibGU+dGZvb3Q+dHI+dGQsLnRhYmxlPnRmb290PnRyPnRoLC50YWJsZT50aGVhZD50cj50ZCwudGFibGU+dGhlYWQ+dHI+dGh7cGFkZGluZzo4cHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mzt2ZXJ0aWNhbC1hbGlnbjp0b3A7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RkZH0udGFibGU+dGhlYWQ+dHI+dGh7dmVydGljYWwtYWxpZ246Ym90dG9tO2JvcmRlci1ib3R0b206MnB4IHNvbGlkICNkZGR9LnRhYmxlPmNhcHRpb24rdGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGQsLnRhYmxlPmNhcHRpb24rdGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGgsLnRhYmxlPmNvbGdyb3VwK3RoZWFkPnRyOmZpcnN0LWNoaWxkPnRkLC50YWJsZT5jb2xncm91cCt0aGVhZD50cjpmaXJzdC1jaGlsZD50aCwudGFibGU+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQ+dGQsLnRhYmxlPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkPnRoe2JvcmRlci10b3A6MH0udGFibGU+dGJvZHkrdGJvZHl7Ym9yZGVyLXRvcDoycHggc29saWQgI2RkZH0udGFibGUgLnRhYmxle2JhY2tncm91bmQtY29sb3I6I2ZmZn0udGFibGUtY29uZGVuc2VkPnRib2R5PnRyPnRkLC50YWJsZS1jb25kZW5zZWQ+dGJvZHk+dHI+dGgsLnRhYmxlLWNvbmRlbnNlZD50Zm9vdD50cj50ZCwudGFibGUtY29uZGVuc2VkPnRmb290PnRyPnRoLC50YWJsZS1jb25kZW5zZWQ+dGhlYWQ+dHI+dGQsLnRhYmxlLWNvbmRlbnNlZD50aGVhZD50cj50aHtwYWRkaW5nOjVweH0udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfS50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50ZCwudGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGgsLnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRkLC50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aCwudGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQsLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoe2JvcmRlcjoxcHggc29saWQgI2RkZH0udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQsLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoe2JvcmRlci1ib3R0b20td2lkdGg6MnB4fS50YWJsZS1zdHJpcGVkPnRib2R5PnRyOm50aC1vZi10eXBlKG9kZCl7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5fS50YWJsZS1ob3Zlcj50Ym9keT50cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9dGFibGUgY29sW2NsYXNzKj1jb2wtXXtwb3NpdGlvbjpzdGF0aWM7ZGlzcGxheTp0YWJsZS1jb2x1bW47ZmxvYXQ6bm9uZX10YWJsZSB0ZFtjbGFzcyo9Y29sLV0sdGFibGUgdGhbY2xhc3MqPWNvbC1de3Bvc2l0aW9uOnN0YXRpYztkaXNwbGF5OnRhYmxlLWNlbGw7ZmxvYXQ6bm9uZX0udGFibGU+dGJvZHk+dHIuYWN0aXZlPnRkLC50YWJsZT50Ym9keT50ci5hY3RpdmU+dGgsLnRhYmxlPnRib2R5PnRyPnRkLmFjdGl2ZSwudGFibGU+dGJvZHk+dHI+dGguYWN0aXZlLC50YWJsZT50Zm9vdD50ci5hY3RpdmU+dGQsLnRhYmxlPnRmb290PnRyLmFjdGl2ZT50aCwudGFibGU+dGZvb3Q+dHI+dGQuYWN0aXZlLC50YWJsZT50Zm9vdD50cj50aC5hY3RpdmUsLnRhYmxlPnRoZWFkPnRyLmFjdGl2ZT50ZCwudGFibGU+dGhlYWQ+dHIuYWN0aXZlPnRoLC50YWJsZT50aGVhZD50cj50ZC5hY3RpdmUsLnRhYmxlPnRoZWFkPnRyPnRoLmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9LnRhYmxlLWhvdmVyPnRib2R5PnRyLmFjdGl2ZTpob3Zlcj50ZCwudGFibGUtaG92ZXI+dGJvZHk+dHIuYWN0aXZlOmhvdmVyPnRoLC50YWJsZS1ob3Zlcj50Ym9keT50cjpob3Zlcj4uYWN0aXZlLC50YWJsZS1ob3Zlcj50Ym9keT50cj50ZC5hY3RpdmU6aG92ZXIsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRoLmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlOGU4ZTh9LnRhYmxlPnRib2R5PnRyLnN1Y2Nlc3M+dGQsLnRhYmxlPnRib2R5PnRyLnN1Y2Nlc3M+dGgsLnRhYmxlPnRib2R5PnRyPnRkLnN1Y2Nlc3MsLnRhYmxlPnRib2R5PnRyPnRoLnN1Y2Nlc3MsLnRhYmxlPnRmb290PnRyLnN1Y2Nlc3M+dGQsLnRhYmxlPnRmb290PnRyLnN1Y2Nlc3M+dGgsLnRhYmxlPnRmb290PnRyPnRkLnN1Y2Nlc3MsLnRhYmxlPnRmb290PnRyPnRoLnN1Y2Nlc3MsLnRhYmxlPnRoZWFkPnRyLnN1Y2Nlc3M+dGQsLnRhYmxlPnRoZWFkPnRyLnN1Y2Nlc3M+dGgsLnRhYmxlPnRoZWFkPnRyPnRkLnN1Y2Nlc3MsLnRhYmxlPnRoZWFkPnRyPnRoLnN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4fS50YWJsZS1ob3Zlcj50Ym9keT50ci5zdWNjZXNzOmhvdmVyPnRkLC50YWJsZS1ob3Zlcj50Ym9keT50ci5zdWNjZXNzOmhvdmVyPnRoLC50YWJsZS1ob3Zlcj50Ym9keT50cjpob3Zlcj4uc3VjY2VzcywudGFibGUtaG92ZXI+dGJvZHk+dHI+dGQuc3VjY2Vzczpob3ZlciwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGguc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkMGU5YzZ9LnRhYmxlPnRib2R5PnRyLmluZm8+dGQsLnRhYmxlPnRib2R5PnRyLmluZm8+dGgsLnRhYmxlPnRib2R5PnRyPnRkLmluZm8sLnRhYmxlPnRib2R5PnRyPnRoLmluZm8sLnRhYmxlPnRmb290PnRyLmluZm8+dGQsLnRhYmxlPnRmb290PnRyLmluZm8+dGgsLnRhYmxlPnRmb290PnRyPnRkLmluZm8sLnRhYmxlPnRmb290PnRyPnRoLmluZm8sLnRhYmxlPnRoZWFkPnRyLmluZm8+dGQsLnRhYmxlPnRoZWFkPnRyLmluZm8+dGgsLnRhYmxlPnRoZWFkPnRyPnRkLmluZm8sLnRhYmxlPnRoZWFkPnRyPnRoLmluZm97YmFja2dyb3VuZC1jb2xvcjojZDllZGY3fS50YWJsZS1ob3Zlcj50Ym9keT50ci5pbmZvOmhvdmVyPnRkLC50YWJsZS1ob3Zlcj50Ym9keT50ci5pbmZvOmhvdmVyPnRoLC50YWJsZS1ob3Zlcj50Ym9keT50cjpob3Zlcj4uaW5mbywudGFibGUtaG92ZXI+dGJvZHk+dHI+dGQuaW5mbzpob3ZlciwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGguaW5mbzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjNGUzZjN9LnRhYmxlPnRib2R5PnRyLndhcm5pbmc+dGQsLnRhYmxlPnRib2R5PnRyLndhcm5pbmc+dGgsLnRhYmxlPnRib2R5PnRyPnRkLndhcm5pbmcsLnRhYmxlPnRib2R5PnRyPnRoLndhcm5pbmcsLnRhYmxlPnRmb290PnRyLndhcm5pbmc+dGQsLnRhYmxlPnRmb290PnRyLndhcm5pbmc+dGgsLnRhYmxlPnRmb290PnRyPnRkLndhcm5pbmcsLnRhYmxlPnRmb290PnRyPnRoLndhcm5pbmcsLnRhYmxlPnRoZWFkPnRyLndhcm5pbmc+dGQsLnRhYmxlPnRoZWFkPnRyLndhcm5pbmc+dGgsLnRhYmxlPnRoZWFkPnRyPnRkLndhcm5pbmcsLnRhYmxlPnRoZWFkPnRyPnRoLndhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzfS50YWJsZS1ob3Zlcj50Ym9keT50ci53YXJuaW5nOmhvdmVyPnRkLC50YWJsZS1ob3Zlcj50Ym9keT50ci53YXJuaW5nOmhvdmVyPnRoLC50YWJsZS1ob3Zlcj50Ym9keT50cjpob3Zlcj4ud2FybmluZywudGFibGUtaG92ZXI+dGJvZHk+dHI+dGQud2FybmluZzpob3ZlciwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGgud2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmYWYyY2N9LnRhYmxlPnRib2R5PnRyLmRhbmdlcj50ZCwudGFibGU+dGJvZHk+dHIuZGFuZ2VyPnRoLC50YWJsZT50Ym9keT50cj50ZC5kYW5nZXIsLnRhYmxlPnRib2R5PnRyPnRoLmRhbmdlciwudGFibGU+dGZvb3Q+dHIuZGFuZ2VyPnRkLC50YWJsZT50Zm9vdD50ci5kYW5nZXI+dGgsLnRhYmxlPnRmb290PnRyPnRkLmRhbmdlciwudGFibGU+dGZvb3Q+dHI+dGguZGFuZ2VyLC50YWJsZT50aGVhZD50ci5kYW5nZXI+dGQsLnRhYmxlPnRoZWFkPnRyLmRhbmdlcj50aCwudGFibGU+dGhlYWQ+dHI+dGQuZGFuZ2VyLC50YWJsZT50aGVhZD50cj50aC5kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlfS50YWJsZS1ob3Zlcj50Ym9keT50ci5kYW5nZXI6aG92ZXI+dGQsLnRhYmxlLWhvdmVyPnRib2R5PnRyLmRhbmdlcjpob3Zlcj50aCwudGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXI+LmRhbmdlciwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGQuZGFuZ2VyOmhvdmVyLC50YWJsZS1ob3Zlcj50Ym9keT50cj50aC5kYW5nZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWJjY2NjfS50YWJsZS1yZXNwb25zaXZle21pbi1oZWlnaHQ6LjAxJTtvdmVyZmxvdy14OmF1dG99QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCl7LnRhYmxlLXJlc3BvbnNpdmV7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjE1cHg7b3ZlcmZsb3cteTpoaWRkZW47LW1zLW92ZXJmbG93LXN0eWxlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtib3JkZXI6MXB4IHNvbGlkICNkZGR9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxle21hcmdpbi1ib3R0b206MH0udGFibGUtcmVzcG9uc2l2ZT4udGFibGU+dGJvZHk+dHI+dGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlPnRib2R5PnRyPnRoLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZT50Zm9vdD50cj50ZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGU+dGZvb3Q+dHI+dGgsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlPnRoZWFkPnRyPnRkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZT50aGVhZD50cj50aHt3aGl0ZS1zcGFjZTpub3dyYXB9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfS50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50ZDpmaXJzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGg6Zmlyc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRkOmZpcnN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aDpmaXJzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQ6Zmlyc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoOmZpcnN0LWNoaWxke2JvcmRlci1sZWZ0OjB9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkOmxhc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoOmxhc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRkOmxhc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoOmxhc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkOmxhc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoOmxhc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0OjB9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmxhc3QtY2hpbGQ+dGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmxhc3QtY2hpbGQ+dGgsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyOmxhc3QtY2hpbGQ+dGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyOmxhc3QtY2hpbGQ+dGh7Ym9yZGVyLWJvdHRvbTowfX1maWVsZHNldHttaW4td2lkdGg6MDtwYWRkaW5nOjA7bWFyZ2luOjA7Ym9yZGVyOjB9bGVnZW5ke2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtwYWRkaW5nOjA7bWFyZ2luLWJvdHRvbToyMHB4O2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OmluaGVyaXQ7Y29sb3I6IzMzMztib3JkZXI6MDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTVlNWU1fWxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxMDAlO21hcmdpbi1ib3R0b206NXB4O2ZvbnQtd2VpZ2h0OjcwMH1pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fWlucHV0W3R5cGU9Y2hlY2tib3hdLGlucHV0W3R5cGU9cmFkaW9de21hcmdpbjo0cHggMCAwO21hcmdpbi10b3A6MXB4XDk7bGluZS1oZWlnaHQ6bm9ybWFsfWlucHV0W3R5cGU9ZmlsZV17ZGlzcGxheTpibG9ja31pbnB1dFt0eXBlPXJhbmdlXXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9c2VsZWN0W211bHRpcGxlXSxzZWxlY3Rbc2l6ZV17aGVpZ2h0OmF1dG99aW5wdXRbdHlwZT1maWxlXTpmb2N1cyxpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1cyxpbnB1dFt0eXBlPXJhZGlvXTpmb2N1c3tvdXRsaW5lOjVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtvdXRsaW5lLW9mZnNldDotMnB4fW91dHB1dHtkaXNwbGF5OmJsb2NrO3BhZGRpbmctdG9wOjdweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiM1NTV9LmZvcm0tY29udHJvbHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjM0cHg7cGFkZGluZzo2cHggMTJweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiM1NTU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7LXdlYmtpdC10cmFuc2l0aW9uOmJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLC13ZWJraXQtYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzOy1vLXRyYW5zaXRpb246Ym9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzfS5mb3JtLWNvbnRyb2w6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM2NmFmZTk7b3V0bGluZTowOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgOHB4IHJnYmEoMTAyLDE3NSwyMzMsLjYpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDhweCByZ2JhKDEwMiwxNzUsMjMzLC42KX0uZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM5OTk7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM5OTl9LmZvcm0tY29udHJvbDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojOTk5fS5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MH0uZm9ybS1jb250cm9sW2Rpc2FibGVkXSwuZm9ybS1jb250cm9sW3JlYWRvbmx5XSxmaWVsZHNldFtkaXNhYmxlZF0gLmZvcm0tY29udHJvbHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLGZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9se2N1cnNvcjpub3QtYWxsb3dlZH10ZXh0YXJlYS5mb3JtLWNvbnRyb2x7aGVpZ2h0OmF1dG99aW5wdXRbdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTpub25lfUBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCl7aW5wdXRbdHlwZT1kYXRlXS5mb3JtLWNvbnRyb2wsaW5wdXRbdHlwZT10aW1lXS5mb3JtLWNvbnRyb2wsaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0uZm9ybS1jb250cm9sLGlucHV0W3R5cGU9bW9udGhdLmZvcm0tY29udHJvbHtsaW5lLWhlaWdodDozNHB4fS5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPWRhdGVdLC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPXRpbWVdLC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSwuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT1tb250aF0saW5wdXRbdHlwZT1kYXRlXS5pbnB1dC1zbSxpbnB1dFt0eXBlPXRpbWVdLmlucHV0LXNtLGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLmlucHV0LXNtLGlucHV0W3R5cGU9bW9udGhdLmlucHV0LXNte2xpbmUtaGVpZ2h0OjMwcHh9LmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9ZGF0ZV0sLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9dGltZV0sLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLC5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPW1vbnRoXSxpbnB1dFt0eXBlPWRhdGVdLmlucHV0LWxnLGlucHV0W3R5cGU9dGltZV0uaW5wdXQtbGcsaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0uaW5wdXQtbGcsaW5wdXRbdHlwZT1tb250aF0uaW5wdXQtbGd7bGluZS1oZWlnaHQ6NDZweH19LmZvcm0tZ3JvdXB7bWFyZ2luLWJvdHRvbToxNXB4fS5jaGVja2JveCwucmFkaW97cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS5jaGVja2JveCBsYWJlbCwucmFkaW8gbGFiZWx7bWluLWhlaWdodDoyMHB4O3BhZGRpbmctbGVmdDoyMHB4O21hcmdpbi1ib3R0b206MDtmb250LXdlaWdodDo0MDA7Y3Vyc29yOnBvaW50ZXJ9LmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0sLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9dLC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDo0cHhcOTttYXJnaW4tbGVmdDotMjBweH0uY2hlY2tib3grLmNoZWNrYm94LC5yYWRpbysucmFkaW97bWFyZ2luLXRvcDotNXB4fS5jaGVja2JveC1pbmxpbmUsLnJhZGlvLWlubGluZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLWxlZnQ6MjBweDttYXJnaW4tYm90dG9tOjA7Zm9udC13ZWlnaHQ6NDAwO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtjdXJzb3I6cG9pbnRlcn0uY2hlY2tib3gtaW5saW5lKy5jaGVja2JveC1pbmxpbmUsLnJhZGlvLWlubGluZSsucmFkaW8taW5saW5le21hcmdpbi10b3A6MDttYXJnaW4tbGVmdDoxMHB4fWZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPWNoZWNrYm94XSxmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1yYWRpb10saW5wdXRbdHlwZT1jaGVja2JveF0uZGlzYWJsZWQsaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdLGlucHV0W3R5cGU9cmFkaW9dLmRpc2FibGVkLGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXXtjdXJzb3I6bm90LWFsbG93ZWR9LmNoZWNrYm94LWlubGluZS5kaXNhYmxlZCwucmFkaW8taW5saW5lLmRpc2FibGVkLGZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3gtaW5saW5lLGZpZWxkc2V0W2Rpc2FibGVkXSAucmFkaW8taW5saW5le2N1cnNvcjpub3QtYWxsb3dlZH0uY2hlY2tib3guZGlzYWJsZWQgbGFiZWwsLnJhZGlvLmRpc2FibGVkIGxhYmVsLGZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3ggbGFiZWwsZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbHtjdXJzb3I6bm90LWFsbG93ZWR9LmZvcm0tY29udHJvbC1zdGF0aWN7bWluLWhlaWdodDozNHB4O3BhZGRpbmctdG9wOjdweDtwYWRkaW5nLWJvdHRvbTo3cHg7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LWxnLC5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LXNte3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0uaW5wdXQtc217aGVpZ2h0OjMwcHg7cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czozcHh9c2VsZWN0LmlucHV0LXNte2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjMwcHh9c2VsZWN0W211bHRpcGxlXS5pbnB1dC1zbSx0ZXh0YXJlYS5pbnB1dC1zbXtoZWlnaHQ6YXV0b30uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9se2hlaWdodDozMHB4O3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6M3B4fS5mb3JtLWdyb3VwLXNtIHNlbGVjdC5mb3JtLWNvbnRyb2x7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweH0uZm9ybS1ncm91cC1zbSBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCwuZm9ybS1ncm91cC1zbSB0ZXh0YXJlYS5mb3JtLWNvbnRyb2x7aGVpZ2h0OmF1dG99LmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1zdGF0aWN7aGVpZ2h0OjMwcHg7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6NnB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41fS5pbnB1dC1sZ3toZWlnaHQ6NDZweDtwYWRkaW5nOjEwcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzM7Ym9yZGVyLXJhZGl1czo2cHh9c2VsZWN0LmlucHV0LWxne2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHh9c2VsZWN0W211bHRpcGxlXS5pbnB1dC1sZyx0ZXh0YXJlYS5pbnB1dC1sZ3toZWlnaHQ6YXV0b30uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9se2hlaWdodDo0NnB4O3BhZGRpbmc6MTBweCAxNnB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjEuMzMzMzMzMztib3JkZXItcmFkaXVzOjZweH0uZm9ybS1ncm91cC1sZyBzZWxlY3QuZm9ybS1jb250cm9se2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHh9LmZvcm0tZ3JvdXAtbGcgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wsLmZvcm0tZ3JvdXAtbGcgdGV4dGFyZWEuZm9ybS1jb250cm9se2hlaWdodDphdXRvfS5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3RhdGlje2hlaWdodDo0NnB4O21pbi1oZWlnaHQ6MzhweDtwYWRkaW5nOjExcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzN9Lmhhcy1mZWVkYmFja3twb3NpdGlvbjpyZWxhdGl2ZX0uaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2x7cGFkZGluZy1yaWdodDo0Mi41cHh9LmZvcm0tY29udHJvbC1mZWVkYmFja3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3otaW5kZXg6MjtkaXNwbGF5OmJsb2NrO3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7bGluZS1oZWlnaHQ6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lfS5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wrLmZvcm0tY29udHJvbC1mZWVkYmFjaywuaW5wdXQtZ3JvdXAtbGcrLmZvcm0tY29udHJvbC1mZWVkYmFjaywuaW5wdXQtbGcrLmZvcm0tY29udHJvbC1mZWVkYmFja3t3aWR0aDo0NnB4O2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHh9LmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCsuZm9ybS1jb250cm9sLWZlZWRiYWNrLC5pbnB1dC1ncm91cC1zbSsuZm9ybS1jb250cm9sLWZlZWRiYWNrLC5pbnB1dC1zbSsuZm9ybS1jb250cm9sLWZlZWRiYWNre3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweH0uaGFzLXN1Y2Nlc3MgLmNoZWNrYm94LC5oYXMtc3VjY2VzcyAuY2hlY2tib3gtaW5saW5lLC5oYXMtc3VjY2VzcyAuY29udHJvbC1sYWJlbCwuaGFzLXN1Y2Nlc3MgLmhlbHAtYmxvY2ssLmhhcy1zdWNjZXNzIC5yYWRpbywuaGFzLXN1Y2Nlc3MgLnJhZGlvLWlubGluZSwuaGFzLXN1Y2Nlc3MuY2hlY2tib3ggbGFiZWwsLmhhcy1zdWNjZXNzLmNoZWNrYm94LWlubGluZSBsYWJlbCwuaGFzLXN1Y2Nlc3MucmFkaW8gbGFiZWwsLmhhcy1zdWNjZXNzLnJhZGlvLWlubGluZSBsYWJlbHtjb2xvcjojM2M3NjNkfS5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9se2JvcmRlci1jb2xvcjojM2M3NjNkOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpfS5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sOmZvY3Vze2JvcmRlci1jb2xvcjojMmI1NDJjOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICM2N2IxNjg7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICM2N2IxNjh9Lmhhcy1zdWNjZXNzIC5pbnB1dC1ncm91cC1hZGRvbntjb2xvcjojM2M3NjNkO2JhY2tncm91bmQtY29sb3I6I2RmZjBkODtib3JkZXItY29sb3I6IzNjNzYzZH0uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFja3tjb2xvcjojM2M3NjNkfS5oYXMtd2FybmluZyAuY2hlY2tib3gsLmhhcy13YXJuaW5nIC5jaGVja2JveC1pbmxpbmUsLmhhcy13YXJuaW5nIC5jb250cm9sLWxhYmVsLC5oYXMtd2FybmluZyAuaGVscC1ibG9jaywuaGFzLXdhcm5pbmcgLnJhZGlvLC5oYXMtd2FybmluZyAucmFkaW8taW5saW5lLC5oYXMtd2FybmluZy5jaGVja2JveCBsYWJlbCwuaGFzLXdhcm5pbmcuY2hlY2tib3gtaW5saW5lIGxhYmVsLC5oYXMtd2FybmluZy5yYWRpbyBsYWJlbCwuaGFzLXdhcm5pbmcucmFkaW8taW5saW5lIGxhYmVse2NvbG9yOiM4YTZkM2J9Lmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2x7Ym9yZGVyLWNvbG9yOiM4YTZkM2I7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSl9Lmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2w6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM2NjUxMmM7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA2cHggI2MwYTE2Yjtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA2cHggI2MwYTE2Yn0uaGFzLXdhcm5pbmcgLmlucHV0LWdyb3VwLWFkZG9ue2NvbG9yOiM4YTZkM2I7YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzO2JvcmRlci1jb2xvcjojOGE2ZDNifS5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWZlZWRiYWNre2NvbG9yOiM4YTZkM2J9Lmhhcy1lcnJvciAuY2hlY2tib3gsLmhhcy1lcnJvciAuY2hlY2tib3gtaW5saW5lLC5oYXMtZXJyb3IgLmNvbnRyb2wtbGFiZWwsLmhhcy1lcnJvciAuaGVscC1ibG9jaywuaGFzLWVycm9yIC5yYWRpbywuaGFzLWVycm9yIC5yYWRpby1pbmxpbmUsLmhhcy1lcnJvci5jaGVja2JveCBsYWJlbCwuaGFzLWVycm9yLmNoZWNrYm94LWlubGluZSBsYWJlbCwuaGFzLWVycm9yLnJhZGlvIGxhYmVsLC5oYXMtZXJyb3IucmFkaW8taW5saW5lIGxhYmVse2NvbG9yOiNhOTQ0NDJ9Lmhhcy1lcnJvciAuZm9ybS1jb250cm9se2JvcmRlci1jb2xvcjojYTk0NDQyOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpfS5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1c3tib3JkZXItY29sb3I6Izg0MzUzNDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDZweCAjY2U4NDgzO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDZweCAjY2U4NDgzfS5oYXMtZXJyb3IgLmlucHV0LWdyb3VwLWFkZG9ue2NvbG9yOiNhOTQ0NDI7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlO2JvcmRlci1jb2xvcjojYTk0NDQyfS5oYXMtZXJyb3IgLmZvcm0tY29udHJvbC1mZWVkYmFja3tjb2xvcjojYTk0NDQyfS5oYXMtZmVlZGJhY2sgbGFiZWx+LmZvcm0tY29udHJvbC1mZWVkYmFja3t0b3A6MjVweH0uaGFzLWZlZWRiYWNrIGxhYmVsLnNyLW9ubHl+LmZvcm0tY29udHJvbC1mZWVkYmFja3t0b3A6MH0uaGVscC1ibG9ja3tkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6NXB4O21hcmdpbi1ib3R0b206MTBweDtjb2xvcjojNzM3MzczfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXB7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDphdXRvO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1zdGF0aWN7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZvcm0taW5saW5lIC5pbnB1dC1ncm91cHtkaXNwbGF5OmlubGluZS10YWJsZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uLC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ0bnt3aWR0aDphdXRvfS5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbHt3aWR0aDoxMDAlfS5mb3JtLWlubGluZSAuY29udHJvbC1sYWJlbHttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuY2hlY2tib3gsLmZvcm0taW5saW5lIC5yYWRpb3tkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmNoZWNrYm94IGxhYmVsLC5mb3JtLWlubGluZSAucmFkaW8gbGFiZWx7cGFkZGluZy1sZWZ0OjB9LmZvcm0taW5saW5lIC5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSwuZm9ybS1pbmxpbmUgLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9de3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1sZWZ0OjB9LmZvcm0taW5saW5lIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFja3t0b3A6MH19LmZvcm0taG9yaXpvbnRhbCAuY2hlY2tib3gsLmZvcm0taG9yaXpvbnRhbCAuY2hlY2tib3gtaW5saW5lLC5mb3JtLWhvcml6b250YWwgLnJhZGlvLC5mb3JtLWhvcml6b250YWwgLnJhZGlvLWlubGluZXtwYWRkaW5nLXRvcDo3cHg7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCwuZm9ybS1ob3Jpem9udGFsIC5yYWRpb3ttaW4taGVpZ2h0OjI3cHh9LmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cHttYXJnaW4tcmlnaHQ6LTE1cHg7bWFyZ2luLWxlZnQ6LTE1cHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtbGFiZWx7cGFkZGluZy10b3A6N3B4O21hcmdpbi1ib3R0b206MDt0ZXh0LWFsaWduOnJpZ2h0fX0uZm9ybS1ob3Jpem9udGFsIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFja3tyaWdodDoxNXB4fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLWxnIC5jb250cm9sLWxhYmVse3BhZGRpbmctdG9wOjExcHg7Zm9udC1zaXplOjE4cHh9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLXNtIC5jb250cm9sLWxhYmVse3BhZGRpbmctdG9wOjZweDtmb250LXNpemU6MTJweH19LmJ0bntkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjZweCAxMnB4O21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mzt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246bWlkZGxlOy1tcy10b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247Y3Vyc29yOnBvaW50ZXI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NHB4fS5idG4uYWN0aXZlLmZvY3VzLC5idG4uYWN0aXZlOmZvY3VzLC5idG4uZm9jdXMsLmJ0bjphY3RpdmUuZm9jdXMsLmJ0bjphY3RpdmU6Zm9jdXMsLmJ0bjpmb2N1c3tvdXRsaW5lOjVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtvdXRsaW5lLW9mZnNldDotMnB4fS5idG4uZm9jdXMsLmJ0bjpmb2N1cywuYnRuOmhvdmVye2NvbG9yOiMzMzM7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmJ0bi5hY3RpdmUsLmJ0bjphY3RpdmV7YmFja2dyb3VuZC1pbWFnZTpub25lO291dGxpbmU6MDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSk7Ym94LXNoYWRvdzppbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KX0uYnRuLmRpc2FibGVkLC5idG5bZGlzYWJsZWRdLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRue2N1cnNvcjpub3QtYWxsb3dlZDtmaWx0ZXI6YWxwaGEob3BhY2l0eT02NSk7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO29wYWNpdHk6LjY1fWEuYnRuLmRpc2FibGVkLGZpZWxkc2V0W2Rpc2FibGVkXSBhLmJ0bntwb2ludGVyLWV2ZW50czpub25lfS5idG4tZGVmYXVsdHtjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2NjY30uYnRuLWRlZmF1bHQuZm9jdXMsLmJ0bi1kZWZhdWx0OmZvY3Vze2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZTZlNmU2O2JvcmRlci1jb2xvcjojOGM4YzhjfS5idG4tZGVmYXVsdDpob3Zlcntjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6I2U2ZTZlNjtib3JkZXItY29sb3I6I2FkYWRhZH0uYnRuLWRlZmF1bHQuYWN0aXZlLC5idG4tZGVmYXVsdDphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdHtjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6I2U2ZTZlNjtib3JkZXItY29sb3I6I2FkYWRhZH0uYnRuLWRlZmF1bHQuYWN0aXZlLmZvY3VzLC5idG4tZGVmYXVsdC5hY3RpdmU6Zm9jdXMsLmJ0bi1kZWZhdWx0LmFjdGl2ZTpob3ZlciwuYnRuLWRlZmF1bHQ6YWN0aXZlLmZvY3VzLC5idG4tZGVmYXVsdDphY3RpdmU6Zm9jdXMsLmJ0bi1kZWZhdWx0OmFjdGl2ZTpob3Zlciwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0LmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQ6Zm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdDpob3Zlcntjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6I2Q0ZDRkNDtib3JkZXItY29sb3I6IzhjOGM4Y30uYnRuLWRlZmF1bHQuYWN0aXZlLC5idG4tZGVmYXVsdDphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdHtiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LmJ0bi1kZWZhdWx0LmRpc2FibGVkLmZvY3VzLC5idG4tZGVmYXVsdC5kaXNhYmxlZDpmb2N1cywuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6aG92ZXIsLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXS5mb2N1cywuYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmZvY3VzLC5idG4tZGVmYXVsdFtkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdC5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0OmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1jb2xvcjojY2NjfS5idG4tZGVmYXVsdCAuYmFkZ2V7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzN9LmJ0bi1wcmltYXJ5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O2JvcmRlci1jb2xvcjojMmU2ZGE0fS5idG4tcHJpbWFyeS5mb2N1cywuYnRuLXByaW1hcnk6Zm9jdXN7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyODYwOTA7Ym9yZGVyLWNvbG9yOiMxMjJiNDB9LmJ0bi1wcmltYXJ5OmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjg2MDkwO2JvcmRlci1jb2xvcjojMjA0ZDc0fS5idG4tcHJpbWFyeS5hY3RpdmUsLmJ0bi1wcmltYXJ5OmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjg2MDkwO2JvcmRlci1jb2xvcjojMjA0ZDc0fS5idG4tcHJpbWFyeS5hY3RpdmUuZm9jdXMsLmJ0bi1wcmltYXJ5LmFjdGl2ZTpmb2N1cywuYnRuLXByaW1hcnkuYWN0aXZlOmhvdmVyLC5idG4tcHJpbWFyeTphY3RpdmUuZm9jdXMsLmJ0bi1wcmltYXJ5OmFjdGl2ZTpmb2N1cywuYnRuLXByaW1hcnk6YWN0aXZlOmhvdmVyLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnkuZm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeTpmb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5OmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjA0ZDc0O2JvcmRlci1jb2xvcjojMTIyYjQwfS5idG4tcHJpbWFyeS5hY3RpdmUsLmJ0bi1wcmltYXJ5OmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5e2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uYnRuLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMsLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLC5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3ZlciwuYnRuLXByaW1hcnlbZGlzYWJsZWRdLmZvY3VzLC5idG4tcHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5LmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnk6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Ym9yZGVyLWNvbG9yOiMyZTZkYTR9LmJ0bi1wcmltYXJ5IC5iYWRnZXtjb2xvcjojMzM3YWI3O2JhY2tncm91bmQtY29sb3I6I2ZmZn0uYnRuLXN1Y2Nlc3N7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1Y2I4NWM7Ym9yZGVyLWNvbG9yOiM0Y2FlNGN9LmJ0bi1zdWNjZXNzLmZvY3VzLC5idG4tc3VjY2Vzczpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzQ0OWQ0NDtib3JkZXItY29sb3I6IzI1NTYyNX0uYnRuLXN1Y2Nlc3M6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM0NDlkNDQ7Ym9yZGVyLWNvbG9yOiMzOTg0Mzl9LmJ0bi1zdWNjZXNzLmFjdGl2ZSwuYnRuLXN1Y2Nlc3M6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3N7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM0NDlkNDQ7Ym9yZGVyLWNvbG9yOiMzOTg0Mzl9LmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cywuYnRuLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLC5idG4tc3VjY2Vzcy5hY3RpdmU6aG92ZXIsLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywuYnRuLXN1Y2Nlc3M6YWN0aXZlOmZvY3VzLC5idG4tc3VjY2VzczphY3RpdmU6aG92ZXIsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzcy5mb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzOmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3M6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzOTg0Mzk7Ym9yZGVyLWNvbG9yOiMyNTU2MjV9LmJ0bi1zdWNjZXNzLmFjdGl2ZSwuYnRuLXN1Y2Nlc3M6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3N7YmFja2dyb3VuZC1pbWFnZTpub25lfS5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cywuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLC5idG4tc3VjY2Vzc1tkaXNhYmxlZF0uZm9jdXMsLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3MuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzczpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzVjYjg1Yztib3JkZXItY29sb3I6IzRjYWU0Y30uYnRuLXN1Y2Nlc3MgLmJhZGdle2NvbG9yOiM1Y2I4NWM7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5idG4taW5mb3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzViYzBkZTtib3JkZXItY29sb3I6IzQ2YjhkYX0uYnRuLWluZm8uZm9jdXMsLmJ0bi1pbmZvOmZvY3Vze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzFiMGQ1O2JvcmRlci1jb2xvcjojMWI2ZDg1fS5idG4taW5mbzpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMxYjBkNTtib3JkZXItY29sb3I6IzI2OWFiY30uYnRuLWluZm8uYWN0aXZlLC5idG4taW5mbzphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mb3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMxYjBkNTtib3JkZXItY29sb3I6IzI2OWFiY30uYnRuLWluZm8uYWN0aXZlLmZvY3VzLC5idG4taW5mby5hY3RpdmU6Zm9jdXMsLmJ0bi1pbmZvLmFjdGl2ZTpob3ZlciwuYnRuLWluZm86YWN0aXZlLmZvY3VzLC5idG4taW5mbzphY3RpdmU6Zm9jdXMsLmJ0bi1pbmZvOmFjdGl2ZTpob3Zlciwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvLmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWluZm86Zm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mbzpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI2OWFiYztib3JkZXItY29sb3I6IzFiNmQ4NX0uYnRuLWluZm8uYWN0aXZlLC5idG4taW5mbzphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mb3tiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LmJ0bi1pbmZvLmRpc2FibGVkLmZvY3VzLC5idG4taW5mby5kaXNhYmxlZDpmb2N1cywuYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsLmJ0bi1pbmZvW2Rpc2FibGVkXS5mb2N1cywuYnRuLWluZm9bZGlzYWJsZWRdOmZvY3VzLC5idG4taW5mb1tkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mby5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm86aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNWJjMGRlO2JvcmRlci1jb2xvcjojNDZiOGRhfS5idG4taW5mbyAuYmFkZ2V7Y29sb3I6IzViYzBkZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmJ0bi13YXJuaW5ne2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZjBhZDRlO2JvcmRlci1jb2xvcjojZWVhMjM2fS5idG4td2FybmluZy5mb2N1cywuYnRuLXdhcm5pbmc6Zm9jdXN7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNlYzk3MWY7Ym9yZGVyLWNvbG9yOiM5ODVmMGR9LmJ0bi13YXJuaW5nOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZWM5NzFmO2JvcmRlci1jb2xvcjojZDU4NTEyfS5idG4td2FybmluZy5hY3RpdmUsLmJ0bi13YXJuaW5nOmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5ne2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZWM5NzFmO2JvcmRlci1jb2xvcjojZDU4NTEyfS5idG4td2FybmluZy5hY3RpdmUuZm9jdXMsLmJ0bi13YXJuaW5nLmFjdGl2ZTpmb2N1cywuYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLC5idG4td2FybmluZzphY3RpdmUuZm9jdXMsLmJ0bi13YXJuaW5nOmFjdGl2ZTpmb2N1cywuYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmcuZm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZzpmb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZDU4NTEyO2JvcmRlci1jb2xvcjojOTg1ZjBkfS5idG4td2FybmluZy5hY3RpdmUsLmJ0bi13YXJuaW5nOmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5ne2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsLmJ0bi13YXJuaW5nLmRpc2FibGVkOmZvY3VzLC5idG4td2FybmluZy5kaXNhYmxlZDpob3ZlciwuYnRuLXdhcm5pbmdbZGlzYWJsZWRdLmZvY3VzLC5idG4td2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmc6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmMGFkNGU7Ym9yZGVyLWNvbG9yOiNlZWEyMzZ9LmJ0bi13YXJuaW5nIC5iYWRnZXtjb2xvcjojZjBhZDRlO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uYnRuLWRhbmdlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2Q5NTM0Zjtib3JkZXItY29sb3I6I2Q0M2YzYX0uYnRuLWRhbmdlci5mb2N1cywuYnRuLWRhbmdlcjpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2M5MzAyYztib3JkZXItY29sb3I6Izc2MWMxOX0uYnRuLWRhbmdlcjpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2M5MzAyYztib3JkZXItY29sb3I6I2FjMjkyNX0uYnRuLWRhbmdlci5hY3RpdmUsLmJ0bi1kYW5nZXI6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2M5MzAyYztib3JkZXItY29sb3I6I2FjMjkyNX0uYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMsLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLC5idG4tZGFuZ2VyLmFjdGl2ZTpob3ZlciwuYnRuLWRhbmdlcjphY3RpdmUuZm9jdXMsLmJ0bi1kYW5nZXI6YWN0aXZlOmZvY3VzLC5idG4tZGFuZ2VyOmFjdGl2ZTpob3Zlciwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXIuZm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyOmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlcjpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2FjMjkyNTtib3JkZXItY29sb3I6Izc2MWMxOX0uYnRuLWRhbmdlci5hY3RpdmUsLmJ0bi1kYW5nZXI6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlcntiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsLmJ0bi1kYW5nZXJbZGlzYWJsZWRdLmZvY3VzLC5idG4tZGFuZ2VyW2Rpc2FibGVkXTpmb2N1cywuYnRuLWRhbmdlcltkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlcjpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZDk1MzRmO2JvcmRlci1jb2xvcjojZDQzZjNhfS5idG4tZGFuZ2VyIC5iYWRnZXtjb2xvcjojZDk1MzRmO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uYnRuLWxpbmt7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiMzMzdhYjc7Ym9yZGVyLXJhZGl1czowfS5idG4tbGluaywuYnRuLWxpbmsuYWN0aXZlLC5idG4tbGluazphY3RpdmUsLmJ0bi1saW5rW2Rpc2FibGVkXSxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5re2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS5idG4tbGluaywuYnRuLWxpbms6YWN0aXZlLC5idG4tbGluazpmb2N1cywuYnRuLWxpbms6aG92ZXJ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tbGluazpmb2N1cywuYnRuLWxpbms6aG92ZXJ7Y29sb3I6IzIzNTI3Yzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cywuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWxpbms6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbGluazpob3Zlcntjb2xvcjojNzc3O3RleHQtZGVjb3JhdGlvbjpub25lfS5idG4tZ3JvdXAtbGc+LmJ0biwuYnRuLWxne3BhZGRpbmc6MTBweCAxNnB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjEuMzMzMzMzMztib3JkZXItcmFkaXVzOjZweH0uYnRuLWdyb3VwLXNtPi5idG4sLmJ0bi1zbXtwYWRkaW5nOjVweCAxMHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOjNweH0uYnRuLWdyb3VwLXhzPi5idG4sLmJ0bi14c3twYWRkaW5nOjFweCA1cHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6M3B4fS5idG4tYmxvY2t7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS5idG4tYmxvY2srLmJ0bi1ibG9ja3ttYXJnaW4tdG9wOjVweH1pbnB1dFt0eXBlPWJ1dHRvbl0uYnRuLWJsb2NrLGlucHV0W3R5cGU9cmVzZXRdLmJ0bi1ibG9jayxpbnB1dFt0eXBlPXN1Ym1pdF0uYnRuLWJsb2Nre3dpZHRoOjEwMCV9LmZhZGV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyOy1vLXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcjt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXJ9LmZhZGUuaW57b3BhY2l0eToxfS5jb2xsYXBzZXtkaXNwbGF5Om5vbmV9LmNvbGxhcHNlLmlue2Rpc3BsYXk6YmxvY2t9dHIuY29sbGFwc2UuaW57ZGlzcGxheTp0YWJsZS1yb3d9dGJvZHkuY29sbGFwc2UuaW57ZGlzcGxheTp0YWJsZS1yb3ctZ3JvdXB9LmNvbGxhcHNpbmd7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZTstby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2U7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zNXM7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzO3RyYW5zaXRpb24tZHVyYXRpb246LjM1czstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LHZpc2liaWxpdHk7LW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTpoZWlnaHQsdmlzaWJpbGl0eTt0cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCx2aXNpYmlsaXR5fS5jYXJldHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDowO2hlaWdodDowO21hcmdpbi1sZWZ0OjJweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyLXRvcDo0cHggZGFzaGVkO2JvcmRlci10b3A6NHB4IHNvbGlkXDk7Ym9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnR9LmRyb3Bkb3duLC5kcm9wdXB7cG9zaXRpb246cmVsYXRpdmV9LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tvdXRsaW5lOjB9LmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7bGVmdDowO3otaW5kZXg6MTAwMDtkaXNwbGF5Om5vbmU7ZmxvYXQ6bGVmdDttaW4td2lkdGg6MTYwcHg7cGFkZGluZzo1cHggMDttYXJnaW46MnB4IDAgMDtmb250LXNpemU6MTRweDt0ZXh0LWFsaWduOmxlZnQ7bGlzdC1zdHlsZTpub25lO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LWJhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMTUpO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDZweCAxMnB4IHJnYmEoMCwwLDAsLjE3NSk7Ym94LXNoYWRvdzowIDZweCAxMnB4IHJnYmEoMCwwLDAsLjE3NSl9LmRyb3Bkb3duLW1lbnUucHVsbC1yaWdodHtyaWdodDowO2xlZnQ6YXV0b30uZHJvcGRvd24tbWVudSAuZGl2aWRlcntoZWlnaHQ6MXB4O21hcmdpbjo5cHggMDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojZTVlNWU1fS5kcm9wZG93bi1tZW51PmxpPmF7ZGlzcGxheTpibG9jaztwYWRkaW5nOjNweCAyMHB4O2NsZWFyOmJvdGg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6IzMzMzt3aGl0ZS1zcGFjZTpub3dyYXB9LmRyb3Bkb3duLW1lbnU+bGk+YTpmb2N1cywuZHJvcGRvd24tbWVudT5saT5hOmhvdmVye2NvbG9yOiMyNjI2MjY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1fS5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YSwuZHJvcGRvd24tbWVudT4uYWN0aXZlPmE6Zm9jdXMsLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O291dGxpbmU6MH0uZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YSwuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpmb2N1cywuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpob3Zlcntjb2xvcjojNzc3fS5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmZvY3VzLC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpub3QtYWxsb3dlZDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpfS5vcGVuPi5kcm9wZG93bi1tZW51e2Rpc3BsYXk6YmxvY2t9Lm9wZW4+YXtvdXRsaW5lOjB9LmRyb3Bkb3duLW1lbnUtcmlnaHR7cmlnaHQ6MDtsZWZ0OmF1dG99LmRyb3Bkb3duLW1lbnUtbGVmdHtyaWdodDphdXRvO2xlZnQ6MH0uZHJvcGRvd24taGVhZGVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZzozcHggMjBweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiM3Nzc7d2hpdGUtc3BhY2U6bm93cmFwfS5kcm9wZG93bi1iYWNrZHJvcHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4Ojk5MH0ucHVsbC1yaWdodD4uZHJvcGRvd24tbWVudXtyaWdodDowO2xlZnQ6YXV0b30uZHJvcHVwIC5jYXJldCwubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmNhcmV0e2NvbnRlbnQ6IiI7Ym9yZGVyLXRvcDowO2JvcmRlci1ib3R0b206NHB4IGRhc2hlZDtib3JkZXItYm90dG9tOjRweCBzb2xpZFw5fS5kcm9wdXAgLmRyb3Bkb3duLW1lbnUsLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51e3RvcDphdXRvO2JvdHRvbToxMDAlO21hcmdpbi1ib3R0b206MnB4fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLXJpZ2h0IC5kcm9wZG93bi1tZW51e3JpZ2h0OjA7bGVmdDphdXRvfS5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUtbGVmdHtyaWdodDphdXRvO2xlZnQ6MH19LmJ0bi1ncm91cCwuYnRuLWdyb3VwLXZlcnRpY2Fse3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4sLmJ0bi1ncm91cD4uYnRue3Bvc2l0aW9uOnJlbGF0aXZlO2Zsb2F0OmxlZnR9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLmFjdGl2ZSwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46YWN0aXZlLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpmb2N1cywuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46aG92ZXIsLmJ0bi1ncm91cD4uYnRuLmFjdGl2ZSwuYnRuLWdyb3VwPi5idG46YWN0aXZlLC5idG4tZ3JvdXA+LmJ0bjpmb2N1cywuYnRuLWdyb3VwPi5idG46aG92ZXJ7ei1pbmRleDoyfS5idG4tZ3JvdXAgLmJ0bisuYnRuLC5idG4tZ3JvdXAgLmJ0bisuYnRuLWdyb3VwLC5idG4tZ3JvdXAgLmJ0bi1ncm91cCsuYnRuLC5idG4tZ3JvdXAgLmJ0bi1ncm91cCsuYnRuLWdyb3Vwe21hcmdpbi1sZWZ0Oi0xcHh9LmJ0bi10b29sYmFye21hcmdpbi1sZWZ0Oi01cHh9LmJ0bi10b29sYmFyIC5idG4sLmJ0bi10b29sYmFyIC5idG4tZ3JvdXAsLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cHtmbG9hdDpsZWZ0fS5idG4tdG9vbGJhcj4uYnRuLC5idG4tdG9vbGJhcj4uYnRuLWdyb3VwLC5idG4tdG9vbGJhcj4uaW5wdXQtZ3JvdXB7bWFyZ2luLWxlZnQ6NXB4fS5idG4tZ3JvdXA+LmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKXtib3JkZXItcmFkaXVzOjB9LmJ0bi1ncm91cD4uYnRuOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9LmJ0bi1ncm91cD4uYnRuOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpe2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uYnRuLWdyb3VwPi5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwuYnRuLWdyb3VwPi5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCl7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uYnRuLWdyb3VwPi5idG4tZ3JvdXB7ZmxvYXQ6bGVmdH0uYnRuLWdyb3VwPi5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKT4uYnRue2JvcmRlci1yYWRpdXM6MH0uYnRuLWdyb3VwPi5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKT4uYnRuOmxhc3QtY2hpbGQsLmJ0bi1ncm91cD4uYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCk+LmRyb3Bkb3duLXRvZ2dsZXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmJ0bi1ncm91cD4uYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCk+LmJ0bjpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGV7b3V0bGluZTowfS5idG4tZ3JvdXA+LmJ0bisuZHJvcGRvd24tdG9nZ2xle3BhZGRpbmctcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDo4cHh9LmJ0bi1ncm91cD4uYnRuLWxnKy5kcm9wZG93bi10b2dnbGV7cGFkZGluZy1yaWdodDoxMnB4O3BhZGRpbmctbGVmdDoxMnB4fS5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xley13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KTtib3gtc2hhZG93Omluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpfS5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1saW5rey13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0uYnRuIC5jYXJldHttYXJnaW4tbGVmdDowfS5idG4tbGcgLmNhcmV0e2JvcmRlci13aWR0aDo1cHggNXB4IDA7Ym9yZGVyLWJvdHRvbS13aWR0aDowfS5kcm9wdXAgLmJ0bi1sZyAuY2FyZXR7Ym9yZGVyLXdpZHRoOjAgNXB4IDVweH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cD4uYnRue2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bm9uZTt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cD4uYnRue2Zsb2F0Om5vbmV9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuKy5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuKy5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwKy5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwKy5idG4tZ3JvdXB7bWFyZ2luLXRvcDotMXB4O21hcmdpbi1sZWZ0OjB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHh9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk+LmJ0bntib3JkZXItcmFkaXVzOjB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCk+LmJ0bjpsYXN0LWNoaWxkLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpPi5kcm9wZG93bi10b2dnbGV7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCk+LmJ0bjpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0uYnRuLWdyb3VwLWp1c3RpZmllZHtkaXNwbGF5OnRhYmxlO3dpZHRoOjEwMCU7dGFibGUtbGF5b3V0OmZpeGVkO2JvcmRlci1jb2xsYXBzZTpzZXBhcmF0ZX0uYnRuLWdyb3VwLWp1c3RpZmllZD4uYnRuLC5idG4tZ3JvdXAtanVzdGlmaWVkPi5idG4tZ3JvdXB7ZGlzcGxheTp0YWJsZS1jZWxsO2Zsb2F0Om5vbmU7d2lkdGg6MSV9LmJ0bi1ncm91cC1qdXN0aWZpZWQ+LmJ0bi1ncm91cCAuYnRue3dpZHRoOjEwMCV9LmJ0bi1ncm91cC1qdXN0aWZpZWQ+LmJ0bi1ncm91cCAuZHJvcGRvd24tbWVudXtsZWZ0OmF1dG99W2RhdGEtdG9nZ2xlPWJ1dHRvbnNdPi5idG4gaW5wdXRbdHlwZT1jaGVja2JveF0sW2RhdGEtdG9nZ2xlPWJ1dHRvbnNdPi5idG4gaW5wdXRbdHlwZT1yYWRpb10sW2RhdGEtdG9nZ2xlPWJ1dHRvbnNdPi5idG4tZ3JvdXA+LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSxbZGF0YS10b2dnbGU9YnV0dG9uc10+LmJ0bi1ncm91cD4uYnRuIGlucHV0W3R5cGU9cmFkaW9de3Bvc2l0aW9uOmFic29sdXRlO2NsaXA6cmVjdCgwLDAsMCwwKTtwb2ludGVyLWV2ZW50czpub25lfS5pbnB1dC1ncm91cHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OnRhYmxlO2JvcmRlci1jb2xsYXBzZTpzZXBhcmF0ZX0uaW5wdXQtZ3JvdXBbY2xhc3MqPWNvbC1de2Zsb2F0Om5vbmU7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfS5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9se3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjtmbG9hdDpsZWZ0O3dpZHRoOjEwMCU7bWFyZ2luLWJvdHRvbTowfS5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZvY3Vze3otaW5kZXg6M30uaW5wdXQtZ3JvdXAtbGc+LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFkZG9uLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYnRuPi5idG57aGVpZ2h0OjQ2cHg7cGFkZGluZzoxMHB4IDE2cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MS4zMzMzMzMzO2JvcmRlci1yYWRpdXM6NnB4fXNlbGVjdC5pbnB1dC1ncm91cC1sZz4uZm9ybS1jb250cm9sLHNlbGVjdC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYWRkb24sc2VsZWN0LmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1idG4+LmJ0bntoZWlnaHQ6NDZweDtsaW5lLWhlaWdodDo0NnB4fXNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtbGc+LmZvcm0tY29udHJvbCxzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hZGRvbixzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1idG4+LmJ0bix0ZXh0YXJlYS5pbnB1dC1ncm91cC1sZz4uZm9ybS1jb250cm9sLHRleHRhcmVhLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hZGRvbix0ZXh0YXJlYS5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYnRuPi5idG57aGVpZ2h0OmF1dG99LmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2wsLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hZGRvbiwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWJ0bj4uYnRue2hlaWdodDozMHB4O3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6M3B4fXNlbGVjdC5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sLHNlbGVjdC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYWRkb24sc2VsZWN0LmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1idG4+LmJ0bntoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4fXNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20+LmZvcm0tY29udHJvbCxzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hZGRvbixzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1idG4+LmJ0bix0ZXh0YXJlYS5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sLHRleHRhcmVhLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hZGRvbix0ZXh0YXJlYS5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYnRuPi5idG57aGVpZ2h0OmF1dG99LmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wsLmlucHV0LWdyb3VwLWFkZG9uLC5pbnB1dC1ncm91cC1idG57ZGlzcGxheTp0YWJsZS1jZWxsfS5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpe2JvcmRlci1yYWRpdXM6MH0uaW5wdXQtZ3JvdXAtYWRkb24sLmlucHV0LWdyb3VwLWJ0bnt3aWR0aDoxJTt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5pbnB1dC1ncm91cC1hZGRvbntwYWRkaW5nOjZweCAxMnB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxO2NvbG9yOiM1NTU7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItcmFkaXVzOjRweH0uaW5wdXQtZ3JvdXAtYWRkb24uaW5wdXQtc217cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweDtib3JkZXItcmFkaXVzOjNweH0uaW5wdXQtZ3JvdXAtYWRkb24uaW5wdXQtbGd7cGFkZGluZzoxMHB4IDE2cHg7Zm9udC1zaXplOjE4cHg7Ym9yZGVyLXJhZGl1czo2cHh9LmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9Y2hlY2tib3hdLC5pbnB1dC1ncm91cC1hZGRvbiBpbnB1dFt0eXBlPXJhZGlvXXttYXJnaW4tdG9wOjB9LmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQsLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5idG4tZ3JvdXA+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5kcm9wZG93bi10b2dnbGUsLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKT4uYnRuLC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpe2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0OjB9LmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCwuaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCwuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5idG46bm90KDpmaXJzdC1jaGlsZCksLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG4sLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG4tZ3JvdXA+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQ+LmRyb3Bkb3duLXRvZ2dsZXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxke2JvcmRlci1sZWZ0OjB9LmlucHV0LWdyb3VwLWJ0bntwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6MDt3aGl0ZS1zcGFjZTpub3dyYXB9LmlucHV0LWdyb3VwLWJ0bj4uYnRue3Bvc2l0aW9uOnJlbGF0aXZlfS5pbnB1dC1ncm91cC1idG4+LmJ0bisuYnRue21hcmdpbi1sZWZ0Oi0xcHh9LmlucHV0LWdyb3VwLWJ0bj4uYnRuOmFjdGl2ZSwuaW5wdXQtZ3JvdXAtYnRuPi5idG46Zm9jdXMsLmlucHV0LWdyb3VwLWJ0bj4uYnRuOmhvdmVye3otaW5kZXg6Mn0uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5idG4sLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZD4uYnRuLWdyb3Vwe21hcmdpbi1yaWdodDotMXB4fS5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uYnRuLC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uYnRuLWdyb3Vwe3otaW5kZXg6MjttYXJnaW4tbGVmdDotMXB4fS5uYXZ7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWJvdHRvbTowO2xpc3Qtc3R5bGU6bm9uZX0ubmF2Pmxpe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2t9Lm5hdj5saT5he3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7cGFkZGluZzoxMHB4IDE1cHh9Lm5hdj5saT5hOmZvY3VzLC5uYXY+bGk+YTpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9Lm5hdj5saS5kaXNhYmxlZD5he2NvbG9yOiM3Nzd9Lm5hdj5saS5kaXNhYmxlZD5hOmZvY3VzLC5uYXY+bGkuZGlzYWJsZWQ+YTpob3Zlcntjb2xvcjojNzc3O3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpub3QtYWxsb3dlZDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXYgLm9wZW4+YSwubmF2IC5vcGVuPmE6Zm9jdXMsLm5hdiAub3Blbj5hOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXItY29sb3I6IzMzN2FiN30ubmF2IC5uYXYtZGl2aWRlcntoZWlnaHQ6MXB4O21hcmdpbjo5cHggMDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojZTVlNWU1fS5uYXY+bGk+YT5pbWd7bWF4LXdpZHRoOm5vbmV9Lm5hdi10YWJze2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGR9Lm5hdi10YWJzPmxpe2Zsb2F0OmxlZnQ7bWFyZ2luLWJvdHRvbTotMXB4fS5uYXYtdGFicz5saT5he21hcmdpbi1yaWdodDoycHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mztib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NHB4IDRweCAwIDB9Lm5hdi10YWJzPmxpPmE6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNlZWUgI2VlZSAjZGRkfS5uYXYtdGFicz5saS5hY3RpdmU+YSwubmF2LXRhYnM+bGkuYWN0aXZlPmE6Zm9jdXMsLm5hdi10YWJzPmxpLmFjdGl2ZT5hOmhvdmVye2NvbG9yOiM1NTU7Y3Vyc29yOmRlZmF1bHQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZDtib3JkZXItYm90dG9tLWNvbG9yOnRyYW5zcGFyZW50fS5uYXYtdGFicy5uYXYtanVzdGlmaWVke3dpZHRoOjEwMCU7Ym9yZGVyLWJvdHRvbTowfS5uYXYtdGFicy5uYXYtanVzdGlmaWVkPmxpe2Zsb2F0Om5vbmV9Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tYm90dG9tOjVweDt0ZXh0LWFsaWduOmNlbnRlcn0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD4uZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87bGVmdDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2LXRhYnMubmF2LWp1c3RpZmllZD5saXtkaXNwbGF5OnRhYmxlLWNlbGw7d2lkdGg6MSV9Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tYm90dG9tOjB9fS5uYXYtdGFicy5uYXYtanVzdGlmaWVkPmxpPmF7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXJhZGl1czo0cHh9Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+LmFjdGl2ZT5hLC5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5hY3RpdmU+YTpmb2N1cywubmF2LXRhYnMubmF2LWp1c3RpZmllZD4uYWN0aXZlPmE6aG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2LXRhYnMubmF2LWp1c3RpZmllZD5saT5he2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD4uYWN0aXZlPmEsLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+LmFjdGl2ZT5hOmZvY3VzLC5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5hY3RpdmU+YTpob3Zlcntib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9fS5uYXYtcGlsbHM+bGl7ZmxvYXQ6bGVmdH0ubmF2LXBpbGxzPmxpPmF7Ym9yZGVyLXJhZGl1czo0cHh9Lm5hdi1waWxscz5saStsaXttYXJnaW4tbGVmdDoycHh9Lm5hdi1waWxscz5saS5hY3RpdmU+YSwubmF2LXBpbGxzPmxpLmFjdGl2ZT5hOmZvY3VzLC5uYXYtcGlsbHM+bGkuYWN0aXZlPmE6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjd9Lm5hdi1zdGFja2VkPmxpe2Zsb2F0Om5vbmV9Lm5hdi1zdGFja2VkPmxpK2xpe21hcmdpbi10b3A6MnB4O21hcmdpbi1sZWZ0OjB9Lm5hdi1qdXN0aWZpZWR7d2lkdGg6MTAwJX0ubmF2LWp1c3RpZmllZD5saXtmbG9hdDpub25lfS5uYXYtanVzdGlmaWVkPmxpPmF7bWFyZ2luLWJvdHRvbTo1cHg7dGV4dC1hbGlnbjpjZW50ZXJ9Lm5hdi1qdXN0aWZpZWQ+LmRyb3Bkb3duIC5kcm9wZG93bi1tZW51e3RvcDphdXRvO2xlZnQ6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdi1qdXN0aWZpZWQ+bGl7ZGlzcGxheTp0YWJsZS1jZWxsO3dpZHRoOjElfS5uYXYtanVzdGlmaWVkPmxpPmF7bWFyZ2luLWJvdHRvbTowfX0ubmF2LXRhYnMtanVzdGlmaWVke2JvcmRlci1ib3R0b206MH0ubmF2LXRhYnMtanVzdGlmaWVkPmxpPmF7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXJhZGl1czo0cHh9Lm5hdi10YWJzLWp1c3RpZmllZD4uYWN0aXZlPmEsLm5hdi10YWJzLWp1c3RpZmllZD4uYWN0aXZlPmE6Zm9jdXMsLm5hdi10YWJzLWp1c3RpZmllZD4uYWN0aXZlPmE6aG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2LXRhYnMtanVzdGlmaWVkPmxpPmF7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwfS5uYXYtdGFicy1qdXN0aWZpZWQ+LmFjdGl2ZT5hLC5uYXYtdGFicy1qdXN0aWZpZWQ+LmFjdGl2ZT5hOmZvY3VzLC5uYXYtdGFicy1qdXN0aWZpZWQ+LmFjdGl2ZT5hOmhvdmVye2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn19LnRhYi1jb250ZW50Pi50YWItcGFuZXtkaXNwbGF5Om5vbmV9LnRhYi1jb250ZW50Pi5hY3RpdmV7ZGlzcGxheTpibG9ja30ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnV7bWFyZ2luLXRvcDotMXB4O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5uYXZiYXJ7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4O21hcmdpbi1ib3R0b206MjBweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFye2JvcmRlci1yYWRpdXM6NHB4fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1oZWFkZXJ7ZmxvYXQ6bGVmdH19Lm5hdmJhci1jb2xsYXBzZXtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHg7b3ZlcmZsb3cteDp2aXNpYmxlOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2JvcmRlci10b3A6MXB4IHNvbGlkIHRyYW5zcGFyZW50Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubmF2YmFyLWNvbGxhcHNlLmlue292ZXJmbG93LXk6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1jb2xsYXBzZXt3aWR0aDphdXRvO2JvcmRlci10b3A6MDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZXtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDtoZWlnaHQ6YXV0byFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudH0ubmF2YmFyLWNvbGxhcHNlLmlue292ZXJmbG93LXk6dmlzaWJsZX0ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWNvbGxhcHNlLC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1zdGF0aWMtdG9wIC5uYXZiYXItY29sbGFwc2V7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfX0ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWNvbGxhcHNlLC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItY29sbGFwc2V7bWF4LWhlaWdodDozNDBweH1AbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6NDgwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWNvbGxhcHNlLC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItY29sbGFwc2V7bWF4LWhlaWdodDoyMDBweH19LmNvbnRhaW5lci1mbHVpZD4ubmF2YmFyLWNvbGxhcHNlLC5jb250YWluZXItZmx1aWQ+Lm5hdmJhci1oZWFkZXIsLmNvbnRhaW5lcj4ubmF2YmFyLWNvbGxhcHNlLC5jb250YWluZXI+Lm5hdmJhci1oZWFkZXJ7bWFyZ2luLXJpZ2h0Oi0xNXB4O21hcmdpbi1sZWZ0Oi0xNXB4fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuY29udGFpbmVyLWZsdWlkPi5uYXZiYXItY29sbGFwc2UsLmNvbnRhaW5lci1mbHVpZD4ubmF2YmFyLWhlYWRlciwuY29udGFpbmVyPi5uYXZiYXItY29sbGFwc2UsLmNvbnRhaW5lcj4ubmF2YmFyLWhlYWRlcnttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfX0ubmF2YmFyLXN0YXRpYy10b3B7ei1pbmRleDoxMDAwO2JvcmRlci13aWR0aDowIDAgMXB4fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLXN0YXRpYy10b3B7Ym9yZGVyLXJhZGl1czowfX0ubmF2YmFyLWZpeGVkLWJvdHRvbSwubmF2YmFyLWZpeGVkLXRvcHtwb3NpdGlvbjpmaXhlZDtyaWdodDowO2xlZnQ6MDt6LWluZGV4OjEwMzB9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItZml4ZWQtYm90dG9tLC5uYXZiYXItZml4ZWQtdG9we2JvcmRlci1yYWRpdXM6MH19Lm5hdmJhci1maXhlZC10b3B7dG9wOjA7Ym9yZGVyLXdpZHRoOjAgMCAxcHh9Lm5hdmJhci1maXhlZC1ib3R0b217Ym90dG9tOjA7bWFyZ2luLWJvdHRvbTowO2JvcmRlci13aWR0aDoxcHggMCAwfS5uYXZiYXItYnJhbmR7ZmxvYXQ6bGVmdDtoZWlnaHQ6NTBweDtwYWRkaW5nOjE1cHggMTVweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyMHB4fS5uYXZiYXItYnJhbmQ6Zm9jdXMsLm5hdmJhci1icmFuZDpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0ubmF2YmFyLWJyYW5kPmltZ3tkaXNwbGF5OmJsb2NrfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyPi5jb250YWluZXIgLm5hdmJhci1icmFuZCwubmF2YmFyPi5jb250YWluZXItZmx1aWQgLm5hdmJhci1icmFuZHttYXJnaW4tbGVmdDotMTVweH19Lm5hdmJhci10b2dnbGV7cG9zaXRpb246cmVsYXRpdmU7ZmxvYXQ6cmlnaHQ7cGFkZGluZzo5cHggMTBweDttYXJnaW4tdG9wOjhweDttYXJnaW4tcmlnaHQ6MTVweDttYXJnaW4tYm90dG9tOjhweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NHB4fS5uYXZiYXItdG9nZ2xlOmZvY3Vze291dGxpbmU6MH0ubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXJ7ZGlzcGxheTpibG9jazt3aWR0aDoyMnB4O2hlaWdodDoycHg7Ym9yZGVyLXJhZGl1czoxcHh9Lm5hdmJhci10b2dnbGUgLmljb24tYmFyKy5pY29uLWJhcnttYXJnaW4tdG9wOjRweH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci10b2dnbGV7ZGlzcGxheTpub25lfX0ubmF2YmFyLW5hdnttYXJnaW46Ny41cHggLTE1cHh9Lm5hdmJhci1uYXY+bGk+YXtwYWRkaW5nLXRvcDoxMHB4O3BhZGRpbmctYm90dG9tOjEwcHg7bGluZS1oZWlnaHQ6MjBweH1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7Lm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246c3RhdGljO2Zsb2F0Om5vbmU7d2lkdGg6YXV0bzttYXJnaW4tdG9wOjA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWhlYWRlciwubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5he3BhZGRpbmc6NXB4IDE1cHggNXB4IDI1cHh9Lm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YXtsaW5lLWhlaWdodDoyMHB4fS5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmE6Zm9jdXMsLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YTpob3ZlcntiYWNrZ3JvdW5kLWltYWdlOm5vbmV9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLW5hdntmbG9hdDpsZWZ0O21hcmdpbjowfS5uYXZiYXItbmF2Pmxpe2Zsb2F0OmxlZnR9Lm5hdmJhci1uYXY+bGk+YXtwYWRkaW5nLXRvcDoxNXB4O3BhZGRpbmctYm90dG9tOjE1cHh9fS5uYXZiYXItZm9ybXtwYWRkaW5nOjEwcHggMTVweDttYXJnaW4tdG9wOjhweDttYXJnaW4tcmlnaHQ6LTE1cHg7bWFyZ2luLWJvdHRvbTo4cHg7bWFyZ2luLWxlZnQ6LTE1cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSksMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSksMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1mb3JtIC5mb3JtLWdyb3Vwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1ib3R0b206MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm5hdmJhci1mb3JtIC5mb3JtLWNvbnRyb2x7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6YXV0bzt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm5hdmJhci1mb3JtIC5mb3JtLWNvbnRyb2wtc3RhdGlje2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXB7ZGlzcGxheTppbmxpbmUtdGFibGU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCwubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbiwubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG57d2lkdGg6YXV0b30ubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2x7d2lkdGg6MTAwJX0ubmF2YmFyLWZvcm0gLmNvbnRyb2wtbGFiZWx7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubmF2YmFyLWZvcm0gLmNoZWNrYm94LC5uYXZiYXItZm9ybSAucmFkaW97ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm5hdmJhci1mb3JtIC5jaGVja2JveCBsYWJlbCwubmF2YmFyLWZvcm0gLnJhZGlvIGxhYmVse3BhZGRpbmctbGVmdDowfS5uYXZiYXItZm9ybSAuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0sLm5hdmJhci1mb3JtIC5yYWRpbyBpbnB1dFt0eXBlPXJhZGlvXXtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tbGVmdDowfS5uYXZiYXItZm9ybSAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2t7dG9wOjB9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsubmF2YmFyLWZvcm0gLmZvcm0tZ3JvdXB7bWFyZ2luLWJvdHRvbTo1cHh9Lm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1mb3Jte3dpZHRoOmF1dG87cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjA7Ym9yZGVyOjA7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfX0ubmF2YmFyLW5hdj5saT4uZHJvcGRvd24tbWVudXttYXJnaW4tdG9wOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9Lm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXY+bGk+LmRyb3Bkb3duLW1lbnV7bWFyZ2luLWJvdHRvbTowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0ubmF2YmFyLWJ0bnttYXJnaW4tdG9wOjhweDttYXJnaW4tYm90dG9tOjhweH0ubmF2YmFyLWJ0bi5idG4tc217bWFyZ2luLXRvcDoxMHB4O21hcmdpbi1ib3R0b206MTBweH0ubmF2YmFyLWJ0bi5idG4teHN7bWFyZ2luLXRvcDoxNHB4O21hcmdpbi1ib3R0b206MTRweH0ubmF2YmFyLXRleHR7bWFyZ2luLXRvcDoxNXB4O21hcmdpbi1ib3R0b206MTVweH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci10ZXh0e2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OjE1cHg7bWFyZ2luLWxlZnQ6MTVweH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0ubmF2YmFyLXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudDttYXJnaW4tcmlnaHQ6LTE1cHh9Lm5hdmJhci1yaWdodH4ubmF2YmFyLXJpZ2h0e21hcmdpbi1yaWdodDowfX0ubmF2YmFyLWRlZmF1bHR7YmFja2dyb3VuZC1jb2xvcjojZjhmOGY4O2JvcmRlci1jb2xvcjojZTdlN2U3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5ke2NvbG9yOiM3Nzd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQ6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQ6aG92ZXJ7Y29sb3I6IzVlNWU1ZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRleHR7Y29sb3I6Izc3N30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+bGk+YXtjb2xvcjojNzc3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj5saT5hOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj5saT5hOmhvdmVye2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmFjdGl2ZT5hLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlPmE6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5hY3RpdmU+YTpob3Zlcntjb2xvcjojNTU1O2JhY2tncm91bmQtY29sb3I6I2U3ZTdlN30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmRpc2FibGVkPmEsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5kaXNhYmxlZD5hOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uZGlzYWJsZWQ+YTpob3Zlcntjb2xvcjojY2NjO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xle2JvcmRlci1jb2xvcjojZGRkfS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZGRkfS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXJ7YmFja2dyb3VuZC1jb2xvcjojODg4fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWNvbGxhcHNlLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWZvcm17Ym9yZGVyLWNvbG9yOiNlN2U3ZTd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5vcGVuPmEsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5vcGVuPmE6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5vcGVuPmE6aG92ZXJ7Y29sb3I6IzU1NTtiYWNrZ3JvdW5kLWNvbG9yOiNlN2U3ZTd9QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5he2NvbG9yOiM3Nzd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmE6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmE6aG92ZXJ7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uYWN0aXZlPmEsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hOmhvdmVye2NvbG9yOiM1NTU7YmFja2dyb3VuZC1jb2xvcjojZTdlN2U3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YSwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiNjY2M7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH19Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbGlua3tjb2xvcjojNzc3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWxpbms6aG92ZXJ7Y29sb3I6IzMzM30ubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5re2NvbG9yOiM3Nzd9Lm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpmb2N1cywubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmhvdmVye2NvbG9yOiMzMzN9Lm5hdmJhci1kZWZhdWx0IC5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6aG92ZXJ7Y29sb3I6I2NjY30ubmF2YmFyLWludmVyc2V7YmFja2dyb3VuZC1jb2xvcjojMjIyO2JvcmRlci1jb2xvcjojMDgwODA4fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5ke2NvbG9yOiM5ZDlkOWR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItYnJhbmQ6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItYnJhbmQ6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRleHR7Y29sb3I6IzlkOWQ5ZH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+bGk+YXtjb2xvcjojOWQ5ZDlkfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj5saT5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj5saT5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+LmFjdGl2ZT5hLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4uYWN0aXZlPmE6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5hY3RpdmU+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzA4MDgwOH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+LmRpc2FibGVkPmEsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5kaXNhYmxlZD5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4uZGlzYWJsZWQ+YTpob3Zlcntjb2xvcjojNDQ0O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xle2JvcmRlci1jb2xvcjojMzMzfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMzMzfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWNvbGxhcHNlLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWZvcm17Ym9yZGVyLWNvbG9yOiMxMDEwMTB9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5vcGVuPmEsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5vcGVuPmE6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5vcGVuPmE6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwODA4MDh9QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uZHJvcGRvd24taGVhZGVye2JvcmRlci1jb2xvcjojMDgwODA4fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSAuZGl2aWRlcntiYWNrZ3JvdW5kLWNvbG9yOiMwODA4MDh9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmF7Y29sb3I6IzlkOWQ5ZH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YSwubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwODA4MDh9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6aG92ZXJ7Y29sb3I6IzQ0NDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fX0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1saW5re2NvbG9yOiM5ZDlkOWR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluazpob3Zlcntjb2xvcjojZmZmfS5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbmt7Y29sb3I6IzlkOWQ5ZH0ubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6aG92ZXJ7Y29sb3I6I2ZmZn0ubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cywubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpob3Zlcntjb2xvcjojNDQ0fS5icmVhZGNydW1ie3BhZGRpbmc6OHB4IDE1cHg7bWFyZ2luLWJvdHRvbToyMHB4O2xpc3Qtc3R5bGU6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyLXJhZGl1czo0cHh9LmJyZWFkY3J1bWI+bGl7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmJyZWFkY3J1bWI+bGkrbGk6YmVmb3Jle3BhZGRpbmc6MCA1cHg7Y29sb3I6I2NjYztjb250ZW50OiIvXDAwYTAifS5icmVhZGNydW1iPi5hY3RpdmV7Y29sb3I6Izc3N30ucGFnaW5hdGlvbntkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLWxlZnQ6MDttYXJnaW46MjBweCAwO2JvcmRlci1yYWRpdXM6NHB4fS5wYWdpbmF0aW9uPmxpe2Rpc3BsYXk6aW5saW5lfS5wYWdpbmF0aW9uPmxpPmEsLnBhZ2luYXRpb24+bGk+c3Bhbntwb3NpdGlvbjpyZWxhdGl2ZTtmbG9hdDpsZWZ0O3BhZGRpbmc6NnB4IDEycHg7bWFyZ2luLWxlZnQ6LTFweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiMzMzdhYjc7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZH0ucGFnaW5hdGlvbj5saTpmaXJzdC1jaGlsZD5hLC5wYWdpbmF0aW9uPmxpOmZpcnN0LWNoaWxkPnNwYW57bWFyZ2luLWxlZnQ6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweH0ucGFnaW5hdGlvbj5saTpsYXN0LWNoaWxkPmEsLnBhZ2luYXRpb24+bGk6bGFzdC1jaGlsZD5zcGFue2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo0cHh9LnBhZ2luYXRpb24+bGk+YTpmb2N1cywucGFnaW5hdGlvbj5saT5hOmhvdmVyLC5wYWdpbmF0aW9uPmxpPnNwYW46Zm9jdXMsLnBhZ2luYXRpb24+bGk+c3Bhbjpob3Zlcnt6LWluZGV4OjI7Y29sb3I6IzIzNTI3YztiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Ym9yZGVyLWNvbG9yOiNkZGR9LnBhZ2luYXRpb24+LmFjdGl2ZT5hLC5wYWdpbmF0aW9uPi5hY3RpdmU+YTpmb2N1cywucGFnaW5hdGlvbj4uYWN0aXZlPmE6aG92ZXIsLnBhZ2luYXRpb24+LmFjdGl2ZT5zcGFuLC5wYWdpbmF0aW9uPi5hY3RpdmU+c3Bhbjpmb2N1cywucGFnaW5hdGlvbj4uYWN0aXZlPnNwYW46aG92ZXJ7ei1pbmRleDozO2NvbG9yOiNmZmY7Y3Vyc29yOmRlZmF1bHQ7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O2JvcmRlci1jb2xvcjojMzM3YWI3fS5wYWdpbmF0aW9uPi5kaXNhYmxlZD5hLC5wYWdpbmF0aW9uPi5kaXNhYmxlZD5hOmZvY3VzLC5wYWdpbmF0aW9uPi5kaXNhYmxlZD5hOmhvdmVyLC5wYWdpbmF0aW9uPi5kaXNhYmxlZD5zcGFuLC5wYWdpbmF0aW9uPi5kaXNhYmxlZD5zcGFuOmZvY3VzLC5wYWdpbmF0aW9uPi5kaXNhYmxlZD5zcGFuOmhvdmVye2NvbG9yOiM3Nzc7Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2RkZH0ucGFnaW5hdGlvbi1sZz5saT5hLC5wYWdpbmF0aW9uLWxnPmxpPnNwYW57cGFkZGluZzoxMHB4IDE2cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MS4zMzMzMzMzfS5wYWdpbmF0aW9uLWxnPmxpOmZpcnN0LWNoaWxkPmEsLnBhZ2luYXRpb24tbGc+bGk6Zmlyc3QtY2hpbGQ+c3Bhbntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjZweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjZweH0ucGFnaW5hdGlvbi1sZz5saTpsYXN0LWNoaWxkPmEsLnBhZ2luYXRpb24tbGc+bGk6bGFzdC1jaGlsZD5zcGFue2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjZweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czo2cHh9LnBhZ2luYXRpb24tc20+bGk+YSwucGFnaW5hdGlvbi1zbT5saT5zcGFue3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41fS5wYWdpbmF0aW9uLXNtPmxpOmZpcnN0LWNoaWxkPmEsLnBhZ2luYXRpb24tc20+bGk6Zmlyc3QtY2hpbGQ+c3Bhbntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweH0ucGFnaW5hdGlvbi1zbT5saTpsYXN0LWNoaWxkPmEsLnBhZ2luYXRpb24tc20+bGk6bGFzdC1jaGlsZD5zcGFue2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHh9LnBhZ2Vye3BhZGRpbmctbGVmdDowO21hcmdpbjoyMHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7bGlzdC1zdHlsZTpub25lfS5wYWdlciBsaXtkaXNwbGF5OmlubGluZX0ucGFnZXIgbGk+YSwucGFnZXIgbGk+c3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjVweCAxNHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJhZGl1czoxNXB4fS5wYWdlciBsaT5hOmZvY3VzLC5wYWdlciBsaT5hOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2VlZX0ucGFnZXIgLm5leHQ+YSwucGFnZXIgLm5leHQ+c3BhbntmbG9hdDpyaWdodH0ucGFnZXIgLnByZXZpb3VzPmEsLnBhZ2VyIC5wcmV2aW91cz5zcGFue2Zsb2F0OmxlZnR9LnBhZ2VyIC5kaXNhYmxlZD5hLC5wYWdlciAuZGlzYWJsZWQ+YTpmb2N1cywucGFnZXIgLmRpc2FibGVkPmE6aG92ZXIsLnBhZ2VyIC5kaXNhYmxlZD5zcGFue2NvbG9yOiM3Nzc7Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubGFiZWx7ZGlzcGxheTppbmxpbmU7cGFkZGluZzouMmVtIC42ZW0gLjNlbTtmb250LXNpemU6NzUlO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxO2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2JvcmRlci1yYWRpdXM6LjI1ZW19YS5sYWJlbDpmb2N1cyxhLmxhYmVsOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOnBvaW50ZXJ9LmxhYmVsOmVtcHR5e2Rpc3BsYXk6bm9uZX0uYnRuIC5sYWJlbHtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTFweH0ubGFiZWwtZGVmYXVsdHtiYWNrZ3JvdW5kLWNvbG9yOiM3Nzd9LmxhYmVsLWRlZmF1bHRbaHJlZl06Zm9jdXMsLmxhYmVsLWRlZmF1bHRbaHJlZl06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNWU1ZTVlfS5sYWJlbC1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6IzMzN2FiN30ubGFiZWwtcHJpbWFyeVtocmVmXTpmb2N1cywubGFiZWwtcHJpbWFyeVtocmVmXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyODYwOTB9LmxhYmVsLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojNWNiODVjfS5sYWJlbC1zdWNjZXNzW2hyZWZdOmZvY3VzLC5sYWJlbC1zdWNjZXNzW2hyZWZdOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzQ0OWQ0NH0ubGFiZWwtaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiM1YmMwZGV9LmxhYmVsLWluZm9baHJlZl06Zm9jdXMsLmxhYmVsLWluZm9baHJlZl06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMzFiMGQ1fS5sYWJlbC13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2YwYWQ0ZX0ubGFiZWwtd2FybmluZ1tocmVmXTpmb2N1cywubGFiZWwtd2FybmluZ1tocmVmXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlYzk3MWZ9LmxhYmVsLWRhbmdlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOTUzNGZ9LmxhYmVsLWRhbmdlcltocmVmXTpmb2N1cywubGFiZWwtZGFuZ2VyW2hyZWZdOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2M5MzAyY30uYmFkZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWluLXdpZHRoOjEwcHg7cGFkZGluZzozcHggN3B4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxO2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWNvbG9yOiM3Nzc7Ym9yZGVyLXJhZGl1czoxMHB4fS5iYWRnZTplbXB0eXtkaXNwbGF5Om5vbmV9LmJ0biAuYmFkZ2V7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0xcHh9LmJ0bi1ncm91cC14cz4uYnRuIC5iYWRnZSwuYnRuLXhzIC5iYWRnZXt0b3A6MDtwYWRkaW5nOjFweCA1cHh9YS5iYWRnZTpmb2N1cyxhLmJhZGdlOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOnBvaW50ZXJ9Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU+LmJhZGdlLC5uYXYtcGlsbHM+LmFjdGl2ZT5hPi5iYWRnZXtjb2xvcjojMzM3YWI3O2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubGlzdC1ncm91cC1pdGVtPi5iYWRnZXtmbG9hdDpyaWdodH0ubGlzdC1ncm91cC1pdGVtPi5iYWRnZSsuYmFkZ2V7bWFyZ2luLXJpZ2h0OjVweH0ubmF2LXBpbGxzPmxpPmE+LmJhZGdle21hcmdpbi1sZWZ0OjNweH0uanVtYm90cm9ue3BhZGRpbmctdG9wOjMwcHg7cGFkZGluZy1ib3R0b206MzBweDttYXJnaW4tYm90dG9tOjMwcHg7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9Lmp1bWJvdHJvbiAuaDEsLmp1bWJvdHJvbiBoMXtjb2xvcjppbmhlcml0fS5qdW1ib3Ryb24gcHttYXJnaW4tYm90dG9tOjE1cHg7Zm9udC1zaXplOjIxcHg7Zm9udC13ZWlnaHQ6MjAwfS5qdW1ib3Ryb24+aHJ7Ym9yZGVyLXRvcC1jb2xvcjojZDVkNWQ1fS5jb250YWluZXIgLmp1bWJvdHJvbiwuY29udGFpbmVyLWZsdWlkIC5qdW1ib3Ryb257cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4O2JvcmRlci1yYWRpdXM6NnB4fS5qdW1ib3Ryb24gLmNvbnRhaW5lcnttYXgtd2lkdGg6MTAwJX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KXsuanVtYm90cm9ue3BhZGRpbmctdG9wOjQ4cHg7cGFkZGluZy1ib3R0b206NDhweH0uY29udGFpbmVyIC5qdW1ib3Ryb24sLmNvbnRhaW5lci1mbHVpZCAuanVtYm90cm9ue3BhZGRpbmctcmlnaHQ6NjBweDtwYWRkaW5nLWxlZnQ6NjBweH0uanVtYm90cm9uIC5oMSwuanVtYm90cm9uIGgxe2ZvbnQtc2l6ZTo2M3B4fX0udGh1bWJuYWlse2Rpc3BsYXk6YmxvY2s7cGFkZGluZzo0cHg7bWFyZ2luLWJvdHRvbToyMHB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZDtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LXRyYW5zaXRpb246Ym9yZGVyIC4ycyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmJvcmRlciAuMnMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjpib3JkZXIgLjJzIGVhc2UtaW4tb3V0fS50aHVtYm5haWwgYT5pbWcsLnRodW1ibmFpbD5pbWd7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b31hLnRodW1ibmFpbC5hY3RpdmUsYS50aHVtYm5haWw6Zm9jdXMsYS50aHVtYm5haWw6aG92ZXJ7Ym9yZGVyLWNvbG9yOiMzMzdhYjd9LnRodW1ibmFpbCAuY2FwdGlvbntwYWRkaW5nOjlweDtjb2xvcjojMzMzfS5hbGVydHtwYWRkaW5nOjE1cHg7bWFyZ2luLWJvdHRvbToyMHB4O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo0cHh9LmFsZXJ0IGg0e21hcmdpbi10b3A6MDtjb2xvcjppbmhlcml0fS5hbGVydCAuYWxlcnQtbGlua3tmb250LXdlaWdodDo3MDB9LmFsZXJ0PnAsLmFsZXJ0PnVse21hcmdpbi1ib3R0b206MH0uYWxlcnQ+cCtwe21hcmdpbi10b3A6NXB4fS5hbGVydC1kaXNtaXNzYWJsZSwuYWxlcnQtZGlzbWlzc2libGV7cGFkZGluZy1yaWdodDozNXB4fS5hbGVydC1kaXNtaXNzYWJsZSAuY2xvc2UsLmFsZXJ0LWRpc21pc3NpYmxlIC5jbG9zZXtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTJweDtyaWdodDotMjFweDtjb2xvcjppbmhlcml0fS5hbGVydC1zdWNjZXNze2NvbG9yOiMzYzc2M2Q7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4O2JvcmRlci1jb2xvcjojZDZlOWM2fS5hbGVydC1zdWNjZXNzIGhye2JvcmRlci10b3AtY29sb3I6I2M5ZTJiM30uYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGlua3tjb2xvcjojMmI1NDJjfS5hbGVydC1pbmZve2NvbG9yOiMzMTcwOGY7YmFja2dyb3VuZC1jb2xvcjojZDllZGY3O2JvcmRlci1jb2xvcjojYmNlOGYxfS5hbGVydC1pbmZvIGhye2JvcmRlci10b3AtY29sb3I6I2E2ZTFlY30uYWxlcnQtaW5mbyAuYWxlcnQtbGlua3tjb2xvcjojMjQ1MjY5fS5hbGVydC13YXJuaW5ne2NvbG9yOiM4YTZkM2I7YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzO2JvcmRlci1jb2xvcjojZmFlYmNjfS5hbGVydC13YXJuaW5nIGhye2JvcmRlci10b3AtY29sb3I6I2Y3ZTFiNX0uYWxlcnQtd2FybmluZyAuYWxlcnQtbGlua3tjb2xvcjojNjY1MTJjfS5hbGVydC1kYW5nZXJ7Y29sb3I6I2E5NDQ0MjtiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGU7Ym9yZGVyLWNvbG9yOiNlYmNjZDF9LmFsZXJ0LWRhbmdlciBocntib3JkZXItdG9wLWNvbG9yOiNlNGI5YzB9LmFsZXJ0LWRhbmdlciAuYWxlcnQtbGlua3tjb2xvcjojODQzNTM0fUAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246NDBweCAwfXRve2JhY2tncm91bmQtcG9zaXRpb246MCAwfX1ALW8ta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVze2Zyb217YmFja2dyb3VuZC1wb3NpdGlvbjo0MHB4IDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9fUBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXN7ZnJvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjQwcHggMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH19LnByb2dyZXNze2hlaWdodDoyMHB4O21hcmdpbi1ib3R0b206MjBweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSl9LnByb2dyZXNzLWJhcntmbG9hdDpsZWZ0O3dpZHRoOjA7aGVpZ2h0OjEwMCU7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjBweDtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6IzMzN2FiNzstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpO2JveC1zaGFkb3c6aW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpOy13ZWJraXQtdHJhbnNpdGlvbjp3aWR0aCAuNnMgZWFzZTstby10cmFuc2l0aW9uOndpZHRoIC42cyBlYXNlO3RyYW5zaXRpb246d2lkdGggLjZzIGVhc2V9LnByb2dyZXNzLWJhci1zdHJpcGVkLC5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXJ7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo0MHB4IDQwcHg7YmFja2dyb3VuZC1zaXplOjQwcHggNDBweH0ucHJvZ3Jlc3MtYmFyLmFjdGl2ZSwucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXJ7LXdlYmtpdC1hbmltYXRpb246cHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlOy1vLWFuaW1hdGlvbjpwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZX0ucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojNWNiODVjfS5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXItc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpfS5wcm9ncmVzcy1iYXItaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiM1YmMwZGV9LnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci1pbmZve2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCl9LnByb2dyZXNzLWJhci13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2YwYWQ0ZX0ucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KX0ucHJvZ3Jlc3MtYmFyLWRhbmdlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOTUzNGZ9LnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci1kYW5nZXJ7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KX0ubWVkaWF7bWFyZ2luLXRvcDoxNXB4fS5tZWRpYTpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9Lm1lZGlhLC5tZWRpYS1ib2R5e292ZXJmbG93OmhpZGRlbjt6b29tOjF9Lm1lZGlhLWJvZHl7d2lkdGg6MTAwMDBweH0ubWVkaWEtb2JqZWN0e2Rpc3BsYXk6YmxvY2t9Lm1lZGlhLW9iamVjdC5pbWctdGh1bWJuYWlse21heC13aWR0aDpub25lfS5tZWRpYS1yaWdodCwubWVkaWE+LnB1bGwtcmlnaHR7cGFkZGluZy1sZWZ0OjEwcHh9Lm1lZGlhLWxlZnQsLm1lZGlhPi5wdWxsLWxlZnR7cGFkZGluZy1yaWdodDoxMHB4fS5tZWRpYS1ib2R5LC5tZWRpYS1sZWZ0LC5tZWRpYS1yaWdodHtkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246dG9wfS5tZWRpYS1taWRkbGV7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tZWRpYS1ib3R0b217dmVydGljYWwtYWxpZ246Ym90dG9tfS5tZWRpYS1oZWFkaW5ne21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjVweH0ubWVkaWEtbGlzdHtwYWRkaW5nLWxlZnQ6MDtsaXN0LXN0eWxlOm5vbmV9Lmxpc3QtZ3JvdXB7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWJvdHRvbToyMHB4fS5saXN0LWdyb3VwLWl0ZW17cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEwcHggMTVweDttYXJnaW4tYm90dG9tOi0xcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZH0ubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweH0ubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweH1hLmxpc3QtZ3JvdXAtaXRlbSxidXR0b24ubGlzdC1ncm91cC1pdGVte2NvbG9yOiM1NTV9YS5saXN0LWdyb3VwLWl0ZW0gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5ne2NvbG9yOiMzMzN9YS5saXN0LWdyb3VwLWl0ZW06Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW06aG92ZXIsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbTpmb2N1cyxidXR0b24ubGlzdC1ncm91cC1pdGVtOmhvdmVye2NvbG9yOiM1NTU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1fWJ1dHRvbi5saXN0LWdyb3VwLWl0ZW17d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmxlZnR9Lmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXJ7Y29sb3I6Izc3NztjdXJzb3I6bm90LWFsbG93ZWQ7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5ne2NvbG9yOmluaGVyaXR9Lmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCAubGlzdC1ncm91cC1pdGVtLXRleHQsLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLXRleHQsLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciAubGlzdC1ncm91cC1pdGVtLXRleHR7Y29sb3I6Izc3N30ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cywubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3Zlcnt6LWluZGV4OjI7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Ym9yZGVyLWNvbG9yOiMzMzdhYjd9Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZz4uc21hbGwsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nPnNtYWxsLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmc+LnNtYWxsLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZz5zbWFsbCwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nPi5zbWFsbCwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmc+c21hbGx7Y29sb3I6aW5oZXJpdH0ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSAubGlzdC1ncm91cC1pdGVtLXRleHQsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0tdGV4dHtjb2xvcjojYzdkZGVmfS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzc3tjb2xvcjojM2M3NjNkO2JhY2tncm91bmQtY29sb3I6I2RmZjBkOH1hLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzc3tjb2xvcjojM2M3NjNkfWEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7Y29sb3I6aW5oZXJpdH1hLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6aG92ZXIsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3Zlcntjb2xvcjojM2M3NjNkO2JhY2tncm91bmQtY29sb3I6I2QwZTljNn1hLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZSxhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlcixidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzNjNzYzZDtib3JkZXItY29sb3I6IzNjNzYzZH0ubGlzdC1ncm91cC1pdGVtLWluZm97Y29sb3I6IzMxNzA4ZjtiYWNrZ3JvdW5kLWNvbG9yOiNkOWVkZjd9YS5saXN0LWdyb3VwLWl0ZW0taW5mbyxidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm97Y29sb3I6IzMxNzA4Zn1hLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5ne2NvbG9yOmluaGVyaXR9YS5saXN0LWdyb3VwLWl0ZW0taW5mbzpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbzpmb2N1cyxidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm86aG92ZXJ7Y29sb3I6IzMxNzA4ZjtiYWNrZ3JvdW5kLWNvbG9yOiNjNGUzZjN9YS5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmUsYS5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXIsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZSxidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMTcwOGY7Ym9yZGVyLWNvbG9yOiMzMTcwOGZ9Lmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5ne2NvbG9yOiM4YTZkM2I7YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzfWEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5ne2NvbG9yOiM4YTZkM2J9YS5saXN0LWdyb3VwLWl0ZW0td2FybmluZyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZ3tjb2xvcjppbmhlcml0fWEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpob3ZlcixidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6Zm9jdXMsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmhvdmVye2NvbG9yOiM4YTZkM2I7YmFja2dyb3VuZC1jb2xvcjojZmFmMmNjfWEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlLGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmUsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpmb2N1cyxidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojOGE2ZDNiO2JvcmRlci1jb2xvcjojOGE2ZDNifS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2Vye2NvbG9yOiNhOTQ0NDI7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlfWEubGlzdC1ncm91cC1pdGVtLWRhbmdlcixidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlcntjb2xvcjojYTk0NDQyfWEubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5ne2NvbG9yOmluaGVyaXR9YS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpob3ZlcixidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpmb2N1cyxidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpob3Zlcntjb2xvcjojYTk0NDQyO2JhY2tncm91bmQtY29sb3I6I2ViY2NjY31hLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlLGEubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmU6Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpob3ZlcixidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmUsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2E5NDQ0Mjtib3JkZXItY29sb3I6I2E5NDQ0Mn0ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206NXB4fS5saXN0LWdyb3VwLWl0ZW0tdGV4dHttYXJnaW4tYm90dG9tOjA7bGluZS1oZWlnaHQ6MS4zfS5wYW5lbHttYXJnaW4tYm90dG9tOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSk7Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpfS5wYW5lbC1ib2R5e3BhZGRpbmc6MTVweH0ucGFuZWwtaGVhZGluZ3twYWRkaW5nOjEwcHggMTVweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjNweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHh9LnBhbmVsLWhlYWRpbmc+LmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGV7Y29sb3I6aW5oZXJpdH0ucGFuZWwtdGl0bGV7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTZweDtjb2xvcjppbmhlcml0fS5wYW5lbC10aXRsZT4uc21hbGwsLnBhbmVsLXRpdGxlPi5zbWFsbD5hLC5wYW5lbC10aXRsZT5hLC5wYW5lbC10aXRsZT5zbWFsbCwucGFuZWwtdGl0bGU+c21hbGw+YXtjb2xvcjppbmhlcml0fS5wYW5lbC1mb290ZXJ7cGFkZGluZzoxMHB4IDE1cHg7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6M3B4fS5wYW5lbD4ubGlzdC1ncm91cCwucGFuZWw+LnBhbmVsLWNvbGxhcHNlPi5saXN0LWdyb3Vwe21hcmdpbi1ib3R0b206MH0ucGFuZWw+Lmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbSwucGFuZWw+LnBhbmVsLWNvbGxhcHNlPi5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW17Ym9yZGVyLXdpZHRoOjFweCAwO2JvcmRlci1yYWRpdXM6MH0ucGFuZWw+Lmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCwucGFuZWw+LnBhbmVsLWNvbGxhcHNlPi5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcDowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweH0ucGFuZWw+Lmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQsLnBhbmVsPi5wYW5lbC1jb2xsYXBzZT4ubGlzdC1ncm91cDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6M3B4fS5wYW5lbD4ucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0ucGFuZWwtaGVhZGluZysubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxke2JvcmRlci10b3Atd2lkdGg6MH0ubGlzdC1ncm91cCsucGFuZWwtZm9vdGVye2JvcmRlci10b3Atd2lkdGg6MH0ucGFuZWw+LnBhbmVsLWNvbGxhcHNlPi50YWJsZSwucGFuZWw+LnRhYmxlLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGV7bWFyZ2luLWJvdHRvbTowfS5wYW5lbD4ucGFuZWwtY29sbGFwc2U+LnRhYmxlIGNhcHRpb24sLnBhbmVsPi50YWJsZSBjYXB0aW9uLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUgY2FwdGlvbntwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHh9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHh9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHh9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxke2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweH0ucGFuZWw+LnBhbmVsLWJvZHkrLnRhYmxlLC5wYW5lbD4ucGFuZWwtYm9keSsudGFibGUtcmVzcG9uc2l2ZSwucGFuZWw+LnRhYmxlKy5wYW5lbC1ib2R5LC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZSsucGFuZWwtYm9keXtib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkfS5wYW5lbD4udGFibGU+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQsLnBhbmVsPi50YWJsZT50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aHtib3JkZXItdG9wOjB9LnBhbmVsPi50YWJsZS1ib3JkZXJlZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfS5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoOmZpcnN0LWNoaWxke2JvcmRlci1sZWZ0OjB9LnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoOmxhc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0OjB9LnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpmaXJzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmZpcnN0LWNoaWxkPnRoLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cjpmaXJzdC1jaGlsZD50aCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmZpcnN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6Zmlyc3QtY2hpbGQ+dGgsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cjpmaXJzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyOmZpcnN0LWNoaWxkPnRoe2JvcmRlci1ib3R0b206MH0ucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmxhc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpsYXN0LWNoaWxkPnRoLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI6bGFzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyOmxhc3QtY2hpbGQ+dGgsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpsYXN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6bGFzdC1jaGlsZD50aCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyOmxhc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cjpsYXN0LWNoaWxkPnRoe2JvcmRlci1ib3R0b206MH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmV7bWFyZ2luLWJvdHRvbTowO2JvcmRlcjowfS5wYW5lbC1ncm91cHttYXJnaW4tYm90dG9tOjIwcHh9LnBhbmVsLWdyb3VwIC5wYW5lbHttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLXJhZGl1czo0cHh9LnBhbmVsLWdyb3VwIC5wYW5lbCsucGFuZWx7bWFyZ2luLXRvcDo1cHh9LnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5ne2JvcmRlci1ib3R0b206MH0ucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5saXN0LWdyb3VwLC5wYW5lbC1ncm91cCAucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RkZH0ucGFuZWwtZ3JvdXAgLnBhbmVsLWZvb3Rlcntib3JkZXItdG9wOjB9LnBhbmVsLWdyb3VwIC5wYW5lbC1mb290ZXIrLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5e2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGR9LnBhbmVsLWRlZmF1bHR7Ym9yZGVyLWNvbG9yOiNkZGR9LnBhbmVsLWRlZmF1bHQ+LnBhbmVsLWhlYWRpbmd7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyLWNvbG9yOiNkZGR9LnBhbmVsLWRlZmF1bHQ+LnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci10b3AtY29sb3I6I2RkZH0ucGFuZWwtZGVmYXVsdD4ucGFuZWwtaGVhZGluZyAuYmFkZ2V7Y29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWNvbG9yOiMzMzN9LnBhbmVsLWRlZmF1bHQ+LnBhbmVsLWZvb3RlcisucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZGRkfS5wYW5lbC1wcmltYXJ5e2JvcmRlci1jb2xvcjojMzM3YWI3fS5wYW5lbC1wcmltYXJ5Pi5wYW5lbC1oZWFkaW5ne2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O2JvcmRlci1jb2xvcjojMzM3YWI3fS5wYW5lbC1wcmltYXJ5Pi5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItdG9wLWNvbG9yOiMzMzdhYjd9LnBhbmVsLXByaW1hcnk+LnBhbmVsLWhlYWRpbmcgLmJhZGdle2NvbG9yOiMzMzdhYjc7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5wYW5lbC1wcmltYXJ5Pi5wYW5lbC1mb290ZXIrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci1ib3R0b20tY29sb3I6IzMzN2FiN30ucGFuZWwtc3VjY2Vzc3tib3JkZXItY29sb3I6I2Q2ZTljNn0ucGFuZWwtc3VjY2Vzcz4ucGFuZWwtaGVhZGluZ3tjb2xvcjojM2M3NjNkO2JhY2tncm91bmQtY29sb3I6I2RmZjBkODtib3JkZXItY29sb3I6I2Q2ZTljNn0ucGFuZWwtc3VjY2Vzcz4ucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLXRvcC1jb2xvcjojZDZlOWM2fS5wYW5lbC1zdWNjZXNzPi5wYW5lbC1oZWFkaW5nIC5iYWRnZXtjb2xvcjojZGZmMGQ4O2JhY2tncm91bmQtY29sb3I6IzNjNzYzZH0ucGFuZWwtc3VjY2Vzcz4ucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItYm90dG9tLWNvbG9yOiNkNmU5YzZ9LnBhbmVsLWluZm97Ym9yZGVyLWNvbG9yOiNiY2U4ZjF9LnBhbmVsLWluZm8+LnBhbmVsLWhlYWRpbmd7Y29sb3I6IzMxNzA4ZjtiYWNrZ3JvdW5kLWNvbG9yOiNkOWVkZjc7Ym9yZGVyLWNvbG9yOiNiY2U4ZjF9LnBhbmVsLWluZm8+LnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci10b3AtY29sb3I6I2JjZThmMX0ucGFuZWwtaW5mbz4ucGFuZWwtaGVhZGluZyAuYmFkZ2V7Y29sb3I6I2Q5ZWRmNztiYWNrZ3JvdW5kLWNvbG9yOiMzMTcwOGZ9LnBhbmVsLWluZm8+LnBhbmVsLWZvb3RlcisucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLWJvdHRvbS1jb2xvcjojYmNlOGYxfS5wYW5lbC13YXJuaW5ne2JvcmRlci1jb2xvcjojZmFlYmNjfS5wYW5lbC13YXJuaW5nPi5wYW5lbC1oZWFkaW5ne2NvbG9yOiM4YTZkM2I7YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzO2JvcmRlci1jb2xvcjojZmFlYmNjfS5wYW5lbC13YXJuaW5nPi5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItdG9wLWNvbG9yOiNmYWViY2N9LnBhbmVsLXdhcm5pbmc+LnBhbmVsLWhlYWRpbmcgLmJhZGdle2NvbG9yOiNmY2Y4ZTM7YmFja2dyb3VuZC1jb2xvcjojOGE2ZDNifS5wYW5lbC13YXJuaW5nPi5wYW5lbC1mb290ZXIrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci1ib3R0b20tY29sb3I6I2ZhZWJjY30ucGFuZWwtZGFuZ2Vye2JvcmRlci1jb2xvcjojZWJjY2QxfS5wYW5lbC1kYW5nZXI+LnBhbmVsLWhlYWRpbmd7Y29sb3I6I2E5NDQ0MjtiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGU7Ym9yZGVyLWNvbG9yOiNlYmNjZDF9LnBhbmVsLWRhbmdlcj4ucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLXRvcC1jb2xvcjojZWJjY2QxfS5wYW5lbC1kYW5nZXI+LnBhbmVsLWhlYWRpbmcgLmJhZGdle2NvbG9yOiNmMmRlZGU7YmFja2dyb3VuZC1jb2xvcjojYTk0NDQyfS5wYW5lbC1kYW5nZXI+LnBhbmVsLWZvb3RlcisucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZWJjY2QxfS5lbWJlZC1yZXNwb25zaXZle3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbn0uZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLC5lbWJlZC1yZXNwb25zaXZlIGVtYmVkLC5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSwuZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsLmVtYmVkLXJlc3BvbnNpdmUgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyOjB9LmVtYmVkLXJlc3BvbnNpdmUtMTZieTl7cGFkZGluZy1ib3R0b206NTYuMjUlfS5lbWJlZC1yZXNwb25zaXZlLTRieTN7cGFkZGluZy1ib3R0b206NzUlfS53ZWxse21pbi1oZWlnaHQ6MjBweDtwYWRkaW5nOjE5cHg7bWFyZ2luLWJvdHRvbToyMHB4O2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXI6MXB4IHNvbGlkICNlM2UzZTM7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpfS53ZWxsIGJsb2NrcXVvdGV7Ym9yZGVyLWNvbG9yOiNkZGQ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjE1KX0ud2VsbC1sZ3twYWRkaW5nOjI0cHg7Ym9yZGVyLXJhZGl1czo2cHh9LndlbGwtc217cGFkZGluZzo5cHg7Ym9yZGVyLXJhZGl1czozcHh9LmNsb3Nle2Zsb2F0OnJpZ2h0O2ZvbnQtc2l6ZToyMXB4O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxO2NvbG9yOiMwMDA7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmO2ZpbHRlcjphbHBoYShvcGFjaXR5PTIwKTtvcGFjaXR5Oi4yfS5jbG9zZTpmb2N1cywuY2xvc2U6aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjtmaWx0ZXI6YWxwaGEob3BhY2l0eT01MCk7b3BhY2l0eTouNX1idXR0b24uY2xvc2V7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6MCAwO2JvcmRlcjowfS5tb2RhbC1vcGVue292ZXJmbG93OmhpZGRlbn0ubW9kYWx7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ei1pbmRleDoxMDUwO2Rpc3BsYXk6bm9uZTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7b3V0bGluZTowfS5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2d7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlLW91dDstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0Oy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC0yNSUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTI1JSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC0yNSUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwtMjUlKX0ubW9kYWwuaW4gLm1vZGFsLWRpYWxvZ3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9Lm1vZGFsLW9wZW4gLm1vZGFse292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0b30ubW9kYWwtZGlhbG9ne3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG87bWFyZ2luOjEwcHh9Lm1vZGFsLWNvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjojZmZmOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkICM5OTk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItcmFkaXVzOjZweDtvdXRsaW5lOjA7LXdlYmtpdC1ib3gtc2hhZG93OjAgM3B4IDlweCByZ2JhKDAsMCwwLC41KTtib3gtc2hhZG93OjAgM3B4IDlweCByZ2JhKDAsMCwwLC41KX0ubW9kYWwtYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ei1pbmRleDoxMDQwO2JhY2tncm91bmQtY29sb3I6IzAwMH0ubW9kYWwtYmFja2Ryb3AuZmFkZXtmaWx0ZXI6YWxwaGEob3BhY2l0eT0wKTtvcGFjaXR5OjB9Lm1vZGFsLWJhY2tkcm9wLmlue2ZpbHRlcjphbHBoYShvcGFjaXR5PTUwKTtvcGFjaXR5Oi41fS5tb2RhbC1oZWFkZXJ7cGFkZGluZzoxNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNWU1ZTV9Lm1vZGFsLWhlYWRlciAuY2xvc2V7bWFyZ2luLXRvcDotMnB4fS5tb2RhbC10aXRsZXttYXJnaW46MDtsaW5lLWhlaWdodDoxLjQyODU3MTQzfS5tb2RhbC1ib2R5e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MTVweH0ubW9kYWwtZm9vdGVye3BhZGRpbmc6MTVweDt0ZXh0LWFsaWduOnJpZ2h0O2JvcmRlci10b3A6MXB4IHNvbGlkICNlNWU1ZTV9Lm1vZGFsLWZvb3RlciAuYnRuKy5idG57bWFyZ2luLWJvdHRvbTowO21hcmdpbi1sZWZ0OjVweH0ubW9kYWwtZm9vdGVyIC5idG4tZ3JvdXAgLmJ0bisuYnRue21hcmdpbi1sZWZ0Oi0xcHh9Lm1vZGFsLWZvb3RlciAuYnRuLWJsb2NrKy5idG4tYmxvY2t7bWFyZ2luLWxlZnQ6MH0ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmV7cG9zaXRpb246YWJzb2x1dGU7dG9wOi05OTk5cHg7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtvdmVyZmxvdzpzY3JvbGx9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5tb2RhbC1kaWFsb2d7d2lkdGg6NjAwcHg7bWFyZ2luOjMwcHggYXV0b30ubW9kYWwtY29udGVudHstd2Via2l0LWJveC1zaGFkb3c6MCA1cHggMTVweCByZ2JhKDAsMCwwLC41KTtib3gtc2hhZG93OjAgNXB4IDE1cHggcmdiYSgwLDAsMCwuNSl9Lm1vZGFsLXNte3dpZHRoOjMwMHB4fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lm1vZGFsLWxne3dpZHRoOjkwMHB4fX0udG9vbHRpcHtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwNzA7ZGlzcGxheTpibG9jaztmb250LWZhbWlseToiSGVsdmV0aWNhIE5ldWUiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO3RleHQtYWxpZ246bGVmdDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1icmVhazpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt3b3JkLXdyYXA6bm9ybWFsO3doaXRlLXNwYWNlOm5vcm1hbDtmaWx0ZXI6YWxwaGEob3BhY2l0eT0wKTtvcGFjaXR5OjA7bGluZS1icmVhazphdXRvfS50b29sdGlwLmlue2ZpbHRlcjphbHBoYShvcGFjaXR5PTkwKTtvcGFjaXR5Oi45fS50b29sdGlwLnRvcHtwYWRkaW5nOjVweCAwO21hcmdpbi10b3A6LTNweH0udG9vbHRpcC5yaWdodHtwYWRkaW5nOjAgNXB4O21hcmdpbi1sZWZ0OjNweH0udG9vbHRpcC5ib3R0b217cGFkZGluZzo1cHggMDttYXJnaW4tdG9wOjNweH0udG9vbHRpcC5sZWZ0e3BhZGRpbmc6MCA1cHg7bWFyZ2luLWxlZnQ6LTNweH0udG9vbHRpcC1pbm5lcnttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzozcHggOHB4O2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlci1yYWRpdXM6NHB4fS50b29sdGlwLWFycm93e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZH0udG9vbHRpcC50b3AgLnRvb2x0aXAtYXJyb3d7Ym90dG9tOjA7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTVweDtib3JkZXItd2lkdGg6NXB4IDVweCAwO2JvcmRlci10b3AtY29sb3I6IzAwMH0udG9vbHRpcC50b3AtbGVmdCAudG9vbHRpcC1hcnJvd3tyaWdodDo1cHg7Ym90dG9tOjA7bWFyZ2luLWJvdHRvbTotNXB4O2JvcmRlci13aWR0aDo1cHggNXB4IDA7Ym9yZGVyLXRvcC1jb2xvcjojMDAwfS50b29sdGlwLnRvcC1yaWdodCAudG9vbHRpcC1hcnJvd3tib3R0b206MDtsZWZ0OjVweDttYXJnaW4tYm90dG9tOi01cHg7Ym9yZGVyLXdpZHRoOjVweCA1cHggMDtib3JkZXItdG9wLWNvbG9yOiMwMDB9LnRvb2x0aXAucmlnaHQgLnRvb2x0aXAtYXJyb3d7dG9wOjUwJTtsZWZ0OjA7bWFyZ2luLXRvcDotNXB4O2JvcmRlci13aWR0aDo1cHggNXB4IDVweCAwO2JvcmRlci1yaWdodC1jb2xvcjojMDAwfS50b29sdGlwLmxlZnQgLnRvb2x0aXAtYXJyb3d7dG9wOjUwJTtyaWdodDowO21hcmdpbi10b3A6LTVweDtib3JkZXItd2lkdGg6NXB4IDAgNXB4IDVweDtib3JkZXItbGVmdC1jb2xvcjojMDAwfS50b29sdGlwLmJvdHRvbSAudG9vbHRpcC1hcnJvd3t0b3A6MDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNXB4O2JvcmRlci13aWR0aDowIDVweCA1cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDAwfS50b29sdGlwLmJvdHRvbS1sZWZ0IC50b29sdGlwLWFycm93e3RvcDowO3JpZ2h0OjVweDttYXJnaW4tdG9wOi01cHg7Ym9yZGVyLXdpZHRoOjAgNXB4IDVweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMDB9LnRvb2x0aXAuYm90dG9tLXJpZ2h0IC50b29sdGlwLWFycm93e3RvcDowO2xlZnQ6NXB4O21hcmdpbi10b3A6LTVweDtib3JkZXItd2lkdGg6MCA1cHggNXB4O2JvcmRlci1ib3R0b20tY29sb3I6IzAwMH0ucG9wb3Zlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7ei1pbmRleDoxMDYwO2Rpc3BsYXk6bm9uZTttYXgtd2lkdGg6Mjc2cHg7cGFkZGluZzoxcHg7Zm9udC1mYW1pbHk6IkhlbHZldGljYSBOZXVlIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mzt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LXNoYWRvdzpub25lO3RleHQtdHJhbnNmb3JtOm5vbmU7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtYnJlYWs6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7d29yZC13cmFwOm5vcm1hbDt3aGl0ZS1zcGFjZTpub3JtYWw7YmFja2dyb3VuZC1jb2xvcjojZmZmOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItcmFkaXVzOjZweDstd2Via2l0LWJveC1zaGFkb3c6MCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMik7bGluZS1icmVhazphdXRvfS5wb3BvdmVyLnRvcHttYXJnaW4tdG9wOi0xMHB4fS5wb3BvdmVyLnJpZ2h0e21hcmdpbi1sZWZ0OjEwcHh9LnBvcG92ZXIuYm90dG9te21hcmdpbi10b3A6MTBweH0ucG9wb3Zlci5sZWZ0e21hcmdpbi1sZWZ0Oi0xMHB4fS5wb3BvdmVyLXRpdGxle3BhZGRpbmc6OHB4IDE0cHg7bWFyZ2luOjA7Zm9udC1zaXplOjE0cHg7YmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7Ym9yZGVyLXJhZGl1czo1cHggNXB4IDAgMH0ucG9wb3Zlci1jb250ZW50e3BhZGRpbmc6OXB4IDE0cHh9LnBvcG92ZXI+LmFycm93LC5wb3BvdmVyPi5hcnJvdzphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZH0ucG9wb3Zlcj4uYXJyb3d7Ym9yZGVyLXdpZHRoOjExcHh9LnBvcG92ZXI+LmFycm93OmFmdGVye2NvbnRlbnQ6IiI7Ym9yZGVyLXdpZHRoOjEwcHh9LnBvcG92ZXIudG9wPi5hcnJvd3tib3R0b206LTExcHg7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTExcHg7Ym9yZGVyLXRvcC1jb2xvcjojOTk5O2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuMjUpO2JvcmRlci1ib3R0b20td2lkdGg6MH0ucG9wb3Zlci50b3A+LmFycm93OmFmdGVye2JvdHRvbToxcHg7bWFyZ2luLWxlZnQ6LTEwcHg7Y29udGVudDoiICI7Ym9yZGVyLXRvcC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b20td2lkdGg6MH0ucG9wb3Zlci5yaWdodD4uYXJyb3d7dG9wOjUwJTtsZWZ0Oi0xMXB4O21hcmdpbi10b3A6LTExcHg7Ym9yZGVyLXJpZ2h0LWNvbG9yOiM5OTk7Ym9yZGVyLXJpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsLjI1KTtib3JkZXItbGVmdC13aWR0aDowfS5wb3BvdmVyLnJpZ2h0Pi5hcnJvdzphZnRlcntib3R0b206LTEwcHg7bGVmdDoxcHg7Y29udGVudDoiICI7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNmZmY7Ym9yZGVyLWxlZnQtd2lkdGg6MH0ucG9wb3Zlci5ib3R0b20+LmFycm93e3RvcDotMTFweDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMTFweDtib3JkZXItdG9wLXdpZHRoOjA7Ym9yZGVyLWJvdHRvbS1jb2xvcjojOTk5O2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5wb3BvdmVyLmJvdHRvbT4uYXJyb3c6YWZ0ZXJ7dG9wOjFweDttYXJnaW4tbGVmdDotMTBweDtjb250ZW50OiIgIjtib3JkZXItdG9wLXdpZHRoOjA7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmfS5wb3BvdmVyLmxlZnQ+LmFycm93e3RvcDo1MCU7cmlnaHQ6LTExcHg7bWFyZ2luLXRvcDotMTFweDtib3JkZXItcmlnaHQtd2lkdGg6MDtib3JkZXItbGVmdC1jb2xvcjojOTk5O2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMCwwLDAsLjI1KX0ucG9wb3Zlci5sZWZ0Pi5hcnJvdzphZnRlcntyaWdodDoxcHg7Ym90dG9tOi0xMHB4O2NvbnRlbnQ6IiAiO2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LWNvbG9yOiNmZmZ9LmNhcm91c2Vse3Bvc2l0aW9uOnJlbGF0aXZlfS5jYXJvdXNlbC1pbm5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW17cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpub25lOy13ZWJraXQtdHJhbnNpdGlvbjouNnMgZWFzZS1pbi1vdXQgbGVmdDstby10cmFuc2l0aW9uOi42cyBlYXNlLWluLW91dCBsZWZ0O3RyYW5zaXRpb246LjZzIGVhc2UtaW4tb3V0IGxlZnR9LmNhcm91c2VsLWlubmVyPi5pdGVtPmE+aW1nLC5jYXJvdXNlbC1pbm5lcj4uaXRlbT5pbWd7bGluZS1oZWlnaHQ6MX1AbWVkaWEgYWxsIGFuZCAodHJhbnNmb3JtLTNkKSwoLXdlYmtpdC10cmFuc2Zvcm0tM2Qpey5jYXJvdXNlbC1pbm5lcj4uaXRlbXstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246LW8tdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXBlcnNwZWN0aXZlOjEwMDBweDtwZXJzcGVjdGl2ZToxMDAwcHh9LmNhcm91c2VsLWlubmVyPi5pdGVtLmFjdGl2ZS5yaWdodCwuY2Fyb3VzZWwtaW5uZXI+Lml0ZW0ubmV4dHtsZWZ0OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCl9LmNhcm91c2VsLWlubmVyPi5pdGVtLmFjdGl2ZS5sZWZ0LC5jYXJvdXNlbC1pbm5lcj4uaXRlbS5wcmV2e2xlZnQ6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApfS5jYXJvdXNlbC1pbm5lcj4uaXRlbS5hY3RpdmUsLmNhcm91c2VsLWlubmVyPi5pdGVtLm5leHQubGVmdCwuY2Fyb3VzZWwtaW5uZXI+Lml0ZW0ucHJldi5yaWdodHtsZWZ0OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9fS5jYXJvdXNlbC1pbm5lcj4uYWN0aXZlLC5jYXJvdXNlbC1pbm5lcj4ubmV4dCwuY2Fyb3VzZWwtaW5uZXI+LnByZXZ7ZGlzcGxheTpibG9ja30uY2Fyb3VzZWwtaW5uZXI+LmFjdGl2ZXtsZWZ0OjB9LmNhcm91c2VsLWlubmVyPi5uZXh0LC5jYXJvdXNlbC1pbm5lcj4ucHJldntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5jYXJvdXNlbC1pbm5lcj4ubmV4dHtsZWZ0OjEwMCV9LmNhcm91c2VsLWlubmVyPi5wcmV2e2xlZnQ6LTEwMCV9LmNhcm91c2VsLWlubmVyPi5uZXh0LmxlZnQsLmNhcm91c2VsLWlubmVyPi5wcmV2LnJpZ2h0e2xlZnQ6MH0uY2Fyb3VzZWwtaW5uZXI+LmFjdGl2ZS5sZWZ0e2xlZnQ6LTEwMCV9LmNhcm91c2VsLWlubmVyPi5hY3RpdmUucmlnaHR7bGVmdDoxMDAlfS5jYXJvdXNlbC1jb250cm9se3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDt3aWR0aDoxNSU7Zm9udC1zaXplOjIwcHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuNik7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApO2ZpbHRlcjphbHBoYShvcGFjaXR5PTUwKTtvcGFjaXR5Oi41fS5jYXJvdXNlbC1jb250cm9sLmxlZnR7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LHJnYmEoMCwwLDAsLjUpIDAscmdiYSgwLDAsMCwuMDAwMSkgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQobGVmdCxyZ2JhKDAsMCwwLC41KSAwLHJnYmEoMCwwLDAsLjAwMDEpIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgdG9wLGZyb20ocmdiYSgwLDAsMCwuNSkpLHRvKHJnYmEoMCwwLDAsLjAwMDEpKSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuNSkgMCxyZ2JhKDAsMCwwLC4wMDAxKSAxMDAlKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyM4MDAwMDAwMCcsIGVuZENvbG9yc3RyPScjMDAwMDAwMDAnLCBHcmFkaWVudFR5cGU9MSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9LmNhcm91c2VsLWNvbnRyb2wucmlnaHR7cmlnaHQ6MDtsZWZ0OmF1dG87YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LHJnYmEoMCwwLDAsLjAwMDEpIDAscmdiYSgwLDAsMCwuNSkgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQobGVmdCxyZ2JhKDAsMCwwLC4wMDAxKSAwLHJnYmEoMCwwLDAsLjUpIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgdG9wLGZyb20ocmdiYSgwLDAsMCwuMDAwMSkpLHRvKHJnYmEoMCwwLDAsLjUpKSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuMDAwMSkgMCxyZ2JhKDAsMCwwLC41KSAxMDAlKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyMwMDAwMDAwMCcsIGVuZENvbG9yc3RyPScjODAwMDAwMDAnLCBHcmFkaWVudFR5cGU9MSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9LmNhcm91c2VsLWNvbnRyb2w6Zm9jdXMsLmNhcm91c2VsLWNvbnRyb2w6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtmaWx0ZXI6YWxwaGEob3BhY2l0eT05MCk7b3V0bGluZTowO29wYWNpdHk6Ljl9LmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3otaW5kZXg6NTtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOi0xMHB4fS5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXZ7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTEwcHh9LmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHR7cmlnaHQ6NTAlO21hcmdpbi1yaWdodDotMTBweH0uY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXZ7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtmb250LWZhbWlseTpzZXJpZjtsaW5lLWhlaWdodDoxfS5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXY6YmVmb3Jle2NvbnRlbnQ6J1wyMDM5J30uY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0OmJlZm9yZXtjb250ZW50OidcMjAzYSd9LmNhcm91c2VsLWluZGljYXRvcnN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjEwcHg7bGVmdDo1MCU7ei1pbmRleDoxNTt3aWR0aDo2MCU7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWxlZnQ6LTMwJTt0ZXh0LWFsaWduOmNlbnRlcjtsaXN0LXN0eWxlOm5vbmV9LmNhcm91c2VsLWluZGljYXRvcnMgbGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDttYXJnaW46MXB4O3RleHQtaW5kZW50Oi05OTlweDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDBcOTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6MTBweH0uY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZle3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5jYXJvdXNlbC1jYXB0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjE1JTtib3R0b206MjBweDtsZWZ0OjE1JTt6LWluZGV4OjEwO3BhZGRpbmctdG9wOjIwcHg7cGFkZGluZy1ib3R0b206MjBweDtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO3RleHQtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC42KX0uY2Fyb3VzZWwtY2FwdGlvbiAuYnRue3RleHQtc2hhZG93Om5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCl7LmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldnt3aWR0aDozMHB4O2hlaWdodDozMHB4O21hcmdpbi10b3A6LTEwcHg7Zm9udC1zaXplOjMwcHh9LmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldnttYXJnaW4tbGVmdDotMTBweH0uY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dHttYXJnaW4tcmlnaHQ6LTEwcHh9LmNhcm91c2VsLWNhcHRpb257cmlnaHQ6MjAlO2xlZnQ6MjAlO3BhZGRpbmctYm90dG9tOjMwcHh9LmNhcm91c2VsLWluZGljYXRvcnN7Ym90dG9tOjIwcHh9fS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDphZnRlciwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6YmVmb3JlLC5idG4tdG9vbGJhcjphZnRlciwuYnRuLXRvb2xiYXI6YmVmb3JlLC5jbGVhcmZpeDphZnRlciwuY2xlYXJmaXg6YmVmb3JlLC5jb250YWluZXItZmx1aWQ6YWZ0ZXIsLmNvbnRhaW5lci1mbHVpZDpiZWZvcmUsLmNvbnRhaW5lcjphZnRlciwuY29udGFpbmVyOmJlZm9yZSwuZGwtaG9yaXpvbnRhbCBkZDphZnRlciwuZGwtaG9yaXpvbnRhbCBkZDpiZWZvcmUsLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDphZnRlciwuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwOmJlZm9yZSwubW9kYWwtZm9vdGVyOmFmdGVyLC5tb2RhbC1mb290ZXI6YmVmb3JlLC5tb2RhbC1oZWFkZXI6YWZ0ZXIsLm1vZGFsLWhlYWRlcjpiZWZvcmUsLm5hdjphZnRlciwubmF2OmJlZm9yZSwubmF2YmFyLWNvbGxhcHNlOmFmdGVyLC5uYXZiYXItY29sbGFwc2U6YmVmb3JlLC5uYXZiYXItaGVhZGVyOmFmdGVyLC5uYXZiYXItaGVhZGVyOmJlZm9yZSwubmF2YmFyOmFmdGVyLC5uYXZiYXI6YmVmb3JlLC5wYWdlcjphZnRlciwucGFnZXI6YmVmb3JlLC5wYW5lbC1ib2R5OmFmdGVyLC5wYW5lbC1ib2R5OmJlZm9yZSwucm93OmFmdGVyLC5yb3c6YmVmb3Jle2Rpc3BsYXk6dGFibGU7Y29udGVudDoiICJ9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOmFmdGVyLC5idG4tdG9vbGJhcjphZnRlciwuY2xlYXJmaXg6YWZ0ZXIsLmNvbnRhaW5lci1mbHVpZDphZnRlciwuY29udGFpbmVyOmFmdGVyLC5kbC1ob3Jpem9udGFsIGRkOmFmdGVyLC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YWZ0ZXIsLm1vZGFsLWZvb3RlcjphZnRlciwubW9kYWwtaGVhZGVyOmFmdGVyLC5uYXY6YWZ0ZXIsLm5hdmJhci1jb2xsYXBzZTphZnRlciwubmF2YmFyLWhlYWRlcjphZnRlciwubmF2YmFyOmFmdGVyLC5wYWdlcjphZnRlciwucGFuZWwtYm9keTphZnRlciwucm93OmFmdGVye2NsZWFyOmJvdGh9LmNlbnRlci1ibG9ja3tkaXNwbGF5OmJsb2NrO21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG99LnB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5wdWxsLWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9LmhpZGV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc2hvd3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVufS50ZXh0LWhpZGV7Zm9udDowLzAgYTtjb2xvcjp0cmFuc3BhcmVudDt0ZXh0LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjB9LmhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5hZmZpeHtwb3NpdGlvbjpmaXhlZH1ALW1zLXZpZXdwb3J0e3dpZHRoOmRldmljZS13aWR0aH0udmlzaWJsZS1sZywudmlzaWJsZS1tZCwudmlzaWJsZS1zbSwudmlzaWJsZS14c3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS52aXNpYmxlLWxnLWJsb2NrLC52aXNpYmxlLWxnLWlubGluZSwudmlzaWJsZS1sZy1pbmxpbmUtYmxvY2ssLnZpc2libGUtbWQtYmxvY2ssLnZpc2libGUtbWQtaW5saW5lLC52aXNpYmxlLW1kLWlubGluZS1ibG9jaywudmlzaWJsZS1zbS1ibG9jaywudmlzaWJsZS1zbS1pbmxpbmUsLnZpc2libGUtc20taW5saW5lLWJsb2NrLC52aXNpYmxlLXhzLWJsb2NrLC52aXNpYmxlLXhzLWlubGluZSwudmlzaWJsZS14cy1pbmxpbmUtYmxvY2t7ZGlzcGxheTpub25lIWltcG9ydGFudH1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnZpc2libGUteHN7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9dGFibGUudmlzaWJsZS14c3tkaXNwbGF5OnRhYmxlIWltcG9ydGFudH10ci52aXNpYmxlLXhze2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH10ZC52aXNpYmxlLXhzLHRoLnZpc2libGUteHN7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey52aXNpYmxlLXhzLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnZpc2libGUteHMtaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey52aXNpYmxlLXhzLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDo5OTFweCl7LnZpc2libGUtc217ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9dGFibGUudmlzaWJsZS1zbXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH10ci52aXNpYmxlLXNte2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH10ZC52aXNpYmxlLXNtLHRoLnZpc2libGUtc217ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIGFuZCAobWF4LXdpZHRoOjk5MXB4KXsudmlzaWJsZS1zbS1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIGFuZCAobWF4LXdpZHRoOjk5MXB4KXsudmlzaWJsZS1zbS1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6OTkxcHgpey52aXNpYmxlLXNtLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSBhbmQgKG1heC13aWR0aDoxMTk5cHgpey52aXNpYmxlLW1ke2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fXRhYmxlLnZpc2libGUtbWR7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9dHIudmlzaWJsZS1tZHtkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9dGQudmlzaWJsZS1tZCx0aC52aXNpYmxlLW1ke2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSBhbmQgKG1heC13aWR0aDoxMTk5cHgpey52aXNpYmxlLW1kLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgYW5kIChtYXgtd2lkdGg6MTE5OXB4KXsudmlzaWJsZS1tZC1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgYW5kIChtYXgtd2lkdGg6MTE5OXB4KXsudmlzaWJsZS1tZC1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey52aXNpYmxlLWxne2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fXRhYmxlLnZpc2libGUtbGd7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9dHIudmlzaWJsZS1sZ3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9dGQudmlzaWJsZS1sZyx0aC52aXNpYmxlLWxne2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LnZpc2libGUtbGctYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LnZpc2libGUtbGctaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsudmlzaWJsZS1sZy1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LmhpZGRlbi14c3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6OTkxcHgpey5oaWRkZW4tc217ZGlzcGxheTpub25lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpIGFuZCAobWF4LXdpZHRoOjExOTlweCl7LmhpZGRlbi1tZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5oaWRkZW4tbGd7ZGlzcGxheTpub25lIWltcG9ydGFudH19LnZpc2libGUtcHJpbnR7ZGlzcGxheTpub25lIWltcG9ydGFudH1AbWVkaWEgcHJpbnR7LnZpc2libGUtcHJpbnR7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9dGFibGUudmlzaWJsZS1wcmludHtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH10ci52aXNpYmxlLXByaW50e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH10ZC52aXNpYmxlLXByaW50LHRoLnZpc2libGUtcHJpbnR7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH19LnZpc2libGUtcHJpbnQtYmxvY2t7ZGlzcGxheTpub25lIWltcG9ydGFudH1AbWVkaWEgcHJpbnR7LnZpc2libGUtcHJpbnQtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9fS52aXNpYmxlLXByaW50LWlubGluZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSBwcmludHsudmlzaWJsZS1wcmludC1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fX0udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2t7ZGlzcGxheTpub25lIWltcG9ydGFudH1AbWVkaWEgcHJpbnR7LnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH19QG1lZGlhIHByaW50ey5oaWRkZW4tcHJpbnR7ZGlzcGxheTpub25lIWltcG9ydGFudH19CisvKiMgc291cmNlTWFwcGluZ1VSTD1ib290c3RyYXAubWluLmNzcy5tYXAgKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9jc3MvaW9uaWNvbnMubWluLmNzcyBiL2Nzcy9pb25pY29ucy5taW4uY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxZTkyMWIKLS0tIC9kZXYvbnVsbAorKysgYi9jc3MvaW9uaWNvbnMubWluLmNzcwpAQCAtMCwwICsxLDEwIEBACitAY2hhcnNldCAiVVRGLTgiOy8qIQorICBJb25pY29ucywgdjIuMC4xCisgIENyZWF0ZWQgYnkgQmVuIFNwZXJyeSBmb3IgdGhlIElvbmljIEZyYW1ld29yaywgaHR0cDovL2lvbmljb25zLmNvbS8KKyAgaHR0cHM6Ly90d2l0dGVyLmNvbS9iZW5qc3BlcnJ5ICBodHRwczovL3R3aXR0ZXIuY29tL2lvbmljZnJhbWV3b3JrCisgIE1JVCBMaWNlbnNlOiBodHRwczovL2dpdGh1Yi5jb20vZHJpZnR5Y28vaW9uaWNvbnMKKyAgQW5kcm9pZC1zdHlsZSBpY29ucyBvcmlnaW5hbGx5IGJ1aWx0IGJ5IEdvb2dsZZJzCisgIE1hdGVyaWFsIERlc2lnbiBJY29uczogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9tYXRlcmlhbC1kZXNpZ24taWNvbnMKKyAgdXNlZCB1bmRlciBDQyBCWSBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvCisgIE1vZGlmaWVkIGljb25zIHRvIGZpdCBpb25pY29uknMgZ3JpZCBmcm9tIG9yaWdpbmFsLgorKi9AZm9udC1mYWNle2ZvbnQtZmFtaWx5OiJJb25pY29ucyI7c3JjOnVybCgiLi4vZm9udHMvaW9uaWNvbnMuZW90P3Y9Mi4wLjEiKTtzcmM6dXJsKCIuLi9mb250cy9pb25pY29ucy5lb3Q/dj0yLjAuMSNpZWZpeCIpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSx1cmwoIi4uL2ZvbnRzL2lvbmljb25zLnR0Zj92PTIuMC4xIikgZm9ybWF0KCJ0cnVldHlwZSIpLHVybCgiLi4vZm9udHMvaW9uaWNvbnMud29mZj92PTIuMC4xIikgZm9ybWF0KCJ3b2ZmIiksdXJsKCIuLi9mb250cy9pb25pY29ucy5zdmc/dj0yLjAuMSNJb25pY29ucyIpIGZvcm1hdCgic3ZnIik7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3R5bGU6bm9ybWFsfS5pb24sLmlvbmljb25zLC5pb24tYWxlcnQ6YmVmb3JlLC5pb24tYWxlcnQtY2lyY2xlZDpiZWZvcmUsLmlvbi1hbmRyb2lkLWFkZDpiZWZvcmUsLmlvbi1hbmRyb2lkLWFkZC1jaXJjbGU6YmVmb3JlLC5pb24tYW5kcm9pZC1hbGFybS1jbG9jazpiZWZvcmUsLmlvbi1hbmRyb2lkLWFsZXJ0OmJlZm9yZSwuaW9uLWFuZHJvaWQtYXBwczpiZWZvcmUsLmlvbi1hbmRyb2lkLWFyY2hpdmU6YmVmb3JlLC5pb24tYW5kcm9pZC1hcnJvdy1iYWNrOmJlZm9yZSwuaW9uLWFuZHJvaWQtYXJyb3ctZG93bjpiZWZvcmUsLmlvbi1hbmRyb2lkLWFycm93LWRyb3Bkb3duOmJlZm9yZSwuaW9uLWFuZHJvaWQtYXJyb3ctZHJvcGRvd24tY2lyY2xlOmJlZm9yZSwuaW9uLWFuZHJvaWQtYXJyb3ctZHJvcGxlZnQ6YmVmb3JlLC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wbGVmdC1jaXJjbGU6YmVmb3JlLC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wcmlnaHQ6YmVmb3JlLC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wcmlnaHQtY2lyY2xlOmJlZm9yZSwuaW9uLWFuZHJvaWQtYXJyb3ctZHJvcHVwOmJlZm9yZSwuaW9uLWFuZHJvaWQtYXJyb3ctZHJvcHVwLWNpcmNsZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWFycm93LWZvcndhcmQ6YmVmb3JlLC5pb24tYW5kcm9pZC1hcnJvdy11cDpiZWZvcmUsLmlvbi1hbmRyb2lkLWF0dGFjaDpiZWZvcmUsLmlvbi1hbmRyb2lkLWJhcjpiZWZvcmUsLmlvbi1hbmRyb2lkLWJpY3ljbGU6YmVmb3JlLC5pb24tYW5kcm9pZC1ib2F0OmJlZm9yZSwuaW9uLWFuZHJvaWQtYm9va21hcms6YmVmb3JlLC5pb24tYW5kcm9pZC1idWxiOmJlZm9yZSwuaW9uLWFuZHJvaWQtYnVzOmJlZm9yZSwuaW9uLWFuZHJvaWQtY2FsZW5kYXI6YmVmb3JlLC5pb24tYW5kcm9pZC1jYWxsOmJlZm9yZSwuaW9uLWFuZHJvaWQtY2FtZXJhOmJlZm9yZSwuaW9uLWFuZHJvaWQtY2FuY2VsOmJlZm9yZSwuaW9uLWFuZHJvaWQtY2FyOmJlZm9yZSwuaW9uLWFuZHJvaWQtY2FydDpiZWZvcmUsLmlvbi1hbmRyb2lkLWNoYXQ6YmVmb3JlLC5pb24tYW5kcm9pZC1jaGVja2JveDpiZWZvcmUsLmlvbi1hbmRyb2lkLWNoZWNrYm94LWJsYW5rOmJlZm9yZSwuaW9uLWFuZHJvaWQtY2hlY2tib3gtb3V0bGluZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWNoZWNrYm94LW91dGxpbmUtYmxhbms6YmVmb3JlLC5pb24tYW5kcm9pZC1jaGVja21hcmstY2lyY2xlOmJlZm9yZSwuaW9uLWFuZHJvaWQtY2xpcGJvYXJkOmJlZm9yZSwuaW9uLWFuZHJvaWQtY2xvc2U6YmVmb3JlLC5pb24tYW5kcm9pZC1jbG91ZDpiZWZvcmUsLmlvbi1hbmRyb2lkLWNsb3VkLWNpcmNsZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWNsb3VkLWRvbmU6YmVmb3JlLC5pb24tYW5kcm9pZC1jbG91ZC1vdXRsaW5lOmJlZm9yZSwuaW9uLWFuZHJvaWQtY29sb3ItcGFsZXR0ZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWNvbXBhc3M6YmVmb3JlLC5pb24tYW5kcm9pZC1jb250YWN0OmJlZm9yZSwuaW9uLWFuZHJvaWQtY29udGFjdHM6YmVmb3JlLC5pb24tYW5kcm9pZC1jb250cmFjdDpiZWZvcmUsLmlvbi1hbmRyb2lkLWNyZWF0ZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWRlbGV0ZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWRlc2t0b3A6YmVmb3JlLC5pb24tYW5kcm9pZC1kb2N1bWVudDpiZWZvcmUsLmlvbi1hbmRyb2lkLWRvbmU6YmVmb3JlLC5pb24tYW5kcm9pZC1kb25lLWFsbDpiZWZvcmUsLmlvbi1hbmRyb2lkLWRvd25sb2FkOmJlZm9yZSwuaW9uLWFuZHJvaWQtZHJhZnRzOmJlZm9yZSwuaW9uLWFuZHJvaWQtZXhpdDpiZWZvcmUsLmlvbi1hbmRyb2lkLWV4cGFuZDpiZWZvcmUsLmlvbi1hbmRyb2lkLWZhdm9yaXRlOmJlZm9yZSwuaW9uLWFuZHJvaWQtZmF2b3JpdGUtb3V0bGluZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWZpbG06YmVmb3JlLC5pb24tYW5kcm9pZC1mb2xkZXI6YmVmb3JlLC5pb24tYW5kcm9pZC1mb2xkZXItb3BlbjpiZWZvcmUsLmlvbi1hbmRyb2lkLWZ1bm5lbDpiZWZvcmUsLmlvbi1hbmRyb2lkLWdsb2JlOmJlZm9yZSwuaW9uLWFuZHJvaWQtaGFuZDpiZWZvcmUsLmlvbi1hbmRyb2lkLWhhbmdvdXQ6YmVmb3JlLC5pb24tYW5kcm9pZC1oYXBweTpiZWZvcmUsLmlvbi1hbmRyb2lkLWhvbWU6YmVmb3JlLC5pb24tYW5kcm9pZC1pbWFnZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWxhcHRvcDpiZWZvcmUsLmlvbi1hbmRyb2lkLWxpc3Q6YmVmb3JlLC5pb24tYW5kcm9pZC1sb2NhdGU6YmVmb3JlLC5pb24tYW5kcm9pZC1sb2NrOmJlZm9yZSwuaW9uLWFuZHJvaWQtbWFpbDpiZWZvcmUsLmlvbi1hbmRyb2lkLW1hcDpiZWZvcmUsLmlvbi1hbmRyb2lkLW1lbnU6YmVmb3JlLC5pb24tYW5kcm9pZC1taWNyb3Bob25lOmJlZm9yZSwuaW9uLWFuZHJvaWQtbWljcm9waG9uZS1vZmY6YmVmb3JlLC5pb24tYW5kcm9pZC1tb3JlLWhvcml6b250YWw6YmVmb3JlLC5pb24tYW5kcm9pZC1tb3JlLXZlcnRpY2FsOmJlZm9yZSwuaW9uLWFuZHJvaWQtbmF2aWdhdGU6YmVmb3JlLC5pb24tYW5kcm9pZC1ub3RpZmljYXRpb25zOmJlZm9yZSwuaW9uLWFuZHJvaWQtbm90aWZpY2F0aW9ucy1ub25lOmJlZm9yZSwuaW9uLWFuZHJvaWQtbm90aWZpY2F0aW9ucy1vZmY6YmVmb3JlLC5pb24tYW5kcm9pZC1vcGVuOmJlZm9yZSwuaW9uLWFuZHJvaWQtb3B0aW9uczpiZWZvcmUsLmlvbi1hbmRyb2lkLXBlb3BsZTpiZWZvcmUsLmlvbi1hbmRyb2lkLXBlcnNvbjpiZWZvcmUsLmlvbi1hbmRyb2lkLXBlcnNvbi1hZGQ6YmVmb3JlLC5pb24tYW5kcm9pZC1waG9uZS1sYW5kc2NhcGU6YmVmb3JlLC5pb24tYW5kcm9pZC1waG9uZS1wb3J0cmFpdDpiZWZvcmUsLmlvbi1hbmRyb2lkLXBpbjpiZWZvcmUsLmlvbi1hbmRyb2lkLXBsYW5lOmJlZm9yZSwuaW9uLWFuZHJvaWQtcGxheXN0b3JlOmJlZm9yZSwuaW9uLWFuZHJvaWQtcHJpbnQ6YmVmb3JlLC5pb24tYW5kcm9pZC1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSwuaW9uLWFuZHJvaWQtcmFkaW8tYnV0dG9uLW9uOmJlZm9yZSwuaW9uLWFuZHJvaWQtcmVmcmVzaDpiZWZvcmUsLmlvbi1hbmRyb2lkLXJlbW92ZTpiZWZvcmUsLmlvbi1hbmRyb2lkLXJlbW92ZS1jaXJjbGU6YmVmb3JlLC5pb24tYW5kcm9pZC1yZXN0YXVyYW50OmJlZm9yZSwuaW9uLWFuZHJvaWQtc2FkOmJlZm9yZSwuaW9uLWFuZHJvaWQtc2VhcmNoOmJlZm9yZSwuaW9uLWFuZHJvaWQtc2VuZDpiZWZvcmUsLmlvbi1hbmRyb2lkLXNldHRpbmdzOmJlZm9yZSwuaW9uLWFuZHJvaWQtc2hhcmU6YmVmb3JlLC5pb24tYW5kcm9pZC1zaGFyZS1hbHQ6YmVmb3JlLC5pb24tYW5kcm9pZC1zdGFyOmJlZm9yZSwuaW9uLWFuZHJvaWQtc3Rhci1oYWxmOmJlZm9yZSwuaW9uLWFuZHJvaWQtc3Rhci1vdXRsaW5lOmJlZm9yZSwuaW9uLWFuZHJvaWQtc3RvcHdhdGNoOmJlZm9yZSwuaW9uLWFuZHJvaWQtc3Vid2F5OmJlZm9yZSwuaW9uLWFuZHJvaWQtc3Vubnk6YmVmb3JlLC5pb24tYW5kcm9pZC1zeW5jOmJlZm9yZSwuaW9uLWFuZHJvaWQtdGV4dHNtczpiZWZvcmUsLmlvbi1hbmRyb2lkLXRpbWU6YmVmb3JlLC5pb24tYW5kcm9pZC10cmFpbjpiZWZvcmUsLmlvbi1hbmRyb2lkLXVubG9jazpiZWZvcmUsLmlvbi1hbmRyb2lkLXVwbG9hZDpiZWZvcmUsLmlvbi1hbmRyb2lkLXZvbHVtZS1kb3duOmJlZm9yZSwuaW9uLWFuZHJvaWQtdm9sdW1lLW11dGU6YmVmb3JlLC5pb24tYW5kcm9pZC12b2x1bWUtb2ZmOmJlZm9yZSwuaW9uLWFuZHJvaWQtdm9sdW1lLXVwOmJlZm9yZSwuaW9uLWFuZHJvaWQtd2FsazpiZWZvcmUsLmlvbi1hbmRyb2lkLXdhcm5pbmc6YmVmb3JlLC5pb24tYW5kcm9pZC13YXRjaDpiZWZvcmUsLmlvbi1hbmRyb2lkLXdpZmk6YmVmb3JlLC5pb24tYXBlcnR1cmU6YmVmb3JlLC5pb24tYXJjaGl2ZTpiZWZvcmUsLmlvbi1hcnJvdy1kb3duLWE6YmVmb3JlLC5pb24tYXJyb3ctZG93bi1iOmJlZm9yZSwuaW9uLWFycm93LWRvd24tYzpiZWZvcmUsLmlvbi1hcnJvdy1leHBhbmQ6YmVmb3JlLC5pb24tYXJyb3ctZ3JhcGgtZG93bi1sZWZ0OmJlZm9yZSwuaW9uLWFycm93LWdyYXBoLWRvd24tcmlnaHQ6YmVmb3JlLC5pb24tYXJyb3ctZ3JhcGgtdXAtbGVmdDpiZWZvcmUsLmlvbi1hcnJvdy1ncmFwaC11cC1yaWdodDpiZWZvcmUsLmlvbi1hcnJvdy1sZWZ0LWE6YmVmb3JlLC5pb24tYXJyb3ctbGVmdC1iOmJlZm9yZSwuaW9uLWFycm93LWxlZnQtYzpiZWZvcmUsLmlvbi1hcnJvdy1tb3ZlOmJlZm9yZSwuaW9uLWFycm93LXJlc2l6ZTpiZWZvcmUsLmlvbi1hcnJvdy1yZXR1cm4tbGVmdDpiZWZvcmUsLmlvbi1hcnJvdy1yZXR1cm4tcmlnaHQ6YmVmb3JlLC5pb24tYXJyb3ctcmlnaHQtYTpiZWZvcmUsLmlvbi1hcnJvdy1yaWdodC1iOmJlZm9yZSwuaW9uLWFycm93LXJpZ2h0LWM6YmVmb3JlLC5pb24tYXJyb3ctc2hyaW5rOmJlZm9yZSwuaW9uLWFycm93LXN3YXA6YmVmb3JlLC5pb24tYXJyb3ctdXAtYTpiZWZvcmUsLmlvbi1hcnJvdy11cC1iOmJlZm9yZSwuaW9uLWFycm93LXVwLWM6YmVmb3JlLC5pb24tYXN0ZXJpc2s6YmVmb3JlLC5pb24tYXQ6YmVmb3JlLC5pb24tYmFja3NwYWNlOmJlZm9yZSwuaW9uLWJhY2tzcGFjZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWJhZzpiZWZvcmUsLmlvbi1iYXR0ZXJ5LWNoYXJnaW5nOmJlZm9yZSwuaW9uLWJhdHRlcnktZW1wdHk6YmVmb3JlLC5pb24tYmF0dGVyeS1mdWxsOmJlZm9yZSwuaW9uLWJhdHRlcnktaGFsZjpiZWZvcmUsLmlvbi1iYXR0ZXJ5LWxvdzpiZWZvcmUsLmlvbi1iZWFrZXI6YmVmb3JlLC5pb24tYmVlcjpiZWZvcmUsLmlvbi1ibHVldG9vdGg6YmVmb3JlLC5pb24tYm9uZmlyZTpiZWZvcmUsLmlvbi1ib29rbWFyazpiZWZvcmUsLmlvbi1ib3d0aWU6YmVmb3JlLC5pb24tYnJpZWZjYXNlOmJlZm9yZSwuaW9uLWJ1ZzpiZWZvcmUsLmlvbi1jYWxjdWxhdG9yOmJlZm9yZSwuaW9uLWNhbGVuZGFyOmJlZm9yZSwuaW9uLWNhbWVyYTpiZWZvcmUsLmlvbi1jYXJkOmJlZm9yZSwuaW9uLWNhc2g6YmVmb3JlLC5pb24tY2hhdGJveDpiZWZvcmUsLmlvbi1jaGF0Ym94LXdvcmtpbmc6YmVmb3JlLC5pb24tY2hhdGJveGVzOmJlZm9yZSwuaW9uLWNoYXRidWJibGU6YmVmb3JlLC5pb24tY2hhdGJ1YmJsZS13b3JraW5nOmJlZm9yZSwuaW9uLWNoYXRidWJibGVzOmJlZm9yZSwuaW9uLWNoZWNrbWFyazpiZWZvcmUsLmlvbi1jaGVja21hcmstY2lyY2xlZDpiZWZvcmUsLmlvbi1jaGVja21hcmstcm91bmQ6YmVmb3JlLC5pb24tY2hldnJvbi1kb3duOmJlZm9yZSwuaW9uLWNoZXZyb24tbGVmdDpiZWZvcmUsLmlvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSwuaW9uLWNoZXZyb24tdXA6YmVmb3JlLC5pb24tY2xpcGJvYXJkOmJlZm9yZSwuaW9uLWNsb2NrOmJlZm9yZSwuaW9uLWNsb3NlOmJlZm9yZSwuaW9uLWNsb3NlLWNpcmNsZWQ6YmVmb3JlLC5pb24tY2xvc2Utcm91bmQ6YmVmb3JlLC5pb24tY2xvc2VkLWNhcHRpb25pbmc6YmVmb3JlLC5pb24tY2xvdWQ6YmVmb3JlLC5pb24tY29kZTpiZWZvcmUsLmlvbi1jb2RlLWRvd25sb2FkOmJlZm9yZSwuaW9uLWNvZGUtd29ya2luZzpiZWZvcmUsLmlvbi1jb2ZmZWU6YmVmb3JlLC5pb24tY29tcGFzczpiZWZvcmUsLmlvbi1jb21wb3NlOmJlZm9yZSwuaW9uLWNvbm5lY3Rpb24tYmFyczpiZWZvcmUsLmlvbi1jb250cmFzdDpiZWZvcmUsLmlvbi1jcm9wOmJlZm9yZSwuaW9uLWN1YmU6YmVmb3JlLC5pb24tZGlzYzpiZWZvcmUsLmlvbi1kb2N1bWVudDpiZWZvcmUsLmlvbi1kb2N1bWVudC10ZXh0OmJlZm9yZSwuaW9uLWRyYWc6YmVmb3JlLC5pb24tZWFydGg6YmVmb3JlLC5pb24tZWFzZWw6YmVmb3JlLC5pb24tZWRpdDpiZWZvcmUsLmlvbi1lZ2c6YmVmb3JlLC5pb24tZWplY3Q6YmVmb3JlLC5pb24tZW1haWw6YmVmb3JlLC5pb24tZW1haWwtdW5yZWFkOmJlZm9yZSwuaW9uLWVybGVubWV5ZXItZmxhc2s6YmVmb3JlLC5pb24tZXJsZW5tZXllci1mbGFzay1idWJibGVzOmJlZm9yZSwuaW9uLWV5ZTpiZWZvcmUsLmlvbi1leWUtZGlzYWJsZWQ6YmVmb3JlLC5pb24tZmVtYWxlOmJlZm9yZSwuaW9uLWZpbGluZzpiZWZvcmUsLmlvbi1maWxtLW1hcmtlcjpiZWZvcmUsLmlvbi1maXJlYmFsbDpiZWZvcmUsLmlvbi1mbGFnOmJlZm9yZSwuaW9uLWZsYW1lOmJlZm9yZSwuaW9uLWZsYXNoOmJlZm9yZSwuaW9uLWZsYXNoLW9mZjpiZWZvcmUsLmlvbi1mb2xkZXI6YmVmb3JlLC5pb24tZm9yazpiZWZvcmUsLmlvbi1mb3JrLXJlcG86YmVmb3JlLC5pb24tZm9yd2FyZDpiZWZvcmUsLmlvbi1mdW5uZWw6YmVmb3JlLC5pb24tZ2Vhci1hOmJlZm9yZSwuaW9uLWdlYXItYjpiZWZvcmUsLmlvbi1ncmlkOmJlZm9yZSwuaW9uLWhhbW1lcjpiZWZvcmUsLmlvbi1oYXBweTpiZWZvcmUsLmlvbi1oYXBweS1vdXRsaW5lOmJlZm9yZSwuaW9uLWhlYWRwaG9uZTpiZWZvcmUsLmlvbi1oZWFydDpiZWZvcmUsLmlvbi1oZWFydC1icm9rZW46YmVmb3JlLC5pb24taGVscDpiZWZvcmUsLmlvbi1oZWxwLWJ1b3k6YmVmb3JlLC5pb24taGVscC1jaXJjbGVkOmJlZm9yZSwuaW9uLWhvbWU6YmVmb3JlLC5pb24taWNlY3JlYW06YmVmb3JlLC5pb24taW1hZ2U6YmVmb3JlLC5pb24taW1hZ2VzOmJlZm9yZSwuaW9uLWluZm9ybWF0aW9uOmJlZm9yZSwuaW9uLWluZm9ybWF0aW9uLWNpcmNsZWQ6YmVmb3JlLC5pb24taW9uaWM6YmVmb3JlLC5pb24taW9zLWFsYXJtOmJlZm9yZSwuaW9uLWlvcy1hbGFybS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1hbGJ1bXM6YmVmb3JlLC5pb24taW9zLWFsYnVtcy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1hbWVyaWNhbmZvb3RiYWxsOmJlZm9yZSwuaW9uLWlvcy1hbWVyaWNhbmZvb3RiYWxsLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWFuYWx5dGljczpiZWZvcmUsLmlvbi1pb3MtYW5hbHl0aWNzLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWFycm93LWJhY2s6YmVmb3JlLC5pb24taW9zLWFycm93LWRvd246YmVmb3JlLC5pb24taW9zLWFycm93LWZvcndhcmQ6YmVmb3JlLC5pb24taW9zLWFycm93LWxlZnQ6YmVmb3JlLC5pb24taW9zLWFycm93LXJpZ2h0OmJlZm9yZSwuaW9uLWlvcy1hcnJvdy10aGluLWRvd246YmVmb3JlLC5pb24taW9zLWFycm93LXRoaW4tbGVmdDpiZWZvcmUsLmlvbi1pb3MtYXJyb3ctdGhpbi1yaWdodDpiZWZvcmUsLmlvbi1pb3MtYXJyb3ctdGhpbi11cDpiZWZvcmUsLmlvbi1pb3MtYXJyb3ctdXA6YmVmb3JlLC5pb24taW9zLWF0OmJlZm9yZSwuaW9uLWlvcy1hdC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1iYXJjb2RlOmJlZm9yZSwuaW9uLWlvcy1iYXJjb2RlLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWJhc2ViYWxsOmJlZm9yZSwuaW9uLWlvcy1iYXNlYmFsbC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1iYXNrZXRiYWxsOmJlZm9yZSwuaW9uLWlvcy1iYXNrZXRiYWxsLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWJlbGw6YmVmb3JlLC5pb24taW9zLWJlbGwtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtYm9keTpiZWZvcmUsLmlvbi1pb3MtYm9keS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1ib2x0OmJlZm9yZSwuaW9uLWlvcy1ib2x0LW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWJvb2s6YmVmb3JlLC5pb24taW9zLWJvb2stb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtYm9va21hcmtzOmJlZm9yZSwuaW9uLWlvcy1ib29rbWFya3Mtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtYm94OmJlZm9yZSwuaW9uLWlvcy1ib3gtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtYnJpZWZjYXNlOmJlZm9yZSwuaW9uLWlvcy1icmllZmNhc2Utb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtYnJvd3NlcnM6YmVmb3JlLC5pb24taW9zLWJyb3dzZXJzLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNhbGN1bGF0b3I6YmVmb3JlLC5pb24taW9zLWNhbGN1bGF0b3Itb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY2FsZW5kYXI6YmVmb3JlLC5pb24taW9zLWNhbGVuZGFyLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNhbWVyYTpiZWZvcmUsLmlvbi1pb3MtY2FtZXJhLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNhcnQ6YmVmb3JlLC5pb24taW9zLWNhcnQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY2hhdGJveGVzOmJlZm9yZSwuaW9uLWlvcy1jaGF0Ym94ZXMtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY2hhdGJ1YmJsZTpiZWZvcmUsLmlvbi1pb3MtY2hhdGJ1YmJsZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1jaGVja21hcms6YmVmb3JlLC5pb24taW9zLWNoZWNrbWFyay1lbXB0eTpiZWZvcmUsLmlvbi1pb3MtY2hlY2ttYXJrLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNpcmNsZS1maWxsZWQ6YmVmb3JlLC5pb24taW9zLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1jbG9jazpiZWZvcmUsLmlvbi1pb3MtY2xvY2stb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY2xvc2U6YmVmb3JlLC5pb24taW9zLWNsb3NlLWVtcHR5OmJlZm9yZSwuaW9uLWlvcy1jbG9zZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1jbG91ZDpiZWZvcmUsLmlvbi1pb3MtY2xvdWQtZG93bmxvYWQ6YmVmb3JlLC5pb24taW9zLWNsb3VkLWRvd25sb2FkLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNsb3VkLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNsb3VkLXVwbG9hZDpiZWZvcmUsLmlvbi1pb3MtY2xvdWQtdXBsb2FkLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNsb3VkeTpiZWZvcmUsLmlvbi1pb3MtY2xvdWR5LW5pZ2h0OmJlZm9yZSwuaW9uLWlvcy1jbG91ZHktbmlnaHQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY2xvdWR5LW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNvZzpiZWZvcmUsLmlvbi1pb3MtY29nLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNvbG9yLWZpbHRlcjpiZWZvcmUsLmlvbi1pb3MtY29sb3ItZmlsdGVyLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNvbG9yLXdhbmQ6YmVmb3JlLC5pb24taW9zLWNvbG9yLXdhbmQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY29tcG9zZTpiZWZvcmUsLmlvbi1pb3MtY29tcG9zZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1jb250YWN0OmJlZm9yZSwuaW9uLWlvcy1jb250YWN0LW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNvcHk6YmVmb3JlLC5pb24taW9zLWNvcHktb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY3JvcDpiZWZvcmUsLmlvbi1pb3MtY3JvcC1zdHJvbmc6YmVmb3JlLC5pb24taW9zLWRvd25sb2FkOmJlZm9yZSwuaW9uLWlvcy1kb3dubG9hZC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1kcmFnOmJlZm9yZSwuaW9uLWlvcy1lbWFpbDpiZWZvcmUsLmlvbi1pb3MtZW1haWwtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtZXllOmJlZm9yZSwuaW9uLWlvcy1leWUtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtZmFzdGZvcndhcmQ6YmVmb3JlLC5pb24taW9zLWZhc3Rmb3J3YXJkLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWZpbGluZzpiZWZvcmUsLmlvbi1pb3MtZmlsaW5nLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWZpbG06YmVmb3JlLC5pb24taW9zLWZpbG0tb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtZmxhZzpiZWZvcmUsLmlvbi1pb3MtZmxhZy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1mbGFtZTpiZWZvcmUsLmlvbi1pb3MtZmxhbWUtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtZmxhc2s6YmVmb3JlLC5pb24taW9zLWZsYXNrLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWZsb3dlcjpiZWZvcmUsLmlvbi1pb3MtZmxvd2VyLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWZvbGRlcjpiZWZvcmUsLmlvbi1pb3MtZm9sZGVyLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWZvb3RiYWxsOmJlZm9yZSwuaW9uLWlvcy1mb290YmFsbC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYTpiZWZvcmUsLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWEtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWI6YmVmb3JlLC5pb24taW9zLWdhbWUtY29udHJvbGxlci1iLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWdlYXI6YmVmb3JlLC5pb24taW9zLWdlYXItb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtZ2xhc3NlczpiZWZvcmUsLmlvbi1pb3MtZ2xhc3Nlcy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1ncmlkLXZpZXc6YmVmb3JlLC5pb24taW9zLWdyaWQtdmlldy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1oZWFydDpiZWZvcmUsLmlvbi1pb3MtaGVhcnQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtaGVscDpiZWZvcmUsLmlvbi1pb3MtaGVscC1lbXB0eTpiZWZvcmUsLmlvbi1pb3MtaGVscC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1ob21lOmJlZm9yZSwuaW9uLWlvcy1ob21lLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWluZmluaXRlOmJlZm9yZSwuaW9uLWlvcy1pbmZpbml0ZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1pbmZvcm1hdGlvbjpiZWZvcmUsLmlvbi1pb3MtaW5mb3JtYXRpb24tZW1wdHk6YmVmb3JlLC5pb24taW9zLWluZm9ybWF0aW9uLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWlvbmljLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWtleXBhZDpiZWZvcmUsLmlvbi1pb3Mta2V5cGFkLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWxpZ2h0YnVsYjpiZWZvcmUsLmlvbi1pb3MtbGlnaHRidWxiLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWxpc3Q6YmVmb3JlLC5pb24taW9zLWxpc3Qtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtbG9jYXRpb246YmVmb3JlLC5pb24taW9zLWxvY2F0aW9uLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWxvY2tlZDpiZWZvcmUsLmlvbi1pb3MtbG9ja2VkLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWxvb3A6YmVmb3JlLC5pb24taW9zLWxvb3Atc3Ryb25nOmJlZm9yZSwuaW9uLWlvcy1tZWRpY2FsOmJlZm9yZSwuaW9uLWlvcy1tZWRpY2FsLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLW1lZGtpdDpiZWZvcmUsLmlvbi1pb3MtbWVka2l0LW91dGxpbmU6YmVmb3JlLC5pb24taW9zLW1pYzpiZWZvcmUsLmlvbi1pb3MtbWljLW9mZjpiZWZvcmUsLmlvbi1pb3MtbWljLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLW1pbnVzOmJlZm9yZSwuaW9uLWlvcy1taW51cy1lbXB0eTpiZWZvcmUsLmlvbi1pb3MtbWludXMtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtbW9uaXRvcjpiZWZvcmUsLmlvbi1pb3MtbW9uaXRvci1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1tb29uOmJlZm9yZSwuaW9uLWlvcy1tb29uLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLW1vcmU6YmVmb3JlLC5pb24taW9zLW1vcmUtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtbXVzaWNhbC1ub3RlOmJlZm9yZSwuaW9uLWlvcy1tdXNpY2FsLW5vdGVzOmJlZm9yZSwuaW9uLWlvcy1uYXZpZ2F0ZTpiZWZvcmUsLmlvbi1pb3MtbmF2aWdhdGUtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtbnV0cml0aW9uOmJlZm9yZSwuaW9uLWlvcy1udXRyaXRpb24tb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtcGFwZXI6YmVmb3JlLC5pb24taW9zLXBhcGVyLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXBhcGVycGxhbmU6YmVmb3JlLC5pb24taW9zLXBhcGVycGxhbmUtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtcGFydGx5c3Vubnk6YmVmb3JlLC5pb24taW9zLXBhcnRseXN1bm55LW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXBhdXNlOmJlZm9yZSwuaW9uLWlvcy1wYXVzZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1wYXc6YmVmb3JlLC5pb24taW9zLXBhdy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1wZW9wbGU6YmVmb3JlLC5pb24taW9zLXBlb3BsZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1wZXJzb246YmVmb3JlLC5pb24taW9zLXBlcnNvbi1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1wZXJzb25hZGQ6YmVmb3JlLC5pb24taW9zLXBlcnNvbmFkZC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1waG90b3M6YmVmb3JlLC5pb24taW9zLXBob3Rvcy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1waWU6YmVmb3JlLC5pb24taW9zLXBpZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1waW50OmJlZm9yZSwuaW9uLWlvcy1waW50LW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXBsYXk6YmVmb3JlLC5pb24taW9zLXBsYXktb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtcGx1czpiZWZvcmUsLmlvbi1pb3MtcGx1cy1lbXB0eTpiZWZvcmUsLmlvbi1pb3MtcGx1cy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1wcmljZXRhZzpiZWZvcmUsLmlvbi1pb3MtcHJpY2V0YWctb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtcHJpY2V0YWdzOmJlZm9yZSwuaW9uLWlvcy1wcmljZXRhZ3Mtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtcHJpbnRlcjpiZWZvcmUsLmlvbi1pb3MtcHJpbnRlci1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1wdWxzZTpiZWZvcmUsLmlvbi1pb3MtcHVsc2Utc3Ryb25nOmJlZm9yZSwuaW9uLWlvcy1yYWlueTpiZWZvcmUsLmlvbi1pb3MtcmFpbnktb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtcmVjb3JkaW5nOmJlZm9yZSwuaW9uLWlvcy1yZWNvcmRpbmctb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtcmVkbzpiZWZvcmUsLmlvbi1pb3MtcmVkby1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1yZWZyZXNoOmJlZm9yZSwuaW9uLWlvcy1yZWZyZXNoLWVtcHR5OmJlZm9yZSwuaW9uLWlvcy1yZWZyZXNoLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXJlbG9hZDpiZWZvcmUsLmlvbi1pb3MtcmV2ZXJzZS1jYW1lcmE6YmVmb3JlLC5pb24taW9zLXJldmVyc2UtY2FtZXJhLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXJld2luZDpiZWZvcmUsLmlvbi1pb3MtcmV3aW5kLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXJvc2U6YmVmb3JlLC5pb24taW9zLXJvc2Utb3V0bGluZTpiZWZvcmUsLmlvbi1pb3Mtc2VhcmNoOmJlZm9yZSwuaW9uLWlvcy1zZWFyY2gtc3Ryb25nOmJlZm9yZSwuaW9uLWlvcy1zZXR0aW5nczpiZWZvcmUsLmlvbi1pb3Mtc2V0dGluZ3Mtc3Ryb25nOmJlZm9yZSwuaW9uLWlvcy1zaHVmZmxlOmJlZm9yZSwuaW9uLWlvcy1zaHVmZmxlLXN0cm9uZzpiZWZvcmUsLmlvbi1pb3Mtc2tpcGJhY2t3YXJkOmJlZm9yZSwuaW9uLWlvcy1za2lwYmFja3dhcmQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3Mtc2tpcGZvcndhcmQ6YmVmb3JlLC5pb24taW9zLXNraXBmb3J3YXJkLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXNub3d5OmJlZm9yZSwuaW9uLWlvcy1zcGVlZG9tZXRlcjpiZWZvcmUsLmlvbi1pb3Mtc3BlZWRvbWV0ZXItb3V0bGluZTpiZWZvcmUsLmlvbi1pb3Mtc3RhcjpiZWZvcmUsLmlvbi1pb3Mtc3Rhci1oYWxmOmJlZm9yZSwuaW9uLWlvcy1zdGFyLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXN0b3B3YXRjaDpiZWZvcmUsLmlvbi1pb3Mtc3RvcHdhdGNoLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXN1bm55OmJlZm9yZSwuaW9uLWlvcy1zdW5ueS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy10ZWxlcGhvbmU6YmVmb3JlLC5pb24taW9zLXRlbGVwaG9uZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy10ZW5uaXNiYWxsOmJlZm9yZSwuaW9uLWlvcy10ZW5uaXNiYWxsLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXRodW5kZXJzdG9ybTpiZWZvcmUsLmlvbi1pb3MtdGh1bmRlcnN0b3JtLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXRpbWU6YmVmb3JlLC5pb24taW9zLXRpbWUtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtdGltZXI6YmVmb3JlLC5pb24taW9zLXRpbWVyLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXRvZ2dsZTpiZWZvcmUsLmlvbi1pb3MtdG9nZ2xlLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXRyYXNoOmJlZm9yZSwuaW9uLWlvcy10cmFzaC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy11bmRvOmJlZm9yZSwuaW9uLWlvcy11bmRvLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXVubG9ja2VkOmJlZm9yZSwuaW9uLWlvcy11bmxvY2tlZC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy11cGxvYWQ6YmVmb3JlLC5pb24taW9zLXVwbG9hZC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy12aWRlb2NhbTpiZWZvcmUsLmlvbi1pb3MtdmlkZW9jYW0tb3V0bGluZTpiZWZvcmUsLmlvbi1pb3Mtdm9sdW1lLWhpZ2g6YmVmb3JlLC5pb24taW9zLXZvbHVtZS1sb3c6YmVmb3JlLC5pb24taW9zLXdpbmVnbGFzczpiZWZvcmUsLmlvbi1pb3Mtd2luZWdsYXNzLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXdvcmxkOmJlZm9yZSwuaW9uLWlvcy13b3JsZC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlwYWQ6YmVmb3JlLC5pb24taXBob25lOmJlZm9yZSwuaW9uLWlwb2Q6YmVmb3JlLC5pb24tamV0OmJlZm9yZSwuaW9uLWtleTpiZWZvcmUsLmlvbi1rbmlmZTpiZWZvcmUsLmlvbi1sYXB0b3A6YmVmb3JlLC5pb24tbGVhZjpiZWZvcmUsLmlvbi1sZXZlbHM6YmVmb3JlLC5pb24tbGlnaHRidWxiOmJlZm9yZSwuaW9uLWxpbms6YmVmb3JlLC5pb24tbG9hZC1hOmJlZm9yZSwuaW9uLWxvYWQtYjpiZWZvcmUsLmlvbi1sb2FkLWM6YmVmb3JlLC5pb24tbG9hZC1kOmJlZm9yZSwuaW9uLWxvY2F0aW9uOmJlZm9yZSwuaW9uLWxvY2stY29tYmluYXRpb246YmVmb3JlLC5pb24tbG9ja2VkOmJlZm9yZSwuaW9uLWxvZy1pbjpiZWZvcmUsLmlvbi1sb2ctb3V0OmJlZm9yZSwuaW9uLWxvb3A6YmVmb3JlLC5pb24tbWFnbmV0OmJlZm9yZSwuaW9uLW1hbGU6YmVmb3JlLC5pb24tbWFuOmJlZm9yZSwuaW9uLW1hcDpiZWZvcmUsLmlvbi1tZWRraXQ6YmVmb3JlLC5pb24tbWVyZ2U6YmVmb3JlLC5pb24tbWljLWE6YmVmb3JlLC5pb24tbWljLWI6YmVmb3JlLC5pb24tbWljLWM6YmVmb3JlLC5pb24tbWludXM6YmVmb3JlLC5pb24tbWludXMtY2lyY2xlZDpiZWZvcmUsLmlvbi1taW51cy1yb3VuZDpiZWZvcmUsLmlvbi1tb2RlbC1zOmJlZm9yZSwuaW9uLW1vbml0b3I6YmVmb3JlLC5pb24tbW9yZTpiZWZvcmUsLmlvbi1tb3VzZTpiZWZvcmUsLmlvbi1tdXNpYy1ub3RlOmJlZm9yZSwuaW9uLW5hdmljb246YmVmb3JlLC5pb24tbmF2aWNvbi1yb3VuZDpiZWZvcmUsLmlvbi1uYXZpZ2F0ZTpiZWZvcmUsLmlvbi1uZXR3b3JrOmJlZm9yZSwuaW9uLW5vLXNtb2tpbmc6YmVmb3JlLC5pb24tbnVjbGVhcjpiZWZvcmUsLmlvbi1vdXRsZXQ6YmVmb3JlLC5pb24tcGFpbnRicnVzaDpiZWZvcmUsLmlvbi1wYWludGJ1Y2tldDpiZWZvcmUsLmlvbi1wYXBlci1haXJwbGFuZTpiZWZvcmUsLmlvbi1wYXBlcmNsaXA6YmVmb3JlLC5pb24tcGF1c2U6YmVmb3JlLC5pb24tcGVyc29uOmJlZm9yZSwuaW9uLXBlcnNvbi1hZGQ6YmVmb3JlLC5pb24tcGVyc29uLXN0YWxrZXI6YmVmb3JlLC5pb24tcGllLWdyYXBoOmJlZm9yZSwuaW9uLXBpbjpiZWZvcmUsLmlvbi1waW5wb2ludDpiZWZvcmUsLmlvbi1waXp6YTpiZWZvcmUsLmlvbi1wbGFuZTpiZWZvcmUsLmlvbi1wbGFuZXQ6YmVmb3JlLC5pb24tcGxheTpiZWZvcmUsLmlvbi1wbGF5c3RhdGlvbjpiZWZvcmUsLmlvbi1wbHVzOmJlZm9yZSwuaW9uLXBsdXMtY2lyY2xlZDpiZWZvcmUsLmlvbi1wbHVzLXJvdW5kOmJlZm9yZSwuaW9uLXBvZGl1bTpiZWZvcmUsLmlvbi1wb3VuZDpiZWZvcmUsLmlvbi1wb3dlcjpiZWZvcmUsLmlvbi1wcmljZXRhZzpiZWZvcmUsLmlvbi1wcmljZXRhZ3M6YmVmb3JlLC5pb24tcHJpbnRlcjpiZWZvcmUsLmlvbi1wdWxsLXJlcXVlc3Q6YmVmb3JlLC5pb24tcXItc2Nhbm5lcjpiZWZvcmUsLmlvbi1xdW90ZTpiZWZvcmUsLmlvbi1yYWRpby13YXZlczpiZWZvcmUsLmlvbi1yZWNvcmQ6YmVmb3JlLC5pb24tcmVmcmVzaDpiZWZvcmUsLmlvbi1yZXBseTpiZWZvcmUsLmlvbi1yZXBseS1hbGw6YmVmb3JlLC5pb24tcmliYm9uLWE6YmVmb3JlLC5pb24tcmliYm9uLWI6YmVmb3JlLC5pb24tc2FkOmJlZm9yZSwuaW9uLXNhZC1vdXRsaW5lOmJlZm9yZSwuaW9uLXNjaXNzb3JzOmJlZm9yZSwuaW9uLXNlYXJjaDpiZWZvcmUsLmlvbi1zZXR0aW5nczpiZWZvcmUsLmlvbi1zaGFyZTpiZWZvcmUsLmlvbi1zaHVmZmxlOmJlZm9yZSwuaW9uLXNraXAtYmFja3dhcmQ6YmVmb3JlLC5pb24tc2tpcC1mb3J3YXJkOmJlZm9yZSwuaW9uLXNvY2lhbC1hbmRyb2lkOmJlZm9yZSwuaW9uLXNvY2lhbC1hbmRyb2lkLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWFuZ3VsYXI6YmVmb3JlLC5pb24tc29jaWFsLWFuZ3VsYXItb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtYXBwbGU6YmVmb3JlLC5pb24tc29jaWFsLWFwcGxlLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWJpdGNvaW46YmVmb3JlLC5pb24tc29jaWFsLWJpdGNvaW4tb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtYnVmZmVyOmJlZm9yZSwuaW9uLXNvY2lhbC1idWZmZXItb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtY2hyb21lOmJlZm9yZSwuaW9uLXNvY2lhbC1jaHJvbWUtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtY29kZXBlbjpiZWZvcmUsLmlvbi1zb2NpYWwtY29kZXBlbi1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1jc3MzOmJlZm9yZSwuaW9uLXNvY2lhbC1jc3MzLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWRlc2lnbmVybmV3czpiZWZvcmUsLmlvbi1zb2NpYWwtZGVzaWduZXJuZXdzLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWRyaWJiYmxlOmJlZm9yZSwuaW9uLXNvY2lhbC1kcmliYmJsZS1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1kcm9wYm94OmJlZm9yZSwuaW9uLXNvY2lhbC1kcm9wYm94LW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWV1cm86YmVmb3JlLC5pb24tc29jaWFsLWV1cm8tb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtZmFjZWJvb2s6YmVmb3JlLC5pb24tc29jaWFsLWZhY2Vib29rLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWZvdXJzcXVhcmU6YmVmb3JlLC5pb24tc29jaWFsLWZvdXJzcXVhcmUtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtZnJlZWJzZC1kZXZpbDpiZWZvcmUsLmlvbi1zb2NpYWwtZ2l0aHViOmJlZm9yZSwuaW9uLXNvY2lhbC1naXRodWItb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtZ29vZ2xlOmJlZm9yZSwuaW9uLXNvY2lhbC1nb29nbGUtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtZ29vZ2xlcGx1czpiZWZvcmUsLmlvbi1zb2NpYWwtZ29vZ2xlcGx1cy1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1oYWNrZXJuZXdzOmJlZm9yZSwuaW9uLXNvY2lhbC1oYWNrZXJuZXdzLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWh0bWw1OmJlZm9yZSwuaW9uLXNvY2lhbC1odG1sNS1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1pbnN0YWdyYW06YmVmb3JlLC5pb24tc29jaWFsLWluc3RhZ3JhbS1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1qYXZhc2NyaXB0OmJlZm9yZSwuaW9uLXNvY2lhbC1qYXZhc2NyaXB0LW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWxpbmtlZGluOmJlZm9yZSwuaW9uLXNvY2lhbC1saW5rZWRpbi1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1tYXJrZG93bjpiZWZvcmUsLmlvbi1zb2NpYWwtbm9kZWpzOmJlZm9yZSwuaW9uLXNvY2lhbC1vY3RvY2F0OmJlZm9yZSwuaW9uLXNvY2lhbC1waW50ZXJlc3Q6YmVmb3JlLC5pb24tc29jaWFsLXBpbnRlcmVzdC1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1weXRob246YmVmb3JlLC5pb24tc29jaWFsLXJlZGRpdDpiZWZvcmUsLmlvbi1zb2NpYWwtcmVkZGl0LW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLXJzczpiZWZvcmUsLmlvbi1zb2NpYWwtcnNzLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLXNhc3M6YmVmb3JlLC5pb24tc29jaWFsLXNreXBlOmJlZm9yZSwuaW9uLXNvY2lhbC1za3lwZS1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1zbmFwY2hhdDpiZWZvcmUsLmlvbi1zb2NpYWwtc25hcGNoYXQtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtdHVtYmxyOmJlZm9yZSwuaW9uLXNvY2lhbC10dW1ibHItb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtdHV4OmJlZm9yZSwuaW9uLXNvY2lhbC10d2l0Y2g6YmVmb3JlLC5pb24tc29jaWFsLXR3aXRjaC1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC10d2l0dGVyOmJlZm9yZSwuaW9uLXNvY2lhbC10d2l0dGVyLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLXVzZDpiZWZvcmUsLmlvbi1zb2NpYWwtdXNkLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLXZpbWVvOmJlZm9yZSwuaW9uLXNvY2lhbC12aW1lby1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC13aGF0c2FwcDpiZWZvcmUsLmlvbi1zb2NpYWwtd2hhdHNhcHAtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtd2luZG93czpiZWZvcmUsLmlvbi1zb2NpYWwtd2luZG93cy1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC13b3JkcHJlc3M6YmVmb3JlLC5pb24tc29jaWFsLXdvcmRwcmVzcy1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC15YWhvbzpiZWZvcmUsLmlvbi1zb2NpYWwteWFob28tb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwteWVuOmJlZm9yZSwuaW9uLXNvY2lhbC15ZW4tb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwteW91dHViZTpiZWZvcmUsLmlvbi1zb2NpYWwteW91dHViZS1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvdXAtY2FuOmJlZm9yZSwuaW9uLXNvdXAtY2FuLW91dGxpbmU6YmVmb3JlLC5pb24tc3BlYWtlcnBob25lOmJlZm9yZSwuaW9uLXNwZWVkb21ldGVyOmJlZm9yZSwuaW9uLXNwb29uOmJlZm9yZSwuaW9uLXN0YXI6YmVmb3JlLC5pb24tc3RhdHMtYmFyczpiZWZvcmUsLmlvbi1zdGVhbTpiZWZvcmUsLmlvbi1zdG9wOmJlZm9yZSwuaW9uLXRoZXJtb21ldGVyOmJlZm9yZSwuaW9uLXRodW1ic2Rvd246YmVmb3JlLC5pb24tdGh1bWJzdXA6YmVmb3JlLC5pb24tdG9nZ2xlOmJlZm9yZSwuaW9uLXRvZ2dsZS1maWxsZWQ6YmVmb3JlLC5pb24tdHJhbnNnZW5kZXI6YmVmb3JlLC5pb24tdHJhc2gtYTpiZWZvcmUsLmlvbi10cmFzaC1iOmJlZm9yZSwuaW9uLXRyb3BoeTpiZWZvcmUsLmlvbi10c2hpcnQ6YmVmb3JlLC5pb24tdHNoaXJ0LW91dGxpbmU6YmVmb3JlLC5pb24tdW1icmVsbGE6YmVmb3JlLC5pb24tdW5pdmVyc2l0eTpiZWZvcmUsLmlvbi11bmxvY2tlZDpiZWZvcmUsLmlvbi11cGxvYWQ6YmVmb3JlLC5pb24tdXNiOmJlZm9yZSwuaW9uLXZpZGVvY2FtZXJhOmJlZm9yZSwuaW9uLXZvbHVtZS1oaWdoOmJlZm9yZSwuaW9uLXZvbHVtZS1sb3c6YmVmb3JlLC5pb24tdm9sdW1lLW1lZGl1bTpiZWZvcmUsLmlvbi12b2x1bWUtbXV0ZTpiZWZvcmUsLmlvbi13YW5kOmJlZm9yZSwuaW9uLXdhdGVyZHJvcDpiZWZvcmUsLmlvbi13aWZpOmJlZm9yZSwuaW9uLXdpbmVnbGFzczpiZWZvcmUsLmlvbi13b21hbjpiZWZvcmUsLmlvbi13cmVuY2g6YmVmb3JlLC5pb24teGJveDpiZWZvcmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Iklvbmljb25zIjtzcGVhazpub25lO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7dGV4dC1yZW5kZXJpbmc6YXV0bztsaW5lLWhlaWdodDoxOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5pb24tYWxlcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTAxIn0uaW9uLWFsZXJ0LWNpcmNsZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTAwIn0uaW9uLWFuZHJvaWQtYWRkOmJlZm9yZXtjb250ZW50OiJcZjJjNyJ9Lmlvbi1hbmRyb2lkLWFkZC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzU5In0uaW9uLWFuZHJvaWQtYWxhcm0tY2xvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMzVhIn0uaW9uLWFuZHJvaWQtYWxlcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzViIn0uaW9uLWFuZHJvaWQtYXBwczpiZWZvcmV7Y29udGVudDoiXGYzNWMifS5pb24tYW5kcm9pZC1hcmNoaXZlOmJlZm9yZXtjb250ZW50OiJcZjJjOSJ9Lmlvbi1hbmRyb2lkLWFycm93LWJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMmNhIn0uaW9uLWFuZHJvaWQtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYzNWQifS5pb24tYW5kcm9pZC1hcnJvdy1kcm9wZG93bjpiZWZvcmV7Y29udGVudDoiXGYzNWYifS5pb24tYW5kcm9pZC1hcnJvdy1kcm9wZG93bi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzVlIn0uaW9uLWFuZHJvaWQtYXJyb3ctZHJvcGxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzYxIn0uaW9uLWFuZHJvaWQtYXJyb3ctZHJvcGxlZnQtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjM2MCJ9Lmlvbi1hbmRyb2lkLWFycm93LWRyb3ByaWdodDpiZWZvcmV7Y29udGVudDoiXGYzNjMifS5pb24tYW5kcm9pZC1hcnJvdy1kcm9wcmlnaHQtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjM2MiJ9Lmlvbi1hbmRyb2lkLWFycm93LWRyb3B1cDpiZWZvcmV7Y29udGVudDoiXGYzNjUifS5pb24tYW5kcm9pZC1hcnJvdy1kcm9wdXAtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjM2NCJ9Lmlvbi1hbmRyb2lkLWFycm93LWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzBmIn0uaW9uLWFuZHJvaWQtYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMzY2In0uaW9uLWFuZHJvaWQtYXR0YWNoOmJlZm9yZXtjb250ZW50OiJcZjM2NyJ9Lmlvbi1hbmRyb2lkLWJhcjpiZWZvcmV7Y29udGVudDoiXGYzNjgifS5pb24tYW5kcm9pZC1iaWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjM2OSJ9Lmlvbi1hbmRyb2lkLWJvYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzZhIn0uaW9uLWFuZHJvaWQtYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMzZiIn0uaW9uLWFuZHJvaWQtYnVsYjpiZWZvcmV7Y29udGVudDoiXGYzNmMifS5pb24tYW5kcm9pZC1idXM6YmVmb3Jle2NvbnRlbnQ6IlxmMzZkIn0uaW9uLWFuZHJvaWQtY2FsZW5kYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmQxIn0uaW9uLWFuZHJvaWQtY2FsbDpiZWZvcmV7Y29udGVudDoiXGYyZDIifS5pb24tYW5kcm9pZC1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMmQzIn0uaW9uLWFuZHJvaWQtY2FuY2VsOmJlZm9yZXtjb250ZW50OiJcZjM2ZSJ9Lmlvbi1hbmRyb2lkLWNhcjpiZWZvcmV7Y29udGVudDoiXGYzNmYifS5pb24tYW5kcm9pZC1jYXJ0OmJlZm9yZXtjb250ZW50OiJcZjM3MCJ9Lmlvbi1hbmRyb2lkLWNoYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ0In0uaW9uLWFuZHJvaWQtY2hlY2tib3g6YmVmb3Jle2NvbnRlbnQ6IlxmMzc0In0uaW9uLWFuZHJvaWQtY2hlY2tib3gtYmxhbms6YmVmb3Jle2NvbnRlbnQ6IlxmMzcxIn0uaW9uLWFuZHJvaWQtY2hlY2tib3gtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzNzMifS5pb24tYW5kcm9pZC1jaGVja2JveC1vdXRsaW5lLWJsYW5rOmJlZm9yZXtjb250ZW50OiJcZjM3MiJ9Lmlvbi1hbmRyb2lkLWNoZWNrbWFyay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzc1In0uaW9uLWFuZHJvaWQtY2xpcGJvYXJkOmJlZm9yZXtjb250ZW50OiJcZjM3NiJ9Lmlvbi1hbmRyb2lkLWNsb3NlOmJlZm9yZXtjb250ZW50OiJcZjJkNyJ9Lmlvbi1hbmRyb2lkLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjM3YSJ9Lmlvbi1hbmRyb2lkLWNsb3VkLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYzNzcifS5pb24tYW5kcm9pZC1jbG91ZC1kb25lOmJlZm9yZXtjb250ZW50OiJcZjM3OCJ9Lmlvbi1hbmRyb2lkLWNsb3VkLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzc5In0uaW9uLWFuZHJvaWQtY29sb3ItcGFsZXR0ZTpiZWZvcmV7Y29udGVudDoiXGYzN2IifS5pb24tYW5kcm9pZC1jb21wYXNzOmJlZm9yZXtjb250ZW50OiJcZjM3YyJ9Lmlvbi1hbmRyb2lkLWNvbnRhY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ4In0uaW9uLWFuZHJvaWQtY29udGFjdHM6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ5In0uaW9uLWFuZHJvaWQtY29udHJhY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMzdkIn0uaW9uLWFuZHJvaWQtY3JlYXRlOmJlZm9yZXtjb250ZW50OiJcZjM3ZSJ9Lmlvbi1hbmRyb2lkLWRlbGV0ZTpiZWZvcmV7Y29udGVudDoiXGYzN2YifS5pb24tYW5kcm9pZC1kZXNrdG9wOmJlZm9yZXtjb250ZW50OiJcZjM4MCJ9Lmlvbi1hbmRyb2lkLWRvY3VtZW50OmJlZm9yZXtjb250ZW50OiJcZjM4MSJ9Lmlvbi1hbmRyb2lkLWRvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzgzIn0uaW9uLWFuZHJvaWQtZG9uZS1hbGw6YmVmb3Jle2NvbnRlbnQ6IlxmMzgyIn0uaW9uLWFuZHJvaWQtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmRkIn0uaW9uLWFuZHJvaWQtZHJhZnRzOmJlZm9yZXtjb250ZW50OiJcZjM4NCJ9Lmlvbi1hbmRyb2lkLWV4aXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzg1In0uaW9uLWFuZHJvaWQtZXhwYW5kOmJlZm9yZXtjb250ZW50OiJcZjM4NiJ9Lmlvbi1hbmRyb2lkLWZhdm9yaXRlOmJlZm9yZXtjb250ZW50OiJcZjM4OCJ9Lmlvbi1hbmRyb2lkLWZhdm9yaXRlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzg3In0uaW9uLWFuZHJvaWQtZmlsbTpiZWZvcmV7Y29udGVudDoiXGYzODkifS5pb24tYW5kcm9pZC1mb2xkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmUwIn0uaW9uLWFuZHJvaWQtZm9sZGVyLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmMzhhIn0uaW9uLWFuZHJvaWQtZnVubmVsOmJlZm9yZXtjb250ZW50OiJcZjM4YiJ9Lmlvbi1hbmRyb2lkLWdsb2JlOmJlZm9yZXtjb250ZW50OiJcZjM4YyJ9Lmlvbi1hbmRyb2lkLWhhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmUzIn0uaW9uLWFuZHJvaWQtaGFuZ291dDpiZWZvcmV7Y29udGVudDoiXGYzOGQifS5pb24tYW5kcm9pZC1oYXBweTpiZWZvcmV7Y29udGVudDoiXGYzOGUifS5pb24tYW5kcm9pZC1ob21lOmJlZm9yZXtjb250ZW50OiJcZjM4ZiJ9Lmlvbi1hbmRyb2lkLWltYWdlOmJlZm9yZXtjb250ZW50OiJcZjJlNCJ9Lmlvbi1hbmRyb2lkLWxhcHRvcDpiZWZvcmV7Y29udGVudDoiXGYzOTAifS5pb24tYW5kcm9pZC1saXN0OmJlZm9yZXtjb250ZW50OiJcZjM5MSJ9Lmlvbi1hbmRyb2lkLWxvY2F0ZTpiZWZvcmV7Y29udGVudDoiXGYyZTkifS5pb24tYW5kcm9pZC1sb2NrOmJlZm9yZXtjb250ZW50OiJcZjM5MiJ9Lmlvbi1hbmRyb2lkLW1haWw6YmVmb3Jle2NvbnRlbnQ6IlxmMmViIn0uaW9uLWFuZHJvaWQtbWFwOmJlZm9yZXtjb250ZW50OiJcZjM5MyJ9Lmlvbi1hbmRyb2lkLW1lbnU6YmVmb3Jle2NvbnRlbnQ6IlxmMzk0In0uaW9uLWFuZHJvaWQtbWljcm9waG9uZTpiZWZvcmV7Y29udGVudDoiXGYyZWMifS5pb24tYW5kcm9pZC1taWNyb3Bob25lLW9mZjpiZWZvcmV7Y29udGVudDoiXGYzOTUifS5pb24tYW5kcm9pZC1tb3JlLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxmMzk2In0uaW9uLWFuZHJvaWQtbW9yZS12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGYzOTcifS5pb24tYW5kcm9pZC1uYXZpZ2F0ZTpiZWZvcmV7Y29udGVudDoiXGYzOTgifS5pb24tYW5kcm9pZC1ub3RpZmljYXRpb25zOmJlZm9yZXtjb250ZW50OiJcZjM5YiJ9Lmlvbi1hbmRyb2lkLW5vdGlmaWNhdGlvbnMtbm9uZTpiZWZvcmV7Y29udGVudDoiXGYzOTkifS5pb24tYW5kcm9pZC1ub3RpZmljYXRpb25zLW9mZjpiZWZvcmV7Y29udGVudDoiXGYzOWEifS5pb24tYW5kcm9pZC1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjM5YyJ9Lmlvbi1hbmRyb2lkLW9wdGlvbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMzlkIn0uaW9uLWFuZHJvaWQtcGVvcGxlOmJlZm9yZXtjb250ZW50OiJcZjM5ZSJ9Lmlvbi1hbmRyb2lkLXBlcnNvbjpiZWZvcmV7Y29udGVudDoiXGYzYTAifS5pb24tYW5kcm9pZC1wZXJzb24tYWRkOmJlZm9yZXtjb250ZW50OiJcZjM5ZiJ9Lmlvbi1hbmRyb2lkLXBob25lLWxhbmRzY2FwZTpiZWZvcmV7Y29udGVudDoiXGYzYTEifS5pb24tYW5kcm9pZC1waG9uZS1wb3J0cmFpdDpiZWZvcmV7Y29udGVudDoiXGYzYTIifS5pb24tYW5kcm9pZC1waW46YmVmb3Jle2NvbnRlbnQ6IlxmM2EzIn0uaW9uLWFuZHJvaWQtcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2E0In0uaW9uLWFuZHJvaWQtcGxheXN0b3JlOmJlZm9yZXtjb250ZW50OiJcZjJmMCJ9Lmlvbi1hbmRyb2lkLXByaW50OmJlZm9yZXtjb250ZW50OiJcZjNhNSJ9Lmlvbi1hbmRyb2lkLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmM2E2In0uaW9uLWFuZHJvaWQtcmFkaW8tYnV0dG9uLW9uOmJlZm9yZXtjb250ZW50OiJcZjNhNyJ9Lmlvbi1hbmRyb2lkLXJlZnJlc2g6YmVmb3Jle2NvbnRlbnQ6IlxmM2E4In0uaW9uLWFuZHJvaWQtcmVtb3ZlOmJlZm9yZXtjb250ZW50OiJcZjJmNCJ9Lmlvbi1hbmRyb2lkLXJlbW92ZS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2E5In0uaW9uLWFuZHJvaWQtcmVzdGF1cmFudDpiZWZvcmV7Y29udGVudDoiXGYzYWEifS5pb24tYW5kcm9pZC1zYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2FiIn0uaW9uLWFuZHJvaWQtc2VhcmNoOmJlZm9yZXtjb250ZW50OiJcZjJmNSJ9Lmlvbi1hbmRyb2lkLXNlbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmY2In0uaW9uLWFuZHJvaWQtc2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6IlxmMmY3In0uaW9uLWFuZHJvaWQtc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmY4In0uaW9uLWFuZHJvaWQtc2hhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNhYyJ9Lmlvbi1hbmRyb2lkLXN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmZjIn0uaW9uLWFuZHJvaWQtc3Rhci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjNhZCJ9Lmlvbi1hbmRyb2lkLXN0YXItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzYWUifS5pb24tYW5kcm9pZC1zdG9wd2F0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmMmZkIn0uaW9uLWFuZHJvaWQtc3Vid2F5OmJlZm9yZXtjb250ZW50OiJcZjNhZiJ9Lmlvbi1hbmRyb2lkLXN1bm55OmJlZm9yZXtjb250ZW50OiJcZjNiMCJ9Lmlvbi1hbmRyb2lkLXN5bmM6YmVmb3Jle2NvbnRlbnQ6IlxmM2IxIn0uaW9uLWFuZHJvaWQtdGV4dHNtczpiZWZvcmV7Y29udGVudDoiXGYzYjIifS5pb24tYW5kcm9pZC10aW1lOmJlZm9yZXtjb250ZW50OiJcZjNiMyJ9Lmlvbi1hbmRyb2lkLXRyYWluOmJlZm9yZXtjb250ZW50OiJcZjNiNCJ9Lmlvbi1hbmRyb2lkLXVubG9jazpiZWZvcmV7Y29udGVudDoiXGYzYjUifS5pb24tYW5kcm9pZC11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2I2In0uaW9uLWFuZHJvaWQtdm9sdW1lLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmM2I3In0uaW9uLWFuZHJvaWQtdm9sdW1lLW11dGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2I4In0uaW9uLWFuZHJvaWQtdm9sdW1lLW9mZjpiZWZvcmV7Y29udGVudDoiXGYzYjkifS5pb24tYW5kcm9pZC12b2x1bWUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmM2JhIn0uaW9uLWFuZHJvaWQtd2FsazpiZWZvcmV7Y29udGVudDoiXGYzYmIifS5pb24tYW5kcm9pZC13YXJuaW5nOmJlZm9yZXtjb250ZW50OiJcZjNiYyJ9Lmlvbi1hbmRyb2lkLXdhdGNoOmJlZm9yZXtjb250ZW50OiJcZjNiZCJ9Lmlvbi1hbmRyb2lkLXdpZmk6YmVmb3Jle2NvbnRlbnQ6IlxmMzA1In0uaW9uLWFwZXJ0dXJlOmJlZm9yZXtjb250ZW50OiJcZjMxMyJ9Lmlvbi1hcmNoaXZlOmJlZm9yZXtjb250ZW50OiJcZjEwMiJ9Lmlvbi1hcnJvdy1kb3duLWE6YmVmb3Jle2NvbnRlbnQ6IlxmMTAzIn0uaW9uLWFycm93LWRvd24tYjpiZWZvcmV7Y29udGVudDoiXGYxMDQifS5pb24tYXJyb3ctZG93bi1jOmJlZm9yZXtjb250ZW50OiJcZjEwNSJ9Lmlvbi1hcnJvdy1leHBhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjVlIn0uaW9uLWFycm93LWdyYXBoLWRvd24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYyNWYifS5pb24tYXJyb3ctZ3JhcGgtZG93bi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYyNjAifS5pb24tYXJyb3ctZ3JhcGgtdXAtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYyNjEifS5pb24tYXJyb3ctZ3JhcGgtdXAtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjYyIn0uaW9uLWFycm93LWxlZnQtYTpiZWZvcmV7Y29udGVudDoiXGYxMDYifS5pb24tYXJyb3ctbGVmdC1iOmJlZm9yZXtjb250ZW50OiJcZjEwNyJ9Lmlvbi1hcnJvdy1sZWZ0LWM6YmVmb3Jle2NvbnRlbnQ6IlxmMTA4In0uaW9uLWFycm93LW1vdmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjYzIn0uaW9uLWFycm93LXJlc2l6ZTpiZWZvcmV7Y29udGVudDoiXGYyNjQifS5pb24tYXJyb3ctcmV0dXJuLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjY1In0uaW9uLWFycm93LXJldHVybi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYyNjYifS5pb24tYXJyb3ctcmlnaHQtYTpiZWZvcmV7Y29udGVudDoiXGYxMDkifS5pb24tYXJyb3ctcmlnaHQtYjpiZWZvcmV7Y29udGVudDoiXGYxMGEifS5pb24tYXJyb3ctcmlnaHQtYzpiZWZvcmV7Y29udGVudDoiXGYxMGIifS5pb24tYXJyb3ctc2hyaW5rOmJlZm9yZXtjb250ZW50OiJcZjI2NyJ9Lmlvbi1hcnJvdy1zd2FwOmJlZm9yZXtjb250ZW50OiJcZjI2OCJ9Lmlvbi1hcnJvdy11cC1hOmJlZm9yZXtjb250ZW50OiJcZjEwYyJ9Lmlvbi1hcnJvdy11cC1iOmJlZm9yZXtjb250ZW50OiJcZjEwZCJ9Lmlvbi1hcnJvdy11cC1jOmJlZm9yZXtjb250ZW50OiJcZjEwZSJ9Lmlvbi1hc3RlcmlzazpiZWZvcmV7Y29udGVudDoiXGYzMTQifS5pb24tYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBmIn0uaW9uLWJhY2tzcGFjZTpiZWZvcmV7Y29udGVudDoiXGYzYmYifS5pb24tYmFja3NwYWNlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2JlIn0uaW9uLWJhZzpiZWZvcmV7Y29udGVudDoiXGYxMTAifS5pb24tYmF0dGVyeS1jaGFyZ2luZzpiZWZvcmV7Y29udGVudDoiXGYxMTEifS5pb24tYmF0dGVyeS1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYxMTIifS5pb24tYmF0dGVyeS1mdWxsOmJlZm9yZXtjb250ZW50OiJcZjExMyJ9Lmlvbi1iYXR0ZXJ5LWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMTE0In0uaW9uLWJhdHRlcnktbG93OmJlZm9yZXtjb250ZW50OiJcZjExNSJ9Lmlvbi1iZWFrZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjY5In0uaW9uLWJlZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjZhIn0uaW9uLWJsdWV0b290aDpiZWZvcmV7Y29udGVudDoiXGYxMTYifS5pb24tYm9uZmlyZTpiZWZvcmV7Y29udGVudDoiXGYzMTUifS5pb24tYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMjZiIn0uaW9uLWJvd3RpZTpiZWZvcmV7Y29udGVudDoiXGYzYzAifS5pb24tYnJpZWZjYXNlOmJlZm9yZXtjb250ZW50OiJcZjI2YyJ9Lmlvbi1idWc6YmVmb3Jle2NvbnRlbnQ6IlxmMmJlIn0uaW9uLWNhbGN1bGF0b3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjZkIn0uaW9uLWNhbGVuZGFyOmJlZm9yZXtjb250ZW50OiJcZjExNyJ9Lmlvbi1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMTE4In0uaW9uLWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTE5In0uaW9uLWNhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMzE2In0uaW9uLWNoYXRib3g6YmVmb3Jle2NvbnRlbnQ6IlxmMTFiIn0uaW9uLWNoYXRib3gtd29ya2luZzpiZWZvcmV7Y29udGVudDoiXGYxMWEifS5pb24tY2hhdGJveGVzOmJlZm9yZXtjb250ZW50OiJcZjExYyJ9Lmlvbi1jaGF0YnViYmxlOmJlZm9yZXtjb250ZW50OiJcZjExZSJ9Lmlvbi1jaGF0YnViYmxlLXdvcmtpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMTFkIn0uaW9uLWNoYXRidWJibGVzOmJlZm9yZXtjb250ZW50OiJcZjExZiJ9Lmlvbi1jaGVja21hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMTIyIn0uaW9uLWNoZWNrbWFyay1jaXJjbGVkOmJlZm9yZXtjb250ZW50OiJcZjEyMCJ9Lmlvbi1jaGVja21hcmstcm91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTIxIn0uaW9uLWNoZXZyb24tZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMjMifS5pb24tY2hldnJvbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEyNCJ9Lmlvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEyNSJ9Lmlvbi1jaGV2cm9uLXVwOmJlZm9yZXtjb250ZW50OiJcZjEyNiJ9Lmlvbi1jbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTI3In0uaW9uLWNsb2NrOmJlZm9yZXtjb250ZW50OiJcZjI2ZSJ9Lmlvbi1jbG9zZTpiZWZvcmV7Y29udGVudDoiXGYxMmEifS5pb24tY2xvc2UtY2lyY2xlZDpiZWZvcmV7Y29udGVudDoiXGYxMjgifS5pb24tY2xvc2Utcm91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTI5In0uaW9uLWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZXtjb250ZW50OiJcZjMxNyJ9Lmlvbi1jbG91ZDpiZWZvcmV7Y29udGVudDoiXGYxMmIifS5pb24tY29kZTpiZWZvcmV7Y29udGVudDoiXGYyNzEifS5pb24tY29kZS1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGYyNmYifS5pb24tY29kZS13b3JraW5nOmJlZm9yZXtjb250ZW50OiJcZjI3MCJ9Lmlvbi1jb2ZmZWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjcyIn0uaW9uLWNvbXBhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjczIn0uaW9uLWNvbXBvc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMTJjIn0uaW9uLWNvbm5lY3Rpb24tYmFyczpiZWZvcmV7Y29udGVudDoiXGYyNzQifS5pb24tY29udHJhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMjc1In0uaW9uLWNyb3A6YmVmb3Jle2NvbnRlbnQ6IlxmM2MxIn0uaW9uLWN1YmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzE4In0uaW9uLWRpc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTJkIn0uaW9uLWRvY3VtZW50OmJlZm9yZXtjb250ZW50OiJcZjEyZiJ9Lmlvbi1kb2N1bWVudC10ZXh0OmJlZm9yZXtjb250ZW50OiJcZjEyZSJ9Lmlvbi1kcmFnOmJlZm9yZXtjb250ZW50OiJcZjEzMCJ9Lmlvbi1lYXJ0aDpiZWZvcmV7Y29udGVudDoiXGYyNzYifS5pb24tZWFzZWw6YmVmb3Jle2NvbnRlbnQ6IlxmM2MyIn0uaW9uLWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmJmIn0uaW9uLWVnZzpiZWZvcmV7Y29udGVudDoiXGYyNzcifS5pb24tZWplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMTMxIn0uaW9uLWVtYWlsOmJlZm9yZXtjb250ZW50OiJcZjEzMiJ9Lmlvbi1lbWFpbC11bnJlYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2MzIn0uaW9uLWVybGVubWV5ZXItZmxhc2s6YmVmb3Jle2NvbnRlbnQ6IlxmM2M1In0uaW9uLWVybGVubWV5ZXItZmxhc2stYnViYmxlczpiZWZvcmV7Y29udGVudDoiXGYzYzQifS5pb24tZXllOmJlZm9yZXtjb250ZW50OiJcZjEzMyJ9Lmlvbi1leWUtZGlzYWJsZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzA2In0uaW9uLWZlbWFsZTpiZWZvcmV7Y29udGVudDoiXGYyNzgifS5pb24tZmlsaW5nOmJlZm9yZXtjb250ZW50OiJcZjEzNCJ9Lmlvbi1maWxtLW1hcmtlcjpiZWZvcmV7Y29udGVudDoiXGYxMzUifS5pb24tZmlyZWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmMzE5In0uaW9uLWZsYWc6YmVmb3Jle2NvbnRlbnQ6IlxmMjc5In0uaW9uLWZsYW1lOmJlZm9yZXtjb250ZW50OiJcZjMxYSJ9Lmlvbi1mbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxMzcifS5pb24tZmxhc2gtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjEzNiJ9Lmlvbi1mb2xkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTM5In0uaW9uLWZvcms6YmVmb3Jle2NvbnRlbnQ6IlxmMjdhIn0uaW9uLWZvcmstcmVwbzpiZWZvcmV7Y29udGVudDoiXGYyYzAifS5pb24tZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYxM2EifS5pb24tZnVubmVsOmJlZm9yZXtjb250ZW50OiJcZjMxYiJ9Lmlvbi1nZWFyLWE6YmVmb3Jle2NvbnRlbnQ6IlxmMTNkIn0uaW9uLWdlYXItYjpiZWZvcmV7Y29udGVudDoiXGYxM2UifS5pb24tZ3JpZDpiZWZvcmV7Y29udGVudDoiXGYxM2YifS5pb24taGFtbWVyOmJlZm9yZXtjb250ZW50OiJcZjI3YiJ9Lmlvbi1oYXBweTpiZWZvcmV7Y29udGVudDoiXGYzMWMifS5pb24taGFwcHktb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzYzYifS5pb24taGVhZHBob25lOmJlZm9yZXtjb250ZW50OiJcZjE0MCJ9Lmlvbi1oZWFydDpiZWZvcmV7Y29udGVudDoiXGYxNDEifS5pb24taGVhcnQtYnJva2VuOmJlZm9yZXtjb250ZW50OiJcZjMxZCJ9Lmlvbi1oZWxwOmJlZm9yZXtjb250ZW50OiJcZjE0MyJ9Lmlvbi1oZWxwLWJ1b3k6YmVmb3Jle2NvbnRlbnQ6IlxmMjdjIn0uaW9uLWhlbHAtY2lyY2xlZDpiZWZvcmV7Y29udGVudDoiXGYxNDIifS5pb24taG9tZTpiZWZvcmV7Y29udGVudDoiXGYxNDQifS5pb24taWNlY3JlYW06YmVmb3Jle2NvbnRlbnQ6IlxmMjdkIn0uaW9uLWltYWdlOmJlZm9yZXtjb250ZW50OiJcZjE0NyJ9Lmlvbi1pbWFnZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ4In0uaW9uLWluZm9ybWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjE0YSJ9Lmlvbi1pbmZvcm1hdGlvbi1jaXJjbGVkOmJlZm9yZXtjb250ZW50OiJcZjE0OSJ9Lmlvbi1pb25pYzpiZWZvcmV7Y29udGVudDoiXGYxNGIifS5pb24taW9zLWFsYXJtOmJlZm9yZXtjb250ZW50OiJcZjNjOCJ9Lmlvbi1pb3MtYWxhcm0tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzYzcifS5pb24taW9zLWFsYnVtczpiZWZvcmV7Y29udGVudDoiXGYzY2EifS5pb24taW9zLWFsYnVtcy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNjOSJ9Lmlvbi1pb3MtYW1lcmljYW5mb290YmFsbDpiZWZvcmV7Y29udGVudDoiXGYzY2MifS5pb24taW9zLWFtZXJpY2FuZm9vdGJhbGwtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzY2IifS5pb24taW9zLWFuYWx5dGljczpiZWZvcmV7Y29udGVudDoiXGYzY2UifS5pb24taW9zLWFuYWx5dGljcy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNjZCJ9Lmlvbi1pb3MtYXJyb3ctYmFjazpiZWZvcmV7Y29udGVudDoiXGYzY2YifS5pb24taW9zLWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmM2QwIn0uaW9uLWlvcy1hcnJvdy1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjNkMSJ9Lmlvbi1pb3MtYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGYzZDIifS5pb24taW9zLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjNkMyJ9Lmlvbi1pb3MtYXJyb3ctdGhpbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZjNkNCJ9Lmlvbi1pb3MtYXJyb3ctdGhpbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjNkNSJ9Lmlvbi1pb3MtYXJyb3ctdGhpbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYzZDYifS5pb24taW9zLWFycm93LXRoaW4tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmM2Q3In0uaW9uLWlvcy1hcnJvdy11cDpiZWZvcmV7Y29udGVudDoiXGYzZDgifS5pb24taW9zLWF0OmJlZm9yZXtjb250ZW50OiJcZjNkYSJ9Lmlvbi1pb3MtYXQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZDkifS5pb24taW9zLWJhcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2RjIn0uaW9uLWlvcy1iYXJjb2RlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2RiIn0uaW9uLWlvcy1iYXNlYmFsbDpiZWZvcmV7Y29udGVudDoiXGYzZGUifS5pb24taW9zLWJhc2ViYWxsLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2RkIn0uaW9uLWlvcy1iYXNrZXRiYWxsOmJlZm9yZXtjb250ZW50OiJcZjNlMCJ9Lmlvbi1pb3MtYmFza2V0YmFsbC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNkZiJ9Lmlvbi1pb3MtYmVsbDpiZWZvcmV7Y29udGVudDoiXGYzZTIifS5pb24taW9zLWJlbGwtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZTEifS5pb24taW9zLWJvZHk6YmVmb3Jle2NvbnRlbnQ6IlxmM2U0In0uaW9uLWlvcy1ib2R5LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2UzIn0uaW9uLWlvcy1ib2x0OmJlZm9yZXtjb250ZW50OiJcZjNlNiJ9Lmlvbi1pb3MtYm9sdC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNlNSJ9Lmlvbi1pb3MtYm9vazpiZWZvcmV7Y29udGVudDoiXGYzZTgifS5pb24taW9zLWJvb2stb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZTcifS5pb24taW9zLWJvb2ttYXJrczpiZWZvcmV7Y29udGVudDoiXGYzZWEifS5pb24taW9zLWJvb2ttYXJrcy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNlOSJ9Lmlvbi1pb3MtYm94OmJlZm9yZXtjb250ZW50OiJcZjNlYyJ9Lmlvbi1pb3MtYm94LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2ViIn0uaW9uLWlvcy1icmllZmNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmM2VlIn0uaW9uLWlvcy1icmllZmNhc2Utb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZWQifS5pb24taW9zLWJyb3dzZXJzOmJlZm9yZXtjb250ZW50OiJcZjNmMCJ9Lmlvbi1pb3MtYnJvd3NlcnMtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZWYifS5pb24taW9zLWNhbGN1bGF0b3I6YmVmb3Jle2NvbnRlbnQ6IlxmM2YyIn0uaW9uLWlvcy1jYWxjdWxhdG9yLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2YxIn0uaW9uLWlvcy1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDoiXGYzZjQifS5pb24taW9zLWNhbGVuZGFyLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2YzIn0uaW9uLWlvcy1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxmM2Y2In0uaW9uLWlvcy1jYW1lcmEtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZjUifS5pb24taW9zLWNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2Y4In0uaW9uLWlvcy1jYXJ0LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2Y3In0uaW9uLWlvcy1jaGF0Ym94ZXM6YmVmb3Jle2NvbnRlbnQ6IlxmM2ZhIn0uaW9uLWlvcy1jaGF0Ym94ZXMtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZjkifS5pb24taW9zLWNoYXRidWJibGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2ZjIn0uaW9uLWlvcy1jaGF0YnViYmxlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2ZiIn0uaW9uLWlvcy1jaGVja21hcms6YmVmb3Jle2NvbnRlbnQ6IlxmM2ZmIn0uaW9uLWlvcy1jaGVja21hcmstZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmM2ZkIn0uaW9uLWlvcy1jaGVja21hcmstb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZmUifS5pb24taW9zLWNpcmNsZS1maWxsZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDAwIn0uaW9uLWlvcy1jaXJjbGUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MDEifS5pb24taW9zLWNsb2NrOmJlZm9yZXtjb250ZW50OiJcZjQwMyJ9Lmlvbi1pb3MtY2xvY2stb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MDIifS5pb24taW9zLWNsb3NlOmJlZm9yZXtjb250ZW50OiJcZjQwNiJ9Lmlvbi1pb3MtY2xvc2UtZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmNDA0In0uaW9uLWlvcy1jbG9zZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQwNSJ9Lmlvbi1pb3MtY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDBjIn0uaW9uLWlvcy1jbG91ZC1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGY0MDgifS5pb24taW9zLWNsb3VkLWRvd25sb2FkLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDA3In0uaW9uLWlvcy1jbG91ZC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQwOSJ9Lmlvbi1pb3MtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZjQwYiJ9Lmlvbi1pb3MtY2xvdWQtdXBsb2FkLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDBhIn0uaW9uLWlvcy1jbG91ZHk6YmVmb3Jle2NvbnRlbnQ6IlxmNDEwIn0uaW9uLWlvcy1jbG91ZHktbmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDBlIn0uaW9uLWlvcy1jbG91ZHktbmlnaHQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MGQifS5pb24taW9zLWNsb3VkeS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQwZiJ9Lmlvbi1pb3MtY29nOmJlZm9yZXtjb250ZW50OiJcZjQxMiJ9Lmlvbi1pb3MtY29nLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDExIn0uaW9uLWlvcy1jb2xvci1maWx0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDE0In0uaW9uLWlvcy1jb2xvci1maWx0ZXItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MTMifS5pb24taW9zLWNvbG9yLXdhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDE2In0uaW9uLWlvcy1jb2xvci13YW5kLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDE1In0uaW9uLWlvcy1jb21wb3NlOmJlZm9yZXtjb250ZW50OiJcZjQxOCJ9Lmlvbi1pb3MtY29tcG9zZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQxNyJ9Lmlvbi1pb3MtY29udGFjdDpiZWZvcmV7Y29udGVudDoiXGY0MWEifS5pb24taW9zLWNvbnRhY3Qtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MTkifS5pb24taW9zLWNvcHk6YmVmb3Jle2NvbnRlbnQ6IlxmNDFjIn0uaW9uLWlvcy1jb3B5LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDFiIn0uaW9uLWlvcy1jcm9wOmJlZm9yZXtjb250ZW50OiJcZjQxZSJ9Lmlvbi1pb3MtY3JvcC1zdHJvbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNDFkIn0uaW9uLWlvcy1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGY0MjAifS5pb24taW9zLWRvd25sb2FkLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDFmIn0uaW9uLWlvcy1kcmFnOmJlZm9yZXtjb250ZW50OiJcZjQyMSJ9Lmlvbi1pb3MtZW1haWw6YmVmb3Jle2NvbnRlbnQ6IlxmNDIzIn0uaW9uLWlvcy1lbWFpbC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQyMiJ9Lmlvbi1pb3MtZXllOmJlZm9yZXtjb250ZW50OiJcZjQyNSJ9Lmlvbi1pb3MtZXllLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDI0In0uaW9uLWlvcy1mYXN0Zm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGY0MjcifS5pb24taW9zLWZhc3Rmb3J3YXJkLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDI2In0uaW9uLWlvcy1maWxpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNDI5In0uaW9uLWlvcy1maWxpbmctb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MjgifS5pb24taW9zLWZpbG06YmVmb3Jle2NvbnRlbnQ6IlxmNDJiIn0uaW9uLWlvcy1maWxtLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDJhIn0uaW9uLWlvcy1mbGFnOmJlZm9yZXtjb250ZW50OiJcZjQyZCJ9Lmlvbi1pb3MtZmxhZy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQyYyJ9Lmlvbi1pb3MtZmxhbWU6YmVmb3Jle2NvbnRlbnQ6IlxmNDJmIn0uaW9uLWlvcy1mbGFtZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQyZSJ9Lmlvbi1pb3MtZmxhc2s6YmVmb3Jle2NvbnRlbnQ6IlxmNDMxIn0uaW9uLWlvcy1mbGFzay1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQzMCJ9Lmlvbi1pb3MtZmxvd2VyOmJlZm9yZXtjb250ZW50OiJcZjQzMyJ9Lmlvbi1pb3MtZmxvd2VyLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDMyIn0uaW9uLWlvcy1mb2xkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDM1In0uaW9uLWlvcy1mb2xkZXItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MzQifS5pb24taW9zLWZvb3RiYWxsOmJlZm9yZXtjb250ZW50OiJcZjQzNyJ9Lmlvbi1pb3MtZm9vdGJhbGwtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MzYifS5pb24taW9zLWdhbWUtY29udHJvbGxlci1hOmJlZm9yZXtjb250ZW50OiJcZjQzOSJ9Lmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWEtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MzgifS5pb24taW9zLWdhbWUtY29udHJvbGxlci1iOmJlZm9yZXtjb250ZW50OiJcZjQzYiJ9Lmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0M2EifS5pb24taW9zLWdlYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDNkIn0uaW9uLWlvcy1nZWFyLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDNjIn0uaW9uLWlvcy1nbGFzc2VzOmJlZm9yZXtjb250ZW50OiJcZjQzZiJ9Lmlvbi1pb3MtZ2xhc3Nlcy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQzZSJ9Lmlvbi1pb3MtZ3JpZC12aWV3OmJlZm9yZXtjb250ZW50OiJcZjQ0MSJ9Lmlvbi1pb3MtZ3JpZC12aWV3LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDQwIn0uaW9uLWlvcy1oZWFydDpiZWZvcmV7Y29udGVudDoiXGY0NDMifS5pb24taW9zLWhlYXJ0LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDQyIn0uaW9uLWlvcy1oZWxwOmJlZm9yZXtjb250ZW50OiJcZjQ0NiJ9Lmlvbi1pb3MtaGVscC1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGY0NDQifS5pb24taW9zLWhlbHAtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NDUifS5pb24taW9zLWhvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmNDQ4In0uaW9uLWlvcy1ob21lLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDQ3In0uaW9uLWlvcy1pbmZpbml0ZTpiZWZvcmV7Y29udGVudDoiXGY0NGEifS5pb24taW9zLWluZmluaXRlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDQ5In0uaW9uLWlvcy1pbmZvcm1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGY0NGQifS5pb24taW9zLWluZm9ybWF0aW9uLWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZjQ0YiJ9Lmlvbi1pb3MtaW5mb3JtYXRpb24tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NGMifS5pb24taW9zLWlvbmljLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDRlIn0uaW9uLWlvcy1rZXlwYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDUwIn0uaW9uLWlvcy1rZXlwYWQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NGYifS5pb24taW9zLWxpZ2h0YnVsYjpiZWZvcmV7Y29udGVudDoiXGY0NTIifS5pb24taW9zLWxpZ2h0YnVsYi1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ1MSJ9Lmlvbi1pb3MtbGlzdDpiZWZvcmV7Y29udGVudDoiXGY0NTQifS5pb24taW9zLWxpc3Qtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NTMifS5pb24taW9zLWxvY2F0aW9uOmJlZm9yZXtjb250ZW50OiJcZjQ1NiJ9Lmlvbi1pb3MtbG9jYXRpb24tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NTUifS5pb24taW9zLWxvY2tlZDpiZWZvcmV7Y29udGVudDoiXGY0NTgifS5pb24taW9zLWxvY2tlZC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ1NyJ9Lmlvbi1pb3MtbG9vcDpiZWZvcmV7Y29udGVudDoiXGY0NWEifS5pb24taW9zLWxvb3Atc3Ryb25nOmJlZm9yZXtjb250ZW50OiJcZjQ1OSJ9Lmlvbi1pb3MtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY0NWMifS5pb24taW9zLW1lZGljYWwtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NWIifS5pb24taW9zLW1lZGtpdDpiZWZvcmV7Y29udGVudDoiXGY0NWUifS5pb24taW9zLW1lZGtpdC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ1ZCJ9Lmlvbi1pb3MtbWljOmJlZm9yZXtjb250ZW50OiJcZjQ2MSJ9Lmlvbi1pb3MtbWljLW9mZjpiZWZvcmV7Y29udGVudDoiXGY0NWYifS5pb24taW9zLW1pYy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ2MCJ9Lmlvbi1pb3MtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxmNDY0In0uaW9uLWlvcy1taW51cy1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGY0NjIifS5pb24taW9zLW1pbnVzLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDYzIn0uaW9uLWlvcy1tb25pdG9yOmJlZm9yZXtjb250ZW50OiJcZjQ2NiJ9Lmlvbi1pb3MtbW9uaXRvci1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ2NSJ9Lmlvbi1pb3MtbW9vbjpiZWZvcmV7Y29udGVudDoiXGY0NjgifS5pb24taW9zLW1vb24tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NjcifS5pb24taW9zLW1vcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDZhIn0uaW9uLWlvcy1tb3JlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDY5In0uaW9uLWlvcy1tdXNpY2FsLW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDZiIn0uaW9uLWlvcy1tdXNpY2FsLW5vdGVzOmJlZm9yZXtjb250ZW50OiJcZjQ2YyJ9Lmlvbi1pb3MtbmF2aWdhdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDZlIn0uaW9uLWlvcy1uYXZpZ2F0ZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ2ZCJ9Lmlvbi1pb3MtbnV0cml0aW9uOmJlZm9yZXtjb250ZW50OiJcZjQ3MCJ9Lmlvbi1pb3MtbnV0cml0aW9uLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDZmIn0uaW9uLWlvcy1wYXBlcjpiZWZvcmV7Y29udGVudDoiXGY0NzIifS5pb24taW9zLXBhcGVyLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDcxIn0uaW9uLWlvcy1wYXBlcnBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjQ3NCJ9Lmlvbi1pb3MtcGFwZXJwbGFuZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ3MyJ9Lmlvbi1pb3MtcGFydGx5c3Vubnk6YmVmb3Jle2NvbnRlbnQ6IlxmNDc2In0uaW9uLWlvcy1wYXJ0bHlzdW5ueS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ3NSJ9Lmlvbi1pb3MtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxmNDc4In0uaW9uLWlvcy1wYXVzZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ3NyJ9Lmlvbi1pb3MtcGF3OmJlZm9yZXtjb250ZW50OiJcZjQ3YSJ9Lmlvbi1pb3MtcGF3LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDc5In0uaW9uLWlvcy1wZW9wbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDdjIn0uaW9uLWlvcy1wZW9wbGUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0N2IifS5pb24taW9zLXBlcnNvbjpiZWZvcmV7Y29udGVudDoiXGY0N2UifS5pb24taW9zLXBlcnNvbi1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ3ZCJ9Lmlvbi1pb3MtcGVyc29uYWRkOmJlZm9yZXtjb250ZW50OiJcZjQ4MCJ9Lmlvbi1pb3MtcGVyc29uYWRkLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDdmIn0uaW9uLWlvcy1waG90b3M6YmVmb3Jle2NvbnRlbnQ6IlxmNDgyIn0uaW9uLWlvcy1waG90b3Mtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ODEifS5pb24taW9zLXBpZTpiZWZvcmV7Y29udGVudDoiXGY0ODQifS5pb24taW9zLXBpZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ4MyJ9Lmlvbi1pb3MtcGludDpiZWZvcmV7Y29udGVudDoiXGY0ODYifS5pb24taW9zLXBpbnQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ODUifS5pb24taW9zLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDg4In0uaW9uLWlvcy1wbGF5LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDg3In0uaW9uLWlvcy1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjQ4YiJ9Lmlvbi1pb3MtcGx1cy1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGY0ODkifS5pb24taW9zLXBsdXMtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0OGEifS5pb24taW9zLXByaWNldGFnOmJlZm9yZXtjb250ZW50OiJcZjQ4ZCJ9Lmlvbi1pb3MtcHJpY2V0YWctb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0OGMifS5pb24taW9zLXByaWNldGFnczpiZWZvcmV7Y29udGVudDoiXGY0OGYifS5pb24taW9zLXByaWNldGFncy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ4ZSJ9Lmlvbi1pb3MtcHJpbnRlcjpiZWZvcmV7Y29udGVudDoiXGY0OTEifS5pb24taW9zLXByaW50ZXItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0OTAifS5pb24taW9zLXB1bHNlOmJlZm9yZXtjb250ZW50OiJcZjQ5MyJ9Lmlvbi1pb3MtcHVsc2Utc3Ryb25nOmJlZm9yZXtjb250ZW50OiJcZjQ5MiJ9Lmlvbi1pb3MtcmFpbnk6YmVmb3Jle2NvbnRlbnQ6IlxmNDk1In0uaW9uLWlvcy1yYWlueS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ5NCJ9Lmlvbi1pb3MtcmVjb3JkaW5nOmJlZm9yZXtjb250ZW50OiJcZjQ5NyJ9Lmlvbi1pb3MtcmVjb3JkaW5nLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDk2In0uaW9uLWlvcy1yZWRvOmJlZm9yZXtjb250ZW50OiJcZjQ5OSJ9Lmlvbi1pb3MtcmVkby1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ5OCJ9Lmlvbi1pb3MtcmVmcmVzaDpiZWZvcmV7Y29udGVudDoiXGY0OWMifS5pb24taW9zLXJlZnJlc2gtZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmNDlhIn0uaW9uLWlvcy1yZWZyZXNoLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDliIn0uaW9uLWlvcy1yZWxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDlkIn0uaW9uLWlvcy1yZXZlcnNlLWNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGY0OWYifS5pb24taW9zLXJldmVyc2UtY2FtZXJhLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDllIn0uaW9uLWlvcy1yZXdpbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGExIn0uaW9uLWlvcy1yZXdpbmQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0YTAifS5pb24taW9zLXJvc2U6YmVmb3Jle2NvbnRlbnQ6IlxmNGEzIn0uaW9uLWlvcy1yb3NlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGEyIn0uaW9uLWlvcy1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmNGE1In0uaW9uLWlvcy1zZWFyY2gtc3Ryb25nOmJlZm9yZXtjb250ZW50OiJcZjRhNCJ9Lmlvbi1pb3Mtc2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6IlxmNGE3In0uaW9uLWlvcy1zZXR0aW5ncy1zdHJvbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNGE2In0uaW9uLWlvcy1zaHVmZmxlOmJlZm9yZXtjb250ZW50OiJcZjRhOSJ9Lmlvbi1pb3Mtc2h1ZmZsZS1zdHJvbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNGE4In0uaW9uLWlvcy1za2lwYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGFiIn0uaW9uLWlvcy1za2lwYmFja3dhcmQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0YWEifS5pb24taW9zLXNraXBmb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjRhZCJ9Lmlvbi1pb3Mtc2tpcGZvcndhcmQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0YWMifS5pb24taW9zLXNub3d5OmJlZm9yZXtjb250ZW50OiJcZjRhZSJ9Lmlvbi1pb3Mtc3BlZWRvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNGIwIn0uaW9uLWlvcy1zcGVlZG9tZXRlci1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRhZiJ9Lmlvbi1pb3Mtc3RhcjpiZWZvcmV7Y29udGVudDoiXGY0YjMifS5pb24taW9zLXN0YXItaGFsZjpiZWZvcmV7Y29udGVudDoiXGY0YjEifS5pb24taW9zLXN0YXItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0YjIifS5pb24taW9zLXN0b3B3YXRjaDpiZWZvcmV7Y29udGVudDoiXGY0YjUifS5pb24taW9zLXN0b3B3YXRjaC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRiNCJ9Lmlvbi1pb3Mtc3Vubnk6YmVmb3Jle2NvbnRlbnQ6IlxmNGI3In0uaW9uLWlvcy1zdW5ueS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRiNiJ9Lmlvbi1pb3MtdGVsZXBob25lOmJlZm9yZXtjb250ZW50OiJcZjRiOSJ9Lmlvbi1pb3MtdGVsZXBob25lLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGI4In0uaW9uLWlvcy10ZW5uaXNiYWxsOmJlZm9yZXtjb250ZW50OiJcZjRiYiJ9Lmlvbi1pb3MtdGVubmlzYmFsbC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRiYSJ9Lmlvbi1pb3MtdGh1bmRlcnN0b3JtOmJlZm9yZXtjb250ZW50OiJcZjRiZCJ9Lmlvbi1pb3MtdGh1bmRlcnN0b3JtLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGJjIn0uaW9uLWlvcy10aW1lOmJlZm9yZXtjb250ZW50OiJcZjRiZiJ9Lmlvbi1pb3MtdGltZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRiZSJ9Lmlvbi1pb3MtdGltZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNGMxIn0uaW9uLWlvcy10aW1lci1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRjMCJ9Lmlvbi1pb3MtdG9nZ2xlOmJlZm9yZXtjb250ZW50OiJcZjRjMyJ9Lmlvbi1pb3MtdG9nZ2xlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGMyIn0uaW9uLWlvcy10cmFzaDpiZWZvcmV7Y29udGVudDoiXGY0YzUifS5pb24taW9zLXRyYXNoLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGM0In0uaW9uLWlvcy11bmRvOmJlZm9yZXtjb250ZW50OiJcZjRjNyJ9Lmlvbi1pb3MtdW5kby1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRjNiJ9Lmlvbi1pb3MtdW5sb2NrZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGM5In0uaW9uLWlvcy11bmxvY2tlZC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRjOCJ9Lmlvbi1pb3MtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZjRjYiJ9Lmlvbi1pb3MtdXBsb2FkLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGNhIn0uaW9uLWlvcy12aWRlb2NhbTpiZWZvcmV7Y29udGVudDoiXGY0Y2QifS5pb24taW9zLXZpZGVvY2FtLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGNjIn0uaW9uLWlvcy12b2x1bWUtaGlnaDpiZWZvcmV7Y29udGVudDoiXGY0Y2UifS5pb24taW9zLXZvbHVtZS1sb3c6YmVmb3Jle2NvbnRlbnQ6IlxmNGNmIn0uaW9uLWlvcy13aW5lZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNGQxIn0uaW9uLWlvcy13aW5lZ2xhc3Mtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ZDAifS5pb24taW9zLXdvcmxkOmJlZm9yZXtjb250ZW50OiJcZjRkMyJ9Lmlvbi1pb3Mtd29ybGQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ZDIifS5pb24taXBhZDpiZWZvcmV7Y29udGVudDoiXGYxZjkifS5pb24taXBob25lOmJlZm9yZXtjb250ZW50OiJcZjFmYSJ9Lmlvbi1pcG9kOmJlZm9yZXtjb250ZW50OiJcZjFmYiJ9Lmlvbi1qZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjk1In0uaW9uLWtleTpiZWZvcmV7Y29udGVudDoiXGYyOTYifS5pb24ta25pZmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjk3In0uaW9uLWxhcHRvcDpiZWZvcmV7Y29udGVudDoiXGYxZmMifS5pb24tbGVhZjpiZWZvcmV7Y29udGVudDoiXGYxZmQifS5pb24tbGV2ZWxzOmJlZm9yZXtjb250ZW50OiJcZjI5OCJ9Lmlvbi1saWdodGJ1bGI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk5In0uaW9uLWxpbms6YmVmb3Jle2NvbnRlbnQ6IlxmMWZlIn0uaW9uLWxvYWQtYTpiZWZvcmV7Y29udGVudDoiXGYyOWEifS5pb24tbG9hZC1iOmJlZm9yZXtjb250ZW50OiJcZjI5YiJ9Lmlvbi1sb2FkLWM6YmVmb3Jle2NvbnRlbnQ6IlxmMjljIn0uaW9uLWxvYWQtZDpiZWZvcmV7Y29udGVudDoiXGYyOWQifS5pb24tbG9jYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmMWZmIn0uaW9uLWxvY2stY29tYmluYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNGQ0In0uaW9uLWxvY2tlZDpiZWZvcmV7Y29udGVudDoiXGYyMDAifS5pb24tbG9nLWluOmJlZm9yZXtjb250ZW50OiJcZjI5ZSJ9Lmlvbi1sb2ctb3V0OmJlZm9yZXtjb250ZW50OiJcZjI5ZiJ9Lmlvbi1sb29wOmJlZm9yZXtjb250ZW50OiJcZjIwMSJ9Lmlvbi1tYWduZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmEwIn0uaW9uLW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmExIn0uaW9uLW1hbjpiZWZvcmV7Y29udGVudDoiXGYyMDIifS5pb24tbWFwOmJlZm9yZXtjb250ZW50OiJcZjIwMyJ9Lmlvbi1tZWRraXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmEyIn0uaW9uLW1lcmdlOmJlZm9yZXtjb250ZW50OiJcZjMzZiJ9Lmlvbi1taWMtYTpiZWZvcmV7Y29udGVudDoiXGYyMDQifS5pb24tbWljLWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjA1In0uaW9uLW1pYy1jOmJlZm9yZXtjb250ZW50OiJcZjIwNiJ9Lmlvbi1taW51czpiZWZvcmV7Y29udGVudDoiXGYyMDkifS5pb24tbWludXMtY2lyY2xlZDpiZWZvcmV7Y29udGVudDoiXGYyMDcifS5pb24tbWludXMtcm91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjA4In0uaW9uLW1vZGVsLXM6YmVmb3Jle2NvbnRlbnQ6IlxmMmMxIn0uaW9uLW1vbml0b3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjBhIn0uaW9uLW1vcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjBiIn0uaW9uLW1vdXNlOmJlZm9yZXtjb250ZW50OiJcZjM0MCJ9Lmlvbi1tdXNpYy1ub3RlOmJlZm9yZXtjb250ZW50OiJcZjIwYyJ9Lmlvbi1uYXZpY29uOmJlZm9yZXtjb250ZW50OiJcZjIwZSJ9Lmlvbi1uYXZpY29uLXJvdW5kOmJlZm9yZXtjb250ZW50OiJcZjIwZCJ9Lmlvbi1uYXZpZ2F0ZTpiZWZvcmV7Y29udGVudDoiXGYyYTMifS5pb24tbmV0d29yazpiZWZvcmV7Y29udGVudDoiXGYzNDEifS5pb24tbm8tc21va2luZzpiZWZvcmV7Y29udGVudDoiXGYyYzIifS5pb24tbnVjbGVhcjpiZWZvcmV7Y29udGVudDoiXGYyYTQifS5pb24tb3V0bGV0OmJlZm9yZXtjb250ZW50OiJcZjM0MiJ9Lmlvbi1wYWludGJydXNoOmJlZm9yZXtjb250ZW50OiJcZjRkNSJ9Lmlvbi1wYWludGJ1Y2tldDpiZWZvcmV7Y29udGVudDoiXGY0ZDYifS5pb24tcGFwZXItYWlycGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmMzIn0uaW9uLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDoiXGYyMGYifS5pb24tcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjEwIn0uaW9uLXBlcnNvbjpiZWZvcmV7Y29udGVudDoiXGYyMTMifS5pb24tcGVyc29uLWFkZDpiZWZvcmV7Y29udGVudDoiXGYyMTEifS5pb24tcGVyc29uLXN0YWxrZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjEyIn0uaW9uLXBpZS1ncmFwaDpiZWZvcmV7Y29udGVudDoiXGYyYTUifS5pb24tcGluOmJlZm9yZXtjb250ZW50OiJcZjJhNiJ9Lmlvbi1waW5wb2ludDpiZWZvcmV7Y29udGVudDoiXGYyYTcifS5pb24tcGl6emE6YmVmb3Jle2NvbnRlbnQ6IlxmMmE4In0uaW9uLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjIxNCJ9Lmlvbi1wbGFuZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzQzIn0uaW9uLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMjE1In0uaW9uLXBsYXlzdGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjMwYSJ9Lmlvbi1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIxOCJ9Lmlvbi1wbHVzLWNpcmNsZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE2In0uaW9uLXBsdXMtcm91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE3In0uaW9uLXBvZGl1bTpiZWZvcmV7Y29udGVudDoiXGYzNDQifS5pb24tcG91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE5In0uaW9uLXBvd2VyOmJlZm9yZXtjb250ZW50OiJcZjJhOSJ9Lmlvbi1wcmljZXRhZzpiZWZvcmV7Y29udGVudDoiXGYyYWEifS5pb24tcHJpY2V0YWdzOmJlZm9yZXtjb250ZW50OiJcZjJhYiJ9Lmlvbi1wcmludGVyOmJlZm9yZXtjb250ZW50OiJcZjIxYSJ9Lmlvbi1wdWxsLXJlcXVlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMzQ1In0uaW9uLXFyLXNjYW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMzQ2In0uaW9uLXF1b3RlOmJlZm9yZXtjb250ZW50OiJcZjM0NyJ9Lmlvbi1yYWRpby13YXZlczpiZWZvcmV7Y29udGVudDoiXGYyYWMifS5pb24tcmVjb3JkOmJlZm9yZXtjb250ZW50OiJcZjIxYiJ9Lmlvbi1yZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZjIxYyJ9Lmlvbi1yZXBseTpiZWZvcmV7Y29udGVudDoiXGYyMWUifS5pb24tcmVwbHktYWxsOmJlZm9yZXtjb250ZW50OiJcZjIxZCJ9Lmlvbi1yaWJib24tYTpiZWZvcmV7Y29udGVudDoiXGYzNDgifS5pb24tcmliYm9uLWI6YmVmb3Jle2NvbnRlbnQ6IlxmMzQ5In0uaW9uLXNhZDpiZWZvcmV7Y29udGVudDoiXGYzNGEifS5pb24tc2FkLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGQ3In0uaW9uLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OiJcZjM0YiJ9Lmlvbi1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMjFmIn0uaW9uLXNldHRpbmdzOmJlZm9yZXtjb250ZW50OiJcZjJhZCJ9Lmlvbi1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGYyMjAifS5pb24tc2h1ZmZsZTpiZWZvcmV7Y29udGVudDoiXGYyMjEifS5pb24tc2tpcC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGYyMjIifS5pb24tc2tpcC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjIyMyJ9Lmlvbi1zb2NpYWwtYW5kcm9pZDpiZWZvcmV7Y29udGVudDoiXGYyMjUifS5pb24tc29jaWFsLWFuZHJvaWQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyMjQifS5pb24tc29jaWFsLWFuZ3VsYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNGQ5In0uaW9uLXNvY2lhbC1hbmd1bGFyLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGQ4In0uaW9uLXNvY2lhbC1hcHBsZTpiZWZvcmV7Y29udGVudDoiXGYyMjcifS5pb24tc29jaWFsLWFwcGxlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjI2In0uaW9uLXNvY2lhbC1iaXRjb2luOmJlZm9yZXtjb250ZW50OiJcZjJhZiJ9Lmlvbi1zb2NpYWwtYml0Y29pbi1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjJhZSJ9Lmlvbi1zb2NpYWwtYnVmZmVyOmJlZm9yZXtjb250ZW50OiJcZjIyOSJ9Lmlvbi1zb2NpYWwtYnVmZmVyLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjI4In0uaW9uLXNvY2lhbC1jaHJvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmNGRiIn0uaW9uLXNvY2lhbC1jaHJvbWUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ZGEifS5pb24tc29jaWFsLWNvZGVwZW46YmVmb3Jle2NvbnRlbnQ6IlxmNGRkIn0uaW9uLXNvY2lhbC1jb2RlcGVuLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGRjIn0uaW9uLXNvY2lhbC1jc3MzOmJlZm9yZXtjb250ZW50OiJcZjRkZiJ9Lmlvbi1zb2NpYWwtY3NzMy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRkZSJ9Lmlvbi1zb2NpYWwtZGVzaWduZXJuZXdzOmJlZm9yZXtjb250ZW50OiJcZjIyYiJ9Lmlvbi1zb2NpYWwtZGVzaWduZXJuZXdzLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjJhIn0uaW9uLXNvY2lhbC1kcmliYmJsZTpiZWZvcmV7Y29udGVudDoiXGYyMmQifS5pb24tc29jaWFsLWRyaWJiYmxlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjJjIn0uaW9uLXNvY2lhbC1kcm9wYm94OmJlZm9yZXtjb250ZW50OiJcZjIyZiJ9Lmlvbi1zb2NpYWwtZHJvcGJveC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjIyZSJ9Lmlvbi1zb2NpYWwtZXVybzpiZWZvcmV7Y29udGVudDoiXGY0ZTEifS5pb24tc29jaWFsLWV1cm8tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ZTAifS5pb24tc29jaWFsLWZhY2Vib29rOmJlZm9yZXtjb250ZW50OiJcZjIzMSJ9Lmlvbi1zb2NpYWwtZmFjZWJvb2stb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyMzAifS5pb24tc29jaWFsLWZvdXJzcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzRkIn0uaW9uLXNvY2lhbC1mb3Vyc3F1YXJlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzRjIn0uaW9uLXNvY2lhbC1mcmVlYnNkLWRldmlsOmJlZm9yZXtjb250ZW50OiJcZjJjNCJ9Lmlvbi1zb2NpYWwtZ2l0aHViOmJlZm9yZXtjb250ZW50OiJcZjIzMyJ9Lmlvbi1zb2NpYWwtZ2l0aHViLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjMyIn0uaW9uLXNvY2lhbC1nb29nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzRmIn0uaW9uLXNvY2lhbC1nb29nbGUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzNGUifS5pb24tc29jaWFsLWdvb2dsZXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjM1In0uaW9uLXNvY2lhbC1nb29nbGVwbHVzLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjM0In0uaW9uLXNvY2lhbC1oYWNrZXJuZXdzOmJlZm9yZXtjb250ZW50OiJcZjIzNyJ9Lmlvbi1zb2NpYWwtaGFja2VybmV3cy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjIzNiJ9Lmlvbi1zb2NpYWwtaHRtbDU6YmVmb3Jle2NvbnRlbnQ6IlxmNGUzIn0uaW9uLXNvY2lhbC1odG1sNS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRlMiJ9Lmlvbi1zb2NpYWwtaW5zdGFncmFtOmJlZm9yZXtjb250ZW50OiJcZjM1MSJ9Lmlvbi1zb2NpYWwtaW5zdGFncmFtLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzUwIn0uaW9uLXNvY2lhbC1qYXZhc2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZjRlNSJ9Lmlvbi1zb2NpYWwtamF2YXNjcmlwdC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRlNCJ9Lmlvbi1zb2NpYWwtbGlua2VkaW46YmVmb3Jle2NvbnRlbnQ6IlxmMjM5In0uaW9uLXNvY2lhbC1saW5rZWRpbi1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjIzOCJ9Lmlvbi1zb2NpYWwtbWFya2Rvd246YmVmb3Jle2NvbnRlbnQ6IlxmNGU2In0uaW9uLXNvY2lhbC1ub2RlanM6YmVmb3Jle2NvbnRlbnQ6IlxmNGU3In0uaW9uLXNvY2lhbC1vY3RvY2F0OmJlZm9yZXtjb250ZW50OiJcZjRlOCJ9Lmlvbi1zb2NpYWwtcGludGVyZXN0OmJlZm9yZXtjb250ZW50OiJcZjJiMSJ9Lmlvbi1zb2NpYWwtcGludGVyZXN0LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmIwIn0uaW9uLXNvY2lhbC1weXRob246YmVmb3Jle2NvbnRlbnQ6IlxmNGU5In0uaW9uLXNvY2lhbC1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjNiIn0uaW9uLXNvY2lhbC1yZWRkaXQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyM2EifS5pb24tc29jaWFsLXJzczpiZWZvcmV7Y29udGVudDoiXGYyM2QifS5pb24tc29jaWFsLXJzcy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjIzYyJ9Lmlvbi1zb2NpYWwtc2FzczpiZWZvcmV7Y29udGVudDoiXGY0ZWEifS5pb24tc29jaWFsLXNreXBlOmJlZm9yZXtjb250ZW50OiJcZjIzZiJ9Lmlvbi1zb2NpYWwtc2t5cGUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyM2UifS5pb24tc29jaWFsLXNuYXBjaGF0OmJlZm9yZXtjb250ZW50OiJcZjRlYyJ9Lmlvbi1zb2NpYWwtc25hcGNoYXQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ZWIifS5pb24tc29jaWFsLXR1bWJscjpiZWZvcmV7Y29udGVudDoiXGYyNDEifS5pb24tc29jaWFsLXR1bWJsci1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjI0MCJ9Lmlvbi1zb2NpYWwtdHV4OmJlZm9yZXtjb250ZW50OiJcZjJjNSJ9Lmlvbi1zb2NpYWwtdHdpdGNoOmJlZm9yZXtjb250ZW50OiJcZjRlZSJ9Lmlvbi1zb2NpYWwtdHdpdGNoLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGVkIn0uaW9uLXNvY2lhbC10d2l0dGVyOmJlZm9yZXtjb250ZW50OiJcZjI0MyJ9Lmlvbi1zb2NpYWwtdHdpdHRlci1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjI0MiJ9Lmlvbi1zb2NpYWwtdXNkOmJlZm9yZXtjb250ZW50OiJcZjM1MyJ9Lmlvbi1zb2NpYWwtdXNkLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzUyIn0uaW9uLXNvY2lhbC12aW1lbzpiZWZvcmV7Y29udGVudDoiXGYyNDUifS5pb24tc29jaWFsLXZpbWVvLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ0In0uaW9uLXNvY2lhbC13aGF0c2FwcDpiZWZvcmV7Y29udGVudDoiXGY0ZjAifS5pb24tc29jaWFsLXdoYXRzYXBwLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGVmIn0uaW9uLXNvY2lhbC13aW5kb3dzOmJlZm9yZXtjb250ZW50OiJcZjI0NyJ9Lmlvbi1zb2NpYWwtd2luZG93cy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjI0NiJ9Lmlvbi1zb2NpYWwtd29yZHByZXNzOmJlZm9yZXtjb250ZW50OiJcZjI0OSJ9Lmlvbi1zb2NpYWwtd29yZHByZXNzLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ4In0uaW9uLXNvY2lhbC15YWhvbzpiZWZvcmV7Y29udGVudDoiXGYyNGIifS5pb24tc29jaWFsLXlhaG9vLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjRhIn0uaW9uLXNvY2lhbC15ZW46YmVmb3Jle2NvbnRlbnQ6IlxmNGYyIn0uaW9uLXNvY2lhbC15ZW4tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ZjEifS5pb24tc29jaWFsLXlvdXR1YmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjRkIn0uaW9uLXNvY2lhbC15b3V0dWJlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjRjIn0uaW9uLXNvdXAtY2FuOmJlZm9yZXtjb250ZW50OiJcZjRmNCJ9Lmlvbi1zb3VwLWNhbi1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRmMyJ9Lmlvbi1zcGVha2VycGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmIyIn0uaW9uLXNwZWVkb21ldGVyOmJlZm9yZXtjb250ZW50OiJcZjJiMyJ9Lmlvbi1zcG9vbjpiZWZvcmV7Y29udGVudDoiXGYyYjQifS5pb24tc3RhcjpiZWZvcmV7Y29udGVudDoiXGYyNGUifS5pb24tc3RhdHMtYmFyczpiZWZvcmV7Y29udGVudDoiXGYyYjUifS5pb24tc3RlYW06YmVmb3Jle2NvbnRlbnQ6IlxmMzBiIn0uaW9uLXN0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMjRmIn0uaW9uLXRoZXJtb21ldGVyOmJlZm9yZXtjb250ZW50OiJcZjJiNiJ9Lmlvbi10aHVtYnNkb3duOmJlZm9yZXtjb250ZW50OiJcZjI1MCJ9Lmlvbi10aHVtYnN1cDpiZWZvcmV7Y29udGVudDoiXGYyNTEifS5pb24tdG9nZ2xlOmJlZm9yZXtjb250ZW50OiJcZjM1NSJ9Lmlvbi10b2dnbGUtZmlsbGVkOmJlZm9yZXtjb250ZW50OiJcZjM1NCJ9Lmlvbi10cmFuc2dlbmRlcjpiZWZvcmV7Y29udGVudDoiXGY0ZjUifS5pb24tdHJhc2gtYTpiZWZvcmV7Y29udGVudDoiXGYyNTIifS5pb24tdHJhc2gtYjpiZWZvcmV7Y29udGVudDoiXGYyNTMifS5pb24tdHJvcGh5OmJlZm9yZXtjb250ZW50OiJcZjM1NiJ9Lmlvbi10c2hpcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGY3In0uaW9uLXRzaGlydC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRmNiJ9Lmlvbi11bWJyZWxsYTpiZWZvcmV7Y29udGVudDoiXGYyYjcifS5pb24tdW5pdmVyc2l0eTpiZWZvcmV7Y29udGVudDoiXGYzNTcifS5pb24tdW5sb2NrZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjU0In0uaW9uLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGYyNTUifS5pb24tdXNiOmJlZm9yZXtjb250ZW50OiJcZjJiOCJ9Lmlvbi12aWRlb2NhbWVyYTpiZWZvcmV7Y29udGVudDoiXGYyNTYifS5pb24tdm9sdW1lLWhpZ2g6YmVmb3Jle2NvbnRlbnQ6IlxmMjU3In0uaW9uLXZvbHVtZS1sb3c6YmVmb3Jle2NvbnRlbnQ6IlxmMjU4In0uaW9uLXZvbHVtZS1tZWRpdW06YmVmb3Jle2NvbnRlbnQ6IlxmMjU5In0uaW9uLXZvbHVtZS1tdXRlOmJlZm9yZXtjb250ZW50OiJcZjI1YSJ9Lmlvbi13YW5kOmJlZm9yZXtjb250ZW50OiJcZjM1OCJ9Lmlvbi13YXRlcmRyb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMjViIn0uaW9uLXdpZmk6YmVmb3Jle2NvbnRlbnQ6IlxmMjVjIn0uaW9uLXdpbmVnbGFzczpiZWZvcmV7Y29udGVudDoiXGYyYjkifS5pb24td29tYW46YmVmb3Jle2NvbnRlbnQ6IlxmMjVkIn0uaW9uLXdyZW5jaDpiZWZvcmV7Y29udGVudDoiXGYyYmEifS5pb24teGJveDpiZWZvcmV7Y29udGVudDoiXGYzMGMifQpkaWZmIC0tZ2l0IGEvY3NzL3N0YXJ0ZXItdGVtcGxhdGUuY3NzIGIvY3NzL3N0YXJ0ZXItdGVtcGxhdGUuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhZjdhNjEKLS0tIC9kZXYvbnVsbAorKysgYi9jc3Mvc3RhcnRlci10ZW1wbGF0ZS5jc3MKQEAgLTAsMCArMSw3IEBACitib2R5IHsKKyAgcGFkZGluZy10b3A6IDUwcHg7Cit9Cisuc3RhcnRlci10ZW1wbGF0ZSB7CisgIHBhZGRpbmc6IDQwcHggMTVweDsKKyAgdGV4dC1hbGlnbjogY2VudGVyOworfQpkaWZmIC0tZ2l0IGEvY3NzL3N0eWxlLmNzcyBiL2Nzcy9zdHlsZS5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg1Y2UyYgotLS0gL2Rldi9udWxsCisrKyBiL2Nzcy9zdHlsZS5jc3MKQEAgLTAsMCArMSw0NjYgQEAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIC0gQ29weXJpZ2h0IChjKSAyMDEzLCAyMDE3IFRoZSBFY2xpcHNlIFNjb3V0IFRlYW0sIFVULUJhdHRlbGxlLCBMTEMuLCBLaWNod2EgQ29kZXJzIEx0ZCBhbmQgb3RoZXJzLgorIC0gQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscworIC0gYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCisgLSB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAorIC0gaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAtCisgLSBDb250cmlidXRvcnM6CisgLSAgIEluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uOiBLaWNod2EgQ29kZXJzIEx0ZC4gYWRvcHRlZCBmcm9tIEVjbGlwc2UgSUNFIHdlYnBhZ2UuCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwkjUmVzZXQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisqIHsgcGFkZGluZzogMDsgbWFyZ2luOiAwOyBvdXRsaW5lOiAwOyB9CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisJI0Jhc2UKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCitodG1sLAorYm9keSB7IGhlaWdodDogMTAwJTsgfQorCisvKiBUaGVzZSBhcmUgdGhlIGRlZmF1bHQgcGFyYW1ldGVycyBmb3IgdGhlIDxib2R5PjwvYm9keT4gdGFncy4gKi8KK2JvZHkgey8qIGJhY2tncm91bmQ6ICMyMjM2NjA7Ki8gZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE3cHg7IGxpbmUtaGVpZ2h0OiAxLjE7IGNvbG9yOiAjNjc2NzY3OyBtaW4td2lkdGg6IDMyMHB4OyB9CisKK2EgeyBjdXJzb3I6IHBvaW50ZXI7IH0KKy8qIGE6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfSAqLworCitpbWcgeyBib3JkZXI6IDA7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0KKwordWwsCitvbCB7IGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTsgfQorCisvKiBUaGlzIGlzIGEgY3VzdG9tIHNwYWNlIHRvIGFkZCB0aGUgd2hpdGUgaG9yaXpvbnRhbCBiYXJzIGJldHdlZW4gc2VjdGlvbnMgKi8KKy53aGl0ZS1zcGFjZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDM7IGJhY2tncm91bmQ6ICNmZmY7IHBhZGRpbmc6IDI1cHg7IH0KKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwkjSGVscGVycworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy5hbGlnbmxlZnQgeyBmbG9hdDogbGVmdDsgfQorLmFsaWducmlnaHQgeyBmbG9hdDogcmlnaHQ7IH0KKworLmNsZWFyZml4OmJlZm9yZSwKKy5jbGVhcmZpeDphZnRlciB7IGRpc3BsYXk6IHRhYmxlOyBjb250ZW50OiAnICc7IH0KKy5jbGVhcmZpeDphZnRlciB7IGNsZWFyOiBib3RoOyB9CisuY2xlYXJmaXggeyAqem9vbTogMTsgfQorCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCSNCYXNlICJXcmFwcGVyIiBUaGlzIGlzIHRoZSBjb250YWluZXIgImJlaGluZCIgZXZlcnl0aGluZy4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisud3JhcHBlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjsgbGVmdDogMCU7IGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGF0YWNlbnRlci5qcGcpIHNjcm9sbCAwIDAgLyAxMDAlIGF1dG8gO2hlaWdodDogMTAwJTsgb3ZlcmZsb3c6IGF1dG87IG92ZXJmbG93LXk6IHNjcm9sbDsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9CisKKy5yYWRpbyBsYWJlbCwKKy5jaGVja2JveCBsYWJlbCB7IHBhZGRpbmctbGVmdDogMDsgfQorLmN1c3RvbS1jaGVja2JveCBpbnB1dCB7IG9wYWNpdHk6IDA7IGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsgcG9zaXRpb246IGFic29sdXRlOyB9CisuY3VzdG9tLWNoZWNrYm94LWZha2UgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDIxcHg7IGhlaWdodDogMjFweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL3Nwcml0ZS5wbmcpIC00NDFweCAtNzlweCBuby1yZXBlYXQ7IH0KKy5jdXN0b20taW5wdXQtY2hlY2tlZCAuY3VzdG9tLWNoZWNrYm94LWZha2UgeyBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL3Nwcml0ZS5wbmcpIC00NjZweCAtNzlweCBuby1yZXBlYXQ7IH0KKy5jdXN0b20taW5wdXQtZGlzYWJsZWQgLmN1c3RvbS1jaGVja2JveC1mYWtlIHsgb3BhY2l0eTogLjU7IGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7IH0KKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwkjSWNvbnMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisuaWNvIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL3Nwcml0ZS5wbmcpIG5vLXJlcGVhdDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfQorCisuaWNvLWRvd25sb2FkIHsgd2lkdGg6IDYwcHg7IGhlaWdodDogNjBweDsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYwcHggLTE3MHB4OyB9CisuaWNvLWNpcmNsZS1ncmFwaCB7IHdpZHRoOiA2OXB4OyBoZWlnaHQ6IDc1cHg7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMDNweCAwcHg7IH0KKy5pY28tY29udGFjdHMtZmF4IHsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgbWFyZ2luLXRvcDogLTNweDsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0MnB4IC00NHB4OyB9CisuaWNvLWNvbnRhY3RzLXBob25lIHsgd2lkdGg6IDE1cHg7IGhlaWdodDogMTVweDsgbWFyZ2luLXRvcDogLTNweDsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2MHB4IC00NHB4OyB9CisuaWNvLWdyYXBoIHsgd2lkdGg6IDU0cHg7IGhlaWdodDogNzVweDsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcxcHggLTkzcHg7IH0KKy5pY28taGFuZCB7IHdpZHRoOiA2NnB4OyBoZWlnaHQ6IDc1cHg7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzRweCAwcHg7IH0KKy5pY28tbGlzdCB7IHdpZHRoOiA1OHB4OyBoZWlnaHQ6IDYwcHg7IGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTcwcHg7IH0KKy5pY28tbW9uaXRvci1zbWFsbCB7IHdpZHRoOiA2NnB4OyBoZWlnaHQ6IDc1cHg7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzRweCAtNzdweDsgfQorLmljby1tb25pdG9yIHsgd2lkdGg6IDY2cHg7IGhlaWdodDogNjBweDsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMnB4IC0xNzBweDsgfQorLmljby1tb3VzZSB7IHdpZHRoOiAyMXB4OyBoZWlnaHQ6IDkxcHg7IGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHg7IH0KKy5pY28tbm90ZSB7IHdpZHRoOiA2OXB4OyBoZWlnaHQ6IDc1cHg7IGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtOTNweDsgfQorLmljby1wbGF5IHsgd2lkdGg6IDc4cHg7IGhlaWdodDogNzhweDsgbWFyZ2luLWJvdHRvbTogMTFweDsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIzcHggMHB4OyB9CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisJI0J1dHRvbnMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisuYnRuIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9CisKKy5idG4tZGVmYXVsdCB7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgbWFyZ2luOiA1cHg7IG1hcmdpbi1yaWdodDogNXB4OyBib3JkZXI6IDFweCBzb2xpZCAjZmZmOyBib3JkZXItcmFkaXVzOiA1cHg7IGZvbnQtc2l6ZTogMTlweDsgZm9udC13ZWlnaHQ6IDUwMDsgfQorLmJ0bi1kZWZhdWx0OmhvdmVyIHsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLWNvbG9yOiAjZmZmOyB9CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisJI0hlYWRlcgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qIERlZmF1bHQgbmF2YmFyIHNldHRpbmdzIGxpa2UgYmFja2dyb3VuZCBjb2xvciwgYnJhbmRpbmcgaW1hZ2UsIGV0Yy4gKi8KKworCisvKioqKioqKioqIENPTU1FTlQgRk9SIEVDTElQU0UgQ09OKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLm5hdmJhciB7IHotaW5kZXg6IDM7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyByaWdodDogMTdweDsgbWluLWhlaWdodDogMDsgd2lkdGg6IDk5JTsgbWFyZ2luLWJvdHRvbTogMDsgcGFkZGluZzogMC4ycHggMDsgYm9yZGVyOiBub25lOyBib3JkZXItcmFkaXVzOiAwOyB9CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKiBSRU1PVkUgQUZURVIgRUNMSVBTRSBDT04qKioqKioqKioqKioqKioqKgorZGl2LmVjbGlwc2UtY29ueworCXBhZGRpbmc6IDVweDsKKwl0ZXh0LWFsaWduOiBjZW50ZXI7Cit9CisubmF2YmFyIHsgei1pbmRleDogMzsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMTdweDt9CisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLm5hdmJhci1kZWZhdWx0IHsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IGJvcmRlci1jb2xvcjogIzIyMzY2MDsgfQorLm5hdmJhci1oZWFkZXIgeyBvdmVyZmxvdzogaGlkZGVuOyB9CisubmF2YmFyLWJyYW5kIHsgb3ZlcmZsb3c6IGhpZGRlbjsgZmxvYXQ6IGxlZnQ7IGhlaWdodDogNjBweDsgd2lkdGg6IDI1NnB4OyBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlcy9pY2UtbG9nb18yNTZ4NjAucG5nIikgMCAwIG5vLXJlcGVhdDsgdGV4dC1pbmRlbnQ6IDE1MCU7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH0KKworLm5hdmJhcj4uY29udGFpbmVyIC5uYXZiYXItYnJhbmQgeyBtYXJnaW4tdG9wOiAwcHg7IG1hcmdpbi1sZWZ0OiAwOyB9CisKKy8qIExpbmsgY29sb3JzIGZvciBuYXZiYXIgZWxlbWVudHMuICovCisubmF2YmFyLW5hdiB7IGZsb2F0OiByaWdodDsgfQorLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ICBsaSBhIHsgY29sb3I6ICMyYTFmMWE7IH0KKy5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAgbGkgYTpob3ZlciB7IGNvbG9yOiAjZmFhNjM1OyB9CisKKy8qIHdvdWQgYmUgbmljZSB0byBoYXZlIGRhcmsgdHJhbnNwYXJlbnQgbWVudSBiYWNrZ3JvdW5kIHdoZW4gbWVudSBpcyBkaXNwbGF5ZWQgb3ZlciBoZWFkZXIgaW1hZ2UsIGFuZCB3aGl0ZSBiYWNrZ3JvdW5kIG90aGVyd2lzZQorLm5hdiAuZHJvcGRvd246aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk2LDk2LDk2LDAuOCk7IGRpc3BsYXk6IGJsb2NrOyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7IH0KKyovCisubmF2IC5hZmZpeC10b3AgJiAuZHJvcGRvd24tbWVudSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7fQorLm5hdiAuYWZmaXggJiAuZHJvcGRvd24tbWVudSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSk7fQorCisubmF2IC5kcm9wZG93bjpob3ZlciB7IGRpc3BsYXk6IGJsb2NrOyBib3JkZXItcmFkaXVzOiA1cHg7IH0KKy5uYXYgLmRyb3Bkb3duOmhvdmVyIGEgeyBjb2xvcjogIzAxODRhMzsgfQorLm5hdiAuZHJvcGRvd246aG92ZXIgdWwgeyBjb2xvcjogIzAxODRhMzsgZGlzcGxheTogYmxvY2s7IGJvcmRlcjogMXB4OyB9CisKKy5uYXYgLmRyb3Bkb3duIGxpIGE6aG92ZXIgeyBjb2xvcjogI2ZhYTYzNTsgfQorLm5hdiAuZHJvcGRvd24gbGkgYSB7IGNvbG9yOiAjZmFhNjM1OyB9CisubmF2IC5kcm9wZG93biB1bCBhIHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH0KKy5uYXYgLmRyb3Bkb3duIHVsIGE6aG92ZXIgeyBjb2xvcjogI2ZhYTYzNTsgfQorCisubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUgeyBib3JkZXItcmFkaXVzOiA0cHg7IH0KKworLm5hdmJhci5hZmZpeCB7IHBvc2l0aW9uOiBmaXhlZDsgYmFja2dyb3VuZDogI2ZmZjsgfQorLm5hdmJhci5hZmZpeCAubmF2YmFyLW5hdiA+IGxpID4gYSB7IGNvbG9yOiAjMDE4NGEzOyB9CisubmF2YmFyLmFmZml4IC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyLAorLm5hdmJhci5hZmZpeCAubmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyB7IGNvbG9yOiAjZmFhNjM1OyB9CisubmF2YmFyLmFmZml4IC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHsgYm9yZGVyOiAwOyB9CisKKy5uYXYtbW9iaWxlIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IHJpZ2h0OiAwOyB3aWR0aDogNzAlOyBoZWlnaHQ6IDEwMCU7IG92ZXJmbG93OiBhdXRvOyBiYWNrZ3JvdW5kOiAjZmFhNjM1OyB6LWluZGV4OiAxOyBkaXNwbGF5OiBub25lOyB9CisubmF2LW1vYmlsZSB1bCB7IGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogMDsgfQorLm5hdi1tb2JpbGUgYSB7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogI2ZmZjsgcGFkZGluZzogMTBweDsgfQorLm5hdi1tb2JpbGUgYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYmFja2dyb3VuZDogI2UzOTczMTsgfQorLm5hdi1tb2JpbGUgdWwgdWwgYSB7IHBhZGRpbmc6IDEwcHggMTVweDsgfQorLm5hdi1tb2JpbGUgPiB1bCA+IGxpID4gYSB7IGZvbnQtc2l6ZTogMjBweDsgfQorCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCSNJbnRybyAtIFRoYXQgaXMsIHRoZSBwaWN0dXJlIGFuZCB0ZXh0IGluIHRoZSBtaWRkbGUhCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLmludHJvIHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyBtaW4taGVpZ2h0OiA2MjZweDsgfQorLmludHJvLWltYWdlIHsgYmFja2dyb3VuZDogIzAwMDtwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogODBweDsgbGVmdDogMDsgbWluLXdpZHRoOiAxMDAlOyBtaW4taGVpZ2h0OiAxMDAlOyB9CisuaW50cm8gLmNvbnRhaW5lciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAyOTlweDsgd2lkdGg6IDEwMCU7IHotaW5kZXg6IDI7IHRleHQtYWxpZ246IGNlbnRlcjsgfQorLmludHJvLWltYWdlIGltZyB7IGhlaWdodDogNjI2cHg7IHdpZHRoOiAxMDAlOyB9CisKKy8qIFRoaXMgaXMgdGhlIHN0eWxlIG9mIHRoZSBtYWluLCB3aGl0ZSAiRWNsaXBzZSBJQ0UiIHRleHQgKi8KKy5pbnRyby1jb250ZW50IGgxIHsgbWFyZ2luOiAzM3B4IDAgMDsgZm9udC1mYW1pbHk6ICdEYXgtUmVndWxhcicsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogNTVweDsgY29sb3I6ICNmZmY7IH0KKy8qIFRoaXMgaXMgdGhlIHN0eWxlIG9mIHRoZSBzdWJ0aXRsZSAqLworLmludHJvLWNvbnRlbnQgcCB7IG1hcmdpbi1ib3R0b206IDQwcHg7IGZvbnQtc2l6ZTogMjRweDsgY29sb3I6ICNCMEY3RDU7IH0KKy5pbnRyby1hY3Rpb25zIGEgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1ib3R0b206IDYxcHg7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICNmZmY7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQorCisuZnNyLWNvbnRhaW5lciB7IG92ZXJmbG93OiBoaWRkZW47IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH0KKy5mc3ItaW1hZ2UgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH0KKy5mc3ItaGlkZGVuIHsgZGlzcGxheTogbm9uZTsgfQorCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCSNTZWN0aW9uIFdoYXQgaXMgSUNFPworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy5zZWN0aW9uLXdoYXRpcyB7IHBhZGRpbmc6IDgwcHggMCA2MnB4OyB9Cisuc2VjdGlvbi13aGF0aXMgLnNlY3Rpb24taGVhZCBoMyB7bWFyZ2luLWJvdHRvbTogMzNweDsgZm9udC1mYW1pbHk6ICdEYXgtUmVndWxhcicsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogNDVweDsgY29sb3I6ICNmZmY7IHRleHQtYWxpZ246IGNlbnRlcjsgfQorLnNlY3Rpb24td2hhdGlzIC5zZWN0aW9uLWhlYWQgaDMgc3BhbiB7IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogYm9sZDsgfQorLnNlY3Rpb24td2hhdGlzIC5zZWN0aW9uLWhlYWQgcCB7IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogYm9sZDsgdGV4dC1hbGlnbjogY2VudGVyfQorLndoYXRpcyB7IHRleHQtYWxpZ246IGNlbnRlcjsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAyMCU7IHBhZGRpbmc6IDAgMiU7IGNvbG9yOiAjNTg1ODU4OyB9Cisud2hhdGlzLWhlYWQgeyBjdXJzb3I6IHBvaW50ZXI7IH0KKy53aGF0aXMtdGl0bGUgeyBtYXJnaW46IDE0cHggMDsgZm9udC1zaXplOiAyNXB4OyBsaW5lLWhlaWdodDogMC45MjsgfQorLndoYXRpcy1oZWFkOmhvdmVyICB7IGNvbG9yOiAjMDA4N2IxOyB9Cisuc2VjdGlvbi13aGF0aXMgLmljby13cmFwcGVyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogOTlweDsgaGVpZ2h0OiA5OXB4OyBwYWRkaW5nLXRvcDogMTJweDsgYm9yZGVyLXJhZGl1czogOXB4OyBiYWNrZ3JvdW5kOiAjZjlhNTM1OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KKy53aGF0aXMgcCB7IGxpbmUtaGVpZ2h0OiAxLjI0OyBmb250LXNpemU6IDE2cHg7IHRleHQtYWxpZ246IGNlbnRlciB9CisKKy53aGF0aXMtZW50cmllcyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgfQorLndoYXRpcy1lbnRyeSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDowOyB0b3A6IDA7IG1pbi1oZWlnaHQ6IDgycHg7IHdpZHRoOjEwMCU7IHBhZGRpbmc6IDEwcHggMzVweCAwOyBkaXNwbGF5OiBub25lOyAgem9vbTogMTsgfQorLndoYXRpcy1lbnRyeS12aXNpYmxlIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBibG9jazsgei1pbmRleDogMiB9Cisud2hhdGlzLmN1cnJlbnQgaDUgeyBjb2xvcjogIzAzNTU2ZjsgfQorCisud2hhdGlzIC53aGF0aXMtZW50cnkgeyBkaXNwbGF5OiBub25lOyB9CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisJI1NlY3Rpb24gRGVmaW5lIFByb2JsZW1zCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLnNlY3Rpb24td2l0aC1pbWFnZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogNTBweCAwIDUwcHg7IGJhY2tncm91bmQ6ICNlZWU7fQorLnNlY3Rpb24td2l0aC1pbWFnZSBoMiB7IG1hcmdpbjogLTVweCAwIDFweDsgZm9udC1mYW1pbHk6ICdEYXgtUmVndWxhcicsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogNDBweDsgY29sb3I6ICM1ODU4NTg7IH0KKy5zZWN0aW9uLXdpdGgtaW1hZ2UgaDQgeyBtYXJnaW46IDE0cHggMCAxNHB4IDA7IGZvbnQtc2l6ZTogMjFweDsgY29sb3I6ICNmZmY7IGZvbnQtd2VpZ2h0OiA4MDA7IH0KKy5zZWN0aW9uLXdpdGgtaW1hZ2UgcCB7IGZvbnQtc2l6ZTogMjFweDsgY29sb3I6ICM0NzQ3NDc7IGxpbmUtaGVpZ2h0OiAxLjI7IH0KKy5zZWN0aW9uLXdpdGgtaW1hZ2UgLmNoZWNrYm94IHsgbWFyZ2luLXRvcDogMzhweDsgfQorLnNlY3Rpb24td2l0aC1pbWFnZSBsYWJlbCB7IGNvbG9yOiAjNDc0NzQ3OyB9CisKKy5zZWN0aW9uLXdpdGgtaW1hZ2UtYWN0aW9ucyB7IG1hcmdpbi10b3A6IDI2cHg7IH0KKy5zZWN0aW9uLXdpdGgtaW1hZ2UtYWN0aW9ucyAuYnRuLWRlZmF1bHQgeyBtaW4td2lkdGg6IDI4N3B4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyBwYWRkaW5nOiA3cHggMjJweCA5cHggMjJweDsgYm9yZGVyLXdpZHRoOiAycHg7IH0KKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwkjU2VjdGlvbiBTZXJ2aWNlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy5zZWN0aW9uLXNlcnZpY2VzIHsgcGFkZGluZzogNDVweCAwIDM5cHg7IGJhY2tncm91bmQ6ICNmYWE2MzU7IH0KKy5zZWN0aW9uLXNlcnZpY2VzIC5pdGVtIHsgcGFkZGluZy10b3A6IDVweDsgdGV4dC1hbGlnbjogY2VudGVyOyB9CisvKiAuc2VjdGlvbi1zZXJ2aWNlcyAuaXRlbSB+IC5pdGVtIHsgYmFja2dyb3VuZDogdXJsKGltYWdlcy9zZXJ2aWNlcy1iZy5wbmcpIDAgMCBuby1yZXBlYXQ7IH0gKi8KKy5zZWN0aW9uLXNlcnZpY2VzIC5pdGVtLWljby13cmFwcGVyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogOTlweDsgaGVpZ2h0OiA5OXB4OyBwYWRkaW5nLXRvcDogMTlweDsgYmFja2dyb3VuZDogIzAwODdiMTsgYm9yZGVyLXJhZGl1czogOXB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KKy5zZWN0aW9uLXNlcnZpY2VzIGEgeyBkaXNwbGF5OiBibG9jazsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Cisuc2VjdGlvbi1zZXJ2aWNlcyBhOmhvdmVyIHN0cm9uZyB7IGNvbG9yOiAjMDA4N2IxOyB9Cisuc2VjdGlvbi1zZXJ2aWNlcyBhOmhvdmVyIHAgeyBjb2xvcjogIzAwODdiMTsgfQorLnNlY3Rpb24tc2VydmljZXMgYSBzdHJvbmcgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAxMHB4IDAgMDsgZm9udC1mYW1pbHk6ICdEYXgtUmVndWxhcicsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMzdweDsgY29sb3I6ICM1ODU4NTg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQorLnNlY3Rpb24tc2VydmljZXMgcCB7IGZvbnQtc2l6ZTogMjNweDsgY29sb3I6ICM1ODU4NTg7IH0KKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwkjU2VjdGlvbiBEZW1vCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLnNlY3Rpb24tZGVtbyB7IHBhZGRpbmc6IDY3cHggMCA0NnB4OyBiYWNrZ3JvdW5kOiAjMDE4NGEzIHVybChpbWFnZXMvc2VjdGlvbi1kZW1vLXMucG5nKSAwIGJvdHRvbSBuby1yZXBlYXQ7IGNvbG9yOiAjZmZmOyB9Cisuc2VjdGlvbi1kZW1vLWNvbnRlbnQgaDIgeyBtYXJnaW46IC01cHggMCAxcHg7IGZvbnQtZmFtaWx5OiAnRGF4LVJlZ3VsYXInLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDQ1cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IH0KKy8qIC5zZWN0aW9uLWRlbW8tY29udGVudCBoNCB7IG1hcmdpbjogMCAwIDE0cHg7IGZvbnQtZmFtaWx5OiAnRGF4LVJlZ3VsYXInLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDM4cHg7IH0gKi8KKy5zZWN0aW9uLWRlbW8tY29udGVudCBoNCB7IG1hcmdpbjogMTRweCAwIDE0cHggMDsgZm9udC1zaXplOiAyMXB4OyBmb250LXdlaWdodDogODAwOyB9Cisuc2VjdGlvbi1kZW1vLWNvbnRlbnQgcCB7IG1hcmdpbi1ib3R0b206IDE3cHg7IGZvbnQtc2l6ZTogMjFweDsgfQorLnNlY3Rpb24tZGVtby1saXN0IHAgeyBtYXJnaW4tYm90dG9tOiAxMnB4OyBmb250LXNpemU6IDE5cHg7IH0KKy5zZWN0aW9uLWRlbW8tbGlzdCB1bCB7IGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lOyB9Cisuc2VjdGlvbi1kZW1vLWxpc3QgbGkgfiBsaSB7IG1hcmdpbi10b3A6IDVweDsgfQorLnNlY3Rpb24tZGVtby1hY3Rpb25zIHsgbWFyZ2luLXRvcDogMTdweDsgfQorLnNlY3Rpb24tZGVtby1hY3Rpb25zIC5idG4tZGVmYXVsdCB7IHBhZGRpbmc6IDdweCAyMnB4IDlweCAyMnB4OyBib3JkZXItd2lkdGg6IDJweDsgfQorCisvKiAuc2VjdGlvbi1kZW1vLWFjdGlvbnMgYSB7IHdpZHRoOiA2MDAgfSAqLworLmRlbW8tYnRuIHsgd2lkdGg6IDIwMHB4IH0KKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwkjU2VjdGlvbiBUdXRvcmlhbHMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisuc2VjdGlvbi10dXRvcmlhbHMgeyBwYWRkaW5nOiA1OHB4IDAgNTJweDsgYmFja2dyb3VuZDogIzVkNWQ1ZDsgY29sb3I6ICNmZmY7IH0KKy5zZWN0aW9uLXR1dG9yaWFscy1jb250ZW50IGgyIHsgbWFyZ2luOiAtNXB4IDAgMXB4OyBmb250LWZhbWlseTogJ0RheC1SZWd1bGFyJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA0NXB4OyBmb250LXdlaWdodDogODAwOyB9CisvKiAuc2VjdGlvbi10dXRvcmlhbHMtY29udGVudCBoNCB7IG1hcmdpbjogMCAwIDE0cHg7IGZvbnQtZmFtaWx5OiAnRGF4LVJlZ3VsYXInLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDM4cHg7IH0gKi8KKy5zZWN0aW9uLXR1dG9yaWFscy1jb250ZW50IGg0IHsgbWFyZ2luOiAxNHB4IDAgMTRweCAwOyBmb250LXNpemU6IDIxcHg7IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogODAwOyB9Cisuc2VjdGlvbi10dXRvcmlhbHMtY29udGVudCBwIHsgbWFyZ2luLWJvdHRvbTogMTdweDsgZm9udC1zaXplOiAyMXB4OyB9Cisuc2VjdGlvbi10dXRvcmlhbHMtbGlzdCB7IGxpc3Qtc3R5bGU6IG5vbmUgaW5zaWRlIG5vbmU7IH0KKy5zZWN0aW9uLXR1dG9yaWFscy1saXN0IGxpIH4gbGkgeyBtYXJnaW4tdG9wOiAxMHB4OyB9Cisuc2VjdGlvbi10dXRvcmlhbHMtbGlzdCBhIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2ljby10dXRvcmlhbHMucG5nKSAwIDJweCBuby1yZXBlYXQ7IGNvbG9yOiAjZmZmOyBsaW5lLWhlaWdodDogMS4yOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KKy5zZWN0aW9uLXR1dG9yaWFscy1saXN0IGEgc3BhbiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLWxlZnQ6IDI0cHg7IH0KKy5zZWN0aW9uLXR1dG9yaWFscy1saXN0IGE6aG92ZXIgeyBjb2xvcjogI2ZhYTYzNTsgfQorCisuc2VjdGlvbi10dXRvcmlhbHMtYWN0aW9ucyB7IG1hcmdpbi10b3A6IDIzcHg7IH0KKy5zZWN0aW9uLXR1dG9yaWFscy1hY3Rpb25zIC5idG4tZGVmYXVsdCB7IHBhZGRpbmc6IDdweCAyMnB4IDlweCAyMnB4OyBib3JkZXItd2lkdGg6IDJweDsgfQorCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCSNTZWN0aW9uIEZlYXR1cmVzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLnNlY3Rpb24tZmVhdHVyZXMgeyBwYWRkaW5nOiAzNHB4IDAgNThweDsgfQorLnNlY3Rpb24tZmVhdHVyZXMgLnNlY3Rpb24taGVhZCB7IHRleHQtYWxpZ246IGNlbnRlcjsgfQorLnNlY3Rpb24tZmVhdHVyZXMgLnNlY3Rpb24taGVhZCBoMyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLWJvdHRvbTogNTBweDsgcGFkZGluZy1ib3R0b206IDIxcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlN2U3OyBmb250LWZhbWlseTogJ0RheC1SZWd1bGFyJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA0NXB4OyBjb2xvcjogIzVkNWQ1ZDsgdGV4dC1hbGlnbjogY2VudGVyOyB9Cisuc2VjdGlvbi1mZWF0dXJlcyAuc2VjdGlvbi1oZWFkIGgzIHNwYW4geyBjb2xvcjogIzAwODJhMTsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KKy5mZWF0dXJlIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTc7IGZvbnQtc2l6ZTogMThweDsgfQorLmZlYXR1cmUgfiAuZmVhdHVyZSB7IG1hcmdpbi10b3A6IDM5cHg7IH0KKy5mZWF0dXJlIGg0IHsgbWFyZ2luOiA1cHggMCAxMXB4OyBmb250LXNpemU6IDM2cHg7IGNvbG9yOiAjMDA4MmExOyB9CisuZmVhdHVyZSBwIHsgbGluZS1oZWlnaHQ6IDEuMjhlbTsgfQorCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCSNTZWN0aW9uIFRlc3RpbW9uaWFscworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy5zZWN0aW9uLXRlc3RpbW9uaWFscyB7IHBhZGRpbmc6IDI3cHggMCA1NnB4OyBiYWNrZ3JvdW5kOiAjZjJmMmYyOyAgZmxvYXQ6IGNlbnRlcjt9Cisuc2VjdGlvbi10ZXN0aW1vbmlhbHMgLnNlY3Rpb24taGVhZCBoMyB7IG1hcmdpbi1ib3R0b206IDM2cHg7IGZvbnQtZmFtaWx5OiAnRGF4LVJlZ3VsYXInLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDQ1cHg7IGNvbG9yOiAjNWQ1ZDVkOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KKy5zZWN0aW9uLXRlc3RpbW9uaWFscyAuc2VjdGlvbi1oZWFkIGgzIHNwYW4geyBjb2xvcjogIzAwODJhMTsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KKworLmxpc3QtcGFydG5lcnMgeyBvdmVyZmxvdzogaGlkZGVuOyBtYXJnaW4tYm90dG9tOiA0N3B4OyBsaXN0LXN0eWxlOiBub25lIG91dHNpZGUgbm9uZTsgfQorLmxpc3QtcGFydG5lcnMgbGkgeyBmbG9hdDogbGVmdDsgfQorLmxpc3QtcGFydG5lcnMgbGkgIH4gbGkgeyBtYXJnaW4tbGVmdDogNDVweDsgfQorCisudGVzdGltb25pYWwgYmxvY2txdW90ZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWluLWhlaWdodDogMjIwcHg7IG1hcmdpbi1ib3R0b206IDI5cHg7IHBhZGRpbmc6IDY0cHggMzVweCAyNXB4OyBiYWNrZ3JvdW5kOiAjZmZmIHVybChpbWFnZXMvYmxvY2txdW90ZS5wbmcpIDM2cHggMTlweCBuby1yZXBlYXQ7IGJvcmRlcjogMXB4IHNvbGlkICNkZWRlZGU7IGJvcmRlci1yYWRpdXM6IDJweDsgZm9udC1zaXplOiAxOXB4OyBjb2xvcjogIzk4OTg5ODsgZm9udC1mYW1pbHk6ICJPcGVuIFNhbnMgSXRhbGljIiwgc2Fucy1zZXJpZjsgfQorLnRlc3RpbW9uaWFsIGJsb2NrcXVvdGUgYSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYm90dG9tOiAwOyB9CisudGVzdGltb25pYWwgLmJsb2NrcXVvdGUtdHJpYW5nbGUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDU3cHg7IGJvdHRvbTogLTIwcHg7IHdpZHRoOiAyMXB4OyBoZWlnaHQ6IDIwcHg7IGJhY2tncm91bmQ6IHVybChpbWFnZXMvYmxvY2txdW90ZS10cmlhbmdsZS5wbmcpIDAgMCBuby1yZXBlYXQ7IH0KKworLmF1dGhvciB7IG92ZXJmbG93OiBoaWRkZW47IH0KKy5hdXRob3ItaW1hZ2UsCisuYXV0aG9yLWNvbnRlbnQgeyBmbG9hdDogbGVmdDsgfQorCisuYXV0aG9yLWltYWdlIHsgd2lkdGg6IDU2cHg7IGhlaWdodDogNTZweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9CisuYXV0aG9yLWltYWdlIGltZyB7IGJvcmRlci1yYWRpdXM6IDUwJTt9CisuYXV0aG9yLW5hbWUgeyBmb250LXNpemU6IDI0cHg7IGNvbG9yOiAjMDA4MmExOyB9CisuYXV0aG9yLXBvc2l0aW9uIHsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogIzg4ODsgfQorCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCSNTZWN0aW9uIENvbnRhY3QKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisuc2VjdGlvbi1jb250YWN0IHsgcGFkZGluZzogMTBweCAwIDMwcHg7IGJhY2tncm91bmQ6ICM0NzQ3NDc7IGZvbnQtZmFtaWx5OiAnRGF4LVJlZ3VsYXInLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDQ1cHg7IGNvbG9yOiAjZmZmOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KKy5jb250YWN0IGEgeyBmb250LXNpemU6IDI0cHg7IGZvbnQtZmFtaWx5OiAnRGF4LVJlZ3VsYXInLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE4cHg7IGNvbG9yOiAjZmZmOyB0ZXh0LWFsaWduOiBjZW50ZXI7fQorLmZvcm0tY29udGFjdCAuZm9ybS1oZWFkIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyB9CisuZm9ybS1jb250YWN0IGgzIHsgbWFyZ2luLWJvdHRvbTogM3B4OyBmb250LWZhbWlseTogJ0RheC1SZWd1bGFyJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA0NXB4OyBjb2xvcjogI2ZmZjsgfQorLmZvcm0tY29udGFjdCBoMyBzcGFuIHsgY29sb3I6ICNmZTk5MTU7IGZvbnQtd2VpZ2h0OiBib2xkOyB9CisuZm9ybS1jb250YWN0IHAgeyBmb250LXNpemU6IDE4cHg7IGNvbG9yOiAjZmZmOyB9CisKKy5mb3JtLWNvbnRhY3QgLmhhcy1lcnJvciBpbnB1dCB7IGJvcmRlci13aWR0aDogM3B4OyB9CisKKy5mb3JtLWNvbnRhY3QgLmZpZWxkLAorLmZvcm0tY29udGFjdCAudGV4dGFyZWEgeyBtYXJnaW4tdG9wOiAxMXB4OyBwYWRkaW5nLWxlZnQ6IDQwcHg7IGZvbnQtc2l6ZTogMTVweDsgfQorLmZvcm0tY29udGFjdCAuZm9ybS1jb250cm9sIHsgaGVpZ2h0OiA0NXB4OyB9CisuZm9ybS1jb250YWN0IC50ZXh0YXJlYSB7IGhlaWdodDogODRweDsgcmVzaXplOiBub25lOyB9CisKKyNmbmFtZSB7IGJhY2tncm91bmQ6ICNmZmYgdXJsKGltYWdlcy9pY28tdXNlci5wbmcpIDE0cHggMTRweCBuby1yZXBlYXQ7IH0KKyNwaG9uZSB7IGJhY2tncm91bmQ6ICNmZmYgdXJsKGltYWdlcy9pY28tcGhvbmUucG5nKSAxNHB4IDE0cHggbm8tcmVwZWF0OyB9CisjbG5hbWUgeyBiYWNrZ3JvdW5kOiAjZmZmIHVybChpbWFnZXMvaWNvLXVzZXIucG5nKSAxNHB4IDE0cHggbm8tcmVwZWF0OyB9CisjZW1haWwgeyBiYWNrZ3JvdW5kOiAjZmZmIHVybChpbWFnZXMvaWNvLW1haWwucG5nKSAxMnB4IDE0cHggbm8tcmVwZWF0OyB9CisjbWVzc2FnZSB7IGJhY2tncm91bmQ6ICNmZmYgdXJsKGltYWdlcy9pY28tcGVuLnBuZykgMTJweCA3cHggbm8tcmVwZWF0OyB9CisKKy5mb3JtLWNvbnRhY3QgLmNoZWNrYm94IHsgbWFyZ2luLXRvcDogMjNweDsgfQorLmZvcm0tbGFiZWwgeyBmb250LXNpemU6IDE5cHg7IGNvbG9yOiAjZmZmOyB9CisuZm9ybS1sYWJlbCBzcGFuIHsgY29sb3I6ICNmZmFlNDQ7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0KKworLmZvcm0tY29udGFjdCAuZm9ybS1hY3Rpb25zIHsgbWFyZ2luLXRvcDogMjFweDsgdGV4dC1hbGlnbjogY2VudGVyOyB9CisuZm9ybS1jb250YWN0IC5idG4tZGVmYXVsdCB7IHBhZGRpbmc6IDdweCAyMnB4IDlweCAyMnB4OyBtaW4td2lkdGg6IDIwMHB4OyBib3JkZXItd2lkdGg6IDJweDsgZmxvYXQ6IHJpZ2h0OyB9CisuZm9ybS1jb250YWN0IC5idG4tZGVmYXVsdDpob3ZlciB7IGJhY2tncm91bmQ6ICNlNDkzMjY7IGJvcmRlci1jb2xvcjogI2U0OTMyNjsgfQorCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCSNGb290ZXIKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisuZm9vdGVyIHsgcGFkZGluZzogMTBweCAwIDFweDsgYmFja2dyb3VuZDogZ3JleTsgfQorLmZvb3RlciBoNSB7IG1hcmdpbi1ib3R0b206IDIwcHg7IGZvbnQtc2l6ZTogMjBweDsgY29sb3I6ICNCMEY3RDU7IH0KKy5mb290ZXItbmF2IHVsIHsgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlIG5vbmU7IH0KKy5mb290ZXItbmF2IGxpIH4gbGkgeyBtYXJnaW4tdG9wOiAycHg7IH0KKy5mb290ZXItbmF2IGEgeyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjQjBGN0Q1OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KKy5mb290ZXItbmF2IGE6aG92ZXIgeyBjb2xvcjogI2ZmYmE2MDsgfQorCisuY29udGFjdHMgeyBmb250LXNpemU6IDE1cHg7IGNvbG9yOiAjZmZmOyB9CisuY29udGFjdHMgcCB7IGxpbmUtaGVpZ2h0OiAxLjM7IH0KKy5jb250YWN0cyAucGhvbmUgeyBtYXJnaW4tdG9wOiAyMXB4OyBmb250LXNpemU6IDE4cHg7IGxpbmUtaGVpZ2h0OiAxLjU1OyB9CisuY29udGFjdHMgLnBob25lIH4gLnBob25lIHsgbWFyZ2luOiAwOyB9CisKKy5mb290ZXItc29jaWFscyB1bCB7IG92ZXJmbG93OiBoaWRkZW47IGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lOyB9CisuZm9vdGVyLXNvY2lhbHMgbGkgeyBmbG9hdDogbGVmdDsgfQorLmZvb3Rlci1zb2NpYWxzIGxpIH4gbGkgeyBtYXJnaW4tbGVmdDogMnB4OyB9Cisuc29jaWFsLWxhYmVsIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMTBweCAwIDE4cHg7IGZvbnQtc2l6ZTogMjBweDsgY29sb3I6ICNmZmY7IH0KKworLmxpbmstZmFjZWJvaywKKy5saW5rLXR3aXR0ZXIsCisubGluay1ibG9nIHsgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiA1M3B4OyBoZWlnaHQ6IDUzcHg7IGJhY2tncm91bmQ6IHVybChpbWFnZXMvc3ByaXRlLnBuZykgbm8tcmVwZWF0OyBib3JkZXI6IDJweCBzb2xpZCAjZmZmOyBib3JkZXItcmFkaXVzOiA1cHg7IHRleHQtaW5kZW50OiAxMDAlOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9CisubGluay1mYWNlYm9rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4NHB4IC04MnB4OyB9CisubGluay10d2l0dGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMyNXB4IC04NXB4OyB9CisubGluay1ibG9nIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0NnB4IC04MXB4OyB9CisubGluay1mYWNlYm9rOmhvdmVyLAorLmxpbmstdHdpdHRlcjpob3ZlciwKKy5saW5rLWJsb2c6aG92ZXIgIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZlOTkxNTsgYm9yZGVyLWNvbG9yOiAjZmU5OTE1OyB9CisKKy8qIGZvbnQgYXdlc29tZSBjaGFycyBzZWUgaHR0cDovL2FzdHJvbmF1dHdlYi5jby9zbmlwcGV0L2ZvbnQtYXdlc29tZS8gKi8KKy5mb290ZXIgYSB7IGNvbG9yOiNCMEY3RDU7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0KKy5sbmstZm9vdGVyIHsgcGFkZGluZy1sZWZ0OiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBmb250LXNpemU6MTZweDsgY29sb3I6ICNCMEY3RDU7fQorLmJ0bi1zb2NpYWwgeyBwYWRkaW5nLWxlZnQ6IDVweDsgZm9udC1zaXplOjMwcHg7IH0KKy5mYXtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpGb250QXdlc29tZTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7bGluZS1oZWlnaHQ6MTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0KKy5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwODEiOyBjb2xvcjogI2ZmZjt9CisuZmEtcnNzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNDMgIjsgY29sb3I6ICNmZmY7fQorLmZhLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwZDQiOyBjb2xvcjogI2ZmZjt9CisuZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4MiI7IGNvbG9yOiAjZmZmO30KKy5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNjYiOyBjb2xvcjogI2ZmZjt9CisKKy5wZXJjZW50YWdlLWNvbnRlbnQgeyBwYWRkaW5nLXRvcDogMjVweDsgfQorLmZvb3Rlci10b2dnbGVyIHsgZGlzcGxheTogbm9uZTsgfQorCisubWZwLWlmcmFtZS1ob2xkZXIgeyBwYWRkaW5nOiAwIDcwcHg7IH0KKy5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQgeyBtYXgtd2lkdGg6IDE0MDBweDsgfQorCitAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7CisJLmJlbmVmaXQtZW50cnkgeyBwYWRkaW5nLXJpZ2h0OiAxM3B4OyBwYWRkaW5nLWxlZnQ6IDEzcHg7IH0KKwkuc2VjdGlvbi10ZXN0aW1vbmlhbHMgLnNlY3Rpb24taGVhZCBoMyB7IGZvbnQtc2l6ZTogNDNweDsgfQorCS5saXN0LXBhcnRuZXJzIGxpIH4gbGkgeyBtYXJnaW4tbGVmdDoyMHB4OyB9CisJLyogLnRlc3RpbW9uaWFsIGJsb2NrcXVvdGUgeyBtaW4taGVpZ2h0OiAyMDFweDsgfSAqLworCS5jb250YWN0cyAucGhvbmUgeyBmb250LXNpemU6IDE2cHg7IH0KKwkuZm9vdGVyIGg1IHsgZm9udC1zaXplOiAxN3B4OyB9Cit9CisKK0BtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkgeworCS5iZW5lZml0LWVudHJ5IHsgcGFkZGluZy1yaWdodDogMDsgcGFkZGluZy1sZWZ0OiAwOyB9CisJLyogLnRlc3RpbW9uaWFsIGJsb2NrcXVvdGUgeyBtaW4taGVpZ2h0OiAyNjJweDsgfSAqLworCisJLmxpc3QtcGFydG5lcnMgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KKwkubGlzdC1wYXJ0bmVycyBsaSB7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDEwcHggMDsgfQorfQorCisKK0BtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgeworCS5mb290ZXItc29jaWFscyBsaSB7IGZsb2F0OiBub25lOyBtYXJnaW4tYm90dG9tOiA1cHg7IH0KKwkuZm9vdGVyLXNvY2lhbHMgbGkgfiBsaSB7IG1hcmdpbi1sZWZ0OiAwOyB9Cit9CisKK0BtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDExMDBweCkgeworCS5kcm9wZG93bjpsYXN0LWNoaWxkIC5kcm9wZG93bi1tZW51IHsgbGVmdDogLTcwcHggIWltcG9ydGFudDsgfQorfQorCitAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsKKworICAgICNjYm94VGl0bGUgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH0KKworICAgIC5kZW1vLWJ0bi1tb2JpbGUgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH0KKworCS5uYXYtbW9iaWxlIHsgZGlzcGxheTogYmxvY2s7IH0KKworCS5pcy1hZmZpeGVkIC5uYXYtbW9iaWxlID4gdWwgeyBwYWRkaW5nLXRvcDogNzFweDsgfQorCS8qIC5uYXZiYXIgeyB3aWR0aDogOTclOyB9IHRoZXJlIG11c3QgYmUgYSBiZXR0ZXIgc29sdXRpb24gLi4uICovCisJLm5hdmJhci5hZmZpeCB7IGxlZnQ6IDAgIWltcG9ydGFudDsgfQorCisJLm1mcC1pZnJhbWUtaG9sZGVyIHsgcGFkZGluZzogMCAyMHB4IDAgNXB4OyB9CisKKwkuaGVhZGVyIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH0KKwkubmF2YmFyLWhlYWRlciB7IHBhZGRpbmctbGVmdDogMTVweDsgfQorCS5uYXZiYXItYnJhbmQgeyB3aWR0aDogMjU2cHg7IGhlaWdodDogNDJweDsgbWFyZ2luLXRvcDogMTBweDsgbWFyZ2luLWxlZnQ6IDE1cHggIWltcG9ydGFudDsgYmFja2dyb3VuZDogdXJsKCJpbWFnZXMvZWNsaXBzZV9zY291dF9jb21wbGV0XzI1Nl80Mi5wbmciKTt9CisKKwkubmF2YmFyLXRvZ2dsZSB7IGZsb2F0OiByaWdodDsgbWFyZ2luOiA1cHggMTBweCAwIDA7IGJvcmRlcjogMnB4OyB9CisJLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHsgaGVpZ2h0OiAzcHg7IH0KKworCS5uYXZiYXItY29sbGFwc2UgeyBiYWNrZ3JvdW5kOiAjZmZmOyB9CisJLm5hdmJhci1uYXYgeyBmbG9hdDogbm9uZTsgfQorCisJLmludHJvIHsgbWluLWhlaWdodDogNTMwcHggIWltcG9ydGFudDsgfQorCS5pbnRybyAuY29udGFpbmVyIHsgdG9wOiAxMDBweDsgfQorCS5pbnRyby1jb250ZW50IGgxIHsgZm9udC1zaXplOiAzMHB4OyB9CisJLmludHJvLWNvbnRlbnQgcCB7IGZvbnQtc2l6ZTogMThweDsgbWFyZ2luLWJvdHRvbTogNjBweDsgfQorCS5pbnRyby1hY3Rpb25zIGEgeyBtYXJnaW4tYm90dG9tOiA3NXB4OyB9CisKKwkuc2VjdGlvbi1kZW1vLWltYWdlLAorCS5zZWN0aW9uLXdpdGgtaW1hZ2UtaW1hZ2UsCisJLnNlY3Rpb24tdHV0b3JpYWxzLWltYWdlIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9CisJLnNlY3Rpb24tZG93bmxvYWQtaW1hZ2UgeyBwYWRkaW5nLXRvcDogMjVweDsgfQorCS5zZWN0aW9uLWRlbW8taW1hZ2UgaW1nLAorCS5zZWN0aW9uLWRvd25sb2FkLWltYWdlIGltZywKKwkuc2VjdGlvbi10dXRvcmlhbHMtaW1hZ2UgaW1nIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9CisKKwkuYmVuZWZpdCB7IHdpZHRoOiBhdXRvOyBmbG9hdDogbm9uZTsgcGFkZGluZzogMTBweCAyNXB4OyB9CisJLnNlY3Rpb24tYmVuZWZpdHMgeyBwYWRkaW5nLWJvdHRvbTogMjBweDsgfQorCS5iZW5lZml0ID4gLmJlbmVmaXQtZW50cnkgeyBkaXNwbGF5OiBibG9jazsgfQorCS5iZW5lZml0LWVudHJpZXMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KKworCS5mZWF0dXJlLWltYWdlIHsgcGFkZGluZy1ib3R0b206IDE1cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfQorCS5mZWF0dXJlLWltYWdlIGltZyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQorCisJLmxpc3QtcGFydG5lcnMgbGk6bnRoLWNoaWxkKG9kZCkgeyBtYXJnaW4tbGVmdDogMDsgfQorCisJLnRlc3RpbW9uaWFsIGJsb2NrcXVvdGUgeyBtaW4taGVpZ2h0OiAwOyB9CisJLnNlY3Rpb24tdGVzdGltb25pYWxzIC50ZXN0aW1vbmlhbCB7IHBhZGRpbmctYm90dG9tOiAyMHB4OyB9CisJLnNlY3Rpb24tdGVzdGltb25pYWxzIHsgcGFkZGluZy1ib3R0b206IDIwcHggfQorCisJLmZvb3RlciB1bCB7IHBhZGRpbmctYm90dG9tOiAyMHB4OyB9CisKKwkuZm9vdGVyLWJhciB7IHBhZGRpbmc6IDEwcHg7IH0KKwkuZm9vdGVyLWJhci1sb2dvIHsgZmxvYXQ6IGxlZnQ7IGRpc3BsYXk6IGJsb2NrOyB9CisKKwkuZm9vdGVyIHsgcGFkZGluZy1sZWZ0OiA1MHB4OyB9Cit9CisKK0Bmb250LWZhY2UgeworZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7CitzcmM6IHVybCgnLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3QnKTsKK3NyYzogdXJsKCcuLi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5zdmcjZ2x5cGhpY29ucy1oYWxmbGluZ3NyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTsKK30KKworc3Bhbi5nbHlwaGljb24tc2VhcmNoLCBzcGFuLmdseXBoaWNvbi1vaywgc3Bhbi5nbHlwaGljb24tZG93bmxvYWQtYWx0LCBzcGFuLmdseXBoaWNvbi1mb2xkZXItb3Blbiwgc3Bhbi5nbHlwaGljb24tY2lyY2xlLWV4Y2xhbWF0aW9uLW1hcmssIHNwYW4uaW9uLWJ1Zywgc3Bhbi5pb24taW9zLXBlb3BsZSB7CisgICAgZm9udC1zaXplOiA2LjJlbTsKK30KKworc3Bhbi5nbHlwaGljb24tc2VhcmNoLCBzcGFuLmdseXBoaWNvbi1vaywgc3Bhbi5nbHlwaGljb24tZG93bmxvYWQtYWx0LCBzcGFuLmdseXBoaWNvbi1mb2xkZXItb3Blbiwgc3Bhbi5nbHlwaGljb24tY2lyY2xlLWV4Y2xhbWF0aW9uLW1hcmt7CisJZm9udC1zaXplOiA1LjJlbTsKKwlkaXNwbGF5OmJsb2NrO21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvCit9CisKK2Rpdi5saW5rX2ljb25zeworCXRleHQtYWxpZ246IHJpZ2h0OworCWNvbG9yOiB3aGl0ZTsKKwlmb250LXNpemU6IDcwJTsKKwlwYWRkaW5nOiAxJTsKK30KZGlmZiAtLWdpdCBhL2Nzcy93aG9zLmNzcyBiL2Nzcy93aG9zLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmNmODkyCi0tLSAvZGV2L251bGwKKysrIGIvY3NzL3dob3MuY3NzCkBAIC0wLDAgKzEsMjExIEBACitodG1seworICBtYXJnaW46MDsKKyAgcGFkZGluZzowOworICAvKgorICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ZvbmQucG5nKSBuby1yZXBlYXQgY2VudGVyIGZpeGVkOworICAqLworfQorCitib2R5eworICBmb250LWZhbWlseTogVmVyZGFuYSwgc2Fucy1zZXJpZjsKKyAgZm9udC1zaXplOiAxMDAlOworICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOworICBtYXJnaW4tbGVmdDogMTAlOworICBtYXJnaW4tcmlnaHQ6IDEwJTsKK30KKworLndob3N7CisgIGNvbG9yOiAjRjREMDNGOworICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKKyAgbWFyZ2luOiAwOworICBwYWRkaW5nOiAwOworICBtYXJnaW4tbGVmdDogYXV0bzsKKyAgbWFyZ2luLXJpZ2h0OiBhdXRvOworICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgIHdpZHRoOiA0MCU7CisgIGhlaWdodDogNDAlOworICBmb250LWZhbWlseToiTGluTGliZXJ0aW5lX1IiOworICBmb250LXNpemU6IDI1MCU7CisgIGN1cnNvcjogZGVmYXVsdDsKK30KKworLnRvdXR7CisgIGNvbG9yOiB3aGl0ZTsKKyAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7CisgIG1hcmdpbi10b3A6IC0xMHB4OworICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgIGRpc3BsYXk6IGJsb2NrOworfQorCisudG91dCBsaXsKKyAgY29sb3I6IHdoaXRlOworICBtYXJnaW4tbGVmdDogNCU7CisgIG1hcmdpbi1yaWdodDogNCU7CisgIGRpc3BsYXk6aW5saW5lOworICB0ZXh0LWFsaWduOiBjZW50ZXI7Cit9CisKKy50b3V0IGxpOmhvdmVyeworICBjb2xvcjogZ3JleTsKKyAgbWFyZ2luLWxlZnQ6IDQlOworICBtYXJnaW4tcmlnaHQ6IDQlOworICBkaXNwbGF5OmlubGluZTsKKyAgdGV4dC1hbGlnbjogY2VudGVyOworfQorCisudG91dCA6dmlzaXRlZHsKKyAgY29sb3I6IHdoaXRlOworICBtYXJnaW4tbGVmdDogNCU7CisgIG1hcmdpbi1yaWdodDogNCU7CisgIGRpc3BsYXk6aW5saW5lOworICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKK30KKworLnRvdXQ6dmlzaXRlZHsKKyAgY29sb3I6IGdyZXk7CisgIG1hcmdpbi1sZWZ0OiA0JTsKKyAgbWFyZ2luLXJpZ2h0OiA0JTsKKyAgZGlzcGxheTppbmxpbmU7CisgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAgdGV4dC1kZWNvcmF0aW9uOiBub25lOworfQorCisuZGF3LCAuZ2RhLCAuaWJtLCAubmF2eworICBjdXJzb3I6IHBvaW50ZXI7Cit9CisKKy5vbmdsZXRzeworCWxpc3Qtc3R5bGUtdHlwZTpub25lOworCW92ZXJmbG93OmhpZGRlbjsKKwltYXJnaW46MTBweCAwOworCXBhZGRpbmc6MDsKK30KKworLmNvbnRhaW57CisgIG1hcmdpbjogNSU7CisgIHRleHQtYWxpZ246IGp1c3RpZnk7Cit9CisKKy5pbnRyb19kaXYsIC5kYXdfZGl2LCAuZ2RhX2RpdiwgLmlibV9kaXYsIC5uYXZfZGl2eworICBiYWNrZ3JvdW5kOiB3aGl0ZTsKKyAgY29sb3I6IGJsYWNrOworICBtYXJnaW46IDA7CisgIHBhZGRpbmc6IDA7CisgIG1hcmdpbi1sZWZ0OiBhdXRvOworICBtYXJnaW4tcmlnaHQ6IGF1dG87CisgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAgd2lkdGg6IDgwJTsKKyAgaGVpZ2h0OiA2MCU7CisgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAgY3Vyc29yOiBkZWZhdWx0OworfQorCisuY29udGVudC1zZWN0aW9uLWEgeworICAgIHBhZGRpbmc6IDMwcHggMzBweDsKK30KKworQG1lZGlhKG1heC13aWR0aDo3NjdweCl7CisgIC5jb250ZW50LXNlY3Rpb24tYXsKKyAgICBwYWRkaW5nOiA1MHB4IDA7CisgIH0KK30KKworLnNlY3Rpb24taGVhZGluZyB7CisgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKK30KKworLnNlY3Rpb24taGVhZGluZy1zcGFjZXIgeworICAgIGZsb2F0OiBsZWZ0OworICAgIHdpZHRoOiAxMDAlOworICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZTdlN2U3OworfQorCisubGVhZCB7CisgICAgZm9udC1zaXplOiAxOHB4OworICAgIGZvbnQtd2VpZ2h0OiA0MDA7Cit9CisKK3ByZS5wcmV0dHlwcmludCwgY29kZS5wcmV0dHlwcmludCB7CisJZm9udC1zaXplOiBtZWRpdW07CisJYmFja2dyb3VuZC1jb2xvcjogIzAwMDsKKwktbW96LWJvcmRlci1yYWRpdXM6IDhweDsKKwktd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweDsKKwktby1ib3JkZXItcmFkaXVzOiA4cHg7CisJLW1zLWJvcmRlci1yYWRpdXM6IDhweDsKKwkta2h0bWwtYm9yZGVyLXJhZGl1czogOHB4OworCWJvcmRlci1yYWRpdXM6IDhweDsKKyAgdGV4dC1hbGlnbjogbGVmdDsKK30KKworcHJlLnByZXR0eXByaW50IHsKKwl3aWR0aDogMTMwJTsKKwltYXJnaW46IDFlbSBhdXRvOworCXBhZGRpbmc6IDFlbTsKKwl3aGl0ZS1zcGFjZTogcHJlLXdyYXA7Cit9CisKK3VsLnB1bGwtcmlnaHQgeworICBmb250LXNpemU6IDE1cHg7CisgIG1hcmdpbjogNy41cHggLTE1cHg7CisgIHBhZGRpbmctdG9wOiAxMHB4OworICBwYWRkaW5nLWJvdHRvbTogMTBweDsKKyAgbGluZS1oZWlnaHQ6IDIwcHg7CisgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4OworICBsaW5lLWhlaWdodDogMjBweDsKK30KKworQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7CisgIHVsLnB1bGwtcmlnaHQgeworICAgIHBvc2l0aW9uOiBzdGF0aWM7CisgICAgZmxvYXQ6IG5vbmU7CisgICAgd2lkdGg6IGF1dG87CisgICAgbWFyZ2luLXRvcDogMDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKKyAgICBib3JkZXI6IDA7CisgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOworICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKKyAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMjVweDsKKyAgICBsaW5lLWhlaWdodDogMjBweDsKKyAgfQorfQorCitAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsKKyAgdWwucHVsbC1yaWdodCB7CisgICAgY29sb3I6IHdoaXRlOworICAgIGZsb2F0OiByaWdodDsKKyAgICBtYXJnaW46IDA7CisgIH0KKyAgdWwucHVsbC1yaWdodCB7CisgICAgZmxvYXQ6IHJpZ2h0OworICB9CisgIHVsLnB1bGwtcmlnaHQgIHsKKyAgICBwYWRkaW5nLXRvcDogMTVweDsKKyAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsKKyAgfQorfQorCit1bC5wdWxsLXJpZ2h0ICB7CisgIG1hcmdpbi10b3A6IDA7CisgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7CisgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOworfQorLm5hdmJhci1maXhlZC1ib3R0b20gdWwucHVsbC1yaWdodCAgeworICBtYXJnaW4tYm90dG9tOiAwOworICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7CisgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7CisgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOworICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOworfQorCitwcmUgLnN0ciwgY29kZSAuc3RyIHsgY29sb3I6ICM2NUIwNDI7IH0gLyogc3RyaW5nICAtIGdyZWVuICovCitwcmUgLmt3ZCwgY29kZSAua3dkIHsgY29sb3I6ICNFMjg5NjQ7IH0gLyoga2V5d29yZCAtIGRhcmsgcGluayAqLworcHJlIC5jb20sIGNvZGUgLmNvbSB7IGNvbG9yOiAjQUVBRUFFOyBmb250LXN0eWxlOiBpdGFsaWM7IH0gLyogY29tbWVudCAtIGdyYXkgKi8KK3ByZSAudHlwLCBjb2RlIC50eXAgeyBjb2xvcjogIzg5YmRmZjsgfSAvKiB0eXBlIC0gbGlnaHQgYmx1ZSAqLworcHJlIC5saXQsIGNvZGUgLmxpdCB7IGNvbG9yOiAjMzM4N0NDOyB9IC8qIGxpdGVyYWwgLSBibHVlICovCitwcmUgLnB1biwgY29kZSAucHVuIHsgY29sb3I6ICNmZmY7IH0gLyogcHVuY3R1YXRpb24gLSB3aGl0ZSAqLworcHJlIC5wbG4sIGNvZGUgLnBsbiB7IGNvbG9yOiAjZmZmOyB9IC8qIHBsYWludGV4dCAtIHdoaXRlICovCitwcmUgLnRhZywgY29kZSAudGFnIHsgY29sb3I6ICM4OWJkZmY7IH0gLyogaHRtbC94bWwgdGFnICAgIC0gbGlnaHQgYmx1ZSAqLworcHJlIC5hdG4sIGNvZGUgLmF0biB7IGNvbG9yOiAjYmRiNzZiOyB9IC8qIGh0bWwveG1sIGF0dHJpYnV0ZSBuYW1lICAtIGtoYWtpICovCitwcmUgLmF0diwgY29kZSAuYXR2IHsgY29sb3I6ICM2NUIwNDI7IH0gLyogaHRtbC94bWwgYXR0cmlidXRlIHZhbHVlIC0gZ3JlZW4gKi8KK3ByZSAuZGVjLCBjb2RlIC5kZWMgeyBjb2xvcjogIzMzODdDQzsgfSAvKiBkZWNpbWFsIC0gYmx1ZSAqLwpkaWZmIC0tZ2l0IGEvZGVzY3JpcHRpb24uaHRtbCBiL2Rlc2NyaXB0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwZWRhYmMuLjAwMDAwMDAKLS0tIGEvZGVzY3JpcHRpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLVRoaXMgcHJvamVjdCB3YXMganVzdCBwcm92aXNpb25lZCwgc28gdGhlcmUgaXNuJ3QgbXVjaCB0byBzZWUgaGVyZS4gWW91IGNhbiBmaW5kIGxpbmtzIHRvIHRoZSBwcm9wc2FsIG9uIHRoaXMgcGFnZS4gIFN0YXkgdHVuZWQgZm9yIGdyZWF0IHRoaW5ncy4gClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3QgYi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLmVvdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTNhNDk1Ci0tLSAvZGV2L251bGwKKysrIGIvZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5zdmcgYi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGZiNTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5zdmcKQEAgLTAsMCArMSwyODggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorPG1ldGFkYXRhPjwvbWV0YWRhdGE+Cis8ZGVmcz4KKzxmb250IGlkPSJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXIiIGhvcml6LWFkdi14PSIxMjAwIiA+Cis8Zm9udC1mYWNlIHVuaXRzLXBlci1lbT0iMTIwMCIgYXNjZW50PSI5NjAiIGRlc2NlbnQ9Ii0yNDAiIC8+Cis8bWlzc2luZy1nbHlwaCBob3Jpei1hZHYteD0iNTAwIiAvPgorPGdseXBoIGhvcml6LWFkdi14PSIwIiAvPgorPGdseXBoIGhvcml6LWFkdi14PSI0MDAiIC8+Cis8Z2x5cGggdW5pY29kZT0iICIgLz4KKzxnbHlwaCB1bmljb2RlPSIqIiBkPSJNNjAwIDExMDBxMTUgMCAzNCAtMS41dDMwIC0zLjVsMTEgLTFxMTAgLTIgMTcuNSAtMTAuNXQ3LjUgLTE4LjV2LTIyNGwxNTggMTU4cTcgNyAxOCA4dDE5IC02bDEwNiAtMTA2cTcgLTggNiAtMTl0LTggLTE4bC0xNTggLTE1OGgyMjRxMTAgMCAxOC41IC03LjV0MTAuNSAtMTcuNXE2IC00MSA2IC03NXEwIC0xNSAtMS41IC0zNHQtMy41IC0zMGwtMSAtMTFxLTIgLTEwIC0xMC41IC0xNy41dC0xOC41IC03LjVoLTIyNGwxNTggLTE1OCBxNyAtNyA4IC0xOHQtNiAtMTlsLTEwNiAtMTA2cS04IC03IC0xOSAtNnQtMTggOGwtMTU4IDE1OHYtMjI0cTAgLTEwIC03LjUgLTE4LjV0LTE3LjUgLTEwLjVxLTQxIC02IC03NSAtNnEtMTUgMCAtMzQgMS41dC0zMCAzLjVsLTExIDFxLTEwIDIgLTE3LjUgMTAuNXQtNy41IDE4LjV2MjI0bC0xNTggLTE1OHEtNyAtNyAtMTggLTh0LTE5IDZsLTEwNiAxMDZxLTcgOCAtNiAxOXQ4IDE4bDE1OCAxNThoLTIyNHEtMTAgMCAtMTguNSA3LjUgdC0xMC41IDE3LjVxLTYgNDEgLTYgNzVxMCAxNSAxLjUgMzR0My41IDMwbDEgMTFxMiAxMCAxMC41IDE3LjV0MTguNSA3LjVoMjI0bC0xNTggMTU4cS03IDcgLTggMTh0NiAxOWwxMDYgMTA2cTggNyAxOSA2dDE4IC04bDE1OCAtMTU4djIyNHEwIDEwIDcuNSAxOC41dDE3LjUgMTAuNXE0MSA2IDc1IDZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IisiIGQ9Ik00NTAgMTEwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTM1MGgzNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzUwdi0zNTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzUwaC0zNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjUgaDM1MHYzNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hhMDsiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4YTU7IiBkPSJNODI1IDExMDBoMjUwcTEwIDAgMTIuNSAtNXQtNS41IC0xM2wtMzY0IC0zNjRxLTYgLTYgLTExIC0xOGgyNjhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTEwMGgyNzVxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTE3NHEwIC0xMSAtNy41IC0xOC41dC0xOC41IC03LjVoLTE0OHEtMTEgMCAtMTguNSA3LjV0LTcuNSAxOC41djE3NCBoLTI3NXEtMTAgMCAtMTMgNnQzIDE0bDEyMCAxNjBxNiA4IDE4IDE0dDIyIDZoMTI1djEwMGgtMjc1cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMThxLTUgMTIgLTExIDE4bC0zNjQgMzY0cS04IDggLTUuNSAxM3QxMi41IDVoMjUwcTI1IDAgNDMgLTE4bDE2NCAtMTY0cTggLTggMTggLTh0MTggOGwxNjQgMTY0cTE4IDE4IDQzIDE4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3gyMDAwOyIgaG9yaXotYWR2LXg9IjY1MCIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3gyMDAxOyIgaG9yaXotYWR2LXg9IjEzMDAiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4MjAwMjsiIGhvcml6LWFkdi14PSI2NTAiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4MjAwMzsiIGhvcml6LWFkdi14PSIxMzAwIiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDIwMDQ7IiBob3Jpei1hZHYteD0iNDMzIiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDIwMDU7IiBob3Jpei1hZHYteD0iMzI1IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDIwMDY7IiBob3Jpei1hZHYteD0iMjE2IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDIwMDc7IiBob3Jpei1hZHYteD0iMjE2IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDIwMDg7IiBob3Jpei1hZHYteD0iMTYyIiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDIwMDk7IiBob3Jpei1hZHYteD0iMjYwIiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDIwMGE7IiBob3Jpei1hZHYteD0iNzIiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4MjAyZjsiIGhvcml6LWFkdi14PSIyNjAiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4MjA1ZjsiIGhvcml6LWFkdi14PSIzMjUiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4MjBhYzsiIGQ9Ik03NDQgMTE5OHEyNDIgMCAzNTQgLTE4OXE2MCAtMTA0IDY2IC0yMDloLTE4MXEwIDQ1IC0xNy41IDgyLjV0LTQzLjUgNjEuNXQtNTggNDAuNXQtNjAuNSAyNHQtNTEuNSA3LjVxLTE5IDAgLTQwLjUgLTUuNXQtNDkuNSAtMjAuNXQtNTMgLTM4dC00OSAtNjIuNXQtMzkgLTg5LjVoMzc5bC0xMDAgLTEwMGgtMzAwcS02IC01MCAtNiAtMTAwaDQwNmwtMTAwIC0xMDBoLTMwMHE5IC03NCAzMyAtMTMydDUyLjUgLTkxdDYxLjUgLTU0LjV0NTkgLTI5IHQ0NyAtNy41cTIyIDAgNTAuNSA3LjV0NjAuNSAyNC41dDU4IDQxdDQzLjUgNjF0MTcuNSA4MGgxNzRxLTMwIC0xNzEgLTEyOCAtMjc4cS0xMDcgLTExNyAtMjc0IC0xMTdxLTIwNiAwIC0zMjQgMTU4cS0zNiA0OCAtNjkgMTMzdC00NSAyMDRoLTIxN2wxMDAgMTAwaDExMnExIDQ3IDYgMTAwaC0yMThsMTAwIDEwMGgxMzRxMjAgODcgNTEgMTUzLjV0NjIgMTAzLjVxMTE3IDE0MSAyOTcgMTQxeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3gyMGJkOyIgZD0iTTQyOCAxMjAwaDM1MHE2NyAwIDEyMCAtMTN0ODYgLTMxdDU3IC00OS41dDM1IC01Ni41dDE3IC02NC41dDYuNSAtNjAuNXQwLjUgLTU3di0xNi41di0xNi41cTAgLTM2IC0wLjUgLTU3dC02LjUgLTYxdC0xNyAtNjV0LTM1IC01N3QtNTcgLTUwLjV0LTg2IC0zMS41dC0xMjAgLTEzaC0xNzhsLTIgLTEwMGgyODhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMzh2LTE3NXEwIC0xMSAtNS41IC0xOCB0LTE1LjUgLTdoLTE0OXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE3NWgtMjY3cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMTd2MTAwaC0yNjdxLTEwIDAgLTEzIDZ0MyAxNGwxMjAgMTYwcTYgOCAxOCAxNHQyMiA2aDExN3Y0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNjAwIDEwMDB2LTMwMGgyMDNxNjQgMCA4Ni41IDMzdDIyLjUgMTE5cTAgODQgLTIyLjUgMTE2dC04Ni41IDMyaC0yMDN6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDIyMTI7IiBkPSJNMjUwIDcwMGg4MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3gyMzFiOyIgZD0iTTEwMDAgMTIwMHYtMTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC01MHYtMTAwcTAgLTkxIC00OS41IC0xNjUuNXQtMTMwLjUgLTEwOS41cTgxIC0zNSAxMzAuNSAtMTA5LjV0NDkuNSAtMTY1LjV2LTE1MGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTUwaC04MDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHYxNTBxMCA5MSA0OS41IDE2NS41dDEzMC41IDEwOS41cS04MSAzNSAtMTMwLjUgMTA5LjUgdC00OS41IDE2NS41djEwMGgtNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djE1MGg4MDB6TTQwMCAxMDAwdi0xMDBxMCAtNjAgMzIuNSAtMTA5LjV0ODcuNSAtNzMuNXEyOCAtMTIgNDQgLTM3dDE2IC01NXQtMTYgLTU1dC00NCAtMzdxLTU1IC0yNCAtODcuNSAtNzMuNXQtMzIuNSAtMTA5LjV2LTE1MGg0MDB2MTUwcTAgNjAgLTMyLjUgMTA5LjV0LTg3LjUgNzMuNXEtMjggMTIgLTQ0IDM3dC0xNiA1NXQxNiA1NXQ0NCAzNyBxNTUgMjQgODcuNSA3My41dDMyLjUgMTA5LjV2MTAwaC00MDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDI1ZmM7IiBob3Jpei1hZHYteD0iNTAwIiBkPSJNMCAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3gyNjAxOyIgZD0iTTUwMyAxMDg5cTExMCAwIDIwMC41IC01OS41dDEzNC41IC0xNTYuNXE0NCAxNCA5MCAxNHExMjAgMCAyMDUgLTg2LjV0ODUgLTIwNi41cTAgLTEyMSAtODUgLTIwNy41dC0yMDUgLTg2LjVoLTc1MHEtNzkgMCAtMTM1LjUgNTd0LTU2LjUgMTM3cTAgNjkgNDIuNSAxMjIuNXQxMDguNSA2Ny41cS0yIDEyIC0yIDM3cTAgMTUzIDEwOCAyNjAuNXQyNjAgMTA3LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDI2ZmE7IiBkPSJNNzc0IDExOTMuNXExNiAtOS41IDIwLjUgLTI3dC01LjUgLTMzLjVsLTEzNiAtMTg3bDQ2NyAtNzQ2aDMwcTIwIDAgMzUgLTE4LjV0MTUgLTM5LjV2LTQyaC0xMjAwdjQycTAgMjEgMTUgMzkuNXQzNSAxOC41aDMwbDQ2OCA3NDZsLTEzNSAxODNxLTEwIDE2IC01LjUgMzR0MjAuNSAyOHQzNCA1LjV0MjggLTIwLjVsMTExIC0xNDhsMTEyIDE1MHE5IDE2IDI3IDIwLjV0MzQgLTV6TTYwMCAyMDBoMzc3bC0xODIgMTEybC0xOTUgNTM0di02NDZ6ICIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3gyNzA5OyIgZD0iTTI1IDExMDBoMTE1MHExMCAwIDEyLjUgLTV0LTUuNSAtMTNsLTU2NCAtNTY3cS04IC04IC0xOCAtOHQtMTggOGwtNTY0IDU2N3EtOCA4IC01LjUgMTN0MTIuNSA1ek0xOCA4ODJsMjY0IC0yNjRxOCAtOCA4IC0xOHQtOCAtMThsLTI2NCAtMjY0cS04IC04IC0xMyAtNS41dC01IDEyLjV2NTUwcTAgMTAgNSAxMi41dDEzIC01LjV6TTkxOCA2MThsMjY0IDI2NHE4IDggMTMgNS41dDUgLTEyLjV2LTU1MHEwIC0xMCAtNSAtMTIuNXQtMTMgNS41IGwtMjY0IDI2NHEtOCA4IC04IDE4dDggMTh6TTgxOCA0ODJsMzY0IC0zNjRxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xMTUwcS0xMCAwIC0xMi41IDV0NS41IDEzbDM2NCAzNjRxOCA4IDE4IDh0MTggLThsMTY0IC0xNjRxOCAtOCAxOCAtOHQxOCA4bDE2NCAxNjRxOCA4IDE4IDh0MTggLTh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDI3MGY7IiBkPSJNMTAxMSAxMjEwcTE5IDAgMzMgLTEzbDE1MyAtMTUzcTEzIC0xNCAxMyAtMzN0LTEzIC0zM2wtOTkgLTkybC0yMTQgMjE0bDk1IDk2cTEzIDE0IDMyIDE0ek0xMDEzIDgwMGwtNjE1IC02MTRsLTIxNCAyMTRsNjE0IDYxNHpNMzE3IDk2bC0zMzMgLTExMmwxMTAgMzM1eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDAxOyIgZD0iTTcwMCA2NTB2LTU1MGgyNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaC04MDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI1MHY1NTBsLTUwMCA1NTBoMTIwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMjsiIGQ9Ik0zNjggMTAxN2w2NDUgMTYzcTM5IDE1IDYzIDB0MjQgLTQ5di04MzFxMCAtNTUgLTQxLjUgLTk1LjV0LTExMS41IC02My41cS03OSAtMjUgLTE0NyAtNC41dC04NiA3NXQyNS41IDExMS41dDEyMi41IDgycTcyIDI0IDEzOCA4djUyMWwtNjAwIC0xNTV2LTYwNnEwIC00MiAtNDQgLTkwdC0xMDkgLTY5cS03OSAtMjYgLTE0NyAtNS41dC04NiA3NS41dDI1LjUgMTExLjV0MTIyLjUgODIuNXE3MiAyNCAxMzggN3Y2MzlxMCAzOCAxNC41IDU5IHQ1My41IDM0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDAzOyIgZD0iTTUwMCAxMTkxcTEwMCAwIDE5MSAtMzl0MTU2LjUgLTEwNC41dDEwNC41IC0xNTYuNXQzOSAtMTkxbC0xIC0ybDEgLTVxMCAtMTQxIC03OCAtMjYybDI3NSAtMjc0cTIzIC0yNiAyMi41IC00NC41dC0yMi41IC00Mi41bC01OSAtNThxLTI2IC0yMCAtNDYuNSAtMjB0LTM5LjUgMjBsLTI3NSAyNzRxLTExOSAtNzcgLTI2MSAtNzdsLTUgMWwtMiAtMXEtMTAwIDAgLTE5MSAzOXQtMTU2LjUgMTA0LjV0LTEwNC41IDE1Ni41dC0zOSAxOTEgdDM5IDE5MXQxMDQuNSAxNTYuNXQxNTYuNSAxMDQuNXQxOTEgMzl6TTUwMCAxMDIycS04OCAwIC0xNjIgLTQzdC0xMTcgLTExN3QtNDMgLTE2MnQ0MyAtMTYydDExNyAtMTE3dDE2MiAtNDN0MTYyIDQzdDExNyAxMTd0NDMgMTYydC00MyAxNjJ0LTExNyAxMTd0LTE2MiA0M3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNTsiIGQ9Ik02NDkgOTQ5cTQ4IDY4IDEwOS41IDEwNHQxMjEuNSAzOC41dDExOC41IC0yMHQxMDIuNSAtNjR0NzEgLTEwMC41dDI3IC0xMjNxMCAtNTcgLTMzLjUgLTExNy41dC05NCAtMTI0LjV0LTEyNi41IC0xMjcuNXQtMTUwIC0xNTIuNXQtMTQ2IC0xNzRxLTYyIDg1IC0xNDUuNSAxNzR0LTE1MCAxNTIuNXQtMTI2LjUgMTI3LjV0LTkzLjUgMTI0LjV0LTMzLjUgMTE3LjVxMCA2NCAyOCAxMjN0NzMgMTAwLjV0MTA0IDY0dDExOSAyMCB0MTIwLjUgLTM4LjV0MTA0LjUgLTEwNHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNjsiIGQ9Ik00MDcgODAwbDEzMSAzNTNxNyAxOSAxNy41IDE5dDE3LjUgLTE5bDEyOSAtMzUzaDQyMXEyMSAwIDI0IC04LjV0LTE0IC0yMC41bC0zNDIgLTI0OWwxMzAgLTQwMXE3IC0yMCAtMC41IC0yNS41dC0yNC41IDYuNWwtMzQzIDI0NmwtMzQyIC0yNDdxLTE3IC0xMiAtMjQuNSAtNi41dC0wLjUgMjUuNWwxMzAgNDAwbC0zNDcgMjUxcS0xNyAxMiAtMTQgMjAuNXQyMyA4LjVoNDI5eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDA3OyIgZD0iTTQwNyA4MDBsMTMxIDM1M3E3IDE5IDE3LjUgMTl0MTcuNSAtMTlsMTI5IC0zNTNoNDIxcTIxIDAgMjQgLTguNXQtMTQgLTIwLjVsLTM0MiAtMjQ5bDEzMCAtNDAxcTcgLTIwIC0wLjUgLTI1LjV0LTI0LjUgNi41bC0zNDMgMjQ2bC0zNDIgLTI0N3EtMTcgLTEyIC0yNC41IC02LjV0LTAuNSAyNS41bDEzMCA0MDBsLTM0NyAyNTFxLTE3IDEyIC0xNCAyMC41dDIzIDguNWg0Mjl6TTQ3NyA3MDBoLTI0MGwxOTcgLTE0MmwtNzQgLTIyNiBsMTkzIDEzOWwxOTUgLTE0MGwtNzQgMjI5bDE5MiAxNDBoLTIzNGwtNzggMjExeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDA4OyIgZD0iTTYwMCAxMjAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtMjUwcTAgLTQ2IC0zMSAtOTh0LTY5IC01MnYtNzVxMCAtMTAgNiAtMjEuNXQxNSAtMTcuNWwzNTggLTIzMHE5IC01IDE1IC0xNi41dDYgLTIxLjV2LTkzcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djkzcTAgMTAgNiAyMS41dDE1IDE2LjVsMzU4IDIzMHE5IDYgMTUgMTcuNXQ2IDIxLjV2NzVxLTM4IDAgLTY5IDUyIHQtMzEgOTh2MjUwcTAgMTI0IDg4IDIxMnQyMTIgODh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwMDk7IiBkPSJNMjUgMTEwMGgxMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTA1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMDUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwMCAxMDAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgMTAwMGgtNTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMzUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNTUwIHExMCAwIDE3LjUgNy41dDcuNSAxNy41djM1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTEwMDAgMTAwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwIDgwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA4MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgNjAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgNTAwaC01NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0zNTBxMCAtMTAgNy41IC0xNy41IHQxNy41IC03LjVoNTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MzUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMTAwIDQwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCAyMDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDEwOyIgZD0iTTUwIDExMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjUwIDExMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDUwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgNTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDExOyIgZD0iTTUwIDExMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDExMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTg1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDcwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDcwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgNzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwIHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAzMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDMwMGgyMDAgcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODUwIDMwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjUgdDM1LjUgMTQuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDcwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoNzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwMTM7IiBkPSJNNDY1IDQ3N2w1NzEgNTcxcTggOCAxOCA4dDE3IC04bDE3NyAtMTc3cTggLTcgOCAtMTd0LTggLTE4bC03ODMgLTc4NHEtNyAtOCAtMTcuNSAtOHQtMTcuNSA4bC0zODQgMzg0cS04IDggLTggMTh0OCAxN2wxNzcgMTc3cTcgOCAxNyA4dDE4IC04bDE3MSAtMTcxcTcgLTcgMTggLTd0MTggN3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNDsiIGQ9Ik05MDQgMTA4M2wxNzggLTE3OXE4IC04IDggLTE4LjV0LTggLTE3LjVsLTI2NyAtMjY4bDI2NyAtMjY4cTggLTcgOCAtMTcuNXQtOCAtMTguNWwtMTc4IC0xNzhxLTggLTggLTE4LjUgLTh0LTE3LjUgOGwtMjY4IDI2N2wtMjY4IC0yNjdxLTcgLTggLTE3LjUgLTh0LTE4LjUgOGwtMTc4IDE3OHEtOCA4IC04IDE4LjV0OCAxNy41bDI2NyAyNjhsLTI2NyAyNjhxLTggNyAtOCAxNy41dDggMTguNWwxNzggMTc4cTggOCAxOC41IDh0MTcuNSAtOCBsMjY4IC0yNjdsMjY4IDI2OHE3IDcgMTcuNSA3dDE4LjUgLTd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNNDI1IDkwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWg3NXExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41IHQtMTcuNSAtNy41aC03NXYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtNzVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg3NXY3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDE2OyIgZD0iTTUwNyAxMTc3cTk4IDAgMTg3LjUgLTM4LjV0MTU0LjUgLTEwMy41dDEwMy41IC0xNTQuNXQzOC41IC0xODcuNXEwIC0xNDEgLTc4IC0yNjJsMzAwIC0yOTlxOCAtOCA4IC0xOC41dC04IC0xOC41bC0xMDkgLTEwOHEtNyAtOCAtMTcuNSAtOHQtMTguNSA4bC0zMDAgMjk5cS0xMTkgLTc3IC0yNjEgLTc3cS05OCAwIC0xODggMzguNXQtMTU0LjUgMTAzdC0xMDMgMTU0LjV0LTM4LjUgMTg4dDM4LjUgMTg3LjV0MTAzIDE1NC41IHQxNTQuNSAxMDMuNXQxODggMzguNXpNNTA2LjUgMTAyM3EtODkuNSAwIC0xNjUuNSAtNDR0LTEyMCAtMTIwLjV0LTQ0IC0xNjZ0NDQgLTE2NS41dDEyMCAtMTIwdDE2NS41IC00NHQxNjYgNDR0MTIwLjUgMTIwdDQ0IDE2NS41dC00NCAxNjZ0LTEyMC41IDEyMC41dC0xNjYgNDR6TTMyNSA4MDBoMzUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMzUwcS0xMCAwIC0xNy41IDcuNSB0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDE3OyIgZD0iTTU1MCAxMjAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTgwMCA5NzV2MTY2cTE2NyAtNjIgMjcyIC0yMDkuNXQxMDUgLTMzMS41cTAgLTExNyAtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41IHQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0cTAgMTg0IDEwNSAzMzEuNXQyNzIgMjA5LjV2LTE2NnEtMTAzIC01NSAtMTY1IC0xNTV0LTYyIC0yMjBxMCAtMTE2IDU3IC0yMTQuNXQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41cTAgMTIwIC02MiAyMjB0LTE2NSAxNTV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwMTg7IiBkPSJNMTAyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTExNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTcyNSA4MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgNTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTQ1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djQ1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMjUgMzAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41IHYyNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAxOTsiIGQ9Ik02MDAgMTE3NHEzMyAwIDc0IC01bDM4IC0xNTJsNSAtMXE0OSAtMTQgOTQgLTM5bDUgLTJsMTM0IDgwcTYxIC00OCAxMDQgLTEwNWwtODAgLTEzNGwzIC01cTI1IC00NCAzOSAtOTNsMSAtNmwxNTIgLTM4cTUgLTQzIDUgLTczcTAgLTM0IC01IC03NGwtMTUyIC0zOGwtMSAtNnEtMTUgLTQ5IC0zOSAtOTNsLTMgLTVsODAgLTEzNHEtNDggLTYxIC0xMDQgLTEwNWwtMTM0IDgxbC01IC0zcS00NCAtMjUgLTk0IC0zOWwtNSAtMmwtMzggLTE1MSBxLTQzIC01IC03NCAtNXEtMzMgMCAtNzQgNWwtMzggMTUxbC01IDJxLTQ5IDE0IC05NCAzOWwtNSAzbC0xMzQgLTgxcS02MCA0OCAtMTA0IDEwNWw4MCAxMzRsLTMgNXEtMjUgNDUgLTM4IDkzbC0yIDZsLTE1MSAzOHEtNiA0MiAtNiA3NHEwIDMzIDYgNzNsMTUxIDM4bDIgNnExMyA0OCAzOCA5M2wzIDVsLTgwIDEzNHE0NyA2MSAxMDUgMTA1bDEzMyAtODBsNSAycTQ1IDI1IDk0IDM5bDUgMWwzOCAxNTJxNDMgNSA3NCA1ek02MDAgODE1IHEtODkgMCAtMTUyIC02M3QtNjMgLTE1MS41dDYzIC0xNTEuNXQxNTIgLTYzdDE1MiA2M3Q2MyAxNTEuNXQtNjMgMTUxLjV0LTE1MiA2M3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMDsiIGQ9Ik01MDAgMTMwMGgzMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMGgyNzVxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWgtMTEwMHY3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDI3NXYxMDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41ek01MDAgMTIwMHYtMTAwaDMwMHYxMDBoLTMwMHpNMTEwMCA5MDB2LTgwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtNzAwcS00MSAwIC03MC41IDI5LjV0LTI5LjUgNzAuNSB2ODAwaDkwMHpNMzAwIDgwMHYtNzAwaDEwMHY3MDBoLTEwMHpNNTAwIDgwMHYtNzAwaDEwMHY3MDBoLTEwMHpNNzAwIDgwMHYtNzAwaDEwMHY3MDBoLTEwMHpNOTAwIDgwMHYtNzAwaDEwMHY3MDBoLTEwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMTsiIGQ9Ik0xOCA2MThsNjIwIDYwOHE4IDcgMTguNSA3dDE3LjUgLTdsNjA4IC02MDhxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xNzV2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWgtMzAwdi0zNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NzVoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMjsiIGQ9Ik02MDAgMTIwMHYtNDAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWgzMDB2LTY1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg0NTB6TTEwMDAgODAwaC0yNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djI1MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNTI1IDkwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI3NWgxNzVxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDI0OyIgZD0iTTEzMDAgMGgtNTM4bC00MSA0MDBoLTI0MmwtNDEgLTQwMGgtNTM4bDQzMSAxMjAwaDIwOWwtMjEgLTMwMGgxNjJsLTIwIDMwMGgyMDh6TTUxNSA4MDBsLTI3IC0zMDBoMjI0bC0yNyAzMDBoLTE3MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNTsiIGQ9Ik01NTAgMTIwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQ1MGgxOTFxMjAgMCAyNS41IC0xMS41dC03LjUgLTI3LjVsLTMyNyAtNDAwcS0xMyAtMTYgLTMyIC0xNnQtMzIgMTZsLTMyNyA0MDBxLTEzIDE2IC03LjUgMjcuNXQyNS41IDExLjVoMTkxdjQ1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTExMjUgNDAwaDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMzUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNSBoLTEwNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE3NWg5MDB2MTc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwMjY7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd0MjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV0LTU3IDIxNC41dC0xNTUuNSAxNTUuNXQtMjE0LjUgNTd6TTUyNSA5MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMjc1aDEzN3EyMSAwIDI2IC0xMS41dC04IC0yNy41bC0yMjMgLTI3NXEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC0yMjMgMjc1cS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMTM3djI3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiAiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNjMyIDkxNGwyMjMgLTI3NXExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTEzN3YtMjc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2Mjc1aC0xMzdxLTIxIDAgLTI2IDExLjV0OCAyNy41bDIyMyAyNzVxMTMgMTYgMzIgMTYgdDMyIC0xNnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAyODsiIGQ9Ik0yMjUgMTIwMGg3NTBxMTAgMCAxOS41IC03dDEyLjUgLTE3bDE4NiAtNjUycTcgLTI0IDcgLTQ5di00MjVxMCAtMTIgLTQgLTI3dC05IC0xN3EtMTIgLTYgLTM3IC02aC0xMTAwcS0xMiAwIC0yNyA0dC0xNyA4cS02IDEzIC02IDM4bDEgNDI1cTAgMjUgNyA0OWwxODUgNjUycTMgMTAgMTIuNSAxN3QxOS41IDd6TTg3OCAxMDAwaC01NTZxLTEwIDAgLTE5IC03dC0xMSAtMThsLTg3IC00NTBxLTIgLTExIDQgLTE4dDE2IC03aDE1MCBxMTAgMCAxOS41IC03dDExLjUgLTE3bDM4IC0xNTJxMiAtMTAgMTEuNSAtMTd0MTkuNSAtN2gyNTBxMTAgMCAxOS41IDd0MTEuNSAxN2wzOCAxNTJxMiAxMCAxMS41IDE3dDE5LjUgN2gxNTBxMTAgMCAxNiA3dDQgMThsLTg3IDQ1MHEtMiAxMSAtMTEgMTh0LTE5IDd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwMjk7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd0MjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV0LTU3IDIxNC41dC0xNTUuNSAxNTUuNXQtMjE0LjUgNTd6TTU0MCA4MjBsMjUzIC0xOTBxMTcgLTEyIDE3IC0zMHQtMTcgLTMwbC0yNTMgLTE5MHEtMTYgLTEyIC0yOCAtNi41dC0xMiAyNi41djQwMHEwIDIxIDEyIDI2LjV0MjggLTYuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMDsiIGQ9Ik05NDcgMTA2MGwxMzUgMTM1cTcgNyAxMi41IDV0NS41IC0xM3YtMzYycTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMzYycS0xMSAwIC0xMyA1LjV0NSAxMi41bDEzMyAxMzNxLTEwOSA3NiAtMjM4IDc2cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNWgxNTBxMCAtMTE3IC00NS41IC0yMjQgdC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMTsiIGQ9Ik05NDcgMTA2MGwxMzUgMTM1cTcgNyAxMi41IDV0NS41IC0xM3YtMzYxcTAgLTExIC03LjUgLTE4LjV0LTE4LjUgLTcuNWgtMzYxcS0xMSAwIC0xMyA1LjV0NSAxMi41bDEzNCAxMzRxLTExMCA3NSAtMjM5IDc1cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNWgtMTUwcTAgMTE3IDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjVxMTkyIDAgMzQ3IC0xMTd6TTEwMjcgNjAwaDE1MCBxMCAtMTE3IC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXEtMTkyIDAgLTM0OCAxMThsLTEzNCAtMTM0cS03IC04IC0xMi41IC01LjV0LTUuNSAxMi41djM2MHEwIDExIDcuNSAxOC41dDE4LjUgNy41aDM2MHExMCAwIDEyLjUgLTUuNXQtNS41IC0xMi41bC0xMzMgLTEzM3ExMTAgLTc2IDI0MCAtNzZxMTE2IDAgMjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwMzI7IiBkPSJNMTI1IDEyMDBoMTA1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTExNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xMDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMDc1IDEwMDBoLTg1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTg1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDg1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djg1MCBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41ek0zMjUgOTAwaDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTUyNSA5MDBoNDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC00NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMzI1IDcwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgNzAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTMyNSA1MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNTI1IDUwMGg0NTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTQ1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0zMjUgMzAwaDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTUyNSAzMDBoNDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC00NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMzsiIGQ9Ik05MDAgODAwdjIwMHEwIDgzIC01OC41IDE0MS41dC0xNDEuNSA1OC41aC0zMDBxLTgyIDAgLTE0MSAtNTl0LTU5IC0xNDF2LTIwMGgtMTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDkwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NjAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC0xMDB6TTQwMCA4MDB2MTUwcTAgMjEgMTUgMzUuNXQzNSAxNC41aDIwMCBxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNXYtMTUwaC0zMDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwMzQ7IiBkPSJNMTI1IDExMDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xMDc1aC0xMDB2MTA3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMDc1IDEwNTJxNCAwIDkgLTJxMTYgLTYgMTYgLTIzdi00MjFxMCAtNiAtMyAtMTJxLTMzIC01OSAtNjYuNSAtOTl0LTY1LjUgLTU4dC01Ni41IC0yNC41dC01Mi41IC02LjVxLTI2IDAgLTU3LjUgNi41dC01Mi41IDEzLjV0LTYwIDIxcS00MSAxNSAtNjMgMjIuNXQtNTcuNSAxNXQtNjUuNSA3LjUgcS04NSAwIC0xNjAgLTU3cS03IC01IC0xNSAtNXEtNiAwIC0xMSAzcS0xNCA3IC0xNCAyMnY0MzhxMjIgNTUgODIgOTguNXQxMTkgNDYuNXEyMyAyIDQzIDAuNXQ0MyAtN3QzMi41IC04LjV0MzggLTEzdDMyLjUgLTExcTQxIC0xNCA2My41IC0yMXQ1NyAtMTR0NjMuNSAtN3ExMDMgMCAxODMgODdxNyA4IDE4IDh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwMzU7IiBkPSJNNjAwIDExNzVxMTE2IDAgMjI3IC00OS41dDE5Mi41IC0xMzF0MTMxIC0xOTIuNXQ0OS41IC0yMjd2LTMwMHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzAwcTAgMTI3IC03MC41IDIzMS41dC0xODQuNSAxNjEuNXQtMjQ1IDU3dC0yNDUgLTU3dC0xODQuNSAtMTYxLjV0LTcwLjUgLTIzMS41di0zMDBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MCBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzMDBxMCAxMTYgNDkuNSAyMjd0MTMxIDE5Mi41dDE5Mi41IDEzMXQyMjcgNDkuNXpNMjIwIDUwMGgxNjBxOCAwIDE0IC02dDYgLTE0di00NjBxMCAtOCAtNiAtMTR0LTE0IC02aC0xNjBxLTggMCAtMTQgNnQtNiAxNHY0NjBxMCA4IDYgMTR0MTQgNnpNODIwIDUwMGgxNjBxOCAwIDE0IC02dDYgLTE0di00NjBxMCAtOCAtNiAtMTR0LTE0IC02aC0xNjBxLTggMCAtMTQgNnQtNiAxNHY0NjAgcTAgOCA2IDE0dDE0IDZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwMzY7IiBkPSJNMzIxIDgxNGwyNTggMTcycTkgNiAxNSAyLjV0NiAtMTMuNXYtNzUwcTAgLTEwIC02IC0xMy41dC0xNSAyLjVsLTI1OCAxNzJxLTIxIDE0IC00NiAxNGgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMjUwcTI1IDAgNDYgMTR6TTkwMCA2NjhsMTIwIDEyMHE3IDcgMTcgN3QxNyAtN2wzNCAtMzRxNyAtNyA3IC0xN3QtNyAtMTdsLTEyMCAtMTIwbDEyMCAtMTIwcTcgLTcgNyAtMTcgdC03IC0xN2wtMzQgLTM0cS03IC03IC0xNyAtN3QtMTcgN2wtMTIwIDExOWwtMTIwIC0xMTlxLTcgLTcgLTE3IC03dC0xNyA3bC0zNCAzNHEtNyA3IC03IDE3dDcgMTdsMTE5IDEyMGwtMTE5IDEyMHEtNyA3IC03IDE3dDcgMTdsMzQgMzRxNyA4IDE3IDh0MTcgLTh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwMzc7IiBkPSJNMzIxIDgxNGwyNTggMTcycTkgNiAxNSAyLjV0NiAtMTMuNXYtNzUwcTAgLTEwIC02IC0xMy41dC0xNSAyLjVsLTI1OCAxNzJxLTIxIDE0IC00NiAxNGgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMjUwcTI1IDAgNDYgMTR6TTc2NiA5MDBoNHExMCAtMSAxNiAtMTBxOTYgLTEyOSA5NiAtMjkwcTAgLTE1NCAtOTAgLTI4MXEtNiAtOSAtMTcgLTEwbC0zIC0xcS05IDAgLTE2IDYgbC0yOSAyM3EtNyA3IC04LjUgMTYuNXQ0LjUgMTcuNXE3MiAxMDMgNzIgMjI5cTAgMTMyIC03OCAyMzhxLTYgOCAtNC41IDE4dDkuNSAxN2wyOSAyMnE3IDUgMTUgNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTAzODsiIGQ9Ik05NjcgMTAwNGgzcTExIC0xIDE3IC0xMHExMzUgLTE3OSAxMzUgLTM5NnEwIC0xMDUgLTM0IC0yMDYuNXQtOTggLTE4NS41cS03IC05IC0xNyAtMTBoLTNxLTkgMCAtMTYgNmwtNDIgMzRxLTggNiAtOSAxNnQ1IDE4cTExMSAxNTAgMTExIDMyOHEwIDkwIC0yOS41IDE3NnQtODQuNSAxNTdxLTYgOSAtNSAxOXQxMCAxNmw0MiAzM3E3IDUgMTUgNXpNMzIxIDgxNGwyNTggMTcycTkgNiAxNSAyLjV0NiAtMTMuNXYtNzUwcTAgLTEwIC02IC0xMy41IHQtMTUgMi41bC0yNTggMTcycS0yMSAxNCAtNDYgMTRoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDI1MHEyNSAwIDQ2IDE0ek03NjYgOTAwaDRxMTAgLTEgMTYgLTEwcTk2IC0xMjkgOTYgLTI5MHEwIC0xNTQgLTkwIC0yODFxLTYgLTkgLTE3IC0xMGwtMyAtMXEtOSAwIC0xNiA2bC0yOSAyM3EtNyA3IC04LjUgMTYuNXQ0LjUgMTcuNXE3MiAxMDMgNzIgMjI5cTAgMTMyIC03OCAyMzggcS02IDggLTQuNSAxOC41dDkuNSAxNi41bDI5IDIycTcgNSAxNSA1eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDM5OyIgZD0iTTUwMCA5MDBoMTAwdi0xMDBoLTEwMHYtMTAwaC00MDB2LTEwMGgtMTAwdjYwMGg1MDB2LTMwMHpNMTIwMCA3MDBoLTIwMHYtMTAwaDIwMHYtMjAwaC0zMDB2MzAwaC0yMDB2MzAwaC0xMDB2MjAwaDYwMHYtNTAwek0xMDAgMTEwMHYtMzAwaDMwMHYzMDBoLTMwMHpNODAwIDExMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTMwMCA5MDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEwMDAgOTAwaC0xMDB2MTAwaDEwMHYtMTAwek0zMDAgNTAwaDIwMHYtNTAwIGgtNTAwdjUwMGgyMDB2MTAwaDEwMHYtMTAwek04MDAgMzAwaDIwMHYtMTAwaC0xMDB2LTEwMGgtMjAwdjEwMGgtMTAwdjEwMGgxMDB2MjAwaC0yMDB2MTAwaDMwMHYtMzAwek0xMDAgNDAwdi0zMDBoMzAwdjMwMGgtMzAwek0zMDAgMjAwaC0xMDB2MTAwaDEwMHYtMTAwek0xMjAwIDIwMGgtMTAwdjEwMGgxMDB2LTEwMHpNNzAwIDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEyMDAgMGgtMzAwdjEwMGgzMDB2LTEwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA0MDsiIGQ9Ik0xMDAgMjAwaC0xMDB2MTAwMGgxMDB2LTEwMDB6TTMwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNNzAwIDIwMGgtMjAwdjEwMDBoMjAwdi0xMDAwek05MDAgMjAwaC0xMDB2MTAwMGgxMDB2LTEwMDB6TTEyMDAgMjAwaC0yMDB2MTAwMGgyMDB2LTEwMDB6TTQwMCAwaC0zMDB2MTAwaDMwMHYtMTAwek02MDAgMGgtMTAwdjkxaDEwMHYtOTF6TTgwMCAwaC0xMDB2OTFoMTAwdi05MXpNMTEwMCAwaC0yMDB2OTFoMjAwdi05MXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA0MTsiIGQ9Ik01MDAgMTIwMGw2ODIgLTY4MnE4IC04IDggLTE4dC04IC0xOGwtNDY0IC00NjRxLTggLTggLTE4IC04dC0xOCA4bC02ODIgNjgybDEgNDc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNDc0ek0zMTkuNSAxMDI0LjVxLTI5LjUgMjkuNSAtNzEgMjkuNXQtNzEgLTI5LjV0LTI5LjUgLTcxLjV0MjkuNSAtNzEuNXQ3MSAtMjkuNXQ3MSAyOS41dDI5LjUgNzEuNXQtMjkuNSA3MS41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDQyOyIgZD0iTTUwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTY4MiA2ODJsMSA0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg0NzR6TTgwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTU2IDU2bDQyNCA0MjZsLTcwMCA3MDBoMTUwek0zMTkuNSAxMDI0LjVxLTI5LjUgMjkuNSAtNzEgMjkuNXQtNzEgLTI5LjUgdC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA0MzsiIGQ9Ik0zMDAgMTIwMGg4MjVxNzUgMCA3NSAtNzV2LTkwMHEwIC0yNSAtMTggLTQzbC02NCAtNjRxLTggLTggLTEzIC01LjV0LTUgMTIuNXY5NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC03MDBxLTI1IDAgLTQzIC0xOGwtNjQgLTY0cS04IC04IC01LjUgLTEzdDEyLjUgLTVoNzAwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtOTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtODUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2OTc1IHEwIDI1IDE4IDQzbDEzOSAxMzlxMTggMTggNDMgMTh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwNDQ7IiBkPSJNMjUwIDEyMDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMTUwbC00NTAgNDQ0bC00NTAgLTQ0NXYxMTUxcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NTsiIGQ9Ik04MjIgMTIwMGgtNDQ0cS0xMSAwIC0xOSAtNy41dC05IC0xNy41bC03OCAtMzAxcS03IC0yNCA3IC00NWw1NyAtMTA4cTYgLTkgMTcuNSAtMTV0MjEuNSAtNmg0NTBxMTAgMCAyMS41IDZ0MTcuNSAxNWw2MiAxMDhxMTQgMjEgNyA0NWwtODMgMzAxcS0xIDEwIC05IDE3LjV0LTE5IDcuNXpNMTE3NSA4MDBoLTE1MHEtMTAgMCAtMjEgLTYuNXQtMTUgLTE1LjVsLTc4IC0xNTZxLTQgLTkgLTE1IC0xNS41dC0yMSAtNi41aC01NTAgcS0xMCAwIC0yMSA2LjV0LTE1IDE1LjVsLTc4IDE1NnEtNCA5IC0xNSAxNS41dC0yMSA2LjVoLTE1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTY1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDc1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41IHQ3LjUgMTcuNXY2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41ek04NTAgMjAwaC01MDBxLTEwIDAgLTE5LjUgLTd0LTExLjUgLTE3bC0zOCAtMTUycS0yIC0xMCAzLjUgLTE3dDE1LjUgLTdoNjAwcTEwIDAgMTUuNSA3dDMuNSAxN2wtMzggMTUycS0yIDEwIC0xMS41IDE3dC0xOS41IDd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwNDY7IiBkPSJNNTAwIDExMDBoMjAwcTU2IDAgMTAyLjUgLTIwLjV0NzIuNSAtNTB0NDQgLTU5dDI1IC01MC41bDYgLTIwaDE1MHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0xMDAwcS00MSAwIC03MC41IDI5LjV0LTI5LjUgNzAuNXY2MDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41aDE1MHEyIDggNi41IDIxLjV0MjQgNDh0NDUgNjF0NzIgNDh0MTAyLjUgMjEuNXpNOTAwIDgwMHYtMTAwIGgxMDB2MTAwaC0xMDB6TTYwMCA3MzBxLTk1IDAgLTE2Mi41IC02Ny41dC02Ny41IC0xNjIuNXQ2Ny41IC0xNjIuNXQxNjIuNSAtNjcuNXQxNjIuNSA2Ny41dDY3LjUgMTYyLjV0LTY3LjUgMTYyLjV0LTE2Mi41IDY3LjV6TTYwMCA2MDNxNDMgMCA3MyAtMzB0MzAgLTczdC0zMCAtNzN0LTczIC0zMHQtNzMgMzB0LTMwIDczdDMwIDczdDczIDMweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDQ3OyIgZD0iTTY4MSAxMTk5bDM4NSAtOTk4cTIwIC01MCA2MCAtOTJxMTggLTE5IDM2LjUgLTI5LjV0MjcuNSAtMTEuNWwxMCAtMnYtNjZoLTQxN3Y2NnE1MyAwIDc1IDQzLjV0NSA4OC41bC04MiAyMjJoLTM5MXEtNTggLTE0NSAtOTIgLTIzNHEtMTEgLTM0IC02LjUgLTU3dDI1LjUgLTM3dDQ2IC0yMHQ1NSAtNnYtNjZoLTM2NXY2NnE1NiAyNCA4NCA1MnExMiAxMiAyNSAzMC41dDIwIDMxLjVsNyAxM2wzOTkgMTAwNmg5M3pNNDE2IDUyMWgzNDAgbC0xNjIgNDU3eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDQ4OyIgZD0iTTc1MyA2NDFxNSAtMSAxNC41IC00LjV0MzYgLTE1LjV0NTAuNSAtMjYuNXQ1My41IC00MHQ1MC41IC01NC41dDM1LjUgLTcwdDE0LjUgLTg3cTAgLTY3IC0yNy41IC0xMjUuNXQtNzEuNSAtOTcuNXQtOTguNSAtNjYuNXQtMTA4LjUgLTQwLjV0LTEwMiAtMTNoLTUwMHY4OXE0MSA3IDcwLjUgMzIuNXQyOS41IDY1LjV2ODI3cTAgMjQgLTAuNSAzNHQtMy41IDI0dC04LjUgMTkuNXQtMTcgMTMuNXQtMjggMTIuNXQtNDIuNSAxMS41djcxIGw0NzEgLTFxNTcgMCAxMTUuNSAtMjAuNXQxMDggLTU3dDgwLjUgLTk0dDMxIC0xMjQuNXEwIC01MSAtMTUuNSAtOTYuNXQtMzggLTc0LjV0LTQ1IC01MC41dC0zOC41IC0zMC41ek00MDAgNzAwaDEzOXE3OCAwIDEzMC41IDQ4LjV0NTIuNSAxMjIuNXEwIDQxIC04LjUgNzAuNXQtMjkuNSA1NS41dC02Mi41IDM5LjV0LTEwMy41IDEzLjVoLTExOHYtMzUwek00MDAgMjAwaDIxNnE4MCAwIDEyMSA1MC41dDQxIDEzMC41cTAgOTAgLTYyLjUgMTU0LjUgdC0xNTYuNSA2NC41aC0xNTl2LTQwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA0OTsiIGQ9Ik04NzcgMTIwMGwyIC01N3EtODMgLTE5IC0xMTYgLTQ1LjV0LTQwIC02Ni41bC0xMzIgLTgzOXEtOSAtNDkgMTMgLTY5dDk2IC0yNnYtOTdoLTUwMHY5N3ExODYgMTYgMjAwIDk4bDE3MyA4MzJxMyAxNyAzIDMwdC0xLjUgMjIuNXQtOSAxNy41dC0xMy41IDEyLjV0LTIxLjUgMTB0LTI2IDguNXQtMzMuNSAxMHEtMTMgMyAtMTkgNXY1N2g0MjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwNTA7IiBkPSJNMTMwMCA5MDBoLTUwcTAgMjEgLTQgMzd0LTkuNSAyNi41dC0xOCAxNy41dC0yMiAxMXQtMjguNSA1LjV0LTMxIDJ0LTM3IDAuNWgtMjAwdi04NTBxMCAtMjIgMjUgLTM0LjV0NTAgLTEzLjVsMjUgLTJ2LTEwMGgtNDAwdjEwMHE0IDAgMTEgMC41dDI0IDN0MzAgN3QyNCAxNXQxMSAyNC41djg1MGgtMjAwcS0yNSAwIC0zNyAtMC41dC0zMSAtMnQtMjguNSAtNS41dC0yMiAtMTF0LTE4IC0xNy41dC05LjUgLTI2LjV0LTQgLTM3aC01MHYzMDAgaDEwMDB2LTMwMHpNMTc1IDEwMDBoLTc1di04MDBoNzVsLTEyNSAtMTY3bC0xMjUgMTY3aDc1djgwMGgtNzVsMTI1IDE2N3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MTsiIGQ9Ik0xMTAwIDkwMGgtNTBxMCAyMSAtNCAzN3QtOS41IDI2LjV0LTE4IDE3LjV0LTIyIDExdC0yOC41IDUuNXQtMzEgMnQtMzcgMC41aC0yMDB2LTY1MHEwIC0yMiAyNSAtMzQuNXQ1MCAtMTMuNWwyNSAtMnYtMTAwaC00MDB2MTAwcTQgMCAxMSAwLjV0MjQgM3QzMCA3dDI0IDE1dDExIDI0LjV2NjUwaC0yMDBxLTI1IDAgLTM3IC0wLjV0LTMxIC0ydC0yOC41IC01LjV0LTIyIC0xMXQtMTggLTE3LjV0LTkuNSAtMjYuNXQtNCAtMzdoLTUwdjMwMCBoMTAwMHYtMzAwek0xMTY3IDUwbC0xNjcgLTEyNXY3NWgtODAwdi03NWwtMTY3IDEyNWwxNjcgMTI1di03NWg4MDB2NzV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwNTI7IiBkPSJNNTAgMTEwMGg2MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDIwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTExMDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDUzOyIgZD0iTTI1MCAxMTAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDgwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTExMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0yNTAgNTAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDIwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTExMDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDU0OyIgZD0iTTUwMCA5NTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg2MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXpNMTAwIDY1MHYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41ek0zMDAgMzUwdjEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV6TTAgNTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA1NTsiIGQ9Ik01MCAxMTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgODAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDUwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTExMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDIwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTExMDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDU2OyIgZD0iTTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMzUwIDExMDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDgwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zNTAgODAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA1MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMzUwIDUwMGg4MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCAyMDBoODAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwNTc7IiBkPSJNNDAwIDBoLTEwMHYxMTAwaDEwMHYtMTEwMHpNNTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjY3IDU1MGwtMTY3IC0xMjV2NzVoLTIwMHYxMDBoMjAwdjc1ek01NTAgNTAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTU1MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwNTg7IiBkPSJNNTAgMTEwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek05MDAgMGgtMTAwdjExMDBoMTAwdi0xMTAwek01MCA4MDBoNTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTUwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTExMDAgNjAwaDIwMHYtMTAwaC0yMDB2LTc1bC0xNjcgMTI1bDE2NyAxMjV2LTc1ek01MCA1MDBoMzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDYwMCBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDU5OyIgZD0iTTc1IDEwMDBoNzUwcTMxIDAgNTMgLTIydDIyIC01M3YtNjUwcTAgLTMxIC0yMiAtNTN0LTUzIC0yMmgtNzUwcS0zMSAwIC01MyAyMnQtMjIgNTN2NjUwcTAgMzEgMjIgNTN0NTMgMjJ6TTEyMDAgMzAwbC0zMDAgMzAwbDMwMCAzMDB2LTYwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA2MDsiIGQ9Ik00NCAxMTAwaDExMTJxMTggMCAzMSAtMTN0MTMgLTMxdi0xMDEycTAgLTE4IC0xMyAtMzF0LTMxIC0xM2gtMTExMnEtMTggMCAtMzEgMTN0LTEzIDMxdjEwMTJxMCAxOCAxMyAzMXQzMSAxM3pNMTAwIDEwMDB2LTczN2wyNDcgMTgybDI5OCAtMTMxbC03NCAxNTZsMjkzIDMxOGwyMzYgLTI4OHY1MDBoLTEwMDB6TTM0MiA4ODRxNTYgMCA5NSAtMzl0MzkgLTk0LjV0LTM5IC05NXQtOTUgLTM5LjV0LTk1IDM5LjV0LTM5IDk1dDM5IDk0LjUgdDk1IDM5eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDYyOyIgZD0iTTY0OCAxMTY5cTExNyAwIDIxNiAtNjB0MTU2LjUgLTE2MXQ1Ny41IC0yMThxMCAtMTE1IC03MCAtMjU4cS02OSAtMTA5IC0xNTggLTIyNS41dC0xNDMgLTE3OS41bC01NCAtNjJxLTkgOCAtMjUuNSAyNC41dC02My41IDY3LjV0LTkxIDEwM3QtOTguNSAxMjh0LTk1LjUgMTQ4cS02MCAxMzIgLTYwIDI0OXEwIDg4IDM0IDE2OS41dDkxLjUgMTQydDEzNyA5Ni41dDE2Ni41IDM2ek02NTIuNSA5NzRxLTkxLjUgMCAtMTU2LjUgLTY1IHQtNjUgLTE1N3Q2NSAtMTU2LjV0MTU2LjUgLTY0LjV0MTU2LjUgNjQuNXQ2NSAxNTYuNXQtNjUgMTU3dC0xNTYuNSA2NXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA2MzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDE3M3Y4NTRxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA2NDsiIGQ9Ik01NTQgMTI5NXEyMSAtNzIgNTcuNSAtMTQzLjV0NzYgLTEzMHQ4MyAtMTE4dDgyLjUgLTExN3Q3MCAtMTE2dDQ5LjUgLTEyNnQxOC41IC0xMzYuNXEwIC03MSAtMjUuNSAtMTM1dC02OC41IC0xMTF0LTk5IC04MnQtMTE4LjUgLTU0dC0xMjUuNSAtMjNxLTg0IDUgLTE2MS41IDM0dC0xMzkuNSA3OC41dC05OSAxMjV0LTM3IDE2NC41cTAgNjkgMTggMTM2LjV0NDkuNSAxMjYuNXQ2OS41IDExNi41dDgxLjUgMTE3LjV0ODMuNSAxMTkgdDc2LjUgMTMxdDU4LjUgMTQzek0zNDQgNzEwcS0yMyAtMzMgLTQzLjUgLTcwLjV0LTQwLjUgLTEwMi41dC0xNyAtMTIzcTEgLTM3IDE0LjUgLTY5LjV0MzAgLTUydDQxIC0zN3QzOC41IC0yNC41dDMzIC0xNXEyMSAtNyAzMiAtMXQxMyAyMmw2IDM0cTIgMTAgLTIuNSAyMnQtMTMuNSAxOXEtNSA0IC0xNCAxMnQtMjkuNSA0MC41dC0zMi41IDczLjVxLTI2IDg5IDYgMjcxcTIgMTEgLTYgMTFxLTggMSAtMTUgLTEweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDY1OyIgZD0iTTEwMDAgMTAxM2wxMDggMTE1cTIgMSA1IDJ0MTMgMnQyMC41IC0xdDI1IC05LjV0MjguNSAtMjEuNXEyMiAtMjIgMjcgLTQzdDAgLTMybC02IC0xMGwtMTA4IC0xMTV6TTM1MCAxMTAwaDQwMHE1MCAwIDEwNSAtMTNsLTE4NyAtMTg3aC0zNjhxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNXYxODJsMjAwIDIwMHYtMzMyIHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek0xMDA5IDgwM2wtMzYyIC0zNjJsLTE2MSAtNTBsNTUgMTcwbDM1NSAzNTV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwNjY7IiBkPSJNMzUwIDExMDBoMzYxcS0xNjQgLTE0NiAtMjE2IC0yMDBoLTE5NXEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41bDIwMCAxNTN2LTEwM3EwIC0xNjUgLTkyLjUgLTI1Ny41dC0yNTcuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41eiBNODI0IDEwNzNsMzM5IC0zMDFxOCAtNyA4IC0xNy41dC04IC0xNy41bC0zNDAgLTMwNnEtNyAtNiAtMTIuNSAtNHQtNi41IDExdjIwM3EtMjYgMSAtNTQuNSAwdC03OC41IC03LjV0LTkyIC0xNy41dC04NiAtMzV0LTcwIC01N3ExMCA1OSAzMyAxMDh0NTEuNSA4MS41dDY1IDU4LjV0NjguNSA0MC41dDY3IDI0LjV0NTYgMTMuNXQ0MCA0LjV2MjEwcTEgMTAgNi41IDEyLjV0MTMuNSAtNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDY3OyIgZD0iTTM1MCAxMTAwaDM1MHE2MCAwIDEyNyAtMjNsLTE3OCAtMTc3aC0zNDlxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNXY2OWwyMDAgMjAwdi0yMTlxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTY0MyA2MzlsMzk1IDM5NXE3IDcgMTcuNSA3dDE3LjUgLTdsMTAxIC0xMDFxNyAtNyA3IC0xNy41dC03IC0xNy41bC01MzEgLTUzMnEtNyAtNyAtMTcuNSAtN3QtMTcuNSA3bC0yNDggMjQ4cS03IDcgLTcgMTcuNXQ3IDE3LjVsMTAxIDEwMXE3IDcgMTcuNSA3dDE3LjUgLTdsMTExIC0xMTFxOCAtNyAxOCAtN3QxOCA3eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDY4OyIgZD0iTTMxOCA5MThsMjY0IDI2NHE4IDggMTggOHQxOCAtOGwyNjAgLTI2NHE3IC04IDQuNSAtMTN0LTEyLjUgLTVoLTE3MHYtMjAwaDIwMHYxNzNxMCAxMCA1IDEydDEzIC01bDI2NCAtMjYwcTggLTcgOCAtMTcuNXQtOCAtMTcuNWwtMjY0IC0yNjVxLTggLTcgLTEzIC01dC01IDEydjE3M2gtMjAwdi0yMDBoMTcwcTEwIDAgMTIuNSAtNXQtNC41IC0xM2wtMjYwIC0yNjRxLTggLTggLTE4IC04dC0xOCA4bC0yNjQgMjY0cS04IDggLTUuNSAxMyB0MTIuNSA1aDE3NXYyMDBoLTIwMHYtMTczcTAgLTEwIC01IC0xMnQtMTMgNWwtMjY0IDI2NXEtOCA3IC04IDE3LjV0OCAxNy41bDI2NCAyNjBxOCA3IDEzIDV0NSAtMTJ2LTE3M2gyMDB2MjAwaC0xNzVxLTEwIDAgLTEyLjUgNXQ1LjUgMTN6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwNjk7IiBkPSJNMjUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di0xMDAwcTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDcwOyIgZD0iTTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di0xMDAwcTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA3MTsiIGQ9Ik0xMjAwIDEwNTB2LTEwMDBxMCAtMjEgLTEwLjUgLTI1dC0yNS41IDEwbC00NjQgNDUzdi00MzhxMCAtMjEgLTEwLjUgLTI1dC0yNS41IDEwbC00OTIgNDgwcS0xNSAxNCAtMTUgMzV0MTUgMzVsNDkyIDQ4MHExNSAxNCAyNS41IDEwdDEwLjUgLTI1di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDcyOyIgZD0iTTI0MyAxMDc0bDgxNCAtNDk4cTE4IC0xMSAxOCAtMjZ0LTE4IC0yNmwtODE0IC00OThxLTE4IC0xMSAtMzAuNSAtNHQtMTIuNSAyOHYxMDAwcTAgMjEgMTIuNSAyOHQzMC41IC00eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDczOyIgZD0iTTI1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDc0OyIgZD0iTTExMDAgOTUwdi04MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2ODAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg4MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwNzU7IiBkPSJNNTAwIDYxMnY0MzhxMCAyMSAxMC41IDI1dDI1LjUgLTEwbDQ5MiAtNDgwcTE1IC0xNCAxNSAtMzV0LTE1IC0zNWwtNDkyIC00ODBxLTE1IC0xNCAtMjUuNSAtMTB0LTEwLjUgMjV2NDM4bC00NjQgLTQ1M3EtMTUgLTE0IC0yNS41IC0xMHQtMTAuNSAyNXYxMDAwcTAgMjEgMTAuNSAyNXQyNS41IC0xMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NjsiIGQ9Ik0xMDQ4IDExMDJsMTAwIDFxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNWw1IC0xMDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41bC0xMDAgLTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41bC0yIDQzN2wtNDYzIC00NTRxLTE0IC0xNSAtMjQuNSAtMTAuNXQtMTAuNSAyNS41bC0yIDQzN2wtNDYyIC00NTVxLTE1IC0xNCAtMjUuNSAtOS41dC0xMC41IDI0LjVsLTUgMTAwMHEwIDIxIDEwLjUgMjUuNXQyNS41IC0xMC41bDQ2NiAtNDUwIGwtMiA0MzhxMCAyMCAxMC41IDI0LjV0MjUuNSAtOS41bDQ2NiAtNDUxbC0yIDQzOHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwNzc7IiBkPSJNODUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQzOGwtNDY0IC00NTNxLTE1IC0xNCAtMjUuNSAtMTB0LTEwLjUgMjV2MTAwMHEwIDIxIDEwLjUgMjV0MjUuNSAtMTBsNDY0IC00NTN2NDM4cTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA3ODsiIGQ9Ik02ODYgMTA4MWw1MDEgLTU0MHExNSAtMTUgMTAuNSAtMjZ0LTI2LjUgLTExaC0xMDQycS0yMiAwIC0yNi41IDExdDEwLjUgMjZsNTAxIDU0MHExNSAxNSAzNiAxNXQzNiAtMTV6TTE1MCA0MDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDc5OyIgZD0iTTg4NSA5MDBsLTM1MiAtMzUzbDM1MiAtMzUzbC0xOTcgLTE5OGwtNTUyIDU1Mmw1NTIgNTUweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDgwOyIgZD0iTTEwNjQgNTQ3bC01NTEgLTU1MWwtMTk4IDE5OGwzNTMgMzUzbC0zNTMgMzUzbDE5OCAxOTh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwODE7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTY1MCA5MDBoLTEwMHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMTUwaC0xNTAgcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41aDE1MHYtMTUwcTAgLTIxIDE0LjUgLTM1LjV0MzUuNSAtMTQuNWgxMDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djE1MGgxNTBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNWgtMTUwdjE1MHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA4MjsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNODUwIDcwMGgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNSB0MzUuNSAtMTQuNWg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA4MzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNzQxLjUgOTEzcS0xMi41IDAgLTIxLjUgLTlsLTEyMCAtMTIwbC0xMjAgMTIwcS05IDkgLTIxLjUgOSB0LTIxLjUgLTlsLTE0MSAtMTQxcS05IC05IC05IC0yMS41dDkgLTIxLjVsMTIwIC0xMjBsLTEyMCAtMTIwcS05IC05IC05IC0yMS41dDkgLTIxLjVsMTQxIC0xNDFxOSAtOSAyMS41IC05dDIxLjUgOWwxMjAgMTIwbDEyMCAtMTIwcTkgLTkgMjEuNSAtOXQyMS41IDlsMTQxIDE0MXE5IDkgOSAyMS41dC05IDIxLjVsLTEyMCAxMjBsMTIwIDEyMHE5IDkgOSAyMS41dC05IDIxLjVsLTE0MSAxNDFxLTkgOSAtMjEuNSA5eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDg0OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek01NDYgNjIzbC04NCA4NXEtNyA3IC0xNy41IDd0LTE4LjUgLTdsLTEzOSAtMTM5cS03IC04IC03IC0xOHQ3IC0xOCBsMjQyIC0yNDFxNyAtOCAxNy41IC04dDE3LjUgOGwzNzUgMzc1cTcgNyA3IDE3LjV0LTcgMTguNWwtMTM5IDEzOXEtNyA3IC0xNy41IDd0LTE3LjUgLTd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwODU7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTU4OCA5NDFxLTI5IDAgLTU5IC01LjV0LTYzIC0yMC41dC01OCAtMzguNXQtNDEuNSAtNjN0LTE2LjUgLTg5LjUgcTAgLTI1IDIwIC0yNWgxMzFxMzAgLTUgMzUgMTFxNiAyMCAyMC41IDI4dDQ1LjUgOHEyMCAwIDMxLjUgLTEwLjV0MTEuNSAtMjguNXEwIC0yMyAtNyAtMzR0LTI2IC0xOHEtMSAwIC0xMy41IC00dC0xOS41IC03LjV0LTIwIC0xMC41dC0yMiAtMTd0LTE4LjUgLTI0dC0xNS41IC0zNXQtOCAtNDZxLTEgLTggNS41IC0xNi41dDIwLjUgLTguNWgxNzNxNyAwIDIyIDh0MzUgMjh0MzcuNSA0OHQyOS41IDc0dDEyIDEwMHEwIDQ3IC0xNyA4MyB0LTQyLjUgNTd0LTU5LjUgMzQuNXQtNjQgMTh0LTU5IDQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NjsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjc1IDEwMDBoLTE1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjUgdDE3LjUgLTcuNWgxNTBxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXYxNTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41ek02NzUgNzAwaC0yNTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di01MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDc1di0yMDBoLTc1cS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtNTBxMCAtMTAgNy41IC0xNy41dDE3LjUgLTcuNWgzNTBxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXY1MHEwIDEwIC03LjUgMTcuNSB0LTE3LjUgNy41aC03NXYyNzVxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDg3OyIgZD0iTTUyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE5NHExMDMgLTI3IDE3OC41IC0xMDIuNXQxMDIuNSAtMTc4LjVoMTk0cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTk0cS0yNyAtMTAzIC0xMDIuNSAtMTc4LjV0LTE3OC41IC0xMDIuNXYtMTk0cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTk0IHEtMTAzIDI3IC0xNzguNSAxMDIuNXQtMTAyLjUgMTc4LjVoLTE5NHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDE5NHEyNyAxMDMgMTAyLjUgMTc4LjV0MTc4LjUgMTAyLjV2MTk0cTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTcwMCA4OTN2LTE2OHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE2OHEtNjggLTIzIC0xMTkgLTc0IHQtNzQgLTExOWgxNjhxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNjhxMjMgLTY4IDc0IC0xMTl0MTE5IC03NHYxNjhxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNjhxNjggMjMgMTE5IDc0dDc0IDExOWgtMTY4cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTY4IHEtMjMgNjggLTc0IDExOXQtMTE5IDc0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDg4OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek03NTkgODIzbDY0IC02NHE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTEyNCAtMTI0bDEyNCAtMTI0cTcgLTcgNyAtMTcuNXQtNyAtMTcuNWwtNjQgLTY0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTEyNCAxMjRsLTEyNCAtMTI0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTY0IDY0IHEtNyA3IC03IDE3LjV0NyAxNy41bDEyNCAxMjRsLTEyNCAxMjRxLTcgNyAtNyAxNy41dDcgMTcuNWw2NCA2NHE3IDcgMTcuNSA3dDE3LjUgLTdsMTI0IC0xMjRsMTI0IDEyNHE3IDcgMTcuNSA3dDE3LjUgLTd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwODk7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd0MjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV0LTU3IDIxNC41dC0xNTUuNSAxNTUuNXQtMjE0LjUgNTd6TTc4MiA3ODhsMTA2IC0xMDZxNyAtNyA3IC0xNy41dC03IC0xNy41bC0zMjAgLTMyMXEtOCAtNyAtMTggLTd0LTE4IDdsLTIwMiAyMDNxLTggNyAtOCAxNy41dDggMTcuNWwxMDYgMTA2cTcgOCAxNy41IDh0MTcuNSAtOGw3OSAtNzlsMTk3IDE5N3E3IDcgMTcuNSA3dDE3LjUgLTd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwOTA7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXEwIC0xMjAgNjUgLTIyNSBsNTg3IDU4N3EtMTA1IDY1IC0yMjUgNjV6TTk2NSA4MTlsLTU4NCAtNTg0cTEwNCAtNjIgMjE5IC02MnExMTYgMCAyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXEwIDExNSAtNjIgMjE5eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDkxOyIgZD0iTTM5IDU4Mmw1MjIgNDI3cTE2IDEzIDI3LjUgOHQxMS41IC0yNnYtMjkxaDU1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC01NTB2LTI5MXEwIC0yMSAtMTEuNSAtMjZ0LTI3LjUgOGwtNTIyIDQyN3EtMTYgMTMgLTE2IDMydDE2IDMyeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDkyOyIgZD0iTTYzOSAxMDA5bDUyMiAtNDI3cTE2IC0xMyAxNiAtMzJ0LTE2IC0zMmwtNTIyIC00MjdxLTE2IC0xMyAtMjcuNSAtOHQtMTEuNSAyNnYyOTFoLTU1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1NTB2MjkxcTAgMjEgMTEuNSAyNnQyNy41IC04eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDkzOyIgZD0iTTY4MiAxMTYxbDQyNyAtNTIycTEzIC0xNiA4IC0yNy41dC0yNiAtMTEuNWgtMjkxdi01NTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTUwaC0yOTFxLTIxIDAgLTI2IDExLjV0OCAyNy41bDQyNyA1MjJxMTMgMTYgMzIgMTZ0MzIgLTE2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDk0OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUwaDI5MXEyMSAwIDI2IC0xMS41dC04IC0yNy41bC00MjcgLTUyMnEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC00MjcgNTIycS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMjkxdjU1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwOTU7IiBkPSJNNjM5IDExMDlsNTIyIC00MjdxMTYgLTEzIDE2IC0zMnQtMTYgLTMybC01MjIgLTQyN3EtMTYgLTEzIC0yNy41IC04dC0xMS41IDI2djI5MXEtOTQgLTIgLTE4MiAtMjB0LTE3MC41IC01MnQtMTQ3IC05Mi41dC0xMDAuNSAtMTM1LjVxNSAxMDUgMjcgMTkzLjV0NjcuNSAxNjd0MTEzIDEzNXQxNjcgOTEuNXQyMjUuNSA0MnYyNjJxMCAyMSAxMS41IDI2dDI3LjUgLTh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUwOTY7IiBkPSJNODUwIDEyMDBoMzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zMDBxMCAtMjEgLTEwLjUgLTI1dC0yNC41IDEwbC05NCA5NGwtMjQ5IC0yNDlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwyNDkgMjQ5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNMzUwIDBoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMjQ5IDI0OSBxOCA3IDE4IDd0MTggLTdsMTA2IC0xMDZxNyAtOCA3IC0xOHQtNyAtMThsLTI0OSAtMjQ5bDk0IC05NHExNCAtMTQgMTAgLTI0LjV0LTI1IC0xMC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMDk3OyIgZD0iTTEwMTQgMTEyMGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMjQ5IC0yNDlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMjQ5IDI0OXE4IDcgMTggN3QxOCAtN3pNMjUwIDYwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMjQ5IC0yNDlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwyNDkgMjQ5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTEwMTsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNzA0IDkwMGgtMjA4cS0yMCAwIC0zMiAtMTQuNXQtOCAtMzQuNWw1OCAtMzAycTQgLTIwIDIxLjUgLTM0LjUgdDM3LjUgLTE0LjVoNTRxMjAgMCAzNy41IDE0LjV0MjEuNSAzNC41bDU4IDMwMnE0IDIwIC04IDM0LjV0LTMyIDE0LjV6TTY3NSA0MDBoLTE1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxMDI7IiBkPSJNMjYwIDEyMDBxOSAwIDE5IC0ydDE1IC00bDUgLTJxMjIgLTEwIDQ0IC0yM2wxOTYgLTExOHEyMSAtMTMgMzYgLTI0cTI5IC0yMSAzNyAtMTJxMTEgMTMgNDkgMzVsMTk2IDExOHEyMiAxMyA0NSAyM3ExNyA3IDM4IDdxMjMgMCA0NyAtMTYuNXQzNyAtMzMuNWwxMyAtMTZxMTQgLTIxIDE4IC00NWwyNSAtMTIzbDggLTQ0cTEgLTkgOC41IC0xNC41dDE3LjUgLTUuNWg2MXExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwIHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTc1aC00MDB2MzAwaC0yMDB2LTMwMGgtNDAwdjE3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjVoLTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg2MXExMSAwIDE4IDN0NyA4cTAgNCA5IDUybDI1IDEyOHE1IDI1IDE5IDQ1cTIgMyA1IDd0MTMuNSAxNXQyMS41IDE5LjV0MjYuNSAxNS41IHQyOS41IDd6TTkxNSAxMDc5bC0xNjYgLTE2MnEtNyAtNyAtNSAtMTJ0MTIgLTVoMjE5cTEwIDAgMTUgN3QyIDE3bC01MSAxNDlxLTMgMTAgLTExIDEydC0xNSAtNnpNNDYzIDkxN2wtMTc3IDE1N3EtOCA3IC0xNiA1dC0xMSAtMTJsLTUxIC0xNDNxLTMgLTEwIDIgLTE3dDE1IC03aDIzMXExMSAwIDEyLjUgNXQtNS41IDEyek01MDAgMGgtMzc1cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2Mzc1aDQwMHYtNDAwek0xMTAwIDQwMHYtMzc1IHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTM3NXY0MDBoNDAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTAzOyIgZD0iTTExNjUgMTE5MHE4IDMgMjEgLTYuNXQxMyAtMTcuNXEtMiAtMTc4IC0yNC41IC0zMjMuNXQtNTUuNSAtMjQ1LjV0LTg3IC0xNzQuNXQtMTAyLjUgLTExOC41dC0xMTggLTY4LjV0LTExOC41IC0zM3QtMTIwIC00LjV0LTEwNSA5LjV0LTkwIDE2LjVxLTYxIDEyIC03OCAxMXEtNCAxIC0xMi41IDB0LTM0IC0xNC41dC01Mi41IC00MC41bC0xNTMgLTE1M3EtMjYgLTI0IC0zNyAtMTQuNXQtMTEgNDMuNXEwIDY0IDQyIDEwMnE4IDggNTAuNSA0NSB0NjYuNSA1OHExOSAxNyAzNSA0N3QxMyA2MXEtOSA1NSAtMTAgMTAyLjV0NyAxMTF0MzcgMTMwdDc4IDEyOS41cTM5IDUxIDgwIDg4dDg5LjUgNjMuNXQ5NC41IDQ1dDExMy41IDM2dDEyOSAzMXQxNTcuNSAzN3QxODIgNDcuNXpNMTExNiAxMDk4cS04IDkgLTIyLjUgLTN0LTQ1LjUgLTUwcS0zOCAtNDcgLTExOSAtMTAzLjV0LTE0MiAtODkuNWwtNjIgLTMzcS01NiAtMzAgLTEwMiAtNTd0LTEwNCAtNjh0LTEwMi41IC04MC41dC04NS41IC05MSB0LTY0IC0xMDQuNXEtMjQgLTU2IC0zMSAtODZ0MiAtMzJ0MzEuNSAxNy41dDU1LjUgNTkuNXEyNSAzMCA5NCA3NS41dDEyNS41IDc3LjV0MTQ3LjUgODFxNzAgMzcgMTE4LjUgNjl0MTAyIDc5LjV0OTkgMTExdDg2LjUgMTQ4LjVxMjIgNTAgMjQgNjB0LTYgMTl6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxMDQ7IiBkPSJNNjUzIDEyMzFxLTM5IC02NyAtNTQuNSAtMTMxdC0xMC41IC0xMTQuNXQyNC41IC05Ni41dDQ3LjUgLTgwdDYzLjUgLTYyLjV0NjguNSAtNDYuNXQ2NSAtMzBxLTQgNyAtMTcuNSAzNXQtMTguNSAzOS41dC0xNyAzOS41dC0xNyA0M3QtMTMgNDJ0LTkuNSA0NC41dC0yIDQydDQgNDN0MTMuNSAzOXQyMyAzOC41cTk2IC00MiAxNjUgLTEwNy41dDEwNSAtMTM4dDUyIC0xNTZ0MTMgLTE1OXQtMTkgLTE0OS41cS0xMyAtNTUgLTQ0IC0xMDYuNSB0LTY4IC04N3QtNzguNSAtNjQuNXQtNzIuNSAtNDV0LTUzIC0yMnEtNzIgLTIyIC0xMjcgLTExcS0zMSA2IC0xMyAxOXE2IDMgMTcgN3ExMyA1IDMyLjUgMjF0NDEgNDR0MzguNSA2My41dDIxLjUgODEuNXQtNi41IDk0LjV0LTUwIDEwN3QtMTA0IDExNS41cTEwIC0xMDQgLTAuNSAtMTg5dC0zNyAtMTQwLjV0LTY1IC05M3QtODQgLTUydC05My41IC0xMXQtOTUgMjQuNXEtODAgMzYgLTEzMS41IDExNHQtNTMuNSAxNzFxLTIgMjMgMCA0OS41IHQ0LjUgNTIuNXQxMy41IDU2dDI3LjUgNjB0NDYgNjQuNXQ2OS41IDY4LjVxLTggLTUzIC01IC0xMDIuNXQxNy41IC05MHQzNCAtNjguNXQ0NC41IC0zOXQ0OSAtMnEzMSAxMyAzOC41IDM2dC00LjUgNTV0LTI5IDY0LjV0LTM2IDc1dC0yNiA3NS41cS0xNSA4NSAyIDE2MS41dDUzLjUgMTI4LjV0ODUuNSA5Mi41dDkzLjUgNjF0ODEuNSAyNS41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTA1OyIgZD0iTTYwMCAxMDk0cTgyIDAgMTYwLjUgLTIyLjV0MTQwIC01OXQxMTYuNSAtODIuNXQ5NC41IC05NXQ2OCAtOTV0NDIuNSAtODIuNXQxNCAtNTcuNXQtMTQgLTU3LjV0LTQzIC04Mi41dC02OC41IC05NXQtOTQuNSAtOTV0LTExNi41IC04Mi41dC0xNDAgLTU5dC0xNTkuNSAtMjIuNXQtMTU5LjUgMjIuNXQtMTQwIDU5dC0xMTYuNSA4Mi41dC05NC41IDk1dC02OC41IDk1dC00MyA4Mi41dC0xNCA1Ny41dDE0IDU3LjV0NDIuNSA4Mi41dDY4IDk1IHQ5NC41IDk1dDExNi41IDgyLjV0MTQwIDU5dDE2MC41IDIyLjV6TTg4OCA4MjlxLTE1IDE1IC0xOCAxMnQ1IC0yMnEyNSAtNTcgMjUgLTExOXEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODh0LTIxMiA4OHQtODggMjEycTAgNTkgMjMgMTE0cTggMTkgNC41IDIydC0xNy41IC0xMnEtNzAgLTY5IC0xNjAgLTE4NHEtMTMgLTE2IC0xNSAtNDAuNXQ5IC00Mi41cTIyIC0zNiA0NyAtNzF0NzAgLTgydDkyLjUgLTgxdDExMyAtNTguNXQxMzMuNSAtMjQuNSB0MTMzLjUgMjR0MTEzIDU4LjV0OTIuNSA4MS41dDcwIDgxLjV0NDcgNzAuNXExMSAxOCA5IDQyLjV0LTE0IDQxLjVxLTkwIDExNyAtMTYzIDE4OXpNNDQ4IDcyN2wtMzUgLTM2cS0xNSAtMTUgLTE5LjUgLTM4LjV0NC41IC00MS41cTM3IC02OCA5MyAtMTE2cTE2IC0xMyAzOC41IC0xMXQzNi41IDE3bDM1IDM0cTE0IDE1IDEyLjUgMzMuNXQtMTYuNSAzMy41cS00NCA0NCAtODkgMTE3cS0xMSAxOCAtMjggMjB0LTMyIC0xMnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNjsiIGQ9Ik01OTIgMGgtMTQ4bDMxIDEyMHEtOTEgMjAgLTE3NS41IDY4LjV0LTE0My41IDEwNi41dC0xMDMuNSAxMTl0LTY2LjUgMTEwdC0yMiA3NnEwIDIxIDE0IDU3LjV0NDIuNSA4Mi41dDY4IDk1dDk0LjUgOTV0MTE2LjUgODIuNXQxNDAgNTl0MTYwLjUgMjIuNXE2MSAwIDEyNiAtMTVsMzIgMTIxaDE0OHpNOTQ0IDc3MGw0NyAxODFxMTA4IC04NSAxNzYuNSAtMTkydDY4LjUgLTE1OXEwIC0yNiAtMTkuNSAtNzF0LTU5LjUgLTEwMnQtOTMgLTExMiB0LTEyOSAtMTA0LjV0LTE1OCAtNzUuNWw0NiAxNzNxNzcgNDkgMTM2IDExN3Q5NyAxMzFxMTEgMTggOSA0Mi41dC0xNCA0MS41cS01NCA3MCAtMTA3IDEzMHpNMzEwIDgyNHEtNzAgLTY5IC0xNjAgLTE4NHEtMTMgLTE2IC0xNSAtNDAuNXQ5IC00Mi41cTE4IC0zMCAzOSAtNjB0NTcgLTcwLjV0NzQgLTczdDkwIC02MXQxMDUgLTQxLjVsNDEgMTU0cS0xMDcgMTggLTE3OC41IDEwMS41dC03MS41IDE5My41cTAgNTkgMjMgMTE0cTggMTkgNC41IDIyIHQtMTcuNSAtMTJ6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wxMiAxMWwyMiA4NmwtMyA0cS00NCA0NCAtODkgMTE3cS0xMSAxOCAtMjggMjB0LTMyIC0xMnoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNzsiIGQ9Ik0tOTAgMTAwbDY0MiAxMDY2cTIwIDMxIDQ4IDI4LjV0NDggLTM1LjVsNjQyIC0xMDU2cTIxIC0zMiA3LjUgLTY3LjV0LTUwLjUgLTM1LjVoLTEyOTRxLTM3IDAgLTUwLjUgMzR0Ny41IDY2ek0xNTUgMjAwaDM0NXY3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTc1aDM0NWwtNDQ1IDcyM3pNNDk2IDcwMGgyMDhxMjAgMCAzMiAtMTQuNXQ4IC0zNC41bC01OCAtMjUyIHEtNCAtMjAgLTIxLjUgLTM0LjV0LTM3LjUgLTE0LjVoLTU0cS0yMCAwIC0zNy41IDE0LjV0LTIxLjUgMzQuNWwtNTggMjUycS00IDIwIDggMzQuNXQzMiAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTA4OyIgZD0iTTY1MCAxMjAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2di0zMzlsMzYzIC0zMjVxMTUgLTE0IDI2IC0zOC41dDExIC00NC41di00MXEwIC0yMCAtMTIgLTI2LjV0LTI5IDUuNWwtMzU5IDI0OXYtMjYzcTEwMCAtOTMgMTAwIC0xMTN2LTY0cTAgLTIxIC0xMyAtMjl0LTMyIDFsLTIwNSAxMjhsLTIwNSAtMTI4cS0xOSAtOSAtMzIgLTF0LTEzIDI5djY0cTAgMjAgMTAwIDExM3YyNjNsLTM1OSAtMjQ5cS0xNyAtMTIgLTI5IC01LjV0LTEyIDI2LjV2NDEgcTAgMjAgMTEgNDQuNXQyNiAzOC41bDM2MyAzMjV2MzM5cTAgNjIgNDQgMTA2dDEwNiA0NHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTEwOTsiIGQ9Ik04NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTExMDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMTAwIDgwMHYtNzUwcTAgLTIxIC0xNC41IC0zNS41IHQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NzUwaDExMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTcwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTkwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA0MDAgdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek0xMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek0zMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek01MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTEwOyIgZD0iTTExMzUgMTE2NWwyNDkgLTIzMHExNSAtMTQgMTUgLTM1dC0xNSAtMzVsLTI0OSAtMjMwcS0xNCAtMTQgLTI0LjUgLTEwdC0xMC41IDI1djE1MGgtMTU5bC02MDAgLTYwMGgtMjkxcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDIwOWw2MDAgNjAwaDI0MXYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEwek01MjIgODE5bC0xNDEgLTE0MWwtMTIyIDEyMmgtMjA5cS0yMSAwIC0zNS41IDE0LjUgdC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgyOTF6TTExMzUgNTY1bDI0OSAtMjMwcTE1IC0xNCAxNSAtMzV0LTE1IC0zNWwtMjQ5IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC0yNDFsLTE4MSAxODFsMTQxIDE0MWwxMjIgLTEyMmgxNTl2MTUwcTAgMjEgMTAuNSAyNXQyNC41IC0xMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTExMTsiIGQ9Ik0xMDAgMTEwMGgxMDAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di02MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTU5NmwtMzA0IC0zMDB2MzAwaC0xMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djYwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxMTI7IiBkPSJNMTUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTMwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMzAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTExMDAgODAwdi0zMDBxMCAtNDEgLTMgLTc3LjV0LTE1IC04OS41dC0zMiAtOTZ0LTU4IC04OXQtODkgLTc3dC0xMjkgLTUxdC0xNzQgLTIwdC0xNzQgMjAgdC0xMjkgNTF0LTg5IDc3dC01OCA4OXQtMzIgOTZ0LTE1IDg5LjV0LTMgNzcuNXYzMDBoMzAwdi0yNTB2LTI3di00Mi41dDEuNSAtNDF0NSAtMzh0MTAgLTM1dDE2LjUgLTMwdDI1LjUgLTI0LjV0MzUgLTE5dDQ2LjUgLTEydDYwIC00dDYwIDQuNXQ0Ni41IDEyLjV0MzUgMTkuNXQyNSAyNS41dDE3IDMwLjV0MTAgMzV0NSAzOHQyIDQwLjV0LTAuNSA0MnYyNXYyNTBoMzAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTEzOyIgZD0iTTExMDAgNDExbC0xOTggLTE5OWwtMzUzIDM1M2wtMzUzIC0zNTNsLTE5NyAxOTlsNTUxIDU1MXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTExNDsiIGQ9Ik0xMTAxIDc4OWwtNTUwIC01NTFsLTU1MSA1NTFsMTk4IDE5OWwzNTMgLTM1M2wzNTMgMzUzeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTE1OyIgZD0iTTQwNCAxMDAwaDc0NnEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUxaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtMjMwIC0yNDlxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI0OXEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNWgxNTB2NDAxaC0zODF6TTEzNSA5ODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi00MDBoMzg1bDIxNSAtMjAwaC03NTBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXY1NTBoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTE2OyIgZD0iTTU2IDEyMDBoOTRxMTcgMCAzMSAtMTF0MTggLTI3bDM4IC0xNjJoODk2cTI0IDAgMzkgLTE4LjV0MTAgLTQyLjVsLTEwMCAtNDc1cS01IC0yMSAtMjcgLTQyLjV0LTU1IC0yMS41aC02MzNsNDggLTIwMGg1MzVxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTUwdi01MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUuNSAxNC41dC0xNC41IDM1LjV2NTBoLTMwMHYtNTAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41dC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MGgtMzFxLTE4IDAgLTMyLjUgMTB0LTIwLjUgMTlsLTUgMTBsLTIwMSA5NjFoLTU0cS0yMCAwIC0zNSAxNC41dC0xNSAzNS41dDE1IDM1LjV0MzUgMTQuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTExNzsiIGQ9Ik0xMjAwIDEwMDB2LTEwMGgtMTIwMHYxMDBoMjAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNWgzMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjVoNTAwek0wIDgwMGgxMjAwdi04MDBoLTEyMDB2ODAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTE4OyIgZD0iTTIwMCA4MDBsLTIwMCAtNDAwdjYwMGgyMDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41aDMwMHE0MiAwIDcxIC0yOS41dDI5IC03MC41aDUwMHYtMjAwaC0xMDAwek0xNTAwIDcwMGwtMzAwIC03MDBoLTEyMDBsMzAwIDcwMGgxMjAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTE5OyIgZD0iTTYzNSAxMTg0bDIzMCAtMjQ5cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTE1MHYtNjAxaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtMjMwIC0yNDlxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI0OXEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNWgxNTB2NjAxaC0xNTBxLTIxIDAgLTI1IDEwLjV0MTAgMjQuNWwyMzAgMjQ5cTE0IDE1IDM1IDE1dDM1IC0xNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMDsiIGQ9Ik05MzYgODY0bDI0OSAtMjI5cTE0IC0xNSAxNCAtMzUuNXQtMTQgLTM1LjVsLTI0OSAtMjI5cS0xNSAtMTUgLTI1LjUgLTEwLjV0LTEwLjUgMjQuNXYxNTFoLTYwMHYtMTUxcTAgLTIwIC0xMC41IC0yNC41dC0yNS41IDEwLjVsLTI0OSAyMjlxLTE0IDE1IC0xNCAzNS41dDE0IDM1LjVsMjQ5IDIyOXExNSAxNSAyNS41IDEwLjV0MTAuNSAtMjUuNXYtMTQ5aDYwMHYxNDlxMCAyMSAxMC41IDI1LjV0MjUuNSAtMTAuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMTsiIGQ9Ik0xMTY5IDQwMGwtMTcyIDczMnEtNSAyMyAtMjMgNDUuNXQtMzggMjIuNWgtNjcycS0yMCAwIC0zOCAtMjB0LTIzIC00MWwtMTcyIC03MzloMTEzOHpNMTEwMCAzMDBoLTEwMDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTEwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoMTAwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek04MDAgMTAwdjEwMGgxMDB2LTEwMGgtMTAwIHpNMTAwMCAxMDB2MTAwaDEwMHYtMTAwaC0xMDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxMjI7IiBkPSJNMTE1MCAxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di04NTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djg1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTEwMDAgMjAwbC02NzUgMjAwaC0zOGw0NyAtMjc2cTMgLTE2IC01LjUgLTIwdC0yOS41IC00aC03aC04NHEtMjAgMCAtMzQuNSAxNHQtMTguNSAzNXEtNTUgMzM3IC01NSAzNTF2MjUwdjZxMCAxNiAxIDIzLjV0Ni41IDE0IHQxNy41IDYuNWgyMDBsNjc1IDI1MHYtODUwek0wIDc1MHYtMjUwcS00IDAgLTExIDAuNXQtMjQgNnQtMzAgMTV0LTI0IDMwdC0xMSA0OC41djUwcTAgMjYgMTAuNSA0NnQyNSAzMHQyOSAxNnQyNS41IDd6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxMjM7IiBkPSJNNTUzIDEyMDBoOTRxMjAgMCAyOSAtMTAuNXQzIC0yOS41bC0xOCAtMzdxODMgLTE5IDE0NCAtODIuNXQ3NiAtMTQwLjVsNjMgLTMyN2wxMTggLTE3M2gxN3ExOSAwIDMzIC0xNC41dDE0IC0zNXQtMTMgLTQwLjV0LTMxIC0yN3EtOCAtNCAtMjMgLTkuNXQtNjUgLTE5LjV0LTEwMyAtMjV0LTEzMi41IC0yMHQtMTU4LjUgLTlxLTU3IDAgLTExNSA1dC0xMDQgMTJ0LTg4LjUgMTUuNXQtNzMuNSAxNy41dC01NC41IDE2dC0zNS41IDEybC0xMSA0IHEtMTggOCAtMzEgMjh0LTEzIDQwLjV0MTQgMzV0MzMgMTQuNWgxN2wxMTggMTczbDYzIDMyN3ExNSA3NyA3NiAxNDB0MTQ0IDgzbC0xOCAzMnEtNiAxOSAzLjUgMzJ0MjguNSAxM3pNNDk4IDExMHE1MCAtNiAxMDIgLTZxNTMgMCAxMDIgNnEtMTIgLTQ5IC0zOS41IC03OS41dC02Mi41IC0zMC41dC02MyAzMC41dC0zOSA3OS41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTI0OyIgZD0iTTgwMCA5NDZsMjI0IDc4bC03OCAtMjI0bDIzNCAtNDVsLTE4MCAtMTU1bDE4MCAtMTU1bC0yMzQgLTQ1bDc4IC0yMjRsLTIyNCA3OGwtNDUgLTIzNGwtMTU1IDE4MGwtMTU1IC0xODBsLTQ1IDIzNGwtMjI0IC03OGw3OCAyMjRsLTIzNCA0NWwxODAgMTU1bC0xODAgMTU1bDIzNCA0NWwtNzggMjI0bDIyNCAtNzhsNDUgMjM0bDE1NSAtMTgwbDE1NSAxODB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxMjU7IiBkPSJNNjUwIDEyMDBoNTBxNDAgMCA3MCAtNDAuNXQzMCAtODQuNXYtMTUwbC0yOCAtMTI1aDMyOHE0MCAwIDcwIC00MC41dDMwIC04NC41di0xMDBxMCAtNDUgLTI5IC03NGwtMjM4IC0zNDRxLTE2IC0yNCAtMzggLTQwLjV0LTQ1IC0xNi41aC0yNTBxLTcgMCAtNDIgMjV0LTY2IDUwbC0zMSAyNWgtNjFxLTQ1IDAgLTcyLjUgMTh0LTI3LjUgNTd2NDAwcTAgMzYgMjAgNjNsMTQ1IDE5Nmw5NiAxOThxMTMgMjggMzcuNSA0OHQ1MS41IDIweiBNNjUwIDExMDBsLTEwMCAtMjEybC0xNTAgLTIxM3YtMzc1aDEwMGwxMzYgLTEwMGgyMTRsMjUwIDM3NXYxMjVoLTQ1MGw1MCAyMjV2MTc1aC01MHpNNTAgODAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxMjY7IiBkPSJNNjAwIDExMDBoMjUwcTIzIDAgNDUgLTE2LjV0MzggLTQwLjVsMjM4IC0zNDRxMjkgLTI5IDI5IC03NHYtMTAwcTAgLTQ0IC0zMCAtODQuNXQtNzAgLTQwLjVoLTMyOHEyOCAtMTE4IDI4IC0xMjV2LTE1MHEwIC00NCAtMzAgLTg0LjV0LTcwIC00MC41aC01MHEtMjcgMCAtNTEuNSAyMHQtMzcuNSA0OGwtOTYgMTk4bC0xNDUgMTk2cS0yMCAyNyAtMjAgNjN2NDAwcTAgMzkgMjcuNSA1N3Q3Mi41IDE4aDYxcTEyNCAxMDAgMTM5IDEwMHogTTUwIDEwMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjM2IDEwMDBsLTEzNiAtMTAwaC0xMDB2LTM3NWwxNTAgLTIxM2wxMDAgLTIxMmg1MHYxNzVsLTUwIDIyNWg0NTB2MTI1bC0yNTAgMzc1aC0yMTR6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxMjc7IiBkPSJNMzU2IDg3M2wzNjMgMjMwcTMxIDE2IDUzIC02bDExMCAtMTEycTEzIC0xMyAxMy41IC0zMnQtMTEuNSAtMzRsLTg0IC0xMjFoMzAycTg0IDAgMTM4IC0zOHQ1NCAtMTEwdC01NSAtMTExdC0xMzkgLTM5aC0xMDZsLTEzMSAtMzM5cS02IC0yMSAtMTkuNSAtNDF0LTI4LjUgLTIwaC0zNDJxLTcgMCAtOTAgODF0LTgzIDk0djUyNXEwIDE3IDE0IDM1LjV0MjggMjguNXpNNDAwIDc5MnYtNTAzbDEwMCAtODloMjkzbDEzMSAzMzkgcTYgMjEgMTkuNSA0MXQyOC41IDIwaDIwM3EyMSAwIDMwLjUgMjV0MC41IDUwdC0zMSAyNWgtNDU2aC03aC02aC01LjV0LTYgMC41dC01IDEuNXQtNSAydC00IDIuNXQtNCA0dC0yLjUgNC41cS0xMiAyNSA1IDQ3bDE0NiAxODNsLTg2IDgzek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxMjg7IiBkPSJNNDc1IDExMDNsMzY2IC0yMzBxMiAtMSA2IC0zLjV0MTQgLTEwLjV0MTggLTE2LjV0MTQuNSAtMjB0Ni41IC0yMi41di01MjVxMCAtMTMgLTg2IC05NHQtOTMgLTgxaC0zNDJxLTE1IDAgLTI4LjUgMjB0LTE5LjUgNDFsLTEzMSAzMzloLTEwNnEtODUgMCAtMTM5LjUgMzl0LTU0LjUgMTExdDU0IDExMHQxMzggMzhoMzAybC04NSAxMjFxLTExIDE1IC0xMC41IDM0dDEzLjUgMzJsMTEwIDExMnEyMiAyMiA1MyA2ek0zNzAgOTQ1bDE0NiAtMTgzIHExNyAtMjIgNSAtNDdxLTIgLTIgLTMuNSAtNC41dC00IC00dC00IC0yLjV0LTUgLTJ0LTUgLTEuNXQtNiAtMC41aC02aC02LjVoLTZoLTQ3NXYtMTAwaDIyMXExNSAwIDI5IC0yMHQyMCAtNDFsMTMwIC0zMzloMjk0bDEwNiA4OXY1MDNsLTM0MiAyMzZ6TTEwNTAgODAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41IHY1MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTI5OyIgZD0iTTU1MCAxMjk0cTcyIDAgMTExIC01NXQzOSAtMTM5di0xMDZsMzM5IC0xMzFxMjEgLTYgNDEgLTE5LjV0MjAgLTI4LjV2LTM0MnEwIC03IC04MSAtOTB0LTk0IC04M2gtNTI1cS0xNyAwIC0zNS41IDE0dC0yOC41IDI4bC05IDE0bC0yMzAgMzYzcS0xNiAzMSA2IDUzbDExMiAxMTBxMTMgMTMgMzIgMTMuNXQzNCAtMTEuNWwxMjEgLTg0djMwMnEwIDg0IDM4IDEzOHQxMTAgNTR6TTYwMCA5NzJ2MjAzcTAgMjEgLTI1IDMwLjV0LTUwIDAuNSB0LTI1IC0zMXYtNDU2di03di02di01LjV0LTAuNSAtNnQtMS41IC01dC0yIC01dC0yLjUgLTR0LTQgLTR0LTQuNSAtMi41cS0yNSAtMTIgLTQ3IDVsLTE4MyAxNDZsLTgzIC04NmwyMzYgLTMzOWg1MDNsODkgMTAwdjI5M2wtMzM5IDEzMXEtMjEgNiAtNDEgMTkuNXQtMjAgMjguNXpNNDUwIDIwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMDsiIGQ9Ik0zNTAgMTEwMGg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNWgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41ek02MDAgMzA2di0xMDZxMCAtODQgLTM5IC0xMzl0LTExMSAtNTV0LTExMCA1NHQtMzggMTM4djMwMmwtMTIxIC04NHEtMTUgLTEyIC0zNCAtMTEuNXQtMzIgMTMuNWwtMTEyIDExMCBxLTIyIDIyIC02IDUzbDIzMCAzNjNxMSAyIDMuNSA2dDEwLjUgMTMuNXQxNi41IDE3dDIwIDEzLjV0MjIuNSA2aDUyNXExMyAwIDk0IC04M3Q4MSAtOTB2LTM0MnEwIC0xNSAtMjAgLTI4LjV0LTQxIC0xOS41ek0zMDggOTAwbC0yMzYgLTMzOWw4MyAtODZsMTgzIDE0NnEyMiAxNyA0NyA1cTIgLTEgNC41IC0yLjV0NCAtNHQyLjUgLTR0MiAtNXQxLjUgLTV0MC41IC02di01LjV2LTZ2LTd2LTQ1NnEwIC0yMiAyNSAtMzF0NTAgMC41dDI1IDMwLjUgdjIwM3EwIDE1IDIwIDI4LjV0NDEgMTkuNWwzMzkgMTMxdjI5M2wtODkgMTAwaC01MDN6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxMzE7IiBkPSJNNjAwIDExNzhxMTE4IDAgMjI1IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjV0LTQ1LjUgLTIyNXQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI1IC00NS41dC0yMjUgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI1dDQ1LjUgMjI1dDEyMyAxODQuNXQxODQuNSAxMjN0MjI1IDQ1LjV6TTkxNCA2MzJsLTI3NSAyMjNxLTE2IDEzIC0yNy41IDh0LTExLjUgLTI2di0xMzdoLTI3NSBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0xNTBxMCAtMTAgNy41IC0xNy41dDE3LjUgLTcuNWgyNzV2LTEzN3EwIC0yMSAxMS41IC0yNnQyNy41IDhsMjc1IDIyM3ExNiAxMyAxNiAzMnQtMTYgMzJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxMzI7IiBkPSJNNjAwIDExNzhxMTE4IDAgMjI1IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjV0LTQ1LjUgLTIyNXQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI1IC00NS41dC0yMjUgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI1dDQ1LjUgMjI1dDEyMyAxODQuNXQxODQuNSAxMjN0MjI1IDQ1LjV6TTU2MSA4NTVsLTI3NSAtMjIzcS0xNiAtMTMgLTE2IC0zMnQxNiAtMzJsMjc1IC0yMjNxMTYgLTEzIDI3LjUgLTggdDExLjUgMjZ2MTM3aDI3NXExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjVoLTI3NXYxMzdxMCAyMSAtMTEuNSAyNnQtMjcuNSAtOHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMzsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNODU1IDYzOWwtMjIzIDI3NXEtMTMgMTYgLTMyIDE2dC0zMiAtMTZsLTIyMyAtMjc1cS0xMyAtMTYgLTggLTI3LjUgdDI2IC0xMS41aDEzN3YtMjc1cTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2Mjc1aDEzN3EyMSAwIDI2IDExLjV0LTggMjcuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTEzNDsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNNjc1IDkwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMjc1aC0xMzdxLTIxIDAgLTI2IC0xMS41IHQ4IC0yNy41bDIyMyAtMjc1cTEzIC0xNiAzMiAtMTZ0MzIgMTZsMjIzIDI3NXExMyAxNiA4IDI3LjV0LTI2IDExLjVoLTEzN3YyNzVxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTM1OyIgZD0iTTYwMCAxMTc2cTExNiAwIDIyMi41IC00NnQxODQgLTEyMy41dDEyMy41IC0xODR0NDYgLTIyMi41dC00NiAtMjIyLjV0LTEyMy41IC0xODR0LTE4NCAtMTIzLjV0LTIyMi41IC00NnQtMjIyLjUgNDZ0LTE4NCAxMjMuNXQtMTIzLjUgMTg0dC00NiAyMjIuNXQ0NiAyMjIuNXQxMjMuNSAxODR0MTg0IDEyMy41dDIyMi41IDQ2ek02MjcgMTEwMXEtMTUgLTEyIC0zNi41IC0yMC41dC0zNS41IC0xMnQtNDMgLTh0LTM5IC02LjUgcS0xNSAtMyAtNDUuNSAwdC00NS41IC0ycS0yMCAtNyAtNTEuNSAtMjYuNXQtMzQuNSAtMzQuNXEtMyAtMTEgNi41IC0yMi41dDguNSAtMTguNXEtMyAtMzQgLTI3LjUgLTkxdC0yOS41IC03OXEtOSAtMzQgNSAtOTN0OCAtODdxMCAtOSAxNyAtNDQuNXQxNiAtNTkuNXExMiAwIDIzIC01dDIzLjUgLTE1dDE5LjUgLTE0cTE2IC04IDMzIC0xNXQ0MC41IC0xNXQzNC41IC0xMnEyMSAtOSA1Mi41IC0zMnQ2MCAtMzh0NTcuNSAtMTEgcTcgLTE1IC0zIC0zNHQtMjIuNSAtNDB0LTkuNSAtMzhxMTMgLTIxIDIzIC0zNC41dDI3LjUgLTI3LjV0MzYuNSAtMThxMCAtNyAtMy41IC0xNnQtMy41IC0xNHQ1IC0xN3ExMDQgLTIgMjIxIDExMnEzMCAyOSA0Ni41IDQ3dDM0LjUgNDl0MjEgNjNxLTEzIDggLTM3IDguNXQtMzYgNy41cS0xNSA3IC00OS41IDE1dC01MS41IDE5cS0xOCAwIC00MSAtMC41dC00MyAtMS41dC00MiAtNi41dC0zOCAtMTYuNXEtNTEgLTM1IC02NiAtMTIgcS00IDEgLTMuNSAyNS41dDAuNSAyNS41cS02IDEzIC0yNi41IDE3LjV0LTI0LjUgNi41cTEgMTUgLTAuNSAzMC41dC03IDI4dC0xOC41IDExLjV0LTMxIC0yMXEtMjMgLTI1IC00MiA0cS0xOSAyOCAtOCA1OHE2IDE2IDIyIDIycTYgLTEgMjYgLTEuNXQzMy41IC00dDE5LjUgLTEzLjVxNyAtMTIgMTggLTI0dDIxLjUgLTIwLjV0MjAgLTE1dDE1LjUgLTEwLjVsNSAtM3EyIDEyIDcuNSAzMC41dDggMzQuNXQtMC41IDMycS0zIDE4IDMuNSAyOSB0MTggMjIuNXQxNS41IDI0LjVxNiAxNCAxMC41IDM1dDggMzF0MTUuNSAyMi41dDM0IDIyLjVxLTYgMTggMTAgMzZxOCAwIDI0IC0xLjV0MjQuNSAtMS41dDIwIDQuNXQyMC41IDE1LjVxLTEwIDIzIC0zMSA0Mi41dC0zNy41IDI5LjV0LTQ5IDI3dC00My41IDIzcTAgMSAyIDh0MyAxMS41dDEuNSAxMC41dC0xIDkuNXQtNC41IDQuNXEzMSAtMTMgNTguNSAtMTQuNXQzOC41IDIuNWwxMiA1cTUgMjggLTkuNSA0NnQtMzYuNSAyNHQtNTAgMTUgdC00MSAyMHEtMTggLTQgLTM3IDB6TTYxMyA5OTRxMCAtMTcgOCAtNDJ0MTcgLTQ1dDkgLTIzcS04IDEgLTM5LjUgNS41dC01Mi41IDEwdC0zNyAxNi41cTMgMTEgMTYgMjkuNXQxNiAyNS41cTEwIC0xMCAxOSAtMTB0MTQgNnQxMy41IDE0LjV0MTYuNSAxMi41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTM2OyIgZD0iTTc1NiAxMTU3cTE2NCA5MiAzMDYgLTlsLTI1OSAtMTM4bDE0NSAtMjMybDI1MSAxMjZxNiAtODkgLTM0IC0xNTYuNXQtMTE3IC0xMTAuNXEtNjAgLTM0IC0xMjcgLTM5LjV0LTEyNiAxNi41bC01OTYgLTU5NnEtMTUgLTE2IC0zNi41IC0xNnQtMzYuNSAxNmwtMTExIDExMHEtMTUgMTUgLTE1IDM2LjV0MTUgMzcuNWw2MDAgNTk5cS0zNCAxMDEgNS41IDIwMS41dDEzNS41IDE1NC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTM3OyIgaG9yaXotYWR2LXg9IjEyMjAiIGQ9Ik0xMDAgMTE5NmgxMDAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di0xMDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTEwMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTExMDAgMTA5NmgtMjAwdi0xMDBoMjAwdjEwMHpNMTAwIDc5NmgxMDAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di0xMDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTEwMDAgcS00MSAwIC03MC41IDI5LjV0LTI5LjUgNzAuNXYxMDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41ek0xMTAwIDY5NmgtNTAwdi0xMDBoNTAwdjEwMHpNMTAwIDM5NmgxMDAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di0xMDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTEwMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTExMDAgMjk2aC0zMDB2LTEwMGgzMDB2MTAweiAiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTEzODsiIGQ9Ik0xNTAgMTIwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNXpNNzAwIDUwMHYtMzAwbC0yMDAgLTIwMHY1MDBsLTM1MCA1MDBoOTAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTM5OyIgZD0iTTUwMCAxMjAwaDIwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtMTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNDAwaC01MDB2MTAwaC0yMDB2LTEwMGgtNTAwdjQwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwdjEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTUwMCAxMTAwdi0xMDBoMjAwdjEwMGgtMjAwek0xMjAwIDQwMHYtMjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0xMDAwIHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MjAwaDEyMDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNDA7IiBkPSJNNTAgMTIwMGgzMDBxMjEgMCAyNSAtMTAuNXQtMTAgLTI0LjVsLTk0IC05NGwxOTkgLTE5OXE3IC04IDcgLTE4dC03IC0xOGwtMTA2IC0xMDZxLTggLTcgLTE4IC03dC0xOCA3bC0xOTkgMTk5bC05NCAtOTRxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MzAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODUwIDEyMDBoMzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zMDBxMCAtMjEgLTEwLjUgLTI1dC0yNC41IDEwbC05NCA5NCBsLTE5OSAtMTk5cS04IC03IC0xOCAtN3QtMTggN2wtMTA2IDEwNnEtNyA4IC03IDE4dDcgMThsMTk5IDE5OWwtOTQgOTRxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjV6TTM2NCA0NzBsMTA2IC0xMDZxNyAtOCA3IC0xOHQtNyAtMThsLTE5OSAtMTk5bDk0IC05NHExNCAtMTQgMTAgLTI0LjV0LTI1IC0xMC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djMwMHEwIDIxIDEwLjUgMjV0MjQuNSAtMTBsOTQgLTk0bDE5OSAxOTkgcTggNyAxOCA3dDE4IC03ek0xMDcxIDI3MWw5NCA5NHExNCAxNCAyNC41IDEwdDEwLjUgLTI1di0zMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTMwMHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDk0IDk0bC0xOTkgMTk5cS03IDggLTcgMTh0NyAxOGwxMDYgMTA2cTggNyAxOCA3dDE4IC03eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTQxOyIgZD0iTTU5NiAxMTkycTEyMSAwIDIzMS41IC00Ny41dDE5MCAtMTI3dDEyNyAtMTkwdDQ3LjUgLTIzMS41dC00Ny41IC0yMzEuNXQtMTI3IC0xOTAuNXQtMTkwIC0xMjd0LTIzMS41IC00N3QtMjMxLjUgNDd0LTE5MC41IDEyN3QtMTI3IDE5MC41dC00NyAyMzEuNXQ0NyAyMzEuNXQxMjcgMTkwdDE5MC41IDEyN3QyMzEuNSA0Ny41ek01OTYgMTAxMHEtMTEyIDAgLTIwNy41IC01NS41dC0xNTEgLTE1MXQtNTUuNSAtMjA3LjV0NTUuNSAtMjA3LjUgdDE1MSAtMTUxdDIwNy41IC01NS41dDIwNy41IDU1LjV0MTUxIDE1MXQ1NS41IDIwNy41dC01NS41IDIwNy41dC0xNTEgMTUxdC0yMDcuNSA1NS41ek00NTQuNSA5MDVxMjIuNSAwIDM4LjUgLTE2dDE2IC0zOC41dC0xNiAtMzl0LTM4LjUgLTE2LjV0LTM4LjUgMTYuNXQtMTYgMzl0MTYgMzguNXQzOC41IDE2ek03NTQuNSA5MDVxMjIuNSAwIDM4LjUgLTE2dDE2IC0zOC41dC0xNiAtMzl0LTM4IC0xNi41cS0xNCAwIC0yOSAxMGwtNTUgLTE0NSBxMTcgLTIzIDE3IC01MXEwIC0zNiAtMjUuNSAtNjEuNXQtNjEuNSAtMjUuNXQtNjEuNSAyNS41dC0yNS41IDYxLjVxMCAzMiAyMC41IDU2LjV0NTEuNSAyOS41bDEyMiAxMjZsMSAxcS05IDE0IC05IDI4cTAgMjMgMTYgMzl0MzguNSAxNnpNMzQ1LjUgNzA5cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM4LjV0LTM4LjUgLTE2dC0zOC41IDE2dC0xNiAzOC41dDE2IDM4LjV0MzguNSAxNnpNODU0LjUgNzA5cTIyLjUgMCAzOC41IC0xNiB0MTYgLTM4LjV0LTE2IC0zOC41dC0zOC41IC0xNnQtMzguNSAxNnQtMTYgMzguNXQxNiAzOC41dDM4LjUgMTZ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNDI7IiBkPSJNNTQ2IDE3M2w0NjkgNDcwcTkxIDkxIDk5IDE5MnE3IDk4IC01MiAxNzUuNXQtMTU0IDk0LjVxLTIyIDQgLTQ3IDRxLTM0IDAgLTY2LjUgLTEwdC01Ni41IC0yM3QtNTUuNSAtMzh0LTQ4IC00MS41dC00OC41IC00Ny41cS0zNzYgLTM3NSAtMzkxIC0zOTBxLTMwIC0yNyAtNDUgLTQxLjV0LTM3LjUgLTQxdC0zMiAtNDYuNXQtMTYgLTQ3LjV0LTEuNSAtNTYuNXE5IC02MiA1My41IC05NXQ5OS41IC0zM3E3NCAwIDEyNSA1MWw1NDggNTQ4IHEzNiAzNiAyMCA3NXEtNyAxNiAtMjEuNSAyNnQtMzIuNSAxMHEtMjYgMCAtNTAgLTIzcS0xMyAtMTIgLTM5IC0zOGwtMzQxIC0zMzhxLTE1IC0xNSAtMzUuNSAtMTUuNXQtMzQuNSAxMy41dC0xNCAzNC41dDE0IDM0LjVxMzI3IDMzMyAzNjEgMzY3cTM1IDM1IDY3LjUgNTEuNXQ3OC41IDE2LjVxMTQgMCAyOSAtMXE0NCAtOCA3NC41IC0zNS41dDQzLjUgLTY4LjVxMTQgLTQ3IDIgLTk2LjV0LTQ3IC04NC41cS0xMiAtMTEgLTMyIC0zMiB0LTc5LjUgLTgxdC0xMTQuNSAtMTE1dC0xMjQuNSAtMTIzLjV0LTEyMyAtMTE5LjV0LTk2LjUgLTg5dC01NyAtNDVxLTU2IC0yNyAtMTIwIC0yN3EtNzAgMCAtMTI5IDMydC05MyA4OXEtNDggNzggLTM1IDE3M3Q4MSAxNjNsNTExIDUxMXE3MSA3MiAxMTEgOTZxOTEgNTUgMTk4IDU1cTgwIDAgMTUyIC0zM3E3OCAtMzYgMTI5LjUgLTEwM3Q2Ni41IC0xNTRxMTcgLTkzIC0xMSAtMTgzLjV0LTk0IC0xNTYuNWwtNDgyIC00NzYgcS0xNSAtMTUgLTM2IC0xNnQtMzcgMTR0LTE3LjUgMzR0MTQuNSAzNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MzsiIGQ9Ik02NDkgOTQ5cTQ4IDY4IDEwOS41IDEwNHQxMjEuNSAzOC41dDExOC41IC0yMHQxMDIuNSAtNjR0NzEgLTEwMC41dDI3IC0xMjNxMCAtNTcgLTMzLjUgLTExNy41dC05NCAtMTI0LjV0LTEyNi41IC0xMjcuNXQtMTUwIC0xNTIuNXQtMTQ2IC0xNzRxLTYyIDg1IC0xNDUuNSAxNzR0LTE1MCAxNTIuNXQtMTI2LjUgMTI3LjV0LTkzLjUgMTI0LjV0LTMzLjUgMTE3LjVxMCA2NCAyOCAxMjN0NzMgMTAwLjV0MTA0IDY0dDExOSAyMCB0MTIwLjUgLTM4LjV0MTA0LjUgLTEwNHpNODk2IDk3MnEtMzMgMCAtNjQuNSAtMTl0LTU2LjUgLTQ2dC00Ny41IC01My41dC00My41IC00NS41dC0zNy41IC0xOXQtMzYgMTl0LTQwIDQ1LjV0LTQzIDUzLjV0LTU0IDQ2dC02NS41IDE5cS02NyAwIC0xMjIuNSAtNTUuNXQtNTUuNSAtMTMyLjVxMCAtMjMgMTMuNSAtNTF0NDYgLTY1dDU3LjUgLTYzdDc2IC03NWwyMiAtMjJxMTUgLTE0IDQ0IC00NHQ1MC41IC01MXQ0NiAtNDR0NDEgLTM1dDIzIC0xMiB0MjMuNSAxMnQ0Mi41IDM2dDQ2IDQ0dDUyLjUgNTJ0NDQgNDNxNCA0IDEyIDEzcTQzIDQxIDYzLjUgNjJ0NTIgNTV0NDYgNTV0MjYgNDZ0MTEuNSA0NHEwIDc5IC01MyAxMzMuNXQtMTIwIDU0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNDQ7IiBkPSJNNzc2LjUgMTIxNHE5My41IDAgMTU5LjUgLTY2bDE0MSAtMTQxcTY2IC02NiA2NiAtMTYwcTAgLTQyIC0yOCAtOTUuNXQtNjIgLTg3LjVsLTI5IC0yOXEtMzEgNTMgLTc3IDk5bC0xOCAxOGw5NSA5NWwtMjQ3IDI0OGwtMzg5IC0zODlsMjEyIC0yMTJsLTEwNSAtMTA2bC0xOSAxOGwtMTQxIDE0MXEtNjYgNjYgLTY2IDE1OXQ2NiAxNTlsMjgzIDI4M3E2NSA2NiAxNTguNSA2NnpNNjAwIDcwNmwxMDUgMTA1cTEwIC04IDE5IC0xN2wxNDEgLTE0MSBxNjYgLTY2IDY2IC0xNTl0LTY2IC0xNTlsLTI4MyAtMjgzcS02NiAtNjYgLTE1OSAtNjZ0LTE1OSA2NmwtMTQxIDE0MXEtNjYgNjYgLTY2IDE1OS41dDY2IDE1OS41bDU1IDU1cTI5IC01NSA3NSAtMTAybDE4IC0xN2wtOTUgLTk1bDI0NyAtMjQ4bDM4OSAzODl6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNDU7IiBkPSJNNjAzIDEyMDBxODUgMCAxNjIgLTE1dDEyNyAtMzh0NzkgLTQ4dDI5IC00NnYtOTUzcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djk1M3EwIDIxIDMwIDQ2LjV0ODEgNDh0MTI5IDM3LjV0MTYzIDE1ek0zMDAgMTAwMHYtNzAwaDYwMHY3MDBoLTYwMHpNNjAwIDI1NHEtNDMgMCAtNzMuNSAtMzAuNXQtMzAuNSAtNzMuNXQzMC41IC03My41dDczLjUgLTMwLjV0NzMuNSAzMC41IHQzMC41IDczLjV0LTMwLjUgNzMuNXQtNzMuNSAzMC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTQ2OyIgZD0iTTkwMiAxMTg1bDI4MyAtMjgycTE1IC0xNSAxNSAtMzZ0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1IDE1bC0zNiAzNWwtMjc5IC0yNjd2LTMwMGwtMjEyIDIxMGwtMzA4IC0zMDdsLTI4MCAtMjAzbDIwMyAyODBsMzA3IDMwOGwtMjEwIDIxMmgzMDBsMjY3IDI3OWwtMzUgMzZxLTE1IDE0IC0xNSAzNXQxNC41IDM1LjV0MzUuNSAxNC41dDM1IC0xNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE0ODsiIGQ9Ik03MDAgMTI0OHYtNzhxMzggLTUgNzIuNSAtMTQuNXQ3NS41IC0zMS41dDcxIC01My41dDUyIC04NHQyNCAtMTE4LjVoLTE1OXEtNCAzNiAtMTAuNSA1OXQtMjEgNDV0LTQwIDM1LjV0LTY0LjUgMjAuNXYtMzA3bDY0IC0xM3EzNCAtNyA2NCAtMTYuNXQ3MCAtMzJ0NjcuNSAtNTIuNXQ0Ny41IC04MHQyMCAtMTEycTAgLTEzOSAtODkgLTIyNHQtMjQ0IC05N3YtNzdoLTEwMHY3OXEtMTUwIDE2IC0yMzcgMTAzcS00MCA0MCAtNTIuNSA5My41IHQtMTUuNSAxMzkuNWgxMzlxNSAtNzcgNDguNSAtMTI2dDExNy41IC02NXYzMzVsLTI3IDhxLTQ2IDE0IC03OSAyNi41dC03MiAzNnQtNjMgNTJ0LTQwIDcyLjV0LTE2IDk4cTAgNzAgMjUgMTI2dDY3LjUgOTJ0OTQuNSA1N3QxMTAgMjd2NzdoMTAwek02MDAgNzU0djI3NHEtMjkgLTQgLTUwIC0xMXQtNDIgLTIxLjV0LTMxLjUgLTQxLjV0LTEwLjUgLTY1cTAgLTI5IDcgLTUwLjV0MTYuNSAtMzR0MjguNSAtMjIuNXQzMS41IC0xNHQzNy41IC0xMCBxOSAtMyAxMyAtNHpNNzAwIDU0N3YtMzEwcTIyIDIgNDIuNSA2LjV0NDUgMTUuNXQ0MS41IDI3dDI5IDQydDEyIDU5LjV0LTEyLjUgNTkuNXQtMzggNDQuNXQtNTMgMzF0LTY2LjUgMjQuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE0OTsiIGQ9Ik01NjEgMTE5N3E4NCAwIDE2MC41IC00MHQxMjMuNSAtMTA5LjV0NDcgLTE0Ny41aC0xNTNxMCA0MCAtMTkuNSA3MS41dC00OS41IDQ4LjV0LTU5LjUgMjZ0LTU1LjUgOXEtMzcgMCAtNzkgLTE0LjV0LTYyIC0zNS41cS00MSAtNDQgLTQxIC0xMDFxMCAtMjYgMTMuNSAtNjN0MjYuNSAtNjF0MzcgLTY2cTYgLTkgOSAtMTRoMjQxdi0xMDBoLTE5N3E4IC01MCAtMi41IC0xMTV0LTMxLjUgLTk1cS00NSAtNjIgLTk5IC0xMTIgcTM0IDEwIDgzIDE3LjV0NzEgNy41cTMyIDEgMTAyIC0xNnQxMDQgLTE3cTgzIDAgMTM2IDMwbDUwIC0xNDdxLTMxIC0xOSAtNTggLTMwLjV0LTU1IC0xNS41dC00MiAtNC41dC00NiAtMC41cS0yMyAwIC03NiAxN3QtMTExIDMyLjV0LTk2IDExLjVxLTM5IC0zIC04MiAtMTZ0LTY3IC0yNWwtMjMgLTExbC01NSAxNDVxNCAzIDE2IDExdDE1LjUgMTAuNXQxMyA5dDE1LjUgMTJ0MTQuNSAxNHQxNy41IDE4LjVxNDggNTUgNTQgMTI2LjUgdC0zMCAxNDIuNWgtMjIxdjEwMGgxNjZxLTIzIDQ3IC00NCAxMDRxLTcgMjAgLTEyIDQxLjV0LTYgNTUuNXQ2IDY2LjV0MjkuNSA3MC41dDU4LjUgNzFxOTcgODggMjYzIDg4eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTUwOyIgZD0iTTQwMCAzMDBoMTUwcTIxIDAgMjUgLTExdC0xMCAtMjVsLTIzMCAtMjUwcS0xNCAtMTUgLTM1IC0xNXQtMzUgMTVsLTIzMCAyNTBxLTE0IDE0IC0xMCAyNXQyNSAxMWgxNTB2OTAwaDIwMHYtOTAwek05MzUgMTE4NGwyMzAgLTI0OXExNCAtMTQgMTAgLTI0LjV0LTI1IC0xMC41aC0xNTB2LTkwMGgtMjAwdjkwMGgtMTUwcS0yMSAwIC0yNSAxMC41dDEwIDI0LjVsMjMwIDI0OXExNCAxNSAzNSAxNXQzNSAtMTV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNTE7IiBkPSJNMTAwMCA3MDBoLTEwMHYxMDBoLTEwMHYtMTAwaC0xMDB2NTAwaDMwMHYtNTAwek00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNODAxIDExMDB2LTIwMGgxMDB2MjAwaC0xMDB6TTEwMDAgMzUwbC0yMDAgLTI1MGgyMDB2LTEwMGgtMzAwdjE1MGwyMDAgMjUwaC0yMDB2MTAwaDMwMHYtMTUweiAiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE1MjsiIGQ9Ik00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNMTAwMCAxMDUwbC0yMDAgLTI1MGgyMDB2LTEwMGgtMzAwdjE1MGwyMDAgMjUwaC0yMDB2MTAwaDMwMHYtMTUwek0xMDAwIDBoLTEwMHYxMDBoLTEwMHYtMTAwaC0xMDB2NTAwaDMwMHYtNTAwek04MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiAiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE1MzsiIGQ9Ik00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNMTAwMCA3MDBoLTEwMHY0MDBoLTEwMHYxMDBoMjAwdi01MDB6TTExMDAgMGgtMTAwdjEwMGgtMjAwdjQwMGgzMDB2LTUwMHpNOTAxIDQwMHYtMjAwaDEwMHYyMDBoLTEwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE1NDsiIGQ9Ik00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNMTEwMCA3MDBoLTEwMHYxMDBoLTIwMHY0MDBoMzAwdi01MDB6TTkwMSAxMTAwdi0yMDBoMTAwdjIwMGgtMTAwek0xMDAwIDBoLTEwMHY0MDBoLTEwMHYxMDBoMjAwdi01MDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNTU7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkwMCAxMDAwaC0yMDB2MjAwaDIwMHYtMjAwek0xMDAwIDcwMGgtMzAwdjIwMGgzMDB2LTIwMHpNMTEwMCA0MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEyMDAgMTAwaC01MDB2MjAwaDUwMHYtMjAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTU2OyIgZD0iTTQwMCAzMDBoMTUwcTIxIDAgMjUgLTExdC0xMCAtMjVsLTIzMCAtMjUwcS0xNCAtMTUgLTM1IC0xNXQtMzUgMTVsLTIzMCAyNTBxLTE0IDE0IC0xMCAyNXQyNSAxMWgxNTB2OTAwaDIwMHYtOTAwek0xMjAwIDEwMDBoLTUwMHYyMDBoNTAwdi0yMDB6TTExMDAgNzAwaC00MDB2MjAwaDQwMHYtMjAwek0xMDAwIDQwMGgtMzAwdjIwMGgzMDB2LTIwMHpNOTAwIDEwMGgtMjAwdjIwMGgyMDB2LTIwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE1NzsiIGQ9Ik0zNTAgMTEwMGg0MDBxMTYyIDAgMjU2IC05My41dDk0IC0yNTYuNXYtNDAwcTAgLTE2NSAtOTMuNSAtMjU3LjV0LTI1Ni41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTgwMCA5MDBoLTUwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41IHY1MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNTg7IiBkPSJNMzUwIDExMDBoNDAwcTE2NSAwIDI1Ny41IC05Mi41dDkyLjUgLTI1Ny41di00MDBxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTYzIDAgLTI1Ni41IDkyLjV0LTkzLjUgMjU3LjV2NDAwcTAgMTYzIDk0IDI1Ni41dDI1NiA5My41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek00NDAgNzcwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNTk7IiBkPSJNMzUwIDExMDBoNDAwcTE2MyAwIDI1Ni41IC05NHQ5My41IC0yNTZ2LTQwMHEwIC0xNjUgLTkyLjUgLTI1Ny41dC0yNTcuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjMgOTIuNSAyNTYuNXQyNTcuNSA5My41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek0zNTAgNzAwaDQwMHEyMSAwIDI2LjUgLTEydC02LjUgLTI4bC0xOTAgLTI1M3EtMTIgLTE3IC0zMCAtMTd0LTMwIDE3bC0xOTAgMjUzcS0xMiAxNiAtNi41IDI4dDI2LjUgMTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNjA7IiBkPSJNMzUwIDExMDBoNDAwcTE2NSAwIDI1Ny41IC05Mi41dDkyLjUgLTI1Ny41di00MDBxMCAtMTYzIC05Mi41IC0yNTYuNXQtMjU3LjUgLTkzLjVoLTQwMHEtMTYzIDAgLTI1Ni41IDk0dC05My41IDI1NnY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek01ODAgNjkzbDE5MCAtMjUzcTEyIC0xNiA2LjUgLTI4dC0yNi41IC0xMmgtNDAwcS0yMSAwIC0yNi41IDEydDYuNSAyOGwxOTAgMjUzcTEyIDE3IDMwIDE3dDMwIC0xN3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE2MTsiIGQ9Ik01NTAgMTEwMGg0MDBxMTY1IDAgMjU3LjUgLTkyLjV0OTIuNSAtMjU3LjV2LTQwMHEwIC0xNjUgLTkyLjUgLTI1Ny41dC0yNTcuNSAtOTIuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC00NTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMzggODY3bDMyNCAtMjg0cTE2IC0xNCAxNiAtMzN0LTE2IC0zM2wtMzI0IC0yODRxLTE2IC0xNCAtMjcgLTl0LTExIDI2djE1MGgtMjUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI1MHYxNTBxMCAyMSAxMSAyNnQyNyAtOXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE2MjsiIGQ9Ik03OTMgMTE4Mmw5IC05cTggLTEwIDUgLTI3cS0zIC0xMSAtNzkgLTIyNS41dC03OCAtMjIxLjVsMzAwIDFxMjQgMCAzMi41IC0xNy41dC01LjUgLTM1LjVxLTEgMCAtMTMzLjUgLTE1NXQtMjY3IC0zMTIuNXQtMTM4LjUgLTE2Mi41cS0xMiAtMTUgLTI2IC0xNWgtOWwtOSA4cS05IDExIC00IDMycTIgOSA0MiAxMjMuNXQ3OSAyMjQuNWwzOSAxMTBoLTMwMnEtMjMgMCAtMzEgMTlxLTEwIDIxIDYgNDFxNzUgODYgMjA5LjUgMjM3LjUgdDIyOCAyNTd0OTguNSAxMTEuNXE5IDE2IDI1IDE2aDl6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNjM7IiBkPSJNMzUwIDExMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQ1MHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg0NTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDAgcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXpNOTM4IDg2N2wzMjQgLTI4NHExNiAtMTQgMTYgLTMzdC0xNiAtMzNsLTMyNCAtMjg0cS0xNiAtMTQgLTI3IC05dC0xMSAyNnYxNTBoLTI1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgyNTB2MTUwcTAgMjEgMTEgMjZ0MjcgLTl6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNjQ7IiBkPSJNNzUwIDEyMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTEwLjUgLTI1dC0yNC41IDEwbC0xMDkgMTA5bC0zMTIgLTMxMnEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtMTQxIDE0MXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWwzMTIgMzEybC0xMDkgMTA5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41ek00NTYgOTAwaC0xNTZxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMCBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTQ4bDIwMCAyMDB2LTI5OHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41aDMwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE2NTsiIGQ9Ik02MDAgMTE4NnExMTkgMCAyMjcuNSAtNDYuNXQxODcgLTEyNXQxMjUgLTE4N3Q0Ni41IC0yMjcuNXQtNDYuNSAtMjI3LjV0LTEyNSAtMTg3dC0xODcgLTEyNXQtMjI3LjUgLTQ2LjV0LTIyNy41IDQ2LjV0LTE4NyAxMjV0LTEyNSAxODd0LTQ2LjUgMjI3LjV0NDYuNSAyMjcuNXQxMjUgMTg3dDE4NyAxMjV0MjI3LjUgNDYuNXpNNjAwIDEwMjJxLTExNSAwIC0yMTIgLTU2LjV0LTE1My41IC0xNTMuNXQtNTYuNSAtMjEydDU2LjUgLTIxMiB0MTUzLjUgLTE1My41dDIxMiAtNTYuNXQyMTIgNTYuNXQxNTMuNSAxNTMuNXQ1Ni41IDIxMnQtNTYuNSAyMTJ0LTE1My41IDE1My41dC0yMTIgNTYuNXpNNjAwIDc5NHE4MCAwIDEzNyAtNTd0NTcgLTEzN3QtNTcgLTEzN3QtMTM3IC01N3QtMTM3IDU3dC01NyAxMzd0NTcgMTM3dDEzNyA1N3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE2NjsiIGQ9Ik00NTAgMTIwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTM1MGgyNDVxMjAgMCAyNSAtMTF0LTkgLTI2bC0zODMgLTQyNnEtMTQgLTE1IC0zMy41IC0xNXQtMzIuNSAxNWwtMzc5IDQyNnEtMTMgMTUgLTguNSAyNnQyNS41IDExaDI1MHYzNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAzMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaC0xMTAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IE05MDAgMjAwdi01MGgxMDB2NTBoLTEwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE2NzsiIGQ9Ik01ODMgMTE4MmwzNzggLTQzNXExNCAtMTUgOSAtMzF0LTI2IC0xNmgtMjQ0di0yNTBxMCAtMjAgLTE3IC0zNXQtMzkgLTE1aC0yMDBxLTIwIDAgLTMyIDE0LjV0LTEyIDM1LjV2MjUwaC0yNTBxLTIwIDAgLTI1LjUgMTYuNXQ4LjUgMzEuNWwzODMgNDMxcTE0IDE2IDMzLjUgMTd0MzMuNSAtMTR6TTUwIDMwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXogTTkwMCAyMDB2LTUwaDEwMHY1MGgtMTAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTY4OyIgZD0iTTM5NiA3MjNsMzY5IDM2OXE3IDcgMTcuNSA3dDE3LjUgLTdsMTM5IC0xMzlxNyAtOCA3IC0xOC41dC03IC0xNy41bC01MjUgLTUyNXEtNyAtOCAtMTcuNSAtOHQtMTcuNSA4bC0yOTIgMjkxcS03IDggLTcgMTh0NyAxOGwxMzkgMTM5cTggNyAxOC41IDd0MTcuNSAtN3pNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMTEwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek05MDAgMjAwdi01MGgxMDB2NTAgaC0xMDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNjk7IiBkPSJNMTM1IDEwMjNsMTQyIDE0MnExNCAxNCAzNSAxNHQzNSAtMTRsNzcgLTc3bC0yMTIgLTIxMmwtNzcgNzZxLTE0IDE1IC0xNCAzNnQxNCAzNXpNNjU1IDg1NWwyMTAgMjEwcTE0IDE0IDI0LjUgMTB0MTAuNSAtMjVsLTIgLTU5OXEtMSAtMjAgLTE1LjUgLTM1dC0zNS41IC0xNWwtNTk3IC0xcS0yMSAwIC0yNSAxMC41dDEwIDI0LjVsMjA4IDIwOGwtMTU0IDE1NWwyMTIgMjEyek01MCAzMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNSB2LTI1MGgtMTEwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek05MDAgMjAwdi01MGgxMDB2NTBoLTEwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MDsiIGQ9Ik0zNTAgMTIwMGw1OTkgLTJxMjAgLTEgMzUgLTE1LjV0MTUgLTM1LjVsMSAtNTk3cTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtMjA4IDIwOGwtMTU1IC0xNTRsLTIxMiAyMTJsMTU1IDE1NGwtMjEwIDIxMHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNNTI0IDUxMmwtNzYgLTc3cS0xNSAtMTQgLTM2IC0xNHQtMzUgMTRsLTE0MiAxNDJxLTE0IDE0IC0xNCAzNXQxNCAzNWw3NyA3N3pNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41IHQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNzE7IiBkPSJNMTIwMCAxMDNsLTQ4MyAyNzZsLTMxNCAtMzk5djQyM2gtMzk5bDExOTYgNzk2di0xMDk2ek00ODMgNDI0di0yMzBsNjgzIDk1M3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MjsiIGQ9Ik0xMTAwIDEwMDB2LTg1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTUwdjQwMGgtNzAwdi00MDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwMHEwIDIwIDE0LjUgMzV0MzUuNSAxNWgyNTB2LTMwMGg1MDB2MzAwaDEwMHpNNzAwIDEwMDBoLTEwMHYyMDBoMTAwdi0yMDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNzM7IiBkPSJNMTEwMCAxMDAwbC0yIC0xNDlsLTI5OSAtMjk5bC05NSA5NXEtOSA5IC0yMS41IDl0LTIxLjUgLTlsLTE0OSAtMTQ3aC0zMTJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTEzMiA2MzhsMTA2IC0xMDZxNyAtNyA3IC0xNy41dC03IC0xNy41bC00MjAgLTQyMXEtOCAtNyAtMTggLTcgdC0xOCA3bC0yMDIgMjAzcS04IDcgLTggMTcuNXQ4IDE3LjVsMTA2IDEwNnE3IDggMTcuNSA4dDE3LjUgLThsNzkgLTc5bDI5NyAyOTdxNyA3IDE3LjUgN3QxNy41IC03eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTc0OyIgZD0iTTExMDAgMTAwMHYtMjY5bC0xMDMgLTEwM2wtMTM0IDEzNHEtMTUgMTUgLTMzLjUgMTYuNXQtMzQuNSAtMTIuNWwtMjY2IC0yNjZoLTMyOXYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAwek0xMjAyIDU3Mmw3MCAtNzBxMTUgLTE1IDE1IC0zNS41dC0xNSAtMzUuNWwtMTMxIC0xMzEgbDEzMSAtMTMxcTE1IC0xNSAxNSAtMzUuNXQtMTUgLTM1LjVsLTcwIC03MHEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtMTMxIDEzMWwtMTMxIC0xMzFxLTE1IC0xNSAtMzUuNSAtMTV0LTM1LjUgMTVsLTcwIDcwcS0xNSAxNSAtMTUgMzUuNXQxNSAzNS41bDEzMSAxMzFsLTEzMSAxMzFxLTE1IDE1IC0xNSAzNS41dDE1IDM1LjVsNzAgNzBxMTUgMTUgMzUuNSAxNXQzNS41IC0xNWwxMzEgLTEzMWwxMzEgMTMxcTE1IDE1IDM1LjUgMTUgdDM1LjUgLTE1eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTc1OyIgZD0iTTExMDAgMTAwMHYtMzAwaC0zNTBxLTIxIDAgLTM1LjUgLTE0LjV0LTE0LjUgLTM1LjV2LTE1MGgtNTAwdi00MDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwMHEwIDIwIDE0LjUgMzV0MzUuNSAxNWgyNTB2LTMwMGg1MDB2MzAwaDEwMHpNNzAwIDEwMDBoLTEwMHYyMDBoMTAwdi0yMDB6TTg1MCA2MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoMTUwcTIxIDAgMjUgLTEwLjV0LTEwIC0yNC41IGwtMjMwIC0yMzBxLTE0IC0xNCAtMzUgLTE0dC0zNSAxNGwtMjMwIDIzMHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNWgxNTB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NjsiIGQ9Ik0xMTAwIDEwMDB2LTQwMGwtMTY1IDE2NXEtMTQgMTUgLTM1IDE1dC0zNSAtMTVsLTI2MyAtMjY1aC00MDJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNOTM1IDU2NWwyMzAgLTIyOXExNCAtMTUgMTAgLTI1LjV0LTI1IC0xMC41aC0xNTB2LTI1MHEwIC0yMCAtMTQuNSAtMzUgdC0zNS41IC0xNWgtMTAwcS0yMSAwIC0zNS41IDE1dC0xNC41IDM1djI1MGgtMTUwcS0yMSAwIC0yNSAxMC41dDEwIDI1LjVsMjMwIDIyOXExNCAxNSAzNSAxNXQzNSAtMTV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNzc7IiBkPSJNNTAgMTEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTEyMDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTIwMCA4MDB2LTU1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTUwaDEyMDB6TTEwMCA1MDB2LTIwMGg0MDB2MjAwaC00MDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNzg7IiBkPSJNOTM1IDExNjVsMjQ4IC0yMzBxMTQgLTE0IDE0IC0zNXQtMTQgLTM1bC0yNDggLTIzMHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYxNTBoLTQwMHYyMDBoNDAwdjE1MHEwIDIxIDEwLjUgMjV0MjQuNSAtMTB6TTIwMCA4MDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDUwdi0yMDB6TTQwMCA4MDBoLTEwMHYyMDBoMTAwdi0yMDB6TTE4IDQzNWwyNDcgMjMwIHExNCAxNCAyNC41IDEwdDEwLjUgLTI1di0xNTBoNDAwdi0yMDBoLTQwMHYtMTUwcTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtMjQ3IDIzMHEtMTUgMTQgLTE1IDM1dDE1IDM1ek05MDAgMzAwaC0xMDB2MjAwaDEwMHYtMjAwek0xMDAwIDUwMGg1MXEyMCAwIDM0LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNC41IC0xNC41aC01MXYyMDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxNzk7IiBkPSJNODYyIDEwNzNsMjc2IDExNnEyNSAxOCA0My41IDh0MTguNSAtNDF2LTExMDZxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2Mzk3cS00IDEgLTExIDV0LTI0IDE3LjV0LTMwIDI5dC0yNCA0MnQtMTEgNTYuNXYzNTlxMCAzMSAxOC41IDY1dDQzLjUgNTJ6TTU1MCAxMjAwcTIyIDAgMzQuNSAtMTIuNXQxNC41IC0yNC41bDEgLTEzdi00NTBxMCAtMjggLTEwLjUgLTU5LjUgdC0yNSAtNTZ0LTI5IC00NXQtMjUuNSAtMzEuNWwtMTAgLTExdi00NDdxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDQ3cS00IDQgLTExIDExLjV0LTI0IDMwLjV0LTMwIDQ2dC0yNCA1NXQtMTEgNjB2NDUwcTAgMiAwLjUgNS41dDQgMTJ0OC41IDE1dDE0LjUgMTJ0MjIuNSA1LjVxMjAgMCAzMi41IC0xMi41dDE0LjUgLTI0LjVsMyAtMTN2LTM1MGgxMDB2MzUwdjUuNXQyLjUgMTIgdDcgMTV0MTUgMTJ0MjUuNSA1LjVxMjMgMCAzNS41IC0xMi41dDEzLjUgLTI0LjVsMSAtMTN2LTM1MGgxMDB2MzUwcTAgMiAwLjUgNS41dDMgMTJ0NyAxNXQxNSAxMnQyNC41IDUuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE4MDsiIGQ9Ik0xMjAwIDExMDB2LTU2cS00IDAgLTExIC0wLjV0LTI0IC0zdC0zMCAtNy41dC0yNCAtMTV0LTExIC0yNHYtODg4cTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi01NmgtNDAwdjU2cTc1IDAgODcuNSA2LjV0MTIuNSA0My41djM5NGgtNTAwdi0zOTRxMCAtMzcgMTIuNSAtNDMuNXQ4Ny41IC02LjV2LTU2aC00MDB2NTZxNCAwIDExIDAuNXQyNCAzdDMwIDcuNXQyNCAxNXQxMSAyNHY4ODhxMCAyMiAtMjUgMzQuNXQtNTAgMTMuNSBsLTI1IDJ2NTZoNDAwdi01NnEtNzUgMCAtODcuNSAtNi41dC0xMi41IC00My41di0zOTRoNTAwdjM5NHEwIDM3IC0xMi41IDQzLjV0LTg3LjUgNi41djU2aDQwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE4MTsiIGQ9Ik02NzUgMTAwMGgzNzVxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtMTA1bC0yOTUgLTk4djk4bC0yMDAgMjAwaC00MDBsMTAwIDEwMGgzNzV6TTEwMCA5MDBoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di01MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTMwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2NTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTAwIDgwMHYtMjAwaDMwMHYyMDAgaC0zMDB6TTExMDAgNTM1bC00MDAgLTEzM3YxNjNsNDAwIDEzM3YtMTYzek0xMDAgNTAwdi0yMDBoMzAwdjIwMGgtMzAwek0xMTAwIDM5OHYtMjQ4cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zNzVsLTEwMCAtMTAwaC0zNzVsLTEwMCAxMDBoNDAwbDIwMCAyMDBoMTA1eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTgyOyIgZD0iTTE3IDEwMDdsMTYyIDE2MnExNyAxNyA0MCAxNHQzNyAtMjJsMTM5IC0xOTRxMTQgLTIwIDExIC00NC41dC0yMCAtNDEuNWwtMTE5IC0xMThxMTAyIC0xNDIgMjI4IC0yNjh0MjY3IC0yMjdsMTE5IDExOHExNyAxNyA0Mi41IDE5dDQ0LjUgLTEybDE5MiAtMTM2cTE5IC0xNCAyMi41IC0zNy41dC0xMy41IC00MC41bC0xNjMgLTE2MnEtMyAtMSAtOS41IC0xdC0yOS41IDJ0LTQ3LjUgNnQtNjIuNSAxNC41dC03Ny41IDI2LjV0LTkwIDQyLjUgdC0xMDEuNSA2MHQtMTExIDgzdC0xMTkgMTA4LjVxLTc0IDc0IC0xMzMuNSAxNTAuNXQtOTQuNSAxMzguNXQtNjAgMTE5LjV0LTM0LjUgMTAwdC0xNSA3NC41dC00LjUgNDh6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxODM7IiBkPSJNNjAwIDExMDBxOTIgMCAxNzUgLTEwLjV0MTQxLjUgLTI3dDEwOC41IC0zNi41dDgxLjUgLTQwdDUzLjUgLTM3dDMxIC0yN2w5IC0xMHYtMjAwcTAgLTIxIC0xNC41IC0zM3QtMzQuNSAtOWwtMjAyIDM0cS0yMCAzIC0zNC41IDIwdC0xNC41IDM4djE0NnEtMTQxIDI0IC0zMDAgMjR0LTMwMCAtMjR2LTE0NnEwIC0yMSAtMTQuNSAtMzh0LTM0LjUgLTIwbC0yMDIgLTM0cS0yMCAtMyAtMzQuNSA5dC0xNC41IDMzdjIwMHEzIDQgOS41IDEwLjUgdDMxIDI2dDU0IDM3LjV0ODAuNSAzOS41dDEwOSAzNy41dDE0MSAyNi41dDE3NSAxMC41ek02MDAgNzk1cTU2IDAgOTcgLTkuNXQ2MCAtMjMuNXQzMCAtMjh0MTIgLTI0bDEgLTEwdi01MGwzNjUgLTMwM3ExNCAtMTUgMjQuNSAtNDB0MTAuNSAtNDV2LTIxMnEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjEycTAgMjAgMTAuNSA0NXQyNC41IDQwbDM2NSAzMDN2NTAgcTAgNCAxIDEwLjV0MTIgMjN0MzAgMjl0NjAgMjIuNXQ5NyAxMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE4NDsiIGQ9Ik0xMTAwIDcwMGwtMjAwIC0yMDBoLTYwMGwtMjAwIDIwMHY1MDBoMjAwdi0yMDBoMjAwdjIwMGgyMDB2LTIwMGgyMDB2MjAwaDIwMHYtNTAwek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTJsMTM3IC0xMDBoLTk1MGwxMzcgMTAwaC0xMnEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMTAwaDExMDBxMjEgMCAzNS41IC0xNC41IHQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxODU7IiBkPSJNNzAwIDExMDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtMTAwMGgzMDB2MTAwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMTEwMCA4MDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNzAwaDMwMHY3MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTQwMCAwaC0zMDB2NDAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNWgxMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTQwMHogIiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxODY7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTUwMCA3MDBoLTIwMHYtMTAwaDIwMHYtMzAwaC0zMDB2MTAwaDIwMHYxMDBoLTIwMHYzMDBoMzAwdi0xMDB6TTkwMCA3MDB2LTMwMGwtMTAwIC0xMDBoLTIwMHY1MDBoMjAweiBNNzAwIDcwMHYtMzAwaDEwMHYzMDBoLTEwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE4NzsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDMwMGgtMTAwdjIwMGgtMTAwdi0yMDBoLTEwMHY1MDBoMTAwdi0yMDBoMTAwdjIwMGgxMDB2LTUwMHpNOTAwIDcwMHYtMzAwbC0xMDAgLTEwMGgtMjAwdjUwMGgyMDB6IE03MDAgNzAwdi0zMDBoMTAwdjMwMGgtMTAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTg4OyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek01MDAgNzAwaC0yMDB2LTMwMGgyMDB2LTEwMGgtMzAwdjUwMGgzMDB2LTEwMHpNOTAwIDcwMGgtMjAwdi0zMDBoMjAwdi0xMDBoLTMwMHY1MDBoMzAwdi0xMDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxODk7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTUwMCA0MDBsLTMwMCAxNTBsMzAwIDE1MHYtMzAwek05MDAgNTUwbC0zMDAgLTE1MHYzMDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxOTA7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTkwMCAzMDBoLTcwMHY1MDBoNzAwdi01MDB6TTgwMCA3MDBoLTEzMHEtMzggMCAtNjYuNSAtNDN0LTI4LjUgLTEwOHQyNyAtMTA3dDY4IC00MmgxMzB2MzAwek0zMDAgNzAwdi0zMDAgaDEzMHE0MSAwIDY4IDQydDI3IDEwN3QtMjguNSAxMDh0LTY2LjUgNDNoLTEzMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxOTI7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTMwMCA3MDBoMjAwdi00MDBoLTMwMHY1MDBoMTAwdi0xMDB6TTkwMCAzMDBoLTEwMHY0MDBoLTEwMHYxMDBoMjAwdi01MDB6TTMwMCA2MDB2LTIwMGgxMDB2MjAwaC0xMDB6IE03MDAgMzAwaC0xMDB2MTAwaDEwMHYtMTAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMTkzOyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek01MDAgNTAwbC0xOTkgLTIwMGgtMTAwdjUwbDE5OSAyMDB2MTUwaC0yMDB2MTAwaDMwMHYtMzAwek05MDAgMzAwaC0xMDB2NDAwaC0xMDB2MTAwaDIwMHYtNTAwek03MDEgMzAwaC0xMDAgdjEwMGgxMDB2LTEwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE5NDsiIGQ9Ik02MDAgMTE5MXExMjAgMCAyMjkuNSAtNDd0MTg4LjUgLTEyNnQxMjYgLTE4OC41dDQ3IC0yMjkuNXQtNDcgLTIyOS41dC0xMjYgLTE4OC41dC0xODguNSAtMTI2dC0yMjkuNSAtNDd0LTIyOS41IDQ3dC0xODguNSAxMjZ0LTEyNiAxODguNXQtNDcgMjI5LjV0NDcgMjI5LjV0MTI2IDE4OC41dDE4OC41IDEyNnQyMjkuNSA0N3pNNjAwIDEwMjFxLTExNCAwIC0yMTEgLTU2LjV0LTE1My41IC0xNTMuNXQtNTYuNSAtMjExdDU2LjUgLTIxMSB0MTUzLjUgLTE1My41dDIxMSAtNTYuNXQyMTEgNTYuNXQxNTMuNSAxNTMuNXQ1Ni41IDIxMXQtNTYuNSAyMTF0LTE1My41IDE1My41dC0yMTEgNTYuNXpNODAwIDcwMGgtMzAwdi0yMDBoMzAwdi0xMDBoLTMwMGwtMTAwIDEwMHYyMDBsMTAwIDEwMGgzMDB2LTEwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE5NTsiIGQ9Ik02MDAgMTE5MXExMjAgMCAyMjkuNSAtNDd0MTg4LjUgLTEyNnQxMjYgLTE4OC41dDQ3IC0yMjkuNXQtNDcgLTIyOS41dC0xMjYgLTE4OC41dC0xODguNSAtMTI2dC0yMjkuNSAtNDd0LTIyOS41IDQ3dC0xODguNSAxMjZ0LTEyNiAxODguNXQtNDcgMjI5LjV0NDcgMjI5LjV0MTI2IDE4OC41dDE4OC41IDEyNnQyMjkuNSA0N3pNNjAwIDEwMjFxLTExNCAwIC0yMTEgLTU2LjV0LTE1My41IC0xNTMuNXQtNTYuNSAtMjExdDU2LjUgLTIxMSB0MTUzLjUgLTE1My41dDIxMSAtNTYuNXQyMTEgNTYuNXQxNTMuNSAxNTMuNXQ1Ni41IDIxMXQtNTYuNSAyMTF0LTE1My41IDE1My41dC0yMTEgNTYuNXpNODAwIDcwMHYtMTAwbC01MCAtNTBsMTAwIC0xMDB2LTUwaC0xMDBsLTEwMCAxMDBoLTE1MHYtMTAwaC0xMDB2NDAwaDMwMHpNNTAwIDcwMHYtMTAwaDIwMHYxMDBoLTIwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE5NzsiIGQ9Ik01MDMgMTA4OXExMTAgMCAyMDAuNSAtNTkuNXQxMzQuNSAtMTU2LjVxNDQgMTQgOTAgMTRxMTIwIDAgMjA1IC04Ni41dDg1IC0yMDd0LTg1IC0yMDd0LTIwNSAtODYuNWgtMTI4djI1MHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNWgtMzAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0yNTBoLTIyMnEtODAgMCAtMTM2IDU3LjV0LTU2IDEzNi41cTAgNjkgNDMgMTIyLjV0MTA4IDY3LjVxLTIgMTkgLTIgMzdxMCAxMDAgNDkgMTg1IHQxMzQgMTM0dDE4NSA0OXpNNTI1IDUwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0yNzVoMTM3cTIxIDAgMjYgLTExLjV0LTggLTI3LjVsLTIyMyAtMjQ0cS0xMyAtMTYgLTMyIC0xNnQtMzIgMTZsLTIyMyAyNDRxLTEzIDE2IC04IDI3LjV0MjYgMTEuNWgxMzd2Mjc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUxOTg7IiBkPSJNNTAyIDEwODlxMTEwIDAgMjAxIC01OS41dDEzNSAtMTU2LjVxNDMgMTUgODkgMTVxMTIxIDAgMjA2IC04Ni41dDg2IC0yMDYuNXEwIC05OSAtNjAgLTE4MXQtMTUwIC0xMTBsLTM3OCAzNjBxLTEzIDE2IC0zMS41IDE2dC0zMS41IC0xNmwtMzgxIC0zNjVoLTlxLTc5IDAgLTEzNS41IDU3LjV0LTU2LjUgMTM2LjVxMCA2OSA0MyAxMjIuNXQxMDggNjcuNXEtMiAxOSAtMiAzOHEwIDEwMCA0OSAxODQuNXQxMzMuNSAxMzR0MTg0LjUgNDkuNXogTTYzMiA0NjdsMjIzIC0yMjhxMTMgLTE2IDggLTI3LjV0LTI2IC0xMS41aC0xMzd2LTI3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djI3NWgtMTM3cS0yMSAwIC0yNiAxMS41dDggMjcuNXExOTkgMjA0IDIyMyAyMjhxMTkgMTkgMzEuNSAxOXQzMi41IC0xOXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTE5OTsiIGQ9Ik03MDAgMTAwdjEwMGg0MDBsLTI3MCAzMDBoMTcwbC0yNzAgMzAwaDE3MGwtMzAwIDMzM2wtMzAwIC0zMzNoMTcwbC0yNzAgLTMwMGgxNzBsLTI3MCAtMzAwaDQwMHYtMTAwaC01MHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtNTBoNDAwdjUwcTAgMjEgLTE0LjUgMzUuNXQtMzUuNSAxNC41aC01MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMDsiIGQ9Ik02MDAgMTE3OXE5NCAwIDE2Ny41IC01Ni41dDk5LjUgLTE0NS41cTg5IC02IDE1MC41IC03MS41dDYxLjUgLTE1NS41cTAgLTYxIC0yOS41IC0xMTIuNXQtNzkuNSAtODIuNXE5IC0yOSA5IC01NXEwIC03NCAtNTIuNSAtMTI2LjV0LTEyNi41IC01Mi41cS01NSAwIC0xMDAgMzB2LTI1MXEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTMwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV2MjUxcS00NSAtMzAgLTEwMCAtMzAgcS03NCAwIC0xMjYuNSA1Mi41dC01Mi41IDEyNi41cTAgMTggNCAzOHEtNDcgMjEgLTc1LjUgNjV0LTI4LjUgOTdxMCA3NCA1Mi41IDEyNi41dDEyNi41IDUyLjVxNSAwIDIzIC0ycTAgMiAtMSAxMHQtMSAxM3EwIDExNiA4MS41IDE5Ny41dDE5Ny41IDgxLjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyMDE7IiBkPSJNMTAxMCAxMDEwcTExMSAtMTExIDE1MC41IC0yNjAuNXQwIC0yOTl0LTE1MC41IC0yNjAuNXEtODMgLTgzIC0xOTEuNSAtMTI2LjV0LTIxOC41IC00My41dC0yMTguNSA0My41dC0xOTEuNSAxMjYuNXEtMTExIDExMSAtMTUwLjUgMjYwLjV0MCAyOTl0MTUwLjUgMjYwLjVxODMgODMgMTkxLjUgMTI2LjV0MjE4LjUgNDMuNXQyMTguNSAtNDMuNXQxOTEuNSAtMTI2LjV6TTQ3NiAxMDY1cS00IDAgLTggLTFxLTEyMSAtMzQgLTIwOS41IC0xMjIuNSB0LTEyMi41IC0yMDkuNXEtNCAtMTIgMi41IC0yM3QxOC41IC0xNGwzNiAtOXEzIC0xIDcgLTFxMjMgMCAyOSAyMnEyNyA5NiA5OCAxNjZxNzAgNzEgMTY2IDk4cTExIDMgMTcuNSAxMy41dDMuNSAyMi41bC05IDM1cS0zIDEzIC0xNCAxOXEtNyA0IC0xNSA0ek01MTIgOTIwcS00IDAgLTkgLTJxLTgwIC0yNCAtMTM4LjUgLTgyLjV0LTgyLjUgLTEzOC41cS00IC0xMyAyIC0yNHQxOSAtMTRsMzQgLTlxNCAtMSA4IC0xcTIyIDAgMjggMjEgcTE4IDU4IDU4LjUgOTguNXQ5Ny41IDU4LjVxMTIgMyAxOCAxMy41dDMgMjEuNWwtOSAzNXEtMyAxMiAtMTQgMTlxLTcgNCAtMTUgNHpNNzE5LjUgNzE5LjVxLTQ5LjUgNDkuNSAtMTE5LjUgNDkuNXQtMTE5LjUgLTQ5LjV0LTQ5LjUgLTExOS41dDQ5LjUgLTExOS41dDExOS41IC00OS41dDExOS41IDQ5LjV0NDkuNSAxMTkuNXQtNDkuNSAxMTkuNXpNODU1IDU1MXEtMjIgMCAtMjggLTIxcS0xOCAtNTggLTU4LjUgLTk4LjV0LTk4LjUgLTU3LjUgcS0xMSAtNCAtMTcgLTE0LjV0LTMgLTIxLjVsOSAtMzVxMyAtMTIgMTQgLTE5cTcgLTQgMTUgLTRxNCAwIDkgMnE4MCAyNCAxMzguNSA4Mi41dDgyLjUgMTM4LjVxNCAxMyAtMi41IDI0dC0xOC41IDE0bC0zNCA5cS00IDEgLTggMXpNMTAwMCA1MTVxLTIzIDAgLTI5IC0yMnEtMjcgLTk2IC05OCAtMTY2cS03MCAtNzEgLTE2NiAtOThxLTExIC0zIC0xNy41IC0xMy41dC0zLjUgLTIyLjVsOSAtMzVxMyAtMTMgMTQgLTE5cTcgLTQgMTUgLTQgcTQgMCA4IDFxMTIxIDM0IDIwOS41IDEyMi41dDEyMi41IDIwOS41cTQgMTIgLTIuNSAyM3QtMTguNSAxNGwtMzYgOXEtMyAxIC03IDF6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyMDI7IiBkPSJNNzAwIDgwMGgzMDB2LTM4MGgtMTgwdjIwMGgtMzQwdi0yMDBoLTM4MHY3NTVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg1NzV2LTQwMHpNMTAwMCA5MDBoLTIwMHYyMDB6TTcwMCAzMDBoMTYybC0yMTIgLTIxMmwtMjEyIDIxMmgxNjJ2MjAwaDEwMHYtMjAwek01MjAgMGgtMzk1cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2Mzk1ek0xMDAwIDIyMHYtMTk1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTk1eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjAzOyIgZD0iTTcwMCA4MDBoMzAwdi01MjBsLTM1MCAzNTBsLTU1MCAtNTUwdjEwOTVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg1NzV2LTQwMHpNMTAwMCA5MDBoLTIwMHYyMDB6TTg2MiAyMDBoLTE2MnYtMjAwaC0xMDB2MjAwaC0xNjJsMjEyIDIxMnpNNDgwIDBoLTM1NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djU1aDM4MHYtODB6TTEwMDAgODB2LTU1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTU1djgwaDE4MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTIwNDsiIGQ9Ik0xMTYyIDgwMGgtMTYydi0yMDBoMTAwbDEwMCAtMTAwaC0zMDB2MzAwaC0xNjJsMjEyIDIxMnpNMjAwIDgwMGgyMDBxMjcgMCA0MCAtMnQyOS41IC0xMC41dDIzLjUgLTMwdDcgLTU3LjVoMzAwdi0xMDBoLTYwMGwtMjAwIC0zNTB2NDUwaDEwMHEwIDM2IDcgNTcuNXQyMy41IDMwdDI5LjUgMTAuNXQ0MCAyek04MDAgNDAwaDI0MGwtMjQwIC00MDBoLTgwMGwzMDAgNTAwaDUwMHYtMTAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjA1OyIgZD0iTTY1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDUwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTAwMCA4NTB2MTUwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di04MDAgcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC02MDBxLTEgMCAtMjAgNGwyNDYgMjQ2bC0zMjYgMzI2djMyNHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV2LTE1MHEwIC02MiA0NCAtMTA2dDEwNiAtNDRoMzAwcTYyIDAgMTA2IDQ0dDQ0IDEwNnpNNDEyIDI1MGwtMjEyIC0yMTJ2MTYyaC0yMDB2MTAwaDIwMHYxNjJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyMDY7IiBkPSJNNDUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04MDAgODUwdjE1MHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNTAwIGgtMjAwdi0zMDBoMjAwcTAgLTM2IC03IC01Ny41dC0yMy41IC0zMHQtMjkuNSAtMTAuNXQtNDAgLTJoLTYwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2ODAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXYtMTUwcTAgLTYyIDQ0IC0xMDZ0MTA2IC00NGgzMDBxNjIgMCAxMDYgNDR0NDQgMTA2ek0xMjEyIDI1MGwtMjEyIC0yMTJ2MTYyaC0yMDB2MTAwaDIwMHYxNjJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyMDk7IiBkPSJNNjU4IDExOTdsNjM3IC0xMTA0cTIzIC0zOCA3IC02NS41dC02MCAtMjcuNWgtMTI3NnEtNDQgMCAtNjAgMjcuNXQ3IDY1LjVsNjM3IDExMDRxMjIgMzkgNTQgMzl0NTQgLTM5ek03MDQgODAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNXQzNy41IC0xNC41aDU0cTIwIDAgMzcuNSAxNC41dDIxLjUgMzQuNWw1OCAzMDJxNCAyMCAtOCAzNC41dC0zMiAxNC41ek01MDAgMzAwdi0xMDBoMjAwIHYxMDBoLTIwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTIxMDsiIGQ9Ik00MjUgMTEwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDgwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNSB0MTcuNSA3LjV6TTgyNSA4MDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTQyNSA1MDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTgyNSA1MDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjUgdjE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0yNSAyMDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTQyNSAyMDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNSB0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek04MjUgMjAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjExOyIgZD0iTTcwMCAxMjAwaDEwMHYtMjAwaC0xMDB2LTEwMGgzNTBxNjIgMCA4Ni41IC0zOS41dC0zLjUgLTk0LjVsLTY2IC0xMzJxLTQxIC04MyAtODEgLTEzNGgtNzcycS00MCA1MSAtODEgMTM0bC02NiAxMzJxLTI4IDU1IC0zLjUgOTQuNXQ4Ni41IDM5LjVoMzUwdjEwMGgtMTAwdjIwMGgxMDB2MTAwaDIwMHYtMTAwek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTJsMTM3IC0xMDAgaC05NTBsMTM4IDEwMGgtMTNxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyMTI7IiBkPSJNNjAwIDEzMDBxNDAgMCA2OC41IC0yOS41dDI4LjUgLTcwLjVoLTE5NHEwIDQxIDI4LjUgNzAuNXQ2OC41IDI5LjV6TTQ0MyAxMTAwaDMxNHExOCAtMzcgMTggLTc1cTAgLTggLTMgLTI1aDMyOHE0MSAwIDQ0LjUgLTE2LjV0LTMwLjUgLTM4LjVsLTE3NSAtMTQ1aC02NzhsLTE3OCAxNDVxLTM0IDIyIC0yOSAzOC41dDQ2IDE2LjVoMzI4cS0zIDE3IC0zIDI1cTAgMzggMTggNzV6TTI1MCA3MDBoNzAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTUwdi0yMDBsMjc1IC0yMDBoLTk1MGwyNzUgMjAwdjIwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjEzOyIgZD0iTTYwMCAxMTgxcTc1IDAgMTI4IC01M3Q1MyAtMTI4dC01MyAtMTI4dC0xMjggLTUzdC0xMjggNTN0LTUzIDEyOHQ1MyAxMjh0MTI4IDUzek02MDIgNzk4aDQ2cTM0IDAgNTUuNSAtMjguNXQyMS41IC04Ni41cTAgLTc2IDM5IC0xODNoLTMyNHEzOSAxMDcgMzkgMTgzcTAgNTggMjEuNSA4Ni41dDU2LjUgMjguNWg0NXpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEzIGwxMzggLTEwMGgtOTUwbDEzNyAxMDBoLTEycS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjE0OyIgZD0iTTYwMCAxMzAwcTQ3IDAgOTIuNSAtNTMuNXQ3MSAtMTIzdDI1LjUgLTEyMy41cTAgLTc4IC01NS41IC0xMzMuNXQtMTMzLjUgLTU1LjV0LTEzMy41IDU1LjV0LTU1LjUgMTMzLjVxMCA2MiAzNCAxNDNsMTQ0IC0xNDNsMTExIDExMWwtMTYzIDE2M3EzNCAyNiA2MyAyNnpNNjAyIDc5OGg0NnEzNCAwIDU1LjUgLTI4LjV0MjEuNSAtODYuNXEwIC03NiAzOSAtMTgzaC0zMjRxMzkgMTA3IDM5IDE4M3EwIDU4IDIxLjUgODYuNXQ1Ni41IDI4LjVoNDUgek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTNsMTM4IC0xMDBoLTk1MGwxMzcgMTAwaC0xMnEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaC0xMjAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNTsiIGQ9Ik02MDAgMTIwMGwzMDAgLTE2MXYtMTM5aC0zMDBxMCAtNTcgMTguNSAtMTA4dDUwIC05MS41dDYzIC03MnQ3MCAtNjcuNXQ1Ny41IC02MWgtNTMwcS02MCA4MyAtOTAuNSAxNzcuNXQtMzAuNSAxNzguNXQzMyAxNjQuNXQ4Ny41IDEzOS41dDEyNiA5Ni41dDE0NS41IDQxLjV2LTk4ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTNsMTM4IC0xMDBoLTk1MGwxMzcgMTAwIGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyMTY7IiBkPSJNNjAwIDEzMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTc4cTQ2IC0yNiA3MyAtNzJ0MjcgLTEwMHYtNTBoLTQwMHY1MHEwIDU0IDI3IDEwMHQ3MyA3MnY3OHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTQwMCA4MDBoNDAwcTU0IDAgMTAwIC0yN3Q3MiAtNzNoLTE3MnYtMTAwaDIwMHYtMTAwaC0yMDB2LTEwMGgyMDB2LTEwMGgtMjAwdi0xMDBoMjAwcTAgLTgzIC01OC41IC0xNDEuNXQtMTQxLjUgLTU4LjVoLTQwMCBxLTgzIDAgLTE0MS41IDU4LjV0LTU4LjUgMTQxLjV2NDAwcTAgODMgNTguNSAxNDEuNXQxNDEuNSA1OC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjE4OyIgZD0iTTE1MCAxMTAwaDkwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC05MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTEyNSA0MDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yODNsMjI0IC0yMjRxMTMgLTEzIDEzIC0zMS41dC0xMyAtMzIgdC0zMS41IC0xMy41dC0zMS41IDEzbC04OCA4OGgtNTI0bC04NyAtODhxLTEzIC0xMyAtMzIgLTEzdC0zMiAxMy41dC0xMyAzMnQxMyAzMS41bDIyNCAyMjRoLTI4OXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTU0MSAzMDBsLTEwMCAtMTAwaDMyNGwtMTAwIDEwMGgtMTI0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjE5OyIgZD0iTTIwMCAxMTAwaDgwMHE4MyAwIDE0MS41IC01OC41dDU4LjUgLTE0MS41di0yMDBoLTEwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNWgtMjUwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41aC0xMDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjVoLTI1MHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNWgtMTAwdjIwMHEwIDgzIDU4LjUgMTQxLjV0MTQxLjUgNTguNXpNMTAwIDYwMGgxMDAwcTQxIDAgNzAuNSAtMjkuNSB0MjkuNSAtNzAuNXYtMzAwaC0xMjAwdjMwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTMwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHpNMTEwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTIyMTsiIGQ9Ik00ODAgMTE2NWw2ODIgLTY4M3EzMSAtMzEgMzEgLTc1LjV0LTMxIC03NS41bC0xMzEgLTEzMWgtNDgxbC01MTcgNTE4cS0zMiAzMSAtMzIgNzUuNXQzMiA3NS41bDI5NSAyOTZxMzEgMzEgNzUuNSAzMXQ3Ni41IC0zMXpNMTA4IDc5NGwzNDIgLTM0MmwzMDMgMzA0bC0zNDEgMzQxek0yNTAgMTAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTkwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyMjM7IiBkPSJNMTA1NyA2NDdsLTE4OSA1MDZxLTggMTkgLTI3LjUgMzN0LTQwLjUgMTRoLTQwMHEtMjEgMCAtNDAuNSAtMTR0LTI3LjUgLTMzbC0xODkgLTUwNnEtOCAtMTkgMS41IC0zM3QzMC41IC0xNGg2MjV2LTE1MHEwIC0yMSAxNC41IC0zNS41dDM1LjUgLTE0LjV0MzUuNSAxNC41dDE0LjUgMzUuNXYxNTBoMTI1cTIxIDAgMzAuNSAxNHQxLjUgMzN6TTg5NyAwaC01OTV2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDUwdjUwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNDh2MzAwaDIwMHYtMzAwaDQ3cTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyMjQ7IiBkPSJNOTAwIDgwMGgzMDB2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTM3NXY1OTFsLTMwMCAzMDB2ODRxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNMTIwMCA5MDBoLTIwMHYyMDB6TTQwMCA2MDBoMzAwdi01NzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC02NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNNzAwIDcwMGgtMjAwdjIwMHogIiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyMjU7IiBkPSJNNDg0IDEwOTVoMTk1cTc1IDAgMTQ2IC0zMi41dDEyNCAtODZ0ODkuNSAtMTIyLjV0NDguNSAtMTQycTE4IC0xNCAzNSAtMjBxMzEgLTEwIDY0LjUgNi41dDQzLjUgNDguNXExMCAzNCAtMTUgNzFxLTE5IDI3IC05IDQzcTUgOCAxMi41IDExdDE5IC0xdDIzLjUgLTE2cTQxIC00NCAzOSAtMTA1cS0zIC02MyAtNDYgLTEwNi41dC0xMDQgLTQzLjVoLTYycS03IC01NSAtMzUgLTExN3QtNTYgLTEwMGwtMzkgLTIzNHEtMyAtMjAgLTIwIC0zNC41IHQtMzggLTE0LjVoLTEwMHEtMjEgMCAtMzMgMTQuNXQtOSAzNC41bDEyIDcwcS00OSAtMTQgLTkxIC0xNGgtMTk1cS0yNCAwIC02NSA4bC0xMSAtNjRxLTMgLTIwIC0yMCAtMzQuNXQtMzggLTE0LjVoLTEwMHEtMjEgMCAtMzMgMTQuNXQtOSAzNC41bDI2IDE1N3EtODQgNzQgLTEyOCAxNzVsLTE1OSA1M3EtMTkgNyAtMzMgMjZ0LTE0IDQwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMjRxMTEgODcgNTYgMTY2bC0xMTEgOTUgcS0xNiAxNCAtMTIuNSAyMy41dDI0LjUgOS41aDIwM3ExMTYgMTAxIDI1MCAxMDF6TTY3NSAxMDAwaC0yNTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di01MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDI1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTIyNjsiIGQ9Ik02NDEgOTAwbDQyMyAyNDdxMTkgOCA0MiAyLjV0MzcgLTIxLjVsMzIgLTM4cTE0IC0xNSAxMi41IC0zNnQtMTcuNSAtMzRsLTEzOSAtMTIwaC0zOTB6TTUwIDExMDBoMTA2cTY3IDAgMTAzIC0xN3Q2NiAtNzFsMTAyIC0yMTJoODIzcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MHEwIC0yMSAtMTQgLTQwdC0zMyAtMjZsLTczNyAtMTMycS0yMyAtNCAtNDAgNnQtMjYgMjVxLTQyIDY3IC0xMDAgNjdoLTMwMHEtNjIgMCAtMTA2IDQ0IHQtNDQgMTA2djIwMHEwIDYyIDQ0IDEwNnQxMDYgNDR6TTE3MyA5MjhoLTgwcS0xOSAwIC0yOCAtMTR0LTkgLTM1di01NnEwIC01MSA0MiAtNTFoMTM0cTE2IDAgMjEuNSA4dDUuNSAyNHEwIDExIC0xNiA0NXQtMjcgNTFxLTE4IDI4IC00MyAyOHpNNTUwIDcyN3EtMzIgMCAtNTQuNSAtMjIuNXQtMjIuNSAtNTQuNXQyMi41IC01NC41dDU0LjUgLTIyLjV0NTQuNSAyMi41dDIyLjUgNTQuNXQtMjIuNSA1NC41dC01NC41IDIyLjV6TTEzMCAzODkgbDE1MiAxMzBxMTggMTkgMzQgMjR0MzEgLTMuNXQyNC41IC0xNy41dDI1LjUgLTI4cTI4IC0zNSA1MC41IC01MXQ0OC41IC0xM2w2MyA1bDQ4IC0xNzlxMTMgLTYxIC0zLjUgLTk3LjV0LTY3LjUgLTc5LjVsLTgwIC02OXEtNDcgLTQwIC0xMDkgLTM1LjV0LTEwMyA1MS41bC0xMzAgMTUxcS00MCA0NyAtMzUuNSAxMDkuNXQ1MS41IDEwMi41ek0zODAgMzc3bC0xMDIgLTg4cS0zMSAtMjcgMiAtNjVsMzcgLTQzcTEzIC0xNSAyNy41IC0xOS41IHQzMS41IDYuNWw2MSA1M3ExOSAxNiAxNCA0OXEtMiAyMCAtMTIgNTZ0LTE3IDQ1cS0xMSAxMiAtMTkgMTR0LTIzIC04eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjI3OyIgZD0iTTYyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwOXE3OSAtMzMgMTMxIC04Ny41dDUzIC0xMjguNXExIC00NiAtMTUgLTg0LjV0LTM5IC02MXQtNDYgLTM4dC0zOSAtMjEuNWwtMTcgLTZxNiAwIDE1IC0xLjV0MzUgLTl0NTAgLTE3LjV0NTMgLTMwdDUwIC00NXQzNS41IC02NHQxNC41IC04NHEwIC01OSAtMTEuNSAtMTA1LjV0LTI4LjUgLTc2LjV0LTQ0IC01MXQtNDkuNSAtMzEuNXQtNTQuNSAtMTZ0LTQ5LjUgLTYuNSB0LTQzLjUgLTF2LTc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzVoLTEwMHYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtMTc1cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNzV2NjAwaC03NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNzV2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWgxMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDAwIDkwMHYtMjAwaDI2M3EyOCAwIDQ4LjUgMTAuNXQzMCAyNXQxNSAyOXQ1LjUgMjUuNWwxIDEwcTAgNCAtMC41IDExdC02IDI0dC0xNSAzMHQtMzAgMjR0LTQ4LjUgMTFoLTI2M3pNNDAwIDUwMHYtMjAwaDM2M3EyOCAwIDQ4LjUgMTAuNSB0MzAgMjV0MTUgMjl0NS41IDI1LjVsMSAxMHEwIDQgLTAuNSAxMXQtNiAyNHQtMTUgMzB0LTMwIDI0dC00OC41IDExaC0zNjN6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyMzA7IiBkPSJNMjEyIDExOThoNzgwcTg2IDAgMTQ3IC02MXQ2MSAtMTQ3di00MTZxMCAtNTEgLTE4IC0xNDIuNXQtMzYgLTE1Ny41bC0xOCAtNjZxLTI5IC04NyAtOTMuNSAtMTQ2LjV0LTE0Ni41IC01OS41aC01NzJxLTgyIDAgLTE0NyA1OXQtOTMgMTQ3cS04IDI4IC0yMCA3M3QtMzIgMTQzLjV0LTIwIDE0OS41djQxNnEwIDg2IDYxIDE0N3QxNDcgNjF6TTYwMCAxMDQ1cS03MCAwIC0xMzIuNSAtMTEuNXQtMTA1LjUgLTMwLjV0LTc4LjUgLTQxLjUgdC01NyAtNDV0LTM2IC00MXQtMjAuNSAtMzAuNWwtNiAtMTJsMTU2IC0yNDNoNTYwbDE1NiAyNDNxLTIgNSAtNiAxMi41dC0yMCAyOS41dC0zNi41IDQydC01NyA0NC41dC03OSA0MnQtMTA1IDI5LjV0LTEzMi41IDEyek03NjIgNzAzaC0xNTdsMTk1IDI2MXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMTsiIGQ9Ik00NzUgMTMwMGgxNTBxMTAzIDAgMTg5IC04NnQ4NiAtMTg5di01MDBxMCAtNDEgLTQyIC04M3QtODMgLTQyaC00NTBxLTQxIDAgLTgzIDQydC00MiA4M3Y1MDBxMCAxMDMgODYgMTg5dDE4OSA4NnpNNzAwIDMwMHYtMjI1cTAgLTIxIC0yNyAtNDh0LTQ4IC0yN2gtMTUwcS0yMSAwIC00OCAyN3QtMjcgNDh2MjI1aDMwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMjsiIGQ9Ik00NzUgMTMwMGg5NnEwIC0xNTAgODkuNSAtMjM5LjV0MjM5LjUgLTg5LjV2LTQ0NnEwIC00MSAtNDIgLTgzdC04MyAtNDJoLTQ1MHEtNDEgMCAtODMgNDJ0LTQyIDgzdjUwMHEwIDEwMyA4NiAxODl0MTg5IDg2ek03MDAgMzAwdi0yMjVxMCAtMjEgLTI3IC00OHQtNDggLTI3aC0xNTBxLTIxIDAgLTQ4IDI3dC0yNyA0OHYyMjVoMzAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjMzOyIgZD0iTTEyOTQgNzY3bC02MzggLTI4M2wtMzc4IDE3MGwtNzggLTYwdi0yMjRsMTAwIC0xNTB2LTE5OWwtMTUwIDE0OGwtMTUwIC0xNDl2MjAwbDEwMCAxNTB2MjUwcTAgNCAtMC41IDEwLjV0MCA5LjV0MSA4dDMgOHQ2LjUgNmw0NyA0MGwtMTQ3IDY1bDY0MiAyODN6TTEwMDAgMzgwbC0zNTAgLTE2NmwtMzUwIDE2NnYxNDdsMzUwIC0xNjVsMzUwIDE2NXYtMTQ3eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjM0OyIgZD0iTTI1MCA4MDBxNjIgMCAxMDYgLTQ0dDQ0IC0xMDZ0LTQ0IC0xMDZ0LTEwNiAtNDR0LTEwNiA0NHQtNDQgMTA2dDQ0IDEwNnQxMDYgNDR6TTY1MCA4MDBxNjIgMCAxMDYgLTQ0dDQ0IC0xMDZ0LTQ0IC0xMDZ0LTEwNiAtNDR0LTEwNiA0NHQtNDQgMTA2dDQ0IDEwNnQxMDYgNDR6TTEwNTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjM1OyIgZD0iTTU1MCAxMTAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgNzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgMzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjM2OyIgZD0iTTEyNSAxMTAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTk1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMjUgNzAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTk1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41IHQxNy41IDcuNXpNMTI1IDMwMGg5NTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC05NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTIzNzsiIGQ9Ik0zNTAgMTIwMGg1MDBxMTYyIDAgMjU2IC05My41dDk0IC0yNTYuNXYtNTAwcTAgLTE2NSAtOTMuNSAtMjU3LjV0LTI1Ni41IC05Mi41aC01MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djUwMHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTkwMCAxMDAwaC02MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTYwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNjAwcTQxIDAgNzAuNSAyOS41IHQyOS41IDcwLjV2NjAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek0zNTAgOTAwaDUwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC01MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djMwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQwMCA4MDB2LTIwMGg0MDB2MjAwaC00MDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyMzg7IiBkPSJNMTUwIDExMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNSB0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MjAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNWg1MHYyMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41aDUwdjIwMGgtNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyMzk7IiBkPSJNNjUwIDExODdxODcgLTY3IDExOC41IC0xNTZ0MCAtMTc4dC0xMTguNSAtMTU1cS04NyA2NiAtMTE4LjUgMTU1dDAgMTc4dDExOC41IDE1NnpNMzAwIDgwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnpNMTAwMCA4MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4cTAgMTI0IDg4IDIxMnQyMTIgODh6TTMwMCA1MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEycS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ6IE0xMDAwIDUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhxMCAxMjQgODggMjEydDIxMiA4OHpNNzAwIDE5OXYtMTQ0cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41dC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxNDJxNDAgLTQgNDMgLTRxMTcgMCA1NyA2eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjQwOyIgZD0iTTc0NSA4NzhsNjkgMTlxMjUgNiA0NSAtMTJsMjk4IC0yOTVxMTEgLTExIDE1IC0yNi41dC0yIC0zMC41cS01IC0xNCAtMTggLTIzLjV0LTI4IC05LjVoLThxMSAwIDEgLTEzcTAgLTI5IC0yIC01NnQtOC41IC02MnQtMjAgLTYzdC0zMyAtNTN0LTUxIC0zOXQtNzIuNSAtMTRoLTE0NnEtMTg0IDAgLTE4NCAyODhxMCAyNCAxMCA0N3EtMjAgNCAtNjIgNHQtNjMgLTRxMTEgLTI0IDExIC00N3EwIC0yODggLTE4NCAtMjg4aC0xNDIgcS00OCAwIC04NC41IDIxdC01NiA1MXQtMzIgNzEuNXQtMTYgNzV0LTMuNSA2OC41cTAgMTMgMiAxM2gtN3EtMTUgMCAtMjcuNSA5LjV0LTE4LjUgMjMuNXEtNiAxNSAtMiAzMC41dDE1IDI1LjVsMjk4IDI5NnEyMCAxOCA0NiAxMWw3NiAtMTlxMjAgLTUgMzAuNSAtMjIuNXQ1LjUgLTM3LjV0LTIyLjUgLTMxdC0zNy41IC01bC01MSAxMmwtMTgyIC0xOTNoODkxbC0xODIgMTkzbC00NCAtMTJxLTIwIC01IC0zNy41IDZ0LTIyLjUgMzF0NiAzNy41IHQzMSAyMi41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjQxOyIgZD0iTTEyMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTUwMCA0NTBoLTI1cTAgMTUgLTQgMjQuNXQtOSAxNC41dC0xNyA3LjV0LTIwIDN0LTI1IDAuNWgtMTAwdi00MjVxMCAtMTEgMTIuNSAtMTcuNXQyNS41IC03LjVoMTJ2LTUwaC0yMDB2NTBxNTAgMCA1MCAyNXY0MjVoLTEwMHEtMTcgMCAtMjUgLTAuNXQtMjAgLTN0LTE3IC03LjV0LTkgLTE0LjV0LTQgLTI0LjVoLTI1djE1MGg1MDB2LTE1MHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTI0MjsiIGQ9Ik0xMDAwIDMwMHY1MHEtMjUgMCAtNTUgMzJxLTE0IDE0IC0yNSAzMXQtMTYgMjdsLTQgMTFsLTI4OSA3NDdoLTY5bC0zMDAgLTc1NHEtMTggLTM1IC0zOSAtNTZxLTkgLTkgLTI0LjUgLTE4LjV0LTI2LjUgLTE0LjVsLTExIC01di01MGgyNzN2NTBxLTQ5IDAgLTc4LjUgMjEuNXQtMTEuNSA2Ny41bDY5IDE3NmgyOTNsNjEgLTE2NnExMyAtMzQgLTMuNSAtNjYuNXQtNTUuNSAtMzIuNXYtNTBoMzEyek00MTIgNjkxbDEzNCAzNDJsMTIxIC0zNDIgaC0yNTV6TTExMDAgMTUwdi0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTI0MzsiIGQ9Ik01MCAxMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTExMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTExMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djExMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02MTEgMTExOGgtNzBxLTEzIDAgLTE4IC0xMmwtMjk5IC03NTNxLTE3IC0zMiAtMzUgLTUxcS0xOCAtMTggLTU2IC0zNHEtMTIgLTUgLTEyIC0xOHYtNTBxMCAtOCA1LjUgLTE0dDE0LjUgLTYgaDI3M3E4IDAgMTQgNnQ2IDE0djUwcTAgOCAtNiAxNHQtMTQgNnEtNTUgMCAtNzEgMjNxLTEwIDE0IDAgMzlsNjMgMTYzaDI2Nmw1NyAtMTUzcTExIC0zMSAtNiAtNTVxLTEyIC0xNyAtMzYgLTE3cS04IDAgLTE0IC02dC02IC0xNHYtNTBxMCAtOCA2IC0xNHQxNCAtNmgzMTNxOCAwIDE0IDZ0NiAxNHY1MHEwIDcgLTUuNSAxM3QtMTMuNSA3cS0xNyAwIC00MiAyNXEtMjUgMjcgLTQwIDYzaC0xbC0yODggNzQ4cS01IDEyIC0xOSAxMnpNNjM5IDYxMSBoLTE5N2wxMDMgMjY0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjQ0OyIgZD0iTTEyMDAgMTEwMGgtMTIwMHYxMDBoMTIwMHYtMTAwek01MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtOTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djkwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgOTAwdi0zMDBoMzAwdjMwMGgtMzAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjQ1OyIgZD0iTTUwIDEyMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di05MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2OTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjUwIDcwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNzAwIDYwMHYtMzAwaDMwMHYzMDBoLTMwMHpNMTIwMCAwaC0xMjAwdjEwMGgxMjAwdi0xMDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyNDY7IiBkPSJNNTAgMTAwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTM1MGgxMDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgxMDB2LTEwMGgtMTAwdi0xNTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTUwaC0xMDB2LTM1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2ODAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNzAwIDcwMHYtMzAwaDMwMHYzMDBoLTMwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTI0NzsiIGQ9Ik0xMDAgMGgtMTAwdjEyMDBoMTAwdi0xMjAwek0yNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMDAgMTAwMHYtMzAwaDMwMHYzMDBoLTMwMHpNMjUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTI0ODsiIGQ9Ik02MDAgMTEwMGgxNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTUwdi0xMDBoNDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgzNTB2MTAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDE1MHYxMDBoMTAwdi0xMDB6TTQwMCAxMDAwdi0zMDBoMzAwdjMwMGgtMzAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjQ5OyIgZD0iTTEyMDAgMGgtMTAwdjEyMDBoMTAwdi0xMjAwek01NTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02MDAgMTAwMHYtMzAwaDMwMHYzMDBoLTMwMHpNNTAgNTAwaDkwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwIHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjUwOyIgZD0iTTg2NSA1NjVsLTQ5NCAtNDk0cS0yMyAtMjMgLTQxIC0yM3EtMTQgMCAtMjIgMTMuNXQtOCAzOC41djEwMDBxMCAyNSA4IDM4LjV0MjIgMTMuNXExOCAwIDQxIC0yM2w0OTQgLTQ5NHExNCAtMTQgMTQgLTM1dC0xNCAtMzV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyNTE7IiBkPSJNMzM1IDYzNWw0OTQgNDk0cTI5IDI5IDUwIDIwLjV0MjEgLTQ5LjV2LTEwMDBxMCAtNDEgLTIxIC00OS41dC01MCAyMC41bC00OTQgNDk0cS0xNCAxNCAtMTQgMzV0MTQgMzV6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyNTI7IiBkPSJNMTAwIDkwMGgxMDAwcTQxIDAgNDkuNSAtMjF0LTIwLjUgLTUwbC00OTQgLTQ5NHEtMTQgLTE0IC0zNSAtMTR0LTM1IDE0bC00OTQgNDk0cS0yOSAyOSAtMjAuNSA1MHQ0OS41IDIxeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjUzOyIgZD0iTTYzNSA4NjVsNDk0IC00OTRxMjkgLTI5IDIwLjUgLTUwdC00OS41IC0yMWgtMTAwMHEtNDEgMCAtNDkuNSAyMXQyMC41IDUwbDQ5NCA0OTRxMTQgMTQgMzUgMTR0MzUgLTE0eiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjU0OyIgZD0iTTcwMCA3NDF2LTE4MmwtNjkyIC0zMjN2MjIxbDQxMyAxOTNsLTQxMyAxOTN2MjIxek0xMjAwIDBoLTgwMHYyMDBoODAwdi0yMDB6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeGUyNTU7IiBkPSJNMTIwMCA5MDBoLTIwMHYtMTAwaDIwMHYtMTAwaC0zMDB2MzAwaDIwMHYxMDBoLTIwMHYxMDBoMzAwdi0zMDB6TTAgNzAwaDUwcTAgMjEgNCAzN3Q5LjUgMjYuNXQxOCAxNy41dDIyIDExdDI4LjUgNS41dDMxIDJ0MzcgMC41aDEwMHYtNTUwcTAgLTIyIC0yNSAtMzQuNXQtNTAgLTEzLjVsLTI1IC0ydi0xMDBoNDAwdjEwMHEtNCAwIC0xMSAwLjV0LTI0IDN0LTMwIDd0LTI0IDE1dC0xMSAyNC41djU1MGgxMDBxMjUgMCAzNyAtMC41dDMxIC0yIHQyOC41IC01LjV0MjIgLTExdDE4IC0xNy41dDkuNSAtMjYuNXQ0IC0zN2g1MHYzMDBoLTgwMHYtMzAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjU2OyIgZD0iTTgwMCA3MDBoLTUwcTAgMjEgLTQgMzd0LTkuNSAyNi41dC0xOCAxNy41dC0yMiAxMXQtMjguNSA1LjV0LTMxIDJ0LTM3IDAuNWgtMTAwdi01NTBxMCAtMjIgMjUgLTM0LjV0NTAgLTE0LjVsMjUgLTF2LTEwMGgtNDAwdjEwMHE0IDAgMTEgMC41dDI0IDN0MzAgN3QyNCAxNXQxMSAyNC41djU1MGgtMTAwcS0yNSAwIC0zNyAtMC41dC0zMSAtMnQtMjguNSAtNS41dC0yMiAtMTF0LTE4IC0xNy41dC05LjUgLTI2LjV0LTQgLTM3aC01MHYzMDAgaDgwMHYtMzAwek0xMTAwIDIwMGgtMjAwdi0xMDBoMjAwdi0xMDBoLTMwMHYzMDBoMjAwdjEwMGgtMjAwdjEwMGgzMDB2LTMwMHoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTI1NzsiIGQ9Ik03MDEgMTA5OGgxNjBxMTYgMCAyMSAtMTF0LTcgLTIzbC00NjQgLTQ2NGw0NjQgLTQ2NHExMiAtMTIgNyAtMjN0LTIxIC0xMWgtMTYwcS0xMyAwIC0yMyA5bC00NzEgNDcxcS03IDggLTcgMTh0NyAxOGw0NzEgNDcxcTEwIDkgMjMgOXoiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTI1ODsiIGQ9Ik0zMzkgMTA5OGgxNjBxMTMgMCAyMyAtOWw0NzEgLTQ3MXE3IC04IDcgLTE4dC03IC0xOGwtNDcxIC00NzFxLTEwIC05IC0yMyAtOWgtMTYwcS0xNiAwIC0yMSAxMXQ3IDIzbDQ2NCA0NjRsLTQ2NCA0NjRxLTEyIDEyIC03IDIzdDIxIDExeiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3hlMjU5OyIgZD0iTTEwODcgODgycTExIC01IDExIC0yMXYtMTYwcTAgLTEzIC05IC0yM2wtNDcxIC00NzFxLTggLTcgLTE4IC03dC0xOCA3bC00NzEgNDcxcS05IDEwIC05IDIzdjE2MHEwIDE2IDExIDIxdDIzIC03bDQ2NCAtNDY0bDQ2NCA0NjRxMTIgMTIgMjMgN3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZTI2MDsiIGQ9Ik02MTggOTkzbDQ3MSAtNDcxcTkgLTEwIDkgLTIzdi0xNjBxMCAtMTYgLTExIC0yMXQtMjMgN2wtNDY0IDQ2NGwtNDY0IC00NjRxLTEyIC0xMiAtMjMgLTd0LTExIDIxdjE2MHEwIDEzIDkgMjNsNDcxIDQ3MXE4IDcgMTggN3QxOCAtN3oiIC8+Cis8Z2x5cGggdW5pY29kZT0iJiN4ZjhmZjsiIGQ9Ik0xMDAwIDEyMDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4cTAgMTI0IDg4IDIxMnQyMTIgODh6TTQ1MCAxMDAwaDEwMHEyMSAwIDQwIC0xNHQyNiAtMzNsNzkgLTE5NHE1IDEgMTYgM3EzNCA2IDU0IDkuNXQ2MCA3dDY1LjUgMXQ2MSAtMTB0NTYuNSAtMjN0NDIuNSAtNDJ0MjkgLTY0dDUgLTkydC0xOS41IC0xMjEuNXEtMSAtNyAtMyAtMTkuNXQtMTEgLTUwdC0yMC41IC03M3QtMzIuNSAtODEuNXQtNDYuNSAtODN0LTY0IC03MCB0LTgyLjUgLTUwcS0xMyAtNSAtNDIgLTV0LTY1LjUgMi41dC00Ny41IDIuNXEtMTQgMCAtNDkuNSAtMy41dC02MyAtMy41dC00My41IDdxLTU3IDI1IC0xMDQuNSA3OC41dC03NSAxMTEuNXQtNDYuNSAxMTJ0LTI2IDkwbC03IDM1cS0xNSA2MyAtMTggMTE1dDQuNSA4OC41dDI2IDY0dDM5LjUgNDMuNXQ1MiAyNS41dDU4LjUgMTN0NjIuNSAydDU5LjUgLTQuNXQ1NS41IC04bC0xNDcgMTkycS0xMiAxOCAtNS41IDMwdDI3LjUgMTJ6IiAvPgorPGdseXBoIHVuaWNvZGU9IiYjeDFmNTExOyIgZD0iTTI1MCAxMjAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTUwMGwtMjU1IC0xNzhxLTE5IC05IC0zMiAtMXQtMTMgMjl2NjUwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQwMCAxMTAwdi0xMDBoMzAwdjEwMGgtMzAweiIgLz4KKzxnbHlwaCB1bmljb2RlPSImI3gxZjZhYTsiIGQ9Ik0yNTAgMTIwMGg3NTBxMzkgMCA2OS41IC00MC41dDMwLjUgLTg0LjV2LTkzM2wtNzAwIC0xMTd2OTUwbDYwMCAxMjVoLTcwMHYtMTAwMGgtMTAwdjEwMjVxMCAyMyAxNS41IDQ5dDM0LjUgMjZ6TTUwMCA1MjV2LTEwMGwxMDAgMjB2MTAweiIgLz4KKzwvZm9udD4KKzwvZGVmcz48L3N2Zz4gClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci50dGYgYi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLnR0ZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDEzZmM2Ci0tLSAvZGV2L251bGwKKysrIGIvZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci50dGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmIGIvZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNjEyODUKLS0tIC9kZXYvbnVsbAorKysgYi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLndvZmYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmMiBiL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZjIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ1MzliNQotLS0gL2Rldi9udWxsCisrKyBiL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZjIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvZm9udHMvaW9uaWNvbnMuZW90IGIvZm9udHMvaW9uaWNvbnMuZW90Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljYWEzNDgKLS0tIC9kZXYvbnVsbAorKysgYi9mb250cy9pb25pY29ucy5lb3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvZm9udHMvaW9uaWNvbnMuc3ZnIGIvZm9udHMvaW9uaWNvbnMuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhNDdhMGYKLS0tIC9kZXYvbnVsbAorKysgYi9mb250cy9pb25pY29ucy5zdmcKQEAgLTAsMCArMSwyMjMwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KKzwhLS0KKzIwMTUtMS0xNDogQ3JlYXRlZC4KKy0tPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorPG1ldGFkYXRhPgorQ3JlYXRlZCBieSBGb250Rm9yZ2UgMjAxMjA3MzEgYXQgV2VkIEphbiAxNCAyMjo0MDoxNCAyMDE1CisgQnkgQWRhbSBCcmFkbGV5CitDcmVhdGVkIGJ5IEFkYW0gQnJhZGxleSB3aXRoIEZvbnRGb3JnZSAyLjAgKGh0dHA6Ly9mb250Zm9yZ2Uuc2YubmV0KQorPC9tZXRhZGF0YT4KKzxkZWZzPgorPGZvbnQgaWQ9Iklvbmljb25zIiBob3Jpei1hZHYteD0iNDQ4IiA+CisgIDxmb250LWZhY2UgCisgICAgZm9udC1mYW1pbHk9Iklvbmljb25zIgorICAgIGZvbnQtd2VpZ2h0PSI1MDAiCisgICAgZm9udC1zdHJldGNoPSJub3JtYWwiCisgICAgdW5pdHMtcGVyLWVtPSI1MTIiCisgICAgcGFub3NlLTE9IjIgMCA2IDMgMCAwIDAgMCAwIDAiCisgICAgYXNjZW50PSI0NDgiCisgICAgZGVzY2VudD0iLTY0IgorICAgIGJib3g9Ii0wLjU0MDQ5IC02NCA1MTIuNDg3IDQ0OCIKKyAgICB1bmRlcmxpbmUtdGhpY2tuZXNzPSIyNS42IgorICAgIHVuZGVybGluZS1wb3NpdGlvbj0iLTUxLjIiCisgICAgdW5pY29kZS1yYW5nZT0iVStGMTAwLUY0RjciCisgIC8+CisgICAgPG1pc3NpbmctZ2x5cGggLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFsZXJ0LWNpcmNsZWQiIHVuaWNvZGU9IiYjeGYxMDA7IiAKK2Q9Ik00NDUgMjZjMyAtNSA1IC0xMyAyIC0xOHMtOCAtOCAtMTQgLThoLTQxOGMtNiAwIC0xMSAzIC0xNCA4cy0xIDEzIDIgMThsMjA3IDM0OWMzIDUgOCA5IDE0IDlzMTEgLTQgMTQgLTl6TTI1NiA0OHY0OGgtNjR2LTQ4aDY0ek0yNTYgMTI4djE0NGgtNjR2LTE0NGg2NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbGVydCIgdW5pY29kZT0iJiN4ZjEwMTsiIGhvcml6LWFkdi14PSIxMjgiIAorZD0iTTEyOCAtMzJoLTEyOHY5NmgxMjh2LTk2ek0xMTIgMTI4aC05NmwtMTYgMjg4aDEyOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWFkZC1jaXJjbGUiIHVuaWNvZGU9IiYjeGYzNTk7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggNDAwYzExNSAwIDIwOCAtOTMgMjA4IC0yMDhzLTkzIC0yMDggLTIwOCAtMjA4cy0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDh6TTMxNSAxNzF2NDJoLTg2djg2aC00MnYtODZoLTg2di00Mmg4NnYtODZoNDJ2ODZoODZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1hZGQiIHVuaWNvZGU9IiYjeGYyYzc7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0zMjAgMTcxaC0xMzl2LTEzOWgtNDJ2MTM5aC0xMzl2NDJoMTM5djEzOWg0MnYtMTM5aDEzOXYtNDJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1hbGFybS1jbG9jayIgdW5pY29kZT0iJiN4ZjM1YTsiIGhvcml6LWFkdi14PSI0MjgiIAorZD0iTTQyOCAzMjNsLTI4IC0zM2wtOTggODJsMjggMzN6TTEyNSAzNzNsLTk3IC04M2wtMjggMzNsOTcgODN6TTIyNSAyNzV2MHYtMTExbDg1IC01MGwtMTYgLTI3bC0xMDEgNjF2MTI3aDMyek0yMTQgMzYwYzEwNiAwIDE5MyAtODYgMTkzIC0xOTFzLTg3IC0xOTEgLTE5MyAtMTkxYy0xMDcgMCAtMTkzIDg2IC0xOTMgMTkxczg2IDE5MSAxOTMgMTkxek0yMTQgMjBjODIgMCAxNTAgNjYgMTUwIDE0OWMwIDgyIC02OCAxNDkgLTE1MCAxNDkKK3MtMTUwIC02NyAtMTUwIC0xNDlzNjggLTE0OSAxNTAgLTE0OXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWFsZXJ0IiB1bmljb2RlPSImI3hmMzViOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IDQwMGMxMTQgMCAyMDggLTk0IDIwOCAtMjA4cy05NCAtMjA4IC0yMDggLTIwOHMtMjA4IDk0IC0yMDggMjA4czk0IDIwOCAyMDggMjA4ek0yMzIgODh2NDBoLTQ4di00MGg0OHpNMjMyIDE3NnYxMjhoLTQ4di0xMjhoNDh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1hcHBzIiB1bmljb2RlPSImI3hmMzVjOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMCAyNzJ2ODBoODB2LTgwaC04MHpNMTIwIDMydjgwaDgwdi04MGgtODB6TTAgMzJ2ODBoODB2LTgwaC04MHpNMCAxNTJ2ODBoODB2LTgwaC04MHpNMTIwIDE1MnY4MGg4MHYtODBoLTgwek0yNDAgMzUyaDgwdi04MGgtODB2ODB6TTEyMCAyNzJ2ODBoODB2LTgwaC04MHpNMjQwIDE1MnY4MGg4MHYtODBoLTgwek0yNDAgMzJ2ODBoODB2LTgwaC04MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWFyY2hpdmUiIHVuaWNvZGU9IiYjeGYyYzk7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik00MDYgMzQ4YzcgLTcgMTAgLTE3IDEwIC0yOXYtMjg5YzAgLTI1IC0yMSAtNDYgLTQ2IC00NmgtMzI0Yy0yNSAwIC00NiAyMSAtNDYgNDZ2Mjg5YzAgMTIgMyAyMiAxMCAyOWwzMyAzOWM2IDggMTYgMTMgMjYgMTNoMjc4YzEwIDAgMjAgLTUgMjYgLTEzek0yMDggNjVsMTI3IDEyN2gtODF2NDZoLTkydi00NmgtODF6TTQ5IDM1NGgzMTdsLTIyIDIzaC0yNzd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1hcnJvdy1iYWNrIiB1bmljb2RlPSImI3hmMmNhOyIgaG9yaXotYWR2LXg9IjM0MiIgCitkPSJNMzQyIDIxM3YtNDJoLTI2MGwxMTkgLTEyMGwtMzAgLTMwbC0xNzEgMTcxbDE3MSAxNzFsMzEgLTMwbC0xMjAgLTEyMGgyNjB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1hcnJvdy1kb3duIiB1bmljb2RlPSImI3hmMzVkOyIgaG9yaXotYWR2LXg9IjM0MiIgCitkPSJNMTkyIDM2M3YtMjYwbDEyMCAxMjBsMzAgLTMxbC0xNzEgLTE3MWwtMTcxIDE3MWwzMCAzMGwxMjAgLTExOXYyNjBoNDJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1hcnJvdy1kcm9wZG93bi1jaXJjbGUiIHVuaWNvZGU9IiYjeGYzNWU7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggNDAwYzExNSAwIDIwOCAtOTMgMjA4IC0yMDhzLTkzIC0yMDggLTIwOCAtMjA4cy0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDh6TTIwOCAxMjhsOTYgOTZoLTE5MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWFycm93LWRyb3Bkb3duIiB1bmljb2RlPSImI3hmMzVmOyIgaG9yaXotYWR2LXg9IjI1NiIgCitkPSJNMCAyNTZoMjU2bC0xMjggLTEyOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWFycm93LWRyb3BsZWZ0LWNpcmNsZSIgdW5pY29kZT0iJiN4ZjM2MDsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTQxNiAxOTJjMCAtMTE1IC05MyAtMjA4IC0yMDggLTIwOHMtMjA4IDkzIC0yMDggMjA4czkzIDIwOCAyMDggMjA4czIwOCAtOTMgMjA4IC0yMDh6TTE0NCAxOTJsOTYgLTk2djE5MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWFycm93LWRyb3BsZWZ0IiB1bmljb2RlPSImI3hmMzYxOyIgaG9yaXotYWR2LXg9IjEyOCIgCitkPSJNMTI4IDMyMHYtMjU2bC0xMjggMTI4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtYXJyb3ctZHJvcHJpZ2h0LWNpcmNsZSIgdW5pY29kZT0iJiN4ZjM2MjsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCAtMTZjLTExNSAwIC0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDhzMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDh6TTE3NiA5Nmw5NiA5NmwtOTYgOTZ2LTE5MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWFycm93LWRyb3ByaWdodCIgdW5pY29kZT0iJiN4ZjM2MzsiIGhvcml6LWFkdi14PSIxMjgiIAorZD0iTTAgMzIwbDEyOCAtMTI4bC0xMjggLTEyOHYyNTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1hcnJvdy1kcm9wdXAtY2lyY2xlIiB1bmljb2RlPSImI3hmMzY0OyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNNDE2IDE5MmMwIC0xMTUgLTkzIC0yMDggLTIwOCAtMjA4cy0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDhzMjA4IC05MyAyMDggLTIwOHpNMzA0IDE2MGwtOTYgOTZsLTk2IC05NmgxOTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1hcnJvdy1kcm9wdXAiIHVuaWNvZGU9IiYjeGYzNjU7IiBob3Jpei1hZHYteD0iMjU2IiAKK2Q9Ik0wIDEyOGwxMjggMTI4bDEyOCAtMTI4aC0yNTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1hcnJvdy1mb3J3YXJkIiB1bmljb2RlPSImI3hmMzBmOyIgaG9yaXotYWR2LXg9IjM0MiIgCitkPSJNMCAxNzF2NDJoMjYwbC0xMTkgMTIwbDMwIDMwbDE3MSAtMTcxbC0xNzEgLTE3MWwtMzEgMzBsMTIwIDEyMGgtMjYweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtYXJyb3ctdXAiIHVuaWNvZGU9IiYjeGYzNjY7IiBob3Jpei1hZHYteD0iMzQyIiAKK2Q9Ik0xOTIgMjFoLTQydjI2MGwtMTIwIC0xMTlsLTMwIDMwbDE3MSAxNzFsMTcxIC0xNzFsLTMwIC0zMWwtMTIwIDEyMHYtMjYweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtYXR0YWNoIiB1bmljb2RlPSImI3hmMzY3OyIgaG9yaXotYWR2LXg9IjIzNSIgCitkPSJNMjAzIDMyMGgzMnYtMjM1YzAgLTY1IC01MyAtMTE3IC0xMTggLTExN3MtMTE3IDUyIC0xMTcgMTE3djI0NmMwIDQ3IDM4IDg1IDg1IDg1czg2IC0zOCA4NiAtODV2LTI0NmMwIC0zMCAtMjQgLTUzIC01NCAtNTNzLTUzIDIzIC01MyA1M3YyMDNoMzJ2LTIwM2MwIC0xMiA5IC0yMSAyMSAtMjFzMjIgOSAyMiAyMXYyNDZjMCAzMCAtMjQgNTMgLTU0IDUzcy01MyAtMjMgLTUzIC01M3YtMjQ2YzAgLTQ3IDM4IC04NSA4NSAtODUKK3M4NiAzOCA4NiA4NXYyMzV6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1iYXIiIHVuaWNvZGU9IiYjeGYzNjg7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xNzEgMTcxbC0xNzEgMTcwdjQzaDM4NHYtNDNsLTE3MSAtMTcwdi0xMzFoMTA3di00MGgtMjU2djQwaDEwN3YxMzF6TTk2IDI5OWgxOTJsNDMgNDJoLTI3OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWJpY3ljbGUiIHVuaWNvZGU9IiYjeGYzNjk7IiAKK2Q9Ik0yOTkgMzE3Yy0xOSAwIC0zNCAxNCAtMzQgMzNzMTUgMzQgMzQgMzRzMzMgLTE1IDMzIC0zNHMtMTQgLTMzIC0zMyAtMzN6TTM1NSAxODdjNTEgMCA5MyAtNDMgOTMgLTk0cy00MiAtOTMgLTkzIC05M3MtOTQgNDIgLTk0IDkzczQzIDk0IDk0IDk0ek0zNTUgMjhjMzYgMCA2NSAyOSA2NSA2NXMtMjkgNjYgLTY1IDY2cy02NiAtMzAgLTY2IC02NnMzMCAtNjUgNjYgLTY1ek0yNzQgMjI0bC0zMCA0NWwtNDMgLTQ1bDM5IC0zMnYtMTEyaC0zMgordjg2bC02MSAzOGMtOSA2IC0xOSAxNSAtMTkgMjdjMCA4IDMgMTcgOSAyM2w3MiA2OWM2IDYgMTQgOSAyMiA5YzExIDAgMjIgLTcgMjggLTE2bDM0IC02MGg1OXYtMzJoLTc4ek05MyAxODdjNTEgMCA5NCAtNDMgOTQgLTk0cy00MyAtOTMgLTk0IC05M3MtOTMgNDIgLTkzIDkzczQyIDk0IDkzIDk0ek05MyAyOGMzNiAwIDY2IDI5IDY2IDY1cy0zMCA2NiAtNjYgNjZzLTY1IC0zMCAtNjUgLTY2czI5IC02NSA2NSAtNjV6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1ib2F0IiB1bmljb2RlPSImI3hmMzZhOyIgCitkPSJNNTIgMzVsLTUxIDEzOWMtMiA2IC0xIDEyIDEgMTdzOCA4IDEzIDEwbDM4IDEzdjk4YzAgMjMgMjAgNDMgNDMgNDNoNjRsMTYgNTNoOTZsMTYgLTUzaDY0YzIzIDAgNDMgLTIwIDQzIC00M3YtOThsMzggLTEzYzUgLTIgMTEgLTUgMTMgLTEwczMgLTEyIDEgLTE3bC01MSAtMTM5aC0xYy0zNCAwIC02NSAyMCAtODYgNDNjLTIxIC0yMyAtNTEgLTQzIC04NSAtNDNzLTY0IDE5IC04NSA0MmMtMjEgLTIzIC01MiAtNDIgLTg2IC00MmgtMXoKK005NiAzMTJ2LTg0bDEyOCA0MWwxMjggLTQxdjg0aC0yNTZ6TTMwOSA0MGMwIDAgNTkgLTY0IDEwNyAtNjRoLTIxYy0zMCAwIC01OSAxMiAtODYgMjZjLTUzIC0yOCAtMTE3IC0yOCAtMTcwIDBjLTI3IC0xNCAtNTYgLTI2IC04NiAtMjZoLTIxYzQ5IDAgMTA3IDY0IDEwNyA2NGM1MiAtMzYgMTE4IC0zNiAxNzAgMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWJvb2ttYXJrIiB1bmljb2RlPSImI3hmMzZiOyIgaG9yaXotYWR2LXg9IjI4OCIgCitkPSJNMjQ4IDM4NGMyMiAwIDQwIC0xOCA0MCAtNDB2LTM0NGwtMTQ0IDY0bC0xNDQgLTY0djM0NGMwIDIyIDE4IDQwIDQwIDQwaDIwOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWJ1bGIiIHVuaWNvZGU9IiYjeGYzNmM7IiAKK2Q9Ik0yMjQgMjc4Yy0yNSAwIC01MCAtMTAgLTY4IC0yOHMtMjggLTQzIC0yOCAtNjhjMCAtMzQgMTggLTY2IDQ4IC04M2wxNiAtMTB2LTE4di03MWg2NHY3MXYxOGwxNiAxMGMxNSA4IDI3IDIwIDM1IDM0YzkgMTUgMTMgMzEgMTMgNDljMCAyNSAtMTAgNTAgLTI4IDY4cy00MyAyOCAtNjggMjh6TTI0NSA0MTZ2MHYtNjRoLTQydjY0aDQyek0zNzQgMzYydjBsMzAgLTMwbC0zOCAtMzhsLTMwIDMwek03NCAzNjJ2MGwzOCAtMzhsLTMwIC0zMAorbC0zOCAzOHpNMjI0IDMxMHYwYzcwIDAgMTI4IC01OCAxMjggLTEyOGMwIC00OCAtMjYgLTg5IC02NCAtMTExdi0xMDNoLTEyOHYxMDNjLTM4IDIyIC02NCA2NCAtNjQgMTExYzAgNzAgNTggMTI4IDEyOCAxMjh6TTQ0OCAyMDN2MHYtNDJoLTY0djQyaDY0ek02NCAyMDN2MHYtNDJoLTY0djQyaDY0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtYnVzIiB1bmljb2RlPSImI3hmMzZkOyIgaG9yaXotYWR2LXg9IjM1MiIgCitkPSJNMCA5NnYyMDRjMCA3NSA4MiA4NCAxNzYgODRzMTc2IC05IDE3NiAtODR2LTIwNGMwIC0xOCAtMTQgLTI0IC0yNyAtMzZ2LTM5YzAgLTEyIC05IC0yMSAtMjEgLTIxaC0yMWMtMTIgMCAtMjIgOSAtMjIgMjF2MjJoLTE3MHYtMjJjMCAtMTIgLTEwIC0yMSAtMjIgLTIxaC0yMWMtMTIgMCAtMjEgOSAtMjEgMjF2MzljLTEzIDEyIC0yNyAxNyAtMjcgMzZ6TTgwIDgwYzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMgorcy0zMiAtMTQgLTMyIC0zMnMxNCAtMzIgMzIgLTMyek0yNzIgODBjMTggMCAzMiAxNCAzMiAzMnMtMTQgMzIgLTMyIDMycy0zMiAtMTQgLTMyIC0zMnMxNCAtMzIgMzIgLTMyek0zMDQgMjAzdjEwNmgtMjU2di0xMDZoMjU2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtY2FsZW5kYXIiIHVuaWNvZGU9IiYjeGYyZDE7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zMDQgMTc2di05NmgtOTZ2OTZoOTZ6TTI3MiAzODRoNDh2LTMyaDI0YzIyIDAgNDAgLTE4IDQwIC00MHYtMjcyYzAgLTIyIC0xOCAtNDAgLTQwIC00MGgtMzA0Yy0yMiAwIC00MCAxOCAtNDAgNDB2MjcyYzAgMjIgMTggNDAgNDAgNDBoMjR2MzJoNDh2LTMyaDE2MHYzMnpNMzQ0IDQwdjIxMmgtMzA0di0yMTJoMzA0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtY2FsbCIgdW5pY29kZT0iJiN4ZjJkMjsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM2MyAxMTdjMTIgMCAyMSAtOSAyMSAtMjF2LTc1YzAgLTEyIC05IC0yMSAtMjEgLTIxYy0yMDEgMCAtMzYzIDE2MiAtMzYzIDM2M2MwIDEyIDkgMjEgMjEgMjFoNzVjMTIgMCAyMSAtOSAyMSAtMjFjMCAtMjcgNCAtNTIgMTMgLTc3YzIgLTcgMCAtMTYgLTUgLTIxbC00NyAtNDdjMzEgLTYxIDgwIC0xMTAgMTQxIC0xNDFsNDcgNDdjNSA2IDE0IDcgMjEgNWMyMyAtNyA0OSAtMTIgNzYgLTEyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtY2FtZXJhIiB1bmljb2RlPSImI3hmMmQzOyIgCitkPSJNMTYxIDE2OGMwIDQyIDIxIDYzIDYzIDYzczYzIC0yMSA2MyAtNjNzLTIxIC02MyAtNjMgLTYzcy02MyAyMSAtNjMgNjN6TTQwOCAzNTJjMTEgMCAyMCAtNCAyOCAtMTJzMTIgLTE3IDEyIC0yOHYtMjcyYzAgLTExIC00IC0yMCAtMTIgLTI4cy0xNyAtMTIgLTI4IC0xMmgtMzY4Yy0xMSAwIC0yMCA0IC0yOCAxMnMtMTIgMTcgLTEyIDI4djI3MmMwIDExIDQgMjAgMTIgMjhzMTcgMTIgMjggMTJoODhsMzIgMzJoMTI4bDMyIC0zMmg4OHoKK00yMjQgNTZjMzEgMCA1NyAxMSA3OSAzM3MzMyA0OCAzMyA3OXMtMTEgNTcgLTMzIDc5cy00OCAzMyAtNzkgMzNzLTU3IC0xMSAtNzkgLTMzcy0zMyAtNDggLTMzIC03OXMxMSAtNTcgMzMgLTc5czQ4IC0zMyA3OSAtMzN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1jYW5jZWwiIHVuaWNvZGU9IiYjeGYzNmU7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggNDAwYzExNSAwIDIwOCAtOTMgMjA4IC0yMDhzLTkzIC0yMDggLTIwOCAtMjA4cy0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDh6TTMxMiAxMTdsLTc1IDc1bDc1IDc1bC0yOSAyOWwtNzUgLTc1bC03NSA3NWwtMjkgLTI5bDc1IC03NWwtNzUgLTc1bDI5IC0yOWw3NSA3NWw3NSAtNzV6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1jYXIiIHVuaWNvZGU9IiYjeGYzNmY7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zMzkgMzMxbDQ1IC0xMTh2LTE2MGMwIC0xMiAtOSAtMjEgLTIxIC0yMWgtMjJjLTEyIDAgLTIxIDkgLTIxIDIxdjExaC0yNTZ2LTExYzAgLTEyIC05IC0yMSAtMjEgLTIxaC0yMmMtMTIgMCAtMjEgOSAtMjEgMjF2MTYwbDQ1IDExOGM0IDEzIDE2IDIxIDMwIDIxaDIzNGMxNCAwIDI2IC04IDMwIC0yMXpNNzUgMTI4YzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnpNMzA5IDEyOAorYzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnpNNDMgMjM1aDI5OGwtMzIgODVoLTIzNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWNhcnQiIHVuaWNvZGU9IiYjeGYzNzA7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0xMjIgNzBjMjMgMCA0MSAtMTggNDEgLTQxcy0xOCAtNDIgLTQxIC00MnMtNDIgMTkgLTQyIDQyczE5IDQxIDQyIDQxek0wIDM5N2g2OGwxOSAtNDJoMzA4YzExIDAgMjEgLTkgMjEgLTIwYzAgLTQgLTEgLTggLTIgLTEwbC03NSAtMTI5Yy03IC0xNCAtMjAgLTIyIC0zNiAtMjJoLTE1NWwtMjEgLTMycy0yIC01IC0yIC02YzAgLTMgMiAtNSA1IC01aDIzOHYtNDBoLTI0M2MtMjYgMCAtNDUgMTQgLTQ1IDQyYzAgNyAyIDE1IDUgMjBsMzEgNTEKK2wtNzQgMTUxaC00MnY0MnpNMzI2IDcwYzIzIDAgNDIgLTE4IDQyIC00MXMtMTkgLTQyIC00MiAtNDJzLTQxIDE5IC00MSA0MnMxOCA0MSA0MSA0MXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWNoYXQiIHVuaWNvZGU9IiYjeGYyZDQ7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0zNDQgMzg0YzQgMCA3IC00IDcgLTh2LTIxNGMwIC00IC0zIC05IC03IC05aC0xODdsLTkwIC04OXY4OWgtNTdjLTQgMCAtMTAgNSAtMTAgOXYyMTRjMCA0IDYgOCAxMCA4aDMzNHpNNDA4IDMyMWM0IDAgOCAtNSA4IC05di0yMTRjMCAtNCAtNCAtOSAtOCAtOWgtNTd2LTg5bC05MCA4OWgtMTMwbDM5IDM5aDE4MWMxOCAwIDI1IDEwIDI1IDI2djE2N2gzMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWNoZWNrYm94LWJsYW5rIiB1bmljb2RlPSImI3hmMzcxOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzQxIDM4NGMyMyAwIDQzIC0yMCA0MyAtNDN2LTI5OGMwIC0yMyAtMjAgLTQzIC00MyAtNDNoLTI5OGMtMjMgMCAtNDMgMjAgLTQzIDQzdjI5OGMwIDIzIDIwIDQzIDQzIDQzaDI5OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWNoZWNrYm94LW91dGxpbmUtYmxhbmsiIHVuaWNvZGU9IiYjeGYzNzI7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNDEgMzQxaC0yOTh2LTI5OGgyOTh2Mjk4ek0zNDEgMzg0djBjMjMgMCA0MyAtMjAgNDMgLTQzdi0yOThjMCAtMjMgLTIwIC00MyAtNDMgLTQzaC0yOThjLTIzIDAgLTQzIDIwIC00MyA0M3YyOThjMCAyMyAyMCA0MyA0MyA0M2gyOTh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1jaGVja2JveC1vdXRsaW5lIiB1bmljb2RlPSImI3hmMzczOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMTA1IDIzM2w2NiAtNjZsMTgzIDE4M2wzMCAtMzBsLTIxMyAtMjEzbC05NiA5NnpNMzQxIDQzdjE3MGg0M3YtMTcwYzAgLTIzIC0yMCAtNDMgLTQzIC00M2gtMjk4Yy0yMyAwIC00MyAyMCAtNDMgNDN2Mjk4YzAgMjMgMjAgNDMgNDMgNDNoMjEzdi00M2gtMjEzdi0yOThoMjk4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtY2hlY2tib3giIHVuaWNvZGU9IiYjeGYzNzQ7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNDEgMzg0YzIzIDAgNDMgLTIwIDQzIC00M3YtMjk4YzAgLTIzIC0yMCAtNDMgLTQzIC00M2gtMjk4Yy0yMyAwIC00MyAyMCAtNDMgNDN2Mjk4YzAgMjMgMjAgNDMgNDMgNDNoMjk4ek0xNDkgODVsMTkyIDE5MmwtMzAgMzBsLTE2MiAtMTYybC03NiA3N2wtMzAgLTMweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtY2hlY2ttYXJrLWNpcmNsZSIgdW5pY29kZT0iJiN4ZjM3NTsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTEyMyAyMzJsNjQgLTY0bDE3OSAxNzhsMjkgLTI5bC0yMDggLTIwOGwtOTMgOTN6TTM3NCAxOTJoNDJjMCAtMTE0IC05NCAtMjA4IC0yMDggLTIwOHMtMjA4IDk0IC0yMDggMjA4czk0IDIwOCAyMDggMjA4YzI4IDAgNTQgLTYgNzggLTE2bC0zMiAtMzJjLTE1IDQgLTMwIDYgLTQ2IDZjLTkyIDAgLTE2NiAtNzQgLTE2NiAtMTY2czc0IC0xNjYgMTY2IC0xNjZzMTY2IDc0IDE2NiAxNjZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1jbGlwYm9hcmQiIHVuaWNvZGU9IiYjeGYzNzY7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNDEgMzY4YzIzIDAgNDMgLTIwIDQzIC00M3YtMzE0YzAgLTIzIC0yMCAtNDMgLTQzIC00M2gtMjk4Yy0yMyAwIC00MyAyMCAtNDMgNDN2MzE0YzAgMjMgMjAgNDMgNDMgNDNoODdjNyAyOCAzMiA0OCA2MiA0OHM1NSAtMjAgNjIgLTQ4aDg3ek0xOTIgMzY4Yy0xMiAwIC0yMSAtOSAtMjEgLTIxczkgLTIyIDIxIC0yMnMyMSAxMCAyMSAyMnMtOSAyMSAtMjEgMjF6TTM0NCA4djMyMGgtNDB2LTcyaC0yMjR2NzJoLTQwdi0zMjBoMzA0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtY2xvc2UiIHVuaWNvZGU9IiYjeGYyZDc7IiBob3Jpei1hZHYteD0iMjk4IiAKK2Q9Ik0yOTggMzExbC0xMTkgLTExOWwxMTkgLTExOWwtMzAgLTMwbC0xMTkgMTE5bC0xMTkgLTExOWwtMzAgMzBsMTE5IDExOWwtMTE5IDExOWwzMCAzMGwxMTkgLTExOWwxMTkgMTE5eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtY2xvdWQtY2lyY2xlIiB1bmljb2RlPSImI3hmMzc3OyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IDQwMGMxMTQgMCAyMDggLTk0IDIwOCAtMjA4cy05NCAtMjA4IC0yMDggLTIwOHMtMjA4IDk0IC0yMDggMjA4czk0IDIwOCAyMDggMjA4ek0zMDIgMTA5YzI5IDAgNTIgMjMgNTIgNTJzLTIzIDUyIC01MiA1MmgtMTFjMCA0NiAtMzcgODMgLTgzIDgzYy0zOCAwIC03MSAtMjYgLTgwIC02MmgtM2MtMzQgMCAtNjMgLTI5IC02MyAtNjNzMjkgLTYyIDYzIC02MmgxNzd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1jbG91ZC1kb25lIiB1bmljb2RlPSImI3hmMzc4OyIgaG9yaXotYWR2LXg9IjQ4MCIgCitkPSJNMzg3IDIzMWM1MiAtMyA5MyAtNDYgOTMgLTk5YzAgLTU1IC00NSAtMTAwIC0xMDAgLTEwMGgtMjYwYy02NiAwIC0xMjAgNTQgLTEyMCAxMjBjMCA2MiA0NyAxMTMgMTA3IDExOWMyNSA0OCA3NSA4MSAxMzMgODFjNzMgMCAxMzMgLTUyIDE0NyAtMTIxek0xOTcgODVsMTQxIDE0MWwtMzAgMzBsLTExMSAtMTExbC00NCA0NWwtMzAgLTMweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtY2xvdWQtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjM3OTsiIGhvcml6LWFkdi14PSI0ODAiIAorZD0iTTM4NyAyMzFjNTIgLTMgOTMgLTQ2IDkzIC05OWMwIC01NSAtNDUgLTEwMCAtMTAwIC0xMDBoLTI2MGMtNjYgMCAtMTIwIDU0IC0xMjAgMTIwYzAgNjIgNDcgMTEzIDEwNyAxMTljMjUgNDggNzUgODEgMTMzIDgxYzczIDAgMTMzIC01MiAxNDcgLTEyMXpNMzgwIDcyYzMzIDAgNjAgMjcgNjAgNjBzLTI3IDYwIC02MCA2MGgtMzB2MTBjMCA2MSAtNDkgMTEwIC0xMTAgMTEwYy01MSAwIC05MyAtMzQgLTEwNiAtODBoLTE0CitjLTQ0IDAgLTgwIC0zNiAtODAgLTgwczM2IC04MCA4MCAtODBoMjYweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtY2xvdWQiIHVuaWNvZGU9IiYjeGYzN2E7IiBob3Jpei1hZHYteD0iNDgwIiAKK2Q9Ik0zODcgMjMxYzUyIC0zIDkzIC00NiA5MyAtOTljMCAtNTUgLTQ1IC0xMDAgLTEwMCAtMTAwaC0yNjBjLTY2IDAgLTEyMCA1NCAtMTIwIDEyMGMwIDYyIDQ3IDExMyAxMDcgMTE5YzI1IDQ4IDc1IDgxIDEzMyA4MWM3MyAwIDEzMyAtNTIgMTQ3IC0xMjF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1jb2xvci1wYWxldHRlIiB1bmljb2RlPSImI3hmMzdiOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMTkyIDM4NGMxMDYgMCAxOTIgLTc3IDE5MiAtMTcxYzAgLTU5IC00OCAtMTA2IC0xMDcgLTEwNmgtMzhjLTE4IDAgLTMyIC0xNCAtMzIgLTMyYzAgLTkgMyAtMTcgOCAtMjJzOSAtMTIgOSAtMjFjMCAtMTggLTE0IC0zMiAtMzIgLTMyYy0xMDYgMCAtMTkyIDg2IC0xOTIgMTkyczg2IDE5MiAxOTIgMTkyek03NSAxOTJjMTggMCAzMiAxNCAzMiAzMnMtMTQgMzIgLTMyIDMycy0zMiAtMTQgLTMyIC0zMnMxNCAtMzIgMzIgLTMyek0xMzkgMjc3CitjMTggMCAzMiAxNCAzMiAzMnMtMTQgMzIgLTMyIDMycy0zMiAtMTQgLTMyIC0zMnMxNCAtMzIgMzIgLTMyek0yNDUgMjc3YzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnpNMzA5IDE5MmMxOCAwIDMyIDE0IDMyIDMycy0xNCAzMiAtMzIgMzJzLTMyIC0xNCAtMzIgLTMyczE0IC0zMiAzMiAtMzJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1jb21wYXNzIiB1bmljb2RlPSImI3hmMzdjOyIgCitkPSJNMjI0IDIxN2MxMyAwIDI1IC0xMiAyNSAtMjVzLTEyIC0yNSAtMjUgLTI1cy0yNSAxMiAtMjUgMjVzMTIgMjUgMjUgMjV6TTIyNCA0MTZjMTIzIDAgMjI0IC0xMDEgMjI0IC0yMjRzLTEwMSAtMjI0IC0yMjQgLTIyNHMtMjI0IDEwMSAtMjI0IDIyNHMxMDEgMjI0IDIyNCAyMjR6TTI3MyAxNDNsODUgMTgzbC0xODMgLTg1bC04NSAtMTgzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtY29udGFjdCIgdW5pY29kZT0iJiN4ZjJkODsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTI2NyAxMTBjNTkgLTE4IDEwNCAtNTggMTE3IC0xMTBoLTM4NGMxMyA1MiA1OCA5MiAxMTcgMTEwYzIyIC0xMyA0OCAtMjAgNzUgLTIwczUzIDcgNzUgMjB6TTE5MiAzODRjNzMgMCAxMzIgLTU5IDEzMiAtMTMycy01OSAtMTMyIC0xMzIgLTEzMnMtMTMyIDU5IC0xMzIgMTMyczU5IDEzMiAxMzIgMTMyek0xOTIgMTUzYzQyIDAgNzggMjYgOTIgNjNoLTE4NGMxNCAtMzcgNTAgLTYzIDkyIC02M3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWNvbnRhY3RzIiB1bmljb2RlPSImI3hmMmQ5OyIgCitkPSJNMjA3IDEwNGM0NyAtMTQgNzYgLTYyIDg3IC0xMDRoLTI5NGMxMSA0MiA0MCA5MCA4NyAxMDRjMTggLTEwIDM4IC0xNiA2MCAtMTZzNDIgNiA2MCAxNnpNMTQ3IDMyOGM1OCAwIDEwNiAtNDggMTA2IC0xMDZzLTQ4IC0xMDYgLTEwNiAtMTA2cy0xMDYgNDggLTEwNiAxMDZzNDggMTA2IDEwNiAxMDZ6TTE0NyAxNDFjMzQgMCA2MiAyMyA3NCA1MWgtMTQ4YzEyIC0yOCA0MCAtNTEgNzQgLTUxek0yOTEgNjRjLTEzIDIwIC0zNCA0MyAtNjAgNTMKK2MxMSA5IDIxIDIzIDI4IDM1YzEzIC01IDI3IC04IDQyIC04YzIyIDAgNDIgNiA2MCAxNmM0NyAtMTQgNzYgLTU0IDg3IC05NmgtMTU3ek0yNzUgMjQ4Yy04IDM3IC0zMSA2OSAtNjMgODdjMTkgMjkgNTIgNDkgODkgNDljNTggMCAxMDYgLTQ4IDEwNiAtMTA2cy00OCAtMTA2IC0xMDYgLTEwNmMtMTEgMCAtMjIgMiAtMzIgNWMzIDggNiAxNiA3IDI1YzggLTMgMTYgLTQgMjUgLTRjMzQgMCA2MiAyMiA3NCA1MGgtMTAweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtY29udHJhY3QiIHVuaWNvZGU9IiYjeGYzN2Q7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0wIDc3djUxaDEyOHYtMTI4aC01MXY3N2gtNzd6TTc3IDMwN3Y3N2g1MXYtMTI4aC0xMjh2NTFoNzd6TTI1NiAwdjEyOGgxMjh2LTUxaC03N3YtNzdoLTUxek0zMDcgMzA3aDc3di01MWgtMTI4djEyOGg1MXYtNzd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1jcmVhdGUiIHVuaWNvZGU9IiYjeGYzN2U7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0wIDgwbDIzNiAyMzZsODAgLTgwbC0yMzYgLTIzNmgtODB2ODB6TTM3OCAyOThsLTQwIC00MGwtODAgODBsNDAgNDBjOSA5IDIwIDkgMjkgMGw1MSAtNTFjOSAtOSA5IC0yMCAwIC0yOXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWRlbGV0ZSIgdW5pY29kZT0iJiN4ZjM3ZjsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTMyIDQzdjI0NWgyNTZ2LTI0NWMwIC0yMyAtMjAgLTQzIC00MyAtNDNoLTE3MGMtMjMgMCAtNDMgMjAgLTQzIDQzek0zMjAgMzUydi0zMmgtMzIwdjMyaDgwbDI3IDMyaDEwNmwyNyAtMzJoODB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1kZXNrdG9wIiB1bmljb2RlPSImI3hmMzgwOyIgCitkPSJNNDA1IDQxNmMyMyAwIDQzIC0yMCA0MyAtNDN2LTI4MmMwIC0yMyAtMjAgLTQzIC00MyAtNDNoLTEzOGw0MiAtNDh2LTMyaC0xNzB2MzJsNDIgNDhoLTEzOGMtMjMgMCAtNDMgMjAgLTQzIDQzdjI4MmMwIDIzIDIwIDQzIDQzIDQzaDM2MnpNNDA1IDEyOHYyNDVoLTM2MnYtMjQ1aDM2MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWRvY3VtZW50IiB1bmljb2RlPSImI3hmMzgxOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMTkyIDQwMGwxMjggLTEyOHYtMjQ4YzAgLTIyIC0xOCAtNDAgLTQwIC00MGgtMjQwYy0yMiAwIC00MCAxOCAtNDAgNDB2MzM2YzAgMjIgMTggNDAgNDAgNDBoMTUyek0xNzYgMjU2aDExMmwtMTEyIDExMnYtMTEyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtZG9uZS1hbGwiIHVuaWNvZGU9IiYjeGYzODI7IiBob3Jpei1hZHYteD0iNTEyIiAKK2Q9Ik0zODggMzA4bC0xNDAgLTEzOWwtMzEgMzFsMTQwIDEzOXpNNDgxIDMzOWwzMSAtMzFsLTI2NCAtMjYzbC0xMjIgMTIzbDMwIDMxbDkyIC05MXpNMCAxNjhsMzIgMzFsMTIyIC0xMjNsLTMxIC0zMXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWRvbmUiIHVuaWNvZGU9IiYjeGYzODM7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xMjIgMTA4bDIzMCAyMzBsMzIgLTMxbC0yNjIgLTI2MWwtMTIyIDEyMmwzMiAzMXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWRvd25sb2FkIiB1bmljb2RlPSImI3hmMmRkOyIgaG9yaXotYWR2LXg9IjQ4MCIgCitkPSJNMzg3IDIzMWM1MiAtMyA5MyAtNDYgOTMgLTk5YzAgLTU1IC00NSAtMTAwIC0xMDAgLTEwMGgtMjYwYy02NiAwIC0xMjAgNTQgLTEyMCAxMjBjMCA2MiA0NyAxMTMgMTA3IDExOWMyNSA0OCA3NSA4MSAxMzMgODFjNzMgMCAxMzMgLTUyIDE0NyAtMTIxek0yMDggMTgwaC02OGwxMDAgLTEwMGwxMDAgMTAwaC02OHY3NmgtNjR2LTc2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtZHJhZnRzIiB1bmljb2RlPSImI3hmMzg0OyIgCitkPSJNNDQ4IDI0NnYtMjAzYzAgLTIzIC0yMCAtNDMgLTQzIC00M2gtMzYyYy0yMyAwIC00MyAyMCAtNDMgNDN2MjAzYzAgMTUgOCAzMCAyMCAzN2wyMDQgMTAxbDIwNCAtMTAxYzEzIC03IDIwIC0yMiAyMCAtMzd6TTIyNCAxNDRsMTcxIDExMmwtMTcxIDg1bC0xNzEgLTg1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtZXhpdCIgdW5pY29kZT0iJiN4ZjM4NTsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTE1MSAxMTVsNTUgNTZoLTIwNnY0MmgyMDdsLTU2IDU2bDMwIDMwbDEwNyAtMTA3bC0xMDcgLTEwN3pNMzQxIDM4NGMyMyAwIDQzIC0yMCA0MyAtNDN2LTI5OGMwIC0yMyAtMjAgLTQzIC00MyAtNDNoLTI5OGMtMjMgMCAtNDMgMjAgLTQzIDQzdjg1aDQzdi04NWgyOTh2Mjk4aC0yOTh2LTg1aC00M3Y4NWMwIDIzIDIwIDQzIDQzIDQzaDI5OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWV4cGFuZCIgdW5pY29kZT0iJiN4ZjM4NjsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTMzMyA1MXY3N2g1MXYtMTI4aC0xMjh2NTFoNzd6TTMzMyAzMzNoLTc3djUxaDEyOHYtMTI4aC01MXY3N3pNNTEgMzMzdi03N2gtNTF2MTI4aDEyOHYtNTFoLTc3ek01MSA1MWg3N3YtNTFoLTEyOHYxMjhoNTF2LTc3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtZmF2b3JpdGUtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjM4NzsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTMwMiAzODRjNjQgMCAxMTQgLTUwIDExNCAtMTE1YzAgLTgwIC03MSAtMTQ0IC0xNzggLTI0MmwtMzAgLTI3bC0zMCAyN2MtMTA3IDk4IC0xNzggMTYyIC0xNzggMjQyYzAgNjUgNTAgMTE1IDExNCAxMTVjMzYgMCA3MSAtMTcgOTQgLTQ0YzIzIDI3IDU4IDQ0IDk0IDQ0ek0yMjEgNTVjNTAgNDYgOTQgODYgMTIzIDEyMmMyOCAzNSA0MCA2MyA0MCA5MmMwIDIzIC05IDQ0IC0yNCA1OXMtMzUgMjQgLTU4IDI0CitjLTI2IDAgLTUzIC0xMyAtNzAgLTMzbC0yNCAtMjlsLTI0IDI5Yy0xNyAyMCAtNDQgMzMgLTcwIDMzYy0yMyAwIC00MyAtOSAtNTggLTI0cy0yNCAtMzYgLTI0IC01OWMwIC0yOSAxMiAtNTcgNDAgLTkyYzI5IC0zNiA3MyAtNzYgMTIzIC0xMjJsNCAtNGw5IC04bDkgOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWZhdm9yaXRlIiB1bmljb2RlPSImI3hmMzg4OyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IDBsLTMwIDI3Yy0xMDcgOTggLTE3OCAxNjIgLTE3OCAyNDJjMCA2NSA1MCAxMTUgMTE0IDExNWMzNiAwIDcxIC0xNyA5NCAtNDRjMjMgMjcgNTggNDQgOTQgNDRjNjQgMCAxMTQgLTUwIDExNCAtMTE1YzAgLTgwIC03MSAtMTQ0IC0xNzggLTI0MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWZpbG0iIHVuaWNvZGU9IiYjeGYzODk7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0yODAgMzg0aDQwdi0zODRoLTQwdjQzaC00MHYtNDNoLTE2MHY0M2gtNDB2LTQzaC00MHYzODRoNDB2LTQzaDQwdjQzaDE2MHYtNDNoNDB2NDN6TTgwIDg1djQzaC00MHYtNDNoNDB6TTgwIDE3MXY0MmgtNDB2LTQyaDQwek04MCAyNTZ2NDNoLTQwdi00M2g0MHpNMjgwIDg1djQzaC00MHYtNDNoNDB6TTI4MCAxNzF2NDJoLTQwdi00Mmg0MHpNMjgwIDI1NnY0M2gtNDB2LTQzaDQweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtZm9sZGVyLW9wZW4iIHVuaWNvZGU9IiYjeGYzOGE7IiAKK2Q9Ik00MDUgMzA0YzIzIDAgNDMgLTIwIDQzIC00M3YtMTg2YzAgLTIzIC0yMCAtNDMgLTQzIC00M2gtMzYyYy0yMyAwIC00MyAyMCAtNDMgNDN2MjM0YzAgMjMgMjAgNDMgNDMgNDNoMTM4bDQzIC00OGgxODF6TTQxNiA3NXYxODZjMCA2IC01IDExIC0xMSAxMWgtMzczdi0xOTdjMCAtNiA1IC0xMSAxMSAtMTFoMzYyYzYgMCAxMSA1IDExIDExeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtZm9sZGVyIiB1bmljb2RlPSImI3hmMmUwOyIgCitkPSJNMTgxIDM1Mmw0MyAtNDhoMTgxYzIzIDAgNDMgLTIwIDQzIC00M3YtMTg2YzAgLTIzIC0yMCAtNDMgLTQzIC00M2gtMzYyYy0yMyAwIC00MyAyMCAtNDMgNDN2MjM0YzAgMjMgMjAgNDMgNDMgNDNoMTM4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtZnVubmVsIiB1bmljb2RlPSImI3hmMzhiOyIgCitkPSJNMTc2IDQ4djQ4aDk2di00OGgtOTZ6TTAgMzM2aDQ0OHYtNDhoLTQ0OHY0OHpNODAgMTY3djUwaDI4OHYtNTBoLTI4OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWdsb2JlIiB1bmljb2RlPSImI3hmMzhjOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IDQwMGMxMTUgMCAyMDggLTkzIDIwOCAtMjA4cy05MyAtMjA4IC0yMDggLTIwOHMtMjA4IDkzIC0yMDggMjA4czkzIDIwOCAyMDggMjA4ek0xODYgMTVjNiAxNSAyMSAyOSA4IDM5Yy04IDcgLTE2IDE0IC0yMyAyMWMtMiAyIC0xMSAyMCAtOSAyM2M1IDkgNiAxNCA4IDI0YzMgMTIgLTMgMTYgLTEzIDIyYy0xNSAxMCAtMjkgMjMgLTQzIDM0Yy03IDUgLTE3IDEwIC0yMCAxOXMtNSAyMCAtMTAgMjhjLTE0IDIwIC0xMiAzNCAtMTAgNTgKK2MwIDcgLTEgMTYgLTIgMjVjLTI4IC0zMiAtNDIgLTczIC00MiAtMTE2YzAgLTQ4IDE4IC05MiA1MiAtMTI2YzI5IC0yOSA2NSAtNDYgMTA0IC01MXpNMzM0IDY2YzIzIDIzIDM5IDUxIDQ3IDgyYy04IC0xIC0xOSAyIC0xOSAycy0yMSAyNCAtMjMgNDVjLTIgMjIgMCAzOSAtMyA1N2MtMyAxNiAtMjAgMzEgLTI3IDQ2Yy03IDE0IC0xMyAyOCAtMjAgNDJjMiAtMSA1IC0yIDcgLTNjNSAxIDEwIDIgMTQgMmMtMjMgMTYgLTQ5IDI1IC03NiAyOXYtOAorbDQgLTlsLTE0IC0xM2wtOSAzbC0xMCAxMGwtMTAgMTJsLTE0IDVjLTE2IC0yIC0zMSAtNyAtNDUgLTEzdi03YzcgMyAxNiA1IDIzIDhjMyAxIDEzIC03IDE2IC05Yy00IC01IC0yMSAtMTUgLTIyIC0yMWMwIC0yIDcgLTYgNyAtMTBjMCAtNiAtMSAtMTEgLTEgLTE3YzMgMyAyMCAyMSAyMiAyMWMxMyAzIDM1IC0xOSAzNyAtMjZzLTIyIC0yNCAtMzMgLTM0Yy04IC04IC0yNSAtMTIgLTIwIC0yNGMyIC00IDEwIC0yMCA1IC0yNAorYy02IC01IC0xNCA5IC0xNyAxMmMtOCAxMCAtMjYgNyAtMzggN2MwIC0xNyAtMSAtMzEgMTUgLTQzYzE1IC0xMSAzMCAtMjUgNDcgLTMzYzEzIC02IDM2IDcgNDcgLTFjMTYgLTExIDI5IC0yMSA0NyAtMjljOCAtMyAzMyAtMjAgMjYgLTMxYy01IC04IC0xMCAtMTUgLTE0IC0yM3MtMTMgLTIwIC0yMCAtMjVjLTggLTYgLTE2IC0xNyAtMjEgLTI5YzM1IDcgNjYgMjMgOTIgNDl6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1oYW5kIiB1bmljb2RlPSImI3hmMmUzOyIgaG9yaXotYWR2LXg9IjQxNCIgCitkPSJNNDAxIDE3NGMxNSAtMTUgMTggLTM2IDMgLTUxYzAgMCAtOTYgLTEwMyAtMTI2IC0xMjF2MGMtMjggLTIxIC02NSAtMzQgLTEwMCAtMzRjLTU1IDAgLTEwMSAzNiAtMTE3IDg1djB2MWMwIDEgLTEgMiAtMSAzbC01OCAxODljLTUgMTUgMiAzMiAxNyAzN3MzMCAtMyAzNSAtMThsMzQgLTg4YzEgLTQgMiAtMiAyIDFsLTIyIDE2MWMtMyAxNSA3IDMwIDIyIDMzczMwIC04IDMzIC0yM2wyNSAtMTM4YzAgLTIgMiAtMiAyIDB2MTc3CitjMCAxNSAxMyAyOCAyOCAyOHMyOCAtMTMgMjggLTI4bDggLTE3NWMwIC01IDMgLTQgNCAtMWwyMyAxMzVjMiAxNSAxNiAyNyAzMSAyNXMyNyAtMTcgMjUgLTMybC0yMSAtMTcyYy0xIC0xMiAtMyAtMzAgMiAtMzZjOCAtOSAyMCAtOSAzMSAybDQyIDQyYzE1IDE1IDM1IDEzIDUwIC0yeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtaGFuZ291dCIgdW5pY29kZT0iJiN4ZjM4ZDsiIGhvcml6LWFkdi14PSIzNTIiIAorZD0iTTE3NiA0MDBjOTcgMCAxNzYgLTc3IDE3NiAtMTcyYzAgLTkxIC03NiAtMTk2IC0xNzYgLTI0NHY3MWMtOTcgMCAtMTc2IDc4IC0xNzYgMTczczc5IDE3MiAxNzYgMTcyek0xNjYgMjE3djYxaC02MnYtNjFoMzFsLTIxIC00MGgzMXpNMjQ4IDIxN3Y2MWgtNjJ2LTYxaDMxbC0yMCAtNDBoMzF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1oYXBweSIgdW5pY29kZT0iJiN4ZjM4ZTsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCA0MDBjMTE0IDAgMjA4IC05NCAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5NCAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHpNMjA4IDI2YzkyIDAgMTY2IDc0IDE2NiAxNjZzLTc0IDE2NiAtMTY2IDE2NnMtMTY2IC03NCAtMTY2IC0xNjZzNzQgLTE2NiAxNjYgLTE2NnpNMjgxIDIxM2MtMTggMCAtMzEgMTMgLTMxIDMxczEzIDMxIDMxIDMxczMxIC0xMyAzMSAtMzFzLTEzIC0zMSAtMzEgLTMxek0xMzUgMjEzCitjLTE4IDAgLTMxIDEzIC0zMSAzMXMxMyAzMSAzMSAzMXMzMSAtMTMgMzEgLTMxcy0xMyAtMzEgLTMxIC0zMXpNMjA4IDc4Yy00OSAwIC04OSAyOSAtMTA2IDcyaDIxMmMtMTcgLTQzIC01NyAtNzIgLTEwNiAtNzJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1ob21lIiB1bmljb2RlPSImI3hmMzhmOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMTYwIDBoLTk4djE5MmgtNjJsMjA4IDE5MmwyMDggLTE5MmgtNjJ2LTE5MmgtOTh2MTI4aC05NnYtMTI4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtaW1hZ2UiIHVuaWNvZGU9IiYjeGYyZTQ7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zODQgNDNjMCAtMjMgLTIwIC00MyAtNDMgLTQzaC0yOThjLTIzIDAgLTQzIDIwIC00MyA0M3YyOThjMCAyMyAyMCA0MyA0MyA0M2gyOThjMjMgMCA0MyAtMjAgNDMgLTQzdi0yOTh6TTExNyAxNjBsLTc0IC05NmgyOThsLTk2IDEyOGwtNzQgLTk2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtbGFwdG9wIiB1bmljb2RlPSImI3hmMzkwOyIgaG9yaXotYWR2LXg9IjUxMiIgCitkPSJNNDM3IDMyaDc1YzAgLTIzIC02NCAtMzIgLTk2IC0zMmgtMzIwYy0zMiAwIC05NiA5IC05NiAzMmg3NWMtMjMgMCAtNDMgMjAgLTQzIDQzdjI2NmMwIDIzIDIwIDQzIDQzIDQzaDM2MmMyMyAwIDQzIC0yMCA0MyAtNDN2LTI2NmMwIC0yMyAtMjAgLTQzIC00MyAtNDN6TTc1IDM0MXYtMjcyaDM2MnYyNzJoLTM2MnpNMjU2IDEzYzEyIDAgMjEgMTAgMjEgMjJzLTkgMjEgLTIxIDIxcy0yMSAtOSAtMjEgLTIxczkgLTIyIDIxIC0yMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLWxpc3QiIHVuaWNvZGU9IiYjeGYzOTE7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNDQgMzg0YzIyIDAgNDAgLTE4IDQwIC00MHYtMzA0YzAgLTIyIC0xOCAtNDAgLTQwIC00MGgtMzA0Yy0yMiAwIC00MCAxOCAtNDAgNDB2MzA0YzAgMjIgMTggNDAgNDAgNDBoMzA0ek0yNDAgODB2NDhoLTE2MHYtNDhoMTYwek0zMDQgMTY4djQ4aC0yMjR2LTQ4aDIyNHpNMzA0IDI1NnY0OGgtMjI0di00OGgyMjR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1sb2NhdGUiIHVuaWNvZGU9IiYjeGYyZTk7IiAKK2Q9Ik0yMjQgMjcyYzQ0IDAgODAgLTM2IDgwIC04MHMtMzYgLTgwIC04MCAtODBzLTgwIDM2IC04MCA4MHMzNiA4MCA4MCA4MHpNNDE1IDIxM2gzM3YtNDJoLTMzYy0xMCAtODkgLTgxIC0xNjAgLTE3MCAtMTcwdi0zM2gtNDJ2MzNjLTg5IDEwIC0xNjAgODEgLTE3MCAxNzBoLTMzdjQyaDMzYzEwIDg5IDgxIDE2MCAxNzAgMTcwdjMzaDQydi0zM2M4OSAtMTAgMTYwIC04MSAxNzAgLTE3MHpNMjI0IDQzYzgyIDAgMTQ5IDY3IDE0OSAxNDkKK3MtNjcgMTQ5IC0xNDkgMTQ5cy0xNDkgLTY3IC0xNDkgLTE0OXM2NyAtMTQ5IDE0OSAtMTQ5eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtbG9jayIgdW5pY29kZT0iJiN4ZjM5MjsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTI4MCAyNjJjMjIgMCA0MCAtMTggNDAgLTQwdi0yMDBjMCAtMjIgLTE4IC00MCAtNDAgLTQwaC0yNDBjLTIyIDAgLTQwIDE4IC00MCA0MHYyMDBjMCAyMiAxOCA0MCA0MCA0MGgyMHY0MGMwIDU1IDQ1IDEwMCAxMDAgMTAwczEwMCAtNDUgMTAwIC0xMDB2LTQwaDIwek0xNjAgODBjMjIgMCA0MCAxOCA0MCA0MHMtMTggNDAgLTQwIDQwcy00MCAtMTggLTQwIC00MHMxOCAtNDAgNDAgLTQwek0yMjIgMjYydjQwYzAgMzQgLTI4IDYyIC02MiA2Mgorcy02MiAtMjggLTYyIC02MnYtNDBoMTI0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtbWFpbCIgdW5pY29kZT0iJiN4ZjJlYjsiIAorZD0iTTQwNSAzNjhjMjMgMCA0MyAtMjAgNDMgLTQzdi0yNjZjMCAtMjMgLTIwIC00MyAtNDMgLTQzaC0zNjJjLTIzIDAgLTQzIDIwIC00MyA0M3YyNjZjMCAyMyAyMCA0MyA0MyA0M2gzNjJ6TTQwMCAyNzd2NDNsLTE3NiAtMTE3bC0xNzYgMTE3di00M2wxNzYgLTExN3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLW1hcCIgdW5pY29kZT0iJiN4ZjM5MzsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM3MyAzODRjNiAwIDExIC01IDExIC0xMXYtMzIyYzAgLTUgLTMgLTkgLTcgLTEwbC0xMjEgLTQxbC0xMjggNDVzLTEwNSAtNDEgLTEwOCAtNDJzLTcgLTMgLTkgLTNjLTYgMCAtMTEgNSAtMTEgMTF2MzIyYzAgNSAzIDkgNyAxMGwxMjEgNDFsMTI4IC00NXMxMDMgNDAgMTA4IDQyczcgMyA5IDN6TTI1NiA0M3YyNTRsLTEyOCA0NHYtMjU0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtbWVudSIgdW5pY29kZT0iJiN4ZjM5NDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTAgNjR2NDNoMzg0di00M2gtMzg0ek0wIDE3MXY0MmgzODR2LTQyaC0zODR6TTAgMzIwaDM4NHYtNDNoLTM4NHY0M3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLW1pY3JvcGhvbmUtb2ZmIiB1bmljb2RlPSImI3hmMzk1OyIgaG9yaXotYWR2LXg9IjQwOCIgCitkPSJNMzE2IDkzbDU4IC01OGwtNTggNThsNTggLTU4bDM0IC0zM2wtMjQgLTI0bC05NSA5NWMtMTkgLTExIC00MCAtMjAgLTYyIC0yM3YtODJoLTQ2djgyYy03NSAxMCAtMTM3IDc2IC0xMzcgMTUzaDM5YzAgLTY4IDU4IC0xMTcgMTIxIC0xMTdjMjAgMCA0MCA1IDU3IDE0bC0zMiAzM2MtOCAtMyAtMTYgLTUgLTI1IC01Yy0zOCAwIC02OSAzMSAtNjkgNjl2MjlsLTEzNSAxMzRsMjQgMjRsMTExIC0xMTB2MGwxNDAgLTE0MGw1IC01bDkgLTl6CitNMjczIDE5N2MwIC00IDAgLTggLTEgLTEybC0xMzcgMTM3djI1YzAgMzggMzEgNjkgNjkgNjlzNjkgLTMxIDY5IC02OXYtMTUwek0zNjUgMjAzYzAgLTMxIC0xMCAtNjAgLTI3IC04NGwtMjcgMjhjOSAxNyAxNSAzNiAxNSA1NmgzOXpNNDA4IDJ2MGwtMzQgMzN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1taWNyb3Bob25lIiB1bmljb2RlPSImI3hmMmVjOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMTYwIDEyOGMtMzggMCAtNjkgMzEgLTY5IDY5djE1MGMwIDM4IDMxIDY5IDY5IDY5czY5IC0zMSA2OSAtNjl2LTE1MGMwIC0zOCAtMzEgLTY5IC02OSAtNjl6TTI4MSAyMDNoMzljMCAtNzggLTYyIC0xNDIgLTEzNyAtMTUzdi04MmgtNDZ2ODJjLTc1IDEwIC0xMzcgNzUgLTEzNyAxNTNoMzljMCAtNjkgNTggLTExNiAxMjEgLTExNnMxMjEgNDcgMTIxIDExNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLW1vcmUtaG9yaXpvbnRhbCIgdW5pY29kZT0iJiN4ZjM5NjsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTQwIDIzMmMyMiAwIDQwIC0xOCA0MCAtNDBzLTE4IC00MCAtNDAgLTQwcy00MCAxOCAtNDAgNDBzMTggNDAgNDAgNDB6TTI4MCAyMzJjMjIgMCA0MCAtMTggNDAgLTQwcy0xOCAtNDAgLTQwIC00MHMtNDAgMTggLTQwIDQwczE4IDQwIDQwIDQwek0xNjAgMjMyYzIyIDAgNDAgLTE4IDQwIC00MHMtMTggLTQwIC00MCAtNDBzLTQwIDE4IC00MCA0MHMxOCA0MCA0MCA0MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLW1vcmUtdmVydGljYWwiIHVuaWNvZGU9IiYjeGYzOTc7IiBob3Jpei1hZHYteD0iODAiIAorZD0iTTgwIDMxMmMwIC0yMiAtMTggLTQwIC00MCAtNDBzLTQwIDE4IC00MCA0MHMxOCA0MCA0MCA0MHM0MCAtMTggNDAgLTQwek04MCA3MmMwIC0yMiAtMTggLTQwIC00MCAtNDBzLTQwIDE4IC00MCA0MHMxOCA0MCA0MCA0MHM0MCAtMTggNDAgLTQwek04MCAxOTJjMCAtMjIgLTE4IC00MCAtNDAgLTQwcy00MCAxOCAtNDAgNDBzMTggNDAgNDAgNDBzNDAgLTE4IDQwIC00MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLW5hdmlnYXRlIiB1bmljb2RlPSImI3hmMzk4OyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMTYwIDM4NGwxNjAgLTM2OWwtMTUgLTE1bC0xNDUgNjRsLTE0NSAtNjRsLTE1IDE1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtbm90aWZpY2F0aW9ucy1ub25lIiB1bmljb2RlPSImI3hmMzk5OyIgaG9yaXotYWR2LXg9IjM1MiIgCitkPSJNMTc3IDMyOGgtMmMtNiAwIC0yNCAtNSAtMjQgLTVjLTQ2IC0xMCAtNzggLTUzIC03OCAtMTAwdi0xMTR2LTEzbC05IC0xMGwtOCAtOGgyNDBsLTggOGwtOSAxMHYxM3YxMTRjMCA0NyAtMzIgOTAgLTc4IDEwMGMwIDAgLTE3IDUgLTI0IDV6TTE3NiA0MDB2MGMxOCAwIDMxIC0xMyAzMSAtMzF2LTE1YzU5IC0xNCAxMDQgLTY4IDEwNCAtMTMxdi0xMTRsNDEgLTQydi0yMWgtMzUydjIxbDQxIDQydjExNGMwIDYzIDQ1IDExNyAxMDQgMTMxdjE1CitjMCAxOCAxMyAzMSAzMSAzMXpNMjE3IDI2djBjMCAtMjMgLTE4IC00MiAtNDEgLTQycy00MSAxOSAtNDEgNDJoODJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1ub3RpZmljYXRpb25zLW9mZiIgdW5pY29kZT0iJiN4ZjM5YTsiIGhvcml6LWFkdi14PSIzNjQiIAorZD0iTTE4MiAtMTZjLTIzIDAgLTQxIDE5IC00MSA0Mmg4MmMwIC0yMyAtMTggLTQyIC00MSAtNDJ6TTU3IDM0MWwyOTUgLTI5NXYwbDEyIC0xMmwtMjQgLTI0bC0zNiAzNmgtMjk4djIxbDQxIDQxdjExNWMwIDIzIDYgNDQgMTYgNjNsLTYzIDY0bDI0IDI0bDMzIC0zM3Ywek0zMTcgMjIzdi05NGwtMjA4IDIwN2MxMyA4IDI3IDE1IDQyIDE4djE1YzAgMTggMTMgMzEgMzEgMzFzMzEgLTEzIDMxIC0zMXYtMTVjNTkgLTE0IDEwNCAtNjcgMTA0IC0xMzEKK3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLW5vdGlmaWNhdGlvbnMiIHVuaWNvZGU9IiYjeGYzOWI7IiBob3Jpei1hZHYteD0iMzUyIiAKK2Q9Ik0xNzYgLTE2Yy0yMyAwIC00MSAxOSAtNDEgNDJoODJjMCAtMjMgLTE4IC00MiAtNDEgLTQyek0zMTEgMTA5bDQxIC00MnYtMjFoLTM1MnYyMWw0MSA0MnYxMTRjMCA2MyA0NSAxMTcgMTA0IDEzMXYxNWMwIDE4IDEzIDMxIDMxIDMxczMxIC0xMyAzMSAtMzF2LTE1YzU5IC0xNCAxMDQgLTY4IDEwNCAtMTMxdi0xMTR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1vcGVuIiB1bmljb2RlPSImI3hmMzljOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzQxIDQzdjEzM2g0M3YtMTMzYzAgLTIzIC0yMCAtNDMgLTQzIC00M2gtMjk4Yy0yMyAwIC00MyAyMCAtNDMgNDN2Mjk4YzAgMjMgMjAgNDMgNDMgNDNoMTMzdi00M2gtMTMzdi0yOThoMjk4ek0yMjQgMzg0aDE2MHYtMTYwaC00M3Y4N2wtMjE1IC0yMTVsLTMwIDMwbDIxNSAyMTVoLTg3djQzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtb3B0aW9ucyIgdW5pY29kZT0iJiN4ZjM5ZDsiIAorZD0iTTAgMzJ2MzJoMjcydi0zMmgtMjcyek0zNjggMzJ2MzJoODB2LTMyaC04MHpNMzUyIDBjMCAtMTggLTE0IC0zMiAtMzIgLTMydjBjLTE4IDAgLTMyIDE0IC0zMiAzMnY5NmMwIDE4IDE0IDMyIDMyIDMydjBjMTggMCAzMiAtMTQgMzIgLTMydi05NnpNMCAxNzZ2MzJoODB2LTMyaC04MHpNMTc2IDE3NnYzMmgyNzJ2LTMyaC0yNzJ6TTE2MCAxNDRjMCAtMTggLTE0IC0zMiAtMzIgLTMydjBjLTE4IDAgLTMyIDE0IC0zMiAzMnY5NgorYzAgMTggMTQgMzIgMzIgMzJ2MGMxOCAwIDMyIC0xNCAzMiAtMzJ2LTk2ek0wIDMyMHYzMmgyNzJ2LTMyaC0yNzJ6TTM2OCAzMjB2MzJoODB2LTMyaC04MHpNMzUyIDI4OGMwIC0xOCAtMTQgLTMyIC0zMiAtMzJ2MGMtMTggMCAtMzIgMTQgLTMyIDMydjk2YzAgMTggMTQgMzIgMzIgMzJ2MGMxOCAwIDMyIC0xNCAzMiAtMzJ2LTk2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtcGVvcGxlIiB1bmljb2RlPSImI3hmMzllOyIgCitkPSJNMzA1IDIxNmMtMzQgMCAtNjEgMjcgLTYxIDYwczI3IDYwIDYxIDYwczYyIC0yNyA2MiAtNjBzLTI4IC02MCAtNjIgLTYwek0xNDMgMjE2Yy0zNCAwIC02MiAyNyAtNjIgNjBzMjggNjAgNjIgNjBzNjEgLTI3IDYxIC02MHMtMjcgLTYwIC02MSAtNjB6TTE0MyAxNzJjNDggMCAxNDUgLTIzIDE0NSAtNzB2LTU0aC0yODh2NTRjMCA0NyA5NSA3MCAxNDMgNzB6TTMwNSAxNjFjNDggMCAxNDMgLTEyIDE0MyAtNTl2LTU0aC0xMjh2NTQKK2MwIDMwIC05IDQxIC0zMiA1OGM3IDEgMTEgMSAxNyAxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtcGVyc29uLWFkZCIgdW5pY29kZT0iJiN4ZjM5ZjsiIGhvcml6LWFkdi14PSI0ODAiIAorZD0iTTI4OCAxOTJjLTUzIDAgLTk2IDQzIC05NiA5NnM0MyA5NiA5NiA5NnM5NiAtNDMgOTYgLTk2cy00MyAtOTYgLTk2IC05NnpNMjg4IDE0NGM2NCAwIDE5MiAtMzIgMTkyIC05NnYtNDhoLTM4NHY0OGMwIDY0IDEyOCA5NiAxOTIgOTZ6TTk2IDIyNGg2NHYtMzJoLTY0di02NGgtMzJ2NjRoLTY0djMyaDY0djY0aDMydi02NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXBlcnNvbiIgdW5pY29kZT0iJiN4ZjNhMDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTE5MiAxOTJjLTUzIDAgLTk2IDQzIC05NiA5NnM0MyA5NiA5NiA5NnM5NiAtNDMgOTYgLTk2cy00MyAtOTYgLTk2IC05NnpNMTkyIDE0NGM2NCAwIDE5MiAtMzIgMTkyIC05NnYtNDhoLTM4NHY0OGMwIDY0IDEyOCA5NiAxOTIgOTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1waG9uZS1sYW5kc2NhcGUiIHVuaWNvZGU9IiYjeGYzYTE7IiAKK2Q9Ik00NDggODljMCAtMjMgLTE5IC00MSAtNDEgLTQxaC0zNjZjLTIyIDAgLTQxIDE4IC00MSA0MXYyMDZjMCAyMyAxOSA0MSA0MSA0MWgzNjZjMjIgMCA0MSAtMTggNDEgLTQxdi0yMDZ6TTgwIDg0aDI4OHYyMTZoLTI4OHYtMjE2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtcGhvbmUtcG9ydHJhaXQiIHVuaWNvZGU9IiYjeGYzYTI7IiBob3Jpei1hZHYteD0iMjg4IiAKK2Q9Ik0yNDcgNDE2YzIzIDAgNDEgLTE5IDQxIC00MXYtMzY2YzAgLTIyIC0xOCAtNDEgLTQxIC00MWgtMjA2Yy0yMyAwIC00MSAxOSAtNDEgNDF2MzY2YzAgMjIgMTggNDEgNDEgNDFoMjA2ek0yNTIgNDh2Mjg4aC0yMTZ2LTI4OGgyMTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1waW4iIHVuaWNvZGU9IiYjeGYzYTM7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0xNjAgNDE2Yzg4IDAgMTYwIC03MSAxNjAgLTE1N2MwIC0xMTggLTE2MCAtMjkxIC0xNjAgLTI5MXMtMTYwIDE3MyAtMTYwIDI5MWMwIDg2IDcyIDE1NyAxNjAgMTU3ek0xNjAgMjAzYzMyIDAgNTcgMjUgNTcgNTZzLTI1IDU2IC01NyA1NnMtNTcgLTI1IC01NyAtNTZzMjUgLTU2IDU3IC01NnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXBsYW5lIiB1bmljb2RlPSImI3hmM2E0OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzg0IDExMmwtMTYwIDQ4di0xMTRsNDggLTMxdi0zMWwtODAgMTZsLTgwIC0xNnYzMWw0OCAzMXYxMTRsLTE2MCAtNDh2NDBsMTYwIDEwNHYxMTNjMCAxOCAxNSAzMSAzMiAzMXMzMiAtMTMgMzIgLTMxdi0xMTNsMTYwIC0xMDR2LTQweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtcGxheXN0b3JlIiB1bmljb2RlPSImI3hmMmYwOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNNDE2IDI5NmMtMTkgLTIxNCAtMTMgLTMxMiAtMTMgLTMxMmgtMzkwczYgOTYgLTEzIDMxMmgxMDRjMCA1NyA0NyAxMDQgMTA0IDEwNHMxMDQgLTQ3IDEwNCAtMTA0aDEwNHpNMjA4IDM3NGMtNDMgMCAtNzggLTM1IC03OCAtNzhoMTU2YzAgNDMgLTM1IDc4IC03OCA3OHpNMTU2IDUwbDE0MyA4NWwtMTQzIDg0di0xNjl6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1wcmludCIgdW5pY29kZT0iJiN4ZjNhNTsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTM1MiAyODhjMzUgMCA2NCAtMjkgNjQgLTY0di0xMzloLTgwdi04NWgtMjU2djg1aC04MHYxMzljMCAzNSAyOSA2NCA2NCA2NGgyODh6TTMwNCAzMnYxMjhoLTE5MnYtMTI4aDE5MnpNMzM2IDM4NHYwdi04MGgtMjU2djgwaDI1NnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXJhZGlvLWJ1dHRvbi1vZmYiIHVuaWNvZGU9IiYjeGYzYTY7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggNDAwYzExNCAwIDIwOCAtOTQgMjA4IC0yMDhzLTk0IC0yMDggLTIwOCAtMjA4cy0yMDggOTQgLTIwOCAyMDhzOTQgMjA4IDIwOCAyMDh6TTIwOCAyNmM5MiAwIDE2NiA3NCAxNjYgMTY2cy03NCAxNjYgLTE2NiAxNjZzLTE2NiAtNzQgLTE2NiAtMTY2czc0IC0xNjYgMTY2IC0xNjZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1yYWRpby1idXR0b24tb24iIHVuaWNvZGU9IiYjeGYzYTc7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggMjk2YzU3IDAgMTA0IC00NyAxMDQgLTEwNHMtNDcgLTEwNCAtMTA0IC0xMDRzLTEwNCA0NyAtMTA0IDEwNHM0NyAxMDQgMTA0IDEwNHpNMjA4IDQwMGMxMTQgMCAyMDggLTk0IDIwOCAtMjA4cy05NCAtMjA4IC0yMDggLTIwOHMtMjA4IDk0IC0yMDggMjA4czk0IDIwOCAyMDggMjA4ek0yMDggMjZjOTIgMCAxNjYgNzQgMTY2IDE2NnMtNzQgMTY2IC0xNjYgMTY2cy0xNjYgLTc0IC0xNjYgLTE2NnM3NCAtMTY2IDE2NiAtMTY2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtcmVmcmVzaCIgdW5pY29kZT0iJiN4ZjNhODsiIGhvcml6LWFkdi14PSIzNTIiIAorZD0iTTE3NiA2MGM1NiAwIDEwNCAzNCAxMjMgODRoNDZjLTIxIC03NCAtODggLTEyOCAtMTY5IC0xMjhjLTk4IDAgLTE3NiA3OSAtMTc2IDE3NnM3OSAxNzYgMTc2IDE3NmM0OCAwIDkyIC0yMCAxMjQgLTUybDUyIDUydi0xNTRoLTE1NGw3MCA3MGMtMjMgMjQgLTU2IDQwIC05MiA0MGMtNzMgMCAtMTMyIC01OSAtMTMyIC0xMzJzNTkgLTEzMiAxMzIgLTEzMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXJlbW92ZS1jaXJjbGUiIHVuaWNvZGU9IiYjeGYzYTk7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggNDAwYzExNSAwIDIwOCAtOTMgMjA4IC0yMDhzLTkzIC0yMDggLTIwOCAtMjA4cy0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDh6TTMxNSAxNzF2NDJoLTIxNHYtNDJoMjE0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtcmVtb3ZlIiB1bmljb2RlPSImI3hmMmY0OyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMCAxNzF2NDJoMzIwdi00MmgtMzIweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtcmVzdGF1cmFudCIgdW5pY29kZT0iJiN4ZjNhYTsiIGhvcml6LWFkdi14PSI0MTUiIAorZD0iTTExNiAxNjhsLTkxIDg5Yy0zNCAzMyAtMzQgODYgMCAxMTlsMTUzIC0xNDh6TTI2NCAyMDZsLTMzIC0zMWwxNTAgLTE0NWwtMzAgLTMwbC0xNTAgMTQ2bC0xNTAgLTE0NmwtMzAgMzBzMTYzIDE1OSAyMTEgMjA3Yy0xNSAzMiAtNCA3NyAzMSAxMTFjNDEgNDAgMTAxIDQ5IDEzMiAxN2MzMyAtMzEgMjQgLTg5IC0xNyAtMTI5Yy0zNCAtMzQgLTgwIC00NSAtMTE0IC0zMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXNhZCIgdW5pY29kZT0iJiN4ZjNhYjsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCAxNjBjNDUgMCA4MyAtMjYgMTAyIC02NGgtMjA0YzE5IDM4IDU3IDY0IDEwMiA2NHpNMjA4IDQwMGMxMTQgMCAyMDggLTk0IDIwOCAtMjA4cy05MyAtMjA4IC0yMDggLTIwOHMtMjA4IDk0IC0yMDggMjA4czkzIDIwOCAyMDggMjA4ek0yMDggMjZjOTIgMCAxNjYgNzQgMTY2IDE2NnMtNzQgMTY2IC0xNjYgMTY2cy0xNjYgLTc0IC0xNjYgLTE2NnM3NCAtMTY2IDE2NiAtMTY2ek0yODEgMjEzYy0xOCAwIC0zMSAxMyAtMzEgMzEKK3MxMyAzMSAzMSAzMXMzMSAtMTMgMzEgLTMxcy0xMyAtMzEgLTMxIC0zMXpNMTM1IDIxM2MtMTggMCAtMzEgMTMgLTMxIDMxczEzIDMxIDMxIDMxczMxIC0xMyAzMSAtMzFzLTEzIC0zMSAtMzEgLTMxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtc2VhcmNoIiB1bmljb2RlPSImI3hmMmY1OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMjc0IDE0M2wxMTAgLTExMGwtMzMgLTMzbC0xMDkgMTEwdjE3bC03IDZjLTI1IC0yMSAtNTggLTM0IC05MyAtMzRjLTc5IDAgLTE0MiA2MyAtMTQyIDE0MnM2MyAxNDMgMTQxIDE0M2M3OSAwIDE0MiAtNjQgMTQyIC0xNDNjMCAtMzYgLTEzIC02OCAtMzQgLTkzbDcgLTVoMTh6TTE0MiAxNDNjNTUgMCA5OSA0MyA5OSA5OHMtNDQgOTkgLTk5IDk5cy05OCAtNDQgLTk4IC05OXM0MyAtOTggOTggLTk4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtc2VuZCIgdW5pY29kZT0iJiN4ZjJmNjsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTAgMHYxNDlsMjk4IDQzbC0yOTggNDN2MTQ5bDQxNiAtMTkyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtc2V0dGluZ3MiIHVuaWNvZGU9IiYjeGYyZjc7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0zNjYgMTcxbDQ3IC0zNGMzIC0zIDQgLTEwIDIgLTE0bC00MyAtNzFjLTIgLTQgLTcgLTcgLTEyIC01bC01NCAyMWMtMTIgLTggLTIzIC0xNiAtMzYgLTIxbC04IC01NWMtMSAtNCAtNiAtOCAtMTEgLThoLTg1Yy01IDAgLTEwIDMgLTExIDhsLTggNTVjLTEzIDUgLTI1IDEzIC0zNiAyMWwtNTQgLTIxYy00IC0yIC0xMCAxIC0xMiA1bC00MyA3MWMtMyA1IC0yIDExIDIgMTRsNDUgMzRjMCA3IC0xIDE0IC0xIDIxczEgMTQgMSAyMWwtNDYgMzQKK2MtMyAzIC00IDEwIC0yIDE0bDQzIDcxYzIgNCA3IDcgMTIgNWw1NCAtMjFjMTIgOCAyMyAxNiAzNiAyMWw4IDU1YzEgNCA2IDggMTEgOGg4NWM1IDAgMTAgLTQgMTEgLThsNyAtNTVjMTMgLTUgMjUgLTEzIDM2IC0yMWw1MyAyMWM0IDIgMTEgLTEgMTMgLTVsNDMgLTcxYzMgLTUgMiAtMTEgLTIgLTE0bC00NSAtMzRjMCAtNyAxIC0xNCAxIC0yMXMwIC0xNSAtMSAtMjF6TTIwNyAxMTljNDEgMCA3NSAzMiA3NSA3M3MtMzQgNzMgLTc1IDczCitzLTc0IC0zMiAtNzQgLTczczMzIC03MyA3NCAtNzN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC1zaGFyZS1hbHQiIHVuaWNvZGU9IiYjeGYzYWM7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zMjAgMTA0YzM0IDAgNjIgLTI4IDYyIC02MnMtMjggLTYyIC02MiAtNjJzLTYyIDI4IC02MiA2MmMwIDUgMSAxMCAyIDE0bC0xNTIgODhjLTEyIC0xMSAtMjcgLTE3IC00NCAtMTdjLTM1IDAgLTY0IDI5IC02NCA2NHMyOCA2NCA2MyA2NGMxNyAwIDMyIC02IDQ0IC0xN2wxNTEgODdjLTEgNSAtMiAxMCAtMiAxNWMwIDM1IDI5IDY0IDY0IDY0czY0IC0yOSA2NCAtNjRzLTI5IC02NCAtNjQgLTY0Yy0xNyAwIC0zMiA2IC00NCAxNworbC0xNTEgLTg3YzEgLTUgMiAtMTAgMiAtMTVzLTEgLTEwIC0yIC0xNWwxNTMgLTg4YzExIDExIDI2IDE2IDQyIDE2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtc2hhcmUiIHVuaWNvZGU9IiYjeGYyZjg7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zODQgMjAwbC0xNjAgLTE0N3Y4OGMtMTA3IDAgLTE3MSAtMzQgLTIyNCAtMTA5YzIxIDEwNyA3NSAyMTQgMjI0IDIzNXY4NXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXN0YXItaGFsZiIgdW5pY29kZT0iJiN4ZjNhZDsiIGhvcml6LWFkdi14PSI0MDQiIAorZD0iTTQwNCAyMzhsLTExMCAtOTZsMzMgLTE0MmwtMTI1IDc1bC0xMjUgLTc1bDMzIDE0MmwtMTEwIDk2bDE0NSAxMmw1NyAxMzRsNTcgLTEzNHpNMjE5IDEwM2w2MCAtMzZsLTE2IDY4bC01IDE5bDE1IDEybDUzIDQ2bC03MCA2bC0xOSAybC04IDE4bC0yNyA2NHYtMTg5eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtc3Rhci1vdXRsaW5lIiB1bmljb2RlPSImI3hmM2FlOyIgaG9yaXotYWR2LXg9IjQwNCIgCitkPSJNNDA0IDIzOGwtMTEwIC05NmwzMyAtMTQybC0xMjUgNzVsLTEyNSAtNzVsMzMgMTQybC0xMTAgOTZsMTQ1IDEybDU3IDEzNGw1NyAtMTM0ek0yMTkgMTAzbDYwIC0zNmwtMTYgNjhsLTUgMTlsMTUgMTJsNTMgNDZsLTcwIDZsLTE5IDJsLTggMThsLTI3IDY0bC0yNyAtNjRsLTggLTE4bC0xOSAtMmwtNzAgLTZsNTMgLTQ2bDE1IC0xMmwtNSAtMTlsLTE2IC02OGw2MCAzNmwxNyAxMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXN0YXIiIHVuaWNvZGU9IiYjeGYyZmM7IiBob3Jpei1hZHYteD0iNDA0IiAKK2Q9Ik0yMDIgNzVsLTEyNSAtNzVsMzMgMTQybC0xMTAgOTZsMTQ1IDEybDU3IDEzNGw1NyAtMTM0bDE0NSAtMTJsLTExMCAtOTZsMzMgLTE0MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXN0b3B3YXRjaCIgdW5pY29kZT0iJiN4ZjJmZDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTE2OCAxNDF2MTMxaDQ4di0xMzFoLTQ4ek0zNDQgMjc4YzI1IC0zMyA0MCAtNzQgNDAgLTExOGMwIC0xMDYgLTg2IC0xOTIgLTE5MiAtMTkycy0xOTIgODYgLTE5MiAxOTJzODYgMTkyIDE5MiAxOTJjNDQgMCA4NSAtMTUgMTE4IC00MGwzMSAzMGwzMyAtMzN6TTI5OCA1NGMyOCAyOCA0NCA2NiA0NCAxMDZzLTE2IDc4IC00NCAxMDZzLTY2IDQ0IC0xMDYgNDRzLTc4IC0xNiAtMTA2IC00NHMtNDQgLTY2IC00NCAtMTA2CitzMTYgLTc4IDQ0IC0xMDZzNjYgLTQ0IDEwNiAtNDRzNzggMTYgMTA2IDQ0ek0xMjggMzY4djQ4aDEyOHYtNDhoLTEyOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXN1YndheSIgdW5pY29kZT0iJiN4ZjNhZjsiIGhvcml6LWFkdi14PSIzNTIiIAorZD0iTTE3NiA0MDBjOTQgMCAxNzYgLTEwIDE3NiAtODV2LTIxNGMwIC00MiAtMzMgLTc0IC03NSAtNzRsMjcgLTI3di0xNmgtMjU2djE2bDI3IDI3Yy00MiAwIC03NSAzMiAtNzUgNzR2MjE0YzAgNzUgODIgODUgMTc2IDg1ek04MCA2NGMxOCAwIDMyIDE0IDMyIDMycy0xNCAzMiAtMzIgMzJzLTMyIC0xNCAtMzIgLTMyczE0IC0zMiAzMiAtMzJ6TTE2MCAyMDh2OTZoLTExMnYtOTZoMTEyek0yNzIgNjRjMTggMCAzMiAxNCAzMiAzMgorcy0xNCAzMiAtMzIgMzJzLTMyIC0xNCAtMzIgLTMyczE0IC0zMiAzMiAtMzJ6TTMwNCAyMDh2OTZoLTExMnYtOTZoMTEyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtc3VubnkiIHVuaWNvZGU9IiYjeGYzYjA7IiAKK2Q9Ik0yMjQgMjg4Yy0yNSAwIC01MCAtMTAgLTY4IC0yOHMtMjggLTQzIC0yOCAtNjhzMTAgLTUwIDI4IC02OHM0MyAtMjggNjggLTI4czUwIDEwIDY4IDI4czI4IDQzIDI4IDY4cy0xMCA1MCAtMjggNjhzLTQzIDI4IC02OCAyOHpNMjQ1IDQxNnYwdi02NGgtNDJ2NjRoNDJ6TTM3NCAzNzJ2MGwzMCAtMzBsLTM4IC0zOGwtMzAgMzB6TTc0IDM3MnYwbDM4IC0zOGwtMzAgLTMwbC0zOCAzOHpNMjI0IDMyMHYwYzcwIDAgMTI4IC01OCAxMjggLTEyOAorcy01OCAtMTI4IC0xMjggLTEyOHMtMTI4IDU4IC0xMjggMTI4czU4IDEyOCAxMjggMTI4ek00NDggMjEzdjB2LTQyaC02NHY0Mmg2NHpNNjQgMjEzdjB2LTQyaC02NHY0Mmg2NHpNMzY2IDgwdjBsMzggLTM4bC0zMCAtMzBsLTM4IDM4ek04MiA4MHYwbDMwIC0zMGwtMzggLTM4bC0zMCAzMHpNMjQ1IDMydjB2LTY0aC00MnY2NGg0MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXN5bmMiIHVuaWNvZGU9IiYjeGYzYjE7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0xNjAgMzU1Yzg4IDAgMTYwIC03MyAxNjAgLTE2M2MwIC0zMiAtOSAtNjIgLTI1IC04N2wtMjkgMzBjOSAxNyAxNCAzNyAxNCA1N2MwIDY3IC01NCAxMjIgLTEyMCAxMjJ2LTYxbC04MCA4Mmw4MCA4MXYtNjF6TTE2MCA3MHY2MWw4MCAtODJsLTgwIC04MXY2MWMtODggMCAtMTYwIDczIC0xNjAgMTYzYzAgMzIgOSA2MyAyNSA4N2wyOSAtMzBjLTkgLTE3IC0xNCAtMzcgLTE0IC01N2MwIC02NyA1NCAtMTIyIDEyMCAtMTIyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtdGV4dHNtcyIgdW5pY29kZT0iJiN4ZjNiMjsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM0NCAzODRjMjIgMCA0MCAtMTggNDAgLTQwdi0yNDBjMCAtMjIgLTE4IC00MCAtNDAgLTQwaC0yODBsLTY0IC02NHYzNDRjMCAyMiAxMCA0MCAzMiA0MGgzMTJ6TTEzNCAyMDZ2NDBoLTM4di00MGgzOHpNMjExIDIwNnY0MGgtMzh2LTQwaDM4ek0yODggMjA2djQwaC0zOHYtNDBoMzh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC10aW1lIiB1bmljb2RlPSImI3hmM2IzOyIgaG9yaXotYWR2LXg9IjQyNiIgCitkPSJNMjEzIDQwNWMxMTcgMCAyMTMgLTk2IDIxMyAtMjEzcy05NSAtMjEzIC0yMTMgLTIxM3MtMjEzIDk2IC0yMTMgMjEzczk1IDIxMyAyMTMgMjEzek0yMTMgMjJjOTQgMCAxNzAgNzYgMTcwIDE3MHMtNzYgMTcwIC0xNzAgMTcwcy0xNzAgLTc2IC0xNzAgLTE3MHM3NiAtMTcwIDE3MCAtMTcwek0yMjQgMjk4di0xMTFsOTYgLTU3bC0xNiAtMjZsLTExMiA2N3YxMjdoMzJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC10cmFpbiIgdW5pY29kZT0iJiN4ZjNiNDsiIGhvcml6LWFkdi14PSIzNTIiIAorZD0iTTAgMTAxdjIxNGMwIDc1IDgyIDg1IDE3NiA4NXMxNzYgLTEwIDE3NiAtODV2LTIxNGMwIC00MiAtMzMgLTc0IC03NSAtNzRsMjcgLTI3di0xNmgtMjU2djE2bDI3IDI3Yy00MiAwIC03NSAzMiAtNzUgNzR6TTE3NiA3MmMyMiAwIDQwIDE4IDQwIDQwcy0xOCA0MCAtNDAgNDBzLTQwIC0xOCAtNDAgLTQwczE4IC00MCA0MCAtNDB6TTMwNCAyMjR2OTZoLTI1NnYtOTZoMjU2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtdW5sb2NrIiB1bmljb2RlPSImI3hmM2I1OyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMjgwIDI2MmMyMiAwIDQwIC0xOCA0MCAtNDB2LTIwMGMwIC0yMiAtMTggLTQwIC00MCAtNDBoLTI0MGMtMjIgMCAtNDAgMTggLTQwIDQwdjIwMGMwIDIyIDE4IDQwIDQwIDQwaDE4MnY0MHYwYzAgMzQgLTI4IDYyIC02MiA2MnMtNjIgLTI4IC02MiAtNjJoLTM4YzAgNTUgNDUgMTAwIDEwMCAxMDBzMTAwIC00NSAxMDAgLTEwMHYtNDBoMjB6TTE2MCA4MGMyMiAwIDQwIDE4IDQwIDQwcy0xOCA0MCAtNDAgNDBzLTQwIC0xOCAtNDAgLTQwCitzMTggLTQwIDQwIC00MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXVwbG9hZCIgdW5pY29kZT0iJiN4ZjNiNjsiIGhvcml6LWFkdi14PSI0ODAiIAorZD0iTTM4NyAyMzFjNTIgLTMgOTMgLTQ2IDkzIC05OWMwIC01NSAtNDUgLTEwMCAtMTAwIC0xMDBoLTI2MGMtNjYgMCAtMTIwIDU0IC0xMjAgMTIwYzAgNjIgNDcgMTEzIDEwNyAxMTljMjUgNDggNzUgODEgMTMzIDgxYzczIDAgMTMzIC01MiAxNDcgLTEyMXpNMjcyIDE3Mmg2OGwtMTAwIDEwMGwtMTAwIC0xMDBoNjh2LTc2aDY0djc2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtdm9sdW1lLWRvd24iIHVuaWNvZGU9IiYjeGYzYjc7IiBob3Jpei1hZHYteD0iMjg4IiAKK2Q9Ik0wIDI1Nmg4NWwxMDcgMTEydi0zNTJsLTEwNyAxMTJoLTg1djEyOHpNMjg4IDE5MmMwIC0zOCAtMjEgLTczIC01MyAtODh2MTc3YzMyIC0xNiA1MyAtNTEgNTMgLTg5eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFuZHJvaWQtdm9sdW1lLW11dGUiIHVuaWNvZGU9IiYjeGYzYjg7IiBob3Jpei1hZHYteD0iMTkyIiAKK2Q9Ik0wIDI1Nmg4NWwxMDcgMTEydi0zNTJsLTEwNyAxMTJoLTg1djEyOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXZvbHVtZS1vZmYiIHVuaWNvZGU9IiYjeGYzYjk7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNDIgMTkyYzAgNjkgLTQ1IDEyOCAtMTA3IDE0N3Y0NWM4NSAtMjAgMTQ5IC05OSAxNDkgLTE5MmMwIC0zNSAtOCAtNjggLTI0IC05NmwtMzIgMzJjOSAxOSAxNCA0MSAxNCA2NHpNMTkyIDM2OHYtMTA0bC01MSA1MXpNMzU3IDUxdjBsMjQgLTI0bC0yNCAtMjRsLTQwIDQwYy0yMyAtMjEgLTUxIC0zNiAtODIgLTQzdjQ1YzE5IDYgMzcgMTUgNTIgMjhsLTk1IDk1di0xNTJsLTEwNyAxMTJoLTg1djEyOGg4NWw5IDEwbC05MSA5MWwyNCAyNHoKK00yODggMTkyYzAgLTcgMCAtMTUgLTIgLTIybC01MSA1MXY2MGMzMiAtMTYgNTMgLTUxIDUzIC04OXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXZvbHVtZS11cCIgdW5pY29kZT0iJiN4ZjNiYTsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTAgMjU2aDg1bDEwNyAxMTJ2LTM1MmwtMTA3IDExMmgtODV2MTI4ek0yODggMTkyYzAgLTM4IC0yMSAtNzMgLTUzIC04OHYxNzdjMzIgLTE2IDUzIC01MSA1MyAtODl6TTIzNSAzODRjODUgLTIwIDE0OSAtOTkgMTQ5IC0xOTJzLTY0IC0xNzIgLTE0OSAtMTkydjQ1YzYyIDE5IDEwNiA3OCAxMDYgMTQ3cy00NCAxMjggLTEwNiAxNDd2NDV6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC13YWxrIiB1bmljb2RlPSImI3hmM2JiOyIgaG9yaXotYWR2LXg9IjI3MiIgCitkPSJNMTY4IDMzNmMtMjIgMCAtNDAgMTggLTQwIDQwczE4IDQwIDQwIDQwczQwIC0xOCA0MCAtNDBzLTE4IC00MCAtNDAgLTQwek0xNjggMjE2bC0yMCAzOGwtMjAgLTYybDU3IC05NnYtMTI4aC0zOHY5NmwtNTAgNjhsLTU3IC0xNjRoLTQwbDgxIDMyMGwtNDEgLTE2di04MGgtNDB2MTEybDExMSAzOGM0IDEgMTAgMSAxMyAxYzEzIDAgMjMgLTYgMzEgLTE4bDQ1IC02OWg3MnYtNDBoLTEwNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXdhcm5pbmciIHVuaWNvZGU9IiYjeGYzYmM7IiAKK2Q9Ik0wIC0xNmwyMjQgNDE2bDIyNCAtNDE2aC00NDh6TTI0OCA0OHY0OGgtNDh2LTQ4aDQ4ek0yNDggMTI4djk2aC00OHYtOTZoNDh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYW5kcm9pZC13YXRjaCIgdW5pY29kZT0iJiN4ZjNiZDsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTMyMCAxOTJjMCAtNTEgLTI0IC05NiAtNjEgLTEyNWwtMTkgLTExNWgtMTYwbC0xOSAxMTVjLTM3IDI5IC02MSA3NCAtNjEgMTI1czI0IDk2IDYxIDEyNWwxOSAxMTVoMTYwbDE5IC0xMTVjMzcgLTI5IDYxIC03NCA2MSAtMTI1ek00MCAxOTJjMCAtNjYgNTQgLTEyMCAxMjAgLTEyMHMxMjAgNTQgMTIwIDEyMHMtNTQgMTIwIC0xMjAgMTIwcy0xMjAgLTU0IC0xMjAgLTEyMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hbmRyb2lkLXdpZmkiIHVuaWNvZGU9IiYjeGYzMDU7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggMjE5YzIzIDAgNDIgLTE4IDQyIC00MXMtMTkgLTQxIC00MiAtNDFzLTQyIDE4IC00MiA0MXMxOSA0MSA0MiA0MXpNMzMzIDE3OGMwIC00NSAtMjYgLTg1IC02MyAtMTA3bC0yMCAzNmMyNSAxNCA0MSA0MCA0MSA3MWMwIDQ1IC0zNyA4MiAtODMgODJzLTgzIC0zNyAtODMgLTgyYzAgLTMxIDE2IC01NyA0MSAtNzFsLTIwIC0zNmMtMzcgMjIgLTYzIDYyIC02MyAxMDdjMCA2OCA1NiAxMjQgMTI1IDEyNHMxMjUgLTU2IDEyNSAtMTI0egorTTIwOCAzODRjMTE0IDAgMjA4IC05MyAyMDggLTIwNmMwIC03NiAtNDIgLTE0MiAtMTA0IC0xNzhsLTIxIDM2YzUwIDI4IDgzIDgxIDgzIDE0MmMwIDkxIC03NCAxNjUgLTE2NiAxNjVzLTE2NiAtNzQgLTE2NiAtMTY1YzAgLTYxIDMzIC0xMTMgODMgLTE0MmwtMjEgLTM2Yy02MiAzNiAtMTA0IDEwMiAtMTA0IDE3OGMwIDExMyA5NCAyMDYgMjA4IDIwNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hcGVydHVyZSIgdW5pY29kZT0iJiN4ZjMxMzsiIAorZD0iTTIyNCA0MTZjMTI0IDAgMjI0IC0xMDAgMjI0IC0yMjRzLTEwMCAtMjI0IC0yMjQgLTIyNHMtMjI0IDEwMCAtMjI0IDIyNHMxMDAgMjI0IDIyNCAyMjR6TTM2MCA1NmMzNiAzNiA1NiA4NSA1NiAxMzZzLTIwIDEwMCAtNTYgMTM2cy04NSA1NiAtMTM2IDU2cy0xMDAgLTIwIC0xMzYgLTU2cy01NiAtODUgLTU2IC0xMzZzMjAgLTEwMCA1NiAtMTM2czg1IC01NiAxMzYgLTU2czEwMCAyMCAxMzYgNTZ6TTE2OCAzNDJsNTYgLTg2aC0xNDcKK2MxNyA0MCA1MCA3MSA5MSA4NnpNMzgxIDE2MGgtMTAybDcyIDEyOWMyMSAtMjcgMzMgLTYwIDMzIC05N2MwIC0xMSAtMSAtMjIgLTMgLTMyek0zMjggMzE0bC00OSAtOTBsLTc4IDEyNmM4IDEgMTUgMiAyMyAyYzQwIDAgNzYgLTE0IDEwNCAtMzh6TTY3IDIyNGgxMDJsLTcyIC0xMjljLTIxIDI3IC0zMyA2MCAtMzMgOTdjMCAxMSAxIDIyIDMgMzJ6TTI4MCA0MmwtNTYgODZoMTQ3Yy0xNyAtNDAgLTUwIC03MSAtOTEgLTg2ek0xMjAgNzBsNDkgOTAKK2w3OCAtMTI2Yy04IC0xIC0xNSAtMiAtMjMgLTJjLTQwIDAgLTc2IDE0IC0xMDQgMzh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYXJjaGl2ZSIgdW5pY29kZT0iJiN4ZjEwMjsiIAorZD0iTTIyNCAxNDBsLTEyOCAxMTZoODB2OTZoOTZ2LTk2aDgwek00MzMgMTUxYzExIC02IDE3IC0xOSAxNSAtMzJsLTkgLTY3Yy0yIC0xMyAtOSAtMjAgLTI4IC0yMGgtMzc0Yy0xOCAwIC0yNiA3IC0yOCAyMGwtOSA2N2MtMiAxMyAzIDI2IDE0IDMybDcyIDU1aDQybC02MiAtNjJoNTBjMiAwIDUgLTEgNiAtM2wxOCAtNDVoMTY4bDE4IDQ1YzEgMiAzIDMgNSAzaDUxbC02MiA2Mmg0MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hcnJvdy1kb3duLWEiIHVuaWNvZGU9IiYjeGYxMDM7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xOTIgLTBsLTE5MiAxOTJoMTEydjE5MmgxNjB2LTE5MmgxMTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYXJyb3ctZG93bi1iIiB1bmljb2RlPSImI3hmMTA0OyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMyAyNjNjLTIgMiAtMyA2IC0zIDljMCA5IDggMTYgMTcgMTZ2MGgyODZ2MGM5IDAgMTcgLTcgMTcgLTE2YzAgLTMgLTEgLTYgLTMgLThsLTIgLTNsLTEzNiAtMTU2Yy01IC01IC0xMSAtOSAtMTkgLTlzLTE0IDQgLTE5IDlsLTEzNiAxNTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYXJyb3ctZG93bi1jIiB1bmljb2RlPSImI3hmMTA1OyIgaG9yaXotYWR2LXg9IjI3NCIgCitkPSJNMjY1IDEyNWwtMTA1IC0xMDBjLTYgLTYgLTE0IC05IC0yMyAtOXMtMTYgMyAtMjIgOWwtMTA2IDEwMGMtMTIgMTIgLTEyIDMxIDAgNDNzMzQgMTIgNDYgMGw1MCAtNDh2MjE3YzAgMTcgMTQgMzEgMzIgMzFzMzIgLTE0IDMyIC0zMXYtMjE3bDUwIDQ4YzEyIDEyIDM0IDEyIDQ2IDBzMTIgLTMxIDAgLTQzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFycm93LWV4cGFuZCIgdW5pY29kZT0iJiN4ZjI1ZTsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTE3OCAyMzhsNjQgNjRsLTUwIDUwaDEyOHYtMTI4bC01MCA1MGwtNjQgLTY0ek0xNzggMTQ2bDI4IDI4bDY0IC02NGw1MCA1MHYtMTI4aC0xMjhsNTAgNTB6TTE0MiAxNDZsLTY0IC02NGw1MCAtNTBoLTEyOHYxMjhsNTAgLTUwbDY0IDY0ek0xNDIgMjM4bC0yOCAtMjhsLTY0IDY0bC01MCAtNTB2MTI4aDEyOGwtNTAgLTUweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFycm93LWdyYXBoLWRvd24tbGVmdCIgdW5pY29kZT0iJiN4ZjI1ZjsiIAorZD0iTTAgNjR2MTYwbDYxIC02MWwxMzEgMTQxbDEwNyAtMTEybDE0OSAxMjhsLTE0OSAtMjAzbC0xMDcgMTA3bC05NCAtOThsNjIgLTYyaC0xNjB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYXJyb3ctZ3JhcGgtZG93bi1yaWdodCIgdW5pY29kZT0iJiN4ZjI2MDsiIAorZD0iTTI4OCA2NGw2MiA2MmwtOTQgOThsLTEwNyAtMTA3bC0xNDkgMjAzbDE0OSAtMTI4bDEwNyAxMTJsMTMxIC0xNDFsNjEgNjF2LTE2MGgtMTYweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFycm93LWdyYXBoLXVwLWxlZnQiIHVuaWNvZGU9IiYjeGYyNjE7IiAKK2Q9Ik0xNjAgMzIwbC02MiAtNjJsOTQgLTk4bDEwNyAxMDdsMTQ5IC0yMDNsLTE0OSAxMjhsLTEwNyAtMTEybC0xMzEgMTQxbC02MSAtNjF2MTYwaDE2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hcnJvdy1ncmFwaC11cC1yaWdodCIgdW5pY29kZT0iJiN4ZjI2MjsiIAorZD0iTTI4OCAzMjBoMTYwdi0xNjBsLTYxIDYxbC0xMzEgLTE0MWwtMTA3IDExMmwtMTQ5IC0xMjhsMTQ5IDIwM2wxMDcgLTEwN2w5NCA5OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hcnJvdy1sZWZ0LWEiIHVuaWNvZGU9IiYjeGYxMDY7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0wIDE5MmwxOTIgMTkydi0xMTJoMTkydi0xNjBoLTE5MnYtMTEyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFycm93LWxlZnQtYiIgdW5pY29kZT0iJiN4ZjEwNzsiIGhvcml6LWFkdi14PSIxOTIiIAorZD0iTTE2NyAzNDljMiAyIDYgMyA5IDNjOSAwIDE2IC04IDE2IC0xN3Ywdi0yODZ2MGMwIC05IC03IC0xNyAtMTYgLTE3Yy0zIDAgLTcgMSAtOSAzbC0yIDJsLTE1NiAxMzZjLTUgNSAtOSAxMSAtOSAxOXM0IDE0IDkgMTlsMTU2IDEzNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hcnJvdy1sZWZ0LWMiIHVuaWNvZGU9IiYjeGYxMDg7IiBob3Jpei1hZHYteD0iMzUyIiAKK2Q9Ik0xMDkgMzIwYzEyIDEyIDMyIDEyIDQ0IDBzMTIgLTM0IDAgLTQ2bC00OSAtNTBoMjE3YzE3IDAgMzEgLTE0IDMxIC0zMnMtMTQgLTMyIC0zMSAtMzJoLTIxN2w0OCAtNTBjMTIgLTEyIDEyIC0zNCAwIC00NnMtMzEgLTEyIC00MyAwbC0xMDAgMTA2Yy02IDYgLTkgMTMgLTkgMjJzMyAxNyA5IDIzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFycm93LW1vdmUiIHVuaWNvZGU9IiYjeGYyNjM7IiAKK2Q9Ik00NDggMTkybC05NiAtOTZ2NzZoLTEwOWwxIC0xMDhoNzZsLTk2IC05NmwtOTYgOTZoNzZ2MTA4aC0xMDh2LTc2bC05NiA5Nmw5NiA5NnYtNzZoMTA4djEwOGgtNzZsOTYgOTZsOTYgLTk2aC03NnYtMTA4aDEwOHY3NnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hcnJvdy1yZXNpemUiIHVuaWNvZGU9IiYjeGYyNjQ7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0xOTIgMzUyaDEyOHYtMTI4bC01MCA1MGwtOSAtOWwtMTgzIC0xODNsNTAgLTUwaC0xMjh2MTI4bDUwIC01MGwxMjggMTI4djBsNjQgNjR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYXJyb3ctcmV0dXJuLWxlZnQiIHVuaWNvZGU9IiYjeGYyNjU7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xMjggMzUydi02NGgyNDhjNCAwIDggLTQgOCAtOHYtMjQwYzAgLTQgLTQgLTggLTggLThoLTMwNGMtNCAwIC04IDQgLTggOHY0OGMwIDQgNCA4IDggOGgyNDh2MTI4aC0xOTJ2LTY0bC0xMjggOTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYXJyb3ctcmV0dXJuLXJpZ2h0IiB1bmljb2RlPSImI3hmMjY2OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzg0IDI1NmwtMTI4IC05NnY2NGgtMTkydi0xMjhoMjQ4YzQgMCA4IC00IDggLTh2LTQ4YzAgLTQgLTQgLTggLTggLThoLTMwNGMtNCAwIC04IDQgLTggOHYyNDBjMCA0IDQgOCA4IDhoMjQ4djY0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFycm93LXJpZ2h0LWEiIHVuaWNvZGU9IiYjeGYxMDk7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zODQgMTkybC0xOTIgLTE5MnYxMTJoLTE5MnYxNjBoMTkydjExMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hcnJvdy1yaWdodC1iIiB1bmljb2RlPSImI3hmMTBhOyIgaG9yaXotYWR2LXg9IjE5MiIgCitkPSJNMjUgMzVjLTIgLTIgLTYgLTMgLTkgLTNjLTkgMCAtMTYgOCAtMTYgMTd2MHYyODZ2MGMwIDkgNyAxNyAxNiAxN2MzIDAgNiAtMSA4IC0zbDMgLTJsMTU2IC0xMzZjNSAtNSA5IC0xMSA5IC0xOXMtNCAtMTQgLTkgLTE5bC0xNTYgLTEzNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hcnJvdy1yaWdodC1jIiB1bmljb2RlPSImI3hmMTBiOyIgaG9yaXotYWR2LXg9IjM1MiIgCitkPSJNMjQzIDMyMGwxMDAgLTEwNWM2IC02IDkgLTE0IDkgLTIzcy0zIC0xNiAtOSAtMjJsLTEwMCAtMTA2Yy0xMiAtMTIgLTMxIC0xMiAtNDMgMHMtMTIgMzQgMCA0Nmw0OCA1MGgtMjE3Yy0xNyAwIC0zMSAxNCAtMzEgMzJzMTQgMzIgMzEgMzJoMjE3bC00OSA1MGMtMTIgMTIgLTEyIDM0IDAgNDZzMzIgMTIgNDQgMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hcnJvdy1zaHJpbmsiIHVuaWNvZGU9IiYjeGYyNjc7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zODQgMzU2bC04MiAtODJsNTAgLTUwaC0xMjh2MTI4bDUwIC01MGw4MiA4MnpNMzg0IDI4bC0yOCAtMjhsLTgyIDgybC01MCAtNTB2MTI4aDEyOGwtNTAgLTUwek0wIDI4bDgyIDgybC01MCA1MGgxMjh2LTEyOGwtNTAgNTBsLTgyIC04MnpNMCAzNTZsMjggMjhsODIgLTgybDUwIDUwdi0xMjhoLTEyOGw1MCA1MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hcnJvdy1zd2FwIiB1bmljb2RlPSImI3hmMjY4OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMCAxMjBjMCA0IDQgOCA4IDhoMjQ4djY0bDEyOCAtOTZsLTEyOCAtOTZ2NjRoLTI0OGMtNCAwIC04IDQgLTggOHY0OHpNMzg0IDI2NGMwIC00IC00IC04IC04IC04aC0yNDh2LTY0bC0xMjggOTZsMTI4IDk2di02NGgyNDhjNCAwIDggLTQgOCAtOHYtNDh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYXJyb3ctdXAtYSIgdW5pY29kZT0iJiN4ZjEwYzsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTE5MiAzODRsMTkyIC0xOTJoLTExMnYtMTkyaC0xNjB2MTkyaC0xMTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYXJyb3ctdXAtYiIgdW5pY29kZT0iJiN4ZjEwZDsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTMxNyAxMjFjMiAtMiAzIC02IDMgLTljMCAtOSAtOCAtMTYgLTE3IC0xNnYwaC0yODZ2MGMtOSAwIC0xNyA3IC0xNyAxNmMwIDMgMSA2IDMgOGwyIDNsMTM2IDE1NmM1IDUgMTEgOSAxOSA5czE0IC00IDE5IC05bDEzNiAtMTU2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWFycm93LXVwLWMiIHVuaWNvZGU9IiYjeGYxMGU7IiBob3Jpei1hZHYteD0iMjc0IiAKK2Q9Ik05IDI1OWwxMDUgMTAwYzYgNiAxNCA5IDIzIDlzMTYgLTMgMjIgLTlsMTA2IC0xMDBjMTIgLTEyIDEyIC0zMSAwIC00M3MtMzQgLTEyIC00NiAwbC01MCA0OHYtMjE3YzAgLTE3IC0xNCAtMzEgLTMyIC0zMXMtMzIgMTQgLTMyIDMxdjIxN2wtNTAgLTQ5Yy0xMiAtMTIgLTM0IC0xMiAtNDYgMHMtMTIgMzIgMCA0NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1hc3RlcmlzayIgdW5pY29kZT0iJiN4ZjMxNDsiIAorZD0iTTQ0OCAyMjR2LTY0bC0xODYgMTBsMTA0IC0xNzBsLTU2IC0zMmwtODYgMTc2bC04NiAtMTc2bC01NiAzMmwxMDQgMTcwbC0xODYgLTEwdjY0bDE4NyAtN2wtMTA5IDE2N2w2MCAzMmw4NiAtMTc2bDg2IDE3Nmw2MCAtMzJsLTEwOSAtMTY3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWF0IiB1bmljb2RlPSImI3hmMTBmOyIgCitkPSJNNDIyIDQxYy0yNCAtMjUgLTUyIC00MyAtODUgLTU1cy02OSAtMTggLTEwNSAtMThjLTM1IDAgLTY2IDYgLTk1IDE3cy01MyAyNiAtNzMgNDZzLTM2IDQzIC00NyA3MXMtMTcgNTggLTE3IDkwczYgNjIgMTggODlzMjkgNTEgNTAgNzFzNDYgMzUgNzQgNDdjMjggMTEgNTggMTcgOTAgMTdjMjggMCA1NSAtNCA4MSAtMTJzNDkgLTIwIDY5IC0zNnMzNiAtMzYgNDggLTYwczE4IC01MyAxOCAtODVjMCAtMjQgLTMgLTQ2IC0xMCAtNjQKK3MtMTYgLTM0IC0yNyAtNDZzLTI0IC0yMiAtMzggLTI4cy0yOSAtMTAgLTQ1IC0xMHMtMjkgNCAtMzkgMTJzLTE1IDE3IC0xNSAyOWgtM2MtNiAtMTAgLTE1IC0xOSAtMjggLTI4cy0yOCAtMTMgLTQ2IC0xM2MtMjggMCAtNDkgOSAtNjQgMjdzLTIzIDQyIC0yMyA3MWMwIDE3IDMgMzQgOSA1MHMxNCAzMSAyNCA0NHMyMyAyMyAzOCAzMXMzMSAxMiA0OSAxMmMxNSAwIDI3IC00IDM4IC0xMGMxMCAtNiAxOCAtMTUgMjEgLTI0aDFsNSAyNGg1NAorbC0yNCAtMTEzYy0xIC02IC0yIC0xMiAtMyAtMTlzLTIgLTEzIC0yIC0xOWMwIC03IDEgLTEzIDQgLTE4czcgLTcgMTUgLTdjMTYgMCAyOSA5IDM5IDI2czE2IDQwIDE2IDY4YzAgMjQgLTQgNDUgLTEyIDY0cy0yMCAzNCAtMzQgNDdzLTMyIDIzIC01MiAyOXMtNDEgOSAtNjUgOWMtMjYgMCAtNDkgLTQgLTcwIC0xM3MtMzkgLTIyIC01NCAtMzhzLTI3IC0zNCAtMzUgLTU2Yy04IC0yMSAtMTMgLTQ0IC0xMyAtNjljMCAtMjYgNCAtNTEgMTMgLTcyCitzMjEgLTM5IDM3IC01NHMzNSAtMjcgNTcgLTM1czQ2IC0xMiA3MiAtMTJjMzMgMCA2MSA2IDg1IDE2czQ1IDI1IDY1IDQzek0yMzEgMjYwYy0xMCAwIC0xOCAtMiAtMjUgLThzLTE0IC0xMyAtMTkgLTIycy04IC0xOCAtMTEgLTI4cy00IC0yMCAtNCAtMzBjMCAtNSAwIC0xMCAxIC0xNmMxIC01IDMgLTEwIDYgLTE1czcgLTggMTIgLTExczExIC01IDE5IC01YzExIDAgMjAgMyAyOCA4czE0IDEzIDE5IDIxczkgMTYgMTEgMjZzMyAxOSAzIDI3CitjMCA2IDAgMTMgLTEgMTlzLTQgMTIgLTcgMTdzLTcgOSAtMTIgMTJzLTEyIDUgLTIwIDV6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYmFja3NwYWNlLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzYmU7IiBob3Jpei1hZHYteD0iNTEyIiAKK2Q9Ik00MTMgMTE2YzIgLTIgMyAtNCAzIC02cy0xIC00IC0zIC02bC0yMSAtMjJjLTIgLTIgLTQgLTIgLTYgLTJzLTQgMCAtNiAybC03NiA3N2wtNzYgLTc3Yy0yIC0yIC00IC0yIC02IC0ycy00IDAgLTYgMmwtMjEgMjJjLTIgMiAtMyA0IC0zIDZzMSA0IDMgNmw3NiA3NmwtNzcgNzZjLTMgMyAtMyA5IDAgMTJsMjIgMjJjMiAyIDQgMiA2IDJzNCAwIDYgLTJsNzYgLTc2bDc2IDc2YzIgMiA0IDIgNiAyczQgMCA2IC0ybDIyIC0yMgorYzMgLTMgMyAtOSAwIC0xMmwtNzcgLTc2ek00OTkgMzU0YzkgLTkgMTMgLTIwIDEzIC0zM3YtMjU2YzAgLTI3IC0yMCAtNDkgLTQ2IC00OWgtMjk4Yy0xMyAwIC0yNCAzIC0zNCA5Yy05IDUgLTE2IDExIC0yMyAyMHYwbC0xIDFsLTExMCAxNDZsMTEwIDE0OGMxNCAxOSAzNCAyOCA1OCAyOGgyOThjMTMgMCAyNCAtNSAzMyAtMTR6TTQ4MCA2NXYyNTZjMCA5IC01IDE1IC0xNCAxNWgtMjk4Yy0xMSAwIC0yMiAtMyAtMzIgLTE2bC05NiAtMTI4CitsOTYgLTEyOGM4IC0xMCAxNyAtMTYgMzIgLTE2aDI5OGM5IDAgMTQgOCAxNCAxN3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1iYWNrc3BhY2UiIHVuaWNvZGU9IiYjeGYzYmY7IiBob3Jpei1hZHYteD0iNTEyIiAKK2Q9Ik00OTkgMzU0YzkgLTkgMTMgLTIwIDEzIC0zM3YtMjU2YzAgLTI3IC0yMCAtNDkgLTQ2IC00OWgtMjk4Yy0xMyAwIC0yNCAzIC0zNCA5Yy05IDUgLTE2IDExIC0yMyAyMHYwbC0xIDFsLTExMCAxNDZsMTEwIDE0OGMxNCAxOSAzNCAyOCA1OCAyOGgyOThjMTMgMCAyNCAtNSAzMyAtMTR6TTQxMyAxMTZsLTc2IDc2bDc3IDc2YzMgMyAzIDkgMCAxMmwtMjIgMjJjLTIgMiAtNCAyIC02IDJzLTQgMCAtNiAtMmwtNzYgLTc2bC03NiA3NgorYy0yIDIgLTQgMiAtNiAycy00IDAgLTYgLTJsLTIyIC0yMmMtMyAtMyAtMyAtOSAwIC0xMmw3NyAtNzZsLTc2IC03NmMtMiAtMiAtMyAtNCAtMyAtNnMxIC00IDMgLTZsMjEgLTIyYzIgLTIgNCAtMiA2IC0yczQgMCA2IDJsNzYgNzdsNzYgLTc3YzIgLTIgNCAtMiA2IC0yczQgMCA2IDJsMjEgMjJjMiAyIDMgNCAzIDZzLTEgNCAtMyA2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWJhZyIgdW5pY29kZT0iJiN4ZjExMDsiIAorZD0iTTQxNiAyODhsMzIgLTMyMGgtNDQ4bDMyIDMyMGg2NHY0YzAgNjggNTYgMTI0IDEyNCAxMjRoOGM2OCAwIDEyNCAtNTYgMTI0IC0xMjR2LTRoNjR6TTEyOCAyOTJ2LTRoMTkydjRjMCA1MSAtNDEgOTIgLTkyIDkydjBoLThjLTUxIDAgLTkyIC00MSAtOTIgLTkyek0zNiAwaDM3NmwtMjUgMjU2aC0zNXYtMzZjMTAgLTYgMTYgLTE2IDE2IC0yOGMwIC0xOCAtMTQgLTMyIC0zMiAtMzJzLTMyIDE0IC0zMiAzMmMwIDEyIDYgMjIgMTYgMjh2MzYKK2gtMTkydi0zNmMxMCAtNiAxNiAtMTYgMTYgLTI4YzAgLTE4IC0xNCAtMzIgLTMyIC0zMnMtMzIgMTQgLTMyIDMyYzAgMTIgNiAyMiAxNiAyOHYzNmgtMzV6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYmF0dGVyeS1jaGFyZ2luZyIgdW5pY29kZT0iJiN4ZjExMTsiIAorZD0iTTEwIDY0Yy02IDAgLTEwIDQgLTEwIDEwdjIzNmMwIDYgNCAxMCAxMCAxMGgzODFjNiAwIDEwIC00IDEwIC0xMHYtNTRoMzdjNiAwIDEwIC00IDEwIC0xMHYtMTA4YzAgLTYgLTQgLTEwIC0xMCAtMTBoLTM3di01NGMwIC02IC00IC0xMCAtMTAgLTEwaC0zODF6TTIyNSAyODhsLTEwMCAtMTExaDYxbC0yNyAtODFsMTAwIDExMWgtNjF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYmF0dGVyeS1lbXB0eSIgdW5pY29kZT0iJiN4ZjExMjsiIAorZD0iTTQzOCAyNTZjNiAwIDEwIC00IDEwIC0xMHYtMTA4YzAgLTYgLTQgLTEwIC0xMCAtMTBoLTM3di01NGMwIC02IC00IC0xMCAtMTAgLTEwaC0zODFjLTYgMCAtMTAgNCAtMTAgMTB2MjM2YzAgNiA0IDEwIDEwIDEwaDM4MWM2IDAgMTAgLTQgMTAgLTEwdi01NGgzN3pNNDE2IDE2MHY2NGgtMTVoLTMydjMydjMyaC0zMzd2LTE5MmgzMzd2MzJ2MzJoMzJoMTV6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYmF0dGVyeS1mdWxsIiB1bmljb2RlPSImI3hmMTEzOyIgCitkPSJNNDM4IDI1NmM2IDAgMTAgLTQgMTAgLTEwdi0xMDhjMCAtNiAtNCAtMTAgLTEwIC0xMGgtMzd2LTU0YzAgLTYgLTQgLTEwIC0xMCAtMTBoLTM4MWMtNiAwIC0xMCA0IC0xMCAxMHYyMzZjMCA2IDQgMTAgMTAgMTBoMzgxYzYgMCAxMCAtNCAxMCAtMTB2LTU0aDM3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWJhdHRlcnktaGFsZiIgdW5pY29kZT0iJiN4ZjExNDsiIAorZD0iTTQzOCAyNTZjNiAwIDEwIC00IDEwIC0xMHYtMTA4YzAgLTYgLTQgLTEwIC0xMCAtMTBoLTM3di01NGMwIC02IC00IC0xMCAtMTAgLTEwaC0zODFjLTYgMCAtMTAgNCAtMTAgMTB2MjM2YzAgNiA0IDEwIDEwIDEwaDM4MWM2IDAgMTAgLTQgMTAgLTEwdi01NGgzN3pNNDE2IDE2MHY2NGgtMTVoLTMydjMydjMyaC04MWwzMiAtMTkyaDQ5djMydjMyaDMyaDE1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWJhdHRlcnktbG93IiB1bmljb2RlPSImI3hmMTE1OyIgCitkPSJNMTAgNjRjLTYgMCAtMTAgNCAtMTAgMTB2MjM2YzAgNiA0IDEwIDEwIDEwaDM4MWM2IDAgMTAgLTQgMTAgLTEwdi01NGgzN2M2IDAgMTAgLTQgMTAgLTEwdi0xMDhjMCAtNiAtNCAtMTAgLTEwIC0xMGgtMzd2LTU0YzAgLTYgLTQgLTEwIC0xMCAtMTBoLTM4MXpNMzY5IDI4OGgtMjA5bDMyIC0xOTJoMTc3djMydjMyaDMyaDE1djY0aC0xNWgtMzJ2MzJ2MzJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYmVha2VyIiB1bmljb2RlPSImI3hmMjY5OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNODAgMjU2aDI0MHYtMjI0YzAgLTkgLTcgLTE2IC0xNiAtMTZoLTIwOGMtOSAwIC0xNiA3IC0xNiAxNnYyMjR6TTI5NiAxMDR2NDhjMCA0IC00IDggLTggOHMtOCAtNCAtOCAtOHYtNDhjMCAtNCA0IC04IDggLThzOCA0IDggOHpNMjg4IDE3NmM0IDAgOCA0IDggOHMtNCA4IC04IDhzLTggLTQgLTggLThzNCAtOCA4IC04ek0zODEgNDE2YzMgMCAzIC0yIDMgLTNzLTIgLTMgLTMgLTVzLTEzIC0yMCAtMTMgLTQwdi0zMzYKK2MwIC0zNSAtMjkgLTY0IC02NCAtNjRoLTIwOGMtMzUgMCAtNjQgMjkgLTY0IDY0djMwN2MwIDMyIC0yIDMzIC0zMiAzN2MwIDEyIDExIDQwIDY1IDQwaDMxNnpNMzM2IDM2OGMwIDUgMCAxNiAxIDE2aC0yNzNjLTEgMCAtMyAwIC00IC0xYzUgLTcgNCAtMzIgNCAtNDR2LTMwN2MwIC0xOCAxNCAtMzIgMzIgLTMyaDIxMGMxNyAwIDMwIDE0IDMwIDMydjMzNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1iZWVyIiB1bmljb2RlPSImI3hmMjZhOyIgCitkPSJNMzg0IDI4OGMzNSAwIDY0IC0yOSA2NCAtNjR2LTk2YzAgLTM1IC0yOSAtNjQgLTY0IC02NGgtMzJ2LTgwYzAgLTkgLTcgLTE2IC0xNiAtMTZoLTI1NmMtOSAwIC0xNiA3IC0xNiAxNnYyMjNjLTI2IDAgLTQ4IDIyIC00OCA0OHY1NHYxYy0xMCAxMSAtMTYgMjYgLTE2IDQyYzAgMzUgMjkgNjQgNjQgNjRjMTggMCAzNCAtOCA0NiAtMjBjMTAgMTIgMjYgMjAgNDMgMjBjMTQgMCAyNyAtNiAzNyAtMTRjMTIgOSAyNiAxNCA0MiAxNAorYzE3IDAgMzQgLTYgNDYgLTE2YzExIDEwIDI2IDE2IDQyIDE2YzM1IDAgNjQgLTI5IDY0IC02NGMwIC0yNCAtMTggLTQ0IC0zMiAtNDh2LTE2aDMyek0yOTYgMTQ0YzQgMCA4IDMgOCA4djB2NDhjMCA0IC00IDggLTggOHMtOCAtNCAtOCAtOHYtNDhjMCAtMyAyIC02IDQgLTdjMSAtMSAyIC0xIDQgLTF6TTMwMyAyMjBjMSAyIDEgNCAxIDZzLTEgNCAtMyA1cy00IDEgLTYgMXMtNCAtMiAtNSAtNHMtMiAtNCAtMiAtNnMyIC00IDQgLTUKK3M0IC0xIDYgLTFzNCAyIDUgNHpNMzIwIDI4OHYzMmgtMjBjLTMgLTggLTcgLTE2IC0xMyAtMjNjLTEzIC0xNiAtMzMgLTI1IC01NSAtMjVjLTI2IDAgLTQ4IDEzIC02MSAzM2MtNiAtMiAtMTIgLTMgLTE4IC0zYy0xMiAwIC0yMyA0IC0zMiAxMGMtMiAxIC0zIDMgLTUgNGMtMSAtMiAtMiAtMyAtMyAtNWMtNSAtNiAtMTEgLTEwIC0xNyAtMTR2LTMydi05aDgwYzAgNCA0IDggOCA4czggLTQgOCAtOGgxMjh2MzJ6TTM1MSAzNDNjMSAzIDEgNiAxIDkKK2MwIDE4IC0xNCAzMiAtMzIgMzJjLTkgMCAtMTcgLTQgLTIzIC0xMGMtMiAtMiAtNiAtNSAtMTYgLTZoLThjLTYgMSAtMTIgMyAtMTQgNWMtNyA3IC0xNiAxMSAtMjcgMTFjLTkgMCAtMTggLTQgLTI1IC05bC03IC03YzAgLTEgMCAtMSAtMSAtMmMtMyAtMyAtNyAtNSAtMTEgLTVjLTUgMCAtOCAzIC0xMSA2Yy0xIDIgLTIgMyAtMyA1cy0zIDQgLTUgNmMtNCA0IC0xMCA2IC0xNiA2Yy0xMCAwIC0xOCAtOSAtMjUgLTE2CitjLTcgLTggLTI3IC04IC0zNCAwcy0xOCAxNiAtMzAgMTZjLTE4IDAgLTMyIC0xNCAtMzIgLTMyYzAgLTIgMSAtNSAxIC03YzIgLTkgNyAtMTcgMTUgLTIxdi0zNHYtMzVjMCAtOSA3IC0xNiAxNiAtMTZ2MjZ2MjN2MzJjMTAgMCAxOCA0IDI0IDExYzIgMiAzIDQgNCA2YzAgMCA2IDEwIDEyIDExczIwIDYgMzAgLTVjNCAtNSAxMSAtOSAxOSAtOWMzIDAgNSAxIDcgMmMzIDEgNyAyIDkgNHYwYzMgMiA2IDQgMTAgNGM3IDAgMTIgLTQgMTQgLTEwCitjMCAwIDEgLTEgMSAtMmMxIC0zIDEgLTUgMyAtOGM3IC0xMiAyMCAtMjAgMzUgLTIwYzEzIDAgMjUgNiAzMiAxNmM1IDcgOCAxNSA4IDI0czkgOCA5IDhoN2g0OGM2IDAgMTMgLTMgMTUgLTl6TTQxNiAxMjh2OTZjMCAxOCAtMTQgMzIgLTMyIDMyaC0zMnYtMTYwaDMyYzE4IDAgMzIgMTQgMzIgMzJ6TTEyOCAyODBjMCA1IDMgOCA4IDhzOCAtMyA4IC04cy0zIC04IC04IC04cy04IDMgLTggOHpNMjg4IDI4MGMwIDUgMyA4IDggOHM4IC0zIDggLTgKK3MtMyAtOCAtOCAtOHMtOCAzIC04IDh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYmx1ZXRvb3RoIiB1bmljb2RlPSImI3hmMTE2OyIgaG9yaXotYWR2LXg9IjI1NiIgCitkPSJNMTIgMzA0YzE2IDE2IDE4IDEzIDE5IDEybDY4IC02NXYwdjBjMiAtMiAxMCAtMTAgMTAgLTN2MTU2djB2MmMwIDYgNiAxMCAxMiAxMGM0IDAgNyAtMiA5IC00djBzMTE3IC0xMTMgMTIyIC0xMTdzNSAtMTAgMSAtMTRsLTg0IC04MXMtNCAtNCAtNCAtOHM0IC04IDQgLThsODQgLTgxYzQgLTQgNCAtMTAgLTEgLTE0cy0xMjIgLTExNyAtMTIyIC0xMTd2MGMtMiAtMiAtNSAtNCAtOSAtNGMtNiAwIC0xMiA0IC0xMiAxMHYydjB2MTU2CitzLTggLTEgLTEwIC0zdjB2LTFsLTY4IC02NGMtMSAtMSAtMyAtNCAtMTkgMTJzLTEyIDE3IC0xMSAxOHM5MCA4NiA5MCA4NnM0IDMgNCA4djBjMCA1IC00IDggLTQgOHMtODkgODUgLTkwIDg2cy01IDIgMTEgMTh6TTE1MiAzMjh2LTc5YzAgLTggOCAtMSAxMCAxbDMwIDMwczMgNSAzIDdzLTEgNSAtMyA3bC0zMCAzMGMtMiAyIC0xMCAxMSAtMTAgNHpNMTUyIDEzNXYtNzlzOCAyIDEwIDRsMzAgMzBjMiAyIDMgNSAzIDdzLTEgNSAtMyA3bC0zMCAzMAorYy0yIDIgLTEwIDkgLTEwIDF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYm9uZmlyZSIgdW5pY29kZT0iJiN4ZjMxNTsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTIwNyA5N2wxNSAtODljMSAtMyAxIC01IDEgLThjMCAtMTggLTE0IC0zMiAtMzIgLTMycy0zMiAxNCAtMzIgMzJjMCAyIDAgNSAxIDdsMTUgOTJ2MGMyIDcgOCAxMyAxNiAxM3MxNSAtNyAxNiAtMTV6TTI0MiA5M3YwdjB2MHpNMzI5IDU4YzkgLTggMTAgLTI1IDAgLTM1cy0yNyAtOSAtMzUgMGMtMSAxIC0yIDMgLTMgNGwtNDkgNjZjLTMgNSAtMiAxMSAyIDE1YzUgNSAxMCA1IDE2IDFsNjQgLTQ3YzIgLTEgMyAtMyA1IC00ek0zMDkgMTEzdjAKK3YwdjB6TTM3MSAxMjZjOSAtMSAxMyAtNyAxMyAtMTljMCAtOSAtMTAgLTE0IC0xOCAtMTJsLTU3IDE4djB2MGMtMyAyIC02IDUgLTUgOXM0IDcgOCA2ek03NSAxMTN2MHYwdjB6TTc1IDExM3YwbC01OCAtMThjLTggLTIgLTE3IDMgLTE3IDEyYzAgMTIgMyAxOCAxMiAxOWw2MCAyYzQgMSA3IC0yIDggLTZzLTIgLTcgLTUgLTl2MHpNMTI0IDEwOWM1IDQgMTEgNCAxNiAtMWM0IC00IDUgLTEwIDIgLTE1bC00OSAtNjZjLTEgLTEgLTIgLTMgLTMgLTQKK2MtMTAgLTEwIC0yNSAtMTAgLTM1IDBzLTEwIDI1IDAgMzVjMiAyIDMgMyA1IDR6TTI4OCAzMjBjMCAtMzIgLTkgLTU4IC01MCAtODZjLTM3IC0yNiAtOTQgLTQ2IC0xMTAgLTEwNmMwIDAgLTU4IDI0IC00OCA5NnMxMjQgMTA2IDExMiAxOTJjMjQgMCA5NiAtMzUgOTYgLTk2ek0yODggMTkyYy0xNiAtNTAgLTQ0IC02NCAtODAgLTY0Yy0xNSAwIC0zMiA5IC00MyAyNmMxMiAxNSAyOCAyNiA0NyAzN2M5IDUgMjAgMTAgMjkgMTYKK2MyMSAxNCAzOCAzMSA0NyA0OWM1IC0xNSA1IC00OCAwIC02NHpNODggMjg4Yy02IDQgLTkgMTQgLTggMjdjMiAyMiAzNCAzOSAzMiA2OWMxNCAyIDMxIC0zIDQyIC0yNGMtNSAtMTEgLTE1IC0yMSAtMjggLTM0cy0yNiAtMjIgLTM4IC0zOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1ib29rbWFyayIgdW5pY29kZT0iJiN4ZjI2YjsiIGhvcml6LWFkdi14PSIxOTIiIAorZD0iTTE4NCAzODRjNCAwIDggLTQgOCAtOHYtNTZoLTE5MnY1NmMwIDQgNCA4IDggOGgxNzZ6TTAgMHYzMDRoMTkydi0zMDRsLTk2IDk2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWJvd3RpZSIgdW5pY29kZT0iJiN4ZjNjMDsiIAorZD0iTTE5MiAyMzZjMCAwIDggNSAyMCA3YzIxIDQgMzkgNSA0NyAtOWMxMCAtMTcgMTkgLTUzIDE3IC04NWMtMSAtMTcgLTUgLTIyIC01IC0yMnMtMTUgLTEwIC00NyAtN2MtMzUgMyAtNDAgMTUgLTQwIDE1czUgMTIgOCA0M3MwIDU4IDAgNTh6TTE1MiAxNjNjLTE3IC00IC0zOCAtMTAgLTM4IC0xMHM0NSA0IDY0IDljLTQgLTIxIC0xMCAtMzQgLTEwIC0zNHMtODMgLTgwIC0xMTYgLTgwYy0yOCAwIC01MiA2OCAtNTIgMTQ0czI2IDE0NCA1MiAxNDQKK2MzNSAwIDEwNiAtNTcgMTI4IC05N2MwIDAgMyAtMTYgMiAtMzJjLTEwIDUgLTI0IDEwIC00NCAxNGMtMjggNiAtNDIgMyAtNDIgM3MxOCAtNCA1NyAtMTdjMTUgLTUgMjIgLTggMjkgLTEwYzAgLTMgLTEgLTcgLTEgLTEwYzAgLTUgMCAtMTAgLTEgLTE1Yy01IC0yIC0xNSAtNiAtMjggLTl6TTM5NiAzMzZjMjYgMCA1MiAtNjggNTIgLTE0NHMtMjQgLTE0NCAtNTIgLTE0NGMtMzcgMCAtMTA0IDY4IC0xMTIgNzljMCAwIDQgNSA1IDIydjkKK2MxNiAtNyA3MCAtMTMgNzAgLTEzcy0yMSA2IC00MCAxMWMtMTMgNCAtMjUgOCAtMzAgMTBjLTEgMTEgLTIgMjMgLTQgMzNjMTcgMTEgNjkgMzQgNjkgMzRzLTE1IC0yIC0zNSAtOWMtMTQgLTUgLTI5IC0xMSAtMzcgLTE0Yy0zIDEwIC03IDE4IC0xMCAyNGMwIDEgLTEgNCAtMSA0djFjMjIgNDAgODkgOTcgMTI1IDk3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWJyaWVmY2FzZSIgdW5pY29kZT0iJiN4ZjI2YzsiIAorZD0iTTI0MCAxNzZ2OGgyMDh2LTE3NmMwIC00IC00IC04IC04IC04aC00MzJjLTQgMCAtOCA0IC04IDh2MTc2aDIwOHYtOGgzMnpNNDQwIDMwNGM0IDAgOCAtNCA4IC04di05NmgtMjA4djhoLTMydi04aC0yMDh2OTZjMCA0IDQgOCA4IDhoMTIwdjMxYzEgMjggMjIgNDkgNTEgNDloOTBjMzAgMCA1MCAtMjEgNTEgLTQ5di0zMWgxMjB6TTI4OCAzMzJ2MWMwIDEwIC05IDE5IC0xOSAxOWgtOTBjLTEwIDAgLTE5IC05IC0xOSAtMTl2LTF2LTF2LTI3CitoMTI4djI3djF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tYnVnIiB1bmljb2RlPSImI3hmMmJlOyIgCitkPSJNMzQzIDMyMWMtNiAtMTYgLTE2IC0zMSAtMjggLTQzYy0yNCAtMjQgLTU3IC0zNyAtOTEgLTM3cy02NyAxMyAtOTEgMzdjLTEyIDEyIC0yMiAyNyAtMjggNDNjMjkgMzkgNzIgNjMgMTE5IDYzczkwIC0yNCAxMTkgLTYzek05NSAzMDVjMjIgLTQ1IDY4IC03NyAxMjEgLTgwdi0yMjVjLTQwIDIgLTc3IDIyIC0xMDQgNTRjLTcgLTYgLTEwIC05IC0xMyAtMTVjOCAtOSA3IC0yMiAtMSAtMzFjLTkgLTEwIC0yNCAtMTEgLTM0IC0yCitzLTExIDI0IC0yIDM0bDMgM3MyIDEgMiAxYzQgMTMgMTMgMjUgMjcgMzZjLTE1IDI2IC0yNiA1NyAtMjkgOTBjLTcgMCAtMTIgLTIgLTE3IC0zYy0xIC0xMyAtMTEgLTIzIC0yNCAtMjNzLTI0IDExIC0yNCAyNHMxMSAyNCAyNCAyNGgzYzQgMiA4IDUgMTIgNmM3IDIgMTQgNCAyNSA0YzEgMjMgNiA0NSAxMyA2NWMtNiA0IC0xMSA3IC0xNSAxMWMtNiA1IC0xMSAxMyAtMTQgMTljLTEgMCAtMyAxIC00IDJjLTEyIDYgLTE1IDIxIC05IDMzCitzMjEgMTUgMzMgOWMxMSAtNiAxNSAtMjAgMTAgLTMxYzIgLTMgMyAtNyA0IC04YzIgLTIgNSAtMyA4IC01YzIgMyAzIDUgNSA4ek00MjQgMTkyYzEzIDAgMjQgLTExIDI0IC0yNHMtMTEgLTI0IC0yNCAtMjRzLTIzIDEwIC0yNCAyM2MtNSAxIC0xMCAzIC0xNyAzYy0zIC0zMyAtMTQgLTY0IC0yOSAtOTBjMTQgLTExIDIzIC0yMyAyNyAtMzZjMCAwIDEgMCAyIC0xbDMgLTNjOSAtMTAgOCAtMjUgLTIgLTM0cy0yNSAtOCAtMzQgMgorYy04IDkgLTkgMjIgLTEgMzFjLTMgNiAtNiA5IC0xMyAxNWMtMjcgLTMyIC02NCAtNTIgLTEwNCAtNTR2MjI1YzUzIDMgOTkgMzUgMTIxIDgwYzIgLTMgMyAtNSA1IC04YzMgMiA2IDMgOCA1YzEgMSAyIDUgNCA4Yy01IDExIC0xIDI1IDEwIDMxYzEyIDYgMjcgMyAzMyAtOXMzIC0yNyAtOSAtMzNjLTEgLTEgLTMgLTIgLTQgLTJjLTMgLTYgLTggLTE0IC0xNCAtMTljLTQgLTQgLTkgLTcgLTE1IC0xMWM3IC0yMCAxMiAtNDIgMTMgLTY1CitjMTEgMCAxOCAtMiAyNSAtNGM0IC0xIDggLTQgMTIgLTZoM3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jYWxjdWxhdG9yIiB1bmljb2RlPSImI3hmMjZkOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMzA0IDQxNmM5IDAgMTYgLTcgMTYgLTE2di00MTZjMCAtOSAtNyAtMTYgLTE2IC0xNmgtMjg4Yy05IDAgLTE2IDcgLTE2IDE2djQxNmMwIDkgNyAxNiAxNiAxNmgyODh6TTQ4IDI0MHYtMzJoMzJ2MzJoLTMyek00OCAxNzZ2LTMyaDMydjMyaC0zMnpNNDggMTEydi0zMmgzMnYzMmgtMzJ6TTE0NCAxNnYzMmgtOTZ2LTMyaDk2ek0xNDQgODB2MzJoLTMydi0zMmgzMnpNMTQ0IDE0NHYzMmgtMzJ2LTMyaDMyek0xNDQgMjA4djMyaC0zMnYtMzIKK2gzMnpNMjA4IDE2djMyaC0zMnYtMzJoMzJ6TTIwOCA4MHYzMmgtMzJ2LTMyaDMyek0yMDggMTQ0djMyaC0zMnYtMzJoMzJ6TTIwOCAyMDh2MzJoLTMydi0zMmgzMnpNMjcyIDE2djk2aC0zMnYtOTZoMzJ6TTI3MiAxNDR2MzJoLTMydi0zMmgzMnpNMjcyIDIwOHYzMmgtMzJ2LTMyaDMyek0yNzIgMjg4djgwaC0yMjR2LTgwaDIyNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jYWxlbmRhciIgdW5pY29kZT0iJiN4ZjExNzsiIAorZD0iTTExMiAzMjBjLTE4IDAgLTMyIDE0IC0zMiAzMnYzMmMwIDE4IDE0IDMyIDMyIDMyczMyIC0xNCAzMiAtMzJ2LTMyYzAgLTE4IC0xNCAtMzIgLTMyIC0zMnpNMzM2IDMyMGMtMTggMCAtMzIgMTQgLTMyIDMydjMyYzAgMTggMTQgMzIgMzIgMzJzMzIgLTE0IDMyIC0zMnYtMzJjMCAtMTggLTE0IC0zMiAtMzIgLTMyek00NDAgMzg0YzQgMCA4IC00IDggLTh2LTQwMGMwIC00IC00IC04IC04IC04aC00MzJjLTQgMCAtOCA0IC04IDh2NDAwCitjMCA0IDQgOCA4IDhoNTZ2LTQxYzAgLTIyIDI0IC0zOSA0OCAtMzlzNDggMTcgNDggMzl2NDFoMTI4di00MWMwIC0yMiAyNSAtMzkgNDkgLTM5czQ3IDE3IDQ3IDM5djQxaDU2ek00MDAgMTZ2MjU2aC0zNTJ2LTI1NmgzNTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY2FtZXJhIiB1bmljb2RlPSImI3hmMTE4OyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMzgyIDMwMWMxOCAwIDM0IC0xNCAzNCAtMzN2LTIwMmMwIC0xOSAtMTYgLTM0IC0zNCAtMzRoLTM0OGMtMTkgMCAtMzQgMTUgLTM0IDM0djIwMmMwIDE5IDE1IDMzIDM0IDMzaDY5bDM5IDQwdjBjNiA3IDE1IDExIDI1IDExaDg0YzkgMCAxNyAtNCAyMyAtMTB2MHYwdjBsNDEgLTQxaDY3ek0yMDggODJjNTEgMCA5MiA0MiA5MiA5M3MtNDEgOTMgLTkyIDkzcy05MiAtNDIgLTkyIC05M3M0MSAtOTMgOTIgLTkzek0zNzYgMjQ4CitjOCAwIDE0IDYgMTQgMTRzLTYgMTQgLTE0IDE0cy0xNCAtNiAtMTQgLTE0czYgLTE0IDE0IC0xNHpNMjA4IDI0NWMzOCAwIDcwIC0zMSA3MCAtNzBzLTMyIC03MCAtNzAgLTcwYy0zOSAwIC03MCAzMSAtNzAgNzBzMzEgNzAgNzAgNzB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY2FyZCIgdW5pY29kZT0iJiN4ZjExOTsiIAorZD0iTTQyMCAzNTJjMTYgMCAyOCAtMTIgMjggLTI4djB2LTI2NHYwYzAgLTE2IC0xMiAtMjggLTI4IC0yOGgtMzkyYy0xNiAwIC0yOCAxMiAtMjggMjh2MHYwdjI2NHYwdjBjMCAxNiAxMiAyOCAyOCAyOGgzOTJ6TTQ1IDMyMGMtNyAwIC0xMiAtNSAtMTMgLTEydi0yMGgzODR2MjBjLTEgNyAtNiAxMiAtMTMgMTJoLTM1OHpNNDAzIDY0YzcgMCAxMiA1IDEzIDEydjExNmgtMzg0di0xMTZjMSAtNyA2IC0xMiAxMyAtMTJoMzU4ek02NCAxMjh2MTYKK2gxOTJ2LTE2aC0xOTJ6TTY0IDk2djE2aDk2di0xNmgtOTZ6TTMyMCA5NnY0OGg2NHYtNDhoLTY0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWNhc2giIHVuaWNvZGU9IiYjeGYzMTY7IiBob3Jpei1hZHYteD0iNTEyIiAKK2Q9Ik0wIDM1Mmg1MTJ2LTI1NmgtNTEydjI1NnpNMTkzIDEyOGMtMjAgMjMgLTMzIDU4IC0zMyA5NnMxMyA3MyAzMyA5NmgtOTdjMCAtMzUgLTI5IC02NCAtNjQgLTY0di04MGMyNyAwIDQ4IC0yMSA0OCAtNDhoMTEzek0yOTggMTg3YzMgNCA0IDkgNCAxNWMwIDMgMCA1IC0xIDhzLTIgNiAtNCA4cy00IDQgLTcgNnMtNiA0IC0xMCA1Yy0xIDAgLTQgMSAtNyAycy01IDAgLTggMXYzMWMyIC0xIDUgLTIgNyAtM2M0IC0zIDYgLTcgNyAtMTNoMjAKK2MwIDUgLTIgOSAtNCAxM3MtNSA4IC05IDExcy05IDUgLTE0IDZjLTIgMSAtNSAyIC03IDJ2OWgtMTh2LTljLTIgMCAtNCAtMSAtNiAtMmMtNSAtMSAtMTAgLTIgLTE0IC01cy03IC02IC05IC0xMHMtNCAtOSAtNCAtMTRjMCAtMyAwIC01IDEgLThzMiAtNSA0IC03czUgLTUgOCAtN3M3IC00IDEyIC01YzMgLTEgNiAwIDggLTF2LTM1Yy0zIDEgLTYgMiAtOSA0cy01IDQgLTYgN3MtMiA2IC0yIDloLTIwYzAgLTUgMiAtMTEgNCAtMTYKK2MzIC01IDYgLTggMTAgLTExczkgLTYgMTUgLTdjMyAtMSA1IC0yIDggLTJ2LTloMTh2OWMzIDAgNiAxIDkgMmM1IDEgMTAgMiAxNCA1czcgNyAxMCAxMXpNNDgwIDE3NnY4MGMtMzUgMCAtNjQgMjkgLTY0IDY0aC05N2MyMCAtMjMgMzMgLTU4IDMzIC05NnMtMTMgLTczIC0zMyAtOTZoMTEzYzAgMjcgMjIgNDggNDggNDh6TTY0IDIyNGMwIDIxIDExIDMyIDMyIDMyczMyIC0xMSAzMiAtMzJzLTExIC0zMiAtMzIgLTMycy0zMiAxMSAtMzIgMzJ6CitNMzg0IDIyNGMwIDIxIDExIDMyIDMyIDMyczMyIC0xMSAzMiAtMzJzLTExIC0zMiAtMzIgLTMycy0zMiAxMSAtMzIgMzJ6TTI3MyAyMTNjMiAtMSA0IC0yIDYgLTRzMyAtNSAzIC05YzAgLTIgMCAtNCAtMSAtNnMtMiAtNCAtNCAtNXMtNSAtMyAtOCAtNGMtMSAwIC0yIC0xIC00IC0xdjMxYzMgLTEgNiAtMSA4IC0yek0yMzYgMjU3YzEgMiAzIDMgNSA0czQgMiA2IDJ2LTI2Yy00IDEgLTcgMyAtOSA1cy00IDQgLTQgOGMwIDMgMSA1IDIgN3pNMCAzMgordjMyaDUxMnYtMzJoLTUxMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jaGF0Ym94LXdvcmtpbmciIHVuaWNvZGU9IiYjeGYxMWE7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik03NiA0OGMtNDIgMCAtNzYgMzEgLTc2IDcxdjIwOWMwIDQwIDM0IDcyIDc2IDcyaDI2NGM0MiAwIDc2IC0zMiA3NiAtNzJ2LTIwOWMwIC00MCAtMzQgLTcxIC03NiAtNzFoLTR2LTY0cy03OSA1NCAtODYgNTlzLTcgNSAtMjEgNWgtMTUzek0zMDQgMjU2Yy0xOCAwIC0zMiAtMTQgLTMyIC0zMnMxNCAtMzIgMzIgLTMyczMyIDE0IDMyIDMycy0xNCAzMiAtMzIgMzJ6TTIwOCAyNTZjLTE4IDAgLTMyIC0xNCAtMzIgLTMyczE0IC0zMiAzMiAtMzIKK3MzMiAxNCAzMiAzMnMtMTQgMzIgLTMyIDMyek0xMTIgMjU2Yy0xOCAwIC0zMiAtMTQgLTMyIC0zMnMxNCAtMzIgMzIgLTMyczMyIDE0IDMyIDMycy0xNCAzMiAtMzIgMzJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY2hhdGJveCIgdW5pY29kZT0iJiN4ZjExYjsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTc2IDQ4Yy00MiAwIC03NiAzMSAtNzYgNzF2MjA5YzAgNDAgMzQgNzIgNzYgNzJoMjY0YzQyIDAgNzYgLTMyIDc2IC03MnYtMjA5YzAgLTQwIC0zNCAtNzEgLTc2IC03MWgtNHYtNjRzLTc5IDU0IC04NiA1OXMtNyA1IC0yMSA1aC0xNTN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY2hhdGJveGVzIiB1bmljb2RlPSImI3hmMTFjOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjQ2IDgybDI2IC0xOGMtNCAtMjEgLTI5IC0zMiAtNTIgLTMyaC05MGMtOCAwIC0xMSAtMiAtMTMgLTNsLTUzIC00NXY0OGgtMTZjLTI2IDAgLTQ4IDE2IC00OCA0MXYxMjljMCAyNSAyMCA0NSA0NiA0NWgydi0xMDFjMCAtMzMgMjkgLTU5IDY0IC01OWgxMTdjMTAgMCAxNCAtMyAxNyAtNXpNMzUzIDQwMGMzNSAwIDYzIC0yNyA2MyAtNjB2LTE2OGMwIC0zMyAtMjggLTYwIC02MyAtNjBoLTE3di02NGwtNzUgNjBjLTIgMiAtNyA0IC0xNyA0CitoLTEwMWMtMzUgMCAtNjMgMjcgLTYzIDYwdjk4djcwYzAgMzMgMjEgNjAgNTYgNjBoMjE3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWNoYXRidWJibGUtd29ya2luZyIgdW5pY29kZT0iJiN4ZjExZDsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCAtMWMtMTE1IDAgLTIwOCA4OSAtMjA4IDIwMHM5MyAyMDEgMjA4IDIwMXMyMDggLTkwIDIwOCAtMjAxYzAgLTQwIC0xMiAtNzcgLTMzIC0xMDhjLTEgLTEgLTIgLTMgLTMgLTR2MGMtMiAtNCAtNCAtMTAgLTQgLTE1bDIyIC04OGwtODQgMzFjLTQgMiAtOCAyIC0xMiAycy03IC0xIC0xMSAtMnYwYy0xIDAgLTEgLTEgLTIgLTFjLTI1IC0xMCAtNTIgLTE1IC04MSAtMTV6TTMwNCAyMjRjLTE4IDAgLTMyIC0xNCAtMzIgLTMyCitzMTQgLTMyIDMyIC0zMnMzMiAxNCAzMiAzMnMtMTQgMzIgLTMyIDMyek0yMDggMjI0Yy0xOCAwIC0zMiAtMTQgLTMyIC0zMnMxNCAtMzIgMzIgLTMyczMyIDE0IDMyIDMycy0xNCAzMiAtMzIgMzJ6TTExMiAyMjRjLTE4IDAgLTMyIC0xNCAtMzIgLTMyczE0IC0zMiAzMiAtMzJzMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jaGF0YnViYmxlIiB1bmljb2RlPSImI3hmMTFlOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IC0xYy0xMTUgMCAtMjA4IDg5IC0yMDggMjAwczkzIDIwMSAyMDggMjAxczIwOCAtOTAgMjA4IC0yMDFjMCAtNDAgLTEyIC03NyAtMzMgLTEwOGMtMSAtMSAtMiAtMyAtMyAtNHYwYy0yIC00IC00IC0xMCAtNCAtMTVsMjIgLTg4bC04NCAzMWMtNCAyIC04IDIgLTEyIDJzLTcgLTEgLTExIC0ydjBjLTEgMCAtMSAtMSAtMiAtMWMtMjUgLTEwIC01MiAtMTUgLTgxIC0xNXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jaGF0YnViYmxlcyIgdW5pY29kZT0iJiN4ZjExZjsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTI1IDU3Yy0xIDEgMCAyIC0xIDNjLTE1IDIyIC0yNCA0OSAtMjQgNzdjMCA0MiAxOSA4MCA0OSAxMDZjLTIgLTExIC00IC0yMiAtNCAtMzRjMCAtOTIgNzggLTE2OCAxNzQgLTE2OGMxNSAwIDMwIDIgNDQgNmMtMjcgLTMyIC02OSAtNTMgLTExNSAtNTNjLTIwIDAgLTQwIDUgLTU4IDEyaC0xdjBjLTIgMSAtNSAyIC04IDJzLTYgLTEgLTkgLTJsLTU2IC0yMmwxMiA2M2MwIDQgLTEgNyAtMyAxMHYwek0yNDIgNDAwCitjOTYgMCAxNzQgLTc2IDE3NCAtMTY4YzAgLTMzIC0xMSAtNjQgLTI4IC05MGMtMSAtMSAtMSAtMiAtMiAtM3YwYy0yIC00IC0zIC04IC0zIC0xMmwxNyAtNzRsLTY5IDI2Yy0zIDEgLTYgMiAtMTAgMmMtMyAwIC02IC0xIC05IC0ydjBsLTIgLTFjLTggLTMgLTE2IC01IC0yNCAtN2MtMTQgLTQgLTI5IC02IC00NCAtNmMtOTYgMCAtMTczIDc1IC0xNzMgMTY3YzAgMTIgMSAyNCAzIDM1YzE2IDc2IDg2IDEzMyAxNzAgMTMzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWNoZWNrbWFyay1jaXJjbGVkIiB1bmljb2RlPSImI3hmMTIwOyIgCitkPSJNMjI0IDQxNmMxMjQgMCAyMjQgLTEwMCAyMjQgLTIyNHMtMTAwIC0yMjQgLTIyNCAtMjI0cy0yMjQgMTAwIC0yMjQgMjI0czEwMCAyMjQgMjI0IDIyNHpNMzM5IDI2N2MxIDEgMSAyIDEgM3MwIDMgLTEgNGwtMzEgMjRjLTEgMSAtMyAxIC00IDFzLTIgMCAtMyAtMWwtMTExIC0xNDNzLTQ0IDQyIC00NSA0M3MtNCAzIC02IDNzLTMgLTIgLTQgLTNsLTI1IC0yNWwtMSAtMWMtMSAtMSAtMSAtMyAtMSAtNHMwIC0yIDEgLTNsMiAtMQorczc4IC03NSA3OSAtNzZzMyAtMyA1IC0zczQgMiA1IDN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY2hlY2ttYXJrLXJvdW5kIiB1bmljb2RlPSImI3hmMTIxOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNNDAwIDM3NmMxNyAtMTMgMjIgLTM5IDkgLTU3bC0yMDcgLTMwMmMtMTMgLTE4IC0zNyAtMjIgLTU0IC05cy0xMzcgMTQ3IC0xMzcgMTQ3Yy0xNSAxNiAtMTUgNDIgMSA1OHM0MCAxNSA1NSAtMmw5OSAtMTA3bDE4MCAyNjNjMTMgMTggMzcgMjIgNTQgOXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jaGVja21hcmsiIHVuaWNvZGU9IiYjeGYxMjI7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik00MTQgMzM4YzEgLTIgMiAtNCAyIC02cy0xIC00IC0yIC02bC0yNDkgLTMyMGMtMiAtMiAtNSAtNiAtOSAtNnMtOCAzIC0xMCA1cy0xNDEgMTM2IC0xNDEgMTM2bC0zIDNjLTEgMiAtMiA0IC0yIDZzMSAzIDIgNWwyIDJjMTQgMTUgNDIgNDQgNDQgNDZzNCA2IDggNnM4IC00IDEwIC02czgwIC03OCA4MCAtNzhsMjAwIDI1N2MyIDIgNCAyIDYgMnM1IC0xIDcgLTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY2hldnJvbi1kb3duIiB1bmljb2RlPSImI3hmMTIzOyIgCitkPSJNMjI0IDE1MHYwdjBsMTc0IDE2N2M0IDQgMTIgNCAxNiAwbDMxIC0zMGM0IC00IDQgLTEyIDAgLTE2bC0yMTMgLTIwNGMtMiAtMiAtNSAtMyAtOCAtM3MtNiAxIC04IDNsLTIxMyAyMDRjLTQgNCAtNCAxMiAwIDE2bDMxIDMwYzQgNCAxMiA0IDE2IDB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY2hldnJvbi1sZWZ0IiB1bmljb2RlPSImI3hmMTI0OyIgaG9yaXotYWR2LXg9IjI1NiIgCitkPSJNODYgMTkybDE2NyAtMTc0YzQgLTQgNCAtMTIgMCAtMTZsLTMwIC0zMWMtNCAtNCAtMTIgLTQgLTE2IDBsLTIwNCAyMTNjLTIgMiAtMyA1IC0zIDhzMSA2IDMgOGwyMDQgMjEzYzQgNCAxMiAzIDE2IC0xbDMwIC0zMGM0IC00IDQgLTEyIDAgLTE2bC0xNjcgLTE3NHYwdjB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY2hldnJvbi1yaWdodCIgdW5pY29kZT0iJiN4ZjEyNTsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTE3MCAxOTJ2MHYwbC0xNjcgMTc0Yy00IDQgLTQgMTIgMCAxNmwzMCAzMGM0IDQgMTIgNSAxNiAxbDIwNCAtMjEzYzIgLTIgMyAtNSAzIC04cy0xIC02IC0zIC04bC0yMDQgLTIxM2MtNCAtNCAtMTIgLTQgLTE2IDBsLTMwIDMxYy00IDQgLTQgMTIgMCAxNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jaGV2cm9uLXVwIiB1bmljb2RlPSImI3hmMTI2OyIgCitkPSJNMjI0IDIzNGwtMTc0IC0xNjdjLTQgLTQgLTEyIC00IC0xNiAwbC0zMSAzMGMtNCA0IC00IDEyIDAgMTZsMjEzIDIwNGMyIDIgNSAzIDggM3M2IC0xIDggLTNsMjEzIC0yMDRjNCAtNCA0IC0xMiAwIC0xNmwtMzEgLTMwYy00IC00IC0xMiAtNCAtMTYgMGwtMTc0IDE2N3YwdjB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY2xpcGJvYXJkIiB1bmljb2RlPSImI3hmMTI3OyIgaG9yaXotYWR2LXg9IjM1MiIgCitkPSJNODAgMjg4YzIgMjAgMTAgMzUgMjggNDBsMSAxYzEyIDMgMjEgNyAyMSAyMHYyMWMwIDI2IDIxIDQ2IDQ2IDQ2czQ2IC0yMCA0NiAtNDZ2LTIxYzAgLTEzIDkgLTE4IDIxIC0yMWgyYzE4IC01IDI1IC0yMCAyNyAtNDBoLTE5MnpNMTc2IDM4NGMtOCAwIC0xMyAtNiAtMTMgLTE0czUgLTE0IDEzIC0xNHMxNCA2IDE0IDE0cy02IDE0IC0xNCAxNHpNMzI1IDM4NGMxNSAwIDI3IC0xMiAyNyAtMjh2LTM2MGMwIC0xNiAtMTIgLTI4IC0yNyAtMjgKK2gtMTQ5aC0xNDhjLTE1IDAgLTI4IDEyIC0yOCAyOHYzNjBjMCAxNiAxMyAyOCAyOCAyOGg3M3YtMTNjMCAtMTEgLTkgLTE5IC0xOSAtMTloLTM3Yy03IDAgLTEyIC02IC0xMiAtMTN2LTMyN2MwIC02IDUgLTEyIDExIC0xMmgyNjVjNiAwIDExIDYgMTEgMTJ2MzI3YzAgNyAtNSAxMyAtMTIgMTNoLTM3Yy0xMCAwIC0yMCA4IC0yMCAxOXYxM2g3NHpNNjQgMjI0djMyaDExMnYtMzJoLTExMnpNNjQgMzJ2MzJoMTYwdi0zMmgtMTYwek02NCA5NnYzMgoraDEyOXYtMzJoLTEyOXpNNjQgMTYwdjMyaDIwOHYtMzJoLTIwOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jbG9jayIgdW5pY29kZT0iJiN4ZjI2ZTsiIAorZD0iTTIyNCA0MTZjMTI0IDAgMjI0IC0xMDAgMjI0IC0yMjRzLTEwMCAtMjI0IC0yMjQgLTIyNHMtMjI0IDEwMCAtMjI0IDIyNHMxMDAgMjI0IDIyNCAyMjR6TTM2MCA1NmMxMCAxMCAxOSAyMSAyNiAzM2wtMjcgMTZsOCAxNGwyNyAtMTZjMTMgMjUgMjEgNTIgMjIgODFoLTMydjE2aDMyYy0xIDI5IC05IDU2IC0yMiA4MWwtMjcgLTE2bC04IDE0bDI3IDE2Yy03IDEyIC0xNiAyMyAtMjYgMzNzLTIxIDE5IC0zMyAyNmwtMTYgLTI3bC0xNCA4CitsMTYgMjdjLTI1IDEzIC01MiAyMSAtODEgMjJ2LTMyaC0xNnYzMmMtMjkgLTEgLTU2IC05IC04MSAtMjJsMTYgLTI3bC0xNCAtOGwtMTYgMjdjLTEyIC03IC0yMyAtMTYgLTMzIC0yNnMtMTkgLTIxIC0yNiAtMzNsMjcgLTE2bC04IC0xNGwtMjcgMTZjLTEzIC0yNSAtMjEgLTUyIC0yMiAtODFoMzJ2LTE2aC0zMmMxIC0yOSA5IC01NiAyMiAtODFsMjcgMTZsOCAtMTRsLTI3IC0xNmM3IC0xMiAxNiAtMjMgMjYgLTMzczIxIC0xOSAzMyAtMjYKK2wxNiAyN2wxNCAtOGwtMTYgLTI3YzI1IC0xMyA1MiAtMjEgODEgLTIydjMyaDE2di0zMmMyOSAxIDU2IDkgODEgMjJsLTE2IDI3bDE0IDhsMTYgLTI3YzEyIDcgMjMgMTYgMzMgMjZ6TTM2OCAyMDd2LTMyaC0xMTdjLTYgLTkgLTE2IC0xNSAtMjcgLTE1Yy0xOCAwIC0zMiAxNCAtMzIgMzJjMCAxMiA2IDIyIDE2IDI4djY4aDMydi02OGM1IC0zIDkgLTggMTIgLTEzaDExNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jbG9zZS1jaXJjbGVkIiB1bmljb2RlPSImI3hmMTI4OyIgCitkPSJNMjI0IDQxNWMxMjQgMCAyMjQgLTEwMCAyMjQgLTIyNHMtMTAwIC0yMjQgLTIyNCAtMjI0cy0yMjQgMTAwIC0yMjQgMjI0czEwMCAyMjQgMjI0IDIyNHpNMzMyIDExNmwtNzUgNzVsNzYgNzVjMyAzIDMgOSAwIDEybC0yMiAyMWMtMiAyIC00IDMgLTYgM3MtMyAtMSAtNSAtM2wtNzYgLTc0bC03NiA3NGMtMiAyIC0zIDMgLTUgM3MtNCAtMSAtNiAtM2wtMjEgLTIxYy0zIC0zIC0zIC05IDAgLTEybDc2IC03NWwtNzYgLTc2CitjLTIgLTEgLTIgLTMgLTIgLTVzMCAtNCAyIC02bDIxIC0yMmMyIC0yIDQgLTIgNiAtMnM0IDAgNiAybDc1IDc2bDc2IC03NWMyIC0yIDMgLTMgNSAtM3M0IDEgNiAzbDIxIDIxYzIgMSAzIDQgMyA2cy0xIDQgLTMgNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jbG9zZS1yb3VuZCIgdW5pY29kZT0iJiN4ZjEyOTsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM3NCA2MWMxNCAtMTQgMTQgLTM3IDAgLTUxcy0zNyAtMTQgLTUxIDBsLTEzMSAxMzFsLTEzMSAtMTMxYy0xNCAtMTQgLTM2IC0xNCAtNTAgMHMtMTQgMzcgMCA1MWwxMzAgMTMxbC0xMzAgMTMxYy0xNCAxNCAtMTQgMzcgMCA1MXMzNiAxNCA1MCAwbDEzMSAtMTMxbDEzMSAxMzFjMTQgMTQgMzcgMTQgNTEgMHMxNCAtMzcgMCAtNTFsLTEzMSAtMTMxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWNsb3NlIiB1bmljb2RlPSImI3hmMTJhOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzgwIDYxYzMgLTMgNCAtNiA0IC0xMHMtMSAtNyAtNCAtMTBsLTM4IC0zN2MtMyAtMyAtNSAtNCAtOSAtNHMtNyAxIC0xMCA0bC0xMzEgMTMxbC0xMzEgLTEzMWMtMyAtMyAtNSAtNCAtOSAtNHMtNyAxIC0xMCA0bC0zOCAzN2MtMyAzIC00IDYgLTQgMTBzMSA3IDQgMTBsMTMyIDEzMWwtMTMyIDEzMGMtNSA1IC01IDE1IDAgMjBsMzcgMzhjMyAyIDYgNCAxMCA0czcgLTEgMTAgLTRsMTMxIC0xMzBsMTMxIDEzMGMzIDIgNiA0IDEwIDQKK3M3IC0xIDEwIC00bDM3IC0zOGM1IC01IDUgLTE0IDAgLTE5bC0xMzIgLTEzMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jbG9zZWQtY2FwdGlvbmluZyIgdW5pY29kZT0iJiN4ZjMxNzsiIGhvcml6LWFkdi14PSI1MTIiIAorZD0iTTAgMzg0aDUxMnYtMzg0aC01MTJ2Mzg0ek00NjQgMTkyYzAgMjcgMCA0NCAtNCA4MHMtMjMgNTYgLTU5IDYwcy05MSA0IC0xMzggNGgtN2gtN2MtNDcgMCAtMTAyIDAgLTEzOCAtNHMtNTUgLTI0IC01OSAtNjBzLTQgLTUzIC00IC04MHMyIC00NyA0IC04MHMxOSAtNTYgNTkgLTYwczk2IC00IDE0NSAtNHMxMDUgMCAxNDUgNHM1NyAyNyA1OSA2MHM0IDUzIDQgODB6TTM3MiAxNjR2NGg1M2MwIC0yNyAtNyAtNDggLTE5IC02Mgorcy0zMiAtMjEgLTYxIC0yMWMtMTQgMCAtMjYgMiAtMzYgNXMtMTggOSAtMjUgMTdzLTEyIDE5IC0xNSAzM3MtNSAzMCAtNSA1MXMzIDM5IDcgNTNzOSAyNSAxNyAzM3MxNyAxNCAyNyAxN3MyMiA1IDM0IDVjMjUgMCA0NCAtNyA1NyAtMjFzMTkgLTM3IDE5IC02MmgtNTJ2MWMwIDIwIC0xMiAzMyAtMjcgMzNzLTI1IC0xMSAtMjggLTMwYzAgMCAtMiAtMTEgLTIgLTI5czIgLTI4IDIgLTI4YzEgLTE3IDEyIC0yOSAyNyAtMjlzMjcgMTAgMjcgMjl2MXoKK00xOTUgMTY0djRoNTNjMCAtMjcgLTcgLTQ4IC0xOSAtNjJzLTMyIC0yMSAtNjEgLTIxYy0xNCAwIC0yNiAyIC0zNiA1cy0xOCA5IC0yNSAxN3MtMTIgMTkgLTE1IDMzcy01IDMwIC01IDUxczMgMzkgNyA1M3M5IDI1IDE3IDMzczE3IDE0IDI3IDE3czIyIDUgMzQgNWMyNSAwIDQ0IC03IDU3IC0yMXMxOSAtMzcgMTkgLTYyaC01MnYxYzAgMjAgLTEyIDMzIC0yNyAzM3MtMjUgLTExIC0yOCAtMzBjMCAwIC0yIC0xMSAtMiAtMjlzMiAtMjggMiAtMjgKK2MxIC0xNyAxMiAtMjkgMjcgLTI5czI3IDEwIDI3IDI5djF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY2xvdWQiIHVuaWNvZGU9IiYjeGYxMmI7IiAKK2Q9Ik0zNjYgMjE1YzQ1IDAgODIgLTM4IDgyIC04NHMtMzcgLTgzIC04MiAtODN2MGgtMjc2Yy00OSAwIC05MCA0MSAtOTAgOTFjMCA0MCAyNiA3NCA2MSA4NmM1IDI5IDI5IDUxIDU5IDUxYzEwIDAgMTggLTMgMjYgLTdjMTkgNDAgNTkgNjcgMTA1IDY3YzY0IDAgMTE1IC01MyAxMTUgLTExOHYtM3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jb2RlLWRvd25sb2FkIiB1bmljb2RlPSImI3hmMjZmOyIgCitkPSJNMjk5IDE2NGwtNjMgLTYzdjBsLTEgLTF2MGwtMiAtMXYwbC0xIC0xdjBsLTIgLTF2MGgtMXYwaC0xYy0xIDAgLTMgLTEgLTQgLTFzLTMgMSAtNCAxaC0xdjBoLTF2MGwtMiAxdjBsLTEgMXYwYy0xIDEgLTIgMSAtMyAydjBsLTYzIDYzYy02IDYgLTYgMTcgMCAyM3MxOCA2IDI0IDBsMzUgLTM0djExOGMwIDkgNyAxNyAxNiAxN3MxNiAtOCAxNiAtMTd2LTExOGwzNSAzNGM2IDYgMTggNiAyNCAwczYgLTE3IDAgLTIzek0xMzYgNTYKK2MtNiAwIC0xMiAyIC0xNyA3bC0xMTIgMTEyYy05IDkgLTkgMjUgMCAzNGwxMTIgMTEyYzkgOSAyNSA5IDM0IDBzOSAtMjUgMCAtMzRsLTk1IC05NWw5NSAtOTVjOSAtOSA5IC0yNSAwIC0zNGMtNSAtNSAtMTEgLTcgLTE3IC03ek0zMTIgNTZjLTYgMCAtMTIgMiAtMTcgN2MtOSA5IC05IDI1IDAgMzRsOTUgOTVsLTk1IDk1Yy05IDkgLTkgMjUgMCAzNHMyNSA5IDM0IDBsMTEyIC0xMTJjOSAtOSA5IC0yNSAwIC0zNGwtMTEyIC0xMTIKK2MtNSAtNSAtMTEgLTcgLTE3IC03eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWNvZGUtd29ya2luZyIgdW5pY29kZT0iJiN4ZjI3MDsiIAorZD0iTTEyOCAxOTJjMCAxNiA4IDI0IDI0IDI0czI0IC04IDI0IC0yNHMtOCAtMjQgLTI0IC0yNHMtMjQgOCAtMjQgMjR6TTIwMCAxOTJjMCAxNiA4IDI0IDI0IDI0czI0IC04IDI0IC0yNHMtOCAtMjQgLTI0IC0yNHMtMjQgOCAtMjQgMjR6TTI3MiAxOTJjMCAxNiA4IDI0IDI0IDI0czI0IC04IDI0IC0yNHMtOCAtMjQgLTI0IC0yNHMtMjQgOCAtMjQgMjR6TTEzNiA1NmMtNyAwIC0xMiAyIC0xNyA3bC0xMTIgMTEyYy01IDUgLTcgMTAgLTcgMTcKK3MyIDEyIDcgMTdsMTEyIDExMmM1IDUgMTAgNyAxNyA3czEyIC0yIDE3IC03czcgLTEwIDcgLTE3cy0yIC0xMiAtNyAtMTdsLTk1IC05NWw5NSAtOTVjNSAtNSA3IC0xMCA3IC0xN3MtMiAtMTIgLTcgLTE3cy0xMCAtNyAtMTcgLTd6TTMxMiA1NmMtNyAwIC0xMiAyIC0xNyA3cy03IDEwIC03IDE3czIgMTIgNyAxN2w5NSA5NWwtOTUgOTVjLTUgNSAtNyAxMCAtNyAxN3MyIDEyIDcgMTdzMTAgNyAxNyA3czEyIC0yIDE3IC03bDExMiAtMTEyCitjNSAtNSA3IC0xMCA3IC0xN3MtMiAtMTIgLTcgLTE3bC0xMTIgLTExMmMtNSAtNSAtMTAgLTcgLTE3IC03eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWNvZGUiIHVuaWNvZGU9IiYjeGYyNzE7IiAKK2Q9Ik0xMzYgNTZjLTYgMCAtMTIgMiAtMTcgN2wtMTEyIDExMmMtOSA5IC05IDI1IDAgMzRsMTEyIDExMmM5IDkgMjUgOSAzNCAwczkgLTI1IDAgLTM0bC05NSAtOTVsOTUgLTk1YzkgLTkgOSAtMjUgMCAtMzRjLTUgLTUgLTExIC03IC0xNyAtN3pNMzEyIDU2Yy02IDAgLTEyIDIgLTE3IDdjLTkgOSAtOSAyNSAwIDM0bDk1IDk1bC05NSA5NWMtOSA5IC05IDI1IDAgMzRzMjUgOSAzNCAwbDExMiAtMTEyYzkgLTkgOSAtMjUgMCAtMzRsLTExMiAtMTEyCitjLTUgLTUgLTExIC03IC0xNyAtN3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jb2ZmZWUiIHVuaWNvZGU9IiYjeGYyNzI7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zMTkgMTkxYzM3IC03IDY1IC00MCA2NSAtNzljMCAtMjAgLTggLTM5IC0yMSAtNTRjLTE1IC0xNyAtMzcgLTI2IC02MSAtMjZjLTggMCAtMTcgMSAtMjUgM2MtNiAxIC0xMCAzIC0xNSA1Yy0xMSAtMTUgLTIzIC0yNSAtMzIgLTMzdjBjLTUgLTUgLTEyIC03IC0xOSAtN2gtMTAyYy03IDAgLTE0IDIgLTE5IDd2MGMtMTcgMTUgLTQxIDM2IC02MiA4NnMtMjggOTEgLTI4IDExMXMzIDIwIDE2IDIwaDEwMWMtNSAxNyAtMzcgMTkgLTM3IDQ2CitjMCAxNyAxNSAzMiAyOCAzN2MtMiAtOCAtMyAtMTQgLTMgLTIxYzAgLTE5IDM5IC0zMCAzOSAtNTNjMCAtMyAwIC02IC0xIC05aDU2YzEgNSAyIDEwIDIgMTRjMCAzNiAtNTYgMzYgLTU2IDg0YzAgMjggMjEgNTUgNDcgNjJjLTQgLTE0IC05IC0yMyAtOSAtMzVjMCAtMzIgNTcgLTUwIDU3IC04OGMwIC0xMyAtNSAtMjUgLTEyIC0zN2g3NmMxMyAwIDE2IDAgMTYgLTIwYzAgLTQgMCAtOCAtMSAtMTN6TTMwMiA2NGMzMyAwIDUwIDI1IDUwIDQ4CitzLTE3IDQzIC0zOSA0N2MtNCAtMTkgLTExIC00MiAtMjEgLTY2Yy00IC05IC04IC0xNyAtMTIgLTI1YzYgLTMgMTMgLTQgMjIgLTR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY29tcGFzcyIgdW5pY29kZT0iJiN4ZjI3MzsiIAorZD0iTTIyNCA0MTZjMTI0IDAgMjI0IC0xMDAgMjI0IC0yMjRzLTEwMCAtMjI0IC0yMjQgLTIyNHMtMjI0IDEwMCAtMjI0IDIyNGMwIDM5IDEwIDc2IDI3IDEwOGMtMTYgMTIgLTI3IDMwIC0yNyA1MmMwIDM1IDI5IDY0IDY0IDY0YzIyIDAgNDAgLTExIDUyIC0yN2MzMiAxNyA2OSAyNyAxMDggMjd6TTMyIDM1MmMwIC0xMCA1IC0yMCAxMyAtMjZjMTMgMTcgMjggMzIgNDUgNDVjLTYgOCAtMTYgMTMgLTI2IDEzYy0xOCAwIC0zMiAtMTQgLTMyIC0zMnoKK00zNjAgNTZjMzYgMzYgNTYgODUgNTYgMTM2cy0yMCAxMDAgLTU2IDEzNnMtODUgNTYgLTEzNiA1NnMtMTAwIC0yMCAtMTM2IC01NnMtNTYgLTg1IC01NiAtMTM2czIwIC0xMDAgNTYgLTEzNnM4NSAtNTYgMTM2IC01NnMxMDAgMjAgMTM2IDU2ek0zMjAgMzIwYzAgMCAtNTQgLTEzMCAtNzIgLTE1MnMtMTIwIC0xMDQgLTEyMCAtMTA0czU0IDEzMiA3MiAxNTJzMTIwIDEwNCAxMjAgMTA0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWNvbXBvc2UiIHVuaWNvZGU9IiYjeGYxMmM7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNzkgMzQ4YzcgLTcgNyAtMTggMCAtMjVsLTMyIC0zMWwtNTUgNTVsMzEgMzJjNyA3IDE4IDcgMjUgMHpNMjgyIDMzOGw1NSAtNTVsLTE3NyAtMTczbC02NCAtMTRsMTQgNjR6TTMyMCAxOTJsMzIgMzJ2LTIwMWMwIC0xMyAtMTAgLTIzIC0yMyAtMjNoLTMwNmMtMTMgMCAtMjMgMTAgLTIzIDIzdjMwNmMwIDEzIDEwIDIzIDIzIDIzaDIwMWwtMzIgLTMyaC0xNDljLTYgMCAtMTEgLTUgLTExIC0xMHYtMjY4czQgLTEwIDEwIC0xMGgyNjkKK3M5IDUgOSAxMHYxNTB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY29ubmVjdGlvbi1iYXJzIiB1bmljb2RlPSImI3hmMjc0OyIgaG9yaXotYWR2LXg9IjM1MiIgCitkPSJNMCAzMnY2NGg2NHYtNjRoLTY0ek05NiAzMnYxMjhoNjR2LTEyOGgtNjR6TTE5MiAzMnYyMjRoNjR2LTIyNGgtNjR6TTI4OCAzMnYzMjBoNjR2LTMyMGgtNjR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tY29udHJhc3QiIHVuaWNvZGU9IiYjeGYyNzU7IiAKK2Q9Ik0yMjQgNDE2YzEyNCAwIDIyNCAtMTAwIDIyNCAtMjI0cy0xMDAgLTIyNCAtMjI0IC0yMjRzLTIyNCAxMDAgLTIyNCAyMjRzMTAwIDIyNCAyMjQgMjI0ek0zNjAgNTZjMzYgMzYgNTYgODUgNTYgMTM2cy0yMCAxMDAgLTU2IDEzNnMtODUgNTYgLTEzNiA1NnYtMzg0YzUxIDAgMTAwIDIwIDEzNiA1NnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jcm9wIiB1bmljb2RlPSImI3hmM2MxOyIgCitkPSJNMzIwIC0zMnY0OGg2NHYtNDhoLTY0ek0zODQgOTZoNjR2LTY0aC0zODR2MjU2aC02NHY2NGg2NHY2NGg2NHYtMzIwaDE5MnYxOTJoLTE3NnY2NGgyNDB2LTI1NnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1jdWJlIiB1bmljb2RlPSImI3hmMzE4OyIgCitkPSJNNDM1IDI4MGM3IDAgMTMgLTYgMTMgLTEydi0xODNjMCAtOSAtNiAtMTcgLTE0IC0yMnYtMWwtMTc1IC05MnYtMWMtMiAtMSAtNCAtMSAtNiAtMWMtNyAwIC0xMyA2IC0xMyAxMnYxODVjMCA5IDUgMTcgMTMgMjJ2MGwzIDJsMTcyIDg5bDIgMWMyIDEgMyAxIDUgMXpNNDIyIDMyOWMwIDAgOCAtMyA4IC05YzAgLTcgLTggLTExIC04IC0xMWwtMTgzIC05N2wtMiAtMWMtNCAtMiAtOCAtMyAtMTMgLTNzLTkgMSAtMTMgM2wtMiAxbC0xODMgOTYKK3MtOCA1IC04IDEyYzAgNiA4IDkgOCA5bDE4MSA4MnMxMSA1IDE3IDVzMTcgLTUgMTcgLTV6TTE5NSAxODdjOCAtNSAxMyAtMTMgMTMgLTIydi0xODVjMCAtNiAtNiAtMTIgLTEzIC0xMmMtMiAwIC00IDEgLTYgMnYwbC0xNzUgOTJ2MWMtOCA1IC0xNCAxMyAtMTQgMjJ2MTgzYzAgNiA2IDEyIDEzIDEyYzIgMCA0IDAgNSAtMWwyIC0xbDE3MSAtODl6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tZGlzYyIgdW5pY29kZT0iJiN4ZjEyZDsiIAorZD0iTTIyNCAyODljNTQgMCA5NyAtNDMgOTcgLTk3cy00MyAtOTcgLTk3IC05N3MtOTcgNDMgLTk3IDk3czQzIDk3IDk3IDk3ek0yMjQgMTQ4YzI0IDAgNDQgMjAgNDQgNDRzLTIwIDQ0IC00NCA0NHMtNDQgLTIwIC00NCAtNDRzMjAgLTQ0IDQ0IC00NHpNMjI0IDQxNmMxMjQgMCAyMjQgLTEwMCAyMjQgLTIyNHMtMTAwIC0yMjQgLTIyNCAtMjI0cy0yMjQgMTAwIC0yMjQgMjI0czEwMCAyMjQgMjI0IDIyNHpNMjI0IDY5CitjNjggMCAxMjMgNTUgMTIzIDEyM3MtNTUgMTIzIC0xMjMgMTIzcy0xMjMgLTU1IC0xMjMgLTEyM3M1NSAtMTIzIDEyMyAtMTIzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWRvY3VtZW50LXRleHQiIHVuaWNvZGU9IiYjeGYxMmU7IiBob3Jpei1hZHYteD0iMjg4IiAKK2Q9Ik0yODYgMjc5YzEgLTMgMiAtNiAyIC0xMHYtMjQ1YzAgLTEzIC0xMCAtMjQgLTIyIC0yNGgtMjQzYy0xMiAwIC0yMyAxMSAtMjMgMjR2MzM2YzAgMTMgMTEgMjQgMjMgMjRoMTYwYzMgMCA2IDAgOSAtMmMyIC0xIDUgLTMgNyAtNWw4NCAtOTJjMiAtMiAyIC00IDMgLTZ6TTQ4IDI2OXYtMTBjMCAtMSAxIC0zIDMgLTNoNzFjMiAwIDMgMiAzIDN2MTBjMCAyIC0xIDMgLTMgM2gtNzFjLTIgMCAtMyAtMSAtMyAtM3pNNDggMTQxdi0xMAorYzAgLTEgMSAtMyAzIC0zaDEyM2MyIDAgMiAyIDIgM3YxMGMwIDIgMCAzIC0yIDNoLTEyM2MtMiAwIC0zIC0xIC0zIC0zek0yMDggNjd2MTBjMCAyIDAgMyAtMiAzaC0xNTVjLTIgMCAtMyAtMSAtMyAtM3YtMTBjMCAtMSAxIC0zIDMgLTNoMTU1YzIgMCAyIDIgMiAzek0yNDAgMTk1djEwYzAgMiAwIDMgLTIgM2gtMTg3Yy0yIDAgLTMgLTEgLTMgLTN2LTEwYzAgLTEgMSAtMyAzIC0zaDE4N2MyIDAgMiAyIDIgM3pNMTkzIDI3MGg2MGwtNzEgNzgKK3YtNjZjMCAtNiA1IC0xMiAxMSAtMTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tZG9jdW1lbnQiIHVuaWNvZGU9IiYjeGYxMmY7IiBob3Jpei1hZHYteD0iMjg4IiAKK2Q9Ik0yODcgMjc5YzEgLTMgMSAtNSAxIC05di0yNDRjMCAtMTMgLTkgLTI2IC0yMSAtMjZoLTI0M2MtMTIgMCAtMjQgMTMgLTI0IDI2djMzNWMwIDEzIDEyIDIzIDI0IDIzaDE2MGMzIDAgNiAwIDkgLTJjMiAtMSA1IC0yIDcgLTRsODMgLTkyYzIgLTIgMyAtNCA0IC03ek0xOTMgMzM3di02M2g1OHpNMzIgMzJoMjI0djIxMGgtNjdjLTE1IDAgLTI4IDEzIC0yOCAyOHY4MmgtMTI5di0zMjB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tZHJhZyIgdW5pY29kZT0iJiN4ZjEzMDsiIGhvcml6LWFkdi14PSI1MTIiIAorZD0iTTAgMjcydjMyaDUxMnYtMzJoLTUxMnpNMCAxNzZ2MzJoNTEydi0zMmgtNTEyek0wIDgwdjMyaDUxMnYtMzJoLTUxMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1lYXJ0aCIgdW5pY29kZT0iJiN4ZjI3NjsiIAorZD0iTTMyNSAzMjJjMiAtNCA3IC0xMiAzIC0xNWMtMyAtMiAtMTAgLTIgLTEzIDVzMCAxMSAtNSA5cy03IDMgLTYgNGMxIDIgMyAzIDUgNGMwIDIgLTQgOCAyIDdjNCAtMSAxMiAtMTAgMTQgLTE0ek0zNDQgMjc3djB2MHpNNDAzIDI1MWMwIDAgLTIgMCAwIDB2MHpNMjI0IDQxNmMxMjQgMCAyMjQgLTEwMCAyMjQgLTIyNHMtMTAwIC0yMjQgLTIyNCAtMjI0cy0yMjQgMTAwIC0yMjQgMjI0czEwMCAyMjQgMjI0IDIyNHpNMTQxIDE5bDggLTQKK2MzIC0xIDYgLTIgMTAgLTNjMTQgLTUgMjggLTggNDMgLTEwYzI4IC0zIDU2IC0xIDgzIDhjMTUgNSAzMCAxMSA0MyAyMGM2IDQgNiAxNiAxMCAyNGM4IDE2IC0yIDMzIDEyIDQ3YzEyIDE0IDQgMTkgNCAzNGMwIDEwIDggMTggNCAyOWMtMSA0IC03IC0zIC05IDFjLTUgNyAtMjEgMSAtMjggMmMtMTMgMiAtMjQgMTQgLTMzIDIzYy01IDUgMCAyMCAxIDI2YzQgMTUgMCAzMyAxOSAzOGM1IDEgNSA5IDEwIDExYzUgMSAxMCAzIDE1IDQKK2M5IDEgMTcgLTIgMjYgLTJjMTAgMCAxNCAtNSAyMiAtMTFjNyAtNiAxMyAtMyAyMiAtNWM3IDAgMCA1IC0yIDhjLTMgMiAtNiAyIC04IDJjLTE2IDQgLTIzIDIyIC0zNiAzMGMtNiAzIC05IDIgLTExIDBjLTEgLTEgMSAtMTIgMSAtMTJjLTEgLTMgLTEwIC00IC0xMyAtNWMtOSAtMiAtMjkgMTcgLTE1IDIyYzQgMSAyNyA1IDI0IDE1Yy0zIDYgMiAxMyAtNSAxNGMtOCAxIC03IDcgLTE1IDhjLTUgMSAtNSAxMSAtNSAxNGMwIDkgMiA2IDkgNworYy0xNyAxMSAtMzcgMTkgLTU3IDI0Yy0xIC0zIC01IC0xMiAtOCAtMTJjLTUgLTEgLTYgMCAtOSAtM2MtOSAtMTAgLTE2IC0yOCAtMjUgLTdjLTQgMTEgNSAxOSAyIDI4aC02aC0zYzYgLTEyIC01IC0xOCAtOCAtMTljLTggMCAtMTAgNSAtMTcgNGMtNCAtMSAtNyA0IC0xMSAycy0xMyAtOCAtMTQgLTEyYy0zIC0xMiA2IC0xMyAxNCAtNmM2IDYgMTcgMTIgMjUgNmM2IC01IDUgLTkgNSAtMTRzLTEgLTE4IC05IC0xNmMtNCAxIC03IDYgLTExIDMKK2MtOCAtNyAtMTggLTYgLTI5IC05Yy0xMCAtMiAtMTYgLTYgLTI1IC05Yy04IC0zIC0xMSAtNCAtMTIgLTEyYzAgLTIgMCAtMTQgLTMgLTE1Yy01IC0yIC04IDIyIC0yMiAyMGMtMTIgLTEgLTMwIC0xMyAtMjUgLTI4YzIgLTUgMjggLTMgMTAgLTE0Yy0yIC0xIDIgLTE3IDIgLTIwYzEgLTggMTMgLTE4IDIxIC0xMGM2IDYgNiA1IDE0IDJjMTUgLTggMzMgLTE1IDQ1IC0yN2M2IC02IDkgLTI0IDE3IC0yOGM5IC01IDE5IC01IDI2IC0xNAorYzYgLTcgLTIgLTE5IC04IC0yM2MtNCAtMiAtMTIgLTI0IC0xNiAtMjljLTIgLTQgLTEyIC02IC0xNiAtN2MtMyAwIC03IC05IC05IC0xMWMtNyAtNyAtOCAtMTMgLTE3IC0xOWMtMTggLTEyIC0yMiAtMjMgLTE4IC00NGMyIC04IDUgLTEzIDExIC0xNnpNMTAwIDQ2bDIgLTJjNyAtNiAxNSAtMTEgMjMgLTE2Yy0yMSAyMSAtMjMgNDkgLTIxIDc4bDMgMjRjMSAzIC00IDcgLTQgMTFjMCAxMCAwIDUgLTggMTNjLTQgNCAtMTAgMTEgLTEyIDE3CitjLTcgMTYgMSAzMCAxMCA0M2M5IDE0IC03IDIwIC0xMCAzMmMtMSA2IC03IDYgLTYgMTJjMSA3IC00IDUgLTkgOWMtMTIgOCAtMSAyMCAtNyAyNmMtNDMgLTcwIC0zNiAtMTYyIDE2IC0yMjRjMSAtMSAwIC0xIDEgLTJoMWMzIC00IDYgLTggOSAtMTFzNyAtNiAxMCAtOXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1lYXNlbCIgdW5pY29kZT0iJiN4ZjNjMjsiIAorZD0iTTQ4IDExMnYxOTJoMzUydi0xOTJoLTM1MnpNNDMyIDM1MmM5IDAgMTYgLTcgMTYgLTE2di0yNTZjMCAtOSAtNyAtMTYgLTE2IC0xNmgtNDE2Yy05IDAgLTE2IDcgLTE2IDE2djI1NmMwIDkgNyAxNiAxNiAxNmg0MTZ6TTQxNiA5NnYyMjRoLTM4NHYtMjI0aDM4NHpNNDggLTMybDI5IDgwaDMxbC0yOCAtODBoLTMyek0yMzkgNDE2bDE3IC00OGgtNjRsMTcgNDhoMzB6TTM0MCA0OGgzMWwyOSAtODBoLTMyek0yMDggMHY0OGgzMnYtNDhoLTMyegorIiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tZWRpdCIgdW5pY29kZT0iJiN4ZjJiZjsiIAorZD0iTTM4MSAyNTlsLTI1MCAtMjUxbC05MSA5MWwyNTEgMjUwek00NDAgMzYwYzEyIC0xMiAxMSAtMzIgLTIgLTQ1bC00NSAtNDVsLTkxIDkxbDQ1IDQ1YzEzIDEzIDMzIDE0IDQ1IDJ6TTMyIDg1bDg1IC04NWwtMTE3IC0zMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1lZ2ciIHVuaWNvZGU9IiYjeGYyNzc7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0xNjAgNDE2YzY0IDAgMTYwIC0xMzMgMTYwIC0yNTdzLTY0IC0xOTEgLTE2MCAtMTkxcy0xNjAgNjcgLTE2MCAxOTFzOTYgMjU3IDE2MCAyNTd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tZWplY3QiIHVuaWNvZGU9IiYjeGYxMzE7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0zMDMgMTI4aC0yODZ2MGMtMTAgMCAtMTcgNyAtMTcgMTZjMCAzIDEgNSAzIDhsMTM4IDE5MWM1IDUgMTEgOSAxOSA5czE0IC00IDE5IC05bDEzOCAtMTkwYzIgLTMgMyAtNiAzIC05YzAgLTkgLTcgLTE2IC0xNyAtMTZ2MHpNMzA4IDk2YzcgMCAxMiAtNSAxMiAtMTJ2LTQwYzAgLTcgLTUgLTEyIC0xMiAtMTJoLTI5NmMtNyAwIC0xMiA1IC0xMiAxMnY0MGMwIDcgNSAxMiAxMiAxMmgyOTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tZW1haWwtdW5yZWFkIiB1bmljb2RlPSImI3hmM2MzOyIgaG9yaXotYWR2LXg9IjQ4MCIgCitkPSJNMzUyIDI4OGMwIDQzIDIxIDY0IDY0IDY0czY0IC0yMSA2NCAtNjRzLTIxIC02NCAtNjQgLTY0cy02NCAyMSAtNjQgNjR6TTIwOSAyODhoMTI3YzAgLTE3IDUgLTMzIDE1IC00N2MtNiAtMyAtMTQgLTggLTIyIC0xMnMtMTYgLTggLTIzIC0xMnMtMTQgLTggLTIyIC0xMnMtMTUgLTggLTIxIC0xMXMtMTEgLTYgLTE2IC05cy05IC01IC0xMiAtN3MtNCAtMyAtNSAtM2MtNiAtMyAtMTMgLTQgLTIxIC00cy0xNSAxIC0yMSA0CitjLTEgMSAtMTUgOCAtNDIgMjNzLTU0IDI5IC04MSA0NHMtNDMgMjMgLTQ2IDI1Yy03IDQgLTEyIDggLTEzIDExYy0xIDQgLTEgNiAxIDhzNiAyIDExIDJoMTkxek0yNzcgMTc1YzE4IDExIDQ1IDMwIDgzIDU2YzE2IC0xNSAzNCAtMjMgNTYgLTIzdi0xNTVjMCAtMiAtMSAtNCAtMiAtN3MtMyAtNSAtNSAtN3MtNCAtNCAtNyAtNXMtNiAtMiAtOCAtMmgtMTg1aC0xODVjLTUgMCAtMTEgMiAtMTYgN3MtOCA5IC04IDE0djIwNWMwIDYgMyA4IDkgNQorYzIgLTEgMTEgLTcgMjYgLTE3czMyIC0yMiA1MyAtMzZzMzkgLTI2IDUzIC0zNWwtODMgLTkzYy0yIC0yIC0yIC00IC0xIC01YzIgLTEgNCAtMSA2IDFsOTggODNjMTYgLTEwIDI1IC0xNiAyNyAtMTdjNiAtMyAxMyAtNCAyMSAtNHMxNSAxIDIxIDRjMiAxIDExIDcgMjcgMTdsOTggLTgzYzIgLTIgNSAtMiA2IC0xczAgMyAtMiA1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWVtYWlsIiB1bmljb2RlPSImI3hmMTMyOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMTkgMjk5Yy00IDIgLTExIDcgLTEzIDExYy0zIDggMSAxMCAxMiAxMGgxOTFoMTkxYzExIDAgMTUgLTIgMTIgLTEwYy0yIC00IC05IC05IC0xMyAtMTFjLTExIC02IC0xNjMgLTg5IC0xNjkgLTkycy0xMiAtNCAtMjEgLTRzLTE1IDEgLTIxIDRzLTE1OCA4NiAtMTY5IDkyek00MDggMjk1YzkgNCA4IC0xIDggLTV2LTIwNWMwIC05IC0xMiAtMjEgLTIyIC0yMWgtMTg1aC0xODVjLTEwIDAgLTI0IDEyIC0yNCAyMXYyMDVzMCA5IDkgNQorYzggLTQgODMgLTU2IDEzMiAtODhsLTgzIC05M2MtMiAtMiAtMiAtNCAtMSAtNXM0IC0xIDYgMWw5OCA4M2MxNSAtMTAgMjUgLTE2IDI3IC0xN2M4IC00IDE0IC00IDIxIC00czEzIDAgMjEgNGMyIDEgMTIgNyAyNyAxN2w5OCAtODNjMiAtMiA1IC0yIDYgLTFzMCAzIC0yIDVsLTgyIDkzYzQ5IDMyIDEyMyA4NCAxMzEgODh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tZXJsZW5tZXllci1mbGFzay1idWJibGVzIiB1bmljb2RlPSImI3hmM2M0OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzgyIDIxYzIgLTQgMyAtMTAgMCAtMTRzLTggLTcgLTEzIC03aC0xNzdoLTE3OGMtNSAwIC05IDMgLTEyIDdzLTIgMTAgMCAxNGwxMTggMTk5djE1MGMwIDggNiAxNCAxNCAxNHMxNSAtNiAxNSAtMTR2LTgwYzQgMyAxMCA1IDE2IDVjMTUgMCAyNyAtMTIgMjcgLTI3cy0xMiAtMjYgLTI3IC0yNmMtNiAwIC0xMiAyIC0xNiA1di0zMWMwIC0yIC0xIC00IC0yIC02bC0zNSAtNTloNzJjLTE1IDYgLTI2IDIwIC0yNiAzNworYzAgMjMgMTkgNDIgNDMgNDJjMTUgMCAyNyAtOCAzNSAtMTljLTEgMiAtMSAzIC0xIDV2MTU0YzAgOCA2IDE0IDE0IDE0czE1IC02IDE1IC0xNHYtMTUwek0yMTggMTUxaDUzbC0zMSA1NGMyIC01IDMgLTExIDMgLTE3YzAgLTE3IC0xMCAtMzEgLTI1IC0zN3pNMjAxIDMxOWMtMTIgMCAtMjIgOSAtMjIgMjFzMTAgMjEgMjIgMjFzMjIgLTkgMjIgLTIxcy0xMCAtMjEgLTIyIC0yMXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1lcmxlbm1leWVyLWZsYXNrIiB1bmljb2RlPSImI3hmM2M1OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzc1IDUyYzYgLTkgOSAtMjAgOSAtMzJjMCAtMjggLTE2IC01MiAtNjMgLTUyaC0yNThjLTQ3IDAgLTYzIDI0IC02MyA1MmMwIDEyIDMgMjMgOSAzMmw0OSA3M2w0OSA3N2MxMyAyMCAyMSA0NCAyMSA3MHY5MnMtMTQgMzQgLTE2IDQzYy0yIDggMSA5IDE3IDloMTI2YzE2IDAgMTggLTEgMTYgLTljLTIgLTkgLTE1IC0yMiAtMTUgLTQydi05M2MwIC0yNiA2IC01MCAxOSAtNzB6TTM0NSA3YzMgMyA3IDggNyAxNGMwIDUgLTIgMTAgLTQgMTQKK2wtMTAxIDE1MGMtMTYgMjYgLTIzIDU2IC0yMyA4N3YxMTJoLTY0di0xMTJjMCAtMzIgLTkgLTYyIC0yNSAtODdsLTk5IC0xNTBjLTIgLTQgLTQgLTkgLTQgLTE0YzAgLTYgMyAtMTEgNiAtMTRjNCAtNCAxMiAtNyAyNSAtN2gyNThjMTMgMCAyMCAzIDI0IDd6TTMyNSAzN2MxIC0yIDMgLTYgMyAtOGMwIC03IC02IC0xNSAtMTQgLTE1aC0yNDRjLTcgMCAtMTQgNiAtMTQgMTRjMCAzIDEgNiAzIDhsODEgMTI0aDEwM2w4MiAtMTI0djF6TTIzOCAxMDYKK2MyIC0xIDQgLTIgNiAtMnMzIDAgNSAyYzEgMiAzIDQgMyA2cy0xIDQgLTMgNmMtMSAyIC0zIDIgLTUgMnMtNCAwIC02IC0yYy0xIC0yIC0yIC00IC0yIC02czAgLTQgMiAtNnpNMjg1IDQ3YzQgMiA0IDcgMiAxMWwtMjMgMzZjLTEgMiAtNCA0IC03IDRjLTIgMCAtMyAwIC00IC0xYy00IC0yIC00IC03IC0yIC0xMWwyMyAtMzZjMSAtMiA1IC00IDcgLTRjMSAwIDMgMCA0IDF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tZXllLWRpc2FibGVkIiB1bmljb2RlPSImI3hmMzA2OyIgCitkPSJNMzQ0IDI5MGM0MSAtMjcgNzYgLTY2IDEwNCAtMTAwYy01MSAtNTQgLTEyNCAtMTM1IC0yMjQgLTEzNWMtMzYgMCAtNjUgOCAtOTIgMjJsLTc3IC03N2wtMjMgMjNsNzEgNzFjLTM2IDI1IC02OCA2MSAtMTAzIDk4Yzc4IDg1IDE0MiAxMzcgMjI0IDEzN2MzNCAwIDY0IC05IDkyIC0yM2w3NyA3OGwyMyAtMjN6TTEzNCAxOTJjMCAtMTkgNiAtMzYgMTYgLTUxbDI3IDI3Yy00IDcgLTUgMTUgLTUgMjRjMCAyOSAyMyA1MyA1MiA1M2g4CitjLTUgLTYgLTggLTEzIC04IC0yMWMwIC0zIDAgLTUgMSAtOGw1MSA1MGMtMTUgMTEgLTMzIDE3IC01MiAxN2MtNDkgMCAtOTAgLTQxIC05MCAtOTF6TTIyNCAxMDFjNDkgMCA5MCA0MSA5MCA5MWMwIDE5IC02IDM3IC0xNiA1MmwtNTAgLTUxYzMgLTEgNSAtMSA4IC0xYzggMCAxNCAzIDIwIDd2LTdjMCAtMjkgLTIzIC01MyAtNTIgLTUzYy05IDAgLTE3IDIgLTI0IDZsLTI4IC0yN2MxNSAtMTEgMzMgLTE3IDUyIC0xN3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1leWUiIHVuaWNvZGU9IiYjeGYxMzM7IiAKK2Q9Ik0yMjQgMzIwYzk5IDAgMTcyIC03MCAyMjQgLTEyOWMtNTEgLTUwIC0xMjQgLTEyNyAtMjI0IC0xMjdzLTE1NyA2MCAtMjI0IDEyOGM3OCA3OSAxNDIgMTI4IDIyNCAxMjh6TTIyNCAxMDFjNDkgMCA5MCA0MSA5MCA5MXMtNDEgOTEgLTkwIDkxcy05MCAtNDEgLTkwIC05MXM0MSAtOTEgOTAgLTkxek0yMjQgMjI0YzAgLTE4IDE0IC0zMiAzMiAtMzJjOCAwIDE0IDMgMjAgN3YtN2MwIC0yOSAtMjMgLTUzIC01MiAtNTNzLTUyIDI0IC01MiA1MworczIzIDUzIDUyIDUzaDhjLTUgLTYgLTggLTEzIC04IC0yMXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1mZW1hbGUiIHVuaWNvZGU9IiYjeGYyNzg7IiBob3Jpei1hZHYteD0iMjU2IiAKK2Q9Ik0xNjAgMTY0di02OGg2NHYtNjRoLTY0di02NGgtNjR2NjRoLTY0djY0aDY0djY4Yy01NSAxNCAtOTYgNjQgLTk2IDEyNGMwIDcxIDU3IDEyOCAxMjggMTI4czEyOCAtNTcgMTI4IC0xMjhjMCAtNjAgLTQxIC0xMTAgLTk2IC0xMjR6TTEyOCAyMDhjNDQgMCA4MCAzNiA4MCA4MHMtMzYgODAgLTgwIDgwcy04MCAtMzYgLTgwIC04MHMzNiAtODAgODAgLTgweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWZpbGluZyIgdW5pY29kZT0iJiN4ZjEzNDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTMxNyAzMTljMTIgMCAxOSAwIDE5IC0yMHYtMjhoLTI4OHYyOGMwIDIwIDggMjAgMjAgMjBoMjQ5ek0yNjkgMzUyYzEzIDAgMTkgLTEgMTkgLTE5aC0xOTJjMCAxOCA3IDE5IDIwIDE5aDE1M3pNMzY4IDI3OGMxMyAtOCAxNyAtMTcgMTUgLTQxbC0xNyAtMTg0Yy00IC0yMSAtMTYgLTIxIC0yNCAtMjFoLTMwMGMtOCAwIC0yMCAwIC0yNCAyMWwtMTcgMTg1Yy0zIDI2IDEgMzEgMTUgNDBsMTUgMTB2LTMyaDMyMXYzMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1maWxtLW1hcmtlciIgdW5pY29kZT0iJiN4ZjEzNTsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTQwMCAyNDBjOSAwIDE2IC03IDE2IC0xNXYtMjEwYzAgLTggLTcgLTE1IC0xNiAtMTVoLTM4NGMtOSAwIC0xNiA3IC0xNiAxNXYyMTBjMCA4IDYgMTQgMTMgMTVjLTIgMiAtMyA0IC00IDdsLTkgNDVjLTIgOCA1IDE2IDEzIDE4bDM3MCA3NGM4IDIgMTYgLTQgMTggLTEybDkgLTQ2YzIgLTggLTQgLTE2IC0xMiAtMThsLTM0MiAtNjhoMzQ0ek0yNTcgNDZsLTIwIDU4bDUxIDM2aC02MmwtMjAgNThsLTE5IC01OGgtNjNsNTEgLTM2bC0xOSAtNTgKK2w1MCAzNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1maXJlYmFsbCIgdW5pY29kZT0iJiN4ZjMxOTsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTI5NyAyMTBjMTQgLTI0IDIzIC01MiAyMyAtODJjMCAtMzMgLTEwIC02MyAtMjYgLTg4djB2MGMtMjkgLTQzIC03OCAtNzIgLTEzNCAtNzJjLTE3IDAgLTMyIDEgLTQ2IDdzLTI1IDEzIC0zMyAyNWMtMTEgMTYgLTE3IDI4IC0yMSA1MmMtNiAtMjUgMiAtNDggOSAtNjBjLTQzIDI2IC02OSA3MSAtNjkgMTI1djRjNSA3OCA2NSAxMDkgOTAgMTUxYzggMTQgMTMgMzAgMTAgNDhjMTEgLTkgMTUgLTI1IDE1IC0zOQorYzAgLTE2IC0zIC0yOSAtMyAtMjljNCA4IDcgMTggOSAzMWM2IDM1IDIgODUgLTM3IDEzMmwtMSAxczcgMCAxOCAtM2M5NSAtMTYgMTY5IC05MSAxODQgLTE4NmMyIC0xMiAzIC0yMyAzIC0zNWMwIC0xNiAtMiAtMzIgLTUgLTQ3YzEwIDIzIDEzIDQzIDE0IDU1djEweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWZsYWciIHVuaWNvZGU9IiYjeGYyNzk7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNjIgMjY2YzAgMCAxMiAyIDIyIDZjMCAtMTYgLTcgLTMyIC05IC0zNmMtMjggLTUwIC05OSAtMTIzIC0xODEgLTg0Yy02NSAzMSAtOTIgMzAgLTExNyAyNGMtMSAwIC0yIC0xIC0zIC0xYy0zIC0xIC0xNSAtNSAtMjYgLTF2MTk3YzAgMTYgMTQgMzEgMzMgMzVjMzkgNyAxMDYgNSAxNDggLTc0YzM5IC03NCA5NyAtNzIgMTMzIC02NnpNMjQgNDE2YzQgMCA4IC00IDggLTh2LTQzMmMwIC00IC00IC04IC04IC04aC0xNgorYy00IDAgLTggNCAtOCA4djQzMmMwIDQgNCA4IDggOGgxNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1mbGFtZSIgdW5pY29kZT0iJiN4ZjMxYTsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTEgMTI4Yy0xMSAxMDkgNzIgMjI0IDE1OSAyODhjLTI2IC0xNDUgOTcgLTE0MiA5NiAtMjg4Yy0xIC0xMjAgLTEwNSAtMTYwIC0xMjggLTE2MHMtMTE0IDI2IC0xMjcgMTYwek04OCA4MGMwIC00NCA0MCAtODAgNDAgLTgwczQxIDM2IDQxIDgwcy00MSA4MCAtNDEgODBzLTQwIC0zNiAtNDAgLTgweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWZsYXNoLW9mZiIgdW5pY29kZT0iJiN4ZjEzNjsiIAorZD0iTTExNSAtNGMtNjkgMzggLTExNSAxMTIgLTExNSAxOTZjMCAxMjQgMTAwIDIyNCAyMjQgMjI0YzI0IDAgNDcgLTQgNjggLTExYzIgLTEgMyAtMSA1IC0yYzEyIC00IDI0IC05IDM1IC0xNXYwYzY5IC0zOCAxMTYgLTExMiAxMTYgLTE5NmMwIC0xMjQgLTEwMCAtMjI0IC0yMjQgLTIyNGMtMjQgMCAtNDcgNCAtNjggMTFjLTIgMSAtMyAxIC01IDJjLTEyIDQgLTI0IDggLTM1IDE0ek04NiAyOTFjLTIwIC0yOCAtMzIgLTYyIC0zMiAtOTkKK2MwIC02NSAzNiAtMTIxIDkwIC0xNTBjNiAtMyAxMyAtNyAxOSAtOWMyIC0xIDMgLTEgNSAtMmM5IC0zIDE5IC01IDI5IC03YzkgLTIgMTggLTIgMjcgLTJjMzcgMCA3MSAxMiA5OSAzMmwtNTIgNTNsMzYgNDBsNTUgLTU0YzIwIDI4IDMyIDYyIDMyIDk5YzAgNjYgLTM3IDEyMyAtOTEgMTUxYy02IDMgLTEyIDYgLTE4IDhjLTIgMSAtMyAxIC01IDJjLTkgMyAtMTkgNSAtMjkgN2MtOSAyIC0xOCAyIC0yNyAyYy0zNyAwIC03MiAtMTIgLTEwMCAtMzIKK2w1MyAtNTJsLTM2IC00MXpNMTc4IDU4bDM4IDExM2gtODVsMTM5IDE1NWwtMzggLTExM2g4NXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1mbGFzaCIgdW5pY29kZT0iJiN4ZjEzNzsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTAgMTYwbDIyNCAyNTZsLTUxIC0xOTJoMTQ3bC0yMjQgLTI1Nmw1MSAxOTJoLTE0N3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1mb2xkZXIiIHVuaWNvZGU9IiYjeGYxMzk7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNjYgMjU2YzE4IDAgMTkgLTcgMTggLTE4bC0xMiAtMTg2Yy0xIC0xMSAtMyAtMjAgLTIxIC0yMGgtMzE3Yy0xOCAwIC0yMCA5IC0yMSAyMGwtMTMgMTg0Yy0xIDExIDAgMjAgMTggMjBoMzQ4ek0zNjIgMzA1bDIgLTMzaC0zNDRjMCA2IDQgNDYgNiA2M2MyIDE4IDggMTcgMjUgMTdoNzVjMjggMCAyMyAwIDM3IC0xNWMxNiAtMTggMTkgLTE3IDQxIC0xN2gxNDNjMTEgMCAxNSAtMyAxNSAtMTV6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tZm9yay1yZXBvIiB1bmljb2RlPSImI3hmMmMwOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMzIwIDM2OHYtNjRoLTQ4di00OGgtNjR2NDhoLTQ4djY0aDQ4djQ4aDY0di00OGg0OHpNMjA4IDIwOGg2NHYtNXYwYzAgLTQzIC03IC03MCAtMzggLTk1Yy0yMyAtMTkgLTUxIC0yMCAtNzUgLTIyYy05IC0xIC0xOCAtMiAtMjYgLTNjLTYgLTEgLTEzIC01IC0yMCAtMTBjOSAtMTEgMTUgLTI1IDE1IC00MWMwIC0zNSAtMjkgLTY0IC02NCAtNjRzLTY0IDI5IC02NCA2NGMwIDI0IDEzIDQ0IDMyIDU1djIxMGMtMTkgMTEgLTMyIDMxIC0zMiA1NQorYzAgMzUgMjkgNjQgNjQgNjRzNjQgLTI5IDY0IC02NGMwIC0yNCAtMTMgLTQ0IC0zMiAtNTV2LTE2MGM4IDQgMTggNyAyNyA5YzExIDIgMjEgMiAzMSAzYzE3IDEgMzMgMyA0MCA5YzEwIDggMTQgMTEgMTQgNTB6TTY0IDM4NGMtMTggMCAtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnMzMiAxNCAzMiAzMnMtMTQgMzIgLTMyIDMyek02NCAwYzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzIKK3MxNCAtMzIgMzIgLTMyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWZvcmsiIHVuaWNvZGU9IiYjeGYyN2E7IiBob3Jpei1hZHYteD0iMTI4IiAKK2Q9Ik03OCAyOTl2MHYwdjB6TTEyOCAyODJjMCAtMjYgLTE1IC00OCAtMzcgLTU4Yy0xMiAtNiAtMTEgLTExIC0xMSAtMTFzMTYgLTIwMCAxNiAtMjEzcy0zIC0xOCAtOSAtMjRzLTE1IC04IC0yMyAtOHYwdjBjLTggMCAtMTYgMiAtMjIgOHMtMTAgMTMgLTEwIDI0czE2IDIxMyAxNiAyMTNzMCA2IC0xMSAxMWMtMjIgMTAgLTM3IDMyIC0zNyA1OGMwIDQzIDE1IDkzIDI0IDEzNGg4di0xMTdjMCAtNiAzIC0xMSA5IC0xMXM5IDQgMTAgMTB2MQorbDkgMTE3aDhsMTAgLTExN3YtMWMxIC02IDMgLTEwIDkgLTEwczkgNSA5IDExdjExN2g4djBjOSAtNDAgMjQgLTkxIDI0IC0xMzR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tZm9yd2FyZCIgdW5pY29kZT0iJiN4ZjEzYTsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTIyNCAxNTBjLTEwMiAwIC0xNzEgLTkgLTIyNCAtMTAyYzAgMCAzNyAyMDggMjI0IDIwOHY4MGwxNjAgLTE0NGwtMTYwIC0xMzR2OTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tZnVubmVsIiB1bmljb2RlPSImI3hmMzFiOyIgCitkPSJNMjI0IDQxNmMxMjQgMCAyMjQgLTM2IDIyNCAtODBjMCAtOCAtMyAtMTUgLTkgLTIydjBjLTM1IC00MyAtMTUxIC0xNzkgLTE1MSAtMjE4di00di04M3YwYzAgLTIzIC0yOSAtNDEgLTY0IC00MXMtNjQgMTggLTY0IDQxdjB2ODdjMCAzOSAtMTE3IDE3NyAtMTQ5IDIxNnYwYy03IDggLTExIDE2IC0xMSAyNGMwIDQ0IDEwMCA4MCAyMjQgODB6TTIyNCAyODhjOTIgMCAxNzYgMjIgMTc2IDQ4cy04MyA0OCAtMTc2IDQ4CitzLTE3NiAtMjIgLTE3NiAtNDhzODQgLTQ4IDE3NiAtNDh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tZ2Vhci1hIiB1bmljb2RlPSImI3hmMTNkOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzQ3IDE5MmMwIC0yNCAxNSAtNDMgMzcgLTU2Yy00IC0xMyAtMTAgLTI2IC0xNiAtMzhjLTI1IDYgLTQ1IC0zIC02MiAtMjBzLTIyIC0zNyAtMTYgLTYyYy0xMiAtNiAtMjUgLTEyIC0zOCAtMTZjLTEzIDIyIC0zNiAzNyAtNjAgMzdzLTQ3IC0xNSAtNjAgLTM3Yy0xMyA0IC0yNyAxMCAtMzkgMTZjNiAyNSAyIDQ1IC0xNSA2MnMtMzcgMjEgLTYyIDE1Yy02IDEyIC0xMiAyNiAtMTYgMzljMjIgMTMgMzcgMzYgMzcgNjBzLTE1IDQzIC0zNyA1NgorYzQgMTMgOSAyNiAxNiAzOGMyNSAtNiA0NSAzIDYyIDIwczIxIDM3IDE1IDYyYzEyIDYgMjYgMTIgMzkgMTZjMTMgLTIyIDM2IC0zNyA2MCAtMzdzNDcgMTUgNjAgMzdjMTMgLTQgMjcgLTEwIDM5IC0xNmMtNiAtMjUgLTIgLTQ1IDE1IC02MnMzNyAtMjYgNjIgLTIwYzYgLTEyIDEyIC0yNSAxNiAtMzhjLTIyIC0xMyAtMzcgLTMyIC0zNyAtNTZ6TTE5MiA5NGM1NCAwIDk4IDQ0IDk4IDk4cy00NCA5OCAtOTggOThzLTk4IC00NCAtOTggLTk4CitzNDQgLTk4IDk4IC05OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1nZWFyLWIiIHVuaWNvZGU9IiYjeGYxM2U7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zODQgMTU0aC00NGMtNCAtMTQgLTEwIC0yNyAtMTcgLTM5bDMyIC0zMmwtNTQgLTU0bC0zMyAzMmMtMTIgLTcgLTI0IC0xMSAtMzggLTE1di00NmgtNzZ2NDZjLTEzIDQgLTI2IDggLTM4IDE1bC0zMyAtMzJsLTU0IDU0bDMyIDMyYy03IDEyIC0xMyAyNSAtMTcgMzloLTQ0djc2aDQzYzQgMTQgOSAyOSAxNiA0MWwtMzAgMzBsNTQgNTRsMjkgLTI5YzEzIDggMjcgMTMgNDIgMTd2NDFoNzZ2LTQxYzE1IC00IDI5IC05IDQyIC0xN2wyOSAyOQorbDU0IC01NGwtMzAgLTMwYzcgLTEyIDEzIC0yNyAxNiAtNDFoNDN2LTc2ek0xOTIgMTM4YzMwIDAgNTQgMjQgNTQgNTRzLTI0IDU0IC01NCA1NHMtNTQgLTI0IC01NCAtNTRzMjQgLTU0IDU0IC01NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1ncmlkIiB1bmljb2RlPSImI3hmMTNmOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNNjQgMjk1YzAgLTQgLTMgLTcgLTcgLTdoLTUwYy00IDAgLTcgMyAtNyA3djUwYzAgNCAzIDcgNyA3aDUwYzQgMCA3IC0zIDcgLTd2LTUwek0xOTIgMjk1YzAgLTQgLTMgLTcgLTcgLTdoLTUwYy00IDAgLTcgMyAtNyA3djUwYzAgNCAzIDcgNyA3aDUwYzQgMCA3IC0zIDcgLTd2LTUwek0zMjAgMjk1YzAgLTQgLTMgLTcgLTcgLTdoLTUwYy00IDAgLTcgMyAtNyA3djUwYzAgNCAzIDcgNyA3aDUwYzQgMCA3IC0zIDcgLTd2LTUwek02NCAxNjcKK2MwIC00IC0zIC03IC03IC03aC01MGMtNCAwIC03IDMgLTcgN3Y1MGMwIDQgMyA3IDcgN2g1MGM0IDAgNyAtMyA3IC03di01MHpNMTkyIDE2N2MwIC00IC0zIC03IC03IC03aC01MGMtNCAwIC03IDMgLTcgN3Y1MGMwIDQgMyA3IDcgN2g1MGM0IDAgNyAtMyA3IC03di01MHpNMzIwIDE2N2MwIC00IC0zIC03IC03IC03aC01MGMtNCAwIC03IDMgLTcgN3Y1MGMwIDQgMyA3IDcgN2g1MGM0IDAgNyAtMyA3IC03di01MHpNNjQgMzkKK2MwIC00IC0zIC03IC03IC03aC01MGMtNCAwIC03IDMgLTcgN3Y1MGMwIDQgMyA3IDcgN2g1MGM0IDAgNyAtMyA3IC03di01MHpNMTkyIDM5YzAgLTQgLTMgLTcgLTcgLTdoLTUwYy00IDAgLTcgMyAtNyA3djUwYzAgNCAzIDcgNyA3aDUwYzQgMCA3IC0zIDcgLTd2LTUwek0zMjAgMzljMCAtNCAtMyAtNyAtNyAtN2gtNTBjLTQgMCAtNyAzIC03IDd2NTBjMCA0IDMgNyA3IDdoNTBjNCAwIDcgLTMgNyAtN3YtNTB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taGFtbWVyIiB1bmljb2RlPSImI3hmMjdiOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMzE0IDQxNmMzIDAgNiAtMyA2IC02di04NGMwIC0zIC0zIC02IC02IC02aC01MmMtMyAwIC02IDMgLTYgNnYxNGMtNiA1IC0xNiA5IC0yMiA3Yy03IC0yIC0yMyAtMTMgLTMwIC0yNXMtNiAtMjggLTYgLTY2bDggLTJjNSAtMSA3IC02IDcgLTl2LTcwYzAgLTk1IDExIC0yMDEgMTEgLTIwMWMwIC0zIC0zIC02IC02IC02aC04NGMtMyAwIC02IDMgLTYgNmMwIDAgMTEgMTA2IDExIDIwMXY3MGMwIDMgMyA4IDcgOWw3IDIKK2MwIDQzIC01IDU4IC0yMiA3NGMtMTggMTYgLTQxIDE5IC02MyAxN3MtNTEgLTM1IC01OCAtNDVzLTEwIDIgLTEwIDExYzEgMTYgMjIgNjAgNzIgODFzOTEgMjIgMTAyIDIyczI3IC0xIDM4IC0zczE2IC0xOCAyNiAtMThjNyAwIDE0IDUgMTggOXY2YzAgMyAzIDYgNiA2aDUyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWhhcHB5LW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzYzY7IiAKK2Q9Ik0zNTUgMTU4YzggLTQgMTEgLTEzIDcgLTIxYy0yNCAtNDYgLTc4IC03MyAtMTM4IC03M2MtNjIgMCAtMTE4IDI5IC0xMzkgNzRjLTQgOCAwIDE3IDggMjFjMiAxIDUgMSA3IDFjNiAwIDExIC0zIDE0IC05YzE2IC0zNCA2MCAtNTUgMTEwIC01NWM0OSAwIDkyIDIxIDExMCA1NmMzIDUgOCA4IDE0IDhjMyAwIDUgLTEgNyAtMnpNMzgxIDIxN2M1IC03IDQgLTE3IC00IC0yMmMtMyAtMiAtNiAtMyAtMTAgLTNjLTUgMCAtMTEgMiAtMTQgNgorcy03IDEwIC0xNyAxMHMtMTQgLTYgLTE3IC0xMHMtOSAtNiAtMTQgLTZjLTQgMCAtNyAxIC0xMCAzYy04IDYgLTkgMTUgLTMgMjJjMTEgMTQgMjMgMjMgNDQgMjNzMzUgLTkgNDUgLTIzek0xNTcgMjE3YzUgLTcgNCAtMTcgLTQgLTIyYy0zIC0yIC02IC0zIC0xMCAtM2MtNSAwIC0xMSAyIC0xNCA2cy03IDEwIC0xNyAxMHMtMTQgLTYgLTE3IC0xMHMtOSAtNiAtMTQgLTZjLTQgMCAtNyAxIC0xMCAzYy04IDYgLTkgMTUgLTMgMjIKK2MxMSAxNCAyMyAyMyA0NCAyM3MzNSAtOSA0NSAtMjN6TTIyNCA0MTZjMTI0IDAgMjI0IC0xMDAgMjI0IC0yMjRzLTEwMCAtMjI0IC0yMjQgLTIyNHMtMjI0IDEwMCAtMjI0IDIyNHMxMDAgMjI0IDIyNCAyMjR6TTM2MCA1NmMzNiAzNiA1NiA4NSA1NiAxMzZzLTIwIDEwMCAtNTYgMTM2cy04NSA1NiAtMTM2IDU2cy0xMDAgLTIwIC0xMzYgLTU2cy01NiAtODUgLTU2IC0xMzZzMjAgLTEwMCA1NiAtMTM2czg1IC01NiAxMzYgLTU2CitzMTAwIDIwIDEzNiA1NnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1oYXBweSIgdW5pY29kZT0iJiN4ZjMxYzsiIAorZD0iTTIyNCA0MTZjMTI0IDAgMjI0IC0xMDAgMjI0IC0yMjRzLTEwMCAtMjI0IC0yMjQgLTIyNHMtMjI0IDEwMCAtMjI0IDIyNHMxMDAgMjI0IDIyNCAyMjR6TTcxIDE5NWMzIC0yIDYgLTMgMTAgLTNjNSAwIDExIDIgMTQgNnM3IDEwIDE3IDEwczE0IC02IDE3IC0xMHM5IC02IDE0IC02YzQgMCA3IDEgMTAgM2M4IDUgOSAxNSA0IDIyYy0xMCAxNCAtMjQgMjMgLTQ1IDIzcy0zMyAtOSAtNDQgLTIzYy02IC03IC01IC0xNiAzIC0yMnpNMzYyIDEzNworYzQgOCAxIDE3IC03IDIxYy0yIDEgLTQgMiAtNyAyYy02IDAgLTExIC0zIC0xNCAtOGMtMTggLTM1IC02MSAtNTYgLTExMCAtNTZjLTUwIDAgLTk0IDIxIC0xMTAgNTVjLTMgNiAtOCA5IC0xNCA5Yy0yIDAgLTUgMCAtNyAtMWMtOCAtNCAtMTIgLTEzIC04IC0yMWMyMSAtNDUgNzcgLTc0IDEzOSAtNzRjNjAgMCAxMTQgMjcgMTM4IDczek0zNzcgMTk1YzggNSA5IDE1IDQgMjJjLTEwIDE0IC0yNCAyMyAtNDUgMjNzLTMzIC05IC00NCAtMjMKK2MtNiAtNyAtNSAtMTYgMyAtMjJjMyAtMiA2IC0zIDEwIC0zYzUgMCAxMSAyIDE0IDZzNyAxMCAxNyAxMHMxNCAtNiAxNyAtMTBzOSAtNiAxNCAtNmM0IDAgNyAxIDEwIDN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taGVhZHBob25lIiB1bmljb2RlPSImI3hmMTQwOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzgzIDIxMGMzIC01MSAtMyAtMTMwIC0xMyAtMTYyYy0yMCAtNjcgLTQwIC04MCAtNzIgLTgwcy01OCAyNyAtNTggNTl2MTA2YzAgMzMgMjMgNTkgNTMgNTljMTggMCAzNCAtOSA0NCAtMjRjMCAwIDExIDcgMTMgMjJzNCAzNCAtNSA2NHMtMjEgMTkgLTM2IDM4Yy0yIDMgLTUgNyAtOCAxMGwtMTAgMTBjLTIgMiAtMyAzIC01IDRjLTExIDkgLTIxIDE3IC0zNCAyM2MtMTkgOSAtMzkgMTMgLTYwIDEzcy00MiAtNCAtNjEgLTEzCitjLTEzIC02IC0yMiAtMTQgLTMzIC0yM2MtMiAtMSAtMyAtMiAtNSAtNGwtMTAgLTEwcy02IC03IC04IC0xMGMtMTUgLTE5IC0yNyAtOCAtMzYgLTM4Yy05IC0zMSAtNyAtNDkgLTUgLTY0czEzIC0yMiAxMyAtMjJjMTAgMTUgMjYgMjQgNDQgMjRjMzAgMCA1MyAtMjcgNTMgLTU5di0xMDZjMCAtMzIgLTI2IC01OSAtNTggLTU5cy01MiAxMyAtNzIgODBjLTEwIDMyIC0xNiAxMTEgLTEzIDE2MmMzIDYwIDIyIDEwOCA1NiAxNDV2MAorYzggOCAxNSAxNiAyNCAyM3MxOSAxMyAyOSAxOGMyNSAxMyA1MyAyMCA4MiAyMHM1NyAtNyA4MiAtMjBjMTAgLTUgMTkgLTExIDI4IC0xOHMxNyAtMTUgMjUgLTIzdjBjMzQgLTM3IDUzIC04NSA1NiAtMTQ1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWhlYXJ0LWJyb2tlbiIgdW5pY29kZT0iJiN4ZjMxZDsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTE4MSAxNjBjMCAtMzYgLTIgLTcxIDQgLTEwN2MyIC0xMCAyIC0yMCAyIC0zMWwtMTUzIDE1OWMtNDUgNDcgLTQ1IDEyNCAwIDE3MWM0MCA0MSAxMDMgNDMgMTQ0IDNjLTIgLTE1IC0zIC0zMSAtMyAtNDZjLTE4IC0xNCAtNDAgLTIxIC01NiAtMzlsMTEgN2MxNyAxMSAxNSA4IDM1IDE0YzMgMSA4IDMgMTEgNWMwIC0xIC0xIC01IC0xIC02YzEgLTIwIDExIC0zOSAxNSAtNjBjMCAtNSAxIC0xMCAtMSAtMTVjLTggLTE3IC03IC0zNyAtOCAtNTUKK3pNMjc0IDE0N2M4IC0xOCAyMyAtMjkgMzggLTM5bC0xMDQgLTEwOGwtMTcgMThjMCAxMyAtNCAyNiAtNCAzOGMtMiA0OCAxMCA5NCAyMSAxNDJ2MGMxIC0xIDIgLTEgMyAtMWMzMCAtNiA1MiAtMjQgNjMgLTUwek0zODIgMzUyYzQ2IC00NyA0NiAtMTI0IDAgLTE3MWwtNjggLTcwYy0yOCAyNCAtNDIgNTQgLTY1IDgxYy0xMiAxMyAtMjYgMjMgLTQxIDMyYy0zIDEzIC04IDI2IC0xMSAzOWMtMyAxMiAxNCAyMSAxNiAzMWMzIDEyIDMgMjYgMyAzOQorbDE5IDE5YzQwIDQyIDEwNyA0MiAxNDcgMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1oZWFydCIgdW5pY29kZT0iJiN4ZjE0MTsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTM4MiAzNTJjNDYgLTQ3IDQ2IC0xMjQgMCAtMTcxbC0xNzQgLTE4MWwtMTc0IDE4MWMtNDYgNDcgLTQ2IDEyNCAwIDE3MWM0MCA0MiAxMDcgNDIgMTQ3IDBsMjcgLTI4bDI4IDI4YzQwIDQyIDEwNiA0MiAxNDYgMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1oZWxwLWJ1b3kiIHVuaWNvZGU9IiYjeGYyN2M7IiAKK2Q9Ik0yMjQgNDE2YzEyNCAwIDIyNCAtMTAwIDIyNCAtMjI0cy0xMDAgLTIyNCAtMjI0IC0yMjRzLTIyNCAxMDAgLTIyNCAyMjRzMTAwIDIyNCAyMjQgMjI0ek00MDIgMjY0Yy0xMCAyNCAtMjMgNDUgLTQyIDY0cy00MSAzMiAtNjUgNDJsLTE5IC02MWMxNCAtNiAyNyAtMTUgMzggLTI2czIxIC0yNCAyNyAtMzh6TTIyNCA5NmM1MyAwIDk2IDQzIDk2IDk2cy00MyA5NiAtOTYgOTZzLTk2IC00MyAtOTYgLTk2czQzIC05NiA5NiAtOTZ6TTg4IDMyOAorYy0xOSAtMTkgLTMyIC00MSAtNDIgLTY1bDYxIC0xOWM2IDE0IDE1IDI3IDI2IDM4czI0IDIxIDM4IDI3bC0xOSA2MWMtMjQgLTEwIC00NSAtMjMgLTY0IC00MnpNNDYgMTIwYzEwIC0yNCAyMyAtNDUgNDIgLTY0czQxIC0zMiA2NSAtNDJsMTkgNjFjLTE0IDYgLTI3IDE1IC0zOCAyNnMtMjEgMjQgLTI3IDM4ek0zNjAgNTZjMTkgMTkgMzIgNDEgNDIgNjVsLTYxIDE5Yy02IC0xNCAtMTUgLTI3IC0yNiAtMzhzLTI0IC0yMSAtMzggLTI3bDE5IC02MQorYzI0IDEwIDQ1IDIzIDY0IDQyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWhlbHAtY2lyY2xlZCIgdW5pY29kZT0iJiN4ZjE0MjsiIAorZD0iTTIyNCA0MTZjMTI0IDAgMjI0IC0xMDAgMjI0IC0yMjRzLTEwMCAtMjI0IC0yMjQgLTIyNHMtMjI0IDEwMCAtMjI0IDIyNHMxMDAgMjI0IDIyNCAyMjR6TTI0NCA4OWMxIDE4IC0xMiAzMSAtMjkgMzFjLTE2IDAgLTMwIC0xMSAtMzAgLTI5czEyIC0zMCAyOCAtMzBjMTcgMCAzMSAxMCAzMSAyOHpNMjkzIDIxN2M3IDEwIDEyIDIyIDEyIDM2YzAgMjMgLTkgNDAgLTI1IDUyYy0xNyAxMyAtMzcgMTggLTYyIDE4CitjLTE5IDAgLTM0IC00IC00NyAtMTNjLTE5IC0xMyAtMjggLTM0IC0yOCAtNjhoNDljMCA5IC0xIDE5IDQgMjdzMTMgMTUgMjYgMTVzMTkgLTMgMjUgLTExYzUgLTcgOCAtMTUgOCAtMjNjMCAtNyAtNCAtMTQgLTggLTIwYy0yIC00IC02IC03IC0xMCAtMTBjMCAwIC0yNiAtMTUgLTM1IC0zMGMtNyAtMTEgLTkgLTI0IC0xMCAtNDFjMCAtMSAwIC00IDQgLTRoMzlzNSAzIDUgNGMwIDYgMSAxNSAyIDE5YzIgNyA2IDEyIDEyIDE3bDE0IDkKK2MxMiA5IDIxIDE3IDI1IDIzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWhlbHAiIHVuaWNvZGU9IiYjeGYxNDM7IiBob3Jpei1hZHYteD0iMjU2IiAKK2Q9Ik0yMTcgMzcxYzI1IC0xOSAzOSAtNDYgMzkgLTgzYzAgLTIyIC04IC00MiAtMTkgLTU3Yy03IC05IC0yMSAtMjEgLTQwIC0zNmwtMjEgLTE0Yy0xMCAtOCAtMTcgLTE4IC0yMCAtMjhjLTIgLTYgLTMgLTE5IC0zIC0yOWMwIC0yIC0xIC02IC03IC02aC02MmMtNyAwIC03IDMgLTcgNWMxIDI2IDQgNDkgMTUgNjZjMTUgMjMgNTcgNDggNTcgNDhjNiA1IDExIDkgMTUgMTVjNyAxMCAxMiAyMSAxMiAzMmMwIDEzIC0zIDI2IC0xMSAzNgorYy0xMCAxMiAtMjEgMTggLTQxIDE4cy0zMiAtMTEgLTQwIC0yNHMtNyAtMjkgLTcgLTQzaC03N2MwIDU0IDE0IDg4IDQ0IDEwOGMyMCAxNCA0NSAyMCA3NSAyMGMzOSAwIDcwIC03IDk4IC0yOHpNMTE0IDc4YzI3IC0xIDQ3IC0yMCA0NiAtNDhzLTIyIC00NiAtNDkgLTQ1Yy0yNiAxIC00NiAxOSAtNDUgNDdzMjIgNDcgNDggNDZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taG9tZSIgdW5pY29kZT0iJiN4ZjE0NDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM4NCAxNjBoLTQ4di0xNjBoLTk2djEyOGgtOTZ2LTEyOGgtOTZ2MTYwaC00OGwxOTIgMjI0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWljZWNyZWFtIiB1bmljb2RlPSImI3hmMjdkOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMzIgMTkyaDI1NmwtMTI4IC0yMjR6TTMwNyAyNzVjOCAtNSAxMyAtMTMgMTMgLTIzYzAgLTE2IC0xNCAtMjggLTMwIC0yOGgtNGgtMjUyaC00Yy0xNiAwIC0zMCAxMyAtMzAgMjhjMCAxMCA2IDE4IDE0IDIzYzEgMCAxIDIgMiAyYzQgMyA3IDcgOCAxMnYxYy0yIDYgLTIgMTIgLTIgMThjMCA0MiAzNCA3NiA3NiA3NmM4IDAgMTYgLTIgMjMgLTRjLTMgLTEyIC00IC0zMSAtNCAtMzFjMiAxNSAxMSAyOSAxMSAyOWMxOCAyMyA0NiAzOCA3NyAzOAorYzUzIDAgOTYgLTQzIDk2IC05NmMwIC0xMSAtMiAtMjEgLTUgLTMwdi0xYzAgLTQgNCAtOSA4IC0xMmMxIDAgMiAtMiAzIC0yeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWltYWdlIiB1bmljb2RlPSImI3hmMTQ3OyIgCitkPSJNMzM2IDIyNGMtMjYgMCAtNDggMjIgLTQ4IDQ4czIyIDQ4IDQ4IDQ4czQ4IC0yMiA0OCAtNDhzLTIyIC00OCAtNDggLTQ4ek00MjAgMzg0YzE2IDAgMjggLTEyIDI4IC0yOHYtMzI4YzAgLTE2IC0xMiAtMjggLTI4IC0yOGgtMzkyYy0xNiAwIC0yOCAxMiAtMjggMjh2MzI4YzAgMTYgMTIgMjggMjggMjhoMzkyek0zMTcgMTg2bDk5IC0xMDZ2MjYwYzAgNyAtNiAxMiAtMTMgMTJoLTM1OGMtNyAwIC0xMiAtNSAtMTMgLTEydi0yNjBsMTI2IDE1MgorYzQgNCAxMCA4IDE3IDhzMTMgLTIgMTcgLTdsNTQgLTU5bDQgLTRjMyAtMiA3IC00IDExIC00czggMiAxMiA1bDE4IDE2YzQgMyA4IDUgMTMgNXMxMCAtMiAxMyAtNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pbWFnZXMiIHVuaWNvZGU9IiYjeGYxNDg7IiAKK2Q9Ik00MjYgMzA4YzEzIC0xIDIzIC0xMiAyMiAtMjRsLTE0IC0yNjNjLTEgLTEzIC0xMiAtMjIgLTI1IC0yMWwtMzMwIDE2Yy0xMyAxIC0yMyAxMCAtMjIgMjNsMiA0NmwtMTUgLTFjLTEyIC0xIC0yMiA3IC0yMyAxOGwtMjEgMjM2Yy0xIDExIDcgMjEgMTkgMjJsMjk2IDI0YzEyIDEgMjIgLTcgMjMgLTE4bDUgLTU0ek03MSAzMDJjMSAxMiAxMSAyMiAyNCAyMmwyMTkgLTExbC0yIDMxaC0xdjFjLTEgNSAtNSA4IC0xMCA4bC0yNjEgLTIyCitjLTUgMCAtMTAgLTQgLTEwIC05djB2LTFsMTYgLTE3OGwxOCAyNXpNNDA1IDY2bDEwIDE5OHYxdjBjMCA2IC01IDEwIC0xMSAxMGwtNTggM2wtMjkgMmwtMjA0IDljLTYgMCAtMTEgLTQgLTEyIC05djB2LTFsLTMgLTYzbC03IC0xMjh2LTdsNiA3bDEwMiAxMDljNCA0IDggNiAxNCA2czExIC0zIDE0IC03bDQzIC00OWwzIC0zYzIgLTIgNiAtNCAxMCAtNHM1IDEgOSAzbDE3IDEyYzQgMyA3IDQgMTEgNHM5IC0yIDExIC01bDI3IC0zM3pNMzQxIDE4NgorYy0yMCAwIC0zNSAxNSAtMzUgMzVzMTYgMzUgMzUgMzVjMjAgMCAzNSAtMTYgMzUgLTM1cy0xNiAtMzUgLTM1IC0zNXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pbmZvcm1hdGlvbi1jaXJjbGVkIiB1bmljb2RlPSImI3hmMTQ5OyIgCitkPSJNNDQ4IDE5NWMyIC0xMjQgLTk3IC0yMjUgLTIyMSAtMjI3cy0yMjUgOTcgLTIyNyAyMjFzOTcgMjI1IDIyMSAyMjdzMjI1IC05NyAyMjcgLTIyMXpNMjI0IDMzNmMtMTggMCAtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnMzMiAxNCAzMiAzMnMtMTQgMzIgLTMyIDMyek0yNjggNTN2MTFoLTIydjE3MmgtNjZ2LTEyaDIydi0xNjBoLTIydi0xMWg4OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pbmZvcm1hdGlvbiIgdW5pY29kZT0iJiN4ZjE0YTsiIGhvcml6LWFkdi14PSIxMjgiIAorZD0iTTk2IDBoMzJ2LTE2aC0xMjh2MTZoMzJ2MjQwaC0zMnYxNmg5NnYtMjU2ek02NCAzMDRjLTI3IDAgLTQ4IDIxIC00OCA0OHMyMSA0OCA0OCA0OHM0OCAtMjEgNDggLTQ4cy0yMSAtNDggLTQ4IC00OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb25pYyIgdW5pY29kZT0iJiN4ZjE0YjsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTM3NiAzMTVjMjUgLTM0IDQwIC03NyA0MCAtMTIzYzAgLTExNSAtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOGM0NiAwIDg5IC0xNSAxMjMgLTQwYzUgMyAxMSA1IDE4IDVjMTggMCAzMiAtMTQgMzIgLTMyYzAgLTcgLTIgLTEzIC01IC0xOHpNMzQ0IDU2YzE4IDE4IDMxIDM4IDQxIDYxYzEwIDI0IDE1IDQ5IDE1IDc1cy01IDUxIC0xNSA3NWMtNiAxMyAtMTMgMjYgLTIxIDM4CitjLTQgLTIgLTEwIC00IC0xNSAtNGMtMTggMCAtMzIgMTQgLTMyIDMyYzAgNSAyIDExIDQgMTVjLTEyIDggLTI1IDE1IC0zOCAyMWMtMjQgMTAgLTQ5IDE1IC03NSAxNXMtNTEgLTUgLTc1IC0xNWMtMjMgLTEwIC00MyAtMjMgLTYxIC00MXMtMzEgLTM4IC00MSAtNjFjLTEwIC0yNCAtMTUgLTQ5IC0xNSAtNzVzNSAtNTEgMTUgLTc1YzEwIC0yMyAyMyAtNDMgNDEgLTYxczM4IC0zMSA2MSAtNDFjMjQgLTEwIDQ5IC0xNSA3NSAtMTVzNTEgNSA3NSAxNQorYzIzIDEwIDQzIDIzIDYxIDQxek0xMTIgMTkyYzAgNjQgMzIgOTYgOTYgOTZzOTYgLTMyIDk2IC05NnMtMzIgLTk2IC05NiAtOTZzLTk2IDMyIC05NiA5NnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYWxhcm0tb3V0bGluZSIgdW5pY29kZT0iJiN4ZjNjNzsiIGhvcml6LWFkdi14PSI0MDQiIAorZD0iTTM4NCAyNTZsLTU0IDUybC05IC05YzM1IC0zMiA1NyAtNzkgNTcgLTEzMGMwIC00NCAtMTYgLTgzIC00MyAtMTE0bDM2IC00NWwtMTIgLTEwbC0zNSA0M2MtMzIgLTMwIC03NSAtNDkgLTEyMiAtNDl2MHYwYy00NyAwIC05MCAxOSAtMTIyIDQ5bC0zNSAtNDNsLTEyIDEwbDM2IDQ1Yy0yNyAzMSAtNDMgNzEgLTQzIDExNWMwIDUxIDIyIDk3IDU3IDEyOWwtOSA5bC01NCAtNTJjLTEyIDE0IC0yMCAzMiAtMjAgNTJjMCA0NCAzNSA4MCA4MCA4MgoraDVjMjAgMCAzOSAtNyA1NCAtMThsLTU0IC01MmwxMSAtMTFjMjYgMTkgNTYgMzIgOTAgMzV2MGMwIDggOCAxNiAxNiAxNnMxNSAtOCAxNSAtMTZ2MGMzNCAtMyA2NSAtMTYgOTEgLTM1bDExIDExbC01NCA1MmMxNSAxMSAzNCAxOCA1NCAxOGg1YzQ1IC0yIDgwIC0zOCA4MCAtODJjMCAtMjAgLTggLTM4IC0yMCAtNTJ6TTIyIDI4MGw5MSA4OWMtOSA1IC0xOSA3IC0zMiA2Yy0zNyAtMiAtNjUgLTMyIC02NSAtNjdjMCAtMTAgMiAtMTkgNiAtMjh6CitNMzYyIDE3MmMwIDg4IC03MiAxNTggLTE2MCAxNThzLTE2MCAtNzAgLTE2MCAtMTU4czcyIC0xNTggMTYwIC0xNThzMTYwIDcwIDE2MCAxNTh6TTI5MSAzNjlsOTEgLTg5YzQgOSA2IDE4IDYgMjhjMCAzNSAtMjggNjUgLTY1IDY3Yy0xMyAxIC0yMyAtMSAtMzIgLTZ6TTIwMiAyODhoMTZ2LTE0NGgtMTEydjE2aDk2djEyOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYWxhcm0iIHVuaWNvZGU9IiYjeGYzYzg7IiBob3Jpei1hZHYteD0iNDA0IiAKK2Q9Ik0zODUgMjU2bC01NSA1MmwtOSAtOWMzNSAtMzIgNTcgLTc5IDU3IC0xMzBjMCAtNDQgLTE2IC04MyAtNDMgLTExNGwzNyAtNDVsLTEzIC0xMGwtMzUgNDNjLTMyIC0zMCAtNzUgLTQ5IC0xMjIgLTQ5djB2MGMtNDcgMCAtOTAgMTkgLTEyMiA0OWwtMzUgLTQzbC0xMiAxMGwzNiA0NWMtMjcgMzEgLTQzIDcwIC00MyAxMTRjMCA1MSAyMiA5OCA1NyAxMzBsLTkgOWwtNTQgLTUyYy0xMiAxNCAtMjAgMzIgLTIwIDUyYzAgNDQgMzUgODAgODAgODIKK2g1YzIwIDAgMzkgLTcgNTQgLTE4bC01NCAtNTNsMTEgLTEwYzI2IDE5IDU2IDMyIDkwIDM1djBjMCA4IDggMTYgMTYgMTZzMTUgLTggMTUgLTE2djBjMzQgLTMgNjUgLTE2IDkxIC0zNWwxMSAxMWwtNTQgNTJjMTUgMTEgMzQgMTggNTQgMThoNWM0NSAtMiA4MCAtMzggODAgLTgyYzAgLTIwIC03IC0zOCAtMTkgLTUyek0yMTggMTQ0djE0NGgtMTZ2LTEyOGgtOTZ2LTE2aDExMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYWxidW1zLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzYzk7IiAKK2Q9Ik00MzIgMzA0aC00MTZ2LTI4OGg0MTZ2Mjg4ek00NDggMzIwdjB2LTMyMGgtNDQ4djMyMGg0NDh6TTQwIDMzNnYxNmgzNjh2LTE2aC0zNjh6TTcyIDM2OHYxNmgzMDR2LTE2aC0zMDR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWFsYnVtcyIgdW5pY29kZT0iJiN4ZjNjYTsiIAorZD0iTTQ0OCAzMjB2MHYtMzIwaC00NDh2MzIwaDQ0OHpNNDAgMzM2djE2aDM2OHYtMTZoLTM2OHpNNzIgMzY4djE2aDMwNHYtMTZoLTMwNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYW1lcmljYW5mb290YmFsbC1vdXRsaW5lIiB1bmljb2RlPSImI3hmM2NiOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMzMxIDMxNWMxMTIgLTExMiA4MSAtMzI3IDgxIC0zMjdzLTI2IC00IC02NSAtNGMtNzMgMCAtMTg5IDEyIC0yNjIgODVjLTExMiAxMTIgLTgxIDMyNyAtODEgMzI3czI2IDQgNjUgNGM3MyAwIDE4OSAtMTIgMjYyIC04NXpNMTcgMzgzYy0yIC0xOSAtNSAtNjAgMCAtMTA3YzEgLTggMiAtMTYgMyAtMjNsMTI3IDEyN2MtMjUgMyAtNTEgNSAtNzggNXYwdjBjLTIyIDAgLTQxIC0xIC01MiAtMnpNOTYgODBjMzAgLTMwIDcyIC01MyAxMjQgLTY2CitjMTAgLTMgMjAgLTUgMzEgLTdsMTQyIDE0MmMtNCAyMiAtMTAgNDQgLTE3IDYzYy0xNCAzNyAtMzIgNjggLTU2IDkyYy0zMCAzMCAtNzIgNTMgLTEyNCA2NmMtMTAgMyAtMjAgNSAtMzEgN2wtMTQyIC0xNDJjNCAtMjIgMTAgLTQ0IDE3IC02M2MxNCAtMzcgMzIgLTY4IDU2IC05MnpNMzk5IDFjMiAxOSA1IDYwIDAgMTA3Yy0xIDggLTIgMTYgLTMgMjNsLTEyNyAtMTI3YzI1IC0zIDUxIC01IDc4IC01YzIyIDAgNDEgMSA1MiAyek0yNTkgMTMwCitsLTI4IC0yOWwtMTIgMTJsMjkgMjhsLTIzIDIzbC0yOCAtMjlsLTEyIDEybDI5IDI4bC0yMyAyM2wtMjggLTI5bC0xMiAxMmwyOSAyOGwtMjMgMjNsLTI4IC0yOWwtMTIgMTJsMjkgMjhsLTIyIDIzbC0yOSAtMjlsLTExIDEybDY3IDY3bDEyIC0xMWwtMjkgLTI5bDIzIC0yMmwyOCAyOWwxMiAtMTJsLTI5IC0yOGwyMyAtMjNsMjggMjlsMTIgLTEybC0yOSAtMjhsMjMgLTIzbDI4IDI5bDEyIC0xMmwtMjkgLTI4bDIyIC0yM2wyOSAyOWwxMiAtMTIKK2wtMjkgLTI4bDIyIC0yM2wyOSAyOWwxMSAtMTJsLTY3IC02N2wtMTIgMTFsMjkgMjl6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWFtZXJpY2FuZm9vdGJhbGwiIHVuaWNvZGU9IiYjeGYzY2M7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0zMzEgMzE1YzExMiAtMTEyIDgxIC0zMjcgODEgLTMyN3MtMjYgLTQgLTY1IC00Yy03MyAwIC0xODkgMTIgLTI2MiA4NWMtMTEyIDExMiAtODEgMzI3IC04MSAzMjdzMjYgNCA2NSA0YzczIDAgMTg5IC0xMiAyNjIgLTg1ek0yMCAyNTNsMyAtMThsMTQyIDE0MmwtMTggM3pNMjE5IDExM2wxMiAtMTJsMjggMjlsMjMgLTIybC0yOSAtMjlsMTIgLTExbDY3IDY3bC0xMSAxMmwtMjkgLTI5bC0yMiAyM2wyOSAyOGwtMTIgMTJsLTI4IC0yOQorbC0yMyAyM2wyOSAyOGwtMTIgMTJsLTI4IC0yOWwtMjMgMjNsMjkgMjhsLTEyIDEybC0yOCAtMjlsLTIzIDIzbDI5IDI4bC0xMiAxMmwtMjggLTI5bC0yMyAyMmwyOSAyOWwtMTIgMTFsLTY3IC02N2wxMSAtMTJsMjkgMjlsMjIgLTIzbC0yOSAtMjhsMTIgLTEybDI4IDI5bDIzIC0yM2wtMjkgLTI4bDEyIC0xMmwyOCAyOWwyMyAtMjNsLTI5IC0yOGwxMiAtMTJsMjggMjlsMjMgLTIzek0yNjkgNGwxMjcgMTI3bC0zIDE4bC0xNDIgLTE0MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYW5hbHl0aWNzLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzY2Q7IiAKK2Q9Ik0yMjQgNDAwYy0yOCAwIC01NSAtNSAtODEgLTE2Yy0yNSAtMTAgLTQ3IC0yNiAtNjYgLTQ1cy0zNSAtNDEgLTQ1IC02NmMtMTEgLTI2IC0xNiAtNTMgLTE2IC04MXM1IC01NSAxNiAtODFjMTAgLTI1IDI2IC00NyA0NSAtNjZzNDEgLTM1IDY2IC00NWMyNiAtMTEgNTMgLTE2IDgxIC0xNnM1NSA1IDgxIDE2YzI1IDEwIDQ3IDI2IDY2IDQ1czM1IDQxIDQ1IDY2YzExIDI2IDE2IDUzIDE2IDgxcy01IDU1IC0xNiA4MQorYy0xMCAyNSAtMjYgNDcgLTQ1IDY2cy00MSAzNSAtNjYgNDVjLTI2IDExIC01MyAxNiAtODEgMTZ6TTIyNCA0MTZ2MGMxMjQgMCAyMjQgLTEwMCAyMjQgLTIyNHMtMTAwIC0yMjQgLTIyNCAtMjI0cy0yMjQgMTAwIC0yMjQgMjI0czEwMCAyMjQgMjI0IDIyNHpNNzYgMTI4Yy0yNSAwIC00MSAxOCAtNDIgMTljLTMgMyAtMiA5IDEgMTJzOCAyIDExIC0xYzEgLTEgMTUgLTE3IDM2IC0xNGMxMiAyIDI3IDI2IDM4IDQyYzQgNiA5IDEyIDEyIDE2CitjMTcgMjEgMzQgMjMgNDUgMjFjMjQgLTMgNDUgLTI4IDU0IC01MGM3IC0xOCAxOCAtMjggMzIgLTI5YzE1IC0xIDMxIDExIDQzIDMwYzEgMiAzIDQgNCA3YzkgMTcgMjQgNDMgNTIgNDNjMzEgMCA1MiAtMzUgNTMgLTM2YzIgLTQgMSAtOSAtMyAtMTFzLTkgLTEgLTExIDNjMCAwIC01IDggLTEyIDE1Yy02IDYgLTE2IDEzIC0yNyAxM2MtMTggMCAtMjkgLTE5IC0zOCAtMzVjLTEgLTMgLTMgLTUgLTQgLTdjLTE1IC0yNSAtMzYgLTQwIC01OCAtMzgKK2MtMjAgMSAtMzYgMTUgLTQ2IDM5cy0yOCAzOSAtNDEgNDFjLTExIDEgLTIxIC00IC0zMSAtMTZjLTMgLTQgLTYgLTkgLTEwIC0xNWMtMTQgLTIwIC0zMSAtNDUgLTUwIC00OGMtMyAwIC01IC0xIC04IC0xeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1hbmFseXRpY3MiIHVuaWNvZGU9IiYjeGYzY2U7IiAKK2Q9Ik0yMjQgNDE2YzEyNCAwIDIyNCAtMTAwIDIyNCAtMjI0YzAgLTEzIC0xIC0yNSAtMyAtMzdjLTEgLTYgLTIgLTEyIC0zIC0xN2MtMjQgLTk4IC0xMTMgLTE3MCAtMjE4IC0xNzBjLTEyMiAwIC0yMjEgOTggLTIyNCAyMTl2NWMwIDkgMSAxNyAyIDI2YzEzIDExMSAxMDcgMTk4IDIyMiAxOTh6TTQzMSAxNjhjMSA4IDEgMTYgMSAyNGMwIDI4IC01IDU1IC0xNiA4MWMtMTAgMjUgLTI2IDQ3IC00NSA2NnMtNDEgMzUgLTY2IDQ1CitjLTI2IDExIC01MyAxNiAtODEgMTZzLTU1IC01IC04MSAtMTZjLTI1IC0xMCAtNDcgLTI2IC02NiAtNDVzLTM1IC00MSAtNDUgLTY2Yy0xMSAtMjYgLTE2IC01MyAtMTYgLTgxdjBjMTQgLTIxIDI5IC0zNCAyOSAtMzRoMXYtMWMxIC0xIDE1IC0xNiAzNiAtMTNjMTIgMiAyNyAyNiAzOCA0MmM0IDYgOSAxMiAxMiAxNmMxNyAyMSAzNCAyMyA0NSAyMWMyNCAtMyA0NSAtMjcgNTQgLTUwYzcgLTE4IDE4IC0yOCAzMiAtMjljMTUgLTEgMzEgOSA0MyAyOQorYzEgMiAzIDQgNCA3YzkgMTcgMjQgNDQgNTIgNDRjMzEgMCA1MiAtMzUgNTMgLTM2YzMgLTQgOSAtMTIgMTYgLTIweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1hcnJvdy1iYWNrIiB1bmljb2RlPSImI3hmM2NmOyIgaG9yaXotYWR2LXg9IjE5MiIgCitkPSJNMTkyIDMyMGwtMTI3IC0xMjhsMTI3IC0xMjhsLTMyIC0zMmwtMTYwIDE2MHYwdjBsMTYwIDE2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYXJyb3ctZG93biIgdW5pY29kZT0iJiN4ZjNkMDsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTMwMSAyODhsMTkgLTIxbC0xNjAgLTE3MWwtMTYwIDE3MWwxOSAyMWwxNDEgLTE1MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYXJyb3ctZm9yd2FyZCIgdW5pY29kZT0iJiN4ZjNkMTsiIGhvcml6LWFkdi14PSIxOTIiIAorZD0iTTAgMzIwbDMyIDMybDE2MCAtMTYwdjB2MGwtMTYwIC0xNjBsLTMyIDMybDEyNyAxMjh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGYzZDI7IiBob3Jpei1hZHYteD0iMTkyIiAKK2Q9Ik0xOTIgMzMzbC0xNTAgLTE0MWwxNTAgLTE0MWwtMjEgLTE5bC0xNzEgMTYwbDE3MSAxNjB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWFycm93LXJpZ2h0IiB1bmljb2RlPSImI3hmM2QzOyIgaG9yaXotYWR2LXg9IjE5MiIgCitkPSJNMCAzMzNsMjEgMTlsMTcxIC0xNjBsLTE3MSAtMTYwbC0yMSAxOWwxNTAgMTQxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1hcnJvdy10aGluLWRvd24iIHVuaWNvZGU9IiYjeGYzZDQ7IiBob3Jpei1hZHYteD0iMTkyIiAKK2Q9Ik0xOTAgMTI2YzIgLTIgMiAtNCAyIC02czAgLTQgLTIgLTZjMCAwIC04NyAtNzkgLTg4IC04MHMtMyAtMiAtNiAtMnMtNSAxIC02IDJzLTg4IDgwIC04OCA4MGMtMyAzIC0zIDkgMCAxMnM5IDMgMTIgMGw3NCAtNjd2Mjg1YzAgNCA0IDggOCA4czggLTQgOCAtOHYtMjg1bDc0IDY3YzMgMyA5IDMgMTIgMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYXJyb3ctdGhpbi1sZWZ0IiB1bmljb2RlPSImI3hmM2Q1OyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNOTQgOThjLTIgLTIgLTQgLTIgLTYgLTJzLTQgMCAtNiAyYzAgMCAtNzkgODcgLTgwIDg4cy0yIDMgLTIgNnMxIDUgMiA2czgwIDg4IDgwIDg4YzMgMyA5IDMgMTIgMHMzIC05IDAgLTEybC02NyAtNzRoMjg1YzQgMCA4IC00IDggLThzLTQgLTggLTggLThoLTI4NWw2NyAtNzRjMyAtMyAzIC05IDAgLTEyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1hcnJvdy10aGluLXJpZ2h0IiB1bmljb2RlPSImI3hmM2Q2OyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMjI2IDk4Yy0zIDMgLTMgOSAwIDEybDY3IDc0aC0yODVjLTQgMCAtOCA0IC04IDhzNCA4IDggOGgyODVsLTY3IDc0Yy0zIDMgLTMgOSAwIDEyczkgMyAxMiAwYzAgMCA3OSAtODcgODAgLTg4czIgLTMgMiAtNnMtMSAtNSAtMiAtNnMtODAgLTg4IC04MCAtODhjLTIgLTIgLTQgLTIgLTYgLTJzLTQgMCAtNiAyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1hcnJvdy10aGluLXVwIiB1bmljb2RlPSImI3hmM2Q3OyIgaG9yaXotYWR2LXg9IjE5MiIgCitkPSJNMTkwIDI1OGMtMyAtMyAtOSAtMyAtMTIgMGwtNzQgNjd2LTI4NWMwIC00IC00IC04IC04IC04cy04IDQgLTggOHYyODVsLTc0IC02N2MtMyAtMyAtOSAtMyAtMTIgMHMtMyA5IDAgMTJjMCAwIDg3IDc5IDg4IDgwczMgMiA2IDJzNSAtMSA2IC0yczg4IC04MCA4OCAtODBjMiAtMiAyIC00IDIgLTZzMCAtNCAtMiAtNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYXJyb3ctdXAiIHVuaWNvZGU9IiYjeGYzZDg7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0zMDEgOTZsLTE0MSAxNTBsLTE0MSAtMTUwbC0xOSAyMWwxNjAgMTcxbDE2MCAtMTcxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1hdC1vdXRsaW5lIiB1bmljb2RlPSImI3hmM2Q5OyIgaG9yaXotYWR2LXg9IjI1NSIgCitkPSJNMjM2IDEyN3YxaDE5bC0zIC02Yy0zIC02IC0xMyAtMTkgLTIyIC0yN3MtMTggLTE0IC0yOCAtMjBzLTIxIC0xMCAtMzIgLTEzcy0yMyAtNSAtMzQgLTVjLTE2IDAgLTMzIDMgLTQ5IDhzLTMwIDEzIC00MyAyNGMtMTIgMTEgLTI2IDI5IC0zNCA0NmMtNyAxNiAtMTAgMzMgLTEwIDU4YzAgMTggNCAzOCAxMSA1NWM3IDE2IDE3IDMwIDI5IDQyczI3IDIxIDQzIDI4YzE1IDYgMzMgOSA1MyA5YzE2IDAgMzIgLTMgNDYgLTgKK2MxNSAtNSAyOCAtMTIgMzkgLTIyczE3IC0yMSAyNCAtMzVjNiAtMTMgOCAtMjYgOCAtNDRjMCAtMTQgLTIgLTI4IC03IC00MHMtOSAtMjAgLTE3IC0zMGMtOCAtOSAtMTMgLTE1IC0yMyAtMjFjLTExIC02IC0yMCAtOSAtMjkgLTljLTggMCAtMTUgMiAtMjAgN2MtMyAyIC01IDYgLTYgOWMtNiAtNiAtMTEgLTEwIC0xNyAtMTJjLTEwIC0zIC0xOCAtNCAtMjYgLTRzLTE1IDEgLTIxIDRzLTEyIDcgLTE3IDEycy04IDExIC0xMSAxOAorcy01IDE0IC01IDIyYzAgMTIgMyAyNCA3IDM2djJjNCAxMSA1IDE2IDEzIDI2YzggMTEgMTcgMTkgMjggMjZzMjQgMTEgMzggMTFjMTIgMCAyMSAtMyAzMSAtOWM3IC00IDEyIC0xMCAxNiAtMTZsNiAxN2gxOGwtMzggLTEwMmMtMiAtNSAtNCAtMTAgLTUgLTE0cy0xIC03IC0xIC0xMGMwIC0yIDEgLTQgMyAtNXM0IC0yIDggLTJjNiAwIDExIDIgMjAgN2M4IDQgMTIgOSAxOSAxN2M2IDggMTAgMTQgMTQgMjVzNiAyMyA2IDM1CitjMCAxNSAtMiAyNSAtNyAzNmMtNiAxMyAtMTAgMjIgLTE5IDMwcy0yMCAxNSAtMzMgMjBzLTI3IDcgLTQyIDdjLTE5IDAgLTM1IC0zIC00OCAtOWMtMTUgLTYgLTI3IC0xNCAtMzcgLTI0Yy0xMSAtMTAgLTE5IC0yMyAtMjUgLTM3Yy02IC0xNSAtMTAgLTMyIC0xMCAtNDhjMCAtMjIgMiAtMzYgOCAtNDljNiAtMTUgMTcgLTMxIDI4IC00MXMyNCAtMTggMzggLTIzczMwIC03IDQ2IC03YzEwIDAgMjAgMSAzMCA0czE4IDYgMjcgMTEKK3MxNyAxMSAyNCAxOHMxNCAxMyAxOSAyMXpNMTQ3IDE1NGM0IDUgOCAxMiAxMSAyMGwyMSA1N2MtMiA1IC00IDEwIC03IDEzYy0zIDQgLTYgNiAtMTAgOGMtMSAwIC0xIDEgLTIgMWMtMyAyIC01IDMgLTkgNGMtNSAxIC05IDIgLTEzIDJjLTEwIDAgLTE5IC0zIC0yOCAtOXMtMTcgLTEzIC0yMyAtMjJjLTUgLTggLTcgLTExIC0xMCAtMjBjMCAtMSAtMSAtMyAtMSAtNGMtNCAtMTEgLTUgLTIwIC01IC0zMGMwIC02IDEgLTExIDMgLTE2CitzNSAtOSA4IC0xM3M3IC02IDEyIC04czkgLTMgMTUgLTNjNCAwIDkgMSAxNCAyYzQgMSA4IDIgMTIgNXM4IDcgMTIgMTN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWF0IiB1bmljb2RlPSImI3hmM2RhOyIgaG9yaXotYWR2LXg9IjI1NiIgCitkPSJNMjI4IDEyOHYwaDI4Yy0xIC0xIC0yIC00IC0zIC02Yy00IC02IC0xNCAtMTkgLTIzIC0yN3MtMTggLTE0IC0yOCAtMjBzLTIwIC0xMCAtMzIgLTEzYy0xMSAtMyAtMjMgLTUgLTM0IC01Yy0xNiAwIC0zMyAzIC00OSA4cy0zMCAxMyAtNDMgMjRjLTEyIDEwIC0yNiAyOCAtMzQgNDZjLTcgMTYgLTEwIDMzIC0xMCA1OGMwIDE5IDQgMzkgMTEgNTVzMTcgMzAgMjkgNDJzMjggMjEgNDQgMjhjMTUgNiAzMiA5IDUyIDljMTYgMCAzMSAtMyA0NiAtOAorczI4IC0xMiAzOSAtMjJzMTggLTIyIDI1IC0zNmM2IC0xNCA4IC0yNiA4IC00NGMwIC0xNCAtMiAtMjggLTcgLTQwYy00IC0xMSAtOSAtMjAgLTE3IC0zMGMtNyAtOSAtMTQgLTE2IC0yNCAtMjJjLTEyIC02IC0yMSAtOSAtMzAgLTlzLTE2IDIgLTIyIDhjLTIgMSAtMyAzIC00IDVjLTQgLTQgLTkgLTYgLTE0IC04Yy0xMCAtMyAtMTggLTUgLTI3IC01Yy04IDAgLTE2IDIgLTIzIDVzLTEyIDcgLTE3IDEycy05IDEyIC0xMiAxOXMtNCAxNCAtNCAyMgorYzAgMTIgMiAyNSA2IDM3bDEgMWM0IDEwIDUgMTcgMTMgMjdjOCAxMSAxNyAyMCAyOCAyN2MxMiA3IDI0IDEwIDM4IDEwYzEyIDAgMjIgLTMgMzMgLTljNSAtMyA4IC02IDEyIC0xMGw1IDEyaDI1bC0zOSAtMTA0Yy0yIC01IC0zIC05IC00IC0xM2MtMSAtMyAtMSAtNyAtMSAtOXMwIC0zIDEgLTNjMCAwIDEgLTEgNSAtMWM1IDAgMTEgMiAxOSA3YzcgNCAxMCA4IDE2IDE2czkgMTMgMTMgMjNzNiAyMCA2IDMyYzAgMTQgLTEgMjQgLTYgMzQKK2MtNSAxMiAtMTAgMjEgLTE4IDI4Yy05IDggLTE5IDE0IC0zMSAxOHMtMjYgNyAtNDAgN2MtMTggMCAtMzIgLTMgLTQ0IC04Yy0xNCAtNiAtMjUgLTEzIC0zNSAtMjNzLTE4IC0yMiAtMjQgLTM1Yy02IC0xNCAtOSAtMzAgLTkgLTQ1YzAgLTIxIDMgLTM0IDggLTQ2YzYgLTE0IDE2IC0zMCAyNiAtMzlzMjIgLTE2IDM1IC0yMWMxNCAtNSAyOCAtNyA0MyAtN2MxMCAwIDIwIDIgMjkgNHMxOCA2IDI2IDExczI4IDIwIDM4IDMzek0xNDQgMTU3CitjNCA1IDcgMTIgMTAgMTlsMjAgNTVjLTEgNCAtMyA3IC01IDljLTMgMyAtNiA2IC05IDhoLTFoLTF2MWMtMyAyIC01IDIgLTggM2MtNCAxIC04IDEgLTEyIDFjLTkgMCAtMTcgLTIgLTI1IC03Yy0xMCAtNiAtMTcgLTE0IC0yMSAtMjFjLTUgLTggLTYgLTExIC05IC0xOWMwIC0xIC0xIC0yIC0xIC0zYy0zIC0xMCAtNiAtMTkgLTYgLTI4YzAgLTUgMSAtMTAgMyAtMTRzNCAtOCA3IC0xMXM3IC02IDExIC04czggLTIgMTMgLTJjNCAwIDggMCAxMiAxCit2MGM0IDEgNyAyIDExIDVjMyAyIDcgNSAxMSAxMXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYmFyY29kZS1vdXRsaW5lIiB1bmljb2RlPSImI3hmM2RiOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMCA2NHYyNTZoODB2LTE2aC02NHYtMjI0aDY0di0xNmgtODB6TTMzNiAzMjBoODB2LTI1NmgtODB2MTZoNjR2MjI0aC02NHYxNnpNNjQgMTI4djEyOGgxNnYtMTI4aC0xNnpNMzM2IDEyOHYxMjhoMTZ2LTEyOGgtMTZ6TTI3MiA5NnYxOTJoMTZ2LTE5MmgtMTZ6TTEyOCA5NnYxOTJoMTZ2LTE5MmgtMTZ6TTE5OSAxMTJ2MTYwaDE2di0xNjBoLTE2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1iYXJjb2RlIiB1bmljb2RlPSImI3hmM2RjOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMCAzMjBoNDE2di0yNTZoLTQxNnYyNTZ6TTgwIDEyOHYxMjhoLTE2di0xMjhoMTZ6TTE0NCA5NnYxOTJoLTE2di0xOTJoMTZ6TTIxNSAxMTJ2MTYwaC0xNnYtMTYwaDE2ek0yODggOTZ2MTkyaC0xNnYtMTkyaDE2ek0zNTIgMTI4djEyOGgtMTZ2LTEyOGgxNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYmFzZWJhbGwtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjNkZDsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTQxNSAxNjl2LTF2MGMtMTEgLTk3IC05MCAtMTc0IC0xODcgLTE4M3YwaC0yYy0yIDAgLTMgLTEgLTUgLTFoLTFoLTNoLTFoLThjLTExNSAwIC0yMDggOTMgLTIwOCAyMDh2OHYxdjN2MWMwIDIgMSAzIDEgNXYydjBjOSA5NyA4NiAxNzYgMTgzIDE4N3YwdjBjOCAxIDE2IDEgMjQgMWMxMTUgMCAyMDggLTkzIDIwOCAtMjA4YzAgLTcgMCAtMTQgLTEgLTIwdjB2LTN6TTM5OSAxOTJjMCAxMDUgLTg2IDE5MSAtMTkxIDE5MQorYy0zIDAgLTUgLTEgLTggLTFjMCAtMTEgMiAtMjEgNCAtMzFsMjAgNmw1IC0xNWwtMjEgLTdjMiAtNyA0IC0xNCA3IC0yMWMyIC01IDUgLTExIDggLTE2bDE3IDEybDkgLTEzbC0xOSAtMTNjNyAtMTIgMTYgLTIzIDI2IC0zM2wxNCAxNWwxMiAtMTJsLTE1IC0xNWMxMSAtMTAgMjIgLTE4IDM0IC0yNWwxMiAxOGwxNCAtOWwtMTIgLTE3YzUgLTIgMTAgLTUgMTUgLTdjNyAtMyAxNCAtNSAyMiAtN2w3IDIwbDE1IC01bC02IC0xOQorYzEwIC0yIDIwIC00IDMwIC00YzAgMyAxIDUgMSA4ek0xNyAxOTJjMCAtMTA1IDg2IC0xOTEgMTkxIC0xOTFoNGMtMSA5IC0xIDE3IC0zIDI2bC0yMiAtN2wtNSAxNmwyMyA3Yy0yIDggLTUgMTYgLTggMjRjLTIgNSAtNCA5IC02IDE0bC0yMCAtMTNsLTkgMTNsMjEgMTRjLTcgMTIgLTE2IDI0IC0yNiAzNWwtMTcgLTE3bC0xMSAxMWwxNyAxN2MtMTAgMTAgLTIyIDE4IC0zNCAyNWwtMTQgLTIxbC0xNCA5bDE0IDIwYy01IDIgLTEwIDUgLTE1IDcKK2MtNyAzIC0xNSA2IC0yMyA4bC04IC0yNGwtMTUgNWw3IDIzYy05IDIgLTE4IDIgLTI3IDN2LTR6TTIyOCAyYzg4IDkgMTU4IDc4IDE2OSAxNjZjLTExIDEgLTIzIDMgLTM0IDVsLTkgLTI3bC0xNSA1bDggMjVjLTE0IDQgLTI4IDEwIC00MSAxN2wtMTUgLTIzbC0xMyA5bDE0IDIxYy0xMyA4IC0yNiAxNyAtMzcgMjhsLTE5IC0xOWwtMTEgMTFsMTkgMTljLTEwIDExIC0xOSAyMyAtMjcgMzZsLTIxIC0xNGwtOSAxM2wyMiAxNQorYy03IDEzIC0xMiAyNyAtMTYgNDFsLTI1IC04bC01IDE2bDI2IDhjLTIgMTIgLTQgMjMgLTUgMzVjLTg4IC0xMSAtMTU3IC04MSAtMTY2IC0xNjljMTAgLTEgMjEgLTIgMzEgLTRsOCAyM2wxNSAtNWwtNyAtMjJjMTQgLTQgMjggLTkgNDIgLTE2bDEzIDE5bDE0IC05bC0xMyAtMThjMTMgLTggMjUgLTE3IDM2IC0yOGwxNyAxN2wxMSAtMTFsLTE3IC0xN2MxMSAtMTIgMjAgLTI0IDI4IC0zN2wxOSAxM2w5IC0xNGwtMjAgLTEzCitjNyAtMTQgMTIgLTI4IDE2IC00MmwyMyA3bDUgLTE1bC0yNCAtOGMyIC0xMCAzIC0yMCA0IC0zMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYmFzZWJhbGwiIHVuaWNvZGU9IiYjeGYzZGU7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggNDAwYzExNSAwIDIwOCAtOTMgMjA4IC0yMDhjMCAtOCAwIC0xNiAtMSAtMjR2MHYwYy0xMiAtMTA0IC0xMDAgLTE4NCAtMjA3IC0xODRjLTExNSAwIC0yMDggOTMgLTIwOCAyMDhjMCAxMDcgODAgMTk1IDE4NCAyMDd2MHYwYzggMSAxNiAxIDI0IDF6TTIxMiAxYzUgMCAxMSAwIDE2IDFjLTEgMTAgLTIgMjAgLTQgMzBsMjQgOGwtNSAxNWwtMjMgLTdjLTQgMTQgLTkgMjggLTE2IDQybDIwIDEzbC05IDE0bC0xOSAtMTMKK2MtOCAxMyAtMTcgMjUgLTI4IDM3bDE3IDE3bC0xMSAxMWwtMTcgLTE3Yy0xMSAxMSAtMjMgMjAgLTM2IDI4bDEzIDE4bC0xNCA5bC0xMyAtMTljLTE0IDcgLTI4IDEyIC00MiAxNmw3IDIybC0xNSA1bC04IC0yM2MtMTAgMiAtMjEgMyAtMzEgNGMtMSAtNSAtMSAtMTEgLTEgLTE2YzkgLTEgMTggLTEgMjcgLTNsLTcgLTIzbDE1IC01bDggMjRjOCAtMiAxNiAtNSAyMyAtOGM1IC0yIDEwIC01IDE1IC03bC0xNCAtMjBsMTQgLTlsMTQgMjEKK2MxMiAtNyAyNCAtMTUgMzQgLTI1bC0xNyAtMTdsMTEgLTExbDE3IDE3YzEwIC0xMSAxOSAtMjMgMjYgLTM1bC0yMSAtMTRsOSAtMTNsMjAgMTNjMiAtNSA0IC05IDYgLTE0YzMgLTggNiAtMTYgOCAtMjRsLTIzIC03bDUgLTE2bDIyIDdjMiAtOCAyIC0xNyAzIC0yNnpNMzYzIDE3M2MxMSAtMiAyMyAtNCAzNCAtNWMxIDUgMSAxMSAxIDE2Yy0xMCAxIC0yMCAyIC0zMCA0bDYgMTlsLTE1IDVsLTcgLTIwYy04IDIgLTE1IDQgLTIyIDcKK2MtNSAyIC0xMCA1IC0xNSA3bDEyIDE3bC0xNCA5bC0xMiAtMThjLTEyIDcgLTIzIDE1IC0zNCAyNWwxNSAxNWwtMTIgMTJsLTE1IC0xNWMtMTAgMTAgLTE4IDIxIC0yNSAzM2wxOSAxM2wtOSAxM2wtMTcgLTEyYy0zIDUgLTYgMTEgLTggMTZjLTMgNyAtNSAxNCAtNyAyMWwyMSA3bC01IDE1bC0yMCAtNmMtMiAxMCAtMyAyMCAtNCAzMWMtNSAwIC0xMSAwIC0xNiAtMWMxIC0xMiAzIC0yMyA1IC0zNWwtMjYgLThsNSAtMTZsMjUgOAorYzQgLTE0IDkgLTI4IDE2IC00MWwtMjIgLTE1bDkgLTEzbDIxIDE0YzggLTEzIDE3IC0yNSAyNyAtMzZsLTE5IC0xOWwxMSAtMTFsMTkgMTljMTEgLTExIDI0IC0yMCAzNyAtMjhsLTE0IC0yMWwxMyAtOWwxNSAyM2MxMyAtNyAyNyAtMTMgNDEgLTE3bC04IC0yNWwxNSAtNXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYmFza2V0YmFsbC1vdXRsaW5lIiB1bmljb2RlPSImI3hmM2RmOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IDQwMGMxMTUgMCAyMDggLTkzIDIwOCAtMjA4cy05MyAtMjA4IC0yMDggLTIwOHMtMjA4IDkzIC0yMDggMjA4czkzIDIwOCAyMDggMjA4ek0zOTkgMTkyYzAgNTUgLTI0IDEwNSAtNjIgMTQwYy0xNCAtMzQgLTMxIC02NSAtNTIgLTk1YzE1IC0xMiAzMSAtMjEgNDkgLTI5YzIxIC05IDQzIC0xNCA2NSAtMTZ2MHpNMzI1IDM0M2MtMzIgMjUgLTczIDQwIC0xMTcgNDB2MGMyIC0yMiA2IC00NCAxNSAtNjUKK2MxMCAtMjUgMjYgLTQ3IDQ1IC02NmMyIC0xIDIgLTMgNCAtNGMyMCAyOSAzOCA2MCA1MiA5M2MwIDEgMSAxIDEgMnpNMTkyIDM4MmMtNTEgLTQgLTk2IC0yOSAtMTI4IC02NWM2NCAtMjggMTIxIC02OSAxNjkgLTExOWMxMSAxMiAyMSAyNCAzMCAzN2MtNDAgMzcgLTY3IDg5IC03MSAxNDd6TTIzMyAxNzRjLTE1IC0xNiAtMzEgLTMwIC00OCAtNDRjMjggLTM1IDQ1IC03OSA0NyAtMTI3YzMzIDQgNjMgMTcgODggMzUKK2MtMjIgNTAgLTUxIDk1IC04NyAxMzZ6TTIxNCAxNzhsOCA4bC0xMCAxMGMtNDYgNDYgLTk5IDgyIC0xNTggMTA4Yy0xOCAtMjUgLTMxIC01NSAtMzUgLTg4YzYyIC0zIDExNiAtMzEgMTU1IC03NGMxNCAxMSAyNyAyMyA0MCAzNnpNMTggMjAwYzAgLTMgLTEgLTUgLTEgLThjMCAtNDUgMTYgLTg3IDQzIC0xMjBjMzYgMTYgNzEgMzYgMTAyIDYwbC03IDdjLTE5IDE5IC00MSAzNSAtNjYgNDVjLTIyIDkgLTQ2IDE1IC03MSAxNnpNNzEgNTkKK2MzNSAtMzYgODMgLTU4IDEzNyAtNThjMyAwIDUgMSA4IDFjLTEgMjUgLTYgNDggLTE2IDcxYy03IDE3IC0xNyAzMyAtMjggNDdjLTMxIC0yNCAtNjUgLTQ1IC0xMDEgLTYxek0zMzMgNDhjMzcgMzIgNjEgNzcgNjUgMTI4Yy00NiAzIC04OSAyMSAtMTIzIDQ4Yy0xMCAtMTMgLTIwIC0yNiAtMzEgLTM4YzM2IC00MSA2NyAtODcgODkgLTEzOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYmFza2V0YmFsbCIgdW5pY29kZT0iJiN4ZjNlMDsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCA0MDBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHpNMzMzIDQ4Yy0yMiA1MSAtNTMgOTcgLTg5IDEzOGMxMSAxMiAyMSAyNSAzMSAzOGMzNCAtMjcgNzcgLTQ1IDEyMyAtNDhjMCA1IDEgMTEgMSAxNmMtMjIgMiAtNDQgNyAtNjUgMTZjLTE4IDggLTM0IDE3IC00OSAyOWMyMSAzMCAzOCA2MSA1MiA5NWMtNCA0IC04IDggLTEyIDExCitjMCAtMSAtMSAtMSAtMSAtMmMtMTQgLTMzIC0zMiAtNjQgLTUyIC05M2MtMiAxIC0yIDIgLTQgNGMtMTkgMTkgLTM1IDQxIC00NSA2NmMtOSAyMSAtMTMgNDMgLTE1IDY1Yy01IDAgLTExIC0xIC0xNiAtMWM0IC01OCAzMSAtMTEwIDcxIC0xNDdjLTkgLTEzIC0xOSAtMjUgLTMwIC0zN2MtNDggNTAgLTEwNSA5MSAtMTY5IDExOWMtNCAtNCAtNyAtOSAtMTAgLTEzYzU5IC0yNiAxMTIgLTYyIDE1OCAtMTA4bDEwIC0xMGwtOCAtOAorYy0xMyAtMTMgLTI2IC0yNSAtNDAgLTM2Yy0zOSA0MyAtOTMgNzEgLTE1NSA3NGMtMSAtNSAtMSAtMTEgLTEgLTE2YzI1IC0xIDQ5IC03IDcxIC0xNmMyNSAtMTAgNDcgLTI2IDY2IC00NWw3IC03Yy0zMSAtMjQgLTY2IC00NCAtMTAyIC02MGM0IC00IDcgLTkgMTEgLTEzYzM2IDE2IDcwIDM3IDEwMSA2MWMxMSAtMTQgMjEgLTMwIDI4IC00N2MxMCAtMjMgMTUgLTQ2IDE2IC03MWM1IDAgMTEgMCAxNiAxYy0yIDQ4IC0xOSA5MiAtNDcgMTI3CitjMTcgMTQgMzMgMjggNDggNDRjMzYgLTQxIDY1IC04NiA4NyAtMTM2YzQgMyA5IDYgMTMgMTB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWJlbGwtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjNlMTsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTMxOCAyMjJjMCAtMTE0IDI4IC0xMjYgNjYgLTE1OGgtMzg0YzM4IDMyIDY2IDQ0IDY2IDE1OGMwIDk4IDUzIDEzMCAxMDIgMTM4djJjMCAxMiAxMSAyMiAyNCAyMnMyNCAtMTAgMjQgLTIydi0yYzQ5IC03IDEwMiAtNDAgMTAyIC0xMzh6TTQzIDgwaDI5OGMtMjUgMjUgLTQwIDU4IC00MCAxNDJjMCA0NiAtMTMgODAgLTM3IDEwMWMtMjMgMTkgLTUyIDIzIC03MiAyM3MtNDkgLTQgLTcyIC0yM2MtMjUgLTIxIC0zNyAtNTUgLTM3IC0xMDEKK2MwIC01MSAtNSAtODUgLTE3IC0xMTBjLTYgLTEzIC0xNCAtMjMgLTIzIC0zMnpNMTkyIDBjLTI3IDAgLTQ5IDIwIC01MiA0M2gxMDRjLTMgLTIzIC0yNSAtNDMgLTUyIC00M3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYmVsbCIgdW5pY29kZT0iJiN4ZjNlMjsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTMxOCAyMjJjMCAtMTE0IDI4IC0xMjYgNjYgLTE1OGgtMzg0YzM4IDMyIDY2IDQ0IDY2IDE1OGMwIDk4IDUzIDEzMCAxMDIgMTM4djJjMCAxMiAxMSAyMiAyNCAyMnMyNCAtMTAgMjQgLTIydi0yYzQ5IC03IDEwMiAtNDAgMTAyIC0xMzh6TTE5MiAwYy0yNyAwIC00OSAyMCAtNTIgNDNoMTA0Yy0zIC0yMyAtMjUgLTQzIC01MiAtNDN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWJvZHktb3V0bGluZSIgdW5pY29kZT0iJiN4ZjNlMzsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTE5MiA0MDBjLTE4IDAgLTMyIC0xNCAtMzIgLTMyczE0IC0zMiAzMiAtMzJzMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnpNMTkyIDQxNnYwYzI3IDAgNDggLTIxIDQ4IC00OHMtMjEgLTQ4IC00OCAtNDhzLTQ4IDIxIC00OCA0OHMyMSA0OCA0OCA0OHpNMzYwIDMwNGMxMyAwIDI0IC0xMSAyNCAtMjRzLTExIC0yNCAtMjQgLTI0aC0xMDBjLTUgMCAtMTQgLTUgLTE4IC0xNWMtNSAtMTIgLTIgLTMzIDEgLTUxbDQgLTIxdi0xdjBsMzIgLTE3MgorYzIgLTEzIC02IC0yNiAtMTkgLTI4aC01Yy0xMSAwIC0yMiA4IC0yNCAyMGwtMjEgMTIwdjBzLTUgMzEgLTE3IDMxaC0yYy0xMiAwIC0xOSAtMzEgLTE5IC0zMXYwbC0yMSAtMTIwYy0yIC0xMiAtMTEgLTIwIC0yMiAtMjBoLTVjLTEzIDIgLTIxIDE1IC0xOSAyOGwzMiAxNzJ2MWw0IDIxYzMgMTggNiAzOSAxIDUxYy00IDEwIC0xMiAxNSAtMTggMTVoLTEwMGMtMTMgMCAtMjQgMTEgLTI0IDI0czExIDI0IDI0IDI0aDMzNnpNMjQgMjcyCitjLTQgMCAtOCA0IC04IDhzNCA4IDggOGgzMzZjNCAwIDggLTQgOCAtOHMtNCAtOCAtOCAtOGgtMTAyYy0xNiAwIC0yNiAtMTUgLTMwIC0yNGMtNSAtMTMgLTYgLTMyIC0xIC02MXYwdjBsMyAtMTlsMSAtM2wzMiAtMTcyYzAgLTMgMCAtNSAtMSAtNnMtMiAtMiAtNSAtM2gtMmMtNCAwIC03IDIgLTggNmwtMjEgMTIwdjBjMCAyIC0yIDEwIC01IDE5Yy0yIDYgLTUgMTEgLTggMTVjLTcgOSAtMTQgMTEgLTIwIDExaC0yCitjLTUgMCAtMTMgLTIgLTIwIC0xMWMtMyAtNCAtNiAtOSAtOCAtMTVjLTQgLTkgLTYgLTE3IC02IC0xOHYtMWwtMjEgLTEyMGMtMSAtNCAtMyAtNiAtNyAtNmgtMmMtMyAwIC00IDIgLTUgM3MtMiAzIC0xIDZsMzIgMTcydjB2MWw0IDIxdjB2MGM1IDI5IDUgNDggMCA2MWMtNCA5IC0xNCAyNCAtMzIgMjR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWJvZHkiIHVuaWNvZGU9IiYjeGYzZTQ7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xNDQgMzY4YzAgMzIgMTYgNDggNDggNDhzNDggLTE2IDQ4IC00OHMtMTYgLTQ4IC00OCAtNDhzLTQ4IDE2IC00OCA0OHpNMzYwIDMwNGM3IDAgMTIgLTIgMTcgLTdzNyAtMTAgNyAtMTdzLTIgLTEyIC03IC0xN3MtMTAgLTcgLTE3IC03aC05OGMtOCAtMiAtMTUgLTYgLTE4IC0xNGMtNCAtOSAtMyAtMjcgMSAtNTJsNCAtMjF2LTF2MGwzMCAtMTcyYzEgLTcgMCAtMTMgLTQgLTE4cy04IC05IC0xNSAtMTBzLTEzIDAgLTE4IDQKK3MtOSA5IC0xMCAxNmwtMjEgMTIwdi0xbC0yIDljLTEgNSAtMyAxMSAtNiAxNnMtNiA4IC0xMCA4aC0yYy04IDAgLTE0IC0xMSAtMTggLTMzdjFsLTIxIC0xMjBjLTEgLTcgLTUgLTEyIC0xMCAtMTZzLTExIC01IC0xOCAtNHMtMTEgNSAtMTUgMTBzLTUgMTEgLTQgMThsMzAgMTcydjB2MWw0IDIxYzQgMjUgNSA0MyAxIDUyYy0zIDggLTEwIDEyIC0xOCAxNGgtOThjLTcgMCAtMTIgMiAtMTcgN3MtNyAxMCAtNyAxN3MyIDEyIDcgMTdzMTAgNyAxNyA3CitoMzM2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1ib2x0LW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzZTU7IiBob3Jpei1hZHYteD0iMjI2IiAKK2Q9Ik0xMzEgMzE2bC0xMDAgLTE0MGg2NWgxOWwtMyAtMTlsLTE3IC04OWwxMDAgMTQwaC02NWgtMTlsMyAxOXpNMTYwIDM4NHYwbC0zMCAtMTYwaDk2bC0xNjAgLTIyNGwzMCAxNjBoLTk2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1ib2x0IiB1bmljb2RlPSImI3hmM2U2OyIgaG9yaXotYWR2LXg9IjIyNiIgCitkPSJNMTYwIDM4NHYwbC0zMCAtMTYwaDk2bC0xNjAgLTIyNGwzMCAxNjBoLTk2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1ib29rLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzZTc7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0yODQgMzg0YzU1IDAgMTAwIC0yNiAxMDAgLTc5di0xdi00di0yNjF2LTE3aC02aC0xMWgtNWMtMTcgMzAgLTQ0IDQyIC03OCA0MmMtNDAgMCAtNzQgLTI4IC04MiAtNjRoLTIwYy04IDM2IC00MiA2NCAtODIgNjRjLTM0IDAgLTY1IC0xNiAtNzggLTQyaC01aC0xMWgtNnY5djI2NHY5djFjMCA1MyA0NSA3OSAxMDAgNzljNDEgMCA3OCAtMTQgOTIgLTQ0YzEyIDMwIDUxIDQ0IDkyIDQ0ek0xODQgMzd2MjU0djEzdjIKK2MtMSA0MyAtMzkgNjIgLTg0IDYyYy00NCAwIC04MSAtMTkgLTg0IC02MXYtMXYwdi0yNjJoMWMxOSAyNiA0OCAzNiA4MyAzNnM2NiAtMTcgODQgLTQzek0zNjggMzAwdjE0djFjLTMgNDIgLTQwIDUzIC04NCA1M2MtNDYgMCAtODQgLTIwIC04NCAtNjR2LTF2LTI2NmMxOCAyNiA0OSA0MyA4NCA0M3M2NiAtMTAgODQgLTM2djI1NnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYm9vayIgdW5pY29kZT0iJiN4ZjNlODsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTEwMCAzODRjMzUgMCA2NyAtMTAgODQgLTMxdi0zNTNoLTJjLTggMzYgLTQyIDY0IC04MiA2NGMtMzQgMCAtNjUgLTE2IC03OCAtNDJoLTVoLTExaC02djl2MjY0djl2MWMwIDUzIDQ1IDc5IDEwMCA3OXpNMjg0IDM4NGM1NSAwIDEwMCAtMjYgMTAwIC03OXYtMXYtNHYtMjYxdi0xN2gtNmgtMTFoLTVjLTE3IDMwIC00NCA0MiAtNzggNDJjLTQwIDAgLTc0IC0yOCAtODIgLTY0aC0ydjM1M2MxNyAyMSA1MCAzMSA4NCAzMXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYm9va21hcmtzLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzZTk7IiBob3Jpei1hZHYteD0iNDE4IiAKK2Q9Ik0zODUgMzg0YzE5IDAgMzMgLTEzIDMzIC0zMnYtMjg2YzAgLTE5IC0xNCAtMzQgLTMzIC0zNGgtMTQzcy0yNSAtNCAtMjUgLTE5di0xM2gtOGgtOHYxM2MwIDE1IC0xMSAxOSAtMjUgMTloLTE0M2MtMTkgMCAtMzMgMTUgLTMzIDM0djI4NmMwIDE5IDE0IDMyIDMzIDMyaDE1MGMxMCAwIDIwIC01IDI2IC0xMnYwdjBjNiA3IDE2IDEyIDI2IDEyaDE1MHpNMjAxIDM3djMwOWMwIDkgLTEyIDIyIC0yNSAyMmgtMTQzCitjLTkgMCAtMTYgLTcgLTE2IC0xNnYtMjg2YzAgLTkgNyAtMTggMTYgLTE4aDE0NGMxMCAwIDE5IC0zIDI0IC0xMXpNMjczIDM2OHYtMTAwbDIzIDE0bDkgNmw5IC02bDIzIC0xNHYxMDBoLTY0ek00MDEgNjZ2Mjg2YzAgOSAtNyAxNiAtMTYgMTZoLTMydi0xMzFsLTQ4IDMybC00OCAtMzJ2MTMxaC0xNWMtMTMgMCAtMjUgLTEzIC0yNSAtMjJ2LTMwOWM1IDkgMTQgMTEgMjQgMTFoMTQ0YzkgMCAxNiA5IDE2IDE4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1ib29rbWFya3MiIHVuaWNvZGU9IiYjeGYzZWE7IiBob3Jpei1hZHYteD0iNDE4IiAKK2Q9Ik0yOTYgMjgzbC0yMyAtMTV2MTE2aDY0di0xMTZsLTIzIDE1bC05IDZ6TTM4NSAzODRjMTkgMCAzMyAtMTMgMzMgLTMydi0yODZjMCAtMTkgLTE0IC0zNCAtMzMgLTM0aC0xNDNzLTI1IC00IC0yNSAtMTl2LTEzaC04aC04djEzYzAgMTUgLTExIDE5IC0yNSAxOWgtMTQzYy0xOSAwIC0zMyAxNSAtMzMgMzR2Mjg2YzAgMTkgMTQgMzIgMzMgMzJoMTUwczE4IC04IDE4IC0xNXYtMzI5bDggLTZsOCA2djMyOXMxMCAxNSAxOCAxNWgyMnYtMTQ2CitsNDggMzJsNDggLTMydjE0NmgzMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtYm94LW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzZWI7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0xOTIgMjA4aC0xaC02M2MtOSAwIC0xNiAtNyAtMTYgLTE2czcgLTE2IDE2IC0xNmg2NGM5IDAgMTYgNyAxNiAxNnMtNyAxNiAtMTYgMTZ6TTE5MiAyMjR2MGMxOCAwIDMyIC0xNCAzMiAtMzJzLTE0IC0zMiAtMzIgLTMyaC02NGMtMTggMCAtMzIgMTQgLTMyIDMyczE0IDMyIDMyIDMyaDY0ek0zMjAgMzM2di04MGgtMTZ2LTIwOGgtMjg4djIwOGgtMTZ2ODBoMzIwek0yODggNjR2MTkyaC0yNTZ2LTE5MmgyNTZ6TTMwNCAyNzJ2NDhoLTI4OAordi00OGgyODh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWJveCIgdW5pY29kZT0iJiN4ZjNlYzsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTE2IDQ4djE5MmgyODh2LTE5MmgtMjg4ek0xMjggMjA4Yy05IDAgLTE2IC03IC0xNiAtMTZzNyAtMTYgMTYgLTE2aDY0YzkgMCAxNiA3IDE2IDE2cy03IDE2IC0xNiAxNmgtNjR6TTAgMzM2aDMyMHYtODBoLTE2aC0yODhoLTE2djgweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1icmllZmNhc2Utb3V0bGluZSIgdW5pY29kZT0iJiN4ZjNlZDsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTM2OCAzMjBoNDh2LTMyMGgtNDE2djMyMGg0OHYxNmgzMnYtMTZoNDh2MzB2MmMwIDE4IDEwIDMyIDI5IDMyaDk5YzE5IDAgMzIgLTE0IDMyIC0zMnYtMnYtMzBoNDh2MTZoMzJ2LTE2ek0xNDQgMzIwdjBoMTI4djB2MzBjMCAxMCAtNyAxOCAtMTcgMThoLTk3Yy0xMSAwIC0xNCAtOCAtMTQgLTE4di0zMHpNNDAwIDE2djIyNGgtMzg0di0yMjRoMzg0ek00MDAgMjU2djQ4aC0zMnYtMTZoLTMydjE2aC0yNTZ2LTE2aC0zMnYxNmgtMzJ2LTQ4CitoMzg0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1icmllZmNhc2UiIHVuaWNvZGU9IiYjeGYzZWU7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik00OCAzMjB2MTZoMzJ2LTE2aC0zMnpNMCAwdjI0MGg0MTZ2LTI0MGgtNDE2ek0zMzYgMzIwdjE2aDMydi0xNmgtMzJ6TTM2OCAzMjBoNDh2LTY0aC00MTZ2NjRoNDh2LTMyaDMydjMyaDQ4djMwdjJjMCAxOCAxMCAzMiAyOSAzMmg5OWMxOSAwIDMyIC0xNCAzMiAtMzJ2LTJ2LTMwaDQ4di0zMmgzMnYzMnpNMjcyIDMyMHYzMGMwIDEwIC03IDE4IC0xNyAxOGgtOTdjLTExIDAgLTE0IC04IC0xNCAtMTh2LTMwdjBoMTI4djB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWJyb3dzZXJzLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzZWY7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0wIDMwNGgzMDR2LTMwNGgtMzA0djMwNHpNMjg4IDE2djI3MmgtMjcydi0yNzJoMjcyek0zODQgMzg0di0zMDRoLTY0djE2aDQ4djI3MmgtMjcydi00OGgtMTZ2NjRoMzA0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1icm93c2VycyIgdW5pY29kZT0iJiN4ZjNmMDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTAgMzA0aDMwNHYtMzA0aC0zMDR2MzA0ek04MCAzODRoMzA0di0zMDRoLTY0djI0MGgtMjQwdjY0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jYWxjdWxhdG9yLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzZjE7IiBob3Jpei1hZHYteD0iMjg4IiAKK2Q9Ik0zMiAyODh2NjRoMjI0di02NGgtMjI0ek00OCAzMzZ2LTMyaDE5MnYzMmgtMTkyek0yNTYgMzg0YzE4IDAgMzIgLTE0IDMyIC0zMnYtMzIwYzAgLTE4IC0xNCAtMzIgLTMyIC0zMmgtMjI0Yy0xOCAwIC0zMiAxNCAtMzIgMzJ2MzIwYzAgMTggMTQgMzIgMzIgMzJoMjI0ek0yNzIgMzJ2MzIwYzAgOSAtNyAxNiAtMTYgMTZoLTIyNGMtOSAwIC0xNiAtNyAtMTYgLTE2di0zMjBjMCAtOSA3IC0xNiAxNiAtMTZoMjI0YzkgMCAxNiA3IDE2IDE2egorTTQ4IDIwOGgzMmgxNnYtMTZoLTY0djY0aDE2di0xNnYtMzJ6TTQ4IDEyOGgzMmgxNnYtMTZoLTY0djY0aDE2di0xNnYtMzJ6TTQ4IDQ4aDMyaDE2di0xNmgtNjR2NjRoMTZ2LTE2di0zMnpNMTI4IDIwOGgzMmgxNnYtMTZoLTY0djY0aDE2di0xNnYtMzJ6TTIwOCAyMDhoMzJoMTZ2LTE2aC02NHY2NGgxNnYtMTZ2LTMyek0xMjggMTI4aDMyaDE2di0xNmgtNjR2NjRoMTZ2LTE2di0zMnpNMTI4IDQ4aDMyaDE2di0xNmgtNjR2NjRoMTZ2LTE2di0zMnoKK00yMDggNDhoMzJoMTZ2LTE2aC02NHYxNDRoMTZ2LTk2di0zMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY2FsY3VsYXRvciIgdW5pY29kZT0iJiN4ZjNmMjsiIGhvcml6LWFkdi14PSIyODgiIAorZD0iTTI1NiAzODRjMTggMCAzMiAtMTQgMzIgLTMydi0zMjBjMCAtMTggLTE0IC0zMiAtMzIgLTMyaC0yMjRjLTE4IDAgLTMyIDE0IC0zMiAzMnYzMjBjMCAxOCAxNCAzMiAzMiAzMmgyMjR6TTI0OCAxNjhoLTQ4di0xMjhoNDh2MTI4ek0yNDggMjQ4aC00OHYtNDhoNDh2NDh6TTE2OCA4OGgtNDh2LTQ4aDQ4djQ4ek0xNjggMTY4aC00OHYtNDhoNDh2NDh6TTE2OCAyNDhoLTQ4di00OGg0OHY0OHpNODggODhoLTQ4di00OGg0OHY0OHpNODggMTY4CitoLTQ4di00OGg0OHY0OHpNODggMjQ4aC00OHYtNDhoNDh2NDh6TTQwIDI5NmgyMDh2NDhoLTIwOHYtNDh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNhbGVuZGFyLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzZjM7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xNiAzMzZ2LTY0aDM1MnY2NHpNMjg4IDM1Mmg5NnYtMzUyaC0zODR2MzUyaDk2djMyaDE2di0zMmgxNjB2MzJoMTZ2LTMyek0zNjggMTZ2MjQwaC0zNTJ2LTI0MGgzNTJ6TTM2OCAyNzJ2NjRoLTgwdi0zMmgtMTZ2MzJoLTE2MHYtMzJoLTE2djMyaC04MHYtNjRoMzUyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jYWxlbmRhciIgdW5pY29kZT0iJiN4ZjNmNDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTAgMHYyNTZoMzg0di0yNTZoLTM4NHpNMzg0IDM1MnYtODBoLTM4NHY4MGg5NnYtNDhoMTZ2NDhoMTYwdi00OGgxNnY0OGg5NnpNOTYgMzUydjMyaDE2di0zMmgtMTZ6TTI3MiAzNTJ2MzJoMTZ2LTMyaC0xNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY2FtZXJhLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzZjU7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNTQgMjg4YzE4IDAgMzAgLTEzIDMwIC0zMXYtMTc2YzAgLTE4IC0xMiAtMzMgLTMwIC0zM2gtMzIwYy0xOCAwIC0zNCAxNSAtMzQgMzN2MTc2YzAgMTggMTYgMzEgMzQgMzFoMTN2MTZoMzR2LTE2aDEzYzMyIDM2IDQzIDQ4IDU1IDQ4aDg4YzEyIDAgMjMgLTEyIDU1IC00OGg2MnpNMzY4IDgxdjE3NmMwIDkgLTUgMTUgLTE0IDE1aC02MmgtN2wtNSAzYy0zIDQgLTcgOCAtMTAgMTFjLTEyIDEzIC0yMCAyNCAtMjYgMzAKK2MtNSA1IC03IDQgLTcgNGgtODhzLTIgMCAtNyAtNGMtNiAtNSAtMTQgLTE0IC0yNSAtMjdjLTMgLTQgLTcgLTEwIC0xMSAtMTRsLTUgLTNoLTdoLTYwYy05IDAgLTE4IC03IC0xOCAtMTV2LTE3NmMwIC05IDkgLTE3IDE4IC0xN2gzMjBjOCAwIDE0IDggMTQgMTd6TTE5MiAyNThjNDcgMCA4NiAtMzggODYgLTg1cy0zOSAtODUgLTg2IC04NXMtODYgMzggLTg2IDg1czM5IDg1IDg2IDg1ek0xOTIgMTA0YzM4IDAgNzAgMzEgNzAgNjkKK3MtMzIgNjkgLTcwIDY5cy03MCAtMzEgLTcwIC02OXMzMiAtNjkgNzAgLTY5ek0yODggMjM5djE3aDE3di0xN2gtMTd6TTE2MCAxNzNjMCAyMSAxMSAzMiAzMiAzMnMzMiAtMTEgMzIgLTMycy0xMSAtMzIgLTMyIC0zMnMtMzIgMTEgLTMyIDMyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jYW1lcmEiIHVuaWNvZGU9IiYjeGYzZjY7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNTQgMjg4YzE4IDAgMzAgLTEzIDMwIC0zMXYtMTc2YzAgLTE4IC0xMiAtMzMgLTMwIC0zM2gtMzIwYy0xOCAwIC0zNCAxNSAtMzQgMzN2MTc2YzAgMTggMTYgMzEgMzQgMzFoMTN2MTZoMzR2LTE2aDEzYzMyIDM2IDQzIDQ4IDU1IDQ4aDg4YzEyIDAgMjMgLTEyIDU1IC00OGg2MnpNMTkyIDg4YzQ3IDAgODYgMzggODYgODVzLTM5IDg1IC04NiA4NXMtODYgLTM4IC04NiAtODVzMzkgLTg1IDg2IC04NXpNMzA1IDIzOXYxN2gtMTd2LTE3aDE3Cit6TTE5MiAyNDJjMzggMCA3MCAtMzEgNzAgLTY5cy0zMiAtNjkgLTcwIC02OXMtNzAgMzEgLTcwIDY5czMyIDY5IDcwIDY5ek0xOTIgMTQxYzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY2FydC1vdXRsaW5lIiB1bmljb2RlPSImI3hmM2Y3OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNOTYgNDhjMTMgMCAyNCAtMTEgMjQgLTI0cy0xMSAtMjQgLTI0IC0yNHMtMjQgMTEgLTI0IDI0czExIDI0IDI0IDI0ek05NiAxNmM0IDAgOCA0IDggOHMtNCA4IC04IDhzLTggLTQgLTggLThzNCAtOCA4IC04ek0zMjAgNDhjMTMgMCAyNCAtMTEgMjQgLTI0cy0xMSAtMjQgLTI0IC0yNHMtMjQgMTEgLTI0IDI0czExIDI0IDI0IDI0ek0zMjAgMTZjNCAwIDggNCA4IDhzLTQgOCAtOCA4cy04IC00IC04IC04czQgLTggOCAtOHpNMzg0IDMyMAorbC0xNiAtMTI4bC0yNzEgLTQ4bDUgLTMwYzcgLTM0IDIxIC0zNCAyNiAtMzRoMjQwdi0xNmgtMjQwYy0xMSAwIC0yMSA1IC0yOCAxNGMtNiA4IC0xMSAxOSAtMTMgMzNsLTQzIDIzNHYwYy0yIDggLTMgMTIgLTcgMTZjLTYgNSAtMTggNyAtMzcgN3YxNmMyMyAwIDM4IC00IDQ3IC0xMWM3IC02IDEwIC0xNCAxMiAtMjF6TTM1NSAyMDZsMTEgOTlsLTMwNCAzMWwzMiAtMTc2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jYXJ0IiB1bmljb2RlPSImI3hmM2Y4OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNOTYgNDhjMTMgMCAyNCAtMTEgMjQgLTI0cy0xMSAtMjQgLTI0IC0yNHMtMjQgMTEgLTI0IDI0czExIDI0IDI0IDI0ek0zMjAgNDhjMTMgMCAyNCAtMTEgMjQgLTI0cy0xMSAtMjQgLTI0IC0yNHMtMjQgMTEgLTI0IDI0czExIDI0IDI0IDI0ek0zODQgMzIwbC0xNiAtMTI4bC0yNzEgLTQ4bDUgLTMwYzcgLTM0IDIxIC0zNCAyNiAtMzRoMjQwdi0xNmgtMjQwYy0xMSAwIC0yMSA1IC0yOCAxNGMtNiA4IC0xMSAxOSAtMTMgMzNsLTQzIDIzNHYwCitjLTIgOCAtMyAxMiAtNyAxNmMtNiA1IC0xOCA3IC0zNyA3djE2YzIzIDAgMzggLTQgNDcgLTExYzcgLTYgMTAgLTE0IDEyIC0yMXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY2hhdGJveGVzLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzZjk7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0xNiAzODR2LTE5Mmg5NnYtMTZoLTExMnYyMjRoMjg4di0xMTJoLTE2djk2aC0yNTZ6TTEyOCAyNzJoMjg4di0yMjRoLTQ4di02NGgtMTNsLTY0IDY0aC0xNjN2MjI0ek00MDAgNjR2MTkyaC0yNTZ2LTE5MmgxNTNsNTUgLTU1djU1aDQ4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jaGF0Ym94ZXMiIHVuaWNvZGU9IiYjeGYzZmE7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yODggNDAwdi0xMTJoLTE3NnYtMTEyaC0xMTJ2MjI0aDI4OHpNMTI4IDI3MmgyODh2LTIyNGgtNDh2LTY0aC0xM2wtNjQgNjRoLTE2M3YyMjR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNoYXRidWJibGUtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjNmYjsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTE5MiAzMzZjLTk3IDAgLTE3NiAtNjIgLTE3NiAtMTM4YzAgLTI2IDEwIC01MSAyNyAtNzNjMCAtMSAwIC0yIDEgLTNzMiAtMSAyIC0yYzQgLTYgNiAtMTMgNiAtMjBjMCAtMyAxIC0zIC0xMyAtNDdsMzkgMTd2MGMyIDEgMTAgNCAxMSA0aDF2MGM1IDIgMTAgMyAxNiAzYzUgMCA5IC0xIDE0IC0ybDEgLTFoMmMxOSAtNiA0MSAtMTAgNzAgLTEwYzQ4IDAgOTIgMTUgMTI1IDQwYzMyIDI1IDUwIDU4IDUwIDk0CitjMCA3NiAtNzkgMTM4IC0xNzYgMTM4ek0xOTIgMzUydjBjMTA2IDAgMTkyIC02OSAxOTIgLTE1NHMtODUgLTE1MCAtMTkxIC0xNTBjLTI3IDAgLTUyIDMgLTc1IDExaC0ydjBjLTMgMSAtNiAyIC0xMCAycy05IC0xIC0xMiAtMmgxaC0xYy0xIDAgLTkgLTQgLTEwIC00bC01MCAtMjJsLTIgLTFoLTNoLTNjLTYgMSAtOCA2IC03IDEwdjBzMTcgNTcgMTcgNThjMCA0IC0xIDggLTMgMTF2MHYwdjBsMSAtMWwtNCA0Yy0xOSAyNCAtMzAgNTMgLTMwIDg0CitjMCA4NSA4NiAxNTQgMTkyIDE1NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY2hhdGJ1YmJsZSIgdW5pY29kZT0iJiN4ZjNmYzsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTE5MiAzNTJ2MGMxMDYgMCAxOTIgLTY5IDE5MiAtMTU0cy04NSAtMTUwIC0xOTEgLTE1MGMtMjcgMCAtNTIgMyAtNzUgMTFoLTJ2MGMtMyAxIC02IDIgLTEwIDJzLTkgLTEgLTEyIC0yaDFoLTFjLTEgMCAtOSAtNCAtMTAgLTRsLTUwIC0yMmwtMiAtMWgtM2gtM2MtNiAxIC04IDYgLTcgMTB2MHMxNyA1NyAxNyA1OGMwIDQgLTEgOCAtMyAxMXYwdjB2MGwxIC0xbC00IDRjLTE5IDI0IC0zMCA1MyAtMzAgODRjMCA4NSA4NiAxNTQgMTkyIDE1NHoKKyIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jaGVja21hcmstZW1wdHkiIHVuaWNvZGU9IiYjeGYzZmQ7IiBob3Jpei1hZHYteD0iMjA3IiAKK2Q9Ik03NCAxMThjLTIgLTIgLTYgLTQgLTkgLTRzLTcgMiAtOSA0bC01NiA1NmwxOCAxOGw0NyAtNDdsMTI1IDEyNmwxNyAtMTh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNoZWNrbWFyay1vdXRsaW5lIiB1bmljb2RlPSImI3hmM2ZlOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjkyIDI3MWwxOCAtMThsLTEzNCAtMTM1Yy0yIC0yIC02IC00IC05IC00cy03IDIgLTkgNGwtNTYgNTZsMTggMThsNDcgLTQ3ek0yMDggNDAwYzExNSAwIDIwOCAtOTMgMjA4IC0yMDhzLTkzIC0yMDggLTIwOCAtMjA4cy0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDh6TTIwOCAxYzEwNSAwIDE5MSA4NiAxOTEgMTkxcy04NiAxOTEgLTE5MSAxOTFzLTE5MSAtODYgLTE5MSAtMTkxczg2IC0xOTEgMTkxIC0xOTF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNoZWNrbWFyayIgdW5pY29kZT0iJiN4ZjNmZjsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCA0MDBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHpNMTc2IDExOGwxMzQgMTM1bC0xOCAxOGwtMTI1IC0xMjZsLTQ3IDQ3bC0xOCAtMThsNTYgLTU2YzIgLTIgNiAtNCA5IC00czcgMiA5IDR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNpcmNsZS1maWxsZWQiIHVuaWNvZGU9IiYjeGY0MDA7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggNDAwYzExNSAwIDIwOCAtOTMgMjA4IC0yMDhzLTkzIC0yMDggLTIwOCAtMjA4cy0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDh6TTIwOCAxYzEwNSAwIDE5MSA4NiAxOTEgMTkxcy04NiAxOTEgLTE5MSAxOTFzLTE5MSAtODYgLTE5MSAtMTkxczg2IC0xOTEgMTkxIC0xOTF6TTIwOCAzNTJjODggMCAxNjAgLTcyIDE2MCAtMTYwcy03MiAtMTYwIC0xNjAgLTE2MHMtMTYwIDcyIC0xNjAgMTYwczcyIDE2MCAxNjAgMTYweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jaXJjbGUtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQwMTsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCA0MDBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHpNMjA4IDFjMTA1IDAgMTkxIDg2IDE5MSAxOTFzLTg2IDE5MSAtMTkxIDE5MXMtMTkxIC04NiAtMTkxIC0xOTFzODYgLTE5MSAxOTEgLTE5MXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY2xvY2stb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQwMjsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCA0MDBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHpNMjA4IDFjMTA1IDAgMTkxIDg2IDE5MSAxOTFzLTg2IDE5MSAtMTkxIDE5MXMtMTkxIC04NiAtMTkxIC0xOTFzODYgLTE5MSAxOTEgLTE5MXpNMjA4IDE5MnYxMjhoMTd2LTE0NWgtMTEzdjE3aDk2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jbG9jayIgdW5pY29kZT0iJiN4ZjQwMzsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCA0MDBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHpNMjI1IDE3NXYxNDVoLTE3di0xMjhoLTk2di0xN2gxMTN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNsb3NlLWVtcHR5IiB1bmljb2RlPSImI3hmNDA0OyIgaG9yaXotYWR2LXg9IjE5MiIgCitkPSJNMTgwIDI4OGwxMiAtMTJsLTg0IC04NGw4NCAtODRsLTEyIC0xMmwtODQgODRsLTg0IC04NGwtMTIgMTJsODQgODRsLTg0IDg0bDEyIDEybDg0IC04NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY2xvc2Utb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQwNTsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTM1NSAzMzljODEgLTgxIDgxIC0yMTMgMCAtMjk0cy0yMTMgLTgxIC0yOTQgMHMtODEgMjEzIDAgMjk0czIxMyA4MSAyOTQgMHpNMzQzIDU3Yzc0IDc0IDc0IDE5NiAwIDI3MHMtMTk2IDc0IC0yNzAgMHMtNzQgLTE5NiAwIC0yNzBzMTk2IC03NCAyNzAgMHpNMjkyIDI4OGwxMiAtMTJsLTg0IC04NGw4NCAtODRsLTEyIC0xMmwtODQgODRsLTg0IC04NGwtMTIgMTJsODQgODRsLTg0IDg0bDEyIDEybDg0IC04NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY2xvc2UiIHVuaWNvZGU9IiYjeGY0MDY7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0zNTUgMzM5YzgxIC04MSA4MSAtMjEzIDAgLTI5NHMtMjEzIC04MSAtMjk0IDBzLTgxIDIxMyAwIDI5NHMyMTMgODEgMjk0IDB6TTMwNCAxMDhsLTg0IDg0bDg0IDg0bC0xMiAxMmwtODQgLTg0bC04NCA4NGwtMTIgLTEybDg0IC04NGwtODQgLTg0bDEyIC0xMmw4NCA4NGw4NCAtODR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNsb3VkLWRvd25sb2FkLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0MDc7IiAKK2Q9Ik0xNjEgNjdsNTUgLTU0djI0MmgxNnYtMjQybDU1IDU0bDEyIC0xMmwtNzUgLTczbC03NCA3M3pNMzY3IDI4NGM0NSAwIDgxIC0zNyA4MSAtODJzLTM3IC04MiAtODIgLTgydjBoLTEwMXYxNmg5N2g0YzM3IDAgNjYgMzAgNjYgNjZzLTI5IDY3IC02NiA2N2gtMTV2MjBjMCA1NSAtNDYgOTcgLTEwMSA5N2MtMzggMCAtNzMgLTIyIC05MCAtNTZsLTYgLTE0bC0xNCA3Yy02IDMgLTEzIDUgLTIwIDVjLTIyIDAgLTQwIC0xOCAtNDQgLTM5bC0xIC05CitsLTkgLTNjLTMwIC0xMCAtNTAgLTM2IC01MCAtNjdjMCAtNDAgMzMgLTc0IDc0IC03NGg5MXYtMTZoLTkxYy01MCAwIC05MCA0MCAtOTAgODljMCAzOSAyNiA3MSA2MSA4M2M1IDI4IDI5IDUxIDU5IDUxYzEwIDAgMTggLTIgMjYgLTZjMTkgMzkgNTkgNjUgMTA1IDY1YzY0IDAgMTE3IC01MSAxMTcgLTExNWMwIC0xIC0xIC0yIC0xIC0zeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jbG91ZC1kb3dubG9hZCIgdW5pY29kZT0iJiN4ZjQwODsiIAorZD0iTTIxNiAxM3YxMDdoMTZ2LTEwN2w1NSA1NGwxMiAtMTJsLTc1IC03M2wtNzQgNzNsMTEgMTJ6TTM2NyAyODRjNDUgMCA4MSAtMzcgODEgLTgycy0zNyAtODIgLTgyIC04MmgtMTM0djEzNWgtMTZ2LTEzNWgtMzVoLTIxaC03MGMtNTAgMCAtOTAgNDAgLTkwIDg5YzAgMzkgMjYgNzEgNjEgODNjNSAyOCAyOSA1MSA1OSA1MWMxMCAwIDE4IC0yIDI2IC02YzE5IDM5IDU5IDY1IDEwNSA2NWM2NCAwIDExNyAtNTEgMTE3IC0xMTUKK2MwIC0xIC0xIC0yIC0xIC0zeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jbG91ZC1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDA5OyIgCitkPSJNMzY3IDIxNWM0NSAwIDgxIC0zNyA4MSAtODNjMCAtNDUgLTM3IC04NCAtODIgLTg0aC0yNzZjLTUwIDAgLTkwIDQyIC05MCA5MmMwIDQwIDI2IDcxIDYxIDgzYzUgMjggMjkgNTIgNTkgNTJjMTAgMCAxOCAtMiAyNiAtNmMxOSAzOSA1OSA2NyAxMDUgNjdjNjQgMCAxMTcgLTUzIDExNyAtMTE3YzAgLTEgLTEgLTMgLTEgLTR6TTM2NiA2NGMzNyAwIDY2IDMyIDY2IDY5cy0yOSA2NyAtNjYgNjdoLTE1djIxYzAgNTYgLTQ2IDk5IC0xMDEgOTkKK2MtMzggMCAtNzMgLTIzIC05MCAtNThsLTYgLTE0bC0xNCA3Yy02IDMgLTEzIDUgLTIwIDVjLTIyIDAgLTQwIC0xNyAtNDQgLTM5bC0xIC05bC05IC0zYy0zMCAtMTAgLTUwIC0zNyAtNTAgLTY5YzAgLTQxIDMzIC03NiA3NCAtNzZoMjcyaDR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNsb3VkLXVwbG9hZC1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDBhOyIgCitkPSJNMTYxIDE4OGwtMTEgMTFsNzQgNzVsNzUgLTc1bC0xMiAtMTFsLTU1IDU0di0yNDJoLTE2djI0MnpNMzY3IDI2NGM0NSAwIDgxIC0zOSA4MSAtODVzLTM3IC04MyAtODIgLTgzdjBoLTEwMXYxNmg5N2g0YzM3IDAgNjYgMzAgNjYgNjdzLTI5IDcwIC02NiA3MGwtMTUgMXYyMGMwIDU2IC00NiA5OSAtMTAxIDk5Yy0zOCAwIC03MyAtMjMgLTkwIC01OGwtNiAtMTNsLTE0IDZjLTYgMyAtMTMgNSAtMjAgNWMtMjIgMCAtNDAgLTE3IC00NCAtMzkKK2wtMSAtOWwtOSAtM2MtMzAgLTEwIC01MCAtMzkgLTUwIC03MWMwIC00MSAzMyAtNzUgNzQgLTc1aDkxdi0xNmgtOTFjLTUwIDAgLTkwIDQwIC05MCA5MGMwIDQwIDI2IDc0IDYxIDg2YzUgMjggMjkgNTIgNTkgNTJjMTAgMCAxOCAtMiAyNiAtNmMxOSAzOSA1OSA2NiAxMDUgNjZjNjQgMCAxMTcgLTUyIDExNyAtMTE2YzAgLTEgLTEgLTMgLTEgLTR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNsb3VkLXVwbG9hZCIgdW5pY29kZT0iJiN4ZjQwYjsiIAorZD0iTTIxNiAwdjk2aDE2di05NmgtMTZ6TTM2NyAyNjRjNDUgMCA4MSAtMzkgODEgLTg1cy0zNyAtODMgLTgyIC04M2gtMTM0djE0Nmw1NSAtNTRsMTIgMTFsLTc1IDc1bC03NCAtNzVsMTEgLTExbDU1IDU0di0xNDZoLTM1aC0zMWgtNjBjLTUwIDAgLTkwIDQwIC05MCA5MGMwIDQwIDI2IDc0IDYxIDg2YzUgMjggMjkgNTIgNTkgNTJjMTAgMCAxOCAtMiAyNiAtNmMxOSAzOSA1OSA2NiAxMDUgNjZjNjQgMCAxMTcgLTUyIDExNyAtMTE2CitjMCAtMSAtMSAtMyAtMSAtNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY2xvdWQiIHVuaWNvZGU9IiYjeGY0MGM7IiAKK2Q9Ik0zNjcgMjE1YzQ1IDAgODEgLTM3IDgxIC04M2MwIC00NSAtMzcgLTg0IC04MiAtODRoLTI3NmMtNTAgMCAtOTAgNDIgLTkwIDkyYzAgNDAgMjYgNzEgNjEgODNjNSAyOCAyOSA1MiA1OSA1MmMxMCAwIDE4IC0yIDI2IC02YzE5IDM5IDU5IDY3IDEwNSA2N2M2NCAwIDExNyAtNTMgMTE3IC0xMTdjMCAtMSAtMSAtMyAtMSAtNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY2xvdWR5LW5pZ2h0LW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0MGQ7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xMjUgMjI0Yy0zNCAwIC02MyAtMjggLTYzIC02MnYtMTJzMSAtMTAgMSAtMTBjLTUgMCAtMTIgLTEgLTE0IC0xYy0xOSAtMyAtMzMgLTE4IC0zMyAtMzdjMCAtMTAgMyAtMTkgMTAgLTI2czE2IC0xMSAyNiAtMTFoMTU3YzI3IDAgNDkgMjIgNDkgNDlzLTIyIDUwIC00OSA1MGMtMiAwIC00IC0xIC02IC0xbC0xNCAtMmwtMyAxNGMtMyAxNCAtMTEgMjYgLTIyIDM1cy0yNSAxNCAtMzkgMTR6TTEyNSAyNDB2MGMzNyAwIDY4IC0yNiA3NiAtNjEKK2g4YzM2IDAgNjUgLTI5IDY1IC02NXMtMjkgLTY2IC02NSAtNjZoLTE1N2MtMjggMCAtNTIgMjQgLTUyIDUzYzAgMjcgMjEgNTEgNDcgNTN2OGMwIDQzIDM1IDc4IDc4IDc4ek0zNjEgMTQyYzggMCAxNSAyIDIzIDRjLTQgLTcgLTkgLTE0IC0xNCAtMjBjLTIxIC0yNCAtNTAgLTQxIC04NCAtNDVjNCA2IDYgMTIgOCAxOWMxOSA0IDM2IDEzIDUwIDI1Yy0xOCAxIC0zNSA2IC01MCAxM2MtMjMgMTEgLTQyIDI5IC01NiA1MQorYy0xNCAyMSAtMjIgNDggLTIyIDc1YzAgMTUgMiAzMCA3IDQ0Yy0yNCAtMTIgLTQzIC0zMyAtNTMgLTU5Yy01IDIgLTEyIDQgLTE4IDVjMTQgMzYgNDUgNjUgODIgNzdjOCAyIDE2IDQgMjQgNWMtNSAtNiAtOSAtMTMgLTEyIC0yMGMtOCAtMTYgLTEyIC0zNCAtMTIgLTUyYzAgLTMyIDEyIC02MyAzNSAtODZzNTQgLTM2IDg2IC0zNmg2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jbG91ZHktbmlnaHQiIHVuaWNvZGU9IiYjeGY0MGU7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNjEgMTQyYzggMCAxNSAyIDIzIDRjLTQgLTcgLTkgLTE1IC0xNCAtMjFjLTIxIC0yNCAtNTAgLTQwIC04NCAtNDRoLTNjNCAxMCA3IDIxIDcgMzJjMCAyMiAtOSA0MyAtMjQgNThjLTE0IDE1IC0zMyAyMyAtNTMgMjRjLTYgMTYgLTE2IDI5IC0yOSA0MGMtMTAgOCAtMjAgMTMgLTMyIDE3djJjMTQgMzYgNDUgNjUgODIgNzdjOCAyIDE2IDQgMjQgNWMtNSAtNiAtOSAtMTMgLTEyIC0yMGMtOCAtMTYgLTEyIC0zNCAtMTIgLTUyCitjMCAtMzIgMTIgLTYzIDM1IC04NnM1NCAtMzYgODYgLTM2aDZ6TTEyNSAyMzl2MGMzNyAwIDY4IC0yNiA3NiAtNjFoOGMzNiAwIDY1IC0yOSA2NSAtNjVzLTI5IC02NiAtNjUgLTY2aC0xNTdjLTI4IDAgLTUyIDI0IC01MiA1M2MwIDI3IDIxIDUxIDQ3IDUzdjdjMCA0MyAzNSA3OSA3OCA3OXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY2xvdWR5LW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0MGY7IiBob3Jpei1hZHYteD0iMjc0IiAKK2Q9Ik0xMjUgMjcyYy0zNCAwIC02MyAtMjggLTYzIC02MnYtMTJzMSAtMTAgMSAtMTBjLTYgMCAtMTIgLTEgLTE0IC0xYy0xOSAtMyAtMzMgLTE4IC0zMyAtMzdjMCAtMTAgMyAtMTkgMTAgLTI2czE2IC0xMSAyNiAtMTFoMTU3YzI3IDAgNDkgMjIgNDkgNDlzLTIyIDUwIC00OSA1MGMtMiAwIC00IC0xIC02IC0xbC0xNCAtMmwtMyAxNGMtMyAxNCAtMTEgMjYgLTIyIDM1cy0yNSAxNCAtMzkgMTR6TTEyNSAyODh2MGMzNyAwIDY4IC0yNiA3NiAtNjEKK2g4YzM2IDAgNjUgLTI5IDY1IC02NXMtMjkgLTY2IC02NSAtNjZoLTE1N2MtMjggMCAtNTIgMjQgLTUyIDUzYzAgMjcgMjEgNTEgNDcgNTN2OGMwIDQzIDM1IDc4IDc4IDc4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jbG91ZHkiIHVuaWNvZGU9IiYjeGY0MTA7IiBob3Jpei1hZHYteD0iMjc0IiAKK2Q9Ik0xMjUgMjg4djBjMzcgMCA2OCAtMjYgNzYgLTYxaDhjMzYgMCA2NSAtMjkgNjUgLTY1cy0yOSAtNjYgLTY1IC02NmgtMTU3Yy0yOCAwIC01MiAyNCAtNTIgNTNjMCAyNyAyMSA1MSA0NyA1M3Y4YzAgNDMgMzUgNzggNzggNzh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNvZy1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDExOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzg0IDE3NWwtMzMgLThsLTMgLTE0bDI3IC0yMGwtMTIgLTMwbC0zNCA1bC04IC0xMWwxNyAtMjlsLTIzIC0yM2wtMjkgMTdsLTEwIC03bDUgLTM0bC0yOSAtMTJsLTIxIDI3bC0xNCAtM2wtOCAtMzNoLTMybC05IDMzbC0xMyAzbC0yMSAtMjhsLTI5IDEybDQgMzRsLTExIDhsLTMwIC0xOWwtMjMgMjNsMTggMzFsLTcgMTFsLTM1IC01bC0xMiAyOWwyOCAyMmwtMiAxMmwtMzUgOXYzMmwzNSA5bDIgMTJsLTI5IDIybDEyIDMwbDM2IC01CitsNyAxMGwtMTkgMzJsMjIgMjJsMzIgLTE5bDExIDhsLTQgMzVsMjkgMTNsMjIgLTI5bDEyIDJsOSAzNWgzMmw5IC0zNWwxMiAtMmwyMiAyOGwyOSAtMTJsLTUgLTM1bDExIC04bDMwIDE4bDIyIC0yM2wtMTcgLTMwbDcgLTEwbDM1IDVsMTIgLTMwbC0yOCAtMjFsMyAtMTNsMzMgLTl2LTMyek0zNTYgMTI3bC0yNiAyMGw2IDMzbDMyIDh2N2wtMzIgOGwtNiAzM2wyNiAxOWwtMyA3bC0zMiAtNWwtMTkgMjdsMTcgMjhsLTUgNmwtMjggLTE3bC0yOCAxOAorbDUgMzRsLTYgMmwtMjAgLTI2bC0zMiA2bC04IDMzaC03bC05IC0zM2wtMzIgLTZsLTIwIDI3bC03IC0zbDUgLTM0bC0yOCAtMThsLTkgNmwtMjEgMTJsLTUgLTVsMTggLTMwbC0xOCAtMjdsLTMzIDVsLTMgLTdsMjcgLTIwbC02IC0zMmwtMzMgLTh2LTdsMzMgLTlsNiAtMzJsLTI3IC0yMGwzIC02bDMzIDRsMTggLTI3bC0xNyAtMjlsNSAtNmwyOSAxOGwyOCAtMThsLTUgLTMzbDcgLTNsMTkgMjdsMzMgLTdsOCAtMzFoOGw3IDMxbDMzIDcKK2wyMCAtMjZsNyAzbC01IDMybDI2IDE4bDI4IC0xNmw1IDVsLTE2IDI3bDE5IDI4bDMyIC00ek0xOTIgMzIwYzcxIDAgMTI4IC01NyAxMjggLTEyOHMtNTcgLTEyOCAtMTI4IC0xMjhzLTEyOCA1NyAtMTI4IDEyOHM1NyAxMjggMTI4IDEyOHpNODAgMTkyYzAgLTcgMSAtMTUgMiAtMjJsMTA0IDI4bDI4IDEwNGMtNyAxIC0xNSAyIC0yMiAyYy0zMCAwIC01OCAtMTIgLTc5IC0zM3MtMzMgLTQ5IC0zMyAtNzl6TTE5MiA4MGMyNyAwIDUzIDEwIDczIDI3CitsLTc1IDc1bC0xMDQgLTI4YzYgLTE1IDE1IC0yOSAyNyAtNDFjMjEgLTIxIDQ5IC0zMyA3OSAtMzN6TTI3NiAxMThjMTggMjAgMjggNDcgMjggNzRjMCAzMCAtMTIgNTggLTMzIDc5Yy0xMiAxMiAtMjYgMjIgLTQyIDI3bC0yOCAtMTA1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jb2ciIHVuaWNvZGU9IiYjeGY0MTI7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0yMjkgMjk4YzE2IC01IDMwIC0xNSA0MiAtMjdjMjEgLTIxIDMzIC00OSAzMyAtNzljMCAtMjcgLTEwIC01NCAtMjggLTc0bC03NSA3NXpNMjE0IDMwMmwtMjggLTEwNGwtMTA0IC0yOGMtMSA3IC0yIDE1IC0yIDIyYzAgMzAgMTIgNTggMzMgNzlzNDkgMzMgNzkgMzNjNyAwIDE1IC0xIDIyIC0yek04NiAxNTRsMTA0IDI4bDc1IC03NWMtMjAgLTE3IC00NiAtMjcgLTczIC0yN2MtMzAgMCAtNTggMTIgLTc5IDMzCitjLTEyIDEyIC0yMSAyNiAtMjcgNDF6TTM4NCAxNzVsLTMzIC04bC0zIC0xNGwyNyAtMjBsLTEyIC0zMGwtMzQgNWwtOCAtMTFsMTcgLTI5bC0yMyAtMjNsLTI5IDE3bC0xMCAtN2w1IC0zNGwtMjkgLTEybC0yMSAyN2wtMTQgLTNsLTggLTMzaC0zMmwtOSAzM2wtMTMgM2wtMjEgLTI4bC0yOSAxMmw0IDM0bC0xMSA4bC0zMCAtMTlsLTIzIDIzbDE4IDMxbC03IDExbC0zNSAtNWwtMTIgMjlsMjggMjJsLTIgMTJsLTM1IDl2MzJsMzUgOWwyIDEyCitsLTI5IDIybDEyIDMwbDM2IC01bDcgMTBsLTE5IDMybDIyIDIybDMyIC0xOWwxMSA4bC00IDM1bDI5IDEzbDIyIC0yOWwxMiAybDkgMzVoMzJsOSAtMzVsMTIgLTJsMjIgMjhsMjkgLTEybC01IC0zNWwxMSAtOGwzMCAxOGwyMiAtMjNsLTE3IC0zMGw3IC0xMGwzNSA1bDEyIC0zMGwtMjggLTIxbDMgLTEzbDMzIC05di0zMnpNMTkyIDY0YzcxIDAgMTI4IDU3IDEyOCAxMjhzLTU3IDEyOCAtMTI4IDEyOHMtMTI4IC01NyAtMTI4IC0xMjgKK3M1NyAtMTI4IDEyOCAtMTI4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jb2xvci1maWx0ZXItb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQxMzsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTMwMiAyMzZjNDcgLTEzIDgyIC01NyA4MiAtMTA4YzAgLTYyIC01MCAtMTEyIC0xMTIgLTExMmMtMzEgMCAtNjAgMTMgLTgwIDM0Yy0yMCAtMjEgLTQ5IC0zNCAtODAgLTM0Yy02MiAwIC0xMTIgNTAgLTExMiAxMTJjMCA1MSAzNSA5NSA4MiAxMDhjLTEgNyAtMiAxMyAtMiAyMGMwIDYyIDUwIDExMiAxMTIgMTEyczExMiAtNTAgMTEyIC0xMTJjMCAtNyAtMSAtMTMgLTIgLTIwek05NiAyNTZjMCAtNiAwIC0xMiAxIC0xNworYzUgMSAxMCAxIDE1IDFjMzEgMCA2MCAtMTMgODAgLTM0YzIwIDIxIDQ5IDM0IDgwIDM0YzUgMCAxMCAwIDE1IC0xYzEgNSAxIDExIDEgMTdjMCA1MyAtNDMgOTYgLTk2IDk2cy05NiAtNDMgLTk2IC05NnpNMjA4IDEyOGMwIDYgMCAxMiAtMSAxN2MtNSAtMSAtMTAgLTEgLTE1IC0xcy0xMCAwIC0xNSAxYy0xIC01IC0xIC0xMSAtMSAtMTdjMCAtMjAgNiAtMzggMTYgLTUzYzEwIDE1IDE2IDMzIDE2IDUzek0xOTIgMTYwYzMgMCA3IDEgMTAgMQorYy0zIDcgLTYgMTQgLTEwIDIwYy00IC02IC03IC0xMyAtMTAgLTIwYzMgMCA3IC0xIDEwIC0xek0xNjYgMTY0YzQgMTEgOSAyMSAxNiAzMGMtMTggMTggLTQzIDMwIC03MCAzMGMtMyAwIC03IC0xIC0xMCAtMWMxMCAtMjkgMzQgLTUxIDY0IC01OXpNMjAyIDE5NGM3IC05IDEyIC0xOSAxNiAtMzBjMzAgOCA1NCAzMCA2NCA1OWMtMyAwIC03IDEgLTEwIDFjLTI3IDAgLTUyIC0xMiAtNzAgLTMwek0xMTIgMzJjMjcgMCA1MiAxMiA3MCAzMAorYy0xNCAxOSAtMjIgNDEgLTIyIDY2YzAgNyAxIDEzIDIgMjBjLTM2IDEwIC02NCAzNyAtNzYgNzJjLTQwIC0xMSAtNzAgLTQ4IC03MCAtOTJjMCAtNTMgNDMgLTk2IDk2IC05NnpNMjcyIDMyYzUzIDAgOTYgNDMgOTYgOTZjMCA0NCAtMzAgODEgLTcwIDkyYy0xMiAtMzUgLTQwIC02MiAtNzYgLTcyYzEgLTcgMiAtMTMgMiAtMjBjMCAtMjUgLTggLTQ3IC0yMiAtNjZjMTggLTE4IDQzIC0zMCA3MCAtMzB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNvbG9yLWZpbHRlciIgdW5pY29kZT0iJiN4ZjQxNDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTMwMiAyMzZjNDcgLTEzIDgyIC01NyA4MiAtMTA4YzAgLTYyIC01MCAtMTEyIC0xMTIgLTExMmMtMzEgMCAtNjAgMTMgLTgwIDM0Yy0yMCAtMjEgLTQ5IC0zNCAtODAgLTM0Yy02MiAwIC0xMTIgNTAgLTExMiAxMTJjMCA1MSAzNSA5NSA4MiAxMDhjLTEgNyAtMiAxMyAtMiAyMGMwIDYyIDUwIDExMiAxMTIgMTEyczExMiAtNTAgMTEyIC0xMTJjMCAtNyAtMSAtMTMgLTIgLTIwek0xOTIgNTNsMSAtMmMzIDMgNiA3IDkgMTEKK2MxNCAxOSAyMiA0MSAyMiA2NmMwIDcgLTEgMTMgLTIgMjBjMzYgMTAgNjQgMzcgNzYgNzJjMiA1IDMgMTAgNCAxNWMtMSAwIC0yIDEgLTMgMXYxYy00IDEgLTggMSAtMTIgMmMtNSAxIC0xMCAxIC0xNSAxYy0zMSAwIC02MCAtMTMgLTgwIC0zNGMtMjAgMjEgLTQ5IDM0IC04MCAzNGMtNSAwIC0xMCAwIC0xNSAtMWMtNCAtMSAtOCAtMSAtMTIgLTJ2LTFjLTEgMCAtMiAtMSAtMyAtMWMxIC01IDIgLTEwIDQgLTE1YzEyIC0zNSA0MCAtNjIgNzYgLTcyCitjLTEgLTcgLTIgLTEzIC0yIC0yMGMwIC0yNSA4IC00NyAyMiAtNjZjMyAtNCA2IC04IDkgLTExek0yMDcgMTQ1YzEgLTUgMSAtMTEgMSAtMTdjMCAtMjAgLTYgLTM4IC0xNiAtNTNjLTEwIDE1IC0xNiAzMyAtMTYgNTNjMCA2IDAgMTIgMSAxN2M1IC0xIDEwIC0xIDE1IC0xczEwIDAgMTUgMXpNMjgyIDIyM2MtMTAgLTI5IC0zNCAtNTEgLTY0IC01OWMtNCAxMSAtOSAyMSAtMTYgMzBjMTggMTggNDMgMzAgNzAgMzBjMyAwIDcgLTEgMTAgLTF6CitNMjAyIDE2MWMtMyAwIC03IC0xIC0xMCAtMXMtNyAxIC0xMCAxYzMgNyA2IDE0IDEwIDIwYzQgLTYgNyAtMTMgMTAgLTIwek0xMTIgMjI0YzI3IDAgNTIgLTEyIDcwIC0zMGMtNyAtOSAtMTIgLTE5IC0xNiAtMzBjLTMwIDggLTU0IDMwIC02NCA1OWMzIDAgNyAxIDEwIDF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNvbG9yLXdhbmQtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQxNTsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTEyOCAyOThsMjU2IC0yNTZsLTM0IC0zNGwtMjU2IDI1NnpNMTQ5IDIzMmwyMDEgLTIwMWwxMSAxMWwtMjAxIDIwMnpNMTIwIDM0NHY0MGgxNnYtNDBoLTE2ek0xMjAgMTQwdjQwaDE2di00MGgtMTZ6TTIxNiAyNTZ2MTZoNDB2LTE2aC00MHpNMCAyNTZ2MTZoNDB2LTE2aC00MHpNNDcgMzU0bDI5IC0yOWwtMTIgLTExbC0yOCAyOHpNNzYgMTk4bC0yOSAtMjhsLTExIDExbDI4IDI4ek0yMjAgMzQybC0yOCAtMjhsLTEyIDExbDI5IDI5eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jb2xvci13YW5kIiB1bmljb2RlPSImI3hmNDE2OyIgaG9yaXotYWR2LXg9IjM5NiIgCitkPSJNMTQwIDI4OWwyNTYgLTI1N2wtMzQgLTM0bC0yNTYgMjU3ek0xMjQgMzIydjY0aDMydi02NGgtMzJ6TTEyNCAxMTh2NjRoMzJ2LTY0aC0zMnpNMjE2IDIzOHYzMmg2NHYtMzJoLTY0ek0yNDYgMzM2bC00NSAtNDVsLTIzIDIybDQ1IDQ2ek0zNCAzMzZsMjMgMjNsNDUgLTQ2bC0yMyAtMjJ6TTM0IDE2OWw0NSA0NWwyMyAtMjJsLTQ1IC00NnpNMCAyMzh2MzJoNjR2LTMyaC02NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY29tcG9zZS1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDE3OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzA0IDMydjIwOGwxNiAxNnYtMjQwaC0zMjB2MzA0aDI1NmwtMTYgLTE2aC0yMjR2LTI3MmgyODh6TTE3NCAxNjRsMTcxIDE3MWwxMSAtMTFsLTE4MCAtMTgwaC0zMnYzMmwxODAgMTgwbDExIC0xMWwtMTcxIC0xNzF6TTM4MCAzNjhjMiAtMyA0IC02IDQgLTEwcy0yIC03IC00IC0xMGwtMTIgLTEybC0yMSAyMWwtMTEgMTF2MGwxMiAxMmMzIDIgNiA0IDEwIDRzNyAtMiAxMCAtNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY29tcG9zZSIgdW5pY29kZT0iJiN4ZjQxODsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTE5MiAxMjhsMTI4IDEyOHYtMjQwaC0zMjB2MzA0aDI1NmwtMTI4IC0xMjh2LTY0aDY0ek0zMjQgMzU2bDMyIC0zMmwtMTgwIC0xODBoLTMydjMyek0zODAgMzY4YzIgLTMgNCAtNiA0IC0xMHMtMiAtNyAtNCAtMTBsLTEyIC0xMmwtMjEgMjFsLTExIDExdjBsMTIgMTJjMyAyIDYgNCAxMCA0czcgLTIgMTAgLTR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNvbnRhY3Qtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQxOTsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCA0MDBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHpNMjA4IDM4M2MtMTA1IDAgLTE5MSAtODYgLTE5MSAtMTkxYzAgLTQ3IDE3IC04OSA0NSAtMTIyYzE4IDggNjIgMjQgOTAgMzJjMiAxIDMgMCAzIDEwYzAgMTEgLTEgMTggLTQgMjRjLTQgOCAtNyAyMCAtOSAzMWMtNCA1IC0xMCAxNSAtMTQgMzNjLTMgMTYgLTEgMjIgMSAyOHYyCitjMSA0IDAgMjMgLTMgMzhjLTIgMTAgMSAzNCAxNSA1MmM5IDEyIDI3IDI2IDU4IDI4aDE4YzMyIC0yIDQ5IC0xNiA1OCAtMjhjMTQgLTE4IDE3IC00MiAxNSAtNTJjLTMgLTE1IC00IC0zNCAtMyAtMzhjMCAwIDEgLTEgMSAtMmMyIC02IDMgLTEyIDAgLTI4Yy00IC0xOCAtMTAgLTI3IC0xNCAtMzJjLTIgLTExIC01IC0yNCAtOSAtMzJjLTMgLTcgLTYgLTE1IC02IC0yM2MwIC0xMCAwIC0xMCAyIC0xMWMyNyAtOCA3MyAtMjQgOTMgLTMyCitjMjggMzMgNDUgNzYgNDUgMTIyYzAgMTA1IC04NiAxOTEgLTE5MSAxOTF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWNvbnRhY3QiIHVuaWNvZGU9IiYjeGY0MWE7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggNDAwYzExNSAwIDIwOCAtOTMgMjA4IC0yMDhzLTkzIC0yMDggLTIwOCAtMjA4cy0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDh6TTIwOCAxYzU5IDAgMTExIDI3IDE0NiA2OWMtMjAgOCAtNjYgMjQgLTkzIDMyYy0yIDEgLTMgMSAtMyAxMWMwIDggNCAxNiA3IDIzYzQgOCA3IDIxIDkgMzJjNCA1IDEwIDE0IDE0IDMyYzMgMTYgMiAyMiAwIDI4YzAgMCAtMSAxIC0xIDJjLTEgNCAwIDIzIDMgMzhjMiAxMCAtMSAzNCAtMTUgNTIKK2MtOSAxMiAtMjYgMjYgLTU4IDI4aC0xOGMtMzEgLTIgLTQ5IC0xNiAtNTggLTI4Yy0xNCAtMTggLTE3IC00MiAtMTUgLTUyYzMgLTE1IDQgLTM0IDMgLTM4di0yYy0yIC02IC00IC0xMiAtMSAtMjhjNCAtMTggMTAgLTI4IDE0IC0zM2MyIC0xMSA1IC0yMyA5IC0zMWMzIC02IDQgLTEzIDQgLTI0YzAgLTEwIC0xIC05IC0zIC0xMGMtMjggLTggLTcyIC0yNCAtOTAgLTMyYzM1IC00MiA4NyAtNjkgMTQ2IC02OXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY29weS1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDFiOyIgaG9yaXotYWR2LXg9IjI4OCIgCitkPSJNMTkyIDM1MnYtNjRoNjR2LTE2aC04MHY4MGgxNnpNMjEzIDM4NGw3NSAtNzV2LTI2MWgtNDh2LTQ4aC0yNDB2MzM2aDQ4djQ4aDE2NXpNMjI0IDE2djMyaC0xNzZ2MjcyaC0zMnYtMzA0aDIwOHpNMjcyIDY0djIzOGwtNjUgNjZoLTE0M3YtMzA0aDIwOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY29weSIgdW5pY29kZT0iJiN4ZjQxYzsiIGhvcml6LWFkdi14PSIyODgiIAorZD0iTTMyIDMyaDE2aDE5MnYtMzJoLTI0MHYzMzZoMzJ2LTI4OHYtMTZ6TTIxMyAzODRsNzUgLTc1di0yNjFoLTQ4aC0xOTJ2Mjg4djQ4aDE2NXpNMjU2IDI3MnYxNmgtNjR2NjRoLTE2di04MGg4MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtY3JvcC1zdHJvbmciIHVuaWNvZGU9IiYjeGY0MWQ7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik02NCAzMzZ2NDhoMzJ2LTQ4aC0zMnpNOTYgOTZoMTc2di0zMmgtMjA4djIwOGgzMnYtMTc2ek0zMzYgNjR2MzJoNDh2LTMyaC00OHpNMCAzMjBoMzIwdi0zMjBoLTMydjI4OGgtMjg4djMyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1jcm9wIiB1bmljb2RlPSImI3hmNDFlOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNNjQgMzM2djQ4aDE2di00OGgtMTZ6TTgwIDgwaDIwOHYtMTZoLTIyNHYyMjRoMTZ2LTIwOHpNMzM2IDY0djE2aDQ4di0xNmgtNDh6TTAgMzIwaDMyMHYtMzIwaC0xNnYzMDRoLTMwNHYxNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtZG93bmxvYWQtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQxZjsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTE5MiAzMDRoMTI4di0zMDRoLTMyMHYzMDRoMTI4di0xNmgtMTEydi0yNzJoMjg4djI3MmgtMTEydjE2ek05NyAxOTZsNTUgLTU1djI0M2gxNnYtMjQzbDU1IDU1bDExIC0xMmwtNzQgLTc0bC03NCA3NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtZG93bmxvYWQiIHVuaWNvZGU9IiYjeGY0MjA7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0xNjggMzA0aDE1MnYtMzA0aC0zMjB2MzA0aDE1MnYtMTYzbC01NSA1NWwtMTEgLTEybDc0IC03NGw3NCA3NGwtMTEgMTJsLTU1IC01NXYxNjN6TTE1MiAzMDR2ODBoMTZ2LTgwaC0xNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtZHJhZyIgdW5pY29kZT0iJiN4ZjQyMTsiIGhvcml6LWFkdi14PSIzNTIiIAorZD0iTTAgMTI4djE2aDM1MnYtMTZoLTM1MnpNMCAxODR2MTZoMzUydi0xNmgtMzUyek0wIDI0MHYxNmgzNTJ2LTE2aC0zNTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWVtYWlsLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0MjI7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0wIDMyMGgzODR2LTI1NmgtMzg0djI1NnpNMTkyIDE4MGwxNjMgMTI0aC0zMjZ6TTE2IDgwaDM1MnYyMTRsLTExNSAtODhsNjggLTc3bC0yIC0ybC03OSA3MGwtNDggLTM3bC00OCAzN2wtNzkgLTcwbC0yIDJsNjggNzdsLTExNSA4OHYtMjE0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1lbWFpbCIgdW5pY29kZT0iJiN4ZjQyMzsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM4NCA2NGgtMzg0djI0MmwxMzEgLTEwMGwtNjggLTc3bDIgLTJsNzkgNzBsNDggLTM3bDQ4IDM3bDc5IC03MGwyIDJsLTY4IDc3bDEzMSAxMDB2LTI0MnpNMzc2IDMyMGwtMTg0IC0xNDBsLTE4NCAxNDBoMzY4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1leWUtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQyNDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM4MyAxOTJsMSAtMWwtNiAtNmMtMjEgLTIxIC00NyAtNDggLTc4IC02OWMtMzYgLTI0IC03MiAtMzYgLTEwOCAtMzZjLTgzIDAgLTEzMCA0OSAtMTg1IDEwNWwtNyA3bDEgMWMzOSA0MCA2NyA2NCA5NCA4MWMzMiAyMCA2MyAzMCA5NyAzMGM4MyAwIDE0NiAtNjAgMTkxIC0xMTJ6TTE5MiAyODhjLTYyIDAgLTExMSAtMzYgLTE3MCAtOTZjMjQgLTI0IDQ4IC01MCA3NiAtNjhjMzAgLTIwIDYwIC0yOCA5NCAtMjgKK2M3NSAwIDEzMyA1NiAxNzEgOTVjLTI2IDI5IC01MCA1MCAtNzQgNjZjLTMyIDIxIC02NCAzMSAtOTcgMzF6TTE5MiAxMTJjLTQ0IDAgLTgwIDM2IC04MCA4MHMzNiA4MCA4MCA4MHM4MCAtMzYgODAgLTgwcy0zNiAtODAgLTgwIC04MHpNMTkyIDI1NmMtMzUgMCAtNjQgLTI5IC02NCAtNjRzMjkgLTY0IDY0IC02NHM2NCAyOSA2NCA2NHMtMjkgNjQgLTY0IDY0ek0yMjQgMTkyaDE2djBjMCAtMjYgLTIyIC00OCAtNDggLTQ4cy00OCAyMSAtNDggNDgKK3MyMiA0OCA0OCA0OHYtMTZjLTE2IDAgLTMyIC0xMyAtMzIgLTMxczE1IC0zMyAzMiAtMzNzMzIgMTQgMzIgMzJ2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtZXllIiB1bmljb2RlPSImI3hmNDI1OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzgzIDE5MmwxIC0xbC02IC02Yy0yMSAtMjEgLTQ3IC00OCAtNzggLTY5Yy0zNiAtMjQgLTcyIC0zNiAtMTA4IC0zNmMtODMgMCAtMTMwIDQ5IC0xODUgMTA1bC03IDdsMSAxYzM5IDQwIDY3IDY0IDk0IDgxYzMyIDIwIDYzIDMwIDk3IDMwYzgzIDAgMTQ2IC02MCAxOTEgLTExMnpNMTkyIDExMmM0NCAwIDgwIDM2IDgwIDgwcy0zNiA4MCAtODAgODBzLTgwIC0zNiAtODAgLTgwczM2IC04MCA4MCAtODB6TTE4NiAyMjEKK2MwIC0xOSAxNiAtMzUgMzUgLTM1YzcgMCAxNCAyIDE5IDZ2MGMwIC0yNyAtMjIgLTQ4IC00OCAtNDhzLTQ4IDIxIC00OCA0OHMyMiA0OCA0OCA0OGMtNCAtNSAtNiAtMTIgLTYgLTE5eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1mYXN0Zm9yd2FyZC1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDI2OyIgCitkPSJNMTYgMjkzdi0yMDJsMTg0IDEwMXpNMjQwIDI5MnYwdi03OHYtMjd2LTk1bDE3NiAxMDB6TTIyNCAzMjB2MGwyMjQgLTEyOGwtMjI0IC0xMjh2MTIzbC0yMjQgLTEyM3YyNTZsMjI0IC0xMjN2MTIzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1mYXN0Zm9yd2FyZCIgdW5pY29kZT0iJiN4ZjQyNzsiIAorZD0iTTIyNCAzMjB2MGwyMjQgLTEyOGwtMjI0IC0xMjh2MTIzbC0yMjQgLTEyM3YyNTZsMjI0IC0xMjN2MTIzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1maWxpbmctb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQyODsiIGhvcml6LWFkdi14PSIzNTIiIAorZD0iTTI4OCAzMjBsNjQgLTk2di0xNjBoLTE3NmgtMTc2djE2MGw2NCA5NmgyMjR6TTMzMyAyMjRsLTQ1IDY4di02OGg0NXpNODAgMzA0di04MGg0OGMwIC0yNiAyMiAtNDggNDggLTQ4czQ4IDIyIDQ4IDQ4aDQ4djgwaC0xOTJ6TTY0IDI5MmwtNDUgLTY4aDQ1djY4ek0zMzYgODB2MTI4aC05OGMtNyAtMjggLTMyIC00OCAtNjIgLTQ4cy01NSAyMCAtNjIgNDhoLTk4di0xMjhoMTYwaDE2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtZmlsaW5nIiB1bmljb2RlPSImI3hmNDI5OyIgaG9yaXotYWR2LXg9IjM1MiIgCitkPSJNMTc2IDE2MGMzMCAwIDU1IDIwIDYyIDQ4aDExNHYtMTQ0aC0xNzZoLTE3NnYxNDRoMTE0YzcgLTI4IDMyIC00OCA2MiAtNDh6TTY0IDIyNGgtN2gtNTdsNjQgOTZ2MHYtODBoMTZ2ODBoMTkydi04MGgxNnY4MHYwbDY0IC05NmgtNTZoLThoLTE2aC04aC00MGMwIC0yNiAtMjIgLTQ4IC00OCAtNDhzLTQ4IDIyIC00OCA0OGgtMzloLTloLTE2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1maWxtLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0MmE7IiBob3Jpei1hZHYteD0iNDAwIiAKK2Q9Ik0wIDM2MGg0MDB2LTMzNmgtNDAwdjMzNnpNNzIgNDB2NDhoLTU2di00OGg1NnpNNzIgMTA0djQ4aC01NnYtNDhoNTZ6TTcyIDE2OHY0OGgtNTZ2LTQ4aDU2ek03MiAyMzJ2NDhoLTU2di00OGg1NnpNNzIgMjk2djQ4aC01NnYtNDhoNTZ6TTMxMiA0MHYxNDRoLTIyNHYtMTQ0aDIyNHpNMzEyIDIwMHYxNDRoLTIyNHYtMTQ0aDIyNHpNMzg0IDQwdjQ4aC01NnYtNDhoNTZ6TTM4NCAxMDR2NDhoLTU2di00OGg1NnpNMzg0IDE2OHY0OGgtNTZ2LTQ4CitoNTZ6TTM4NCAyMzJ2NDhoLTU2di00OGg1NnpNMzg0IDI5NnY0OGgtNTZ2LTQ4aDU2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1maWxtIiB1bmljb2RlPSImI3hmNDJiOyIgaG9yaXotYWR2LXg9IjQwMCIgCitkPSJNMCAzNjBoNDAwdi0zMzZoLTQwMHYzMzZ6TTcyIDQwdjQ4aC01NnYtNDhoNTZ6TTcyIDEwNHY0OGgtNTZ2LTQ4aDU2ek03MiAxNjh2NDhoLTU2di00OGg1NnpNNzIgMjMydjQ4aC01NnYtNDhoNTZ6TTcyIDI5NnY0OGgtNTZ2LTQ4aDU2ek0zMTIgMTg0djE2aC0yMjR2LTE2aDIyNHpNMzg0IDQwdjQ4aC01NnYtNDhoNTZ6TTM4NCAxMDR2NDhoLTU2di00OGg1NnpNMzg0IDE2OHY0OGgtNTZ2LTQ4aDU2ek0zODQgMjMydjQ4aC01NnYtNDhoNTZ6CitNMzg0IDI5NnY0OGgtNTZ2LTQ4aDU2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1mbGFnLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0MmM7IiBob3Jpei1hZHYteD0iMjU2IiAKK2Q9Ik0yNDAgMzM2YzYgMSAxMSAxIDE2IDJ2LTE2di0xNTdjLTUgLTEgLTEwIC0xIC0xNiAtMmMtMTEgLTEgLTI0IC0zIC0zOSAtM2MtMjUgMCAtNDcgNCAtNjkgOXMtNDIgMTMgLTY0IDEzYy0zMCAwIC00NiAtNSAtNTIgLTd2LTE0M2gtMTZ2MTQydjE2MnYybDMgM2MyIDEgMTggMTEgNjUgMTFjMjQgMCA0NSAtNCA2NyAtOWMyMSAtNCA0MiAtMTEgNjUgLTExYzE1IDAgMjkgMyA0MCA0ek0yNDAgMTc5djB2MTQxYy0xMSAtMSAtMjUgLTQgLTQwIC00CitjLTI1IDAgLTQ2IDYgLTY4IDExcy00MiA5IC02NCA5Yy0zMCAwIC00NiAtNSAtNTIgLTd2LTEzN2MxMCAzIDI2IDYgNTIgNmMyNCAwIDQ1IC04IDY3IC0xM2MyMSAtNCA0MyAtOSA2NiAtOWMxNSAwIDI4IDIgMzkgM3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtZmxhZyIgdW5pY29kZT0iJiN4ZjQyZDsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTI0MCAzMzZjNiAxIDExIDEgMTYgMnYtMTZ2LTE1N2MtNSAtMSAtMTAgLTEgLTE2IC0yYy0xMSAtMSAtMjQgLTMgLTM5IC0zYy0yNSAwIC00NyA0IC02OSA5cy00MiAxMyAtNjQgMTNjLTMwIDAgLTQ2IC01IC01MiAtN3YtMTQzaC0xNnYxNDJ2MTYydjJsMyAzYzIgMSAxOCAxMSA2NSAxMWMyNCAwIDQ1IC00IDY3IC05YzIxIC00IDQyIC0xMSA2NSAtMTFjMTUgMCAyOSAzIDQwIDR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWZsYW1lLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0MmU7IiBob3Jpei1hZHYteD0iMjU2IiAKK2Q9Ik05NiA0MTZjODcgLTY0IDE3MCAtMTc5IDE1OSAtMjg4Yy0xMyAtMTM0IC0xMDQgLTE2MCAtMTI3IC0xNjBzLTEyNyA0MCAtMTI4IDE2MGMtMSAxNDYgMTIyIDE0MyA5NiAyODh6TTEyOCAtMjRjMCAwIDQwIDM2IDQwIDgwcy00MCA4MCAtNDAgODBzLTQxIC0zNiAtNDEgLTgwczQxIC04MCA0MSAtODB6TTIzOSAxMzBjNSA0NyAtMTAgOTkgLTQxIDE1MWMtMjIgMzYgLTUwIDcwIC04MyA5OWMwIC01NyAtMjQgLTkxIC00OSAtMTIzCitjLTI2IC0zNCAtNTAgLTY1IC01MCAtMTI5YzAgLTI1IDUgLTQ4IDE1IC02OGM4IC0xNyAyMCAtMzIgMzUgLTQ1YzggLTcgMTYgLTEyIDIzIC0xNmMtOSAxNiAtMTggMzUgLTE4IDU3YzAgNTEgNDQgOTAgNDYgOTJsMTEgOWwxMSAtOWMyIC0yIDQ1IC00MSA0NSAtOTJjMCAtMjMgLTkgLTQ0IC0xOSAtNjBjNyA0IDEzIDggMjAgMTRjMTQgMTIgMjUgMjcgMzQgNDRjMTEgMjEgMTcgNDcgMjAgNzZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWZsYW1lIiB1bmljb2RlPSImI3hmNDJmOyIgaG9yaXotYWR2LXg9IjI1NiIgCitkPSJNOTYgNDE2Yzg3IC02NCAxNzAgLTE3OSAxNTkgLTI4OGMtMTMgLTEzNCAtMTA0IC0xNjAgLTEyNyAtMTYwcy0xMjcgNDAgLTEyOCAxNjBjLTEgMTQ2IDEyMiAxNDMgOTYgMjg4ek0xMjggLTI0YzAgMCA0MCAzNiA0MCA4MHMtNDAgODAgLTQwIDgwcy00MSAtMzYgLTQxIC04MHM0MSAtODAgNDEgLTgweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1mbGFzay1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDMwOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzczIDc4YzggLTE2IDExIC0zMiAxMSAtNDZjLTEgLTM2IC0yNyAtNjQgLTYzIC02NGgtMjU2Yy0zNiAwIC02NCAyNyAtNjUgNjRjMCAxNCA0IDMwIDEyIDQ2bDExNiAxOTV2MTI3aC0xNnYxNmgxNmgxNnYtMTZ2LTE2aDQ4di0xNmgtNDh2LTMyaDMydi0xNmgtMzJ2LTMyaDQ4di0xNmgtNDh2LTNsLTIgLTRsLTE1IC0yNWg0OXYtMTZoLTU4bC05MiAtMTU0Yy0xMyAtMjUgLTE0IC00MyAtMiAtNjNjOSAtMTQgMjMgLTIzIDQxIC0yM2gyNTYKK2MxNyAwIDMzIDggNDEgMjJjNSA4IDYgMTcgNiAyNmMwIDEyIC0yIDI1IC05IDM4bC0xMTYgMTk1bC0zIDR2MTMxdjE2aDE2aDE2di0xNmgtMTZ2LTEyN3pNNDQgNzNsNzIgMTE5aDE1M2w3MiAtMTE5YzcgLTExIDEwIC0yNCAxMCAtMzNjLTEgLTI0IC0xNiAtNDAgLTQ2IC00MGgtMjI2Yy0zMCAwIC00NiAxMiAtNDYgNDBjMCA5IDQgMjIgMTEgMzN6TTI2MCAxNzZoLTEzNWwtNjcgLTExMXYwdjBjLTUgLTggLTkgLTE5IC05IC0yNQorYzAgLTEzIDUgLTE3IDYgLTE4YzQgLTQgMTMgLTYgMjQgLTZoMjI2YzEwIDAgMTggMyAyMyA3YzQgNCA3IDEwIDcgMThjMCA2IC0zIDE2IC04IDI0djB2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtZmxhc2siIHVuaWNvZGU9IiYjeGY0MzE7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zMjcgNjV2MGM1IC04IDggLTE4IDggLTI0YzAgLTggLTMgLTE0IC03IC0xOGMtNSAtNCAtMTMgLTcgLTIzIC03aC0yMjZjLTExIDAgLTIwIDIgLTI0IDZjLTEgMSAtNiA1IC02IDE4YzAgNiA0IDE3IDkgMjV2MHYwbDY3IDExMWgxMzVsNjcgLTExMXYwek0zNzMgNzhjOCAtMTYgMTEgLTMyIDExIC00NmMtMSAtMzYgLTI3IC02NCAtNjMgLTY0aC0yNTZjLTM2IDAgLTY0IDI3IC02NSA2NGMwIDE0IDQgMzAgMTIgNDZsMTE2IDE5NXYxMjdoLTE2Cit2MTZoMTYwdi0xNmgtMTZ2LTEyN3pNMTQ0IDM4NHYtMTZoNDh2MTZoLTQ4ek0xNDQgMzM2di0xNmgzMnYxNmgtMzJ6TTE0NCAyODh2LTE2aDQ4djE2aC00OHpNMTI3IDI0MGwtOSAtMTZoNTh2MTZoLTQ5ek0zNTEgNDBjMCA5IC0zIDIyIC0xMCAzM2wtNzIgMTE5aC0xNTRsLTcxIC0xMTljLTcgLTExIC0xMSAtMjQgLTExIC0zM2MwIC0yOCAxNiAtNDAgNDYgLTQwaDIyNmMzMCAwIDQ1IDE2IDQ2IDQweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1mbG93ZXItb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQzMjsiIAorZD0iTTM2MyAxNjRjLTI5IDAgLTY1IDcgLTkzIDE0Yy0xIC0zIC0yIC02IC00IC05YzI1IC0xNSA1NiAtMzYgNzYgLTU2YzQwIC00MCA1MyAtNjggNDEgLTgwYy0zIC0zIC03IC00IC0xMiAtNGMtMTUgMCAtMzggMTUgLTY4IDQ1Yy0yMCAyMCAtNDEgNTEgLTU2IDc2Yy0zIC0yIC03IC0zIC0xMCAtNGM3IC0yOCAxNSAtNjQgMTUgLTkzYzAgLTU2IC0xMiAtODUgLTI4IC04NXMtMjggMjkgLTI4IDg1YzAgMjkgOCA2NSAxNSA5MworYy0zIDEgLTcgMiAtMTAgNGMtMTUgLTI1IC0zNiAtNTYgLTU2IC03NmMtMzAgLTMwIC01MyAtNDUgLTY4IC00NWMtNSAwIC05IDEgLTEyIDRjLTEyIDEyIDEgNDAgNDEgODBjMjAgMjAgNTEgNDEgNzYgNTZjLTIgMyAtMyA2IC00IDljLTI4IC03IC02NCAtMTQgLTkzIC0xNGMtNTYgMCAtODUgMTIgLTg1IDI4czI5IDI4IDg1IDI4YzI5IDAgNjUgLTggOTMgLTE1YzEgMyAyIDcgNCAxMGMtMjUgMTUgLTU2IDM1IC03NiA1NQorYy00MCA0MCAtNTMgNjggLTQxIDgwYzMgMyA3IDQgMTIgNGMxNSAwIDM4IC0xNCA2OCAtNDRjMjAgLTIwIDQxIC01MSA1NiAtNzZjMyAyIDcgMyAxMCA0Yy03IDI4IC0xNSA2NCAtMTUgOTNjMCA1NiAxMiA4NSAyOCA4NXMyOCAtMjkgMjggLTg1YzAgLTI5IC04IC02NSAtMTUgLTkzYzMgLTEgNyAtMiAxMCAtNGMxNSAyNSAzNiA1NiA1NiA3NmMzMCAzMCA1MyA0NCA2OCA0NGM1IDAgOSAtMSAxMiAtNGMxMiAtMTIgLTEgLTQwIC00MSAtODAKK2MtMjAgLTIwIC01MSAtNDAgLTc2IC01NWMyIC0zIDMgLTcgNCAtMTBjMjggNyA2NCAxNSA5MyAxNWM1NiAwIDg1IC0xMiA4NSAtMjhzLTI5IC0yOCAtODUgLTI4ek0yODggMTkzdi0zYzMwIC03IDU2IC0xMCA3NSAtMTBjMjEgMCAzOSAyIDUyIDVjMTAgMyAxNCA2IDE2IDdjLTIgMSAtNiA0IC0xNiA3Yy0xMyAzIC0zMSA1IC01MiA1Yy0xOSAwIC00NSAtNCAtNzUgLTExek0zMTQgMjk5Yy0xNCAtMTQgLTMwIC0zNSAtNDYgLTYxbDIgLTIKK2MyNiAxNiA0NyAzMiA2MSA0NmMxNSAxNSAyNiAyOCAzMyA0MGM1IDkgNyAxNCA3IDE2Yy00IDAgLTIyIC00IC01NyAtMzl6TTE3OCAyMzZsMiAyYy0xNiAyNiAtMzIgNDcgLTQ2IDYxYy0zNSAzNSAtNTMgMzkgLTU3IDM5YzAgLTIgMiAtNyA3IC0xNmM3IC0xMiAxOCAtMjUgMzMgLTQwYzE0IC0xNCAzNSAtMzAgNjEgLTQ2ek04NSAxODBjMTkgMCA0NSAzIDc1IDEwdjNjLTMwIDcgLTU2IDExIC03NSAxMWMtMjEgMCAtMzkgLTIgLTUyIC01CitjLTEwIC0zIC0xNCAtNiAtMTYgLTdjMiAtMSA1IC00IDE1IC03YzEzIC0zIDMyIC01IDUzIC01ek0xMzQgODVjMTQgMTQgMzAgMzUgNDYgNjFsLTIgMmMtMjYgLTE2IC00NyAtMzIgLTYxIC00NmMtMTUgLTE1IC0yNiAtMjkgLTMzIC00MWMtNSAtOSAtNyAtMTQgLTcgLTE2YzQgMCAyMiA1IDU3IDQwek0yNzAgMTQ4bC0yIC0yYzE2IC0yNiAzMiAtNDcgNDYgLTYxYzM1IC0zNSA1MyAtNDAgNTcgLTQwYzAgMiAtMiA3IC03IDE2CitjLTcgMTIgLTE4IDI2IC0zMyA0MWMtMTQgMTQgLTM1IDMwIC02MSA0NnpNMjE3IDM4M2MtMyAtMTMgLTUgLTMxIC01IC01MmMwIC0xOSA0IC00NSAxMSAtNzVoMmM3IDMwIDExIDU2IDExIDc1YzAgMjEgLTIgMzkgLTUgNTJjLTMgMTAgLTYgMTQgLTcgMTZjLTEgLTIgLTQgLTYgLTcgLTE2ek0yMzEgMGMzIDEzIDUgMzIgNSA1M2MwIDE5IC00IDQ1IC0xMSA3NWgtMmMtNyAtMzAgLTExIC01NiAtMTEgLTc1YzAgLTIxIDIgLTQwIDUgLTUzCitjMyAtMTAgNiAtMTMgNyAtMTVjMSAyIDQgNSA3IDE1ek0yMjQgMTYwYzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnpNMzEzIDQyYzEwIC0zNCA3IC01MyAtNSAtNThjLTIgLTEgLTMgLTEgLTUgLTFjLTExIDAgLTI1IDEzIC0zNyAzNWM1IDM1IC0yIDc2IC0yIDc2czI0IC0zNCA0OSAtNTJ6TTMwMiAtMWMxIDQgMiAxNCAtMyAzNGMtNSA0IC0xMCA5IC0xNSAxNAorYzAgLTkgMCAtMTcgLTEgLTI1YzEwIC0xNiAxNiAtMjIgMTkgLTIzek0xODIgMzY1Yy02IC0zNSAxIC03NSAxIC03NXMtMjcgMzUgLTQ4IDUxYy0xMCAzNSAtNyA1NCA1IDU5YzIgMSAzIDEgNSAxYzExIDAgMjQgLTEyIDM3IC0zNnpNMTY0IDMzN2MwIDkgMCAxNyAxIDI1Yy0xMCAxNiAtMTYgMjEgLTE5IDIyYy0xIC00IC0yIC0xNCAzIC0zNGM1IC00IDEwIC04IDE1IC0xM3pNNTAgMTQ5YzM1IC00IDc2IDIgNzYgMnMtMzQgLTI0IC01MSAtNDgKK2MtMTIgLTQgLTI2IC02IC0zNSAtNmMtMTMgMCAtMjEgNCAtMjQgMTFjLTUgMTEgNyAyNSAzNCA0MXpNNjYgMTE3YzQgNSA4IDEwIDEzIDE1Yy05IDAgLTE3IDAgLTI1IDFjLTE2IC0xMCAtMjEgLTE2IC0yMiAtMTljMSAwIDQgLTEgOCAtMWM3IDAgMTYgMSAyNiA0ek00MzIgMjc2YzUgLTExIC03IC0yNiAtMzQgLTQyYy0zNSA1IC03NiAtMiAtNzYgLTJzMzMgMjUgNTEgNDljMTMgNCAyNiA1IDM1IDVjMTMgMCAyMSAtMyAyNCAtMTB6TTM5NCAyNTAKK2MxNiAxMCAyMSAxNiAyMiAxOWMtMSAwIC00IDEgLTggMWMtNyAwIC0xNiAtMSAtMjYgLTRjLTQgLTUgLTggLTkgLTEzIC0xNGM5IDAgMTcgLTEgMjUgLTJ6TTEzMSAzOWMzMSAyNCA1MyA1NSA1MyA1NXMtNyAtMzkgLTMgLTcxYy0xNSAtMjYgLTI4IC0zOSAtMzkgLTM5Yy0yIDAgLTQgMCAtNiAxYy0xMSA1IC0xMyAyNCAtNSA1NHpNMTQzIDFjNCAyIDEyIDggMjIgMjZjMCA2IC0xIDEzIC0xIDIwYy02IC02IC0xMyAtMTIgLTE5IC0xNworYy00IC0xOCAtMyAtMjYgLTIgLTI5ek0zMTIgMzk4YzExIC01IDEzIC0yMiA1IC01NGMtMjkgLTIxIC01MyAtNTUgLTUzIC01NXM4IDQ4IDMgNzFjMTMgMjUgMjggMzkgMzkgMzljMiAwIDQgMCA2IC0xek0zMDMgMzUzYzUgMTggMyAyNyAyIDMwYy00IC0yIC0xMiAtOCAtMjIgLTI2YzAgLTYgMSAtMTQgMSAtMjFjNiA2IDEzIDEyIDE5IDE3ek03MSAyODVjMTggLTI0IDU1IC01MyA1NSAtNTNzLTQwIDcgLTcwIDNjLTI4IDE1IC00MyAzMiAtMzggNDQKK2MzIDcgMTAgMTEgMjIgMTFjOCAwIDIxIC0xIDMxIC01ek0zMyAyNzNjMiAtNCA4IC0xMiAyNiAtMjJjNiAwIDEzIDEgMjAgMWMtNiA2IC0xMiAxMiAtMTcgMThjLTggMiAtMTYgNCAtMjIgNGMtNCAwIC02IC0xIC03IC0xek0zOTIgMTQ5YzMwIC0xNyA0MyAtMzMgMzggLTQ1Yy0zIC03IC0xMCAtMTAgLTIyIC0xMGMtOCAwIC0xOSAxIC0zMSA1Yy0yMCAyNyAtNTUgNTIgLTU1IDUyczQ1IC04IDcwIC0yek00MDggMTEwYzQgMCA2IDEgNyAxCitjLTIgNCAtOCAxMiAtMjYgMjJjLTYgMCAtMTMgLTEgLTIwIC0xYzYgLTYgMTIgLTEzIDE3IC0xOWM4IC0yIDE2IC0zIDIyIC0zeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1mbG93ZXIiIHVuaWNvZGU9IiYjeGY0MzM7IiAKK2Q9Ik0zNjMgMjIwYzU2IDAgODUgLTEyIDg1IC0yOHMtMjkgLTI4IC04NSAtMjhjLTI5IDAgLTY1IDcgLTkzIDE0Yy0xIC0zIC0yIC02IC00IC05YzI1IC0xNSA1NiAtMzYgNzYgLTU2YzQwIC00MCA1MyAtNjggNDEgLTgwcy00MCAxIC04MCA0MWMtMjAgMjAgLTQxIDUxIC01NiA3NmMtMyAtMiAtNyAtMyAtMTAgLTRjNyAtMjggMTUgLTY0IDE1IC05M2MwIC01NiAtMTIgLTg1IC0yOCAtODVzLTI4IDI5IC0yOCA4NWMwIDI5IDggNjUgMTUgOTMKK2MtMyAxIC03IDIgLTEwIDRjLTE1IC0yNSAtMzYgLTU2IC01NiAtNzZjLTQwIC00MCAtNjggLTUzIC04MCAtNDFzMSA0MCA0MSA4MGMyMCAyMCA1MSA0MSA3NiA1NmMtMiAzIC0zIDYgLTQgOWMtMjggLTcgLTY0IC0xNCAtOTMgLTE0Yy01NiAwIC04NSAxMiAtODUgMjhzMjkgMjggODUgMjhjMjkgMCA2NSAtOCA5MyAtMTVjMSAzIDIgNyA0IDEwYy0yNSAxNSAtNTYgMzUgLTc2IDU1Yy00MCA0MCAtNTMgNjggLTQxIDgwczQwIDAgODAgLTQwCitjMjAgLTIwIDQxIC01MSA1NiAtNzZjMyAyIDYgMyA5IDRjLTcgMjggLTE0IDY0IC0xNCA5M2MwIDU2IDEyIDg1IDI4IDg1czI4IC0yOSAyOCAtODVjMCAtMjkgLTcgLTY1IC0xNCAtOTNjMyAtMSA2IC0yIDkgLTRjMTUgMjUgMzYgNTYgNTYgNzZjNDAgNDAgNjggNTIgODAgNDBzLTEgLTQwIC00MSAtODBjLTIwIC0yMCAtNTEgLTQwIC03NiAtNTVjMiAtMyAzIC03IDQgLTEwYzI4IDcgNjQgMTUgOTMgMTV6TTI2NCA5NGMwIDAgMjQgLTM0IDQ5IC01MgorYzEwIC0zNCA3IC01MyAtNSAtNThjLTIgLTEgLTMgLTEgLTUgLTFjLTExIDAgLTI1IDEzIC0zNyAzNWM1IDM1IC0yIDc2IC0yIDc2ek0xODMgMjkwYzAgMCAtMjcgMzUgLTQ4IDUxYy0xMCAzNSAtNyA1NCA1IDU5YzIgMSAzIDEgNSAxYzExIDAgMjQgLTEyIDM3IC0zNmMtNiAtMzUgMSAtNzUgMSAtNzV6TTEyNiAxNTFjMCAwIC0zNCAtMjQgLTUxIC00OGMtMTIgLTQgLTI2IC02IC0zNSAtNmMtMTMgMCAtMjEgNCAtMjQgMTEKK2MtNSAxMSA3IDI1IDM0IDQxYzM1IC00IDc2IDIgNzYgMnpNMzIyIDIzMmMwIDAgMzMgMjUgNTEgNDljMTMgNCAyNiA1IDM1IDVjMTMgMCAyMSAtMyAyNCAtMTBjNSAtMTEgLTcgLTI2IC0zNCAtNDJjLTM1IDUgLTc2IC0yIC03NiAtMnpNMTMxIDM5YzMxIDI0IDUzIDU1IDUzIDU1cy03IC0zOSAtMyAtNzFjLTE1IC0yNiAtMjggLTM5IC0zOSAtMzljLTIgMCAtNCAwIC02IDFjLTExIDUgLTEzIDI0IC01IDU0ek0zMTcgMzQ0CitjLTI5IC0yMSAtNTMgLTU1IC01MyAtNTVzOCA0OCAzIDcxYzEzIDI1IDI4IDM5IDM5IDM5YzIgMCA0IDAgNiAtMWMxMSAtNSAxMyAtMjIgNSAtNTR6TTU2IDIzNWMtMjggMTUgLTQzIDMyIC0zOCA0NGMzIDcgMTAgMTEgMjIgMTFjOCAwIDIxIC0xIDMxIC01YzE4IC0yNCA1NSAtNTMgNTUgLTUzcy00MCA3IC03MCAzek0zOTIgMTQ5YzMwIC0xNyA0MyAtMzMgMzggLTQ1Yy0zIC03IC0xMCAtMTAgLTIyIC0xMGMtOCAwIC0xOSAxIC0zMSA1CitjLTIwIDI3IC01NSA1MiAtNTUgNTJzNDUgLTggNzAgLTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWZvbGRlci1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDM0OyIgCitkPSJNNDI1IDM1MmMxMyAwIDIzIC0xMCAyMyAtMjN2LTMwNGMwIC0xNCAtMTAgLTI1IC0yMyAtMjVoLTQwMGMtMTMgMCAtMjUgMTIgLTI1IDI1djMzNmMwIDEzIDExIDIzIDI1IDIzaDExMmM4IDAgMTIgLTIgMTcgLTd2MGwyMyAtMjNjMiAtMiAzIC0yIDYgLTJoMjQyek0yNSAzNjhjLTQgMCAtOSAtMyAtOSAtN3YtNzRjMyAxIDUgMSA4IDFoNDAwYzMgMCA1IDAgOCAtMXY0MmMwIDQgLTMgNyAtNyA3aC0yNDJjLTcgMCAtMTIgMiAtMTcgNworbC0yMyAyM2MtMiAyIC0zIDIgLTYgMmgtMTEyek00MzIgMjV2MjM5YzAgNCAtNCA4IC04IDhoLTQwMGMtNCAwIC04IC00IC04IC04di0yMzljMCAtNCA1IC05IDkgLTloNDAwYzQgMCA3IDUgNyA5eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1mb2xkZXIiIHVuaWNvZGU9IiYjeGY0MzU7IiAKK2Q9Ik00NDAgMjcyYzQgMCA4IC00IDggLTh2LTIzOWMwIC0xNCAtMTAgLTI1IC0yMyAtMjVoLTQwMGMtMTMgMCAtMjUgMTIgLTI1IDI1djIzOWMwIDQgNCA4IDggOGg0MzJ6TTQyNSAzNTJjMTMgMCAyMyAtMTAgMjMgLTIzdi00MmMtMyAxIC01IDEgLTggMWgtNDMyYy0zIDAgLTUgMCAtOCAtMXY3NGMwIDEzIDExIDIzIDI1IDIzaDExMmM4IDAgMTIgLTIgMTcgLTd2MGwyMyAtMjNjMiAtMiAzIC0yIDYgLTJoMjQyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1mb290YmFsbC1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDM2OyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IDQwMGMxMTUgMCAyMDggLTkzIDIwOCAtMjA4cy05MyAtMjA4IC0yMDggLTIwOHMtMjA4IDkzIC0yMDggMjA4czkzIDIwOCAyMDggMjA4ek0yNDkgNmMzIDEgNSAxIDggMmwyNCA2NGwtMjAgMzl2MWgtMTA2bC0yMCAtMzlsMjUgLTY1YzIgLTEgNSAtMSA3IC0yYzEyIC0zIDI1IC01IDM4IC01YzE0IDAgMzAgMiA0NCA1ek00MSAyODRjLTE1IC0yNyAtMjMgLTU3IC0yNCAtODlsNDMgMzd2MHpNMTQyIDM3MQorYy0zNiAtMTQgLTY4IC0zOCAtOTAgLTY5bDIyIC02NGw1IC0ybDQ5IC0yM2w3MSA2MHY1OHpNMjc3IDIwMWwtNzAgNThsLTY5IC01OHYtMWwxOCAtNzJoMTA0bDE4IDcyek0zOTkgMTk1Yy0xIDMyIC05IDYzIC0yNCA5MGwtMTkgLTUzdjB6TTM2NCAzMDJjLTIyIDMxIC01NCA1NiAtOTAgNjlsLTU4IC00MHYtNThsNzEgLTYwbDU0IDI0ek0xOCAxNzVjMyAtMzQgMTUgLTY2IDMzIC05Mmw3MCAtMWwyMSAzOWwtMjAgNzdsLTEgMWwtNDkgMjJ6CitNMjk1IDgybDcwIDFjMTggMjYgMzAgNTggMzMgOTJsLTU0IDQ2bC01MCAtMjNsLTIwIC03N3pNMjA3IDM0NWw0NyAzMmMtMTUgNCAtMzAgNiAtNDYgNnMtMzIgLTIgLTQ3IC02ek0xMTggNjZsLTU0IDFjMjAgLTIzIDQ2IC00MiA3NSAtNTNsLTIwIDUwek0yNzcgMTRjMjkgMTEgNTUgMzAgNzUgNTNsLTU2IC0xbC0yIC0zeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1mb290YmFsbCIgdW5pY29kZT0iJiN4ZjQzNzsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCA0MDBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHpNMjQ5IDZjMyAxIDUgMSA4IDJsMjQgNjRsLTIwIDM5djFoLTEwNmwtMjAgLTM5bDI1IC02NWMyIC0xIDUgLTEgNyAtMmMxMiAtMyAyNSAtNSAzOCAtNWMxNCAwIDMwIDIgNDQgNXpNMTQyIDM3MWMtMzYgLTE0IC02OCAtMzggLTkwIC02OWwyMiAtNjRsNSAtMmw0OSAtMjNsNzEgNjB2NTh6CitNMzY0IDMwMmMtMjIgMzEgLTU0IDU2IC05MCA2OWwtNTggLTQwdi01OGw3MSAtNjBsNTQgMjR6TTE4IDE3NWMzIC0zNCAxNSAtNjYgMzMgLTkybDcwIC0xbDIxIDM5bC0yMCA3N2wtMSAxbC00OSAyMnpNMjk1IDgybDcwIDFjMTggMjYgMzAgNTggMzMgOTJsLTU0IDQ2bC01MCAtMjNsLTIwIC03N3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWEtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQzODsiIAorZD0iTTE2MyAyMDhjMyAwIDUgLTIgNSAtNXYtMjJjMCAtMyAtMiAtNSAtNSAtNWgtMzV2LTM1YzAgLTMgLTMgLTUgLTYgLTVoLTIxYy0zIDAgLTUgMiAtNSA1djM1aC0zNWMtMyAwIC01IDMgLTUgNnYyMWMwIDMgMiA1IDUgNWgzNXYzNWMwIDMgMiA1IDUgNWgyMmMzIDAgNSAtMiA1IC01di0zNWgzNXpNMzMwIDE2OWMxMSAwIDIwIC04IDIwIC0xOXMtOSAtMTkgLTIwIC0xOXMtMTkgOCAtMTkgMTlzOCAxOSAxOSAxOXpNMjg4IDIxMQorYzExIDAgMTkgLTggMTkgLTE5cy04IC0xOSAtMTkgLTE5cy0yMCA4IC0yMCAxOXM5IDE5IDIwIDE5ek0zNzMgMjExYzExIDAgMTkgLTggMTkgLTE5cy04IC0xOSAtMTkgLTE5cy0yMCA4IC0yMCAxOXM5IDE5IDIwIDE5ek0zMzAgMjUzYzExIDAgMjAgLTggMjAgLTE5cy05IC0yMCAtMjAgLTIwcy0xOSA5IC0xOSAyMHM4IDE5IDE5IDE5ek0zMzcgMjg2aC0yMjZjLTI2IDAgLTQ5IC05IC02NyAtMjZzLTI4IC00MSAtMjggLTY3czEwIC01MSAyOCAtNjgKK3M0MSAtMjcgNjcgLTI3aDIyNmMyNiAwIDQ5IDEwIDY3IDI3czI4IDQyIDI4IDY4cy0xMCA1MCAtMjggNjdzLTQxIDI2IC02NyAyNnpNMzM3IDMwMnYwYzYxIDAgMTExIC00NSAxMTEgLTEwOXMtNTAgLTExMSAtMTExIC0xMTFoLTIyNmMtNjEgMCAtMTExIDQ3IC0xMTEgMTExczUwIDEwOSAxMTEgMTA5aDIyNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWEiIHVuaWNvZGU9IiYjeGY0Mzk7IiAKK2Q9Ik0zMzcgMzAyYzYxIDAgMTExIC00NSAxMTEgLTEwOXMtNTAgLTExMSAtMTExIC0xMTFoLTIyNmMtNjEgMCAtMTExIDQ3IC0xMTEgMTExczUwIDEwOSAxMTEgMTA5aDIyNnpNMTY4IDE4MXYwdjIyYzAgMyAtMiA1IC01IDVoLTM1djM1YzAgMyAtMiA1IC01IDVoLTIyYy0zIDAgLTUgLTIgLTUgLTV2LTM1aC0zNWMtMyAwIC01IC0yIC01IC01di0yMWMwIC0zIDIgLTYgNSAtNmgzNXYtMzVjMCAtMyAyIC01IDUgLTVoMjFjMyAwIDYgMiA2IDV2MzUKK2gzNWMzIDAgNSAyIDUgNXpNMjg4IDE3M2MxMSAwIDE5IDggMTkgMTlzLTggMTkgLTE5IDE5cy0yMCAtOCAtMjAgLTE5czkgLTE5IDIwIC0xOXpNMzMwIDEzMWMxMSAwIDIwIDggMjAgMTlzLTkgMTkgLTIwIDE5cy0xOSAtOCAtMTkgLTE5czggLTE5IDE5IC0xOXpNMzMwIDIxNGMxMSAwIDIwIDkgMjAgMjBzLTkgMTkgLTIwIDE5cy0xOSAtOCAtMTkgLTE5czggLTIwIDE5IC0yMHpNMzczIDE3M2MxMSAwIDE5IDggMTkgMTlzLTggMTkgLTE5IDE5CitzLTIwIC04IC0yMCAtMTlzOSAtMTkgMjAgLTE5eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYi1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDNhOyIgCitkPSJNMjc2IDI0NGMxMSAwIDIwIC05IDIwIC0yMHMtOSAtMjAgLTIwIC0yMHMtMjAgOSAtMjAgMjBzOSAyMCAyMCAyMHpNMzIwIDIwMGMxMSAwIDIwIC05IDIwIC0yMHMtOSAtMjAgLTIwIC0yMHMtMjAgOSAtMjAgMjBzOSAyMCAyMCAyMHpNMTAzIDI2NGMyMiAwIDM5IC0xOCAzOSAtNDBzLTE3IC00MCAtMzkgLTQwcy0zOSAxOCAtMzkgNDBzMTcgNDAgMzkgNDB6TTEwMyAyMDVjMTEgMCAxOSA4IDE5IDE5cy04IDE5IC0xOSAxOQorcy0xOSAtOCAtMTkgLTE5czggLTE5IDE5IC0xOXpNMzIwIDI4OGMxMSAwIDIwIC05IDIwIC0yMHMtOSAtMjAgLTIwIC0yMHMtMjAgOSAtMjAgMjBzOSAyMCAyMCAyMHpNMzY0IDI0NGMxMSAwIDIwIC05IDIwIC0yMHMtOSAtMjAgLTIwIC0yMHMtMjAgOSAtMjAgMjBzOSAyMCAyMCAyMHpNNDM0IDE5OWMyMSAtODggMTggLTE1MiAtNyAtMTY0Yy00IC0yIC05IC0zIC0xMyAtM2MtMjIgMCAtNDUgMjQgLTY4IDUyYy0yNiAzMiAtMzIgMzMgLTExMCAzMworaC0yNGMtNzggMCAtODQgLTEgLTExMCAtMzNjLTIzIC0yOCAtNDYgLTUyIC02OCAtNTJjLTQgMCAtOSAxIC0xMyAzYy0yNSAxMiAtMjggNzYgLTcgMTY0czQzIDEzNiA4OCAxNDljMTAgMyAxOCA0IDI2IDRjMjggMCA0NyAtMTUgOTYgLTE1czY4IDE1IDk2IDE1YzggMCAxNiAtMSAyNiAtNGM0NSAtMTMgNjcgLTYxIDg4IC0xNDl6TTQyMCA0OWMxMCA1IDIzIDQ4IC0xIDE0NmMtMjEgOTAgLTQzIDEyOCAtNzggMTM4Yy04IDIgLTE0IDMgLTIxIDMKK2MtMTAgMCAtMTkgLTIgLTMwIC01Yy0xNiAtNCAtMzYgLTEwIC02NiAtMTBzLTUwIDYgLTY2IDEwYy0xMSAzIC0yMCA1IC0zMCA1Yy03IDAgLTEzIC0xIC0yMSAtM2MtMzUgLTEwIC01NyAtNDggLTc4IC0xMzhjLTI0IC05OCAtMTEgLTE0MSAtMSAtMTQ2YzIgLTEgNCAtMSA2IC0xYzYgMCAxNCA0IDIzIDEyczE5IDE4IDMyIDM0czI0IDI4IDQ0IDM0YzE3IDUgMzggNSA3OSA1aDI0YzQxIDAgNjIgMCA3OSAtNWMyMCAtNiAzMSAtMTggNDQgLTM0CitzMjMgLTI2IDMyIC0zNHMxNyAtMTIgMjMgLTEyYzIgMCA0IDAgNiAxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYiIgdW5pY29kZT0iJiN4ZjQzYjsiIAorZD0iTTEwMyAyNDNjMTEgMCAxOSAtOCAxOSAtMTlzLTggLTE5IC0xOSAtMTlzLTE5IDggLTE5IDE5czggMTkgMTkgMTl6TTQzNCAxOTljMjEgLTg4IDE4IC0xNTIgLTcgLTE2NGMtNCAtMiAtOSAtMyAtMTMgLTNjLTIyIDAgLTQ1IDI0IC02OCA1MmMtMjYgMzIgLTMyIDMzIC0xMTAgMzNoLTI0Yy03OCAwIC04NCAtMSAtMTEwIC0zM2MtMjMgLTI4IC00NiAtNTIgLTY4IC01MmMtNCAwIC05IDEgLTEzIDNjLTI1IDEyIC0yOCA3NiAtNyAxNjQKK3M0MyAxMzYgODggMTQ5YzEwIDMgMTggNCAyNiA0YzI4IDAgNDcgLTE1IDk2IC0xNXM2OCAxNSA5NiAxNWM4IDAgMTYgLTEgMjYgLTRjNDUgLTEzIDY3IC02MSA4OCAtMTQ5ek0xMDMgMTg0YzIyIDAgMzkgMTggMzkgNDBzLTE3IDQwIC0zOSA0MHMtMzkgLTE4IC0zOSAtNDBzMTcgLTQwIDM5IC00MHpNMjc2IDIwNGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAgLTIwIDIwcy0yMCAtOSAtMjAgLTIwczkgLTIwIDIwIC0yMHpNMzIwIDE2MAorYzExIDAgMjAgOSAyMCAyMHMtOSAyMCAtMjAgMjBzLTIwIC05IC0yMCAtMjBzOSAtMjAgMjAgLTIwek0zMjAgMjQ4YzExIDAgMjAgOSAyMCAyMHMtOSAyMCAtMjAgMjBzLTIwIC05IC0yMCAtMjBzOSAtMjAgMjAgLTIwek0zNjQgMjA0YzExIDAgMjAgOSAyMCAyMHMtOSAyMCAtMjAgMjBzLTIwIC05IC0yMCAtMjBzOSAtMjAgMjAgLTIweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1nZWFyLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0M2M7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xOTMgMjg4YzI2IDAgNTAgLTEwIDY4IC0yOHMyOCAtNDIgMjggLTY4cy0xMCAtNTAgLTI4IC02OHMtNDIgLTI4IC02OCAtMjhzLTUwIDEwIC02OCAyOHMtMjggNDIgLTI4IDY4czEwIDUwIDI4IDY4czQyIDI4IDY4IDI4ek0xOTMgMTEyYzQ0IDAgODAgMzYgODAgODBzLTM2IDgwIC04MCA4MHMtODAgLTM2IC04MCAtODBzMzYgLTgwIDgwIC04MHpNMTM4IDM2NWMtMTAgLTMgLTIwIC03IC0zMCAtMTJjMiAtOCAxIC0xNiAwIC0yNAorYy0yIC0xMyAtOCAtMjUgLTE4IC0zNWMtMTIgLTEyIC0yOSAtMTkgLTQ2IC0xOWMtNCAwIC05IDAgLTEzIDFjLTUgLTEwIC05IC0yMCAtMTIgLTMwYzcgLTQgMTIgLTEwIDE3IC0xN2M4IC0xMSAxMiAtMjQgMTIgLTM3cy00IC0yNiAtMTIgLTM3Yy01IC03IC0xMCAtMTMgLTE3IC0xN2MzIC0xMCA3IC0yMCAxMiAtMzBjNCAxIDkgMSAxMyAxYzE3IDAgMzQgLTcgNDYgLTE5YzEwIC0xMCAxNiAtMjIgMTggLTM1YzEgLTggMiAtMTYgMCAtMjQKK2MxMCAtNSAyMCAtOSAzMCAtMTJjNCA3IDEwIDEyIDE3IDE3YzExIDggMjQgMTIgMzcgMTJzMjYgLTQgMzcgLTEyYzcgLTUgMTMgLTEwIDE3IC0xN2MxMCAzIDIwIDcgMzAgMTJjLTIgOCAtMSAxNiAwIDI0YzIgMTMgOCAyNSAxOCAzNWMxMiAxMiAyOSAxOSA0NiAxOWM0IDAgOSAwIDEzIC0xYzUgMTAgOSAyMCAxMiAzMGMtNyA0IC0xMiAxMCAtMTcgMTdjLTggMTEgLTEyIDI0IC0xMiAzN3M0IDI2IDEyIDM3YzUgNyAxMCAxMyAxNyAxNworYy0zIDEwIC03IDIwIC0xMiAzMGMtNCAtMSAtOSAtMSAtMTMgLTFjLTE3IDAgLTM0IDcgLTQ2IDE5Yy0xMCAxMCAtMTYgMjIgLTE4IDM1Yy0xIDggLTIgMTYgMCAyNGMtMTAgNSAtMjAgOSAtMzAgMTJjLTQgLTcgLTEwIC0xMiAtMTcgLTE3Yy0xMSAtOCAtMjQgLTEyIC0zNyAtMTJzLTI2IDQgLTM3IDEyYy03IDUgLTEzIDEwIC0xNyAxN3pNMjM4IDM4NHYwYzIwIC01IDQwIC0xMyA1NyAtMjRjLTggLTE4IC01IC00MCAxMCAtNTUKK2MxMCAtMTAgMjIgLTE0IDM1IC0xNGM3IDAgMTQgMSAyMCA0YzExIC0xNyAxOSAtMzcgMjQgLTU3Yy0xOSAtNyAtMzIgLTI1IC0zMiAtNDZzMTQgLTM5IDMyIC00NmMtNSAtMjAgLTEzIC00MCAtMjQgLTU3Yy02IDMgLTEzIDQgLTIwIDRjLTEzIDAgLTI1IC00IC0zNSAtMTRjLTE1IC0xNSAtMTggLTM3IC0xMCAtNTVjLTE3IC0xMSAtMzcgLTE5IC01NyAtMjRjLTcgMTggLTI1IDMyIC00NiAzMnMtMzkgLTE0IC00NiAtMzIKK2MtMjAgNSAtNDAgMTMgLTU3IDI0YzggMTggNSA0MCAtMTAgNTVjLTEwIDEwIC0yMiAxNCAtMzUgMTRjLTcgMCAtMTQgLTEgLTIwIC00Yy0xMSAxNyAtMTkgMzcgLTI0IDU3YzE4IDcgMzIgMjUgMzIgNDZzLTEzIDM5IC0zMiA0NmM1IDIwIDEzIDQwIDI0IDU3YzYgLTMgMTMgLTQgMjAgLTRjMTMgMCAyNSA0IDM1IDE0YzE1IDE1IDE4IDM3IDEwIDU1YzE3IDExIDM3IDE5IDU3IDI0YzcgLTE5IDI1IC0zMiA0NiAtMzJzMzkgMTMgNDYgMzJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWdlYXIiIHVuaWNvZGU9IiYjeGY0M2Q7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNTIgMTkyYzAgLTIxIDE0IC0zOSAzMiAtNDZjLTUgLTIwIC0xMyAtNDAgLTI0IC01N2MtNiAzIC0xMyA0IC0yMCA0Yy0xMyAwIC0yNSAtNCAtMzUgLTE0Yy0xNSAtMTUgLTE4IC0zNyAtMTAgLTU1Yy0xNyAtMTEgLTM3IC0xOSAtNTcgLTI0Yy03IDE4IC0yNSAzMiAtNDYgMzJzLTM5IC0xNCAtNDYgLTMyYy0yMCA1IC00MCAxMyAtNTcgMjRjOCAxOCA1IDQwIC0xMCA1NWMtMTAgMTAgLTIyIDE0IC0zNSAxNGMtNyAwIC0xNCAtMSAtMjAgLTQKK2MtMTEgMTcgLTE5IDM3IC0yNCA1N2MxOCA3IDMyIDI1IDMyIDQ2cy0xMyAzOSAtMzIgNDZjNSAyMCAxMyA0MCAyNCA1N2M2IC0zIDEzIC00IDIwIC00YzEzIDAgMjUgNCAzNSAxNGMxNSAxNSAxOCAzNyAxMCA1NWMxNyAxMSAzNyAxOSA1NyAyNGM3IC0xOSAyNSAtMzIgNDYgLTMyczM5IDEzIDQ2IDMyYzIwIC01IDQwIC0xMyA1NyAtMjRjLTggLTE4IC01IC00MCAxMCAtNTVjMTAgLTEwIDIyIC0xNCAzNSAtMTRjNyAwIDE0IDEgMjAgNAorYzExIC0xNyAxOSAtMzcgMjQgLTU3Yy0xOSAtNyAtMzIgLTI1IC0zMiAtNDZ6TTE5MyAxMTJjNDQgMCA4MCAzNiA4MCA4MHMtMzYgODAgLTgwIDgwcy04MCAtMzYgLTgwIC04MHMzNiAtODAgODAgLTgweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1nbGFzc2VzLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0M2U7IiAKK2Q9Ik00MzMgMjAxdjBoMTV2LTE4aC0xNWMtMiAtMjIgLTEzIC00MyAtMjkgLTU4Yy0xNyAtMTYgLTM5IC0yNSAtNjIgLTI1Yy01MSAwIC05MiA0MSAtOTIgOTJ2MHYwYzAgMTAgLTEyIDIyIC0yNiAyMnMtMjYgLTEyIC0yNiAtMjJ2MHYwYzAgLTUxIC00MSAtOTIgLTkyIC05MmMtMjMgMCAtNDUgOSAtNjIgMjVjLTE2IDE1IC0yNyAzNiAtMjkgNThoLTE1djE4aDE1YzIgMjIgMTMgNDMgMjkgNTljMTcgMTYgMzkgMjQgNjIgMjQKK2M0MiAwIDc4IC0yNyA4OSAtNjdjNyA3IDE4IDEyIDI5IDEyczIyIC01IDI5IC0xMmMxMSA0MCA0NyA2NyA4OSA2N2MyMyAwIDQ1IC05IDYyIC0yNWMxNiAtMTUgMjcgLTM2IDI5IC01OHpNMzQyIDExNWM0MiAwIDc3IDM1IDc3IDc3cy0zNSA3NyAtNzcgNzdzLTc3IC0zNSAtNzcgLTc3czM1IC03NyA3NyAtNzd6TTEwNiAxMTVjNDIgMCA3NyAzNSA3NyA3N3MtMzUgNzcgLTc3IDc3cy03NyAtMzUgLTc3IC03N3MzNSAtNzcgNzcgLTc3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1nbGFzc2VzIiB1bmljb2RlPSImI3hmNDNmOyIgCitkPSJNNDMzIDIwMXYwaDE1di0xOGgtMTVjLTIgLTIyIC0xMyAtNDMgLTI5IC01OGMtMTcgLTE2IC0zOSAtMjUgLTYyIC0yNWMtNTEgMCAtOTIgNDEgLTkyIDkydjB2MGMwIDEwIC0xMiAyMiAtMjYgMjJzLTI2IC0xMiAtMjYgLTIydjB2MGMwIC01MSAtNDEgLTkyIC05MiAtOTJjLTIzIDAgLTQ1IDkgLTYyIDI1Yy0xNiAxNSAtMjcgMzYgLTI5IDU4aC0xNXYxOGgxNWMyIDIyIDEzIDQzIDI5IDU5YzE3IDE2IDM5IDI0IDYyIDI0CitjNDIgMCA3OCAtMjcgODkgLTY3YzcgNyAxOCAxMiAyOSAxMnMyMiAtNSAyOSAtMTJjMTEgNDAgNDcgNjcgODkgNjdjMjMgMCA0NSAtOSA2MiAtMjVjMTYgLTE1IDI3IC0zNiAyOSAtNTh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWdyaWQtdmlldy1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDQwOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzg0IDI1NmgtMTEydi0xMjhoMTEydi0xNmgtMTEydi0xMTJoLTE2djExMmgtMTI4di0xMTJoLTE2djExMmgtMTEydjE2aDExMnYxMjhoLTExMnYxNmgxMTJ2MTEyaDE2di0xMTJoMTI4djExMmgxNnYtMTEyaDExMnYtMTZ6TTI1NiAxMjh2MTI4aC0xMjh2LTEyOGgxMjh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWdyaWQtdmlldyIgdW5pY29kZT0iJiN4ZjQ0MTsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTEyOCAxMjh2MTI4aDEyOHYtMTI4aC0xMjh6TTAgMzg0aDM4NHYtMzg0aC0zODR2Mzg0ek0zNTIgMjU2djE2aC04MHY4MGgtMTZ2LTgwaC0xMjh2ODBoLTE2di04MGgtODB2LTE2aDgwdi0xMjhoLTgwdi0xNmg4MHYtODBoMTZ2ODBoMTI4di04MGgxNnY4MGg4MHYxNmgtODB2MTI4aDgweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1oZWFydC1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDQyOyIgCitkPSJNMzI3IDM2OGM2OSAwIDEyMSAtNDMgMTIxIC0xMTZjMCAtMzEgLTEzIC03MSAtNDEgLTEwNXMtNDUgLTUyIC0xMDAgLTg4cy04MyAtNDMgLTgzIC00M3MtMjggNyAtODMgNDNzLTcyIDU0IC0xMDAgODhzLTQxIDc0IC00MSAxMDVjMCA3MyA1MiAxMTYgMTIxIDExNmMzOSAwIDgyIC0xOCAxMDMgLTUzYzIxIDM1IDY0IDUzIDEwMyA1M3pNMzk1IDE1N2MxMiAxNCAyMiAzMSAyOCA0OWM2IDE2IDkgMzEgOSA0NmMwIDMwIC0xMCA1NiAtMjkgNzQKK2MtOSA4IC0yMCAxNSAtMzMgMTljLTEzIDUgLTI4IDcgLTQzIDdjLTM4IDAgLTczIC0xOCAtODkgLTQ1bC0xNCAtMjNsLTE0IDIzYy0xNiAyNyAtNTEgNDUgLTg5IDQ1Yy0xNSAwIC0zMCAtMiAtNDMgLTdjLTEzIC00IC0yNCAtMTEgLTMzIC0xOWMtMTkgLTE4IC0yOSAtNDQgLTI5IC03NGMwIC0xNSAzIC0zMCA5IC00NmM2IC0xOCAxNiAtMzUgMjggLTQ5YzI3IC0zMiA0MiAtNDkgOTcgLTg1YzQwIC0yNyA2NSAtMzYgNzQgLTM5CitjOSAzIDM0IDEyIDc0IDM5YzU1IDM2IDcwIDUzIDk3IDg1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1oZWFydCIgdW5pY29kZT0iJiN4ZjQ0MzsiIAorZD0iTTMyNyAzNjhjNjkgMCAxMjEgLTQzIDEyMSAtMTE2YzAgLTMxIC0xMyAtNzEgLTQxIC0xMDVzLTQ1IC01MiAtMTAwIC04OHMtODMgLTQzIC04MyAtNDNzLTI4IDcgLTgzIDQzcy03MiA1NCAtMTAwIDg4cy00MSA3NCAtNDEgMTA1YzAgNzMgNTIgMTE2IDEyMSAxMTZjMzkgMCA4MiAtMTggMTAzIC01M2MyMSAzNSA2NCA1MyAxMDMgNTN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWhlbHAtZW1wdHkiIHVuaWNvZGU9IiYjeGY0NDQ7IiBob3Jpei1hZHYteD0iMTI4IiAKK2Q9Ik02OCA4MmMtOSAwIC0xNyA4IC0xNyAxN3M4IDE3IDE3IDE3czE3IC04IDE3IC0xN3MtOCAtMTcgLTE3IC0xN3pNMTAyIDE5N2MtMjMgLTIyIC0yMiAtMjcgLTIzIC01M2gtMTljMSAyOCA3IDQzIDMwIDY0YzExIDEwIDE5IDI0IDE5IDM5YzAgMjQgLTE5IDM5IC00MiAzOWMtMzIgMCAtNDkgLTE2IC00OCAtNDZoLTE5YzAgNDIgMjUgNjIgNjggNjJjMzMgMCA2MCAtMjAgNjAgLTU0YzAgLTIyIC0xMSAtMzcgLTI2IC01MXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtaGVscC1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDQ1OyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IDQwMGMxMTUgMCAyMDggLTkzIDIwOCAtMjA4cy05MyAtMjA4IC0yMDggLTIwOHMtMjA4IDkzIC0yMDggMjA4czkzIDIwOCAyMDggMjA4ek0yMDggMWMxMDUgMCAxOTEgODYgMTkxIDE5MXMtODYgMTkxIC0xOTEgMTkxcy0xOTEgLTg2IC0xOTEgLTE5MXM4NiAtMTkxIDE5MSAtMTkxek0yMTIgMzAyYzMzIDAgNjAgLTIxIDYwIC01NWMwIC0yMiAtMTEgLTM2IC0yNiAtNTBjLTIzIC0yMyAtMjIgLTI3IC0yMyAtNTNoLTE5CitjMSAyOCA3IDQzIDMwIDY0YzExIDEwIDE5IDIzIDE5IDM4YzAgMjQgLTE5IDQwIC00MiA0MGMtMzIgMCAtNDkgLTE2IC00OCAtNDZoLTE5YzAgNDIgMjUgNjIgNjggNjJ6TTIxMiAxMTZjOSAwIDE3IC04IDE3IC0xN3MtOCAtMTcgLTE3IC0xN3MtMTcgOCAtMTcgMTdzOCAxNyAxNyAxN3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtaGVscCIgdW5pY29kZT0iJiN4ZjQ0NjsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCA0MDBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHpNMjEyIDgyYzkgMCAxNyA4IDE3IDE3cy04IDE3IC0xNyAxN3MtMTcgLTggLTE3IC0xN3M4IC0xNyAxNyAtMTd6TTI0NiAxOTdjMTUgMTQgMjYgMjkgMjYgNTFjMCAzNCAtMjcgNTQgLTYwIDU0Yy00MyAwIC02OCAtMjAgLTY4IC02MmgxOWMtMSAzMCAxNiA0NiA0OCA0NgorYzIzIDAgNDIgLTE1IDQyIC0zOWMwIC0xNSAtOCAtMjkgLTE5IC0zOWMtMjMgLTIxIC0yOSAtMzYgLTMwIC02NGgxOWMxIDI2IDAgMzEgMjMgNTN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWhvbWUtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ0NzsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTE5MiAzMzZsMTYwIC0xMjh2LTIwOGgtMTEydjEyOGgtOTZ2LTEyOGgtMTEydjIwOHpNMzM2IDE2djE4NGwtMTQ0IDExNmwtMTQ0IC0xMTZ2LTE4NGg4MHYxMjhoMTI4di0xMjhoODB6TTE5MiAzODRsMTkyIC0xNTNsLTEyIC0xMmwtMTgwIDE0NWwtMTgwIC0xNDVsLTEyIDEybDMyIDI1djk2aDY0di00NXpNODAgMjk0djQyaC0zMnYtNjd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWhvbWUiIHVuaWNvZGU9IiYjeGY0NDg7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xOTIgMzM2bDE2MCAtMTI4di0yMDhoLTExMnYxMjhoLTk2di0xMjhoLTExMnYyMDh6TTE5MiAzODRsMTkyIC0xNTNsLTEyIC0xMmwtMTgwIDE0NWwtMTgwIC0xNDVsLTEyIDEybDMyIDI1djk2aDY0di00NXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtaW5maW5pdGUtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ0OTsiIAorZD0iTTQxOSAyNjBjMTkgLTE5IDI5IC00MyAyOSAtNjhzLTEwIC00OSAtMjkgLTY4Yy0xOSAtMTggLTQ0IC0yOCAtNzAgLTI4cy01MCAxMCAtNjkgMjhsLTEyNiAxMjNjLTE1IDE1IC0zNSAyMiAtNTYgMjJzLTQwIC03IC01NSAtMjJjLTMxIC0zMCAtMzEgLTgwIDAgLTExMGMxNSAtMTUgMzQgLTIyIDU1IC0yMnM0MSA3IDU2IDIybDQzIDQybDEzIC0xNGwtNDIgLTQxYy0xOSAtMTggLTQ0IC0yOCAtNzAgLTI4cy01MCAxMCAtNjkgMjgKK2MtMTkgMTkgLTI5IDQzIC0yOSA2OHMxMCA0OSAyOSA2OGMxOSAxOCA0MyAyOCA2OSAyOHM1MSAtMTAgNzAgLTI4bDEyNiAtMTIzYzE1IC0xNSAzNCAtMjIgNTUgLTIyczQxIDcgNTYgMjJjMzEgMzAgMzEgODAgMCAxMTBjLTE1IDE1IC0zNSAyMiAtNTYgMjJzLTQwIC03IC01NSAtMjJsLTQzIC00MmwtMTMgMTRsNDIgNDFjMTkgMTggNDQgMjggNzAgMjhzNTAgLTEwIDY5IC0yOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtaW5maW5pdGUiIHVuaWNvZGU9IiYjeGY0NGE7IiBob3Jpei1hZHYteD0iNDY0IiAKK2Q9Ik00MzMgMjY2YzIwIC0yMCAzMSAtNDYgMzEgLTc0cy0xMSAtNTQgLTMxIC03NHMtNDggLTMwIC03NiAtMzBzLTU1IDEwIC03NSAzMGwtMTI1IDEyM2MtMTMgMTMgLTMyIDIwIC01MSAyMHMtMzcgLTcgLTUwIC0yMHMtMjEgLTMxIC0yMSAtNDljMCAtMTkgOCAtMzYgMjEgLTQ5czMxIC0yMCA1MCAtMjBzMzggNyA1MSAyMGwzOSAzOGwyNSAtMjVsLTM5IC0zOGMtMjAgLTIwIC00OCAtMzAgLTc2IC0zMHMtNTUgMTAgLTc1IDMwCitzLTMxIDQ2IC0zMSA3NHMxMSA1NCAzMSA3NHM0NyAzMCA3NSAzMHM1NiAtMTAgNzYgLTMwbDEyNSAtMTIzYzEzIC0xMyAzMSAtMjAgNTAgLTIwczM4IDcgNTEgMjBzMjAgMzEgMjAgNDljMCAxOSAtNyAzNiAtMjAgNDlzLTMyIDIwIC01MSAyMHMtMzcgLTcgLTUwIC0yMGwtMzkgLTM4bC0yNSAyNWwzOSAzOGMyMCAyMCA0OCAzMCA3NiAzMHM1NSAtMTAgNzUgLTMweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1pbmZvcm1hdGlvbi1lbXB0eSIgdW5pY29kZT0iJiN4ZjQ0YjsiIGhvcml6LWFkdi14PSI2NCIgCitkPSJNOCAyNzZjMCAxMyA3IDIwIDIwIDIwczIwIC03IDIwIC0yMHMtNyAtMjAgLTIwIC0yMHMtMjAgNyAtMjAgMjB6TTQ4IDEwNGgxNnYtOGgtNjR2OGgxNnYxMjBoLTE2djhoNDh2LTEyOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtaW5mb3JtYXRpb24tb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ0YzsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTE4NCAyNzZjMCAxMyA3IDIwIDIwIDIwczIwIC03IDIwIC0yMHMtNyAtMjAgLTIwIC0yMHMtMjAgNyAtMjAgMjB6TTIyNCAxMDRoMTZ2LThoLTY0djhoMTZ2MTIwaC0xNnY4aDQ4di0xMjh6TTIwOCA0MDBjNTcgMCAxMDYgLTIwIDE0NyAtNjFzNjEgLTkwIDYxIC0xNDdzLTIwIC0xMDYgLTYxIC0xNDdzLTkwIC02MSAtMTQ3IC02MXMtMTA2IDIwIC0xNDcgNjFzLTYxIDkwIC02MSAxNDdzMjAgMTA2IDYxIDE0N3M5MCA2MSAxNDcgNjF6CitNMjA4IDFjNTMgMCA5OCAxOSAxMzUgNTZzNTYgODIgNTYgMTM1cy0xOSA5OCAtNTYgMTM1cy04MiA1NiAtMTM1IDU2cy05OCAtMTkgLTEzNSAtNTZzLTU2IC04MiAtNTYgLTEzNXMxOSAtOTggNTYgLTEzNXM4MiAtNTYgMTM1IC01NnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtaW5mb3JtYXRpb24iIHVuaWNvZGU9IiYjeGY0NGQ7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggNDAwYzExNSAwIDIwOCAtOTMgMjA4IC0yMDhzLTkzIC0yMDggLTIwOCAtMjA4cy0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDh6TTIwNCAyOTZjLTExIDAgLTIwIC05IC0yMCAtMjBzOSAtMjAgMjAgLTIwczIwIDkgMjAgMjBzLTkgMjAgLTIwIDIwek0yNDAgOTZ2OGgtMTZ2MTI4aC00OHYtOGgxNnYtMTIwaC0xNnYtOGg2NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtaW9uaWMtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ0ZTsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTM3OCAzMTNjMjQgLTM0IDM4IC03NiAzOCAtMTIxYzAgLTExNSAtOTIgLTIwOCAtMjA3IC0yMDhzLTIwOSA5MyAtMjA5IDIwOHM5NCAyMDggMjA5IDIwOGM0NSAwIDg2IC0xNCAxMjAgLTM4YzYgNSAxMyA4IDIxIDhjMTkgMCAzNSAtMTYgMzUgLTM1YzAgLTggLTIgLTE2IC03IC0yMnpNMzUwIDM1N2MtMTIgMCAtMjIgLTEwIC0yMiAtMjJzMTAgLTIyIDIyIC0yMnMyMiAxMCAyMiAyMnMtMTAgMjIgLTIyIDIyek0zNDQgNTYKK2MxOCAxOCAzMSAzOSA0MSA2MmMxMCAyNCAxNSA0OCAxNSA3NHMtNSA1MSAtMTUgNzVjLTUgMTMgLTEyIDI1IC0yMCAzNmMtNSAtMiAtMTAgLTMgLTE1IC0zYy0xOSAwIC0zNSAxNiAtMzUgMzVjMCA1IDIgMTEgNCAxNWMtMTEgOCAtMjMgMTUgLTM2IDIwYy0yNCAxMCAtNDkgMTQgLTc1IDE0cy01MSAtNCAtNzUgLTE0Yy0yMyAtMTAgLTQzIC0yNCAtNjEgLTQycy0zMSAtMzggLTQxIC02MWMtMTAgLTI0IC0xNSAtNDkgLTE1IC03NQorczUgLTUwIDE1IC03NGMxMCAtMjMgMjMgLTQ0IDQxIC02MnMzOCAtMzEgNjEgLTQxYzI0IC0xMCA0OSAtMTUgNzUgLTE1czUxIDUgNzUgMTVjMjMgMTAgNDMgMjMgNjEgNDF6TTIwOCAyODhjNTMgMCA5NiAtNDMgOTYgLTk2cy00MyAtOTYgLTk2IC05NnMtOTYgNDMgLTk2IDk2czQzIDk2IDk2IDk2ek0yMDggMTEyYzQ0IDAgODAgMzYgODAgODBzLTM2IDgwIC04MCA4MHMtNzkgLTM2IC03OSAtODBzMzUgLTgwIDc5IC04MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mta2V5cGFkLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0NGY7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zMzEgMTA3YzMwIDAgNTMgLTI0IDUzIC01NHMtMjMgLTUzIC01MyAtNTNzLTU0IDIzIC01NCA1M3MyNCA1NCA1NCA1NHpNMzMxIDE2YzIxIDAgMzcgMTYgMzcgMzdzLTE2IDM4IC0zNyAzOHMtMzggLTE3IC0zOCAtMzhzMTcgLTM3IDM4IC0zN3pNMTkyIDEwN2MzMCAwIDUzIC0yNCA1MyAtNTRzLTIzIC01MyAtNTMgLTUzcy01MyAyMyAtNTMgNTNzMjMgNTQgNTMgNTR6TTE5MiAxNmMyMSAwIDM3IDE2IDM3IDM3cy0xNiAzOCAtMzcgMzgKK3MtMzcgLTE3IC0zNyAtMzhzMTYgLTM3IDM3IC0zN3pNNTMgMTA3YzMwIDAgNTQgLTI0IDU0IC01NHMtMjQgLTUzIC01NCAtNTNzLTUzIDIzIC01MyA1M3MyMyA1NCA1MyA1NHpNNTMgMTZjMjEgMCAzOCAxNiAzOCAzN3MtMTcgMzggLTM4IDM4cy0zNyAtMTcgLTM3IC0zOHMxNiAtMzcgMzcgLTM3ek0zMzEgMjQ1YzMwIDAgNTMgLTIzIDUzIC01M3MtMjMgLTUzIC01MyAtNTNzLTU0IDIzIC01NCA1M3MyNCA1MyA1NCA1M3pNMzMxIDE1NQorYzIxIDAgMzcgMTYgMzcgMzdzLTE2IDM3IC0zNyAzN3MtMzggLTE2IC0zOCAtMzdzMTcgLTM3IDM4IC0zN3pNMTkyIDI0NWMzMCAwIDUzIC0yMyA1MyAtNTNzLTIzIC01MyAtNTMgLTUzcy01MyAyMyAtNTMgNTNzMjMgNTMgNTMgNTN6TTE5MiAxNTVjMjEgMCAzNyAxNiAzNyAzN3MtMTYgMzcgLTM3IDM3cy0zNyAtMTYgLTM3IC0zN3MxNiAtMzcgMzcgLTM3ek01MyAyNDVjMzAgMCA1NCAtMjMgNTQgLTUzcy0yNCAtNTMgLTU0IC01Mworcy01MyAyMyAtNTMgNTNzMjMgNTMgNTMgNTN6TTUzIDE1NWMyMSAwIDM4IDE2IDM4IDM3cy0xNyAzNyAtMzggMzdzLTM3IC0xNiAtMzcgLTM3czE2IC0zNyAzNyAtMzd6TTMzMSAyNzdjLTMwIDAgLTU0IDI0IC01NCA1NHMyNCA1MyA1NCA1M3M1MyAtMjMgNTMgLTUzcy0yMyAtNTQgLTUzIC01NHpNMzMxIDM2OGMtMjEgMCAtMzggLTE2IC0zOCAtMzdzMTcgLTM4IDM4IC0zOHMzNyAxNyAzNyAzOHMtMTYgMzcgLTM3IDM3ek0xOTIgMzg0CitjMzAgMCA1MyAtMjMgNTMgLTUzcy0yMyAtNTQgLTUzIC01NHMtNTMgMjQgLTUzIDU0czIzIDUzIDUzIDUzek0xOTIgMjkzYzIxIDAgMzcgMTcgMzcgMzhzLTE2IDM3IC0zNyAzN3MtMzcgLTE2IC0zNyAtMzdzMTYgLTM4IDM3IC0zOHpNNTMgMzg0YzMwIDAgNTQgLTIzIDU0IC01M3MtMjQgLTU0IC01NCAtNTRzLTUzIDI0IC01MyA1NHMyMyA1MyA1MyA1M3pNNTMgMjkzYzIxIDAgMzggMTcgMzggMzhzLTE3IDM3IC0zOCAzNworcy0zNyAtMTYgLTM3IC0zN3MxNiAtMzggMzcgLTM4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1rZXlwYWQiIHVuaWNvZGU9IiYjeGY0NTA7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zMzEgMTA3YzMwIDAgNTMgLTI0IDUzIC01NHMtMjMgLTUzIC01MyAtNTNzLTU0IDIzIC01NCA1M3MyNCA1NCA1NCA1NHpNMTkyIDEwN2MzMCAwIDUzIC0yNCA1MyAtNTRzLTIzIC01MyAtNTMgLTUzcy01MyAyMyAtNTMgNTNzMjMgNTQgNTMgNTR6TTUzIDEwN2MzMCAwIDU0IC0yNCA1NCAtNTRzLTI0IC01MyAtNTQgLTUzcy01MyAyMyAtNTMgNTNzMjMgNTQgNTMgNTR6TTMzMSAyNDVjMzAgMCA1MyAtMjMgNTMgLTUzCitzLTIzIC01MyAtNTMgLTUzcy01NCAyMyAtNTQgNTNzMjQgNTMgNTQgNTN6TTE5MiAyNDVjMzAgMCA1MyAtMjMgNTMgLTUzcy0yMyAtNTMgLTUzIC01M3MtNTMgMjMgLTUzIDUzczIzIDUzIDUzIDUzek01MyAyNDVjMzAgMCA1NCAtMjMgNTQgLTUzcy0yNCAtNTMgLTU0IC01M3MtNTMgMjMgLTUzIDUzczIzIDUzIDUzIDUzek0zMzEgMjc3Yy0zMCAwIC01NCAyNCAtNTQgNTRzMjQgNTMgNTQgNTNzNTMgLTIzIDUzIC01M3MtMjMgLTU0IC01MyAtNTR6CitNMTkyIDM4NGMzMCAwIDUzIC0yMyA1MyAtNTNzLTIzIC01NCAtNTMgLTU0cy01MyAyNCAtNTMgNTRzMjMgNTMgNTMgNTN6TTUzIDM4NGMzMCAwIDU0IC0yMyA1NCAtNTNzLTI0IC01NCAtNTQgLTU0cy01MyAyNCAtNTMgNTRzMjMgNTMgNTMgNTN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWxpZ2h0YnVsYi1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDUxOyIgaG9yaXotYWR2LXg9IjI4OCIgCitkPSJNMjg4IDI3NWMwIC0zMSAtMTMgLTU5IC0zMCAtODN2MGMtMTEgLTE1IC0yMiAtMjggLTMyIC00NWMtMjIgLTM4IC0xOCAtNzMgLTE4IC04MnYtMWgtMTI4djFjMCA3IDMgNDQgLTE5IDgyYy0xMCAxNyAtMjAgMzAgLTMxIDQ1djBjLTE3IDI0IC0zMCA1MiAtMzAgODNjMCA3OCA2NiAxNDEgMTQ0IDE0MXMxNDQgLTYzIDE0NCAtMTQxek0yMzkgMTk0bDYgOGMxNiAyMiAyNyA0NyAyNyA3M2MwIDMzIC0xNiA2NSAtNDAgODlzLTU1IDM2IC04OCAzNgorcy02NCAtMTIgLTg4IC0zNnMtNDAgLTU2IC00MCAtODljMCAtMjYgMTEgLTUxIDI3IC03M2wxOSAtMjZ2MGM1IC02IDkgLTEzIDEzIC0yMWMxNyAtMjkgMjEgLTU4IDIxIC03NWgxNnYxMTJsLTMyIDY0aDE3bDMxIC02NHYtMTEyaDMydjExMmwzMSA2NGgxN2wtMzIgLTY0di0xMTJoMTZjMCAxNyA0IDQ1IDIxIDc1YzggMTQgMTYgMjUgMjQgMzZjMSAxIDEgMiAyIDN6TTExMiAtMzJ2MTZoNjR2LTE2aC02NHpNOTYgMHYxNmg5NnYtMTZoLTk2egorTTk2IDMydjE2aDk2di0xNmgtOTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWxpZ2h0YnVsYiIgdW5pY29kZT0iJiN4ZjQ1MjsiIGhvcml6LWFkdi14PSIyODgiIAorZD0iTTI4OCAyNzVjMCAtMzEgLTEzIC01OSAtMzAgLTgzdjBjLTExIC0xNSAtMjIgLTI4IC0zMiAtNDVjLTIyIC0zOCAtMTggLTczIC0xOCAtODJ2LTFoLTMydjEyOGwzMiA2NGgtMTZsLTMyIC02NHYtMTI4aC0zMnYxMjhsLTMxIDY0aC0xN2wzMiAtNjR2LTEyOGgtMzJ2MWMwIDcgMyA0NCAtMTkgODJjLTEwIDE3IC0yMCAzMCAtMzEgNDV2MGMtMTcgMjQgLTMwIDUyIC0zMCA4M2MwIDc4IDY2IDE0MSAxNDQgMTQxczE0NCAtNjMgMTQ0IC0xNDF6CitNMTEyIC0zMnYxNmg2NHYtMTZoLTY0ek05NiAwdjE2aDk2di0xNmgtOTZ6TTk2IDMydjE2aDk2di0xNmgtOTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLWxpc3Qtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ1MzsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM2OCAzNjhoLTM1MnYtMzUyaDM1MnYzNTJ6TTM4NCAzODR2MHYtMzg0aC0zODR2Mzg0aDM4NHpNMTI4IDI4MHYxNmgxOTJ2LTE2aC0xOTJ6TTEyOCAxODR2MTZoMTkydi0xNmgtMTkyek0xMjggODh2MTZoMTkydi0xNmgtMTkyek02NCAyODhjMCAxMSA1IDE2IDE2IDE2czE2IC01IDE2IC0xNnMtNSAtMTYgLTE2IC0xNnMtMTYgNSAtMTYgMTZ6TTY0IDE5MmMwIDExIDUgMTYgMTYgMTZzMTYgLTUgMTYgLTE2cy01IC0xNiAtMTYgLTE2CitzLTE2IDUgLTE2IDE2ek02NCA5NmMwIDExIDUgMTYgMTYgMTZzMTYgLTUgMTYgLTE2cy01IC0xNiAtMTYgLTE2cy0xNiA1IC0xNiAxNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtbGlzdCIgdW5pY29kZT0iJiN4ZjQ1NDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTAgMzg0aDM4NHYtMzg0aC0zODR2Mzg0ek04MCA4MGM5IDAgMTYgNyAxNiAxNnMtNyAxNiAtMTYgMTZzLTE2IC03IC0xNiAtMTZzNyAtMTYgMTYgLTE2ek04MCAxNzZjOSAwIDE2IDcgMTYgMTZzLTcgMTYgLTE2IDE2cy0xNiAtNyAtMTYgLTE2czcgLTE2IDE2IC0xNnpNODAgMjcyYzkgMCAxNiA3IDE2IDE2cy03IDE2IC0xNiAxNnMtMTYgLTcgLTE2IC0xNnM3IC0xNiAxNiAtMTZ6TTMyMCA4OHYxNmgtMTkydi0xNmgxOTJ6TTMyMCAxODR2MTYKK2gtMTkydi0xNmgxOTJ6TTMyMCAyODB2MTZoLTE5MnYtMTZoMTkyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1sb2NhdGlvbi1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDU1OyIgaG9yaXotYWR2LXg9IjI4OCIgCitkPSJNMTQ0IDQwMGMtMzQgMCAtNjcgLTEzIC05MSAtMzdzLTM3IC01NyAtMzcgLTkxYzAgLTQzIDI0IC0xMDcgNzAgLTE4NmMyMiAtMzggNDQgLTcyIDU4IC05MWMxNCAxOSAzNiA1MyA1OCA5MWM0NiA3OSA3MCAxNDMgNzAgMTg2YzAgMzQgLTEzIDY3IC0zNyA5MXMtNTcgMzcgLTkxIDM3ek0xNDQgNDE2djBjODAgMCAxNDQgLTY0IDE0NCAtMTQ0YzAgLTExMiAtMTQ0IC0zMDQgLTE0NCAtMzA0cy0xNDQgMTkyIC0xNDQgMzA0CitjMCA4MCA2NCAxNDQgMTQ0IDE0NHpNMTQ0IDMzNmMzNSAwIDY0IC0yOSA2NCAtNjRzLTI5IC02NCAtNjQgLTY0cy02NCAyOSAtNjQgNjRzMjkgNjQgNjQgNjR6TTE0NCAyMjVjMjYgMCA0NyAyMSA0NyA0N3MtMjEgNDcgLTQ3IDQ3cy00NyAtMjEgLTQ3IC00N3MyMSAtNDcgNDcgLTQ3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1sb2NhdGlvbiIgdW5pY29kZT0iJiN4ZjQ1NjsiIGhvcml6LWFkdi14PSIyODgiIAorZD0iTTE0NCA0MTZjODAgMCAxNDQgLTY0IDE0NCAtMTQ0YzAgLTExMiAtMTQ0IC0zMDQgLTE0NCAtMzA0cy0xNDQgMTkyIC0xNDQgMzA0YzAgODAgNjQgMTQ0IDE0NCAxNDR6TTE0NCAyMjVjMjYgMCA0NyAyMSA0NyA0N3MtMjEgNDcgLTQ3IDQ3cy00NyAtMjEgLTQ3IC00N3MyMSAtNDcgNDcgLTQ3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1sb2NrZWQtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ1NzsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTI2NCAyMjRoNTZ2LTI0MGgtMzIwdjI0MGg1NnY3MmMwIDU3IDQ3IDEwNCAxMDQgMTA0czEwNCAtNDcgMTA0IC0xMDR2LTcyek03MiAyOTZ2LTcyaDE3NnY3MmMwIDQ5IC0zOSA4OCAtODggODhzLTg4IC0zOSAtODggLTg4ek0zMDQgMHYyMDhoLTI4OHYtMjA4aDI4OHpNMTYwIDE2MGMxOCAwIDMyIC0xNCAzMiAtMzJjMCAtMTUgLTEwIC0yNyAtMjQgLTMxdi0zM2gtMTZ2MzNjLTE0IDQgLTI0IDE2IC0yNCAzMWMwIDE4IDE0IDMyIDMyIDMyegorTTE2MCAxMTJjOSAwIDE2IDcgMTYgMTZzLTcgMTYgLTE2IDE2cy0xNiAtNyAtMTYgLTE2czcgLTE2IDE2IC0xNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtbG9ja2VkIiB1bmljb2RlPSImI3hmNDU4OyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMjY0IDIyNGg1NnYtMjQwaC0zMjB2MjQwaDU2djcyYzAgNTcgNDcgMTA0IDEwNCAxMDRzMTA0IC00NyAxMDQgLTEwNHYtNzJ6TTE2OCA5N2MxNCA0IDI0IDE2IDI0IDMxYzAgMTggLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzJjMCAtMTUgMTAgLTI3IDI0IC0zMXYtMzNoMTZ2MzN6TTI0OCAyMjR2NzJjMCA0OSAtMzkgODggLTg4IDg4cy04OCAtMzkgLTg4IC04OHYtNzJoMTc2ek0xNjAgMTQ0YzkgMCAxNiAtNyAxNiAtMTYKK3MtNyAtMTYgLTE2IC0xNnMtMTYgNyAtMTYgMTZzNyAxNiAxNiAxNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtbG9vcC1zdHJvbmciIHVuaWNvZGU9IiYjeGY0NTk7IiBob3Jpei1hZHYteD0iNTEyIiAKK2Q9Ik0yNTYgNDAwYzExNSAwIDIwOCAtOTMgMjA4IC0yMDhjMCAtMTQgLTEgLTI4IC00IC00MmwtMSAtNGwtMjQgNWwxIDRjMiAxMiA0IDI0IDQgMzdjMCAxMDEgLTgzIDE4NCAtMTg0IDE4NGMtNjYgMCAtMTI3IC0zNiAtMTYwIC05NGwtMiAtM2wtMjEgMTFsMiA0YzM3IDY1IDEwNiAxMDYgMTgxIDEwNnpNNDE2IDEwMmwyIDNsMjEgLTExbC0yIC00Yy0zNyAtNjUgLTEwNiAtMTA2IC0xODEgLTEwNmMtMTE1IDAgLTIwOCA5MyAtMjA4IDIwOAorYzAgMTQgMSAyOCA0IDQybDEgNGwyNCAtNWwtMSAtNGMtMiAtMTIgLTQgLTI0IC00IC0zN2MwIC0xMDEgODMgLTE4NCAxODQgLTE4NGM2NiAwIDEyNyAzNiAxNjAgOTR6TTM4NCAxOTJoMTI4bC02NCAtNjR6TTAgMTkybDY0IDY0bDY0IC02NGgtMTI4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1sb29wIiB1bmljb2RlPSImI3hmNDVhOyIgaG9yaXotYWR2LXg9IjQ4OSIgCitkPSJNNDc4IDE5MmwxMSAtMTFsLTUyIC01M2wtNTMgNTNsMTAgMTFsNDMgLTQxek00NDkgMTkydjB2MGMwIC03IDAgLTE0IC0xIC0yMWwtMTYgMWMxIDcgMSAxNCAxIDIxYy0xIDEwMyAtODUgMTg3IC0xODggMTg3Yy02OCAwIC0xMzEgLTM3IC0xNjQgLTk2bC0xNCA4YzM2IDY0IDEwNCAxMDQgMTc4IDEwNGMxMTIgMCAyMDMgLTkxIDIwNCAtMjAydjB2LTJ6TTQwOSAxMDBsMTQgLThjLTM2IC02NCAtMTA0IC0xMDQgLTE3OCAtMTA0CitjLTExMSAwIC0yMDIgOTAgLTIwNCAyMDB2MHYzdjF2MGMwIDcgMCAxNCAxIDIxbDE2IC0xYy0xIC03IC0xIC0xNCAtMSAtMjFjMCAtMTAzIDg1IC0xODcgMTg4IC0xODdjNjggMCAxMzEgMzcgMTY0IDk2ek01MyAyNTZsNTIgLTUzbC0xMSAtMTFsLTQxIDQxbC00MiAtNDFsLTExIDExeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1tZWRpY2FsLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0NWI7IiBob3Jpei1hZHYteD0iMzY0IiAKK2Q9Ik0zNjQgMjYwbC0xMTggLTY4bDExOCAtNjhsLTMyIC01NmwtMTE4IDY5di0xMzdoLTY0djEzN2wtMTE4IC02OWwtMzIgNTZsMTE4IDY4bC0xMTggNjhsMzIgNTZsMTE4IC02OXYxMzdoNjR2LTEzN2wxMTggNjl6TTM0MiAxMThsLTEyOCA3NGwxMjggNzRsLTE2IDI4bC0xMjggLTc0djE0OGgtMzJ2LTE0OGwtMTI4IDc0bC0xNiAtMjhsMTI4IC03NGwtMTI4IC03NGwxNiAtMjhsMTI4IDc0di0xNDhoMzJ2MTQ4bDEyOCAtNzR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLW1lZGljYWwiIHVuaWNvZGU9IiYjeGY0NWM7IiBob3Jpei1hZHYteD0iMzY0IiAKK2Q9Ik0zNjQgMjYwbC0xMTggLTY4bDExOCAtNjhsLTMyIC01NmwtMTE4IDY5di0xMzdoLTY0djEzN2wtMTE4IC02OWwtMzIgNTZsMTE4IDY4bC0xMTggNjhsMzIgNTZsMTE4IC02OXYxMzdoNjR2LTEzN2wxMTggNjl6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLW1lZGtpdC1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDVkOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjI0IDI0MGgtMzJ2LTQ4di0xNmgtMTZoLTQ4di0zMmg0OGgxNnYtMTZ2LTQ4aDMydjQ4djE2aDE2aDQ4djMyaC00OGgtMTZ2MTZ2NDh6TTI0MCAyNTZ2MHYtNjRoNjR2LTY0aC02NHYtNjRoLTY0djY0aC02NHY2NGg2NHY2NGg2NHpNMjg4IDMyMGgxMjh2LTMyMGgtNDE2djMyMGgxMjh2MzJjMCAxOCAxMCAzMiAyOSAzMmg5OWMxOSAwIDMyIC0xNCAzMiAtMzJ2LTMyek0xNDQgMzUwdi0zMGgxMjh2MzBjMCAxMCAtNyAxOCAtMTcgMThoLTk3CitjLTExIDAgLTE0IC04IC0xNCAtMTh6TTQwMCAxNnYyODhoLTM4NHYtMjg4aDM4NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtbWVka2l0IiB1bmljb2RlPSImI3hmNDVlOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjI0IDE3NmgxNmg0OHYtMzJoLTQ4aC0xNnYtMTZ2LTQ4aC0zMnY0OHYxNmgtMTZoLTQ4djMyaDQ4aDE2djE2djQ4aDMydi00OHYtMTZ6TTI4OCAzMjBoMTI4di0zMjBoLTQxNnYzMjBoMTI4djMyYzAgMTggMTAgMzIgMjkgMzJoOTljMTkgMCAzMiAtMTQgMzIgLTMydi0zMnpNMTQ0IDM1MHYtMzBoMTI4djMwYzAgMTAgLTcgMTggLTE3IDE4aC05N2MtMTEgMCAtMTQgLTggLTE0IC0xOHpNMzA0IDEyOHY2NGgtNjR2NjRoLTY0di02NGgtNjQKK3YtNjRoNjR2LTY0aDY0djY0aDY0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1taWMtb2ZmIiB1bmljb2RlPSImI3hmNDVmOyIgaG9yaXotYWR2LXg9IjI4MCIgCitkPSJNMjY2IC0zMmwtMjU4IDQ0MGwxNCA4bDI1OCAtNDQwek0xMjggOTVjLTQ0IDAgLTc5IDM3IC03OSA4M3YxMThsMTEzIC0xOTNjLTEwIC01IC0yMiAtOCAtMzQgLTh6TTIwNyAxNzhjMCAtMTAgLTIgLTE5IC01IC0yOGwtMTM2IDIzNGMxNCAyMCAzNyAzMiA2MiAzMmM0NCAwIDc5IC0zOCA3OSAtODR2LTE1NHpNMjU2IDE3NmMwIC0yOCAtOSAtNTQgLTI0IC03NWwtMTAgMTdjMTEgMTcgMTcgMzYgMTcgNTh2ODBoMTd2LTgwek0xMzkgNDl2MAordi02M2g2OXYtMThoLTE2MXYxOGg3M3Y2M2MtNjcgNSAtMTIwIDYwIC0xMjAgMTI3djgwaDE5di04MGMwIC02MCA1MCAtMTA5IDExMCAtMTA5YzE3IDAgMzQgNCA0OCAxMWw5IC0xNmMtMTQgLTcgLTMwIC0xMiAtNDcgLTEzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1taWMtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ2MDsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTEyOCA0MTZjNDQgMCA3OSAtMzggNzkgLTg0di0xNTRjMCAtNDYgLTM1IC04NCAtNzkgLTg0cy03OSAzOCAtNzkgODR2MTU0YzAgNDYgMzUgODQgNzkgODR6TTE5MSAxNzh2MTU0YzAgMzcgLTI4IDY4IC02MyA2OHMtNjMgLTMxIC02MyAtNjh2LTE1NGMwIC0zNyAyOCAtNjggNjMgLTY4czYzIDMxIDYzIDY4ek0yMzkgMjU2aDE3di04MGMwIC02NyAtNTEgLTEyMiAtMTE3IC0xMjd2LTYzaDY5di0xOGgtMTYxdjE4aDczdjYzCitjLTY3IDUgLTEyMCA2MCAtMTIwIDEyN3Y4MGgxOXYtODBjMCAtNjAgNTAgLTEwOSAxMTAgLTEwOXMxMTAgNDkgMTEwIDEwOXY4MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtbWljIiB1bmljb2RlPSImI3hmNDYxOyIgaG9yaXotYWR2LXg9IjI1NiIgCitkPSJNMTI4IDk0Yy00NCAwIC03OSAzOCAtNzkgODR2MTU0YzAgNDYgMzUgODQgNzkgODRzNzkgLTM4IDc5IC04NHYtMTU0YzAgLTQ2IC0zNSAtODQgLTc5IC04NHpNMjM5IDI1NmgxN3YtODBjMCAtNjcgLTUxIC0xMjIgLTExNyAtMTI3di02M2g2OXYtMThoLTE2MXYxOGg3M3Y2M2MtNjcgNSAtMTIwIDYwIC0xMjAgMTI3djgwaDE5di04MGMwIC02MCA1MCAtMTA5IDExMCAtMTA5czExMCA0OSAxMTAgMTA5djgweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1taW51cy1lbXB0eSIgdW5pY29kZT0iJiN4ZjQ2MjsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTI1NiAxODNoLTI1NnYxN2gyNTZ2LTE3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1taW51cy1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDYzOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IDQwMGMxMTUgMCAyMDggLTkzIDIwOCAtMjA4cy05MyAtMjA4IC0yMDggLTIwOHMtMjA4IDkzIC0yMDggMjA4czkzIDIwOCAyMDggMjA4ek0yMDggMWMxMDUgMCAxOTEgODYgMTkxIDE5MXMtODYgMTkxIC0xOTEgMTkxcy0xOTEgLTg2IC0xOTEgLTE5MXM4NiAtMTkxIDE5MSAtMTkxek04MCAxODN2MTdoMjU2di0xN2gtMjU2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1taW51cyIgdW5pY29kZT0iJiN4ZjQ2NDsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCA0MDBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHpNMzM2IDE4M3YxN2gtMjU2di0xN2gyNTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLW1vbml0b3Itb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ2NTsiIGhvcml6LWFkdi14PSI0ODAiIAorZD0iTTQ4MCA2NGgtMTc2di0xNmg2NHYtMTZoLTI1N3YxNmg2NHYxNmgtMTc1djI4OGg0ODB2LTI4OHpNMTYgMzM2di0yNTZoNDQ4djI1NmgtNDQ4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1tb25pdG9yIiB1bmljb2RlPSImI3hmNDY2OyIgaG9yaXotYWR2LXg9IjQ4MCIgCitkPSJNNDgwIDY0aC0xNzZ2LTE2aDY0di0xNmgtMjU3djE2aDY0djE2aC0xNzV2Mjg4aDQ4MHYtMjg4ek0xNiAzMzZ2LTI1Nmg0NDh2MjU2aC00NDh6TTMyIDk2djIyNGg0MTZ2LTIyNGgtNDE2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1tb29uLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0Njc7IiBob3Jpei1hZHYteD0iMjE2IiAKK2Q9Ik0xOTUgMTMzYzcgMCAxNCAxIDIxIDNjLTQgLTcgLTcgLTEyIC0xMiAtMThjLTIxIC0yNSAtNTMgLTQxIC04OCAtNDFjLTY0IDAgLTExNiA1MSAtMTE2IDExNWMwIDUyIDM0IDk2IDgxIDExMWM3IDIgMTQgMyAyMiA0Yy00IC02IC04IC0xMiAtMTEgLTE4Yy03IC0xNCAtMTEgLTMwIC0xMSAtNDdjMCAtMjkgMTEgLTU2IDMyIC03N3M0OCAtMzIgNzcgLTMyaDV6TTExNiA5M2MyNSAwIDQ4IDkgNjUgMjRjLTY1IDUgLTExNiA1OSAtMTE2IDEyNQorYzAgMTQgMiAyOCA2IDQwYy0zMyAtMTYgLTU1IC01MSAtNTUgLTkwYzAgLTU1IDQ1IC05OSAxMDAgLTk5eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1tb29uIiB1bmljb2RlPSImI3hmNDY4OyIgaG9yaXotYWR2LXg9IjIxNiIgCitkPSJNMTk1IDEzM2M3IDAgMTQgMSAyMSAzYy00IC03IC03IC0xMiAtMTIgLTE4Yy0yMSAtMjUgLTUzIC00MSAtODggLTQxYy02NCAwIC0xMTYgNTEgLTExNiAxMTVjMCA1MiAzNCA5NiA4MSAxMTFjNyAyIDE0IDMgMjIgNGMtNCAtNiAtOCAtMTIgLTExIC0xOGMtNyAtMTQgLTExIC0zMCAtMTEgLTQ3YzAgLTI5IDExIC01NiAzMiAtNzdzNDggLTMyIDc3IC0zMmg1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1tb3JlLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0Njk7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0xNjAgMjEwYy0xMCAwIC0xOCAtOCAtMTggLTE4czggLTE4IDE4IC0xOHMxOCA4IDE4IDE4cy04IDE4IC0xOCAxOHpNMTYwIDIyNHYwYzE4IDAgMzIgLTE0IDMyIC0zMnMtMTQgLTMyIC0zMiAtMzJzLTMyIDE0IC0zMiAzMnMxNCAzMiAzMiAzMnpNMzIgMjEwYy0xMCAwIC0xOCAtOCAtMTggLTE4czggLTE4IDE4IC0xOHMxOCA4IDE4IDE4cy04IDE4IC0xOCAxOHpNMzIgMjI0djBjMTggMCAzMiAtMTQgMzIgLTMycy0xNCAtMzIgLTMyIC0zMgorcy0zMiAxNCAtMzIgMzJzMTQgMzIgMzIgMzJ6TTI4OCAyMTBjLTEwIDAgLTE4IC04IC0xOCAtMThzOCAtMTggMTggLTE4czE4IDggMTggMThzLTggMTggLTE4IDE4ek0yODggMjI0djBjMTggMCAzMiAtMTQgMzIgLTMycy0xNCAtMzIgLTMyIC0zMnMtMzIgMTQgLTMyIDMyczE0IDMyIDMyIDMyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1tb3JlIiB1bmljb2RlPSImI3hmNDZhOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMTYwIDIyNHYwYzE4IDAgMzIgLTE0IDMyIC0zMnMtMTQgLTMyIC0zMiAtMzJzLTMyIDE0IC0zMiAzMnMxNCAzMiAzMiAzMnpNMzIgMjI0djBjMTggMCAzMiAtMTQgMzIgLTMycy0xNCAtMzIgLTMyIC0zMnMtMzIgMTQgLTMyIDMyczE0IDMyIDMyIDMyek0yODggMjI0djBjMTggMCAzMiAtMTQgMzIgLTMycy0xNCAtMzIgLTMyIC0zMnMtMzIgMTQgLTMyIDMyczE0IDMyIDMyIDMyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1tdXNpY2FsLW5vdGUiIHVuaWNvZGU9IiYjeGY0NmI7IiBob3Jpei1hZHYteD0iMTkyIiAKK2Q9Ik0xOTIgMzQ2di0xdi02NWMwIC0zIC0zIC02IC02IC01djBsLTczIDEzdi0xOTJjMCAtMzMgMSAtODAgLTUxIC04MmMtNDggLTIgLTYyIDE2IC02MiA0MWMwIDE5IDkgMzkgNTEgNDFjMjIgMSAzNyAxIDQ1IDF2MjczbDkwIC0xOWwyIC0xYzIgMCAzIC0xIDQgLTN2MHYtMXYweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1tdXNpY2FsLW5vdGVzIiB1bmljb2RlPSImI3hmNDZjOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMzIwIDEyOGMwIC0zNCA0IC04MCAtNDkgLTgyYy00OSAtMiAtNjIgMTYgLTYyIDQxYzAgMjAgOSAzOSA1MiA0MWMyMyAxIDM0IDIgNDMgMnYxNjBsLTE5MSAtMzJ2LTE2MWMwIC0zNCAzIC04MSAtNTAgLTgzYy00OSAtMiAtNjMgMTcgLTYzIDQyYzAgMjAgOSAzOSA1MiA0MWMyMyAxIDM1IDEgNDQgMXYyMzdsMjI0IDM1di0yNDJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLW5hdmlnYXRlLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0NmQ7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggMzg0Yy01MSAwIC05OSAtMjEgLTEzNSAtNTdzLTU3IC04NCAtNTcgLTEzNXMyMSAtOTkgNTcgLTEzNXM4NCAtNTcgMTM1IC01N3M5OSAyMSAxMzUgNTdzNTcgODQgNTcgMTM1cy0yMSA5OSAtNTcgMTM1cy04NCA1NyAtMTM1IDU3ek0yMDggNDAwdjBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHpNMzA0IDI4OGwtOTYgLTIyNHYxMjhoLTEyOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtbmF2aWdhdGUiIHVuaWNvZGU9IiYjeGY0NmU7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggNDAwYzExNSAwIDIwOCAtOTMgMjA4IC0yMDhzLTkzIC0yMDggLTIwOCAtMjA4cy0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDh6TTIwOCA2NGw5NiAyMjRsLTIyNCAtOTZoMTI4di0xMjh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLW51dHJpdGlvbi1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDZmOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMjk0IDIxNHYwYzYgLTYgMTAgLTE0IDEwIC0yM2MwIC0xMSAtNSAtMjAgLTEzIC0yNnYwcy01MSAtMzcgLTEwNiAtNzdsLTM4IDMxYy0yIDIgLTQgMyAtNiAzYy0xIDAgLTIgMCAtMyAtMXYwYy0yIC0yIC0yIC02IDEgLTEwbDI5IC0zNWwtMTE1IC04NGMtNiAtNCAtMTMgLTggLTIxIC04Yy0xOCAwIC0zMiAxNCAtMzIgMzJjMCA3IDEgMTMgNCAxOHYwYzIgMiAxNyAyNSAzNyA1N2wyMSAtMTdjMiAtMiA0IC0yIDYgLTJjMSAwIDMgMCA0IDF2MAorYzIgMiAxIDYgLTIgMTBsLTE5IDIzYzI3IDQzIDYwIDk2IDg0IDEzNGwzNiAtMzBjMiAtMiA0IC0zIDYgLTNjMSAwIDIgMSAzIDJ2MGMyIDIgMiA1IC0xIDlsLTMzIDQwYzExIDE4IDE5IDI5IDE5IDI5djBjNiAxMCAxNSAxNiAyNyAxNmM5IDAgMTggLTQgMjQgLTEwdjBsNzggLTc5djB2MHpNMjgyIDE3OGM0IDMgNiA4IDYgMTNjMCA0IC0yIDkgLTUgMTJsLTUgNHYxbC02OSA2OXYwbC01IDVjLTMgMyAtOCA1IC0xMiA1CitjLTYgMCAtMTAgLTMgLTEzIC04bC01IC04Yy0yIC0zIC01IC03IC04IC0xMmwyNSAtMzB2MGwxIC0xYzggLTEwIDggLTIyIDAgLTMwbC0xIC0xbC0xIC0xYy00IC0zIC04IC01IC0xMyAtNXMtMTEgMiAtMTYgNnYxaC0xbC0yMSAxOGwtMjQgLTM5bC00NCAtNzBsMTIgLTE0djB2MGM4IC0xMCA4IC0yMyAwIC0zMXYwYy00IC00IC05IC02IC0xNSAtNmMtNSAwIC0xMSAyIC0xNiA2djB2MGwtNyA1Yy0zIC01IC01IC05IC04IC0xMworYy0xMiAtMTkgLTE2IC0yNiAtMTggLTI5Yy0xIC0zIC0yIC02IC0yIC05YzAgLTkgNyAtMTYgMTYgLTE2YzMgMCA2IDIgMTEgNWwxMDEgNzRsLTE4IDIyaC0xdjBjLTggMTAgLTggMjMgMCAzMXYwdjB2MGM0IDQgMTAgNiAxNSA2czExIC0yIDE2IC02djBoMWwyOCAtMjRjNDkgMzYgOTMgNjggOTYgNzB6TTM3NiAzMzNsOCAtMTRsLTUgLTNsLTEwMyAtNjBsLTE3IDE3bDcxIDEyM2wyIDRsMTQgLThsLTMgLTRsLTYzIC0xMTFsOTEgNTN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLW51dHJpdGlvbiIgdW5pY29kZT0iJiN4ZjQ3MDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTI5NSAyMTR2MGM2IC02IDkgLTEzIDkgLTIyYzAgLTExIC01IC0yMCAtMTMgLTI2djBzLTUxIC0zOCAtMTA2IC03OGwtMzggMzJjLTQgMyAtOCAzIC0xMCAxdjBjLTIgLTIgLTIgLTYgMSAtMTBsMjkgLTM1bC0xMTQgLTg0Yy02IC00IC0xMyAtOCAtMjEgLThjLTE4IDAgLTMyIDE0IC0zMiAzMmMwIDcgMiAxMyA1IDE4djBjMSAyIDE2IDI1IDM2IDU3bDIwIC0xN2M0IC0zIDggLTMgMTAgLTF2MGMyIDIgMiA2IC0xIDEwbC0yMCAyMworYzI3IDQzIDYwIDk2IDg0IDEzNGwzNiAtMzBjNCAtMyA4IC0zIDEwIC0xdjBjMiAyIDIgNiAtMSAxMGwtMzMgNDBjMTEgMTggMTggMjkgMTggMjl2MGM2IDEwIDE2IDE2IDI4IDE2YzkgMCAxOCAtNCAyNCAtMTB2MGw3OCAtNzlsMSAtMXYwek0zODQgMzA5bC0xMDMgLTU5bC0yOCAyOWw3MCAxMjFsMjggLTE2bC01MCAtODVsNjcgMzh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXBhcGVyLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0NzE7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik00OCAzODRoMzM2di0zNTNjMCAtMTcgLTE0IC0zMSAtMzEgLTMxaC0zMjJjLTE3IDAgLTMxIDE0IC0zMSAzMXYzMDVoMzJ2LTE2aC0xNnYtMjg5YzAgLTggNyAtMTUgMTUgLTE1aDMyMmM4IDAgMTUgNyAxNSAxNXYzMzdoLTMwNHYtMzIwaC0xNnYzMjB2MTZ6TTk2IDMyMHYxNmgxMjh2LTE2aC0xMjh6TTk2IDI0MHYxNmgyNDB2LTE2aC0yNDB6TTk2IDE2MHYxNmgxOTJ2LTE2aC0xOTJ6TTk2IDgwdjE2aDI0MHYtMTZoLTI0MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcGFwZXIiIHVuaWNvZGU9IiYjeGY0NzI7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik00OCAzODRoMzM2di0zNTNjMCAtMTcgLTE0IC0zMSAtMzEgLTMxaC0zMjJjLTE3IDAgLTMxIDE0IC0zMSAzMXYzMDVoMzJ2LTI4OGgxNnYyODh2MzJ2MTZ6TTk2IDMzNnYtMTZoMTI4djE2aC0xMjh6TTk2IDE3NnYtMTZoMTkydjE2aC0xOTJ6TTMzNiA4MHYxNmgtMjQwdi0xNmgyNDB6TTMzNiAyNDB2MTZoLTI0MHYtMTZoMjQweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1wYXBlcnBsYW5lLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0NzM7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0wIDE5OGwzMjAgMTU0bC0xNDYgLTMyMGwtNTcgMTE1ek0xMzIgMTUybDQxIC04M2wxMTUgMjQ5ek0yODYgMzIwbC0yNDggLTEyMWw4MyAtMzZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXBhcGVycGxhbmUiIHVuaWNvZGU9IiYjeGY0NzQ7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0wIDE5OGwzMjAgMTU0bC0yMTQgLTIwMHpNMzIwIDM1MmwtMTQ2IC0zMjBsLTUyIDEwNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcGFydGx5c3Vubnktb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ3NTsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTE0NCAyOTh2NTRoMTZ2LTU0aC0xNnpNMCAxOTJ2MTZoNTV2LTE2aC01NXpNNDQgMjk5bDEwIDExbDMyIC0zMmwtMTEgLTExek0yMjMgMjY4bC0xMSAxMWwzMiAzMmwxMSAtMTF6TTU2IDk2bC0xMCAxMWwzMSAzMWwxMSAtMTF6TTEyOSAxNTNjLTQgLTMgLTggLTcgLTEyIC0xMmMtMjMgMTIgLTM5IDM2IC0zOSA2M2MwIDM5IDMyIDcxIDcxIDcxYzIxIDAgNDAgLTEwIDUzIC0yNWMtNCAtMiAtOSAtNCAtMTQgLTgKK2MtMTAgMTEgLTIzIDE3IC0zOSAxN2MtMzAgMCAtNTUgLTI1IC01NSAtNTVjMCAtMjMgMTUgLTQzIDM1IC01MXpNMjM1IDIwOGMtMzQgMCAtNjMgLTI4IC02MyAtNjJ2LTEyczEgLTEwIDEgLTEwYy01IDAgLTEyIC0xIC0xNCAtMWMtMTkgLTMgLTMzIC0xOCAtMzMgLTM3YzAgLTEwIDMgLTE5IDEwIC0yNnMxNiAtMTEgMjYgLTExaDE1N2MyNyAwIDQ5IDIyIDQ5IDQ5cy0yMiA1MCAtNDkgNTBjLTIgMCAtNCAtMSAtNiAtMWwtMTQgLTJsLTMgMTQKK2MtMyAxNCAtMTEgMjYgLTIyIDM1cy0yNSAxNCAtMzkgMTR6TTIzNSAyMjR2MGMzNyAwIDY4IC0yNiA3NiAtNjFoOGMzNiAwIDY1IC0yOSA2NSAtNjVzLTI5IC02NiAtNjUgLTY2aC0xNTdjLTI4IDAgLTUyIDI0IC01MiA1M2MwIDI3IDIxIDUxIDQ3IDUzdjhjMCA0MyAzNSA3OCA3OCA3OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcGFydGx5c3VubnkiIHVuaWNvZGU9IiYjeGY0NzY7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xNDQgMjk4djU0aDE2di01NGgtMTZ6TTAgMTkydjE2aDU1di0xNmgtNTV6TTQ0IDI5OWwxMCAxMWwzMiAtMzJsLTExIC0xMXpNMjIzIDI2OGwtMTEgMTFsMzIgMzJsMTEgLTExek01NiA5NmwtMTAgMTFsMzEgMzFsMTEgLTExek0yMzUgMjI0djBjMzcgMCA2OCAtMjYgNzYgLTYxaDhjMzYgMCA2NSAtMjkgNjUgLTY1cy0yOSAtNjYgLTY1IC02NmgtMTU3Yy0yOCAwIC01MiAyNCAtNTIgNTNjMCAyNyAyMSA1MSA0NyA1M3Y4CitjMCA0MyAzNSA3OCA3OCA3OHpNMjAxIDI1MmwxIC0ydjBjLTMxIC01IC02MiAtNDMgLTYyIC03NWMwIC0yIDEgLTUgMSAtN2wtMSAtMWgtMWMtMTEgLTYgLTE4IC0xNCAtMjIgLTI2djF2LTFjLTIzIDEyIC0zOSAzNiAtMzkgNjNjMCAzOSAzMiA3MSA3MSA3MWMyMSAwIDM5IC05IDUyIC0yM3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcGF1c2Utb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ3NzsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTYzIDMzNmgtNDd2LTI4OGg0N3YyODh6TTc5IDM1MnYwdi0zMjBoLTc5djMyMGg3OXpNMjQwIDMzNmgtNDd2LTI4OGg0N3YyODh6TTI1NiAzNTJ2MHYtMzIwaC03OXYzMjBoNzl6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXBhdXNlIiB1bmljb2RlPSImI3hmNDc4OyIgaG9yaXotYWR2LXg9IjI1NiIgCitkPSJNMCAzMnYzMjBoNzl2LTMyMGgtNzl6TTE3NyAzMnYzMjBoNzl2LTMyMGgtNzl6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXBhdy1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDc5OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzgwIDI1MmM2IC0xNyA1IC0zOCAtMyAtNTdjLTEwIC0yNSAtMzEgLTQzIC01MSAtNDNjLTUgMCAtMTAgMSAtMTUgM2MtMjIgMTAgLTMwIDQ1IC0xNyA3OWMxMCAyOCAzMSA0NiA1MSA0NmM1IDAgMTAgLTEgMTQgLTNjMTAgLTQgMTcgLTEzIDIxIC0yNXpNMzYyIDIwMmM2IDE1IDcgMzEgMiA0NGMtMiA1IC01IDEyIC0xMiAxNWMtMiAxIC00IDIgLTcgMmMtMTMgMCAtMjggLTE1IC0zNiAtMzZjLTkgLTI1IC02IC01MCA4IC01NgorYzIgLTEgNSAtMSA4IC0xYzE0IDAgMjkgMTMgMzcgMzJ6TTkwIDIzNGMxMyAtMzQgNSAtNjkgLTE3IC03OWMtNSAtMiAtMTAgLTMgLTE1IC0zYy0yMCAwIC00MSAxOCAtNTEgNDNjLTggMTkgLTkgNDAgLTMgNTdjNCAxMiAxMSAyMSAyMSAyNWM0IDIgOSAzIDE0IDNjMjAgMCA0MSAtMTggNTEgLTQ2ek02NyAxNzFjMTQgNiAxNyAzMSA4IDU2Yy04IDIxIC0yMyAzNiAtMzYgMzZjLTMgMCAtNSAtMSAtNyAtMmMtNyAtMyAtMTAgLTEwIC0xMiAtMTUKK2MtNSAtMTMgLTQgLTI5IDIgLTQ0YzggLTE5IDIzIC0zMiAzNyAtMzJjMyAwIDYgMCA4IDF6TTEzNCAyMzdjLTI4IDEgLTUyIDMyIC01NiA2OWMtMiAyMyA0IDQ1IDE2IDYwYzggMTAgMTkgMTcgMzEgMThoNmMyNyAtMSA0NiAtMjkgNTAgLTY3YzMgLTI0IC0xIC00OCAtMTMgLTYzYy04IC05IC0xNyAtMTUgLTI4IC0xNmMtMiAwIC00IC0xIC02IC0xek0xMDcgMzU2Yy0xMCAtMTIgLTE0IC0yOSAtMTIgLTQ4YzMgLTI5IDIxIC01MyA0MCAtNTRoMworYzYgMSAxMiA0IDE3IDEwYzEwIDEyIDEyIDMxIDEwIDUxYy0zIDI5IC0xNyA1MiAtMzUgNTNoLTNjLTkgLTEgLTE2IC03IC0yMCAtMTJ6TTE5MiAyMDhjNjQgMCAxMjggLTc2IDEyOCAtMTQ5YzAgLTIyIC0xMSAtNDAgLTIyIC00N2MtMTMgLTkgLTIzIC0xMiAtNDIgLTEyYy0yMyAwIC0yOSA4IC00MCAxNWMtOCA1IC0xNCAxMCAtMjQgMTBzLTE2IC01IC0yNCAtMTBjLTExIC03IC0xNyAtMTUgLTQwIC0xNWMtMTkgMCAtMjkgMyAtNDIgMTIKK2MtMTEgNyAtMjIgMjUgLTIyIDQ3YzAgNzMgNjQgMTQ5IDEyOCAxNDl6TTI5MCAyN2M2IDQgMTQgMTYgMTQgMzJjMCAzMCAtMTQgNjQgLTM2IDkxYy0xMSAxMyAtMjMgMjQgLTM2IDMxYy0xMyA4IC0yNyAxMSAtNDAgMTFzLTI3IC0zIC00MCAtMTFjLTEzIC03IC0yNSAtMTggLTM2IC0zMWMtMjIgLTI3IC0zNiAtNjEgLTM2IC05MWMwIC0xNiA4IC0yOCAxNCAtMzJjMTEgLTcgMTggLTEwIDM0IC0xMGMxNCAwIDE5IDQgMjYgOWMyIDEgNCAzIDYgNAorYzkgNiAxOCAxMiAzMiAxMnMyMyAtNiAzMiAtMTJjMiAtMSA0IC0zIDYgLTRjNyAtNSAxMiAtOSAyNiAtOWMxNiAwIDIzIDMgMzQgMTB6TTI0NCAyMzhjLTExIDEgLTIwIDcgLTI4IDE2Yy0xMiAxNSAtMTYgMzkgLTEzIDYzYzQgMzggMjMgNjYgNTAgNjdoN2MxMiAtMSAyMiAtOCAzMCAtMThjMTIgLTE1IDE4IC0zNyAxNiAtNjBjLTQgLTM3IC0yOCAtNjcgLTU2IC02OGgtNnpNMjE5IDMxNWMtMiAtMjAgMCAtMzkgMTAgLTUxCitjNSAtNiAxMSAtOSAxNyAtMTBoM2MxOSAxIDM4IDI1IDQxIDU0YzIgMTkgLTMgMzYgLTEzIDQ4Yy00IDUgLTEwIDExIC0xOSAxMmgtNGMtMTggLTEgLTMyIC0yNCAtMzUgLTUzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1wYXciIHVuaWNvZGU9IiYjeGY0N2E7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zODAgMjUyYzYgLTE3IDUgLTM4IC0zIC01N2MtMTAgLTI1IC0zMSAtNDMgLTUxIC00M2MtNSAwIC0xMCAxIC0xNSAzYy0yMiAxMCAtMzAgNDUgLTE3IDc5YzEwIDI4IDMxIDQ2IDUxIDQ2YzUgMCAxMCAtMSAxNCAtM2MxMCAtNCAxNyAtMTMgMjEgLTI1ek05MCAyMzRjMTMgLTM0IDUgLTY5IC0xNyAtNzljLTUgLTIgLTEwIC0zIC0xNSAtM2MtMjAgMCAtNDEgMTggLTUxIDQzYy04IDE5IC05IDQwIC0zIDU3YzQgMTIgMTEgMjEgMjEgMjUKK2M0IDIgOSAzIDE0IDNjMjAgMCA0MSAtMTggNTEgLTQ2ek0xMzQgMjM3Yy0yOCAxIC01MiAzMiAtNTYgNjljLTIgMjMgNCA0NSAxNiA2MGM4IDEwIDE5IDE3IDMxIDE4aDZjMjcgLTEgNDYgLTI5IDUwIC02N2MzIC0yNCAtMSAtNDggLTEzIC02M2MtOCAtOSAtMTcgLTE1IC0yOCAtMTZjLTIgMCAtNCAtMSAtNiAtMXpNMTkyIDIwOGM2NCAwIDEyOCAtNzYgMTI4IC0xNDljMCAtMjIgLTExIC00MCAtMjIgLTQ3Yy0xMyAtOSAtMjMgLTEyIC00MiAtMTIKK2MtMjMgMCAtMjkgOCAtNDAgMTVjLTggNSAtMTQgMTAgLTI0IDEwcy0xNiAtNSAtMjQgLTEwYy0xMSAtNyAtMTcgLTE1IC00MCAtMTVjLTE5IDAgLTI5IDMgLTQyIDEyYy0xMSA3IC0yMiAyNSAtMjIgNDdjMCA3MyA2NCAxNDkgMTI4IDE0OXpNMjQ0IDIzOGMtMTEgMSAtMjAgNyAtMjggMTZjLTEyIDE1IC0xNiAzOSAtMTMgNjNjNCAzOCAyMyA2NiA1MCA2N2g3YzEyIC0xIDIyIC04IDMwIC0xOGMxMiAtMTUgMTggLTM3IDE2IC02MAorYy00IC0zNyAtMjggLTY3IC01NiAtNjhoLTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXBlb3BsZS1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDdiOyIgCitkPSJNMjI0IDMzNnYwdjB6TTMxNyAxMTNjMTEgLTQgLTExIDQgMCAwYzI4IC0xMCA0NiAtMzUgNDYgLTY1aC0yOGgtMjUwYzAgMjIgOSA0MiAyNyA1NWMxNSAxMSAzMSAxMiA0OSAxNmM3IDEgMjQgNSAyNiAxM3MxIDE1IDEgMjNjMCAzIDAgMyAtMiA1Yy00IDQgLTYgOSAtOCAxNGMtMiA4IC0zIDE2IC00IDI0Yy05IC0yIC0xMCAxNiAtMTIgMjFjLTEgNCAtNyAyNCAzIDIxYy0zIDUgLTQgMTMgLTUgMTljLTIgMTMgLTIgMjYgMyAzOQorYzEwIDI2IDM3IDM5IDY0IDM4YzI2IC0xIDUxIC0xNiA1OSAtNDJjNCAtMTIgMyAtMjYgMSAtMzljLTEgLTUgLTIgLTExIC00IC0xNWMxMCAzIDQgLTIwIDMgLTIzYy0yIC01IC0zIC0yMSAtMTIgLTE5Yy0xIC0xMCAtMiAtMjIgLTcgLTMxYy0xIC0yIC03IC04IC03IC0xMHYtMTFjMCAtNSAwIC0xMCAyIC0xNXMxMCAtNyAxNCAtOGMxNCAtNSAyNyAtNSA0MSAtMTB6TTExNSA4NGMtNiAtNiA5IDEwIDAgMGMtNiAtNiAtMTAgLTEyIC0xMiAtMjBoNAoraDIzOGMtNCAxNSAtMTcgMjcgLTMwIDMzcy0yOCA0IC00MSA5cy0yNSA5IC0yOCAyNWMtMiAxMSAtMiAyMiAtMiAzM2MwIDIgNyA3IDggOWMzIDUgNCAxMSA1IDE3YzEgNSAwIDEyIDQgMTVjNSA0IDcgNyA5IDEzYzIgOCAzIDEyIC0xIDE5Yy0zIDUgMCA4IDEgMTNjMyAxMSA0IDI0IDIgMzZjLTggMzcgLTYyIDQ1IC04NiAxOWMtMTIgLTEzIC0xMiAtMzEgLTkgLTQ3YzEgLTYgNiAtMTQgMyAtMTljLTEgLTMgLTUgLTYgLTQgLTEwCitjMiAtNSAyIC0xMSA0IC0xNmMyIC00IDQgLTYgNyAtOHMzIC02IDMgLTljMSAtNyAyIC0xNyA2IC0yM2MzIC00IDggLTYgOCAtMTF2LTIxYy0xIC04IC0yIC0xOCAtOCAtMjRjLTcgLTYgLTE4IC0xMCAtMjcgLTEyYy0xMSAtMyAtMjMgLTMgLTMzIC03Yy04IC0zIC0xNSAtOCAtMjEgLTE0ek0xMTIgMTI2Yy0xNSAtNyA5IDQgMCAwYy05IC01IC0xOCAtMTEgLTI1IC0xOWMtMSAtMiAtNiAtMTEgLTcgLTExaC0yNWgtNTVjMCAyMCAxMyAzNCAzMSA0MAorYzYgMiAyNyA0IDMwIDExYzIgNSAwIDExIDAgMTZjLTEwIC0xIC0yNCAxIC0zMiA3Yy0yIDIgMyA5IDQgMTJsMyAxMmMxIDkgMSAxOSAxIDI4YzAgMTYgLTEgMzQgOCA0OGM4IDEzIDIzIDE4IDM4IDE4YzI0IDAgNDMgLTEzIDQ3IC0zN2MzIC0xNiAxIC0zMiAyIC00OGMwIC04IDIgLTE2IDUgLTI0YzEgLTIgNSAtNyAzIC05bC02IC0zYy01IC0yIC0xMSAtMyAtMTcgLTRjLTEgMCAtOCAwIC05IC0xczAgLTkgMCAtMTFjMCAtNCAxIC02IDUgLTcKK2M2IC0yIDE5IC0zIDIzIC04YzIgLTMgMSAtNSAtMiAtNWMtOCAtMSAtMTUgLTEgLTIyIC01ek03MSAxMTJjNiAxMCAxNiAxOCAyNiAyNGMtOSA5IC01IDI2IC00IDM3YzAgMiAwIDUgMiA1aDhjNiAwIDExIDEgMTcgMmMtNyAyMyAwIDQ3IC01IDcwYy0zIDE2IC0xNSAyMyAtMzEgMjNjLTE3IDAgLTI3IC05IC0zMCAtMjVjLTQgLTIyIDMgLTQ2IC00IC02OGM5IC0xIDE3IC0yIDI2IC0yYzEgMCAxIC0yOCAxIC0yOQorYy0xIC0xMiAtOCAtMTggLTE5IC0yMmMtMTIgLTQgLTI5IC0zIC0zNiAtMTVoNDl6TTM2OCA5NmMtMiA4IC0xMCAxNCAtMTYgMTljLTggNiAtMTggMTMgLTI4IDE1Yy0zIDEgLTE2IC0xIC0xMyA1YzIgNCA5IDUgMTMgNnMxNSAyIDE2IDdjMCAxIDEgMTQgMCAxNGMtNiAwIC0xMiAxIC0xOCAyYy00IDEgLTcgMiAtMTEgNGMtNiAzIC0yIDYgMCAxMWMxNCAzMiAtMTAgODggMzIgMTA1YzE1IDYgMzQgNSA0OCAtM2MxNSAtOSAyMCAtMjcgMjAgLTQ0CitjMCAtMjAgLTQgLTQ0IDcgLTYyYzIgLTMgNCAtNCAwIC02Yy0yIC0xIC00IC0xIC02IC0ybC0xMiAtM3MtOSAtMSAtMTMgLTFjMCAtNCAtMiAtMTMgMSAtMTdjNiAtNyAyMSAtNyAyOSAtMTBjMTggLTYgMzEgLTIwIDMxIC00MGgtODB6TTM2NyAxMjNjNCAtNCAtNSA1IDAgMHM4IC0xMSAxNSAtMTFoMTZoMjhjLTcgMTIgLTI2IDExIC0zOCAxNmMtMTEgNCAtMTYgMTIgLTE3IDI0YzAgMiAtMSAyNyAxIDI3YzkgMCAxOCAwIDI2IDEKK2MtNyAyMyAxIDQ3IC00IDcwYy0zIDE1IC0xNSAyMyAtMzAgMjNjLTE3IDAgLTI4IC04IC0zMSAtMjVjLTQgLTIzIDIgLTQ2IC01IC02OGM2IC0yIDEyIC0yIDE4IC0yczggMSA5IC01YzEgLTExIDUgLTI4IC00IC0zN2M2IC00IDExIC04IDE2IC0xM3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcGVvcGxlIiB1bmljb2RlPSImI3hmNDdjOyIgCitkPSJNMzE3IDExM2MxMSAtNCAtMTEgNCAwIDB2MHpNMzE3IDExM2MyOCAtMTAgNDYgLTM1IDQ2IC02NWgtMjhoLTI1MGMwIDIyIDkgNDIgMjcgNTVjMTUgMTEgMzEgMTIgNDkgMTZjNyAxIDI0IDUgMjYgMTNzMSAxNSAxIDIzYzAgMyAwIDMgLTIgNWMtNCA0IC02IDkgLTggMTRjLTIgOCAtMyAxNiAtNCAyNGMtOSAtMiAtMTAgMTYgLTEyIDIxYy0xIDQgLTcgMjQgMyAyMWMtMyA1IC00IDEzIC01IDE5Yy0yIDEzIC0yIDI2IDMgMzkKK2MxMCAyNiAzNyAzOSA2NCAzOGMyNiAtMSA1MSAtMTYgNTkgLTQyYzQgLTEyIDMgLTI2IDEgLTM5Yy0xIC01IC0yIC0xMSAtNCAtMTVjMTAgMyA0IC0yMCAzIC0yM2MtMiAtNSAtMyAtMjEgLTEyIC0xOWMtMSAtMTAgLTIgLTIyIC03IC0zMWMtMSAtMiAtNyAtOCAtNyAtMTB2LTExYzAgLTUgMCAtMTAgMiAtMTVzMTAgLTcgMTQgLThjMTQgLTUgMjcgLTUgNDEgLTEwek0xMTEgMTI2aDJoLTFoLTF6TTExMSAxMjZjLTkgLTUgLTE3IC0xMSAtMjQgLTE5CitjLTEgLTIgLTYgLTExIC03IC0xMWgtMjVoLTU1YzAgMjAgMTIgMzQgMzAgNDBjNiAyIDI3IDQgMzAgMTFjMiA1IDEgMTEgMSAxNmMtMTAgLTEgLTI0IDEgLTMyIDdjLTIgMiAzIDkgNCAxMmMxIDQgMiA3IDMgMTFjMSA5IDEgMTkgMSAyOGMwIDE2IC0xIDM1IDggNDljOCAxMyAyMyAxOCAzOCAxOGMyNCAwIDQzIC0xMyA0NyAtMzdjMyAtMTYgMSAtMzIgMiAtNDhjMCAtOCAyIC0xNiA1IC0yNGMxIC0yIDUgLTcgMyAtOWwtNiAtMworYy01IC0yIC0xMSAtMyAtMTcgLTRjLTEgMCAtOCAwIC05IC0xczAgLTkgMCAtMTFjMCAtNCAxIC02IDUgLTdjNiAtMiAxOSAtMyAyMyAtOGMyIC0zIDEgLTUgLTIgLTVjLTcgLTEgLTE0IC0yIC0yMSAtNWMyIDEgMiAyIC0xIDBjLTggLTQgLTQgLTIgLTEgMHpNNDE3IDEzNmMxOCAtNiAzMSAtMjAgMzEgLTQwaC04MGMtMiA4IC0xMCAxNCAtMTYgMTljLTggNiAtMTggMTMgLTI4IDE1Yy0zIDEgLTE2IC0xIC0xMyA1YzIgNCA5IDUgMTMgNgorczE1IDIgMTYgN2MwIDEgMSAxNCAwIDE0Yy02IDAgLTEyIDEgLTE4IDJjLTQgMSAtNyAyIC0xMSA0Yy02IDMgLTIgNiAwIDExYzE0IDMyIC0xMCA4OCAzMiAxMDVjMTUgNiAzNCA1IDQ4IC0zYzE1IC05IDIwIC0yNyAyMCAtNDRjMCAtMjAgLTQgLTQ0IDcgLTYyYzIgLTMgNCAtNCAwIC02Yy0yIC0xIC00IC0xIC02IC0ybC0xMiAtM3MtOSAtMSAtMTMgLTFjMCAtNCAtMiAtMTMgMSAtMTdjNiAtNyAyMSAtNyAyOSAtMTB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXBlcnNvbi1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDdkOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMTA2IDI0NnYwdjB6TTI2NyA4NGMxMyAtNSA1MyAtMjAgNTMgLTUyaC0xNjBoLTE2MGMwIDMyIDQwIDQ3IDUzIDUyczMxIDYgNDMgOWM3IDIgMTcgNSAyMCA5czEgNDEgMSA0MXMtNiAxMCAtOSAxOHMtNyAzMiAtNyAzMnMtNyAwIC05IDEyYy0yIDEzIC02IDE3IC02IDI3YzAgOSA1IDEwIDUgMTB2MHMtNCAxMyAtNSA0MmMtMSAzNCAyNSA2OCA3NCA2OHM3NSAtMzQgNzQgLTY4Yy0xIC0yOSAtNSAtNDIgLTUgLTQydjBzNSAtMSA1IC0xMAorYzAgLTEwIC0zIC0xNSAtNiAtMjhjLTIgLTEyIC05IC0xMiAtOSAtMTJzLTQgLTIzIC03IC0zMXMtOSAtMTggLTkgLTE4cy0yIC0zNyAxIC00MXMxMyAtNyAyMCAtOWMxMiAtMyAzMCAtNCA0MyAtOXpNMTYwIDQ4djBoMTM3Yy0yIDMgLTQgNiAtOCA4Yy03IDUgLTE2IDkgLTI3IDEzYy03IDIgLTE3IDQgLTI2IDVjLTYgMSAtMTAgMiAtMTUgM2MtMyAxIC0yMSA1IC0yOSAxNWMtNCA1IC02IDEyIC02IDMyYzAgMTAgMSAyMCAxIDIwdjRsMiA0CitjMSAyIDYgOSA4IDE1YzIgNSA1IDE5IDYgMjhjMCAwIDAgLTEgMSA0czggNCA5IDhzMyA3IDUgMThzLTUgMTIgLTUgMTdjMCA0IDEgNSAxIDV2MGMwIDEgNCAxNCA0IDM4YzAgMTMgLTUgMjYgLTE0IDM1Yy0xMSAxMSAtMjUgMTYgLTQ0IDE2Yy0xOCAwIC0zNCAtNSAtNDUgLTE2Yy05IC05IC0xMyAtMjIgLTEzIC0zNWMxIC0yNCA0IC0zNyA0IC0zOHYwczEgLTMgMCAtNmMtMSAtNSAtNiAtNSAtNCAtMTZzNCAtMTQgNSAtMThzOCAtMyA5IC04CitzMSAtNCAxIC00YzEgLTkgNCAtMjMgNiAtMjhjMiAtNiA2IC0xMyA4IC0xNWwyIC00di00czEgLTEwIDEgLTIwYzAgLTIwIC0yIC0yNyAtNiAtMzJjLTggLTEwIC0yNiAtMTQgLTI5IC0xNWMtNSAtMSAtMTAgLTIgLTE2IC0zYy05IC0xIC0xOCAtMyAtMjUgLTVjLTExIC00IC0yMCAtOCAtMjcgLTEzYy00IC0yIC02IC01IC04IC04aDEzN3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcGVyc29uIiB1bmljb2RlPSImI3hmNDdlOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMjY3IDg0YzEzIC01IDUzIC0yMCA1MyAtNTJoLTE2MGgtMTYwYzAgMzIgNDAgNDcgNTMgNTJzMzEgNiA0MyA5YzcgMiAxNyA1IDIwIDlzMSA0MSAxIDQxcy02IDEwIC05IDE4cy03IDMyIC03IDMycy03IDAgLTkgMTJjLTIgMTMgLTYgMTcgLTYgMjdjMCA5IDUgMTAgNSAxMHYwcy00IDEzIC01IDQyYy0xIDM0IDI1IDY4IDc0IDY4czc1IC0zNCA3NCAtNjhjLTEgLTI5IC01IC00MiAtNSAtNDJ2MHM1IC0xIDUgLTEwCitjMCAtMTAgLTMgLTE1IC02IC0yOGMtMiAtMTIgLTkgLTEyIC05IC0xMnMtNCAtMjMgLTcgLTMxcy05IC0xOCAtOSAtMThzLTIgLTM3IDEgLTQxczEzIC03IDIwIC05YzEyIC0zIDMwIC00IDQzIC05eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1wZXJzb25hZGQtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ3ZjsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTMyMCAyOTV2LTE0aC0yNXYtMjVoLTE0djI1aC0yNXYxNGgyNXYyNWgxNHYtMjVoMjV6TTEwNiAyNDZ2MHYwek0yNjcgODRjMTMgLTUgNTMgLTIwIDUzIC01MmgtMTYwaC0xNjBjMCAzMiA0MCA0NyA1MyA1MnMzMSA2IDQzIDljNyAyIDE3IDUgMjAgOXMxIDQxIDEgNDFzLTYgMTAgLTkgMThzLTcgMzIgLTcgMzJzLTcgMCAtOSAxMmMtMiAxMyAtNiAxNyAtNiAyN2MwIDkgNSAxMCA1IDEwdjBzLTQgMTMgLTUgNDJjLTEgMzQgMjUgNjggNzQgNjgKK3M3NSAtMzQgNzQgLTY4Yy0xIC0yOSAtNSAtNDIgLTUgLTQydjBzNSAtMSA1IC0xMGMwIC0xMCAtMyAtMTUgLTYgLTI4Yy0yIC0xMiAtOSAtMTIgLTkgLTEycy00IC0yMyAtNyAtMzFzLTkgLTE4IC05IC0xOHMtMiAtMzcgMSAtNDFzMTMgLTcgMjAgLTljMTIgLTMgMzAgLTQgNDMgLTl6TTE2MCA0OHYwaDEzN2MtMiAzIC00IDYgLTggOGMtNyA1IC0xNiA5IC0yNyAxM2MtNyAyIC0xNyA0IC0yNiA1Yy02IDEgLTEwIDIgLTE1IDMKK2MtMyAxIC0yMSA1IC0yOSAxNWMtNCA1IC02IDEyIC02IDMyYzAgMTAgMSAyMCAxIDIwdjRsMiA0YzEgMiA2IDkgOCAxNWMyIDUgNSAxOSA2IDI4YzAgMCAwIC0xIDEgNHM4IDQgOSA4czMgNyA1IDE4cy01IDEyIC01IDE3YzAgNCAxIDUgMSA1djBjMCAxIDQgMTQgNCAzOGMwIDEzIC01IDI2IC0xNCAzNWMtMTEgMTEgLTI1IDE2IC00NCAxNmMtMTggMCAtMzQgLTUgLTQ1IC0xNmMtOSAtOSAtMTMgLTIyIC0xMyAtMzVjMSAtMjQgNCAtMzcgNCAtMzgKK3YwczEgLTMgMCAtNmMtMSAtNSAtNiAtNSAtNCAtMTZzNCAtMTQgNSAtMThzOCAtMyA5IC04czEgLTQgMSAtNGMxIC05IDQgLTIzIDYgLTI4YzIgLTYgNiAtMTMgOCAtMTVsMiAtNHYtNHMxIC0xMCAxIC0yMGMwIC0yMCAtMiAtMjcgLTYgLTMyYy04IC0xMCAtMjYgLTE0IC0yOSAtMTVjLTUgLTEgLTEwIC0yIC0xNiAtM2MtOSAtMSAtMTggLTMgLTI1IC01Yy0xMSAtNCAtMjAgLTggLTI3IC0xM2MtNCAtMiAtNiAtNSAtOCAtOGgxMzd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXBlcnNvbmFkZCIgdW5pY29kZT0iJiN4ZjQ4MDsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTMyMCAyOTV2LTE0aC0yNXYtMjVoLTE0djI1aC0yNXYxNGgyNXYyNWgxNHYtMjVoMjV6TTI2NyA4NGMxMyAtNSA1MyAtMjAgNTMgLTUyaC0xNjBoLTE2MGMwIDMyIDQwIDQ3IDUzIDUyczMxIDYgNDMgOWM3IDIgMTcgNSAyMCA5czEgNDEgMSA0MXMtNiAxMCAtOSAxOHMtNyAzMiAtNyAzMnMtNyAwIC05IDEyYy0yIDEzIC02IDE3IC02IDI3YzAgOSA1IDEwIDUgMTB2MHMtNCAxMyAtNSA0MmMtMSAzNCAyNSA2OCA3NCA2OAorczc1IC0zNCA3NCAtNjhjLTEgLTI5IC01IC00MiAtNSAtNDJ2MHM1IC0xIDUgLTEwYzAgLTEwIC0zIC0xNSAtNiAtMjhjLTIgLTEyIC05IC0xMiAtOSAtMTJzLTQgLTIzIC03IC0zMXMtOSAtMTggLTkgLTE4cy0yIC0zNyAxIC00MXMxMyAtNyAyMCAtOWMxMiAtMyAzMCAtNCA0MyAtOXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcGhvdG9zLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0ODE7IiAKK2Q9Ik02NCAzMjBoMzg0di0zMjBoLTM4NHYzMjB6TTQzMiAxNnYyODhoLTM1MnYtMjg4aDM1MnpNMCAzODRoMzg0di00OGgtMTZ2MzJoLTM1MnYtMjg4aDMydi0xNmgtNDh2MzIweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1waG90b3MiIHVuaWNvZGU9IiYjeGY0ODI7IiAKK2Q9Ik02NCAzMjBoMzg0di0zMjBoLTM4NHYzMjB6TTM4NCAzODR2LTQ4aC0zMzZ2LTI3MmgtNDh2MzIwaDM4NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcGllLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0ODM7IiAKK2Q9Ik0yNTYgMzY3djB2LTIwN3YtMTJsLTEyIC00bC0xODAgLTQ1YzYgLTEzIDEzIC0yNSAyMSAtMzZjMTIgLTE2IDI1IC0zMCA0MSAtNDJjMzMgLTI0IDczIC0zNyAxMTQgLTM3YzI2IDAgNTEgNSA3NSAxNWMyMyAxMCA0MyAyMyA2MSA0MXMzMSAzOCA0MSA2MWMxMCAyNCAxNSA0OSAxNSA3NWMwIDUxIC0yMCAxMDAgLTU2IDEzNmMtMzIgMzIgLTc1IDUxIC0xMjAgNTV6TTI0MCAzODR2MGMxMTUgMCAyMDggLTkzIDIwOCAtMjA4CitzLTkzIC0yMDggLTIwOCAtMjA4Yy05MiAwIC0xNzEgNjAgLTE5OCAxNDNsMTk4IDQ5djIyNHpNMjA4IDQwMGMtMzEgLTEgLTYwIC03IC04NSAtMThjLTI0IC0xMSAtNDQgLTI2IC02MSAtNDZjLTI5IC0zNCAtNDYgLTgwIC00NiAtMTI3djB2MGMwIC0xMyAzIC00NiAxMiAtNzBsMTgwIDQ2djIxNXpNMjI0IDQxNnYwdi0yNDRsLTIwNSAtNTJjLTE5IDMyIC0xOSA4OSAtMTkgODljMCA5MSA1OCAyMDcgMjE4IDIwN2g2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1waWUiIHVuaWNvZGU9IiYjeGY0ODQ7IiAKK2Q9Ik0yNDAgMzg0djBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhjLTkyIDAgLTE3MSA2MCAtMTk4IDE0M2wxOTggNDl2MjI0ek0yMjQgNDE2djB2LTI0NGwtMjA1IC01MmMtMTkgMzIgLTE5IDg5IC0xOSA4OWMwIDkxIDU4IDIwNyAyMTggMjA3aDZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXBpbnQtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ4NTsiIGhvcml6LWFkdi14PSIyMjQiIAorZD0iTTIyNCAyNzhjMCAtOTggLTMyIC0xMDEgLTMyIC0xODFjMCAtNDAgMTYgLTcxIDE2IC05OWMwIC0yNyAtOSAtMzAgLTMyIC0zMGgtMTI4Yy0yMyAwIC0zMiAyIC0zMiAyOWMwIDI4IDE2IDYwIDE2IDEwMGMwIDgwIC0zMiA4MyAtMzIgMTgxYzAgMjEgMSA4OSAxOSAxMjVjNCA5IDEzIDEzIDMyIDEzaDEyMmMxOSAwIDI4IC00IDMyIC0xM2MxOCAtMzYgMTkgLTEwNCAxOSAtMTI1ek0zNCAzOTZjLTggLTE2IC0xNCAtNDMgLTE3IC03NmgxOTAKK2MtMyAzMyAtOSA2MCAtMTcgNzZjLTEgMiAtMSAxIC0yIDJjLTIgMSAtNiAyIC0xNSAyaC0xMjJjLTkgMCAtMTMgLTEgLTE1IC0yYy0xIC0xIC0xIDAgLTIgLTJ6TTE5MSAtMTVjMCAxIDEgNSAxIDEzYzAgMTEgLTQgMjMgLTcgMzdjLTQgMTggLTkgMzkgLTkgNjJjMCA0MSA4IDY0IDE2IDg2YzggMjMgMTYgNDYgMTYgOTVjMCA5IC0xIDE4IC0xIDI2aC0xOTBjMCAtOCAtMSAtMTcgLTEgLTI2YzAgLTQ5IDggLTcyIDE2IC05NQorYzggLTIyIDE2IC00NSAxNiAtODZjMCAtMjMgLTUgLTQ0IC05IC02MmMtMyAtMTQgLTcgLTI2IC03IC0zN2MwIC04IDEgLTEyIDEgLTEzYzIgLTEgNyAtMSAxNSAtMWgxMjhjOCAwIDEzIDAgMTUgMXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcGludCIgdW5pY29kZT0iJiN4ZjQ4NjsiIGhvcml6LWFkdi14PSIyMjQiIAorZD0iTTIyNCAyNzhjMCAtOTggLTMyIC0xMDEgLTMyIC0xODFjMCAtNDAgMTYgLTcxIDE2IC05OWMwIC0yNyAtOSAtMzAgLTMyIC0zMGgtMTI4Yy0yMyAwIC0zMiAyIC0zMiAyOWMwIDI4IDE2IDYwIDE2IDEwMGMwIDgwIC0zMiA4MyAtMzIgMTgxYzAgMjEgMSA4OSAxOSAxMjVjNCA5IDEzIDEzIDMyIDEzaDEyMmMxOSAwIDI4IC00IDMyIC0xM2MxOCAtMzYgMTkgLTEwNCAxOSAtMTI1ek0zNCAzOTZjLTggLTE2IC0xNCAtNDMgLTE3IC03NmgxOTAKK2MtMyAzMyAtOSA2MCAtMTcgNzZjLTEgMiAtMSAxIC0yIDJjLTIgMSAtNiAyIC0xNSAyaC0xMjJjLTkgMCAtMTMgLTEgLTE1IC0yYy0xIC0xIC0xIDAgLTIgLTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXBsYXktb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ4NzsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTE2IDMyM3YtMjYybDIxMCAxMzF6TTAgMzUydjBsMjU2IC0xNjBsLTI1NiAtMTYwdjMyMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcGxheSIgdW5pY29kZT0iJiN4ZjQ4ODsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTAgMzUydjBsMjU2IC0xNjBsLTI1NiAtMTYwdjMyMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcGx1cy1lbXB0eSIgdW5pY29kZT0iJiN4ZjQ4OTsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTI1NiAxODNoLTEyMHYtMTE5aC0xN3YxMTloLTExOXYxN2gxMTl2MTIwaDE3di0xMjBoMTIwdi0xN3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcGx1cy1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDhhOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IDQwMGMxMTUgMCAyMDggLTkzIDIwOCAtMjA4cy05MyAtMjA4IC0yMDggLTIwOHMtMjA4IDkzIC0yMDggMjA4czkzIDIwOCAyMDggMjA4ek0yMDggMWMxMDUgMCAxOTEgODYgMTkxIDE5MXMtODYgMTkxIC0xOTEgMTkxcy0xOTEgLTg2IC0xOTEgLTE5MXM4NiAtMTkxIDE5MSAtMTkxek0yMTYgMzIwdi0xMjBoMTIwdi0xN2gtMTIwdi0xMTloLTE3djExOWgtMTE5djE3aDExOXYxMjBoMTd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXBsdXMiIHVuaWNvZGU9IiYjeGY0OGI7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggNDAwYzExNSAwIDIwOCAtOTMgMjA4IC0yMDhzLTkzIC0yMDggLTIwOCAtMjA4cy0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDh6TTMzNiAxODN2MTdoLTEyMHYxMjBoLTE3di0xMjBoLTExOXYtMTdoMTE5di0xMTloMTd2MTE5aDEyMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtcHJpY2V0YWctb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ4YzsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTQxNiA0MTZ2LTE2MGwtMjU2IC0yODhsLTE2MCAxNjBsMjU2IDI4OGgxNjB6TTQwMCAyNjR2MTM2aC0xMzZsLTI0MCAtMjcybDEzNiAtMTM2ek0zMjAgMjg4Yy0xOCAwIC0zMiAxNCAtMzIgMzJzMTQgMzIgMzIgMzJzMzIgLTE0IDMyIC0zMnMtMTQgLTMyIC0zMiAtMzJ6TTMyMCAzMzZjLTkgMCAtMTYgLTcgLTE2IC0xNnM3IC0xNiAxNiAtMTZzMTYgNyAxNiAxNnMtNyAxNiAtMTYgMTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXByaWNldGFnIiB1bmljb2RlPSImI3hmNDhkOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMzA0IDMyMGMwIDExIDUgMTYgMTYgMTZzMTYgLTUgMTYgLTE2cy01IC0xNiAtMTYgLTE2cy0xNiA1IC0xNiAxNnpNMjU2IDQxNmgxNjB2LTE2MGwtMjU2IC0yODhsLTE2MCAxNjB6TTMyMCAyODhjOSAwIDE2IDQgMjIgMTBzMTAgMTMgMTAgMjJzLTQgMTYgLTEwIDIycy0xMyAxMCAtMjIgMTBzLTE2IC00IC0yMiAtMTBzLTEwIC0xMyAtMTAgLTIyczQgLTE2IDEwIC0yMnMxMyAtMTAgMjIgLTEweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1wcmljZXRhZ3Mtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ4ZTsiIAorZD0iTTQxNiAzODRoMzJ2LTE0NGwtMjQwIC0yNzJsLTI1IDI0bC0yMyAtMjRsLTE2MCAxNjBsMjU2IDI4OGgxNjB2LTMyek0xNjAgLTlsMTIgMTJsMTEgMTJsMjE3IDI0OHYxMDV2MTZ2MTZoLTEzN2wtMjQxIC0yNzJ6TTQzMiAyNDd2MTIxaC0xNnYtMTEybC0yMjEgLTI1M2wxMyAtMTJ6TTMyMCAyODhjLTE4IDAgLTMyIDE0IC0zMiAzMnMxNCAzMiAzMiAzMnMzMiAtMTQgMzIgLTMycy0xNCAtMzIgLTMyIC0zMnpNMzIwIDMzNgorYy05IDAgLTE2IC03IC0xNiAtMTZzNyAtMTYgMTYgLTE2czE2IDcgMTYgMTZzLTcgMTYgLTE2IDE2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1wcmljZXRhZ3MiIHVuaWNvZGU9IiYjeGY0OGY7IiAKK2Q9Ik00MzIgMzg0aDE2di0xNDRsLTI0MCAtMjcybC0xMyAxM2wyMzcgMjY2djEzN3pNMjU2IDQxNmgxNjB2LTMydi0xNnYtMTEybC0yMjEgLTI1M2wtMTIgLTExbC0yMyAtMjRsLTE2MCAxNjB6TTMyMCAyODhjMTggMCAzMiAxNCAzMiAzMnMtMTQgMzIgLTMyIDMycy0zMiAtMTQgLTMyIC0zMnMxNCAtMzIgMzIgLTMyek0zMDQgMzIwYzAgMTEgNSAxNiAxNiAxNnMxNiAtNSAxNiAtMTZzLTUgLTE2IC0xNiAtMTZzLTE2IDUgLTE2IDE2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1wcmludGVyLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0OTA7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0zODQgMzM2YzE4IDAgMzIgLTEzIDMyIC0zMXYtMTU5YzAgLTE4IC0xNCAtMzIgLTMyIC0zMmgtNDh2LTExNGgtMjU2djExNGgtNDhjLTE4IDAgLTMyIDE0IC0zMiAzMnYxNTljMCAxOCAxNCAzMSAzMiAzMWgzMnY0OGgyODh2LTQ4aDMyek04MCAzNjh2LTMyaDI1NnYzMmgtMjU2ek0zMjAgMTZ2MTkyaC0yMjR2LTE5MmgyMjR6TTQwMCAxNDZ2MTU5YzAgOSAtNyAxNSAtMTYgMTV2MGgtMzUyYy05IDAgLTE2IC02IC0xNiAtMTV2LTE1OQorYzAgLTkgNyAtMTYgMTYgLTE2aDQ4djk0aDI1NnYtOTRoNDhjOSAwIDE2IDcgMTYgMTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXByaW50ZXIiIHVuaWNvZGU9IiYjeGY0OTE7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik04MCAwdjIyNGgyNTZ2LTIyNGgtMjU2ek04MCAtMHYyMjRoMjU2di0yMjRoLTI1NnpNNjQgMzUydjMyaDI4OHYtMzJoLTI4OHpNMzg1IDMzNmMxOCAwIDMxIC0xNCAzMSAtMzF2LTE1OGMwIC0xNyAtMTMgLTM0IC0zMSAtMzRoLTMzdjEyNmgtMjg4di0xMjZoLTMxYy0xOCAwIC0zMyAxNyAtMzMgMzR2MTU4YzAgMTcgMTUgMzEgMzMgMzFoMzUyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1wdWxzZS1zdHJvbmciIHVuaWNvZGU9IiYjeGY0OTI7IiBob3Jpei1hZHYteD0iNDgwIiAKK2Q9Ik00MzIgMTc1YzI3IDAgNDggLTIwIDQ4IC00N3MtMjEgLTQ5IC00OCAtNDljLTIxIDAgLTM4IDEzIC00NSAzMWgtNTFjLTcgMCAtMTMgNCAtMTUgMTFsLTE2IDQ3bC01MCAtMTczYy0yIC03IC04IC0xMSAtMTUgLTExaC0xYy03IDAgLTE0IDUgLTE1IDEybC01MSAzMDhsLTQ1IC0xODJjLTIgLTcgLTkgLTEyIC0xNiAtMTJoLTExMnYzMmg5OWw2MSAyNDVjMiA3IDggMTMgMTYgMTNzMTUgLTcgMTYgLTE0bDUyIC0zMTRsNDUgMTU1CitjMiA3IDggMTEgMTUgMTF2MGM3IDAgMTMgLTQgMTUgLTExbDI5IC04NWgzOGM2IDE5IDI1IDMzIDQ2IDMzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1wdWxzZSIgdW5pY29kZT0iJiN4ZjQ5MzsiIAorZD0iTTQxNiAxNjBjMTggMCAzMiAtMTQgMzIgLTMycy0xNCAtMzIgLTMyIC0zMmMtMTUgMCAtMjcgMTAgLTMxIDIzaC02NWMtMyAwIC03IDIgLTggNWwtMjMgNzJsLTU3IC0xOThjLTEgLTMgLTQgLTYgLTggLTZ2MGMtNCAwIC03IDMgLTggN2wtNTggMzQ2bC01NCAtMjIwYy0xIC00IC00IC02IC04IC02aC05NnYxNmg5MGw2MiAyNTFjMSA0IDQgNiA4IDZzNyAtMyA4IC03bDU4IC0zNDlsNTQgMTkwYzEgMyA0IDUgOCA1czcgLTIgOCAtNWwzMCAtOTEKK2g1OWMzIDE0IDE2IDI1IDMxIDI1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1yYWlueS1vdXRsaW5lIiB1bmljb2RlPSImI3hmNDk0OyIgaG9yaXotYWR2LXg9IjI4OCIgCitkPSJNMjIwIDI2OWMzOCAwIDY4IC0zMyA2OCAtNzFjMCAtMjkgLTE5IC01NiAtNDUgLTY2bC01NSAtODBjLTIgLTIgLTUgLTQgLTggLTRjLTUgMCAtOCAzIC04IDhjMCAyIDEgNCAyIDZsNDYgNjZ2MGgtMzVsLTMxIC00NGMtMiAtMiAtNCAtNCAtNyAtNGMtNSAwIC05IDMgLTkgOGMwIDIgMSAzIDIgNWwyNSAzNWgtMzdsLTUzIC03NmMtMiAtMiAtNCAtNCAtNyAtNGMtNSAwIC05IDMgLTkgOGMwIDIgMiA0IDMgNmw0NiA2NmgtMzZsLTMyIC00NAorYy0yIC0yIC00IC00IC03IC00Yy01IDAgLTggMyAtOCA4YzAgMiAxIDQgMiA2bDI1IDM0Yy0yOSAyIC01MiAyNyAtNTIgNTZjMCAyOCAyMiA1OCA1MCA2MGMwIDMgLTEgNSAtMSA4YzAgNDYgMzEgODQgODIgODRjNDUgMCA3MyAtMzEgODEgLTY4YzMgMCA1IDEgOCAxek0yMjAgMTQ2YzI4IDAgNTIgMjQgNTIgNTJzLTI0IDU0IC01MiA1NGgtNmwtMTUgLTJsLTMgMTVjLTMgMTQgLTExIDMxIC0yMyA0MGMtMTIgMTAgLTI2IDE0IC00MSAxNAorYy0zNiAwIC02NiAtMzEgLTY2IC02N3YtMTJ2LTEwYy02IDAgLTEyIC0yIC0xNCAtMmMtMjAgLTMgLTM1IC0yMyAtMzUgLTQzYzAgLTEwIDQgLTIwIDExIC0yN3MxNiAtMTIgMjYgLTEyaDEyNHYwdjBoNDJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXJhaW55IiB1bmljb2RlPSImI3hmNDk1OyIgaG9yaXotYWR2LXg9IjI4OCIgCitkPSJNMjIwIDI2OWMzOCAwIDY4IC0zMyA2OCAtNzFjMCAtMjkgLTE5IC01NiAtNDUgLTY2bC01NSAtODBjLTIgLTIgLTUgLTQgLTggLTRjLTUgMCAtOCAzIC04IDhjMCAyIDEgNCAyIDZsNDYgNjZ2MGgtMzVsLTMxIC00NGMtMiAtMiAtNCAtNCAtNyAtNGMtNSAwIC05IDMgLTkgOGMwIDIgMSAzIDIgNWwyNSAzNWgtMzdsLTUzIC03NmMtMiAtMiAtNCAtNCAtNyAtNGMtNSAwIC05IDMgLTkgOGMwIDIgMiA0IDMgNmw0NiA2NmgtMzZsLTMyIC00NAorYy0yIC0yIC00IC00IC03IC00Yy01IDAgLTggMyAtOCA4YzAgMiAxIDQgMiA2bDI1IDM0Yy0yOSAyIC01MiAyNyAtNTIgNTZjMCAyOCAyMiA1OCA1MCA2MGMwIDMgLTEgNSAtMSA4YzAgNDYgMzEgODQgODIgODRjNDUgMCA3MyAtMzEgODEgLTY4YzMgMCA1IDEgOCAxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1yZWNvcmRpbmctb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ5NjsiIGhvcml6LWFkdi14PSI0ODAiIAorZD0iTTM3MCAzMDRjNjEgMCAxMTAgLTUwIDExMCAtMTEycy00OSAtMTEyIC0xMTAgLTExMmgtMjYwYy02MSAwIC0xMTAgNTAgLTExMCAxMTJzNDkgMTEyIDExMCAxMTJzMTEwIC01MCAxMTAgLTExMmMwIC00MCAtMjEgLTc1IC01MyAtOTVoMTQ2Yy0zMiAyMCAtNTMgNTUgLTUzIDk1YzAgNjIgNDkgMTEyIDExMCAxMTJ6TTE2IDE5MmMwIC01MyA0MiAtOTUgOTQgLTk1czkzIDQyIDkzIDk1cy00MSA5NSAtOTMgOTVzLTk0IC00MiAtOTQgLTk1egorTTM3MCA5N2M1MiAwIDk0IDQyIDk0IDk1cy00MiA5NSAtOTQgOTVzLTkzIC00MiAtOTMgLTk1czQxIC05NSA5MyAtOTV6TTM2OCAyNDBjLTI2IDAgLTQ4IC0yMiAtNDggLTQ4czIyIC00OCA0OCAtNDhzNDggMjIgNDggNDhzLTIyIDQ4IC00OCA0OHpNMzY4IDI1NnYwYzM1IDAgNjQgLTI5IDY0IC02NHMtMjkgLTY0IC02NCAtNjRzLTY0IDI5IC02NCA2NHMyOSA2NCA2NCA2NHpNMTEyIDI0MGMtMjYgMCAtNDggLTIyIC00OCAtNDgKK3MyMiAtNDggNDggLTQ4czQ4IDIyIDQ4IDQ4cy0yMiA0OCAtNDggNDh6TTExMiAyNTZ2MGMzNSAwIDY0IC0yOSA2NCAtNjRzLTI5IC02NCAtNjQgLTY0cy02NCAyOSAtNjQgNjRzMjkgNjQgNjQgNjR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXJlY29yZGluZyIgdW5pY29kZT0iJiN4ZjQ5NzsiIGhvcml6LWFkdi14PSI0ODAiIAorZD0iTTM3MCAzMDRjNjEgMCAxMTAgLTUwIDExMCAtMTEycy00OSAtMTEyIC0xMTAgLTExMmgtMjYwYy02MSAwIC0xMTAgNTAgLTExMCAxMTJzNDkgMTEyIDExMCAxMTJzMTEwIC01MCAxMTAgLTExMmMwIC00MCAtMjEgLTc2IC01MyAtOTVoMTQ2Yy0zMiAxOSAtNTMgNTUgLTUzIDk1YzAgNjIgNDkgMTEyIDExMCAxMTJ6TTExMiAxMjhjMzUgMCA2NCAyOSA2NCA2NHMtMjkgNjQgLTY0IDY0cy02NCAtMjkgLTY0IC02NHMyOSAtNjQgNjQgLTY0egorTTM2OCAxMjhjMzUgMCA2NCAyOSA2NCA2NHMtMjkgNjQgLTY0IDY0cy02NCAtMjkgLTY0IC02NHMyOSAtNjQgNjQgLTY0ek0zNjggMjQwYzI2IDAgNDggLTIyIDQ4IC00OHMtMjIgLTQ4IC00OCAtNDhzLTQ4IDIyIC00OCA0OHMyMiA0OCA0OCA0OHpNMTEyIDI0MGMyNiAwIDQ4IC0yMiA0OCAtNDhzLTIyIC00OCAtNDggLTQ4cy00OCAyMiAtNDggNDhzMjIgNDggNDggNDh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXJlZG8tb3V0bGluZSIgdW5pY29kZT0iJiN4ZjQ5ODsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTAgNDh2MzJjMCAxNyAtMyA4MyA0OSAxMzZjMzUgMzYgODAgNTMgMTQzIDU2djgwbDE5MiAtMTI4bC0xOTIgLTEyOHY4MGMtNDAgLTEgLTYzIC05IC04NyAtMjBjLTMxIC0xNCAtNTUgLTQ0IC03NSAtNzdsLTIwIC0zMWgtMTB6TTIwOCAyNTZjLTIwMSAwIC0xOTIgLTE2OSAtMTkyIC0xNjljNDggODEgMTAxIDEwNSAxOTIgMTA1di02NWwxNDggOTdsLTE0OCA5N3YtNjV6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXJlZG8iIHVuaWNvZGU9IiYjeGY0OTk7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0wIDQ4djMyYzAgMTcgLTMgODMgNDkgMTM2YzM1IDM2IDgwIDUzIDE0MyA1NnY4MGwxOTIgLTEyOGwtMTkyIC0xMjh2ODBjLTQwIC0xIC02MyAtOSAtODcgLTIwYy0zMSAtMTQgLTU1IC00NCAtNzUgLTc3bC0yMCAtMzFoLTEweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1yZWZyZXNoLWVtcHR5IiB1bmljb2RlPSImI3hmNDlhOyIgaG9yaXotYWR2LXg9IjI1NiIgCitkPSJNMTI4IDY0Yy03MSAwIC0xMjggNTcgLTEyOCAxMjhzNTcgMTI4IDEyOCAxMjh2NDRsOTYgLTY0bC05NiAtNTZ2NTZjLTYwIDAgLTEwOCAtNDggLTEwOCAtMTA4czQ4IC0xMDggMTA4IC0xMDhzMTA4IDQ4IDEwOCAxMDhoMjBjMCAtNzEgLTU3IC0xMjggLTEyOCAtMTI4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1yZWZyZXNoLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0OWI7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0zMTYgMTkydjBoMjBjMCAtNzEgLTU3IC0xMjggLTEyOCAtMTI4cy0xMjggNTcgLTEyOCAxMjhzNTcgMTI4IDEyOCAxMjh2NDRsOTYgLTY0bC05NiAtNTZ2NTZjLTYwIDAgLTEwOCAtNDggLTEwOCAtMTA4czQ4IC0xMDggMTA4IC0xMDhzMTA4IDQ4IDEwOCAxMDh6TTIwOCA0MDBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDhzLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHpNMjA4IDEKK2MxMDUgMCAxOTEgODYgMTkxIDE5MXMtODYgMTkxIC0xOTEgMTkxcy0xOTEgLTg2IC0xOTEgLTE5MXM4NiAtMTkxIDE5MSAtMTkxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1yZWZyZXNoIiB1bmljb2RlPSImI3hmNDljOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IDQwMGMxMTUgMCAyMDggLTkzIDIwOCAtMjA4cy05MyAtMjA4IC0yMDggLTIwOHMtMjA4IDkzIC0yMDggMjA4czkzIDIwOCAyMDggMjA4ek0yMDggNjRjNzEgMCAxMjggNTcgMTI4IDEyOGgtMjBjMCAtNjAgLTQ4IC0xMDggLTEwOCAtMTA4cy0xMDggNDggLTEwOCAxMDhzNDggMTA4IDEwOCAxMDh2LTU2bDk2IDU2bC05NiA2NHYtNDRjLTcxIDAgLTEyOCAtNTcgLTEyOCAtMTI4czU3IC0xMjggMTI4IC0xMjh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXJlbG9hZCIgdW5pY29kZT0iJiN4ZjQ5ZDsiIAorZD0iTTE5MiAzODRjMTA2IDAgMTkyIC04NiAxOTIgLTE5Mmw1NSA1M2w5IC05bC03MCAtNjhsLTY3IDY4bDkgOWw1MSAtNTJjMCA5OCAtODAgMTc4IC0xNzkgMTc4cy0xNzkgLTgwIC0xNzkgLTE3OXM4MCAtMTc5IDE3OSAtMTc5Yzc5IDAgMTQ2IDUwIDE3MCAxMjFsMTIgLTNjLTI2IC03NiAtOTcgLTEzMSAtMTgyIC0xMzFjLTEwNiAwIC0xOTIgODYgLTE5MiAxOTJzODYgMTkyIDE5MiAxOTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXJldmVyc2UtY2FtZXJhLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0OWU7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0yMzggMTI5bDIgMmwxMSAtMTJsLTIgLTJjLTE2IC0xNCAtMzYgLTIxIC01NyAtMjFjLTQ1IDAgLTgyIDM2IC04NyA3OGgtMzBsMzggNTBsMzkgLTUwaC0zMWM1IC0zMyAzNSAtNjIgNzEgLTYyYzE3IDAgMzMgNiA0NiAxN3pNMjUyIDI0OWMxNiAtMTQgMjUgLTM3IDI3IC01N2gzMGwtMzggLTUxbC0zOSA1MWgzMWMtNSAzNSAtMzUgNjQgLTcxIDY0Yy0xNyAwIC0zMyAtNiAtNDYgLTE3bC0yIC0ybC0xMSAxMmwyIDIKK2MxNiAxNCAzNiAyMSA1NyAyMWMyMiAwIDQ0IC04IDYwIC0yM3pNMzU0IDI4OGMxOCAwIDMwIC0xNCAzMCAtMzF2LTE3NmMwIC0xNyAtMTIgLTMzIC0zMCAtMzNoLTMyMGMtMTggMCAtMzQgMTYgLTM0IDMzdjE3NmMwIDE3IDE2IDMxIDM0IDMxaDEzdjE2aDM0di0xNmgxM2MzMiAzNiA0MyA0OCA1NSA0OGg4OGMxMiAwIDIzIC0xMiA1NSAtNDhoNjJ6TTM2OCA4MXYxNzZjMCA5IC01IDE1IC0xNCAxNWgtNjJoLTZzLTQgMSAtNiAzcy02IDggLTkgMTEKK2MtMTIgMTMgLTIxIDI0IC0yNyAzMGMtNSA1IC03IDQgLTcgNGgtODhzLTEgMCAtNiAtNGMtNiAtNSAtMTUgLTE0IC0yNiAtMjdjLTMgLTQgLTggLTExIC0xMSAtMTRzLTQgLTMgLTYgLTNoLTZoLTYwYy05IDAgLTE4IC03IC0xOCAtMTV2LTE3NmMwIC05IDkgLTE3IDE4IC0xN2gzMjBjOCAwIDE0IDggMTQgMTd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXJldmVyc2UtY2FtZXJhIiB1bmljb2RlPSImI3hmNDlmOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzU0IDI4OGMxOCAwIDMwIC0xNCAzMCAtMzF2LTE3NmMwIC0xNyAtMTIgLTMzIC0zMCAtMzNoLTMyMGMtMTggMCAtMzQgMTYgLTM0IDMzdjE3NmMwIDE3IDE2IDMxIDM0IDMxaDEzdjE2aDM0di0xNmgxM2MzMiAzNiA0MyA0OCA1NSA0OGg4OGMxMiAwIDIzIC0xMiA1NSAtNDhoNjJ6TTI0OSAxMTdsMiAybC0xMSAxMmwtMiAtMmMtMTMgLTExIC0yOSAtMTcgLTQ2IC0xN2MtMzYgMCAtNjYgMjkgLTcxIDYyaDMxbC0zOSA1MGwtMzggLTUwaDMwCitjNSAtNDIgNDIgLTc4IDg3IC03OGMyMSAwIDQxIDcgNTcgMjF6TTI3MSAxNDFsMzggNTFoLTMwYy0yIDIwIC0xMSA0MyAtMjcgNTdjLTE2IDE1IC0zOCAyMyAtNjAgMjNjLTIxIDAgLTQxIC03IC01NyAtMjFsLTIgLTJsMTEgLTEybDIgMmMxMyAxMSAyOSAxNyA0NiAxN2MzNiAwIDY2IC0yOSA3MSAtNjRoLTMxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1yZXdpbmQtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjRhMDsiIAorZD0iTTQzMiAyOTNsLTE4NCAtMTAxbDE4NCAtMTAxdjIwMnpNMjA4IDI5MnYwbC0xNzYgLTEwMGwxNzYgLTEwMHY5NXYyN3Y3OHpNMjI0IDMyMHYwdi0xMjNsMjI0IDEyM3YtMjU2bC0yMjQgMTIzdi0xMjNsLTIyNCAxMjh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXJld2luZCIgdW5pY29kZT0iJiN4ZjRhMTsiIAorZD0iTTIyNCAzMjB2MHYtMTIzbDIyNCAxMjN2LTI1NmwtMjI0IDEyM3YtMTIzbC0yMjQgMTI4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1yb3NlLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0YTI7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0yODQgMjk1Yy00IC0xIC05IC0zIC0xMyAtNGMtMzcgLTExIC03MSAtMjQgLTEwMyAtMzljLTE3IC04IC0yNCAtMTIgLTQ0IC0yNGwtNyAtNGMtMzEgLTE4IC01MCAtMzMgLTYzIC01MWMtMTUgLTIxIC0yMiAtNDUgLTIyIC03N2MwIC0xNiAzIC0zMCA5IC00NGM2IC0xMyAxNCAtMjYgMjUgLTM2YzIzIC0yMSA1NSAtMzIgOTQgLTMyczcxIDExIDk0IDMyYzExIDEwIDE5IDIzIDI1IDM2YzYgMTQgOSAyOCA5IDQ0YzAgMjAgLTUgNDAgLTExIDYwCitjLTExIDQwIC0yMyA4MyA3IDEzOXpNMzIwIDMyMHYwYy03NyAtOTYgLTE2IC0xNTEgLTE2IC0yMjRzLTU2IC0xMjggLTE0NCAtMTI4cy0xNDQgNTUgLTE0NCAxMjhzMzUgMTA5IDkzIDE0MmMyNSAxNCAzMyAxOSA1MiAyOGMzMCAxNCA2NSAyOCAxMDUgNDBjMTcgNSAzNSAxMCA1NCAxNHpNMzggMzI1YzE0IC0yOCAxOCAtNTcgMTkgLTgzYzkgNyAyMCAxMyAzMCAyMGM3IDQgMTQgOSAyMSAxM2M1IDMgMTAgNiAxNiA5Yy01IDQgLTExIDcgLTE3IDExCitjLTIyIDEzIC00OCAyMyAtNjkgMzB6TTAgMzUydjBzNjYgLTE1IDExNSAtNDNjMTUgLTggMjggLTE4IDM3IC0yOWMtMTIgLTYgLTI0IC0xMiAtMzYgLTE5Yy03IC00IC0xNCAtOCAtMjAgLTEyYy0yNSAtMTYgLTQ0IC0zMSAtNTcgLTQyYzUgNDEgMiA5OCAtMzkgMTQ1ek0yNDkgMzY3Yy04IC0xIC0yMCAtMiAtMzUgLTdjLTI1IC04IC00NyAtMjAgLTY0IC0zNmM4IC02IDE1IC0xMiAyMSAtMThjMjkgMTIgNjUgMjYgOTUgMzQKK2MtNSAxMCAtMTIgMjAgLTE3IDI3ek0yNTYgMzg0djBzMjYgLTMyIDMyIC01NWMtMzMgLTggLTg0IC0yNSAtMTIxIC00MmwtMyAzYy05IDExIC0yMiAyMiAtMzkgMzJjNTIgNjAgMTMxIDYyIDEzMSA2MnpNODUgMzk0Yy02IC0xMCAtMTAgLTIwIC0xNCAtMjhjMTIgLTQgMjIgLTEwIDM2IC0xN2M0IDUgOSAxMCAxNCAxNGMtMTMgMTUgLTI3IDI1IC0zNiAzMXpNODAgNDE2djBzMzUgLTE2IDY0IC01NmMtMTIgLTkgLTIzIC0yMCAtMzMgLTMxCitjLTI2IDEzIC00MCAyMSAtNjEgMjdjNSAxNSAxNSAzOCAzMCA2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mtcm9zZSIgdW5pY29kZT0iJiN4ZjRhMzsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTMyMCAzMjB2MGMtNzcgLTk2IC0xNiAtMTUxIC0xNiAtMjI0cy01NiAtMTI4IC0xNDQgLTEyOHMtMTQ0IDU1IC0xNDQgMTI4czM1IDEwOSA5MyAxNDJjMjUgMTQgMzMgMTkgNTIgMjhjMzAgMTQgNjUgMjggMTA1IDQwYzE3IDUgMzUgMTAgNTQgMTR6TTAgMzUydjBzNjYgLTE1IDExNSAtNDNjMTUgLTggMjggLTE4IDM3IC0yOWMtMTIgLTYgLTI0IC0xMiAtMzYgLTE5Yy03IC00IC0xNCAtOCAtMjAgLTEyCitjLTI1IC0xNiAtNDQgLTMxIC01NyAtNDJjNSA0MSAyIDk4IC0zOSAxNDV6TTI1NiAzODR2MHMyNiAtMzIgMzIgLTU1Yy0zMyAtOCAtODQgLTI1IC0xMjEgLTQybC0zIDNjLTkgMTEgLTIyIDIyIC0zOSAzMmM1MiA2MCAxMzEgNjIgMTMxIDYyek04MCA0MTZ2MHMzNSAtMTYgNjQgLTU2Yy0xMiAtOSAtMjMgLTIwIC0zMyAtMzFjLTI2IDEzIC00MCAyMSAtNjEgMjdjNSAxNSAxNSAzOCAzMCA2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mtc2VhcmNoLXN0cm9uZyIgdW5pY29kZT0iJiN4ZjRhNDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTI4MCAxNTBsLTQgLTdsMTA4IC0xMDlsLTM0IC0zNGwtMTA4IDEwOWwtNyAtNWMtMjQgLTE1IC01MyAtMjUgLTgzIC0yNWMtODQgMCAtMTUyIDY5IC0xNTIgMTUzczY4IDE1MiAxNTIgMTUyczE1MiAtNjggMTUyIC0xNTJjMCAtMzAgLTkgLTU4IC0yNCAtODJ6TTIzNyAzMTdjLTIzIDIzIC01MyAzNSAtODUgMzVzLTYyIC0xMiAtODUgLTM1cy0zNSAtNTMgLTM1IC04NXMxMiAtNjIgMzUgLTg1czUzIC0zNSA4NSAtMzVzNjIgMTIgODUgMzUKK3MzNiA1MyAzNiA4NXMtMTMgNjIgLTM2IDg1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1zZWFyY2giIHVuaWNvZGU9IiYjeGY0YTU7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zODQgMjNsLTIzIC0yM2wtMTEzIDExM2MtMjYgLTIxIC02MCAtMzMgLTk2IC0zM2MtODQgMCAtMTUyIDY4IC0xNTIgMTUyczY4IDE1MiAxNTIgMTUyczE1MiAtNjggMTUyIC0xNTJjMCAtMzYgLTEyIC02OSAtMzMgLTk1ek01NiAxMzVjMjYgLTI2IDYwIC0zOSA5NiAtMzlzNzAgMTQgOTYgNDBzNDAgNjAgNDAgOTZzLTE0IDcwIC00MCA5NnMtNjAgNDAgLTk2IDQwcy03MCAtMTQgLTk2IC00MHMtNDAgLTYwIC00MCAtOTYKK3MxNCAtNzEgNDAgLTk3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1zZXR0aW5ncy1zdHJvbmciIHVuaWNvZGU9IiYjeGY0YTY7IiAKK2Q9Ik0wIDcyaDI4M2M2IDE0IDIxIDI0IDM3IDI0czMxIC0xMCAzNyAtMjRoOTF2LTMyaC05MWMtNiAtMTQgLTIxIC0yNCAtMzcgLTI0cy0zMSAxMCAtMzcgMjRoLTI4M3pNMCAyMDhoOTFjNiAxNCAyMSAyNCAzNyAyNHMzMSAtMTAgMzcgLTI0aDI4M3YtMzJoLTI4M2MtNiAtMTQgLTIxIC0yNCAtMzcgLTI0cy0zMSAxMCAtMzcgMjRoLTkxek0wIDM0NGgyODNjNiAxNCAyMSAyNCAzNyAyNHMzMSAtMTAgMzcgLTI0aDkxdi0zMmgtOTEKK2MtNiAtMTQgLTIxIC0yNCAtMzcgLTI0cy0zMSAxMCAtMzcgMjRoLTI4M3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mtc2V0dGluZ3MiIHVuaWNvZGU9IiYjeGY0YTc7IiAKK2Q9Ik0zMjAgMzQ0Yy05IDAgLTE2IC03IC0xNiAtMTZzNyAtMTYgMTYgLTE2czE2IDcgMTYgMTZzLTcgMTYgLTE2IDE2ek0zMjAgMzYwdjBjMTggMCAzMiAtMTQgMzIgLTMycy0xNCAtMzIgLTMyIC0zMnMtMzIgMTQgLTMyIDMyczE0IDMyIDMyIDMyek0zMjAgNzJjLTkgMCAtMTYgLTcgLTE2IC0xNnM3IC0xNiAxNiAtMTZzMTYgNyAxNiAxNnMtNyAxNiAtMTYgMTZ6TTMyMCA4OHYwYzE4IDAgMzIgLTE0IDMyIC0zMnMtMTQgLTMyIC0zMiAtMzIKK3MtMzIgMTQgLTMyIDMyczE0IDMyIDMyIDMyek0xMjggMjA4Yy05IDAgLTE2IC03IC0xNiAtMTZzNyAtMTYgMTYgLTE2czE2IDcgMTYgMTZzLTcgMTYgLTE2IDE2ek0xMjggMjI0djBjMTggMCAzMiAtMTQgMzIgLTMycy0xNCAtMzIgLTMyIC0zMnMtMzIgMTQgLTMyIDMyczE0IDMyIDMyIDMyek0xNzUgMjAwaDI3M3YtMTZoLTI3M2MwIDMgMSA1IDEgOHMtMSA1IC0xIDh6TTgwIDE5MmMwIC0zIDEgLTUgMSAtOGgtODF2MTZoODEKK2MwIC0zIC0xIC01IC0xIC04ek0zNjcgNjRoODF2LTE2aC04MWMwIDMgMSA1IDEgOHMtMSA1IC0xIDh6TTI3MiA1NmMwIC0zIDEgLTUgMSAtOGgtMjczdjE2aDI3M2MwIC0zIC0xIC01IC0xIC04ek0zNjcgMzM2aDgxdi0xNmgtODFjMCAzIDEgNSAxIDhzLTEgNSAtMSA4ek0yNzMgMzM2YzAgLTMgLTEgLTUgLTEgLThzMSAtNSAxIC04aC0yNzN2MTZoMjczeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1zaHVmZmxlLXN0cm9uZyIgdW5pY29kZT0iJiN4ZjRhODsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTMwMSAyOTZjLTg1IDAgLTExOSAtNjQgLTE1MiAtMTI2Yy0xIC0zIC0zIC01IC00IC04bC0xIC0xYy0yIC0zIC0yIC01IC00IC04Yy0yMSAtMzggLTQzIC02OCAtNjggLTgzYy0xNSAtOSAtMzQgLTE4IC03MiAtMTh2MzJjNDUgMCA3NiAxOCAxMTIgODRjMiAzIDIgNiA0IDloMWMxIDIgMyA0IDQgN2MzNCA2NCA3NiAxNDQgMTgwIDE0NGgxNWwtNTIgNDNsMjEgMjVsOTkgLTg0bC05OSAtODJsLTIxIDI0bDUxIDQyaC0xNHpNMjg1IDE1NAorbDk5IC04MmwtOTkgLTg0bC0yMSAyNWw1MiA0M2gtMTVjLTc4IDAgLTEyMiA0NSAtMTUzIDk1bDE4IDMzYzI5IC01MSA2NCAtOTYgMTM1IC05NmgxNGwtNTEgNDJ6TTExMiAyMTZjLTM2IDY2IC02NyA4NCAtMTEyIDg0djMyYzM4IDAgNTcgLTkgNzIgLTE4YzI1IC0xNSA0NyAtNDQgNjcgLTgxYy03IC0xMSAtMTMgLTIyIC0xOSAtMzNjLTEgMiAtMiA1IC0zIDdoLTFjLTIgMyAtMiA2IC00IDl6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXNodWZmbGUiIHVuaWNvZGU9IiYjeGY0YTk7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0yOTggMjQxbC0xMCAxMmw2MiA1MWgtNDZjLTkzIDAgLTEyOSAtNzUgLTE2NCAtMTM5Yy0yIC0zIC0zIC02IC01IC05Yy0yMCAtMzcgLTQxIC02MSAtNjUgLTc1Yy0xNCAtOCAtMzMgLTE3IC03MCAtMTd2MTZjNDggMCA4MyAxNCAxMjEgODRjMiAzIDMgNiA1IDljMzUgNjUgNzUgMTQ3IDE3OCAxNDdoNDZsLTYyIDUybDEwIDEybDg2IC03MnpNMTM1IDIyOGMwIC0xIDEgLTIgMSAtM2MtMyAtNSAtNiAtMTEgLTkgLTE2YzAgMSAtMSAxIC0xIDIKK2MtMiAzIC0zIDYgLTUgOWMtMzggNzAgLTczIDg0IC0xMjEgODR2MTZjMzcgMCA1NiAtOSA3MCAtMTdjMjQgLTE0IDQ1IC0zOCA2NSAtNzV6TTI5OCAxNDNsODYgLTcxbC04NiAtNzJsLTEwIDEybDYyIDUyaC00NmMtNzYgMCAtMTE4IDQ1IC0xNDkgOTVjMSAyIDIgNSAzIDdjMiAzIDQgNyA2IDEwYzMwIC01MCA2NyAtOTYgMTQwIC05Nmg0NmwtNjIgNTF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXNraXBiYWNrd2FyZC1vdXRsaW5lIiB1bmljb2RlPSImI3hmNGFhOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMCAzNTJoNzl2LTE0MmwyNDEgMTQydi0zMjBsLTI0MSAxNDJ2LTE0MmgtNzl2MzIwek04MCAxOTJsNyAtNGwyMTcgLTEyOHYyNjR2MGwtMjE3IC0xMjh6TTE2IDMzNnYtMjg4aDQ3djEyNnY4djI4djEyNmgtNDd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXNraXBiYWNrd2FyZCIgdW5pY29kZT0iJiN4ZjRhYjsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTAgMzUyaDc5di0xNDJsMjQxIDE0MnYtMzIwbC0yNDEgMTQydi0xNDJoLTc5djMyMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mtc2tpcGZvcndhcmQtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjRhYzsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTI0MSAzNTJoNzl2LTMyMGgtNzl2MTQybC0yNDEgLTE0MnYzMjBsMjQxIC0xNDJ2MTQyek0yMzMgMTg4bDcgNGwtNyA0bC0yMTcgMTI4djB2LTI2NHpNMzA0IDQ4djI4OGgtNDd2LTEyNnYtMjh2LTh2LTEyNmg0N3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mtc2tpcGZvcndhcmQiIHVuaWNvZGU9IiYjeGY0YWQ7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0yNDEgMzUyaDc5di0zMjBoLTc5djE0MmwtMjQxIC0xNDJ2MzIwbDI0MSAtMTQydjE0MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mtc25vd3kiIHVuaWNvZGU9IiYjeGY0YWU7IiBob3Jpei1hZHYteD0iMjU2IiAKK2Q9Ik0yNTIgMTMxYzQgLTIgNSAtNyAzIC0xMXMtNyAtNSAtMTEgLTNsLTI5IDE3Yy0yIC04IC0yIC0xNiAwIC0yNGMxIC00IC0zIC05IC03IC0xMHMtOCAyIC05IDZjLTIgMTIgLTMgMjQgMSAzNmwtNjQgMzZ2LTczYzExIC0zIDIyIC04IDMxIC0xNmMzIC0zIDQgLTggMSAtMTFzLTggLTQgLTExIC0xYy02IDUgLTEzIDEwIC0yMSAxMnYtMzNjMCAtNCAtNCAtOCAtOCAtOHMtOCA0IC04IDh2MzNjLTggLTIgLTE1IC03IC0yMSAtMTIKK2MtMyAtMyAtOCAtMiAtMTEgMXMtMyA4IDAgMTFjOSA4IDIwIDEzIDMyIDE2djczbC02NSAtMzZjNCAtMTIgNCAtMjMgMiAtMzVjLTEgLTQgLTUgLTggLTkgLTdzLTggNiAtNyAxMGMyIDggMiAxNiAwIDI0bC0yOSAtMTdjLTQgLTIgLTkgLTEgLTExIDNzLTEgOSAzIDExbDI5IDE2Yy02IDYgLTEzIDEwIC0yMSAxM2MtNCAxIC02IDYgLTUgMTBjMiA0IDYgNiAxMCA1YzEyIC00IDIyIC0xMSAzMCAtMTlsNjUgMzZsLTY1IDM3CitjLTggLTkgLTE4IC0xNSAtMzAgLTE5Yy00IC0xIC05IDAgLTEwIDRzMSAxMCA1IDExYzggMyAxNSA2IDIxIDEybC0yOSAxNmMtNCAyIC01IDcgLTMgMTFzNyA1IDExIDNsMjkgLTE2YzIgOCAyIDE1IDAgMjNjLTEgNCAzIDkgNyAxMHM4IC0yIDkgLTZjMiAtMTIgMSAtMjUgLTIgLTM2bDY1IC0zNnY3M2MtMTIgMyAtMjMgOCAtMzIgMTZjLTMgMyAtMyA4IDAgMTFzOCA0IDExIDFjNiAtNSAxMyAtMTAgMjEgLTEydjMzYzAgNCA0IDggOCA4CitzOCAtNCA4IC04di0zM2M4IDIgMTUgNyAyMSAxMmMzIDMgOCAyIDExIC0xczIgLTggLTEgLTExYy05IC04IC0yMCAtMTMgLTMxIC0xNnYtNzNsNjQgMzZjLTMgMTEgLTQgMjQgLTIgMzZjMSA0IDYgNyAxMCA2czcgLTYgNiAtMTBjLTIgLTggLTEgLTE1IDEgLTIzbDI5IDE2YzQgMiA5IDEgMTEgLTNzMSAtOSAtMyAtMTFsLTI5IC0xNmM2IC02IDEzIC0xMCAyMSAtMTNjNCAtMSA2IC02IDUgLTEwcy02IC02IC0xMCAtNQorYy0xMiA0IC0yMyAxMCAtMzEgMTlsLTY0IC0zNmw2NCAtMzZjOCA4IDE5IDE1IDMxIDE5YzQgMSA5IC0xIDEwIC01cy0xIC05IC01IC0xMGMtOCAtMyAtMTUgLTcgLTIxIC0xM3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mtc3BlZWRvbWV0ZXItb3V0bGluZSIgdW5pY29kZT0iJiN4ZjRhZjsiIAorZD0iTTIyNCAzODRjMTI0IDAgMjI0IC0xMDAgMjI0IC0yMjRjMCAtNTcgLTIxIC0xMDggLTU2IC0xNDhjLTQgLTQgLTcgLTggLTExIC0xMmwtMTAgMTBsLTEgMmMtMTkgMTggLTQxIDMzIC02NSA0M2MtMjYgMTEgLTUzIDE2IC04MSAxNnMtNTUgLTUgLTgxIC0xNmMtMjQgLTEwIC00NiAtMjUgLTY1IC00M2wtMSAtMmwtMTAgLTEwYy00IDQgLTcgOCAtMTEgMTJjLTM1IDQwIC01NiA5MSAtNTYgMTQ4YzAgMTI0IDEwMCAyMjQgMjI0IDIyNHoKK000MTYgNzljMTAgMjMgMTUgNDggMTYgNzNoLTMydjE2aDMyYy0xIDI1IC02IDUwIC0xNiA3M2MtOSAyMiAtMjMgNDIgLTM5IDYwbC0yNyAtMjdsLTYgNmwtNSA1djBoLTFsMjcgMjdjLTE4IDE3IC0zOCAzMSAtNjAgNDBjLTIzIDEwIC00OCAxNSAtNzQgMTZ2LTM4aC0xNnYzOGMtMjUgLTEgLTQ5IC02IC03MiAtMTZjLTIyIC0xMCAtNDMgLTIzIC02MSAtNDBsMjcgLTI3djB2MGwtNiAtNmwtNSAtNWwtMjcgMjcKK2MtMTYgLTE4IC0zMCAtMzggLTM5IC02MGMtMTAgLTIzIC0xNSAtNDkgLTE2IC03NGgzMnYtMTZoLTMyYzEgLTI1IDYgLTQ5IDE2IC03MmM5IC0yMCAyMCAtMzkgMzUgLTU2YzQwIDQwIDk2IDY0IDE1NyA2NHMxMTcgLTI0IDE1NyAtNjRjMTUgMTcgMjYgMzYgMzUgNTZ6TTMzNiAyNzNsMiAtMWwtNzUgLTg0YzYgLTggOSAtMTggOSAtMjhjMCAtMjYgLTIyIC00OCAtNDggLTQ4Yy0xMCAwIC0xOSA0IC0yNyA5bC0xMyAtMTJsLTExIDExbDEyIDEyCitjLTYgOCAtOSAxOCAtOSAyOGMwIDI2IDIyIDQ4IDQ4IDQ4YzEwIDAgMTkgLTMgMjcgLTh6TTIyNCAxMjhjMTggMCAzMiAxNCAzMiAzMnMtMTQgMzIgLTMyIDMycy0zMiAtMTQgLTMyIC0zMnMxNCAtMzIgMzIgLTMyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1zcGVlZG9tZXRlciIgdW5pY29kZT0iJiN4ZjRiMDsiIAorZD0iTTM4NSAxNjl2LTE1aDMwYy0xIC0yMiAtNiAtNDQgLTE1IC02NWMtOCAtMTggLTE5IC0zNSAtMzIgLTUwYy0zOSAzNyAtOTAgNTggLTE0NCA1OHMtMTA1IC0yMSAtMTQ0IC01OGMtMTMgMTUgLTI0IDMyIC0zMiA1MGMtOSAyMSAtMTQgNDMgLTE1IDY1aDI4aDF2MTZoLTI5YzEgMjMgNiA0NSAxNSA2NmM5IDIwIDIwIDM4IDM1IDU0bDI1IC0yNGwxMCAxMGwxIDF2MHYwbC0yNSAyNWMxNiAxNSAzNiAyNiA1NiAzNWMyMSA5IDQzIDE0IDY2IDE1Cit2LTM0aDE0aDF2MzRjMjMgLTEgNDYgLTYgNjcgLTE1czM5IC0yMCA1NSAtMzVsLTI0IC0yNWwxMSAtMTFsMjUgMjVjMTUgLTE2IDI2IC0zNSAzNSAtNTVjOSAtMjEgMTQgLTQzIDE1IC02NmgtMzB2LTF6TTI3MiAxNjBjMCAxMCAtMyAyMCAtOSAyOGw2MyA3NmwtMiAxbC03MyAtNjVjLTggNSAtMTcgOCAtMjcgOGMtMjYgMCAtNDggLTIyIC00OCAtNDhjMCAtMTAgMyAtMjAgOSAtMjhsLTEyIC0xMmwxMSAtMTFsMTMgMTJjOCAtNSAxNyAtOSAyNyAtOQorYzI2IDAgNDggMjIgNDggNDh6TTIyNCAzODRjMTI0IDAgMjI0IC0xMDAgMjI0IC0yMjRjMCAtNTcgLTIxIC0xMDggLTU2IC0xNDhjLTQgLTQgLTcgLTggLTExIC0xMmgtMjNjLTMyIDM5IC04MCA2NCAtMTM0IDY0cy0xMDIgLTI1IC0xMzQgLTY0aC0yM2MtNCA0IC03IDggLTExIDEyYy0zNSA0MCAtNTYgOTEgLTU2IDE0OGMwIDEyNCAxMDAgMjI0IDIyNCAyMjR6TTM3OSAyN2MzNCAzNyA1MiA4NiA1MiAxMzZjMCA1NSAtMjIgMTA2IC02MSAxNDUKK3MtOTEgNjAgLTE0NiA2MHMtMTA3IC0yMSAtMTQ2IC02MHMtNjEgLTkwIC02MSAtMTQ1YzAgLTUwIDE4IC05OSA1MiAtMTM2bDEwIC0xMGwxIC0xdjFsOSA5bDEgMXYwYzE3IDE3IDM4IDMwIDYwIDM5YzI0IDEwIDQ4IDE1IDc0IDE1czUwIC01IDc0IC0xNWMyMiAtOSA0MyAtMjIgNjAgLTM5djBsMSAtMWw5IC05di0xbDEgMXpNMTkyIDE2MGMwIDIxIDExIDMyIDMyIDMyczMyIC0xMSAzMiAtMzJzLTExIC0zMiAtMzIgLTMycy0zMiAxMSAtMzIgMzJ6CisiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mtc3Rhci1oYWxmIiB1bmljb2RlPSImI3hmNGIxOyIgCitkPSJNMTQwIDE0M2wtMTQwIDk4aDE3MWw1MyAxNTlsNTMgLTE1OWgxNzFsLTE0MCAtOThsNTQgLTE1OWwtMTM4IDk5bC0xMzggLTk5ek0yMjQgMzQ3di0yNDRsMTA3IC03NmwtNDMgMTIybDEwOCA3NWgtMTMxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1zdGFyLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0YjI7IiAKK2Q9Ik00NDggMjQxbC0xNDAgLTk4bDU0IC0xNTlsLTEzOCA5OWwtMTM4IC05OWw1NCAxNTlsLTE0MCA5OGgxNzFsNTMgMTU5bDUzIC0xNTloMTcxek0zMzEgMjdsLTQzIDEyMmwxMDggNzVoLTEzMWwtNDEgMTIzbC00MSAtMTIzaC0xMzFsMTA4IC03NWwtNDMgLTEyMmwxMDcgNzZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXN0YXIiIHVuaWNvZGU9IiYjeGY0YjM7IiAKK2Q9Ik00NDggMjQxbC0xNDAgLTk4bDU0IC0xNTlsLTEzOCA5OWwtMTM4IC05OWw1NCAxNTlsLTE0MCA5OGgxNzFsNTMgMTU5bDUzIC0xNTloMTcxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy1zdG9wd2F0Y2gtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjRiNDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTMzNCAzMDFjMzIgLTM1IDUwIC04MCA1MCAtMTI4YzAgLTEwNCAtODYgLTE4OSAtMTkyIC0xODlzLTE5MiA4NSAtMTkyIDE4OWMwIDQ4IDE4IDk0IDUxIDEyOWwxIDFoLTE4bC04IC04bC0yMyAyM2w0MSA0MGwyMyAtMjJsLTkgLTl2LTE4YzMxIDMwIDcyIDUwIDExNiA1M2gydjM4aDMydi0zOGM0MyAtNCA4MiAtMjEgMTEzIC00OWw1IC01djE5bC05IDlsMjMgMjJsNDEgLTQwbC0yMiAtMjNsLTkgOGgtMTh6TTE5MiAyCitjOTYgMCAxNzMgNzcgMTczIDE3MXMtNzcgMTcxIC0xNzMgMTcxYy05NSAwIC0xNzMgLTc3IC0xNzMgLTE3MXM3NyAtMTcxIDE3MyAtMTcxek0yMDAgMTkxYzE0IC00IDI0IC0xNyAyNCAtMzFjMCAtMTUgLTEwIC0yNiAtMjQgLTMwbC04IC0xOHYwbC04IDE4Yy0xNCA0IC0yNCAxNSAtMjQgMzBjMCAxNCAxMiAyNyAyNCAzMXYxMjloMTZ2LTEyOXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mtc3RvcHdhdGNoIiB1bmljb2RlPSImI3hmNGI1OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzM0IDMwMWMzMiAtMzUgNTAgLTgwIDUwIC0xMjhjMCAtMTA0IC04NiAtMTg5IC0xOTIgLTE4OXMtMTkyIDg1IC0xOTIgMTg5YzAgNDggMTggOTQgNTEgMTI5bDEgMWgtMThsLTggLThsLTIzIDIzbDQxIDQwbDIzIC0yMmwtOSAtOXYtMThjMzEgMzAgNzIgNTAgMTE2IDUzaDJ2MzhoMzJ2LTM4YzQzIC00IDgyIC0yMSAxMTMgLTQ5bDUgLTV2MTlsLTkgOWwyMyAyMmw0MSAtNDBsLTIyIC0yM2wtOSA4aC0xOHpNMjAwIDEzMAorYzE0IDQgMjQgMTUgMjQgMzBjMCAxNCAtMTAgMjcgLTI0IDMxdjEyOWgtMTZ2LTEyOWMtMTIgLTQgLTI0IC0xNyAtMjQgLTMxYzAgLTE1IDEwIC0yNiAyNCAtMzBsOCAtMTh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXN1bm55LW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0YjY7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0xNTEgMjk2djU2aDE4di01NmgtMTh6TTE1MSAzMnY2MGgxOHYtNjBoLTE4ek0yNjQgMTgzdjE4aDU2di0xOGgtNTZ6TTAgMTgzdjE4aDYwdi0xOGgtNjB6TTI0MCAxMzBsMzQgLTM0bC0xMiAtMTJsLTMzIDM0ek02NCAzMDZsMzQgLTMzbC0xMiAtMTJsLTM0IDM0ek0yMjkgMjcybDMzIDM0bDEyIC0xMmwtMzQgLTMzek01MiA5NmwzNCAzNGwxMSAtMTJsLTMzIC0zNHpNMTYwIDExNmMtNDIgMCAtNzYgMzQgLTc2IDc2czM0IDc2IDc2IDc2CitzNzYgLTM0IDc2IC03NnMtMzQgLTc2IC03NiAtNzZ6TTE2MCAyNTFjLTMyIDAgLTU5IC0yNyAtNTkgLTU5czI3IC01OSA1OSAtNTlzNTkgMjcgNTkgNTlzLTI3IDU5IC01OSA1OXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mtc3VubnkiIHVuaWNvZGU9IiYjeGY0Yjc7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0xNTEgMjk2djU2aDE4di01NmgtMTh6TTE1MSAzMnY2MGgxOHYtNjBoLTE4ek0yNjQgMTgzdjE4aDU2di0xOGgtNTZ6TTAgMTgzdjE4aDYwdi0xOGgtNjB6TTI0MCAxMzBsMzQgLTM0bC0xMiAtMTJsLTMzIDM0ek02NCAzMDZsMzQgLTMzbC0xMiAtMTJsLTM0IDM0ek0yMjkgMjcybDMzIDM0bDEyIC0xMmwtMzQgLTMzek01MiA5NmwzNCAzNGwxMSAtMTJsLTMzIC0zNHpNMTYwIDExNmMtNDIgMCAtNzYgMzQgLTc2IDc2czM0IDc2IDc2IDc2CitzNzYgLTM0IDc2IC03NnMtMzQgLTc2IC03NiAtNzZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXRlbGVwaG9uZS1vdXRsaW5lIiB1bmljb2RlPSImI3hmNGI4OyIgaG9yaXotYWR2LXg9IjM1MiIgCitkPSJNMzM2IDExMmMxNiAtMTYgMjYgLTM1IDAgLTY2Yy0yNSAtMzAgLTQyIC0zMCAtNjQgLTMwYy0yNCAwIC01OCAxNCAtOTMgNDBjLTMyIDIzIC00NiAzNCAtNzggNjdjLTM0IDM1IC01NSA2NCAtNzkgMTA3Yy0yNyA1MCAtMjQgNzQgLTE4IDkyYzQgMTIgMTQgMjQgMjggMzNsMSAxYzYgNCAxOCAxMiAzMiAxMmMxMyAwIDI0IC02IDM0IC0xOGwxIC0xYzExIC0xNCAyNCAtMzEgMzIgLTQ3YzEwIC0yMSAxMCAtMzggLTEgLTUzCitjLTkgLTEyIC0xMiAtMTkgLTEyIC0yM3M1IC05IDEzIC0xOGwxIC0xYzE2IC0xOCAyMCAtMjMgMjYgLTI5YzEgLTEgMyAtMiA0IC0zbDIgLTJjNyAtNyAxMSAtMTIgMjkgLTI4bDEgLTFjNyAtNiA5IC04IDEyIC04YzUgMCAxNiA3IDI5IDE1YzQgMyAxMSA1IDE3IDVjMjcgMCA2OCAtMjkgODMgLTQ0ek0zMjQgNTdjMTkgMjIgMTMgMzEgMSA0M2MtMTMgMTQgLTUwIDM5IC03MiAzOWMtMyAwIC02IC0xIC04IC0yCitjLTE5IC0xMiAtMjggLTE4IC0zNyAtMThzLTE1IDYgLTIzIDEzaC0xYy0xOSAxNiAtMjMgMjEgLTMwIDI5bC0yIDJjLTEgMSAtMyAyIC00IDNjLTYgNiAtMTEgMTIgLTI3IDMwdjFjLTEwIDExIC0xNyAxOCAtMTggMjhzNSAyMCAxNiAzNGMxNSAyMCAtNSA0OCAtMzEgNzlsLTEgMWMtNyA4IC0xNCAxMiAtMjIgMTJjLTEwIDAgLTE4IC02IC0yMyAtOWMtMSAwIC0yIC0xIC0yIC0xYy0xMSAtNyAtMTggLTE2IC0yMSAtMjQKK2MtNSAtMTYgLTcgLTM1IDE3IC03OWMyMyAtNDIgNDMgLTcwIDc2IC0xMDRjMzEgLTMyIDQ1IC00MiA3NiAtNjRjMzIgLTIzIDY0IC0zOCA4NCAtMzhjMjEgMCAzMiAxIDUyIDI1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy10ZWxlcGhvbmUiIHVuaWNvZGU9IiYjeGY0Yjk7IiBob3Jpei1hZHYteD0iMzUyIiAKK2Q9Ik0zMzYgMTEyYzE2IC0xNiAyNiAtMzUgMCAtNjZjLTI1IC0zMCAtNDIgLTMwIC02NCAtMzBjLTI0IDAgLTU4IDE0IC05MyA0MGMtMzIgMjMgLTQ2IDM0IC03OCA2N2MtMzQgMzUgLTU1IDY0IC03OSAxMDdjLTI3IDUwIC0yNCA3NCAtMTggOTJjNCAxMiAxNCAyNCAyOCAzM2wxIDFjNiA0IDE4IDEyIDMyIDEyYzEzIDAgMjQgLTYgMzQgLTE4bDEgLTFjMTEgLTE0IDI0IC0zMSAzMiAtNDdjMTAgLTIxIDEwIC0zOCAtMSAtNTMKK2MtOSAtMTIgLTEyIC0xOSAtMTIgLTIzczUgLTkgMTMgLTE4bDEgLTFjMTYgLTE4IDIwIC0yMyAyNiAtMjljMSAtMSAzIC0yIDQgLTNsMiAtMmM3IC03IDExIC0xMiAyOSAtMjhsMSAtMWM3IC02IDkgLTggMTIgLThjNSAwIDE2IDcgMjkgMTVjNCAzIDExIDUgMTcgNWMyNyAwIDY4IC0yOSA4MyAtNDR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXRlbm5pc2JhbGwtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjRiYTsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTQxNiAxOTJ2LTh2MGMwIC01IDAgLTExIC0xIC0xNnYwYy0xMSAtOTcgLTkwIC0xNzQgLTE4NyAtMTgzdjBoLTRoLTJzLTEgLTEgLTIgLTFoLTNoLTFoLThjLTExNSAwIC0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDhzMjA4IC05MyAyMDggLTIwOHpNMzk5IDE5MmMwIDEwNSAtODYgMTkxIC0xOTEgMTkxYy0zIDAgLTUgLTEgLTggLTFjMSAtMjQgNiAtNDYgMTUgLTY4YzEwIC0yNiAyNiAtNDkgNDYgLTY5czQzIC0zNiA2OSAtNDYKK2MyMiAtOSA0NCAtMTQgNjggLTE1YzAgMyAxIDUgMSA4ek0xNyAxOTJjMCAtMTA1IDg2IC0xOTEgMTkxIC0xOTFoNGMtMSAyMiAtNyA0NSAtMTUgNjZjLTEwIDI2IC0yNiA0OCAtNDYgNjhzLTQyIDM2IC02OCA0NmMtMjEgOCAtNDQgMTQgLTY2IDE1di00ek0yMjggMmM4OCA5IDE1OCA3OCAxNjkgMTY2Yy01NCAzIC0xMDYgMjUgLTE0NyA2NnMtNjMgOTMgLTY2IDE0N2MtODggLTExIC0xNTcgLTgxIC0xNjYgLTE2OQorYzUzIC0zIDEwNSAtMjUgMTQ1IC02NXM2MiAtOTIgNjUgLTE0NXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtdGVubmlzYmFsbCIgdW5pY29kZT0iJiN4ZjRiYjsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTAgMTk2djB2MHYwek0yMTIgLTE2aDFoLTF2MHpNMjA4IDQwMGMxMTUgMCAyMDggLTkzIDIwOCAtMjA4YzAgLTggMCAtMTYgLTEgLTI0djB2MGMtMTEgLTk3IC05MCAtMTc0IC0xODcgLTE4M3YwdjBjLTYgLTEgLTEzIC0xIC0yMCAtMWMtMTE1IDAgLTIwOCA5MyAtMjA4IDIwOHY0djB2MGMwIDYgMCAxMSAxIDE2djB2MGM5IDk3IDg2IDE3NiAxODMgMTg3djB2MGM2IDEgMTEgMSAxNiAxdjB2MGg4ek04MyAxODEKK2MyNiAtMTAgNDggLTI2IDY4IC00NnMzNiAtNDIgNDYgLTY4YzggLTIxIDE0IC00NCAxNSAtNjZjNSAwIDExIDAgMTYgMWMtMyA1MyAtMjUgMTA1IC02NSAxNDVzLTkyIDYyIC0xNDUgNjVjLTEgLTUgLTEgLTExIC0xIC0xNmMyMiAtMSA0NSAtNyA2NiAtMTV6TTI1MCAyMzRjNDEgLTQxIDkzIC02MyAxNDcgLTY2YzEgNSAxIDExIDEgMTZjLTI0IDEgLTQ2IDYgLTY4IDE1Yy0yNiAxMCAtNDkgMjYgLTY5IDQ2cy0zNiA0MyAtNDYgNjkKK2MtOSAyMiAtMTQgNDQgLTE1IDY4Yy01IDAgLTExIDAgLTE2IC0xYzMgLTU0IDI1IC0xMDYgNjYgLTE0N3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtdGh1bmRlcnN0b3JtLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0YmM7IiBob3Jpei1hZHYteD0iMjc0IiAKK2Q9Ik0xOTMgMTc2bC04OCAtMTI4bDI5IDk2aC01MmwxNSA4MGg3MmwtMTYgLTQ4aDQwek0yMDkgMjc1YzM2IDAgNjUgLTI5IDY1IC02NXMtMjkgLTY2IC02NSAtNjZoLTh2MTdoOGMyNyAwIDQ5IDIyIDQ5IDQ5cy0yMiA1MCAtNDkgNTBoLTZsLTE0IC0ybC0zIDE0Yy0zIDE0IC0xMSAyNiAtMjIgMzVzLTI1IDEzIC0zOSAxM2MtMzQgMCAtNjMgLTI3IC02MyAtNjJ2LTEyczEgLTkgMSAtOWMtNSAwIC0xMiAtMiAtMTQgLTIKK2MtMTkgLTMgLTMzIC0xOCAtMzMgLTM3YzAgLTEwIDMgLTE5IDEwIC0yNnMxNiAtMTEgMjYgLTExaDExdi0xN2gtMTFjLTI4IDAgLTUyIDI0IC01MiA1M2MwIDI3IDIxIDUxIDQ3IDUzdjhjMCA0MyAzNSA3OCA3OCA3OGMzNyAwIDY4IC0yNiA3NiAtNjFoOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtdGh1bmRlcnN0b3JtIiB1bmljb2RlPSImI3hmNGJkOyIgaG9yaXotYWR2LXg9IjI3NCIgCitkPSJNMTUzIDE3Nmg0MGwtMjIgLTMybC02NiAtOTZsMjkgOTZoLTUybDE1IDgwaDcyek04NCAyNDBoMTA3bC0xNiAtNDhoMThoMzBsLTMzIC00OGgxOWMzNiAwIDY1IDMwIDY1IDY2cy0yOSA2NSAtNjUgNjVoLThjLTggMzUgLTM5IDYxIC03NiA2MWMtNDMgMCAtNzggLTM1IC03OCAtNzh2LThjLTI2IC0yIC00NyAtMjYgLTQ3IC01M2MwIC0yOSAyNCAtNTMgNTIgLTUzaDE0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy10aW1lLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0YmU7IiAKK2Q9Ik0yMjQgNDE2YzEyNCAwIDIyNCAtMTAwIDIyNCAtMjI0cy0xMDAgLTIyNCAtMjI0IC0yMjRzLTIyNCAxMDAgLTIyNCAyMjRzMTAwIDIyNCAyMjQgMjI0ek0zNzEgNDVjMTkgMTkgMzUgNDEgNDUgNjZjMTEgMjYgMTYgNTMgMTYgODFzLTUgNTUgLTE2IDgxYy0xMCAyNSAtMjYgNDcgLTQ1IDY2cy00MSAzNSAtNjYgNDVjLTI2IDExIC01MyAxNiAtODEgMTZzLTU1IC01IC04MSAtMTZjLTI1IC0xMCAtNDcgLTI2IC02NiAtNDUKK3MtMzUgLTQxIC00NSAtNjZjLTExIC0yNiAtMTYgLTUzIC0xNiAtODFzNSAtNTUgMTYgLTgxYzEwIC0yNSAyNiAtNDcgNDUgLTY2czQxIC0zNSA2NiAtNDVjMjYgLTExIDUzIC0xNiA4MSAtMTZzNTUgNSA4MSAxNmMyNSAxMCA0NyAyNiA2NiA0NXpNMjE2IDM2OGMwIDUgMyA4IDggOHM4IC0zIDggLThzLTMgLTggLTggLThzLTggMyAtOCA4ek0yMTYgMTZjMCA1IDMgOCA4IDhzOCAtMyA4IC04cy0zIC04IC04IC04cy04IDMgLTggOHpNMzkyIDE5MgorYzAgNSAzIDggOCA4czggLTMgOCAtOHMtMyAtOCAtOCAtOHMtOCAzIC04IDh6TTQwIDE5MmMwIDUgMyA4IDggOHM4IC0zIDggLThzLTMgLTggLTggLThzLTggMyAtOCA4ek0xMjggMzQ0YzAgNSAzIDggOCA4czggLTMgOCAtOHMtMyAtOCAtOCAtOHMtOCAzIC04IDh6TTMwNCA0MGMwIDUgMyA4IDggOHM4IC0zIDggLThzLTMgLTggLTggLThzLTggMyAtOCA4ek0zNjggMjgwYzAgNSAzIDggOCA4czggLTMgOCAtOHMtMyAtOCAtOCAtOHMtOCAzIC04IDgKK3pNNjQgMTA0YzAgNSAzIDggOCA4czggLTMgOCAtOHMtMyAtOCAtOCAtOHMtOCAzIC04IDh6TTY0IDI4MGMwIDUgMyA4IDggOHM4IC0zIDggLThzLTMgLTggLTggLThzLTggMyAtOCA4ek0zNjggMTA0YzAgNSAzIDggOCA4czggLTMgOCAtOHMtMyAtOCAtOCAtOHMtOCAzIC04IDh6TTMwNCAzNDRjMCA1IDMgOCA4IDhzOCAtMyA4IC04cy0zIC04IC04IC04cy04IDMgLTggOHpNMTI4IDQwYzAgNSAzIDggOCA4czggLTMgOCAtOHMtMyAtOCAtOCAtOAorcy04IDMgLTggOHpNMjM4IDIwMGM0IC04IDIgLTE4IC02IC0yMnYtMTIyYzAgLTQgLTQgLTggLTggLThzLTggNCAtOCA4djEyMmMtMiAxIC00IDQgLTYgNmMtMyA1IC0zIDExIDAgMTZsLTM3IDYzYy0yIDQgLTEgOSAzIDExczggMSAxMCAtM2wzOCAtNjNjNSAwIDExIC0zIDE0IC04eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy10aW1lIiB1bmljb2RlPSImI3hmNGJmOyIgCitkPSJNMjI0IDQxNmMxMjQgMCAyMjQgLTEwMCAyMjQgLTIyNHMtMTAwIC0yMjQgLTIyNCAtMjI0cy0yMjQgMTAwIC0yMjQgMjI0czEwMCAyMjQgMjI0IDIyNHpNMjI0IDM3NmMtNCAwIC04IC00IC04IC04czQgLTggOCAtOHM4IDQgOCA4cy00IDggLTggOHpNNDggMTg0YzQgMCA4IDQgOCA4cy00IDggLTggOHMtOCAtNCAtOCAtOHM0IC04IDggLTh6TTc2IDk3YzQgMiA0IDcgMiAxMXMtNiA1IC0xMCAzcy01IC03IC0zIC0xMXM3IC01IDExIC0zegorTTc4IDI3NmMyIDQgMiA5IC0yIDExcy05IDEgLTExIC0zcy0xIC05IDMgLTExczggLTEgMTAgM3pNMTMyIDM1MWMtNCAtMiAtNSAtNyAtMyAtMTFzNyAtNCAxMSAtMnM1IDYgMyAxMHMtNyA1IC0xMSAzek0xNDMgMzZjMiA0IDEgOCAtMyAxMHMtOSAyIC0xMSAtMnMtMSAtOSAzIC0xMXM5IC0xIDExIDN6TTIyNCA4YzQgMCA4IDQgOCA4cy00IDggLTggOHMtOCAtNCAtOCAtOHM0IC04IDggLTh6TTIzMiAxNzhjOCA0IDEwIDE0IDYgMjIKK2MtMyA1IC05IDggLTE0IDhsLTM4IDY0Yy0yIDQgLTcgNCAtMTEgMnMtNCAtNyAtMiAtMTFsMzcgLTYzYy0zIC01IC0zIC0xMSAwIC0xNmMyIC0yIDQgLTUgNiAtNnYtMTIyYzAgLTQgNCAtOCA4IC04czggNCA4IDh2MTIyek0zMTYgMzNjNCAyIDUgNyAzIDExcy03IDQgLTExIDJzLTUgLTYgLTMgLTEwczcgLTUgMTEgLTN6TTMxOSAzNDBjMiA0IDEgOSAtMyAxMXMtOSAxIC0xMSAtM3MtMSAtOCAzIC0xMHM5IC0yIDExIDJ6TTM4MyAxMDAKK2MyIDQgMSA5IC0zIDExcy04IDEgLTEwIC0zcy0yIC05IDIgLTExczkgLTEgMTEgM3pNMzgwIDI3M2M0IDIgNSA3IDMgMTFzLTcgNSAtMTEgM3MtNCAtNyAtMiAtMTFzNiAtNSAxMCAtM3pNNDAwIDE4NGM0IDAgOCA0IDggOHMtNCA4IC04IDhzLTggLTQgLTggLThzNCAtOCA4IC04eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy10aW1lci1vdXRsaW5lIiB1bmljb2RlPSImI3hmNGMwOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMTg5IDE3NmwtMSAycy04OSAxMTggLTg2IDEyMHMxMjEgLTg1IDEyMSAtODVjMSAtMSAxIC0yIDIgLTNjNSAtNSA4IC0xMSA4IC0xOGMwIC0xNCAtMTEgLTI1IC0yNSAtMjVjLTggMCAtMTQgMyAtMTkgOXpNMjA4IDQwMGMxMTUgMCAyMDggLTkzIDIwOCAtMjA4cy05MyAtMjA4IC0yMDggLTIwOHMtMjA4IDkzIC0yMDggMjA4YzAgNTcgMjMgMTA5IDYxIDE0N2wxMiAtMTJjLTM1IC0zNSAtNTYgLTgyIC01NiAtMTM1CitjMCAtMTA2IDg1IC0xOTEgMTkxIC0xOTFzMTkxIDg1IDE5MSAxOTFjMCAxMDAgLTc3IDE4MyAtMTc1IDE5MXYtOTVoLTE2djExMnYwdjB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXRpbWVyIiB1bmljb2RlPSImI3hmNGMxOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IDQwMGMxMTUgMCAyMDggLTkzIDIwOCAtMjA4cy05MyAtMjA4IC0yMDggLTIwOHMtMjA4IDkzIC0yMDggMjA4czkzIDIwOCAyMDggMjA4ek0xMDIgMjk4Yy0yIC0yIDg2IC0xMjAgODYgLTEyMGwxIC0xYzUgLTYgMTEgLTEwIDE5IC0xMGMxNCAwIDI1IDExIDI1IDI1YzAgNyAtMyAxMyAtOCAxOGwtMyAzYzAgMCAtMTE3IDg3IC0xMjAgODV6TTIwOCAxYzEwNiAwIDE5MiA4NSAxOTIgMTkxcy04NiAxOTIgLTE5MiAxOTJ2LTk2aDE2djc4CitjODggLTkgMTU4IC04NCAxNTggLTE3NGMwIC05NiAtNzggLTE3NCAtMTc0IC0xNzRzLTE3NSA3OCAtMTc1IDE3NGMwIDQ4IDE5IDkyIDUxIDEyNGwtMTEgMTJjLTM1IC0zNSAtNTYgLTgzIC01NiAtMTM2YzAgLTEwNiA4NSAtMTkxIDE5MSAtMTkxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy10b2dnbGUtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjRjMjsiIAorZD0iTTk2IDEyOGMtMjYgMCAtNDggLTIyIC00OCAtNDhzMjIgLTQ4IDQ4IC00OHM0OCAyMiA0OCA0OHMtMjIgNDggLTQ4IDQ4ek05NiAxNDR2MGMzNSAwIDY0IC0yOSA2NCAtNjRzLTI5IC02NCAtNjQgLTY0cy02NCAyOSAtNjQgNjRzMjkgNjQgNjQgNjR6TTM1MSAxNjB2MGgtMjU1Yy00NCAwIC04MCAtMzYgLTgwIC04MHMzNiAtODAgODAgLTgwaDI1NmM0NCAwIDgwIDM2IDgwIDgwcy0zNyA4MCAtODEgODB6TTM1MiAxNzZ2MAorYzUzIDAgOTYgLTQzIDk2IC05NnMtNDMgLTk2IC05NiAtOTZoLTI1NmMtNTMgMCAtOTYgNDMgLTk2IDk2czQzIDk2IDk2IDk2aDI1NnpNMzUyIDM1MmMtMjYgMCAtNDggLTIyIC00OCAtNDhzMjIgLTQ4IDQ4IC00OHM0OCAyMiA0OCA0OHMtMjIgNDggLTQ4IDQ4ek0zNTIgMzY4djBjMzUgMCA2NCAtMjkgNjQgLTY0cy0yOSAtNjQgLTY0IC02NHMtNjQgMjkgLTY0IDY0czI5IDY0IDY0IDY0ek05NyAzODR2MGMtNDQgMCAtODEgLTM2IC04MSAtODAKK3MzNiAtODAgODAgLTgwaDI1NmM0NCAwIDgwIDM2IDgwIDgwcy0zNiA4MCAtODAgODBoLTI1NXpNOTYgNDAwdjBoMjU2YzUzIDAgOTYgLTQzIDk2IC05NnMtNDMgLTk2IC05NiAtOTZoLTI1NmMtNTMgMCAtOTYgNDMgLTk2IDk2czQzIDk2IDk2IDk2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy10b2dnbGUiIHVuaWNvZGU9IiYjeGY0YzM7IiAKK2Q9Ik05NiAxMjhjMjYgMCA0OCAtMjIgNDggLTQ4cy0yMiAtNDggLTQ4IC00OHMtNDggMjIgLTQ4IDQ4czIyIDQ4IDQ4IDQ4ek0zNTIgMTc2YzUzIDAgOTYgLTQzIDk2IC05NnMtNDMgLTk2IC05NiAtOTZoLTI1NmMtNTMgMCAtOTYgNDMgLTk2IDk2czQzIDk2IDk2IDk2aDI1NnpNOTYgMTZjMzUgMCA2NCAyOSA2NCA2NHMtMjkgNjQgLTY0IDY0cy02NCAtMjkgLTY0IC02NHMyOSAtNjQgNjQgLTY0ek0zNTIgMjU2Yy0yNiAwIC00OCAyMiAtNDggNDgKK3MyMiA0OCA0OCA0OHM0OCAtMjIgNDggLTQ4cy0yMiAtNDggLTQ4IC00OHpNOTYgMjA4Yy01MyAwIC05NiA0MyAtOTYgOTZzNDMgOTYgOTYgOTZoMjU2YzUzIDAgOTYgLTQzIDk2IC05NnMtNDMgLTk2IC05NiAtOTZoLTI1NnpNMzUyIDM2OGMtMzUgMCAtNjQgLTI5IC02NCAtNjRzMjkgLTY0IDY0IC02NHM2NCAyOSA2NCA2NHMtMjkgNjQgLTY0IDY0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy10cmFzaC1vdXRsaW5lIiB1bmljb2RlPSImI3hmNGM0OyIgaG9yaXotYWR2LXg9IjI4OCIgCitkPSJNMjg4IDMzNXYtMTVoLTIwbC0yNCAtMjkxYzAgLTE2IC0xMyAtMjkgLTI5IC0yOWgtMTQxYy0xNiAwIC0yOSAxMyAtMjkgMjlsLTI0IDI5MWgtMjF2MTVoODB2MjBjMCAxNiAxMyAyOSAyOSAyOWg3MGMxNiAwIDI5IC0xMyAyOSAtMjl2LTIwaDgwek05NSAzNTV2LTIwaDk4djIwYzAgOCAtNiAxNCAtMTQgMTRoLTcwYy04IDAgLTE0IC02IC0xNCAtMTR6TTIzMCAzMGwyMyAyOTBoLTIxN2wyMyAtMjkwdjB2LTFjMCAtOCA3IC0xNCAxNSAtMTQKK2gxNDFjOCAwIDE1IDYgMTUgMTR2MXYwek0xMzcgNDd2MjQxaDE0di0yNDFoLTE0ek0yMDggMjg4bC0xMSAtMjQxaC0xNGwxMCAyNDFoMTV6TTk0IDI4OGwxMSAtMjQxaC0xNGwtMTEgMjQxaDE0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy10cmFzaCIgdW5pY29kZT0iJiN4ZjRjNTsiIGhvcml6LWFkdi14PSIyODgiIAorZD0iTTIwOCAzMzVoODB2LTE1aC0yMGwtMjQgLTI5MWMwIC0xNiAtMTMgLTI5IC0yOSAtMjloLTE0MWMtMTYgMCAtMjkgMTMgLTI5IDI5bC0yNCAyOTFoLTIxdjE1aDgwdjIwYzAgMTYgMTMgMjkgMjkgMjloNzBjMTYgMCAyOSAtMTMgMjkgLTI5di0yMHpNOTUgMzU1djB2LTIwaDk4djIwYzAgOCAtNiAxNCAtMTQgMTRoLTcwYy04IDAgLTE0IC02IC0xNCAtMTR6TTkxIDQ3aDE0bC0xMSAyNDFoLTE0ek0xNTEgNDd2MjQxaC0xNHYtMjQxaDE0egorTTE5NyA0N2wxMSAyNDFoLTE0bC0xMSAtMjQxaDE0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy11bmRvLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0YzY7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zODQgODB2LTMyaC0xMGwtMjAgMzFjLTIwIDMzIC00NCA2MyAtNzUgNzdjLTI0IDExIC00NyAxOSAtODcgMjB2LTgwbC0xOTIgMTI4bDE5MiAxMjh2LTgwYzYzIC0zIDEwOCAtMjEgMTQzIC01NmM1MiAtNTMgNDkgLTExOSA0OSAtMTM2ek0zNjggODdjMCAwIDkgMTY5IC0xOTIgMTY5djY1bC0xNDggLTk3bDE0OCAtOTd2NjVjOTEgMCAxNDQgLTI0IDE5MiAtMTA1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy11bmRvIiB1bmljb2RlPSImI3hmNGM3OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzg0IDgwdi0zMmgtMTBsLTIwIDMxYy0yMCAzMyAtNDQgNjMgLTc1IDc3Yy0yNCAxMSAtNDcgMTkgLTg3IDIwdi04MGwtMTkyIDEyOGwxOTIgMTI4di04MGM2MyAtMyAxMDggLTIxIDE0MyAtNTZjNTIgLTUzIDQ5IC0xMTkgNDkgLTEzNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtdW5sb2NrZWQtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjRjODsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTE2MCAxNjBjMTggMCAzMiAtMTQgMzIgLTMyYzAgLTE1IC0xMCAtMjcgLTI0IC0zMXYtMzNoLTE2djMzYy0xNCA0IC0yNCAxNiAtMjQgMzFjMCAxOCAxNCAzMiAzMiAzMnpNMTYwIDExMmM5IDAgMTYgNyAxNiAxNnMtNyAxNiAtMTYgMTZzLTE2IC03IC0xNiAtMTZzNyAtMTYgMTYgLTE2ek03MiAyMjRoMjQ4di0yNDBoLTMyMHYyNDBoNTZ2NzJjMCA1NyA0NyAxMDQgMTA0IDEwNHMxMDQgLTQ3IDEwNCAtMTA0di04aC0xNnY4CitjMCA0OSAtMzkgODggLTg4IDg4cy04OCAtMzkgLTg4IC04OHYtNzJ6TTMwNCAwdjIwOGgtMjg4di0yMDhoMjg4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy11bmxvY2tlZCIgdW5pY29kZT0iJiN4ZjRjOTsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTE2MCAxNDRjOSAwIDE2IC03IDE2IC0xNnMtNyAtMTYgLTE2IC0xNnMtMTYgNyAtMTYgMTZzNyAxNiAxNiAxNnpNNzIgMjI0aDI0OHYtMjQwaC0zMjB2MjQwaDU2djcyYzAgNTcgNDcgMTA0IDEwNCAxMDRzMTA0IC00NyAxMDQgLTEwNHYtOGgtMTZ2OGMwIDQ5IC0zOSA4OCAtODggODhzLTg4IC0zOSAtODggLTg4di03MnpNMTY4IDk3YzE0IDQgMjQgMTYgMjQgMzFjMCAxOCAtMTQgMzIgLTMyIDMycy0zMiAtMTQgLTMyIC0zMgorYzAgLTE1IDEwIC0yNyAyNCAtMzF2LTMzaDE2djMzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy11cGxvYWQtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjRjYTsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTE5MiAzMDRoMTI4di0zMDRoLTMyMHYzMDRoMTI4di0xNmgtMTEydi0yNzJoMjg4djI3MmgtMTEydjE2ek05NyAzMzBsLTExIDEybDc0IDc0bDc0IC03NGwtMTEgLTEybC01NSA1NXYtMjQzaC0xNnYyNDN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXVwbG9hZCIgdW5pY29kZT0iJiN4ZjRjYjsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTE2OCAzMDRoMTUydi0zMDRoLTMyMHYzMDRoMTUydi0xNjJoMTZ2MTYyek0xNjggMzg1di04MWgtMTZ2ODFsLTU1IC01NWwtMTEgMTJsNzQgNzRsNzQgLTc0bC0xMSAtMTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXZpZGVvY2FtLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0Y2M7IiBob3Jpei1hZHYteD0iNDE4IiAKK2Q9Ik0yNTcgMzIwYzE5IDAgMzMgLTE0IDMzIC0zM3YtMTg4YzAgLTE5IC0xNCAtMzUgLTMzIC0zNWgtMjIxYy0xOSAwIC0zNiAxNiAtMzYgMzV2MTg4YzAgMTkgMTcgMzMgMzYgMzNoMjIxek0yNzMgOTl2MTg4YzAgOSAtOCAxNiAtMTcgMTZoLTIyMWMtOSAwIC0xOCAtNyAtMTggLTE2di0xODhjMCAtOSAxMCAtMTggMTkgLTE4aDIyMWM5IDAgMTYgOSAxNiAxOHpNMzIwIDIzNWw5OCA1M3YtMTkybC05OCA1M3Y4NnpNNDAxIDI1OHYwbC02NCAtMzMKK3YtNjZsNjQgLTMzdjEzMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3MtdmlkZW9jYW0iIHVuaWNvZGU9IiYjeGY0Y2Q7IiBob3Jpei1hZHYteD0iNDE4IiAKK2Q9Ik0yNTcgMzIwYzE5IDAgMzMgLTE0IDMzIC0zM3YtMTg4YzAgLTE5IC0xNCAtMzUgLTMzIC0zNWgtMjIxYy0xOSAwIC0zNiAxNiAtMzYgMzV2MTg4YzAgMTkgMTcgMzMgMzYgMzNoMjIxek0zMjAgMjM1bDk4IDUzdi0xOTJsLTk4IDUzdjg2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy12b2x1bWUtaGlnaCIgdW5pY29kZT0iJiN4ZjRjZTsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTI3OCAzMjBjMjYgLTM2IDQyIC04MCA0MiAtMTI4cy0xNiAtOTIgLTQyIC0xMjhsLTE0IDEwYzI0IDMzIDM5IDc0IDM5IDExOHMtMTUgODUgLTM5IDExOHpNMjI0IDk2bC0xNCAxMGMxOCAyNCAyOSA1NCAyOSA4NnMtMTEgNjIgLTI5IDg2bDE0IDEwYzIwIC0yNyAzMiAtNjAgMzIgLTk2cy0xMiAtNjkgLTMyIC05NnpNMTc3IDEyOGwtMTMgMTBjMTIgMTUgMTggMzQgMTggNTRzLTYgMzkgLTE4IDU0bDEzIDEwCitjMTQgLTE4IDIyIC00MCAyMiAtNjRzLTggLTQ2IC0yMiAtNjR6TTU4IDIzMmw3MCA1NnYtMTkybC03MCA1NmgtNTh2ODBoNTh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXZvbHVtZS1sb3ciIHVuaWNvZGU9IiYjeGY0Y2Y7IiBob3Jpei1hZHYteD0iMTI4IiAKK2Q9Ik01OCAyMzJsNzAgNTZ2LTE5MmwtNzAgNTZoLTU4djgwaDU4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlvcy13aW5lZ2xhc3Mtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjRkMDsiIGhvcml6LWFkdi14PSIxOTIiIAorZD0iTTEwNCAxMzl2LTE1NWg3MnYtMTZoLTgwaC04MHYxNmg3MnYxNTVjMCAyMiAtMjAgMzkgLTQwIDU1Yy04IDYgLTE2IDEzIC0yMiAxOWMtMjcgMjggLTI2IDUyIC0yNiA3MXY0YzAgNDQgMzEgMTI1IDMyIDEyOGg2NGg2NGMxIC0zIDMyIC04NCAzMiAtMTI4di00YzAgLTE5IDEgLTQzIC0yNiAtNzFjLTYgLTYgLTE0IC0xMyAtMjIgLTE5Yy0yMCAtMTYgLTQwIC0zMyAtNDAgLTU1ek00MyA0MDBjLTUgLTE2IC0yMCAtNjMgLTI1IC05NmgxNTYKK2MtNSAzMyAtMjAgODAgLTI1IDk2aC01M2gtNTN6TTk2IDE3NWMzIDAgNSAwIDcgMnYwYzkgMTEgMjAgMjAgMzEgMjljOCA2IDE1IDEyIDIwIDE4YzIyIDIzIDIyIDQxIDIyIDYwdjRoLTE2MHYtNGMwIC0xOSAwIC0zNyAyMiAtNjBjNSAtNiAxMiAtMTIgMjAgLTE4YzExIC05IDIyIC0xOCAzMSAtMjl2MGMyIC0yIDQgLTIgNyAtMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mtd2luZWdsYXNzIiB1bmljb2RlPSImI3hmNGQxOyIgaG9yaXotYWR2LXg9IjE5MiIgCitkPSJNMTA0IDEzOXYtMTU1aDcydi0xNmgtODBoLTgwdjE2aDcydjE1NWMwIDIyIC0yMCAzOSAtNDAgNTVjLTggNiAtMTYgMTMgLTIyIDE5Yy0yNyAyOCAtMjYgNTIgLTI2IDcxdjRjMCA0NCAzMSAxMjUgMzIgMTI4aDY0aDY0YzEgLTMgMzIgLTg0IDMyIC0xMjh2LTRjMCAtMTkgMSAtNDMgLTI2IC03MWMtNiAtNiAtMTQgLTEzIC0yMiAtMTljLTIwIC0xNiAtNDAgLTMzIC00MCAtNTV6TTQzIDQwMGMtNSAtMTYgLTIwIC02MyAtMjUgLTk2aDE1NgorYy01IDMzIC0yMCA4MCAtMjUgOTZoLTUzaC01M3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1pb3Mtd29ybGQtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjRkMjsiIGhvcml6LWFkdi14PSI0MTYiIAorZD0iTTIwOCA0MDBjMTE1IDAgMjA4IC05MyAyMDggLTIwOHMtOTMgLTIwOCAtMjA4IC0yMDh2MHYwdjBjLTExNSAwIC0yMDggOTMgLTIwOCAyMDhzOTMgMjA4IDIwOCAyMDh2MHYwdjB6TTIxNiAyNzZ2LTc2aDc1Yy0xIDMxIC01IDYwIC0xMSA4NGMtMjEgLTUgLTQyIC03IC02NCAtOHpNMjE2IDI5MmMyMCAxIDQxIDMgNjAgOGMtMTQgNDYgLTM4IDc2IC02MCA4MnYtOTB6TTIwMCAzODJjLTIzIC02IC00NSAtMzYgLTYwIC04MgorYzE5IC01IDM5IC03IDYwIC04djkwek0yMDAgMjc2Yy0yMiAxIC00NCAzIC02NSA4Yy02IC0yNCAtMTAgLTUzIC0xMSAtODRoNzZ2NzZ6TTEwOCAyMDBjMSAzMiA0IDYyIDExIDg4Yy0yMSA2IC00MSAxNSAtNTkgMjVjLTI2IC0zMSAtNDEgLTcwIC00MyAtMTEzaDkxek0xMDggMTg0aC05MWMyIC00MyAxNyAtODIgNDMgLTExM2MxOSAxMCAzOCAxOSA1OSAyNWMtNyAyNiAtMTAgNTYgLTExIDg4ek0xMjQgMTg0YzEgLTMxIDUgLTYwIDExIC04NAorYzIxIDUgNDMgOCA2NSA5djc1aC03NnpNMjAwIDkyYy0yMSAtMSAtNDEgLTMgLTYwIC04YzE1IC00NiAzNyAtNzYgNjAgLTgydjkwek0yMTYgMmMyMiA2IDQ2IDM2IDYwIDgyYy0xOSA1IC00MCA3IC02MCA4di05MHpNMjE2IDEwOWMyMiAtMSA0MyAtNCA2NCAtOWM2IDI0IDEwIDUzIDExIDg0aC03NXYtNzV6TTMwOCAxODRjLTEgLTMyIC01IC02MiAtMTIgLTg4YzIxIC02IDQxIC0xNSA2MCAtMjVjMjYgMzEgNDEgNzAgNDMgMTEzaC05MXoKK00zMDggMjAwdjBoOTFjLTIgNDMgLTE3IDgyIC00MyAxMTNjLTE5IC0xMCAtMzggLTE5IC01OSAtMjVjNyAtMjYgMTAgLTU2IDExIC04OHpNMzQ0IDMyNmMtMjUgMjUgLTU2IDQ0IC05MSA1MmMxNiAtMTcgMjkgLTQzIDM5IC03NGMxOCA2IDM1IDEzIDUyIDIyek0xNjMgMzc4Yy0zNSAtOCAtNjcgLTI3IC05MSAtNTJjMTYgLTkgMzQgLTE1IDUyIC0yMWMxMCAzMSAyMyA1NiAzOSA3M3pNNzIgNThjMjUgLTI1IDU2IC00NCA5MSAtNTIKK2MtMTYgMTcgLTMwIDQzIC00MCA3NGMtMTggLTYgLTM1IC0xMyAtNTEgLTIyek0yNTMgNmMzNSA4IDY2IDI3IDkxIDUyYy0xNyA5IC0zNCAxNiAtNTIgMjJjLTEwIC0zMSAtMjMgLTU3IC0zOSAtNzR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taW9zLXdvcmxkIiB1bmljb2RlPSImI3hmNGQzOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjA4IDQwMGMxMTUgMCAyMDggLTkzIDIwOCAtMjA4cy05MyAtMjA4IC0yMDggLTIwOHYwdjB2MGMtMTE1IDAgLTIwOCA5MyAtMjA4IDIwOHM5MyAyMDggMjA4IDIwOHYwdjB2MHpNMjA4IDFjMTA2IDAgMTkxIDg1IDE5MSAxOTFzLTg1IDE5MSAtMTkxIDE5MXYwdjB2MGMtMTA2IDAgLTE5MSAtODUgLTE5MSAtMTkxczg2IC0xOTEgMTkxIC0xOTF2MHYwdjB6TTI3NCAyNzZjNiAtMjIgOSAtNDggMTAgLTc2aC02OHY2OGMyMCAxIDM5IDQgNTggOAorek0yMTYgMzY2YzIwIC02IDQxIC0zNCA1NCAtNzVjLTE3IC00IC0zNiAtNiAtNTQgLTd2ODJ6TTE0NSAyOTFjMTMgNDIgMzUgNjkgNTUgNzV2LTgyYy0xOSAxIC0zNyAzIC01NSA3ek0zMzMgMzE1Yy0xNSAtOCAtMzEgLTE1IC00OCAtMjBjLTkgMjkgLTIxIDUyIC0zNiA2N2MzMiAtOCA2MSAtMjQgODQgLTQ3ek0yOTkgMjAwYy0xIDI5IC00IDU2IC0xMCA4MGMxOSA2IDM3IDE0IDU0IDIzYzIzIC0yOCAzOCAtNjQgNDAgLTEwM2gtODR6TTEzMiAyMDAKK2MxIDI4IDMgNTQgOSA3NmMxOSAtNSAzOSAtNyA1OSAtOHYtNjhoLTY4ek0yODQgMTg0Yy0xIC0yOCAtNCAtNTQgLTEwIC03NmMtMTkgNSAtMzggNyAtNTggOHY2OGg2OHpNMTQxIDEwOGMtNiAyMiAtOCA0OCAtOSA3Nmg2OHYtNjhjLTIwIC0xIC00MCAtMyAtNTkgLTh6TTIwMCAxOGMtMjAgNiAtNDIgMzMgLTU1IDc1YzE4IDQgMzYgNiA1NSA3di04MnpNMjQ5IDIyYzE1IDE1IDI3IDM4IDM2IDY3YzE3IC01IDMzIC0xMSA0OCAtMTkKK2MtMjMgLTIzIC01MiAtNDAgLTg0IC00OHpNMTY3IDM2MmMtMTUgLTE1IC0yNyAtMzkgLTM2IC02N2MtMTYgNSAtMzMgMTEgLTQ4IDE5YzIyIDIzIDUyIDQwIDg0IDQ4ek0yODkgMTA0YzYgMjQgOSA1MSAxMCA4MGg4NGMtMiAtMzkgLTE3IC03NSAtNDAgLTEwM2MtMTcgOSAtMzUgMTcgLTU0IDIzek0yMTYgMTAwYzE4IC0xIDM3IC0zIDU0IC03Yy0xMyAtNDIgLTM0IC02OSAtNTQgLTc1djgyek0xMjcgMjgwYy02IC0yNCAtMTEgLTUxIC0xMSAtODAKK2gtODNjMiAzOSAxNyA3NSA0MCAxMDNjMTcgLTkgMzUgLTE3IDU0IC0yM3pNMTE2IDE4NGMxIC0yOSA0IC01NiAxMCAtODBjLTE5IC02IC0zNiAtMTQgLTUzIC0yM2MtMjMgMjggLTM4IDY0IC00MCAxMDNoODN6TTgzIDcwYzE1IDggMzIgMTQgNDggMTljOSAtMjggMjEgLTUyIDM2IC02N2MtMzIgOCAtNjIgMjUgLTg0IDQ4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlwYWQiIHVuaWNvZGU9IiYjeGYxZjk7IiBob3Jpei1hZHYteD0iMjg4IiAKK2Q9Ik0wIDM3NWMwIDUgNCA5IDkgOWgyNzBjNSAwIDkgLTQgOSAtOXYtMzY2YzAgLTUgLTQgLTkgLTkgLTloLTI3MGMtNSAwIC05IDQgLTkgOXYzNjZ6TTE0NCAxMGM4IDAgMTQgNiAxNCAxNHMtNyAxNCAtMTQgMTRjLTggMCAtMTQgLTYgLTE0IC0xNHM2IC0xNCAxNCAtMTR6TTMyIDMyOXYtMjc1YzAgLTQgMyAtNiA2IC02aDIxMWMzIDAgNyAyIDcgNnYyNzVjMCA0IC00IDcgLTcgN2gtMjExYy0zIDAgLTYgLTMgLTYgLTd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24taXBob25lIiB1bmljb2RlPSImI3hmMWZhOyIgaG9yaXotYWR2LXg9IjE5MiIgCitkPSJNMTY4IDM4NGMxMyAwIDI0IC0xMSAyNCAtMjR2LTMzNmMwIC0xMyAtMTEgLTI0IC0yNCAtMjRoLTE0NGMtMTMgMCAtMjQgMTEgLTI0IDI0djMzNmMwIDEzIDExIDI0IDI0IDI0aDE0NHpNODAgMzQ4djBjMCAtMiAyIC00IDQgLTRoMjRjMiAwIDQgMiA0IDR2MGMwIDIgLTIgNCAtNCA0aC0yNGMtMiAwIC00IC0yIC00IC00ek02OCAzNTJjLTIgMCAtNCAtMiAtNCAtNHMyIC00IDQgLTRzNCAyIDQgNHMtMiA0IC00IDR6TTk2IDE2CitjOSAwIDE2IDcgMTYgMTZzLTcgMTYgLTE2IDE2cy0xNiAtNyAtMTYgLTE2czcgLTE2IDE2IC0xNnpNMTc2IDY0djI1NmgtMTYwdi0yNTZoMTYweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWlwb2QiIHVuaWNvZGU9IiYjeGYxZmI7IiBob3Jpei1hZHYteD0iMjI0IiAKK2Q9Ik0xMTIgMTM3YzE4IDAgMzIgLTE0IDMyIC0zMnMtMTQgLTMyIC0zMiAtMzJzLTMyIDE0IC0zMiAzMnMxNCAzMiAzMiAzMnpNMTk2IDM4NGMxNSAwIDI4IC0xMiAyOCAtMjh2LTMyOGMwIC0xNiAtMTMgLTI4IC0yOCAtMjhoLTE2OGMtMTUgMCAtMjggMTIgLTI4IDI4djMyOGMwIDE2IDEzIDI4IDI4IDI4aDE2OHpNMTEyIDMyYzQwIDAgNzIgMzIgNzIgNzJzLTMyIDcyIC03MiA3MnMtNzIgLTMyIC03MiAtNzJzMzIgLTcyIDcyIC03MnoKK00xOTIgMjIxdjExOGMtMSA3IC02IDEyIC0xMiAxM2gtMTM2Yy03IC0xIC0xMiAtNyAtMTIgLTE1di0xMTRjMCAtOCA2IC0xNSAxNCAtMTVoMTMxYzggMCAxNCA1IDE1IDEzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWpldCIgdW5pY29kZT0iJiN4ZjI5NTsiIGhvcml6LWFkdi14PSIzMjYiIAorZD0iTTIyMiA4MGwtMiAtMTNsNTMgLTU4bC0xOCAtMjdsLTc0IDlsLTE4IC01NWwtMTkgNTVsLTczIC05bC0xOCAyN2w1MyA1OGwtMiAxM2wtMTA0IC0zNWwzIDUzbDExNCAxMDNzMjYgMTczIDI4IDE5MmM1IDQwIDE4IDU1IDE4IDU1czEzIC0xNSAxOCAtNTVjMiAtMTkgMjggLTE5MiAyOCAtMTkybDExNCAtMTAzbDMgLTUzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWtleSIgdW5pY29kZT0iJiN4ZjI5NjsiIGhvcml6LWFkdi14PSIxOTIiIAorZD0iTTE0NCAxNDdjMjggLTE3IDQ4IC00OCA0OCAtODNjMCAtNTMgLTQzIC05NiAtOTYgLTk2cy05NiA0MyAtOTYgOTZjMCAzNiAxOSA2NyA0OCA4NGMwIDAgNyAxNiAxMiA0MWMwIDQgMTEgNiAxMSAxMnYyMGMwIDUgLTcgOSAtNyAxMXY4djhjMCAyIDAgNCAxIDZjMCAxIDEgMSAxIDJsMiAxbDQgNHYxYzIgMiAzIDQgMyA2YzAgMSAxIDggMSA5YzAgMyAtMiA2IC00IDhsLTEgMWwtNCA0djBsLTEgMXYwYy0yIDIgLTMgNSAtMyA4djcKK2MwIDMgMiA3IDQgOXYwbDUgNXYwYzIgMiA0IDMgNCA2djI0YzAgMyAtMiA2IC00IDh2MWwtNCA0bC0xIDFjLTIgMiAtMyA1IC0zIDh2MThjMCAxMSAwIDE5IDkgMjNjMyAxIDE0IDMgMjMgM2MyMCAwIDMwIC04IDMyIC0zNmMwIDAgNyAtODEgOSAtMTQzczcgLTkwIDcgLTkwek05NiAwYzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1rbmlmZSIgdW5pY29kZT0iJiN4ZjI5NzsiIGhvcml6LWFkdi14PSI2NCIgCitkPSJNNjIgNDE2YzIgMCAyIC0xIDIgLTZ2LTQxMmMwIC0xNSAtMTAgLTMwIC0yNCAtMzB2MHYwYy0xNCAwIC0yNCAxNSAtMjQgMzBjMSAxOSAxNCA4MyAxNiAxMzB2MGMxIDMwIC0zMiAzMSAtMzIgNzBjMCAxMzQgMzUgMTkxIDU0IDIxNGMyIDIgNSA0IDggNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1sYXB0b3AiIHVuaWNvZGU9IiYjeGYxZmM7IiBob3Jpei1hZHYteD0iNTEyIiAKK2Q9Ik00ODAgMzQydi0yNjJoLTQ0OHYyNjJjMCA2IDQgMTAgMTAgMTBoNDI4YzYgMCAxMCAtNCAxMCAtMTB6TTQ0OCAxMTJ2MjA4aC0zODR2LTIwOGgzODR6TTAgNTl2NWg1MTJ2LTVjLTcwIC0yMCAtMTE2IC0yNyAtMjU2IC0yN3MtMTg2IDcgLTI1NiAyN3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1sZWFmIiB1bmljb2RlPSImI3hmMWZkOyIgaG9yaXotYWR2LXg9IjQyMiIgCitkPSJNNDEyIDY5YzE4IC0zIDEwIC00MSAtNSAtMzljMCAwIC0yMSAtMSAtNjMgMTJjMCAwIC0xNiAtMTkgLTM5IC0zMGMtMjYgLTEyIC0xMTggLTMzIC0xOTcgMzhjLTEwOCA5NyAtMTIwIDM1NCAtMTAwIDMzM2M4NiAtOTAgMTk3IC00NyAyNzAgLTEwNmM1NSAtNDQgODggLTEyNyA3NyAtMTkyYzAgMCA1IC04IDU3IC0xNnpNMzE2IDY1YzUgNSAxMCAxNiAxMCAyNGMtMTYxIDUyIC0yNTIgMTYwIC0yNTIgMTYwczEwNCAtMTQzIDI0MiAtMTg0egorIiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbGV2ZWxzIiB1bmljb2RlPSImI3hmMjk4OyIgaG9yaXotYWR2LXg9IjM1MCIgCitkPSJNNDYgMzQ5YzExIC01IDE4IC0xNiAxOCAtMjlzLTcgLTI0IC0xOCAtMjl2LTI3NWMwIC05IC03IC0xNiAtMTYgLTE2cy0xNiA3IC0xNiAxNnYyNzhjLTggNiAtMTQgMTUgLTE0IDI2czYgMjAgMTQgMjZ2MjJjMCA5IDcgMTYgMTYgMTZzMTYgLTcgMTYgLTE2di0xOXpNMTQyIDE1NWM5IC02IDE1IC0xNiAxNSAtMjdzLTYgLTIxIC0xNSAtMjd2LTg1YzAgLTkgLTcgLTE2IC0xNiAtMTZzLTE2IDcgLTE2IDE2djg0CitjLTEwIDUgLTE3IDE2IC0xNyAyOHM3IDIzIDE3IDI4djIxMmMwIDkgNyAxNiAxNiAxNnMxNiAtNyAxNiAtMTZ2LTIxM3pNMjM4IDI4NWMxMCAtNiAxNiAtMTYgMTYgLTI4cy02IC0yMiAtMTYgLTI4di0yMTNjMCAtOSAtNyAtMTYgLTE2IC0xNnMtMTYgNyAtMTYgMTZ2MjEzYy0xMCA2IC0xNiAxNiAtMTYgMjhzNiAyMiAxNiAyOHY4M2MwIDkgNyAxNiAxNiAxNnMxNiAtNyAxNiAtMTZ2LTgzek0zNTAgNjVjMCAtMTIgLTYgLTIyIC0xNiAtMjh2LTIxCitjMCAtOSAtNyAtMTYgLTE2IC0xNnMtMTYgNyAtMTYgMTZ2MjFjLTEwIDYgLTE2IDE2IC0xNiAyOHM2IDIyIDE2IDI4djI3NWMwIDkgNyAxNiAxNiAxNnMxNiAtNyAxNiAtMTZ2LTI3NWMxMCAtNiAxNiAtMTYgMTYgLTI4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWxpZ2h0YnVsYiIgdW5pY29kZT0iJiN4ZjI5OTsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTEyOCA0MTZjNzEgMCAxMjggLTU2IDEyOCAtMTI0YzAgLTUgMCAtOSAtMSAtMTRzLTIgLTExIC0zIC0xNnYtMmMtMTcgLTYzIC00NSAtNzEgLTU5IC0xNjd2LTFjLTIgLTkgLTEwIC0xMiAtMjAgLTEyaC05MGMtMTAgMCAtMTggMyAtMjAgMTJ2MWMtMTQgOTYgLTQyIDEwNCAtNTkgMTY3djJjLTEgNSAtMiAxMSAtMyAxNnMtMSA5IC0xIDE0YzAgNjggNTcgMTI0IDEyOCAxMjR6TTE5MCA1MnYtMWMtMiAtMyAtMyAtNCAtMyAtN3MxIC01IDMgLTgKK3YtMWMxIC0yIDIgLTMgMiAtNXMtMSAtNCAtMiAtNnYtMWMtMiAtMyAtMyAtNCAtMyAtN3MxIC01IDMgLTh2LTFjMSAtMiAyIC00IDIgLTZjMCAtNSAtNCAtOSAtMTAgLTExaC0xYy02IC0xIC0xMyAtMiAtMTkgLTNoLTJjLTYgLTEgLTExIC01IC0xNCAtOXYwYy00IC01IC0xMCAtMTAgLTE4IC0xMHMtMTUgNiAtMTkgMTF2MGMtMyA0IC03IDcgLTEzIDhoLTJjLTYgMSAtMTMgMiAtMTkgM2gtMWMtNiAyIC0xMCA2IC0xMCAxMWMwIDIgMSA0IDIgNnYxCitjMiAyIDMgNCAzIDdzLTEgNSAtMyA4djFjLTEgMiAtMiA0IC0yIDZzMSAzIDIgNXYxYzIgMyAzIDUgMyA4cy0xIDQgLTMgN3YxdjBjLTEgMiAtMiA0IC0yIDZjMCA0IC0xIDYgNyA2aDExNGM4IDAgNyAtMiA3IC02YzAgLTIgLTEgLTQgLTIgLTZ2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1saW5rIiB1bmljb2RlPSImI3hmMWZlOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMTkyIDI0MHYwdjB2MHpNMzA0IDI4OGM0NCAwIDgwIC0zNiA4MCAtODB2LTMyYzAgLTQ0IC0zNiAtODAgLTgwIC04MGgtMTEyYy0zMyAwIC02MCAyMCAtNzMgNDhjLTQgMTAgLTcgMjAgLTcgMzJ2MzJoNDh2LTMyYzAgLTE4IDE0IC0zMiAzMiAtMzJoMTEyYzE4IDAgMzIgMTQgMzIgMzJ2MzJjMCAxOCAtMTQgMzIgLTMyIDMydjBoLTE2Yy02IDMxIC0zMiA0OCAtMzIgNDhoNDh6TTI2NiAyNDBjNCAtMTAgNiAtMjEgNiAtMzJ2LTMydjBoLTQ4Cit2MHYzMmMwIDE4IC0xNCAzMiAtMzIgMzJ2MGgtMTEyYy0xOCAwIC0zMiAtMTQgLTMyIC0zMnYtMzJjMCAtMTggMTQgLTMyIDMyIC0zMmgxNmM2IC0zMSAzMiAtNDggMzIgLTQ4aC00OGMtNDQgMCAtODAgMzYgLTgwIDgwdjMyYzAgNDQgMzYgODAgODAgODBoMTEyYzMzIDAgNjIgLTIwIDc0IC00OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1sb2FkLWEiIHVuaWNvZGU9IiYjeGYyOWE7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xNDQgMzUyYzAgNDMgMjEgNjQgNjQgNjRzNjQgLTIxIDY0IC02NHMtMjEgLTY0IC02NCAtNjRzLTY0IDIxIC02NCA2NHpNMCAxOTJjMCAzMiAxNiA0OCA0OCA0OHM0OCAtMTYgNDggLTQ4cy0xNiAtNDggLTQ4IC00OHMtNDggMTYgLTQ4IDQ4ek0zMTIgMzA0YzAgNSAzIDggOCA4czggLTMgOCAtOHMtMyAtOCAtOCAtOHMtOCAzIC04IDh6TTEzMiAzNDBjMTAgLTEwIDE1IC0yMiAxNSAtMzZzLTUgLTI2IC0xNSAtMzZzLTIyIC0xNSAtMzYgLTE1CitzLTI2IDUgLTM2IDE1cy0xNSAyMiAtMTUgMzZzNSAyNiAxNSAzNnMyMiAxNSAzNiAxNXMyNiAtNSAzNiAtMTV6TTM1MiAxOTJjMCAxMSA1IDE2IDE2IDE2czE2IC01IDE2IC0xNnMtNSAtMTYgLTE2IC0xNnMtMTYgNSAtMTYgMTZ6TTI5NyA3OWMwIDE2IDggMjQgMjQgMjRzMjQgLTggMjQgLTI0cy04IC0yNCAtMjQgLTI0cy0yNCA4IC0yNCAyNHpNMTc2IDMyYzAgMjEgMTEgMzIgMzIgMzJzMzIgLTExIDMyIC0zMnMtMTEgLTMyIC0zMiAtMzIKK3MtMzIgMTEgLTMyIDMyek01NiA4MGMwIDI3IDEzIDQwIDQwIDQwczQwIC0xMyA0MCAtNDBzLTEzIC00MCAtNDAgLTQwcy00MCAxMyAtNDAgNDB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbG9hZC1iIiB1bmljb2RlPSImI3hmMjliOyIgCitkPSJNMjU2IDI4OGMwIC0xOCAtMTQgLTMyIC0zMiAtMzJ2MGMtMTggMCAtMzIgMTQgLTMyIDMydjk2YzAgMTggMTQgMzIgMzIgMzJ2MGMxOCAwIDMyIC0xNCAzMiAtMzJ2LTk2ek0yMjQgMTI4djBjMTggMCAzMiAtMTQgMzIgLTMydi05NmMwIC0xOCAtMTQgLTMyIC0zMiAtMzJzLTMyIDE0IC0zMiAzMnY5NmMwIDE4IDE0IDMyIDMyIDMyek00MTYgMjI0djBjMTggMCAzMiAtMTQgMzIgLTMycy0xNCAtMzIgLTMyIC0zMmgtOTYKK2MtMTggMCAtMzIgMTQgLTMyIDMyczE0IDMyIDMyIDMyaDk2ek0xMjggMjI0djBjMTggMCAzMiAtMTQgMzIgLTMycy0xNCAtMzIgLTMyIC0zMmgtOTZjLTE4IDAgLTMyIDE0IC0zMiAzMnMxNCAzMiAzMiAzMmg5NnpNMzE0IDIzN2MtMTIgLTEyIC0zMyAtMTIgLTQ1IDB2MGMtMTIgMTIgLTEyIDM0IDAgNDZsNjggNjdjMTIgMTIgMzMgMTIgNDUgMHYwYzEyIC0xMiAxMiAtMzMgMCAtNDV6TTE3OSAxNDd2MGMxMiAtMTIgMTIgLTMzIDAgLTQ2CitsLTY4IC02N2MtMTIgLTEyIC0zMyAtMTIgLTQ1IDBzLTEyIDMzIDAgNDVsNjcgNjhjMTIgMTIgMzQgMTIgNDYgMHpNMzgyIDc5djBjMTIgLTEyIDEyIC0zMyAwIC00NXMtMzMgLTEyIC00NSAwbC02OCA2OGMtMTIgMTIgLTEyIDMzIDAgNDVzMzMgMTIgNDUgMHpNMTc5IDI4MnYwYzEyIC0xMiAxMiAtMzMgMCAtNDVzLTM0IC0xMiAtNDYgMGwtNjcgNjhjLTEyIDEyIC0xMiAzMyAwIDQ1czMzIDEyIDQ1IDB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbG9hZC1jIiB1bmljb2RlPSImI3hmMjljOyIgCitkPSJNNDQ4IDIyMmMwIC0zIDAgLTYgLTEgLTljLTQgLTggLTE1IC0xMiAtMjMgLTdjLTQgMiAtNiA3IC03IDExYy0xIDUgLTEgOSAtMiAxNGMtNCAyMCAtMTIgNDAgLTIyIDU4Yy0xMiAyMSAtMjggNDEgLTQ3IDU2Yy0xOCAxNSAtNDAgMjYgLTYyIDMzYy0yMSA2IC00MiA5IC02NCA5aC00Yy0zIDAgLTYgLTEgLTkgLTFjLTYgMCAtMTQgLTEgLTIwIC0yYy0xMyAtMiAtMjUgLTYgLTM3IC0xMWMtMjEgLTggLTQwIC0yMCAtNTcgLTM1CitzLTMxIC0zMyAtNDIgLTUyYy0xMiAtMjIgLTIwIC00NSAtMjQgLTcwYy0yIC0xMSAtMiAtMjMgLTIgLTM0YzAgLTYgMCAtMTEgMSAtMTZjMSAtNiAyIC0xMyAzIC0xOWM1IC0yNCAxNCAtNDcgMjggLTY3YzEzIC0yMCAyOSAtMzggNDggLTUyYzIwIC0xNSA0MiAtMjYgNjUgLTMzYzI1IC03IDUwIC05IDc2IC03YzI1IDIgNTAgOSA3MyAyMGMxMSA1IDIyIDEyIDMyIDE5czE5IDE1IDI3IDI0YzQgNCA4IDkgMTIgMTRzNyAxMCAxMCAxNQorYzYgMTAgMTIgMjAgMTcgMzFjNCA4IDggMTYgMTEgMjVjMiA0IDMgOSA0IDEzczEgNyAyIDExYzEgLTkgMSAtMTggLTEgLTI2Yy0xIC01IC0yIC0xMSAtNCAtMTZjLTEgLTUgLTMgLTEwIC01IC0xNWMtNCAtMTAgLTggLTE5IC0xMyAtMjhjLTYgLTExIC0xMiAtMjEgLTIwIC0zMHMtMTYgLTE4IC0yNSAtMjZjLTE4IC0xNSAtNDAgLTI3IC02MiAtMzZjLTIzIC05IC00OCAtMTQgLTczIC0xNXMtNTEgMyAtNzUgMTFjLTIzIDcgLTQ1IDE5IC02NSAzMworYy0xOSAxNCAtMzYgMzEgLTUwIDUwYy03IDEwIC0xMyAyMCAtMTggMzFzLTkgMjEgLTEzIDMzYy02IDE4IC05IDM3IC0xMCA1NmMtMSAyMCAxIDM5IDUgNThjNSAyNCAxNSA0NyAyOCA2OGMxMiAxOSAyNiAzNSA0MiA1MHMzNSAyNyA1NSAzNmMyMyAxMSA0OCAxOSA3NCAyMWMxMCAxIDE5IDEgMjkgMWMxMyAwIDI2IC0yIDM4IC00YzI0IC01IDQ3IC0xNCA2OCAtMjZzNDEgLTI5IDU3IC00OGMxNSAtMTggMjcgLTM3IDM2IC01OAorYzQgLTEwIDcgLTIxIDEwIC0zMmMyIC04IDUgLTE3IDYgLTI2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWxvYWQtZCIgdW5pY29kZT0iJiN4ZjI5ZDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM2OCAyMDhjOSAwIDE2IC03IDE2IC0xNnMtNyAtMTYgLTE2IC0xNmgtODBjLTkgMCAtMTYgNyAtMTYgMTZzNyAxNiAxNiAxNmg4MHpNMTEyIDE5MmMwIC05IC03IC0xNiAtMTYgLTE2aC04MGMtOSAwIC0xNiA3IC0xNiAxNnM3IDE2IDE2IDE2aDgwYzkgMCAxNiAtNyAxNiAtMTZ6TTE5MiAxMTJjOSAwIDE2IC03IDE2IC0xNnYtODBjMCAtOSAtNyAtMTYgLTE2IC0xNnMtMTYgNyAtMTYgMTZ2ODBjMCA5IDcgMTYgMTYgMTZ6TTE5MiAzODQKK2M5IDAgMTYgLTcgMTYgLTE2di04MGMwIC05IC03IC0xNiAtMTYgLTE2cy0xNiA3IC0xNiAxNnY4MGMwIDkgNyAxNiAxNiAxNnpNMjYxIDIzMmMtNCA4IC0yIDE4IDYgMjJsNjkgNDBjOCA0IDE4IDIgMjIgLTZzMiAtMTggLTYgLTIybC02OSAtNDBjLTggLTQgLTE4IC0yIC0yMiA2ek0xMjMgMTUyYzQgLTggMiAtMTggLTYgLTIybC02OSAtNDBjLTggLTQgLTE4IC0yIC0yMiA2cy0yIDE4IDYgMjJsNjkgNDBjOCA0IDE4IDIgMjIgLTZ6TTI1NCAxMTcKK2w0MCAtNjljNCAtOCAyIC0xOCAtNiAtMjJzLTE4IC0yIC0yMiA2bC00MCA2OWMtNCA4IC0yIDE4IDYgMjJzMTggMiAyMiAtNnpNMTE4IDM1Mmw0MCAtNjljNCAtOCAyIC0xOCAtNiAtMjJzLTE4IC0yIC0yMiA2bC00MCA2OWMtNCA4IC0yIDE4IDYgMjJzMTggMiAyMiAtNnpNMjMyIDI2MWMtOCA0IC0xMCAxNCAtNiAyMmw0MCA2OWM0IDggMTQgMTAgMjIgNnMxMCAtMTQgNiAtMjJsLTQwIC02OWMtNCAtOCAtMTQgLTEwIC0yMiAtNnpNMTUyIDEyMworYzggLTQgMTAgLTE0IDYgLTIybC00MCAtNjljLTQgLTggLTE0IC0xMCAtMjIgLTZzLTEwIDE0IC02IDIybDQwIDY5YzQgOCAxNCAxMCAyMiA2ek0zNTIgMTE4YzggLTQgMTAgLTE0IDYgLTIycy0xNCAtMTAgLTIyIC02bC02OSA0MGMtOCA0IC0xMCAxNCAtNiAyMnMxNCAxMCAyMiA2ek0zMiAyNjZjLTggNCAtMTAgMTQgLTYgMjJzMTQgMTAgMjIgNmw2OSAtNDBjOCAtNCAxMCAtMTQgNiAtMjJzLTE0IC0xMCAtMjIgLTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbG9jYXRpb24iIHVuaWNvZGU9IiYjeGYxZmY7IiBob3Jpei1hZHYteD0iMjM5IiAKK2Q9Ik0xMTkgMzg0YzY2IDAgMTIwIC01NCAxMjAgLTEyMGMwIC0xMTUgLTEyMCAtMjY0IC0xMjAgLTI2NHMtMTE5IDE0OSAtMTE5IDI2NGMwIDY2IDUzIDEyMCAxMTkgMTIwek0xMTkgMjA2YzMxIDAgNTcgMjUgNTcgNTZzLTI2IDU3IC01NyA1N3MtNTYgLTI2IC01NiAtNTdzMjUgLTU2IDU2IC01NnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1sb2NrLWNvbWJpbmF0aW9uIiB1bmljb2RlPSImI3hmNGQ0OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzIwIDI3MWMzOSAtMzUgNjQgLTg2IDY0IC0xNDNjMCAtMTA2IC04NiAtMTkyIC0xOTIgLTE5MnMtMTkyIDg2IC0xOTIgMTkyYzAgNTcgMjUgMTA4IDY0IDE0M3Y0OWMwIDcxIDU3IDEyOCAxMjggMTI4czEyOCAtNTcgMTI4IC0xMjh2LTQ5ek05NiAzMjB2LTI2YzI4IDE2IDYxIDI2IDk2IDI2czY4IC0xMCA5NiAtMjZ2MjZjMCA1MyAtNDMgOTYgLTk2IDk2cy05NiAtNDMgLTk2IC05NnpNMTkyIC0zMmM4OCAwIDE2MCA3MiAxNjAgMTYwCitzLTcyIDE2MCAtMTYwIDE2MHMtMTYwIC03MiAtMTYwIC0xNjBzNzIgLTE2MCAxNjAgLTE2MHpNMTkyIDI3MmM4MCAwIDE0NCAtNjQgMTQ0IC0xNDRzLTY0IC0xNDQgLTE0NCAtMTQ0cy0xNDQgNjQgLTE0NCAxNDRzNjQgMTQ0IDE0NCAxNDR6TTMxNSA5NWMyIDkgNCAxOCA0IDI5aC03djdoOGMwIDExIC0yIDIwIC01IDMwbC0yNSAtN2wtNCAxMmwyNSA4Yy00IDEwIC04IDE4IC0xNCAyNmwtMTEgLThsLTQgNmwxMSA4Yy02IDggLTEzIDE2IC0yMSAyMgorbC0xNSAtMjFsLTExIDhsMTUgMjBjLTggNiAtMTcgMTEgLTI3IDE0bC00IC0xM2wtNiAybDUgMTNjLTkgMyAtMjAgNSAtMjkgNXYtMTN2LTZoLTE2djZ2MTNjLTExIC0xIC0xOSAtMiAtMjkgLTVsNCAtMTJsLTYgLTJsLTQgMTJjLTEwIC0zIC0xOSAtOCAtMjcgLTE0bDE1IC0yMGwtMTAgLThsLTE1IDIxYy04IC02IC0xNiAtMTQgLTIyIC0yMmwxMSAtOGwtNCAtNWwtMTAgOGMtNiAtOCAtMTAgLTE3IC0xNCAtMjdsMjQgLThsLTUgLTEybC0yNSA3CitjLTMgLTEwIC0zIC0xOSAtMyAtMzBoNnYtN2gtNWMwIC0xMSAyIC0yMCA0IC0yOWwyNCA3bDQgLTEybC0yNCAtOGM0IC0xMCA4IC0xOSAxNCAtMjdsOSA3bDQgLTVsLTkgLTdjNiAtOCAxMyAtMTYgMjEgLTIybDE1IDIxbDEwIC04bC0xNSAtMjBjOCAtNSAxNyAtMTEgMjcgLTE0bDMgMTFsNyAtMmwtNCAtMTFjMTAgLTMgMTggLTQgMjkgLTV2MTN2NmgxNnYtNnYtMTNjOSAxIDE5IDIgMjkgNWwtNSAxMmw2IDJsNCAtMTJjMTAgMyAxOSA4IDI3IDE0CitsLTE1IDIwbDExIDhsMTUgLTIxYzggNiAxNSAxNCAyMSAyMmwtMTEgN2w0IDZsMTAgLThjNiA4IDExIDE3IDE1IDI3bC0yNSA4bDQgMTJ6TTExMSAxMjhjMCA1NCAyNyA4MSA4MSA4MXM4MSAtMjcgODEgLTgxcy0yNyAtODEgLTgxIC04MXMtODEgMjcgLTgxIDgxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLWxvY2tlZCIgdW5pY29kZT0iJiN4ZjIwMDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTIyIC0zMmMtMTIgMCAtMjIgMTAgLTIyIDIydjIxMmMwIDEyIDEwIDIyIDIyIDIyaDNoMTl2MzFjMCA0MiAxNyA4NyA0MyAxMTVzNjQgNDYgMTA1IDQ2djB2MGM0MSAwIDc5IC0xOCAxMDUgLTQ2czQzIC03MyA0MyAtMTE1di0zMWgyMmMxMiAwIDIyIC0xMCAyMiAtMjJ2LTIxMmMwIC0xMiAtMTAgLTIyIC0yMiAtMjJoLTM0MHpNOTcgMjU1di0zMWgxN2gxNTVoMTh2MzFjMCAyNyAtMTAgNjEgLTI4IDgwdjB2MQorYy0xOCAxOSAtNDIgMjkgLTY3IDI5djB2MGMtMjUgMCAtNDkgLTEwIC02NyAtMjl2LTF2MGMtMTggLTE5IC0yOCAtNTMgLTI4IC04MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1sb2ctaW4iIHVuaWNvZGU9IiYjeGYyOWU7IiAKK2Q9Ik0yMjQgNDE2YzEyNCAwIDIyNCAtMTAwIDIyNCAtMjI0cy0xMDAgLTIyNCAtMjI0IC0yMjRjLTk2IDAgLTE3NyA2MCAtMjA5IDE0NGgzNGM5IC0yMCAyMyAtNDAgMzkgLTU2YzM2IC0zNiA4NSAtNTYgMTM2IC01NnMxMDAgMjAgMTM2IDU2czU2IDg1IDU2IDEzNnMtMjAgMTAwIC01NiAxMzZzLTg1IDU2IC0xMzYgNTZzLTEwMCAtMjAgLTEzNiAtNTZjLTE2IC0xNiAtMzAgLTM2IC0zOSAtNTZoLTM0YzMyIDg0IDExMyAxNDQgMjA5IDE0NHoKK00xNzUgMTI0bDUyIDUyaC0yMjd2MzJoMjI3bC01MiA1MmwyMiAyM2w5MSAtOTFsLTkxIC05MXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1sb2ctb3V0IiB1bmljb2RlPSImI3hmMjlmOyIgCitkPSJNMzM1IDEyNGw1MiA1MmgtMjI3djMyaDIyN2wtNTIgNTJsMjIgMjNsOTEgLTkxbC05MSAtOTF6TTM1OSA1NmMzIDMgNiA1IDggOGg0MWMtNDAgLTU4IC0xMDggLTk2IC0xODQgLTk2Yy0xMjQgMCAtMjI0IDEwMCAtMjI0IDIyNHMxMDAgMjI0IDIyNCAyMjRjNzYgMCAxNDQgLTM4IDE4NCAtOTZoLTQxYy0yIDMgLTUgNSAtOCA4Yy0zNiAzNiAtODQgNTYgLTEzNSA1NnMtMTAwIC0yMCAtMTM2IC01NnMtNTYgLTg1IC01NiAtMTM2CitzMjAgLTEwMCA1NiAtMTM2czg1IC01NiAxMzYgLTU2czk5IDIwIDEzNSA1NnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1sb29wIiB1bmljb2RlPSImI3hmMjAxOyIgaG9yaXotYWR2LXg9IjMzNCIgCitkPSJNMTg0IDE0OHYtNThjNDkgOCA4NiA1MCA4NiAxMDJjMCAxNiAtNCAzMCAtMTAgNDRjLTMgNiAtNSAxMiAtOSAxN2w0NyA0M2MxIC0xIDIgLTMgMyAtNGMyMSAtMjggMzMgLTYyIDMzIC0xMDB2LTRjLTIgLTcyIC00NyAtMTMxIC0xMTEgLTE1NGMtMTIgLTQgLTI2IC04IC0zOSAtOXYtNTdsLTc2IDY3bC0yNiAyM2w0NCAzOXpNMCAxOTZjMiA3MiA0OCAxMzMgMTEzIDE1NWMxMiA0IDI0IDcgMzcgOHY1N2w3NiAtNjdsMjYgLTIzbC00NCAtMzkKK2wtNTkgLTUxbDEgNThjLTQ5IC04IC04NiAtNTEgLTg2IC0xMDJjMCAtMTYgNCAtMzEgMTAgLTQ1YzMgLTYgNSAtMTEgOSAtMTZsLTQ3IC00NGMtMSAyIC0yIDMgLTMgNWMtMjAgMjggLTMzIDYzIC0zMyAxMDB2NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1tYWduZXQiIHVuaWNvZGU9IiYjeGYyYTA7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xOTIgNDE2YzExNSAwIDE5MiAtNzggMTkyIC0yMDBjMCAtNDkgLTMgLTc3IC0xNSAtMTI4Yy0xNiAtNjYgLTM5IC0xMTMgLTM5IC0xMTN2LTFjLTIgLTMgLTYgLTYgLTEwIC02Yy0xIDAgLTMgMSAtNCAxbC0yIDFsLTUwIDIwbC0yIDFjLTMgMiAtNSA1IC01IDljMCAxIDAgMyAxIDR2MWM3IDE2IDI3IDU5IDM3IDEwMXMxMyA2MyAxMyAxMDhjMCA3MSAtNTIgMTIyIC0xMTYgMTIycy0xMTYgLTUxIC0xMTYgLTEyMgorYzAgLTQ1IDMgLTY2IDEzIC0xMDhzMzAgLTg1IDM3IC0xMDF2LTFjMSAtMSAxIC0zIDEgLTRjMCAtNCAtMiAtNyAtNSAtOWwtMiAtMWwtNTAgLTIwbC0yIC0xYy0xIDAgLTMgLTEgLTQgLTFjLTQgMCAtOCAzIC0xMCA2djFzLTI0IDQ3IC00MCAxMTNjLTEyIDUxIC0xNCA3OSAtMTQgMTI4YzAgMTIyIDc3IDIwMCAxOTIgMjAwek0xMDkgNGMtOSAxOSAtMjcgNTkgLTM2IDk4bC00MiAtMTJjMTMgLTUzIDMwIC05MiAzNSAtMTA0bDQzIDE3djF6CitNMzE3IC0xNGM1IDEyIDIzIDUxIDM2IDEwNGwtNDMgMTJjLTkgLTM5IC0yNiAtNzkgLTM1IC05OHYtMXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1tYWxlIiB1bmljb2RlPSImI3hmMmExOyIgCitkPSJNNDQ4IDI1NmwtNjMgNjNsLTY5IC02OWMyMiAtMzAgMzYgLTY2IDM2IC0xMDZjMCAtOTcgLTc5IC0xNzYgLTE3NiAtMTc2cy0xNzYgNzkgLTE3NiAxNzZzNzkgMTc2IDE3NiAxNzZjNDAgMCA3NiAtMTQgMTA2IC0zNmw2OSA2OWwtNjMgNjNoMTYwdi0xNjB6TTI2NiA1NGMyNCAyNCAzOCA1NiAzOCA5MHMtMTQgNjYgLTM4IDkwcy01NiAzOCAtOTAgMzhzLTY2IC0xNCAtOTAgLTM4cy0zOCAtNTYgLTM4IC05MHMxNCAtNjYgMzggLTkwCitzNTYgLTM4IDkwIC0zOHM2NiAxNCA5MCAzOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1tYW4iIHVuaWNvZGU9IiYjeGYyMDI7IiBob3Jpei1hZHYteD0iMTY4IiAKK2Q9Ik04NCAzNDFjLTIxIDAgLTM3IDE3IC0zNyAzOHMxNiAzNyAzNyAzN3MzNyAtMTYgMzcgLTM3cy0xNiAtMzggLTM3IC0zOHpNMTIxIDMzM2MyOCAwIDQ3IC0yNCA0NyAtNDh2LTExNGMwIC0yMiAtMzIgLTIyIC0zMiAwdjEwNWgtNXYtMjg2YzAgLTI4IC00MSAtMzEgLTQzIDB2MTY1aC0xaC03di0xNjVjLTEgLTI5IC00MyAtMzAgLTQzIDB2Mjg2aC02di0xMDVjMCAtMjIgLTMxIC0yMiAtMzEgMHYxMTRjMCAyNCAxOSA0OCA0NyA0OGgzN2gzN3oKKyIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLW1hcCIgdW5pY29kZT0iJiN4ZjIwMzsiIAorZD0iTTQ0MSAzMTFjNCAtMyA3IC04IDcgLTE0di0yODFjMCAtNiAtMiAtMTEgLTcgLTE0Yy0yIC0xIC01IC0yIC03IC0yYy0zIDAgLTYgMCAtOCAybC05NyA2NmwtOTcgLTY2Yy01IC0zIC0xMCAtMyAtMTUgMGwtOTcgNjZsLTk3IC02NmMtNSAtMyAtMTAgLTMgLTE1IDBzLTggOCAtOCAxNHYyODFjMCA2IDMgMTEgNyAxNGwxMDUgNzFjNSAzIDEwIDMgMTUgMGw5NyAtNjZsOTggNjZjNSAzIDEwIDMgMTUgMHpNMTAzIDk1djI0MmwtNzEgLTUwdi0yNDIKK3pNMTM1IDk1bDczIC00OXYxMjlsLTQgLTExYy03IDIgLTEzIDYgLTIwIDEwbDggMTNjNSAtMyAxMSAtNiAxNiAtOHYxMDlsLTczIDQ5di0xMDFjNCAtMiA5IC00IDEzIC03bC0xMCAtMTNjLTEgMSAtMiAxIC0zIDJ2LTEyM3pNMjQwIDQ2bDczIDQ5djEwOWMwIC0xIC0xIC0xIC0xIC0ybC02IC02bC0xMiAxMWw2IDZjMyAzIDUgNyA4IDEwbDUgLTV2MTE5bC03MyAtNDl2LTExMmg3bDMgLTE1Yy0zIDAgLTYgLTEgLTkgLTFoLTF2LTExNHpNNDE2IDQ2Cit2MjQybC03MSA0OXYtODhjMyAxIDUgMSA4IDJsNCAtMTZjLTQgLTEgLTggLTEgLTEyIC0zdi0xMzd6TTk3IDIyN2MtMyAtMSAtMTEgLTUgLTE0IC03bC0xMSAxMmM0IDMgOCA2IDEyIDhjMyAyIDYgMyA5IDRsNSAtMTVjLTIgLTEgMSAtMSAtMSAtMnpNMjY1IDE4MmM1IDMgMTAgNSAxNSAxMGwxMSAtMTJjLTYgLTYgLTEyIC0xMCAtMTkgLTEzek02NyAxOTJ2LTFsLTE1IDV2MWMyIDcgNCAxMyA5IDIwbDEzIC05Yy00IC01IC01IC0xMCAtNyAtMTZ6CitNMTY2IDIxMGMzIC00IDcgLTggMTEgLTExbC0xMSAtMTJjLTQgNCAtOCA5IC0xMiAxM2wtMyAzbDEyIDExYzEgLTEgMiAtMyAzIC00ek0zNzYgMjE4bC0xMSAxMmwxMCAxMGwtMTAgMTBsMTEgMTJsMTAgLTExbDExIDExbDExIC0xMmwtMTAgLTEwbDEwIC0xMGwtMTEgLTEybC0xMSAxMXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1tZWRraXQiIHVuaWNvZGU9IiYjeGYyYTI7IiAKK2Q9Ik00NDAgMzA0YzQgMCA4IC00IDggLTh2LTI4OGMwIC00IC00IC04IC04IC04aC00MzJjLTQgMCAtOCA0IC04IDh2Mjg4YzAgNCA0IDggOCA4aDEyMHYzMWMxIDI4IDIyIDQ5IDUxIDQ5aDQ1aDQ1YzMwIDAgNTAgLTIxIDUxIC00OXYtMzFoMTIwek0xNjAgMzMxdi0yN2gxMjh2Mjd2MXYxYzAgMTAgLTkgMTkgLTE5IDE5aC00NWgtNDVjLTEwIDAgLTE5IC05IC0xOSAtMTl2LTF2LTF6TTMyMCAxMjh2NjRoLTY0djY0aC02NHYtNjRoLTY0di02NAoraDY0di02NGg2NHY2NGg2NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1tZXJnZSIgdW5pY29kZT0iJiN4ZjMzZjsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTMyMCAyMjRjMzUgMCA2NCAtMjkgNjQgLTY0cy0yOSAtNjQgLTY0IC02NGMtMjQgMCAtNDQgMTMgLTU1IDMyaC0xMGMtNjEgMCAtMTE1IDI1IC0xNTkgNzR2LTExNWMxOSAtMTEgMzIgLTMxIDMyIC01NWMwIC0zNSAtMjkgLTY0IC02NCAtNjRzLTY0IDI5IC02NCA2NGMwIDI0IDEzIDQ0IDMyIDU1djIxMGMtMTkgMTEgLTMyIDMxIC0zMiA1NWMwIDM1IDI5IDY0IDY0IDY0czY0IC0yOSA2NCAtNjRjMCAtMTkgLTggLTM3IC0yMiAtNDkKK2M0IC05IDE3IC0zNSAzNyAtNThjMzIgLTM1IDcwIC01MyAxMTIgLTUzaDEwYzExIDE5IDMxIDMyIDU1IDMyek02NCAzODRjLTE4IDAgLTMyIC0xNCAtMzIgLTMyczE0IC0zMiAzMiAtMzJzMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnpNNjQgMGMxOCAwIDMyIDE0IDMyIDMycy0xNCAzMiAtMzIgMzJzLTMyIC0xNCAtMzIgLTMyczE0IC0zMiAzMiAtMzJ6TTMyMCAxMjhjMTggMCAzMiAxNCAzMiAzMnMtMTQgMzIgLTMyIDMyCitzLTMyIC0xNCAtMzIgLTMyczE0IC0zMiAzMiAtMzJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbWljLWEiIHVuaWNvZGU9IiYjeGYyMDQ7IiBob3Jpei1hZHYteD0iMjg4IiAKK2Q9Ik0wIDIxMGMwIDEwIDkgMTkgMjAgMTlzMTkgLTkgMTkgLTE5di0xNGMwIC0yOCAxMiAtNTMgMzEgLTcyczQ1IC0zMSA3NCAtMzFzNTUgMTIgNzQgMzFzMzEgNDQgMzEgNzJ2MTRjMCAxMCA4IDE5IDE5IDE5czIwIC05IDIwIC0xOXYtMTRjMCAtNjYgLTQ2IC0xMjAgLTEwOCAtMTM2Yy0xIDAgLTMgLTEgLTQgLTFjLTYgLTIgLTEwIC03IC0xMiAtMTN2LTU4YzAgLTExIC05IC0yMCAtMjAgLTIwdjBjLTExIDAgLTIwIDkgLTIwIDIwdjU4CitjLTIgNiAtNiAxMSAtMTIgMTNjLTEgMCAtMyAxIC00IDFjLTYyIDE2IC0xMDggNzAgLTEwOCAxMzZ2MTR6TTY3IDM0MGMwIDQyIDM0IDc2IDc3IDc2czc4IC0zNCA3OCAtNzZ2LTE0NGMwIC00MiAtMzUgLTc1IC03OCAtNzVzLTc3IDMzIC03NyA3NXYxNDR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbWljLWIiIHVuaWNvZGU9IiYjeGYyMDU7IiBob3Jpei1hZHYteD0iMTYwIiAKK2Q9Ik04MCA0MTZjMzUgMCA2NSAtMjMgNzYgLTU5YzYgLTE4IDQgLTQ1IDIgLTU1cy04IC0yMCAtMTQgLTI4Yy0zIC00IC03IC03IC0xMSAtOWMtMSAwIC0xIC0xIC0yIC0xYy0zIC0xIC02IC0yIC0xMCAtM2MtMTIgLTMgLTI1IC01IC0zOSAtNXYwaC0xaC0xdjBjLTE0IDAgLTI5IDIgLTQxIDVjLTQgMSAtNyAyIC0xMCAzYy0xIDAgLTEgMSAtMiAxYy00IDIgLTggNSAtMTEgOWMtNiA4IC0xMiAxOCAtMTQgMjhzLTQgMzcgMiA1NQorYzExIDM2IDQxIDU5IDc2IDU5ek0xMTkgMjQ3YzYgMCAxMiAtNSAxMiAtMTJ2LTJjLTUgLTY3IC0xOCAtMjQxIC0xOSAtMjUyYzAgMCAtMyAtMTMgLTMyIC0xM3YwYy0yOSAwIC0zMiAxMyAtMzIgMTNjLTEgMTEgLTEzIDE4NSAtMTggMjUydjJjMCA3IDUgMTIgMTEgMTJoMWMxIDAgMSAtMSAyIC0xYzIgMCA0IC0xIDYgLTFjOSAtMiAyMSAtMiAzMSAtMnMyMCAwIDI5IDJjMiAwIDQgMSA2IDFjMSAwIDEgMSAyIDFoMXpNOTAgMTY2djMzCitjMCA2IC00IDExIC0xMCAxMXMtMTAgLTUgLTEwIC0xMXYtMzNjMCAtNiA0IC0xMSAxMCAtMTFzMTAgNSAxMCAxMXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1taWMtYyIgdW5pY29kZT0iJiN4ZjIwNjsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTIwMSA0MTZjMzAgMCA1NSAtMjMgNTUgLTUydi0yOGgtNTl2LTM3aDU5di00M2gtNTl2LTM3aDU5di00M2gtNTl2LTM3aDU5di00MmMwIC0yOSAtMjUgLTUyIC01NSAtNTJoLTMwdi03N2gtODZ2NzdoLTMwYy0zMCAwIC01NSAyMyAtNTUgNTJ2NDJoMTUydjM3aC0xNTJ2NDNoMTUydjM3aC0xNTJ2NDNoMTUydjM3aC0xNTJ2MjhjMCAyOSAyNSA1MiA1NSA1MmgxNDZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbWludXMtY2lyY2xlZCIgdW5pY29kZT0iJiN4ZjIwNzsiIAorZD0iTTIyNCA0MTZjMTI0IDAgMjI0IC0xMDAgMjI0IC0yMjRzLTEwMCAtMjI0IC0yMjQgLTIyNHMtMjI0IDEwMCAtMjI0IDIyNHMxMDAgMjI0IDIyNCAyMjR6TTM1MiAxNzZ2MzJoLTI1NnYtMzJoMjU2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLW1pbnVzLXJvdW5kIiB1bmljb2RlPSImI3hmMjA4OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzUzIDIyNGMxNyAwIDMxIC0xNCAzMSAtMzJzLTE0IC0zMiAtMzEgLTMyaC0zMjJjLTE3IDAgLTMxIDE0IC0zMSAzMnMxNCAzMiAzMSAzMmgzMjJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbWludXMiIHVuaWNvZGU9IiYjeGYyMDk7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0wIDE2MHY2NGgzODR2LTY0aC0zODR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbW9kZWwtcyIgdW5pY29kZT0iJiN4ZjJjMTsiIGhvcml6LWFkdi14PSI1MTIiIAorZD0iTTUwOSA1N3YtOHYwdi0xdi0zdjBjMCAtMyAtMSAtNSAtMSAtN2MtMSAtMTIgLTIgLTE4IC02IC0yMGMtMyAtMiAtNiAtMiAtMTAgLTJoLTQzcy0xMCAxIC0xMSAxNnY4YzIwIDEgMzkgMSA1MiAwYzEwIDAgMTMgMCAxNiA2YzIgMyAyIDcgMyAxMXpNMyA1N2MxIC00IDEgLTggMyAtMTFjMyAtNiA2IC02IDE2IC02YzEzIDEgMzIgMSA1MiAwdi04Yy0xIC0xNSAtOCAtMTYgLTExIC0xNmgtNDNzLTcgMCAtMTAgMmMtNCAyIC02IDggLTcgMjB2NwordjB2M3YxdjB2OHpNNTEyIDE1MWMwIC0zMSAtMiAtNTggLTIgLTY4YzAgLTQgMCAtMTEgLTEgLTE4Yy0xIC00IC0xIC04IC0zIC0xMWMtMyAtNiAtNiAtNiAtMTYgLTZjLTEzIDEgLTMyIDEgLTUyIDBjLTEzIDAgLTI3IC0yIC0zOSAtMmMtMzAgLTEgLTIxIDQgLTM0IDRzLTYzIC0yIC0xMDkgLTJzLTk3IDIgLTExMCAycy00IC01IC0zNCAtNGMtMTIgMCAtMjUgMiAtMzggMmMtMjAgMSAtMzkgMSAtNTIgMGMtMTAgMCAtMTMgMCAtMTYgNgorYy0yIDMgLTIgNyAtMyAxMWMtMSA3IC0xIDE0IC0xIDE4YzAgMTAgLTIgMzcgLTIgNjhzNCA2MSA2IDY0YzEgMiA4IDkgMjYgMjFzMTcgMTAgMjAgMThjLTMgMSAtNSAzIC03IDNjLTQgMCAtNCAtMyAtMTIgLTNzLTI0IDEgLTI4IDVjLTQgMyAtNSA1IC01IDhzMiA5IDUgMTNzMTkgNiAyNyA3czEwIDAgMTIgLTFjNCAtMiAzIC0yMiAzIC0yMmw5IC0xYzUgMTMgMTIgNDEgMjQgNjJjMTMgMjMgMjYgMzAgMzIgMzJzMTAgMiA0OCA2czY5IDUgOTYgNQorczU4IC0xIDk2IC01czQyIC00IDQ4IC02czE5IC05IDMyIC0zMmMxMiAtMjEgMTkgLTQ5IDI0IC02Mmw5IDFzLTEgMjAgMyAyMmMyIDEgNCAyIDEyIDFzMjQgLTMgMjcgLTdzNSAtMTAgNSAtMTNzLTEgLTQgLTUgLThzLTIwIC01IC0yOCAtNXMtOCAzIC0xMiAzYy0yIDAgLTQgLTIgLTcgLTNjMyAtOCAyIC02IDIwIC0xOHMyNSAtMTkgMjYgLTIxYzIgLTMgNiAtMzMgNiAtNjR6TTg2IDMwM2MtNSAtMTEgLTExIC0zMyAtMTAgLTM2CitzLTEgLTUgMTUgLTRzMTE3IDMgMTY1IDNzMTQ5IC0yIDE2NSAtM3MxNCAxIDE1IDRzLTUgMjUgLTEwIDM2cy0xNyAzMSAtMjYgMzdjLTIgMSAtMTcgNyAtNTQgOWMtMzQgMiAtNzIgMyAtOTAgM3MtNTYgLTEgLTkwIC0zYy0zNyAtMiAtNTIgLTggLTU0IC05Yy03IC00IC0yMSAtMjYgLTI2IC0zN3pNMTIzIDE3OGM3IDIgMTEgMiAxMSAycy0xNyAxNiAtNDggMjVzLTQ5IDExIC02NiAxMGMwIDAgLTMgLTE2IDAgLTI3czggLTEwIDE2IC0xMgorczEzIC01IDE2IC00czcgNCAxMiA0czI5IC00IDM4IC00czE0IDQgMjEgNnpNMzU4IDk5YzE1IDIgMzQgMTkgMjEgMzNjLTE4IDE5IC0xNSAxOSAtNTUgMjRjLTM1IDQgLTYxIDQgLTY4IDRzLTMzIDAgLTY4IC00Yy00MCAtNSAtMzcgLTUgLTU1IC0yNGMtMTMgLTE0IDYgLTMxIDIxIC0zM2MxNCAtMiA3NCAtMyAxMDIgLTNzODggMSAxMDIgM3pNNDkyIDE4OGMzIDExIDAgMjcgMCAyN2MtMTcgMSAtMzUgLTEgLTY2IC0xMHMtNDggLTI2IC00OCAtMjYKK3M0IDEgMTEgLTFzMTIgLTYgMjEgLTZzMzMgNCAzOCA0czkgLTMgMTIgLTRzOCAyIDE2IDRzMTMgMSAxNiAxMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1tb25pdG9yIiB1bmljb2RlPSImI3hmMjBhOyIgCitkPSJNNDM3IDM4NGM2IDAgMTEgLTUgMTEgLTExdi0yNjZjMCAtNiAtNSAtMTEgLTExIC0xMWgtNDI2Yy02IDAgLTExIDUgLTExIDExdjI2NmMwIDYgNSAxMSAxMSAxMWg0MjZ6TTQxNiAxMjh2MjI0aC0zODR2LTIyNGgzODR6TTI3MCAwaC05MmMtMjggMCAtNDIgMyAtMzAgMTJzMzAgMTYgMzAgMjNjMCA0IDEgNDUgMSA0NWg0NWg0NXMxIC00MSAxIC00NWMwIC03IDE4IC0xNCAzMCAtMjNzLTIgLTEyIC0zMCAtMTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbW9yZSIgdW5pY29kZT0iJiN4ZjIwYjsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTUwIDE0NGMtMjggMCAtNTAgMjEgLTUwIDQ4YzAgMjYgMjIgNDggNTAgNDhzNTAgLTIyIDUwIC00OGMwIC0yNyAtMjIgLTQ4IC01MCAtNDh6TTE5MiAxNDRjLTI4IDAgLTUwIDIxIC01MCA0OGMwIDI2IDIyIDQ4IDUwIDQ4czUwIC0yMiA1MCAtNDhjMCAtMjcgLTIyIC00OCAtNTAgLTQ4ek0zMzQgMTQ0Yy0yOCAwIC01MCAyMSAtNTAgNDhjMCAyNiAyMiA0OCA1MCA0OHM1MCAtMjIgNTAgLTQ4YzAgLTI3IC0yMiAtNDggLTUwIC00OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1tb3VzZSIgdW5pY29kZT0iJiN4ZjM0MDsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTEyOCA0MTZoLTFoNWgtNHpNMjUxIDI1NWMyIDEgMiAxIDQgMWgxdi0xNzZjMCAtMzcgLTIxIC03MSAtNTMgLTkxYy01IC0zIC05IC01IC0xNCAtN3YtMXYwYy0xOCAtOSAtMzkgLTEzIC02MSAtMTNjLTcxIDAgLTEyOCA1MCAtMTI4IDExMnYxNzZoMWMyIDAgMyAwIDUgLTF2MGMzNCAtMTMgNzYgLTIzIDEyMiAtMjNzODggMTAgMTIyIDIzaDF6TTE4OSAtMThjNSAyIDEwIDQgMTQgN2MtNSAtMyAtOSAtNSAtMTQgLTd2MHYtMXYxdjB6CitNMjAzIC0xMWMtNCAtMyAtOSAtNSAtMTQgLTdjNSAyIDkgNCAxNCA3ek0xMzIgNDE2YzY5IC0yIDEyNCAtNTEgMTI0IC0xMTJ2LTIzYy0yIC0yIC00IC00IC02IC01Yy0xIC0xIC0zIDAgLTQgLTFjLTIzIC0xMCAtNTAgLTE2IC04MiAtMTloLTFoLTJjLTExIDAgLTE3IDAgLTE3IDEwdjg2YzAgOSAtNyAxNiAtMTYgMTZzLTE2IC03IC0xNiAtMTZ2LTg1YzAgLTExIC02IC0xMSAtMTcgLTExaC0yYy0zMiAzIC02MSA5IC04NCAxOXYwCitjLTEgMCAtMSAxIC0yIDFjLTMgMSAtNSAzIC03IDV2MjNjMCA2MSA1NyAxMTEgMTI3IDExMmg1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLW11c2ljLW5vdGUiIHVuaWNvZGU9IiYjeGYyMGM7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNjIgNDE2YzEyIDAgMjIgLTkgMjIgLTIxdi0zMDNzLTMgLTQzIC0xMiAtNTV2MGMtOSAtMTUgLTI1IC0yMSAtNDMgLTIxaC0zN2MtMjggMCAtNTIgMjAgLTUyIDQ4czI0IDQ4IDUyIDQ4aDYwdjE5MmwtMjA4IC0zOHYtMjMyYzAgLTggLTMgLTI3IC0xMyAtNDFjLTEgLTIgLTIgLTMgLTMgLTVjMCAtMSAtMSAtMSAtMiAtMnYwYy05IC0xMSAtMjMgLTE4IC0zOCAtMThoLTM3Yy0yOCAwIC01MSAyMCAtNTEgNDhzMjMgNDggNTEgNDh2MGg2MQordjI4NmMxIDE0IDEzIDI4IDI3IDMybDIxOCAzM3MzIDEgNSAxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLW5hdmljb24tcm91bmQiIHVuaWNvZGU9IiYjeGYyMGQ7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNTMgMjI0YzE3IDAgMzEgLTE0IDMxIC0zMnMtMTQgLTMyIC0zMSAtMzJoLTMyMmMtMTcgMCAtMzEgMTQgLTMxIDMyczE0IDMyIDMxIDMyaDMyMnpNMzUzIDM1MmMxNyAwIDMxIC0xNCAzMSAtMzJzLTE0IC0zMiAtMzEgLTMyaC0zMjJjLTE3IDAgLTMxIDE0IC0zMSAzMnMxNCAzMiAzMSAzMmgzMjJ6TTM1MyA5NmMxNyAwIDMxIC0xNCAzMSAtMzJzLTE0IC0zMiAtMzEgLTMyaC0zMjJjLTE3IDAgLTMxIDE0IC0zMSAzMnMxNCAzMiAzMSAzMgoraDMyMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1uYXZpY29uIiB1bmljb2RlPSImI3hmMjBlOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMCAxNzV2MzJoMzIwdi0zMmgtMzIwek0wIDI3MXYzMmgzMjB2LTMyaC0zMjB6TTAgNzl2MzJoMzIwdi0zMmgtMzIweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLW5hdmlnYXRlIiB1bmljb2RlPSImI3hmMmEzOyIgCitkPSJNNDQ4IDQxNmwtMTkyIC00NDh2MjU2aC0yNTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbmV0d29yayIgdW5pY29kZT0iJiN4ZjM0MTsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM4NCAzNTJjMCAtMjQgLTEzIC00NCAtMzIgLTU1di05M2wtMTI4IC02NHYtNTNjMTkgLTExIDMyIC0zMSAzMiAtNTVjMCAtMzUgLTI5IC02NCAtNjQgLTY0cy02NCAyOSAtNjQgNjRjMCAyNCAxMyA0NCAzMiA1NXY1M2wtMTI4IDY0djkzYy0xOSAxMSAtMzIgMzEgLTMyIDU1YzAgMzUgMjkgNjQgNjQgNjRzNjQgLTI5IDY0IC02NGMwIC0yNCAtMTMgLTQ0IC0zMiAtNTV2LTUzbDk2IC00OGw5NiA0OHY1M2MtMTkgMTEgLTMyIDMxIC0zMiA1NQorYzAgMzUgMjkgNjQgNjQgNjRzNjQgLTI5IDY0IC02NHpNNjQgMzg0Yy0xOCAwIC0zMiAtMTQgLTMyIC0zMnMxNCAtMzIgMzIgLTMyczMyIDE0IDMyIDMycy0xNCAzMiAtMzIgMzJ6TTE5MiAwYzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnpNMzIwIDMyMGMxOCAwIDMyIDE0IDMyIDMycy0xNCAzMiAtMzIgMzJzLTMyIC0xNCAtMzIgLTMyczE0IC0zMiAzMiAtMzJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbm8tc21va2luZyIgdW5pY29kZT0iJiN4ZjJjMjsiIAorZD0iTTMyOCAxNDR2NDhoMTZ2LTQ4aC0xNnpNODAgMTQ0djQ4aDkwbDQ4IC00OGgtMTM4ek0zMzIgMzg4YzY5IC0zOCAxMTYgLTExMiAxMTYgLTE5NmMwIC0xMjQgLTEwMCAtMjI0IC0yMjQgLTIyNGMtMjQgMCAtNDcgNCAtNjggMTFjLTIgMSAtMyAxIC01IDJjLTEyIDQgLTI0IDkgLTM1IDE1aC0xYy02OSAzOCAtMTE1IDExMiAtMTE1IDE5NmMwIDEyNCAxMDAgMjI0IDIyNCAyMjRjMjQgMCA0NyAtNCA2OCAtMTFjMiAtMSAzIC0xIDUgLTIKK2MxMiAtNCAyNCAtOSAzNSAtMTV2MHpNMjI0IDIyYzM3IDAgNzIgMTIgMTAwIDMybC0yMzggMjM4Yy0yMCAtMjggLTMyIC02MyAtMzIgLTEwMGMwIC02NSAzNiAtMTIxIDkwIC0xNTBjNiAtMyAxMyAtNyAxOSAtOWMyIC0xIDMgLTEgNSAtMmM5IC0zIDE5IC01IDI5IC03YzkgLTIgMTggLTIgMjcgLTJ6TTM2MiA5M2MyMCAyOCAzMiA2MiAzMiA5OWMwIDY2IC0zNyAxMjMgLTkxIDE1MWMtNiAzIC0xMiA2IC0xOCA4Yy0yIDEgLTMgMSAtNSAyCitjLTkgMyAtMTkgNSAtMjkgN2MtOSAyIC0xOCAyIC0yNyAyYy0zNyAwIC03MSAtMTIgLTk5IC0zMnpNMzIwIDE1MGwtNDIgNDJoNDJ2LTQyek0zNTIgMTQ0djQ4aDE2di00OGgtMTZ6TTMyOCAyMzVjMTYgLTcgMTYgLTI3IDE2IC0zNHYtMWgtMTZ2MWMwIDggLTEgMTcgLTcgMjBjLTQgMiAtMTMgNCAtMzkgNGgtM2MtMTMgMCAtMjQgMCAtMzMgMTNjLTUgOCAtNSAxOSAtMiAyOWMtNCAxIC04IDEgLTEyIDNjLTE3IDcgLTI2IDIwIC0yNiAzOAorYzAgMzMgMjcgNDQgMzkgNDR2LTE2Yy0xIDAgLTIzIC0yIC0yMyAtMjhjMCAtMTEgNSAtMTkgMTYgLTIzYzkgLTQgMTggLTMgMTggLTNjMyAwIDYgLTIgNyAtNXMyIC02IDAgLThjLTUgLTcgLTcgLTE4IC00IC0yMmM0IC02IDcgLTYgMjAgLTZoM2MyNCAwIDM3IC0yIDQ2IC02ek0zNjggMjAwdjBoLTE2YzAgMjggLTQgNDEgLTcgNDZjLTYgMTAgLTE0IDE0IC0yNSAxNGgtMzBjLTMgMCAtNSAyIC02IDRzLTEgNiAwIDhjMCAwIDggMTggNiAzMgorYy0xIDggLTYgMTcgLTI3IDE3djE2YzI0IDAgNDAgLTExIDQzIC0zMGMyIC0xMSAwIC0yMyAtMyAtMzFoMTdjMTYgMCAzMCAtOCAzOSAtMjJjNiAtMTAgOSAtMjggOSAtNTR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tbnVjbGVhciIgdW5pY29kZT0iJiN4ZjJhNDsiIAorZD0iTTE3NiAxNzZjMCAzMiAxNiA0OCA0OCA0OHM0OCAtMTYgNDggLTQ4cy0xNiAtNDggLTQ4IC00OHMtNDggMTYgLTQ4IDQ4ek0xNzYgMTc2YzAgMzIgMTYgNDggNDggNDhzNDggLTE2IDQ4IC00OHMtMTYgLTQ4IC00OCAtNDhzLTQ4IDE2IC00OCA0OHpNNDQ4IDE3NmMwIC0yNyAtNSAtNTMgLTE1IC03OHMtMjMgLTQ3IC00MCAtNjZzLTM2IC0zNSAtNTkgLTQ4bC03OSAxMzZjMjIgMTIgMzMgMzEgMzMgNTZoMTYwek0yMjQgMjQwCitjLTEyIDAgLTIzIC0zIC0zMyAtOWwtODAgMTM4YzM1IDIwIDczIDMxIDExMyAzMXM3OCAtMTAgMTEzIC0zMGwtODEgLTEzOWMtMTAgNiAtMjEgOSAtMzIgOXpNMTYwIDE3NmMwIC0yNSAxMSAtNDQgMzMgLTU2bC03OSAtMTM2Yy0zNSAyMCAtNjIgNDYgLTgzIDgwcy0zMSA3MSAtMzEgMTEyaDE2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1vdXRsZXQiIHVuaWNvZGU9IiYjeGYzNDI7IiAKK2Q9Ik0zMzggNDE2YzYxIDAgMTEwIC01MSAxMTAgLTExM3YtMjIyYzAgLTYyIC00OSAtMTEzIC0xMTAgLTExM2gtMjI4Yy02MSAwIC0xMTAgNTEgLTExMCAxMTN2MjIyYzAgNjIgNDkgMTEzIDExMCAxMTNoMjI4ek0xNDMgMTk3djEwMmMwIDExIC05IDIxIC0yMCAyMWgtMjNjLTExIDAgLTE5IC05IC0yMCAtMjB2LTJ2LTEwMXYtMWMwIC0xMSA5IC0yMCAyMCAtMjBoMjNjMTEgMCAyMCA5IDIwIDIwdjF6TTI2NSA1MnYyOQorYzAgMjMgLTE4IDQyIC00MSA0MnMtNDEgLTE5IC00MSAtNDJ2LTI5djBjMCAtMTEgOSAtMjAgMjAgLTIwaDIxaDIxYzExIDAgMjAgNyAyMCAxOHYyek0zNjggMTk3djEwMmMwIDExIC05IDIxIC0yMCAyMWgtMjRjLTExIDAgLTE5IC05IC0yMCAtMjB2LTJ2LTEwMXYtMWMwIC0xMSA5IC0yMCAyMCAtMjBoMjRjMTEgMCAyMCA5IDIwIDIwdjF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tcGFpbnRicnVzaCIgdW5pY29kZT0iJiN4ZjRkNTsiIAorZD0iTTExOCAxNjVjNTIgMCAxMDIgLTQxIDkwIC0xMDJjLTExIC01MiAtNTQgLTcxIC05MCAtNzdjLTMwIC01IC0xMDAgMCAtMTE4IDM1YzI0IDkgMzQgMjYgMzQgNDljMCA0OSAzMiA5NSA4NCA5NXpNNDM2IDM4OGMxMyAtMTMgMTcgLTMwIDUgLTQ1bC0xNTQgLTE3NWMyIC05IDEgLTE3IC0zIC0yM2wtNTAgLTU4djB2MGMtMiAtMiAtNCAtMiAtNiAwYy0xIDEgLTEgMiAtMSAzdjFjMiA1MyAtNDEgODcgLTg5IDkwdjBoLTJzLTIgMCAtMiAxCitjLTIgMiAtMiA0IDAgNmw1OSA0OWM2IDQgMTQgNCAyMyAybDE3NSAxNTRjMTUgMTIgMzIgOCA0NSAtNXpNMTM0IDE4OHYwdjB2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1wYWludGJ1Y2tldCIgdW5pY29kZT0iJiN4ZjRkNjsiIGhvcml6LWFkdi14PSI0ODAiIAorZD0iTTExMiAzODRsMzIgMzJsMjc1IC0yNzZsLTU4IC0xMmwtMTYzIC0xNjBsLTE5OCAxOTJsMTUyIDE1MnpNMzA5IDE2MGwtMTEwIDExMGwtMTEwIC0xMTBoMjIwek00MTkgMTQwYzAgMCA2MSAtNjYgNjEgLTk5cy0yNyAtNjAgLTYxIC02MHMtNjAgMjcgLTYwIDYwczYwIDk5IDYwIDk5eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXBhcGVyLWFpcnBsYW5lIiB1bmljb2RlPSImI3hmMmMzOyIgCitkPSJNMCAxNzZsNDQ4IDI0MGwtMTEyIC00NDhsLTExMiAxMTJsLTgwIC0xMTJsLTE2IDE2MHpNMzE5IDMxbDgwIDMyM2wtMzIyIC0xNzNsODMgLTMxbDE5MiAxNTRsLTEyOCAtMTc2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXBhcGVyY2xpcCIgdW5pY29kZT0iJiN4ZjIwZjsiIGhvcml6LWFkdi14PSIxNjAiIAorZD0iTTE0OSAyOTNjNiAwIDExIC01IDExIC0xMnYtMTk1YzAgLTI4IC0xMCAtNDkgLTI0IC02M2MtMTUgLTE1IC0zNiAtMjMgLTU2IC0yM2MtNDAgMCAtODAgMzEgLTgwIDg4djIzNGMwIDI0IDExIDQ0IDI5IDU0czM5IDExIDU3IDBzMjkgLTMwIDI5IC01NGwtMSAtMjI1YzAgLTEzIC0zIC0yNCAtOSAtMzJzLTE2IC0xMiAtMjUgLTEyYy0xNyAwIC0zNCAxNSAtMzQgNDR2MTczYzAgNiA2IDEyIDEyIDEyczExIC02IDExIC0xMnYtMTczCitjMCAtMTQgNSAtMjEgMTEgLTIxYzIgMCA1IDIgNyA0YzMgNCA1IDEwIDUgMTd2MjI1YzAgMTUgLTYgMjggLTE3IDM0cy0yNCA2IC0zNSAwcy0xNyAtMTkgLTE3IC0zNHYtMjM0YzAgLTQ0IDI5IC02NCA1NyAtNjRzNTcgMTkgNTcgNjN2MTk1YzAgNiA2IDExIDEyIDExeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXBhdXNlIiB1bmljb2RlPSImI3hmMjEwOyIgaG9yaXotYWR2LXg9IjI1NiIgCitkPSJNOTYgMTJjMCAtNyAtNSAtMTIgLTEyIC0xMmgtNzJjLTcgMCAtMTIgNSAtMTIgMTJ2MzYwYzAgNyA1IDEyIDEyIDEyaDcyYzcgMCAxMiAtNSAxMiAtMTJ2LTM2MHpNMjQ0IDM4NGM3IDAgMTIgLTUgMTIgLTEydi0zNjBjMCAtNyAtNSAtMTIgLTEyIC0xMmgtNzJjLTcgMCAtMTIgNSAtMTIgMTJ2MzYwYzAgNyA1IDEyIDEyIDEyaDcyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXBlcnNvbi1hZGQiIHVuaWNvZGU9IiYjeGYyMTE7IiAKK2Q9Ik0zOTcgMTIwaC00MnY1MWgtNTF2NDJoNTF2NTFoNDJ2LTUxaDUxdi00MmgtNTF2LTUxek0zODQgMGgtMTkyaC0xOTJzMCAyNiAyIDQwYzIgMTEgMTcgMjUgODEgNDljNjMgMjMgNjAgMTIgNjAgNTVjMCAyOCAtMTQgMTEgLTIzIDY0Yy00IDIxIC02IDcgLTE0IDQwYy00IDE3IDMgMTkgMiAyN3MtMiAxNiAtNCAzM2MtMiAyMSAxOCA3NiA4OCA3NnM5MCAtNTUgODggLTc2Yy0yIC0xNyAtMyAtMjUgLTQgLTMzczYgLTEwIDIgLTI3CitjLTggLTMzIC0xMCAtMTkgLTE0IC00MGMtOSAtNTMgLTIzIC0zNiAtMjMgLTY0YzAgLTQzIC0zIC0zMiA2MCAtNTVjNjQgLTI0IDc5IC0zOCA4MSAtNDljMiAtMTQgMiAtNDAgMiAtNDB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tcGVyc29uLXN0YWxrZXIiIHVuaWNvZGU9IiYjeGYyMTI7IiAKK2Q9Ik0zOTMgMTIzYzQyIC0xNiA1MiAtMjYgNTMgLTMzYzIgLTkgMiAtOTAgMiAtOTBoLTk4YzAgMTggMCA3MSAtMSA3N2MtMSAxMCAtMSAyOSAtNTUgNTBjLTggMyAtMTQgNSAtMTkgN2MxOCA4IDE1IDE1IDE1IDI4YzAgMTkgLTkgMTEgLTE1IDQ3Yy0yIDE0IC00IDUgLTkgMjhjLTMgMTIgMSAxMiAxIDE4cy0xIDEwIC0yIDIyYy0xIDE0IDExIDUyIDU3IDUyczU5IC0zOCA1OCAtNTJjLTEgLTEyIC0yIC0xNiAtMiAtMjIKK2MtMSAtNiA0IC02IDEgLTE4Yy01IC0yMyAtNyAtMTQgLTkgLTI4Yy02IC0zNiAtMTYgLTI4IC0xNiAtNDdjMCAtMjkgLTIgLTIzIDM5IC0zOXpNMzI1IDBoLTE2M2gtMTYyczAgNjUgMiA3N2MyIDEwIDE1IDIyIDY5IDQzYzU0IDIwIDUwIDE3IDUwIDU1YzAgMjQgLTEyIDggLTIwIDU0Yy0zIDE4IC01IDcgLTExIDM2Yy0zIDE1IDIgMTYgMSAyM3MtMiAxNCAtMyAyOWMtMiAxOSAxNSA2NyA3NCA2N3M3NyAtNDkgNzUgLTY3CitjLTEgLTE1IC0yIC0yMiAtMyAtMjlzNSAtOCAyIC0yM2MtNiAtMjkgLTkgLTE4IC0xMiAtMzZjLTggLTQ2IC0yMCAtMzAgLTIwIC01NGMwIC0zMiAtMiAtMzYgMzEgLTQ4YzYgLTIgMTEgLTQgMTkgLTdjNTQgLTIxIDY3IC0zMyA2OSAtNDNjMSAtNiAyIC0yOCAyIC00N3YtMzB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tcGVyc29uIiB1bmljb2RlPSImI3hmMjEzOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzg0IDBoLTE5MmgtMTkyczAgMjYgMiA0MGMyIDExIDE3IDI1IDgxIDQ5YzYzIDIzIDYwIDEyIDYwIDU1YzAgMjggLTE0IDExIC0yMyA2NGMtNCAyMSAtNiA3IC0xNCA0MGMtNCAxNyAzIDE5IDIgMjdzLTIgMTYgLTQgMzNjLTIgMjEgMTggNzYgODggNzZzOTAgLTU1IDg4IC03NmMtMiAtMTcgLTMgLTI1IC00IC0zM3M2IC0xMCAyIC0yN2MtOCAtMzMgLTEwIC0xOSAtMTQgLTQwYy05IC01MyAtMjMgLTM2IC0yMyAtNjQKK2MwIC00MyAtMyAtMzIgNjAgLTU1YzY0IC0yNCA3OSAtMzggODEgLTQ5YzIgLTE0IDIgLTQwIDIgLTQweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXBpZS1ncmFwaCIgdW5pY29kZT0iJiN4ZjJhNTsiIAorZD0iTTEgMTkyYzAgNSAtMSAxMSAtMSAxNmMwIDExNSA5MyAyMDggMjA4IDIwOGM1IDAgMTEgLTEgMTYgLTF2LTMydi0xOTFoLTE5MWgtMzJ6TTc4IDQ2Yy0yNiAzMiAtNDIgNzEgLTQ1IDExNGgyMjN2MjIzYzQzIC0zIDgyIC0xOSAxMTQgLTQ1YzQ3IC0zOCA3OCAtOTYgNzggLTE2MmMwIC0xMTUgLTkzIC0yMDggLTIwOCAtMjA4Yy02NiAwIC0xMjQgMzEgLTE2MiA3OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1waW4iIHVuaWNvZGU9IiYjeGYyYTY7IiBob3Jpei1hZHYteD0iMjI0IiAKK2Q9Ik0xODggMjIwYzIwIC0xMCAzNiAtMzEgMzYgLTU1YzAgLTE3IC0zIC0yMSAtMTUgLTIxaC04MWwtMTIgLTE3NmgtOGwtMTIgMTc2aC04MWMtMTIgMCAtMTUgNSAtMTUgMjFjMCAyNCAxNiA0NSAzNiA1NXYwYzEgMCAzIDEgNCAyYzcgNCAxMiAxMSAxNCAxOWwxOCAxMTh2NWMwIDcgLTQgMTAgLTEwIDEzdjBjLTEgMCAtMSAxIC0yIDFjLTcgMyAtMTIgOSAtMTIgMTdjMCAyMCA2IDIxIDE4IDIxaDkyYzEyIDAgMTggLTEgMTggLTIxCitjMCAtOCAtNSAtMTQgLTEyIC0xN2MtMSAwIC0xIC0xIC0yIC0xdjBjLTYgLTMgLTEwIC02IC0xMCAtMTN2LTVsMTggLTExOGMyIC04IDcgLTE1IDE0IC0xOWMxIC0xIDMgLTIgNCAtMnYweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXBpbnBvaW50IiB1bmljb2RlPSImI3hmMmE3OyIgCitkPSJNMjI0IDQxNmMxMjQgMCAyMjQgLTEwMCAyMjQgLTIyNHMtMTAwIC0yMjQgLTIyNCAtMjI0cy0yMjQgMTAwIC0yMjQgMjI0czEwMCAyMjQgMjI0IDIyNHpNMzYwIDU2YzMyIDMyIDUxIDc1IDU1IDEyMGwtNjMgOHYxNmw2MyA4Yy00IDQ1IC0yMyA4OCAtNTUgMTIwcy03NSA1MSAtMTIwIDU1bC04IC02M2gtMTZsLTggNjNjLTQ1IC00IC04OCAtMjMgLTEyMCAtNTVzLTUxIC03NSAtNTUgLTEyMGw2MyAtOHYtMTZsLTYzIC04CitjNCAtNDUgMjMgLTg4IDU1IC0xMjBzNzUgLTUxIDEyMCAtNTVsOCA2M2gxNmw4IC02M2M0NSA0IDg4IDIzIDEyMCA1NXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1waXp6YSIgdW5pY29kZT0iJiN4ZjJhODsiIGhvcml6LWFkdi14PSIzNTIiIAorZD0iTTMxNSAzMThjMTAgLTQgMTIgLTEzIDkgLTIwbC0xNDggLTMzMHMtMTQzIDMyMCAtMTQ4IDMzMXMyIDE2IDkgMTljMzkgMTggOTAgMjggMTM5IDI4czk2IC05IDEzOSAtMjh6TTExMiAyNTZjMTggMCAzMiAxNCAzMiAzMnMtMTQgMzIgLTMyIDMycy0zMiAtMTQgLTMyIC0zMnMxNCAtMzIgMzIgLTMyek0xNzYgMTA5YzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnpNMjQwIDIyNAorYzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnpNMzQyIDM4MmM2IC0zIDEwIC02IDEwIC0xM2MwIC0xIDAgLTMgLTEgLTVsLTggLTE5Yy0zIC01IC04IC05IC0xNCAtOWMtMSAwIC0zIDEgLTYgMmMtNDEgMTggLTk1IDMwIC0xNDcgMzBzLTEwMiAtMTEgLTE0NyAtMzBjLTMgLTEgLTQgLTIgLTYgLTJjLTYgMCAtMTEgNCAtMTQgOWwtOCAxOXMtMSAyIC0xIDVjMCA4IDYgMTIgMTAgMTQKK2M0OSAyMSAxMDcgMzMgMTY2IDMzczExOCAtMTMgMTY2IC0zNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1wbGFuZSIgdW5pY29kZT0iJiN4ZjIxNDsiIAorZD0iTTI1MCAxMzZjMCAtNyAxIC02OSAtNiAtMTAyYy0xIC00IDMgLTQgNSAtN2w1MSAtMzNjMiAtMiAzIC04IDMgLThsMSAtMThsLTY4IDE2bC0xMiAtMzJsLTEyIDMybC02OCAtMTZsMSAxOHMwIDYgMiA4bDUyIDMzYzIgMyA2IDMgNSA3Yy03IDMzIC02IDk1IC02IDEwMnMtOCA1IC04IDVsLTYyIC0xM2wtMTI4IC00OWMwIDIzIDIgMjYgOSAzMWwxODMgMTMxczUgNjMgNSAxMTNjMCAyNCAxMiA3OCAyNyA3OHMyNyAtNTQgMjcgLTc4CitjMCAtNTMgNSAtMTEzIDUgLTExM2wxODMgLTEzMWM2IC00IDkgLTcgOSAtMzFsLTEyOCA0OWwtNjIgMTNzLTggMiAtOCAtNXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1wbGFuZXQiIHVuaWNvZGU9IiYjeGYzNDM7IiBob3Jpei1hZHYteD0iNTEyIiAKK2Q9Ik05NiAxODJjMzkgLTI0IDg1IC00OCAxMzQgLTY5YzQ0IC0xOSA4NyAtMzUgMTI2IC00NmMtMjcgLTIyIC02MiAtMzUgLTEwMCAtMzVjLTg1IDAgLTE1NSA2NiAtMTYwIDE1MHpNMTA3IDI1MWMxIDQgMyA4IDUgMTFjMTAgMjEgMjYgNDAgNDQgNTVjMjcgMjIgNjIgMzUgMTAwIDM1Yzg1IDAgMTU1IC02NiAxNjAgLTE1MHYtMTBjMCAtMjEgLTQgLTQxIC0xMSAtNTljLTEgLTQgLTMgLTggLTUgLTExYy02IDEgLTEzIDMgLTE5IDUKK2MtMzkgMTEgLTgyIDI2IC0xMjYgNDVjLTU2IDI0IC0xMDggNTIgLTE0OCA3OXpNNDMwIDE2M2M1NyAtMzUgODcgLTYyIDgxIC04MmMtNCAtMTIgLTE5IC0xNyAtNDQgLTE3Yy01MCAwIC0xMzYgMjMgLTIzMSA2NGMtMTQxIDYxIC0yNDYgMTQwIC0yMzUgMTc1YzQgMTIgMjAgMjAgNDQgMTdjMjIgLTMgNDcgLTkgNzMgLTE4Yy04IC05IC04IC0xMiAtMTQgLTIyYy0yMyA1IC00NCA4IC01OSA4aC02YzIgLTIgNSAtNiA4IC05CitjMTEgLTExIDI3IC0yNCA0NiAtMzdjNDEgLTI5IDk3IC01OSAxNTYgLTg1YzQ0IC0xOSA4OSAtMzUgMTI4IC00NmMzNiAtMTAgNjggLTE1IDkwIC0xNWg2Yy0yIDIgLTUgNiAtOCA5Yy0xMCAxMCAtMjQgMjIgLTQxIDM0YzQgMTEgNSAxMiA2IDI0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXBsYXkiIHVuaWNvZGU9IiYjeGYyMTU7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0zMDkgMjE1YzcgLTYgMTEgLTE0IDExIC0yM3MtNCAtMTcgLTExIC0yM2wtMjc4IC0xNjZjLTQgLTIgLTcgLTMgLTExIC0zYy0xMSAwIC0yMCA5IC0yMCAyMHYwdjM0NHYwYzAgMTEgOSAyMCAyMCAyMGM0IDAgOCAtMSAxMSAtM3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1wbGF5c3RhdGlvbiIgdW5pY29kZT0iJiN4ZjMwYTsiIGhvcml6LWFkdi14PSI1MTIiIAorZD0iTTQwMCAyNDVjMCAtMTEgMCAtMjIgLTIgLTMzYy0yIC0xMCAtNSAtMjAgLTEwIC0yOGMtNCAtNyAtMTAgLTEzIC0xOCAtMTdjLTcgLTQgLTE2IC02IC0yNCAtNmMtMTMgMCAtMzEgNCAtNDIgOXYxMzF2MmMwIDkgLTcgMTcgLTE1IDE3aC0xYy05IDAgLTE2IC04IC0xNiAtMTd2LTN2LTMwMGwtODAgMjZ2MzU4czI4IC00IDc1IC0xOHM2NyAtMjEgODQgLTMxYzggLTUgMTUgLTExIDIxIC0xN2M3IC03IDEzIC0xNCAxNyAtMjMKK2M4IC0xNiAxMCAtMzMgMTEgLTUwek04NyA5MGMtNCAtMiAtOCAtMyAtMTEgLTZjLTEgLTEgLTMgLTMgLTIgLTVzNCAtNCA2IC01YzYgLTIgMTMgLTMgMTkgLTNjNyAwIDE1IDAgMjIgMmM1IDEgOSAzIDE0IDVjMzAgMTAgNDEgMTIgNDEgMTJ2LTQyYy0xNCAtMiAtMzYgLTQgLTUwIC00Yy0zMCAtMSAtNjAgNCAtODggMTNjLTkgMyAtMTkgNiAtMjcgMTJjLTQgMyAtOCA4IC0xMCAxM2MtMiA0IC0xIDkgMSAxM3M1IDggOSAxMQorYzkgNiAxOCAxMCAyOCAxNGM4IDQgMTcgNyAyNiAxMGMzNSAxMiAxMTEgMzcgMTExIDM3di00N3MtNjIgLTIwIC04OSAtMzB6TTUxMiAxMDJjMCAtNSAtMiAtOSAtNSAtMTNjLTYgLTcgLTE0IC0xMSAtMjIgLTE1cy0xNyAtOCAtMjYgLTExYy01NCAtMTkgLTE3MSAtNTkgLTE3MSAtNTl2NDhzOTIgMzAgMTMzIDQ0YzYgMiAxMSA0IDE2IDhjMiAyIDQgMyAzIDZjLTEgMiAtNCA0IC02IDVjLTYgMiAtMTMgMyAtMTkgMworYy0xMCAwIC0yMCAtMiAtMzAgLTVjLTI5IC0xMCAtOTcgLTMyIC05NyAtMzJ2NDlzNDUgMTQgNjcgMTZjOCAxIDIzIDEgMzEgMWMyNiAwIDU0IC0zIDc5IC0xMWM1IC0yIDggLTMgMTQgLTVjOSAtMyAxOCAtOCAyNSAtMTRjNCAtNCA4IC05IDggLTE1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXBsdXMtY2lyY2xlZCIgdW5pY29kZT0iJiN4ZjIxNjsiIAorZD0iTTIyNCA0MTZjMTI0IDAgMjI0IC0xMDAgMjI0IC0yMjRzLTEwMCAtMjI0IC0yMjQgLTIyNHMtMjI0IDEwMCAtMjI0IDIyNHMxMDAgMjI0IDIyNCAyMjR6TTM1MiAxNzZ2MzJoLTExMnYxMTJoLTMydi0xMTJoLTExMnYtMzJoMTEydi0xMTJoMzJ2MTEyaDExMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1wbHVzLXJvdW5kIiB1bmljb2RlPSImI3hmMjE3OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzUzIDIyNGMxNyAwIDMxIC0xNCAzMSAtMzJzLTE0IC0zMiAtMzEgLTMyaC0xMjl2LTEyOWMwIC0xNyAtMTQgLTMxIC0zMiAtMzFzLTMyIDE0IC0zMiAzMXYxMjloLTEyOWMtMTcgMCAtMzEgMTQgLTMxIDMyczE0IDMyIDMxIDMyaDEyOXYxMjljMCAxNyAxNCAzMSAzMiAzMXMzMiAtMTQgMzIgLTMxdi0xMjloMTI5eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXBsdXMiIHVuaWNvZGU9IiYjeGYyMTg7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zODQgMjI0di02NGgtMTYwdi0xNjBoLTY0djE2MGgtMTYwdjY0aDE2MHYxNjBoNjR2LTE2MGgxNjB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tcG9kaXVtIiB1bmljb2RlPSImI3hmMzQ0OyIgCitkPSJNMCAwdjE5MmgxMjh2LTE5MmgtMTI4ek0xNjAgMHYyODhoMTI4di0yODhoLTEyOHpNMzIwIDB2MTI4aDEyOHYtMTI4aC0xMjh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tcG91bmQiIHVuaWNvZGU9IiYjeGYyMTk7IiAKK2Q9Ik05MyA5NmgtOTN2NTRoMTAxbDEzIDg0aC05OXY1NGgxMDdsMjIgMTI4aDY0bC0yMiAtMTI4aDEwNmwyMiAxMjhoNjNsLTIyIC0xMjhoOTN2LTU0aC0xMDJsLTEyIC04NGg5OXYtNTRoLTEwN2wtMjIgLTEyOGgtNjNsMjIgMTI4aC0xMDdsLTIyIC0xMjhoLTYzek0xNzcgMjM0bC0xMiAtODRoMTA2bDEyIDg0aC0xMDZ2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1wb3dlciIgdW5pY29kZT0iJiN4ZjJhOTsiIAorZD0iTTIyNCAxOTJjLTE4IDAgLTMyIDE0IC0zMiAzMnYxNjBjMCAxOCAxNCAzMiAzMiAzMnMzMiAtMTQgMzIgLTMydi0xNjBjMCAtMTggLTE0IC0zMiAtMzIgLTMyek0zNDcgMzc5YzYxIC00MCAxMDEgLTEwOSAxMDEgLTE4N2MwIC0xMjQgLTEwMCAtMjI0IC0yMjQgLTIyNHMtMjI0IDEwMCAtMjI0IDIyNGMwIDc4IDQwIDE0NyAxMDEgMTg3djBjNSAzIDExIDUgMTcgNWMxOCAwIDMyIC0xNCAzMiAtMzJjMCAtNiAtMiAtMTIgLTUgLTE3CitjLTIgLTMgLTQgLTYgLTcgLThjLTEgLTEgLTMgLTIgLTQgLTNjLTggLTYgLTE2IC0xMiAtMjMgLTE5Yy0zMCAtMzAgLTQ3IC03MCAtNDcgLTExM3MxNyAtODMgNDcgLTExM3M3MCAtNDcgMTEzIC00N3M4MyAxNyAxMTMgNDdzNDcgNzAgNDcgMTEzcy0xNyA4MyAtNDcgMTEzYy03IDcgLTE1IDEzIC0yMyAxOWMtMSAxIC0zIDIgLTQgM2MtMyAyIC01IDUgLTcgOGMtMyA1IC01IDExIC01IDE3YzAgMTggMTQgMzIgMzIgMzJjNiAwIDEyIC0yIDE3IC01Cit2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1wcmljZXRhZyIgdW5pY29kZT0iJiN4ZjJhYTsiIAorZD0iTTQzOSAxODdjMTIgLTEyIDEyIC0zMSAwIC00M2wtMTY1IC0xNjdjLTExIC0xMSAtMzAgLTExIC00MiAtMWwtMyAzbC0yMDYgMjA5bC02IDVjLTYgNyAtOSAxNSAtMTAgMjR2MHYydjBsLTcgOTh2NHYwYzAgMTIgNCAyNCAxMyAzM2w0OSA0OWM4IDkgMjAgMTMgMzEgMTNoNGwxMDAgLTR2MGMxMiAwIDIyIC00IDMwIC0xMnYwbDIgLTJ2MGwyMTAgLTIxMXYwdjB6TTExMiAyNTZjMjYgMCA0OCAyMiA0OCA0OHMtMjIgNDggLTQ4IDQ4CitzLTQ4IC0yMiAtNDggLTQ4czIyIC00OCA0OCAtNDh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tcHJpY2V0YWdzIiB1bmljb2RlPSImI3hmMmFiOyIgCitkPSJNNDQwIDIwOWMxMCAtMTEgMTEgLTI4IDAgLTM5bC0yOSAtMjljMTEgMTEgMTAgMjggMCAzOXYwdjBsLTE5MCAxOTF2MGwtMSAxaC0xYy04IDcgLTE2IDEyIC0yNyAxMnYwbC05MCAzaC00Yy05IDAgLTE5IC0zIC0yNiAtMTBsMjggMjdjOCA4IDE3IDEyIDI3IDEyaDRsOTAgLTR2MGMxMSAwIDE5IC00IDI3IC0xMWgxbDEgLTF2MGwxOTAgLTE5MXYwdjB6TTM5NiAxNjZ2MGMxMSAtMTEgMTEgLTI5IDAgLTQwbC0xMDggLTEwOXYxbC0yNiAtMjcKK2wtMiAtMmwtMTMgLTEzYy0xMCAtMTAgLTI2IC0xMCAtMzcgLTFsLTMgM2wtMTg2IDE4OGwtNSA1Yy01IDYgLTkgMTQgLTEwIDIydjB2MnYwbC02IDg4djN2MWMwIDExIDQgMjEgMTIgMjlsNDQgNDVsMSAxbDEgMWM3IDYgMTcgOSAyNiA5aDRsOTAgLTN2MGMxMSAwIDE5IC00IDI3IC0xMXYwbDIgLTF2MGwxODkgLTE5MXYwek03OSAzMDhjLTEyIC04IC0yMSAtMjEgLTIxIC0zN2MwIC0yNCAxOSAtNDMgNDMgLTQzYzE2IDAgMjkgOSAzNyAyMQorYzQgNyA3IDE0IDcgMjJjMCAyNCAtMjAgNDQgLTQ0IDQ0Yy04IDAgLTE1IC0zIC0yMiAtN3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1wcmludGVyIiB1bmljb2RlPSImI3hmMjFhOyIgCitkPSJNMzkyIDMyMGMyOCAwIDU2IC0xOSA1NiAtNTV2LTEzMWMwIC0zMSAtMjggLTU0IC01NiAtNTRoLTQwdi0xMTJoLThoLThoLTIyNGgtMTFoLTV2MTEyaC00MGMtMjggMCAtNTYgMjQgLTU2IDYydjEyM2MwIDM4IDI4IDU1IDU2IDU1aDQwdjY0aDI1NnYtNjRoNDB6TTMzNiAtMTZ2MTc2aC0yMjR2LTE3NmgyMjR6TTMzNiAzMjB2NDhoLTIyNHYtNDhoMjI0ek0zODQgMjU2djE2aC0xN3YtMTZoMTd6TTEyOCAxMTJ2MTZoMTkydi0xNmgtMTkyegorTTEyOCA2NHYxNmgxOTJ2LTE2aC0xOTJ6TTEyOCAxNnYxNmgxOTJ2LTE2aC0xOTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tcHVsbC1yZXF1ZXN0IiB1bmljb2RlPSImI3hmMzQ1OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNNjQgMzg0YzM1IDAgNjQgLTI5IDY0IC02NGMwIC0yNCAtMTMgLTQ0IC0zMiAtNTV2LTE3OGMxOSAtMTEgMzIgLTMxIDMyIC01NWMwIC0zNSAtMjkgLTY0IC02NCAtNjRzLTY0IDI5IC02NCA2NGMwIDI0IDEzIDQ0IDMyIDU1djE3OGMtMTkgMTEgLTMyIDMxIC0zMiA1NWMwIDM1IDI5IDY0IDY0IDY0ek02NCAwYzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnpNNjQgMjg4CitjMTggMCAzMiAxNCAzMiAzMnMtMTQgMzIgLTMyIDMycy0zMiAtMTQgLTMyIC0zMnMxNCAtMzIgMzIgLTMyek0zNTEgODhjMjAgLTExIDMzIC0zMiAzMyAtNTZjMCAtMzUgLTI5IC02NCAtNjQgLTY0cy02NCAyOSAtNjQgNjRjMCAyMyAxMiA0NCAzMSA1NXYxNTZjMCAxNiAtNCAyNiAtMTEgMzNjLTEwIDkgLTI2IDEyIC01MiAxMnYtNjRsLTk2IDk2bDk2IDk2di02NGM0MiAxIDc0IC04IDk2IC0yOWMyMSAtMTkgMzEgLTQ2IDMxIC04MHYtMTU1egorTTMyMCAwYzE4IDAgMzIgMTQgMzIgMzJzLTE0IDMyIC0zMiAzMnMtMzIgLTE0IC0zMiAtMzJzMTQgLTMyIDMyIC0zMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1xci1zY2FubmVyIiB1bmljb2RlPSImI3hmMzQ2OyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNNDggMzI0di02OGgtNDh2NjhjMCAzMyAyOCA2MCA2MSA2MGg2N3YtNDhoLTY4Yy03IDAgLTEyIC01IC0xMiAtMTJ6TTM1NiAzODRjMzMgMCA2MCAtMjcgNjAgLTYwdi02OGgtNDh2NjhjMCA3IC02IDEyIC0xMyAxMmgtNjd2NDhoNjh6TTM2OCA2MXY2N2g0OHYtNjdjMCAtMzMgLTI3IC02MSAtNjAgLTYxaC02OHY0OWg2OGM3IDAgMTIgNSAxMiAxMnpNNjAgNDloNjh2LTQ5aC02N2MtMzMgMCAtNjEgMjggLTYxIDYxdjY3aDQ4di02NworYzAgLTcgNSAtMTIgMTIgLTEyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXF1b3RlIiB1bmljb2RlPSImI3hmMzQ3OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMTI4IDM4NGMtNDEgMCAtNzMgLTExIC05NSAtMzNzLTMzIC01NCAtMzMgLTk1di0yNTZoMTYwdjI1NmgtOTZjMCAyMyA1IDM5IDE1IDQ5czI2IDE1IDQ5IDE1ek0zNTIgMzg0Yy00MSAwIC03MyAtMTEgLTk1IC0zM3MtMzMgLTU0IC0zMyAtOTV2LTI1NmgxNjB2MjU2aC05NmMwIDIzIDUgMzkgMTUgNDlzMjYgMTUgNDkgMTV6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tcmFkaW8td2F2ZXMiIHVuaWNvZGU9IiYjeGYyYWM7IiAKK2Q9Ik0xNjAgMTkyYzAgNDMgMjEgNjQgNjQgNjRzNjQgLTIxIDY0IC02NHMtMjEgLTY0IC02NCAtNjRzLTY0IDIxIC02NCA2NHpNMTEyIDE5MmMwIC0xOCA1IC0zNSAxMyAtNTBzMTkgLTI4IDMzIC0zN2wtMjMgLTI1Yy02IDUgLTEzIDEwIC0xOCAxNmMtMjUgMjYgLTM3IDU5IC0zNyA5NnMxMiA3MCAzNyA5NmM1IDYgMTIgMTEgMTggMTZsMjMgLTI1Yy0xNCAtOSAtMjUgLTIyIC0zMyAtMzdzLTEzIC0zMiAtMTMgLTUwek0zMzYgMTkyCitjMCAxOCAtNSAzNSAtMTMgNTBzLTE5IDI4IC0zMyAzN2wyMyAyNWM2IC01IDEzIC0xMCAxOCAtMTZjMjUgLTI2IDM3IC01OSAzNyAtOTZzLTEyIC03MCAtMzcgLTk2Yy01IC02IC0xMiAtMTEgLTE4IC0xNmwtMjMgMjVjMTQgOSAyNSAyMiAzMyAzN3MxMyAzMiAxMyA1MHpNMzIgMTkyYzAgLTI3IDYgLTUzIDE3IC03N3MyNyAtNDMgNDcgLTU5bC0yMyAtMjRjLTYgNSAtMTIgMTAgLTE3IDE2Yy0xOCAxOSAtMzEgNDEgLTQxIDY1CitjLTEwIDI1IC0xNSA1MSAtMTUgNzlzNSA1NCAxNSA3OWMxMCAyNCAyMyA0NiA0MSA2NWM1IDYgMTEgMTEgMTcgMTZsMjMgLTI0Yy0xMCAtOCAtMTggLTE3IC0yNiAtMjdzLTE0IC0yMSAtMjAgLTMycy0xMCAtMjQgLTEzIC0zN3MtNSAtMjYgLTUgLTQwek00MTYgMTkyYzAgMjcgLTYgNTMgLTE3IDc3cy0yNyA0MyAtNDcgNTlsMjMgMjRjNiAtNSAxMiAtMTAgMTcgLTE2YzE4IC0xOSAzMSAtNDEgNDEgLTY1YzEwIC0yNSAxNSAtNTEgMTUgLTc5CitzLTUgLTU0IC0xNSAtNzljLTEwIC0yNCAtMjMgLTQ2IC00MSAtNjVjLTQgLTUgLTEwIC0xMCAtMTcgLTE2bC0yMyAyNGMyMCAxNiAzNiAzNSA0NyA1OXMxNyA1MCAxNyA3N3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1yZWNvcmQiIHVuaWNvZGU9IiYjeGYyMWI7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0yMDggLTE2Yy0xMTUgMCAtMjA4IDkzIC0yMDggMjA4czkzIDIwOCAyMDggMjA4czIwOCAtOTMgMjA4IC0yMDhzLTkzIC0yMDggLTIwOCAtMjA4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXJlZnJlc2giIHVuaWNvZGU9IiYjeGYyMWM7IiAKK2Q9Ik0zNTIgOTZsLTEwNCAxMTJoNzRjLTcgNjUgLTY0IDExMiAtMTMwIDExMmMtNzEgMCAtMTI4IC01NyAtMTI4IC0xMjhzNTcgLTEyOCAxMjggLTEyOGMyOCAwIDUzIDggNzUgMjRsNiA1bDQzIC00NmwtNyAtNmMtMzQgLTI2IC03NCAtNDEgLTExNyAtNDFjLTkxIDAgLTE2NyA2NCAtMTg3IDE0OXYwYzAgMSAtMSAyIC0xIDN2MXYycy0xIDIgLTEgM3YxYzAgMSAtMSAzIC0xIDR2MGMtMSA2IC0yIDEzIC0yIDE5djF2NHY1djV2NHYxCitjMCA2IDEgMTMgMiAxOXYwYzAgMSAxIDMgMSA0djFjMCAxIDEgMSAxIDJ2M3YxYzAgMSAxIDIgMSAzdjBjMjAgODUgOTYgMTQ5IDE4NyAxNDl2MHYwYzExIDAgMjEgLTEgMzEgLTNoMmgyYzU3IC0xMCAxMDYgLTQ3IDEzMyAtOTZjMTMgLTIzIDIxIC00OSAyMyAtNzdoNjV6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tcmVwbHktYWxsIiB1bmljb2RlPSImI3hmMjFkOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMjU3IDI1NmMxNTMgMCAxNTkgLTIwOCAxNTkgLTIwOGMtNTEgOTMgLTkxIDEwMiAtMTU5IDEwMnYtOTJsLTE1MiAxMzRsMTUyIDE0NHYtODB6TTAgMTkybDE0NCAxMzZ2LTU3bC04MiAtNzlsODIgLTY4di01OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1yZXBseSIgdW5pY29kZT0iJiN4ZjIxZTsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM4NCA0OGMtNTMgOTMgLTEyMiAxMDIgLTIyNCAxMDJ2LTkybC0xNjAgMTM0bDE2MCAxNDR2LTgwYzE4NyAwIDIyNCAtMjA4IDIyNCAtMjA4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXJpYmJvbi1hIiB1bmljb2RlPSImI3hmMzQ4OyIgaG9yaXotYWR2LXg9IjM1MiIgCitkPSJNMjcyIDQxNmw4MCAtOTZsLTY0IC0xMzRjLTI0IDMwIC01OSA0OSAtOTkgNTN6TTgwIDQxNmw4MyAtMTc3Yy00MCAtNCAtNzUgLTIzIC05OSAtNTNsLTY0IDEzNHpNMTg5IDQxNmg2N2wtNTMgLTExMmgtMjdoLTI3bC01MyAxMTJoODBoMTN6TTE3NiAyMjRjNzEgMCAxMjggLTU3IDEyOCAtMTI4cy01NyAtMTI4IC0xMjggLTEyOHMtMTI4IDU3IC0xMjggMTI4czU3IDEyOCAxMjggMTI4ek0xNzYgMGM1MyAwIDk2IDQzIDk2IDk2CitzLTQzIDk2IC05NiA5NnMtOTYgLTQzIC05NiAtOTZzNDMgLTk2IDk2IC05NnpNMTc2IDE4NGM0OSAwIDg4IC0zOSA4OCAtODhzLTM5IC04OCAtODggLTg4cy04OCAzOSAtODggODhzMzkgODggODggODh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tcmliYm9uLWIiIHVuaWNvZGU9IiYjeGYzNDk7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xOTIgMzc2YzQ5IDAgODggLTM5IDg4IC04OHMtMzkgLTg4IC04OCAtODhzLTg4IDM5IC04OCA4OHMzOSA4OCA4OCA4OHpNMTkyIDQxNmM3MSAwIDEyOCAtNTcgMTI4IC0xMjhzLTU3IC0xMjggLTEyOCAtMTI4cy0xMjggNTcgLTEyOCAxMjhzNTcgMTI4IDEyOCAxMjh6TTE5MiAxOTJjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYgLTk2IDk2cy05NiAtNDMgLTk2IC05NnM0MyAtOTYgOTYgLTk2ek04MyAxOTRjMjYgLTMwIDY1IC01MCAxMDkgLTUwCitjMTIgMCAyMyAxIDM0IDRsLTM0IC03NGwtNDggLTEwNmwtNDggODBoLTk2ek0zMDEgMTk0bDgzIC0xNDZoLTk2bC00OCAtODBsLTQwIDg4bDQ1IDk4YzIyIDkgNDEgMjMgNTYgNDB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc2FkLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0ZDc7IiAKK2Q9Ik0zNjcgMTY0YzMgLTkgLTIgLTE3IC0xMSAtMTljLTMgLTEgLTcgMCAtMTAgMWMtNSAyIC05IDUgLTExIDEwcy00IDEyIC0xMyAxNXMtMTQgMCAtMTkgLTNjLTQgLTMgLTEwIC0zIC0xNSAtMWMtMyAxIC03IDMgLTkgNmMtNiA4IC0zIDE3IDUgMjJjMTUgOSAyOSAxMyA0OSA2czI5IC0yMSAzNCAtMzd6TTE2NSAxOTVjOCAtNSAxMCAtMTQgNCAtMjJjLTIgLTMgLTYgLTUgLTkgLTZjLTUgLTIgLTExIC0yIC0xNSAxYy01IDMgLTEwIDYgLTE5IDMKK3MtMTEgLTEwIC0xMyAtMTVzLTYgLTggLTExIC0xMGMtMyAtMSAtNyAtMiAtMTAgLTFjLTkgMiAtMTQgMTAgLTExIDE5YzUgMTYgMTQgMzAgMzQgMzdzMzUgMyA1MCAtNnpNMjI0IDQxNmMxMjQgMCAyMjQgLTEwMCAyMjQgLTIyNHMtMTAwIC0yMjQgLTIyNCAtMjI0cy0yMjQgMTAwIC0yMjQgMjI0czEwMCAyMjQgMjI0IDIyNHpNMzYwIDU2YzM2IDM2IDU2IDg1IDU2IDEzNnMtMjAgMTAwIC01NiAxMzZzLTg1IDU2IC0xMzYgNTYKK3MtMTAwIC0yMCAtMTM2IC01NnMtNTYgLTg1IC01NiAtMTM2czIwIC0xMDAgNTYgLTEzNnM4NSAtNTYgMTM2IC01NnMxMDAgMjAgMTM2IDU2ek0zMTcgODljNSAtNyAzIC0xNyAtNCAtMjJjLTMgLTIgLTYgLTMgLTkgLTNjLTUgMCAtMTAgMyAtMTMgN2MwIDAgLTE5IDI1IC02NyAyNXMtNjcgLTI1IC02NyAtMjVjLTMgLTQgLTggLTcgLTEzIC03Yy0zIDAgLTYgMSAtOSAzYy03IDUgLTkgMTUgLTQgMjJjMSAyIDI4IDM5IDkzIDM5CitzOTIgLTM3IDkzIC0zOXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zYWQiIHVuaWNvZGU9IiYjeGYzNGE7IiAKK2Q9Ik0yMjQgNDE2YzEyNCAwIDIyNCAtMTAwIDIyNCAtMjI0cy0xMDAgLTIyNCAtMjI0IC0yMjRzLTIyNCAxMDAgLTIyNCAyMjRzMTAwIDIyNCAyMjQgMjI0ek0xMTMgMTU2YzIgNSA0IDEyIDEzIDE1czE0IDAgMTkgLTNjNCAtMyAxMCAtMyAxNSAtMWMzIDEgNyAzIDkgNmM2IDggNCAxNyAtNCAyMmMtMTUgOSAtMzAgMTMgLTUwIDZzLTI5IC0yMSAtMzQgLTM3Yy0zIC05IDIgLTE3IDExIC0xOWMzIC0xIDcgMCAxMCAxYzUgMiA5IDUgMTEgMTB6CitNMzEzIDY3YzcgNSA5IDE1IDQgMjJjLTEgMiAtMjggMzkgLTkzIDM5cy05MiAtMzcgLTkzIC0zOWMtNSAtNyAtMyAtMTcgNCAtMjJjMyAtMiA2IC0zIDkgLTNjNSAwIDEwIDMgMTMgN2MwIDAgMTkgMjUgNjcgMjVzNjcgLTI1IDY3IC0yNWMzIC00IDggLTcgMTMgLTdjMyAwIDYgMSA5IDN6TTM1NiAxNDVjOSAyIDE0IDEwIDExIDE5Yy01IDE2IC0xNCAzMCAtMzQgMzdzLTM0IDMgLTQ5IC02Yy04IC01IC0xMSAtMTQgLTUgLTIyCitjMiAtMyA2IC01IDkgLTZjNSAtMiAxMSAtMiAxNSAxYzUgMyAxMCA2IDE5IDNzMTEgLTEwIDEzIC0xNXM2IC04IDExIC0xMGMzIC0xIDcgLTIgMTAgLTF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc2Npc3NvcnMiIHVuaWNvZGU9IiYjeGYzNGI7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNDEgMzMyYy0xMyAtMzMgLTExNyAtMTcyIC0xMTcgLTE3MmwtMzIgLTMycy0zMSAtMTMgLTUwIC00M3MtMzMgLTcxIC0zMyAtNzF2MGMtNyAtMjYgLTI4IC00NiAtNTMgLTQ2Yy0zMSAwIC01NiAyOSAtNTYgNjRzMjUgNjQgNTYgNjRjMTMgMCAyNSAtNSAzNCAtMTNjMiAtMSAzIC0zIDQgLTR2MGwyIC0yYzQgLTQgNyAtMiAxNCAxMWM4IDE1IDE3IDM1IDI3IDU0czM4IDU5IDM4IDU5bDE3IDIzbDE0NCAxOTIKK2MyMyAtMjAgMTggLTUxIDUgLTg0ek01NiAwYzE1IDAgMjggMTQgMjggMzJzLTEzIDMyIC0yOCAzMnMtMjggLTE0IC0yOCAtMzJzMTMgLTMyIDI4IC0zMnpNMTkyIDE2MGM5IDAgMTYgNyAxNiAxNnMtNyAxNiAtMTYgMTZzLTE2IC03IC0xNiAtMTZzNyAtMTYgMTYgLTE2ek0xNDMgMTgzYy0zMCA0MSAtOTAgMTI1IC0xMDAgMTQ5Yy0xMyAzMyAtMTggNjQgNSA4NGwxMzQgLTE3OGwtMyAtNHYwdjBsLTE3IC0yM3YtMXYwCitjLTEgLTEgLTEwIC0xMyAtMTkgLTI3ek0zMjggOTZjMzEgMCA1NiAtMjkgNTYgLTY0cy0yNSAtNjQgLTU2IC02NGMtMjUgMCAtNDcgMjAgLTU0IDQ2djBzLTEzIDQxIC0zMiA3MWMtMTEgMTcgLTI2IDI4IC0zNiAzNWwyOSAyOWwxIDFoMWMxIDEgMSAyIDIgNGMzIC00IDUgLTkgNyAtMTJjMTAgLTE5IDIwIC0zOSAyOCAtNTRjNyAtMTMgMTAgLTE1IDE0IC0xMWMxIDEgMCAxIDEgMmgxYzEgMSAyIDMgNCA0YzkgOCAyMSAxMyAzNCAxM3pNMzI4IDAKK2MxNSAwIDI4IDE0IDI4IDMycy0xMyAzMiAtMjggMzJzLTI4IC0xNCAtMjggLTMyczEzIC0zMiAyOCAtMzJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc2VhcmNoIiB1bmljb2RlPSImI3hmMjFmOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzgxIDYxYzQgLTQgNCAtMTAgMCAtMTRsLTQzIC00NGMtMiAtMiAtNSAtMyAtOCAtM3MtNSAxIC03IDNsLTg0IDg2Yy0yNSAtMTUgLTUyIC0yMyAtODAgLTIzYy04NyAwIC0xNTkgNzEgLTE1OSAxNTlzNzIgMTU5IDE1OSAxNTlzMTU4IC03MSAxNTggLTE1OWMwIC0yNyAtNyAtNTQgLTIxIC03OHpNMTU5IDMyMmMtNTMgMCAtOTcgLTQzIC05NyAtOTdzNDQgLTk3IDk3IC05N3M5NiA0MyA5NiA5N3MtNDMgOTcgLTk2IDk3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNldHRpbmdzIiB1bmljb2RlPSImI3hmMmFkOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNNDAyIDMxMGMxMCAtNiAxNSAtMjUgMTQgLTM2Yy0xIC0xNyAtNyAtMzYgLTI1IC01NGMtMSAtMSAtMiAtMSAtMyAtMmMtMjYgLTI1IC02MiAtMzAgLTk0IC0yMGMtMSAxIC0yIDIgLTQgMmMtNSAxIC0xMCAwIC0xMyAtNGwtMzYgLTM5YzUyIC01MCAxMDcgLTk2IDEwNyAtOTZjMiAtMiAyIC01IDAgLTdsLTUwIC01MWMtMiAtMiAtNSAtMiAtNyAwYzAgMCAtNDQgNTUgLTkzIDEwN2wtOTIgLTk4Yy0xNCAtMTYgLTQwIC0xNSAtNTUgMAorYy0xNSAxNiAtMTUgNDIgMSA1Nmw5NyA5M2wtMTIgMTJjLTIgMiAtMyA3IC0xIDEwbDIgNWMtMjUgMjYgLTM2IDMzIC01NiAzMnMtMzYgLTEzIC00OCAtMjhzLTEwIC01MiAtOCAtNjJzLTcgLTYgLTEyIDBjLTkgMTAgLTIzIDUwIC02IDkzczQyIDY5IDQ4IDc1czE2IDE1IDI0IDIxczIxIC0xIDI3IDVjNCA0IDUgMTEgNSAxNmwtNCA0Yy0yIDIgLTIgNSAwIDdsMzEgMzFjMiAyIDUgMiA3IDBsNTAgLTUwYzIgLTIgMiAtNiAwIC04bC0zMSAtMzEKK2MtMiAtMiAtNSAtMiAtNyAwbC04IDljLTcgMCAtMTUgLTUgLTE3IC0xMGMtMyAtNiAtNiAtMjEgLTMgLTMzYzMgLTExIDEzIC0yMCAzNiAtNDNsNSAzYzQgMiA4IDEgMTAgLTFjMCAwIDEgLTIgMTMgLTE0bDM4IDM3YzQgMyA1IDcgNCAxM2MwIDIgMCA0IC0xIDVjLTEwIDMzIC02IDY5IDE5IDk2bDIgMmMxOCAxOCAzNiAyNSA1MyAyNmMxMCAxIDMwIC01IDM1IC0xNWwtNDggLTQ4bC0yIC0zbC0xIC0xYy0xIC0xIC0xIC0yIC0xIC00CitzMCAtMyAxIC01bDIgLTJsMiAtMmw0MSAtNDJsMyAtM2wxIC0xYzEgLTEgMiAtMSA0IC0xczMgMCA0IDFsMiAxbDIgM3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zaGFyZSIgdW5pY29kZT0iJiN4ZjIyMDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTI4OCA3MHY1OWwzOCAzMXYtMTA5YzAgLTExIC04IC0xOSAtMTkgLTE5aC0yODhjLTExIDAgLTE5IDkgLTE5IDE5djIxOGMwIDExIDggMTkgMTkgMTloMTIwYy0yOSAtMTggLTQzIC0zOCAtNDMgLTM4aC01OHYtMTgwaDI1MHpNMjU2IDIyNGMtODQgMCAtMTE2IC0yNCAtMTYwIC05NmMwIDAgNSAxNjQgMTYwIDE2NHY2MGwxMjggLTk2bC0xMjggLTk2djY0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNodWZmbGUiIHVuaWNvZGU9IiYjeGYyMjE7IiAKK2Q9Ik0zMzggMjY3Yy01MiAwIC04MyAtNDMgLTEyMCAtOTJjLTQxIC01NSAtODggLTEyMCAtMTcxIC0xMjBoLTQ3djYzaDQ3YzUyIDAgODQgNDcgMTIxIDk2YzQxIDU1IDg3IDExNiAxNzAgMTE2aDI5djU0bDgxIC04MWwtODEgLTg0djQ4aC0yOXpNMTIxIDIzMGMtMjEgMjEgLTQyIDM1IC03NCAzNmMtMzQgMSAtNDcgMCAtNDcgMHY2M2g0N2M0OCAwIDgzIC0yMCAxMTMgLTQ4Yy0xMCAtMTIgLTE5IC0yNCAtMjggLTM2CitjLTQgLTUgLTcgLTEwIC0xMSAtMTV6TTM2NyAxMTh2NDdsODEgLTg0bC04MSAtODF2NTRoLTI5Yy01MCAwIC04NyAyMyAtMTE3IDUzYzEyIDE0IDIyIDI4IDMyIDQxYzIgMyA1IDYgNyA5YzIyIC0yNCA0NiAtMzkgNzggLTM5aDI5eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNraXAtYmFja3dhcmQiIHVuaWNvZGU9IiYjeGYyMjI7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xMiAzNTJoOGM3IDAgMTIgLTUgMTIgLTEydi0xMTNsMTg3IDEyMmMyIDIgNSAzIDggM2M4IDAgMTYgLTcgMTYgLTE3di02M2wxMTggNzhjMiAyIDUgMiA4IDJjOCAwIDE1IC03IDE1IC0xN3YtMjg2YzAgLTEwIC03IC0xNyAtMTUgLTE3Yy0zIDAgLTUgMSAtOCAzbC0xMTggNzh2LTY0YzAgLTEwIC04IC0xNyAtMTYgLTE3Yy0zIDAgLTUgMSAtOCAzbC0xODcgMTIydi0xMTNjMCAtNyAtNSAtMTIgLTEyIC0xMmgtOAorYy03IDAgLTEyIDUgLTEyIDEydjI5NmMwIDcgNSAxMiAxMiAxMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1za2lwLWZvcndhcmQiIHVuaWNvZGU9IiYjeGYyMjM7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNzIgMzUyYzcgMCAxMiAtNSAxMiAtMTJ2LTI5NmMwIC03IC01IC0xMiAtMTIgLTEyaC04Yy03IDAgLTEyIDUgLTEyIDEydjExM2wtMTg3IC0xMjJjLTMgLTIgLTUgLTMgLTggLTNjLTggMCAtMTUgNyAtMTUgMTd2NjRsLTExOSAtNzhjLTMgLTIgLTUgLTMgLTggLTNjLTggMCAtMTUgNyAtMTUgMTd2Mjg2YzAgMTAgNyAxNyAxNSAxN2MzIDAgNiAwIDggLTJsMTE5IC03OHY2M2MwIDEwIDcgMTcgMTUgMTdjMyAwIDYgLTEgOCAtMworbDE4NyAtMTIydjExM2MwIDcgNSAxMiAxMiAxMmg4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1hbmRyb2lkLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYyMjQ7IiBob3Jpei1hZHYteD0iMzUyIiAKK2Q9Ik0yNzIgMjQwaC0xOTJ2LTYwdi04OWgyNGgxNnYtMTV2LTUyYzAgLTQgNCAtOCA4IC04czggNCA4IDh2NTJ2MTVoMTdoNDloMTV2LTE1di01MmMwIC0yIDEgLTQgMyAtNmgxdjBjMSAtMSAyIC0yIDQgLTJoMXYwdjBjNCAwIDcgNCA3IDh2NTJ2MTVoMTdoMjJ2ODl2NjB6TTI4OCAyNTZ2MHYtNzZ2LTkwYzAgLTcgLTMgLTE1IC0xMCAtMTVoLTI5di01MWMwIC0xMyAtMTAgLTI0IC0yMyAtMjR2MGgtMWMtNiAwIC0xMSAyIC0xNSA1CitjLTUgNCAtOSAxMSAtOSAxOXY1MWgtNDl2LTUxYzAgLTEzIC0xMSAtMjQgLTI0IC0yNHMtMjQgMTEgLTI0IDI0djUxaC0yOGMtNyAwIC0xMiA4IC0xMiAxNXY5MHY3NmgyMjR6TTMyOCAyNTZjLTQgMCAtOCAtNCAtOCAtOHYtOTZjMCAtNCA0IC04IDggLThzOCA0IDggOHY5NmMwIDQgLTQgOCAtOCA4ek0zMjggMjcydjBjMTMgMCAyNCAtMTEgMjQgLTI0di05NmMwIC0xMyAtMTEgLTI0IC0yNCAtMjRzLTI0IDExIC0yNCAyNHY5NgorYzAgMTMgMTEgMjQgMjQgMjR6TTI0IDI1NmMtNCAwIC04IC00IC04IC04di05NmMwIC00IDQgLTggOCAtOHM4IDQgOCA4djk2YzAgNCAtNCA4IC04IDh6TTI0IDI3MnYwYzEzIDAgMjQgLTExIDI0IC0yNHYtOTZjMCAtMTMgLTExIC0yNCAtMjQgLTI0cy0yNCAxMSAtMjQgMjR2OTZjMCAxMyAxMSAyNCAyNCAyNHpNMTc1IDM1NGMtMTQgMCAtMjcgLTMgLTM4IC02bC0xMCAtNGMtMjggLTEyIC00MCAtMzcgLTQ0IC01NmgxODYKK2MtNCAxOCAtMTUgNDMgLTQ0IDU2bC0xMCA0Yy0xMiA0IC0yNSA2IC0zOSA2djB2MGgtMXpNMTA1IDM4NHYwaDFsMTkgLTIzYzEzIDUgMzAgOSA1MCA5aDFjMjAgMCAzNiAtNCA1MCAtOWwyMCAyM3YwczEgLTEgMiAtMWMxIC0xIDIgLTMgMiAtM2wtMTkgLTIyYzQ4IC0yMSA1NiAtNzEgNTcgLTg2aC0yMjRjMSAxNSA5IDY2IDU3IDg3bC0xOSAyMmMwIDEgMSAxIDIgMnpNMTI3IDMwOWMtNyAwIC0xNCA2IC0xNCAxM3M2IDE0IDE0IDE0CitjNyAwIDEzIC03IDEzIC0xNHMtNSAtMTMgLTEzIC0xM3pNMjI1IDMwOWMtNyAwIC0xMyA2IC0xMyAxM3M1IDE0IDEzIDE0YzcgMCAxMyAtNyAxMyAtMTRzLTYgLTEzIC0xMyAtMTN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWFuZHJvaWQiIHVuaWNvZGU9IiYjeGYyMjU7IiBob3Jpei1hZHYteD0iMzUyIiAKK2Q9Ik02NCAxODB2NzZoMjI0di03NnYtOTBjMCAtNyAtNCAtMTQgLTExIC0xNGgtMjh2LTUyYzAgLTEzIC0xMSAtMjQgLTI0IC0yNHYwaC0xYy02IDAgLTEwIDIgLTE0IDVjLTUgNCAtOSAxMSAtOSAxOXY1MmgtNDl2LTUyYzAgLTEzIC0xMSAtMjQgLTI0IC0yNHMtMjQgMTEgLTI0IDI0djUyaC0yOWMtNyAwIC0xMSA3IC0xMSAxNHY5MHpNMzI4IDI3MmMxMyAwIDI0IC0xMSAyNCAtMjR2LTk2YzAgLTEzIC0xMSAtMjQgLTI0IC0yNAorcy0yNCAxMSAtMjQgMjR2OTZjMCAxMyAxMSAyNCAyNCAyNHpNMjQgMjcyYzEzIDAgMjQgLTExIDI0IC0yNHYtOTZjMCAtMTMgLTExIC0yNCAtMjQgLTI0cy0yNCAxMSAtMjQgMjR2OTZjMCAxMyAxMSAyNCAyNCAyNHpNMjMxIDM1OWM0OCAtMjEgNTYgLTcyIDU3IC04N2gtMjI0YzEgMTUgOCA2NiA1NiA4N2wtMTggMjJjMCAxIDAgMSAxIDJzMyAxIDMgMWwxOSAtMjNjMTQgNSAzMSA5IDUxIDlzMzYgLTQgNTAgLTlsMjAgMjNjMCAxIDEgMCAyIC0xCitsMiAtMnpNMTI3IDMwOWM4IDAgMTMgNiAxMyAxM3MtNiAxNCAtMTMgMTRjLTggMCAtMTQgLTcgLTE0IC0xNHM3IC0xMyAxNCAtMTN6TTIyNSAzMDljNyAwIDE0IDYgMTQgMTNzLTcgMTQgLTE0IDE0Yy04IDAgLTEzIC03IC0xMyAtMTRzNiAtMTMgMTMgLTEzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1hbmd1bGFyLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0ZDg7IiAKK2Q9Ik0yMjQgMzg0bC0xODggLTY5bDM5IC0yMzBsMTQ5IC04MGwxNDkgODBsMzkgMjMwek0yMjQgNDE2djBsMjI0IC04MGwtNDYgLTI3MmwtMTc4IC05NmwtMTc4IDk2bC00NiAyNzJ6TTMxMiA5NmwtMjcgNTZoLTEyMmwtMjcgLTU2aC00MGwxMjggMjgwbDEyOCAtMjgwaC00MHpNMTgyIDE5Mmg4NGwtNDIgODl6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWFuZ3VsYXIiIHVuaWNvZGU9IiYjeGY0ZDk7IiAKK2Q9Ik0xODIgMTkybDQyIDg5bDQyIC04OWgtODR6TTIyNCA0MTZsMjI0IC04MGwtNDYgLTI3MmwtMTc4IC05NmwtMTc4IDk2bC00NiAyNzJ6TTMxMiA5Nmg0MGwtMTI4IDI4MGwtMTI4IC0yODBoNDBsMjcgNTZoMTIyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1hcHBsZS1vdXRsaW5lIiB1bmljb2RlPSImI3hmMjI2OyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMjM4IDI3OGMtMTUgMCAtMjYgLTQgLTM3IC04Yy0xMCAtNCAtMjEgLTggLTM1IC04cy0yNSA0IC0zNyA4Yy0xMSA0IC0yMiA4IC0zNCA4Yy0xMSAwIC0yMyAtMyAtMzQgLTEwYy0xMiAtNyAtMjMgLTE4IC0zMSAtMzFjLTEyIC0xOCAtMTYgLTQ3IC0xMyAtNzdjMyAtMzQgMTYgLTY5IDM1IC05OWMxMyAtMjEgMzAgLTQ1IDUwIC00NWgxYzggMCAxMyAzIDIwIDZjMTAgNSAyMyAxMCA0NCAxMHYwYzIxIDAgMzQgLTUgNDQgLTEwCitjNyAtMyAxMiAtNiAxOSAtNnYwYzIyIDAgNDQgMzUgNTIgNDhjOCAxMiAxMiAyMCAxNyAzMWMtMTIgNyAtMjIgMTYgLTMwIDI4Yy0xMCAxNSAtMTcgMzMgLTE4IDUyYy0xIDE4IDIgMzcgMTAgNTNjNiAxMiAxNCAyMiAyNCAzMGMtMTQgMTMgLTMxIDIwIC00NyAyMHpNMjM4IDI5NHYwYzI1IDAgNTIgLTE0IDcxIC0zOWMtNjMgLTM2IC01MyAtMTI4IDExIC0xNTNjLTkgLTIwIC0xMyAtMjggLTI0IC00NmMtMTYgLTI1IC0zNyAtNTYgLTY1IC01NmgtMQorYy0yNCAwIC0zMSAxNiAtNjMgMTZ2MGMtMzMgMCAtNDAgLTE2IC02NCAtMTZoLTFjLTI4IDAgLTQ4IDI4IC02NCA1M2MtNDQgNjkgLTQ4IDE1MCAtMjEgMTkzYzE5IDMwIDUwIDQ4IDc4IDQ4YzI5IDAgNDcgLTE2IDcxIC0xNmMyMyAwIDM4IDE2IDcyIDE2ek0yMTQgMzY0Yy0xMSAtNSAtMjEgLTEzIC0yOCAtMjJjLTQgLTUgLTkgLTEzIC0xMyAtMjNjLTEgLTMgLTIgLTYgLTIgLTljMTEgNCAyMSAxMSAyOCAyMWM0IDUgMTIgMTggMTUgMzN6CitNMjMwIDM4NHYwYzMgLTIzIC02IC00NiAtMTggLTYyYy0xMyAtMTcgLTM1IC0zMCAtNTYgLTMwaC0xYy00IDIyIDYgNDQgMTggNjBjMTQgMTcgMzcgMzEgNTcgMzJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWFwcGxlIiB1bmljb2RlPSImI3hmMjI3OyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMjM4IDI5NHYwYzI1IDAgNTIgLTE0IDcxIC0zOWMtNjMgLTM2IC01MyAtMTI4IDExIC0xNTNjLTkgLTIwIC0xMyAtMjggLTI0IC00NmMtMTYgLTI1IC0zNyAtNTYgLTY1IC01NmgtMWMtMjQgMCAtMzEgMTYgLTYzIDE2djBjLTMzIDAgLTQwIC0xNiAtNjQgLTE2aC0xYy0yOCAwIC00OCAyOCAtNjQgNTNjLTQ0IDY5IC00OCAxNTAgLTIxIDE5M2MxOSAzMCA1MCA0OCA3OCA0OGMyOSAwIDQ3IC0xNiA3MSAtMTZjMjMgMCAzOCAxNiA3MiAxNnoKK00yMzAgMzg0djBjMyAtMjMgLTYgLTQ2IC0xOCAtNjJjLTEzIC0xNyAtMzUgLTMwIC01NiAtMzBoLTFjLTQgMjIgNiA0NCAxOCA2MGMxNCAxNyAzNyAzMSA1NyAzMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtYml0Y29pbi1vdXRsaW5lIiB1bmljb2RlPSImI3hmMmFlOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMTg0IDQwMGgtOHYtNDh2LTE2aC0xNmgtMzJoLTE2djE2djQ4aC05di00OHYtMTZoLTE2aC03MnYtMTZoMTNjMTEgMCAxOSAwIDI1IC0zczEwIC03IDEzIC0xM3MzIC04IDMgLTIwdi0xNzhjMCAtMTEgMCAtMTggLTMgLTI0di0xYy0xIC0zIC00IC0xMCAtMTIgLTE0aC0xYy01IC0zIC04IC0zIC0xNyAtM2gtMTNsLTMgLTE2aDY3aDE2di0xNnYtNDhoOXY0OHYxNmgxNmgzMmgxNnYtMTZ2LTQ4aDh2NDl2MTZoMTVjMjMgMSA0MSA1IDU1IDEwCitjMTYgNiAyOCAxNSAzNyAyNmM4IDExIDEyIDI5IDEzIDQyYzEgMTQgLTEgMjkgLTQgMzZzLTggMTYgLTIxIDIzYy03IDQgLTE0IDYgLTIxIDhsLTQ2IDExbDQzIDE5YzQgMiA3IDQgMTIgOWM2IDUgOSAxMiAxMSAxNmMyIDUgNCAxMyAzIDIyYy0xIDE3IC00IDI5IC0xMCAzN2MtNyA5IC0xNyAxNiAtMzEgMjFjLTEyIDUgLTI0IDcgLTQxIDhsLTE1IDF2MTV2NDd6TTIwMCA0MTZ2MHYtNjNjMjAgLTEgMzIgLTQgNDUgLTkKK2MxNiAtNiAyOSAtMTUgMzggLTI3czEyIC0yOCAxMyAtNDVjMSAtMTAgMCAtMjAgLTMgLTI4cy04IC0xNiAtMTYgLTIzYy02IC02IC0xMSAtOSAtMTYgLTExYzkgLTIgMTcgLTYgMjUgLTEwYzE1IC04IDI0IC0xOCAyOSAtMzBjNCAtMTAgNiAtMzAgNSAtNDRjLTEgLTE2IC02IC0zNyAtMTYgLTUxYy0xMSAtMTQgLTI2IC0yNCAtNDUgLTMxYy0xNSAtNiAtMzMgLTEwIC01OSAtMTF2LTY1aC00MHY2NGgtMzJ2LTY0aC00MXY2NGgtODdsOCA0OGgyOAorYzkgMCA4IDEgMTEgMnM0IDMgNSA2czEgOSAxIDE4djE3OGMwIDkgMCAxMCAtMSAxMnMtMyA0IC02IDZzLTkgMiAtMTggMmgtMjh2NDhoODd2NjRoNDF2LTY0aDMydjY0aDQwek0xNjAgMjk4di03NGgtMzJ2NzRoMzJ6TTE2MCAxNzZ2MHYtOTBoLTMydjkwaDMyek0yMDAgMjk0djBjNiAtMiAxMCAtNyAxNCAtMTJjNCAtNiA2IC0xMyA2IC0yMXMtMiAtMTUgLTcgLTIxYy00IC01IC03IC05IC0xMyAtMTJ2NjZ6TTIwMCAxNzR2MAorYzUgLTEgOCAtMSAxMiAtM2M4IC0zIDE0IC03IDE5IC0xM3M4IC0xNSA4IC0yNGMwIC0xMSAtMiAtMTkgLTEwIC0yNnMtMTMgLTExIC0yMyAtMTVjLTIgLTEgLTQgMCAtNiAtMXY4MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtYml0Y29pbiIgdW5pY29kZT0iJiN4ZjJhZjsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTMxNCAxNjljNCAtMTAgNyAtMzAgNiAtNDRjLTEgLTE2IC01IC0zNyAtMTYgLTUxcy0yNiAtMjQgLTQ1IC0zMWMtMTUgLTYgLTMzIC0xMCAtNTkgLTExdi02NGgtNDB2NjRoLTMydi02NGgtNDF2NjRoLTg3bDkgNDhoMjZjOSAwIDkgMCAxMiAxczQgNCA1IDdzMiA4IDIgMTd2MTczYzAgOSAtMSAxNiAtMiAxOHMtMyA0IC02IDZzLTkgMiAtMTggMmgtMjh2NDhoODd2NjRoNDF2LTY0aDMydjY0aDQwdi02NGMyMCAtMSAzMyAtNCA0NiAtOQorYzE2IC02IDI4IC0xNSAzNyAtMjdzMTIgLTI4IDEzIC00NWMxIC0xMCAwIC0yMCAtMyAtMjhjLTIgLTggLTggLTE2IC0xNiAtMjNjLTYgLTYgLTExIC05IC0xNiAtMTFjOSAtMiAxNyAtNiAyNSAtMTBjMTUgLTggMjMgLTE4IDI4IC0zMHpNMTI4IDI5OHYtNzRoMzJ2NzRoLTMyek0xMjggODZoMzJ2OTBoLTMydi05MHpNMjAwIDI5NHYtNjZjNiAzIDkgNyAxMyAxMmM1IDYgNyAxMiA3IDIwcy0yIDE1IC02IDIxYy00IDUgLTggMTEgLTE0IDEzegorTTIyOSAxMDdjOCA3IDEwIDE1IDEwIDI2YzAgOSAtMyAxOSAtOCAyNXMtMTIgMTAgLTIwIDEzYy00IDIgLTYgMiAtMTEgM3YtODJjMiAwIDUgMSA3IDJjMTAgNCAxNCA2IDIyIDEzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1idWZmZXItb3V0bGluZSIgdW5pY29kZT0iJiN4ZjIyODsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTcgMjg0Yy05IDQgLTkgMTEgMCAxNWwxNjkgODJjNCAyIDEwIDMgMTYgM3MxMiAtMSAxNiAtM2wxNjkgLTgyYzkgLTQgOSAtMTEgMCAtMTVsLTE2OSAtODJjLTQgLTIgLTEwIC0zIC0xNiAtM3MtMTIgMSAtMTYgM3pNMTgzIDM2NmwtMTU2IC03NWwxNTYgLTc1YzIgLTEgNSAtMSA5IC0xczcgMCA5IDFsMTU2IDc1bC0xNTYgNzVjLTIgMSAtNSAyIC05IDJzLTcgLTEgLTkgLTJ6TTM3NyAyMDBjOSAtNCA5IC0xMiAwIC0xNmwtMTY5IC04MQorYy00IC0yIC0xMCAtNCAtMTYgLTRzLTEyIDIgLTE2IDRsLTE2OSA4MWMtOSA0IC05IDEyIDAgMTZjMCAwIDI3IDEzIDMzIDE2YzUgMyA3IDMgMTMgMHMxMjMgLTYwIDEyMyAtNjBjNCAtMiAxMCAtMyAxNiAtM3MxMiAxIDE2IDNjMCAwIDEyMSA1OSAxMjUgNjFzNSAyIDkgMHMzNSAtMTcgMzUgLTE3ek0yMDEgMTE3bDE1NiA3NWwtMTkgOWwtMTIzIC01OWMtNiAtMyAtMTUgLTUgLTIzIC01cy0xNyAyIC0yMyA1bC0xMjMgNTlsLTE5IC05bDE1NiAtNzUKK2MyIC0xIDUgLTIgOSAtMnM3IDEgOSAyek0zNzcgMTAwYzkgLTQgOSAtMTEgMCAtMTVsLTE2OSAtODJjLTQgLTIgLTEwIC0zIC0xNiAtM3MtMTIgMSAtMTYgM2wtMTY5IDgyYy05IDQgLTkgMTEgMCAxNWMwIDAgMjcgMTQgMzMgMTdjNSAzIDcgMiAxMyAtMXMxMjMgLTU5IDEyMyAtNTljNCAtMiAxMCAtMyAxNiAtM3MxMiAxIDE2IDNjMCAwIDEyMSA1OCAxMjUgNjBzNSAyIDkgMHMzNSAtMTcgMzUgLTE3ek0yMDEgMThsMTU2IDc1bC0xOSA5CitsLTEyMyAtNjBjLTYgLTMgLTE1IC00IC0yMyAtNHMtMTcgMSAtMjMgNGwtMTIzIDYwbC0xOSAtOWwxNTYgLTc1YzIgLTEgNSAtMiA5IC0yczcgMSA5IDJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWJ1ZmZlciIgdW5pY29kZT0iJiN4ZjIyOTsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTcgMjg0Yy05IDQgLTkgMTEgMCAxNWwxNjkgODJjNCAyIDEwIDMgMTYgM3MxMiAtMSAxNiAtM2wxNjkgLTgyYzkgLTQgOSAtMTEgMCAtMTVsLTE2OSAtODJjLTQgLTIgLTEwIC0zIC0xNiAtM3MtMTIgMSAtMTYgM3pNMzc3IDIwMGM5IC00IDkgLTEyIDAgLTE2bC0xNjkgLTgxYy00IC0yIC0xMCAtNCAtMTYgLTRzLTEyIDIgLTE2IDRsLTE2OSA4MWMtOSA0IC05IDEyIDAgMTZjMCAwIDI3IDEzIDMzIDE2YzUgMyA3IDMgMTMgMAorczEyMyAtNjAgMTIzIC02MGM0IC0yIDEwIC0zIDE2IC0zczEyIDEgMTYgM2MwIDAgMTIxIDU5IDEyNSA2MXM1IDIgOSAwczM1IC0xNyAzNSAtMTd6TTM3NyAxMDBjOSAtNCA5IC0xMSAwIC0xNWwtMTY5IC04MmMtNCAtMiAtMTAgLTMgLTE2IC0zcy0xMiAxIC0xNiAzbC0xNjkgODJjLTkgNCAtOSAxMSAwIDE1YzAgMCAyNyAxNCAzMyAxN2M1IDMgNyAyIDEzIC0xczEyMyAtNTkgMTIzIC01OWM0IC0yIDEwIC0zIDE2IC0zczEyIDEgMTYgMworYzAgMCAxMjEgNTggMTI1IDYwczUgMiA5IDBzMzUgLTE3IDM1IC0xN3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtY2hyb21lLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0ZGE7IiAKK2Q9Ik0yMjQgNDE2YzEyMyAwIDIyNCAtMTAxIDIyNCAtMjI0cy0xMDEgLTIyNCAtMjI0IC0yMjRzLTIyNCAxMDEgLTIyNCAyMjRzMTAxIDIyNCAyMjQgMjI0ek0yMjQgMzcxYy01NyAwIC0xMDkgLTI3IC0xNDEgLTY4bDU0IC05M2M4IDQwIDQzIDcyIDg3IDcyaDE1NWMtMzAgNTQgLTg5IDg5IC0xNTUgODl6TTI5MSAxOTJjMCAzNyAtMzAgNjcgLTY3IDY3cy02NyAtMzAgLTY3IC02N3MzMCAtNjcgNjcgLTY3czY3IDMwIDY3IDY3ek00NSAxOTIKK2MwIC05MSA2NyAtMTY2IDE1NCAtMTc3bDU0IDkzYy05IC0zIC0xOSAtNiAtMjkgLTZjLTM0IDAgLTYxIDE4IC03NyA0NXYwbC03OCAxMzVjLTE2IC0yNyAtMjQgLTU4IC0yNCAtOTB6TTIyNCAxM2M5OSAwIDE3OSA4MCAxNzkgMTc5YzAgMjQgLTQgNDYgLTEzIDY3aC0xMDhjMTkgLTE3IDMyIC00MCAzMiAtNjdjMCAtMTcgLTUgLTMyIC0xMyAtNDV2MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtY2hyb21lIiB1bmljb2RlPSImI3hmNGRiOyIgCitkPSJNMTU3IDE5MmMwIDM3IDMwIDY3IDY3IDY3czY3IC0zMCA2NyAtNjdzLTMwIC02NyAtNjcgLTY3cy02NyAzMCAtNjcgNjd6TTQ0NSAyMzBjMiAtMTIgMyAtMjUgMyAtMzhjMCAtMTA2IC03NCAtMTk1IC0xNzQgLTIxOGMtMTAgLTIgLTIwIC00IC0zMCAtNWMtNyAtMSAtMTMgLTEgLTIwIC0xYy04IDAgLTE3IDAgLTI1IDF2MHYwdjB2MWwxMDIgMTc3YzggMTMgMTMgMjggMTMgNDVjMCAyNyAtMTMgNTAgLTMyIDY3aDE1NgorYzMgLTkgNSAtMTkgNyAtMjl2MGMtMiAxMCAtNCAyMCAtNyAyOXYwYzMgLTkgNSAtMTkgNyAtMjl2MHpNMjI0IDEwM2MxMCAwIDIwIDIgMjkgNWwtNzggLTEzNXYwYy00MiA5IC03OSAzMCAtMTA4IDU5Yy00MiA0MSAtNjcgOTcgLTY3IDE2MGMwIDMxIDYgNjEgMTggODhjNyAxNiAxNiAzMSAyNiA0NXYwbDEwMyAtMTc4YzE2IC0yNyA0MyAtNDQgNzcgLTQ0ek01OSAzNDN2MHYxYzI0IDI2IDU1IDQ3IDkwIDU5YzIzIDggNDkgMTMgNzUgMTMKK2M3MyAwIDEzOCAtMzYgMTc5IC05MGgxYzEwIC0xNCAxOCAtMjkgMjUgLTQ0djBjLTcgMTUgLTE1IDMwIC0yNSA0NGgtMWMxMCAtMTQgMTkgLTI5IDI2IC00NGgtMjA1Yy00NCAwIC03OSAtMzIgLTg3IC03MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtY29kZXBlbi1vdXRsaW5lIiB1bmljb2RlPSImI3hmNGRjOyIgCitkPSJNMzU2IDI0NGM1IC0zIDcgLTYgNyAtMTJ2LTgxYzAgLTYgLTMgLTEwIC04IC0xM2MtNDEgLTI3IC04MiAtNTUgLTEyMyAtODJjLTYgLTQgLTExIC00IC0xNyAwYy00MSAyNyAtODEgNTUgLTEyMiA4MmMtNSAzIC04IDcgLTggMTN2ODBjMCA2IDMgMTEgOCAxNGM0MSAyNyA4MSA1NCAxMjIgODFjNiA0IDExIDQgMTcgMGM0MSAtMjcgODMgLTU1IDEyNCAtODJ6TTIzNiAyOTZ2LTU0YzAgLTEgMSAtMiAyIC0zYzE2IC0xMSAzMSAtMjEgNDcgLTMyCitjMSAtMSAzIC0xIDQgMGw0MCAyNnpNMjEyIDI5NWMwIDAgLTYyIC00MSAtOTMgLTYyYzE0IC05IDI3IC0xNyA0MCAtMjZjMSAtMSAzIC0xIDQgMGMxNSAxMCAzMSAyMSA0NiAzMWMxIDEgMyA0IDMgNnY1MXpNMTA5IDIxMXYtNDBsMzAgMjB6TTIxMiA4N3Y1M2MwIDEgLTIgMyAtMyA0Yy0xNSAxMCAtMzEgMjEgLTQ2IDMxYy0yIDEgLTMgMSAtNSAwbC0zOSAtMjZjMzEgLTIxIDkzIC02MiA5MyAtNjJ6TTIyNyAxNjVsMzkgMjZzLTM0IDIzIC00MCAyNworYy0xIDEgLTQgMCAtNSAtMWMtNSAtMyAtOSAtNiAtMTQgLTljLTggLTYgLTI1IC0xNyAtMjUgLTE3bDM5IC0yNmMyIC0xIDQgLTEgNiAwek0yMzYgODdsOTMgNjJsLTM4IDI2Yy0yIDIgLTUgMiAtNyAwYy0xNSAtMTAgLTMwIC0yMSAtNDUgLTMxYy0yIC0yIC0zIC0zIC0zIC02di01MXpNMzM4IDE3MXY0MGwtMzAgLTIwek0yMjQgMzg0Yy01MSAwIC0xMDAgLTIwIC0xMzYgLTU2cy01NiAtODUgLTU2IC0xMzZzMjAgLTEwMCA1NiAtMTM2CitzODUgLTU2IDEzNiAtNTZzMTAwIDIwIDEzNiA1NnM1NiA4NSA1NiAxMzZzLTIwIDEwMCAtNTYgMTM2cy04NSA1NiAtMTM2IDU2ek0yMjQgNDE2djBjMTI0IDAgMjI0IC0xMDAgMjI0IC0yMjRzLTEwMCAtMjI0IC0yMjQgLTIyNHMtMjI0IDEwMCAtMjI0IDIyNHMxMDAgMjI0IDIyNCAyMjR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWNvZGVwZW4iIHVuaWNvZGU9IiYjeGY0ZGQ7IiAKK2Q9Ik0yMDkgMTQ0YzEgLTEgMyAtMyAzIC00di01M3MtNjIgNDEgLTkzIDYybDM5IDI2YzIgMSAzIDEgNSAwYzE1IC0xMCAzMSAtMjEgNDYgLTMxek0xNjMgMjA3Yy0xIC0xIC0zIC0xIC00IDBjLTEzIDkgLTI2IDE3IC00MCAyNmMzMSAyMSA5MyA2MiA5MyA2MnYtNTFjMCAtMiAtMiAtNSAtMyAtNmMtMTUgLTEwIC0zMSAtMjEgLTQ2IC0zMXpNMjM4IDIzOWMtMSAxIC0yIDIgLTIgM3Y1NGw5MyAtNjNsLTQwIC0yNmMtMSAtMSAtMyAtMSAtNCAwCitjLTE2IDExIC0zMSAyMSAtNDcgMzJ6TTIyNiAyMThjNiAtNCA0MCAtMjcgNDAgLTI3bC0zOSAtMjZjLTIgLTEgLTQgLTEgLTYgMGwtMzkgMjZzMTcgMTEgMjUgMTdjNSAzIDkgNiAxNCA5YzEgMSA0IDIgNSAxek0xMDkgMjExbDMwIC0yMGwtMzAgLTIwdjQwek0yMjQgNDE2YzEyNCAwIDIyNCAtMTAwIDIyNCAtMjI0cy0xMDAgLTIyNCAtMjI0IC0yMjRzLTIyNCAxMDAgLTIyNCAyMjRzMTAwIDIyNCAyMjQgMjI0ek0zNjMgMTUxdjgxCitjMCA2IC0yIDkgLTcgMTJjLTQxIDI3IC04MyA1NSAtMTI0IDgyYy02IDQgLTExIDQgLTE3IDBjLTQxIC0yNyAtODEgLTU0IC0xMjIgLTgxYy01IC0zIC04IC04IC04IC0xNHYtODBjMCAtNiAzIC0xMCA4IC0xM2M0MSAtMjcgODEgLTU1IDEyMiAtODJjNiAtNCAxMSAtNCAxNyAwYzQxIDI3IDgyIDU1IDEyMyA4MmM1IDMgOCA3IDggMTN6TTI4NCAxNzVjMiAyIDUgMiA3IDBsMzggLTI2bC05MyAtNjJ2NTFjMCAzIDEgNCAzIDYKK2MxNSAxMCAzMCAyMSA0NSAzMXpNMzM4IDE3MWwtMzAgMjBsMzAgMjB2LTQweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1jc3MzLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0ZGU7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0yOTEgODFsLTk5IC0yOGwtOTggMjhsLTcgNzhoNDhsNCAtNDBsNTMgLTE1djB2MGw1NCAxNWw1IDY0aC0xMTJsLTQgNTBoMTIxbDQgNTFoLTE4NGwtNCA0OWgyNDF6TTAgNDE2aDM4NGwtMzUgLTQwM2wtMTU3IC00NWwtMTU3IDQ1ek0zMTkgMzdsMzAgMzQ3aC0zMTRsMzAgLTM0N2wxMjcgLTM2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1jc3MzIiB1bmljb2RlPSImI3hmNGRmOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMTkyIDEwOXYwek0wIDQxNmgzODRsLTM1IC00MDNsLTE1NyAtNDVsLTE1NyA0NXpNMjkxIDgxbDIyIDI1MmgtMjQxbDQgLTQ5aDE4NGwtNCAtNTFoLTEyMWw0IC01MGgxMTJsLTUgLTY0bC01NCAtMTV2MHYwbC01MyAxNWwtNCA0MGgtNDhsNyAtNzhsOTggLTI4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1kZXNpZ25lcm5ld3Mtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjIyYTsiIAorZD0iTTI1OSAzMDJ2LTUzbC02NSAxMDN6TTAgMTg4ek0yOTcgMzUybDE1MSAtMTE5di0yMDFoLTI0OGwtMjAwIDE1Nmg2M2M0NiAwIDc3IDMzIDc3IDgyYzAgMjAgLTUgMzcgLTE1IDUxbC0zIDNsMzcgLTI5di0xMDdoNDFsLTIgOThsNjMgLTk4aDM2djg0djgwek00MzIgNDh2MTc4bC0xMTkgOTJ2MXYtNDd2LTgzdi0xN2gtMTVoLTM3aC05bC00IDhsLTMzIDUwbDEgLTQydi0xNmgtMTZoLTQxaC0xNnYxNnYyOWMtMyAtNiAtNyAtMTIgLTEyIC0xNworYy04IC05IC0xOCAtMTYgLTMwIC0yMXMtMjQgLTcgLTM4IC03aC0xNmwxNTkgLTEyNGgyMjZ6TTU5IDI5OGgtMWgtM3YtNTdoNGM4IDAgMTMgMiAxNyA2YzUgNiA2IDE1IDYgMjJjMCAyNiAtMTIgMjkgLTIzIDI5ek01OSAzMTR2MGMyNSAwIDM5IC0xNiAzOSAtNDVjMCAtMjggLTE0IC00NCAtNDAgLTQ0aC0xOXY4OWgyMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtZGVzaWduZXJuZXdzIiB1bmljb2RlPSImI3hmMjJiOyIgCitkPSJNMjU4IDMwM2wxIC01M2wtNjQgMTAyek0yOTcgMzUybDE1MSAtMTE4di0yMDJoLTI0OGwtMjAwIDE1N3YwaDYzYzQ2IDAgNzcgMzMgNzcgODJjMCAyMCAtNSAzNyAtMTUgNTFsLTMgM2wzNyAtMjl2LTEwN2g0MGwtMiA5OWw2NCAtOTloMzZ2ODN2ODB6TTk4IDI3MGMwIC0yOCAtMTQgLTQ0IC00MCAtNDRoLTE5djg5aDE5YzI2IDAgNDAgLTE2IDQwIC00NXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtZHJpYmJibGUtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjIyYzsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTE5MiAzODRjMTA2IDAgMTkyIC04NiAxOTIgLTE5MnMtODYgLTE5MiAtMTkyIC0xOTJzLTE5MiA4NiAtMTkyIDE5MnM4NiAxOTIgMTkyIDE5MnpNMzE0IDI5NmMtMTcgLTI1IC00NyAtNDcgLTg1IC02NGM1IC0xMCA5IC0yMCAxMyAtMzFjMzMgMyA3NSA0IDExMCAyYy0yIDM1IC0xNiA2OCAtMzggOTN6TTE5MiAzNTJjLTE0IDAgLTI2IC0yIC0zOSAtNWMyMyAtMjMgNDMgLTUzIDYyIC04N2MzNCAxNCA2MiAzMyA3OSA1NQorYy0yOCAyMyAtNjMgMzcgLTEwMiAzN3pNMTIwIDMzNGMtNDEgLTIxIC03MSAtNTggLTgzIC0xMDNoMjVjNDQgMCA4NSA2IDEyMSAxN2MtMTkgMzQgLTQwIDYzIC02MyA4NnpNMzIgMjAwdi04YzAgLTQwIDE1IC03OCA0MCAtMTA2YzI0IDQ1IDY3IDgzIDEyMiAxMDZjNCAyIDggMyAxNCA0Yy0zIDggLTYgMTYgLTEwIDI0Yy00MCAtMTMgLTg4IC0yMCAtMTM4IC0yMWMtOSAwIC0xOSAxIC0yOCAxek0xOTIgMzJjMjAgMCAzOSAzIDU3IDEwCitjLTMgMjUgLTggNTMgLTE1IDc5Yy00IDE3IC0xMCAzMyAtMTYgNDljLTcgLTIgLTEzIC00IC0xNyAtNmMtNDggLTIyIC04NiAtNTYgLTEwNyAtOThjMjcgLTIxIDYxIC0zNCA5OCAtMzR6TTI3OCA1OGM0MCAyNiA2OCA2NyA3MyAxMTZjLTMwIDIgLTY4IDMgLTk5IDBjNCAtMTIgOSAtMjUgMTIgLTM4YzcgLTI3IDExIC01MiAxNCAtNzh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWRyaWJiYmxlIiB1bmljb2RlPSImI3hmMjJkOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMTkyIDM4NGMxMDYgMCAxOTIgLTg2IDE5MiAtMTkycy04NiAtMTkyIC0xOTIgLTE5MnMtMTkyIDg2IC0xOTIgMTkyczg2IDE5MiAxOTIgMTkyek0xOTIgMzJjODggMCAxNjAgNzIgMTYwIDE2MHMtNzIgMTYwIC0xNjAgMTYwcy0xNjAgLTcyIC0xNjAgLTE2MHM3MiAtMTYwIDE2MCAtMTYwek0yNDIgMjAxYy00IDExIC04IDIxIC0xMyAzMWMyNSAxMSA0NyAyNCA2MyAzOWMxNSAtMTkgMjYgLTQyIDI4IC02N2MtMjYgMCAtNTUgLTEgLTc4IC0zegorTTI3MSAyOTJjLTE1IC0xMiAtMzQgLTIzIC01NiAtMzJjLTEyIDIyIC0yNCA0MSAtMzggNTljNSAxIDEwIDEgMTUgMWMzMCAwIDU3IC0xMSA3OSAtMjh6TTE0MiAzMTBjMTUgLTE4IDI4IC0zOSA0MSAtNjJjLTM0IC0xMCAtNzIgLTE2IC0xMTMgLTE3YzExIDM2IDM4IDY1IDcyIDc5ek0zMTkgMTc2Yy00IC0zMyAtMjEgLTYzIC00NiAtODNjLTMgMTQgLTUgMjggLTkgNDNjLTMgMTMgLTggMjYgLTEyIDM4YzIxIDIgNDUgMyA2NyAyek0xOTQgMTkyCitjLTQzIC0xOCAtNzkgLTQ2IC0xMDQgLTc4Yy0xNiAyMiAtMjYgNDkgLTI2IDc4djdjNDkgMSA5NSA4IDEzNCAyMWM0IC04IDcgLTE2IDEwIC0yNGMtNiAtMSAtMTAgLTIgLTE0IC00ek0yMTkgMTcwYzYgLTE2IDExIC0zMiAxNSAtNDljNCAtMTUgNyAtMzEgMTAgLTQ2Yy0xNiAtNyAtMzQgLTExIC01MiAtMTFjLTMxIDAgLTU5IDExIC04MSAyOWMyMiAzMCA1MyA1NCA5MCA3MWM0IDIgMTEgNCAxOCA2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1kcm9wYm94LW91dGxpbmUiIHVuaWNvZGU9IiYjeGYyMmU7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xMTMgMzcxbDc5IC02NmwtMTE0IC03MWwtNzggNjN6TTI3IDI5NWw1MiAtNDJsODYgNTNsLTUzIDQ2ek0zMDYgMjM1bDc4IC02M2wtNzggLTUxdi0zOWwtMTE0IC02OWwtMTE0IDY4djM5bC03OCA1Mmw3OCA2M2wxMTQgLTcxbC03OSAtNjZsLTE5IDEydi0yMGw5OCAtNTlsOTggNTl2MjBsLTE5IC0xMmwtNzkgNjZ6TTc5IDIxN2wtNTIgLTQ0bDg1IC01NWw1MyA0NHpNMjE5IDE2Mmw1MyAtNDRsODUgNTZsLTUyIDQzek0zODQgMjk3CitsLTc4IC02M2wtMTE0IDcxbDc5IDY2ek0yMTkgMzA1bDg2IC01Mmw1MiA0MmwtODUgNTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWRyb3Bib3giIHVuaWNvZGU9IiYjeGYyMmY7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xMTMgMzcxbDc5IC02NmwtMTE0IC03MWwtNzggNjN6TTAgMTcybDc4IDYybDExNCAtNzBsLTc5IC02NnpNMTkyIDE2NGwxMTQgNzBsNzggLTYybC0xMTMgLTc0ek0zODQgMjk3bC03OCAtNjNsLTExNCA3MWw3OSA2NnpNMTkyIDE1MGw4MCAtNjZsMzQgMjJ2LTI1bC0xMTQgLTY4bC0xMTQgNjh2MjVsMzQgLTIyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1ldXJvLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0ZTA7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0yMTQgMzg0Yy01MyAwIC05MSAtOSAtMTE1IC0yN2MtMjIgLTE2IC0zMyAtNDAgLTMzIC03NHYtMTF2LTE3aC0xNmgtMzR2LTE2aDM0aDE2di0xNXYtNDh2LTE3aC0xNmgtMzR2LTE2aDM0aDE2di0xNXYtMjdjMCAtMzQgMTEgLTU4IDMzIC03NGMyNCAtMTggNjIgLTI3IDExNSAtMjdjMzEgMCA1OSAyIDg4IDhsLTUgMzVjLTMwIC00IC01NSAtNyAtODAgLTdjLTM2IDAgLTU5IDYgLTc0IDE5Yy0xOSAxNiAtMjEgNDAgLTIxIDYwdjEzdjE1aDE2CitoMTAzbDMgMTZoLTEwNmgtMTZ2MTd2NDh2MTVoMTZoMTE4bDIgMTZoLTEyMGgtMTZ2MTd2MmMwIDE2IDIgMzkgMjEgNTVjMTYgMTMgMzkgMTkgNzQgMTljMjQgMCA1MSAtMyA4MCAtN2w1IDM1Yy0yOSA2IC01NyA4IC04OCA4ek0yMTQgNDAwdjBjMzUgMCA2OCAtMyAxMDYgLTEybC05IC02NWMtMzcgNiAtNjggOSAtOTQgOWMtNjQgMCAtNzkgLTIyIC03OSAtNTh2LTNoMTM5bC04IC00OGgtMTMxdi00OGgxMjRsLTcgLTQ4aC0xMTd2LTEyCitjMCAtNDQgMTUgLTYzIDc5IC02M2MyNiAwIDU3IDMgOTQgOWw5IC02NWMtMzggLTkgLTcxIC0xMiAtMTA2IC0xMmMtMTE1IDAgLTE2NCA0MSAtMTY0IDExN3YyNmgtNTB2NDhoNTB2NDhoLTUwdjQ4aDUwdjEyYzAgNzYgNDkgMTE3IDE2NCAxMTd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWV1cm8iIHVuaWNvZGU9IiYjeGY0ZTE7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0xMzggMTc2aDEyNGwtNyAtNDhoLTExN3YtMTNjMCAtNDQgMTUgLTYzIDc5IC02M2MyNiAwIDU2IDMgOTMgOWwxMCAtNjVjLTM4IC05IC03MSAtMTIgLTEwNiAtMTJjLTExNSAwIC0xNjQgNDEgLTE2NCAxMTd2MjdoLTUwdjQ4aDUwdjQ4aC01MHY0OGg1MHYxMWMwIDc2IDQ5IDExNyAxNjQgMTE3YzM1IDAgNjggLTMgMTA2IC0xMmwtMTAgLTY1Yy0zNyA2IC02NyA5IC05MyA5Yy02NCAwIC03OSAtMjIgLTc5IC01OHYtMmgxMzhsLTcgLTQ4CitoLTEzMXYtNDh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWZhY2Vib29rLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYyMzA7IiBob3Jpei1hZHYteD0iMTkyIiAKK2Q9Ik0xMjggMjU2aDY0bC04IC02NGgtNTZ2LTE5MmgtODN2MTkyaC00NXY2NGg0NXY0M2MwIDU0IDIzIDg1IDkxIDg1aDU2di02NGgtMzRjLTI3IDAgLTMwIC05IC0zMCAtMjZ2LTM4ek0xNzAgMjA4bDQgMzJoLTQ1aC0xN3YxN3YzN2MwIDEwIDEgMjEgOSAzMGMxMCAxMSAyNSAxMiAzNyAxMmgxOHYzMmgtNDBjLTI4IDAgLTQ5IC02IC02MCAtMThjLTEwIC0xMSAtMTUgLTI3IC0xNSAtNTF2LTQzdi0xNmgtMTVoLTMwdi0zMmgzMGgxNXYtMTYKK3YtMTc2aDUxdjE3NnYxNmgxN2g0MXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtZmFjZWJvb2siIHVuaWNvZGU9IiYjeGYyMzE7IiBob3Jpei1hZHYteD0iMTkyIiAKK2Q9Ik0xMjggMjU2aDY0bC04IC02NGgtNTZ2LTE5MmgtODN2MTkyaC00NXY2NGg0NXY0M2MwIDU0IDIzIDg1IDkxIDg1aDU2di02NGgtMzRjLTI3IDAgLTMwIC05IC0zMCAtMjZ2LTM4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1mb3Vyc3F1YXJlLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzNGM7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0zMDIgMjg0Yy0xMiAtNjAgLTI1IC0xMzEgLTI3IC0xMzh6TTI4MSA0MTZjMzUgMCA0NSAtMjAgMzcgLTU3Yy0zIC0xNiAtMTAgLTQ0IC0xNiAtNzVsLTI3IC0xMzdjLTMgLTEzIC04IC0zNSAtMzkgLTM1aC03MmMtMyAwIC0zIDAgLTYgLTNjLTIgLTIgLTExNSAtMTMzIC0xMTUgLTEzM2MtOSAtMTAgLTIzIC04IC0yOCAtNnMtMTUgOCAtMTUgMjZ2MzgwczEwIDQwIDQzIDQwaDIzOHpNMjgwIDM1MmM2IDMxIDYgMzIgLTI0IDMyaC0xOTUKK2MtMjkgMCAtMjkgLTMgLTI5IC0yOHYtMjk3YzAgLTM4IDEgLTM4IDMgLTM4czEwIDggMjkgMzFjMCAwIDc4IDg5IDc5IDkwYzIgMiAzIDIgNiAyaDYyYzI2IDAgMjggNiAzMyAzMWM0IDIxIDM2IDE3NyAzNiAxNzd6TTMwMiAyODRjNiAzMSAxMyA1OSAxNiA3NXpNMjMzIDM1MmM1IDAgOSAtNSA4IC0xMWwtOCAtNDRjLTEgLTQgLTYgLTkgLTExIC05aC03NWMtOCAwIC04IC01IC04IC0xM3YtNmMwIC04IDAgLTEzIDggLTEzaDY0CitzMTEgLTYgMTAgLTEycy0xMSAtNTEgLTEyIC01NHMtNCAtOSAtMTEgLTloLTYyYy05IDAgLTExIC0xIC0xNyAtOGwtNTQgLTYzYy0xIC0xIC0xIC0xIC0xIDB2MjMxYzAgNSA1IDExIDExIDExaDE1OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtZm91cnNxdWFyZSIgdW5pY29kZT0iJiN4ZjM0ZDsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTI4MSA0MTZjMzUgMCA0NSAtMjAgMzcgLTU3Yy0xMCAtNDkgLTQwIC0yMDIgLTQzIC0yMTNjLTMgLTEzIC04IC0zNCAtMzkgLTM0aC03MmMtMyAwIC0zIDAgLTYgLTNjLTIgLTIgLTExNSAtMTMzIC0xMTUgLTEzM2MtOSAtMTAgLTIzIC04IC0yOCAtNnMtMTUgOCAtMTUgMjZ2MzgwczEwIDQwIDQzIDQwaDIzOHpNMjc1IDE0NmMzIDExIDMzIDE2NCA0MyAyMTN6TTI2NyAzNTFjMiA5IC01IDE2IC0xMiAxNmgtMTkxCitjLTkgMCAtMTUgLTggLTE1IC0xNXYtMjk2YzAgLTEgMSAtMSAyIDBjMCAwIDcwIDg0IDc4IDk0czExIDExIDIzIDExaDY0YzkgMCAxNCA4IDE1IDEyczggNDMgMTAgNTFzLTYgMTYgLTEzIDE2aC04MmMtMTAgMCAtMTggOCAtMTggMTh2MTNjMCAxMCA4IDE3IDE4IDE3aDk2czE0IDYgMTUgMTJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWZyZWVic2QtZGV2aWwiIHVuaWNvZGU9IiYjeGYyYzQ7IiBob3Jpei1hZHYteD0iNTEyIiAKK2Q9Ik01MDMgMzMzYzE5IC0zNyA4IC04MSAtMjAgLTEwOHMtNjAgLTMzIC02MCAtMzNjMiAtMzIgMTYgLTU5IC00MSAtMTAyYy00MyAtMzIgMiAtOTAgMiAtOTBjMTAgLTE0IDIzIC0xOSAzMiAtMzJoLTI3MnMxNSAxNCAtNyAzMmMwIDAgLTIwIDE3IC0xOCAyOXM2IDEzIDkgMTVzMCA3IDAgN2wtMTkgMTlzLTEzIC0xMyAtNDQgLTEzYy0zOCAwIC02NSAzOSAtNjUgMzloNDZzLTYgLTggLTcgLTEzYy0xIC00IDEgLTUgMSAtNXMxMSAtNiAyMiAtNgorYzE3IDAgMzMgMTIgMzMgMTJsLTI0IDIybC0xNSAtNGwtMTYgMzdsMzkgLTEwbC0xIC0xNWwyOCAtMThzOSA5IDcgMjdzLTkgMjYgLTkgMjZzLTQgMCAtOSAtNHMtNiAtNiAtNiAtNmwtMTAgNDRzNDMgLTE5IDUwIC02M2MzIC0yMCAtNiAtMzUgLTYgLTM1bDE3IC0xMHM2IDUgMTcgN3MyMyAyIDI5IC04czUgLTEyIDQgLTE5czAgLTkgNiAtMTFzNiAtNiAxMSAtOHMxNSAtNiAyMSAtMnM4IDExIDggMTh2MTZzLTkgOCAtMzIgMjAKK3MtNTQgMjIgLTY2IDQwcy0xMiA0NCAwIDU3YzkgMTAgMjMgMjUgMjYgMzVjNCAxNCA0IDQyIDQgNDJzLTEwIDE2IC04IDQwYzIgMzAgMjIgODQgOTYgMTE0YzAgMCAtNDAgLTU1IC0yMCAtODBjMCAwIDM3IDExIDc3IDljMzEgLTIgNTYgLTEyIDczIC0yOHMyNSAtMjMgNDcgLTE3czI4IDE3IDI4IDMzYzAgMTkgLTE2IDUxIC0xNiA1MXMzNiAtNyA1OCAtNTF6TTE5NSAyNDVjMTQgNCAyMSAtMTEgMjEgLTExYzE0IDI1IDMwIDYwIDIyIDY0CitzLTY0IC0yNSAtNjYgLTg4YzAgMCA2IDMxIDIzIDM1ek0yMzIgMjMwYzUgNyAzNCA4IDM3IC0xN2M0IC0zNSAtMjQgLTU3IC0yNCAtNTdzNyAtMiAyMyAyYzE3IDQgNDMgMjkgNDMgNzBzLTIxIDY2IC00MSA2MnMtMzggLTYwIC0zOCAtNjB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWdpdGh1Yi1vdXRsaW5lIiB1bmljb2RlPSImI3hmMjMyOyIgCitkPSJNMjI0IDQxNmMxMjQgMCAyMjQgLTEwMyAyMjQgLTIzMGMwIC0xMDEgLTY0IC0xODggLTE1MyAtMjE4aC00Yy04IDAgLTEyIDcgLTEyIDEyYzAgOCAxIDMxIDEgNjJjMCAyMSAtOCAzNiAtMTYgNDNjNTAgNiAxMDMgMjUgMTAzIDExM2MwIDI1IC05IDQ2IC0yMyA2MmMyIDYgMTAgMjkgLTIgNjFoLTVjLTggMCAtMjcgLTMgLTU3IC0yNGMtMTggNSAtMzcgOCAtNTYgOHMtMzggLTMgLTU2IC04Yy0zMCAyMSAtNDkgMjQgLTU3IDI0aC01CitjLTEyIC0zMiAtNCAtNTUgLTIgLTYxYy0xNCAtMTYgLTIzIC0zNyAtMjMgLTYyYzAgLTg4IDUyIC0xMDcgMTAyIC0xMTNjLTYgLTYgLTEyIC0xNiAtMTQgLTMxYy02IC0zIC0xNiAtNiAtMjYgLTZjLTEzIDAgLTI4IDUgLTM5IDI1YzAgMCAtMTMgMjIgLTM1IDI0djBjLTIgMCAtMjEgMCAtMSAtMTRjMCAwIDE1IC04IDI1IC0zNGMwIDAgMTAgLTMzIDUzIC0zM2M3IDAgMTQgMCAyMiAydi0zOWMwIC01IC0zIC0xMSAtMTEgLTExaC00CitjLTg5IDMwIC0xNTMgMTE2IC0xNTMgMjE4YzAgMTI3IDEwMCAyMzAgMjI0IDIzMHpNMTQ2IC0wYy0xNSAwIC0yOCA0IC0zOCA5YzE0IC0xMCAyOCAtMTcgNDQgLTIzdjZ2OGgtNnpNMTU3IDczYy0xNiA0IC0zNSAxMCAtNTIgMjRjNiAtNiAxMSAtMTEgMTMgLTE2YzcgLTEyIDE0IC0xNyAyNSAtMTdjNCAwIDkgMSAxMiAyYzEgMiAxIDUgMiA3ek0zNDcgMTRjMTcgMTMgMzIgMjggNDUgNDZjMjYgMzcgNDAgODAgNDAgMTI2CitjMCAyOSAtNSA1OCAtMTYgODRjLTEwIDI1IC0yNiA0OCAtNDUgNjhzLTQxIDM0IC02NiA0NWMtMjYgMTEgLTUzIDE3IC04MSAxN3MtNTUgLTYgLTgxIC0xN2MtMjUgLTExIC00NyAtMjUgLTY2IC00NXMtMzUgLTQyIC00NSAtNjhjLTExIC0yNiAtMTYgLTU1IC0xNiAtODRjMCAtNDYgMTQgLTg5IDQwIC0xMjZjMTAgLTE0IDIyIC0yNyAzNSAtMzhjLTcgOCAtMTEgMTYgLTEzIDIyYy03IDE4IC0xNSAyNCAtMTcgMjVoLTJ2MQorYy01IDMgLTIwIDEzIC0xNSAyOGMzIDkgMTIgMTUgMjUgMTVoMXYwdjBjMTMgLTEgMjQgLTYgMzIgLTEzYy0yMSAxOSAtMzcgNDggLTM3IDk4YzAgMjQgNyA0NyAyMSA2NmMtMyAxMyAtNiAzNCA1IDYybDMgOGw3IDJjMiAwIDUgMSAxMCAxYzEyIDAgMzEgLTMgNjAgLTIyYzE3IDQgMzUgNiA1MyA2djB2MGMxOCAwIDM2IC0yIDUzIC02YzI5IDE5IDQ4IDIyIDYwIDIyYzUgMCA4IC0xIDEwIC0xbDcgLTJsMyAtN2MxMSAtMjcgOCAtNTAgNSAtNjMKK2MxNCAtMTkgMjEgLTQxIDIxIC02NmMwIC05MiAtNTUgLTExNyAtOTIgLTEyNWMzIC04IDUgLTE4IDUgLTMwdi01MXYtNmMxOCA3IDM1IDE2IDUxIDI4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1naXRodWIiIHVuaWNvZGU9IiYjeGYyMzM7IiAKK2Q9Ik0yMjQgNDE2YzEyNCAwIDIyNCAtMTAzIDIyNCAtMjMwYzAgLTEwMSAtNjQgLTE4OCAtMTUzIC0yMThoLTRjLTggMCAtMTIgNyAtMTIgMTJjMCA4IDEgMzEgMSA2MmMwIDIxIC04IDM2IC0xNiA0M2M1MCA2IDEwMyAyNSAxMDMgMTEzYzAgMjUgLTkgNDYgLTIzIDYyYzIgNiAxMCAyOSAtMiA2MWgtNWMtOCAwIC0yNyAtMyAtNTcgLTI0Yy0xOCA1IC0zNyA4IC01NiA4cy0zOCAtMyAtNTYgLThjLTMwIDIxIC00OSAyNCAtNTcgMjRoLTUKK2MtMTIgLTMyIC00IC01NSAtMiAtNjFjLTE0IC0xNiAtMjMgLTM3IC0yMyAtNjJjMCAtODggNTIgLTEwNyAxMDIgLTExM2MtNiAtNiAtMTIgLTE2IC0xNCAtMzFjLTYgLTMgLTE2IC02IC0yNiAtNmMtMTMgMCAtMjggNSAtMzkgMjVjMCAwIC0xMyAyMiAtMzUgMjR2MGMtMiAwIC0yMSAwIC0xIC0xNGMwIDAgMTUgLTggMjUgLTM0YzAgMCAxMCAtMzMgNTMgLTMzYzcgMCAxNCAwIDIyIDJ2LTM5YzAgLTUgLTMgLTExIC0xMSAtMTFoLTQKK2MtODkgMzAgLTE1MyAxMTYgLTE1MyAyMThjMCAxMjcgMTAwIDIzMCAyMjQgMjMweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1nb29nbGUtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjM0ZTsiIGhvcml6LWFkdi14PSIyNTYiIAorZD0iTTE5MSAzNjZjMTIgLTEwIDM3IC0zMCAzNyAtNjhjMCAtMzcgLTIxIC01NSAtNDMgLTcyYy03IC03IC0xNSAtMTMgLTE1IC0yNHM4IC0xNyAxNCAtMjJsMTggLTE0YzIzIC0xOSA0MyAtMzYgNDMgLTcxYzAgLTQ3IC00NyAtOTUgLTEzNSAtOTVjLTc0IDAgLTExMCAzNSAtMTEwIDcyYzAgMTggMTAgNDQgNDAgNjJjMzIgMTkgNzUgMjEgOTggMjNjLTcgOSAtMTYgMTggLTE2IDM0YzAgOSAyIDE0IDUgMjBjLTYgMCAtMTEgLTEgLTE2IC0xCitjLTU0IDAgLTg1IDQwIC04NSA3OWMwIDIzIDExIDQ4IDMzIDY3YzI5IDI0IDYzIDI4IDkxIDI4aDEwNmwtMzMgLTE4aC0zMnpNMTU1IDE0MmMtNCAxIC03IDEgLTEyIDFzLTMyIC0xIC01NCAtOGMtMTEgLTQgLTQ0IC0xNiAtNDQgLTUyczM2IC02MiA5MSAtNjJjNDkgMCA3NSAyNCA3NSA1NWMwIDI2IC0xNyAzOSAtNTYgNjZ6TTE3MCAyMzhjMTIgMTIgMTMgMjggMTMgMzdjMCAzNiAtMjIgOTIgLTY1IDkyYy0xMyAwIC0yOCAtNiAtMzYgLTE2CitjLTkgLTExIC0xMSAtMjUgLTExIC0zOGMwIC0zNCAyMCAtODkgNjQgLTg5YzEzIDAgMjcgNiAzNSAxNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtZ29vZ2xlIiB1bmljb2RlPSImI3hmMzRmOyIgaG9yaXotYWR2LXg9IjI4OCIgCitkPSJNMjEwIDE3MmMyMiAtMTggNDUgLTM2IDQ1IC03M2MwIC00OSAtNDggLTk5IC0xNDAgLTk5Yy04MCAwIC0xMTUgMzkgLTExNSA3N2MwIDEwIDMgNDIgNDIgNjVjMjcgMTYgNjEgMjAgODUgMjJjLTQgNyAtOCAxNiAtOCAyN2MwIDQgMCA3IDEgMTBoLTRjLTE5IDAgLTQ2IDQgLTY3IDI2Yy0xNSAxNSAtMjQgMzYgLTI0IDU3YzAgMjYgMTMgNTMgMzUgNzF2MGMzMiAyNSA3MCAyOSA5NSAyOWgxMzNsLTYwIC0zM2gtMTMKK2MxMSAtMTMgMjMgLTMxIDIzIC01OGMwIC00MCAtMjUgLTU5IC00NSAtNzR2LTFjLTYgLTYgLTExIC0xMCAtMTEgLTE3YzAgLTYgNCAtMTAgMTAgLTE1djB6TTg1IDMwOGMwIC0xMyA0IC0zMyAxNCAtNTFjNyAtMTIgMjAgLTI3IDQxIC0yN2MxMCAwIDIxIDQgMjggMTFjMTAgMTAgMTAgMjUgMTAgMzBjMCAxOCAtNiAzOCAtMTUgNTRjLTcgMTMgLTIwIDI3IC00MCAyN2MtMTEgMCAtMjIgLTUgLTI5IC0xM2MtNiAtNyAtOSAtMTggLTkgLTMxegorTTIwNiA4MGMwIDIwIC0xMyAzMSAtNTAgNTZjLTMgMCAtNCAxIC04IDFjLTYgMCAtMzIgLTIgLTUxIC04Yy0xNiAtNiAtMzcgLTE2IC0zNyAtNDJjMCAtMzEgMzIgLTUxIDgwIC01MWM0MSAwIDY2IDE3IDY2IDQ0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1nb29nbGVwbHVzLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYyMzQ7IiAKK2Q9Ik0xOTIgMzY2YzEyIC0xMCAzNiAtMzAgMzYgLTY4YzAgLTM3IC0yMSAtNTUgLTQzIC03MmMtNyAtNyAtMTUgLTEzIC0xNSAtMjRzOCAtMTggMTQgLTIybDE4IC0xNGMyMyAtMTkgNDMgLTM2IDQzIC03MWMwIC00NyAtNDcgLTk1IC0xMzUgLTk1Yy03NCAwIC0xMTAgMzUgLTExMCA3MmMwIDE4IDEwIDQ0IDQwIDYyYzMyIDE5IDc1IDIxIDk4IDIzYy03IDkgLTE2IDE4IC0xNiAzNGMwIDkgMyAxNCA1IDIwYy02IDAgLTExIC0xIC0xNiAtMQorYy01NCAwIC04NSA0MCAtODUgNzljMCAyMyAxMCA0OCAzMiA2N2MyOSAyNCA2NCAyOCA5MiAyOGgxMDZsLTMzIC0xOGgtMzF6TTE1NSAxNDJjLTQgMCAtNyAxIC0xMiAxcy0zMiAtMSAtNTQgLThjLTExIC00IC00NCAtMTYgLTQ0IC01MnMzNiAtNjIgOTEgLTYyYzQ5IDAgNzUgMjQgNzUgNTVjMCAyNiAtMTcgMzkgLTU2IDY2ek0xNzAgMjM4YzEyIDEyIDEzIDI4IDEzIDM3YzAgMzYgLTIyIDkyIC02NSA5MmMtMTMgMCAtMjggLTYgLTM2IC0xNgorYy05IC0xMSAtMTEgLTI0IC0xMSAtMzdjMCAtMzQgMjAgLTkwIDY0IC05MGMxMyAwIDI3IDYgMzUgMTR6TTQ0OCAzMDZ2LTE4aC03OHYtODFoLTE4djgxaC04MHYxOGg4MHY3OGgxOHYtNzhoNzh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWdvb2dsZXBsdXMiIHVuaWNvZGU9IiYjeGYyMzU7IiAKK2Q9Ik0yMTAgMTcyYzIyIC0xOCA0NSAtMzYgNDUgLTczYzAgLTQ5IC00NyAtOTkgLTEzOSAtOTljLTgwIDAgLTExNiAzOSAtMTE2IDc3YzAgMTAgMyA0MiA0MiA2NWMyNyAxNiA2MSAyMSA4NSAyM2MtNCA3IC04IDE1IC04IDI2YzAgNCAwIDcgMSAxMGgtNGMtMTkgMCAtNDYgNCAtNjcgMjZjLTE1IDE1IC0yNCAzNiAtMjQgNTdjMCAyNiAxMyA1MyAzNSA3MXYwYzMyIDI1IDY5IDI5IDk0IDI5aDEzNGwtNjAgLTMzaC0xMworYzExIC0xMyAyMyAtMzEgMjMgLTU4YzAgLTQwIC0yNSAtNTkgLTQ1IC03NHYtMWMtNiAtNiAtMTEgLTEwIC0xMSAtMTdjMCAtNiA0IC0xMCAxMCAtMTV2MHpNODUgMzA4YzAgLTEzIDQgLTMzIDE0IC01MWM3IC0xMiAyMSAtMjcgNDEgLTI3YzEwIDAgMjEgNCAyOCAxMWMxMCAxMCAxMCAyNSAxMCAzMGMwIDE4IC02IDM3IC0xNSA1M2MtOCAxMyAtMjAgMjggLTQwIDI4Yy0xMSAwIC0yMyAtNSAtMjkgLTEzYy02IC03IC05IC0xOCAtOSAtMzF6CitNMjA2IDgwYzAgMjAgLTEzIDMxIC01MCA1NmMtMyAwIC00IDEgLTggMWMtNiAwIC0zMSAtMiAtNTAgLThjLTE2IC02IC0zOCAtMTYgLTM4IC00MmMwIC0zMSAzMiAtNTEgODAgLTUxYzQxIDAgNjYgMTcgNjYgNDR6TTM3MCAzMDZoNzh2LTM0aC03OHYtODFoLTM0djgxaC04MHYzNGg4MHY3OGgzNHYtNzh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWhhY2tlcm5ld3Mtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjIzNjsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM1MiAzNTJoLTMyMHYtMzIwaDMyMHYzMjB6TTM4NCAzODR2MHYtMzg0aC0zODR2Mzg0aDM4NHpNMjMzIDI4OWg0NWwtNjQgLTEyMHYtNzJoLTQwdjcybC02NiAxMjBoNDdsNDAgLTg0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1oYWNrZXJuZXdzIiB1bmljb2RlPSImI3hmMjM3OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMCAzODRoMzg0di0zODRoLTM4NHYzODR6TTIxNCAxNjlsNjQgMTIwaC00NWwtMzggLTg0bC00MCA4NGgtNDdsNjYgLTEyMHYtNzJoNDB2NzJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWh0bWw1LW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0ZTI7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0wIDQxNmgzODRsLTM1IC00MDNsLTE1NyAtNDVsLTE1NyA0NXpNMzE5IDM3bDMwIDM0N2gtMzE0bDMwIC0zNDdsMTI3IC0zNnpNODQgMTg0bC0xMyAxNTBoMjQxbC00IC01MGgtMTg0bDQgLTUxaDE3NmwtMTQgLTE1MWwtOTggLTI4bC05OSAyOGwtNiA3N2g0OGwzIC0zOWw1NCAtMTVsNTMgMTVsNiA2NGgtMTY3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1odG1sNSIgdW5pY29kZT0iJiN4ZjRlMzsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTAgNDE2aDM4NGwtMzUgLTQwM2wtMTU3IC00NWwtMTU3IDQ1ek0zMDggMjg0bDQgNTBoLTI0MWwxMyAtMTUwaDE2N2wtNiAtNjRsLTUzIC0xNWwtNTQgMTVsLTMgMzloLTQ4bDYgLTc4bDk5IC0yN2w5OCAyOGwxNCAxNTFoLTE3NmwtNCA1MWgxODR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWluc3RhZ3JhbS1vdXRsaW5lIiB1bmljb2RlPSImI3hmMzUwOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzg0IDMzNnYtMjg5YzAgLTI2IC0yMiAtNDcgLTQ4IC00N2gtMjg4Yy0yNiAwIC00OCAyMSAtNDggNDd2Mjg5YzAgMjYgMjIgNDggNDggNDhoMjg4YzI2IDAgNDggLTIyIDQ4IC00OHpNMTkyIDI3MmMtNDQgMCAtODAgLTM2IC04MCAtODBzMzYgLTgwIDgwIC04MHM4MCAzNiA4MCA4MHMtMzYgODAgLTgwIDgwek0zNTIgMjg4djQ4YzAgOSAtNyAxNiAtMTYgMTZoLTQ4Yy05IDAgLTE2IC03IC0xNiAtMTZ2LTQ4YzAgLTkgNyAtMTYgMTYgLTE2CitoNDhjOSAwIDE2IDcgMTYgMTZ6TTMzNyAzMmM5IDAgMTUgNyAxNSAxNnYxNzZoLTUyYzMgLTEwIDQgLTIxIDQgLTMyYzAgLTMwIC0xMSAtNTggLTMyIC03OXMtNTAgLTMzIC04MCAtMzNzLTU4IDEyIC03OSAzM3MtMzMgNDkgLTMzIDc5YzAgMTEgMiAyMiA1IDMyaC01M3YtMTc2YzAgLTkgOCAtMTYgMTcgLTE2aDI4OHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtaW5zdGFncmFtIiB1bmljb2RlPSImI3hmMzUxOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMTEyIDE5MmMwIDUzIDI3IDgwIDgwIDgwczgwIC0yNyA4MCAtODBzLTI3IC04MCAtODAgLTgwcy04MCAyNyAtODAgODB6TTExMyAyNzFjLTE0IC0xNCAtMjMgLTI5IC0yOCAtNDdoLTg1djExMmMwIDEzIDQgMjUgMTQgMzRzMjIgMTQgMzUgMTRoMjg4YzEzIDAgMjQgLTUgMzMgLTE0czE0IC0yMSAxNCAtMzR2LTExMmgtODRjLTUgMTggLTE0IDMzIC0yOCA0N2MtMjIgMjIgLTQ5IDMzIC04MCAzM3MtNTcgLTExIC03OSAtMzN6TTM1MiAzMDAKK3YzOWMwIDQgLTIgNyAtNCA5cy01IDQgLTkgNGgtMzhjLTQgMCAtNyAtMiAtOSAtNHMtNCAtNSAtNCAtOXYtMzljMCAtNCAyIC03IDQgLTlzNSAtMyA5IC0zaDM4YzQgMCA3IDEgOSAzczQgNSA0IDl6TTI3MiAxMTNjMjIgMjIgMzIgNDggMzIgNzloODB2LTE0NGMwIC0xMyAtNSAtMjQgLTE0IC0zNHMtMjAgLTE0IC0zMyAtMTRoLTI4OGMtMTMgMCAtMjQgNCAtMzQgMTRzLTE1IDIxIC0xNSAzNHYxNDRoODFjMCAtMzEgMTAgLTU3IDMyIC03OQorczQ4IC0zMyA3OSAtMzNzNTggMTEgODAgMzN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWphdmFzY3JpcHQtb3V0bGluZSIgdW5pY29kZT0iJiN4ZjRlNDsiIAorZD0iTTE2MCAzNDRoLTQ4di0xOTZjMCAtMzAgLTYgLTUwIC0xNyAtNjRjLTExIC0xMyAtMjYgLTIwIC00OCAtMjBjLTkgMCAtMTggMSAtMjUgMmwtNCAtMzBjMTEgLTIgMjUgLTQgMzcgLTRjMzQgMCA1OSA4IDc2IDI1YzE5IDE4IDI5IDQ4IDI5IDkwdjE5N3pNMTc2IDM2MHYwdi0yMTNjMCAtOTcgLTQ5IC0xMzEgLTEyMSAtMTMxYy0xOCAwIC00MCAzIC01NSA4bDggNjJjMTAgLTQgMjQgLTYgMzkgLTZjMzEgMCA0OSAxNSA0OSA2OHYyMTJoODB6CitNMzUwIDM1MmMtMzQgMCAtNjIgLTkgLTgyIC0yNmMtMTkgLTE1IC0yOCAtMzYgLTI4IC02MGMwIC0yMCA3IC0zNiAyMSAtNTFjMTQgLTE0IDM0IC0yNiA2MSAtMzZjMjMgLTggMzggLTE1IDQ4IC0yNGMxMiAtMTEgMTggLTIzIDE4IC0zOGMwIC0xNiAtNyAtMzEgLTIwIC00MGMtMTIgLTkgLTI4IC0xNCAtNDggLTE0Yy0yOCAwIC01MiA4IC03MCAxNWwtNyAtMzJjMTggLTggNDQgLTE0IDcyIC0xNGMzOCAwIDcwIDkgOTAgMjcKK2MxOCAxNiAyNyAzOCAyNyA2M2MwIDIxIC01IDM2IC0xNyA1MHMtMzEgMjcgLTU4IDM3djB2MGMtMzggMTUgLTcyIDI4IC03MiA2M2MwIDE0IDcgMjcgMTkgMzZjMTEgOSAyNiAxMyA0NSAxM2MyNCAwIDQzIC01IDU3IC0xMWwxMCAzMmMtMTkgNiAtNDIgMTAgLTY2IDEwek0zNTAgMzY4djBjMzggMCA2NSAtNyA4NSAtMTZsLTE5IC02NGMtMTMgNyAtMzUgMTcgLTY3IDE3cy00OCAtMTYgLTQ4IC0zM2MwIC0yMiAxOSAtMzEgNjIgLTQ4CitjNTggLTIyIDg1IC01MyA4NSAtMTAyYzAgLTU3IC00MiAtMTA2IC0xMzMgLTEwNmMtMzggMCAtNzIgMTAgLTkxIDIxbDE1IDYzdjBjMjAgLTExIDQ5IC0yMSA4MSAtMjFjMzQgMCA1MiAxNSA1MiAzOGMwIDIxIC0xNSAzMyAtNTUgNDdjLTU1IDIwIC05MyA1MiAtOTMgMTAyYzAgNTggNDkgMTAyIDEyNiAxMDJ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWphdmFzY3JpcHQiIHVuaWNvZGU9IiYjeGY0ZTU7IiAKK2Q9Ik0xNzYgMzYwdjB2LTIxM2MwIC05NyAtNDkgLTEzMSAtMTIxIC0xMzFjLTE4IDAgLTQwIDMgLTU1IDhsOCA2MmMxMCAtNCAyNCAtNiAzOSAtNmMzMSAwIDQ5IDE1IDQ5IDY4djIxMmg4MHpNMzUwIDM2OHYwYzM4IDAgNjUgLTcgODUgLTE2bC0xOSAtNjRjLTEzIDcgLTM1IDE3IC02NyAxN3MtNDggLTE2IC00OCAtMzNjMCAtMjIgMTkgLTMxIDYyIC00OGM1OCAtMjIgODUgLTUzIDg1IC0xMDJjMCAtNTcgLTQyIC0xMDYgLTEzMyAtMTA2CitjLTM4IDAgLTcyIDEwIC05MSAyMWwxNSA2M3YwYzIwIC0xMSA0OSAtMjEgODEgLTIxYzM0IDAgNTIgMTUgNTIgMzhjMCAyMSAtMTUgMzMgLTU1IDQ3Yy01NSAyMCAtOTMgNTIgLTkzIDEwMmMwIDU4IDQ5IDEwMiAxMjYgMTAyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1saW5rZWRpbi1vdXRsaW5lIiB1bmljb2RlPSImI3hmMjM4OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMTE5IDY0djBoLTU1djE3MWg1NXYtMTcxek05MyAyNjF2MHYwYy0xOCAwIC0yOSAxMyAtMjkgMjljMCAxNyAxMiAzMCAzMCAzMHMyOSAtMTMgMjkgLTMwYzAgLTE2IC0xMiAtMjkgLTMwIC0yOXpNMjU3IDIzOWMzNiAwIDYzIC0yNCA2MyAtNzV2LTEwMGgtNTV2OTRjMCAyMiAtOCAzNyAtMjggMzdjLTE1IDAgLTI0IC0xMCAtMjggLTIwYy0yIC00IC0yIC05IC0yIC0xNHYtOTdoLTU1djE3MWg1NXYtMjRjOCAxMSAyMSAyOCA1MCAyOHoKK00zNTMgMzg0YzE4IDAgMzEgLTEzIDMxIC0zMHYtMzIxYzAgLTE3IC0xMyAtMzMgLTMxIC0zM2gtMzIwYy0xOCAwIC0zMyAxNiAtMzMgMzN2MzIxYzAgMTcgMTUgMzAgMzMgMzBoMzIwek0zNTAgMzJjMSAwIDIgMSAyIDJ2MzE2YzAgMSAtMSAyIC0yIDJoLTMxNnMtMiAtMSAtMiAtMnYtMzE1czEgLTMgMyAtM2gzMTV6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLWxpbmtlZGluIiB1bmljb2RlPSImI3hmMjM5OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzUzIDM4NGMxOCAwIDMxIC0xMyAzMSAtMzB2LTMyMWMwIC0xNyAtMTMgLTMzIC0zMSAtMzNoLTMyMGMtMTggMCAtMzMgMTYgLTMzIDMzdjMyMWMwIDE3IDE1IDMwIDMzIDMwaDMyMHpNMTE5IDY0djE3MWgtNTV2LTE3MWg1NXpNOTMgMjYxYzE4IDAgMzAgMTMgMzAgMjljMCAxNyAtMTEgMzAgLTI5IDMwcy0zMCAtMTMgLTMwIC0zMGMwIC0xNiAxMSAtMjkgMjkgLTI5djB6TTMyMCA2NHYxMDBjMCA1MSAtMjcgNzUgLTYzIDc1CitjLTI5IDAgLTQyIC0xNyAtNTAgLTI4djI0aC01NXYtMTcxaDU1djk3YzAgNSAwIDEwIDIgMTRjNCAxMCAxMyAyMCAyOCAyMGMyMCAwIDI4IC0xNSAyOCAtMzd2LTk0aDU1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1tYXJrZG93biIgdW5pY29kZT0iJiN4ZjRlNjsiIAorZD0iTTQxNiAzNTJjMTggMCAzMiAtMTQgMzIgLTMydi0yNTZjMCAtMTggLTE0IC0zMiAtMzIgLTMyaC0zODRjLTE4IDAgLTMyIDE0IC0zMiAzMnYyNTZjMCAxOCAxNCAzMiAzMiAzMmgzODR6TTI1MiA5NnYwdjE5MmgtNTZsLTQyIC02OGwtNDIgNjhoLTU2di0xOTJoNTZ2OTZsNDIgLTU0bDQyIDU0di05Nmg1NnpNMzM2IDk2djBsNzAgOTZoLTQydjk2aC01NnYtOTZoLTQyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1ub2RlanMiIHVuaWNvZGU9IiYjeGY0ZTc7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xOTIgLTMyYy02IDAgLTEyIDIgLTE3IDVsLTUzIDMyYy04IDUgLTQgNiAtMSA3YzExIDQgMTQgNSAyNSAxMmMxIDEgMyAxIDQgMGwzOSAtMjNjMSAtMSA0IC0xIDUgMGwxNTYgOTJjMSAxIDIgMiAyIDR2MTg3YzAgMiAwIDQgLTIgNWwtMTU2IDk0Yy0xIDEgLTMgMSAtNCAwbC0xNTUgLTk0Yy0yIC0xIC0zIC0zIC0zIC01di0xODdjMCAtMiAwIC0zIDIgLTRsNDAgLTI0YzI0IC0xMiAzOCAxIDM4IDE1djE4M2MwIDMgMiA1IDUgNWgyMgorYzMgMCA1IC0yIDUgLTV2LTE4M2MwIC0zMyAtMTkgLTUyIC00OSAtNTJjLTkgMCAtMTcgMSAtMzcgMTFsLTQxIDI0Yy0xMCA2IC0xNyAxOCAtMTcgMzB2MTkwYzAgMTIgNyAyNCAxNyAzMGwxNTggOTVjMTAgNiAyNCA2IDM0IDBsMTU4IC05NWMxMCAtNiAxNyAtMTggMTcgLTMwdi0xOTBjMCAtMTIgLTcgLTI0IC0xNyAtMzBsLTE1OCAtOTRjLTUgLTMgLTExIC01IC0xNyAtNXYwek0yNDEgOTZjLTY1IDAgLTg0IDMxIC04NCA1OWMwIDMgMSA1IDQgNQoraDIxYzIgMCA1IC0yIDUgLTRjMyAtMjIgMTYgLTMxIDU0IC0zMWMzMyAwIDQ3IDExIDQ3IDI5YzAgMTEgLTMgMTggLTU1IDIzYy00MyA0IC03MSAxNSAtNzEgNTFjMCAzMyAyOCA1MiA3MyA1MmM0NiAwIDc2IC0xNCA3OSAtNTFjMCAtMSAtMSAtMiAtMiAtM3MtMiAtMiAtMyAtMmgtMjBjLTIgMCAtNSAyIC01IDRjLTQgMTcgLTE2IDIzIC00OSAyM2MtMzYgMCAtNDEgLTEyIC00MSAtMjJjMCAtMTIgNSAtMTYgNTQgLTIzczcyIC0xNiA3MiAtNTEKK2MwIC0zNiAtMjkgLTU5IC03OSAtNTl2MHYweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1vY3RvY2F0IiB1bmljb2RlPSImI3hmNGU4OyIgCitkPSJNMTQ2IDE2MWM5IDAgMTYgLTQgMjIgLTEzczEwIC0yMCAxMCAtMzJzLTQgLTIyIC0xMCAtMzFzLTE0IC0xMyAtMjIgLTEzYy05IDAgLTE3IDQgLTIzIDEzcy05IDE5IC05IDMxczMgMjQgOSAzMmM2IDkgMTQgMTMgMjMgMTN6TTMwMyAxNjFjOSAwIDE2IC00IDIyIC0xM3M5IC0yMCA5IC0zMnMtMyAtMjIgLTkgLTMxcy0xMyAtMTMgLTIyIC0xM3MtMTggNCAtMjQgMTNzLTkgMTkgLTkgMzFzMyAyNCA5IDMyYzYgOSAxNSAxMyAyNCAxM3oKK000MTQgMjc2YzI0IC0yNyAzNCAtNjYgMzQgLTk2YzAgLTI0IC0xIC00NiAtNiAtNjVjLTYgLTE5IC0xMyAtMzUgLTIxIC00N2MtOSAtMTIgLTE5IC0yMyAtMzIgLTMycy0yNCAtMTcgLTM0IC0yMXMtMjIgLTggLTM2IC0xMGMtMTMgLTIgLTI0IC00IC0zMSAtNGMwIDAgLTI4IC0xIC02NCAtMXMtNjQgMSAtNjQgMWMtNyAwIC0xOCAyIC0zMSA0Yy0xNCAyIC0yNiA2IC0zNiAxMHMtMjIgMTIgLTM0IDIxYy0xMyA5IC0yMyAyMCAtMzIgMzIKK2MtOCAxMiAtMTUgMjggLTIxIDQ3Yy01IDE5IC02IDQxIC02IDY1YzAgMzEgMTAgNzAgMzQgOTZjMCAwIC0yIDE0IDAgMzlzNyA0OCAxNiA2OWMzMCAtMyA2NyAtMjAgMTEyIC01MWMxNSA0IDM2IDYgNjIgNmMyOCAwIDQ4IC0yIDYyIC02YzIwIDE0IDM5IDI0IDU4IDMzYzE5IDggMzMgMTMgNDEgMTVzMTMgMyAxMyAzYzkgLTIxIDE0IC00NCAxNiAtNjlzMCAtMzkgMCAtMzl2MHpNMzQ4IDQyYzI4IDEzIDQyIDQwIDQyIDgxCitjMCAyNCAtOCA0MyAtMjYgNTljLTkgOSAtMjAgMTMgLTMyIDE1cy0zMSAxIC01NiAtMXMtNDAgLTQgLTUyIC00cy0yNSAyIC00MiAzcy0zMCAzIC0zOSAzYy0xMCAwIC0yMCAxIC0zMSAtMnMtMjEgLTcgLTI4IC0xNGMtMTcgLTE1IC0yNSAtMzUgLTI1IC01OWMwIC00MSAxMyAtNjggNDEgLTgxYzI3IC0xMyA2OSAtMTggMTIzIC0xOGgyYzU0IDAgOTUgNSAxMjMgMTh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLXBpbnRlcmVzdC1vdXRsaW5lIiB1bmljb2RlPSImI3hmMmIwOyIgCitkPSJNMjI0IDQxNmMxMjQgMCAyMjQgLTEwMCAyMjQgLTIyNHMtMTAwIC0yMjQgLTIyNCAtMjI0cy0yMjQgMTAwIC0yMjQgMjI0czEwMCAyMjQgMjI0IDIyNHpNMzYwIDU2YzM2IDM2IDU2IDg1IDU2IDEzNnMtMjAgMTAwIC01NiAxMzZzLTg1IDU2IC0xMzYgNTZzLTEwMCAtMjAgLTEzNiAtNTZzLTU2IC04NSAtNTYgLTEzNnMyMCAtMTAwIDU2IC0xMzZjMTQgLTE0IDMxIC0yNSA0OCAtMzRjMSA2IDIgMTAgMyAxNmM0IDE4IDI5IDEyMiAyOSAxMjIKK3MtOCAxNSAtOCAzNmMwIDMzIDIwIDU4IDQ0IDU4YzIwIDAgMzAgLTE2IDMwIC0zNGMwIC0yMCAtMTMgLTUxIC0yMCAtNzljLTYgLTI0IDEyIC00MyAzNSAtNDNjNDIgMCA3MSA1NCA3MSAxMTljMCA0OSAtMzMgODUgLTkzIDg1Yy02OCAwIC0xMTAgLTUwIC0xMTAgLTEwN2MwIC0yMCA2IC0zMyAxNSAtNDRjNCAtNSA1IC02IDMgLTEyYy0xIC00IC00IC0xNCAtNSAtMThjLTIgLTYgLTYgLTggLTExIC02Yy0zMSAxMyAtNDYgNDggLTQ2IDg2CitjMCA2NCA1NCAxNDAgMTYwIDE0MGM4NiAwIDE0MiAtNjMgMTQyIC0xMjljMCAtODggLTQ5IC0xNTMgLTEyMSAtMTUzYy0yNCAwIC00NyAxMyAtNTUgMjhjMCAwIC0xMiAtNTIgLTE1IC02MmMtMiAtNiAtNCAtMTMgLTcgLTE5YzE1IC00IDMxIC02IDQ3IC02YzUxIDAgMTAwIDIwIDEzNiA1NnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtcGludGVyZXN0IiB1bmljb2RlPSImI3hmMmIxOyIgCitkPSJNMjI0IDQxNmMxMjQgMCAyMjQgLTEwMCAyMjQgLTIyNHMtMTAwIC0yMjQgLTIyNCAtMjI0Yy0yMiAwIC00NCAzIC02NCA5YzggMTQgMTggMzEgMjMgNDhjMyAxMCAxNiA2MiAxNiA2MmM4IC0xNSAzMCAtMjggNTQgLTI4YzcyIDAgMTIxIDY1IDEyMSAxNTNjMCA2NiAtNTYgMTI5IC0xNDIgMTI5Yy0xMDYgMCAtMTYwIC03NiAtMTYwIC0xNDBjMCAtMzkgMTUgLTczIDQ2IC04NmM1IC0yIDEwIDAgMTIgNmMxIDQgMyAxNCA0IDE4CitjMiA2IDEgNyAtMyAxMmMtOSAxMSAtMTUgMjQgLTE1IDQ0YzAgNTcgNDIgMTA3IDExMCAxMDdjNjAgMCA5NCAtMzYgOTQgLTg1YzAgLTY1IC0yOSAtMTE5IC03MSAtMTE5Yy0yNCAwIC00MiAxOSAtMzYgNDNjNyAyOCAyMCA1OSAyMCA3OWMwIDE4IC0xMCAzNCAtMzAgMzRjLTI0IDAgLTQzIC0yNSAtNDMgLTU4YzAgLTIxIDcgLTM2IDcgLTM2cy0yNSAtMTA0IC0yOSAtMTIyYy00IC0xNyAtNSAtMzUgLTQgLTUxCitjLTc5IDM1IC0xMzQgMTEzIC0xMzQgMjA1YzAgMTI0IDEwMCAyMjQgMjI0IDIyNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtcHl0aG9uIiB1bmljb2RlPSImI3hmNGU5OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMTI5IDE5OWMtMjkgLTUgLTQ5IC0zMCAtNDkgLTU3di00M3YtM2gtMTVjLTI5IDAgLTU0IDI5IC02MiA2OWMtMiA5IC0zIDE3IC0zIDI3djFjMCA1MyAyOSA5NSA2NSA5NWgxMjd2MTZoLTk2djI5YzAgMjYgNyA0MCA0NiA0N2MxMyAyIDI5IDQgNDUgNHMzOSAtMSA1NSAtNGMyNSAtNCA0NiAtMjIgNDYgLTQ3di01N3YtMzFjMCAtMjEgLTE0IC0zOCAtMzMgLTQzYy00IC0xIC04IC0yIC0xMyAtMmgtMTA0aDNjLTQgMCAtOCAwIC0xMiAtMXoKK00xNDAgMzIxYzEwIDAgMTcgNyAxNyAxN3MtNyAxOCAtMTcgMThzLTE4IC04IC0xOCAtMThzOCAtMTcgMTggLTE3ek0zODAgMjI1YzMgLTEwIDQgLTIxIDQgLTMzYzAgLTE2IC0zIC0zMCAtNyAtNDNjLTExIC0zMSAtMzMgLTUzIC01OCAtNTNoLTEyN3YtMTZoOTZ2LTI2YzAgLTI2IC0yMyAtNDAgLTQ2IC00N2MtMzUgLTEwIC02OCAtOSAtOTcgMGMtMjUgNyAtNDkgMjIgLTQ5IDQ3djU0djMzYzAgMjEgMTQgMzYgMzMgNDFjNCAxIDggMiAxMyAyCitoMTA0YzMgMCA2IDEgOSAxYzI3IDQgNDkgMjggNDkgNjJ2Mzh2M2gxNWMyOCAwIDUyIC0yNiA2MSAtNjN6TTI0NCA2NWMtMTAgMCAtMTggLTcgLTE4IC0xN3M4IC0xOCAxOCAtMThzMTcgOCAxNyAxOHMtNyAxNyAtMTcgMTd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLXJlZGRpdC1vdXRsaW5lIiB1bmljb2RlPSImI3hmMjNhOyIgaG9yaXotYWR2LXg9IjQ0OSIgCitkPSJNMjU5IDE2MGMwIDIxIDExIDMxIDMyIDMxczMyIC0xMCAzMiAtMzFzLTExIC0zMiAtMzIgLTMycy0zMiAxMSAtMzIgMzJ6TTEyNyAxNjBjMCAyMSAxMSAzMSAzMiAzMXMzMiAtMTAgMzIgLTMxcy0xMSAtMzIgLTMyIC0zMnMtMzIgMTEgLTMyIDMyek00NDkgMTk3YzAgLTIwIC05IC0zNiAtMjcgLTQ1YzEgLTUgMSAtOSAxIC0xNGMwIC0zOCAtMTkgLTcxIC01OCAtOThzLTg1IC00MCAtMTQwIC00MHMtMTAyIDEzIC0xNDEgNDAKK3MtNTggNTkgLTU4IDk3YzAgNSAwIDEwIDEgMTVjLTE4IDkgLTI3IDI0IC0yNyA0NWMwIDE0IDUgMjUgMTUgMzVzMjEgMTUgMzUgMTVjMTMgMCAyNCAtNCAzMyAtMTNjMzYgMjUgNzkgMzkgMTI5IDQxaDdsMjkgOThsODYgLTE3YzggMTkgMjEgMjggNDEgMjhjMTIgMCAyMiAtNCAzMSAtMTNzMTMgLTIwIDEzIC0zMnMtNCAtMjMgLTEzIC0zMnMtMTkgLTEzIC0zMSAtMTNzLTIzIDQgLTMyIDEzcy0xMyAxOSAtMTMgMzFsLTY5IDE0bC0yNCAtNzcKK2M1MCAtMiA5NCAtMTYgMTI5IC00MWMxMCA5IDIxIDEzIDM0IDEzYzkgMCAxNiAtMyAyNCAtN3MxNCAtMTAgMTggLTE4czcgLTE2IDcgLTI1ek0zNzUgMzY2Yy00IDAgLTggLTEgLTExIC0ycy02IC00IC04IC02cy01IC02IC02IC05cy0yIC02IC0yIC0xMGMwIC04IDMgLTE0IDggLTE5czEyIC04IDE5IC04YzUgMCA5IDEgMTMgM3M4IDYgMTAgMTBzNCA5IDQgMTRjMCA4IC0zIDE0IC04IDE5cy0xMiA4IC0xOSA4ek0xOCAxOTcKK2MwIC0xMSA1IC0yMCAxNCAtMjdjNyAxOSAxOSAzNyAzNyA1M2MtNiA0IC0xMiA2IC0xOSA2Yy0zIDAgLTcgMCAtMTAgLTFzLTYgLTMgLTkgLTVzLTUgLTQgLTcgLTdzLTQgLTYgLTUgLTlzLTEgLTYgLTEgLTEwek0zNTUgNTVjMzQgMjMgNTAgNTEgNTAgODN2OWMtMSA2IC0zIDEyIC01IDE4Yy02IDE2IC0xNSAzMCAtMzAgNDNjLTUgNCAtMTAgOSAtMTUgMTJ2MGMtMzYgMjUgLTc5IDM3IC0xMzAgMzdzLTk1IC0xMiAtMTMxIC0zN3YwCitjLTUgLTMgLTEwIC04IC0xNSAtMTJjLTE1IC0xMyAtMjQgLTI3IC0zMCAtNDNjLTIgLTYgLTQgLTEyIC01IC0xOHYtOWMwIC0zMiAxNiAtNjAgNTAgLTgzYzM2IC0yNSA4MCAtMzcgMTMxIC0zN3M5NCAxMiAxMzAgMzd6TTQxNyAxNzBjOSA2IDE0IDE2IDE0IDI3YzAgOSAtMyAxNyAtOSAyM3MtMTMgOSAtMjIgOWMtNyAwIC0xNCAtMiAtMjAgLTZjMTggLTE2IDMwIC0zNCAzNyAtNTN6TTI4OSA5MGwxMyAtMTIKK2MtMjAgLTIwIC00NSAtMzAgLTc3IC0zMHMtNTggMTAgLTc4IDMwbDEzIDEyYzE2IC0xNiAzOCAtMjQgNjUgLTI0czQ4IDggNjQgMjR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLXJlZGRpdCIgdW5pY29kZT0iJiN4ZjIzYjsiIGhvcml6LWFkdi14PSI0NDkiIAorZD0iTTQ0OSAxOTdjMCAtMjAgLTExIC0zNyAtMjcgLTQ1YzEgLTUgMSAtOSAxIC0xNGMwIC03NiAtODkgLTEzOCAtMTk5IC0xMzhzLTE5OCA2MSAtMTk4IDEzN2MwIDUgMCAxMCAxIDE1Yy0xNiA4IC0yNyAyNSAtMjcgNDVjMCAyOCAyMyA1MCA1MCA1MGMxMyAwIDI0IC01IDMzIC0xM2MzMyAyMyA3OSAzOSAxMjkgNDFoMmwzMSAxMDNsOTAgLTE4YzggMTQgMjIgMjQgMzkgMjR2MGgxYzI1IDAgNDQgLTIwIDQ0IC00NXMtMTkgLTQ1IC00NCAtNDVoLTEKK3YwYy0yMyAwIC00MiAxNyAtNDQgNDBsLTY3IDE0bC0yMiAtNzRjNDkgLTMgOTMgLTE3IDEyNSAtNDBjOSA4IDIxIDEzIDM0IDEzYzI3IDAgNDkgLTIyIDQ5IC01MHpNMzQgMTc3YzUgMTUgMTUgMjkgMjkgNDFjLTQgMyAtOSA1IC0xNSA1Yy0xNCAwIC0yNSAtMTEgLTI1IC0yNWMwIC05IDQgLTE3IDExIC0yMXpNMzU4IDMzOWMwIC05IDcgLTE3IDE2IC0xN3MxNyA4IDE3IDE3cy04IDE3IC0xNyAxN3MtMTYgLTggLTE2IC0xN3pNMTI3IDE2MAorYzAgLTE4IDE0IC0zMiAzMiAtMzJzMzIgMTQgMzIgMzJzLTE0IDMxIC0zMiAzMXMtMzIgLTEzIC0zMiAtMzF6TTIyNCA0OGM0OCAwIDc3IDI5IDc4IDMwbC0xMyAxMnMtMjUgLTI0IC02NSAtMjRjLTQxIDAgLTY0IDI0IC02NCAyNGwtMTMgLTEyYzEgLTEgMjkgLTMwIDc3IC0zMHpNMjkxIDEyOGMxOCAwIDMyIDE0IDMyIDMycy0xNCAzMSAtMzIgMzFzLTMyIC0xMyAtMzIgLTMxczE0IC0zMiAzMiAtMzJ6TTQxNSAxNzZjNyA1IDExIDEzIDExIDIyCitjMCAxNCAtMTEgMjUgLTI1IDI1Yy02IDAgLTExIC0yIC0xNSAtNWMxNCAtMTIgMjQgLTI3IDI5IC00MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtcnNzLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYyM2M7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik01NiAxMTJjMzEgMCA1NiAtMjUgNTYgLTU2cy0yNSAtNTYgLTU2IC01NnMtNTYgMjUgLTU2IDU2czI1IDU2IDU2IDU2ek01NiAxNmMyMiAwIDQwIDE4IDQwIDQwcy0xOCA0MCAtNDAgNDBzLTQwIC0xOCAtNDAgLTQwczE4IC00MCA0MCAtNDB6TTAgMjU2YzE0MCAwIDI1NiAtMTE2IDI1NiAtMjU2aC04MGMwIDQ4IC0xNCA5NCAtNDggMTI4cy04MCA0OCAtMTI4IDQ4djgwek0yNDAgMTZjLTIgMjYgLTggNTIgLTE5IDc3CitjLTEyIDI4IC0zMCA1NCAtNTIgNzZzLTQ4IDQwIC03NiA1MmMtMjUgMTAgLTUxIDE2IC03NyAxOHYtNDdjNTAgLTMgOTIgLTIyIDEyMyAtNTNzNTAgLTczIDUzIC0xMjNoNDh6TTAgMzg0YzIxMiAwIDM4NCAtMTcyIDM4NCAtMzg0aC04MGMwIDE3MSAtMTMzIDMwNCAtMzA0IDMwNHY4MHpNMjI3IDIyOGM1NiAtNTYgODkgLTEzMSA5MyAtMjEyaDQ4Yy04IDE5MCAtMTYyIDM0NCAtMzUyIDM1MnYtNDhjODEgLTQgMTU1IC0zNiAyMTEgLTkyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1yc3MiIHVuaWNvZGU9IiYjeGYyM2Q7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik01NiAxMTJjMzEgMCA1NiAtMjUgNTYgLTU2cy0yNSAtNTYgLTU2IC01NnMtNTYgMjUgLTU2IDU2czI1IDU2IDU2IDU2ek0wIDI1NmMxNDAgMCAyNTYgLTExNiAyNTYgLTI1NmgtODBjMCA0OCAtMTQgOTQgLTQ4IDEyOHMtODAgNDggLTEyOCA0OHY4MHpNMCAzODRjMjEyIDAgMzg0IC0xNzIgMzg0IC0zODRoLTgwYzAgMTcxIC0xMzMgMzA0IC0zMDQgMzA0djgweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1zYXNzIiB1bmljb2RlPSImI3hmNGVhOyIgaG9yaXotYWR2LXg9IjUxMiIgCitkPSJNNTEyIDExOXYtOGMtMSAtOSAtNyAtMTcgLTE1IC0yMnMtMTIgLTQgLTEzIC0zczEgMyA0IDVjMTMgOCAxNyAyMCAxMCAzM2MtNSAxMCAtMTUgMTYgLTI2IDIwYy0yNCA4IC00OCA3IC03MiAwYzQgLTEyIDcgLTIzIC0yIC0zNGMtMTAgLTEyIC0yMyAtMTkgLTM5IC0yMmMtNyAtMiAtMTQgMiAtMTUgOWMtMyAxOSAxNyAzNiAzMCA0N2MtNyAxMSAtMTEgMjQgLTE0IDM3Yy0xNSAtMTcgLTMxIC00MCAtMjYgLTYxCitjMyAtMTQgLTEgLTI3IC0xNCAtMzZzLTMwIC0xNCAtNDYgLTExYy00IDEgLTYgNSAtNSA4YzIgMTQgMjUgMzIgMzUgNDNjMiAyIDMgNCAxIDdjLTYgMTIgLTEwIDIzIC0xNCAzNmMtMTMgLTI5IC0zMCAtODAgLTU3IC05OGMtOSAtNiAtMTcgLTQgLTIxIDVjLTMgOCAtMiAyMCAtMSAyOWMtNiAtMTMgLTExIC0yNyAtMjAgLTM4Yy03IC04IC0yNCAtNyAtMzAgMWMtMTYgMjEgLTEzIDUwIC01IDczbC0yOSAtMTVjNyAtMTYgOCAtMzIgNCAtNDkKK2MtNSAtMTkgLTE3IC0zNSAtMzUgLTQ2Yy0xOSAtMTIgLTY0IC0yNCAtNzcgNGMtNyAxNiAtNCAzMCA2IDQ0YzE3IDI0IDQ4IDM3IDc0IDUwYy0zMiAyMyAtODAgNDIgLTk2IDgwYy0xNSAzNSAxNyA2OCA0MyA4OWM1OSA0OCAxNjYgOTUgMjQ0IDU5YzE1IC03IDM2IC0yNCAzMSAtNTJjLTQgLTI0IC0xMyAtMzkgLTI4IC01NGMtMzIgLTMyIC0xNTIgLTc3IC0xNzYgLTE1Yy0xIDEgLTEgNCAxIDRjMiAtMSAyMCAtMTUgNDMgLTE2CitjMTcgLTEgMzYgMyA1MiA4YzMzIDExIDcxIDMzIDgwIDY3YzQgMTMgLTIgMjggLTE1IDM0Yy00OSAyNCAtMTE2IC00IC0xNTkgLTI2Yy0zMyAtMTcgLTg0IC00NSAtODIgLTg3YzEgLTM3IDU2IC02MCA4MSAtODJjMTUgNyA0MiAxNSA1MiAyN2MxMSAxMyAyNiAyNSA0NCAyNmM4IDAgMTQgLTMgMTYgLTEwYzIgLTYgMSAtMTEgMCAtMTljNSA0IDExIDQgMTUgLTFjMTIgLTE0IC0yMiAtNTAgLTEwIC02NmMxNCAxNCAyMSA0MiAzMCA1OQorYzQgOCAxNyA1MSAyNiA1M2M3IDIgMTggNCAyNSAwYzIgLTEgMyAtMyAyIC01Yy03IC0xOSAtNyAtMzMgMyAtNTJjMTQgMjAgMjkgNDMgMzQgNjdjMSAyIDMgMyA1IDRjNyAyIDE4IDMgMjUgMGMzIC0xIDMgLTIgMiAtNWMtNyAtMjIgLTYgLTM4IDYgLTU4YzMxIDExIDY5IDE1IDk3IC01Yy0zIDIgLTcgNSAwIDBjNSAtNCAzIC0yIDAgMGMxMiAtOCAxOSAtMTggMjEgLTMyek0xMTMgOTR2MGMxIDcgLTEgMTMgLTMgMjAKK2MtMjQgLTggLTY2IC0zNSAtNjQgLTYyYzEgLTEwIDggLTEzIDE3IC0xMnMxOSA3IDI3IDEzYzE0IDExIDIyIDI0IDIzIDQxek0yMTYgMTY2YzEgMyAtMiA1IC01IDRjLTI5IC04IC00MyAtNTcgLTMzIC04MWMxIC0zIDQgLTMgNiAtMWMxNyAxNiAyOCA1NiAzMiA3OHpNMjg2IDg0YzggLTMgMjcgMTcgMjYgMjdjLTggLTkgLTE4IC0xOCAtMjYgLTI3ek0zNjcgMTAyYzExIDYgMTYgMTkgMTIgMzBjLTggLTYgLTIxIC0xOSAtMjAgLTMxCitjMCAtMiA2IDAgOCAxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1za3lwZS1vdXRsaW5lIiB1bmljb2RlPSImI3hmMjNlOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMTA2IDM1MmMtNDEgMCAtNzQgLTMzIC03NCAtNzNjMCAtMTMgNCAtMjUgMTAgLTM2bDYgLTExbC0yIC0xMmMtMiAtMTAgLTMgLTIwIC0zIC0zMGMwIC00MCAxNiAtNzcgNDQgLTEwNXM2NyAtNDQgMTA3IC00NGM5IDAgMTkgMSAyOCAzbDExIDJsOSAtNWMxMSAtNiAyNCAtOSAzNiAtOWM0MSAwIDc0IDMzIDc0IDczYzAgMTEgLTMgMjIgLTggMzJsLTUgMTBsMyAxMWMyIDEwIDMgMjEgMyAzMmMwIDQwIC0xNiA3NyAtNDQgMTA1CitzLTY3IDQzIC0xMDcgNDNjLTkgMCAtMTggMCAtMjYgLTJsLTEyIC0ybC0xMCA3Yy0xMiA3IC0yNiAxMSAtNDAgMTF6TTEwNiAzODR2MGMyMSAwIDQwIC02IDU2IC0xNmMxMCAyIDIxIDIgMzIgMmMxMDEgMCAxODMgLTgwIDE4MyAtMTgwYzAgLTEzIC0xIC0yNyAtNCAtMzljNyAtMTQgMTEgLTI5IDExIC00NmMwIC01OCAtNDcgLTEwNSAtMTA2IC0xMDVjLTE4IDAgLTM1IDQgLTUwIDEyYy0xMSAtMiAtMjIgLTMgLTM0IC0zCitjLTEwMSAwIC0xODMgODEgLTE4MyAxODFjMCAxMiAyIDI0IDQgMzZjLTkgMTYgLTE1IDM0IC0xNSA1M2MwIDU4IDQ3IDEwNSAxMDYgMTA1ek0yODggMTA0Yy04IC0xMiAtMjEgLTIxIC0zNyAtMjhzLTM2IC0xMCAtNTggLTEwYy0yNiAwIC00OCA1IC02NSAxNGMtMTIgNyAtMjIgMTUgLTMwIDI2cy0xMiAyMiAtMTIgMzNjMCA3IDMgMTIgOCAxN3MxMSA3IDE5IDdjNiAwIDEyIC0yIDE2IC02czcgLTggMTAgLTE1czcgLTEzIDExIC0xOAorczggLTkgMTUgLTEyczE2IC01IDI3IC01YzE1IDAgMjggNCAzNyAxMHMxMyAxMyAxMyAyMmMwIDcgLTIgMTMgLTcgMTdjLTUgNSAtMTEgOSAtMTkgMTFjLTggMyAtMjAgNSAtMzQgOGMtMTkgNCAtMzUgOSAtNDggMTRjLTEzIDYgLTI0IDEzIC0zMiAyM3MtMTEgMjIgLTExIDM2czQgMjUgMTIgMzZjOCAxMCAyMCAxOSAzNiAyNWMxNSA2IDM0IDggNTQgOGMxNiAwIDMwIC0xIDQyIC01czIzIC05IDMxIC0xNXMxNCAtMTMgMTggLTIwCitzNSAtMTQgNSAtMjFjMCAtNiAtMiAtMTIgLTcgLTE3cy0xMSAtOCAtMTkgLThjLTcgMCAtMTIgMiAtMTYgNWMtMyAzIC03IDcgLTExIDE0Yy01IDggLTEwIDE1IC0xNiAyMHMtMTcgOCAtMzEgOGMtMTMgMCAtMjMgLTMgLTMxIC04cy0xMiAtMTEgLTEyIC0xOGMwIC00IDIgLTcgNCAtMTBjMyAtMyA2IC02IDExIC04czEwIC01IDE1IC02czEzIC0zIDI1IC02YzE1IC0zIDI4IC02IDQwIC0xMHMyMyAtOCAzMiAtMTRzMTUgLTEzIDIwIC0yMgorczggLTIwIDggLTMyYzAgLTE1IC01IC0yOCAtMTMgLTQweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1za3lwZSIgdW5pY29kZT0iJiN4ZjIzZjsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM3MyAxNTFjNyAtMTQgMTEgLTI5IDExIC00NmMwIC01OCAtNDcgLTEwNSAtMTA2IC0xMDVjLTE4IDAgLTM1IDQgLTUwIDEyYy0xMSAtMiAtMjIgLTMgLTM0IC0zYy0xMDEgMCAtMTgzIDgxIC0xODMgMTgxYzAgMTIgMiAyNCA0IDM2Yy05IDE2IC0xNSAzNCAtMTUgNTNjMCA1OCA0NyAxMDUgMTA2IDEwNWMyMSAwIDQxIC02IDU3IC0xNmMxMCAyIDIwIDIgMzEgMmMxMDEgMCAxODMgLTgwIDE4MyAtMTgwYzAgLTEzIC0xIC0yNyAtNCAtMzl6CitNMjg4IDEwNGM5IDEyIDEyIDI1IDEyIDQwYzAgMTIgLTIgMjMgLTcgMzJzLTEyIDE2IC0yMSAyMnMtMTkgMTAgLTMxIDE0cy0yNiA3IC00MSAxMGMtMTIgMyAtMjAgNSAtMjUgNnMtMTAgNCAtMTUgNnMtNyA1IC0xMCA4Yy0yIDMgLTQgNiAtNCAxMGMwIDcgMyAxMyAxMSAxOHMxOSA3IDMyIDdjMTQgMCAyNSAtMiAzMSAtN3MxMSAtMTIgMTYgLTIwYzQgLTcgOCAtMTEgMTEgLTE0YzQgLTMgOSAtNSAxNiAtNWM4IDAgMTMgMyAxOCA4czggMTEgOCAxNworYzAgNyAtMiAxNCAtNiAyMXMtMTAgMTQgLTE4IDIwcy0xOCAxMSAtMzAgMTVzLTI3IDUgLTQzIDVjLTIwIDAgLTM4IC0yIC01MyAtOGMtMTYgLTYgLTI4IC0xNSAtMzYgLTI1Yy04IC0xMSAtMTIgLTIyIC0xMiAtMzZzMyAtMjYgMTEgLTM2czE5IC0xNyAzMiAtMjNjMTMgLTUgMjkgLTEwIDQ4IC0xNGMxNCAtMyAyNiAtNSAzNCAtOGM4IC0yIDE0IC02IDE5IC0xMWM1IC00IDcgLTEwIDcgLTE3YzAgLTkgLTQgLTE3IC0xMyAtMjMKK3MtMjIgLTkgLTM3IC05Yy0xMSAwIC0yMCAyIC0yNyA1cy0xMSA2IC0xNSAxMXMtOCAxMiAtMTEgMTlzLTYgMTEgLTEwIDE1cy0xMCA2IC0xNiA2Yy04IDAgLTE0IC0yIC0xOSAtN3MtOCAtMTAgLTggLTE3YzAgLTExIDQgLTIyIDEyIC0zM3MxOCAtMTkgMzAgLTI2YzE3IC05IDM5IC0xNCA2NSAtMTRjMjIgMCA0MiAzIDU4IDEwczI5IDE2IDM3IDI4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC1zbmFwY2hhdC1vdXRsaW5lIiB1bmljb2RlPSImI3hmNGViOyIgaG9yaXotYWR2LXg9IjQ4MCIgCitkPSJNMjQwIDQwMHYwdjBjLTcxIDAgLTEyOCAtNTQgLTExOCAtMTI4YzIgLTE1IDMgLTMyIDQgLTQ1YzAgMCAtMiAtNSAtMTIgLTVjLTYgMCAtMTUgMiAtMjggN2MtMiAxIC00IDEgLTYgMWMtOCAwIC0xMyAtNiAtMTQgLTEyYzAgLTUgNCAtMTEgOCAtMTNjMTQgLTcgNDcgLTEwIDQ3IC0zM3MtMjMgLTQ3IC00MSAtNjRzLTY0IC0yMSAtNjQgLTIxczAgLTIxIDMyIC0yOXMzMiAtNSAzMyAtMTNjMiAtMTUgMSAtMjIgMTEgLTIyYzIgMCA0IDEgNiAxCitjOCAxIDIwIDMgMzIgM2MxMSAwIDIzIC0yIDM0IC05YzIzIC0xNSA0MSAtMzQgNzYgLTM0czUzIDE5IDc2IDM0YzExIDcgMjQgOSAzNSA5YzEyIDAgMjMgLTIgMzEgLTNjMiAwIDQgLTEgNiAtMWMxMCAwIDkgNyAxMSAyMmMxIDggMSA1IDMzIDEzczMyIDI5IDMyIDI5cy00NiA0IC02NCAyMXMtNDEgNDEgLTQxIDY0czMzIDI2IDQ3IDMzYzQgMiA5IDggOSAxM2MtMSA2IC02IDEyIC0xNCAxMmMtMiAwIC01IDAgLTcgLTEKK2MtMTMgLTUgLTIxIC02IC0yNyAtNmMtMTAgMCAtMTMgNCAtMTMgNGMxIDEzIDIgMzAgNCA0NWMxMCA3NCAtNDcgMTI4IC0xMTggMTI4ek0yNDAgNDE2djBjNDEgMCA4MCAtMTYgMTA1IC00NWMyNCAtMjggMzQgLTYzIDI5IC0xMDFjLTEgLTExIC0yIC0yMiAtMyAtMzFjNCAxIDEwIDIgMTggNWM0IDEgOCAyIDEyIDJjMTYgMCAyOSAtMTIgMzAgLTI3YzEgLTEzIC05IC0yNSAtMTggLTI5Yy00IC0yIC05IC0zIC0xNCAtNQorYy03IC0yIC0xNCAtNSAtMTkgLThjLTQgLTMgLTUgLTQgLTUgLTVjMCAtMTYgMjAgLTM3IDM2IC01MmMxMSAtMTAgMzkgLTE2IDU0IC0xN2wxNSAtMXYtMTRjMCAtMiAwIC0xMSAtNiAtMjFjLTUgLTggLTE2IC0xOSAtMzggLTI0Yy02IC0xIC0xMSAtMyAtMTUgLTRjLTIgLTEgLTUgLTEgLTcgLTF2LTFjLTEgLTcgLTEgLTEzIC00IC0xOGMtMiAtNSAtOSAtMTIgLTIyIC0xMmMtMiAwIC02IDAgLTkgMWMtMiAwIC0zIDEgLTUgMQorYy03IDEgLTE1IDIgLTIzIDJjLTEwIDAgLTE5IC0yIC0yNiAtNmMtNCAtMyAtOSAtNyAtMTQgLTEwYy0xOCAtMTMgLTM4IC0yNyAtNzEgLTI3cy01MyAxNCAtNzEgMjdjLTUgMyAtOSA3IC0xNCAxMGMtNyA0IC0xNSA2IC0yNSA2Yy04IDAgLTE3IC0xIC0yNCAtMmMtMiAwIC0zIC0xIC01IC0xYy0zIC0xIC03IC0xIC05IC0xYy0xMyAwIC0yMCA3IC0yMiAxMmMtMyA1IC0zIDExIC00IDE4djFjLTIgMCAtNCAwIC02IDFjLTQgMSAtMTAgMyAtMTYgNAorYy0yMiA1IC0zMyAxNiAtMzggMjRjLTYgMTAgLTYgMTggLTYgMjB2MTVsMTUgMWMxNiAxIDQ0IDcgNTQgMTdjMjkgMjcgMzYgNDMgMzYgNTJjMCAxIDAgMiAtNCA1Yy01IDMgLTEzIDYgLTIwIDhjLTUgMiAtMTAgMyAtMTQgNWMtOSA0IC0xOCAxNiAtMTcgMjljMSAxNSAxNCAyNyAzMCAyN2M0IDAgOCAwIDEyIC0yYzggLTMgMTMgLTQgMTcgLTVjLTEgOSAtMiAxOSAtMyAzMGMtNSAzOCA1IDc0IDI5IDEwMmMyNSAyOSA2NCA0NSAxMDUgNDV2MHoKK00yNDAgMjE5Yy0yMSAwIC00MSA4IC01NiAyM2MtMyAzIC0zIDkgMCAxMnM5IDMgMTIgMGMxMiAtMTIgMjcgLTE5IDQ0IC0xOWMxNiAwIDMyIDcgNDQgMTljMyAzIDkgMyAxMiAwczMgLTkgMCAtMTJjLTE1IC0xNSAtMzUgLTIzIC01NiAtMjN6TTE3NiAyOTZjMCAxNiA1IDI0IDE2IDI0czE2IC04IDE2IC0yNHMtNSAtMjQgLTE2IC0yNHMtMTYgOCAtMTYgMjR6TTI3MiAyOTZjMCAxNiA1IDI0IDE2IDI0czE2IC04IDE2IC0yNAorcy01IC0yNCAtMTYgLTI0cy0xNiA4IC0xNiAyNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtc25hcGNoYXQiIHVuaWNvZGU9IiYjeGY0ZWM7IiBob3Jpei1hZHYteD0iNDgwIiAKK2Q9Ik00ODAgODhjMCAtMiAwIC0xMSAtNiAtMjFjLTUgLTggLTE2IC0xOSAtMzggLTI0Yy02IC0xIC0xMSAtMyAtMTUgLTRjLTIgLTEgLTUgLTEgLTcgLTF2LTFjLTEgLTcgLTEgLTEzIC00IC0xOGMtMiAtNSAtOSAtMTIgLTIyIC0xMmMtMiAwIC02IDAgLTkgMWMtMiAwIC0zIDEgLTUgMWMtNyAxIC0xNSAyIC0yMyAyYy0xMCAwIC0xOSAtMiAtMjYgLTZjLTQgLTMgLTkgLTcgLTE0IC0xMGMtMTggLTEzIC0zOCAtMjcgLTcxIC0yNworcy01MyAxNCAtNzEgMjdjLTUgMyAtOSA3IC0xNCAxMGMtNyA0IC0xNSA2IC0yNSA2Yy04IDAgLTE3IC0xIC0yNCAtMmMtMiAwIC0zIC0xIC01IC0xYy0zIC0xIC03IC0xIC05IC0xYy0xMyAwIC0yMCA3IC0yMiAxMmMtMyA1IC0zIDExIC00IDE4djFjLTIgMCAtNCAwIC02IDFjLTQgMSAtMTAgMyAtMTYgNGMtMjIgNSAtMzMgMTYgLTM4IDI0Yy02IDEwIC02IDE4IC02IDIwdjE1bDE1IDFjMTYgMSA0NCA3IDU0IDE3YzI5IDI3IDM2IDQzIDM2IDUyCitjMCAxIDAgMiAtNCA1Yy01IDMgLTEzIDYgLTIwIDhjLTUgMiAtMTAgMyAtMTQgNWMtOSA0IC0xOCAxNiAtMTcgMjljMSAxNSAxNCAyNyAzMCAyN2M0IDAgOCAwIDEyIC0yYzggLTMgMTMgLTQgMTcgLTVjLTEgOSAtMiAxOSAtMyAzMGMtNSAzOCA1IDc0IDI5IDEwMmMyNSAyOSA2NCA0NSAxMDUgNDV2MGM0MSAwIDgwIC0xNiAxMDUgLTQ1YzI0IC0yOCAzNCAtNjMgMjkgLTEwMWMtMSAtMTEgLTIgLTIyIC0zIC0zMWM0IDEgMTAgMiAxOCA1CitjNCAxIDggMiAxMiAyYzE2IDAgMjkgLTEyIDMwIC0yN2MxIC0xMyAtOSAtMjUgLTE4IC0yOWMtNCAtMiAtOSAtMyAtMTQgLTVjLTcgLTIgLTE0IC01IC0xOSAtOGMtNCAtMyAtNSAtNCAtNSAtNWMwIC0xNiAyMCAtMzcgMzYgLTUyYzExIC0xMCAzOSAtMTYgNTQgLTE3bDE1IC0xdi0xNHpNMTkyIDMyMGMtOSAwIC0xNiAtMTEgLTE2IC0yNHM3IC0yNCAxNiAtMjRzMTYgMTEgMTYgMjRzLTcgMjQgLTE2IDI0ek0yOTYgMjQyYzMgMyAzIDkgMCAxMgorcy05IDMgLTEyIDBjLTEyIC0xMiAtMjggLTE5IC00NCAtMTljLTE3IDAgLTMyIDcgLTQ0IDE5Yy0zIDMgLTkgMyAtMTIgMHMtMyAtOSAwIC0xMmMxNSAtMTUgMzUgLTIzIDU2IC0yM3M0MSA4IDU2IDIzek0yODggMjcyYzkgMCAxNiAxMSAxNiAyNHMtNyAyNCAtMTYgMjRzLTE2IC0xMSAtMTYgLTI0czcgLTI0IDE2IC0yNHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtdHVtYmxyLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYyNDA7IiBob3Jpei1hZHYteD0iMjU2IiAKK2Q9Ik0xOTMgNTJjMjEgMCA0MiA2IDYzIDIwdi02NWMtMTggLTggLTM0IC0xNSAtNDggLTE4cy0yOCAtNSAtNDUgLTVjLTE5IDAgLTM1IDIgLTUwIDdjLTE0IDUgLTI4IDEyIC0zOCAyMXMtMTcgMTggLTIxIDI4cy02IDI1IC02IDQ0djE0MGgtNDh2NThjMTYgNSAzMCAxNCA0MiAyNHMxOSAyMSAyNiAzNXMxMSAzNyAxNCA1OWg2MnYtMTEyaDk2di02NGgtOTZ2LTEwMWMwIC0yNCAxIC00MCA0IC00N2MyIC03IDcgLTEyIDE0IC0xNgorYzkgLTYgMTkgLTggMzEgLTh6TTI0MCAxN3YyOWMtMTUgLTYgLTMxIC0xMCAtNDcgLTEwYy0xNSAwIC0yOCAzIC00MCAxMGMtMTAgNiAtMTcgMTUgLTIxIDI1Yy0yIDYgLTQgMTcgLTQgNTJ2MTE3aDk2djMyaC05NnYxMTJoLTMyYy0yIC0xNiAtNyAtMzYgLTE0IC01MGMtOCAtMTYgLTE3IC0yOSAtMzAgLTQwYy0xMSAtOSAtMjMgLTE3IC0zNiAtMjN2LTMxaDQ4di0xNTZjMCAtMjEgMiAtMzIgNCAtMzhjMyAtOCAxMCAtMTUgMTggLTIyCitjOSAtOCAxOSAtMTQgMzEgLTE4YzEzIC00IDI5IC02IDQ2IC02YzE2IDAgMjggMiA0MSA1YzExIDIgMjMgNiAzNiAxMnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtdHVtYmxyIiB1bmljb2RlPSImI3hmMjQxOyIgaG9yaXotYWR2LXg9IjI1NiIgCitkPSJNMTkzIDUyYzIxIDAgNDIgNiA2MyAyMHYtNjVjLTE4IC04IC0zNCAtMTUgLTQ4IC0xOHMtMjggLTUgLTQ1IC01Yy0xOSAwIC0zNSAyIC01MCA3Yy0xNCA1IC0yOCAxMiAtMzggMjFzLTE3IDE4IC0yMSAyOHMtNiAyNSAtNiA0NHYxNDBoLTQ4djU4YzE2IDUgMzAgMTQgNDIgMjRzMTkgMjEgMjYgMzVzMTEgMzcgMTQgNTloNjJ2LTExMmg5NnYtNjRoLTk2di0xMDFjMCAtMjQgMSAtNDAgNCAtNDdjMiAtNyA3IC0xMiAxNCAtMTYKK2M5IC02IDE5IC04IDMxIC04eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC10dXgiIHVuaWNvZGU9IiYjeGYyYzU7IiBob3Jpei1hZHYteD0iMzgzIiAKK2Q9Ik0xODkgMzQ3YzIgMiAtMSAtMSAwIDBjMiAyIDQgNCA2IDVjLTMgLTIgLTUgLTQgLTcgLThjMCAxIDAgMiAxIDN6TTM2MSA1MmM3IC00IDIzIC0xMSAyMSAtMjJjLTIgLTEwIC0xNyAtMTUgLTI0IC0xOWMtMTUgLTggLTI4IC0xNCAtNDEgLTI1Yy05IC04IC0xNyAtMTUgLTI5IC0xN2MtMTEgLTIgLTI1IC0xIC0zMyA4Yy01IDUgLTcgMTEgLTE1IDEyYy0yNSA1IC01NCA0IC03OSAwYy0xMyAtMiAtMjEgLTExIC0zMiAtMTcKK2MtMTAgLTUgLTIwIC01IC0zMCAtMWMtMTMgNSAtMjcgMTAgLTQxIDEzcy0yOSA1IC00MyA5Yy0zMSA4IC01IDMwIC0xMSA1MGMtMyAxMiAtMTAgMjkgOCAzMGM5IDEgMjcgLTEgMzEgMTFjMiA3IC0yIDE1IDIgMjJzLTEgMTcgMSAyNWM0IDE4IDE5IDMyIDI1IDQ5YzUgMTQgOCAyNSAxOCAzN2M5IDExIDIyIDIyIDI5IDM0YzEwIDE4IDkgMzUgOCA1NWMtMSAxNyAtMSAzMyAtMiA1MGMwIDMzIDIwIDYwIDU4IDYwaDE0CitjMzggMCA2MyAtMzIgNjQgLTY5YzAgLTE5IC01IC0zOCA1IC02N2MxNSAtMjcgMzYgLTQ4IDUyIC03M2MxMCAtMTYgMTYgLTMxIDIwIC00OWMzIC0xNCA5IC0zMSA3IC00NWMtMSAtNiAtMiAtOSAtNCAtMTFjMyAtMSA3IC0yIDkgLTVjMyAtNCAyIC0xMSAwIC0yNmMtMSAtOCA1IC0xNSAxMiAtMTl6TTEzNyAtM2MyIDIwIC0xNSAzOSAtMjUgNTZjLTEwIDE2IC0yMSA0MyAtMzkgNTJjLTggNCAtMTkgNSAtMjMgLTVjLTIgLTcgMCAtMTkgLTIgLTIyCitjLTQgLTkgLTE0IC0xMCAtMjMgLTExYy02IDAgLTE3IDAgLTE3IC04YzEgLTEwIDEwIC0yMCA3IC0zMGMtMiAtNyAtOCAtMTIgLTggLTE5YzAgLTE0IDM4IC0xNSA0NyAtMTdjMTkgLTQgMzcgLTE0IDU3IC0xNmMxMiAtMSAyNSA3IDI2IDIwek0yNTMgNjJjLTIgMTAgMiAtMTAgMCAwcy01IDI4IDEgMzVjNCA1IDEwIDYgMTcgNWMwIDQgMSA5IDMgMTJjOCAxMyAyOSA4IDM5IDBsLTEgMmMtMyA0IC04IDkgLTEzIDEwYzAgMCA0IDEyIDIgMzQKK2MtNCA0MCAtMzMgNjIgLTMzIDYyYzI3IC0zMCAyNyAtNTggMjcgLTcyYzAgLTYgLTEgLTE4IC00IC0yNGMtNCAtMSAtNyAtMiAtMTEgLTRjLTEwIC01IC04IDIgLTggMTBjMCAxOCAtMiAzNiAtNyA1NGMtMyA5IC03IDE3IC0xMyAyNGMtNCA1IC00IDkgLTUgMTVjLTMgMTIgLTkgMjIgLTE2IDMyYy03IDkgLTcgMTcgLTUgMjhjMSA3IDIgMTQgLTYgMTdjLTYgMiAtMjYgNSAtMjcgMTRjLTEgNiAtMSAxNiA1IDIwYzE2IDE0IDMwIC0xMSAxNyAtMjQKK2MtMyAtMyA3IC00IDggLTRjNCAxIDQgNyA1IDEwYzEgNCAxIDkgMSAxM2MwIDE3IC0xOCAzMiAtMzQgMjFjLTYgLTQgLTkgLTExIC0xMCAtMTdjMCAtMiAtMSAtMjAgMCAtMjBjLTQgMCAtNyA1IC0xMSA1Yy0zIDAgLTcgMCAtMTAgLTFjMCAwIDIgMTQgLTIgMjJjLTQgOSAtMTggMTYgLTI0IDRzLTMgLTI1IDAgLTMxczQgLTYgNCAtNmMyIDEgNSA0IDUgNHMtNiAzIC03IDExYy0xIDkgMyAxNCA3IDE1czEwIC0yIDEyIC04czAgLTEzIDAgLTEzCitjLTcgLTYgLTMwIC0xOCAtMjIgLTI4YzE0IC0xOCAzMyAtMTUgNTIgLTljOCAzIDE4IDUgMjQgMTJjMyAzIDExIDIgOCAtNGMtMiAtNSAtMTggLTcgLTIyIC05Yy05IC00IC0xOCAtOCAtMjggLTEwYy02IC0xIC0xMyAtNSAtMjggOWM3IC02IDggLTE2IDE3IC0yMGMxMyAtNiAzMyA5IDQ0IDE1YzEgMSAxNiA1IDE0IDBjLTEgLTQgLTExIC03IC0xNSAtOWMtMTEgLTYgLTIzIC0yMSAtMzYgLTIyYy04IC0xIC0yMSAxNiAtMjUgMjIKK2MtMSAxIC01IDkgLTYgNGMtMSAtOCAyIC0xNCAtMyAtMjFjLTYgLTkgLTExIC0xOCAtMTMgLTI5Yy0xIC02IDAgLTExIC0zIC0xNmMtMTEgLTE1IC0xNyAtMzMgLTE5IC01MWMwIC00IDMgLTQzIC01IC00MWMtMTggNSAtMTcgMzMgLTE0IDQ3Yy0zIC0xMiAtOCAtMzAgMiAtNDRjMTIgLTE1IDk5IC01NSA1MyAtODBjNyAtMTQgMTQgLTI1IDEyIC00MWM4IDcgMiAyMCAtMSAyOGMwIDAgMTcgLTEyIDM4IC0xMGMxNyAyIDMyIDcgNDYgMTYKK2M2IDQgMTEgOSAxNiAxNGMxIDIgNCA2IDYgN2wxIC0xMWMyIC0xNyAtMTIgLTI3IC0xMCAtMzRjNCA4IDExIDE0IDEzIDI0YzMgMTIgMCAyNCAtMiAzNnpNMTU1IDMyM3Ywdi0zYzIgMCAyIDUgMSA4Yy0xIDQgLTMgNiAtNCA2aC0yYzMgLTIgNSAtNiA1IC0xMXpNMjEwIDMzNWMzIC0yIDAgMCAwIDBjMyAtMiA1IC01IDUgLTEwdi0zYzIgMCAzIDQgMiA3cy0zIDYgLTUgNmgtMnpNMzQ3IDE1YzI0IDExIC0yNCAtMTAgMCAwCitjMjQgMTEgMzUgMTcgMjAgMjZjLTE3IDEwIC0yNiAxMyAtMjYgMjljMCA1IDQgMTYgMiAyMmMtMSA0IC02IDUgLTkgNWMtMTAgLTEwIC0xNyAtMjUgLTM0IC0yNWMtMTQgMCAtMjUgMTEgLTI4IDI0Yy00IDIgLTEwIDEgLTEzIC00Yy02IC0xMiAxIC0yOSAzIC00MWMyIC0xOCAtNCAtMzUgLTIgLTUzYzIgLTIxIDI2IC0yMiA0MCAtMTNjMTYgMTAgMjkgMjIgNDcgMzB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLXR3aXRjaC1vdXRsaW5lIiB1bmljb2RlPSImI3hmNGVkOyIgaG9yaXotYWR2LXg9IjQxNiIgCitkPSJNMzIgNDE2aDM4NHYtMjcybC0xMTIgLTExMmgtODBsLTY0IC02NGgtNjR2NjRoLTk2djMwNHpNMzY4IDE2MHYyMDhoLTMwNHYtMjcyaDgwdi02NGw2NCA2NGg5NnpNMjcyIDE3NnYxMjloNDh2LTEyOWgtNDh6TTE2MCAxNzZ2MTI5aDQ4di0xMjloLTQ4eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC10d2l0Y2giIHVuaWNvZGU9IiYjeGY0ZWU7IiBob3Jpei1hZHYteD0iNDE2IiAKK2Q9Ik0zMiA0MTZoMzg0di0yNzJsLTExMiAtMTEyaC04MGwtNjQgLTY0aC02NHY2NGgtOTZ2MzA0ek0yMDggMTc2djEyOWgtNDh2LTEyOWg0OHpNMzIwIDE3NnYxMjloLTQ4di0xMjloNDh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLXR3aXR0ZXItb3V0bGluZSIgdW5pY29kZT0iJiN4ZjI0MjsiIGhvcml6LWFkdi14PSI0NzIiIAorZD0iTTQ3MiAzMzhjLTEzIC0yMCAtMjkgLTM2IC00OCAtNTB2LTEyYzAgLTEyOCAtOTggLTI3NiAtMjc2IC0yNzZjLTU1IDAgLTEwNSAxNiAtMTQ4IDQ0YzggLTEgMTUgLTIgMjMgLTJjNDUgMCA4NyAxNiAxMjAgNDJjLTQyIDEgLTc4IDI5IC05MCA2N2M2IC0xIDEyIC0yIDE4IC0yYzkgMCAxOCAyIDI2IDRjLTQ0IDkgLTc4IDQ4IC03OCA5NXYxYzEzIC03IDI4IC0xMiA0NCAtMTJjLTI2IDE3IC00MyA0NyAtNDMgODFjMCAxOCA1IDM0IDEzIDQ4CitjNDggLTU5IDExOSAtOTcgMTk5IC0xMDFjLTIgNyAtMiAxNCAtMiAyMmMwIDU0IDQzIDk3IDk3IDk3YzI4IDAgNTIgLTEyIDcwIC0zMWMyMiA0IDQzIDEzIDYyIDI0Yy03IC0yMyAtMjMgLTQyIC00MyAtNTRjMjAgMiAzOSA3IDU2IDE1ek00MTQgMzAxYzMgMiA4IDYgMTEgOGMtMiAwIC0xMSAtMiAtMTkgLTFzLTIxIDUgLTIxIDVzMTQgMTMgMTggMTdsMTEgMTFjLTQgLTEgLTEwIC0yIC0xNCAtM2wtOCAtMmwtNiA2CitjLTE1IDE2IC0zNyAyNiAtNTkgMjZjLTQ1IDAgLTgxIC0zNyAtODEgLTgxYzAgLTYgMSAtMTIgMiAtMThsNSAtMjFsLTIyIDFjLTQyIDIgLTgxIDEzIC0xMTggMzJjLTI4IDE0IC01MyAzNCAtNzUgNTZjLTEgLTYgLTIgLTEzIC0yIC0xOWMwIC0yNyAxNCAtNTMgMzYgLTY4YzAgMCAzMyAtMjMgNDYgLTI5Yy0yNCAtMiAtNTYgMCAtNTYgMGMtOCAwIC0xNiAxIC0yNCAzYzggLTI4IDMyIC01MCA2MiAtNTZsNjEgLTEwbC02MSAtMjEKK2MtNyAtMiAtMTQgLTMgLTIxIC0zYzE1IC0yMCAzOCAtMzQgNjQgLTM0bDQ1IC0xbC0zNSAtMjhjLTE4IC0xNCAtMzggLTI1IC02MCAtMzNjLTEwIC0zIC0xOSAtNiAtMjkgLThjMjcgLTkgNTUgLTE0IDg0IC0xNGM0MCAwIDc4IDggMTEyIDI0YzMxIDE0IDU4IDM0IDgxIDYwYzIyIDI0IDM4IDUzIDUwIDg0YzExIDMwIDE3IDYyIDE3IDkydjEybC0xIDh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLXR3aXR0ZXIiIHVuaWNvZGU9IiYjeGYyNDM7IiBob3Jpei1hZHYteD0iNDcyIiAKK2Q9Ik00NzIgMzM4Yy0xMyAtMjAgLTI5IC0zNiAtNDggLTUwdi0xMmMwIC0xMjggLTk4IC0yNzYgLTI3NiAtMjc2Yy01NSAwIC0xMDUgMTYgLTE0OCA0NGM4IC0xIDE1IC0yIDIzIC0yYzQ1IDAgODcgMTYgMTIwIDQyYy00MiAxIC03OCAyOSAtOTAgNjdjNiAtMSAxMiAtMiAxOCAtMmM5IDAgMTggMiAyNiA0Yy00NCA5IC03OCA0OCAtNzggOTV2MWMxMyAtNyAyOCAtMTIgNDQgLTEyYy0yNiAxNyAtNDMgNDcgLTQzIDgxYzAgMTggNSAzNCAxMyA0OAorYzQ4IC01OSAxMTkgLTk3IDE5OSAtMTAxYy0yIDcgLTIgMTQgLTIgMjJjMCA1NCA0MyA5NyA5NyA5N2MyOCAwIDUyIC0xMiA3MCAtMzFjMjIgNCA0MyAxMyA2MiAyNGMtNyAtMjMgLTIzIC00MiAtNDMgLTU0YzIwIDIgMzkgNyA1NiAxNXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtdXNkLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYzNTI7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0xMjUgMzQ1YzExIDIgMTkgMyAxOSAzdi0xMzFsLTIyIDZjLTE1IDUgLTI3IDExIC0zNiAxOWMtMTIgMTAgLTE5IDI1IC0xOSA0M2MwIDEzIDQgMjQgMTEgMzNjNiA4IDEzIDE0IDIyIDE5YzcgNCAxNyA2IDI1IDh6TTEyOCAyMzh2OTJjLTcgLTIgLTE1IC00IC0yMSAtN2MtNyAtNCAtMTIgLTkgLTE3IC0xNXMtNyAtMTQgLTcgLTIzYzAgLTEzIDQgLTI0IDEzIC0zMWM4IC03IDIwIC0xMiAzMiAtMTZ6TTI1MiAxNTEKK2MxMCAtMTAgMTUgLTI0IDE1IC00MmMwIC05IC0xIC0xOCAtNSAtMjdzLTExIC0xNyAtMjAgLTI0Yy04IC02IC0xOCAtMTEgLTMxIC0xNWMtNiAtMiAtMTEgLTMgLTE3IC00cy0xOCAtMSAtMTggLTF2MTQ1bDIwIC01YzEwIC0zIDE5IC02IDI4IC05YzEwIC00IDIwIC0xMCAyOCAtMTh6TTI0NyA4OWMzIDcgNCAxMyA0IDIwYzAgMTQgLTMgMjQgLTEwIDMxcy0xNSAxMSAtMjMgMTRzLTE2IDUgLTI2IDh2LTEwN2M2IDEgMTAgMiAxNCAzCitjMTEgMyAyMCA4IDI3IDEzczExIDExIDE0IDE4ek0zMTUgMTQ1YzMgLTEwIDUgLTE5IDUgLTI5YzAgLTIxIC01IC0zOCAtMTQgLTUzcy0yMCAtMjYgLTM1IC0zNXMtMzEgLTE3IC01MCAtMjFjLTEwIC0yIC0xOSAtMyAtMjkgLTR2LTM1aC02NHYzNWMtOSAxIC0xOSA0IC0yOCA2Yy0yMCA1IC0zNiAxMiAtNTEgMjNzLTI2IDI0IC0zNSA0MWMtOCAxNiAtMTMgMzQgLTE0IDU1aDY5YzAgLTEyIDIgLTI0IDcgLTMzYzUgLTEwIDEyIC0xNyAyMSAtMjMKK3MyMCAtMTEgMzEgLTE0djEyMGMtOCAyIC0xOCA0IC0yNyA2Yy0xNyA0IC0zMCA5IC00MSAxNnMtMjAgMTUgLTI3IDIzcy0xMSAxNyAtMTQgMjZzLTQgMTggLTQgMjhjMCAxOCA0IDM0IDEyIDQ4czE5IDI1IDMzIDM0czI5IDE2IDQ2IDIwYzcgMiAxNSAzIDIyIDR2MzNoNjR2LTMzYzkgLTEgMTYgLTQgMjQgLTZjMTggLTUgMzQgLTEyIDQ4IC0yMnMyNSAtMjIgMzMgLTM3YzcgLTEzIDExIC0yOCAxMiAtNDZoLTY5Yy0zIDIxIC0xMiAzNyAtMjYgNDYKK2MtNyA0IC0xMyA4IC0yMiAxMHYtMTA2YzkgLTIgMTYgLTQgMjUgLTZjMTIgLTMgMjIgLTYgMjcgLTdjMTMgLTQgMjMgLTkgMzMgLTE1YzEwIC03IDE4IC0xNCAyNCAtMjJzMTEgLTE3IDE0IC0yN3pNMjkzIDcyYzcgMTIgMTEgMjcgMTEgNDRjMCA4IC0xIDE2IC00IDI0cy03IDE1IC0xMiAyMnMtMTIgMTMgLTIwIDE5Yy04IDUgLTE4IDEwIC0yOSAxM2MtNSAxIC0xMyAzIC0yNCA2aC0xbC00IDFjLTcgMiAtMTMgNCAtMjEgNmwtMTMgM3YxMzcKK3M5IC0xIDE5IC00czE5IC02IDI4IC0xMmMxNSAtOSAyNSAtMjQgMzAgLTQzaDM4Yy0yIDggLTQgMTUgLTggMjJjLTcgMTMgLTE2IDI0IC0yOCAzMmMtMTIgOSAtMjcgMTYgLTQzIDIwYy04IDIgLTE2IDQgLTIzIDVsLTEzIDJ2MzFoLTMydi0zMWwtMTQgLTJjLTcgLTEgLTE0IC0yIC0yMCAtNGMtMTUgLTQgLTI5IC0xMCAtNDEgLTE4cy0yMSAtMTYgLTI4IC0yOGMtNyAtMTEgLTEwIC0yNCAtMTAgLTQwYzAgLTggMSAtMTUgMyAtMjMKK2MyIC03IDYgLTE0IDExIC0yMXMxNCAtMTMgMjMgLTE5YzEwIC02IDIyIC0xMCAzNyAtMTR2MHYwYzQgLTEgOCAtMiAxMSAtM2M1IC0xIDExIC0zIDE2IC00bDEyIC0zdi0xNTFzLTggMSAtMjAgNHMtMjYgOCAtMzYgMTVjLTExIDggLTIwIDE4IC0yNiAzMGMtNCA3IC02IDE2IC04IDI0aC0zNmMyIC0xMSA1IC0yMyAxMCAtMzJjOCAtMTQgMTcgLTI2IDMwIC0zNWMxMyAtMTAgMjggLTE2IDQ2IC0yMWM4IC0yIDE3IC00IDI2IC01bDE0IC0ydi0zMworaDMydjMzbDE1IDFjOSAxIDE3IDMgMjYgNWMxNyA0IDMyIDEwIDQ1IDE4czIzIDE5IDMxIDMxeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC11c2QiIHVuaWNvZGU9IiYjeGYzNTM7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0zMTUgMTQ1YzMgLTEwIDUgLTE5IDUgLTI5YzAgLTIxIC01IC0zOCAtMTQgLTUzcy0yMCAtMjYgLTM1IC0zNXMtMzEgLTE3IC01MCAtMjFjLTEwIC0yIC0xOSAtMyAtMjkgLTR2LTM1aC02NHYzNWMtOSAxIC0xOSA0IC0yOCA2Yy0yMCA1IC0zNiAxMiAtNTEgMjNzLTI2IDI0IC0zNSA0MWMtOCAxNiAtMTMgMzQgLTE0IDU1aDY5YzAgLTEyIDIgLTI0IDcgLTMzYzUgLTEwIDEyIC0xNyAyMSAtMjNzMjAgLTExIDMxIC0xNHYxMjAKK2MtOCAyIC0xOCA0IC0yNyA2Yy0xNyA0IC0zMCA5IC00MSAxNnMtMjAgMTUgLTI3IDIzcy0xMSAxNyAtMTQgMjZzLTQgMTggLTQgMjhjMCAxOCA0IDM0IDEyIDQ4czE5IDI1IDMzIDM0czI5IDE2IDQ2IDIwYzcgMiAxNSAzIDIyIDR2MzNoNjR2LTMzYzkgLTEgMTYgLTQgMjQgLTZjMTggLTUgMzQgLTEyIDQ4IC0yMnMyNSAtMjIgMzMgLTM3YzcgLTEzIDExIC0yOCAxMiAtNDZoLTY5Yy0zIDIxIC0xMiAzNyAtMjYgNDZjLTcgNCAtMTMgOCAtMjIgMTAKK3YtMTA2YzkgLTIgMTYgLTQgMjUgLTZjMTIgLTMgMjIgLTYgMjcgLTdjMTMgLTQgMjMgLTkgMzMgLTE1YzEwIC03IDE4IC0xNCAyNCAtMjJzMTEgLTE3IDE0IC0yN3pNMTI4IDIzOHY5MmMtNyAtMiAtMTUgLTQgLTIxIC03Yy03IC00IC0xMiAtOSAtMTcgLTE1cy03IC0xNCAtNyAtMjNjMCAtMTMgNCAtMjQgMTMgLTMxYzggLTcgMjAgLTEyIDMyIC0xNnpNMjQ3IDg5YzMgNyA0IDEzIDQgMjBjMCAxNCAtMyAyNCAtMTAgMzFzLTE1IDExIC0yMyAxNAorcy0xNiA1IC0yNiA4di0xMDdjNiAxIDEwIDIgMTQgM2MxMSAzIDIwIDggMjcgMTNzMTEgMTEgMTQgMTh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLXZpbWVvLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYyNDQ7IiAKK2Q9Ik00NDUgMzM0YzcgLTMzIDEgLTY2IC0xMyAtOTdzLTMxIC01OSAtNTEgLTg3Yy0yNiAtMzYgLTUyIC03MSAtODUgLTEwMWMtMTkgLTE4IC00MSAtMzUgLTY2IC00NGMtMTAgLTQgLTE5IC01IC0yNyAtNWMtMTcgMCAtMzEgOSAtNDQgMjdjLTE0IDE5IC0yMiA0MCAtMjggNjNjLTEyIDQ1IC0yNSA5MCAtMzggMTM0Yy00IDEyIC05IDIyIC0xNSAzM2MtMyA1IC04IDEwIC0xMiAxNGMtMiAyIC01IDMgLTggM3MtNiAtMSAtOSAtMworYy0xMCAtNiAtMjggLTE4IC0yOCAtMThsLTIxIDI3YzI2IDI0IDgyIDcxIDgyIDcxYzExIDkgMzMgMjUgNDggMjdoOGMxOCAwIDMyIC03IDQyIC0yMmMxMSAtMTcgMTUgLTM3IDE4IC01N2M3IC00MSAxMiAtODIgMjQgLTEyMmMzIC0xMCA3IC0yMCAxMiAtMjljNCAtNyA5IC0xMCAxNCAtMTBjNCAwIDcgMiAxMSA1czcgNiAxMCAxMGMyMCAyNCAzNyA1MiA0OCA4MWMzIDkgMyAxNyAzIDI3YzAgMTMgLTEwIDI1IC0yNSAyNmgtNworYy0xMSAwIC0yMCAtMiAtMzIgLTdjNiAyNCAyNCA2MiA1NCA4NGMyMCAxNCA0NSAyMCA2NyAyMGMxMCAwIDIwIC0yIDI3IC00YzIzIC04IDM2IC0yMyA0MSAtNDZ6TTQxOCAyNDRjMTMgMzAgMTcgNTkgMTEgODdjLTQgMTkgLTEzIDI4IC0zMCAzNGMtNiAyIC0xNCAzIC0yMiAzYy0yMSAwIC00MiAtNiAtNTcgLTE3Yy0xNiAtMTIgLTI5IC0zMCAtMzggLTQ4aDZoOGMyMyAtMSAzOSAtMTkgNDAgLTQxYzAgLTEwIDAgLTIyIC00IC0zNAorYy0xMSAtMjkgLTI5IC01OCAtNTEgLTg1Yy00IC00IC03IC05IC0xMiAtMTNjLTcgLTYgLTE1IC04IC0yMiAtOGMtOCAwIC0xOCAzIC0yNyAxOGMtNyAxMSAtMTEgMjIgLTE0IDMyYy0xMCAzMSAtMTQgNjQgLTE5IDk1Yy0yIDEwIC0zIDE5IC01IDI5Yy0zIDE3IC02IDM2IC0xNiA1MWMtNyAxMCAtMTYgMTUgLTI4IDE1aC02Yy04IC0xIC0yNSAtMTEgLTQwIC0yM2MtMiAtMiAtNDMgLTM3IC03MCAtNjFsMiAtM2M1IDQgMTIgNyAxNiAxMAorYzYgMyAxMiA1IDE4IDVjNyAwIDEzIC0zIDE4IC03YzggLTcgMTMgLTEyIDE2IC0xOGM2IC0xMSAxMiAtMjQgMTYgLTM3YzEzIC00NCAyNiAtODggMzggLTEzM2M1IC0xOSAxMyAtNDEgMjYgLTU5czIzIC0yMCAzMSAtMjBjNiAwIDEzIDEgMjEgNGMyMyA4IDQzIDI1IDYxIDQxYzMyIDI5IDU3IDYzIDgzIDk5djBjMjEgMjggMzcgNTUgNTAgODR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLXZpbWVvIiB1bmljb2RlPSImI3hmMjQ1OyIgCitkPSJNNDQ1IDMzNGM3IC0zMyAxIC02NiAtMTMgLTk3cy0zMSAtNTkgLTUxIC04N2MtMjYgLTM2IC01MiAtNzEgLTg1IC0xMDFjLTE5IC0xOCAtNDEgLTM1IC02NiAtNDRjLTMxIC0xMSAtNTIgLTUgLTcxIDIyYy0xNCAxOSAtMjIgNDAgLTI4IDYzYy0xMiA0NSAtMjUgOTAgLTM4IDEzNGMtNCAxMiAtOSAyMiAtMTUgMzNjLTMgNSAtOCAxMCAtMTIgMTRjLTUgNCAtMTEgMyAtMTcgMGMtMTAgLTYgLTI4IC0xOCAtMjggLTE4bC0yMSAyNworYzI2IDI0IDgyIDcxIDgyIDcxYzExIDkgMzMgMjUgNDggMjdjMjEgMyAzOCAtNCA1MCAtMjJjMTEgLTE3IDE1IC0zNyAxOCAtNTdjNyAtNDEgMTEgLTgyIDIzIC0xMjJjMyAtMTAgOCAtMjAgMTMgLTI5YzcgLTExIDE1IC0xMyAyNSAtNWM0IDMgNyA2IDEwIDEwYzIwIDI0IDM3IDUyIDQ4IDgxYzMgOSAzIDE3IDMgMjdjMCAxMyAtMTAgMjUgLTI1IDI2cy0yNCAtMSAtMzkgLTdjNiAyNCAyNCA2MiA1NCA4NGMyOSAyMSA3MSAyNCA5NCAxNgorczM2IC0yMyA0MSAtNDZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLXdoYXRzYXBwLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0ZWY7IiAKK2Q9Ik0xNzggMjk0YzQgLTExIDE1IC0zOSAxNiAtNDJzMiAtNiAwIC0xMHMtMyAtNiAtNiAtOXMtNiAtNyAtOSAtOWMtMyAtMyAtNiAtNiAtMyAtMTJzMTQgLTI0IDMwIC0zOWMyMSAtMjAgMzggLTI3IDQ0IC0zMHM5IC0zIDEyIDFzMTUgMTYgMTkgMjFzOCA1IDEzIDNzMzEgLTE3IDM3IC0yMHMxMCAtNSAxMSAtN3MwIC0xMyAtNSAtMjZzLTI4IC0yNCAtMzggLTI1cy0xMSAtOCAtNjcgMTZzLTkwIDg0IC05MyA4OHMtMjIgMzEgLTIxIDU4CitzMTcgNDEgMjIgNDZzMTEgNyAxNSA3aDEwczkgMCAxMyAtMTF6TTIyOCAzODRjLTUwIDAgLTk3IC0yMCAtMTMzIC01NWMtMzUgLTM1IC01NSAtODEgLTU1IC0xMzFjMCAtMzQgOSAtNjcgMjcgLTk2bDggLTEzbC01IC0xNGwtMTkgLTU3bDYxIDE5bDEzIDRsMTIgLTZjMjggLTE1IDU5IC0yMyA5MSAtMjNjNTAgMCA5NyAxOSAxMzMgNTRjMzUgMzUgNTUgODIgNTUgMTMycy0yMCA5NiAtNTUgMTMxYy0zNiAzNSAtODMgNTUgLTEzMyA1NXpNMjI4IDQxNgordjBjMTIxIDAgMjIwIC05NyAyMjAgLTIxOHMtOTkgLTIxOCAtMjIwIC0yMThjLTM5IDAgLTc0IDEwIC0xMDYgMjdsLTEyMiAtMzlsNDAgMTE3Yy0yMCAzMyAtMzIgNzIgLTMyIDExM2MwIDEyMSA5OSAyMTggMjIwIDIxOHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtd2hhdHNhcHAiIHVuaWNvZGU9IiYjeGY0ZjA7IiAKK2Q9Ik0yMjggNDE2YzEyMSAwIDIyMCAtOTcgMjIwIC0yMThzLTk5IC0yMTggLTIyMCAtMjE4Yy0zOSAwIC03NCAxMCAtMTA2IDI3bC0xMjIgLTM5bDQwIDExN2MtMjAgMzMgLTMyIDcyIC0zMiAxMTNjMCAxMjEgOTkgMjE4IDIyMCAyMTh6TTMzNyAxMTVjNSAxMyA2IDI0IDUgMjZzLTUgNCAtMTEgN3MtMzIgMTggLTM3IDIwcy05IDIgLTEzIC0zcy0xNiAtMTcgLTE5IC0yMXMtNiAtNCAtMTIgLTFzLTIzIDEwIC00NCAzMAorYy0xNiAxNSAtMjcgMzMgLTMwIDM5czAgOSAzIDEyYzMgMiA2IDYgOSA5czQgNSA2IDlzMSA3IDAgMTBzLTEyIDMxIC0xNiA0MnMtMTAgMTEgLTEzIDExaC0xMHMtMTAgLTIgLTE1IC03cy0yMSAtMTkgLTIyIC00NnMxOCAtNTQgMjEgLTU4czM3IC02NCA5MyAtODhzNTcgLTE3IDY3IC0xNnMzMyAxMiAzOCAyNXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtd2luZG93cy1vdXRsaW5lIiB1bmljb2RlPSImI3hmMjQ2OyIgCitkPSJNNDMyIDE2N2gtMjE2di0xNDlsMjE2IC0zMnYxODF6TTQ0OCAxODN2MHYtMjE1bC0yNDggMzZ2MTc5aDI0OHpNMTY4IDE2N2gtMTUydi0xMjBsMTUyIC0yMnYxNDJ6TTE4NCAxODN2MHYtMTc3bC0xODQgMjd2MTUwaDE4NHpNNDMyIDM5OHYwbC0yMTYgLTMxdi0xNTJoMjE2djE4M3pNNDQ4IDQxNnYwdi0yMTdoLTI0OHYxODJ6TTE2OCAzNjB2MGwtMTUyIC0yMnYtMTIzaDE1MnYxNDV6TTE4NCAzNzh2MHYtMTc5aC0xODR2MTUzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC13aW5kb3dzIiB1bmljb2RlPSImI3hmMjQ3OyIgCitkPSJNNDQ4IDE4M3Ywdi0yMTVsLTI0OCAzNnYxNzloMjQ4ek0xODQgMTgzdjB2LTE3N2wtMTg0IDI3djE1MGgxODR6TTQ0OCA0MTZ2MHYtMjE3aC0yNDh2MTgyek0xODQgMzc4djB2LTE3OWgtMTg0djE1M3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtd29yZHByZXNzLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYyNDg7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0xOTIgMzg0YzEwNiAwIDE5MiAtODYgMTkyIC0xOTJjMCAtOSAtMSAtMTggLTIgLTI2Yy0xMiAtODUgLTc5IC0xNTMgLTE2NSAtMTY0Yy04IC0xIC0xNyAtMiAtMjUgLTJjLTEwNiAwIC0xOTIgODYgLTE5MiAxOTJzODYgMTkyIDE5MiAxOTJ6TTE5IDE5MmMwIC02OCA0MCAtMTI3IDk4IC0xNTVsLTgzIDIyNWMtMTAgLTIxIC0xNSAtNDUgLTE1IC03MHpNMjE0IDIxYzEyIDIgMjQgNCAzNSA4YzAgMSAtMSAyIC0xIDNsLTUzIDE0NWwtMzMgLTk2Cit2MGwtMTkgLTU1YzE1IC01IDMyIC03IDQ5IC03YzggMCAxNSAxIDIyIDJ6TTIxNiAyNzNsNjIgLTE4NmwxNyA1OGM5IDIyIDEzIDQxIDEzIDU2YzAgMjEgLTcgMzUgLTE0IDQ3Yy05IDE0IC0xNyAyNyAtMTcgNDFjMCAxNiAxMiAzMCAyOSAzMGgyYy0zMSAyOCAtNzEgNDUgLTExNiA0NWMtNjAgMCAtMTEzIC0zMCAtMTQ0IC03N2M0IDAgOCAtMSAxMSAtMWMxOCAwIDQ2IDMgNDYgM2M5IDEgMTAgLTE0IDEgLTE1YzAgMCAtMTAgLTEgLTIwIC0xCitsNjMgLTE4N2wzOCAxMTNsLTI3IDc0Yy05IDAgLTE4IDEgLTE4IDFjLTkgMCAtOCAxNiAxIDE1YzAgMCAyOCAtMyA0NSAtM2MxOCAwIDQ2IDMgNDYgM2M5IDEgMTEgLTE0IDIgLTE1YzAgMCAtMTAgLTEgLTIwIC0xek0yNzkgNDNjNDUgMjYgNzcgNzEgODQgMTI1YzEgOCAyIDE2IDIgMjRjMCAzMCAtOCA1OCAtMjIgODNjMSAtNiAxIC0xMiAxIC0xOGMwIC0xOCAtMyAtMzcgLTEzIC02MmwtMzkgLTExM3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb2NpYWwtd29yZHByZXNzIiB1bmljb2RlPSImI3hmMjQ5OyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMTk1IDE3N2w1MyAtMTQ2YzAgLTEgNiAtMTMgOSAtMTljLTMgLTEgLTUgLTIgLTggLTN2MGMtMTAgLTMgLTIxIC02IC0zMiAtN2MtOCAtMSAtMTcgLTIgLTI1IC0yYy0xNyAwIC0zNCAyIC01MCA2djBjLTIgMCAtMyAyIC01IDJsMjUgNzN2MHpNMTcgMjY4YzYgMCA3IC0xIDE1IC0xbDkzIC0yNTVjLTMgMSAtNSAyIC04IDNjLTYzIDI3IC0xMDkgODcgLTExNiAxNThjLTEgNiAtMSAxMyAtMSAxOWMwIDI1IDcgNTMgMTcgNzZ6TTM2NiAyNzMKK2MxMSAtMjQgMTggLTUyIDE4IC04MWMwIC05IC0xIC0xOCAtMiAtMjZjLTkgLTY1IC01MCAtMTIwIC0xMDcgLTE0N2MtMiAtMSAtMyAtMSAtNSAtMmwyMiA2NWwzOSAxMTNjMTAgMjUgMTMgNDUgMTMgNjJ2MTl2MGMtMSAxOCAtMTAgNDQgLTM2IDQzaC0yYy0xNyAwIC0yOSAtMTQgLTI5IC0zMGMwIC0xNCA4IC0yNyAxNyAtNDFjNyAtMTIgMTQgLTI2IDE0IC00N2MwIC0xNSAtNCAtMzQgLTEzIC01NmwtMTcgLTU4bC02MiAxODYKK2MxMCAwIDIwIDEgMjAgMWM5IDEgNyAxNiAtMiAxNWMwIDAgLTI4IC0zIC00NiAtM2MtMTcgMCAtNDUgMyAtNDUgM2MtOSAxIC0xMCAtMTUgLTEgLTE1YzAgMCA5IC0xIDE4IC0xbDI3IC03NGwtMzggLTExM2wtNjMgMTg3YzEwIDAgMjAgMiAyMCAyYzkgMSA4IDE1IC0xIDE0YzAgMCAtMjggLTIgLTQ2IC0yaC0zNGM1IDkgMTEgMTcgMTcgMjVjMzUgNDQgOTAgNzIgMTUwIDcyYzI0IDAgNDggLTUgNjkgLTEzYzM0IC0xMyA2MyAtMzYgODUgLTY1CitjMiAtMiAzIC01IDUgLTdjNiAtOCAxMSAtMTcgMTUgLTI2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC15YWhvby1vdXRsaW5lIiB1bmljb2RlPSImI3hmMjRhOyIgaG9yaXotYWR2LXg9IjMyMCIgCitkPSJNMjg5IDM4MGMxMSAwIDIxIDEgMzEgNGwtMTI4IC0yMTN2LTE3MWMtMTAgNCAtMjEgNCAtMzIgNHMtMjIgMCAtMzIgLTR2MTcxbC0xMjggMjEzYzEwIC00IDIxIC00IDMyIC00czIyIDAgMzIgNGw5NiAtMTYwbDk2IDE2MGMxMCAtNCAyMiAtNCAzMyAtNHpNMTc4IDE4MGwxMTEgMTg0aC0xYy03IDAgLTE1IDAgLTI0IDJsLTkwIC0xNTBsLTE0IC0yM2wtMTQgMjNsLTg5IDE1MGMtOSAtMiAtMTcgLTIgLTI1IC0yaC0xbDExMSAtMTg0bDIgLTQKK3YtNXYtMTUxYzYgMSAxMSAwIDE2IDBzMTEgMSAxNiAwdjE1MXY1eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC15YWhvbyIgdW5pY29kZT0iJiN4ZjI0YjsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTI4OSAzODBjMTEgMCAyMSAxIDMxIDRsLTEyOCAtMjEzdi0xNzFjLTEwIDQgLTIxIDQgLTMyIDRzLTIyIDAgLTMyIC00djE3MWwtMTI4IDIxM2MxMCAtNCAyMSAtNCAzMiAtNHMyMiAwIDMyIDRsOTYgLTE2MGw5NiAxNjBjMTAgLTQgMjIgLTQgMzMgLTR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLXllbi1vdXRsaW5lIiB1bmljb2RlPSImI3hmNGYxOyIgaG9yaXotYWR2LXg9IjM4NCIgCitkPSJNMzg0IDQxNmwtMTEyIC0yMDhoNDh2LTQ4aC03M2wtMTUgLTMxdi0xN2g4OHYtNDhoLTg4di05NmgtODB2OTZoLTg4djQ4aDg4djE3bC0xNCAzMWgtNzR2NDhoNDhsLTExMiAyMDhoODBsMTEyIC0yMjFsMTEyIDIyMWg4MHpNMzA0IDE5MmgtNTlsMTMgMjRsOTkgMTg0djBoLTQzbC0xMjIgLTI0MGwtMTIyIDI0MGgtNDNsOTkgLTE4NGwxMyAtMjRoLTU5di0xNmg2OGwyMCAtNDR2LTM2aC04OHYtMTZoODh2LTk2aDQ4djk2aDg4djE2aC04OHYzNworbDIxIDQzaDY3djE2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC15ZW4iIHVuaWNvZGU9IiYjeGY0ZjI7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zODQgNDE2bC0xMTIgLTIwOGg0OHYtNDhoLTczbC0xNSAtMzF2LTE3aDg4di00OGgtODh2LTk2aC04MHY5NmgtODh2NDhoODh2MTdsLTE0IDMxaC03NHY0OGg0OGwtMTEyIDIwOGg4MGwxMTIgLTIyMWwxMTIgMjIxaDgweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvY2lhbC15b3V0dWJlLW91dGxpbmUiIHVuaWNvZGU9IiYjeGYyNGM7IiBob3Jpei1hZHYteD0iNTEyIiAKK2Q9Ik0yNjUgMzUydjBoLTloLTljLTY1IDAgLTExOCAtMiAtMTY4IC00aC0xaC0xYy0yMyAwIC00MiAtMjIgLTQyIC00OXYtMXYtMWMtMiAtMzQgLTMgLTcwIC0zIC0xMDV2MHYwYzAgLTM1IDEgLTcwIDMgLTEwNHYtMnYtMWMwIC0xNCA1IC0yNiAxNCAtMzZjOCAtOSAxNyAtMTMgMjggLTEzaDFoMWM1MiAtMiAxMDggLTQgMTY2IC00aDExdjB2MGgxMWM1OCAwIDExMyAyIDE2NiA0aDFoMWMxMSAwIDIwIDQgMjggMTNjOSAxMCAxNCAyMiAxNCAzNnYxCit2MmMyIDM0IDMgNjggMyAxMDR2MHYwYzAgMzYgLTEgNzEgLTMgMTA1djF2MmMwIDI3IC0xOSA0OSAtNDIgNDloLTFoLTFjLTQ5IDIgLTEwMyAzIC0xNjggM3pNMjY1IDM4NHYwYzU4IDAgMTE1IDAgMTcwIC0zYzQxIDAgNzQgLTM2IDc0IC04MWMyIC0zNiAzIC03MiAzIC0xMDhzLTEgLTcxIC0zIC0xMDdjMCAtNDUgLTMzIC04MSAtNzQgLTgxYy01NSAtMyAtMTExIC00IC0xNjggLTRoLTExaC0xMWMtNTcgMCAtMTEzIDEgLTE2OCA0CitjLTQxIDAgLTc0IDM2IC03NCA4MWMtMiAzNiAtMyA3MSAtMyAxMDdzMiA3MSA0IDEwN2MwIDQ1IDMyIDgyIDczIDgyYzU1IDIgMTEyIDMgMTcwIDNoOWg5ek0yMDcgOTR2MTk3bDE0NSAtOTl6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc29jaWFsLXlvdXR1YmUiIHVuaWNvZGU9IiYjeGYyNGQ7IiBob3Jpei1hZHYteD0iNTEyIiAKK2Q9Ik01MDkgMjk5YzIgLTM2IDMgLTcxIDMgLTEwN3MtMSAtNzEgLTMgLTEwN2MwIC00NSAtMzMgLTgxIC03NCAtODFjLTU4IC0zIC0xMTggLTQgLTE3OSAtNHMtMTIxIDEgLTE3OSA0Yy00MSAwIC03NCAzNiAtNzQgODFjLTIgMzYgLTMgNzEgLTMgMTA3czIgNzEgNCAxMDdjMCA0NSAzMiA4MSA3MyA4MWM1NSAzIDExMiA0IDE3MCA0aDloOWM1OCAwIDExNSAtMSAxNzAgLTRjNDEgMCA3NCAtMzYgNzQgLTgxek0yMDcgOTRsMTQ1IDk4bC0xNDUgOTkKK3YtMTk3eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNvdXAtY2FuLW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0ZjM7IiBob3Jpei1hZHYteD0iMzIwIiAKK2Q9Ik0xNjAgMzA0Yy04OCAwIC0xNjAgMjkgLTE2MCA2NHM3MiA2NCAxNjAgNjRzMTYwIC0yOSAxNjAgLTY0cy03MiAtNjQgLTE2MCAtNjR6TTE2MCA0MTVjLTcwIDAgLTEyNiAtMTkgLTEyNiAtNDNzNTYgLTQzIDEyNiAtNDNzMTI2IDE5IDEyNiA0M3MtNTYgNDMgLTEyNiA0M3pNMTYxIDI4OGM4OCAwIDE1OCAyOSAxNTkgNjRjMCAtNSAwIC0zMyAtOCAtNDB2LTI0MGMwIC0zNSAtNjQgLTY0IC0xNTIgLTY0cy0xNTIgMjkgLTE1MiA2NHYyNDAKK2MtOCA2IC04IDQwIC04IDQwYzAgLTM1IDczIC02NCAxNjEgLTY0ek0yODAgNzJ2ODBjLTE4IC0xMCAtNDMgLTE3IC03MiAtMjFoLTJjLTYgLTIwIC0yNCAtMzUgLTQ2IC0zNXMtNDAgMTUgLTQ2IDM1aC0yYy0yOSA0IC01NCAxMSAtNzIgMjF2LTgwYzEgLTIgOSAtMTAgMzAgLTE4YzI0IC05IDU1IC0xNCA5MCAtMTRzNjcgNSA5MSAxNGMyMSA4IDI5IDE2IDI5IDE4ek0yODAgMTg0djkxYy0zMyAtMTIgLTc1IC0xOSAtMTE5IC0xOQorYy00NSAwIC04NyA3IC0xMjEgMTl2LTkxYzE4IC0xMCA0MyAtMTcgNzMgLTIxaDNjNyAxNyAyNCAyOSA0NCAyOXMzNyAtMTIgNDQgLTI5aDNjMzAgNCA1NSAxMSA3MyAyMXpNMTc4IC0xNnpNMTYwIC0xNmgxaC0xdjB6TTMxMiAzMmw4IC0xNmMwIC03IC0zIC0xNCAtOCAtMjBjLTIxIC0yNiAtODEgLTQ0IC0xNTIgLTQ0cy0xMzEgMTggLTE1MiA0NGMtNSA2IC04IDEzIC04IDIwbDggMTZ2MTZjMCAtMzUgNjMgLTY0IDE1MiAtNjQKK3MxNTIgMjggMTUyIDY0di0xNnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zb3VwLWNhbiIgdW5pY29kZT0iJiN4ZjRmNDsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTAgMzY4YzAgNDMgNTMgNjQgMTYwIDY0czE2MCAtMjEgMTYwIC02NHMtNTMgLTY0IC0xNjAgLTY0cy0xNjAgMjEgLTE2MCA2NHpNMTYwIDhjLTQ0IDAgLTgwIDYgLTEwOSAxOHMtNDMgMjggLTQzIDQ2djEyOGMwIC05IDQgLTE5IDEzIC0yN3MyMSAtMTUgMzcgLTIxczMzIC0xMCA1NCAtMTNjMSAtMTIgNyAtMjMgMTYgLTMxczIwIC0xMiAzMiAtMTJzMjMgNCAzMiAxMnMxNSAxOSAxNiAzMWMzMSA0IDU2IDEyIDc1IDIzczI5IDI0IDI5IDM4Cit2LTEyOGMwIC0xOCAtMTQgLTM0IC00MyAtNDZzLTY1IC0xOCAtMTA5IC0xOHpNMTYwIDI4OGM0NCAwIDgyIDYgMTEzIDE4czQ3IDI4IDQ3IDQ2di04YzAgLTUgLTEgLTExIC0yIC0xOHMtMyAtMTEgLTYgLTE0di05NmMwIC0xNCAtMTAgLTI3IC0yOSAtMzhzLTQ0IC0xOSAtNzYgLTIzYy0yIDExIC04IDE5IC0xNyAyNnMtMTkgMTEgLTMwIDExcy0yMSAtNCAtMzAgLTExcy0xNSAtMTUgLTE3IC0yNmMtMzIgNCAtNTcgMTIgLTc2IDIzCitzLTI5IDI0IC0yOSAzOHY5NmMtNSA1IC04IDE4IC04IDQwYzAgLTE4IDE2IC0zNCA0NyAtNDZzNjkgLTE4IDExMyAtMTh6TTMxMiA1NnYtMjRsOCAtMTZjMCAtNyAtMyAtMTQgLTggLTIwYy0xMSAtMTMgLTMwIC0yNCAtNTggLTMycy01OSAtMTIgLTk0IC0xMnMtNjYgNCAtOTQgMTJzLTQ3IDE5IC01OCAzMmMtNSA2IC04IDEzIC04IDIwbDggMTZ2MjRjMCAtMTggMTQgLTM0IDQzIC00NnM2NSAtMTggMTA5IC0xOHM4MCA2IDEwOSAxOAorczQzIDI4IDQzIDQ2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNwZWFrZXJwaG9uZSIgdW5pY29kZT0iJiN4ZjJiMjsiIAorZD0iTTM5IDI2NmMwIC0zNyAyMCAtNjkgNTAgLTg2Yy0xIDAgLTIgMSAtMyAxcy00IDEgLTUgMXYwYy0zNSAzIC02MiAzMyAtNjkgNjljLTYgMCAtMTIgNyAtMTIgMTZjMCA4IDUgMTUgMTEgMTZjNiA0MiA0MCA3NSA4MSA3NWg4Yy0zNiAtMTUgLTYxIC01MSAtNjEgLTkyek00MzMgMzU3YzEwIC0yNSAxNSAtNTYgMTUgLTg4cy01IC02MyAtMTUgLTg4bC0zIC05Yy02IC0xNCAtMTUgLTI2IC0yNCAtMzRjLTEwIC0xMCAtMjIgLTE5IC0zNCAtMjBoLTMKK2MtNyAwIC0xNSAyIC0yMiA1Yy0zIDIgLTEwIDUgLTEwIDVjLTIyIDEwIC04NCAyOCAtMTE1IDI5Yy00IC04IC0xMCAtMjAgLTEyIC0zMGMtMiAtOSAtNiAtMjcgLTcgLTYxYy0xIC0zMiAxIC01OSAzIC04MmMwIC0yIDEgLTUgMSAtN2MwIC02IC0yIC05IC05IC05aC03N2MtNiAwIC05IDMgLTkgNnY3YzIgNzIgMjUgMTQwIDI2IDE0NWMyIDkgNSAxNyA3IDMwYzIgMTIgLTI3IDEzIC00MCAyNGMtMjkgMTcgLTQ3IDQ5IC00NyA4NgorYzAgNDEgMjUgNzcgNTkgOTJoNDJoMTljNTggMyAxMTQgMjEgMTYzIDUwYzEgMSAzIDEgNCAydjBjOCA0IDE2IDYgMjQgNmMxMyAwIDI2IC02IDM3IC0xNmM5IC05IDE4IC0yMSAyNCAtMzVjMSAtMyAyIC01IDMgLTh6TTQxMCAxODBjOSAyMiAxNSA1NCAxNSA4OXMtNiA2NiAtMTUgODhjLTggMTggLTE5IDI5IC0zMCAyOXMtMjEgLTExIC0yOSAtMjljLTkgLTIyIC0xNSAtNTMgLTE1IC04OHM2IC02NyAxNSAtODljOCAtMTkgMTggLTMzIDI5IC0zMworczIyIDE1IDMwIDMzeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXNwZWVkb21ldGVyIiB1bmljb2RlPSImI3hmMmIzOyIgCitkPSJNMzEyIDE5Mmw4IC04bC02NCAtODR2LTRjMCAtMTggLTE0IC0zMiAtMzIgLTMycy0zMiAxNCAtMzIgMzJzMTQgMzIgMzIgMzJoNHpNMjI0IDM1MmMxMjQgMCAyMjQgLTEwMCAyMjQgLTIyNGMwIC0zNCAtOCAtNjcgLTIyIC05NmgtMzZjMTUgMjcgMjUgNTcgMjYgODhoLTMydjE2aDMyYy0xIDI5IC05IDU2IC0yMiA4MWwtMjcgLTE1bC04IDEzbDI3IDE2Yy04IDEyIC0xNiAyMyAtMjYgMzNzLTIxIDE4IC0zMyAyNmwtMTYgLTI3bC0xNCA4CitsMTYgMjdjLTI1IDEzIC01MiAyMSAtODEgMjJ2LTMyaC0xNnYzMmMtMjkgLTEgLTU2IC05IC04MSAtMjJsMTYgLTI3bC0xNCAtOGwtMTYgMjdjLTEyIC04IC0yMyAtMTYgLTMzIC0yNnMtMTkgLTIxIC0yNiAtMzNsMjggLTE2bC04IC0xM2wtMjggMTVjLTEzIC0yNSAtMjEgLTUyIC0yMiAtODFoMzJ2LTE2aC0zMmMxIC0zMSAxMSAtNjEgMjYgLTg4aC0zNmMtMTQgMjkgLTIyIDYyIC0yMiA5NmMwIDEyNCAxMDAgMjI0IDIyNCAyMjR6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc3Bvb24iIHVuaWNvZGU9IiYjeGYyYjQ7IiBob3Jpei1hZHYteD0iMTI4IiAKK2Q9Ik0xMjggMjg4YzAgNjQgLTI2IDEyOCAtNjQgMTI4cy02NCAtNjQgLTY0IC0xMjh2MGMxIC0yNSAxNiAtNTQgMzcgLTY0bDEgLTF2MGMzIC0yIDEwIC02IDEwIC0xMGMwIDAgLTE2IC0xOTkgLTE2IC0yMTBzNCAtMjAgMTAgLTI2czE0IC05IDIyIC05djB2MGM4IDAgMTYgMyAyMiA5czEwIDEzIDEwIDI2cy0xNiAyMTAgLTE2IDIxMGMwIDQgNyA4IDEwIDEwbDEgMWMyMiAxMCAzNyAzOCAzNyA2NHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi1zdGFyIiB1bmljb2RlPSImI3hmMjRlOyIgCitkPSJNNDQ4IDI0OGwtMTM5IC0xMDRsNTUgLTE3NmwtMTQwIDExMmwtMTQwIC0xMTJsNTUgMTc2bC0xMzkgMTA0aDE3Mmw1MiAxNjhsNTMgLTE2OGgxNzF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc3RhdHMtYmFycyIgdW5pY29kZT0iJiN4ZjJiNTsiIGhvcml6LWFkdi14PSIzNTIiIAorZD0iTTk2IDMydjMyMGg2NHYtMzIwaC02NHpNMCAzMnY5Nmg2NHYtOTZoLTY0ek0xOTIgMzJ2MTYwaDY0di0xNjBoLTY0ek0yODggMzJ2MjI0aDY0di0yMjRoLTY0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXN0ZWFtIiB1bmljb2RlPSImI3hmMzBiOyIgaG9yaXotYWR2LXg9IjUxMiIgCitkPSJNNDgwIDI0MGMwIC0yMCAtMTYgLTM3IC0zNyAtMzdjLTIwIDAgLTM3IDE2IC0zNyAzN2MwIDIwIDE2IDM3IDM3IDM3YzIwIDAgMzcgLTE3IDM3IC0zN3pNNDQzIDMwOWMzOCAwIDY5IC0zMSA2OSAtNjlzLTMxIC03MCAtNjkgLTcwbC02NyAtNDhjLTIgLTI2IC0yNCAtNDcgLTUxIC00N2MtMjUgMCAtNDYgMTggLTUxIDQxbC0xOTYgNzhjLTggLTUgLTE2IC03IC0yNiAtN2MtMjggMCAtNTIgMjQgLTUyIDUyczI0IDUyIDUyIDUyCitjMjUgMCA0NSAtMTggNTAgLTQxbDE5NiAtNzljOCA1IDE3IDggMjcgOGMyIDAgMyAtMSA1IC0xbDQzIDYyYzAgMzggMzIgNjkgNzAgNjl6TTQ0MyAyODZjLTI2IDAgLTQ3IC0yMCAtNDcgLTQ2czIxIC00NyA0NyAtNDdzNDYgMjEgNDYgNDdzLTIwIDQ2IC00NiA0NnpNNTIgMjc3Yy0yMSAwIC0zOCAtMTcgLTM4IC0zOHMxNyAtMzggMzggLTM4YzMgMCA1IDAgOCAxbC0xNiA2djBjLTE1IDcgLTIyIDI0IC0xNiAzOXMyNCAyMyAzOSAxN3YwbDE5IC03CitjLTYgMTIgLTE5IDIwIC0zNCAyMHpNMzI1IDE2NWMtMyAwIC02IC0xIC05IC0xbDE2IC02YzE2IC02IDIzIC0yNCAxNyAtNDBzLTIzIC0yMyAtMzkgLTE3Yy02IDMgLTEzIDYgLTE5IDhjNiAtMTIgMTkgLTIwIDM0IC0yMGMyMSAwIDM4IDE3IDM4IDM4cy0xNyAzOCAtMzggMzh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tc3RvcCIgdW5pY29kZT0iJiN4ZjI0ZjsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTM3MyAzODRjNiAwIDExIC01IDExIC0xMXYtMzYyYzAgLTYgLTUgLTExIC0xMSAtMTFoLTM2MmMtNiAwIC0xMSA1IC0xMSAxMXYzNjJjMCA2IDUgMTEgMTEgMTFoMzYyeiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXRoZXJtb21ldGVyIiB1bmljb2RlPSImI3hmMmI2OyIgaG9yaXotYWR2LXg9IjE2MCIgCitkPSJNMTI3IDExMmMyMCAtMTQgMzMgLTM4IDMzIC02NGMwIC00NCAtMzYgLTgwIC04MCAtODBzLTgwIDM2IC04MCA4MGMwIDI3IDEzIDUxIDMzIDY1djI1N2MwIDI2IDIxIDQ2IDQ3IDQ2czQ3IC0yMCA0NyAtNDZ2LTI1OHpNNjUgMzcwdi01MGgzMHY1MGMwIDggLTcgMTQgLTE1IDE0cy0xNSAtNiAtMTUgLTE0ek05NiAxNjB2MTZoLTE2di0xNmgxNnpNOTYgMTkydjY0aC0xNnYtNjRoMTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tdGh1bWJzZG93biIgdW5pY29kZT0iJiN4ZjI1MDsiIGhvcml6LWFkdi14PSIzODQiIAorZD0iTTI0IDE5NWMtMTAgNSAtMTggMTcgLTE4IDI5YzAgMTQgOCAyNSAyMCAzMGMtNCA1IC02IDEyIC02IDE5YzAgMTQgOCAyNSAyMCAzMGMtMyA1IC01IDExIC01IDE3YzAgMTggMTEgMjQgMzUgMzBzNzQgMTIgMTI2IDljMjMgLTEgNTUgLTcgNzYgLTd2MzJoMTEydi0yNDBoLTExMnYxNmMtMTUgLTEgLTMxIC00IC00MCAtMTRjLTIyIC0yMyAtNDAgLTY1IC00MCAtMTA4YzAgLTE5IDEgLTI5IC00IC0zNGMtMTMgLTEzIC00NCA5IC01MiAzNworYy05IDM0IC0xIDYyIDEgODdoLTEwM2MtMTkgMCAtMzQgMTUgLTM0IDM0YzAgMTUgMTAgMjkgMjQgMzN6TTMzNiAzNTJjLTkgMCAtMTYgLTcgLTE2IC0xNnM3IC0xNiAxNiAtMTZzMTYgNyAxNiAxNnMtNyAxNiAtMTYgMTZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tdGh1bWJzdXAiIHVuaWNvZGU9IiYjeGYyNTE7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0zNjAgMTg5YzEwIC01IDE4IC0xNyAxOCAtMjljMCAtMTQgLTggLTI1IC0yMCAtMzBjNCAtNSA2IC0xMiA2IC0xOWMwIC0xNCAtOCAtMjUgLTIwIC0zMGMzIC01IDUgLTExIDUgLTE3YzAgLTE4IC0xMSAtMjQgLTM1IC0zMHMtNzQgLTEyIC0xMjYgLTljLTIzIDEgLTU1IDcgLTc2IDd2LTMyaC0xMTJ2MjQwaDExMnYtMTZjMTUgMSAzMSA0IDQwIDE0YzIyIDIzIDQwIDY1IDQwIDEwOGMwIDE5IC0xIDI5IDQgMzRjMTMgMTMgNDQgLTkgNTIgLTM3CitjOSAtMzQgMSAtNjIgLTEgLTg3aDEwM2MxOSAwIDM0IC0xNSAzNCAtMzRjMCAtMTUgLTEwIC0yOSAtMjQgLTMzek00OCAzMmM5IDAgMTYgNyAxNiAxNnMtNyAxNiAtMTYgMTZzLTE2IC03IC0xNiAtMTZzNyAtMTYgMTYgLTE2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXRvZ2dsZS1maWxsZWQiIHVuaWNvZGU9IiYjeGYzNTQ7IiAKK2Q9Ik0zMjAgMjQwYzI2IDAgNDggLTIyIDQ4IC00OHMtMjIgLTQ4IC00OCAtNDhzLTQ4IDIyIC00OCA0OHMyMiA0OCA0OCA0OHpNMzIwIDMyMGM3MSAwIDEyOCAtNTcgMTI4IC0xMjhzLTU3IC0xMjggLTEyOCAtMTI4aC0xOTJjLTcxIDAgLTEyOCA1NyAtMTI4IDEyOHM1NyAxMjggMTI4IDEyOGgxOTJ6TTMyMCAxMTJjNDQgMCA4MCAzNiA4MCA4MHMtMzYgODAgLTgwIDgwcy04MCAtMzYgLTgwIC04MHMzNiAtODAgODAgLTgweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXRvZ2dsZSIgdW5pY29kZT0iJiN4ZjM1NTsiIAorZD0iTTMyMCAyODhoLTE5MmMtNTMgMCAtOTYgLTQzIC05NiAtOTZzNDMgLTk2IDk2IC05NmgxOTJjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYgLTk2IDk2ek0zMjAgMzIwdjBjNzEgMCAxMjggLTU3IDEyOCAtMTI4cy01NyAtMTI4IC0xMjggLTEyOGgtMTkyYy03MSAwIC0xMjggNTcgLTEyOCAxMjhzNTcgMTI4IDEyOCAxMjhoMTkyek0xMjggMjQwYy0yNiAwIC00OCAtMjIgLTQ4IC00OHMyMiAtNDggNDggLTQ4czQ4IDIyIDQ4IDQ4CitzLTIyIDQ4IC00OCA0OHpNMTI4IDI3MnYwYzQ0IDAgODAgLTM2IDgwIC04MHMtMzYgLTgwIC04MCAtODBzLTgwIDM2IC04MCA4MHMzNiA4MCA4MCA4MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi10cmFuc2dlbmRlciIgdW5pY29kZT0iJiN4ZjRmNTsiIGhvcml6LWFkdi14PSI1MTIiIAorZD0iTTM2OCA0NDhoMTQ0di0xNDRoLTQwdjc2bC0xMDEgLTEwMGM4IC0xNyAxMyAtMzYgMTMgLTU2YzAgLTYzIC00NiAtMTE1IC0xMDQgLTEyNnYtNTJoNzJ2LTQ2aC03MnYtNjRoLTQ4djY0aC03MnY0Nmg3MnY1MmMtNTkgMTEgLTEwNCA2MyAtMTA0IDEyNmMwIDIwIDUgMzkgMTMgNTZsLTIyIDIybC0zNiAtMzZsLTMzIDMzbDM2IDM2bC00NiA0NXYtNzZoLTQwdjE0NGgxNDR2LTQwaC03MGw0MyAtNDJsMzYgMzZsMzMgLTMzbC0zNiAtMzYKK2wxNyAtMTdjMjMgMjIgNTQgMzYgODkgMzZjMjcgMCA1MyAtOCA3NCAtMjNjMCAwIDYgLTUgMTUgLTEzbDkzIDkyaC03MHY0MHpNMjU2IDE0NGM0NCAwIDgwIDM2IDgwIDgwcy0zNiA4MCAtODAgODBzLTgwIC0zNiAtODAgLTgwczM2IC04MCA4MCAtODB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tdHJhc2gtYSIgdW5pY29kZT0iJiN4ZjI1MjsiIGhvcml6LWFkdi14PSIzNTIiIAorZD0iTTI2MSAzMjB2MGg5MXYtMzJoLTlzLTUgLTEgLTggLTRzLTQgLTkgLTQgLTlsLTE5IC0yNDFjLTIgLTI5IC0yIC0zNCAtMzYgLTM0aC0yMDBjLTM0IDAgLTM0IDUgLTM2IDM0bC0xOSAyNDJzLTEgNiAtNCA5cy04IDMgLTggM2gtOXYzMmg5MXYyOWMwIDE5IDE0IDM1IDM0IDM1aDEwMWMyMCAwIDM1IC0xNiAzNSAtMzV2LTI5ek0xMTIgMzQ5di0yOWgxMjh2MjljMCAxMCAtOSAxNSAtMTkgMTVoLTkxYy0xMCAwIC0xOCAtNSAtMTggLTE1egorTTEwNCA2NGgyMGwtMTAgMTkyaC0yMXpNMTg3IDY0djE5MmgtMjJ2LTE5MmgyMnpNMjQ5IDY0bDEwIDE5MmgtMjBsLTExIC0xOTJoMjF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tdHJhc2gtYiIgdW5pY29kZT0iJiN4ZjI1MzsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTMxOCAzMTVjMyAtMTIgNCAtMTEgLTcgLTExaC0zMDJjLTExIDAgLTEwIC0xIC03IDExYzIgOSA0IDEzIDQgMTNjMyA5IDkgOSAxOSAxMWw1MyA3YzcgMSA3IDEgMTAgN2M5IDIwIDEwIDMxIDIwIDMxaDEwM2MxMCAwIDEyIC0xMSAyMSAtMzFjMyAtNiAzIC02IDEwIC03bDUzIC02YzEwIC0yIDE2IC0yIDE5IC0xMWMwIDAgMiAtNSA0IC0xNHpNMjgzIDI3MmMxNyAwIDE4IC0yIDE3IC0xNWwtMTkgLTI0MmMtMiAtMTIgLTIgLTE1IC0xNyAtMTUKK2gtMjA4Yy0xNSAwIC0xNSAzIC0xNyAxNWwtMTkgMjQyYy0xIDEyIDAgMTUgMTcgMTVoMjQ2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXRyb3BoeSIgdW5pY29kZT0iJiN4ZjM1NjsiIAorZD0iTTQ0OCAzNDVjMCAtMjUgMiAtNzMgLTIyIC0xMjJjLTE1IC0zMCAtMzYgLTU1IC02MyAtNzVjLTIzIC0xNiAtNDkgLTI4IC03NyAtMzVjLTE2IC0xNyAtMzIgLTI3IC00NiAtMzF2LTMzczAgLTQ5IDk5IC00OWgxM3YtMzJoLTI1NnYzMmgxM2M4NSAwIDk3IDM1IDk5IDQ2djM2Yy0xNCA0IC0zMCAxNCAtNDYgMzFjLTI4IDcgLTU1IDE5IC03NyAzNWMtMjcgMjAgLTQ4IDQ1IC02MyA3NWMtMTcgMzYgLTIxIDcxIC0yMiA5N3YwdjExdjB2MjF2MAoraDgwYy0yIDM1IDAgNjQgMCA2NGgxNDNoMWgxaDE0MnMyIC0yOSAwIC02NGg4MXYtN3pNNTEgMjM3YzE3IC0zNCA0MyAtNjEgNzcgLTc4Yy0yMiA0MCAtMzMgODQgLTQyIDEzNWMtMSA4IC0yIDE3IC0zIDI2aC01MWMxIC0yMyA1IC01MyAxOSAtODN6TTM5NyAyMzdjMTQgMzAgMTggNjAgMTkgODNoLTUxYy0xIC05IC0zIC0xOCAtNCAtMjZjLTkgLTUxIC0yMCAtOTUgLTQyIC0xMzVjMzQgMTcgNjEgNDMgNzggNzh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tdHNoaXJ0LW91dGxpbmUiIHVuaWNvZGU9IiYjeGY0ZjY7IiAKK2Q9Ik0xNDYgMzYybC0xMDQgLTMxbDExIC0zMmwzOSA0bDM4IDVsLTIgLTM4bC0xNCAtMjU1aDIyMGwtMTQgMjU1bC0yIDM4bDM4IC01bDM5IC00bDExIDMybC0xMDQgMzFjLTYgLTggLTEzIC0xNCAtMjEgLTE5Yy0xNSAtMTAgLTM0IC0xNSAtNTcgLTE1djB2MGMtMzQgMSAtNTkgMTEgLTc4IDM0ek0yODggNDAwdjBsMTYwIC00OGwtMzIgLTg4bC02NCA4bDE2IC0yODloLTI4OGwxNiAyODlsLTY0IC04bC0zMiA4OGwxNjAgNDgKK2MxNCAtMjcgMzEgLTM5IDY0IC00MGMzMyAwIDUwIDEzIDY0IDQweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXRzaGlydCIgdW5pY29kZT0iJiN4ZjRmNzsiIAorZD0iTTQ0OCAzNTJsLTMyIC04OGwtNjQgOGwxNiAtMjg4aC0yODhsMTYgMjg4bC02NCAtOGwtMzIgODhsMTYwIDQ4YzE0IC0yNyAzMSAtMzkgNjQgLTQwYzMzIDAgNTAgMTMgNjQgNDB6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tdW1icmVsbGEiIHVuaWNvZGU9IiYjeGYyYjc7IiAKK2Q9Ik0zNDQgMTYwdjB2MHYwek0xMDQgMTYwdjB2MHYwek0yNDAgMzk5YzExNiAtOCAyMDggLTEwOSAyMDggLTIyN3YtMTJjLTQgMjUgLTI2IDUyIC01MiA1MmMtMjkgMCAtNTIgLTIzIC01MiAtNTJ2MGMwIDI5IC0yMyA1MiAtNTIgNTJzLTQ5IC0xMiAtNTIgLTQ1di0xMzVjMCAtMTcgLTYgLTMzIC0xOCAtNDVzLTI5IC0xOSAtNDYgLTE5Yy0zNSAwIC02MyAyOSAtNjMgNjRjMCA5IDcgMTYgMTYgMTZzMTYgLTcgMTYgLTE2CitjMCAtMTggMTQgLTMyIDMxIC0zMmMxOCAwIDMyIDE0IDMyIDMydjEzNGMtMSAyNCAtMjYgNDYgLTUyIDQ2Yy0yOSAwIC01MiAtMjMgLTUyIC01MnYwYzAgMjkgLTIzIDUyIC01MiA1MmMtMjcgMCAtNDkgLTI2IC01MiAtNTJ2MThjMCAxMTggOTIgMjEzIDIwOCAyMjF2MWMwIDkgNyAxNiAxNiAxNnMxNiAtNyAxNiAtMTZ2LTF6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tdW5pdmVyc2l0eSIgdW5pY29kZT0iJiN4ZjM1NzsiIAorZD0iTTIyNCAzODRsMjI0IC0xMTFsLTkyIC02MGwtMTMyIC04NWwtMTYwIDEwMnYtMTk4bC0zMiAxNnYyMDNsLTMyIDIxek0zNTggMTkybDEwIC04MmMtMTYgLTEyIC0xMTIgLTc4IC0xNDQgLTExMGMtMzIgMzIgLTEyOCA5OCAtMTQ0IDExMGw5IDgybDEzNSAtODh6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tdW5sb2NrZWQiIHVuaWNvZGU9IiYjeGYyNTQ7IiBob3Jpei1hZHYteD0iMzg0IiAKK2Q9Ik0yMiAtMzJjLTEyIDAgLTIyIDEwIC0yMiAyMnYyMTJjMCAxMiAxMCAyMiAyMiAyMmgzaDE5djMxYzAgNDIgMTcgODcgNDMgMTE1czY0IDQ2IDEwNSA0NnYwdjBjNDEgMCA3OSAtMTggMTA1IC00NmMyMCAtMjEgMzMgLTUxIDM5IC04MmgtNTNjLTUgMTggLTEzIDM1IC0yNCA0N3YwdjFjLTE4IDE5IC00MiAyOSAtNjcgMjl2MHYwYy0yNSAwIC00OSAtMTAgLTY3IC0yOXYtMXYwYy0xOCAtMTkgLTI4IC01MyAtMjggLTgwdi0zMWgyNjUKK2MxMiAwIDIyIC0xMCAyMiAtMjJ2LTIxMmMwIC0xMiAtMTAgLTIyIC0yMiAtMjJoLTM0MHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi11cGxvYWQiIHVuaWNvZGU9IiYjeGYyNTU7IiAKK2Q9Ik0zNjYgMjE1YzQ1IDAgODIgLTM3IDgyIC04M3MtMzcgLTg0IC04MiAtODRoLTExMHY4MGg0OGwtODAgODRsLTgwIC04NGg0OHYtODBoLTEwMmMtNDkgMCAtOTAgNDEgLTkwIDkxYzAgNDAgMjYgNzQgNjEgODZjNSAyOSAyOSA1MSA1OSA1MWMxMCAwIDE4IC0zIDI2IC03YzE5IDQwIDU5IDY3IDEwNSA2N2M2NCAwIDExNSAtNTMgMTE1IC0xMTh2LTN6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tdXNiIiB1bmljb2RlPSImI3hmMmI4OyIgaG9yaXotYWR2LXg9IjI1NiIgCitkPSJNMTYgMjI4djB2MHpNMjU2IDMyMGMwIC0xMSAtNiAtMjEgLTE0IC0yN3YwYy0yIC0xIC0zIC01IC0zIC03Yy0xIC0yMCAtMyAtMzYgLTkgLTUwYy03IC0xOSAtMjAgLTMzIC0zOSAtNDZjLTE3IC0xMiAtMjkgLTIxIC0zNiAtMzRjLTcgLTEyIC0xMSAtMjggLTExIC01M3YtMjRjMCAtNyAyIC0xMyAxMCAtMThjNCAtMiA3IC02IDEwIC05YzggLTkgMTQgLTIxIDE0IC0zNGMwIC0yOCAtMjIgLTUwIC01MCAtNTBzLTUwIDIyIC01MCA1MHYxdjAKK2MwIDE4IDEwIDMzIDI0IDQyYzUgNCA5IDUgOSAxOHYwYzAgMTQgLTMgMTcgLTEwIDI3cy0xOCAxNyAtMzIgMjZjLTE5IDEzIC0zMyAyNyAtNDAgNDZjLTYgMTUgLTggMzEgLTkgMzlzLTIgOSAtNCAxMWMtMTAgNiAtMTYgMTYgLTE2IDI4YzAgMTggMTQgMzIgMzIgMzJzMzIgLTE0IDMyIC0zMmMwIC0xMCAtNCAtMjAgLTEyIC0yNmMtMyAtMiAtNCAtMTEgLTQgLTE0djB2MGMwIC05IDMgLTE4IDcgLTI4YzEwIC0yMSA0NSAtNDQgNTIgLTQ0CitzOCA1IDggMTJ2MTk2cy0xIDIgLTMgNGgtMXYxdjBjLTkgNiAtMTUgMTYgLTE1IDI3YzAgMTggMTQgMzIgMzIgMzJzMzIgLTE0IDMyIC0zMmMwIC0xMSAtNSAtMjEgLTE0IC0yN3YwYy0yIC0yIC0yIC0zIC0yIC01di0xNDBjMCAtMTAgMiAtMTIgOCAtMTFjMTMgMyA0OCAzMCA1MiA0M2MzIDEwIDYgMjMgNyA0MXYxYzAgMiAtMiA0IC0zIDZjLTEwIDYgLTE2IDE2IC0xNiAyOGMwIDE4IDE0IDMyIDMyIDMyczMyIC0xNCAzMiAtMzJ6TTMyIDI0MAorYzkgMCAxNiA3IDE2IDE2cy03IDE2IC0xNiAxNnMtMTYgLTcgLTE2IC0xNnM3IC0xNiAxNiAtMTZ6TTEyOCAzNjhjOSAwIDE2IDcgMTYgMTZzLTcgMTYgLTE2IDE2cy0xNiAtNyAtMTYgLTE2czcgLTE2IDE2IC0xNnpNMjI0IDMwNGM5IDAgMTYgNyAxNiAxNnMtNyAxNiAtMTYgMTZzLTE2IC03IC0xNiAtMTZzNyAtMTYgMTYgLTE2eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXZpZGVvY2FtZXJhIiB1bmljb2RlPSImI3hmMjU2OyIgCitkPSJNMzM1IDI2M3YtNjZsMTEzIDM1di04OXYtODhsLTExMyAzNXYtNjVjMCAtNSAtNCAtOSAtOSAtOWgtMzE3Yy01IDAgLTkgNCAtOSA5djEydjU1djE3MWMwIDUgNCA5IDkgOWgyMDh2MzhjMCA0IC02IDEwIC0xMCAxMGgtMTc2djQ4aDE3OGMzNiAwIDY1IC0yOSA2NSAtNjR2LTMyaDUyYzUgMCA5IC00IDkgLTl6TTIyNiAxMDdjMjAgMCAzNiAxNiAzNiAzNnMtMTYgMzUgLTM2IDM1cy0zNiAtMTUgLTM2IC0zNWMwIC0xMCA0IC0xOSAxMSAtMjYKK2gtNjhjNyA3IDExIDE2IDExIDI2YzAgMjAgLTE2IDM2IC0zNiAzNnMtMzYgLTE2IC0zNiAtMzZzMTYgLTM2IDM2IC0zNmgxMmg5NWgxMXoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi12b2x1bWUtaGlnaCIgdW5pY29kZT0iJiN4ZjI1NzsiIAorZD0iTTE5OSA0MGwtOTUgODhoLTEwNHYxMjhoMTA0bDk1IDg4di0zMDR6TTI1NSA5MmwtMjAgMTZjMTcgMjQgMjcgNTIgMjcgODRzLTEwIDYwIC0yNyA4NGwyMCAxNmMyMCAtMjggMzMgLTYzIDMzIC0xMDBzLTEzIC03MiAtMzMgLTEwMHpNMzIyIDQ2bC0yMSAxNmMyNyAzNiA0MyA4MSA0MyAxMzBzLTE2IDk0IC00MyAxMzBsMjEgMTZjMzAgLTQxIDQ4IC05MSA0OCAtMTQ2cy0xOCAtMTA1IC00OCAtMTQ2ek0zNjUgMzY5bDIwIDE1CitjMzkgLTU0IDYzIC0xMjAgNjMgLTE5MnMtMjQgLTEzOCAtNjMgLTE5MmwtMjAgMTVjMzYgNDkgNTggMTExIDU4IDE3N3MtMjIgMTI4IC01OCAxNzd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tdm9sdW1lLWxvdyIgdW5pY29kZT0iJiN4ZjI1ODsiIGhvcml6LWFkdi14PSIyODgiIAorZD0iTTE5OSA0MGwtOTUgODhoLTEwNHYxMjhoMTA0bDk1IDg4di0zMDR6TTI1NSA5MmwtMjAgMTZjMTcgMjQgMjggNTIgMjggODRzLTExIDYwIC0yOCA4NGwyMCAxNmMyMCAtMjggMzMgLTYzIDMzIC0xMDBzLTEzIC03MiAtMzMgLTEwMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi12b2x1bWUtbWVkaXVtIiB1bmljb2RlPSImI3hmMjU5OyIgaG9yaXotYWR2LXg9IjM3MCIgCitkPSJNMTk5IDQwbC05NSA4OGgtMTA0djEyOGgxMDRsOTUgODh2LTMwNHpNMjU1IDkybC0yMCAxNmMxNyAyNCAyOCA1MiAyOCA4NHMtMTEgNjAgLTI4IDg0bDIwIDE2YzIwIC0yOCAzMyAtNjMgMzMgLTEwMHMtMTMgLTcyIC0zMyAtMTAwek0zMjIgNDZsLTIxIDE2YzI3IDM2IDQzIDgxIDQzIDEzMHMtMTYgOTQgLTQzIDEzMGwyMSAxNmMzMCAtNDEgNDggLTkxIDQ4IC0xNDZzLTE4IC0xMDUgLTQ4IC0xNDZ6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24tdm9sdW1lLW11dGUiIHVuaWNvZGU9IiYjeGYyNWE7IiAKK2Q9Ik0yMjQgMjMxbDQ3IDUxdi0xODBsLTQ3IDUxaC02NXY3OGg2NXpNMzMyIDM4OGM2OSAtMzggMTE2IC0xMTIgMTE2IC0xOTZjMCAtMTI0IC0xMDAgLTIyNCAtMjI0IC0yMjRjLTM5IDAgLTc2IDEwIC0xMDggMjdsLTEgMWMtNjkgMzggLTExNSAxMTIgLTExNSAxOTZjMCAxMjQgMTAwIDIyNCAyMjQgMjI0YzM5IDAgNzUgLTEwIDEwNyAtMjhoMXpNMzYyIDkzYzIwIDI4IDMzIDYyIDMzIDk5YzAgNjYgLTM4IDEyMyAtOTIgMTUxCitjLTYgMyAtMTEgNiAtMTcgOGMtMTkgNyAtNDAgMTEgLTYyIDExYy0zNyAwIC03MSAtMTIgLTk5IC0zMmw3MyAtNzRoLTc2bC0zNiAzNWMtMjAgLTI4IC0zMiAtNjIgLTMyIC05OWMwIC02NSAzNiAtMTIxIDkwIC0xNTBjNiAtMyAxMyAtNyAxOSAtOWMxOSAtNyAzOSAtMTEgNjEgLTExYzM3IDAgNzIgMTIgMTAwIDMybC0yMCAyMHY3N3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi13YW5kIiB1bmljb2RlPSImI3hmMzU4OyIgCitkPSJNMTkyIDIwOGw0OCA0OGw0OCAtNDhsLTQ4IC00OHpNMCAxNmwxNzYgMTc2bDQ4IC00OGwtMTc2IC0xNzZ6TTIyNCAzNTJ2NjRoMzJ2LTY0aC0zMnpNMzk4IDM0NGwtNDUgLTQ1bC0yMyAyMmw0NiA0NXpNMTI3IDI5OWwtNDUgNDVsMjIgMjJsNDUgLTQ1ek0zNzYgNTBsLTQ2IDQ1bDIzIDIzbDQ1IC00NnpNMzg0IDE5MnYzMmg2NHYtMzJoLTY0eiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXdhdGVyZHJvcCIgdW5pY29kZT0iJiN4ZjI1YjsiIGhvcml6LWFkdi14PSIzMjAiIAorZD0iTTE3NSA0MDljNDAgLTQxIDE0NSAtMTYwIDE0NSAtMjg4YzAgLTg1IC03MiAtMTUzIC0xNjAgLTE1M2MtNTYgMCAtMTA2IDI3IC0xMzQgNjljLTYgOSAtMTEgMTkgLTE1IDI5Yy03IDE3IC0xMSAzNSAtMTEgNTV2NGMxIDY3IDMxIDEzMSA2NCAxODNjMjAgMzEgNDIgNTcgNTkgNzdjOSAxMCAxNiAxOCAyMiAyNGwxIDF2MGM0IDMgOCA2IDE0IDZjNSAwIDEwIC0zIDE0IC02djB6TTE2MCAyNGM1NSAwIDEwMCA0NSAxMDAgMTAwCitjMCAxNCAtMyAyOCAtOCA0MGMtMTcgLTY1IC03MCAtMTE2IC0xMzYgLTEzMGMxMyAtNiAyOCAtMTAgNDQgLTEweiIgLz4KKyAgICA8Z2x5cGggZ2x5cGgtbmFtZT0iaW9uLXdpZmkiIHVuaWNvZGU9IiYjeGYyNWM7IiAKK2Q9Ik0yMjQgMzUyYzgwIDAgMTU2IC0zMCAyMTQgLTg0bDEwIC0xMGwtMTAgLTlsLTMyIC0zMmwtMTAgLTEwbC05IDljLTQ0IDQxIC0xMDMgNjQgLTE2MyA2NHMtMTE5IC0yMyAtMTYzIC02NGwtOSAtOWwtMTAgMTBsLTMyIDMybC0xMCA5bDEwIDEwYzU4IDU0IDEzNCA4NCAyMTQgODR2MHpNMzY1IDE5MmwxMSAtMTBsLTEwIC0xMGwtMzMgLTMybC05IC05bC0xMCA4Yy0yNSAyMiAtNTcgMzUgLTkwIDM1cy02NSAtMTMgLTkwIC0zNWwtMTAgLTgKK2wtOSA5bC0zMyAzMmwtMTAgMTBsMTEgMTBjMzcgMzMgODMgNTIgMTMyIDU0djBoOXYwdjBjNTIgMCAxMDIgLTE5IDE0MSAtNTR6TTIyNCAzMmwtMTAgMTBsLTUyIDUybC0xMSAxMGwxMiAxMGMxNyAxMSAzMiAyMCA2MSAyMHM0NyAtOSA2MiAtMjBsMTEgLTEwbC0xMCAtMTBsLTUzIC01MnoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi13aW5lZ2xhc3MiIHVuaWNvZGU9IiYjeGYyYjk7IiBob3Jpei1hZHYteD0iMjU2IiAKK2Q9Ik0xNjcgMTUzYy0xMSAtNCAtMjQgLTggLTI0IC0zMnYtOTRjMCAtMTEgNCAtMTkgMTIgLTI1YzMgLTIgNyAtNCAxNSAtNmMzMiAtOSA0OCAtMTYgNTAgLTE4YzIgLTEgNCAtMyA0IC03YzAgMCAtMTQgLTMgLTk2IC0zcy05NiAzIC05NiAzYzAgNCAyIDYgNCA3YzIgMiAxOCA5IDUwIDE4YzggMiAxMSA0IDE0IDZjOCA2IDExIDE0IDExIDI1djk0YzAgMjQgLTExIDI4IC0yMiAzMnMtMTggNiAtMjYgMTFjLTEyIDcgLTIzIDE2IC0zMiAyNgorYy0yMCAyMyAtMzEgNTIgLTMxIDg3YzAgNTAgNCAxMDAgOCAxMTRzMTQgMjUgMzEgMjVoMTc4YzE3IDAgMjcgLTExIDMxIC0yNXM4IC02NSA4IC0xMTVjMCAtMzUgLTExIC02MyAtMzEgLTg2Yy05IC0xMCAtMjAgLTE5IC0zMiAtMjZjLTggLTUgLTE1IC03IC0yNiAtMTF6TTEyOCAxNzhjMjYgMCA1MCAxMSA2NyAyOGw2IDZjMTYgMTggMjIgMzUgMjMgNjVzLTIgODMgLTggMTA3aC0xNzdjLTcgLTM1IC04IC04MCAtNyAtMTA4czcgLTQ2IDIzIC02NAorYzIgLTMgNCAtNiA3IC04YzE3IC0xNiA0MSAtMjYgNjYgLTI2ek0yMDggMjc3YzAgLTEwIC0xIC0yMCAtNCAtMjlzLTggLTE4IC0xNSAtMjVsLTUgLTVjLTE0IC0xNCAtMzQgLTIzIC01NiAtMjNjLTIxIDAgLTQxIDggLTU1IDIybC02IDZjLTcgNyAtMTIgMTYgLTE1IDI1cy0zIDE1IC00IDI5Yy0xIDkgMCAzNCAxIDUzYzEgMTAgMiAxOSAzIDIyaDE1M2MxIC02IDIgLTE0IDIgLTIyYzEgLTIxIDEgLTQ1IDEgLTUzek0xOTIgMjY5djB2MjYKK2MwIDQgLTQgOCAtOCA4cy04IC00IC04IC04di0yNmMwIC0zIDEgLTYgMyAtN2MxIC0xIDMgLTEgNSAtMWM0IDAgOCAzIDggOHpNMTkxIDMxNmMxIDIgMSA0IDEgNnMtMiA0IC00IDVzLTQgMSAtNiAxcy00IC0xIC01IC0zcy0xIC00IC0xIC02czIgLTQgNCAtNXM0IC0xIDYgLTFzNCAxIDUgM3oiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi13b21hbiIgdW5pY29kZT0iJiN4ZjI1ZDsiIGhvcml6LWFkdi14PSIxOTIiIAorZD0iTTMwIDI5OWMzIDEyIDE3IDMzIDQyIDM0aDQ4YzI0IC0xIDM4IC0yMiA0MiAtMzRsMjkgLTEwNGM2IC0yMyAtMjEgLTMyIC0yNyAtMTBsLTI2IDk2aC05bDQ2IC0xNjloLTQzdi0xMjdjMCAtMjMgLTMxIC0yMyAtMzEgMHYxMjdoLTEwdi0xMjdjMCAtMjMgLTMyIC0yMyAtMzIgMHYxMjdoLTQybDQ1IDE2OWgtN2wtMjcgLTk2Yy03IC0yMSAtMzMgLTEzIC0yNyAxMHpNMTMzIDM3OWMwIC0yMSAtMTcgLTM3IC0zNyAtMzdzLTM3IDE2IC0zNyAzNworczE3IDM3IDM3IDM3czM3IC0xNiAzNyAtMzd6IiAvPgorICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJpb24td3JlbmNoIiB1bmljb2RlPSImI3hmMmJhOyIgCitkPSJNNDMwIDMzM2MxNCAtMTQgMTkgLTMxIDE4IC00NHMtNiAtMzkgLTMyIC02NXMtNzcgLTQyIC0xMTMgLTI0Yy01IDMgLTEzIDUgLTIxIC0zYy0xMCAtOSAtMjAyIC0yMTUgLTIwMiAtMjE1Yy0xNyAtMTkgLTQ4IC0xOCAtNjYgMHMtMTkgNDkgMCA2NmMwIDAgMjA3IDE5NCAyMTUgMjAyczUgMTYgMyAyMmMtMjAgNDcgMiA4OSAyNCAxMTJjMjIgMjQgNTEgMzEgNjUgMzJjMTMgMSAzMSAtNSA0NCAtMThsLTU3IC01NmwxMCAtNTZsNTUgLTEwegorTTU5IDVjNiA2IDYgMTcgMCAyM3MtMTYgNiAtMjIgMHMtNiAtMTcgMCAtMjNzMTYgLTYgMjIgMHoiIC8+CisgICAgPGdseXBoIGdseXBoLW5hbWU9Imlvbi14Ym94IiB1bmljb2RlPSImI3hmMzBjOyIgCitkPSJNOTUgMjAwYy00OSAtNzIgLTUwIC0xMzkgLTUwIC0xNDNjLTI4IDM4IC00NSA4NCAtNDUgMTM1YzAgNjcgMzAgMTI4IDc3IDE2OWwzIC0xYzUxIC0xOCA5MyAtNjggOTMgLTY4cy0zOCAtMzMgLTc4IC05MnpNNDQ4IDE5MmMwIC01MSAtMTcgLTk3IC00NSAtMTM1YzAgNCAtMSA3MSAtNTAgMTQzYy00MCA1OSAtNzggOTIgLTc4IDkyczQyIDUwIDkzIDY4bDMgMWM0NyAtNDEgNzcgLTEwMiA3NyAtMTY5ek0xNjkgMzY3CitjLTM3IDE3IC02NSAxMiAtNzIgMTBjMzYgMjUgODAgMzkgMTI3IDM5czkxIC0xNCAxMjcgLTM5Yy03IDIgLTM1IDYgLTcyIC0xMGMtMjkgLTEzIC01NSAtMzUgLTU1IC0zNXMtMjYgMjIgLTU1IDM1ek0zMjcgMTU1YzQwIC00OSA1NCAtODUgNjIgLTEwOGwyIC01Yy00MSAtNDYgLTEwMSAtNzQgLTE2NyAtNzRzLTEyNiAyOCAtMTY3IDc0bDEgNWM4IDIzIDIzIDU5IDYzIDEwOGM0NiA1NyAxMDMgOTQgMTAzIDk0czU3IC0zNyAxMDMgLTk0eiIgLz4KKyAgPC9mb250PgorPC9kZWZzPjwvc3ZnPgpkaWZmIC0tZ2l0IGEvZm9udHMvaW9uaWNvbnMudHRmIGIvZm9udHMvaW9uaWNvbnMudHRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4MGNlNTEKLS0tIC9kZXYvbnVsbAorKysgYi9mb250cy9pb25pY29ucy50dGYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvZm9udHMvaW9uaWNvbnMud29mZiBiL2ZvbnRzL2lvbmljb25zLndvZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJiNmFlYwotLS0gL2Rldi9udWxsCisrKyBiL2ZvbnRzL2lvbmljb25zLndvZmYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1hZ2VzL2RhdGFjZW50ZXIuanBnIGIvaW1hZ2VzL2RhdGFjZW50ZXIuanBnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmMWI4MmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbWFnZXMvZGF0YWNlbnRlci5qcGcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1hZ2VzL2Rhd25fbG9nby5wbmcgYi9pbWFnZXMvZGF3bl9sb2dvLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOWI4ZGJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1hZ2VzL2Rhd25fbG9nby5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1hZ2VzL2RpYW1vbmQuUE5HIGIvaW1hZ2VzL2RpYW1vbmQuUE5HCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5ODkyOWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbWFnZXMvZGlhbW9uZC5QTkcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1hZ2VzL2VjbGlwc2UucG5nIGIvaW1hZ2VzL2VjbGlwc2UucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzZjk3ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbWFnZXMvZWNsaXBzZS5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1hZ2VzL2VjbGlwc2UzLnBuZyBiL2ltYWdlcy9lY2xpcHNlMy5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFiNmM0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltYWdlcy9lY2xpcHNlMy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1hZ2VzL2VjbGlwc2VzY2kucG5nIGIvaW1hZ2VzL2VjbGlwc2VzY2kucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzOWNlMTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbWFnZXMvZWNsaXBzZXNjaS5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1hZ2VzL2Zhdmljb24uaWNvIGIvaW1hZ2VzL2Zhdmljb24uaWNvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiNDZkMjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbWFnZXMvZmF2aWNvbi5pY28KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1hZ2VzL2ZvbmQucG5nIGIvaW1hZ2VzL2ZvbmQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzYjdlOTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbWFnZXMvZm9uZC5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1hZ2VzL2hvbWUuanBnIGIvaW1hZ2VzL2hvbWUuanBnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxZjRlYjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbWFnZXMvaG9tZS5qcGcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1hZ2VzL2ltYWdlc19zb3VyY2UudHh0IGIvaW1hZ2VzL2ltYWdlc19zb3VyY2UudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1OWQ0ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbWFnZXMvaW1hZ2VzX3NvdXJjZS50eHQKQEAgLTAsMCArMSw1IEBACitkYXRhY2VudGVyLmpwZworaHR0cHM6Ly9waXhhYmF5LmNvbS8KKworaG9tZS5qcGcKK2h0dHBzOi8vcGl4YWJheS5jb20vClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvaW1hZ2VzL2tpY2h3YWNvZGVycy5wbmcgYi9pbWFnZXMva2ljaHdhY29kZXJzLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjQ2NmNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1hZ2VzL2tpY2h3YWNvZGVycy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW5kZXguaHRtbCBiL2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M5OTQ0OAotLS0gL2Rldi9udWxsCisrKyBiL2luZGV4Lmh0bWwKQEAgLTAsMCArMSwzNjAgQEAKKworPCEtLQorIC0gQ29weXJpZ2h0IChjKSAyMDEzLCAyMDE3IFRoZSBFY2xpcHNlIFNjb3V0IFRlYW0sIFVULUJhdHRlbGxlLCBMTEMuLCBLaWNod2EgQ29kZXJzIEx0ZCBhbmQgb3RoZXJzLgorIC0gQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscworIC0gYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCisgLSB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAorIC0gaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAtCisgLSBDb250cmlidXRvcnM6CisgLSAgIEluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uOiBLaWNod2EgQ29kZXJzIEx0ZC4gYWRvcHRlZCBmcm9tIEVjbGlwc2UgSUNFIHdlYnBhZ2UuCisgLS0+CisKKzwhLS0gSFRNTDUgRG9jIFR5cGUgRGVjbGFyYXRpb24gLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzwhLS0gQ3JlYXRlIHRoZSBoZWFkZXIgLS0+Cis8aGVhZD4KKzwhLS0gU2V0IHRoZSBtZXRhZGF0YSB0eXBlIGFuZCB0aGUgYnJvd3NlciB0aXRsZSAtLT4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8dGl0bGU+RWNsaXBzZSBKYW51YXJ5PC90aXRsZT4KKzwhLS0gVGhpcyBuZXh0IGJpdCBhZGRzIGFsbCB0aGUgbGl0dGxlIGJyb3dzZXIgZmF2aWNvbnMgdGhhdCBzaG93IHVwIGluIHRhYnMKK2FuZCBib29rbWFya3MgYW5kIG90aGVyIHN1Y2ggdGhpbmdzLiAtLT4KKzxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBocmVmPSJpbWFnZXMvZmF2aWNvbi5pY28iPgorPCEtLSBCb290c3RyYXAgQ1NTIGZpbGUgbGluay4gVGhpcyBpcyBCb290c3RyYXAgMy4wLjIsIG5vdCAyLjMuMiEgLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9ib290c3RyYXAubWluLmNzcyIgdHlwZT0idGV4dC9jc3MiPgorPCEtLSBFeHRyYSBzdHlsZSBmaWxlIHdpdGggY3VzdG9tIHNldHRpbmdzIGZyb20gRWNsaXBzZSBTY291dHMgLS0+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9pb25pY29ucy5taW4uY3NzIiB0eXBlPSJ0ZXh0L2NzcyI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9zdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIj4KKzwvaGVhZD4KKzwhLS0gQ3JlYXRlIHRoZSBib2R5IC0tPgorPGJvZHk+Cis8IS0tCisJPG5hdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1kZWZhdWx0IG5hdmJhci1maXhlZC1ib3R0b20iPgorCQk8ZGl2IGNsYXNzPSJlY2xpcHNlLWNvbiI+CisJCQlKT0lOIFVTCisJCTwvZGl2PgorCTwvbmF2PgorLS0+CisJPCEtLSBDcmVhdGUgdGhlIE5hdmJhciAtLT4KKwk8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWRlZmF1bHQgbmF2YmFyLWZpeGVkLXRvcCI+CisJCTwhLS0gQ3JlYXRlIHRoZSBvdXRlcm1vc3QgY29udGFpbmVyIHRoYXQgd2lsbCBjZW50ZXIgZXZlcnl0aGluZyAtLT4KKwkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKwkJCTwhLS0gQWRkIHRoZSBoZWFkZXIgLS0+CisJCQk8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIj4KKwkJCQkJPCEtLSBUaGlzIGFkZHMgYSBidXR0b24gdG8gdG9nZ2xlIG5hdiBiYXIgLS0+CisJCQkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2YmFyLXRvZ2dsZSBjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNuYXZiYXIiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJuYXZiYXIiPgorCQkJCQkJPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPgorCQkJCQkJPHNwYW4JY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CisJCQkJCQk8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KKwkJCQkJCTxzcGFuCWNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgorCQkJCQk8L2J1dHRvbj4KKwkJCQkJPGEgaHJlZj0iI2ludHJvIj48aW1nIHNyYz0iaW1hZ2VzL2VjbGlwc2UzLnBuZyIgYWx0PSIiPjwvYT4KKwkJCQkJPGEgaHJlZj0iaHR0cHM6Ly9zY2llbmNlLmVjbGlwc2Uub3JnLyI+PGltZyBzcmM9ImltYWdlcy9lY2xpcHNlc2NpLnBuZyIgYWx0PSIiPjwvYT4KKwkJCTwvZGl2PgorCQkJPCEtLSBBZGQgdGhlIGxpbmtzIC0tPgorCQkJPGRpdiBjbGFzcz0iY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlIiBpZD0ibmF2YmFyIj4KKwkJCQk8dWwgY2xhc3M9Im5hdiBuYXZiYXItbmF2IiBpZD0ic2VjdGlvbiI+CisJCQkJCTxsaT48YSBocmVmPSIjc2VjdGlvbi13aGF0aXMiPldoYXQgaXMgSmFudWFyeTwvYT48L2xpPgorCQkJCQk8bGk+PGEgaHJlZj0iI3RyeSI+VHJ5IGl0IG91dDwvYT48L2xpPgorCQkJCQk8bGk+PGEgaHJlZj0iI3doeSI+V2h5IHVzZSBpdDwvYT48L2xpPgorICAgICAgICAgIDxsaT48YSBocmVmPSIjZG93bmxvYWQiPkRvd25sb2FkczwvYT48L2xpPgorICAgICAgICAgIDxsaT48YSBocmVmPSIjd2hvcyI+UmVzb3VyY2VzPC9hPjwvbGk+CisgICAgICAgICAgPGxpPjxhIGhyZWY9IiNjb250YWN0Ij5Db250YWN0PC9hPjwvbGk+CisJCQkJPC91bD4KKwkJCTwvZGl2PgorCQkJPCEtLSBFbmQgY29udGFpbmVyIC0tPgorCQk8L2Rpdj4KKwkJPCEtLSBFbmQgTmF2YmFyIC0tPgorCTwvbmF2PgorCisJPCEtLSBTdGFydCB0aGUgImludHJvIiBiYW5uZXIgaW1hZ2Ugc2VjdGlvbiAtLT4KKwk8ZGl2IGNsYXNzPSJ3cmFwcGVyIj4KKwkJPGRpdiBjbGFzcz0iaW50cm8iIGlkPSJpbnRybyI+CisJCQk8ZGl2IGNsYXNzPSJpbnRyby1pbWFnZSI+CisJCQkJPGltZyBzcmM9ImltYWdlcy9ob21lLmpwZyIgYWx0PSIiIC8+CisJCQkJPCEtLSBFbmQgaW50cm8taW1hZ2UgLS0+CisJCQk8L2Rpdj4KKworCQkJPCEtLSBUaGlzIHNlY3Rpb24gY3JlYXRlcyB0aGUgdGV4dCBpbiB0aGUgbWlkZGxlIC0tPgorCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKwkJCQk8ZGl2IGNsYXNzPSJyb3ciPgorCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtMTIiPgorCQkJCQkJPGRpdiBjbGFzcz0iaW50cm8taW5uZXIiPgorCQkJCQkJCTxkaXYgY2xhc3M9ImludHJvLWNvbnRlbnQiPgorCQkJCQkJCQk8aDE+RWNsaXBzZSBKYW51YXJ5PC9oMT4KKwkJCQkJCQkJPHA+SmF2YSBEYXRhIFN0cnVjdHVyZXMgZm9yIFNjaWVuY2U8L3A+CisJCQkJCQkJPC9kaXY+CisJCQkJCQk8L2Rpdj4KKwkJCQkJPC9kaXY+CisJCQkJPC9kaXY+CisJCQk8L2Rpdj4KKwkJCTwhLS0gRW5kIGludHJvIC0tPgorCQk8L2Rpdj4KKworCQk8IS0tIEFsbCBvZiB0aGUgInJlYWwiIGNvbnRlbnQgb2YgdGhlIHNpdGUgYmVsb3cgdGhlIGNlbnRyYWwgaW1hZ2Ugc3RhcnRzIGhlcmUuIC0tPgorCQk8ZGl2IGNsYXNzPSJtYWluIj4KKwkJCTxkaXYgY2xhc3M9ImNvbnRlbnQiPgorCQkJCTwhLS0gU3RhcnQgdGhlICJXaGF0IGlzIEphbnVhcnk/IiBzZWN0aW9uIC0tPgorCQkJCTxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLXdoYXRpcyIgaWQ9InNlY3Rpb24td2hhdGlzIj4KKwkJCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKwkJCQkJCTxicj48YnI+PGJyPjxicj4KKwkJCQkJCTxkaXYgY2xhc3M9InJvdyI+CisJCQkJCQkJPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkIj4KKwkJCQkJCQkJPGgzPldoYXQgaXMgSmFudWFyeT88L2gzPgorCisgICAgICAgICAgICAgICAgPHA+CisJCQkJCQkJCUVjbGlwc2UgSmFudWFyeSBpcyBhIHNldCBvZiBsaWJyYXJpZXMgZm9yIGhhbmRsaW5nIG51bWVyaWNhbCBkYXRhIGluIEphdmEuIEl0IGlzIGluc3BpcmVkIGluIHBhcnQgYnkgTnVtUHkgYW5kIGFpbXMgdG8gcHJvdmlkZSBzaW1pbGFyIGZ1bmN0aW9uYWxpdHkuCisJCQkJCQkJCTxicj4KKwkJCQkJCQkJPC9wPgorCQkJCQkJCQk8IS0tICBFbmQgc2VjdGlvbi1oZWFkIC0tPgorCQkJCQkJCTwvZGl2PgorCQkJCQkJPC9kaXY+CisJCQkJCTwvZGl2PgorCQkJCTwvc2VjdGlvbj4KKworCQkJCTwhLS0gU3RhcnQgdGhlICJXaG8ncyBpbnZvbHZlZCIgc2VjdGlvbiAtLT4KKwkJCQk8ZGl2IGNsYXNzPSJ3aGl0ZS1zcGFjZXIiIGlkPSJ0cnkiPjwvZGl2PgorCQkJCTxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLXdpdGgtaW1hZ2UiIGlkPSJzZWN0aW9uLXRyeSI+CisJCQkJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisJCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPgorCQkJCQkJCTwhLS0gVGhpcyBpcyB0aGUgbGVmdCBzaWRlIG9mIHRoZSByb3cgd2hlcmUgdGhlIHRleHQgZ29lcyAtLT4KKwkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtOSI+CisJCQkJCQkJCTxkaXYgY2xhc3M9InNlY3Rpb24taW1hZ2luZS1vbi1yaWdodC1jb250ZW50Ij4KKwkJCQkJCQkJCTxoMj4KKwkJCQkJCQkJCQk8Yj5UUlkgSVQgT1VUPC9iPgorCQkJCQkJCQkJPC9oMj4KKwkJCQkJCQkJCTxwPgorCQkJCQkJCQkJCeKWugorCQkJCQkJCQkJCTxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9lY2xpcHNlL2phbnVhcnkvdHJlZS9tYXN0ZXIvb3JnLmVjbGlwc2UuamFudWFyeS5leGFtcGxlcyNlY2xpcHNlLWphbnVhcnktZXhhbXBsZXMtYW5kLWdldHRpbmctc3RhcnRlZCI+PGI+IEdldHRpbmcgU3RhcnRlZCBHdWlkZS48L2I+PC9hPgorCQkgICAgICAgICAgICAgICAgPGJyPgorCQkgICAgICAgICAgICAgICAgPGI+QnJvd3NlIHRocm91Z2ggdGhlIGV4YW1wbGVzOjwvYj4KKwkJICAgICAgICAgICAgICAgIDxicj4KKwkJICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9qb25haGtpY2h3YWNvZGVycy9vcmcuZWNsaXBzZS5kYXRhc2V0LmV4YW1wbGVzL2Jsb2IvbWFzdGVyL29yZy5lY2xpcHNlLmRhdGFzZXQuZXhhbXBsZXMvc3JjL29yZy9lY2xpcHNlL2Rhd25zY2kvYW5hbHlzaXMvZXhhbXBsZXMvZGF0YXNldC9CYXNpY0V4YW1wbGUuamF2YSI+PGI+QmFzaWMgRXhhbXBsZTwvYj48L2E+IHNob3cgc2ltcGxlIGNvbmNlcHRzIGZvciBhcnJheSBjcmVhdGlvbiwgbWF0aHMgYW5kIHNsaWNpbmcuCisJCSAgICAgICAgICAgICAgICA8YnI+CisJCSAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZWNsaXBzZS9qYW51YXJ5L2Jsb2IvbWFzdGVyL29yZy5lY2xpcHNlLmphbnVhcnkuZXhhbXBsZXMvc3JjL29yZy9lY2xpcHNlL2phbnVhcnkvZXhhbXBsZXMvZGF0YXNldC9OdW1weUV4YW1wbGVzLmphdmEiPjxiPk51bVB5IEV4YW1wbGVzPC9iPjwvYT4gc2hvdyBob3cgY29tbW9uIE51bVB5IGNvbnN0cnVjdHMgbWFwIHRvIEVjbGlwc2UgRGF0YXNldHMuCisJCSAgICAgICAgICAgICAgICA8YnI+CisJCSAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZWNsaXBzZS9qYW51YXJ5L2Jsb2IvbWFzdGVyL29yZy5lY2xpcHNlLmphbnVhcnkuZXhhbXBsZXMvc3JjL29yZy9lY2xpcHNlL2phbnVhcnkvZXhhbXBsZXMvZGF0YXNldC9TbGljaW5nRXhhbXBsZXMuamF2YSI+PGI+U2xpY2luZyBFeGFtcGxlczwvYj48L2E+IGRlbW9uc3RyYXRlIHNsaWNpbmcsIGluY2x1ZGluZyBob3cgdG8gc2xpY2UgYSBzbWFsbCBhbW91bnQgb2YgZGF0YSBvdXQgb2YgYSBkYXRhc2V0IHRvbyBsYXJnZSB0byBmaXQgaW4gbWVtb3J5IGFsbCBhdCBvbmNlLgorCQkgICAgICAgICAgICAgICAgPGJyPgorCQkgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2VjbGlwc2UvamFudWFyeS9ibG9iL21hc3Rlci9vcmcuZWNsaXBzZS5qYW51YXJ5LmV4YW1wbGVzL3NyYy9vcmcvZWNsaXBzZS9qYW51YXJ5L2V4YW1wbGVzL2RhdGFzZXQvRXJyb3JFeGFtcGxlcy5qYXZhIj48Yj5FcnJvciBFeGFtcGxlczwvYj48L2E+IGRlbW9uc3RyYXRlIGFwcGx5aW5nIGFuIGVycm9yIHRvIGRhdGFzZXRzLgorCQkgICAgICAgICAgICAgICAgPGJyPgorCQkgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2VjbGlwc2UvamFudWFyeS9ibG9iL21hc3Rlci9vcmcuZWNsaXBzZS5qYW51YXJ5LmV4YW1wbGVzL3NyYy9vcmcvZWNsaXBzZS9qYW51YXJ5L2V4YW1wbGVzL2RhdGFzZXQvSXRlcmF0aW9uRXhhbXBsZXMuamF2YSI+PGI+SXRlcmF0aW9uIEV4YW1wbGVzPC9iPjwvYT4gZGVtb25zdHJhdGUgYSBmZXcgd2F5cyB0byBpdGVyYXRlIHRocm91Z2ggeW91ciBkYXRhc2V0cy4KKwkJICAgICAgICAgICAgICAgIDxicj4KKwkJICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9lY2xpcHNlL2phbnVhcnkvYmxvYi9tYXN0ZXIvb3JnLmVjbGlwc2UuamFudWFyeS5leGFtcGxlcy9zcmMvb3JnL2VjbGlwc2UvamFudWFyeS9leGFtcGxlcy9kYXRhc2V0L0xhenlFeGFtcGxlcy5qYXZhIj48Yj5MYXp5IEV4YW1wbGVzPC9iPjwvYT4gZGVtb25zdHJhdGUgaG93IHRvIHVzZSBkYXRhc2V0cyB3aGljaCBhcmUgbm90IGVudGlyZWx5IGxvYWRlZCBpbiBtZW1vcnkuCisgICAgICAgICAgICAgICAgICA8L3A+CisJCQkJCQkJCQk8IS0tIEVuZCBzZWN0aW9uLXdobydzIGludm9sdmVkLWNvbnRlbnQgLS0+CisJCQkJCQkJCTwvZGl2PgorCQkJCQkJCQk8IS0tIEVuZCBjb250ZW50IGNvbHVtbiAtLT4KKwkJCQkJCQk8L2Rpdj4KKworCQkJCQkJCTwhLS0gIFRoZSBpcyB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgcm93IHdoZXJlIHRoZSBpbWFnZSBnb2VzIC0tPgorCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC14cy0zIj4KKwkJCQkJCQkJPGRpdiBjbGFzcz0ic2VjdGlvbi1pbWFnaW5lLW9uLXJpZ2h0LWltYWdlIj4KKwkJCQkJCQkJCTxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLW9rIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgorCQkJCQkJCQkJPCEtLSBFbmQgc2VjdGlvbi1kZWZpbmUtcHJvYmxlbXMtaW1hZ2UgLS0+CisJCQkJCQkJCTwvZGl2PgorCQkJCQkJCQk8IS0tIEVuZCBpbWFnZSBjb2x1bW4uLiAtLT4KKwkJCQkJCQk8L2Rpdj4KKwkJCQkJCQk8IS0tIEVuZCByb3cgLS0+CisJCQkJCQk8L2Rpdj4KKwkJCQkJCTwhLS0gRW5kIGNvbnRhaW5lci0tPgorCQkJCQk8L2Rpdj4KKwkJCQkJPCEtLSBFbmQgc2VjdGlvbiBkZWZpbmUgcHJvYmxlbXMgLS0+CisJCQkJPC9zZWN0aW9uPgorCisJCQkJPGRpdiBjbGFzcz0id2hpdGUtc3BhY2VyIiBpZD0id2h5Ij48L2Rpdj4KKwkJCQk8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi13aXRoLWltYWdlIiBpZD0ic2VjdGlvbi13aHkiPgorCQkJCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorCQkJCQkJPGRpdiBjbGFzcz0icm93Ij4KKwkJCQkJCQk8IS0tICBUaGUgaXMgdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHJvdyB3aGVyZSB0aGUgaW1hZ2UgZ29lcyAtLT4KKwkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMyI+CisJCQkJCQkJCTxkaXYgY2xhc3M9InNlY3Rpb24taW1hZ2luZS1vbi1yaWdodC1pbWFnZSI+CisJCQkJCQkJCQk8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CisJCQkJCQkJCQk8IS0tIEVuZCBzZWN0aW9uLWRlZmluZS1wcm9ibGVtcy1pbWFnZSAtLT4KKwkJCQkJCQkJPC9kaXY+CisJCQkJCQkJCTwhLS0gRW5kIGltYWdlIGNvbHVtbi4uIC0tPgorCQkJCQkJCTwvZGl2PgorCisJCQkJCQkJPCEtLSBUaGlzIGlzIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHJvdyB3aGVyZSB0aGUgdGV4dCBnb2VzIC0tPgorCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1tZC05Ij4KKwkJCQkJCQkJPGRpdiBjbGFzcz0ic2VjdGlvbi1pbWFnaW5lLW9uLXJpZ2h0LWNvbnRlbnQiPgorCQkJCQkJCQkJPGgyPgorCQkJCQkJCQkJCTxiPldIWSBVU0UgSVQ8L2I+CisJCQkJCQkJCQk8L2gyPgorCQkJCQkJCQkJPHA+CisJCQkJCQkJCQkJPGI+RmFtaWxpYXIuPC9iPiBQcm92aWRlIGZhbWlsaWFyIGZ1bmN0aW9uYWxpdHksIGVzcGVjaWFsbHkgdG8gTnVtUHkgdXNlcnMuCisJCSAgICAgICAgICAgICAgICA8YnI+CisJCSAgICAgICAgICAgICAgICA8Yj5Sb2J1c3QuPC9iPiBIYXMgdGVzdCBzdWl0ZSBhbmQgaXMgdXNlZCBpbiBwcm9kdWN0aW9uIGhlYXZpbHkgYXQgRGlhbW9uZCBMaWdodCBTb3VyY2UuCisJCSAgICAgICAgICAgICAgICA8YnI+CisJCSAgICAgICAgICAgICAgICA8Yj5ObyBtb3JlIHBhc3NpbmcgZG91YmxlW10uPC9iPiBJRGF0YXNldCBwcm92aWRlIGEgY29uc2lzdGVudCBvYmplY3QgZm9yIGJhc2luZyBBUElzIG9uIHdpdGggc2lnbmlmaWNhbnRseSBpbXByb3ZlZCBjbGFyaXR5IG92ZXIgdXNpbmcgZG91YmxlIGFycmF5cyBvciBzaW1pbGFyLgorCQkgICAgICAgICAgICAgICAgPGJyPgorCQkgICAgICAgICAgICAgICAgPGI+T3B0aW1pemVkLjwvYj4gT3B0aW1pemVkIGZvciBzcGVlZCBhbmQgZ2V0dGluZyBiZXR0ZXIgYWxsIHRoZSB0aW1lLgorCQkgICAgICAgICAgICAgICAgPGJyPgorCQkgICAgICAgICAgICAgICAgPGI+U2NhbGFibGUuPC9iPiBBbGxvd3MgaGFuZGxpbmcgb2YgZGF0YSBzZXRzIGxhcmdlciB0aGFuIGF2YWlsYWJsZSBtZW1vcnkgd2l0aCAiTGF6eSBEYXRhc2V0cyIuCisJCSAgICAgICAgICAgICAgICA8YnI+CisJCSAgICAgICAgICAgICAgICA8Yj5Gb2N1cyBvbiB5b3VyIGFsZ29yaXRobXMuPC9iPiBCeSByZXVzaW5nIHRoaXMgbGlicmFyeSBpdCBhbGxvd3MgeW91IHRvIGZvY3VzIG9uIHlvdXIgY29kZS4KKworCQkJCQkJCQkJCTwhLS0gdG8gYWRkIGxhdGVyCisJCQkJCQkJCQk8YnI+PGJyPjxicj4KKwkJCQkJCQkJCQlXYW50IHRvIHNlZSB3aG88YSBocmVmPSJodHRwczovL2pkYXJyb3kuZ2l0aHViLmlvL2VjbGlwc2Uub3JnLWphbnVhcnkvd2hvcy5odG1sIj4gdXNlIGl0PC9hPj8KKwkJCQkJCQkJCS0tPgorCisgICAgICAgICAgICAgICAgICA8L3A+CisJCQkJCQkJCQk8IS0tIEVuZCBzZWN0aW9uLXdobydzIGludm9sdmVkLWNvbnRlbnQgLS0+CisJCQkJCQkJCTwvZGl2PgorCQkJCQkJCQk8IS0tIEVuZCBjb250ZW50IGNvbHVtbiAtLT4KKwkJCQkJCQk8L2Rpdj4KKwkJCQkJCQk8IS0tIEVuZCByb3cgLS0+CisJCQkJCQk8L2Rpdj4KKwkJCQkJCTwhLS0gRW5kIGNvbnRhaW5lci0tPgorCQkJCQk8L2Rpdj4KKwkJCQkJPCEtLSBFbmQgc2VjdGlvbiBkZWZpbmUgcHJvYmxlbXMgLS0+CisJCQkJPC9zZWN0aW9uPgorCisJCQkJPCEtLSBTdGFydCB0aGUgIkRvd25sb2FkIiBzZWN0aW9uIC0tPgorCQkJCTxkaXYgY2xhc3M9IndoaXRlLXNwYWNlciIgaWQ9ImRvd25sb2FkIj48L2Rpdj4KKwkJCQk8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi13aXRoLWltYWdlIiBpZD0ic2VjdGlvbi1kb3dubG9hZCI+CisJCQkJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisJCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPgorCQkJCQkJCTwhLS0gVGhpcyBpcyB0aGUgbGVmdCBzaWRlIG9mIHRoZSByb3cgd2hlcmUgdGhlIHRleHQgZ29lcyAtLT4KKwkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtOSI+CisJCQkJCQkJCTxkaXYgY2xhc3M9InNlY3Rpb24taW1hZ2luZS1vbi1yaWdodC1jb250ZW50Ij4KKwkJCQkJCQkJCTxoMj4KKwkJCQkJCQkJCQk8Yj5ET1dOTE9BRFM8L2I+CisJCQkJCQkJCQk8L2gyPgorCQkJCQkJCQkJPHA+CisgICAgICAgICAgICAgICAgICAgIDxiPlVwZGF0ZSBTaXRlczo8L2I+CisgICAgICAgICAgICAgICAgICAgIDxicj4KKyAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2Rvd25sb2FkLmVjbGlwc2Uub3JnL2phbnVhcnkvcmVsZWFzZXMvMi4wLjEvcmVwb3NpdG9yeSI+RWNsaXBzZSBKYW51YXJ5IDIuMC4xIDwvYT4KKwkJCQkJCQkJCQkoPGEgaHJlZj0iaHR0cDovL2Rvd25sb2FkLmVjbGlwc2Uub3JnL2phbnVhcnkvYnVpbGRzL2phbnVhcnktbWFzdGVyL2xhdGVzdC9yZXBvc2l0b3J5Ij56aXA8L2E+KQorCQkJCQkJCQkJCTxicj48YnI+CisJCQkJCQkJCQkJPGI+V2FudCBtb3JlPzwvYj4KKwkgICAgICAgICAgICAgICAgICA8YnI+CisJCQkJCQkJCQkJPGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9zY2llbmNlLmphbnVhcnkvZG93bmxvYWRzIj5Nb3JlIGRvd25sb2FkczwvYT4KKwkJCQkJCQkJCTwvcD4KKwkJCQkJCQkJCTwhLS0gRW5kIHNlY3Rpb24tZGVmaW5lLXByb2JsZW1zLWNvbnRlbnQgLS0+CisJCQkJCQkJCTwvZGl2PgorCQkJCQkJCQk8IS0tIEVuZCBjb250ZW50IGNvbHVtbiAtLT4KKwkJCQkJCQk8L2Rpdj4KKwkJCQkJCQk8IS0tIEVuZCByaWdodCBjb2wgLS0+CisKKwkJCQkJCQk8IS0tICBUaGUgaXMgdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHJvdyB3aGVyZSB0aGUgaW1hZ2UgZ29lcyAtLT4KKwkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wteHMtMyI+CisJCQkJCQkJCTxkaXYgY2xhc3M9InNlY3Rpb24taW1hZ2luZS1vbi1yaWdodC1pbWFnZSI+CisJCQkJCQkJCQk8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1kb3dubG9hZC1hbHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CisJCQkJCQkJCQk8IS0tIEVuZCBzZWN0aW9uLWRlZmluZSAtLT4KKwkJCQkJCQkJPC9kaXY+CisJCQkJCQkJCTwhLS0gRW5kIGltYWdlIGNvbHVtbi4uIC0tPgorCQkJCQkJCTwvZGl2PgorCQkJCQkJCTwhLS0gRW5kIHJvdyAtLT4KKwkJCQkJCTwvZGl2PgorCQkJCQkJPCEtLSBFbmQgY29udGFpbmVyLS0+CisJCQkJCTwvZGl2PgorCQkJCQk8IS0tIEVuZCBzZWN0aW9uIGRlZmluZSBwcm9ibGVtcyAtLT4KKwkJCQk8L3NlY3Rpb24+CisKKwkJCQk8IS0tIFN0YXJ0IHRoZSAiV2hvJ3MgaW52b2x2ZWQiIHNlY3Rpb24gLS0+CisJCQkJPGRpdiBjbGFzcz0id2hpdGUtc3BhY2VyIiBpZD0id2hvcyI+PC9kaXY+CisJCQkJPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24td2l0aC1pbWFnZSIgaWQ9InNlY3Rpb24td2hvcyI+CisJCQkJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisJCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPgorCQkJCQkJCTwhLS0gIFRoZSBpcyB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgcm93IHdoZXJlIHRoZSBpbWFnZSBnb2VzIC0tPgorCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC14cy0zIj4KKwkJCQkJCQkJPGRpdiBjbGFzcz0ic2VjdGlvbi1pbWFnaW5lLW9uLXJpZ2h0LWltYWdlIj4KKwkJCQkJCQkJCTxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWZvbGRlci1vcGVuIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgorCQkJCQkJCQkJPCEtLSBFbmQgc2VjdGlvbi1kZWZpbmUtcHJvYmxlbXMtaW1hZ2UgLS0+CisJCQkJCQkJCTwvZGl2PgorCQkJCQkJCQk8IS0tIEVuZCBpbWFnZSBjb2x1bW4uLiAtLT4KKwkJCQkJCQk8L2Rpdj4KKworCQkJCQkJCTwhLS0gVGhpcyBpcyB0aGUgbGVmdCBzaWRlIG9mIHRoZSByb3cgd2hlcmUgdGhlIHRleHQgZ29lcyAtLT4KKwkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtOSI+CisJCQkJCQkJCTxkaXYgY2xhc3M9InNlY3Rpb24taW1hZ2luZS1vbi1yaWdodC1jb250ZW50Ij4KKwkJCQkJCQkJCTxoMj4KKwkJCQkJCQkJCQk8Yj5SRVNPVVJDRVM8L2I+CisJCQkJCQkJCQk8L2gyPgorCQkJCQkJCQkJPHA+CisJCQkJCQkJCQkJPGI+LTwvYj4gRWNsaXBzZSBKYW51YXJ5IHByb2plY3QKKwkJCQkJCQkJCQk8YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3NjaWVuY2UuamFudWFyeSI+IHBhZ2U8L2E+CisJCQkJCQkJCQkJPGJyPjxicj4KKwkJCQkJCQkJCQk8Yj4tPC9iPiBFY2xpcHNlIFNjaWVuY2UgV29ya2luZworCQkJCQkJCQkJCTxhIGhyZWY9Imh0dHBzOi8vc2NpZW5jZS5lY2xpcHNlLm9yZy8iPiBHcm91cDwvYT4KKwkJCQkJCQkJCQk8YnI+PGJyPgorCQkJCQkJCQkJCTxiPi08L2I+IEFQSQorCQkJCQkJCQkJCTxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2phbnVhcnkvYXBpZG9jcy8iPiBkb2N1bWVudGF0aW9uPC9hPgorCQkJCQkJCQkJCTxicj48YnI+CisJCQkJCQkJCQkJPGI+LTwvYj4gPGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvY29tbXVuaXR5L2VjbGlwc2VfbmV3c2xldHRlci8yMDE2L25vdmVtYmVyL2FydGljbGUxLnBocCI+TXVsdGktRGltZW5zaW9uYWwgQXJyYXlzIDwvYT4KKwkJCQkJCQkJCQlpbiBKYXZhIHdpdGggRWNsaXBzZSBKYW51YXJ5CisgICAgICAgICAgICAgICAgICA8L3A+CisJCQkJCQkJCQk8IS0tIEVuZCBzZWN0aW9uLXdobydzIGludm9sdmVkLWNvbnRlbnQgLS0+CisJCQkJCQkJCTwvZGl2PgorCQkJCQkJCQk8IS0tIEVuZCBjb250ZW50IGNvbHVtbiAtLT4KKwkJCQkJCQk8L2Rpdj4KKwkJCQkJCQk8IS0tIEVuZCByb3cgLS0+CisJCQkJCQk8L2Rpdj4KKwkJCQkJCTwhLS0gRW5kIGNvbnRhaW5lci0tPgorCQkJCQk8L2Rpdj4KKwkJCQkJPCEtLSBFbmQgc2VjdGlvbiBkZWZpbmUgcHJvYmxlbXMgLS0+CisJCQkJPC9zZWN0aW9uPgorCisJCQkJPCEtLSBTdGFydCB0aGUgIkNvbnRhY3QiIHNlY3Rpb24gLS0+CisJCQkJPGRpdiBjbGFzcz0id2hpdGUtc3BhY2VyIiBpZD0iY29udGFjdCI+PC9kaXY+CisJCQkJPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tY29udGFjdCIgaWQ9ImNvbnRhY3QtdXMiPgorCQkJCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorCQkJCQkJPGgyPkNvbnRhY3QgVXM8L2gyPgorCQkJCQkJCTwhLS0gRGV2ZWxvcGVyJ3MgbGlzdC0tPgorCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1tZC1vZmZzZXQtMiBjb2wtbWQtNCBjb250YWN0IiA+CisJCQkJCQkJCTxhIGhyZWY9Imh0dHBzOi8vZGV2LmVjbGlwc2Uub3JnL21haWxtYW4vbGlzdGluZm8vamFudWFyeS1kZXYiPgorCQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXhzIGJ0bi1wcmltYXJ5Ij4KKwkJICAJCQkJCQkJPHNwYW4gY2xhc3M9Imlvbmljb25zIGlvbi1pb3MtcGVvcGxlIj48L3NwYW4+CisJCQkJCQkJCQk8L2J1dHRvbj4KKwkJCQkJCQkJPC9hPgorCQkJCQkJCTwvZGl2PgorCQkJCQkJCTwhLS0gQnVncy0tPgorCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1tZC00IGNvbnRhY3QiID4KKwkJCQkJCQkJPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2VjbGlwc2UvamFudWFyeS9pc3N1ZXMiPgorCQkJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLXhzIGJ0bi13YXJuaW5nIj4KKwkJICAJCQkJCQkJPHNwYW4gY2xhc3M9Imlvbmljb25zIGlvbi1idWciPjwvc3Bhbj4KKwkJCQkJCQkJCTwvYnV0dG9uPgorCQkJCQkJCQk8L2E+CisJCQkJCQkJPC9kaXY+CisKKwkJCQkJCTwvZGl2PgorCQkJCQk8IS0tIC8uY29udGFpbmVyIC0tPgorCQkJCTwvc2VjdGlvbj4KKwkJCQk8IS0tIC8uc2VjdGlvbi1jb250YWN0IC0tPgorCQkJCTwhLS0gRW5kIGNvbnRlbnQgLS0+CisJCQk8L2Rpdj4KKwkJCTwhLS0gRW5kIG1haW4gLS0+CisJCTwvZGl2PgorCisJCTwhLS0gVGhpcyBpcyB0aGUgZm9vdGVyIGF0IHRoZSB2ZXJ5IGJvdHRvbSBvZiB0aGUgcGFnZSB3aXRoIHRoZSBsZWdhbCBpbmZvcm1hdGlvbiAtLT4KKwkJPGZvb3RlciBjbGFzcz0iZm9vdGVyIj4KKwkJCTxhIGhyZWY9IiMiIGNsYXNzPSJmb290ZXItdG9nZ2xlciI+c2hvdy9oaWRlIGZvb3RlcjwvYT4KKwkJCTxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnIiBjbGFzcz0ibG5rLWZvb3RlciI+RWNsaXBzZSBIb21lPC9hPgorCQkJPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvcHJpdmFjeS5waHAiIGNsYXNzPSJsbmstZm9vdGVyIj5Qcml2YWN5IFBvbGljeTwvYT4KKwkJCTxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL3Rlcm1zb2Z1c2UucGhwIiBjbGFzcz0ibG5rLWZvb3RlciI+VGVybXMgb2YgVXNlPC9hPgorCQkJPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY29weXJpZ2h0LnBocCIgY2xhc3M9Imxuay1mb290ZXIiPkNvcHlyaWdodCBBZ2VudDwvYT4KKwkJCTxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsIiBjbGFzcz0ibG5rLWZvb3RlciI+TGVnYWw8L2E+CisKKwkJCTxkaXYgY2xhc3M9ImxpbmtfaWNvbnMiPgorCQkJCWljb25zOiA8YSBocmVmPSJodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9jb21wb25lbnRzLyI+Z2x5cGhpY29uPC9hPiwgPGEgaHJlZj0iaHR0cDovL2lvbmljb25zLmNvbSI+aW9uaWNvbjwvYT4KKwkJCTwvZGl2PgorCQkJPCEtLSBFbmQgdGhlIGZvb3RlciAtLT4KKwkJPC9mb290ZXI+CisJCTwhLS0gRW5kIHdyYXBwZXIgLS0+CisJPC9kaXY+CisKKwk8IS0tIEluY2x1ZGUgSlF1ZXJ5IGFuZCBCb290c3RyYXAgc2NyaXB0cy4gUHV0dGluZyB0aGVtIGF0IHRoZSBlbmQgcHJlc2VydmVzCisJCXdlYnNpdGUgcGVyZm9ybWFuY2UgKHRoZSBoZWF2eSBzdHVmZiBsb2FkcyBsYXN0KS4gSlF1ZXJ5IG11c3QgYmUgbG9hZGVkCisJCWJlZm9yZSBib290c3RyYXAuIC0tPgorCisJPHNjcmlwdCBzcmM9Imh0dHBzOi8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzEuMTEuMS9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KKwk8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTMuMi4xLm1pbi5qcyI+PC9zY3JpcHQ+CisJPHNjcmlwdCBzcmM9ImpzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgorCTwhLS0gRW5kIHRoZSBib2R5IC0tPgorPC9ib2R5PgorCis8IS0tIEVuZCB0aGUgZG9jdW1lbnQgLS0+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9pbmRleC5waHAgYi9pbmRleC5waHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxOTI1ZTkuLjAwMDAwMDAKLS0tIGEvaW5kZXgucGhwCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotPD9waHAgaGVhZGVyKCdMb2NhdGlvbjogaHR0cDovL2VjbGlwc2Uub3JnL3Byb2plY3RzL3Byb2plY3QucGhwP2lkPXRlY2hub2xvZ3kuamFudWFyeScpOyA/PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2luZGV4X2Zvcl9jdXN0b21fc2l0ZS5waHAgYi9pbmRleF9mb3JfY3VzdG9tX3NpdGUucGhwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMzczOWJiLi4wMDAwMDAwCi0tLSBhL2luZGV4X2Zvcl9jdXN0b21fc2l0ZS5waHAKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi08P3BocAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIENvcHlyaWdodCAoYykgMjAxNCBFY2xpcHNlIEZvdW5kYXRpb24gYW5kIG90aGVycy4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly9lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAqCi0gKiBDb250cmlidXRvcnM6Ci0gKiAgICBDaHJpc3RvcGhlciBHdWluZG9uIChFY2xpcHNlIEZvdW5kYXRpb24pIC0gSW5pdGlhbCBpbXBsZW1lbnRhdGlvbgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSAgcmVxdWlyZV9vbmNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10gLiAiL2VjbGlwc2Uub3JnLWNvbW1vbi9zeXN0ZW0vYXBwLmNsYXNzLnBocCIpOwotICByZXF1aXJlX29uY2UoJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXSAuICIvZWNsaXBzZS5vcmctY29tbW9uL3N5c3RlbS9uYXYuY2xhc3MucGhwIik7Ci0gIHJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL21lbnUuY2xhc3MucGhwIik7Ci0KLSAgJEFwcCAgID0gbmV3IEFwcCgpOwotICAkTmF2ICA9IG5ldyBOYXYoKTsKLSAgJE1lbnUgICA9IG5ldyBNZW51KCk7Ci0KLSAgIyBTaGFyZWQgdmFyaWFibGVzL2NvbmZpZ3MgZm9yIGFsbCBwYWdlcyBvZiB5b3VyIHdlYnNpdGUuCi0gIHJlcXVpcmVfb25jZSgnX3Byb2plY3RDb21tb24ucGhwJyk7Ci0KLSAgIyBCZWdpbjogcGFnZS1zcGVjaWZpYyBzZXR0aW5ncy4gIENoYW5nZSB0aGVzZS4KLSAgJHBhZ2VUaXRsZSA9ICJTdGFydGVya2l0IFRlbXBsYXRlIjsKLSAgJHBhZ2VLZXl3b3JkcyA9ICJBZGQgbWF4aW1hbCAyMCBrZXl3b3JkcyBhbmQgc2VwZXJhdGUgdGhlbSBmcm9tIGVhY2ggb3RoZXIgYnkgYSBjb21tYSBlbiBhIHNwYWNlLiI7Ci0gICRwYWdlQXV0aG9yID0gIkNocmlzdG9waGVyIEd1aW5kb24iOwotCi0gICMgSW5pdGlhbGl6ZSBjdXN0b20gc29sc3RpY2UgJHZhcmlhYmxlcy4KLSAgJHZhcmlhYmxlcyA9IGFycmF5KCk7Ci0KLSAgIyBBZGQgY2xhc3NlcyB0byA8Ym9keT4uIChTdHJpbmcpCi0gICR2YXJpYWJsZXNbJ2JvZHlfY2xhc3NlcyddID0gJyc7Ci0KLSAgIyBJbnNlcnQgY3VzdG9tIEhUTUwgaW4gdGhlIGJyZWFkY3J1bWIgcmVnaW9uLiAoU3RyaW5nKQotICAkdmFyaWFibGVzWydicmVhZGNydW1ic19odG1sJ10gPSAiIjsKLQotICAjIEhpZGUgdGhlIGJyZWFkY3J1bWJzLiAoQm9vbCkKLSAgJHZhcmlhYmxlc1snaGlkZV9icmVhZGNydW1icyddID0gRkFMU0U7Ci0KLSAgIyBJbnNlcnQgSFRNTCBiZWZvcmUgdGhlIGxlZnQgbmF2LiAoU3RyaW5nKQotICAkdmFyaWFibGVzWydsZWZ0bmF2X2h0bWwnXSA9ICcnOwotCi0gICMgVXBkYXRlIHRoZSBtYWluIGNvbnRhaW5lciBjbGFzcyAoU3RyaW5nKQotICAkdmFyaWFibGVzWydtYWluX2NvbnRhaW5lcl9jbGFzc2VzJ10gPSAnY29udGFpbmVyJzsKLQotICAjIEluc2VydCBIVE1MIGFmdGVyIG9wZW5pbmcgdGhlIG1haW4gY29udGVudCBjb250YWluZXIsIGJlZm9yZSB0aGUgbGVmdCBzaWRlYmFyLiAoU3RyaW5nKQotICAkdmFyaWFibGVzWydtYWluX2NvbnRhaW5lcl9odG1sJ10gPSAnJzsKLQotICAjIFNldCBTb2xzdGljZSB0aGVtZSB2YXJpYWJsZXMuIChBcnJheSkKLSAgJEFwcC0+c2V0VGhlbWVWYXJpYWJsZXMoJHZhcmlhYmxlcyk7Ci0KLSAgIyBQbGFjZSB5b3VyIGh0bWwgY29udGVudCBpbiBhIGZpbGUgY2FsbGVkIGNvbnRlbnQvZW5fcGFnZW5hbWUucGhwCi0gIG9iX3N0YXJ0KCk7Ci0gIGluY2x1ZGUoImNvbnRlbnQvZW5fIiAuICRBcHAtPmdldFNjcmlwdE5hbWUoKSk7Ci0gICRodG1sID0gb2JfZ2V0X2NsZWFuKCk7Ci0KLSAgIyBJbnNlcnQgZXh0cmEgaHRtbCBiZWZvcmUgY2xvc2luZyA8L2hlYWQ+IHRhZy4KLSAgLy8kQXBwLT5BZGRFeHRyYUh0bWxIZWFkZXIoJzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InN0eWxlLmNzcyIgbWVkaWE9InNjcmVlbiIgLz4nKTsKLQotICAjIEluc2VydCBzY3JpcHQvaHRtbCBiZWZvcmUgY2xvc2luZyA8L2JvZHk+IHRhZy4KLSAgLy8kQXBwLT5BZGRFeHRyYUpTRm9vdGVyKCc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzY3JpcHQubWluLmpzIj48L3NjcmlwdD4nKTsKLQotICAjIEdlbmVyYXRlIHRoZSB3ZWIgcGFnZQotICAkQXBwLT5nZW5lcmF0ZVBhZ2UoJHRoZW1lLCAkTWVudSwgJE5hdiwgJHBhZ2VBdXRob3IsICRwYWdlS2V5d29yZHMsICRwYWdlVGl0bGUsICRodG1sKTsKLQpkaWZmIC0tZ2l0IGEvanMvYm9vdHN0cmFwLm1pbi5qcyBiL2pzL2Jvb3RzdHJhcC5taW4uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJjZDJmYwotLS0gL2Rldi9udWxsCisrKyBiL2pzL2Jvb3RzdHJhcC5taW4uanMKQEAgLTAsMCArMSw3IEBACisvKiEKKyAqIEJvb3RzdHJhcCB2My4zLjcgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQorICogQ29weXJpZ2h0IDIwMTEtMjAxNiBUd2l0dGVyLCBJbmMuCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UKKyAqLworaWYoInVuZGVmaW5lZCI9PXR5cGVvZiBqUXVlcnkpdGhyb3cgbmV3IEVycm9yKCJCb290c3RyYXAncyBKYXZhU2NyaXB0IHJlcXVpcmVzIGpRdWVyeSIpOytmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7dmFyIGI9YS5mbi5qcXVlcnkuc3BsaXQoIiAiKVswXS5zcGxpdCgiLiIpO2lmKGJbMF08MiYmYlsxXTw5fHwxPT1iWzBdJiY5PT1iWzFdJiZiWzJdPDF8fGJbMF0+Myl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5IHZlcnNpb24gMS45LjEgb3IgaGlnaGVyLCBidXQgbG93ZXIgdGhhbiB2ZXJzaW9uIDQiKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJib290c3RyYXAiKSxiPXtXZWJraXRUcmFuc2l0aW9uOiJ3ZWJraXRUcmFuc2l0aW9uRW5kIixNb3pUcmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIixPVHJhbnNpdGlvbjoib1RyYW5zaXRpb25FbmQgb3RyYW5zaXRpb25lbmQiLHRyYW5zaXRpb246InRyYW5zaXRpb25lbmQifTtmb3IodmFyIGMgaW4gYilpZih2b2lkIDAhPT1hLnN0eWxlW2NdKXJldHVybntlbmQ6YltjXX07cmV0dXJuITF9YS5mbi5lbXVsYXRlVHJhbnNpdGlvbkVuZD1mdW5jdGlvbihiKXt2YXIgYz0hMSxkPXRoaXM7YSh0aGlzKS5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXtjPSEwfSk7dmFyIGU9ZnVuY3Rpb24oKXtjfHxhKGQpLnRyaWdnZXIoYS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kKX07cmV0dXJuIHNldFRpbWVvdXQoZSxiKSx0aGlzfSxhKGZ1bmN0aW9uKCl7YS5zdXBwb3J0LnRyYW5zaXRpb249YigpLGEuc3VwcG9ydC50cmFuc2l0aW9uJiYoYS5ldmVudC5zcGVjaWFsLmJzVHJhbnNpdGlvbkVuZD17YmluZFR5cGU6YS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGRlbGVnYXRlVHlwZTphLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQsaGFuZGxlOmZ1bmN0aW9uKGIpe2lmKGEoYi50YXJnZXQpLmlzKHRoaXMpKXJldHVybiBiLmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKSxlPWMuZGF0YSgiYnMuYWxlcnQiKTtlfHxjLmRhdGEoImJzLmFsZXJ0IixlPW5ldyBkKHRoaXMpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0uY2FsbChjKX0pfXZhciBjPSdbZGF0YS1kaXNtaXNzPSJhbGVydCJdJyxkPWZ1bmN0aW9uKGIpe2EoYikub24oImNsaWNrIixjLHRoaXMuY2xvc2UpfTtkLlZFUlNJT049IjMuMy43IixkLlRSQU5TSVRJT05fRFVSQVRJT049MTUwLGQucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGMoKXtnLmRldGFjaCgpLnRyaWdnZXIoImNsb3NlZC5icy5hbGVydCIpLnJlbW92ZSgpfXZhciBlPWEodGhpcyksZj1lLmF0dHIoImRhdGEtdGFyZ2V0Iik7Znx8KGY9ZS5hdHRyKCJocmVmIiksZj1mJiZmLnJlcGxhY2UoLy4qKD89I1teXHNdKiQpLywiIikpO3ZhciBnPWEoIiMiPT09Zj9bXTpmKTtiJiZiLnByZXZlbnREZWZhdWx0KCksZy5sZW5ndGh8fChnPWUuY2xvc2VzdCgiLmFsZXJ0IikpLGcudHJpZ2dlcihiPWEuRXZlbnQoImNsb3NlLmJzLmFsZXJ0IikpLGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fChnLnJlbW92ZUNsYXNzKCJpbiIpLGEuc3VwcG9ydC50cmFuc2l0aW9uJiZnLmhhc0NsYXNzKCJmYWRlIik/Zy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYykuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKTpjKCkpfTt2YXIgZT1hLmZuLmFsZXJ0O2EuZm4uYWxlcnQ9YixhLmZuLmFsZXJ0LkNvbnN0cnVjdG9yPWQsYS5mbi5hbGVydC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWxlcnQ9ZSx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuYWxlcnQuZGF0YS1hcGkiLGMsZC5wcm90b3R5cGUuY2xvc2UpfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMuYnV0dG9uIiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5idXR0b24iLGU9bmV3IGModGhpcyxmKSksInRvZ2dsZSI9PWI/ZS50b2dnbGUoKTpiJiZlLnNldFN0YXRlKGIpfSl9dmFyIGM9ZnVuY3Rpb24oYixkKXt0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy5pc0xvYWRpbmc9ITF9O2MuVkVSU0lPTj0iMy4zLjciLGMuREVGQVVMVFM9e2xvYWRpbmdUZXh0OiJsb2FkaW5nLi4uIn0sYy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oYil7dmFyIGM9ImRpc2FibGVkIixkPXRoaXMuJGVsZW1lbnQsZT1kLmlzKCJpbnB1dCIpPyJ2YWwiOiJodG1sIixmPWQuZGF0YSgpO2IrPSJUZXh0IixudWxsPT1mLnJlc2V0VGV4dCYmZC5kYXRhKCJyZXNldFRleHQiLGRbZV0oKSksc2V0VGltZW91dChhLnByb3h5KGZ1bmN0aW9uKCl7ZFtlXShudWxsPT1mW2JdP3RoaXMub3B0aW9uc1tiXTpmW2JdKSwibG9hZGluZ1RleHQiPT1iPyh0aGlzLmlzTG9hZGluZz0hMCxkLmFkZENsYXNzKGMpLmF0dHIoYyxjKS5wcm9wKGMsITApKTp0aGlzLmlzTG9hZGluZyYmKHRoaXMuaXNMb2FkaW5nPSExLGQucmVtb3ZlQ2xhc3MoYykucmVtb3ZlQXR0cihjKS5wcm9wKGMsITEpKX0sdGhpcyksMCl9LGMucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbigpe3ZhciBhPSEwLGI9dGhpcy4kZWxlbWVudC5jbG9zZXN0KCdbZGF0YS10b2dnbGU9ImJ1dHRvbnMiXScpO2lmKGIubGVuZ3RoKXt2YXIgYz10aGlzLiRlbGVtZW50LmZpbmQoImlucHV0Iik7InJhZGlvIj09Yy5wcm9wKCJ0eXBlIik/KGMucHJvcCgiY2hlY2tlZCIpJiYoYT0hMSksYi5maW5kKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLHRoaXMuJGVsZW1lbnQuYWRkQ2xhc3MoImFjdGl2ZSIpKToiY2hlY2tib3giPT1jLnByb3AoInR5cGUiKSYmKGMucHJvcCgiY2hlY2tlZCIpIT09dGhpcy4kZWxlbWVudC5oYXNDbGFzcygiYWN0aXZlIikmJihhPSExKSx0aGlzLiRlbGVtZW50LnRvZ2dsZUNsYXNzKCJhY3RpdmUiKSksYy5wcm9wKCJjaGVja2VkIix0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSksYSYmYy50cmlnZ2VyKCJjaGFuZ2UiKX1lbHNlIHRoaXMuJGVsZW1lbnQuYXR0cigiYXJpYS1wcmVzc2VkIiwhdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiYWN0aXZlIikpLHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoImFjdGl2ZSIpfTt2YXIgZD1hLmZuLmJ1dHRvbjthLmZuLmJ1dHRvbj1iLGEuZm4uYnV0dG9uLkNvbnN0cnVjdG9yPWMsYS5mbi5idXR0b24ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmJ1dHRvbj1kLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5idXR0b24uZGF0YS1hcGkiLCdbZGF0YS10b2dnbGVePSJidXR0b24iXScsZnVuY3Rpb24oYyl7dmFyIGQ9YShjLnRhcmdldCkuY2xvc2VzdCgiLmJ0biIpO2IuY2FsbChkLCJ0b2dnbGUiKSxhKGMudGFyZ2V0KS5pcygnaW5wdXRbdHlwZT0icmFkaW8iXSwgaW5wdXRbdHlwZT0iY2hlY2tib3giXScpfHwoYy5wcmV2ZW50RGVmYXVsdCgpLGQuaXMoImlucHV0LGJ1dHRvbiIpP2QudHJpZ2dlcigiZm9jdXMiKTpkLmZpbmQoImlucHV0OnZpc2libGUsYnV0dG9uOnZpc2libGUiKS5maXJzdCgpLnRyaWdnZXIoImZvY3VzIikpfSkub24oImZvY3VzLmJzLmJ1dHRvbi5kYXRhLWFwaSBibHVyLmJzLmJ1dHRvbi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZV49ImJ1dHRvbiJdJyxmdW5jdGlvbihiKXthKGIudGFyZ2V0KS5jbG9zZXN0KCIuYnRuIikudG9nZ2xlQ2xhc3MoImZvY3VzIiwvXmZvY3VzKGluKT8kLy50ZXN0KGIudHlwZSkpfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy5jYXJvdXNlbCIpLGY9YS5leHRlbmQoe30sYy5ERUZBVUxUUyxkLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGc9InN0cmluZyI9PXR5cGVvZiBiP2I6Zi5zbGlkZTtlfHxkLmRhdGEoImJzLmNhcm91c2VsIixlPW5ldyBjKHRoaXMsZikpLCJudW1iZXIiPT10eXBlb2YgYj9lLnRvKGIpOmc/ZVtnXSgpOmYuaW50ZXJ2YWwmJmUucGF1c2UoKS5jeWNsZSgpfSl9dmFyIGM9ZnVuY3Rpb24oYixjKXt0aGlzLiRlbGVtZW50PWEoYiksdGhpcy4kaW5kaWNhdG9ycz10aGlzLiRlbGVtZW50LmZpbmQoIi5jYXJvdXNlbC1pbmRpY2F0b3JzIiksdGhpcy5vcHRpb25zPWMsdGhpcy5wYXVzZWQ9bnVsbCx0aGlzLnNsaWRpbmc9bnVsbCx0aGlzLmludGVydmFsPW51bGwsdGhpcy4kYWN0aXZlPW51bGwsdGhpcy4kaXRlbXM9bnVsbCx0aGlzLm9wdGlvbnMua2V5Ym9hcmQmJnRoaXMuJGVsZW1lbnQub24oImtleWRvd24uYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5rZXlkb3duLHRoaXMpKSwiaG92ZXIiPT10aGlzLm9wdGlvbnMucGF1c2UmJiEoIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpJiZ0aGlzLiRlbGVtZW50Lm9uKCJtb3VzZWVudGVyLmJzLmNhcm91c2VsIixhLnByb3h5KHRoaXMucGF1c2UsdGhpcykpLm9uKCJtb3VzZWxlYXZlLmJzLmNhcm91c2VsIixhLnByb3h5KHRoaXMuY3ljbGUsdGhpcykpfTtjLlZFUlNJT049IjMuMy43IixjLlRSQU5TSVRJT05fRFVSQVRJT049NjAwLGMuREVGQVVMVFM9e2ludGVydmFsOjVlMyxwYXVzZToiaG92ZXIiLHdyYXA6ITAsa2V5Ym9hcmQ6ITB9LGMucHJvdG90eXBlLmtleWRvd249ZnVuY3Rpb24oYSl7aWYoIS9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QoYS50YXJnZXQudGFnTmFtZSkpe3N3aXRjaChhLndoaWNoKXtjYXNlIDM3OnRoaXMucHJldigpO2JyZWFrO2Nhc2UgMzk6dGhpcy5uZXh0KCk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59YS5wcmV2ZW50RGVmYXVsdCgpfX0sYy5wcm90b3R5cGUuY3ljbGU9ZnVuY3Rpb24oYil7cmV0dXJuIGJ8fCh0aGlzLnBhdXNlZD0hMSksdGhpcy5pbnRlcnZhbCYmY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKSx0aGlzLm9wdGlvbnMuaW50ZXJ2YWwmJiF0aGlzLnBhdXNlZCYmKHRoaXMuaW50ZXJ2YWw9c2V0SW50ZXJ2YWwoYS5wcm94eSh0aGlzLm5leHQsdGhpcyksdGhpcy5vcHRpb25zLmludGVydmFsKSksdGhpc30sYy5wcm90b3R5cGUuZ2V0SXRlbUluZGV4PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLiRpdGVtcz1hLnBhcmVudCgpLmNoaWxkcmVuKCIuaXRlbSIpLHRoaXMuJGl0ZW1zLmluZGV4KGF8fHRoaXMuJGFjdGl2ZSl9LGMucHJvdG90eXBlLmdldEl0ZW1Gb3JEaXJlY3Rpb249ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmdldEl0ZW1JbmRleChiKSxkPSJwcmV2Ij09YSYmMD09PWN8fCJuZXh0Ij09YSYmYz09dGhpcy4kaXRlbXMubGVuZ3RoLTE7aWYoZCYmIXRoaXMub3B0aW9ucy53cmFwKXJldHVybiBiO3ZhciBlPSJwcmV2Ij09YT8tMToxLGY9KGMrZSkldGhpcy4kaXRlbXMubGVuZ3RoO3JldHVybiB0aGlzLiRpdGVtcy5lcShmKX0sYy5wcm90b3R5cGUudG89ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPXRoaXMuZ2V0SXRlbUluZGV4KHRoaXMuJGFjdGl2ZT10aGlzLiRlbGVtZW50LmZpbmQoIi5pdGVtLmFjdGl2ZSIpKTtpZighKGE+dGhpcy4kaXRlbXMubGVuZ3RoLTF8fGE8MCkpcmV0dXJuIHRoaXMuc2xpZGluZz90aGlzLiRlbGVtZW50Lm9uZSgic2xpZC5icy5jYXJvdXNlbCIsZnVuY3Rpb24oKXtiLnRvKGEpfSk6Yz09YT90aGlzLnBhdXNlKCkuY3ljbGUoKTp0aGlzLnNsaWRlKGE+Yz8ibmV4dCI6InByZXYiLHRoaXMuJGl0ZW1zLmVxKGEpKX0sYy5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oYil7cmV0dXJuIGJ8fCh0aGlzLnBhdXNlZD0hMCksdGhpcy4kZWxlbWVudC5maW5kKCIubmV4dCwgLnByZXYiKS5sZW5ndGgmJmEuc3VwcG9ydC50cmFuc2l0aW9uJiYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCksdGhpcy5jeWNsZSghMCkpLHRoaXMuaW50ZXJ2YWw9Y2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKSx0aGlzfSxjLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7aWYoIXRoaXMuc2xpZGluZylyZXR1cm4gdGhpcy5zbGlkZSgibmV4dCIpfSxjLnByb3RvdHlwZS5wcmV2PWZ1bmN0aW9uKCl7aWYoIXRoaXMuc2xpZGluZylyZXR1cm4gdGhpcy5zbGlkZSgicHJldiIpfSxjLnByb3RvdHlwZS5zbGlkZT1mdW5jdGlvbihiLGQpe3ZhciBlPXRoaXMuJGVsZW1lbnQuZmluZCgiLml0ZW0uYWN0aXZlIiksZj1kfHx0aGlzLmdldEl0ZW1Gb3JEaXJlY3Rpb24oYixlKSxnPXRoaXMuaW50ZXJ2YWwsaD0ibmV4dCI9PWI/ImxlZnQiOiJyaWdodCIsaT10aGlzO2lmKGYuaGFzQ2xhc3MoImFjdGl2ZSIpKXJldHVybiB0aGlzLnNsaWRpbmc9ITE7dmFyIGo9ZlswXSxrPWEuRXZlbnQoInNsaWRlLmJzLmNhcm91c2VsIix7cmVsYXRlZFRhcmdldDpqLGRpcmVjdGlvbjpofSk7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGspLCFrLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpZih0aGlzLnNsaWRpbmc9ITAsZyYmdGhpcy5wYXVzZSgpLHRoaXMuJGluZGljYXRvcnMubGVuZ3RoKXt0aGlzLiRpbmRpY2F0b3JzLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIik7dmFyIGw9YSh0aGlzLiRpbmRpY2F0b3JzLmNoaWxkcmVuKClbdGhpcy5nZXRJdGVtSW5kZXgoZildKTtsJiZsLmFkZENsYXNzKCJhY3RpdmUiKX12YXIgbT1hLkV2ZW50KCJzbGlkLmJzLmNhcm91c2VsIix7cmVsYXRlZFRhcmdldDpqLGRpcmVjdGlvbjpofSk7cmV0dXJuIGEuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJzbGlkZSIpPyhmLmFkZENsYXNzKGIpLGZbMF0ub2Zmc2V0V2lkdGgsZS5hZGRDbGFzcyhoKSxmLmFkZENsYXNzKGgpLGUub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7Zi5yZW1vdmVDbGFzcyhbYixoXS5qb2luKCIgIikpLmFkZENsYXNzKCJhY3RpdmUiKSxlLnJlbW92ZUNsYXNzKFsiYWN0aXZlIixoXS5qb2luKCIgIikpLGkuc2xpZGluZz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS4kZWxlbWVudC50cmlnZ2VyKG0pfSwwKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTikpOihlLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSxmLmFkZENsYXNzKCJhY3RpdmUiKSx0aGlzLnNsaWRpbmc9ITEsdGhpcy4kZWxlbWVudC50cmlnZ2VyKG0pKSxnJiZ0aGlzLmN5Y2xlKCksdGhpc319O3ZhciBkPWEuZm4uY2Fyb3VzZWw7YS5mbi5jYXJvdXNlbD1iLGEuZm4uY2Fyb3VzZWwuQ29uc3RydWN0b3I9YyxhLmZuLmNhcm91c2VsLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5jYXJvdXNlbD1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe3ZhciBkLGU9YSh0aGlzKSxmPWEoZS5hdHRyKCJkYXRhLXRhcmdldCIpfHwoZD1lLmF0dHIoImhyZWYiKSkmJmQucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKSk7aWYoZi5oYXNDbGFzcygiY2Fyb3VzZWwiKSl7dmFyIGc9YS5leHRlbmQoe30sZi5kYXRhKCksZS5kYXRhKCkpLGg9ZS5hdHRyKCJkYXRhLXNsaWRlLXRvIik7aCYmKGcuaW50ZXJ2YWw9ITEpLGIuY2FsbChmLGcpLGgmJmYuZGF0YSgiYnMuY2Fyb3VzZWwiKS50byhoKSxjLnByZXZlbnREZWZhdWx0KCl9fTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMuY2Fyb3VzZWwuZGF0YS1hcGkiLCJbZGF0YS1zbGlkZV0iLGUpLm9uKCJjbGljay5icy5jYXJvdXNlbC5kYXRhLWFwaSIsIltkYXRhLXNsaWRlLXRvXSIsZSksYSh3aW5kb3cpLm9uKCJsb2FkIixmdW5jdGlvbigpe2EoJ1tkYXRhLXJpZGU9ImNhcm91c2VsIl0nKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKTtiLmNhbGwoYyxjLmRhdGEoKSl9KX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXt2YXIgYyxkPWIuYXR0cigiZGF0YS10YXJnZXQiKXx8KGM9Yi5hdHRyKCJocmVmIikpJiZjLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIik7cmV0dXJuIGEoZCl9ZnVuY3Rpb24gYyhiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKSxlPWMuZGF0YSgiYnMuY29sbGFwc2UiKSxmPWEuZXh0ZW5kKHt9LGQuREVGQVVMVFMsYy5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKTshZSYmZi50b2dnbGUmJi9zaG93fGhpZGUvLnRlc3QoYikmJihmLnRvZ2dsZT0hMSksZXx8Yy5kYXRhKCJicy5jb2xsYXBzZSIsZT1uZXcgZCh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBkPWZ1bmN0aW9uKGIsYyl7dGhpcy4kZWxlbWVudD1hKGIpLHRoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxkLkRFRkFVTFRTLGMpLHRoaXMuJHRyaWdnZXI9YSgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2hyZWY9IiMnK2IuaWQrJyJdLFtkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXRhcmdldD0iIycrYi5pZCsnIl0nKSx0aGlzLnRyYW5zaXRpb25pbmc9bnVsbCx0aGlzLm9wdGlvbnMucGFyZW50P3RoaXMuJHBhcmVudD10aGlzLmdldFBhcmVudCgpOnRoaXMuYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKHRoaXMuJGVsZW1lbnQsdGhpcy4kdHJpZ2dlciksdGhpcy5vcHRpb25zLnRvZ2dsZSYmdGhpcy50b2dnbGUoKX07ZC5WRVJTSU9OPSIzLjMuNyIsZC5UUkFOU0lUSU9OX0RVUkFUSU9OPTM1MCxkLkRFRkFVTFRTPXt0b2dnbGU6ITB9LGQucHJvdG90eXBlLmRpbWVuc2lvbj1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoIndpZHRoIik7cmV0dXJuIGE/IndpZHRoIjoiaGVpZ2h0In0sZC5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe2lmKCF0aGlzLnRyYW5zaXRpb25pbmcmJiF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJpbiIpKXt2YXIgYixlPXRoaXMuJHBhcmVudCYmdGhpcy4kcGFyZW50LmNoaWxkcmVuKCIucGFuZWwiKS5jaGlsZHJlbigiLmluLCAuY29sbGFwc2luZyIpO2lmKCEoZSYmZS5sZW5ndGgmJihiPWUuZGF0YSgiYnMuY29sbGFwc2UiKSxiJiZiLnRyYW5zaXRpb25pbmcpKSl7dmFyIGY9YS5FdmVudCgic2hvdy5icy5jb2xsYXBzZSIpO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihmKSwhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7ZSYmZS5sZW5ndGgmJihjLmNhbGwoZSwiaGlkZSIpLGJ8fGUuZGF0YSgiYnMuY29sbGFwc2UiLG51bGwpKTt2YXIgZz10aGlzLmRpbWVuc2lvbigpO3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIikuYWRkQ2xhc3MoImNvbGxhcHNpbmciKVtnXSgwKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksdGhpcy4kdHJpZ2dlci5yZW1vdmVDbGFzcygiY29sbGFwc2VkIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLHRoaXMudHJhbnNpdGlvbmluZz0xO3ZhciBoPWZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2luZyIpLmFkZENsYXNzKCJjb2xsYXBzZSBpbiIpW2ddKCIiKSx0aGlzLnRyYW5zaXRpb25pbmc9MCx0aGlzLiRlbGVtZW50LnRyaWdnZXIoInNob3duLmJzLmNvbGxhcHNlIil9O2lmKCFhLnN1cHBvcnQudHJhbnNpdGlvbilyZXR1cm4gaC5jYWxsKHRoaXMpO3ZhciBpPWEuY2FtZWxDYXNlKFsic2Nyb2xsIixnXS5qb2luKCItIikpO3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkoaCx0aGlzKSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKVtnXSh0aGlzLiRlbGVtZW50WzBdW2ldKX19fX0sZC5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbigpe2lmKCF0aGlzLnRyYW5zaXRpb25pbmcmJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIikpe3ZhciBiPWEuRXZlbnQoImhpZGUuYnMuY29sbGFwc2UiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoYiksIWIuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBjPXRoaXMuZGltZW5zaW9uKCk7dGhpcy4kZWxlbWVudFtjXSh0aGlzLiRlbGVtZW50W2NdKCkpWzBdLm9mZnNldEhlaWdodCx0aGlzLiRlbGVtZW50LmFkZENsYXNzKCJjb2xsYXBzaW5nIikucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIGluIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLHRoaXMuJHRyaWdnZXIuYWRkQ2xhc3MoImNvbGxhcHNlZCIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCExKSx0aGlzLnRyYW5zaXRpb25pbmc9MTt2YXIgZT1mdW5jdGlvbigpe3RoaXMudHJhbnNpdGlvbmluZz0wLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNpbmciKS5hZGRDbGFzcygiY29sbGFwc2UiKS50cmlnZ2VyKCJoaWRkZW4uYnMuY29sbGFwc2UiKX07cmV0dXJuIGEuc3VwcG9ydC50cmFuc2l0aW9uP3ZvaWQgdGhpcy4kZWxlbWVudFtjXSgwKS5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYS5wcm94eShlLHRoaXMpKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChkLlRSQU5TSVRJT05fRFVSQVRJT04pOmUuY2FsbCh0aGlzKX19fSxkLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oKXt0aGlzW3RoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIik/ImhpZGUiOiJzaG93Il0oKX0sZC5wcm90b3R5cGUuZ2V0UGFyZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcy5vcHRpb25zLnBhcmVudCkuZmluZCgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtcGFyZW50PSInK3RoaXMub3B0aW9ucy5wYXJlbnQrJyJdJykuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGMsZCl7dmFyIGU9YShkKTt0aGlzLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyhiKGUpLGUpfSx0aGlzKSkuZW5kKCl9LGQucHJvdG90eXBlLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuaGFzQ2xhc3MoImluIik7YS5hdHRyKCJhcmlhLWV4cGFuZGVkIixjKSxiLnRvZ2dsZUNsYXNzKCJjb2xsYXBzZWQiLCFjKS5hdHRyKCJhcmlhLWV4cGFuZGVkIixjKX07dmFyIGU9YS5mbi5jb2xsYXBzZTthLmZuLmNvbGxhcHNlPWMsYS5mbi5jb2xsYXBzZS5Db25zdHJ1Y3Rvcj1kLGEuZm4uY29sbGFwc2Uubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmNvbGxhcHNlPWUsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmNvbGxhcHNlLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdJyxmdW5jdGlvbihkKXt2YXIgZT1hKHRoaXMpO2UuYXR0cigiZGF0YS10YXJnZXQiKXx8ZC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBmPWIoZSksZz1mLmRhdGEoImJzLmNvbGxhcHNlIiksaD1nPyJ0b2dnbGUiOmUuZGF0YSgpO2MuY2FsbChmLGgpfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3ZhciBjPWIuYXR0cigiZGF0YS10YXJnZXQiKTtjfHwoYz1iLmF0dHIoImhyZWYiKSxjPWMmJi8jW0EtWmEtel0vLnRlc3QoYykmJmMucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGQ9YyYmYShjKTtyZXR1cm4gZCYmZC5sZW5ndGg/ZDpiLnBhcmVudCgpfWZ1bmN0aW9uIGMoYyl7YyYmMz09PWMud2hpY2h8fChhKGUpLnJlbW92ZSgpLGEoZikuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1iKGQpLGY9e3JlbGF0ZWRUYXJnZXQ6dGhpc307ZS5oYXNDbGFzcygib3BlbiIpJiYoYyYmImNsaWNrIj09Yy50eXBlJiYvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGMudGFyZ2V0LnRhZ05hbWUpJiZhLmNvbnRhaW5zKGVbMF0sYy50YXJnZXQpfHwoZS50cmlnZ2VyKGM9YS5FdmVudCgiaGlkZS5icy5kcm9wZG93biIsZikpLGMuaXNEZWZhdWx0UHJldmVudGVkKCl8fChkLmF0dHIoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLGUucmVtb3ZlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKGEuRXZlbnQoImhpZGRlbi5icy5kcm9wZG93biIsZikpKSkpfSkpfWZ1bmN0aW9uIGQoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZD1jLmRhdGEoImJzLmRyb3Bkb3duIik7ZHx8Yy5kYXRhKCJicy5kcm9wZG93biIsZD1uZXcgZyh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZkW2JdLmNhbGwoYyl9KX12YXIgZT0iLmRyb3Bkb3duLWJhY2tkcm9wIixmPSdbZGF0YS10b2dnbGU9ImRyb3Bkb3duIl0nLGc9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2suYnMuZHJvcGRvd24iLHRoaXMudG9nZ2xlKX07Zy5WRVJTSU9OPSIzLjMuNyIsZy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKGQpe3ZhciBlPWEodGhpcyk7aWYoIWUuaXMoIi5kaXNhYmxlZCwgOmRpc2FibGVkIikpe3ZhciBmPWIoZSksZz1mLmhhc0NsYXNzKCJvcGVuIik7aWYoYygpLCFnKXsib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmIWYuY2xvc2VzdCgiLm5hdmJhci1uYXYiKS5sZW5ndGgmJmEoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLmFkZENsYXNzKCJkcm9wZG93bi1iYWNrZHJvcCIpLmluc2VydEFmdGVyKGEodGhpcykpLm9uKCJjbGljayIsYyk7dmFyIGg9e3JlbGF0ZWRUYXJnZXQ6dGhpc307aWYoZi50cmlnZ2VyKGQ9YS5FdmVudCgic2hvdy5icy5kcm9wZG93biIsaCkpLGQuaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO2UudHJpZ2dlcigiZm9jdXMiKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwidHJ1ZSIpLGYudG9nZ2xlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKGEuRXZlbnQoInNob3duLmJzLmRyb3Bkb3duIixoKSl9cmV0dXJuITF9fSxnLnByb3RvdHlwZS5rZXlkb3duPWZ1bmN0aW9uKGMpe2lmKC8oMzh8NDB8Mjd8MzIpLy50ZXN0KGMud2hpY2gpJiYhL2lucHV0fHRleHRhcmVhL2kudGVzdChjLnRhcmdldC50YWdOYW1lKSl7dmFyIGQ9YSh0aGlzKTtpZihjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKSwhZC5pcygiLmRpc2FibGVkLCA6ZGlzYWJsZWQiKSl7dmFyIGU9YihkKSxnPWUuaGFzQ2xhc3MoIm9wZW4iKTtpZighZyYmMjchPWMud2hpY2h8fGcmJjI3PT1jLndoaWNoKXJldHVybiAyNz09Yy53aGljaCYmZS5maW5kKGYpLnRyaWdnZXIoImZvY3VzIiksZC50cmlnZ2VyKCJjbGljayIpO3ZhciBoPSIgbGk6bm90KC5kaXNhYmxlZCk6dmlzaWJsZSBhIixpPWUuZmluZCgiLmRyb3Bkb3duLW1lbnUiK2gpO2lmKGkubGVuZ3RoKXt2YXIgaj1pLmluZGV4KGMudGFyZ2V0KTszOD09Yy53aGljaCYmaj4wJiZqLS0sNDA9PWMud2hpY2gmJmo8aS5sZW5ndGgtMSYmaisrLH5qfHwoaj0wKSxpLmVxKGopLnRyaWdnZXIoImZvY3VzIil9fX19O3ZhciBoPWEuZm4uZHJvcGRvd247YS5mbi5kcm9wZG93bj1kLGEuZm4uZHJvcGRvd24uQ29uc3RydWN0b3I9ZyxhLmZuLmRyb3Bkb3duLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5kcm9wZG93bj1oLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5kcm9wZG93bi5kYXRhLWFwaSIsYykub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIiwiLmRyb3Bkb3duIGZvcm0iLGZ1bmN0aW9uKGEpe2Euc3RvcFByb3BhZ2F0aW9uKCl9KS5vbigiY2xpY2suYnMuZHJvcGRvd24uZGF0YS1hcGkiLGYsZy5wcm90b3R5cGUudG9nZ2xlKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsZixnLnByb3RvdHlwZS5rZXlkb3duKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsIi5kcm9wZG93bi1tZW51IixnLnByb3RvdHlwZS5rZXlkb3duKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYixkKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKSxmPWUuZGF0YSgiYnMubW9kYWwiKSxnPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZS5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKTtmfHxlLmRhdGEoImJzLm1vZGFsIixmPW5ldyBjKHRoaXMsZykpLCJzdHJpbmciPT10eXBlb2YgYj9mW2JdKGQpOmcuc2hvdyYmZi5zaG93KGQpfSl9dmFyIGM9ZnVuY3Rpb24oYixjKXt0aGlzLm9wdGlvbnM9Yyx0aGlzLiRib2R5PWEoZG9jdW1lbnQuYm9keSksdGhpcy4kZWxlbWVudD1hKGIpLHRoaXMuJGRpYWxvZz10aGlzLiRlbGVtZW50LmZpbmQoIi5tb2RhbC1kaWFsb2ciKSx0aGlzLiRiYWNrZHJvcD1udWxsLHRoaXMuaXNTaG93bj1udWxsLHRoaXMub3JpZ2luYWxCb2R5UGFkPW51bGwsdGhpcy5zY3JvbGxiYXJXaWR0aD0wLHRoaXMuaWdub3JlQmFja2Ryb3BDbGljaz0hMSx0aGlzLm9wdGlvbnMucmVtb3RlJiZ0aGlzLiRlbGVtZW50LmZpbmQoIi5tb2RhbC1jb250ZW50IikubG9hZCh0aGlzLm9wdGlvbnMucmVtb3RlLGEucHJveHkoZnVuY3Rpb24oKXt0aGlzLiRlbGVtZW50LnRyaWdnZXIoImxvYWRlZC5icy5tb2RhbCIpfSx0aGlzKSl9O2MuVkVSU0lPTj0iMy4zLjciLGMuVFJBTlNJVElPTl9EVVJBVElPTj0zMDAsYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLkRFRkFVTFRTPXtiYWNrZHJvcDohMCxrZXlib2FyZDohMCxzaG93OiEwfSxjLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXNTaG93bj90aGlzLmhpZGUoKTp0aGlzLnNob3coYSl9LGMucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcyxlPWEuRXZlbnQoInNob3cuYnMubW9kYWwiLHtyZWxhdGVkVGFyZ2V0OmJ9KTt0aGlzLiRlbGVtZW50LnRyaWdnZXIoZSksdGhpcy5pc1Nob3dufHxlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5pc1Nob3duPSEwLHRoaXMuY2hlY2tTY3JvbGxiYXIoKSx0aGlzLnNldFNjcm9sbGJhcigpLHRoaXMuJGJvZHkuYWRkQ2xhc3MoIm1vZGFsLW9wZW4iKSx0aGlzLmVzY2FwZSgpLHRoaXMucmVzaXplKCksdGhpcy4kZWxlbWVudC5vbigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIsJ1tkYXRhLWRpc21pc3M9Im1vZGFsIl0nLGEucHJveHkodGhpcy5oaWRlLHRoaXMpKSx0aGlzLiRkaWFsb2cub24oIm1vdXNlZG93bi5kaXNtaXNzLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuJGVsZW1lbnQub25lKCJtb3VzZXVwLmRpc21pc3MuYnMubW9kYWwiLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmlzKGQuJGVsZW1lbnQpJiYoZC5pZ25vcmVCYWNrZHJvcENsaWNrPSEwKX0pfSksdGhpcy5iYWNrZHJvcChmdW5jdGlvbigpe3ZhciBlPWEuc3VwcG9ydC50cmFuc2l0aW9uJiZkLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik7ZC4kZWxlbWVudC5wYXJlbnQoKS5sZW5ndGh8fGQuJGVsZW1lbnQuYXBwZW5kVG8oZC4kYm9keSksZC4kZWxlbWVudC5zaG93KCkuc2Nyb2xsVG9wKDApLGQuYWRqdXN0RGlhbG9nKCksZSYmZC4kZWxlbWVudFswXS5vZmZzZXRXaWR0aCxkLiRlbGVtZW50LmFkZENsYXNzKCJpbiIpLGQuZW5mb3JjZUZvY3VzKCk7dmFyIGY9YS5FdmVudCgic2hvd24uYnMubW9kYWwiLHtyZWxhdGVkVGFyZ2V0OmJ9KTtlP2QuJGRpYWxvZy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXtkLiRlbGVtZW50LnRyaWdnZXIoImZvY3VzIikudHJpZ2dlcihmKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZC4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpLnRyaWdnZXIoZil9KSl9LGMucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oYil7YiYmYi5wcmV2ZW50RGVmYXVsdCgpLGI9YS5FdmVudCgiaGlkZS5icy5tb2RhbCIpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcihiKSx0aGlzLmlzU2hvd24mJiFiLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYodGhpcy5pc1Nob3duPSExLHRoaXMuZXNjYXBlKCksdGhpcy5yZXNpemUoKSxhKGRvY3VtZW50KS5vZmYoImZvY3VzaW4uYnMubW9kYWwiKSx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJpbiIpLm9mZigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIpLm9mZigibW91c2V1cC5kaXNtaXNzLmJzLm1vZGFsIiksdGhpcy4kZGlhbG9nLm9mZigibW91c2Vkb3duLmRpc21pc3MuYnMubW9kYWwiKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpP3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkodGhpcy5oaWRlTW9kYWwsdGhpcykpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6dGhpcy5oaWRlTW9kYWwoKSl9LGMucHJvdG90eXBlLmVuZm9yY2VGb2N1cz1mdW5jdGlvbigpe2EoZG9jdW1lbnQpLm9mZigiZm9jdXNpbi5icy5tb2RhbCIpLm9uKCJmb2N1c2luLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe2RvY3VtZW50PT09YS50YXJnZXR8fHRoaXMuJGVsZW1lbnRbMF09PT1hLnRhcmdldHx8dGhpcy4kZWxlbWVudC5oYXMoYS50YXJnZXQpLmxlbmd0aHx8dGhpcy4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpfSx0aGlzKSl9LGMucHJvdG90eXBlLmVzY2FwZT1mdW5jdGlvbigpe3RoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmtleWJvYXJkP3RoaXMuJGVsZW1lbnQub24oImtleWRvd24uZGlzbWlzcy5icy5tb2RhbCIsYS5wcm94eShmdW5jdGlvbihhKXsyNz09YS53aGljaCYmdGhpcy5oaWRlKCl9LHRoaXMpKTp0aGlzLmlzU2hvd258fHRoaXMuJGVsZW1lbnQub2ZmKCJrZXlkb3duLmRpc21pc3MuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7dGhpcy5pc1Nob3duP2Eod2luZG93KS5vbigicmVzaXplLmJzLm1vZGFsIixhLnByb3h5KHRoaXMuaGFuZGxlVXBkYXRlLHRoaXMpKTphKHdpbmRvdykub2ZmKCJyZXNpemUuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUuaGlkZU1vZGFsPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLiRlbGVtZW50LmhpZGUoKSx0aGlzLmJhY2tkcm9wKGZ1bmN0aW9uKCl7YS4kYm9keS5yZW1vdmVDbGFzcygibW9kYWwtb3BlbiIpLGEucmVzZXRBZGp1c3RtZW50cygpLGEucmVzZXRTY3JvbGxiYXIoKSxhLiRlbGVtZW50LnRyaWdnZXIoImhpZGRlbi5icy5tb2RhbCIpfSl9LGMucHJvdG90eXBlLnJlbW92ZUJhY2tkcm9wPWZ1bmN0aW9uKCl7dGhpcy4kYmFja2Ryb3AmJnRoaXMuJGJhY2tkcm9wLnJlbW92ZSgpLHRoaXMuJGJhY2tkcm9wPW51bGx9LGMucHJvdG90eXBlLmJhY2tkcm9wPWZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMsZT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/ImZhZGUiOiIiO2lmKHRoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmJhY2tkcm9wKXt2YXIgZj1hLnN1cHBvcnQudHJhbnNpdGlvbiYmZTtpZih0aGlzLiRiYWNrZHJvcD1hKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5hZGRDbGFzcygibW9kYWwtYmFja2Ryb3AgIitlKS5hcHBlbmRUbyh0aGlzLiRib2R5KSx0aGlzLiRlbGVtZW50Lm9uKCJjbGljay5kaXNtaXNzLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s/dm9pZCh0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s9ITEpOnZvaWQoYS50YXJnZXQ9PT1hLmN1cnJlbnRUYXJnZXQmJigic3RhdGljIj09dGhpcy5vcHRpb25zLmJhY2tkcm9wP3RoaXMuJGVsZW1lbnRbMF0uZm9jdXMoKTp0aGlzLmhpZGUoKSkpfSx0aGlzKSksZiYmdGhpcy4kYmFja2Ryb3BbMF0ub2Zmc2V0V2lkdGgsdGhpcy4kYmFja2Ryb3AuYWRkQ2xhc3MoImluIiksIWIpcmV0dXJuO2Y/dGhpcy4kYmFja2Ryb3Aub25lKCJic1RyYW5zaXRpb25FbmQiLGIpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuQkFDS0RST1BfVFJBTlNJVElPTl9EVVJBVElPTik6YigpfWVsc2UgaWYoIXRoaXMuaXNTaG93biYmdGhpcy4kYmFja2Ryb3Ape3RoaXMuJGJhY2tkcm9wLnJlbW92ZUNsYXNzKCJpbiIpO3ZhciBnPWZ1bmN0aW9uKCl7ZC5yZW1vdmVCYWNrZHJvcCgpLGImJmIoKX07YS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT90aGlzLiRiYWNrZHJvcC5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZykuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OKTpnKCl9ZWxzZSBiJiZiKCl9LGMucHJvdG90eXBlLmhhbmRsZVVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuYWRqdXN0RGlhbG9nKCl9LGMucHJvdG90eXBlLmFkanVzdERpYWxvZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0PmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7dGhpcy4kZWxlbWVudC5jc3Moe3BhZGRpbmdMZWZ0OiF0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiIscGFkZGluZ1JpZ2h0OnRoaXMuYm9keUlzT3ZlcmZsb3dpbmcmJiFhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiJ9KX0sYy5wcm90b3R5cGUucmVzZXRBZGp1c3RtZW50cz1mdW5jdGlvbigpe3RoaXMuJGVsZW1lbnQuY3NzKHtwYWRkaW5nTGVmdDoiIixwYWRkaW5nUmlnaHQ6IiJ9KX0sYy5wcm90b3R5cGUuY2hlY2tTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuaW5uZXJXaWR0aDtpZighYSl7dmFyIGI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2E9Yi5yaWdodC1NYXRoLmFicyhiLmxlZnQpfXRoaXMuYm9keUlzT3ZlcmZsb3dpbmc9ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDxhLHRoaXMuc2Nyb2xsYmFyV2lkdGg9dGhpcy5tZWFzdXJlU2Nyb2xsYmFyKCl9LGMucHJvdG90eXBlLnNldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBhPXBhcnNlSW50KHRoaXMuJGJvZHkuY3NzKCJwYWRkaW5nLXJpZ2h0Iil8fDAsMTApO3RoaXMub3JpZ2luYWxCb2R5UGFkPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0fHwiIix0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZ0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsYSt0aGlzLnNjcm9sbGJhcldpZHRoKX0sYy5wcm90b3R5cGUucmVzZXRTY3JvbGxiYXI9ZnVuY3Rpb24oKXt0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsdGhpcy5vcmlnaW5hbEJvZHlQYWQpfSxjLnByb3RvdHlwZS5tZWFzdXJlU2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5jbGFzc05hbWU9Im1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIix0aGlzLiRib2R5LmFwcGVuZChhKTt2YXIgYj1hLm9mZnNldFdpZHRoLWEuY2xpZW50V2lkdGg7cmV0dXJuIHRoaXMuJGJvZHlbMF0ucmVtb3ZlQ2hpbGQoYSksYn07dmFyIGQ9YS5mbi5tb2RhbDthLmZuLm1vZGFsPWIsYS5mbi5tb2RhbC5Db25zdHJ1Y3Rvcj1jLGEuZm4ubW9kYWwubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLm1vZGFsPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLm1vZGFsLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJtb2RhbCJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKHRoaXMpLGU9ZC5hdHRyKCJocmVmIiksZj1hKGQuYXR0cigiZGF0YS10YXJnZXQiKXx8ZSYmZS5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpKSxnPWYuZGF0YSgiYnMubW9kYWwiKT8idG9nZ2xlIjphLmV4dGVuZCh7cmVtb3RlOiEvIy8udGVzdChlKSYmZX0sZi5kYXRhKCksZC5kYXRhKCkpO2QuaXMoImEiKSYmYy5wcmV2ZW50RGVmYXVsdCgpLGYub25lKCJzaG93LmJzLm1vZGFsIixmdW5jdGlvbihhKXthLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxmLm9uZSgiaGlkZGVuLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuaXMoIjp2aXNpYmxlIikmJmQudHJpZ2dlcigiZm9jdXMiKX0pfSksYi5jYWxsKGYsZyx0aGlzKX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMudG9vbHRpcCIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyFlJiYvZGVzdHJveXxoaWRlLy50ZXN0KGIpfHwoZXx8ZC5kYXRhKCJicy50b29sdGlwIixlPW5ldyBjKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXSgpKX0pfXZhciBjPWZ1bmN0aW9uKGEsYil7dGhpcy50eXBlPW51bGwsdGhpcy5vcHRpb25zPW51bGwsdGhpcy5lbmFibGVkPW51bGwsdGhpcy50aW1lb3V0PW51bGwsdGhpcy5ob3ZlclN0YXRlPW51bGwsdGhpcy4kZWxlbWVudD1udWxsLHRoaXMuaW5TdGF0ZT1udWxsLHRoaXMuaW5pdCgidG9vbHRpcCIsYSxiKX07Yy5WRVJTSU9OPSIzLjMuNyIsYy5UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLkRFRkFVTFRTPXthbmltYXRpb246ITAscGxhY2VtZW50OiJ0b3AiLHNlbGVjdG9yOiExLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJ0b29sdGlwIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJ0b29sdGlwLWFycm93Ij48L2Rpdj48ZGl2IGNsYXNzPSJ0b29sdGlwLWlubmVyIj48L2Rpdj48L2Rpdj4nLHRyaWdnZXI6ImhvdmVyIGZvY3VzIix0aXRsZToiIixkZWxheTowLGh0bWw6ITEsY29udGFpbmVyOiExLHZpZXdwb3J0OntzZWxlY3RvcjoiYm9keSIscGFkZGluZzowfX0sYy5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihiLGMsZCl7aWYodGhpcy5lbmFibGVkPSEwLHRoaXMudHlwZT1iLHRoaXMuJGVsZW1lbnQ9YShjKSx0aGlzLm9wdGlvbnM9dGhpcy5nZXRPcHRpb25zKGQpLHRoaXMuJHZpZXdwb3J0PXRoaXMub3B0aW9ucy52aWV3cG9ydCYmYShhLmlzRnVuY3Rpb24odGhpcy5vcHRpb25zLnZpZXdwb3J0KT90aGlzLm9wdGlvbnMudmlld3BvcnQuY2FsbCh0aGlzLHRoaXMuJGVsZW1lbnQpOnRoaXMub3B0aW9ucy52aWV3cG9ydC5zZWxlY3Rvcnx8dGhpcy5vcHRpb25zLnZpZXdwb3J0KSx0aGlzLmluU3RhdGU9e2NsaWNrOiExLGhvdmVyOiExLGZvY3VzOiExfSx0aGlzLiRlbGVtZW50WzBdaW5zdGFuY2VvZiBkb2N1bWVudC5jb25zdHJ1Y3RvciYmIXRoaXMub3B0aW9ucy5zZWxlY3Rvcil0aHJvdyBuZXcgRXJyb3IoImBzZWxlY3RvcmAgb3B0aW9uIG11c3QgYmUgc3BlY2lmaWVkIHdoZW4gaW5pdGlhbGl6aW5nICIrdGhpcy50eXBlKyIgb24gdGhlIHdpbmRvdy5kb2N1bWVudCBvYmplY3QhIik7Zm9yKHZhciBlPXRoaXMub3B0aW9ucy50cmlnZ2VyLnNwbGl0KCIgIiksZj1lLmxlbmd0aDtmLS07KXt2YXIgZz1lW2ZdO2lmKCJjbGljayI9PWcpdGhpcy4kZWxlbWVudC5vbigiY2xpY2suIit0aGlzLnR5cGUsdGhpcy5vcHRpb25zLnNlbGVjdG9yLGEucHJveHkodGhpcy50b2dnbGUsdGhpcykpO2Vsc2UgaWYoIm1hbnVhbCIhPWcpe3ZhciBoPSJob3ZlciI9PWc/Im1vdXNlZW50ZXIiOiJmb2N1c2luIixpPSJob3ZlciI9PWc/Im1vdXNlbGVhdmUiOiJmb2N1c291dCI7dGhpcy4kZWxlbWVudC5vbihoKyIuIit0aGlzLnR5cGUsdGhpcy5vcHRpb25zLnNlbGVjdG9yLGEucHJveHkodGhpcy5lbnRlcix0aGlzKSksdGhpcy4kZWxlbWVudC5vbihpKyIuIit0aGlzLnR5cGUsdGhpcy5vcHRpb25zLnNlbGVjdG9yLGEucHJveHkodGhpcy5sZWF2ZSx0aGlzKSl9fXRoaXMub3B0aW9ucy5zZWxlY3Rvcj90aGlzLl9vcHRpb25zPWEuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyx7dHJpZ2dlcjoibWFudWFsIixzZWxlY3RvcjoiIn0pOnRoaXMuZml4VGl0bGUoKX0sYy5wcm90b3R5cGUuZ2V0RGVmYXVsdHM9ZnVuY3Rpb24oKXtyZXR1cm4gYy5ERUZBVUxUU30sYy5wcm90b3R5cGUuZ2V0T3B0aW9ucz1mdW5jdGlvbihiKXtyZXR1cm4gYj1hLmV4dGVuZCh7fSx0aGlzLmdldERlZmF1bHRzKCksdGhpcy4kZWxlbWVudC5kYXRhKCksYiksYi5kZWxheSYmIm51bWJlciI9PXR5cGVvZiBiLmRlbGF5JiYoYi5kZWxheT17c2hvdzpiLmRlbGF5LGhpZGU6Yi5kZWxheX0pLGJ9LGMucHJvdG90eXBlLmdldERlbGVnYXRlT3B0aW9ucz1mdW5jdGlvbigpe3ZhciBiPXt9LGM9dGhpcy5nZXREZWZhdWx0cygpO3JldHVybiB0aGlzLl9vcHRpb25zJiZhLmVhY2godGhpcy5fb3B0aW9ucyxmdW5jdGlvbihhLGQpe2NbYV0hPWQmJihiW2FdPWQpfSksYn0sYy5wcm90b3R5cGUuZW50ZXI9ZnVuY3Rpb24oYil7dmFyIGM9YiBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3I/YjphKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpO3JldHVybiBjfHwoYz1uZXcgdGhpcy5jb25zdHJ1Y3RvcihiLmN1cnJlbnRUYXJnZXQsdGhpcy5nZXREZWxlZ2F0ZU9wdGlvbnMoKSksYShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlLGMpKSxiIGluc3RhbmNlb2YgYS5FdmVudCYmKGMuaW5TdGF0ZVsiZm9jdXNpbiI9PWIudHlwZT8iZm9jdXMiOiJob3ZlciJdPSEwKSxjLnRpcCgpLmhhc0NsYXNzKCJpbiIpfHwiaW4iPT1jLmhvdmVyU3RhdGU/dm9pZChjLmhvdmVyU3RhdGU9ImluIik6KGNsZWFyVGltZW91dChjLnRpbWVvdXQpLGMuaG92ZXJTdGF0ZT0iaW4iLGMub3B0aW9ucy5kZWxheSYmYy5vcHRpb25zLmRlbGF5LnNob3c/dm9pZChjLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpeyJpbiI9PWMuaG92ZXJTdGF0ZSYmYy5zaG93KCl9LGMub3B0aW9ucy5kZWxheS5zaG93KSk6Yy5zaG93KCkpfSxjLnByb3RvdHlwZS5pc0luU3RhdGVUcnVlPWZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIHRoaXMuaW5TdGF0ZSlpZih0aGlzLmluU3RhdGVbYV0pcmV0dXJuITA7cmV0dXJuITF9LGMucHJvdG90eXBlLmxlYXZlPWZ1bmN0aW9uKGIpe3ZhciBjPWIgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yP2I6YShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlKTtpZihjfHwoYz1uZXcgdGhpcy5jb25zdHJ1Y3RvcihiLmN1cnJlbnRUYXJnZXQsdGhpcy5nZXREZWxlZ2F0ZU9wdGlvbnMoKSksYShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlLGMpKSxiIGluc3RhbmNlb2YgYS5FdmVudCYmKGMuaW5TdGF0ZVsiZm9jdXNvdXQiPT1iLnR5cGU/ImZvY3VzIjoiaG92ZXIiXT0hMSksIWMuaXNJblN0YXRlVHJ1ZSgpKXJldHVybiBjbGVhclRpbWVvdXQoYy50aW1lb3V0KSxjLmhvdmVyU3RhdGU9Im91dCIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuaGlkZT92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Im91dCI9PWMuaG92ZXJTdGF0ZSYmYy5oaWRlKCl9LGMub3B0aW9ucy5kZWxheS5oaWRlKSk6Yy5oaWRlKCl9LGMucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oKXt2YXIgYj1hLkV2ZW50KCJzaG93LmJzLiIrdGhpcy50eXBlKTtpZih0aGlzLmhhc0NvbnRlbnQoKSYmdGhpcy5lbmFibGVkKXt0aGlzLiRlbGVtZW50LnRyaWdnZXIoYik7dmFyIGQ9YS5jb250YWlucyh0aGlzLiRlbGVtZW50WzBdLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuJGVsZW1lbnRbMF0pO2lmKGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fCFkKXJldHVybjt2YXIgZT10aGlzLGY9dGhpcy50aXAoKSxnPXRoaXMuZ2V0VUlEKHRoaXMudHlwZSk7dGhpcy5zZXRDb250ZW50KCksZi5hdHRyKCJpZCIsZyksdGhpcy4kZWxlbWVudC5hdHRyKCJhcmlhLWRlc2NyaWJlZGJ5IixnKSx0aGlzLm9wdGlvbnMuYW5pbWF0aW9uJiZmLmFkZENsYXNzKCJmYWRlIik7dmFyIGg9ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMub3B0aW9ucy5wbGFjZW1lbnQ/dGhpcy5vcHRpb25zLnBsYWNlbWVudC5jYWxsKHRoaXMsZlswXSx0aGlzLiRlbGVtZW50WzBdKTp0aGlzLm9wdGlvbnMucGxhY2VtZW50LGk9L1xzP2F1dG8/XHM/L2ksaj1pLnRlc3QoaCk7aiYmKGg9aC5yZXBsYWNlKGksIiIpfHwidG9wIiksZi5kZXRhY2goKS5jc3Moe3RvcDowLGxlZnQ6MCxkaXNwbGF5OiJibG9jayJ9KS5hZGRDbGFzcyhoKS5kYXRhKCJicy4iK3RoaXMudHlwZSx0aGlzKSx0aGlzLm9wdGlvbnMuY29udGFpbmVyP2YuYXBwZW5kVG8odGhpcy5vcHRpb25zLmNvbnRhaW5lcik6Zi5pbnNlcnRBZnRlcih0aGlzLiRlbGVtZW50KSx0aGlzLiRlbGVtZW50LnRyaWdnZXIoImluc2VydGVkLmJzLiIrdGhpcy50eXBlKTt2YXIgaz10aGlzLmdldFBvc2l0aW9uKCksbD1mWzBdLm9mZnNldFdpZHRoLG09ZlswXS5vZmZzZXRIZWlnaHQ7aWYoail7dmFyIG49aCxvPXRoaXMuZ2V0UG9zaXRpb24odGhpcy4kdmlld3BvcnQpO2g9ImJvdHRvbSI9PWgmJmsuYm90dG9tK20+by5ib3R0b20/InRvcCI6InRvcCI9PWgmJmsudG9wLW08by50b3A/ImJvdHRvbSI6InJpZ2h0Ij09aCYmay5yaWdodCtsPm8ud2lkdGg/ImxlZnQiOiJsZWZ0Ij09aCYmay5sZWZ0LWw8by5sZWZ0PyJyaWdodCI6aCxmLnJlbW92ZUNsYXNzKG4pLmFkZENsYXNzKGgpfXZhciBwPXRoaXMuZ2V0Q2FsY3VsYXRlZE9mZnNldChoLGssbCxtKTt0aGlzLmFwcGx5UGxhY2VtZW50KHAsaCk7dmFyIHE9ZnVuY3Rpb24oKXt2YXIgYT1lLmhvdmVyU3RhdGU7ZS4kZWxlbWVudC50cmlnZ2VyKCJzaG93bi5icy4iK2UudHlwZSksZS5ob3ZlclN0YXRlPW51bGwsIm91dCI9PWEmJmUubGVhdmUoZSl9O2Euc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiR0aXAuaGFzQ2xhc3MoImZhZGUiKT9mLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixxKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOnEoKX19LGMucHJvdG90eXBlLmFwcGx5UGxhY2VtZW50PWZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcy50aXAoKSxlPWRbMF0ub2Zmc2V0V2lkdGgsZj1kWzBdLm9mZnNldEhlaWdodCxnPXBhcnNlSW50KGQuY3NzKCJtYXJnaW4tdG9wIiksMTApLGg9cGFyc2VJbnQoZC5jc3MoIm1hcmdpbi1sZWZ0IiksMTApO2lzTmFOKGcpJiYoZz0wKSxpc05hTihoKSYmKGg9MCksYi50b3ArPWcsYi5sZWZ0Kz1oLGEub2Zmc2V0LnNldE9mZnNldChkWzBdLGEuZXh0ZW5kKHt1c2luZzpmdW5jdGlvbihhKXtkLmNzcyh7dG9wOk1hdGgucm91bmQoYS50b3ApLGxlZnQ6TWF0aC5yb3VuZChhLmxlZnQpfSl9fSxiKSwwKSxkLmFkZENsYXNzKCJpbiIpO3ZhciBpPWRbMF0ub2Zmc2V0V2lkdGgsaj1kWzBdLm9mZnNldEhlaWdodDsidG9wIj09YyYmaiE9ZiYmKGIudG9wPWIudG9wK2Ytaik7dmFyIGs9dGhpcy5nZXRWaWV3cG9ydEFkanVzdGVkRGVsdGEoYyxiLGksaik7ay5sZWZ0P2IubGVmdCs9ay5sZWZ0OmIudG9wKz1rLnRvcDt2YXIgbD0vdG9wfGJvdHRvbS8udGVzdChjKSxtPWw/MiprLmxlZnQtZStpOjIqay50b3AtZitqLG49bD8ib2Zmc2V0V2lkdGgiOiJvZmZzZXRIZWlnaHQiO2Qub2Zmc2V0KGIpLHRoaXMucmVwbGFjZUFycm93KG0sZFswXVtuXSxsKX0sYy5wcm90b3R5cGUucmVwbGFjZUFycm93PWZ1bmN0aW9uKGEsYixjKXt0aGlzLmFycm93KCkuY3NzKGM/ImxlZnQiOiJ0b3AiLDUwKigxLWEvYikrIiUiKS5jc3MoYz8idG9wIjoibGVmdCIsIiIpfSxjLnByb3RvdHlwZS5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50aXAoKSxiPXRoaXMuZ2V0VGl0bGUoKTthLmZpbmQoIi50b29sdGlwLWlubmVyIilbdGhpcy5vcHRpb25zLmh0bWw/Imh0bWwiOiJ0ZXh0Il0oYiksYS5yZW1vdmVDbGFzcygiZmFkZSBpbiB0b3AgYm90dG9tIGxlZnQgcmlnaHQiKX0sYy5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbihiKXtmdW5jdGlvbiBkKCl7ImluIiE9ZS5ob3ZlclN0YXRlJiZmLmRldGFjaCgpLGUuJGVsZW1lbnQmJmUuJGVsZW1lbnQucmVtb3ZlQXR0cigiYXJpYS1kZXNjcmliZWRieSIpLnRyaWdnZXIoImhpZGRlbi5icy4iK2UudHlwZSksYiYmYigpfXZhciBlPXRoaXMsZj1hKHRoaXMuJHRpcCksZz1hLkV2ZW50KCJoaWRlLmJzLiIrdGhpcy50eXBlKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoZyksIWcuaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuIGYucmVtb3ZlQ2xhc3MoImluIiksYS5zdXBwb3J0LnRyYW5zaXRpb24mJmYuaGFzQ2xhc3MoImZhZGUiKT9mLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixkKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmQoKSx0aGlzLmhvdmVyU3RhdGU9bnVsbCx0aGlzfSxjLnByb3RvdHlwZS5maXhUaXRsZT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQ7KGEuYXR0cigidGl0bGUiKXx8InN0cmluZyIhPXR5cGVvZiBhLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiKSkmJmEuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIsYS5hdHRyKCJ0aXRsZSIpfHwiIikuYXR0cigidGl0bGUiLCIiKX0sYy5wcm90b3R5cGUuaGFzQ29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpdGxlKCl9LGMucHJvdG90eXBlLmdldFBvc2l0aW9uPWZ1bmN0aW9uKGIpe2I9Ynx8dGhpcy4kZWxlbWVudDt2YXIgYz1iWzBdLGQ9IkJPRFkiPT1jLnRhZ05hbWUsZT1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO251bGw9PWUud2lkdGgmJihlPWEuZXh0ZW5kKHt9LGUse3dpZHRoOmUucmlnaHQtZS5sZWZ0LGhlaWdodDplLmJvdHRvbS1lLnRvcH0pKTt2YXIgZj13aW5kb3cuU1ZHRWxlbWVudCYmYyBpbnN0YW5jZW9mIHdpbmRvdy5TVkdFbGVtZW50LGc9ZD97dG9wOjAsbGVmdDowfTpmP251bGw6Yi5vZmZzZXQoKSxoPXtzY3JvbGw6ZD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDpiLnNjcm9sbFRvcCgpfSxpPWQ/e3dpZHRoOmEod2luZG93KS53aWR0aCgpLGhlaWdodDphKHdpbmRvdykuaGVpZ2h0KCl9Om51bGw7cmV0dXJuIGEuZXh0ZW5kKHt9LGUsaCxpLGcpfSxjLnByb3RvdHlwZS5nZXRDYWxjdWxhdGVkT2Zmc2V0PWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiJib3R0b20iPT1hP3t0b3A6Yi50b3ArYi5oZWlnaHQsbGVmdDpiLmxlZnQrYi53aWR0aC8yLWMvMn06InRvcCI9PWE/e3RvcDpiLnRvcC1kLGxlZnQ6Yi5sZWZ0K2Iud2lkdGgvMi1jLzJ9OiJsZWZ0Ij09YT97dG9wOmIudG9wK2IuaGVpZ2h0LzItZC8yLGxlZnQ6Yi5sZWZ0LWN9Ont0b3A6Yi50b3ArYi5oZWlnaHQvMi1kLzIsbGVmdDpiLmxlZnQrYi53aWR0aH19LGMucHJvdG90eXBlLmdldFZpZXdwb3J0QWRqdXN0ZWREZWx0YT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17dG9wOjAsbGVmdDowfTtpZighdGhpcy4kdmlld3BvcnQpcmV0dXJuIGU7dmFyIGY9dGhpcy5vcHRpb25zLnZpZXdwb3J0JiZ0aGlzLm9wdGlvbnMudmlld3BvcnQucGFkZGluZ3x8MCxnPXRoaXMuZ2V0UG9zaXRpb24odGhpcy4kdmlld3BvcnQpO2lmKC9yaWdodHxsZWZ0Ly50ZXN0KGEpKXt2YXIgaD1iLnRvcC1mLWcuc2Nyb2xsLGk9Yi50b3ArZi1nLnNjcm9sbCtkO2g8Zy50b3A/ZS50b3A9Zy50b3AtaDppPmcudG9wK2cuaGVpZ2h0JiYoZS50b3A9Zy50b3ArZy5oZWlnaHQtaSl9ZWxzZXt2YXIgaj1iLmxlZnQtZixrPWIubGVmdCtmK2M7ajxnLmxlZnQ/ZS5sZWZ0PWcubGVmdC1qOms+Zy5yaWdodCYmKGUubGVmdD1nLmxlZnQrZy53aWR0aC1rKX1yZXR1cm4gZX0sYy5wcm90b3R5cGUuZ2V0VGl0bGU9ZnVuY3Rpb24oKXt2YXIgYSxiPXRoaXMuJGVsZW1lbnQsYz10aGlzLm9wdGlvbnM7cmV0dXJuIGE9Yi5hdHRyKCJkYXRhLW9yaWdpbmFsLXRpdGxlIil8fCgiZnVuY3Rpb24iPT10eXBlb2YgYy50aXRsZT9jLnRpdGxlLmNhbGwoYlswXSk6Yy50aXRsZSl9LGMucHJvdG90eXBlLmdldFVJRD1mdW5jdGlvbihhKXtkbyBhKz1+figxZTYqTWF0aC5yYW5kb20oKSk7d2hpbGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYSkpO3JldHVybiBhfSxjLnByb3RvdHlwZS50aXA9ZnVuY3Rpb24oKXtpZighdGhpcy4kdGlwJiYodGhpcy4kdGlwPWEodGhpcy5vcHRpb25zLnRlbXBsYXRlKSwxIT10aGlzLiR0aXAubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IodGhpcy50eXBlKyIgYHRlbXBsYXRlYCBvcHRpb24gbXVzdCBjb25zaXN0IG9mIGV4YWN0bHkgMSB0b3AtbGV2ZWwgZWxlbWVudCEiKTtyZXR1cm4gdGhpcy4kdGlwfSxjLnByb3RvdHlwZS5hcnJvdz1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRhcnJvdz10aGlzLiRhcnJvd3x8dGhpcy50aXAoKS5maW5kKCIudG9vbHRpcC1hcnJvdyIpfSxjLnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITB9LGMucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITF9LGMucHJvdG90eXBlLnRvZ2dsZUVuYWJsZWQ9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9IXRoaXMuZW5hYmxlZH0sYy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKGIpe3ZhciBjPXRoaXM7YiYmKGM9YShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlKSxjfHwoYz1uZXcgdGhpcy5jb25zdHJ1Y3RvcihiLmN1cnJlbnRUYXJnZXQsdGhpcy5nZXREZWxlZ2F0ZU9wdGlvbnMoKSksYShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlLGMpKSksYj8oYy5pblN0YXRlLmNsaWNrPSFjLmluU3RhdGUuY2xpY2ssYy5pc0luU3RhdGVUcnVlKCk/Yy5lbnRlcihjKTpjLmxlYXZlKGMpKTpjLnRpcCgpLmhhc0NsYXNzKCJpbiIpP2MubGVhdmUoYyk6Yy5lbnRlcihjKX0sYy5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7Y2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCksdGhpcy5oaWRlKGZ1bmN0aW9uKCl7YS4kZWxlbWVudC5vZmYoIi4iK2EudHlwZSkucmVtb3ZlRGF0YSgiYnMuIithLnR5cGUpLGEuJHRpcCYmYS4kdGlwLmRldGFjaCgpLGEuJHRpcD1udWxsLGEuJGFycm93PW51bGwsYS4kdmlld3BvcnQ9bnVsbCxhLiRlbGVtZW50PW51bGx9KX07dmFyIGQ9YS5mbi50b29sdGlwO2EuZm4udG9vbHRpcD1iLGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvcj1jLGEuZm4udG9vbHRpcC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4udG9vbHRpcD1kLHRoaXN9fShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMucG9wb3ZlciIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyFlJiYvZGVzdHJveXxoaWRlLy50ZXN0KGIpfHwoZXx8ZC5kYXRhKCJicy5wb3BvdmVyIixlPW5ldyBjKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXSgpKX0pfXZhciBjPWZ1bmN0aW9uKGEsYil7dGhpcy5pbml0KCJwb3BvdmVyIixhLGIpfTtpZighYS5mbi50b29sdGlwKXRocm93IG5ldyBFcnJvcigiUG9wb3ZlciByZXF1aXJlcyB0b29sdGlwLmpzIik7Yy5WRVJTSU9OPSIzLjMuNyIsYy5ERUZBVUxUUz1hLmV4dGVuZCh7fSxhLmZuLnRvb2x0aXAuQ29uc3RydWN0b3IuREVGQVVMVFMse3BsYWNlbWVudDoicmlnaHQiLHRyaWdnZXI6ImNsaWNrIixjb250ZW50OiIiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJwb3BvdmVyIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PGgzIGNsYXNzPSJwb3BvdmVyLXRpdGxlIj48L2gzPjxkaXYgY2xhc3M9InBvcG92ZXItY29udGVudCI+PC9kaXY+PC9kaXY+J30pLGMucHJvdG90eXBlPWEuZXh0ZW5kKHt9LGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvci5wcm90b3R5cGUpLGMucHJvdG90eXBlLmNvbnN0cnVjdG9yPWMsYy5wcm90b3R5cGUuZ2V0RGVmYXVsdHM9ZnVuY3Rpb24oKXtyZXR1cm4gYy5ERUZBVUxUU30sYy5wcm90b3R5cGUuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMudGlwKCksYj10aGlzLmdldFRpdGxlKCksYz10aGlzLmdldENvbnRlbnQoKTthLmZpbmQoIi5wb3BvdmVyLXRpdGxlIilbdGhpcy5vcHRpb25zLmh0bWw/Imh0bWwiOiJ0ZXh0Il0oYiksYS5maW5kKCIucG9wb3Zlci1jb250ZW50IikuY2hpbGRyZW4oKS5kZXRhY2goKS5lbmQoKVt0aGlzLm9wdGlvbnMuaHRtbD8ic3RyaW5nIj09dHlwZW9mIGM/Imh0bWwiOiJhcHBlbmQiOiJ0ZXh0Il0oYyksYS5yZW1vdmVDbGFzcygiZmFkZSB0b3AgYm90dG9tIGxlZnQgcmlnaHQgaW4iKSxhLmZpbmQoIi5wb3BvdmVyLXRpdGxlIikuaHRtbCgpfHxhLmZpbmQoIi5wb3BvdmVyLXRpdGxlIikuaGlkZSgpfSxjLnByb3RvdHlwZS5oYXNDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VGl0bGUoKXx8dGhpcy5nZXRDb250ZW50KCl9LGMucHJvdG90eXBlLmdldENvbnRlbnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLiRlbGVtZW50LGI9dGhpcy5vcHRpb25zO3JldHVybiBhLmF0dHIoImRhdGEtY29udGVudCIpfHwoImZ1bmN0aW9uIj09dHlwZW9mIGIuY29udGVudD9iLmNvbnRlbnQuY2FsbChhWzBdKTpiLmNvbnRlbnQpfSxjLnByb3RvdHlwZS5hcnJvdz1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRhcnJvdz10aGlzLiRhcnJvd3x8dGhpcy50aXAoKS5maW5kKCIuYXJyb3ciKX07dmFyIGQ9YS5mbi5wb3BvdmVyO2EuZm4ucG9wb3Zlcj1iLGEuZm4ucG9wb3Zlci5Db25zdHJ1Y3Rvcj1jLGEuZm4ucG9wb3Zlci5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4ucG9wb3Zlcj1kLHRoaXN9fShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihjLGQpe3RoaXMuJGJvZHk9YShkb2N1bWVudC5ib2R5KSx0aGlzLiRzY3JvbGxFbGVtZW50PWEoYShjKS5pcyhkb2N1bWVudC5ib2R5KT93aW5kb3c6YyksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGIuREVGQVVMVFMsZCksdGhpcy5zZWxlY3Rvcj0odGhpcy5vcHRpb25zLnRhcmdldHx8IiIpKyIgLm5hdiBsaSA+IGEiLHRoaXMub2Zmc2V0cz1bXSx0aGlzLnRhcmdldHM9W10sdGhpcy5hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLnNjcm9sbEhlaWdodD0wLHRoaXMuJHNjcm9sbEVsZW1lbnQub24oInNjcm9sbC5icy5zY3JvbGxzcHkiLGEucHJveHkodGhpcy5wcm9jZXNzLHRoaXMpKSx0aGlzLnJlZnJlc2goKSx0aGlzLnByb2Nlc3MoKX1mdW5jdGlvbiBjKGMpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy5zY3JvbGxzcHkiKSxmPSJvYmplY3QiPT10eXBlb2YgYyYmYztlfHxkLmRhdGEoImJzLnNjcm9sbHNweSIsZT1uZXcgYih0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGMmJmVbY10oKX0pfWIuVkVSU0lPTj0iMy4zLjciLGIuREVGQVVMVFM9e29mZnNldDoxMH0sYi5wcm90b3R5cGUuZ2V0U2Nyb2xsSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJHNjcm9sbEVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0fHxNYXRoLm1heCh0aGlzLiRib2R5WzBdLnNjcm9sbEhlaWdodCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0KX0sYi5wcm90b3R5cGUucmVmcmVzaD1mdW5jdGlvbigpe3ZhciBiPXRoaXMsYz0ib2Zmc2V0IixkPTA7dGhpcy5vZmZzZXRzPVtdLHRoaXMudGFyZ2V0cz1bXSx0aGlzLnNjcm9sbEhlaWdodD10aGlzLmdldFNjcm9sbEhlaWdodCgpLGEuaXNXaW5kb3codGhpcy4kc2Nyb2xsRWxlbWVudFswXSl8fChjPSJwb3NpdGlvbiIsZD10aGlzLiRzY3JvbGxFbGVtZW50LnNjcm9sbFRvcCgpKSx0aGlzLiRib2R5LmZpbmQodGhpcy5zZWxlY3RvcikubWFwKGZ1bmN0aW9uKCl7dmFyIGI9YSh0aGlzKSxlPWIuZGF0YSgidGFyZ2V0Iil8fGIuYXR0cigiaHJlZiIpLGY9L14jLi8udGVzdChlKSYmYShlKTtyZXR1cm4gZiYmZi5sZW5ndGgmJmYuaXMoIjp2aXNpYmxlIikmJltbZltjXSgpLnRvcCtkLGVdXXx8bnVsbH0pLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYVswXS1iWzBdfSkuZWFjaChmdW5jdGlvbigpe2Iub2Zmc2V0cy5wdXNoKHRoaXNbMF0pLGIudGFyZ2V0cy5wdXNoKHRoaXNbMV0pfSl9LGIucHJvdG90eXBlLnByb2Nlc3M9ZnVuY3Rpb24oKXt2YXIgYSxiPXRoaXMuJHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wKCkrdGhpcy5vcHRpb25zLm9mZnNldCxjPXRoaXMuZ2V0U2Nyb2xsSGVpZ2h0KCksZD10aGlzLm9wdGlvbnMub2Zmc2V0K2MtdGhpcy4kc2Nyb2xsRWxlbWVudC5oZWlnaHQoKSxlPXRoaXMub2Zmc2V0cyxmPXRoaXMudGFyZ2V0cyxnPXRoaXMuYWN0aXZlVGFyZ2V0O2lmKHRoaXMuc2Nyb2xsSGVpZ2h0IT1jJiZ0aGlzLnJlZnJlc2goKSxiPj1kKXJldHVybiBnIT0oYT1mW2YubGVuZ3RoLTFdKSYmdGhpcy5hY3RpdmF0ZShhKTtpZihnJiZiPGVbMF0pcmV0dXJuIHRoaXMuYWN0aXZlVGFyZ2V0PW51bGwsdGhpcy5jbGVhcigpO2ZvcihhPWUubGVuZ3RoO2EtLTspZyE9ZlthXSYmYj49ZVthXSYmKHZvaWQgMD09PWVbYSsxXXx8YjxlW2ErMV0pJiZ0aGlzLmFjdGl2YXRlKGZbYV0pfSxiLnByb3RvdHlwZS5hY3RpdmF0ZT1mdW5jdGlvbihiKXsKK3RoaXMuYWN0aXZlVGFyZ2V0PWIsdGhpcy5jbGVhcigpO3ZhciBjPXRoaXMuc2VsZWN0b3IrJ1tkYXRhLXRhcmdldD0iJytiKyciXSwnK3RoaXMuc2VsZWN0b3IrJ1tocmVmPSInK2IrJyJdJyxkPWEoYykucGFyZW50cygibGkiKS5hZGRDbGFzcygiYWN0aXZlIik7ZC5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiYoZD1kLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpKSxkLnRyaWdnZXIoImFjdGl2YXRlLmJzLnNjcm9sbHNweSIpfSxiLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2EodGhpcy5zZWxlY3RvcikucGFyZW50c1VudGlsKHRoaXMub3B0aW9ucy50YXJnZXQsIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIil9O3ZhciBkPWEuZm4uc2Nyb2xsc3B5O2EuZm4uc2Nyb2xsc3B5PWMsYS5mbi5zY3JvbGxzcHkuQ29uc3RydWN0b3I9YixhLmZuLnNjcm9sbHNweS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uc2Nyb2xsc3B5PWQsdGhpc30sYSh3aW5kb3cpLm9uKCJsb2FkLmJzLnNjcm9sbHNweS5kYXRhLWFwaSIsZnVuY3Rpb24oKXthKCdbZGF0YS1zcHk9InNjcm9sbCJdJykuZWFjaChmdW5jdGlvbigpe3ZhciBiPWEodGhpcyk7Yy5jYWxsKGIsYi5kYXRhKCkpfSl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnRhYiIpO2V8fGQuZGF0YSgiYnMudGFiIixlPW5ldyBjKHRoaXMpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBjPWZ1bmN0aW9uKGIpe3RoaXMuZWxlbWVudD1hKGIpfTtjLlZFUlNJT049IjMuMy43IixjLlRSQU5TSVRJT05fRFVSQVRJT049MTUwLGMucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmVsZW1lbnQsYz1iLmNsb3Nlc3QoInVsOm5vdCguZHJvcGRvd24tbWVudSkiKSxkPWIuZGF0YSgidGFyZ2V0Iik7aWYoZHx8KGQ9Yi5hdHRyKCJocmVmIiksZD1kJiZkLnJlcGxhY2UoLy4qKD89I1teXHNdKiQpLywiIikpLCFiLnBhcmVudCgibGkiKS5oYXNDbGFzcygiYWN0aXZlIikpe3ZhciBlPWMuZmluZCgiLmFjdGl2ZTpsYXN0IGEiKSxmPWEuRXZlbnQoImhpZGUuYnMudGFiIix7cmVsYXRlZFRhcmdldDpiWzBdfSksZz1hLkV2ZW50KCJzaG93LmJzLnRhYiIse3JlbGF0ZWRUYXJnZXQ6ZVswXX0pO2lmKGUudHJpZ2dlcihmKSxiLnRyaWdnZXIoZyksIWcuaXNEZWZhdWx0UHJldmVudGVkKCkmJiFmLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt2YXIgaD1hKGQpO3RoaXMuYWN0aXZhdGUoYi5jbG9zZXN0KCJsaSIpLGMpLHRoaXMuYWN0aXZhdGUoaCxoLnBhcmVudCgpLGZ1bmN0aW9uKCl7ZS50cmlnZ2VyKHt0eXBlOiJoaWRkZW4uYnMudGFiIixyZWxhdGVkVGFyZ2V0OmJbMF19KSxiLnRyaWdnZXIoe3R5cGU6InNob3duLmJzLnRhYiIscmVsYXRlZFRhcmdldDplWzBdfSl9KX19fSxjLnByb3RvdHlwZS5hY3RpdmF0ZT1mdW5jdGlvbihiLGQsZSl7ZnVuY3Rpb24gZigpe2cucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLmZpbmQoIj4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLmVuZCgpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMSksYi5hZGRDbGFzcygiYWN0aXZlIikuZmluZCgnW2RhdGEtdG9nZ2xlPSJ0YWIiXScpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCEwKSxoPyhiWzBdLm9mZnNldFdpZHRoLGIuYWRkQ2xhc3MoImluIikpOmIucmVtb3ZlQ2xhc3MoImZhZGUiKSxiLnBhcmVudCgiLmRyb3Bkb3duLW1lbnUiKS5sZW5ndGgmJmIuY2xvc2VzdCgibGkuZHJvcGRvd24iKS5hZGRDbGFzcygiYWN0aXZlIikuZW5kKCkuZmluZCgnW2RhdGEtdG9nZ2xlPSJ0YWIiXScpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCEwKSxlJiZlKCl9dmFyIGc9ZC5maW5kKCI+IC5hY3RpdmUiKSxoPWUmJmEuc3VwcG9ydC50cmFuc2l0aW9uJiYoZy5sZW5ndGgmJmcuaGFzQ2xhc3MoImZhZGUiKXx8ISFkLmZpbmQoIj4gLmZhZGUiKS5sZW5ndGgpO2cubGVuZ3RoJiZoP2cub25lKCJic1RyYW5zaXRpb25FbmQiLGYpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZigpLGcucmVtb3ZlQ2xhc3MoImluIil9O3ZhciBkPWEuZm4udGFiO2EuZm4udGFiPWIsYS5mbi50YWIuQ29uc3RydWN0b3I9YyxhLmZuLnRhYi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4udGFiPWQsdGhpc307dmFyIGU9ZnVuY3Rpb24oYyl7Yy5wcmV2ZW50RGVmYXVsdCgpLGIuY2FsbChhKHRoaXMpLCJzaG93Iil9O2EoZG9jdW1lbnQpLm9uKCJjbGljay5icy50YWIuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9InRhYiJdJyxlKS5vbigiY2xpY2suYnMudGFiLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJwaWxsIl0nLGUpfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMuYWZmaXgiKSxmPSJvYmplY3QiPT10eXBlb2YgYiYmYjtlfHxkLmRhdGEoImJzLmFmZml4IixlPW5ldyBjKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXSgpfSl9dmFyIGM9ZnVuY3Rpb24oYixkKXt0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sYy5ERUZBVUxUUyxkKSx0aGlzLiR0YXJnZXQ9YSh0aGlzLm9wdGlvbnMudGFyZ2V0KS5vbigic2Nyb2xsLmJzLmFmZml4LmRhdGEtYXBpIixhLnByb3h5KHRoaXMuY2hlY2tQb3NpdGlvbix0aGlzKSkub24oImNsaWNrLmJzLmFmZml4LmRhdGEtYXBpIixhLnByb3h5KHRoaXMuY2hlY2tQb3NpdGlvbldpdGhFdmVudExvb3AsdGhpcykpLHRoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLmFmZml4ZWQ9bnVsbCx0aGlzLnVucGluPW51bGwsdGhpcy5waW5uZWRPZmZzZXQ9bnVsbCx0aGlzLmNoZWNrUG9zaXRpb24oKX07Yy5WRVJTSU9OPSIzLjMuNyIsYy5SRVNFVD0iYWZmaXggYWZmaXgtdG9wIGFmZml4LWJvdHRvbSIsYy5ERUZBVUxUUz17b2Zmc2V0OjAsdGFyZ2V0OndpbmRvd30sYy5wcm90b3R5cGUuZ2V0U3RhdGU9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9dGhpcy4kdGFyZ2V0LnNjcm9sbFRvcCgpLGY9dGhpcy4kZWxlbWVudC5vZmZzZXQoKSxnPXRoaXMuJHRhcmdldC5oZWlnaHQoKTtpZihudWxsIT1jJiYidG9wIj09dGhpcy5hZmZpeGVkKXJldHVybiBlPGMmJiJ0b3AiO2lmKCJib3R0b20iPT10aGlzLmFmZml4ZWQpcmV0dXJuIG51bGwhPWM/IShlK3RoaXMudW5waW48PWYudG9wKSYmImJvdHRvbSI6IShlK2c8PWEtZCkmJiJib3R0b20iO3ZhciBoPW51bGw9PXRoaXMuYWZmaXhlZCxpPWg/ZTpmLnRvcCxqPWg/ZzpiO3JldHVybiBudWxsIT1jJiZlPD1jPyJ0b3AiOm51bGwhPWQmJmkraj49YS1kJiYiYm90dG9tIn0sYy5wcm90b3R5cGUuZ2V0UGlubmVkT2Zmc2V0PWZ1bmN0aW9uKCl7aWYodGhpcy5waW5uZWRPZmZzZXQpcmV0dXJuIHRoaXMucGlubmVkT2Zmc2V0O3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoYy5SRVNFVCkuYWRkQ2xhc3MoImFmZml4Iik7dmFyIGE9dGhpcy4kdGFyZ2V0LnNjcm9sbFRvcCgpLGI9dGhpcy4kZWxlbWVudC5vZmZzZXQoKTtyZXR1cm4gdGhpcy5waW5uZWRPZmZzZXQ9Yi50b3AtYX0sYy5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbldpdGhFdmVudExvb3A9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGEucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uLHRoaXMpLDEpfSxjLnByb3RvdHlwZS5jaGVja1Bvc2l0aW9uPWZ1bmN0aW9uKCl7aWYodGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKSl7dmFyIGI9dGhpcy4kZWxlbWVudC5oZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQsZT1kLnRvcCxmPWQuYm90dG9tLGc9TWF0aC5tYXgoYShkb2N1bWVudCkuaGVpZ2h0KCksYShkb2N1bWVudC5ib2R5KS5oZWlnaHQoKSk7Im9iamVjdCIhPXR5cGVvZiBkJiYoZj1lPWQpLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1kLnRvcCh0aGlzLiRlbGVtZW50KSksImZ1bmN0aW9uIj09dHlwZW9mIGYmJihmPWQuYm90dG9tKHRoaXMuJGVsZW1lbnQpKTt2YXIgaD10aGlzLmdldFN0YXRlKGcsYixlLGYpO2lmKHRoaXMuYWZmaXhlZCE9aCl7bnVsbCE9dGhpcy51bnBpbiYmdGhpcy4kZWxlbWVudC5jc3MoInRvcCIsIiIpO3ZhciBpPSJhZmZpeCIrKGg/Ii0iK2g6IiIpLGo9YS5FdmVudChpKyIuYnMuYWZmaXgiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoaiksai5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlyZXR1cm47dGhpcy5hZmZpeGVkPWgsdGhpcy51bnBpbj0iYm90dG9tIj09aD90aGlzLmdldFBpbm5lZE9mZnNldCgpOm51bGwsdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyhjLlJFU0VUKS5hZGRDbGFzcyhpKS50cmlnZ2VyKGkucmVwbGFjZSgiYWZmaXgiLCJhZmZpeGVkIikrIi5icy5hZmZpeCIpfSJib3R0b20iPT1oJiZ0aGlzLiRlbGVtZW50Lm9mZnNldCh7dG9wOmctYi1mfSl9fTt2YXIgZD1hLmZuLmFmZml4O2EuZm4uYWZmaXg9YixhLmZuLmFmZml4LkNvbnN0cnVjdG9yPWMsYS5mbi5hZmZpeC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWZmaXg9ZCx0aGlzfSxhKHdpbmRvdykub24oImxvYWQiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtc3B5PSJhZmZpeCJdJykuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZD1jLmRhdGEoKTtkLm9mZnNldD1kLm9mZnNldHx8e30sbnVsbCE9ZC5vZmZzZXRCb3R0b20mJihkLm9mZnNldC5ib3R0b209ZC5vZmZzZXRCb3R0b20pLG51bGwhPWQub2Zmc2V0VG9wJiYoZC5vZmZzZXQudG9wPWQub2Zmc2V0VG9wKSxiLmNhbGwoYyxkKX0pfSl9KGpRdWVyeSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvanMvanF1ZXJ5LTIuMi4xLm1pbi5qcyBiL2pzL2pxdWVyeS0yLjIuMS5taW4uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQ5MDMwZAotLS0gL2Rldi9udWxsCisrKyBiL2pzL2pxdWVyeS0yLjIuMS5taW4uanMKQEAgLTAsMCArMSw0IEBACisvKiEgalF1ZXJ5IHYyLjIuMSB8IChjKSBqUXVlcnkgRm91bmRhdGlvbiB8IGpxdWVyeS5vcmcvbGljZW5zZSAqLworIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9YS5kb2N1bWVudCxlPWMuc2xpY2UsZj1jLmNvbmNhdCxnPWMucHVzaCxoPWMuaW5kZXhPZixpPXt9LGo9aS50b1N0cmluZyxrPWkuaGFzT3duUHJvcGVydHksbD17fSxtPSIyLjIuMSIsbj1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbi5mbi5pbml0KGEsYil9LG89L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLHA9L14tbXMtLyxxPS8tKFtcZGEtel0pL2dpLHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTtuLmZuPW4ucHJvdG90eXBlPXtqcXVlcnk6bSxjb25zdHJ1Y3RvcjpuLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZS5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTplLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1uLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEpe3JldHVybiBuLmVhY2godGhpcyxhKX0sbWFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhuLm1hcCh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEuY2FsbChiLGMsYil9KSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sZXE6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5sZW5ndGgsYz0rYSsoMD5hP2I6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGM+PTAmJmI+Yz9bdGhpc1tjXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6Zyxzb3J0OmMuc29ydCxzcGxpY2U6Yy5zcGxpY2V9LG4uZXh0ZW5kPW4uZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmLGc9YXJndW1lbnRzWzBdfHx7fSxoPTEsaT1hcmd1bWVudHMubGVuZ3RoLGo9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIGcmJihqPWcsZz1hcmd1bWVudHNbaF18fHt9LGgrKyksIm9iamVjdCI9PXR5cGVvZiBnfHxuLmlzRnVuY3Rpb24oZyl8fChnPXt9KSxoPT09aSYmKGc9dGhpcyxoLS0pO2k+aDtoKyspaWYobnVsbCE9KGE9YXJndW1lbnRzW2hdKSlmb3IoYiBpbiBhKWM9Z1tiXSxkPWFbYl0sZyE9PWQmJihqJiZkJiYobi5pc1BsYWluT2JqZWN0KGQpfHwoZT1uLmlzQXJyYXkoZCkpKT8oZT8oZT0hMSxmPWMmJm4uaXNBcnJheShjKT9jOltdKTpmPWMmJm4uaXNQbGFpbk9iamVjdChjKT9jOnt9LGdbYl09bi5leHRlbmQoaixmLGQpKTp2b2lkIDAhPT1kJiYoZ1tiXT1kKSk7cmV0dXJuIGd9LG4uZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhtK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKGEpfSxub29wOmZ1bmN0aW9uKCl7fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PT1uLnR5cGUoYSl9LGlzQXJyYXk6QXJyYXkuaXNBcnJheSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09PWEud2luZG93fSxpc051bWVyaWM6ZnVuY3Rpb24oYSl7dmFyIGI9YSYmYS50b1N0cmluZygpO3JldHVybiFuLmlzQXJyYXkoYSkmJmItcGFyc2VGbG9hdChiKSsxPj0wfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3JldHVybiJvYmplY3QiIT09bi50eXBlKGEpfHxhLm5vZGVUeXBlfHxuLmlzV2luZG93KGEpPyExOmEuY29uc3RydWN0b3ImJiFrLmNhbGwoYS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKT8hMTohMH0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtmb3IoYiBpbiBhKXJldHVybiExO3JldHVybiEwfSx0eXBlOmZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hP2ErIiI6Im9iamVjdCI9PXR5cGVvZiBhfHwiZnVuY3Rpb24iPT10eXBlb2YgYT9pW2ouY2FsbChhKV18fCJvYmplY3QiOnR5cGVvZiBhfSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGM9ZXZhbDthPW4udHJpbShhKSxhJiYoMT09PWEuaW5kZXhPZigidXNlIHN0cmljdCIpPyhiPWQuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksYi50ZXh0PWEsZC5oZWFkLmFwcGVuZENoaWxkKGIpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYikpOmMoYSkpfSxjYW1lbENhc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZShwLCJtcy0iKS5yZXBsYWNlKHEscil9LG5vZGVOYW1lOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubm9kZU5hbWUmJmEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWIudG9Mb3dlckNhc2UoKX0sZWFjaDpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9MDtpZihzKGEpKXtmb3IoYz1hLmxlbmd0aDtjPmQ7ZCsrKWlmKGIuY2FsbChhW2RdLGQsYVtkXSk9PT0hMSlicmVha31lbHNlIGZvcihkIGluIGEpaWYoYi5jYWxsKGFbZF0sZCxhW2RdKT09PSExKWJyZWFrO3JldHVybiBhfSx0cmltOmZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hPyIiOihhKyIiKS5yZXBsYWNlKG8sIiIpfSxtYWtlQXJyYXk6ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxbXTtyZXR1cm4gbnVsbCE9YSYmKHMoT2JqZWN0KGEpKT9uLm1lcmdlKGMsInN0cmluZyI9PXR5cGVvZiBhP1thXTphKTpnLmNhbGwoYyxhKSksY30saW5BcnJheTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG51bGw9PWI/LTE6aC5jYWxsKGIsYSxjKX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9K2IubGVuZ3RoLGQ9MCxlPWEubGVuZ3RoO2M+ZDtkKyspYVtlKytdPWJbZF07cmV0dXJuIGEubGVuZ3RoPWUsYX0sZ3JlcDpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkLGU9W10sZj0wLGc9YS5sZW5ndGgsaD0hYztnPmY7ZisrKWQ9IWIoYVtmXSxmKSxkIT09aCYmZS5wdXNoKGFbZl0pO3JldHVybiBlfSxtYXA6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZz0wLGg9W107aWYocyhhKSlmb3IoZD1hLmxlbmd0aDtkPmc7ZysrKWU9YihhW2ddLGcsYyksbnVsbCE9ZSYmaC5wdXNoKGUpO2Vsc2UgZm9yKGcgaW4gYSllPWIoYVtnXSxnLGMpLG51bGwhPWUmJmgucHVzaChlKTtyZXR1cm4gZi5hcHBseShbXSxoKX0sZ3VpZDoxLHByb3h5OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxmO3JldHVybiJzdHJpbmciPT10eXBlb2YgYiYmKGM9YVtiXSxiPWEsYT1jKSxuLmlzRnVuY3Rpb24oYSk/KGQ9ZS5jYWxsKGFyZ3VtZW50cywyKSxmPWZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoYnx8dGhpcyxkLmNvbmNhdChlLmNhbGwoYXJndW1lbnRzKSkpfSxmLmd1aWQ9YS5ndWlkPWEuZ3VpZHx8bi5ndWlkKyssZik6dm9pZCAwfSxub3c6RGF0ZS5ub3csc3VwcG9ydDpsfSksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKG4uZm5bU3ltYm9sLml0ZXJhdG9yXT1jW1N5bWJvbC5pdGVyYXRvcl0pLG4uZWFjaCgiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2wiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtpWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIHMoYSl7dmFyIGI9ISFhJiYibGVuZ3RoImluIGEmJmEubGVuZ3RoLGM9bi50eXBlKGEpO3JldHVybiJmdW5jdGlvbiI9PT1jfHxuLmlzV2luZG93KGEpPyExOiJhcnJheSI9PT1jfHwwPT09Ynx8Im51bWJlciI9PXR5cGVvZiBiJiZiPjAmJmItMSBpbiBhfXZhciB0PWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGksaixrLGwsbSxuLG8scCxxLHIscyx0LHU9InNpenpsZSIrMSpuZXcgRGF0ZSx2PWEuZG9jdW1lbnQsdz0wLHg9MCx5PWdhKCksej1nYSgpLEE9Z2EoKSxCPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iJiYobD0hMCksMH0sQz0xPDwzMSxEPXt9Lmhhc093blByb3BlcnR5LEU9W10sRj1FLnBvcCxHPUUucHVzaCxIPUUucHVzaCxJPUUuc2xpY2UsSj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wLGQ9YS5sZW5ndGg7ZD5jO2MrKylpZihhW2NdPT09YilyZXR1cm4gYztyZXR1cm4tMX0sSz0iY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLEw9IltcXHgyMFxcdFxcclxcblxcZl0iLE09Iig/OlxcXFwufFtcXHctXXxbXlxceDAwLVxceGEwXSkrIixOPSJcXFsiK0wrIiooIitNKyIpKD86IitMKyIqKFsqXiR8IX5dPz0pIitMKyIqKD86JygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCJ8KCIrTSsiKSl8KSIrTCsiKlxcXSIsTz0iOigiK00rIikoPzpcXCgoKCcoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwiKXwoKD86XFxcXC58W15cXFxcKClbXFxdXXwiK04rIikqKXwuKilcXCl8KSIsUD1uZXcgUmVnRXhwKEwrIisiLCJnIiksUT1uZXcgUmVnRXhwKCJeIitMKyIrfCgoPzpefFteXFxcXF0pKD86XFxcXC4pKikiK0wrIiskIiwiZyIpLFI9bmV3IFJlZ0V4cCgiXiIrTCsiKiwiK0wrIioiKSxTPW5ldyBSZWdFeHAoIl4iK0wrIiooWz4rfl18IitMKyIpIitMKyIqIiksVD1uZXcgUmVnRXhwKCI9IitMKyIqKFteXFxdJ1wiXSo/KSIrTCsiKlxcXSIsImciKSxVPW5ldyBSZWdFeHAoTyksVj1uZXcgUmVnRXhwKCJeIitNKyIkIiksVz17SUQ6bmV3IFJlZ0V4cCgiXiMoIitNKyIpIiksQ0xBU1M6bmV3IFJlZ0V4cCgiXlxcLigiK00rIikiKSxUQUc6bmV3IFJlZ0V4cCgiXigiK00rInxbKl0pIiksQVRUUjpuZXcgUmVnRXhwKCJeIitOKSxQU0VVRE86bmV3IFJlZ0V4cCgiXiIrTyksQ0hJTEQ6bmV3IFJlZ0V4cCgiXjoob25seXxmaXJzdHxsYXN0fG50aHxudGgtbGFzdCktKGNoaWxkfG9mLXR5cGUpKD86XFwoIitMKyIqKGV2ZW58b2RkfCgoWystXXwpKFxcZCopbnwpIitMKyIqKD86KFsrLV18KSIrTCsiKihcXGQrKXwpKSIrTCsiKlxcKXwpIiwiaSIpLGJvb2w6bmV3IFJlZ0V4cCgiXig/OiIrSysiKSQiLCJpIiksbmVlZHNDb250ZXh0Om5ldyBSZWdFeHAoIl4iK0wrIipbPit+XXw6KGV2ZW58b2RkfGVxfGd0fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcKCIrTCsiKigoPzotXFxkKT9cXGQqKSIrTCsiKlxcKXwpKD89W14tXXwkKSIsImkiKX0sWD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLFk9L15oXGQkL2ksWj0vXltee10rXHtccypcW25hdGl2ZSBcdy8sJD0vXig/OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLF89L1srfl0vLGFhPS8nfFxcL2csYmE9bmV3IFJlZ0V4cCgiXFxcXChbXFxkYS1mXXsxLDZ9IitMKyI/fCgiK0wrIil8LikiLCJpZyIpLGNhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0iMHgiK2ItNjU1MzY7cmV0dXJuIGQhPT1kfHxjP2I6MD5kP1N0cmluZy5mcm9tQ2hhckNvZGUoZCs2NTUzNik6U3RyaW5nLmZyb21DaGFyQ29kZShkPj4xMHw1NTI5NiwxMDIzJmR8NTYzMjApfSxkYT1mdW5jdGlvbigpe20oKX07dHJ5e0guYXBwbHkoRT1JLmNhbGwodi5jaGlsZE5vZGVzKSx2LmNoaWxkTm9kZXMpLEVbdi5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2goZWEpe0g9e2FwcGx5OkUubGVuZ3RoP2Z1bmN0aW9uKGEsYil7Ry5hcHBseShhLEkuY2FsbChiKSl9OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgsZD0wO3doaWxlKGFbYysrXT1iW2QrK10pO2EubGVuZ3RoPWMtMX19fWZ1bmN0aW9uIGZhKGEsYixkLGUpe3ZhciBmLGgsaixrLGwsbyxyLHMsdz1iJiZiLm93bmVyRG9jdW1lbnQseD1iP2Iubm9kZVR5cGU6OTtpZihkPWR8fFtdLCJzdHJpbmciIT10eXBlb2YgYXx8IWF8fDEhPT14JiY5IT09eCYmMTEhPT14KXJldHVybiBkO2lmKCFlJiYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnYpIT09biYmbShiKSxiPWJ8fG4scCkpe2lmKDExIT09eCYmKG89JC5leGVjKGEpKSlpZihmPW9bMV0pe2lmKDk9PT14KXtpZighKGo9Yi5nZXRFbGVtZW50QnlJZChmKSkpcmV0dXJuIGQ7aWYoai5pZD09PWYpcmV0dXJuIGQucHVzaChqKSxkfWVsc2UgaWYodyYmKGo9dy5nZXRFbGVtZW50QnlJZChmKSkmJnQoYixqKSYmai5pZD09PWYpcmV0dXJuIGQucHVzaChqKSxkfWVsc2V7aWYob1syXSlyZXR1cm4gSC5hcHBseShkLGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSkpLGQ7aWYoKGY9b1szXSkmJmMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBILmFwcGx5KGQsYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGYpKSxkfWlmKGMucXNhJiYhQVthKyIgIl0mJighcXx8IXEudGVzdChhKSkpe2lmKDEhPT14KXc9YixzPWE7ZWxzZSBpZigib2JqZWN0IiE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7KGs9Yi5nZXRBdHRyaWJ1dGUoImlkIikpP2s9ay5yZXBsYWNlKGFhLCJcXCQmIik6Yi5zZXRBdHRyaWJ1dGUoImlkIixrPXUpLHI9ZyhhKSxoPXIubGVuZ3RoLGw9Vi50ZXN0KGspPyIjIitrOiJbaWQ9JyIraysiJ10iO3doaWxlKGgtLSlyW2hdPWwrIiAiK3FhKHJbaF0pO3M9ci5qb2luKCIsIiksdz1fLnRlc3QoYSkmJm9hKGIucGFyZW50Tm9kZSl8fGJ9aWYocyl0cnl7cmV0dXJuIEguYXBwbHkoZCx3LnF1ZXJ5U2VsZWN0b3JBbGwocykpLGR9Y2F0Y2goeSl7fWZpbmFsbHl7az09PXUmJmIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFEsIiQxIiksYixkLGUpfWZ1bmN0aW9uIGdhKCl7dmFyIGE9W107ZnVuY3Rpb24gYihjLGUpe3JldHVybiBhLnB1c2goYysiICIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjKyIgIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBoYShhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGlhKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24gamEoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1jLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiYofmIuc291cmNlSW5kZXh8fEMpLSh+YS5zb3VyY2VJbmRleHx8Qyk7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIGxhKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBuYShhKXtyZXR1cm4gaGEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaGEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBvYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9ZmEuc3VwcG9ydD17fSxmPWZhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj8iSFRNTCIhPT1iLm5vZGVOYW1lOiExfSxtPWZhLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGUsZz1hP2Eub3duZXJEb2N1bWVudHx8YTp2O3JldHVybiBnIT09biYmOT09PWcubm9kZVR5cGUmJmcuZG9jdW1lbnRFbGVtZW50PyhuPWcsbz1uLmRvY3VtZW50RWxlbWVudCxwPSFmKG4pLChlPW4uZGVmYXVsdFZpZXcpJiZlLnRvcCE9PWUmJihlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLGRhLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsZGEpKSxjLmF0dHJpYnV0ZXM9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1pYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChuLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1aLnRlc3Qobi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhbi5nZXRFbGVtZW50c0J5TmFtZXx8IW4uZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGM/W2NdOltdfX0sZC5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKGJhLGNhKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJpZCIpPT09Yn19KTooZGVsZXRlIGQuZmluZC5JRCxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoYmEsY2EpO3JldHVybiBmdW5jdGlvbihhKXt2YXIgYz0idW5kZWZpbmVkIiE9dHlwZW9mIGEuZ2V0QXR0cmlidXRlTm9kZSYmYS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiBjJiZjLnZhbHVlPT09Yn19KSxkLmZpbmQuVEFHPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZnVuY3Rpb24oYSxiKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeVRhZ05hbWU/Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTpjLnFzYT9iLnF1ZXJ5U2VsZWN0b3JBbGwoYSk6dm9pZCAwfTpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT0wLGY9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTtpZigiKiI9PT1hKXt3aGlsZShjPWZbZSsrXSkxPT09Yy5ub2RlVHlwZSYmZC5wdXNoKGMpO3JldHVybiBkfXJldHVybiBmfSxkLmZpbmQuQ0xBU1M9Yy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZmdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZwP2IuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShhKTp2b2lkIDB9LHI9W10scT1bXSwoYy5xc2E9Wi50ZXN0KG4ucXVlcnlTZWxlY3RvckFsbCkpJiYoaWEoZnVuY3Rpb24oYSl7by5hcHBlbmRDaGlsZChhKS5pbm5lckhUTUw9IjxhIGlkPSciK3UrIic+PC9hPjxzZWxlY3QgaWQ9JyIrdSsiLVxyXFwnIG1zYWxsb3djYXB0dXJlPScnPjxvcHRpb24gc2VsZWN0ZWQ9Jyc+PC9vcHRpb24+PC9zZWxlY3Q+IixhLnF1ZXJ5U2VsZWN0b3JBbGwoIlttc2FsbG93Y2FwdHVyZV49JyddIikubGVuZ3RoJiZxLnB1c2goIlsqXiRdPSIrTCsiKig/OicnfFwiXCIpIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbc2VsZWN0ZWRdIikubGVuZ3RofHxxLnB1c2goIlxcWyIrTCsiKig/OnZhbHVlfCIrSysiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW2lkfj0iK3UrIi1dIikubGVuZ3RofHxxLnB1c2goIn49IiksYS5xdWVyeVNlbGVjdG9yQWxsKCI6Y2hlY2tlZCIpLmxlbmd0aHx8cS5wdXNoKCI6Y2hlY2tlZCIpLGEucXVlcnlTZWxlY3RvckFsbCgiYSMiK3UrIisqIikubGVuZ3RofHxxLnB1c2goIi4jLitbK35dIil9KSxpYShmdW5jdGlvbihhKXt2YXIgYj1uLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7Yi5zZXRBdHRyaWJ1dGUoInR5cGUiLCJoaWRkZW4iKSxhLmFwcGVuZENoaWxkKGIpLnNldEF0dHJpYnV0ZSgibmFtZSIsIkQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltuYW1lPWRdIikubGVuZ3RoJiZxLnB1c2goIm5hbWUiK0wrIipbKl4kfCF+XT89IiksYS5xdWVyeVNlbGVjdG9yQWxsKCI6ZW5hYmxlZCIpLmxlbmd0aHx8cS5wdXNoKCI6ZW5hYmxlZCIsIjpkaXNhYmxlZCIpLGEucXVlcnlTZWxlY3RvckFsbCgiKiw6eCIpLHEucHVzaCgiLC4qOiIpfSkpLChjLm1hdGNoZXNTZWxlY3Rvcj1aLnRlc3Qocz1vLm1hdGNoZXN8fG8ud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxvLm1vek1hdGNoZXNTZWxlY3Rvcnx8by5vTWF0Y2hlc1NlbGVjdG9yfHxvLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmlhKGZ1bmN0aW9uKGEpe2MuZGlzY29ubmVjdGVkTWF0Y2g9cy5jYWxsKGEsImRpdiIpLHMuY2FsbChhLCJbcyE9JyddOngiKSxyLnB1c2goIiE9IixPKX0pLHE9cS5sZW5ndGgmJm5ldyBSZWdFeHAocS5qb2luKCJ8IikpLHI9ci5sZW5ndGgmJm5ldyBSZWdFeHAoci5qb2luKCJ8IikpLGI9Wi50ZXN0KG8uY29tcGFyZURvY3VtZW50UG9zaXRpb24pLHQ9Ynx8Wi50ZXN0KG8uY29udGFpbnMpP2Z1bmN0aW9uKGEsYil7dmFyIGM9OT09PWEubm9kZVR5cGU/YS5kb2N1bWVudEVsZW1lbnQ6YSxkPWImJmIucGFyZW50Tm9kZTtyZXR1cm4gYT09PWR8fCEoIWR8fDEhPT1kLm5vZGVUeXBlfHwhKGMuY29udGFpbnM/Yy5jb250YWlucyhkKTphLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYxNiZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGQpKSl9OmZ1bmN0aW9uKGEsYil7aWYoYil3aGlsZShiPWIucGFyZW50Tm9kZSlpZihiPT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sQj1iP2Z1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIGw9ITAsMDt2YXIgZD0hYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gZD9kOihkPShhLm93bmVyRG9jdW1lbnR8fGEpPT09KGIub3duZXJEb2N1bWVudHx8Yik/YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKToxLDEmZHx8IWMuc29ydERldGFjaGVkJiZiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpPT09ZD9hPT09bnx8YS5vd25lckRvY3VtZW50PT09diYmdCh2LGEpPy0xOmI9PT1ufHxiLm93bmVyRG9jdW1lbnQ9PT12JiZ0KHYsYik/MTprP0ooayxhKS1KKGssYik6MDo0JmQ/LTE6MSl9OmZ1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIGw9ITAsMDt2YXIgYyxkPTAsZT1hLnBhcmVudE5vZGUsZj1iLnBhcmVudE5vZGUsZz1bYV0saD1bYl07aWYoIWV8fCFmKXJldHVybiBhPT09bj8tMTpiPT09bj8xOmU/LTE6Zj8xOms/SihrLGEpLUooayxiKTowO2lmKGU9PT1mKXJldHVybiBrYShhLGIpO2M9YTt3aGlsZShjPWMucGFyZW50Tm9kZSlnLnVuc2hpZnQoYyk7Yz1iO3doaWxlKGM9Yy5wYXJlbnROb2RlKWgudW5zaGlmdChjKTt3aGlsZShnW2RdPT09aFtkXSlkKys7cmV0dXJuIGQ/a2EoZ1tkXSxoW2RdKTpnW2RdPT09dj8tMTpoW2RdPT09dj8xOjB9LG4pOm59LGZhLm1hdGNoZXM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZmEoYSxudWxsLG51bGwsYil9LGZhLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihhLGIpe2lmKChhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKSxiPWIucmVwbGFjZShULCI9JyQxJ10iKSxjLm1hdGNoZXNTZWxlY3RvciYmcCYmIUFbYisiICJdJiYoIXJ8fCFyLnRlc3QoYikpJiYoIXF8fCFxLnRlc3QoYikpKXRyeXt2YXIgZD1zLmNhbGwoYSxiKTtpZihkfHxjLmRpc2Nvbm5lY3RlZE1hdGNofHxhLmRvY3VtZW50JiYxMSE9PWEuZG9jdW1lbnQubm9kZVR5cGUpcmV0dXJuIGR9Y2F0Y2goZSl7fXJldHVybiBmYShiLG4sbnVsbCxbYV0pLmxlbmd0aD4wfSxmYS5jb250YWlucz1mdW5jdGlvbihhLGIpe3JldHVybihhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKSx0KGEsYil9LGZhLmF0dHI9ZnVuY3Rpb24oYSxiKXsoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSk7dmFyIGU9ZC5hdHRySGFuZGxlW2IudG9Mb3dlckNhc2UoKV0sZj1lJiZELmNhbGwoZC5hdHRySGFuZGxlLGIudG9Mb3dlckNhc2UoKSk/ZShhLGIsIXApOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09Zj9mOmMuYXR0cmlidXRlc3x8IXA/YS5nZXRBdHRyaWJ1dGUoYik6KGY9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpKSYmZi5zcGVjaWZpZWQ/Zi52YWx1ZTpudWxsfSxmYS5lcnJvcj1mdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrYSl9LGZhLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oYSl7dmFyIGIsZD1bXSxlPTAsZj0wO2lmKGw9IWMuZGV0ZWN0RHVwbGljYXRlcyxrPSFjLnNvcnRTdGFibGUmJmEuc2xpY2UoMCksYS5zb3J0KEIpLGwpe3doaWxlKGI9YVtmKytdKWI9PT1hW2ZdJiYoZT1kLnB1c2goZikpO3doaWxlKGUtLSlhLnNwbGljZShkW2VdLDEpfXJldHVybiBrPW51bGwsYX0sZT1mYS5nZXRUZXh0PWZ1bmN0aW9uKGEpe3ZhciBiLGM9IiIsZD0wLGY9YS5ub2RlVHlwZTtpZihmKXtpZigxPT09Znx8OT09PWZ8fDExPT09Zil7aWYoInN0cmluZyI9PXR5cGVvZiBhLnRleHRDb250ZW50KXJldHVybiBhLnRleHRDb250ZW50O2ZvcihhPWEuZmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZyljKz1lKGEpfWVsc2UgaWYoMz09PWZ8fDQ9PT1mKXJldHVybiBhLm5vZGVWYWx1ZX1lbHNlIHdoaWxlKGI9YVtkKytdKWMrPWUoYik7cmV0dXJuIGN9LGQ9ZmEuc2VsZWN0b3JzPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86aGEsbWF0Y2g6VyxhdHRySGFuZGxlOnt9LGZpbmQ6e30scmVsYXRpdmU6eyI+Ijp7ZGlyOiJwYXJlbnROb2RlIixmaXJzdDohMH0sIiAiOntkaXI6InBhcmVudE5vZGUifSwiKyI6e2RpcjoicHJldmlvdXNTaWJsaW5nIixmaXJzdDohMH0sIn4iOntkaXI6InByZXZpb3VzU2libGluZyJ9fSxwcmVGaWx0ZXI6e0FUVFI6ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV09YVsxXS5yZXBsYWNlKGJhLGNhKSxhWzNdPShhWzNdfHxhWzRdfHxhWzVdfHwiIikucmVwbGFjZShiYSxjYSksIn49Ij09PWFbMl0mJihhWzNdPSIgIithWzNdKyIgIiksYS5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnRvTG93ZXJDYXNlKCksIm50aCI9PT1hWzFdLnNsaWNlKDAsMyk/KGFbM118fGZhLmVycm9yKGFbMF0pLGFbNF09KyhhWzRdP2FbNV0rKGFbNl18fDEpOjIqKCJldmVuIj09PWFbM118fCJvZGQiPT09YVszXSkpLGFbNV09KyhhWzddK2FbOF18fCJvZGQiPT09YVszXSkpOmFbM10mJmZhLmVycm9yKGFbMF0pLGF9LFBTRVVETzpmdW5jdGlvbihhKXt2YXIgYixjPSFhWzZdJiZhWzJdO3JldHVybiBXLkNISUxELnRlc3QoYVswXSk/bnVsbDooYVszXT9hWzJdPWFbNF18fGFbNV18fCIiOmMmJlUudGVzdChjKSYmKGI9ZyhjLCEwKSkmJihiPWMuaW5kZXhPZigiKSIsYy5sZW5ndGgtYiktYy5sZW5ndGgpJiYoYVswXT1hWzBdLnNsaWNlKDAsYiksYVsyXT1jLnNsaWNlKDAsYikpLGEuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoYmEsY2EpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIioiPT09YT9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yn19LENMQVNTOmZ1bmN0aW9uKGEpe3ZhciBiPXlbYSsiICJdO3JldHVybiBifHwoYj1uZXcgUmVnRXhwKCIoXnwiK0wrIikiK2ErIigiK0wrInwkKSIpKSYmeShhLGZ1bmN0aW9uKGEpe3JldHVybiBiLnRlc3QoInN0cmluZyI9PXR5cGVvZiBhLmNsYXNzTmFtZSYmYS5jbGFzc05hbWV8fCJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9KX0sQVRUUjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGQpe3ZhciBlPWZhLmF0dHIoZCxhKTtyZXR1cm4gbnVsbD09ZT8iIT0iPT09YjpiPyhlKz0iIiwiPSI9PT1iP2U9PT1jOiIhPSI9PT1iP2UhPT1jOiJePSI9PT1iP2MmJjA9PT1lLmluZGV4T2YoYyk6Iio9Ij09PWI/YyYmZS5pbmRleE9mKGMpPi0xOiIkPSI9PT1iP2MmJmUuc2xpY2UoLWMubGVuZ3RoKT09PWM6In49Ij09PWI/KCIgIitlLnJlcGxhY2UoUCwiICIpKyIgIikuaW5kZXhPZihjKT4tMToifD0iPT09Yj9lPT09Y3x8ZS5zbGljZSgwLGMubGVuZ3RoKzEpPT09YysiLSI6ITEpOiEwfX0sQ0hJTEQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0ibnRoIiE9PWEuc2xpY2UoMCwzKSxnPSJsYXN0IiE9PWEuc2xpY2UoLTQpLGg9Im9mLXR5cGUiPT09YjtyZXR1cm4gMT09PWQmJjA9PT1lP2Z1bmN0aW9uKGEpe3JldHVybiEhYS5wYXJlbnROb2RlfTpmdW5jdGlvbihiLGMsaSl7dmFyIGosayxsLG0sbixvLHA9ZiE9PWc/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixxPWIucGFyZW50Tm9kZSxyPWgmJmIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxzPSFpJiYhaCx0PSExO2lmKHEpe2lmKGYpe3doaWxlKHApe209Yjt3aGlsZShtPW1bcF0paWYoaD9tLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1tLm5vZGVUeXBlKXJldHVybiExO289cD0ib25seSI9PT1hJiYhbyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihvPVtnP3EuZmlyc3RDaGlsZDpxLmxhc3RDaGlsZF0sZyYmcyl7bT1xLGw9bVt1XXx8KG1bdV09e30pLGs9bFttLnVuaXF1ZUlEXXx8KGxbbS51bmlxdWVJRF09e30pLGo9a1thXXx8W10sbj1qWzBdPT09dyYmalsxXSx0PW4mJmpbMl0sbT1uJiZxLmNoaWxkTm9kZXNbbl07d2hpbGUobT0rK24mJm0mJm1bcF18fCh0PW49MCl8fG8ucG9wKCkpaWYoMT09PW0ubm9kZVR5cGUmJisrdCYmbT09PWIpe2tbYV09W3csbix0XTticmVha319ZWxzZSBpZihzJiYobT1iLGw9bVt1XXx8KG1bdV09e30pLGs9bFttLnVuaXF1ZUlEXXx8KGxbbS51bmlxdWVJRF09e30pLGo9a1thXXx8W10sbj1qWzBdPT09dyYmalsxXSx0PW4pLHQ9PT0hMSl3aGlsZShtPSsrbiYmbSYmbVtwXXx8KHQ9bj0wKXx8by5wb3AoKSlpZigoaD9tLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1tLm5vZGVUeXBlKSYmKyt0JiYocyYmKGw9bVt1XXx8KG1bdV09e30pLGs9bFttLnVuaXF1ZUlEXXx8KGxbbS51bmlxdWVJRF09e30pLGtbYV09W3csdF0pLG09PT1iKSlicmVhaztyZXR1cm4gdC09ZSx0PT09ZHx8dCVkPT09MCYmdC9kPj0wfX19LFBTRVVETzpmdW5jdGlvbihhLGIpe3ZhciBjLGU9ZC5wc2V1ZG9zW2FdfHxkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXXx8ZmEuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIithKTtyZXR1cm4gZVt1XT9lKGIpOmUubGVuZ3RoPjE/KGM9W2EsYSwiIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9oYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SihhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDpoYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUSwiJDEiKSk7cmV0dXJuIGRbdV0/aGEoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksYlswXT1udWxsLCFjLnBvcCgpfX0pLGhhczpoYShmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGZhKGEsYikubGVuZ3RoPjB9fSksY29udGFpbnM6aGEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5yZXBsYWNlKGJhLGNhKSxmdW5jdGlvbihiKXtyZXR1cm4oYi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR8fGUoYikpLmluZGV4T2YoYSk+LTF9fSksbGFuZzpoYShmdW5jdGlvbihhKXtyZXR1cm4gVi50ZXN0KGF8fCIiKXx8ZmEuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrYSksYT1hLnJlcGxhY2UoYmEsY2EpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oYil7dmFyIGM7ZG8gaWYoYz1wP2IubGFuZzpiLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8Yi5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gYz1jLnRvTG93ZXJDYXNlKCksYz09PWF8fDA9PT1jLmluZGV4T2YoYSsiLSIpO3doaWxlKChiPWIucGFyZW50Tm9kZSkmJjE9PT1iLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5sb2NhdGlvbiYmYS5sb2NhdGlvbi5oYXNoO3JldHVybiBjJiZjLnNsaWNlKDEpPT09Yi5pZH0scm9vdDpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW99LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09bi5hY3RpdmVFbGVtZW50JiYoIW4uaGFzRm9jdXN8fG4uaGFzRm9jdXMoKSkmJiEhKGEudHlwZXx8YS5ocmVmfHx+YS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiEhYS5jaGVja2VkfHwib3B0aW9uIj09PWImJiEhYS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsYS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpaWYoYS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWQucHNldWRvcy5lbXB0eShhKX0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybiBZLnRlc3QoYS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGEpe3JldHVybiBYLnRlc3QoYS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiJidXR0b24iPT09YS50eXBlfHwiYnV0dG9uIj09PWJ9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09YS50eXBlJiYobnVsbD09KGI9YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om5hKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpuYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6bmEoZnVuY3Rpb24oYSxiLGMpe3JldHVyblswPmM/YytiOmNdfSksZXZlbjpuYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpuYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0Om5hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6bmEoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPWxhKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2Z1bmN0aW9uIHBhKCl7fXBhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcGEsZz1mYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthKyIgIl07aWYoaylyZXR1cm4gYj8wOmsuc2xpY2UoMCk7aD1hLGk9W10saj1kLnByZUZpbHRlcjt3aGlsZShoKXsoIWN8fChlPVIuZXhlYyhoKSkpJiYoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1TLmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFEsIiAiKX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2ZvcihnIGluIGQuZmlsdGVyKSEoZT1XW2ddLmV4ZWMoaCkpfHxqW2ddJiYhKGU9altnXShlKSl8fChjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTpnLG1hdGNoZXM6ZX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2lmKCFjKWJyZWFrfXJldHVybiBiP2gubGVuZ3RoOmg/ZmEuZXJyb3IoYSk6eihhLGkpLnNsaWNlKDApfTtmdW5jdGlvbiBxYShhKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoLGQ9IiI7Yz5iO2IrKylkKz1hW2JdLnZhbHVlO3JldHVybiBkfWZ1bmN0aW9uIHJhKGEsYixjKXt2YXIgZD1iLmRpcixlPWMmJiJwYXJlbnROb2RlIj09PWQsZj14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGYpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSlyZXR1cm4gYShiLGMsZil9OmZ1bmN0aW9uKGIsYyxnKXt2YXIgaCxpLGosaz1bdyxmXTtpZihnKXt3aGlsZShiPWJbZF0paWYoKDE9PT1iLm5vZGVUeXBlfHxlKSYmYShiLGMsZykpcmV0dXJuITB9ZWxzZSB3aGlsZShiPWJbZF0paWYoMT09PWIubm9kZVR5cGV8fGUpe2lmKGo9Ylt1XXx8KGJbdV09e30pLGk9altiLnVuaXF1ZUlEXXx8KGpbYi51bmlxdWVJRF09e30pLChoPWlbZF0pJiZoWzBdPT09dyYmaFsxXT09PWYpcmV0dXJuIGtbMl09aFsyXTtpZihpW2RdPWssa1syXT1hKGIsYyxnKSlyZXR1cm4hMH19fWZ1bmN0aW9uIHNhKGEpe3JldHVybiBhLmxlbmd0aD4xP2Z1bmN0aW9uKGIsYyxkKXt2YXIgZT1hLmxlbmd0aDt3aGlsZShlLS0paWYoIWFbZV0oYixjLGQpKXJldHVybiExO3JldHVybiEwfTphWzBdfWZ1bmN0aW9uIHRhKGEsYixjKXtmb3IodmFyIGQ9MCxlPWIubGVuZ3RoO2U+ZDtkKyspZmEoYSxiW2RdLGMpO3JldHVybiBjfWZ1bmN0aW9uIHVhKGEsYixjLGQsZSl7Zm9yKHZhciBmLGc9W10saD0wLGk9YS5sZW5ndGgsaj1udWxsIT1iO2k+aDtoKyspKGY9YVtoXSkmJighY3x8YyhmLGQsZSkpJiYoZy5wdXNoKGYpLGomJmIucHVzaChoKSk7cmV0dXJuIGd9ZnVuY3Rpb24gdmEoYSxiLGMsZCxlLGYpe3JldHVybiBkJiYhZFt1XSYmKGQ9dmEoZCkpLGUmJiFlW3VdJiYoZT12YShlLGYpKSxoYShmdW5jdGlvbihmLGcsaCxpKXt2YXIgaixrLGwsbT1bXSxuPVtdLG89Zy5sZW5ndGgscD1mfHx0YShifHwiKiIsaC5ub2RlVHlwZT9baF06aCxbXSkscT0hYXx8IWYmJmI/cDp1YShwLG0sYSxoLGkpLHI9Yz9lfHwoZj9hOm98fGQpP1tdOmc6cTtpZihjJiZjKHEscixoLGkpLGQpe2o9dWEocixuKSxkKGosW10saCxpKSxrPWoubGVuZ3RoO3doaWxlKGstLSkobD1qW2tdKSYmKHJbbltrXV09IShxW25ba11dPWwpKX1pZihmKXtpZihlfHxhKXtpZihlKXtqPVtdLGs9ci5sZW5ndGg7d2hpbGUoay0tKShsPXJba10pJiZqLnB1c2gocVtrXT1sKTtlKG51bGwscj1bXSxqLGkpfWs9ci5sZW5ndGg7d2hpbGUoay0tKShsPXJba10pJiYoaj1lP0ooZixsKTptW2tdKT4tMSYmKGZbal09IShnW2pdPWwpKX19ZWxzZSByPXVhKHI9PT1nP3Iuc3BsaWNlKG8sci5sZW5ndGgpOnIpLGU/ZShudWxsLGcscixpKTpILmFwcGx5KGcscil9KX1mdW5jdGlvbiB3YShhKXtmb3IodmFyIGIsYyxlLGY9YS5sZW5ndGgsZz1kLnJlbGF0aXZlW2FbMF0udHlwZV0saD1nfHxkLnJlbGF0aXZlWyIgIl0saT1nPzE6MCxrPXJhKGZ1bmN0aW9uKGEpe3JldHVybiBhPT09Yn0saCwhMCksbD1yYShmdW5jdGlvbihhKXtyZXR1cm4gSihiLGEpPi0xfSxoLCEwKSxtPVtmdW5jdGlvbihhLGMsZCl7dmFyIGU9IWcmJihkfHxjIT09ail8fCgoYj1jKS5ub2RlVHlwZT9rKGEsYyxkKTpsKGEsYyxkKSk7cmV0dXJuIGI9bnVsbCxlfV07Zj5pO2krKylpZihjPWQucmVsYXRpdmVbYVtpXS50eXBlXSltPVtyYShzYShtKSxjKV07ZWxzZXtpZihjPWQuZmlsdGVyW2FbaV0udHlwZV0uYXBwbHkobnVsbCxhW2ldLm1hdGNoZXMpLGNbdV0pe2ZvcihlPSsraTtmPmU7ZSsrKWlmKGQucmVsYXRpdmVbYVtlXS50eXBlXSlicmVhaztyZXR1cm4gdmEoaT4xJiZzYShtKSxpPjEmJnFhKGEuc2xpY2UoMCxpLTEpLmNvbmNhdCh7dmFsdWU6IiAiPT09YVtpLTJdLnR5cGU/IioiOiIifSkpLnJlcGxhY2UoUSwiJDEiKSxjLGU+aSYmd2EoYS5zbGljZShpLGUpKSxmPmUmJndhKGE9YS5zbGljZShlKSksZj5lJiZxYShhKSl9bS5wdXNoKGMpfXJldHVybiBzYShtKX1mdW5jdGlvbiB4YShhLGIpe3ZhciBjPWIubGVuZ3RoPjAsZT1hLmxlbmd0aD4wLGY9ZnVuY3Rpb24oZixnLGgsaSxrKXt2YXIgbCxvLHEscj0wLHM9IjAiLHQ9ZiYmW10sdT1bXSx2PWoseD1mfHxlJiZkLmZpbmQuVEFHKCIqIixrKSx5PXcrPW51bGw9PXY/MTpNYXRoLnJhbmRvbSgpfHwuMSx6PXgubGVuZ3RoO2ZvcihrJiYoaj1nPT09bnx8Z3x8ayk7cyE9PXomJm51bGwhPShsPXhbc10pO3MrKyl7aWYoZSYmbCl7bz0wLGd8fGwub3duZXJEb2N1bWVudD09PW58fChtKGwpLGg9IXApO3doaWxlKHE9YVtvKytdKWlmKHEobCxnfHxuLGgpKXtpLnB1c2gobCk7YnJlYWt9ayYmKHc9eSl9YyYmKChsPSFxJiZsKSYmci0tLGYmJnQucHVzaChsKSl9aWYocis9cyxjJiZzIT09cil7bz0wO3doaWxlKHE9YltvKytdKXEodCx1LGcsaCk7aWYoZil7aWYocj4wKXdoaWxlKHMtLSl0W3NdfHx1W3NdfHwodVtzXT1GLmNhbGwoaSkpO3U9dWEodSl9SC5hcHBseShpLHUpLGsmJiFmJiZ1Lmxlbmd0aD4wJiZyK2IubGVuZ3RoPjEmJmZhLnVuaXF1ZVNvcnQoaSl9cmV0dXJuIGsmJih3PXksaj12KSx0fTtyZXR1cm4gYz9oYShmKTpmfXJldHVybiBoPWZhLmNvbXBpbGU9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9W10sZj1BW2ErIiAiXTtpZighZil7Ynx8KGI9ZyhhKSksYz1iLmxlbmd0aDt3aGlsZShjLS0pZj13YShiW2NdKSxmW3VdP2QucHVzaChmKTplLnB1c2goZik7Zj1BKGEseGEoZSxkKSksZi5zZWxlY3Rvcj1hfXJldHVybiBmfSxpPWZhLnNlbGVjdD1mdW5jdGlvbihhLGIsZSxmKXt2YXIgaSxqLGssbCxtLG49ImZ1bmN0aW9uIj09dHlwZW9mIGEmJmEsbz0hZiYmZyhhPW4uc2VsZWN0b3J8fGEpO2lmKGU9ZXx8W10sMT09PW8ubGVuZ3RoKXtpZihqPW9bMF09b1swXS5zbGljZSgwKSxqLmxlbmd0aD4yJiYiSUQiPT09KGs9alswXSkudHlwZSYmYy5nZXRCeUlkJiY5PT09Yi5ub2RlVHlwZSYmcCYmZC5yZWxhdGl2ZVtqWzFdLnR5cGVdKXtpZihiPShkLmZpbmQuSUQoay5tYXRjaGVzWzBdLnJlcGxhY2UoYmEsY2EpLGIpfHxbXSlbMF0sIWIpcmV0dXJuIGU7biYmKGI9Yi5wYXJlbnROb2RlKSxhPWEuc2xpY2Uoai5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9aT1XLm5lZWRzQ29udGV4dC50ZXN0KGEpPzA6ai5sZW5ndGg7d2hpbGUoaS0tKXtpZihrPWpbaV0sZC5yZWxhdGl2ZVtsPWsudHlwZV0pYnJlYWs7aWYoKG09ZC5maW5kW2xdKSYmKGY9bShrLm1hdGNoZXNbMF0ucmVwbGFjZShiYSxjYSksXy50ZXN0KGpbMF0udHlwZSkmJm9hKGIucGFyZW50Tm9kZSl8fGIpKSl7aWYoai5zcGxpY2UoaSwxKSxhPWYubGVuZ3RoJiZxYShqKSwhYSlyZXR1cm4gSC5hcHBseShlLGYpLGU7YnJlYWt9fX1yZXR1cm4obnx8aChhLG8pKShmLGIsIXAsZSwhYnx8Xy50ZXN0KGEpJiZvYShiLnBhcmVudE5vZGUpfHxiKSxlfSxjLnNvcnRTdGFibGU9dS5zcGxpdCgiIikuc29ydChCKS5qb2luKCIiKT09PXUsYy5kZXRlY3REdXBsaWNhdGVzPSEhbCxtKCksYy5zb3J0RGV0YWNoZWQ9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIDEmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuLmNyZWF0ZUVsZW1lbnQoImRpdiIpKX0pLGlhKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlubmVySFRNTD0iPGEgaHJlZj0nIyc+PC9hPiIsIiMiPT09YS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpfSl8fGphKCJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmEuZ2V0QXR0cmlidXRlKGIsInR5cGUiPT09Yi50b0xvd2VyQ2FzZSgpPzE6Mil9KSxjLmF0dHJpYnV0ZXMmJmlhKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlubmVySFRNTD0iPGlucHV0Lz4iLGEuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIiksIiI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpfSl8fGphKCJ2YWx1ZSIsZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjfHwiaW5wdXQiIT09YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpP3ZvaWQgMDphLmRlZmF1bHRWYWx1ZX0pLGlhKGZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKX0pfHxqYShLLGZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gYz92b2lkIDA6YVtiXT09PSEwP2IudG9Mb3dlckNhc2UoKTooZD1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZkLnNwZWNpZmllZD9kLnZhbHVlOm51bGx9KSxmYX0oYSk7bi5maW5kPXQsbi5leHByPXQuc2VsZWN0b3JzLG4uZXhwclsiOiJdPW4uZXhwci5wc2V1ZG9zLG4udW5pcXVlU29ydD1uLnVuaXF1ZT10LnVuaXF1ZVNvcnQsbi50ZXh0PXQuZ2V0VGV4dCxuLmlzWE1MRG9jPXQuaXNYTUwsbi5jb250YWlucz10LmNvbnRhaW5zO3ZhciB1PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPXZvaWQgMCE9PWM7d2hpbGUoKGE9YVtiXSkmJjkhPT1hLm5vZGVUeXBlKWlmKDE9PT1hLm5vZGVUeXBlKXtpZihlJiZuKGEpLmlzKGMpKWJyZWFrO2QucHVzaChhKX1yZXR1cm4gZH0sdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXTthO2E9YS5uZXh0U2libGluZykxPT09YS5ub2RlVHlwZSYmYSE9PWImJmMucHVzaChhKTtyZXR1cm4gY30sdz1uLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LHg9L148KFtcdy1dKylccypcLz8+KD86PFwvXDE+fCkkLyx5PS9eLlteOiNcW1wuLF0qJC87ZnVuY3Rpb24geihhLGIsYyl7aWYobi5pc0Z1bmN0aW9uKGIpKXJldHVybiBuLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiEhYi5jYWxsKGEsZCxhKSE9PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBuLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKXtpZih5LnRlc3QoYikpcmV0dXJuIG4uZmlsdGVyKGIsYSxjKTtiPW4uZmlsdGVyKGIsYSl9cmV0dXJuIG4uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBoLmNhbGwoYixhKT4tMSE9PWN9KX1uLmZpbHRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlswXTtyZXR1cm4gYyYmKGE9Ijpub3QoIithKyIpIiksMT09PWIubGVuZ3RoJiYxPT09ZC5ub2RlVHlwZT9uLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsYSk/W2RdOltdOm4uZmluZC5tYXRjaGVzKGEsbi5ncmVwKGIsZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfSkpfSxuLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYixjPXRoaXMubGVuZ3RoLGQ9W10sZT10aGlzO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gdGhpcy5wdXNoU3RhY2sobihhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2M+YjtiKyspaWYobi5jb250YWlucyhlW2JdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihiPTA7Yz5iO2IrKyluLmZpbmQoYSxlW2JdLGQpO3JldHVybiBkPXRoaXMucHVzaFN0YWNrKGM+MT9uLnVuaXF1ZShkKTpkKSxkLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICIrYTphLGR9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soeih0aGlzLGF8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soeih0aGlzLGF8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEheih0aGlzLCJzdHJpbmciPT10eXBlb2YgYSYmdy50ZXN0KGEpP24oYSk6YXx8W10sITEpLmxlbmd0aH19KTt2YXIgQSxCPS9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKikpJC8sQz1uLmZuLmluaXQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBlLGY7aWYoIWEpcmV0dXJuIHRoaXM7aWYoYz1jfHxBLCJzdHJpbmciPT10eXBlb2YgYSl7aWYoZT0iPCI9PT1hWzBdJiYiPiI9PT1hW2EubGVuZ3RoLTFdJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOkIuZXhlYyhhKSwhZXx8IWVbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHxjKS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihlWzFdKXtpZihiPWIgaW5zdGFuY2VvZiBuP2JbMF06YixuLm1lcmdlKHRoaXMsbi5wYXJzZUhUTUwoZVsxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8YjpkLCEwKSkseC50ZXN0KGVbMV0pJiZuLmlzUGxhaW5PYmplY3QoYikpZm9yKGUgaW4gYiluLmlzRnVuY3Rpb24odGhpc1tlXSk/dGhpc1tlXShiW2VdKTp0aGlzLmF0dHIoZSxiW2VdKTtyZXR1cm4gdGhpc31yZXR1cm4gZj1kLmdldEVsZW1lbnRCeUlkKGVbMl0pLGYmJmYucGFyZW50Tm9kZSYmKHRoaXMubGVuZ3RoPTEsdGhpc1swXT1mKSx0aGlzLmNvbnRleHQ9ZCx0aGlzLnNlbGVjdG9yPWEsdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOm4uaXNGdW5jdGlvbihhKT92b2lkIDAhPT1jLnJlYWR5P2MucmVhZHkoYSk6YShuKToodm9pZCAwIT09YS5zZWxlY3RvciYmKHRoaXMuc2VsZWN0b3I9YS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9YS5jb250ZXh0KSxuLm1ha2VBcnJheShhLHRoaXMpKX07Qy5wcm90b3R5cGU9bi5mbixBPW4oZCk7dmFyIEQ9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sRT17Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTtuLmZuLmV4dGVuZCh7aGFzOmZ1bmN0aW9uKGEpe3ZhciBiPW4oYSx0aGlzKSxjPWIubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2Zvcih2YXIgYT0wO2M+YTthKyspaWYobi5jb250YWlucyh0aGlzLGJbYV0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZD0wLGU9dGhpcy5sZW5ndGgsZj1bXSxnPXcudGVzdChhKXx8InN0cmluZyIhPXR5cGVvZiBhP24oYSxifHx0aGlzLmNvbnRleHQpOjA7ZT5kO2QrKylmb3IoYz10aGlzW2RdO2MmJmMhPT1iO2M9Yy5wYXJlbnROb2RlKWlmKGMubm9kZVR5cGU8MTEmJihnP2cuaW5kZXgoYyk+LTE6MT09PWMubm9kZVR5cGUmJm4uZmluZC5tYXRjaGVzU2VsZWN0b3IoYyxhKSkpe2YucHVzaChjKTticmVha31yZXR1cm4gdGhpcy5wdXNoU3RhY2soZi5sZW5ndGg+MT9uLnVuaXF1ZVNvcnQoZik6Zil9LGluZGV4OmZ1bmN0aW9uKGEpe3JldHVybiBhPyJzdHJpbmciPT10eXBlb2YgYT9oLmNhbGwobihhKSx0aGlzWzBdKTpoLmNhbGwodGhpcyxhLmpxdWVyeT9hWzBdOmEpOnRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT90aGlzLmZpcnN0KCkucHJldkFsbCgpLmxlbmd0aDotMX0sYWRkOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG4udW5pcXVlU29ydChuLm1lcmdlKHRoaXMuZ2V0KCksbihhLGIpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZChudWxsPT1hP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGEpKX19KTtmdW5jdGlvbiBGKGEsYil7d2hpbGUoKGE9YVtiXSkmJjEhPT1hLm5vZGVUeXBlKTtyZXR1cm4gYX1uLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJjExIT09Yi5ub2RlVHlwZT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIHUoYSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB1KGEsInBhcmVudE5vZGUiLGMpfSxuZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBGKGEsIm5leHRTaWJsaW5nIil9LHByZXY6ZnVuY3Rpb24oYSl7cmV0dXJuIEYoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oYSl7cmV0dXJuIHUoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdShhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdShhLCJuZXh0U2libGluZyIsYyl9LHByZXZVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHUoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIHYoKGEucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsYSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGEpe3JldHVybiB2KGEuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbnRlbnREb2N1bWVudHx8bi5tZXJnZShbXSxhLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24oYSxiKXtuLmZuW2FdPWZ1bmN0aW9uKGMsZCl7dmFyIGU9bi5tYXAodGhpcyxiLGMpO3JldHVybiJVbnRpbCIhPT1hLnNsaWNlKC01KSYmKGQ9YyksZCYmInN0cmluZyI9PXR5cGVvZiBkJiYoZT1uLmZpbHRlcihkLGUpKSx0aGlzLmxlbmd0aD4xJiYoRVthXXx8bi51bmlxdWVTb3J0KGUpLEQudGVzdChhKSYmZS5yZXZlcnNlKCkpLHRoaXMucHVzaFN0YWNrKGUpfX0pO3ZhciBHPS9cUysvZztmdW5jdGlvbiBIKGEpe3ZhciBiPXt9O3JldHVybiBuLmVhY2goYS5tYXRjaChHKXx8W10sZnVuY3Rpb24oYSxjKXtiW2NdPSEwfSksYn1uLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPSJzdHJpbmciPT10eXBlb2YgYT9IKGEpOm4uZXh0ZW5kKHt9LGEpO3ZhciBiLGMsZCxlLGY9W10sZz1bXSxoPS0xLGk9ZnVuY3Rpb24oKXtmb3IoZT1hLm9uY2UsZD1iPSEwO2cubGVuZ3RoO2g9LTEpe2M9Zy5zaGlmdCgpO3doaWxlKCsraDxmLmxlbmd0aClmW2hdLmFwcGx5KGNbMF0sY1sxXSk9PT0hMSYmYS5zdG9wT25GYWxzZSYmKGg9Zi5sZW5ndGgsYz0hMSl9YS5tZW1vcnl8fChjPSExKSxiPSExLGUmJihmPWM/W106IiIpfSxqPXthZGQ6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGMmJiFiJiYoaD1mLmxlbmd0aC0xLGcucHVzaChjKSksZnVuY3Rpb24gZChiKXtuLmVhY2goYixmdW5jdGlvbihiLGMpe24uaXNGdW5jdGlvbihjKT9hLnVuaXF1ZSYmai5oYXMoYyl8fGYucHVzaChjKTpjJiZjLmxlbmd0aCYmInN0cmluZyIhPT1uLnR5cGUoYykmJmQoYyl9KX0oYXJndW1lbnRzKSxjJiYhYiYmaSgpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gbi5lYWNoKGFyZ3VtZW50cyxmdW5jdGlvbihhLGIpe3ZhciBjO3doaWxlKChjPW4uaW5BcnJheShiLGYsYykpPi0xKWYuc3BsaWNlKGMsMSksaD49YyYmaC0tfSksdGhpc30saGFzOmZ1bmN0aW9uKGEpe3JldHVybiBhP24uaW5BcnJheShhLGYpPi0xOmYubGVuZ3RoPjB9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIGYmJihmPVtdKSx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGU9Zz1bXSxmPWM9IiIsdGhpc30sZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hZn0sbG9jazpmdW5jdGlvbigpe3JldHVybiBlPWc9W10sY3x8KGY9Yz0iIiksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFlfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiBlfHwoYz1jfHxbXSxjPVthLGMuc2xpY2U/Yy5zbGljZSgpOmNdLGcucHVzaChjKSxifHxpKCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gai5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWR9fTtyZXR1cm4gan0sbi5leHRlbmQoe0RlZmVycmVkOmZ1bmN0aW9uKGEpe3ZhciBiPVtbInJlc29sdmUiLCJkb25lIixuLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVzb2x2ZWQiXSxbInJlamVjdCIsImZhaWwiLG4uQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZWplY3RlZCJdLFsibm90aWZ5IiwicHJvZ3Jlc3MiLG4uQ2FsbGJhY2tzKCJtZW1vcnkiKV1dLGM9InBlbmRpbmciLGQ9e3N0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LGFsd2F5czpmdW5jdGlvbigpe3JldHVybiBlLmRvbmUoYXJndW1lbnRzKS5mYWlsKGFyZ3VtZW50cyksdGhpc30sdGhlbjpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cztyZXR1cm4gbi5EZWZlcnJlZChmdW5jdGlvbihjKXtuLmVhY2goYixmdW5jdGlvbihiLGYpe3ZhciBnPW4uaXNGdW5jdGlvbihhW2JdKSYmYVtiXTtlW2ZbMV1dKGZ1bmN0aW9uKCl7dmFyIGE9ZyYmZy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YSYmbi5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/YS5wcm9taXNlKCkucHJvZ3Jlc3MoYy5ub3RpZnkpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KTpjW2ZbMF0rIldpdGgiXSh0aGlzPT09ZD9jLnByb21pc2UoKTp0aGlzLGc/W2FdOmFyZ3VtZW50cyl9KX0pLGE9bnVsbH0pLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YT9uLmV4dGVuZChhLGQpOmR9fSxlPXt9O3JldHVybiBkLnBpcGU9ZC50aGVuLG4uZWFjaChiLGZ1bmN0aW9uKGEsZil7dmFyIGc9ZlsyXSxoPWZbM107ZFtmWzFdXT1nLmFkZCxoJiZnLmFkZChmdW5jdGlvbigpe2M9aH0sYlsxXmFdWzJdLmRpc2FibGUsYlsyXVsyXS5sb2NrKSxlW2ZbMF1dPWZ1bmN0aW9uKCl7cmV0dXJuIGVbZlswXSsiV2l0aCJdKHRoaXM9PT1lP2Q6dGhpcyxhcmd1bWVudHMpLHRoaXN9LGVbZlswXSsiV2l0aCJdPWcuZmlyZVdpdGh9KSxkLnByb21pc2UoZSksYSYmYS5jYWxsKGUsZSksZX0sd2hlbjpmdW5jdGlvbihhKXt2YXIgYj0wLGM9ZS5jYWxsKGFyZ3VtZW50cyksZD1jLmxlbmd0aCxmPTEhPT1kfHxhJiZuLmlzRnVuY3Rpb24oYS5wcm9taXNlKT9kOjAsZz0xPT09Zj9hOm4uRGVmZXJyZWQoKSxoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7YlthXT10aGlzLGNbYV09YXJndW1lbnRzLmxlbmd0aD4xP2UuY2FsbChhcmd1bWVudHMpOmQsYz09PWk/Zy5ub3RpZnlXaXRoKGIsYyk6LS1mfHxnLnJlc29sdmVXaXRoKGIsYyl9fSxpLGosaztpZihkPjEpZm9yKGk9bmV3IEFycmF5KGQpLGo9bmV3IEFycmF5KGQpLGs9bmV3IEFycmF5KGQpO2Q+YjtiKyspY1tiXSYmbi5pc0Z1bmN0aW9uKGNbYl0ucHJvbWlzZSk/Y1tiXS5wcm9taXNlKCkucHJvZ3Jlc3MoaChiLGosaSkpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpOi0tZjtyZXR1cm4gZnx8Zy5yZXNvbHZlV2l0aChrLGMpLGcucHJvbWlzZSgpfX0pO3ZhciBJO24uZm4ucmVhZHk9ZnVuY3Rpb24oYSl7cmV0dXJuIG4ucmVhZHkucHJvbWlzZSgpLmRvbmUoYSksdGhpc30sbi5leHRlbmQoe2lzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGEpe2E/bi5yZWFkeVdhaXQrKzpuLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oYSl7KGE9PT0hMD8tLW4ucmVhZHlXYWl0Om4uaXNSZWFkeSl8fChuLmlzUmVhZHk9ITAsYSE9PSEwJiYtLW4ucmVhZHlXYWl0PjB8fChJLnJlc29sdmVXaXRoKGQsW25dKSxuLmZuLnRyaWdnZXJIYW5kbGVyJiYobihkKS50cmlnZ2VySGFuZGxlcigicmVhZHkiKSxuKGQpLm9mZigicmVhZHkiKSkpKX19KTtmdW5jdGlvbiBKKCl7ZC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixKKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLEopLG4ucmVhZHkoKX1uLnJlYWR5LnByb21pc2U9ZnVuY3Rpb24oYil7cmV0dXJuIEl8fChJPW4uRGVmZXJyZWQoKSwiY29tcGxldGUiPT09ZC5yZWFkeVN0YXRlfHwibG9hZGluZyIhPT1kLnJlYWR5U3RhdGUmJiFkLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbD9hLnNldFRpbWVvdXQobi5yZWFkeSk6KGQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSiksYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixKKSkpLEkucHJvbWlzZShiKX0sbi5yZWFkeS5wcm9taXNlKCk7dmFyIEs9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9MCxpPWEubGVuZ3RoLGo9bnVsbD09YztpZigib2JqZWN0Ij09PW4udHlwZShjKSl7ZT0hMDtmb3IoaCBpbiBjKUsoYSxiLGgsY1toXSwhMCxmLGcpfWVsc2UgaWYodm9pZCAwIT09ZCYmKGU9ITAsbi5pc0Z1bmN0aW9uKGQpfHwoZz0hMCksaiYmKGc/KGIuY2FsbChhLGQpLGI9bnVsbCk6KGo9YixiPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gai5jYWxsKG4oYSksYyl9KSksYikpZm9yKDtpPmg7aCsrKWIoYVtoXSxjLGc/ZDpkLmNhbGwoYVtoXSxoLGIoYVtoXSxjKSkpO3JldHVybiBlP2E6aj9iLmNhbGwoYSk6aT9iKGFbMF0sYyk6Zn0sTD1mdW5jdGlvbihhKXtyZXR1cm4gMT09PWEubm9kZVR5cGV8fDk9PT1hLm5vZGVUeXBlfHwhK2Eubm9kZVR5cGV9O2Z1bmN0aW9uIE0oKXt0aGlzLmV4cGFuZG89bi5leHBhbmRvK00udWlkKyt9TS51aWQ9MSxNLnByb3RvdHlwZT17cmVnaXN0ZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHx7fTtyZXR1cm4gYS5ub2RlVHlwZT9hW3RoaXMuZXhwYW5kb109YzpPYmplY3QuZGVmaW5lUHJvcGVydHkoYSx0aGlzLmV4cGFuZG8se3ZhbHVlOmMsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksYVt0aGlzLmV4cGFuZG9dfSxjYWNoZTpmdW5jdGlvbihhKXtpZighTChhKSlyZXR1cm57fTt2YXIgYj1hW3RoaXMuZXhwYW5kb107cmV0dXJuIGJ8fChiPXt9LEwoYSkmJihhLm5vZGVUeXBlP2FbdGhpcy5leHBhbmRvXT1iOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLHRoaXMuZXhwYW5kbyx7dmFsdWU6Yixjb25maWd1cmFibGU6ITB9KSkpLGJ9LHNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZT10aGlzLmNhY2hlKGEpO2lmKCJzdHJpbmciPT10eXBlb2YgYillW2JdPWM7ZWxzZSBmb3IoZCBpbiBiKWVbZF09YltkXTtyZXR1cm4gZX0sZ2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHZvaWQgMD09PWI/dGhpcy5jYWNoZShhKTphW3RoaXMuZXhwYW5kb10mJmFbdGhpcy5leHBhbmRvXVtiXX0sYWNjZXNzOmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gdm9pZCAwPT09Ynx8YiYmInN0cmluZyI9PXR5cGVvZiBiJiZ2b2lkIDA9PT1jPyhkPXRoaXMuZ2V0KGEsYiksdm9pZCAwIT09ZD9kOnRoaXMuZ2V0KGEsbi5jYW1lbENhc2UoYikpKToodGhpcy5zZXQoYSxiLGMpLHZvaWQgMCE9PWM/YzpiKX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9YVt0aGlzLmV4cGFuZG9dO2lmKHZvaWQgMCE9PWYpe2lmKHZvaWQgMD09PWIpdGhpcy5yZWdpc3RlcihhKTtlbHNle24uaXNBcnJheShiKT9kPWIuY29uY2F0KGIubWFwKG4uY2FtZWxDYXNlKSk6KGU9bi5jYW1lbENhc2UoYiksYiBpbiBmP2Q9W2IsZV06KGQ9ZSxkPWQgaW4gZj9bZF06ZC5tYXRjaChHKXx8W10pKSxjPWQubGVuZ3RoO3doaWxlKGMtLSlkZWxldGUgZltkW2NdXX0odm9pZCAwPT09Ynx8bi5pc0VtcHR5T2JqZWN0KGYpKSYmKGEubm9kZVR5cGU/YVt0aGlzLmV4cGFuZG9dPXZvaWQgMDpkZWxldGUgYVt0aGlzLmV4cGFuZG9dKX19LGhhc0RhdGE6ZnVuY3Rpb24oYSl7dmFyIGI9YVt0aGlzLmV4cGFuZG9dO3JldHVybiB2b2lkIDAhPT1iJiYhbi5pc0VtcHR5T2JqZWN0KGIpfX07dmFyIE49bmV3IE0sTz1uZXcgTSxQPS9eKD86XHtbXHdcV10qXH18XFtbXHdcV10qXF0pJC8sUT0vW0EtWl0vZztmdW5jdGlvbiBSKGEsYixjKXt2YXIgZDtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSlpZihkPSJkYXRhLSIrYi5yZXBsYWNlKFEsIi0kJiIpLnRvTG93ZXJDYXNlKCksYz1hLmdldEF0dHJpYnV0ZShkKSwic3RyaW5nIj09dHlwZW9mIGMpe3RyeXtjPSJ0cnVlIj09PWM/ITA6ImZhbHNlIj09PWM/ITE6Im51bGwiPT09Yz9udWxsOitjKyIiPT09Yz8rYzpQLnRlc3QoYyk/bi5wYXJzZUpTT04oYyk6Y31jYXRjaChlKXt9Ty5zZXQoYSxiLGMpOworfWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9bi5leHRlbmQoe2hhc0RhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIE8uaGFzRGF0YShhKXx8Ti5oYXNEYXRhKGEpfSxkYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTy5hY2Nlc3MoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7Ty5yZW1vdmUoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBOLmFjY2VzcyhhLGIsYyl9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7Ti5yZW1vdmUoYSxiKX19KSxuLmZuLmV4dGVuZCh7ZGF0YTpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmPXRoaXNbMF0sZz1mJiZmLmF0dHJpYnV0ZXM7aWYodm9pZCAwPT09YSl7aWYodGhpcy5sZW5ndGgmJihlPU8uZ2V0KGYpLDE9PT1mLm5vZGVUeXBlJiYhTi5nZXQoZiwiaGFzRGF0YUF0dHJzIikpKXtjPWcubGVuZ3RoO3doaWxlKGMtLSlnW2NdJiYoZD1nW2NdLm5hbWUsMD09PWQuaW5kZXhPZigiZGF0YS0iKSYmKGQ9bi5jYW1lbENhc2UoZC5zbGljZSg1KSksUihmLGQsZVtkXSkpKTtOLnNldChmLCJoYXNEYXRhQXR0cnMiLCEwKX1yZXR1cm4gZX1yZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGE/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7Ty5zZXQodGhpcyxhKX0pOksodGhpcyxmdW5jdGlvbihiKXt2YXIgYyxkO2lmKGYmJnZvaWQgMD09PWIpe2lmKGM9Ty5nZXQoZixhKXx8Ty5nZXQoZixhLnJlcGxhY2UoUSwiLSQmIikudG9Mb3dlckNhc2UoKSksdm9pZCAwIT09YylyZXR1cm4gYztpZihkPW4uY2FtZWxDYXNlKGEpLGM9Ty5nZXQoZixkKSx2b2lkIDAhPT1jKXJldHVybiBjO2lmKGM9UihmLGQsdm9pZCAwKSx2b2lkIDAhPT1jKXJldHVybiBjfWVsc2UgZD1uLmNhbWVsQ2FzZShhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1PLmdldCh0aGlzLGQpO08uc2V0KHRoaXMsZCxiKSxhLmluZGV4T2YoIi0iKT4tMSYmdm9pZCAwIT09YyYmTy5zZXQodGhpcyxhLGIpfSl9LG51bGwsYixhcmd1bWVudHMubGVuZ3RoPjEsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe08ucmVtb3ZlKHRoaXMsYSl9KX19KSxuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBhPyhiPShifHwiZngiKSsicXVldWUiLGQ9Ti5nZXQoYSxiKSxjJiYoIWR8fG4uaXNBcnJheShjKT9kPU4uYWNjZXNzKGEsYixuLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW4ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bi5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXtuLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gTi5nZXQoYSxjKXx8Ti5hY2Nlc3MoYSxjLHtlbXB0eTpuLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24oKXtOLnJlbW92ZShhLFtiKyJxdWV1ZSIsY10pfSl9KX19KSxuLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bi5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1uLnF1ZXVlKHRoaXMsYSxiKTtuLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm4uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe24uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1uLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPU4uZ2V0KGZbZ10sYSsicXVldWVIb29rcyIpLGMmJmMuZW1wdHkmJihkKyssYy5lbXB0eS5hZGQoaCkpO3JldHVybiBoKCksZS5wcm9taXNlKGIpfX0pO3ZhciBTPS9bKy1dPyg/OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8uc291cmNlLFQ9bmV3IFJlZ0V4cCgiXig/OihbKy1dKT18KSgiK1MrIikoW2EteiVdKikkIiwiaSIpLFU9WyJUb3AiLCJSaWdodCIsIkJvdHRvbSIsIkxlZnQiXSxWPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9Ynx8YSwibm9uZSI9PT1uLmNzcyhhLCJkaXNwbGF5Iil8fCFuLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKX07ZnVuY3Rpb24gVyhhLGIsYyxkKXt2YXIgZSxmPTEsZz0yMCxoPWQ/ZnVuY3Rpb24oKXtyZXR1cm4gZC5jdXIoKX06ZnVuY3Rpb24oKXtyZXR1cm4gbi5jc3MoYSxiLCIiKX0saT1oKCksaj1jJiZjWzNdfHwobi5jc3NOdW1iZXJbYl0/IiI6InB4Iiksaz0obi5jc3NOdW1iZXJbYl18fCJweCIhPT1qJiYraSkmJlQuZXhlYyhuLmNzcyhhLGIpKTtpZihrJiZrWzNdIT09ail7aj1qfHxrWzNdLGM9Y3x8W10saz0raXx8MTtkbyBmPWZ8fCIuNSIsay89ZixuLnN0eWxlKGEsYixrK2opO3doaWxlKGYhPT0oZj1oKCkvaSkmJjEhPT1mJiYtLWcpfXJldHVybiBjJiYoaz0ra3x8K2l8fDAsZT1jWzFdP2srKGNbMV0rMSkqY1syXTorY1syXSxkJiYoZC51bml0PWosZC5zdGFydD1rLGQuZW5kPWUpKSxlfXZhciBYPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pLFk9LzwoW1x3Oi1dKykvLFo9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLCQ9e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLHRoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfTskLm9wdGdyb3VwPSQub3B0aW9uLCQudGJvZHk9JC50Zm9vdD0kLmNvbGdyb3VwPSQuY2FwdGlvbj0kLnRoZWFkLCQudGg9JC50ZDtmdW5jdGlvbiBfKGEsYil7dmFyIGM9InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYnx8IioiKToidW5kZWZpbmVkIiE9dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbD9hLnF1ZXJ5U2VsZWN0b3JBbGwoYnx8IioiKTpbXTtyZXR1cm4gdm9pZCAwPT09Ynx8YiYmbi5ub2RlTmFtZShhLGIpP24ubWVyZ2UoW2FdLGMpOmN9ZnVuY3Rpb24gYWEoYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspTi5zZXQoYVtjXSwiZ2xvYmFsRXZhbCIsIWJ8fE4uZ2V0KGJbY10sImdsb2JhbEV2YWwiKSl9dmFyIGJhPS88fCYjP1x3KzsvO2Z1bmN0aW9uIGNhKGEsYixjLGQsZSl7Zm9yKHZhciBmLGcsaCxpLGosayxsPWIuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLG09W10sbz0wLHA9YS5sZW5ndGg7cD5vO28rKylpZihmPWFbb10sZnx8MD09PWYpaWYoIm9iamVjdCI9PT1uLnR5cGUoZikpbi5tZXJnZShtLGYubm9kZVR5cGU/W2ZdOmYpO2Vsc2UgaWYoYmEudGVzdChmKSl7Zz1nfHxsLmFwcGVuZENoaWxkKGIuY3JlYXRlRWxlbWVudCgiZGl2IikpLGg9KFkuZXhlYyhmKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxpPSRbaF18fCQuX2RlZmF1bHQsZy5pbm5lckhUTUw9aVsxXStuLmh0bWxQcmVmaWx0ZXIoZikraVsyXSxrPWlbMF07d2hpbGUoay0tKWc9Zy5sYXN0Q2hpbGQ7bi5tZXJnZShtLGcuY2hpbGROb2RlcyksZz1sLmZpcnN0Q2hpbGQsZy50ZXh0Q29udGVudD0iIn1lbHNlIG0ucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtsLnRleHRDb250ZW50PSIiLG89MDt3aGlsZShmPW1bbysrXSlpZihkJiZuLmluQXJyYXkoZixkKT4tMSllJiZlLnB1c2goZik7ZWxzZSBpZihqPW4uY29udGFpbnMoZi5vd25lckRvY3VtZW50LGYpLGc9XyhsLmFwcGVuZENoaWxkKGYpLCJzY3JpcHQiKSxqJiZhYShnKSxjKXtrPTA7d2hpbGUoZj1nW2srK10pWi50ZXN0KGYudHlwZXx8IiIpJiZjLnB1c2goZil9cmV0dXJuIGx9IWZ1bmN0aW9uKCl7dmFyIGE9ZC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksYj1hLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudCgiZGl2IikpLGM9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Muc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxjLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxjLnNldEF0dHJpYnV0ZSgibmFtZSIsInQiKSxiLmFwcGVuZENoaWxkKGMpLGwuY2hlY2tDbG9uZT1iLmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxiLmlubmVySFRNTD0iPHRleHRhcmVhPng8L3RleHRhcmVhPiIsbC5ub0Nsb25lQ2hlY2tlZD0hIWIuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuZGVmYXVsdFZhbHVlfSgpO3ZhciBkYT0vXmtleS8sZWE9L14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLGZhPS9eKFteLl0qKSg/OlwuKC4rKXwpLztmdW5jdGlvbiBnYSgpe3JldHVybiEwfWZ1bmN0aW9uIGhhKCl7cmV0dXJuITF9ZnVuY3Rpb24gaWEoKXt0cnl7cmV0dXJuIGQuYWN0aXZlRWxlbWVudH1jYXRjaChhKXt9fWZ1bmN0aW9uIGphKGEsYixjLGQsZSxmKXt2YXIgZyxoO2lmKCJvYmplY3QiPT10eXBlb2YgYil7InN0cmluZyIhPXR5cGVvZiBjJiYoZD1kfHxjLGM9dm9pZCAwKTtmb3IoaCBpbiBiKWphKGEsaCxjLGQsYltoXSxmKTtyZXR1cm4gYX1pZihudWxsPT1kJiZudWxsPT1lPyhlPWMsZD1jPXZvaWQgMCk6bnVsbD09ZSYmKCJzdHJpbmciPT10eXBlb2YgYz8oZT1kLGQ9dm9pZCAwKTooZT1kLGQ9YyxjPXZvaWQgMCkpLGU9PT0hMSllPWhhO2Vsc2UgaWYoIWUpcmV0dXJuIGE7cmV0dXJuIDE9PT1mJiYoZz1lLGU9ZnVuY3Rpb24oYSl7cmV0dXJuIG4oKS5vZmYoYSksZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUuZ3VpZD1nLmd1aWR8fChnLmd1aWQ9bi5ndWlkKyspKSxhLmVhY2goZnVuY3Rpb24oKXtuLmV2ZW50LmFkZCh0aGlzLGIsZSxkLGMpfSl9bi5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG0sbyxwLHEscj1OLmdldChhKTtpZihyKXtjLmhhbmRsZXImJihmPWMsYz1mLmhhbmRsZXIsZT1mLnNlbGVjdG9yKSxjLmd1aWR8fChjLmd1aWQ9bi5ndWlkKyspLChpPXIuZXZlbnRzKXx8KGk9ci5ldmVudHM9e30pLChnPXIuaGFuZGxlKXx8KGc9ci5oYW5kbGU9ZnVuY3Rpb24oYil7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBuJiZuLmV2ZW50LnRyaWdnZXJlZCE9PWIudHlwZT9uLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGEsYXJndW1lbnRzKTp2b2lkIDB9KSxiPShifHwiIikubWF0Y2goRyl8fFsiIl0saj1iLmxlbmd0aDt3aGlsZShqLS0paD1mYS5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGw9bi5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2wuZGVsZWdhdGVUeXBlOmwuYmluZFR5cGUpfHxvLGw9bi5ldmVudC5zcGVjaWFsW29dfHx7fSxrPW4uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm4uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGYpLChtPWlbb10pfHwobT1pW29dPVtdLG0uZGVsZWdhdGVDb3VudD0wLGwuc2V0dXAmJmwuc2V0dXAuY2FsbChhLGQscCxnKSE9PSExfHxhLmFkZEV2ZW50TGlzdGVuZXImJmEuYWRkRXZlbnRMaXN0ZW5lcihvLGcpKSxsLmFkZCYmKGwuYWRkLmNhbGwoYSxrKSxrLmhhbmRsZXIuZ3VpZHx8KGsuaGFuZGxlci5ndWlkPWMuZ3VpZCkpLGU/bS5zcGxpY2UobS5kZWxlZ2F0ZUNvdW50KyssMCxrKTptLnB1c2goayksbi5ldmVudC5nbG9iYWxbb109ITApfX0scmVtb3ZlOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbSxvLHAscSxyPU4uaGFzRGF0YShhKSYmTi5nZXQoYSk7aWYociYmKGk9ci5ldmVudHMpKXtiPShifHwiIikubWF0Y2goRyl8fFsiIl0saj1iLmxlbmd0aDt3aGlsZShqLS0paWYoaD1mYS5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1uLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbT1pW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksZz1mPW0ubGVuZ3RoO3doaWxlKGYtLSlrPW1bZl0sIWUmJnEhPT1rLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1rLmd1aWR8fGgmJiFoLnRlc3Qoay5uYW1lc3BhY2UpfHxkJiZkIT09ay5zZWxlY3RvciYmKCIqKiIhPT1kfHwhay5zZWxlY3Rvcil8fChtLnNwbGljZShmLDEpLGsuc2VsZWN0b3ImJm0uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsaykpO2cmJiFtLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG4ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUgaVtvXSl9ZWxzZSBmb3IobyBpbiBpKW4uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bi5pc0VtcHR5T2JqZWN0KGkpJiZOLnJlbW92ZShhLCJoYW5kbGUgZXZlbnRzIil9fSxkaXNwYXRjaDpmdW5jdGlvbihhKXthPW4uZXZlbnQuZml4KGEpO3ZhciBiLGMsZCxmLGcsaD1bXSxpPWUuY2FsbChhcmd1bWVudHMpLGo9KE4uZ2V0KHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1uLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1uLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGM9MDt3aGlsZSgoZz1mLmhhbmRsZXJzW2MrK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKSghYS5ybmFtZXNwYWNlfHxhLnJuYW1lc3BhY2UudGVzdChnLm5hbWVzcGFjZSkpJiYoYS5oYW5kbGVPYmo9ZyxhLmRhdGE9Zy5kYXRhLGQ9KChuLmV2ZW50LnNwZWNpYWxbZy5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGcuaGFuZGxlcikuYXBwbHkoZi5lbGVtLGkpLHZvaWQgMCE9PWQmJihhLnJlc3VsdD1kKT09PSExJiYoYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCkpKX1yZXR1cm4gay5wb3N0RGlzcGF0Y2gmJmsucG9zdERpc3BhdGNoLmNhbGwodGhpcyxhKSxhLnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGYsZz1bXSxoPWIuZGVsZWdhdGVDb3VudCxpPWEudGFyZ2V0O2lmKGgmJmkubm9kZVR5cGUmJigiY2xpY2siIT09YS50eXBlfHxpc05hTihhLmJ1dHRvbil8fGEuYnV0dG9uPDEpKWZvcig7aSE9PXRoaXM7aT1pLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWkubm9kZVR5cGUmJihpLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1hLnR5cGUpKXtmb3IoZD1bXSxjPTA7aD5jO2MrKylmPWJbY10sZT1mLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1kW2VdJiYoZFtlXT1mLm5lZWRzQ29udGV4dD9uKGUsdGhpcykuaW5kZXgoaSk+LTE6bi5maW5kKGUsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxkW2VdJiZkLnB1c2goZik7ZC5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmR9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LHByb3BzOiJhbHRLZXkgYnViYmxlcyBjYW5jZWxhYmxlIGN0cmxLZXkgY3VycmVudFRhcmdldCBkZXRhaWwgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YS53aGljaCYmKGEud2hpY2g9bnVsbCE9Yi5jaGFyQ29kZT9iLmNoYXJDb2RlOmIua2V5Q29kZSksYX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZSxmLGc9Yi5idXR0b247cmV0dXJuIG51bGw9PWEucGFnZVgmJm51bGwhPWIuY2xpZW50WCYmKGM9YS50YXJnZXQub3duZXJEb2N1bWVudHx8ZCxlPWMuZG9jdW1lbnRFbGVtZW50LGY9Yy5ib2R5LGEucGFnZVg9Yi5jbGllbnRYKyhlJiZlLnNjcm9sbExlZnR8fGYmJmYuc2Nyb2xsTGVmdHx8MCktKGUmJmUuY2xpZW50TGVmdHx8ZiYmZi5jbGllbnRMZWZ0fHwwKSxhLnBhZ2VZPWIuY2xpZW50WSsoZSYmZS5zY3JvbGxUb3B8fGYmJmYuc2Nyb2xsVG9wfHwwKS0oZSYmZS5jbGllbnRUb3B8fGYmJmYuY2xpZW50VG9wfHwwKSksYS53aGljaHx8dm9pZCAwPT09Z3x8KGEud2hpY2g9MSZnPzE6MiZnPzM6NCZnPzI6MCksYX19LGZpeDpmdW5jdGlvbihhKXtpZihhW24uZXhwYW5kb10pcmV0dXJuIGE7dmFyIGIsYyxlLGY9YS50eXBlLGc9YSxoPXRoaXMuZml4SG9va3NbZl07aHx8KHRoaXMuZml4SG9va3NbZl09aD1lYS50ZXN0KGYpP3RoaXMubW91c2VIb29rczpkYS50ZXN0KGYpP3RoaXMua2V5SG9va3M6e30pLGU9aC5wcm9wcz90aGlzLnByb3BzLmNvbmNhdChoLnByb3BzKTp0aGlzLnByb3BzLGE9bmV3IG4uRXZlbnQoZyksYj1lLmxlbmd0aDt3aGlsZShiLS0pYz1lW2JdLGFbY109Z1tjXTtyZXR1cm4gYS50YXJnZXR8fChhLnRhcmdldD1kKSwzPT09YS50YXJnZXQubm9kZVR5cGUmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxoLmZpbHRlcj9oLmZpbHRlcihhLGcpOmF9LHNwZWNpYWw6e2xvYWQ6e25vQnViYmxlOiEwfSxmb2N1czp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzIT09aWEoKSYmdGhpcy5mb2N1cz8odGhpcy5mb2N1cygpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNpbiJ9LGJsdXI6e3RyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcz09PWlhKCkmJnRoaXMuYmx1cj8odGhpcy5ibHVyKCksITEpOnZvaWQgMH0sZGVsZWdhdGVUeXBlOiJmb2N1c291dCJ9LGNsaWNrOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuImNoZWNrYm94Ij09PXRoaXMudHlwZSYmdGhpcy5jbGljayYmbi5ub2RlTmFtZSh0aGlzLCJpbnB1dCIpPyh0aGlzLmNsaWNrKCksITEpOnZvaWQgMH0sX2RlZmF1bHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG4ubm9kZU5hbWUoYS50YXJnZXQsImEiKX19LGJlZm9yZXVubG9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKGEpe3ZvaWQgMCE9PWEucmVzdWx0JiZhLm9yaWdpbmFsRXZlbnQmJihhLm9yaWdpbmFsRXZlbnQucmV0dXJuVmFsdWU9YS5yZXN1bHQpfX19fSxuLnJlbW92ZUV2ZW50PWZ1bmN0aW9uKGEsYixjKXthLnJlbW92ZUV2ZW50TGlzdGVuZXImJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMpfSxuLkV2ZW50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBuLkV2ZW50PyhhJiZhLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1hLHRoaXMudHlwZT1hLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9YS5kZWZhdWx0UHJldmVudGVkfHx2b2lkIDA9PT1hLmRlZmF1bHRQcmV2ZW50ZWQmJmEucmV0dXJuVmFsdWU9PT0hMT9nYTpoYSk6dGhpcy50eXBlPWEsYiYmbi5leHRlbmQodGhpcyxiKSx0aGlzLnRpbWVTdGFtcD1hJiZhLnRpbWVTdGFtcHx8bi5ub3coKSx2b2lkKHRoaXNbbi5leHBhbmRvXT0hMCkpOm5ldyBuLkV2ZW50KGEsYil9LG4uRXZlbnQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpuLkV2ZW50LGlzRGVmYXVsdFByZXZlbnRlZDpoYSxpc1Byb3BhZ2F0aW9uU3RvcHBlZDpoYSxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpoYSxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1nYSxhJiZhLnByZXZlbnREZWZhdWx0KCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWdhLGEmJmEuc3RvcFByb3BhZ2F0aW9uKCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPWdhLGEmJmEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LG4uZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXtuLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybighZXx8ZSE9PWQmJiFuLmNvbnRhaW5zKGQsZSkpJiYoYS50eXBlPWYub3JpZ1R5cGUsYz1mLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iKSxjfX19KSxuLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGphKHRoaXMsYSxiLGMsZCl9LG9uZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gamEodGhpcyxhLGIsYyxkLDEpfSxvZmY6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU7aWYoYSYmYS5wcmV2ZW50RGVmYXVsdCYmYS5oYW5kbGVPYmopcmV0dXJuIGQ9YS5oYW5kbGVPYmosbihhLmRlbGVnYXRlVGFyZ2V0KS5vZmYoZC5uYW1lc3BhY2U/ZC5vcmlnVHlwZSsiLiIrZC5uYW1lc3BhY2U6ZC5vcmlnVHlwZSxkLnNlbGVjdG9yLGQuaGFuZGxlciksdGhpcztpZigib2JqZWN0Ij09dHlwZW9mIGEpe2ZvcihlIGluIGEpdGhpcy5vZmYoZSxiLGFbZV0pO3JldHVybiB0aGlzfXJldHVybihiPT09ITF8fCJmdW5jdGlvbiI9PXR5cGVvZiBiKSYmKGM9YixiPXZvaWQgMCksYz09PSExJiYoYz1oYSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC5yZW1vdmUodGhpcyxhLGMsYil9KX19KTt2YXIga2E9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSgoW1x3Oi1dKylbXj5dKilcLz4vZ2ksbGE9LzxzY3JpcHR8PHN0eWxlfDxsaW5rL2ksbWE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksbmE9L150cnVlXC8oLiopLyxvYT0vXlxzKjwhKD86XFtDREFUQVxbfC0tKXwoPzpcXVxdfC0tKT5ccyokL2c7ZnVuY3Rpb24gcGEoYSxiKXtyZXR1cm4gbi5ub2RlTmFtZShhLCJ0YWJsZSIpJiZuLm5vZGVOYW1lKDExIT09Yi5ub2RlVHlwZT9iOmIuZmlyc3RDaGlsZCwidHIiKT9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdfHxhLmFwcGVuZENoaWxkKGEub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Ym9keSIpKTphfWZ1bmN0aW9uIHFhKGEpe3JldHVybiBhLnR5cGU9KG51bGwhPT1hLmdldEF0dHJpYnV0ZSgidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24gcmEoYSl7dmFyIGI9bmEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiBzYShhLGIpe3ZhciBjLGQsZSxmLGcsaCxpLGo7aWYoMT09PWIubm9kZVR5cGUpe2lmKE4uaGFzRGF0YShhKSYmKGY9Ti5hY2Nlc3MoYSksZz1OLnNldChiLGYpLGo9Zi5ldmVudHMpKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGUgaW4gailmb3IoYz0wLGQ9altlXS5sZW5ndGg7ZD5jO2MrKyluLmV2ZW50LmFkZChiLGUsaltlXVtjXSl9Ty5oYXNEYXRhKGEpJiYoaD1PLmFjY2VzcyhhKSxpPW4uZXh0ZW5kKHt9LGgpLE8uc2V0KGIsaSkpfX1mdW5jdGlvbiB0YShhLGIpe3ZhciBjPWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsiaW5wdXQiPT09YyYmWC50ZXN0KGEudHlwZSk/Yi5jaGVja2VkPWEuY2hlY2tlZDooImlucHV0Ij09PWN8fCJ0ZXh0YXJlYSI9PT1jKSYmKGIuZGVmYXVsdFZhbHVlPWEuZGVmYXVsdFZhbHVlKX1mdW5jdGlvbiB1YShhLGIsYyxkKXtiPWYuYXBwbHkoW10sYik7dmFyIGUsZyxoLGksaixrLG09MCxvPWEubGVuZ3RoLHA9by0xLHE9YlswXSxyPW4uaXNGdW5jdGlvbihxKTtpZihyfHxvPjEmJiJzdHJpbmciPT10eXBlb2YgcSYmIWwuY2hlY2tDbG9uZSYmbWEudGVzdChxKSlyZXR1cm4gYS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBmPWEuZXEoZSk7ciYmKGJbMF09cS5jYWxsKHRoaXMsZSxmLmh0bWwoKSkpLHVhKGYsYixjLGQpfSk7aWYobyYmKGU9Y2EoYixhWzBdLm93bmVyRG9jdW1lbnQsITEsYSxkKSxnPWUuZmlyc3RDaGlsZCwxPT09ZS5jaGlsZE5vZGVzLmxlbmd0aCYmKGU9ZyksZ3x8ZCkpe2ZvcihoPW4ubWFwKF8oZSwic2NyaXB0IikscWEpLGk9aC5sZW5ndGg7bz5tO20rKylqPWUsbSE9PXAmJihqPW4uY2xvbmUoaiwhMCwhMCksaSYmbi5tZXJnZShoLF8oaiwic2NyaXB0IikpKSxjLmNhbGwoYVttXSxqLG0pO2lmKGkpZm9yKGs9aFtoLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG4ubWFwKGgscmEpLG09MDtpPm07bSsrKWo9aFttXSxaLnRlc3Qoai50eXBlfHwiIikmJiFOLmFjY2VzcyhqLCJnbG9iYWxFdmFsIikmJm4uY29udGFpbnMoayxqKSYmKGouc3JjP24uX2V2YWxVcmwmJm4uX2V2YWxVcmwoai5zcmMpOm4uZ2xvYmFsRXZhbChqLnRleHRDb250ZW50LnJlcGxhY2Uob2EsIiIpKSl9cmV0dXJuIGF9ZnVuY3Rpb24gdmEoYSxiLGMpe2Zvcih2YXIgZCxlPWI/bi5maWx0ZXIoYixhKTphLGY9MDtudWxsIT0oZD1lW2ZdKTtmKyspY3x8MSE9PWQubm9kZVR5cGV8fG4uY2xlYW5EYXRhKF8oZCkpLGQucGFyZW50Tm9kZSYmKGMmJm4uY29udGFpbnMoZC5vd25lckRvY3VtZW50LGQpJiZhYShfKGQsInNjcmlwdCIpKSxkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpO3JldHVybiBhfW4uZXh0ZW5kKHtodG1sUHJlZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2Uoa2EsIjwkMT48LyQyPiIpfSxjbG9uZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLmNsb25lTm9kZSghMCksaT1uLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZighKGwubm9DbG9uZUNoZWNrZWR8fDEhPT1hLm5vZGVUeXBlJiYxMSE9PWEubm9kZVR5cGV8fG4uaXNYTUxEb2MoYSkpKWZvcihnPV8oaCksZj1fKGEpLGQ9MCxlPWYubGVuZ3RoO2U+ZDtkKyspdGEoZltkXSxnW2RdKTtpZihiKWlmKGMpZm9yKGY9Znx8XyhhKSxnPWd8fF8oaCksZD0wLGU9Zi5sZW5ndGg7ZT5kO2QrKylzYShmW2RdLGdbZF0pO2Vsc2Ugc2EoYSxoKTtyZXR1cm4gZz1fKGgsInNjcmlwdCIpLGcubGVuZ3RoPjAmJmFhKGcsIWkmJl8oYSwic2NyaXB0IikpLGh9LGNsZWFuRGF0YTpmdW5jdGlvbihhKXtmb3IodmFyIGIsYyxkLGU9bi5ldmVudC5zcGVjaWFsLGY9MDt2b2lkIDAhPT0oYz1hW2ZdKTtmKyspaWYoTChjKSl7aWYoYj1jW04uZXhwYW5kb10pe2lmKGIuZXZlbnRzKWZvcihkIGluIGIuZXZlbnRzKWVbZF0/bi5ldmVudC5yZW1vdmUoYyxkKTpuLnJlbW92ZUV2ZW50KGMsZCxiLmhhbmRsZSk7Y1tOLmV4cGFuZG9dPXZvaWQgMH1jW08uZXhwYW5kb10mJihjW08uZXhwYW5kb109dm9pZCAwKX19fSksbi5mbi5leHRlbmQoe2RvbU1hbmlwOnVhLGRldGFjaDpmdW5jdGlvbihhKXtyZXR1cm4gdmEodGhpcyxhLCEwKX0scmVtb3ZlOmZ1bmN0aW9uKGEpe3JldHVybiB2YSh0aGlzLGEpfSx0ZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYSl7cmV0dXJuIHZvaWQgMD09PWE/bi50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5lYWNoKGZ1bmN0aW9uKCl7KDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKSYmKHRoaXMudGV4dENvbnRlbnQ9YSl9KX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdWEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXBhKHRoaXMsYSk7Yi5hcHBlbmRDaGlsZChhKX19KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiB1YSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIGI9cGEodGhpcyxhKTtiLmluc2VydEJlZm9yZShhLGIuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiB1YSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiB1YSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgYSxiPTA7bnVsbCE9KGE9dGhpc1tiXSk7YisrKTE9PT1hLm5vZGVUeXBlJiYobi5jbGVhbkRhdGEoXyhhLCExKSksYS50ZXh0Q29udGVudD0iIik7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9bnVsbD09YT8hMTphLGI9bnVsbD09Yj9hOmIsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbi5jbG9uZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gSyh0aGlzLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF18fHt9LGM9MCxkPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWEmJjE9PT1iLm5vZGVUeXBlKXJldHVybiBiLmlubmVySFRNTDtpZigic3RyaW5nIj09dHlwZW9mIGEmJiFsYS50ZXN0KGEpJiYhJFsoWS5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7YT1uLmh0bWxQcmVmaWx0ZXIoYSk7dHJ5e2Zvcig7ZD5jO2MrKyliPXRoaXNbY118fHt9LDE9PT1iLm5vZGVUeXBlJiYobi5jbGVhbkRhdGEoXyhiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPVtdO3JldHVybiB1YSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihiKXt2YXIgYz10aGlzLnBhcmVudE5vZGU7bi5pbkFycmF5KHRoaXMsYSk8MCYmKG4uY2xlYW5EYXRhKF8odGhpcykpLGMmJmMucmVwbGFjZUNoaWxkKGIsdGhpcykpfSxhKX19KSxuLmVhY2goe2FwcGVuZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJiZWZvcmUiLGluc2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihhLGIpe24uZm5bYV09ZnVuY3Rpb24oYSl7Zm9yKHZhciBjLGQ9W10sZT1uKGEpLGY9ZS5sZW5ndGgtMSxoPTA7Zj49aDtoKyspYz1oPT09Zj90aGlzOnRoaXMuY2xvbmUoITApLG4oZVtoXSlbYl0oYyksZy5hcHBseShkLGMuZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhkKX19KTt2YXIgd2EseGE9e0hUTUw6ImJsb2NrIixCT0RZOiJibG9jayJ9O2Z1bmN0aW9uIHlhKGEsYil7dmFyIGM9bihiLmNyZWF0ZUVsZW1lbnQoYSkpLmFwcGVuZFRvKGIuYm9keSksZD1uLmNzcyhjWzBdLCJkaXNwbGF5Iik7cmV0dXJuIGMuZGV0YWNoKCksZH1mdW5jdGlvbiB6YShhKXt2YXIgYj1kLGM9eGFbYV07cmV0dXJuIGN8fChjPXlhKGEsYiksIm5vbmUiIT09YyYmY3x8KHdhPSh3YXx8bigiPGlmcmFtZSBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPiIpKS5hcHBlbmRUbyhiLmRvY3VtZW50RWxlbWVudCksYj13YVswXS5jb250ZW50RG9jdW1lbnQsYi53cml0ZSgpLGIuY2xvc2UoKSxjPXlhKGEsYiksd2EuZGV0YWNoKCkpLHhhW2FdPWMpLGN9dmFyIEFhPS9ebWFyZ2luLyxCYT1uZXcgUmVnRXhwKCJeKCIrUysiKSg/IXB4KVthLXolXSskIiwiaSIpLENhPWZ1bmN0aW9uKGIpe3ZhciBjPWIub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztyZXR1cm4gYyYmYy5vcGVuZXJ8fChjPWEpLGMuZ2V0Q29tcHV0ZWRTdHlsZShiKX0sRGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPXt9O2ZvcihmIGluIGIpZ1tmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuYXBwbHkoYSxkfHxbXSk7Zm9yKGYgaW4gYilhLnN0eWxlW2ZdPWdbZl07cmV0dXJuIGV9LEVhPWQuZG9jdW1lbnRFbGVtZW50OyFmdW5jdGlvbigpe3ZhciBiLGMsZSxmLGc9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKSxoPWQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYoaC5zdHlsZSl7aC5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iY29udGVudC1ib3giLGguY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iIixsLmNsZWFyQ2xvbmVTdHlsZT0iY29udGVudC1ib3giPT09aC5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCxnLnN0eWxlLmNzc1RleHQ9ImJvcmRlcjowO3dpZHRoOjhweDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHg7cGFkZGluZzowO21hcmdpbi10b3A6MXB4O3Bvc2l0aW9uOmFic29sdXRlIixnLmFwcGVuZENoaWxkKGgpO2Z1bmN0aW9uIGkoKXtoLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO21hcmdpbjphdXRvO2JvcmRlcjoxcHg7cGFkZGluZzoxcHg7dG9wOjElO3dpZHRoOjUwJSIsaC5pbm5lckhUTUw9IiIsRWEuYXBwZW5kQ2hpbGQoZyk7dmFyIGQ9YS5nZXRDb21wdXRlZFN0eWxlKGgpO2I9IjElIiE9PWQudG9wLGY9IjJweCI9PT1kLm1hcmdpbkxlZnQsYz0iNHB4Ij09PWQud2lkdGgsaC5zdHlsZS5tYXJnaW5SaWdodD0iNTAlIixlPSI0cHgiPT09ZC5tYXJnaW5SaWdodCxFYS5yZW1vdmVDaGlsZChnKX1uLmV4dGVuZChsLHtwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGkoKSxifSxib3hTaXppbmdSZWxpYWJsZTpmdW5jdGlvbigpe3JldHVybiBudWxsPT1jJiZpKCksY30scGl4ZWxNYXJnaW5SaWdodDpmdW5jdGlvbigpe3JldHVybiBudWxsPT1jJiZpKCksZX0scmVsaWFibGVNYXJnaW5MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWMmJmkoKSxmfSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7dmFyIGIsYz1oLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudCgiZGl2IikpO3JldHVybiBjLnN0eWxlLmNzc1RleHQ9aC5zdHlsZS5jc3NUZXh0PSItd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MCIsYy5zdHlsZS5tYXJnaW5SaWdodD1jLnN0eWxlLndpZHRoPSIwIixoLnN0eWxlLndpZHRoPSIxcHgiLEVhLmFwcGVuZENoaWxkKGcpLGI9IXBhcnNlRmxvYXQoYS5nZXRDb21wdXRlZFN0eWxlKGMpLm1hcmdpblJpZ2h0KSxFYS5yZW1vdmVDaGlsZChnKSxoLnJlbW92ZUNoaWxkKGMpLGJ9fSl9fSgpO2Z1bmN0aW9uIEZhKGEsYixjKXt2YXIgZCxlLGYsZyxoPWEuc3R5bGU7cmV0dXJuIGM9Y3x8Q2EoYSksZz1jP2MuZ2V0UHJvcGVydHlWYWx1ZShiKXx8Y1tiXTp2b2lkIDAsIiIhPT1nJiZ2b2lkIDAhPT1nfHxuLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKXx8KGc9bi5zdHlsZShhLGIpKSxjJiYhbC5waXhlbE1hcmdpblJpZ2h0KCkmJkJhLnRlc3QoZykmJkFhLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9Ziksdm9pZCAwIT09Zz9nKyIiOmd9ZnVuY3Rpb24gR2EoYSxiKXtyZXR1cm57Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGEoKT92b2lkIGRlbGV0ZSB0aGlzLmdldDoodGhpcy5nZXQ9YikuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19dmFyIEhhPS9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyxJYT17cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRkZW4iLGRpc3BsYXk6ImJsb2NrIn0sSmE9e2xldHRlclNwYWNpbmc6IjAiLGZvbnRXZWlnaHQ6IjQwMCJ9LEthPVsiV2Via2l0IiwiTyIsIk1veiIsIm1zIl0sTGE9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZTtmdW5jdGlvbiBNYShhKXtpZihhIGluIExhKXJldHVybiBhO3ZhciBiPWFbMF0udG9VcHBlckNhc2UoKSthLnNsaWNlKDEpLGM9S2EubGVuZ3RoO3doaWxlKGMtLSlpZihhPUthW2NdK2IsYSBpbiBMYSlyZXR1cm4gYX1mdW5jdGlvbiBOYShhLGIsYyl7dmFyIGQ9VC5leGVjKGIpO3JldHVybiBkP01hdGgubWF4KDAsZFsyXS0oY3x8MCkpKyhkWzNdfHwicHgiKTpifWZ1bmN0aW9uIE9hKGEsYixjLGQsZSl7Zm9yKHZhciBmPWM9PT0oZD8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09PWI/MTowLGc9MDs0PmY7Zis9MikibWFyZ2luIj09PWMmJihnKz1uLmNzcyhhLGMrVVtmXSwhMCxlKSksZD8oImNvbnRlbnQiPT09YyYmKGctPW4uY3NzKGEsInBhZGRpbmciK1VbZl0sITAsZSkpLCJtYXJnaW4iIT09YyYmKGctPW4uY3NzKGEsImJvcmRlciIrVVtmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPW4uY3NzKGEsInBhZGRpbmciK1VbZl0sITAsZSksInBhZGRpbmciIT09YyYmKGcrPW4uY3NzKGEsImJvcmRlciIrVVtmXSsiV2lkdGgiLCEwLGUpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gUGEoYixjLGUpe3ZhciBmPSEwLGc9IndpZHRoIj09PWM/Yi5vZmZzZXRXaWR0aDpiLm9mZnNldEhlaWdodCxoPUNhKGIpLGk9ImJvcmRlci1ib3giPT09bi5jc3MoYiwiYm94U2l6aW5nIiwhMSxoKTtpZihkLm1zRnVsbHNjcmVlbkVsZW1lbnQmJmEudG9wIT09YSYmYi5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmKGc9TWF0aC5yb3VuZCgxMDAqYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVtjXSkpLDA+PWd8fG51bGw9PWcpe2lmKGc9RmEoYixjLGgpLCgwPmd8fG51bGw9PWcpJiYoZz1iLnN0eWxlW2NdKSxCYS50ZXN0KGcpKXJldHVybiBnO2Y9aSYmKGwuYm94U2l6aW5nUmVsaWFibGUoKXx8Zz09PWIuc3R5bGVbY10pLGc9cGFyc2VGbG9hdChnKXx8MH1yZXR1cm4gZytPYShiLGMsZXx8KGk/ImJvcmRlciI6ImNvbnRlbnQiKSxmLGgpKyJweCJ9ZnVuY3Rpb24gUWEoYSxiKXtmb3IodmFyIGMsZCxlLGY9W10sZz0wLGg9YS5sZW5ndGg7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGZbZ109Ti5nZXQoZCwib2xkZGlzcGxheSIpLGM9ZC5zdHlsZS5kaXNwbGF5LGI/KGZbZ118fCJub25lIiE9PWN8fChkLnN0eWxlLmRpc3BsYXk9IiIpLCIiPT09ZC5zdHlsZS5kaXNwbGF5JiZWKGQpJiYoZltnXT1OLmFjY2VzcyhkLCJvbGRkaXNwbGF5Iix6YShkLm5vZGVOYW1lKSkpKTooZT1WKGQpLCJub25lIj09PWMmJmV8fE4uc2V0KGQsIm9sZGRpc3BsYXkiLGU/YzpuLmNzcyhkLCJkaXNwbGF5IikpKSk7Zm9yKGc9MDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoYiYmIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYiIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fCIiOiJub25lIikpO3JldHVybiBhfW4uZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYoYil7dmFyIGM9RmEoYSwib3BhY2l0eSIpO3JldHVybiIiPT09Yz8iMSI6Y319fX0sY3NzTnVtYmVyOnthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxjb2x1bW5Db3VudDohMCxmaWxsT3BhY2l0eTohMCxmbGV4R3JvdzohMCxmbGV4U2hyaW5rOiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ImZsb2F0IjoiY3NzRmxvYXQifSxzdHlsZTpmdW5jdGlvbihhLGIsYyxkKXtpZihhJiYzIT09YS5ub2RlVHlwZSYmOCE9PWEubm9kZVR5cGUmJmEuc3R5bGUpe3ZhciBlLGYsZyxoPW4uY2FtZWxDYXNlKGIpLGk9YS5zdHlsZTtyZXR1cm4gYj1uLmNzc1Byb3BzW2hdfHwobi5jc3NQcm9wc1toXT1NYShoKXx8aCksZz1uLmNzc0hvb2tzW2JdfHxuLmNzc0hvb2tzW2hdLHZvaWQgMD09PWM/ZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl06KGY9dHlwZW9mIGMsInN0cmluZyI9PT1mJiYoZT1ULmV4ZWMoYykpJiZlWzFdJiYoYz1XKGEsYixlKSxmPSJudW1iZXIiKSxudWxsIT1jJiZjPT09YyYmKCJudW1iZXIiPT09ZiYmKGMrPWUmJmVbM118fChuLmNzc051bWJlcltoXT8iIjoicHgiKSksbC5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaVtiXT0iaW5oZXJpdCIpLGcmJiJzZXQiaW4gZyYmdm9pZCAwPT09KGM9Zy5zZXQoYSxjLGQpKXx8KGlbYl09YykpLHZvaWQgMCl9fSxjc3M6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGg9bi5jYW1lbENhc2UoYik7cmV0dXJuIGI9bi5jc3NQcm9wc1toXXx8KG4uY3NzUHJvcHNbaF09TWEoaCl8fGgpLGc9bi5jc3NIb29rc1tiXXx8bi5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihlPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWUmJihlPUZhKGEsYixkKSksIm5vcm1hbCI9PT1lJiZiIGluIEphJiYoZT1KYVtiXSksIiI9PT1jfHxjPyhmPXBhcnNlRmxvYXQoZSksYz09PSEwfHxpc0Zpbml0ZShmKT9mfHwwOmUpOmV9fSksbi5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe24uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/SGEudGVzdChuLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9EYShhLElhLGZ1bmN0aW9uKCl7cmV0dXJuIFBhKGEsYixkKX0pOlBhKGEsYixkKTp2b2lkIDB9LHNldDpmdW5jdGlvbihhLGMsZCl7dmFyIGUsZj1kJiZDYShhKSxnPWQmJk9hKGEsYixkLCJib3JkZXItYm94Ij09PW4uY3NzKGEsImJveFNpemluZyIsITEsZiksZik7cmV0dXJuIGcmJihlPVQuZXhlYyhjKSkmJiJweCIhPT0oZVszXXx8InB4IikmJihhLnN0eWxlW2JdPWMsYz1uLmNzcyhhLGIpKSxOYShhLGMsZyl9fX0pLG4uY3NzSG9va3MubWFyZ2luTGVmdD1HYShsLnJlbGlhYmxlTWFyZ2luTGVmdCxmdW5jdGlvbihhLGIpe3JldHVybiBiPyhwYXJzZUZsb2F0KEZhKGEsIm1hcmdpbkxlZnQiKSl8fGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1EYShhLHttYXJnaW5MZWZ0OjB9LGZ1bmN0aW9uKCl7cmV0dXJuIGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0pKSsicHgiOnZvaWQgMH0pLG4uY3NzSG9va3MubWFyZ2luUmlnaHQ9R2EobC5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/RGEoYSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sRmEsW2EsIm1hcmdpblJpZ2h0Il0pOnZvaWQgMH0pLG4uZWFjaCh7bWFyZ2luOiIiLHBhZGRpbmc6IiIsYm9yZGVyOiJXaWR0aCJ9LGZ1bmN0aW9uKGEsYil7bi5jc3NIb29rc1thK2JdPXtleHBhbmQ6ZnVuY3Rpb24oYyl7Zm9yKHZhciBkPTAsZT17fSxmPSJzdHJpbmciPT10eXBlb2YgYz9jLnNwbGl0KCIgIik6W2NdOzQ+ZDtkKyspZVthK1VbZF0rYl09ZltkXXx8ZltkLTJdfHxmWzBdO3JldHVybiBlfX0sQWEudGVzdChhKXx8KG4uY3NzSG9va3NbYStiXS5zZXQ9TmEpfSksbi5mbi5leHRlbmQoe2NzczpmdW5jdGlvbihhLGIpe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj17fSxnPTA7aWYobi5pc0FycmF5KGIpKXtmb3IoZD1DYShhKSxlPWIubGVuZ3RoO2U+ZztnKyspZltiW2ddXT1uLmNzcyhhLGJbZ10sITEsZCk7cmV0dXJuIGZ9cmV0dXJuIHZvaWQgMCE9PWM/bi5zdHlsZShhLGIsYyk6bi5jc3MoYSxiKX0sYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHNob3c6ZnVuY3Rpb24oKXtyZXR1cm4gUWEodGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gUWEodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihhKXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBhP2E/dGhpcy5zaG93KCk6dGhpcy5oaWRlKCk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7Vih0aGlzKT9uKHRoaXMpLnNob3coKTpuKHRoaXMpLmhpZGUoKX0pfX0pO2Z1bmN0aW9uIFJhKGEsYixjLGQsZSl7cmV0dXJuIG5ldyBSYS5wcm90b3R5cGUuaW5pdChhLGIsYyxkLGUpfW4uVHdlZW49UmEsUmEucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpSYSxpbml0OmZ1bmN0aW9uKGEsYixjLGQsZSxmKXt0aGlzLmVsZW09YSx0aGlzLnByb3A9Yyx0aGlzLmVhc2luZz1lfHxuLmVhc2luZy5fZGVmYXVsdCx0aGlzLm9wdGlvbnM9Yix0aGlzLnN0YXJ0PXRoaXMubm93PXRoaXMuY3VyKCksdGhpcy5lbmQ9ZCx0aGlzLnVuaXQ9Znx8KG4uY3NzTnVtYmVyW2NdPyIiOiJweCIpfSxjdXI6ZnVuY3Rpb24oKXt2YXIgYT1SYS5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gYSYmYS5nZXQ/YS5nZXQodGhpcyk6UmEucHJvcEhvb2tzLl9kZWZhdWx0LmdldCh0aGlzKX0scnVuOmZ1bmN0aW9uKGEpe3ZhciBiLGM9UmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIHRoaXMub3B0aW9ucy5kdXJhdGlvbj90aGlzLnBvcz1iPW4uZWFzaW5nW3RoaXMuZWFzaW5nXShhLHRoaXMub3B0aW9ucy5kdXJhdGlvbiphLDAsMSx0aGlzLm9wdGlvbnMuZHVyYXRpb24pOnRoaXMucG9zPWI9YSx0aGlzLm5vdz0odGhpcy5lbmQtdGhpcy5zdGFydCkqYit0aGlzLnN0YXJ0LHRoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKSxjJiZjLnNldD9jLnNldCh0aGlzKTpSYS5wcm9wSG9va3MuX2RlZmF1bHQuc2V0KHRoaXMpLHRoaXN9fSxSYS5wcm90b3R5cGUuaW5pdC5wcm90b3R5cGU9UmEucHJvdG90eXBlLFJhLnByb3BIb29rcz17X2RlZmF1bHQ6e2dldDpmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gMSE9PWEuZWxlbS5ub2RlVHlwZXx8bnVsbCE9YS5lbGVtW2EucHJvcF0mJm51bGw9PWEuZWxlbS5zdHlsZVthLnByb3BdP2EuZWxlbVthLnByb3BdOihiPW4uY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKX0sc2V0OmZ1bmN0aW9uKGEpe24uZnguc3RlcFthLnByb3BdP24uZnguc3RlcFthLnByb3BdKGEpOjEhPT1hLmVsZW0ubm9kZVR5cGV8fG51bGw9PWEuZWxlbS5zdHlsZVtuLmNzc1Byb3BzW2EucHJvcF1dJiYhbi5jc3NIb29rc1thLnByb3BdP2EuZWxlbVthLnByb3BdPWEubm93Om4uc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpfX19LFJhLnByb3BIb29rcy5zY3JvbGxUb3A9UmEucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sbi5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfSxfZGVmYXVsdDoic3dpbmcifSxuLmZ4PVJhLnByb3RvdHlwZS5pbml0LG4uZnguc3RlcD17fTt2YXIgU2EsVGEsVWE9L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLFZhPS9xdWV1ZUhvb2tzJC87ZnVuY3Rpb24gV2EoKXtyZXR1cm4gYS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7U2E9dm9pZCAwfSksU2E9bi5ub3coKX1mdW5jdGlvbiBYYShhLGIpe3ZhciBjLGQ9MCxlPXtoZWlnaHQ6YX07Zm9yKGI9Yj8xOjA7ND5kO2QrPTItYiljPVVbZF0sZVsibWFyZ2luIitjXT1lWyJwYWRkaW5nIitjXT1hO3JldHVybiBiJiYoZS5vcGFjaXR5PWUud2lkdGg9YSksZX1mdW5jdGlvbiBZYShhLGIsYyl7Zm9yKHZhciBkLGU9KF9hLnR3ZWVuZXJzW2JdfHxbXSkuY29uY2F0KF9hLnR3ZWVuZXJzWyIqIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIFphKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrLGw9dGhpcyxtPXt9LG89YS5zdHlsZSxwPWEubm9kZVR5cGUmJlYoYSkscT1OLmdldChhLCJmeHNob3ciKTtjLnF1ZXVlfHwoaD1uLl9xdWV1ZUhvb2tzKGEsImZ4IiksbnVsbD09aC51bnF1ZXVlZCYmKGgudW5xdWV1ZWQ9MCxpPWguZW1wdHkuZmlyZSxoLmVtcHR5LmZpcmU9ZnVuY3Rpb24oKXtoLnVucXVldWVkfHxpKCl9KSxoLnVucXVldWVkKyssbC5hbHdheXMoZnVuY3Rpb24oKXtsLmFsd2F5cyhmdW5jdGlvbigpe2gudW5xdWV1ZWQtLSxuLnF1ZXVlKGEsImZ4IikubGVuZ3RofHxoLmVtcHR5LmZpcmUoKX0pfSkpLDE9PT1hLm5vZGVUeXBlJiYoImhlaWdodCJpbiBifHwid2lkdGgiaW4gYikmJihjLm92ZXJmbG93PVtvLm92ZXJmbG93LG8ub3ZlcmZsb3dYLG8ub3ZlcmZsb3dZXSxqPW4uY3NzKGEsImRpc3BsYXkiKSxrPSJub25lIj09PWo/Ti5nZXQoYSwib2xkZGlzcGxheSIpfHx6YShhLm5vZGVOYW1lKTpqLCJpbmxpbmUiPT09ayYmIm5vbmUiPT09bi5jc3MoYSwiZmxvYXQiKSYmKG8uZGlzcGxheT0iaW5saW5lLWJsb2NrIikpLGMub3ZlcmZsb3cmJihvLm92ZXJmbG93PSJoaWRkZW4iLGwuYWx3YXlzKGZ1bmN0aW9uKCl7by5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLG8ub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0sby5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKTtmb3IoZCBpbiBiKWlmKGU9YltkXSxVYS5leGVjKGUpKXtpZihkZWxldGUgYltkXSxmPWZ8fCJ0b2dnbGUiPT09ZSxlPT09KHA/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWV8fCFxfHx2b2lkIDA9PT1xW2RdKWNvbnRpbnVlO3A9ITB9bVtkXT1xJiZxW2RdfHxuLnN0eWxlKGEsZCl9ZWxzZSBqPXZvaWQgMDtpZihuLmlzRW1wdHlPYmplY3QobSkpImlubGluZSI9PT0oIm5vbmUiPT09aj96YShhLm5vZGVOYW1lKTpqKSYmKG8uZGlzcGxheT1qKTtlbHNle3E/ImhpZGRlbiJpbiBxJiYocD1xLmhpZGRlbik6cT1OLmFjY2VzcyhhLCJmeHNob3ciLHt9KSxmJiYocS5oaWRkZW49IXApLHA/bihhKS5zaG93KCk6bC5kb25lKGZ1bmN0aW9uKCl7bihhKS5oaWRlKCl9KSxsLmRvbmUoZnVuY3Rpb24oKXt2YXIgYjtOLnJlbW92ZShhLCJmeHNob3ciKTtmb3IoYiBpbiBtKW4uc3R5bGUoYSxiLG1bYl0pfSk7Zm9yKGQgaW4gbSlnPVlhKHA/cVtkXTowLGQsbCksZCBpbiBxfHwocVtkXT1nLnN0YXJ0LHAmJihnLmVuZD1nLnN0YXJ0LGcuc3RhcnQ9IndpZHRoIj09PWR8fCJoZWlnaHQiPT09ZD8xOjApKX19ZnVuY3Rpb24gJGEoYSxiKXt2YXIgYyxkLGUsZixnO2ZvcihjIGluIGEpaWYoZD1uLmNhbWVsQ2FzZShjKSxlPWJbZF0sZj1hW2NdLG4uaXNBcnJheShmKSYmKGU9ZlsxXSxmPWFbY109ZlswXSksYyE9PWQmJihhW2RdPWYsZGVsZXRlIGFbY10pLGc9bi5jc3NIb29rc1tkXSxnJiYiZXhwYW5kImluIGcpe2Y9Zy5leHBhbmQoZiksZGVsZXRlIGFbZF07Zm9yKGMgaW4gZiljIGluIGF8fChhW2NdPWZbY10sYltjXT1lKX1lbHNlIGJbZF09ZX1mdW5jdGlvbiBfYShhLGIsYyl7dmFyIGQsZSxmPTAsZz1fYS5wcmVmaWx0ZXJzLmxlbmd0aCxoPW4uRGVmZXJyZWQoKS5hbHdheXMoZnVuY3Rpb24oKXtkZWxldGUgaS5lbGVtfSksaT1mdW5jdGlvbigpe2lmKGUpcmV0dXJuITE7Zm9yKHZhciBiPVNhfHxXYSgpLGM9TWF0aC5tYXgoMCxqLnN0YXJ0VGltZStqLmR1cmF0aW9uLWIpLGQ9Yy9qLmR1cmF0aW9ufHwwLGY9MS1kLGc9MCxpPWoudHdlZW5zLmxlbmd0aDtpPmc7ZysrKWoudHdlZW5zW2ddLnJ1bihmKTtyZXR1cm4gaC5ub3RpZnlXaXRoKGEsW2osZixjXSksMT5mJiZpP2M6KGgucmVzb2x2ZVdpdGgoYSxbal0pLCExKX0saj1oLnByb21pc2Uoe2VsZW06YSxwcm9wczpuLmV4dGVuZCh7fSxiKSxvcHRzOm4uZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpuLmVhc2luZy5fZGVmYXVsdH0sYyksb3JpZ2luYWxQcm9wZXJ0aWVzOmIsb3JpZ2luYWxPcHRpb25zOmMsc3RhcnRUaW1lOlNhfHxXYSgpLGR1cmF0aW9uOmMuZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9bi5Ud2VlbihhLGoub3B0cyxiLGMsai5vcHRzLnNwZWNpYWxFYXNpbmdbYl18fGoub3B0cy5lYXNpbmcpO3JldHVybiBqLnR3ZWVucy5wdXNoKGQpLGR9LHN0b3A6ZnVuY3Rpb24oYil7dmFyIGM9MCxkPWI/ai50d2VlbnMubGVuZ3RoOjA7aWYoZSlyZXR1cm4gdGhpcztmb3IoZT0hMDtkPmM7YysrKWoudHdlZW5zW2NdLnJ1bigxKTtyZXR1cm4gYj8oaC5ub3RpZnlXaXRoKGEsW2osMSwwXSksaC5yZXNvbHZlV2l0aChhLFtqLGJdKSk6aC5yZWplY3RXaXRoKGEsW2osYl0pLHRoaXN9fSksaz1qLnByb3BzO2ZvcigkYShrLGoub3B0cy5zcGVjaWFsRWFzaW5nKTtnPmY7ZisrKWlmKGQ9X2EucHJlZmlsdGVyc1tmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIG4uaXNGdW5jdGlvbihkLnN0b3ApJiYobi5fcXVldWVIb29rcyhqLmVsZW0sai5vcHRzLnF1ZXVlKS5zdG9wPW4ucHJveHkoZC5zdG9wLGQpKSxkO3JldHVybiBuLm1hcChrLFlhLGopLG4uaXNGdW5jdGlvbihqLm9wdHMuc3RhcnQpJiZqLm9wdHMuc3RhcnQuY2FsbChhLGopLG4uZngudGltZXIobi5leHRlbmQoaSx7ZWxlbTphLGFuaW06aixxdWV1ZTpqLm9wdHMucXVldWV9KSksai5wcm9ncmVzcyhqLm9wdHMucHJvZ3Jlc3MpLmRvbmUoai5vcHRzLmRvbmUsai5vcHRzLmNvbXBsZXRlKS5mYWlsKGoub3B0cy5mYWlsKS5hbHdheXMoai5vcHRzLmFsd2F5cyl9bi5BbmltYXRpb249bi5leHRlbmQoX2Ese3R3ZWVuZXJzOnsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpO3JldHVybiBXKGMuZWxlbSxhLFQuZXhlYyhiKSxjKSxjfV19LHR3ZWVuZXI6ZnVuY3Rpb24oYSxiKXtuLmlzRnVuY3Rpb24oYSk/KGI9YSxhPVsiKiJdKTphPWEubWF0Y2goRyk7Zm9yKHZhciBjLGQ9MCxlPWEubGVuZ3RoO2U+ZDtkKyspYz1hW2RdLF9hLnR3ZWVuZXJzW2NdPV9hLnR3ZWVuZXJzW2NdfHxbXSxfYS50d2VlbmVyc1tjXS51bnNoaWZ0KGIpfSxwcmVmaWx0ZXJzOltaYV0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9fYS5wcmVmaWx0ZXJzLnVuc2hpZnQoYSk6X2EucHJlZmlsdGVycy5wdXNoKGEpfX0pLG4uc3BlZWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEmJiJvYmplY3QiPT10eXBlb2YgYT9uLmV4dGVuZCh7fSxhKTp7Y29tcGxldGU6Y3x8IWMmJmJ8fG4uaXNGdW5jdGlvbihhKSYmYSxkdXJhdGlvbjphLGVhc2luZzpjJiZifHxiJiYhbi5pc0Z1bmN0aW9uKGIpJiZifTtyZXR1cm4gZC5kdXJhdGlvbj1uLmZ4Lm9mZj8wOiJudW1iZXIiPT10eXBlb2YgZC5kdXJhdGlvbj9kLmR1cmF0aW9uOmQuZHVyYXRpb24gaW4gbi5meC5zcGVlZHM/bi5meC5zcGVlZHNbZC5kdXJhdGlvbl06bi5meC5zcGVlZHMuX2RlZmF1bHQsKG51bGw9PWQucXVldWV8fGQucXVldWU9PT0hMCkmJihkLnF1ZXVlPSJmeCIpLGQub2xkPWQuY29tcGxldGUsZC5jb21wbGV0ZT1mdW5jdGlvbigpe24uaXNGdW5jdGlvbihkLm9sZCkmJmQub2xkLmNhbGwodGhpcyksZC5xdWV1ZSYmbi5kZXF1ZXVlKHRoaXMsZC5xdWV1ZSl9LGR9LG4uZm4uZXh0ZW5kKHtmYWRlVG86ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuZmlsdGVyKFYpLmNzcygib3BhY2l0eSIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6Yn0sYSxjLGQpfSxhbmltYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW4uaXNFbXB0eU9iamVjdChhKSxmPW4uc3BlZWQoYixjLGQpLGc9ZnVuY3Rpb24oKXt2YXIgYj1fYSh0aGlzLG4uZXh0ZW5kKHt9LGEpLGYpOyhlfHxOLmdldCh0aGlzLCJmaW5pc2giKSkmJmIuc3RvcCghMCl9O3JldHVybiBnLmZpbmlzaD1nLGV8fGYucXVldWU9PT0hMT90aGlzLmVhY2goZyk6dGhpcy5xdWV1ZShmLnF1ZXVlLGcpfSxzdG9wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1mdW5jdGlvbihhKXt2YXIgYj1hLnN0b3A7ZGVsZXRlIGEuc3RvcCxiKGMpfTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGEmJihjPWIsYj1hLGE9dm9pZCAwKSxiJiZhIT09ITEmJnRoaXMucXVldWUoYXx8ImZ4IixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9ITAsZT1udWxsIT1hJiZhKyJxdWV1ZUhvb2tzIixmPW4udGltZXJzLGc9Ti5nZXQodGhpcyk7aWYoZSlnW2VdJiZnW2VdLnN0b3AmJmQoZ1tlXSk7ZWxzZSBmb3IoZSBpbiBnKWdbZV0mJmdbZV0uc3RvcCYmVmEudGVzdChlKSYmZChnW2VdKTtmb3IoZT1mLmxlbmd0aDtlLS07KWZbZV0uZWxlbSE9PXRoaXN8fG51bGwhPWEmJmZbZV0ucXVldWUhPT1hfHwoZltlXS5hbmltLnN0b3AoYyksYj0hMSxmLnNwbGljZShlLDEpKTsoYnx8IWMpJiZuLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1OLmdldCh0aGlzKSxkPWNbYSsicXVldWUiXSxlPWNbYSsicXVldWVIb29rcyJdLGY9bi50aW1lcnMsZz1kP2QubGVuZ3RoOjA7Zm9yKGMuZmluaXNoPSEwLG4ucXVldWUodGhpcyxhLFtdKSxlJiZlLnN0b3AmJmUuc3RvcC5jYWxsKHRoaXMsITApLGI9Zi5sZW5ndGg7Yi0tOylmW2JdLmVsZW09PT10aGlzJiZmW2JdLnF1ZXVlPT09YSYmKGZbYl0uYW5pbS5zdG9wKCEwKSxmLnNwbGljZShiLDEpKTtmb3IoYj0wO2c+YjtiKyspZFtiXSYmZFtiXS5maW5pc2gmJmRbYl0uZmluaXNoLmNhbGwodGhpcyk7ZGVsZXRlIGMuZmluaXNofSl9fSksbi5lYWNoKFsidG9nZ2xlIiwic2hvdyIsImhpZGUiXSxmdW5jdGlvbihhLGIpe3ZhciBjPW4uZm5bYl07bi5mbltiXT1mdW5jdGlvbihhLGQsZSl7cmV0dXJuIG51bGw9PWF8fCJib29sZWFuIj09dHlwZW9mIGE/Yy5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hbmltYXRlKFhhKGIsITApLGEsZCxlKX19KSxuLmVhY2goe3NsaWRlRG93bjpYYSgic2hvdyIpLHNsaWRlVXA6WGEoImhpZGUiKSxzbGlkZVRvZ2dsZTpYYSgidG9nZ2xlIiksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSxmdW5jdGlvbihhLGIpe24uZm5bYV09ZnVuY3Rpb24oYSxjLGQpe3JldHVybiB0aGlzLmFuaW1hdGUoYixhLGMsZCl9fSksbi50aW1lcnM9W10sbi5meC50aWNrPWZ1bmN0aW9uKCl7dmFyIGEsYj0wLGM9bi50aW1lcnM7Zm9yKFNhPW4ubm93KCk7YjxjLmxlbmd0aDtiKyspYT1jW2JdLGEoKXx8Y1tiXSE9PWF8fGMuc3BsaWNlKGItLSwxKTtjLmxlbmd0aHx8bi5meC5zdG9wKCksU2E9dm9pZCAwfSxuLmZ4LnRpbWVyPWZ1bmN0aW9uKGEpe24udGltZXJzLnB1c2goYSksYSgpP24uZnguc3RhcnQoKTpuLnRpbWVycy5wb3AoKX0sbi5meC5pbnRlcnZhbD0xMyxuLmZ4LnN0YXJ0PWZ1bmN0aW9uKCl7VGF8fChUYT1hLnNldEludGVydmFsKG4uZngudGljayxuLmZ4LmludGVydmFsKSl9LG4uZnguc3RvcD1mdW5jdGlvbigpe2EuY2xlYXJJbnRlcnZhbChUYSksVGE9bnVsbH0sbi5meC5zcGVlZHM9e3Nsb3c6NjAwLGZhc3Q6MjAwLF9kZWZhdWx0OjQwMH0sbi5mbi5kZWxheT1mdW5jdGlvbihiLGMpe3JldHVybiBiPW4uZng/bi5meC5zcGVlZHNbYl18fGI6YixjPWN8fCJmeCIsdGhpcy5xdWV1ZShjLGZ1bmN0aW9uKGMsZCl7dmFyIGU9YS5zZXRUaW1lb3V0KGMsYik7ZC5zdG9wPWZ1bmN0aW9uKCl7YS5jbGVhclRpbWVvdXQoZSl9fSl9LGZ1bmN0aW9uKCl7dmFyIGE9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGI9ZC5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKSxjPWIuYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKSk7YS50eXBlPSJjaGVja2JveCIsbC5jaGVja09uPSIiIT09YS52YWx1ZSxsLm9wdFNlbGVjdGVkPWMuc2VsZWN0ZWQsYi5kaXNhYmxlZD0hMCxsLm9wdERpc2FibGVkPSFjLmRpc2FibGVkLGE9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGEudmFsdWU9InQiLGEudHlwZT0icmFkaW8iLGwucmFkaW9WYWx1ZT0idCI9PT1hLnZhbHVlfSgpO3ZhciBhYixiYj1uLmV4cHIuYXR0ckhhbmRsZTtuLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIpe3JldHVybiBLKHRoaXMsbi5hdHRyLGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLnJlbW92ZUF0dHIodGhpcyxhKX0pfX0pLG4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9YS5ub2RlVHlwZTtpZigzIT09ZiYmOCE9PWYmJjIhPT1mKXJldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgYS5nZXRBdHRyaWJ1dGU/bi5wcm9wKGEsYixjKTooMT09PWYmJm4uaXNYTUxEb2MoYSl8fChiPWIudG9Mb3dlckNhc2UoKSxlPW4uYXR0ckhvb2tzW2JdfHwobi5leHByLm1hdGNoLmJvb2wudGVzdChiKT9hYjp2b2lkIDApKSx2b2lkIDAhPT1jP251bGw9PT1jP3ZvaWQgbi5yZW1vdmVBdHRyKGEsYik6ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6KGEuc2V0QXR0cmlidXRlKGIsYysiIiksYyk6ZSYmImdldCJpbiBlJiZudWxsIT09KGQ9ZS5nZXQoYSxiKSk/ZDooZD1uLmZpbmQuYXR0cihhLGIpLG51bGw9PWQ/dm9pZCAwOmQpKX0sYXR0ckhvb2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24oYSxiKXtpZighbC5yYWRpb1ZhbHVlJiYicmFkaW8iPT09YiYmbi5ub2RlTmFtZShhLCJpbnB1dCIpKXt2YXIgYz1hLnZhbHVlO3JldHVybiBhLnNldEF0dHJpYnV0ZSgidHlwZSIsYiksYyYmKGEudmFsdWU9YyksYn19fX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZT0wLGY9YiYmYi5tYXRjaChHKTtpZihmJiYxPT09YS5ub2RlVHlwZSl3aGlsZShjPWZbZSsrXSlkPW4ucHJvcEZpeFtjXXx8YyxuLmV4cHIubWF0Y2guYm9vbC50ZXN0KGMpJiYoYVtkXT0hMSksYS5yZW1vdmVBdHRyaWJ1dGUoYyl9fSksYWI9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT0hMT9uLnJlbW92ZUF0dHIoYSxjKTphLnNldEF0dHJpYnV0ZShjLGMpLGN9fSxuLmVhY2gobi5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cdysvZyksZnVuY3Rpb24oYSxiKXt2YXIgYz1iYltiXXx8bi5maW5kLmF0dHI7YmJbYl09ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7cmV0dXJuIGR8fChmPWJiW2JdLGJiW2JdPWUsZT1udWxsIT1jKGEsYixkKT9iLnRvTG93ZXJDYXNlKCk6bnVsbCxiYltiXT1mKSxlfX0pO3ZhciBjYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLGRiPS9eKD86YXxhcmVhKSQvaTtuLmZuLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihhLGIpe3JldHVybiBLKHRoaXMsbi5wcm9wLGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkZWxldGUgdGhpc1tuLnByb3BGaXhbYV18fGFdfSl9fSksbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1hLm5vZGVUeXBlO2lmKDMhPT1mJiY4IT09ZiYmMiE9PWYpcmV0dXJuIDE9PT1mJiZuLmlzWE1MRG9jKGEpfHwoYj1uLnByb3BGaXhbYl18fGIsCitlPW4ucHJvcEhvb2tzW2JdKSx2b2lkIDAhPT1jP2UmJiJzZXQiaW4gZSYmdm9pZCAwIT09KGQ9ZS5zZXQoYSxjLGIpKT9kOmFbYl09YzplJiYiZ2V0ImluIGUmJm51bGwhPT0oZD1lLmdldChhLGIpKT9kOmFbYl19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbihhKXt2YXIgYj1uLmZpbmQuYXR0cihhLCJ0YWJpbmRleCIpO3JldHVybiBiP3BhcnNlSW50KGIsMTApOmNiLnRlc3QoYS5ub2RlTmFtZSl8fGRiLnRlc3QoYS5ub2RlTmFtZSkmJmEuaHJlZj8wOi0xfX19LHByb3BGaXg6eyJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUifX0pLGwub3B0U2VsZWN0ZWR8fChuLnByb3BIb29rcy5zZWxlY3RlZD17Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtyZXR1cm4gYiYmYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxudWxsfX0pLG4uZWFjaChbInRhYkluZGV4IiwicmVhZE9ubHkiLCJtYXhMZW5ndGgiLCJjZWxsU3BhY2luZyIsImNlbGxQYWRkaW5nIiwicm93U3BhbiIsImNvbFNwYW4iLCJ1c2VNYXAiLCJmcmFtZUJvcmRlciIsImNvbnRlbnRFZGl0YWJsZSJdLGZ1bmN0aW9uKCl7bi5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pO3ZhciBlYj0vW1x0XHJcblxmXS9nO2Z1bmN0aW9uIGZiKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifW4uZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpPTA7aWYobi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bih0aGlzKS5hZGRDbGFzcyhhLmNhbGwodGhpcyxiLGZiKHRoaXMpKSl9KTtpZigic3RyaW5nIj09dHlwZW9mIGEmJmEpe2I9YS5tYXRjaChHKXx8W107d2hpbGUoYz10aGlzW2krK10paWYoZT1mYihjKSxkPTE9PT1jLm5vZGVUeXBlJiYoIiAiK2UrIiAiKS5yZXBsYWNlKGViLCIgIikpe2c9MDt3aGlsZShmPWJbZysrXSlkLmluZGV4T2YoIiAiK2YrIiAiKTwwJiYoZCs9ZisiICIpO2g9bi50cmltKGQpLGUhPT1oJiZjLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGgpfX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsaT0wO2lmKG4uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykucmVtb3ZlQ2xhc3MoYS5jYWxsKHRoaXMsYixmYih0aGlzKSkpfSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cigiY2xhc3MiLCIiKTtpZigic3RyaW5nIj09dHlwZW9mIGEmJmEpe2I9YS5tYXRjaChHKXx8W107d2hpbGUoYz10aGlzW2krK10paWYoZT1mYihjKSxkPTE9PT1jLm5vZGVUeXBlJiYoIiAiK2UrIiAiKS5yZXBsYWNlKGViLCIgIikpe2c9MDt3aGlsZShmPWJbZysrXSl3aGlsZShkLmluZGV4T2YoIiAiK2YrIiAiKT4tMSlkPWQucmVwbGFjZSgiICIrZisiICIsIiAiKTtoPW4udHJpbShkKSxlIT09aCYmYy5zZXRBdHRyaWJ1dGUoImNsYXNzIixoKX19cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9mIGE7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYiYmInN0cmluZyI9PT1jP2I/dGhpcy5hZGRDbGFzcyhhKTp0aGlzLnJlbW92ZUNsYXNzKGEpOm4uaXNGdW5jdGlvbihhKT90aGlzLmVhY2goZnVuY3Rpb24oYyl7bih0aGlzKS50b2dnbGVDbGFzcyhhLmNhbGwodGhpcyxjLGZiKHRoaXMpLGIpLGIpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsZCxlLGY7aWYoInN0cmluZyI9PT1jKXtkPTAsZT1uKHRoaXMpLGY9YS5tYXRjaChHKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZSh2b2lkIDA9PT1hfHwiYm9vbGVhbiI9PT1jKSYmKGI9ZmIodGhpcyksYiYmTi5zZXQodGhpcywiX19jbGFzc05hbWVfXyIsYiksdGhpcy5zZXRBdHRyaWJ1dGUmJnRoaXMuc2V0QXR0cmlidXRlKCJjbGFzcyIsYnx8YT09PSExPyIiOk4uZ2V0KHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpKX0pfSxoYXNDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQ9MDtiPSIgIithKyIgIjt3aGlsZShjPXRoaXNbZCsrXSlpZigxPT09Yy5ub2RlVHlwZSYmKCIgIitmYihjKSsiICIpLnJlcGxhY2UoZWIsIiAiKS5pbmRleE9mKGIpPi0xKXJldHVybiEwO3JldHVybiExfX0pO3ZhciBnYj0vXHIvZztuLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bi5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG4odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjpuLmlzQXJyYXkoZSkmJihlPW4ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW4udmFsSG9va3NbdGhpcy50eXBlXXx8bi52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW4udmFsSG9va3NbZS50eXBlXXx8bi52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UoZ2IsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG4uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG4udHJpbShhLnZhbHVlKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYixjLGQ9YS5vcHRpb25zLGU9YS5zZWxlY3RlZEluZGV4LGY9InNlbGVjdC1vbmUiPT09YS50eXBlfHwwPmUsZz1mP251bGw6W10saD1mP2UrMTpkLmxlbmd0aCxpPTA+ZT9oOmY/ZTowO2g+aTtpKyspaWYoYz1kW2ldLChjLnNlbGVjdGVkfHxpPT09ZSkmJihsLm9wdERpc2FibGVkPyFjLmRpc2FibGVkOm51bGw9PT1jLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKSkmJighYy5wYXJlbnROb2RlLmRpc2FibGVkfHwhbi5ub2RlTmFtZShjLnBhcmVudE5vZGUsIm9wdGdyb3VwIikpKXtpZihiPW4oYykudmFsKCksZilyZXR1cm4gYjtnLnB1c2goYil9cmV0dXJuIGd9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZT1hLm9wdGlvbnMsZj1uLm1ha2VBcnJheShiKSxnPWUubGVuZ3RoO3doaWxlKGctLSlkPWVbZ10sKGQuc2VsZWN0ZWQ9bi5pbkFycmF5KG4udmFsSG9va3Mub3B0aW9uLmdldChkKSxmKT4tMSkmJihjPSEwKTtyZXR1cm4gY3x8KGEuc2VsZWN0ZWRJbmRleD0tMSksZn19fX0pLG4uZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe24udmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbihhLGIpe3JldHVybiBuLmlzQXJyYXkoYik/YS5jaGVja2VkPW4uaW5BcnJheShuKGEpLnZhbCgpLGIpPi0xOnZvaWQgMH19LGwuY2hlY2tPbnx8KG4udmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIik/Im9uIjphLnZhbHVlfSl9KTt2YXIgaGI9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvO24uZXh0ZW5kKG4uZXZlbnQse3RyaWdnZXI6ZnVuY3Rpb24oYixjLGUsZil7dmFyIGcsaCxpLGosbCxtLG8scD1bZXx8ZF0scT1rLmNhbGwoYiwidHlwZSIpP2IudHlwZTpiLHI9ay5jYWxsKGIsIm5hbWVzcGFjZSIpP2IubmFtZXNwYWNlLnNwbGl0KCIuIik6W107aWYoaD1pPWU9ZXx8ZCwzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJiFoYi50ZXN0KHErbi5ldmVudC50cmlnZ2VyZWQpJiYocS5pbmRleE9mKCIuIik+LTEmJihyPXEuc3BsaXQoIi4iKSxxPXIuc2hpZnQoKSxyLnNvcnQoKSksbD1xLmluZGV4T2YoIjoiKTwwJiYib24iK3EsYj1iW24uZXhwYW5kb10/YjpuZXcgbi5FdmVudChxLCJvYmplY3QiPT10eXBlb2YgYiYmYiksYi5pc1RyaWdnZXI9Zj8yOjMsYi5uYW1lc3BhY2U9ci5qb2luKCIuIiksYi5ybmFtZXNwYWNlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Iuam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1lKSxjPW51bGw9PWM/W2JdOm4ubWFrZUFycmF5KGMsW2JdKSxvPW4uZXZlbnQuc3BlY2lhbFtxXXx8e30sZnx8IW8udHJpZ2dlcnx8by50cmlnZ2VyLmFwcGx5KGUsYykhPT0hMSkpe2lmKCFmJiYhby5ub0J1YmJsZSYmIW4uaXNXaW5kb3coZSkpe2ZvcihqPW8uZGVsZWdhdGVUeXBlfHxxLGhiLnRlc3QoaitxKXx8KGg9aC5wYXJlbnROb2RlKTtoO2g9aC5wYXJlbnROb2RlKXAucHVzaChoKSxpPWg7aT09PShlLm93bmVyRG9jdW1lbnR8fGQpJiZwLnB1c2goaS5kZWZhdWx0Vmlld3x8aS5wYXJlbnRXaW5kb3d8fGEpfWc9MDt3aGlsZSgoaD1wW2crK10pJiYhYi5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWIudHlwZT1nPjE/ajpvLmJpbmRUeXBlfHxxLG09KE4uZ2V0KGgsImV2ZW50cyIpfHx7fSlbYi50eXBlXSYmTi5nZXQoaCwiaGFuZGxlIiksbSYmbS5hcHBseShoLGMpLG09bCYmaFtsXSxtJiZtLmFwcGx5JiZMKGgpJiYoYi5yZXN1bHQ9bS5hcHBseShoLGMpLGIucmVzdWx0PT09ITEmJmIucHJldmVudERlZmF1bHQoKSk7cmV0dXJuIGIudHlwZT1xLGZ8fGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fG8uX2RlZmF1bHQmJm8uX2RlZmF1bHQuYXBwbHkocC5wb3AoKSxjKSE9PSExfHwhTChlKXx8bCYmbi5pc0Z1bmN0aW9uKGVbcV0pJiYhbi5pc1dpbmRvdyhlKSYmKGk9ZVtsXSxpJiYoZVtsXT1udWxsKSxuLmV2ZW50LnRyaWdnZXJlZD1xLGVbcV0oKSxuLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsaSYmKGVbbF09aSkpLGIucmVzdWx0fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW4uZXh0ZW5kKG5ldyBuLkV2ZW50LGMse3R5cGU6YSxpc1NpbXVsYXRlZDohMH0pO24uZXZlbnQudHJpZ2dlcihkLG51bGwsYiksZC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50RGVmYXVsdCgpfX0pLG4uZm4uZXh0ZW5kKHt0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe24uZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzWzBdO3JldHVybiBjP24uZXZlbnQudHJpZ2dlcihhLGIsYywhMCk6dm9pZCAwfX0pLG4uZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe24uZm5bYl09ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfX0pLG4uZm4uZXh0ZW5kKHtob3ZlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShifHxhKX19KSxsLmZvY3VzaW49Im9uZm9jdXNpbiJpbiBhLGwuZm9jdXNpbnx8bi5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGEpe24uZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxuLmV2ZW50LmZpeChhKSl9O24uZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1OLmFjY2VzcyhkLGIpO2V8fGQuYWRkRXZlbnRMaXN0ZW5lcihhLGMsITApLE4uYWNjZXNzKGQsYiwoZXx8MCkrMSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLGU9Ti5hY2Nlc3MoZCxiKS0xO2U/Ti5hY2Nlc3MoZCxiLGUpOihkLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxjLCEwKSxOLnJlbW92ZShkLGIpKX19fSk7dmFyIGliPWEubG9jYXRpb24samI9bi5ub3coKSxrYj0vXD8vO24ucGFyc2VKU09OPWZ1bmN0aW9uKGEpe3JldHVybiBKU09OLnBhcnNlKGErIiIpfSxuLnBhcnNlWE1MPWZ1bmN0aW9uKGIpe3ZhciBjO2lmKCFifHwic3RyaW5nIiE9dHlwZW9mIGIpcmV0dXJuIG51bGw7dHJ5e2M9KG5ldyBhLkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGIsInRleHQveG1sIil9Y2F0Y2goZCl7Yz12b2lkIDB9cmV0dXJuKCFjfHxjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aCkmJm4uZXJyb3IoIkludmFsaWQgWE1MOiAiK2IpLGN9O3ZhciBsYj0vIy4qJC8sbWI9LyhbPyZdKV89W14mXSovLG5iPS9eKC4qPyk6WyBcdF0qKFteXHJcbl0qKSQvZ20sb2I9L14oPzphYm91dHxhcHB8YXBwLXN0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8scGI9L14oPzpHRVR8SEVBRCkkLyxxYj0vXlwvXC8vLHJiPXt9LHNiPXt9LHRiPSIqLyIuY29uY2F0KCIqIiksdWI9ZC5jcmVhdGVFbGVtZW50KCJhIik7dWIuaHJlZj1pYi5ocmVmO2Z1bmN0aW9uIHZiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEcpfHxbXTtpZihuLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZFswXT8oZD1kLnNsaWNlKDEpfHwiKiIsKGFbZF09YVtkXXx8W10pLnVuc2hpZnQoYykpOihhW2RdPWFbZF18fFtdKS5wdXNoKGMpfX1mdW5jdGlvbiB3YihhLGIsYyxkKXt2YXIgZT17fSxmPWE9PT1zYjtmdW5jdGlvbiBnKGgpe3ZhciBpO3JldHVybiBlW2hdPSEwLG4uZWFjaChhW2hdfHxbXSxmdW5jdGlvbihhLGgpe3ZhciBqPWgoYixjLGQpO3JldHVybiJzdHJpbmciIT10eXBlb2Yganx8Znx8ZVtqXT9mPyEoaT1qKTp2b2lkIDA6KGIuZGF0YVR5cGVzLnVuc2hpZnQoaiksZyhqKSwhMSl9KSxpfXJldHVybiBnKGIuZGF0YVR5cGVzWzBdKXx8IWVbIioiXSYmZygiKiIpfWZ1bmN0aW9uIHhiKGEsYil7dmFyIGMsZCxlPW4uYWpheFNldHRpbmdzLmZsYXRPcHRpb25zfHx7fTtmb3IoYyBpbiBiKXZvaWQgMCE9PWJbY10mJigoZVtjXT9hOmR8fChkPXt9KSlbY109YltjXSk7cmV0dXJuIGQmJm4uZXh0ZW5kKCEwLGEsZCksYX1mdW5jdGlvbiB5YihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLmNvbnRlbnRzLGk9YS5kYXRhVHlwZXM7d2hpbGUoIioiPT09aVswXSlpLnNoaWZ0KCksdm9pZCAwPT09ZCYmKGQ9YS5taW1lVHlwZXx8Yi5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIikpO2lmKGQpZm9yKGUgaW4gaClpZihoW2VdJiZoW2VdLnRlc3QoZCkpe2kudW5zaGlmdChlKTticmVha31pZihpWzBdaW4gYylmPWlbMF07ZWxzZXtmb3IoZSBpbiBjKXtpZighaVswXXx8YS5jb252ZXJ0ZXJzW2UrIiAiK2lbMF1dKXtmPWU7YnJlYWt9Z3x8KGc9ZSl9Zj1mfHxnfXJldHVybiBmPyhmIT09aVswXSYmaS51bnNoaWZ0KGYpLGNbZl0pOnZvaWQgMH1mdW5jdGlvbiB6YihhLGIsYyxkKXt2YXIgZSxmLGcsaCxpLGo9e30saz1hLmRhdGFUeXBlcy5zbGljZSgpO2lmKGtbMV0pZm9yKGcgaW4gYS5jb252ZXJ0ZXJzKWpbZy50b0xvd2VyQ2FzZSgpXT1hLmNvbnZlcnRlcnNbZ107Zj1rLnNoaWZ0KCk7d2hpbGUoZilpZihhLnJlc3BvbnNlRmllbGRzW2ZdJiYoY1thLnJlc3BvbnNlRmllbGRzW2ZdXT1iKSwhaSYmZCYmYS5kYXRhRmlsdGVyJiYoYj1hLmRhdGFGaWx0ZXIoYixhLmRhdGFUeXBlKSksaT1mLGY9ay5zaGlmdCgpKWlmKCIqIj09PWYpZj1pO2Vsc2UgaWYoIioiIT09aSYmaSE9PWYpe2lmKGc9altpKyIgIitmXXx8alsiKiAiK2ZdLCFnKWZvcihlIGluIGopaWYoaD1lLnNwbGl0KCIgIiksaFsxXT09PWYmJihnPWpbaSsiICIraFswXV18fGpbIiogIitoWzBdXSkpe2c9PT0hMD9nPWpbZV06altlXSE9PSEwJiYoZj1oWzBdLGsudW5zaGlmdChoWzFdKSk7YnJlYWt9aWYoZyE9PSEwKWlmKGcmJmFbInRocm93cyJdKWI9ZyhiKTtlbHNlIHRyeXtiPWcoYil9Y2F0Y2gobCl7cmV0dXJue3N0YXRlOiJwYXJzZXJlcnJvciIsZXJyb3I6Zz9sOiJObyBjb252ZXJzaW9uIGZyb20gIitpKyIgdG8gIitmfX19cmV0dXJue3N0YXRlOiJzdWNjZXNzIixkYXRhOmJ9fW4uZXh0ZW5kKHthY3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fSxhamF4U2V0dGluZ3M6e3VybDppYi5ocmVmLHR5cGU6IkdFVCIsaXNMb2NhbDpvYi50ZXN0KGliLnByb3RvY29sKSxnbG9iYWw6ITAscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCIsYWNjZXB0czp7IioiOnRiLHRleHQ6InRleHQvcGxhaW4iLGh0bWw6InRleHQvaHRtbCIseG1sOiJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIixqc29uOiJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2phdmFzY3JpcHQifSxjb250ZW50czp7eG1sOi9cYnhtbFxiLyxodG1sOi9cYmh0bWwvLGpzb246L1xianNvblxiL30scmVzcG9uc2VGaWVsZHM6e3htbDoicmVzcG9uc2VYTUwiLHRleHQ6InJlc3BvbnNlVGV4dCIsanNvbjoicmVzcG9uc2VKU09OIn0sY29udmVydGVyczp7IiogdGV4dCI6U3RyaW5nLCJ0ZXh0IGh0bWwiOiEwLCJ0ZXh0IGpzb24iOm4ucGFyc2VKU09OLCJ0ZXh0IHhtbCI6bi5wYXJzZVhNTH0sZmxhdE9wdGlvbnM6e3VybDohMCxjb250ZXh0OiEwfX0sYWpheFNldHVwOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/eGIoeGIoYSxuLmFqYXhTZXR0aW5ncyksYik6eGIobi5hamF4U2V0dGluZ3MsYSl9LGFqYXhQcmVmaWx0ZXI6dmIocmIpLGFqYXhUcmFuc3BvcnQ6dmIoc2IpLGFqYXg6ZnVuY3Rpb24oYixjKXsib2JqZWN0Ij09dHlwZW9mIGImJihjPWIsYj12b2lkIDApLGM9Y3x8e307dmFyIGUsZixnLGgsaSxqLGssbCxtPW4uYWpheFNldHVwKHt9LGMpLG89bS5jb250ZXh0fHxtLHA9bS5jb250ZXh0JiYoby5ub2RlVHlwZXx8by5qcXVlcnkpP24obyk6bi5ldmVudCxxPW4uRGVmZXJyZWQoKSxyPW4uQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLHM9bS5zdGF0dXNDb2RlfHx7fSx0PXt9LHU9e30sdj0wLHc9ImNhbmNlbGVkIix4PXtyZWFkeVN0YXRlOjAsZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oYSl7dmFyIGI7aWYoMj09PXYpe2lmKCFoKXtoPXt9O3doaWxlKGI9bmIuZXhlYyhnKSloW2JbMV0udG9Mb3dlckNhc2UoKV09YlsyXX1iPWhbYS50b0xvd2VyQ2FzZSgpXX1yZXR1cm4gbnVsbD09Yj9udWxsOmJ9LGdldEFsbFJlc3BvbnNlSGVhZGVyczpmdW5jdGlvbigpe3JldHVybiAyPT09dj9nOm51bGx9LHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHZ8fChhPXVbY109dVtjXXx8YSx0W2FdPWIpLHRoaXN9LG92ZXJyaWRlTWltZVR5cGU6ZnVuY3Rpb24oYSl7cmV0dXJuIHZ8fChtLm1pbWVUeXBlPWEpLHRoaXN9LHN0YXR1c0NvZGU6ZnVuY3Rpb24oYSl7dmFyIGI7aWYoYSlpZigyPnYpZm9yKGIgaW4gYSlzW2JdPVtzW2JdLGFbYl1dO2Vsc2UgeC5hbHdheXMoYVt4LnN0YXR1c10pO3JldHVybiB0aGlzfSxhYm9ydDpmdW5jdGlvbihhKXt2YXIgYj1hfHx3O3JldHVybiBlJiZlLmFib3J0KGIpLHooMCxiKSx0aGlzfX07aWYocS5wcm9taXNlKHgpLmNvbXBsZXRlPXIuYWRkLHguc3VjY2Vzcz14LmRvbmUseC5lcnJvcj14LmZhaWwsbS51cmw9KChifHxtLnVybHx8aWIuaHJlZikrIiIpLnJlcGxhY2UobGIsIiIpLnJlcGxhY2UocWIsaWIucHJvdG9jb2wrIi8vIiksbS50eXBlPWMubWV0aG9kfHxjLnR5cGV8fG0ubWV0aG9kfHxtLnR5cGUsbS5kYXRhVHlwZXM9bi50cmltKG0uZGF0YVR5cGV8fCIqIikudG9Mb3dlckNhc2UoKS5tYXRjaChHKXx8WyIiXSxudWxsPT1tLmNyb3NzRG9tYWluKXtqPWQuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtqLmhyZWY9bS51cmwsai5ocmVmPWouaHJlZixtLmNyb3NzRG9tYWluPXViLnByb3RvY29sKyIvLyIrdWIuaG9zdCE9ai5wcm90b2NvbCsiLy8iK2ouaG9zdH1jYXRjaCh5KXttLmNyb3NzRG9tYWluPSEwfX1pZihtLmRhdGEmJm0ucHJvY2Vzc0RhdGEmJiJzdHJpbmciIT10eXBlb2YgbS5kYXRhJiYobS5kYXRhPW4ucGFyYW0obS5kYXRhLG0udHJhZGl0aW9uYWwpKSx3YihyYixtLGMseCksMj09PXYpcmV0dXJuIHg7az1uLmV2ZW50JiZtLmdsb2JhbCxrJiYwPT09bi5hY3RpdmUrKyYmbi5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKSxtLnR5cGU9bS50eXBlLnRvVXBwZXJDYXNlKCksbS5oYXNDb250ZW50PSFwYi50ZXN0KG0udHlwZSksZj1tLnVybCxtLmhhc0NvbnRlbnR8fChtLmRhdGEmJihmPW0udXJsKz0oa2IudGVzdChmKT8iJiI6Ij8iKSttLmRhdGEsZGVsZXRlIG0uZGF0YSksbS5jYWNoZT09PSExJiYobS51cmw9bWIudGVzdChmKT9mLnJlcGxhY2UobWIsIiQxXz0iK2piKyspOmYrKGtiLnRlc3QoZik/IiYiOiI/IikrIl89IitqYisrKSksbS5pZk1vZGlmaWVkJiYobi5sYXN0TW9kaWZpZWRbZl0mJnguc2V0UmVxdWVzdEhlYWRlcigiSWYtTW9kaWZpZWQtU2luY2UiLG4ubGFzdE1vZGlmaWVkW2ZdKSxuLmV0YWdbZl0mJnguc2V0UmVxdWVzdEhlYWRlcigiSWYtTm9uZS1NYXRjaCIsbi5ldGFnW2ZdKSksKG0uZGF0YSYmbS5oYXNDb250ZW50JiZtLmNvbnRlbnRUeXBlIT09ITF8fGMuY29udGVudFR5cGUpJiZ4LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsbS5jb250ZW50VHlwZSkseC5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLG0uZGF0YVR5cGVzWzBdJiZtLmFjY2VwdHNbbS5kYXRhVHlwZXNbMF1dP20uYWNjZXB0c1ttLmRhdGFUeXBlc1swXV0rKCIqIiE9PW0uZGF0YVR5cGVzWzBdPyIsICIrdGIrIjsgcT0wLjAxIjoiIik6bS5hY2NlcHRzWyIqIl0pO2ZvcihsIGluIG0uaGVhZGVycyl4LnNldFJlcXVlc3RIZWFkZXIobCxtLmhlYWRlcnNbbF0pO2lmKG0uYmVmb3JlU2VuZCYmKG0uYmVmb3JlU2VuZC5jYWxsKG8seCxtKT09PSExfHwyPT09dikpcmV0dXJuIHguYWJvcnQoKTt3PSJhYm9ydCI7Zm9yKGwgaW57c3VjY2VzczoxLGVycm9yOjEsY29tcGxldGU6MX0peFtsXShtW2xdKTtpZihlPXdiKHNiLG0sYyx4KSl7aWYoeC5yZWFkeVN0YXRlPTEsayYmcC50cmlnZ2VyKCJhamF4U2VuZCIsW3gsbV0pLDI9PT12KXJldHVybiB4O20uYXN5bmMmJm0udGltZW91dD4wJiYoaT1hLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt4LmFib3J0KCJ0aW1lb3V0Iil9LG0udGltZW91dCkpO3RyeXt2PTEsZS5zZW5kKHQseil9Y2F0Y2goeSl7aWYoISgyPnYpKXRocm93IHk7eigtMSx5KX19ZWxzZSB6KC0xLCJObyBUcmFuc3BvcnQiKTtmdW5jdGlvbiB6KGIsYyxkLGgpe3ZhciBqLGwsdCx1LHcseT1jOzIhPT12JiYodj0yLGkmJmEuY2xlYXJUaW1lb3V0KGkpLGU9dm9pZCAwLGc9aHx8IiIseC5yZWFkeVN0YXRlPWI+MD80OjAsaj1iPj0yMDAmJjMwMD5ifHwzMDQ9PT1iLGQmJih1PXliKG0seCxkKSksdT16YihtLHUseCxqKSxqPyhtLmlmTW9kaWZpZWQmJih3PXguZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSx3JiYobi5sYXN0TW9kaWZpZWRbZl09dyksdz14LmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksdyYmKG4uZXRhZ1tmXT13KSksMjA0PT09Ynx8IkhFQUQiPT09bS50eXBlP3k9Im5vY29udGVudCI6MzA0PT09Yj95PSJub3Rtb2RpZmllZCI6KHk9dS5zdGF0ZSxsPXUuZGF0YSx0PXUuZXJyb3Isaj0hdCkpOih0PXksKGJ8fCF5KSYmKHk9ImVycm9yIiwwPmImJihiPTApKSkseC5zdGF0dXM9Yix4LnN0YXR1c1RleHQ9KGN8fHkpKyIiLGo/cS5yZXNvbHZlV2l0aChvLFtsLHkseF0pOnEucmVqZWN0V2l0aChvLFt4LHksdF0pLHguc3RhdHVzQ29kZShzKSxzPXZvaWQgMCxrJiZwLnRyaWdnZXIoaj8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt4LG0saj9sOnRdKSxyLmZpcmVXaXRoKG8sW3gseV0pLGsmJihwLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3gsbV0pLC0tbi5hY3RpdmV8fG4uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB4fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbi5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG4uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG4uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe25bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG4uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG4uYWpheChuLmV4dGVuZCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0sbi5pc1BsYWluT2JqZWN0KGEpJiZhKSl9fSksbi5fZXZhbFVybD1mdW5jdGlvbihhKXtyZXR1cm4gbi5hamF4KHt1cmw6YSx0eXBlOiJHRVQiLGRhdGFUeXBlOiJzY3JpcHQiLGFzeW5jOiExLGdsb2JhbDohMSwidGhyb3dzIjohMH0pfSxuLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gbi5pc0Z1bmN0aW9uKGEpP3RoaXMuZWFjaChmdW5jdGlvbihiKXtuKHRoaXMpLndyYXBBbGwoYS5jYWxsKHRoaXMsYikpfSk6KHRoaXNbMF0mJihiPW4oYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKSx0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0RWxlbWVudENoaWxkKWE9YS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gYX0pLmFwcGVuZCh0aGlzKSksdGhpcyl9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtyZXR1cm4gbi5pc0Z1bmN0aW9uKGEpP3RoaXMuZWFjaChmdW5jdGlvbihiKXtuKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1uKHRoaXMpLGM9Yi5jb250ZW50cygpO2MubGVuZ3RoP2Mud3JhcEFsbChhKTpiLmFwcGVuZChhKX0pfSx3cmFwOmZ1bmN0aW9uKGEpe3ZhciBiPW4uaXNGdW5jdGlvbihhKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGMpe24odGhpcykud3JhcEFsbChiP2EuY2FsbCh0aGlzLGMpOmEpfSl9LHVud3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudCgpLmVhY2goZnVuY3Rpb24oKXtuLm5vZGVOYW1lKHRoaXMsImJvZHkiKXx8bih0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSkuZW5kKCl9fSksbi5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGEpe3JldHVybiFuLmV4cHIuZmlsdGVycy52aXNpYmxlKGEpfSxuLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiBhLm9mZnNldFdpZHRoPjB8fGEub2Zmc2V0SGVpZ2h0PjB8fGEuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGg+MH07dmFyIEFiPS8lMjAvZyxCYj0vXFtcXSQvLENiPS9ccj9cbi9nLERiPS9eKD86c3VibWl0fGJ1dHRvbnxpbWFnZXxyZXNldHxmaWxlKSQvaSxFYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxrZXlnZW4pL2k7ZnVuY3Rpb24gRmIoYSxiLGMsZCl7dmFyIGU7aWYobi5pc0FycmF5KGIpKW4uZWFjaChiLGZ1bmN0aW9uKGIsZSl7Y3x8QmIudGVzdChhKT9kKGEsZSk6RmIoYSsiWyIrKCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9ZT9iOiIiKSsiXSIsZSxjLGQpfSk7ZWxzZSBpZihjfHwib2JqZWN0IiE9PW4udHlwZShiKSlkKGEsYik7ZWxzZSBmb3IoZSBpbiBiKUZiKGErIlsiK2UrIl0iLGJbZV0sYyxkKX1uLnBhcmFtPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPWZ1bmN0aW9uKGEsYil7Yj1uLmlzRnVuY3Rpb24oYik/YigpOm51bGw9PWI/IiI6YixkW2QubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQoYSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChiKX07aWYodm9pZCAwPT09YiYmKGI9bi5hamF4U2V0dGluZ3MmJm4uYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSxuLmlzQXJyYXkoYSl8fGEuanF1ZXJ5JiYhbi5pc1BsYWluT2JqZWN0KGEpKW4uZWFjaChhLGZ1bmN0aW9uKCl7ZSh0aGlzLm5hbWUsdGhpcy52YWx1ZSl9KTtlbHNlIGZvcihjIGluIGEpRmIoYyxhW2NdLGIsZSk7cmV0dXJuIGQuam9pbigiJiIpLnJlcGxhY2UoQWIsIisiKX0sbi5mbi5leHRlbmQoe3NlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBuLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGE9bi5wcm9wKHRoaXMsImVsZW1lbnRzIik7cmV0dXJuIGE/bi5tYWtlQXJyYXkoYSk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3ZhciBhPXRoaXMudHlwZTtyZXR1cm4gdGhpcy5uYW1lJiYhbih0aGlzKS5pcygiOmRpc2FibGVkIikmJkViLnRlc3QodGhpcy5ub2RlTmFtZSkmJiFEYi50ZXN0KGEpJiYodGhpcy5jaGVja2VkfHwhWC50ZXN0KGEpKX0pLm1hcChmdW5jdGlvbihhLGIpe3ZhciBjPW4odGhpcykudmFsKCk7cmV0dXJuIG51bGw9PWM/bnVsbDpuLmlzQXJyYXkoYyk/bi5tYXAoYyxmdW5jdGlvbihhKXtyZXR1cm57bmFtZTpiLm5hbWUsdmFsdWU6YS5yZXBsYWNlKENiLCJcclxuIil9fSk6e25hbWU6Yi5uYW1lLHZhbHVlOmMucmVwbGFjZShDYiwiXHJcbiIpfX0pLmdldCgpfX0pLG4uYWpheFNldHRpbmdzLnhocj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IGEuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goYil7fX07dmFyIEdiPXswOjIwMCwxMjIzOjIwNH0sSGI9bi5hamF4U2V0dGluZ3MueGhyKCk7bC5jb3JzPSEhSGImJiJ3aXRoQ3JlZGVudGlhbHMiaW4gSGIsbC5hamF4PUhiPSEhSGIsbi5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGIpe3ZhciBjLGQ7cmV0dXJuIGwuY29yc3x8SGImJiFiLmNyb3NzRG9tYWluP3tzZW5kOmZ1bmN0aW9uKGUsZil7dmFyIGcsaD1iLnhocigpO2lmKGgub3BlbihiLnR5cGUsYi51cmwsYi5hc3luYyxiLnVzZXJuYW1lLGIucGFzc3dvcmQpLGIueGhyRmllbGRzKWZvcihnIGluIGIueGhyRmllbGRzKWhbZ109Yi54aHJGaWVsZHNbZ107Yi5taW1lVHlwZSYmaC5vdmVycmlkZU1pbWVUeXBlJiZoLm92ZXJyaWRlTWltZVR5cGUoYi5taW1lVHlwZSksYi5jcm9zc0RvbWFpbnx8ZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdfHwoZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdPSJYTUxIdHRwUmVxdWVzdCIpO2ZvcihnIGluIGUpaC5zZXRSZXF1ZXN0SGVhZGVyKGcsZVtnXSk7Yz1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oKXtjJiYoYz1kPWgub25sb2FkPWgub25lcnJvcj1oLm9uYWJvcnQ9aC5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCwiYWJvcnQiPT09YT9oLmFib3J0KCk6ImVycm9yIj09PWE/Im51bWJlciIhPXR5cGVvZiBoLnN0YXR1cz9mKDAsImVycm9yIik6ZihoLnN0YXR1cyxoLnN0YXR1c1RleHQpOmYoR2JbaC5zdGF0dXNdfHxoLnN0YXR1cyxoLnN0YXR1c1RleHQsInRleHQiIT09KGgucmVzcG9uc2VUeXBlfHwidGV4dCIpfHwic3RyaW5nIiE9dHlwZW9mIGgucmVzcG9uc2VUZXh0P3tiaW5hcnk6aC5yZXNwb25zZX06e3RleHQ6aC5yZXNwb25zZVRleHR9LGguZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpKX19LGgub25sb2FkPWMoKSxkPWgub25lcnJvcj1jKCJlcnJvciIpLHZvaWQgMCE9PWgub25hYm9ydD9oLm9uYWJvcnQ9ZDpoLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1oLnJlYWR5U3RhdGUmJmEuc2V0VGltZW91dChmdW5jdGlvbigpe2MmJmQoKX0pfSxjPWMoImFib3J0Iik7dHJ5e2guc2VuZChiLmhhc0NvbnRlbnQmJmIuZGF0YXx8bnVsbCl9Y2F0Y2goaSl7aWYoYyl0aHJvdyBpfX0sYWJvcnQ6ZnVuY3Rpb24oKXtjJiZjKCl9fTp2b2lkIDB9KSxuLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6L1xiKD86amF2YXxlY21hKXNjcmlwdFxiL30sY29udmVydGVyczp7InRleHQgc2NyaXB0IjpmdW5jdGlvbihhKXtyZXR1cm4gbi5nbG9iYWxFdmFsKGEpLGF9fX0pLG4uYWpheFByZWZpbHRlcigic2NyaXB0IixmdW5jdGlvbihhKXt2b2lkIDA9PT1hLmNhY2hlJiYoYS5jYWNoZT0hMSksYS5jcm9zc0RvbWFpbiYmKGEudHlwZT0iR0VUIil9KSxuLmFqYXhUcmFuc3BvcnQoInNjcmlwdCIsZnVuY3Rpb24oYSl7aWYoYS5jcm9zc0RvbWFpbil7dmFyIGIsYztyZXR1cm57c2VuZDpmdW5jdGlvbihlLGYpe2I9bigiPHNjcmlwdD4iKS5wcm9wKHtjaGFyc2V0OmEuc2NyaXB0Q2hhcnNldCxzcmM6YS51cmx9KS5vbigibG9hZCBlcnJvciIsYz1mdW5jdGlvbihhKXtiLnJlbW92ZSgpLGM9bnVsbCxhJiZmKCJlcnJvciI9PT1hLnR5cGU/NDA0OjIwMCxhLnR5cGUpfSksZC5oZWFkLmFwcGVuZENoaWxkKGJbMF0pfSxhYm9ydDpmdW5jdGlvbigpe2MmJmMoKX19fX0pO3ZhciBJYj1bXSxKYj0vKD0pXD8oPz0mfCQpfFw/XD8vO24uYWpheFNldHVwKHtqc29ucDoiY2FsbGJhY2siLGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgYT1JYi5wb3AoKXx8bi5leHBhbmRvKyJfIitqYisrO3JldHVybiB0aGlzW2FdPSEwLGF9fSksbi5hamF4UHJlZmlsdGVyKCJqc29uIGpzb25wIixmdW5jdGlvbihiLGMsZCl7dmFyIGUsZixnLGg9Yi5qc29ucCE9PSExJiYoSmIudGVzdChiLnVybCk/InVybCI6InN0cmluZyI9PXR5cGVvZiBiLmRhdGEmJjA9PT0oYi5jb250ZW50VHlwZXx8IiIpLmluZGV4T2YoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpJiZKYi50ZXN0KGIuZGF0YSkmJiJkYXRhIik7cmV0dXJuIGh8fCJqc29ucCI9PT1iLmRhdGFUeXBlc1swXT8oZT1iLmpzb25wQ2FsbGJhY2s9bi5pc0Z1bmN0aW9uKGIuanNvbnBDYWxsYmFjayk/Yi5qc29ucENhbGxiYWNrKCk6Yi5qc29ucENhbGxiYWNrLGg/YltoXT1iW2hdLnJlcGxhY2UoSmIsIiQxIitlKTpiLmpzb25wIT09ITEmJihiLnVybCs9KGtiLnRlc3QoYi51cmwpPyImIjoiPyIpK2IuanNvbnArIj0iK2UpLGIuY29udmVydGVyc1sic2NyaXB0IGpzb24iXT1mdW5jdGlvbigpe3JldHVybiBnfHxuLmVycm9yKGUrIiB3YXMgbm90IGNhbGxlZCIpLGdbMF19LGIuZGF0YVR5cGVzWzBdPSJqc29uIixmPWFbZV0sYVtlXT1mdW5jdGlvbigpe2c9YXJndW1lbnRzfSxkLmFsd2F5cyhmdW5jdGlvbigpe3ZvaWQgMD09PWY/bihhKS5yZW1vdmVQcm9wKGUpOmFbZV09ZixiW2VdJiYoYi5qc29ucENhbGxiYWNrPWMuanNvbnBDYWxsYmFjayxJYi5wdXNoKGUpKSxnJiZuLmlzRnVuY3Rpb24oZikmJmYoZ1swXSksZz1mPXZvaWQgMH0pLCJzY3JpcHQiKTp2b2lkIDB9KSxsLmNyZWF0ZUhUTUxEb2N1bWVudD1mdW5jdGlvbigpe3ZhciBhPWQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKS5ib2R5O3JldHVybiBhLmlubmVySFRNTD0iPGZvcm0+PC9mb3JtPjxmb3JtPjwvZm9ybT4iLDI9PT1hLmNoaWxkTm9kZXMubGVuZ3RofSgpLG4ucGFyc2VIVE1MPWZ1bmN0aW9uKGEsYixjKXtpZighYXx8InN0cmluZyIhPXR5cGVvZiBhKXJldHVybiBudWxsOyJib29sZWFuIj09dHlwZW9mIGImJihjPWIsYj0hMSksYj1ifHwobC5jcmVhdGVIVE1MRG9jdW1lbnQ/ZC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpOmQpO3ZhciBlPXguZXhlYyhhKSxmPSFjJiZbXTtyZXR1cm4gZT9bYi5jcmVhdGVFbGVtZW50KGVbMV0pXTooZT1jYShbYV0sYixmKSxmJiZmLmxlbmd0aCYmbihmKS5yZW1vdmUoKSxuLm1lcmdlKFtdLGUuY2hpbGROb2RlcykpfTt2YXIgS2I9bi5mbi5sb2FkO24uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZLYilyZXR1cm4gS2IuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD4tMSYmKGQ9bi50cmltKGEuc2xpY2UoaCkpLGE9YS5zbGljZSgwLGgpKSxuLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZT0iUE9TVCIpLGcubGVuZ3RoPjAmJm4uYWpheCh7dXJsOmEsdHlwZTplfHwiR0VUIixkYXRhVHlwZToiaHRtbCIsZGF0YTpifSkuZG9uZShmdW5jdGlvbihhKXtmPWFyZ3VtZW50cyxnLmh0bWwoZD9uKCI8ZGl2PiIpLmFwcGVuZChuLnBhcnNlSFRNTChhKSkuZmluZChkKTphKX0pLmFsd2F5cyhjJiZmdW5jdGlvbihhLGIpe2cuZWFjaChmdW5jdGlvbigpe2MuYXBwbHkoZyxmfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KX0pLHRoaXN9LG4uZWFjaChbImFqYXhTdGFydCIsImFqYXhTdG9wIiwiYWpheENvbXBsZXRlIiwiYWpheEVycm9yIiwiYWpheFN1Y2Nlc3MiLCJhamF4U2VuZCJdLGZ1bmN0aW9uKGEsYil7bi5mbltiXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vbihiLGEpfX0pLG4uZXhwci5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKGEpe3JldHVybiBuLmdyZXAobi50aW1lcnMsZnVuY3Rpb24oYil7cmV0dXJuIGE9PT1iLmVsZW19KS5sZW5ndGh9O2Z1bmN0aW9uIExiKGEpe3JldHVybiBuLmlzV2luZG93KGEpP2E6OT09PWEubm9kZVR5cGUmJmEuZGVmYXVsdFZpZXd9bi5vZmZzZXQ9e3NldE9mZnNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaCxpLGosaz1uLmNzcyhhLCJwb3NpdGlvbiIpLGw9bihhKSxtPXt9OyJzdGF0aWMiPT09ayYmKGEuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIiksaD1sLm9mZnNldCgpLGY9bi5jc3MoYSwidG9wIiksaT1uLmNzcyhhLCJsZWZ0Iiksaj0oImFic29sdXRlIj09PWt8fCJmaXhlZCI9PT1rKSYmKGYraSkuaW5kZXhPZigiYXV0byIpPi0xLGo/KGQ9bC5wb3NpdGlvbigpLGc9ZC50b3AsZT1kLmxlZnQpOihnPXBhcnNlRmxvYXQoZil8fDAsZT1wYXJzZUZsb2F0KGkpfHwwKSxuLmlzRnVuY3Rpb24oYikmJihiPWIuY2FsbChhLGMsbi5leHRlbmQoe30saCkpKSxudWxsIT1iLnRvcCYmKG0udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG0ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG0pOmwuY3NzKG0pfX0sbi5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9dGhpc1swXSxlPXt0b3A6MCxsZWZ0OjB9LGY9ZCYmZC5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbi5jb250YWlucyhiLGQpPyhlPWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYz1MYihmKSx7dG9wOmUudG9wK2MucGFnZVlPZmZzZXQtYi5jbGllbnRUb3AsbGVmdDplLmxlZnQrYy5wYWdlWE9mZnNldC1iLmNsaWVudExlZnR9KTplfSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBhLGIsYz10aGlzWzBdLGQ9e3RvcDowLGxlZnQ6MH07cmV0dXJuImZpeGVkIj09PW4uY3NzKGMsInBvc2l0aW9uIik/Yj1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOihhPXRoaXMub2Zmc2V0UGFyZW50KCksYj10aGlzLm9mZnNldCgpLG4ubm9kZU5hbWUoYVswXSwiaHRtbCIpfHwoZD1hLm9mZnNldCgpKSxkLnRvcCs9bi5jc3MoYVswXSwiYm9yZGVyVG9wV2lkdGgiLCEwKSxkLmxlZnQrPW4uY3NzKGFbMF0sImJvcmRlckxlZnRXaWR0aCIsITApKSx7dG9wOmIudG9wLWQudG9wLW4uY3NzKGMsIm1hcmdpblRvcCIsITApLGxlZnQ6Yi5sZWZ0LWQubGVmdC1uLmNzcyhjLCJtYXJnaW5MZWZ0IiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vZmZzZXRQYXJlbnQ7d2hpbGUoYSYmInN0YXRpYyI9PT1uLmNzcyhhLCJwb3NpdGlvbiIpKWE9YS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGF8fEVhfSl9fSksbi5lYWNoKHtzY3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGM9InBhZ2VZT2Zmc2V0Ij09PWI7bi5mblthXT1mdW5jdGlvbihkKXtyZXR1cm4gSyh0aGlzLGZ1bmN0aW9uKGEsZCxlKXt2YXIgZj1MYihhKTtyZXR1cm4gdm9pZCAwPT09ZT9mP2ZbYl06YVtkXTp2b2lkKGY/Zi5zY3JvbGxUbyhjP2YucGFnZVhPZmZzZXQ6ZSxjP2U6Zi5wYWdlWU9mZnNldCk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgpfX0pLG4uZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbihhLGIpe24uY3NzSG9va3NbYl09R2EobC5waXhlbFBvc2l0aW9uLGZ1bmN0aW9uKGEsYyl7cmV0dXJuIGM/KGM9RmEoYSxiKSxCYS50ZXN0KGMpP24oYSkucG9zaXRpb24oKVtiXSsicHgiOmMpOnZvaWQgMH0pfSksbi5lYWNoKHtIZWlnaHQ6ImhlaWdodCIsV2lkdGg6IndpZHRoIn0sZnVuY3Rpb24oYSxiKXtuLmVhY2goe3BhZGRpbmc6ImlubmVyIithLGNvbnRlbnQ6YiwiIjoib3V0ZXIiK2F9LGZ1bmN0aW9uKGMsZCl7bi5mbltkXT1mdW5jdGlvbihkLGUpe3ZhciBmPWFyZ3VtZW50cy5sZW5ndGgmJihjfHwiYm9vbGVhbiIhPXR5cGVvZiBkKSxnPWN8fChkPT09ITB8fGU9PT0hMD8ibWFyZ2luIjoiYm9yZGVyIik7cmV0dXJuIEsodGhpcyxmdW5jdGlvbihiLGMsZCl7dmFyIGU7cmV0dXJuIG4uaXNXaW5kb3coYik/Yi5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrYV06OT09PWIubm9kZVR5cGU/KGU9Yi5kb2N1bWVudEVsZW1lbnQsTWF0aC5tYXgoYi5ib2R5WyJzY3JvbGwiK2FdLGVbInNjcm9sbCIrYV0sYi5ib2R5WyJvZmZzZXQiK2FdLGVbIm9mZnNldCIrYV0sZVsiY2xpZW50IithXSkpOnZvaWQgMD09PWQ/bi5jc3MoYixjLGcpOm4uc3R5bGUoYixjLGQsZyl9LGIsZj9kOnZvaWQgMCxmLG51bGwpfX0pfSksbi5mbi5leHRlbmQoe2JpbmQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm9uKGEsbnVsbCxiLGMpfSx1bmJpbmQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5vZmYoYSxudWxsLGIpfSxkZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vbihiLGEsYyxkKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMub2ZmKGEsIioqIik6dGhpcy5vZmYoYixhfHwiKioiLGMpfSxzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RofX0pLG4uZm4uYW5kU2VsZj1uLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG59KTt2YXIgTWI9YS5qUXVlcnksTmI9YS4kO3JldHVybiBuLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW4mJihhLiQ9TmIpLGImJmEualF1ZXJ5PT09biYmKGEualF1ZXJ5PU1iKSxufSxifHwoYS5qUXVlcnk9YS4kPW4pLG59KTsKZGlmZiAtLWdpdCBhL2pzL2pxdWVyeS0zLjIuMS5qcyBiL2pzL2pxdWVyeS0zLjIuMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMmQ4Y2E0Ci0tLSAvZGV2L251bGwKKysrIGIvanMvanF1ZXJ5LTMuMi4xLmpzCkBAIC0wLDAgKzEsMTAyNTMgQEAKKy8qIQorICogalF1ZXJ5IEphdmFTY3JpcHQgTGlicmFyeSB2My4yLjEKKyAqIGh0dHBzOi8vanF1ZXJ5LmNvbS8KKyAqCisgKiBJbmNsdWRlcyBTaXp6bGUuanMKKyAqIGh0dHBzOi8vc2l6emxlanMuY29tLworICoKKyAqIENvcHlyaWdodCBKUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMKKyAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQorICogaHR0cHM6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKKyAqCisgKiBEYXRlOiAyMDE3LTAzLTIwVDE4OjU5WgorICovCisoIGZ1bmN0aW9uKCBnbG9iYWwsIGZhY3RvcnkgKSB7CisKKwkidXNlIHN0cmljdCI7CisKKwlpZiAoIHR5cGVvZiBtb2R1bGUgPT09ICJvYmplY3QiICYmIHR5cGVvZiBtb2R1bGUuZXhwb3J0cyA9PT0gIm9iamVjdCIgKSB7CisKKwkJLy8gRm9yIENvbW1vbkpTIGFuZCBDb21tb25KUy1saWtlIGVudmlyb25tZW50cyB3aGVyZSBhIHByb3BlciBgd2luZG93YAorCQkvLyBpcyBwcmVzZW50LCBleGVjdXRlIHRoZSBmYWN0b3J5IGFuZCBnZXQgalF1ZXJ5LgorCQkvLyBGb3IgZW52aXJvbm1lbnRzIHRoYXQgZG8gbm90IGhhdmUgYSBgd2luZG93YCB3aXRoIGEgYGRvY3VtZW50YAorCQkvLyAoc3VjaCBhcyBOb2RlLmpzKSwgZXhwb3NlIGEgZmFjdG9yeSBhcyBtb2R1bGUuZXhwb3J0cy4KKwkJLy8gVGhpcyBhY2NlbnR1YXRlcyB0aGUgbmVlZCBmb3IgdGhlIGNyZWF0aW9uIG9mIGEgcmVhbCBgd2luZG93YC4KKwkJLy8gZS5nLiB2YXIgalF1ZXJ5ID0gcmVxdWlyZSgianF1ZXJ5Iikod2luZG93KTsKKwkJLy8gU2VlIHRpY2tldCAjMTQ1NDkgZm9yIG1vcmUgaW5mby4KKwkJbW9kdWxlLmV4cG9ydHMgPSBnbG9iYWwuZG9jdW1lbnQgPworCQkJZmFjdG9yeSggZ2xvYmFsLCB0cnVlICkgOgorCQkJZnVuY3Rpb24oIHcgKSB7CisJCQkJaWYgKCAhdy5kb2N1bWVudCApIHsKKwkJCQkJdGhyb3cgbmV3IEVycm9yKCAialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIgKTsKKwkJCQl9CisJCQkJcmV0dXJuIGZhY3RvcnkoIHcgKTsKKwkJCX07CisJfSBlbHNlIHsKKwkJZmFjdG9yeSggZ2xvYmFsICk7CisJfQorCisvLyBQYXNzIHRoaXMgaWYgd2luZG93IGlzIG5vdCBkZWZpbmVkIHlldAorfSApKCB0eXBlb2Ygd2luZG93ICE9PSAidW5kZWZpbmVkIiA/IHdpbmRvdyA6IHRoaXMsIGZ1bmN0aW9uKCB3aW5kb3csIG5vR2xvYmFsICkgeworCisvLyBFZGdlIDw9IDEyIC0gMTMrLCBGaXJlZm94IDw9MTggLSA0NSssIElFIDEwIC0gMTEsIFNhZmFyaSA1LjEgLSA5KywgaU9TIDYgLSA5LjEKKy8vIHRocm93IGV4Y2VwdGlvbnMgd2hlbiBub24tc3RyaWN0IGNvZGUgKGUuZy4sIEFTUC5ORVQgNC41KSBhY2Nlc3NlcyBzdHJpY3QgbW9kZQorLy8gYXJndW1lbnRzLmNhbGxlZS5jYWxsZXIgKHRyYWMtMTMzMzUpLiBCdXQgYXMgb2YgalF1ZXJ5IDMuMCAoMjAxNiksIHN0cmljdCBtb2RlIHNob3VsZCBiZSBjb21tb24KKy8vIGVub3VnaCB0aGF0IGFsbCBzdWNoIGF0dGVtcHRzIGFyZSBndWFyZGVkIGluIGEgdHJ5IGJsb2NrLgorInVzZSBzdHJpY3QiOworCit2YXIgYXJyID0gW107CisKK3ZhciBkb2N1bWVudCA9IHdpbmRvdy5kb2N1bWVudDsKKwordmFyIGdldFByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mOworCit2YXIgc2xpY2UgPSBhcnIuc2xpY2U7CisKK3ZhciBjb25jYXQgPSBhcnIuY29uY2F0OworCit2YXIgcHVzaCA9IGFyci5wdXNoOworCit2YXIgaW5kZXhPZiA9IGFyci5pbmRleE9mOworCit2YXIgY2xhc3MydHlwZSA9IHt9OworCit2YXIgdG9TdHJpbmcgPSBjbGFzczJ0eXBlLnRvU3RyaW5nOworCit2YXIgaGFzT3duID0gY2xhc3MydHlwZS5oYXNPd25Qcm9wZXJ0eTsKKwordmFyIGZuVG9TdHJpbmcgPSBoYXNPd24udG9TdHJpbmc7CisKK3ZhciBPYmplY3RGdW5jdGlvblN0cmluZyA9IGZuVG9TdHJpbmcuY2FsbCggT2JqZWN0ICk7CisKK3ZhciBzdXBwb3J0ID0ge307CisKKworCisJZnVuY3Rpb24gRE9NRXZhbCggY29kZSwgZG9jICkgeworCQlkb2MgPSBkb2MgfHwgZG9jdW1lbnQ7CisKKwkJdmFyIHNjcmlwdCA9IGRvYy5jcmVhdGVFbGVtZW50KCAic2NyaXB0IiApOworCisJCXNjcmlwdC50ZXh0ID0gY29kZTsKKwkJZG9jLmhlYWQuYXBwZW5kQ2hpbGQoIHNjcmlwdCApLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoIHNjcmlwdCApOworCX0KKy8qIGdsb2JhbCBTeW1ib2wgKi8KKy8vIERlZmluaW5nIHRoaXMgZ2xvYmFsIGluIC5lc2xpbnRyYy5qc29uIHdvdWxkIGNyZWF0ZSBhIGRhbmdlciBvZiB1c2luZyB0aGUgZ2xvYmFsCisvLyB1bmd1YXJkZWQgaW4gYW5vdGhlciBwbGFjZSwgaXQgc2VlbXMgc2FmZXIgdG8gZGVmaW5lIGdsb2JhbCBvbmx5IGZvciB0aGlzIG1vZHVsZQorCisKKwordmFyCisJdmVyc2lvbiA9ICIzLjIuMSIsCisKKwkvLyBEZWZpbmUgYSBsb2NhbCBjb3B5IG9mIGpRdWVyeQorCWpRdWVyeSA9IGZ1bmN0aW9uKCBzZWxlY3RvciwgY29udGV4dCApIHsKKworCQkvLyBUaGUgalF1ZXJ5IG9iamVjdCBpcyBhY3R1YWxseSBqdXN0IHRoZSBpbml0IGNvbnN0cnVjdG9yICdlbmhhbmNlZCcKKwkJLy8gTmVlZCBpbml0IGlmIGpRdWVyeSBpcyBjYWxsZWQgKGp1c3QgYWxsb3cgZXJyb3IgdG8gYmUgdGhyb3duIGlmIG5vdCBpbmNsdWRlZCkKKwkJcmV0dXJuIG5ldyBqUXVlcnkuZm4uaW5pdCggc2VsZWN0b3IsIGNvbnRleHQgKTsKKwl9LAorCisJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5CisJLy8gTWFrZSBzdXJlIHdlIHRyaW0gQk9NIGFuZCBOQlNQCisJcnRyaW0gPSAvXltcc1x1RkVGRlx4QTBdK3xbXHNcdUZFRkZceEEwXSskL2csCisKKwkvLyBNYXRjaGVzIGRhc2hlZCBzdHJpbmcgZm9yIGNhbWVsaXppbmcKKwlybXNQcmVmaXggPSAvXi1tcy0vLAorCXJkYXNoQWxwaGEgPSAvLShbYS16XSkvZywKKworCS8vIFVzZWQgYnkgalF1ZXJ5LmNhbWVsQ2FzZSBhcyBjYWxsYmFjayB0byByZXBsYWNlKCkKKwlmY2FtZWxDYXNlID0gZnVuY3Rpb24oIGFsbCwgbGV0dGVyICkgeworCQlyZXR1cm4gbGV0dGVyLnRvVXBwZXJDYXNlKCk7CisJfTsKKworalF1ZXJ5LmZuID0galF1ZXJ5LnByb3RvdHlwZSA9IHsKKworCS8vIFRoZSBjdXJyZW50IHZlcnNpb24gb2YgalF1ZXJ5IGJlaW5nIHVzZWQKKwlqcXVlcnk6IHZlcnNpb24sCisKKwljb25zdHJ1Y3RvcjogalF1ZXJ5LAorCisJLy8gVGhlIGRlZmF1bHQgbGVuZ3RoIG9mIGEgalF1ZXJ5IG9iamVjdCBpcyAwCisJbGVuZ3RoOiAwLAorCisJdG9BcnJheTogZnVuY3Rpb24oKSB7CisJCXJldHVybiBzbGljZS5jYWxsKCB0aGlzICk7CisJfSwKKworCS8vIEdldCB0aGUgTnRoIGVsZW1lbnQgaW4gdGhlIG1hdGNoZWQgZWxlbWVudCBzZXQgT1IKKwkvLyBHZXQgdGhlIHdob2xlIG1hdGNoZWQgZWxlbWVudCBzZXQgYXMgYSBjbGVhbiBhcnJheQorCWdldDogZnVuY3Rpb24oIG51bSApIHsKKworCQkvLyBSZXR1cm4gYWxsIHRoZSBlbGVtZW50cyBpbiBhIGNsZWFuIGFycmF5CisJCWlmICggbnVtID09IG51bGwgKSB7CisJCQlyZXR1cm4gc2xpY2UuY2FsbCggdGhpcyApOworCQl9CisKKwkJLy8gUmV0dXJuIGp1c3QgdGhlIG9uZSBlbGVtZW50IGZyb20gdGhlIHNldAorCQlyZXR1cm4gbnVtIDwgMCA/IHRoaXNbIG51bSArIHRoaXMubGVuZ3RoIF0gOiB0aGlzWyBudW0gXTsKKwl9LAorCisJLy8gVGFrZSBhbiBhcnJheSBvZiBlbGVtZW50cyBhbmQgcHVzaCBpdCBvbnRvIHRoZSBzdGFjaworCS8vIChyZXR1cm5pbmcgdGhlIG5ldyBtYXRjaGVkIGVsZW1lbnQgc2V0KQorCXB1c2hTdGFjazogZnVuY3Rpb24oIGVsZW1zICkgeworCisJCS8vIEJ1aWxkIGEgbmV3IGpRdWVyeSBtYXRjaGVkIGVsZW1lbnQgc2V0CisJCXZhciByZXQgPSBqUXVlcnkubWVyZ2UoIHRoaXMuY29uc3RydWN0b3IoKSwgZWxlbXMgKTsKKworCQkvLyBBZGQgdGhlIG9sZCBvYmplY3Qgb250byB0aGUgc3RhY2sgKGFzIGEgcmVmZXJlbmNlKQorCQlyZXQucHJldk9iamVjdCA9IHRoaXM7CisKKwkJLy8gUmV0dXJuIHRoZSBuZXdseS1mb3JtZWQgZWxlbWVudCBzZXQKKwkJcmV0dXJuIHJldDsKKwl9LAorCisJLy8gRXhlY3V0ZSBhIGNhbGxiYWNrIGZvciBldmVyeSBlbGVtZW50IGluIHRoZSBtYXRjaGVkIHNldC4KKwllYWNoOiBmdW5jdGlvbiggY2FsbGJhY2sgKSB7CisJCXJldHVybiBqUXVlcnkuZWFjaCggdGhpcywgY2FsbGJhY2sgKTsKKwl9LAorCisJbWFwOiBmdW5jdGlvbiggY2FsbGJhY2sgKSB7CisJCXJldHVybiB0aGlzLnB1c2hTdGFjayggalF1ZXJ5Lm1hcCggdGhpcywgZnVuY3Rpb24oIGVsZW0sIGkgKSB7CisJCQlyZXR1cm4gY2FsbGJhY2suY2FsbCggZWxlbSwgaSwgZWxlbSApOworCQl9ICkgKTsKKwl9LAorCisJc2xpY2U6IGZ1bmN0aW9uKCkgeworCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIHNsaWNlLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKSApOworCX0sCisKKwlmaXJzdDogZnVuY3Rpb24oKSB7CisJCXJldHVybiB0aGlzLmVxKCAwICk7CisJfSwKKworCWxhc3Q6IGZ1bmN0aW9uKCkgeworCQlyZXR1cm4gdGhpcy5lcSggLTEgKTsKKwl9LAorCisJZXE6IGZ1bmN0aW9uKCBpICkgeworCQl2YXIgbGVuID0gdGhpcy5sZW5ndGgsCisJCQlqID0gK2kgKyAoIGkgPCAwID8gbGVuIDogMCApOworCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIGogPj0gMCAmJiBqIDwgbGVuID8gWyB0aGlzWyBqIF0gXSA6IFtdICk7CisJfSwKKworCWVuZDogZnVuY3Rpb24oKSB7CisJCXJldHVybiB0aGlzLnByZXZPYmplY3QgfHwgdGhpcy5jb25zdHJ1Y3RvcigpOworCX0sCisKKwkvLyBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuCisJLy8gQmVoYXZlcyBsaWtlIGFuIEFycmF5J3MgbWV0aG9kLCBub3QgbGlrZSBhIGpRdWVyeSBtZXRob2QuCisJcHVzaDogcHVzaCwKKwlzb3J0OiBhcnIuc29ydCwKKwlzcGxpY2U6IGFyci5zcGxpY2UKK307CisKK2pRdWVyeS5leHRlbmQgPSBqUXVlcnkuZm4uZXh0ZW5kID0gZnVuY3Rpb24oKSB7CisJdmFyIG9wdGlvbnMsIG5hbWUsIHNyYywgY29weSwgY29weUlzQXJyYXksIGNsb25lLAorCQl0YXJnZXQgPSBhcmd1bWVudHNbIDAgXSB8fCB7fSwKKwkJaSA9IDEsCisJCWxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGgsCisJCWRlZXAgPSBmYWxzZTsKKworCS8vIEhhbmRsZSBhIGRlZXAgY29weSBzaXR1YXRpb24KKwlpZiAoIHR5cGVvZiB0YXJnZXQgPT09ICJib29sZWFuIiApIHsKKwkJZGVlcCA9IHRhcmdldDsKKworCQkvLyBTa2lwIHRoZSBib29sZWFuIGFuZCB0aGUgdGFyZ2V0CisJCXRhcmdldCA9IGFyZ3VtZW50c1sgaSBdIHx8IHt9OworCQlpKys7CisJfQorCisJLy8gSGFuZGxlIGNhc2Ugd2hlbiB0YXJnZXQgaXMgYSBzdHJpbmcgb3Igc29tZXRoaW5nIChwb3NzaWJsZSBpbiBkZWVwIGNvcHkpCisJaWYgKCB0eXBlb2YgdGFyZ2V0ICE9PSAib2JqZWN0IiAmJiAhalF1ZXJ5LmlzRnVuY3Rpb24oIHRhcmdldCApICkgeworCQl0YXJnZXQgPSB7fTsKKwl9CisKKwkvLyBFeHRlbmQgalF1ZXJ5IGl0c2VsZiBpZiBvbmx5IG9uZSBhcmd1bWVudCBpcyBwYXNzZWQKKwlpZiAoIGkgPT09IGxlbmd0aCApIHsKKwkJdGFyZ2V0ID0gdGhpczsKKwkJaS0tOworCX0KKworCWZvciAoIDsgaSA8IGxlbmd0aDsgaSsrICkgeworCisJCS8vIE9ubHkgZGVhbCB3aXRoIG5vbi1udWxsL3VuZGVmaW5lZCB2YWx1ZXMKKwkJaWYgKCAoIG9wdGlvbnMgPSBhcmd1bWVudHNbIGkgXSApICE9IG51bGwgKSB7CisKKwkJCS8vIEV4dGVuZCB0aGUgYmFzZSBvYmplY3QKKwkJCWZvciAoIG5hbWUgaW4gb3B0aW9ucyApIHsKKwkJCQlzcmMgPSB0YXJnZXRbIG5hbWUgXTsKKwkJCQljb3B5ID0gb3B0aW9uc1sgbmFtZSBdOworCisJCQkJLy8gUHJldmVudCBuZXZlci1lbmRpbmcgbG9vcAorCQkJCWlmICggdGFyZ2V0ID09PSBjb3B5ICkgeworCQkJCQljb250aW51ZTsKKwkJCQl9CisKKwkJCQkvLyBSZWN1cnNlIGlmIHdlJ3JlIG1lcmdpbmcgcGxhaW4gb2JqZWN0cyBvciBhcnJheXMKKwkJCQlpZiAoIGRlZXAgJiYgY29weSAmJiAoIGpRdWVyeS5pc1BsYWluT2JqZWN0KCBjb3B5ICkgfHwKKwkJCQkJKCBjb3B5SXNBcnJheSA9IEFycmF5LmlzQXJyYXkoIGNvcHkgKSApICkgKSB7CisKKwkJCQkJaWYgKCBjb3B5SXNBcnJheSApIHsKKwkJCQkJCWNvcHlJc0FycmF5ID0gZmFsc2U7CisJCQkJCQljbG9uZSA9IHNyYyAmJiBBcnJheS5pc0FycmF5KCBzcmMgKSA/IHNyYyA6IFtdOworCisJCQkJCX0gZWxzZSB7CisJCQkJCQljbG9uZSA9IHNyYyAmJiBqUXVlcnkuaXNQbGFpbk9iamVjdCggc3JjICkgPyBzcmMgOiB7fTsKKwkJCQkJfQorCisJCQkJCS8vIE5ldmVyIG1vdmUgb3JpZ2luYWwgb2JqZWN0cywgY2xvbmUgdGhlbQorCQkJCQl0YXJnZXRbIG5hbWUgXSA9IGpRdWVyeS5leHRlbmQoIGRlZXAsIGNsb25lLCBjb3B5ICk7CisKKwkJCQkvLyBEb24ndCBicmluZyBpbiB1bmRlZmluZWQgdmFsdWVzCisJCQkJfSBlbHNlIGlmICggY29weSAhPT0gdW5kZWZpbmVkICkgeworCQkJCQl0YXJnZXRbIG5hbWUgXSA9IGNvcHk7CisJCQkJfQorCQkJfQorCQl9CisJfQorCisJLy8gUmV0dXJuIHRoZSBtb2RpZmllZCBvYmplY3QKKwlyZXR1cm4gdGFyZ2V0OworfTsKKworalF1ZXJ5LmV4dGVuZCggeworCisJLy8gVW5pcXVlIGZvciBlYWNoIGNvcHkgb2YgalF1ZXJ5IG9uIHRoZSBwYWdlCisJZXhwYW5kbzogImpRdWVyeSIgKyAoIHZlcnNpb24gKyBNYXRoLnJhbmRvbSgpICkucmVwbGFjZSggL1xEL2csICIiICksCisKKwkvLyBBc3N1bWUgalF1ZXJ5IGlzIHJlYWR5IHdpdGhvdXQgdGhlIHJlYWR5IG1vZHVsZQorCWlzUmVhZHk6IHRydWUsCisKKwllcnJvcjogZnVuY3Rpb24oIG1zZyApIHsKKwkJdGhyb3cgbmV3IEVycm9yKCBtc2cgKTsKKwl9LAorCisJbm9vcDogZnVuY3Rpb24oKSB7fSwKKworCWlzRnVuY3Rpb246IGZ1bmN0aW9uKCBvYmogKSB7CisJCXJldHVybiBqUXVlcnkudHlwZSggb2JqICkgPT09ICJmdW5jdGlvbiI7CisJfSwKKworCWlzV2luZG93OiBmdW5jdGlvbiggb2JqICkgeworCQlyZXR1cm4gb2JqICE9IG51bGwgJiYgb2JqID09PSBvYmoud2luZG93OworCX0sCisKKwlpc051bWVyaWM6IGZ1bmN0aW9uKCBvYmogKSB7CisKKwkJLy8gQXMgb2YgalF1ZXJ5IDMuMCwgaXNOdW1lcmljIGlzIGxpbWl0ZWQgdG8KKwkJLy8gc3RyaW5ncyBhbmQgbnVtYmVycyAocHJpbWl0aXZlcyBvciBvYmplY3RzKQorCQkvLyB0aGF0IGNhbiBiZSBjb2VyY2VkIHRvIGZpbml0ZSBudW1iZXJzIChnaC0yNjYyKQorCQl2YXIgdHlwZSA9IGpRdWVyeS50eXBlKCBvYmogKTsKKwkJcmV0dXJuICggdHlwZSA9PT0gIm51bWJlciIgfHwgdHlwZSA9PT0gInN0cmluZyIgKSAmJgorCisJCQkvLyBwYXJzZUZsb2F0IE5hTnMgbnVtZXJpYy1jYXN0IGZhbHNlIHBvc2l0aXZlcyAoIiIpCisJCQkvLyAuLi5idXQgbWlzaW50ZXJwcmV0cyBsZWFkaW5nLW51bWJlciBzdHJpbmdzLCBwYXJ0aWN1bGFybHkgaGV4IGxpdGVyYWxzICgiMHguLi4iKQorCQkJLy8gc3VidHJhY3Rpb24gZm9yY2VzIGluZmluaXRpZXMgdG8gTmFOCisJCQkhaXNOYU4oIG9iaiAtIHBhcnNlRmxvYXQoIG9iaiApICk7CisJfSwKKworCWlzUGxhaW5PYmplY3Q6IGZ1bmN0aW9uKCBvYmogKSB7CisJCXZhciBwcm90bywgQ3RvcjsKKworCQkvLyBEZXRlY3Qgb2J2aW91cyBuZWdhdGl2ZXMKKwkJLy8gVXNlIHRvU3RyaW5nIGluc3RlYWQgb2YgalF1ZXJ5LnR5cGUgdG8gY2F0Y2ggaG9zdCBvYmplY3RzCisJCWlmICggIW9iaiB8fCB0b1N0cmluZy5jYWxsKCBvYmogKSAhPT0gIltvYmplY3QgT2JqZWN0XSIgKSB7CisJCQlyZXR1cm4gZmFsc2U7CisJCX0KKworCQlwcm90byA9IGdldFByb3RvKCBvYmogKTsKKworCQkvLyBPYmplY3RzIHdpdGggbm8gcHJvdG90eXBlIChlLmcuLCBgT2JqZWN0LmNyZWF0ZSggbnVsbCApYCkgYXJlIHBsYWluCisJCWlmICggIXByb3RvICkgeworCQkJcmV0dXJuIHRydWU7CisJCX0KKworCQkvLyBPYmplY3RzIHdpdGggcHJvdG90eXBlIGFyZSBwbGFpbiBpZmYgdGhleSB3ZXJlIGNvbnN0cnVjdGVkIGJ5IGEgZ2xvYmFsIE9iamVjdCBmdW5jdGlvbgorCQlDdG9yID0gaGFzT3duLmNhbGwoIHByb3RvLCAiY29uc3RydWN0b3IiICkgJiYgcHJvdG8uY29uc3RydWN0b3I7CisJCXJldHVybiB0eXBlb2YgQ3RvciA9PT0gImZ1bmN0aW9uIiAmJiBmblRvU3RyaW5nLmNhbGwoIEN0b3IgKSA9PT0gT2JqZWN0RnVuY3Rpb25TdHJpbmc7CisJfSwKKworCWlzRW1wdHlPYmplY3Q6IGZ1bmN0aW9uKCBvYmogKSB7CisKKwkJLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi8KKwkJLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9lc2xpbnQvZXNsaW50L2lzc3Vlcy82MTI1CisJCXZhciBuYW1lOworCisJCWZvciAoIG5hbWUgaW4gb2JqICkgeworCQkJcmV0dXJuIGZhbHNlOworCQl9CisJCXJldHVybiB0cnVlOworCX0sCisKKwl0eXBlOiBmdW5jdGlvbiggb2JqICkgeworCQlpZiAoIG9iaiA9PSBudWxsICkgeworCQkJcmV0dXJuIG9iaiArICIiOworCQl9CisKKwkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTIuMyBvbmx5IChmdW5jdGlvbmlzaCBSZWdFeHApCisJCXJldHVybiB0eXBlb2Ygb2JqID09PSAib2JqZWN0IiB8fCB0eXBlb2Ygb2JqID09PSAiZnVuY3Rpb24iID8KKwkJCWNsYXNzMnR5cGVbIHRvU3RyaW5nLmNhbGwoIG9iaiApIF0gfHwgIm9iamVjdCIgOgorCQkJdHlwZW9mIG9iajsKKwl9LAorCisJLy8gRXZhbHVhdGVzIGEgc2NyaXB0IGluIGEgZ2xvYmFsIGNvbnRleHQKKwlnbG9iYWxFdmFsOiBmdW5jdGlvbiggY29kZSApIHsKKwkJRE9NRXZhbCggY29kZSApOworCX0sCisKKwkvLyBDb252ZXJ0IGRhc2hlZCB0byBjYW1lbENhc2U7IHVzZWQgYnkgdGhlIGNzcyBhbmQgZGF0YSBtb2R1bGVzCisJLy8gU3VwcG9ydDogSUUgPD05IC0gMTEsIEVkZ2UgMTIgLSAxMworCS8vIE1pY3Jvc29mdCBmb3Jnb3QgdG8gaHVtcCB0aGVpciB2ZW5kb3IgcHJlZml4ICgjOTU3MikKKwljYW1lbENhc2U6IGZ1bmN0aW9uKCBzdHJpbmcgKSB7CisJCXJldHVybiBzdHJpbmcucmVwbGFjZSggcm1zUHJlZml4LCAibXMtIiApLnJlcGxhY2UoIHJkYXNoQWxwaGEsIGZjYW1lbENhc2UgKTsKKwl9LAorCisJZWFjaDogZnVuY3Rpb24oIG9iaiwgY2FsbGJhY2sgKSB7CisJCXZhciBsZW5ndGgsIGkgPSAwOworCisJCWlmICggaXNBcnJheUxpa2UoIG9iaiApICkgeworCQkJbGVuZ3RoID0gb2JqLmxlbmd0aDsKKwkJCWZvciAoIDsgaSA8IGxlbmd0aDsgaSsrICkgeworCQkJCWlmICggY2FsbGJhY2suY2FsbCggb2JqWyBpIF0sIGksIG9ialsgaSBdICkgPT09IGZhbHNlICkgeworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisJCX0gZWxzZSB7CisJCQlmb3IgKCBpIGluIG9iaiApIHsKKwkJCQlpZiAoIGNhbGxiYWNrLmNhbGwoIG9ialsgaSBdLCBpLCBvYmpbIGkgXSApID09PSBmYWxzZSApIHsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCQl9CisKKwkJcmV0dXJuIG9iajsKKwl9LAorCisJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5CisJdHJpbTogZnVuY3Rpb24oIHRleHQgKSB7CisJCXJldHVybiB0ZXh0ID09IG51bGwgPworCQkJIiIgOgorCQkJKCB0ZXh0ICsgIiIgKS5yZXBsYWNlKCBydHJpbSwgIiIgKTsKKwl9LAorCisJLy8gcmVzdWx0cyBpcyBmb3IgaW50ZXJuYWwgdXNhZ2Ugb25seQorCW1ha2VBcnJheTogZnVuY3Rpb24oIGFyciwgcmVzdWx0cyApIHsKKwkJdmFyIHJldCA9IHJlc3VsdHMgfHwgW107CisKKwkJaWYgKCBhcnIgIT0gbnVsbCApIHsKKwkJCWlmICggaXNBcnJheUxpa2UoIE9iamVjdCggYXJyICkgKSApIHsKKwkJCQlqUXVlcnkubWVyZ2UoIHJldCwKKwkJCQkJdHlwZW9mIGFyciA9PT0gInN0cmluZyIgPworCQkJCQlbIGFyciBdIDogYXJyCisJCQkJKTsKKwkJCX0gZWxzZSB7CisJCQkJcHVzaC5jYWxsKCByZXQsIGFyciApOworCQkJfQorCQl9CisKKwkJcmV0dXJuIHJldDsKKwl9LAorCisJaW5BcnJheTogZnVuY3Rpb24oIGVsZW0sIGFyciwgaSApIHsKKwkJcmV0dXJuIGFyciA9PSBudWxsID8gLTEgOiBpbmRleE9mLmNhbGwoIGFyciwgZWxlbSwgaSApOworCX0sCisKKwkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHksIFBoYW50b21KUyAxIG9ubHkKKwkvLyBwdXNoLmFwcGx5KF8sIGFycmF5bGlrZSkgdGhyb3dzIG9uIGFuY2llbnQgV2ViS2l0CisJbWVyZ2U6IGZ1bmN0aW9uKCBmaXJzdCwgc2Vjb25kICkgeworCQl2YXIgbGVuID0gK3NlY29uZC5sZW5ndGgsCisJCQlqID0gMCwKKwkJCWkgPSBmaXJzdC5sZW5ndGg7CisKKwkJZm9yICggOyBqIDwgbGVuOyBqKysgKSB7CisJCQlmaXJzdFsgaSsrIF0gPSBzZWNvbmRbIGogXTsKKwkJfQorCisJCWZpcnN0Lmxlbmd0aCA9IGk7CisKKwkJcmV0dXJuIGZpcnN0OworCX0sCisKKwlncmVwOiBmdW5jdGlvbiggZWxlbXMsIGNhbGxiYWNrLCBpbnZlcnQgKSB7CisJCXZhciBjYWxsYmFja0ludmVyc2UsCisJCQltYXRjaGVzID0gW10sCisJCQlpID0gMCwKKwkJCWxlbmd0aCA9IGVsZW1zLmxlbmd0aCwKKwkJCWNhbGxiYWNrRXhwZWN0ID0gIWludmVydDsKKworCQkvLyBHbyB0aHJvdWdoIHRoZSBhcnJheSwgb25seSBzYXZpbmcgdGhlIGl0ZW1zCisJCS8vIHRoYXQgcGFzcyB0aGUgdmFsaWRhdG9yIGZ1bmN0aW9uCisJCWZvciAoIDsgaSA8IGxlbmd0aDsgaSsrICkgeworCQkJY2FsbGJhY2tJbnZlcnNlID0gIWNhbGxiYWNrKCBlbGVtc1sgaSBdLCBpICk7CisJCQlpZiAoIGNhbGxiYWNrSW52ZXJzZSAhPT0gY2FsbGJhY2tFeHBlY3QgKSB7CisJCQkJbWF0Y2hlcy5wdXNoKCBlbGVtc1sgaSBdICk7CisJCQl9CisJCX0KKworCQlyZXR1cm4gbWF0Y2hlczsKKwl9LAorCisJLy8gYXJnIGlzIGZvciBpbnRlcm5hbCB1c2FnZSBvbmx5CisJbWFwOiBmdW5jdGlvbiggZWxlbXMsIGNhbGxiYWNrLCBhcmcgKSB7CisJCXZhciBsZW5ndGgsIHZhbHVlLAorCQkJaSA9IDAsCisJCQlyZXQgPSBbXTsKKworCQkvLyBHbyB0aHJvdWdoIHRoZSBhcnJheSwgdHJhbnNsYXRpbmcgZWFjaCBvZiB0aGUgaXRlbXMgdG8gdGhlaXIgbmV3IHZhbHVlcworCQlpZiAoIGlzQXJyYXlMaWtlKCBlbGVtcyApICkgeworCQkJbGVuZ3RoID0gZWxlbXMubGVuZ3RoOworCQkJZm9yICggOyBpIDwgbGVuZ3RoOyBpKysgKSB7CisJCQkJdmFsdWUgPSBjYWxsYmFjayggZWxlbXNbIGkgXSwgaSwgYXJnICk7CisKKwkJCQlpZiAoIHZhbHVlICE9IG51bGwgKSB7CisJCQkJCXJldC5wdXNoKCB2YWx1ZSApOworCQkJCX0KKwkJCX0KKworCQkvLyBHbyB0aHJvdWdoIGV2ZXJ5IGtleSBvbiB0aGUgb2JqZWN0LAorCQl9IGVsc2UgeworCQkJZm9yICggaSBpbiBlbGVtcyApIHsKKwkJCQl2YWx1ZSA9IGNhbGxiYWNrKCBlbGVtc1sgaSBdLCBpLCBhcmcgKTsKKworCQkJCWlmICggdmFsdWUgIT0gbnVsbCApIHsKKwkJCQkJcmV0LnB1c2goIHZhbHVlICk7CisJCQkJfQorCQkJfQorCQl9CisKKwkJLy8gRmxhdHRlbiBhbnkgbmVzdGVkIGFycmF5cworCQlyZXR1cm4gY29uY2F0LmFwcGx5KCBbXSwgcmV0ICk7CisJfSwKKworCS8vIEEgZ2xvYmFsIEdVSUQgY291bnRlciBmb3Igb2JqZWN0cworCWd1aWQ6IDEsCisKKwkvLyBCaW5kIGEgZnVuY3Rpb24gdG8gYSBjb250ZXh0LCBvcHRpb25hbGx5IHBhcnRpYWxseSBhcHBseWluZyBhbnkKKwkvLyBhcmd1bWVudHMuCisJcHJveHk6IGZ1bmN0aW9uKCBmbiwgY29udGV4dCApIHsKKwkJdmFyIHRtcCwgYXJncywgcHJveHk7CisKKwkJaWYgKCB0eXBlb2YgY29udGV4dCA9PT0gInN0cmluZyIgKSB7CisJCQl0bXAgPSBmblsgY29udGV4dCBdOworCQkJY29udGV4dCA9IGZuOworCQkJZm4gPSB0bXA7CisJCX0KKworCQkvLyBRdWljayBjaGVjayB0byBkZXRlcm1pbmUgaWYgdGFyZ2V0IGlzIGNhbGxhYmxlLCBpbiB0aGUgc3BlYworCQkvLyB0aGlzIHRocm93cyBhIFR5cGVFcnJvciwgYnV0IHdlIHdpbGwganVzdCByZXR1cm4gdW5kZWZpbmVkLgorCQlpZiAoICFqUXVlcnkuaXNGdW5jdGlvbiggZm4gKSApIHsKKwkJCXJldHVybiB1bmRlZmluZWQ7CisJCX0KKworCQkvLyBTaW11bGF0ZWQgYmluZAorCQlhcmdzID0gc2xpY2UuY2FsbCggYXJndW1lbnRzLCAyICk7CisJCXByb3h5ID0gZnVuY3Rpb24oKSB7CisJCQlyZXR1cm4gZm4uYXBwbHkoIGNvbnRleHQgfHwgdGhpcywgYXJncy5jb25jYXQoIHNsaWNlLmNhbGwoIGFyZ3VtZW50cyApICkgKTsKKwkJfTsKKworCQkvLyBTZXQgdGhlIGd1aWQgb2YgdW5pcXVlIGhhbmRsZXIgdG8gdGhlIHNhbWUgb2Ygb3JpZ2luYWwgaGFuZGxlciwgc28gaXQgY2FuIGJlIHJlbW92ZWQKKwkJcHJveHkuZ3VpZCA9IGZuLmd1aWQgPSBmbi5ndWlkIHx8IGpRdWVyeS5ndWlkKys7CisKKwkJcmV0dXJuIHByb3h5OworCX0sCisKKwlub3c6IERhdGUubm93LAorCisJLy8galF1ZXJ5LnN1cHBvcnQgaXMgbm90IHVzZWQgaW4gQ29yZSBidXQgb3RoZXIgcHJvamVjdHMgYXR0YWNoIHRoZWlyCisJLy8gcHJvcGVydGllcyB0byBpdCBzbyBpdCBuZWVkcyB0byBleGlzdC4KKwlzdXBwb3J0OiBzdXBwb3J0Cit9ICk7CisKK2lmICggdHlwZW9mIFN5bWJvbCA9PT0gImZ1bmN0aW9uIiApIHsKKwlqUXVlcnkuZm5bIFN5bWJvbC5pdGVyYXRvciBdID0gYXJyWyBTeW1ib2wuaXRlcmF0b3IgXTsKK30KKworLy8gUG9wdWxhdGUgdGhlIGNsYXNzMnR5cGUgbWFwCitqUXVlcnkuZWFjaCggIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sIi5zcGxpdCggIiAiICksCitmdW5jdGlvbiggaSwgbmFtZSApIHsKKwljbGFzczJ0eXBlWyAiW29iamVjdCAiICsgbmFtZSArICJdIiBdID0gbmFtZS50b0xvd2VyQ2FzZSgpOworfSApOworCitmdW5jdGlvbiBpc0FycmF5TGlrZSggb2JqICkgeworCisJLy8gU3VwcG9ydDogcmVhbCBpT1MgOC4yIG9ubHkgKG5vdCByZXByb2R1Y2libGUgaW4gc2ltdWxhdG9yKQorCS8vIGBpbmAgY2hlY2sgdXNlZCB0byBwcmV2ZW50IEpJVCBlcnJvciAoZ2gtMjE0NSkKKwkvLyBoYXNPd24gaXNuJ3QgdXNlZCBoZXJlIGR1ZSB0byBmYWxzZSBuZWdhdGl2ZXMKKwkvLyByZWdhcmRpbmcgTm9kZWxpc3QgbGVuZ3RoIGluIElFCisJdmFyIGxlbmd0aCA9ICEhb2JqICYmICJsZW5ndGgiIGluIG9iaiAmJiBvYmoubGVuZ3RoLAorCQl0eXBlID0galF1ZXJ5LnR5cGUoIG9iaiApOworCisJaWYgKCB0eXBlID09PSAiZnVuY3Rpb24iIHx8IGpRdWVyeS5pc1dpbmRvdyggb2JqICkgKSB7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlyZXR1cm4gdHlwZSA9PT0gImFycmF5IiB8fCBsZW5ndGggPT09IDAgfHwKKwkJdHlwZW9mIGxlbmd0aCA9PT0gIm51bWJlciIgJiYgbGVuZ3RoID4gMCAmJiAoIGxlbmd0aCAtIDEgKSBpbiBvYmo7Cit9Cit2YXIgU2l6emxlID0KKy8qIQorICogU2l6emxlIENTUyBTZWxlY3RvciBFbmdpbmUgdjIuMy4zCisgKiBodHRwczovL3NpenpsZWpzLmNvbS8KKyAqCisgKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycworICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCisgKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCisgKgorICogRGF0ZTogMjAxNi0wOC0wOAorICovCisoZnVuY3Rpb24oIHdpbmRvdyApIHsKKwordmFyIGksCisJc3VwcG9ydCwKKwlFeHByLAorCWdldFRleHQsCisJaXNYTUwsCisJdG9rZW5pemUsCisJY29tcGlsZSwKKwlzZWxlY3QsCisJb3V0ZXJtb3N0Q29udGV4dCwKKwlzb3J0SW5wdXQsCisJaGFzRHVwbGljYXRlLAorCisJLy8gTG9jYWwgZG9jdW1lbnQgdmFycworCXNldERvY3VtZW50LAorCWRvY3VtZW50LAorCWRvY0VsZW0sCisJZG9jdW1lbnRJc0hUTUwsCisJcmJ1Z2d5UVNBLAorCXJidWdneU1hdGNoZXMsCisJbWF0Y2hlcywKKwljb250YWlucywKKworCS8vIEluc3RhbmNlLXNwZWNpZmljIGRhdGEKKwlleHBhbmRvID0gInNpenpsZSIgKyAxICogbmV3IERhdGUoKSwKKwlwcmVmZXJyZWREb2MgPSB3aW5kb3cuZG9jdW1lbnQsCisJZGlycnVucyA9IDAsCisJZG9uZSA9IDAsCisJY2xhc3NDYWNoZSA9IGNyZWF0ZUNhY2hlKCksCisJdG9rZW5DYWNoZSA9IGNyZWF0ZUNhY2hlKCksCisJY29tcGlsZXJDYWNoZSA9IGNyZWF0ZUNhY2hlKCksCisJc29ydE9yZGVyID0gZnVuY3Rpb24oIGEsIGIgKSB7CisJCWlmICggYSA9PT0gYiApIHsKKwkJCWhhc0R1cGxpY2F0ZSA9IHRydWU7CisJCX0KKwkJcmV0dXJuIDA7CisJfSwKKworCS8vIEluc3RhbmNlIG1ldGhvZHMKKwloYXNPd24gPSAoe30pLmhhc093blByb3BlcnR5LAorCWFyciA9IFtdLAorCXBvcCA9IGFyci5wb3AsCisJcHVzaF9uYXRpdmUgPSBhcnIucHVzaCwKKwlwdXNoID0gYXJyLnB1c2gsCisJc2xpY2UgPSBhcnIuc2xpY2UsCisJLy8gVXNlIGEgc3RyaXBwZWQtZG93biBpbmRleE9mIGFzIGl0J3MgZmFzdGVyIHRoYW4gbmF0aXZlCisJLy8gaHR0cHM6Ly9qc3BlcmYuY29tL3Rob3ItaW5kZXhvZi12cy1mb3IvNQorCWluZGV4T2YgPSBmdW5jdGlvbiggbGlzdCwgZWxlbSApIHsKKwkJdmFyIGkgPSAwLAorCQkJbGVuID0gbGlzdC5sZW5ndGg7CisJCWZvciAoIDsgaSA8IGxlbjsgaSsrICkgeworCQkJaWYgKCBsaXN0W2ldID09PSBlbGVtICkgeworCQkJCXJldHVybiBpOworCQkJfQorCQl9CisJCXJldHVybiAtMTsKKwl9LAorCisJYm9vbGVhbnMgPSAiY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLAorCisJLy8gUmVndWxhciBleHByZXNzaW9ucworCisJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1zZWxlY3RvcnMvI3doaXRlc3BhY2UKKwl3aGl0ZXNwYWNlID0gIltcXHgyMFxcdFxcclxcblxcZl0iLAorCisJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvc3luZGF0YS5odG1sI3ZhbHVlLWRlZi1pZGVudGlmaWVyCisJaWRlbnRpZmllciA9ICIoPzpcXFxcLnxbXFx3LV18W15cMC1cXHhhMF0pKyIsCisKKwkvLyBBdHRyaWJ1dGUgc2VsZWN0b3JzOiBodHRwOi8vd3d3LnczLm9yZy9UUi9zZWxlY3RvcnMvI2F0dHJpYnV0ZS1zZWxlY3RvcnMKKwlhdHRyaWJ1dGVzID0gIlxcWyIgKyB3aGl0ZXNwYWNlICsgIiooIiArIGlkZW50aWZpZXIgKyAiKSg/OiIgKyB3aGl0ZXNwYWNlICsKKwkJLy8gT3BlcmF0b3IgKGNhcHR1cmUgMikKKwkJIiooWypeJHwhfl0/PSkiICsgd2hpdGVzcGFjZSArCisJCS8vICJBdHRyaWJ1dGUgdmFsdWVzIG11c3QgYmUgQ1NTIGlkZW50aWZpZXJzIFtjYXB0dXJlIDVdIG9yIHN0cmluZ3MgW2NhcHR1cmUgMyBvciBjYXB0dXJlIDRdIgorCQkiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiICsgaWRlbnRpZmllciArICIpKXwpIiArIHdoaXRlc3BhY2UgKworCQkiKlxcXSIsCisKKwlwc2V1ZG9zID0gIjooIiArIGlkZW50aWZpZXIgKyAiKSg/OlxcKCgiICsKKwkJLy8gVG8gcmVkdWNlIHRoZSBudW1iZXIgb2Ygc2VsZWN0b3JzIG5lZWRpbmcgdG9rZW5pemUgaW4gdGhlIHByZUZpbHRlciwgcHJlZmVyIGFyZ3VtZW50czoKKwkJLy8gMS4gcXVvdGVkIChjYXB0dXJlIDM7IGNhcHR1cmUgNCBvciBjYXB0dXJlIDUpCisJCSIoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCIgKworCQkvLyAyLiBzaW1wbGUgKGNhcHR1cmUgNikKKwkJIigoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIgKyBhdHRyaWJ1dGVzICsgIikqKXwiICsKKwkJLy8gMy4gYW55dGhpbmcgZWxzZSAoY2FwdHVyZSAyKQorCQkiLioiICsKKwkJIilcXCl8KSIsCisKKwkvLyBMZWFkaW5nIGFuZCBub24tZXNjYXBlZCB0cmFpbGluZyB3aGl0ZXNwYWNlLCBjYXB0dXJpbmcgc29tZSBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXJzIHByZWNlZGluZyB0aGUgbGF0dGVyCisJcndoaXRlc3BhY2UgPSBuZXcgUmVnRXhwKCB3aGl0ZXNwYWNlICsgIisiLCAiZyIgKSwKKwlydHJpbSA9IG5ldyBSZWdFeHAoICJeIiArIHdoaXRlc3BhY2UgKyAiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIiArIHdoaXRlc3BhY2UgKyAiKyQiLCAiZyIgKSwKKworCXJjb21tYSA9IG5ldyBSZWdFeHAoICJeIiArIHdoaXRlc3BhY2UgKyAiKiwiICsgd2hpdGVzcGFjZSArICIqIiApLAorCXJjb21iaW5hdG9ycyA9IG5ldyBSZWdFeHAoICJeIiArIHdoaXRlc3BhY2UgKyAiKihbPit+XXwiICsgd2hpdGVzcGFjZSArICIpIiArIHdoaXRlc3BhY2UgKyAiKiIgKSwKKworCXJhdHRyaWJ1dGVRdW90ZXMgPSBuZXcgUmVnRXhwKCAiPSIgKyB3aGl0ZXNwYWNlICsgIiooW15cXF0nXCJdKj8pIiArIHdoaXRlc3BhY2UgKyAiKlxcXSIsICJnIiApLAorCisJcnBzZXVkbyA9IG5ldyBSZWdFeHAoIHBzZXVkb3MgKSwKKwlyaWRlbnRpZmllciA9IG5ldyBSZWdFeHAoICJeIiArIGlkZW50aWZpZXIgKyAiJCIgKSwKKworCW1hdGNoRXhwciA9IHsKKwkJIklEIjogbmV3IFJlZ0V4cCggIl4jKCIgKyBpZGVudGlmaWVyICsgIikiICksCisJCSJDTEFTUyI6IG5ldyBSZWdFeHAoICJeXFwuKCIgKyBpZGVudGlmaWVyICsgIikiICksCisJCSJUQUciOiBuZXcgUmVnRXhwKCAiXigiICsgaWRlbnRpZmllciArICJ8WypdKSIgKSwKKwkJIkFUVFIiOiBuZXcgUmVnRXhwKCAiXiIgKyBhdHRyaWJ1dGVzICksCisJCSJQU0VVRE8iOiBuZXcgUmVnRXhwKCAiXiIgKyBwc2V1ZG9zICksCisJCSJDSElMRCI6IG5ldyBSZWdFeHAoICJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiICsgd2hpdGVzcGFjZSArCisJCQkiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIgKyB3aGl0ZXNwYWNlICsgIiooPzooWystXXwpIiArIHdoaXRlc3BhY2UgKworCQkJIiooXFxkKyl8KSkiICsgd2hpdGVzcGFjZSArICIqXFwpfCkiLCAiaSIgKSwKKwkJImJvb2wiOiBuZXcgUmVnRXhwKCAiXig/OiIgKyBib29sZWFucyArICIpJCIsICJpIiApLAorCQkvLyBGb3IgdXNlIGluIGxpYnJhcmllcyBpbXBsZW1lbnRpbmcgLmlzKCkKKwkJLy8gV2UgdXNlIHRoaXMgZm9yIFBPUyBtYXRjaGluZyBpbiBgc2VsZWN0YAorCQkibmVlZHNDb250ZXh0IjogbmV3IFJlZ0V4cCggIl4iICsgd2hpdGVzcGFjZSArICIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiICsKKwkJCXdoaXRlc3BhY2UgKyAiKigoPzotXFxkKT9cXGQqKSIgKyB3aGl0ZXNwYWNlICsgIipcXCl8KSg/PVteLV18JCkiLCAiaSIgKQorCX0sCisKKwlyaW5wdXRzID0gL14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSwKKwlyaGVhZGVyID0gL15oXGQkL2ksCisKKwlybmF0aXZlID0gL15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLAorCisJLy8gRWFzaWx5LXBhcnNlYWJsZS9yZXRyaWV2YWJsZSBJRCBvciBUQUcgb3IgQ0xBU1Mgc2VsZWN0b3JzCisJcnF1aWNrRXhwciA9IC9eKD86IyhbXHctXSspfChcdyspfFwuKFtcdy1dKykpJC8sCisKKwlyc2libGluZyA9IC9bK35dLywKKworCS8vIENTUyBlc2NhcGVzCisJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvc3luZGF0YS5odG1sI2VzY2FwZWQtY2hhcmFjdGVycworCXJ1bmVzY2FwZSA9IG5ldyBSZWdFeHAoICJcXFxcKFtcXGRhLWZdezEsNn0iICsgd2hpdGVzcGFjZSArICI/fCgiICsgd2hpdGVzcGFjZSArICIpfC4pIiwgImlnIiApLAorCWZ1bmVzY2FwZSA9IGZ1bmN0aW9uKCBfLCBlc2NhcGVkLCBlc2NhcGVkV2hpdGVzcGFjZSApIHsKKwkJdmFyIGhpZ2ggPSAiMHgiICsgZXNjYXBlZCAtIDB4MTAwMDA7CisJCS8vIE5hTiBtZWFucyBub24tY29kZXBvaW50CisJCS8vIFN1cHBvcnQ6IEZpcmVmb3g8MjQKKwkJLy8gV29ya2Fyb3VuZCBlcnJvbmVvdXMgbnVtZXJpYyBpbnRlcnByZXRhdGlvbiBvZiArIjB4IgorCQlyZXR1cm4gaGlnaCAhPT0gaGlnaCB8fCBlc2NhcGVkV2hpdGVzcGFjZSA/CisJCQllc2NhcGVkIDoKKwkJCWhpZ2ggPCAwID8KKwkJCQkvLyBCTVAgY29kZXBvaW50CisJCQkJU3RyaW5nLmZyb21DaGFyQ29kZSggaGlnaCArIDB4MTAwMDAgKSA6CisJCQkJLy8gU3VwcGxlbWVudGFsIFBsYW5lIGNvZGVwb2ludCAoc3Vycm9nYXRlIHBhaXIpCisJCQkJU3RyaW5nLmZyb21DaGFyQ29kZSggaGlnaCA+PiAxMCB8IDB4RDgwMCwgaGlnaCAmIDB4M0ZGIHwgMHhEQzAwICk7CisJfSwKKworCS8vIENTUyBzdHJpbmcvaWRlbnRpZmllciBzZXJpYWxpemF0aW9uCisJLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29tLyNjb21tb24tc2VyaWFsaXppbmctaWRpb21zCisJcmNzc2VzY2FwZSA9IC8oW1wwLVx4MWZceDdmXXxeLT9cZCl8Xi0kfFteXDAtXHgxZlx4N2YtXHVGRkZGXHctXS9nLAorCWZjc3Nlc2NhcGUgPSBmdW5jdGlvbiggY2gsIGFzQ29kZVBvaW50ICkgeworCQlpZiAoIGFzQ29kZVBvaW50ICkgeworCisJCQkvLyBVKzAwMDAgTlVMTCBiZWNvbWVzIFUrRkZGRCBSRVBMQUNFTUVOVCBDSEFSQUNURVIKKwkJCWlmICggY2ggPT09ICJcMCIgKSB7CisJCQkJcmV0dXJuICJcdUZGRkQiOworCQkJfQorCisJCQkvLyBDb250cm9sIGNoYXJhY3RlcnMgYW5kIChkZXBlbmRlbnQgdXBvbiBwb3NpdGlvbikgbnVtYmVycyBnZXQgZXNjYXBlZCBhcyBjb2RlIHBvaW50cworCQkJcmV0dXJuIGNoLnNsaWNlKCAwLCAtMSApICsgIlxcIiArIGNoLmNoYXJDb2RlQXQoIGNoLmxlbmd0aCAtIDEgKS50b1N0cmluZyggMTYgKSArICIgIjsKKwkJfQorCisJCS8vIE90aGVyIHBvdGVudGlhbGx5LXNwZWNpYWwgQVNDSUkgY2hhcmFjdGVycyBnZXQgYmFja3NsYXNoLWVzY2FwZWQKKwkJcmV0dXJuICJcXCIgKyBjaDsKKwl9LAorCisJLy8gVXNlZCBmb3IgaWZyYW1lcworCS8vIFNlZSBzZXREb2N1bWVudCgpCisJLy8gUmVtb3ZpbmcgdGhlIGZ1bmN0aW9uIHdyYXBwZXIgY2F1c2VzIGEgIlBlcm1pc3Npb24gRGVuaWVkIgorCS8vIGVycm9yIGluIElFCisJdW5sb2FkSGFuZGxlciA9IGZ1bmN0aW9uKCkgeworCQlzZXREb2N1bWVudCgpOworCX0sCisKKwlkaXNhYmxlZEFuY2VzdG9yID0gYWRkQ29tYmluYXRvcigKKwkJZnVuY3Rpb24oIGVsZW0gKSB7CisJCQlyZXR1cm4gZWxlbS5kaXNhYmxlZCA9PT0gdHJ1ZSAmJiAoImZvcm0iIGluIGVsZW0gfHwgImxhYmVsIiBpbiBlbGVtKTsKKwkJfSwKKwkJeyBkaXI6ICJwYXJlbnROb2RlIiwgbmV4dDogImxlZ2VuZCIgfQorCSk7CisKKy8vIE9wdGltaXplIGZvciBwdXNoLmFwcGx5KCBfLCBOb2RlTGlzdCApCit0cnkgeworCXB1c2guYXBwbHkoCisJCShhcnIgPSBzbGljZS5jYWxsKCBwcmVmZXJyZWREb2MuY2hpbGROb2RlcyApKSwKKwkJcHJlZmVycmVkRG9jLmNoaWxkTm9kZXMKKwkpOworCS8vIFN1cHBvcnQ6IEFuZHJvaWQ8NC4wCisJLy8gRGV0ZWN0IHNpbGVudGx5IGZhaWxpbmcgcHVzaC5hcHBseQorCWFyclsgcHJlZmVycmVkRG9jLmNoaWxkTm9kZXMubGVuZ3RoIF0ubm9kZVR5cGU7Cit9IGNhdGNoICggZSApIHsKKwlwdXNoID0geyBhcHBseTogYXJyLmxlbmd0aCA/CisKKwkJLy8gTGV2ZXJhZ2Ugc2xpY2UgaWYgcG9zc2libGUKKwkJZnVuY3Rpb24oIHRhcmdldCwgZWxzICkgeworCQkJcHVzaF9uYXRpdmUuYXBwbHkoIHRhcmdldCwgc2xpY2UuY2FsbChlbHMpICk7CisJCX0gOgorCisJCS8vIFN1cHBvcnQ6IElFPDkKKwkJLy8gT3RoZXJ3aXNlIGFwcGVuZCBkaXJlY3RseQorCQlmdW5jdGlvbiggdGFyZ2V0LCBlbHMgKSB7CisJCQl2YXIgaiA9IHRhcmdldC5sZW5ndGgsCisJCQkJaSA9IDA7CisJCQkvLyBDYW4ndCB0cnVzdCBOb2RlTGlzdC5sZW5ndGgKKwkJCXdoaWxlICggKHRhcmdldFtqKytdID0gZWxzW2krK10pICkge30KKwkJCXRhcmdldC5sZW5ndGggPSBqIC0gMTsKKwkJfQorCX07Cit9CisKK2Z1bmN0aW9uIFNpenpsZSggc2VsZWN0b3IsIGNvbnRleHQsIHJlc3VsdHMsIHNlZWQgKSB7CisJdmFyIG0sIGksIGVsZW0sIG5pZCwgbWF0Y2gsIGdyb3VwcywgbmV3U2VsZWN0b3IsCisJCW5ld0NvbnRleHQgPSBjb250ZXh0ICYmIGNvbnRleHQub3duZXJEb2N1bWVudCwKKworCQkvLyBub2RlVHlwZSBkZWZhdWx0cyB0byA5LCBzaW5jZSBjb250ZXh0IGRlZmF1bHRzIHRvIGRvY3VtZW50CisJCW5vZGVUeXBlID0gY29udGV4dCA/IGNvbnRleHQubm9kZVR5cGUgOiA5OworCisJcmVzdWx0cyA9IHJlc3VsdHMgfHwgW107CisKKwkvLyBSZXR1cm4gZWFybHkgZnJvbSBjYWxscyB3aXRoIGludmFsaWQgc2VsZWN0b3Igb3IgY29udGV4dAorCWlmICggdHlwZW9mIHNlbGVjdG9yICE9PSAic3RyaW5nIiB8fCAhc2VsZWN0b3IgfHwKKwkJbm9kZVR5cGUgIT09IDEgJiYgbm9kZVR5cGUgIT09IDkgJiYgbm9kZVR5cGUgIT09IDExICkgeworCisJCXJldHVybiByZXN1bHRzOworCX0KKworCS8vIFRyeSB0byBzaG9ydGN1dCBmaW5kIG9wZXJhdGlvbnMgKGFzIG9wcG9zZWQgdG8gZmlsdGVycykgaW4gSFRNTCBkb2N1bWVudHMKKwlpZiAoICFzZWVkICkgeworCisJCWlmICggKCBjb250ZXh0ID8gY29udGV4dC5vd25lckRvY3VtZW50IHx8IGNvbnRleHQgOiBwcmVmZXJyZWREb2MgKSAhPT0gZG9jdW1lbnQgKSB7CisJCQlzZXREb2N1bWVudCggY29udGV4dCApOworCQl9CisJCWNvbnRleHQgPSBjb250ZXh0IHx8IGRvY3VtZW50OworCisJCWlmICggZG9jdW1lbnRJc0hUTUwgKSB7CisKKwkJCS8vIElmIHRoZSBzZWxlY3RvciBpcyBzdWZmaWNpZW50bHkgc2ltcGxlLCB0cnkgdXNpbmcgYSAiZ2V0KkJ5KiIgRE9NIG1ldGhvZAorCQkJLy8gKGV4Y2VwdGluZyBEb2N1bWVudEZyYWdtZW50IGNvbnRleHQsIHdoZXJlIHRoZSBtZXRob2RzIGRvbid0IGV4aXN0KQorCQkJaWYgKCBub2RlVHlwZSAhPT0gMTEgJiYgKG1hdGNoID0gcnF1aWNrRXhwci5leGVjKCBzZWxlY3RvciApKSApIHsKKworCQkJCS8vIElEIHNlbGVjdG9yCisJCQkJaWYgKCAobSA9IG1hdGNoWzFdKSApIHsKKworCQkJCQkvLyBEb2N1bWVudCBjb250ZXh0CisJCQkJCWlmICggbm9kZVR5cGUgPT09IDkgKSB7CisJCQkJCQlpZiAoIChlbGVtID0gY29udGV4dC5nZXRFbGVtZW50QnlJZCggbSApKSApIHsKKworCQkJCQkJCS8vIFN1cHBvcnQ6IElFLCBPcGVyYSwgV2Via2l0CisJCQkJCQkJLy8gVE9ETzogaWRlbnRpZnkgdmVyc2lvbnMKKwkJCQkJCQkvLyBnZXRFbGVtZW50QnlJZCBjYW4gbWF0Y2ggZWxlbWVudHMgYnkgbmFtZSBpbnN0ZWFkIG9mIElECisJCQkJCQkJaWYgKCBlbGVtLmlkID09PSBtICkgeworCQkJCQkJCQlyZXN1bHRzLnB1c2goIGVsZW0gKTsKKwkJCQkJCQkJcmV0dXJuIHJlc3VsdHM7CisJCQkJCQkJfQorCQkJCQkJfSBlbHNlIHsKKwkJCQkJCQlyZXR1cm4gcmVzdWx0czsKKwkJCQkJCX0KKworCQkJCQkvLyBFbGVtZW50IGNvbnRleHQKKwkJCQkJfSBlbHNlIHsKKworCQkJCQkJLy8gU3VwcG9ydDogSUUsIE9wZXJhLCBXZWJraXQKKwkJCQkJCS8vIFRPRE86IGlkZW50aWZ5IHZlcnNpb25zCisJCQkJCQkvLyBnZXRFbGVtZW50QnlJZCBjYW4gbWF0Y2ggZWxlbWVudHMgYnkgbmFtZSBpbnN0ZWFkIG9mIElECisJCQkJCQlpZiAoIG5ld0NvbnRleHQgJiYgKGVsZW0gPSBuZXdDb250ZXh0LmdldEVsZW1lbnRCeUlkKCBtICkpICYmCisJCQkJCQkJY29udGFpbnMoIGNvbnRleHQsIGVsZW0gKSAmJgorCQkJCQkJCWVsZW0uaWQgPT09IG0gKSB7CisKKwkJCQkJCQlyZXN1bHRzLnB1c2goIGVsZW0gKTsKKwkJCQkJCQlyZXR1cm4gcmVzdWx0czsKKwkJCQkJCX0KKwkJCQkJfQorCisJCQkJLy8gVHlwZSBzZWxlY3RvcgorCQkJCX0gZWxzZSBpZiAoIG1hdGNoWzJdICkgeworCQkJCQlwdXNoLmFwcGx5KCByZXN1bHRzLCBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCBzZWxlY3RvciApICk7CisJCQkJCXJldHVybiByZXN1bHRzOworCisJCQkJLy8gQ2xhc3Mgc2VsZWN0b3IKKwkJCQl9IGVsc2UgaWYgKCAobSA9IG1hdGNoWzNdKSAmJiBzdXBwb3J0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUgJiYKKwkJCQkJY29udGV4dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lICkgeworCisJCQkJCXB1c2guYXBwbHkoIHJlc3VsdHMsIGNvbnRleHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSggbSApICk7CisJCQkJCXJldHVybiByZXN1bHRzOworCQkJCX0KKwkJCX0KKworCQkJLy8gVGFrZSBhZHZhbnRhZ2Ugb2YgcXVlcnlTZWxlY3RvckFsbAorCQkJaWYgKCBzdXBwb3J0LnFzYSAmJgorCQkJCSFjb21waWxlckNhY2hlWyBzZWxlY3RvciArICIgIiBdICYmCisJCQkJKCFyYnVnZ3lRU0EgfHwgIXJidWdneVFTQS50ZXN0KCBzZWxlY3RvciApKSApIHsKKworCQkJCWlmICggbm9kZVR5cGUgIT09IDEgKSB7CisJCQkJCW5ld0NvbnRleHQgPSBjb250ZXh0OworCQkJCQluZXdTZWxlY3RvciA9IHNlbGVjdG9yOworCisJCQkJLy8gcVNBIGxvb2tzIG91dHNpZGUgRWxlbWVudCBjb250ZXh0LCB3aGljaCBpcyBub3Qgd2hhdCB3ZSB3YW50CisJCQkJLy8gVGhhbmtzIHRvIEFuZHJldyBEdXBvbnQgZm9yIHRoaXMgd29ya2Fyb3VuZCB0ZWNobmlxdWUKKwkJCQkvLyBTdXBwb3J0OiBJRSA8PTgKKwkJCQkvLyBFeGNsdWRlIG9iamVjdCBlbGVtZW50cworCQkJCX0gZWxzZSBpZiAoIGNvbnRleHQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPT0gIm9iamVjdCIgKSB7CisKKwkJCQkJLy8gQ2FwdHVyZSB0aGUgY29udGV4dCBJRCwgc2V0dGluZyBpdCBmaXJzdCBpZiBuZWNlc3NhcnkKKwkJCQkJaWYgKCAobmlkID0gY29udGV4dC5nZXRBdHRyaWJ1dGUoICJpZCIgKSkgKSB7CisJCQkJCQluaWQgPSBuaWQucmVwbGFjZSggcmNzc2VzY2FwZSwgZmNzc2VzY2FwZSApOworCQkJCQl9IGVsc2UgeworCQkJCQkJY29udGV4dC5zZXRBdHRyaWJ1dGUoICJpZCIsIChuaWQgPSBleHBhbmRvKSApOworCQkJCQl9CisKKwkJCQkJLy8gUHJlZml4IGV2ZXJ5IHNlbGVjdG9yIGluIHRoZSBsaXN0CisJCQkJCWdyb3VwcyA9IHRva2VuaXplKCBzZWxlY3RvciApOworCQkJCQlpID0gZ3JvdXBzLmxlbmd0aDsKKwkJCQkJd2hpbGUgKCBpLS0gKSB7CisJCQkJCQlncm91cHNbaV0gPSAiIyIgKyBuaWQgKyAiICIgKyB0b1NlbGVjdG9yKCBncm91cHNbaV0gKTsKKwkJCQkJfQorCQkJCQluZXdTZWxlY3RvciA9IGdyb3Vwcy5qb2luKCAiLCIgKTsKKworCQkJCQkvLyBFeHBhbmQgY29udGV4dCBmb3Igc2libGluZyBzZWxlY3RvcnMKKwkJCQkJbmV3Q29udGV4dCA9IHJzaWJsaW5nLnRlc3QoIHNlbGVjdG9yICkgJiYgdGVzdENvbnRleHQoIGNvbnRleHQucGFyZW50Tm9kZSApIHx8CisJCQkJCQljb250ZXh0OworCQkJCX0KKworCQkJCWlmICggbmV3U2VsZWN0b3IgKSB7CisJCQkJCXRyeSB7CisJCQkJCQlwdXNoLmFwcGx5KCByZXN1bHRzLAorCQkJCQkJCW5ld0NvbnRleHQucXVlcnlTZWxlY3RvckFsbCggbmV3U2VsZWN0b3IgKQorCQkJCQkJKTsKKwkJCQkJCXJldHVybiByZXN1bHRzOworCQkJCQl9IGNhdGNoICggcXNhRXJyb3IgKSB7CisJCQkJCX0gZmluYWxseSB7CisJCQkJCQlpZiAoIG5pZCA9PT0gZXhwYW5kbyApIHsKKwkJCQkJCQljb250ZXh0LnJlbW92ZUF0dHJpYnV0ZSggImlkIiApOworCQkJCQkJfQorCQkJCQl9CisJCQkJfQorCQkJfQorCQl9CisJfQorCisJLy8gQWxsIG90aGVycworCXJldHVybiBzZWxlY3QoIHNlbGVjdG9yLnJlcGxhY2UoIHJ0cmltLCAiJDEiICksIGNvbnRleHQsIHJlc3VsdHMsIHNlZWQgKTsKK30KKworLyoqCisgKiBDcmVhdGUga2V5LXZhbHVlIGNhY2hlcyBvZiBsaW1pdGVkIHNpemUKKyAqIEByZXR1cm5zIHtmdW5jdGlvbihzdHJpbmcsIG9iamVjdCl9IFJldHVybnMgdGhlIE9iamVjdCBkYXRhIGFmdGVyIHN0b3JpbmcgaXQgb24gaXRzZWxmIHdpdGgKKyAqCXByb3BlcnR5IG5hbWUgdGhlIChzcGFjZS1zdWZmaXhlZCkgc3RyaW5nIGFuZCAoaWYgdGhlIGNhY2hlIGlzIGxhcmdlciB0aGFuIEV4cHIuY2FjaGVMZW5ndGgpCisgKglkZWxldGluZyB0aGUgb2xkZXN0IGVudHJ5CisgKi8KK2Z1bmN0aW9uIGNyZWF0ZUNhY2hlKCkgeworCXZhciBrZXlzID0gW107CisKKwlmdW5jdGlvbiBjYWNoZSgga2V5LCB2YWx1ZSApIHsKKwkJLy8gVXNlIChrZXkgKyAiICIpIHRvIGF2b2lkIGNvbGxpc2lvbiB3aXRoIG5hdGl2ZSBwcm90b3R5cGUgcHJvcGVydGllcyAoc2VlIElzc3VlICMxNTcpCisJCWlmICgga2V5cy5wdXNoKCBrZXkgKyAiICIgKSA+IEV4cHIuY2FjaGVMZW5ndGggKSB7CisJCQkvLyBPbmx5IGtlZXAgdGhlIG1vc3QgcmVjZW50IGVudHJpZXMKKwkJCWRlbGV0ZSBjYWNoZVsga2V5cy5zaGlmdCgpIF07CisJCX0KKwkJcmV0dXJuIChjYWNoZVsga2V5ICsgIiAiIF0gPSB2YWx1ZSk7CisJfQorCXJldHVybiBjYWNoZTsKK30KKworLyoqCisgKiBNYXJrIGEgZnVuY3Rpb24gZm9yIHNwZWNpYWwgdXNlIGJ5IFNpenpsZQorICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gVGhlIGZ1bmN0aW9uIHRvIG1hcmsKKyAqLworZnVuY3Rpb24gbWFya0Z1bmN0aW9uKCBmbiApIHsKKwlmblsgZXhwYW5kbyBdID0gdHJ1ZTsKKwlyZXR1cm4gZm47Cit9CisKKy8qKgorICogU3VwcG9ydCB0ZXN0aW5nIHVzaW5nIGFuIGVsZW1lbnQKKyAqIEBwYXJhbSB7RnVuY3Rpb259IGZuIFBhc3NlZCB0aGUgY3JlYXRlZCBlbGVtZW50IGFuZCByZXR1cm5zIGEgYm9vbGVhbiByZXN1bHQKKyAqLworZnVuY3Rpb24gYXNzZXJ0KCBmbiApIHsKKwl2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpOworCisJdHJ5IHsKKwkJcmV0dXJuICEhZm4oIGVsICk7CisJfSBjYXRjaCAoZSkgeworCQlyZXR1cm4gZmFsc2U7CisJfSBmaW5hbGx5IHsKKwkJLy8gUmVtb3ZlIGZyb20gaXRzIHBhcmVudCBieSBkZWZhdWx0CisJCWlmICggZWwucGFyZW50Tm9kZSApIHsKKwkJCWVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoIGVsICk7CisJCX0KKwkJLy8gcmVsZWFzZSBtZW1vcnkgaW4gSUUKKwkJZWwgPSBudWxsOworCX0KK30KKworLyoqCisgKiBBZGRzIHRoZSBzYW1lIGhhbmRsZXIgZm9yIGFsbCBvZiB0aGUgc3BlY2lmaWVkIGF0dHJzCisgKiBAcGFyYW0ge1N0cmluZ30gYXR0cnMgUGlwZS1zZXBhcmF0ZWQgbGlzdCBvZiBhdHRyaWJ1dGVzCisgKiBAcGFyYW0ge0Z1bmN0aW9ufSBoYW5kbGVyIFRoZSBtZXRob2QgdGhhdCB3aWxsIGJlIGFwcGxpZWQKKyAqLworZnVuY3Rpb24gYWRkSGFuZGxlKCBhdHRycywgaGFuZGxlciApIHsKKwl2YXIgYXJyID0gYXR0cnMuc3BsaXQoInwiKSwKKwkJaSA9IGFyci5sZW5ndGg7CisKKwl3aGlsZSAoIGktLSApIHsKKwkJRXhwci5hdHRySGFuZGxlWyBhcnJbaV0gXSA9IGhhbmRsZXI7CisJfQorfQorCisvKioKKyAqIENoZWNrcyBkb2N1bWVudCBvcmRlciBvZiB0d28gc2libGluZ3MKKyAqIEBwYXJhbSB7RWxlbWVudH0gYQorICogQHBhcmFtIHtFbGVtZW50fSBiCisgKiBAcmV0dXJucyB7TnVtYmVyfSBSZXR1cm5zIGxlc3MgdGhhbiAwIGlmIGEgcHJlY2VkZXMgYiwgZ3JlYXRlciB0aGFuIDAgaWYgYSBmb2xsb3dzIGIKKyAqLworZnVuY3Rpb24gc2libGluZ0NoZWNrKCBhLCBiICkgeworCXZhciBjdXIgPSBiICYmIGEsCisJCWRpZmYgPSBjdXIgJiYgYS5ub2RlVHlwZSA9PT0gMSAmJiBiLm5vZGVUeXBlID09PSAxICYmCisJCQlhLnNvdXJjZUluZGV4IC0gYi5zb3VyY2VJbmRleDsKKworCS8vIFVzZSBJRSBzb3VyY2VJbmRleCBpZiBhdmFpbGFibGUgb24gYm90aCBub2RlcworCWlmICggZGlmZiApIHsKKwkJcmV0dXJuIGRpZmY7CisJfQorCisJLy8gQ2hlY2sgaWYgYiBmb2xsb3dzIGEKKwlpZiAoIGN1ciApIHsKKwkJd2hpbGUgKCAoY3VyID0gY3VyLm5leHRTaWJsaW5nKSApIHsKKwkJCWlmICggY3VyID09PSBiICkgeworCQkJCXJldHVybiAtMTsKKwkJCX0KKwkJfQorCX0KKworCXJldHVybiBhID8gMSA6IC0xOworfQorCisvKioKKyAqIFJldHVybnMgYSBmdW5jdGlvbiB0byB1c2UgaW4gcHNldWRvcyBmb3IgaW5wdXQgdHlwZXMKKyAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlCisgKi8KK2Z1bmN0aW9uIGNyZWF0ZUlucHV0UHNldWRvKCB0eXBlICkgeworCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsKKwkJdmFyIG5hbWUgPSBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7CisJCXJldHVybiBuYW1lID09PSAiaW5wdXQiICYmIGVsZW0udHlwZSA9PT0gdHlwZTsKKwl9OworfQorCisvKioKKyAqIFJldHVybnMgYSBmdW5jdGlvbiB0byB1c2UgaW4gcHNldWRvcyBmb3IgYnV0dG9ucworICogQHBhcmFtIHtTdHJpbmd9IHR5cGUKKyAqLworZnVuY3Rpb24gY3JlYXRlQnV0dG9uUHNldWRvKCB0eXBlICkgeworCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsKKwkJdmFyIG5hbWUgPSBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7CisJCXJldHVybiAobmFtZSA9PT0gImlucHV0IiB8fCBuYW1lID09PSAiYnV0dG9uIikgJiYgZWxlbS50eXBlID09PSB0eXBlOworCX07Cit9CisKKy8qKgorICogUmV0dXJucyBhIGZ1bmN0aW9uIHRvIHVzZSBpbiBwc2V1ZG9zIGZvciA6ZW5hYmxlZC86ZGlzYWJsZWQKKyAqIEBwYXJhbSB7Qm9vbGVhbn0gZGlzYWJsZWQgdHJ1ZSBmb3IgOmRpc2FibGVkOyBmYWxzZSBmb3IgOmVuYWJsZWQKKyAqLworZnVuY3Rpb24gY3JlYXRlRGlzYWJsZWRQc2V1ZG8oIGRpc2FibGVkICkgeworCisJLy8gS25vd24gOmRpc2FibGVkIGZhbHNlIHBvc2l0aXZlczogZmllbGRzZXRbZGlzYWJsZWRdID4gbGVnZW5kOm50aC1vZi10eXBlKG4rMikgOmNhbi1kaXNhYmxlCisJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgeworCisJCS8vIE9ubHkgY2VydGFpbiBlbGVtZW50cyBjYW4gbWF0Y2ggOmVuYWJsZWQgb3IgOmRpc2FibGVkCisJCS8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI3NlbGVjdG9yLWVuYWJsZWQKKwkJLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2NyaXB0aW5nLmh0bWwjc2VsZWN0b3ItZGlzYWJsZWQKKwkJaWYgKCAiZm9ybSIgaW4gZWxlbSApIHsKKworCQkJLy8gQ2hlY2sgZm9yIGluaGVyaXRlZCBkaXNhYmxlZG5lc3Mgb24gcmVsZXZhbnQgbm9uLWRpc2FibGVkIGVsZW1lbnRzOgorCQkJLy8gKiBsaXN0ZWQgZm9ybS1hc3NvY2lhdGVkIGVsZW1lbnRzIGluIGEgZGlzYWJsZWQgZmllbGRzZXQKKwkJCS8vICAgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybXMuaHRtbCNjYXRlZ29yeS1saXN0ZWQKKwkJCS8vICAgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybXMuaHRtbCNjb25jZXB0LWZlLWRpc2FibGVkCisJCQkvLyAqIG9wdGlvbiBlbGVtZW50cyBpbiBhIGRpc2FibGVkIG9wdGdyb3VwCisJCQkvLyAgIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm1zLmh0bWwjY29uY2VwdC1vcHRpb24tZGlzYWJsZWQKKwkJCS8vIEFsbCBzdWNoIGVsZW1lbnRzIGhhdmUgYSAiZm9ybSIgcHJvcGVydHkuCisJCQlpZiAoIGVsZW0ucGFyZW50Tm9kZSAmJiBlbGVtLmRpc2FibGVkID09PSBmYWxzZSApIHsKKworCQkJCS8vIE9wdGlvbiBlbGVtZW50cyBkZWZlciB0byBhIHBhcmVudCBvcHRncm91cCBpZiBwcmVzZW50CisJCQkJaWYgKCAibGFiZWwiIGluIGVsZW0gKSB7CisJCQkJCWlmICggImxhYmVsIiBpbiBlbGVtLnBhcmVudE5vZGUgKSB7CisJCQkJCQlyZXR1cm4gZWxlbS5wYXJlbnROb2RlLmRpc2FibGVkID09PSBkaXNhYmxlZDsKKwkJCQkJfSBlbHNlIHsKKwkJCQkJCXJldHVybiBlbGVtLmRpc2FibGVkID09PSBkaXNhYmxlZDsKKwkJCQkJfQorCQkJCX0KKworCQkJCS8vIFN1cHBvcnQ6IElFIDYgLSAxMQorCQkJCS8vIFVzZSB0aGUgaXNEaXNhYmxlZCBzaG9ydGN1dCBwcm9wZXJ0eSB0byBjaGVjayBmb3IgZGlzYWJsZWQgZmllbGRzZXQgYW5jZXN0b3JzCisJCQkJcmV0dXJuIGVsZW0uaXNEaXNhYmxlZCA9PT0gZGlzYWJsZWQgfHwKKworCQkJCQkvLyBXaGVyZSB0aGVyZSBpcyBubyBpc0Rpc2FibGVkLCBjaGVjayBtYW51YWxseQorCQkJCQkvKiBqc2hpbnQgLVcwMTggKi8KKwkJCQkJZWxlbS5pc0Rpc2FibGVkICE9PSAhZGlzYWJsZWQgJiYKKwkJCQkJCWRpc2FibGVkQW5jZXN0b3IoIGVsZW0gKSA9PT0gZGlzYWJsZWQ7CisJCQl9CisKKwkJCXJldHVybiBlbGVtLmRpc2FibGVkID09PSBkaXNhYmxlZDsKKworCQkvLyBUcnkgdG8gd2lubm93IG91dCBlbGVtZW50cyB0aGF0IGNhbid0IGJlIGRpc2FibGVkIGJlZm9yZSB0cnVzdGluZyB0aGUgZGlzYWJsZWQgcHJvcGVydHkuCisJCS8vIFNvbWUgdmljdGltcyBnZXQgY2F1Z2h0IGluIG91ciBuZXQgKGxhYmVsLCBsZWdlbmQsIG1lbnUsIHRyYWNrKSwgYnV0IGl0IHNob3VsZG4ndAorCQkvLyBldmVuIGV4aXN0IG9uIHRoZW0sIGxldCBhbG9uZSBoYXZlIGEgYm9vbGVhbiB2YWx1ZS4KKwkJfSBlbHNlIGlmICggImxhYmVsIiBpbiBlbGVtICkgeworCQkJcmV0dXJuIGVsZW0uZGlzYWJsZWQgPT09IGRpc2FibGVkOworCQl9CisKKwkJLy8gUmVtYWluaW5nIGVsZW1lbnRzIGFyZSBuZWl0aGVyIDplbmFibGVkIG5vciA6ZGlzYWJsZWQKKwkJcmV0dXJuIGZhbHNlOworCX07Cit9CisKKy8qKgorICogUmV0dXJucyBhIGZ1bmN0aW9uIHRvIHVzZSBpbiBwc2V1ZG9zIGZvciBwb3NpdGlvbmFscworICogQHBhcmFtIHtGdW5jdGlvbn0gZm4KKyAqLworZnVuY3Rpb24gY3JlYXRlUG9zaXRpb25hbFBzZXVkbyggZm4gKSB7CisJcmV0dXJuIG1hcmtGdW5jdGlvbihmdW5jdGlvbiggYXJndW1lbnQgKSB7CisJCWFyZ3VtZW50ID0gK2FyZ3VtZW50OworCQlyZXR1cm4gbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKCBzZWVkLCBtYXRjaGVzICkgeworCQkJdmFyIGosCisJCQkJbWF0Y2hJbmRleGVzID0gZm4oIFtdLCBzZWVkLmxlbmd0aCwgYXJndW1lbnQgKSwKKwkJCQlpID0gbWF0Y2hJbmRleGVzLmxlbmd0aDsKKworCQkJLy8gTWF0Y2ggZWxlbWVudHMgZm91bmQgYXQgdGhlIHNwZWNpZmllZCBpbmRleGVzCisJCQl3aGlsZSAoIGktLSApIHsKKwkJCQlpZiAoIHNlZWRbIChqID0gbWF0Y2hJbmRleGVzW2ldKSBdICkgeworCQkJCQlzZWVkW2pdID0gIShtYXRjaGVzW2pdID0gc2VlZFtqXSk7CisJCQkJfQorCQkJfQorCQl9KTsKKwl9KTsKK30KKworLyoqCisgKiBDaGVja3MgYSBub2RlIGZvciB2YWxpZGl0eSBhcyBhIFNpenpsZSBjb250ZXh0CisgKiBAcGFyYW0ge0VsZW1lbnR8T2JqZWN0PX0gY29udGV4dAorICogQHJldHVybnMge0VsZW1lbnR8T2JqZWN0fEJvb2xlYW59IFRoZSBpbnB1dCBub2RlIGlmIGFjY2VwdGFibGUsIG90aGVyd2lzZSBhIGZhbHN5IHZhbHVlCisgKi8KK2Z1bmN0aW9uIHRlc3RDb250ZXh0KCBjb250ZXh0ICkgeworCXJldHVybiBjb250ZXh0ICYmIHR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lICE9PSAidW5kZWZpbmVkIiAmJiBjb250ZXh0OworfQorCisvLyBFeHBvc2Ugc3VwcG9ydCB2YXJzIGZvciBjb252ZW5pZW5jZQorc3VwcG9ydCA9IFNpenpsZS5zdXBwb3J0ID0ge307CisKKy8qKgorICogRGV0ZWN0cyBYTUwgbm9kZXMKKyAqIEBwYXJhbSB7RWxlbWVudHxPYmplY3R9IGVsZW0gQW4gZWxlbWVudCBvciBhIGRvY3VtZW50CisgKiBAcmV0dXJucyB7Qm9vbGVhbn0gVHJ1ZSBpZmYgZWxlbSBpcyBhIG5vbi1IVE1MIFhNTCBub2RlCisgKi8KK2lzWE1MID0gU2l6emxlLmlzWE1MID0gZnVuY3Rpb24oIGVsZW0gKSB7CisJLy8gZG9jdW1lbnRFbGVtZW50IGlzIHZlcmlmaWVkIGZvciBjYXNlcyB3aGVyZSBpdCBkb2Vzbid0IHlldCBleGlzdAorCS8vIChzdWNoIGFzIGxvYWRpbmcgaWZyYW1lcyBpbiBJRSAtICM0ODMzKQorCXZhciBkb2N1bWVudEVsZW1lbnQgPSBlbGVtICYmIChlbGVtLm93bmVyRG9jdW1lbnQgfHwgZWxlbSkuZG9jdW1lbnRFbGVtZW50OworCXJldHVybiBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVudEVsZW1lbnQubm9kZU5hbWUgIT09ICJIVE1MIiA6IGZhbHNlOworfTsKKworLyoqCisgKiBTZXRzIGRvY3VtZW50LXJlbGF0ZWQgdmFyaWFibGVzIG9uY2UgYmFzZWQgb24gdGhlIGN1cnJlbnQgZG9jdW1lbnQKKyAqIEBwYXJhbSB7RWxlbWVudHxPYmplY3R9IFtkb2NdIEFuIGVsZW1lbnQgb3IgZG9jdW1lbnQgb2JqZWN0IHRvIHVzZSB0byBzZXQgdGhlIGRvY3VtZW50CisgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjdXJyZW50IGRvY3VtZW50CisgKi8KK3NldERvY3VtZW50ID0gU2l6emxlLnNldERvY3VtZW50ID0gZnVuY3Rpb24oIG5vZGUgKSB7CisJdmFyIGhhc0NvbXBhcmUsIHN1YldpbmRvdywKKwkJZG9jID0gbm9kZSA/IG5vZGUub3duZXJEb2N1bWVudCB8fCBub2RlIDogcHJlZmVycmVkRG9jOworCisJLy8gUmV0dXJuIGVhcmx5IGlmIGRvYyBpcyBpbnZhbGlkIG9yIGFscmVhZHkgc2VsZWN0ZWQKKwlpZiAoIGRvYyA9PT0gZG9jdW1lbnQgfHwgZG9jLm5vZGVUeXBlICE9PSA5IHx8ICFkb2MuZG9jdW1lbnRFbGVtZW50ICkgeworCQlyZXR1cm4gZG9jdW1lbnQ7CisJfQorCisJLy8gVXBkYXRlIGdsb2JhbCB2YXJpYWJsZXMKKwlkb2N1bWVudCA9IGRvYzsKKwlkb2NFbGVtID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OworCWRvY3VtZW50SXNIVE1MID0gIWlzWE1MKCBkb2N1bWVudCApOworCisJLy8gU3VwcG9ydDogSUUgOS0xMSwgRWRnZQorCS8vIEFjY2Vzc2luZyBpZnJhbWUgZG9jdW1lbnRzIGFmdGVyIHVubG9hZCB0aHJvd3MgInBlcm1pc3Npb24gZGVuaWVkIiBlcnJvcnMgKGpRdWVyeSAjMTM5MzYpCisJaWYgKCBwcmVmZXJyZWREb2MgIT09IGRvY3VtZW50ICYmCisJCShzdWJXaW5kb3cgPSBkb2N1bWVudC5kZWZhdWx0VmlldykgJiYgc3ViV2luZG93LnRvcCAhPT0gc3ViV2luZG93ICkgeworCisJCS8vIFN1cHBvcnQ6IElFIDExLCBFZGdlCisJCWlmICggc3ViV2luZG93LmFkZEV2ZW50TGlzdGVuZXIgKSB7CisJCQlzdWJXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lciggInVubG9hZCIsIHVubG9hZEhhbmRsZXIsIGZhbHNlICk7CisKKwkJLy8gU3VwcG9ydDogSUUgOSAtIDEwIG9ubHkKKwkJfSBlbHNlIGlmICggc3ViV2luZG93LmF0dGFjaEV2ZW50ICkgeworCQkJc3ViV2luZG93LmF0dGFjaEV2ZW50KCAib251bmxvYWQiLCB1bmxvYWRIYW5kbGVyICk7CisJCX0KKwl9CisKKwkvKiBBdHRyaWJ1dGVzCisJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisJLy8gU3VwcG9ydDogSUU8OAorCS8vIFZlcmlmeSB0aGF0IGdldEF0dHJpYnV0ZSByZWFsbHkgcmV0dXJucyBhdHRyaWJ1dGVzIGFuZCBub3QgcHJvcGVydGllcworCS8vIChleGNlcHRpbmcgSUU4IGJvb2xlYW5zKQorCXN1cHBvcnQuYXR0cmlidXRlcyA9IGFzc2VydChmdW5jdGlvbiggZWwgKSB7CisJCWVsLmNsYXNzTmFtZSA9ICJpIjsKKwkJcmV0dXJuICFlbC5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpOworCX0pOworCisJLyogZ2V0RWxlbWVudChzKUJ5KgorCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworCS8vIENoZWNrIGlmIGdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikgcmV0dXJucyBvbmx5IGVsZW1lbnRzCisJc3VwcG9ydC5nZXRFbGVtZW50c0J5VGFnTmFtZSA9IGFzc2VydChmdW5jdGlvbiggZWwgKSB7CisJCWVsLmFwcGVuZENoaWxkKCBkb2N1bWVudC5jcmVhdGVDb21tZW50KCIiKSApOworCQlyZXR1cm4gIWVsLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikubGVuZ3RoOworCX0pOworCisJLy8gU3VwcG9ydDogSUU8OQorCXN1cHBvcnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSA9IHJuYXRpdmUudGVzdCggZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSApOworCisJLy8gU3VwcG9ydDogSUU8MTAKKwkvLyBDaGVjayBpZiBnZXRFbGVtZW50QnlJZCByZXR1cm5zIGVsZW1lbnRzIGJ5IG5hbWUKKwkvLyBUaGUgYnJva2VuIGdldEVsZW1lbnRCeUlkIG1ldGhvZHMgZG9uJ3QgcGljayB1cCBwcm9ncmFtbWF0aWNhbGx5LXNldCBuYW1lcywKKwkvLyBzbyB1c2UgYSByb3VuZGFib3V0IGdldEVsZW1lbnRzQnlOYW1lIHRlc3QKKwlzdXBwb3J0LmdldEJ5SWQgPSBhc3NlcnQoZnVuY3Rpb24oIGVsICkgeworCQlkb2NFbGVtLmFwcGVuZENoaWxkKCBlbCApLmlkID0gZXhwYW5kbzsKKwkJcmV0dXJuICFkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSB8fCAhZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoIGV4cGFuZG8gKS5sZW5ndGg7CisJfSk7CisKKwkvLyBJRCBmaWx0ZXIgYW5kIGZpbmQKKwlpZiAoIHN1cHBvcnQuZ2V0QnlJZCApIHsKKwkJRXhwci5maWx0ZXJbIklEIl0gPSBmdW5jdGlvbiggaWQgKSB7CisJCQl2YXIgYXR0cklkID0gaWQucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKTsKKwkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsKKwkJCQlyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUoImlkIikgPT09IGF0dHJJZDsKKwkJCX07CisJCX07CisJCUV4cHIuZmluZFsiSUQiXSA9IGZ1bmN0aW9uKCBpZCwgY29udGV4dCApIHsKKwkJCWlmICggdHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudEJ5SWQgIT09ICJ1bmRlZmluZWQiICYmIGRvY3VtZW50SXNIVE1MICkgeworCQkJCXZhciBlbGVtID0gY29udGV4dC5nZXRFbGVtZW50QnlJZCggaWQgKTsKKwkJCQlyZXR1cm4gZWxlbSA/IFsgZWxlbSBdIDogW107CisJCQl9CisJCX07CisJfSBlbHNlIHsKKwkJRXhwci5maWx0ZXJbIklEIl0gPSAgZnVuY3Rpb24oIGlkICkgeworCQkJdmFyIGF0dHJJZCA9IGlkLnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICk7CisJCQlyZXR1cm4gZnVuY3Rpb24oIGVsZW0gKSB7CisJCQkJdmFyIG5vZGUgPSB0eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGVOb2RlICE9PSAidW5kZWZpbmVkIiAmJgorCQkJCQllbGVtLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7CisJCQkJcmV0dXJuIG5vZGUgJiYgbm9kZS52YWx1ZSA9PT0gYXR0cklkOworCQkJfTsKKwkJfTsKKworCQkvLyBTdXBwb3J0OiBJRSA2IC0gNyBvbmx5CisJCS8vIGdldEVsZW1lbnRCeUlkIGlzIG5vdCByZWxpYWJsZSBhcyBhIGZpbmQgc2hvcnRjdXQKKwkJRXhwci5maW5kWyJJRCJdID0gZnVuY3Rpb24oIGlkLCBjb250ZXh0ICkgeworCQkJaWYgKCB0eXBlb2YgY29udGV4dC5nZXRFbGVtZW50QnlJZCAhPT0gInVuZGVmaW5lZCIgJiYgZG9jdW1lbnRJc0hUTUwgKSB7CisJCQkJdmFyIG5vZGUsIGksIGVsZW1zLAorCQkJCQllbGVtID0gY29udGV4dC5nZXRFbGVtZW50QnlJZCggaWQgKTsKKworCQkJCWlmICggZWxlbSApIHsKKworCQkJCQkvLyBWZXJpZnkgdGhlIGlkIGF0dHJpYnV0ZQorCQkJCQlub2RlID0gZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpOworCQkJCQlpZiAoIG5vZGUgJiYgbm9kZS52YWx1ZSA9PT0gaWQgKSB7CisJCQkJCQlyZXR1cm4gWyBlbGVtIF07CisJCQkJCX0KKworCQkJCQkvLyBGYWxsIGJhY2sgb24gZ2V0RWxlbWVudHNCeU5hbWUKKwkJCQkJZWxlbXMgPSBjb250ZXh0LmdldEVsZW1lbnRzQnlOYW1lKCBpZCApOworCQkJCQlpID0gMDsKKwkJCQkJd2hpbGUgKCAoZWxlbSA9IGVsZW1zW2krK10pICkgeworCQkJCQkJbm9kZSA9IGVsZW0uZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTsKKwkJCQkJCWlmICggbm9kZSAmJiBub2RlLnZhbHVlID09PSBpZCApIHsKKwkJCQkJCQlyZXR1cm4gWyBlbGVtIF07CisJCQkJCQl9CisJCQkJCX0KKwkJCQl9CisKKwkJCQlyZXR1cm4gW107CisJCQl9CisJCX07CisJfQorCisJLy8gVGFnCisJRXhwci5maW5kWyJUQUciXSA9IHN1cHBvcnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUgPworCQlmdW5jdGlvbiggdGFnLCBjb250ZXh0ICkgeworCQkJaWYgKCB0eXBlb2YgY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSAhPT0gInVuZGVmaW5lZCIgKSB7CisJCQkJcmV0dXJuIGNvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIHRhZyApOworCisJCQkvLyBEb2N1bWVudEZyYWdtZW50IG5vZGVzIGRvbid0IGhhdmUgZ0VCVE4KKwkJCX0gZWxzZSBpZiAoIHN1cHBvcnQucXNhICkgeworCQkJCXJldHVybiBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoIHRhZyApOworCQkJfQorCQl9IDoKKworCQlmdW5jdGlvbiggdGFnLCBjb250ZXh0ICkgeworCQkJdmFyIGVsZW0sCisJCQkJdG1wID0gW10sCisJCQkJaSA9IDAsCisJCQkJLy8gQnkgaGFwcHkgY29pbmNpZGVuY2UsIGEgKGJyb2tlbikgZ0VCVE4gYXBwZWFycyBvbiBEb2N1bWVudEZyYWdtZW50IG5vZGVzIHRvbworCQkJCXJlc3VsdHMgPSBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCB0YWcgKTsKKworCQkJLy8gRmlsdGVyIG91dCBwb3NzaWJsZSBjb21tZW50cworCQkJaWYgKCB0YWcgPT09ICIqIiApIHsKKwkJCQl3aGlsZSAoIChlbGVtID0gcmVzdWx0c1tpKytdKSApIHsKKwkJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxICkgeworCQkJCQkJdG1wLnB1c2goIGVsZW0gKTsKKwkJCQkJfQorCQkJCX0KKworCQkJCXJldHVybiB0bXA7CisJCQl9CisJCQlyZXR1cm4gcmVzdWx0czsKKwkJfTsKKworCS8vIENsYXNzCisJRXhwci5maW5kWyJDTEFTUyJdID0gc3VwcG9ydC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lICYmIGZ1bmN0aW9uKCBjbGFzc05hbWUsIGNvbnRleHQgKSB7CisJCWlmICggdHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSAhPT0gInVuZGVmaW5lZCIgJiYgZG9jdW1lbnRJc0hUTUwgKSB7CisJCQlyZXR1cm4gY29udGV4dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCBjbGFzc05hbWUgKTsKKwkJfQorCX07CisKKwkvKiBRU0EvbWF0Y2hlc1NlbGVjdG9yCisJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisJLy8gUVNBIGFuZCBtYXRjaGVzU2VsZWN0b3Igc3VwcG9ydAorCisJLy8gbWF0Y2hlc1NlbGVjdG9yKDphY3RpdmUpIHJlcG9ydHMgZmFsc2Ugd2hlbiB0cnVlIChJRTkvT3BlcmEgMTEuNSkKKwlyYnVnZ3lNYXRjaGVzID0gW107CisKKwkvLyBxU2EoOmZvY3VzKSByZXBvcnRzIGZhbHNlIHdoZW4gdHJ1ZSAoQ2hyb21lIDIxKQorCS8vIFdlIGFsbG93IHRoaXMgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBJRTgvOSB0aGF0IHRocm93cyBhbiBlcnJvcgorCS8vIHdoZW5ldmVyIGBkb2N1bWVudC5hY3RpdmVFbGVtZW50YCBpcyBhY2Nlc3NlZCBvbiBhbiBpZnJhbWUKKwkvLyBTbywgd2UgYWxsb3cgOmZvY3VzIHRvIHBhc3MgdGhyb3VnaCBRU0EgYWxsIHRoZSB0aW1lIHRvIGF2b2lkIHRoZSBJRSBlcnJvcgorCS8vIFNlZSBodHRwczovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTMzNzgKKwlyYnVnZ3lRU0EgPSBbXTsKKworCWlmICggKHN1cHBvcnQucXNhID0gcm5hdGl2ZS50ZXN0KCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsICkpICkgeworCQkvLyBCdWlsZCBRU0EgcmVnZXgKKwkJLy8gUmVnZXggc3RyYXRlZ3kgYWRvcHRlZCBmcm9tIERpZWdvIFBlcmluaQorCQlhc3NlcnQoZnVuY3Rpb24oIGVsICkgeworCQkJLy8gU2VsZWN0IGlzIHNldCB0byBlbXB0eSBzdHJpbmcgb24gcHVycG9zZQorCQkJLy8gVGhpcyBpcyB0byB0ZXN0IElFJ3MgdHJlYXRtZW50IG9mIG5vdCBleHBsaWNpdGx5CisJCQkvLyBzZXR0aW5nIGEgYm9vbGVhbiBjb250ZW50IGF0dHJpYnV0ZSwKKwkJCS8vIHNpbmNlIGl0cyBwcmVzZW5jZSBzaG91bGQgYmUgZW5vdWdoCisJCQkvLyBodHRwczovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTIzNTkKKwkJCWRvY0VsZW0uYXBwZW5kQ2hpbGQoIGVsICkuaW5uZXJIVE1MID0gIjxhIGlkPSciICsgZXhwYW5kbyArICInPjwvYT4iICsKKwkJCQkiPHNlbGVjdCBpZD0nIiArIGV4cGFuZG8gKyAiLVxyXFwnIG1zYWxsb3djYXB0dXJlPScnPiIgKworCQkJCSI8b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiI7CisKKwkJCS8vIFN1cHBvcnQ6IElFOCwgT3BlcmEgMTEtMTIuMTYKKwkJCS8vIE5vdGhpbmcgc2hvdWxkIGJlIHNlbGVjdGVkIHdoZW4gZW1wdHkgc3RyaW5ncyBmb2xsb3cgXj0gb3IgJD0gb3IgKj0KKwkJCS8vIFRoZSB0ZXN0IGF0dHJpYnV0ZSBtdXN0IGJlIHVua25vd24gaW4gT3BlcmEgYnV0ICJzYWZlIiBmb3IgV2luUlQKKwkJCS8vIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvaWUvaGg0NjUzODguYXNweCNhdHRyaWJ1dGVfc2VjdGlvbgorCQkJaWYgKCBlbC5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCApIHsKKwkJCQlyYnVnZ3lRU0EucHVzaCggIlsqXiRdPSIgKyB3aGl0ZXNwYWNlICsgIiooPzonJ3xcIlwiKSIgKTsKKwkJCX0KKworCQkJLy8gU3VwcG9ydDogSUU4CisJCQkvLyBCb29sZWFuIGF0dHJpYnV0ZXMgYW5kICJ2YWx1ZSIgYXJlIG5vdCB0cmVhdGVkIGNvcnJlY3RseQorCQkJaWYgKCAhZWwucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aCApIHsKKwkJCQlyYnVnZ3lRU0EucHVzaCggIlxcWyIgKyB3aGl0ZXNwYWNlICsgIiooPzp2YWx1ZXwiICsgYm9vbGVhbnMgKyAiKSIgKTsKKwkJCX0KKworCQkJLy8gU3VwcG9ydDogQ2hyb21lPDI5LCBBbmRyb2lkPDQuNCwgU2FmYXJpPDcuMCssIGlPUzw3LjArLCBQaGFudG9tSlM8MS45LjgrCisJCQlpZiAoICFlbC5xdWVyeVNlbGVjdG9yQWxsKCAiW2lkfj0iICsgZXhwYW5kbyArICItXSIgKS5sZW5ndGggKSB7CisJCQkJcmJ1Z2d5UVNBLnB1c2goIn49Iik7CisJCQl9CisKKwkJCS8vIFdlYmtpdC9PcGVyYSAtIDpjaGVja2VkIHNob3VsZCByZXR1cm4gc2VsZWN0ZWQgb3B0aW9uIGVsZW1lbnRzCisJCQkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDExL1JFQy1jc3MzLXNlbGVjdG9ycy0yMDExMDkyOS8jY2hlY2tlZAorCQkJLy8gSUU4IHRocm93cyBlcnJvciBoZXJlIGFuZCB3aWxsIG5vdCBzZWUgbGF0ZXIgdGVzdHMKKwkJCWlmICggIWVsLnF1ZXJ5U2VsZWN0b3JBbGwoIjpjaGVja2VkIikubGVuZ3RoICkgeworCQkJCXJidWdneVFTQS5wdXNoKCI6Y2hlY2tlZCIpOworCQkJfQorCisJCQkvLyBTdXBwb3J0OiBTYWZhcmkgOCssIGlPUyA4KworCQkJLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjg1MQorCQkJLy8gSW4tcGFnZSBgc2VsZWN0b3IjaWQgc2libGluZy1jb21iaW5hdG9yIHNlbGVjdG9yYCBmYWlscworCQkJaWYgKCAhZWwucXVlcnlTZWxlY3RvckFsbCggImEjIiArIGV4cGFuZG8gKyAiKyoiICkubGVuZ3RoICkgeworCQkJCXJidWdneVFTQS5wdXNoKCIuIy4rWyt+XSIpOworCQkJfQorCQl9KTsKKworCQlhc3NlcnQoZnVuY3Rpb24oIGVsICkgeworCQkJZWwuaW5uZXJIVE1MID0gIjxhIGhyZWY9JycgZGlzYWJsZWQ9J2Rpc2FibGVkJz48L2E+IiArCisJCQkJIjxzZWxlY3QgZGlzYWJsZWQ9J2Rpc2FibGVkJz48b3B0aW9uLz48L3NlbGVjdD4iOworCisJCQkvLyBTdXBwb3J0OiBXaW5kb3dzIDggTmF0aXZlIEFwcHMKKwkJCS8vIFRoZSB0eXBlIGFuZCBuYW1lIGF0dHJpYnV0ZXMgYXJlIHJlc3RyaWN0ZWQgZHVyaW5nIC5pbm5lckhUTUwgYXNzaWdubWVudAorCQkJdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKKwkJCWlucHV0LnNldEF0dHJpYnV0ZSggInR5cGUiLCAiaGlkZGVuIiApOworCQkJZWwuYXBwZW5kQ2hpbGQoIGlucHV0ICkuc2V0QXR0cmlidXRlKCAibmFtZSIsICJEIiApOworCisJCQkvLyBTdXBwb3J0OiBJRTgKKwkJCS8vIEVuZm9yY2UgY2FzZS1zZW5zaXRpdml0eSBvZiBuYW1lIGF0dHJpYnV0ZQorCQkJaWYgKCBlbC5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCApIHsKKwkJCQlyYnVnZ3lRU0EucHVzaCggIm5hbWUiICsgd2hpdGVzcGFjZSArICIqWypeJHwhfl0/PSIgKTsKKwkJCX0KKworCQkJLy8gRkYgMy41IC0gOmVuYWJsZWQvOmRpc2FibGVkIGFuZCBoaWRkZW4gZWxlbWVudHMgKGhpZGRlbiBlbGVtZW50cyBhcmUgc3RpbGwgZW5hYmxlZCkKKwkJCS8vIElFOCB0aHJvd3MgZXJyb3IgaGVyZSBhbmQgd2lsbCBub3Qgc2VlIGxhdGVyIHRlc3RzCisJCQlpZiAoIGVsLnF1ZXJ5U2VsZWN0b3JBbGwoIjplbmFibGVkIikubGVuZ3RoICE9PSAyICkgeworCQkJCXJidWdneVFTQS5wdXNoKCAiOmVuYWJsZWQiLCAiOmRpc2FibGVkIiApOworCQkJfQorCisJCQkvLyBTdXBwb3J0OiBJRTktMTErCisJCQkvLyBJRSdzIDpkaXNhYmxlZCBzZWxlY3RvciBkb2VzIG5vdCBwaWNrIHVwIHRoZSBjaGlsZHJlbiBvZiBkaXNhYmxlZCBmaWVsZHNldHMKKwkJCWRvY0VsZW0uYXBwZW5kQ2hpbGQoIGVsICkuZGlzYWJsZWQgPSB0cnVlOworCQkJaWYgKCBlbC5xdWVyeVNlbGVjdG9yQWxsKCI6ZGlzYWJsZWQiKS5sZW5ndGggIT09IDIgKSB7CisJCQkJcmJ1Z2d5UVNBLnB1c2goICI6ZW5hYmxlZCIsICI6ZGlzYWJsZWQiICk7CisJCQl9CisKKwkJCS8vIE9wZXJhIDEwLTExIGRvZXMgbm90IHRocm93IG9uIHBvc3QtY29tbWEgaW52YWxpZCBwc2V1ZG9zCisJCQllbC5xdWVyeVNlbGVjdG9yQWxsKCIqLDp4Iik7CisJCQlyYnVnZ3lRU0EucHVzaCgiLC4qOiIpOworCQl9KTsKKwl9CisKKwlpZiAoIChzdXBwb3J0Lm1hdGNoZXNTZWxlY3RvciA9IHJuYXRpdmUudGVzdCggKG1hdGNoZXMgPSBkb2NFbGVtLm1hdGNoZXMgfHwKKwkJZG9jRWxlbS53ZWJraXRNYXRjaGVzU2VsZWN0b3IgfHwKKwkJZG9jRWxlbS5tb3pNYXRjaGVzU2VsZWN0b3IgfHwKKwkJZG9jRWxlbS5vTWF0Y2hlc1NlbGVjdG9yIHx8CisJCWRvY0VsZW0ubXNNYXRjaGVzU2VsZWN0b3IpICkpICkgeworCisJCWFzc2VydChmdW5jdGlvbiggZWwgKSB7CisJCQkvLyBDaGVjayB0byBzZWUgaWYgaXQncyBwb3NzaWJsZSB0byBkbyBtYXRjaGVzU2VsZWN0b3IKKwkJCS8vIG9uIGEgZGlzY29ubmVjdGVkIG5vZGUgKElFIDkpCisJCQlzdXBwb3J0LmRpc2Nvbm5lY3RlZE1hdGNoID0gbWF0Y2hlcy5jYWxsKCBlbCwgIioiICk7CisKKwkJCS8vIFRoaXMgc2hvdWxkIGZhaWwgd2l0aCBhbiBleGNlcHRpb24KKwkJCS8vIEdlY2tvIGRvZXMgbm90IGVycm9yLCByZXR1cm5zIGZhbHNlIGluc3RlYWQKKwkJCW1hdGNoZXMuY2FsbCggZWwsICJbcyE9JyddOngiICk7CisJCQlyYnVnZ3lNYXRjaGVzLnB1c2goICIhPSIsIHBzZXVkb3MgKTsKKwkJfSk7CisJfQorCisJcmJ1Z2d5UVNBID0gcmJ1Z2d5UVNBLmxlbmd0aCAmJiBuZXcgUmVnRXhwKCByYnVnZ3lRU0Euam9pbigifCIpICk7CisJcmJ1Z2d5TWF0Y2hlcyA9IHJidWdneU1hdGNoZXMubGVuZ3RoICYmIG5ldyBSZWdFeHAoIHJidWdneU1hdGNoZXMuam9pbigifCIpICk7CisKKwkvKiBDb250YWlucworCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKwloYXNDb21wYXJlID0gcm5hdGl2ZS50ZXN0KCBkb2NFbGVtLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uICk7CisKKwkvLyBFbGVtZW50IGNvbnRhaW5zIGFub3RoZXIKKwkvLyBQdXJwb3NlZnVsbHkgc2VsZi1leGNsdXNpdmUKKwkvLyBBcyBpbiwgYW4gZWxlbWVudCBkb2VzIG5vdCBjb250YWluIGl0c2VsZgorCWNvbnRhaW5zID0gaGFzQ29tcGFyZSB8fCBybmF0aXZlLnRlc3QoIGRvY0VsZW0uY29udGFpbnMgKSA/CisJCWZ1bmN0aW9uKCBhLCBiICkgeworCQkJdmFyIGFkb3duID0gYS5ub2RlVHlwZSA9PT0gOSA/IGEuZG9jdW1lbnRFbGVtZW50IDogYSwKKwkJCQlidXAgPSBiICYmIGIucGFyZW50Tm9kZTsKKwkJCXJldHVybiBhID09PSBidXAgfHwgISEoIGJ1cCAmJiBidXAubm9kZVR5cGUgPT09IDEgJiYgKAorCQkJCWFkb3duLmNvbnRhaW5zID8KKwkJCQkJYWRvd24uY29udGFpbnMoIGJ1cCApIDoKKwkJCQkJYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiAmJiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCBidXAgKSAmIDE2CisJCQkpKTsKKwkJfSA6CisJCWZ1bmN0aW9uKCBhLCBiICkgeworCQkJaWYgKCBiICkgeworCQkJCXdoaWxlICggKGIgPSBiLnBhcmVudE5vZGUpICkgeworCQkJCQlpZiAoIGIgPT09IGEgKSB7CisJCQkJCQlyZXR1cm4gdHJ1ZTsKKwkJCQkJfQorCQkJCX0KKwkJCX0KKwkJCXJldHVybiBmYWxzZTsKKwkJfTsKKworCS8qIFNvcnRpbmcKKwktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKwkvLyBEb2N1bWVudCBvcmRlciBzb3J0aW5nCisJc29ydE9yZGVyID0gaGFzQ29tcGFyZSA/CisJZnVuY3Rpb24oIGEsIGIgKSB7CisKKwkJLy8gRmxhZyBmb3IgZHVwbGljYXRlIHJlbW92YWwKKwkJaWYgKCBhID09PSBiICkgeworCQkJaGFzRHVwbGljYXRlID0gdHJ1ZTsKKwkJCXJldHVybiAwOworCQl9CisKKwkJLy8gU29ydCBvbiBtZXRob2QgZXhpc3RlbmNlIGlmIG9ubHkgb25lIGlucHV0IGhhcyBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbgorCQl2YXIgY29tcGFyZSA9ICFhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIC0gIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247CisJCWlmICggY29tcGFyZSApIHsKKwkJCXJldHVybiBjb21wYXJlOworCQl9CisKKwkJLy8gQ2FsY3VsYXRlIHBvc2l0aW9uIGlmIGJvdGggaW5wdXRzIGJlbG9uZyB0byB0aGUgc2FtZSBkb2N1bWVudAorCQljb21wYXJlID0gKCBhLm93bmVyRG9jdW1lbnQgfHwgYSApID09PSAoIGIub3duZXJEb2N1bWVudCB8fCBiICkgPworCQkJYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiggYiApIDoKKworCQkJLy8gT3RoZXJ3aXNlIHdlIGtub3cgdGhleSBhcmUgZGlzY29ubmVjdGVkCisJCQkxOworCisJCS8vIERpc2Nvbm5lY3RlZCBub2RlcworCQlpZiAoIGNvbXBhcmUgJiAxIHx8CisJCQkoIXN1cHBvcnQuc29ydERldGFjaGVkICYmIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oIGEgKSA9PT0gY29tcGFyZSkgKSB7CisKKwkJCS8vIENob29zZSB0aGUgZmlyc3QgZWxlbWVudCB0aGF0IGlzIHJlbGF0ZWQgdG8gb3VyIHByZWZlcnJlZCBkb2N1bWVudAorCQkJaWYgKCBhID09PSBkb2N1bWVudCB8fCBhLm93bmVyRG9jdW1lbnQgPT09IHByZWZlcnJlZERvYyAmJiBjb250YWlucyhwcmVmZXJyZWREb2MsIGEpICkgeworCQkJCXJldHVybiAtMTsKKwkJCX0KKwkJCWlmICggYiA9PT0gZG9jdW1lbnQgfHwgYi5vd25lckRvY3VtZW50ID09PSBwcmVmZXJyZWREb2MgJiYgY29udGFpbnMocHJlZmVycmVkRG9jLCBiKSApIHsKKwkJCQlyZXR1cm4gMTsKKwkJCX0KKworCQkJLy8gTWFpbnRhaW4gb3JpZ2luYWwgb3JkZXIKKwkJCXJldHVybiBzb3J0SW5wdXQgPworCQkJCSggaW5kZXhPZiggc29ydElucHV0LCBhICkgLSBpbmRleE9mKCBzb3J0SW5wdXQsIGIgKSApIDoKKwkJCQkwOworCQl9CisKKwkJcmV0dXJuIGNvbXBhcmUgJiA0ID8gLTEgOiAxOworCX0gOgorCWZ1bmN0aW9uKCBhLCBiICkgeworCQkvLyBFeGl0IGVhcmx5IGlmIHRoZSBub2RlcyBhcmUgaWRlbnRpY2FsCisJCWlmICggYSA9PT0gYiApIHsKKwkJCWhhc0R1cGxpY2F0ZSA9IHRydWU7CisJCQlyZXR1cm4gMDsKKwkJfQorCisJCXZhciBjdXIsCisJCQlpID0gMCwKKwkJCWF1cCA9IGEucGFyZW50Tm9kZSwKKwkJCWJ1cCA9IGIucGFyZW50Tm9kZSwKKwkJCWFwID0gWyBhIF0sCisJCQlicCA9IFsgYiBdOworCisJCS8vIFBhcmVudGxlc3Mgbm9kZXMgYXJlIGVpdGhlciBkb2N1bWVudHMgb3IgZGlzY29ubmVjdGVkCisJCWlmICggIWF1cCB8fCAhYnVwICkgeworCQkJcmV0dXJuIGEgPT09IGRvY3VtZW50ID8gLTEgOgorCQkJCWIgPT09IGRvY3VtZW50ID8gMSA6CisJCQkJYXVwID8gLTEgOgorCQkJCWJ1cCA/IDEgOgorCQkJCXNvcnRJbnB1dCA/CisJCQkJKCBpbmRleE9mKCBzb3J0SW5wdXQsIGEgKSAtIGluZGV4T2YoIHNvcnRJbnB1dCwgYiApICkgOgorCQkJCTA7CisKKwkJLy8gSWYgdGhlIG5vZGVzIGFyZSBzaWJsaW5ncywgd2UgY2FuIGRvIGEgcXVpY2sgY2hlY2sKKwkJfSBlbHNlIGlmICggYXVwID09PSBidXAgKSB7CisJCQlyZXR1cm4gc2libGluZ0NoZWNrKCBhLCBiICk7CisJCX0KKworCQkvLyBPdGhlcndpc2Ugd2UgbmVlZCBmdWxsIGxpc3RzIG9mIHRoZWlyIGFuY2VzdG9ycyBmb3IgY29tcGFyaXNvbgorCQljdXIgPSBhOworCQl3aGlsZSAoIChjdXIgPSBjdXIucGFyZW50Tm9kZSkgKSB7CisJCQlhcC51bnNoaWZ0KCBjdXIgKTsKKwkJfQorCQljdXIgPSBiOworCQl3aGlsZSAoIChjdXIgPSBjdXIucGFyZW50Tm9kZSkgKSB7CisJCQlicC51bnNoaWZ0KCBjdXIgKTsKKwkJfQorCisJCS8vIFdhbGsgZG93biB0aGUgdHJlZSBsb29raW5nIGZvciBhIGRpc2NyZXBhbmN5CisJCXdoaWxlICggYXBbaV0gPT09IGJwW2ldICkgeworCQkJaSsrOworCQl9CisKKwkJcmV0dXJuIGkgPworCQkJLy8gRG8gYSBzaWJsaW5nIGNoZWNrIGlmIHRoZSBub2RlcyBoYXZlIGEgY29tbW9uIGFuY2VzdG9yCisJCQlzaWJsaW5nQ2hlY2soIGFwW2ldLCBicFtpXSApIDoKKworCQkJLy8gT3RoZXJ3aXNlIG5vZGVzIGluIG91ciBkb2N1bWVudCBzb3J0IGZpcnN0CisJCQlhcFtpXSA9PT0gcHJlZmVycmVkRG9jID8gLTEgOgorCQkJYnBbaV0gPT09IHByZWZlcnJlZERvYyA/IDEgOgorCQkJMDsKKwl9OworCisJcmV0dXJuIGRvY3VtZW50OworfTsKKworU2l6emxlLm1hdGNoZXMgPSBmdW5jdGlvbiggZXhwciwgZWxlbWVudHMgKSB7CisJcmV0dXJuIFNpenpsZSggZXhwciwgbnVsbCwgbnVsbCwgZWxlbWVudHMgKTsKK307CisKK1NpenpsZS5tYXRjaGVzU2VsZWN0b3IgPSBmdW5jdGlvbiggZWxlbSwgZXhwciApIHsKKwkvLyBTZXQgZG9jdW1lbnQgdmFycyBpZiBuZWVkZWQKKwlpZiAoICggZWxlbS5vd25lckRvY3VtZW50IHx8IGVsZW0gKSAhPT0gZG9jdW1lbnQgKSB7CisJCXNldERvY3VtZW50KCBlbGVtICk7CisJfQorCisJLy8gTWFrZSBzdXJlIHRoYXQgYXR0cmlidXRlIHNlbGVjdG9ycyBhcmUgcXVvdGVkCisJZXhwciA9IGV4cHIucmVwbGFjZSggcmF0dHJpYnV0ZVF1b3RlcywgIj0nJDEnXSIgKTsKKworCWlmICggc3VwcG9ydC5tYXRjaGVzU2VsZWN0b3IgJiYgZG9jdW1lbnRJc0hUTUwgJiYKKwkJIWNvbXBpbGVyQ2FjaGVbIGV4cHIgKyAiICIgXSAmJgorCQkoICFyYnVnZ3lNYXRjaGVzIHx8ICFyYnVnZ3lNYXRjaGVzLnRlc3QoIGV4cHIgKSApICYmCisJCSggIXJidWdneVFTQSAgICAgfHwgIXJidWdneVFTQS50ZXN0KCBleHByICkgKSApIHsKKworCQl0cnkgeworCQkJdmFyIHJldCA9IG1hdGNoZXMuY2FsbCggZWxlbSwgZXhwciApOworCisJCQkvLyBJRSA5J3MgbWF0Y2hlc1NlbGVjdG9yIHJldHVybnMgZmFsc2Ugb24gZGlzY29ubmVjdGVkIG5vZGVzCisJCQlpZiAoIHJldCB8fCBzdXBwb3J0LmRpc2Nvbm5lY3RlZE1hdGNoIHx8CisJCQkJCS8vIEFzIHdlbGwsIGRpc2Nvbm5lY3RlZCBub2RlcyBhcmUgc2FpZCB0byBiZSBpbiBhIGRvY3VtZW50CisJCQkJCS8vIGZyYWdtZW50IGluIElFIDkKKwkJCQkJZWxlbS5kb2N1bWVudCAmJiBlbGVtLmRvY3VtZW50Lm5vZGVUeXBlICE9PSAxMSApIHsKKwkJCQlyZXR1cm4gcmV0OworCQkJfQorCQl9IGNhdGNoIChlKSB7fQorCX0KKworCXJldHVybiBTaXp6bGUoIGV4cHIsIGRvY3VtZW50LCBudWxsLCBbIGVsZW0gXSApLmxlbmd0aCA+IDA7Cit9OworCitTaXp6bGUuY29udGFpbnMgPSBmdW5jdGlvbiggY29udGV4dCwgZWxlbSApIHsKKwkvLyBTZXQgZG9jdW1lbnQgdmFycyBpZiBuZWVkZWQKKwlpZiAoICggY29udGV4dC5vd25lckRvY3VtZW50IHx8IGNvbnRleHQgKSAhPT0gZG9jdW1lbnQgKSB7CisJCXNldERvY3VtZW50KCBjb250ZXh0ICk7CisJfQorCXJldHVybiBjb250YWlucyggY29udGV4dCwgZWxlbSApOworfTsKKworU2l6emxlLmF0dHIgPSBmdW5jdGlvbiggZWxlbSwgbmFtZSApIHsKKwkvLyBTZXQgZG9jdW1lbnQgdmFycyBpZiBuZWVkZWQKKwlpZiAoICggZWxlbS5vd25lckRvY3VtZW50IHx8IGVsZW0gKSAhPT0gZG9jdW1lbnQgKSB7CisJCXNldERvY3VtZW50KCBlbGVtICk7CisJfQorCisJdmFyIGZuID0gRXhwci5hdHRySGFuZGxlWyBuYW1lLnRvTG93ZXJDYXNlKCkgXSwKKwkJLy8gRG9uJ3QgZ2V0IGZvb2xlZCBieSBPYmplY3QucHJvdG90eXBlIHByb3BlcnRpZXMgKGpRdWVyeSAjMTM4MDcpCisJCXZhbCA9IGZuICYmIGhhc093bi5jYWxsKCBFeHByLmF0dHJIYW5kbGUsIG5hbWUudG9Mb3dlckNhc2UoKSApID8KKwkJCWZuKCBlbGVtLCBuYW1lLCAhZG9jdW1lbnRJc0hUTUwgKSA6CisJCQl1bmRlZmluZWQ7CisKKwlyZXR1cm4gdmFsICE9PSB1bmRlZmluZWQgPworCQl2YWwgOgorCQlzdXBwb3J0LmF0dHJpYnV0ZXMgfHwgIWRvY3VtZW50SXNIVE1MID8KKwkJCWVsZW0uZ2V0QXR0cmlidXRlKCBuYW1lICkgOgorCQkJKHZhbCA9IGVsZW0uZ2V0QXR0cmlidXRlTm9kZShuYW1lKSkgJiYgdmFsLnNwZWNpZmllZCA/CisJCQkJdmFsLnZhbHVlIDoKKwkJCQludWxsOworfTsKKworU2l6emxlLmVzY2FwZSA9IGZ1bmN0aW9uKCBzZWwgKSB7CisJcmV0dXJuIChzZWwgKyAiIikucmVwbGFjZSggcmNzc2VzY2FwZSwgZmNzc2VzY2FwZSApOworfTsKKworU2l6emxlLmVycm9yID0gZnVuY3Rpb24oIG1zZyApIHsKKwl0aHJvdyBuZXcgRXJyb3IoICJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiAiICsgbXNnICk7Cit9OworCisvKioKKyAqIERvY3VtZW50IHNvcnRpbmcgYW5kIHJlbW92aW5nIGR1cGxpY2F0ZXMKKyAqIEBwYXJhbSB7QXJyYXlMaWtlfSByZXN1bHRzCisgKi8KK1NpenpsZS51bmlxdWVTb3J0ID0gZnVuY3Rpb24oIHJlc3VsdHMgKSB7CisJdmFyIGVsZW0sCisJCWR1cGxpY2F0ZXMgPSBbXSwKKwkJaiA9IDAsCisJCWkgPSAwOworCisJLy8gVW5sZXNzIHdlICprbm93KiB3ZSBjYW4gZGV0ZWN0IGR1cGxpY2F0ZXMsIGFzc3VtZSB0aGVpciBwcmVzZW5jZQorCWhhc0R1cGxpY2F0ZSA9ICFzdXBwb3J0LmRldGVjdER1cGxpY2F0ZXM7CisJc29ydElucHV0ID0gIXN1cHBvcnQuc29ydFN0YWJsZSAmJiByZXN1bHRzLnNsaWNlKCAwICk7CisJcmVzdWx0cy5zb3J0KCBzb3J0T3JkZXIgKTsKKworCWlmICggaGFzRHVwbGljYXRlICkgeworCQl3aGlsZSAoIChlbGVtID0gcmVzdWx0c1tpKytdKSApIHsKKwkJCWlmICggZWxlbSA9PT0gcmVzdWx0c1sgaSBdICkgeworCQkJCWogPSBkdXBsaWNhdGVzLnB1c2goIGkgKTsKKwkJCX0KKwkJfQorCQl3aGlsZSAoIGotLSApIHsKKwkJCXJlc3VsdHMuc3BsaWNlKCBkdXBsaWNhdGVzWyBqIF0sIDEgKTsKKwkJfQorCX0KKworCS8vIENsZWFyIGlucHV0IGFmdGVyIHNvcnRpbmcgdG8gcmVsZWFzZSBvYmplY3RzCisJLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcXVlcnkvc2l6emxlL3B1bGwvMjI1CisJc29ydElucHV0ID0gbnVsbDsKKworCXJldHVybiByZXN1bHRzOworfTsKKworLyoqCisgKiBVdGlsaXR5IGZ1bmN0aW9uIGZvciByZXRyaWV2aW5nIHRoZSB0ZXh0IHZhbHVlIG9mIGFuIGFycmF5IG9mIERPTSBub2RlcworICogQHBhcmFtIHtBcnJheXxFbGVtZW50fSBlbGVtCisgKi8KK2dldFRleHQgPSBTaXp6bGUuZ2V0VGV4dCA9IGZ1bmN0aW9uKCBlbGVtICkgeworCXZhciBub2RlLAorCQlyZXQgPSAiIiwKKwkJaSA9IDAsCisJCW5vZGVUeXBlID0gZWxlbS5ub2RlVHlwZTsKKworCWlmICggIW5vZGVUeXBlICkgeworCQkvLyBJZiBubyBub2RlVHlwZSwgdGhpcyBpcyBleHBlY3RlZCB0byBiZSBhbiBhcnJheQorCQl3aGlsZSAoIChub2RlID0gZWxlbVtpKytdKSApIHsKKwkJCS8vIERvIG5vdCB0cmF2ZXJzZSBjb21tZW50IG5vZGVzCisJCQlyZXQgKz0gZ2V0VGV4dCggbm9kZSApOworCQl9CisJfSBlbHNlIGlmICggbm9kZVR5cGUgPT09IDEgfHwgbm9kZVR5cGUgPT09IDkgfHwgbm9kZVR5cGUgPT09IDExICkgeworCQkvLyBVc2UgdGV4dENvbnRlbnQgZm9yIGVsZW1lbnRzCisJCS8vIGlubmVyVGV4dCB1c2FnZSByZW1vdmVkIGZvciBjb25zaXN0ZW5jeSBvZiBuZXcgbGluZXMgKGpRdWVyeSAjMTExNTMpCisJCWlmICggdHlwZW9mIGVsZW0udGV4dENvbnRlbnQgPT09ICJzdHJpbmciICkgeworCQkJcmV0dXJuIGVsZW0udGV4dENvbnRlbnQ7CisJCX0gZWxzZSB7CisJCQkvLyBUcmF2ZXJzZSBpdHMgY2hpbGRyZW4KKwkJCWZvciAoIGVsZW0gPSBlbGVtLmZpcnN0Q2hpbGQ7IGVsZW07IGVsZW0gPSBlbGVtLm5leHRTaWJsaW5nICkgeworCQkJCXJldCArPSBnZXRUZXh0KCBlbGVtICk7CisJCQl9CisJCX0KKwl9IGVsc2UgaWYgKCBub2RlVHlwZSA9PT0gMyB8fCBub2RlVHlwZSA9PT0gNCApIHsKKwkJcmV0dXJuIGVsZW0ubm9kZVZhbHVlOworCX0KKwkvLyBEbyBub3QgaW5jbHVkZSBjb21tZW50IG9yIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbm9kZXMKKworCXJldHVybiByZXQ7Cit9OworCitFeHByID0gU2l6emxlLnNlbGVjdG9ycyA9IHsKKworCS8vIENhbiBiZSBhZGp1c3RlZCBieSB0aGUgdXNlcgorCWNhY2hlTGVuZ3RoOiA1MCwKKworCWNyZWF0ZVBzZXVkbzogbWFya0Z1bmN0aW9uLAorCisJbWF0Y2g6IG1hdGNoRXhwciwKKworCWF0dHJIYW5kbGU6IHt9LAorCisJZmluZDoge30sCisKKwlyZWxhdGl2ZTogeworCQkiPiI6IHsgZGlyOiAicGFyZW50Tm9kZSIsIGZpcnN0OiB0cnVlIH0sCisJCSIgIjogeyBkaXI6ICJwYXJlbnROb2RlIiB9LAorCQkiKyI6IHsgZGlyOiAicHJldmlvdXNTaWJsaW5nIiwgZmlyc3Q6IHRydWUgfSwKKwkJIn4iOiB7IGRpcjogInByZXZpb3VzU2libGluZyIgfQorCX0sCisKKwlwcmVGaWx0ZXI6IHsKKwkJIkFUVFIiOiBmdW5jdGlvbiggbWF0Y2ggKSB7CisJCQltYXRjaFsxXSA9IG1hdGNoWzFdLnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICk7CisKKwkJCS8vIE1vdmUgdGhlIGdpdmVuIHZhbHVlIHRvIG1hdGNoWzNdIHdoZXRoZXIgcXVvdGVkIG9yIHVucXVvdGVkCisJCQltYXRjaFszXSA9ICggbWF0Y2hbM10gfHwgbWF0Y2hbNF0gfHwgbWF0Y2hbNV0gfHwgIiIgKS5yZXBsYWNlKCBydW5lc2NhcGUsIGZ1bmVzY2FwZSApOworCisJCQlpZiAoIG1hdGNoWzJdID09PSAifj0iICkgeworCQkJCW1hdGNoWzNdID0gIiAiICsgbWF0Y2hbM10gKyAiICI7CisJCQl9CisKKwkJCXJldHVybiBtYXRjaC5zbGljZSggMCwgNCApOworCQl9LAorCisJCSJDSElMRCI6IGZ1bmN0aW9uKCBtYXRjaCApIHsKKwkJCS8qIG1hdGNoZXMgZnJvbSBtYXRjaEV4cHJbIkNISUxEIl0KKwkJCQkxIHR5cGUgKG9ubHl8bnRofC4uLikKKwkJCQkyIHdoYXQgKGNoaWxkfG9mLXR5cGUpCisJCQkJMyBhcmd1bWVudCAoZXZlbnxvZGR8XGQqfFxkKm4oWystXVxkKyk/fC4uLikKKwkJCQk0IHhuLWNvbXBvbmVudCBvZiB4bit5IGFyZ3VtZW50IChbKy1dP1xkKm58KQorCQkJCTUgc2lnbiBvZiB4bi1jb21wb25lbnQKKwkJCQk2IHggb2YgeG4tY29tcG9uZW50CisJCQkJNyBzaWduIG9mIHktY29tcG9uZW50CisJCQkJOCB5IG9mIHktY29tcG9uZW50CisJCQkqLworCQkJbWF0Y2hbMV0gPSBtYXRjaFsxXS50b0xvd2VyQ2FzZSgpOworCisJCQlpZiAoIG1hdGNoWzFdLnNsaWNlKCAwLCAzICkgPT09ICJudGgiICkgeworCQkJCS8vIG50aC0qIHJlcXVpcmVzIGFyZ3VtZW50CisJCQkJaWYgKCAhbWF0Y2hbM10gKSB7CisJCQkJCVNpenpsZS5lcnJvciggbWF0Y2hbMF0gKTsKKwkJCQl9CisKKwkJCQkvLyBudW1lcmljIHggYW5kIHkgcGFyYW1ldGVycyBmb3IgRXhwci5maWx0ZXIuQ0hJTEQKKwkJCQkvLyByZW1lbWJlciB0aGF0IGZhbHNlL3RydWUgY2FzdCByZXNwZWN0aXZlbHkgdG8gMC8xCisJCQkJbWF0Y2hbNF0gPSArKCBtYXRjaFs0XSA/IG1hdGNoWzVdICsgKG1hdGNoWzZdIHx8IDEpIDogMiAqICggbWF0Y2hbM10gPT09ICJldmVuIiB8fCBtYXRjaFszXSA9PT0gIm9kZCIgKSApOworCQkJCW1hdGNoWzVdID0gKyggKCBtYXRjaFs3XSArIG1hdGNoWzhdICkgfHwgbWF0Y2hbM10gPT09ICJvZGQiICk7CisKKwkJCS8vIG90aGVyIHR5cGVzIHByb2hpYml0IGFyZ3VtZW50cworCQkJfSBlbHNlIGlmICggbWF0Y2hbM10gKSB7CisJCQkJU2l6emxlLmVycm9yKCBtYXRjaFswXSApOworCQkJfQorCisJCQlyZXR1cm4gbWF0Y2g7CisJCX0sCisKKwkJIlBTRVVETyI6IGZ1bmN0aW9uKCBtYXRjaCApIHsKKwkJCXZhciBleGNlc3MsCisJCQkJdW5xdW90ZWQgPSAhbWF0Y2hbNl0gJiYgbWF0Y2hbMl07CisKKwkJCWlmICggbWF0Y2hFeHByWyJDSElMRCJdLnRlc3QoIG1hdGNoWzBdICkgKSB7CisJCQkJcmV0dXJuIG51bGw7CisJCQl9CisKKwkJCS8vIEFjY2VwdCBxdW90ZWQgYXJndW1lbnRzIGFzLWlzCisJCQlpZiAoIG1hdGNoWzNdICkgeworCQkJCW1hdGNoWzJdID0gbWF0Y2hbNF0gfHwgbWF0Y2hbNV0gfHwgIiI7CisKKwkJCS8vIFN0cmlwIGV4Y2VzcyBjaGFyYWN0ZXJzIGZyb20gdW5xdW90ZWQgYXJndW1lbnRzCisJCQl9IGVsc2UgaWYgKCB1bnF1b3RlZCAmJiBycHNldWRvLnRlc3QoIHVucXVvdGVkICkgJiYKKwkJCQkvLyBHZXQgZXhjZXNzIGZyb20gdG9rZW5pemUgKHJlY3Vyc2l2ZWx5KQorCQkJCShleGNlc3MgPSB0b2tlbml6ZSggdW5xdW90ZWQsIHRydWUgKSkgJiYKKwkJCQkvLyBhZHZhbmNlIHRvIHRoZSBuZXh0IGNsb3NpbmcgcGFyZW50aGVzaXMKKwkJCQkoZXhjZXNzID0gdW5xdW90ZWQuaW5kZXhPZiggIikiLCB1bnF1b3RlZC5sZW5ndGggLSBleGNlc3MgKSAtIHVucXVvdGVkLmxlbmd0aCkgKSB7CisKKwkJCQkvLyBleGNlc3MgaXMgYSBuZWdhdGl2ZSBpbmRleAorCQkJCW1hdGNoWzBdID0gbWF0Y2hbMF0uc2xpY2UoIDAsIGV4Y2VzcyApOworCQkJCW1hdGNoWzJdID0gdW5xdW90ZWQuc2xpY2UoIDAsIGV4Y2VzcyApOworCQkJfQorCisJCQkvLyBSZXR1cm4gb25seSBjYXB0dXJlcyBuZWVkZWQgYnkgdGhlIHBzZXVkbyBmaWx0ZXIgbWV0aG9kICh0eXBlIGFuZCBhcmd1bWVudCkKKwkJCXJldHVybiBtYXRjaC5zbGljZSggMCwgMyApOworCQl9CisJfSwKKworCWZpbHRlcjogeworCisJCSJUQUciOiBmdW5jdGlvbiggbm9kZU5hbWVTZWxlY3RvciApIHsKKwkJCXZhciBub2RlTmFtZSA9IG5vZGVOYW1lU2VsZWN0b3IucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKS50b0xvd2VyQ2FzZSgpOworCQkJcmV0dXJuIG5vZGVOYW1lU2VsZWN0b3IgPT09ICIqIiA/CisJCQkJZnVuY3Rpb24oKSB7IHJldHVybiB0cnVlOyB9IDoKKwkJCQlmdW5jdGlvbiggZWxlbSApIHsKKwkJCQkJcmV0dXJuIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBub2RlTmFtZTsKKwkJCQl9OworCQl9LAorCisJCSJDTEFTUyI6IGZ1bmN0aW9uKCBjbGFzc05hbWUgKSB7CisJCQl2YXIgcGF0dGVybiA9IGNsYXNzQ2FjaGVbIGNsYXNzTmFtZSArICIgIiBdOworCisJCQlyZXR1cm4gcGF0dGVybiB8fAorCQkJCShwYXR0ZXJuID0gbmV3IFJlZ0V4cCggIihefCIgKyB3aGl0ZXNwYWNlICsgIikiICsgY2xhc3NOYW1lICsgIigiICsgd2hpdGVzcGFjZSArICJ8JCkiICkpICYmCisJCQkJY2xhc3NDYWNoZSggY2xhc3NOYW1lLCBmdW5jdGlvbiggZWxlbSApIHsKKwkJCQkJcmV0dXJuIHBhdHRlcm4udGVzdCggdHlwZW9mIGVsZW0uY2xhc3NOYW1lID09PSAic3RyaW5nIiAmJiBlbGVtLmNsYXNzTmFtZSB8fCB0eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGUgIT09ICJ1bmRlZmluZWQiICYmIGVsZW0uZ2V0QXR0cmlidXRlKCJjbGFzcyIpIHx8ICIiICk7CisJCQkJfSk7CisJCX0sCisKKwkJIkFUVFIiOiBmdW5jdGlvbiggbmFtZSwgb3BlcmF0b3IsIGNoZWNrICkgeworCQkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgeworCQkJCXZhciByZXN1bHQgPSBTaXp6bGUuYXR0ciggZWxlbSwgbmFtZSApOworCisJCQkJaWYgKCByZXN1bHQgPT0gbnVsbCApIHsKKwkJCQkJcmV0dXJuIG9wZXJhdG9yID09PSAiIT0iOworCQkJCX0KKwkJCQlpZiAoICFvcGVyYXRvciApIHsKKwkJCQkJcmV0dXJuIHRydWU7CisJCQkJfQorCisJCQkJcmVzdWx0ICs9ICIiOworCisJCQkJcmV0dXJuIG9wZXJhdG9yID09PSAiPSIgPyByZXN1bHQgPT09IGNoZWNrIDoKKwkJCQkJb3BlcmF0b3IgPT09ICIhPSIgPyByZXN1bHQgIT09IGNoZWNrIDoKKwkJCQkJb3BlcmF0b3IgPT09ICJePSIgPyBjaGVjayAmJiByZXN1bHQuaW5kZXhPZiggY2hlY2sgKSA9PT0gMCA6CisJCQkJCW9wZXJhdG9yID09PSAiKj0iID8gY2hlY2sgJiYgcmVzdWx0LmluZGV4T2YoIGNoZWNrICkgPiAtMSA6CisJCQkJCW9wZXJhdG9yID09PSAiJD0iID8gY2hlY2sgJiYgcmVzdWx0LnNsaWNlKCAtY2hlY2subGVuZ3RoICkgPT09IGNoZWNrIDoKKwkJCQkJb3BlcmF0b3IgPT09ICJ+PSIgPyAoICIgIiArIHJlc3VsdC5yZXBsYWNlKCByd2hpdGVzcGFjZSwgIiAiICkgKyAiICIgKS5pbmRleE9mKCBjaGVjayApID4gLTEgOgorCQkJCQlvcGVyYXRvciA9PT0gInw9IiA/IHJlc3VsdCA9PT0gY2hlY2sgfHwgcmVzdWx0LnNsaWNlKCAwLCBjaGVjay5sZW5ndGggKyAxICkgPT09IGNoZWNrICsgIi0iIDoKKwkJCQkJZmFsc2U7CisJCQl9OworCQl9LAorCisJCSJDSElMRCI6IGZ1bmN0aW9uKCB0eXBlLCB3aGF0LCBhcmd1bWVudCwgZmlyc3QsIGxhc3QgKSB7CisJCQl2YXIgc2ltcGxlID0gdHlwZS5zbGljZSggMCwgMyApICE9PSAibnRoIiwKKwkJCQlmb3J3YXJkID0gdHlwZS5zbGljZSggLTQgKSAhPT0gImxhc3QiLAorCQkJCW9mVHlwZSA9IHdoYXQgPT09ICJvZi10eXBlIjsKKworCQkJcmV0dXJuIGZpcnN0ID09PSAxICYmIGxhc3QgPT09IDAgPworCisJCQkJLy8gU2hvcnRjdXQgZm9yIDpudGgtKihuKQorCQkJCWZ1bmN0aW9uKCBlbGVtICkgeworCQkJCQlyZXR1cm4gISFlbGVtLnBhcmVudE5vZGU7CisJCQkJfSA6CisKKwkJCQlmdW5jdGlvbiggZWxlbSwgY29udGV4dCwgeG1sICkgeworCQkJCQl2YXIgY2FjaGUsIHVuaXF1ZUNhY2hlLCBvdXRlckNhY2hlLCBub2RlLCBub2RlSW5kZXgsIHN0YXJ0LAorCQkJCQkJZGlyID0gc2ltcGxlICE9PSBmb3J3YXJkID8gIm5leHRTaWJsaW5nIiA6ICJwcmV2aW91c1NpYmxpbmciLAorCQkJCQkJcGFyZW50ID0gZWxlbS5wYXJlbnROb2RlLAorCQkJCQkJbmFtZSA9IG9mVHlwZSAmJiBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksCisJCQkJCQl1c2VDYWNoZSA9ICF4bWwgJiYgIW9mVHlwZSwKKwkJCQkJCWRpZmYgPSBmYWxzZTsKKworCQkJCQlpZiAoIHBhcmVudCApIHsKKworCQkJCQkJLy8gOihmaXJzdHxsYXN0fG9ubHkpLShjaGlsZHxvZi10eXBlKQorCQkJCQkJaWYgKCBzaW1wbGUgKSB7CisJCQkJCQkJd2hpbGUgKCBkaXIgKSB7CisJCQkJCQkJCW5vZGUgPSBlbGVtOworCQkJCQkJCQl3aGlsZSAoIChub2RlID0gbm9kZVsgZGlyIF0pICkgeworCQkJCQkJCQkJaWYgKCBvZlR5cGUgPworCQkJCQkJCQkJCW5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gbmFtZSA6CisJCQkJCQkJCQkJbm9kZS5ub2RlVHlwZSA9PT0gMSApIHsKKworCQkJCQkJCQkJCXJldHVybiBmYWxzZTsKKwkJCQkJCQkJCX0KKwkJCQkJCQkJfQorCQkJCQkJCQkvLyBSZXZlcnNlIGRpcmVjdGlvbiBmb3IgOm9ubHktKiAoaWYgd2UgaGF2ZW4ndCB5ZXQgZG9uZSBzbykKKwkJCQkJCQkJc3RhcnQgPSBkaXIgPSB0eXBlID09PSAib25seSIgJiYgIXN0YXJ0ICYmICJuZXh0U2libGluZyI7CisJCQkJCQkJfQorCQkJCQkJCXJldHVybiB0cnVlOworCQkJCQkJfQorCisJCQkJCQlzdGFydCA9IFsgZm9yd2FyZCA/IHBhcmVudC5maXJzdENoaWxkIDogcGFyZW50Lmxhc3RDaGlsZCBdOworCisJCQkJCQkvLyBub24teG1sIDpudGgtY2hpbGQoLi4uKSBzdG9yZXMgY2FjaGUgZGF0YSBvbiBgcGFyZW50YAorCQkJCQkJaWYgKCBmb3J3YXJkICYmIHVzZUNhY2hlICkgeworCisJCQkJCQkJLy8gU2VlayBgZWxlbWAgZnJvbSBhIHByZXZpb3VzbHktY2FjaGVkIGluZGV4CisKKwkJCQkJCQkvLyAuLi5pbiBhIGd6aXAtZnJpZW5kbHkgd2F5CisJCQkJCQkJbm9kZSA9IHBhcmVudDsKKwkJCQkJCQlvdXRlckNhY2hlID0gbm9kZVsgZXhwYW5kbyBdIHx8IChub2RlWyBleHBhbmRvIF0gPSB7fSk7CisKKwkJCQkJCQkvLyBTdXBwb3J0OiBJRSA8OSBvbmx5CisJCQkJCQkJLy8gRGVmZW5kIGFnYWluc3QgY2xvbmVkIGF0dHJvcGVydGllcyAoalF1ZXJ5IGdoLTE3MDkpCisJCQkJCQkJdW5pcXVlQ2FjaGUgPSBvdXRlckNhY2hlWyBub2RlLnVuaXF1ZUlEIF0gfHwKKwkJCQkJCQkJKG91dGVyQ2FjaGVbIG5vZGUudW5pcXVlSUQgXSA9IHt9KTsKKworCQkJCQkJCWNhY2hlID0gdW5pcXVlQ2FjaGVbIHR5cGUgXSB8fCBbXTsKKwkJCQkJCQlub2RlSW5kZXggPSBjYWNoZVsgMCBdID09PSBkaXJydW5zICYmIGNhY2hlWyAxIF07CisJCQkJCQkJZGlmZiA9IG5vZGVJbmRleCAmJiBjYWNoZVsgMiBdOworCQkJCQkJCW5vZGUgPSBub2RlSW5kZXggJiYgcGFyZW50LmNoaWxkTm9kZXNbIG5vZGVJbmRleCBdOworCisJCQkJCQkJd2hpbGUgKCAobm9kZSA9ICsrbm9kZUluZGV4ICYmIG5vZGUgJiYgbm9kZVsgZGlyIF0gfHwKKworCQkJCQkJCQkvLyBGYWxsYmFjayB0byBzZWVraW5nIGBlbGVtYCBmcm9tIHRoZSBzdGFydAorCQkJCQkJCQkoZGlmZiA9IG5vZGVJbmRleCA9IDApIHx8IHN0YXJ0LnBvcCgpKSApIHsKKworCQkJCQkJCQkvLyBXaGVuIGZvdW5kLCBjYWNoZSBpbmRleGVzIG9uIGBwYXJlbnRgIGFuZCBicmVhaworCQkJCQkJCQlpZiAoIG5vZGUubm9kZVR5cGUgPT09IDEgJiYgKytkaWZmICYmIG5vZGUgPT09IGVsZW0gKSB7CisJCQkJCQkJCQl1bmlxdWVDYWNoZVsgdHlwZSBdID0gWyBkaXJydW5zLCBub2RlSW5kZXgsIGRpZmYgXTsKKwkJCQkJCQkJCWJyZWFrOworCQkJCQkJCQl9CisJCQkJCQkJfQorCisJCQkJCQl9IGVsc2UgeworCQkJCQkJCS8vIFVzZSBwcmV2aW91c2x5LWNhY2hlZCBlbGVtZW50IGluZGV4IGlmIGF2YWlsYWJsZQorCQkJCQkJCWlmICggdXNlQ2FjaGUgKSB7CisJCQkJCQkJCS8vIC4uLmluIGEgZ3ppcC1mcmllbmRseSB3YXkKKwkJCQkJCQkJbm9kZSA9IGVsZW07CisJCQkJCQkJCW91dGVyQ2FjaGUgPSBub2RlWyBleHBhbmRvIF0gfHwgKG5vZGVbIGV4cGFuZG8gXSA9IHt9KTsKKworCQkJCQkJCQkvLyBTdXBwb3J0OiBJRSA8OSBvbmx5CisJCQkJCQkJCS8vIERlZmVuZCBhZ2FpbnN0IGNsb25lZCBhdHRyb3BlcnRpZXMgKGpRdWVyeSBnaC0xNzA5KQorCQkJCQkJCQl1bmlxdWVDYWNoZSA9IG91dGVyQ2FjaGVbIG5vZGUudW5pcXVlSUQgXSB8fAorCQkJCQkJCQkJKG91dGVyQ2FjaGVbIG5vZGUudW5pcXVlSUQgXSA9IHt9KTsKKworCQkJCQkJCQljYWNoZSA9IHVuaXF1ZUNhY2hlWyB0eXBlIF0gfHwgW107CisJCQkJCQkJCW5vZGVJbmRleCA9IGNhY2hlWyAwIF0gPT09IGRpcnJ1bnMgJiYgY2FjaGVbIDEgXTsKKwkJCQkJCQkJZGlmZiA9IG5vZGVJbmRleDsKKwkJCQkJCQl9CisKKwkJCQkJCQkvLyB4bWwgOm50aC1jaGlsZCguLi4pCisJCQkJCQkJLy8gb3IgOm50aC1sYXN0LWNoaWxkKC4uLikgb3IgOm50aCgtbGFzdCk/LW9mLXR5cGUoLi4uKQorCQkJCQkJCWlmICggZGlmZiA9PT0gZmFsc2UgKSB7CisJCQkJCQkJCS8vIFVzZSB0aGUgc2FtZSBsb29wIGFzIGFib3ZlIHRvIHNlZWsgYGVsZW1gIGZyb20gdGhlIHN0YXJ0CisJCQkJCQkJCXdoaWxlICggKG5vZGUgPSArK25vZGVJbmRleCAmJiBub2RlICYmIG5vZGVbIGRpciBdIHx8CisJCQkJCQkJCQkoZGlmZiA9IG5vZGVJbmRleCA9IDApIHx8IHN0YXJ0LnBvcCgpKSApIHsKKworCQkJCQkJCQkJaWYgKCAoIG9mVHlwZSA/CisJCQkJCQkJCQkJbm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBuYW1lIDoKKwkJCQkJCQkJCQlub2RlLm5vZGVUeXBlID09PSAxICkgJiYKKwkJCQkJCQkJCQkrK2RpZmYgKSB7CisKKwkJCQkJCQkJCQkvLyBDYWNoZSB0aGUgaW5kZXggb2YgZWFjaCBlbmNvdW50ZXJlZCBlbGVtZW50CisJCQkJCQkJCQkJaWYgKCB1c2VDYWNoZSApIHsKKwkJCQkJCQkJCQkJb3V0ZXJDYWNoZSA9IG5vZGVbIGV4cGFuZG8gXSB8fCAobm9kZVsgZXhwYW5kbyBdID0ge30pOworCisJCQkJCQkJCQkJCS8vIFN1cHBvcnQ6IElFIDw5IG9ubHkKKwkJCQkJCQkJCQkJLy8gRGVmZW5kIGFnYWluc3QgY2xvbmVkIGF0dHJvcGVydGllcyAoalF1ZXJ5IGdoLTE3MDkpCisJCQkJCQkJCQkJCXVuaXF1ZUNhY2hlID0gb3V0ZXJDYWNoZVsgbm9kZS51bmlxdWVJRCBdIHx8CisJCQkJCQkJCQkJCQkob3V0ZXJDYWNoZVsgbm9kZS51bmlxdWVJRCBdID0ge30pOworCisJCQkJCQkJCQkJCXVuaXF1ZUNhY2hlWyB0eXBlIF0gPSBbIGRpcnJ1bnMsIGRpZmYgXTsKKwkJCQkJCQkJCQl9CisKKwkJCQkJCQkJCQlpZiAoIG5vZGUgPT09IGVsZW0gKSB7CisJCQkJCQkJCQkJCWJyZWFrOworCQkJCQkJCQkJCX0KKwkJCQkJCQkJCX0KKwkJCQkJCQkJfQorCQkJCQkJCX0KKwkJCQkJCX0KKworCQkJCQkJLy8gSW5jb3Jwb3JhdGUgdGhlIG9mZnNldCwgdGhlbiBjaGVjayBhZ2FpbnN0IGN5Y2xlIHNpemUKKwkJCQkJCWRpZmYgLT0gbGFzdDsKKwkJCQkJCXJldHVybiBkaWZmID09PSBmaXJzdCB8fCAoIGRpZmYgJSBmaXJzdCA9PT0gMCAmJiBkaWZmIC8gZmlyc3QgPj0gMCApOworCQkJCQl9CisJCQkJfTsKKwkJfSwKKworCQkiUFNFVURPIjogZnVuY3Rpb24oIHBzZXVkbywgYXJndW1lbnQgKSB7CisJCQkvLyBwc2V1ZG8tY2xhc3MgbmFtZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUKKwkJCS8vIGh0dHA6Ly93d3cudzMub3JnL1RSL3NlbGVjdG9ycy8jcHNldWRvLWNsYXNzZXMKKwkJCS8vIFByaW9yaXRpemUgYnkgY2FzZSBzZW5zaXRpdml0eSBpbiBjYXNlIGN1c3RvbSBwc2V1ZG9zIGFyZSBhZGRlZCB3aXRoIHVwcGVyY2FzZSBsZXR0ZXJzCisJCQkvLyBSZW1lbWJlciB0aGF0IHNldEZpbHRlcnMgaW5oZXJpdHMgZnJvbSBwc2V1ZG9zCisJCQl2YXIgYXJncywKKwkJCQlmbiA9IEV4cHIucHNldWRvc1sgcHNldWRvIF0gfHwgRXhwci5zZXRGaWx0ZXJzWyBwc2V1ZG8udG9Mb3dlckNhc2UoKSBdIHx8CisJCQkJCVNpenpsZS5lcnJvciggInVuc3VwcG9ydGVkIHBzZXVkbzogIiArIHBzZXVkbyApOworCisJCQkvLyBUaGUgdXNlciBtYXkgdXNlIGNyZWF0ZVBzZXVkbyB0byBpbmRpY2F0ZSB0aGF0CisJCQkvLyBhcmd1bWVudHMgYXJlIG5lZWRlZCB0byBjcmVhdGUgdGhlIGZpbHRlciBmdW5jdGlvbgorCQkJLy8ganVzdCBhcyBTaXp6bGUgZG9lcworCQkJaWYgKCBmblsgZXhwYW5kbyBdICkgeworCQkJCXJldHVybiBmbiggYXJndW1lbnQgKTsKKwkJCX0KKworCQkJLy8gQnV0IG1haW50YWluIHN1cHBvcnQgZm9yIG9sZCBzaWduYXR1cmVzCisJCQlpZiAoIGZuLmxlbmd0aCA+IDEgKSB7CisJCQkJYXJncyA9IFsgcHNldWRvLCBwc2V1ZG8sICIiLCBhcmd1bWVudCBdOworCQkJCXJldHVybiBFeHByLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoIHBzZXVkby50b0xvd2VyQ2FzZSgpICkgPworCQkJCQltYXJrRnVuY3Rpb24oZnVuY3Rpb24oIHNlZWQsIG1hdGNoZXMgKSB7CisJCQkJCQl2YXIgaWR4LAorCQkJCQkJCW1hdGNoZWQgPSBmbiggc2VlZCwgYXJndW1lbnQgKSwKKwkJCQkJCQlpID0gbWF0Y2hlZC5sZW5ndGg7CisJCQkJCQl3aGlsZSAoIGktLSApIHsKKwkJCQkJCQlpZHggPSBpbmRleE9mKCBzZWVkLCBtYXRjaGVkW2ldICk7CisJCQkJCQkJc2VlZFsgaWR4IF0gPSAhKCBtYXRjaGVzWyBpZHggXSA9IG1hdGNoZWRbaV0gKTsKKwkJCQkJCX0KKwkJCQkJfSkgOgorCQkJCQlmdW5jdGlvbiggZWxlbSApIHsKKwkJCQkJCXJldHVybiBmbiggZWxlbSwgMCwgYXJncyApOworCQkJCQl9OworCQkJfQorCisJCQlyZXR1cm4gZm47CisJCX0KKwl9LAorCisJcHNldWRvczogeworCQkvLyBQb3RlbnRpYWxseSBjb21wbGV4IHBzZXVkb3MKKwkJIm5vdCI6IG1hcmtGdW5jdGlvbihmdW5jdGlvbiggc2VsZWN0b3IgKSB7CisJCQkvLyBUcmltIHRoZSBzZWxlY3RvciBwYXNzZWQgdG8gY29tcGlsZQorCQkJLy8gdG8gYXZvaWQgdHJlYXRpbmcgbGVhZGluZyBhbmQgdHJhaWxpbmcKKwkJCS8vIHNwYWNlcyBhcyBjb21iaW5hdG9ycworCQkJdmFyIGlucHV0ID0gW10sCisJCQkJcmVzdWx0cyA9IFtdLAorCQkJCW1hdGNoZXIgPSBjb21waWxlKCBzZWxlY3Rvci5yZXBsYWNlKCBydHJpbSwgIiQxIiApICk7CisKKwkJCXJldHVybiBtYXRjaGVyWyBleHBhbmRvIF0gPworCQkJCW1hcmtGdW5jdGlvbihmdW5jdGlvbiggc2VlZCwgbWF0Y2hlcywgY29udGV4dCwgeG1sICkgeworCQkJCQl2YXIgZWxlbSwKKwkJCQkJCXVubWF0Y2hlZCA9IG1hdGNoZXIoIHNlZWQsIG51bGwsIHhtbCwgW10gKSwKKwkJCQkJCWkgPSBzZWVkLmxlbmd0aDsKKworCQkJCQkvLyBNYXRjaCBlbGVtZW50cyB1bm1hdGNoZWQgYnkgYG1hdGNoZXJgCisJCQkJCXdoaWxlICggaS0tICkgeworCQkJCQkJaWYgKCAoZWxlbSA9IHVubWF0Y2hlZFtpXSkgKSB7CisJCQkJCQkJc2VlZFtpXSA9ICEobWF0Y2hlc1tpXSA9IGVsZW0pOworCQkJCQkJfQorCQkJCQl9CisJCQkJfSkgOgorCQkJCWZ1bmN0aW9uKCBlbGVtLCBjb250ZXh0LCB4bWwgKSB7CisJCQkJCWlucHV0WzBdID0gZWxlbTsKKwkJCQkJbWF0Y2hlciggaW5wdXQsIG51bGwsIHhtbCwgcmVzdWx0cyApOworCQkJCQkvLyBEb24ndCBrZWVwIHRoZSBlbGVtZW50IChpc3N1ZSAjMjk5KQorCQkJCQlpbnB1dFswXSA9IG51bGw7CisJCQkJCXJldHVybiAhcmVzdWx0cy5wb3AoKTsKKwkJCQl9OworCQl9KSwKKworCQkiaGFzIjogbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKCBzZWxlY3RvciApIHsKKwkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsKKwkJCQlyZXR1cm4gU2l6emxlKCBzZWxlY3RvciwgZWxlbSApLmxlbmd0aCA+IDA7CisJCQl9OworCQl9KSwKKworCQkiY29udGFpbnMiOiBtYXJrRnVuY3Rpb24oZnVuY3Rpb24oIHRleHQgKSB7CisJCQl0ZXh0ID0gdGV4dC5yZXBsYWNlKCBydW5lc2NhcGUsIGZ1bmVzY2FwZSApOworCQkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgeworCQkJCXJldHVybiAoIGVsZW0udGV4dENvbnRlbnQgfHwgZWxlbS5pbm5lclRleHQgfHwgZ2V0VGV4dCggZWxlbSApICkuaW5kZXhPZiggdGV4dCApID4gLTE7CisJCQl9OworCQl9KSwKKworCQkvLyAiV2hldGhlciBhbiBlbGVtZW50IGlzIHJlcHJlc2VudGVkIGJ5IGEgOmxhbmcoKSBzZWxlY3RvcgorCQkvLyBpcyBiYXNlZCBzb2xlbHkgb24gdGhlIGVsZW1lbnQncyBsYW5ndWFnZSB2YWx1ZQorCQkvLyBiZWluZyBlcXVhbCB0byB0aGUgaWRlbnRpZmllciBDLAorCQkvLyBvciBiZWdpbm5pbmcgd2l0aCB0aGUgaWRlbnRpZmllciBDIGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5ICItIi4KKwkJLy8gVGhlIG1hdGNoaW5nIG9mIEMgYWdhaW5zdCB0aGUgZWxlbWVudCdzIGxhbmd1YWdlIHZhbHVlIGlzIHBlcmZvcm1lZCBjYXNlLWluc2Vuc2l0aXZlbHkuCisJCS8vIFRoZSBpZGVudGlmaWVyIEMgZG9lcyBub3QgaGF2ZSB0byBiZSBhIHZhbGlkIGxhbmd1YWdlIG5hbWUuIgorCQkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9zZWxlY3RvcnMvI2xhbmctcHNldWRvCisJCSJsYW5nIjogbWFya0Z1bmN0aW9uKCBmdW5jdGlvbiggbGFuZyApIHsKKwkJCS8vIGxhbmcgdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGlkZW50aWZpZXIKKwkJCWlmICggIXJpZGVudGlmaWVyLnRlc3QobGFuZyB8fCAiIikgKSB7CisJCQkJU2l6emxlLmVycm9yKCAidW5zdXBwb3J0ZWQgbGFuZzogIiArIGxhbmcgKTsKKwkJCX0KKwkJCWxhbmcgPSBsYW5nLnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICkudG9Mb3dlckNhc2UoKTsKKwkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsKKwkJCQl2YXIgZWxlbUxhbmc7CisJCQkJZG8geworCQkJCQlpZiAoIChlbGVtTGFuZyA9IGRvY3VtZW50SXNIVE1MID8KKwkJCQkJCWVsZW0ubGFuZyA6CisJCQkJCQllbGVtLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKSB8fCBlbGVtLmdldEF0dHJpYnV0ZSgibGFuZyIpKSApIHsKKworCQkJCQkJZWxlbUxhbmcgPSBlbGVtTGFuZy50b0xvd2VyQ2FzZSgpOworCQkJCQkJcmV0dXJuIGVsZW1MYW5nID09PSBsYW5nIHx8IGVsZW1MYW5nLmluZGV4T2YoIGxhbmcgKyAiLSIgKSA9PT0gMDsKKwkJCQkJfQorCQkJCX0gd2hpbGUgKCAoZWxlbSA9IGVsZW0ucGFyZW50Tm9kZSkgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSApOworCQkJCXJldHVybiBmYWxzZTsKKwkJCX07CisJCX0pLAorCisJCS8vIE1pc2NlbGxhbmVvdXMKKwkJInRhcmdldCI6IGZ1bmN0aW9uKCBlbGVtICkgeworCQkJdmFyIGhhc2ggPSB3aW5kb3cubG9jYXRpb24gJiYgd2luZG93LmxvY2F0aW9uLmhhc2g7CisJCQlyZXR1cm4gaGFzaCAmJiBoYXNoLnNsaWNlKCAxICkgPT09IGVsZW0uaWQ7CisJCX0sCisKKwkJInJvb3QiOiBmdW5jdGlvbiggZWxlbSApIHsKKwkJCXJldHVybiBlbGVtID09PSBkb2NFbGVtOworCQl9LAorCisJCSJmb2N1cyI6IGZ1bmN0aW9uKCBlbGVtICkgeworCQkJcmV0dXJuIGVsZW0gPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiYgKCFkb2N1bWVudC5oYXNGb2N1cyB8fCBkb2N1bWVudC5oYXNGb2N1cygpKSAmJiAhIShlbGVtLnR5cGUgfHwgZWxlbS5ocmVmIHx8IH5lbGVtLnRhYkluZGV4KTsKKwkJfSwKKworCQkvLyBCb29sZWFuIHByb3BlcnRpZXMKKwkJImVuYWJsZWQiOiBjcmVhdGVEaXNhYmxlZFBzZXVkbyggZmFsc2UgKSwKKwkJImRpc2FibGVkIjogY3JlYXRlRGlzYWJsZWRQc2V1ZG8oIHRydWUgKSwKKworCQkiY2hlY2tlZCI6IGZ1bmN0aW9uKCBlbGVtICkgeworCQkJLy8gSW4gQ1NTMywgOmNoZWNrZWQgc2hvdWxkIHJldHVybiBib3RoIGNoZWNrZWQgYW5kIHNlbGVjdGVkIGVsZW1lbnRzCisJCQkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDExL1JFQy1jc3MzLXNlbGVjdG9ycy0yMDExMDkyOS8jY2hlY2tlZAorCQkJdmFyIG5vZGVOYW1lID0gZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOworCQkJcmV0dXJuIChub2RlTmFtZSA9PT0gImlucHV0IiAmJiAhIWVsZW0uY2hlY2tlZCkgfHwgKG5vZGVOYW1lID09PSAib3B0aW9uIiAmJiAhIWVsZW0uc2VsZWN0ZWQpOworCQl9LAorCisJCSJzZWxlY3RlZCI6IGZ1bmN0aW9uKCBlbGVtICkgeworCQkJLy8gQWNjZXNzaW5nIHRoaXMgcHJvcGVydHkgbWFrZXMgc2VsZWN0ZWQtYnktZGVmYXVsdAorCQkJLy8gb3B0aW9ucyBpbiBTYWZhcmkgd29yayBwcm9wZXJseQorCQkJaWYgKCBlbGVtLnBhcmVudE5vZGUgKSB7CisJCQkJZWxlbS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXg7CisJCQl9CisKKwkJCXJldHVybiBlbGVtLnNlbGVjdGVkID09PSB0cnVlOworCQl9LAorCisJCS8vIENvbnRlbnRzCisJCSJlbXB0eSI6IGZ1bmN0aW9uKCBlbGVtICkgeworCQkJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvc2VsZWN0b3JzLyNlbXB0eS1wc2V1ZG8KKwkJCS8vIDplbXB0eSBpcyBuZWdhdGVkIGJ5IGVsZW1lbnQgKDEpIG9yIGNvbnRlbnQgbm9kZXMgKHRleHQ6IDM7IGNkYXRhOiA0OyBlbnRpdHkgcmVmOiA1KSwKKwkJCS8vICAgYnV0IG5vdCBieSBvdGhlcnMgKGNvbW1lbnQ6IDg7IHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb246IDc7IGV0Yy4pCisJCQkvLyBub2RlVHlwZSA8IDYgd29ya3MgYmVjYXVzZSBhdHRyaWJ1dGVzICgyKSBkbyBub3QgYXBwZWFyIGFzIGNoaWxkcmVuCisJCQlmb3IgKCBlbGVtID0gZWxlbS5maXJzdENoaWxkOyBlbGVtOyBlbGVtID0gZWxlbS5uZXh0U2libGluZyApIHsKKwkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPCA2ICkgeworCQkJCQlyZXR1cm4gZmFsc2U7CisJCQkJfQorCQkJfQorCQkJcmV0dXJuIHRydWU7CisJCX0sCisKKwkJInBhcmVudCI6IGZ1bmN0aW9uKCBlbGVtICkgeworCQkJcmV0dXJuICFFeHByLnBzZXVkb3NbImVtcHR5Il0oIGVsZW0gKTsKKwkJfSwKKworCQkvLyBFbGVtZW50L2lucHV0IHR5cGVzCisJCSJoZWFkZXIiOiBmdW5jdGlvbiggZWxlbSApIHsKKwkJCXJldHVybiByaGVhZGVyLnRlc3QoIGVsZW0ubm9kZU5hbWUgKTsKKwkJfSwKKworCQkiaW5wdXQiOiBmdW5jdGlvbiggZWxlbSApIHsKKwkJCXJldHVybiByaW5wdXRzLnRlc3QoIGVsZW0ubm9kZU5hbWUgKTsKKwkJfSwKKworCQkiYnV0dG9uIjogZnVuY3Rpb24oIGVsZW0gKSB7CisJCQl2YXIgbmFtZSA9IGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKKwkJCXJldHVybiBuYW1lID09PSAiaW5wdXQiICYmIGVsZW0udHlwZSA9PT0gImJ1dHRvbiIgfHwgbmFtZSA9PT0gImJ1dHRvbiI7CisJCX0sCisKKwkJInRleHQiOiBmdW5jdGlvbiggZWxlbSApIHsKKwkJCXZhciBhdHRyOworCQkJcmV0dXJuIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gImlucHV0IiAmJgorCQkJCWVsZW0udHlwZSA9PT0gInRleHQiICYmCisKKwkJCQkvLyBTdXBwb3J0OiBJRTw4CisJCQkJLy8gTmV3IEhUTUw1IGF0dHJpYnV0ZSB2YWx1ZXMgKGUuZy4sICJzZWFyY2giKSBhcHBlYXIgd2l0aCBlbGVtLnR5cGUgPT09ICJ0ZXh0IgorCQkJCSggKGF0dHIgPSBlbGVtLmdldEF0dHJpYnV0ZSgidHlwZSIpKSA9PSBudWxsIHx8IGF0dHIudG9Mb3dlckNhc2UoKSA9PT0gInRleHQiICk7CisJCX0sCisKKwkJLy8gUG9zaXRpb24taW4tY29sbGVjdGlvbgorCQkiZmlyc3QiOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKCkgeworCQkJcmV0dXJuIFsgMCBdOworCQl9KSwKKworCQkibGFzdCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24oIG1hdGNoSW5kZXhlcywgbGVuZ3RoICkgeworCQkJcmV0dXJuIFsgbGVuZ3RoIC0gMSBdOworCQl9KSwKKworCQkiZXEiOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKCBtYXRjaEluZGV4ZXMsIGxlbmd0aCwgYXJndW1lbnQgKSB7CisJCQlyZXR1cm4gWyBhcmd1bWVudCA8IDAgPyBhcmd1bWVudCArIGxlbmd0aCA6IGFyZ3VtZW50IF07CisJCX0pLAorCisJCSJldmVuIjogY3JlYXRlUG9zaXRpb25hbFBzZXVkbyhmdW5jdGlvbiggbWF0Y2hJbmRleGVzLCBsZW5ndGggKSB7CisJCQl2YXIgaSA9IDA7CisJCQlmb3IgKCA7IGkgPCBsZW5ndGg7IGkgKz0gMiApIHsKKwkJCQltYXRjaEluZGV4ZXMucHVzaCggaSApOworCQkJfQorCQkJcmV0dXJuIG1hdGNoSW5kZXhlczsKKwkJfSksCisKKwkJIm9kZCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24oIG1hdGNoSW5kZXhlcywgbGVuZ3RoICkgeworCQkJdmFyIGkgPSAxOworCQkJZm9yICggOyBpIDwgbGVuZ3RoOyBpICs9IDIgKSB7CisJCQkJbWF0Y2hJbmRleGVzLnB1c2goIGkgKTsKKwkJCX0KKwkJCXJldHVybiBtYXRjaEluZGV4ZXM7CisJCX0pLAorCisJCSJsdCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24oIG1hdGNoSW5kZXhlcywgbGVuZ3RoLCBhcmd1bWVudCApIHsKKwkJCXZhciBpID0gYXJndW1lbnQgPCAwID8gYXJndW1lbnQgKyBsZW5ndGggOiBhcmd1bWVudDsKKwkJCWZvciAoIDsgLS1pID49IDA7ICkgeworCQkJCW1hdGNoSW5kZXhlcy5wdXNoKCBpICk7CisJCQl9CisJCQlyZXR1cm4gbWF0Y2hJbmRleGVzOworCQl9KSwKKworCQkiZ3QiOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKCBtYXRjaEluZGV4ZXMsIGxlbmd0aCwgYXJndW1lbnQgKSB7CisJCQl2YXIgaSA9IGFyZ3VtZW50IDwgMCA/IGFyZ3VtZW50ICsgbGVuZ3RoIDogYXJndW1lbnQ7CisJCQlmb3IgKCA7ICsraSA8IGxlbmd0aDsgKSB7CisJCQkJbWF0Y2hJbmRleGVzLnB1c2goIGkgKTsKKwkJCX0KKwkJCXJldHVybiBtYXRjaEluZGV4ZXM7CisJCX0pCisJfQorfTsKKworRXhwci5wc2V1ZG9zWyJudGgiXSA9IEV4cHIucHNldWRvc1siZXEiXTsKKworLy8gQWRkIGJ1dHRvbi9pbnB1dCB0eXBlIHBzZXVkb3MKK2ZvciAoIGkgaW4geyByYWRpbzogdHJ1ZSwgY2hlY2tib3g6IHRydWUsIGZpbGU6IHRydWUsIHBhc3N3b3JkOiB0cnVlLCBpbWFnZTogdHJ1ZSB9ICkgeworCUV4cHIucHNldWRvc1sgaSBdID0gY3JlYXRlSW5wdXRQc2V1ZG8oIGkgKTsKK30KK2ZvciAoIGkgaW4geyBzdWJtaXQ6IHRydWUsIHJlc2V0OiB0cnVlIH0gKSB7CisJRXhwci5wc2V1ZG9zWyBpIF0gPSBjcmVhdGVCdXR0b25Qc2V1ZG8oIGkgKTsKK30KKworLy8gRWFzeSBBUEkgZm9yIGNyZWF0aW5nIG5ldyBzZXRGaWx0ZXJzCitmdW5jdGlvbiBzZXRGaWx0ZXJzKCkge30KK3NldEZpbHRlcnMucHJvdG90eXBlID0gRXhwci5maWx0ZXJzID0gRXhwci5wc2V1ZG9zOworRXhwci5zZXRGaWx0ZXJzID0gbmV3IHNldEZpbHRlcnMoKTsKKwordG9rZW5pemUgPSBTaXp6bGUudG9rZW5pemUgPSBmdW5jdGlvbiggc2VsZWN0b3IsIHBhcnNlT25seSApIHsKKwl2YXIgbWF0Y2hlZCwgbWF0Y2gsIHRva2VucywgdHlwZSwKKwkJc29GYXIsIGdyb3VwcywgcHJlRmlsdGVycywKKwkJY2FjaGVkID0gdG9rZW5DYWNoZVsgc2VsZWN0b3IgKyAiICIgXTsKKworCWlmICggY2FjaGVkICkgeworCQlyZXR1cm4gcGFyc2VPbmx5ID8gMCA6IGNhY2hlZC5zbGljZSggMCApOworCX0KKworCXNvRmFyID0gc2VsZWN0b3I7CisJZ3JvdXBzID0gW107CisJcHJlRmlsdGVycyA9IEV4cHIucHJlRmlsdGVyOworCisJd2hpbGUgKCBzb0ZhciApIHsKKworCQkvLyBDb21tYSBhbmQgZmlyc3QgcnVuCisJCWlmICggIW1hdGNoZWQgfHwgKG1hdGNoID0gcmNvbW1hLmV4ZWMoIHNvRmFyICkpICkgeworCQkJaWYgKCBtYXRjaCApIHsKKwkJCQkvLyBEb24ndCBjb25zdW1lIHRyYWlsaW5nIGNvbW1hcyBhcyB2YWxpZAorCQkJCXNvRmFyID0gc29GYXIuc2xpY2UoIG1hdGNoWzBdLmxlbmd0aCApIHx8IHNvRmFyOworCQkJfQorCQkJZ3JvdXBzLnB1c2goICh0b2tlbnMgPSBbXSkgKTsKKwkJfQorCisJCW1hdGNoZWQgPSBmYWxzZTsKKworCQkvLyBDb21iaW5hdG9ycworCQlpZiAoIChtYXRjaCA9IHJjb21iaW5hdG9ycy5leGVjKCBzb0ZhciApKSApIHsKKwkJCW1hdGNoZWQgPSBtYXRjaC5zaGlmdCgpOworCQkJdG9rZW5zLnB1c2goeworCQkJCXZhbHVlOiBtYXRjaGVkLAorCQkJCS8vIENhc3QgZGVzY2VuZGFudCBjb21iaW5hdG9ycyB0byBzcGFjZQorCQkJCXR5cGU6IG1hdGNoWzBdLnJlcGxhY2UoIHJ0cmltLCAiICIgKQorCQkJfSk7CisJCQlzb0ZhciA9IHNvRmFyLnNsaWNlKCBtYXRjaGVkLmxlbmd0aCApOworCQl9CisKKwkJLy8gRmlsdGVycworCQlmb3IgKCB0eXBlIGluIEV4cHIuZmlsdGVyICkgeworCQkJaWYgKCAobWF0Y2ggPSBtYXRjaEV4cHJbIHR5cGUgXS5leGVjKCBzb0ZhciApKSAmJiAoIXByZUZpbHRlcnNbIHR5cGUgXSB8fAorCQkJCShtYXRjaCA9IHByZUZpbHRlcnNbIHR5cGUgXSggbWF0Y2ggKSkpICkgeworCQkJCW1hdGNoZWQgPSBtYXRjaC5zaGlmdCgpOworCQkJCXRva2Vucy5wdXNoKHsKKwkJCQkJdmFsdWU6IG1hdGNoZWQsCisJCQkJCXR5cGU6IHR5cGUsCisJCQkJCW1hdGNoZXM6IG1hdGNoCisJCQkJfSk7CisJCQkJc29GYXIgPSBzb0Zhci5zbGljZSggbWF0Y2hlZC5sZW5ndGggKTsKKwkJCX0KKwkJfQorCisJCWlmICggIW1hdGNoZWQgKSB7CisJCQlicmVhazsKKwkJfQorCX0KKworCS8vIFJldHVybiB0aGUgbGVuZ3RoIG9mIHRoZSBpbnZhbGlkIGV4Y2VzcworCS8vIGlmIHdlJ3JlIGp1c3QgcGFyc2luZworCS8vIE90aGVyd2lzZSwgdGhyb3cgYW4gZXJyb3Igb3IgcmV0dXJuIHRva2VucworCXJldHVybiBwYXJzZU9ubHkgPworCQlzb0Zhci5sZW5ndGggOgorCQlzb0ZhciA/CisJCQlTaXp6bGUuZXJyb3IoIHNlbGVjdG9yICkgOgorCQkJLy8gQ2FjaGUgdGhlIHRva2VucworCQkJdG9rZW5DYWNoZSggc2VsZWN0b3IsIGdyb3VwcyApLnNsaWNlKCAwICk7Cit9OworCitmdW5jdGlvbiB0b1NlbGVjdG9yKCB0b2tlbnMgKSB7CisJdmFyIGkgPSAwLAorCQlsZW4gPSB0b2tlbnMubGVuZ3RoLAorCQlzZWxlY3RvciA9ICIiOworCWZvciAoIDsgaSA8IGxlbjsgaSsrICkgeworCQlzZWxlY3RvciArPSB0b2tlbnNbaV0udmFsdWU7CisJfQorCXJldHVybiBzZWxlY3RvcjsKK30KKworZnVuY3Rpb24gYWRkQ29tYmluYXRvciggbWF0Y2hlciwgY29tYmluYXRvciwgYmFzZSApIHsKKwl2YXIgZGlyID0gY29tYmluYXRvci5kaXIsCisJCXNraXAgPSBjb21iaW5hdG9yLm5leHQsCisJCWtleSA9IHNraXAgfHwgZGlyLAorCQljaGVja05vbkVsZW1lbnRzID0gYmFzZSAmJiBrZXkgPT09ICJwYXJlbnROb2RlIiwKKwkJZG9uZU5hbWUgPSBkb25lKys7CisKKwlyZXR1cm4gY29tYmluYXRvci5maXJzdCA/CisJCS8vIENoZWNrIGFnYWluc3QgY2xvc2VzdCBhbmNlc3Rvci9wcmVjZWRpbmcgZWxlbWVudAorCQlmdW5jdGlvbiggZWxlbSwgY29udGV4dCwgeG1sICkgeworCQkJd2hpbGUgKCAoZWxlbSA9IGVsZW1bIGRpciBdKSApIHsKKwkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgfHwgY2hlY2tOb25FbGVtZW50cyApIHsKKwkJCQkJcmV0dXJuIG1hdGNoZXIoIGVsZW0sIGNvbnRleHQsIHhtbCApOworCQkJCX0KKwkJCX0KKwkJCXJldHVybiBmYWxzZTsKKwkJfSA6CisKKwkJLy8gQ2hlY2sgYWdhaW5zdCBhbGwgYW5jZXN0b3IvcHJlY2VkaW5nIGVsZW1lbnRzCisJCWZ1bmN0aW9uKCBlbGVtLCBjb250ZXh0LCB4bWwgKSB7CisJCQl2YXIgb2xkQ2FjaGUsIHVuaXF1ZUNhY2hlLCBvdXRlckNhY2hlLAorCQkJCW5ld0NhY2hlID0gWyBkaXJydW5zLCBkb25lTmFtZSBdOworCisJCQkvLyBXZSBjYW4ndCBzZXQgYXJiaXRyYXJ5IGRhdGEgb24gWE1MIG5vZGVzLCBzbyB0aGV5IGRvbid0IGJlbmVmaXQgZnJvbSBjb21iaW5hdG9yIGNhY2hpbmcKKwkJCWlmICggeG1sICkgeworCQkJCXdoaWxlICggKGVsZW0gPSBlbGVtWyBkaXIgXSkgKSB7CisJCQkJCWlmICggZWxlbS5ub2RlVHlwZSA9PT0gMSB8fCBjaGVja05vbkVsZW1lbnRzICkgeworCQkJCQkJaWYgKCBtYXRjaGVyKCBlbGVtLCBjb250ZXh0LCB4bWwgKSApIHsKKwkJCQkJCQlyZXR1cm4gdHJ1ZTsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCX0KKwkJCX0gZWxzZSB7CisJCQkJd2hpbGUgKCAoZWxlbSA9IGVsZW1bIGRpciBdKSApIHsKKwkJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxIHx8IGNoZWNrTm9uRWxlbWVudHMgKSB7CisJCQkJCQlvdXRlckNhY2hlID0gZWxlbVsgZXhwYW5kbyBdIHx8IChlbGVtWyBleHBhbmRvIF0gPSB7fSk7CisKKwkJCQkJCS8vIFN1cHBvcnQ6IElFIDw5IG9ubHkKKwkJCQkJCS8vIERlZmVuZCBhZ2FpbnN0IGNsb25lZCBhdHRyb3BlcnRpZXMgKGpRdWVyeSBnaC0xNzA5KQorCQkJCQkJdW5pcXVlQ2FjaGUgPSBvdXRlckNhY2hlWyBlbGVtLnVuaXF1ZUlEIF0gfHwgKG91dGVyQ2FjaGVbIGVsZW0udW5pcXVlSUQgXSA9IHt9KTsKKworCQkJCQkJaWYgKCBza2lwICYmIHNraXAgPT09IGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSApIHsKKwkJCQkJCQllbGVtID0gZWxlbVsgZGlyIF0gfHwgZWxlbTsKKwkJCQkJCX0gZWxzZSBpZiAoIChvbGRDYWNoZSA9IHVuaXF1ZUNhY2hlWyBrZXkgXSkgJiYKKwkJCQkJCQlvbGRDYWNoZVsgMCBdID09PSBkaXJydW5zICYmIG9sZENhY2hlWyAxIF0gPT09IGRvbmVOYW1lICkgeworCisJCQkJCQkJLy8gQXNzaWduIHRvIG5ld0NhY2hlIHNvIHJlc3VsdHMgYmFjay1wcm9wYWdhdGUgdG8gcHJldmlvdXMgZWxlbWVudHMKKwkJCQkJCQlyZXR1cm4gKG5ld0NhY2hlWyAyIF0gPSBvbGRDYWNoZVsgMiBdKTsKKwkJCQkJCX0gZWxzZSB7CisJCQkJCQkJLy8gUmV1c2UgbmV3Y2FjaGUgc28gcmVzdWx0cyBiYWNrLXByb3BhZ2F0ZSB0byBwcmV2aW91cyBlbGVtZW50cworCQkJCQkJCXVuaXF1ZUNhY2hlWyBrZXkgXSA9IG5ld0NhY2hlOworCisJCQkJCQkJLy8gQSBtYXRjaCBtZWFucyB3ZSdyZSBkb25lOyBhIGZhaWwgbWVhbnMgd2UgaGF2ZSB0byBrZWVwIGNoZWNraW5nCisJCQkJCQkJaWYgKCAobmV3Q2FjaGVbIDIgXSA9IG1hdGNoZXIoIGVsZW0sIGNvbnRleHQsIHhtbCApKSApIHsKKwkJCQkJCQkJcmV0dXJuIHRydWU7CisJCQkJCQkJfQorCQkJCQkJfQorCQkJCQl9CisJCQkJfQorCQkJfQorCQkJcmV0dXJuIGZhbHNlOworCQl9OworfQorCitmdW5jdGlvbiBlbGVtZW50TWF0Y2hlciggbWF0Y2hlcnMgKSB7CisJcmV0dXJuIG1hdGNoZXJzLmxlbmd0aCA+IDEgPworCQlmdW5jdGlvbiggZWxlbSwgY29udGV4dCwgeG1sICkgeworCQkJdmFyIGkgPSBtYXRjaGVycy5sZW5ndGg7CisJCQl3aGlsZSAoIGktLSApIHsKKwkJCQlpZiAoICFtYXRjaGVyc1tpXSggZWxlbSwgY29udGV4dCwgeG1sICkgKSB7CisJCQkJCXJldHVybiBmYWxzZTsKKwkJCQl9CisJCQl9CisJCQlyZXR1cm4gdHJ1ZTsKKwkJfSA6CisJCW1hdGNoZXJzWzBdOworfQorCitmdW5jdGlvbiBtdWx0aXBsZUNvbnRleHRzKCBzZWxlY3RvciwgY29udGV4dHMsIHJlc3VsdHMgKSB7CisJdmFyIGkgPSAwLAorCQlsZW4gPSBjb250ZXh0cy5sZW5ndGg7CisJZm9yICggOyBpIDwgbGVuOyBpKysgKSB7CisJCVNpenpsZSggc2VsZWN0b3IsIGNvbnRleHRzW2ldLCByZXN1bHRzICk7CisJfQorCXJldHVybiByZXN1bHRzOworfQorCitmdW5jdGlvbiBjb25kZW5zZSggdW5tYXRjaGVkLCBtYXAsIGZpbHRlciwgY29udGV4dCwgeG1sICkgeworCXZhciBlbGVtLAorCQluZXdVbm1hdGNoZWQgPSBbXSwKKwkJaSA9IDAsCisJCWxlbiA9IHVubWF0Y2hlZC5sZW5ndGgsCisJCW1hcHBlZCA9IG1hcCAhPSBudWxsOworCisJZm9yICggOyBpIDwgbGVuOyBpKysgKSB7CisJCWlmICggKGVsZW0gPSB1bm1hdGNoZWRbaV0pICkgeworCQkJaWYgKCAhZmlsdGVyIHx8IGZpbHRlciggZWxlbSwgY29udGV4dCwgeG1sICkgKSB7CisJCQkJbmV3VW5tYXRjaGVkLnB1c2goIGVsZW0gKTsKKwkJCQlpZiAoIG1hcHBlZCApIHsKKwkJCQkJbWFwLnB1c2goIGkgKTsKKwkJCQl9CisJCQl9CisJCX0KKwl9CisKKwlyZXR1cm4gbmV3VW5tYXRjaGVkOworfQorCitmdW5jdGlvbiBzZXRNYXRjaGVyKCBwcmVGaWx0ZXIsIHNlbGVjdG9yLCBtYXRjaGVyLCBwb3N0RmlsdGVyLCBwb3N0RmluZGVyLCBwb3N0U2VsZWN0b3IgKSB7CisJaWYgKCBwb3N0RmlsdGVyICYmICFwb3N0RmlsdGVyWyBleHBhbmRvIF0gKSB7CisJCXBvc3RGaWx0ZXIgPSBzZXRNYXRjaGVyKCBwb3N0RmlsdGVyICk7CisJfQorCWlmICggcG9zdEZpbmRlciAmJiAhcG9zdEZpbmRlclsgZXhwYW5kbyBdICkgeworCQlwb3N0RmluZGVyID0gc2V0TWF0Y2hlciggcG9zdEZpbmRlciwgcG9zdFNlbGVjdG9yICk7CisJfQorCXJldHVybiBtYXJrRnVuY3Rpb24oZnVuY3Rpb24oIHNlZWQsIHJlc3VsdHMsIGNvbnRleHQsIHhtbCApIHsKKwkJdmFyIHRlbXAsIGksIGVsZW0sCisJCQlwcmVNYXAgPSBbXSwKKwkJCXBvc3RNYXAgPSBbXSwKKwkJCXByZWV4aXN0aW5nID0gcmVzdWx0cy5sZW5ndGgsCisKKwkJCS8vIEdldCBpbml0aWFsIGVsZW1lbnRzIGZyb20gc2VlZCBvciBjb250ZXh0CisJCQllbGVtcyA9IHNlZWQgfHwgbXVsdGlwbGVDb250ZXh0cyggc2VsZWN0b3IgfHwgIioiLCBjb250ZXh0Lm5vZGVUeXBlID8gWyBjb250ZXh0IF0gOiBjb250ZXh0LCBbXSApLAorCisJCQkvLyBQcmVmaWx0ZXIgdG8gZ2V0IG1hdGNoZXIgaW5wdXQsIHByZXNlcnZpbmcgYSBtYXAgZm9yIHNlZWQtcmVzdWx0cyBzeW5jaHJvbml6YXRpb24KKwkJCW1hdGNoZXJJbiA9IHByZUZpbHRlciAmJiAoIHNlZWQgfHwgIXNlbGVjdG9yICkgPworCQkJCWNvbmRlbnNlKCBlbGVtcywgcHJlTWFwLCBwcmVGaWx0ZXIsIGNvbnRleHQsIHhtbCApIDoKKwkJCQllbGVtcywKKworCQkJbWF0Y2hlck91dCA9IG1hdGNoZXIgPworCQkJCS8vIElmIHdlIGhhdmUgYSBwb3N0RmluZGVyLCBvciBmaWx0ZXJlZCBzZWVkLCBvciBub24tc2VlZCBwb3N0RmlsdGVyIG9yIHByZWV4aXN0aW5nIHJlc3VsdHMsCisJCQkJcG9zdEZpbmRlciB8fCAoIHNlZWQgPyBwcmVGaWx0ZXIgOiBwcmVleGlzdGluZyB8fCBwb3N0RmlsdGVyICkgPworCisJCQkJCS8vIC4uLmludGVybWVkaWF0ZSBwcm9jZXNzaW5nIGlzIG5lY2Vzc2FyeQorCQkJCQlbXSA6CisKKwkJCQkJLy8gLi4ub3RoZXJ3aXNlIHVzZSByZXN1bHRzIGRpcmVjdGx5CisJCQkJCXJlc3VsdHMgOgorCQkJCW1hdGNoZXJJbjsKKworCQkvLyBGaW5kIHByaW1hcnkgbWF0Y2hlcworCQlpZiAoIG1hdGNoZXIgKSB7CisJCQltYXRjaGVyKCBtYXRjaGVySW4sIG1hdGNoZXJPdXQsIGNvbnRleHQsIHhtbCApOworCQl9CisKKwkJLy8gQXBwbHkgcG9zdEZpbHRlcgorCQlpZiAoIHBvc3RGaWx0ZXIgKSB7CisJCQl0ZW1wID0gY29uZGVuc2UoIG1hdGNoZXJPdXQsIHBvc3RNYXAgKTsKKwkJCXBvc3RGaWx0ZXIoIHRlbXAsIFtdLCBjb250ZXh0LCB4bWwgKTsKKworCQkJLy8gVW4tbWF0Y2ggZmFpbGluZyBlbGVtZW50cyBieSBtb3ZpbmcgdGhlbSBiYWNrIHRvIG1hdGNoZXJJbgorCQkJaSA9IHRlbXAubGVuZ3RoOworCQkJd2hpbGUgKCBpLS0gKSB7CisJCQkJaWYgKCAoZWxlbSA9IHRlbXBbaV0pICkgeworCQkJCQltYXRjaGVyT3V0WyBwb3N0TWFwW2ldIF0gPSAhKG1hdGNoZXJJblsgcG9zdE1hcFtpXSBdID0gZWxlbSk7CisJCQkJfQorCQkJfQorCQl9CisKKwkJaWYgKCBzZWVkICkgeworCQkJaWYgKCBwb3N0RmluZGVyIHx8IHByZUZpbHRlciApIHsKKwkJCQlpZiAoIHBvc3RGaW5kZXIgKSB7CisJCQkJCS8vIEdldCB0aGUgZmluYWwgbWF0Y2hlck91dCBieSBjb25kZW5zaW5nIHRoaXMgaW50ZXJtZWRpYXRlIGludG8gcG9zdEZpbmRlciBjb250ZXh0cworCQkJCQl0ZW1wID0gW107CisJCQkJCWkgPSBtYXRjaGVyT3V0Lmxlbmd0aDsKKwkJCQkJd2hpbGUgKCBpLS0gKSB7CisJCQkJCQlpZiAoIChlbGVtID0gbWF0Y2hlck91dFtpXSkgKSB7CisJCQkJCQkJLy8gUmVzdG9yZSBtYXRjaGVySW4gc2luY2UgZWxlbSBpcyBub3QgeWV0IGEgZmluYWwgbWF0Y2gKKwkJCQkJCQl0ZW1wLnB1c2goIChtYXRjaGVySW5baV0gPSBlbGVtKSApOworCQkJCQkJfQorCQkJCQl9CisJCQkJCXBvc3RGaW5kZXIoIG51bGwsIChtYXRjaGVyT3V0ID0gW10pLCB0ZW1wLCB4bWwgKTsKKwkJCQl9CisKKwkJCQkvLyBNb3ZlIG1hdGNoZWQgZWxlbWVudHMgZnJvbSBzZWVkIHRvIHJlc3VsdHMgdG8ga2VlcCB0aGVtIHN5bmNocm9uaXplZAorCQkJCWkgPSBtYXRjaGVyT3V0Lmxlbmd0aDsKKwkJCQl3aGlsZSAoIGktLSApIHsKKwkJCQkJaWYgKCAoZWxlbSA9IG1hdGNoZXJPdXRbaV0pICYmCisJCQkJCQkodGVtcCA9IHBvc3RGaW5kZXIgPyBpbmRleE9mKCBzZWVkLCBlbGVtICkgOiBwcmVNYXBbaV0pID4gLTEgKSB7CisKKwkJCQkJCXNlZWRbdGVtcF0gPSAhKHJlc3VsdHNbdGVtcF0gPSBlbGVtKTsKKwkJCQkJfQorCQkJCX0KKwkJCX0KKworCQkvLyBBZGQgZWxlbWVudHMgdG8gcmVzdWx0cywgdGhyb3VnaCBwb3N0RmluZGVyIGlmIGRlZmluZWQKKwkJfSBlbHNlIHsKKwkJCW1hdGNoZXJPdXQgPSBjb25kZW5zZSgKKwkJCQltYXRjaGVyT3V0ID09PSByZXN1bHRzID8KKwkJCQkJbWF0Y2hlck91dC5zcGxpY2UoIHByZWV4aXN0aW5nLCBtYXRjaGVyT3V0Lmxlbmd0aCApIDoKKwkJCQkJbWF0Y2hlck91dAorCQkJKTsKKwkJCWlmICggcG9zdEZpbmRlciApIHsKKwkJCQlwb3N0RmluZGVyKCBudWxsLCByZXN1bHRzLCBtYXRjaGVyT3V0LCB4bWwgKTsKKwkJCX0gZWxzZSB7CisJCQkJcHVzaC5hcHBseSggcmVzdWx0cywgbWF0Y2hlck91dCApOworCQkJfQorCQl9CisJfSk7Cit9CisKK2Z1bmN0aW9uIG1hdGNoZXJGcm9tVG9rZW5zKCB0b2tlbnMgKSB7CisJdmFyIGNoZWNrQ29udGV4dCwgbWF0Y2hlciwgaiwKKwkJbGVuID0gdG9rZW5zLmxlbmd0aCwKKwkJbGVhZGluZ1JlbGF0aXZlID0gRXhwci5yZWxhdGl2ZVsgdG9rZW5zWzBdLnR5cGUgXSwKKwkJaW1wbGljaXRSZWxhdGl2ZSA9IGxlYWRpbmdSZWxhdGl2ZSB8fCBFeHByLnJlbGF0aXZlWyIgIl0sCisJCWkgPSBsZWFkaW5nUmVsYXRpdmUgPyAxIDogMCwKKworCQkvLyBUaGUgZm91bmRhdGlvbmFsIG1hdGNoZXIgZW5zdXJlcyB0aGF0IGVsZW1lbnRzIGFyZSByZWFjaGFibGUgZnJvbSB0b3AtbGV2ZWwgY29udGV4dChzKQorCQltYXRjaENvbnRleHQgPSBhZGRDb21iaW5hdG9yKCBmdW5jdGlvbiggZWxlbSApIHsKKwkJCXJldHVybiBlbGVtID09PSBjaGVja0NvbnRleHQ7CisJCX0sIGltcGxpY2l0UmVsYXRpdmUsIHRydWUgKSwKKwkJbWF0Y2hBbnlDb250ZXh0ID0gYWRkQ29tYmluYXRvciggZnVuY3Rpb24oIGVsZW0gKSB7CisJCQlyZXR1cm4gaW5kZXhPZiggY2hlY2tDb250ZXh0LCBlbGVtICkgPiAtMTsKKwkJfSwgaW1wbGljaXRSZWxhdGl2ZSwgdHJ1ZSApLAorCQltYXRjaGVycyA9IFsgZnVuY3Rpb24oIGVsZW0sIGNvbnRleHQsIHhtbCApIHsKKwkJCXZhciByZXQgPSAoICFsZWFkaW5nUmVsYXRpdmUgJiYgKCB4bWwgfHwgY29udGV4dCAhPT0gb3V0ZXJtb3N0Q29udGV4dCApICkgfHwgKAorCQkJCShjaGVja0NvbnRleHQgPSBjb250ZXh0KS5ub2RlVHlwZSA/CisJCQkJCW1hdGNoQ29udGV4dCggZWxlbSwgY29udGV4dCwgeG1sICkgOgorCQkJCQltYXRjaEFueUNvbnRleHQoIGVsZW0sIGNvbnRleHQsIHhtbCApICk7CisJCQkvLyBBdm9pZCBoYW5naW5nIG9udG8gZWxlbWVudCAoaXNzdWUgIzI5OSkKKwkJCWNoZWNrQ29udGV4dCA9IG51bGw7CisJCQlyZXR1cm4gcmV0OworCQl9IF07CisKKwlmb3IgKCA7IGkgPCBsZW47IGkrKyApIHsKKwkJaWYgKCAobWF0Y2hlciA9IEV4cHIucmVsYXRpdmVbIHRva2Vuc1tpXS50eXBlIF0pICkgeworCQkJbWF0Y2hlcnMgPSBbIGFkZENvbWJpbmF0b3IoZWxlbWVudE1hdGNoZXIoIG1hdGNoZXJzICksIG1hdGNoZXIpIF07CisJCX0gZWxzZSB7CisJCQltYXRjaGVyID0gRXhwci5maWx0ZXJbIHRva2Vuc1tpXS50eXBlIF0uYXBwbHkoIG51bGwsIHRva2Vuc1tpXS5tYXRjaGVzICk7CisKKwkJCS8vIFJldHVybiBzcGVjaWFsIHVwb24gc2VlaW5nIGEgcG9zaXRpb25hbCBtYXRjaGVyCisJCQlpZiAoIG1hdGNoZXJbIGV4cGFuZG8gXSApIHsKKwkJCQkvLyBGaW5kIHRoZSBuZXh0IHJlbGF0aXZlIG9wZXJhdG9yIChpZiBhbnkpIGZvciBwcm9wZXIgaGFuZGxpbmcKKwkJCQlqID0gKytpOworCQkJCWZvciAoIDsgaiA8IGxlbjsgaisrICkgeworCQkJCQlpZiAoIEV4cHIucmVsYXRpdmVbIHRva2Vuc1tqXS50eXBlIF0gKSB7CisJCQkJCQlicmVhazsKKwkJCQkJfQorCQkJCX0KKwkJCQlyZXR1cm4gc2V0TWF0Y2hlcigKKwkJCQkJaSA+IDEgJiYgZWxlbWVudE1hdGNoZXIoIG1hdGNoZXJzICksCisJCQkJCWkgPiAxICYmIHRvU2VsZWN0b3IoCisJCQkJCQkvLyBJZiB0aGUgcHJlY2VkaW5nIHRva2VuIHdhcyBhIGRlc2NlbmRhbnQgY29tYmluYXRvciwgaW5zZXJ0IGFuIGltcGxpY2l0IGFueS1lbGVtZW50IGAqYAorCQkJCQkJdG9rZW5zLnNsaWNlKCAwLCBpIC0gMSApLmNvbmNhdCh7IHZhbHVlOiB0b2tlbnNbIGkgLSAyIF0udHlwZSA9PT0gIiAiID8gIioiIDogIiIgfSkKKwkJCQkJKS5yZXBsYWNlKCBydHJpbSwgIiQxIiApLAorCQkJCQltYXRjaGVyLAorCQkJCQlpIDwgaiAmJiBtYXRjaGVyRnJvbVRva2VucyggdG9rZW5zLnNsaWNlKCBpLCBqICkgKSwKKwkJCQkJaiA8IGxlbiAmJiBtYXRjaGVyRnJvbVRva2VucyggKHRva2VucyA9IHRva2Vucy5zbGljZSggaiApKSApLAorCQkJCQlqIDwgbGVuICYmIHRvU2VsZWN0b3IoIHRva2VucyApCisJCQkJKTsKKwkJCX0KKwkJCW1hdGNoZXJzLnB1c2goIG1hdGNoZXIgKTsKKwkJfQorCX0KKworCXJldHVybiBlbGVtZW50TWF0Y2hlciggbWF0Y2hlcnMgKTsKK30KKworZnVuY3Rpb24gbWF0Y2hlckZyb21Hcm91cE1hdGNoZXJzKCBlbGVtZW50TWF0Y2hlcnMsIHNldE1hdGNoZXJzICkgeworCXZhciBieVNldCA9IHNldE1hdGNoZXJzLmxlbmd0aCA+IDAsCisJCWJ5RWxlbWVudCA9IGVsZW1lbnRNYXRjaGVycy5sZW5ndGggPiAwLAorCQlzdXBlck1hdGNoZXIgPSBmdW5jdGlvbiggc2VlZCwgY29udGV4dCwgeG1sLCByZXN1bHRzLCBvdXRlcm1vc3QgKSB7CisJCQl2YXIgZWxlbSwgaiwgbWF0Y2hlciwKKwkJCQltYXRjaGVkQ291bnQgPSAwLAorCQkJCWkgPSAiMCIsCisJCQkJdW5tYXRjaGVkID0gc2VlZCAmJiBbXSwKKwkJCQlzZXRNYXRjaGVkID0gW10sCisJCQkJY29udGV4dEJhY2t1cCA9IG91dGVybW9zdENvbnRleHQsCisJCQkJLy8gV2UgbXVzdCBhbHdheXMgaGF2ZSBlaXRoZXIgc2VlZCBlbGVtZW50cyBvciBvdXRlcm1vc3QgY29udGV4dAorCQkJCWVsZW1zID0gc2VlZCB8fCBieUVsZW1lbnQgJiYgRXhwci5maW5kWyJUQUciXSggIioiLCBvdXRlcm1vc3QgKSwKKwkJCQkvLyBVc2UgaW50ZWdlciBkaXJydW5zIGlmZiB0aGlzIGlzIHRoZSBvdXRlcm1vc3QgbWF0Y2hlcgorCQkJCWRpcnJ1bnNVbmlxdWUgPSAoZGlycnVucyArPSBjb250ZXh0QmFja3VwID09IG51bGwgPyAxIDogTWF0aC5yYW5kb20oKSB8fCAwLjEpLAorCQkJCWxlbiA9IGVsZW1zLmxlbmd0aDsKKworCQkJaWYgKCBvdXRlcm1vc3QgKSB7CisJCQkJb3V0ZXJtb3N0Q29udGV4dCA9IGNvbnRleHQgPT09IGRvY3VtZW50IHx8IGNvbnRleHQgfHwgb3V0ZXJtb3N0OworCQkJfQorCisJCQkvLyBBZGQgZWxlbWVudHMgcGFzc2luZyBlbGVtZW50TWF0Y2hlcnMgZGlyZWN0bHkgdG8gcmVzdWx0cworCQkJLy8gU3VwcG9ydDogSUU8OSwgU2FmYXJpCisJCQkvLyBUb2xlcmF0ZSBOb2RlTGlzdCBwcm9wZXJ0aWVzIChJRTogImxlbmd0aCI7IFNhZmFyaTogPG51bWJlcj4pIG1hdGNoaW5nIGVsZW1lbnRzIGJ5IGlkCisJCQlmb3IgKCA7IGkgIT09IGxlbiAmJiAoZWxlbSA9IGVsZW1zW2ldKSAhPSBudWxsOyBpKysgKSB7CisJCQkJaWYgKCBieUVsZW1lbnQgJiYgZWxlbSApIHsKKwkJCQkJaiA9IDA7CisJCQkJCWlmICggIWNvbnRleHQgJiYgZWxlbS5vd25lckRvY3VtZW50ICE9PSBkb2N1bWVudCApIHsKKwkJCQkJCXNldERvY3VtZW50KCBlbGVtICk7CisJCQkJCQl4bWwgPSAhZG9jdW1lbnRJc0hUTUw7CisJCQkJCX0KKwkJCQkJd2hpbGUgKCAobWF0Y2hlciA9IGVsZW1lbnRNYXRjaGVyc1tqKytdKSApIHsKKwkJCQkJCWlmICggbWF0Y2hlciggZWxlbSwgY29udGV4dCB8fCBkb2N1bWVudCwgeG1sKSApIHsKKwkJCQkJCQlyZXN1bHRzLnB1c2goIGVsZW0gKTsKKwkJCQkJCQlicmVhazsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCQlpZiAoIG91dGVybW9zdCApIHsKKwkJCQkJCWRpcnJ1bnMgPSBkaXJydW5zVW5pcXVlOworCQkJCQl9CisJCQkJfQorCisJCQkJLy8gVHJhY2sgdW5tYXRjaGVkIGVsZW1lbnRzIGZvciBzZXQgZmlsdGVycworCQkJCWlmICggYnlTZXQgKSB7CisJCQkJCS8vIFRoZXkgd2lsbCBoYXZlIGdvbmUgdGhyb3VnaCBhbGwgcG9zc2libGUgbWF0Y2hlcnMKKwkJCQkJaWYgKCAoZWxlbSA9ICFtYXRjaGVyICYmIGVsZW0pICkgeworCQkJCQkJbWF0Y2hlZENvdW50LS07CisJCQkJCX0KKworCQkJCQkvLyBMZW5ndGhlbiB0aGUgYXJyYXkgZm9yIGV2ZXJ5IGVsZW1lbnQsIG1hdGNoZWQgb3Igbm90CisJCQkJCWlmICggc2VlZCApIHsKKwkJCQkJCXVubWF0Y2hlZC5wdXNoKCBlbGVtICk7CisJCQkJCX0KKwkJCQl9CisJCQl9CisKKwkJCS8vIGBpYCBpcyBub3cgdGhlIGNvdW50IG9mIGVsZW1lbnRzIHZpc2l0ZWQgYWJvdmUsIGFuZCBhZGRpbmcgaXQgdG8gYG1hdGNoZWRDb3VudGAKKwkJCS8vIG1ha2VzIHRoZSBsYXR0ZXIgbm9ubmVnYXRpdmUuCisJCQltYXRjaGVkQ291bnQgKz0gaTsKKworCQkJLy8gQXBwbHkgc2V0IGZpbHRlcnMgdG8gdW5tYXRjaGVkIGVsZW1lbnRzCisJCQkvLyBOT1RFOiBUaGlzIGNhbiBiZSBza2lwcGVkIGlmIHRoZXJlIGFyZSBubyB1bm1hdGNoZWQgZWxlbWVudHMgKGkuZS4sIGBtYXRjaGVkQ291bnRgCisJCQkvLyBlcXVhbHMgYGlgKSwgdW5sZXNzIHdlIGRpZG4ndCB2aXNpdCBfYW55XyBlbGVtZW50cyBpbiB0aGUgYWJvdmUgbG9vcCBiZWNhdXNlIHdlIGhhdmUKKwkJCS8vIG5vIGVsZW1lbnQgbWF0Y2hlcnMgYW5kIG5vIHNlZWQuCisJCQkvLyBJbmNyZW1lbnRpbmcgYW4gaW5pdGlhbGx5LXN0cmluZyAiMCIgYGlgIGFsbG93cyBgaWAgdG8gcmVtYWluIGEgc3RyaW5nIG9ubHkgaW4gdGhhdAorCQkJLy8gY2FzZSwgd2hpY2ggd2lsbCByZXN1bHQgaW4gYSAiMDAiIGBtYXRjaGVkQ291bnRgIHRoYXQgZGlmZmVycyBmcm9tIGBpYCBidXQgaXMgYWxzbworCQkJLy8gbnVtZXJpY2FsbHkgemVyby4KKwkJCWlmICggYnlTZXQgJiYgaSAhPT0gbWF0Y2hlZENvdW50ICkgeworCQkJCWogPSAwOworCQkJCXdoaWxlICggKG1hdGNoZXIgPSBzZXRNYXRjaGVyc1tqKytdKSApIHsKKwkJCQkJbWF0Y2hlciggdW5tYXRjaGVkLCBzZXRNYXRjaGVkLCBjb250ZXh0LCB4bWwgKTsKKwkJCQl9CisKKwkJCQlpZiAoIHNlZWQgKSB7CisJCQkJCS8vIFJlaW50ZWdyYXRlIGVsZW1lbnQgbWF0Y2hlcyB0byBlbGltaW5hdGUgdGhlIG5lZWQgZm9yIHNvcnRpbmcKKwkJCQkJaWYgKCBtYXRjaGVkQ291bnQgPiAwICkgeworCQkJCQkJd2hpbGUgKCBpLS0gKSB7CisJCQkJCQkJaWYgKCAhKHVubWF0Y2hlZFtpXSB8fCBzZXRNYXRjaGVkW2ldKSApIHsKKwkJCQkJCQkJc2V0TWF0Y2hlZFtpXSA9IHBvcC5jYWxsKCByZXN1bHRzICk7CisJCQkJCQkJfQorCQkJCQkJfQorCQkJCQl9CisKKwkJCQkJLy8gRGlzY2FyZCBpbmRleCBwbGFjZWhvbGRlciB2YWx1ZXMgdG8gZ2V0IG9ubHkgYWN0dWFsIG1hdGNoZXMKKwkJCQkJc2V0TWF0Y2hlZCA9IGNvbmRlbnNlKCBzZXRNYXRjaGVkICk7CisJCQkJfQorCisJCQkJLy8gQWRkIG1hdGNoZXMgdG8gcmVzdWx0cworCQkJCXB1c2guYXBwbHkoIHJlc3VsdHMsIHNldE1hdGNoZWQgKTsKKworCQkJCS8vIFNlZWRsZXNzIHNldCBtYXRjaGVzIHN1Y2NlZWRpbmcgbXVsdGlwbGUgc3VjY2Vzc2Z1bCBtYXRjaGVycyBzdGlwdWxhdGUgc29ydGluZworCQkJCWlmICggb3V0ZXJtb3N0ICYmICFzZWVkICYmIHNldE1hdGNoZWQubGVuZ3RoID4gMCAmJgorCQkJCQkoIG1hdGNoZWRDb3VudCArIHNldE1hdGNoZXJzLmxlbmd0aCApID4gMSApIHsKKworCQkJCQlTaXp6bGUudW5pcXVlU29ydCggcmVzdWx0cyApOworCQkJCX0KKwkJCX0KKworCQkJLy8gT3ZlcnJpZGUgbWFuaXB1bGF0aW9uIG9mIGdsb2JhbHMgYnkgbmVzdGVkIG1hdGNoZXJzCisJCQlpZiAoIG91dGVybW9zdCApIHsKKwkJCQlkaXJydW5zID0gZGlycnVuc1VuaXF1ZTsKKwkJCQlvdXRlcm1vc3RDb250ZXh0ID0gY29udGV4dEJhY2t1cDsKKwkJCX0KKworCQkJcmV0dXJuIHVubWF0Y2hlZDsKKwkJfTsKKworCXJldHVybiBieVNldCA/CisJCW1hcmtGdW5jdGlvbiggc3VwZXJNYXRjaGVyICkgOgorCQlzdXBlck1hdGNoZXI7Cit9CisKK2NvbXBpbGUgPSBTaXp6bGUuY29tcGlsZSA9IGZ1bmN0aW9uKCBzZWxlY3RvciwgbWF0Y2ggLyogSW50ZXJuYWwgVXNlIE9ubHkgKi8gKSB7CisJdmFyIGksCisJCXNldE1hdGNoZXJzID0gW10sCisJCWVsZW1lbnRNYXRjaGVycyA9IFtdLAorCQljYWNoZWQgPSBjb21waWxlckNhY2hlWyBzZWxlY3RvciArICIgIiBdOworCisJaWYgKCAhY2FjaGVkICkgeworCQkvLyBHZW5lcmF0ZSBhIGZ1bmN0aW9uIG9mIHJlY3Vyc2l2ZSBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgdXNlZCB0byBjaGVjayBlYWNoIGVsZW1lbnQKKwkJaWYgKCAhbWF0Y2ggKSB7CisJCQltYXRjaCA9IHRva2VuaXplKCBzZWxlY3RvciApOworCQl9CisJCWkgPSBtYXRjaC5sZW5ndGg7CisJCXdoaWxlICggaS0tICkgeworCQkJY2FjaGVkID0gbWF0Y2hlckZyb21Ub2tlbnMoIG1hdGNoW2ldICk7CisJCQlpZiAoIGNhY2hlZFsgZXhwYW5kbyBdICkgeworCQkJCXNldE1hdGNoZXJzLnB1c2goIGNhY2hlZCApOworCQkJfSBlbHNlIHsKKwkJCQllbGVtZW50TWF0Y2hlcnMucHVzaCggY2FjaGVkICk7CisJCQl9CisJCX0KKworCQkvLyBDYWNoZSB0aGUgY29tcGlsZWQgZnVuY3Rpb24KKwkJY2FjaGVkID0gY29tcGlsZXJDYWNoZSggc2VsZWN0b3IsIG1hdGNoZXJGcm9tR3JvdXBNYXRjaGVycyggZWxlbWVudE1hdGNoZXJzLCBzZXRNYXRjaGVycyApICk7CisKKwkJLy8gU2F2ZSBzZWxlY3RvciBhbmQgdG9rZW5pemF0aW9uCisJCWNhY2hlZC5zZWxlY3RvciA9IHNlbGVjdG9yOworCX0KKwlyZXR1cm4gY2FjaGVkOworfTsKKworLyoqCisgKiBBIGxvdy1sZXZlbCBzZWxlY3Rpb24gZnVuY3Rpb24gdGhhdCB3b3JrcyB3aXRoIFNpenpsZSdzIGNvbXBpbGVkCisgKiAgc2VsZWN0b3IgZnVuY3Rpb25zCisgKiBAcGFyYW0ge1N0cmluZ3xGdW5jdGlvbn0gc2VsZWN0b3IgQSBzZWxlY3RvciBvciBhIHByZS1jb21waWxlZAorICogIHNlbGVjdG9yIGZ1bmN0aW9uIGJ1aWx0IHdpdGggU2l6emxlLmNvbXBpbGUKKyAqIEBwYXJhbSB7RWxlbWVudH0gY29udGV4dAorICogQHBhcmFtIHtBcnJheX0gW3Jlc3VsdHNdCisgKiBAcGFyYW0ge0FycmF5fSBbc2VlZF0gQSBzZXQgb2YgZWxlbWVudHMgdG8gbWF0Y2ggYWdhaW5zdAorICovCitzZWxlY3QgPSBTaXp6bGUuc2VsZWN0ID0gZnVuY3Rpb24oIHNlbGVjdG9yLCBjb250ZXh0LCByZXN1bHRzLCBzZWVkICkgeworCXZhciBpLCB0b2tlbnMsIHRva2VuLCB0eXBlLCBmaW5kLAorCQljb21waWxlZCA9IHR5cGVvZiBzZWxlY3RvciA9PT0gImZ1bmN0aW9uIiAmJiBzZWxlY3RvciwKKwkJbWF0Y2ggPSAhc2VlZCAmJiB0b2tlbml6ZSggKHNlbGVjdG9yID0gY29tcGlsZWQuc2VsZWN0b3IgfHwgc2VsZWN0b3IpICk7CisKKwlyZXN1bHRzID0gcmVzdWx0cyB8fCBbXTsKKworCS8vIFRyeSB0byBtaW5pbWl6ZSBvcGVyYXRpb25zIGlmIHRoZXJlIGlzIG9ubHkgb25lIHNlbGVjdG9yIGluIHRoZSBsaXN0IGFuZCBubyBzZWVkCisJLy8gKHRoZSBsYXR0ZXIgb2Ygd2hpY2ggZ3VhcmFudGVlcyB1cyBjb250ZXh0KQorCWlmICggbWF0Y2gubGVuZ3RoID09PSAxICkgeworCisJCS8vIFJlZHVjZSBjb250ZXh0IGlmIHRoZSBsZWFkaW5nIGNvbXBvdW5kIHNlbGVjdG9yIGlzIGFuIElECisJCXRva2VucyA9IG1hdGNoWzBdID0gbWF0Y2hbMF0uc2xpY2UoIDAgKTsKKwkJaWYgKCB0b2tlbnMubGVuZ3RoID4gMiAmJiAodG9rZW4gPSB0b2tlbnNbMF0pLnR5cGUgPT09ICJJRCIgJiYKKwkJCQljb250ZXh0Lm5vZGVUeXBlID09PSA5ICYmIGRvY3VtZW50SXNIVE1MICYmIEV4cHIucmVsYXRpdmVbIHRva2Vuc1sxXS50eXBlIF0gKSB7CisKKwkJCWNvbnRleHQgPSAoIEV4cHIuZmluZFsiSUQiXSggdG9rZW4ubWF0Y2hlc1swXS5yZXBsYWNlKHJ1bmVzY2FwZSwgZnVuZXNjYXBlKSwgY29udGV4dCApIHx8IFtdIClbMF07CisJCQlpZiAoICFjb250ZXh0ICkgeworCQkJCXJldHVybiByZXN1bHRzOworCisJCQkvLyBQcmVjb21waWxlZCBtYXRjaGVycyB3aWxsIHN0aWxsIHZlcmlmeSBhbmNlc3RyeSwgc28gc3RlcCB1cCBhIGxldmVsCisJCQl9IGVsc2UgaWYgKCBjb21waWxlZCApIHsKKwkJCQljb250ZXh0ID0gY29udGV4dC5wYXJlbnROb2RlOworCQkJfQorCisJCQlzZWxlY3RvciA9IHNlbGVjdG9yLnNsaWNlKCB0b2tlbnMuc2hpZnQoKS52YWx1ZS5sZW5ndGggKTsKKwkJfQorCisJCS8vIEZldGNoIGEgc2VlZCBzZXQgZm9yIHJpZ2h0LXRvLWxlZnQgbWF0Y2hpbmcKKwkJaSA9IG1hdGNoRXhwclsibmVlZHNDb250ZXh0Il0udGVzdCggc2VsZWN0b3IgKSA/IDAgOiB0b2tlbnMubGVuZ3RoOworCQl3aGlsZSAoIGktLSApIHsKKwkJCXRva2VuID0gdG9rZW5zW2ldOworCisJCQkvLyBBYm9ydCBpZiB3ZSBoaXQgYSBjb21iaW5hdG9yCisJCQlpZiAoIEV4cHIucmVsYXRpdmVbICh0eXBlID0gdG9rZW4udHlwZSkgXSApIHsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmICggKGZpbmQgPSBFeHByLmZpbmRbIHR5cGUgXSkgKSB7CisJCQkJLy8gU2VhcmNoLCBleHBhbmRpbmcgY29udGV4dCBmb3IgbGVhZGluZyBzaWJsaW5nIGNvbWJpbmF0b3JzCisJCQkJaWYgKCAoc2VlZCA9IGZpbmQoCisJCQkJCXRva2VuLm1hdGNoZXNbMF0ucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKSwKKwkJCQkJcnNpYmxpbmcudGVzdCggdG9rZW5zWzBdLnR5cGUgKSAmJiB0ZXN0Q29udGV4dCggY29udGV4dC5wYXJlbnROb2RlICkgfHwgY29udGV4dAorCQkJCSkpICkgeworCisJCQkJCS8vIElmIHNlZWQgaXMgZW1wdHkgb3Igbm8gdG9rZW5zIHJlbWFpbiwgd2UgY2FuIHJldHVybiBlYXJseQorCQkJCQl0b2tlbnMuc3BsaWNlKCBpLCAxICk7CisJCQkJCXNlbGVjdG9yID0gc2VlZC5sZW5ndGggJiYgdG9TZWxlY3RvciggdG9rZW5zICk7CisJCQkJCWlmICggIXNlbGVjdG9yICkgeworCQkJCQkJcHVzaC5hcHBseSggcmVzdWx0cywgc2VlZCApOworCQkJCQkJcmV0dXJuIHJlc3VsdHM7CisJCQkJCX0KKworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisJCX0KKwl9CisKKwkvLyBDb21waWxlIGFuZCBleGVjdXRlIGEgZmlsdGVyaW5nIGZ1bmN0aW9uIGlmIG9uZSBpcyBub3QgcHJvdmlkZWQKKwkvLyBQcm92aWRlIGBtYXRjaGAgdG8gYXZvaWQgcmV0b2tlbml6YXRpb24gaWYgd2UgbW9kaWZpZWQgdGhlIHNlbGVjdG9yIGFib3ZlCisJKCBjb21waWxlZCB8fCBjb21waWxlKCBzZWxlY3RvciwgbWF0Y2ggKSApKAorCQlzZWVkLAorCQljb250ZXh0LAorCQkhZG9jdW1lbnRJc0hUTUwsCisJCXJlc3VsdHMsCisJCSFjb250ZXh0IHx8IHJzaWJsaW5nLnRlc3QoIHNlbGVjdG9yICkgJiYgdGVzdENvbnRleHQoIGNvbnRleHQucGFyZW50Tm9kZSApIHx8IGNvbnRleHQKKwkpOworCXJldHVybiByZXN1bHRzOworfTsKKworLy8gT25lLXRpbWUgYXNzaWdubWVudHMKKworLy8gU29ydCBzdGFiaWxpdHkKK3N1cHBvcnQuc29ydFN0YWJsZSA9IGV4cGFuZG8uc3BsaXQoIiIpLnNvcnQoIHNvcnRPcmRlciApLmpvaW4oIiIpID09PSBleHBhbmRvOworCisvLyBTdXBwb3J0OiBDaHJvbWUgMTQtMzUrCisvLyBBbHdheXMgYXNzdW1lIGR1cGxpY2F0ZXMgaWYgdGhleSBhcmVuJ3QgcGFzc2VkIHRvIHRoZSBjb21wYXJpc29uIGZ1bmN0aW9uCitzdXBwb3J0LmRldGVjdER1cGxpY2F0ZXMgPSAhIWhhc0R1cGxpY2F0ZTsKKworLy8gSW5pdGlhbGl6ZSBhZ2FpbnN0IHRoZSBkZWZhdWx0IGRvY3VtZW50CitzZXREb2N1bWVudCgpOworCisvLyBTdXBwb3J0OiBXZWJraXQ8NTM3LjMyIC0gU2FmYXJpIDYuMC4zL0Nocm9tZSAyNSAoZml4ZWQgaW4gQ2hyb21lIDI3KQorLy8gRGV0YWNoZWQgbm9kZXMgY29uZm91bmRpbmdseSBmb2xsb3cgKmVhY2ggb3RoZXIqCitzdXBwb3J0LnNvcnREZXRhY2hlZCA9IGFzc2VydChmdW5jdGlvbiggZWwgKSB7CisJLy8gU2hvdWxkIHJldHVybiAxLCBidXQgcmV0dXJucyA0IChmb2xsb3dpbmcpCisJcmV0dXJuIGVsLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpICkgJiAxOworfSk7CisKKy8vIFN1cHBvcnQ6IElFPDgKKy8vIFByZXZlbnQgYXR0cmlidXRlL3Byb3BlcnR5ICJpbnRlcnBvbGF0aW9uIgorLy8gaHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczUzNjQyOSUyOFZTLjg1JTI5LmFzcHgKK2lmICggIWFzc2VydChmdW5jdGlvbiggZWwgKSB7CisJZWwuaW5uZXJIVE1MID0gIjxhIGhyZWY9JyMnPjwvYT4iOworCXJldHVybiBlbC5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpID09PSAiIyIgOworfSkgKSB7CisJYWRkSGFuZGxlKCAidHlwZXxocmVmfGhlaWdodHx3aWR0aCIsIGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBpc1hNTCApIHsKKwkJaWYgKCAhaXNYTUwgKSB7CisJCQlyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUoIG5hbWUsIG5hbWUudG9Mb3dlckNhc2UoKSA9PT0gInR5cGUiID8gMSA6IDIgKTsKKwkJfQorCX0pOworfQorCisvLyBTdXBwb3J0OiBJRTw5CisvLyBVc2UgZGVmYXVsdFZhbHVlIGluIHBsYWNlIG9mIGdldEF0dHJpYnV0ZSgidmFsdWUiKQoraWYgKCAhc3VwcG9ydC5hdHRyaWJ1dGVzIHx8ICFhc3NlcnQoZnVuY3Rpb24oIGVsICkgeworCWVsLmlubmVySFRNTCA9ICI8aW5wdXQvPiI7CisJZWwuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoICJ2YWx1ZSIsICIiICk7CisJcmV0dXJuIGVsLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCAidmFsdWUiICkgPT09ICIiOworfSkgKSB7CisJYWRkSGFuZGxlKCAidmFsdWUiLCBmdW5jdGlvbiggZWxlbSwgbmFtZSwgaXNYTUwgKSB7CisJCWlmICggIWlzWE1MICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gImlucHV0IiApIHsKKwkJCXJldHVybiBlbGVtLmRlZmF1bHRWYWx1ZTsKKwkJfQorCX0pOworfQorCisvLyBTdXBwb3J0OiBJRTw5CisvLyBVc2UgZ2V0QXR0cmlidXRlTm9kZSB0byBmZXRjaCBib29sZWFucyB3aGVuIGdldEF0dHJpYnV0ZSBsaWVzCitpZiAoICFhc3NlcnQoZnVuY3Rpb24oIGVsICkgeworCXJldHVybiBlbC5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIikgPT0gbnVsbDsKK30pICkgeworCWFkZEhhbmRsZSggYm9vbGVhbnMsIGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBpc1hNTCApIHsKKwkJdmFyIHZhbDsKKwkJaWYgKCAhaXNYTUwgKSB7CisJCQlyZXR1cm4gZWxlbVsgbmFtZSBdID09PSB0cnVlID8gbmFtZS50b0xvd2VyQ2FzZSgpIDoKKwkJCQkJKHZhbCA9IGVsZW0uZ2V0QXR0cmlidXRlTm9kZSggbmFtZSApKSAmJiB2YWwuc3BlY2lmaWVkID8KKwkJCQkJdmFsLnZhbHVlIDoKKwkJCQludWxsOworCQl9CisJfSk7Cit9CisKK3JldHVybiBTaXp6bGU7CisKK30pKCB3aW5kb3cgKTsKKworCisKK2pRdWVyeS5maW5kID0gU2l6emxlOworalF1ZXJ5LmV4cHIgPSBTaXp6bGUuc2VsZWN0b3JzOworCisvLyBEZXByZWNhdGVkCitqUXVlcnkuZXhwclsgIjoiIF0gPSBqUXVlcnkuZXhwci5wc2V1ZG9zOworalF1ZXJ5LnVuaXF1ZVNvcnQgPSBqUXVlcnkudW5pcXVlID0gU2l6emxlLnVuaXF1ZVNvcnQ7CitqUXVlcnkudGV4dCA9IFNpenpsZS5nZXRUZXh0OworalF1ZXJ5LmlzWE1MRG9jID0gU2l6emxlLmlzWE1MOworalF1ZXJ5LmNvbnRhaW5zID0gU2l6emxlLmNvbnRhaW5zOworalF1ZXJ5LmVzY2FwZVNlbGVjdG9yID0gU2l6emxlLmVzY2FwZTsKKworCisKKwordmFyIGRpciA9IGZ1bmN0aW9uKCBlbGVtLCBkaXIsIHVudGlsICkgeworCXZhciBtYXRjaGVkID0gW10sCisJCXRydW5jYXRlID0gdW50aWwgIT09IHVuZGVmaW5lZDsKKworCXdoaWxlICggKCBlbGVtID0gZWxlbVsgZGlyIF0gKSAmJiBlbGVtLm5vZGVUeXBlICE9PSA5ICkgeworCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7CisJCQlpZiAoIHRydW5jYXRlICYmIGpRdWVyeSggZWxlbSApLmlzKCB1bnRpbCApICkgeworCQkJCWJyZWFrOworCQkJfQorCQkJbWF0Y2hlZC5wdXNoKCBlbGVtICk7CisJCX0KKwl9CisJcmV0dXJuIG1hdGNoZWQ7Cit9OworCisKK3ZhciBzaWJsaW5ncyA9IGZ1bmN0aW9uKCBuLCBlbGVtICkgeworCXZhciBtYXRjaGVkID0gW107CisKKwlmb3IgKCA7IG47IG4gPSBuLm5leHRTaWJsaW5nICkgeworCQlpZiAoIG4ubm9kZVR5cGUgPT09IDEgJiYgbiAhPT0gZWxlbSApIHsKKwkJCW1hdGNoZWQucHVzaCggbiApOworCQl9CisJfQorCisJcmV0dXJuIG1hdGNoZWQ7Cit9OworCisKK3ZhciBybmVlZHNDb250ZXh0ID0galF1ZXJ5LmV4cHIubWF0Y2gubmVlZHNDb250ZXh0OworCisKKworZnVuY3Rpb24gbm9kZU5hbWUoIGVsZW0sIG5hbWUgKSB7CisKKyAgcmV0dXJuIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBuYW1lLnRvTG93ZXJDYXNlKCk7CisKK307Cit2YXIgcnNpbmdsZVRhZyA9ICggL148KFthLXpdW15cL1wwPjpceDIwXHRcclxuXGZdKilbXHgyMFx0XHJcblxmXSpcLz8+KD86PFwvXDE+fCkkL2kgKTsKKworCisKK3ZhciByaXNTaW1wbGUgPSAvXi5bXjojXFtcLixdKiQvOworCisvLyBJbXBsZW1lbnQgdGhlIGlkZW50aWNhbCBmdW5jdGlvbmFsaXR5IGZvciBmaWx0ZXIgYW5kIG5vdAorZnVuY3Rpb24gd2lubm93KCBlbGVtZW50cywgcXVhbGlmaWVyLCBub3QgKSB7CisJaWYgKCBqUXVlcnkuaXNGdW5jdGlvbiggcXVhbGlmaWVyICkgKSB7CisJCXJldHVybiBqUXVlcnkuZ3JlcCggZWxlbWVudHMsIGZ1bmN0aW9uKCBlbGVtLCBpICkgeworCQkJcmV0dXJuICEhcXVhbGlmaWVyLmNhbGwoIGVsZW0sIGksIGVsZW0gKSAhPT0gbm90OworCQl9ICk7CisJfQorCisJLy8gU2luZ2xlIGVsZW1lbnQKKwlpZiAoIHF1YWxpZmllci5ub2RlVHlwZSApIHsKKwkJcmV0dXJuIGpRdWVyeS5ncmVwKCBlbGVtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7CisJCQlyZXR1cm4gKCBlbGVtID09PSBxdWFsaWZpZXIgKSAhPT0gbm90OworCQl9ICk7CisJfQorCisJLy8gQXJyYXlsaWtlIG9mIGVsZW1lbnRzIChqUXVlcnksIGFyZ3VtZW50cywgQXJyYXkpCisJaWYgKCB0eXBlb2YgcXVhbGlmaWVyICE9PSAic3RyaW5nIiApIHsKKwkJcmV0dXJuIGpRdWVyeS5ncmVwKCBlbGVtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7CisJCQlyZXR1cm4gKCBpbmRleE9mLmNhbGwoIHF1YWxpZmllciwgZWxlbSApID4gLTEgKSAhPT0gbm90OworCQl9ICk7CisJfQorCisJLy8gU2ltcGxlIHNlbGVjdG9yIHRoYXQgY2FuIGJlIGZpbHRlcmVkIGRpcmVjdGx5LCByZW1vdmluZyBub24tRWxlbWVudHMKKwlpZiAoIHJpc1NpbXBsZS50ZXN0KCBxdWFsaWZpZXIgKSApIHsKKwkJcmV0dXJuIGpRdWVyeS5maWx0ZXIoIHF1YWxpZmllciwgZWxlbWVudHMsIG5vdCApOworCX0KKworCS8vIENvbXBsZXggc2VsZWN0b3IsIGNvbXBhcmUgdGhlIHR3byBzZXRzLCByZW1vdmluZyBub24tRWxlbWVudHMKKwlxdWFsaWZpZXIgPSBqUXVlcnkuZmlsdGVyKCBxdWFsaWZpZXIsIGVsZW1lbnRzICk7CisJcmV0dXJuIGpRdWVyeS5ncmVwKCBlbGVtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7CisJCXJldHVybiAoIGluZGV4T2YuY2FsbCggcXVhbGlmaWVyLCBlbGVtICkgPiAtMSApICE9PSBub3QgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMTsKKwl9ICk7Cit9CisKK2pRdWVyeS5maWx0ZXIgPSBmdW5jdGlvbiggZXhwciwgZWxlbXMsIG5vdCApIHsKKwl2YXIgZWxlbSA9IGVsZW1zWyAwIF07CisKKwlpZiAoIG5vdCApIHsKKwkJZXhwciA9ICI6bm90KCIgKyBleHByICsgIikiOworCX0KKworCWlmICggZWxlbXMubGVuZ3RoID09PSAxICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7CisJCXJldHVybiBqUXVlcnkuZmluZC5tYXRjaGVzU2VsZWN0b3IoIGVsZW0sIGV4cHIgKSA/IFsgZWxlbSBdIDogW107CisJfQorCisJcmV0dXJuIGpRdWVyeS5maW5kLm1hdGNoZXMoIGV4cHIsIGpRdWVyeS5ncmVwKCBlbGVtcywgZnVuY3Rpb24oIGVsZW0gKSB7CisJCXJldHVybiBlbGVtLm5vZGVUeXBlID09PSAxOworCX0gKSApOworfTsKKworalF1ZXJ5LmZuLmV4dGVuZCggeworCWZpbmQ6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsKKwkJdmFyIGksIHJldCwKKwkJCWxlbiA9IHRoaXMubGVuZ3RoLAorCQkJc2VsZiA9IHRoaXM7CisKKwkJaWYgKCB0eXBlb2Ygc2VsZWN0b3IgIT09ICJzdHJpbmciICkgeworCQkJcmV0dXJuIHRoaXMucHVzaFN0YWNrKCBqUXVlcnkoIHNlbGVjdG9yICkuZmlsdGVyKCBmdW5jdGlvbigpIHsKKwkJCQlmb3IgKCBpID0gMDsgaSA8IGxlbjsgaSsrICkgeworCQkJCQlpZiAoIGpRdWVyeS5jb250YWlucyggc2VsZlsgaSBdLCB0aGlzICkgKSB7CisJCQkJCQlyZXR1cm4gdHJ1ZTsKKwkJCQkJfQorCQkJCX0KKwkJCX0gKSApOworCQl9CisKKwkJcmV0ID0gdGhpcy5wdXNoU3RhY2soIFtdICk7CisKKwkJZm9yICggaSA9IDA7IGkgPCBsZW47IGkrKyApIHsKKwkJCWpRdWVyeS5maW5kKCBzZWxlY3Rvciwgc2VsZlsgaSBdLCByZXQgKTsKKwkJfQorCisJCXJldHVybiBsZW4gPiAxID8galF1ZXJ5LnVuaXF1ZVNvcnQoIHJldCApIDogcmV0OworCX0sCisJZmlsdGVyOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7CisJCXJldHVybiB0aGlzLnB1c2hTdGFjayggd2lubm93KCB0aGlzLCBzZWxlY3RvciB8fCBbXSwgZmFsc2UgKSApOworCX0sCisJbm90OiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7CisJCXJldHVybiB0aGlzLnB1c2hTdGFjayggd2lubm93KCB0aGlzLCBzZWxlY3RvciB8fCBbXSwgdHJ1ZSApICk7CisJfSwKKwlpczogZnVuY3Rpb24oIHNlbGVjdG9yICkgeworCQlyZXR1cm4gISF3aW5ub3coCisJCQl0aGlzLAorCisJCQkvLyBJZiB0aGlzIGlzIGEgcG9zaXRpb25hbC9yZWxhdGl2ZSBzZWxlY3RvciwgY2hlY2sgbWVtYmVyc2hpcCBpbiB0aGUgcmV0dXJuZWQgc2V0CisJCQkvLyBzbyAkKCJwOmZpcnN0IikuaXMoInA6bGFzdCIpIHdvbid0IHJldHVybiB0cnVlIGZvciBhIGRvYyB3aXRoIHR3byAicCIuCisJCQl0eXBlb2Ygc2VsZWN0b3IgPT09ICJzdHJpbmciICYmIHJuZWVkc0NvbnRleHQudGVzdCggc2VsZWN0b3IgKSA/CisJCQkJalF1ZXJ5KCBzZWxlY3RvciApIDoKKwkJCQlzZWxlY3RvciB8fCBbXSwKKwkJCWZhbHNlCisJCSkubGVuZ3RoOworCX0KK30gKTsKKworCisvLyBJbml0aWFsaXplIGEgalF1ZXJ5IG9iamVjdAorCisKKy8vIEEgY2VudHJhbCByZWZlcmVuY2UgdG8gdGhlIHJvb3QgalF1ZXJ5KGRvY3VtZW50KQordmFyIHJvb3RqUXVlcnksCisKKwkvLyBBIHNpbXBsZSB3YXkgdG8gY2hlY2sgZm9yIEhUTUwgc3RyaW5ncworCS8vIFByaW9yaXRpemUgI2lkIG92ZXIgPHRhZz4gdG8gYXZvaWQgWFNTIHZpYSBsb2NhdGlvbi5oYXNoICgjOTUyMSkKKwkvLyBTdHJpY3QgSFRNTCByZWNvZ25pdGlvbiAoIzExMjkwOiBtdXN0IHN0YXJ0IHdpdGggPCkKKwkvLyBTaG9ydGN1dCBzaW1wbGUgI2lkIGNhc2UgZm9yIHNwZWVkCisJcnF1aWNrRXhwciA9IC9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKykpJC8sCisKKwlpbml0ID0galF1ZXJ5LmZuLmluaXQgPSBmdW5jdGlvbiggc2VsZWN0b3IsIGNvbnRleHQsIHJvb3QgKSB7CisJCXZhciBtYXRjaCwgZWxlbTsKKworCQkvLyBIQU5ETEU6ICQoIiIpLCAkKG51bGwpLCAkKHVuZGVmaW5lZCksICQoZmFsc2UpCisJCWlmICggIXNlbGVjdG9yICkgeworCQkJcmV0dXJuIHRoaXM7CisJCX0KKworCQkvLyBNZXRob2QgaW5pdCgpIGFjY2VwdHMgYW4gYWx0ZXJuYXRlIHJvb3RqUXVlcnkKKwkJLy8gc28gbWlncmF0ZSBjYW4gc3VwcG9ydCBqUXVlcnkuc3ViIChnaC0yMTAxKQorCQlyb290ID0gcm9vdCB8fCByb290alF1ZXJ5OworCisJCS8vIEhhbmRsZSBIVE1MIHN0cmluZ3MKKwkJaWYgKCB0eXBlb2Ygc2VsZWN0b3IgPT09ICJzdHJpbmciICkgeworCQkJaWYgKCBzZWxlY3RvclsgMCBdID09PSAiPCIgJiYKKwkJCQlzZWxlY3Rvclsgc2VsZWN0b3IubGVuZ3RoIC0gMSBdID09PSAiPiIgJiYKKwkJCQlzZWxlY3Rvci5sZW5ndGggPj0gMyApIHsKKworCQkJCS8vIEFzc3VtZSB0aGF0IHN0cmluZ3MgdGhhdCBzdGFydCBhbmQgZW5kIHdpdGggPD4gYXJlIEhUTUwgYW5kIHNraXAgdGhlIHJlZ2V4IGNoZWNrCisJCQkJbWF0Y2ggPSBbIG51bGwsIHNlbGVjdG9yLCBudWxsIF07CisKKwkJCX0gZWxzZSB7CisJCQkJbWF0Y2ggPSBycXVpY2tFeHByLmV4ZWMoIHNlbGVjdG9yICk7CisJCQl9CisKKwkJCS8vIE1hdGNoIGh0bWwgb3IgbWFrZSBzdXJlIG5vIGNvbnRleHQgaXMgc3BlY2lmaWVkIGZvciAjaWQKKwkJCWlmICggbWF0Y2ggJiYgKCBtYXRjaFsgMSBdIHx8ICFjb250ZXh0ICkgKSB7CisKKwkJCQkvLyBIQU5ETEU6ICQoaHRtbCkgLT4gJChhcnJheSkKKwkJCQlpZiAoIG1hdGNoWyAxIF0gKSB7CisJCQkJCWNvbnRleHQgPSBjb250ZXh0IGluc3RhbmNlb2YgalF1ZXJ5ID8gY29udGV4dFsgMCBdIDogY29udGV4dDsKKworCQkJCQkvLyBPcHRpb24gdG8gcnVuIHNjcmlwdHMgaXMgdHJ1ZSBmb3IgYmFjay1jb21wYXQKKwkJCQkJLy8gSW50ZW50aW9uYWxseSBsZXQgdGhlIGVycm9yIGJlIHRocm93biBpZiBwYXJzZUhUTUwgaXMgbm90IHByZXNlbnQKKwkJCQkJalF1ZXJ5Lm1lcmdlKCB0aGlzLCBqUXVlcnkucGFyc2VIVE1MKAorCQkJCQkJbWF0Y2hbIDEgXSwKKwkJCQkJCWNvbnRleHQgJiYgY29udGV4dC5ub2RlVHlwZSA/IGNvbnRleHQub3duZXJEb2N1bWVudCB8fCBjb250ZXh0IDogZG9jdW1lbnQsCisJCQkJCQl0cnVlCisJCQkJCSkgKTsKKworCQkJCQkvLyBIQU5ETEU6ICQoaHRtbCwgcHJvcHMpCisJCQkJCWlmICggcnNpbmdsZVRhZy50ZXN0KCBtYXRjaFsgMSBdICkgJiYgalF1ZXJ5LmlzUGxhaW5PYmplY3QoIGNvbnRleHQgKSApIHsKKwkJCQkJCWZvciAoIG1hdGNoIGluIGNvbnRleHQgKSB7CisKKwkJCQkJCQkvLyBQcm9wZXJ0aWVzIG9mIGNvbnRleHQgYXJlIGNhbGxlZCBhcyBtZXRob2RzIGlmIHBvc3NpYmxlCisJCQkJCQkJaWYgKCBqUXVlcnkuaXNGdW5jdGlvbiggdGhpc1sgbWF0Y2ggXSApICkgeworCQkJCQkJCQl0aGlzWyBtYXRjaCBdKCBjb250ZXh0WyBtYXRjaCBdICk7CisKKwkJCQkJCQkvLyAuLi5hbmQgb3RoZXJ3aXNlIHNldCBhcyBhdHRyaWJ1dGVzCisJCQkJCQkJfSBlbHNlIHsKKwkJCQkJCQkJdGhpcy5hdHRyKCBtYXRjaCwgY29udGV4dFsgbWF0Y2ggXSApOworCQkJCQkJCX0KKwkJCQkJCX0KKwkJCQkJfQorCisJCQkJCXJldHVybiB0aGlzOworCisJCQkJLy8gSEFORExFOiAkKCNpZCkKKwkJCQl9IGVsc2UgeworCQkJCQllbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIG1hdGNoWyAyIF0gKTsKKworCQkJCQlpZiAoIGVsZW0gKSB7CisKKwkJCQkJCS8vIEluamVjdCB0aGUgZWxlbWVudCBkaXJlY3RseSBpbnRvIHRoZSBqUXVlcnkgb2JqZWN0CisJCQkJCQl0aGlzWyAwIF0gPSBlbGVtOworCQkJCQkJdGhpcy5sZW5ndGggPSAxOworCQkJCQl9CisJCQkJCXJldHVybiB0aGlzOworCQkJCX0KKworCQkJLy8gSEFORExFOiAkKGV4cHIsICQoLi4uKSkKKwkJCX0gZWxzZSBpZiAoICFjb250ZXh0IHx8IGNvbnRleHQuanF1ZXJ5ICkgeworCQkJCXJldHVybiAoIGNvbnRleHQgfHwgcm9vdCApLmZpbmQoIHNlbGVjdG9yICk7CisKKwkJCS8vIEhBTkRMRTogJChleHByLCBjb250ZXh0KQorCQkJLy8gKHdoaWNoIGlzIGp1c3QgZXF1aXZhbGVudCB0bzogJChjb250ZXh0KS5maW5kKGV4cHIpCisJCQl9IGVsc2UgeworCQkJCXJldHVybiB0aGlzLmNvbnN0cnVjdG9yKCBjb250ZXh0ICkuZmluZCggc2VsZWN0b3IgKTsKKwkJCX0KKworCQkvLyBIQU5ETEU6ICQoRE9NRWxlbWVudCkKKwkJfSBlbHNlIGlmICggc2VsZWN0b3Iubm9kZVR5cGUgKSB7CisJCQl0aGlzWyAwIF0gPSBzZWxlY3RvcjsKKwkJCXRoaXMubGVuZ3RoID0gMTsKKwkJCXJldHVybiB0aGlzOworCisJCS8vIEhBTkRMRTogJChmdW5jdGlvbikKKwkJLy8gU2hvcnRjdXQgZm9yIGRvY3VtZW50IHJlYWR5CisJCX0gZWxzZSBpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCBzZWxlY3RvciApICkgeworCQkJcmV0dXJuIHJvb3QucmVhZHkgIT09IHVuZGVmaW5lZCA/CisJCQkJcm9vdC5yZWFkeSggc2VsZWN0b3IgKSA6CisKKwkJCQkvLyBFeGVjdXRlIGltbWVkaWF0ZWx5IGlmIHJlYWR5IGlzIG5vdCBwcmVzZW50CisJCQkJc2VsZWN0b3IoIGpRdWVyeSApOworCQl9CisKKwkJcmV0dXJuIGpRdWVyeS5tYWtlQXJyYXkoIHNlbGVjdG9yLCB0aGlzICk7CisJfTsKKworLy8gR2l2ZSB0aGUgaW5pdCBmdW5jdGlvbiB0aGUgalF1ZXJ5IHByb3RvdHlwZSBmb3IgbGF0ZXIgaW5zdGFudGlhdGlvbgoraW5pdC5wcm90b3R5cGUgPSBqUXVlcnkuZm47CisKKy8vIEluaXRpYWxpemUgY2VudHJhbCByZWZlcmVuY2UKK3Jvb3RqUXVlcnkgPSBqUXVlcnkoIGRvY3VtZW50ICk7CisKKwordmFyIHJwYXJlbnRzcHJldiA9IC9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLAorCisJLy8gTWV0aG9kcyBndWFyYW50ZWVkIHRvIHByb2R1Y2UgYSB1bmlxdWUgc2V0IHdoZW4gc3RhcnRpbmcgZnJvbSBhIHVuaXF1ZSBzZXQKKwlndWFyYW50ZWVkVW5pcXVlID0geworCQljaGlsZHJlbjogdHJ1ZSwKKwkJY29udGVudHM6IHRydWUsCisJCW5leHQ6IHRydWUsCisJCXByZXY6IHRydWUKKwl9OworCitqUXVlcnkuZm4uZXh0ZW5kKCB7CisJaGFzOiBmdW5jdGlvbiggdGFyZ2V0ICkgeworCQl2YXIgdGFyZ2V0cyA9IGpRdWVyeSggdGFyZ2V0LCB0aGlzICksCisJCQlsID0gdGFyZ2V0cy5sZW5ndGg7CisKKwkJcmV0dXJuIHRoaXMuZmlsdGVyKCBmdW5jdGlvbigpIHsKKwkJCXZhciBpID0gMDsKKwkJCWZvciAoIDsgaSA8IGw7IGkrKyApIHsKKwkJCQlpZiAoIGpRdWVyeS5jb250YWlucyggdGhpcywgdGFyZ2V0c1sgaSBdICkgKSB7CisJCQkJCXJldHVybiB0cnVlOworCQkJCX0KKwkJCX0KKwkJfSApOworCX0sCisKKwljbG9zZXN0OiBmdW5jdGlvbiggc2VsZWN0b3JzLCBjb250ZXh0ICkgeworCQl2YXIgY3VyLAorCQkJaSA9IDAsCisJCQlsID0gdGhpcy5sZW5ndGgsCisJCQltYXRjaGVkID0gW10sCisJCQl0YXJnZXRzID0gdHlwZW9mIHNlbGVjdG9ycyAhPT0gInN0cmluZyIgJiYgalF1ZXJ5KCBzZWxlY3RvcnMgKTsKKworCQkvLyBQb3NpdGlvbmFsIHNlbGVjdG9ycyBuZXZlciBtYXRjaCwgc2luY2UgdGhlcmUncyBubyBfc2VsZWN0aW9uXyBjb250ZXh0CisJCWlmICggIXJuZWVkc0NvbnRleHQudGVzdCggc2VsZWN0b3JzICkgKSB7CisJCQlmb3IgKCA7IGkgPCBsOyBpKysgKSB7CisJCQkJZm9yICggY3VyID0gdGhpc1sgaSBdOyBjdXIgJiYgY3VyICE9PSBjb250ZXh0OyBjdXIgPSBjdXIucGFyZW50Tm9kZSApIHsKKworCQkJCQkvLyBBbHdheXMgc2tpcCBkb2N1bWVudCBmcmFnbWVudHMKKwkJCQkJaWYgKCBjdXIubm9kZVR5cGUgPCAxMSAmJiAoIHRhcmdldHMgPworCQkJCQkJdGFyZ2V0cy5pbmRleCggY3VyICkgPiAtMSA6CisKKwkJCQkJCS8vIERvbid0IHBhc3Mgbm9uLWVsZW1lbnRzIHRvIFNpenpsZQorCQkJCQkJY3VyLm5vZGVUeXBlID09PSAxICYmCisJCQkJCQkJalF1ZXJ5LmZpbmQubWF0Y2hlc1NlbGVjdG9yKCBjdXIsIHNlbGVjdG9ycyApICkgKSB7CisKKwkJCQkJCW1hdGNoZWQucHVzaCggY3VyICk7CisJCQkJCQlicmVhazsKKwkJCQkJfQorCQkJCX0KKwkJCX0KKwkJfQorCisJCXJldHVybiB0aGlzLnB1c2hTdGFjayggbWF0Y2hlZC5sZW5ndGggPiAxID8galF1ZXJ5LnVuaXF1ZVNvcnQoIG1hdGNoZWQgKSA6IG1hdGNoZWQgKTsKKwl9LAorCisJLy8gRGV0ZXJtaW5lIHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50IHdpdGhpbiB0aGUgc2V0CisJaW5kZXg6IGZ1bmN0aW9uKCBlbGVtICkgeworCisJCS8vIE5vIGFyZ3VtZW50LCByZXR1cm4gaW5kZXggaW4gcGFyZW50CisJCWlmICggIWVsZW0gKSB7CisJCQlyZXR1cm4gKCB0aGlzWyAwIF0gJiYgdGhpc1sgMCBdLnBhcmVudE5vZGUgKSA/IHRoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoIDogLTE7CisJCX0KKworCQkvLyBJbmRleCBpbiBzZWxlY3RvcgorCQlpZiAoIHR5cGVvZiBlbGVtID09PSAic3RyaW5nIiApIHsKKwkJCXJldHVybiBpbmRleE9mLmNhbGwoIGpRdWVyeSggZWxlbSApLCB0aGlzWyAwIF0gKTsKKwkJfQorCisJCS8vIExvY2F0ZSB0aGUgcG9zaXRpb24gb2YgdGhlIGRlc2lyZWQgZWxlbWVudAorCQlyZXR1cm4gaW5kZXhPZi5jYWxsKCB0aGlzLAorCisJCQkvLyBJZiBpdCByZWNlaXZlcyBhIGpRdWVyeSBvYmplY3QsIHRoZSBmaXJzdCBlbGVtZW50IGlzIHVzZWQKKwkJCWVsZW0uanF1ZXJ5ID8gZWxlbVsgMCBdIDogZWxlbQorCQkpOworCX0sCisKKwlhZGQ6IGZ1bmN0aW9uKCBzZWxlY3RvciwgY29udGV4dCApIHsKKwkJcmV0dXJuIHRoaXMucHVzaFN0YWNrKAorCQkJalF1ZXJ5LnVuaXF1ZVNvcnQoCisJCQkJalF1ZXJ5Lm1lcmdlKCB0aGlzLmdldCgpLCBqUXVlcnkoIHNlbGVjdG9yLCBjb250ZXh0ICkgKQorCQkJKQorCQkpOworCX0sCisKKwlhZGRCYWNrOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7CisJCXJldHVybiB0aGlzLmFkZCggc2VsZWN0b3IgPT0gbnVsbCA/CisJCQl0aGlzLnByZXZPYmplY3QgOiB0aGlzLnByZXZPYmplY3QuZmlsdGVyKCBzZWxlY3RvciApCisJCSk7CisJfQorfSApOworCitmdW5jdGlvbiBzaWJsaW5nKCBjdXIsIGRpciApIHsKKwl3aGlsZSAoICggY3VyID0gY3VyWyBkaXIgXSApICYmIGN1ci5ub2RlVHlwZSAhPT0gMSApIHt9CisJcmV0dXJuIGN1cjsKK30KKworalF1ZXJ5LmVhY2goIHsKKwlwYXJlbnQ6IGZ1bmN0aW9uKCBlbGVtICkgeworCQl2YXIgcGFyZW50ID0gZWxlbS5wYXJlbnROb2RlOworCQlyZXR1cm4gcGFyZW50ICYmIHBhcmVudC5ub2RlVHlwZSAhPT0gMTEgPyBwYXJlbnQgOiBudWxsOworCX0sCisJcGFyZW50czogZnVuY3Rpb24oIGVsZW0gKSB7CisJCXJldHVybiBkaXIoIGVsZW0sICJwYXJlbnROb2RlIiApOworCX0sCisJcGFyZW50c1VudGlsOiBmdW5jdGlvbiggZWxlbSwgaSwgdW50aWwgKSB7CisJCXJldHVybiBkaXIoIGVsZW0sICJwYXJlbnROb2RlIiwgdW50aWwgKTsKKwl9LAorCW5leHQ6IGZ1bmN0aW9uKCBlbGVtICkgeworCQlyZXR1cm4gc2libGluZyggZWxlbSwgIm5leHRTaWJsaW5nIiApOworCX0sCisJcHJldjogZnVuY3Rpb24oIGVsZW0gKSB7CisJCXJldHVybiBzaWJsaW5nKCBlbGVtLCAicHJldmlvdXNTaWJsaW5nIiApOworCX0sCisJbmV4dEFsbDogZnVuY3Rpb24oIGVsZW0gKSB7CisJCXJldHVybiBkaXIoIGVsZW0sICJuZXh0U2libGluZyIgKTsKKwl9LAorCXByZXZBbGw6IGZ1bmN0aW9uKCBlbGVtICkgeworCQlyZXR1cm4gZGlyKCBlbGVtLCAicHJldmlvdXNTaWJsaW5nIiApOworCX0sCisJbmV4dFVudGlsOiBmdW5jdGlvbiggZWxlbSwgaSwgdW50aWwgKSB7CisJCXJldHVybiBkaXIoIGVsZW0sICJuZXh0U2libGluZyIsIHVudGlsICk7CisJfSwKKwlwcmV2VW50aWw6IGZ1bmN0aW9uKCBlbGVtLCBpLCB1bnRpbCApIHsKKwkJcmV0dXJuIGRpciggZWxlbSwgInByZXZpb3VzU2libGluZyIsIHVudGlsICk7CisJfSwKKwlzaWJsaW5nczogZnVuY3Rpb24oIGVsZW0gKSB7CisJCXJldHVybiBzaWJsaW5ncyggKCBlbGVtLnBhcmVudE5vZGUgfHwge30gKS5maXJzdENoaWxkLCBlbGVtICk7CisJfSwKKwljaGlsZHJlbjogZnVuY3Rpb24oIGVsZW0gKSB7CisJCXJldHVybiBzaWJsaW5ncyggZWxlbS5maXJzdENoaWxkICk7CisJfSwKKwljb250ZW50czogZnVuY3Rpb24oIGVsZW0gKSB7CisgICAgICAgIGlmICggbm9kZU5hbWUoIGVsZW0sICJpZnJhbWUiICkgKSB7CisgICAgICAgICAgICByZXR1cm4gZWxlbS5jb250ZW50RG9jdW1lbnQ7CisgICAgICAgIH0KKworICAgICAgICAvLyBTdXBwb3J0OiBJRSA5IC0gMTEgb25seSwgaU9TIDcgb25seSwgQW5kcm9pZCBCcm93c2VyIDw9NC4zIG9ubHkKKyAgICAgICAgLy8gVHJlYXQgdGhlIHRlbXBsYXRlIGVsZW1lbnQgYXMgYSByZWd1bGFyIG9uZSBpbiBicm93c2VycyB0aGF0CisgICAgICAgIC8vIGRvbid0IHN1cHBvcnQgaXQuCisgICAgICAgIGlmICggbm9kZU5hbWUoIGVsZW0sICJ0ZW1wbGF0ZSIgKSApIHsKKyAgICAgICAgICAgIGVsZW0gPSBlbGVtLmNvbnRlbnQgfHwgZWxlbTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBqUXVlcnkubWVyZ2UoIFtdLCBlbGVtLmNoaWxkTm9kZXMgKTsKKwl9Cit9LCBmdW5jdGlvbiggbmFtZSwgZm4gKSB7CisJalF1ZXJ5LmZuWyBuYW1lIF0gPSBmdW5jdGlvbiggdW50aWwsIHNlbGVjdG9yICkgeworCQl2YXIgbWF0Y2hlZCA9IGpRdWVyeS5tYXAoIHRoaXMsIGZuLCB1bnRpbCApOworCisJCWlmICggbmFtZS5zbGljZSggLTUgKSAhPT0gIlVudGlsIiApIHsKKwkJCXNlbGVjdG9yID0gdW50aWw7CisJCX0KKworCQlpZiAoIHNlbGVjdG9yICYmIHR5cGVvZiBzZWxlY3RvciA9PT0gInN0cmluZyIgKSB7CisJCQltYXRjaGVkID0galF1ZXJ5LmZpbHRlciggc2VsZWN0b3IsIG1hdGNoZWQgKTsKKwkJfQorCisJCWlmICggdGhpcy5sZW5ndGggPiAxICkgeworCisJCQkvLyBSZW1vdmUgZHVwbGljYXRlcworCQkJaWYgKCAhZ3VhcmFudGVlZFVuaXF1ZVsgbmFtZSBdICkgeworCQkJCWpRdWVyeS51bmlxdWVTb3J0KCBtYXRjaGVkICk7CisJCQl9CisKKwkJCS8vIFJldmVyc2Ugb3JkZXIgZm9yIHBhcmVudHMqIGFuZCBwcmV2LWRlcml2YXRpdmVzCisJCQlpZiAoIHJwYXJlbnRzcHJldi50ZXN0KCBuYW1lICkgKSB7CisJCQkJbWF0Y2hlZC5yZXZlcnNlKCk7CisJCQl9CisJCX0KKworCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIG1hdGNoZWQgKTsKKwl9OworfSApOwordmFyIHJub3RodG1sd2hpdGUgPSAoIC9bXlx4MjBcdFxyXG5cZl0rL2cgKTsKKworCisKKy8vIENvbnZlcnQgU3RyaW5nLWZvcm1hdHRlZCBvcHRpb25zIGludG8gT2JqZWN0LWZvcm1hdHRlZCBvbmVzCitmdW5jdGlvbiBjcmVhdGVPcHRpb25zKCBvcHRpb25zICkgeworCXZhciBvYmplY3QgPSB7fTsKKwlqUXVlcnkuZWFjaCggb3B0aW9ucy5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFtdLCBmdW5jdGlvbiggXywgZmxhZyApIHsKKwkJb2JqZWN0WyBmbGFnIF0gPSB0cnVlOworCX0gKTsKKwlyZXR1cm4gb2JqZWN0OworfQorCisvKgorICogQ3JlYXRlIGEgY2FsbGJhY2sgbGlzdCB1c2luZyB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnM6CisgKgorICoJb3B0aW9uczogYW4gb3B0aW9uYWwgbGlzdCBvZiBzcGFjZS1zZXBhcmF0ZWQgb3B0aW9ucyB0aGF0IHdpbGwgY2hhbmdlIGhvdworICoJCQl0aGUgY2FsbGJhY2sgbGlzdCBiZWhhdmVzIG9yIGEgbW9yZSB0cmFkaXRpb25hbCBvcHRpb24gb2JqZWN0CisgKgorICogQnkgZGVmYXVsdCBhIGNhbGxiYWNrIGxpc3Qgd2lsbCBhY3QgbGlrZSBhbiBldmVudCBjYWxsYmFjayBsaXN0IGFuZCBjYW4gYmUKKyAqICJmaXJlZCIgbXVsdGlwbGUgdGltZXMuCisgKgorICogUG9zc2libGUgb3B0aW9uczoKKyAqCisgKglvbmNlOgkJCXdpbGwgZW5zdXJlIHRoZSBjYWxsYmFjayBsaXN0IGNhbiBvbmx5IGJlIGZpcmVkIG9uY2UgKGxpa2UgYSBEZWZlcnJlZCkKKyAqCisgKgltZW1vcnk6CQkJd2lsbCBrZWVwIHRyYWNrIG9mIHByZXZpb3VzIHZhbHVlcyBhbmQgd2lsbCBjYWxsIGFueSBjYWxsYmFjayBhZGRlZAorICoJCQkJCWFmdGVyIHRoZSBsaXN0IGhhcyBiZWVuIGZpcmVkIHJpZ2h0IGF3YXkgd2l0aCB0aGUgbGF0ZXN0ICJtZW1vcml6ZWQiCisgKgkJCQkJdmFsdWVzIChsaWtlIGEgRGVmZXJyZWQpCisgKgorICoJdW5pcXVlOgkJCXdpbGwgZW5zdXJlIGEgY2FsbGJhY2sgY2FuIG9ubHkgYmUgYWRkZWQgb25jZSAobm8gZHVwbGljYXRlIGluIHRoZSBsaXN0KQorICoKKyAqCXN0b3BPbkZhbHNlOglpbnRlcnJ1cHQgY2FsbGluZ3Mgd2hlbiBhIGNhbGxiYWNrIHJldHVybnMgZmFsc2UKKyAqCisgKi8KK2pRdWVyeS5DYWxsYmFja3MgPSBmdW5jdGlvbiggb3B0aW9ucyApIHsKKworCS8vIENvbnZlcnQgb3B0aW9ucyBmcm9tIFN0cmluZy1mb3JtYXR0ZWQgdG8gT2JqZWN0LWZvcm1hdHRlZCBpZiBuZWVkZWQKKwkvLyAod2UgY2hlY2sgaW4gY2FjaGUgZmlyc3QpCisJb3B0aW9ucyA9IHR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIiA/CisJCWNyZWF0ZU9wdGlvbnMoIG9wdGlvbnMgKSA6CisJCWpRdWVyeS5leHRlbmQoIHt9LCBvcHRpb25zICk7CisKKwl2YXIgLy8gRmxhZyB0byBrbm93IGlmIGxpc3QgaXMgY3VycmVudGx5IGZpcmluZworCQlmaXJpbmcsCisKKwkJLy8gTGFzdCBmaXJlIHZhbHVlIGZvciBub24tZm9yZ2V0dGFibGUgbGlzdHMKKwkJbWVtb3J5LAorCisJCS8vIEZsYWcgdG8ga25vdyBpZiBsaXN0IHdhcyBhbHJlYWR5IGZpcmVkCisJCWZpcmVkLAorCisJCS8vIEZsYWcgdG8gcHJldmVudCBmaXJpbmcKKwkJbG9ja2VkLAorCisJCS8vIEFjdHVhbCBjYWxsYmFjayBsaXN0CisJCWxpc3QgPSBbXSwKKworCQkvLyBRdWV1ZSBvZiBleGVjdXRpb24gZGF0YSBmb3IgcmVwZWF0YWJsZSBsaXN0cworCQlxdWV1ZSA9IFtdLAorCisJCS8vIEluZGV4IG9mIGN1cnJlbnRseSBmaXJpbmcgY2FsbGJhY2sgKG1vZGlmaWVkIGJ5IGFkZC9yZW1vdmUgYXMgbmVlZGVkKQorCQlmaXJpbmdJbmRleCA9IC0xLAorCisJCS8vIEZpcmUgY2FsbGJhY2tzCisJCWZpcmUgPSBmdW5jdGlvbigpIHsKKworCQkJLy8gRW5mb3JjZSBzaW5nbGUtZmlyaW5nCisJCQlsb2NrZWQgPSBsb2NrZWQgfHwgb3B0aW9ucy5vbmNlOworCisJCQkvLyBFeGVjdXRlIGNhbGxiYWNrcyBmb3IgYWxsIHBlbmRpbmcgZXhlY3V0aW9ucywKKwkJCS8vIHJlc3BlY3RpbmcgZmlyaW5nSW5kZXggb3ZlcnJpZGVzIGFuZCBydW50aW1lIGNoYW5nZXMKKwkJCWZpcmVkID0gZmlyaW5nID0gdHJ1ZTsKKwkJCWZvciAoIDsgcXVldWUubGVuZ3RoOyBmaXJpbmdJbmRleCA9IC0xICkgeworCQkJCW1lbW9yeSA9IHF1ZXVlLnNoaWZ0KCk7CisJCQkJd2hpbGUgKCArK2ZpcmluZ0luZGV4IDwgbGlzdC5sZW5ndGggKSB7CisKKwkJCQkJLy8gUnVuIGNhbGxiYWNrIGFuZCBjaGVjayBmb3IgZWFybHkgdGVybWluYXRpb24KKwkJCQkJaWYgKCBsaXN0WyBmaXJpbmdJbmRleCBdLmFwcGx5KCBtZW1vcnlbIDAgXSwgbWVtb3J5WyAxIF0gKSA9PT0gZmFsc2UgJiYKKwkJCQkJCW9wdGlvbnMuc3RvcE9uRmFsc2UgKSB7CisKKwkJCQkJCS8vIEp1bXAgdG8gZW5kIGFuZCBmb3JnZXQgdGhlIGRhdGEgc28gLmFkZCBkb2Vzbid0IHJlLWZpcmUKKwkJCQkJCWZpcmluZ0luZGV4ID0gbGlzdC5sZW5ndGg7CisJCQkJCQltZW1vcnkgPSBmYWxzZTsKKwkJCQkJfQorCQkJCX0KKwkJCX0KKworCQkJLy8gRm9yZ2V0IHRoZSBkYXRhIGlmIHdlJ3JlIGRvbmUgd2l0aCBpdAorCQkJaWYgKCAhb3B0aW9ucy5tZW1vcnkgKSB7CisJCQkJbWVtb3J5ID0gZmFsc2U7CisJCQl9CisKKwkJCWZpcmluZyA9IGZhbHNlOworCisJCQkvLyBDbGVhbiB1cCBpZiB3ZSdyZSBkb25lIGZpcmluZyBmb3IgZ29vZAorCQkJaWYgKCBsb2NrZWQgKSB7CisKKwkJCQkvLyBLZWVwIGFuIGVtcHR5IGxpc3QgaWYgd2UgaGF2ZSBkYXRhIGZvciBmdXR1cmUgYWRkIGNhbGxzCisJCQkJaWYgKCBtZW1vcnkgKSB7CisJCQkJCWxpc3QgPSBbXTsKKworCQkJCS8vIE90aGVyd2lzZSwgdGhpcyBvYmplY3QgaXMgc3BlbnQKKwkJCQl9IGVsc2UgeworCQkJCQlsaXN0ID0gIiI7CisJCQkJfQorCQkJfQorCQl9LAorCisJCS8vIEFjdHVhbCBDYWxsYmFja3Mgb2JqZWN0CisJCXNlbGYgPSB7CisKKwkJCS8vIEFkZCBhIGNhbGxiYWNrIG9yIGEgY29sbGVjdGlvbiBvZiBjYWxsYmFja3MgdG8gdGhlIGxpc3QKKwkJCWFkZDogZnVuY3Rpb24oKSB7CisJCQkJaWYgKCBsaXN0ICkgeworCisJCQkJCS8vIElmIHdlIGhhdmUgbWVtb3J5IGZyb20gYSBwYXN0IHJ1biwgd2Ugc2hvdWxkIGZpcmUgYWZ0ZXIgYWRkaW5nCisJCQkJCWlmICggbWVtb3J5ICYmICFmaXJpbmcgKSB7CisJCQkJCQlmaXJpbmdJbmRleCA9IGxpc3QubGVuZ3RoIC0gMTsKKwkJCQkJCXF1ZXVlLnB1c2goIG1lbW9yeSApOworCQkJCQl9CisKKwkJCQkJKCBmdW5jdGlvbiBhZGQoIGFyZ3MgKSB7CisJCQkJCQlqUXVlcnkuZWFjaCggYXJncywgZnVuY3Rpb24oIF8sIGFyZyApIHsKKwkJCQkJCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCBhcmcgKSApIHsKKwkJCQkJCQkJaWYgKCAhb3B0aW9ucy51bmlxdWUgfHwgIXNlbGYuaGFzKCBhcmcgKSApIHsKKwkJCQkJCQkJCWxpc3QucHVzaCggYXJnICk7CisJCQkJCQkJCX0KKwkJCQkJCQl9IGVsc2UgaWYgKCBhcmcgJiYgYXJnLmxlbmd0aCAmJiBqUXVlcnkudHlwZSggYXJnICkgIT09ICJzdHJpbmciICkgeworCisJCQkJCQkJCS8vIEluc3BlY3QgcmVjdXJzaXZlbHkKKwkJCQkJCQkJYWRkKCBhcmcgKTsKKwkJCQkJCQl9CisJCQkJCQl9ICk7CisJCQkJCX0gKSggYXJndW1lbnRzICk7CisKKwkJCQkJaWYgKCBtZW1vcnkgJiYgIWZpcmluZyApIHsKKwkJCQkJCWZpcmUoKTsKKwkJCQkJfQorCQkJCX0KKwkJCQlyZXR1cm4gdGhpczsKKwkJCX0sCisKKwkJCS8vIFJlbW92ZSBhIGNhbGxiYWNrIGZyb20gdGhlIGxpc3QKKwkJCXJlbW92ZTogZnVuY3Rpb24oKSB7CisJCQkJalF1ZXJ5LmVhY2goIGFyZ3VtZW50cywgZnVuY3Rpb24oIF8sIGFyZyApIHsKKwkJCQkJdmFyIGluZGV4OworCQkJCQl3aGlsZSAoICggaW5kZXggPSBqUXVlcnkuaW5BcnJheSggYXJnLCBsaXN0LCBpbmRleCApICkgPiAtMSApIHsKKwkJCQkJCWxpc3Quc3BsaWNlKCBpbmRleCwgMSApOworCisJCQkJCQkvLyBIYW5kbGUgZmlyaW5nIGluZGV4ZXMKKwkJCQkJCWlmICggaW5kZXggPD0gZmlyaW5nSW5kZXggKSB7CisJCQkJCQkJZmlyaW5nSW5kZXgtLTsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCX0gKTsKKwkJCQlyZXR1cm4gdGhpczsKKwkJCX0sCisKKwkJCS8vIENoZWNrIGlmIGEgZ2l2ZW4gY2FsbGJhY2sgaXMgaW4gdGhlIGxpc3QuCisJCQkvLyBJZiBubyBhcmd1bWVudCBpcyBnaXZlbiwgcmV0dXJuIHdoZXRoZXIgb3Igbm90IGxpc3QgaGFzIGNhbGxiYWNrcyBhdHRhY2hlZC4KKwkJCWhhczogZnVuY3Rpb24oIGZuICkgeworCQkJCXJldHVybiBmbiA/CisJCQkJCWpRdWVyeS5pbkFycmF5KCBmbiwgbGlzdCApID4gLTEgOgorCQkJCQlsaXN0Lmxlbmd0aCA+IDA7CisJCQl9LAorCisJCQkvLyBSZW1vdmUgYWxsIGNhbGxiYWNrcyBmcm9tIHRoZSBsaXN0CisJCQllbXB0eTogZnVuY3Rpb24oKSB7CisJCQkJaWYgKCBsaXN0ICkgeworCQkJCQlsaXN0ID0gW107CisJCQkJfQorCQkJCXJldHVybiB0aGlzOworCQkJfSwKKworCQkJLy8gRGlzYWJsZSAuZmlyZSBhbmQgLmFkZAorCQkJLy8gQWJvcnQgYW55IGN1cnJlbnQvcGVuZGluZyBleGVjdXRpb25zCisJCQkvLyBDbGVhciBhbGwgY2FsbGJhY2tzIGFuZCB2YWx1ZXMKKwkJCWRpc2FibGU6IGZ1bmN0aW9uKCkgeworCQkJCWxvY2tlZCA9IHF1ZXVlID0gW107CisJCQkJbGlzdCA9IG1lbW9yeSA9ICIiOworCQkJCXJldHVybiB0aGlzOworCQkJfSwKKwkJCWRpc2FibGVkOiBmdW5jdGlvbigpIHsKKwkJCQlyZXR1cm4gIWxpc3Q7CisJCQl9LAorCisJCQkvLyBEaXNhYmxlIC5maXJlCisJCQkvLyBBbHNvIGRpc2FibGUgLmFkZCB1bmxlc3Mgd2UgaGF2ZSBtZW1vcnkgKHNpbmNlIGl0IHdvdWxkIGhhdmUgbm8gZWZmZWN0KQorCQkJLy8gQWJvcnQgYW55IHBlbmRpbmcgZXhlY3V0aW9ucworCQkJbG9jazogZnVuY3Rpb24oKSB7CisJCQkJbG9ja2VkID0gcXVldWUgPSBbXTsKKwkJCQlpZiAoICFtZW1vcnkgJiYgIWZpcmluZyApIHsKKwkJCQkJbGlzdCA9IG1lbW9yeSA9ICIiOworCQkJCX0KKwkJCQlyZXR1cm4gdGhpczsKKwkJCX0sCisJCQlsb2NrZWQ6IGZ1bmN0aW9uKCkgeworCQkJCXJldHVybiAhIWxvY2tlZDsKKwkJCX0sCisKKwkJCS8vIENhbGwgYWxsIGNhbGxiYWNrcyB3aXRoIHRoZSBnaXZlbiBjb250ZXh0IGFuZCBhcmd1bWVudHMKKwkJCWZpcmVXaXRoOiBmdW5jdGlvbiggY29udGV4dCwgYXJncyApIHsKKwkJCQlpZiAoICFsb2NrZWQgKSB7CisJCQkJCWFyZ3MgPSBhcmdzIHx8IFtdOworCQkJCQlhcmdzID0gWyBjb250ZXh0LCBhcmdzLnNsaWNlID8gYXJncy5zbGljZSgpIDogYXJncyBdOworCQkJCQlxdWV1ZS5wdXNoKCBhcmdzICk7CisJCQkJCWlmICggIWZpcmluZyApIHsKKwkJCQkJCWZpcmUoKTsKKwkJCQkJfQorCQkJCX0KKwkJCQlyZXR1cm4gdGhpczsKKwkJCX0sCisKKwkJCS8vIENhbGwgYWxsIHRoZSBjYWxsYmFja3Mgd2l0aCB0aGUgZ2l2ZW4gYXJndW1lbnRzCisJCQlmaXJlOiBmdW5jdGlvbigpIHsKKwkJCQlzZWxmLmZpcmVXaXRoKCB0aGlzLCBhcmd1bWVudHMgKTsKKwkJCQlyZXR1cm4gdGhpczsKKwkJCX0sCisKKwkJCS8vIFRvIGtub3cgaWYgdGhlIGNhbGxiYWNrcyBoYXZlIGFscmVhZHkgYmVlbiBjYWxsZWQgYXQgbGVhc3Qgb25jZQorCQkJZmlyZWQ6IGZ1bmN0aW9uKCkgeworCQkJCXJldHVybiAhIWZpcmVkOworCQkJfQorCQl9OworCisJcmV0dXJuIHNlbGY7Cit9OworCisKK2Z1bmN0aW9uIElkZW50aXR5KCB2ICkgeworCXJldHVybiB2OworfQorZnVuY3Rpb24gVGhyb3dlciggZXggKSB7CisJdGhyb3cgZXg7Cit9CisKK2Z1bmN0aW9uIGFkb3B0VmFsdWUoIHZhbHVlLCByZXNvbHZlLCByZWplY3QsIG5vVmFsdWUgKSB7CisJdmFyIG1ldGhvZDsKKworCXRyeSB7CisKKwkJLy8gQ2hlY2sgZm9yIHByb21pc2UgYXNwZWN0IGZpcnN0IHRvIHByaXZpbGVnZSBzeW5jaHJvbm91cyBiZWhhdmlvcgorCQlpZiAoIHZhbHVlICYmIGpRdWVyeS5pc0Z1bmN0aW9uKCAoIG1ldGhvZCA9IHZhbHVlLnByb21pc2UgKSApICkgeworCQkJbWV0aG9kLmNhbGwoIHZhbHVlICkuZG9uZSggcmVzb2x2ZSApLmZhaWwoIHJlamVjdCApOworCisJCS8vIE90aGVyIHRoZW5hYmxlcworCQl9IGVsc2UgaWYgKCB2YWx1ZSAmJiBqUXVlcnkuaXNGdW5jdGlvbiggKCBtZXRob2QgPSB2YWx1ZS50aGVuICkgKSApIHsKKwkJCW1ldGhvZC5jYWxsKCB2YWx1ZSwgcmVzb2x2ZSwgcmVqZWN0ICk7CisKKwkJLy8gT3RoZXIgbm9uLXRoZW5hYmxlcworCQl9IGVsc2UgeworCisJCQkvLyBDb250cm9sIGByZXNvbHZlYCBhcmd1bWVudHMgYnkgbGV0dGluZyBBcnJheSNzbGljZSBjYXN0IGJvb2xlYW4gYG5vVmFsdWVgIHRvIGludGVnZXI6CisJCQkvLyAqIGZhbHNlOiBbIHZhbHVlIF0uc2xpY2UoIDAgKSA9PiByZXNvbHZlKCB2YWx1ZSApCisJCQkvLyAqIHRydWU6IFsgdmFsdWUgXS5zbGljZSggMSApID0+IHJlc29sdmUoKQorCQkJcmVzb2x2ZS5hcHBseSggdW5kZWZpbmVkLCBbIHZhbHVlIF0uc2xpY2UoIG5vVmFsdWUgKSApOworCQl9CisKKwkvLyBGb3IgUHJvbWlzZXMvQSssIGNvbnZlcnQgZXhjZXB0aW9ucyBpbnRvIHJlamVjdGlvbnMKKwkvLyBTaW5jZSBqUXVlcnkud2hlbiBkb2Vzbid0IHVud3JhcCB0aGVuYWJsZXMsIHdlIGNhbiBza2lwIHRoZSBleHRyYSBjaGVja3MgYXBwZWFyaW5nIGluCisJLy8gRGVmZXJyZWQjdGhlbiB0byBjb25kaXRpb25hbGx5IHN1cHByZXNzIHJlamVjdGlvbi4KKwl9IGNhdGNoICggdmFsdWUgKSB7CisKKwkJLy8gU3VwcG9ydDogQW5kcm9pZCA0LjAgb25seQorCQkvLyBTdHJpY3QgbW9kZSBmdW5jdGlvbnMgaW52b2tlZCB3aXRob3V0IC5jYWxsLy5hcHBseSBnZXQgZ2xvYmFsLW9iamVjdCBjb250ZXh0CisJCXJlamVjdC5hcHBseSggdW5kZWZpbmVkLCBbIHZhbHVlIF0gKTsKKwl9Cit9CisKK2pRdWVyeS5leHRlbmQoIHsKKworCURlZmVycmVkOiBmdW5jdGlvbiggZnVuYyApIHsKKwkJdmFyIHR1cGxlcyA9IFsKKworCQkJCS8vIGFjdGlvbiwgYWRkIGxpc3RlbmVyLCBjYWxsYmFja3MsCisJCQkJLy8gLi4uIC50aGVuIGhhbmRsZXJzLCBhcmd1bWVudCBpbmRleCwgW2ZpbmFsIHN0YXRlXQorCQkJCVsgIm5vdGlmeSIsICJwcm9ncmVzcyIsIGpRdWVyeS5DYWxsYmFja3MoICJtZW1vcnkiICksCisJCQkJCWpRdWVyeS5DYWxsYmFja3MoICJtZW1vcnkiICksIDIgXSwKKwkJCQlbICJyZXNvbHZlIiwgImRvbmUiLCBqUXVlcnkuQ2FsbGJhY2tzKCAib25jZSBtZW1vcnkiICksCisJCQkJCWpRdWVyeS5DYWxsYmFja3MoICJvbmNlIG1lbW9yeSIgKSwgMCwgInJlc29sdmVkIiBdLAorCQkJCVsgInJlamVjdCIsICJmYWlsIiwgalF1ZXJ5LkNhbGxiYWNrcyggIm9uY2UgbWVtb3J5IiApLAorCQkJCQlqUXVlcnkuQ2FsbGJhY2tzKCAib25jZSBtZW1vcnkiICksIDEsICJyZWplY3RlZCIgXQorCQkJXSwKKwkJCXN0YXRlID0gInBlbmRpbmciLAorCQkJcHJvbWlzZSA9IHsKKwkJCQlzdGF0ZTogZnVuY3Rpb24oKSB7CisJCQkJCXJldHVybiBzdGF0ZTsKKwkJCQl9LAorCQkJCWFsd2F5czogZnVuY3Rpb24oKSB7CisJCQkJCWRlZmVycmVkLmRvbmUoIGFyZ3VtZW50cyApLmZhaWwoIGFyZ3VtZW50cyApOworCQkJCQlyZXR1cm4gdGhpczsKKwkJCQl9LAorCQkJCSJjYXRjaCI6IGZ1bmN0aW9uKCBmbiApIHsKKwkJCQkJcmV0dXJuIHByb21pc2UudGhlbiggbnVsbCwgZm4gKTsKKwkJCQl9LAorCisJCQkJLy8gS2VlcCBwaXBlIGZvciBiYWNrLWNvbXBhdAorCQkJCXBpcGU6IGZ1bmN0aW9uKCAvKiBmbkRvbmUsIGZuRmFpbCwgZm5Qcm9ncmVzcyAqLyApIHsKKwkJCQkJdmFyIGZucyA9IGFyZ3VtZW50czsKKworCQkJCQlyZXR1cm4galF1ZXJ5LkRlZmVycmVkKCBmdW5jdGlvbiggbmV3RGVmZXIgKSB7CisJCQkJCQlqUXVlcnkuZWFjaCggdHVwbGVzLCBmdW5jdGlvbiggaSwgdHVwbGUgKSB7CisKKwkJCQkJCQkvLyBNYXAgdHVwbGVzIChwcm9ncmVzcywgZG9uZSwgZmFpbCkgdG8gYXJndW1lbnRzIChkb25lLCBmYWlsLCBwcm9ncmVzcykKKwkJCQkJCQl2YXIgZm4gPSBqUXVlcnkuaXNGdW5jdGlvbiggZm5zWyB0dXBsZVsgNCBdIF0gKSAmJiBmbnNbIHR1cGxlWyA0IF0gXTsKKworCQkJCQkJCS8vIGRlZmVycmVkLnByb2dyZXNzKGZ1bmN0aW9uKCkgeyBiaW5kIHRvIG5ld0RlZmVyIG9yIG5ld0RlZmVyLm5vdGlmeSB9KQorCQkJCQkJCS8vIGRlZmVycmVkLmRvbmUoZnVuY3Rpb24oKSB7IGJpbmQgdG8gbmV3RGVmZXIgb3IgbmV3RGVmZXIucmVzb2x2ZSB9KQorCQkJCQkJCS8vIGRlZmVycmVkLmZhaWwoZnVuY3Rpb24oKSB7IGJpbmQgdG8gbmV3RGVmZXIgb3IgbmV3RGVmZXIucmVqZWN0IH0pCisJCQkJCQkJZGVmZXJyZWRbIHR1cGxlWyAxIF0gXSggZnVuY3Rpb24oKSB7CisJCQkJCQkJCXZhciByZXR1cm5lZCA9IGZuICYmIGZuLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsKKwkJCQkJCQkJaWYgKCByZXR1cm5lZCAmJiBqUXVlcnkuaXNGdW5jdGlvbiggcmV0dXJuZWQucHJvbWlzZSApICkgeworCQkJCQkJCQkJcmV0dXJuZWQucHJvbWlzZSgpCisJCQkJCQkJCQkJLnByb2dyZXNzKCBuZXdEZWZlci5ub3RpZnkgKQorCQkJCQkJCQkJCS5kb25lKCBuZXdEZWZlci5yZXNvbHZlICkKKwkJCQkJCQkJCQkuZmFpbCggbmV3RGVmZXIucmVqZWN0ICk7CisJCQkJCQkJCX0gZWxzZSB7CisJCQkJCQkJCQluZXdEZWZlclsgdHVwbGVbIDAgXSArICJXaXRoIiBdKAorCQkJCQkJCQkJCXRoaXMsCisJCQkJCQkJCQkJZm4gPyBbIHJldHVybmVkIF0gOiBhcmd1bWVudHMKKwkJCQkJCQkJCSk7CisJCQkJCQkJCX0KKwkJCQkJCQl9ICk7CisJCQkJCQl9ICk7CisJCQkJCQlmbnMgPSBudWxsOworCQkJCQl9ICkucHJvbWlzZSgpOworCQkJCX0sCisJCQkJdGhlbjogZnVuY3Rpb24oIG9uRnVsZmlsbGVkLCBvblJlamVjdGVkLCBvblByb2dyZXNzICkgeworCQkJCQl2YXIgbWF4RGVwdGggPSAwOworCQkJCQlmdW5jdGlvbiByZXNvbHZlKCBkZXB0aCwgZGVmZXJyZWQsIGhhbmRsZXIsIHNwZWNpYWwgKSB7CisJCQkJCQlyZXR1cm4gZnVuY3Rpb24oKSB7CisJCQkJCQkJdmFyIHRoYXQgPSB0aGlzLAorCQkJCQkJCQlhcmdzID0gYXJndW1lbnRzLAorCQkJCQkJCQltaWdodFRocm93ID0gZnVuY3Rpb24oKSB7CisJCQkJCQkJCQl2YXIgcmV0dXJuZWQsIHRoZW47CisKKwkJCQkJCQkJCS8vIFN1cHBvcnQ6IFByb21pc2VzL0ErIHNlY3Rpb24gMi4zLjMuMy4zCisJCQkJCQkJCQkvLyBodHRwczovL3Byb21pc2VzYXBsdXMuY29tLyNwb2ludC01OQorCQkJCQkJCQkJLy8gSWdub3JlIGRvdWJsZS1yZXNvbHV0aW9uIGF0dGVtcHRzCisJCQkJCQkJCQlpZiAoIGRlcHRoIDwgbWF4RGVwdGggKSB7CisJCQkJCQkJCQkJcmV0dXJuOworCQkJCQkJCQkJfQorCisJCQkJCQkJCQlyZXR1cm5lZCA9IGhhbmRsZXIuYXBwbHkoIHRoYXQsIGFyZ3MgKTsKKworCQkJCQkJCQkJLy8gU3VwcG9ydDogUHJvbWlzZXMvQSsgc2VjdGlvbiAyLjMuMQorCQkJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNDgKKwkJCQkJCQkJCWlmICggcmV0dXJuZWQgPT09IGRlZmVycmVkLnByb21pc2UoKSApIHsKKwkJCQkJCQkJCQl0aHJvdyBuZXcgVHlwZUVycm9yKCAiVGhlbmFibGUgc2VsZi1yZXNvbHV0aW9uIiApOworCQkJCQkJCQkJfQorCisJCQkJCQkJCQkvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9ucyAyLjMuMy4xLCAzLjUKKwkJCQkJCQkJCS8vIGh0dHBzOi8vcHJvbWlzZXNhcGx1cy5jb20vI3BvaW50LTU0CisJCQkJCQkJCQkvLyBodHRwczovL3Byb21pc2VzYXBsdXMuY29tLyNwb2ludC03NQorCQkJCQkJCQkJLy8gUmV0cmlldmUgYHRoZW5gIG9ubHkgb25jZQorCQkJCQkJCQkJdGhlbiA9IHJldHVybmVkICYmCisKKwkJCQkJCQkJCQkvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9uIDIuMy40CisJCQkJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNjQKKwkJCQkJCQkJCQkvLyBPbmx5IGNoZWNrIG9iamVjdHMgYW5kIGZ1bmN0aW9ucyBmb3IgdGhlbmFiaWxpdHkKKwkJCQkJCQkJCQkoIHR5cGVvZiByZXR1cm5lZCA9PT0gIm9iamVjdCIgfHwKKwkJCQkJCQkJCQkJdHlwZW9mIHJldHVybmVkID09PSAiZnVuY3Rpb24iICkgJiYKKwkJCQkJCQkJCQlyZXR1cm5lZC50aGVuOworCisJCQkJCQkJCQkvLyBIYW5kbGUgYSByZXR1cm5lZCB0aGVuYWJsZQorCQkJCQkJCQkJaWYgKCBqUXVlcnkuaXNGdW5jdGlvbiggdGhlbiApICkgeworCisJCQkJCQkJCQkJLy8gU3BlY2lhbCBwcm9jZXNzb3JzIChub3RpZnkpIGp1c3Qgd2FpdCBmb3IgcmVzb2x1dGlvbgorCQkJCQkJCQkJCWlmICggc3BlY2lhbCApIHsKKwkJCQkJCQkJCQkJdGhlbi5jYWxsKAorCQkJCQkJCQkJCQkJcmV0dXJuZWQsCisJCQkJCQkJCQkJCQlyZXNvbHZlKCBtYXhEZXB0aCwgZGVmZXJyZWQsIElkZW50aXR5LCBzcGVjaWFsICksCisJCQkJCQkJCQkJCQlyZXNvbHZlKCBtYXhEZXB0aCwgZGVmZXJyZWQsIFRocm93ZXIsIHNwZWNpYWwgKQorCQkJCQkJCQkJCQkpOworCisJCQkJCQkJCQkJLy8gTm9ybWFsIHByb2Nlc3NvcnMgKHJlc29sdmUpIGFsc28gaG9vayBpbnRvIHByb2dyZXNzCisJCQkJCQkJCQkJfSBlbHNlIHsKKworCQkJCQkJCQkJCQkvLyAuLi5hbmQgZGlzcmVnYXJkIG9sZGVyIHJlc29sdXRpb24gdmFsdWVzCisJCQkJCQkJCQkJCW1heERlcHRoKys7CisKKwkJCQkJCQkJCQkJdGhlbi5jYWxsKAorCQkJCQkJCQkJCQkJcmV0dXJuZWQsCisJCQkJCQkJCQkJCQlyZXNvbHZlKCBtYXhEZXB0aCwgZGVmZXJyZWQsIElkZW50aXR5LCBzcGVjaWFsICksCisJCQkJCQkJCQkJCQlyZXNvbHZlKCBtYXhEZXB0aCwgZGVmZXJyZWQsIFRocm93ZXIsIHNwZWNpYWwgKSwKKwkJCQkJCQkJCQkJCXJlc29sdmUoIG1heERlcHRoLCBkZWZlcnJlZCwgSWRlbnRpdHksCisJCQkJCQkJCQkJCQkJZGVmZXJyZWQubm90aWZ5V2l0aCApCisJCQkJCQkJCQkJCSk7CisJCQkJCQkJCQkJfQorCisJCQkJCQkJCQkvLyBIYW5kbGUgYWxsIG90aGVyIHJldHVybmVkIHZhbHVlcworCQkJCQkJCQkJfSBlbHNlIHsKKworCQkJCQkJCQkJCS8vIE9ubHkgc3Vic3RpdHV0ZSBoYW5kbGVycyBwYXNzIG9uIGNvbnRleHQKKwkJCQkJCQkJCQkvLyBhbmQgbXVsdGlwbGUgdmFsdWVzIChub24tc3BlYyBiZWhhdmlvcikKKwkJCQkJCQkJCQlpZiAoIGhhbmRsZXIgIT09IElkZW50aXR5ICkgeworCQkJCQkJCQkJCQl0aGF0ID0gdW5kZWZpbmVkOworCQkJCQkJCQkJCQlhcmdzID0gWyByZXR1cm5lZCBdOworCQkJCQkJCQkJCX0KKworCQkJCQkJCQkJCS8vIFByb2Nlc3MgdGhlIHZhbHVlKHMpCisJCQkJCQkJCQkJLy8gRGVmYXVsdCBwcm9jZXNzIGlzIHJlc29sdmUKKwkJCQkJCQkJCQkoIHNwZWNpYWwgfHwgZGVmZXJyZWQucmVzb2x2ZVdpdGggKSggdGhhdCwgYXJncyApOworCQkJCQkJCQkJfQorCQkJCQkJCQl9LAorCisJCQkJCQkJCS8vIE9ubHkgbm9ybWFsIHByb2Nlc3NvcnMgKHJlc29sdmUpIGNhdGNoIGFuZCByZWplY3QgZXhjZXB0aW9ucworCQkJCQkJCQlwcm9jZXNzID0gc3BlY2lhbCA/CisJCQkJCQkJCQltaWdodFRocm93IDoKKwkJCQkJCQkJCWZ1bmN0aW9uKCkgeworCQkJCQkJCQkJCXRyeSB7CisJCQkJCQkJCQkJCW1pZ2h0VGhyb3coKTsKKwkJCQkJCQkJCQl9IGNhdGNoICggZSApIHsKKworCQkJCQkJCQkJCQlpZiAoIGpRdWVyeS5EZWZlcnJlZC5leGNlcHRpb25Ib29rICkgeworCQkJCQkJCQkJCQkJalF1ZXJ5LkRlZmVycmVkLmV4Y2VwdGlvbkhvb2soIGUsCisJCQkJCQkJCQkJCQkJcHJvY2Vzcy5zdGFja1RyYWNlICk7CisJCQkJCQkJCQkJCX0KKworCQkJCQkJCQkJCQkvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9uIDIuMy4zLjMuNC4xCisJCQkJCQkJCQkJCS8vIGh0dHBzOi8vcHJvbWlzZXNhcGx1cy5jb20vI3BvaW50LTYxCisJCQkJCQkJCQkJCS8vIElnbm9yZSBwb3N0LXJlc29sdXRpb24gZXhjZXB0aW9ucworCQkJCQkJCQkJCQlpZiAoIGRlcHRoICsgMSA+PSBtYXhEZXB0aCApIHsKKworCQkJCQkJCQkJCQkJLy8gT25seSBzdWJzdGl0dXRlIGhhbmRsZXJzIHBhc3Mgb24gY29udGV4dAorCQkJCQkJCQkJCQkJLy8gYW5kIG11bHRpcGxlIHZhbHVlcyAobm9uLXNwZWMgYmVoYXZpb3IpCisJCQkJCQkJCQkJCQlpZiAoIGhhbmRsZXIgIT09IFRocm93ZXIgKSB7CisJCQkJCQkJCQkJCQkJdGhhdCA9IHVuZGVmaW5lZDsKKwkJCQkJCQkJCQkJCQlhcmdzID0gWyBlIF07CisJCQkJCQkJCQkJCQl9CisKKwkJCQkJCQkJCQkJCWRlZmVycmVkLnJlamVjdFdpdGgoIHRoYXQsIGFyZ3MgKTsKKwkJCQkJCQkJCQkJfQorCQkJCQkJCQkJCX0KKwkJCQkJCQkJCX07CisKKwkJCQkJCQkvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9uIDIuMy4zLjMuMQorCQkJCQkJCS8vIGh0dHBzOi8vcHJvbWlzZXNhcGx1cy5jb20vI3BvaW50LTU3CisJCQkJCQkJLy8gUmUtcmVzb2x2ZSBwcm9taXNlcyBpbW1lZGlhdGVseSB0byBkb2RnZSBmYWxzZSByZWplY3Rpb24gZnJvbQorCQkJCQkJCS8vIHN1YnNlcXVlbnQgZXJyb3JzCisJCQkJCQkJaWYgKCBkZXB0aCApIHsKKwkJCQkJCQkJcHJvY2VzcygpOworCQkJCQkJCX0gZWxzZSB7CisKKwkJCQkJCQkJLy8gQ2FsbCBhbiBvcHRpb25hbCBob29rIHRvIHJlY29yZCB0aGUgc3RhY2ssIGluIGNhc2Ugb2YgZXhjZXB0aW9uCisJCQkJCQkJCS8vIHNpbmNlIGl0J3Mgb3RoZXJ3aXNlIGxvc3Qgd2hlbiBleGVjdXRpb24gZ29lcyBhc3luYworCQkJCQkJCQlpZiAoIGpRdWVyeS5EZWZlcnJlZC5nZXRTdGFja0hvb2sgKSB7CisJCQkJCQkJCQlwcm9jZXNzLnN0YWNrVHJhY2UgPSBqUXVlcnkuRGVmZXJyZWQuZ2V0U3RhY2tIb29rKCk7CisJCQkJCQkJCX0KKwkJCQkJCQkJd2luZG93LnNldFRpbWVvdXQoIHByb2Nlc3MgKTsKKwkJCQkJCQl9CisJCQkJCQl9OworCQkJCQl9CisKKwkJCQkJcmV0dXJuIGpRdWVyeS5EZWZlcnJlZCggZnVuY3Rpb24oIG5ld0RlZmVyICkgeworCisJCQkJCQkvLyBwcm9ncmVzc19oYW5kbGVycy5hZGQoIC4uLiApCisJCQkJCQl0dXBsZXNbIDAgXVsgMyBdLmFkZCgKKwkJCQkJCQlyZXNvbHZlKAorCQkJCQkJCQkwLAorCQkJCQkJCQluZXdEZWZlciwKKwkJCQkJCQkJalF1ZXJ5LmlzRnVuY3Rpb24oIG9uUHJvZ3Jlc3MgKSA/CisJCQkJCQkJCQlvblByb2dyZXNzIDoKKwkJCQkJCQkJCUlkZW50aXR5LAorCQkJCQkJCQluZXdEZWZlci5ub3RpZnlXaXRoCisJCQkJCQkJKQorCQkJCQkJKTsKKworCQkJCQkJLy8gZnVsZmlsbGVkX2hhbmRsZXJzLmFkZCggLi4uICkKKwkJCQkJCXR1cGxlc1sgMSBdWyAzIF0uYWRkKAorCQkJCQkJCXJlc29sdmUoCisJCQkJCQkJCTAsCisJCQkJCQkJCW5ld0RlZmVyLAorCQkJCQkJCQlqUXVlcnkuaXNGdW5jdGlvbiggb25GdWxmaWxsZWQgKSA/CisJCQkJCQkJCQlvbkZ1bGZpbGxlZCA6CisJCQkJCQkJCQlJZGVudGl0eQorCQkJCQkJCSkKKwkJCQkJCSk7CisKKwkJCQkJCS8vIHJlamVjdGVkX2hhbmRsZXJzLmFkZCggLi4uICkKKwkJCQkJCXR1cGxlc1sgMiBdWyAzIF0uYWRkKAorCQkJCQkJCXJlc29sdmUoCisJCQkJCQkJCTAsCisJCQkJCQkJCW5ld0RlZmVyLAorCQkJCQkJCQlqUXVlcnkuaXNGdW5jdGlvbiggb25SZWplY3RlZCApID8KKwkJCQkJCQkJCW9uUmVqZWN0ZWQgOgorCQkJCQkJCQkJVGhyb3dlcgorCQkJCQkJCSkKKwkJCQkJCSk7CisJCQkJCX0gKS5wcm9taXNlKCk7CisJCQkJfSwKKworCQkJCS8vIEdldCBhIHByb21pc2UgZm9yIHRoaXMgZGVmZXJyZWQKKwkJCQkvLyBJZiBvYmogaXMgcHJvdmlkZWQsIHRoZSBwcm9taXNlIGFzcGVjdCBpcyBhZGRlZCB0byB0aGUgb2JqZWN0CisJCQkJcHJvbWlzZTogZnVuY3Rpb24oIG9iaiApIHsKKwkJCQkJcmV0dXJuIG9iaiAhPSBudWxsID8galF1ZXJ5LmV4dGVuZCggb2JqLCBwcm9taXNlICkgOiBwcm9taXNlOworCQkJCX0KKwkJCX0sCisJCQlkZWZlcnJlZCA9IHt9OworCisJCS8vIEFkZCBsaXN0LXNwZWNpZmljIG1ldGhvZHMKKwkJalF1ZXJ5LmVhY2goIHR1cGxlcywgZnVuY3Rpb24oIGksIHR1cGxlICkgeworCQkJdmFyIGxpc3QgPSB0dXBsZVsgMiBdLAorCQkJCXN0YXRlU3RyaW5nID0gdHVwbGVbIDUgXTsKKworCQkJLy8gcHJvbWlzZS5wcm9ncmVzcyA9IGxpc3QuYWRkCisJCQkvLyBwcm9taXNlLmRvbmUgPSBsaXN0LmFkZAorCQkJLy8gcHJvbWlzZS5mYWlsID0gbGlzdC5hZGQKKwkJCXByb21pc2VbIHR1cGxlWyAxIF0gXSA9IGxpc3QuYWRkOworCisJCQkvLyBIYW5kbGUgc3RhdGUKKwkJCWlmICggc3RhdGVTdHJpbmcgKSB7CisJCQkJbGlzdC5hZGQoCisJCQkJCWZ1bmN0aW9uKCkgeworCisJCQkJCQkvLyBzdGF0ZSA9ICJyZXNvbHZlZCIgKGkuZS4sIGZ1bGZpbGxlZCkKKwkJCQkJCS8vIHN0YXRlID0gInJlamVjdGVkIgorCQkJCQkJc3RhdGUgPSBzdGF0ZVN0cmluZzsKKwkJCQkJfSwKKworCQkJCQkvLyByZWplY3RlZF9jYWxsYmFja3MuZGlzYWJsZQorCQkJCQkvLyBmdWxmaWxsZWRfY2FsbGJhY2tzLmRpc2FibGUKKwkJCQkJdHVwbGVzWyAzIC0gaSBdWyAyIF0uZGlzYWJsZSwKKworCQkJCQkvLyBwcm9ncmVzc19jYWxsYmFja3MubG9jaworCQkJCQl0dXBsZXNbIDAgXVsgMiBdLmxvY2sKKwkJCQkpOworCQkJfQorCisJCQkvLyBwcm9ncmVzc19oYW5kbGVycy5maXJlCisJCQkvLyBmdWxmaWxsZWRfaGFuZGxlcnMuZmlyZQorCQkJLy8gcmVqZWN0ZWRfaGFuZGxlcnMuZmlyZQorCQkJbGlzdC5hZGQoIHR1cGxlWyAzIF0uZmlyZSApOworCisJCQkvLyBkZWZlcnJlZC5ub3RpZnkgPSBmdW5jdGlvbigpIHsgZGVmZXJyZWQubm90aWZ5V2l0aCguLi4pIH0KKwkJCS8vIGRlZmVycmVkLnJlc29sdmUgPSBmdW5jdGlvbigpIHsgZGVmZXJyZWQucmVzb2x2ZVdpdGgoLi4uKSB9CisJCQkvLyBkZWZlcnJlZC5yZWplY3QgPSBmdW5jdGlvbigpIHsgZGVmZXJyZWQucmVqZWN0V2l0aCguLi4pIH0KKwkJCWRlZmVycmVkWyB0dXBsZVsgMCBdIF0gPSBmdW5jdGlvbigpIHsKKwkJCQlkZWZlcnJlZFsgdHVwbGVbIDAgXSArICJXaXRoIiBdKCB0aGlzID09PSBkZWZlcnJlZCA/IHVuZGVmaW5lZCA6IHRoaXMsIGFyZ3VtZW50cyApOworCQkJCXJldHVybiB0aGlzOworCQkJfTsKKworCQkJLy8gZGVmZXJyZWQubm90aWZ5V2l0aCA9IGxpc3QuZmlyZVdpdGgKKwkJCS8vIGRlZmVycmVkLnJlc29sdmVXaXRoID0gbGlzdC5maXJlV2l0aAorCQkJLy8gZGVmZXJyZWQucmVqZWN0V2l0aCA9IGxpc3QuZmlyZVdpdGgKKwkJCWRlZmVycmVkWyB0dXBsZVsgMCBdICsgIldpdGgiIF0gPSBsaXN0LmZpcmVXaXRoOworCQl9ICk7CisKKwkJLy8gTWFrZSB0aGUgZGVmZXJyZWQgYSBwcm9taXNlCisJCXByb21pc2UucHJvbWlzZSggZGVmZXJyZWQgKTsKKworCQkvLyBDYWxsIGdpdmVuIGZ1bmMgaWYgYW55CisJCWlmICggZnVuYyApIHsKKwkJCWZ1bmMuY2FsbCggZGVmZXJyZWQsIGRlZmVycmVkICk7CisJCX0KKworCQkvLyBBbGwgZG9uZSEKKwkJcmV0dXJuIGRlZmVycmVkOworCX0sCisKKwkvLyBEZWZlcnJlZCBoZWxwZXIKKwl3aGVuOiBmdW5jdGlvbiggc2luZ2xlVmFsdWUgKSB7CisJCXZhcgorCisJCQkvLyBjb3VudCBvZiB1bmNvbXBsZXRlZCBzdWJvcmRpbmF0ZXMKKwkJCXJlbWFpbmluZyA9IGFyZ3VtZW50cy5sZW5ndGgsCisKKwkJCS8vIGNvdW50IG9mIHVucHJvY2Vzc2VkIGFyZ3VtZW50cworCQkJaSA9IHJlbWFpbmluZywKKworCQkJLy8gc3Vib3JkaW5hdGUgZnVsZmlsbG1lbnQgZGF0YQorCQkJcmVzb2x2ZUNvbnRleHRzID0gQXJyYXkoIGkgKSwKKwkJCXJlc29sdmVWYWx1ZXMgPSBzbGljZS5jYWxsKCBhcmd1bWVudHMgKSwKKworCQkJLy8gdGhlIG1hc3RlciBEZWZlcnJlZAorCQkJbWFzdGVyID0galF1ZXJ5LkRlZmVycmVkKCksCisKKwkJCS8vIHN1Ym9yZGluYXRlIGNhbGxiYWNrIGZhY3RvcnkKKwkJCXVwZGF0ZUZ1bmMgPSBmdW5jdGlvbiggaSApIHsKKwkJCQlyZXR1cm4gZnVuY3Rpb24oIHZhbHVlICkgeworCQkJCQlyZXNvbHZlQ29udGV4dHNbIGkgXSA9IHRoaXM7CisJCQkJCXJlc29sdmVWYWx1ZXNbIGkgXSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxID8gc2xpY2UuY2FsbCggYXJndW1lbnRzICkgOiB2YWx1ZTsKKwkJCQkJaWYgKCAhKCAtLXJlbWFpbmluZyApICkgeworCQkJCQkJbWFzdGVyLnJlc29sdmVXaXRoKCByZXNvbHZlQ29udGV4dHMsIHJlc29sdmVWYWx1ZXMgKTsKKwkJCQkJfQorCQkJCX07CisJCQl9OworCisJCS8vIFNpbmdsZS0gYW5kIGVtcHR5IGFyZ3VtZW50cyBhcmUgYWRvcHRlZCBsaWtlIFByb21pc2UucmVzb2x2ZQorCQlpZiAoIHJlbWFpbmluZyA8PSAxICkgeworCQkJYWRvcHRWYWx1ZSggc2luZ2xlVmFsdWUsIG1hc3Rlci5kb25lKCB1cGRhdGVGdW5jKCBpICkgKS5yZXNvbHZlLCBtYXN0ZXIucmVqZWN0LAorCQkJCSFyZW1haW5pbmcgKTsKKworCQkJLy8gVXNlIC50aGVuKCkgdG8gdW53cmFwIHNlY29uZGFyeSB0aGVuYWJsZXMgKGNmLiBnaC0zMDAwKQorCQkJaWYgKCBtYXN0ZXIuc3RhdGUoKSA9PT0gInBlbmRpbmciIHx8CisJCQkJalF1ZXJ5LmlzRnVuY3Rpb24oIHJlc29sdmVWYWx1ZXNbIGkgXSAmJiByZXNvbHZlVmFsdWVzWyBpIF0udGhlbiApICkgeworCisJCQkJcmV0dXJuIG1hc3Rlci50aGVuKCk7CisJCQl9CisJCX0KKworCQkvLyBNdWx0aXBsZSBhcmd1bWVudHMgYXJlIGFnZ3JlZ2F0ZWQgbGlrZSBQcm9taXNlLmFsbCBhcnJheSBlbGVtZW50cworCQl3aGlsZSAoIGktLSApIHsKKwkJCWFkb3B0VmFsdWUoIHJlc29sdmVWYWx1ZXNbIGkgXSwgdXBkYXRlRnVuYyggaSApLCBtYXN0ZXIucmVqZWN0ICk7CisJCX0KKworCQlyZXR1cm4gbWFzdGVyLnByb21pc2UoKTsKKwl9Cit9ICk7CisKKworLy8gVGhlc2UgdXN1YWxseSBpbmRpY2F0ZSBhIHByb2dyYW1tZXIgbWlzdGFrZSBkdXJpbmcgZGV2ZWxvcG1lbnQsCisvLyB3YXJuIGFib3V0IHRoZW0gQVNBUCByYXRoZXIgdGhhbiBzd2FsbG93aW5nIHRoZW0gYnkgZGVmYXVsdC4KK3ZhciByZXJyb3JOYW1lcyA9IC9eKEV2YWx8SW50ZXJuYWx8UmFuZ2V8UmVmZXJlbmNlfFN5bnRheHxUeXBlfFVSSSlFcnJvciQvOworCitqUXVlcnkuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayA9IGZ1bmN0aW9uKCBlcnJvciwgc3RhY2sgKSB7CisKKwkvLyBTdXBwb3J0OiBJRSA4IC0gOSBvbmx5CisJLy8gQ29uc29sZSBleGlzdHMgd2hlbiBkZXYgdG9vbHMgYXJlIG9wZW4sIHdoaWNoIGNhbiBoYXBwZW4gYXQgYW55IHRpbWUKKwlpZiAoIHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLndhcm4gJiYgZXJyb3IgJiYgcmVycm9yTmFtZXMudGVzdCggZXJyb3IubmFtZSApICkgeworCQl3aW5kb3cuY29uc29sZS53YXJuKCAialF1ZXJ5LkRlZmVycmVkIGV4Y2VwdGlvbjogIiArIGVycm9yLm1lc3NhZ2UsIGVycm9yLnN0YWNrLCBzdGFjayApOworCX0KK307CisKKworCisKK2pRdWVyeS5yZWFkeUV4Y2VwdGlvbiA9IGZ1bmN0aW9uKCBlcnJvciApIHsKKwl3aW5kb3cuc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CisJCXRocm93IGVycm9yOworCX0gKTsKK307CisKKworCisKKy8vIFRoZSBkZWZlcnJlZCB1c2VkIG9uIERPTSByZWFkeQordmFyIHJlYWR5TGlzdCA9IGpRdWVyeS5EZWZlcnJlZCgpOworCitqUXVlcnkuZm4ucmVhZHkgPSBmdW5jdGlvbiggZm4gKSB7CisKKwlyZWFkeUxpc3QKKwkJLnRoZW4oIGZuICkKKworCQkvLyBXcmFwIGpRdWVyeS5yZWFkeUV4Y2VwdGlvbiBpbiBhIGZ1bmN0aW9uIHNvIHRoYXQgdGhlIGxvb2t1cAorCQkvLyBoYXBwZW5zIGF0IHRoZSB0aW1lIG9mIGVycm9yIGhhbmRsaW5nIGluc3RlYWQgb2YgY2FsbGJhY2sKKwkJLy8gcmVnaXN0cmF0aW9uLgorCQkuY2F0Y2goIGZ1bmN0aW9uKCBlcnJvciApIHsKKwkJCWpRdWVyeS5yZWFkeUV4Y2VwdGlvbiggZXJyb3IgKTsKKwkJfSApOworCisJcmV0dXJuIHRoaXM7Cit9OworCitqUXVlcnkuZXh0ZW5kKCB7CisKKwkvLyBJcyB0aGUgRE9NIHJlYWR5IHRvIGJlIHVzZWQ/IFNldCB0byB0cnVlIG9uY2UgaXQgb2NjdXJzLgorCWlzUmVhZHk6IGZhbHNlLAorCisJLy8gQSBjb3VudGVyIHRvIHRyYWNrIGhvdyBtYW55IGl0ZW1zIHRvIHdhaXQgZm9yIGJlZm9yZQorCS8vIHRoZSByZWFkeSBldmVudCBmaXJlcy4gU2VlICM2NzgxCisJcmVhZHlXYWl0OiAxLAorCisJLy8gSGFuZGxlIHdoZW4gdGhlIERPTSBpcyByZWFkeQorCXJlYWR5OiBmdW5jdGlvbiggd2FpdCApIHsKKworCQkvLyBBYm9ydCBpZiB0aGVyZSBhcmUgcGVuZGluZyBob2xkcyBvciB3ZSdyZSBhbHJlYWR5IHJlYWR5CisJCWlmICggd2FpdCA9PT0gdHJ1ZSA/IC0talF1ZXJ5LnJlYWR5V2FpdCA6IGpRdWVyeS5pc1JlYWR5ICkgeworCQkJcmV0dXJuOworCQl9CisKKwkJLy8gUmVtZW1iZXIgdGhhdCB0aGUgRE9NIGlzIHJlYWR5CisJCWpRdWVyeS5pc1JlYWR5ID0gdHJ1ZTsKKworCQkvLyBJZiBhIG5vcm1hbCBET00gUmVhZHkgZXZlbnQgZmlyZWQsIGRlY3JlbWVudCwgYW5kIHdhaXQgaWYgbmVlZCBiZQorCQlpZiAoIHdhaXQgIT09IHRydWUgJiYgLS1qUXVlcnkucmVhZHlXYWl0ID4gMCApIHsKKwkJCXJldHVybjsKKwkJfQorCisJCS8vIElmIHRoZXJlIGFyZSBmdW5jdGlvbnMgYm91bmQsIHRvIGV4ZWN1dGUKKwkJcmVhZHlMaXN0LnJlc29sdmVXaXRoKCBkb2N1bWVudCwgWyBqUXVlcnkgXSApOworCX0KK30gKTsKKworalF1ZXJ5LnJlYWR5LnRoZW4gPSByZWFkeUxpc3QudGhlbjsKKworLy8gVGhlIHJlYWR5IGV2ZW50IGhhbmRsZXIgYW5kIHNlbGYgY2xlYW51cCBtZXRob2QKK2Z1bmN0aW9uIGNvbXBsZXRlZCgpIHsKKwlkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCAiRE9NQ29udGVudExvYWRlZCIsIGNvbXBsZXRlZCApOworCXdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCAibG9hZCIsIGNvbXBsZXRlZCApOworCWpRdWVyeS5yZWFkeSgpOworfQorCisvLyBDYXRjaCBjYXNlcyB3aGVyZSAkKGRvY3VtZW50KS5yZWFkeSgpIGlzIGNhbGxlZAorLy8gYWZ0ZXIgdGhlIGJyb3dzZXIgZXZlbnQgaGFzIGFscmVhZHkgb2NjdXJyZWQuCisvLyBTdXBwb3J0OiBJRSA8PTkgLSAxMCBvbmx5CisvLyBPbGRlciBJRSBzb21ldGltZXMgc2lnbmFscyAiaW50ZXJhY3RpdmUiIHRvbyBzb29uCitpZiAoIGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICJjb21wbGV0ZSIgfHwKKwkoIGRvY3VtZW50LnJlYWR5U3RhdGUgIT09ICJsb2FkaW5nIiAmJiAhZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsICkgKSB7CisKKwkvLyBIYW5kbGUgaXQgYXN5bmNocm9ub3VzbHkgdG8gYWxsb3cgc2NyaXB0cyB0aGUgb3Bwb3J0dW5pdHkgdG8gZGVsYXkgcmVhZHkKKwl3aW5kb3cuc2V0VGltZW91dCggalF1ZXJ5LnJlYWR5ICk7CisKK30gZWxzZSB7CisKKwkvLyBVc2UgdGhlIGhhbmR5IGV2ZW50IGNhbGxiYWNrCisJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciggIkRPTUNvbnRlbnRMb2FkZWQiLCBjb21wbGV0ZWQgKTsKKworCS8vIEEgZmFsbGJhY2sgdG8gd2luZG93Lm9ubG9hZCwgdGhhdCB3aWxsIGFsd2F5cyB3b3JrCisJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoICJsb2FkIiwgY29tcGxldGVkICk7Cit9CisKKworCisKKy8vIE11bHRpZnVuY3Rpb25hbCBtZXRob2QgdG8gZ2V0IGFuZCBzZXQgdmFsdWVzIG9mIGEgY29sbGVjdGlvbgorLy8gVGhlIHZhbHVlL3MgY2FuIG9wdGlvbmFsbHkgYmUgZXhlY3V0ZWQgaWYgaXQncyBhIGZ1bmN0aW9uCit2YXIgYWNjZXNzID0gZnVuY3Rpb24oIGVsZW1zLCBmbiwga2V5LCB2YWx1ZSwgY2hhaW5hYmxlLCBlbXB0eUdldCwgcmF3ICkgeworCXZhciBpID0gMCwKKwkJbGVuID0gZWxlbXMubGVuZ3RoLAorCQlidWxrID0ga2V5ID09IG51bGw7CisKKwkvLyBTZXRzIG1hbnkgdmFsdWVzCisJaWYgKCBqUXVlcnkudHlwZSgga2V5ICkgPT09ICJvYmplY3QiICkgeworCQljaGFpbmFibGUgPSB0cnVlOworCQlmb3IgKCBpIGluIGtleSApIHsKKwkJCWFjY2VzcyggZWxlbXMsIGZuLCBpLCBrZXlbIGkgXSwgdHJ1ZSwgZW1wdHlHZXQsIHJhdyApOworCQl9CisKKwkvLyBTZXRzIG9uZSB2YWx1ZQorCX0gZWxzZSBpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgKSB7CisJCWNoYWluYWJsZSA9IHRydWU7CisKKwkJaWYgKCAhalF1ZXJ5LmlzRnVuY3Rpb24oIHZhbHVlICkgKSB7CisJCQlyYXcgPSB0cnVlOworCQl9CisKKwkJaWYgKCBidWxrICkgeworCisJCQkvLyBCdWxrIG9wZXJhdGlvbnMgcnVuIGFnYWluc3QgdGhlIGVudGlyZSBzZXQKKwkJCWlmICggcmF3ICkgeworCQkJCWZuLmNhbGwoIGVsZW1zLCB2YWx1ZSApOworCQkJCWZuID0gbnVsbDsKKworCQkJLy8gLi4uZXhjZXB0IHdoZW4gZXhlY3V0aW5nIGZ1bmN0aW9uIHZhbHVlcworCQkJfSBlbHNlIHsKKwkJCQlidWxrID0gZm47CisJCQkJZm4gPSBmdW5jdGlvbiggZWxlbSwga2V5LCB2YWx1ZSApIHsKKwkJCQkJcmV0dXJuIGJ1bGsuY2FsbCggalF1ZXJ5KCBlbGVtICksIHZhbHVlICk7CisJCQkJfTsKKwkJCX0KKwkJfQorCisJCWlmICggZm4gKSB7CisJCQlmb3IgKCA7IGkgPCBsZW47IGkrKyApIHsKKwkJCQlmbigKKwkJCQkJZWxlbXNbIGkgXSwga2V5LCByYXcgPworCQkJCQl2YWx1ZSA6CisJCQkJCXZhbHVlLmNhbGwoIGVsZW1zWyBpIF0sIGksIGZuKCBlbGVtc1sgaSBdLCBrZXkgKSApCisJCQkJKTsKKwkJCX0KKwkJfQorCX0KKworCWlmICggY2hhaW5hYmxlICkgeworCQlyZXR1cm4gZWxlbXM7CisJfQorCisJLy8gR2V0cworCWlmICggYnVsayApIHsKKwkJcmV0dXJuIGZuLmNhbGwoIGVsZW1zICk7CisJfQorCisJcmV0dXJuIGxlbiA/IGZuKCBlbGVtc1sgMCBdLCBrZXkgKSA6IGVtcHR5R2V0OworfTsKK3ZhciBhY2NlcHREYXRhID0gZnVuY3Rpb24oIG93bmVyICkgeworCisJLy8gQWNjZXB0cyBvbmx5OgorCS8vICAtIE5vZGUKKwkvLyAgICAtIE5vZGUuRUxFTUVOVF9OT0RFCisJLy8gICAgLSBOb2RlLkRPQ1VNRU5UX05PREUKKwkvLyAgLSBPYmplY3QKKwkvLyAgICAtIEFueQorCXJldHVybiBvd25lci5ub2RlVHlwZSA9PT0gMSB8fCBvd25lci5ub2RlVHlwZSA9PT0gOSB8fCAhKCArb3duZXIubm9kZVR5cGUgKTsKK307CisKKworCisKK2Z1bmN0aW9uIERhdGEoKSB7CisJdGhpcy5leHBhbmRvID0galF1ZXJ5LmV4cGFuZG8gKyBEYXRhLnVpZCsrOworfQorCitEYXRhLnVpZCA9IDE7CisKK0RhdGEucHJvdG90eXBlID0geworCisJY2FjaGU6IGZ1bmN0aW9uKCBvd25lciApIHsKKworCQkvLyBDaGVjayBpZiB0aGUgb3duZXIgb2JqZWN0IGFscmVhZHkgaGFzIGEgY2FjaGUKKwkJdmFyIHZhbHVlID0gb3duZXJbIHRoaXMuZXhwYW5kbyBdOworCisJCS8vIElmIG5vdCwgY3JlYXRlIG9uZQorCQlpZiAoICF2YWx1ZSApIHsKKwkJCXZhbHVlID0ge307CisKKwkJCS8vIFdlIGNhbiBhY2NlcHQgZGF0YSBmb3Igbm9uLWVsZW1lbnQgbm9kZXMgaW4gbW9kZXJuIGJyb3dzZXJzLAorCQkJLy8gYnV0IHdlIHNob3VsZCBub3QsIHNlZSAjODMzNS4KKwkJCS8vIEFsd2F5cyByZXR1cm4gYW4gZW1wdHkgb2JqZWN0LgorCQkJaWYgKCBhY2NlcHREYXRhKCBvd25lciApICkgeworCisJCQkJLy8gSWYgaXQgaXMgYSBub2RlIHVubGlrZWx5IHRvIGJlIHN0cmluZ2lmeS1lZCBvciBsb29wZWQgb3ZlcgorCQkJCS8vIHVzZSBwbGFpbiBhc3NpZ25tZW50CisJCQkJaWYgKCBvd25lci5ub2RlVHlwZSApIHsKKwkJCQkJb3duZXJbIHRoaXMuZXhwYW5kbyBdID0gdmFsdWU7CisKKwkJCQkvLyBPdGhlcndpc2Ugc2VjdXJlIGl0IGluIGEgbm9uLWVudW1lcmFibGUgcHJvcGVydHkKKwkJCQkvLyBjb25maWd1cmFibGUgbXVzdCBiZSB0cnVlIHRvIGFsbG93IHRoZSBwcm9wZXJ0eSB0byBiZQorCQkJCS8vIGRlbGV0ZWQgd2hlbiBkYXRhIGlzIHJlbW92ZWQKKwkJCQl9IGVsc2UgeworCQkJCQlPYmplY3QuZGVmaW5lUHJvcGVydHkoIG93bmVyLCB0aGlzLmV4cGFuZG8sIHsKKwkJCQkJCXZhbHVlOiB2YWx1ZSwKKwkJCQkJCWNvbmZpZ3VyYWJsZTogdHJ1ZQorCQkJCQl9ICk7CisJCQkJfQorCQkJfQorCQl9CisKKwkJcmV0dXJuIHZhbHVlOworCX0sCisJc2V0OiBmdW5jdGlvbiggb3duZXIsIGRhdGEsIHZhbHVlICkgeworCQl2YXIgcHJvcCwKKwkJCWNhY2hlID0gdGhpcy5jYWNoZSggb3duZXIgKTsKKworCQkvLyBIYW5kbGU6IFsgb3duZXIsIGtleSwgdmFsdWUgXSBhcmdzCisJCS8vIEFsd2F5cyB1c2UgY2FtZWxDYXNlIGtleSAoZ2gtMjI1NykKKwkJaWYgKCB0eXBlb2YgZGF0YSA9PT0gInN0cmluZyIgKSB7CisJCQljYWNoZVsgalF1ZXJ5LmNhbWVsQ2FzZSggZGF0YSApIF0gPSB2YWx1ZTsKKworCQkvLyBIYW5kbGU6IFsgb3duZXIsIHsgcHJvcGVydGllcyB9IF0gYXJncworCQl9IGVsc2UgeworCisJCQkvLyBDb3B5IHRoZSBwcm9wZXJ0aWVzIG9uZS1ieS1vbmUgdG8gdGhlIGNhY2hlIG9iamVjdAorCQkJZm9yICggcHJvcCBpbiBkYXRhICkgeworCQkJCWNhY2hlWyBqUXVlcnkuY2FtZWxDYXNlKCBwcm9wICkgXSA9IGRhdGFbIHByb3AgXTsKKwkJCX0KKwkJfQorCQlyZXR1cm4gY2FjaGU7CisJfSwKKwlnZXQ6IGZ1bmN0aW9uKCBvd25lciwga2V5ICkgeworCQlyZXR1cm4ga2V5ID09PSB1bmRlZmluZWQgPworCQkJdGhpcy5jYWNoZSggb3duZXIgKSA6CisKKwkJCS8vIEFsd2F5cyB1c2UgY2FtZWxDYXNlIGtleSAoZ2gtMjI1NykKKwkJCW93bmVyWyB0aGlzLmV4cGFuZG8gXSAmJiBvd25lclsgdGhpcy5leHBhbmRvIF1bIGpRdWVyeS5jYW1lbENhc2UoIGtleSApIF07CisJfSwKKwlhY2Nlc3M6IGZ1bmN0aW9uKCBvd25lciwga2V5LCB2YWx1ZSApIHsKKworCQkvLyBJbiBjYXNlcyB3aGVyZSBlaXRoZXI6CisJCS8vCisJCS8vICAgMS4gTm8ga2V5IHdhcyBzcGVjaWZpZWQKKwkJLy8gICAyLiBBIHN0cmluZyBrZXkgd2FzIHNwZWNpZmllZCwgYnV0IG5vIHZhbHVlIHByb3ZpZGVkCisJCS8vCisJCS8vIFRha2UgdGhlICJyZWFkIiBwYXRoIGFuZCBhbGxvdyB0aGUgZ2V0IG1ldGhvZCB0byBkZXRlcm1pbmUKKwkJLy8gd2hpY2ggdmFsdWUgdG8gcmV0dXJuLCByZXNwZWN0aXZlbHkgZWl0aGVyOgorCQkvLworCQkvLyAgIDEuIFRoZSBlbnRpcmUgY2FjaGUgb2JqZWN0CisJCS8vICAgMi4gVGhlIGRhdGEgc3RvcmVkIGF0IHRoZSBrZXkKKwkJLy8KKwkJaWYgKCBrZXkgPT09IHVuZGVmaW5lZCB8fAorCQkJCSggKCBrZXkgJiYgdHlwZW9mIGtleSA9PT0gInN0cmluZyIgKSAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkICkgKSB7CisKKwkJCXJldHVybiB0aGlzLmdldCggb3duZXIsIGtleSApOworCQl9CisKKwkJLy8gV2hlbiB0aGUga2V5IGlzIG5vdCBhIHN0cmluZywgb3IgYm90aCBhIGtleSBhbmQgdmFsdWUKKwkJLy8gYXJlIHNwZWNpZmllZCwgc2V0IG9yIGV4dGVuZCAoZXhpc3Rpbmcgb2JqZWN0cykgd2l0aCBlaXRoZXI6CisJCS8vCisJCS8vICAgMS4gQW4gb2JqZWN0IG9mIHByb3BlcnRpZXMKKwkJLy8gICAyLiBBIGtleSBhbmQgdmFsdWUKKwkJLy8KKwkJdGhpcy5zZXQoIG93bmVyLCBrZXksIHZhbHVlICk7CisKKwkJLy8gU2luY2UgdGhlICJzZXQiIHBhdGggY2FuIGhhdmUgdHdvIHBvc3NpYmxlIGVudHJ5IHBvaW50cworCQkvLyByZXR1cm4gdGhlIGV4cGVjdGVkIGRhdGEgYmFzZWQgb24gd2hpY2ggcGF0aCB3YXMgdGFrZW5bKl0KKwkJcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IGtleTsKKwl9LAorCXJlbW92ZTogZnVuY3Rpb24oIG93bmVyLCBrZXkgKSB7CisJCXZhciBpLAorCQkJY2FjaGUgPSBvd25lclsgdGhpcy5leHBhbmRvIF07CisKKwkJaWYgKCBjYWNoZSA9PT0gdW5kZWZpbmVkICkgeworCQkJcmV0dXJuOworCQl9CisKKwkJaWYgKCBrZXkgIT09IHVuZGVmaW5lZCApIHsKKworCQkJLy8gU3VwcG9ydCBhcnJheSBvciBzcGFjZSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGtleXMKKwkJCWlmICggQXJyYXkuaXNBcnJheSgga2V5ICkgKSB7CisKKwkJCQkvLyBJZiBrZXkgaXMgYW4gYXJyYXkgb2Yga2V5cy4uLgorCQkJCS8vIFdlIGFsd2F5cyBzZXQgY2FtZWxDYXNlIGtleXMsIHNvIHJlbW92ZSB0aGF0LgorCQkJCWtleSA9IGtleS5tYXAoIGpRdWVyeS5jYW1lbENhc2UgKTsKKwkJCX0gZWxzZSB7CisJCQkJa2V5ID0galF1ZXJ5LmNhbWVsQ2FzZSgga2V5ICk7CisKKwkJCQkvLyBJZiBhIGtleSB3aXRoIHRoZSBzcGFjZXMgZXhpc3RzLCB1c2UgaXQuCisJCQkJLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYW4gYXJyYXkgYnkgbWF0Y2hpbmcgbm9uLXdoaXRlc3BhY2UKKwkJCQlrZXkgPSBrZXkgaW4gY2FjaGUgPworCQkJCQlbIGtleSBdIDoKKwkJCQkJKCBrZXkubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbXSApOworCQkJfQorCisJCQlpID0ga2V5Lmxlbmd0aDsKKworCQkJd2hpbGUgKCBpLS0gKSB7CisJCQkJZGVsZXRlIGNhY2hlWyBrZXlbIGkgXSBdOworCQkJfQorCQl9CisKKwkJLy8gUmVtb3ZlIHRoZSBleHBhbmRvIGlmIHRoZXJlJ3Mgbm8gbW9yZSBkYXRhCisJCWlmICgga2V5ID09PSB1bmRlZmluZWQgfHwgalF1ZXJ5LmlzRW1wdHlPYmplY3QoIGNhY2hlICkgKSB7CisKKwkJCS8vIFN1cHBvcnQ6IENocm9tZSA8PTM1IC0gNDUKKwkJCS8vIFdlYmtpdCAmIEJsaW5rIHBlcmZvcm1hbmNlIHN1ZmZlcnMgd2hlbiBkZWxldGluZyBwcm9wZXJ0aWVzCisJCQkvLyBmcm9tIERPTSBub2Rlcywgc28gc2V0IHRvIHVuZGVmaW5lZCBpbnN0ZWFkCisJCQkvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0zNzg2MDcgKGJ1ZyByZXN0cmljdGVkKQorCQkJaWYgKCBvd25lci5ub2RlVHlwZSApIHsKKwkJCQlvd25lclsgdGhpcy5leHBhbmRvIF0gPSB1bmRlZmluZWQ7CisJCQl9IGVsc2UgeworCQkJCWRlbGV0ZSBvd25lclsgdGhpcy5leHBhbmRvIF07CisJCQl9CisJCX0KKwl9LAorCWhhc0RhdGE6IGZ1bmN0aW9uKCBvd25lciApIHsKKwkJdmFyIGNhY2hlID0gb3duZXJbIHRoaXMuZXhwYW5kbyBdOworCQlyZXR1cm4gY2FjaGUgIT09IHVuZGVmaW5lZCAmJiAhalF1ZXJ5LmlzRW1wdHlPYmplY3QoIGNhY2hlICk7CisJfQorfTsKK3ZhciBkYXRhUHJpdiA9IG5ldyBEYXRhKCk7CisKK3ZhciBkYXRhVXNlciA9IG5ldyBEYXRhKCk7CisKKworCisvLwlJbXBsZW1lbnRhdGlvbiBTdW1tYXJ5CisvLworLy8JMS4gRW5mb3JjZSBBUEkgc3VyZmFjZSBhbmQgc2VtYW50aWMgY29tcGF0aWJpbGl0eSB3aXRoIDEuOS54IGJyYW5jaAorLy8JMi4gSW1wcm92ZSB0aGUgbW9kdWxlJ3MgbWFpbnRhaW5hYmlsaXR5IGJ5IHJlZHVjaW5nIHRoZSBzdG9yYWdlCisvLwkJcGF0aHMgdG8gYSBzaW5nbGUgbWVjaGFuaXNtLgorLy8JMy4gVXNlIHRoZSBzYW1lIHNpbmdsZSBtZWNoYW5pc20gdG8gc3VwcG9ydCAicHJpdmF0ZSIgYW5kICJ1c2VyIiBkYXRhLgorLy8JNC4gX05ldmVyXyBleHBvc2UgInByaXZhdGUiIGRhdGEgdG8gdXNlciBjb2RlIChUT0RPOiBEcm9wIF9kYXRhLCBfcmVtb3ZlRGF0YSkKKy8vCTUuIEF2b2lkIGV4cG9zaW5nIGltcGxlbWVudGF0aW9uIGRldGFpbHMgb24gdXNlciBvYmplY3RzIChlZy4gZXhwYW5kbyBwcm9wZXJ0aWVzKQorLy8JNi4gUHJvdmlkZSBhIGNsZWFyIHBhdGggZm9yIGltcGxlbWVudGF0aW9uIHVwZ3JhZGUgdG8gV2Vha01hcCBpbiAyMDE0CisKK3ZhciByYnJhY2UgPSAvXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLAorCXJtdWx0aURhc2ggPSAvW0EtWl0vZzsKKworZnVuY3Rpb24gZ2V0RGF0YSggZGF0YSApIHsKKwlpZiAoIGRhdGEgPT09ICJ0cnVlIiApIHsKKwkJcmV0dXJuIHRydWU7CisJfQorCisJaWYgKCBkYXRhID09PSAiZmFsc2UiICkgeworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJaWYgKCBkYXRhID09PSAibnVsbCIgKSB7CisJCXJldHVybiBudWxsOworCX0KKworCS8vIE9ubHkgY29udmVydCB0byBhIG51bWJlciBpZiBpdCBkb2Vzbid0IGNoYW5nZSB0aGUgc3RyaW5nCisJaWYgKCBkYXRhID09PSArZGF0YSArICIiICkgeworCQlyZXR1cm4gK2RhdGE7CisJfQorCisJaWYgKCByYnJhY2UudGVzdCggZGF0YSApICkgeworCQlyZXR1cm4gSlNPTi5wYXJzZSggZGF0YSApOworCX0KKworCXJldHVybiBkYXRhOworfQorCitmdW5jdGlvbiBkYXRhQXR0ciggZWxlbSwga2V5LCBkYXRhICkgeworCXZhciBuYW1lOworCisJLy8gSWYgbm90aGluZyB3YXMgZm91bmQgaW50ZXJuYWxseSwgdHJ5IHRvIGZldGNoIGFueQorCS8vIGRhdGEgZnJvbSB0aGUgSFRNTDUgZGF0YS0qIGF0dHJpYnV0ZQorCWlmICggZGF0YSA9PT0gdW5kZWZpbmVkICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7CisJCW5hbWUgPSAiZGF0YS0iICsga2V5LnJlcGxhY2UoIHJtdWx0aURhc2gsICItJCYiICkudG9Mb3dlckNhc2UoKTsKKwkJZGF0YSA9IGVsZW0uZ2V0QXR0cmlidXRlKCBuYW1lICk7CisKKwkJaWYgKCB0eXBlb2YgZGF0YSA9PT0gInN0cmluZyIgKSB7CisJCQl0cnkgeworCQkJCWRhdGEgPSBnZXREYXRhKCBkYXRhICk7CisJCQl9IGNhdGNoICggZSApIHt9CisKKwkJCS8vIE1ha2Ugc3VyZSB3ZSBzZXQgdGhlIGRhdGEgc28gaXQgaXNuJ3QgY2hhbmdlZCBsYXRlcgorCQkJZGF0YVVzZXIuc2V0KCBlbGVtLCBrZXksIGRhdGEgKTsKKwkJfSBlbHNlIHsKKwkJCWRhdGEgPSB1bmRlZmluZWQ7CisJCX0KKwl9CisJcmV0dXJuIGRhdGE7Cit9CisKK2pRdWVyeS5leHRlbmQoIHsKKwloYXNEYXRhOiBmdW5jdGlvbiggZWxlbSApIHsKKwkJcmV0dXJuIGRhdGFVc2VyLmhhc0RhdGEoIGVsZW0gKSB8fCBkYXRhUHJpdi5oYXNEYXRhKCBlbGVtICk7CisJfSwKKworCWRhdGE6IGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBkYXRhICkgeworCQlyZXR1cm4gZGF0YVVzZXIuYWNjZXNzKCBlbGVtLCBuYW1lLCBkYXRhICk7CisJfSwKKworCXJlbW92ZURhdGE6IGZ1bmN0aW9uKCBlbGVtLCBuYW1lICkgeworCQlkYXRhVXNlci5yZW1vdmUoIGVsZW0sIG5hbWUgKTsKKwl9LAorCisJLy8gVE9ETzogTm93IHRoYXQgYWxsIGNhbGxzIHRvIF9kYXRhIGFuZCBfcmVtb3ZlRGF0YSBoYXZlIGJlZW4gcmVwbGFjZWQKKwkvLyB3aXRoIGRpcmVjdCBjYWxscyB0byBkYXRhUHJpdiBtZXRob2RzLCB0aGVzZSBjYW4gYmUgZGVwcmVjYXRlZC4KKwlfZGF0YTogZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGRhdGEgKSB7CisJCXJldHVybiBkYXRhUHJpdi5hY2Nlc3MoIGVsZW0sIG5hbWUsIGRhdGEgKTsKKwl9LAorCisJX3JlbW92ZURhdGE6IGZ1bmN0aW9uKCBlbGVtLCBuYW1lICkgeworCQlkYXRhUHJpdi5yZW1vdmUoIGVsZW0sIG5hbWUgKTsKKwl9Cit9ICk7CisKK2pRdWVyeS5mbi5leHRlbmQoIHsKKwlkYXRhOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsKKwkJdmFyIGksIG5hbWUsIGRhdGEsCisJCQllbGVtID0gdGhpc1sgMCBdLAorCQkJYXR0cnMgPSBlbGVtICYmIGVsZW0uYXR0cmlidXRlczsKKworCQkvLyBHZXRzIGFsbCB2YWx1ZXMKKwkJaWYgKCBrZXkgPT09IHVuZGVmaW5lZCApIHsKKwkJCWlmICggdGhpcy5sZW5ndGggKSB7CisJCQkJZGF0YSA9IGRhdGFVc2VyLmdldCggZWxlbSApOworCisJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxICYmICFkYXRhUHJpdi5nZXQoIGVsZW0sICJoYXNEYXRhQXR0cnMiICkgKSB7CisJCQkJCWkgPSBhdHRycy5sZW5ndGg7CisJCQkJCXdoaWxlICggaS0tICkgeworCisJCQkJCQkvLyBTdXBwb3J0OiBJRSAxMSBvbmx5CisJCQkJCQkvLyBUaGUgYXR0cnMgZWxlbWVudHMgY2FuIGJlIG51bGwgKCMxNDg5NCkKKwkJCQkJCWlmICggYXR0cnNbIGkgXSApIHsKKwkJCQkJCQluYW1lID0gYXR0cnNbIGkgXS5uYW1lOworCQkJCQkJCWlmICggbmFtZS5pbmRleE9mKCAiZGF0YS0iICkgPT09IDAgKSB7CisJCQkJCQkJCW5hbWUgPSBqUXVlcnkuY2FtZWxDYXNlKCBuYW1lLnNsaWNlKCA1ICkgKTsKKwkJCQkJCQkJZGF0YUF0dHIoIGVsZW0sIG5hbWUsIGRhdGFbIG5hbWUgXSApOworCQkJCQkJCX0KKwkJCQkJCX0KKwkJCQkJfQorCQkJCQlkYXRhUHJpdi5zZXQoIGVsZW0sICJoYXNEYXRhQXR0cnMiLCB0cnVlICk7CisJCQkJfQorCQkJfQorCisJCQlyZXR1cm4gZGF0YTsKKwkJfQorCisJCS8vIFNldHMgbXVsdGlwbGUgdmFsdWVzCisJCWlmICggdHlwZW9mIGtleSA9PT0gIm9iamVjdCIgKSB7CisJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsKKwkJCQlkYXRhVXNlci5zZXQoIHRoaXMsIGtleSApOworCQkJfSApOworCQl9CisKKwkJcmV0dXJuIGFjY2VzcyggdGhpcywgZnVuY3Rpb24oIHZhbHVlICkgeworCQkJdmFyIGRhdGE7CisKKwkJCS8vIFRoZSBjYWxsaW5nIGpRdWVyeSBvYmplY3QgKGVsZW1lbnQgbWF0Y2hlcykgaXMgbm90IGVtcHR5CisJCQkvLyAoYW5kIHRoZXJlZm9yZSBoYXMgYW4gZWxlbWVudCBhcHBlYXJzIGF0IHRoaXNbIDAgXSkgYW5kIHRoZQorCQkJLy8gYHZhbHVlYCBwYXJhbWV0ZXIgd2FzIG5vdCB1bmRlZmluZWQuIEFuIGVtcHR5IGpRdWVyeSBvYmplY3QKKwkJCS8vIHdpbGwgcmVzdWx0IGluIGB1bmRlZmluZWRgIGZvciBlbGVtID0gdGhpc1sgMCBdIHdoaWNoIHdpbGwKKwkJCS8vIHRocm93IGFuIGV4Y2VwdGlvbiBpZiBhbiBhdHRlbXB0IHRvIHJlYWQgYSBkYXRhIGNhY2hlIGlzIG1hZGUuCisJCQlpZiAoIGVsZW0gJiYgdmFsdWUgPT09IHVuZGVmaW5lZCApIHsKKworCQkJCS8vIEF0dGVtcHQgdG8gZ2V0IGRhdGEgZnJvbSB0aGUgY2FjaGUKKwkJCQkvLyBUaGUga2V5IHdpbGwgYWx3YXlzIGJlIGNhbWVsQ2FzZWQgaW4gRGF0YQorCQkJCWRhdGEgPSBkYXRhVXNlci5nZXQoIGVsZW0sIGtleSApOworCQkJCWlmICggZGF0YSAhPT0gdW5kZWZpbmVkICkgeworCQkJCQlyZXR1cm4gZGF0YTsKKwkJCQl9CisKKwkJCQkvLyBBdHRlbXB0IHRvICJkaXNjb3ZlciIgdGhlIGRhdGEgaW4KKwkJCQkvLyBIVE1MNSBjdXN0b20gZGF0YS0qIGF0dHJzCisJCQkJZGF0YSA9IGRhdGFBdHRyKCBlbGVtLCBrZXkgKTsKKwkJCQlpZiAoIGRhdGEgIT09IHVuZGVmaW5lZCApIHsKKwkJCQkJcmV0dXJuIGRhdGE7CisJCQkJfQorCisJCQkJLy8gV2UgdHJpZWQgcmVhbGx5IGhhcmQsIGJ1dCB0aGUgZGF0YSBkb2Vzbid0IGV4aXN0LgorCQkJCXJldHVybjsKKwkJCX0KKworCQkJLy8gU2V0IHRoZSBkYXRhLi4uCisJCQl0aGlzLmVhY2goIGZ1bmN0aW9uKCkgeworCisJCQkJLy8gV2UgYWx3YXlzIHN0b3JlIHRoZSBjYW1lbENhc2VkIGtleQorCQkJCWRhdGFVc2VyLnNldCggdGhpcywga2V5LCB2YWx1ZSApOworCQkJfSApOworCQl9LCBudWxsLCB2YWx1ZSwgYXJndW1lbnRzLmxlbmd0aCA+IDEsIG51bGwsIHRydWUgKTsKKwl9LAorCisJcmVtb3ZlRGF0YTogZnVuY3Rpb24oIGtleSApIHsKKwkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7CisJCQlkYXRhVXNlci5yZW1vdmUoIHRoaXMsIGtleSApOworCQl9ICk7CisJfQorfSApOworCisKK2pRdWVyeS5leHRlbmQoIHsKKwlxdWV1ZTogZnVuY3Rpb24oIGVsZW0sIHR5cGUsIGRhdGEgKSB7CisJCXZhciBxdWV1ZTsKKworCQlpZiAoIGVsZW0gKSB7CisJCQl0eXBlID0gKCB0eXBlIHx8ICJmeCIgKSArICJxdWV1ZSI7CisJCQlxdWV1ZSA9IGRhdGFQcml2LmdldCggZWxlbSwgdHlwZSApOworCisJCQkvLyBTcGVlZCB1cCBkZXF1ZXVlIGJ5IGdldHRpbmcgb3V0IHF1aWNrbHkgaWYgdGhpcyBpcyBqdXN0IGEgbG9va3VwCisJCQlpZiAoIGRhdGEgKSB7CisJCQkJaWYgKCAhcXVldWUgfHwgQXJyYXkuaXNBcnJheSggZGF0YSApICkgeworCQkJCQlxdWV1ZSA9IGRhdGFQcml2LmFjY2VzcyggZWxlbSwgdHlwZSwgalF1ZXJ5Lm1ha2VBcnJheSggZGF0YSApICk7CisJCQkJfSBlbHNlIHsKKwkJCQkJcXVldWUucHVzaCggZGF0YSApOworCQkJCX0KKwkJCX0KKwkJCXJldHVybiBxdWV1ZSB8fCBbXTsKKwkJfQorCX0sCisKKwlkZXF1ZXVlOiBmdW5jdGlvbiggZWxlbSwgdHlwZSApIHsKKwkJdHlwZSA9IHR5cGUgfHwgImZ4IjsKKworCQl2YXIgcXVldWUgPSBqUXVlcnkucXVldWUoIGVsZW0sIHR5cGUgKSwKKwkJCXN0YXJ0TGVuZ3RoID0gcXVldWUubGVuZ3RoLAorCQkJZm4gPSBxdWV1ZS5zaGlmdCgpLAorCQkJaG9va3MgPSBqUXVlcnkuX3F1ZXVlSG9va3MoIGVsZW0sIHR5cGUgKSwKKwkJCW5leHQgPSBmdW5jdGlvbigpIHsKKwkJCQlqUXVlcnkuZGVxdWV1ZSggZWxlbSwgdHlwZSApOworCQkJfTsKKworCQkvLyBJZiB0aGUgZnggcXVldWUgaXMgZGVxdWV1ZWQsIGFsd2F5cyByZW1vdmUgdGhlIHByb2dyZXNzIHNlbnRpbmVsCisJCWlmICggZm4gPT09ICJpbnByb2dyZXNzIiApIHsKKwkJCWZuID0gcXVldWUuc2hpZnQoKTsKKwkJCXN0YXJ0TGVuZ3RoLS07CisJCX0KKworCQlpZiAoIGZuICkgeworCisJCQkvLyBBZGQgYSBwcm9ncmVzcyBzZW50aW5lbCB0byBwcmV2ZW50IHRoZSBmeCBxdWV1ZSBmcm9tIGJlaW5nCisJCQkvLyBhdXRvbWF0aWNhbGx5IGRlcXVldWVkCisJCQlpZiAoIHR5cGUgPT09ICJmeCIgKSB7CisJCQkJcXVldWUudW5zaGlmdCggImlucHJvZ3Jlc3MiICk7CisJCQl9CisKKwkJCS8vIENsZWFyIHVwIHRoZSBsYXN0IHF1ZXVlIHN0b3AgZnVuY3Rpb24KKwkJCWRlbGV0ZSBob29rcy5zdG9wOworCQkJZm4uY2FsbCggZWxlbSwgbmV4dCwgaG9va3MgKTsKKwkJfQorCisJCWlmICggIXN0YXJ0TGVuZ3RoICYmIGhvb2tzICkgeworCQkJaG9va3MuZW1wdHkuZmlyZSgpOworCQl9CisJfSwKKworCS8vIE5vdCBwdWJsaWMgLSBnZW5lcmF0ZSBhIHF1ZXVlSG9va3Mgb2JqZWN0LCBvciByZXR1cm4gdGhlIGN1cnJlbnQgb25lCisJX3F1ZXVlSG9va3M6IGZ1bmN0aW9uKCBlbGVtLCB0eXBlICkgeworCQl2YXIga2V5ID0gdHlwZSArICJxdWV1ZUhvb2tzIjsKKwkJcmV0dXJuIGRhdGFQcml2LmdldCggZWxlbSwga2V5ICkgfHwgZGF0YVByaXYuYWNjZXNzKCBlbGVtLCBrZXksIHsKKwkJCWVtcHR5OiBqUXVlcnkuQ2FsbGJhY2tzKCAib25jZSBtZW1vcnkiICkuYWRkKCBmdW5jdGlvbigpIHsKKwkJCQlkYXRhUHJpdi5yZW1vdmUoIGVsZW0sIFsgdHlwZSArICJxdWV1ZSIsIGtleSBdICk7CisJCQl9ICkKKwkJfSApOworCX0KK30gKTsKKworalF1ZXJ5LmZuLmV4dGVuZCggeworCXF1ZXVlOiBmdW5jdGlvbiggdHlwZSwgZGF0YSApIHsKKwkJdmFyIHNldHRlciA9IDI7CisKKwkJaWYgKCB0eXBlb2YgdHlwZSAhPT0gInN0cmluZyIgKSB7CisJCQlkYXRhID0gdHlwZTsKKwkJCXR5cGUgPSAiZngiOworCQkJc2V0dGVyLS07CisJCX0KKworCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggPCBzZXR0ZXIgKSB7CisJCQlyZXR1cm4galF1ZXJ5LnF1ZXVlKCB0aGlzWyAwIF0sIHR5cGUgKTsKKwkJfQorCisJCXJldHVybiBkYXRhID09PSB1bmRlZmluZWQgPworCQkJdGhpcyA6CisJCQl0aGlzLmVhY2goIGZ1bmN0aW9uKCkgeworCQkJCXZhciBxdWV1ZSA9IGpRdWVyeS5xdWV1ZSggdGhpcywgdHlwZSwgZGF0YSApOworCisJCQkJLy8gRW5zdXJlIGEgaG9va3MgZm9yIHRoaXMgcXVldWUKKwkJCQlqUXVlcnkuX3F1ZXVlSG9va3MoIHRoaXMsIHR5cGUgKTsKKworCQkJCWlmICggdHlwZSA9PT0gImZ4IiAmJiBxdWV1ZVsgMCBdICE9PSAiaW5wcm9ncmVzcyIgKSB7CisJCQkJCWpRdWVyeS5kZXF1ZXVlKCB0aGlzLCB0eXBlICk7CisJCQkJfQorCQkJfSApOworCX0sCisJZGVxdWV1ZTogZnVuY3Rpb24oIHR5cGUgKSB7CisJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgeworCQkJalF1ZXJ5LmRlcXVldWUoIHRoaXMsIHR5cGUgKTsKKwkJfSApOworCX0sCisJY2xlYXJRdWV1ZTogZnVuY3Rpb24oIHR5cGUgKSB7CisJCXJldHVybiB0aGlzLnF1ZXVlKCB0eXBlIHx8ICJmeCIsIFtdICk7CisJfSwKKworCS8vIEdldCBhIHByb21pc2UgcmVzb2x2ZWQgd2hlbiBxdWV1ZXMgb2YgYSBjZXJ0YWluIHR5cGUKKwkvLyBhcmUgZW1wdGllZCAoZnggaXMgdGhlIHR5cGUgYnkgZGVmYXVsdCkKKwlwcm9taXNlOiBmdW5jdGlvbiggdHlwZSwgb2JqICkgeworCQl2YXIgdG1wLAorCQkJY291bnQgPSAxLAorCQkJZGVmZXIgPSBqUXVlcnkuRGVmZXJyZWQoKSwKKwkJCWVsZW1lbnRzID0gdGhpcywKKwkJCWkgPSB0aGlzLmxlbmd0aCwKKwkJCXJlc29sdmUgPSBmdW5jdGlvbigpIHsKKwkJCQlpZiAoICEoIC0tY291bnQgKSApIHsKKwkJCQkJZGVmZXIucmVzb2x2ZVdpdGgoIGVsZW1lbnRzLCBbIGVsZW1lbnRzIF0gKTsKKwkJCQl9CisJCQl9OworCisJCWlmICggdHlwZW9mIHR5cGUgIT09ICJzdHJpbmciICkgeworCQkJb2JqID0gdHlwZTsKKwkJCXR5cGUgPSB1bmRlZmluZWQ7CisJCX0KKwkJdHlwZSA9IHR5cGUgfHwgImZ4IjsKKworCQl3aGlsZSAoIGktLSApIHsKKwkJCXRtcCA9IGRhdGFQcml2LmdldCggZWxlbWVudHNbIGkgXSwgdHlwZSArICJxdWV1ZUhvb2tzIiApOworCQkJaWYgKCB0bXAgJiYgdG1wLmVtcHR5ICkgeworCQkJCWNvdW50Kys7CisJCQkJdG1wLmVtcHR5LmFkZCggcmVzb2x2ZSApOworCQkJfQorCQl9CisJCXJlc29sdmUoKTsKKwkJcmV0dXJuIGRlZmVyLnByb21pc2UoIG9iaiApOworCX0KK30gKTsKK3ZhciBwbnVtID0gKCAvWystXT8oPzpcZCpcLnwpXGQrKD86W2VFXVsrLV0/XGQrfCkvICkuc291cmNlOworCit2YXIgcmNzc051bSA9IG5ldyBSZWdFeHAoICJeKD86KFsrLV0pPXwpKCIgKyBwbnVtICsgIikoW2EteiVdKikkIiwgImkiICk7CisKKwordmFyIGNzc0V4cGFuZCA9IFsgIlRvcCIsICJSaWdodCIsICJCb3R0b20iLCAiTGVmdCIgXTsKKwordmFyIGlzSGlkZGVuV2l0aGluVHJlZSA9IGZ1bmN0aW9uKCBlbGVtLCBlbCApIHsKKworCQkvLyBpc0hpZGRlbldpdGhpblRyZWUgbWlnaHQgYmUgY2FsbGVkIGZyb20galF1ZXJ5I2ZpbHRlciBmdW5jdGlvbjsKKwkJLy8gaW4gdGhhdCBjYXNlLCBlbGVtZW50IHdpbGwgYmUgc2Vjb25kIGFyZ3VtZW50CisJCWVsZW0gPSBlbCB8fCBlbGVtOworCisJCS8vIElubGluZSBzdHlsZSB0cnVtcHMgYWxsCisJCXJldHVybiBlbGVtLnN0eWxlLmRpc3BsYXkgPT09ICJub25lIiB8fAorCQkJZWxlbS5zdHlsZS5kaXNwbGF5ID09PSAiIiAmJgorCisJCQkvLyBPdGhlcndpc2UsIGNoZWNrIGNvbXB1dGVkIHN0eWxlCisJCQkvLyBTdXBwb3J0OiBGaXJlZm94IDw9NDMgLSA0NQorCQkJLy8gRGlzY29ubmVjdGVkIGVsZW1lbnRzIGNhbiBoYXZlIGNvbXB1dGVkIGRpc3BsYXk6IG5vbmUsIHNvIGZpcnN0IGNvbmZpcm0gdGhhdCBlbGVtIGlzCisJCQkvLyBpbiB0aGUgZG9jdW1lbnQuCisJCQlqUXVlcnkuY29udGFpbnMoIGVsZW0ub3duZXJEb2N1bWVudCwgZWxlbSApICYmCisKKwkJCWpRdWVyeS5jc3MoIGVsZW0sICJkaXNwbGF5IiApID09PSAibm9uZSI7CisJfTsKKwordmFyIHN3YXAgPSBmdW5jdGlvbiggZWxlbSwgb3B0aW9ucywgY2FsbGJhY2ssIGFyZ3MgKSB7CisJdmFyIHJldCwgbmFtZSwKKwkJb2xkID0ge307CisKKwkvLyBSZW1lbWJlciB0aGUgb2xkIHZhbHVlcywgYW5kIGluc2VydCB0aGUgbmV3IG9uZXMKKwlmb3IgKCBuYW1lIGluIG9wdGlvbnMgKSB7CisJCW9sZFsgbmFtZSBdID0gZWxlbS5zdHlsZVsgbmFtZSBdOworCQllbGVtLnN0eWxlWyBuYW1lIF0gPSBvcHRpb25zWyBuYW1lIF07CisJfQorCisJcmV0ID0gY2FsbGJhY2suYXBwbHkoIGVsZW0sIGFyZ3MgfHwgW10gKTsKKworCS8vIFJldmVydCB0aGUgb2xkIHZhbHVlcworCWZvciAoIG5hbWUgaW4gb3B0aW9ucyApIHsKKwkJZWxlbS5zdHlsZVsgbmFtZSBdID0gb2xkWyBuYW1lIF07CisJfQorCisJcmV0dXJuIHJldDsKK307CisKKworCisKK2Z1bmN0aW9uIGFkanVzdENTUyggZWxlbSwgcHJvcCwgdmFsdWVQYXJ0cywgdHdlZW4gKSB7CisJdmFyIGFkanVzdGVkLAorCQlzY2FsZSA9IDEsCisJCW1heEl0ZXJhdGlvbnMgPSAyMCwKKwkJY3VycmVudFZhbHVlID0gdHdlZW4gPworCQkJZnVuY3Rpb24oKSB7CisJCQkJcmV0dXJuIHR3ZWVuLmN1cigpOworCQkJfSA6CisJCQlmdW5jdGlvbigpIHsKKwkJCQlyZXR1cm4galF1ZXJ5LmNzcyggZWxlbSwgcHJvcCwgIiIgKTsKKwkJCX0sCisJCWluaXRpYWwgPSBjdXJyZW50VmFsdWUoKSwKKwkJdW5pdCA9IHZhbHVlUGFydHMgJiYgdmFsdWVQYXJ0c1sgMyBdIHx8ICggalF1ZXJ5LmNzc051bWJlclsgcHJvcCBdID8gIiIgOiAicHgiICksCisKKwkJLy8gU3RhcnRpbmcgdmFsdWUgY29tcHV0YXRpb24gaXMgcmVxdWlyZWQgZm9yIHBvdGVudGlhbCB1bml0IG1pc21hdGNoZXMKKwkJaW5pdGlhbEluVW5pdCA9ICggalF1ZXJ5LmNzc051bWJlclsgcHJvcCBdIHx8IHVuaXQgIT09ICJweCIgJiYgK2luaXRpYWwgKSAmJgorCQkJcmNzc051bS5leGVjKCBqUXVlcnkuY3NzKCBlbGVtLCBwcm9wICkgKTsKKworCWlmICggaW5pdGlhbEluVW5pdCAmJiBpbml0aWFsSW5Vbml0WyAzIF0gIT09IHVuaXQgKSB7CisKKwkJLy8gVHJ1c3QgdW5pdHMgcmVwb3J0ZWQgYnkgalF1ZXJ5LmNzcworCQl1bml0ID0gdW5pdCB8fCBpbml0aWFsSW5Vbml0WyAzIF07CisKKwkJLy8gTWFrZSBzdXJlIHdlIHVwZGF0ZSB0aGUgdHdlZW4gcHJvcGVydGllcyBsYXRlciBvbgorCQl2YWx1ZVBhcnRzID0gdmFsdWVQYXJ0cyB8fCBbXTsKKworCQkvLyBJdGVyYXRpdmVseSBhcHByb3hpbWF0ZSBmcm9tIGEgbm9uemVybyBzdGFydGluZyBwb2ludAorCQlpbml0aWFsSW5Vbml0ID0gK2luaXRpYWwgfHwgMTsKKworCQlkbyB7CisKKwkJCS8vIElmIHByZXZpb3VzIGl0ZXJhdGlvbiB6ZXJvZWQgb3V0LCBkb3VibGUgdW50aWwgd2UgZ2V0ICpzb21ldGhpbmcqLgorCQkJLy8gVXNlIHN0cmluZyBmb3IgZG91Ymxpbmcgc28gd2UgZG9uJ3QgYWNjaWRlbnRhbGx5IHNlZSBzY2FsZSBhcyB1bmNoYW5nZWQgYmVsb3cKKwkJCXNjYWxlID0gc2NhbGUgfHwgIi41IjsKKworCQkJLy8gQWRqdXN0IGFuZCBhcHBseQorCQkJaW5pdGlhbEluVW5pdCA9IGluaXRpYWxJblVuaXQgLyBzY2FsZTsKKwkJCWpRdWVyeS5zdHlsZSggZWxlbSwgcHJvcCwgaW5pdGlhbEluVW5pdCArIHVuaXQgKTsKKworCQkvLyBVcGRhdGUgc2NhbGUsIHRvbGVyYXRpbmcgemVybyBvciBOYU4gZnJvbSB0d2Vlbi5jdXIoKQorCQkvLyBCcmVhayB0aGUgbG9vcCBpZiBzY2FsZSBpcyB1bmNoYW5nZWQgb3IgcGVyZmVjdCwgb3IgaWYgd2UndmUganVzdCBoYWQgZW5vdWdoLgorCQl9IHdoaWxlICgKKwkJCXNjYWxlICE9PSAoIHNjYWxlID0gY3VycmVudFZhbHVlKCkgLyBpbml0aWFsICkgJiYgc2NhbGUgIT09IDEgJiYgLS1tYXhJdGVyYXRpb25zCisJCSk7CisJfQorCisJaWYgKCB2YWx1ZVBhcnRzICkgeworCQlpbml0aWFsSW5Vbml0ID0gK2luaXRpYWxJblVuaXQgfHwgK2luaXRpYWwgfHwgMDsKKworCQkvLyBBcHBseSByZWxhdGl2ZSBvZmZzZXQgKCs9Ly09KSBpZiBzcGVjaWZpZWQKKwkJYWRqdXN0ZWQgPSB2YWx1ZVBhcnRzWyAxIF0gPworCQkJaW5pdGlhbEluVW5pdCArICggdmFsdWVQYXJ0c1sgMSBdICsgMSApICogdmFsdWVQYXJ0c1sgMiBdIDoKKwkJCSt2YWx1ZVBhcnRzWyAyIF07CisJCWlmICggdHdlZW4gKSB7CisJCQl0d2Vlbi51bml0ID0gdW5pdDsKKwkJCXR3ZWVuLnN0YXJ0ID0gaW5pdGlhbEluVW5pdDsKKwkJCXR3ZWVuLmVuZCA9IGFkanVzdGVkOworCQl9CisJfQorCXJldHVybiBhZGp1c3RlZDsKK30KKworCit2YXIgZGVmYXVsdERpc3BsYXlNYXAgPSB7fTsKKworZnVuY3Rpb24gZ2V0RGVmYXVsdERpc3BsYXkoIGVsZW0gKSB7CisJdmFyIHRlbXAsCisJCWRvYyA9IGVsZW0ub3duZXJEb2N1bWVudCwKKwkJbm9kZU5hbWUgPSBlbGVtLm5vZGVOYW1lLAorCQlkaXNwbGF5ID0gZGVmYXVsdERpc3BsYXlNYXBbIG5vZGVOYW1lIF07CisKKwlpZiAoIGRpc3BsYXkgKSB7CisJCXJldHVybiBkaXNwbGF5OworCX0KKworCXRlbXAgPSBkb2MuYm9keS5hcHBlbmRDaGlsZCggZG9jLmNyZWF0ZUVsZW1lbnQoIG5vZGVOYW1lICkgKTsKKwlkaXNwbGF5ID0galF1ZXJ5LmNzcyggdGVtcCwgImRpc3BsYXkiICk7CisKKwl0ZW1wLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoIHRlbXAgKTsKKworCWlmICggZGlzcGxheSA9PT0gIm5vbmUiICkgeworCQlkaXNwbGF5ID0gImJsb2NrIjsKKwl9CisJZGVmYXVsdERpc3BsYXlNYXBbIG5vZGVOYW1lIF0gPSBkaXNwbGF5OworCisJcmV0dXJuIGRpc3BsYXk7Cit9CisKK2Z1bmN0aW9uIHNob3dIaWRlKCBlbGVtZW50cywgc2hvdyApIHsKKwl2YXIgZGlzcGxheSwgZWxlbSwKKwkJdmFsdWVzID0gW10sCisJCWluZGV4ID0gMCwKKwkJbGVuZ3RoID0gZWxlbWVudHMubGVuZ3RoOworCisJLy8gRGV0ZXJtaW5lIG5ldyBkaXNwbGF5IHZhbHVlIGZvciBlbGVtZW50cyB0aGF0IG5lZWQgdG8gY2hhbmdlCisJZm9yICggOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsKKwkJZWxlbSA9IGVsZW1lbnRzWyBpbmRleCBdOworCQlpZiAoICFlbGVtLnN0eWxlICkgeworCQkJY29udGludWU7CisJCX0KKworCQlkaXNwbGF5ID0gZWxlbS5zdHlsZS5kaXNwbGF5OworCQlpZiAoIHNob3cgKSB7CisKKwkJCS8vIFNpbmNlIHdlIGZvcmNlIHZpc2liaWxpdHkgdXBvbiBjYXNjYWRlLWhpZGRlbiBlbGVtZW50cywgYW4gaW1tZWRpYXRlIChhbmQgc2xvdykKKwkJCS8vIGNoZWNrIGlzIHJlcXVpcmVkIGluIHRoaXMgZmlyc3QgbG9vcCB1bmxlc3Mgd2UgaGF2ZSBhIG5vbmVtcHR5IGRpc3BsYXkgdmFsdWUgKGVpdGhlcgorCQkJLy8gaW5saW5lIG9yIGFib3V0LXRvLWJlLXJlc3RvcmVkKQorCQkJaWYgKCBkaXNwbGF5ID09PSAibm9uZSIgKSB7CisJCQkJdmFsdWVzWyBpbmRleCBdID0gZGF0YVByaXYuZ2V0KCBlbGVtLCAiZGlzcGxheSIgKSB8fCBudWxsOworCQkJCWlmICggIXZhbHVlc1sgaW5kZXggXSApIHsKKwkJCQkJZWxlbS5zdHlsZS5kaXNwbGF5ID0gIiI7CisJCQkJfQorCQkJfQorCQkJaWYgKCBlbGVtLnN0eWxlLmRpc3BsYXkgPT09ICIiICYmIGlzSGlkZGVuV2l0aGluVHJlZSggZWxlbSApICkgeworCQkJCXZhbHVlc1sgaW5kZXggXSA9IGdldERlZmF1bHREaXNwbGF5KCBlbGVtICk7CisJCQl9CisJCX0gZWxzZSB7CisJCQlpZiAoIGRpc3BsYXkgIT09ICJub25lIiApIHsKKwkJCQl2YWx1ZXNbIGluZGV4IF0gPSAibm9uZSI7CisKKwkJCQkvLyBSZW1lbWJlciB3aGF0IHdlJ3JlIG92ZXJ3cml0aW5nCisJCQkJZGF0YVByaXYuc2V0KCBlbGVtLCAiZGlzcGxheSIsIGRpc3BsYXkgKTsKKwkJCX0KKwkJfQorCX0KKworCS8vIFNldCB0aGUgZGlzcGxheSBvZiB0aGUgZWxlbWVudHMgaW4gYSBzZWNvbmQgbG9vcCB0byBhdm9pZCBjb25zdGFudCByZWZsb3cKKwlmb3IgKCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrICkgeworCQlpZiAoIHZhbHVlc1sgaW5kZXggXSAhPSBudWxsICkgeworCQkJZWxlbWVudHNbIGluZGV4IF0uc3R5bGUuZGlzcGxheSA9IHZhbHVlc1sgaW5kZXggXTsKKwkJfQorCX0KKworCXJldHVybiBlbGVtZW50czsKK30KKworalF1ZXJ5LmZuLmV4dGVuZCggeworCXNob3c6IGZ1bmN0aW9uKCkgeworCQlyZXR1cm4gc2hvd0hpZGUoIHRoaXMsIHRydWUgKTsKKwl9LAorCWhpZGU6IGZ1bmN0aW9uKCkgeworCQlyZXR1cm4gc2hvd0hpZGUoIHRoaXMgKTsKKwl9LAorCXRvZ2dsZTogZnVuY3Rpb24oIHN0YXRlICkgeworCQlpZiAoIHR5cGVvZiBzdGF0ZSA9PT0gImJvb2xlYW4iICkgeworCQkJcmV0dXJuIHN0YXRlID8gdGhpcy5zaG93KCkgOiB0aGlzLmhpZGUoKTsKKwkJfQorCisJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgeworCQkJaWYgKCBpc0hpZGRlbldpdGhpblRyZWUoIHRoaXMgKSApIHsKKwkJCQlqUXVlcnkoIHRoaXMgKS5zaG93KCk7CisJCQl9IGVsc2UgeworCQkJCWpRdWVyeSggdGhpcyApLmhpZGUoKTsKKwkJCX0KKwkJfSApOworCX0KK30gKTsKK3ZhciByY2hlY2thYmxlVHlwZSA9ICggL14oPzpjaGVja2JveHxyYWRpbykkL2kgKTsKKwordmFyIHJ0YWdOYW1lID0gKCAvPChbYS16XVteXC9cMD5ceDIwXHRcclxuXGZdKykvaSApOworCit2YXIgcnNjcmlwdFR5cGUgPSAoIC9eJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSApOworCisKKworLy8gV2UgaGF2ZSB0byBjbG9zZSB0aGVzZSB0YWdzIHRvIHN1cHBvcnQgWEhUTUwgKCMxMzIwMCkKK3ZhciB3cmFwTWFwID0geworCisJLy8gU3VwcG9ydDogSUUgPD05IG9ubHkKKwlvcHRpb246IFsgMSwgIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCAiPC9zZWxlY3Q+IiBdLAorCisJLy8gWEhUTUwgcGFyc2VycyBkbyBub3QgbWFnaWNhbGx5IGluc2VydCBlbGVtZW50cyBpbiB0aGUKKwkvLyBzYW1lIHdheSB0aGF0IHRhZyBzb3VwIHBhcnNlcnMgZG8uIFNvIHdlIGNhbm5vdCBzaG9ydGVuCisJLy8gdGhpcyBieSBvbWl0dGluZyA8dGJvZHk+IG9yIG90aGVyIHJlcXVpcmVkIGVsZW1lbnRzLgorCXRoZWFkOiBbIDEsICI8dGFibGU+IiwgIjwvdGFibGU+IiBdLAorCWNvbDogWyAyLCAiPHRhYmxlPjxjb2xncm91cD4iLCAiPC9jb2xncm91cD48L3RhYmxlPiIgXSwKKwl0cjogWyAyLCAiPHRhYmxlPjx0Ym9keT4iLCAiPC90Ym9keT48L3RhYmxlPiIgXSwKKwl0ZDogWyAzLCAiPHRhYmxlPjx0Ym9keT48dHI+IiwgIjwvdHI+PC90Ym9keT48L3RhYmxlPiIgXSwKKworCV9kZWZhdWx0OiBbIDAsICIiLCAiIiBdCit9OworCisvLyBTdXBwb3J0OiBJRSA8PTkgb25seQord3JhcE1hcC5vcHRncm91cCA9IHdyYXBNYXAub3B0aW9uOworCit3cmFwTWFwLnRib2R5ID0gd3JhcE1hcC50Zm9vdCA9IHdyYXBNYXAuY29sZ3JvdXAgPSB3cmFwTWFwLmNhcHRpb24gPSB3cmFwTWFwLnRoZWFkOword3JhcE1hcC50aCA9IHdyYXBNYXAudGQ7CisKKworZnVuY3Rpb24gZ2V0QWxsKCBjb250ZXh0LCB0YWcgKSB7CisKKwkvLyBTdXBwb3J0OiBJRSA8PTkgLSAxMSBvbmx5CisJLy8gVXNlIHR5cGVvZiB0byBhdm9pZCB6ZXJvLWFyZ3VtZW50IG1ldGhvZCBpbnZvY2F0aW9uIG9uIGhvc3Qgb2JqZWN0cyAoIzE1MTUxKQorCXZhciByZXQ7CisKKwlpZiAoIHR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lICE9PSAidW5kZWZpbmVkIiApIHsKKwkJcmV0ID0gY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSggdGFnIHx8ICIqIiApOworCisJfSBlbHNlIGlmICggdHlwZW9mIGNvbnRleHQucXVlcnlTZWxlY3RvckFsbCAhPT0gInVuZGVmaW5lZCIgKSB7CisJCXJldCA9IGNvbnRleHQucXVlcnlTZWxlY3RvckFsbCggdGFnIHx8ICIqIiApOworCisJfSBlbHNlIHsKKwkJcmV0ID0gW107CisJfQorCisJaWYgKCB0YWcgPT09IHVuZGVmaW5lZCB8fCB0YWcgJiYgbm9kZU5hbWUoIGNvbnRleHQsIHRhZyApICkgeworCQlyZXR1cm4galF1ZXJ5Lm1lcmdlKCBbIGNvbnRleHQgXSwgcmV0ICk7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworCisvLyBNYXJrIHNjcmlwdHMgYXMgaGF2aW5nIGFscmVhZHkgYmVlbiBldmFsdWF0ZWQKK2Z1bmN0aW9uIHNldEdsb2JhbEV2YWwoIGVsZW1zLCByZWZFbGVtZW50cyApIHsKKwl2YXIgaSA9IDAsCisJCWwgPSBlbGVtcy5sZW5ndGg7CisKKwlmb3IgKCA7IGkgPCBsOyBpKysgKSB7CisJCWRhdGFQcml2LnNldCgKKwkJCWVsZW1zWyBpIF0sCisJCQkiZ2xvYmFsRXZhbCIsCisJCQkhcmVmRWxlbWVudHMgfHwgZGF0YVByaXYuZ2V0KCByZWZFbGVtZW50c1sgaSBdLCAiZ2xvYmFsRXZhbCIgKQorCQkpOworCX0KK30KKworCit2YXIgcmh0bWwgPSAvPHwmIz9cdys7LzsKKworZnVuY3Rpb24gYnVpbGRGcmFnbWVudCggZWxlbXMsIGNvbnRleHQsIHNjcmlwdHMsIHNlbGVjdGlvbiwgaWdub3JlZCApIHsKKwl2YXIgZWxlbSwgdG1wLCB0YWcsIHdyYXAsIGNvbnRhaW5zLCBqLAorCQlmcmFnbWVudCA9IGNvbnRleHQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLAorCQlub2RlcyA9IFtdLAorCQlpID0gMCwKKwkJbCA9IGVsZW1zLmxlbmd0aDsKKworCWZvciAoIDsgaSA8IGw7IGkrKyApIHsKKwkJZWxlbSA9IGVsZW1zWyBpIF07CisKKwkJaWYgKCBlbGVtIHx8IGVsZW0gPT09IDAgKSB7CisKKwkJCS8vIEFkZCBub2RlcyBkaXJlY3RseQorCQkJaWYgKCBqUXVlcnkudHlwZSggZWxlbSApID09PSAib2JqZWN0IiApIHsKKworCQkJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjAgb25seSwgUGhhbnRvbUpTIDEgb25seQorCQkJCS8vIHB1c2guYXBwbHkoXywgYXJyYXlsaWtlKSB0aHJvd3Mgb24gYW5jaWVudCBXZWJLaXQKKwkJCQlqUXVlcnkubWVyZ2UoIG5vZGVzLCBlbGVtLm5vZGVUeXBlID8gWyBlbGVtIF0gOiBlbGVtICk7CisKKwkJCS8vIENvbnZlcnQgbm9uLWh0bWwgaW50byBhIHRleHQgbm9kZQorCQkJfSBlbHNlIGlmICggIXJodG1sLnRlc3QoIGVsZW0gKSApIHsKKwkJCQlub2Rlcy5wdXNoKCBjb250ZXh0LmNyZWF0ZVRleHROb2RlKCBlbGVtICkgKTsKKworCQkJLy8gQ29udmVydCBodG1sIGludG8gRE9NIG5vZGVzCisJCQl9IGVsc2UgeworCQkJCXRtcCA9IHRtcCB8fCBmcmFnbWVudC5hcHBlbmRDaGlsZCggY29udGV4dC5jcmVhdGVFbGVtZW50KCAiZGl2IiApICk7CisKKwkJCQkvLyBEZXNlcmlhbGl6ZSBhIHN0YW5kYXJkIHJlcHJlc2VudGF0aW9uCisJCQkJdGFnID0gKCBydGFnTmFtZS5leGVjKCBlbGVtICkgfHwgWyAiIiwgIiIgXSApWyAxIF0udG9Mb3dlckNhc2UoKTsKKwkJCQl3cmFwID0gd3JhcE1hcFsgdGFnIF0gfHwgd3JhcE1hcC5fZGVmYXVsdDsKKwkJCQl0bXAuaW5uZXJIVE1MID0gd3JhcFsgMSBdICsgalF1ZXJ5Lmh0bWxQcmVmaWx0ZXIoIGVsZW0gKSArIHdyYXBbIDIgXTsKKworCQkJCS8vIERlc2NlbmQgdGhyb3VnaCB3cmFwcGVycyB0byB0aGUgcmlnaHQgY29udGVudAorCQkJCWogPSB3cmFwWyAwIF07CisJCQkJd2hpbGUgKCBqLS0gKSB7CisJCQkJCXRtcCA9IHRtcC5sYXN0Q2hpbGQ7CisJCQkJfQorCisJCQkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5LCBQaGFudG9tSlMgMSBvbmx5CisJCQkJLy8gcHVzaC5hcHBseShfLCBhcnJheWxpa2UpIHRocm93cyBvbiBhbmNpZW50IFdlYktpdAorCQkJCWpRdWVyeS5tZXJnZSggbm9kZXMsIHRtcC5jaGlsZE5vZGVzICk7CisKKwkJCQkvLyBSZW1lbWJlciB0aGUgdG9wLWxldmVsIGNvbnRhaW5lcgorCQkJCXRtcCA9IGZyYWdtZW50LmZpcnN0Q2hpbGQ7CisKKwkJCQkvLyBFbnN1cmUgdGhlIGNyZWF0ZWQgbm9kZXMgYXJlIG9ycGhhbmVkICgjMTIzOTIpCisJCQkJdG1wLnRleHRDb250ZW50ID0gIiI7CisJCQl9CisJCX0KKwl9CisKKwkvLyBSZW1vdmUgd3JhcHBlciBmcm9tIGZyYWdtZW50CisJZnJhZ21lbnQudGV4dENvbnRlbnQgPSAiIjsKKworCWkgPSAwOworCXdoaWxlICggKCBlbGVtID0gbm9kZXNbIGkrKyBdICkgKSB7CisKKwkJLy8gU2tpcCBlbGVtZW50cyBhbHJlYWR5IGluIHRoZSBjb250ZXh0IGNvbGxlY3Rpb24gKHRyYWMtNDA4NykKKwkJaWYgKCBzZWxlY3Rpb24gJiYgalF1ZXJ5LmluQXJyYXkoIGVsZW0sIHNlbGVjdGlvbiApID4gLTEgKSB7CisJCQlpZiAoIGlnbm9yZWQgKSB7CisJCQkJaWdub3JlZC5wdXNoKCBlbGVtICk7CisJCQl9CisJCQljb250aW51ZTsKKwkJfQorCisJCWNvbnRhaW5zID0galF1ZXJ5LmNvbnRhaW5zKCBlbGVtLm93bmVyRG9jdW1lbnQsIGVsZW0gKTsKKworCQkvLyBBcHBlbmQgdG8gZnJhZ21lbnQKKwkJdG1wID0gZ2V0QWxsKCBmcmFnbWVudC5hcHBlbmRDaGlsZCggZWxlbSApLCAic2NyaXB0IiApOworCisJCS8vIFByZXNlcnZlIHNjcmlwdCBldmFsdWF0aW9uIGhpc3RvcnkKKwkJaWYgKCBjb250YWlucyApIHsKKwkJCXNldEdsb2JhbEV2YWwoIHRtcCApOworCQl9CisKKwkJLy8gQ2FwdHVyZSBleGVjdXRhYmxlcworCQlpZiAoIHNjcmlwdHMgKSB7CisJCQlqID0gMDsKKwkJCXdoaWxlICggKCBlbGVtID0gdG1wWyBqKysgXSApICkgeworCQkJCWlmICggcnNjcmlwdFR5cGUudGVzdCggZWxlbS50eXBlIHx8ICIiICkgKSB7CisJCQkJCXNjcmlwdHMucHVzaCggZWxlbSApOworCQkJCX0KKwkJCX0KKwkJfQorCX0KKworCXJldHVybiBmcmFnbWVudDsKK30KKworCisoIGZ1bmN0aW9uKCkgeworCXZhciBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSwKKwkJZGl2ID0gZnJhZ21lbnQuYXBwZW5kQ2hpbGQoIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJkaXYiICkgKSwKKwkJaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiaW5wdXQiICk7CisKKwkvLyBTdXBwb3J0OiBBbmRyb2lkIDQuMCAtIDQuMyBvbmx5CisJLy8gQ2hlY2sgc3RhdGUgbG9zdCBpZiB0aGUgbmFtZSBpcyBzZXQgKCMxMTIxNykKKwkvLyBTdXBwb3J0OiBXaW5kb3dzIFdlYiBBcHBzIChXV0EpCisJLy8gYG5hbWVgIGFuZCBgdHlwZWAgbXVzdCB1c2UgLnNldEF0dHJpYnV0ZSBmb3IgV1dBICgjMTQ5MDEpCisJaW5wdXQuc2V0QXR0cmlidXRlKCAidHlwZSIsICJyYWRpbyIgKTsKKwlpbnB1dC5zZXRBdHRyaWJ1dGUoICJjaGVja2VkIiwgImNoZWNrZWQiICk7CisJaW5wdXQuc2V0QXR0cmlidXRlKCAibmFtZSIsICJ0IiApOworCisJZGl2LmFwcGVuZENoaWxkKCBpbnB1dCApOworCisJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMSBvbmx5CisJLy8gT2xkZXIgV2ViS2l0IGRvZXNuJ3QgY2xvbmUgY2hlY2tlZCBzdGF0ZSBjb3JyZWN0bHkgaW4gZnJhZ21lbnRzCisJc3VwcG9ydC5jaGVja0Nsb25lID0gZGl2LmNsb25lTm9kZSggdHJ1ZSApLmNsb25lTm9kZSggdHJ1ZSApLmxhc3RDaGlsZC5jaGVja2VkOworCisJLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5CisJLy8gTWFrZSBzdXJlIHRleHRhcmVhIChhbmQgY2hlY2tib3gpIGRlZmF1bHRWYWx1ZSBpcyBwcm9wZXJseSBjbG9uZWQKKwlkaXYuaW5uZXJIVE1MID0gIjx0ZXh0YXJlYT54PC90ZXh0YXJlYT4iOworCXN1cHBvcnQubm9DbG9uZUNoZWNrZWQgPSAhIWRpdi5jbG9uZU5vZGUoIHRydWUgKS5sYXN0Q2hpbGQuZGVmYXVsdFZhbHVlOworfSApKCk7Cit2YXIgZG9jdW1lbnRFbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OworCisKKwordmFyCisJcmtleUV2ZW50ID0gL15rZXkvLAorCXJtb3VzZUV2ZW50ID0gL14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLAorCXJ0eXBlbmFtZXNwYWNlID0gL14oW14uXSopKD86XC4oLispfCkvOworCitmdW5jdGlvbiByZXR1cm5UcnVlKCkgeworCXJldHVybiB0cnVlOworfQorCitmdW5jdGlvbiByZXR1cm5GYWxzZSgpIHsKKwlyZXR1cm4gZmFsc2U7Cit9CisKKy8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5CisvLyBTZWUgIzEzMzkzIGZvciBtb3JlIGluZm8KK2Z1bmN0aW9uIHNhZmVBY3RpdmVFbGVtZW50KCkgeworCXRyeSB7CisJCXJldHVybiBkb2N1bWVudC5hY3RpdmVFbGVtZW50OworCX0gY2F0Y2ggKCBlcnIgKSB7IH0KK30KKworZnVuY3Rpb24gb24oIGVsZW0sIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4sIG9uZSApIHsKKwl2YXIgb3JpZ0ZuLCB0eXBlOworCisJLy8gVHlwZXMgY2FuIGJlIGEgbWFwIG9mIHR5cGVzL2hhbmRsZXJzCisJaWYgKCB0eXBlb2YgdHlwZXMgPT09ICJvYmplY3QiICkgeworCisJCS8vICggdHlwZXMtT2JqZWN0LCBzZWxlY3RvciwgZGF0YSApCisJCWlmICggdHlwZW9mIHNlbGVjdG9yICE9PSAic3RyaW5nIiApIHsKKworCQkJLy8gKCB0eXBlcy1PYmplY3QsIGRhdGEgKQorCQkJZGF0YSA9IGRhdGEgfHwgc2VsZWN0b3I7CisJCQlzZWxlY3RvciA9IHVuZGVmaW5lZDsKKwkJfQorCQlmb3IgKCB0eXBlIGluIHR5cGVzICkgeworCQkJb24oIGVsZW0sIHR5cGUsIHNlbGVjdG9yLCBkYXRhLCB0eXBlc1sgdHlwZSBdLCBvbmUgKTsKKwkJfQorCQlyZXR1cm4gZWxlbTsKKwl9CisKKwlpZiAoIGRhdGEgPT0gbnVsbCAmJiBmbiA9PSBudWxsICkgeworCisJCS8vICggdHlwZXMsIGZuICkKKwkJZm4gPSBzZWxlY3RvcjsKKwkJZGF0YSA9IHNlbGVjdG9yID0gdW5kZWZpbmVkOworCX0gZWxzZSBpZiAoIGZuID09IG51bGwgKSB7CisJCWlmICggdHlwZW9mIHNlbGVjdG9yID09PSAic3RyaW5nIiApIHsKKworCQkJLy8gKCB0eXBlcywgc2VsZWN0b3IsIGZuICkKKwkJCWZuID0gZGF0YTsKKwkJCWRhdGEgPSB1bmRlZmluZWQ7CisJCX0gZWxzZSB7CisKKwkJCS8vICggdHlwZXMsIGRhdGEsIGZuICkKKwkJCWZuID0gZGF0YTsKKwkJCWRhdGEgPSBzZWxlY3RvcjsKKwkJCXNlbGVjdG9yID0gdW5kZWZpbmVkOworCQl9CisJfQorCWlmICggZm4gPT09IGZhbHNlICkgeworCQlmbiA9IHJldHVybkZhbHNlOworCX0gZWxzZSBpZiAoICFmbiApIHsKKwkJcmV0dXJuIGVsZW07CisJfQorCisJaWYgKCBvbmUgPT09IDEgKSB7CisJCW9yaWdGbiA9IGZuOworCQlmbiA9IGZ1bmN0aW9uKCBldmVudCApIHsKKworCQkJLy8gQ2FuIHVzZSBhbiBlbXB0eSBzZXQsIHNpbmNlIGV2ZW50IGNvbnRhaW5zIHRoZSBpbmZvCisJCQlqUXVlcnkoKS5vZmYoIGV2ZW50ICk7CisJCQlyZXR1cm4gb3JpZ0ZuLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsKKwkJfTsKKworCQkvLyBVc2Ugc2FtZSBndWlkIHNvIGNhbGxlciBjYW4gcmVtb3ZlIHVzaW5nIG9yaWdGbgorCQlmbi5ndWlkID0gb3JpZ0ZuLmd1aWQgfHwgKCBvcmlnRm4uZ3VpZCA9IGpRdWVyeS5ndWlkKysgKTsKKwl9CisJcmV0dXJuIGVsZW0uZWFjaCggZnVuY3Rpb24oKSB7CisJCWpRdWVyeS5ldmVudC5hZGQoIHRoaXMsIHR5cGVzLCBmbiwgZGF0YSwgc2VsZWN0b3IgKTsKKwl9ICk7Cit9CisKKy8qCisgKiBIZWxwZXIgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyBldmVudHMgLS0gbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBpbnRlcmZhY2UuCisgKiBQcm9wcyB0byBEZWFuIEVkd2FyZHMnIGFkZEV2ZW50IGxpYnJhcnkgZm9yIG1hbnkgb2YgdGhlIGlkZWFzLgorICovCitqUXVlcnkuZXZlbnQgPSB7CisKKwlnbG9iYWw6IHt9LAorCisJYWRkOiBmdW5jdGlvbiggZWxlbSwgdHlwZXMsIGhhbmRsZXIsIGRhdGEsIHNlbGVjdG9yICkgeworCisJCXZhciBoYW5kbGVPYmpJbiwgZXZlbnRIYW5kbGUsIHRtcCwKKwkJCWV2ZW50cywgdCwgaGFuZGxlT2JqLAorCQkJc3BlY2lhbCwgaGFuZGxlcnMsIHR5cGUsIG5hbWVzcGFjZXMsIG9yaWdUeXBlLAorCQkJZWxlbURhdGEgPSBkYXRhUHJpdi5nZXQoIGVsZW0gKTsKKworCQkvLyBEb24ndCBhdHRhY2ggZXZlbnRzIHRvIG5vRGF0YSBvciB0ZXh0L2NvbW1lbnQgbm9kZXMgKGJ1dCBhbGxvdyBwbGFpbiBvYmplY3RzKQorCQlpZiAoICFlbGVtRGF0YSApIHsKKwkJCXJldHVybjsKKwkJfQorCisJCS8vIENhbGxlciBjYW4gcGFzcyBpbiBhbiBvYmplY3Qgb2YgY3VzdG9tIGRhdGEgaW4gbGlldSBvZiB0aGUgaGFuZGxlcgorCQlpZiAoIGhhbmRsZXIuaGFuZGxlciApIHsKKwkJCWhhbmRsZU9iakluID0gaGFuZGxlcjsKKwkJCWhhbmRsZXIgPSBoYW5kbGVPYmpJbi5oYW5kbGVyOworCQkJc2VsZWN0b3IgPSBoYW5kbGVPYmpJbi5zZWxlY3RvcjsKKwkJfQorCisJCS8vIEVuc3VyZSB0aGF0IGludmFsaWQgc2VsZWN0b3JzIHRocm93IGV4Y2VwdGlvbnMgYXQgYXR0YWNoIHRpbWUKKwkJLy8gRXZhbHVhdGUgYWdhaW5zdCBkb2N1bWVudEVsZW1lbnQgaW4gY2FzZSBlbGVtIGlzIGEgbm9uLWVsZW1lbnQgbm9kZSAoZS5nLiwgZG9jdW1lbnQpCisJCWlmICggc2VsZWN0b3IgKSB7CisJCQlqUXVlcnkuZmluZC5tYXRjaGVzU2VsZWN0b3IoIGRvY3VtZW50RWxlbWVudCwgc2VsZWN0b3IgKTsKKwkJfQorCisJCS8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBoYW5kbGVyIGhhcyBhIHVuaXF1ZSBJRCwgdXNlZCB0byBmaW5kL3JlbW92ZSBpdCBsYXRlcgorCQlpZiAoICFoYW5kbGVyLmd1aWQgKSB7CisJCQloYW5kbGVyLmd1aWQgPSBqUXVlcnkuZ3VpZCsrOworCQl9CisKKwkJLy8gSW5pdCB0aGUgZWxlbWVudCdzIGV2ZW50IHN0cnVjdHVyZSBhbmQgbWFpbiBoYW5kbGVyLCBpZiB0aGlzIGlzIHRoZSBmaXJzdAorCQlpZiAoICEoIGV2ZW50cyA9IGVsZW1EYXRhLmV2ZW50cyApICkgeworCQkJZXZlbnRzID0gZWxlbURhdGEuZXZlbnRzID0ge307CisJCX0KKwkJaWYgKCAhKCBldmVudEhhbmRsZSA9IGVsZW1EYXRhLmhhbmRsZSApICkgeworCQkJZXZlbnRIYW5kbGUgPSBlbGVtRGF0YS5oYW5kbGUgPSBmdW5jdGlvbiggZSApIHsKKworCQkJCS8vIERpc2NhcmQgdGhlIHNlY29uZCBldmVudCBvZiBhIGpRdWVyeS5ldmVudC50cmlnZ2VyKCkgYW5kCisJCQkJLy8gd2hlbiBhbiBldmVudCBpcyBjYWxsZWQgYWZ0ZXIgYSBwYWdlIGhhcyB1bmxvYWRlZAorCQkJCXJldHVybiB0eXBlb2YgalF1ZXJ5ICE9PSAidW5kZWZpbmVkIiAmJiBqUXVlcnkuZXZlbnQudHJpZ2dlcmVkICE9PSBlLnR5cGUgPworCQkJCQlqUXVlcnkuZXZlbnQuZGlzcGF0Y2guYXBwbHkoIGVsZW0sIGFyZ3VtZW50cyApIDogdW5kZWZpbmVkOworCQkJfTsKKwkJfQorCisJCS8vIEhhbmRsZSBtdWx0aXBsZSBldmVudHMgc2VwYXJhdGVkIGJ5IGEgc3BhY2UKKwkJdHlwZXMgPSAoIHR5cGVzIHx8ICIiICkubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbICIiIF07CisJCXQgPSB0eXBlcy5sZW5ndGg7CisJCXdoaWxlICggdC0tICkgeworCQkJdG1wID0gcnR5cGVuYW1lc3BhY2UuZXhlYyggdHlwZXNbIHQgXSApIHx8IFtdOworCQkJdHlwZSA9IG9yaWdUeXBlID0gdG1wWyAxIF07CisJCQluYW1lc3BhY2VzID0gKCB0bXBbIDIgXSB8fCAiIiApLnNwbGl0KCAiLiIgKS5zb3J0KCk7CisKKwkJCS8vIFRoZXJlICptdXN0KiBiZSBhIHR5cGUsIG5vIGF0dGFjaGluZyBuYW1lc3BhY2Utb25seSBoYW5kbGVycworCQkJaWYgKCAhdHlwZSApIHsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJLy8gSWYgZXZlbnQgY2hhbmdlcyBpdHMgdHlwZSwgdXNlIHRoZSBzcGVjaWFsIGV2ZW50IGhhbmRsZXJzIGZvciB0aGUgY2hhbmdlZCB0eXBlCisJCQlzcGVjaWFsID0galF1ZXJ5LmV2ZW50LnNwZWNpYWxbIHR5cGUgXSB8fCB7fTsKKworCQkJLy8gSWYgc2VsZWN0b3IgZGVmaW5lZCwgZGV0ZXJtaW5lIHNwZWNpYWwgZXZlbnQgYXBpIHR5cGUsIG90aGVyd2lzZSBnaXZlbiB0eXBlCisJCQl0eXBlID0gKCBzZWxlY3RvciA/IHNwZWNpYWwuZGVsZWdhdGVUeXBlIDogc3BlY2lhbC5iaW5kVHlwZSApIHx8IHR5cGU7CisKKwkJCS8vIFVwZGF0ZSBzcGVjaWFsIGJhc2VkIG9uIG5ld2x5IHJlc2V0IHR5cGUKKwkJCXNwZWNpYWwgPSBqUXVlcnkuZXZlbnQuc3BlY2lhbFsgdHlwZSBdIHx8IHt9OworCisJCQkvLyBoYW5kbGVPYmogaXMgcGFzc2VkIHRvIGFsbCBldmVudCBoYW5kbGVycworCQkJaGFuZGxlT2JqID0galF1ZXJ5LmV4dGVuZCggeworCQkJCXR5cGU6IHR5cGUsCisJCQkJb3JpZ1R5cGU6IG9yaWdUeXBlLAorCQkJCWRhdGE6IGRhdGEsCisJCQkJaGFuZGxlcjogaGFuZGxlciwKKwkJCQlndWlkOiBoYW5kbGVyLmd1aWQsCisJCQkJc2VsZWN0b3I6IHNlbGVjdG9yLAorCQkJCW5lZWRzQ29udGV4dDogc2VsZWN0b3IgJiYgalF1ZXJ5LmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRlc3QoIHNlbGVjdG9yICksCisJCQkJbmFtZXNwYWNlOiBuYW1lc3BhY2VzLmpvaW4oICIuIiApCisJCQl9LCBoYW5kbGVPYmpJbiApOworCisJCQkvLyBJbml0IHRoZSBldmVudCBoYW5kbGVyIHF1ZXVlIGlmIHdlJ3JlIHRoZSBmaXJzdAorCQkJaWYgKCAhKCBoYW5kbGVycyA9IGV2ZW50c1sgdHlwZSBdICkgKSB7CisJCQkJaGFuZGxlcnMgPSBldmVudHNbIHR5cGUgXSA9IFtdOworCQkJCWhhbmRsZXJzLmRlbGVnYXRlQ291bnQgPSAwOworCisJCQkJLy8gT25seSB1c2UgYWRkRXZlbnRMaXN0ZW5lciBpZiB0aGUgc3BlY2lhbCBldmVudHMgaGFuZGxlciByZXR1cm5zIGZhbHNlCisJCQkJaWYgKCAhc3BlY2lhbC5zZXR1cCB8fAorCQkJCQlzcGVjaWFsLnNldHVwLmNhbGwoIGVsZW0sIGRhdGEsIG5hbWVzcGFjZXMsIGV2ZW50SGFuZGxlICkgPT09IGZhbHNlICkgeworCisJCQkJCWlmICggZWxlbS5hZGRFdmVudExpc3RlbmVyICkgeworCQkJCQkJZWxlbS5hZGRFdmVudExpc3RlbmVyKCB0eXBlLCBldmVudEhhbmRsZSApOworCQkJCQl9CisJCQkJfQorCQkJfQorCisJCQlpZiAoIHNwZWNpYWwuYWRkICkgeworCQkJCXNwZWNpYWwuYWRkLmNhbGwoIGVsZW0sIGhhbmRsZU9iaiApOworCisJCQkJaWYgKCAhaGFuZGxlT2JqLmhhbmRsZXIuZ3VpZCApIHsKKwkJCQkJaGFuZGxlT2JqLmhhbmRsZXIuZ3VpZCA9IGhhbmRsZXIuZ3VpZDsKKwkJCQl9CisJCQl9CisKKwkJCS8vIEFkZCB0byB0aGUgZWxlbWVudCdzIGhhbmRsZXIgbGlzdCwgZGVsZWdhdGVzIGluIGZyb250CisJCQlpZiAoIHNlbGVjdG9yICkgeworCQkJCWhhbmRsZXJzLnNwbGljZSggaGFuZGxlcnMuZGVsZWdhdGVDb3VudCsrLCAwLCBoYW5kbGVPYmogKTsKKwkJCX0gZWxzZSB7CisJCQkJaGFuZGxlcnMucHVzaCggaGFuZGxlT2JqICk7CisJCQl9CisKKwkJCS8vIEtlZXAgdHJhY2sgb2Ygd2hpY2ggZXZlbnRzIGhhdmUgZXZlciBiZWVuIHVzZWQsIGZvciBldmVudCBvcHRpbWl6YXRpb24KKwkJCWpRdWVyeS5ldmVudC5nbG9iYWxbIHR5cGUgXSA9IHRydWU7CisJCX0KKworCX0sCisKKwkvLyBEZXRhY2ggYW4gZXZlbnQgb3Igc2V0IG9mIGV2ZW50cyBmcm9tIGFuIGVsZW1lbnQKKwlyZW1vdmU6IGZ1bmN0aW9uKCBlbGVtLCB0eXBlcywgaGFuZGxlciwgc2VsZWN0b3IsIG1hcHBlZFR5cGVzICkgeworCisJCXZhciBqLCBvcmlnQ291bnQsIHRtcCwKKwkJCWV2ZW50cywgdCwgaGFuZGxlT2JqLAorCQkJc3BlY2lhbCwgaGFuZGxlcnMsIHR5cGUsIG5hbWVzcGFjZXMsIG9yaWdUeXBlLAorCQkJZWxlbURhdGEgPSBkYXRhUHJpdi5oYXNEYXRhKCBlbGVtICkgJiYgZGF0YVByaXYuZ2V0KCBlbGVtICk7CisKKwkJaWYgKCAhZWxlbURhdGEgfHwgISggZXZlbnRzID0gZWxlbURhdGEuZXZlbnRzICkgKSB7CisJCQlyZXR1cm47CisJCX0KKworCQkvLyBPbmNlIGZvciBlYWNoIHR5cGUubmFtZXNwYWNlIGluIHR5cGVzOyB0eXBlIG1heSBiZSBvbWl0dGVkCisJCXR5cGVzID0gKCB0eXBlcyB8fCAiIiApLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgWyAiIiBdOworCQl0ID0gdHlwZXMubGVuZ3RoOworCQl3aGlsZSAoIHQtLSApIHsKKwkJCXRtcCA9IHJ0eXBlbmFtZXNwYWNlLmV4ZWMoIHR5cGVzWyB0IF0gKSB8fCBbXTsKKwkJCXR5cGUgPSBvcmlnVHlwZSA9IHRtcFsgMSBdOworCQkJbmFtZXNwYWNlcyA9ICggdG1wWyAyIF0gfHwgIiIgKS5zcGxpdCggIi4iICkuc29ydCgpOworCisJCQkvLyBVbmJpbmQgYWxsIGV2ZW50cyAob24gdGhpcyBuYW1lc3BhY2UsIGlmIHByb3ZpZGVkKSBmb3IgdGhlIGVsZW1lbnQKKwkJCWlmICggIXR5cGUgKSB7CisJCQkJZm9yICggdHlwZSBpbiBldmVudHMgKSB7CisJCQkJCWpRdWVyeS5ldmVudC5yZW1vdmUoIGVsZW0sIHR5cGUgKyB0eXBlc1sgdCBdLCBoYW5kbGVyLCBzZWxlY3RvciwgdHJ1ZSApOworCQkJCX0KKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJc3BlY2lhbCA9IGpRdWVyeS5ldmVudC5zcGVjaWFsWyB0eXBlIF0gfHwge307CisJCQl0eXBlID0gKCBzZWxlY3RvciA/IHNwZWNpYWwuZGVsZWdhdGVUeXBlIDogc3BlY2lhbC5iaW5kVHlwZSApIHx8IHR5cGU7CisJCQloYW5kbGVycyA9IGV2ZW50c1sgdHlwZSBdIHx8IFtdOworCQkJdG1wID0gdG1wWyAyIF0gJiYKKwkJCQluZXcgUmVnRXhwKCAiKF58XFwuKSIgKyBuYW1lc3BhY2VzLmpvaW4oICJcXC4oPzouKlxcLnwpIiApICsgIihcXC58JCkiICk7CisKKwkJCS8vIFJlbW92ZSBtYXRjaGluZyBldmVudHMKKwkJCW9yaWdDb3VudCA9IGogPSBoYW5kbGVycy5sZW5ndGg7CisJCQl3aGlsZSAoIGotLSApIHsKKwkJCQloYW5kbGVPYmogPSBoYW5kbGVyc1sgaiBdOworCisJCQkJaWYgKCAoIG1hcHBlZFR5cGVzIHx8IG9yaWdUeXBlID09PSBoYW5kbGVPYmoub3JpZ1R5cGUgKSAmJgorCQkJCQkoICFoYW5kbGVyIHx8IGhhbmRsZXIuZ3VpZCA9PT0gaGFuZGxlT2JqLmd1aWQgKSAmJgorCQkJCQkoICF0bXAgfHwgdG1wLnRlc3QoIGhhbmRsZU9iai5uYW1lc3BhY2UgKSApICYmCisJCQkJCSggIXNlbGVjdG9yIHx8IHNlbGVjdG9yID09PSBoYW5kbGVPYmouc2VsZWN0b3IgfHwKKwkJCQkJCXNlbGVjdG9yID09PSAiKioiICYmIGhhbmRsZU9iai5zZWxlY3RvciApICkgeworCQkJCQloYW5kbGVycy5zcGxpY2UoIGosIDEgKTsKKworCQkJCQlpZiAoIGhhbmRsZU9iai5zZWxlY3RvciApIHsKKwkJCQkJCWhhbmRsZXJzLmRlbGVnYXRlQ291bnQtLTsKKwkJCQkJfQorCQkJCQlpZiAoIHNwZWNpYWwucmVtb3ZlICkgeworCQkJCQkJc3BlY2lhbC5yZW1vdmUuY2FsbCggZWxlbSwgaGFuZGxlT2JqICk7CisJCQkJCX0KKwkJCQl9CisJCQl9CisKKwkJCS8vIFJlbW92ZSBnZW5lcmljIGV2ZW50IGhhbmRsZXIgaWYgd2UgcmVtb3ZlZCBzb21ldGhpbmcgYW5kIG5vIG1vcmUgaGFuZGxlcnMgZXhpc3QKKwkJCS8vIChhdm9pZHMgcG90ZW50aWFsIGZvciBlbmRsZXNzIHJlY3Vyc2lvbiBkdXJpbmcgcmVtb3ZhbCBvZiBzcGVjaWFsIGV2ZW50IGhhbmRsZXJzKQorCQkJaWYgKCBvcmlnQ291bnQgJiYgIWhhbmRsZXJzLmxlbmd0aCApIHsKKwkJCQlpZiAoICFzcGVjaWFsLnRlYXJkb3duIHx8CisJCQkJCXNwZWNpYWwudGVhcmRvd24uY2FsbCggZWxlbSwgbmFtZXNwYWNlcywgZWxlbURhdGEuaGFuZGxlICkgPT09IGZhbHNlICkgeworCisJCQkJCWpRdWVyeS5yZW1vdmVFdmVudCggZWxlbSwgdHlwZSwgZWxlbURhdGEuaGFuZGxlICk7CisJCQkJfQorCisJCQkJZGVsZXRlIGV2ZW50c1sgdHlwZSBdOworCQkJfQorCQl9CisKKwkJLy8gUmVtb3ZlIGRhdGEgYW5kIHRoZSBleHBhbmRvIGlmIGl0J3Mgbm8gbG9uZ2VyIHVzZWQKKwkJaWYgKCBqUXVlcnkuaXNFbXB0eU9iamVjdCggZXZlbnRzICkgKSB7CisJCQlkYXRhUHJpdi5yZW1vdmUoIGVsZW0sICJoYW5kbGUgZXZlbnRzIiApOworCQl9CisJfSwKKworCWRpc3BhdGNoOiBmdW5jdGlvbiggbmF0aXZlRXZlbnQgKSB7CisKKwkJLy8gTWFrZSBhIHdyaXRhYmxlIGpRdWVyeS5FdmVudCBmcm9tIHRoZSBuYXRpdmUgZXZlbnQgb2JqZWN0CisJCXZhciBldmVudCA9IGpRdWVyeS5ldmVudC5maXgoIG5hdGl2ZUV2ZW50ICk7CisKKwkJdmFyIGksIGosIHJldCwgbWF0Y2hlZCwgaGFuZGxlT2JqLCBoYW5kbGVyUXVldWUsCisJCQlhcmdzID0gbmV3IEFycmF5KCBhcmd1bWVudHMubGVuZ3RoICksCisJCQloYW5kbGVycyA9ICggZGF0YVByaXYuZ2V0KCB0aGlzLCAiZXZlbnRzIiApIHx8IHt9IClbIGV2ZW50LnR5cGUgXSB8fCBbXSwKKwkJCXNwZWNpYWwgPSBqUXVlcnkuZXZlbnQuc3BlY2lhbFsgZXZlbnQudHlwZSBdIHx8IHt9OworCisJCS8vIFVzZSB0aGUgZml4LWVkIGpRdWVyeS5FdmVudCByYXRoZXIgdGhhbiB0aGUgKHJlYWQtb25seSkgbmF0aXZlIGV2ZW50CisJCWFyZ3NbIDAgXSA9IGV2ZW50OworCisJCWZvciAoIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrICkgeworCQkJYXJnc1sgaSBdID0gYXJndW1lbnRzWyBpIF07CisJCX0KKworCQlldmVudC5kZWxlZ2F0ZVRhcmdldCA9IHRoaXM7CisKKwkJLy8gQ2FsbCB0aGUgcHJlRGlzcGF0Y2ggaG9vayBmb3IgdGhlIG1hcHBlZCB0eXBlLCBhbmQgbGV0IGl0IGJhaWwgaWYgZGVzaXJlZAorCQlpZiAoIHNwZWNpYWwucHJlRGlzcGF0Y2ggJiYgc3BlY2lhbC5wcmVEaXNwYXRjaC5jYWxsKCB0aGlzLCBldmVudCApID09PSBmYWxzZSApIHsKKwkJCXJldHVybjsKKwkJfQorCisJCS8vIERldGVybWluZSBoYW5kbGVycworCQloYW5kbGVyUXVldWUgPSBqUXVlcnkuZXZlbnQuaGFuZGxlcnMuY2FsbCggdGhpcywgZXZlbnQsIGhhbmRsZXJzICk7CisKKwkJLy8gUnVuIGRlbGVnYXRlcyBmaXJzdDsgdGhleSBtYXkgd2FudCB0byBzdG9wIHByb3BhZ2F0aW9uIGJlbmVhdGggdXMKKwkJaSA9IDA7CisJCXdoaWxlICggKCBtYXRjaGVkID0gaGFuZGxlclF1ZXVlWyBpKysgXSApICYmICFldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpICkgeworCQkJZXZlbnQuY3VycmVudFRhcmdldCA9IG1hdGNoZWQuZWxlbTsKKworCQkJaiA9IDA7CisJCQl3aGlsZSAoICggaGFuZGxlT2JqID0gbWF0Y2hlZC5oYW5kbGVyc1sgaisrIF0gKSAmJgorCQkJCSFldmVudC5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpICkgeworCisJCQkJLy8gVHJpZ2dlcmVkIGV2ZW50IG11c3QgZWl0aGVyIDEpIGhhdmUgbm8gbmFtZXNwYWNlLCBvciAyKSBoYXZlIG5hbWVzcGFjZShzKQorCQkJCS8vIGEgc3Vic2V0IG9yIGVxdWFsIHRvIHRob3NlIGluIHRoZSBib3VuZCBldmVudCAoYm90aCBjYW4gaGF2ZSBubyBuYW1lc3BhY2UpLgorCQkJCWlmICggIWV2ZW50LnJuYW1lc3BhY2UgfHwgZXZlbnQucm5hbWVzcGFjZS50ZXN0KCBoYW5kbGVPYmoubmFtZXNwYWNlICkgKSB7CisKKwkJCQkJZXZlbnQuaGFuZGxlT2JqID0gaGFuZGxlT2JqOworCQkJCQlldmVudC5kYXRhID0gaGFuZGxlT2JqLmRhdGE7CisKKwkJCQkJcmV0ID0gKCAoIGpRdWVyeS5ldmVudC5zcGVjaWFsWyBoYW5kbGVPYmoub3JpZ1R5cGUgXSB8fCB7fSApLmhhbmRsZSB8fAorCQkJCQkJaGFuZGxlT2JqLmhhbmRsZXIgKS5hcHBseSggbWF0Y2hlZC5lbGVtLCBhcmdzICk7CisKKwkJCQkJaWYgKCByZXQgIT09IHVuZGVmaW5lZCApIHsKKwkJCQkJCWlmICggKCBldmVudC5yZXN1bHQgPSByZXQgKSA9PT0gZmFsc2UgKSB7CisJCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKKwkJCQkJCQlldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCX0KKwkJCX0KKwkJfQorCisJCS8vIENhbGwgdGhlIHBvc3REaXNwYXRjaCBob29rIGZvciB0aGUgbWFwcGVkIHR5cGUKKwkJaWYgKCBzcGVjaWFsLnBvc3REaXNwYXRjaCApIHsKKwkJCXNwZWNpYWwucG9zdERpc3BhdGNoLmNhbGwoIHRoaXMsIGV2ZW50ICk7CisJCX0KKworCQlyZXR1cm4gZXZlbnQucmVzdWx0OworCX0sCisKKwloYW5kbGVyczogZnVuY3Rpb24oIGV2ZW50LCBoYW5kbGVycyApIHsKKwkJdmFyIGksIGhhbmRsZU9iaiwgc2VsLCBtYXRjaGVkSGFuZGxlcnMsIG1hdGNoZWRTZWxlY3RvcnMsCisJCQloYW5kbGVyUXVldWUgPSBbXSwKKwkJCWRlbGVnYXRlQ291bnQgPSBoYW5kbGVycy5kZWxlZ2F0ZUNvdW50LAorCQkJY3VyID0gZXZlbnQudGFyZ2V0OworCisJCS8vIEZpbmQgZGVsZWdhdGUgaGFuZGxlcnMKKwkJaWYgKCBkZWxlZ2F0ZUNvdW50ICYmCisKKwkJCS8vIFN1cHBvcnQ6IElFIDw9OQorCQkJLy8gQmxhY2staG9sZSBTVkcgPHVzZT4gaW5zdGFuY2UgdHJlZXMgKHRyYWMtMTMxODApCisJCQljdXIubm9kZVR5cGUgJiYKKworCQkJLy8gU3VwcG9ydDogRmlyZWZveCA8PTQyCisJCQkvLyBTdXBwcmVzcyBzcGVjLXZpb2xhdGluZyBjbGlja3MgaW5kaWNhdGluZyBhIG5vbi1wcmltYXJ5IHBvaW50ZXIgYnV0dG9uICh0cmFjLTM4NjEpCisJCQkvLyBodHRwczovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzLyNldmVudC10eXBlLWNsaWNrCisJCQkvLyBTdXBwb3J0OiBJRSAxMSBvbmx5CisJCQkvLyAuLi5idXQgbm90IGFycm93IGtleSAiY2xpY2tzIiBvZiByYWRpbyBpbnB1dHMsIHdoaWNoIGNhbiBoYXZlIGBidXR0b25gIC0xIChnaC0yMzQzKQorCQkJISggZXZlbnQudHlwZSA9PT0gImNsaWNrIiAmJiBldmVudC5idXR0b24gPj0gMSApICkgeworCisJCQlmb3IgKCA7IGN1ciAhPT0gdGhpczsgY3VyID0gY3VyLnBhcmVudE5vZGUgfHwgdGhpcyApIHsKKworCQkJCS8vIERvbid0IGNoZWNrIG5vbi1lbGVtZW50cyAoIzEzMjA4KQorCQkJCS8vIERvbid0IHByb2Nlc3MgY2xpY2tzIG9uIGRpc2FibGVkIGVsZW1lbnRzICgjNjkxMSwgIzgxNjUsICMxMTM4MiwgIzExNzY0KQorCQkJCWlmICggY3VyLm5vZGVUeXBlID09PSAxICYmICEoIGV2ZW50LnR5cGUgPT09ICJjbGljayIgJiYgY3VyLmRpc2FibGVkID09PSB0cnVlICkgKSB7CisJCQkJCW1hdGNoZWRIYW5kbGVycyA9IFtdOworCQkJCQltYXRjaGVkU2VsZWN0b3JzID0ge307CisJCQkJCWZvciAoIGkgPSAwOyBpIDwgZGVsZWdhdGVDb3VudDsgaSsrICkgeworCQkJCQkJaGFuZGxlT2JqID0gaGFuZGxlcnNbIGkgXTsKKworCQkJCQkJLy8gRG9uJ3QgY29uZmxpY3Qgd2l0aCBPYmplY3QucHJvdG90eXBlIHByb3BlcnRpZXMgKCMxMzIwMykKKwkJCQkJCXNlbCA9IGhhbmRsZU9iai5zZWxlY3RvciArICIgIjsKKworCQkJCQkJaWYgKCBtYXRjaGVkU2VsZWN0b3JzWyBzZWwgXSA9PT0gdW5kZWZpbmVkICkgeworCQkJCQkJCW1hdGNoZWRTZWxlY3RvcnNbIHNlbCBdID0gaGFuZGxlT2JqLm5lZWRzQ29udGV4dCA/CisJCQkJCQkJCWpRdWVyeSggc2VsLCB0aGlzICkuaW5kZXgoIGN1ciApID4gLTEgOgorCQkJCQkJCQlqUXVlcnkuZmluZCggc2VsLCB0aGlzLCBudWxsLCBbIGN1ciBdICkubGVuZ3RoOworCQkJCQkJfQorCQkJCQkJaWYgKCBtYXRjaGVkU2VsZWN0b3JzWyBzZWwgXSApIHsKKwkJCQkJCQltYXRjaGVkSGFuZGxlcnMucHVzaCggaGFuZGxlT2JqICk7CisJCQkJCQl9CisJCQkJCX0KKwkJCQkJaWYgKCBtYXRjaGVkSGFuZGxlcnMubGVuZ3RoICkgeworCQkJCQkJaGFuZGxlclF1ZXVlLnB1c2goIHsgZWxlbTogY3VyLCBoYW5kbGVyczogbWF0Y2hlZEhhbmRsZXJzIH0gKTsKKwkJCQkJfQorCQkJCX0KKwkJCX0KKwkJfQorCisJCS8vIEFkZCB0aGUgcmVtYWluaW5nIChkaXJlY3RseS1ib3VuZCkgaGFuZGxlcnMKKwkJY3VyID0gdGhpczsKKwkJaWYgKCBkZWxlZ2F0ZUNvdW50IDwgaGFuZGxlcnMubGVuZ3RoICkgeworCQkJaGFuZGxlclF1ZXVlLnB1c2goIHsgZWxlbTogY3VyLCBoYW5kbGVyczogaGFuZGxlcnMuc2xpY2UoIGRlbGVnYXRlQ291bnQgKSB9ICk7CisJCX0KKworCQlyZXR1cm4gaGFuZGxlclF1ZXVlOworCX0sCisKKwlhZGRQcm9wOiBmdW5jdGlvbiggbmFtZSwgaG9vayApIHsKKwkJT2JqZWN0LmRlZmluZVByb3BlcnR5KCBqUXVlcnkuRXZlbnQucHJvdG90eXBlLCBuYW1lLCB7CisJCQllbnVtZXJhYmxlOiB0cnVlLAorCQkJY29uZmlndXJhYmxlOiB0cnVlLAorCisJCQlnZXQ6IGpRdWVyeS5pc0Z1bmN0aW9uKCBob29rICkgPworCQkJCWZ1bmN0aW9uKCkgeworCQkJCQlpZiAoIHRoaXMub3JpZ2luYWxFdmVudCApIHsKKwkJCQkJCQlyZXR1cm4gaG9vayggdGhpcy5vcmlnaW5hbEV2ZW50ICk7CisJCQkJCX0KKwkJCQl9IDoKKwkJCQlmdW5jdGlvbigpIHsKKwkJCQkJaWYgKCB0aGlzLm9yaWdpbmFsRXZlbnQgKSB7CisJCQkJCQkJcmV0dXJuIHRoaXMub3JpZ2luYWxFdmVudFsgbmFtZSBdOworCQkJCQl9CisJCQkJfSwKKworCQkJc2V0OiBmdW5jdGlvbiggdmFsdWUgKSB7CisJCQkJT2JqZWN0LmRlZmluZVByb3BlcnR5KCB0aGlzLCBuYW1lLCB7CisJCQkJCWVudW1lcmFibGU6IHRydWUsCisJCQkJCWNvbmZpZ3VyYWJsZTogdHJ1ZSwKKwkJCQkJd3JpdGFibGU6IHRydWUsCisJCQkJCXZhbHVlOiB2YWx1ZQorCQkJCX0gKTsKKwkJCX0KKwkJfSApOworCX0sCisKKwlmaXg6IGZ1bmN0aW9uKCBvcmlnaW5hbEV2ZW50ICkgeworCQlyZXR1cm4gb3JpZ2luYWxFdmVudFsgalF1ZXJ5LmV4cGFuZG8gXSA/CisJCQlvcmlnaW5hbEV2ZW50IDoKKwkJCW5ldyBqUXVlcnkuRXZlbnQoIG9yaWdpbmFsRXZlbnQgKTsKKwl9LAorCisJc3BlY2lhbDogeworCQlsb2FkOiB7CisKKwkJCS8vIFByZXZlbnQgdHJpZ2dlcmVkIGltYWdlLmxvYWQgZXZlbnRzIGZyb20gYnViYmxpbmcgdG8gd2luZG93LmxvYWQKKwkJCW5vQnViYmxlOiB0cnVlCisJCX0sCisJCWZvY3VzOiB7CisKKwkJCS8vIEZpcmUgbmF0aXZlIGV2ZW50IGlmIHBvc3NpYmxlIHNvIGJsdXIvZm9jdXMgc2VxdWVuY2UgaXMgY29ycmVjdAorCQkJdHJpZ2dlcjogZnVuY3Rpb24oKSB7CisJCQkJaWYgKCB0aGlzICE9PSBzYWZlQWN0aXZlRWxlbWVudCgpICYmIHRoaXMuZm9jdXMgKSB7CisJCQkJCXRoaXMuZm9jdXMoKTsKKwkJCQkJcmV0dXJuIGZhbHNlOworCQkJCX0KKwkJCX0sCisJCQlkZWxlZ2F0ZVR5cGU6ICJmb2N1c2luIgorCQl9LAorCQlibHVyOiB7CisJCQl0cmlnZ2VyOiBmdW5jdGlvbigpIHsKKwkJCQlpZiAoIHRoaXMgPT09IHNhZmVBY3RpdmVFbGVtZW50KCkgJiYgdGhpcy5ibHVyICkgeworCQkJCQl0aGlzLmJsdXIoKTsKKwkJCQkJcmV0dXJuIGZhbHNlOworCQkJCX0KKwkJCX0sCisJCQlkZWxlZ2F0ZVR5cGU6ICJmb2N1c291dCIKKwkJfSwKKwkJY2xpY2s6IHsKKworCQkJLy8gRm9yIGNoZWNrYm94LCBmaXJlIG5hdGl2ZSBldmVudCBzbyBjaGVja2VkIHN0YXRlIHdpbGwgYmUgcmlnaHQKKwkJCXRyaWdnZXI6IGZ1bmN0aW9uKCkgeworCQkJCWlmICggdGhpcy50eXBlID09PSAiY2hlY2tib3giICYmIHRoaXMuY2xpY2sgJiYgbm9kZU5hbWUoIHRoaXMsICJpbnB1dCIgKSApIHsKKwkJCQkJdGhpcy5jbGljaygpOworCQkJCQlyZXR1cm4gZmFsc2U7CisJCQkJfQorCQkJfSwKKworCQkJLy8gRm9yIGNyb3NzLWJyb3dzZXIgY29uc2lzdGVuY3ksIGRvbid0IGZpcmUgbmF0aXZlIC5jbGljaygpIG9uIGxpbmtzCisJCQlfZGVmYXVsdDogZnVuY3Rpb24oIGV2ZW50ICkgeworCQkJCXJldHVybiBub2RlTmFtZSggZXZlbnQudGFyZ2V0LCAiYSIgKTsKKwkJCX0KKwkJfSwKKworCQliZWZvcmV1bmxvYWQ6IHsKKwkJCXBvc3REaXNwYXRjaDogZnVuY3Rpb24oIGV2ZW50ICkgeworCisJCQkJLy8gU3VwcG9ydDogRmlyZWZveCAyMCsKKwkJCQkvLyBGaXJlZm94IGRvZXNuJ3QgYWxlcnQgaWYgdGhlIHJldHVyblZhbHVlIGZpZWxkIGlzIG5vdCBzZXQuCisJCQkJaWYgKCBldmVudC5yZXN1bHQgIT09IHVuZGVmaW5lZCAmJiBldmVudC5vcmlnaW5hbEV2ZW50ICkgeworCQkJCQlldmVudC5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlID0gZXZlbnQucmVzdWx0OworCQkJCX0KKwkJCX0KKwkJfQorCX0KK307CisKK2pRdWVyeS5yZW1vdmVFdmVudCA9IGZ1bmN0aW9uKCBlbGVtLCB0eXBlLCBoYW5kbGUgKSB7CisKKwkvLyBUaGlzICJpZiIgaXMgbmVlZGVkIGZvciBwbGFpbiBvYmplY3RzCisJaWYgKCBlbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIgKSB7CisJCWVsZW0ucmVtb3ZlRXZlbnRMaXN0ZW5lciggdHlwZSwgaGFuZGxlICk7CisJfQorfTsKKworalF1ZXJ5LkV2ZW50ID0gZnVuY3Rpb24oIHNyYywgcHJvcHMgKSB7CisKKwkvLyBBbGxvdyBpbnN0YW50aWF0aW9uIHdpdGhvdXQgdGhlICduZXcnIGtleXdvcmQKKwlpZiAoICEoIHRoaXMgaW5zdGFuY2VvZiBqUXVlcnkuRXZlbnQgKSApIHsKKwkJcmV0dXJuIG5ldyBqUXVlcnkuRXZlbnQoIHNyYywgcHJvcHMgKTsKKwl9CisKKwkvLyBFdmVudCBvYmplY3QKKwlpZiAoIHNyYyAmJiBzcmMudHlwZSApIHsKKwkJdGhpcy5vcmlnaW5hbEV2ZW50ID0gc3JjOworCQl0aGlzLnR5cGUgPSBzcmMudHlwZTsKKworCQkvLyBFdmVudHMgYnViYmxpbmcgdXAgdGhlIGRvY3VtZW50IG1heSBoYXZlIGJlZW4gbWFya2VkIGFzIHByZXZlbnRlZAorCQkvLyBieSBhIGhhbmRsZXIgbG93ZXIgZG93biB0aGUgdHJlZTsgcmVmbGVjdCB0aGUgY29ycmVjdCB2YWx1ZS4KKwkJdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBzcmMuZGVmYXVsdFByZXZlbnRlZCB8fAorCQkJCXNyYy5kZWZhdWx0UHJldmVudGVkID09PSB1bmRlZmluZWQgJiYKKworCQkJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgPD0yLjMgb25seQorCQkJCXNyYy5yZXR1cm5WYWx1ZSA9PT0gZmFsc2UgPworCQkJcmV0dXJuVHJ1ZSA6CisJCQlyZXR1cm5GYWxzZTsKKworCQkvLyBDcmVhdGUgdGFyZ2V0IHByb3BlcnRpZXMKKwkJLy8gU3VwcG9ydDogU2FmYXJpIDw9NiAtIDcgb25seQorCQkvLyBUYXJnZXQgc2hvdWxkIG5vdCBiZSBhIHRleHQgbm9kZSAoIzUwNCwgIzEzMTQzKQorCQl0aGlzLnRhcmdldCA9ICggc3JjLnRhcmdldCAmJiBzcmMudGFyZ2V0Lm5vZGVUeXBlID09PSAzICkgPworCQkJc3JjLnRhcmdldC5wYXJlbnROb2RlIDoKKwkJCXNyYy50YXJnZXQ7CisKKwkJdGhpcy5jdXJyZW50VGFyZ2V0ID0gc3JjLmN1cnJlbnRUYXJnZXQ7CisJCXRoaXMucmVsYXRlZFRhcmdldCA9IHNyYy5yZWxhdGVkVGFyZ2V0OworCisJLy8gRXZlbnQgdHlwZQorCX0gZWxzZSB7CisJCXRoaXMudHlwZSA9IHNyYzsKKwl9CisKKwkvLyBQdXQgZXhwbGljaXRseSBwcm92aWRlZCBwcm9wZXJ0aWVzIG9udG8gdGhlIGV2ZW50IG9iamVjdAorCWlmICggcHJvcHMgKSB7CisJCWpRdWVyeS5leHRlbmQoIHRoaXMsIHByb3BzICk7CisJfQorCisJLy8gQ3JlYXRlIGEgdGltZXN0YW1wIGlmIGluY29taW5nIGV2ZW50IGRvZXNuJ3QgaGF2ZSBvbmUKKwl0aGlzLnRpbWVTdGFtcCA9IHNyYyAmJiBzcmMudGltZVN0YW1wIHx8IGpRdWVyeS5ub3coKTsKKworCS8vIE1hcmsgaXQgYXMgZml4ZWQKKwl0aGlzWyBqUXVlcnkuZXhwYW5kbyBdID0gdHJ1ZTsKK307CisKKy8vIGpRdWVyeS5FdmVudCBpcyBiYXNlZCBvbiBET00zIEV2ZW50cyBhcyBzcGVjaWZpZWQgYnkgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgQmluZGluZworLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMDMvV0QtRE9NLUxldmVsLTMtRXZlbnRzLTIwMDMwMzMxL2VjbWEtc2NyaXB0LWJpbmRpbmcuaHRtbAoralF1ZXJ5LkV2ZW50LnByb3RvdHlwZSA9IHsKKwljb25zdHJ1Y3RvcjogalF1ZXJ5LkV2ZW50LAorCWlzRGVmYXVsdFByZXZlbnRlZDogcmV0dXJuRmFsc2UsCisJaXNQcm9wYWdhdGlvblN0b3BwZWQ6IHJldHVybkZhbHNlLAorCWlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOiByZXR1cm5GYWxzZSwKKwlpc1NpbXVsYXRlZDogZmFsc2UsCisKKwlwcmV2ZW50RGVmYXVsdDogZnVuY3Rpb24oKSB7CisJCXZhciBlID0gdGhpcy5vcmlnaW5hbEV2ZW50OworCisJCXRoaXMuaXNEZWZhdWx0UHJldmVudGVkID0gcmV0dXJuVHJ1ZTsKKworCQlpZiAoIGUgJiYgIXRoaXMuaXNTaW11bGF0ZWQgKSB7CisJCQllLnByZXZlbnREZWZhdWx0KCk7CisJCX0KKwl9LAorCXN0b3BQcm9wYWdhdGlvbjogZnVuY3Rpb24oKSB7CisJCXZhciBlID0gdGhpcy5vcmlnaW5hbEV2ZW50OworCisJCXRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQgPSByZXR1cm5UcnVlOworCisJCWlmICggZSAmJiAhdGhpcy5pc1NpbXVsYXRlZCApIHsKKwkJCWUuc3RvcFByb3BhZ2F0aW9uKCk7CisJCX0KKwl9LAorCXN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjogZnVuY3Rpb24oKSB7CisJCXZhciBlID0gdGhpcy5vcmlnaW5hbEV2ZW50OworCisJCXRoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQgPSByZXR1cm5UcnVlOworCisJCWlmICggZSAmJiAhdGhpcy5pc1NpbXVsYXRlZCApIHsKKwkJCWUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7CisJCX0KKworCQl0aGlzLnN0b3BQcm9wYWdhdGlvbigpOworCX0KK307CisKKy8vIEluY2x1ZGVzIGFsbCBjb21tb24gZXZlbnQgcHJvcHMgaW5jbHVkaW5nIEtleUV2ZW50IGFuZCBNb3VzZUV2ZW50IHNwZWNpZmljIHByb3BzCitqUXVlcnkuZWFjaCggeworCWFsdEtleTogdHJ1ZSwKKwlidWJibGVzOiB0cnVlLAorCWNhbmNlbGFibGU6IHRydWUsCisJY2hhbmdlZFRvdWNoZXM6IHRydWUsCisJY3RybEtleTogdHJ1ZSwKKwlkZXRhaWw6IHRydWUsCisJZXZlbnRQaGFzZTogdHJ1ZSwKKwltZXRhS2V5OiB0cnVlLAorCXBhZ2VYOiB0cnVlLAorCXBhZ2VZOiB0cnVlLAorCXNoaWZ0S2V5OiB0cnVlLAorCXZpZXc6IHRydWUsCisJImNoYXIiOiB0cnVlLAorCWNoYXJDb2RlOiB0cnVlLAorCWtleTogdHJ1ZSwKKwlrZXlDb2RlOiB0cnVlLAorCWJ1dHRvbjogdHJ1ZSwKKwlidXR0b25zOiB0cnVlLAorCWNsaWVudFg6IHRydWUsCisJY2xpZW50WTogdHJ1ZSwKKwlvZmZzZXRYOiB0cnVlLAorCW9mZnNldFk6IHRydWUsCisJcG9pbnRlcklkOiB0cnVlLAorCXBvaW50ZXJUeXBlOiB0cnVlLAorCXNjcmVlblg6IHRydWUsCisJc2NyZWVuWTogdHJ1ZSwKKwl0YXJnZXRUb3VjaGVzOiB0cnVlLAorCXRvRWxlbWVudDogdHJ1ZSwKKwl0b3VjaGVzOiB0cnVlLAorCisJd2hpY2g6IGZ1bmN0aW9uKCBldmVudCApIHsKKwkJdmFyIGJ1dHRvbiA9IGV2ZW50LmJ1dHRvbjsKKworCQkvLyBBZGQgd2hpY2ggZm9yIGtleSBldmVudHMKKwkJaWYgKCBldmVudC53aGljaCA9PSBudWxsICYmIHJrZXlFdmVudC50ZXN0KCBldmVudC50eXBlICkgKSB7CisJCQlyZXR1cm4gZXZlbnQuY2hhckNvZGUgIT0gbnVsbCA/IGV2ZW50LmNoYXJDb2RlIDogZXZlbnQua2V5Q29kZTsKKwkJfQorCisJCS8vIEFkZCB3aGljaCBmb3IgY2xpY2s6IDEgPT09IGxlZnQ7IDIgPT09IG1pZGRsZTsgMyA9PT0gcmlnaHQKKwkJaWYgKCAhZXZlbnQud2hpY2ggJiYgYnV0dG9uICE9PSB1bmRlZmluZWQgJiYgcm1vdXNlRXZlbnQudGVzdCggZXZlbnQudHlwZSApICkgeworCQkJaWYgKCBidXR0b24gJiAxICkgeworCQkJCXJldHVybiAxOworCQkJfQorCisJCQlpZiAoIGJ1dHRvbiAmIDIgKSB7CisJCQkJcmV0dXJuIDM7CisJCQl9CisKKwkJCWlmICggYnV0dG9uICYgNCApIHsKKwkJCQlyZXR1cm4gMjsKKwkJCX0KKworCQkJcmV0dXJuIDA7CisJCX0KKworCQlyZXR1cm4gZXZlbnQud2hpY2g7CisJfQorfSwgalF1ZXJ5LmV2ZW50LmFkZFByb3AgKTsKKworLy8gQ3JlYXRlIG1vdXNlZW50ZXIvbGVhdmUgZXZlbnRzIHVzaW5nIG1vdXNlb3Zlci9vdXQgYW5kIGV2ZW50LXRpbWUgY2hlY2tzCisvLyBzbyB0aGF0IGV2ZW50IGRlbGVnYXRpb24gd29ya3MgaW4galF1ZXJ5LgorLy8gRG8gdGhlIHNhbWUgZm9yIHBvaW50ZXJlbnRlci9wb2ludGVybGVhdmUgYW5kIHBvaW50ZXJvdmVyL3BvaW50ZXJvdXQKKy8vCisvLyBTdXBwb3J0OiBTYWZhcmkgNyBvbmx5CisvLyBTYWZhcmkgc2VuZHMgbW91c2VlbnRlciB0b28gb2Z0ZW47IHNlZToKKy8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTQ3MDI1OAorLy8gZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYnVnIChpdCBleGlzdGVkIGluIG9sZGVyIENocm9tZSB2ZXJzaW9ucyBhcyB3ZWxsKS4KK2pRdWVyeS5lYWNoKCB7CisJbW91c2VlbnRlcjogIm1vdXNlb3ZlciIsCisJbW91c2VsZWF2ZTogIm1vdXNlb3V0IiwKKwlwb2ludGVyZW50ZXI6ICJwb2ludGVyb3ZlciIsCisJcG9pbnRlcmxlYXZlOiAicG9pbnRlcm91dCIKK30sIGZ1bmN0aW9uKCBvcmlnLCBmaXggKSB7CisJalF1ZXJ5LmV2ZW50LnNwZWNpYWxbIG9yaWcgXSA9IHsKKwkJZGVsZWdhdGVUeXBlOiBmaXgsCisJCWJpbmRUeXBlOiBmaXgsCisKKwkJaGFuZGxlOiBmdW5jdGlvbiggZXZlbnQgKSB7CisJCQl2YXIgcmV0LAorCQkJCXRhcmdldCA9IHRoaXMsCisJCQkJcmVsYXRlZCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQsCisJCQkJaGFuZGxlT2JqID0gZXZlbnQuaGFuZGxlT2JqOworCisJCQkvLyBGb3IgbW91c2VlbnRlci9sZWF2ZSBjYWxsIHRoZSBoYW5kbGVyIGlmIHJlbGF0ZWQgaXMgb3V0c2lkZSB0aGUgdGFyZ2V0LgorCQkJLy8gTkI6IE5vIHJlbGF0ZWRUYXJnZXQgaWYgdGhlIG1vdXNlIGxlZnQvZW50ZXJlZCB0aGUgYnJvd3NlciB3aW5kb3cKKwkJCWlmICggIXJlbGF0ZWQgfHwgKCByZWxhdGVkICE9PSB0YXJnZXQgJiYgIWpRdWVyeS5jb250YWlucyggdGFyZ2V0LCByZWxhdGVkICkgKSApIHsKKwkJCQlldmVudC50eXBlID0gaGFuZGxlT2JqLm9yaWdUeXBlOworCQkJCXJldCA9IGhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsKKwkJCQlldmVudC50eXBlID0gZml4OworCQkJfQorCQkJcmV0dXJuIHJldDsKKwkJfQorCX07Cit9ICk7CisKK2pRdWVyeS5mbi5leHRlbmQoIHsKKworCW9uOiBmdW5jdGlvbiggdHlwZXMsIHNlbGVjdG9yLCBkYXRhLCBmbiApIHsKKwkJcmV0dXJuIG9uKCB0aGlzLCB0eXBlcywgc2VsZWN0b3IsIGRhdGEsIGZuICk7CisJfSwKKwlvbmU6IGZ1bmN0aW9uKCB0eXBlcywgc2VsZWN0b3IsIGRhdGEsIGZuICkgeworCQlyZXR1cm4gb24oIHRoaXMsIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4sIDEgKTsKKwl9LAorCW9mZjogZnVuY3Rpb24oIHR5cGVzLCBzZWxlY3RvciwgZm4gKSB7CisJCXZhciBoYW5kbGVPYmosIHR5cGU7CisJCWlmICggdHlwZXMgJiYgdHlwZXMucHJldmVudERlZmF1bHQgJiYgdHlwZXMuaGFuZGxlT2JqICkgeworCisJCQkvLyAoIGV2ZW50ICkgIGRpc3BhdGNoZWQgalF1ZXJ5LkV2ZW50CisJCQloYW5kbGVPYmogPSB0eXBlcy5oYW5kbGVPYmo7CisJCQlqUXVlcnkoIHR5cGVzLmRlbGVnYXRlVGFyZ2V0ICkub2ZmKAorCQkJCWhhbmRsZU9iai5uYW1lc3BhY2UgPworCQkJCQloYW5kbGVPYmoub3JpZ1R5cGUgKyAiLiIgKyBoYW5kbGVPYmoubmFtZXNwYWNlIDoKKwkJCQkJaGFuZGxlT2JqLm9yaWdUeXBlLAorCQkJCWhhbmRsZU9iai5zZWxlY3RvciwKKwkJCQloYW5kbGVPYmouaGFuZGxlcgorCQkJKTsKKwkJCXJldHVybiB0aGlzOworCQl9CisJCWlmICggdHlwZW9mIHR5cGVzID09PSAib2JqZWN0IiApIHsKKworCQkJLy8gKCB0eXBlcy1vYmplY3QgWywgc2VsZWN0b3JdICkKKwkJCWZvciAoIHR5cGUgaW4gdHlwZXMgKSB7CisJCQkJdGhpcy5vZmYoIHR5cGUsIHNlbGVjdG9yLCB0eXBlc1sgdHlwZSBdICk7CisJCQl9CisJCQlyZXR1cm4gdGhpczsKKwkJfQorCQlpZiAoIHNlbGVjdG9yID09PSBmYWxzZSB8fCB0eXBlb2Ygc2VsZWN0b3IgPT09ICJmdW5jdGlvbiIgKSB7CisKKwkJCS8vICggdHlwZXMgWywgZm5dICkKKwkJCWZuID0gc2VsZWN0b3I7CisJCQlzZWxlY3RvciA9IHVuZGVmaW5lZDsKKwkJfQorCQlpZiAoIGZuID09PSBmYWxzZSApIHsKKwkJCWZuID0gcmV0dXJuRmFsc2U7CisJCX0KKwkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7CisJCQlqUXVlcnkuZXZlbnQucmVtb3ZlKCB0aGlzLCB0eXBlcywgZm4sIHNlbGVjdG9yICk7CisJCX0gKTsKKwl9Cit9ICk7CisKKwordmFyCisKKwkvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovCisKKwkvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2VzbGludC9lc2xpbnQvaXNzdWVzLzMyMjkKKwlyeGh0bWxUYWcgPSAvPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbYS16XVteXC9cMD5ceDIwXHRcclxuXGZdKilbXj5dKilcLz4vZ2ksCisKKwkvKiBlc2xpbnQtZW5hYmxlICovCisKKwkvLyBTdXBwb3J0OiBJRSA8PTEwIC0gMTEsIEVkZ2UgMTIgLSAxMworCS8vIEluIElFL0VkZ2UgdXNpbmcgcmVnZXggZ3JvdXBzIGhlcmUgY2F1c2VzIHNldmVyZSBzbG93ZG93bnMuCisJLy8gU2VlIGh0dHBzOi8vY29ubmVjdC5taWNyb3NvZnQuY29tL0lFL2ZlZWRiYWNrL2RldGFpbHMvMTczNjUxMi8KKwlybm9Jbm5lcmh0bWwgPSAvPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSwKKworCS8vIGNoZWNrZWQ9ImNoZWNrZWQiIG9yIGNoZWNrZWQKKwlyY2hlY2tlZCA9IC9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLAorCXJzY3JpcHRUeXBlTWFza2VkID0gL150cnVlXC8oLiopLywKKwlyY2xlYW5TY3JpcHQgPSAvXlxzKjwhKD86XFtDREFUQVxbfC0tKXwoPzpcXVxdfC0tKT5ccyokL2c7CisKKy8vIFByZWZlciBhIHRib2R5IG92ZXIgaXRzIHBhcmVudCB0YWJsZSBmb3IgY29udGFpbmluZyBuZXcgcm93cworZnVuY3Rpb24gbWFuaXB1bGF0aW9uVGFyZ2V0KCBlbGVtLCBjb250ZW50ICkgeworCWlmICggbm9kZU5hbWUoIGVsZW0sICJ0YWJsZSIgKSAmJgorCQlub2RlTmFtZSggY29udGVudC5ub2RlVHlwZSAhPT0gMTEgPyBjb250ZW50IDogY29udGVudC5maXJzdENoaWxkLCAidHIiICkgKSB7CisKKwkJcmV0dXJuIGpRdWVyeSggIj50Ym9keSIsIGVsZW0gKVsgMCBdIHx8IGVsZW07CisJfQorCisJcmV0dXJuIGVsZW07Cit9CisKKy8vIFJlcGxhY2UvcmVzdG9yZSB0aGUgdHlwZSBhdHRyaWJ1dGUgb2Ygc2NyaXB0IGVsZW1lbnRzIGZvciBzYWZlIERPTSBtYW5pcHVsYXRpb24KK2Z1bmN0aW9uIGRpc2FibGVTY3JpcHQoIGVsZW0gKSB7CisJZWxlbS50eXBlID0gKCBlbGVtLmdldEF0dHJpYnV0ZSggInR5cGUiICkgIT09IG51bGwgKSArICIvIiArIGVsZW0udHlwZTsKKwlyZXR1cm4gZWxlbTsKK30KK2Z1bmN0aW9uIHJlc3RvcmVTY3JpcHQoIGVsZW0gKSB7CisJdmFyIG1hdGNoID0gcnNjcmlwdFR5cGVNYXNrZWQuZXhlYyggZWxlbS50eXBlICk7CisKKwlpZiAoIG1hdGNoICkgeworCQllbGVtLnR5cGUgPSBtYXRjaFsgMSBdOworCX0gZWxzZSB7CisJCWVsZW0ucmVtb3ZlQXR0cmlidXRlKCAidHlwZSIgKTsKKwl9CisKKwlyZXR1cm4gZWxlbTsKK30KKworZnVuY3Rpb24gY2xvbmVDb3B5RXZlbnQoIHNyYywgZGVzdCApIHsKKwl2YXIgaSwgbCwgdHlwZSwgcGRhdGFPbGQsIHBkYXRhQ3VyLCB1ZGF0YU9sZCwgdWRhdGFDdXIsIGV2ZW50czsKKworCWlmICggZGVzdC5ub2RlVHlwZSAhPT0gMSApIHsKKwkJcmV0dXJuOworCX0KKworCS8vIDEuIENvcHkgcHJpdmF0ZSBkYXRhOiBldmVudHMsIGhhbmRsZXJzLCBldGMuCisJaWYgKCBkYXRhUHJpdi5oYXNEYXRhKCBzcmMgKSApIHsKKwkJcGRhdGFPbGQgPSBkYXRhUHJpdi5hY2Nlc3MoIHNyYyApOworCQlwZGF0YUN1ciA9IGRhdGFQcml2LnNldCggZGVzdCwgcGRhdGFPbGQgKTsKKwkJZXZlbnRzID0gcGRhdGFPbGQuZXZlbnRzOworCisJCWlmICggZXZlbnRzICkgeworCQkJZGVsZXRlIHBkYXRhQ3VyLmhhbmRsZTsKKwkJCXBkYXRhQ3VyLmV2ZW50cyA9IHt9OworCisJCQlmb3IgKCB0eXBlIGluIGV2ZW50cyApIHsKKwkJCQlmb3IgKCBpID0gMCwgbCA9IGV2ZW50c1sgdHlwZSBdLmxlbmd0aDsgaSA8IGw7IGkrKyApIHsKKwkJCQkJalF1ZXJ5LmV2ZW50LmFkZCggZGVzdCwgdHlwZSwgZXZlbnRzWyB0eXBlIF1bIGkgXSApOworCQkJCX0KKwkJCX0KKwkJfQorCX0KKworCS8vIDIuIENvcHkgdXNlciBkYXRhCisJaWYgKCBkYXRhVXNlci5oYXNEYXRhKCBzcmMgKSApIHsKKwkJdWRhdGFPbGQgPSBkYXRhVXNlci5hY2Nlc3MoIHNyYyApOworCQl1ZGF0YUN1ciA9IGpRdWVyeS5leHRlbmQoIHt9LCB1ZGF0YU9sZCApOworCisJCWRhdGFVc2VyLnNldCggZGVzdCwgdWRhdGFDdXIgKTsKKwl9Cit9CisKKy8vIEZpeCBJRSBidWdzLCBzZWUgc3VwcG9ydCB0ZXN0cworZnVuY3Rpb24gZml4SW5wdXQoIHNyYywgZGVzdCApIHsKKwl2YXIgbm9kZU5hbWUgPSBkZXN0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7CisKKwkvLyBGYWlscyB0byBwZXJzaXN0IHRoZSBjaGVja2VkIHN0YXRlIG9mIGEgY2xvbmVkIGNoZWNrYm94IG9yIHJhZGlvIGJ1dHRvbi4KKwlpZiAoIG5vZGVOYW1lID09PSAiaW5wdXQiICYmIHJjaGVja2FibGVUeXBlLnRlc3QoIHNyYy50eXBlICkgKSB7CisJCWRlc3QuY2hlY2tlZCA9IHNyYy5jaGVja2VkOworCisJLy8gRmFpbHMgdG8gcmV0dXJuIHRoZSBzZWxlY3RlZCBvcHRpb24gdG8gdGhlIGRlZmF1bHQgc2VsZWN0ZWQgc3RhdGUgd2hlbiBjbG9uaW5nIG9wdGlvbnMKKwl9IGVsc2UgaWYgKCBub2RlTmFtZSA9PT0gImlucHV0IiB8fCBub2RlTmFtZSA9PT0gInRleHRhcmVhIiApIHsKKwkJZGVzdC5kZWZhdWx0VmFsdWUgPSBzcmMuZGVmYXVsdFZhbHVlOworCX0KK30KKworZnVuY3Rpb24gZG9tTWFuaXAoIGNvbGxlY3Rpb24sIGFyZ3MsIGNhbGxiYWNrLCBpZ25vcmVkICkgeworCisJLy8gRmxhdHRlbiBhbnkgbmVzdGVkIGFycmF5cworCWFyZ3MgPSBjb25jYXQuYXBwbHkoIFtdLCBhcmdzICk7CisKKwl2YXIgZnJhZ21lbnQsIGZpcnN0LCBzY3JpcHRzLCBoYXNTY3JpcHRzLCBub2RlLCBkb2MsCisJCWkgPSAwLAorCQlsID0gY29sbGVjdGlvbi5sZW5ndGgsCisJCWlOb0Nsb25lID0gbCAtIDEsCisJCXZhbHVlID0gYXJnc1sgMCBdLAorCQlpc0Z1bmN0aW9uID0galF1ZXJ5LmlzRnVuY3Rpb24oIHZhbHVlICk7CisKKwkvLyBXZSBjYW4ndCBjbG9uZU5vZGUgZnJhZ21lbnRzIHRoYXQgY29udGFpbiBjaGVja2VkLCBpbiBXZWJLaXQKKwlpZiAoIGlzRnVuY3Rpb24gfHwKKwkJCSggbCA+IDEgJiYgdHlwZW9mIHZhbHVlID09PSAic3RyaW5nIiAmJgorCQkJCSFzdXBwb3J0LmNoZWNrQ2xvbmUgJiYgcmNoZWNrZWQudGVzdCggdmFsdWUgKSApICkgeworCQlyZXR1cm4gY29sbGVjdGlvbi5lYWNoKCBmdW5jdGlvbiggaW5kZXggKSB7CisJCQl2YXIgc2VsZiA9IGNvbGxlY3Rpb24uZXEoIGluZGV4ICk7CisJCQlpZiAoIGlzRnVuY3Rpb24gKSB7CisJCQkJYXJnc1sgMCBdID0gdmFsdWUuY2FsbCggdGhpcywgaW5kZXgsIHNlbGYuaHRtbCgpICk7CisJCQl9CisJCQlkb21NYW5pcCggc2VsZiwgYXJncywgY2FsbGJhY2ssIGlnbm9yZWQgKTsKKwkJfSApOworCX0KKworCWlmICggbCApIHsKKwkJZnJhZ21lbnQgPSBidWlsZEZyYWdtZW50KCBhcmdzLCBjb2xsZWN0aW9uWyAwIF0ub3duZXJEb2N1bWVudCwgZmFsc2UsIGNvbGxlY3Rpb24sIGlnbm9yZWQgKTsKKwkJZmlyc3QgPSBmcmFnbWVudC5maXJzdENoaWxkOworCisJCWlmICggZnJhZ21lbnQuY2hpbGROb2Rlcy5sZW5ndGggPT09IDEgKSB7CisJCQlmcmFnbWVudCA9IGZpcnN0OworCQl9CisKKwkJLy8gUmVxdWlyZSBlaXRoZXIgbmV3IGNvbnRlbnQgb3IgYW4gaW50ZXJlc3QgaW4gaWdub3JlZCBlbGVtZW50cyB0byBpbnZva2UgdGhlIGNhbGxiYWNrCisJCWlmICggZmlyc3QgfHwgaWdub3JlZCApIHsKKwkJCXNjcmlwdHMgPSBqUXVlcnkubWFwKCBnZXRBbGwoIGZyYWdtZW50LCAic2NyaXB0IiApLCBkaXNhYmxlU2NyaXB0ICk7CisJCQloYXNTY3JpcHRzID0gc2NyaXB0cy5sZW5ndGg7CisKKwkJCS8vIFVzZSB0aGUgb3JpZ2luYWwgZnJhZ21lbnQgZm9yIHRoZSBsYXN0IGl0ZW0KKwkJCS8vIGluc3RlYWQgb2YgdGhlIGZpcnN0IGJlY2F1c2UgaXQgY2FuIGVuZCB1cAorCQkJLy8gYmVpbmcgZW1wdGllZCBpbmNvcnJlY3RseSBpbiBjZXJ0YWluIHNpdHVhdGlvbnMgKCM4MDcwKS4KKwkJCWZvciAoIDsgaSA8IGw7IGkrKyApIHsKKwkJCQlub2RlID0gZnJhZ21lbnQ7CisKKwkJCQlpZiAoIGkgIT09IGlOb0Nsb25lICkgeworCQkJCQlub2RlID0galF1ZXJ5LmNsb25lKCBub2RlLCB0cnVlLCB0cnVlICk7CisKKwkJCQkJLy8gS2VlcCByZWZlcmVuY2VzIHRvIGNsb25lZCBzY3JpcHRzIGZvciBsYXRlciByZXN0b3JhdGlvbgorCQkJCQlpZiAoIGhhc1NjcmlwdHMgKSB7CisKKwkJCQkJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjAgb25seSwgUGhhbnRvbUpTIDEgb25seQorCQkJCQkJLy8gcHVzaC5hcHBseShfLCBhcnJheWxpa2UpIHRocm93cyBvbiBhbmNpZW50IFdlYktpdAorCQkJCQkJalF1ZXJ5Lm1lcmdlKCBzY3JpcHRzLCBnZXRBbGwoIG5vZGUsICJzY3JpcHQiICkgKTsKKwkJCQkJfQorCQkJCX0KKworCQkJCWNhbGxiYWNrLmNhbGwoIGNvbGxlY3Rpb25bIGkgXSwgbm9kZSwgaSApOworCQkJfQorCisJCQlpZiAoIGhhc1NjcmlwdHMgKSB7CisJCQkJZG9jID0gc2NyaXB0c1sgc2NyaXB0cy5sZW5ndGggLSAxIF0ub3duZXJEb2N1bWVudDsKKworCQkJCS8vIFJlZW5hYmxlIHNjcmlwdHMKKwkJCQlqUXVlcnkubWFwKCBzY3JpcHRzLCByZXN0b3JlU2NyaXB0ICk7CisKKwkJCQkvLyBFdmFsdWF0ZSBleGVjdXRhYmxlIHNjcmlwdHMgb24gZmlyc3QgZG9jdW1lbnQgaW5zZXJ0aW9uCisJCQkJZm9yICggaSA9IDA7IGkgPCBoYXNTY3JpcHRzOyBpKysgKSB7CisJCQkJCW5vZGUgPSBzY3JpcHRzWyBpIF07CisJCQkJCWlmICggcnNjcmlwdFR5cGUudGVzdCggbm9kZS50eXBlIHx8ICIiICkgJiYKKwkJCQkJCSFkYXRhUHJpdi5hY2Nlc3MoIG5vZGUsICJnbG9iYWxFdmFsIiApICYmCisJCQkJCQlqUXVlcnkuY29udGFpbnMoIGRvYywgbm9kZSApICkgeworCisJCQkJCQlpZiAoIG5vZGUuc3JjICkgeworCisJCQkJCQkJLy8gT3B0aW9uYWwgQUpBWCBkZXBlbmRlbmN5LCBidXQgd29uJ3QgcnVuIHNjcmlwdHMgaWYgbm90IHByZXNlbnQKKwkJCQkJCQlpZiAoIGpRdWVyeS5fZXZhbFVybCApIHsKKwkJCQkJCQkJalF1ZXJ5Ll9ldmFsVXJsKCBub2RlLnNyYyApOworCQkJCQkJCX0KKwkJCQkJCX0gZWxzZSB7CisJCQkJCQkJRE9NRXZhbCggbm9kZS50ZXh0Q29udGVudC5yZXBsYWNlKCByY2xlYW5TY3JpcHQsICIiICksIGRvYyApOworCQkJCQkJfQorCQkJCQl9CisJCQkJfQorCQkJfQorCQl9CisJfQorCisJcmV0dXJuIGNvbGxlY3Rpb247Cit9CisKK2Z1bmN0aW9uIHJlbW92ZSggZWxlbSwgc2VsZWN0b3IsIGtlZXBEYXRhICkgeworCXZhciBub2RlLAorCQlub2RlcyA9IHNlbGVjdG9yID8galF1ZXJ5LmZpbHRlciggc2VsZWN0b3IsIGVsZW0gKSA6IGVsZW0sCisJCWkgPSAwOworCisJZm9yICggOyAoIG5vZGUgPSBub2Rlc1sgaSBdICkgIT0gbnVsbDsgaSsrICkgeworCQlpZiAoICFrZWVwRGF0YSAmJiBub2RlLm5vZGVUeXBlID09PSAxICkgeworCQkJalF1ZXJ5LmNsZWFuRGF0YSggZ2V0QWxsKCBub2RlICkgKTsKKwkJfQorCisJCWlmICggbm9kZS5wYXJlbnROb2RlICkgeworCQkJaWYgKCBrZWVwRGF0YSAmJiBqUXVlcnkuY29udGFpbnMoIG5vZGUub3duZXJEb2N1bWVudCwgbm9kZSApICkgeworCQkJCXNldEdsb2JhbEV2YWwoIGdldEFsbCggbm9kZSwgInNjcmlwdCIgKSApOworCQkJfQorCQkJbm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCBub2RlICk7CisJCX0KKwl9CisKKwlyZXR1cm4gZWxlbTsKK30KKworalF1ZXJ5LmV4dGVuZCggeworCWh0bWxQcmVmaWx0ZXI6IGZ1bmN0aW9uKCBodG1sICkgeworCQlyZXR1cm4gaHRtbC5yZXBsYWNlKCByeGh0bWxUYWcsICI8JDE+PC8kMj4iICk7CisJfSwKKworCWNsb25lOiBmdW5jdGlvbiggZWxlbSwgZGF0YUFuZEV2ZW50cywgZGVlcERhdGFBbmRFdmVudHMgKSB7CisJCXZhciBpLCBsLCBzcmNFbGVtZW50cywgZGVzdEVsZW1lbnRzLAorCQkJY2xvbmUgPSBlbGVtLmNsb25lTm9kZSggdHJ1ZSApLAorCQkJaW5QYWdlID0galF1ZXJ5LmNvbnRhaW5zKCBlbGVtLm93bmVyRG9jdW1lbnQsIGVsZW0gKTsKKworCQkvLyBGaXggSUUgY2xvbmluZyBpc3N1ZXMKKwkJaWYgKCAhc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZCAmJiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgfHwgZWxlbS5ub2RlVHlwZSA9PT0gMTEgKSAmJgorCQkJCSFqUXVlcnkuaXNYTUxEb2MoIGVsZW0gKSApIHsKKworCQkJLy8gV2UgZXNjaGV3IFNpenpsZSBoZXJlIGZvciBwZXJmb3JtYW5jZSByZWFzb25zOiBodHRwczovL2pzcGVyZi5jb20vZ2V0YWxsLXZzLXNpenpsZS8yCisJCQlkZXN0RWxlbWVudHMgPSBnZXRBbGwoIGNsb25lICk7CisJCQlzcmNFbGVtZW50cyA9IGdldEFsbCggZWxlbSApOworCisJCQlmb3IgKCBpID0gMCwgbCA9IHNyY0VsZW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKyApIHsKKwkJCQlmaXhJbnB1dCggc3JjRWxlbWVudHNbIGkgXSwgZGVzdEVsZW1lbnRzWyBpIF0gKTsKKwkJCX0KKwkJfQorCisJCS8vIENvcHkgdGhlIGV2ZW50cyBmcm9tIHRoZSBvcmlnaW5hbCB0byB0aGUgY2xvbmUKKwkJaWYgKCBkYXRhQW5kRXZlbnRzICkgeworCQkJaWYgKCBkZWVwRGF0YUFuZEV2ZW50cyApIHsKKwkJCQlzcmNFbGVtZW50cyA9IHNyY0VsZW1lbnRzIHx8IGdldEFsbCggZWxlbSApOworCQkJCWRlc3RFbGVtZW50cyA9IGRlc3RFbGVtZW50cyB8fCBnZXRBbGwoIGNsb25lICk7CisKKwkJCQlmb3IgKCBpID0gMCwgbCA9IHNyY0VsZW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKyApIHsKKwkJCQkJY2xvbmVDb3B5RXZlbnQoIHNyY0VsZW1lbnRzWyBpIF0sIGRlc3RFbGVtZW50c1sgaSBdICk7CisJCQkJfQorCQkJfSBlbHNlIHsKKwkJCQljbG9uZUNvcHlFdmVudCggZWxlbSwgY2xvbmUgKTsKKwkJCX0KKwkJfQorCisJCS8vIFByZXNlcnZlIHNjcmlwdCBldmFsdWF0aW9uIGhpc3RvcnkKKwkJZGVzdEVsZW1lbnRzID0gZ2V0QWxsKCBjbG9uZSwgInNjcmlwdCIgKTsKKwkJaWYgKCBkZXN0RWxlbWVudHMubGVuZ3RoID4gMCApIHsKKwkJCXNldEdsb2JhbEV2YWwoIGRlc3RFbGVtZW50cywgIWluUGFnZSAmJiBnZXRBbGwoIGVsZW0sICJzY3JpcHQiICkgKTsKKwkJfQorCisJCS8vIFJldHVybiB0aGUgY2xvbmVkIHNldAorCQlyZXR1cm4gY2xvbmU7CisJfSwKKworCWNsZWFuRGF0YTogZnVuY3Rpb24oIGVsZW1zICkgeworCQl2YXIgZGF0YSwgZWxlbSwgdHlwZSwKKwkJCXNwZWNpYWwgPSBqUXVlcnkuZXZlbnQuc3BlY2lhbCwKKwkJCWkgPSAwOworCisJCWZvciAoIDsgKCBlbGVtID0gZWxlbXNbIGkgXSApICE9PSB1bmRlZmluZWQ7IGkrKyApIHsKKwkJCWlmICggYWNjZXB0RGF0YSggZWxlbSApICkgeworCQkJCWlmICggKCBkYXRhID0gZWxlbVsgZGF0YVByaXYuZXhwYW5kbyBdICkgKSB7CisJCQkJCWlmICggZGF0YS5ldmVudHMgKSB7CisJCQkJCQlmb3IgKCB0eXBlIGluIGRhdGEuZXZlbnRzICkgeworCQkJCQkJCWlmICggc3BlY2lhbFsgdHlwZSBdICkgeworCQkJCQkJCQlqUXVlcnkuZXZlbnQucmVtb3ZlKCBlbGVtLCB0eXBlICk7CisKKwkJCQkJCQkvLyBUaGlzIGlzIGEgc2hvcnRjdXQgdG8gYXZvaWQgalF1ZXJ5LmV2ZW50LnJlbW92ZSdzIG92ZXJoZWFkCisJCQkJCQkJfSBlbHNlIHsKKwkJCQkJCQkJalF1ZXJ5LnJlbW92ZUV2ZW50KCBlbGVtLCB0eXBlLCBkYXRhLmhhbmRsZSApOworCQkJCQkJCX0KKwkJCQkJCX0KKwkJCQkJfQorCisJCQkJCS8vIFN1cHBvcnQ6IENocm9tZSA8PTM1IC0gNDUrCisJCQkJCS8vIEFzc2lnbiB1bmRlZmluZWQgaW5zdGVhZCBvZiB1c2luZyBkZWxldGUsIHNlZSBEYXRhI3JlbW92ZQorCQkJCQllbGVtWyBkYXRhUHJpdi5leHBhbmRvIF0gPSB1bmRlZmluZWQ7CisJCQkJfQorCQkJCWlmICggZWxlbVsgZGF0YVVzZXIuZXhwYW5kbyBdICkgeworCisJCQkJCS8vIFN1cHBvcnQ6IENocm9tZSA8PTM1IC0gNDUrCisJCQkJCS8vIEFzc2lnbiB1bmRlZmluZWQgaW5zdGVhZCBvZiB1c2luZyBkZWxldGUsIHNlZSBEYXRhI3JlbW92ZQorCQkJCQllbGVtWyBkYXRhVXNlci5leHBhbmRvIF0gPSB1bmRlZmluZWQ7CisJCQkJfQorCQkJfQorCQl9CisJfQorfSApOworCitqUXVlcnkuZm4uZXh0ZW5kKCB7CisJZGV0YWNoOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7CisJCXJldHVybiByZW1vdmUoIHRoaXMsIHNlbGVjdG9yLCB0cnVlICk7CisJfSwKKworCXJlbW92ZTogZnVuY3Rpb24oIHNlbGVjdG9yICkgeworCQlyZXR1cm4gcmVtb3ZlKCB0aGlzLCBzZWxlY3RvciApOworCX0sCisKKwl0ZXh0OiBmdW5jdGlvbiggdmFsdWUgKSB7CisJCXJldHVybiBhY2Nlc3MoIHRoaXMsIGZ1bmN0aW9uKCB2YWx1ZSApIHsKKwkJCXJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8KKwkJCQlqUXVlcnkudGV4dCggdGhpcyApIDoKKwkJCQl0aGlzLmVtcHR5KCkuZWFjaCggZnVuY3Rpb24oKSB7CisJCQkJCWlmICggdGhpcy5ub2RlVHlwZSA9PT0gMSB8fCB0aGlzLm5vZGVUeXBlID09PSAxMSB8fCB0aGlzLm5vZGVUeXBlID09PSA5ICkgeworCQkJCQkJdGhpcy50ZXh0Q29udGVudCA9IHZhbHVlOworCQkJCQl9CisJCQkJfSApOworCQl9LCBudWxsLCB2YWx1ZSwgYXJndW1lbnRzLmxlbmd0aCApOworCX0sCisKKwlhcHBlbmQ6IGZ1bmN0aW9uKCkgeworCQlyZXR1cm4gZG9tTWFuaXAoIHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7CisJCQlpZiAoIHRoaXMubm9kZVR5cGUgPT09IDEgfHwgdGhpcy5ub2RlVHlwZSA9PT0gMTEgfHwgdGhpcy5ub2RlVHlwZSA9PT0gOSApIHsKKwkJCQl2YXIgdGFyZ2V0ID0gbWFuaXB1bGF0aW9uVGFyZ2V0KCB0aGlzLCBlbGVtICk7CisJCQkJdGFyZ2V0LmFwcGVuZENoaWxkKCBlbGVtICk7CisJCQl9CisJCX0gKTsKKwl9LAorCisJcHJlcGVuZDogZnVuY3Rpb24oKSB7CisJCXJldHVybiBkb21NYW5pcCggdGhpcywgYXJndW1lbnRzLCBmdW5jdGlvbiggZWxlbSApIHsKKwkJCWlmICggdGhpcy5ub2RlVHlwZSA9PT0gMSB8fCB0aGlzLm5vZGVUeXBlID09PSAxMSB8fCB0aGlzLm5vZGVUeXBlID09PSA5ICkgeworCQkJCXZhciB0YXJnZXQgPSBtYW5pcHVsYXRpb25UYXJnZXQoIHRoaXMsIGVsZW0gKTsKKwkJCQl0YXJnZXQuaW5zZXJ0QmVmb3JlKCBlbGVtLCB0YXJnZXQuZmlyc3RDaGlsZCApOworCQkJfQorCQl9ICk7CisJfSwKKworCWJlZm9yZTogZnVuY3Rpb24oKSB7CisJCXJldHVybiBkb21NYW5pcCggdGhpcywgYXJndW1lbnRzLCBmdW5jdGlvbiggZWxlbSApIHsKKwkJCWlmICggdGhpcy5wYXJlbnROb2RlICkgeworCQkJCXRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoIGVsZW0sIHRoaXMgKTsKKwkJCX0KKwkJfSApOworCX0sCisKKwlhZnRlcjogZnVuY3Rpb24oKSB7CisJCXJldHVybiBkb21NYW5pcCggdGhpcywgYXJndW1lbnRzLCBmdW5jdGlvbiggZWxlbSApIHsKKwkJCWlmICggdGhpcy5wYXJlbnROb2RlICkgeworCQkJCXRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoIGVsZW0sIHRoaXMubmV4dFNpYmxpbmcgKTsKKwkJCX0KKwkJfSApOworCX0sCisKKwllbXB0eTogZnVuY3Rpb24oKSB7CisJCXZhciBlbGVtLAorCQkJaSA9IDA7CisKKwkJZm9yICggOyAoIGVsZW0gPSB0aGlzWyBpIF0gKSAhPSBudWxsOyBpKysgKSB7CisJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7CisKKwkJCQkvLyBQcmV2ZW50IG1lbW9yeSBsZWFrcworCQkJCWpRdWVyeS5jbGVhbkRhdGEoIGdldEFsbCggZWxlbSwgZmFsc2UgKSApOworCisJCQkJLy8gUmVtb3ZlIGFueSByZW1haW5pbmcgbm9kZXMKKwkJCQllbGVtLnRleHRDb250ZW50ID0gIiI7CisJCQl9CisJCX0KKworCQlyZXR1cm4gdGhpczsKKwl9LAorCisJY2xvbmU6IGZ1bmN0aW9uKCBkYXRhQW5kRXZlbnRzLCBkZWVwRGF0YUFuZEV2ZW50cyApIHsKKwkJZGF0YUFuZEV2ZW50cyA9IGRhdGFBbmRFdmVudHMgPT0gbnVsbCA/IGZhbHNlIDogZGF0YUFuZEV2ZW50czsKKwkJZGVlcERhdGFBbmRFdmVudHMgPSBkZWVwRGF0YUFuZEV2ZW50cyA9PSBudWxsID8gZGF0YUFuZEV2ZW50cyA6IGRlZXBEYXRhQW5kRXZlbnRzOworCisJCXJldHVybiB0aGlzLm1hcCggZnVuY3Rpb24oKSB7CisJCQlyZXR1cm4galF1ZXJ5LmNsb25lKCB0aGlzLCBkYXRhQW5kRXZlbnRzLCBkZWVwRGF0YUFuZEV2ZW50cyApOworCQl9ICk7CisJfSwKKworCWh0bWw6IGZ1bmN0aW9uKCB2YWx1ZSApIHsKKwkJcmV0dXJuIGFjY2VzcyggdGhpcywgZnVuY3Rpb24oIHZhbHVlICkgeworCQkJdmFyIGVsZW0gPSB0aGlzWyAwIF0gfHwge30sCisJCQkJaSA9IDAsCisJCQkJbCA9IHRoaXMubGVuZ3RoOworCisJCQlpZiAoIHZhbHVlID09PSB1bmRlZmluZWQgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSApIHsKKwkJCQlyZXR1cm4gZWxlbS5pbm5lckhUTUw7CisJCQl9CisKKwkJCS8vIFNlZSBpZiB3ZSBjYW4gdGFrZSBhIHNob3J0Y3V0IGFuZCBqdXN0IHVzZSBpbm5lckhUTUwKKwkJCWlmICggdHlwZW9mIHZhbHVlID09PSAic3RyaW5nIiAmJiAhcm5vSW5uZXJodG1sLnRlc3QoIHZhbHVlICkgJiYKKwkJCQkhd3JhcE1hcFsgKCBydGFnTmFtZS5leGVjKCB2YWx1ZSApIHx8IFsgIiIsICIiIF0gKVsgMSBdLnRvTG93ZXJDYXNlKCkgXSApIHsKKworCQkJCXZhbHVlID0galF1ZXJ5Lmh0bWxQcmVmaWx0ZXIoIHZhbHVlICk7CisKKwkJCQl0cnkgeworCQkJCQlmb3IgKCA7IGkgPCBsOyBpKysgKSB7CisJCQkJCQllbGVtID0gdGhpc1sgaSBdIHx8IHt9OworCisJCQkJCQkvLyBSZW1vdmUgZWxlbWVudCBub2RlcyBhbmQgcHJldmVudCBtZW1vcnkgbGVha3MKKwkJCQkJCWlmICggZWxlbS5ub2RlVHlwZSA9PT0gMSApIHsKKwkJCQkJCQlqUXVlcnkuY2xlYW5EYXRhKCBnZXRBbGwoIGVsZW0sIGZhbHNlICkgKTsKKwkJCQkJCQllbGVtLmlubmVySFRNTCA9IHZhbHVlOworCQkJCQkJfQorCQkJCQl9CisKKwkJCQkJZWxlbSA9IDA7CisKKwkJCQkvLyBJZiB1c2luZyBpbm5lckhUTUwgdGhyb3dzIGFuIGV4Y2VwdGlvbiwgdXNlIHRoZSBmYWxsYmFjayBtZXRob2QKKwkJCQl9IGNhdGNoICggZSApIHt9CisJCQl9CisKKwkJCWlmICggZWxlbSApIHsKKwkJCQl0aGlzLmVtcHR5KCkuYXBwZW5kKCB2YWx1ZSApOworCQkJfQorCQl9LCBudWxsLCB2YWx1ZSwgYXJndW1lbnRzLmxlbmd0aCApOworCX0sCisKKwlyZXBsYWNlV2l0aDogZnVuY3Rpb24oKSB7CisJCXZhciBpZ25vcmVkID0gW107CisKKwkJLy8gTWFrZSB0aGUgY2hhbmdlcywgcmVwbGFjaW5nIGVhY2ggbm9uLWlnbm9yZWQgY29udGV4dCBlbGVtZW50IHdpdGggdGhlIG5ldyBjb250ZW50CisJCXJldHVybiBkb21NYW5pcCggdGhpcywgYXJndW1lbnRzLCBmdW5jdGlvbiggZWxlbSApIHsKKwkJCXZhciBwYXJlbnQgPSB0aGlzLnBhcmVudE5vZGU7CisKKwkJCWlmICggalF1ZXJ5LmluQXJyYXkoIHRoaXMsIGlnbm9yZWQgKSA8IDAgKSB7CisJCQkJalF1ZXJ5LmNsZWFuRGF0YSggZ2V0QWxsKCB0aGlzICkgKTsKKwkJCQlpZiAoIHBhcmVudCApIHsKKwkJCQkJcGFyZW50LnJlcGxhY2VDaGlsZCggZWxlbSwgdGhpcyApOworCQkJCX0KKwkJCX0KKworCQkvLyBGb3JjZSBjYWxsYmFjayBpbnZvY2F0aW9uCisJCX0sIGlnbm9yZWQgKTsKKwl9Cit9ICk7CisKK2pRdWVyeS5lYWNoKCB7CisJYXBwZW5kVG86ICJhcHBlbmQiLAorCXByZXBlbmRUbzogInByZXBlbmQiLAorCWluc2VydEJlZm9yZTogImJlZm9yZSIsCisJaW5zZXJ0QWZ0ZXI6ICJhZnRlciIsCisJcmVwbGFjZUFsbDogInJlcGxhY2VXaXRoIgorfSwgZnVuY3Rpb24oIG5hbWUsIG9yaWdpbmFsICkgeworCWpRdWVyeS5mblsgbmFtZSBdID0gZnVuY3Rpb24oIHNlbGVjdG9yICkgeworCQl2YXIgZWxlbXMsCisJCQlyZXQgPSBbXSwKKwkJCWluc2VydCA9IGpRdWVyeSggc2VsZWN0b3IgKSwKKwkJCWxhc3QgPSBpbnNlcnQubGVuZ3RoIC0gMSwKKwkJCWkgPSAwOworCisJCWZvciAoIDsgaSA8PSBsYXN0OyBpKysgKSB7CisJCQllbGVtcyA9IGkgPT09IGxhc3QgPyB0aGlzIDogdGhpcy5jbG9uZSggdHJ1ZSApOworCQkJalF1ZXJ5KCBpbnNlcnRbIGkgXSApWyBvcmlnaW5hbCBdKCBlbGVtcyApOworCisJCQkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHksIFBoYW50b21KUyAxIG9ubHkKKwkJCS8vIC5nZXQoKSBiZWNhdXNlIHB1c2guYXBwbHkoXywgYXJyYXlsaWtlKSB0aHJvd3Mgb24gYW5jaWVudCBXZWJLaXQKKwkJCXB1c2guYXBwbHkoIHJldCwgZWxlbXMuZ2V0KCkgKTsKKwkJfQorCisJCXJldHVybiB0aGlzLnB1c2hTdGFjayggcmV0ICk7CisJfTsKK30gKTsKK3ZhciBybWFyZ2luID0gKCAvXm1hcmdpbi8gKTsKKwordmFyIHJudW1ub25weCA9IG5ldyBSZWdFeHAoICJeKCIgKyBwbnVtICsgIikoPyFweClbYS16JV0rJCIsICJpIiApOworCit2YXIgZ2V0U3R5bGVzID0gZnVuY3Rpb24oIGVsZW0gKSB7CisKKwkJLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5LCBGaXJlZm94IDw9MzAgKCMxNTA5OCwgIzE0MTUwKQorCQkvLyBJRSB0aHJvd3Mgb24gZWxlbWVudHMgY3JlYXRlZCBpbiBwb3B1cHMKKwkJLy8gRkYgbWVhbndoaWxlIHRocm93cyBvbiBmcmFtZSBlbGVtZW50cyB0aHJvdWdoICJkZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlIgorCQl2YXIgdmlldyA9IGVsZW0ub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldzsKKworCQlpZiAoICF2aWV3IHx8ICF2aWV3Lm9wZW5lciApIHsKKwkJCXZpZXcgPSB3aW5kb3c7CisJCX0KKworCQlyZXR1cm4gdmlldy5nZXRDb21wdXRlZFN0eWxlKCBlbGVtICk7CisJfTsKKworCisKKyggZnVuY3Rpb24oKSB7CisKKwkvLyBFeGVjdXRpbmcgYm90aCBwaXhlbFBvc2l0aW9uICYgYm94U2l6aW5nUmVsaWFibGUgdGVzdHMgcmVxdWlyZSBvbmx5IG9uZSBsYXlvdXQKKwkvLyBzbyB0aGV5J3JlIGV4ZWN1dGVkIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSB0aGUgc2Vjb25kIGNvbXB1dGF0aW9uLgorCWZ1bmN0aW9uIGNvbXB1dGVTdHlsZVRlc3RzKCkgeworCisJCS8vIFRoaXMgaXMgYSBzaW5nbGV0b24sIHdlIG5lZWQgdG8gZXhlY3V0ZSBpdCBvbmx5IG9uY2UKKwkJaWYgKCAhZGl2ICkgeworCQkJcmV0dXJuOworCQl9CisKKwkJZGl2LnN0eWxlLmNzc1RleHQgPQorCQkJImJveC1zaXppbmc6Ym9yZGVyLWJveDsiICsKKwkJCSJwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrOyIgKworCQkJIm1hcmdpbjphdXRvO2JvcmRlcjoxcHg7cGFkZGluZzoxcHg7IiArCisJCQkidG9wOjElO3dpZHRoOjUwJSI7CisJCWRpdi5pbm5lckhUTUwgPSAiIjsKKwkJZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKCBjb250YWluZXIgKTsKKworCQl2YXIgZGl2U3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSggZGl2ICk7CisJCXBpeGVsUG9zaXRpb25WYWwgPSBkaXZTdHlsZS50b3AgIT09ICIxJSI7CisKKwkJLy8gU3VwcG9ydDogQW5kcm9pZCA0LjAgLSA0LjMgb25seSwgRmlyZWZveCA8PTMgLSA0NAorCQlyZWxpYWJsZU1hcmdpbkxlZnRWYWwgPSBkaXZTdHlsZS5tYXJnaW5MZWZ0ID09PSAiMnB4IjsKKwkJYm94U2l6aW5nUmVsaWFibGVWYWwgPSBkaXZTdHlsZS53aWR0aCA9PT0gIjRweCI7CisKKwkJLy8gU3VwcG9ydDogQW5kcm9pZCA0LjAgLSA0LjMgb25seQorCQkvLyBTb21lIHN0eWxlcyBjb21lIGJhY2sgd2l0aCBwZXJjZW50YWdlIHZhbHVlcywgZXZlbiB0aG91Z2ggdGhleSBzaG91bGRuJ3QKKwkJZGl2LnN0eWxlLm1hcmdpblJpZ2h0ID0gIjUwJSI7CisJCXBpeGVsTWFyZ2luUmlnaHRWYWwgPSBkaXZTdHlsZS5tYXJnaW5SaWdodCA9PT0gIjRweCI7CisKKwkJZG9jdW1lbnRFbGVtZW50LnJlbW92ZUNoaWxkKCBjb250YWluZXIgKTsKKworCQkvLyBOdWxsaWZ5IHRoZSBkaXYgc28gaXQgd291bGRuJ3QgYmUgc3RvcmVkIGluIHRoZSBtZW1vcnkgYW5kCisJCS8vIGl0IHdpbGwgYWxzbyBiZSBhIHNpZ24gdGhhdCBjaGVja3MgYWxyZWFkeSBwZXJmb3JtZWQKKwkJZGl2ID0gbnVsbDsKKwl9CisKKwl2YXIgcGl4ZWxQb3NpdGlvblZhbCwgYm94U2l6aW5nUmVsaWFibGVWYWwsIHBpeGVsTWFyZ2luUmlnaHRWYWwsIHJlbGlhYmxlTWFyZ2luTGVmdFZhbCwKKwkJY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImRpdiIgKSwKKwkJZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImRpdiIgKTsKKworCS8vIEZpbmlzaCBlYXJseSBpbiBsaW1pdGVkIChub24tYnJvd3NlcikgZW52aXJvbm1lbnRzCisJaWYgKCAhZGl2LnN0eWxlICkgeworCQlyZXR1cm47CisJfQorCisJLy8gU3VwcG9ydDogSUUgPD05IC0gMTEgb25seQorCS8vIFN0eWxlIG9mIGNsb25lZCBlbGVtZW50IGFmZmVjdHMgc291cmNlIGVsZW1lbnQgY2xvbmVkICgjODkwOCkKKwlkaXYuc3R5bGUuYmFja2dyb3VuZENsaXAgPSAiY29udGVudC1ib3giOworCWRpdi5jbG9uZU5vZGUoIHRydWUgKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCA9ICIiOworCXN1cHBvcnQuY2xlYXJDbG9uZVN0eWxlID0gZGl2LnN0eWxlLmJhY2tncm91bmRDbGlwID09PSAiY29udGVudC1ib3giOworCisJY29udGFpbmVyLnN0eWxlLmNzc1RleHQgPSAiYm9yZGVyOjA7d2lkdGg6OHB4O2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweDsiICsKKwkJInBhZGRpbmc6MDttYXJnaW4tdG9wOjFweDtwb3NpdGlvbjphYnNvbHV0ZSI7CisJY29udGFpbmVyLmFwcGVuZENoaWxkKCBkaXYgKTsKKworCWpRdWVyeS5leHRlbmQoIHN1cHBvcnQsIHsKKwkJcGl4ZWxQb3NpdGlvbjogZnVuY3Rpb24oKSB7CisJCQljb21wdXRlU3R5bGVUZXN0cygpOworCQkJcmV0dXJuIHBpeGVsUG9zaXRpb25WYWw7CisJCX0sCisJCWJveFNpemluZ1JlbGlhYmxlOiBmdW5jdGlvbigpIHsKKwkJCWNvbXB1dGVTdHlsZVRlc3RzKCk7CisJCQlyZXR1cm4gYm94U2l6aW5nUmVsaWFibGVWYWw7CisJCX0sCisJCXBpeGVsTWFyZ2luUmlnaHQ6IGZ1bmN0aW9uKCkgeworCQkJY29tcHV0ZVN0eWxlVGVzdHMoKTsKKwkJCXJldHVybiBwaXhlbE1hcmdpblJpZ2h0VmFsOworCQl9LAorCQlyZWxpYWJsZU1hcmdpbkxlZnQ6IGZ1bmN0aW9uKCkgeworCQkJY29tcHV0ZVN0eWxlVGVzdHMoKTsKKwkJCXJldHVybiByZWxpYWJsZU1hcmdpbkxlZnRWYWw7CisJCX0KKwl9ICk7Cit9ICkoKTsKKworCitmdW5jdGlvbiBjdXJDU1MoIGVsZW0sIG5hbWUsIGNvbXB1dGVkICkgeworCXZhciB3aWR0aCwgbWluV2lkdGgsIG1heFdpZHRoLCByZXQsCisKKwkJLy8gU3VwcG9ydDogRmlyZWZveCA1MSsKKwkJLy8gUmV0cmlldmluZyBzdHlsZSBiZWZvcmUgY29tcHV0ZWQgc29tZWhvdworCQkvLyBmaXhlcyBhbiBpc3N1ZSB3aXRoIGdldHRpbmcgd3JvbmcgdmFsdWVzCisJCS8vIG9uIGRldGFjaGVkIGVsZW1lbnRzCisJCXN0eWxlID0gZWxlbS5zdHlsZTsKKworCWNvbXB1dGVkID0gY29tcHV0ZWQgfHwgZ2V0U3R5bGVzKCBlbGVtICk7CisKKwkvLyBnZXRQcm9wZXJ0eVZhbHVlIGlzIG5lZWRlZCBmb3I6CisJLy8gICAuY3NzKCdmaWx0ZXInKSAoSUUgOSBvbmx5LCAjMTI1MzcpCisJLy8gICAuY3NzKCctLWN1c3RvbVByb3BlcnR5KSAoIzMxNDQpCisJaWYgKCBjb21wdXRlZCApIHsKKwkJcmV0ID0gY29tcHV0ZWQuZ2V0UHJvcGVydHlWYWx1ZSggbmFtZSApIHx8IGNvbXB1dGVkWyBuYW1lIF07CisKKwkJaWYgKCByZXQgPT09ICIiICYmICFqUXVlcnkuY29udGFpbnMoIGVsZW0ub3duZXJEb2N1bWVudCwgZWxlbSApICkgeworCQkJcmV0ID0galF1ZXJ5LnN0eWxlKCBlbGVtLCBuYW1lICk7CisJCX0KKworCQkvLyBBIHRyaWJ1dGUgdG8gdGhlICJhd2Vzb21lIGhhY2sgYnkgRGVhbiBFZHdhcmRzIgorCQkvLyBBbmRyb2lkIEJyb3dzZXIgcmV0dXJucyBwZXJjZW50YWdlIGZvciBzb21lIHZhbHVlcywKKwkJLy8gYnV0IHdpZHRoIHNlZW1zIHRvIGJlIHJlbGlhYmx5IHBpeGVscy4KKwkJLy8gVGhpcyBpcyBhZ2FpbnN0IHRoZSBDU1NPTSBkcmFmdCBzcGVjOgorCQkvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nzb20vI3Jlc29sdmVkLXZhbHVlcworCQlpZiAoICFzdXBwb3J0LnBpeGVsTWFyZ2luUmlnaHQoKSAmJiBybnVtbm9ucHgudGVzdCggcmV0ICkgJiYgcm1hcmdpbi50ZXN0KCBuYW1lICkgKSB7CisKKwkJCS8vIFJlbWVtYmVyIHRoZSBvcmlnaW5hbCB2YWx1ZXMKKwkJCXdpZHRoID0gc3R5bGUud2lkdGg7CisJCQltaW5XaWR0aCA9IHN0eWxlLm1pbldpZHRoOworCQkJbWF4V2lkdGggPSBzdHlsZS5tYXhXaWR0aDsKKworCQkJLy8gUHV0IGluIHRoZSBuZXcgdmFsdWVzIHRvIGdldCBhIGNvbXB1dGVkIHZhbHVlIG91dAorCQkJc3R5bGUubWluV2lkdGggPSBzdHlsZS5tYXhXaWR0aCA9IHN0eWxlLndpZHRoID0gcmV0OworCQkJcmV0ID0gY29tcHV0ZWQud2lkdGg7CisKKwkJCS8vIFJldmVydCB0aGUgY2hhbmdlZCB2YWx1ZXMKKwkJCXN0eWxlLndpZHRoID0gd2lkdGg7CisJCQlzdHlsZS5taW5XaWR0aCA9IG1pbldpZHRoOworCQkJc3R5bGUubWF4V2lkdGggPSBtYXhXaWR0aDsKKwkJfQorCX0KKworCXJldHVybiByZXQgIT09IHVuZGVmaW5lZCA/CisKKwkJLy8gU3VwcG9ydDogSUUgPD05IC0gMTEgb25seQorCQkvLyBJRSByZXR1cm5zIHpJbmRleCB2YWx1ZSBhcyBhbiBpbnRlZ2VyLgorCQlyZXQgKyAiIiA6CisJCXJldDsKK30KKworCitmdW5jdGlvbiBhZGRHZXRIb29rSWYoIGNvbmRpdGlvbkZuLCBob29rRm4gKSB7CisKKwkvLyBEZWZpbmUgdGhlIGhvb2ssIHdlJ2xsIGNoZWNrIG9uIHRoZSBmaXJzdCBydW4gaWYgaXQncyByZWFsbHkgbmVlZGVkLgorCXJldHVybiB7CisJCWdldDogZnVuY3Rpb24oKSB7CisJCQlpZiAoIGNvbmRpdGlvbkZuKCkgKSB7CisKKwkJCQkvLyBIb29rIG5vdCBuZWVkZWQgKG9yIGl0J3Mgbm90IHBvc3NpYmxlIHRvIHVzZSBpdCBkdWUKKwkJCQkvLyB0byBtaXNzaW5nIGRlcGVuZGVuY3kpLCByZW1vdmUgaXQuCisJCQkJZGVsZXRlIHRoaXMuZ2V0OworCQkJCXJldHVybjsKKwkJCX0KKworCQkJLy8gSG9vayBuZWVkZWQ7IHJlZGVmaW5lIGl0IHNvIHRoYXQgdGhlIHN1cHBvcnQgdGVzdCBpcyBub3QgZXhlY3V0ZWQgYWdhaW4uCisJCQlyZXR1cm4gKCB0aGlzLmdldCA9IGhvb2tGbiApLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsKKwkJfQorCX07Cit9CisKKwordmFyCisKKwkvLyBTd2FwcGFibGUgaWYgZGlzcGxheSBpcyBub25lIG9yIHN0YXJ0cyB3aXRoIHRhYmxlCisJLy8gZXhjZXB0ICJ0YWJsZSIsICJ0YWJsZS1jZWxsIiwgb3IgInRhYmxlLWNhcHRpb24iCisJLy8gU2VlIGhlcmUgZm9yIGRpc3BsYXkgdmFsdWVzOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL0NTUy9kaXNwbGF5CisJcmRpc3BsYXlzd2FwID0gL14obm9uZXx0YWJsZSg/IS1jW2VhXSkuKykvLAorCXJjdXN0b21Qcm9wID0gL14tLS8sCisJY3NzU2hvdyA9IHsgcG9zaXRpb246ICJhYnNvbHV0ZSIsIHZpc2liaWxpdHk6ICJoaWRkZW4iLCBkaXNwbGF5OiAiYmxvY2siIH0sCisJY3NzTm9ybWFsVHJhbnNmb3JtID0geworCQlsZXR0ZXJTcGFjaW5nOiAiMCIsCisJCWZvbnRXZWlnaHQ6ICI0MDAiCisJfSwKKworCWNzc1ByZWZpeGVzID0gWyAiV2Via2l0IiwgIk1veiIsICJtcyIgXSwKKwllbXB0eVN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImRpdiIgKS5zdHlsZTsKKworLy8gUmV0dXJuIGEgY3NzIHByb3BlcnR5IG1hcHBlZCB0byBhIHBvdGVudGlhbGx5IHZlbmRvciBwcmVmaXhlZCBwcm9wZXJ0eQorZnVuY3Rpb24gdmVuZG9yUHJvcE5hbWUoIG5hbWUgKSB7CisKKwkvLyBTaG9ydGN1dCBmb3IgbmFtZXMgdGhhdCBhcmUgbm90IHZlbmRvciBwcmVmaXhlZAorCWlmICggbmFtZSBpbiBlbXB0eVN0eWxlICkgeworCQlyZXR1cm4gbmFtZTsKKwl9CisKKwkvLyBDaGVjayBmb3IgdmVuZG9yIHByZWZpeGVkIG5hbWVzCisJdmFyIGNhcE5hbWUgPSBuYW1lWyAwIF0udG9VcHBlckNhc2UoKSArIG5hbWUuc2xpY2UoIDEgKSwKKwkJaSA9IGNzc1ByZWZpeGVzLmxlbmd0aDsKKworCXdoaWxlICggaS0tICkgeworCQluYW1lID0gY3NzUHJlZml4ZXNbIGkgXSArIGNhcE5hbWU7CisJCWlmICggbmFtZSBpbiBlbXB0eVN0eWxlICkgeworCQkJcmV0dXJuIG5hbWU7CisJCX0KKwl9Cit9CisKKy8vIFJldHVybiBhIHByb3BlcnR5IG1hcHBlZCBhbG9uZyB3aGF0IGpRdWVyeS5jc3NQcm9wcyBzdWdnZXN0cyBvciB0bworLy8gYSB2ZW5kb3IgcHJlZml4ZWQgcHJvcGVydHkuCitmdW5jdGlvbiBmaW5hbFByb3BOYW1lKCBuYW1lICkgeworCXZhciByZXQgPSBqUXVlcnkuY3NzUHJvcHNbIG5hbWUgXTsKKwlpZiAoICFyZXQgKSB7CisJCXJldCA9IGpRdWVyeS5jc3NQcm9wc1sgbmFtZSBdID0gdmVuZG9yUHJvcE5hbWUoIG5hbWUgKSB8fCBuYW1lOworCX0KKwlyZXR1cm4gcmV0OworfQorCitmdW5jdGlvbiBzZXRQb3NpdGl2ZU51bWJlciggZWxlbSwgdmFsdWUsIHN1YnRyYWN0ICkgeworCisJLy8gQW55IHJlbGF0aXZlICgrLy0pIHZhbHVlcyBoYXZlIGFscmVhZHkgYmVlbgorCS8vIG5vcm1hbGl6ZWQgYXQgdGhpcyBwb2ludAorCXZhciBtYXRjaGVzID0gcmNzc051bS5leGVjKCB2YWx1ZSApOworCXJldHVybiBtYXRjaGVzID8KKworCQkvLyBHdWFyZCBhZ2FpbnN0IHVuZGVmaW5lZCAic3VidHJhY3QiLCBlLmcuLCB3aGVuIHVzZWQgYXMgaW4gY3NzSG9va3MKKwkJTWF0aC5tYXgoIDAsIG1hdGNoZXNbIDIgXSAtICggc3VidHJhY3QgfHwgMCApICkgKyAoIG1hdGNoZXNbIDMgXSB8fCAicHgiICkgOgorCQl2YWx1ZTsKK30KKworZnVuY3Rpb24gYXVnbWVudFdpZHRoT3JIZWlnaHQoIGVsZW0sIG5hbWUsIGV4dHJhLCBpc0JvcmRlckJveCwgc3R5bGVzICkgeworCXZhciBpLAorCQl2YWwgPSAwOworCisJLy8gSWYgd2UgYWxyZWFkeSBoYXZlIHRoZSByaWdodCBtZWFzdXJlbWVudCwgYXZvaWQgYXVnbWVudGF0aW9uCisJaWYgKCBleHRyYSA9PT0gKCBpc0JvcmRlckJveCA/ICJib3JkZXIiIDogImNvbnRlbnQiICkgKSB7CisJCWkgPSA0OworCisJLy8gT3RoZXJ3aXNlIGluaXRpYWxpemUgZm9yIGhvcml6b250YWwgb3IgdmVydGljYWwgcHJvcGVydGllcworCX0gZWxzZSB7CisJCWkgPSBuYW1lID09PSAid2lkdGgiID8gMSA6IDA7CisJfQorCisJZm9yICggOyBpIDwgNDsgaSArPSAyICkgeworCisJCS8vIEJvdGggYm94IG1vZGVscyBleGNsdWRlIG1hcmdpbiwgc28gYWRkIGl0IGlmIHdlIHdhbnQgaXQKKwkJaWYgKCBleHRyYSA9PT0gIm1hcmdpbiIgKSB7CisJCQl2YWwgKz0galF1ZXJ5LmNzcyggZWxlbSwgZXh0cmEgKyBjc3NFeHBhbmRbIGkgXSwgdHJ1ZSwgc3R5bGVzICk7CisJCX0KKworCQlpZiAoIGlzQm9yZGVyQm94ICkgeworCisJCQkvLyBib3JkZXItYm94IGluY2x1ZGVzIHBhZGRpbmcsIHNvIHJlbW92ZSBpdCBpZiB3ZSB3YW50IGNvbnRlbnQKKwkJCWlmICggZXh0cmEgPT09ICJjb250ZW50IiApIHsKKwkJCQl2YWwgLT0galF1ZXJ5LmNzcyggZWxlbSwgInBhZGRpbmciICsgY3NzRXhwYW5kWyBpIF0sIHRydWUsIHN0eWxlcyApOworCQkJfQorCisJCQkvLyBBdCB0aGlzIHBvaW50LCBleHRyYSBpc24ndCBib3JkZXIgbm9yIG1hcmdpbiwgc28gcmVtb3ZlIGJvcmRlcgorCQkJaWYgKCBleHRyYSAhPT0gIm1hcmdpbiIgKSB7CisJCQkJdmFsIC09IGpRdWVyeS5jc3MoIGVsZW0sICJib3JkZXIiICsgY3NzRXhwYW5kWyBpIF0gKyAiV2lkdGgiLCB0cnVlLCBzdHlsZXMgKTsKKwkJCX0KKwkJfSBlbHNlIHsKKworCQkJLy8gQXQgdGhpcyBwb2ludCwgZXh0cmEgaXNuJ3QgY29udGVudCwgc28gYWRkIHBhZGRpbmcKKwkJCXZhbCArPSBqUXVlcnkuY3NzKCBlbGVtLCAicGFkZGluZyIgKyBjc3NFeHBhbmRbIGkgXSwgdHJ1ZSwgc3R5bGVzICk7CisKKwkJCS8vIEF0IHRoaXMgcG9pbnQsIGV4dHJhIGlzbid0IGNvbnRlbnQgbm9yIHBhZGRpbmcsIHNvIGFkZCBib3JkZXIKKwkJCWlmICggZXh0cmEgIT09ICJwYWRkaW5nIiApIHsKKwkJCQl2YWwgKz0galF1ZXJ5LmNzcyggZWxlbSwgImJvcmRlciIgKyBjc3NFeHBhbmRbIGkgXSArICJXaWR0aCIsIHRydWUsIHN0eWxlcyApOworCQkJfQorCQl9CisJfQorCisJcmV0dXJuIHZhbDsKK30KKworZnVuY3Rpb24gZ2V0V2lkdGhPckhlaWdodCggZWxlbSwgbmFtZSwgZXh0cmEgKSB7CisKKwkvLyBTdGFydCB3aXRoIGNvbXB1dGVkIHN0eWxlCisJdmFyIHZhbHVlSXNCb3JkZXJCb3gsCisJCXN0eWxlcyA9IGdldFN0eWxlcyggZWxlbSApLAorCQl2YWwgPSBjdXJDU1MoIGVsZW0sIG5hbWUsIHN0eWxlcyApLAorCQlpc0JvcmRlckJveCA9IGpRdWVyeS5jc3MoIGVsZW0sICJib3hTaXppbmciLCBmYWxzZSwgc3R5bGVzICkgPT09ICJib3JkZXItYm94IjsKKworCS8vIENvbXB1dGVkIHVuaXQgaXMgbm90IHBpeGVscy4gU3RvcCBoZXJlIGFuZCByZXR1cm4uCisJaWYgKCBybnVtbm9ucHgudGVzdCggdmFsICkgKSB7CisJCXJldHVybiB2YWw7CisJfQorCisJLy8gQ2hlY2sgZm9yIHN0eWxlIGluIGNhc2UgYSBicm93c2VyIHdoaWNoIHJldHVybnMgdW5yZWxpYWJsZSB2YWx1ZXMKKwkvLyBmb3IgZ2V0Q29tcHV0ZWRTdHlsZSBzaWxlbnRseSBmYWxscyBiYWNrIHRvIHRoZSByZWxpYWJsZSBlbGVtLnN0eWxlCisJdmFsdWVJc0JvcmRlckJveCA9IGlzQm9yZGVyQm94ICYmCisJCSggc3VwcG9ydC5ib3hTaXppbmdSZWxpYWJsZSgpIHx8IHZhbCA9PT0gZWxlbS5zdHlsZVsgbmFtZSBdICk7CisKKwkvLyBGYWxsIGJhY2sgdG8gb2Zmc2V0V2lkdGgvSGVpZ2h0IHdoZW4gdmFsdWUgaXMgImF1dG8iCisJLy8gVGhpcyBoYXBwZW5zIGZvciBpbmxpbmUgZWxlbWVudHMgd2l0aCBubyBleHBsaWNpdCBzZXR0aW5nIChnaC0zNTcxKQorCWlmICggdmFsID09PSAiYXV0byIgKSB7CisJCXZhbCA9IGVsZW1bICJvZmZzZXQiICsgbmFtZVsgMCBdLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnNsaWNlKCAxICkgXTsKKwl9CisKKwkvLyBOb3JtYWxpemUgIiIsIGF1dG8sIGFuZCBwcmVwYXJlIGZvciBleHRyYQorCXZhbCA9IHBhcnNlRmxvYXQoIHZhbCApIHx8IDA7CisKKwkvLyBVc2UgdGhlIGFjdGl2ZSBib3gtc2l6aW5nIG1vZGVsIHRvIGFkZC9zdWJ0cmFjdCBpcnJlbGV2YW50IHN0eWxlcworCXJldHVybiAoIHZhbCArCisJCWF1Z21lbnRXaWR0aE9ySGVpZ2h0KAorCQkJZWxlbSwKKwkJCW5hbWUsCisJCQlleHRyYSB8fCAoIGlzQm9yZGVyQm94ID8gImJvcmRlciIgOiAiY29udGVudCIgKSwKKwkJCXZhbHVlSXNCb3JkZXJCb3gsCisJCQlzdHlsZXMKKwkJKQorCSkgKyAicHgiOworfQorCitqUXVlcnkuZXh0ZW5kKCB7CisKKwkvLyBBZGQgaW4gc3R5bGUgcHJvcGVydHkgaG9va3MgZm9yIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQKKwkvLyBiZWhhdmlvciBvZiBnZXR0aW5nIGFuZCBzZXR0aW5nIGEgc3R5bGUgcHJvcGVydHkKKwljc3NIb29rczogeworCQlvcGFjaXR5OiB7CisJCQlnZXQ6IGZ1bmN0aW9uKCBlbGVtLCBjb21wdXRlZCApIHsKKwkJCQlpZiAoIGNvbXB1dGVkICkgeworCisJCQkJCS8vIFdlIHNob3VsZCBhbHdheXMgZ2V0IGEgbnVtYmVyIGJhY2sgZnJvbSBvcGFjaXR5CisJCQkJCXZhciByZXQgPSBjdXJDU1MoIGVsZW0sICJvcGFjaXR5IiApOworCQkJCQlyZXR1cm4gcmV0ID09PSAiIiA/ICIxIiA6IHJldDsKKwkJCQl9CisJCQl9CisJCX0KKwl9LAorCisJLy8gRG9uJ3QgYXV0b21hdGljYWxseSBhZGQgInB4IiB0byB0aGVzZSBwb3NzaWJseS11bml0bGVzcyBwcm9wZXJ0aWVzCisJY3NzTnVtYmVyOiB7CisJCSJhbmltYXRpb25JdGVyYXRpb25Db3VudCI6IHRydWUsCisJCSJjb2x1bW5Db3VudCI6IHRydWUsCisJCSJmaWxsT3BhY2l0eSI6IHRydWUsCisJCSJmbGV4R3JvdyI6IHRydWUsCisJCSJmbGV4U2hyaW5rIjogdHJ1ZSwKKwkJImZvbnRXZWlnaHQiOiB0cnVlLAorCQkibGluZUhlaWdodCI6IHRydWUsCisJCSJvcGFjaXR5IjogdHJ1ZSwKKwkJIm9yZGVyIjogdHJ1ZSwKKwkJIm9ycGhhbnMiOiB0cnVlLAorCQkid2lkb3dzIjogdHJ1ZSwKKwkJInpJbmRleCI6IHRydWUsCisJCSJ6b29tIjogdHJ1ZQorCX0sCisKKwkvLyBBZGQgaW4gcHJvcGVydGllcyB3aG9zZSBuYW1lcyB5b3Ugd2lzaCB0byBmaXggYmVmb3JlCisJLy8gc2V0dGluZyBvciBnZXR0aW5nIHRoZSB2YWx1ZQorCWNzc1Byb3BzOiB7CisJCSJmbG9hdCI6ICJjc3NGbG9hdCIKKwl9LAorCisJLy8gR2V0IGFuZCBzZXQgdGhlIHN0eWxlIHByb3BlcnR5IG9uIGEgRE9NIE5vZGUKKwlzdHlsZTogZnVuY3Rpb24oIGVsZW0sIG5hbWUsIHZhbHVlLCBleHRyYSApIHsKKworCQkvLyBEb24ndCBzZXQgc3R5bGVzIG9uIHRleHQgYW5kIGNvbW1lbnQgbm9kZXMKKwkJaWYgKCAhZWxlbSB8fCBlbGVtLm5vZGVUeXBlID09PSAzIHx8IGVsZW0ubm9kZVR5cGUgPT09IDggfHwgIWVsZW0uc3R5bGUgKSB7CisJCQlyZXR1cm47CisJCX0KKworCQkvLyBNYWtlIHN1cmUgdGhhdCB3ZSdyZSB3b3JraW5nIHdpdGggdGhlIHJpZ2h0IG5hbWUKKwkJdmFyIHJldCwgdHlwZSwgaG9va3MsCisJCQlvcmlnTmFtZSA9IGpRdWVyeS5jYW1lbENhc2UoIG5hbWUgKSwKKwkJCWlzQ3VzdG9tUHJvcCA9IHJjdXN0b21Qcm9wLnRlc3QoIG5hbWUgKSwKKwkJCXN0eWxlID0gZWxlbS5zdHlsZTsKKworCQkvLyBNYWtlIHN1cmUgdGhhdCB3ZSdyZSB3b3JraW5nIHdpdGggdGhlIHJpZ2h0IG5hbWUuIFdlIGRvbid0CisJCS8vIHdhbnQgdG8gcXVlcnkgdGhlIHZhbHVlIGlmIGl0IGlzIGEgQ1NTIGN1c3RvbSBwcm9wZXJ0eQorCQkvLyBzaW5jZSB0aGV5IGFyZSB1c2VyLWRlZmluZWQuCisJCWlmICggIWlzQ3VzdG9tUHJvcCApIHsKKwkJCW5hbWUgPSBmaW5hbFByb3BOYW1lKCBvcmlnTmFtZSApOworCQl9CisKKwkJLy8gR2V0cyBob29rIGZvciB0aGUgcHJlZml4ZWQgdmVyc2lvbiwgdGhlbiB1bnByZWZpeGVkIHZlcnNpb24KKwkJaG9va3MgPSBqUXVlcnkuY3NzSG9va3NbIG5hbWUgXSB8fCBqUXVlcnkuY3NzSG9va3NbIG9yaWdOYW1lIF07CisKKwkJLy8gQ2hlY2sgaWYgd2UncmUgc2V0dGluZyBhIHZhbHVlCisJCWlmICggdmFsdWUgIT09IHVuZGVmaW5lZCApIHsKKwkJCXR5cGUgPSB0eXBlb2YgdmFsdWU7CisKKwkJCS8vIENvbnZlcnQgIis9IiBvciAiLT0iIHRvIHJlbGF0aXZlIG51bWJlcnMgKCM3MzQ1KQorCQkJaWYgKCB0eXBlID09PSAic3RyaW5nIiAmJiAoIHJldCA9IHJjc3NOdW0uZXhlYyggdmFsdWUgKSApICYmIHJldFsgMSBdICkgeworCQkJCXZhbHVlID0gYWRqdXN0Q1NTKCBlbGVtLCBuYW1lLCByZXQgKTsKKworCQkJCS8vIEZpeGVzIGJ1ZyAjOTIzNworCQkJCXR5cGUgPSAibnVtYmVyIjsKKwkJCX0KKworCQkJLy8gTWFrZSBzdXJlIHRoYXQgbnVsbCBhbmQgTmFOIHZhbHVlcyBhcmVuJ3Qgc2V0ICgjNzExNikKKwkJCWlmICggdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSAhPT0gdmFsdWUgKSB7CisJCQkJcmV0dXJuOworCQkJfQorCisJCQkvLyBJZiBhIG51bWJlciB3YXMgcGFzc2VkIGluLCBhZGQgdGhlIHVuaXQgKGV4Y2VwdCBmb3IgY2VydGFpbiBDU1MgcHJvcGVydGllcykKKwkJCWlmICggdHlwZSA9PT0gIm51bWJlciIgKSB7CisJCQkJdmFsdWUgKz0gcmV0ICYmIHJldFsgMyBdIHx8ICggalF1ZXJ5LmNzc051bWJlclsgb3JpZ05hbWUgXSA/ICIiIDogInB4IiApOworCQkJfQorCisJCQkvLyBiYWNrZ3JvdW5kLSogcHJvcHMgYWZmZWN0IG9yaWdpbmFsIGNsb25lJ3MgdmFsdWVzCisJCQlpZiAoICFzdXBwb3J0LmNsZWFyQ2xvbmVTdHlsZSAmJiB2YWx1ZSA9PT0gIiIgJiYgbmFtZS5pbmRleE9mKCAiYmFja2dyb3VuZCIgKSA9PT0gMCApIHsKKwkJCQlzdHlsZVsgbmFtZSBdID0gImluaGVyaXQiOworCQkJfQorCisJCQkvLyBJZiBhIGhvb2sgd2FzIHByb3ZpZGVkLCB1c2UgdGhhdCB2YWx1ZSwgb3RoZXJ3aXNlIGp1c3Qgc2V0IHRoZSBzcGVjaWZpZWQgdmFsdWUKKwkJCWlmICggIWhvb2tzIHx8ICEoICJzZXQiIGluIGhvb2tzICkgfHwKKwkJCQkoIHZhbHVlID0gaG9va3Muc2V0KCBlbGVtLCB2YWx1ZSwgZXh0cmEgKSApICE9PSB1bmRlZmluZWQgKSB7CisKKwkJCQlpZiAoIGlzQ3VzdG9tUHJvcCApIHsKKwkJCQkJc3R5bGUuc2V0UHJvcGVydHkoIG5hbWUsIHZhbHVlICk7CisJCQkJfSBlbHNlIHsKKwkJCQkJc3R5bGVbIG5hbWUgXSA9IHZhbHVlOworCQkJCX0KKwkJCX0KKworCQl9IGVsc2UgeworCisJCQkvLyBJZiBhIGhvb2sgd2FzIHByb3ZpZGVkIGdldCB0aGUgbm9uLWNvbXB1dGVkIHZhbHVlIGZyb20gdGhlcmUKKwkJCWlmICggaG9va3MgJiYgImdldCIgaW4gaG9va3MgJiYKKwkJCQkoIHJldCA9IGhvb2tzLmdldCggZWxlbSwgZmFsc2UsIGV4dHJhICkgKSAhPT0gdW5kZWZpbmVkICkgeworCisJCQkJcmV0dXJuIHJldDsKKwkJCX0KKworCQkJLy8gT3RoZXJ3aXNlIGp1c3QgZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBzdHlsZSBvYmplY3QKKwkJCXJldHVybiBzdHlsZVsgbmFtZSBdOworCQl9CisJfSwKKworCWNzczogZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGV4dHJhLCBzdHlsZXMgKSB7CisJCXZhciB2YWwsIG51bSwgaG9va3MsCisJCQlvcmlnTmFtZSA9IGpRdWVyeS5jYW1lbENhc2UoIG5hbWUgKSwKKwkJCWlzQ3VzdG9tUHJvcCA9IHJjdXN0b21Qcm9wLnRlc3QoIG5hbWUgKTsKKworCQkvLyBNYWtlIHN1cmUgdGhhdCB3ZSdyZSB3b3JraW5nIHdpdGggdGhlIHJpZ2h0IG5hbWUuIFdlIGRvbid0CisJCS8vIHdhbnQgdG8gbW9kaWZ5IHRoZSB2YWx1ZSBpZiBpdCBpcyBhIENTUyBjdXN0b20gcHJvcGVydHkKKwkJLy8gc2luY2UgdGhleSBhcmUgdXNlci1kZWZpbmVkLgorCQlpZiAoICFpc0N1c3RvbVByb3AgKSB7CisJCQluYW1lID0gZmluYWxQcm9wTmFtZSggb3JpZ05hbWUgKTsKKwkJfQorCisJCS8vIFRyeSBwcmVmaXhlZCBuYW1lIGZvbGxvd2VkIGJ5IHRoZSB1bnByZWZpeGVkIG5hbWUKKwkJaG9va3MgPSBqUXVlcnkuY3NzSG9va3NbIG5hbWUgXSB8fCBqUXVlcnkuY3NzSG9va3NbIG9yaWdOYW1lIF07CisKKwkJLy8gSWYgYSBob29rIHdhcyBwcm92aWRlZCBnZXQgdGhlIGNvbXB1dGVkIHZhbHVlIGZyb20gdGhlcmUKKwkJaWYgKCBob29rcyAmJiAiZ2V0IiBpbiBob29rcyApIHsKKwkJCXZhbCA9IGhvb2tzLmdldCggZWxlbSwgdHJ1ZSwgZXh0cmEgKTsKKwkJfQorCisJCS8vIE90aGVyd2lzZSwgaWYgYSB3YXkgdG8gZ2V0IHRoZSBjb21wdXRlZCB2YWx1ZSBleGlzdHMsIHVzZSB0aGF0CisJCWlmICggdmFsID09PSB1bmRlZmluZWQgKSB7CisJCQl2YWwgPSBjdXJDU1MoIGVsZW0sIG5hbWUsIHN0eWxlcyApOworCQl9CisKKwkJLy8gQ29udmVydCAibm9ybWFsIiB0byBjb21wdXRlZCB2YWx1ZQorCQlpZiAoIHZhbCA9PT0gIm5vcm1hbCIgJiYgbmFtZSBpbiBjc3NOb3JtYWxUcmFuc2Zvcm0gKSB7CisJCQl2YWwgPSBjc3NOb3JtYWxUcmFuc2Zvcm1bIG5hbWUgXTsKKwkJfQorCisJCS8vIE1ha2UgbnVtZXJpYyBpZiBmb3JjZWQgb3IgYSBxdWFsaWZpZXIgd2FzIHByb3ZpZGVkIGFuZCB2YWwgbG9va3MgbnVtZXJpYworCQlpZiAoIGV4dHJhID09PSAiIiB8fCBleHRyYSApIHsKKwkJCW51bSA9IHBhcnNlRmxvYXQoIHZhbCApOworCQkJcmV0dXJuIGV4dHJhID09PSB0cnVlIHx8IGlzRmluaXRlKCBudW0gKSA/IG51bSB8fCAwIDogdmFsOworCQl9CisKKwkJcmV0dXJuIHZhbDsKKwl9Cit9ICk7CisKK2pRdWVyeS5lYWNoKCBbICJoZWlnaHQiLCAid2lkdGgiIF0sIGZ1bmN0aW9uKCBpLCBuYW1lICkgeworCWpRdWVyeS5jc3NIb29rc1sgbmFtZSBdID0geworCQlnZXQ6IGZ1bmN0aW9uKCBlbGVtLCBjb21wdXRlZCwgZXh0cmEgKSB7CisJCQlpZiAoIGNvbXB1dGVkICkgeworCisJCQkJLy8gQ2VydGFpbiBlbGVtZW50cyBjYW4gaGF2ZSBkaW1lbnNpb24gaW5mbyBpZiB3ZSBpbnZpc2libHkgc2hvdyB0aGVtCisJCQkJLy8gYnV0IGl0IG11c3QgaGF2ZSBhIGN1cnJlbnQgZGlzcGxheSBzdHlsZSB0aGF0IHdvdWxkIGJlbmVmaXQKKwkJCQlyZXR1cm4gcmRpc3BsYXlzd2FwLnRlc3QoIGpRdWVyeS5jc3MoIGVsZW0sICJkaXNwbGF5IiApICkgJiYKKworCQkJCQkvLyBTdXBwb3J0OiBTYWZhcmkgOCsKKwkJCQkJLy8gVGFibGUgY29sdW1ucyBpbiBTYWZhcmkgaGF2ZSBub24temVybyBvZmZzZXRXaWR0aCAmIHplcm8KKwkJCQkJLy8gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggdW5sZXNzIGRpc3BsYXkgaXMgY2hhbmdlZC4KKwkJCQkJLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5CisJCQkJCS8vIFJ1bm5pbmcgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IG9uIGEgZGlzY29ubmVjdGVkIG5vZGUKKwkJCQkJLy8gaW4gSUUgdGhyb3dzIGFuIGVycm9yLgorCQkJCQkoICFlbGVtLmdldENsaWVudFJlY3RzKCkubGVuZ3RoIHx8ICFlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoICkgPworCQkJCQkJc3dhcCggZWxlbSwgY3NzU2hvdywgZnVuY3Rpb24oKSB7CisJCQkJCQkJcmV0dXJuIGdldFdpZHRoT3JIZWlnaHQoIGVsZW0sIG5hbWUsIGV4dHJhICk7CisJCQkJCQl9ICkgOgorCQkJCQkJZ2V0V2lkdGhPckhlaWdodCggZWxlbSwgbmFtZSwgZXh0cmEgKTsKKwkJCX0KKwkJfSwKKworCQlzZXQ6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSwgZXh0cmEgKSB7CisJCQl2YXIgbWF0Y2hlcywKKwkJCQlzdHlsZXMgPSBleHRyYSAmJiBnZXRTdHlsZXMoIGVsZW0gKSwKKwkJCQlzdWJ0cmFjdCA9IGV4dHJhICYmIGF1Z21lbnRXaWR0aE9ySGVpZ2h0KAorCQkJCQllbGVtLAorCQkJCQluYW1lLAorCQkJCQlleHRyYSwKKwkJCQkJalF1ZXJ5LmNzcyggZWxlbSwgImJveFNpemluZyIsIGZhbHNlLCBzdHlsZXMgKSA9PT0gImJvcmRlci1ib3giLAorCQkJCQlzdHlsZXMKKwkJCQkpOworCisJCQkvLyBDb252ZXJ0IHRvIHBpeGVscyBpZiB2YWx1ZSBhZGp1c3RtZW50IGlzIG5lZWRlZAorCQkJaWYgKCBzdWJ0cmFjdCAmJiAoIG1hdGNoZXMgPSByY3NzTnVtLmV4ZWMoIHZhbHVlICkgKSAmJgorCQkJCSggbWF0Y2hlc1sgMyBdIHx8ICJweCIgKSAhPT0gInB4IiApIHsKKworCQkJCWVsZW0uc3R5bGVbIG5hbWUgXSA9IHZhbHVlOworCQkJCXZhbHVlID0galF1ZXJ5LmNzcyggZWxlbSwgbmFtZSApOworCQkJfQorCisJCQlyZXR1cm4gc2V0UG9zaXRpdmVOdW1iZXIoIGVsZW0sIHZhbHVlLCBzdWJ0cmFjdCApOworCQl9CisJfTsKK30gKTsKKworalF1ZXJ5LmNzc0hvb2tzLm1hcmdpbkxlZnQgPSBhZGRHZXRIb29rSWYoIHN1cHBvcnQucmVsaWFibGVNYXJnaW5MZWZ0LAorCWZ1bmN0aW9uKCBlbGVtLCBjb21wdXRlZCApIHsKKwkJaWYgKCBjb21wdXRlZCApIHsKKwkJCXJldHVybiAoIHBhcnNlRmxvYXQoIGN1ckNTUyggZWxlbSwgIm1hcmdpbkxlZnQiICkgKSB8fAorCQkJCWVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCAtCisJCQkJCXN3YXAoIGVsZW0sIHsgbWFyZ2luTGVmdDogMCB9LCBmdW5jdGlvbigpIHsKKwkJCQkJCXJldHVybiBlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7CisJCQkJCX0gKQorCQkJCSkgKyAicHgiOworCQl9CisJfQorKTsKKworLy8gVGhlc2UgaG9va3MgYXJlIHVzZWQgYnkgYW5pbWF0ZSB0byBleHBhbmQgcHJvcGVydGllcworalF1ZXJ5LmVhY2goIHsKKwltYXJnaW46ICIiLAorCXBhZGRpbmc6ICIiLAorCWJvcmRlcjogIldpZHRoIgorfSwgZnVuY3Rpb24oIHByZWZpeCwgc3VmZml4ICkgeworCWpRdWVyeS5jc3NIb29rc1sgcHJlZml4ICsgc3VmZml4IF0gPSB7CisJCWV4cGFuZDogZnVuY3Rpb24oIHZhbHVlICkgeworCQkJdmFyIGkgPSAwLAorCQkJCWV4cGFuZGVkID0ge30sCisKKwkJCQkvLyBBc3N1bWVzIGEgc2luZ2xlIG51bWJlciBpZiBub3QgYSBzdHJpbmcKKwkJCQlwYXJ0cyA9IHR5cGVvZiB2YWx1ZSA9PT0gInN0cmluZyIgPyB2YWx1ZS5zcGxpdCggIiAiICkgOiBbIHZhbHVlIF07CisKKwkJCWZvciAoIDsgaSA8IDQ7IGkrKyApIHsKKwkJCQlleHBhbmRlZFsgcHJlZml4ICsgY3NzRXhwYW5kWyBpIF0gKyBzdWZmaXggXSA9CisJCQkJCXBhcnRzWyBpIF0gfHwgcGFydHNbIGkgLSAyIF0gfHwgcGFydHNbIDAgXTsKKwkJCX0KKworCQkJcmV0dXJuIGV4cGFuZGVkOworCQl9CisJfTsKKworCWlmICggIXJtYXJnaW4udGVzdCggcHJlZml4ICkgKSB7CisJCWpRdWVyeS5jc3NIb29rc1sgcHJlZml4ICsgc3VmZml4IF0uc2V0ID0gc2V0UG9zaXRpdmVOdW1iZXI7CisJfQorfSApOworCitqUXVlcnkuZm4uZXh0ZW5kKCB7CisJY3NzOiBmdW5jdGlvbiggbmFtZSwgdmFsdWUgKSB7CisJCXJldHVybiBhY2Nlc3MoIHRoaXMsIGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCB2YWx1ZSApIHsKKwkJCXZhciBzdHlsZXMsIGxlbiwKKwkJCQltYXAgPSB7fSwKKwkJCQlpID0gMDsKKworCQkJaWYgKCBBcnJheS5pc0FycmF5KCBuYW1lICkgKSB7CisJCQkJc3R5bGVzID0gZ2V0U3R5bGVzKCBlbGVtICk7CisJCQkJbGVuID0gbmFtZS5sZW5ndGg7CisKKwkJCQlmb3IgKCA7IGkgPCBsZW47IGkrKyApIHsKKwkJCQkJbWFwWyBuYW1lWyBpIF0gXSA9IGpRdWVyeS5jc3MoIGVsZW0sIG5hbWVbIGkgXSwgZmFsc2UsIHN0eWxlcyApOworCQkJCX0KKworCQkJCXJldHVybiBtYXA7CisJCQl9CisKKwkJCXJldHVybiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8KKwkJCQlqUXVlcnkuc3R5bGUoIGVsZW0sIG5hbWUsIHZhbHVlICkgOgorCQkJCWpRdWVyeS5jc3MoIGVsZW0sIG5hbWUgKTsKKwkJfSwgbmFtZSwgdmFsdWUsIGFyZ3VtZW50cy5sZW5ndGggPiAxICk7CisJfQorfSApOworCisKK2Z1bmN0aW9uIFR3ZWVuKCBlbGVtLCBvcHRpb25zLCBwcm9wLCBlbmQsIGVhc2luZyApIHsKKwlyZXR1cm4gbmV3IFR3ZWVuLnByb3RvdHlwZS5pbml0KCBlbGVtLCBvcHRpb25zLCBwcm9wLCBlbmQsIGVhc2luZyApOworfQoralF1ZXJ5LlR3ZWVuID0gVHdlZW47CisKK1R3ZWVuLnByb3RvdHlwZSA9IHsKKwljb25zdHJ1Y3RvcjogVHdlZW4sCisJaW5pdDogZnVuY3Rpb24oIGVsZW0sIG9wdGlvbnMsIHByb3AsIGVuZCwgZWFzaW5nLCB1bml0ICkgeworCQl0aGlzLmVsZW0gPSBlbGVtOworCQl0aGlzLnByb3AgPSBwcm9wOworCQl0aGlzLmVhc2luZyA9IGVhc2luZyB8fCBqUXVlcnkuZWFzaW5nLl9kZWZhdWx0OworCQl0aGlzLm9wdGlvbnMgPSBvcHRpb25zOworCQl0aGlzLnN0YXJ0ID0gdGhpcy5ub3cgPSB0aGlzLmN1cigpOworCQl0aGlzLmVuZCA9IGVuZDsKKwkJdGhpcy51bml0ID0gdW5pdCB8fCAoIGpRdWVyeS5jc3NOdW1iZXJbIHByb3AgXSA/ICIiIDogInB4IiApOworCX0sCisJY3VyOiBmdW5jdGlvbigpIHsKKwkJdmFyIGhvb2tzID0gVHdlZW4ucHJvcEhvb2tzWyB0aGlzLnByb3AgXTsKKworCQlyZXR1cm4gaG9va3MgJiYgaG9va3MuZ2V0ID8KKwkJCWhvb2tzLmdldCggdGhpcyApIDoKKwkJCVR3ZWVuLnByb3BIb29rcy5fZGVmYXVsdC5nZXQoIHRoaXMgKTsKKwl9LAorCXJ1bjogZnVuY3Rpb24oIHBlcmNlbnQgKSB7CisJCXZhciBlYXNlZCwKKwkJCWhvb2tzID0gVHdlZW4ucHJvcEhvb2tzWyB0aGlzLnByb3AgXTsKKworCQlpZiAoIHRoaXMub3B0aW9ucy5kdXJhdGlvbiApIHsKKwkJCXRoaXMucG9zID0gZWFzZWQgPSBqUXVlcnkuZWFzaW5nWyB0aGlzLmVhc2luZyBdKAorCQkJCXBlcmNlbnQsIHRoaXMub3B0aW9ucy5kdXJhdGlvbiAqIHBlcmNlbnQsIDAsIDEsIHRoaXMub3B0aW9ucy5kdXJhdGlvbgorCQkJKTsKKwkJfSBlbHNlIHsKKwkJCXRoaXMucG9zID0gZWFzZWQgPSBwZXJjZW50OworCQl9CisJCXRoaXMubm93ID0gKCB0aGlzLmVuZCAtIHRoaXMuc3RhcnQgKSAqIGVhc2VkICsgdGhpcy5zdGFydDsKKworCQlpZiAoIHRoaXMub3B0aW9ucy5zdGVwICkgeworCQkJdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCggdGhpcy5lbGVtLCB0aGlzLm5vdywgdGhpcyApOworCQl9CisKKwkJaWYgKCBob29rcyAmJiBob29rcy5zZXQgKSB7CisJCQlob29rcy5zZXQoIHRoaXMgKTsKKwkJfSBlbHNlIHsKKwkJCVR3ZWVuLnByb3BIb29rcy5fZGVmYXVsdC5zZXQoIHRoaXMgKTsKKwkJfQorCQlyZXR1cm4gdGhpczsKKwl9Cit9OworCitUd2Vlbi5wcm90b3R5cGUuaW5pdC5wcm90b3R5cGUgPSBUd2Vlbi5wcm90b3R5cGU7CisKK1R3ZWVuLnByb3BIb29rcyA9IHsKKwlfZGVmYXVsdDogeworCQlnZXQ6IGZ1bmN0aW9uKCB0d2VlbiApIHsKKwkJCXZhciByZXN1bHQ7CisKKwkJCS8vIFVzZSBhIHByb3BlcnR5IG9uIHRoZSBlbGVtZW50IGRpcmVjdGx5IHdoZW4gaXQgaXMgbm90IGEgRE9NIGVsZW1lbnQsCisJCQkvLyBvciB3aGVuIHRoZXJlIGlzIG5vIG1hdGNoaW5nIHN0eWxlIHByb3BlcnR5IHRoYXQgZXhpc3RzLgorCQkJaWYgKCB0d2Vlbi5lbGVtLm5vZGVUeXBlICE9PSAxIHx8CisJCQkJdHdlZW4uZWxlbVsgdHdlZW4ucHJvcCBdICE9IG51bGwgJiYgdHdlZW4uZWxlbS5zdHlsZVsgdHdlZW4ucHJvcCBdID09IG51bGwgKSB7CisJCQkJcmV0dXJuIHR3ZWVuLmVsZW1bIHR3ZWVuLnByb3AgXTsKKwkJCX0KKworCQkJLy8gUGFzc2luZyBhbiBlbXB0eSBzdHJpbmcgYXMgYSAzcmQgcGFyYW1ldGVyIHRvIC5jc3Mgd2lsbCBhdXRvbWF0aWNhbGx5CisJCQkvLyBhdHRlbXB0IGEgcGFyc2VGbG9hdCBhbmQgZmFsbGJhY2sgdG8gYSBzdHJpbmcgaWYgdGhlIHBhcnNlIGZhaWxzLgorCQkJLy8gU2ltcGxlIHZhbHVlcyBzdWNoIGFzICIxMHB4IiBhcmUgcGFyc2VkIHRvIEZsb2F0OworCQkJLy8gY29tcGxleCB2YWx1ZXMgc3VjaCBhcyAicm90YXRlKDFyYWQpIiBhcmUgcmV0dXJuZWQgYXMtaXMuCisJCQlyZXN1bHQgPSBqUXVlcnkuY3NzKCB0d2Vlbi5lbGVtLCB0d2Vlbi5wcm9wLCAiIiApOworCisJCQkvLyBFbXB0eSBzdHJpbmdzLCBudWxsLCB1bmRlZmluZWQgYW5kICJhdXRvIiBhcmUgY29udmVydGVkIHRvIDAuCisJCQlyZXR1cm4gIXJlc3VsdCB8fCByZXN1bHQgPT09ICJhdXRvIiA/IDAgOiByZXN1bHQ7CisJCX0sCisJCXNldDogZnVuY3Rpb24oIHR3ZWVuICkgeworCisJCQkvLyBVc2Ugc3RlcCBob29rIGZvciBiYWNrIGNvbXBhdC4KKwkJCS8vIFVzZSBjc3NIb29rIGlmIGl0cyB0aGVyZS4KKwkJCS8vIFVzZSAuc3R5bGUgaWYgYXZhaWxhYmxlIGFuZCB1c2UgcGxhaW4gcHJvcGVydGllcyB3aGVyZSBhdmFpbGFibGUuCisJCQlpZiAoIGpRdWVyeS5meC5zdGVwWyB0d2Vlbi5wcm9wIF0gKSB7CisJCQkJalF1ZXJ5LmZ4LnN0ZXBbIHR3ZWVuLnByb3AgXSggdHdlZW4gKTsKKwkJCX0gZWxzZSBpZiAoIHR3ZWVuLmVsZW0ubm9kZVR5cGUgPT09IDEgJiYKKwkJCQkoIHR3ZWVuLmVsZW0uc3R5bGVbIGpRdWVyeS5jc3NQcm9wc1sgdHdlZW4ucHJvcCBdIF0gIT0gbnVsbCB8fAorCQkJCQlqUXVlcnkuY3NzSG9va3NbIHR3ZWVuLnByb3AgXSApICkgeworCQkJCWpRdWVyeS5zdHlsZSggdHdlZW4uZWxlbSwgdHdlZW4ucHJvcCwgdHdlZW4ubm93ICsgdHdlZW4udW5pdCApOworCQkJfSBlbHNlIHsKKwkJCQl0d2Vlbi5lbGVtWyB0d2Vlbi5wcm9wIF0gPSB0d2Vlbi5ub3c7CisJCQl9CisJCX0KKwl9Cit9OworCisvLyBTdXBwb3J0OiBJRSA8PTkgb25seQorLy8gUGFuaWMgYmFzZWQgYXBwcm9hY2ggdG8gc2V0dGluZyB0aGluZ3Mgb24gZGlzY29ubmVjdGVkIG5vZGVzCitUd2Vlbi5wcm9wSG9va3Muc2Nyb2xsVG9wID0gVHdlZW4ucHJvcEhvb2tzLnNjcm9sbExlZnQgPSB7CisJc2V0OiBmdW5jdGlvbiggdHdlZW4gKSB7CisJCWlmICggdHdlZW4uZWxlbS5ub2RlVHlwZSAmJiB0d2Vlbi5lbGVtLnBhcmVudE5vZGUgKSB7CisJCQl0d2Vlbi5lbGVtWyB0d2Vlbi5wcm9wIF0gPSB0d2Vlbi5ub3c7CisJCX0KKwl9Cit9OworCitqUXVlcnkuZWFzaW5nID0geworCWxpbmVhcjogZnVuY3Rpb24oIHAgKSB7CisJCXJldHVybiBwOworCX0sCisJc3dpbmc6IGZ1bmN0aW9uKCBwICkgeworCQlyZXR1cm4gMC41IC0gTWF0aC5jb3MoIHAgKiBNYXRoLlBJICkgLyAyOworCX0sCisJX2RlZmF1bHQ6ICJzd2luZyIKK307CisKK2pRdWVyeS5meCA9IFR3ZWVuLnByb3RvdHlwZS5pbml0OworCisvLyBCYWNrIGNvbXBhdCA8MS44IGV4dGVuc2lvbiBwb2ludAoralF1ZXJ5LmZ4LnN0ZXAgPSB7fTsKKworCisKKwordmFyCisJZnhOb3csIGluUHJvZ3Jlc3MsCisJcmZ4dHlwZXMgPSAvXig/OnRvZ2dsZXxzaG93fGhpZGUpJC8sCisJcnJ1biA9IC9xdWV1ZUhvb2tzJC87CisKK2Z1bmN0aW9uIHNjaGVkdWxlKCkgeworCWlmICggaW5Qcm9ncmVzcyApIHsKKwkJaWYgKCBkb2N1bWVudC5oaWRkZW4gPT09IGZhbHNlICYmIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgKSB7CisJCQl3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCBzY2hlZHVsZSApOworCQl9IGVsc2UgeworCQkJd2luZG93LnNldFRpbWVvdXQoIHNjaGVkdWxlLCBqUXVlcnkuZnguaW50ZXJ2YWwgKTsKKwkJfQorCisJCWpRdWVyeS5meC50aWNrKCk7CisJfQorfQorCisvLyBBbmltYXRpb25zIGNyZWF0ZWQgc3luY2hyb25vdXNseSB3aWxsIHJ1biBzeW5jaHJvbm91c2x5CitmdW5jdGlvbiBjcmVhdGVGeE5vdygpIHsKKwl3aW5kb3cuc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CisJCWZ4Tm93ID0gdW5kZWZpbmVkOworCX0gKTsKKwlyZXR1cm4gKCBmeE5vdyA9IGpRdWVyeS5ub3coKSApOworfQorCisvLyBHZW5lcmF0ZSBwYXJhbWV0ZXJzIHRvIGNyZWF0ZSBhIHN0YW5kYXJkIGFuaW1hdGlvbgorZnVuY3Rpb24gZ2VuRngoIHR5cGUsIGluY2x1ZGVXaWR0aCApIHsKKwl2YXIgd2hpY2gsCisJCWkgPSAwLAorCQlhdHRycyA9IHsgaGVpZ2h0OiB0eXBlIH07CisKKwkvLyBJZiB3ZSBpbmNsdWRlIHdpZHRoLCBzdGVwIHZhbHVlIGlzIDEgdG8gZG8gYWxsIGNzc0V4cGFuZCB2YWx1ZXMsCisJLy8gb3RoZXJ3aXNlIHN0ZXAgdmFsdWUgaXMgMiB0byBza2lwIG92ZXIgTGVmdCBhbmQgUmlnaHQKKwlpbmNsdWRlV2lkdGggPSBpbmNsdWRlV2lkdGggPyAxIDogMDsKKwlmb3IgKCA7IGkgPCA0OyBpICs9IDIgLSBpbmNsdWRlV2lkdGggKSB7CisJCXdoaWNoID0gY3NzRXhwYW5kWyBpIF07CisJCWF0dHJzWyAibWFyZ2luIiArIHdoaWNoIF0gPSBhdHRyc1sgInBhZGRpbmciICsgd2hpY2ggXSA9IHR5cGU7CisJfQorCisJaWYgKCBpbmNsdWRlV2lkdGggKSB7CisJCWF0dHJzLm9wYWNpdHkgPSBhdHRycy53aWR0aCA9IHR5cGU7CisJfQorCisJcmV0dXJuIGF0dHJzOworfQorCitmdW5jdGlvbiBjcmVhdGVUd2VlbiggdmFsdWUsIHByb3AsIGFuaW1hdGlvbiApIHsKKwl2YXIgdHdlZW4sCisJCWNvbGxlY3Rpb24gPSAoIEFuaW1hdGlvbi50d2VlbmVyc1sgcHJvcCBdIHx8IFtdICkuY29uY2F0KCBBbmltYXRpb24udHdlZW5lcnNbICIqIiBdICksCisJCWluZGV4ID0gMCwKKwkJbGVuZ3RoID0gY29sbGVjdGlvbi5sZW5ndGg7CisJZm9yICggOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsKKwkJaWYgKCAoIHR3ZWVuID0gY29sbGVjdGlvblsgaW5kZXggXS5jYWxsKCBhbmltYXRpb24sIHByb3AsIHZhbHVlICkgKSApIHsKKworCQkJLy8gV2UncmUgZG9uZSB3aXRoIHRoaXMgcHJvcGVydHkKKwkJCXJldHVybiB0d2VlbjsKKwkJfQorCX0KK30KKworZnVuY3Rpb24gZGVmYXVsdFByZWZpbHRlciggZWxlbSwgcHJvcHMsIG9wdHMgKSB7CisJdmFyIHByb3AsIHZhbHVlLCB0b2dnbGUsIGhvb2tzLCBvbGRmaXJlLCBwcm9wVHdlZW4sIHJlc3RvcmVEaXNwbGF5LCBkaXNwbGF5LAorCQlpc0JveCA9ICJ3aWR0aCIgaW4gcHJvcHMgfHwgImhlaWdodCIgaW4gcHJvcHMsCisJCWFuaW0gPSB0aGlzLAorCQlvcmlnID0ge30sCisJCXN0eWxlID0gZWxlbS5zdHlsZSwKKwkJaGlkZGVuID0gZWxlbS5ub2RlVHlwZSAmJiBpc0hpZGRlbldpdGhpblRyZWUoIGVsZW0gKSwKKwkJZGF0YVNob3cgPSBkYXRhUHJpdi5nZXQoIGVsZW0sICJmeHNob3ciICk7CisKKwkvLyBRdWV1ZS1za2lwcGluZyBhbmltYXRpb25zIGhpamFjayB0aGUgZnggaG9va3MKKwlpZiAoICFvcHRzLnF1ZXVlICkgeworCQlob29rcyA9IGpRdWVyeS5fcXVldWVIb29rcyggZWxlbSwgImZ4IiApOworCQlpZiAoIGhvb2tzLnVucXVldWVkID09IG51bGwgKSB7CisJCQlob29rcy51bnF1ZXVlZCA9IDA7CisJCQlvbGRmaXJlID0gaG9va3MuZW1wdHkuZmlyZTsKKwkJCWhvb2tzLmVtcHR5LmZpcmUgPSBmdW5jdGlvbigpIHsKKwkJCQlpZiAoICFob29rcy51bnF1ZXVlZCApIHsKKwkJCQkJb2xkZmlyZSgpOworCQkJCX0KKwkJCX07CisJCX0KKwkJaG9va3MudW5xdWV1ZWQrKzsKKworCQlhbmltLmFsd2F5cyggZnVuY3Rpb24oKSB7CisKKwkJCS8vIEVuc3VyZSB0aGUgY29tcGxldGUgaGFuZGxlciBpcyBjYWxsZWQgYmVmb3JlIHRoaXMgY29tcGxldGVzCisJCQlhbmltLmFsd2F5cyggZnVuY3Rpb24oKSB7CisJCQkJaG9va3MudW5xdWV1ZWQtLTsKKwkJCQlpZiAoICFqUXVlcnkucXVldWUoIGVsZW0sICJmeCIgKS5sZW5ndGggKSB7CisJCQkJCWhvb2tzLmVtcHR5LmZpcmUoKTsKKwkJCQl9CisJCQl9ICk7CisJCX0gKTsKKwl9CisKKwkvLyBEZXRlY3Qgc2hvdy9oaWRlIGFuaW1hdGlvbnMKKwlmb3IgKCBwcm9wIGluIHByb3BzICkgeworCQl2YWx1ZSA9IHByb3BzWyBwcm9wIF07CisJCWlmICggcmZ4dHlwZXMudGVzdCggdmFsdWUgKSApIHsKKwkJCWRlbGV0ZSBwcm9wc1sgcHJvcCBdOworCQkJdG9nZ2xlID0gdG9nZ2xlIHx8IHZhbHVlID09PSAidG9nZ2xlIjsKKwkJCWlmICggdmFsdWUgPT09ICggaGlkZGVuID8gImhpZGUiIDogInNob3ciICkgKSB7CisKKwkJCQkvLyBQcmV0ZW5kIHRvIGJlIGhpZGRlbiBpZiB0aGlzIGlzIGEgInNob3ciIGFuZAorCQkJCS8vIHRoZXJlIGlzIHN0aWxsIGRhdGEgZnJvbSBhIHN0b3BwZWQgc2hvdy9oaWRlCisJCQkJaWYgKCB2YWx1ZSA9PT0gInNob3ciICYmIGRhdGFTaG93ICYmIGRhdGFTaG93WyBwcm9wIF0gIT09IHVuZGVmaW5lZCApIHsKKwkJCQkJaGlkZGVuID0gdHJ1ZTsKKworCQkJCS8vIElnbm9yZSBhbGwgb3RoZXIgbm8tb3Agc2hvdy9oaWRlIGRhdGEKKwkJCQl9IGVsc2UgeworCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQl9CisJCQlvcmlnWyBwcm9wIF0gPSBkYXRhU2hvdyAmJiBkYXRhU2hvd1sgcHJvcCBdIHx8IGpRdWVyeS5zdHlsZSggZWxlbSwgcHJvcCApOworCQl9CisJfQorCisJLy8gQmFpbCBvdXQgaWYgdGhpcyBpcyBhIG5vLW9wIGxpa2UgLmhpZGUoKS5oaWRlKCkKKwlwcm9wVHdlZW4gPSAhalF1ZXJ5LmlzRW1wdHlPYmplY3QoIHByb3BzICk7CisJaWYgKCAhcHJvcFR3ZWVuICYmIGpRdWVyeS5pc0VtcHR5T2JqZWN0KCBvcmlnICkgKSB7CisJCXJldHVybjsKKwl9CisKKwkvLyBSZXN0cmljdCAib3ZlcmZsb3ciIGFuZCAiZGlzcGxheSIgc3R5bGVzIGR1cmluZyBib3ggYW5pbWF0aW9ucworCWlmICggaXNCb3ggJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSApIHsKKworCQkvLyBTdXBwb3J0OiBJRSA8PTkgLSAxMSwgRWRnZSAxMiAtIDEzCisJCS8vIFJlY29yZCBhbGwgMyBvdmVyZmxvdyBhdHRyaWJ1dGVzIGJlY2F1c2UgSUUgZG9lcyBub3QgaW5mZXIgdGhlIHNob3J0aGFuZAorCQkvLyBmcm9tIGlkZW50aWNhbGx5LXZhbHVlZCBvdmVyZmxvd1ggYW5kIG92ZXJmbG93WQorCQlvcHRzLm92ZXJmbG93ID0gWyBzdHlsZS5vdmVyZmxvdywgc3R5bGUub3ZlcmZsb3dYLCBzdHlsZS5vdmVyZmxvd1kgXTsKKworCQkvLyBJZGVudGlmeSBhIGRpc3BsYXkgdHlwZSwgcHJlZmVycmluZyBvbGQgc2hvdy9oaWRlIGRhdGEgb3ZlciB0aGUgQ1NTIGNhc2NhZGUKKwkJcmVzdG9yZURpc3BsYXkgPSBkYXRhU2hvdyAmJiBkYXRhU2hvdy5kaXNwbGF5OworCQlpZiAoIHJlc3RvcmVEaXNwbGF5ID09IG51bGwgKSB7CisJCQlyZXN0b3JlRGlzcGxheSA9IGRhdGFQcml2LmdldCggZWxlbSwgImRpc3BsYXkiICk7CisJCX0KKwkJZGlzcGxheSA9IGpRdWVyeS5jc3MoIGVsZW0sICJkaXNwbGF5IiApOworCQlpZiAoIGRpc3BsYXkgPT09ICJub25lIiApIHsKKwkJCWlmICggcmVzdG9yZURpc3BsYXkgKSB7CisJCQkJZGlzcGxheSA9IHJlc3RvcmVEaXNwbGF5OworCQkJfSBlbHNlIHsKKworCQkJCS8vIEdldCBub25lbXB0eSB2YWx1ZShzKSBieSB0ZW1wb3JhcmlseSBmb3JjaW5nIHZpc2liaWxpdHkKKwkJCQlzaG93SGlkZSggWyBlbGVtIF0sIHRydWUgKTsKKwkJCQlyZXN0b3JlRGlzcGxheSA9IGVsZW0uc3R5bGUuZGlzcGxheSB8fCByZXN0b3JlRGlzcGxheTsKKwkJCQlkaXNwbGF5ID0galF1ZXJ5LmNzcyggZWxlbSwgImRpc3BsYXkiICk7CisJCQkJc2hvd0hpZGUoIFsgZWxlbSBdICk7CisJCQl9CisJCX0KKworCQkvLyBBbmltYXRlIGlubGluZSBlbGVtZW50cyBhcyBpbmxpbmUtYmxvY2sKKwkJaWYgKCBkaXNwbGF5ID09PSAiaW5saW5lIiB8fCBkaXNwbGF5ID09PSAiaW5saW5lLWJsb2NrIiAmJiByZXN0b3JlRGlzcGxheSAhPSBudWxsICkgeworCQkJaWYgKCBqUXVlcnkuY3NzKCBlbGVtLCAiZmxvYXQiICkgPT09ICJub25lIiApIHsKKworCQkJCS8vIFJlc3RvcmUgdGhlIG9yaWdpbmFsIGRpc3BsYXkgdmFsdWUgYXQgdGhlIGVuZCBvZiBwdXJlIHNob3cvaGlkZSBhbmltYXRpb25zCisJCQkJaWYgKCAhcHJvcFR3ZWVuICkgeworCQkJCQlhbmltLmRvbmUoIGZ1bmN0aW9uKCkgeworCQkJCQkJc3R5bGUuZGlzcGxheSA9IHJlc3RvcmVEaXNwbGF5OworCQkJCQl9ICk7CisJCQkJCWlmICggcmVzdG9yZURpc3BsYXkgPT0gbnVsbCApIHsKKwkJCQkJCWRpc3BsYXkgPSBzdHlsZS5kaXNwbGF5OworCQkJCQkJcmVzdG9yZURpc3BsYXkgPSBkaXNwbGF5ID09PSAibm9uZSIgPyAiIiA6IGRpc3BsYXk7CisJCQkJCX0KKwkJCQl9CisJCQkJc3R5bGUuZGlzcGxheSA9ICJpbmxpbmUtYmxvY2siOworCQkJfQorCQl9CisJfQorCisJaWYgKCBvcHRzLm92ZXJmbG93ICkgeworCQlzdHlsZS5vdmVyZmxvdyA9ICJoaWRkZW4iOworCQlhbmltLmFsd2F5cyggZnVuY3Rpb24oKSB7CisJCQlzdHlsZS5vdmVyZmxvdyA9IG9wdHMub3ZlcmZsb3dbIDAgXTsKKwkJCXN0eWxlLm92ZXJmbG93WCA9IG9wdHMub3ZlcmZsb3dbIDEgXTsKKwkJCXN0eWxlLm92ZXJmbG93WSA9IG9wdHMub3ZlcmZsb3dbIDIgXTsKKwkJfSApOworCX0KKworCS8vIEltcGxlbWVudCBzaG93L2hpZGUgYW5pbWF0aW9ucworCXByb3BUd2VlbiA9IGZhbHNlOworCWZvciAoIHByb3AgaW4gb3JpZyApIHsKKworCQkvLyBHZW5lcmFsIHNob3cvaGlkZSBzZXR1cCBmb3IgdGhpcyBlbGVtZW50IGFuaW1hdGlvbgorCQlpZiAoICFwcm9wVHdlZW4gKSB7CisJCQlpZiAoIGRhdGFTaG93ICkgeworCQkJCWlmICggImhpZGRlbiIgaW4gZGF0YVNob3cgKSB7CisJCQkJCWhpZGRlbiA9IGRhdGFTaG93LmhpZGRlbjsKKwkJCQl9CisJCQl9IGVsc2UgeworCQkJCWRhdGFTaG93ID0gZGF0YVByaXYuYWNjZXNzKCBlbGVtLCAiZnhzaG93IiwgeyBkaXNwbGF5OiByZXN0b3JlRGlzcGxheSB9ICk7CisJCQl9CisKKwkJCS8vIFN0b3JlIGhpZGRlbi92aXNpYmxlIGZvciB0b2dnbGUgc28gYC5zdG9wKCkudG9nZ2xlKClgICJyZXZlcnNlcyIKKwkJCWlmICggdG9nZ2xlICkgeworCQkJCWRhdGFTaG93LmhpZGRlbiA9ICFoaWRkZW47CisJCQl9CisKKwkJCS8vIFNob3cgZWxlbWVudHMgYmVmb3JlIGFuaW1hdGluZyB0aGVtCisJCQlpZiAoIGhpZGRlbiApIHsKKwkJCQlzaG93SGlkZSggWyBlbGVtIF0sIHRydWUgKTsKKwkJCX0KKworCQkJLyogZXNsaW50LWRpc2FibGUgbm8tbG9vcC1mdW5jICovCisKKwkJCWFuaW0uZG9uZSggZnVuY3Rpb24oKSB7CisKKwkJCS8qIGVzbGludC1lbmFibGUgbm8tbG9vcC1mdW5jICovCisKKwkJCQkvLyBUaGUgZmluYWwgc3RlcCBvZiBhICJoaWRlIiBhbmltYXRpb24gaXMgYWN0dWFsbHkgaGlkaW5nIHRoZSBlbGVtZW50CisJCQkJaWYgKCAhaGlkZGVuICkgeworCQkJCQlzaG93SGlkZSggWyBlbGVtIF0gKTsKKwkJCQl9CisJCQkJZGF0YVByaXYucmVtb3ZlKCBlbGVtLCAiZnhzaG93IiApOworCQkJCWZvciAoIHByb3AgaW4gb3JpZyApIHsKKwkJCQkJalF1ZXJ5LnN0eWxlKCBlbGVtLCBwcm9wLCBvcmlnWyBwcm9wIF0gKTsKKwkJCQl9CisJCQl9ICk7CisJCX0KKworCQkvLyBQZXItcHJvcGVydHkgc2V0dXAKKwkJcHJvcFR3ZWVuID0gY3JlYXRlVHdlZW4oIGhpZGRlbiA/IGRhdGFTaG93WyBwcm9wIF0gOiAwLCBwcm9wLCBhbmltICk7CisJCWlmICggISggcHJvcCBpbiBkYXRhU2hvdyApICkgeworCQkJZGF0YVNob3dbIHByb3AgXSA9IHByb3BUd2Vlbi5zdGFydDsKKwkJCWlmICggaGlkZGVuICkgeworCQkJCXByb3BUd2Vlbi5lbmQgPSBwcm9wVHdlZW4uc3RhcnQ7CisJCQkJcHJvcFR3ZWVuLnN0YXJ0ID0gMDsKKwkJCX0KKwkJfQorCX0KK30KKworZnVuY3Rpb24gcHJvcEZpbHRlciggcHJvcHMsIHNwZWNpYWxFYXNpbmcgKSB7CisJdmFyIGluZGV4LCBuYW1lLCBlYXNpbmcsIHZhbHVlLCBob29rczsKKworCS8vIGNhbWVsQ2FzZSwgc3BlY2lhbEVhc2luZyBhbmQgZXhwYW5kIGNzc0hvb2sgcGFzcworCWZvciAoIGluZGV4IGluIHByb3BzICkgeworCQluYW1lID0galF1ZXJ5LmNhbWVsQ2FzZSggaW5kZXggKTsKKwkJZWFzaW5nID0gc3BlY2lhbEVhc2luZ1sgbmFtZSBdOworCQl2YWx1ZSA9IHByb3BzWyBpbmRleCBdOworCQlpZiAoIEFycmF5LmlzQXJyYXkoIHZhbHVlICkgKSB7CisJCQllYXNpbmcgPSB2YWx1ZVsgMSBdOworCQkJdmFsdWUgPSBwcm9wc1sgaW5kZXggXSA9IHZhbHVlWyAwIF07CisJCX0KKworCQlpZiAoIGluZGV4ICE9PSBuYW1lICkgeworCQkJcHJvcHNbIG5hbWUgXSA9IHZhbHVlOworCQkJZGVsZXRlIHByb3BzWyBpbmRleCBdOworCQl9CisKKwkJaG9va3MgPSBqUXVlcnkuY3NzSG9va3NbIG5hbWUgXTsKKwkJaWYgKCBob29rcyAmJiAiZXhwYW5kIiBpbiBob29rcyApIHsKKwkJCXZhbHVlID0gaG9va3MuZXhwYW5kKCB2YWx1ZSApOworCQkJZGVsZXRlIHByb3BzWyBuYW1lIF07CisKKwkJCS8vIE5vdCBxdWl0ZSAkLmV4dGVuZCwgdGhpcyB3b24ndCBvdmVyd3JpdGUgZXhpc3Rpbmcga2V5cy4KKwkJCS8vIFJldXNpbmcgJ2luZGV4JyBiZWNhdXNlIHdlIGhhdmUgdGhlIGNvcnJlY3QgIm5hbWUiCisJCQlmb3IgKCBpbmRleCBpbiB2YWx1ZSApIHsKKwkJCQlpZiAoICEoIGluZGV4IGluIHByb3BzICkgKSB7CisJCQkJCXByb3BzWyBpbmRleCBdID0gdmFsdWVbIGluZGV4IF07CisJCQkJCXNwZWNpYWxFYXNpbmdbIGluZGV4IF0gPSBlYXNpbmc7CisJCQkJfQorCQkJfQorCQl9IGVsc2UgeworCQkJc3BlY2lhbEVhc2luZ1sgbmFtZSBdID0gZWFzaW5nOworCQl9CisJfQorfQorCitmdW5jdGlvbiBBbmltYXRpb24oIGVsZW0sIHByb3BlcnRpZXMsIG9wdGlvbnMgKSB7CisJdmFyIHJlc3VsdCwKKwkJc3RvcHBlZCwKKwkJaW5kZXggPSAwLAorCQlsZW5ndGggPSBBbmltYXRpb24ucHJlZmlsdGVycy5sZW5ndGgsCisJCWRlZmVycmVkID0galF1ZXJ5LkRlZmVycmVkKCkuYWx3YXlzKCBmdW5jdGlvbigpIHsKKworCQkJLy8gRG9uJ3QgbWF0Y2ggZWxlbSBpbiB0aGUgOmFuaW1hdGVkIHNlbGVjdG9yCisJCQlkZWxldGUgdGljay5lbGVtOworCQl9ICksCisJCXRpY2sgPSBmdW5jdGlvbigpIHsKKwkJCWlmICggc3RvcHBlZCApIHsKKwkJCQlyZXR1cm4gZmFsc2U7CisJCQl9CisJCQl2YXIgY3VycmVudFRpbWUgPSBmeE5vdyB8fCBjcmVhdGVGeE5vdygpLAorCQkJCXJlbWFpbmluZyA9IE1hdGgubWF4KCAwLCBhbmltYXRpb24uc3RhcnRUaW1lICsgYW5pbWF0aW9uLmR1cmF0aW9uIC0gY3VycmVudFRpbWUgKSwKKworCQkJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgMi4zIG9ubHkKKwkJCQkvLyBBcmNoYWljIGNyYXNoIGJ1ZyB3b24ndCBhbGxvdyB1cyB0byB1c2UgYDEgLSAoIDAuNSB8fCAwIClgICgjMTI0OTcpCisJCQkJdGVtcCA9IHJlbWFpbmluZyAvIGFuaW1hdGlvbi5kdXJhdGlvbiB8fCAwLAorCQkJCXBlcmNlbnQgPSAxIC0gdGVtcCwKKwkJCQlpbmRleCA9IDAsCisJCQkJbGVuZ3RoID0gYW5pbWF0aW9uLnR3ZWVucy5sZW5ndGg7CisKKwkJCWZvciAoIDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7CisJCQkJYW5pbWF0aW9uLnR3ZWVuc1sgaW5kZXggXS5ydW4oIHBlcmNlbnQgKTsKKwkJCX0KKworCQkJZGVmZXJyZWQubm90aWZ5V2l0aCggZWxlbSwgWyBhbmltYXRpb24sIHBlcmNlbnQsIHJlbWFpbmluZyBdICk7CisKKwkJCS8vIElmIHRoZXJlJ3MgbW9yZSB0byBkbywgeWllbGQKKwkJCWlmICggcGVyY2VudCA8IDEgJiYgbGVuZ3RoICkgeworCQkJCXJldHVybiByZW1haW5pbmc7CisJCQl9CisKKwkJCS8vIElmIHRoaXMgd2FzIGFuIGVtcHR5IGFuaW1hdGlvbiwgc3ludGhlc2l6ZSBhIGZpbmFsIHByb2dyZXNzIG5vdGlmaWNhdGlvbgorCQkJaWYgKCAhbGVuZ3RoICkgeworCQkJCWRlZmVycmVkLm5vdGlmeVdpdGgoIGVsZW0sIFsgYW5pbWF0aW9uLCAxLCAwIF0gKTsKKwkJCX0KKworCQkJLy8gUmVzb2x2ZSB0aGUgYW5pbWF0aW9uIGFuZCByZXBvcnQgaXRzIGNvbmNsdXNpb24KKwkJCWRlZmVycmVkLnJlc29sdmVXaXRoKCBlbGVtLCBbIGFuaW1hdGlvbiBdICk7CisJCQlyZXR1cm4gZmFsc2U7CisJCX0sCisJCWFuaW1hdGlvbiA9IGRlZmVycmVkLnByb21pc2UoIHsKKwkJCWVsZW06IGVsZW0sCisJCQlwcm9wczogalF1ZXJ5LmV4dGVuZCgge30sIHByb3BlcnRpZXMgKSwKKwkJCW9wdHM6IGpRdWVyeS5leHRlbmQoIHRydWUsIHsKKwkJCQlzcGVjaWFsRWFzaW5nOiB7fSwKKwkJCQllYXNpbmc6IGpRdWVyeS5lYXNpbmcuX2RlZmF1bHQKKwkJCX0sIG9wdGlvbnMgKSwKKwkJCW9yaWdpbmFsUHJvcGVydGllczogcHJvcGVydGllcywKKwkJCW9yaWdpbmFsT3B0aW9uczogb3B0aW9ucywKKwkJCXN0YXJ0VGltZTogZnhOb3cgfHwgY3JlYXRlRnhOb3coKSwKKwkJCWR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uLAorCQkJdHdlZW5zOiBbXSwKKwkJCWNyZWF0ZVR3ZWVuOiBmdW5jdGlvbiggcHJvcCwgZW5kICkgeworCQkJCXZhciB0d2VlbiA9IGpRdWVyeS5Ud2VlbiggZWxlbSwgYW5pbWF0aW9uLm9wdHMsIHByb3AsIGVuZCwKKwkJCQkJCWFuaW1hdGlvbi5vcHRzLnNwZWNpYWxFYXNpbmdbIHByb3AgXSB8fCBhbmltYXRpb24ub3B0cy5lYXNpbmcgKTsKKwkJCQlhbmltYXRpb24udHdlZW5zLnB1c2goIHR3ZWVuICk7CisJCQkJcmV0dXJuIHR3ZWVuOworCQkJfSwKKwkJCXN0b3A6IGZ1bmN0aW9uKCBnb3RvRW5kICkgeworCQkJCXZhciBpbmRleCA9IDAsCisKKwkJCQkJLy8gSWYgd2UgYXJlIGdvaW5nIHRvIHRoZSBlbmQsIHdlIHdhbnQgdG8gcnVuIGFsbCB0aGUgdHdlZW5zCisJCQkJCS8vIG90aGVyd2lzZSB3ZSBza2lwIHRoaXMgcGFydAorCQkJCQlsZW5ndGggPSBnb3RvRW5kID8gYW5pbWF0aW9uLnR3ZWVucy5sZW5ndGggOiAwOworCQkJCWlmICggc3RvcHBlZCApIHsKKwkJCQkJcmV0dXJuIHRoaXM7CisJCQkJfQorCQkJCXN0b3BwZWQgPSB0cnVlOworCQkJCWZvciAoIDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7CisJCQkJCWFuaW1hdGlvbi50d2VlbnNbIGluZGV4IF0ucnVuKCAxICk7CisJCQkJfQorCisJCQkJLy8gUmVzb2x2ZSB3aGVuIHdlIHBsYXllZCB0aGUgbGFzdCBmcmFtZTsgb3RoZXJ3aXNlLCByZWplY3QKKwkJCQlpZiAoIGdvdG9FbmQgKSB7CisJCQkJCWRlZmVycmVkLm5vdGlmeVdpdGgoIGVsZW0sIFsgYW5pbWF0aW9uLCAxLCAwIF0gKTsKKwkJCQkJZGVmZXJyZWQucmVzb2x2ZVdpdGgoIGVsZW0sIFsgYW5pbWF0aW9uLCBnb3RvRW5kIF0gKTsKKwkJCQl9IGVsc2UgeworCQkJCQlkZWZlcnJlZC5yZWplY3RXaXRoKCBlbGVtLCBbIGFuaW1hdGlvbiwgZ290b0VuZCBdICk7CisJCQkJfQorCQkJCXJldHVybiB0aGlzOworCQkJfQorCQl9ICksCisJCXByb3BzID0gYW5pbWF0aW9uLnByb3BzOworCisJcHJvcEZpbHRlciggcHJvcHMsIGFuaW1hdGlvbi5vcHRzLnNwZWNpYWxFYXNpbmcgKTsKKworCWZvciAoIDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7CisJCXJlc3VsdCA9IEFuaW1hdGlvbi5wcmVmaWx0ZXJzWyBpbmRleCBdLmNhbGwoIGFuaW1hdGlvbiwgZWxlbSwgcHJvcHMsIGFuaW1hdGlvbi5vcHRzICk7CisJCWlmICggcmVzdWx0ICkgeworCQkJaWYgKCBqUXVlcnkuaXNGdW5jdGlvbiggcmVzdWx0LnN0b3AgKSApIHsKKwkJCQlqUXVlcnkuX3F1ZXVlSG9va3MoIGFuaW1hdGlvbi5lbGVtLCBhbmltYXRpb24ub3B0cy5xdWV1ZSApLnN0b3AgPQorCQkJCQlqUXVlcnkucHJveHkoIHJlc3VsdC5zdG9wLCByZXN1bHQgKTsKKwkJCX0KKwkJCXJldHVybiByZXN1bHQ7CisJCX0KKwl9CisKKwlqUXVlcnkubWFwKCBwcm9wcywgY3JlYXRlVHdlZW4sIGFuaW1hdGlvbiApOworCisJaWYgKCBqUXVlcnkuaXNGdW5jdGlvbiggYW5pbWF0aW9uLm9wdHMuc3RhcnQgKSApIHsKKwkJYW5pbWF0aW9uLm9wdHMuc3RhcnQuY2FsbCggZWxlbSwgYW5pbWF0aW9uICk7CisJfQorCisJLy8gQXR0YWNoIGNhbGxiYWNrcyBmcm9tIG9wdGlvbnMKKwlhbmltYXRpb24KKwkJLnByb2dyZXNzKCBhbmltYXRpb24ub3B0cy5wcm9ncmVzcyApCisJCS5kb25lKCBhbmltYXRpb24ub3B0cy5kb25lLCBhbmltYXRpb24ub3B0cy5jb21wbGV0ZSApCisJCS5mYWlsKCBhbmltYXRpb24ub3B0cy5mYWlsICkKKwkJLmFsd2F5cyggYW5pbWF0aW9uLm9wdHMuYWx3YXlzICk7CisKKwlqUXVlcnkuZngudGltZXIoCisJCWpRdWVyeS5leHRlbmQoIHRpY2ssIHsKKwkJCWVsZW06IGVsZW0sCisJCQlhbmltOiBhbmltYXRpb24sCisJCQlxdWV1ZTogYW5pbWF0aW9uLm9wdHMucXVldWUKKwkJfSApCisJKTsKKworCXJldHVybiBhbmltYXRpb247Cit9CisKK2pRdWVyeS5BbmltYXRpb24gPSBqUXVlcnkuZXh0ZW5kKCBBbmltYXRpb24sIHsKKworCXR3ZWVuZXJzOiB7CisJCSIqIjogWyBmdW5jdGlvbiggcHJvcCwgdmFsdWUgKSB7CisJCQl2YXIgdHdlZW4gPSB0aGlzLmNyZWF0ZVR3ZWVuKCBwcm9wLCB2YWx1ZSApOworCQkJYWRqdXN0Q1NTKCB0d2Vlbi5lbGVtLCBwcm9wLCByY3NzTnVtLmV4ZWMoIHZhbHVlICksIHR3ZWVuICk7CisJCQlyZXR1cm4gdHdlZW47CisJCX0gXQorCX0sCisKKwl0d2VlbmVyOiBmdW5jdGlvbiggcHJvcHMsIGNhbGxiYWNrICkgeworCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCBwcm9wcyApICkgeworCQkJY2FsbGJhY2sgPSBwcm9wczsKKwkJCXByb3BzID0gWyAiKiIgXTsKKwkJfSBlbHNlIHsKKwkJCXByb3BzID0gcHJvcHMubWF0Y2goIHJub3RodG1sd2hpdGUgKTsKKwkJfQorCisJCXZhciBwcm9wLAorCQkJaW5kZXggPSAwLAorCQkJbGVuZ3RoID0gcHJvcHMubGVuZ3RoOworCisJCWZvciAoIDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7CisJCQlwcm9wID0gcHJvcHNbIGluZGV4IF07CisJCQlBbmltYXRpb24udHdlZW5lcnNbIHByb3AgXSA9IEFuaW1hdGlvbi50d2VlbmVyc1sgcHJvcCBdIHx8IFtdOworCQkJQW5pbWF0aW9uLnR3ZWVuZXJzWyBwcm9wIF0udW5zaGlmdCggY2FsbGJhY2sgKTsKKwkJfQorCX0sCisKKwlwcmVmaWx0ZXJzOiBbIGRlZmF1bHRQcmVmaWx0ZXIgXSwKKworCXByZWZpbHRlcjogZnVuY3Rpb24oIGNhbGxiYWNrLCBwcmVwZW5kICkgeworCQlpZiAoIHByZXBlbmQgKSB7CisJCQlBbmltYXRpb24ucHJlZmlsdGVycy51bnNoaWZ0KCBjYWxsYmFjayApOworCQl9IGVsc2UgeworCQkJQW5pbWF0aW9uLnByZWZpbHRlcnMucHVzaCggY2FsbGJhY2sgKTsKKwkJfQorCX0KK30gKTsKKworalF1ZXJ5LnNwZWVkID0gZnVuY3Rpb24oIHNwZWVkLCBlYXNpbmcsIGZuICkgeworCXZhciBvcHQgPSBzcGVlZCAmJiB0eXBlb2Ygc3BlZWQgPT09ICJvYmplY3QiID8galF1ZXJ5LmV4dGVuZCgge30sIHNwZWVkICkgOiB7CisJCWNvbXBsZXRlOiBmbiB8fCAhZm4gJiYgZWFzaW5nIHx8CisJCQlqUXVlcnkuaXNGdW5jdGlvbiggc3BlZWQgKSAmJiBzcGVlZCwKKwkJZHVyYXRpb246IHNwZWVkLAorCQllYXNpbmc6IGZuICYmIGVhc2luZyB8fCBlYXNpbmcgJiYgIWpRdWVyeS5pc0Z1bmN0aW9uKCBlYXNpbmcgKSAmJiBlYXNpbmcKKwl9OworCisJLy8gR28gdG8gdGhlIGVuZCBzdGF0ZSBpZiBmeCBhcmUgb2ZmCisJaWYgKCBqUXVlcnkuZngub2ZmICkgeworCQlvcHQuZHVyYXRpb24gPSAwOworCisJfSBlbHNlIHsKKwkJaWYgKCB0eXBlb2Ygb3B0LmR1cmF0aW9uICE9PSAibnVtYmVyIiApIHsKKwkJCWlmICggb3B0LmR1cmF0aW9uIGluIGpRdWVyeS5meC5zcGVlZHMgKSB7CisJCQkJb3B0LmR1cmF0aW9uID0galF1ZXJ5LmZ4LnNwZWVkc1sgb3B0LmR1cmF0aW9uIF07CisKKwkJCX0gZWxzZSB7CisJCQkJb3B0LmR1cmF0aW9uID0galF1ZXJ5LmZ4LnNwZWVkcy5fZGVmYXVsdDsKKwkJCX0KKwkJfQorCX0KKworCS8vIE5vcm1hbGl6ZSBvcHQucXVldWUgLSB0cnVlL3VuZGVmaW5lZC9udWxsIC0+ICJmeCIKKwlpZiAoIG9wdC5xdWV1ZSA9PSBudWxsIHx8IG9wdC5xdWV1ZSA9PT0gdHJ1ZSApIHsKKwkJb3B0LnF1ZXVlID0gImZ4IjsKKwl9CisKKwkvLyBRdWV1ZWluZworCW9wdC5vbGQgPSBvcHQuY29tcGxldGU7CisKKwlvcHQuY29tcGxldGUgPSBmdW5jdGlvbigpIHsKKwkJaWYgKCBqUXVlcnkuaXNGdW5jdGlvbiggb3B0Lm9sZCApICkgeworCQkJb3B0Lm9sZC5jYWxsKCB0aGlzICk7CisJCX0KKworCQlpZiAoIG9wdC5xdWV1ZSApIHsKKwkJCWpRdWVyeS5kZXF1ZXVlKCB0aGlzLCBvcHQucXVldWUgKTsKKwkJfQorCX07CisKKwlyZXR1cm4gb3B0OworfTsKKworalF1ZXJ5LmZuLmV4dGVuZCggeworCWZhZGVUbzogZnVuY3Rpb24oIHNwZWVkLCB0bywgZWFzaW5nLCBjYWxsYmFjayApIHsKKworCQkvLyBTaG93IGFueSBoaWRkZW4gZWxlbWVudHMgYWZ0ZXIgc2V0dGluZyBvcGFjaXR5IHRvIDAKKwkJcmV0dXJuIHRoaXMuZmlsdGVyKCBpc0hpZGRlbldpdGhpblRyZWUgKS5jc3MoICJvcGFjaXR5IiwgMCApLnNob3coKQorCisJCQkvLyBBbmltYXRlIHRvIHRoZSB2YWx1ZSBzcGVjaWZpZWQKKwkJCS5lbmQoKS5hbmltYXRlKCB7IG9wYWNpdHk6IHRvIH0sIHNwZWVkLCBlYXNpbmcsIGNhbGxiYWNrICk7CisJfSwKKwlhbmltYXRlOiBmdW5jdGlvbiggcHJvcCwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSB7CisJCXZhciBlbXB0eSA9IGpRdWVyeS5pc0VtcHR5T2JqZWN0KCBwcm9wICksCisJCQlvcHRhbGwgPSBqUXVlcnkuc3BlZWQoIHNwZWVkLCBlYXNpbmcsIGNhbGxiYWNrICksCisJCQlkb0FuaW1hdGlvbiA9IGZ1bmN0aW9uKCkgeworCisJCQkJLy8gT3BlcmF0ZSBvbiBhIGNvcHkgb2YgcHJvcCBzbyBwZXItcHJvcGVydHkgZWFzaW5nIHdvbid0IGJlIGxvc3QKKwkJCQl2YXIgYW5pbSA9IEFuaW1hdGlvbiggdGhpcywgalF1ZXJ5LmV4dGVuZCgge30sIHByb3AgKSwgb3B0YWxsICk7CisKKwkJCQkvLyBFbXB0eSBhbmltYXRpb25zLCBvciBmaW5pc2hpbmcgcmVzb2x2ZXMgaW1tZWRpYXRlbHkKKwkJCQlpZiAoIGVtcHR5IHx8IGRhdGFQcml2LmdldCggdGhpcywgImZpbmlzaCIgKSApIHsKKwkJCQkJYW5pbS5zdG9wKCB0cnVlICk7CisJCQkJfQorCQkJfTsKKwkJCWRvQW5pbWF0aW9uLmZpbmlzaCA9IGRvQW5pbWF0aW9uOworCisJCXJldHVybiBlbXB0eSB8fCBvcHRhbGwucXVldWUgPT09IGZhbHNlID8KKwkJCXRoaXMuZWFjaCggZG9BbmltYXRpb24gKSA6CisJCQl0aGlzLnF1ZXVlKCBvcHRhbGwucXVldWUsIGRvQW5pbWF0aW9uICk7CisJfSwKKwlzdG9wOiBmdW5jdGlvbiggdHlwZSwgY2xlYXJRdWV1ZSwgZ290b0VuZCApIHsKKwkJdmFyIHN0b3BRdWV1ZSA9IGZ1bmN0aW9uKCBob29rcyApIHsKKwkJCXZhciBzdG9wID0gaG9va3Muc3RvcDsKKwkJCWRlbGV0ZSBob29rcy5zdG9wOworCQkJc3RvcCggZ290b0VuZCApOworCQl9OworCisJCWlmICggdHlwZW9mIHR5cGUgIT09ICJzdHJpbmciICkgeworCQkJZ290b0VuZCA9IGNsZWFyUXVldWU7CisJCQljbGVhclF1ZXVlID0gdHlwZTsKKwkJCXR5cGUgPSB1bmRlZmluZWQ7CisJCX0KKwkJaWYgKCBjbGVhclF1ZXVlICYmIHR5cGUgIT09IGZhbHNlICkgeworCQkJdGhpcy5xdWV1ZSggdHlwZSB8fCAiZngiLCBbXSApOworCQl9CisKKwkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7CisJCQl2YXIgZGVxdWV1ZSA9IHRydWUsCisJCQkJaW5kZXggPSB0eXBlICE9IG51bGwgJiYgdHlwZSArICJxdWV1ZUhvb2tzIiwKKwkJCQl0aW1lcnMgPSBqUXVlcnkudGltZXJzLAorCQkJCWRhdGEgPSBkYXRhUHJpdi5nZXQoIHRoaXMgKTsKKworCQkJaWYgKCBpbmRleCApIHsKKwkJCQlpZiAoIGRhdGFbIGluZGV4IF0gJiYgZGF0YVsgaW5kZXggXS5zdG9wICkgeworCQkJCQlzdG9wUXVldWUoIGRhdGFbIGluZGV4IF0gKTsKKwkJCQl9CisJCQl9IGVsc2UgeworCQkJCWZvciAoIGluZGV4IGluIGRhdGEgKSB7CisJCQkJCWlmICggZGF0YVsgaW5kZXggXSAmJiBkYXRhWyBpbmRleCBdLnN0b3AgJiYgcnJ1bi50ZXN0KCBpbmRleCApICkgeworCQkJCQkJc3RvcFF1ZXVlKCBkYXRhWyBpbmRleCBdICk7CisJCQkJCX0KKwkJCQl9CisJCQl9CisKKwkJCWZvciAoIGluZGV4ID0gdGltZXJzLmxlbmd0aDsgaW5kZXgtLTsgKSB7CisJCQkJaWYgKCB0aW1lcnNbIGluZGV4IF0uZWxlbSA9PT0gdGhpcyAmJgorCQkJCQkoIHR5cGUgPT0gbnVsbCB8fCB0aW1lcnNbIGluZGV4IF0ucXVldWUgPT09IHR5cGUgKSApIHsKKworCQkJCQl0aW1lcnNbIGluZGV4IF0uYW5pbS5zdG9wKCBnb3RvRW5kICk7CisJCQkJCWRlcXVldWUgPSBmYWxzZTsKKwkJCQkJdGltZXJzLnNwbGljZSggaW5kZXgsIDEgKTsKKwkJCQl9CisJCQl9CisKKwkJCS8vIFN0YXJ0IHRoZSBuZXh0IGluIHRoZSBxdWV1ZSBpZiB0aGUgbGFzdCBzdGVwIHdhc24ndCBmb3JjZWQuCisJCQkvLyBUaW1lcnMgY3VycmVudGx5IHdpbGwgY2FsbCB0aGVpciBjb21wbGV0ZSBjYWxsYmFja3MsIHdoaWNoCisJCQkvLyB3aWxsIGRlcXVldWUgYnV0IG9ubHkgaWYgdGhleSB3ZXJlIGdvdG9FbmQuCisJCQlpZiAoIGRlcXVldWUgfHwgIWdvdG9FbmQgKSB7CisJCQkJalF1ZXJ5LmRlcXVldWUoIHRoaXMsIHR5cGUgKTsKKwkJCX0KKwkJfSApOworCX0sCisJZmluaXNoOiBmdW5jdGlvbiggdHlwZSApIHsKKwkJaWYgKCB0eXBlICE9PSBmYWxzZSApIHsKKwkJCXR5cGUgPSB0eXBlIHx8ICJmeCI7CisJCX0KKwkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7CisJCQl2YXIgaW5kZXgsCisJCQkJZGF0YSA9IGRhdGFQcml2LmdldCggdGhpcyApLAorCQkJCXF1ZXVlID0gZGF0YVsgdHlwZSArICJxdWV1ZSIgXSwKKwkJCQlob29rcyA9IGRhdGFbIHR5cGUgKyAicXVldWVIb29rcyIgXSwKKwkJCQl0aW1lcnMgPSBqUXVlcnkudGltZXJzLAorCQkJCWxlbmd0aCA9IHF1ZXVlID8gcXVldWUubGVuZ3RoIDogMDsKKworCQkJLy8gRW5hYmxlIGZpbmlzaGluZyBmbGFnIG9uIHByaXZhdGUgZGF0YQorCQkJZGF0YS5maW5pc2ggPSB0cnVlOworCisJCQkvLyBFbXB0eSB0aGUgcXVldWUgZmlyc3QKKwkJCWpRdWVyeS5xdWV1ZSggdGhpcywgdHlwZSwgW10gKTsKKworCQkJaWYgKCBob29rcyAmJiBob29rcy5zdG9wICkgeworCQkJCWhvb2tzLnN0b3AuY2FsbCggdGhpcywgdHJ1ZSApOworCQkJfQorCisJCQkvLyBMb29rIGZvciBhbnkgYWN0aXZlIGFuaW1hdGlvbnMsIGFuZCBmaW5pc2ggdGhlbQorCQkJZm9yICggaW5kZXggPSB0aW1lcnMubGVuZ3RoOyBpbmRleC0tOyApIHsKKwkJCQlpZiAoIHRpbWVyc1sgaW5kZXggXS5lbGVtID09PSB0aGlzICYmIHRpbWVyc1sgaW5kZXggXS5xdWV1ZSA9PT0gdHlwZSApIHsKKwkJCQkJdGltZXJzWyBpbmRleCBdLmFuaW0uc3RvcCggdHJ1ZSApOworCQkJCQl0aW1lcnMuc3BsaWNlKCBpbmRleCwgMSApOworCQkJCX0KKwkJCX0KKworCQkJLy8gTG9vayBmb3IgYW55IGFuaW1hdGlvbnMgaW4gdGhlIG9sZCBxdWV1ZSBhbmQgZmluaXNoIHRoZW0KKwkJCWZvciAoIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7CisJCQkJaWYgKCBxdWV1ZVsgaW5kZXggXSAmJiBxdWV1ZVsgaW5kZXggXS5maW5pc2ggKSB7CisJCQkJCXF1ZXVlWyBpbmRleCBdLmZpbmlzaC5jYWxsKCB0aGlzICk7CisJCQkJfQorCQkJfQorCisJCQkvLyBUdXJuIG9mZiBmaW5pc2hpbmcgZmxhZworCQkJZGVsZXRlIGRhdGEuZmluaXNoOworCQl9ICk7CisJfQorfSApOworCitqUXVlcnkuZWFjaCggWyAidG9nZ2xlIiwgInNob3ciLCAiaGlkZSIgXSwgZnVuY3Rpb24oIGksIG5hbWUgKSB7CisJdmFyIGNzc0ZuID0galF1ZXJ5LmZuWyBuYW1lIF07CisJalF1ZXJ5LmZuWyBuYW1lIF0gPSBmdW5jdGlvbiggc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSB7CisJCXJldHVybiBzcGVlZCA9PSBudWxsIHx8IHR5cGVvZiBzcGVlZCA9PT0gImJvb2xlYW4iID8KKwkJCWNzc0ZuLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKSA6CisJCQl0aGlzLmFuaW1hdGUoIGdlbkZ4KCBuYW1lLCB0cnVlICksIHNwZWVkLCBlYXNpbmcsIGNhbGxiYWNrICk7CisJfTsKK30gKTsKKworLy8gR2VuZXJhdGUgc2hvcnRjdXRzIGZvciBjdXN0b20gYW5pbWF0aW9ucworalF1ZXJ5LmVhY2goIHsKKwlzbGlkZURvd246IGdlbkZ4KCAic2hvdyIgKSwKKwlzbGlkZVVwOiBnZW5GeCggImhpZGUiICksCisJc2xpZGVUb2dnbGU6IGdlbkZ4KCAidG9nZ2xlIiApLAorCWZhZGVJbjogeyBvcGFjaXR5OiAic2hvdyIgfSwKKwlmYWRlT3V0OiB7IG9wYWNpdHk6ICJoaWRlIiB9LAorCWZhZGVUb2dnbGU6IHsgb3BhY2l0eTogInRvZ2dsZSIgfQorfSwgZnVuY3Rpb24oIG5hbWUsIHByb3BzICkgeworCWpRdWVyeS5mblsgbmFtZSBdID0gZnVuY3Rpb24oIHNwZWVkLCBlYXNpbmcsIGNhbGxiYWNrICkgeworCQlyZXR1cm4gdGhpcy5hbmltYXRlKCBwcm9wcywgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTsKKwl9OworfSApOworCitqUXVlcnkudGltZXJzID0gW107CitqUXVlcnkuZngudGljayA9IGZ1bmN0aW9uKCkgeworCXZhciB0aW1lciwKKwkJaSA9IDAsCisJCXRpbWVycyA9IGpRdWVyeS50aW1lcnM7CisKKwlmeE5vdyA9IGpRdWVyeS5ub3coKTsKKworCWZvciAoIDsgaSA8IHRpbWVycy5sZW5ndGg7IGkrKyApIHsKKwkJdGltZXIgPSB0aW1lcnNbIGkgXTsKKworCQkvLyBSdW4gdGhlIHRpbWVyIGFuZCBzYWZlbHkgcmVtb3ZlIGl0IHdoZW4gZG9uZSAoYWxsb3dpbmcgZm9yIGV4dGVybmFsIHJlbW92YWwpCisJCWlmICggIXRpbWVyKCkgJiYgdGltZXJzWyBpIF0gPT09IHRpbWVyICkgeworCQkJdGltZXJzLnNwbGljZSggaS0tLCAxICk7CisJCX0KKwl9CisKKwlpZiAoICF0aW1lcnMubGVuZ3RoICkgeworCQlqUXVlcnkuZnguc3RvcCgpOworCX0KKwlmeE5vdyA9IHVuZGVmaW5lZDsKK307CisKK2pRdWVyeS5meC50aW1lciA9IGZ1bmN0aW9uKCB0aW1lciApIHsKKwlqUXVlcnkudGltZXJzLnB1c2goIHRpbWVyICk7CisJalF1ZXJ5LmZ4LnN0YXJ0KCk7Cit9OworCitqUXVlcnkuZnguaW50ZXJ2YWwgPSAxMzsKK2pRdWVyeS5meC5zdGFydCA9IGZ1bmN0aW9uKCkgeworCWlmICggaW5Qcm9ncmVzcyApIHsKKwkJcmV0dXJuOworCX0KKworCWluUHJvZ3Jlc3MgPSB0cnVlOworCXNjaGVkdWxlKCk7Cit9OworCitqUXVlcnkuZnguc3RvcCA9IGZ1bmN0aW9uKCkgeworCWluUHJvZ3Jlc3MgPSBudWxsOworfTsKKworalF1ZXJ5LmZ4LnNwZWVkcyA9IHsKKwlzbG93OiA2MDAsCisJZmFzdDogMjAwLAorCisJLy8gRGVmYXVsdCBzcGVlZAorCV9kZWZhdWx0OiA0MDAKK307CisKKworLy8gQmFzZWQgb2ZmIG9mIHRoZSBwbHVnaW4gYnkgQ2xpbnQgSGVsZmVycywgd2l0aCBwZXJtaXNzaW9uLgorLy8gaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTAwMzI0MDE0NzQ3L2h0dHA6Ly9ibGluZHNpZ25hbHMuY29tL2luZGV4LnBocC8yMDA5LzA3L2pxdWVyeS1kZWxheS8KK2pRdWVyeS5mbi5kZWxheSA9IGZ1bmN0aW9uKCB0aW1lLCB0eXBlICkgeworCXRpbWUgPSBqUXVlcnkuZnggPyBqUXVlcnkuZnguc3BlZWRzWyB0aW1lIF0gfHwgdGltZSA6IHRpbWU7CisJdHlwZSA9IHR5cGUgfHwgImZ4IjsKKworCXJldHVybiB0aGlzLnF1ZXVlKCB0eXBlLCBmdW5jdGlvbiggbmV4dCwgaG9va3MgKSB7CisJCXZhciB0aW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoIG5leHQsIHRpbWUgKTsKKwkJaG9va3Muc3RvcCA9IGZ1bmN0aW9uKCkgeworCQkJd2luZG93LmNsZWFyVGltZW91dCggdGltZW91dCApOworCQl9OworCX0gKTsKK307CisKKworKCBmdW5jdGlvbigpIHsKKwl2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiaW5wdXQiICksCisJCXNlbGVjdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJzZWxlY3QiICksCisJCW9wdCA9IHNlbGVjdC5hcHBlbmRDaGlsZCggZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggIm9wdGlvbiIgKSApOworCisJaW5wdXQudHlwZSA9ICJjaGVja2JveCI7CisKKwkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4zIG9ubHkKKwkvLyBEZWZhdWx0IHZhbHVlIGZvciBhIGNoZWNrYm94IHNob3VsZCBiZSAib24iCisJc3VwcG9ydC5jaGVja09uID0gaW5wdXQudmFsdWUgIT09ICIiOworCisJLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5CisJLy8gTXVzdCBhY2Nlc3Mgc2VsZWN0ZWRJbmRleCB0byBtYWtlIGRlZmF1bHQgb3B0aW9ucyBzZWxlY3QKKwlzdXBwb3J0Lm9wdFNlbGVjdGVkID0gb3B0LnNlbGVjdGVkOworCisJLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5CisJLy8gQW4gaW5wdXQgbG9zZXMgaXRzIHZhbHVlIGFmdGVyIGJlY29taW5nIGEgcmFkaW8KKwlpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJpbnB1dCIgKTsKKwlpbnB1dC52YWx1ZSA9ICJ0IjsKKwlpbnB1dC50eXBlID0gInJhZGlvIjsKKwlzdXBwb3J0LnJhZGlvVmFsdWUgPSBpbnB1dC52YWx1ZSA9PT0gInQiOworfSApKCk7CisKKwordmFyIGJvb2xIb29rLAorCWF0dHJIYW5kbGUgPSBqUXVlcnkuZXhwci5hdHRySGFuZGxlOworCitqUXVlcnkuZm4uZXh0ZW5kKCB7CisJYXR0cjogZnVuY3Rpb24oIG5hbWUsIHZhbHVlICkgeworCQlyZXR1cm4gYWNjZXNzKCB0aGlzLCBqUXVlcnkuYXR0ciwgbmFtZSwgdmFsdWUsIGFyZ3VtZW50cy5sZW5ndGggPiAxICk7CisJfSwKKworCXJlbW92ZUF0dHI6IGZ1bmN0aW9uKCBuYW1lICkgeworCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsKKwkJCWpRdWVyeS5yZW1vdmVBdHRyKCB0aGlzLCBuYW1lICk7CisJCX0gKTsKKwl9Cit9ICk7CisKK2pRdWVyeS5leHRlbmQoIHsKKwlhdHRyOiBmdW5jdGlvbiggZWxlbSwgbmFtZSwgdmFsdWUgKSB7CisJCXZhciByZXQsIGhvb2tzLAorCQkJblR5cGUgPSBlbGVtLm5vZGVUeXBlOworCisJCS8vIERvbid0IGdldC9zZXQgYXR0cmlidXRlcyBvbiB0ZXh0LCBjb21tZW50IGFuZCBhdHRyaWJ1dGUgbm9kZXMKKwkJaWYgKCBuVHlwZSA9PT0gMyB8fCBuVHlwZSA9PT0gOCB8fCBuVHlwZSA9PT0gMiApIHsKKwkJCXJldHVybjsKKwkJfQorCisJCS8vIEZhbGxiYWNrIHRvIHByb3Agd2hlbiBhdHRyaWJ1dGVzIGFyZSBub3Qgc3VwcG9ydGVkCisJCWlmICggdHlwZW9mIGVsZW0uZ2V0QXR0cmlidXRlID09PSAidW5kZWZpbmVkIiApIHsKKwkJCXJldHVybiBqUXVlcnkucHJvcCggZWxlbSwgbmFtZSwgdmFsdWUgKTsKKwkJfQorCisJCS8vIEF0dHJpYnV0ZSBob29rcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgbG93ZXJjYXNlIHZlcnNpb24KKwkJLy8gR3JhYiBuZWNlc3NhcnkgaG9vayBpZiBvbmUgaXMgZGVmaW5lZAorCQlpZiAoIG5UeXBlICE9PSAxIHx8ICFqUXVlcnkuaXNYTUxEb2MoIGVsZW0gKSApIHsKKwkJCWhvb2tzID0galF1ZXJ5LmF0dHJIb29rc1sgbmFtZS50b0xvd2VyQ2FzZSgpIF0gfHwKKwkJCQkoIGpRdWVyeS5leHByLm1hdGNoLmJvb2wudGVzdCggbmFtZSApID8gYm9vbEhvb2sgOiB1bmRlZmluZWQgKTsKKwkJfQorCisJCWlmICggdmFsdWUgIT09IHVuZGVmaW5lZCApIHsKKwkJCWlmICggdmFsdWUgPT09IG51bGwgKSB7CisJCQkJalF1ZXJ5LnJlbW92ZUF0dHIoIGVsZW0sIG5hbWUgKTsKKwkJCQlyZXR1cm47CisJCQl9CisKKwkJCWlmICggaG9va3MgJiYgInNldCIgaW4gaG9va3MgJiYKKwkJCQkoIHJldCA9IGhvb2tzLnNldCggZWxlbSwgdmFsdWUsIG5hbWUgKSApICE9PSB1bmRlZmluZWQgKSB7CisJCQkJcmV0dXJuIHJldDsKKwkJCX0KKworCQkJZWxlbS5zZXRBdHRyaWJ1dGUoIG5hbWUsIHZhbHVlICsgIiIgKTsKKwkJCXJldHVybiB2YWx1ZTsKKwkJfQorCisJCWlmICggaG9va3MgJiYgImdldCIgaW4gaG9va3MgJiYgKCByZXQgPSBob29rcy5nZXQoIGVsZW0sIG5hbWUgKSApICE9PSBudWxsICkgeworCQkJcmV0dXJuIHJldDsKKwkJfQorCisJCXJldCA9IGpRdWVyeS5maW5kLmF0dHIoIGVsZW0sIG5hbWUgKTsKKworCQkvLyBOb24tZXhpc3RlbnQgYXR0cmlidXRlcyByZXR1cm4gbnVsbCwgd2Ugbm9ybWFsaXplIHRvIHVuZGVmaW5lZAorCQlyZXR1cm4gcmV0ID09IG51bGwgPyB1bmRlZmluZWQgOiByZXQ7CisJfSwKKworCWF0dHJIb29rczogeworCQl0eXBlOiB7CisJCQlzZXQ6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSApIHsKKwkJCQlpZiAoICFzdXBwb3J0LnJhZGlvVmFsdWUgJiYgdmFsdWUgPT09ICJyYWRpbyIgJiYKKwkJCQkJbm9kZU5hbWUoIGVsZW0sICJpbnB1dCIgKSApIHsKKwkJCQkJdmFyIHZhbCA9IGVsZW0udmFsdWU7CisJCQkJCWVsZW0uc2V0QXR0cmlidXRlKCAidHlwZSIsIHZhbHVlICk7CisJCQkJCWlmICggdmFsICkgeworCQkJCQkJZWxlbS52YWx1ZSA9IHZhbDsKKwkJCQkJfQorCQkJCQlyZXR1cm4gdmFsdWU7CisJCQkJfQorCQkJfQorCQl9CisJfSwKKworCXJlbW92ZUF0dHI6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSApIHsKKwkJdmFyIG5hbWUsCisJCQlpID0gMCwKKworCQkJLy8gQXR0cmlidXRlIG5hbWVzIGNhbiBjb250YWluIG5vbi1IVE1MIHdoaXRlc3BhY2UgY2hhcmFjdGVycworCQkJLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjYXR0cmlidXRlcy0yCisJCQlhdHRyTmFtZXMgPSB2YWx1ZSAmJiB2YWx1ZS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApOworCisJCWlmICggYXR0ck5hbWVzICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7CisJCQl3aGlsZSAoICggbmFtZSA9IGF0dHJOYW1lc1sgaSsrIF0gKSApIHsKKwkJCQllbGVtLnJlbW92ZUF0dHJpYnV0ZSggbmFtZSApOworCQkJfQorCQl9CisJfQorfSApOworCisvLyBIb29rcyBmb3IgYm9vbGVhbiBhdHRyaWJ1dGVzCitib29sSG9vayA9IHsKKwlzZXQ6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSwgbmFtZSApIHsKKwkJaWYgKCB2YWx1ZSA9PT0gZmFsc2UgKSB7CisKKwkJCS8vIFJlbW92ZSBib29sZWFuIGF0dHJpYnV0ZXMgd2hlbiBzZXQgdG8gZmFsc2UKKwkJCWpRdWVyeS5yZW1vdmVBdHRyKCBlbGVtLCBuYW1lICk7CisJCX0gZWxzZSB7CisJCQllbGVtLnNldEF0dHJpYnV0ZSggbmFtZSwgbmFtZSApOworCQl9CisJCXJldHVybiBuYW1lOworCX0KK307CisKK2pRdWVyeS5lYWNoKCBqUXVlcnkuZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCggL1x3Ky9nICksIGZ1bmN0aW9uKCBpLCBuYW1lICkgeworCXZhciBnZXR0ZXIgPSBhdHRySGFuZGxlWyBuYW1lIF0gfHwgalF1ZXJ5LmZpbmQuYXR0cjsKKworCWF0dHJIYW5kbGVbIG5hbWUgXSA9IGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBpc1hNTCApIHsKKwkJdmFyIHJldCwgaGFuZGxlLAorCQkJbG93ZXJjYXNlTmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKTsKKworCQlpZiAoICFpc1hNTCApIHsKKworCQkJLy8gQXZvaWQgYW4gaW5maW5pdGUgbG9vcCBieSB0ZW1wb3JhcmlseSByZW1vdmluZyB0aGlzIGZ1bmN0aW9uIGZyb20gdGhlIGdldHRlcgorCQkJaGFuZGxlID0gYXR0ckhhbmRsZVsgbG93ZXJjYXNlTmFtZSBdOworCQkJYXR0ckhhbmRsZVsgbG93ZXJjYXNlTmFtZSBdID0gcmV0OworCQkJcmV0ID0gZ2V0dGVyKCBlbGVtLCBuYW1lLCBpc1hNTCApICE9IG51bGwgPworCQkJCWxvd2VyY2FzZU5hbWUgOgorCQkJCW51bGw7CisJCQlhdHRySGFuZGxlWyBsb3dlcmNhc2VOYW1lIF0gPSBoYW5kbGU7CisJCX0KKwkJcmV0dXJuIHJldDsKKwl9OworfSApOworCisKKworCit2YXIgcmZvY3VzYWJsZSA9IC9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksCisJcmNsaWNrYWJsZSA9IC9eKD86YXxhcmVhKSQvaTsKKworalF1ZXJ5LmZuLmV4dGVuZCggeworCXByb3A6IGZ1bmN0aW9uKCBuYW1lLCB2YWx1ZSApIHsKKwkJcmV0dXJuIGFjY2VzcyggdGhpcywgalF1ZXJ5LnByb3AsIG5hbWUsIHZhbHVlLCBhcmd1bWVudHMubGVuZ3RoID4gMSApOworCX0sCisKKwlyZW1vdmVQcm9wOiBmdW5jdGlvbiggbmFtZSApIHsKKwkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7CisJCQlkZWxldGUgdGhpc1sgalF1ZXJ5LnByb3BGaXhbIG5hbWUgXSB8fCBuYW1lIF07CisJCX0gKTsKKwl9Cit9ICk7CisKK2pRdWVyeS5leHRlbmQoIHsKKwlwcm9wOiBmdW5jdGlvbiggZWxlbSwgbmFtZSwgdmFsdWUgKSB7CisJCXZhciByZXQsIGhvb2tzLAorCQkJblR5cGUgPSBlbGVtLm5vZGVUeXBlOworCisJCS8vIERvbid0IGdldC9zZXQgcHJvcGVydGllcyBvbiB0ZXh0LCBjb21tZW50IGFuZCBhdHRyaWJ1dGUgbm9kZXMKKwkJaWYgKCBuVHlwZSA9PT0gMyB8fCBuVHlwZSA9PT0gOCB8fCBuVHlwZSA9PT0gMiApIHsKKwkJCXJldHVybjsKKwkJfQorCisJCWlmICggblR5cGUgIT09IDEgfHwgIWpRdWVyeS5pc1hNTERvYyggZWxlbSApICkgeworCisJCQkvLyBGaXggbmFtZSBhbmQgYXR0YWNoIGhvb2tzCisJCQluYW1lID0galF1ZXJ5LnByb3BGaXhbIG5hbWUgXSB8fCBuYW1lOworCQkJaG9va3MgPSBqUXVlcnkucHJvcEhvb2tzWyBuYW1lIF07CisJCX0KKworCQlpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgKSB7CisJCQlpZiAoIGhvb2tzICYmICJzZXQiIGluIGhvb2tzICYmCisJCQkJKCByZXQgPSBob29rcy5zZXQoIGVsZW0sIHZhbHVlLCBuYW1lICkgKSAhPT0gdW5kZWZpbmVkICkgeworCQkJCXJldHVybiByZXQ7CisJCQl9CisKKwkJCXJldHVybiAoIGVsZW1bIG5hbWUgXSA9IHZhbHVlICk7CisJCX0KKworCQlpZiAoIGhvb2tzICYmICJnZXQiIGluIGhvb2tzICYmICggcmV0ID0gaG9va3MuZ2V0KCBlbGVtLCBuYW1lICkgKSAhPT0gbnVsbCApIHsKKwkJCXJldHVybiByZXQ7CisJCX0KKworCQlyZXR1cm4gZWxlbVsgbmFtZSBdOworCX0sCisKKwlwcm9wSG9va3M6IHsKKwkJdGFiSW5kZXg6IHsKKwkJCWdldDogZnVuY3Rpb24oIGVsZW0gKSB7CisKKwkJCQkvLyBTdXBwb3J0OiBJRSA8PTkgLSAxMSBvbmx5CisJCQkJLy8gZWxlbS50YWJJbmRleCBkb2Vzbid0IGFsd2F5cyByZXR1cm4gdGhlCisJCQkJLy8gY29ycmVjdCB2YWx1ZSB3aGVuIGl0IGhhc24ndCBiZWVuIGV4cGxpY2l0bHkgc2V0CisJCQkJLy8gaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTQxMTE2MjMzMzQ3L2h0dHA6Ly9mbHVpZHByb2plY3Qub3JnL2Jsb2cvMjAwOC8wMS8wOS9nZXR0aW5nLXNldHRpbmctYW5kLXJlbW92aW5nLXRhYmluZGV4LXZhbHVlcy13aXRoLWphdmFzY3JpcHQvCisJCQkJLy8gVXNlIHByb3BlciBhdHRyaWJ1dGUgcmV0cmlldmFsKCMxMjA3MikKKwkJCQl2YXIgdGFiaW5kZXggPSBqUXVlcnkuZmluZC5hdHRyKCBlbGVtLCAidGFiaW5kZXgiICk7CisKKwkJCQlpZiAoIHRhYmluZGV4ICkgeworCQkJCQlyZXR1cm4gcGFyc2VJbnQoIHRhYmluZGV4LCAxMCApOworCQkJCX0KKworCQkJCWlmICgKKwkJCQkJcmZvY3VzYWJsZS50ZXN0KCBlbGVtLm5vZGVOYW1lICkgfHwKKwkJCQkJcmNsaWNrYWJsZS50ZXN0KCBlbGVtLm5vZGVOYW1lICkgJiYKKwkJCQkJZWxlbS5ocmVmCisJCQkJKSB7CisJCQkJCXJldHVybiAwOworCQkJCX0KKworCQkJCXJldHVybiAtMTsKKwkJCX0KKwkJfQorCX0sCisKKwlwcm9wRml4OiB7CisJCSJmb3IiOiAiaHRtbEZvciIsCisJCSJjbGFzcyI6ICJjbGFzc05hbWUiCisJfQorfSApOworCisvLyBTdXBwb3J0OiBJRSA8PTExIG9ubHkKKy8vIEFjY2Vzc2luZyB0aGUgc2VsZWN0ZWRJbmRleCBwcm9wZXJ0eQorLy8gZm9yY2VzIHRoZSBicm93c2VyIHRvIHJlc3BlY3Qgc2V0dGluZyBzZWxlY3RlZAorLy8gb24gdGhlIG9wdGlvbgorLy8gVGhlIGdldHRlciBlbnN1cmVzIGEgZGVmYXVsdCBvcHRpb24gaXMgc2VsZWN0ZWQKKy8vIHdoZW4gaW4gYW4gb3B0Z3JvdXAKKy8vIGVzbGludCBydWxlICJuby11bnVzZWQtZXhwcmVzc2lvbnMiIGlzIGRpc2FibGVkIGZvciB0aGlzIGNvZGUKKy8vIHNpbmNlIGl0IGNvbnNpZGVycyBzdWNoIGFjY2Vzc2lvbnMgbm9vcAoraWYgKCAhc3VwcG9ydC5vcHRTZWxlY3RlZCApIHsKKwlqUXVlcnkucHJvcEhvb2tzLnNlbGVjdGVkID0geworCQlnZXQ6IGZ1bmN0aW9uKCBlbGVtICkgeworCisJCQkvKiBlc2xpbnQgbm8tdW51c2VkLWV4cHJlc3Npb25zOiAib2ZmIiAqLworCisJCQl2YXIgcGFyZW50ID0gZWxlbS5wYXJlbnROb2RlOworCQkJaWYgKCBwYXJlbnQgJiYgcGFyZW50LnBhcmVudE5vZGUgKSB7CisJCQkJcGFyZW50LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleDsKKwkJCX0KKwkJCXJldHVybiBudWxsOworCQl9LAorCQlzZXQ6IGZ1bmN0aW9uKCBlbGVtICkgeworCisJCQkvKiBlc2xpbnQgbm8tdW51c2VkLWV4cHJlc3Npb25zOiAib2ZmIiAqLworCisJCQl2YXIgcGFyZW50ID0gZWxlbS5wYXJlbnROb2RlOworCQkJaWYgKCBwYXJlbnQgKSB7CisJCQkJcGFyZW50LnNlbGVjdGVkSW5kZXg7CisKKwkJCQlpZiAoIHBhcmVudC5wYXJlbnROb2RlICkgeworCQkJCQlwYXJlbnQucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4OworCQkJCX0KKwkJCX0KKwkJfQorCX07Cit9CisKK2pRdWVyeS5lYWNoKCBbCisJInRhYkluZGV4IiwKKwkicmVhZE9ubHkiLAorCSJtYXhMZW5ndGgiLAorCSJjZWxsU3BhY2luZyIsCisJImNlbGxQYWRkaW5nIiwKKwkicm93U3BhbiIsCisJImNvbFNwYW4iLAorCSJ1c2VNYXAiLAorCSJmcmFtZUJvcmRlciIsCisJImNvbnRlbnRFZGl0YWJsZSIKK10sIGZ1bmN0aW9uKCkgeworCWpRdWVyeS5wcm9wRml4WyB0aGlzLnRvTG93ZXJDYXNlKCkgXSA9IHRoaXM7Cit9ICk7CisKKworCisKKwkvLyBTdHJpcCBhbmQgY29sbGFwc2Ugd2hpdGVzcGFjZSBhY2NvcmRpbmcgdG8gSFRNTCBzcGVjCisJLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW5mcmFzdHJ1Y3R1cmUuaHRtbCNzdHJpcC1hbmQtY29sbGFwc2Utd2hpdGVzcGFjZQorCWZ1bmN0aW9uIHN0cmlwQW5kQ29sbGFwc2UoIHZhbHVlICkgeworCQl2YXIgdG9rZW5zID0gdmFsdWUubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbXTsKKwkJcmV0dXJuIHRva2Vucy5qb2luKCAiICIgKTsKKwl9CisKKworZnVuY3Rpb24gZ2V0Q2xhc3MoIGVsZW0gKSB7CisJcmV0dXJuIGVsZW0uZ2V0QXR0cmlidXRlICYmIGVsZW0uZ2V0QXR0cmlidXRlKCAiY2xhc3MiICkgfHwgIiI7Cit9CisKK2pRdWVyeS5mbi5leHRlbmQoIHsKKwlhZGRDbGFzczogZnVuY3Rpb24oIHZhbHVlICkgeworCQl2YXIgY2xhc3NlcywgZWxlbSwgY3VyLCBjdXJWYWx1ZSwgY2xhenosIGosIGZpbmFsVmFsdWUsCisJCQlpID0gMDsKKworCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCB2YWx1ZSApICkgeworCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oIGogKSB7CisJCQkJalF1ZXJ5KCB0aGlzICkuYWRkQ2xhc3MoIHZhbHVlLmNhbGwoIHRoaXMsIGosIGdldENsYXNzKCB0aGlzICkgKSApOworCQkJfSApOworCQl9CisKKwkJaWYgKCB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICYmIHZhbHVlICkgeworCQkJY2xhc3NlcyA9IHZhbHVlLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgW107CisKKwkJCXdoaWxlICggKCBlbGVtID0gdGhpc1sgaSsrIF0gKSApIHsKKwkJCQljdXJWYWx1ZSA9IGdldENsYXNzKCBlbGVtICk7CisJCQkJY3VyID0gZWxlbS5ub2RlVHlwZSA9PT0gMSAmJiAoICIgIiArIHN0cmlwQW5kQ29sbGFwc2UoIGN1clZhbHVlICkgKyAiICIgKTsKKworCQkJCWlmICggY3VyICkgeworCQkJCQlqID0gMDsKKwkJCQkJd2hpbGUgKCAoIGNsYXp6ID0gY2xhc3Nlc1sgaisrIF0gKSApIHsKKwkJCQkJCWlmICggY3VyLmluZGV4T2YoICIgIiArIGNsYXp6ICsgIiAiICkgPCAwICkgeworCQkJCQkJCWN1ciArPSBjbGF6eiArICIgIjsKKwkJCQkJCX0KKwkJCQkJfQorCisJCQkJCS8vIE9ubHkgYXNzaWduIGlmIGRpZmZlcmVudCB0byBhdm9pZCB1bm5lZWRlZCByZW5kZXJpbmcuCisJCQkJCWZpbmFsVmFsdWUgPSBzdHJpcEFuZENvbGxhcHNlKCBjdXIgKTsKKwkJCQkJaWYgKCBjdXJWYWx1ZSAhPT0gZmluYWxWYWx1ZSApIHsKKwkJCQkJCWVsZW0uc2V0QXR0cmlidXRlKCAiY2xhc3MiLCBmaW5hbFZhbHVlICk7CisJCQkJCX0KKwkJCQl9CisJCQl9CisJCX0KKworCQlyZXR1cm4gdGhpczsKKwl9LAorCisJcmVtb3ZlQ2xhc3M6IGZ1bmN0aW9uKCB2YWx1ZSApIHsKKwkJdmFyIGNsYXNzZXMsIGVsZW0sIGN1ciwgY3VyVmFsdWUsIGNsYXp6LCBqLCBmaW5hbFZhbHVlLAorCQkJaSA9IDA7CisKKwkJaWYgKCBqUXVlcnkuaXNGdW5jdGlvbiggdmFsdWUgKSApIHsKKwkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCBqICkgeworCQkJCWpRdWVyeSggdGhpcyApLnJlbW92ZUNsYXNzKCB2YWx1ZS5jYWxsKCB0aGlzLCBqLCBnZXRDbGFzcyggdGhpcyApICkgKTsKKwkJCX0gKTsKKwkJfQorCisJCWlmICggIWFyZ3VtZW50cy5sZW5ndGggKSB7CisJCQlyZXR1cm4gdGhpcy5hdHRyKCAiY2xhc3MiLCAiIiApOworCQl9CisKKwkJaWYgKCB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICYmIHZhbHVlICkgeworCQkJY2xhc3NlcyA9IHZhbHVlLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgW107CisKKwkJCXdoaWxlICggKCBlbGVtID0gdGhpc1sgaSsrIF0gKSApIHsKKwkJCQljdXJWYWx1ZSA9IGdldENsYXNzKCBlbGVtICk7CisKKwkJCQkvLyBUaGlzIGV4cHJlc3Npb24gaXMgaGVyZSBmb3IgYmV0dGVyIGNvbXByZXNzaWJpbGl0eSAoc2VlIGFkZENsYXNzKQorCQkJCWN1ciA9IGVsZW0ubm9kZVR5cGUgPT09IDEgJiYgKCAiICIgKyBzdHJpcEFuZENvbGxhcHNlKCBjdXJWYWx1ZSApICsgIiAiICk7CisKKwkJCQlpZiAoIGN1ciApIHsKKwkJCQkJaiA9IDA7CisJCQkJCXdoaWxlICggKCBjbGF6eiA9IGNsYXNzZXNbIGorKyBdICkgKSB7CisKKwkJCQkJCS8vIFJlbW92ZSAqYWxsKiBpbnN0YW5jZXMKKwkJCQkJCXdoaWxlICggY3VyLmluZGV4T2YoICIgIiArIGNsYXp6ICsgIiAiICkgPiAtMSApIHsKKwkJCQkJCQljdXIgPSBjdXIucmVwbGFjZSggIiAiICsgY2xhenogKyAiICIsICIgIiApOworCQkJCQkJfQorCQkJCQl9CisKKwkJCQkJLy8gT25seSBhc3NpZ24gaWYgZGlmZmVyZW50IHRvIGF2b2lkIHVubmVlZGVkIHJlbmRlcmluZy4KKwkJCQkJZmluYWxWYWx1ZSA9IHN0cmlwQW5kQ29sbGFwc2UoIGN1ciApOworCQkJCQlpZiAoIGN1clZhbHVlICE9PSBmaW5hbFZhbHVlICkgeworCQkJCQkJZWxlbS5zZXRBdHRyaWJ1dGUoICJjbGFzcyIsIGZpbmFsVmFsdWUgKTsKKwkJCQkJfQorCQkJCX0KKwkJCX0KKwkJfQorCisJCXJldHVybiB0aGlzOworCX0sCisKKwl0b2dnbGVDbGFzczogZnVuY3Rpb24oIHZhbHVlLCBzdGF0ZVZhbCApIHsKKwkJdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7CisKKwkJaWYgKCB0eXBlb2Ygc3RhdGVWYWwgPT09ICJib29sZWFuIiAmJiB0eXBlID09PSAic3RyaW5nIiApIHsKKwkJCXJldHVybiBzdGF0ZVZhbCA/IHRoaXMuYWRkQ2xhc3MoIHZhbHVlICkgOiB0aGlzLnJlbW92ZUNsYXNzKCB2YWx1ZSApOworCQl9CisKKwkJaWYgKCBqUXVlcnkuaXNGdW5jdGlvbiggdmFsdWUgKSApIHsKKwkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCBpICkgeworCQkJCWpRdWVyeSggdGhpcyApLnRvZ2dsZUNsYXNzKAorCQkJCQl2YWx1ZS5jYWxsKCB0aGlzLCBpLCBnZXRDbGFzcyggdGhpcyApLCBzdGF0ZVZhbCApLAorCQkJCQlzdGF0ZVZhbAorCQkJCSk7CisJCQl9ICk7CisJCX0KKworCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsKKwkJCXZhciBjbGFzc05hbWUsIGksIHNlbGYsIGNsYXNzTmFtZXM7CisKKwkJCWlmICggdHlwZSA9PT0gInN0cmluZyIgKSB7CisKKwkJCQkvLyBUb2dnbGUgaW5kaXZpZHVhbCBjbGFzcyBuYW1lcworCQkJCWkgPSAwOworCQkJCXNlbGYgPSBqUXVlcnkoIHRoaXMgKTsKKwkJCQljbGFzc05hbWVzID0gdmFsdWUubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbXTsKKworCQkJCXdoaWxlICggKCBjbGFzc05hbWUgPSBjbGFzc05hbWVzWyBpKysgXSApICkgeworCisJCQkJCS8vIENoZWNrIGVhY2ggY2xhc3NOYW1lIGdpdmVuLCBzcGFjZSBzZXBhcmF0ZWQgbGlzdAorCQkJCQlpZiAoIHNlbGYuaGFzQ2xhc3MoIGNsYXNzTmFtZSApICkgeworCQkJCQkJc2VsZi5yZW1vdmVDbGFzcyggY2xhc3NOYW1lICk7CisJCQkJCX0gZWxzZSB7CisJCQkJCQlzZWxmLmFkZENsYXNzKCBjbGFzc05hbWUgKTsKKwkJCQkJfQorCQkJCX0KKworCQkJLy8gVG9nZ2xlIHdob2xlIGNsYXNzIG5hbWUKKwkJCX0gZWxzZSBpZiAoIHZhbHVlID09PSB1bmRlZmluZWQgfHwgdHlwZSA9PT0gImJvb2xlYW4iICkgeworCQkJCWNsYXNzTmFtZSA9IGdldENsYXNzKCB0aGlzICk7CisJCQkJaWYgKCBjbGFzc05hbWUgKSB7CisKKwkJCQkJLy8gU3RvcmUgY2xhc3NOYW1lIGlmIHNldAorCQkJCQlkYXRhUHJpdi5zZXQoIHRoaXMsICJfX2NsYXNzTmFtZV9fIiwgY2xhc3NOYW1lICk7CisJCQkJfQorCisJCQkJLy8gSWYgdGhlIGVsZW1lbnQgaGFzIGEgY2xhc3MgbmFtZSBvciBpZiB3ZSdyZSBwYXNzZWQgYGZhbHNlYCwKKwkJCQkvLyB0aGVuIHJlbW92ZSB0aGUgd2hvbGUgY2xhc3NuYW1lIChpZiB0aGVyZSB3YXMgb25lLCB0aGUgYWJvdmUgc2F2ZWQgaXQpLgorCQkJCS8vIE90aGVyd2lzZSBicmluZyBiYWNrIHdoYXRldmVyIHdhcyBwcmV2aW91c2x5IHNhdmVkIChpZiBhbnl0aGluZyksCisJCQkJLy8gZmFsbGluZyBiYWNrIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgbm90aGluZyB3YXMgc3RvcmVkLgorCQkJCWlmICggdGhpcy5zZXRBdHRyaWJ1dGUgKSB7CisJCQkJCXRoaXMuc2V0QXR0cmlidXRlKCAiY2xhc3MiLAorCQkJCQkJY2xhc3NOYW1lIHx8IHZhbHVlID09PSBmYWxzZSA/CisJCQkJCQkiIiA6CisJCQkJCQlkYXRhUHJpdi5nZXQoIHRoaXMsICJfX2NsYXNzTmFtZV9fIiApIHx8ICIiCisJCQkJCSk7CisJCQkJfQorCQkJfQorCQl9ICk7CisJfSwKKworCWhhc0NsYXNzOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7CisJCXZhciBjbGFzc05hbWUsIGVsZW0sCisJCQlpID0gMDsKKworCQljbGFzc05hbWUgPSAiICIgKyBzZWxlY3RvciArICIgIjsKKwkJd2hpbGUgKCAoIGVsZW0gPSB0aGlzWyBpKysgXSApICkgeworCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxICYmCisJCQkJKCAiICIgKyBzdHJpcEFuZENvbGxhcHNlKCBnZXRDbGFzcyggZWxlbSApICkgKyAiICIgKS5pbmRleE9mKCBjbGFzc05hbWUgKSA+IC0xICkgeworCQkJCQlyZXR1cm4gdHJ1ZTsKKwkJCX0KKwkJfQorCisJCXJldHVybiBmYWxzZTsKKwl9Cit9ICk7CisKKworCisKK3ZhciBycmV0dXJuID0gL1xyL2c7CisKK2pRdWVyeS5mbi5leHRlbmQoIHsKKwl2YWw6IGZ1bmN0aW9uKCB2YWx1ZSApIHsKKwkJdmFyIGhvb2tzLCByZXQsIGlzRnVuY3Rpb24sCisJCQllbGVtID0gdGhpc1sgMCBdOworCisJCWlmICggIWFyZ3VtZW50cy5sZW5ndGggKSB7CisJCQlpZiAoIGVsZW0gKSB7CisJCQkJaG9va3MgPSBqUXVlcnkudmFsSG9va3NbIGVsZW0udHlwZSBdIHx8CisJCQkJCWpRdWVyeS52YWxIb29rc1sgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIF07CisKKwkJCQlpZiAoIGhvb2tzICYmCisJCQkJCSJnZXQiIGluIGhvb2tzICYmCisJCQkJCSggcmV0ID0gaG9va3MuZ2V0KCBlbGVtLCAidmFsdWUiICkgKSAhPT0gdW5kZWZpbmVkCisJCQkJKSB7CisJCQkJCXJldHVybiByZXQ7CisJCQkJfQorCisJCQkJcmV0ID0gZWxlbS52YWx1ZTsKKworCQkJCS8vIEhhbmRsZSBtb3N0IGNvbW1vbiBzdHJpbmcgY2FzZXMKKwkJCQlpZiAoIHR5cGVvZiByZXQgPT09ICJzdHJpbmciICkgeworCQkJCQlyZXR1cm4gcmV0LnJlcGxhY2UoIHJyZXR1cm4sICIiICk7CisJCQkJfQorCisJCQkJLy8gSGFuZGxlIGNhc2VzIHdoZXJlIHZhbHVlIGlzIG51bGwvdW5kZWYgb3IgbnVtYmVyCisJCQkJcmV0dXJuIHJldCA9PSBudWxsID8gIiIgOiByZXQ7CisJCQl9CisKKwkJCXJldHVybjsKKwkJfQorCisJCWlzRnVuY3Rpb24gPSBqUXVlcnkuaXNGdW5jdGlvbiggdmFsdWUgKTsKKworCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaSApIHsKKwkJCXZhciB2YWw7CisKKwkJCWlmICggdGhpcy5ub2RlVHlwZSAhPT0gMSApIHsKKwkJCQlyZXR1cm47CisJCQl9CisKKwkJCWlmICggaXNGdW5jdGlvbiApIHsKKwkJCQl2YWwgPSB2YWx1ZS5jYWxsKCB0aGlzLCBpLCBqUXVlcnkoIHRoaXMgKS52YWwoKSApOworCQkJfSBlbHNlIHsKKwkJCQl2YWwgPSB2YWx1ZTsKKwkJCX0KKworCQkJLy8gVHJlYXQgbnVsbC91bmRlZmluZWQgYXMgIiI7IGNvbnZlcnQgbnVtYmVycyB0byBzdHJpbmcKKwkJCWlmICggdmFsID09IG51bGwgKSB7CisJCQkJdmFsID0gIiI7CisKKwkJCX0gZWxzZSBpZiAoIHR5cGVvZiB2YWwgPT09ICJudW1iZXIiICkgeworCQkJCXZhbCArPSAiIjsKKworCQkJfSBlbHNlIGlmICggQXJyYXkuaXNBcnJheSggdmFsICkgKSB7CisJCQkJdmFsID0galF1ZXJ5Lm1hcCggdmFsLCBmdW5jdGlvbiggdmFsdWUgKSB7CisJCQkJCXJldHVybiB2YWx1ZSA9PSBudWxsID8gIiIgOiB2YWx1ZSArICIiOworCQkJCX0gKTsKKwkJCX0KKworCQkJaG9va3MgPSBqUXVlcnkudmFsSG9va3NbIHRoaXMudHlwZSBdIHx8IGpRdWVyeS52YWxIb29rc1sgdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIF07CisKKwkJCS8vIElmIHNldCByZXR1cm5zIHVuZGVmaW5lZCwgZmFsbCBiYWNrIHRvIG5vcm1hbCBzZXR0aW5nCisJCQlpZiAoICFob29rcyB8fCAhKCAic2V0IiBpbiBob29rcyApIHx8IGhvb2tzLnNldCggdGhpcywgdmFsLCAidmFsdWUiICkgPT09IHVuZGVmaW5lZCApIHsKKwkJCQl0aGlzLnZhbHVlID0gdmFsOworCQkJfQorCQl9ICk7CisJfQorfSApOworCitqUXVlcnkuZXh0ZW5kKCB7CisJdmFsSG9va3M6IHsKKwkJb3B0aW9uOiB7CisJCQlnZXQ6IGZ1bmN0aW9uKCBlbGVtICkgeworCisJCQkJdmFyIHZhbCA9IGpRdWVyeS5maW5kLmF0dHIoIGVsZW0sICJ2YWx1ZSIgKTsKKwkJCQlyZXR1cm4gdmFsICE9IG51bGwgPworCQkJCQl2YWwgOgorCisJCQkJCS8vIFN1cHBvcnQ6IElFIDw9MTAgLSAxMSBvbmx5CisJCQkJCS8vIG9wdGlvbi50ZXh0IHRocm93cyBleGNlcHRpb25zICgjMTQ2ODYsICMxNDg1OCkKKwkJCQkJLy8gU3RyaXAgYW5kIGNvbGxhcHNlIHdoaXRlc3BhY2UKKwkJCQkJLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jc3RyaXAtYW5kLWNvbGxhcHNlLXdoaXRlc3BhY2UKKwkJCQkJc3RyaXBBbmRDb2xsYXBzZSggalF1ZXJ5LnRleHQoIGVsZW0gKSApOworCQkJfQorCQl9LAorCQlzZWxlY3Q6IHsKKwkJCWdldDogZnVuY3Rpb24oIGVsZW0gKSB7CisJCQkJdmFyIHZhbHVlLCBvcHRpb24sIGksCisJCQkJCW9wdGlvbnMgPSBlbGVtLm9wdGlvbnMsCisJCQkJCWluZGV4ID0gZWxlbS5zZWxlY3RlZEluZGV4LAorCQkJCQlvbmUgPSBlbGVtLnR5cGUgPT09ICJzZWxlY3Qtb25lIiwKKwkJCQkJdmFsdWVzID0gb25lID8gbnVsbCA6IFtdLAorCQkJCQltYXggPSBvbmUgPyBpbmRleCArIDEgOiBvcHRpb25zLmxlbmd0aDsKKworCQkJCWlmICggaW5kZXggPCAwICkgeworCQkJCQlpID0gbWF4OworCisJCQkJfSBlbHNlIHsKKwkJCQkJaSA9IG9uZSA/IGluZGV4IDogMDsKKwkJCQl9CisKKwkJCQkvLyBMb29wIHRocm91Z2ggYWxsIHRoZSBzZWxlY3RlZCBvcHRpb25zCisJCQkJZm9yICggOyBpIDwgbWF4OyBpKysgKSB7CisJCQkJCW9wdGlvbiA9IG9wdGlvbnNbIGkgXTsKKworCQkJCQkvLyBTdXBwb3J0OiBJRSA8PTkgb25seQorCQkJCQkvLyBJRTgtOSBkb2Vzbid0IHVwZGF0ZSBzZWxlY3RlZCBhZnRlciBmb3JtIHJlc2V0ICgjMjU1MSkKKwkJCQkJaWYgKCAoIG9wdGlvbi5zZWxlY3RlZCB8fCBpID09PSBpbmRleCApICYmCisKKwkJCQkJCQkvLyBEb24ndCByZXR1cm4gb3B0aW9ucyB0aGF0IGFyZSBkaXNhYmxlZCBvciBpbiBhIGRpc2FibGVkIG9wdGdyb3VwCisJCQkJCQkJIW9wdGlvbi5kaXNhYmxlZCAmJgorCQkJCQkJCSggIW9wdGlvbi5wYXJlbnROb2RlLmRpc2FibGVkIHx8CisJCQkJCQkJCSFub2RlTmFtZSggb3B0aW9uLnBhcmVudE5vZGUsICJvcHRncm91cCIgKSApICkgeworCisJCQkJCQkvLyBHZXQgdGhlIHNwZWNpZmljIHZhbHVlIGZvciB0aGUgb3B0aW9uCisJCQkJCQl2YWx1ZSA9IGpRdWVyeSggb3B0aW9uICkudmFsKCk7CisKKwkJCQkJCS8vIFdlIGRvbid0IG5lZWQgYW4gYXJyYXkgZm9yIG9uZSBzZWxlY3RzCisJCQkJCQlpZiAoIG9uZSApIHsKKwkJCQkJCQlyZXR1cm4gdmFsdWU7CisJCQkJCQl9CisKKwkJCQkJCS8vIE11bHRpLVNlbGVjdHMgcmV0dXJuIGFuIGFycmF5CisJCQkJCQl2YWx1ZXMucHVzaCggdmFsdWUgKTsKKwkJCQkJfQorCQkJCX0KKworCQkJCXJldHVybiB2YWx1ZXM7CisJCQl9LAorCisJCQlzZXQ6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSApIHsKKwkJCQl2YXIgb3B0aW9uU2V0LCBvcHRpb24sCisJCQkJCW9wdGlvbnMgPSBlbGVtLm9wdGlvbnMsCisJCQkJCXZhbHVlcyA9IGpRdWVyeS5tYWtlQXJyYXkoIHZhbHVlICksCisJCQkJCWkgPSBvcHRpb25zLmxlbmd0aDsKKworCQkJCXdoaWxlICggaS0tICkgeworCQkJCQlvcHRpb24gPSBvcHRpb25zWyBpIF07CisKKwkJCQkJLyogZXNsaW50LWRpc2FibGUgbm8tY29uZC1hc3NpZ24gKi8KKworCQkJCQlpZiAoIG9wdGlvbi5zZWxlY3RlZCA9CisJCQkJCQlqUXVlcnkuaW5BcnJheSggalF1ZXJ5LnZhbEhvb2tzLm9wdGlvbi5nZXQoIG9wdGlvbiApLCB2YWx1ZXMgKSA+IC0xCisJCQkJCSkgeworCQkJCQkJb3B0aW9uU2V0ID0gdHJ1ZTsKKwkJCQkJfQorCisJCQkJCS8qIGVzbGludC1lbmFibGUgbm8tY29uZC1hc3NpZ24gKi8KKwkJCQl9CisKKwkJCQkvLyBGb3JjZSBicm93c2VycyB0byBiZWhhdmUgY29uc2lzdGVudGx5IHdoZW4gbm9uLW1hdGNoaW5nIHZhbHVlIGlzIHNldAorCQkJCWlmICggIW9wdGlvblNldCApIHsKKwkJCQkJZWxlbS5zZWxlY3RlZEluZGV4ID0gLTE7CisJCQkJfQorCQkJCXJldHVybiB2YWx1ZXM7CisJCQl9CisJCX0KKwl9Cit9ICk7CisKKy8vIFJhZGlvcyBhbmQgY2hlY2tib3hlcyBnZXR0ZXIvc2V0dGVyCitqUXVlcnkuZWFjaCggWyAicmFkaW8iLCAiY2hlY2tib3giIF0sIGZ1bmN0aW9uKCkgeworCWpRdWVyeS52YWxIb29rc1sgdGhpcyBdID0geworCQlzZXQ6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSApIHsKKwkJCWlmICggQXJyYXkuaXNBcnJheSggdmFsdWUgKSApIHsKKwkJCQlyZXR1cm4gKCBlbGVtLmNoZWNrZWQgPSBqUXVlcnkuaW5BcnJheSggalF1ZXJ5KCBlbGVtICkudmFsKCksIHZhbHVlICkgPiAtMSApOworCQkJfQorCQl9CisJfTsKKwlpZiAoICFzdXBwb3J0LmNoZWNrT24gKSB7CisJCWpRdWVyeS52YWxIb29rc1sgdGhpcyBdLmdldCA9IGZ1bmN0aW9uKCBlbGVtICkgeworCQkJcmV0dXJuIGVsZW0uZ2V0QXR0cmlidXRlKCAidmFsdWUiICkgPT09IG51bGwgPyAib24iIDogZWxlbS52YWx1ZTsKKwkJfTsKKwl9Cit9ICk7CisKKworCisKKy8vIFJldHVybiBqUXVlcnkgZm9yIGF0dHJpYnV0ZXMtb25seSBpbmNsdXNpb24KKworCit2YXIgcmZvY3VzTW9ycGggPSAvXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC87CisKK2pRdWVyeS5leHRlbmQoIGpRdWVyeS5ldmVudCwgeworCisJdHJpZ2dlcjogZnVuY3Rpb24oIGV2ZW50LCBkYXRhLCBlbGVtLCBvbmx5SGFuZGxlcnMgKSB7CisKKwkJdmFyIGksIGN1ciwgdG1wLCBidWJibGVUeXBlLCBvbnR5cGUsIGhhbmRsZSwgc3BlY2lhbCwKKwkJCWV2ZW50UGF0aCA9IFsgZWxlbSB8fCBkb2N1bWVudCBdLAorCQkJdHlwZSA9IGhhc093bi5jYWxsKCBldmVudCwgInR5cGUiICkgPyBldmVudC50eXBlIDogZXZlbnQsCisJCQluYW1lc3BhY2VzID0gaGFzT3duLmNhbGwoIGV2ZW50LCAibmFtZXNwYWNlIiApID8gZXZlbnQubmFtZXNwYWNlLnNwbGl0KCAiLiIgKSA6IFtdOworCisJCWN1ciA9IHRtcCA9IGVsZW0gPSBlbGVtIHx8IGRvY3VtZW50OworCisJCS8vIERvbid0IGRvIGV2ZW50cyBvbiB0ZXh0IGFuZCBjb21tZW50IG5vZGVzCisJCWlmICggZWxlbS5ub2RlVHlwZSA9PT0gMyB8fCBlbGVtLm5vZGVUeXBlID09PSA4ICkgeworCQkJcmV0dXJuOworCQl9CisKKwkJLy8gZm9jdXMvYmx1ciBtb3JwaHMgdG8gZm9jdXNpbi9vdXQ7IGVuc3VyZSB3ZSdyZSBub3QgZmlyaW5nIHRoZW0gcmlnaHQgbm93CisJCWlmICggcmZvY3VzTW9ycGgudGVzdCggdHlwZSArIGpRdWVyeS5ldmVudC50cmlnZ2VyZWQgKSApIHsKKwkJCXJldHVybjsKKwkJfQorCisJCWlmICggdHlwZS5pbmRleE9mKCAiLiIgKSA+IC0xICkgeworCisJCQkvLyBOYW1lc3BhY2VkIHRyaWdnZXI7IGNyZWF0ZSBhIHJlZ2V4cCB0byBtYXRjaCBldmVudCB0eXBlIGluIGhhbmRsZSgpCisJCQluYW1lc3BhY2VzID0gdHlwZS5zcGxpdCggIi4iICk7CisJCQl0eXBlID0gbmFtZXNwYWNlcy5zaGlmdCgpOworCQkJbmFtZXNwYWNlcy5zb3J0KCk7CisJCX0KKwkJb250eXBlID0gdHlwZS5pbmRleE9mKCAiOiIgKSA8IDAgJiYgIm9uIiArIHR5cGU7CisKKwkJLy8gQ2FsbGVyIGNhbiBwYXNzIGluIGEgalF1ZXJ5LkV2ZW50IG9iamVjdCwgT2JqZWN0LCBvciBqdXN0IGFuIGV2ZW50IHR5cGUgc3RyaW5nCisJCWV2ZW50ID0gZXZlbnRbIGpRdWVyeS5leHBhbmRvIF0gPworCQkJZXZlbnQgOgorCQkJbmV3IGpRdWVyeS5FdmVudCggdHlwZSwgdHlwZW9mIGV2ZW50ID09PSAib2JqZWN0IiAmJiBldmVudCApOworCisJCS8vIFRyaWdnZXIgYml0bWFzazogJiAxIGZvciBuYXRpdmUgaGFuZGxlcnM7ICYgMiBmb3IgalF1ZXJ5IChhbHdheXMgdHJ1ZSkKKwkJZXZlbnQuaXNUcmlnZ2VyID0gb25seUhhbmRsZXJzID8gMiA6IDM7CisJCWV2ZW50Lm5hbWVzcGFjZSA9IG5hbWVzcGFjZXMuam9pbiggIi4iICk7CisJCWV2ZW50LnJuYW1lc3BhY2UgPSBldmVudC5uYW1lc3BhY2UgPworCQkJbmV3IFJlZ0V4cCggIihefFxcLikiICsgbmFtZXNwYWNlcy5qb2luKCAiXFwuKD86LipcXC58KSIgKSArICIoXFwufCQpIiApIDoKKwkJCW51bGw7CisKKwkJLy8gQ2xlYW4gdXAgdGhlIGV2ZW50IGluIGNhc2UgaXQgaXMgYmVpbmcgcmV1c2VkCisJCWV2ZW50LnJlc3VsdCA9IHVuZGVmaW5lZDsKKwkJaWYgKCAhZXZlbnQudGFyZ2V0ICkgeworCQkJZXZlbnQudGFyZ2V0ID0gZWxlbTsKKwkJfQorCisJCS8vIENsb25lIGFueSBpbmNvbWluZyBkYXRhIGFuZCBwcmVwZW5kIHRoZSBldmVudCwgY3JlYXRpbmcgdGhlIGhhbmRsZXIgYXJnIGxpc3QKKwkJZGF0YSA9IGRhdGEgPT0gbnVsbCA/CisJCQlbIGV2ZW50IF0gOgorCQkJalF1ZXJ5Lm1ha2VBcnJheSggZGF0YSwgWyBldmVudCBdICk7CisKKwkJLy8gQWxsb3cgc3BlY2lhbCBldmVudHMgdG8gZHJhdyBvdXRzaWRlIHRoZSBsaW5lcworCQlzcGVjaWFsID0galF1ZXJ5LmV2ZW50LnNwZWNpYWxbIHR5cGUgXSB8fCB7fTsKKwkJaWYgKCAhb25seUhhbmRsZXJzICYmIHNwZWNpYWwudHJpZ2dlciAmJiBzcGVjaWFsLnRyaWdnZXIuYXBwbHkoIGVsZW0sIGRhdGEgKSA9PT0gZmFsc2UgKSB7CisJCQlyZXR1cm47CisJCX0KKworCQkvLyBEZXRlcm1pbmUgZXZlbnQgcHJvcGFnYXRpb24gcGF0aCBpbiBhZHZhbmNlLCBwZXIgVzNDIGV2ZW50cyBzcGVjICgjOTk1MSkKKwkJLy8gQnViYmxlIHVwIHRvIGRvY3VtZW50LCB0aGVuIHRvIHdpbmRvdzsgd2F0Y2ggZm9yIGEgZ2xvYmFsIG93bmVyRG9jdW1lbnQgdmFyICgjOTcyNCkKKwkJaWYgKCAhb25seUhhbmRsZXJzICYmICFzcGVjaWFsLm5vQnViYmxlICYmICFqUXVlcnkuaXNXaW5kb3coIGVsZW0gKSApIHsKKworCQkJYnViYmxlVHlwZSA9IHNwZWNpYWwuZGVsZWdhdGVUeXBlIHx8IHR5cGU7CisJCQlpZiAoICFyZm9jdXNNb3JwaC50ZXN0KCBidWJibGVUeXBlICsgdHlwZSApICkgeworCQkJCWN1ciA9IGN1ci5wYXJlbnROb2RlOworCQkJfQorCQkJZm9yICggOyBjdXI7IGN1ciA9IGN1ci5wYXJlbnROb2RlICkgeworCQkJCWV2ZW50UGF0aC5wdXNoKCBjdXIgKTsKKwkJCQl0bXAgPSBjdXI7CisJCQl9CisKKwkJCS8vIE9ubHkgYWRkIHdpbmRvdyBpZiB3ZSBnb3QgdG8gZG9jdW1lbnQgKGUuZy4sIG5vdCBwbGFpbiBvYmogb3IgZGV0YWNoZWQgRE9NKQorCQkJaWYgKCB0bXAgPT09ICggZWxlbS5vd25lckRvY3VtZW50IHx8IGRvY3VtZW50ICkgKSB7CisJCQkJZXZlbnRQYXRoLnB1c2goIHRtcC5kZWZhdWx0VmlldyB8fCB0bXAucGFyZW50V2luZG93IHx8IHdpbmRvdyApOworCQkJfQorCQl9CisKKwkJLy8gRmlyZSBoYW5kbGVycyBvbiB0aGUgZXZlbnQgcGF0aAorCQlpID0gMDsKKwkJd2hpbGUgKCAoIGN1ciA9IGV2ZW50UGF0aFsgaSsrIF0gKSAmJiAhZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSApIHsKKworCQkJZXZlbnQudHlwZSA9IGkgPiAxID8KKwkJCQlidWJibGVUeXBlIDoKKwkJCQlzcGVjaWFsLmJpbmRUeXBlIHx8IHR5cGU7CisKKwkJCS8vIGpRdWVyeSBoYW5kbGVyCisJCQloYW5kbGUgPSAoIGRhdGFQcml2LmdldCggY3VyLCAiZXZlbnRzIiApIHx8IHt9IClbIGV2ZW50LnR5cGUgXSAmJgorCQkJCWRhdGFQcml2LmdldCggY3VyLCAiaGFuZGxlIiApOworCQkJaWYgKCBoYW5kbGUgKSB7CisJCQkJaGFuZGxlLmFwcGx5KCBjdXIsIGRhdGEgKTsKKwkJCX0KKworCQkJLy8gTmF0aXZlIGhhbmRsZXIKKwkJCWhhbmRsZSA9IG9udHlwZSAmJiBjdXJbIG9udHlwZSBdOworCQkJaWYgKCBoYW5kbGUgJiYgaGFuZGxlLmFwcGx5ICYmIGFjY2VwdERhdGEoIGN1ciApICkgeworCQkJCWV2ZW50LnJlc3VsdCA9IGhhbmRsZS5hcHBseSggY3VyLCBkYXRhICk7CisJCQkJaWYgKCBldmVudC5yZXN1bHQgPT09IGZhbHNlICkgeworCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOworCQkJCX0KKwkJCX0KKwkJfQorCQlldmVudC50eXBlID0gdHlwZTsKKworCQkvLyBJZiBub2JvZHkgcHJldmVudGVkIHRoZSBkZWZhdWx0IGFjdGlvbiwgZG8gaXQgbm93CisJCWlmICggIW9ubHlIYW5kbGVycyAmJiAhZXZlbnQuaXNEZWZhdWx0UHJldmVudGVkKCkgKSB7CisKKwkJCWlmICggKCAhc3BlY2lhbC5fZGVmYXVsdCB8fAorCQkJCXNwZWNpYWwuX2RlZmF1bHQuYXBwbHkoIGV2ZW50UGF0aC5wb3AoKSwgZGF0YSApID09PSBmYWxzZSApICYmCisJCQkJYWNjZXB0RGF0YSggZWxlbSApICkgeworCisJCQkJLy8gQ2FsbCBhIG5hdGl2ZSBET00gbWV0aG9kIG9uIHRoZSB0YXJnZXQgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIHRoZSBldmVudC4KKwkJCQkvLyBEb24ndCBkbyBkZWZhdWx0IGFjdGlvbnMgb24gd2luZG93LCB0aGF0J3Mgd2hlcmUgZ2xvYmFsIHZhcmlhYmxlcyBiZSAoIzYxNzApCisJCQkJaWYgKCBvbnR5cGUgJiYgalF1ZXJ5LmlzRnVuY3Rpb24oIGVsZW1bIHR5cGUgXSApICYmICFqUXVlcnkuaXNXaW5kb3coIGVsZW0gKSApIHsKKworCQkJCQkvLyBEb24ndCByZS10cmlnZ2VyIGFuIG9uRk9PIGV2ZW50IHdoZW4gd2UgY2FsbCBpdHMgRk9PKCkgbWV0aG9kCisJCQkJCXRtcCA9IGVsZW1bIG9udHlwZSBdOworCisJCQkJCWlmICggdG1wICkgeworCQkJCQkJZWxlbVsgb250eXBlIF0gPSBudWxsOworCQkJCQl9CisKKwkJCQkJLy8gUHJldmVudCByZS10cmlnZ2VyaW5nIG9mIHRoZSBzYW1lIGV2ZW50LCBzaW5jZSB3ZSBhbHJlYWR5IGJ1YmJsZWQgaXQgYWJvdmUKKwkJCQkJalF1ZXJ5LmV2ZW50LnRyaWdnZXJlZCA9IHR5cGU7CisJCQkJCWVsZW1bIHR5cGUgXSgpOworCQkJCQlqUXVlcnkuZXZlbnQudHJpZ2dlcmVkID0gdW5kZWZpbmVkOworCisJCQkJCWlmICggdG1wICkgeworCQkJCQkJZWxlbVsgb250eXBlIF0gPSB0bXA7CisJCQkJCX0KKwkJCQl9CisJCQl9CisJCX0KKworCQlyZXR1cm4gZXZlbnQucmVzdWx0OworCX0sCisKKwkvLyBQaWdneWJhY2sgb24gYSBkb25vciBldmVudCB0byBzaW11bGF0ZSBhIGRpZmZlcmVudCBvbmUKKwkvLyBVc2VkIG9ubHkgZm9yIGBmb2N1cyhpbiB8IG91dClgIGV2ZW50cworCXNpbXVsYXRlOiBmdW5jdGlvbiggdHlwZSwgZWxlbSwgZXZlbnQgKSB7CisJCXZhciBlID0galF1ZXJ5LmV4dGVuZCgKKwkJCW5ldyBqUXVlcnkuRXZlbnQoKSwKKwkJCWV2ZW50LAorCQkJeworCQkJCXR5cGU6IHR5cGUsCisJCQkJaXNTaW11bGF0ZWQ6IHRydWUKKwkJCX0KKwkJKTsKKworCQlqUXVlcnkuZXZlbnQudHJpZ2dlciggZSwgbnVsbCwgZWxlbSApOworCX0KKworfSApOworCitqUXVlcnkuZm4uZXh0ZW5kKCB7CisKKwl0cmlnZ2VyOiBmdW5jdGlvbiggdHlwZSwgZGF0YSApIHsKKwkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7CisJCQlqUXVlcnkuZXZlbnQudHJpZ2dlciggdHlwZSwgZGF0YSwgdGhpcyApOworCQl9ICk7CisJfSwKKwl0cmlnZ2VySGFuZGxlcjogZnVuY3Rpb24oIHR5cGUsIGRhdGEgKSB7CisJCXZhciBlbGVtID0gdGhpc1sgMCBdOworCQlpZiAoIGVsZW0gKSB7CisJCQlyZXR1cm4galF1ZXJ5LmV2ZW50LnRyaWdnZXIoIHR5cGUsIGRhdGEsIGVsZW0sIHRydWUgKTsKKwkJfQorCX0KK30gKTsKKworCitqUXVlcnkuZWFjaCggKCAiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IHJlc2l6ZSBzY3JvbGwgY2xpY2sgZGJsY2xpY2sgIiArCisJIm1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlICIgKworCSJjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGNvbnRleHRtZW51IiApLnNwbGl0KCAiICIgKSwKKwlmdW5jdGlvbiggaSwgbmFtZSApIHsKKworCS8vIEhhbmRsZSBldmVudCBiaW5kaW5nCisJalF1ZXJ5LmZuWyBuYW1lIF0gPSBmdW5jdGlvbiggZGF0YSwgZm4gKSB7CisJCXJldHVybiBhcmd1bWVudHMubGVuZ3RoID4gMCA/CisJCQl0aGlzLm9uKCBuYW1lLCBudWxsLCBkYXRhLCBmbiApIDoKKwkJCXRoaXMudHJpZ2dlciggbmFtZSApOworCX07Cit9ICk7CisKK2pRdWVyeS5mbi5leHRlbmQoIHsKKwlob3ZlcjogZnVuY3Rpb24oIGZuT3ZlciwgZm5PdXQgKSB7CisJCXJldHVybiB0aGlzLm1vdXNlZW50ZXIoIGZuT3ZlciApLm1vdXNlbGVhdmUoIGZuT3V0IHx8IGZuT3ZlciApOworCX0KK30gKTsKKworCisKKworc3VwcG9ydC5mb2N1c2luID0gIm9uZm9jdXNpbiIgaW4gd2luZG93OworCisKKy8vIFN1cHBvcnQ6IEZpcmVmb3ggPD00NAorLy8gRmlyZWZveCBkb2Vzbid0IGhhdmUgZm9jdXMoaW4gfCBvdXQpIGV2ZW50cworLy8gUmVsYXRlZCB0aWNrZXQgLSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc3ODcKKy8vCisvLyBTdXBwb3J0OiBDaHJvbWUgPD00OCAtIDQ5LCBTYWZhcmkgPD05LjAgLSA5LjEKKy8vIGZvY3VzKGluIHwgb3V0KSBldmVudHMgZmlyZSBhZnRlciBmb2N1cyAmIGJsdXIgZXZlbnRzLAorLy8gd2hpY2ggaXMgc3BlYyB2aW9sYXRpb24gLSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2V2ZW50cy1mb2N1c2V2ZW50LWV2ZW50LW9yZGVyCisvLyBSZWxhdGVkIHRpY2tldCAtIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTQ0OTg1NworaWYgKCAhc3VwcG9ydC5mb2N1c2luICkgeworCWpRdWVyeS5lYWNoKCB7IGZvY3VzOiAiZm9jdXNpbiIsIGJsdXI6ICJmb2N1c291dCIgfSwgZnVuY3Rpb24oIG9yaWcsIGZpeCApIHsKKworCQkvLyBBdHRhY2ggYSBzaW5nbGUgY2FwdHVyaW5nIGhhbmRsZXIgb24gdGhlIGRvY3VtZW50IHdoaWxlIHNvbWVvbmUgd2FudHMgZm9jdXNpbi9mb2N1c291dAorCQl2YXIgaGFuZGxlciA9IGZ1bmN0aW9uKCBldmVudCApIHsKKwkJCWpRdWVyeS5ldmVudC5zaW11bGF0ZSggZml4LCBldmVudC50YXJnZXQsIGpRdWVyeS5ldmVudC5maXgoIGV2ZW50ICkgKTsKKwkJfTsKKworCQlqUXVlcnkuZXZlbnQuc3BlY2lhbFsgZml4IF0gPSB7CisJCQlzZXR1cDogZnVuY3Rpb24oKSB7CisJCQkJdmFyIGRvYyA9IHRoaXMub3duZXJEb2N1bWVudCB8fCB0aGlzLAorCQkJCQlhdHRhY2hlcyA9IGRhdGFQcml2LmFjY2VzcyggZG9jLCBmaXggKTsKKworCQkJCWlmICggIWF0dGFjaGVzICkgeworCQkJCQlkb2MuYWRkRXZlbnRMaXN0ZW5lciggb3JpZywgaGFuZGxlciwgdHJ1ZSApOworCQkJCX0KKwkJCQlkYXRhUHJpdi5hY2Nlc3MoIGRvYywgZml4LCAoIGF0dGFjaGVzIHx8IDAgKSArIDEgKTsKKwkJCX0sCisJCQl0ZWFyZG93bjogZnVuY3Rpb24oKSB7CisJCQkJdmFyIGRvYyA9IHRoaXMub3duZXJEb2N1bWVudCB8fCB0aGlzLAorCQkJCQlhdHRhY2hlcyA9IGRhdGFQcml2LmFjY2VzcyggZG9jLCBmaXggKSAtIDE7CisKKwkJCQlpZiAoICFhdHRhY2hlcyApIHsKKwkJCQkJZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIoIG9yaWcsIGhhbmRsZXIsIHRydWUgKTsKKwkJCQkJZGF0YVByaXYucmVtb3ZlKCBkb2MsIGZpeCApOworCisJCQkJfSBlbHNlIHsKKwkJCQkJZGF0YVByaXYuYWNjZXNzKCBkb2MsIGZpeCwgYXR0YWNoZXMgKTsKKwkJCQl9CisJCQl9CisJCX07CisJfSApOworfQordmFyIGxvY2F0aW9uID0gd2luZG93LmxvY2F0aW9uOworCit2YXIgbm9uY2UgPSBqUXVlcnkubm93KCk7CisKK3ZhciBycXVlcnkgPSAoIC9cPy8gKTsKKworCisKKy8vIENyb3NzLWJyb3dzZXIgeG1sIHBhcnNpbmcKK2pRdWVyeS5wYXJzZVhNTCA9IGZ1bmN0aW9uKCBkYXRhICkgeworCXZhciB4bWw7CisJaWYgKCAhZGF0YSB8fCB0eXBlb2YgZGF0YSAhPT0gInN0cmluZyIgKSB7CisJCXJldHVybiBudWxsOworCX0KKworCS8vIFN1cHBvcnQ6IElFIDkgLSAxMSBvbmx5CisJLy8gSUUgdGhyb3dzIG9uIHBhcnNlRnJvbVN0cmluZyB3aXRoIGludmFsaWQgaW5wdXQuCisJdHJ5IHsKKwkJeG1sID0gKCBuZXcgd2luZG93LkRPTVBhcnNlcigpICkucGFyc2VGcm9tU3RyaW5nKCBkYXRhLCAidGV4dC94bWwiICk7CisJfSBjYXRjaCAoIGUgKSB7CisJCXhtbCA9IHVuZGVmaW5lZDsKKwl9CisKKwlpZiAoICF4bWwgfHwgeG1sLmdldEVsZW1lbnRzQnlUYWdOYW1lKCAicGFyc2VyZXJyb3IiICkubGVuZ3RoICkgeworCQlqUXVlcnkuZXJyb3IoICJJbnZhbGlkIFhNTDogIiArIGRhdGEgKTsKKwl9CisJcmV0dXJuIHhtbDsKK307CisKKwordmFyCisJcmJyYWNrZXQgPSAvXFtcXSQvLAorCXJDUkxGID0gL1xyP1xuL2csCisJcnN1Ym1pdHRlclR5cGVzID0gL14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLAorCXJzdWJtaXR0YWJsZSA9IC9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTsKKworZnVuY3Rpb24gYnVpbGRQYXJhbXMoIHByZWZpeCwgb2JqLCB0cmFkaXRpb25hbCwgYWRkICkgeworCXZhciBuYW1lOworCisJaWYgKCBBcnJheS5pc0FycmF5KCBvYmogKSApIHsKKworCQkvLyBTZXJpYWxpemUgYXJyYXkgaXRlbS4KKwkJalF1ZXJ5LmVhY2goIG9iaiwgZnVuY3Rpb24oIGksIHYgKSB7CisJCQlpZiAoIHRyYWRpdGlvbmFsIHx8IHJicmFja2V0LnRlc3QoIHByZWZpeCApICkgeworCisJCQkJLy8gVHJlYXQgZWFjaCBhcnJheSBpdGVtIGFzIGEgc2NhbGFyLgorCQkJCWFkZCggcHJlZml4LCB2ICk7CisKKwkJCX0gZWxzZSB7CisKKwkJCQkvLyBJdGVtIGlzIG5vbi1zY2FsYXIgKGFycmF5IG9yIG9iamVjdCksIGVuY29kZSBpdHMgbnVtZXJpYyBpbmRleC4KKwkJCQlidWlsZFBhcmFtcygKKwkJCQkJcHJlZml4ICsgIlsiICsgKCB0eXBlb2YgdiA9PT0gIm9iamVjdCIgJiYgdiAhPSBudWxsID8gaSA6ICIiICkgKyAiXSIsCisJCQkJCXYsCisJCQkJCXRyYWRpdGlvbmFsLAorCQkJCQlhZGQKKwkJCQkpOworCQkJfQorCQl9ICk7CisKKwl9IGVsc2UgaWYgKCAhdHJhZGl0aW9uYWwgJiYgalF1ZXJ5LnR5cGUoIG9iaiApID09PSAib2JqZWN0IiApIHsKKworCQkvLyBTZXJpYWxpemUgb2JqZWN0IGl0ZW0uCisJCWZvciAoIG5hbWUgaW4gb2JqICkgeworCQkJYnVpbGRQYXJhbXMoIHByZWZpeCArICJbIiArIG5hbWUgKyAiXSIsIG9ialsgbmFtZSBdLCB0cmFkaXRpb25hbCwgYWRkICk7CisJCX0KKworCX0gZWxzZSB7CisKKwkJLy8gU2VyaWFsaXplIHNjYWxhciBpdGVtLgorCQlhZGQoIHByZWZpeCwgb2JqICk7CisJfQorfQorCisvLyBTZXJpYWxpemUgYW4gYXJyYXkgb2YgZm9ybSBlbGVtZW50cyBvciBhIHNldCBvZgorLy8ga2V5L3ZhbHVlcyBpbnRvIGEgcXVlcnkgc3RyaW5nCitqUXVlcnkucGFyYW0gPSBmdW5jdGlvbiggYSwgdHJhZGl0aW9uYWwgKSB7CisJdmFyIHByZWZpeCwKKwkJcyA9IFtdLAorCQlhZGQgPSBmdW5jdGlvbigga2V5LCB2YWx1ZU9yRnVuY3Rpb24gKSB7CisKKwkJCS8vIElmIHZhbHVlIGlzIGEgZnVuY3Rpb24sIGludm9rZSBpdCBhbmQgdXNlIGl0cyByZXR1cm4gdmFsdWUKKwkJCXZhciB2YWx1ZSA9IGpRdWVyeS5pc0Z1bmN0aW9uKCB2YWx1ZU9yRnVuY3Rpb24gKSA/CisJCQkJdmFsdWVPckZ1bmN0aW9uKCkgOgorCQkJCXZhbHVlT3JGdW5jdGlvbjsKKworCQkJc1sgcy5sZW5ndGggXSA9IGVuY29kZVVSSUNvbXBvbmVudCgga2V5ICkgKyAiPSIgKworCQkJCWVuY29kZVVSSUNvbXBvbmVudCggdmFsdWUgPT0gbnVsbCA/ICIiIDogdmFsdWUgKTsKKwkJfTsKKworCS8vIElmIGFuIGFycmF5IHdhcyBwYXNzZWQgaW4sIGFzc3VtZSB0aGF0IGl0IGlzIGFuIGFycmF5IG9mIGZvcm0gZWxlbWVudHMuCisJaWYgKCBBcnJheS5pc0FycmF5KCBhICkgfHwgKCBhLmpxdWVyeSAmJiAhalF1ZXJ5LmlzUGxhaW5PYmplY3QoIGEgKSApICkgeworCisJCS8vIFNlcmlhbGl6ZSB0aGUgZm9ybSBlbGVtZW50cworCQlqUXVlcnkuZWFjaCggYSwgZnVuY3Rpb24oKSB7CisJCQlhZGQoIHRoaXMubmFtZSwgdGhpcy52YWx1ZSApOworCQl9ICk7CisKKwl9IGVsc2UgeworCisJCS8vIElmIHRyYWRpdGlvbmFsLCBlbmNvZGUgdGhlICJvbGQiIHdheSAodGhlIHdheSAxLjMuMiBvciBvbGRlcgorCQkvLyBkaWQgaXQpLCBvdGhlcndpc2UgZW5jb2RlIHBhcmFtcyByZWN1cnNpdmVseS4KKwkJZm9yICggcHJlZml4IGluIGEgKSB7CisJCQlidWlsZFBhcmFtcyggcHJlZml4LCBhWyBwcmVmaXggXSwgdHJhZGl0aW9uYWwsIGFkZCApOworCQl9CisJfQorCisJLy8gUmV0dXJuIHRoZSByZXN1bHRpbmcgc2VyaWFsaXphdGlvbgorCXJldHVybiBzLmpvaW4oICImIiApOworfTsKKworalF1ZXJ5LmZuLmV4dGVuZCggeworCXNlcmlhbGl6ZTogZnVuY3Rpb24oKSB7CisJCXJldHVybiBqUXVlcnkucGFyYW0oIHRoaXMuc2VyaWFsaXplQXJyYXkoKSApOworCX0sCisJc2VyaWFsaXplQXJyYXk6IGZ1bmN0aW9uKCkgeworCQlyZXR1cm4gdGhpcy5tYXAoIGZ1bmN0aW9uKCkgeworCisJCQkvLyBDYW4gYWRkIHByb3BIb29rIGZvciAiZWxlbWVudHMiIHRvIGZpbHRlciBvciBhZGQgZm9ybSBlbGVtZW50cworCQkJdmFyIGVsZW1lbnRzID0galF1ZXJ5LnByb3AoIHRoaXMsICJlbGVtZW50cyIgKTsKKwkJCXJldHVybiBlbGVtZW50cyA/IGpRdWVyeS5tYWtlQXJyYXkoIGVsZW1lbnRzICkgOiB0aGlzOworCQl9ICkKKwkJLmZpbHRlciggZnVuY3Rpb24oKSB7CisJCQl2YXIgdHlwZSA9IHRoaXMudHlwZTsKKworCQkJLy8gVXNlIC5pcyggIjpkaXNhYmxlZCIgKSBzbyB0aGF0IGZpZWxkc2V0W2Rpc2FibGVkXSB3b3JrcworCQkJcmV0dXJuIHRoaXMubmFtZSAmJiAhalF1ZXJ5KCB0aGlzICkuaXMoICI6ZGlzYWJsZWQiICkgJiYKKwkJCQlyc3VibWl0dGFibGUudGVzdCggdGhpcy5ub2RlTmFtZSApICYmICFyc3VibWl0dGVyVHlwZXMudGVzdCggdHlwZSApICYmCisJCQkJKCB0aGlzLmNoZWNrZWQgfHwgIXJjaGVja2FibGVUeXBlLnRlc3QoIHR5cGUgKSApOworCQl9ICkKKwkJLm1hcCggZnVuY3Rpb24oIGksIGVsZW0gKSB7CisJCQl2YXIgdmFsID0galF1ZXJ5KCB0aGlzICkudmFsKCk7CisKKwkJCWlmICggdmFsID09IG51bGwgKSB7CisJCQkJcmV0dXJuIG51bGw7CisJCQl9CisKKwkJCWlmICggQXJyYXkuaXNBcnJheSggdmFsICkgKSB7CisJCQkJcmV0dXJuIGpRdWVyeS5tYXAoIHZhbCwgZnVuY3Rpb24oIHZhbCApIHsKKwkJCQkJcmV0dXJuIHsgbmFtZTogZWxlbS5uYW1lLCB2YWx1ZTogdmFsLnJlcGxhY2UoIHJDUkxGLCAiXHJcbiIgKSB9OworCQkJCX0gKTsKKwkJCX0KKworCQkJcmV0dXJuIHsgbmFtZTogZWxlbS5uYW1lLCB2YWx1ZTogdmFsLnJlcGxhY2UoIHJDUkxGLCAiXHJcbiIgKSB9OworCQl9ICkuZ2V0KCk7CisJfQorfSApOworCisKK3ZhcgorCXIyMCA9IC8lMjAvZywKKwlyaGFzaCA9IC8jLiokLywKKwlyYW50aUNhY2hlID0gLyhbPyZdKV89W14mXSovLAorCXJoZWFkZXJzID0gL14oLio/KTpbIFx0XSooW15cclxuXSopJC9tZywKKworCS8vICM3NjUzLCAjODEyNSwgIzgxNTI6IGxvY2FsIHByb3RvY29sIGRldGVjdGlvbgorCXJsb2NhbFByb3RvY29sID0gL14oPzphYm91dHxhcHB8YXBwLXN0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8sCisJcm5vQ29udGVudCA9IC9eKD86R0VUfEhFQUQpJC8sCisJcnByb3RvY29sID0gL15cL1wvLywKKworCS8qIFByZWZpbHRlcnMKKwkgKiAxKSBUaGV5IGFyZSB1c2VmdWwgdG8gaW50cm9kdWNlIGN1c3RvbSBkYXRhVHlwZXMgKHNlZSBhamF4L2pzb25wLmpzIGZvciBhbiBleGFtcGxlKQorCSAqIDIpIFRoZXNlIGFyZSBjYWxsZWQ6CisJICogICAgLSBCRUZPUkUgYXNraW5nIGZvciBhIHRyYW5zcG9ydAorCSAqICAgIC0gQUZURVIgcGFyYW0gc2VyaWFsaXphdGlvbiAocy5kYXRhIGlzIGEgc3RyaW5nIGlmIHMucHJvY2Vzc0RhdGEgaXMgdHJ1ZSkKKwkgKiAzKSBrZXkgaXMgdGhlIGRhdGFUeXBlCisJICogNCkgdGhlIGNhdGNoYWxsIHN5bWJvbCAiKiIgY2FuIGJlIHVzZWQKKwkgKiA1KSBleGVjdXRpb24gd2lsbCBzdGFydCB3aXRoIHRyYW5zcG9ydCBkYXRhVHlwZSBhbmQgVEhFTiBjb250aW51ZSBkb3duIHRvICIqIiBpZiBuZWVkZWQKKwkgKi8KKwlwcmVmaWx0ZXJzID0ge30sCisKKwkvKiBUcmFuc3BvcnRzIGJpbmRpbmdzCisJICogMSkga2V5IGlzIHRoZSBkYXRhVHlwZQorCSAqIDIpIHRoZSBjYXRjaGFsbCBzeW1ib2wgIioiIGNhbiBiZSB1c2VkCisJICogMykgc2VsZWN0aW9uIHdpbGwgc3RhcnQgd2l0aCB0cmFuc3BvcnQgZGF0YVR5cGUgYW5kIFRIRU4gZ28gdG8gIioiIGlmIG5lZWRlZAorCSAqLworCXRyYW5zcG9ydHMgPSB7fSwKKworCS8vIEF2b2lkIGNvbW1lbnQtcHJvbG9nIGNoYXIgc2VxdWVuY2UgKCMxMDA5OCk7IG11c3QgYXBwZWFzZSBsaW50IGFuZCBldmFkZSBjb21wcmVzc2lvbgorCWFsbFR5cGVzID0gIiovIi5jb25jYXQoICIqIiApLAorCisJLy8gQW5jaG9yIHRhZyBmb3IgcGFyc2luZyB0aGUgZG9jdW1lbnQgb3JpZ2luCisJb3JpZ2luQW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImEiICk7CisJb3JpZ2luQW5jaG9yLmhyZWYgPSBsb2NhdGlvbi5ocmVmOworCisvLyBCYXNlICJjb25zdHJ1Y3RvciIgZm9yIGpRdWVyeS5hamF4UHJlZmlsdGVyIGFuZCBqUXVlcnkuYWpheFRyYW5zcG9ydAorZnVuY3Rpb24gYWRkVG9QcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKCBzdHJ1Y3R1cmUgKSB7CisKKwkvLyBkYXRhVHlwZUV4cHJlc3Npb24gaXMgb3B0aW9uYWwgYW5kIGRlZmF1bHRzIHRvICIqIgorCXJldHVybiBmdW5jdGlvbiggZGF0YVR5cGVFeHByZXNzaW9uLCBmdW5jICkgeworCisJCWlmICggdHlwZW9mIGRhdGFUeXBlRXhwcmVzc2lvbiAhPT0gInN0cmluZyIgKSB7CisJCQlmdW5jID0gZGF0YVR5cGVFeHByZXNzaW9uOworCQkJZGF0YVR5cGVFeHByZXNzaW9uID0gIioiOworCQl9CisKKwkJdmFyIGRhdGFUeXBlLAorCQkJaSA9IDAsCisJCQlkYXRhVHlwZXMgPSBkYXRhVHlwZUV4cHJlc3Npb24udG9Mb3dlckNhc2UoKS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFtdOworCisJCWlmICggalF1ZXJ5LmlzRnVuY3Rpb24oIGZ1bmMgKSApIHsKKworCQkJLy8gRm9yIGVhY2ggZGF0YVR5cGUgaW4gdGhlIGRhdGFUeXBlRXhwcmVzc2lvbgorCQkJd2hpbGUgKCAoIGRhdGFUeXBlID0gZGF0YVR5cGVzWyBpKysgXSApICkgeworCisJCQkJLy8gUHJlcGVuZCBpZiByZXF1ZXN0ZWQKKwkJCQlpZiAoIGRhdGFUeXBlWyAwIF0gPT09ICIrIiApIHsKKwkJCQkJZGF0YVR5cGUgPSBkYXRhVHlwZS5zbGljZSggMSApIHx8ICIqIjsKKwkJCQkJKCBzdHJ1Y3R1cmVbIGRhdGFUeXBlIF0gPSBzdHJ1Y3R1cmVbIGRhdGFUeXBlIF0gfHwgW10gKS51bnNoaWZ0KCBmdW5jICk7CisKKwkJCQkvLyBPdGhlcndpc2UgYXBwZW5kCisJCQkJfSBlbHNlIHsKKwkJCQkJKCBzdHJ1Y3R1cmVbIGRhdGFUeXBlIF0gPSBzdHJ1Y3R1cmVbIGRhdGFUeXBlIF0gfHwgW10gKS5wdXNoKCBmdW5jICk7CisJCQkJfQorCQkJfQorCQl9CisJfTsKK30KKworLy8gQmFzZSBpbnNwZWN0aW9uIGZ1bmN0aW9uIGZvciBwcmVmaWx0ZXJzIGFuZCB0cmFuc3BvcnRzCitmdW5jdGlvbiBpbnNwZWN0UHJlZmlsdGVyc09yVHJhbnNwb3J0cyggc3RydWN0dXJlLCBvcHRpb25zLCBvcmlnaW5hbE9wdGlvbnMsIGpxWEhSICkgeworCisJdmFyIGluc3BlY3RlZCA9IHt9LAorCQlzZWVraW5nVHJhbnNwb3J0ID0gKCBzdHJ1Y3R1cmUgPT09IHRyYW5zcG9ydHMgKTsKKworCWZ1bmN0aW9uIGluc3BlY3QoIGRhdGFUeXBlICkgeworCQl2YXIgc2VsZWN0ZWQ7CisJCWluc3BlY3RlZFsgZGF0YVR5cGUgXSA9IHRydWU7CisJCWpRdWVyeS5lYWNoKCBzdHJ1Y3R1cmVbIGRhdGFUeXBlIF0gfHwgW10sIGZ1bmN0aW9uKCBfLCBwcmVmaWx0ZXJPckZhY3RvcnkgKSB7CisJCQl2YXIgZGF0YVR5cGVPclRyYW5zcG9ydCA9IHByZWZpbHRlck9yRmFjdG9yeSggb3B0aW9ucywgb3JpZ2luYWxPcHRpb25zLCBqcVhIUiApOworCQkJaWYgKCB0eXBlb2YgZGF0YVR5cGVPclRyYW5zcG9ydCA9PT0gInN0cmluZyIgJiYKKwkJCQkhc2Vla2luZ1RyYW5zcG9ydCAmJiAhaW5zcGVjdGVkWyBkYXRhVHlwZU9yVHJhbnNwb3J0IF0gKSB7CisKKwkJCQlvcHRpb25zLmRhdGFUeXBlcy51bnNoaWZ0KCBkYXRhVHlwZU9yVHJhbnNwb3J0ICk7CisJCQkJaW5zcGVjdCggZGF0YVR5cGVPclRyYW5zcG9ydCApOworCQkJCXJldHVybiBmYWxzZTsKKwkJCX0gZWxzZSBpZiAoIHNlZWtpbmdUcmFuc3BvcnQgKSB7CisJCQkJcmV0dXJuICEoIHNlbGVjdGVkID0gZGF0YVR5cGVPclRyYW5zcG9ydCApOworCQkJfQorCQl9ICk7CisJCXJldHVybiBzZWxlY3RlZDsKKwl9CisKKwlyZXR1cm4gaW5zcGVjdCggb3B0aW9ucy5kYXRhVHlwZXNbIDAgXSApIHx8ICFpbnNwZWN0ZWRbICIqIiBdICYmIGluc3BlY3QoICIqIiApOworfQorCisvLyBBIHNwZWNpYWwgZXh0ZW5kIGZvciBhamF4IG9wdGlvbnMKKy8vIHRoYXQgdGFrZXMgImZsYXQiIG9wdGlvbnMgKG5vdCB0byBiZSBkZWVwIGV4dGVuZGVkKQorLy8gRml4ZXMgIzk4ODcKK2Z1bmN0aW9uIGFqYXhFeHRlbmQoIHRhcmdldCwgc3JjICkgeworCXZhciBrZXksIGRlZXAsCisJCWZsYXRPcHRpb25zID0galF1ZXJ5LmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9ucyB8fCB7fTsKKworCWZvciAoIGtleSBpbiBzcmMgKSB7CisJCWlmICggc3JjWyBrZXkgXSAhPT0gdW5kZWZpbmVkICkgeworCQkJKCBmbGF0T3B0aW9uc1sga2V5IF0gPyB0YXJnZXQgOiAoIGRlZXAgfHwgKCBkZWVwID0ge30gKSApIClbIGtleSBdID0gc3JjWyBrZXkgXTsKKwkJfQorCX0KKwlpZiAoIGRlZXAgKSB7CisJCWpRdWVyeS5leHRlbmQoIHRydWUsIHRhcmdldCwgZGVlcCApOworCX0KKworCXJldHVybiB0YXJnZXQ7Cit9CisKKy8qIEhhbmRsZXMgcmVzcG9uc2VzIHRvIGFuIGFqYXggcmVxdWVzdDoKKyAqIC0gZmluZHMgdGhlIHJpZ2h0IGRhdGFUeXBlIChtZWRpYXRlcyBiZXR3ZWVuIGNvbnRlbnQtdHlwZSBhbmQgZXhwZWN0ZWQgZGF0YVR5cGUpCisgKiAtIHJldHVybnMgdGhlIGNvcnJlc3BvbmRpbmcgcmVzcG9uc2UKKyAqLworZnVuY3Rpb24gYWpheEhhbmRsZVJlc3BvbnNlcyggcywganFYSFIsIHJlc3BvbnNlcyApIHsKKworCXZhciBjdCwgdHlwZSwgZmluYWxEYXRhVHlwZSwgZmlyc3REYXRhVHlwZSwKKwkJY29udGVudHMgPSBzLmNvbnRlbnRzLAorCQlkYXRhVHlwZXMgPSBzLmRhdGFUeXBlczsKKworCS8vIFJlbW92ZSBhdXRvIGRhdGFUeXBlIGFuZCBnZXQgY29udGVudC10eXBlIGluIHRoZSBwcm9jZXNzCisJd2hpbGUgKCBkYXRhVHlwZXNbIDAgXSA9PT0gIioiICkgeworCQlkYXRhVHlwZXMuc2hpZnQoKTsKKwkJaWYgKCBjdCA9PT0gdW5kZWZpbmVkICkgeworCQkJY3QgPSBzLm1pbWVUeXBlIHx8IGpxWEhSLmdldFJlc3BvbnNlSGVhZGVyKCAiQ29udGVudC1UeXBlIiApOworCQl9CisJfQorCisJLy8gQ2hlY2sgaWYgd2UncmUgZGVhbGluZyB3aXRoIGEga25vd24gY29udGVudC10eXBlCisJaWYgKCBjdCApIHsKKwkJZm9yICggdHlwZSBpbiBjb250ZW50cyApIHsKKwkJCWlmICggY29udGVudHNbIHR5cGUgXSAmJiBjb250ZW50c1sgdHlwZSBdLnRlc3QoIGN0ICkgKSB7CisJCQkJZGF0YVR5cGVzLnVuc2hpZnQoIHR5cGUgKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KKworCS8vIENoZWNrIHRvIHNlZSBpZiB3ZSBoYXZlIGEgcmVzcG9uc2UgZm9yIHRoZSBleHBlY3RlZCBkYXRhVHlwZQorCWlmICggZGF0YVR5cGVzWyAwIF0gaW4gcmVzcG9uc2VzICkgeworCQlmaW5hbERhdGFUeXBlID0gZGF0YVR5cGVzWyAwIF07CisJfSBlbHNlIHsKKworCQkvLyBUcnkgY29udmVydGlibGUgZGF0YVR5cGVzCisJCWZvciAoIHR5cGUgaW4gcmVzcG9uc2VzICkgeworCQkJaWYgKCAhZGF0YVR5cGVzWyAwIF0gfHwgcy5jb252ZXJ0ZXJzWyB0eXBlICsgIiAiICsgZGF0YVR5cGVzWyAwIF0gXSApIHsKKwkJCQlmaW5hbERhdGFUeXBlID0gdHlwZTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmICggIWZpcnN0RGF0YVR5cGUgKSB7CisJCQkJZmlyc3REYXRhVHlwZSA9IHR5cGU7CisJCQl9CisJCX0KKworCQkvLyBPciBqdXN0IHVzZSBmaXJzdCBvbmUKKwkJZmluYWxEYXRhVHlwZSA9IGZpbmFsRGF0YVR5cGUgfHwgZmlyc3REYXRhVHlwZTsKKwl9CisKKwkvLyBJZiB3ZSBmb3VuZCBhIGRhdGFUeXBlCisJLy8gV2UgYWRkIHRoZSBkYXRhVHlwZSB0byB0aGUgbGlzdCBpZiBuZWVkZWQKKwkvLyBhbmQgcmV0dXJuIHRoZSBjb3JyZXNwb25kaW5nIHJlc3BvbnNlCisJaWYgKCBmaW5hbERhdGFUeXBlICkgeworCQlpZiAoIGZpbmFsRGF0YVR5cGUgIT09IGRhdGFUeXBlc1sgMCBdICkgeworCQkJZGF0YVR5cGVzLnVuc2hpZnQoIGZpbmFsRGF0YVR5cGUgKTsKKwkJfQorCQlyZXR1cm4gcmVzcG9uc2VzWyBmaW5hbERhdGFUeXBlIF07CisJfQorfQorCisvKiBDaGFpbiBjb252ZXJzaW9ucyBnaXZlbiB0aGUgcmVxdWVzdCBhbmQgdGhlIG9yaWdpbmFsIHJlc3BvbnNlCisgKiBBbHNvIHNldHMgdGhlIHJlc3BvbnNlWFhYIGZpZWxkcyBvbiB0aGUganFYSFIgaW5zdGFuY2UKKyAqLworZnVuY3Rpb24gYWpheENvbnZlcnQoIHMsIHJlc3BvbnNlLCBqcVhIUiwgaXNTdWNjZXNzICkgeworCXZhciBjb252MiwgY3VycmVudCwgY29udiwgdG1wLCBwcmV2LAorCQljb252ZXJ0ZXJzID0ge30sCisKKwkJLy8gV29yayB3aXRoIGEgY29weSBvZiBkYXRhVHlwZXMgaW4gY2FzZSB3ZSBuZWVkIHRvIG1vZGlmeSBpdCBmb3IgY29udmVyc2lvbgorCQlkYXRhVHlwZXMgPSBzLmRhdGFUeXBlcy5zbGljZSgpOworCisJLy8gQ3JlYXRlIGNvbnZlcnRlcnMgbWFwIHdpdGggbG93ZXJjYXNlZCBrZXlzCisJaWYgKCBkYXRhVHlwZXNbIDEgXSApIHsKKwkJZm9yICggY29udiBpbiBzLmNvbnZlcnRlcnMgKSB7CisJCQljb252ZXJ0ZXJzWyBjb252LnRvTG93ZXJDYXNlKCkgXSA9IHMuY29udmVydGVyc1sgY29udiBdOworCQl9CisJfQorCisJY3VycmVudCA9IGRhdGFUeXBlcy5zaGlmdCgpOworCisJLy8gQ29udmVydCB0byBlYWNoIHNlcXVlbnRpYWwgZGF0YVR5cGUKKwl3aGlsZSAoIGN1cnJlbnQgKSB7CisKKwkJaWYgKCBzLnJlc3BvbnNlRmllbGRzWyBjdXJyZW50IF0gKSB7CisJCQlqcVhIUlsgcy5yZXNwb25zZUZpZWxkc1sgY3VycmVudCBdIF0gPSByZXNwb25zZTsKKwkJfQorCisJCS8vIEFwcGx5IHRoZSBkYXRhRmlsdGVyIGlmIHByb3ZpZGVkCisJCWlmICggIXByZXYgJiYgaXNTdWNjZXNzICYmIHMuZGF0YUZpbHRlciApIHsKKwkJCXJlc3BvbnNlID0gcy5kYXRhRmlsdGVyKCByZXNwb25zZSwgcy5kYXRhVHlwZSApOworCQl9CisKKwkJcHJldiA9IGN1cnJlbnQ7CisJCWN1cnJlbnQgPSBkYXRhVHlwZXMuc2hpZnQoKTsKKworCQlpZiAoIGN1cnJlbnQgKSB7CisKKwkJCS8vIFRoZXJlJ3Mgb25seSB3b3JrIHRvIGRvIGlmIGN1cnJlbnQgZGF0YVR5cGUgaXMgbm9uLWF1dG8KKwkJCWlmICggY3VycmVudCA9PT0gIioiICkgeworCisJCQkJY3VycmVudCA9IHByZXY7CisKKwkJCS8vIENvbnZlcnQgcmVzcG9uc2UgaWYgcHJldiBkYXRhVHlwZSBpcyBub24tYXV0byBhbmQgZGlmZmVycyBmcm9tIGN1cnJlbnQKKwkJCX0gZWxzZSBpZiAoIHByZXYgIT09ICIqIiAmJiBwcmV2ICE9PSBjdXJyZW50ICkgeworCisJCQkJLy8gU2VlayBhIGRpcmVjdCBjb252ZXJ0ZXIKKwkJCQljb252ID0gY29udmVydGVyc1sgcHJldiArICIgIiArIGN1cnJlbnQgXSB8fCBjb252ZXJ0ZXJzWyAiKiAiICsgY3VycmVudCBdOworCisJCQkJLy8gSWYgbm9uZSBmb3VuZCwgc2VlayBhIHBhaXIKKwkJCQlpZiAoICFjb252ICkgeworCQkJCQlmb3IgKCBjb252MiBpbiBjb252ZXJ0ZXJzICkgeworCisJCQkJCQkvLyBJZiBjb252MiBvdXRwdXRzIGN1cnJlbnQKKwkJCQkJCXRtcCA9IGNvbnYyLnNwbGl0KCAiICIgKTsKKwkJCQkJCWlmICggdG1wWyAxIF0gPT09IGN1cnJlbnQgKSB7CisKKwkJCQkJCQkvLyBJZiBwcmV2IGNhbiBiZSBjb252ZXJ0ZWQgdG8gYWNjZXB0ZWQgaW5wdXQKKwkJCQkJCQljb252ID0gY29udmVydGVyc1sgcHJldiArICIgIiArIHRtcFsgMCBdIF0gfHwKKwkJCQkJCQkJY29udmVydGVyc1sgIiogIiArIHRtcFsgMCBdIF07CisJCQkJCQkJaWYgKCBjb252ICkgeworCisJCQkJCQkJCS8vIENvbmRlbnNlIGVxdWl2YWxlbmNlIGNvbnZlcnRlcnMKKwkJCQkJCQkJaWYgKCBjb252ID09PSB0cnVlICkgeworCQkJCQkJCQkJY29udiA9IGNvbnZlcnRlcnNbIGNvbnYyIF07CisKKwkJCQkJCQkJLy8gT3RoZXJ3aXNlLCBpbnNlcnQgdGhlIGludGVybWVkaWF0ZSBkYXRhVHlwZQorCQkJCQkJCQl9IGVsc2UgaWYgKCBjb252ZXJ0ZXJzWyBjb252MiBdICE9PSB0cnVlICkgeworCQkJCQkJCQkJY3VycmVudCA9IHRtcFsgMCBdOworCQkJCQkJCQkJZGF0YVR5cGVzLnVuc2hpZnQoIHRtcFsgMSBdICk7CisJCQkJCQkJCX0KKwkJCQkJCQkJYnJlYWs7CisJCQkJCQkJfQorCQkJCQkJfQorCQkJCQl9CisJCQkJfQorCisJCQkJLy8gQXBwbHkgY29udmVydGVyIChpZiBub3QgYW4gZXF1aXZhbGVuY2UpCisJCQkJaWYgKCBjb252ICE9PSB0cnVlICkgeworCisJCQkJCS8vIFVubGVzcyBlcnJvcnMgYXJlIGFsbG93ZWQgdG8gYnViYmxlLCBjYXRjaCBhbmQgcmV0dXJuIHRoZW0KKwkJCQkJaWYgKCBjb252ICYmIHMudGhyb3dzICkgeworCQkJCQkJcmVzcG9uc2UgPSBjb252KCByZXNwb25zZSApOworCQkJCQl9IGVsc2UgeworCQkJCQkJdHJ5IHsKKwkJCQkJCQlyZXNwb25zZSA9IGNvbnYoIHJlc3BvbnNlICk7CisJCQkJCQl9IGNhdGNoICggZSApIHsKKwkJCQkJCQlyZXR1cm4geworCQkJCQkJCQlzdGF0ZTogInBhcnNlcmVycm9yIiwKKwkJCQkJCQkJZXJyb3I6IGNvbnYgPyBlIDogIk5vIGNvbnZlcnNpb24gZnJvbSAiICsgcHJldiArICIgdG8gIiArIGN1cnJlbnQKKwkJCQkJCQl9OworCQkJCQkJfQorCQkJCQl9CisJCQkJfQorCQkJfQorCQl9CisJfQorCisJcmV0dXJuIHsgc3RhdGU6ICJzdWNjZXNzIiwgZGF0YTogcmVzcG9uc2UgfTsKK30KKworalF1ZXJ5LmV4dGVuZCggeworCisJLy8gQ291bnRlciBmb3IgaG9sZGluZyB0aGUgbnVtYmVyIG9mIGFjdGl2ZSBxdWVyaWVzCisJYWN0aXZlOiAwLAorCisJLy8gTGFzdC1Nb2RpZmllZCBoZWFkZXIgY2FjaGUgZm9yIG5leHQgcmVxdWVzdAorCWxhc3RNb2RpZmllZDoge30sCisJZXRhZzoge30sCisKKwlhamF4U2V0dGluZ3M6IHsKKwkJdXJsOiBsb2NhdGlvbi5ocmVmLAorCQl0eXBlOiAiR0VUIiwKKwkJaXNMb2NhbDogcmxvY2FsUHJvdG9jb2wudGVzdCggbG9jYXRpb24ucHJvdG9jb2wgKSwKKwkJZ2xvYmFsOiB0cnVlLAorCQlwcm9jZXNzRGF0YTogdHJ1ZSwKKwkJYXN5bmM6IHRydWUsCisJCWNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IiwKKworCQkvKgorCQl0aW1lb3V0OiAwLAorCQlkYXRhOiBudWxsLAorCQlkYXRhVHlwZTogbnVsbCwKKwkJdXNlcm5hbWU6IG51bGwsCisJCXBhc3N3b3JkOiBudWxsLAorCQljYWNoZTogbnVsbCwKKwkJdGhyb3dzOiBmYWxzZSwKKwkJdHJhZGl0aW9uYWw6IGZhbHNlLAorCQloZWFkZXJzOiB7fSwKKwkJKi8KKworCQlhY2NlcHRzOiB7CisJCQkiKiI6IGFsbFR5cGVzLAorCQkJdGV4dDogInRleHQvcGxhaW4iLAorCQkJaHRtbDogInRleHQvaHRtbCIsCisJCQl4bWw6ICJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIiwKKwkJCWpzb246ICJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2phdmFzY3JpcHQiCisJCX0sCisKKwkJY29udGVudHM6IHsKKwkJCXhtbDogL1xieG1sXGIvLAorCQkJaHRtbDogL1xiaHRtbC8sCisJCQlqc29uOiAvXGJqc29uXGIvCisJCX0sCisKKwkJcmVzcG9uc2VGaWVsZHM6IHsKKwkJCXhtbDogInJlc3BvbnNlWE1MIiwKKwkJCXRleHQ6ICJyZXNwb25zZVRleHQiLAorCQkJanNvbjogInJlc3BvbnNlSlNPTiIKKwkJfSwKKworCQkvLyBEYXRhIGNvbnZlcnRlcnMKKwkJLy8gS2V5cyBzZXBhcmF0ZSBzb3VyY2UgKG9yIGNhdGNoYWxsICIqIikgYW5kIGRlc3RpbmF0aW9uIHR5cGVzIHdpdGggYSBzaW5nbGUgc3BhY2UKKwkJY29udmVydGVyczogeworCisJCQkvLyBDb252ZXJ0IGFueXRoaW5nIHRvIHRleHQKKwkJCSIqIHRleHQiOiBTdHJpbmcsCisKKwkJCS8vIFRleHQgdG8gaHRtbCAodHJ1ZSA9IG5vIHRyYW5zZm9ybWF0aW9uKQorCQkJInRleHQgaHRtbCI6IHRydWUsCisKKwkJCS8vIEV2YWx1YXRlIHRleHQgYXMgYSBqc29uIGV4cHJlc3Npb24KKwkJCSJ0ZXh0IGpzb24iOiBKU09OLnBhcnNlLAorCisJCQkvLyBQYXJzZSB0ZXh0IGFzIHhtbAorCQkJInRleHQgeG1sIjogalF1ZXJ5LnBhcnNlWE1MCisJCX0sCisKKwkJLy8gRm9yIG9wdGlvbnMgdGhhdCBzaG91bGRuJ3QgYmUgZGVlcCBleHRlbmRlZDoKKwkJLy8geW91IGNhbiBhZGQgeW91ciBvd24gY3VzdG9tIG9wdGlvbnMgaGVyZSBpZgorCQkvLyBhbmQgd2hlbiB5b3UgY3JlYXRlIG9uZSB0aGF0IHNob3VsZG4ndCBiZQorCQkvLyBkZWVwIGV4dGVuZGVkIChzZWUgYWpheEV4dGVuZCkKKwkJZmxhdE9wdGlvbnM6IHsKKwkJCXVybDogdHJ1ZSwKKwkJCWNvbnRleHQ6IHRydWUKKwkJfQorCX0sCisKKwkvLyBDcmVhdGVzIGEgZnVsbCBmbGVkZ2VkIHNldHRpbmdzIG9iamVjdCBpbnRvIHRhcmdldAorCS8vIHdpdGggYm90aCBhamF4U2V0dGluZ3MgYW5kIHNldHRpbmdzIGZpZWxkcy4KKwkvLyBJZiB0YXJnZXQgaXMgb21pdHRlZCwgd3JpdGVzIGludG8gYWpheFNldHRpbmdzLgorCWFqYXhTZXR1cDogZnVuY3Rpb24oIHRhcmdldCwgc2V0dGluZ3MgKSB7CisJCXJldHVybiBzZXR0aW5ncyA/CisKKwkJCS8vIEJ1aWxkaW5nIGEgc2V0dGluZ3Mgb2JqZWN0CisJCQlhamF4RXh0ZW5kKCBhamF4RXh0ZW5kKCB0YXJnZXQsIGpRdWVyeS5hamF4U2V0dGluZ3MgKSwgc2V0dGluZ3MgKSA6CisKKwkJCS8vIEV4dGVuZGluZyBhamF4U2V0dGluZ3MKKwkJCWFqYXhFeHRlbmQoIGpRdWVyeS5hamF4U2V0dGluZ3MsIHRhcmdldCApOworCX0sCisKKwlhamF4UHJlZmlsdGVyOiBhZGRUb1ByZWZpbHRlcnNPclRyYW5zcG9ydHMoIHByZWZpbHRlcnMgKSwKKwlhamF4VHJhbnNwb3J0OiBhZGRUb1ByZWZpbHRlcnNPclRyYW5zcG9ydHMoIHRyYW5zcG9ydHMgKSwKKworCS8vIE1haW4gbWV0aG9kCisJYWpheDogZnVuY3Rpb24oIHVybCwgb3B0aW9ucyApIHsKKworCQkvLyBJZiB1cmwgaXMgYW4gb2JqZWN0LCBzaW11bGF0ZSBwcmUtMS41IHNpZ25hdHVyZQorCQlpZiAoIHR5cGVvZiB1cmwgPT09ICJvYmplY3QiICkgeworCQkJb3B0aW9ucyA9IHVybDsKKwkJCXVybCA9IHVuZGVmaW5lZDsKKwkJfQorCisJCS8vIEZvcmNlIG9wdGlvbnMgdG8gYmUgYW4gb2JqZWN0CisJCW9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OworCisJCXZhciB0cmFuc3BvcnQsCisKKwkJCS8vIFVSTCB3aXRob3V0IGFudGktY2FjaGUgcGFyYW0KKwkJCWNhY2hlVVJMLAorCisJCQkvLyBSZXNwb25zZSBoZWFkZXJzCisJCQlyZXNwb25zZUhlYWRlcnNTdHJpbmcsCisJCQlyZXNwb25zZUhlYWRlcnMsCisKKwkJCS8vIHRpbWVvdXQgaGFuZGxlCisJCQl0aW1lb3V0VGltZXIsCisKKwkJCS8vIFVybCBjbGVhbnVwIHZhcgorCQkJdXJsQW5jaG9yLAorCisJCQkvLyBSZXF1ZXN0IHN0YXRlIChiZWNvbWVzIGZhbHNlIHVwb24gc2VuZCBhbmQgdHJ1ZSB1cG9uIGNvbXBsZXRpb24pCisJCQljb21wbGV0ZWQsCisKKwkJCS8vIFRvIGtub3cgaWYgZ2xvYmFsIGV2ZW50cyBhcmUgdG8gYmUgZGlzcGF0Y2hlZAorCQkJZmlyZUdsb2JhbHMsCisKKwkJCS8vIExvb3AgdmFyaWFibGUKKwkJCWksCisKKwkJCS8vIHVuY2FjaGVkIHBhcnQgb2YgdGhlIHVybAorCQkJdW5jYWNoZWQsCisKKwkJCS8vIENyZWF0ZSB0aGUgZmluYWwgb3B0aW9ucyBvYmplY3QKKwkJCXMgPSBqUXVlcnkuYWpheFNldHVwKCB7fSwgb3B0aW9ucyApLAorCisJCQkvLyBDYWxsYmFja3MgY29udGV4dAorCQkJY2FsbGJhY2tDb250ZXh0ID0gcy5jb250ZXh0IHx8IHMsCisKKwkJCS8vIENvbnRleHQgZm9yIGdsb2JhbCBldmVudHMgaXMgY2FsbGJhY2tDb250ZXh0IGlmIGl0IGlzIGEgRE9NIG5vZGUgb3IgalF1ZXJ5IGNvbGxlY3Rpb24KKwkJCWdsb2JhbEV2ZW50Q29udGV4dCA9IHMuY29udGV4dCAmJgorCQkJCSggY2FsbGJhY2tDb250ZXh0Lm5vZGVUeXBlIHx8IGNhbGxiYWNrQ29udGV4dC5qcXVlcnkgKSA/CisJCQkJCWpRdWVyeSggY2FsbGJhY2tDb250ZXh0ICkgOgorCQkJCQlqUXVlcnkuZXZlbnQsCisKKwkJCS8vIERlZmVycmVkcworCQkJZGVmZXJyZWQgPSBqUXVlcnkuRGVmZXJyZWQoKSwKKwkJCWNvbXBsZXRlRGVmZXJyZWQgPSBqUXVlcnkuQ2FsbGJhY2tzKCAib25jZSBtZW1vcnkiICksCisKKwkJCS8vIFN0YXR1cy1kZXBlbmRlbnQgY2FsbGJhY2tzCisJCQlzdGF0dXNDb2RlID0gcy5zdGF0dXNDb2RlIHx8IHt9LAorCisJCQkvLyBIZWFkZXJzICh0aGV5IGFyZSBzZW50IGFsbCBhdCBvbmNlKQorCQkJcmVxdWVzdEhlYWRlcnMgPSB7fSwKKwkJCXJlcXVlc3RIZWFkZXJzTmFtZXMgPSB7fSwKKworCQkJLy8gRGVmYXVsdCBhYm9ydCBtZXNzYWdlCisJCQlzdHJBYm9ydCA9ICJjYW5jZWxlZCIsCisKKwkJCS8vIEZha2UgeGhyCisJCQlqcVhIUiA9IHsKKwkJCQlyZWFkeVN0YXRlOiAwLAorCisJCQkJLy8gQnVpbGRzIGhlYWRlcnMgaGFzaHRhYmxlIGlmIG5lZWRlZAorCQkJCWdldFJlc3BvbnNlSGVhZGVyOiBmdW5jdGlvbigga2V5ICkgeworCQkJCQl2YXIgbWF0Y2g7CisJCQkJCWlmICggY29tcGxldGVkICkgeworCQkJCQkJaWYgKCAhcmVzcG9uc2VIZWFkZXJzICkgeworCQkJCQkJCXJlc3BvbnNlSGVhZGVycyA9IHt9OworCQkJCQkJCXdoaWxlICggKCBtYXRjaCA9IHJoZWFkZXJzLmV4ZWMoIHJlc3BvbnNlSGVhZGVyc1N0cmluZyApICkgKSB7CisJCQkJCQkJCXJlc3BvbnNlSGVhZGVyc1sgbWF0Y2hbIDEgXS50b0xvd2VyQ2FzZSgpIF0gPSBtYXRjaFsgMiBdOworCQkJCQkJCX0KKwkJCQkJCX0KKwkJCQkJCW1hdGNoID0gcmVzcG9uc2VIZWFkZXJzWyBrZXkudG9Mb3dlckNhc2UoKSBdOworCQkJCQl9CisJCQkJCXJldHVybiBtYXRjaCA9PSBudWxsID8gbnVsbCA6IG1hdGNoOworCQkJCX0sCisKKwkJCQkvLyBSYXcgc3RyaW5nCisJCQkJZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOiBmdW5jdGlvbigpIHsKKwkJCQkJcmV0dXJuIGNvbXBsZXRlZCA/IHJlc3BvbnNlSGVhZGVyc1N0cmluZyA6IG51bGw7CisJCQkJfSwKKworCQkJCS8vIENhY2hlcyB0aGUgaGVhZGVyCisJCQkJc2V0UmVxdWVzdEhlYWRlcjogZnVuY3Rpb24oIG5hbWUsIHZhbHVlICkgeworCQkJCQlpZiAoIGNvbXBsZXRlZCA9PSBudWxsICkgeworCQkJCQkJbmFtZSA9IHJlcXVlc3RIZWFkZXJzTmFtZXNbIG5hbWUudG9Mb3dlckNhc2UoKSBdID0KKwkJCQkJCQlyZXF1ZXN0SGVhZGVyc05hbWVzWyBuYW1lLnRvTG93ZXJDYXNlKCkgXSB8fCBuYW1lOworCQkJCQkJcmVxdWVzdEhlYWRlcnNbIG5hbWUgXSA9IHZhbHVlOworCQkJCQl9CisJCQkJCXJldHVybiB0aGlzOworCQkJCX0sCisKKwkJCQkvLyBPdmVycmlkZXMgcmVzcG9uc2UgY29udGVudC10eXBlIGhlYWRlcgorCQkJCW92ZXJyaWRlTWltZVR5cGU6IGZ1bmN0aW9uKCB0eXBlICkgeworCQkJCQlpZiAoIGNvbXBsZXRlZCA9PSBudWxsICkgeworCQkJCQkJcy5taW1lVHlwZSA9IHR5cGU7CisJCQkJCX0KKwkJCQkJcmV0dXJuIHRoaXM7CisJCQkJfSwKKworCQkJCS8vIFN0YXR1cy1kZXBlbmRlbnQgY2FsbGJhY2tzCisJCQkJc3RhdHVzQ29kZTogZnVuY3Rpb24oIG1hcCApIHsKKwkJCQkJdmFyIGNvZGU7CisJCQkJCWlmICggbWFwICkgeworCQkJCQkJaWYgKCBjb21wbGV0ZWQgKSB7CisKKwkJCQkJCQkvLyBFeGVjdXRlIHRoZSBhcHByb3ByaWF0ZSBjYWxsYmFja3MKKwkJCQkJCQlqcVhIUi5hbHdheXMoIG1hcFsganFYSFIuc3RhdHVzIF0gKTsKKwkJCQkJCX0gZWxzZSB7CisKKwkJCQkJCQkvLyBMYXp5LWFkZCB0aGUgbmV3IGNhbGxiYWNrcyBpbiBhIHdheSB0aGF0IHByZXNlcnZlcyBvbGQgb25lcworCQkJCQkJCWZvciAoIGNvZGUgaW4gbWFwICkgeworCQkJCQkJCQlzdGF0dXNDb2RlWyBjb2RlIF0gPSBbIHN0YXR1c0NvZGVbIGNvZGUgXSwgbWFwWyBjb2RlIF0gXTsKKwkJCQkJCQl9CisJCQkJCQl9CisJCQkJCX0KKwkJCQkJcmV0dXJuIHRoaXM7CisJCQkJfSwKKworCQkJCS8vIENhbmNlbCB0aGUgcmVxdWVzdAorCQkJCWFib3J0OiBmdW5jdGlvbiggc3RhdHVzVGV4dCApIHsKKwkJCQkJdmFyIGZpbmFsVGV4dCA9IHN0YXR1c1RleHQgfHwgc3RyQWJvcnQ7CisJCQkJCWlmICggdHJhbnNwb3J0ICkgeworCQkJCQkJdHJhbnNwb3J0LmFib3J0KCBmaW5hbFRleHQgKTsKKwkJCQkJfQorCQkJCQlkb25lKCAwLCBmaW5hbFRleHQgKTsKKwkJCQkJcmV0dXJuIHRoaXM7CisJCQkJfQorCQkJfTsKKworCQkvLyBBdHRhY2ggZGVmZXJyZWRzCisJCWRlZmVycmVkLnByb21pc2UoIGpxWEhSICk7CisKKwkJLy8gQWRkIHByb3RvY29sIGlmIG5vdCBwcm92aWRlZCAocHJlZmlsdGVycyBtaWdodCBleHBlY3QgaXQpCisJCS8vIEhhbmRsZSBmYWxzeSB1cmwgaW4gdGhlIHNldHRpbmdzIG9iamVjdCAoIzEwMDkzOiBjb25zaXN0ZW5jeSB3aXRoIG9sZCBzaWduYXR1cmUpCisJCS8vIFdlIGFsc28gdXNlIHRoZSB1cmwgcGFyYW1ldGVyIGlmIGF2YWlsYWJsZQorCQlzLnVybCA9ICggKCB1cmwgfHwgcy51cmwgfHwgbG9jYXRpb24uaHJlZiApICsgIiIgKQorCQkJLnJlcGxhY2UoIHJwcm90b2NvbCwgbG9jYXRpb24ucHJvdG9jb2wgKyAiLy8iICk7CisKKwkJLy8gQWxpYXMgbWV0aG9kIG9wdGlvbiB0byB0eXBlIGFzIHBlciB0aWNrZXQgIzEyMDA0CisJCXMudHlwZSA9IG9wdGlvbnMubWV0aG9kIHx8IG9wdGlvbnMudHlwZSB8fCBzLm1ldGhvZCB8fCBzLnR5cGU7CisKKwkJLy8gRXh0cmFjdCBkYXRhVHlwZXMgbGlzdAorCQlzLmRhdGFUeXBlcyA9ICggcy5kYXRhVHlwZSB8fCAiKiIgKS50b0xvd2VyQ2FzZSgpLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgWyAiIiBdOworCisJCS8vIEEgY3Jvc3MtZG9tYWluIHJlcXVlc3QgaXMgaW4gb3JkZXIgd2hlbiB0aGUgb3JpZ2luIGRvZXNuJ3QgbWF0Y2ggdGhlIGN1cnJlbnQgb3JpZ2luLgorCQlpZiAoIHMuY3Jvc3NEb21haW4gPT0gbnVsbCApIHsKKwkJCXVybEFuY2hvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJhIiApOworCisJCQkvLyBTdXBwb3J0OiBJRSA8PTggLSAxMSwgRWRnZSAxMiAtIDEzCisJCQkvLyBJRSB0aHJvd3MgZXhjZXB0aW9uIG9uIGFjY2Vzc2luZyB0aGUgaHJlZiBwcm9wZXJ0eSBpZiB1cmwgaXMgbWFsZm9ybWVkLAorCQkJLy8gZS5nLiBodHRwOi8vZXhhbXBsZS5jb206ODB4LworCQkJdHJ5IHsKKwkJCQl1cmxBbmNob3IuaHJlZiA9IHMudXJsOworCisJCQkJLy8gU3VwcG9ydDogSUUgPD04IC0gMTEgb25seQorCQkJCS8vIEFuY2hvcidzIGhvc3QgcHJvcGVydHkgaXNuJ3QgY29ycmVjdGx5IHNldCB3aGVuIHMudXJsIGlzIHJlbGF0aXZlCisJCQkJdXJsQW5jaG9yLmhyZWYgPSB1cmxBbmNob3IuaHJlZjsKKwkJCQlzLmNyb3NzRG9tYWluID0gb3JpZ2luQW5jaG9yLnByb3RvY29sICsgIi8vIiArIG9yaWdpbkFuY2hvci5ob3N0ICE9PQorCQkJCQl1cmxBbmNob3IucHJvdG9jb2wgKyAiLy8iICsgdXJsQW5jaG9yLmhvc3Q7CisJCQl9IGNhdGNoICggZSApIHsKKworCQkJCS8vIElmIHRoZXJlIGlzIGFuIGVycm9yIHBhcnNpbmcgdGhlIFVSTCwgYXNzdW1lIGl0IGlzIGNyb3NzRG9tYWluLAorCQkJCS8vIGl0IGNhbiBiZSByZWplY3RlZCBieSB0aGUgdHJhbnNwb3J0IGlmIGl0IGlzIGludmFsaWQKKwkJCQlzLmNyb3NzRG9tYWluID0gdHJ1ZTsKKwkJCX0KKwkJfQorCisJCS8vIENvbnZlcnQgZGF0YSBpZiBub3QgYWxyZWFkeSBhIHN0cmluZworCQlpZiAoIHMuZGF0YSAmJiBzLnByb2Nlc3NEYXRhICYmIHR5cGVvZiBzLmRhdGEgIT09ICJzdHJpbmciICkgeworCQkJcy5kYXRhID0galF1ZXJ5LnBhcmFtKCBzLmRhdGEsIHMudHJhZGl0aW9uYWwgKTsKKwkJfQorCisJCS8vIEFwcGx5IHByZWZpbHRlcnMKKwkJaW5zcGVjdFByZWZpbHRlcnNPclRyYW5zcG9ydHMoIHByZWZpbHRlcnMsIHMsIG9wdGlvbnMsIGpxWEhSICk7CisKKwkJLy8gSWYgcmVxdWVzdCB3YXMgYWJvcnRlZCBpbnNpZGUgYSBwcmVmaWx0ZXIsIHN0b3AgdGhlcmUKKwkJaWYgKCBjb21wbGV0ZWQgKSB7CisJCQlyZXR1cm4ganFYSFI7CisJCX0KKworCQkvLyBXZSBjYW4gZmlyZSBnbG9iYWwgZXZlbnRzIGFzIG9mIG5vdyBpZiBhc2tlZCB0bworCQkvLyBEb24ndCBmaXJlIGV2ZW50cyBpZiBqUXVlcnkuZXZlbnQgaXMgdW5kZWZpbmVkIGluIGFuIEFNRC11c2FnZSBzY2VuYXJpbyAoIzE1MTE4KQorCQlmaXJlR2xvYmFscyA9IGpRdWVyeS5ldmVudCAmJiBzLmdsb2JhbDsKKworCQkvLyBXYXRjaCBmb3IgYSBuZXcgc2V0IG9mIHJlcXVlc3RzCisJCWlmICggZmlyZUdsb2JhbHMgJiYgalF1ZXJ5LmFjdGl2ZSsrID09PSAwICkgeworCQkJalF1ZXJ5LmV2ZW50LnRyaWdnZXIoICJhamF4U3RhcnQiICk7CisJCX0KKworCQkvLyBVcHBlcmNhc2UgdGhlIHR5cGUKKwkJcy50eXBlID0gcy50eXBlLnRvVXBwZXJDYXNlKCk7CisKKwkJLy8gRGV0ZXJtaW5lIGlmIHJlcXVlc3QgaGFzIGNvbnRlbnQKKwkJcy5oYXNDb250ZW50ID0gIXJub0NvbnRlbnQudGVzdCggcy50eXBlICk7CisKKwkJLy8gU2F2ZSB0aGUgVVJMIGluIGNhc2Ugd2UncmUgdG95aW5nIHdpdGggdGhlIElmLU1vZGlmaWVkLVNpbmNlCisJCS8vIGFuZC9vciBJZi1Ob25lLU1hdGNoIGhlYWRlciBsYXRlciBvbgorCQkvLyBSZW1vdmUgaGFzaCB0byBzaW1wbGlmeSB1cmwgbWFuaXB1bGF0aW9uCisJCWNhY2hlVVJMID0gcy51cmwucmVwbGFjZSggcmhhc2gsICIiICk7CisKKwkJLy8gTW9yZSBvcHRpb25zIGhhbmRsaW5nIGZvciByZXF1ZXN0cyB3aXRoIG5vIGNvbnRlbnQKKwkJaWYgKCAhcy5oYXNDb250ZW50ICkgeworCisJCQkvLyBSZW1lbWJlciB0aGUgaGFzaCBzbyB3ZSBjYW4gcHV0IGl0IGJhY2sKKwkJCXVuY2FjaGVkID0gcy51cmwuc2xpY2UoIGNhY2hlVVJMLmxlbmd0aCApOworCisJCQkvLyBJZiBkYXRhIGlzIGF2YWlsYWJsZSwgYXBwZW5kIGRhdGEgdG8gdXJsCisJCQlpZiAoIHMuZGF0YSApIHsKKwkJCQljYWNoZVVSTCArPSAoIHJxdWVyeS50ZXN0KCBjYWNoZVVSTCApID8gIiYiIDogIj8iICkgKyBzLmRhdGE7CisKKwkJCQkvLyAjOTY4MjogcmVtb3ZlIGRhdGEgc28gdGhhdCBpdCdzIG5vdCB1c2VkIGluIGFuIGV2ZW50dWFsIHJldHJ5CisJCQkJZGVsZXRlIHMuZGF0YTsKKwkJCX0KKworCQkJLy8gQWRkIG9yIHVwZGF0ZSBhbnRpLWNhY2hlIHBhcmFtIGlmIG5lZWRlZAorCQkJaWYgKCBzLmNhY2hlID09PSBmYWxzZSApIHsKKwkJCQljYWNoZVVSTCA9IGNhY2hlVVJMLnJlcGxhY2UoIHJhbnRpQ2FjaGUsICIkMSIgKTsKKwkJCQl1bmNhY2hlZCA9ICggcnF1ZXJ5LnRlc3QoIGNhY2hlVVJMICkgPyAiJiIgOiAiPyIgKSArICJfPSIgKyAoIG5vbmNlKysgKSArIHVuY2FjaGVkOworCQkJfQorCisJCQkvLyBQdXQgaGFzaCBhbmQgYW50aS1jYWNoZSBvbiB0aGUgVVJMIHRoYXQgd2lsbCBiZSByZXF1ZXN0ZWQgKGdoLTE3MzIpCisJCQlzLnVybCA9IGNhY2hlVVJMICsgdW5jYWNoZWQ7CisKKwkJLy8gQ2hhbmdlICclMjAnIHRvICcrJyBpZiB0aGlzIGlzIGVuY29kZWQgZm9ybSBib2R5IGNvbnRlbnQgKGdoLTI2NTgpCisJCX0gZWxzZSBpZiAoIHMuZGF0YSAmJiBzLnByb2Nlc3NEYXRhICYmCisJCQkoIHMuY29udGVudFR5cGUgfHwgIiIgKS5pbmRleE9mKCAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiApID09PSAwICkgeworCQkJcy5kYXRhID0gcy5kYXRhLnJlcGxhY2UoIHIyMCwgIisiICk7CisJCX0KKworCQkvLyBTZXQgdGhlIElmLU1vZGlmaWVkLVNpbmNlIGFuZC9vciBJZi1Ob25lLU1hdGNoIGhlYWRlciwgaWYgaW4gaWZNb2RpZmllZCBtb2RlLgorCQlpZiAoIHMuaWZNb2RpZmllZCApIHsKKwkJCWlmICggalF1ZXJ5Lmxhc3RNb2RpZmllZFsgY2FjaGVVUkwgXSApIHsKKwkJCQlqcVhIUi5zZXRSZXF1ZXN0SGVhZGVyKCAiSWYtTW9kaWZpZWQtU2luY2UiLCBqUXVlcnkubGFzdE1vZGlmaWVkWyBjYWNoZVVSTCBdICk7CisJCQl9CisJCQlpZiAoIGpRdWVyeS5ldGFnWyBjYWNoZVVSTCBdICkgeworCQkJCWpxWEhSLnNldFJlcXVlc3RIZWFkZXIoICJJZi1Ob25lLU1hdGNoIiwgalF1ZXJ5LmV0YWdbIGNhY2hlVVJMIF0gKTsKKwkJCX0KKwkJfQorCisJCS8vIFNldCB0aGUgY29ycmVjdCBoZWFkZXIsIGlmIGRhdGEgaXMgYmVpbmcgc2VudAorCQlpZiAoIHMuZGF0YSAmJiBzLmhhc0NvbnRlbnQgJiYgcy5jb250ZW50VHlwZSAhPT0gZmFsc2UgfHwgb3B0aW9ucy5jb250ZW50VHlwZSApIHsKKwkJCWpxWEhSLnNldFJlcXVlc3RIZWFkZXIoICJDb250ZW50LVR5cGUiLCBzLmNvbnRlbnRUeXBlICk7CisJCX0KKworCQkvLyBTZXQgdGhlIEFjY2VwdHMgaGVhZGVyIGZvciB0aGUgc2VydmVyLCBkZXBlbmRpbmcgb24gdGhlIGRhdGFUeXBlCisJCWpxWEhSLnNldFJlcXVlc3RIZWFkZXIoCisJCQkiQWNjZXB0IiwKKwkJCXMuZGF0YVR5cGVzWyAwIF0gJiYgcy5hY2NlcHRzWyBzLmRhdGFUeXBlc1sgMCBdIF0gPworCQkJCXMuYWNjZXB0c1sgcy5kYXRhVHlwZXNbIDAgXSBdICsKKwkJCQkJKCBzLmRhdGFUeXBlc1sgMCBdICE9PSAiKiIgPyAiLCAiICsgYWxsVHlwZXMgKyAiOyBxPTAuMDEiIDogIiIgKSA6CisJCQkJcy5hY2NlcHRzWyAiKiIgXQorCQkpOworCisJCS8vIENoZWNrIGZvciBoZWFkZXJzIG9wdGlvbgorCQlmb3IgKCBpIGluIHMuaGVhZGVycyApIHsKKwkJCWpxWEhSLnNldFJlcXVlc3RIZWFkZXIoIGksIHMuaGVhZGVyc1sgaSBdICk7CisJCX0KKworCQkvLyBBbGxvdyBjdXN0b20gaGVhZGVycy9taW1ldHlwZXMgYW5kIGVhcmx5IGFib3J0CisJCWlmICggcy5iZWZvcmVTZW5kICYmCisJCQkoIHMuYmVmb3JlU2VuZC5jYWxsKCBjYWxsYmFja0NvbnRleHQsIGpxWEhSLCBzICkgPT09IGZhbHNlIHx8IGNvbXBsZXRlZCApICkgeworCisJCQkvLyBBYm9ydCBpZiBub3QgZG9uZSBhbHJlYWR5IGFuZCByZXR1cm4KKwkJCXJldHVybiBqcVhIUi5hYm9ydCgpOworCQl9CisKKwkJLy8gQWJvcnRpbmcgaXMgbm8gbG9uZ2VyIGEgY2FuY2VsbGF0aW9uCisJCXN0ckFib3J0ID0gImFib3J0IjsKKworCQkvLyBJbnN0YWxsIGNhbGxiYWNrcyBvbiBkZWZlcnJlZHMKKwkJY29tcGxldGVEZWZlcnJlZC5hZGQoIHMuY29tcGxldGUgKTsKKwkJanFYSFIuZG9uZSggcy5zdWNjZXNzICk7CisJCWpxWEhSLmZhaWwoIHMuZXJyb3IgKTsKKworCQkvLyBHZXQgdHJhbnNwb3J0CisJCXRyYW5zcG9ydCA9IGluc3BlY3RQcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKCB0cmFuc3BvcnRzLCBzLCBvcHRpb25zLCBqcVhIUiApOworCisJCS8vIElmIG5vIHRyYW5zcG9ydCwgd2UgYXV0by1hYm9ydAorCQlpZiAoICF0cmFuc3BvcnQgKSB7CisJCQlkb25lKCAtMSwgIk5vIFRyYW5zcG9ydCIgKTsKKwkJfSBlbHNlIHsKKwkJCWpxWEhSLnJlYWR5U3RhdGUgPSAxOworCisJCQkvLyBTZW5kIGdsb2JhbCBldmVudAorCQkJaWYgKCBmaXJlR2xvYmFscyApIHsKKwkJCQlnbG9iYWxFdmVudENvbnRleHQudHJpZ2dlciggImFqYXhTZW5kIiwgWyBqcVhIUiwgcyBdICk7CisJCQl9CisKKwkJCS8vIElmIHJlcXVlc3Qgd2FzIGFib3J0ZWQgaW5zaWRlIGFqYXhTZW5kLCBzdG9wIHRoZXJlCisJCQlpZiAoIGNvbXBsZXRlZCApIHsKKwkJCQlyZXR1cm4ganFYSFI7CisJCQl9CisKKwkJCS8vIFRpbWVvdXQKKwkJCWlmICggcy5hc3luYyAmJiBzLnRpbWVvdXQgPiAwICkgeworCQkJCXRpbWVvdXRUaW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsKKwkJCQkJanFYSFIuYWJvcnQoICJ0aW1lb3V0IiApOworCQkJCX0sIHMudGltZW91dCApOworCQkJfQorCisJCQl0cnkgeworCQkJCWNvbXBsZXRlZCA9IGZhbHNlOworCQkJCXRyYW5zcG9ydC5zZW5kKCByZXF1ZXN0SGVhZGVycywgZG9uZSApOworCQkJfSBjYXRjaCAoIGUgKSB7CisKKwkJCQkvLyBSZXRocm93IHBvc3QtY29tcGxldGlvbiBleGNlcHRpb25zCisJCQkJaWYgKCBjb21wbGV0ZWQgKSB7CisJCQkJCXRocm93IGU7CisJCQkJfQorCisJCQkJLy8gUHJvcGFnYXRlIG90aGVycyBhcyByZXN1bHRzCisJCQkJZG9uZSggLTEsIGUgKTsKKwkJCX0KKwkJfQorCisJCS8vIENhbGxiYWNrIGZvciB3aGVuIGV2ZXJ5dGhpbmcgaXMgZG9uZQorCQlmdW5jdGlvbiBkb25lKCBzdGF0dXMsIG5hdGl2ZVN0YXR1c1RleHQsIHJlc3BvbnNlcywgaGVhZGVycyApIHsKKwkJCXZhciBpc1N1Y2Nlc3MsIHN1Y2Nlc3MsIGVycm9yLCByZXNwb25zZSwgbW9kaWZpZWQsCisJCQkJc3RhdHVzVGV4dCA9IG5hdGl2ZVN0YXR1c1RleHQ7CisKKwkJCS8vIElnbm9yZSByZXBlYXQgaW52b2NhdGlvbnMKKwkJCWlmICggY29tcGxldGVkICkgeworCQkJCXJldHVybjsKKwkJCX0KKworCQkJY29tcGxldGVkID0gdHJ1ZTsKKworCQkJLy8gQ2xlYXIgdGltZW91dCBpZiBpdCBleGlzdHMKKwkJCWlmICggdGltZW91dFRpbWVyICkgeworCQkJCXdpbmRvdy5jbGVhclRpbWVvdXQoIHRpbWVvdXRUaW1lciApOworCQkJfQorCisJCQkvLyBEZXJlZmVyZW5jZSB0cmFuc3BvcnQgZm9yIGVhcmx5IGdhcmJhZ2UgY29sbGVjdGlvbgorCQkJLy8gKG5vIG1hdHRlciBob3cgbG9uZyB0aGUganFYSFIgb2JqZWN0IHdpbGwgYmUgdXNlZCkKKwkJCXRyYW5zcG9ydCA9IHVuZGVmaW5lZDsKKworCQkJLy8gQ2FjaGUgcmVzcG9uc2UgaGVhZGVycworCQkJcmVzcG9uc2VIZWFkZXJzU3RyaW5nID0gaGVhZGVycyB8fCAiIjsKKworCQkJLy8gU2V0IHJlYWR5U3RhdGUKKwkJCWpxWEhSLnJlYWR5U3RhdGUgPSBzdGF0dXMgPiAwID8gNCA6IDA7CisKKwkJCS8vIERldGVybWluZSBpZiBzdWNjZXNzZnVsCisJCQlpc1N1Y2Nlc3MgPSBzdGF0dXMgPj0gMjAwICYmIHN0YXR1cyA8IDMwMCB8fCBzdGF0dXMgPT09IDMwNDsKKworCQkJLy8gR2V0IHJlc3BvbnNlIGRhdGEKKwkJCWlmICggcmVzcG9uc2VzICkgeworCQkJCXJlc3BvbnNlID0gYWpheEhhbmRsZVJlc3BvbnNlcyggcywganFYSFIsIHJlc3BvbnNlcyApOworCQkJfQorCisJCQkvLyBDb252ZXJ0IG5vIG1hdHRlciB3aGF0ICh0aGF0IHdheSByZXNwb25zZVhYWCBmaWVsZHMgYXJlIGFsd2F5cyBzZXQpCisJCQlyZXNwb25zZSA9IGFqYXhDb252ZXJ0KCBzLCByZXNwb25zZSwganFYSFIsIGlzU3VjY2VzcyApOworCisJCQkvLyBJZiBzdWNjZXNzZnVsLCBoYW5kbGUgdHlwZSBjaGFpbmluZworCQkJaWYgKCBpc1N1Y2Nlc3MgKSB7CisKKwkJCQkvLyBTZXQgdGhlIElmLU1vZGlmaWVkLVNpbmNlIGFuZC9vciBJZi1Ob25lLU1hdGNoIGhlYWRlciwgaWYgaW4gaWZNb2RpZmllZCBtb2RlLgorCQkJCWlmICggcy5pZk1vZGlmaWVkICkgeworCQkJCQltb2RpZmllZCA9IGpxWEhSLmdldFJlc3BvbnNlSGVhZGVyKCAiTGFzdC1Nb2RpZmllZCIgKTsKKwkJCQkJaWYgKCBtb2RpZmllZCApIHsKKwkJCQkJCWpRdWVyeS5sYXN0TW9kaWZpZWRbIGNhY2hlVVJMIF0gPSBtb2RpZmllZDsKKwkJCQkJfQorCQkJCQltb2RpZmllZCA9IGpxWEhSLmdldFJlc3BvbnNlSGVhZGVyKCAiZXRhZyIgKTsKKwkJCQkJaWYgKCBtb2RpZmllZCApIHsKKwkJCQkJCWpRdWVyeS5ldGFnWyBjYWNoZVVSTCBdID0gbW9kaWZpZWQ7CisJCQkJCX0KKwkJCQl9CisKKwkJCQkvLyBpZiBubyBjb250ZW50CisJCQkJaWYgKCBzdGF0dXMgPT09IDIwNCB8fCBzLnR5cGUgPT09ICJIRUFEIiApIHsKKwkJCQkJc3RhdHVzVGV4dCA9ICJub2NvbnRlbnQiOworCisJCQkJLy8gaWYgbm90IG1vZGlmaWVkCisJCQkJfSBlbHNlIGlmICggc3RhdHVzID09PSAzMDQgKSB7CisJCQkJCXN0YXR1c1RleHQgPSAibm90bW9kaWZpZWQiOworCisJCQkJLy8gSWYgd2UgaGF2ZSBkYXRhLCBsZXQncyBjb252ZXJ0IGl0CisJCQkJfSBlbHNlIHsKKwkJCQkJc3RhdHVzVGV4dCA9IHJlc3BvbnNlLnN0YXRlOworCQkJCQlzdWNjZXNzID0gcmVzcG9uc2UuZGF0YTsKKwkJCQkJZXJyb3IgPSByZXNwb25zZS5lcnJvcjsKKwkJCQkJaXNTdWNjZXNzID0gIWVycm9yOworCQkJCX0KKwkJCX0gZWxzZSB7CisKKwkJCQkvLyBFeHRyYWN0IGVycm9yIGZyb20gc3RhdHVzVGV4dCBhbmQgbm9ybWFsaXplIGZvciBub24tYWJvcnRzCisJCQkJZXJyb3IgPSBzdGF0dXNUZXh0OworCQkJCWlmICggc3RhdHVzIHx8ICFzdGF0dXNUZXh0ICkgeworCQkJCQlzdGF0dXNUZXh0ID0gImVycm9yIjsKKwkJCQkJaWYgKCBzdGF0dXMgPCAwICkgeworCQkJCQkJc3RhdHVzID0gMDsKKwkJCQkJfQorCQkJCX0KKwkJCX0KKworCQkJLy8gU2V0IGRhdGEgZm9yIHRoZSBmYWtlIHhociBvYmplY3QKKwkJCWpxWEhSLnN0YXR1cyA9IHN0YXR1czsKKwkJCWpxWEhSLnN0YXR1c1RleHQgPSAoIG5hdGl2ZVN0YXR1c1RleHQgfHwgc3RhdHVzVGV4dCApICsgIiI7CisKKwkJCS8vIFN1Y2Nlc3MvRXJyb3IKKwkJCWlmICggaXNTdWNjZXNzICkgeworCQkJCWRlZmVycmVkLnJlc29sdmVXaXRoKCBjYWxsYmFja0NvbnRleHQsIFsgc3VjY2Vzcywgc3RhdHVzVGV4dCwganFYSFIgXSApOworCQkJfSBlbHNlIHsKKwkJCQlkZWZlcnJlZC5yZWplY3RXaXRoKCBjYWxsYmFja0NvbnRleHQsIFsganFYSFIsIHN0YXR1c1RleHQsIGVycm9yIF0gKTsKKwkJCX0KKworCQkJLy8gU3RhdHVzLWRlcGVuZGVudCBjYWxsYmFja3MKKwkJCWpxWEhSLnN0YXR1c0NvZGUoIHN0YXR1c0NvZGUgKTsKKwkJCXN0YXR1c0NvZGUgPSB1bmRlZmluZWQ7CisKKwkJCWlmICggZmlyZUdsb2JhbHMgKSB7CisJCQkJZ2xvYmFsRXZlbnRDb250ZXh0LnRyaWdnZXIoIGlzU3VjY2VzcyA/ICJhamF4U3VjY2VzcyIgOiAiYWpheEVycm9yIiwKKwkJCQkJWyBqcVhIUiwgcywgaXNTdWNjZXNzID8gc3VjY2VzcyA6IGVycm9yIF0gKTsKKwkJCX0KKworCQkJLy8gQ29tcGxldGUKKwkJCWNvbXBsZXRlRGVmZXJyZWQuZmlyZVdpdGgoIGNhbGxiYWNrQ29udGV4dCwgWyBqcVhIUiwgc3RhdHVzVGV4dCBdICk7CisKKwkJCWlmICggZmlyZUdsb2JhbHMgKSB7CisJCQkJZ2xvYmFsRXZlbnRDb250ZXh0LnRyaWdnZXIoICJhamF4Q29tcGxldGUiLCBbIGpxWEhSLCBzIF0gKTsKKworCQkJCS8vIEhhbmRsZSB0aGUgZ2xvYmFsIEFKQVggY291bnRlcgorCQkJCWlmICggISggLS1qUXVlcnkuYWN0aXZlICkgKSB7CisJCQkJCWpRdWVyeS5ldmVudC50cmlnZ2VyKCAiYWpheFN0b3AiICk7CisJCQkJfQorCQkJfQorCQl9CisKKwkJcmV0dXJuIGpxWEhSOworCX0sCisKKwlnZXRKU09OOiBmdW5jdGlvbiggdXJsLCBkYXRhLCBjYWxsYmFjayApIHsKKwkJcmV0dXJuIGpRdWVyeS5nZXQoIHVybCwgZGF0YSwgY2FsbGJhY2ssICJqc29uIiApOworCX0sCisKKwlnZXRTY3JpcHQ6IGZ1bmN0aW9uKCB1cmwsIGNhbGxiYWNrICkgeworCQlyZXR1cm4galF1ZXJ5LmdldCggdXJsLCB1bmRlZmluZWQsIGNhbGxiYWNrLCAic2NyaXB0IiApOworCX0KK30gKTsKKworalF1ZXJ5LmVhY2goIFsgImdldCIsICJwb3N0IiBdLCBmdW5jdGlvbiggaSwgbWV0aG9kICkgeworCWpRdWVyeVsgbWV0aG9kIF0gPSBmdW5jdGlvbiggdXJsLCBkYXRhLCBjYWxsYmFjaywgdHlwZSApIHsKKworCQkvLyBTaGlmdCBhcmd1bWVudHMgaWYgZGF0YSBhcmd1bWVudCB3YXMgb21pdHRlZAorCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCBkYXRhICkgKSB7CisJCQl0eXBlID0gdHlwZSB8fCBjYWxsYmFjazsKKwkJCWNhbGxiYWNrID0gZGF0YTsKKwkJCWRhdGEgPSB1bmRlZmluZWQ7CisJCX0KKworCQkvLyBUaGUgdXJsIGNhbiBiZSBhbiBvcHRpb25zIG9iamVjdCAod2hpY2ggdGhlbiBtdXN0IGhhdmUgLnVybCkKKwkJcmV0dXJuIGpRdWVyeS5hamF4KCBqUXVlcnkuZXh0ZW5kKCB7CisJCQl1cmw6IHVybCwKKwkJCXR5cGU6IG1ldGhvZCwKKwkJCWRhdGFUeXBlOiB0eXBlLAorCQkJZGF0YTogZGF0YSwKKwkJCXN1Y2Nlc3M6IGNhbGxiYWNrCisJCX0sIGpRdWVyeS5pc1BsYWluT2JqZWN0KCB1cmwgKSAmJiB1cmwgKSApOworCX07Cit9ICk7CisKKworalF1ZXJ5Ll9ldmFsVXJsID0gZnVuY3Rpb24oIHVybCApIHsKKwlyZXR1cm4galF1ZXJ5LmFqYXgoIHsKKwkJdXJsOiB1cmwsCisKKwkJLy8gTWFrZSB0aGlzIGV4cGxpY2l0LCBzaW5jZSB1c2VyIGNhbiBvdmVycmlkZSB0aGlzIHRocm91Z2ggYWpheFNldHVwICgjMTEyNjQpCisJCXR5cGU6ICJHRVQiLAorCQlkYXRhVHlwZTogInNjcmlwdCIsCisJCWNhY2hlOiB0cnVlLAorCQlhc3luYzogZmFsc2UsCisJCWdsb2JhbDogZmFsc2UsCisJCSJ0aHJvd3MiOiB0cnVlCisJfSApOworfTsKKworCitqUXVlcnkuZm4uZXh0ZW5kKCB7CisJd3JhcEFsbDogZnVuY3Rpb24oIGh0bWwgKSB7CisJCXZhciB3cmFwOworCisJCWlmICggdGhpc1sgMCBdICkgeworCQkJaWYgKCBqUXVlcnkuaXNGdW5jdGlvbiggaHRtbCApICkgeworCQkJCWh0bWwgPSBodG1sLmNhbGwoIHRoaXNbIDAgXSApOworCQkJfQorCisJCQkvLyBUaGUgZWxlbWVudHMgdG8gd3JhcCB0aGUgdGFyZ2V0IGFyb3VuZAorCQkJd3JhcCA9IGpRdWVyeSggaHRtbCwgdGhpc1sgMCBdLm93bmVyRG9jdW1lbnQgKS5lcSggMCApLmNsb25lKCB0cnVlICk7CisKKwkJCWlmICggdGhpc1sgMCBdLnBhcmVudE5vZGUgKSB7CisJCQkJd3JhcC5pbnNlcnRCZWZvcmUoIHRoaXNbIDAgXSApOworCQkJfQorCisJCQl3cmFwLm1hcCggZnVuY3Rpb24oKSB7CisJCQkJdmFyIGVsZW0gPSB0aGlzOworCisJCQkJd2hpbGUgKCBlbGVtLmZpcnN0RWxlbWVudENoaWxkICkgeworCQkJCQllbGVtID0gZWxlbS5maXJzdEVsZW1lbnRDaGlsZDsKKwkJCQl9CisKKwkJCQlyZXR1cm4gZWxlbTsKKwkJCX0gKS5hcHBlbmQoIHRoaXMgKTsKKwkJfQorCisJCXJldHVybiB0aGlzOworCX0sCisKKwl3cmFwSW5uZXI6IGZ1bmN0aW9uKCBodG1sICkgeworCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCBodG1sICkgKSB7CisJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaSApIHsKKwkJCQlqUXVlcnkoIHRoaXMgKS53cmFwSW5uZXIoIGh0bWwuY2FsbCggdGhpcywgaSApICk7CisJCQl9ICk7CisJCX0KKworCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsKKwkJCXZhciBzZWxmID0galF1ZXJ5KCB0aGlzICksCisJCQkJY29udGVudHMgPSBzZWxmLmNvbnRlbnRzKCk7CisKKwkJCWlmICggY29udGVudHMubGVuZ3RoICkgeworCQkJCWNvbnRlbnRzLndyYXBBbGwoIGh0bWwgKTsKKworCQkJfSBlbHNlIHsKKwkJCQlzZWxmLmFwcGVuZCggaHRtbCApOworCQkJfQorCQl9ICk7CisJfSwKKworCXdyYXA6IGZ1bmN0aW9uKCBodG1sICkgeworCQl2YXIgaXNGdW5jdGlvbiA9IGpRdWVyeS5pc0Z1bmN0aW9uKCBodG1sICk7CisKKwkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oIGkgKSB7CisJCQlqUXVlcnkoIHRoaXMgKS53cmFwQWxsKCBpc0Z1bmN0aW9uID8gaHRtbC5jYWxsKCB0aGlzLCBpICkgOiBodG1sICk7CisJCX0gKTsKKwl9LAorCisJdW53cmFwOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7CisJCXRoaXMucGFyZW50KCBzZWxlY3RvciApLm5vdCggImJvZHkiICkuZWFjaCggZnVuY3Rpb24oKSB7CisJCQlqUXVlcnkoIHRoaXMgKS5yZXBsYWNlV2l0aCggdGhpcy5jaGlsZE5vZGVzICk7CisJCX0gKTsKKwkJcmV0dXJuIHRoaXM7CisJfQorfSApOworCisKK2pRdWVyeS5leHByLnBzZXVkb3MuaGlkZGVuID0gZnVuY3Rpb24oIGVsZW0gKSB7CisJcmV0dXJuICFqUXVlcnkuZXhwci5wc2V1ZG9zLnZpc2libGUoIGVsZW0gKTsKK307CitqUXVlcnkuZXhwci5wc2V1ZG9zLnZpc2libGUgPSBmdW5jdGlvbiggZWxlbSApIHsKKwlyZXR1cm4gISEoIGVsZW0ub2Zmc2V0V2lkdGggfHwgZWxlbS5vZmZzZXRIZWlnaHQgfHwgZWxlbS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCApOworfTsKKworCisKKworalF1ZXJ5LmFqYXhTZXR0aW5ncy54aHIgPSBmdW5jdGlvbigpIHsKKwl0cnkgeworCQlyZXR1cm4gbmV3IHdpbmRvdy5YTUxIdHRwUmVxdWVzdCgpOworCX0gY2F0Y2ggKCBlICkge30KK307CisKK3ZhciB4aHJTdWNjZXNzU3RhdHVzID0geworCisJCS8vIEZpbGUgcHJvdG9jb2wgYWx3YXlzIHlpZWxkcyBzdGF0dXMgY29kZSAwLCBhc3N1bWUgMjAwCisJCTA6IDIwMCwKKworCQkvLyBTdXBwb3J0OiBJRSA8PTkgb25seQorCQkvLyAjMTQ1MDogc29tZXRpbWVzIElFIHJldHVybnMgMTIyMyB3aGVuIGl0IHNob3VsZCBiZSAyMDQKKwkJMTIyMzogMjA0CisJfSwKKwl4aHJTdXBwb3J0ZWQgPSBqUXVlcnkuYWpheFNldHRpbmdzLnhocigpOworCitzdXBwb3J0LmNvcnMgPSAhIXhoclN1cHBvcnRlZCAmJiAoICJ3aXRoQ3JlZGVudGlhbHMiIGluIHhoclN1cHBvcnRlZCApOworc3VwcG9ydC5hamF4ID0geGhyU3VwcG9ydGVkID0gISF4aHJTdXBwb3J0ZWQ7CisKK2pRdWVyeS5hamF4VHJhbnNwb3J0KCBmdW5jdGlvbiggb3B0aW9ucyApIHsKKwl2YXIgY2FsbGJhY2ssIGVycm9yQ2FsbGJhY2s7CisKKwkvLyBDcm9zcyBkb21haW4gb25seSBhbGxvd2VkIGlmIHN1cHBvcnRlZCB0aHJvdWdoIFhNTEh0dHBSZXF1ZXN0CisJaWYgKCBzdXBwb3J0LmNvcnMgfHwgeGhyU3VwcG9ydGVkICYmICFvcHRpb25zLmNyb3NzRG9tYWluICkgeworCQlyZXR1cm4geworCQkJc2VuZDogZnVuY3Rpb24oIGhlYWRlcnMsIGNvbXBsZXRlICkgeworCQkJCXZhciBpLAorCQkJCQl4aHIgPSBvcHRpb25zLnhocigpOworCisJCQkJeGhyLm9wZW4oCisJCQkJCW9wdGlvbnMudHlwZSwKKwkJCQkJb3B0aW9ucy51cmwsCisJCQkJCW9wdGlvbnMuYXN5bmMsCisJCQkJCW9wdGlvbnMudXNlcm5hbWUsCisJCQkJCW9wdGlvbnMucGFzc3dvcmQKKwkJCQkpOworCisJCQkJLy8gQXBwbHkgY3VzdG9tIGZpZWxkcyBpZiBwcm92aWRlZAorCQkJCWlmICggb3B0aW9ucy54aHJGaWVsZHMgKSB7CisJCQkJCWZvciAoIGkgaW4gb3B0aW9ucy54aHJGaWVsZHMgKSB7CisJCQkJCQl4aHJbIGkgXSA9IG9wdGlvbnMueGhyRmllbGRzWyBpIF07CisJCQkJCX0KKwkJCQl9CisKKwkJCQkvLyBPdmVycmlkZSBtaW1lIHR5cGUgaWYgbmVlZGVkCisJCQkJaWYgKCBvcHRpb25zLm1pbWVUeXBlICYmIHhoci5vdmVycmlkZU1pbWVUeXBlICkgeworCQkJCQl4aHIub3ZlcnJpZGVNaW1lVHlwZSggb3B0aW9ucy5taW1lVHlwZSApOworCQkJCX0KKworCQkJCS8vIFgtUmVxdWVzdGVkLVdpdGggaGVhZGVyCisJCQkJLy8gRm9yIGNyb3NzLWRvbWFpbiByZXF1ZXN0cywgc2VlaW5nIGFzIGNvbmRpdGlvbnMgZm9yIGEgcHJlZmxpZ2h0IGFyZQorCQkJCS8vIGFraW4gdG8gYSBqaWdzYXcgcHV6emxlLCB3ZSBzaW1wbHkgbmV2ZXIgc2V0IGl0IHRvIGJlIHN1cmUuCisJCQkJLy8gKGl0IGNhbiBhbHdheXMgYmUgc2V0IG9uIGEgcGVyLXJlcXVlc3QgYmFzaXMgb3IgZXZlbiB1c2luZyBhamF4U2V0dXApCisJCQkJLy8gRm9yIHNhbWUtZG9tYWluIHJlcXVlc3RzLCB3b24ndCBjaGFuZ2UgaGVhZGVyIGlmIGFscmVhZHkgcHJvdmlkZWQuCisJCQkJaWYgKCAhb3B0aW9ucy5jcm9zc0RvbWFpbiAmJiAhaGVhZGVyc1sgIlgtUmVxdWVzdGVkLVdpdGgiIF0gKSB7CisJCQkJCWhlYWRlcnNbICJYLVJlcXVlc3RlZC1XaXRoIiBdID0gIlhNTEh0dHBSZXF1ZXN0IjsKKwkJCQl9CisKKwkJCQkvLyBTZXQgaGVhZGVycworCQkJCWZvciAoIGkgaW4gaGVhZGVycyApIHsKKwkJCQkJeGhyLnNldFJlcXVlc3RIZWFkZXIoIGksIGhlYWRlcnNbIGkgXSApOworCQkJCX0KKworCQkJCS8vIENhbGxiYWNrCisJCQkJY2FsbGJhY2sgPSBmdW5jdGlvbiggdHlwZSApIHsKKwkJCQkJcmV0dXJuIGZ1bmN0aW9uKCkgeworCQkJCQkJaWYgKCBjYWxsYmFjayApIHsKKwkJCQkJCQljYWxsYmFjayA9IGVycm9yQ2FsbGJhY2sgPSB4aHIub25sb2FkID0KKwkJCQkJCQkJeGhyLm9uZXJyb3IgPSB4aHIub25hYm9ydCA9IHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsOworCisJCQkJCQkJaWYgKCB0eXBlID09PSAiYWJvcnQiICkgeworCQkJCQkJCQl4aHIuYWJvcnQoKTsKKwkJCQkJCQl9IGVsc2UgaWYgKCB0eXBlID09PSAiZXJyb3IiICkgeworCisJCQkJCQkJCS8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5CisJCQkJCQkJCS8vIE9uIGEgbWFudWFsIG5hdGl2ZSBhYm9ydCwgSUU5IHRocm93cworCQkJCQkJCQkvLyBlcnJvcnMgb24gYW55IHByb3BlcnR5IGFjY2VzcyB0aGF0IGlzIG5vdCByZWFkeVN0YXRlCisJCQkJCQkJCWlmICggdHlwZW9mIHhoci5zdGF0dXMgIT09ICJudW1iZXIiICkgeworCQkJCQkJCQkJY29tcGxldGUoIDAsICJlcnJvciIgKTsKKwkJCQkJCQkJfSBlbHNlIHsKKwkJCQkJCQkJCWNvbXBsZXRlKAorCisJCQkJCQkJCQkJLy8gRmlsZTogcHJvdG9jb2wgYWx3YXlzIHlpZWxkcyBzdGF0dXMgMDsgc2VlICM4NjA1LCAjMTQyMDcKKwkJCQkJCQkJCQl4aHIuc3RhdHVzLAorCQkJCQkJCQkJCXhoci5zdGF0dXNUZXh0CisJCQkJCQkJCQkpOworCQkJCQkJCQl9CisJCQkJCQkJfSBlbHNlIHsKKwkJCQkJCQkJY29tcGxldGUoCisJCQkJCQkJCQl4aHJTdWNjZXNzU3RhdHVzWyB4aHIuc3RhdHVzIF0gfHwgeGhyLnN0YXR1cywKKwkJCQkJCQkJCXhoci5zdGF0dXNUZXh0LAorCisJCQkJCQkJCQkvLyBTdXBwb3J0OiBJRSA8PTkgb25seQorCQkJCQkJCQkJLy8gSUU5IGhhcyBubyBYSFIyIGJ1dCB0aHJvd3Mgb24gYmluYXJ5ICh0cmFjLTExNDI2KQorCQkJCQkJCQkJLy8gRm9yIFhIUjIgbm9uLXRleHQsIGxldCB0aGUgY2FsbGVyIGhhbmRsZSBpdCAoZ2gtMjQ5OCkKKwkJCQkJCQkJCSggeGhyLnJlc3BvbnNlVHlwZSB8fCAidGV4dCIgKSAhPT0gInRleHQiICB8fAorCQkJCQkJCQkJdHlwZW9mIHhoci5yZXNwb25zZVRleHQgIT09ICJzdHJpbmciID8KKwkJCQkJCQkJCQl7IGJpbmFyeTogeGhyLnJlc3BvbnNlIH0gOgorCQkJCQkJCQkJCXsgdGV4dDogeGhyLnJlc3BvbnNlVGV4dCB9LAorCQkJCQkJCQkJeGhyLmdldEFsbFJlc3BvbnNlSGVhZGVycygpCisJCQkJCQkJCSk7CisJCQkJCQkJfQorCQkJCQkJfQorCQkJCQl9OworCQkJCX07CisKKwkJCQkvLyBMaXN0ZW4gdG8gZXZlbnRzCisJCQkJeGhyLm9ubG9hZCA9IGNhbGxiYWNrKCk7CisJCQkJZXJyb3JDYWxsYmFjayA9IHhoci5vbmVycm9yID0gY2FsbGJhY2soICJlcnJvciIgKTsKKworCQkJCS8vIFN1cHBvcnQ6IElFIDkgb25seQorCQkJCS8vIFVzZSBvbnJlYWR5c3RhdGVjaGFuZ2UgdG8gcmVwbGFjZSBvbmFib3J0CisJCQkJLy8gdG8gaGFuZGxlIHVuY2F1Z2h0IGFib3J0cworCQkJCWlmICggeGhyLm9uYWJvcnQgIT09IHVuZGVmaW5lZCApIHsKKwkJCQkJeGhyLm9uYWJvcnQgPSBlcnJvckNhbGxiYWNrOworCQkJCX0gZWxzZSB7CisJCQkJCXhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKKworCQkJCQkJLy8gQ2hlY2sgcmVhZHlTdGF0ZSBiZWZvcmUgdGltZW91dCBhcyBpdCBjaGFuZ2VzCisJCQkJCQlpZiAoIHhoci5yZWFkeVN0YXRlID09PSA0ICkgeworCisJCQkJCQkJLy8gQWxsb3cgb25lcnJvciB0byBiZSBjYWxsZWQgZmlyc3QsCisJCQkJCQkJLy8gYnV0IHRoYXQgd2lsbCBub3QgaGFuZGxlIGEgbmF0aXZlIGFib3J0CisJCQkJCQkJLy8gQWxzbywgc2F2ZSBlcnJvckNhbGxiYWNrIHRvIGEgdmFyaWFibGUKKwkJCQkJCQkvLyBhcyB4aHIub25lcnJvciBjYW5ub3QgYmUgYWNjZXNzZWQKKwkJCQkJCQl3aW5kb3cuc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CisJCQkJCQkJCWlmICggY2FsbGJhY2sgKSB7CisJCQkJCQkJCQllcnJvckNhbGxiYWNrKCk7CisJCQkJCQkJCX0KKwkJCQkJCQl9ICk7CisJCQkJCQl9CisJCQkJCX07CisJCQkJfQorCisJCQkJLy8gQ3JlYXRlIHRoZSBhYm9ydCBjYWxsYmFjaworCQkJCWNhbGxiYWNrID0gY2FsbGJhY2soICJhYm9ydCIgKTsKKworCQkJCXRyeSB7CisKKwkJCQkJLy8gRG8gc2VuZCB0aGUgcmVxdWVzdCAodGhpcyBtYXkgcmFpc2UgYW4gZXhjZXB0aW9uKQorCQkJCQl4aHIuc2VuZCggb3B0aW9ucy5oYXNDb250ZW50ICYmIG9wdGlvbnMuZGF0YSB8fCBudWxsICk7CisJCQkJfSBjYXRjaCAoIGUgKSB7CisKKwkJCQkJLy8gIzE0NjgzOiBPbmx5IHJldGhyb3cgaWYgdGhpcyBoYXNuJ3QgYmVlbiBub3RpZmllZCBhcyBhbiBlcnJvciB5ZXQKKwkJCQkJaWYgKCBjYWxsYmFjayApIHsKKwkJCQkJCXRocm93IGU7CisJCQkJCX0KKwkJCQl9CisJCQl9LAorCisJCQlhYm9ydDogZnVuY3Rpb24oKSB7CisJCQkJaWYgKCBjYWxsYmFjayApIHsKKwkJCQkJY2FsbGJhY2soKTsKKwkJCQl9CisJCQl9CisJCX07CisJfQorfSApOworCisKKworCisvLyBQcmV2ZW50IGF1dG8tZXhlY3V0aW9uIG9mIHNjcmlwdHMgd2hlbiBubyBleHBsaWNpdCBkYXRhVHlwZSB3YXMgcHJvdmlkZWQgKFNlZSBnaC0yNDMyKQoralF1ZXJ5LmFqYXhQcmVmaWx0ZXIoIGZ1bmN0aW9uKCBzICkgeworCWlmICggcy5jcm9zc0RvbWFpbiApIHsKKwkJcy5jb250ZW50cy5zY3JpcHQgPSBmYWxzZTsKKwl9Cit9ICk7CisKKy8vIEluc3RhbGwgc2NyaXB0IGRhdGFUeXBlCitqUXVlcnkuYWpheFNldHVwKCB7CisJYWNjZXB0czogeworCQlzY3JpcHQ6ICJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsICIgKworCQkJImFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCIKKwl9LAorCWNvbnRlbnRzOiB7CisJCXNjcmlwdDogL1xiKD86amF2YXxlY21hKXNjcmlwdFxiLworCX0sCisJY29udmVydGVyczogeworCQkidGV4dCBzY3JpcHQiOiBmdW5jdGlvbiggdGV4dCApIHsKKwkJCWpRdWVyeS5nbG9iYWxFdmFsKCB0ZXh0ICk7CisJCQlyZXR1cm4gdGV4dDsKKwkJfQorCX0KK30gKTsKKworLy8gSGFuZGxlIGNhY2hlJ3Mgc3BlY2lhbCBjYXNlIGFuZCBjcm9zc0RvbWFpbgoralF1ZXJ5LmFqYXhQcmVmaWx0ZXIoICJzY3JpcHQiLCBmdW5jdGlvbiggcyApIHsKKwlpZiAoIHMuY2FjaGUgPT09IHVuZGVmaW5lZCApIHsKKwkJcy5jYWNoZSA9IGZhbHNlOworCX0KKwlpZiAoIHMuY3Jvc3NEb21haW4gKSB7CisJCXMudHlwZSA9ICJHRVQiOworCX0KK30gKTsKKworLy8gQmluZCBzY3JpcHQgdGFnIGhhY2sgdHJhbnNwb3J0CitqUXVlcnkuYWpheFRyYW5zcG9ydCggInNjcmlwdCIsIGZ1bmN0aW9uKCBzICkgeworCisJLy8gVGhpcyB0cmFuc3BvcnQgb25seSBkZWFscyB3aXRoIGNyb3NzIGRvbWFpbiByZXF1ZXN0cworCWlmICggcy5jcm9zc0RvbWFpbiApIHsKKwkJdmFyIHNjcmlwdCwgY2FsbGJhY2s7CisJCXJldHVybiB7CisJCQlzZW5kOiBmdW5jdGlvbiggXywgY29tcGxldGUgKSB7CisJCQkJc2NyaXB0ID0galF1ZXJ5KCAiPHNjcmlwdD4iICkucHJvcCggeworCQkJCQljaGFyc2V0OiBzLnNjcmlwdENoYXJzZXQsCisJCQkJCXNyYzogcy51cmwKKwkJCQl9ICkub24oCisJCQkJCSJsb2FkIGVycm9yIiwKKwkJCQkJY2FsbGJhY2sgPSBmdW5jdGlvbiggZXZ0ICkgeworCQkJCQkJc2NyaXB0LnJlbW92ZSgpOworCQkJCQkJY2FsbGJhY2sgPSBudWxsOworCQkJCQkJaWYgKCBldnQgKSB7CisJCQkJCQkJY29tcGxldGUoIGV2dC50eXBlID09PSAiZXJyb3IiID8gNDA0IDogMjAwLCBldnQudHlwZSApOworCQkJCQkJfQorCQkJCQl9CisJCQkJKTsKKworCQkJCS8vIFVzZSBuYXRpdmUgRE9NIG1hbmlwdWxhdGlvbiB0byBhdm9pZCBvdXIgZG9tTWFuaXAgQUpBWCB0cmlja2VyeQorCQkJCWRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoIHNjcmlwdFsgMCBdICk7CisJCQl9LAorCQkJYWJvcnQ6IGZ1bmN0aW9uKCkgeworCQkJCWlmICggY2FsbGJhY2sgKSB7CisJCQkJCWNhbGxiYWNrKCk7CisJCQkJfQorCQkJfQorCQl9OworCX0KK30gKTsKKworCisKKwordmFyIG9sZENhbGxiYWNrcyA9IFtdLAorCXJqc29ucCA9IC8oPSlcPyg/PSZ8JCl8XD9cPy87CisKKy8vIERlZmF1bHQganNvbnAgc2V0dGluZ3MKK2pRdWVyeS5hamF4U2V0dXAoIHsKKwlqc29ucDogImNhbGxiYWNrIiwKKwlqc29ucENhbGxiYWNrOiBmdW5jdGlvbigpIHsKKwkJdmFyIGNhbGxiYWNrID0gb2xkQ2FsbGJhY2tzLnBvcCgpIHx8ICggalF1ZXJ5LmV4cGFuZG8gKyAiXyIgKyAoIG5vbmNlKysgKSApOworCQl0aGlzWyBjYWxsYmFjayBdID0gdHJ1ZTsKKwkJcmV0dXJuIGNhbGxiYWNrOworCX0KK30gKTsKKworLy8gRGV0ZWN0LCBub3JtYWxpemUgb3B0aW9ucyBhbmQgaW5zdGFsbCBjYWxsYmFja3MgZm9yIGpzb25wIHJlcXVlc3RzCitqUXVlcnkuYWpheFByZWZpbHRlciggImpzb24ganNvbnAiLCBmdW5jdGlvbiggcywgb3JpZ2luYWxTZXR0aW5ncywganFYSFIgKSB7CisKKwl2YXIgY2FsbGJhY2tOYW1lLCBvdmVyd3JpdHRlbiwgcmVzcG9uc2VDb250YWluZXIsCisJCWpzb25Qcm9wID0gcy5qc29ucCAhPT0gZmFsc2UgJiYgKCByanNvbnAudGVzdCggcy51cmwgKSA/CisJCQkidXJsIiA6CisJCQl0eXBlb2Ygcy5kYXRhID09PSAic3RyaW5nIiAmJgorCQkJCSggcy5jb250ZW50VHlwZSB8fCAiIiApCisJCQkJCS5pbmRleE9mKCAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiApID09PSAwICYmCisJCQkJcmpzb25wLnRlc3QoIHMuZGF0YSApICYmICJkYXRhIgorCQkpOworCisJLy8gSGFuZGxlIGlmZiB0aGUgZXhwZWN0ZWQgZGF0YSB0eXBlIGlzICJqc29ucCIgb3Igd2UgaGF2ZSBhIHBhcmFtZXRlciB0byBzZXQKKwlpZiAoIGpzb25Qcm9wIHx8IHMuZGF0YVR5cGVzWyAwIF0gPT09ICJqc29ucCIgKSB7CisKKwkJLy8gR2V0IGNhbGxiYWNrIG5hbWUsIHJlbWVtYmVyaW5nIHByZWV4aXN0aW5nIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBpdAorCQljYWxsYmFja05hbWUgPSBzLmpzb25wQ2FsbGJhY2sgPSBqUXVlcnkuaXNGdW5jdGlvbiggcy5qc29ucENhbGxiYWNrICkgPworCQkJcy5qc29ucENhbGxiYWNrKCkgOgorCQkJcy5qc29ucENhbGxiYWNrOworCisJCS8vIEluc2VydCBjYWxsYmFjayBpbnRvIHVybCBvciBmb3JtIGRhdGEKKwkJaWYgKCBqc29uUHJvcCApIHsKKwkJCXNbIGpzb25Qcm9wIF0gPSBzWyBqc29uUHJvcCBdLnJlcGxhY2UoIHJqc29ucCwgIiQxIiArIGNhbGxiYWNrTmFtZSApOworCQl9IGVsc2UgaWYgKCBzLmpzb25wICE9PSBmYWxzZSApIHsKKwkJCXMudXJsICs9ICggcnF1ZXJ5LnRlc3QoIHMudXJsICkgPyAiJiIgOiAiPyIgKSArIHMuanNvbnAgKyAiPSIgKyBjYWxsYmFja05hbWU7CisJCX0KKworCQkvLyBVc2UgZGF0YSBjb252ZXJ0ZXIgdG8gcmV0cmlldmUganNvbiBhZnRlciBzY3JpcHQgZXhlY3V0aW9uCisJCXMuY29udmVydGVyc1sgInNjcmlwdCBqc29uIiBdID0gZnVuY3Rpb24oKSB7CisJCQlpZiAoICFyZXNwb25zZUNvbnRhaW5lciApIHsKKwkJCQlqUXVlcnkuZXJyb3IoIGNhbGxiYWNrTmFtZSArICIgd2FzIG5vdCBjYWxsZWQiICk7CisJCQl9CisJCQlyZXR1cm4gcmVzcG9uc2VDb250YWluZXJbIDAgXTsKKwkJfTsKKworCQkvLyBGb3JjZSBqc29uIGRhdGFUeXBlCisJCXMuZGF0YVR5cGVzWyAwIF0gPSAianNvbiI7CisKKwkJLy8gSW5zdGFsbCBjYWxsYmFjaworCQlvdmVyd3JpdHRlbiA9IHdpbmRvd1sgY2FsbGJhY2tOYW1lIF07CisJCXdpbmRvd1sgY2FsbGJhY2tOYW1lIF0gPSBmdW5jdGlvbigpIHsKKwkJCXJlc3BvbnNlQ29udGFpbmVyID0gYXJndW1lbnRzOworCQl9OworCisJCS8vIENsZWFuLXVwIGZ1bmN0aW9uIChmaXJlcyBhZnRlciBjb252ZXJ0ZXJzKQorCQlqcVhIUi5hbHdheXMoIGZ1bmN0aW9uKCkgeworCisJCQkvLyBJZiBwcmV2aW91cyB2YWx1ZSBkaWRuJ3QgZXhpc3QgLSByZW1vdmUgaXQKKwkJCWlmICggb3ZlcndyaXR0ZW4gPT09IHVuZGVmaW5lZCApIHsKKwkJCQlqUXVlcnkoIHdpbmRvdyApLnJlbW92ZVByb3AoIGNhbGxiYWNrTmFtZSApOworCisJCQkvLyBPdGhlcndpc2UgcmVzdG9yZSBwcmVleGlzdGluZyB2YWx1ZQorCQkJfSBlbHNlIHsKKwkJCQl3aW5kb3dbIGNhbGxiYWNrTmFtZSBdID0gb3ZlcndyaXR0ZW47CisJCQl9CisKKwkJCS8vIFNhdmUgYmFjayBhcyBmcmVlCisJCQlpZiAoIHNbIGNhbGxiYWNrTmFtZSBdICkgeworCisJCQkJLy8gTWFrZSBzdXJlIHRoYXQgcmUtdXNpbmcgdGhlIG9wdGlvbnMgZG9lc24ndCBzY3JldyB0aGluZ3MgYXJvdW5kCisJCQkJcy5qc29ucENhbGxiYWNrID0gb3JpZ2luYWxTZXR0aW5ncy5qc29ucENhbGxiYWNrOworCisJCQkJLy8gU2F2ZSB0aGUgY2FsbGJhY2sgbmFtZSBmb3IgZnV0dXJlIHVzZQorCQkJCW9sZENhbGxiYWNrcy5wdXNoKCBjYWxsYmFja05hbWUgKTsKKwkJCX0KKworCQkJLy8gQ2FsbCBpZiBpdCB3YXMgYSBmdW5jdGlvbiBhbmQgd2UgaGF2ZSBhIHJlc3BvbnNlCisJCQlpZiAoIHJlc3BvbnNlQ29udGFpbmVyICYmIGpRdWVyeS5pc0Z1bmN0aW9uKCBvdmVyd3JpdHRlbiApICkgeworCQkJCW92ZXJ3cml0dGVuKCByZXNwb25zZUNvbnRhaW5lclsgMCBdICk7CisJCQl9CisKKwkJCXJlc3BvbnNlQ29udGFpbmVyID0gb3ZlcndyaXR0ZW4gPSB1bmRlZmluZWQ7CisJCX0gKTsKKworCQkvLyBEZWxlZ2F0ZSB0byBzY3JpcHQKKwkJcmV0dXJuICJzY3JpcHQiOworCX0KK30gKTsKKworCisKKworLy8gU3VwcG9ydDogU2FmYXJpIDggb25seQorLy8gSW4gU2FmYXJpIDggZG9jdW1lbnRzIGNyZWF0ZWQgdmlhIGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudAorLy8gY29sbGFwc2Ugc2libGluZyBmb3JtczogdGhlIHNlY29uZCBvbmUgYmVjb21lcyBhIGNoaWxkIG9mIHRoZSBmaXJzdCBvbmUuCisvLyBCZWNhdXNlIG9mIHRoYXQsIHRoaXMgc2VjdXJpdHkgbWVhc3VyZSBoYXMgdG8gYmUgZGlzYWJsZWQgaW4gU2FmYXJpIDguCisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MzM3CitzdXBwb3J0LmNyZWF0ZUhUTUxEb2N1bWVudCA9ICggZnVuY3Rpb24oKSB7CisJdmFyIGJvZHkgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoICIiICkuYm9keTsKKwlib2R5LmlubmVySFRNTCA9ICI8Zm9ybT48L2Zvcm0+PGZvcm0+PC9mb3JtPiI7CisJcmV0dXJuIGJvZHkuY2hpbGROb2Rlcy5sZW5ndGggPT09IDI7Cit9ICkoKTsKKworCisvLyBBcmd1bWVudCAiZGF0YSIgc2hvdWxkIGJlIHN0cmluZyBvZiBodG1sCisvLyBjb250ZXh0IChvcHRpb25hbCk6IElmIHNwZWNpZmllZCwgdGhlIGZyYWdtZW50IHdpbGwgYmUgY3JlYXRlZCBpbiB0aGlzIGNvbnRleHQsCisvLyBkZWZhdWx0cyB0byBkb2N1bWVudAorLy8ga2VlcFNjcmlwdHMgKG9wdGlvbmFsKTogSWYgdHJ1ZSwgd2lsbCBpbmNsdWRlIHNjcmlwdHMgcGFzc2VkIGluIHRoZSBodG1sIHN0cmluZworalF1ZXJ5LnBhcnNlSFRNTCA9IGZ1bmN0aW9uKCBkYXRhLCBjb250ZXh0LCBrZWVwU2NyaXB0cyApIHsKKwlpZiAoIHR5cGVvZiBkYXRhICE9PSAic3RyaW5nIiApIHsKKwkJcmV0dXJuIFtdOworCX0KKwlpZiAoIHR5cGVvZiBjb250ZXh0ID09PSAiYm9vbGVhbiIgKSB7CisJCWtlZXBTY3JpcHRzID0gY29udGV4dDsKKwkJY29udGV4dCA9IGZhbHNlOworCX0KKworCXZhciBiYXNlLCBwYXJzZWQsIHNjcmlwdHM7CisKKwlpZiAoICFjb250ZXh0ICkgeworCisJCS8vIFN0b3Agc2NyaXB0cyBvciBpbmxpbmUgZXZlbnQgaGFuZGxlcnMgZnJvbSBiZWluZyBleGVjdXRlZCBpbW1lZGlhdGVseQorCQkvLyBieSB1c2luZyBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbgorCQlpZiAoIHN1cHBvcnQuY3JlYXRlSFRNTERvY3VtZW50ICkgeworCQkJY29udGV4dCA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCggIiIgKTsKKworCQkJLy8gU2V0IHRoZSBiYXNlIGhyZWYgZm9yIHRoZSBjcmVhdGVkIGRvY3VtZW50CisJCQkvLyBzbyBhbnkgcGFyc2VkIGVsZW1lbnRzIHdpdGggVVJMcworCQkJLy8gYXJlIGJhc2VkIG9uIHRoZSBkb2N1bWVudCdzIFVSTCAoZ2gtMjk2NSkKKwkJCWJhc2UgPSBjb250ZXh0LmNyZWF0ZUVsZW1lbnQoICJiYXNlIiApOworCQkJYmFzZS5ocmVmID0gZG9jdW1lbnQubG9jYXRpb24uaHJlZjsKKwkJCWNvbnRleHQuaGVhZC5hcHBlbmRDaGlsZCggYmFzZSApOworCQl9IGVsc2UgeworCQkJY29udGV4dCA9IGRvY3VtZW50OworCQl9CisJfQorCisJcGFyc2VkID0gcnNpbmdsZVRhZy5leGVjKCBkYXRhICk7CisJc2NyaXB0cyA9ICFrZWVwU2NyaXB0cyAmJiBbXTsKKworCS8vIFNpbmdsZSB0YWcKKwlpZiAoIHBhcnNlZCApIHsKKwkJcmV0dXJuIFsgY29udGV4dC5jcmVhdGVFbGVtZW50KCBwYXJzZWRbIDEgXSApIF07CisJfQorCisJcGFyc2VkID0gYnVpbGRGcmFnbWVudCggWyBkYXRhIF0sIGNvbnRleHQsIHNjcmlwdHMgKTsKKworCWlmICggc2NyaXB0cyAmJiBzY3JpcHRzLmxlbmd0aCApIHsKKwkJalF1ZXJ5KCBzY3JpcHRzICkucmVtb3ZlKCk7CisJfQorCisJcmV0dXJuIGpRdWVyeS5tZXJnZSggW10sIHBhcnNlZC5jaGlsZE5vZGVzICk7Cit9OworCisKKy8qKgorICogTG9hZCBhIHVybCBpbnRvIGEgcGFnZQorICovCitqUXVlcnkuZm4ubG9hZCA9IGZ1bmN0aW9uKCB1cmwsIHBhcmFtcywgY2FsbGJhY2sgKSB7CisJdmFyIHNlbGVjdG9yLCB0eXBlLCByZXNwb25zZSwKKwkJc2VsZiA9IHRoaXMsCisJCW9mZiA9IHVybC5pbmRleE9mKCAiICIgKTsKKworCWlmICggb2ZmID4gLTEgKSB7CisJCXNlbGVjdG9yID0gc3RyaXBBbmRDb2xsYXBzZSggdXJsLnNsaWNlKCBvZmYgKSApOworCQl1cmwgPSB1cmwuc2xpY2UoIDAsIG9mZiApOworCX0KKworCS8vIElmIGl0J3MgYSBmdW5jdGlvbgorCWlmICggalF1ZXJ5LmlzRnVuY3Rpb24oIHBhcmFtcyApICkgeworCisJCS8vIFdlIGFzc3VtZSB0aGF0IGl0J3MgdGhlIGNhbGxiYWNrCisJCWNhbGxiYWNrID0gcGFyYW1zOworCQlwYXJhbXMgPSB1bmRlZmluZWQ7CisKKwkvLyBPdGhlcndpc2UsIGJ1aWxkIGEgcGFyYW0gc3RyaW5nCisJfSBlbHNlIGlmICggcGFyYW1zICYmIHR5cGVvZiBwYXJhbXMgPT09ICJvYmplY3QiICkgeworCQl0eXBlID0gIlBPU1QiOworCX0KKworCS8vIElmIHdlIGhhdmUgZWxlbWVudHMgdG8gbW9kaWZ5LCBtYWtlIHRoZSByZXF1ZXN0CisJaWYgKCBzZWxmLmxlbmd0aCA+IDAgKSB7CisJCWpRdWVyeS5hamF4KCB7CisJCQl1cmw6IHVybCwKKworCQkJLy8gSWYgInR5cGUiIHZhcmlhYmxlIGlzIHVuZGVmaW5lZCwgdGhlbiAiR0VUIiBtZXRob2Qgd2lsbCBiZSB1c2VkLgorCQkJLy8gTWFrZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIGV4cGxpY2l0IHNpbmNlCisJCQkvLyB1c2VyIGNhbiBvdmVycmlkZSBpdCB0aHJvdWdoIGFqYXhTZXR1cCBtZXRob2QKKwkJCXR5cGU6IHR5cGUgfHwgIkdFVCIsCisJCQlkYXRhVHlwZTogImh0bWwiLAorCQkJZGF0YTogcGFyYW1zCisJCX0gKS5kb25lKCBmdW5jdGlvbiggcmVzcG9uc2VUZXh0ICkgeworCisJCQkvLyBTYXZlIHJlc3BvbnNlIGZvciB1c2UgaW4gY29tcGxldGUgY2FsbGJhY2sKKwkJCXJlc3BvbnNlID0gYXJndW1lbnRzOworCisJCQlzZWxmLmh0bWwoIHNlbGVjdG9yID8KKworCQkJCS8vIElmIGEgc2VsZWN0b3Igd2FzIHNwZWNpZmllZCwgbG9jYXRlIHRoZSByaWdodCBlbGVtZW50cyBpbiBhIGR1bW15IGRpdgorCQkJCS8vIEV4Y2x1ZGUgc2NyaXB0cyB0byBhdm9pZCBJRSAnUGVybWlzc2lvbiBEZW5pZWQnIGVycm9ycworCQkJCWpRdWVyeSggIjxkaXY+IiApLmFwcGVuZCggalF1ZXJ5LnBhcnNlSFRNTCggcmVzcG9uc2VUZXh0ICkgKS5maW5kKCBzZWxlY3RvciApIDoKKworCQkJCS8vIE90aGVyd2lzZSB1c2UgdGhlIGZ1bGwgcmVzdWx0CisJCQkJcmVzcG9uc2VUZXh0ICk7CisKKwkJLy8gSWYgdGhlIHJlcXVlc3Qgc3VjY2VlZHMsIHRoaXMgZnVuY3Rpb24gZ2V0cyAiZGF0YSIsICJzdGF0dXMiLCAianFYSFIiCisJCS8vIGJ1dCB0aGV5IGFyZSBpZ25vcmVkIGJlY2F1c2UgcmVzcG9uc2Ugd2FzIHNldCBhYm92ZS4KKwkJLy8gSWYgaXQgZmFpbHMsIHRoaXMgZnVuY3Rpb24gZ2V0cyAianFYSFIiLCAic3RhdHVzIiwgImVycm9yIgorCQl9ICkuYWx3YXlzKCBjYWxsYmFjayAmJiBmdW5jdGlvbigganFYSFIsIHN0YXR1cyApIHsKKwkJCXNlbGYuZWFjaCggZnVuY3Rpb24oKSB7CisJCQkJY2FsbGJhY2suYXBwbHkoIHRoaXMsIHJlc3BvbnNlIHx8IFsganFYSFIucmVzcG9uc2VUZXh0LCBzdGF0dXMsIGpxWEhSIF0gKTsKKwkJCX0gKTsKKwkJfSApOworCX0KKworCXJldHVybiB0aGlzOworfTsKKworCisKKworLy8gQXR0YWNoIGEgYnVuY2ggb2YgZnVuY3Rpb25zIGZvciBoYW5kbGluZyBjb21tb24gQUpBWCBldmVudHMKK2pRdWVyeS5lYWNoKCBbCisJImFqYXhTdGFydCIsCisJImFqYXhTdG9wIiwKKwkiYWpheENvbXBsZXRlIiwKKwkiYWpheEVycm9yIiwKKwkiYWpheFN1Y2Nlc3MiLAorCSJhamF4U2VuZCIKK10sIGZ1bmN0aW9uKCBpLCB0eXBlICkgeworCWpRdWVyeS5mblsgdHlwZSBdID0gZnVuY3Rpb24oIGZuICkgeworCQlyZXR1cm4gdGhpcy5vbiggdHlwZSwgZm4gKTsKKwl9OworfSApOworCisKKworCitqUXVlcnkuZXhwci5wc2V1ZG9zLmFuaW1hdGVkID0gZnVuY3Rpb24oIGVsZW0gKSB7CisJcmV0dXJuIGpRdWVyeS5ncmVwKCBqUXVlcnkudGltZXJzLCBmdW5jdGlvbiggZm4gKSB7CisJCXJldHVybiBlbGVtID09PSBmbi5lbGVtOworCX0gKS5sZW5ndGg7Cit9OworCisKKworCitqUXVlcnkub2Zmc2V0ID0geworCXNldE9mZnNldDogZnVuY3Rpb24oIGVsZW0sIG9wdGlvbnMsIGkgKSB7CisJCXZhciBjdXJQb3NpdGlvbiwgY3VyTGVmdCwgY3VyQ1NTVG9wLCBjdXJUb3AsIGN1ck9mZnNldCwgY3VyQ1NTTGVmdCwgY2FsY3VsYXRlUG9zaXRpb24sCisJCQlwb3NpdGlvbiA9IGpRdWVyeS5jc3MoIGVsZW0sICJwb3NpdGlvbiIgKSwKKwkJCWN1ckVsZW0gPSBqUXVlcnkoIGVsZW0gKSwKKwkJCXByb3BzID0ge307CisKKwkJLy8gU2V0IHBvc2l0aW9uIGZpcnN0LCBpbi1jYXNlIHRvcC9sZWZ0IGFyZSBzZXQgZXZlbiBvbiBzdGF0aWMgZWxlbQorCQlpZiAoIHBvc2l0aW9uID09PSAic3RhdGljIiApIHsKKwkJCWVsZW0uc3R5bGUucG9zaXRpb24gPSAicmVsYXRpdmUiOworCQl9CisKKwkJY3VyT2Zmc2V0ID0gY3VyRWxlbS5vZmZzZXQoKTsKKwkJY3VyQ1NTVG9wID0galF1ZXJ5LmNzcyggZWxlbSwgInRvcCIgKTsKKwkJY3VyQ1NTTGVmdCA9IGpRdWVyeS5jc3MoIGVsZW0sICJsZWZ0IiApOworCQljYWxjdWxhdGVQb3NpdGlvbiA9ICggcG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgfHwgcG9zaXRpb24gPT09ICJmaXhlZCIgKSAmJgorCQkJKCBjdXJDU1NUb3AgKyBjdXJDU1NMZWZ0ICkuaW5kZXhPZiggImF1dG8iICkgPiAtMTsKKworCQkvLyBOZWVkIHRvIGJlIGFibGUgdG8gY2FsY3VsYXRlIHBvc2l0aW9uIGlmIGVpdGhlcgorCQkvLyB0b3Agb3IgbGVmdCBpcyBhdXRvIGFuZCBwb3NpdGlvbiBpcyBlaXRoZXIgYWJzb2x1dGUgb3IgZml4ZWQKKwkJaWYgKCBjYWxjdWxhdGVQb3NpdGlvbiApIHsKKwkJCWN1clBvc2l0aW9uID0gY3VyRWxlbS5wb3NpdGlvbigpOworCQkJY3VyVG9wID0gY3VyUG9zaXRpb24udG9wOworCQkJY3VyTGVmdCA9IGN1clBvc2l0aW9uLmxlZnQ7CisKKwkJfSBlbHNlIHsKKwkJCWN1clRvcCA9IHBhcnNlRmxvYXQoIGN1ckNTU1RvcCApIHx8IDA7CisJCQljdXJMZWZ0ID0gcGFyc2VGbG9hdCggY3VyQ1NTTGVmdCApIHx8IDA7CisJCX0KKworCQlpZiAoIGpRdWVyeS5pc0Z1bmN0aW9uKCBvcHRpb25zICkgKSB7CisKKwkJCS8vIFVzZSBqUXVlcnkuZXh0ZW5kIGhlcmUgdG8gYWxsb3cgbW9kaWZpY2F0aW9uIG9mIGNvb3JkaW5hdGVzIGFyZ3VtZW50IChnaC0xODQ4KQorCQkJb3B0aW9ucyA9IG9wdGlvbnMuY2FsbCggZWxlbSwgaSwgalF1ZXJ5LmV4dGVuZCgge30sIGN1ck9mZnNldCApICk7CisJCX0KKworCQlpZiAoIG9wdGlvbnMudG9wICE9IG51bGwgKSB7CisJCQlwcm9wcy50b3AgPSAoIG9wdGlvbnMudG9wIC0gY3VyT2Zmc2V0LnRvcCApICsgY3VyVG9wOworCQl9CisJCWlmICggb3B0aW9ucy5sZWZ0ICE9IG51bGwgKSB7CisJCQlwcm9wcy5sZWZ0ID0gKCBvcHRpb25zLmxlZnQgLSBjdXJPZmZzZXQubGVmdCApICsgY3VyTGVmdDsKKwkJfQorCisJCWlmICggInVzaW5nIiBpbiBvcHRpb25zICkgeworCQkJb3B0aW9ucy51c2luZy5jYWxsKCBlbGVtLCBwcm9wcyApOworCisJCX0gZWxzZSB7CisJCQljdXJFbGVtLmNzcyggcHJvcHMgKTsKKwkJfQorCX0KK307CisKK2pRdWVyeS5mbi5leHRlbmQoIHsKKwlvZmZzZXQ6IGZ1bmN0aW9uKCBvcHRpb25zICkgeworCisJCS8vIFByZXNlcnZlIGNoYWluaW5nIGZvciBzZXR0ZXIKKwkJaWYgKCBhcmd1bWVudHMubGVuZ3RoICkgeworCQkJcmV0dXJuIG9wdGlvbnMgPT09IHVuZGVmaW5lZCA/CisJCQkJdGhpcyA6CisJCQkJdGhpcy5lYWNoKCBmdW5jdGlvbiggaSApIHsKKwkJCQkJalF1ZXJ5Lm9mZnNldC5zZXRPZmZzZXQoIHRoaXMsIG9wdGlvbnMsIGkgKTsKKwkJCQl9ICk7CisJCX0KKworCQl2YXIgZG9jLCBkb2NFbGVtLCByZWN0LCB3aW4sCisJCQllbGVtID0gdGhpc1sgMCBdOworCisJCWlmICggIWVsZW0gKSB7CisJCQlyZXR1cm47CisJCX0KKworCQkvLyBSZXR1cm4gemVyb3MgZm9yIGRpc2Nvbm5lY3RlZCBhbmQgaGlkZGVuIChkaXNwbGF5OiBub25lKSBlbGVtZW50cyAoZ2gtMjMxMCkKKwkJLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5CisJCS8vIFJ1bm5pbmcgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IG9uIGEKKwkJLy8gZGlzY29ubmVjdGVkIG5vZGUgaW4gSUUgdGhyb3dzIGFuIGVycm9yCisJCWlmICggIWVsZW0uZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGggKSB7CisJCQlyZXR1cm4geyB0b3A6IDAsIGxlZnQ6IDAgfTsKKwkJfQorCisJCXJlY3QgPSBlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworCisJCWRvYyA9IGVsZW0ub3duZXJEb2N1bWVudDsKKwkJZG9jRWxlbSA9IGRvYy5kb2N1bWVudEVsZW1lbnQ7CisJCXdpbiA9IGRvYy5kZWZhdWx0VmlldzsKKworCQlyZXR1cm4geworCQkJdG9wOiByZWN0LnRvcCArIHdpbi5wYWdlWU9mZnNldCAtIGRvY0VsZW0uY2xpZW50VG9wLAorCQkJbGVmdDogcmVjdC5sZWZ0ICsgd2luLnBhZ2VYT2Zmc2V0IC0gZG9jRWxlbS5jbGllbnRMZWZ0CisJCX07CisJfSwKKworCXBvc2l0aW9uOiBmdW5jdGlvbigpIHsKKwkJaWYgKCAhdGhpc1sgMCBdICkgeworCQkJcmV0dXJuOworCQl9CisKKwkJdmFyIG9mZnNldFBhcmVudCwgb2Zmc2V0LAorCQkJZWxlbSA9IHRoaXNbIDAgXSwKKwkJCXBhcmVudE9mZnNldCA9IHsgdG9wOiAwLCBsZWZ0OiAwIH07CisKKwkJLy8gRml4ZWQgZWxlbWVudHMgYXJlIG9mZnNldCBmcm9tIHdpbmRvdyAocGFyZW50T2Zmc2V0ID0ge3RvcDowLCBsZWZ0OiAwfSwKKwkJLy8gYmVjYXVzZSBpdCBpcyBpdHMgb25seSBvZmZzZXQgcGFyZW50CisJCWlmICggalF1ZXJ5LmNzcyggZWxlbSwgInBvc2l0aW9uIiApID09PSAiZml4ZWQiICkgeworCisJCQkvLyBBc3N1bWUgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IGlzIHRoZXJlIHdoZW4gY29tcHV0ZWQgcG9zaXRpb24gaXMgZml4ZWQKKwkJCW9mZnNldCA9IGVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisKKwkJfSBlbHNlIHsKKworCQkJLy8gR2V0ICpyZWFsKiBvZmZzZXRQYXJlbnQKKwkJCW9mZnNldFBhcmVudCA9IHRoaXMub2Zmc2V0UGFyZW50KCk7CisKKwkJCS8vIEdldCBjb3JyZWN0IG9mZnNldHMKKwkJCW9mZnNldCA9IHRoaXMub2Zmc2V0KCk7CisJCQlpZiAoICFub2RlTmFtZSggb2Zmc2V0UGFyZW50WyAwIF0sICJodG1sIiApICkgeworCQkJCXBhcmVudE9mZnNldCA9IG9mZnNldFBhcmVudC5vZmZzZXQoKTsKKwkJCX0KKworCQkJLy8gQWRkIG9mZnNldFBhcmVudCBib3JkZXJzCisJCQlwYXJlbnRPZmZzZXQgPSB7CisJCQkJdG9wOiBwYXJlbnRPZmZzZXQudG9wICsgalF1ZXJ5LmNzcyggb2Zmc2V0UGFyZW50WyAwIF0sICJib3JkZXJUb3BXaWR0aCIsIHRydWUgKSwKKwkJCQlsZWZ0OiBwYXJlbnRPZmZzZXQubGVmdCArIGpRdWVyeS5jc3MoIG9mZnNldFBhcmVudFsgMCBdLCAiYm9yZGVyTGVmdFdpZHRoIiwgdHJ1ZSApCisJCQl9OworCQl9CisKKwkJLy8gU3VidHJhY3QgcGFyZW50IG9mZnNldHMgYW5kIGVsZW1lbnQgbWFyZ2lucworCQlyZXR1cm4geworCQkJdG9wOiBvZmZzZXQudG9wIC0gcGFyZW50T2Zmc2V0LnRvcCAtIGpRdWVyeS5jc3MoIGVsZW0sICJtYXJnaW5Ub3AiLCB0cnVlICksCisJCQlsZWZ0OiBvZmZzZXQubGVmdCAtIHBhcmVudE9mZnNldC5sZWZ0IC0galF1ZXJ5LmNzcyggZWxlbSwgIm1hcmdpbkxlZnQiLCB0cnVlICkKKwkJfTsKKwl9LAorCisJLy8gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gZG9jdW1lbnRFbGVtZW50IGluIHRoZSBmb2xsb3dpbmcgY2FzZXM6CisJLy8gMSkgRm9yIHRoZSBlbGVtZW50IGluc2lkZSB0aGUgaWZyYW1lIHdpdGhvdXQgb2Zmc2V0UGFyZW50LCB0aGlzIG1ldGhvZCB3aWxsIHJldHVybgorCS8vICAgIGRvY3VtZW50RWxlbWVudCBvZiB0aGUgcGFyZW50IHdpbmRvdworCS8vIDIpIEZvciB0aGUgaGlkZGVuIG9yIGRldGFjaGVkIGVsZW1lbnQKKwkvLyAzKSBGb3IgYm9keSBvciBodG1sIGVsZW1lbnQsIGkuZS4gaW4gY2FzZSBvZiB0aGUgaHRtbCBub2RlIC0gaXQgd2lsbCByZXR1cm4gaXRzZWxmCisJLy8KKwkvLyBidXQgdGhvc2UgZXhjZXB0aW9ucyB3ZXJlIG5ldmVyIHByZXNlbnRlZCBhcyBhIHJlYWwgbGlmZSB1c2UtY2FzZXMKKwkvLyBhbmQgbWlnaHQgYmUgY29uc2lkZXJlZCBhcyBtb3JlIHByZWZlcmFibGUgcmVzdWx0cy4KKwkvLworCS8vIFRoaXMgbG9naWMsIGhvd2V2ZXIsIGlzIG5vdCBndWFyYW50ZWVkIGFuZCBjYW4gY2hhbmdlIGF0IGFueSBwb2ludCBpbiB0aGUgZnV0dXJlCisJb2Zmc2V0UGFyZW50OiBmdW5jdGlvbigpIHsKKwkJcmV0dXJuIHRoaXMubWFwKCBmdW5jdGlvbigpIHsKKwkJCXZhciBvZmZzZXRQYXJlbnQgPSB0aGlzLm9mZnNldFBhcmVudDsKKworCQkJd2hpbGUgKCBvZmZzZXRQYXJlbnQgJiYgalF1ZXJ5LmNzcyggb2Zmc2V0UGFyZW50LCAicG9zaXRpb24iICkgPT09ICJzdGF0aWMiICkgeworCQkJCW9mZnNldFBhcmVudCA9IG9mZnNldFBhcmVudC5vZmZzZXRQYXJlbnQ7CisJCQl9CisKKwkJCXJldHVybiBvZmZzZXRQYXJlbnQgfHwgZG9jdW1lbnRFbGVtZW50OworCQl9ICk7CisJfQorfSApOworCisvLyBDcmVhdGUgc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIG1ldGhvZHMKK2pRdWVyeS5lYWNoKCB7IHNjcm9sbExlZnQ6ICJwYWdlWE9mZnNldCIsIHNjcm9sbFRvcDogInBhZ2VZT2Zmc2V0IiB9LCBmdW5jdGlvbiggbWV0aG9kLCBwcm9wICkgeworCXZhciB0b3AgPSAicGFnZVlPZmZzZXQiID09PSBwcm9wOworCisJalF1ZXJ5LmZuWyBtZXRob2QgXSA9IGZ1bmN0aW9uKCB2YWwgKSB7CisJCXJldHVybiBhY2Nlc3MoIHRoaXMsIGZ1bmN0aW9uKCBlbGVtLCBtZXRob2QsIHZhbCApIHsKKworCQkJLy8gQ29hbGVzY2UgZG9jdW1lbnRzIGFuZCB3aW5kb3dzCisJCQl2YXIgd2luOworCQkJaWYgKCBqUXVlcnkuaXNXaW5kb3coIGVsZW0gKSApIHsKKwkJCQl3aW4gPSBlbGVtOworCQkJfSBlbHNlIGlmICggZWxlbS5ub2RlVHlwZSA9PT0gOSApIHsKKwkJCQl3aW4gPSBlbGVtLmRlZmF1bHRWaWV3OworCQkJfQorCisJCQlpZiAoIHZhbCA9PT0gdW5kZWZpbmVkICkgeworCQkJCXJldHVybiB3aW4gPyB3aW5bIHByb3AgXSA6IGVsZW1bIG1ldGhvZCBdOworCQkJfQorCisJCQlpZiAoIHdpbiApIHsKKwkJCQl3aW4uc2Nyb2xsVG8oCisJCQkJCSF0b3AgPyB2YWwgOiB3aW4ucGFnZVhPZmZzZXQsCisJCQkJCXRvcCA/IHZhbCA6IHdpbi5wYWdlWU9mZnNldAorCQkJCSk7CisKKwkJCX0gZWxzZSB7CisJCQkJZWxlbVsgbWV0aG9kIF0gPSB2YWw7CisJCQl9CisJCX0sIG1ldGhvZCwgdmFsLCBhcmd1bWVudHMubGVuZ3RoICk7CisJfTsKK30gKTsKKworLy8gU3VwcG9ydDogU2FmYXJpIDw9NyAtIDkuMSwgQ2hyb21lIDw9MzcgLSA0OQorLy8gQWRkIHRoZSB0b3AvbGVmdCBjc3NIb29rcyB1c2luZyBqUXVlcnkuZm4ucG9zaXRpb24KKy8vIFdlYmtpdCBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTA4NAorLy8gQmxpbmsgYnVnOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD01ODkzNDcKKy8vIGdldENvbXB1dGVkU3R5bGUgcmV0dXJucyBwZXJjZW50IHdoZW4gc3BlY2lmaWVkIGZvciB0b3AvbGVmdC9ib3R0b20vcmlnaHQ7CisvLyByYXRoZXIgdGhhbiBtYWtlIHRoZSBjc3MgbW9kdWxlIGRlcGVuZCBvbiB0aGUgb2Zmc2V0IG1vZHVsZSwganVzdCBjaGVjayBmb3IgaXQgaGVyZQoralF1ZXJ5LmVhY2goIFsgInRvcCIsICJsZWZ0IiBdLCBmdW5jdGlvbiggaSwgcHJvcCApIHsKKwlqUXVlcnkuY3NzSG9va3NbIHByb3AgXSA9IGFkZEdldEhvb2tJZiggc3VwcG9ydC5waXhlbFBvc2l0aW9uLAorCQlmdW5jdGlvbiggZWxlbSwgY29tcHV0ZWQgKSB7CisJCQlpZiAoIGNvbXB1dGVkICkgeworCQkJCWNvbXB1dGVkID0gY3VyQ1NTKCBlbGVtLCBwcm9wICk7CisKKwkJCQkvLyBJZiBjdXJDU1MgcmV0dXJucyBwZXJjZW50YWdlLCBmYWxsYmFjayB0byBvZmZzZXQKKwkJCQlyZXR1cm4gcm51bW5vbnB4LnRlc3QoIGNvbXB1dGVkICkgPworCQkJCQlqUXVlcnkoIGVsZW0gKS5wb3NpdGlvbigpWyBwcm9wIF0gKyAicHgiIDoKKwkJCQkJY29tcHV0ZWQ7CisJCQl9CisJCX0KKwkpOworfSApOworCisKKy8vIENyZWF0ZSBpbm5lckhlaWdodCwgaW5uZXJXaWR0aCwgaGVpZ2h0LCB3aWR0aCwgb3V0ZXJIZWlnaHQgYW5kIG91dGVyV2lkdGggbWV0aG9kcworalF1ZXJ5LmVhY2goIHsgSGVpZ2h0OiAiaGVpZ2h0IiwgV2lkdGg6ICJ3aWR0aCIgfSwgZnVuY3Rpb24oIG5hbWUsIHR5cGUgKSB7CisJalF1ZXJ5LmVhY2goIHsgcGFkZGluZzogImlubmVyIiArIG5hbWUsIGNvbnRlbnQ6IHR5cGUsICIiOiAib3V0ZXIiICsgbmFtZSB9LAorCQlmdW5jdGlvbiggZGVmYXVsdEV4dHJhLCBmdW5jTmFtZSApIHsKKworCQkvLyBNYXJnaW4gaXMgb25seSBmb3Igb3V0ZXJIZWlnaHQsIG91dGVyV2lkdGgKKwkJalF1ZXJ5LmZuWyBmdW5jTmFtZSBdID0gZnVuY3Rpb24oIG1hcmdpbiwgdmFsdWUgKSB7CisJCQl2YXIgY2hhaW5hYmxlID0gYXJndW1lbnRzLmxlbmd0aCAmJiAoIGRlZmF1bHRFeHRyYSB8fCB0eXBlb2YgbWFyZ2luICE9PSAiYm9vbGVhbiIgKSwKKwkJCQlleHRyYSA9IGRlZmF1bHRFeHRyYSB8fCAoIG1hcmdpbiA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gdHJ1ZSA/ICJtYXJnaW4iIDogImJvcmRlciIgKTsKKworCQkJcmV0dXJuIGFjY2VzcyggdGhpcywgZnVuY3Rpb24oIGVsZW0sIHR5cGUsIHZhbHVlICkgeworCQkJCXZhciBkb2M7CisKKwkJCQlpZiAoIGpRdWVyeS5pc1dpbmRvdyggZWxlbSApICkgeworCisJCQkJCS8vICQoIHdpbmRvdyApLm91dGVyV2lkdGgvSGVpZ2h0IHJldHVybiB3L2ggaW5jbHVkaW5nIHNjcm9sbGJhcnMgKGdoLTE3MjkpCisJCQkJCXJldHVybiBmdW5jTmFtZS5pbmRleE9mKCAib3V0ZXIiICkgPT09IDAgPworCQkJCQkJZWxlbVsgImlubmVyIiArIG5hbWUgXSA6CisJCQkJCQllbGVtLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsgImNsaWVudCIgKyBuYW1lIF07CisJCQkJfQorCisJCQkJLy8gR2V0IGRvY3VtZW50IHdpZHRoIG9yIGhlaWdodAorCQkJCWlmICggZWxlbS5ub2RlVHlwZSA9PT0gOSApIHsKKwkJCQkJZG9jID0gZWxlbS5kb2N1bWVudEVsZW1lbnQ7CisKKwkJCQkJLy8gRWl0aGVyIHNjcm9sbFtXaWR0aC9IZWlnaHRdIG9yIG9mZnNldFtXaWR0aC9IZWlnaHRdIG9yIGNsaWVudFtXaWR0aC9IZWlnaHRdLAorCQkJCQkvLyB3aGljaGV2ZXIgaXMgZ3JlYXRlc3QKKwkJCQkJcmV0dXJuIE1hdGgubWF4KAorCQkJCQkJZWxlbS5ib2R5WyAic2Nyb2xsIiArIG5hbWUgXSwgZG9jWyAic2Nyb2xsIiArIG5hbWUgXSwKKwkJCQkJCWVsZW0uYm9keVsgIm9mZnNldCIgKyBuYW1lIF0sIGRvY1sgIm9mZnNldCIgKyBuYW1lIF0sCisJCQkJCQlkb2NbICJjbGllbnQiICsgbmFtZSBdCisJCQkJCSk7CisJCQkJfQorCisJCQkJcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgPworCisJCQkJCS8vIEdldCB3aWR0aCBvciBoZWlnaHQgb24gdGhlIGVsZW1lbnQsIHJlcXVlc3RpbmcgYnV0IG5vdCBmb3JjaW5nIHBhcnNlRmxvYXQKKwkJCQkJalF1ZXJ5LmNzcyggZWxlbSwgdHlwZSwgZXh0cmEgKSA6CisKKwkJCQkJLy8gU2V0IHdpZHRoIG9yIGhlaWdodCBvbiB0aGUgZWxlbWVudAorCQkJCQlqUXVlcnkuc3R5bGUoIGVsZW0sIHR5cGUsIHZhbHVlLCBleHRyYSApOworCQkJfSwgdHlwZSwgY2hhaW5hYmxlID8gbWFyZ2luIDogdW5kZWZpbmVkLCBjaGFpbmFibGUgKTsKKwkJfTsKKwl9ICk7Cit9ICk7CisKKworalF1ZXJ5LmZuLmV4dGVuZCggeworCisJYmluZDogZnVuY3Rpb24oIHR5cGVzLCBkYXRhLCBmbiApIHsKKwkJcmV0dXJuIHRoaXMub24oIHR5cGVzLCBudWxsLCBkYXRhLCBmbiApOworCX0sCisJdW5iaW5kOiBmdW5jdGlvbiggdHlwZXMsIGZuICkgeworCQlyZXR1cm4gdGhpcy5vZmYoIHR5cGVzLCBudWxsLCBmbiApOworCX0sCisKKwlkZWxlZ2F0ZTogZnVuY3Rpb24oIHNlbGVjdG9yLCB0eXBlcywgZGF0YSwgZm4gKSB7CisJCXJldHVybiB0aGlzLm9uKCB0eXBlcywgc2VsZWN0b3IsIGRhdGEsIGZuICk7CisJfSwKKwl1bmRlbGVnYXRlOiBmdW5jdGlvbiggc2VsZWN0b3IsIHR5cGVzLCBmbiApIHsKKworCQkvLyAoIG5hbWVzcGFjZSApIG9yICggc2VsZWN0b3IsIHR5cGVzIFssIGZuXSApCisJCXJldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAxID8KKwkJCXRoaXMub2ZmKCBzZWxlY3RvciwgIioqIiApIDoKKwkJCXRoaXMub2ZmKCB0eXBlcywgc2VsZWN0b3IgfHwgIioqIiwgZm4gKTsKKwl9Cit9ICk7CisKK2pRdWVyeS5ob2xkUmVhZHkgPSBmdW5jdGlvbiggaG9sZCApIHsKKwlpZiAoIGhvbGQgKSB7CisJCWpRdWVyeS5yZWFkeVdhaXQrKzsKKwl9IGVsc2UgeworCQlqUXVlcnkucmVhZHkoIHRydWUgKTsKKwl9Cit9OworalF1ZXJ5LmlzQXJyYXkgPSBBcnJheS5pc0FycmF5OworalF1ZXJ5LnBhcnNlSlNPTiA9IEpTT04ucGFyc2U7CitqUXVlcnkubm9kZU5hbWUgPSBub2RlTmFtZTsKKworCisKKworLy8gUmVnaXN0ZXIgYXMgYSBuYW1lZCBBTUQgbW9kdWxlLCBzaW5jZSBqUXVlcnkgY2FuIGJlIGNvbmNhdGVuYXRlZCB3aXRoIG90aGVyCisvLyBmaWxlcyB0aGF0IG1heSB1c2UgZGVmaW5lLCBidXQgbm90IHZpYSBhIHByb3BlciBjb25jYXRlbmF0aW9uIHNjcmlwdCB0aGF0CisvLyB1bmRlcnN0YW5kcyBhbm9ueW1vdXMgQU1EIG1vZHVsZXMuIEEgbmFtZWQgQU1EIGlzIHNhZmVzdCBhbmQgbW9zdCByb2J1c3QKKy8vIHdheSB0byByZWdpc3Rlci4gTG93ZXJjYXNlIGpxdWVyeSBpcyB1c2VkIGJlY2F1c2UgQU1EIG1vZHVsZSBuYW1lcyBhcmUKKy8vIGRlcml2ZWQgZnJvbSBmaWxlIG5hbWVzLCBhbmQgalF1ZXJ5IGlzIG5vcm1hbGx5IGRlbGl2ZXJlZCBpbiBhIGxvd2VyY2FzZQorLy8gZmlsZSBuYW1lLiBEbyB0aGlzIGFmdGVyIGNyZWF0aW5nIHRoZSBnbG9iYWwgc28gdGhhdCBpZiBhbiBBTUQgbW9kdWxlIHdhbnRzCisvLyB0byBjYWxsIG5vQ29uZmxpY3QgdG8gaGlkZSB0aGlzIHZlcnNpb24gb2YgalF1ZXJ5LCBpdCB3aWxsIHdvcmsuCisKKy8vIE5vdGUgdGhhdCBmb3IgbWF4aW11bSBwb3J0YWJpbGl0eSwgbGlicmFyaWVzIHRoYXQgYXJlIG5vdCBqUXVlcnkgc2hvdWxkCisvLyBkZWNsYXJlIHRoZW1zZWx2ZXMgYXMgYW5vbnltb3VzIG1vZHVsZXMsIGFuZCBhdm9pZCBzZXR0aW5nIGEgZ2xvYmFsIGlmIGFuCisvLyBBTUQgbG9hZGVyIGlzIHByZXNlbnQuIGpRdWVyeSBpcyBhIHNwZWNpYWwgY2FzZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZQorLy8gaHR0cHM6Ly9naXRodWIuY29tL2pyYnVya2UvcmVxdWlyZWpzL3dpa2kvVXBkYXRpbmctZXhpc3RpbmctbGlicmFyaWVzI3dpa2ktYW5vbgorCitpZiAoIHR5cGVvZiBkZWZpbmUgPT09ICJmdW5jdGlvbiIgJiYgZGVmaW5lLmFtZCApIHsKKwlkZWZpbmUoICJqcXVlcnkiLCBbXSwgZnVuY3Rpb24oKSB7CisJCXJldHVybiBqUXVlcnk7CisJfSApOworfQorCisKKworCit2YXIKKworCS8vIE1hcCBvdmVyIGpRdWVyeSBpbiBjYXNlIG9mIG92ZXJ3cml0ZQorCV9qUXVlcnkgPSB3aW5kb3cualF1ZXJ5LAorCisJLy8gTWFwIG92ZXIgdGhlICQgaW4gY2FzZSBvZiBvdmVyd3JpdGUKKwlfJCA9IHdpbmRvdy4kOworCitqUXVlcnkubm9Db25mbGljdCA9IGZ1bmN0aW9uKCBkZWVwICkgeworCWlmICggd2luZG93LiQgPT09IGpRdWVyeSApIHsKKwkJd2luZG93LiQgPSBfJDsKKwl9CisKKwlpZiAoIGRlZXAgJiYgd2luZG93LmpRdWVyeSA9PT0galF1ZXJ5ICkgeworCQl3aW5kb3cualF1ZXJ5ID0gX2pRdWVyeTsKKwl9CisKKwlyZXR1cm4galF1ZXJ5OworfTsKKworLy8gRXhwb3NlIGpRdWVyeSBhbmQgJCBpZGVudGlmaWVycywgZXZlbiBpbiBBTUQKKy8vICgjNzEwMiNjb21tZW50OjEwLCBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L2pxdWVyeS9wdWxsLzU1NykKKy8vIGFuZCBDb21tb25KUyBmb3IgYnJvd3NlciBlbXVsYXRvcnMgKCMxMzU2NikKK2lmICggIW5vR2xvYmFsICkgeworCXdpbmRvdy5qUXVlcnkgPSB3aW5kb3cuJCA9IGpRdWVyeTsKK30KKworCisKKworcmV0dXJuIGpRdWVyeTsKK30gKTsKZGlmZiAtLWdpdCBhL2pzL2pxdWVyeS5qcyBiL2pzL2pxdWVyeS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzYzOGFiCi0tLSAvZGV2L251bGwKKysrIGIvanMvanF1ZXJ5LmpzCkBAIC0wLDAgKzEsMjAwMiBAQAorLyohCisgKiBCb290c3RyYXAgdjMuMC4yIGJ5IEBmYXQgYW5kIEBtZG8KKyAqIENvcHlyaWdodCAyMDEzIFR3aXR0ZXIsIEluYy4KKyAqIExpY2Vuc2VkIHVuZGVyIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIERlc2lnbmVkIGFuZCBidWlsdCB3aXRoIGFsbCB0aGUgbG92ZSBpbiB0aGUgd29ybGQgYnkgQG1kbyBhbmQgQGZhdC4KKyAqLworCitpZiAodHlwZW9mIGpRdWVyeSA9PT0gInVuZGVmaW5lZCIpIHsgdGhyb3cgbmV3IEVycm9yKCJCb290c3RyYXAgcmVxdWlyZXMgalF1ZXJ5IikgfQorCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIEJvb3RzdHJhcDogdHJhbnNpdGlvbi5qcyB2My4wLjIKKyAqIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2phdmFzY3JpcHQvI3RyYW5zaXRpb25zCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIENvcHlyaWdodCAyMDEzIFR3aXR0ZXIsIEluYy4KKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisKKworK2Z1bmN0aW9uICgkKSB7ICJ1c2Ugc3RyaWN0IjsKKworICAvLyBDU1MgVFJBTlNJVElPTiBTVVBQT1JUIChTaG91dG91dDogaHR0cDovL3d3dy5tb2Rlcm5penIuY29tLykKKyAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgZnVuY3Rpb24gdHJhbnNpdGlvbkVuZCgpIHsKKyAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdib290c3RyYXAnKQorCisgICAgdmFyIHRyYW5zRW5kRXZlbnROYW1lcyA9IHsKKyAgICAgICdXZWJraXRUcmFuc2l0aW9uJyA6ICd3ZWJraXRUcmFuc2l0aW9uRW5kJworICAgICwgJ01velRyYW5zaXRpb24nICAgIDogJ3RyYW5zaXRpb25lbmQnCisgICAgLCAnT1RyYW5zaXRpb24nICAgICAgOiAnb1RyYW5zaXRpb25FbmQgb3RyYW5zaXRpb25lbmQnCisgICAgLCAndHJhbnNpdGlvbicgICAgICAgOiAndHJhbnNpdGlvbmVuZCcKKyAgICB9CisKKyAgICBmb3IgKHZhciBuYW1lIGluIHRyYW5zRW5kRXZlbnROYW1lcykgeworICAgICAgaWYgKGVsLnN0eWxlW25hbWVdICE9PSB1bmRlZmluZWQpIHsKKyAgICAgICAgcmV0dXJuIHsgZW5kOiB0cmFuc0VuZEV2ZW50TmFtZXNbbmFtZV0gfQorICAgICAgfQorICAgIH0KKyAgfQorCisgIC8vIGh0dHA6Ly9ibG9nLmFsZXhtYWNjYXcuY29tL2Nzcy10cmFuc2l0aW9ucworICAkLmZuLmVtdWxhdGVUcmFuc2l0aW9uRW5kID0gZnVuY3Rpb24gKGR1cmF0aW9uKSB7CisgICAgdmFyIGNhbGxlZCA9IGZhbHNlLCAkZWwgPSB0aGlzCisgICAgJCh0aGlzKS5vbmUoJC5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLCBmdW5jdGlvbiAoKSB7IGNhbGxlZCA9IHRydWUgfSkKKyAgICB2YXIgY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7IGlmICghY2FsbGVkKSAkKCRlbCkudHJpZ2dlcigkLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQpIH0KKyAgICBzZXRUaW1lb3V0KGNhbGxiYWNrLCBkdXJhdGlvbikKKyAgICByZXR1cm4gdGhpcworICB9CisKKyAgJChmdW5jdGlvbiAoKSB7CisgICAgJC5zdXBwb3J0LnRyYW5zaXRpb24gPSB0cmFuc2l0aW9uRW5kKCkKKyAgfSkKKworfShqUXVlcnkpOworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIEJvb3RzdHJhcDogYWxlcnQuanMgdjMuMC4yCisgKiBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9qYXZhc2NyaXB0LyNhbGVydHMKKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogQ29weXJpZ2h0IDIwMTMgVHdpdHRlciwgSW5jLgorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKworCisrZnVuY3Rpb24gKCQpIHsgInVzZSBzdHJpY3QiOworCisgIC8vIEFMRVJUIENMQVNTIERFRklOSVRJT04KKyAgLy8gPT09PT09PT09PT09PT09PT09PT09PQorCisgIHZhciBkaXNtaXNzID0gJ1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nCisgIHZhciBBbGVydCAgID0gZnVuY3Rpb24gKGVsKSB7CisgICAgJChlbCkub24oJ2NsaWNrJywgZGlzbWlzcywgdGhpcy5jbG9zZSkKKyAgfQorCisgIEFsZXJ0LnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uIChlKSB7CisgICAgdmFyICR0aGlzICAgID0gJCh0aGlzKQorICAgIHZhciBzZWxlY3RvciA9ICR0aGlzLmF0dHIoJ2RhdGEtdGFyZ2V0JykKKworICAgIGlmICghc2VsZWN0b3IpIHsKKyAgICAgIHNlbGVjdG9yID0gJHRoaXMuYXR0cignaHJlZicpCisgICAgICBzZWxlY3RvciA9IHNlbGVjdG9yICYmIHNlbGVjdG9yLnJlcGxhY2UoLy4qKD89I1teXHNdKiQpLywgJycpIC8vIHN0cmlwIGZvciBpZTcKKyAgICB9CisKKyAgICB2YXIgJHBhcmVudCA9ICQoc2VsZWN0b3IpCisKKyAgICBpZiAoZSkgZS5wcmV2ZW50RGVmYXVsdCgpCisKKyAgICBpZiAoISRwYXJlbnQubGVuZ3RoKSB7CisgICAgICAkcGFyZW50ID0gJHRoaXMuaGFzQ2xhc3MoJ2FsZXJ0JykgPyAkdGhpcyA6ICR0aGlzLnBhcmVudCgpCisgICAgfQorCisgICAgJHBhcmVudC50cmlnZ2VyKGUgPSAkLkV2ZW50KCdjbG9zZS5icy5hbGVydCcpKQorCisgICAgaWYgKGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHJldHVybgorCisgICAgJHBhcmVudC5yZW1vdmVDbGFzcygnaW4nKQorCisgICAgZnVuY3Rpb24gcmVtb3ZlRWxlbWVudCgpIHsKKyAgICAgICRwYXJlbnQudHJpZ2dlcignY2xvc2VkLmJzLmFsZXJ0JykucmVtb3ZlKCkKKyAgICB9CisKKyAgICAkLnN1cHBvcnQudHJhbnNpdGlvbiAmJiAkcGFyZW50Lmhhc0NsYXNzKCdmYWRlJykgPworICAgICAgJHBhcmVudAorICAgICAgICAub25lKCQuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCwgcmVtb3ZlRWxlbWVudCkKKyAgICAgICAgLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDE1MCkgOgorICAgICAgcmVtb3ZlRWxlbWVudCgpCisgIH0KKworCisgIC8vIEFMRVJUIFBMVUdJTiBERUZJTklUSU9OCisgIC8vID09PT09PT09PT09PT09PT09PT09PT09CisKKyAgdmFyIG9sZCA9ICQuZm4uYWxlcnQKKworICAkLmZuLmFsZXJ0ID0gZnVuY3Rpb24gKG9wdGlvbikgeworICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgeworICAgICAgdmFyICR0aGlzID0gJCh0aGlzKQorICAgICAgdmFyIGRhdGEgID0gJHRoaXMuZGF0YSgnYnMuYWxlcnQnKQorCisgICAgICBpZiAoIWRhdGEpICR0aGlzLmRhdGEoJ2JzLmFsZXJ0JywgKGRhdGEgPSBuZXcgQWxlcnQodGhpcykpKQorICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT0gJ3N0cmluZycpIGRhdGFbb3B0aW9uXS5jYWxsKCR0aGlzKQorICAgIH0pCisgIH0KKworICAkLmZuLmFsZXJ0LkNvbnN0cnVjdG9yID0gQWxlcnQKKworCisgIC8vIEFMRVJUIE5PIENPTkZMSUNUCisgIC8vID09PT09PT09PT09PT09PT09CisKKyAgJC5mbi5hbGVydC5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkgeworICAgICQuZm4uYWxlcnQgPSBvbGQKKyAgICByZXR1cm4gdGhpcworICB9CisKKworICAvLyBBTEVSVCBEQVRBLUFQSQorICAvLyA9PT09PT09PT09PT09PQorCisgICQoZG9jdW1lbnQpLm9uKCdjbGljay5icy5hbGVydC5kYXRhLWFwaScsIGRpc21pc3MsIEFsZXJ0LnByb3RvdHlwZS5jbG9zZSkKKworfShqUXVlcnkpOworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIEJvb3RzdHJhcDogYnV0dG9uLmpzIHYzLjAuMgorICogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vamF2YXNjcmlwdC8jYnV0dG9ucworICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgMjAxMyBUd2l0dGVyLCBJbmMuCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworCisKKytmdW5jdGlvbiAoJCkgeyAidXNlIHN0cmljdCI7CisKKyAgLy8gQlVUVE9OIFBVQkxJQyBDTEFTUyBERUZJTklUSU9OCisgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgIHZhciBCdXR0b24gPSBmdW5jdGlvbiAoZWxlbWVudCwgb3B0aW9ucykgeworICAgIHRoaXMuJGVsZW1lbnQgPSAkKGVsZW1lbnQpCisgICAgdGhpcy5vcHRpb25zICA9ICQuZXh0ZW5kKHt9LCBCdXR0b24uREVGQVVMVFMsIG9wdGlvbnMpCisgIH0KKworICBCdXR0b24uREVGQVVMVFMgPSB7CisgICAgbG9hZGluZ1RleHQ6ICdsb2FkaW5nLi4uJworICB9CisKKyAgQnV0dG9uLnByb3RvdHlwZS5zZXRTdGF0ZSA9IGZ1bmN0aW9uIChzdGF0ZSkgeworICAgIHZhciBkICAgID0gJ2Rpc2FibGVkJworICAgIHZhciAkZWwgID0gdGhpcy4kZWxlbWVudAorICAgIHZhciB2YWwgID0gJGVsLmlzKCdpbnB1dCcpID8gJ3ZhbCcgOiAnaHRtbCcKKyAgICB2YXIgZGF0YSA9ICRlbC5kYXRhKCkKKworICAgIHN0YXRlID0gc3RhdGUgKyAnVGV4dCcKKworICAgIGlmICghZGF0YS5yZXNldFRleHQpICRlbC5kYXRhKCdyZXNldFRleHQnLCAkZWxbdmFsXSgpKQorCisgICAgJGVsW3ZhbF0oZGF0YVtzdGF0ZV0gfHwgdGhpcy5vcHRpb25zW3N0YXRlXSkKKworICAgIC8vIHB1c2ggdG8gZXZlbnQgbG9vcCB0byBhbGxvdyBmb3JtcyB0byBzdWJtaXQKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKKyAgICAgIHN0YXRlID09ICdsb2FkaW5nVGV4dCcgPworICAgICAgICAkZWwuYWRkQ2xhc3MoZCkuYXR0cihkLCBkKSA6CisgICAgICAgICRlbC5yZW1vdmVDbGFzcyhkKS5yZW1vdmVBdHRyKGQpOworICAgIH0sIDApCisgIH0KKworICBCdXR0b24ucHJvdG90eXBlLnRvZ2dsZSA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgJHBhcmVudCA9IHRoaXMuJGVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtdG9nZ2xlPSJidXR0b25zIl0nKQorCisgICAgaWYgKCRwYXJlbnQubGVuZ3RoKSB7CisgICAgICB2YXIgJGlucHV0ID0gdGhpcy4kZWxlbWVudC5maW5kKCdpbnB1dCcpCisgICAgICAgIC5wcm9wKCdjaGVja2VkJywgIXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoJ2FjdGl2ZScpKQorICAgICAgICAudHJpZ2dlcignY2hhbmdlJykKKyAgICAgIGlmICgkaW5wdXQucHJvcCgndHlwZScpID09PSAncmFkaW8nKSAkcGFyZW50LmZpbmQoJy5hY3RpdmUnKS5yZW1vdmVDbGFzcygnYWN0aXZlJykKKyAgICB9CisKKyAgICB0aGlzLiRlbGVtZW50LnRvZ2dsZUNsYXNzKCdhY3RpdmUnKQorICB9CisKKworICAvLyBCVVRUT04gUExVR0lOIERFRklOSVRJT04KKyAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgdmFyIG9sZCA9ICQuZm4uYnV0dG9uCisKKyAgJC5mbi5idXR0b24gPSBmdW5jdGlvbiAob3B0aW9uKSB7CisgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CisgICAgICB2YXIgJHRoaXMgICA9ICQodGhpcykKKyAgICAgIHZhciBkYXRhICAgID0gJHRoaXMuZGF0YSgnYnMuYnV0dG9uJykKKyAgICAgIHZhciBvcHRpb25zID0gdHlwZW9mIG9wdGlvbiA9PSAnb2JqZWN0JyAmJiBvcHRpb24KKworICAgICAgaWYgKCFkYXRhKSAkdGhpcy5kYXRhKCdicy5idXR0b24nLCAoZGF0YSA9IG5ldyBCdXR0b24odGhpcywgb3B0aW9ucykpKQorCisgICAgICBpZiAob3B0aW9uID09ICd0b2dnbGUnKSBkYXRhLnRvZ2dsZSgpCisgICAgICBlbHNlIGlmIChvcHRpb24pIGRhdGEuc2V0U3RhdGUob3B0aW9uKQorICAgIH0pCisgIH0KKworICAkLmZuLmJ1dHRvbi5Db25zdHJ1Y3RvciA9IEJ1dHRvbgorCisKKyAgLy8gQlVUVE9OIE5PIENPTkZMSUNUCisgIC8vID09PT09PT09PT09PT09PT09PQorCisgICQuZm4uYnV0dG9uLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7CisgICAgJC5mbi5idXR0b24gPSBvbGQKKyAgICByZXR1cm4gdGhpcworICB9CisKKworICAvLyBCVVRUT04gREFUQS1BUEkKKyAgLy8gPT09PT09PT09PT09PT09CisKKyAgJChkb2N1bWVudCkub24oJ2NsaWNrLmJzLmJ1dHRvbi5kYXRhLWFwaScsICdbZGF0YS10b2dnbGVePWJ1dHRvbl0nLCBmdW5jdGlvbiAoZSkgeworICAgIHZhciAkYnRuID0gJChlLnRhcmdldCkKKyAgICBpZiAoISRidG4uaGFzQ2xhc3MoJ2J0bicpKSAkYnRuID0gJGJ0bi5jbG9zZXN0KCcuYnRuJykKKyAgICAkYnRuLmJ1dHRvbigndG9nZ2xlJykKKyAgICBlLnByZXZlbnREZWZhdWx0KCkKKyAgfSkKKworfShqUXVlcnkpOworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIEJvb3RzdHJhcDogY2Fyb3VzZWwuanMgdjMuMC4yCisgKiBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9qYXZhc2NyaXB0LyNjYXJvdXNlbAorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgMjAxMyBUd2l0dGVyLCBJbmMuCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworCisKKytmdW5jdGlvbiAoJCkgeyAidXNlIHN0cmljdCI7CisKKyAgLy8gQ0FST1VTRUwgQ0xBU1MgREVGSU5JVElPTgorICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgdmFyIENhcm91c2VsID0gZnVuY3Rpb24gKGVsZW1lbnQsIG9wdGlvbnMpIHsKKyAgICB0aGlzLiRlbGVtZW50ICAgID0gJChlbGVtZW50KQorICAgIHRoaXMuJGluZGljYXRvcnMgPSB0aGlzLiRlbGVtZW50LmZpbmQoJy5jYXJvdXNlbC1pbmRpY2F0b3JzJykKKyAgICB0aGlzLm9wdGlvbnMgICAgID0gb3B0aW9ucworICAgIHRoaXMucGF1c2VkICAgICAgPQorICAgIHRoaXMuc2xpZGluZyAgICAgPQorICAgIHRoaXMuaW50ZXJ2YWwgICAgPQorICAgIHRoaXMuJGFjdGl2ZSAgICAgPQorICAgIHRoaXMuJGl0ZW1zICAgICAgPSBudWxsCisKKyAgICB0aGlzLm9wdGlvbnMucGF1c2UgPT0gJ2hvdmVyJyAmJiB0aGlzLiRlbGVtZW50CisgICAgICAub24oJ21vdXNlZW50ZXInLCAkLnByb3h5KHRoaXMucGF1c2UsIHRoaXMpKQorICAgICAgLm9uKCdtb3VzZWxlYXZlJywgJC5wcm94eSh0aGlzLmN5Y2xlLCB0aGlzKSkKKyAgfQorCisgIENhcm91c2VsLkRFRkFVTFRTID0geworICAgIGludGVydmFsOiA1MDAwCisgICwgcGF1c2U6ICdob3ZlcicKKyAgLCB3cmFwOiB0cnVlCisgIH0KKworICBDYXJvdXNlbC5wcm90b3R5cGUuY3ljbGUgPSAgZnVuY3Rpb24gKGUpIHsKKyAgICBlIHx8ICh0aGlzLnBhdXNlZCA9IGZhbHNlKQorCisgICAgdGhpcy5pbnRlcnZhbCAmJiBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpCisKKyAgICB0aGlzLm9wdGlvbnMuaW50ZXJ2YWwKKyAgICAgICYmICF0aGlzLnBhdXNlZAorICAgICAgJiYgKHRoaXMuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgkLnByb3h5KHRoaXMubmV4dCwgdGhpcyksIHRoaXMub3B0aW9ucy5pbnRlcnZhbCkpCisKKyAgICByZXR1cm4gdGhpcworICB9CisKKyAgQ2Fyb3VzZWwucHJvdG90eXBlLmdldEFjdGl2ZUluZGV4ID0gZnVuY3Rpb24gKCkgeworICAgIHRoaXMuJGFjdGl2ZSA9IHRoaXMuJGVsZW1lbnQuZmluZCgnLml0ZW0uYWN0aXZlJykKKyAgICB0aGlzLiRpdGVtcyAgPSB0aGlzLiRhY3RpdmUucGFyZW50KCkuY2hpbGRyZW4oKQorCisgICAgcmV0dXJuIHRoaXMuJGl0ZW1zLmluZGV4KHRoaXMuJGFjdGl2ZSkKKyAgfQorCisgIENhcm91c2VsLnByb3RvdHlwZS50byA9IGZ1bmN0aW9uIChwb3MpIHsKKyAgICB2YXIgdGhhdCAgICAgICAgPSB0aGlzCisgICAgdmFyIGFjdGl2ZUluZGV4ID0gdGhpcy5nZXRBY3RpdmVJbmRleCgpCisKKyAgICBpZiAocG9zID4gKHRoaXMuJGl0ZW1zLmxlbmd0aCAtIDEpIHx8IHBvcyA8IDApIHJldHVybgorCisgICAgaWYgKHRoaXMuc2xpZGluZykgICAgICAgcmV0dXJuIHRoaXMuJGVsZW1lbnQub25lKCdzbGlkJywgZnVuY3Rpb24gKCkgeyB0aGF0LnRvKHBvcykgfSkKKyAgICBpZiAoYWN0aXZlSW5kZXggPT0gcG9zKSByZXR1cm4gdGhpcy5wYXVzZSgpLmN5Y2xlKCkKKworICAgIHJldHVybiB0aGlzLnNsaWRlKHBvcyA+IGFjdGl2ZUluZGV4ID8gJ25leHQnIDogJ3ByZXYnLCAkKHRoaXMuJGl0ZW1zW3Bvc10pKQorICB9CisKKyAgQ2Fyb3VzZWwucHJvdG90eXBlLnBhdXNlID0gZnVuY3Rpb24gKGUpIHsKKyAgICBlIHx8ICh0aGlzLnBhdXNlZCA9IHRydWUpCisKKyAgICBpZiAodGhpcy4kZWxlbWVudC5maW5kKCcubmV4dCwgLnByZXYnKS5sZW5ndGggJiYgJC5zdXBwb3J0LnRyYW5zaXRpb24uZW5kKSB7CisgICAgICB0aGlzLiRlbGVtZW50LnRyaWdnZXIoJC5zdXBwb3J0LnRyYW5zaXRpb24uZW5kKQorICAgICAgdGhpcy5jeWNsZSh0cnVlKQorICAgIH0KKworICAgIHRoaXMuaW50ZXJ2YWwgPSBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpCisKKyAgICByZXR1cm4gdGhpcworICB9CisKKyAgQ2Fyb3VzZWwucHJvdG90eXBlLm5leHQgPSBmdW5jdGlvbiAoKSB7CisgICAgaWYgKHRoaXMuc2xpZGluZykgcmV0dXJuCisgICAgcmV0dXJuIHRoaXMuc2xpZGUoJ25leHQnKQorICB9CisKKyAgQ2Fyb3VzZWwucHJvdG90eXBlLnByZXYgPSBmdW5jdGlvbiAoKSB7CisgICAgaWYgKHRoaXMuc2xpZGluZykgcmV0dXJuCisgICAgcmV0dXJuIHRoaXMuc2xpZGUoJ3ByZXYnKQorICB9CisKKyAgQ2Fyb3VzZWwucHJvdG90eXBlLnNsaWRlID0gZnVuY3Rpb24gKHR5cGUsIG5leHQpIHsKKyAgICB2YXIgJGFjdGl2ZSAgID0gdGhpcy4kZWxlbWVudC5maW5kKCcuaXRlbS5hY3RpdmUnKQorICAgIHZhciAkbmV4dCAgICAgPSBuZXh0IHx8ICRhY3RpdmVbdHlwZV0oKQorICAgIHZhciBpc0N5Y2xpbmcgPSB0aGlzLmludGVydmFsCisgICAgdmFyIGRpcmVjdGlvbiA9IHR5cGUgPT0gJ25leHQnID8gJ2xlZnQnIDogJ3JpZ2h0JworICAgIHZhciBmYWxsYmFjayAgPSB0eXBlID09ICduZXh0JyA/ICdmaXJzdCcgOiAnbGFzdCcKKyAgICB2YXIgdGhhdCAgICAgID0gdGhpcworCisgICAgaWYgKCEkbmV4dC5sZW5ndGgpIHsKKyAgICAgIGlmICghdGhpcy5vcHRpb25zLndyYXApIHJldHVybgorICAgICAgJG5leHQgPSB0aGlzLiRlbGVtZW50LmZpbmQoJy5pdGVtJylbZmFsbGJhY2tdKCkKKyAgICB9CisKKyAgICB0aGlzLnNsaWRpbmcgPSB0cnVlCisKKyAgICBpc0N5Y2xpbmcgJiYgdGhpcy5wYXVzZSgpCisKKyAgICB2YXIgZSA9ICQuRXZlbnQoJ3NsaWRlLmJzLmNhcm91c2VsJywgeyByZWxhdGVkVGFyZ2V0OiAkbmV4dFswXSwgZGlyZWN0aW9uOiBkaXJlY3Rpb24gfSkKKworICAgIGlmICgkbmV4dC5oYXNDbGFzcygnYWN0aXZlJykpIHJldHVybgorCisgICAgaWYgKHRoaXMuJGluZGljYXRvcnMubGVuZ3RoKSB7CisgICAgICB0aGlzLiRpbmRpY2F0b3JzLmZpbmQoJy5hY3RpdmUnKS5yZW1vdmVDbGFzcygnYWN0aXZlJykKKyAgICAgIHRoaXMuJGVsZW1lbnQub25lKCdzbGlkJywgZnVuY3Rpb24gKCkgeworICAgICAgICB2YXIgJG5leHRJbmRpY2F0b3IgPSAkKHRoYXQuJGluZGljYXRvcnMuY2hpbGRyZW4oKVt0aGF0LmdldEFjdGl2ZUluZGV4KCldKQorICAgICAgICAkbmV4dEluZGljYXRvciAmJiAkbmV4dEluZGljYXRvci5hZGRDbGFzcygnYWN0aXZlJykKKyAgICAgIH0pCisgICAgfQorCisgICAgaWYgKCQuc3VwcG9ydC50cmFuc2l0aW9uICYmIHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoJ3NsaWRlJykpIHsKKyAgICAgIHRoaXMuJGVsZW1lbnQudHJpZ2dlcihlKQorICAgICAgaWYgKGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHJldHVybgorICAgICAgJG5leHQuYWRkQ2xhc3ModHlwZSkKKyAgICAgICRuZXh0WzBdLm9mZnNldFdpZHRoIC8vIGZvcmNlIHJlZmxvdworICAgICAgJGFjdGl2ZS5hZGRDbGFzcyhkaXJlY3Rpb24pCisgICAgICAkbmV4dC5hZGRDbGFzcyhkaXJlY3Rpb24pCisgICAgICAkYWN0aXZlCisgICAgICAgIC5vbmUoJC5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgJG5leHQucmVtb3ZlQ2xhc3MoW3R5cGUsIGRpcmVjdGlvbl0uam9pbignICcpKS5hZGRDbGFzcygnYWN0aXZlJykKKyAgICAgICAgICAkYWN0aXZlLnJlbW92ZUNsYXNzKFsnYWN0aXZlJywgZGlyZWN0aW9uXS5qb2luKCcgJykpCisgICAgICAgICAgdGhhdC5zbGlkaW5nID0gZmFsc2UKKyAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgdGhhdC4kZWxlbWVudC50cmlnZ2VyKCdzbGlkJykgfSwgMCkKKyAgICAgICAgfSkKKyAgICAgICAgLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDYwMCkKKyAgICB9IGVsc2UgeworICAgICAgdGhpcy4kZWxlbWVudC50cmlnZ2VyKGUpCisgICAgICBpZiAoZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgcmV0dXJuCisgICAgICAkYWN0aXZlLnJlbW92ZUNsYXNzKCdhY3RpdmUnKQorICAgICAgJG5leHQuYWRkQ2xhc3MoJ2FjdGl2ZScpCisgICAgICB0aGlzLnNsaWRpbmcgPSBmYWxzZQorICAgICAgdGhpcy4kZWxlbWVudC50cmlnZ2VyKCdzbGlkJykKKyAgICB9CisKKyAgICBpc0N5Y2xpbmcgJiYgdGhpcy5jeWNsZSgpCisKKyAgICByZXR1cm4gdGhpcworICB9CisKKworICAvLyBDQVJPVVNFTCBQTFVHSU4gREVGSU5JVElPTgorICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgIHZhciBvbGQgPSAkLmZuLmNhcm91c2VsCisKKyAgJC5mbi5jYXJvdXNlbCA9IGZ1bmN0aW9uIChvcHRpb24pIHsKKyAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsKKyAgICAgIHZhciAkdGhpcyAgID0gJCh0aGlzKQorICAgICAgdmFyIGRhdGEgICAgPSAkdGhpcy5kYXRhKCdicy5jYXJvdXNlbCcpCisgICAgICB2YXIgb3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCBDYXJvdXNlbC5ERUZBVUxUUywgJHRoaXMuZGF0YSgpLCB0eXBlb2Ygb3B0aW9uID09ICdvYmplY3QnICYmIG9wdGlvbikKKyAgICAgIHZhciBhY3Rpb24gID0gdHlwZW9mIG9wdGlvbiA9PSAnc3RyaW5nJyA/IG9wdGlvbiA6IG9wdGlvbnMuc2xpZGUKKworICAgICAgaWYgKCFkYXRhKSAkdGhpcy5kYXRhKCdicy5jYXJvdXNlbCcsIChkYXRhID0gbmV3IENhcm91c2VsKHRoaXMsIG9wdGlvbnMpKSkKKyAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09ICdudW1iZXInKSBkYXRhLnRvKG9wdGlvbikKKyAgICAgIGVsc2UgaWYgKGFjdGlvbikgZGF0YVthY3Rpb25dKCkKKyAgICAgIGVsc2UgaWYgKG9wdGlvbnMuaW50ZXJ2YWwpIGRhdGEucGF1c2UoKS5jeWNsZSgpCisgICAgfSkKKyAgfQorCisgICQuZm4uY2Fyb3VzZWwuQ29uc3RydWN0b3IgPSBDYXJvdXNlbAorCisKKyAgLy8gQ0FST1VTRUwgTk8gQ09ORkxJQ1QKKyAgLy8gPT09PT09PT09PT09PT09PT09PT0KKworICAkLmZuLmNhcm91c2VsLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7CisgICAgJC5mbi5jYXJvdXNlbCA9IG9sZAorICAgIHJldHVybiB0aGlzCisgIH0KKworCisgIC8vIENBUk9VU0VMIERBVEEtQVBJCisgIC8vID09PT09PT09PT09PT09PT09CisKKyAgJChkb2N1bWVudCkub24oJ2NsaWNrLmJzLmNhcm91c2VsLmRhdGEtYXBpJywgJ1tkYXRhLXNsaWRlXSwgW2RhdGEtc2xpZGUtdG9dJywgZnVuY3Rpb24gKGUpIHsKKyAgICB2YXIgJHRoaXMgICA9ICQodGhpcyksIGhyZWYKKyAgICB2YXIgJHRhcmdldCA9ICQoJHRoaXMuYXR0cignZGF0YS10YXJnZXQnKSB8fCAoaHJlZiA9ICR0aGlzLmF0dHIoJ2hyZWYnKSkgJiYgaHJlZi5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sICcnKSkgLy9zdHJpcCBmb3IgaWU3CisgICAgdmFyIG9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgJHRhcmdldC5kYXRhKCksICR0aGlzLmRhdGEoKSkKKyAgICB2YXIgc2xpZGVJbmRleCA9ICR0aGlzLmF0dHIoJ2RhdGEtc2xpZGUtdG8nKQorICAgIGlmIChzbGlkZUluZGV4KSBvcHRpb25zLmludGVydmFsID0gZmFsc2UKKworICAgICR0YXJnZXQuY2Fyb3VzZWwob3B0aW9ucykKKworICAgIGlmIChzbGlkZUluZGV4ID0gJHRoaXMuYXR0cignZGF0YS1zbGlkZS10bycpKSB7CisgICAgICAkdGFyZ2V0LmRhdGEoJ2JzLmNhcm91c2VsJykudG8oc2xpZGVJbmRleCkKKyAgICB9CisKKyAgICBlLnByZXZlbnREZWZhdWx0KCkKKyAgfSkKKworICAkKHdpbmRvdykub24oJ2xvYWQnLCBmdW5jdGlvbiAoKSB7CisgICAgJCgnW2RhdGEtcmlkZT0iY2Fyb3VzZWwiXScpLmVhY2goZnVuY3Rpb24gKCkgeworICAgICAgdmFyICRjYXJvdXNlbCA9ICQodGhpcykKKyAgICAgICRjYXJvdXNlbC5jYXJvdXNlbCgkY2Fyb3VzZWwuZGF0YSgpKQorICAgIH0pCisgIH0pCisKK30oalF1ZXJ5KTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBCb290c3RyYXA6IGNvbGxhcHNlLmpzIHYzLjAuMgorICogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vamF2YXNjcmlwdC8jY29sbGFwc2UKKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogQ29weXJpZ2h0IDIwMTMgVHdpdHRlciwgSW5jLgorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKworCisrZnVuY3Rpb24gKCQpIHsgInVzZSBzdHJpY3QiOworCisgIC8vIENPTExBUFNFIFBVQkxJQyBDTEFTUyBERUZJTklUSU9OCisgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgdmFyIENvbGxhcHNlID0gZnVuY3Rpb24gKGVsZW1lbnQsIG9wdGlvbnMpIHsKKyAgICB0aGlzLiRlbGVtZW50ICAgICAgPSAkKGVsZW1lbnQpCisgICAgdGhpcy5vcHRpb25zICAgICAgID0gJC5leHRlbmQoe30sIENvbGxhcHNlLkRFRkFVTFRTLCBvcHRpb25zKQorICAgIHRoaXMudHJhbnNpdGlvbmluZyA9IG51bGwKKworICAgIGlmICh0aGlzLm9wdGlvbnMucGFyZW50KSB0aGlzLiRwYXJlbnQgPSAkKHRoaXMub3B0aW9ucy5wYXJlbnQpCisgICAgaWYgKHRoaXMub3B0aW9ucy50b2dnbGUpIHRoaXMudG9nZ2xlKCkKKyAgfQorCisgIENvbGxhcHNlLkRFRkFVTFRTID0geworICAgIHRvZ2dsZTogdHJ1ZQorICB9CisKKyAgQ29sbGFwc2UucHJvdG90eXBlLmRpbWVuc2lvbiA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgaGFzV2lkdGggPSB0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCd3aWR0aCcpCisgICAgcmV0dXJuIGhhc1dpZHRoID8gJ3dpZHRoJyA6ICdoZWlnaHQnCisgIH0KKworICBDb2xsYXBzZS5wcm90b3R5cGUuc2hvdyA9IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAodGhpcy50cmFuc2l0aW9uaW5nIHx8IHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoJ2luJykpIHJldHVybgorCisgICAgdmFyIHN0YXJ0RXZlbnQgPSAkLkV2ZW50KCdzaG93LmJzLmNvbGxhcHNlJykKKyAgICB0aGlzLiRlbGVtZW50LnRyaWdnZXIoc3RhcnRFdmVudCkKKyAgICBpZiAoc3RhcnRFdmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgcmV0dXJuCisKKyAgICB2YXIgYWN0aXZlcyA9IHRoaXMuJHBhcmVudCAmJiB0aGlzLiRwYXJlbnQuZmluZCgnPiAucGFuZWwgPiAuaW4nKQorCisgICAgaWYgKGFjdGl2ZXMgJiYgYWN0aXZlcy5sZW5ndGgpIHsKKyAgICAgIHZhciBoYXNEYXRhID0gYWN0aXZlcy5kYXRhKCdicy5jb2xsYXBzZScpCisgICAgICBpZiAoaGFzRGF0YSAmJiBoYXNEYXRhLnRyYW5zaXRpb25pbmcpIHJldHVybgorICAgICAgYWN0aXZlcy5jb2xsYXBzZSgnaGlkZScpCisgICAgICBoYXNEYXRhIHx8IGFjdGl2ZXMuZGF0YSgnYnMuY29sbGFwc2UnLCBudWxsKQorICAgIH0KKworICAgIHZhciBkaW1lbnNpb24gPSB0aGlzLmRpbWVuc2lvbigpCisKKyAgICB0aGlzLiRlbGVtZW50CisgICAgICAucmVtb3ZlQ2xhc3MoJ2NvbGxhcHNlJykKKyAgICAgIC5hZGRDbGFzcygnY29sbGFwc2luZycpCisgICAgICBbZGltZW5zaW9uXSgwKQorCisgICAgdGhpcy50cmFuc2l0aW9uaW5nID0gMQorCisgICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gKCkgeworICAgICAgdGhpcy4kZWxlbWVudAorICAgICAgICAucmVtb3ZlQ2xhc3MoJ2NvbGxhcHNpbmcnKQorICAgICAgICAuYWRkQ2xhc3MoJ2luJykKKyAgICAgICAgW2RpbWVuc2lvbl0oJ2F1dG8nKQorICAgICAgdGhpcy50cmFuc2l0aW9uaW5nID0gMAorICAgICAgdGhpcy4kZWxlbWVudC50cmlnZ2VyKCdzaG93bi5icy5jb2xsYXBzZScpCisgICAgfQorCisgICAgaWYgKCEkLnN1cHBvcnQudHJhbnNpdGlvbikgcmV0dXJuIGNvbXBsZXRlLmNhbGwodGhpcykKKworICAgIHZhciBzY3JvbGxTaXplID0gJC5jYW1lbENhc2UoWydzY3JvbGwnLCBkaW1lbnNpb25dLmpvaW4oJy0nKSkKKworICAgIHRoaXMuJGVsZW1lbnQKKyAgICAgIC5vbmUoJC5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLCAkLnByb3h5KGNvbXBsZXRlLCB0aGlzKSkKKyAgICAgIC5lbXVsYXRlVHJhbnNpdGlvbkVuZCgzNTApCisgICAgICBbZGltZW5zaW9uXSh0aGlzLiRlbGVtZW50WzBdW3Njcm9sbFNpemVdKQorICB9CisKKyAgQ29sbGFwc2UucHJvdG90eXBlLmhpZGUgPSBmdW5jdGlvbiAoKSB7CisgICAgaWYgKHRoaXMudHJhbnNpdGlvbmluZyB8fCAhdGhpcy4kZWxlbWVudC5oYXNDbGFzcygnaW4nKSkgcmV0dXJuCisKKyAgICB2YXIgc3RhcnRFdmVudCA9ICQuRXZlbnQoJ2hpZGUuYnMuY29sbGFwc2UnKQorICAgIHRoaXMuJGVsZW1lbnQudHJpZ2dlcihzdGFydEV2ZW50KQorICAgIGlmIChzdGFydEV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpKSByZXR1cm4KKworICAgIHZhciBkaW1lbnNpb24gPSB0aGlzLmRpbWVuc2lvbigpCisKKyAgICB0aGlzLiRlbGVtZW50CisgICAgICBbZGltZW5zaW9uXSh0aGlzLiRlbGVtZW50W2RpbWVuc2lvbl0oKSkKKyAgICAgIFswXS5vZmZzZXRIZWlnaHQKKworICAgIHRoaXMuJGVsZW1lbnQKKyAgICAgIC5hZGRDbGFzcygnY29sbGFwc2luZycpCisgICAgICAucmVtb3ZlQ2xhc3MoJ2NvbGxhcHNlJykKKyAgICAgIC5yZW1vdmVDbGFzcygnaW4nKQorCisgICAgdGhpcy50cmFuc2l0aW9uaW5nID0gMQorCisgICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gKCkgeworICAgICAgdGhpcy50cmFuc2l0aW9uaW5nID0gMAorICAgICAgdGhpcy4kZWxlbWVudAorICAgICAgICAudHJpZ2dlcignaGlkZGVuLmJzLmNvbGxhcHNlJykKKyAgICAgICAgLnJlbW92ZUNsYXNzKCdjb2xsYXBzaW5nJykKKyAgICAgICAgLmFkZENsYXNzKCdjb2xsYXBzZScpCisgICAgfQorCisgICAgaWYgKCEkLnN1cHBvcnQudHJhbnNpdGlvbikgcmV0dXJuIGNvbXBsZXRlLmNhbGwodGhpcykKKworICAgIHRoaXMuJGVsZW1lbnQKKyAgICAgIFtkaW1lbnNpb25dKDApCisgICAgICAub25lKCQuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCwgJC5wcm94eShjb21wbGV0ZSwgdGhpcykpCisgICAgICAuZW11bGF0ZVRyYW5zaXRpb25FbmQoMzUwKQorICB9CisKKyAgQ29sbGFwc2UucHJvdG90eXBlLnRvZ2dsZSA9IGZ1bmN0aW9uICgpIHsKKyAgICB0aGlzW3RoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoJ2luJykgPyAnaGlkZScgOiAnc2hvdyddKCkKKyAgfQorCisKKyAgLy8gQ09MTEFQU0UgUExVR0lOIERFRklOSVRJT04KKyAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICB2YXIgb2xkID0gJC5mbi5jb2xsYXBzZQorCisgICQuZm4uY29sbGFwc2UgPSBmdW5jdGlvbiAob3B0aW9uKSB7CisgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CisgICAgICB2YXIgJHRoaXMgICA9ICQodGhpcykKKyAgICAgIHZhciBkYXRhICAgID0gJHRoaXMuZGF0YSgnYnMuY29sbGFwc2UnKQorICAgICAgdmFyIG9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgQ29sbGFwc2UuREVGQVVMVFMsICR0aGlzLmRhdGEoKSwgdHlwZW9mIG9wdGlvbiA9PSAnb2JqZWN0JyAmJiBvcHRpb24pCisKKyAgICAgIGlmICghZGF0YSkgJHRoaXMuZGF0YSgnYnMuY29sbGFwc2UnLCAoZGF0YSA9IG5ldyBDb2xsYXBzZSh0aGlzLCBvcHRpb25zKSkpCisgICAgICBpZiAodHlwZW9mIG9wdGlvbiA9PSAnc3RyaW5nJykgZGF0YVtvcHRpb25dKCkKKyAgICB9KQorICB9CisKKyAgJC5mbi5jb2xsYXBzZS5Db25zdHJ1Y3RvciA9IENvbGxhcHNlCisKKworICAvLyBDT0xMQVBTRSBOTyBDT05GTElDVAorICAvLyA9PT09PT09PT09PT09PT09PT09PQorCisgICQuZm4uY29sbGFwc2Uubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHsKKyAgICAkLmZuLmNvbGxhcHNlID0gb2xkCisgICAgcmV0dXJuIHRoaXMKKyAgfQorCisKKyAgLy8gQ09MTEFQU0UgREFUQS1BUEkKKyAgLy8gPT09PT09PT09PT09PT09PT0KKworICAkKGRvY3VtZW50KS5vbignY2xpY2suYnMuY29sbGFwc2UuZGF0YS1hcGknLCAnW2RhdGEtdG9nZ2xlPWNvbGxhcHNlXScsIGZ1bmN0aW9uIChlKSB7CisgICAgdmFyICR0aGlzICAgPSAkKHRoaXMpLCBocmVmCisgICAgdmFyIHRhcmdldCAgPSAkdGhpcy5hdHRyKCdkYXRhLXRhcmdldCcpCisgICAgICAgIHx8IGUucHJldmVudERlZmF1bHQoKQorICAgICAgICB8fCAoaHJlZiA9ICR0aGlzLmF0dHIoJ2hyZWYnKSkgJiYgaHJlZi5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sICcnKSAvL3N0cmlwIGZvciBpZTcKKyAgICB2YXIgJHRhcmdldCA9ICQodGFyZ2V0KQorICAgIHZhciBkYXRhICAgID0gJHRhcmdldC5kYXRhKCdicy5jb2xsYXBzZScpCisgICAgdmFyIG9wdGlvbiAgPSBkYXRhID8gJ3RvZ2dsZScgOiAkdGhpcy5kYXRhKCkKKyAgICB2YXIgcGFyZW50ICA9ICR0aGlzLmF0dHIoJ2RhdGEtcGFyZW50JykKKyAgICB2YXIgJHBhcmVudCA9IHBhcmVudCAmJiAkKHBhcmVudCkKKworICAgIGlmICghZGF0YSB8fCAhZGF0YS50cmFuc2l0aW9uaW5nKSB7CisgICAgICBpZiAoJHBhcmVudCkgJHBhcmVudC5maW5kKCdbZGF0YS10b2dnbGU9Y29sbGFwc2VdW2RhdGEtcGFyZW50PSInICsgcGFyZW50ICsgJyJdJykubm90KCR0aGlzKS5hZGRDbGFzcygnY29sbGFwc2VkJykKKyAgICAgICR0aGlzWyR0YXJnZXQuaGFzQ2xhc3MoJ2luJykgPyAnYWRkQ2xhc3MnIDogJ3JlbW92ZUNsYXNzJ10oJ2NvbGxhcHNlZCcpCisgICAgfQorCisgICAgJHRhcmdldC5jb2xsYXBzZShvcHRpb24pCisgIH0pCisKK30oalF1ZXJ5KTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBCb290c3RyYXA6IGRyb3Bkb3duLmpzIHYzLjAuMgorICogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vamF2YXNjcmlwdC8jZHJvcGRvd25zCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIENvcHlyaWdodCAyMDEzIFR3aXR0ZXIsIEluYy4KKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisKKworK2Z1bmN0aW9uICgkKSB7ICJ1c2Ugc3RyaWN0IjsKKworICAvLyBEUk9QRE9XTiBDTEFTUyBERUZJTklUSU9OCisgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT0KKworICB2YXIgYmFja2Ryb3AgPSAnLmRyb3Bkb3duLWJhY2tkcm9wJworICB2YXIgdG9nZ2xlICAgPSAnW2RhdGEtdG9nZ2xlPWRyb3Bkb3duXScKKyAgdmFyIERyb3Bkb3duID0gZnVuY3Rpb24gKGVsZW1lbnQpIHsKKyAgICB2YXIgJGVsID0gJChlbGVtZW50KS5vbignY2xpY2suYnMuZHJvcGRvd24nLCB0aGlzLnRvZ2dsZSkKKyAgfQorCisgIERyb3Bkb3duLnByb3RvdHlwZS50b2dnbGUgPSBmdW5jdGlvbiAoZSkgeworICAgIHZhciAkdGhpcyA9ICQodGhpcykKKworICAgIGlmICgkdGhpcy5pcygnLmRpc2FibGVkLCA6ZGlzYWJsZWQnKSkgcmV0dXJuCisKKyAgICB2YXIgJHBhcmVudCAgPSBnZXRQYXJlbnQoJHRoaXMpCisgICAgdmFyIGlzQWN0aXZlID0gJHBhcmVudC5oYXNDbGFzcygnb3BlbicpCisKKyAgICBjbGVhck1lbnVzKCkKKworICAgIGlmICghaXNBY3RpdmUpIHsKKyAgICAgIGlmICgnb250b3VjaHN0YXJ0JyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgISRwYXJlbnQuY2xvc2VzdCgnLm5hdmJhci1uYXYnKS5sZW5ndGgpIHsKKyAgICAgICAgLy8gaWYgbW9iaWxlIHdlIHdlIHVzZSBhIGJhY2tkcm9wIGJlY2F1c2UgY2xpY2sgZXZlbnRzIGRvbid0IGRlbGVnYXRlCisgICAgICAgICQoJzxkaXYgY2xhc3M9ImRyb3Bkb3duLWJhY2tkcm9wIi8+JykuaW5zZXJ0QWZ0ZXIoJCh0aGlzKSkub24oJ2NsaWNrJywgY2xlYXJNZW51cykKKyAgICAgIH0KKworICAgICAgJHBhcmVudC50cmlnZ2VyKGUgPSAkLkV2ZW50KCdzaG93LmJzLmRyb3Bkb3duJykpCisKKyAgICAgIGlmIChlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSByZXR1cm4KKworICAgICAgJHBhcmVudAorICAgICAgICAudG9nZ2xlQ2xhc3MoJ29wZW4nKQorICAgICAgICAudHJpZ2dlcignc2hvd24uYnMuZHJvcGRvd24nKQorCisgICAgICAkdGhpcy5mb2N1cygpCisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlCisgIH0KKworICBEcm9wZG93bi5wcm90b3R5cGUua2V5ZG93biA9IGZ1bmN0aW9uIChlKSB7CisgICAgaWYgKCEvKDM4fDQwfDI3KS8udGVzdChlLmtleUNvZGUpKSByZXR1cm4KKworICAgIHZhciAkdGhpcyA9ICQodGhpcykKKworICAgIGUucHJldmVudERlZmF1bHQoKQorICAgIGUuc3RvcFByb3BhZ2F0aW9uKCkKKworICAgIGlmICgkdGhpcy5pcygnLmRpc2FibGVkLCA6ZGlzYWJsZWQnKSkgcmV0dXJuCisKKyAgICB2YXIgJHBhcmVudCAgPSBnZXRQYXJlbnQoJHRoaXMpCisgICAgdmFyIGlzQWN0aXZlID0gJHBhcmVudC5oYXNDbGFzcygnb3BlbicpCisKKyAgICBpZiAoIWlzQWN0aXZlIHx8IChpc0FjdGl2ZSAmJiBlLmtleUNvZGUgPT0gMjcpKSB7CisgICAgICBpZiAoZS53aGljaCA9PSAyNykgJHBhcmVudC5maW5kKHRvZ2dsZSkuZm9jdXMoKQorICAgICAgcmV0dXJuICR0aGlzLmNsaWNrKCkKKyAgICB9CisKKyAgICB2YXIgJGl0ZW1zID0gJCgnW3JvbGU9bWVudV0gbGk6bm90KC5kaXZpZGVyKTp2aXNpYmxlIGEnLCAkcGFyZW50KQorCisgICAgaWYgKCEkaXRlbXMubGVuZ3RoKSByZXR1cm4KKworICAgIHZhciBpbmRleCA9ICRpdGVtcy5pbmRleCgkaXRlbXMuZmlsdGVyKCc6Zm9jdXMnKSkKKworICAgIGlmIChlLmtleUNvZGUgPT0gMzggJiYgaW5kZXggPiAwKSAgICAgICAgICAgICAgICAgaW5kZXgtLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVwCisgICAgaWYgKGUua2V5Q29kZSA9PSA0MCAmJiBpbmRleCA8ICRpdGVtcy5sZW5ndGggLSAxKSBpbmRleCsrICAgICAgICAgICAgICAgICAgICAgICAgLy8gZG93bgorICAgIGlmICghfmluZGV4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9MAorCisgICAgJGl0ZW1zLmVxKGluZGV4KS5mb2N1cygpCisgIH0KKworICBmdW5jdGlvbiBjbGVhck1lbnVzKCkgeworICAgICQoYmFja2Ryb3ApLnJlbW92ZSgpCisgICAgJCh0b2dnbGUpLmVhY2goZnVuY3Rpb24gKGUpIHsKKyAgICAgIHZhciAkcGFyZW50ID0gZ2V0UGFyZW50KCQodGhpcykpCisgICAgICBpZiAoISRwYXJlbnQuaGFzQ2xhc3MoJ29wZW4nKSkgcmV0dXJuCisgICAgICAkcGFyZW50LnRyaWdnZXIoZSA9ICQuRXZlbnQoJ2hpZGUuYnMuZHJvcGRvd24nKSkKKyAgICAgIGlmIChlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSByZXR1cm4KKyAgICAgICRwYXJlbnQucmVtb3ZlQ2xhc3MoJ29wZW4nKS50cmlnZ2VyKCdoaWRkZW4uYnMuZHJvcGRvd24nKQorICAgIH0pCisgIH0KKworICBmdW5jdGlvbiBnZXRQYXJlbnQoJHRoaXMpIHsKKyAgICB2YXIgc2VsZWN0b3IgPSAkdGhpcy5hdHRyKCdkYXRhLXRhcmdldCcpCisKKyAgICBpZiAoIXNlbGVjdG9yKSB7CisgICAgICBzZWxlY3RvciA9ICR0aGlzLmF0dHIoJ2hyZWYnKQorICAgICAgc2VsZWN0b3IgPSBzZWxlY3RvciAmJiAvIy8udGVzdChzZWxlY3RvcikgJiYgc2VsZWN0b3IucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCAnJykgLy9zdHJpcCBmb3IgaWU3CisgICAgfQorCisgICAgdmFyICRwYXJlbnQgPSBzZWxlY3RvciAmJiAkKHNlbGVjdG9yKQorCisgICAgcmV0dXJuICRwYXJlbnQgJiYgJHBhcmVudC5sZW5ndGggPyAkcGFyZW50IDogJHRoaXMucGFyZW50KCkKKyAgfQorCisKKyAgLy8gRFJPUERPV04gUExVR0lOIERFRklOSVRJT04KKyAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICB2YXIgb2xkID0gJC5mbi5kcm9wZG93bgorCisgICQuZm4uZHJvcGRvd24gPSBmdW5jdGlvbiAob3B0aW9uKSB7CisgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CisgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpCisgICAgICB2YXIgZGF0YSAgPSAkdGhpcy5kYXRhKCdkcm9wZG93bicpCisKKyAgICAgIGlmICghZGF0YSkgJHRoaXMuZGF0YSgnZHJvcGRvd24nLCAoZGF0YSA9IG5ldyBEcm9wZG93bih0aGlzKSkpCisgICAgICBpZiAodHlwZW9mIG9wdGlvbiA9PSAnc3RyaW5nJykgZGF0YVtvcHRpb25dLmNhbGwoJHRoaXMpCisgICAgfSkKKyAgfQorCisgICQuZm4uZHJvcGRvd24uQ29uc3RydWN0b3IgPSBEcm9wZG93bgorCisKKyAgLy8gRFJPUERPV04gTk8gQ09ORkxJQ1QKKyAgLy8gPT09PT09PT09PT09PT09PT09PT0KKworICAkLmZuLmRyb3Bkb3duLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7CisgICAgJC5mbi5kcm9wZG93biA9IG9sZAorICAgIHJldHVybiB0aGlzCisgIH0KKworCisgIC8vIEFQUExZIFRPIFNUQU5EQVJEIERST1BET1dOIEVMRU1FTlRTCisgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgJChkb2N1bWVudCkKKyAgICAub24oJ2NsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpJywgY2xlYXJNZW51cykKKyAgICAub24oJ2NsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpJywgJy5kcm9wZG93biBmb3JtJywgZnVuY3Rpb24gKGUpIHsgZS5zdG9wUHJvcGFnYXRpb24oKSB9KQorICAgIC5vbignY2xpY2suYnMuZHJvcGRvd24uZGF0YS1hcGknICAsIHRvZ2dsZSwgRHJvcGRvd24ucHJvdG90eXBlLnRvZ2dsZSkKKyAgICAub24oJ2tleWRvd24uYnMuZHJvcGRvd24uZGF0YS1hcGknLCB0b2dnbGUgKyAnLCBbcm9sZT1tZW51XScgLCBEcm9wZG93bi5wcm90b3R5cGUua2V5ZG93bikKKworfShqUXVlcnkpOworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIEJvb3RzdHJhcDogbW9kYWwuanMgdjMuMC4yCisgKiBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9qYXZhc2NyaXB0LyNtb2RhbHMKKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogQ29weXJpZ2h0IDIwMTMgVHdpdHRlciwgSW5jLgorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKworCisrZnVuY3Rpb24gKCQpIHsgInVzZSBzdHJpY3QiOworCisgIC8vIE1PREFMIENMQVNTIERFRklOSVRJT04KKyAgLy8gPT09PT09PT09PT09PT09PT09PT09PQorCisgIHZhciBNb2RhbCA9IGZ1bmN0aW9uIChlbGVtZW50LCBvcHRpb25zKSB7CisgICAgdGhpcy5vcHRpb25zICAgPSBvcHRpb25zCisgICAgdGhpcy4kZWxlbWVudCAgPSAkKGVsZW1lbnQpCisgICAgdGhpcy4kYmFja2Ryb3AgPQorICAgIHRoaXMuaXNTaG93biAgID0gbnVsbAorCisgICAgaWYgKHRoaXMub3B0aW9ucy5yZW1vdGUpIHRoaXMuJGVsZW1lbnQubG9hZCh0aGlzLm9wdGlvbnMucmVtb3RlKQorICB9CisKKyAgTW9kYWwuREVGQVVMVFMgPSB7CisgICAgICBiYWNrZHJvcDogdHJ1ZQorICAgICwga2V5Ym9hcmQ6IHRydWUKKyAgICAsIHNob3c6IHRydWUKKyAgfQorCisgIE1vZGFsLnByb3RvdHlwZS50b2dnbGUgPSBmdW5jdGlvbiAoX3JlbGF0ZWRUYXJnZXQpIHsKKyAgICByZXR1cm4gdGhpc1shdGhpcy5pc1Nob3duID8gJ3Nob3cnIDogJ2hpZGUnXShfcmVsYXRlZFRhcmdldCkKKyAgfQorCisgIE1vZGFsLnByb3RvdHlwZS5zaG93ID0gZnVuY3Rpb24gKF9yZWxhdGVkVGFyZ2V0KSB7CisgICAgdmFyIHRoYXQgPSB0aGlzCisgICAgdmFyIGUgICAgPSAkLkV2ZW50KCdzaG93LmJzLm1vZGFsJywgeyByZWxhdGVkVGFyZ2V0OiBfcmVsYXRlZFRhcmdldCB9KQorCisgICAgdGhpcy4kZWxlbWVudC50cmlnZ2VyKGUpCisKKyAgICBpZiAodGhpcy5pc1Nob3duIHx8IGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHJldHVybgorCisgICAgdGhpcy5pc1Nob3duID0gdHJ1ZQorCisgICAgdGhpcy5lc2NhcGUoKQorCisgICAgdGhpcy4kZWxlbWVudC5vbignY2xpY2suZGlzbWlzcy5tb2RhbCcsICdbZGF0YS1kaXNtaXNzPSJtb2RhbCJdJywgJC5wcm94eSh0aGlzLmhpZGUsIHRoaXMpKQorCisgICAgdGhpcy5iYWNrZHJvcChmdW5jdGlvbiAoKSB7CisgICAgICB2YXIgdHJhbnNpdGlvbiA9ICQuc3VwcG9ydC50cmFuc2l0aW9uICYmIHRoYXQuJGVsZW1lbnQuaGFzQ2xhc3MoJ2ZhZGUnKQorCisgICAgICBpZiAoIXRoYXQuJGVsZW1lbnQucGFyZW50KCkubGVuZ3RoKSB7CisgICAgICAgIHRoYXQuJGVsZW1lbnQuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSkgLy8gZG9uJ3QgbW92ZSBtb2RhbHMgZG9tIHBvc2l0aW9uCisgICAgICB9CisKKyAgICAgIHRoYXQuJGVsZW1lbnQuc2hvdygpCisKKyAgICAgIGlmICh0cmFuc2l0aW9uKSB7CisgICAgICAgIHRoYXQuJGVsZW1lbnRbMF0ub2Zmc2V0V2lkdGggLy8gZm9yY2UgcmVmbG93CisgICAgICB9CisKKyAgICAgIHRoYXQuJGVsZW1lbnQKKyAgICAgICAgLmFkZENsYXNzKCdpbicpCisgICAgICAgIC5hdHRyKCdhcmlhLWhpZGRlbicsIGZhbHNlKQorCisgICAgICB0aGF0LmVuZm9yY2VGb2N1cygpCisKKyAgICAgIHZhciBlID0gJC5FdmVudCgnc2hvd24uYnMubW9kYWwnLCB7IHJlbGF0ZWRUYXJnZXQ6IF9yZWxhdGVkVGFyZ2V0IH0pCisKKyAgICAgIHRyYW5zaXRpb24gPworICAgICAgICB0aGF0LiRlbGVtZW50LmZpbmQoJy5tb2RhbC1kaWFsb2cnKSAvLyB3YWl0IGZvciBtb2RhbCB0byBzbGlkZSBpbgorICAgICAgICAgIC5vbmUoJC5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICB0aGF0LiRlbGVtZW50LmZvY3VzKCkudHJpZ2dlcihlKQorICAgICAgICAgIH0pCisgICAgICAgICAgLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDMwMCkgOgorICAgICAgICB0aGF0LiRlbGVtZW50LmZvY3VzKCkudHJpZ2dlcihlKQorICAgIH0pCisgIH0KKworICBNb2RhbC5wcm90b3R5cGUuaGlkZSA9IGZ1bmN0aW9uIChlKSB7CisgICAgaWYgKGUpIGUucHJldmVudERlZmF1bHQoKQorCisgICAgZSA9ICQuRXZlbnQoJ2hpZGUuYnMubW9kYWwnKQorCisgICAgdGhpcy4kZWxlbWVudC50cmlnZ2VyKGUpCisKKyAgICBpZiAoIXRoaXMuaXNTaG93biB8fCBlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSByZXR1cm4KKworICAgIHRoaXMuaXNTaG93biA9IGZhbHNlCisKKyAgICB0aGlzLmVzY2FwZSgpCisKKyAgICAkKGRvY3VtZW50KS5vZmYoJ2ZvY3VzaW4uYnMubW9kYWwnKQorCisgICAgdGhpcy4kZWxlbWVudAorICAgICAgLnJlbW92ZUNsYXNzKCdpbicpCisgICAgICAuYXR0cignYXJpYS1oaWRkZW4nLCB0cnVlKQorICAgICAgLm9mZignY2xpY2suZGlzbWlzcy5tb2RhbCcpCisKKyAgICAkLnN1cHBvcnQudHJhbnNpdGlvbiAmJiB0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCdmYWRlJykgPworICAgICAgdGhpcy4kZWxlbWVudAorICAgICAgICAub25lKCQuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCwgJC5wcm94eSh0aGlzLmhpZGVNb2RhbCwgdGhpcykpCisgICAgICAgIC5lbXVsYXRlVHJhbnNpdGlvbkVuZCgzMDApIDoKKyAgICAgIHRoaXMuaGlkZU1vZGFsKCkKKyAgfQorCisgIE1vZGFsLnByb3RvdHlwZS5lbmZvcmNlRm9jdXMgPSBmdW5jdGlvbiAoKSB7CisgICAgJChkb2N1bWVudCkKKyAgICAgIC5vZmYoJ2ZvY3VzaW4uYnMubW9kYWwnKSAvLyBndWFyZCBhZ2FpbnN0IGluZmluaXRlIGZvY3VzIGxvb3AKKyAgICAgIC5vbignZm9jdXNpbi5icy5tb2RhbCcsICQucHJveHkoZnVuY3Rpb24gKGUpIHsKKyAgICAgICAgaWYgKHRoaXMuJGVsZW1lbnRbMF0gIT09IGUudGFyZ2V0ICYmICF0aGlzLiRlbGVtZW50LmhhcyhlLnRhcmdldCkubGVuZ3RoKSB7CisgICAgICAgICAgdGhpcy4kZWxlbWVudC5mb2N1cygpCisgICAgICAgIH0KKyAgICAgIH0sIHRoaXMpKQorICB9CisKKyAgTW9kYWwucHJvdG90eXBlLmVzY2FwZSA9IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAodGhpcy5pc1Nob3duICYmIHRoaXMub3B0aW9ucy5rZXlib2FyZCkgeworICAgICAgdGhpcy4kZWxlbWVudC5vbigna2V5dXAuZGlzbWlzcy5icy5tb2RhbCcsICQucHJveHkoZnVuY3Rpb24gKGUpIHsKKyAgICAgICAgZS53aGljaCA9PSAyNyAmJiB0aGlzLmhpZGUoKQorICAgICAgfSwgdGhpcykpCisgICAgfSBlbHNlIGlmICghdGhpcy5pc1Nob3duKSB7CisgICAgICB0aGlzLiRlbGVtZW50Lm9mZigna2V5dXAuZGlzbWlzcy5icy5tb2RhbCcpCisgICAgfQorICB9CisKKyAgTW9kYWwucHJvdG90eXBlLmhpZGVNb2RhbCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgdGhhdCA9IHRoaXMKKyAgICB0aGlzLiRlbGVtZW50LmhpZGUoKQorICAgIHRoaXMuYmFja2Ryb3AoZnVuY3Rpb24gKCkgeworICAgICAgdGhhdC5yZW1vdmVCYWNrZHJvcCgpCisgICAgICB0aGF0LiRlbGVtZW50LnRyaWdnZXIoJ2hpZGRlbi5icy5tb2RhbCcpCisgICAgfSkKKyAgfQorCisgIE1vZGFsLnByb3RvdHlwZS5yZW1vdmVCYWNrZHJvcCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0aGlzLiRiYWNrZHJvcCAmJiB0aGlzLiRiYWNrZHJvcC5yZW1vdmUoKQorICAgIHRoaXMuJGJhY2tkcm9wID0gbnVsbAorICB9CisKKyAgTW9kYWwucHJvdG90eXBlLmJhY2tkcm9wID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CisgICAgdmFyIHRoYXQgICAgPSB0aGlzCisgICAgdmFyIGFuaW1hdGUgPSB0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCdmYWRlJykgPyAnZmFkZScgOiAnJworCisgICAgaWYgKHRoaXMuaXNTaG93biAmJiB0aGlzLm9wdGlvbnMuYmFja2Ryb3ApIHsKKyAgICAgIHZhciBkb0FuaW1hdGUgPSAkLnN1cHBvcnQudHJhbnNpdGlvbiAmJiBhbmltYXRlCisKKyAgICAgIHRoaXMuJGJhY2tkcm9wID0gJCgnPGRpdiBjbGFzcz0ibW9kYWwtYmFja2Ryb3AgJyArIGFuaW1hdGUgKyAnIiAvPicpCisgICAgICAgIC5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KQorCisgICAgICB0aGlzLiRlbGVtZW50Lm9uKCdjbGljay5kaXNtaXNzLm1vZGFsJywgJC5wcm94eShmdW5jdGlvbiAoZSkgeworICAgICAgICBpZiAoZS50YXJnZXQgIT09IGUuY3VycmVudFRhcmdldCkgcmV0dXJuCisgICAgICAgIHRoaXMub3B0aW9ucy5iYWNrZHJvcCA9PSAnc3RhdGljJworICAgICAgICAgID8gdGhpcy4kZWxlbWVudFswXS5mb2N1cy5jYWxsKHRoaXMuJGVsZW1lbnRbMF0pCisgICAgICAgICAgOiB0aGlzLmhpZGUuY2FsbCh0aGlzKQorICAgICAgfSwgdGhpcykpCisKKyAgICAgIGlmIChkb0FuaW1hdGUpIHRoaXMuJGJhY2tkcm9wWzBdLm9mZnNldFdpZHRoIC8vIGZvcmNlIHJlZmxvdworCisgICAgICB0aGlzLiRiYWNrZHJvcC5hZGRDbGFzcygnaW4nKQorCisgICAgICBpZiAoIWNhbGxiYWNrKSByZXR1cm4KKworICAgICAgZG9BbmltYXRlID8KKyAgICAgICAgdGhpcy4kYmFja2Ryb3AKKyAgICAgICAgICAub25lKCQuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCwgY2FsbGJhY2spCisgICAgICAgICAgLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDE1MCkgOgorICAgICAgICBjYWxsYmFjaygpCisKKyAgICB9IGVsc2UgaWYgKCF0aGlzLmlzU2hvd24gJiYgdGhpcy4kYmFja2Ryb3ApIHsKKyAgICAgIHRoaXMuJGJhY2tkcm9wLnJlbW92ZUNsYXNzKCdpbicpCisKKyAgICAgICQuc3VwcG9ydC50cmFuc2l0aW9uICYmIHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoJ2ZhZGUnKT8KKyAgICAgICAgdGhpcy4kYmFja2Ryb3AKKyAgICAgICAgICAub25lKCQuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCwgY2FsbGJhY2spCisgICAgICAgICAgLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDE1MCkgOgorICAgICAgICBjYWxsYmFjaygpCisKKyAgICB9IGVsc2UgaWYgKGNhbGxiYWNrKSB7CisgICAgICBjYWxsYmFjaygpCisgICAgfQorICB9CisKKworICAvLyBNT0RBTCBQTFVHSU4gREVGSU5JVElPTgorICAvLyA9PT09PT09PT09PT09PT09PT09PT09PQorCisgIHZhciBvbGQgPSAkLmZuLm1vZGFsCisKKyAgJC5mbi5tb2RhbCA9IGZ1bmN0aW9uIChvcHRpb24sIF9yZWxhdGVkVGFyZ2V0KSB7CisgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CisgICAgICB2YXIgJHRoaXMgICA9ICQodGhpcykKKyAgICAgIHZhciBkYXRhICAgID0gJHRoaXMuZGF0YSgnYnMubW9kYWwnKQorICAgICAgdmFyIG9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgTW9kYWwuREVGQVVMVFMsICR0aGlzLmRhdGEoKSwgdHlwZW9mIG9wdGlvbiA9PSAnb2JqZWN0JyAmJiBvcHRpb24pCisKKyAgICAgIGlmICghZGF0YSkgJHRoaXMuZGF0YSgnYnMubW9kYWwnLCAoZGF0YSA9IG5ldyBNb2RhbCh0aGlzLCBvcHRpb25zKSkpCisgICAgICBpZiAodHlwZW9mIG9wdGlvbiA9PSAnc3RyaW5nJykgZGF0YVtvcHRpb25dKF9yZWxhdGVkVGFyZ2V0KQorICAgICAgZWxzZSBpZiAob3B0aW9ucy5zaG93KSBkYXRhLnNob3coX3JlbGF0ZWRUYXJnZXQpCisgICAgfSkKKyAgfQorCisgICQuZm4ubW9kYWwuQ29uc3RydWN0b3IgPSBNb2RhbAorCisKKyAgLy8gTU9EQUwgTk8gQ09ORkxJQ1QKKyAgLy8gPT09PT09PT09PT09PT09PT0KKworICAkLmZuLm1vZGFsLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7CisgICAgJC5mbi5tb2RhbCA9IG9sZAorICAgIHJldHVybiB0aGlzCisgIH0KKworCisgIC8vIE1PREFMIERBVEEtQVBJCisgIC8vID09PT09PT09PT09PT09CisKKyAgJChkb2N1bWVudCkub24oJ2NsaWNrLmJzLm1vZGFsLmRhdGEtYXBpJywgJ1tkYXRhLXRvZ2dsZT0ibW9kYWwiXScsIGZ1bmN0aW9uIChlKSB7CisgICAgdmFyICR0aGlzICAgPSAkKHRoaXMpCisgICAgdmFyIGhyZWYgICAgPSAkdGhpcy5hdHRyKCdocmVmJykKKyAgICB2YXIgJHRhcmdldCA9ICQoJHRoaXMuYXR0cignZGF0YS10YXJnZXQnKSB8fCAoaHJlZiAmJiBocmVmLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywgJycpKSkgLy9zdHJpcCBmb3IgaWU3CisgICAgdmFyIG9wdGlvbiAgPSAkdGFyZ2V0LmRhdGEoJ21vZGFsJykgPyAndG9nZ2xlJyA6ICQuZXh0ZW5kKHsgcmVtb3RlOiAhLyMvLnRlc3QoaHJlZikgJiYgaHJlZiB9LCAkdGFyZ2V0LmRhdGEoKSwgJHRoaXMuZGF0YSgpKQorCisgICAgZS5wcmV2ZW50RGVmYXVsdCgpCisKKyAgICAkdGFyZ2V0CisgICAgICAubW9kYWwob3B0aW9uLCB0aGlzKQorICAgICAgLm9uZSgnaGlkZScsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgJHRoaXMuaXMoJzp2aXNpYmxlJykgJiYgJHRoaXMuZm9jdXMoKQorICAgICAgfSkKKyAgfSkKKworICAkKGRvY3VtZW50KQorICAgIC5vbignc2hvdy5icy5tb2RhbCcsICAnLm1vZGFsJywgZnVuY3Rpb24gKCkgeyAkKGRvY3VtZW50LmJvZHkpLmFkZENsYXNzKCdtb2RhbC1vcGVuJykgfSkKKyAgICAub24oJ2hpZGRlbi5icy5tb2RhbCcsICcubW9kYWwnLCBmdW5jdGlvbiAoKSB7ICQoZG9jdW1lbnQuYm9keSkucmVtb3ZlQ2xhc3MoJ21vZGFsLW9wZW4nKSB9KQorCit9KGpRdWVyeSk7CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogQm9vdHN0cmFwOiB0b29sdGlwLmpzIHYzLjAuMgorICogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vamF2YXNjcmlwdC8jdG9vbHRpcAorICogSW5zcGlyZWQgYnkgdGhlIG9yaWdpbmFsIGpRdWVyeS50aXBzeSBieSBKYXNvbiBGcmFtZQorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgMjAxMyBUd2l0dGVyLCBJbmMuCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworCisKKytmdW5jdGlvbiAoJCkgeyAidXNlIHN0cmljdCI7CisKKyAgLy8gVE9PTFRJUCBQVUJMSUMgQ0xBU1MgREVGSU5JVElPTgorICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgdmFyIFRvb2x0aXAgPSBmdW5jdGlvbiAoZWxlbWVudCwgb3B0aW9ucykgeworICAgIHRoaXMudHlwZSAgICAgICA9CisgICAgdGhpcy5vcHRpb25zICAgID0KKyAgICB0aGlzLmVuYWJsZWQgICAgPQorICAgIHRoaXMudGltZW91dCAgICA9CisgICAgdGhpcy5ob3ZlclN0YXRlID0KKyAgICB0aGlzLiRlbGVtZW50ICAgPSBudWxsCisKKyAgICB0aGlzLmluaXQoJ3Rvb2x0aXAnLCBlbGVtZW50LCBvcHRpb25zKQorICB9CisKKyAgVG9vbHRpcC5ERUZBVUxUUyA9IHsKKyAgICBhbmltYXRpb246IHRydWUKKyAgLCBwbGFjZW1lbnQ6ICd0b3AnCisgICwgc2VsZWN0b3I6IGZhbHNlCisgICwgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJ0b29sdGlwLWFycm93Ij48L2Rpdj48ZGl2IGNsYXNzPSJ0b29sdGlwLWlubmVyIj48L2Rpdj48L2Rpdj4nCisgICwgdHJpZ2dlcjogJ2hvdmVyIGZvY3VzJworICAsIHRpdGxlOiAnJworICAsIGRlbGF5OiAwCisgICwgaHRtbDogZmFsc2UKKyAgLCBjb250YWluZXI6IGZhbHNlCisgIH0KKworICBUb29sdGlwLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKHR5cGUsIGVsZW1lbnQsIG9wdGlvbnMpIHsKKyAgICB0aGlzLmVuYWJsZWQgID0gdHJ1ZQorICAgIHRoaXMudHlwZSAgICAgPSB0eXBlCisgICAgdGhpcy4kZWxlbWVudCA9ICQoZWxlbWVudCkKKyAgICB0aGlzLm9wdGlvbnMgID0gdGhpcy5nZXRPcHRpb25zKG9wdGlvbnMpCisKKyAgICB2YXIgdHJpZ2dlcnMgPSB0aGlzLm9wdGlvbnMudHJpZ2dlci5zcGxpdCgnICcpCisKKyAgICBmb3IgKHZhciBpID0gdHJpZ2dlcnMubGVuZ3RoOyBpLS07KSB7CisgICAgICB2YXIgdHJpZ2dlciA9IHRyaWdnZXJzW2ldCisKKyAgICAgIGlmICh0cmlnZ2VyID09ICdjbGljaycpIHsKKyAgICAgICAgdGhpcy4kZWxlbWVudC5vbignY2xpY2suJyArIHRoaXMudHlwZSwgdGhpcy5vcHRpb25zLnNlbGVjdG9yLCAkLnByb3h5KHRoaXMudG9nZ2xlLCB0aGlzKSkKKyAgICAgIH0gZWxzZSBpZiAodHJpZ2dlciAhPSAnbWFudWFsJykgeworICAgICAgICB2YXIgZXZlbnRJbiAgPSB0cmlnZ2VyID09ICdob3ZlcicgPyAnbW91c2VlbnRlcicgOiAnZm9jdXMnCisgICAgICAgIHZhciBldmVudE91dCA9IHRyaWdnZXIgPT0gJ2hvdmVyJyA/ICdtb3VzZWxlYXZlJyA6ICdibHVyJworCisgICAgICAgIHRoaXMuJGVsZW1lbnQub24oZXZlbnRJbiAgKyAnLicgKyB0aGlzLnR5cGUsIHRoaXMub3B0aW9ucy5zZWxlY3RvciwgJC5wcm94eSh0aGlzLmVudGVyLCB0aGlzKSkKKyAgICAgICAgdGhpcy4kZWxlbWVudC5vbihldmVudE91dCArICcuJyArIHRoaXMudHlwZSwgdGhpcy5vcHRpb25zLnNlbGVjdG9yLCAkLnByb3h5KHRoaXMubGVhdmUsIHRoaXMpKQorICAgICAgfQorICAgIH0KKworICAgIHRoaXMub3B0aW9ucy5zZWxlY3RvciA/CisgICAgICAodGhpcy5fb3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnMsIHsgdHJpZ2dlcjogJ21hbnVhbCcsIHNlbGVjdG9yOiAnJyB9KSkgOgorICAgICAgdGhpcy5maXhUaXRsZSgpCisgIH0KKworICBUb29sdGlwLnByb3RvdHlwZS5nZXREZWZhdWx0cyA9IGZ1bmN0aW9uICgpIHsKKyAgICByZXR1cm4gVG9vbHRpcC5ERUZBVUxUUworICB9CisKKyAgVG9vbHRpcC5wcm90b3R5cGUuZ2V0T3B0aW9ucyA9IGZ1bmN0aW9uIChvcHRpb25zKSB7CisgICAgb3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCB0aGlzLmdldERlZmF1bHRzKCksIHRoaXMuJGVsZW1lbnQuZGF0YSgpLCBvcHRpb25zKQorCisgICAgaWYgKG9wdGlvbnMuZGVsYXkgJiYgdHlwZW9mIG9wdGlvbnMuZGVsYXkgPT0gJ251bWJlcicpIHsKKyAgICAgIG9wdGlvbnMuZGVsYXkgPSB7CisgICAgICAgIHNob3c6IG9wdGlvbnMuZGVsYXkKKyAgICAgICwgaGlkZTogb3B0aW9ucy5kZWxheQorICAgICAgfQorICAgIH0KKworICAgIHJldHVybiBvcHRpb25zCisgIH0KKworICBUb29sdGlwLnByb3RvdHlwZS5nZXREZWxlZ2F0ZU9wdGlvbnMgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIG9wdGlvbnMgID0ge30KKyAgICB2YXIgZGVmYXVsdHMgPSB0aGlzLmdldERlZmF1bHRzKCkKKworICAgIHRoaXMuX29wdGlvbnMgJiYgJC5lYWNoKHRoaXMuX29wdGlvbnMsIGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7CisgICAgICBpZiAoZGVmYXVsdHNba2V5XSAhPSB2YWx1ZSkgb3B0aW9uc1trZXldID0gdmFsdWUKKyAgICB9KQorCisgICAgcmV0dXJuIG9wdGlvbnMKKyAgfQorCisgIFRvb2x0aXAucHJvdG90eXBlLmVudGVyID0gZnVuY3Rpb24gKG9iaikgeworICAgIHZhciBzZWxmID0gb2JqIGluc3RhbmNlb2YgdGhpcy5jb25zdHJ1Y3RvciA/CisgICAgICBvYmogOiAkKG9iai5jdXJyZW50VGFyZ2V0KVt0aGlzLnR5cGVdKHRoaXMuZ2V0RGVsZWdhdGVPcHRpb25zKCkpLmRhdGEoJ2JzLicgKyB0aGlzLnR5cGUpCisKKyAgICBjbGVhclRpbWVvdXQoc2VsZi50aW1lb3V0KQorCisgICAgc2VsZi5ob3ZlclN0YXRlID0gJ2luJworCisgICAgaWYgKCFzZWxmLm9wdGlvbnMuZGVsYXkgfHwgIXNlbGYub3B0aW9ucy5kZWxheS5zaG93KSByZXR1cm4gc2VsZi5zaG93KCkKKworICAgIHNlbGYudGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeworICAgICAgaWYgKHNlbGYuaG92ZXJTdGF0ZSA9PSAnaW4nKSBzZWxmLnNob3coKQorICAgIH0sIHNlbGYub3B0aW9ucy5kZWxheS5zaG93KQorICB9CisKKyAgVG9vbHRpcC5wcm90b3R5cGUubGVhdmUgPSBmdW5jdGlvbiAob2JqKSB7CisgICAgdmFyIHNlbGYgPSBvYmogaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yID8KKyAgICAgIG9iaiA6ICQob2JqLmN1cnJlbnRUYXJnZXQpW3RoaXMudHlwZV0odGhpcy5nZXREZWxlZ2F0ZU9wdGlvbnMoKSkuZGF0YSgnYnMuJyArIHRoaXMudHlwZSkKKworICAgIGNsZWFyVGltZW91dChzZWxmLnRpbWVvdXQpCisKKyAgICBzZWxmLmhvdmVyU3RhdGUgPSAnb3V0JworCisgICAgaWYgKCFzZWxmLm9wdGlvbnMuZGVsYXkgfHwgIXNlbGYub3B0aW9ucy5kZWxheS5oaWRlKSByZXR1cm4gc2VsZi5oaWRlKCkKKworICAgIHNlbGYudGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeworICAgICAgaWYgKHNlbGYuaG92ZXJTdGF0ZSA9PSAnb3V0Jykgc2VsZi5oaWRlKCkKKyAgICB9LCBzZWxmLm9wdGlvbnMuZGVsYXkuaGlkZSkKKyAgfQorCisgIFRvb2x0aXAucHJvdG90eXBlLnNob3cgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIGUgPSAkLkV2ZW50KCdzaG93LmJzLicrIHRoaXMudHlwZSkKKworICAgIGlmICh0aGlzLmhhc0NvbnRlbnQoKSAmJiB0aGlzLmVuYWJsZWQpIHsKKyAgICAgIHRoaXMuJGVsZW1lbnQudHJpZ2dlcihlKQorCisgICAgICBpZiAoZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgcmV0dXJuCisKKyAgICAgIHZhciAkdGlwID0gdGhpcy50aXAoKQorCisgICAgICB0aGlzLnNldENvbnRlbnQoKQorCisgICAgICBpZiAodGhpcy5vcHRpb25zLmFuaW1hdGlvbikgJHRpcC5hZGRDbGFzcygnZmFkZScpCisKKyAgICAgIHZhciBwbGFjZW1lbnQgPSB0eXBlb2YgdGhpcy5vcHRpb25zLnBsYWNlbWVudCA9PSAnZnVuY3Rpb24nID8KKyAgICAgICAgdGhpcy5vcHRpb25zLnBsYWNlbWVudC5jYWxsKHRoaXMsICR0aXBbMF0sIHRoaXMuJGVsZW1lbnRbMF0pIDoKKyAgICAgICAgdGhpcy5vcHRpb25zLnBsYWNlbWVudAorCisgICAgICB2YXIgYXV0b1Rva2VuID0gL1xzP2F1dG8/XHM/L2kKKyAgICAgIHZhciBhdXRvUGxhY2UgPSBhdXRvVG9rZW4udGVzdChwbGFjZW1lbnQpCisgICAgICBpZiAoYXV0b1BsYWNlKSBwbGFjZW1lbnQgPSBwbGFjZW1lbnQucmVwbGFjZShhdXRvVG9rZW4sICcnKSB8fCAndG9wJworCisgICAgICAkdGlwCisgICAgICAgIC5kZXRhY2goKQorICAgICAgICAuY3NzKHsgdG9wOiAwLCBsZWZ0OiAwLCBkaXNwbGF5OiAnYmxvY2snIH0pCisgICAgICAgIC5hZGRDbGFzcyhwbGFjZW1lbnQpCisKKyAgICAgIHRoaXMub3B0aW9ucy5jb250YWluZXIgPyAkdGlwLmFwcGVuZFRvKHRoaXMub3B0aW9ucy5jb250YWluZXIpIDogJHRpcC5pbnNlcnRBZnRlcih0aGlzLiRlbGVtZW50KQorCisgICAgICB2YXIgcG9zICAgICAgICAgID0gdGhpcy5nZXRQb3NpdGlvbigpCisgICAgICB2YXIgYWN0dWFsV2lkdGggID0gJHRpcFswXS5vZmZzZXRXaWR0aAorICAgICAgdmFyIGFjdHVhbEhlaWdodCA9ICR0aXBbMF0ub2Zmc2V0SGVpZ2h0CisKKyAgICAgIGlmIChhdXRvUGxhY2UpIHsKKyAgICAgICAgdmFyICRwYXJlbnQgPSB0aGlzLiRlbGVtZW50LnBhcmVudCgpCisKKyAgICAgICAgdmFyIG9yZ1BsYWNlbWVudCA9IHBsYWNlbWVudAorICAgICAgICB2YXIgZG9jU2Nyb2xsICAgID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcAorICAgICAgICB2YXIgcGFyZW50V2lkdGggID0gdGhpcy5vcHRpb25zLmNvbnRhaW5lciA9PSAnYm9keScgPyB3aW5kb3cuaW5uZXJXaWR0aCAgOiAkcGFyZW50Lm91dGVyV2lkdGgoKQorICAgICAgICB2YXIgcGFyZW50SGVpZ2h0ID0gdGhpcy5vcHRpb25zLmNvbnRhaW5lciA9PSAnYm9keScgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiAkcGFyZW50Lm91dGVySGVpZ2h0KCkKKyAgICAgICAgdmFyIHBhcmVudExlZnQgICA9IHRoaXMub3B0aW9ucy5jb250YWluZXIgPT0gJ2JvZHknID8gMCA6ICRwYXJlbnQub2Zmc2V0KCkubGVmdAorCisgICAgICAgIHBsYWNlbWVudCA9IHBsYWNlbWVudCA9PSAnYm90dG9tJyAmJiBwb3MudG9wICAgKyBwb3MuaGVpZ2h0ICArIGFjdHVhbEhlaWdodCAtIGRvY1Njcm9sbCA+IHBhcmVudEhlaWdodCAgPyAndG9wJyAgICA6CisgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudCA9PSAndG9wJyAgICAmJiBwb3MudG9wICAgLSBkb2NTY3JvbGwgICAtIGFjdHVhbEhlaWdodCA8IDAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnYm90dG9tJyA6CisgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudCA9PSAncmlnaHQnICAmJiBwb3MucmlnaHQgKyBhY3R1YWxXaWR0aCA+IHBhcmVudFdpZHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnbGVmdCcgICA6CisgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudCA9PSAnbGVmdCcgICAmJiBwb3MubGVmdCAgLSBhY3R1YWxXaWR0aCA8IHBhcmVudExlZnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAncmlnaHQnICA6CisgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudAorCisgICAgICAgICR0aXAKKyAgICAgICAgICAucmVtb3ZlQ2xhc3Mob3JnUGxhY2VtZW50KQorICAgICAgICAgIC5hZGRDbGFzcyhwbGFjZW1lbnQpCisgICAgICB9CisKKyAgICAgIHZhciBjYWxjdWxhdGVkT2Zmc2V0ID0gdGhpcy5nZXRDYWxjdWxhdGVkT2Zmc2V0KHBsYWNlbWVudCwgcG9zLCBhY3R1YWxXaWR0aCwgYWN0dWFsSGVpZ2h0KQorCisgICAgICB0aGlzLmFwcGx5UGxhY2VtZW50KGNhbGN1bGF0ZWRPZmZzZXQsIHBsYWNlbWVudCkKKyAgICAgIHRoaXMuJGVsZW1lbnQudHJpZ2dlcignc2hvd24uYnMuJyArIHRoaXMudHlwZSkKKyAgICB9CisgIH0KKworICBUb29sdGlwLnByb3RvdHlwZS5hcHBseVBsYWNlbWVudCA9IGZ1bmN0aW9uKG9mZnNldCwgcGxhY2VtZW50KSB7CisgICAgdmFyIHJlcGxhY2UKKyAgICB2YXIgJHRpcCAgID0gdGhpcy50aXAoKQorICAgIHZhciB3aWR0aCAgPSAkdGlwWzBdLm9mZnNldFdpZHRoCisgICAgdmFyIGhlaWdodCA9ICR0aXBbMF0ub2Zmc2V0SGVpZ2h0CisKKyAgICAvLyBtYW51YWxseSByZWFkIG1hcmdpbnMgYmVjYXVzZSBnZXRCb3VuZGluZ0NsaWVudFJlY3QgaW5jbHVkZXMgZGlmZmVyZW5jZQorICAgIHZhciBtYXJnaW5Ub3AgPSBwYXJzZUludCgkdGlwLmNzcygnbWFyZ2luLXRvcCcpLCAxMCkKKyAgICB2YXIgbWFyZ2luTGVmdCA9IHBhcnNlSW50KCR0aXAuY3NzKCdtYXJnaW4tbGVmdCcpLCAxMCkKKworICAgIC8vIHdlIG11c3QgY2hlY2sgZm9yIE5hTiBmb3IgaWUgOC85CisgICAgaWYgKGlzTmFOKG1hcmdpblRvcCkpICBtYXJnaW5Ub3AgID0gMAorICAgIGlmIChpc05hTihtYXJnaW5MZWZ0KSkgbWFyZ2luTGVmdCA9IDAKKworICAgIG9mZnNldC50b3AgID0gb2Zmc2V0LnRvcCAgKyBtYXJnaW5Ub3AKKyAgICBvZmZzZXQubGVmdCA9IG9mZnNldC5sZWZ0ICsgbWFyZ2luTGVmdAorCisgICAgJHRpcAorICAgICAgLm9mZnNldChvZmZzZXQpCisgICAgICAuYWRkQ2xhc3MoJ2luJykKKworICAgIC8vIGNoZWNrIHRvIHNlZSBpZiBwbGFjaW5nIHRpcCBpbiBuZXcgb2Zmc2V0IGNhdXNlZCB0aGUgdGlwIHRvIHJlc2l6ZSBpdHNlbGYKKyAgICB2YXIgYWN0dWFsV2lkdGggID0gJHRpcFswXS5vZmZzZXRXaWR0aAorICAgIHZhciBhY3R1YWxIZWlnaHQgPSAkdGlwWzBdLm9mZnNldEhlaWdodAorCisgICAgaWYgKHBsYWNlbWVudCA9PSAndG9wJyAmJiBhY3R1YWxIZWlnaHQgIT0gaGVpZ2h0KSB7CisgICAgICByZXBsYWNlID0gdHJ1ZQorICAgICAgb2Zmc2V0LnRvcCA9IG9mZnNldC50b3AgKyBoZWlnaHQgLSBhY3R1YWxIZWlnaHQKKyAgICB9CisKKyAgICBpZiAoL2JvdHRvbXx0b3AvLnRlc3QocGxhY2VtZW50KSkgeworICAgICAgdmFyIGRlbHRhID0gMAorCisgICAgICBpZiAob2Zmc2V0LmxlZnQgPCAwKSB7CisgICAgICAgIGRlbHRhICAgICAgID0gb2Zmc2V0LmxlZnQgKiAtMgorICAgICAgICBvZmZzZXQubGVmdCA9IDAKKworICAgICAgICAkdGlwLm9mZnNldChvZmZzZXQpCisKKyAgICAgICAgYWN0dWFsV2lkdGggID0gJHRpcFswXS5vZmZzZXRXaWR0aAorICAgICAgICBhY3R1YWxIZWlnaHQgPSAkdGlwWzBdLm9mZnNldEhlaWdodAorICAgICAgfQorCisgICAgICB0aGlzLnJlcGxhY2VBcnJvdyhkZWx0YSAtIHdpZHRoICsgYWN0dWFsV2lkdGgsIGFjdHVhbFdpZHRoLCAnbGVmdCcpCisgICAgfSBlbHNlIHsKKyAgICAgIHRoaXMucmVwbGFjZUFycm93KGFjdHVhbEhlaWdodCAtIGhlaWdodCwgYWN0dWFsSGVpZ2h0LCAndG9wJykKKyAgICB9CisKKyAgICBpZiAocmVwbGFjZSkgJHRpcC5vZmZzZXQob2Zmc2V0KQorICB9CisKKyAgVG9vbHRpcC5wcm90b3R5cGUucmVwbGFjZUFycm93ID0gZnVuY3Rpb24oZGVsdGEsIGRpbWVuc2lvbiwgcG9zaXRpb24pIHsKKyAgICB0aGlzLmFycm93KCkuY3NzKHBvc2l0aW9uLCBkZWx0YSA/ICg1MCAqICgxIC0gZGVsdGEgLyBkaW1lbnNpb24pICsgIiUiKSA6ICcnKQorICB9CisKKyAgVG9vbHRpcC5wcm90b3R5cGUuc2V0Q29udGVudCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgJHRpcCAgPSB0aGlzLnRpcCgpCisgICAgdmFyIHRpdGxlID0gdGhpcy5nZXRUaXRsZSgpCisKKyAgICAkdGlwLmZpbmQoJy50b29sdGlwLWlubmVyJylbdGhpcy5vcHRpb25zLmh0bWwgPyAnaHRtbCcgOiAndGV4dCddKHRpdGxlKQorICAgICR0aXAucmVtb3ZlQ2xhc3MoJ2ZhZGUgaW4gdG9wIGJvdHRvbSBsZWZ0IHJpZ2h0JykKKyAgfQorCisgIFRvb2x0aXAucHJvdG90eXBlLmhpZGUgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIHRoYXQgPSB0aGlzCisgICAgdmFyICR0aXAgPSB0aGlzLnRpcCgpCisgICAgdmFyIGUgICAgPSAkLkV2ZW50KCdoaWRlLmJzLicgKyB0aGlzLnR5cGUpCisKKyAgICBmdW5jdGlvbiBjb21wbGV0ZSgpIHsKKyAgICAgIGlmICh0aGF0LmhvdmVyU3RhdGUgIT0gJ2luJykgJHRpcC5kZXRhY2goKQorICAgIH0KKworICAgIHRoaXMuJGVsZW1lbnQudHJpZ2dlcihlKQorCisgICAgaWYgKGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHJldHVybgorCisgICAgJHRpcC5yZW1vdmVDbGFzcygnaW4nKQorCisgICAgJC5zdXBwb3J0LnRyYW5zaXRpb24gJiYgdGhpcy4kdGlwLmhhc0NsYXNzKCdmYWRlJykgPworICAgICAgJHRpcAorICAgICAgICAub25lKCQuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCwgY29tcGxldGUpCisgICAgICAgIC5lbXVsYXRlVHJhbnNpdGlvbkVuZCgxNTApIDoKKyAgICAgIGNvbXBsZXRlKCkKKworICAgIHRoaXMuJGVsZW1lbnQudHJpZ2dlcignaGlkZGVuLmJzLicgKyB0aGlzLnR5cGUpCisKKyAgICByZXR1cm4gdGhpcworICB9CisKKyAgVG9vbHRpcC5wcm90b3R5cGUuZml4VGl0bGUgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyICRlID0gdGhpcy4kZWxlbWVudAorICAgIGlmICgkZS5hdHRyKCd0aXRsZScpIHx8IHR5cGVvZigkZS5hdHRyKCdkYXRhLW9yaWdpbmFsLXRpdGxlJykpICE9ICdzdHJpbmcnKSB7CisgICAgICAkZS5hdHRyKCdkYXRhLW9yaWdpbmFsLXRpdGxlJywgJGUuYXR0cigndGl0bGUnKSB8fCAnJykuYXR0cigndGl0bGUnLCAnJykKKyAgICB9CisgIH0KKworICBUb29sdGlwLnByb3RvdHlwZS5oYXNDb250ZW50ID0gZnVuY3Rpb24gKCkgeworICAgIHJldHVybiB0aGlzLmdldFRpdGxlKCkKKyAgfQorCisgIFRvb2x0aXAucHJvdG90eXBlLmdldFBvc2l0aW9uID0gZnVuY3Rpb24gKCkgeworICAgIHZhciBlbCA9IHRoaXMuJGVsZW1lbnRbMF0KKyAgICByZXR1cm4gJC5leHRlbmQoe30sICh0eXBlb2YgZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ID09ICdmdW5jdGlvbicpID8gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiB7CisgICAgICB3aWR0aDogZWwub2Zmc2V0V2lkdGgKKyAgICAsIGhlaWdodDogZWwub2Zmc2V0SGVpZ2h0CisgICAgfSwgdGhpcy4kZWxlbWVudC5vZmZzZXQoKSkKKyAgfQorCisgIFRvb2x0aXAucHJvdG90eXBlLmdldENhbGN1bGF0ZWRPZmZzZXQgPSBmdW5jdGlvbiAocGxhY2VtZW50LCBwb3MsIGFjdHVhbFdpZHRoLCBhY3R1YWxIZWlnaHQpIHsKKyAgICByZXR1cm4gcGxhY2VtZW50ID09ICdib3R0b20nID8geyB0b3A6IHBvcy50b3AgKyBwb3MuaGVpZ2h0LCAgIGxlZnQ6IHBvcy5sZWZ0ICsgcG9zLndpZHRoIC8gMiAtIGFjdHVhbFdpZHRoIC8gMiAgfSA6CisgICAgICAgICAgIHBsYWNlbWVudCA9PSAndG9wJyAgICA/IHsgdG9wOiBwb3MudG9wIC0gYWN0dWFsSGVpZ2h0LCBsZWZ0OiBwb3MubGVmdCArIHBvcy53aWR0aCAvIDIgLSBhY3R1YWxXaWR0aCAvIDIgIH0gOgorICAgICAgICAgICBwbGFjZW1lbnQgPT0gJ2xlZnQnICAgPyB7IHRvcDogcG9zLnRvcCArIHBvcy5oZWlnaHQgLyAyIC0gYWN0dWFsSGVpZ2h0IC8gMiwgbGVmdDogcG9zLmxlZnQgLSBhY3R1YWxXaWR0aCB9IDoKKyAgICAgICAgLyogcGxhY2VtZW50ID09ICdyaWdodCcgKi8geyB0b3A6IHBvcy50b3AgKyBwb3MuaGVpZ2h0IC8gMiAtIGFjdHVhbEhlaWdodCAvIDIsIGxlZnQ6IHBvcy5sZWZ0ICsgcG9zLndpZHRoICAgfQorICB9CisKKyAgVG9vbHRpcC5wcm90b3R5cGUuZ2V0VGl0bGUgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIHRpdGxlCisgICAgdmFyICRlID0gdGhpcy4kZWxlbWVudAorICAgIHZhciBvICA9IHRoaXMub3B0aW9ucworCisgICAgdGl0bGUgPSAkZS5hdHRyKCdkYXRhLW9yaWdpbmFsLXRpdGxlJykKKyAgICAgIHx8ICh0eXBlb2Ygby50aXRsZSA9PSAnZnVuY3Rpb24nID8gby50aXRsZS5jYWxsKCRlWzBdKSA6ICBvLnRpdGxlKQorCisgICAgcmV0dXJuIHRpdGxlCisgIH0KKworICBUb29sdGlwLnByb3RvdHlwZS50aXAgPSBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJuIHRoaXMuJHRpcCA9IHRoaXMuJHRpcCB8fCAkKHRoaXMub3B0aW9ucy50ZW1wbGF0ZSkKKyAgfQorCisgIFRvb2x0aXAucHJvdG90eXBlLmFycm93ID0gZnVuY3Rpb24gKCkgeworICAgIHJldHVybiB0aGlzLiRhcnJvdyA9IHRoaXMuJGFycm93IHx8IHRoaXMudGlwKCkuZmluZCgnLnRvb2x0aXAtYXJyb3cnKQorICB9CisKKyAgVG9vbHRpcC5wcm90b3R5cGUudmFsaWRhdGUgPSBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF0aGlzLiRlbGVtZW50WzBdLnBhcmVudE5vZGUpIHsKKyAgICAgIHRoaXMuaGlkZSgpCisgICAgICB0aGlzLiRlbGVtZW50ID0gbnVsbAorICAgICAgdGhpcy5vcHRpb25zICA9IG51bGwKKyAgICB9CisgIH0KKworICBUb29sdGlwLnByb3RvdHlwZS5lbmFibGUgPSBmdW5jdGlvbiAoKSB7CisgICAgdGhpcy5lbmFibGVkID0gdHJ1ZQorICB9CisKKyAgVG9vbHRpcC5wcm90b3R5cGUuZGlzYWJsZSA9IGZ1bmN0aW9uICgpIHsKKyAgICB0aGlzLmVuYWJsZWQgPSBmYWxzZQorICB9CisKKyAgVG9vbHRpcC5wcm90b3R5cGUudG9nZ2xlRW5hYmxlZCA9IGZ1bmN0aW9uICgpIHsKKyAgICB0aGlzLmVuYWJsZWQgPSAhdGhpcy5lbmFibGVkCisgIH0KKworICBUb29sdGlwLnByb3RvdHlwZS50b2dnbGUgPSBmdW5jdGlvbiAoZSkgeworICAgIHZhciBzZWxmID0gZSA/ICQoZS5jdXJyZW50VGFyZ2V0KVt0aGlzLnR5cGVdKHRoaXMuZ2V0RGVsZWdhdGVPcHRpb25zKCkpLmRhdGEoJ2JzLicgKyB0aGlzLnR5cGUpIDogdGhpcworICAgIHNlbGYudGlwKCkuaGFzQ2xhc3MoJ2luJykgPyBzZWxmLmxlYXZlKHNlbGYpIDogc2VsZi5lbnRlcihzZWxmKQorICB9CisKKyAgVG9vbHRpcC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uICgpIHsKKyAgICB0aGlzLmhpZGUoKS4kZWxlbWVudC5vZmYoJy4nICsgdGhpcy50eXBlKS5yZW1vdmVEYXRhKCdicy4nICsgdGhpcy50eXBlKQorICB9CisKKworICAvLyBUT09MVElQIFBMVUdJTiBERUZJTklUSU9OCisgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT0KKworICB2YXIgb2xkID0gJC5mbi50b29sdGlwCisKKyAgJC5mbi50b29sdGlwID0gZnVuY3Rpb24gKG9wdGlvbikgeworICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgeworICAgICAgdmFyICR0aGlzICAgPSAkKHRoaXMpCisgICAgICB2YXIgZGF0YSAgICA9ICR0aGlzLmRhdGEoJ2JzLnRvb2x0aXAnKQorICAgICAgdmFyIG9wdGlvbnMgPSB0eXBlb2Ygb3B0aW9uID09ICdvYmplY3QnICYmIG9wdGlvbgorCisgICAgICBpZiAoIWRhdGEpICR0aGlzLmRhdGEoJ2JzLnRvb2x0aXAnLCAoZGF0YSA9IG5ldyBUb29sdGlwKHRoaXMsIG9wdGlvbnMpKSkKKyAgICAgIGlmICh0eXBlb2Ygb3B0aW9uID09ICdzdHJpbmcnKSBkYXRhW29wdGlvbl0oKQorICAgIH0pCisgIH0KKworICAkLmZuLnRvb2x0aXAuQ29uc3RydWN0b3IgPSBUb29sdGlwCisKKworICAvLyBUT09MVElQIE5PIENPTkZMSUNUCisgIC8vID09PT09PT09PT09PT09PT09PT0KKworICAkLmZuLnRvb2x0aXAubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHsKKyAgICAkLmZuLnRvb2x0aXAgPSBvbGQKKyAgICByZXR1cm4gdGhpcworICB9CisKK30oalF1ZXJ5KTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBCb290c3RyYXA6IHBvcG92ZXIuanMgdjMuMC4yCisgKiBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9qYXZhc2NyaXB0LyNwb3BvdmVycworICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgMjAxMyBUd2l0dGVyLCBJbmMuCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworCisKKytmdW5jdGlvbiAoJCkgeyAidXNlIHN0cmljdCI7CisKKyAgLy8gUE9QT1ZFUiBQVUJMSUMgQ0xBU1MgREVGSU5JVElPTgorICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgdmFyIFBvcG92ZXIgPSBmdW5jdGlvbiAoZWxlbWVudCwgb3B0aW9ucykgeworICAgIHRoaXMuaW5pdCgncG9wb3ZlcicsIGVsZW1lbnQsIG9wdGlvbnMpCisgIH0KKworICBpZiAoISQuZm4udG9vbHRpcCkgdGhyb3cgbmV3IEVycm9yKCdQb3BvdmVyIHJlcXVpcmVzIHRvb2x0aXAuanMnKQorCisgIFBvcG92ZXIuREVGQVVMVFMgPSAkLmV4dGVuZCh7fSAsICQuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvci5ERUZBVUxUUywgeworICAgIHBsYWNlbWVudDogJ3JpZ2h0JworICAsIHRyaWdnZXI6ICdjbGljaycKKyAgLCBjb250ZW50OiAnJworICAsIHRlbXBsYXRlOiAnPGRpdiBjbGFzcz0icG9wb3ZlciI+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PjxoMyBjbGFzcz0icG9wb3Zlci10aXRsZSI+PC9oMz48ZGl2IGNsYXNzPSJwb3BvdmVyLWNvbnRlbnQiPjwvZGl2PjwvZGl2PicKKyAgfSkKKworCisgIC8vIE5PVEU6IFBPUE9WRVIgRVhURU5EUyB0b29sdGlwLmpzCisgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgUG9wb3Zlci5wcm90b3R5cGUgPSAkLmV4dGVuZCh7fSwgJC5mbi50b29sdGlwLkNvbnN0cnVjdG9yLnByb3RvdHlwZSkKKworICBQb3BvdmVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IFBvcG92ZXIKKworICBQb3BvdmVyLnByb3RvdHlwZS5nZXREZWZhdWx0cyA9IGZ1bmN0aW9uICgpIHsKKyAgICByZXR1cm4gUG9wb3Zlci5ERUZBVUxUUworICB9CisKKyAgUG9wb3Zlci5wcm90b3R5cGUuc2V0Q29udGVudCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgJHRpcCAgICA9IHRoaXMudGlwKCkKKyAgICB2YXIgdGl0bGUgICA9IHRoaXMuZ2V0VGl0bGUoKQorICAgIHZhciBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCkKKworICAgICR0aXAuZmluZCgnLnBvcG92ZXItdGl0bGUnKVt0aGlzLm9wdGlvbnMuaHRtbCA/ICdodG1sJyA6ICd0ZXh0J10odGl0bGUpCisgICAgJHRpcC5maW5kKCcucG9wb3Zlci1jb250ZW50JylbdGhpcy5vcHRpb25zLmh0bWwgPyAnaHRtbCcgOiAndGV4dCddKGNvbnRlbnQpCisKKyAgICAkdGlwLnJlbW92ZUNsYXNzKCdmYWRlIHRvcCBib3R0b20gbGVmdCByaWdodCBpbicpCisKKyAgICAvLyBJRTggZG9lc24ndCBhY2NlcHQgaGlkaW5nIHZpYSB0aGUgYDplbXB0eWAgcHNldWRvIHNlbGVjdG9yLCB3ZSBoYXZlIHRvIGRvCisgICAgLy8gdGhpcyBtYW51YWxseSBieSBjaGVja2luZyB0aGUgY29udGVudHMuCisgICAgaWYgKCEkdGlwLmZpbmQoJy5wb3BvdmVyLXRpdGxlJykuaHRtbCgpKSAkdGlwLmZpbmQoJy5wb3BvdmVyLXRpdGxlJykuaGlkZSgpCisgIH0KKworICBQb3BvdmVyLnByb3RvdHlwZS5oYXNDb250ZW50ID0gZnVuY3Rpb24gKCkgeworICAgIHJldHVybiB0aGlzLmdldFRpdGxlKCkgfHwgdGhpcy5nZXRDb250ZW50KCkKKyAgfQorCisgIFBvcG92ZXIucHJvdG90eXBlLmdldENvbnRlbnQgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyICRlID0gdGhpcy4kZWxlbWVudAorICAgIHZhciBvICA9IHRoaXMub3B0aW9ucworCisgICAgcmV0dXJuICRlLmF0dHIoJ2RhdGEtY29udGVudCcpCisgICAgICB8fCAodHlwZW9mIG8uY29udGVudCA9PSAnZnVuY3Rpb24nID8KKyAgICAgICAgICAgIG8uY29udGVudC5jYWxsKCRlWzBdKSA6CisgICAgICAgICAgICBvLmNvbnRlbnQpCisgIH0KKworICBQb3BvdmVyLnByb3RvdHlwZS5hcnJvdyA9IGZ1bmN0aW9uICgpIHsKKyAgICByZXR1cm4gdGhpcy4kYXJyb3cgPSB0aGlzLiRhcnJvdyB8fCB0aGlzLnRpcCgpLmZpbmQoJy5hcnJvdycpCisgIH0KKworICBQb3BvdmVyLnByb3RvdHlwZS50aXAgPSBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF0aGlzLiR0aXApIHRoaXMuJHRpcCA9ICQodGhpcy5vcHRpb25zLnRlbXBsYXRlKQorICAgIHJldHVybiB0aGlzLiR0aXAKKyAgfQorCisKKyAgLy8gUE9QT1ZFUiBQTFVHSU4gREVGSU5JVElPTgorICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgdmFyIG9sZCA9ICQuZm4ucG9wb3ZlcgorCisgICQuZm4ucG9wb3ZlciA9IGZ1bmN0aW9uIChvcHRpb24pIHsKKyAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsKKyAgICAgIHZhciAkdGhpcyAgID0gJCh0aGlzKQorICAgICAgdmFyIGRhdGEgICAgPSAkdGhpcy5kYXRhKCdicy5wb3BvdmVyJykKKyAgICAgIHZhciBvcHRpb25zID0gdHlwZW9mIG9wdGlvbiA9PSAnb2JqZWN0JyAmJiBvcHRpb24KKworICAgICAgaWYgKCFkYXRhKSAkdGhpcy5kYXRhKCdicy5wb3BvdmVyJywgKGRhdGEgPSBuZXcgUG9wb3Zlcih0aGlzLCBvcHRpb25zKSkpCisgICAgICBpZiAodHlwZW9mIG9wdGlvbiA9PSAnc3RyaW5nJykgZGF0YVtvcHRpb25dKCkKKyAgICB9KQorICB9CisKKyAgJC5mbi5wb3BvdmVyLkNvbnN0cnVjdG9yID0gUG9wb3ZlcgorCisKKyAgLy8gUE9QT1ZFUiBOTyBDT05GTElDVAorICAvLyA9PT09PT09PT09PT09PT09PT09CisKKyAgJC5mbi5wb3BvdmVyLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7CisgICAgJC5mbi5wb3BvdmVyID0gb2xkCisgICAgcmV0dXJuIHRoaXMKKyAgfQorCit9KGpRdWVyeSk7CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogQm9vdHN0cmFwOiBzY3JvbGxzcHkuanMgdjMuMC4yCisgKiBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9qYXZhc2NyaXB0LyNzY3JvbGxzcHkKKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogQ29weXJpZ2h0IDIwMTMgVHdpdHRlciwgSW5jLgorICoKKyAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisgKgorICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisgKgorICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKworCisrZnVuY3Rpb24gKCQpIHsgInVzZSBzdHJpY3QiOworCisgIC8vIFNDUk9MTFNQWSBDTEFTUyBERUZJTklUSU9OCisgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgZnVuY3Rpb24gU2Nyb2xsU3B5KGVsZW1lbnQsIG9wdGlvbnMpIHsKKyAgICB2YXIgaHJlZgorICAgIHZhciBwcm9jZXNzICA9ICQucHJveHkodGhpcy5wcm9jZXNzLCB0aGlzKQorCisgICAgdGhpcy4kZWxlbWVudCAgICAgICA9ICQoZWxlbWVudCkuaXMoJ2JvZHknKSA/ICQod2luZG93KSA6ICQoZWxlbWVudCkKKyAgICB0aGlzLiRib2R5ICAgICAgICAgID0gJCgnYm9keScpCisgICAgdGhpcy4kc2Nyb2xsRWxlbWVudCA9IHRoaXMuJGVsZW1lbnQub24oJ3Njcm9sbC5icy5zY3JvbGwtc3B5LmRhdGEtYXBpJywgcHJvY2VzcykKKyAgICB0aGlzLm9wdGlvbnMgICAgICAgID0gJC5leHRlbmQoe30sIFNjcm9sbFNweS5ERUZBVUxUUywgb3B0aW9ucykKKyAgICB0aGlzLnNlbGVjdG9yICAgICAgID0gKHRoaXMub3B0aW9ucy50YXJnZXQKKyAgICAgIHx8ICgoaHJlZiA9ICQoZWxlbWVudCkuYXR0cignaHJlZicpKSAmJiBocmVmLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywgJycpKSAvL3N0cmlwIGZvciBpZTcKKyAgICAgIHx8ICcnKSArICcgLm5hdiBsaSA+IGEnCisgICAgdGhpcy5vZmZzZXRzICAgICAgICA9ICQoW10pCisgICAgdGhpcy50YXJnZXRzICAgICAgICA9ICQoW10pCisgICAgdGhpcy5hY3RpdmVUYXJnZXQgICA9IG51bGwKKworICAgIHRoaXMucmVmcmVzaCgpCisgICAgdGhpcy5wcm9jZXNzKCkKKyAgfQorCisgIFNjcm9sbFNweS5ERUZBVUxUUyA9IHsKKyAgICBvZmZzZXQ6IDEwCisgIH0KKworICBTY3JvbGxTcHkucHJvdG90eXBlLnJlZnJlc2ggPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIG9mZnNldE1ldGhvZCA9IHRoaXMuJGVsZW1lbnRbMF0gPT0gd2luZG93ID8gJ29mZnNldCcgOiAncG9zaXRpb24nCisKKyAgICB0aGlzLm9mZnNldHMgPSAkKFtdKQorICAgIHRoaXMudGFyZ2V0cyA9ICQoW10pCisKKyAgICB2YXIgc2VsZiAgICAgPSB0aGlzCisgICAgdmFyICR0YXJnZXRzID0gdGhpcy4kYm9keQorICAgICAgLmZpbmQodGhpcy5zZWxlY3RvcikKKyAgICAgIC5tYXAoZnVuY3Rpb24gKCkgeworICAgICAgICB2YXIgJGVsICAgPSAkKHRoaXMpCisgICAgICAgIHZhciBocmVmICA9ICRlbC5kYXRhKCd0YXJnZXQnKSB8fCAkZWwuYXR0cignaHJlZicpCisgICAgICAgIHZhciAkaHJlZiA9IC9eI1x3Ly50ZXN0KGhyZWYpICYmICQoaHJlZikKKworICAgICAgICByZXR1cm4gKCRocmVmCisgICAgICAgICAgJiYgJGhyZWYubGVuZ3RoCisgICAgICAgICAgJiYgW1sgJGhyZWZbb2Zmc2V0TWV0aG9kXSgpLnRvcCArICghJC5pc1dpbmRvdyhzZWxmLiRzY3JvbGxFbGVtZW50LmdldCgwKSkgJiYgc2VsZi4kc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3AoKSksIGhyZWYgXV0pIHx8IG51bGwKKyAgICAgIH0pCisgICAgICAuc29ydChmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gYVswXSAtIGJbMF0gfSkKKyAgICAgIC5lYWNoKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgc2VsZi5vZmZzZXRzLnB1c2godGhpc1swXSkKKyAgICAgICAgc2VsZi50YXJnZXRzLnB1c2godGhpc1sxXSkKKyAgICAgIH0pCisgIH0KKworICBTY3JvbGxTcHkucHJvdG90eXBlLnByb2Nlc3MgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIHNjcm9sbFRvcCAgICA9IHRoaXMuJHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wKCkgKyB0aGlzLm9wdGlvbnMub2Zmc2V0CisgICAgdmFyIHNjcm9sbEhlaWdodCA9IHRoaXMuJHNjcm9sbEVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0IHx8IHRoaXMuJGJvZHlbMF0uc2Nyb2xsSGVpZ2h0CisgICAgdmFyIG1heFNjcm9sbCAgICA9IHNjcm9sbEhlaWdodCAtIHRoaXMuJHNjcm9sbEVsZW1lbnQuaGVpZ2h0KCkKKyAgICB2YXIgb2Zmc2V0cyAgICAgID0gdGhpcy5vZmZzZXRzCisgICAgdmFyIHRhcmdldHMgICAgICA9IHRoaXMudGFyZ2V0cworICAgIHZhciBhY3RpdmVUYXJnZXQgPSB0aGlzLmFjdGl2ZVRhcmdldAorICAgIHZhciBpCisKKyAgICBpZiAoc2Nyb2xsVG9wID49IG1heFNjcm9sbCkgeworICAgICAgcmV0dXJuIGFjdGl2ZVRhcmdldCAhPSAoaSA9IHRhcmdldHMubGFzdCgpWzBdKSAmJiB0aGlzLmFjdGl2YXRlKGkpCisgICAgfQorCisgICAgZm9yIChpID0gb2Zmc2V0cy5sZW5ndGg7IGktLTspIHsKKyAgICAgIGFjdGl2ZVRhcmdldCAhPSB0YXJnZXRzW2ldCisgICAgICAgICYmIHNjcm9sbFRvcCA+PSBvZmZzZXRzW2ldCisgICAgICAgICYmICghb2Zmc2V0c1tpICsgMV0gfHwgc2Nyb2xsVG9wIDw9IG9mZnNldHNbaSArIDFdKQorICAgICAgICAmJiB0aGlzLmFjdGl2YXRlKCB0YXJnZXRzW2ldICkKKyAgICB9CisgIH0KKworICBTY3JvbGxTcHkucHJvdG90eXBlLmFjdGl2YXRlID0gZnVuY3Rpb24gKHRhcmdldCkgeworICAgIHRoaXMuYWN0aXZlVGFyZ2V0ID0gdGFyZ2V0CisKKyAgICAkKHRoaXMuc2VsZWN0b3IpCisgICAgICAucGFyZW50cygnLmFjdGl2ZScpCisgICAgICAucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpCisKKyAgICB2YXIgc2VsZWN0b3IgPSB0aGlzLnNlbGVjdG9yCisgICAgICArICdbZGF0YS10YXJnZXQ9IicgKyB0YXJnZXQgKyAnIl0sJworICAgICAgKyB0aGlzLnNlbGVjdG9yICsgJ1tocmVmPSInICsgdGFyZ2V0ICsgJyJdJworCisgICAgdmFyIGFjdGl2ZSA9ICQoc2VsZWN0b3IpCisgICAgICAucGFyZW50cygnbGknKQorICAgICAgLmFkZENsYXNzKCdhY3RpdmUnKQorCisgICAgaWYgKGFjdGl2ZS5wYXJlbnQoJy5kcm9wZG93bi1tZW51JykubGVuZ3RoKSAgeworICAgICAgYWN0aXZlID0gYWN0aXZlCisgICAgICAgIC5jbG9zZXN0KCdsaS5kcm9wZG93bicpCisgICAgICAgIC5hZGRDbGFzcygnYWN0aXZlJykKKyAgICB9CisKKyAgICBhY3RpdmUudHJpZ2dlcignYWN0aXZhdGUnKQorICB9CisKKworICAvLyBTQ1JPTExTUFkgUExVR0lOIERFRklOSVRJT04KKyAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgdmFyIG9sZCA9ICQuZm4uc2Nyb2xsc3B5CisKKyAgJC5mbi5zY3JvbGxzcHkgPSBmdW5jdGlvbiAob3B0aW9uKSB7CisgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CisgICAgICB2YXIgJHRoaXMgICA9ICQodGhpcykKKyAgICAgIHZhciBkYXRhICAgID0gJHRoaXMuZGF0YSgnYnMuc2Nyb2xsc3B5JykKKyAgICAgIHZhciBvcHRpb25zID0gdHlwZW9mIG9wdGlvbiA9PSAnb2JqZWN0JyAmJiBvcHRpb24KKworICAgICAgaWYgKCFkYXRhKSAkdGhpcy5kYXRhKCdicy5zY3JvbGxzcHknLCAoZGF0YSA9IG5ldyBTY3JvbGxTcHkodGhpcywgb3B0aW9ucykpKQorICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT0gJ3N0cmluZycpIGRhdGFbb3B0aW9uXSgpCisgICAgfSkKKyAgfQorCisgICQuZm4uc2Nyb2xsc3B5LkNvbnN0cnVjdG9yID0gU2Nyb2xsU3B5CisKKworICAvLyBTQ1JPTExTUFkgTk8gQ09ORkxJQ1QKKyAgLy8gPT09PT09PT09PT09PT09PT09PT09CisKKyAgJC5mbi5zY3JvbGxzcHkubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHsKKyAgICAkLmZuLnNjcm9sbHNweSA9IG9sZAorICAgIHJldHVybiB0aGlzCisgIH0KKworCisgIC8vIFNDUk9MTFNQWSBEQVRBLUFQSQorICAvLyA9PT09PT09PT09PT09PT09PT0KKworICAkKHdpbmRvdykub24oJ2xvYWQnLCBmdW5jdGlvbiAoKSB7CisgICAgJCgnW2RhdGEtc3B5PSJzY3JvbGwiXScpLmVhY2goZnVuY3Rpb24gKCkgeworICAgICAgdmFyICRzcHkgPSAkKHRoaXMpCisgICAgICAkc3B5LnNjcm9sbHNweSgkc3B5LmRhdGEoKSkKKyAgICB9KQorICB9KQorCit9KGpRdWVyeSk7CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogQm9vdHN0cmFwOiB0YWIuanMgdjMuMC4yCisgKiBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9qYXZhc2NyaXB0LyN0YWJzCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIENvcHlyaWdodCAyMDEzIFR3aXR0ZXIsIEluYy4KKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisKKworK2Z1bmN0aW9uICgkKSB7ICJ1c2Ugc3RyaWN0IjsKKworICAvLyBUQUIgQ0xBU1MgREVGSU5JVElPTgorICAvLyA9PT09PT09PT09PT09PT09PT09PQorCisgIHZhciBUYWIgPSBmdW5jdGlvbiAoZWxlbWVudCkgeworICAgIHRoaXMuZWxlbWVudCA9ICQoZWxlbWVudCkKKyAgfQorCisgIFRhYi5wcm90b3R5cGUuc2hvdyA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgJHRoaXMgICAgPSB0aGlzLmVsZW1lbnQKKyAgICB2YXIgJHVsICAgICAgPSAkdGhpcy5jbG9zZXN0KCd1bDpub3QoLmRyb3Bkb3duLW1lbnUpJykKKyAgICB2YXIgc2VsZWN0b3IgPSAkdGhpcy5kYXRhKCd0YXJnZXQnKQorCisgICAgaWYgKCFzZWxlY3RvcikgeworICAgICAgc2VsZWN0b3IgPSAkdGhpcy5hdHRyKCdocmVmJykKKyAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3IgJiYgc2VsZWN0b3IucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCAnJykgLy9zdHJpcCBmb3IgaWU3CisgICAgfQorCisgICAgaWYgKCR0aGlzLnBhcmVudCgnbGknKS5oYXNDbGFzcygnYWN0aXZlJykpIHJldHVybgorCisgICAgdmFyIHByZXZpb3VzID0gJHVsLmZpbmQoJy5hY3RpdmU6bGFzdCBhJylbMF0KKyAgICB2YXIgZSAgICAgICAgPSAkLkV2ZW50KCdzaG93LmJzLnRhYicsIHsKKyAgICAgIHJlbGF0ZWRUYXJnZXQ6IHByZXZpb3VzCisgICAgfSkKKworICAgICR0aGlzLnRyaWdnZXIoZSkKKworICAgIGlmIChlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSByZXR1cm4KKworICAgIHZhciAkdGFyZ2V0ID0gJChzZWxlY3RvcikKKworICAgIHRoaXMuYWN0aXZhdGUoJHRoaXMucGFyZW50KCdsaScpLCAkdWwpCisgICAgdGhpcy5hY3RpdmF0ZSgkdGFyZ2V0LCAkdGFyZ2V0LnBhcmVudCgpLCBmdW5jdGlvbiAoKSB7CisgICAgICAkdGhpcy50cmlnZ2VyKHsKKyAgICAgICAgdHlwZTogJ3Nob3duLmJzLnRhYicKKyAgICAgICwgcmVsYXRlZFRhcmdldDogcHJldmlvdXMKKyAgICAgIH0pCisgICAgfSkKKyAgfQorCisgIFRhYi5wcm90b3R5cGUuYWN0aXZhdGUgPSBmdW5jdGlvbiAoZWxlbWVudCwgY29udGFpbmVyLCBjYWxsYmFjaykgeworICAgIHZhciAkYWN0aXZlICAgID0gY29udGFpbmVyLmZpbmQoJz4gLmFjdGl2ZScpCisgICAgdmFyIHRyYW5zaXRpb24gPSBjYWxsYmFjaworICAgICAgJiYgJC5zdXBwb3J0LnRyYW5zaXRpb24KKyAgICAgICYmICRhY3RpdmUuaGFzQ2xhc3MoJ2ZhZGUnKQorCisgICAgZnVuY3Rpb24gbmV4dCgpIHsKKyAgICAgICRhY3RpdmUKKyAgICAgICAgLnJlbW92ZUNsYXNzKCdhY3RpdmUnKQorICAgICAgICAuZmluZCgnPiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUnKQorICAgICAgICAucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpCisKKyAgICAgIGVsZW1lbnQuYWRkQ2xhc3MoJ2FjdGl2ZScpCisKKyAgICAgIGlmICh0cmFuc2l0aW9uKSB7CisgICAgICAgIGVsZW1lbnRbMF0ub2Zmc2V0V2lkdGggLy8gcmVmbG93IGZvciB0cmFuc2l0aW9uCisgICAgICAgIGVsZW1lbnQuYWRkQ2xhc3MoJ2luJykKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGVsZW1lbnQucmVtb3ZlQ2xhc3MoJ2ZhZGUnKQorICAgICAgfQorCisgICAgICBpZiAoZWxlbWVudC5wYXJlbnQoJy5kcm9wZG93bi1tZW51JykpIHsKKyAgICAgICAgZWxlbWVudC5jbG9zZXN0KCdsaS5kcm9wZG93bicpLmFkZENsYXNzKCdhY3RpdmUnKQorICAgICAgfQorCisgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjaygpCisgICAgfQorCisgICAgdHJhbnNpdGlvbiA/CisgICAgICAkYWN0aXZlCisgICAgICAgIC5vbmUoJC5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLCBuZXh0KQorICAgICAgICAuZW11bGF0ZVRyYW5zaXRpb25FbmQoMTUwKSA6CisgICAgICBuZXh0KCkKKworICAgICRhY3RpdmUucmVtb3ZlQ2xhc3MoJ2luJykKKyAgfQorCisKKyAgLy8gVEFCIFBMVUdJTiBERUZJTklUSU9OCisgIC8vID09PT09PT09PT09PT09PT09PT09PQorCisgIHZhciBvbGQgPSAkLmZuLnRhYgorCisgICQuZm4udGFiID0gZnVuY3Rpb24gKCBvcHRpb24gKSB7CisgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CisgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpCisgICAgICB2YXIgZGF0YSAgPSAkdGhpcy5kYXRhKCdicy50YWInKQorCisgICAgICBpZiAoIWRhdGEpICR0aGlzLmRhdGEoJ2JzLnRhYicsIChkYXRhID0gbmV3IFRhYih0aGlzKSkpCisgICAgICBpZiAodHlwZW9mIG9wdGlvbiA9PSAnc3RyaW5nJykgZGF0YVtvcHRpb25dKCkKKyAgICB9KQorICB9CisKKyAgJC5mbi50YWIuQ29uc3RydWN0b3IgPSBUYWIKKworCisgIC8vIFRBQiBOTyBDT05GTElDVAorICAvLyA9PT09PT09PT09PT09PT0KKworICAkLmZuLnRhYi5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkgeworICAgICQuZm4udGFiID0gb2xkCisgICAgcmV0dXJuIHRoaXMKKyAgfQorCisKKyAgLy8gVEFCIERBVEEtQVBJCisgIC8vID09PT09PT09PT09PQorCisgICQoZG9jdW1lbnQpLm9uKCdjbGljay5icy50YWIuZGF0YS1hcGknLCAnW2RhdGEtdG9nZ2xlPSJ0YWIiXSwgW2RhdGEtdG9nZ2xlPSJwaWxsIl0nLCBmdW5jdGlvbiAoZSkgeworICAgIGUucHJldmVudERlZmF1bHQoKQorICAgICQodGhpcykudGFiKCdzaG93JykKKyAgfSkKKworfShqUXVlcnkpOworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIEJvb3RzdHJhcDogYWZmaXguanMgdjMuMC4yCisgKiBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9qYXZhc2NyaXB0LyNhZmZpeAorICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBDb3B5cmlnaHQgMjAxMyBUd2l0dGVyLCBJbmMuCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworCisKKytmdW5jdGlvbiAoJCkgeyAidXNlIHN0cmljdCI7CisKKyAgLy8gQUZGSVggQ0xBU1MgREVGSU5JVElPTgorICAvLyA9PT09PT09PT09PT09PT09PT09PT09CisKKyAgdmFyIEFmZml4ID0gZnVuY3Rpb24gKGVsZW1lbnQsIG9wdGlvbnMpIHsKKyAgICB0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgQWZmaXguREVGQVVMVFMsIG9wdGlvbnMpCisgICAgdGhpcy4kd2luZG93ID0gJCh3aW5kb3cpCisgICAgICAub24oJ3Njcm9sbC5icy5hZmZpeC5kYXRhLWFwaScsICQucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uLCB0aGlzKSkKKyAgICAgIC5vbignY2xpY2suYnMuYWZmaXguZGF0YS1hcGknLCAgJC5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb25XaXRoRXZlbnRMb29wLCB0aGlzKSkKKworICAgIHRoaXMuJGVsZW1lbnQgPSAkKGVsZW1lbnQpCisgICAgdGhpcy5hZmZpeGVkICA9CisgICAgdGhpcy51bnBpbiAgICA9IG51bGwKKworICAgIHRoaXMuY2hlY2tQb3NpdGlvbigpCisgIH0KKworICBBZmZpeC5SRVNFVCA9ICdhZmZpeCBhZmZpeC10b3AgYWZmaXgtYm90dG9tJworCisgIEFmZml4LkRFRkFVTFRTID0geworICAgIG9mZnNldDogMAorICB9CisKKyAgQWZmaXgucHJvdG90eXBlLmNoZWNrUG9zaXRpb25XaXRoRXZlbnRMb29wID0gZnVuY3Rpb24gKCkgeworICAgIHNldFRpbWVvdXQoJC5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb24sIHRoaXMpLCAxKQorICB9CisKKyAgQWZmaXgucHJvdG90eXBlLmNoZWNrUG9zaXRpb24gPSBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF0aGlzLiRlbGVtZW50LmlzKCc6dmlzaWJsZScpKSByZXR1cm4KKworICAgIHZhciBzY3JvbGxIZWlnaHQgPSAkKGRvY3VtZW50KS5oZWlnaHQoKQorICAgIHZhciBzY3JvbGxUb3AgICAgPSB0aGlzLiR3aW5kb3cuc2Nyb2xsVG9wKCkKKyAgICB2YXIgcG9zaXRpb24gICAgID0gdGhpcy4kZWxlbWVudC5vZmZzZXQoKQorICAgIHZhciBvZmZzZXQgICAgICAgPSB0aGlzLm9wdGlvbnMub2Zmc2V0CisgICAgdmFyIG9mZnNldFRvcCAgICA9IG9mZnNldC50b3AKKyAgICB2YXIgb2Zmc2V0Qm90dG9tID0gb2Zmc2V0LmJvdHRvbQorCisgICAgaWYgKHR5cGVvZiBvZmZzZXQgIT0gJ29iamVjdCcpICAgICAgICAgb2Zmc2V0Qm90dG9tID0gb2Zmc2V0VG9wID0gb2Zmc2V0CisgICAgaWYgKHR5cGVvZiBvZmZzZXRUb3AgPT0gJ2Z1bmN0aW9uJykgICAgb2Zmc2V0VG9wICAgID0gb2Zmc2V0LnRvcCgpCisgICAgaWYgKHR5cGVvZiBvZmZzZXRCb3R0b20gPT0gJ2Z1bmN0aW9uJykgb2Zmc2V0Qm90dG9tID0gb2Zmc2V0LmJvdHRvbSgpCisKKyAgICB2YXIgYWZmaXggPSB0aGlzLnVucGluICAgIT0gbnVsbCAmJiAoc2Nyb2xsVG9wICsgdGhpcy51bnBpbiA8PSBwb3NpdGlvbi50b3ApID8gZmFsc2UgOgorICAgICAgICAgICAgICAgIG9mZnNldEJvdHRvbSAhPSBudWxsICYmIChwb3NpdGlvbi50b3AgKyB0aGlzLiRlbGVtZW50LmhlaWdodCgpID49IHNjcm9sbEhlaWdodCAtIG9mZnNldEJvdHRvbSkgPyAnYm90dG9tJyA6CisgICAgICAgICAgICAgICAgb2Zmc2V0VG9wICAgICE9IG51bGwgJiYgKHNjcm9sbFRvcCA8PSBvZmZzZXRUb3ApID8gJ3RvcCcgOiBmYWxzZQorCisgICAgaWYgKHRoaXMuYWZmaXhlZCA9PT0gYWZmaXgpIHJldHVybgorICAgIGlmICh0aGlzLnVucGluKSB0aGlzLiRlbGVtZW50LmNzcygndG9wJywgJycpCisKKyAgICB0aGlzLmFmZml4ZWQgPSBhZmZpeAorICAgIHRoaXMudW5waW4gICA9IGFmZml4ID09ICdib3R0b20nID8gcG9zaXRpb24udG9wIC0gc2Nyb2xsVG9wIDogbnVsbAorCisgICAgdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyhBZmZpeC5SRVNFVCkuYWRkQ2xhc3MoJ2FmZml4JyArIChhZmZpeCA/ICctJyArIGFmZml4IDogJycpKQorCisgICAgaWYgKGFmZml4ID09ICdib3R0b20nKSB7CisgICAgICB0aGlzLiRlbGVtZW50Lm9mZnNldCh7IHRvcDogZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQgLSBvZmZzZXRCb3R0b20gLSB0aGlzLiRlbGVtZW50LmhlaWdodCgpIH0pCisgICAgfQorICB9CisKKworICAvLyBBRkZJWCBQTFVHSU4gREVGSU5JVElPTgorICAvLyA9PT09PT09PT09PT09PT09PT09PT09PQorCisgIHZhciBvbGQgPSAkLmZuLmFmZml4CisKKyAgJC5mbi5hZmZpeCA9IGZ1bmN0aW9uIChvcHRpb24pIHsKKyAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsKKyAgICAgIHZhciAkdGhpcyAgID0gJCh0aGlzKQorICAgICAgdmFyIGRhdGEgICAgPSAkdGhpcy5kYXRhKCdicy5hZmZpeCcpCisgICAgICB2YXIgb3B0aW9ucyA9IHR5cGVvZiBvcHRpb24gPT0gJ29iamVjdCcgJiYgb3B0aW9uCisKKyAgICAgIGlmICghZGF0YSkgJHRoaXMuZGF0YSgnYnMuYWZmaXgnLCAoZGF0YSA9IG5ldyBBZmZpeCh0aGlzLCBvcHRpb25zKSkpCisgICAgICBpZiAodHlwZW9mIG9wdGlvbiA9PSAnc3RyaW5nJykgZGF0YVtvcHRpb25dKCkKKyAgICB9KQorICB9CisKKyAgJC5mbi5hZmZpeC5Db25zdHJ1Y3RvciA9IEFmZml4CisKKworICAvLyBBRkZJWCBOTyBDT05GTElDVAorICAvLyA9PT09PT09PT09PT09PT09PQorCisgICQuZm4uYWZmaXgubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHsKKyAgICAkLmZuLmFmZml4ID0gb2xkCisgICAgcmV0dXJuIHRoaXMKKyAgfQorCisKKyAgLy8gQUZGSVggREFUQS1BUEkKKyAgLy8gPT09PT09PT09PT09PT0KKworICAkKHdpbmRvdykub24oJ2xvYWQnLCBmdW5jdGlvbiAoKSB7CisgICAgJCgnW2RhdGEtc3B5PSJhZmZpeCJdJykuZWFjaChmdW5jdGlvbiAoKSB7CisgICAgICB2YXIgJHNweSA9ICQodGhpcykKKyAgICAgIHZhciBkYXRhID0gJHNweS5kYXRhKCkKKworICAgICAgZGF0YS5vZmZzZXQgPSBkYXRhLm9mZnNldCB8fCB7fQorCisgICAgICBpZiAoZGF0YS5vZmZzZXRCb3R0b20pIGRhdGEub2Zmc2V0LmJvdHRvbSA9IGRhdGEub2Zmc2V0Qm90dG9tCisgICAgICBpZiAoZGF0YS5vZmZzZXRUb3ApICAgIGRhdGEub2Zmc2V0LnRvcCAgICA9IGRhdGEub2Zmc2V0VG9wCisKKyAgICAgICRzcHkuYWZmaXgoZGF0YSkKKyAgICB9KQorICB9KQorCit9KGpRdWVyeSk7CmRpZmYgLS1naXQgYS9qcy93aG9zLmpzIGIvanMvd2hvcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjg4OGFhCi0tLSAvZGV2L251bGwKKysrIGIvanMvd2hvcy5qcwpAQCAtMCwwICsxLDc2IEBACiskKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpeworCiskKCcjaW50cm8nKS5zaG93KCk7CiskKCcjaW50JykuaGlkZSgpOworJCgnI2RhdycpLmhpZGUoKTsKKyQoJyNnZGEnKS5oaWRlKCk7CiskKCcjaWJtJykuaGlkZSgpOworJCgnI25hdicpLmhpZGUoKTsKKworCit2YXIgJG9uZ2xldEl0ZW1zID0gJCgiI3NlY3Rpb24gYSIpOwordmFyICRpbnRybyA9ICQoIiNpbnRyb19zZWN0aW9uIik7CisKKyRpbnRyby5jbGljayhmdW5jdGlvbigpeworICAkKCcjZ2RhJykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAkKCcjaWJtJykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAkKCcjbmF2JykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAkKCcjZGF3JykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAkKCcjaW50JykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAkKCcjaW50cm8nKS5zaG93KCdzbG93JywnbGluZWFyJyk7Cit9KTsKKworJG9uZ2xldEl0ZW1zLmNsaWNrKGZ1bmN0aW9uKCl7CisgICRvbmdsZXRJdGVtcy5yZW1vdmVDbGFzcygiYWN0aXZlIik7CisgICQodGhpcykuYWRkQ2xhc3MoImFjdGl2ZSIpOworCisgIHZhciBkZXN0ID0gJCh0aGlzKS5hdHRyKCdocmVmJyk7CisKKyAgaWYgKGRlc3QgPT0gIiNkYXciKXsKKyAgICAkKCcjZ2RhJykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAgICQoJyNpYm0nKS5oaWRlKCdzbG93JywnbGluZWFyJyk7CisgICAgJCgnI25hdicpLmhpZGUoJ3Nsb3cnLCdsaW5lYXInKTsKKyAgICAkKCcjZGF3Jykuc2hvdygnc2xvdycsJ2xpbmVhcicpOworICAgICQoJyNpbnQnKS5oaWRlKCdzbG93JywnbGluZWFyJyk7CisgICAgJCgnI2ludHJvJykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICB9CisKKyAgaWYgKGRlc3QgPT0gIiNnZGEiKXsKKyAgICAkKCcjZ2RhJykuc2hvdygnc2xvdycsJ2xpbmVhcicpOworICAgICQoJyNpYm0nKS5oaWRlKCdzbG93JywnbGluZWFyJyk7CisgICAgJCgnI25hdicpLmhpZGUoJ3Nsb3cnLCdsaW5lYXInKTsKKyAgICAkKCcjZGF3JykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAgICQoJyNpbnQnKS5oaWRlKCdzbG93JywnbGluZWFyJyk7CisgICAgJCgnI2ludHJvJykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICB9CisKKyAgaWYgKGRlc3QgPT0gIiNpYm0iKXsKKyAgICAkKCcjZ2RhJykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAgICQoJyNpYm0nKS5zaG93KCdzbG93JywnbGluZWFyJyk7CisgICAgJCgnI25hdicpLmhpZGUoJ3Nsb3cnLCdsaW5lYXInKTsKKyAgICAkKCcjZGF3JykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAgICQoJyNpbnQnKS5oaWRlKCdzbG93JywnbGluZWFyJyk7CisgICAgJCgnI2ludHJvJykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICB9CisKKyAgaWYgKGRlc3QgPT0gIiNuYXYiKXsKKyAgICAkKCcjZ2RhJykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAgICQoJyNpYm0nKS5oaWRlKCdzbG93JywnbGluZWFyJyk7CisgICAgJCgnI25hdicpLnNob3coJ3Nsb3cnLCdsaW5lYXInKTsKKyAgICAkKCcjZGF3JykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAgICQoJyNpbnQnKS5oaWRlKCdzbG93JywnbGluZWFyJyk7CisgICAgJCgnI2ludHJvJykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICB9CisKKyAgaWYgKGRlc3QgPT0gIiNpbnQiKXsKKyAgICAkKCcjZ2RhJykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAgICQoJyNpYm0nKS5oaWRlKCdzbG93JywnbGluZWFyJyk7CisgICAgJCgnI25hdicpLmhpZGUoJ3Nsb3cnLCdsaW5lYXInKTsKKyAgICAkKCcjZGF3JykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICAgICQoJyNpbnQnKS5zaG93KCdzbG93JywnbGluZWFyJyk7CisgICAgJCgnI2ludHJvJykuaGlkZSgnc2xvdycsJ2xpbmVhcicpOworICB9CisKK30pOworCit9KTsKZGlmZiAtLWdpdCBhL3dob3MuaHRtbCBiL3dob3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWE5N2FjCi0tLSAvZGV2L251bGwKKysrIGIvd2hvcy5odG1sCkBAIC0wLDAgKzEsMTczIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL2Jvb3RzdHJhcC5taW4uY3NzIj4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9zdGFydGVyLXRlbXBsYXRlLmNzcyI+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iY3NzL3dob3MuY3NzIiBtZWRpYT0iYWxsIi8+CisgICAgPHRpdGxlPldobydzIHVzaW5nIEphbnVhcnkgUHJvamVjdDwvdGl0bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisKKyAgICA8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWRlZmF1bHQgbmF2YmFyLWZpeGVkLWJvdHRvbSI+CisKKyAgCTwvbmF2PgorCisgICAgPGRpdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1pbnZlcnNlIG5hdmJhci1maXhlZC10b3AiPgorICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLWhlYWRlciI+CisgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJuYXZiYXItdG9nZ2xlIGNvbGxhcHNlZCIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI25hdmJhciIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9Im5hdmJhciI+CisgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3Itb25seSI+VG9nZ2xlIG5hdmlnYXRpb248L3NwYW4+CisgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KKyAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgorICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CisgICAgICAgICAgPC9idXR0b24+CisgICAgICAgICAgPGEgY2xhc3M9Im5hdmJhci1icmFuZCIgaHJlZj0iI2ludHJvIiBpZD0iaW50cm9fc2VjdGlvbiI+R2V0dGluZyBzdGFydGVkPC9hPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0ibmF2YmFyIiBjbGFzcz0iY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlIj4KKyAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXZiYXItbmF2IiBpZD0ic2VjdGlvbiI+CisgICAgICAgICAgICA8bGkgY2xhc3M9ImRhdyI+PGEgaHJlZj0iI2RhdyI+RGF3bnNjaTwvYT48L2xpPgorICAgICAgICAgICAgPGxpIGNsYXNzPSJnZGEiPjxhIGhyZWY9IiNnZGEiPkdEQTwvYT48L2xpPgorICAgICAgICAgICAgPGxpIGNsYXNzPSJpYm0iPjxhIGhyZWY9IiNpYm0iPklCTTwvYT48L2xpPgorICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYiPjxhIGhyZWY9IiNuYXYiPk5BVlk8L2E+PC9saT4KKyAgICAgICAgICAgIDxsaSBjbGFzcz0iaW50Ij48YSBocmVmPSIjaW50Ij5pbnRlbDwvYT48L2xpPgorICAgICAgICAgIDwvdWw+CisgICAgICAgICAgPHVsIGNsYXNzPSJwdWxsLXJpZ2h0IiBpZD0iamFudWFyeS1saW5rIj4KKyAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2pkYXJyb3kuZ2l0aHViLmlvL2VjbGlwc2Uub3JnLWphbnVhcnkvaW5kZXguaHRtbCI+SmFudWFyeSBQcm9qZWN0PC9hPjwvbGk+CisgICAgICAgICAgPC91bD4KKyAgICAgICAgPC9kaXY+PCEtLS8ubmF2LWNvbGxhcHNlIC0tPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisKKworCisgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgPGRpdiBjbGFzcz0icm93Ij4KKyAgICAgICA8c2VjdGlvbiBjbGFzcz0iIj4KKyAgICAgICAgICAgPGFydGljbGUgY2xhc3M9ImNvbC1sZy0xMiI+CisKKyAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnRyb19kaXYiIGlkPSJpbnRybyI+CisgICAgICAgICAgICAgICA8YnI+CisgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2VjbGlwc2UucG5nIiBhbHQ9IiI+CisgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LXNlY3Rpb24tYSI+CisgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHIgY2xhc3M9InNlY3Rpb24taGVhZGluZy1zcGFjZXIiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4Ij48L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+R2V0IHN0YXJ0ZWQgd2l0aCA8YnI+RWNsaXBzZSBDb2xsZWN0aW9uczwvaDI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImxlYWQiPkVjbGlwc2UgQ29sbGVjdGlvbnMgaXMgdGhlIGJlc3QgSmF2YSBjb2xsZWN0aW9ucyBmcmFtZXdvcmsgZXZlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0IGJyaW5ncyBoYXBwaW5lc3MgdG8geW91ciBKYXZhIGRldmVsb3BtZW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+PGJyPkludGVncmF0ZSBpdCB0byB5b3VyIGNvZGViYXNlIHRvZGF5IHdpdGggeW91ciBmYXZvcml0ZSBidWlsZCB0b29scyE8L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXYtdGFicyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImFjdGl2ZSI+PGEgaHJlZj0iI21hdmVuIiBkYXRhLXRvZ2dsZT0idGFiIiBhcmlhLWV4cGFuZGVkPSJ0cnVlIj5NYXZlbjwvYT48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiNncmFkbGUiIGRhdGEtdG9nZ2xlPSJ0YWIiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5HcmFkbGU8L2E+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjaXZ5IiBkYXRhLXRvZ2dsZT0idGFiIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+SXZ5PC9hPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImRlcGVuZGVuY2llcyIgY2xhc3M9InRhYi1jb250ZW50Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIGluIGFjdGl2ZSIgaWQ9Im1hdmVuIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcmUgIGNsYXNzPSJwcmV0dHlwcmludCI+Cis8c3BhbiBjbGFzcz0idGFnIj4mbHQ7ZGVwZW5kZW5jeSZndDs8L3NwYW4+CisgICAgPHNwYW4gY2xhc3M9InRhZyI+Jmx0O2dyb3VwSWQmZ3Q7PC9zcGFuPjxzcGFuIGNsYXNzPSJwbG4iPmNvbS5naXRodWIueWFubmljay1tYXlldXI8L3NwYW4+PHNwYW4gY2xhc3M9InRhZyI+Jmx0Oy9ncm91cElkJmd0Ozwvc3Bhbj4KKyAgICA8c3BhbiBjbGFzcz0idGFnIj4mbHQ7YXJ0aWZhY3RJZCZndDs8L3NwYW4+PHNwYW4gY2xhc3M9InBsbiI+b3JnLmVjbGlwc2UuamFudWFyeTwvc3Bhbj48c3BhbiBjbGFzcz0idGFnIj4mbHQ7L2FydGlmYWN0SWQmZ3Q7PC9zcGFuPgorICAgIDxzcGFuIGNsYXNzPSJ0YWciPiZsdDt2ZXJzaW9uJmd0Ozwvc3Bhbj48c3BhbiBjbGFzcz0icGxuIj4yLjEuMDwvc3Bhbj48c3BhbiBjbGFzcz0idGFnIj4mbHQ7L3ZlcnNpb24mZ3Q7PC9zcGFuPgorPHNwYW4gY2xhc3M9InRhZyI+Jmx0Oy9kZXBlbmRlbmN5Jmd0Ozwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ByZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIiBpZD0iZ3JhZGxlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJlICBjbGFzcz0icHJldHR5cHJpbnQiPgorPHNwYW4gY2xhc3M9InBsbiI+Y29tcGlsZSA8L3NwYW4+PHNwYW4gY2xhc3M9InRhZyI+J2NvbS5naXRodWIueWFubmljay1tYXlldXI6b3JnLmVjbGlwc2UuamFudWFyeToyLjEuMCc8L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wcmU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItcGFuZSBmYWRlIiBpZD0iaXZ5Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJlICBjbGFzcz0icHJldHR5cHJpbnQiPgorPHNwYW4gY2xhc3M9InRhZyI+Jmx0O2RlcGVuZGVuY3kgPC9zcGFuPjxzcGFuIGNsYXNzPSJwbG4iPm9yZz0iY29tLmdpdGh1Yi55YW5uaWNrLW1heWV1ciIgbmFtZT0ib3JnLmVjbGlwc2UuamFudWFyeSIgcmV2PSIyLjEuMCI8L3NwYW4+PHNwYW4gY2xhc3M9InRhZyI+LyZndDs8L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcHJlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJzZWN0aW9uLWhlYWRpbmctc3BhY2VyIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+R2V0IHN0YXJ0ZWQgd2l0aCA8YnI+RWNsaXBzZSBDb2xsZWN0aW9uczwvaDI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJsZWFkIj5FY2xpcHNlIENvbGxlY3Rpb25zIGlzIHRoZSBiZXN0IEphdmEgY29sbGVjdGlvbnMgZnJhbWV3b3JrIGV2ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgYnJpbmdzIGhhcHBpbmVzcyB0byB5b3VyIEphdmEgZGV2ZWxvcG1lbnQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+PGJyPkludGVncmF0ZSBpdCB0byB5b3VyIGNvZGViYXNlIHRvZGF5IHdpdGggeW91ciBmYXZvcml0ZSBidWlsZCB0b29scyE8L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC8uY29udGFpbmVyIC0tPgorCisgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgPC9kaXY+CisKKyAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXdfZGl2IiBpZD0iZGF3Ij4KKyAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvZGF3bl9sb2dvLnBuZyIgYWx0PSIiPgorICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbiI+CisgICAgICAgICAgICAgICAgIDxicj4KKyAgICAgICAgICAgICAgICAgPHA+CisgICAgICAgICAgICAgICAgICAgQ2xhc3MgYXB0ZW50IHRhY2l0aSBzb2Npb3NxdSBhZCBsaXRvcmEgdG9ycXVlbnQgcGVyIGNvbnViaWEgbm9zdHJhLCBwZXIgaW5jZXB0b3MgaGltZW5hZW9zLiBTZWQgdmVuZW5hdGlzIGJpYmVuZHVtIGRhcGlidXMuIFByb2luIHJob25jdXMgYW50ZSBhdCBuZXF1ZSBlZ2VzdGFzLCB1dCBsYWNpbmlhIG1hdXJpcyB0cmlzdGlxdWUuIEFlbmVhbiB0dXJwaXMgcmlzdXMsIHRlbXB1cyBpbiB1bHRyaWNlcyBhLCBlZmZpY2l0dXIgdml0YWUgbmlzbC4gSW4gcXVpcyBtYXR0aXMgc2VtLiBEdWlzIHZpdGFlIHByZXRpdW0gZG9sb3IuIE51bGxhIGZhY2lsaXNpLiBNYXVyaXMgbGFjaW5pYSwgbGVjdHVzIG5lYyBsYWNpbmlhIHZvbHV0cGF0LCBmZWxpcyB0b3J0b3IgZnJpbmdpbGxhIG1hZ25hLCBuZWMgZGFwaWJ1cyBvcmNpIG9yY2kgdmVsIGxpYmVyby4gRHVpcyB2aXRhZSBtb2xsaXMgZXgsIHNpdCBhbWV0IGNvbnNlY3RldHVyIGZlbGlzLiBNb3JiaSBhdCBpcHN1bSB0b3J0b3IuIERvbmVjIHZlaGljdWxhIHJ1dHJ1bSBtYWduYSBuZWMgdm9sdXRwYXQuIFF1aXNxdWUgdGVtcG9yIG1pIGlkIGVzdCBlbGVtZW50dW0sIG5vbiBwcmV0aXVtIHNhcGllbiByaG9uY3VzLiBDbGFzcyBhcHRlbnQgdGFjaXRpIHNvY2lvc3F1IGFkIGxpdG9yYSB0b3JxdWVudCBwZXIgY29udWJpYSBub3N0cmEsIHBlciBpbmNlcHRvcyBoaW1lbmFlb3MuIEFlbmVhbiBhdCBkb2xvciBhdCBtYXNzYSBlZ2VzdGFzIHBoYXJldHJhLiBNb3JiaSBmaW5pYnVzIGVuaW0gbm9uIHJpc3VzIHJ1dHJ1bSBldWlzbW9kLgorICAgICAgICAgICAgICAgICA8L3A+CisgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICA8L2Rpdj4KKworICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdkYV9kaXYiIGlkPSJnZGEiPgorICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbiI+CisgICAgICAgICAgICAgICAgIDxwPgorICAgICAgICAgICAgICAgICAgIENsYXNzIGFwdGVudCB0YWNpdGkgc29jaW9zcXUgYWQgbGl0b3JhIHRvcnF1ZW50IHBlciBjb251YmlhIG5vc3RyYSwgcGVyIGluY2VwdG9zIGhpbWVuYWVvcy4gU2VkIHZlbmVuYXRpcyBiaWJlbmR1bSBkYXBpYnVzLiBQcm9pbiByaG9uY3VzIGFudGUgYXQgbmVxdWUgZWdlc3RhcywgdXQgbGFjaW5pYSBtYXVyaXMgdHJpc3RpcXVlLiBBZW5lYW4gdHVycGlzIHJpc3VzLCB0ZW1wdXMgaW4gdWx0cmljZXMgYSwgZWZmaWNpdHVyIHZpdGFlIG5pc2wuIEluIHF1aXMgbWF0dGlzIHNlbS4gRHVpcyB2aXRhZSBwcmV0aXVtIGRvbG9yLiBOdWxsYSBmYWNpbGlzaS4gTWF1cmlzIGxhY2luaWEsIGxlY3R1cyBuZWMgbGFjaW5pYSB2b2x1dHBhdCwgZmVsaXMgdG9ydG9yIGZyaW5naWxsYSBtYWduYSwgbmVjIGRhcGlidXMgb3JjaSBvcmNpIHZlbCBsaWJlcm8uIER1aXMgdml0YWUgbW9sbGlzIGV4LCBzaXQgYW1ldCBjb25zZWN0ZXR1ciBmZWxpcy4gTW9yYmkgYXQgaXBzdW0gdG9ydG9yLiBEb25lYyB2ZWhpY3VsYSBydXRydW0gbWFnbmEgbmVjIHZvbHV0cGF0LiBRdWlzcXVlIHRlbXBvciBtaSBpZCBlc3QgZWxlbWVudHVtLCBub24gcHJldGl1bSBzYXBpZW4gcmhvbmN1cy4gQ2xhc3MgYXB0ZW50IHRhY2l0aSBzb2Npb3NxdSBhZCBsaXRvcmEgdG9ycXVlbnQgcGVyIGNvbnViaWEgbm9zdHJhLCBwZXIgaW5jZXB0b3MgaGltZW5hZW9zLiBBZW5lYW4gYXQgZG9sb3IgYXQgbWFzc2EgZWdlc3RhcyBwaGFyZXRyYS4gTW9yYmkgZmluaWJ1cyBlbmltIG5vbiByaXN1cyBydXRydW0gZXVpc21vZC4KKyAgICAgICAgICAgICAgICAgICBDbGFzcyBhcHRlbnQgdGFjaXRpIHNvY2lvc3F1IGFkIGxpdG9yYSB0b3JxdWVudCBwZXIgY29udWJpYSBub3N0cmEsIHBlciBpbmNlcHRvcyBoaW1lbmFlb3MuIFNlZCB2ZW5lbmF0aXMgYmliZW5kdW0gZGFwaWJ1cy4gUHJvaW4gcmhvbmN1cyBhbnRlIGF0IG5lcXVlIGVnZXN0YXMsIHV0IGxhY2luaWEgbWF1cmlzIHRyaXN0aXF1ZS4gQWVuZWFuIHR1cnBpcyByaXN1cywgdGVtcHVzIGluIHVsdHJpY2VzIGEsIGVmZmljaXR1ciB2aXRhZSBuaXNsLiBJbiBxdWlzIG1hdHRpcyBzZW0uIER1aXMgdml0YWUgcHJldGl1bSBkb2xvci4gTnVsbGEgZmFjaWxpc2kuIE1hdXJpcyBsYWNpbmlhLCBsZWN0dXMgbmVjIGxhY2luaWEgdm9sdXRwYXQsIGZlbGlzIHRvcnRvciBmcmluZ2lsbGEgbWFnbmEsIG5lYyBkYXBpYnVzIG9yY2kgb3JjaSB2ZWwgbGliZXJvLiBEdWlzIHZpdGFlIG1vbGxpcyBleCwgc2l0IGFtZXQgY29uc2VjdGV0dXIgZmVsaXMuIE1vcmJpIGF0IGlwc3VtIHRvcnRvci4gRG9uZWMgdmVoaWN1bGEgcnV0cnVtIG1hZ25hIG5lYyB2b2x1dHBhdC4gUXVpc3F1ZSB0ZW1wb3IgbWkgaWQgZXN0IGVsZW1lbnR1bSwgbm9uIHByZXRpdW0gc2FwaWVuIHJob25jdXMuIENsYXNzIGFwdGVudCB0YWNpdGkgc29jaW9zcXUgYWQgbGl0b3JhIHRvcnF1ZW50IHBlciBjb251YmlhIG5vc3RyYSwgcGVyIGluY2VwdG9zIGhpbWVuYWVvcy4gQWVuZWFuIGF0IGRvbG9yIGF0IG1hc3NhIGVnZXN0YXMgcGhhcmV0cmEuIE1vcmJpIGZpbmlidXMgZW5pbSBub24gcmlzdXMgcnV0cnVtIGV1aXNtb2QuCisgICAgICAgICAgICAgICAgICAgQ2xhc3MgYXB0ZW50IHRhY2l0aSBzb2Npb3NxdSBhZCBsaXRvcmEgdG9ycXVlbnQgcGVyIGNvbnViaWEgbm9zdHJhLCBwZXIgaW5jZXB0b3MgaGltZW5hZW9zLiBTZWQgdmVuZW5hdGlzIGJpYmVuZHVtIGRhcGlidXMuIFByb2luIHJob25jdXMgYW50ZSBhdCBuZXF1ZSBlZ2VzdGFzLCB1dCBsYWNpbmlhIG1hdXJpcyB0cmlzdGlxdWUuIEFlbmVhbiB0dXJwaXMgcmlzdXMsIHRlbXB1cyBpbiB1bHRyaWNlcyBhLCBlZmZpY2l0dXIgdml0YWUgbmlzbC4gSW4gcXVpcyBtYXR0aXMgc2VtLiBEdWlzIHZpdGFlIHByZXRpdW0gZG9sb3IuIE51bGxhIGZhY2lsaXNpLiBNYXVyaXMgbGFjaW5pYSwgbGVjdHVzIG5lYyBsYWNpbmlhIHZvbHV0cGF0LCBmZWxpcyB0b3J0b3IgZnJpbmdpbGxhIG1hZ25hLCBuZWMgZGFwaWJ1cyBvcmNpIG9yY2kgdmVsIGxpYmVyby4gRHVpcyB2aXRhZSBtb2xsaXMgZXgsIHNpdCBhbWV0IGNvbnNlY3RldHVyIGZlbGlzLiBNb3JiaSBhdCBpcHN1bSB0b3J0b3IuIERvbmVjIHZlaGljdWxhIHJ1dHJ1bSBtYWduYSBuZWMgdm9sdXRwYXQuIFF1aXNxdWUgdGVtcG9yIG1pIGlkIGVzdCBlbGVtZW50dW0sIG5vbiBwcmV0aXVtIHNhcGllbiByaG9uY3VzLiBDbGFzcyBhcHRlbnQgdGFjaXRpIHNvY2lvc3F1IGFkIGxpdG9yYSB0b3JxdWVudCBwZXIgY29udWJpYSBub3N0cmEsIHBlciBpbmNlcHRvcyBoaW1lbmFlb3MuIEFlbmVhbiBhdCBkb2xvciBhdCBtYXNzYSBlZ2VzdGFzIHBoYXJldHJhLiBNb3JiaSBmaW5pYnVzIGVuaW0gbm9uIHJpc3VzIHJ1dHJ1bSBldWlzbW9kLgorICAgICAgICAgICAgICAgICA8L3A+CisgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICA8L2Rpdj4KKworICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlibV9kaXYiIGlkPSJpYm0iPgorICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbiI+CisgICAgICAgICAgICAgICAgIDxwPgorICAgICAgICAgICAgICAgICAgIENsYXNzIGFwdGVudCB0YWNpdGkgc29jaW9zcXUgYWQgbGl0b3JhIHRvcnF1ZW50IHBlciBjb251YmlhIG5vc3RyYSwgcGVyIGluY2VwdG9zIGhpbWVuYWVvcy4gU2VkIHZlbmVuYXRpcyBiaWJlbmR1bSBkYXBpYnVzLiBQcm9pbiByaG9uY3VzIGFudGUgYXQgbmVxdWUgZWdlc3RhcywgdXQgbGFjaW5pYSBtYXVyaXMgdHJpc3RpcXVlLiBBZW5lYW4gdHVycGlzIHJpc3VzLCB0ZW1wdXMgaW4gdWx0cmljZXMgYSwgZWZmaWNpdHVyIHZpdGFlIG5pc2wuIEluIHF1aXMgbWF0dGlzIHNlbS4gRHVpcyB2aXRhZSBwcmV0aXVtIGRvbG9yLiBOdWxsYSBmYWNpbGlzaS4gTWF1cmlzIGxhY2luaWEsIGxlY3R1cyBuZWMgbGFjaW5pYSB2b2x1dHBhdCwgZmVsaXMgdG9ydG9yIGZyaW5naWxsYSBtYWduYSwgbmVjIGRhcGlidXMgb3JjaSBvcmNpIHZlbCBsaWJlcm8uIER1aXMgdml0YWUgbW9sbGlzIGV4LCBzaXQgYW1ldCBjb25zZWN0ZXR1ciBmZWxpcy4gTW9yYmkgYXQgaXBzdW0gdG9ydG9yLiBEb25lYyB2ZWhpY3VsYSBydXRydW0gbWFnbmEgbmVjIHZvbHV0cGF0LiBRdWlzcXVlIHRlbXBvciBtaSBpZCBlc3QgZWxlbWVudHVtLCBub24gcHJldGl1bSBzYXBpZW4gcmhvbmN1cy4gQ2xhc3MgYXB0ZW50IHRhY2l0aSBzb2Npb3NxdSBhZCBsaXRvcmEgdG9ycXVlbnQgcGVyIGNvbnViaWEgbm9zdHJhLCBwZXIgaW5jZXB0b3MgaGltZW5hZW9zLiBBZW5lYW4gYXQgZG9sb3IgYXQgbWFzc2EgZWdlc3RhcyBwaGFyZXRyYS4gTW9yYmkgZmluaWJ1cyBlbmltIG5vbiByaXN1cyBydXRydW0gZXVpc21vZC4KKyAgICAgICAgICAgICAgICAgPC9wPgorICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgPC9kaXY+CisKKyAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXZfZGl2IiBpZD0ibmF2Ij4KKyAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW4iPgorICAgICAgICAgICAgICAgICA8cD4KKyAgICAgICAgICAgICAgICAgICBDbGFzcyBhcHRlbnQgdGFjaXRpIHNvY2lvc3F1IGFkIGxpdG9yYSB0b3JxdWVudCBwZXIgY29udWJpYSBub3N0cmEsIHBlciBpbmNlcHRvcyBoaW1lbmFlb3MuIFNlZCB2ZW5lbmF0aXMgYmliZW5kdW0gZGFwaWJ1cy4gUHJvaW4gcmhvbmN1cyBhbnRlIGF0IG5lcXVlIGVnZXN0YXMsIHV0IGxhY2luaWEgbWF1cmlzIHRyaXN0aXF1ZS4gQWVuZWFuIHR1cnBpcyByaXN1cywgdGVtcHVzIGluIHVsdHJpY2VzIGEsIGVmZmljaXR1ciB2aXRhZSBuaXNsLiBJbiBxdWlzIG1hdHRpcyBzZW0uIER1aXMgdml0YWUgcHJldGl1bSBkb2xvci4gTnVsbGEgZmFjaWxpc2kuIE1hdXJpcyBsYWNpbmlhLCBsZWN0dXMgbmVjIGxhY2luaWEgdm9sdXRwYXQsIGZlbGlzIHRvcnRvciBmcmluZ2lsbGEgbWFnbmEsIG5lYyBkYXBpYnVzIG9yY2kgb3JjaSB2ZWwgbGliZXJvLiBEdWlzIHZpdGFlIG1vbGxpcyBleCwgc2l0IGFtZXQgY29uc2VjdGV0dXIgZmVsaXMuIE1vcmJpIGF0IGlwc3VtIHRvcnRvci4gRG9uZWMgdmVoaWN1bGEgcnV0cnVtIG1hZ25hIG5lYyB2b2x1dHBhdC4gUXVpc3F1ZSB0ZW1wb3IgbWkgaWQgZXN0IGVsZW1lbnR1bSwgbm9uIHByZXRpdW0gc2FwaWVuIHJob25jdXMuIENsYXNzIGFwdGVudCB0YWNpdGkgc29jaW9zcXUgYWQgbGl0b3JhIHRvcnF1ZW50IHBlciBjb251YmlhIG5vc3RyYSwgcGVyIGluY2VwdG9zIGhpbWVuYWVvcy4gQWVuZWFuIGF0IGRvbG9yIGF0IG1hc3NhIGVnZXN0YXMgcGhhcmV0cmEuIE1vcmJpIGZpbmlidXMgZW5pbSBub24gcmlzdXMgcnV0cnVtIGV1aXNtb2QuCisgICAgICAgICAgICAgICAgIDwvcD4KKyAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgIDwvZGl2PgorCisgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW50X2RpdiIgaWQ9ImludCI+CisgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluIj4KKyAgICAgICAgICAgICAgICAgPHA+CisgICAgICAgICAgICAgICAgICAgQ2xhc3MgYXB0ZW50IHRhY2l0aSBzb2Npb3NxdSBhZCBsaXRvcmEgdG9ycXVlbnQgcGVyIGNvbnViaWEgbm9zdHJhLCBwZXIgaW5jZXB0b3MgaGltZW5hZW9zLiBTZWQgdmVuZW5hdGlzIGJpYmVuZHVtIGRhcGlidXMuIFByb2luIHJob25jdXMgYW50ZSBhdCBuZXF1ZSBlZ2VzdGFzLCB1dCBsYWNpbmlhIG1hdXJpcyB0cmlzdGlxdWUuIEFlbmVhbiB0dXJwaXMgcmlzdXMsIHRlbXB1cyBpbiB1bHRyaWNlcyBhLCBlZmZpY2l0dXIgdml0YWUgbmlzbC4gSW4gcXVpcyBtYXR0aXMgc2VtLiBEdWlzIHZpdGFlIHByZXRpdW0gZG9sb3IuIE51bGxhIGZhY2lsaXNpLiBNYXVyaXMgbGFjaW5pYSwgbGVjdHVzIG5lYyBsYWNpbmlhIHZvbHV0cGF0LCBmZWxpcyB0b3J0b3IgZnJpbmdpbGxhIG1hZ25hLCBuZWMgZGFwaWJ1cyBvcmNpIG9yY2kgdmVsIGxpYmVyby4gRHVpcyB2aXRhZSBtb2xsaXMgZXgsIHNpdCBhbWV0IGNvbnNlY3RldHVyIGZlbGlzLiBNb3JiaSBhdCBpcHN1bSB0b3J0b3IuIERvbmVjIHZlaGljdWxhIHJ1dHJ1bSBtYWduYSBuZWMgdm9sdXRwYXQuIFF1aXNxdWUgdGVtcG9yIG1pIGlkIGVzdCBlbGVtZW50dW0sIG5vbiBwcmV0aXVtIHNhcGllbiByaG9uY3VzLiBDbGFzcyBhcHRlbnQgdGFjaXRpIHNvY2lvc3F1IGFkIGxpdG9yYSB0b3JxdWVudCBwZXIgY29udWJpYSBub3N0cmEsIHBlciBpbmNlcHRvcyBoaW1lbmFlb3MuIEFlbmVhbiBhdCBkb2xvciBhdCBtYXNzYSBlZ2VzdGFzIHBoYXJldHJhLiBNb3JiaSBmaW5pYnVzIGVuaW0gbm9uIHJpc3VzIHJ1dHJ1bSBldWlzbW9kLgorICAgICAgICAgICAgICAgICA8L3A+CisgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICA8L2Rpdj4KKworICAgICAgICAgICA8L2FydGljbGU+CisgICAgICAgPC9zZWN0aW9uPgorICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICAgPGZvb3RlciBjbGFzcz0icm93Ij4KKyAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIiPgorICAgICAgICAgUGllZCBkZSBwYWdlCisgICAgICAgPC9kaXY+CisgICAgIDwvZm9vdGVyPgorCisKKworCisKKyAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS4xMS4xL2pxdWVyeS5taW4uanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMy4yLjEubWluLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9ImpzL3dob3MuanMiPjwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+Cg==