{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+VEhFIE1FIEJPU1MgQXNzZXNzbWVudCB+IFNoZSBFdm9sdmVzIEFmcmljYTwvdGl0bGU+CjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJCZWZvcmUgeW91IGJ1aWxkIHlvdXIgZW1waXJlIH4gZGlzY292ZXIgd2hvIHlvdSBhcmUuIFRoZSBNRSBCT1NTIEFzc2Vzc21lbnQgYnkgVGhlIFNIRSBFLUJvc3MgU29sdXRpb25pc3QuIEZpdmUgZGltZW5zaW9ucy4gRml2ZSBzZWFzb25zLiBPbmUgc292ZXJlaWduIHNlbGYuIj4KPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMwRDIyNDciPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20iPgo8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUNvcm1vcmFudCtHYXJhbW9uZDppdGFsLHdnaHRAMCwzMDA7MCw0MDA7MCw2MDA7MCw3MDA7MSwzMDA7MSw0MDA7MSw2MDAmZmFtaWx5PU91dGZpdDp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgoKPHN0eWxlPgovKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgUk9PVCAmIFJFU0VUCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqLwoqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsgbWFyZ2luOjA7IHBhZGRpbmc6MDsgYm94LXNpemluZzpib3JkZXItYm94OyB9Cmh0bWwgeyBzY3JvbGwtYmVoYXZpb3I6c21vb3RoOyB9Cgo6cm9vdCB7CiAgLS1uYXZ5OiAgICAgICMxQjNBNkI7CiAgLS1uYXZ5LWRlZXA6ICMwRDIyNDc7CiAgLS1uYXZ5LW1pZDogICMyQzUyODI7CiAgLS1nb2xkOiAgICAgICNDOTk1MUE7CiAgLS1nb2xkMjogICAgICNFOEI0MzI7CiAgLS1nb2xkMzogICAgICNGNUQwNjA7CiAgLS10ZWFsOiAgICAgICMyQzdBN0I7CiAgLS13aGl0ZTogICAgICNGRkZGRkY7CiAgLS1ncmV5LW1pZDogICM3MTgwOTY7CiAgLS1kYXJrOiAgICAgICMwNzBEMUE7CgogIC8qIFNlYXNvbiBjb2xvdXJzICovCiAgLS1zZWVkOiAgICAgICM0QThDNkY7CiAgLS1yb290czogICAgICMyQzdBN0I7CiAgLS10cnVuazogICAgICMyQjZDQjA7CiAgLS1ibG9vbTogICAgICM2QjQ2QzE7CiAgLS1zb3ZlcmVpZ246ICNDOTk1MUE7Cn0KCmJvZHkgewogIGZvbnQtZmFtaWx5OiAnT3V0Zml0Jywgc2Fucy1zZXJpZjsKICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrKTsKICBjb2xvcjogdmFyKC0td2hpdGUpOwogIG92ZXJmbG93LXg6IGhpZGRlbjsKICBtaW4taGVpZ2h0OiAxMDB2aDsKfQoKLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgIEJBQ0tHUk9VTkQK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovCi5iZyB7CiAgcG9zaXRpb246IGZpeGVkOyBpbnNldDogMDsgei1pbmRleDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgYmFja2dyb3VuZDoKICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDE1JSAxMCUsIHJnYmEoMjcsNTgsMTA3LC45KSAwJSwgdHJhbnNwYXJlbnQgNTUlKSwKICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDg1JSA5MCUsIHJnYmEoMjAxLDE0OSwyNiwuMTUpIDAlLCB0cmFuc3BhcmVudCA1MCUpLAogICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgNTAlIDUwJSwgcmdiYSg0NCwxMjIsMTIzLC4wOCkgMCUsIHRyYW5zcGFyZW50IDcwJSksCiAgICAjMDcwRDFBOwp9CgouZmxvYXRpZXMgeyBwb3NpdGlvbjpmaXhlZDsgaW5zZXQ6MDsgcG9pbnRlci1ldmVudHM6bm9uZTsgei1pbmRleDoxOyBvdmVyZmxvdzpoaWRkZW47IH0KLmZsb2F0aWUgIHsgcG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTotNDBweDsgYW5pbWF0aW9uOmZsb2F0VXAgbGluZWFyIGluZmluaXRlOyBvcGFjaXR5OjA7IH0KQGtleWZyYW1lcyBmbG9hdFVwIHsKICAwJSAgeyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSByb3RhdGUoLTNkZWcpOyBvcGFjaXR5OjA7IH0KICA4JSAgeyBvcGFjaXR5Oi4yOyB9IDkyJXsgb3BhY2l0eTouMDc7IH0KICAxMDAleyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTEwdmgpIHJvdGF0ZSg4ZGVnKTsgb3BhY2l0eTowOyB9Cn0KCi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICBXUkFQUEVSCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqLwoud3JhcCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxMDsKICBtaW4taGVpZ2h0OiAxMDB2aDsKICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOwogIHBhZGRpbmc6IDAgMXJlbSA1cmVtOwp9CgovKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgSU5UUk8gU0NSRUVOCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqLwouaW50cm8tc2NyZWVuIHsKICB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA2NDBweDsKICBwYWRkaW5nOiAzcmVtIDEuNXJlbSAycmVtOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBhbmltYXRpb246IGZhZGVJbiAuOHMgZWFzZSBmb3J3YXJkczsKfQpAa2V5ZnJhbWVzIGZhZGVJbiB7IGZyb217b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDE2cHgpfSB0b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9IH0KCi5pbnRyby1icmFuZCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogLjVyZW07CiAgcGFkZGluZzogLjMycmVtIDFyZW07IGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgYmFja2dyb3VuZDogcmdiYSgyMDEsMTQ5LDI2LC4xKTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsMTQ5LDI2LC4yOCk7CiAgZm9udC1zaXplOiAuNnJlbTsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IC4yZW07CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWdvbGQyKTsgbWFyZ2luLWJvdHRvbTogMS41cmVtOwp9CgouaW50cm8tY3Jvd24gewogIGZvbnQtc2l6ZTogMy41cmVtOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogLjhyZW07CiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMjRweCByZ2JhKDIwMSwxNDksMjYsLjkpKTsKICBhbmltYXRpb246IGNyb3duUHVsc2UgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBjcm93blB1bHNlIHsKICAwJSwxMDAleyBmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDIwcHggcmdiYSgyMDEsMTQ5LDI2LC43KSk7IHRyYW5zZm9ybTpzY2FsZSgxKTsgfQogIDUwJSAgICB7IGZpbHRlcjpkcm9wLXNoYWRvdygwIDAgNDBweCByZ2JhKDIwMSwxNDksMjYsMSkpOyAgdHJhbnNmb3JtOnNjYWxlKDEuMDYpOyB9Cn0KCi5pbnRyby1zY3JlZW4gaDEgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEdhcmFtb25kJywgc2VyaWY7CiAgZm9udC1zaXplOiBjbGFtcCgyLjJyZW0sIDZ2dywgMy41cmVtKTsgZm9udC13ZWlnaHQ6IDcwMDsKICBsaW5lLWhlaWdodDogMS4wODsgY29sb3I6IHZhcigtLXdoaXRlKTsgbWFyZ2luLWJvdHRvbTogLjVyZW07Cn0KLmludHJvLXNjcmVlbiBoMSBlbSB7IGNvbG9yOiB2YXIoLS1nb2xkMik7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfQoKLmludHJvLXRhZ2xpbmUgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEdhcmFtb25kJywgc2VyaWY7CiAgZm9udC1zaXplOiAxLjA1cmVtOyBmb250LXN0eWxlOiBpdGFsaWM7CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjYpOyBtYXJnaW4tYm90dG9tOiAxLjRyZW07IGxpbmUtaGVpZ2h0OiAxLjY1Owp9CgouaW50cm8tYWNyb255bSB7CiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAuMzVyZW07CiAgbWFyZ2luOiAxLjJyZW0gYXV0bzsgbWF4LXdpZHRoOiA0MjBweDsgdGV4dC1hbGlnbjogbGVmdDsKfQouYWNyLXJvdyB7CiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyBnYXA6IC42cmVtOwogIHBhZGRpbmc6IC41cmVtIC44cmVtOyBib3JkZXItcmFkaXVzOiA5cHg7CiAgYmFja2dyb3VuZDogcmdiYSgyNyw1OCwxMDcsLjI1KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDcpOwp9Ci5hY3ItbGV0dGVyIHsgZm9udC1mYW1pbHk6J0Nvcm1vcmFudCBHYXJhbW9uZCcsc2VyaWY7IGZvbnQtc2l6ZToxLjhyZW07IGZvbnQtd2VpZ2h0OjcwMDsgY29sb3I6dmFyKC0tZ29sZCk7IHdpZHRoOjEuNHJlbTsgZmxleC1zaHJpbms6MDsgbGluZS1oZWlnaHQ6MTsgfQouYWNyLXdvcmRzICB7IGZvbnQtc2l6ZTouNzhyZW07IGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjc1KTsgbGluZS1oZWlnaHQ6MS41OyB9Ci5hY3Itd29yZHMgc3Ryb25nIHsgY29sb3I6dmFyKC0tZ29sZDIpOyBmb250LXdlaWdodDo2MDA7IH0KCi5pbnRyby1waGlsb3NvcGh5IHsKICBmb250LXNpemU6IC44MnJlbTsgY29sb3I6IHZhcigtLWdyZXktbWlkKTsgbGluZS1oZWlnaHQ6IDEuODsKICBtYXgtd2lkdGg6IDUyMHB4OyBtYXJnaW46IDFyZW0gYXV0byAxLjZyZW07Cn0KCi8qIFNlYXNvbiBwcmV2aWV3cyAqLwouc2Vhc29ucy1zdHJpcCB7CiAgZGlzcGxheTogZmxleDsgZ2FwOiAuNHJlbTsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZsZXgtd3JhcDogd3JhcDsKICBtYXJnaW4tYm90dG9tOiAxLjhyZW07Cn0KLnNlYXNvbi1waXAgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogLjM1cmVtOwogIHBhZGRpbmc6IC4zcmVtIC43cmVtOyBib3JkZXItcmFkaXVzOiAyMHB4OwogIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA0KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOwogIGZvbnQtc2l6ZTogLjZyZW07IGxldHRlci1zcGFjaW5nOiAuMWVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouYmVnaW4tYnRuIHsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAuNnJlbTsKICBwYWRkaW5nOiAuOTVyZW0gMi40cmVtOyBib3JkZXItcmFkaXVzOiAxMnB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdvbGQpLCAjQTg3QTEyKTsKICBjb2xvcjogdmFyKC0tZGFyayk7IGJvcmRlcjogbm9uZTsgZm9udC1mYW1pbHk6ICdPdXRmaXQnLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogLjk1cmVtOyBmb250LXdlaWdodDogNzAwOyBjdXJzb3I6IHBvaW50ZXI7CiAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGJveC1zaGFkb3c6IDAgNnB4IDI4cHggcmdiYSgyMDEsMTQ5LDI2LC40KTsgdHJhbnNpdGlvbjogYWxsIC4yMnM7Cn0KLmJlZ2luLWJ0bjpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgYm94LXNoYWRvdzogMCAxMHB4IDM2cHggcmdiYSgyMDEsMTQ5LDI2LC41NSk7IH0KCi5taXJyb3ItcXVvdGUgewogIG1hcmdpbi10b3A6IDEuOHJlbTsgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICBmb250LXNpemU6IC45NXJlbTsgZm9udC1zdHlsZTogaXRhbGljOwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4zKTsgbGluZS1oZWlnaHQ6IDEuNzsKfQoubWlycm9yLXF1b3RlIHNwYW4geyBjb2xvcjogcmdiYSgyMDEsMTQ5LDI2LC41KTsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogLjY4cmVtOyBmb250LXN0eWxlOiBub3JtYWw7IGxldHRlci1zcGFjaW5nOiAuMTJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLXRvcDogLjNyZW07IH0KCi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICBQUk9HUkVTUyBCQVIK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovCi5wcm9ncmVzcy13cmFwIHsKICB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA2NDBweDsKICBwYWRkaW5nOiAxLjJyZW0gMS41cmVtIC44cmVtOwp9Ci5wcm9ncmVzcy10b3AgewogIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgbWFyZ2luLWJvdHRvbTogLjRyZW07Cn0KLnByb2dyZXNzLXRvcCBzcGFuIHsgZm9udC1zaXplOiAuNnJlbTsgbGV0dGVyLXNwYWNpbmc6IC4xNWVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tZ3JleS1taWQpOyB9Ci5wcm9ncmVzcy10b3AgLnAtY291bnQgeyBjb2xvcjogdmFyKC0tZ29sZCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KLnByb2dyZXNzLXRyYWNrIHsgaGVpZ2h0OiAzcHg7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA3KTsgYm9yZGVyLXJhZGl1czogNHB4OyBvdmVyZmxvdzogaGlkZGVuOyB9Ci5wcm9ncmVzcy1maWxsICB7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1uYXZ5LW1pZCksIHZhcigtLWdvbGQpKTsgYm9yZGVyLXJhZGl1czogNHB4OyB0cmFuc2l0aW9uOiB3aWR0aCAuNXMgZWFzZTsgd2lkdGg6IDAlOyB9CgovKiBkaW1lbnNpb24gaW5kaWNhdG9yICovCi5kaW0taW5kaWNhdG9yIHsKICBkaXNwbGF5OiBmbGV4OyBnYXA6IC4zNXJlbTsgbWFyZ2luLXRvcDogLjZyZW07IGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5kaW0tZG90IHsKICB3aWR0aDogMjhweDsgaGVpZ2h0OiAzcHg7IGJvcmRlci1yYWRpdXM6IDNweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4xKTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNHM7Cn0KLmRpbS1kb3QuYWN0aXZlICAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkKTsgfQouZGltLWRvdC5jb21wbGV0ZSB7IGJhY2tncm91bmQ6IHJnYmEoMjAxLDE0OSwyNiwuMzUpOyB9CgovKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgUVVFU1RJT04gQ0FSRArilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi8KLnEtc3RhZ2UgeyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA2NDBweDsgcGFkZGluZzogMCAwIC41cmVtOyB9CgoucS1jYXJkIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDI3LDU4LDEwNywuNDUpIDAlLCByZ2JhKDEzLDM0LDcxLC44NSkgMTAwJSk7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsMTQ5LDI2LC4yMik7IGJvcmRlci1yYWRpdXM6IDE4cHg7CiAgcGFkZGluZzogMS44cmVtIDEuNnJlbSAxLjRyZW07IG1hcmdpbi1ib3R0b206IDFyZW07CiAgYW5pbWF0aW9uOiBjYXJkSW4gLjRzIGVhc2UgZm9yd2FyZHM7Cn0KQGtleWZyYW1lcyBjYXJkSW4geyBmcm9te29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxNHB4KX0gdG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfSB9CgoucS1kaW0tbGFiZWwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IC40cmVtOwogIHBhZGRpbmc6IC4yNXJlbSAuNzVyZW07IGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgZm9udC1zaXplOiAuNThyZW07IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAuMThlbTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tYm90dG9tOiAuN3JlbTsKfQoucS1udW0geyBmb250LXNpemU6IC42MnJlbTsgY29sb3I6IHZhcigtLWdyZXktbWlkKTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IC4yNXJlbTsgfQoucS10ZXh0IHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogIGZvbnQtc2l6ZTogMS40cmVtOyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0td2hpdGUpOwogIGxpbmUtaGVpZ2h0OiAxLjQyOyBtYXJnaW4tYm90dG9tOiAxLjRyZW07Cn0KCi8qIGFuc3dlcnMgKi8KLmFuc3dlcnMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IC41cmVtOyB9Ci5hbnMtYnRuIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZ2FwOiAuODVyZW07CiAgcGFkZGluZzogLjg1cmVtIDFyZW07IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjA0KTsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOSk7IGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgY3Vyc29yOiBwb2ludGVyOyB0ZXh0LWFsaWduOiBsZWZ0OyB0cmFuc2l0aW9uOiBhbGwgLjJzOyB3aWR0aDogMTAwJTsKfQouYW5zLWJ0bjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMjcsNTgsMTA3LC41KTsgYm9yZGVyLWNvbG9yOiByZ2JhKDIwMSwxNDksMjYsLjM1KTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH0KLmFucy1idG4uc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kOiByZ2JhKDIwMSwxNDksMjYsLjE0KTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkKTsgfQouYW5zLWJ0bi5zZWxlY3RlZCAuYW5zLWx0ciB7IGJhY2tncm91bmQ6IHZhcigtLWdvbGQpOyBjb2xvcjogdmFyKC0tZGFyayk7IGJvcmRlci1jb2xvcjogdmFyKC0tZ29sZCk7IH0KCi5hbnMtbHRyIHsKICBtaW4td2lkdGg6IDI2cHg7IGhlaWdodDogMjZweDsgYm9yZGVyLXJhZGl1czogNnB4OwogIGJhY2tncm91bmQ6IHJnYmEoMjcsNTgsMTA3LC44KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsMTQ5LDI2LC4zKTsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBmb250LXNpemU6IC42OHJlbTsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWdvbGQpOwogIGZsZXgtc2hyaW5rOiAwOyBtYXJnaW4tdG9wOiAxcHg7IHRyYW5zaXRpb246IGFsbCAuMnM7Cn0KLmFucy10ZXh0IHsgZm9udC1zaXplOiAuODJyZW07IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44NSk7IGxpbmUtaGVpZ2h0OiAxLjU1OyB9CgovKiBuZXh0IGJ1dHRvbiAqLwoubmV4dC1idG4gewogIHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAuOXJlbTsgYm9yZGVyLXJhZGl1czogMTBweDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkKSwgI0E4N0ExMik7CiAgY29sb3I6IHZhcigtLWRhcmspOyBib3JkZXI6IG5vbmU7IGZvbnQtZmFtaWx5OiAnT3V0Zml0Jywgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IC44OHJlbTsgZm9udC13ZWlnaHQ6IDcwMDsgY3Vyc29yOiBwb2ludGVyOwogIGxldHRlci1zcGFjaW5nOiAuMDRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBvcGFjaXR5OiAuNDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHRyYW5zaXRpb246IGFsbCAuMjJzOwogIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgyMDEsMTQ5LDI2LC4yNSk7Cn0KLm5leHQtYnRuLmFjdGl2ZSB7IG9wYWNpdHk6IDE7IHBvaW50ZXItZXZlbnRzOiBhdXRvOyBib3gtc2hhZG93OiAwIDRweCAyNHB4IHJnYmEoMjAxLDE0OSwyNiwuNCk7IH0KLm5leHQtYnRuLmFjdGl2ZTpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgYm94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDIwMSwxNDksMjYsLjUpOyB9CgovKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgQ0FQVFVSRSBTQ1JFRU4K4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovCi5jYXB0dXJlLXNjcmVlbiB7CiAgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogNTgwcHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSgyNyw1OCwxMDcsLjQ1KSAwJSwgcmdiYSgxMywzNCw3MSwuODgpIDEwMCUpOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLDE0OSwyNiwuMyk7IGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgcGFkZGluZzogMi4ycmVtIDEuOHJlbTsgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXB0dXJlLXNjcmVlbiBoMiB7IGZvbnQtZmFtaWx5OidDb3Jtb3JhbnQgR2FyYW1vbmQnLHNlcmlmOyBmb250LXNpemU6MS43cmVtOyBmb250LXdlaWdodDo3MDA7IGNvbG9yOnZhcigtLXdoaXRlKTsgbWFyZ2luLWJvdHRvbTouNHJlbTsgfQouY2FwdHVyZS1zY3JlZW4gcCAgeyBmb250LXNpemU6LjhyZW07IGNvbG9yOnZhcigtLWdyZXktbWlkKTsgbGluZS1oZWlnaHQ6MS43OyBtYXJnaW4tYm90dG9tOjEuNHJlbTsgfQoKLmZpZWxkIHsgbWFyZ2luLWJvdHRvbTogLjdyZW07IH0KLmZpZWxkIGlucHV0IHsKICB3aWR0aDogMTAwJTsgcGFkZGluZzogLjhyZW0gMXJlbTsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNik7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLDE0OSwyNiwuMjIpOwogIGJvcmRlci1yYWRpdXM6IDlweDsgZm9udC1mYW1pbHk6ICdPdXRmaXQnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogLjg1cmVtOwogIGNvbG9yOiB2YXIoLS13aGl0ZSk7IG91dGxpbmU6IG5vbmU7IHRyYW5zaXRpb246IGJvcmRlciAuMnM7Cn0KLmZpZWxkIGlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4yOCk7IH0KLmZpZWxkIGlucHV0OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkKTsgfQoKLnJldmVhbC1idG4gewogIHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAuOTVyZW07IGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ29sZCksICNBODdBMTIpOwogIGNvbG9yOiB2YXIoLS1kYXJrKTsgYm9yZGVyOiBub25lOyBmb250LWZhbWlseTogJ091dGZpdCcsc2Fucy1zZXJpZjsKICBmb250LXNpemU6IC45cmVtOyBmb250LXdlaWdodDogNzAwOyBjdXJzb3I6IHBvaW50ZXI7CiAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgyMDEsMTQ5LDI2LC4zNSk7IHRyYW5zaXRpb246IGFsbCAuMjJzOwp9Ci5yZXZlYWwtYnRuOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9Ci5za2lwLWxpbmsgeyBkaXNwbGF5OmJsb2NrOyB0ZXh0LWFsaWduOmNlbnRlcjsgbWFyZ2luLXRvcDouNzVyZW07IGZvbnQtc2l6ZTouNjZyZW07IGNvbG9yOnZhcigtLWdyZXktbWlkKTsgY3Vyc29yOnBvaW50ZXI7IGxldHRlci1zcGFjaW5nOi4xZW07IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OjNweDsgfQouc2tpcC1saW5rOmhvdmVyIHsgY29sb3I6dmFyKC0tZ29sZCk7IH0KCi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICBSRVNVTFQgU0NSRUVOCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqLwoucmVzdWx0LXNjcmVlbiB7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDY0MHB4OyB9CgoucmVzdWx0LWhlcm8gewogIGJvcmRlci1yYWRpdXM6IDE4cHg7IHBhZGRpbmc6IDIuMnJlbSAxLjhyZW0gMS44cmVtOwogIHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogMXJlbTsKICBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47CiAgYW5pbWF0aW9uOiBmYWRlSW4gLjVzIGVhc2UgZm9yd2FyZHM7Cn0KLnJlc3VsdC1oZXJvOjpiZWZvcmUgewogIGNvbnRlbnQ6Jyc7IHBvc2l0aW9uOmFic29sdXRlOyBpbnNldDowOyBwb2ludGVyLWV2ZW50czpub25lOwogIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQgMjBweCwgcmdiYSgyNTUsMjU1LDI1NSwuMDE1KSAyMHB4LCByZ2JhKDI1NSwyNTUsMjU1LC4wMTUpIDIxcHgpOwp9CgoucmVzdWx0LXNlYXNvbi1iYWRnZSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAuMzVyZW0gMXJlbTsgYm9yZGVyLXJhZGl1czogMjBweDsKICBmb250LXNpemU6IC42cmVtOyBmb250LXdlaWdodDogNzAwOyBsZXR0ZXItc3BhY2luZzogLjJlbTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBtYXJnaW4tYm90dG9tOiAxcmVtOwp9Ci5yZXN1bHQtaWNvbiB7IGZvbnQtc2l6ZTogMy4ycmVtOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogLjdyZW07IH0KLnJlc3VsdC1zZWFzb24tbmFtZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICBmb250LXNpemU6IGNsYW1wKDEuOHJlbSw1dncsMi42cmVtKTsgZm9udC13ZWlnaHQ6IDcwMDsKICBsaW5lLWhlaWdodDogMS4xOyBtYXJnaW4tYm90dG9tOiAuNHJlbTsKfQoucmVzdWx0LXNlYXNvbi1zdWIgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEdhcmFtb25kJywgc2VyaWY7CiAgZm9udC1zaXplOiAxcmVtOyBmb250LXN0eWxlOiBpdGFsaWM7CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjY1KTsgbGluZS1oZWlnaHQ6IDEuNjsgbWFyZ2luLWJvdHRvbTogMS4ycmVtOwp9CgovKiBkaW1lbnNpb24gc2NvcmVzICovCi5kaW0tYmFycyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgZ2FwOiAuNXJlbTsgbWFyZ2luOiAxcmVtIDA7IH0KQG1lZGlhKG1heC13aWR0aDo0NjBweCl7IC5kaW0tYmFycyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH0KLmRpbS1iYXItY2FyZCB7CiAgcGFkZGluZzogLjdyZW0gLjhyZW07IGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDUpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7Cn0KLmRiYy1uYW1lIHsgZm9udC1zaXplOiAuNTZyZW07IGxldHRlci1zcGFjaW5nOiAuMTVlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWdyZXktbWlkKTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IC4zcmVtOyB9Ci5kYmMtc2NvcmV7IGZvbnQtc2l6ZTogLjg1cmVtOyBmb250LXdlaWdodDogNjAwOyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogLjNyZW07IH0KLmRiYy10cmFjayB7IGhlaWdodDogNHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7IGJvcmRlci1yYWRpdXM6IDRweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfQouZGJjLWZpbGwgIHsgaGVpZ2h0OiAxMDAlOyBib3JkZXItcmFkaXVzOiA0cHg7IHRyYW5zaXRpb246IHdpZHRoIDEuNXMgZWFzZSAuM3M7IHdpZHRoOiAwJTsgfQoKLyogcmVzdWx0IGJvZHkgKi8KLnJlc3VsdC1ib2R5IHsKICBiYWNrZ3JvdW5kOiByZ2JhKDEzLDM0LDcxLC42KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsMTQ5LDI2LC4yKTsKICBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAxLjRyZW07IG1hcmdpbi1ib3R0b206IDFyZW07Cn0KLnJlc3VsdC1ib2R5IGgzIHsgZm9udC1mYW1pbHk6J0Nvcm1vcmFudCBHYXJhbW9uZCcsc2VyaWY7IGZvbnQtc2l6ZToxLjJyZW07IGZvbnQtd2VpZ2h0OjYwMDsgY29sb3I6dmFyKC0td2hpdGUpOyBtYXJnaW4tYm90dG9tOi42cmVtOyB9Ci5yZXN1bHQtYm9keSBwICB7IGZvbnQtc2l6ZTouODJyZW07IGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjgpOyBsaW5lLWhlaWdodDoxLjc1OyBtYXJnaW4tYm90dG9tOi44cmVtOyB9Ci5yZXN1bHQtYm9keSB1bCB7IGxpc3Qtc3R5bGU6bm9uZTsgfQoucmVzdWx0LWJvZHkgbGkgeyBmb250LXNpemU6LjhyZW07IGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcyKTsgcGFkZGluZzouM3JlbSAwIC4zcmVtIDEuMnJlbTsgcG9zaXRpb246cmVsYXRpdmU7IGxpbmUtaGVpZ2h0OjEuNTsgYm9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDUpOyB9Ci5yZXN1bHQtYm9keSBsaTpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTpub25lOyB9Ci5yZXN1bHQtYm9keSBsaTo6YmVmb3JlIHsgY29udGVudDon4pymJzsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MDsgZm9udC1zaXplOi41NXJlbTsgdG9wOi40NXJlbTsgfQoKLyogQ1RBICovCi5yZXN1bHQtY3RhIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAuNjVyZW07IG1hcmdpbi1ib3R0b206IDFyZW07IH0KLnItYnRuIHsKICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAuNTVyZW07CiAgcGFkZGluZzogLjlyZW0gMS4ycmVtOyBib3JkZXItcmFkaXVzOiAxMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgZm9udC1mYW1pbHk6ICdPdXRmaXQnLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogLjg1cmVtOyBmb250LXdlaWdodDogNjAwOwogIHRyYW5zaXRpb246IGFsbCAuMjJzOyBjdXJzb3I6IHBvaW50ZXI7IGJvcmRlcjogbm9uZTsgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5yLXByaW1hcnkgeyBjb2xvcjogdmFyKC0tZGFyayk7IGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgyMDEsMTQ5LDI2LC4zKTsgfQouci1wcmltYXJ5OmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9Ci5yLXNlY29uZGFyeSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwxNDksMjYsLjM1KTsgY29sb3I6IHZhcigtLWdvbGQyKTsgfQouci1zZWNvbmRhcnk6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDIwMSwxNDksMjYsLjEpOyB9CgovKiBzZWFzb24gbGFkZGVyICovCi5zZWFzb24tbGFkZGVyIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDEzLDM0LDcxLC40KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDcpOwogIGJvcmRlci1yYWRpdXM6IDEycHg7IHBhZGRpbmc6IDFyZW0gMS4ycmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtOwp9Ci5zZWFzb24tbGFkZGVyIGg0IHsgZm9udC1zaXplOi42MnJlbTsgbGV0dGVyLXNwYWNpbmc6LjE1ZW07IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgY29sb3I6dmFyKC0tZ3JleS1taWQpOyBtYXJnaW4tYm90dG9tOi43cmVtOyB9Ci5zbC1yb3cgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogLjdyZW07IHBhZGRpbmc6IC40cmVtIDA7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA1KTsKfQouc2wtcm93Omxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9Ci5zbC1pY29uIHsgZm9udC1zaXplOiAxcmVtOyB3aWR0aDogMjJweDsgdGV4dC1hbGlnbjogY2VudGVyOyB9Ci5zbC1uYW1lIHsgZm9udC1zaXplOiAuNzVyZW07IGZvbnQtd2VpZ2h0OiA2MDA7IGZsZXg6IDE7IH0KLnNsLXlvdSAgeyBmb250LXNpemU6IC42cmVtOyBjb2xvcjogdmFyKC0tZ29sZCk7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAuMWVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9CgovKiBzaGFyZSBzdHJpcCAqLwouc2hhcmUtc3RyaXAgewogIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogLjdyZW07CiAgcGFkZGluZzogLjhyZW0gMXJlbTsgYmFja2dyb3VuZDogcmdiYSgyNyw1OCwxMDcsLjMpOwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLDE0OSwyNiwuMTUpOyBib3JkZXItcmFkaXVzOiAxMHB4OyBtYXJnaW4tYm90dG9tOiAuOHJlbTsKfQouc2hhcmUtc3RyaXAtdGV4dCB7IGZsZXg6IDE7IH0KLnNoYXJlLXN0cmlwLXRleHQgc3Ryb25nIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogLjczcmVtOyBjb2xvcjogdmFyKC0tZ29sZDIpOyBtYXJnaW4tYm90dG9tOiAuMXJlbTsgfQouc2hhcmUtc3RyaXAtdGV4dCBwIHsgZm9udC1zaXplOiAuNjhyZW07IGNvbG9yOiB2YXIoLS1ncmV5LW1pZCk7IGxpbmUtaGVpZ2h0OiAxLjQ7IH0KLnNoYXJlLWNvcHktYnRuIHsKICBwYWRkaW5nOiAuNDVyZW0gLjlyZW07IGJhY2tncm91bmQ6IHZhcigtLW5hdnkpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nb2xkKTsKICBib3JkZXItcmFkaXVzOiA3cHg7IGNvbG9yOiB2YXIoLS1nb2xkKTsgZm9udC1zaXplOiAuNjhyZW07IGZvbnQtd2VpZ2h0OiA2MDA7CiAgY3Vyc29yOiBwb2ludGVyOyBsZXR0ZXItc3BhY2luZzogLjA4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgdHJhbnNpdGlvbjogYWxsIC4yczsKfQouc2hhcmUtY29weS1idG46aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDIwMSwxNDksMjYsLjE1KTsgfQoKLnJldGFrZS1saW5rIHsgZGlzcGxheTpibG9jazsgdGV4dC1hbGlnbjpjZW50ZXI7IGZvbnQtc2l6ZTouNjZyZW07IGNvbG9yOnZhcigtLWdyZXktbWlkKTsgY3Vyc29yOnBvaW50ZXI7IGxldHRlci1zcGFjaW5nOi4xZW07IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgfQoucmV0YWtlLWxpbms6aG92ZXIgeyBjb2xvcjp2YXIoLS1nb2xkKTsgfQoKLyogaGlkZGVuICovCi5oaWRkZW4geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KPGRpdiBjbGFzcz0iYmciPjwvZGl2Pgo8ZGl2IGNsYXNzPSJmbG9hdGllcyIgaWQ9ImZsb2F0aWVzIj48L2Rpdj4KCjxkaXYgY2xhc3M9IndyYXAiPgoKICA8IS0tIOKVkOKVkCBJTlRSTyBTQ1JFRU4g4pWQ4pWQIC0tPgogIDxkaXYgY2xhc3M9ImludHJvLXNjcmVlbiIgaWQ9ImludHJvU2NyZWVuIj4KICAgIDxkaXYgY2xhc3M9ImludHJvLWJyYW5kIj7wn5GRIFRoZSBTSEUgRS1Cb3NzIFNvbHV0aW9uaXN0IH4gU2hlIEV2b2x2ZXMgQWZyaWNhPC9kaXY+CiAgICA8c3BhbiBjbGFzcz0iaW50cm8tY3Jvd24iPvCfkZE8L3NwYW4+CiAgICA8aDE+VEhFPGJyPjxlbT5NRSBCT1NTPC9lbT48YnI+QXNzZXNzbWVudDwvaDE+CiAgICA8cCBjbGFzcz0iaW50cm8tdGFnbGluZSI+IkV2ZXJ5dGhpbmcgeW91IG5lZWQgdG8ga25vdyBhYm91dCB5b3Vyc2VsZiBpcyBhbHJlYWR5IGxpdmluZyBpbnNpZGUgeW91IH4gd2FpdGluZyBmb3IgdGhlIHJpZ2h0IHF1ZXN0aW9ucyBhbmQgdGhlIHJpZ2h0IHNwYWNlIHRvIHN1cmZhY2UuIjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJpbnRyby1hY3JvbnltIj4KICAgICAgPGRpdiBjbGFzcz0iYWNyLXJvdyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImFjci1sZXR0ZXIiPlQ8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImFjci13b3JkcyI+PHN0cm9uZz5UaW1lbGVzcyBIZXJvaW5lIEV4dHJhb3JkaW5haXJlPC9zdHJvbmc+IH4gdGhlIHdvbWFuIHdobyBleGlzdHMgYmVmb3JlIGFuZCBhZnRlciBldmVyeSByb2xlIHlvdSBob2xkPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYWNyLXJvdyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImFjci1sZXR0ZXIiPkg8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImFjci13b3JkcyI+SGVyIH4gdGhlIHBvc3Nlc3NpdmUgdGhhdCBiZWxvbmdzIHRvIG5vIG9uZSBlbHNlPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYWNyLXJvdyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImFjci1sZXR0ZXIiPkU8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImFjci13b3JkcyI+PHN0cm9uZz5NeSBFc3NlbmNlPC9zdHJvbmc+IH4gdGhlIGlycmVkdWNpYmxlIGNvcmUgdGhhdCBjYW5ub3QgYmUgdGFrZW4sIHNvbGQgb3IgcmVicmFuZGVkPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYWNyLXJvdyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImFjci1sZXR0ZXIiPkI8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImFjci13b3JkcyI+PHN0cm9uZz5Cb2xkbHk8L3N0cm9uZz4gfiB3aXRob3V0IGFwb2xvZ3ksIHdpdGhvdXQgcGVybWlzc2lvbjwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImFjci1yb3ciPgogICAgICAgIDxzcGFuIGNsYXNzPSJhY3ItbGV0dGVyIj5PPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJhY3Itd29yZHMiPjxzdHJvbmc+T2JzZXNzZWQ8L3N0cm9uZz4gfiB3aXRoIGhlcnNlbGYgZmlyc3QsIGFzIHRoZSBmb3VuZGF0aW9uIG9mIGV2ZXJ5dGhpbmc8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJhY3Itcm93Ij4KICAgICAgICA8c3BhbiBjbGFzcz0iYWNyLWxldHRlciI+Uzwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iYWNyLXdvcmRzIj48c3Ryb25nPlNlbGYtQ2VudGVyZWQ8L3N0cm9uZz4gfiB0aGUgbW9zdCBnZW5lcm91cyBhY3QgYSB3b21hbiBjYW4gY29tbWl0PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYWNyLXJvdyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImFjci1sZXR0ZXIiPlM8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImFjci13b3JkcyI+PHN0cm9uZz5Tb3ZlcmVpZ250eTwvc3Ryb25nPiB+IHRoZSBzdGF0ZSBvZiBiZWluZyB0aGUgZ292ZXJuaW5nIGF1dGhvcml0eSBvZiBoZXIgb3duIGxpZmU8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPHAgY2xhc3M9ImludHJvLXBoaWxvc29waHkiPlRoaXMgYXNzZXNzbWVudCBhc2tzIHlvdSB0d2VudHkgcXVlc3Rpb25zIGJlZm9yZSBhc2tpbmcgeW91IGEgc2luZ2xlIHRoaW5nIGFib3V0IHlvdXIgYnVzaW5lc3MuIEJlY2F1c2UgdGhlIHdvbWFuIGJlaGluZCB0aGUgZW1waXJlIG1hdHRlcnMgbW9yZSB0aGFuIHRoZSBlbXBpcmUgaXRzZWxmLiBZb3UgYXJlIHlvdXIgb3duIGZpcnN0IGF1ZGllbmNlLiBZb3VyIG93biBmaXJzdCBjdXN0b21lci4gWW91ciBvd24gZmlyc3QgaW52ZXN0bWVudC48L3A+CgogICAgPGRpdiBjbGFzcz0ic2Vhc29ucy1zdHJpcCI+CiAgICAgIDxkaXYgY2xhc3M9InNlYXNvbi1waXAiPjxzcGFuPvCfjLE8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLXNlZWQpIj5UaGUgU2VlZDwvc3Bhbj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2Vhc29uLXBpcCI+PHNwYW4+8J+Mvzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tcm9vdHMpIj5UaGUgUm9vdHM8L3NwYW4+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlYXNvbi1waXAiPjxzcGFuPvCfjLM8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOnZhcigtLXRydW5rKSI+VGhlIFRydW5rPC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWFzb24tcGlwIj48c3Bhbj7wn4y6PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjp2YXIoLS1ibG9vbSkiPlRoZSBCbG9vbTwvc3Bhbj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2Vhc29uLXBpcCI+PHNwYW4+8J+RkTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0tc292ZXJlaWduKSI+VGhlIFNvdmVyZWlnbjwvc3Bhbj48L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxidXR0b24gY2xhc3M9ImJlZ2luLWJ0biIgb25jbGljaz0ic3RhcnRBc3Nlc3NtZW50KCkiPkJlZ2luIE15IEFzc2Vzc21lbnQg8J+RkTwvYnV0dG9uPgoKICAgIDxwIGNsYXNzPSJtaXJyb3ItcXVvdGUiPiJTaGUgd2FzIG5ldmVyIGxvc3QuIFNoZSB3YXMgc2ltcGx5IHdhaXRpbmcgZm9yIHNvbWVvbmUgdG8gaG9sZCB0aGUgbWlycm9yIHN0aWxsIGxvbmcgZW5vdWdoLiI8c3Bhbj5+IFRoZSBTSEUgRS1Cb3NzIFNvbHV0aW9uaXN0PC9zcGFuPjwvcD4KICA8L2Rpdj4KCiAgPCEtLSDilZDilZAgUFJPR1JFU1Mg4pWQ4pWQIC0tPgogIDxkaXYgY2xhc3M9InByb2dyZXNzLXdyYXAgaGlkZGVuIiBpZD0icHJvZ3Jlc3NXcmFwIj4KICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLXRvcCI+CiAgICAgIDxzcGFuPlRIRSBNRSBCT1NTIEFzc2Vzc21lbnQ8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwLWNvdW50IiBpZD0icENvdW50Ij5RdWVzdGlvbiAxIG9mIDIwPC9zcGFuPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy10cmFjayI+PGRpdiBjbGFzcz0icHJvZ3Jlc3MtZmlsbCIgaWQ9InByb2dyZXNzRmlsbCI+PC9kaXY+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJkaW0taW5kaWNhdG9yIiBpZD0iZGltSW5kaWNhdG9yIj4KICAgICAgPGRpdiBjbGFzcz0iZGltLWRvdCIgaWQ9ImRkMCI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRpbS1kb3QiIGlkPSJkZDEiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkaW0tZG90IiBpZD0iZGQyIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZGltLWRvdCIgaWQ9ImRkMyI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRpbS1kb3QiIGlkPSJkZDQiPjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDwhLS0g4pWQ4pWQIFFVRVNUSU9OIFNUQUdFIOKVkOKVkCAtLT4KICA8ZGl2IGNsYXNzPSJxLXN0YWdlIGhpZGRlbiIgaWQ9InFTdGFnZSI+CiAgICA8ZGl2IGNsYXNzPSJxLWNhcmQiIGlkPSJxQ2FyZCI+CiAgICAgIDxkaXYgY2xhc3M9InEtZGltLWxhYmVsIiBpZD0icURpbUxhYmVsIj48L2Rpdj4KICAgICAgPHNwYW4gY2xhc3M9InEtbnVtIiBpZD0icU51bSI+PC9zcGFuPgogICAgICA8cCBjbGFzcz0icS10ZXh0IiBpZD0icVRleHQiPjwvcD4KICAgICAgPGRpdiBjbGFzcz0iYW5zd2VycyIgaWQ9ImFuc3dlcnNXcmFwIj48L2Rpdj4KICAgIDwvZGl2PgogICAgPGJ1dHRvbiBjbGFzcz0ibmV4dC1idG4iIGlkPSJuZXh0QnRuIiBvbmNsaWNrPSJuZXh0UXVlc3Rpb24oKSI+Q29udGludWUg4oaSPC9idXR0b24+CiAgPC9kaXY+CgogIDwhLS0g4pWQ4pWQIENBUFRVUkUgU0NSRUVOIOKVkOKVkCAtLT4KICA8ZGl2IGNsYXNzPSJjYXB0dXJlLXNjcmVlbiBoaWRkZW4iIGlkPSJjYXB0dXJlU2NyZWVuIj4KICAgIDxoMj5Zb3VyIHNlYXNvbiBpcyByZWFkeSDwn5GRPC9oMj4KICAgIDxwPkVudGVyIHlvdXIgZGV0YWlscyB0byByZWNlaXZlIHlvdXIgZnVsbCBNRSBCT1NTIFNlYXNvbiByZXN1bHQgfiBhbmQgdG8gYmUgcGxhY2VkIG9uIHRoZSByaWdodCBwYXRoIGZvciB3aGVyZSB5b3UgYXJlIHJpZ2h0IG5vdy48L3A+CiAgICA8ZGl2IGNsYXNzPSJmaWVsZCI+PGlucHV0IHR5cGU9InRleHQiIGlkPSJjYXBOYW1lIiBwbGFjZWhvbGRlcj0iWW91ciBOYW1lIiBhdXRvY29tcGxldGU9Im5hbWUiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iZmllbGQiPjxpbnB1dCB0eXBlPSJlbWFpbCIgaWQ9ImNhcEVtYWlsIiBwbGFjZWhvbGRlcj0iWW91ciBFbWFpbCBBZGRyZXNzIiBhdXRvY29tcGxldGU9ImVtYWlsIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZpZWxkIj48aW5wdXQgdHlwZT0idGVsIiBpZD0iY2FwUGhvbmUiIHBsYWNlaG9sZGVyPSJZb3VyIFdoYXRzQXBwIChvcHRpb25hbCkiIGF1dG9jb21wbGV0ZT0idGVsIj48L2Rpdj4KICAgIDxidXR0b24gY2xhc3M9InJldmVhbC1idG4iIG9uY2xpY2s9InNob3dSZXN1bHQoKSI+UmV2ZWFsIE15IE1FIEJPU1MgU2Vhc29uIPCfkZE8L2J1dHRvbj4KICAgIDxzcGFuIGNsYXNzPSJza2lwLWxpbmsiIG9uY2xpY2s9InNob3dSZXN1bHQoKSI+U2tpcCBhbmQgc2VlIG15IHJlc3VsdCDihpI8L3NwYW4+CiAgPC9kaXY+CgogIDwhLS0g4pWQ4pWQIFJFU1VMVCBTQ1JFRU4g4pWQ4pWQIC0tPgogIDxkaXYgY2xhc3M9InJlc3VsdC1zY3JlZW4gaGlkZGVuIiBpZD0icmVzdWx0U2NyZWVuIj4KICAgIDxkaXYgY2xhc3M9InJlc3VsdC1oZXJvIiBpZD0icmVzdWx0SGVybyI+CiAgICAgIDxkaXYgY2xhc3M9InJlc3VsdC1zZWFzb24tYmFkZ2UiIGlkPSJyZXN1bHRCYWRnZSI+PC9kaXY+CiAgICAgIDxzcGFuIGNsYXNzPSJyZXN1bHQtaWNvbiIgaWQ9InJlc3VsdEljb24iPjwvc3Bhbj4KICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LXNlYXNvbi1uYW1lIiBpZD0icmVzdWx0TmFtZSI+PC9kaXY+CiAgICAgIDxwIGNsYXNzPSJyZXN1bHQtc2Vhc29uLXN1YiIgaWQ9InJlc3VsdFN1YiI+PC9wPgogICAgICA8ZGl2IGNsYXNzPSJkaW0tYmFycyIgaWQ9ImRpbUJhcnMiPjwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0icmVzdWx0LWJvZHkiIGlkPSJyZXN1bHRCb2R5Ij48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtY3RhIiBpZD0icmVzdWx0Q3RhIj48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWFzb24tbGFkZGVyIj4KICAgICAgPGg0PuKcpiBUaGUgRml2ZSBTZWFzb25zIOKcpjwvaDQ+CiAgICAgIDxkaXYgY2xhc3M9InNsLXJvdyI+PHNwYW4gY2xhc3M9InNsLWljb24iPvCfjLE8L3NwYW4+PHNwYW4gY2xhc3M9InNsLW5hbWUiIHN0eWxlPSJjb2xvcjp2YXIoLS1zZWVkKSI+VGhlIFNlZWQ8L3NwYW4+PHNwYW4gY2xhc3M9InNsLXlvdSIgaWQ9InNsMCI+PC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzbC1yb3ciPjxzcGFuIGNsYXNzPSJzbC1pY29uIj7wn4y/PC9zcGFuPjxzcGFuIGNsYXNzPSJzbC1uYW1lIiBzdHlsZT0iY29sb3I6dmFyKC0tcm9vdHMpIj5UaGUgUm9vdHM8L3NwYW4+PHNwYW4gY2xhc3M9InNsLXlvdSIgaWQ9InNsMSI+PC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzbC1yb3ciPjxzcGFuIGNsYXNzPSJzbC1pY29uIj7wn4yzPC9zcGFuPjxzcGFuIGNsYXNzPSJzbC1uYW1lIiBzdHlsZT0iY29sb3I6dmFyKC0tdHJ1bmspIj5UaGUgVHJ1bms8L3NwYW4+PHNwYW4gY2xhc3M9InNsLXlvdSIgaWQ9InNsMiI+PC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzbC1yb3ciPjxzcGFuIGNsYXNzPSJzbC1pY29uIj7wn4y6PC9zcGFuPjxzcGFuIGNsYXNzPSJzbC1uYW1lIiBzdHlsZT0iY29sb3I6dmFyKC0tYmxvb20pIj5UaGUgQmxvb208L3NwYW4+PHNwYW4gY2xhc3M9InNsLXlvdSIgaWQ9InNsMyI+PC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzbC1yb3ciPjxzcGFuIGNsYXNzPSJzbC1pY29uIj7wn5GRPC9zcGFuPjxzcGFuIGNsYXNzPSJzbC1uYW1lIiBzdHlsZT0iY29sb3I6dmFyKC0tc292ZXJlaWduKSI+VGhlIFNvdmVyZWlnbjwvc3Bhbj48c3BhbiBjbGFzcz0ic2wteW91IiBpZD0ic2w0Ij48L3NwYW4+PC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzaGFyZS1zdHJpcCI+CiAgICAgIDxkaXYgY2xhc3M9InNoYXJlLXN0cmlwLXRleHQiPgogICAgICAgIDxzdHJvbmc+U2hhcmUgeW91ciBzZWFzb24g8J+RkTwvc3Ryb25nPgogICAgICAgIDxwPkludml0ZSBhbm90aGVyIHdvbWFuIHRvIGRpc2NvdmVyIGhlcnMgfiBhbmQgaGVyIG5leHQgc3RlcDwvcD4KICAgICAgPC9kaXY+CiAgICAgIDxidXR0b24gY2xhc3M9InNoYXJlLWNvcHktYnRuIiBvbmNsaWNrPSJjb3B5U2hhcmUoKSI+Q29weSBSZXN1bHQ8L2J1dHRvbj4KICAgIDwvZGl2PgoKICAgIDxzcGFuIGNsYXNzPSJyZXRha2UtbGluayIgb25jbGljaz0icmVzZXRBbGwoKSI+4oa6IFJldGFrZSB0aGUgYXNzZXNzbWVudDwvc3Bhbj4KICA8L2Rpdj4KCjwvZGl2PjwhLS0gL3dyYXAgLS0+Cgo8c2NyaXB0PgovKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgUVVFU1RJT05TIH4gNSBEaW1lbnNpb25zIMOXIDQgUXVlc3Rpb25zID0gMjAK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovCmNvbnN0IERJTUVOU0lPTlMgPSBbCiAgeyBuYW1lOidUaGUgT3JkZXIgb2YgQXJyaXZhbCcsIGxhYmVsOidEaW1lbnNpb24gMSB+IFRoZSBPcmRlciBvZiBBcnJpdmFsJywgY29sb3I6JyNDOTk1MUEnLCBiZzoncmdiYSgyMDEsMTQ5LDI2LC4xNSknLCBib3JkZXI6J3JnYmEoMjAxLDE0OSwyNiwuMyknIH0sCiAgeyBuYW1lOidUaGUgQmx1cicsICAgICAgICAgICAgIGxhYmVsOidEaW1lbnNpb24gMiB+IFRoZSBCbHVyJywgICAgICAgICAgICAgY29sb3I6JyMyQzdBN0InLCBiZzoncmdiYSg0NCwxMjIsMTIzLC4xNSknLCBib3JkZXI6J3JnYmEoNDQsMTIyLDEyMywuMyknIH0sCiAgeyBuYW1lOidNeSBFc3NlbmNlJywgICAgICAgICAgbGFiZWw6J0RpbWVuc2lvbiAzIH4gTXkgRXNzZW5jZScsICAgICAgICAgICAgY29sb3I6JyMyQjZDQjAnLCBiZzoncmdiYSg0MywxMDgsMTc2LC4xNSknLCBib3JkZXI6J3JnYmEoNDMsMTA4LDE3NiwuMyknIH0sCiAgeyBuYW1lOidUaGUgTGluZScsICAgICAgICAgICAgbGFiZWw6J0RpbWVuc2lvbiA0IH4gVGhlIExpbmUnLCAgICAgICAgICAgICAgY29sb3I6JyM2QjQ2QzEnLCBiZzoncmdiYSgxMDcsNzAsMTkzLC4xNSknLCBib3JkZXI6J3JnYmEoMTA3LDcwLDE5MywuMyknIH0sCiAgeyBuYW1lOidUaGUgUmV0dXJuJywgICAgICAgICAgbGFiZWw6J0RpbWVuc2lvbiA1IH4gVGhlIFJldHVybicsICAgICAgICAgICAgY29sb3I6JyM0QThDNkYnLCBiZzoncmdiYSg3NCwxNDAsMTExLC4xNSknLCBib3JkZXI6J3JnYmEoNzQsMTQwLDExMSwuMyknIH0sCl07Cgpjb25zdCBRVUVTVElPTlMgPSBbCiAgLy8gRElNRU5TSU9OIDEgfiBUSEUgT1JERVIgT0YgQVJSSVZBTCAoNCBxdWVzdGlvbnMpCiAgewogICAgZGltOiAwLAogICAgdGV4dDogJ1doZW4geW91IHRoaW5rIGFib3V0IHdobyBhcnJpdmVkIGZpcnN0IGluIHlvdXIgbGlmZSB+IGJlZm9yZSB0aXRsZXMsIHJvbGVzIG9yIHJldmVudWUgfiB3aGF0IGlzIHlvdXIgcmVsYXRpb25zaGlwIHdpdGggdGhhdCBvcmlnaW5hbCBzZWxmIHRvZGF5PycsCiAgICBhbnN3ZXJzOiBbCiAgICAgIHsgdGV4dDogJ0kgYW0gbm90IHN1cmUgd2hvIEkgd2FzIGJlZm9yZSB0aGUgYnVzaW5lc3MuIEl0IGhhcyBiZWNvbWUgbXkgaWRlbnRpdHkuJywgc2NvcmU6IDAgfSwKICAgICAgeyB0ZXh0OiAnSSByZW1lbWJlciBoZXIgYnV0IEkgcmFyZWx5IGhhdmUgdGltZSBvciBzcGFjZSB0byByZXR1cm4gdG8gaGVyLicsIHNjb3JlOiAxIH0sCiAgICAgIHsgdGV4dDogJ0kgYW0gYXdhcmUgb2YgaGVyIGFuZCBJIHRyeSB0byBjaGVjayBpbiwgdGhvdWdoIG5vdCBjb25zaXN0ZW50bHkuJywgc2NvcmU6IDIgfSwKICAgICAgeyB0ZXh0OiAnSSBoYXZlIGEgY2xlYXIgc2Vuc2Ugb2Ygd2hvIEkgYW0gb3V0c2lkZSBteSB3b3JrIGFuZCBJIHByb3RlY3QgdGhhdC4nLCBzY29yZTogMyB9LAogICAgICB7IHRleHQ6ICdNeSBvcmlnaW5hbCBzZWxmIGlzIG15IGFuY2hvci4gQnVzaW5lc3MgaXMgb25lIGNoYXB0ZXIsIG5vdCBteSB3aG9sZSBzdG9yeS4nLCBzY29yZTogNCB9LAogICAgXQogIH0sCiAgewogICAgZGltOiAwLAogICAgdGV4dDogJ0hvdyBkb2VzIGJ1c2luZXNzIHJhbmsgaW4gdGhlIG9yZGVyIG9mIHdoYXQgZGVmaW5lcyB5b3UgfiBob25lc3RseT8nLAogICAgYW5zd2VyczogWwogICAgICB7IHRleHQ6ICdCdXNpbmVzcyBpcyBldmVyeXRoaW5nIHJpZ2h0IG5vdy4gSXQgY29uc3VtZXMgbW9zdCBvZiBob3cgSSBzZWUgbXlzZWxmLicsIHNjb3JlOiAwIH0sCiAgICAgIHsgdGV4dDogJ0J1c2luZXNzIHJhbmtzIHZlcnkgaGlnaGx5IH4gcHJvYmFibHkgaGlnaGVyIHRoYW4gaXQgc2hvdWxkLicsIHNjb3JlOiAxIH0sCiAgICAgIHsgdGV4dDogJ0J1c2luZXNzIGlzIGltcG9ydGFudCBidXQgSSBrbm93IGl0IGlzIG9uZSBwYXJ0IG9mIGEgbGFyZ2VyIHBpY3R1cmUuJywgc2NvcmU6IDIgfSwKICAgICAgeyB0ZXh0OiAnQnVzaW5lc3MgaXMgYSBzaWduaWZpY2FudCBwYXJ0IG9mIG1lIGJ1dCBub3QgbXkgZmlyc3Qgb3IgbW9zdCBpbXBvcnRhbnQgaWRlbnRpdHkuJywgc2NvcmU6IDMgfSwKICAgICAgeyB0ZXh0OiAnQnVzaW5lc3MgYXJyaXZlZCBsYXN0IGluIG15IGxpZmUgc3RvcnkgYW5kIEkgdHJlYXQgaXQgYWNjb3JkaW5nbHkuJywgc2NvcmU6IDQgfSwKICAgIF0KICB9LAogIHsKICAgIGRpbTogMCwKICAgIHRleHQ6ICdZb3VyIHBhcmVudHMsIHlvdXIgY2hpbGRob29kLCB5b3VyIGVhcmxpZXN0IHNlbnNlIG9mIHNlbGYgfiBob3cgY29ubmVjdGVkIGFyZSB5b3UgdG8gdGhvc2UgZm91bmRhdGlvbnMgcmlnaHQgbm93PycsCiAgICBhbnN3ZXJzOiBbCiAgICAgIHsgdGV4dDogJ1ZlcnkgZGlzY29ubmVjdGVkLiBMaWZlIGhhcyBtb3ZlZCBzbyBmYXN0IEkgcmFyZWx5IHRoaW5rIGFib3V0IHRob3NlIHJvb3RzLicsIHNjb3JlOiAwIH0sCiAgICAgIHsgdGV4dDogJ1NvbWV3aGF0IGRpc2Nvbm5lY3RlZC4gSSBrbm93IHRoZXkgbWF0dGVyIGJ1dCBJIGFtIG5vdCBhY3RpdmVseSBjb25uZWN0ZWQuJywgc2NvcmU6IDEgfSwKICAgICAgeyB0ZXh0OiAnTW9kZXJhdGVseSBjb25uZWN0ZWQuIEkgdGhpbmsgYWJvdXQgbXkgcm9vdHMgc29tZXRpbWVzIGFuZCBkcmF3IGZyb20gdGhlbS4nLCBzY29yZTogMiB9LAogICAgICB7IHRleHQ6ICdXZWxsIGNvbm5lY3RlZC4gTXkgaGVyaXRhZ2UgYW5kIGVhcmx5IGZvdW5kYXRpb25zIGluZm9ybSBob3cgSSBtb3ZlLicsIHNjb3JlOiAzIH0sCiAgICAgIHsgdGV4dDogJ0RlZXBseSBjb25uZWN0ZWQuIE15IHJvb3RzIGFyZSBteSBkYWlseSBhbmNob3IgYW5kIG15IG1vc3QgaW1wb3J0YW50IHJlc291cmNlLicsIHNjb3JlOiA0IH0sCiAgICBdCiAgfSwKICB7CiAgICBkaW06IDAsCiAgICB0ZXh0OiAnSWYgeW91ciBidXNpbmVzcyBkaXNhcHBlYXJlZCB0b21vcnJvdyB+IHdobyB3b3VsZCB5b3UgYmU/JywKICAgIGFuc3dlcnM6IFsKICAgICAgeyB0ZXh0OiAnSG9uZXN0bHksIEkgYW0gbm90IHN1cmUuIFRoZSBxdWVzdGlvbiB1bnNldHRsZXMgbWUuJywgc2NvcmU6IDAgfSwKICAgICAgeyB0ZXh0OiAnSSB3b3VsZCBiZSBsb3N0IGZvciBhIHdoaWxlLiBNeSBpZGVudGl0eSBpcyB2ZXJ5IHRpZWQgdG8gd2hhdCBJIGRvLicsIHNjb3JlOiAxIH0sCiAgICAgIHsgdGV4dDogJ1NoYWtlbiwgYnV0IEkgd291bGQgZmluZCBteSB3YXkgYmFjayB0byBteXNlbGYuJywgc2NvcmU6IDIgfSwKICAgICAgeyB0ZXh0OiAnU2FkIGJ1dCBpbnRhY3QuIEkga25vdyB3aG8gSSBhbSBiZXlvbmQgd2hhdCBJIGJ1aWxkLicsIHNjb3JlOiAzIH0sCiAgICAgIHsgdGV4dDogJ1N0aWxsIG15c2VsZi4gVGhlIGJ1c2luZXNzIGlzIHdoYXQgSSBkbywgbm90IHdobyBJIGFtLicsIHNjb3JlOiA0IH0sCiAgICBdCiAgfSwKCiAgLy8gRElNRU5TSU9OIDIgfiBUSEUgQkxVUiAoNCBxdWVzdGlvbnMpCiAgewogICAgZGltOiAxLAogICAgdGV4dDogJ1doaWNoIG9mIHRoZXNlIGRlZmluaXRpb25zIG9mIHlvdXJzZWxmIGRpZCB5b3UgQ0hPT1NFIH4gdmVyc3VzIHdoaWNoIHdlcmUgZ2l2ZW4gdG8geW91IGJ5IGN1bHR1cmUsIGZhbWlseSBvciBleHBlY3RhdGlvbj8nLAogICAgYW5zd2VyczogWwogICAgICB7IHRleHQ6ICdIb25lc3RseSwgbW9zdCBvZiBteSBpZGVudGl0eSBmZWVscyBhc3NpZ25lZCByYXRoZXIgdGhhbiBjaG9zZW4uJywgc2NvcmU6IDAgfSwKICAgICAgeyB0ZXh0OiAnU29tZSB3ZXJlIGNob3NlbiBidXQgSSBoYXZlIG5vdCBleGFtaW5lZCB3aGljaCBpcyB3aGljaCBpbiBhIGxvbmcgdGltZS4nLCBzY29yZTogMSB9LAogICAgICB7IHRleHQ6ICdJIGhhdmUgc3RhcnRlZCB0byBzZXBhcmF0ZSBjaG9zZW4gZnJvbSBhc3NpZ25lZCBidXQgdGhlIHdvcmsgaXMgbm90IGNvbXBsZXRlLicsIHNjb3JlOiAyIH0sCiAgICAgIHsgdGV4dDogJ0kgaGF2ZSBhIGdvb2Qgc2Vuc2Ugb2Ygd2hhdCBJIGNob3NlIHZlcnN1cyB3aGF0IHdhcyBwbGFjZWQgb24gbWUuJywgc2NvcmU6IDMgfSwKICAgICAgeyB0ZXh0OiAnSSBsaXZlIGFsbW9zdCBlbnRpcmVseSBmcm9tIGNob3NlbiBpZGVudGl0eS4gSSBoYXZlIGRvbmUgdGhlIHdvcmsgb2Ygc2VwYXJhdGlvbi4nLCBzY29yZTogNCB9LAogICAgXQogIH0sCiAgewogICAgZGltOiAxLAogICAgdGV4dDogJ1NvY2lhbCBtZWRpYSBhbmQgcGVyc29uYWwgYnJhbmRpbmcgfiBob3cgbXVjaCBwcmVzc3VyZSBkbyB5b3UgZmVlbCB0byBzaGFyZSB5b3VyIHByaXZhdGUgc2VsZiBpbiBvcmRlciB0byBiZSBzZWVuIGFzIGNyZWRpYmxlPycsCiAgICBhbnN3ZXJzOiBbCiAgICAgIHsgdGV4dDogJ0Vub3Jtb3VzIHByZXNzdXJlLiBJIGZlZWwgSSBtdXN0IGJlIG9wZW5seSB2dWxuZXJhYmxlIHRvIGJlIHRydXN0ZWQuJywgc2NvcmU6IDAgfSwKICAgICAgeyB0ZXh0OiAnU2lnbmlmaWNhbnQgcHJlc3N1cmUuIEkgc2hhcmUgbW9yZSB0aGFuIEkgYW0gY29tZm9ydGFibGUgd2l0aC4nLCBzY29yZTogMSB9LAogICAgICB7IHRleHQ6ICdTb21lIHByZXNzdXJlLiBJIG1hbmFnZSBpdCBidXQgaXQgcmVtYWlucyBhIHRlbnNpb24uJywgc2NvcmU6IDIgfSwKICAgICAgeyB0ZXh0OiAnTWluaW1hbCBwcmVzc3VyZS4gSSBoYXZlIGNsZWFyIGJvdW5kYXJpZXMgYXJvdW5kIHdoYXQgSSBzaGFyZSBwdWJsaWNseS4nLCBzY29yZTogMyB9LAogICAgICB7IHRleHQ6ICdObyBwcmVzc3VyZS4gSSBrbm93IG15IHJlc3VsdHMgc3BlYWsuIE15IHByaXZhdGUgbGlmZSBpcyBtaW5lLicsIHNjb3JlOiA0IH0sCiAgICBdCiAgfSwKICB7CiAgICBkaW06IDEsCiAgICB0ZXh0OiAnVGhlIGN1bHR1cmFsIG5hcnJhdGl2ZXMgYXJvdW5kIHlvdSB+IGRvd3J5LCBtYXJyaWFnZSwgbW90aGVyaG9vZCwgZmFtaWx5IG9ibGlnYXRpb24gfiBob3cgbXVjaCBkbyB0aGV5IGRlZmluZSB5b3VyIHNlbnNlIG9mIHdobyB5b3UgYXJlPycsCiAgICBhbnN3ZXJzOiBbCiAgICAgIHsgdGV4dDogJ1RoZXkgYXJlIHByaW1hcnkuIFRoZXNlIG5hcnJhdGl2ZXMgbGFyZ2VseSBzaGFwZSBteSBpZGVudGl0eS4nLCBzY29yZTogMCB9LAogICAgICB7IHRleHQ6ICdUaGV5IGFyZSBzaWduaWZpY2FudC4gSSBhbSB3b3JraW5nIHRvIHNlcGFyYXRlIG15c2VsZiBmcm9tIHNvbWUgb2YgdGhlbS4nLCBzY29yZTogMSB9LAogICAgICB7IHRleHQ6ICdUaGV5IGluZmx1ZW5jZSBtZSBidXQgSSBoYXZlIGNsYXJpdHkgYWJvdXQgd2hhdCBJIGFjY2VwdCBhbmQgd2hhdCBJIHJlamVjdC4nLCBzY29yZTogMiB9LAogICAgICB7IHRleHQ6ICdUaGV5IGluZm9ybSBteSBjb250ZXh0IGJ1dCBkbyBub3QgZGVmaW5lIG15IGNvcmUgaWRlbnRpdHkuJywgc2NvcmU6IDMgfSwKICAgICAgeyB0ZXh0OiAnSSBoYXZlIGZ1bGx5IHNlcGFyYXRlZCBteSBpZGVudGl0eSBmcm9tIGN1bHR1cmFsIGFzc2lnbm1lbnQuIEkgYW0gc2VsZi1kZWZpbmVkLicsIHNjb3JlOiA0IH0sCiAgICBdCiAgfSwKICB7CiAgICBkaW06IDEsCiAgICB0ZXh0OiAnV2hlbiBpcyB0aGUgbGFzdCB0aW1lIHlvdSBmZWx0IHRydWx5LCBhdXRoZW50aWNhbGx5IHlvdXJzZWxmIH4gbm90IHBlcmZvcm1pbmcgYW55IHJvbGU/JywKICAgIGFuc3dlcnM6IFsKICAgICAgeyB0ZXh0OiAnSSBzdHJ1Z2dsZSB0byByZW1lbWJlci4gSSBmZWVsIEkgYW0gYWx3YXlzIHBlcmZvcm1pbmcgc29tZXRoaW5nLicsIHNjb3JlOiAwIH0sCiAgICAgIHsgdGV4dDogJ09jY2FzaW9uYWxseSB+IGluIHF1aWV0IHByaXZhdGUgbW9tZW50cyB0aGF0IGZlZWwgcmFyZSBhbmQgcHJlY2lvdXMuJywgc2NvcmU6IDEgfSwKICAgICAgeyB0ZXh0OiAnUmVndWxhcmx5IGluIHNvbWUgYXJlYXMgb2YgbXkgbGlmZSBidXQgbm90IGNvbnNpc3RlbnRseSBhY3Jvc3MgYWxsIG9mIHRoZW0uJywgc2NvcmU6IDIgfSwKICAgICAgeyB0ZXh0OiAnT2Z0ZW4uIEkgaGF2ZSBzcGFjZXMgYW5kIHJlbGF0aW9uc2hpcHMgd2hlcmUgSSBhbSBmdWxseSBteXNlbGYuJywgc2NvcmU6IDMgfSwKICAgICAgeyB0ZXh0OiAnRGFpbHkuIEkgaGF2ZSBidWlsdCBhIGxpZmUgd2hlcmUgcGVyZm9ybWFuY2UgaXMgb3B0aW9uYWwgYW5kIHNlbGYgaXMgdGhlIGRlZmF1bHQuJywgc2NvcmU6IDQgfSwKICAgIF0KICB9LAoKICAvLyBESU1FTlNJT04gMyB+IE1ZIEVTU0VOQ0UgKDQgcXVlc3Rpb25zKQogIHsKICAgIGRpbTogMiwKICAgIHRleHQ6ICdXaGF0IGlzIHRoZSBPTkUgdGhpbmcgdGhhdCBoYXMgcmVtYWluZWQgY29uc3RhbnQgYWNyb3NzIGV2ZXJ5IHJvbGUsIGV2ZXJ5IHNlYXNvbiwgZXZlcnkgY2hhbGxlbmdlIGluIHlvdXIgbGlmZT8nLAogICAgYW5zd2VyczogWwogICAgICB7IHRleHQ6ICdJIGhvbmVzdGx5IGNhbm5vdCBpZGVudGlmeSBpdC4gSSBmZWVsIGRpZmZlcmVudCBhY3Jvc3MgZGlmZmVyZW50IHNlYXNvbnMuJywgc2NvcmU6IDAgfSwKICAgICAgeyB0ZXh0OiAnSSBzZW5zZSBzb21ldGhpbmcgY29uc3RhbnQgYnV0IEkgaGF2ZSBuZXZlciBhcnRpY3VsYXRlZCBpdCBjbGVhcmx5LicsIHNjb3JlOiAxIH0sCiAgICAgIHsgdGV4dDogJ0kgaGF2ZSBhIGdlbmVyYWwgc2Vuc2Ugb2YgaXQgYnV0IGl0IGlzIG5vdCB5ZXQgYSBjbGVhciBhbmQgbmFtZWQga25vd2luZy4nLCBzY29yZTogMiB9LAogICAgICB7IHRleHQ6ICdJIGtub3cgd2hhdCBpdCBpcyBhbmQgaXQgZ3VpZGVzIGhvdyBJIG1ha2Ugc2lnbmlmaWNhbnQgZGVjaXNpb25zLicsIHNjb3JlOiAzIH0sCiAgICAgIHsgdGV4dDogJ0kga25vdyBpdCBkZWVwbHkuIEl0IGlzIG15IG5vcnRoIHN0YXIgYW5kIEkgcmV0dXJuIHRvIGl0IGRlbGliZXJhdGVseS4nLCBzY29yZTogNCB9LAogICAgXQogIH0sCiAgewogICAgZGltOiAyLAogICAgdGV4dDogJ1doYXQgZG8geW91IHByb3RlY3QgZmllcmNlbHkgfiBxdWlldGx5LCB1bmFwb2xvZ2V0aWNhbGx5IH4gZXZlbiB3aGVuIHRoZSB3b3JsZCBkb2VzIG5vdCB1bmRlcnN0YW5kIHdoeT8nLAogICAgYW5zd2VyczogWwogICAgICB7IHRleHQ6ICdJIHN0cnVnZ2xlIHRvIHByb3RlY3QgYW55dGhpbmcuIEkgdGVuZCB0byBnaXZlIGl0IGFsbCBhd2F5LicsIHNjb3JlOiAwIH0sCiAgICAgIHsgdGV4dDogJ0kga25vdyB3aGF0IEkgd2FudCB0byBwcm90ZWN0IGJ1dCBJIGFtIG5vdCBhbHdheXMgc3VjY2Vzc2Z1bCBhdCBpdC4nLCBzY29yZTogMSB9LAogICAgICB7IHRleHQ6ICdJIHByb3RlY3Qgc29tZSB0aGluZ3MgYnV0IEkgY291bGQgYmUgbW9yZSBkZWxpYmVyYXRlIGFib3V0IGl0LicsIHNjb3JlOiAyIH0sCiAgICAgIHsgdGV4dDogJ0kgcHJvdGVjdCBteSBjb3JlIHZhbHVlcywgbXkgdGltZSBhbmQgbXkgcHJpdmF0ZSBzZWxmIHdpdGggaW50ZW50aW9uLicsIHNjb3JlOiAzIH0sCiAgICAgIHsgdGV4dDogJ0kgYW0gdW5jb21wcm9taXNpbmcgYWJvdXQgd2hhdCBJIHByb3RlY3QuIFRoaXMgaXMgbm9uLW5lZ290aWFibGUgdG8gbWUuJywgc2NvcmU6IDQgfSwKICAgIF0KICB9LAogIHsKICAgIGRpbTogMiwKICAgIHRleHQ6ICdJZiB5b3Ugc3RyaXBwZWQgYXdheSB5b3VyIGJ1c2luZXNzLCB5b3VyIHRpdGxlcyBhbmQgeW91ciBwdWJsaWMgcm9sZXMgfiBob3cgY2xlYXJseSBjYW4geW91IGRlc2NyaWJlIHdobyB5b3UgYXJlPycsCiAgICBhbnN3ZXJzOiBbCiAgICAgIHsgdGV4dDogJ1ZlcnkgdW5jbGVhcmx5LiBNeSBpZGVudGl0eSBpcyB2ZXJ5IHRpZWQgdG8gbXkgcm9sZXMgYW5kIGFjaGlldmVtZW50cy4nLCBzY29yZTogMCB9LAogICAgICB7IHRleHQ6ICdTb21ld2hhdCB1bmNsZWFybHkuIEkgc2Vuc2UgbXlzZWxmIGJlbmVhdGggdGhlIHJvbGVzIGJ1dCBjYW5ub3QgZGVzY3JpYmUgaGVyIHdlbGwuJywgc2NvcmU6IDEgfSwKICAgICAgeyB0ZXh0OiAnTW9kZXJhdGVseSBjbGVhcmx5LiBJIGNhbiBkZXNjcmliZSBwYXJ0cyBvZiBoZXIgYnV0IHRoZSBwaWN0dXJlIGlzIG5vdCBjb21wbGV0ZS4nLCBzY29yZTogMiB9LAogICAgICB7IHRleHQ6ICdDbGVhcmx5LiBJIGhhdmUgYSBzdHJvbmcgc2Vuc2Ugb2YgbXkgdmFsdWVzLCBteSB2b2ljZSBhbmQgbXkgZXNzZW5jZS4nLCBzY29yZTogMyB9LAogICAgICB7IHRleHQ6ICdWZXJ5IGNsZWFybHkuIE15IGlkZW50aXR5IGlzIHJpY2gsIHNwZWNpZmljIGFuZCBpbmRlcGVuZGVudCBvZiB3aGF0IEkgYnVpbGQuJywgc2NvcmU6IDQgfSwKICAgIF0KICB9LAogIHsKICAgIGRpbTogMiwKICAgIHRleHQ6ICdZb3VyIHZhbHVlcyB+IHRoZSBvbmVzIHlvdSBhY3R1YWxseSBsaXZlIGJ5LCBub3QgdGhlIG9uZXMgeW91IHNheSB5b3UgaGF2ZSB+IGhvdyBjb25zaXN0ZW50bHkgYXJlIHlvdSBob25vdXJpbmcgdGhlbSByaWdodCBub3c/JywKICAgIGFuc3dlcnM6IFsKICAgICAgeyB0ZXh0OiAnTm90IGNvbnNpc3RlbnRseS4gTXkgYWN0aW9ucyBhbmQgbXkgdmFsdWVzIGZlZWwgZGlzY29ubmVjdGVkIGF0IHRoZSBtb21lbnQuJywgc2NvcmU6IDAgfSwKICAgICAgeyB0ZXh0OiAnSW5jb25zaXN0ZW50bHkuIEkgaG9ub3VyIHRoZW0gaW4gc29tZSBhcmVhcyBidXQgY29tcHJvbWlzZSB0aGVtIGluIG90aGVycy4nLCBzY29yZTogMSB9LAogICAgICB7IHRleHQ6ICdNb2RlcmF0ZWx5LiBJIGFtIG1vcmUgYWxpZ25lZCB0aGFuIEkgdXNlZCB0byBiZSBidXQgZ2FwcyByZW1haW4uJywgc2NvcmU6IDIgfSwKICAgICAgeyB0ZXh0OiAnTW9zdGx5LiBNeSB2YWx1ZXMgZ3VpZGUgbW9zdCBzaWduaWZpY2FudCBkZWNpc2lvbnMgZXZlbiB3aGVuIGl0IGlzIGRpZmZpY3VsdC4nLCBzY29yZTogMyB9LAogICAgICB7IHRleHQ6ICdDb25zaXN0ZW50bHkuIE15IGxpZmUgaXMgbGFyZ2VseSBidWlsdCBhcm91bmQgbXkgYWN0dWFsIGxpdmVkIHZhbHVlcy4nLCBzY29yZTogNCB9LAogICAgXQogIH0sCgogIC8vIERJTUVOU0lPTiA0IH4gVEhFIExJTkUgKDQgcXVlc3Rpb25zKQogIHsKICAgIGRpbTogMywKICAgIHRleHQ6ICdIb3cgY2xlYXJseSBkcmF3biBpcyB5b3VyIGxpbmUgYmV0d2VlbiB5b3VyIHByaXZhdGUgc2VsZiwgeW91ciBwdWJsaWMgcHJlc2VuY2UgYW5kIHlvdXIgcHJvZmVzc2lvbmFsIGlkZW50aXR5PycsCiAgICBhbnN3ZXJzOiBbCiAgICAgIHsgdGV4dDogJ1RoZXJlIGlzIG5vIGNsZWFyIGxpbmUuIEV2ZXJ5dGhpbmcgYmxlZWRzIGludG8gZXZlcnl0aGluZy4nLCBzY29yZTogMCB9LAogICAgICB7IHRleHQ6ICdUaGUgbGluZSBleGlzdHMgaW4gdGhlb3J5IGJ1dCBjb2xsYXBzZXMgdW5kZXIgcHJlc3N1cmUgcmVndWxhcmx5LicsIHNjb3JlOiAxIH0sCiAgICAgIHsgdGV4dDogJ1RoZSBsaW5lIGlzIGRyYXduIGJ1dCBtYWludGFpbmluZyBpdCBpcyBhbiBvbmdvaW5nIGVmZm9ydC4nLCBzY29yZTogMiB9LAogICAgICB7IHRleHQ6ICdUaGUgbGluZSBpcyBjbGVhciBhbmQgSSBlbmZvcmNlIGl0IHdpdGggZ3Jvd2luZyBjb25maWRlbmNlLicsIHNjb3JlOiAzIH0sCiAgICAgIHsgdGV4dDogJ1RoZSBsaW5lIGlzIHNvdmVyZWlnbi4gSSBtb3ZlIGJldHdlZW4gd29ybGRzIHdpdGhvdXQgbG9zaW5nIG15c2VsZi4nLCBzY29yZTogNCB9LAogICAgXQogIH0sCiAgewogICAgZGltOiAzLAogICAgdGV4dDogJ1doZW4geW91IGNsb3NlIHlvdXIgbGFwdG9wIGZvciB0aGUgZGF5IH4gZG9lcyB0aGUgd29yayBjb21lIGhvbWUgd2l0aCB5b3UgbWVudGFsbHkgYW5kIGVtb3Rpb25hbGx5PycsCiAgICBhbnN3ZXJzOiBbCiAgICAgIHsgdGV4dDogJ0Fsd2F5cy4gSSBjYW5ub3Qgc3dpdGNoIG9mZi4gVGhlIHdvcmsgZm9sbG93cyBtZSBldmVyeXdoZXJlLicsIHNjb3JlOiAwIH0sCiAgICAgIHsgdGV4dDogJ01vc3Qgb2YgdGhlIHRpbWUuIFJlc3QgZmVlbHMgbGlrZSBhIGx1eHVyeSBJIHJhcmVseSBhY2Nlc3MuJywgc2NvcmU6IDEgfSwKICAgICAgeyB0ZXh0OiAnU29tZXRpbWVzLiBJIGhhdmUgYmV0dGVyIGRheXMgYW5kIGhhcmRlciBkYXlzIHdpdGggdGhpcy4nLCBzY29yZTogMiB9LAogICAgICB7IHRleHQ6ICdMZXNzIGFuZCBsZXNzLiBJIGhhdmUgc3lzdGVtcyBhbmQgcHJhY3RpY2VzIHRoYXQgaGVscCBtZSB0cmFuc2l0aW9uLicsIHNjb3JlOiAzIH0sCiAgICAgIHsgdGV4dDogJ1JhcmVseS4gSSBnbyBob21lIHRvIG15c2VsZiBkZWxpYmVyYXRlbHkgYW5kIHRoZSB3b3JrIHdhaXRzLicsIHNjb3JlOiA0IH0sCiAgICBdCiAgfSwKICB7CiAgICBkaW06IDMsCiAgICB0ZXh0OiAnSG93IG11Y2ggb2YgeW91ciBwcml2YXRlIGxpZmUgfiB5b3VyIGFjdHVhbCBob21lIHNlbGYgfiBpcyB2aXNpYmxlIHRvIHlvdXIgcHJvZmVzc2lvbmFsIGF1ZGllbmNlPycsCiAgICBhbnN3ZXJzOiBbCiAgICAgIHsgdGV4dDogJ0EgZ3JlYXQgZGVhbC4gSSBmZWVsIHByZXNzdXJlIHRvIHNoYXJlIG15IGxpZmUgdG8gbWFpbnRhaW4gY29ubmVjdGlvbi4nLCBzY29yZTogMCB9LAogICAgICB7IHRleHQ6ICdNb3JlIHRoYW4gSSB3YW50IHRvIHNoYXJlLiBUaGUgbGluZXMgYXJlIGJsdXJyeSBhbmQgSSBmZWVsIGl0LicsIHNjb3JlOiAxIH0sCiAgICAgIHsgdGV4dDogJ0EgbW9kZXJhdGUgYW1vdW50LiBJIGFtIHdvcmtpbmcgb3V0IHdoYXQgdG8gc2hhcmUgYW5kIHdoYXQgdG8gcHJvdGVjdC4nLCBzY29yZTogMiB9LAogICAgICB7IHRleHQ6ICdWZXJ5IGxpdHRsZS4gSSBzaGFyZSB3aGF0IEkgY2hvb3NlIHRvIHNoYXJlIHdpdGggZnVsbCBpbnRlbnRpb25hbGl0eS4nLCBzY29yZTogMyB9LAogICAgICB7IHRleHQ6ICdBbG1vc3Qgbm90aGluZy4gTXkgcHJvZmVzc2lvbmFsIGF1ZGllbmNlIGtub3dzIG15IHdvcmssIG5vdCBteSBwcml2YXRlIHdvcmxkLicsIHNjb3JlOiA0IH0sCiAgICBdCiAgfSwKICB7CiAgICBkaW06IDMsCiAgICB0ZXh0OiAnVGhlIHRocmVlIHdvcmxkcyB+IHByaXZhdGUsIHB1YmxpYywgcHJvZmVzc2lvbmFsIH4gd2hpY2ggYmVzdCBkZXNjcmliZXMgeW91IHJpZ2h0IG5vdz8nLAogICAgYW5zd2VyczogWwogICAgICB7IHRleHQ6ICdBbGwgdGhyZWUgYXJlIG1lcmdlZC4gSSBjYW5ub3QgdGVsbCB3aGVyZSBvbmUgZW5kcyBhbmQgYW5vdGhlciBiZWdpbnMuJywgc2NvcmU6IDAgfSwKICAgICAgeyB0ZXh0OiAnVHdvIG9mIHRoZW0gYXJlIGNsZWFyIGJ1dCBvbmUga2VlcHMgYmxlZWRpbmcgaW50byB0aGUgb3RoZXJzLicsIHNjb3JlOiAxIH0sCiAgICAgIHsgdGV4dDogJ0FsbCB0aHJlZSBhcmUgZGlzdGluY3QgaW4gbXkgbWluZCBldmVuIGlmIG1haW50YWluaW5nIHRoZSBib3VuZGFyaWVzIGlzIHdvcmsuJywgc2NvcmU6IDIgfSwKICAgICAgeyB0ZXh0OiAnQWxsIHRocmVlIGFyZSBkaXN0aW5jdCBhbmQgSSBuYXZpZ2F0ZSBiZXR3ZWVuIHRoZW0gd2l0aCByZWFzb25hYmxlIGVhc2UuJywgc2NvcmU6IDMgfSwKICAgICAgeyB0ZXh0OiAnQWxsIHRocmVlIGFyZSBzb3ZlcmVpZ24gc3BhY2VzIGFuZCBJIGluaGFiaXQgZWFjaCB3aXRoIGZ1bGwgaW50ZW50aW9uYWxpdHkuJywgc2NvcmU6IDQgfSwKICAgIF0KICB9LAoKICAvLyBESU1FTlNJT04gNSB+IFRIRSBSRVRVUk4gKDQgcXVlc3Rpb25zKQogIHsKICAgIGRpbTogNCwKICAgIHRleHQ6ICdIb3cgb2Z0ZW4gZG8geW91IGRlbGliZXJhdGVseSByZXR1cm4gdG8geW91cnNlbGYgfiBub3QgaW4gYSBkZWNhZGUsIG5vdCBvbiBob2xpZGF5LCBidXQgdG9kYXksIGluIHRoaXMgd2Vlaz8nLAogICAgYW5zd2VyczogWwogICAgICB7IHRleHQ6ICdBbG1vc3QgbmV2ZXIuIExpZmUgbW92ZXMgdG9vIGZhc3QgYW5kIEkgYW0gdG9vIHRpcmVkIGZvciB0aGF0IGtpbmQgb2YgYXR0ZW50aW9uLicsIHNjb3JlOiAwIH0sCiAgICAgIHsgdGV4dDogJ09jY2FzaW9uYWxseS4gVGhlcmUgYXJlIGJyaWVmIG1vbWVudHMgYnV0IHRoZXkgZmVlbCBzY2FyY2UgYW5kIGFjY2lkZW50YWwuJywgc2NvcmU6IDEgfSwKICAgICAgeyB0ZXh0OiAnU29tZXRpbWVzIGludGVudGlvbmFsbHkuIEkgYW0gYnVpbGRpbmcgdGhlIGhhYml0IGJ1dCBpdCBpcyBub3QgeWV0IGNvbnNpc3RlbnQuJywgc2NvcmU6IDIgfSwKICAgICAgeyB0ZXh0OiAnUmVndWxhcmx5LiBJIGhhdmUgcHJhY3RpY2VzIHRoYXQgYnJpbmcgbWUgYmFjayB0byBteXNlbGYgZXZlbiBpbiBidXN5IHNlYXNvbnMuJywgc2NvcmU6IDMgfSwKICAgICAgeyB0ZXh0OiAnRGFpbHkuIFRoZSByZXR1cm4gaXMgYnVpbHQgaW50byBob3cgSSBsaXZlLiBJdCBpcyBub3Qgb3B0aW9uYWwuJywgc2NvcmU6IDQgfSwKICAgIF0KICB9LAogIHsKICAgIGRpbTogNCwKICAgIHRleHQ6ICdEbyB5b3UgaGF2ZSAid2VhdGhlciB2YW5lIiBzeXN0ZW1zIH4gd2F5cyBvZiBtZWFzdXJpbmcgd2hhdCBpcyBoYXBwZW5pbmcgaW4geW91ciBsaWZlIHNvIHlvdSBjYW4gcmVzcG9uZCByYXRoZXIgdGhhbiBqdXN0IHJlYWN0PycsCiAgICBhbnN3ZXJzOiBbCiAgICAgIHsgdGV4dDogJ05vLiBJIG9wZXJhdGUgaW4gY29uc3RhbnQgcmVhY3Rpb24gbW9kZS4gU3lzdGVtcyBmZWVsIGxpa2UgYSBsdXh1cnkuJywgc2NvcmU6IDAgfSwKICAgICAgeyB0ZXh0OiAnU29tZSBpbmZvcm1hbCBvbmVzLiBOb3RoaW5nIGRlbGliZXJhdGUgb3IgY29uc2lzdGVudGx5IHVzZWQuJywgc2NvcmU6IDEgfSwKICAgICAgeyB0ZXh0OiAnQSBmZXcgaW50ZW50aW9uYWwgc3lzdGVtcyB0aGF0IGhlbHAgbWUgYnV0IHRoZXkgbmVlZCBzdHJlbmd0aGVuaW5nLicsIHNjb3JlOiAyIH0sCiAgICAgIHsgdGV4dDogJ1llcy4gSSBoYXZlIGVzdGFibGlzaGVkIHJoeXRobXMgYW5kIG1lYXN1cmVzIHRoYXQgaGVscCBtZSBzdGF5IGNhbGlicmF0ZWQuJywgc2NvcmU6IDMgfSwKICAgICAgeyB0ZXh0OiAnWWVzLiBNeSBzeXN0ZW1zIGFyZSBkZXNpZ25lZCBzbyBJIGNhbiBnbyBob21lIHRvIG15c2VsZiBhbmQgcmV0dXJuIHdpdGggYSBwbGFuLicsIHNjb3JlOiA0IH0sCiAgICBdCiAgfSwKICB7CiAgICBkaW06IDQsCiAgICB0ZXh0OiAnV2hlbiBsaWZlIGRlc3RhYmlsaXNlcyB5b3UgfiBjaGFsbGVuZ2UsIGxvc3MsIG92ZXJ3aGVsbSB+IHdoYXQgaXMgeW91ciByZWxhdGlvbnNoaXAgd2l0aCByZWNvdmVyeT8nLAogICAgYW5zd2VyczogWwogICAgICB7IHRleHQ6ICdJIHRlbmQgdG8gc3RheSBkZXN0YWJpbGlzZWQgZm9yIGEgbG9uZyB0aW1lLiBSZWNvdmVyeSBmZWVscyBvdXQgb2YgcmVhY2guJywgc2NvcmU6IDAgfSwKICAgICAgeyB0ZXh0OiAnSSByZWNvdmVyIGV2ZW50dWFsbHkgYnV0IGl0IHRha2VzIGxvbmdlciB0aGFuIEkgd291bGQgbGlrZS4nLCBzY29yZTogMSB9LAogICAgICB7IHRleHQ6ICdJIHJlY292ZXIgd2l0aCBlZmZvcnQuIEkgaGF2ZSBzb21lIHRvb2xzIGJ1dCBub3QgYSByZWxpYWJsZSBzeXN0ZW0uJywgc2NvcmU6IDIgfSwKICAgICAgeyB0ZXh0OiAnSSByZWNvdmVyIHdpdGggcmVsYXRpdmUgc3RlYWRpbmVzcy4gSSBoYXZlIHByYWN0aWNlcyB0aGF0IGhlbHAgbWUgcmV0dXJuLicsIHNjb3JlOiAzIH0sCiAgICAgIHsgdGV4dDogJ0kgcmV0dXJuIHF1aWNrbHkgYW5kIHdpdGggYSBwbGFuLiBEZXN0YWJpbGlzYXRpb24gaXMgYSBzaWduYWwsIG5vdCBhIHNlbnRlbmNlLicsIHNjb3JlOiA0IH0sCiAgICBdCiAgfSwKICB7CiAgICBkaW06IDQsCiAgICB0ZXh0OiAnSG93IHNvdmVyZWlnbiBpcyB5b3VyIGRhaWx5IHJldHVybiB0byB5b3Vyc2VsZiB+IHJpZ2h0IG5vdywgaW4gdGhpcyBzZWFzb24gb2YgeW91ciBsaWZlPycsCiAgICBhbnN3ZXJzOiBbCiAgICAgIHsgdGV4dDogJ05vdCBhdCBhbGwgc292ZXJlaWduLiBJIGZlZWwgY2FwdHVyZWQgYnkgdGhlIGRlbWFuZHMgYXJvdW5kIG1lLicsIHNjb3JlOiAwIH0sCiAgICAgIHsgdGV4dDogJ0ZyYWdpbGUuIFRoZSBpbnRlbnRpb24gaXMgdGhlcmUgYnV0IHRoZSBwcmFjdGljZSBjb2xsYXBzZXMgdW5kZXIgcHJlc3N1cmUuJywgc2NvcmU6IDEgfSwKICAgICAgeyB0ZXh0OiAnR3Jvd2luZy4gSSBhbSBtb3JlIGludGVudGlvbmFsIHRoYW4gSSB3YXMgYW5kIGJ1aWxkaW5nIHRvd2FyZCBjb25zaXN0ZW5jeS4nLCBzY29yZTogMiB9LAogICAgICB7IHRleHQ6ICdFc3RhYmxpc2hlZC4gSSBoYXZlIHJlYWwgc292ZXJlaWdudHkgaW4gbW9zdCBhcmVhcyBvZiBteSByZXR1cm4uJywgc2NvcmU6IDMgfSwKICAgICAgeyB0ZXh0OiAnRGVlcGx5IHNvdmVyZWlnbi4gVGhlIHJldHVybiBpcyB3aG8gSSBhbSwgbm90IHNvbWV0aGluZyBJIGhhdmUgdG8gcmVtZW1iZXIgdG8gZG8uJywgc2NvcmU6IDQgfSwKICAgIF0KICB9LApdOwoKLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgIFNFQVNPTiBSRVNVTFRTCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqLwpjb25zdCBTRUFTT05TID0gewogIHNlZWQ6IHsKICAgIGtleTogICAgICdzZWVkJywKICAgIGljb246ICAgICfwn4yxJywKICAgIG5hbWU6ICAgICdUaGUgU2VlZCcsCiAgICBjb2xvcjogICAnIzRBOEM2RicsCiAgICBiZzogICAgICAnbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSg3NCwxNDAsMTExLC4zKSAwJSwgcmdiYSgxMywzNCw3MSwuOSkgMTAwJSknLAogICAgYm9yZGVyOiAgJ3JnYmEoNzQsMTQwLDExMSwuNCknLAogICAgYmFkZ2U6ICAgJ1lPVVIgU0VBU09OIH4gVEhFIFNFRUQnLAogICAgc3ViOiAgICAgJyJFdmVyeSBzb3ZlcmVpZ24gdHJlZSB3YXMgb25jZSBhIHNlZWQgdGhhdCBoYWQgbm90IHlldCBkZWNpZGVkIHRvIGdyb3cuIFlvdSBhcmUgZGVjaWRpbmcgcmlnaHQgbm93LiBUaGF0IGlzIGV2ZXJ5dGhpbmcuIicsCiAgICBkZXNjcmlwdGlvbjogJ1lvdSBhcmUgYXQgdGhlIHZlcnkgYmVnaW5uaW5nIG9mIHlvdXIgcmVsYXRpb25zaGlwIHdpdGggeW91cnNlbGYgfiBhbmQgdGhhdCBpcyBhIHNhY3JlZCwgcG93ZXJmdWwgcGxhY2UgdG8gYmUuIFRoZSBTZWVkIHNlYXNvbiBpcyBub3QgYSBkZWZpY2l0LiBJdCBpcyBwb3RlbnRpYWwgaW4gaXRzIG1vc3QgY29uY2VudHJhdGVkIGZvcm0uIFlvdSBoYXZlIGV2ZXJ5dGhpbmcgeW91IG5lZWQgaW5zaWRlIHlvdSB+IHRoZSB3aXNkb20sIHRoZSBlc3NlbmNlLCB0aGUgc292ZXJlaWduIHNlbGYuIFRoZSBtaXJyb3IgaXMgbmV3LiBUaGUgcmVmbGVjdGlvbiBtYXkgYmUgc3VycHJpc2luZy4gVGhpcyBpcyB0aGUgbW9zdCBpbXBvcnRhbnQgc2Vhc29uIG9mIGFsbCBiZWNhdXNlIHRoZSBkZWNpc2lvbnMgeW91IG1ha2UgaGVyZSBzaGFwZSBldmVyeSByb290IHRoYXQgZm9sbG93cy4nLAogICAgc3RyZW5ndGhzOiBbJ1lvdSBhcmUgc2VsZi1hd2FyZSBlbm91Z2ggdG8gdGFrZSB0aGlzIGFzc2Vzc21lbnQgfiB0aGF0IGlzIHRoZSBmaXJzdCBhY3Qgb2Ygc292ZXJlaWdudHknLCAnVGhlIFNlZWQgc2Vhc29uIGlzIHdoZXJlIHRoZSBtb3N0IHByb2ZvdW5kIHRyYW5zZm9ybWF0aW9uIGJlZ2lucyB+IG5vdCBhdCB0aGUgdG9wJywgJ1lvdSBoYXZlIGV2ZXJ5IHJlc291cmNlIGluc2lkZSB5b3UuIFRoZSB3b3JrIGlzIGV4Y2F2YXRpb24sIG5vdCBjb25zdHJ1Y3Rpb24nXSwKICAgIG5leHRTdGVwOiAnQmVnaW4gd2l0aCB0aGUgTUUgQk9TUyBHdWlkZSB+IHlvdXIgZmlyc3QgaG9uZXN0IGNvbnZlcnNhdGlvbiB3aXRoIHlvdXJzZWxmLiBUaGVuIG1vdmUgdG8gdGhlIFNvdmVyZWlnbiBTV09UVlRTIHRvIHN1cnZleSB5b3VyIHRlcnJhaW4gd2l0aCB0cnV0aC4nLAogICAgcm91dGU6IHsgcHJpbWFyeTogeyB0ZXh0OiAn8J+RkSBEb3dubG9hZCBZb3VyIE1FIEJPU1MgR3VpZGUnLCB1cmw6ICdodHRwczovL2hlbGxvLmhhbmRzaGFrZS5hZnJpY2EvQVIvbWVib3NzLXNlZWQnIH0sIHNlY29uZGFyeTogeyB0ZXh0OiAnQmVnaW4gdGhlIFNvdmVyZWlnbiBTV09UVlRTJywgdXJsOiAnaHR0cHM6Ly9ldmVudHMuc292ZXJlaWdubW9tZW50dW0uY29tL3N1bW1pdC1hc3Nlc3NtZW50JyB9LCB0ZXJ0aWFyeTogeyB0ZXh0OiAnQ29udGludWUgfiBUaGUgVm9ydGV4IEFsdGl0dWRlIEFzc2Vzc21lbnQnLCB1cmw6ICdodHRwczovL3RoZW1lcmlkaWFuLmFmcmljYS92b3J0ZXgtYWx0aXR1ZGUnIH0gfQogIH0sCiAgcm9vdHM6IHsKICAgIGtleTogICAgICdyb290cycsCiAgICBpY29uOiAgICAn8J+MvycsCiAgICBuYW1lOiAgICAnVGhlIFJvb3RzJywKICAgIGNvbG9yOiAgICcjMkM3QTdCJywKICAgIGJnOiAgICAgICdsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDQ0LDEyMiwxMjMsLjMpIDAlLCByZ2JhKDEzLDM0LDcxLC45KSAxMDAlKScsCiAgICBib3JkZXI6ICAncmdiYSg0NCwxMjIsMTIzLC40KScsCiAgICBiYWRnZTogICAnWU9VUiBTRUFTT04gfiBUSEUgUk9PVFMnLAogICAgc3ViOiAgICAgJyJZb3Uga25vdyB3aG8geW91IGFyZS4gVGhlIHdvcmxkIGtlZXBzIGNhbGxpbmcgeW91IGF3YXkuIFRoZSB3b3JrIG5vdyBpcyBub3QgdG8gZmluZCB5b3Vyc2VsZiB+IGl0IGlzIHRvIGJ1aWxkIHRoZSB3YWxscyB0aGF0IGtlZXAgdGhlIHdvcmxkIGZyb20gdGFraW5nIHlvdS4iJywKICAgIGRlc2NyaXB0aW9uOiAnWW91IGhhdmUgYSBzdHJvbmcgc2Vuc2Ugb2Ygc2VsZiB+IGJ1dCBsaWZlIGtlZXBzIHB1bGxpbmcgeW91IGZyb20gaXQuIFRoZSBSb290cyBzZWFzb24gaXMgb25lIG9mIHRoZSBtb3N0IGNvbW1vbiBhbmQgbW9zdCB1bmRlcmVzdGltYXRlZCBwbGFjZXMgdG8gYmUuIFlvdSBrbm93IHdoYXQgbWF0dGVycy4gWW91IHVuZGVyc3RhbmQgdGhlIGxpbmUgYmV0d2VlbiBwcml2YXRlIGFuZCBwcm9mZXNzaW9uYWwuIEJ1dCB0aGUgc3lzdGVtcyB0byBwcm90ZWN0IHRoYXQga25vd2luZyBhcmUgbm90IHlldCBmdWxseSBpbiBwbGFjZS4gVGhlIHJldHVybiBpcyByZWFsIH4gYnV0IGl0IGlzIG5vdCB5ZXQgY29uc2lzdGVudC4nLAogICAgc3RyZW5ndGhzOiBbJ1lvdSBrbm93IHlvdXJzZWxmIHdlbGwgZW5vdWdoIHRvIGZlZWwgaXQgd2hlbiB5b3UgYXJlIGJlaW5nIHB1bGxlZCBhd2F5JywgJ1lvdXIgYXdhcmVuZXNzIGlzIHlvdXIgZ3JlYXRlc3QgYXNzZXQgfiB1c2UgaXQgdG8gYnVpbGQgc3lzdGVtcyBub3QganVzdCBpbnRlbnRpb25zJywgJ1RoZSBSb290cyBzZWFzb24gcHJvZHVjZXMgdGhlIG1vc3QgcmVzaWxpZW50IHNvdmVyZWlnbnMgd2hlbiBpdHMgbGVzc29ucyBhcmUgaG9ub3VyZWQnXSwKICAgIG5leHRTdGVwOiAnQnVpbGQgeW91ciB3ZWF0aGVyIHZhbmUgc3lzdGVtcyB+IHRoZSBkYWlseSBwcmFjdGljZXMgdGhhdCBtYWtlIHRoZSByZXR1cm4gcmVsaWFibGUuIFRoZSBOYWhsYS1OYWxhIFBlcnNvbmFsIEVtcGF0aHkgTWFwIGlzIHlvdXIgbmV4dCB0b29sLicsCiAgICByb3V0ZTogeyBwcmltYXJ5OiB7IHRleHQ6ICfwn5GRIEV4cGxvcmUgdGhlIE5haGxhLU5hbGEgTWV0aG9kJywgdXJsOiAnaHR0cHM6Ly9zaGVlYm9zc3NvbHV0aW9uaXN0LmNvbScgfSwgc2Vjb25kYXJ5OiB7IHRleHQ6ICdKb2luIFNoZSBFdm9sdmVzIEFmcmljYSBDb21tdW5pdHknLCB1cmw6ICdodHRwczovL2V2ZW50cy5zb3ZlcmVpZ25tb21lbnR1bS5jb20vd29tZW4tb2Ytc3VtbWl0LWNvbW11bml0eScgfSwgdGVydGlhcnk6IHsgdGV4dDogJ0NvbnRpbnVlIH4gVGhlIFZvcnRleCBBbHRpdHVkZSBBc3Nlc3NtZW50JywgdXJsOiAnaHR0cHM6Ly90aGVtZXJpZGlhbi5hZnJpY2Evdm9ydGV4LWFsdGl0dWRlJyB9IH0KICB9LAogIHRydW5rOiB7CiAgICBrZXk6ICAgICAndHJ1bmsnLAogICAgaWNvbjogICAgJ/CfjLMnLAogICAgbmFtZTogICAgJ1RoZSBUcnVuaycsCiAgICBjb2xvcjogICAnIzJCNkNCMCcsCiAgICBiZzogICAgICAnbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcmdiYSg0MywxMDgsMTc2LC4zKSAwJSwgcmdiYSgxMywzNCw3MSwuOSkgMTAwJSknLAogICAgYm9yZGVyOiAgJ3JnYmEoNDMsMTA4LDE3NiwuNCknLAogICAgYmFkZ2U6ICAgJ1lPVVIgU0VBU09OIH4gVEhFIFRSVU5LJywKICAgIHN1YjogICAgICciWW91IGJlbmQgaW4gdGhlIHN0b3JtIGJ1dCB5b3UgZG8gbm90IGJyZWFrLiBUaGF0IGlzIG5vdCBzbWFsbC4gVGhhdCBpcyBldmVyeXRoaW5nLiBOb3cgfiBsZXQgdXMgbWFrZSB0aGUgcm9vdCBzeXN0ZW0gYXMgc3Ryb25nIGFzIHRoZSB0cmVlIGl0IGhvbGRzLiInLAogICAgZGVzY3JpcHRpb246ICdZb3UgaGF2ZSBhIHN0cm9uZyBjZW50cmUuIFlvdSBrbm93IHdobyB5b3UgYXJlLCB5b3UgaG9ub3VyIHlvdXIgdmFsdWVzIG1vc3Qgb2YgdGhlIHRpbWUsIGFuZCB5b3UgaGF2ZSBhIHJlYWwgc2Vuc2Ugb2Ygd2hlcmUgdGhlIGxpbmUgYmVsb25ncy4gVGhlIFRydW5rIHNlYXNvbiBpcyB3aGVyZSBtb3N0IGNhcGFibGUsIHNlbGYtYXdhcmUgd29tZW4gb3BlcmF0ZSB+IGFuZCBpdCBpcyBhIGdlbnVpbmVseSBwb3dlcmZ1bCBwbGFjZS4gQnV0IHRoZXJlIGFyZSBzdGlsbCBnYXBzLiBUaGUgbGluZSBibHVycyB1bmRlciBwcmVzc3VyZS4gVGhlIHJldHVybiBpcyBwcmFjdGljZWQgYnV0IG5vdCB5ZXQgc292ZXJlaWduLiBZb3UgYXJlIGJ1aWxkaW5nIHRvd2FyZCB0aGUgQmxvb20gfiBhbmQgdGhlIGRpc3RhbmNlIGlzIHNob3J0ZXIgdGhhbiB5b3UgdGhpbmsuJywKICAgIHN0cmVuZ3RoczogWydZb3VyIGZvdW5kYXRpb24gaXMgcmVhbCB+IHlvdSBoYXZlIGRvbmUgdGhlIGZvdW5kYXRpb25hbCB3b3JrIGFuZCBpdCBzaG93cycsICdZb3UgbW92ZSB0aHJvdWdoIGNoYWxsZW5nZSB3aXRob3V0IGxvc2luZyB5b3Vyc2VsZiBmb3IgbG9uZycsICdZb3UgYXJlIHBvc2l0aW9uZWQgdG8gbW92ZSBpbnRvIEJsb29tIGFsdGl0dWRlIHdpdGggdGFyZ2V0ZWQsIGludGVudGlvbmFsIHdvcmsnXSwKICAgIG5leHRTdGVwOiAnRGVlcGVuIHlvdXIgc3lzdGVtIG9mIHJldHVybi4gVGFrZSB0aGUgU292ZXJlaWduIExpZmVjeWNsZSBGcmFtZXdvcmsgYW5kIGVuZ2FnZSB3aXRoIFN0YWdlIDMgfiBTb3ZlcmVpZ24gSW50ZW50aW9uLiBCdWlsZCB5b3VyIDM2MMKwIExlZ2FjeSBCbHVlcHJpbnQuJywKICAgIHJvdXRlOiB7IHByaW1hcnk6IHsgdGV4dDogJ/CfkZEgQWNjZXNzIHRoZSBTb3ZlcmVpZ24gTGlmZWN5Y2xlJywgdXJsOiAnaHR0cHM6Ly9zaGVlYm9zc3NvbHV0aW9uaXN0LmNvbScgfSwgc2Vjb25kYXJ5OiB7IHRleHQ6ICdBY2Nlc3MgWW91ciBGcmVlIFdlYmluYXIgU2VyaWVzJywgdXJsOiAnaHR0cHM6Ly9ldmVudHMuc292ZXJlaWdubW9tZW50dW0uY29tL3N1bW1pdC13ZWJpbmFyJyB9LCB0ZXJ0aWFyeTogeyB0ZXh0OiAnQ29udGludWUgfiBUaGUgVm9ydGV4IEFsdGl0dWRlIEFzc2Vzc21lbnQnLCB1cmw6ICdodHRwczovL3RoZW1lcmlkaWFuLmFmcmljYS92b3J0ZXgtYWx0aXR1ZGUnIH0gfQogIH0sCiAgYmxvb206IHsKICAgIGtleTogICAgICdibG9vbScsCiAgICBpY29uOiAgICAn8J+MuicsCiAgICBuYW1lOiAgICAnVGhlIEJsb29tJywKICAgIGNvbG9yOiAgICcjNkI0NkMxJywKICAgIGJnOiAgICAgICdsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDEwNyw3MCwxOTMsLjMpIDAlLCByZ2JhKDEzLDM0LDcxLC45KSAxMDAlKScsCiAgICBib3JkZXI6ICAncmdiYSgxMDcsNzAsMTkzLC40KScsCiAgICBiYWRnZTogICAnWU9VUiBTRUFTT04gfiBUSEUgQkxPT00nLAogICAgc3ViOiAgICAgJyJUaGUgTUUgQk9TUyBhbmQgdGhlIFNIRSBFLUJvc3MgY29leGlzdCBpbiB5b3Ugd2l0aCBncmFjZS4gWW91IGhhdmUgZG9uZSB3aGF0IG1vc3QgbmV2ZXIgZG8uIE5vdyB+IGJ1aWxkIHRoZSBpbmZyYXN0cnVjdHVyZSB0aGF0IG1ha2VzIGl0IHBlcm1hbmVudC4iJywKICAgIGRlc2NyaXB0aW9uOiAnWW91IGxpdmUgaW4geW91ciBkdWFsaXR5IHdpdGggZ3JhY2UuIFRoZSBNRSBCT1NTIGFuZCB0aGUgU0hFIEUtQm9zcyBhcmUgZGlzdGluY3QsIHByb3RlY3RlZCBhbmQgY29leGlzdGluZyB3aXRoaW4geW91LiBZb3UgaGF2ZSBkcmF3biB0aGUgbGluZS4gWW91IGhvbm91ciBpdCBjb25zaXN0ZW50bHkuIFlvdSBnbyBob21lIHRvIHlvdXJzZWxmIH4gYW5kIHlvdSByZXR1cm4gdG8geW91ciB3b3JrIHdpdGggYSBwbGFuLiBUaGUgQmxvb20gc2Vhc29uIGlzIHJlbWFya2FibGUgYmVjYXVzZSBtb3N0IHdvbWVuIG5ldmVyIHJlYWNoIGl0LiBZb3UgYXJlIGhlcmUuIFRoZSB3b3JrIG5vdyBpcyBtYWtpbmcgaXQgc3RydWN0dXJhbCwgc2NhbGFibGUgYW5kIGxlZ2FjeS1yZWFkeS4nLAogICAgc3RyZW5ndGhzOiBbJ1lvdSBhcmUgbGl2aW5nIHByb29mIHRoYXQgdGhlIGR1YWxpdHkgaXMgcG9zc2libGUgfiB5b3VyIHByZXNlbmNlIGhlcmUgbWF0dGVycycsICdZb3VyIHN5c3RlbXMgb2YgcmV0dXJuIGFyZSBlc3RhYmxpc2hlZCBhbmQgd29ya2luZycsICdZb3UgYXJlIHBvc2l0aW9uZWQgdG8gbWVudG9yIG90aGVycyB0aHJvdWdoIHdoYXQgeW91IGhhdmUgbWFzdGVyZWQgfiB0aGF0IGlzIHRoZSBiZWdpbm5pbmcgb2YgbGVnYWN5J10sCiAgICBuZXh0U3RlcDogJ0VudGVyIHRoZSBIRVIgV29tYW5pdHkgTWFzdGVybWluZCB3aGVyZSBCbG9vbSBzZWFzb24gc292ZXJlaWducyBidWlsZCB0b2dldGhlci4gWW91ciBuZXh0IHN0YWdlIGlzIFNvdmVyZWlnbiBMZWdhY3kuJywKICAgIHJvdXRlOiB7IHByaW1hcnk6IHsgdGV4dDogJ/CfkZEgSm9pbiB0aGUgSEVSIFdvbWFuaXR5IE1hc3Rlcm1pbmQnLCB1cmw6ICdodHRwczovL2V2ZW50cy5zb3ZlcmVpZ25tb21lbnR1bS5jb20vaGVyLXdvbWFuaXR5JyB9LCBzZWNvbmRhcnk6IHsgdGV4dDogJ0hhdmUgWW91ciBTdG9yeSBEb2N1bWVudGVkIH4gU2hlIEV2b2x2ZXMgQWZyaWNhJywgdXJsOiAnaHR0cHM6Ly9ldmVudHMuc292ZXJlaWdubW9tZW50dW0uY29tL2RvY3VtZW50LW15LXN0b3J5JyB9LCB0ZXJ0aWFyeTogeyB0ZXh0OiAnQ29udGludWUgfiBUaGUgVm9ydGV4IEFsdGl0dWRlIEFzc2Vzc21lbnQnLCB1cmw6ICdodHRwczovL3RoZW1lcmlkaWFuLmFmcmljYS92b3J0ZXgtYWx0aXR1ZGUnIH0gfQogIH0sCiAgc292ZXJlaWduOiB7CiAgICBrZXk6ICAgICAnc292ZXJlaWduJywKICAgIGljb246ICAgICfwn5GRJywKICAgIG5hbWU6ICAgICdUaGUgU292ZXJlaWduJywKICAgIGNvbG9yOiAgICcjQzk5NTFBJywKICAgIGJnOiAgICAgICdsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDIwMSwxNDksMjYsLjIpIDAlLCByZ2JhKDEzLDM0LDcxLC45MikgMTAwJSknLAogICAgYm9yZGVyOiAgJ3JnYmEoMjAxLDE0OSwyNiwuNSknLAogICAgYmFkZ2U6ICAgJ1lPVVIgU0VBU09OIH4gVEhFIFNPVkVSRUlHTicsCiAgICBzdWI6ICAgICAnIllvdSBidWlsdCB0aGUgZW1waXJlIGFuZCBrZXB0IHlvdXIgc291bC4gWW91IGNyZWF0ZWQgdGhlIHBsYXRmb3JtcyBhbmQga2VwdCB5b3VyIHByaXZhY3kuIFlvdSBpbXBhY3RlZCB0aG91c2FuZHMgYW5kIGtlcHQgeW91ciBsaWZlLiBUaGF0IGlzIG5vdCBhIGNvbnRyYWRpY3Rpb24gfiB0aGF0IGlzIHRoZSB3aG9sZSBwb2ludC4iJywKICAgIGRlc2NyaXB0aW9uOiAnWW91IGFyZSBob21lIGluIHlvdXJzZWxmLiBUaGUgbWlycm9yIGlzIGFsd2F5cyB0aGVyZS4gVGhlIGxlbnMgaXMgY2xlYXIuIFlvdSBtb3ZlIHRocm91Z2ggZXZlcnkgc2Vhc29uIH4gcHJpdmF0ZSwgcHVibGljLCBwcm9mZXNzaW9uYWwgfiB3aXRob3V0IGxvc2luZyB0aGUgdGhyZWFkIGJhY2sgdG8gd2hvIHlvdSBhcmUuIFRoZSByZXR1cm4gaXMgbm90IHNvbWV0aGluZyB5b3UgcmVtZW1iZXIgdG8gZG8uIEl0IGlzIHdobyB5b3UgYXJlLiBUaGUgU292ZXJlaWduIHNlYXNvbiBpcyB3aGVyZSBsZWdhY3kgYmVjb21lcyB0aGUgcHJpbWFyeSB3b3JrIH4gYmVjYXVzZSB0aGUgc2VsZiBpcyBmdWxseSBlc3RhYmxpc2hlZCBhbmQgdGhlIGVtcGlyZSBoYXMgZmlybSBmb3VuZGF0aW9ucy4nLAogICAgc3RyZW5ndGhzOiBbJ1lvdSBhcmUgbGl2aW5nIHByb29mIG9mIHRoZSBNRSBCT1NTIHBoaWxvc29waHkgfiB5b3VyIGV4aXN0ZW5jZSBpbiB0aGlzIHNlYXNvbiBpcyB0aGUgdGVzdGltb255JywgJ1lvdXIgc292ZXJlaWdudHkgaXMgc3RydWN0dXJhbCB+IGl0IGlzIGJ1aWx0IGludG8geW91ciBzeXN0ZW1zLCBub3QgZGVwZW5kZW50IG9uIHlvdXIgd2lsbHBvd2VyJywgJ1lvdXIgcHJpbWFyeSB3b3JrIG5vdyBpcyBTb3ZlcmVpZ24gTGVnYWN5IH4gUGF5IEl0IEZvcndhcmQgfiBleHRlbmRpbmcgeW91ciBoYW5kIHRvIHRoZSBuZXh0IHdvbWFuJ10sCiAgICBuZXh0U3RlcDogJ0EgZGlyZWN0IGNvbnN1bHRhdGlvbiB3aXRoIHRoZSBGb3VuZGVyLiBZb3VyIHN0b3J5IGJlbG9uZ3MgaW4gdGhlIFNoZSBFdm9sdmVzIEFmcmljYSBhcmNoaXZlIH4gYW5kIHlvdXIgd2lzZG9tIGJlbG9uZ3MgaW4gdGhlIG5leHQgd29tYW5cJ3MgaGFuZHMuJywKICAgIHJvdXRlOiB7IHByaW1hcnk6IHsgdGV4dDogJ/CfkZEgQm9vayBhIEZvdW5kZXIgQ29uc3VsdGF0aW9uJywgdXJsOiAnaHR0cHM6Ly9ldmVudHMuc292ZXJlaWdubW9tZW50dW0uY29tL3N1bW1pdC1jb25zdWx0YXRpb24nIH0sIHNlY29uZGFyeTogeyB0ZXh0OiAnSGF2ZSBZb3VyIFN0b3J5IEZlYXR1cmVkIH4gU2hlIEV2b2x2ZXMgQWZyaWNhJywgdXJsOiAnaHR0cHM6Ly9ldmVudHMuc292ZXJlaWdubW9tZW50dW0uY29tL2RvY3VtZW50LW15LXN0b3J5JyB9LCB0ZXJ0aWFyeTogeyB0ZXh0OiAnQ29udGludWUgfiBUaGUgVm9ydGV4IEFsdGl0dWRlIEFzc2Vzc21lbnQnLCB1cmw6ICdodHRwczovL3RoZW1lcmlkaWFuLmFmcmljYS92b3J0ZXgtYWx0aXR1ZGUnIH0gfQogIH0KfTsKCmNvbnN0IFNFQVNPTl9LRVlTID0gWydzZWVkJywncm9vdHMnLCd0cnVuaycsJ2Jsb29tJywnc292ZXJlaWduJ107CmNvbnN0IERJTV9OQU1FUyA9IFsnT3JkZXIgb2YgQXJyaXZhbCcsJ1RoZSBCbHVyJywnTXkgRXNzZW5jZScsJ1RoZSBMaW5lJywnVGhlIFJldHVybiddOwoKLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgIFNUQVRFCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqLwpsZXQgY3VycmVudFEgPSAwOwpsZXQgYW5zd2VycyAgPSBuZXcgQXJyYXkoUVVFU1RJT05TLmxlbmd0aCkuZmlsbChudWxsKTsKbGV0IGZpbmFsU2Vhc29uID0gbnVsbDsKCi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICBIRUxQRVJTCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqLwpmdW5jdGlvbiBzaG93KGlkKXsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpOyB9CmZ1bmN0aW9uIGhpZGUoaWQpeyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7IH0KZnVuY3Rpb24gc2Nyb2xsMnRvcCgpeyB3aW5kb3cuc2Nyb2xsVG8oe3RvcDowLGJlaGF2aW9yOidzbW9vdGgnfSk7IH0KCmZ1bmN0aW9uIGdldFNlYXNvbih0b3RhbCl7CiAgY29uc3QgbWF4ID0gUVVFU1RJT05TLmxlbmd0aCAqIDQ7CiAgY29uc3QgcGN0ID0gdG90YWwgLyBtYXg7CiAgaWYocGN0IDwgMC4yKSAgcmV0dXJuICdzZWVkJzsKICBpZihwY3QgPCAwLjQpICByZXR1cm4gJ3Jvb3RzJzsKICBpZihwY3QgPCAwLjYpICByZXR1cm4gJ3RydW5rJzsKICBpZihwY3QgPCAwLjgpICByZXR1cm4gJ2Jsb29tJzsKICByZXR1cm4gJ3NvdmVyZWlnbic7Cn0KCmZ1bmN0aW9uIGdldERpbVNjb3JlcygpewogIC8vIDQgcXVlc3Rpb25zIHBlciBkaW1lbnNpb24sIG1heCAxNiBwZXIgZGltZW5zaW9uCiAgcmV0dXJuIFswLDEsMiwzLDRdLm1hcChkPT57CiAgICBjb25zdCBzdGFydCA9IGQqNDsKICAgIGNvbnN0IHN1bSA9IGFuc3dlcnMuc2xpY2Uoc3RhcnQsc3RhcnQrNCkucmVkdWNlKChhLGIpPT5hKyhifHwwKSwwKTsKICAgIHJldHVybiBNYXRoLnJvdW5kKChzdW0vMTYpKjEwMCk7CiAgfSk7Cn0KCi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICBGTE9BVElFUwrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi8KKGZ1bmN0aW9uKCl7CiAgY29uc3Qgd3JhcD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmxvYXRpZXMnKTsKICBjb25zdCBzeW1zPVsn8J+RkScsJ+KcpicsJ+KXhicsJ+KZpicsJ+KXiCddOwogIGZvcihsZXQgaT0wO2k8MTg7aSsrKXsKICAgIGNvbnN0IGVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBlbC5jbGFzc05hbWU9J2Zsb2F0aWUnOwogICAgZWwudGV4dENvbnRlbnQ9c3ltc1tpJXN5bXMubGVuZ3RoXTsKICAgIGNvbnN0IHM9OCtNYXRoLnJhbmRvbSgpKjE0OwogICAgZWwuc3R5bGUuY3NzVGV4dD1gbGVmdDoke01hdGgucmFuZG9tKCkqMTAwfSU7Zm9udC1zaXplOiR7c31weDthbmltYXRpb24tZHVyYXRpb246JHsxNitNYXRoLnJhbmRvbSgpKjI0fXM7YW5pbWF0aW9uLWRlbGF5OiR7TWF0aC5yYW5kb20oKSoyNH1zO2NvbG9yOnJnYmEoMjAxLDE0OSwyNiwkey4wOCtNYXRoLnJhbmRvbSgpKjAuMTh9KTtgOwogICAgd3JhcC5hcHBlbmRDaGlsZChlbCk7CiAgfQp9KSgpOwoKLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgIEFTU0VTU01FTlQgRkxPVwrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi8KZnVuY3Rpb24gc3RhcnRBc3Nlc3NtZW50KCl7CiAgaGlkZSgnaW50cm9TY3JlZW4nKTsKICBzaG93KCdwcm9ncmVzc1dyYXAnKTsKICBzaG93KCdxU3RhZ2UnKTsKICByZW5kZXJRdWVzdGlvbigpOwogIHNjcm9sbDJ0b3AoKTsKfQoKZnVuY3Rpb24gcmVuZGVyUXVlc3Rpb24oKXsKICBjb25zdCBxICAgID0gUVVFU1RJT05TW2N1cnJlbnRRXTsKICBjb25zdCBkaW0gID0gRElNRU5TSU9OU1txLmRpbV07CiAgY29uc3QgY2FyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxQ2FyZCcpOwoKICAvLyBhbmltYXRlCiAgY2FyZC5zdHlsZS5hbmltYXRpb249J25vbmUnOyBjYXJkLm9mZnNldEhlaWdodDsgY2FyZC5zdHlsZS5hbmltYXRpb249Jyc7CgogIC8vIGRpbSBsYWJlbAogIGNvbnN0IGxibCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxRGltTGFiZWwnKTsKICBsYmwudGV4dENvbnRlbnQgPSBkaW0ubGFiZWw7CiAgbGJsLnN0eWxlLmJhY2tncm91bmQgPSBkaW0uYmc7CiAgbGJsLnN0eWxlLmJvcmRlciA9IGAxcHggc29saWQgJHtkaW0uYm9yZGVyfWA7CiAgbGJsLnN0eWxlLmNvbG9yID0gZGltLmNvbG9yOwoKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncU51bScpLnRleHRDb250ZW50ICA9IGBRdWVzdGlvbiAke2N1cnJlbnRRKzF9IG9mICR7UVVFU1RJT05TLmxlbmd0aH1gOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxVGV4dCcpLnRleHRDb250ZW50ID0gcS50ZXh0OwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwQ291bnQnKS50ZXh0Q29udGVudD0gYFF1ZXN0aW9uICR7Y3VycmVudFErMX0gb2YgJHtRVUVTVElPTlMubGVuZ3RofWA7CgogIC8vIHByb2dyZXNzIGJhcgogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcm9ncmVzc0ZpbGwnKS5zdHlsZS53aWR0aCA9IChjdXJyZW50US9RVUVTVElPTlMubGVuZ3RoKjEwMCkrJyUnOwoKICAvLyBkaW1lbnNpb24gZG90cwogIFswLDEsMiwzLDRdLmZvckVhY2goaT0+ewogICAgY29uc3QgZG90ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RkJytpKTsKICAgIGRvdC5jbGFzc05hbWU9J2RpbS1kb3QnOwogICAgY29uc3QgZGltU3RhcnQgPSBpKjQsIGRpbUVuZCA9IGRpbVN0YXJ0KzM7CiAgICBpZihjdXJyZW50USA+IGRpbUVuZCkgZG90LmNsYXNzTGlzdC5hZGQoJ2NvbXBsZXRlJyk7CiAgICBlbHNlIGlmKGN1cnJlbnRRID49IGRpbVN0YXJ0ICYmIGN1cnJlbnRRIDw9IGRpbUVuZCkgZG90LmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpOwogIH0pOwoKICAvLyBhbnN3ZXJzCiAgY29uc3Qgd3JhcCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbnN3ZXJzV3JhcCcpOwogIHdyYXAuaW5uZXJIVE1MPScnOwogIGNvbnN0IGxldHRlcnM9WydBJywnQicsJ0MnLCdEJywnRSddOwogIHEuYW5zd2Vycy5mb3JFYWNoKChhbnMsaSk9PnsKICAgIGNvbnN0IGJ0bj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgIGJ0bi5jbGFzc05hbWU9J2Fucy1idG4nKyhhbnN3ZXJzW2N1cnJlbnRRXT09PWFucy5zY29yZT8nIHNlbGVjdGVkJzonJyk7CiAgICBidG4uaW5uZXJIVE1MPWA8c3BhbiBjbGFzcz0iYW5zLWx0ciI+JHtsZXR0ZXJzW2ldfTwvc3Bhbj48c3BhbiBjbGFzcz0iYW5zLXRleHQiPiR7YW5zLnRleHR9PC9zcGFuPmA7CiAgICBidG4ub25jbGljaz0oKT0+c2VsZWN0QW5zd2VyKGksYW5zLnNjb3JlLGJ0bik7CiAgICB3cmFwLmFwcGVuZENoaWxkKGJ0bik7CiAgfSk7CgogIC8vIG5leHQgYnV0dG9uCiAgY29uc3QgbmI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25leHRCdG4nKTsKICBuYi50ZXh0Q29udGVudD1jdXJyZW50UTxRVUVTVElPTlMubGVuZ3RoLTE/J0NvbnRpbnVlIOKGkic6J1JldmVhbCBNeSBTZWFzb24g8J+RkSc7CiAgbmIuY2xhc3NMaXN0LnRvZ2dsZSgnYWN0aXZlJywgYW5zd2Vyc1tjdXJyZW50UV0hPT1udWxsKTsKfQoKZnVuY3Rpb24gc2VsZWN0QW5zd2VyKGlkeCxzY29yZSxidG4pewogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hbnMtYnRuJykuZm9yRWFjaChiPT5iLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJykpOwogIGJ0bi5jbGFzc0xpc3QuYWRkKCdzZWxlY3RlZCcpOwogIGFuc3dlcnNbY3VycmVudFFdPXNjb3JlOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduZXh0QnRuJykuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7Cn0KCmZ1bmN0aW9uIG5leHRRdWVzdGlvbigpewogIGlmKGFuc3dlcnNbY3VycmVudFFdPT09bnVsbCkgcmV0dXJuOwogIGlmKGN1cnJlbnRRPFFVRVNUSU9OUy5sZW5ndGgtMSl7CiAgICBjdXJyZW50USsrOwogICAgcmVuZGVyUXVlc3Rpb24oKTsKICAgIHNjcm9sbDJ0b3AoKTsKICB9IGVsc2UgewogICAgaGlkZSgncVN0YWdlJyk7IGhpZGUoJ3Byb2dyZXNzV3JhcCcpOwogICAgc2hvdygnY2FwdHVyZVNjcmVlbicpOwogICAgc2Nyb2xsMnRvcCgpOwogIH0KfQoKLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgIFJFU1VMVArilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi8KZnVuY3Rpb24gc2hvd1Jlc3VsdCgpewogIGhpZGUoJ2NhcHR1cmVTY3JlZW4nKTsKICBjb25zdCB0b3RhbCAgPSBhbnN3ZXJzLnJlZHVjZSgoYSxiKT0+YSsoYnx8MCksMCk7CiAgY29uc3Qgc0tleSAgID0gZ2V0U2Vhc29uKHRvdGFsKTsKICBjb25zdCBzZWFzb24gPSBTRUFTT05TW3NLZXldOwogIGNvbnN0IGRpbVBjdCA9IGdldERpbVNjb3JlcygpOwogIGZpbmFsU2Vhc29uICA9IHtzS2V5LHNlYXNvbix0b3RhbH07CgogIC8vIGhlcm8KICBjb25zdCBoZXJvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRIZXJvJyk7CiAgaGVyby5zdHlsZS5iYWNrZ3JvdW5kPXNlYXNvbi5iZzsKICBoZXJvLnN0eWxlLmJvcmRlcj1gMXB4IHNvbGlkICR7c2Vhc29uLmJvcmRlcn1gOwoKICBjb25zdCBiYWRnZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0QmFkZ2UnKTsKICBiYWRnZS50ZXh0Q29udGVudD1zZWFzb24uYmFkZ2U7CiAgYmFkZ2Uuc3R5bGUuYmFja2dyb3VuZD1gJHtzZWFzb24uY29sb3J9MjJgOwogIGJhZGdlLnN0eWxlLmJvcmRlcj1gMXB4IHNvbGlkICR7c2Vhc29uLmNvbG9yfTU1YDsKICBiYWRnZS5zdHlsZS5jb2xvcj1zZWFzb24uY29sb3I7CgogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRJY29uJykudGV4dENvbnRlbnQ9c2Vhc29uLmljb247CiAgY29uc3QgbmFtZUVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHROYW1lJyk7CiAgbmFtZUVsLnRleHRDb250ZW50PXNlYXNvbi5uYW1lOwogIG5hbWVFbC5zdHlsZS5jb2xvcj1zZWFzb24uY29sb3I7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdFN1YicpLnRleHRDb250ZW50PXNlYXNvbi5zdWI7CgogIC8vIGRpbSBiYXJzCiAgY29uc3QgYmFycz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGltQmFycycpOwogIGJhcnMuaW5uZXJIVE1MPScnOwogIERJTV9OQU1FUy5mb3JFYWNoKChuYW1lLGkpPT57CiAgICBjb25zdCBjYXJkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBjYXJkLmNsYXNzTmFtZT0nZGltLWJhci1jYXJkJzsKICAgIGNhcmQuaW5uZXJIVE1MPWA8c3BhbiBjbGFzcz0iZGJjLW5hbWUiPiR7bmFtZX08L3NwYW4+PHNwYW4gY2xhc3M9ImRiYy1zY29yZSIgc3R5bGU9ImNvbG9yOiR7c2Vhc29uLmNvbG9yfSI+JHtkaW1QY3RbaV19JTwvc3Bhbj48ZGl2IGNsYXNzPSJkYmMtdHJhY2siPjxkaXYgY2xhc3M9ImRiYy1maWxsIiBzdHlsZT0iYmFja2dyb3VuZDoke3NlYXNvbi5jb2xvcn0iIGRhdGEtdz0iJHtkaW1QY3RbaV19JSI+PC9kaXY+PC9kaXY+YDsKICAgIGJhcnMuYXBwZW5kQ2hpbGQoY2FyZCk7CiAgfSk7CiAgc2V0VGltZW91dCgoKT0+eyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZGJjLWZpbGwnKS5mb3JFYWNoKGI9PmIuc3R5bGUud2lkdGg9Yi5kYXRhc2V0LncpOyB9LDE1MCk7CgogIC8vIGJvZHkKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0Qm9keScpLmlubmVySFRNTD1gCiAgICA8aDM+V2hhdCBUaGlzIFNlYXNvbiBNZWFucyBGb3IgWW91PC9oMz4KICAgIDxwPiR7c2Vhc29uLmRlc2NyaXB0aW9ufTwvcD4KICAgIDxoMz5Zb3VyIFN0cmVuZ3RocyBSaWdodCBOb3c8L2gzPgogICAgPHVsPiR7c2Vhc29uLnN0cmVuZ3Rocy5tYXAocz0+YDxsaT4ke3N9PC9saT5gKS5qb2luKCcnKX08L3VsPgogICAgPGJyPgogICAgPHAgc3R5bGU9ImZvbnQtc2l6ZTouNzhyZW07Y29sb3I6dmFyKC0tZ29sZDIpO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtZmFtaWx5OidDb3Jtb3JhbnQgR2FyYW1vbmQnLHNlcmlmIj7wn5GRIFlvdXIgTmV4dCBTdGVwOiAke3NlYXNvbi5uZXh0U3RlcH08L3A+CiAgYDsKCiAgLy8gQ1RBcwogIGNvbnN0IHI9c2Vhc29uLnJvdXRlOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRDdGEnKS5pbm5lckhUTUw9YAogICAgPGEgaHJlZj0iJHtyLnByaW1hcnkudXJsfSIgY2xhc3M9InItYnRuIHItcHJpbWFyeSIgc3R5bGU9ImJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywke3NlYXNvbi5jb2xvcn0sJHtzZWFzb24uY29sb3J9OTkpIj4ke3IucHJpbWFyeS50ZXh0fTwvYT4KICAgIDxhIGhyZWY9IiR7ci5zZWNvbmRhcnkudXJsfSIgY2xhc3M9InItYnRuIHItc2Vjb25kYXJ5Ij4ke3Iuc2Vjb25kYXJ5LnRleHR9PC9hPgogICAgPGEgaHJlZj0iJHtyLnRlcnRpYXJ5LnVybH0iIGNsYXNzPSJyLWJ0biByLXNlY29uZGFyeSIgc3R5bGU9ImJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xNSk7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNikiPuKGkiAke3IudGVydGlhcnkudGV4dH08L2E+CiAgYDsKCiAgLy8gc2Vhc29uIGxhZGRlciBpbmRpY2F0b3IKICBjb25zdCBpZHg9U0VBU09OX0tFWVMuaW5kZXhPZihzS2V5KTsKICBTRUFTT05fS0VZUy5mb3JFYWNoKChfLGkpPT57IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbCcraSkudGV4dENvbnRlbnQ9aT09PWlkeD8n4oaQIFlvdSc6Jyc7IH0pOwoKICBzaG93KCdyZXN1bHRTY3JlZW4nKTsKICBzY3JvbGwydG9wKCk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb2dyZXNzRmlsbCcpLnN0eWxlLndpZHRoPScxMDAlJzsKfQoKLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgIFNIQVJFICsgUkVTRVQK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovCmZ1bmN0aW9uIGNvcHlTaGFyZSgpewogIGlmKCFmaW5hbFNlYXNvbikgcmV0dXJuOwogIGNvbnN0IHtzZWFzb24sc0tleX0gPSBmaW5hbFNlYXNvbjsKICBjb25zdCB0ZXh0PWBJIGp1c3QgZGlzY292ZXJlZCBteSBNRSBCT1NTIFNlYXNvbiB+IEkgYW0gJHtzZWFzb24ubmFtZX0gJHtzZWFzb24uaWNvbn1cblxuJHtzZWFzb24uc3ViLnJlcGxhY2UoLyIvZywnJyl9XG5cbkRpc2NvdmVyIHlvdXIgc2Vhc29uIH4gVGhlIE1FIEJPU1MgQXNzZXNzbWVudCBieSBUaGUgU0hFIEUtQm9zcyBTb2x1dGlvbmlzdDpcbnNoZWVib3Nzc29sdXRpb25pc3QuY29tXG5cbvCfkZEgU2hlIEV2b2x2ZXMgQWZyaWNhIH4gVm9pY2VzLiBWaXNpb25zLiBWaWN0b3JpZXMuYDsKICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0ZXh0KS50aGVuKCgpPT57CiAgICBjb25zdCBidG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNoYXJlLWNvcHktYnRuJyk7CiAgICBidG4udGV4dENvbnRlbnQ9J0NvcGllZCEg4pyTJzsKICAgIHNldFRpbWVvdXQoKCk9PmJ0bi50ZXh0Q29udGVudD0nQ29weSBSZXN1bHQnLDI1MDApOwogIH0pOwp9CgpmdW5jdGlvbiByZXNldEFsbCgpewogIGN1cnJlbnRRPTA7IGFuc3dlcnM9bmV3IEFycmF5KFFVRVNUSU9OUy5sZW5ndGgpLmZpbGwobnVsbCk7IGZpbmFsU2Vhc29uPW51bGw7CiAgaGlkZSgncmVzdWx0U2NyZWVuJyk7IGhpZGUoJ3FTdGFnZScpOyBoaWRlKCdwcm9ncmVzc1dyYXAnKTsgaGlkZSgnY2FwdHVyZVNjcmVlbicpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcm9ncmVzc0ZpbGwnKS5zdHlsZS53aWR0aD0nMCUnOwogIHNob3coJ2ludHJvU2NyZWVuJyk7IHNjcm9sbDJ0b3AoKTsKfQo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+","embed":""}
π The SHE E-Boss Solutionist ~ She Evolves Africa
π
THE
ME BOSS
Assessment
"Everything you need to know about yourself is already living inside you ~ waiting for the right questions and the right space to surface."
T
Timeless Heroine Extraordinaire ~ the woman who exists before and after every role you hold
H
Her ~ the possessive that belongs to no one else
E
My Essence ~ the irreducible core that cannot be taken, sold or rebranded
B
Boldly ~ without apology, without permission
O
Obsessed ~ with herself first, as the foundation of everything
S
Self-Centered ~ the most generous act a woman can commit
S
Sovereignty ~ the state of being the governing authority of her own life
This assessment asks you twenty questions before asking you a single thing about your business. Because the woman behind the empire matters more than the empire itself. You are your own first audience. Your own first customer. Your own first investment.
π±The Seed
πΏThe Roots
π³The Trunk
πΊThe Bloom
πThe Sovereign
"She was never lost. She was simply waiting for someone to hold the mirror still long enough."~ The SHE E-Boss Solutionist
THE ME BOSS Assessment
Question 1 of 20
Your season is ready π
Enter your details to receive your full ME BOSS Season result ~ and to be placed on the right path for where you are right now.
Skip and see my result ββ¦ The Five Seasons β¦
π±The Seed
πΏThe Roots
π³The Trunk
πΊThe Bloom
πThe Sovereign
Share your season π
Invite another woman to discover hers ~ and her next step