{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICAKICAgIDwhLS0gUHJpbWFyeSBNZXRhIFRhZ3MgLS0+CiAgICA8dGl0bGU+Q2hyaXMgSGFkZGVuIHwgUkVBTFRPUsKuIHwgVGVhbSBIYWRkZW4gfCBKYXF1YSBSZWFsdG9yczwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJ0aXRsZSIgY29udGVudD0iQ2hyaXMgSGFkZGVuIHwgUkVBTFRPUsKuIHwgVGVhbSBIYWRkZW4gfCBTZXJ2aW5nIFNvdXRod2VzdCBNaWNoaWdhbiI+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iQnV5IOKAoiBTZWxsIOKAoiBJbnZlc3Qgd2l0aCBDaHJpcyBIYWRkZW4sIFJFQUxUT1LCriBhdCBKYXF1YSBSZWFsdG9ycy4gU2VydmluZyBTb3V0aHdlc3QgTWljaGlnYW4ncyBiZWF1dGlmdWwgbGFrZSBjb3VudHJ5LiBHUkksIENSU8KuLCBTUkVTwq4sIEFIV0TCriBjZXJ0aWZpZWQuIFlvdXIgdHJ1c3RlZCBwYXJ0bmVyIGluIFNvdXRod2VzdCBNaWNoaWdhbiByZWFsIGVzdGF0ZS4iPgogICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IkNocmlzIEhhZGRlbiwgVGVhbSBIYWRkZW4sIEphcXVhIFJlYWx0b3JzLCBTb3V0aHdlc3QgTWljaGlnYW4gUmVhbHRvciwgUG9ydGFnZSBNSSBSZWFsIEVzdGF0ZSwgTGFrZSBDb3VudHJ5IEhvbWVzLCBCdXkgU2VsbCBJbnZlc3QgTWljaGlnYW4sIEdSSSBDUlMgU1JFUyBBSFdEIj4KICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iQ2hyaXMgSGFkZGVuIj4KICAgIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0iaW5kZXgsIGZvbGxvdyI+CiAgICAKICAgIDwhLS0gT3BlbiBHcmFwaCAvIEZhY2Vib29rIC0tPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9InByb2ZpbGUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaHR0cHM6Ly9icmFuZGhhbmRzaGFrZS5jb20vY2hyaXNoYWRkZW4iPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJDaHJpcyBIYWRkZW4gfCBSRUFMVE9Swq4gfCBUZWFtIEhhZGRlbiB8IEphcXVhIFJlYWx0b3JzIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0i8J+PoSBCdXkg4oCiIFNlbGwg4oCiIEludmVzdCBpbiBTb3V0aHdlc3QgTWljaGlnYW4ncyBiZWF1dGlmdWwgbGFrZSBjb3VudHJ5LiBZb3VyIHRydXN0ZWQgcmVhbCBlc3RhdGUgcGFydG5lciB3aXRoIEdSSSwgQ1JTwq4sIFNSRVPCriwgQUhXRMKuIGNlcnRpZmljYXRpb25zLiI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vYnJhbmRoYW5kc2hha2UuY29tL2NocmlzaGFkZGVuL2ltYWdlcy9jaHJpcy1oYWRkZW4tc29jaWFsLnBuZyI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSJUZWFtIEhhZGRlbiB8IEphcXVhIFJlYWx0b3JzIj4KICAgIAogICAgPCEtLSBUd2l0dGVyIC0tPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpjYXJkIiBjb250ZW50PSJzdW1tYXJ5X2xhcmdlX2ltYWdlIj4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6dGl0bGUiIGNvbnRlbnQ9IkNocmlzIEhhZGRlbiB8IFJFQUxUT1LCriB8IFRlYW0gSGFkZGVuIj4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IvCfj6EgQnV5IOKAoiBTZWxsIOKAoiBJbnZlc3QgaW4gU291dGh3ZXN0IE1pY2hpZ2FuJ3MgYmVhdXRpZnVsIGxha2UgY291bnRyeS4iPgogICAgCiAgICA8IS0tIFRoZW1lIENvbG9yIC0tPgogICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMyQzVGN0MiPgogICAgCiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20iPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Q29ybW9yYW50K0dhcmFtb25kOml0YWwsd2dodEAwLDQwMDswLDUwMDswLDYwMDswLDcwMDsxLDQwMCZmYW1pbHk9TW9udHNlcnJhdDp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDAmZmFtaWx5PVNhdGlzZnkmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgogICAgCiAgICA8c3R5bGU+CiAgICAgICAgOnJvb3QgewogICAgICAgICAgICAtLWxha2UtZGVlcDogIzJDNUY3QzsKICAgICAgICAgICAgLS1sYWtlLW1lZGl1bTogIzRBOTBBNDsKICAgICAgICAgICAgLS1sYWtlLWxpZ2h0OiAjN0ZCM0M0OwogICAgICAgICAgICAtLWxha2UtbWlzdDogI0I4RDRFMzsKICAgICAgICAgICAgLS1sYWtlLWZvYW06ICNFOEY0Rjg7CiAgICAgICAgICAgIC0tY29yYWwtd2FybTogI0U4NzY2RDsKICAgICAgICAgICAgLS1jb3JhbC1zb2Z0OiAjRjRBOUEzOwogICAgICAgICAgICAtLXNhbmQtd2FybTogI0Y1RURFNDsKICAgICAgICAgICAgLS1zYW5kLWxpZ2h0OiAjRkFGN0YyOwogICAgICAgICAgICAtLWNoYXJjb2FsOiAjMkQzNDM2OwogICAgICAgICAgICAtLXNsYXRlOiAjNjM2RTcyOwogICAgICAgICAgICAtLXdoaXRlOiAjRkZGRkZGOwogICAgICAgIH0KCiAgICAgICAgKiB7CiAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CgogICAgICAgIGJvZHkgewogICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYW5kLWxpZ2h0KTsKICAgICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC8qIFdhdGVyY29sb3IgQmFja2dyb3VuZCBFZmZlY3QgKi8KICAgICAgICAud2F0ZXJjb2xvci1iZyB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgICAgdG9wOiAwOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICB6LWluZGV4OiAwOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAKICAgICAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDIwJSAyMCUsIHJnYmEoMTI3LCAxNzksIDE5NiwgMC4yNSkgMCUsIHRyYW5zcGFyZW50IDUwJSksCiAgICAgICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA4MCUgMzAlLCByZ2JhKDE4NCwgMjEyLCAyMjcsIDAuMykgMCUsIHRyYW5zcGFyZW50IDQ1JSksCiAgICAgICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA2MCUgODAlLCByZ2JhKDIzMiwgMTE4LCAxMDksIDAuMTUpIDAlLCB0cmFuc3BhcmVudCA0MCUpLAogICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgMTAlIDcwJSwgcmdiYSg3NCwgMTQ0LCAxNjQsIDAuMikgMCUsIHRyYW5zcGFyZW50IDUwJSksCiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1zYW5kLWxpZ2h0KSAwJSwgdmFyKC0tbGFrZS1mb2FtKSA1MCUsIHZhcigtLXNhbmQtd2FybSkgMTAwJSk7CiAgICAgICAgfQoKICAgICAgICAvKiBTb2Z0IFdhdmUgQW5pbWF0aW9uICovCiAgICAgICAgLndhdmUtZGVjb3JhdGlvbiB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgICAgYm90dG9tOiAwOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDsKICAgICAgICAgICAgei1pbmRleDogMTsKICAgICAgICAgICAgb3BhY2l0eTogMC40OwogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLndhdmUgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIGJvdHRvbTogMDsKICAgICAgICAgICAgd2lkdGg6IDIwMCU7CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE0NDAgMzIwJyUzRSUzQ3BhdGggZmlsbD0nJTIzN0ZCM0M0JyBmaWxsLW9wYWNpdHk9JzAuNScgZD0nTTAsMTYwTDQ4LDE3MC43Qzk2LDE4MSwxOTIsMjAzLDI4OCwxOTJDMzg0LDE4MSw0ODAsMTM5LDU3NiwxMzguN0M2NzIsMTM5LDc2OCwxODEsODY0LDE5Ny4zQzk2MCwyMTMsMTA1NiwyMDMsMTE1MiwxNzZDMTI0OCwxNDksMTM0NCwxMDcsMTM5Miw4NS4zTDE0NDAsNjRMMTQ0MCwzMjBMMTM5MiwzMjBDMTM0NCwzMjAsMTI0OCwzMjAsMTE1MiwzMjBDMTA1NiwzMjAsOTYwLDMyMCw4NjQsMzIwQzc2OCwzMjAsNjcyLDMyMCw1NzYsMzIwQzQ4MCwzMjAsMzg0LDMyMCwyODgsMzIwQzE5MiwzMjAsOTYsMzIwLDQ4LDMyMEwwLDMyMFonJTNFJTNDL3BhdGglM0UlM0Mvc3ZnJTNFIikgcmVwZWF0LXg7CiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlIDEwMCU7CiAgICAgICAgICAgIGFuaW1hdGlvbjogd2F2ZU1vdmUgMjBzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgd2F2ZU1vdmUgewogICAgICAgICAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfQogICAgICAgICAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9CiAgICAgICAgfQoKICAgICAgICAuY29udGFpbmVyIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICAgICAgbWF4LXdpZHRoOiA0ODBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgIH0KCiAgICAgICAgLyogSGVhZGVyIFNlY3Rpb24gKi8KICAgICAgICAuaGVhZGVyIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMjBweDsKICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gMXMgZWFzZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgZmFkZUluIHsKICAgICAgICAgICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH0KICAgICAgICAgICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgICAgICB9CgogICAgICAgIC50ZWFtLWJhZGdlIHsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgIH0KCiAgICAgICAgLnRlYW0tbmFtZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2F0aXNmeScsIGN1cnNpdmU7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tbGFrZS1kZWVwKTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgICAgICB9CgogICAgICAgIC50ZWFtLWxhYmVsIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY29yYWwtd2FybSk7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA0cHg7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7CiAgICAgICAgfQoKICAgICAgICAvKiBQcm9maWxlIEltYWdlIC0gTWljaGlnYW4gTWFwICovCiAgICAgICAgLnByb2ZpbGUtY29udGFpbmVyIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB3aWR0aDogMTYwcHg7CiAgICAgICAgICAgIGhlaWdodDogMTYwcHg7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7CiAgICAgICAgfQoKICAgICAgICAucHJvZmlsZS1yaW5nIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IC04cHg7CiAgICAgICAgICAgIGxlZnQ6IC04cHg7CiAgICAgICAgICAgIHdpZHRoOiAxNzZweDsKICAgICAgICAgICAgaGVpZ2h0OiAxNzZweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1sYWtlLWxpZ2h0KSwgdmFyKC0tY29yYWwtc29mdCksIHZhcigtLWxha2UtbWVkaXVtKSk7CiAgICAgICAgICAgIGFuaW1hdGlvbjogcmluZ1B1bHNlIDRzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyByaW5nUHVsc2UgewogICAgICAgICAgICAwJSwgMTAwJSB7IG9wYWNpdHk6IDAuNzsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfQogICAgICAgICAgICA1MCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOyB9CiAgICAgICAgfQoKICAgICAgICAucHJvZmlsZS1pbWFnZSB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgd2lkdGg6IDE2MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDE2MHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWxha2UtbWlzdCksIHZhcigtLXNhbmQtd2FybSkpOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0td2hpdGUpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggNDBweCByZ2JhKDQ0LCA5NSwgMTI0LCAwLjIpOwogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLyogTWljaGlnYW4gTWFwIFNWRyAqLwogICAgICAgIC5taWNoaWdhbi1tYXAgewogICAgICAgICAgICB3aWR0aDogODUlOwogICAgICAgICAgICBoZWlnaHQ6IDg1JTsKICAgICAgICAgICAgZmlsbDogdmFyKC0tbGFrZS1kZWVwKTsKICAgICAgICAgICAgb3BhY2l0eTogMC44NTsKICAgICAgICB9CgogICAgICAgIC5wcm9maWxlLWltYWdlIGltZyB7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICAgIH0KCiAgICAgICAgLyogTmFtZSAmIFRpdGxlICovCiAgICAgICAgLm5hbWUgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNoYXJjb2FsKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgIH0KCiAgICAgICAgLnRpdGxlIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjE1cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tbGFrZS1kZWVwKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIH0KCiAgICAgICAgLmJyb2tlcmFnZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXNsYXRlKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICB9CgogICAgICAgIC8qIENlcnRpZmljYXRpb25zIEJhZGdlICovCiAgICAgICAgLmNlcnRpZmljYXRpb25zIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLmNlcnQtYmFkZ2UgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1sYWtlLWRlZXApLCB2YXIoLS1sYWtlLW1lZGl1bSkpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICAgICAgICBwYWRkaW5nOiA4cHggMTRweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDQ0LCA5NSwgMTI0LCAwLjMpOwogICAgICAgIH0KCiAgICAgICAgLyogVGFnbGluZSBTZWN0aW9uICovCiAgICAgICAgLnRhZ2xpbmUtc2VjdGlvbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgICAgICAgICAgcGFkZGluZzogMjVweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDQ0LCA5NSwgMTI0LCAwLjEpOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI3LCAxNzksIDE5NiwgMC4yKTsKICAgICAgICB9CgogICAgICAgIC50YWdsaW5lLWxvY2F0aW9uIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBzZXJpZjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1sYWtlLWRlZXApOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIH0KCiAgICAgICAgLnRhZ2xpbmUtc2VydmljZXMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxOHB4OwogICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQoKICAgICAgICAuc2VydmljZS1pdGVtIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgICB9CgogICAgICAgIC5zZXJ2aWNlLWljb24gewogICAgICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb3JhbC13YXJtKSwgdmFyKC0tY29yYWwtc29mdCkpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgICB9CgogICAgICAgIC5zZXJ2aWNlLWRpdmlkZXIgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tbGFrZS1saWdodCk7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOwogICAgICAgIH0KCiAgICAgICAgLyogU2VjdGlvbiBTdHlsaW5nICovCiAgICAgICAgLnNlY3Rpb24gewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSg0NCwgOTUsIDEyNCwgMC4xKTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjcsIDE3OSwgMTk2LCAwLjIpOwogICAgICAgICAgICBhbmltYXRpb246IHNsaWRlVXAgMC42cyBlYXNlIGZvcndhcmRzOwogICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIH0KCiAgICAgICAgLnNlY3Rpb246bnRoLWNoaWxkKDEpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjFzOyB9CiAgICAgICAgLnNlY3Rpb246bnRoLWNoaWxkKDIpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjJzOyB9CiAgICAgICAgLnNlY3Rpb246bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyB9CiAgICAgICAgLnNlY3Rpb246bnRoLWNoaWxkKDQpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjRzOyB9CiAgICAgICAgLnNlY3Rpb246bnRoLWNoaWxkKDUpIHsgYW5pbWF0aW9uLWRlbGF5OiAwLjVzOyB9CgogICAgICAgIEBrZXlmcmFtZXMgc2xpZGVVcCB7CiAgICAgICAgICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH0KICAgICAgICAgICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgICAgICB9CgogICAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDsKICAgICAgICB9CgogICAgICAgIC5zZWN0aW9uLWhlYWRlciBoMyB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEdhcmFtb25kJywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tbGFrZS1kZWVwKTsKICAgICAgICB9CgogICAgICAgIC5zZWN0aW9uLWxpbmUgewogICAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgICBoZWlnaHQ6IDJweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1sYWtlLWxpZ2h0KSwgdHJhbnNwYXJlbnQpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgfQoKICAgICAgICAvKiBWaWRlbyBTZWN0aW9uICovCiAgICAgICAgLnZpZGVvLWNvbnRhaW5lciB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsKICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbGFrZS1taXN0KSwgdmFyKC0tc2FuZC13YXJtKSk7CiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYvOTsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLnZpZGVvLWNvbnRhaW5lcjpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCA0MHB4IHJnYmEoNDQsIDk1LCAxMjQsIDAuMik7CiAgICAgICAgfQoKICAgICAgICAudmlkZW8tcGxhY2Vob2xkZXIgewogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbGFrZS1kZWVwKSwgdmFyKC0tbGFrZS1tZWRpdW0pKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgICB9CgogICAgICAgIC5wbGF5LWJ1dHRvbiB7CiAgICAgICAgICAgIHdpZHRoOiA3MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDcwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvcmFsLXdhcm0pOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMjVweCByZ2JhKDIzMiwgMTE4LCAxMDksIDAuNCk7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAudmlkZW8tY29udGFpbmVyOmhvdmVyIC5wbGF5LWJ1dHRvbiB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMzVweCByZ2JhKDIzMiwgMTE4LCAxMDksIDAuNSk7CiAgICAgICAgfQoKICAgICAgICAudmlkZW8tdGV4dCB7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIH0KCiAgICAgICAgLnZpZGVvLXN1YnRleHQgewogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgICB9CgogICAgICAgIC8qIENvbnRhY3QgSXRlbXMgKi8KICAgICAgICAuY29udGFjdC1pdGVtIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgcGFkZGluZzogMTZweCAxOHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYW5kLWxpZ2h0KTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LWl0ZW06aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1sYWtlLWZvYW0pOwogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWxha2UtbGlnaHQpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LWl0ZW06bGFzdC1jaGlsZCB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1pY29uIHsKICAgICAgICAgICAgd2lkdGg6IDUycHg7CiAgICAgICAgICAgIGhlaWdodDogNTJweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbGFrZS1kZWVwKSwgdmFyKC0tbGFrZS1tZWRpdW0pKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7CiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtZGV0YWlscyB7CiAgICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1sYWJlbCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXNsYXRlKTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LXZhbHVlIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jaGFyY29hbCk7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1hcnJvdyB7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1sYWtlLW1lZGl1bSk7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOwogICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtaXRlbTpob3ZlciAuY29udGFjdC1hcnJvdyB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOwogICAgICAgIH0KCiAgICAgICAgLyogUXVpY2sgQWN0aW9ucyAqLwogICAgICAgIC5xdWljay1hY3Rpb25zIHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OwogICAgICAgIH0KCiAgICAgICAgLmFjdGlvbi1idG4gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDIycHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjA1cmVtOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLmJ0bi1wcmltYXJ5IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29yYWwtd2FybSksIHZhcigtLWNvcmFsLXNvZnQpKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDIzMiwgMTE4LCAxMDksIDAuMyk7CiAgICAgICAgfQoKICAgICAgICAuYnRuLXByaW1hcnk6aG92ZXIgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgyMzIsIDExOCwgMTA5LCAwLjQpOwogICAgICAgIH0KCiAgICAgICAgLmJ0bi1zZWNvbmRhcnkgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1sYWtlLWRlZXApLCB2YXIoLS1sYWtlLW1lZGl1bSkpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxNXB4IHJnYmEoNDQsIDk1LCAxMjQsIDAuMyk7CiAgICAgICAgfQoKICAgICAgICAuYnRuLXNlY29uZGFyeTpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDQ0LCA5NSwgMTI0LCAwLjQpOwogICAgICAgIH0KCiAgICAgICAgLyogU2VydmljZSBBcmVhIFNlY3Rpb24gKi8KICAgICAgICAuc2VydmljZS1hcmVhIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLmFyZWEtYmFkZ2UgewogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1sYWtlLWZvYW0pLCB2YXIoLS1zYW5kLXdhcm0pKTsKICAgICAgICAgICAgcGFkZGluZzogMThweCAyOHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1sYWtlLWxpZ2h0KTsKICAgICAgICB9CgogICAgICAgIC5hcmVhLWljb24gewogICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTsKICAgICAgICB9CgogICAgICAgIC5hcmVhLXRleHQgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1sYWtlLWRlZXApOwogICAgICAgIH0KCiAgICAgICAgLmFyZWEtY2l0aWVzIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIH0KCiAgICAgICAgLmNpdHktdGFnIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2FuZC1saWdodCk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zbGF0ZSk7CiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxha2UtbWlzdCk7CiAgICAgICAgfQoKICAgICAgICAvKiBDYXJkIEFjdGlvbnMgU2VjdGlvbiAqLwogICAgICAgIC5jYXJkLWFjdGlvbnMgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWFjdGlvbi1idG4gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAyMnB4IDE4cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNhbmQtbGlnaHQpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jaGFyY29hbCk7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIH0KCiAgICAgICAgLmNhcmQtYWN0aW9uLWJ0bjpob3ZlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWxha2UtZm9hbSk7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbGFrZS1saWdodCk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWFjdGlvbi1pY29uIHsKICAgICAgICAgICAgd2lkdGg6IDU1cHg7CiAgICAgICAgICAgIGhlaWdodDogNTVweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbGFrZS1kZWVwKSwgdmFyKC0tbGFrZS1tZWRpdW0pKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07CiAgICAgICAgfQoKICAgICAgICAuY2FyZC1hY3Rpb24tdGV4dCB7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNoYXJjb2FsKTsKICAgICAgICB9CgogICAgICAgIC5xci1saW5rIHsKICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICAgICAgZ2FwOiAxOHB4OwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIycHg7CiAgICAgICAgfQoKICAgICAgICAucXItbGluayAuY2FyZC1hY3Rpb24taWNvbiB7CiAgICAgICAgICAgIHdpZHRoOiA1MnB4OwogICAgICAgICAgICBoZWlnaHQ6IDUycHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb3JhbC13YXJtKSwgdmFyKC0tY29yYWwtc29mdCkpOwogICAgICAgIH0KCiAgICAgICAgLnFyLWxpbmstY29udGVudCB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgfQoKICAgICAgICAucXItbGluay1jb250ZW50IC5jYXJkLWFjdGlvbi10ZXh0IHsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4OwogICAgICAgIH0KCiAgICAgICAgLnFyLWxpbmstY29udGVudCAuY2FyZC1hY3Rpb24tc3VidGV4dCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tc2xhdGUpOwogICAgICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIH0KCiAgICAgICAgLyogRm9vdGVyICovCiAgICAgICAgLmZvb3RlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4OwogICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci1icm9rZXJhZ2UgewogICAgICAgICAgICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBHYXJhbW9uZCcsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWxha2UtZGVlcCk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDsKICAgICAgICB9CgogICAgICAgIC5mb290ZXItYWRkcmVzcyB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXNsYXRlKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICB9CgogICAgICAgIC5mb290ZXItcG93ZXJlZCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tc2xhdGUpOwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci1wb3dlcmVkIGEgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tbGFrZS1tZWRpdW0pOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLXBvd2VyZWQgYTpob3ZlciB7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci1jb3B5cmlnaHQgewogICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zbGF0ZSk7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgICB9CgogICAgICAgIC8qIFJlc3BvbnNpdmUgKi8KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHsKICAgICAgICAgICAgLm5hbWUgewogICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAudGFnbGluZS1zZXJ2aWNlcyB7CiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAuc2VydmljZS1kaXZpZGVyIHsKICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIC5xdWljay1hY3Rpb25zIHsKICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAuY2FyZC1hY3Rpb25zIHsKICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAucXItbGluayB7CiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8IS0tIFdhdGVyY29sb3IgQmFja2dyb3VuZCAtLT4KICAgIDxkaXYgY2xhc3M9IndhdGVyY29sb3ItYmciPjwvZGl2PgogICAgCiAgICA8IS0tIFdhdmUgRGVjb3JhdGlvbiAtLT4KICAgIDxkaXYgY2xhc3M9IndhdmUtZGVjb3JhdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0id2F2ZSI+PC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIAogICAgICAgIDwhLS0gSGVhZGVyIC0tPgogICAgICAgIDxoZWFkZXIgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW0tYmFkZ2UiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1sYWJlbCI+VEVBTTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVhbS1uYW1lIj5IYWRkZW48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9maWxlLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9maWxlLXJpbmciPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZmlsZS1pbWFnZSI+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBIb3VzZSBJY29uIC0tPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDVyZW07Ij7wn4+hPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPGgxIGNsYXNzPSJuYW1lIj5DaHJpcyBIYWRkZW48L2gxPgogICAgICAgICAgICA8cCBjbGFzcz0idGl0bGUiPlJFQUxUT1LCrjwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9ImJyb2tlcmFnZSI+SmFxdWEgUmVhbHRvcnM8L3A+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0aWZpY2F0aW9ucyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2VydC1iYWRnZSI+R1JJPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNlcnQtYmFkZ2UiPkNSU8KuPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNlcnQtYmFkZ2UiPlNSRVPCrjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjZXJ0LWJhZGdlIj5BSFdEwq48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvaGVhZGVyPgoKICAgICAgICA8IS0tIFRhZ2xpbmUgU2VjdGlvbiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWdsaW5lLXNlY3Rpb24iPgogICAgICAgICAgICA8cCBjbGFzcz0idGFnbGluZS1sb2NhdGlvbiI+8J+MiiBTZXJ2aW5nIFNvdXRod2VzdCBNaWNoaWdhbjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFnbGluZS1zZXJ2aWNlcyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZXJ2aWNlLWljb24iPvCfj6A8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+QnV5PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VydmljZS1kaXZpZGVyIj7igKI8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZXJ2aWNlLWljb24iPvCflJE8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+U2VsbDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlcnZpY2UtZGl2aWRlciI+4oCiPC9zcGFuPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VydmljZS1pY29uIj7wn5OIPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPkludmVzdDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBWaWRlbyBTZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBzdHlsZT0iYW5pbWF0aW9uLWRlbGF5OiAwLjFzOyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMz7wn46sIE1lZXQgQ2hyaXM8L2gzPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1saW5lIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJ2aWRlby1jb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tcGxhY2Vob2xkZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXktYnV0dG9uIj7ilrY8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idmlkZW8tdGV4dCI+V2F0Y2ggTXkgSW50cm9kdWN0aW9uPC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ2aWRlby1zdWJ0ZXh0Ij5EaXNjb3ZlciBob3cgSSBjYW4gaGVscCB5b3UgZmluZCB5b3VyIGRyZWFtIGhvbWU8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9hPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPCEtLSBRdWljayBDb250YWN0IC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBzdHlsZT0iYW5pbWF0aW9uLWRlbGF5OiAwLjJzOyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMz7wn5OxIENvbm5lY3QgV2l0aCBNZTwvaDM+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxpbmUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxhIGhyZWY9InRlbDorMTI2OTM0MTI4NzAiIGNsYXNzPSJjb250YWN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7wn5OePC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtbGFiZWwiPkNlbGwgUGhvbmU8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LXZhbHVlIj4oMjY5KSAzNDEtMjg3MDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29udGFjdC1hcnJvdyI+4oaSPC9zcGFuPgogICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIAogICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86Y2hhZGRlbkBqYXF1YXJlYWx0b3JzLmNvbSIgY2xhc3M9ImNvbnRhY3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWljb24iPuKcie+4jzwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1kZXRhaWxzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWxhYmVsIj5FbWFpbDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtdmFsdWUiPmNoYWRkZW5AamFxdWFyZWFsdG9ycy5jb208L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAKICAgICAgICAgICAgPGEgaHJlZj0ic21zOisxMjY5MzQxMjg3MCIgY2xhc3M9ImNvbnRhY3QtaXRlbSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWljb24iPvCfkqw8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtZGV0YWlscyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1sYWJlbCI+VGV4dCBNZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtdmFsdWUiPlNlbmQgYSBRdWljayBNZXNzYWdlPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb250YWN0LWFycm93Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InF1aWNrLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0idGVsOisxMjY5MzQxMjg3MCIgY2xhc3M9ImFjdGlvbi1idG4gYnRuLXByaW1hcnkiPgogICAgICAgICAgICAgICAgICAgIPCfk54gQ2FsbCBOb3cKICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpjaGFkZGVuQGphcXVhcmVhbHRvcnMuY29tIiBjbGFzcz0iYWN0aW9uLWJ0biBidG4tc2Vjb25kYXJ5Ij4KICAgICAgICAgICAgICAgICAgICDinInvuI8gRW1haWwKICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIFNlcnZpY2UgQXJlYSAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgc3R5bGU9ImFuaW1hdGlvbi1kZWxheTogMC4zczsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8aDM+8J+Xuu+4jyBTZXJ2aWNlIEFyZWE8L2gzPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1saW5lIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtYXJlYSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmVhLWJhZGdlIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXJlYS1pY29uIj7wn4yyPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhcmVhLXRleHQiPlNvdXRod2VzdCBNaWNoaWdhbiBMYWtlIENvdW50cnk8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFyZWEtY2l0aWVzIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2l0eS10YWciPlBvcnRhZ2U8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNpdHktdGFnIj5LYWxhbWF6b288L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNpdHktdGFnIj5NYXR0YXdhbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2l0eS10YWciPlJpY2hsYW5kPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjaXR5LXRhZyI+R3VsbCBMYWtlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjaXR5LXRhZyI+JiBTdXJyb3VuZGluZyBBcmVhczwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gT2ZmaWNlIExvY2F0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBzdHlsZT0iYW5pbWF0aW9uLWRlbGF5OiAwLjRzOyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMz7wn5ONIE9mZmljZTwvaDM+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxpbmUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vbWFwcy5nb29nbGUuY29tLz9xPTQxNCtXK01pbGhhbStBdmUrUG9ydGFnZStNSSs0OTAyNCIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJjb250YWN0LWl0ZW0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7wn4+iPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtbGFiZWwiPkphcXVhIFJlYWx0b3JzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC12YWx1ZSI+NDE0IFcuIE1pbGhhbSBBdmUsIFBvcnRhZ2UsIE1JIDQ5MDI0PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb250YWN0LWFycm93Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gQ2FyZCBBY3Rpb25zOiBEb3dubG9hZCwgU2hhcmUsIFFSIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBzdHlsZT0iYW5pbWF0aW9uLWRlbGF5OiAwLjVzOyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgICAgIDxoMz7wn5OyIFNhdmUgJiBTaGFyZTwvaDM+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxpbmUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1hY3Rpb25zIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJjYXJkLWFjdGlvbi1idG4iIG9uY2xpY2s9ImFsZXJ0KCdEb3dubG9hZCBjb250YWN0IGZlYXR1cmUgY29taW5nIHNvb24hJykiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYWN0aW9uLWljb24iPuKsh++4jzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLWFjdGlvbi10ZXh0Ij5Eb3dubG9hZCBDYXJkPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImNhcmQtYWN0aW9uLWJ0biIgb25jbGljaz0ibmF2aWdhdG9yLnNoYXJlID8gbmF2aWdhdG9yLnNoYXJlKHt0aXRsZTogJ0NocmlzIEhhZGRlbiAtIFJFQUxUT1LCricsIHRleHQ6ICdDb25uZWN0IHdpdGggQ2hyaXMgSGFkZGVuIGF0IEphcXVhIFJlYWx0b3JzJywgdXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZn0pIDogYWxlcnQoJ1NoYXJlIHRoaXMgbGluazogJyArIHdpbmRvdy5sb2NhdGlvbi5ocmVmKSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1hY3Rpb24taWNvbiI+8J+TpDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLWFjdGlvbi10ZXh0Ij5TaGFyZSBDYXJkPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9hZGRxcmNvZGVsaW5rLmNvbS8iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iY2FyZC1hY3Rpb24tYnRuIHFyLWxpbmsiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYWN0aW9uLWljb24iPvCfk7E8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJxci1saW5rLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC1hY3Rpb24tdGV4dCI+VGFwIGZvciBRUiBDb2RlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC1hY3Rpb24tc3VidGV4dCI+U2NhbiB0byBzYXZlIG15IGNvbnRhY3QgaW5zdGFudGx5PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gRm9vdGVyIC0tPgogICAgICAgIDxmb290ZXIgY2xhc3M9ImZvb3RlciI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJmb290ZXItYnJva2VyYWdlIj5KYXF1YSBSZWFsdG9yczwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9ImZvb3Rlci1hZGRyZXNzIj4KICAgICAgICAgICAgICAgIDQxNCBXLiBNaWxoYW0gQXZlPGJyPgogICAgICAgICAgICAgICAgUG9ydGFnZSwgTUkgNDkwMjQKICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAKICAgICAgICAgICAgPHAgY2xhc3M9ImZvb3Rlci1wb3dlcmVkIj4KICAgICAgICAgICAgICAgIFBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cHM6Ly9icmFuZGhhbmRzaGFrZS5jb20iIHRhcmdldD0iX2JsYW5rIj5CcmFuZCBIYW5kc2hha2U8L2E+CiAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9ImZvb3Rlci1jb3B5cmlnaHQiPgogICAgICAgICAgICAgICAgwqkgMjAyNiBDaHJpcyBIYWRkZW4gfCBUZWFtIEhhZGRlbiB8IEFsbCBSaWdodHMgUmVzZXJ2ZWQKICAgICAgICAgICAgPC9wPgogICAgICAgIDwvZm9vdGVyPgogICAgICAgIAogICAgPC9kaXY+CjwvYm9keT4KPC9odG1sPg==","embed":""}
TEAM
Hadden
🏡
Chris Hadden
REALTOR®
Jaqua Realtors
GRI
CRS®
SRES®
AHWD®
🌊 Serving Southwest Michigan
🏠
Buy
•
🔑
Sell
•
📈
Invest
🎬 Meet Chris
▶
Watch My Introduction
Discover how I can help you find your dream home
📱 Connect With Me
📞
Cell Phone
(269) 341-2870
✉️
Email
chadden@jaquarealtors.com
💬
Text Me
Send a Quick Message
🗺️ Service Area
🌲
Southwest Michigan Lake Country
Portage
Kalamazoo
Mattawan
Richland
Gull Lake
& Surrounding Areas
📍 Office
🏢
Jaqua Realtors
414 W. Milham Ave, Portage, MI 49024