{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICAKICAgIDwhLS0gUHJpbWFyeSBNZXRhIFRhZ3MgLS0+CiAgICA8dGl0bGU+QW5keSBTaXZpbHMgfCBSRUFMVE9Swq4gfCBSb3ktTWlsbGVyIFRlYW0gfCBCZXJrc2hpcmUgSGF0aGF3YXkgSG9tZVNlcnZpY2VzPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9InRpdGxlIiBjb250ZW50PSJBbmR5IFNpdmlscyB8IFJFQUxUT1LCriB8IFJveS1NaWxsZXIgVGVhbSB8IEJlcmtzaGlyZSBIYXRoYXdheSBIb21lU2VydmljZXMiPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IllvdXIgdHJ1c3RlZCByZWFsIGVzdGF0ZSBwYXJ0bmVyIGluIFNvdXRod2VzdCBNaWNoaWdhbi4gQW5keSBTaXZpbHMgd2l0aCB0aGUgUm95LU1pbGxlciBUZWFtIC0gVG9wIDEwIFJlYWwgRXN0YXRlIFRlYW0gaW4gdGhlIFVTQS4gWmlsbG93IFByZW1pZXIgQWdlbnQuIFBvcnRhZ2UgJiBLYWxhbWF6b28gc3BlY2lhbGlzdC4iPgogICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IkFuZHkgU2l2aWxzLCBSb3ktTWlsbGVyIFRlYW0sIEJlcmtzaGlyZSBIYXRoYXdheSwgS2FsYW1hem9vIFJlYWx0b3IsIFBvcnRhZ2UgUmVhbCBFc3RhdGUsIFNvdXRod2VzdCBNaWNoaWdhbiBIb21lcywgWmlsbG93IFByZW1pZXIgQWdlbnQiPgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJBbmR5IFNpdmlscyI+CiAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9ImluZGV4LCBmb2xsb3ciPgogICAgCiAgICA8IS0tIE9wZW4gR3JhcGggLyBGYWNlYm9vayAtLT4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJwcm9maWxlIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vYnJhbmRoYW5kc2hha2UuY29tL2FuZHktc2l2aWxzIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iQW5keSBTaXZpbHMgfCBSRUFMVE9Swq4gfCBSb3ktTWlsbGVyIFRlYW0iPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSLwn4+hIFlvdXIgdHJ1c3RlZCByZWFsIGVzdGF0ZSBwYXJ0bmVyIGluIFNvdXRod2VzdCBNaWNoaWdhbi4gVG9wIDEwIFRlYW0gaW4gdGhlIFVTQS4gWmlsbG93IFByZW1pZXIgQWdlbnQuIj4KICAgIAogICAgPCEtLSBUaGVtZSBDb2xvciAtLT4KICAgIDxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjMWExYTFhIj4KICAgIAogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KICAgIDxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVBsYXlmYWlyK0Rpc3BsYXk6d2dodEA0MDA7NTAwOzYwMDs3MDAmZmFtaWx5PU1vbnRzZXJyYXQ6d2dodEAzMDA7NDAwOzUwMDs2MDA7NzAwJmRpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIAogICAgPHN0eWxlPgogICAgICAgIDpyb290IHsKICAgICAgICAgICAgLS1ibGFjazogIzFhMWExYTsKICAgICAgICAgICAgLS1jaGFyY29hbDogIzJkMmQyZDsKICAgICAgICAgICAgLS1kYXJrLWdyYXk6ICM0MDQwNDA7CiAgICAgICAgICAgIC0tbWVkaXVtLWdyYXk6ICM2YjZiNmI7CiAgICAgICAgICAgIC0tbGlnaHQtZ3JheTogI2EwYTBhMDsKICAgICAgICAgICAgLS1zaWx2ZXI6ICNlMGUwZTA7CiAgICAgICAgICAgIC0tb2ZmLXdoaXRlOiAjZjVmNWY1OwogICAgICAgICAgICAtLXdoaXRlOiAjRkZGRkZGOwogICAgICAgICAgICAtLWJ1cmd1bmR5OiAjNzIyRjM3OwogICAgICAgICAgICAtLWJ1cmd1bmR5LWxpZ2h0OiAjOEIzQTQyOwogICAgICAgICAgICAtLWdvbGQtYWNjZW50OiAjQzlBMjI3OwogICAgICAgIH0KCiAgICAgICAgKiB7CiAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CgogICAgICAgIGJvZHkgewogICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vZmYtd2hpdGUpOwogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLyogU3VidGxlIFBhdHRlcm4gQmFja2dyb3VuZCAqLwogICAgICAgIC5wYXR0ZXJuLWJnIHsKICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgICB0b3A6IDA7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHotaW5kZXg6IDA7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IAogICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tb2ZmLXdoaXRlKSAwJSwgdmFyKC0tc2lsdmVyKSA1MCUsIHZhcigtLW9mZi13aGl0ZSkgMTAwJSk7CiAgICAgICAgfQoKICAgICAgICAuY29udGFpbmVyIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICAgICAgbWF4LXdpZHRoOiA0MjBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMjBweDsKICAgICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgfQoKICAgICAgICAvKiBDYXJkIENvbnRhaW5lciAqLwogICAgICAgIC5jYXJkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDI1cHg7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IAogICAgICAgICAgICAgICAgMCAxNXB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwKICAgICAgICAgICAgICAgIDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2lsdmVyKTsKICAgICAgICAgICAgYW5pbWF0aW9uOiBjYXJkRmxvYXQgMC44cyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBjYXJkRmxvYXQgewogICAgICAgICAgICBmcm9tIHsgCiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOyAKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTsgCiAgICAgICAgICAgIH0KICAgICAgICAgICAgdG8geyAKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IAogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyAKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyogSGVhZGVyICovCiAgICAgICAgLmhlYWRlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgICB9CgogICAgICAgIC8qIFByb2ZpbGUgSW1hZ2UgKi8KICAgICAgICAucHJvZmlsZS1jb250YWluZXIgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxNjBweDsKICAgICAgICAgICAgaGVpZ2h0OiAxNjBweDsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDsKICAgICAgICB9CgogICAgICAgIC5wcm9maWxlLXJpbmcgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRvcDogLTZweDsKICAgICAgICAgICAgbGVmdDogLTZweDsKICAgICAgICAgICAgd2lkdGg6IDE3MnB4OwogICAgICAgICAgICBoZWlnaHQ6IDE3MnB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNoYXJjb2FsKSwgdmFyKC0tYnVyZ3VuZHkpKTsKICAgICAgICAgICAgb3BhY2l0eTogMC45OwogICAgICAgIH0KCiAgICAgICAgLnByb2ZpbGUtaW1hZ2UgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxNjBweDsKICAgICAgICAgICAgaGVpZ2h0OiAxNjBweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1zaWx2ZXIpLCB2YXIoLS1vZmYtd2hpdGUpKTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLXdoaXRlKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMik7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICAucHJvZmlsZS1pbWFnZSBpbWcgewogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICB9CgogICAgICAgIC8qIE5hbWUgJiBUaXRsZSAqLwogICAgICAgIC5uYW1lIHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2spOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tYnVyZ3VuZHkpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgICAgfQoKICAgICAgICAuYnJva2VyYWdlIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tbWVkaXVtLWdyYXkpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgfQoKICAgICAgICAudGVhbSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgIH0KCiAgICAgICAgLyogQmFkZ2VzICovCiAgICAgICAgLmJhZGdlcyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgfQoKICAgICAgICAuYmFkZ2UgewogICAgICAgICAgICBwYWRkaW5nOiA2cHggMTRweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgICAgfQoKICAgICAgICAuYmFkZ2UtemlsbG93IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwNkFGRiwgIzAwNTFDQyk7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7CiAgICAgICAgfQoKICAgICAgICAuYmFkZ2UtdG9wMTAgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkLWFjY2VudCksICNCODkyMkEpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2spOwogICAgICAgIH0KCiAgICAgICAgLyogRGl2aWRlciAqLwogICAgICAgIC5kaXZpZGVyIHsKICAgICAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHZhcigtLXNpbHZlciksIHRyYW5zcGFyZW50KTsKICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDA7CiAgICAgICAgfQoKICAgICAgICAvKiBUYWdsaW5lICovCiAgICAgICAgLnRhZ2xpbmUgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7CiAgICAgICAgfQoKICAgICAgICAudGFnbGluZS10ZXh0IHsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2VyaWY7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgICAgfQoKICAgICAgICAudGFnbGluZS1zZXJ2aWNlcyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDI1cHg7CiAgICAgICAgfQoKICAgICAgICAuc2VydmljZS1pdGVtIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLnNlcnZpY2UtaWNvbiB7CiAgICAgICAgICAgIHdpZHRoOiA1MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWJsYWNrKSwgdmFyKC0tY2hhcmNvYWwpKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDhweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMik7CiAgICAgICAgfQoKICAgICAgICAuc2VydmljZS10ZXh0IHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgIH0KCiAgICAgICAgLyogQ29udGFjdCBTZWN0aW9uICovCiAgICAgICAgLmNvbnRhY3Qtc2VjdGlvbiB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1pdGVtIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgcGFkZGluZzogMTZweCAxOHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vZmYtd2hpdGUpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jaGFyY29hbCk7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtaXRlbTpob3ZlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idXJndW5keSk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LWl0ZW06bGFzdC1jaGlsZCB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1pY29uIHsKICAgICAgICAgICAgd2lkdGg6IDUwcHg7CiAgICAgICAgICAgIGhlaWdodDogNTBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYmxhY2spLCB2YXIoLS1jaGFyY29hbCkpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07CiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsKICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAuY29udGFjdC1kZXRhaWxzIHsKICAgICAgICAgICAgZmxleDogMTsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LWxhYmVsIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1tZWRpdW0tZ3JheSk7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICB9CgogICAgICAgIC5jb250YWN0LXZhbHVlIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjA1cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtYXJyb3cgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tYnVyZ3VuZHkpOwogICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsKICAgICAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRhY3QtaXRlbTpob3ZlciAuY29udGFjdC1hcnJvdyB7CiAgICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOwogICAgICAgIH0KCiAgICAgICAgLyogQWN0aW9uIEJ1dHRvbnMgKi8KICAgICAgICAuYWN0aW9uLWJ1dHRvbnMgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgICAgICB9CgogICAgICAgIC5hY3Rpb24tYnRuIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgICB9CgogICAgICAgIC5idG4tY2FsbCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWJ1cmd1bmR5KSwgdmFyKC0tYnVyZ3VuZHktbGlnaHQpKTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDExNCwgNDcsIDU1LCAwLjMpOwogICAgICAgIH0KCiAgICAgICAgLmJ0bi1jYWxsOmhvdmVyIHsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyNXB4IHJnYmEoMTE0LCA0NywgNTUsIDAuNCk7CiAgICAgICAgfQoKICAgICAgICAuYnRuLWVtYWlsIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYmxhY2spLCB2YXIoLS1jaGFyY29hbCkpOwogICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpOwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgICAgICB9CgogICAgICAgIC5idG4tZW1haWw6aG92ZXIgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgICAgIH0KCiAgICAgICAgLyogU29jaWFsIExpbmtzICovCiAgICAgICAgLnNvY2lhbC1zZWN0aW9uIHsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7CiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1zaWx2ZXIpOwogICAgICAgIH0KCiAgICAgICAgLnNvY2lhbC10aXRsZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLW1lZGl1bS1ncmF5KTsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgICAgIH0KCiAgICAgICAgLnNvY2lhbC1saW5rcyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgfQoKICAgICAgICAuc29jaWFsLWxpbmsgewogICAgICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vZmYtd2hpdGUpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1zaWx2ZXIpOwogICAgICAgIH0KCiAgICAgICAgLnNvY2lhbC1saW5rOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmxhY2spOwogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJsYWNrKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpOwogICAgICAgIH0KCiAgICAgICAgLyogQ2FyZCBBY3Rpb25zIFNlY3Rpb24gKi8KICAgICAgICAuY2FyZC1hY3Rpb25zIHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4OwogICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tc2lsdmVyKTsKICAgICAgICB9CgogICAgICAgIC5jYXJkLWFjdGlvbi1idG4gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggMTVweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tb2ZmLXdoaXRlKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tY2hhcmNvYWwpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLmNhcmQtYWN0aW9uLWJ0bjpob3ZlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idXJndW5keSk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgICAgfQoKICAgICAgICAuY2FyZC1hY3Rpb24taWNvbiB7CiAgICAgICAgICAgIHdpZHRoOiA1MHB4OwogICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWJsYWNrKSwgdmFyKC0tY2hhcmNvYWwpKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07CiAgICAgICAgfQoKICAgICAgICAuY2FyZC1hY3Rpb24tdGV4dCB7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNoYXJjb2FsKTsKICAgICAgICB9CgogICAgICAgIC5xci1saW5rIHsKICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICAgICAgZ2FwOiAxNXB4OwogICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDE4cHg7CiAgICAgICAgfQoKICAgICAgICAucXItbGluayAuY2FyZC1hY3Rpb24taWNvbiB7CiAgICAgICAgICAgIHdpZHRoOiA0OHB4OwogICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1idXJndW5keSksIHZhcigtLWJ1cmd1bmR5LWxpZ2h0KSk7CiAgICAgICAgfQoKICAgICAgICAucXItbGluay1jb250ZW50IHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICB9CgogICAgICAgIC5xci1saW5rLWNvbnRlbnQgLmNhcmQtYWN0aW9uLXRleHQgewogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgICAgICAgfQoKICAgICAgICAucXItbGluay1jb250ZW50IC5jYXJkLWFjdGlvbi1zdWJ0ZXh0IHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tbWVkaXVtLWdyYXkpOwogICAgICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIH0KCiAgICAgICAgLyogRm9vdGVyICovCiAgICAgICAgLmZvb3RlciB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgcGFkZGluZzogMjVweCAxNXB4IDE1cHg7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLWJyb2tlcmFnZSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWNoYXJjb2FsKTsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4OwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci10ZWFtIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1tZWRpdW0tZ3JheSk7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICB9CgogICAgICAgIC5mb290ZXItYWRkcmVzcyB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tbWVkaXVtLWdyYXkpOwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci1wb3dlcmVkIHsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtOwogICAgICAgICAgICBjb2xvcjogdmFyKC0tbWVkaXVtLWdyYXkpOwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci1wb3dlcmVkIGEgewogICAgICAgICAgICBjb2xvcjogdmFyKC0tYnVyZ3VuZHkpOwogICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgfQoKICAgICAgICAuZm9vdGVyLXBvd2VyZWQgYTpob3ZlciB7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIH0KCiAgICAgICAgLmZvb3Rlci1jb3B5cmlnaHQgewogICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTsKICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LWdyYXkpOwogICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgfQoKICAgICAgICAvKiBSZXNwb25zaXZlICovCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM4MHB4KSB7CiAgICAgICAgICAgIC5jb250YWluZXIgewogICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLmNhcmQgewogICAgICAgICAgICAgICAgcGFkZGluZzogMjVweCAyMHB4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAubmFtZSB7CiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMXJlbTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgLmFjdGlvbi1idXR0b25zIHsKICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAuY2FyZC1hY3Rpb25zIHsKICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAucXItbGluayB7CiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8IS0tIFBhdHRlcm4gQmFja2dyb3VuZCAtLT4KICAgIDxkaXYgY2xhc3M9InBhdHRlcm4tYmciPjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgCiAgICAgICAgPCEtLSBNYWluIENhcmQgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICAgIAogICAgICAgICAgICA8IS0tIEhlYWRlciAtLT4KICAgICAgICAgICAgPGhlYWRlciBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2ZpbGUtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9maWxlLXJpbmciPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2ZpbGUtaW1hZ2UiPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEhvdXNlIEljb24gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDQuNXJlbTsiPvCfj6E8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJuYW1lIj5BbmR5IFNpdmlsczwvaDE+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGl0bGUiPlJFQUxUT1LCrjwvcD4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJicm9rZXJhZ2UiPkJlcmtzaGlyZSBIYXRoYXdheSBIb21lU2VydmljZXM8L3A+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGVhbSI+Um95LU1pbGxlciBUZWFtPC9wPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYWRnZXMiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS16aWxsb3ciPlppbGxvdyBQcmVtaWVyIEFnZW50PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS10b3AxMCI+8J+PhiBUb3AgMTAgVGVhbSBVU0E8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9oZWFkZXI+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXZpZGVyIj48L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gVGFnbGluZSAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFnbGluZSI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGFnbGluZS10ZXh0Ij4iWW91ciBUcnVzdGVkIFBhcnRuZXIgaW4gU291dGh3ZXN0IE1pY2hpZ2FuIjwvcD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhZ2xpbmUtc2VydmljZXMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaWNvbiI+8J+PoDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLXRleHQiPkJ1eTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaWNvbiI+8J+UkTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLXRleHQiPlNlbGw8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWljb24iPvCfk4g8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS10ZXh0Ij5JbnZlc3Q8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpdmlkZXIiPjwvZGl2PgoKICAgICAgICAgICAgPCEtLSBDb250YWN0IFNlY3Rpb24gLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3Qtc2VjdGlvbiI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxhIGhyZWY9InRlbDorMTI2OTUzNTI2NzgiIGNsYXNzPSJjb250YWN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaWNvbiI+8J+TnjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtZGV0YWlscyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtbGFiZWwiPkNlbGw8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC12YWx1ZSI+KDI2OSkgNTM1LTI2Nzg8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29udGFjdC1hcnJvdyI+4oaSPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86YW5keUByb3ltaWxsZXJ0ZWFtLmNvbSIgY2xhc3M9ImNvbnRhY3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7inInvuI88L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWxhYmVsIj5FbWFpbDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LXZhbHVlIj5hbmR5QHJveW1pbGxlcnRlYW0uY29tPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cucm95bWlsbGVycmVhbHRvcnMuY29tIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImNvbnRhY3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1pY29uIj7wn4yQPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1kZXRhaWxzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFjdC1sYWJlbCI+V2Vic2l0ZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LXZhbHVlIj5yb3ltaWxsZXJyZWFsdG9ycy5jb208L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29udGFjdC1hcnJvdyI+4oaSPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL21hcHMuZ29vZ2xlLmNvbS8/cT01ODM5K09ha2xhbmQrRHIrUG9ydGFnZStNSSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJjb250YWN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtaWNvbiI+8J+TjTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtZGV0YWlscyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtbGFiZWwiPk9mZmljZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LXZhbHVlIj41ODM5IE9ha2xhbmQgRHIsIFBvcnRhZ2UsIE1JPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnRhY3QtYXJyb3ciPuKGkjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9uLWJ1dHRvbnMiPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9InRlbDorMTI2OTUzNTI2NzgiIGNsYXNzPSJhY3Rpb24tYnRuIGJ0bi1jYWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAg8J+TniBDYWxsIE5vdwogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86YW5keUByb3ltaWxsZXJ0ZWFtLmNvbSIgY2xhc3M9ImFjdGlvbi1idG4gYnRuLWVtYWlsIj4KICAgICAgICAgICAgICAgICAgICAgICAg4pyJ77iPIEVtYWlsCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPCEtLSBTb2NpYWwgTGlua3MgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NpYWwtc2VjdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InNvY2lhbC10aXRsZSI+Q29ubmVjdCBXaXRoIE1lPC9wPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNvY2lhbC1saW5rcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRpa3Rvay5jb20vQGFuZHlzaXZpbHNyZWFsdG9yIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InNvY2lhbC1saW5rIiB0aXRsZT0iVGlrVG9rIj7wn461PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy56aWxsb3cuY29tL3Byb2ZpbGUvUm95TWlsbGVyVGVhbSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJzb2NpYWwtbGluayIgdGl0bGU9IlppbGxvdyI+8J+PoDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3JveW1pbGxlcnRlYW0iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0ic29jaWFsLWxpbmsiIHRpdGxlPSJGYWNlYm9vayI+8J+TmDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIExlYXZlIGEgUmV2aWV3IEJ1dHRvbiAtLT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vYnJhbmRoYW5kc2hha2UuY29tL2FuZHktc2l2aWxzLXJldmlld3MiIGNsYXNzPSJjb250YWN0LWl0ZW0iIHN0eWxlPSJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1nb2xkLWFjY2VudCksICNCODkyMkEpOyBib3JkZXI6IG5vbmU7IG1hcmdpbi10b3A6IDE1cHg7Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWljb24iIHN0eWxlPSJiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7Ij7irZA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWRldGFpbHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWxhYmVsIiBzdHlsZT0iY29sb3I6IHZhcigtLWJsYWNrKTsiPldlJ2QgTG92ZSBZb3VyIEZlZWRiYWNrPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3QtdmFsdWUiIHN0eWxlPSJjb2xvcjogdmFyKC0tYmxhY2spOyI+TGVhdmUgYSBSZXZpZXc8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29udGFjdC1hcnJvdyIgc3R5bGU9ImNvbG9yOiB2YXIoLS1ibGFjayk7Ij7ihpI8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgPCEtLSBDYXJkIEFjdGlvbnM6IERvd25sb2FkLCBTaGFyZSwgUVIgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJjYXJkLWFjdGlvbi1idG4iIG9uY2xpY2s9ImFsZXJ0KCdEb3dubG9hZCBjb250YWN0IGZlYXR1cmUgY29taW5nIHNvb24hJykiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWFjdGlvbi1pY29uIj7irIfvuI88L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtYWN0aW9uLXRleHQiPkRvd25sb2FkIENhcmQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJjYXJkLWFjdGlvbi1idG4iIG9uY2xpY2s9Im5hdmlnYXRvci5zaGFyZSA/IG5hdmlnYXRvci5zaGFyZSh7dGl0bGU6ICdBbmR5IFNpdmlscyAtIFJFQUxUT1LCricsIHRleHQ6ICdDb25uZWN0IHdpdGggQW5keSBTaXZpbHMgYXQgUm95LU1pbGxlciBUZWFtJywgdXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZn0pIDogYWxlcnQoJ1NoYXJlIHRoaXMgbGluazogJyArIHdpbmRvdy5sb2NhdGlvbi5ocmVmKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYWN0aW9uLWljb24iPvCfk6Q8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtYWN0aW9uLXRleHQiPlNoYXJlIENhcmQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vYWRkcXJjb2RlbGluay5jb20vIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImNhcmQtYWN0aW9uLWJ0biBxci1saW5rIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1hY3Rpb24taWNvbiI+8J+TsTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJxci1saW5rLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtYWN0aW9uLXRleHQiPlRhcCBmb3IgUVIgQ29kZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLWFjdGlvbi1zdWJ0ZXh0Ij5TY2FuIHRvIHNhdmUgbXkgY29udGFjdCBpbnN0YW50bHk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gRm9vdGVyIC0tPgogICAgICAgIDxmb290ZXIgY2xhc3M9ImZvb3RlciI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJmb290ZXItYnJva2VyYWdlIj5CZXJrc2hpcmUgSGF0aGF3YXkgSG9tZVNlcnZpY2VzPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0iZm9vdGVyLXRlYW0iPlJveS1NaWxsZXIgVGVhbTwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9ImZvb3Rlci1hZGRyZXNzIj4KICAgICAgICAgICAgICAgIDU4MzkgT2FrbGFuZCBEciDigKIgUG9ydGFnZSwgTUkKICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAKICAgICAgICAgICAgPHAgY2xhc3M9ImZvb3Rlci1wb3dlcmVkIj4KICAgICAgICAgICAgICAgIFBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cHM6Ly9icmFuZGhhbmRzaGFrZS5jb20iIHRhcmdldD0iX2JsYW5rIj5CcmFuZCBIYW5kc2hha2U8L2E+CiAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9ImZvb3Rlci1jb3B5cmlnaHQiPgogICAgICAgICAgICAgICAgwqkgMjAyNiBBbmR5IFNpdmlscyB8IFJveS1NaWxsZXIgVGVhbQogICAgICAgICAgICA8L3A+CiAgICAgICAgPC9mb290ZXI+CiAgICAgICAgCiAgICA8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+","embed":""}
🏡
Andy Sivils
REALTOR®
Berkshire Hathaway HomeServices
Roy-Miller Team
Zillow Premier Agent
🏆 Top 10 Team USA
"Your Trusted Partner in Southwest Michigan"
🏠
Buy
🔑
Sell
📈
Invest