PG1ldGEgbmFtZT0ndmlld3BvcnQnIGNvbnRlbnQ9J3dpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh bC1zY2FsZT0xLjAnPjxzdHlsZT5AZm9udC1mYWNlIHsKICAgIGZvbnQtZmFtaWx5OiAnUGFsYW5x dWluIERhcmsnOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC13ZWlnaHQ6IDQwMDsK ICAgIGZvbnQtZGlzcGxheTogc3dhcDsKICAgIHNyYzogdXJsKHBpY3R1cmVzL2F0bGFudHVzLndv ZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSsw MTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUr MjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEy LCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwogIH0KYm9keQp7CglvdmVyZmxvdzpoaWRkZW47CiAg ICBwb3NpdGlvbjogZml4ZWQ7CiAgICBmb250LWZhbWlseTogJ1BhbGFucXVpbiBEYXJrJywgc2Fu cy1zZXJpZjsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCggCjQ1ZGVnCiAsIGJsYWNr LCAjMDMwNTBlLCAjMGQxMTJmKTsKICAgIAogICAgICAgICAgICAKCWNvbG9yOndoaXRlOwoJbWFy Z2luOiAwcHg7CglsZWZ0OiAwcHg7Cgl0b3A6MHB4OwoJaGVpZ2h0OiAxMDAlOwoJd2lkdGg6MTAw JTsKfQoKLm5vdGlmaWNhdGlvbgp7CiAgICAgICAgd2lkdGg6IDkwJTsKICAgIHRleHQtYWxpZ246 IGNlbnRlcjsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1n cmFkaWVudCgKNDVkZWcKLCAjM2Y1MWI1LCAjOWMyN2IwKTsKICAgIGJvcmRlci1yYWRpdXM6IDVw eDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDUwJTsKICAgIHdoaXRlLXNwYWNl OiBub3dyYXA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBz aXM7CiAgICBoZWlnaHQ6IDM1cHg7CiAgICBwYWRkaW5nLXRvcDogNXB4OwogICAgZGlzcGxheTpu b25lOwogICAgei1pbmRleDogMjsKICAgIHRvcDogMTc2JTsKICAgIC13ZWJraXQtdHJhbnNmb3Jt OiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAt NTAlKTsKfQoKI2xvZ3N2aWV3CnsKCSAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAtd2Via2l0 LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xh dGUoLTUwJSwgLTUwJSk7CiAgICB0b3A6IDc0JTsKICAgIGxlZnQ6IDUwJTsKICAgIGhlaWdodDog NDBweDsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIHdpZHRoOiAyMDBweDsKICAgIHRleHQtYWxp Z246IGNlbnRlcjsKICAgIGNvbG9yOiAjY2NjOwogICAgb3ZlcmZsb3c6c2Nyb2xsOwp9CiNjb25u ZWN0aW5nCnsgICAKICBkaXNwbGF5OiAgbm9uZTsKICAgIG1hcmdpbi1sZWZ0OiA3cHg7CiAgICBj b2xvcjogIzc1YTJjNTsKfQojY29ubmVjdGVkCnsKCWRpc3BsYXk6bm9uZTsKICAgIGNvbG9yOiAj N2ZmZmRjOwp9Ci5sZHMtcmluZyB7CiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwb3NpdGlv bjogYWJzb2x1dGU7CiAgICBkaXNwbGF5Om5vbmU7CiAgICB0b3A6IC0xM3B4OwogICAgbGVmdDog LTEzcHg7Cn0KLmxkcy1yaW5nIGRpdiB7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAg ICBkaXNwbGF5OiBibG9jazsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxNjBw eDsKICAgIGhlaWdodDogMTYxcHg7CiAgICBtYXJnaW46IDhweDsKICAgIGJvcmRlcjogOHB4IHNv bGlkICMxZjMxMmY7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBhbmltYXRpb246IGxkcy1y aW5nIDEuMnMgY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC41LCAxKSBpbmZpbml0ZTsKICAgIGJvcmRl ci1jb2xvcjogI2NkZGMzOSAjY2RkYzM5OTkgI2NkZGMzOTQwICMwMDk2ODgzMDsKfQoubGRzLXJp bmcgZGl2Om50aC1jaGlsZCgxKSB7CiAgYW5pbWF0aW9uLWRlbGF5OiAtMC40NXM7Cn0KLmxkcy1y aW5nIGRpdjpudGgtY2hpbGQoMikgewogIGFuaW1hdGlvbi1kZWxheTogLTAuM3M7Cn0KLmxkcy1y aW5nIGRpdjpudGgtY2hpbGQoMykgewogIGFuaW1hdGlvbi1kZWxheTogLTAuMTVzOwp9CkBrZXlm cmFtZXMgbGRzLXJpbmcgewogIDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0K ICAxMDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgfQp9Ci5sZHMtZHVhbC1y aW5nIHsKIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOiA4MHB4OwogICAgaGVpZ2h0 OiA4MHB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbWFyZ2luLWxlZnQ6IC0zNXB4Owog ICAgbWFyZ2luLXRvcDogMXB4Owp9Ci5sZHMtZHVhbC1yaW5nOmFmdGVyIHsKICBjb250ZW50OiAi ICI7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxN3B4OwogICAgaGVpZ2h0OiAxN3B4 OwogICAgbWFyZ2luOiA4cHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXI6IDJw eCBzb2xpZCAjZmZmOwogICAgYm9yZGVyLWNvbG9yOiAjZmZmICNmZmY1ZjUzNiAjZmZmIHdoaXRl OwogICAgYW5pbWF0aW9uOiBsZHMtZHVhbC1yaW5nIDEuMnMgbGluZWFyIGluZmluaXRlOwp9CkBr ZXlmcmFtZXMgbGRzLWR1YWwtcmluZyB7CiAgMCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMGRl Zyk7CiAgfQogIDEwMCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICB9Cn0KCgou ZmxhZ3NlcnZlcgp7CgkgICBoZWlnaHQ6IDQ0cHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAg ICBsZWZ0OiAxMXB4OwogICAgdG9wOiAxMHB4Owp9Ci5zdWJzdGF0dXMKewogICAgZGlzcGxheTog aW5saW5lLWJsb2NrOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgcG9zaXRpb246IHJlbGF0aXZl OwogICAgbGVmdDogN3B4OwogICAgdG9wOiAwcHg7Cn0KLnN0YXR1c3NlcnZlcgp7CgkgICAgcG9z aXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7CiAgICB0b3A6IDYycHg7CiAgICBmb250 LXNpemU6IDE4cHg7CiAgICBjb2xvcjogIzllOWU5ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9j azsKICAgIGxlZnQ6IDBweDsKfQouYXJyb3dzZXJ2ZXIKewoJICBwb3NpdGlvbjogYWJzb2x1dGU7 CiAgICByaWdodDogMTNweDsKICAgIGhlaWdodDogMThweDsKICAgIHRvcDogMjRweDsKICAgIGZp bHRlcjogaW52ZXJ0KDEpOwp9CgouZGVzY3NlcnZlcgp7Cgl3aWR0aDogNTklOyAKCXRleHQtYWxp Z246IGxlZnQ7CgkgaGVpZ2h0OiAyMnB4OwoJIHdoaXRlLXNwYWNlOiBub3dyYXA7CgkgIG92ZXJm bG93OiBoaWRkZW47CgkgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CgkgcG9zaXRpb246IGFic29s dXRlOwogICAgdG9wOiAzMXB4OwoJICBmb250LXNpemU6IDEzcHg7CgkgICBsZWZ0OiA3N3B4OwoJ ICAgIGNvbG9yOiAjY2NjOwp9CgoubmFtZXNlcnZlcgp7Cglwb3NpdGlvbjogYWJzb2x1dGU7CiAg ICB0b3A6IDVweDsKICAgIGZvbnQtc2l6ZTogMTlweDsKICAgIHdpZHRoOiA2NCU7CiAgICB0ZXh0 LWFsaWduOiBsZWZ0OwogICAgbGVmdDogNzdweDsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAg ICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7Cn0KLnNlbGVj dGVkc2VydmVyCnsKCSAgYmFja2dyb3VuZDogIzBjMTAyOTsKICAgIHdpZHRoOiAzMzBweDsKICAg IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICB0cmFuc2Zvcm06 IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIGxlZnQ6IDUwJTsKICAgIGhlaWdodDogNTBweDsK ICAgIGJvcmRlci1yYWRpdXM6IDE5cHg7CiAgICB0b3A6IDE0M3B4OwogICAgcGFkZGluZzogOXB4 OwogICAgcG9zaXRpb246IGFic29sdXRlOwp9CgojbWVudWV4cGFuZAp7CgkgICAgcG9zaXRpb246 IGFic29sdXRlOwogICAgbGVmdDogMHB4OwogICAgaGVpZ2h0OiAxMDAlOwogICAgYm90dG9tOiAw cHg7CiAgICBkaXNwbGF5OiBub25lOwogICAgd2lkdGg6IDMwMHB4OwogICAgYmFja2dyb3VuZDog IzFlMjUzMjsKICAgIHotaW5kZXg6IDQ7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czog MjBweDsKICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyMHB4Owp9CgoucHJlc3NoZXJlCnsK ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUo LTUwJSwgLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIHRv cDogNjklOwogICAgbGVmdDogNTAlOwogICAgZm9udC1zaXplOiAyMHB4OwogICAgd2lkdGg6IDMz MHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouY29ubmVjdGJ0CnsKaGVpZ2h0OiAxNTBw eDsKICAgIHdpZHRoOiAxNTBweDsKICAgIGJhY2tncm91bmQ6ICNmZGZkZmQgdXJsKHBpY3R1cmVz L3Bvd2VyLnN2Zyk7CiAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgYm9yZGVyOiA1cHggc29s aWQgI2JkODkwMTJiOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAl KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgcG9zaXRpb246IGFi c29sdXRlOwogICAgb3BhY2l0eTogMC44NjsKICAgIGJhY2tncm91bmQtc2l6ZTogNjhweDsKICAg IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0 MXB4OwogICAgZmlsdGVyOiBpbnZlcnQoMSk7CiAgICB0b3A6IDUyJTsKICAgIGxlZnQ6IDUwJTsK ICAgIHotaW5kZXg6IDE7Cn0KCi5mcmVlaW1nCnsKCWhlaWdodDogNDBweDsKICAgIHdpZHRoOiA0 MHB4OwogICAgYmFja2dyb3VuZDogI2ZmZmZmZjRkIHVybChwaWN0dXJlcy9jcm93bi5wbmcpOwog ICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIGJhY2tncm91bmQtcG9zaXRpb246 IDVweDsKICAgIGJvcmRlci1yYWRpdXM6IDYwcHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAg ICB0b3A6IDlweDsKICAgIGxlZnQ6IDZweDsKfQoKLmZyZWV0eHRzbWFsbAp7CgkgICAgcG9zaXRp b246IGFic29sdXRlOwogICAgbGVmdDogNThweDsKICAgIHRvcDogMjZweDsKICAgIGNvbG9yOiAj Y2NjOwogICAgZm9udC1zaXplOiAxMnB4Owp9Ci5mcmVldHh0CnsKCXBvc2l0aW9uOiBhYnNvbHV0 ZTsKICAgIGxlZnQ6IDU4cHg7CiAgICB0b3A6IDRweDsKICAgIGZvbnQtc2l6ZTogMTdweDsKfQoK LmhlYWRlcgp7Cglwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IDU3cHg7CgkgbGVmdDogMHB4OyAK CSB3aWR0aDogMTAwJTsKCSB6LWluZGV4OjM7CgkgdGV4dC1hbGlnbjogY2VudGVyOwp9Cgouc3Rh cnRmcmVlCnsKICAgIHdpZHRoOiAzMDBweDsKICAgIGhlaWdodDogNjBweDsKICAgIGJhY2tncm91 bmQ6ICM0YjBlNzk7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICBi b3R0b206IDI3cHg7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUp OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICBib3JkZXItcmFkaXVz OiAxMHB4Owp9CgouY2VudGVyYm9keQp7CiAgICBiYWNrZ3JvdW5kOiB1cmwocGljdHVyZXMvbWFw LnBuZyk7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBvcGFjaXR5OiAwLjE7CiAgICBoZWln aHQ6IDQ5NXB4OwogICAgd2lkdGg6IDEwMCU7CiAgICB6LWluZGV4OiAxOwogICAgbGVmdDogNTAl OwogICAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDEwMCU7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9u LXg6IC0xMjBweDsKICAgIHRvcDogNDklOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0 ZSgtNTAlLCAtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwp9Cgoj YXBwbGljYXRpb24KewogICAgZGlzcGxheTogbm9uZTsKfQoubWVudWljb254CnsKCSAgICBwb3Np dGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMTlweDsKICAgIGZpbHRlcjogaW52ZXJ0KDEpOwog ICAgdG9wOiA0NHB4OwogICAgaGVpZ2h0OiAyNHB4Owp9CgojYXBwbmFtZQp7CiAgICBmb250LXNp emU6IDI2cHg7CiAgICBjb2xvcjogIzAzYTlmNDsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNh c2U7Cn0KCi5waW5nc2VydmVyCnsKCSBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMTRw eDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiAjY2NjOwp9CgoucHJlbWl1bXNlcnZl cgp7CglkaXNwbGF5Om5vbmU7Cn0KCi5icm9uemVzZXJ2ZXIKewoJZGlzcGxheTogbm9uZTsKfQoK LmZyZWVzZXJ2ZXIKewp9CgouZ29sZHNlcnZlcgp7CglkaXNwbGF5OiBub25lOwp9CgoucmVjb21t ZW5kc2VydmVyCnsKCWRpc3BsYXk6IG5vbmU7Cn0KCi5ncmVlbnBpbmcKewoJICBiYWNrZ3JvdW5k OiAjNDlmZjUwOwogICAgd2lkdGg6IDVweDsKICAgIGhlaWdodDogMTNweDsKICAgIHBvc2l0aW9u OiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAtOHB4OwogICAgYm9yZGVyLXJhZGl1czogNTVweDsKICAg IHRvcDogN3B4Owp9Ci5zdmJ1YmJsZQp7CgliYWNrZ3JvdW5kOiAjMGMxMDI5OwogICAgd2lkdGg6 IDg4JTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTsKICAgIGxlZnQ6IDQ1JTsK ICAgIGhlaWdodDogNTBweDsKICAgIGJvcmRlci1yYWRpdXM6IDE5cHg7CiAgICB0b3A6IDZweDsK ICAgIG1hcmdpbi1ib3R0b206IDdweDsKICAgIHBhZGRpbmc6IDlweDsKICAgIHBvc2l0aW9uOiBy ZWxhdGl2ZTsKfQoKLnR5cGVzZXJ2ZXIKewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lk dGg6IDEwMCU7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgcGFkZGluZy1sZWZ0OiAyMHB4Owog ICAgdG9wOiAyMHB4OwoKfQoudXNlcnByb2ZpbGUKewoJICAgIGJhY2tncm91bmQ6IHVybChwaWN0 dXJlcy8xNDkwNzEucG5nKTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGhlaWdodDogODBw eDsKICAgIHdpZHRoOiAyMjBweDsKICAgIGJhY2tncm91bmQtc2l6ZTogODBweCA4MHB4OwogICAg Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyYjM1NDg7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDog bm8tcmVwZWF0OwogICAgbGVmdDogNDBweDsKICAgIHRvcDogMTAwcHg7CiAgICBwYWRkaW5nLWJv dHRvbTogNTBweDsKICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogNjVweDsKfQoKI3NlcnZlcmxp c3QKewoJICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICB0 cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsK ICAgIHRvcDogODk5JTsKICAgIGxlZnQ6IDUwJTsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBvdmVy Zmxvdy14OiBoaWRkZW47CiAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICB3aWR0aDogMTAwJTsK ICAgIGhlaWdodDogNDAwcHg7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7Cn0KCi51c2VyaWQK ewoJICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvdHRvbTogOHB4OwogICAgd2lkdGg6IDEw MCU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBjb2xv cjogIzkwOTA5MDsKfQoKLnVzZXJleHAKewoJICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAg ICBib3R0b206IDIzcHg7CiAgICBjb2xvcjogIzhlOGU4ZTsKICAgIHdpZHRoOiAxMDAlOwogICAg dGV4dC1hbGlnbjogY2VudGVyOwogICAgZm9udC1zaXplOiAxMnB4Owp9Ci5tZW51bGlzdAp7Cglw b3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb2xvcjogI2FkYWRhZjsKICAgIHRvcDogMjc1cHg7CiAg ICBsZWZ0OiA1MnB4Owp9Ci5tZW51aWNvbgp7Cglwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0 OiAxOXB4OwogICAgZmlsdGVyOiBpbnZlcnQoMSk7CiAgICB0b3A6IDExcHg7CiAgICBoZWlnaHQ6 IDI0cHg7Cn0KCi5tZW51dHh0CnsKCSAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtYXJnaW4t Ym90dG9tOiAzMHB4Owp9Ci5yaWdodGJ0CnsKCSBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdo dDogNXB4OwogICAgcGFkZGluZzogN3B4OwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgd2lk dGg6IDYycHg7CiAgICB0b3A6IDVweDsKICAgIHBhZGRpbmctcmlnaHQ6IDhweDsKCn0KCi5tZW51 aWNvbmQKewoJIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGhlaWdodDogMThweDsKICAgIGxlZnQ6 IC0yN3B4OwogICAgdG9wOiA2cHg7CiAgICBmaWx0ZXI6IGludmVydCgxKTsKICAgIG9wYWNpdHk6 IDAuNzc7Cn0KLmNyb3dpbWcKewogICAgaGVpZ2h0OiAxOHB4OwogICAgcG9zaXRpb246IGFic29s dXRlOwogICAgbGVmdDogNXB4OwogICAgdG9wOiA5cHg7Cn0KCi5hY3RpdmVidAp7CiAgICBwb3Np dGlvbjogcmVsYXRpdmU7CiAgICB0b3A6IDE0cHg7CiAgICBwYWRkaW5nOiA1cHg7CiAgICBiYWNr Z3JvdW5kOiAjM2Y1MWI1OwogICAgd2lkdGg6IDEwMHB4OwogICAgbGVmdDogMTA2cHg7CiAgICBi b3JkZXItcmFkaXVzOiA1cHg7Cn0KLnRleHRib29zdAp7CiAgICBmb250LXNpemU6IDE0cHg7CiAg ICAgICAgY29sb3I6ICNlNmU2ZTY7Cn0KLnRpdGxlYm9vc3QKewogICAgbWFyZ2luLXRvcDogLTU5 cHg7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGNvbG9yOiAjZmZhMzgyOwp9Ci5i b2R5Ym9vc3QKewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogNTAlOwogICAgdG9w OiA0OCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAg dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICBiYWNrZ3JvdW5kOiAjMWUyNTMy OwogICAgaGVpZ2h0OiAzNTBweDsKICAgIHdpZHRoOiAzMzBweDsKICAgIGJvcmRlci1yYWRpdXM6 IDEwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmF0bGFudHVzb3ZlcmxheQp7CiAgICBk aXNwbGF5OiBub25lOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaGVpZ2h0OiAxMDAlOwog ICAgd2lkdGg6IDEwMCU7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNzYpOwogICAg ei1pbmRleDogNTsKfQojYm9vc3Rtb2RlCnsKICAgIGRpc3BsYXk6bm9uZTsKICAgIHBvc2l0aW9u OiBhYnNvbHV0ZTsgaGVpZ2h0OiAxMDAlOwogICAgIHdpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kOiBy Z2JhKDAsIDAsIDAsIDAuNzYpOyB6LWluZGV4OiA1Owp9CiNzdG9yYWdlbW9kZQp7CiAgICBkaXNw bGF5Om5vbmU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMTAwJTsKICAgICB3aWR0 aDogMTAwJTsgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjc2KTsgei1pbmRleDogNTsKfQou cHJvdHh0CnsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGxlZnQ6IDlweDsKICAgIGNvbG9y OiAjZmJjMTRkOwogICAgZm9udC13ZWlnaHQ6IDEwMDsKICAgIHRleHQtc2hhZG93OiAwcHggMHB4 IDIwcHggeWVsbG93OwogICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4OwogICAgZm9udC1zaXplOiAx M3B4OwogICAgdG9wOiAtMXB4Owp9PC9zdHlsZT48c2NyaXB0PgovLy8vdmVsb2NpZGFkZSBkZSB0 cmFuc2nDp8OjbywgcXVhbnRvIG1haW9yIG1haXMgZGVtb3JhIGUgcG9kZSBsYWdhciBtYWlzLy8v LwpsZXQgdHJhbnNpdGlvbnNwZWVkID0gNTA7CgoKCi8vL2FxdWkgw6kgb25kZSBhYnJlIGUgZmVj aGEgbyBtZW51CmZ1bmN0aW9uIG1lbnVhY3Rpb24oKQp7CgkJYXRsYW50dXNlZmZlY3RsZWZ0KCIj bWVudWV4cGFuZCIpOwp9CgpmdW5jdGlvbiB0ZXJtb3MoKQp7CiAgYXRsYW50dXNlZmZlY3RjZW50 ZXIoIiN0ZXJtb3MiKTsKfQoKZnVuY3Rpb24gYm9vc3Rtb2RlKCkKewoJYXRsYW50dXNlZmZlY3Rj ZW50ZXIoIiNib29zdG1vZGUiKTsKfQoKLy9BdGl2YXIgYm9vc3Rtb2RlCmZ1bmN0aW9uIGFjYm9v c3Rtb2RlKCkKewogIC8vcmVxdWVzdGJvb3N0KCk7CglhdGxhbnR1c2VmZmVjdGNlbnRlcigiI2Jv b3N0bW9kZSIpOwp9CgpmdW5jdGlvbiBzdG9yYWdlbW9kZSgpCnsKICBhdGxhbnR1c2hpZGUoIiNz dG9yYWdlbW9kZSIpOwogIHJlcXVlc3R3cml0ZSgpOwp9CgovL2FxdWkgdHJhYmFsaGEgYSBtdWRh bsOnYSBkZSBzZXJ2aWRvcgpmdW5jdGlvbiBzZXJ2ZXJjaGFuZ2UoKQp7CglhdGxhbnR1c2Ryb3Bz ZXJ2ZXIoKTsKfQoKCi8vL0ZpbmFsaXphIGEgdGVsYSBkZSBsb2dpbiB1c2Vyc3NoCmZ1bmN0aW9u IGF1dGhmaW5pc2h1KCkKewoJYXRsYW50dXNsb2djbGVhcigpOwoJYXRsYW50dXNsb2dpbnNldHUo Mik7CglhdGxhbnR1c2VmZmVjdGNlbnRlcigiI2F1dGh1c2VyIik7CglhdGxhbnR1c2hpZGUoIiNh dXRodHlwZSIpOwoJYXRsYW50dXNoaWRlKCIjd3Jvbmd1c2VyIik7CiAgc3Vic2NyaWJlY2FjaGVf bG9hZCgpOwp9CgovLy9hYnJlIGEgdGVsYSBkZSBzZWxlw6fDo28gZGUgbG9naW4KZnVuY3Rpb24g YXV0aCgpCnsKCWF0bGFudHVzZWZmZWN0Y2VudGVyKCIjYXV0aHR5cGUiKTsKCS8vYXRsYW50dXNl ZmZlY3RsZWZ0KCIjbWVudWV4cGFuZCIpOwp9CgoKLy8vYXF1aSBpbmljaWEgYSB2cG4KZnVuY3Rp b24gc3RhcnR2cG4oKQp7Cgp9CgoKLy8vYXF1aSBwYXJhIGEgdnBuCmZ1bmN0aW9uIHN0b3B2cG4o KQp7Cgp9CgovLy9BYnJpciBjb250YXRvCmZ1bmN0aW9uIG9wZW5jb250YWN0KCkKewogIGNvbnRh Y3R2aWV3KCk7Cn0KCi8vYXF1aSBjYXJyZWdhIGEgbGlzdGEgZGUgc2Vydmlkb3JlcyBlIGluc2Vy ZQpmdW5jdGlvbiBsb2Fkc2VydmVycygpCnsKCn0KCgovLy9hcXVpIGJ1c2NhIG8gY2FjaGUgZSBp bnNlcmUgbmEgaW5wdXQKZnVuY3Rpb24gbG9hZGNhY2hldG9rZW4oKQp7Cgp9CgovL0ZlY2hhciBt ZW51IGFvIGNsaWNhciBlbSBhbGdvCmZ1bmN0aW9uIG1lbnVjbG9zZSgpCnsKCWF0bGFudHVzZWZm ZWN0bGVmdCgiI21lbnVleHBhbmQiKTsKfQoKPC9zY3JpcHQ+CgoKPHNjcmlwdD4KCgkvL0FUTEFO VFVTIFNJREUKCS8vQVRMQU5UVVMgU0lERQoJLy9BVExBTlRVUyBTSURFCiAgICB2YXIgYXRsYW50 dXNfY2M7CiAgICB2YXIgaG9zdCA9ICIiOwogICAgdmFyIGlwID0gIiI7CiAgICB2YXIgcG9ydCA9 ICIiOwogICAgdmFyIHVkcGtleSA9ICIiOwogICAgdmFyIHJ1bmlkID0gIiI7CiAgICB2YXIgdG9r ZW4gPSAiIjsKICAgIHZhciBsb2dpbnR5cGUgPSAxOyAvLyAwIHRva2VuLCAxIHVzZXJzc2gKICAg IHZhciBoYXNodTsKICAgIHZhciBoYXNocDsKICAgIHZhciBjb250YXRvdXJsID0gIiI7CiAgICB2 YXIgdHlwZSA9ICIiOwogICAgdmFyIHRva2VubGFzdCA9ICIiOwogICAgdmFyIHVzZXJzc2hsYXN0 OwogICAgdmFyIHBhc3Nzc2hsYXN0OwogICAgdmFyIHVkcGZ3OwogICAgdmFyIHN0YXR1cyA9ICIi OwogICAgdmFyIGxjaW50ID0gMDsKICAgIHZhciBwcm94eWlwOwogICAgdmFyIHByb3h5cG9ydDsK ICAgIHZhciBzbmlob3N0OwogICAgdmFyIGlzdGVzdCA9IGZhbHNlOwogICAgdmFyIGxhc3Rwcm9m aWxlY2F0ID0gMDsKICAgIHZhciBmaW5pc2hhdXRoID0gMDsKICAgIHZhciBkbnNvbmUgPSAiIjsK ICAgIHZhciBkbnN0d28gPSAiIjsKICAgIHZhciBsYXN0c3Vic2NyaWJlID0gIiI7CiAgICB2YXIg cnl6ZW5uZXcgPSAiIjsKICAgIHZhciByeXplbm5ld3ggPSAiIjsKICAgIHZhciBhbmltYXRlcGVy bSA9IHRydWU7CiAgICB2YXIgbGFzdHN0YXR1cyA9ICIiOwogICAgdmFyIGhvc3RhcHAgPSAiIjsK CgkoZnVuY3Rpb24oKXsKCSAgICB2YXIgdElkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7Cgkg ICAgICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09ICJjb21wbGV0ZSIpIG9uQ29tcGxldGUo KQoJICAgIH0sIDExKTsKCSAgICBmdW5jdGlvbiBvbkNvbXBsZXRlKCl7CgkgICAgICAgICAgICBj bGVhckludGVydmFsKHRJZCk7CiAgICAgICAgICAgICAgbG9hZGVyc3RhcnQoKTsKICAgICAgICAg ICAgICBhdGxhbnR1c19rZXkoKTsKICAgICAgICAgICAgICBzZXRJbnRlcnZhbCggYXN5bmMgZnVu Y3Rpb24oKXsgY29yZSgpOyB9LCAyNTApOwogICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rp b24oKXsgIGxvYWRjb250ZW50KCk7IH0sIDEwMCk7IAogICAgICAgICAgICAgIHNldFRpbWVvdXQo ZnVuY3Rpb24oKXsgIGluaXR1cGRhdGUoKTsgfSwgNDY1KTsKCSAgICB9OwoJfSkoKQoKICBmdW5j dGlvbiBhdGxhbnR1c19rZXkoKXsKICAgICAgICAgICAgICAgIHZhciByYXdGaWxlID0gbmV3IFhN TEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgICAgICAgICByYXdGaWxlLm9wZW4oIkdFVCIsICJhdGxh bnR1c19rZXkuY2MiLCBmYWxzZSk7CiAgICAgICAgICAgICAgICByYXdGaWxlLm9ucmVhZHlzdGF0 ZWNoYW5nZSA9IGZ1bmN0aW9uICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgaWYocmF3RmlsZS5yZWFkeVN0YXRlID09PSA0KQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgaWYocmF3RmlsZS5zdGF0dXMgPT09IDIwMCB8fCByYXdGaWxl LnN0YXR1cyA9PSAwKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB2YXIgYWxsVGV4dCA9IHJhd0ZpbGUucmVzcG9uc2VUZXh0OwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgdmFyIGNvbXBpbGVkID0gYWxsVGV4dC50cmltKCk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb21waWxlZCA9IHJldmVyc2VQdXJlKGNvbXBpbGVkKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGF0bGFudHVzX2NjID0gY29tcGlsZWQ7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhdGxhbnR1c19jYyA9IGF0b2IoYXRsYW50dXNfY2MpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYXRsYW50dXNfY2MpOwoJICAgICAg ICAgICAgICAgICAgICAgICAgICB2YXIgc3BsaXROYW1lZCA9IGF0bGFudHVzX2NjLnNwbGl0KCIt LS0tLS0tLSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNwbGl0TmFtZWQyID0g c3BsaXROYW1lZFsxXS5zcGxpdCgiQEBAQCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg aG9zdGFwcCA9IHNwbGl0TmFtZWQyWzBdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFz aHUgPSBzcGxpdE5hbWVkMlsxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2hwID0g c3BsaXROYW1lZDJbMl07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNodXRtcCA9IHNw bGl0TmFtZWQyWzFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaHB0bXAgPSBzcGxp dE5hbWVkMlsyXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhdG91cmwgPSBzcGxp dE5hbWVkMlszXTsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByYXdGaWxlLnNlbmQobnVsbCk7CiAg ICAgbG9hZHRoZW1lKCk7CiAgIH0JCiAgIAogICBhc3luYyBmdW5jdGlvbiBsb2FkZXJzdGFydCgp CiAgIHsKICAgICAgICAkKCcjZ2V0dGluZ2dsb2JhbCcpLmFwcGVuZCgnPHN0eWxlPiNzcGxhc2hz Y3JlZW4geyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDUwMDA7IGJhY2tncm91bmQ6ICMw NjA3MGU7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IGNvbG9yOiB3aGl0ZTsgfS5sb2FkZXIg eyBkaXNwbGF5OiAtd2Via2l0LWJveDsgZGlzcGxheTogLW1vei1ib3g7IGRpc3BsYXk6IC13ZWJr aXQtZmxleDsgZGlzcGxheTogLW1zLWZsZXhib3g7IGRpc3BsYXk6IGJveDsgZGlzcGxheTogZmxl eDsgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsgLW1vei1ib3gtYWxpZ246IGNlbnRlcjsgLW8t Ym94LWFsaWduOiBjZW50ZXI7IC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7IC13ZWJraXQtYWxpZ24t aXRlbXM6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgLXdlYmtpdC1ib3gtcGFjazogY2Vu dGVyOyAtbW96LWJveC1wYWNrOiBjZW50ZXI7IC1vLWJveC1wYWNrOiBjZW50ZXI7IC1tcy1mbGV4 LXBhY2s6IGNlbnRlcjsgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsganVzdGlmeS1j b250ZW50OiBjZW50ZXI7IH0gLmxvYWRlciB7IHdpZHRoOiA1MHZ3OyBoZWlnaHQ6IDUwdnc7ICAg IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNTAlOyB0b3A6IDUwJTsgLXdlYmtpdC10cmFuc2Zv cm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUw JSk7IH0gLmdyb3VwIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9IC5kb3QgeyBwb3NpdGlvbjogYWJz b2x1dGU7IHdpZHRoOiAwLjVyZW07IGhlaWdodDogMC41cmVtOyBib3JkZXItcmFkaXVzOiA1MCU7 IH0gLmxvYWRlciA+IC5ncm91cDpudGgtY2hpbGQoMSkgeyAtd2Via2l0LWFuaW1hdGlvbjogc3Bp biAxLjc1cyBlYXNlIGluZmluaXRlOyAtbW96LWFuaW1hdGlvbjogc3BpbiAxLjc1cyBlYXNlIGlu ZmluaXRlOyAtby1hbmltYXRpb246IHNwaW4gMS43NXMgZWFzZSBpbmZpbml0ZTsgLW1zLWFuaW1h dGlvbjogc3BpbiAxLjc1cyBlYXNlIGluZmluaXRlOyBhbmltYXRpb246IHNwaW4gMS43NXMgZWFz ZSBpbmZpbml0ZTsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwLjI1cmVtIDAuMjVyZW07IC1t b3otdHJhbnNmb3JtLW9yaWdpbjogMC4yNXJlbSAwLjI1cmVtOyAtby10cmFuc2Zvcm0tb3JpZ2lu OiAwLjI1cmVtIDAuMjVyZW07IC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwLjI1cmVtIDAuMjVyZW07 IHRyYW5zZm9ybS1vcmlnaW46IDAuMjVyZW0gMC4yNXJlbTsgfSAubG9hZGVyID4gLmdyb3VwOm50 aC1jaGlsZCgxKSA+IC5kb3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTljM2U2OyB9IC5sb2FkZXIg PiAuZ3JvdXA6bnRoLWNoaWxkKDEpID4gLmRvdDpudGgtY2hpbGQoMSkgeyAtd2Via2l0LXRyYW5z Zm9ybTogdHJhbnNsYXRlM2QoMi4yNXJlbSwgMi4yNXJlbSwgMCk7IC1tb3otdHJhbnNmb3JtOiB0 cmFuc2xhdGUzZCgyLjI1cmVtLCAyLjI1cmVtLCAwKTsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUz ZCgyLjI1cmVtLCAyLjI1cmVtLCAwKTsgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMi4yNXJl bSwgMi4yNXJlbSwgMCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMi4yNXJlbSwgMi4yNXJlbSwg MCk7IH0gLmxvYWRlciA+IC5ncm91cDpudGgtY2hpbGQoMSkgPiAuZG90Om50aC1jaGlsZCgyKSB7 IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMi4yNXJlbSwgLTIuMjVyZW0sIDApOyAt bW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIuMjVyZW0sIC0yLjI1cmVtLCAwKTsgLW8tdHJh bnNmb3JtOiB0cmFuc2xhdGUzZCgtMi4yNXJlbSwgLTIuMjVyZW0sIDApOyAtbXMtdHJhbnNmb3Jt OiB0cmFuc2xhdGUzZCgtMi4yNXJlbSwgLTIuMjVyZW0sIDApOyB0cmFuc2Zvcm06IHRyYW5zbGF0 ZTNkKC0yLjI1cmVtLCAtMi4yNXJlbSwgMCk7IH0gLmxvYWRlciA+IC5ncm91cDpudGgtY2hpbGQo MSkgPiAuZG90Om50aC1jaGlsZCgzKSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgt Mi4yNXJlbSwgMi4yNXJlbSwgMCk7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMi4yNXJl bSwgMi4yNXJlbSwgMCk7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIuMjVyZW0sIDIuMjVy ZW0sIDApOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMi4yNXJlbSwgMi4yNXJlbSwgMCk7 IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIuMjVyZW0sIDIuMjVyZW0sIDApOyB9IC5sb2FkZXIg PiAuZ3JvdXA6bnRoLWNoaWxkKDEpID4gLmRvdDpudGgtY2hpbGQoNCkgeyAtd2Via2l0LXRyYW5z Zm9ybTogdHJhbnNsYXRlM2QoMi4yNXJlbSwgLTIuMjVyZW0sIDApOyAtbW96LXRyYW5zZm9ybTog dHJhbnNsYXRlM2QoMi4yNXJlbSwgLTIuMjVyZW0sIDApOyAtby10cmFuc2Zvcm06IHRyYW5zbGF0 ZTNkKDIuMjVyZW0sIC0yLjI1cmVtLCAwKTsgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMi4y NXJlbSwgLTIuMjVyZW0sIDApOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIuMjVyZW0sIC0yLjI1 cmVtLCAwKTsgfSAubG9hZGVyID4gLmdyb3VwOm50aC1jaGlsZCgyKSB7IC13ZWJraXQtYW5pbWF0 aW9uOiBzcGluIDIuNXMgZWFzZSBpbmZpbml0ZTsgLW1vei1hbmltYXRpb246IHNwaW4gMi41cyBl YXNlIGluZmluaXRlOyAtby1hbmltYXRpb246IHNwaW4gMi41cyBlYXNlIGluZmluaXRlOyAtbXMt YW5pbWF0aW9uOiBzcGluIDIuNXMgZWFzZSBpbmZpbml0ZTsgYW5pbWF0aW9uOiBzcGluIDIuNXMg ZWFzZSBpbmZpbml0ZTsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwLjI1cmVtIDAuMjVyZW07 IC1tb3otdHJhbnNmb3JtLW9yaWdpbjogMC4yNXJlbSAwLjI1cmVtOyAtby10cmFuc2Zvcm0tb3Jp Z2luOiAwLjI1cmVtIDAuMjVyZW07IC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwLjI1cmVtIDAuMjVy ZW07IHRyYW5zZm9ybS1vcmlnaW46IDAuMjVyZW0gMC4yNXJlbTsgfSAubG9hZGVyID4gLmdyb3Vw Om50aC1jaGlsZCgyKSA+IC5kb3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTllNWU2OyB9IC5sb2Fk ZXIgPiAuZ3JvdXA6bnRoLWNoaWxkKDIpID4gLmRvdDpudGgtY2hpbGQoMSkgeyAtd2Via2l0LXRy YW5zZm9ybTogdHJhbnNsYXRlM2QoMy4yNXJlbSwgMy4yNXJlbSwgMCk7IC1tb3otdHJhbnNmb3Jt OiB0cmFuc2xhdGUzZCgzLjI1cmVtLCAzLjI1cmVtLCAwKTsgLW8tdHJhbnNmb3JtOiB0cmFuc2xh dGUzZCgzLjI1cmVtLCAzLjI1cmVtLCAwKTsgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMy4y NXJlbSwgMy4yNXJlbSwgMCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMy4yNXJlbSwgMy4yNXJl bSwgMCk7IH0gLmxvYWRlciA+IC5ncm91cDpudGgtY2hpbGQoMikgPiAuZG90Om50aC1jaGlsZCgy KSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMy4yNXJlbSwgLTMuMjVyZW0sIDAp OyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMuMjVyZW0sIC0zLjI1cmVtLCAwKTsgLW8t dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMy4yNXJlbSwgLTMuMjVyZW0sIDApOyAtbXMtdHJhbnNm b3JtOiB0cmFuc2xhdGUzZCgtMy4yNXJlbSwgLTMuMjVyZW0sIDApOyB0cmFuc2Zvcm06IHRyYW5z bGF0ZTNkKC0zLjI1cmVtLCAtMy4yNXJlbSwgMCk7IH0gLmxvYWRlciA+IC5ncm91cDpudGgtY2hp bGQoMikgPiAuZG90Om50aC1jaGlsZCgzKSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUz ZCgtMy4yNXJlbSwgMy4yNXJlbSwgMCk7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMy4y NXJlbSwgMy4yNXJlbSwgMCk7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMuMjVyZW0sIDMu MjVyZW0sIDApOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMy4yNXJlbSwgMy4yNXJlbSwg MCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMuMjVyZW0sIDMuMjVyZW0sIDApOyB9IC5sb2Fk ZXIgPiAuZ3JvdXA6bnRoLWNoaWxkKDIpID4gLmRvdDpudGgtY2hpbGQoNCkgeyAtd2Via2l0LXRy YW5zZm9ybTogdHJhbnNsYXRlM2QoMy4yNXJlbSwgLTMuMjVyZW0sIDApOyAtbW96LXRyYW5zZm9y bTogdHJhbnNsYXRlM2QoMy4yNXJlbSwgLTMuMjVyZW0sIDApOyAtby10cmFuc2Zvcm06IHRyYW5z bGF0ZTNkKDMuMjVyZW0sIC0zLjI1cmVtLCAwKTsgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2Qo My4yNXJlbSwgLTMuMjVyZW0sIDApOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMuMjVyZW0sIC0z LjI1cmVtLCAwKTsgfSAubG9hZGVyID4gLmdyb3VwOm50aC1jaGlsZCgzKSB7IC13ZWJraXQtYW5p bWF0aW9uOiBzcGluIDMuMjVzIGVhc2UgaW5maW5pdGU7IC1tb3otYW5pbWF0aW9uOiBzcGluIDMu MjVzIGVhc2UgaW5maW5pdGU7IC1vLWFuaW1hdGlvbjogc3BpbiAzLjI1cyBlYXNlIGluZmluaXRl OyAtbXMtYW5pbWF0aW9uOiBzcGluIDMuMjVzIGVhc2UgaW5maW5pdGU7IGFuaW1hdGlvbjogc3Bp biAzLjI1cyBlYXNlIGluZmluaXRlOyAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAuMjVyZW0g MC4yNXJlbTsgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAwLjI1cmVtIDAuMjVyZW07IC1vLXRyYW5z Zm9ybS1vcmlnaW46IDAuMjVyZW0gMC4yNXJlbTsgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAuMjVy ZW0gMC4yNXJlbTsgdHJhbnNmb3JtLW9yaWdpbjogMC4yNXJlbSAwLjI1cmVtOyB9IC5sb2FkZXIg PiAuZ3JvdXA6bnRoLWNoaWxkKDMpID4gLmRvdCB7IGJhY2tncm91bmQtY29sb3I6ICMxOWU2YzQ7 IH0gLmxvYWRlciA+IC5ncm91cDpudGgtY2hpbGQoMykgPiAuZG90Om50aC1jaGlsZCgxKSB7IC13 ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0LjI1cmVtLCA0LjI1cmVtLCAwKTsgLW1vei10 cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDQuMjVyZW0sIDQuMjVyZW0sIDApOyAtby10cmFuc2Zvcm06 IHRyYW5zbGF0ZTNkKDQuMjVyZW0sIDQuMjVyZW0sIDApOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xh dGUzZCg0LjI1cmVtLCA0LjI1cmVtLCAwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0LjI1cmVt LCA0LjI1cmVtLCAwKTsgfSAubG9hZGVyID4gLmdyb3VwOm50aC1jaGlsZCgzKSA+IC5kb3Q6bnRo LWNoaWxkKDIpIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00LjI1cmVtLCAtNC4y NXJlbSwgMCk7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNC4yNXJlbSwgLTQuMjVyZW0s IDApOyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00LjI1cmVtLCAtNC4yNXJlbSwgMCk7IC1t cy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00LjI1cmVtLCAtNC4yNXJlbSwgMCk7IHRyYW5zZm9y bTogdHJhbnNsYXRlM2QoLTQuMjVyZW0sIC00LjI1cmVtLCAwKTsgfSAubG9hZGVyID4gLmdyb3Vw Om50aC1jaGlsZCgzKSA+IC5kb3Q6bnRoLWNoaWxkKDMpIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRy YW5zbGF0ZTNkKC00LjI1cmVtLCA0LjI1cmVtLCAwKTsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0 ZTNkKC00LjI1cmVtLCA0LjI1cmVtLCAwKTsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNC4y NXJlbSwgNC4yNXJlbSwgMCk7IC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00LjI1cmVtLCA0 LjI1cmVtLCAwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNC4yNXJlbSwgNC4yNXJlbSwgMCk7 IH0gLmxvYWRlciA+IC5ncm91cDpudGgtY2hpbGQoMykgPiAuZG90Om50aC1jaGlsZCg0KSB7IC13 ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0LjI1cmVtLCAtNC4yNXJlbSwgMCk7IC1tb3ot dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0LjI1cmVtLCAtNC4yNXJlbSwgMCk7IC1vLXRyYW5zZm9y bTogdHJhbnNsYXRlM2QoNC4yNXJlbSwgLTQuMjVyZW0sIDApOyAtbXMtdHJhbnNmb3JtOiB0cmFu c2xhdGUzZCg0LjI1cmVtLCAtNC4yNXJlbSwgMCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNC4y NXJlbSwgLTQuMjVyZW0sIDApOyB9IC5sb2FkZXIgPiAuZ3JvdXA6bnRoLWNoaWxkKDQpIHsgLXdl YmtpdC1hbmltYXRpb246IHNwaW4gNHMgZWFzZSBpbmZpbml0ZTsgLW1vei1hbmltYXRpb246IHNw aW4gNHMgZWFzZSBpbmZpbml0ZTsgLW8tYW5pbWF0aW9uOiBzcGluIDRzIGVhc2UgaW5maW5pdGU7 IC1tcy1hbmltYXRpb246IHNwaW4gNHMgZWFzZSBpbmZpbml0ZTsgYW5pbWF0aW9uOiBzcGluIDRz IGVhc2UgaW5maW5pdGU7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMC4yNXJlbSAwLjI1cmVt OyAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDAuMjVyZW0gMC4yNXJlbTsgLW8tdHJhbnNmb3JtLW9y aWdpbjogMC4yNXJlbSAwLjI1cmVtOyAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMC4yNXJlbSAwLjI1 cmVtOyB0cmFuc2Zvcm0tb3JpZ2luOiAwLjI1cmVtIDAuMjVyZW07IH0gLmxvYWRlciA+IC5ncm91 cDpudGgtY2hpbGQoNCkgPiAuZG90IHsgYmFja2dyb3VuZC1jb2xvcjogIzE5ZTZhMjsgfSAubG9h ZGVyID4gLmdyb3VwOm50aC1jaGlsZCg0KSA+IC5kb3Q6bnRoLWNoaWxkKDEpIHsgLXdlYmtpdC10 cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUuMjVyZW0sIDUuMjVyZW0sIDApOyAtbW96LXRyYW5zZm9y bTogdHJhbnNsYXRlM2QoNS4yNXJlbSwgNS4yNXJlbSwgMCk7IC1vLXRyYW5zZm9ybTogdHJhbnNs YXRlM2QoNS4yNXJlbSwgNS4yNXJlbSwgMCk7IC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUu MjVyZW0sIDUuMjVyZW0sIDApOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUuMjVyZW0sIDUuMjVy ZW0sIDApOyB9IC5sb2FkZXIgPiAuZ3JvdXA6bnRoLWNoaWxkKDQpID4gLmRvdDpudGgtY2hpbGQo MikgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUuMjVyZW0sIC01LjI1cmVtLCAw KTsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01LjI1cmVtLCAtNS4yNXJlbSwgMCk7IC1v LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUuMjVyZW0sIC01LjI1cmVtLCAwKTsgLW1zLXRyYW5z Zm9ybTogdHJhbnNsYXRlM2QoLTUuMjVyZW0sIC01LjI1cmVtLCAwKTsgdHJhbnNmb3JtOiB0cmFu c2xhdGUzZCgtNS4yNXJlbSwgLTUuMjVyZW0sIDApOyB9IC5sb2FkZXIgPiAuZ3JvdXA6bnRoLWNo aWxkKDQpID4gLmRvdDpudGgtY2hpbGQoMykgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRl M2QoLTUuMjVyZW0sIDUuMjVyZW0sIDApOyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUu MjVyZW0sIDUuMjVyZW0sIDApOyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01LjI1cmVtLCA1 LjI1cmVtLCAwKTsgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUuMjVyZW0sIDUuMjVyZW0s IDApOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01LjI1cmVtLCA1LjI1cmVtLCAwKTsgfSAubG9h ZGVyID4gLmdyb3VwOm50aC1jaGlsZCg0KSA+IC5kb3Q6bnRoLWNoaWxkKDQpIHsgLXdlYmtpdC10 cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUuMjVyZW0sIC01LjI1cmVtLCAwKTsgLW1vei10cmFuc2Zv cm06IHRyYW5zbGF0ZTNkKDUuMjVyZW0sIC01LjI1cmVtLCAwKTsgLW8tdHJhbnNmb3JtOiB0cmFu c2xhdGUzZCg1LjI1cmVtLCAtNS4yNXJlbSwgMCk7IC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNk KDUuMjVyZW0sIC01LjI1cmVtLCAwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1LjI1cmVtLCAt NS4yNXJlbSwgMCk7IH0gLmxvYWRlciA+IC5ncm91cDpudGgtY2hpbGQoNSkgeyAtd2Via2l0LWFu aW1hdGlvbjogc3BpbiA0Ljc1cyBlYXNlIGluZmluaXRlOyAtbW96LWFuaW1hdGlvbjogc3BpbiA0 Ljc1cyBlYXNlIGluZmluaXRlOyAtby1hbmltYXRpb246IHNwaW4gNC43NXMgZWFzZSBpbmZpbml0 ZTsgLW1zLWFuaW1hdGlvbjogc3BpbiA0Ljc1cyBlYXNlIGluZmluaXRlOyBhbmltYXRpb246IHNw aW4gNC43NXMgZWFzZSBpbmZpbml0ZTsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwLjI1cmVt IDAuMjVyZW07IC1tb3otdHJhbnNmb3JtLW9yaWdpbjogMC4yNXJlbSAwLjI1cmVtOyAtby10cmFu c2Zvcm0tb3JpZ2luOiAwLjI1cmVtIDAuMjVyZW07IC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwLjI1 cmVtIDAuMjVyZW07IHRyYW5zZm9ybS1vcmlnaW46IDAuMjVyZW0gMC4yNXJlbTsgfSAubG9hZGVy ID4gLmdyb3VwOm50aC1jaGlsZCg1KSA+IC5kb3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTllNjgw OyB9IC5sb2FkZXIgPiAuZ3JvdXA6bnRoLWNoaWxkKDUpID4gLmRvdDpudGgtY2hpbGQoMSkgeyAt d2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNi4yNXJlbSwgNi4yNXJlbSwgMCk7IC1tb3ot dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg2LjI1cmVtLCA2LjI1cmVtLCAwKTsgLW8tdHJhbnNmb3Jt OiB0cmFuc2xhdGUzZCg2LjI1cmVtLCA2LjI1cmVtLCAwKTsgLW1zLXRyYW5zZm9ybTogdHJhbnNs YXRlM2QoNi4yNXJlbSwgNi4yNXJlbSwgMCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNi4yNXJl bSwgNi4yNXJlbSwgMCk7IH0gLmxvYWRlciA+IC5ncm91cDpudGgtY2hpbGQoNSkgPiAuZG90Om50 aC1jaGlsZCgyKSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNi4yNXJlbSwgLTYu MjVyZW0sIDApOyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTYuMjVyZW0sIC02LjI1cmVt LCAwKTsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNi4yNXJlbSwgLTYuMjVyZW0sIDApOyAt bXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNi4yNXJlbSwgLTYuMjVyZW0sIDApOyB0cmFuc2Zv cm06IHRyYW5zbGF0ZTNkKC02LjI1cmVtLCAtNi4yNXJlbSwgMCk7IH0gLmxvYWRlciA+IC5ncm91 cDpudGgtY2hpbGQoNSkgPiAuZG90Om50aC1jaGlsZCgzKSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0 cmFuc2xhdGUzZCgtNi4yNXJlbSwgNi4yNXJlbSwgMCk7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xh dGUzZCgtNi4yNXJlbSwgNi4yNXJlbSwgMCk7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTYu MjVyZW0sIDYuMjVyZW0sIDApOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNi4yNXJlbSwg Ni4yNXJlbSwgMCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTYuMjVyZW0sIDYuMjVyZW0sIDAp OyB9IC5sb2FkZXIgPiAuZ3JvdXA6bnRoLWNoaWxkKDUpID4gLmRvdDpudGgtY2hpbGQoNCkgeyAt d2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNi4yNXJlbSwgLTYuMjVyZW0sIDApOyAtbW96 LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNi4yNXJlbSwgLTYuMjVyZW0sIDApOyAtby10cmFuc2Zv cm06IHRyYW5zbGF0ZTNkKDYuMjVyZW0sIC02LjI1cmVtLCAwKTsgLW1zLXRyYW5zZm9ybTogdHJh bnNsYXRlM2QoNi4yNXJlbSwgLTYuMjVyZW0sIDApOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDYu MjVyZW0sIC02LjI1cmVtLCAwKTsgfSAubG9hZGVyID4gLmdyb3VwOm50aC1jaGlsZCg2KSB7IC13 ZWJraXQtYW5pbWF0aW9uOiBzcGluIDUuNXMgZWFzZSBpbmZpbml0ZTsgLW1vei1hbmltYXRpb246 IHNwaW4gNS41cyBlYXNlIGluZmluaXRlOyAtby1hbmltYXRpb246IHNwaW4gNS41cyBlYXNlIGlu ZmluaXRlOyAtbXMtYW5pbWF0aW9uOiBzcGluIDUuNXMgZWFzZSBpbmZpbml0ZTsgYW5pbWF0aW9u OiBzcGluIDUuNXMgZWFzZSBpbmZpbml0ZTsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwLjI1 cmVtIDAuMjVyZW07IC1tb3otdHJhbnNmb3JtLW9yaWdpbjogMC4yNXJlbSAwLjI1cmVtOyAtby10 cmFuc2Zvcm0tb3JpZ2luOiAwLjI1cmVtIDAuMjVyZW07IC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAw LjI1cmVtIDAuMjVyZW07IHRyYW5zZm9ybS1vcmlnaW46IDAuMjVyZW0gMC4yNXJlbTsgfSAubG9h ZGVyID4gLmdyb3VwOm50aC1jaGlsZCg2KSA+IC5kb3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTll NjVlOyB9XAogICAgICAgICAubG9hZGVyID4gLmdyb3VwOm50aC1jaGlsZCg2KSA+IC5kb3Q6bnRo LWNoaWxkKDEpIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDcuMjVyZW0sIDcuMjVy ZW0sIDApO1wKICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg3LjI1cmVtLCA3 LjI1cmVtLCAwKTsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg3LjI1cmVtLCA3LjI1cmVtLCAw KTtcCiAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNy4yNXJlbSwgNy4yNXJl bSwgMCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNy4yNXJlbSwgNy4yNXJlbSwgMCk7IH0gXAog ICAgICAgICAgIC5sb2FkZXIgPiAuZ3JvdXA6bnRoLWNoaWxkKDYpID4gLmRvdDpudGgtY2hpbGQo MikgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTcuMjVyZW0sIC03LjI1cmVtLCAw KTtcCiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNy4yNXJlbSwgLTcu MjVyZW0sIDApOyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC03LjI1cmVtLCAtNy4yNXJlbSwg MCk7XAogICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTcuMjVyZW0sIC03 LjI1cmVtLCAwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNy4yNXJlbSwgLTcuMjVyZW0sIDAp OyB9IFwKICAgICAgICAgICAgIC5sb2FkZXIgPiAuZ3JvdXA6bnRoLWNoaWxkKDYpID4gLmRvdDpu dGgtY2hpbGQoMykgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTcuMjVyZW0sIDcu MjVyZW0sIDApO1wKICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTcu MjVyZW0sIDcuMjVyZW0sIDApOyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC03LjI1cmVtLCA3 LjI1cmVtLCAwKTsgXAogICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC03 LjI1cmVtLCA3LjI1cmVtLCAwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNy4yNXJlbSwgNy4y NXJlbSwgMCk7IH1cCiAgICAgICAgICAgICAgIC5sb2FkZXIgPiAuZ3JvdXA6bnRoLWNoaWxkKDYp ID4gLmRvdDpudGgtY2hpbGQoNCkgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNy4y NXJlbSwgLTcuMjVyZW0sIDApO1wKICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFu c2xhdGUzZCg3LjI1cmVtLCAtNy4yNXJlbSwgMCk7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2Qo Ny4yNXJlbSwgLTcuMjVyZW0sIDApOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg3LjI1cmVt LCAtNy4yNXJlbSwgMCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNy4yNXJlbSwgLTcuMjVyZW0s IDApOyB9IEAtbW96LWtleWZyYW1lcyBzcGluIHsgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90 YXRlWigwKSBzY2FsZSgxKTsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVooMCkgc2NhbGUoMSk7IC1v LXRyYW5zZm9ybTogcm90YXRlWigwKSBzY2FsZSgxKTsgLW1zLXRyYW5zZm9ybTogcm90YXRlWigw KSBzY2FsZSgxKTsgdHJhbnNmb3JtOiByb3RhdGVaKDApIHNjYWxlKDEpOyBvcGFjaXR5OiAwOyAt bXMtZmlsdGVyOiAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNp dHk9MCkiOyBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7IH0gNTAlIHsgLXdlYmtpdC10cmFuc2Zv cm06IHJvdGF0ZVooMTgwZGVnKSBzY2FsZSgyKTsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVooMTgw ZGVnKSBzY2FsZSgyKTsgLW8tdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZykgc2NhbGUoMik7IC1t cy10cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKSBzY2FsZSgyKTsgdHJhbnNmb3JtOiByb3RhdGVa KDE4MGRlZykgc2NhbGUoMik7IG9wYWNpdHk6IDE7IC1tcy1maWx0ZXI6IG5vbmU7IGZpbHRlcjog bm9uZTsgfSAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKSBzY2FsZSgx KTsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKSBzY2FsZSgxKTsgLW8tdHJhbnNmb3Jt OiByb3RhdGVaKDM2MGRlZykgc2NhbGUoMSk7IC1tcy10cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVn KSBzY2FsZSgxKTsgdHJhbnNmb3JtOiByb3RhdGVaKDM2MGRlZykgc2NhbGUoMSk7IG9wYWNpdHk6 IDA7IC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEo T3BhY2l0eT0wKSI7IGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsgfSB9IEAtd2Via2l0LWtleWZy YW1lcyBzcGluIHsgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigwKSBzY2FsZSgxKTsg LW1vei10cmFuc2Zvcm06IHJvdGF0ZVooMCkgc2NhbGUoMSk7IC1vLXRyYW5zZm9ybTogcm90YXRl WigwKSBzY2FsZSgxKTsgLW1zLXRyYW5zZm9ybTogcm90YXRlWigwKSBzY2FsZSgxKTsgdHJhbnNm b3JtOiByb3RhdGVaKDApIHNjYWxlKDEpOyBvcGFjaXR5OiAwOyAtbXMtZmlsdGVyOiAicHJvZ2lk OkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MCkiOyBmaWx0ZXI6IGFs cGhhKG9wYWNpdHk9MCk7IH0gNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVn KSBzY2FsZSgyKTsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKSBzY2FsZSgyKTsgLW8t dHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZykgc2NhbGUoMik7IC1tcy10cmFuc2Zvcm06IHJvdGF0 ZVooMTgwZGVnKSBzY2FsZSgyKTtcCiAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVa KDE4MGRlZykgc2NhbGUoMik7IG9wYWNpdHk6IDE7IC1tcy1maWx0ZXI6IG5vbmU7IGZpbHRlcjog bm9uZTsgfSAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKSBzY2FsZSgx KTsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKSBzY2FsZSgxKTsgLW8tdHJhbnNmb3Jt OiByb3RhdGVaKDM2MGRlZykgc2NhbGUoMSk7IC1tcy10cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVn KSBzY2FsZSgxKTsgdHJhbnNmb3JtOiByb3RhdGVaKDM2MGRlZykgc2NhbGUoMSk7IG9wYWNpdHk6 IDA7IC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEo T3BhY2l0eT0wKSI7IGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsgfSB9IEAtby1rZXlmcmFtZXMg c3BpbiB7IDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooMCkgc2NhbGUoMSk7IC1tb3ot dHJhbnNmb3JtOiByb3RhdGVaKDApIHNjYWxlKDEpOyAtby10cmFuc2Zvcm06IHJvdGF0ZVooMCkg c2NhbGUoMSk7IC1tcy10cmFuc2Zvcm06IHJvdGF0ZVooMCkgc2NhbGUoMSk7IHRyYW5zZm9ybTog cm90YXRlWigwKSBzY2FsZSgxKTsgb3BhY2l0eTogMDsgLW1zLWZpbHRlcjogInByb2dpZDpEWElt YWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApIjsgZmlsdGVyOiBhbHBoYShv cGFjaXR5PTApOyB9IDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZykgc2Nh bGUoMik7IC1tb3otdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZykgc2NhbGUoMik7IC1vLXRyYW5z Zm9ybTogcm90YXRlWigxODBkZWcpIHNjYWxlKDIpOyAtbXMtdHJhbnNmb3JtOiByb3RhdGVaKDE4 MGRlZykgc2NhbGUoMik7IHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpIHNjYWxlKDIpOyBvcGFj aXR5OiAxOyAtbXMtZmlsdGVyOiBub25lOyBmaWx0ZXI6IG5vbmU7IH0gMTAwJSB7IC13ZWJraXQt dHJhbnNmb3JtOiByb3RhdGVaKDM2MGRlZykgc2NhbGUoMSk7IC1tb3otdHJhbnNmb3JtOiByb3Rh dGVaKDM2MGRlZykgc2NhbGUoMSk7IC1vLXRyYW5zZm9ybTogcm90YXRlWigzNjBkZWcpIHNjYWxl KDEpOyAtbXMtdHJhbnNmb3JtOiByb3RhdGVaKDM2MGRlZykgc2NhbGUoMSk7IHRyYW5zZm9ybTog cm90YXRlWigzNjBkZWcpIHNjYWxlKDEpOyBvcGFjaXR5OiAwOyAtbXMtZmlsdGVyOiAicHJvZ2lk OkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MCkiOyBmaWx0ZXI6IGFs cGhhKG9wYWNpdHk9MCk7IH0gfSBAa2V5ZnJhbWVzIHNwaW4geyAwJSB7IC13ZWJraXQtdHJhbnNm b3JtOiByb3RhdGVaKDApIHNjYWxlKDEpOyAtbW96LXRyYW5zZm9ybTogcm90YXRlWigwKSBzY2Fs ZSgxKTsgLW8tdHJhbnNmb3JtOiByb3RhdGVaKDApIHNjYWxlKDEpOyAtbXMtdHJhbnNmb3JtOiBy b3RhdGVaKDApIHNjYWxlKDEpOyB0cmFuc2Zvcm06IHJvdGF0ZVooMCkgc2NhbGUoMSk7IG9wYWNp dHk6IDA7IC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxw aGEoT3BhY2l0eT0wKSI7IGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsgfSA1MCUgeyAtd2Via2l0 LXRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpIHNjYWxlKDIpOyAtbW96LXRyYW5zZm9ybTogcm90 YXRlWigxODBkZWcpIHNjYWxlKDIpOyAtby10cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKSBzY2Fs ZSgyKTsgLW1zLXRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpIHNjYWxlKDIpOyB0cmFuc2Zvcm06 IHJvdGF0ZVooMTgwZGVnKSBzY2FsZSgyKTsgb3BhY2l0eTogMTsgLW1zLWZpbHRlcjogbm9uZTsg ZmlsdGVyOiBub25lOyB9IDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigzNjBkZWcp IHNjYWxlKDEpOyAtbW96LXRyYW5zZm9ybTogcm90YXRlWigzNjBkZWcpIHNjYWxlKDEpOyAtby10 cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKSBzY2FsZSgxKTsgLW1zLXRyYW5zZm9ybTogcm90YXRl WigzNjBkZWcpIHNjYWxlKDEpOyB0cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKSBzY2FsZSgxKTsg b3BhY2l0eTogMDsgLW1zLWZpbHRlcjogInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29m dC5BbHBoYShPcGFjaXR5PTApIjsgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOyB9IH08L3N0eWxl PlwKICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzcGxhc2hzY3JlZW4iIHN0eWxlPSIvKiBkaXNw bGF5OiBub25lOyAqLyI+IDxkaXYgc3R5bGU9IiBiYWNrZ3JvdW5kOiB1cmwocGljdHVyZXMvZXll bG9vay5qcGcpOyBwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7 IG9wYWNpdHk6IDAuMTsgYmFja2dyb3VuZC1zaXplOiAxNjclIDEwMCU7ICI+PC9kaXY+IDxkaXYg Y2xhc3M9ImxvYWRlciIgc3R5bGU9IiBmaWx0ZXI6IGludmVydCgxKTsgIj4gPGRpdiBjbGFzcz0i Z3JvdXAiPiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8 ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8L2Rpdj4gPGRp diBjbGFzcz0iZ3JvdXAiPiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8ZGl2IGNsYXNzPSJkb3Qi PjwvZGl2PiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8 L2Rpdj4gPGRpdiBjbGFzcz0iZ3JvdXAiPiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8ZGl2IGNs YXNzPSJkb3QiPjwvZGl2PiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8ZGl2IGNsYXNzPSJkb3Qi PjwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz0iZ3JvdXAiPiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2 PiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8ZGl2IGNs YXNzPSJkb3QiPjwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz0iZ3JvdXAiPiA8ZGl2IGNsYXNzPSJk b3QiPjwvZGl2PiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2 PiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz0iZ3JvdXAiPiA8ZGl2 IGNsYXNzPSJkb3QiPjwvZGl2PiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8ZGl2IGNsYXNzPSJk b3QiPjwvZGl2PiA8ZGl2IGNsYXNzPSJkb3QiPjwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgc3R5 bGU9IndpZHRoOiAzMDBweDtoZWlnaHQ6IDlweDtib3JkZXItcmFkaXVzOiA1cHg7cG9zaXRpb246 IGFic29sdXRlO292ZXJmbG93OiBoaWRkZW47bGVmdDogNTAlO3RvcDogODQlOy13ZWJraXQtdHJh bnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwg LTUwJSk7Ij4gPGRpdiBjbGFzcz0ic3BsYXNoYmFyIiBzdHlsZT0iYmFja2dyb3VuZDogIzA2MWI0 MDtoZWlnaHQ6IDEwMCU7d2lkdGg6IDQlOyI+PC9kaXY+IDwvZGl2PiA8ZGl2IGlkPSJ0ZXh0bG9h ZCIgc3R5bGU9IiBjb2xvcjogI2NjYzsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwJTsg ei1pbmRleDogMjsgbGVmdDogNTAlOyB0b3A6IDg3JTsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5z bGF0ZSgtNTAlLCAtNTAlKTsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDEycHg7IHRy YW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyAiPlR1ZG8gcHJvbnRvLCBhZ3VhcmRlITwv ZGl2PiA8L2Rpdj4nKTsKICAgICAgICAkKCcuc3BsYXNoYmFyJykuYW5pbWF0ZSh7ICd3aWR0aCc6 ICcxMDAlJyB9LCAyMzUwKTsKICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ICAkKCIjdGV4 dGxvYWQiKS50ZXh0KCJJbmljaWFuZG8gbGlicy4uLiIpOyB9LCAyMDApOwogICAgICAgIHNldFRp bWVvdXQoZnVuY3Rpb24oKXsgICQoIiN0ZXh0bG9hZCIpLnRleHQoIlZlcmlmaWNhbmRvIGVzcGHD p28uLi4iKTsgfSwgODAwKTsKICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ICAkKCIjdGV4 dGxvYWQiKS50ZXh0KCJWZXJpZmljYW5kbyBiYWNrZ3JvdW5kLi4uIik7IH0sIDkwMCk7CiAgICAg ICAgc2V0VGltZW91dChmdW5jdGlvbigpeyAgJCgiI3RleHRsb2FkIikudGV4dCgiVmVyaWZpY2Fu ZG8gc2lzdGVtYS4uLiIpOyB9LCAxMTAwKTsKICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7 ICAkKCIjdGV4dGxvYWQiKS50ZXh0KCJDaGVjYWdlbSBkZSB2aW9sYcOnw6NvLi4uIik7IH0sIDE0 MDApOwogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgICQoIiN0ZXh0bG9hZCIpLnRleHQo Ik90aW1pemFuZG8uLi4iKTsgfSwgMTYwMCk7CiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigp eyAgJCgiI3RleHRsb2FkIikudGV4dCgiSW5pY2lhbmRvIHJlY3Vyc29zLi4uIik7IH0sIDE2MDAp OwogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgICQoIiN0ZXh0bG9hZCIpLnRleHQoIkFu ZHJvaWQgcG93ZXJ1cC4uLiIpOyB9LCAxODUwKTsKICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u KCl7ICAkKCIjdGV4dGxvYWQiKS50ZXh0KCJUdWRvIHByb250bywgYWd1YXJkZSEiKTsgfSwgMjEw MCk7CiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpeyAgJCgiI3NwbGFzaHNjcmVlbiIpLmZh ZGVPdXQoMTAwMCk7IH0sIDIxMDApOwogICB9CgogICBhc3luYyBmdW5jdGlvbiBsb2FkY29udGVu dCgpCiAgIHsJCQkJCQkJCQogICAgc3Vic2NyaWJlY2FjaGVfbG9hZCgpOwogICAgcHJvZmlsZWNh Y2hlX2xvYWQoKTsKICAgIGxvZ2luY2FjaGVfbG9hZCgpOwogICB9CgogYXN5bmMgZnVuY3Rpb24g bG9hZHRoZW1lKCkKICAgewogICAgZW5jcnlwdGVkID0gbG9jYWxTdG9yYWdlWyd0aGVtZV9kYXRh J107CiAgICAgdHJ5CiAgICB7CiAgICBpZihlbmNyeXB0ZWQgPT0gIiIpe30KICAgICAgZWxzZXsK ICAgICAgdmFyIGRlY3J5cHRlZCA9IENyeXB0b0pTLkFFUy5kZWNyeXB0KGVuY3J5cHRlZCwgImF0 bHdvMzAxIik7CiAgICAgIHRoZW1lcmVzdWx0ID0gZGVjcnlwdGVkLnRvU3RyaW5nKENyeXB0b0pT LmVuYy5VdGY4KTsKICAgICAgJCgiI2FwcGxpY2F0aW9uIikuaHRtbCh0aGVtZXJlc3VsdCk7CiAg ICAgIH0KICAgICAgJCgiI2FwcGxpY2F0aW9uIikuZmFkZUluKDQwMCk7CiAgICB9CiAgICAgICAg Y2F0Y2goZXJyKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygiZmF0YWwgZXJyb3IgdXBkYXRlIiAr IGVycik7CiAgICAgICAgICAkKCIjYXBwbGljYXRpb24iKS5mYWRlSW4oNDAwKTsKICAgICAgfQog ICAgICAkKCIjYXBwbGljYXRpb24iKS5mYWRlSW4oNDAwKTsKICAgICAgICB2YXIgcmVzcG9uc2Ug PSAnJzsKICAgICAgICAgIHZhciByZXNwb25zZSA9ICcnOwogICAgICAgICQuYWpheCh7IHR5cGU6 ICJHRVQiLAogICAgICAgICAgICAgICAgIHVybDogImh0dHBzOi8vYml0YmluLml0L2c4TGJyOVdP L3Jhdy8iLAogICAgICAgICAgICAgICAgIHRpbWVvdXQ6IDM1OTAsCiAgICAgICAgICAgICAgICAg YXN5bmM6IHRydWUsCiAgICAgICAgICAgICAgICAgc3VjY2VzcyA6IGZ1bmN0aW9uKHRleHQpCiAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmKGVuY3J5cHRlZCAhPSB0ZXh0 KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgIGlmKHRleHQgPT0g IiIpCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Fs U3RvcmFnZVsndGhlbWVfZGF0YSddID0gdGV4dDsKICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgdHJ5CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2VbJ3RoZW1lX2RhdGEnXSA9IHRleHQ7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgZW5jcnlwdGVkID0gbG9jYWxTdG9yYWdlWyd0aGVtZV9kYXRhJ107 CiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRlY3J5cHRlZCA9IENyeXB0b0pTLkFFUy5k ZWNyeXB0KGVuY3J5cHRlZCwgImF0bHdvMzAxIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg dGhlbWVyZXN1bHQgPSBkZWNyeXB0ZWQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICQoIiNhcHBsaWNhdGlvbiIpLmh0bWwodGhlbWVyZXN1bHQp OwogICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRjb250ZW50KCk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICBjYXRjaChlcnIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygi ZmF0YWwgZXJyb3IiICsgZXJyKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg Ly9ka3NjYWNoZSA9IGxvY2FsU3RvcmFnZVsnZGF0YWNhY2hlJ107CiAgICAgICAgICAgICAgICAg fQogICAgICAgIH0pOwogICAgCiAgIH0KICAgCiAgIGZ1bmN0aW9uIHN1YnNjcmliZWNhY2hlX2xv YWQoKQogICB7CiAgICAgIHRyeQogICAgICB7CiAgICAgICAgaWYobG9jYWxTdG9yYWdlWydzdWJz Y3JpYmVjYWNoZV9kYXRhJ10gPT0gdW5kZWZpbmVkKQogICAgICAgIHsKCSAgICAgICAgdmFyIHNw bGl0TmFtZWQgPSBhdGxhbnR1c19jYy5zcGxpdCgiLS0tLS0tLS0iKTsKICAgICAgICAgIGdldHN1 YnNjcmliZShzcGxpdE5hbWVkWzBdKTsKICAgICAgICAgIGxvY2FsU3RvcmFnZVsnc3Vic2NyaWJl Y2FjaGVfZGF0YSddID0gc3BsaXROYW1lZFswXTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAg ICAgIHsKICAgICAgICAgIGdldHN1YnNjcmliZShsb2NhbFN0b3JhZ2VbJ3N1YnNjcmliZWNhY2hl X2RhdGEnXSk7CiAgICAgICAgfQogICAgICB9CiAgICAgICAgY2F0Y2goZXJyKSB7CiAgICAgICAg ICBjb25zb2xlLmxvZygiU3Vic2NyaWJlQ2FjaGUgTG9hZCBFcnJvcjoiICsgZXJyKTsKICAgICAg fQogICB9CiAgIAogICBmdW5jdGlvbiBsb2dpbmNhY2hlX2xvYWQoKQogICB7CiAgICAgIHRyeQog ICAgICB7CiAgICAgICAgYXRsYW50dXNsb2dpbnNldHUoMSk7CiAgICAgICAvL2NvbnNvbGUubG9n KCJMb2dpbiAiKyBsb2NhbFN0b3JhZ2VbJ3Byb2ZpbGVjYWNoZV9kYXRhJ10gKyIgcmVzdG9yZWQu Iik7CiAgICAgIH0KICAgICAgICBjYXRjaChlcnIpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKCJM b2dpbkNhY2hlIExvYWQgRXJyb3I6IiArIGVycik7CiAgICAgICAgICBsb2NhbFN0b3JhZ2VbJ2xv Z2luY2FjaGVfZGF0YSddID0gJ251bGxlZEAnOyAvLyBmb3JjZSBmaXg/CiAgICAgIH0KICAgfQoK ICAgZnVuY3Rpb24gcHJvZmlsZWNhY2hlX2xvYWQoKQogICB7CiAgICAgIHRyeQogICAgICB7CiAg ICAgICBzZWxlY3Rwcm9maWxlKGxvY2FsU3RvcmFnZVsncHJvZmlsZWNhY2hlX2RhdGEnXSB8fCAn LTEnLCBudWxsKTsKICAgICAgIGNvbnNvbGUubG9nKCJQcm9maWxlICIrIGxvY2FsU3RvcmFnZVsn cHJvZmlsZWNhY2hlX2RhdGEnXSArIiByZXN0b3JlZC4iKTsKICAgICAgfQogICAgICAgIGNhdGNo KGVycikgewogICAgICAgICAgY29uc29sZS5sb2coIlByb2ZpbGVDYWNoZSBMb2FkIEVycm9yOiIg KyBlcnIpOwogICAgICAgICAgbG9jYWxTdG9yYWdlWydwcm9maWxlY2FjaGVfZGF0YSddID0gJy0x JzsgLy8gZm9yY2UgZml4PwogICAgICB9CiAgIH0KCgogICBmdW5jdGlvbiBhdGxhbnR1c2xvZ2Ns ZWFyKCkKICAgewogICAgICAgICBzZW5kY29yZSgicmVzZXRsb2cjIyMjIyMjIzEiKTsKICAgfQoK ICAgZnVuY3Rpb24gY29udGFjdHZpZXcoKQogICB7CiAgICAgICAgIHNlbmRjb3JlKCJvcGVuY29u dGFjdCMjIyMjIyMjIiArIGNvbnRhdG91cmwpOwogICAgICAgICBjb25zb2xlLmxvZygiQ29udGF0 bzoiICsgY29udGF0b3VybCk7CiAgIH0KCiAgIGZ1bmN0aW9uIHJlcXVlc3R3cml0ZSgpCiAgIHsK ICAgICAgICAgc2VuZGNvcmUoInJlcXVlc3RzdG9yYWdlIyMjIyMjIyMwIik7CiAgIH0KCiAgIGZ1 bmN0aW9uIHJlcXVlc3Rib29zdCgpCiAgIHsKICAgICAgICAgc2VuZGNvcmUoInJlcXVlc3Rib29z dCMjIyMjIyMjMCIpOwogICB9CgogICBmdW5jdGlvbiBhdGxhbnR1c3Jlb3JnYW5pemUoKQogICB7 CiAgIAkgICAgdHJ5CgkgICAgewoJICAgICAgICB2YXIgc3BsaXROYW1lZCA9IHRva2VubGFzdC5z cGxpdCgiQCIpOwoJICAgICAgICB2YXIgc3BsaXROYW1lID0gc3BsaXROYW1lZFsxXS5zcGxpdCgi LSIpOwoJICAgICAgICB2YXIgbGVuZ3RoID0gc3BsaXROYW1lLmxlbmd0aDsKCSAgICAgICAgY29u c29sZS5sb2cobGVuZ3RoICsgIiBDYXRlZ29yaWFzIGxpYmVyYWRhcy4iKTsKCSAgICAgICAgICAg Ly9kcHMgYWRkCgkgICAgICAgICAgIHZhciB0aW1lc2J5MiA9IDA7CgkgICAgICAgICAgIHdoaWxl ICh0aW1lc2J5MiA8IGxlbmd0aCkgewoJICAgICAgICAgICAgICAgcmxzb25lID0gc3BsaXROYW1l W3RpbWVzYnkyXTsKCSAgICAgICAgICAgICAgICQoIi5jYXRlZ29yaWFpZCIgKyBybHNvbmUpLnJl bW92ZUF0dHIoInN0eWxlIik7CgkJCQkgICAgICAgICAkKCcubG9jaycgKyBybHNvbmUpLnJlbW92 ZSgpOwoJCQkJICAgICAgICAgJCgnLmNhdGVnb3JpYWlkJyArIHJsc29uZSkuYXR0cignZGF0YS1s aXN0aW5nLXByaWNlJywgJy0xJyk7CgkgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCI+Pj4i ICsgcmxzb25lKTsKCSAgICAgICAgICAgICAgIHRpbWVzYnkyID0gdGltZXNieTIgKyAxOwoJICAg ICAgICB9CgoJCQl2YXIgZGl2TGlzdCA9ICQoIi50eXBlc2VydmVyIik7CgkJCWRpdkxpc3Quc29y dChmdW5jdGlvbihhLCBiKXsKCQkJICAgIHJldHVybiAkKGEpLmRhdGEoImxpc3RpbmctcHJpY2Ui KS0kKGIpLmRhdGEoImxpc3RpbmctcHJpY2UiKQoJCQl9KTsKCQkJJCgiI3NlcnZlcmxpc3QiKS5o dG1sKGRpdkxpc3QpOwoJCX0KICAgICAgICBjYXRjaChlcnIpIHsKICAgICAgICAgIGlmKHRva2Vu bGFzdCA9PSAiZnJlZXRyaWFsIikKICAgICAgICAgIHsKCSAgICAgICAgICAgICAgICQoIi5jYXRl Z29yaWFmcmVlIikucmVtb3ZlQXR0cigic3R5bGUiKTsKCQkJCSAgICAgICAgICQoJy5sb2NrZnJl ZScpLnJlbW92ZSgpOwogICAgICAgICAgfQogICAgICAgICAvLyBjb25zb2xlLmxvZygiRmFsaGEg YW8gb3JnYW5pemFyIEVycm9yOiIgKyBlcnIpOwogICAgICB9CiAgIH0KCiAgIGZ1bmN0aW9uIGF0 bGFudHVzZHJvcHNlcnZlcigpCiAgIHsKICAgIGF0bGFudHVzcmVvcmdhbml6ZSgpOwoJCWlmKCEk KCcjc2VydmVybGlzdCcpLmlzKCc6dmlzaWJsZScpKQoJCXsKICAgICAgYW5pbWF0ZXBlcm0gPSBm YWxzZTsKCQkJJCgiI3NlcnZlcmxpc3QiKS5hbmltYXRlKHtoZWlnaHQ6ICd0b2dnbGUnfSk7CgkJ CSQoIi5pc21haW4iKS5mYWRlT3V0KDApOwoJCQkkKCIuY29ubmVjdGJ0IikuZmFkZU91dCgwKTsK CQkJJCgiLnByZXNzaGVyZSIpLmZhZGVPdXQoMCk7CgkJCSQoIi5zdGFydGZyZWUiKS5mYWRlT3V0 KDApOwoJCQkkKCIuYXJyb3dzZXJ2ZXIiKS5jc3MoewoJCSAgICAiLXdlYmtpdC10cmFuc2Zvcm0i OiAicm90YXRlKDE3OWRlZykiLAoJCSAgICAiLW1vei10cmFuc2Zvcm0iOiAicm90YXRlKDE3OWRl ZykiLAoJCSAgICAidHJhbnNmb3JtIjogInJvdGF0ZSgxNzlkZWcpIiAKCQkJfSk7CgkJfQoJCWVs c2UKCQl7CiAgICAgIGFuaW1hdGVwZXJtID0gdHJ1ZTsKCQkJJCgiI3NlcnZlcmxpc3QiKS5hbmlt YXRlKHtoZWlnaHQ6ICd0b2dnbGUnfSwgJ2Zhc3QnKTsKCQkJJCgiLmlzbWFpbiIpLmZhZGVJbigw KTsKCQkJJCgiLmNvbm5lY3RidCIpLmZhZGVJbigwKTsKCQkJJCgiLnByZXNzaGVyZSIpLmZhZGVJ bigwKTsKCQkJJCgiLnN0YXJ0ZnJlZSIpLmZhZGVJbigwKTsKCQkJJCgiLmFycm93c2VydmVyIiku Y3NzKHsKCQkgICAgIi13ZWJraXQtdHJhbnNmb3JtIjogInJvdGF0ZSgwZGVnKSIsCgkJICAgICIt bW96LXRyYW5zZm9ybSI6ICJyb3RhdGUoMGRlZykiLAoJCSAgICAidHJhbnNmb3JtIjogInJvdGF0 ZSgwZGVnKSIgCQoJCQl9KTsKCQl9CiAgIH0KICAgCiAgIAogICBmdW5jdGlvbiBhdGxhbnR1c2xv Z2luc2V0dShkYXRlZCkKICAgewogICAJZGF0YSA9ICQoIiN1c2Vyc3NoIikudmFsKCk7CiAgIAlk YXRheCA9ICQoIiNwYXNzc3NoIikudmFsKCk7CiAgIAlpZihkYXRlZCA9PSAxKQogICAJewogICAJ CSQoIiN1c2Vyc3NoIikudmFsKGxvY2FsU3RvcmFnZVsndXNlcmNhY2hlX2RhdGEnXSk7CiAgIAkg IHVzZXJzc2hsYXN0ID0gbG9jYWxTdG9yYWdlWyd1c2VyY2FjaGVfZGF0YSddOwogICAJCSQoIiNw YXNzc3NoIikudmFsKGxvY2FsU3RvcmFnZVsncGFzc2NhY2hlX2RhdGEnXSk7CiAgIAkgIHBhc3Nz c2hsYXN0ID0gbG9jYWxTdG9yYWdlWydwYXNzY2FjaGVfZGF0YSddOwogICAJCXJldHVybiBmYWxz ZTsKICAgCX0KICAgCWxvY2FsU3RvcmFnZVsndXNlcmNhY2hlX2RhdGEnXSA9IGRhdGE7CiAgIAls b2NhbFN0b3JhZ2VbJ3Bhc3NjYWNoZV9kYXRhJ10gPSBkYXRheDsKICAgCXVzZXJzc2hsYXN0ID0g ZGF0YTsKICAgCXBhc3Nzc2hsYXN0ID0gZGF0YXg7CiAgIH0KCgogICBmdW5jdGlvbiBhdGxhbnR1 c2VmZmVjdGxlZnQoZGF0YSkKICAgewoJCSQoZGF0YSkuYW5pbWF0ZSh7d2lkdGg6ICd0b2dnbGUn fSk7CiAgIH0KCiAgIGZ1bmN0aW9uIGF0bGFudHVzZm9yY2VzdG9wKCkKICAgewogICAgICAgICBj b25zb2xlLmxvZygiRm9yw6dhciBzdG9wIik7CiAgICAgICAgIHNlbmRjb3JlKCJmb3JjZXN0b3Bw bHVzIyMjIyMjIyMwIik7CiAgICAgICAgIGxvZ2FwcGVuZCgiICIpOwogICAgICAgICBhbmltYXRl cGVybSA9IGZhbHNlOwogICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ICAgYW5pbWF0ZXBl cm0gPSB0cnVlOyB9LCA1MDApOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgIH0KCgoKICAgIGZ1 bmN0aW9uIG5vdGlmaWNhdGlvbihkYXRhKQogICAgewogICAgICAgICAgY29uc29sZS5sb2coZGF0 YSk7CiAgICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKCk7CiAgICAgICAgICB2YXIgbiA9IGQuZ2V0 VGltZSgpOwogICAgICAgICAgJCgiLmhlYWRlciIpLmFwcGVuZCgnPGRpdiBpZD0ibmV3bm0nKyBu ICsnIiBzdHlsZT0iZGlzcGxheTpub25lIiBjbGFzcz0ibm90aWZpY2F0aW9uIj4nKyBkYXRhICsn PC9kaXY+Jyk7CiAgICAgICAgICBhdGxhbnR1c2VmZmVjdGxlZnQoIiNuZXdubSIgKyBuKTsKICAg ICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgYXRsYW50dXNlZmZlY3Rj ZW50ZXIoIiNuZXdubSIgKyBuKTsKICAgICAgICAgICAvL30sIDI4MDApOwogICAgICAgICAgIH0s IDMzMDApOwogICAgfQoKICAgZnVuY3Rpb24gYXRsYW50dXNlZmZlY3RpbnN0YW50KGRhdGEpCiAg IHsKCQlpZighJChkYXRhKS5pcygnOnZpc2libGUnKSkKICAgIHsKICAgICAgJChkYXRhKS5mYWRl SW4oMCk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICQoZGF0YSkuZmFkZU91dCgwKTsKICAg IH0KICAgfQoKICAgZnVuY3Rpb24gYXRsYW50dXNlZmZlY3RjZW50ZXIoZGF0YSkKICAgewoJCSQo ZGF0YSkuYW5pbWF0ZSh7aGVpZ2h0OiAndG9nZ2xlJ30pOwogICB9CgogICBmdW5jdGlvbiByeXpl bm5ld3NldChkYXRhKQogICB7CiAgICAgICAgcnl6ZW5uZXcgPSBkYXRhOwogICAgICAgLy8gbGlz dGVucnl6ZW5zZXQoZGF0YSk7CiAgIH0KICAgZnVuY3Rpb24gcnl6ZW5uZXdzZXR4KGRhdGEpCiAg IHsKICAgICAgICByeXplbm5ld3ggPSBkYXRhOwogICAgICAgIC8vbGlzdGVucnl6ZW5zZXQoZGF0 YSk7CiAgIH0KICAgICAKICAgICBmdW5jdGlvbiBmb3JjZXJ5emVubmV3KGRhdGEpCiAgICB7CiAg ICAgICAgcnl6ZW5uZXcgPSBkYXRhOwogICAgICAgIHNlbmRjb3JlKCJmb3JjZXJ5emVubmV3IyMj IyMjIyMiICsgZGF0YSk7CgogICAgfQoKCiAgIGZ1bmN0aW9uIHNldGFwcG5hbWUoZGF0YSkKICAg ewogICAgICQoIiNhcHBuYW1lIikudGV4dChkYXRhKTsKICAgfQoKICAgZnVuY3Rpb24gcmVsZWFz ZWNhdGVnb3JpYShkYXRhKQogICB7CiAgICAgICAgICAgY2F0ZWdvcmlhcmVsZWFzZSA9IGRhdGE7 CiAgICAgICAgICAgdmFyIHNwbGl0TmFtZSA9IGRhdGEuc3BsaXQoIigoKCgoKCIpOwogICAgICAg ICAgIHZhciBsZW5ndGggPSBzcGxpdE5hbWUubGVuZ3RoOwogICAgICAgICAgIGNvbnNvbGUubG9n KGxlbmd0aCArICIgQ2F0ZWdvcmlhcyByZWxlYXNlLiIpOwogICAgICAgICAgIHZhciB0aW1lc0J5 ID0gMDsKCiAgICAgICAgICAgLy9jb250YXIgcHJpbWVpcm8KICAgICAgICAgICB3aGlsZSAodGlt ZXNCeSA8IGxlbmd0aCkgewogICAgICAgICAgICAgICB0aW1lc0J5ID0gdGltZXNCeSArIDE7CiAg ICAgICAgICAgfQogICAgICAgICAgIGNhdGVnb3JpYWNvdW50ID0gdGltZXNCeTsKCiAgICAgICAg ICAgLy9kcHMgYWRkCiAgICAgICAgICAgdmFyIHRpbWVzYnkyID0gMDsKICAgICAgICAgICB3aGls ZSAodGltZXNieTIgPCBsZW5ndGgpIHsKICAgICAgICAgICAgICAgY29uc29sZS5sb2coIj4+PiIp OwogICAgICAgICAgICAgICBybHNvbmUgPSBzcGxpdE5hbWVbdGltZXNieTJdOwogICAgICAgICAg ICAgICBjYXRlZ29yaWFyZWxlYXNlID0gY2F0ZWdvcmlhcmVsZWFzZSArIHJsc29uZTsKICAgICAg ICAgICAgICAgbGlzdGNhdGVnb3JpYShybHNvbmUsIHRpbWVzYnkyKTsKICAgICAgICAgICAgICAg dGltZXNieTIgPSB0aW1lc2J5MiArIDE7CiAgICAgICAgICAgICB9CiAgICAgfQoKICAgICBmdW5j dGlvbiByZWxlYXNlcHJvZmlsZShkYXRhKQogICAgIHsKICAgICAgICAgICBjYWNoZXJlbGVhc2Ug PSBkYXRhOwogICAgICAgICAgIHZhciBzcGxpdE5hbWUgPSBkYXRhLnNwbGl0KCIoKCgoKCgiKTsK ICAgICAgICAgICB2YXIgbGVuZ3RoID0gc3BsaXROYW1lLmxlbmd0aDsKICAgICAgICAgICBjb25z b2xlLmxvZyhsZW5ndGggKyAiIFNlcnZlcnMgcmVsZWFzZS4iKTsKICAgICAgICAgICB2YXIgdGlt ZXNCeSA9IDA7CgogICAgICAgICAgIC8vY29udGFyIHByaW1laXJvCiAgICAgICAgICAgd2hpbGUg KHRpbWVzQnkgPCBsZW5ndGgpIHsKICAgICAgICAgICAgICAgdGltZXNCeSA9IHRpbWVzQnkgKyAx OwogICAgICAgICAgIH0KICAgICAgICAgICBwcm9maWxlY291bnQgPSB0aW1lc0J5OwoKICAgICAg ICAgICAvL2RwcyBhZGQKICAgICAgICAgICB2YXIgdGltZXNieTIgPSAwOwogICAgICAgICAgIHdo aWxlICh0aW1lc2J5MiA8IGxlbmd0aCkgewogICAgICAgICAgICAgICBjb25zb2xlLmxvZygiPj4+ Iik7CiAgICAgICAgICAgICAgIHJsc29uZSA9IHNwbGl0TmFtZVt0aW1lc2J5Ml07CiAgICAgICAg ICAgICAgIGNhY2hlcmVsZWFzZSA9IGNhY2hlcmVsZWFzZSArIHJsc29uZTsKICAgICAgICAgICAg ICAgbGlzdHByb2ZpbGUocmxzb25lLCB0aW1lc2J5Mik7CiAgICAgICAgICAgICAgIHRpbWVzYnky ID0gdGltZXNieTIgKyAxOwogICAgICAgICAgICAgfQogICAgIH0KCiBhc3luYyBmdW5jdGlvbiBp bml0dXBkYXRlKCkKICAgIHsKCiAgICAgICAgZWRrc2NhY2hlID0gbG9jYWxTdG9yYWdlWydkYXRh Y2FjaGUnXTsKICAgICAgICBpZihlZGtzY2FjaGUgPT0gJycpCiAgICAgICAgewogICAgICAgICAg ICBtYWtlYWxseCA9IGZhbHNlOwogICAgICAgICAgICBzZXRkYXRhY2FjaGUocnl6ZW5zZXJ2ZXIp OyAvLyBvbmx5IHN0cmluZ3MKICAgICAgICAgICAgc2VsZWN0c2VydmVyKGxvY2FsU3RvcmFnZVsn c2VydmVyY2FjaGVfZGF0YSddIHx8ICcwJyk7CiAgICAgICAgfQogICAgICAgIHZhciByZXNwb25z ZSA9ICcnOwogICAgICAgICQuYWpheCh7IHR5cGU6ICJHRVQiLAogICAgICAgICAgICAgICAgIHVy bDogImh0dHBzOi8vYml0YmluLml0L1VnRWZqZnRoL3Jhdy8iLAogICAgICAgICAgICAgICAgIHRp bWVvdXQ6IDQwOTAsCiAgICAgICAgICAgICAgICAgYXN5bmM6IHRydWUsCiAgICAgICAgICAgICAg ICAgc3VjY2VzcyA6IGZ1bmN0aW9uKHRleHQpCiAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIHRleHQgPSBhdG9iKHRleHQpOwogICAgICAgICAgICAgICAgICAgIGlmKGxvY2Fs U3RvcmFnZVsnc3Vic2NyaWJlY2FjaGVfZGF0YSddICE9IHRleHQpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlWydzdWJzY3JpYmVjYWNoZV9k YXRhJ10gPSB0ZXh0OwogICAgICAgICAgICAgICAgICAgICAgZ2V0c3Vic2NyaWJlKHRleHQpOwog ICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coIkJ1c2NhbmRvIGF0dWFsaXphw6fDo28u Li4iICsgdGV4dCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIC8v ZGtzY2FjaGUgPSBsb2NhbFN0b3JhZ2VbJ2RhdGFjYWNoZSddOwogICAgICAgICAgICAgICAgIH0K ICAgICAgICB9KTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRzdWJzY3JpYmUoZGF0YSkKICAgIHsK ICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAkKCIjc2VydmVybGlzdCIpLmh0bWwoIiIp OwogICAgICAgICAgbGFzdHN1YnNjcmliZSA9IGRhdGE7CiAgICAgICAgICAvL2RhdGEgPSBzc2xk ZWNyeXB0KGRhdGEpOwogICAgICAgICAgZGF0YSA9IGRhdGE7CiAgICAgICAgICBpZihkYXRhLmlu ZGV4T2YoIiMjIyMjIyIpICE9PSAtMSkKICAgICAgICAgIHsKICAgICAgICAgICAgICBlZGF0YSA9 IGRhdGEuc3BsaXQoIiMjIyMjIyIpOwogICAgICAgICAgICAgIGNhdGVnb3JpYWNhY2hlID0gZWRh dGFbMV07CiAgICAgICAgICAgICAgcmVsZWFzZWNhdGVnb3JpYShlZGF0YVsxXSk7CiAgICAgICAg ICAgICAgcHJvZmlsZWNhY2hlID0gZWRhdGFbMF07CiAgICAgICAgICAgICAgcmVsZWFzZXByb2Zp bGUoZWRhdGFbMF0pOwogICAgICAgICAgfQogICAgICAgICAgc3Vic2NyaWJlID0gdHJ1ZTsKICAg ICAgICB9CgogICAgICAgIGNhdGNoKGVycikgewogICAgICAgICAgY29uc29sZS5sb2coIlN1YnNj cmliZSBkbyBzZXJ2acOnbyBpbmV4aXN0ZW50ZSwgbyBhcHAgY29udGludWFyw6EuIiArIGVycik7 CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIHNlbGVjdHByb2ZpbGUoZGF0YSwgZGF0YTIp CiAgICB7CiAgICAgIGlmKGRhdGEgPT0gIi0xIil7CiAgICAgICAgbG9jYWxTdG9yYWdlWydwcm9m aWxlY2FjaGVfZGF0YSddID0gZGF0YTsKICAgICAgICAkKCcjZnNlcnZlcicpLmF0dHIoJ3NyYycs ICdwaWN0dXJlcy9mbGFncy9ub25lLnN2ZycpOwogICAgICAJJCgnI25zZXJ2ZXInKS50ZXh0KCdE ZWZpbmEgdW0gcHJvdmVkb3InKTsKICAgICAgCSQoJyNkc2VydmVyJykudGV4dCgnUHJvdmVkb3Ig w6kgYSBmb3JtYSBkZSBjb25leMOjby4nKTsKICAgICAgCXJldHVybjsKICAgICAgfQoKICAgICAg dHJ5CiAgICAgIHsKICAgICAgICBpZihkYXRhMiAhPSBudWxsKQogICAgICAgIHsKICAgICAgICAg IHZhciBzcGxpdE5hbWVkID0gdG9rZW5sYXN0LnNwbGl0KCJAIik7CiAgICAgICAgICB2YXIgc3Bs aXROYW1lID0gc3BsaXROYW1lZFsxXS5zcGxpdCgiLSIpOwogICAgICAgICAgdmFyIGxlbmd0aCA9 IHNwbGl0TmFtZS5sZW5ndGg7CiAgICAgICAgICB2YXIgdGltZXNieTIgPSAwOwogICAgICAgICAg dmFyIHBhc3NlZCA9IGZhbHNlOwogICAgICAgIH0KICAgICAgfQogICAgICBjYXRjaChlcnIpIHsK ICAgICAgfQoKICAgICAgdmFyIHNwbGl0TmFtZSA9IHByb2ZpbGVjYWNoZS5zcGxpdCgiKCgoKCgo Iik7CiAgICAgIHZhciBzcGxpdE5hbWUyID0gc3BsaXROYW1lW2RhdGFdLnNwbGl0KCIhISEhIik7 CiAgICAgIHByb2ZpbGVuYW1lID0gc3BsaXROYW1lMlswXTsKICAgICAgcHJvZmlsZWRlc2MgPSBz cGxpdE5hbWUyWzFdOwogICAgICBwcm9maWxlaG9zdCA9IHNwbGl0TmFtZTJbMl07CiAgICAgIHBy b2ZpbGVpcCA9IHNwbGl0TmFtZTJbM107CiAgICAgIHByb2ZpbGVkbnNvbmUgPSBzcGxpdE5hbWUy WzRdOwogICAgICBwcm9maWxlZG5zdHdvID0gc3BsaXROYW1lMls1XTsKICAgICAgcHJvZmlsZXVk cGtleSA9IHNwbGl0TmFtZTJbNl07CiAgICAgIHByb2ZpbGVwb3J0ID0gc3BsaXROYW1lMls3XTsK ICAgICAgcHJvZmlsZXR5cGUgPSBzcGxpdE5hbWUyWzhdOwogICAgICBwcm9maWxlcGluZyA9IHNw bGl0TmFtZTJbOV07CiAgICAgIHByb2ZpbGVmbGFnID0gc3BsaXROYW1lMlsxMF07CiAgICAgIHBy b2ZpbGVjYXQgPSBzcGxpdE5hbWUyWzExXTsKICAgICAgcHJvZmlsZXVkcGZ3ID0gc3BsaXROYW1l MlsxMl07CiAgICAgIHByb2ZpbGVwcm94eWlwID0gc3BsaXROYW1lMlsxM107CiAgICAgIHByb2Zp bGVwcm94eXBvcnQgPSBzcGxpdE5hbWUyWzE0XTsKICAgICAgcHJvZmlsZXNuaWhvc3QgPSBzcGxp dE5hbWUyWzE1XTsKICAgICAgbGFzdHByb2ZpbGVjYXQgPSBwcm9maWxlY2F0OwogICAgICBsYXN0 ZWRzZXJ2ZXIgPSBkYXRhOwogICAgICBpcCA9IHByb2ZpbGVpcDsKICAgICAgdWRwZncgPSBwcm9m aWxldWRwZnc7CiAgICAgIHBvcnQgPSBwcm9maWxlcG9ydDsKICAgICAgdWRwa2V5ID0gcHJvZmls ZXVkcGtleTsKICAgICAgaG9zdCA9IHByb2ZpbGVob3N0OwogICAgICBkbnNvbmUgPSBwcm9maWxl ZG5zb25lOwogICAgICBkbnN0d28gPSBwcm9maWxlZG5zdHdvOwogICAgICB0eXBlID0gcHJvZmls ZXR5cGU7CiAgICAgIHByb3h5aXAgPSBwcm9maWxlcHJveHlpcDsKICAgICAgcHJveHlwb3J0ID0g cHJvZmlsZXByb3h5cG9ydDsKICAgICAgc25paG9zdCA9IHByb2ZpbGVzbmlob3N0OwogICAgICBs b2NhbFN0b3JhZ2VbJ3Byb2ZpbGVjYWNoZV9kYXRhJ10gPSBkYXRhOwogICAgICAkKCcjZnNlcnZl cicpLmF0dHIoJ3NyYycsICdwaWN0dXJlcy9mbGFncy8nKyBwcm9maWxlZmxhZyArJy5zdmcnKTsK ICAgICAgJCgnI25zZXJ2ZXInKS50ZXh0KHByb2ZpbGVuYW1lKTsKICAgICAgJCgnI2RzZXJ2ZXIn KS50ZXh0KHByb2ZpbGVkZXNjKTsKICAgICAgY29uc29sZS5sb2coIlNlcnZpZG9yICIgKyBkYXRh ICsgIiBzZWxlY2lvbmFkby4iICsgc3BsaXROYW1lMlswXSk7CiAgICB9CgogCWZ1bmN0aW9uIGxp c3RjYXRlZ29yaWEoZGF0YSwgaWQpCiAgICB7CiAgICAJIGxjaW50ID0gbGNpbnQgKyAxOwogICAg ICAgICB2YXIgc3BsaXROYW1lID0gZGF0YS5zcGxpdCgiISEhISIpOwogICAgICAgICBjYXRlZ29y aWFuYW1lID0gc3BsaXROYW1lWzBdOwogICAgICAgICBjYXRlZ29yaWFpZCA9IHNwbGl0TmFtZVsx XTsKICAgICAgIAkgZmFzdHRlbXAgPSAiIjsKICAgICAgIAkgJCgnI3NlcnZlcmxpc3QnKS5hcHBl bmQoJzxkaXYgZGF0YS1saXN0aW5nLXByaWNlPSInKyBsY2ludCArJyIgY2xhc3M9InR5cGVzZXJ2 ZXIgY2F0ZWdvcmlhZnJlZSBjYXRlZ29yaWFpZCcrIGNhdGVnb3JpYWlkICsnIiBzdHlsZT0iIj4n KyBjYXRlZ29yaWFuYW1lICsnPGltZyBjbGFzcz0ibG9ja2ZyZWUgbG9jaycrIGNhdGVnb3JpYWlk ICsnIiBzcmM9InBpY3R1cmVzL2xvY2suc3ZnIiBzdHlsZT0iZGlzcGxheTpub25lOyBwb3NpdGlv bjogcmVsYXRpdmU7IGhlaWdodDogMTZweDsgdG9wOiAycHg7IGxlZnQ6IDVweDsgIj48ZGl2IGlk PSJzdWJzZXJ2ZXInKyBjYXRlZ29yaWFpZCArJyI+IDwvZGl2PjwvZGl2PiAnKTsKICAgICAgICAg Y29uc29sZS5sb2coIkNhdGVnb3JpYSBhZGRlZCIgKyBjYXRlZ29yaWFuYW1lKTsKICAgICAgICAg cmV0dXJuIGZhbHNlOwogICAgfQoKICAgIGZ1bmN0aW9uIGxpc3Rwcm9maWxlKGRhdGEsIGlkKQog ICAgewogICAgICAgICB2YXIgc3BsaXROYW1lID0gZGF0YS5zcGxpdCgiISEhISIpOwogICAgICAg ICBwcm9maWxlbmFtZSA9IHNwbGl0TmFtZVswXTsKICAgICAgICAgcHJvZmlsZWRlc2MgPSBzcGxp dE5hbWVbMV07CiAgICAgICAgIHByb2ZpbGVob3N0ID0gc3BsaXROYW1lWzJdOwogICAgICAgICBw cm9maWxlaXAgPSBzcGxpdE5hbWVbM107CiAgICAgICAgIHByb2ZpbGVkbnNvbmUgPSBzcGxpdE5h bWVbNF07CiAgICAgICAgIHByb2ZpbGVkbnN0d28gPSBzcGxpdE5hbWVbNV07CiAgICAgICAgIHBy b2ZpbGV1ZHBrZXkgPSBzcGxpdE5hbWVbNl07CiAgICAgICAgIHByb2ZpbGVwb3J0ID0gc3BsaXRO YW1lWzddOwogICAgICAgICBwcm9maWxldHlwZSA9IHNwbGl0TmFtZVs4XTsKICAgICAgICAgcHJv ZmlsZXBpbmcgPSBzcGxpdE5hbWVbOV07CiAgICAgICAgIHByb2ZpbGVmbGFnID0gc3BsaXROYW1l WzEwXTsKICAgIAkgICBwcm9maWxlY2F0ID0gc3BsaXROYW1lWzExXTsKICAgICAgICAgZmFzdHRl bXAgPSAnPGRpdiBjbGFzcz0ic3ZidWJibGUgY2F0YnknKyBwcm9maWxlY2F0ICsnIiBvbmNsaWNr PSJzZWxlY3Rwcm9maWxlKCcrIGlkICsnLCAnKyBwcm9maWxlY2F0ICsnKSI+IDxpbWcgc3JjPSJw aWN0dXJlcy9mbGFncy8nKyBwcm9maWxlZmxhZyArJy5zdmciIGNsYXNzPSJmbGFnc2VydmVyIj4g PGRpdiBjbGFzcz0icGluZ3NlcnZlciI+JysgcHJvZmlsZXBpbmcgKydtczxiIGNsYXNzPSJncmVl bnBpbmciPjwvYj48L2Rpdj4gPGRpdiBjbGFzcz0ibmFtZXNlcnZlciI+JysgcHJvZmlsZW5hbWUg Kyc8L2Rpdj4gPGRpdiBjbGFzcz0iZGVzY3NlcnZlciI+JysgcHJvZmlsZWRlc2MgKyc8L2Rpdj4g PC9kaXY+JzsKICAgICAgICAgLy9jb25zb2xlLmxvZygiU2VydmVyIGFkZGVkIiArIHByb2ZpbGVu YW1lKTsKICAgICAgICAgIC8vZml4IGJ1Zz8KICAgICAgICAgaWYocHJvZmlsZW5hbWUgPT0gIiIp CiAgICAgICAgIHsKICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICAgICAg JCgiI3N1YnNlcnZlciIgKyBwcm9maWxlY2F0KS5hcHBlbmQoZmFzdHRlbXApOwogICAgICAgICAK ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgYXN5bmMgZnVuY3Rpb24gY29yZSgpCiAg IHsKICAgICAgICAvL2NoZWNrc3RhdHVzKCk7IC8vZm9yY2UgY2hlY2sgc3RhdHVzIGNvbm5lY3QK ICAgICAgICBzZW5kY29yZSgiZ3R0IyMjIyMjIyMxIik7CiAgIH0KCiAgICAvL3NldHN0YXR1cwog ICAgZnVuY3Rpb24gc3R0KGRhdGEpCiAgICB7CiAgICAgICAKICAgICAgICBpZihhbmltYXRlcGVy bSA9PSB0cnVlKXsKICAgICAgICAgIGlmKGRhdGEgPT0gInVua25vdyIgfHwgZGF0YSA9PSAiREVT Q09ORUNUQURPIiB8fCBkYXRhID09ICJVU0VSX1ZQTl9QQVNTV09SRF9DQU5DRUxMRUQiKQogICAg ICAgICAgewogICAgICAgICAgICAgIGZpbmlzaGF1dGggPSAwOwogICAgICAgICAgICAgIGRhdGEg PSAiSElCRVJOQU5ETyI7CiAgICAgICAgICAgICAgc3RvcHBlZCgpOwogICAgICAgICAgfQogICAg ICAgICAgZWxzZSBpZihkYXRhID09ICJDT05FQ1RBTkRPIiB8fCBkYXRhID09ICJJTklDSUFORE8i KQogICAgICAgICAgewogICAgICAgICAgICAgIGZpbmlzaGF1dGggPSAwOwogICAgICAgICAgICAg IGNvbm5lY3RpbmcoKTsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgaWYoZGF0YSA9PSAiQ09O RUNUQURPIikKICAgICAgICAgIHsKICAgICAgICAgICAgZmluaXNoYXV0aHBsdXMoKTsKICAgICAg ICAgICAgaWYocnl6ZW5uZXcgIT0gInNjIiAmJiBsb2dpbnR5cGUgPT0gMCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgIGRhdGEgPSAiQ0hFQ0FORE8gQUNFU1NPIjsgCiAgICAgICAgICAgIH0K ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICBkYXRhID0gICJDT05F Q1RBRE8iOwogICAgICAgICAgICAgY29ubmVjdGVkKCk7CiAgICAgICAgICAgIH0KICAgICAgICAg IH0KICAgICAgICB9CiAgICAgICAgICAgIGxhc3RzdGF0dXMgPSBkYXRhOwogICAgICAgICAgICAk KCIuc3Vic3RhdHVzIikuaHRtbCgnJysgZGF0YSArJycpOwogICAgfQoKICAgZnVuY3Rpb24gYXRs YW50dXNoaWRlKGRhdGEpCiAgIHsKICAgCSAkKGRhdGEpLmZhZGVPdXQoMCk7CiAgIH0KCiAgIGZ1 bmN0aW9uIGF0bGFudHVzdmlzaWJsZShkYXRhKQogICB7CiAgIAkgJChkYXRhKS5mYWRlSW4oMCk7 CiAgIH0KCiAgICAvL0xvZyBhcHBlbmQKICAgIGZ1bmN0aW9uIGxvZ2FwcGVuZChkYXRhKQogICAg ewogICAgICBkYXRhID0gZGF0YS5yZXBsYWNlKC8wMDB4MS9nLCAiPGIgc3R5bGU9J2NvbG9yOiNm ZGRhNjM7Zm9udC13ZWlnaHQ6MTAwOyc+LS0gUnl6ZW4gSW5pY2lhZG8gLS08L2I+Iik7CiAgICAg IGRhdGEgPSBkYXRhLnJlcGxhY2UoLzAwMHgyL2csICJTZXJ2acOnbyBJbmljaWFkbyIpOwogICAg ICBkYXRhID0gZGF0YS5yZXBsYWNlKC8wMDB4My9nLCAiQXRpdmlkYWRlIEVuY2VycmFkYSIpOwog ICAgICBkYXRhID0gZGF0YS5yZXBsYWNlKC8wMDB4NC9nLCAiUmVjb25uZWN0YW5kby4uLiIpOwog ICAgICBkYXRhID0gZGF0YS5yZXBsYWNlKC9leDAxL2csICJSZWNvbm5lY3RhbmRvLi4uIik7CiAg ICAgIGRhdGEgPSBkYXRhLnJlcGxhY2UoLzAwMHg1L2csICJFbmNlcnJhZG8iKTsKICAgICAgZGF0 YSA9IGRhdGEucmVwbGFjZSgvMDAweDYvZywgIkhpYmVybmFuZG8uLiIpOwogICAgICBkYXRhID0g ZGF0YS5yZXBsYWNlKC8wMDB4Ny9nLCAiUHJlcGFyYW5kbyBhY2Vzc28uLi4iKTsKICAgICAgZGF0 YSA9IGRhdGEucmVwbGFjZSgvMDAweDgvZywgIlJlY2ViZW5kbyBkYWRvcy4uIik7CiAgICAgIGRh dGEgPSBkYXRhLnJlcGxhY2UoLzB4MDMvZywgIkVuY2VycmFkbyIpOwogICAgICBkYXRhID0gZGF0 YS5yZXBsYWNlKC8weDE4L2csICI8YiBzdHlsZT0nY29sb3I6Z3JlZW47Jz4tLSBTVUNFU1NPIC0t PC9iPiIpOwogICAgICBkYXRhID0gZGF0YS5yZXBsYWNlKC8wMDB4OS9nLCAiQXJtYXplbmFuZG8g VG9rZW4uLi4iKTsKICAgICAgZGF0YSA9IGRhdGEucmVwbGFjZSgvMDAweDEwL2csICJJbmljaWFu ZG8gUmVxdWlzacOnw6NvLi4uIik7CiAgICAgIGRhdGEgPSBkYXRhLnJlcGxhY2UoLzAwMHgxMS9n LCAiQXJtYXplbmFuZG8gUHJveHkuLi4iKTsKICAgICAgZGF0YSA9IGRhdGEucmVwbGFjZSgvMDAw eDE4L2csICJVbSBpbnN0YW50ZS4uLiIpOwogICAgICBpZihkYXRhLmluY2x1ZGVzKCJBdXRoIGZh aWxlZCIpKQogICAgICB7CiAgICAgICAgJCgiI3dyb25ndXNlciIpLmZhZGVJbigwKTsKICAgICAg fQogICAgICAkKCIjbG9nc3ZpZXciKS5odG1sKCIiICsgZGF0YSk7CiAgICAgICQoIiNsb2dzdmll dyIpLnNjcm9sbFRvcCgkKCIjbG9nc3ZpZXciKVswXS5zY3JvbGxIZWlnaHQpOwogICAgfQoKICAg YXN5bmMgZnVuY3Rpb24gc3RhcnRhdGxhbnR1cygpCiAgIHsKICAgICAgaWYoJCgiI25zZXJ2ZXIi KS50ZXh0KCkgPT0gIkRlZmluYSB1bSBwcm92ZWRvciIpCiAgICAgIHsKICAgICAgICBub3RpZmlj YXRpb24oIlNlbGVjaW9uZSB1bSBzZXJ2aWRvciIpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAg ICAgfQogICAgICBpZigkKCIjdXNlcnNzaCIpLnZhbCgpID09ICIiKQogICAgICB7CiAgICAgICAg YXV0aGZpbmlzaHUoKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgaWYoJCgi I3Bhc3Nzc2giKS52YWwoKSA9PSAiIikKICAgICAgewogICAgICAgIGF1dGhmaW5pc2h1KCk7CiAg ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgIAkgIGlmKHVkcGtleSA9PSAiIikKICAgCSAg ewogICAJICAJCXVkcGtleSA9ICJudWxsIjsKICAgCSAgfQoJICAgIGF0bGFudHVzbG9naW5zZXR1 KDIpOwogICAgICAvL2xvZ2ludHlwZSA9IDEgPSB1c2Vyc3NoIAogICAgICBpZihsb2dpbnR5cGUg PT0gMSkKICAgICAgewogICAgICAgIGhhc2h1ID0gdXNlcnNzaGxhc3Q7CiAgICAgICAgaGFzaHAg PSBwYXNzc3NobGFzdDsgCiAgICAgIH0KICAgICAgZWxzZQogICAgICB7CiAgICAgICAgaGFzaHUg PSBoYXNodXRtcDsKICAgICAgICBoYXNocCA9IGhhc2hwdG1wOwogICAgICB9CiAgICAgIGlmKHBy b3h5aXAgPT0gIiIpe3Byb3h5aXAgPSAiMCI7fQogICAgICBpZihwcm94eXBvcnQgPT0gIiIpe3By b3h5cG9ydCA9ICIwIjt9CiAgICAgIGlmKHNuaWhvc3QgPT0gIiIpe3NuaWhvc3QgPSAiMCI7fQog ICAJICBydW50aGlzID0ic2V0ZmluYWxseXBsdXMjIyMjIyMjIyIrIHR5cGUgKyIjIyMjIyMjIyIr IGlwICsiIyMjIyMjIyMiKyBob3N0YXBwICsiIyMjIyMjIyMiKyBwb3J0ICsiIyMjIyMjIyMiKyBo b3N0ICsiIyMjIyMjIyMiKyBkbnNvbmUgKyIjIyMjIyMjIyIrIGRuc3R3byArIiMjIyMjIyMjIisg dWRwa2V5ICsiIyMjIyMjIyMiKyB0b2tlbmxhc3QgKyIjIyMjIyMjIyIgKyB1ZHBmdyArICIjIyMj IyMjIyIrIGhhc2h1ICsiIyMjIyMjIyMiICsgaGFzaHAgKyAiIyMjIyMjIyMiKyBsb2dpbnR5cGUg KyIjIyMjIyMjIyIgKyBwcm94eWlwICsgIiMjIyMjIyMjIiArIHByb3h5cG9ydCArICIjIyMjIyMj IyIgKyBzbmlob3N0ICsgIiMjIyMjIyMjLTAiOwogICAgCiAgICAgIHNlbmRjb3JlKHJ1bnRoaXMp OwogICAgICBzZW5kY29yZSgiZXhlY3ZwbnBsdXMjIyMjIyMjIzAiKTsKICAgICAgY29uc29sZS5s b2cocnVudGhpcyk7CiAgICAgIGlmKGxhc3RzdGF0dXMgPT0gIkNPTkVDVEFETyIgfHwgbGFzdHN0 YXR1cyA9PSAiQ09ORUNUQU5ETyIgfHwgbGFzdHN0YXR1cyA9PSAiSU5JQ0lBTkRPIikKICAgICAg ewogICAgICAgIHN0b3BwZWQoKTsKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICBj b25uZWN0aW5nKCk7CiAgICAgIH0KICAgICAgYW5pbWF0ZXBlcm0gPSBmYWxzZTsKICAgICAgc2V0 VGltZW91dChmdW5jdGlvbigpeyBhbmltYXRlcGVybSA9IHRydWU7fSwgMjAwMCk7IAogICB9Cgog IGZ1bmN0aW9uIGZpbmlzaGF1dGhwbHVzKCkKICAgewogICAgICAgIGlmKGZpbmlzaGF1dGggPT0g MSkKICAgICAgICB7CiAgICAgICAgICBjYXJwYSA9IHJldmVyc2VTdHJpbmcoaG9zdGFwcCArICJA QEBAIisgdG9rZW4gKyJAQEBAIiArIGxhc3Rwcm9maWxlY2F0ICsgIkBAQEAiICsgcnVuaWQgKyAi QEBAQCIgKyBpc3Rlc3QpOwogICAgICAgICAgc2VuZGNvcmUoInJ5emVuZGF0YSMjIyMjIyMjIiAr IGNhcnBhKTsKICAgICAgICB9CiAgICAgICAgZmluaXNoYXV0aCA9IGZpbmlzaGF1dGggKyAxOwog ICB9CgogICAgZnVuY3Rpb24gcmV2ZXJzZVN0cmluZyhzdHIpIHsKICAgICAgICBlbUJhc2U2NCA9 IGJ0b2Eoc3RyKTsKICAgICAgICBzdHIgPSBlbUJhc2U2NDsKICAgICAgICByZXR1cm4gc3RyLnNw bGl0KCcnKS5yZXZlcnNlKCkuam9pbignJyk7CiAgICB9CiAgICBmdW5jdGlvbiByZXZlcnNlUHVy ZShzdHIpIHsKICAgICAgICByZXR1cm4gc3RyLnNwbGl0KCcnKS5yZXZlcnNlKCkuam9pbignJyk7 CiAgICB9CgogICBmdW5jdGlvbiBzdG9wcGVkKCkKICAgewogICAJIGF0bGFudHVzdmlzaWJsZSgi I2RvbnRjb25uZWN0Iik7CiAgIAkgYXRsYW50dXNoaWRlKCIjY29ubmVjdGVkIik7CiAgIAkgYXRs YW50dXNoaWRlKCIubGRzLXJpbmciKTsKICAgCSBhdGxhbnR1c2hpZGUoIiNsb2dzdmlldyIpOwog ICAJIGF0bGFudHVzaGlkZSgiI2Nvbm5lY3RpbmciKTsKICAgCSAkKCIuY29ubmVjdGJ0IikucmVt b3ZlQXR0cigic3R5bGUiKTsKICAgfQoKICAgZnVuY3Rpb24gY29ubmVjdGVkKCkKICAgewogICAJ IGF0bGFudHVzaGlkZSgiI2RvbnRjb25uZWN0Iik7CiAgIAkgYXRsYW50dXN2aXNpYmxlKCIjY29u bmVjdGVkIik7CiAgIAkgYXRsYW50dXNoaWRlKCIjY29ubmVjdGluZyIpOwogICAJICQoIi5jb25u ZWN0YnQiKS5hdHRyKCJzdHlsZSIsICJmaWx0ZXI6IGludmVydCgxKSBodWUtcm90YXRlKCAyOTNk ZWcgKTsgYmFja2dyb3VuZDogIzRmZDg2NiB1cmwocGljdHVyZXMvcG93ZXIuc3ZnKTsgYmFja2dy b3VuZC1zaXplOiA2OHB4OyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5k LXBvc2l0aW9uOiA0MXB4OyIpOwogIAkgLy8kKCIuY2F0ZWdvcmlhaWQiICsgcmxzb25lKS5yZW1v dmVBdHRyKCJzdHlsZSIpOwogICB9CgogICBmdW5jdGlvbiBjb25uZWN0aW5nKCkKICAgewogICAJ IGF0bGFudHVzaGlkZSgiI2RvbnRjb25uZWN0Iik7CiAgIAkgYXRsYW50dXNoaWRlKCIjY29ubmVj dGVkIik7CiAgIAkgYXRsYW50dXN2aXNpYmxlKCIubGRzLXJpbmciKTsKICAgCSBhdGxhbnR1c3Zp c2libGUoIiNsb2dzdmlldyIpOwogICAJIGF0bGFudHVzdmlzaWJsZSgiI2Nvbm5lY3RpbmciKTsK ICAgCSAkKCIuY29ubmVjdGJ0IikucmVtb3ZlQXR0cigic3R5bGUiKTsKICAgfQoKICAgZnVuY3Rp b24gYW5pbWF0aW9uc3RhcnQoKQogICB7CiAgICAgZmluaXNoYXV0aCA9IDA7CiAgIAkgJCgiI2xv Z3N2aWV3IikudGV4dCgiSW5pY2lhbmRvIGluamXDp8Ojby4uLiIpOwogICAJIGF0bGFudHVzdmlz aWJsZSgiLmxkcy1yaW5nIik7CiAgIAkgYXRsYW50dXN2aXNpYmxlKCIjbG9nc3ZpZXciKTsKICAg CSBhdGxhbnR1c2hpZGUoIiNkb250Y29ubmVjdCIpOwogICAJIGF0bGFudHVzaGlkZSgiI2Nvbm5l Y3RlZCIpOwogICAJIGF0bGFudHVzdmlzaWJsZSgiI2Nvbm5lY3RpbmciKTsKICAgfQoKICAgYXN5 bmMgZnVuY3Rpb24gc2VuZGNvcmUoZGF0YSkKICAgIHsKICAgICAgICB0cnkgewogICAgICAgIHdp bmRvdy5KU0ludGVyZmFjZS5zZW5kY29yZShkYXRhKTsKICAgICAgICB9CgogICAgICAgIGNhdGNo KGVycikgewogICAgICAgIH0KICAgfQoKPC9zY3JpcHQ+PG1ldGEgbmFtZT0idmlld3BvcnQiIGNv bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8ZGl2IGlkPSJ3 aXRob3V0bG9naW4iIGNsYXNzPSJib2R5Ij4KICAgIDxkaXYgaWQ9Im1lbnVleHBhbmQiIG9uY2xp Y2s9Im1lbnVjbG9zZSgpIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZW51bGlzdCI+CiAgICAgICAg ICAgIDxkaXYgY2xhc3M9Im1lbnV0eHQiIG9uY2xpY2s9ImF1dGhmaW5pc2h1KCkiPjxpbWcgc3Jj PSJwaWN0dXJlcy90b2tlbi5zdmciIGNsYXNzPSJtZW51aWNvbmQiIC8+QXV0ZW50aWNhcjwvZGl2 PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51dHh0Ij48aW1nIHNyYz0icGljdHVyZXMvcmVm cmVzaC5wbmciIGNsYXNzPSJtZW51aWNvbmQiIC8+VmVyaWZpY2FyIGF0dWFsaXphw6fDtWVzPC9k aXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbnV0eHQiIG9uY2xpY2s9InRlcm1vcygpIj48 aW1nIHNyYz0icGljdHVyZXMvMjkzMDIucG5nIiBjbGFzcz0ibWVudWljb25kIiAvPlRlcm1vcyBk ZSB1c288L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudXR4dCIgb25jbGljaz0ib3Bl bmNvbnRhY3QoKSI+PGltZyBzcmM9InBpY3R1cmVzLzEzOTM2LnBuZyIgY2xhc3M9Im1lbnVpY29u ZCIgLz5TdXBvcnRlPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbnV0eHQiPjxpbWcg c3JjPSJwaWN0dXJlcy81OTI1NC5wbmciIGNsYXNzPSJtZW51aWNvbmQiIC8+RW5jZXJyYXIgYXBs aWNhdGl2bzwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InVzZXJwcm9m aWxlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlcmlkIj5VU0VSLUlEOiAwMDAweHg8L2Rp dj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8aW1nIHNyYz0icGljdHVyZXMvbWVudS5wbmciIGNs YXNzPSJtZW51aWNvbngiIC8+CiAgICA8L2Rpdj4KCgoKICAgIDxkaXYgaWQ9Indyb25ndXNlciIg Y2xhc3M9ImF0bGFudHVzb3ZlcmxheSI+CiAgICAgICAgPGRpdiBjbGFzcz0iYm9keWJvb3N0IiBz dHlsZT0iCiAgICAgICAgaGVpZ2h0OiAyNDZweDsKICAgICI+CiAgICAgICAgICAgIDxpbWcgc3Jj PSJwaWN0dXJlcy93cm9uZy5zdmciIHN0eWxlPSIKICAgICAgICAgICAgaGVpZ2h0OiAxMDZweDsK ICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICB0b3A6IC01NXB4Owog ICAgICAgICI+CiAgICAgICAgPGRpdiBjbGFzcz0idGl0bGVib29zdCIgc3R5bGU9IgogICAgICAg IGNvbG9yOiAjZmYyMjIyOwogICAgIj5BdXRlbnRpY2HDp8OjbyBGYWxob3U8YnI+CiAgICAgICAg PGRpdiBjbGFzcz0idGV4dGJvb3N0Ij5TZXVzIGRhZG9zIGRlIHVzdcOhcmlvIGVzdMOjbyBpbmNv cnJldG9zLCBwb3IgZmF2b3IgdmVyaWZpcXVlIG5vdmFtZW50ZSBvIHNldSBhY2Vzc28uPC9kaXY+ PC9kaXY+CiAgICAgICAgPGJyPjxkaXYgb25jbGljaz0iYXV0aGZpbmlzaHUoKSIgY2xhc3M9ImFj dGl2ZWJ0Ij5Db3JyaWdpcjwvZGl2PgogICAgICAgIDwvZGl2PjwvZGl2PgoKICAgIDxkaXYgaWQ9 InRlcm1vcyIgY2xhc3M9ImF0bGFudHVzb3ZlcmxheSI+CiAgICAgICAgPGRpdiBjbGFzcz0iYm9k eWJvb3N0Ij4KICAgICAgICAgICAgPGltZyBzcmM9InBpY3R1cmVzL3Rlcm1zLnN2ZyIgc3R5bGU9 IgogICAgICAgICAgICBoZWlnaHQ6IDEwNnB4OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRp dmU7CiAgICAgICAgICAgIHRvcDogLTU1cHg7CiAgICAgICAgIj4KICAgICAgICA8ZGl2IGNsYXNz PSJ0aXRsZWJvb3N0IiAgc3R5bGU9IiBjb2xvcjogI2U2NGMzYzsiPlRlcm1vcyBkZSBVc288YnI+ CiAgICAgICAgPGRpdiBjbGFzcz0idGV4dGJvb3N0IiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OyBj b2xvcjogI2U2ZTZlNjsgaGVpZ2h0OiAxNjhweDsgb3ZlcmZsb3c6IHNjcm9sbDsiPgogICAgICAg ICAgPGNlbnRlcj5DZXJ0aWZpcXVlLXNlIGRlIG7Do28gdXNhciBlc3RlIGFwbGljYXRpdm8gcGFy YSBhdGl2aWRhZGVzIGlsZWdhaXMsIHN1YSBjb250YSBzZXLDoSBzdXNwZW5zYSBzZSBkZXRlY3Rh ZGEuPGJyPgogICAgICAgICAgICBBbGd1bSBjb250ZcO6ZG8gcG9kZSBlc3RhciBiYW5pZG8gZW0g c2V1IHBhw61zLCBlbnTDo28gbsOjbyBhY2Vzc2UsPGJyPgogICAgICAgICAgICAgYXBlbmFzIGZh w6dhIGF0aXZpZGFkZXMgYsOhc2ljYXMgY29tbyBmaWxtZXMsIGpvZ29zIGUgbcO6c2ljYSBlIHBl c3F1aXNhcyBlbSBnZXJhbCw8YnI+CiAgICAgICAgICAgICAgcG9ybm9ncmFmaWEgaW5mYW50aWwg ZSBnb2xwZXMgc8OjbyBpbmFjZWl0w6F2ZWlzIOKAi+KAi2Ugdm9jw6ogc2Vyw6Egc2V2ZXJhbWVu dGUgcHVuaWRvIHNlIHVzYXI8YnI+CiAgICAgICAgICAgICAgIGVzdGUgYXBsaWNhdGl2byBwYXJh IGNvbWV0ZXIgZXNzZXMgYWJzdXJkb3MgLjwvY2VudGVyPjwvZGl2PjwvZGl2PgogICAgICAgIDxi cj48ZGl2IG9uY2xpY2s9InRlcm1vcygpIiBjbGFzcz0iYWN0aXZlYnQiPkNvbmNvcmRvPC9kaXY+ CiAgICAgIDwvZGl2PjwvZGl2PgoKICAgIAogICAgPGRpdiBpZD0ic3RvcmFnZW1vZGUiPgogICAg ICAgIDxkaXYgY2xhc3M9ImJvZHlib29zdCI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJwaWN0dXJl cy9zdG9yYWdlLnN2ZyIgc3R5bGU9IgogICAgICAgICAgICBoZWlnaHQ6IDEwNnB4OwogICAgICAg ICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHRvcDogLTU1cHg7CiAgICAgICAg Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZWJvb3N0IiAgc3R5bGU9IiBjb2xvcjogIzAwYzNm ZjsiPlBlcm1pc3PDo28gbmVjZXNzw6FyaWE8YnI+CiAgICAgICAgPGRpdiBjbGFzcz0idGV4dGJv b3N0Ij5QYXJhIHF1ZSBvIGFwbGljYXRpdm8gZnVuY2lvbmUgY29ycmV0YW1lbnRlLCBlbGUgcHJl Y2lzYSBkYSBwZXJtaXNzw6NvIHBhcmEgaW5zdGFsYXIgZSBncmF2YXIgYXJxdWl2b3Mgbm8gc2lz dGVtYSBwYXJhIHF1ZSB0b2RvcyBvcyBtb2RvcyBkZSBjb25leMOjbyBwb3NzYW0gZnVuY2lvbmFy IG5vcm1hbG1lbnRlLiBDb25jZWRhIGFzIHBlcm1pc3PDtWVzIG5lY2Vzc8Ohcmlhcy48L2Rpdj48 L2Rpdj4KICAgICAgICA8YnI+PGRpdiBvbmNsaWNrPSJzdG9yYWdlbW9kZSgpIiBjbGFzcz0iYWN0 aXZlYnQiPlBlcm1pdGlyPC9kaXY+CiAgICAgIDwvZGl2PjwvZGl2PgogICAgCgoKCiAgICA8ZGl2 IGlkPSJib29zdG1vZGUiPgogICAgPGRpdiBjbGFzcz0iYm9keWJvb3N0Ij4KICAgICAgICA8aW1n IHNyYz0icGljdHVyZXMvYm9vc3Quc3ZnIiBzdHlsZT0iCiAgICAgICAgaGVpZ2h0OiAxMDZweDsK ICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdG9wOiAtNTVweDsKICAgICI+CiAg ICA8ZGl2IGNsYXNzPSJ0aXRsZWJvb3N0Ij5Nb2RvIEJvb3N0PGJyPgogICAgPGRpdiBjbGFzcz0i dGV4dGJvb3N0Ij5PIG1vZG8gQm9vc3QgcG9kZSBvdGltaXphciBhIHZlbG9jaWRhZGUgZSBkZXRl Y3RhciBvcyBhcGxpY2F0aXZvcyB1c2Fkb3MgJlplcm9XaWR0aFNwYWNlOyZaZXJvV2lkdGhTcGFj ZTtwYXJhIG1lbGhvcmFyIGEgZXhwZXJpw6puY2lhIGRlIGNvbmV4w6NvLCB2b2PDqiBwb2RlIGhh YmlsaXRhciBlc3RlIG1vZG8uIE5vIGVudGFudG8sIHZvY8OqIHByZWNpc2EgY29uY2VkZXIgYXMg cGVybWlzc8O1ZXMgbmVjZXNzw6FyaWFzIHBhcmEgcmVhbGl6YXIgZXN0YSBhdGl2aWRhZGUuPC9k aXY+PC9kaXY+CiAgICA8YnI+PGRpdiBvbmNsaWNrPSJhY2Jvb3N0bW9kZSgpIiBjbGFzcz0iYWN0 aXZlYnQiPkF0aXZhcjwvZGl2PgogICAgPGRpdiBvbmNsaWNrPSJib29zdG1vZGUoKSIgc3R5bGU9 Im1hcmdpbi10b3A6IDVweDsgYmFja2dyb3VuZDogIzllMzMwYTsiIGNsYXNzPSJhY3RpdmVidCI+ Q2FuY2VsYXI8L2Rpdj48L2Rpdj48L2Rpdj4KCiAgICAKPGRpdiBpZD0iYXV0aHR5cGUiIHN0eWxl PSIKcG9zaXRpb246IGFic29sdXRlOwpoZWlnaHQ6IDEwMCU7CndpZHRoOiAxMDAlOwpkaXNwbGF5 Om5vbmU7CmJhY2tncm91bmQ6ICMwMDAwMDBjMjsKei1pbmRleDogNTsKIj48ZGl2IHN0eWxlPSIK cG9zaXRpb246IGFic29sdXRlOwpsZWZ0OiA1MCU7CnRvcDogMzUlOwotd2Via2l0LXRyYW5zZm9y bTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwp0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAl KTsKYmFja2dyb3VuZDogIzFlMjUzMjsKaGVpZ2h0OiAyNTBweDsKd2lkdGg6IDMzMHB4Owpib3Jk ZXItcmFkaXVzOiAxMHB4Owp0ZXh0LWFsaWduOiBjZW50ZXI7CiI+PGltZyBzcmM9InBpY3R1cmVz LzE0OTA3MS5wbmciIHN0eWxlPSIKaGVpZ2h0OiA3N3B4Owpwb3NpdGlvbjogcmVsYXRpdmU7CnRv cDogLTM3cHg7CiI+CjxkaXYgc3R5bGU9IiBtYXJnaW4tdG9wOiAtMjNweDtjb2xvcjogY2FkZXRi bHVlOyBtYXJnaW4tYm90dG9tOiAxcHg7Ij5TZWxlY2lvbmUgbyBtb2RvIGRlIGxvZ2luPC9kaXY+ CjxkaXYgb25jbGljaz0iYXV0aGZpbmlzaCgpIiBzdHlsZT0iCiAgICBwb3NpdGlvbjogcmVsYXRp dmU7CiAgICB0b3A6IDE0cHg7CiAgICBwYWRkaW5nOiA1cHg7CiAgICBiYWNrZ3JvdW5kOiAjNjcz YWI3OwogICAgd2lkdGg6IDIwMHB4OwogICAgbGVmdDogNTlweDsKICAgIGJvcmRlci1yYWRpdXM6 IDVweDsKIj5Nb2RvIFRva2VuPC9kaXY+CjxkaXYgb25jbGljaz0iYXV0aGZpbmlzaHUoKSIgc3R5 bGU9IgogICBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogMjFweDsgcGFkZGluZzogNXB4OyBiYWNr Z3JvdW5kOiAjMzAzMjlhOyB3aWR0aDogMjAwcHg7IGxlZnQ6IDU5cHg7IGJvcmRlci1yYWRpdXM6 IDVweDsKIj5Nb2RvIFVzdcOhcmlvPC9kaXY+CjxkaXYgc3R5bGU9Igpmb250LXNpemU6IDExcHg7 Cm1hcmdpbi10b3A6IDI2cHg7CmNvbG9yOiAjY2NjOwoiPlNlbGVjaW9uZSBvIG1vZG8gZGUgYXV0 ZW50aWNhw6fDo28uPC9kaXY+PC9kaXY+PC9kaXY+CgoKCjxkaXYgaWQ9ImF1dGh1c2VyIiBzdHls ZT0iCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB3aWR0aDog MTAwJTsKICAgIGRpc3BsYXk6bm9uZTsKICAgIGJhY2tncm91bmQ6ICMwMDAwMDBjMjsKICAgIHot aW5kZXg6IDU7CiAgICAiPjxkaXYgc3R5bGU9IgogICAgcG9zaXRpb246IGFic29sdXRlOwogICAg bGVmdDogNTAlOwogICAgdG9wOiAzNSU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRl KC01MCUsIC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICBi YWNrZ3JvdW5kOiAjMWUyNTMyOwogICAgaGVpZ2h0OiAyNTBweDsKICAgIHdpZHRoOiAzMzBweDsK ICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiI+PGltZyBz cmM9InBpY3R1cmVzL3VzZXIucG5nIiBzdHlsZT0iCiAgICBmaWx0ZXI6IGludmVydCgxKTsKICAg IGhlaWdodDogNzdweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRvcDogLTM3cHg7CiI+ CjxkaXYgc3R5bGU9IgptYXJnaW4tdG9wOiAtMjhweDsKCiI+RGFkb3MgZGUgdXN1w6FyaW88L2Rp dj48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InVzZXJzc2giIHBsYWNlaG9sZGVyPSJsb2dpbiIgc3R5 bGU9IgogICAgcGFkZGluZzogMTBweDsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgIGJhY2tn cm91bmQ6ICMxOTFlMjU7CiAgICBib3JkZXI6IDBweDsKICAgIGZvbnQtc2l6ZTogMThweDsKICAg IGNvbG9yOiAjOTk5OwogICAgbWFyZ2luLXRvcDogMTFweDsKIj4KPGlucHV0IHR5cGU9InRleHQi IGlkPSJwYXNzc3NoIiBwbGFjZWhvbGRlcj0ic2VuaGEiIHN0eWxlPSIKICAgIHBhZGRpbmc6IDEw cHg7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICBiYWNrZ3JvdW5kOiAjMTkxZTI1OwogICAg Ym9yZGVyOiAwcHg7CiAgICBmb250LXNpemU6IDE4cHg7CiAgICBjb2xvcjogIzk5OTsKICAgIG1h cmdpbi10b3A6IDExcHg7CiI+CjxkaXYgb25jbGljaz0iYXV0aGZpbmlzaHUoKSIgc3R5bGU9Igog ICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdG9wOiAxNHB4OwogICAgcGFkZGluZzogNXB4Owog ICAgYmFja2dyb3VuZDogIzNmNTFiNTsKICAgIHdpZHRoOiAxMDBweDsKICAgIGxlZnQ6IDEwNnB4 OwogICAgYm9yZGVyLXJhZGl1czogNXB4OwoiPkVudHJhcjwvZGl2PjwvZGl2PjwvZGl2PgoKPGRp diBpZD0iYXV0aHRva2VuIiBzdHlsZT0iCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBoZWln aHQ6IDEwMCU7CiAgICB3aWR0aDogMTAwJTsKICAgIGRpc3BsYXk6bm9uZTsKICAgIGJhY2tncm91 bmQ6ICMwMDAwMDBjMjsKICAgIHotaW5kZXg6IDU7CiAgICAiPjxkaXYgc3R5bGU9IgogICAgcG9z aXRpb246IGFic29sdXRlOwogICAgbGVmdDogNTAlOwogICAgdG9wOiAzNSU7CiAgICAtd2Via2l0 LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xh dGUoLTUwJSwgLTUwJSk7CiAgICBiYWNrZ3JvdW5kOiAjMWUyNTMyOwogICAgaGVpZ2h0OiAyNTBw eDsKICAgIHdpZHRoOiAzMzBweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICB0ZXh0LWFs aWduOiBjZW50ZXI7CiI+PGltZyBzcmM9InBpY3R1cmVzL3VzZXIucG5nIiBzdHlsZT0iCiAgICBm aWx0ZXI6IGludmVydCgxKTsKICAgIGhlaWdodDogNzdweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2 ZTsKICAgIHRvcDogLTM3cHg7CiI+CjxkaXYgc3R5bGU9IgogICAgbWFyZ2luLXRvcDogLTExcHg7 CiI+QWNlc3NvIHRva2VuPC9kaXY+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ0b2tlbiIgcGxhY2Vo b2xkZXI9InRva2VuIiBzdHlsZT0iCiAgICBwYWRkaW5nOiAxMHB4OwogICAgYm9yZGVyLXJhZGl1 czogNXB4OwogICAgYmFja2dyb3VuZDogIzE5MWUyNTsKICAgIGJvcmRlcjogMHB4OwogICAgZm9u dC1zaXplOiAxOHB4OwogICAgY29sb3I6ICM5OTk7CiAgICBtYXJnaW4tdG9wOiAxMXB4OwoiPgo8 ZGl2IG9uY2xpY2s9ImF1dGhmaW5pc2goKSIgc3R5bGU9IgogICAgcG9zaXRpb246IHJlbGF0aXZl OwogICAgdG9wOiAxNHB4OwogICAgcGFkZGluZzogNXB4OwogICAgYmFja2dyb3VuZDogIzNmNTFi NTsKICAgIHdpZHRoOiAxMDBweDsKICAgIGxlZnQ6IDEwNnB4OwogICAgYm9yZGVyLXJhZGl1czog NXB4OwoiPkVudHJhcjwvZGl2Pgo8ZGl2IHN0eWxlPSIKICAgIGZvbnQtc2l6ZTogMTFweDsKICAg IG1hcmdpbi10b3A6IDI2cHg7CiAgICBjb2xvcjogI2NjYzsKIj5PIGFjZXNzbyB0b2tlbiBwb2Rl IHNlciBvYnRpZG8gY29tIG8gZm9ybmVjZWRvci48L2Rpdj48L2Rpdj48L2Rpdj4KCgogICAgPGRp diBpZD0id2l0aG91dGxvZ2luIiBjbGFzcz0iYm9keSBjZW50ZXJib2R5Ij48L2Rpdj4KICAgIDxk aXYgb25jbGljaz0ic3RhcnRhdGxhbnR1cygpIiBjbGFzcz0iY29ubmVjdGJ0Ij4KICAgIDxkaXYg Y2xhc3M9Imxkcy1yaW5nIj48ZGl2PjwvZGl2PjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48ZGl2Pjwv ZGl2PjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJsb2dzdmlldyI+PC9kaXY+CiAgICA8 ZGl2IGlkPSJkb250Y29ubmVjdCIgY2xhc3M9InByZXNzaGVyZSI+UHJlc3Npb25lIHBhcmEgY29u ZWN0YXI8L2Rpdj4KICAgIDxkaXYgaWQ9ImNvbm5lY3RpbmciIGNsYXNzPSJwcmVzc2hlcmUiPjxk aXYgY2xhc3M9Imxkcy1kdWFsLXJpbmciPjwvZGl2PkNvbmVjdGFuZG88L2Rpdj4KICAgIDxkaXYg aWQ9ImNvbm5lY3RlZCIgY2xhc3M9InByZXNzaGVyZSI+Q29uZXjDo28gRXN0YWJlbGVjaWRhPC9k aXY+CjwvZGl2PjxkaXYgaWQ9IndpdGhvdXRsb2dpbiIgY2xhc3M9ImhlYWRlciI+CgoKPGRpdiBp ZD0ic2VydmVybGlzdCIgb25jbGljaz0ic2VydmVyY2hhbmdlKCkiPgoKPC9kaXY+CgoKPGRpdiBj bGFzcz0ic2VsZWN0ZWRzZXJ2ZXIiIG9uY2xpY2s9InNlcnZlcmNoYW5nZSgpIj4KPGltZyBpZD0i ZnNlcnZlciIgc3JjPSJwaWN0dXJlcy9mbGFncy9ub25lLnN2ZyIgY2xhc3M9ImZsYWdzZXJ2ZXIi Pgo8ZGl2IGlkPSJuc2VydmVyIiBjbGFzcz0ibmFtZXNlcnZlciI+PC9kaXY+CjxkaXYgaWQ9ImRz ZXJ2ZXIiIGNsYXNzPSJkZXNjc2VydmVyIj48L2Rpdj4KPGltZyBzcmM9InBpY3R1cmVzL2Fycm93 LnBuZyIgY2xhc3M9ImFycm93c2VydmVyIj4KPC9kaXY+CjxkaXYgY2xhc3M9InJpZ2h0YnQiIG9u Y2xpY2s9ImJvb3N0bW9kZSgpIj4KICAgIDxpbWcgc3JjPSJwaWN0dXJlcy90aHVuZGVyLnBuZyIg Y2xhc3M9ImNyb3dpbWciPgoJPGRpdiBjbGFzcz0icHJvdHh0Ij5Cb29zdDwvZGl2Pgo8L2Rpdj4K CjxpbWcgb25jbGljaz0ibWVudWFjdGlvbigpIiBzcmM9InBpY3R1cmVzL21lbnUucG5nIiBjbGFz cz0ibWVudWljb24iPgo8ZGl2IGlkPSJhcHBuYW1lIj5BdGxhbnR1czwvZGl2Pgo8ZGl2IGNsYXNz PSJzdGF0dXNzZXJ2ZXIiPlN0YXR1czoKPGRpdiBjbGFzcz0ic3Vic3RhdHVzIj5EZXNjb25lY3Rh ZG88L2Rpdj4KPC9kaXY+CjwvZGl2PjwhIOKAk+KAkyBVc2VyIGxvZ2dlZCBvdXQgdmlldyBpbmlj aW8g4oCT4oCTPgo8ZGl2IGlkPSJ3aXRob3V0bG9naW4iIGNsYXNzPSJmb290ZXIiIHN0eWxlPSJk aXNwbGF5Om5vbmU7Ij4KPGRpdiBjbGFzcz0ic3RhcnRmcmVlIj4KPGRpdiBjbGFzcz0iZnJlZWlt ZyI+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJmcmVldHh0Ij5GYcOnYSB1bSB0ZXN0ZSBncsOhdGlzPC9k aXY+CjxkaXYgY2xhc3M9ImZyZWV0eHRzbWFsbCI+T3UgY29tcHJlIHVtIGFjZXNzbyBwYXJhIGNv bWXDp2FyLjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwhIOKAk+KAkyBVc2VyIGxvZ2dlZCBvdXQgdmll dyBmaW5hbCDigJPigJM+