--- http_interactions: - request: method: get uri: http://vk.com/video_ body: encoding: US-ASCII string: '' headers: User-Agent: - VideoInfo/2.0.0 Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 404 message: Not Found headers: Server: - nginx/1.2.4 Date: - Sat, 26 Oct 2013 11:27:57 GMT Content-Type: - text/html Content-Length: - '403' Connection: - keep-alive body: encoding: UTF-8 string: | <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head> <body style="background: #3f5d81 url(http://userapi.com/images/error404.png) no-repeat 50% 50%; width: 100%; height: 100%; overflow: hidden;"> <a style="position: absolute; left: 50%; top: 50%; margin: -265px -345px 0px; height: 530px; width: 690px;" href="http://vk.com/"></a> </body> </html> http_version: recorded_at: Sat, 26 Oct 2013 11:27:57 GMT - request: method: get uri: http://vk.com/video39576223_108370515 body: encoding: US-ASCII string: '' headers: User-Agent: - VideoInfo/2.1.1 Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 200 message: OK headers: Server: - nginx/1.2.4 Date: - Sun, 23 Feb 2014 16:18:59 GMT Content-Type: - text/html; charset=windows-1251 Content-Length: - '12891' Connection: - keep-alive X-Powered-By: - PHP/3.4688 Set-Cookie: - remixlang=3; expires=Sat, 28 Feb 2015 12:00:31 GMT; path=/; domain=.vk.com Pragma: - no-cache Cache-Control: - no-store X-Frame-Options: - deny body: encoding: ASCII-8BIT string: !binary |- PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAg U3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQv eGh0bWwxLXN0cmljdC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53 My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6b2c9Imh0dHA6Ly9vZ3AubWUvbnMj IiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGh0dHAt ZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIgLz4K PGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSIvaW1hZ2VzL2Zhdmlj b25fdmsuaWNvPzMiIC8+Cgo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5 cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTEi IC8+CjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSL98u4gwsfQ 28IgzM7Hw8AmIzMzOyYjMzM7JiMzMzsgz/Du8fLuIO7y4uDrIOHg+OroLi4u IiAvPgoKPHRpdGxlPt8g8/Lu9+rgKSkpKSkgfCBWSzwvdGl0bGU+Cgo8bm9z Y3JpcHQ+PG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDsg VVJMPS9iYWRicm93c2VyLnBocCI+PC9ub3NjcmlwdD4KCjxzY3JpcHQgdHlw ZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmFyIHZrID0gewogIGFkc19yb3RhdGVf aW50ZXJ2YWw6IDEyMDAwMCwKICBhbDogcGFyc2VJbnQoJzQnKSB8fCA0LAog IGlkOiAwLAogIGludG5hdDogJzEnID8gdHJ1ZSA6IGZhbHNlLAogIGhvc3Q6 ICd2ay5jb20nLAogIGxhbmc6IDMsCiAgcnRsOiBwYXJzZUludCgnJykgfHwg MCwKICB2ZXJzaW9uOiAxNDc3NywKICBzdERvbWFpbnM6IDMsCiAgemVybzog ZmFsc2UsCiAgY29udGxlbjogMTYwNzQsCiAgbG9naW5zY2hlbWU6ICdodHRw cycsCiAgaXBfaDogJ2I2NWFmMjc0NzExMmZjZTBkMicsCiAgdmNfaDogJzlh N2NiMGIxYTczOTRmMGI5MDk5MjcwMWRhOWZhNTkzJywKICBuYXZQcmVmaXg6 ICcvJywKICBkdDogcGFyc2VJbnQoJzAnKSB8fCAwLAogIGZzOiBwYXJzZUlu dCgnMTEnKSB8fCAxMSwKICB0czogMTM5MzE3MjMzOSwKICBwZDogMCwKICBw YWRzOiAxLAogIHRpbWU6IFsyMDE0LCAyLCAyMywgMjAsIDE4LCA1OV0KfQoK d2luZG93LmxvY0RvbWFpbiA9IHZrLmhvc3QubWF0Y2goL1thLXpBLVpdK1wu W2EtekEtWl0rXC4/JC8pWzBdOwp2YXIgX3VhID0gbmF2aWdhdG9yLnVzZXJB Z2VudC50b0xvd2VyQ2FzZSgpOwppZiAoL29wZXJhL2kudGVzdChfdWEpIHx8 ICEvbXNpZSA2L2kudGVzdChfdWEpIHx8IGRvY3VtZW50LmRvbWFpbiAhPSBs b2NEb21haW4pIGRvY3VtZW50LmRvbWFpbiA9IGxvY0RvbWFpbjsKdmFyIF9f X2h0ZXN0ID0gKGxvY2F0aW9uLnRvU3RyaW5nKCkubWF0Y2goLyMoLiopLykg fHwge30pWzFdIHx8ICcnLCBfX190bzsKaWYgKHZrLmFsICE9IDEgJiYgX19f aHRlc3QubGVuZ3RoICYmIF9fX2h0ZXN0LnN1YnN0cigwLCAxKSA9PSB2ay5u YXZQcmVmaXgpIHsKICBpZiAodmsuYWwgIT0gMyB8fCB2ay5uYXZQcmVmaXgg IT0gJyEnKSB7CiAgICBfX190byA9IF9fX2h0ZXN0LnJlcGxhY2UoL14oXC98 ISkvLCAnJyk7CiAgICBpZiAoX19fdG8ubWF0Y2goL14oW15cP10qXC5waHB8 bG9naW4pKFteYS16MC05XC5dfCQpLykpIF9fX3RvID0gJyc7CiAgICBsb2Nh dGlvbi5yZXBsYWNlKGxvY2F0aW9uLnByb3RvY29sICsgJy8vJyArIGxvY2F0 aW9uLmhvc3QgKyAnLycgKyBfX190byk7CiAgfQp9Cgp2YXIgU3RhdGljRmls ZXMgPSB7CiAgJ2NvbW1vbi5qcycgOiB7djogMTA5OX0sCiAgJ2NvbW1vbi5j c3MnOiB7djogNDM0fSwKICAnaWU2LmNzcycgICA6IHt2OiAyNn0sCiAgJ2ll Ny5jc3MnICAgOiB7djogMTh9CiAgLCdsYW5nM18wLmpzJzp7djozMzUxfSwn dmlkZW8uY3NzJzp7djoxMTF9LCd2aWRlby5qcyc6e3Y6MTI3fSwnaW5kZXhl ci5qcyc6e3Y6MTl9LCd1aV9jb250cm9scy5qcyc6e3Y6MTUxfSwndWlfY29u dHJvbHMuY3NzJzp7djo0OX0sJ3ZpZGVvdmlldy5qcyc6e3Y6MjAxfSwndmlk ZW92aWV3LmNzcyc6e3Y6MTIxfSwncGFnZS5jc3MnOnt2OjY1MX0sJ3BhZ2Uu anMnOnt2OjgwNH0KfQo8L3NjcmlwdD4KCjxsaW5rIHJlbD0ic3R5bGVzaGVl dCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly9zdDAudmsubWUvY3Nz L2FsL2NvbW1vbi5jc3M/NDM0IiAvPgo8IS0tW2lmIGx0ZSBJRSA2XT48c3R5 bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPi8qIDwhW0NEQVRB WyAqLyBAaW1wb3J0IHVybChodHRwOi8vc3QwLnZrLm1lL2Nzcy9hbC9pZTYu Y3NzPzI2KTsgLyogXV0+ICovPC9zdHlsZT48IVtlbmRpZl0tLT4KPCEtLVtp ZiBJRSA3XT48c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4i Pi8qIDwhW0NEQVRBWyAqLyBAaW1wb3J0IHVybChodHRwOi8vc3QwLnZrLm1l L2Nzcy9hbC9pZTcuY3NzPzE4KTsgLyogXV0+ICovPC9zdHlsZT48IVtlbmRp Zl0tLT4KPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIg aHJlZj0iaHR0cDovL3N0MC52ay5tZS9jc3MvYWwvdmlkZW8uY3NzPzExMSI+ PC9saW5rPjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQi IGhyZWY9Imh0dHA6Ly9zdDAudmsubWUvY3NzL3VpX2NvbnRyb2xzLmNzcz80 OSI+PC9saW5rPjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hl ZXQiIGhyZWY9Imh0dHA6Ly9zdDAudmsubWUvY3NzL2FsL3ZpZGVvdmlldy5j c3M/MTIxIj48L2xpbms+PGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5 bGVzaGVldCIgaHJlZj0iaHR0cDovL3N0MC52ay5tZS9jc3MvYWwvcGFnZS5j c3M/NjUxIj48L2xpbms+CjxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29u dGVudD0i3yDz8u736uApKSkpKSIgLz4KPG1ldGEgcHJvcGVydHk9Im9nOmRl c2NyaXB0aW9uIiBjb250ZW50PSL98u4gwsfQ28IgzM7Hw8AmIzMzOyYjMzM7 JiMzMzsgz/Du8fLuIO7y4uDrIOHg+OroLi4uIiAvPgo8bWV0YSBwcm9wZXJ0 eT0ib2c6dHlwZSIgY29udGVudD0idmlkZW8iPgo8bWV0YSBwcm9wZXJ0eT0i b2c6dXJsIiBjb250ZW50PSJodHRwOi8vdmsuY29tL3ZpZGVvMzk1NzYyMjNf MTA4MzcwNTE1IiAvPgo8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBj b250ZW50PSJWSyIgLz4KPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250 ZW50PSJodHRwOi8vdmlkZW80MzMudmthZHJlLnJ1L2Fzc2V0cy90aHVtYm5h aWxzLzg4NjE1Y2E5ODExOTY5MDMuMzIwLnZrLmpwZyIgLz4KPG1ldGEgcHJv cGVydHk9Im9nOnZpZGVvOmR1cmF0aW9uIiBjb250ZW50PSIxODMiIC8+Cgo8 bWV0YSBwcm9wZXJ0eT0ib2c6dmlkZW8iIGNvbnRlbnQ9Imh0dHA6Ly92ay5j b20vdmlkZW8/YWN0PWdldF9zd2Ymb2lkPTM5NTc2MjIzJnZpZD0xMDgzNzA1 MTUmZW1iZWRfaGFzaD0xNTE4NGRiZDA4NWM0N2FmIiAvPgo8bWV0YSBwcm9w ZXJ0eT0ib2c6dmlkZW86dHlwZSIgY29udGVudD0iYXBwbGljYXRpb24veC1z aG9ja3dhdmUtZmxhc2giIC8+CjxtZXRhIHByb3BlcnR5PSJvZzp2aWRlbzp3 aWR0aCIgY29udGVudD0iNzIwIiAvPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dmlk ZW86aGVpZ2h0IiBjb250ZW50PSI0MTAiIC8+CjxzY3JpcHQgdHlwZT0idGV4 dC9qYXZhc2NyaXB0IiBzcmM9Ii9qcy9sb2FkZXJfbmF2MTQ3NzdfMy5qcyI+ PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i aHR0cDovL3N0My52ay5tZS9qcy9hbC9jb21tb24uanM/MTA5OV80OSI+PC9z Y3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2pz L2xhbmczXzAuanM/MzM1MSI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0 L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3N0My52ay5tZS9qcy9hbC92aWRl by5qcz8xMjciPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny aXB0IiBzcmM9Imh0dHA6Ly9zdDMudmsubWUvanMvYWwvaW5kZXhlci5qcz8x OSI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy Yz0iaHR0cDovL3N0My52ay5tZS9qcy9saWIvdWlfY29udHJvbHMuanM/MTUx Ij48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj PSJodHRwOi8vc3QxLnZrLm1lL2pzL2FsL3ZpZGVvdmlldy5qcz8yMDEiPjwv c2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0 dHA6Ly9zdDMudmsubWUvanMvYWwvcGFnZS5qcz84MDQiPjwvc2NyaXB0PgoK PC9oZWFkPgoKPGJvZHkgb25yZXNpemU9Im9uQm9keVJlc2l6ZSgpIiBjbGFz cz0iaXNfcnRsIGZvbnRfZGVmYXVsdCBwYWRzICI+CiAgPGRpdiBpZD0ic3lz dGVtX21zZyIgY2xhc3M9ImZpeGVkIj48L2Rpdj4KICA8ZGl2IGlkPSJ1dGls cyI+PC9kaXY+CgogIDxkaXYgaWQ9ImxheWVyX2JnIiBjbGFzcz0iZml4ZWQi PjwvZGl2PjxkaXYgaWQ9ImxheWVyX3dyYXAiIGNsYXNzPSJzY3JvbGxfZml4 X3dyYXAgZml4ZWQiPjxkaXYgaWQ9ImxheWVyIj48L2Rpdj48L2Rpdj4KICA8 ZGl2IGlkPSJib3hfbGF5ZXJfYmciIGNsYXNzPSJmaXhlZCI+PC9kaXY+PGRp diBpZD0iYm94X2xheWVyX3dyYXAiIGNsYXNzPSJzY3JvbGxfZml4X3dyYXAg Zml4ZWQiPjxkaXYgaWQ9ImJveF9sYXllciI+PGRpdiBpZD0iYm94X2xvYWRl ciI+PGRpdiBjbGFzcz0ibG9hZGVyIj48L2Rpdj48ZGl2IGNsYXNzPSJiYWNr Ij48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4KCiAgPGRpdiBpZD0ic3RsX2xl ZnQiPjwvZGl2PjxkaXYgaWQ9InN0bF9zaWRlIj48L2Rpdj4KCiAgPHNjcmlw dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmRvbVN0YXJ0ZWQoKTs8L3Njcmlw dD4KCiAgPGRpdiBjbGFzcz0ic2Nyb2xsX2ZpeF93cmFwIiBpZD0icGFnZV93 cmFwIj48ZGl2IGlkPSJyZWdfYmFyIiBjbGFzcz0idG9wX2luZm9fd3JhcCBm aXhlZCI+CiAgPGRpdiBjbGFzcz0ic2Nyb2xsX2ZpeCI+CiAgICA8ZGl2IGlk PSJyZWdfYmFyX2NvbnRlbnQiPgogICAgICBKb2luIFZLIG5vdyBhbmQgYWx3 YXlzIHN0YXkgaW4gY29udGFjdCB3aXRoIHlvdXIgZnJpZW5kcyBhbmQgcmVs YXRpdmVzCiAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbl9ibHVlIiBpZD0icmVn X2Jhcl9idXR0b24iPjxhIGNsYXNzPSJidXR0b25fbGluayIgaHJlZj0iL2pv aW4iIG9uY2xpY2s9InJldHVybiAhc2hvd0JveCgnam9pbi5waHAnLCB7YWN0 OiAnYm94JywgZnJvbTogbmF2LnN0ckxvY30sIHt9LCBldmVudCkiPjxidXR0 b24gaWQ9InJlZ19iYXJfYnRuIj48c3BhbiBpZD0icmVnX2Jhcl93aXRoX2Fy ciI+U2lnbiB1cDwvc3Bhbj48L2J1dHRvbj48L2E+PC9kaXY+CiAgICA8L2Rp dj4KICA8L2Rpdj4KPC9kaXY+CjxkaXY+PGRpdiBjbGFzcz0ic2Nyb2xsX2Zp eCI+CiAgPGRpdiBpZD0icGFnZV9sYXlvdXQiIHN0eWxlPSJ3aWR0aDogNzkx cHg7Ij4KICAgIDxkaXYgaWQ9InBhZ2VfaGVhZGVyIiBjbGFzcz0icF9oZWFk MSBwX2hlYWRfbDMiPgogICAgICA8ZGl2IGNsYXNzPSJiYWNrIj48L2Rpdj4K ICAgICAgPGRpdiBjbGFzcz0ibGVmdCI+PC9kaXY+CiAgICAgIDxkaXYgY2xh c3M9InJpZ2h0Ij48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+ CiAgICAgICAgPGRpdiBpZD0idG9wX25hdiIgY2xhc3M9ImhlYWRfbmF2Ij4K ICA8ZGl2IGlkPSJ0b3BfbG9nb19kb3duIiBjbGFzcz0iZmxfbCI+PC9kaXY+ CiAgPGEgaWQ9InRvcF9ob21lX2xpbmsiIGNsYXNzPSJ0b3BfaG9tZV9saW5r IGZsX2wiIGhyZWY9Ii8iIG9ubW91c2Vkb3duPSJhZGRDbGFzcygndG9wX2xv Z29fZG93bicsJ3RsZF9kJyk7IiBvbmNsaWNrPSJyZXR1cm4gbmF2LmdvKHRo aXMsIGV2ZW50KTsiPjwvYT4KICA8ZGl2IGlkPSJ0b3BfbGlua3MiPgogICAg PGRpdiBjbGFzcz0iZmxfciIgaWQ9InRvcF9tZW51X3dyYXAiIHN0eWxlPSIi PgogICAgICA8YSBpZD0idG9wX3JlZ19saW5rIiBjbGFzcz0iZmxfciB0b3Bf bmF2X2xpbmsiIGhyZWY9Ii9qb2luIiBzdHlsZT0iIiBvbmNsaWNrPSJyZXR1 cm4gIXNob3dCb3goJ2pvaW4ucGhwJywge2FjdDogJ2JveCcsIGZyb206IG5h di5zdHJMb2N9LCB7fSwgZXZlbnQpIiBvbm1vdXNlZG93bj0idG5BY3RpdmUo dGhpcykiPnNpZ24gdXA8L2E+CiAgICAgIDxhIGlkPSJ0b3Bfc3dpdGNoX2xh bmciIGNsYXNzPSJmbF9yIHRvcF9uYXZfbGluayIgIHN0eWxlPSJkaXNwbGF5 OiBub25lOyIgb25jbGljaz0iYWpheC5wb3N0KCdhbF9pbmRleC5waHAnLCB7 YWN0OiAnY2hhbmdlX2xhbmcnLCBsYW5nX2lkOiAzLCBoYXNoOiAnJ30pOyIg b25tb3VzZWRvd249InRuQWN0aXZlKHRoaXMpIj5Td2l0Y2ggdG8gRW5nbGlz aDwvYT4KICAgIDwvZGl2PgogICAgPGEgY2xhc3M9ImZsX2wgdG9wX25hdl9s aW5rIiBocmVmPSIiIGlkPSJ0b3BfYmFja19saW5rIiBvbmNsaWNrPSJyZXR1 cm4gbmF2LmdvKHRoaXMsIGV2ZW50LCB7YmFjazogdHJ1ZX0pIiBvbm1vdXNl ZG93bj0idG5BY3RpdmUodGhpcykiPjwvYT4KICA8L2Rpdj4KPC9kaXY+CiAg ICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0ic2lkZV9iYXIi IGNsYXNzPSJmbF9sIiBzdHlsZT0iIj4KICAgICAgPGRpdiBpZD0icXVpY2tf bG9naW4iPgogIDxmb3JtIG1ldGhvZD0iUE9TVCIgbmFtZT0ibG9naW4iIGlk PSJxdWlja19sb2dpbl9mb3JtIiBhY3Rpb249Imh0dHBzOi8vbG9naW4udmsu Y29tLz9hY3Q9bG9naW4iIG9uc3VibWl0PSJpZiAodmtsb2dpbikge3JldHVy biB0cnVlfSBlbHNlIHtxdWlja19sb2dpbigpO3JldHVybiBmYWxzZTt9Ij4K ICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdCIgdmFsdWU9Imxv Z2luIiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icm9sZSIg dmFsdWU9ImFsX2ZyYW1lIiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIg bmFtZT0iZXhwaXJlIiBpZD0icXVpY2tfZXhwaXJlX2lucHV0IiB2YWx1ZT0i IiAvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY2FwdGNoYV9z aWQiIGlkPSJxdWlja19jYXB0Y2hhX3NpZCIgdmFsdWU9IiIgLz4KICAgIDxp bnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNhcHRjaGFfa2V5IiBpZD0icXVp Y2tfY2FwdGNoYV9rZXkiIHZhbHVlPSIiIC8+CiAgICA8aW5wdXQgdHlwZT0i aGlkZGVuIiBuYW1lPSJfb3JpZ2luIiB2YWx1ZT0iaHR0cDovL3ZrLmNvbSIg Lz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlwX2giIHZhbHVl PSJiNjVhZjI3NDcxMTJmY2UwZDIiIC8+CiAgICA8ZGl2IGNsYXNzPSJsYWJl bCI+UGhvbmUgb3IgZW1haWw8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImxhYmVs ZWQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJlbWFpbCIgY2xhc3M9InRl eHQiIGlkPSJxdWlja19lbWFpbCIgLz48L2Rpdj4KICAgIDxkaXYgY2xhc3M9 ImxhYmVsIj5QYXNzd29yZDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibGFiZWxl ZCI+PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwYXNzIiBjbGFzcz0i dGV4dCIgaWQ9InF1aWNrX3Bhc3MiIG9ua2V5dXA9InRvZ2dsZSgncXVpY2tf ZXhwaXJlJywgISF0aGlzLnZhbHVlKTt0b2dnbGUoJ3F1aWNrX2ZvcmdvdCcs ICF0aGlzLnZhbHVlKSIgLz48L2Rpdj4KICAgIDxpbnB1dCB0eXBlPSJzdWJt aXQiIGNsYXNzPSJzdWJtaXQiIC8+CiAgPC9mb3JtPgogIDxkaXYgY2xhc3M9 ImJ1dHRvbl9ibHVlIGJ1dHRvbl93aWRlIGJ1dHRvbl9iaWciIGlkPSJxdWlj a19hdXRoX2J1dHRvbiI+PGJ1dHRvbiBpZD0icXVpY2tfbG9naW5fYnV0dG9u Ij5Mb2cgaW48L2J1dHRvbj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJidXR0b25f Ymx1ZSBidXR0b25fd2lkZSBidXR0b25fYmlnIiBpZD0icXVpY2tfcmVnX2J1 dHRvbiIgc3R5bGU9IiI+PGJ1dHRvbiBvbmNsaWNrPSJ0b3Auc2hvd0JveCgn am9pbi5waHAnLCB7YWN0OiAnYm94JywgZnJvbTogbmF2LnN0ckxvY30pIj5T aWduIHVwPC9idXR0b24+PC9kaXY+CiAgPGRpdiBjbGFzcz0iY2xlYXIgZm9y Z290Ij48YSBpZD0icXVpY2tfZm9yZ290IiBocmVmPSIvcmVzdG9yZSIgdGFy Z2V0PSJfdG9wIj5Gb3Jnb3QgeW91ciBwYXNzd29yZD88L2E+PGRpdiBjbGFz cz0iY2hlY2tib3ggdGFfbCIgaWQ9InF1aWNrX2V4cGlyZSIgb25jbGljaz0i Y2hlY2tib3godGhpcyk7Z2UoJ3F1aWNrX2V4cGlyZV9pbnB1dCcpLnZhbHVl PWlzQ2hlY2tlZCh0aGlzKT8xOicnOyI+PGRpdj48L2Rpdj5Eb24mIzM5O3Qg cmVtZW1iZXIgbWU8L2Rpdj48L2Rpdj4KPC9kaXY+CiAgICA8L2Rpdj4KCiAg ICA8ZGl2IGlkPSJwYWdlX2JvZHkiIGNsYXNzPSJmbF9yIiBzdHlsZT0id2lk dGg6IDYzMXB4OyI+CiAgICAgIDxkaXYgaWQ9ImhlYWRlcl93cmFwMiI+CiAg ICAgICAgPGRpdiBpZD0iaGVhZGVyX3dyYXAxIj4KICAgICAgICAgIDxkaXYg aWQ9ImhlYWRlciIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPgogICAgICAgICAg ICA8aDEgaWQ9InRpdGxlIj48L2gxPgogICAgICAgICAgPC9kaXY+CiAgICAg ICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJ3cmFwX2Jl dHdlZW4iPjwvZGl2PgogICAgICA8ZGl2IGlkPSJ3cmFwMyI+PGRpdiBpZD0i d3JhcDIiPgogIDxkaXYgaWQ9IndyYXAxIj4KICAgIDxkaXYgaWQ9ImNvbnRl bnQiPjxkaXYgaXRlbXByb3A9InZpZGVvIiBpdGVtc2NvcGUgaXRlbXR5cGU9 Imh0dHA6Ly9zY2hlbWEub3JnL1ZpZGVvT2JqZWN0Ij4KICA8bGluayBpdGVt cHJvcD0idXJsIiBocmVmPSJodHRwOi8vdmsuY29tL3ZpZGVvMzk1NzYyMjNf MTA4MzcwNTE1IiAvPgogIDxtZXRhIGl0ZW1wcm9wPSJuYW1lIiBjb250ZW50 PSLfIPPy7vfq4CkpKSkpIiAvPgogIDxtZXRhIGl0ZW1wcm9wPSJkZXNjcmlw dGlvbiIgY29udGVudD0i/fLuIMLH0NvCIMzOx8PAJiMzMzsmIzMzOyYjMzM7 IM/w7vHy7iDu8uLg6yDh4Pjq6C4uLiIgLz4KICA8bWV0YSBpdGVtcHJvcD0i ZHVyYXRpb24iIGNvbnRlbnQ9IlBUM00zUyIgLz4KICA8bGluayBpdGVtcHJv cD0idGh1bWJuYWlsVXJsIiBocmVmPSJodHRwOi8vdmlkZW80MzMudmthZHJl LnJ1L2Fzc2V0cy90aHVtYm5haWxzLzg4NjE1Y2E5ODExOTY5MDMuNDYwLnZr LmpwZyIgLz4KICA8c3BhbiBpdGVtcHJvcD0idGh1bWJuYWlsIiBpdGVtc2Nv cGUgaXRlbXR5cGU9Imh0dHA6Ly9zY2hlbWEub3JnL0ltYWdlT2JqZWN0Ij4K ICAgIDxsaW5rIGl0ZW1wcm9wPSJ1cmwiIGhyZWY9Imh0dHA6Ly92aWRlbzQz My52a2FkcmUucnUvYXNzZXRzL3RodW1ibmFpbHMvODg2MTVjYTk4MTE5Njkw My4zMjAudmsuanBnIiAvPgogICAgPG1ldGEgaXRlbXByb3A9IndpZHRoIiBj b250ZW50PSIzMjAiIC8+CiAgICA8bWV0YSBpdGVtcHJvcD0iaGVpZ2h0IiBj b250ZW50PSIyNDAiIC8+CiAgPC9zcGFuPgo8L2Rpdj48ZGl2IGNsYXNzPSJ0 X2JhciBjbGVhcl9maXgiIGlkPSJ2aWRlb190YWJzIj4KICA8dWwgY2xhc3M9 InQwIj48bGkgY2xhc3M9IiBhY3RpdmVfbGluayIgaWQ9InZpZGVvX3RhYl9h bGwiPgogIDxhIGhyZWY9Ii92aWRlb3MzOTU3NjIyMyIgb25jbGljaz0icmV0 dXJuIGNoZWNrRXZlbnQoZXZlbnQpOyIgb25tb3VzZWRvd249InJldHVybiBu YXYuY2hhbmdlKHtzZWN0aW9uOiAnYWxsJ30pOyI+CiAgICA8YiBjbGFzcz0i dGwxIj48Yj48L2I+PC9iPgogICAgPGIgY2xhc3M9InRsMiI+PC9iPgogICAg PGIgY2xhc3M9InRhYl93b3JkIj48bm9icj5BbGwgdmlkZW9zPC9ub2JyPjwv Yj4KICA8L2E+CjwvbGk+PGxpIGNsYXNzPSJ2aWRlb190YWJfaGlkZGVuIiBp ZD0idmlkZW9fdGFiX2hpZGRlbiI+CiAgPGEgaHJlZj0iL3ZpZGVvczM5NTc2 MjIzIiBvbmNsaWNrPSJyZXR1cm4gY2hlY2tFdmVudChldmVudCk7IiBvbm1v dXNlZG93bj0icmV0dXJuIGZhbHNlOyI+CiAgICA8YiBjbGFzcz0idGwxIj48 Yj48L2I+PC9iPgogICAgPGIgY2xhc3M9InRsMiI+PC9iPgogICAgPGIgY2xh c3M9InRhYl93b3JkIj48bm9icj48L25vYnI+PC9iPgogIDwvYT4KPC9saT48 bGkgY2xhc3M9InRfciI+PGRpdiBpZD0idmlkZW9fdGFic19wcm9ncmVzcyIg Y2xhc3M9InByb2dyZXNzIj48L2Rpdj48L2xpPjwvdWw+CjwvZGl2Pgo8ZGl2 IGlkPSJ2aWRlb19jb250ZW50IiBjbGFzcz0idmlkZW9fYWxidW1zX2hpZGRl biB2aWRlb19ub19hbGJ1bXMiPgogIDxkaXYgaWQ9InZpZGVvX3NlYXJjaCIg c3R5bGU9ImRpc3BsYXk6IG5vbmU7IiBjbGFzcz0idmlkZW9fc2VhcmNoIHRv cF9zZWFyY2hfd3JhcCBub192aWRlb191cGxvYWQiPgogICAgCiAgICA8ZGl2 IGNsYXNzPSJ2aWRlb19sb2FkaW5nX2NvbnQiPgogICAgICA8ZGl2IGNsYXNz PSJ2aWRlb19sb2FkaW5nIj48L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBp ZD0idmlkZW9fcmVzZXRfc2VhcmNoIiBjbGFzcz0idmlkZW9fcmVzZXRfc2Vh cmNoIiBvbm1vdXNlb3Zlcj0ic2V0U3R5bGUodGhpcywge29wYWNpdHk6IDF9 KTsiIG9ubW91c2VvdXQ9InNldFN0eWxlKHRoaXMsIHtvcGFjaXR5OiAwLjZ9 KTsiIG9uY2xpY2s9IlZpZGVvLnNlYXJjaFZpZGVvcyhmYWxzZSk7Ij48L2Rp dj4KICAgIDxkaXYgaWQ9InZpZGVvX3NlYXJjaF9jb250cm9scyI+CiAgICAg IDxkaXYgY2xhc3M9InZpZGVvX3NlYXJjaF9jb250Ij4KICAgICAgICA8ZGl2 IGNsYXNzPSJ2aWRlb19jaGVja2JveCBjaGVja2JveCBmbF9sIiBpZD0idmlk ZW9faGRfb3B0aW9uIiBvbmNsaWNrPSJjaGVja2JveCh0aGlzKTsgVmlkZW8u dG9nZ2xlSEQoMSk7Ij48ZGl2PjwvZGl2PkhpZ2gtZGVmaW5pdGlvbiBvbmx5 PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvX2NoZWNrYm94 IGNoZWNrYm94IG9uIGZsX2wiIGlkPSJ2aWRlb19hZHVsdF9vcHRpb24iIG9u Y2xpY2s9ImNoZWNrYm94KHRoaXMpOyBWaWRlby50b2dnbGVBZHVsdCgpOyI+ PGRpdj48L2Rpdj5TYWZlIHNlYXJjaDwvZGl2PgogICAgICAgIDxhIGlkPSJ2 aWRlb19sZW5ndGhfMCIgY2xhc3M9InZpZGVvX2xlbmd0aCB2aWRlb19sZW5n dGhfc2VsIGZsX3IiIG9uY2xpY2s9InJldHVybiBWaWRlby50b2dnbGVMZW5n dGgodGhpcywgMCk7Ij5BbGwgdmlkZW9zPC9hPgogICAgICAgIDxhIGlkPSJ2 aWRlb19sZW5ndGhfMSIgY2xhc3M9InZpZGVvX2xlbmd0aCBmbF9yIiBvbmNs aWNrPSJyZXR1cm4gVmlkZW8udG9nZ2xlTGVuZ3RoKHRoaXMsIDEpOyI+U2hv cnQ8L2E+CiAgICAgICAgPGEgaWQ9InZpZGVvX2xlbmd0aF8yIiBjbGFzcz0i dmlkZW9fbGVuZ3RoIGZsX3IiIG9uY2xpY2s9InJldHVybiBWaWRlby50b2dn bGVMZW5ndGgodGhpcywgMik7Ij5Mb25nPC9hPgoKICAgICAgICA8L2Rpdj4K ICAgICAgICA8YnIgY2xhc3M9ImNsZWFyIiAvPgogICAgPC9kaXY+CiAgICA8 aW5wdXQgdHlwZT0idGV4dCIgaWQ9InZfc2VhcmNoIiBvbmtleWRvd249IlZp ZGVvLnVwZGF0ZUxpc3QoZXZlbnQsIHRoaXMpOyIgb25wYXN0ZT0iVmlkZW8u dXBkYXRlTGlzdChldmVudCwgdGhpcyk7IiBvbmN1dD0iVmlkZW8udXBkYXRl TGlzdChldmVudCwgdGhpcyk7IiBjbGFzcz0idGV4dCB2aWRlb19zZWFyY2hf aW5wdXQgdG9wX3NlYXJjaF9pbnAiIHBsYWNlaG9sZGVyPSJTZWFyY2ggdmlk ZW9zIiBvbmZvY3VzPSJhZGRDbGFzcyhjdXIudkxpc3QsICdzZWFyY2hfZm9j dXMnKTsiIG9uYmx1cj0icmVtb3ZlQ2xhc3MoY3VyLnZMaXN0LCAnc2VhcmNo X2ZvY3VzJyk7IiAvPgogIDwvZGl2PgogIDxkaXYgaWQ9InZpZGVvX2FsYnVt c19saXN0IiBzdHlsZT0iIiBjbGFzcz0iIj4KCiAgICA8ZGl2IGNsYXNzPSJz dW1tYXJ5X3dyYXAiPgogICAgICA8ZGl2IGNsYXNzPSJjbGVhcl9maXgiPgog ICAgICAgIDxhIGlkPSJ2aWRlb19jcmVhdGVfYWxidW0iIGNsYXNzPSJmbF9y IiBvbmNsaWNrPSJWaWRlby5jcmVhdGVBbGJ1bSgpIiBzdHlsZT0iZGlzcGxh eTogbm9uZTsiPk5ldyBmb2xkZXI8L2E+CiAgICAgICAgPGRpdiBpZD0idmlk ZW9fYWxidW1zX3N1bW1hcnkiIGNsYXNzPSJzdW1tYXJ5ICI+QWxleGFuZGVy IGhhcyAwIGZvbGRlcnM8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4K ICAgIDxkaXYgY2xhc3M9InZpZGVvX2FsYnVtc19jb250IiBpZD0idmlkZW9f YWxidW1zX2NvbnQiPgogICAgICAKICAgIDwvZGl2PgogIDwvZGl2PgogIDxk aXYgY2xhc3M9InN1bW1hcnlfd3JhcCB2aWRlb19tYWluX3N1bW1hcnkiPgog ICAgPGRpdiBjbGFzcz0iY2xlYXJfZml4Ij4KICAgICAgPGEgaWQ9InZpZGVv X2NvbW1lbnRzX2xpbmsiIHN0eWxlPSIiIGhyZWY9Ii92aWRlb3MzOTU3NjIy Mz9zZWN0aW9uPWNvbW1lbnRzIiBjbGFzcz0iZmxfciIgb25jbGljaz0icmV0 dXJuIG5hdi5jaGFuZ2Uoe3NlY3Rpb246ICdjb21tZW50cyd9KTsiPkJyb3dz ZSBjb21tZW50czwvYT4KICAgICAgPGRpdiBpZD0idmlkZW9fc3VtbWFyeSIg Y2xhc3M9InN1bW1hcnkgZmxfbCI+NSB2aWRlb3M8L2Rpdj4KICAgICAgCiAg ICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGlkPSJ2aWRlb19saXN0IiBjbGFz cz0idmlkZW9fbGlzdCI+CiAgICA8ZGl2IGlkPSJ2aWRlb19yb3dzIiBjbGFz cz0iY2xlYXJfYWxsICI+PGRpdiBpZD0idmlkZW9fY29udDM5NTc2MjIzXzE2 NjMxNTU0MyIgY2xhc3M9InZpZGVvX3Jvd19jb250Ij48ZGl2IGNsYXNzPSJ2 aWRlb19yb3dfaW5uZXJfY29udCI+PGEgaHJlZj0iL3ZpZGVvMzk1NzYyMjNf MTY2MzE1NTQzIiBjbGFzcz0idmlkZW9fcm93X3JlbGF0aXZlIiBpZD0idmlk ZW9fcm93Mzk1NzYyMjNfMTY2MzE1NTQzIiBvbm1vdXNlb3Zlcj0iVmlkZW8u cm93T3Zlcih0aGlzKTsiIG9ubW91c2VvdXQ9IlZpZGVvLnJvd091dCh0aGlz KSIgb25jbGljaz0iaWYgKGN1ci5jYW5jZWxDbGljaykgcmV0dXJuIChjdXIu Y2FuY2VsQ2xpY2sgPSBmYWxzZSk7IHJldHVybiBWaWRlby5zaG93KGV2ZW50 LCAnMzk1NzYyMjNfMTY2MzE1NTQzJywge30sIHRoaXMpOyI+CiAgICAKICAg IDxkaXYgY2xhc3M9InZpZGVvX3Jvd19pbmZvX2xpbmUiPjxkaXYgY2xhc3M9 InZpZGVvX3Jhd19pbmZvX25hbWUiPtDl6uvg7OAgJnF1b3Q7zOXt8u7xJnF1 b3Q7ICjv8Ojq7uspPC9kaXY+PGRpdiBjbGFzcz0idmlkZW9fcm93X2R1cmF0 aW9uIj4wOjI5PC9kaXY+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ2aWRlb19y b3dfaW5mb19wbGF5Ij48L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0idmlk ZW9fcm93X2NvbnRyb2xzIj4KICAgICAgPGRpdiBjbGFzcz0idmlkZW9fcm93 X2ljb25fZWRpdCBmbF9sIiBvbm1vdXNlb3Zlcj0iVmlkZW8uYWN0aXZhdGUo dGhpcyk7IiBvbm1vdXNlb3V0PSJWaWRlby5kZWFjdGl2YXRlKHRoaXMpOyIg b25jbGljaz0icmV0dXJuIHZpZGVvdmlldy5zaG93RWRpdEJveCgxNjYzMTU1 NDMsIDM5NTc2MjIzLCBldmVudCk7Ij48ZGl2IGNsYXNzPSJ2aWRlb19yb3df aWNvbiI+PC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZpZGVvX3Jv d19pY29uX2RlbGV0ZSBmbF9sIiBvbm1vdXNlb3Zlcj0iVmlkZW8uYWN0aXZh dGUodGhpcyk7IiBvbm1vdXNlb3V0PSJWaWRlby5kZWFjdGl2YXRlKHRoaXMp OyIgb25jbGljaz0icmV0dXJuIFZpZGVvLm9uRGVsZXRlQ2xpY2soMTY2MzE1 NTQzLCAzOTU3NjIyMywgJ19hMGEzNmI2Y2EzYjI1MDBkYWUnLCB0aGlzLCBl dmVudCk7Ij48ZGl2IGNsYXNzPSJ2aWRlb19yb3dfaWNvbiI+PC9kaXY+PC9k aXY+CiAgICAgIDxiciBjbGFzcz0iY2xlYXIiIC8+CiAgICA8L2Rpdj4KICAg IDxkaXYgY2xhc3M9InZpZGVvX2ltYWdlX2RpdiIgc3R5bGU9ImJhY2tncm91 bmQtaW1hZ2U6IHVybCgnaHR0cDovL3ZpZGVvNDQ4LnZrYWRyZS5ydS9hc3Nl dHMvdGh1bWJuYWlscy8zZWRhYmZjNTc3MDMxNTgwLjMyMC52ay5qcGcnKTsi PjwvZGl2PgogIDwvYT48L2Rpdj4KPC9kaXY+PGRpdiBpZD0idmlkZW9fY29u dDM5NTc2MjIzXzE2NTYwNzQ0NSIgY2xhc3M9InZpZGVvX3Jvd19jb250Ij48 ZGl2IGNsYXNzPSJ2aWRlb19yb3dfaW5uZXJfY29udCI+PGEgaHJlZj0iL3Zp ZGVvMzk1NzYyMjNfMTY1NjA3NDQ1IiBjbGFzcz0idmlkZW9fcm93X3JlbGF0 aXZlIiBpZD0idmlkZW9fcm93Mzk1NzYyMjNfMTY1NjA3NDQ1IiBvbm1vdXNl b3Zlcj0iVmlkZW8ucm93T3Zlcih0aGlzKTsiIG9ubW91c2VvdXQ9IlZpZGVv LnJvd091dCh0aGlzKSIgb25jbGljaz0iaWYgKGN1ci5jYW5jZWxDbGljaykg cmV0dXJuIChjdXIuY2FuY2VsQ2xpY2sgPSBmYWxzZSk7IHJldHVybiBWaWRl by5zaG93KGV2ZW50LCAnMzk1NzYyMjNfMTY1NjA3NDQ1Jywge30sIHRoaXMp OyI+CiAgICAKICAgIDxkaXYgY2xhc3M9InZpZGVvX3Jvd19pbmZvX2xpbmUi PjxkaXYgY2xhc3M9InZpZGVvX3Jhd19pbmZvX25hbWUiPvUv9CAmcXVvdDvR 5ezl6e3u5SDk5evuJnF1b3Q7PC9kaXY+PGRpdiBjbGFzcz0idmlkZW9fcm93 X2R1cmF0aW9uIj4yOjQwPC9kaXY+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ2 aWRlb19yb3dfaW5mb19wbGF5Ij48L2Rpdj4KICAgIAogICAgPGRpdiBjbGFz cz0idmlkZW9fcm93X2NvbnRyb2xzIj4KICAgICAgPGRpdiBjbGFzcz0idmlk ZW9fcm93X2ljb25fZWRpdCBmbF9sIiBvbm1vdXNlb3Zlcj0iVmlkZW8uYWN0 aXZhdGUodGhpcyk7IiBvbm1vdXNlb3V0PSJWaWRlby5kZWFjdGl2YXRlKHRo aXMpOyIgb25jbGljaz0icmV0dXJuIHZpZGVvdmlldy5zaG93RWRpdEJveCgx NjU2MDc0NDUsIDM5NTc2MjIzLCBldmVudCk7Ij48ZGl2IGNsYXNzPSJ2aWRl b19yb3dfaWNvbiI+PC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InZp ZGVvX3Jvd19pY29uX2RlbGV0ZSBmbF9sIiBvbm1vdXNlb3Zlcj0iVmlkZW8u YWN0aXZhdGUodGhpcyk7IiBvbm1vdXNlb3V0PSJWaWRlby5kZWFjdGl2YXRl KHRoaXMpOyIgb25jbGljaz0icmV0dXJuIFZpZGVvLm9uRGVsZXRlQ2xpY2so MTY1NjA3NDQ1LCAzOTU3NjIyMywgJ185MzQ5ZjFiNDUwMTRmNjc0ZGUnLCB0 aGlzLCBldmVudCk7Ij48ZGl2IGNsYXNzPSJ2aWRlb19yb3dfaWNvbiI+PC9k aXY+PC9kaXY+CiAgICAgIDxiciBjbGFzcz0iY2xlYXIiIC8+CiAgICA8L2Rp dj4KICAgIDxkaXYgY2xhc3M9InZpZGVvX2ltYWdlX2RpdiIgc3R5bGU9ImJh Y2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cDovL2NzMTI5NDcudmsubWUvdTI3 MDkxNDgvdmlkZW8vbF83Y2FlYjE1ZS5qcGcnKTsiPjwvZGl2PgogIDwvYT48 L2Rpdj4KPC9kaXY+PGRpdiBpZD0idmlkZW9fY29udDM5NTc2MjIzXzE2NTU1 Mzc2NiIgY2xhc3M9InZpZGVvX3Jvd19jb250Ij48ZGl2IGNsYXNzPSJ2aWRl b19yb3dfaW5uZXJfY29udCI+PGEgaHJlZj0iL3ZpZGVvMzk1NzYyMjNfMTY1 NTUzNzY2IiBjbGFzcz0idmlkZW9fcm93X3JlbGF0aXZlIiBpZD0idmlkZW9f cm93Mzk1NzYyMjNfMTY1NTUzNzY2IiBvbm1vdXNlb3Zlcj0iVmlkZW8ucm93 T3Zlcih0aGlzKTsiIG9ubW91c2VvdXQ9IlZpZGVvLnJvd091dCh0aGlzKSIg b25jbGljaz0iaWYgKGN1ci5jYW5jZWxDbGljaykgcmV0dXJuIChjdXIuY2Fu Y2VsQ2xpY2sgPSBmYWxzZSk7IHJldHVybiBWaWRlby5zaG93KGV2ZW50LCAn Mzk1NzYyMjNfMTY1NTUzNzY2Jywge30sIHRoaXMpOyI+CiAgICAKICAgIDxk aXYgY2xhc3M9InZpZGVvX3Jvd19pbmZvX2xpbmUiPjxkaXYgY2xhc3M9InZp ZGVvX3Jhd19pbmZvX25hbWUiPtHo7O/x7u37IC8gVGhlIFNpbXBzb25zIDI0 IPHl5+7tIDE3IPHl8Oj/PC9kaXY+PGRpdiBjbGFzcz0idmlkZW9fcm93X2R1 cmF0aW9uIj4yMTo1MjwvZGl2PjwvZGl2PgogICAgPGRpdiBjbGFzcz0idmlk ZW9fcm93X2luZm9fcGxheSI+PC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9 InZpZGVvX3Jvd19jb250cm9scyI+CiAgICAgIDxkaXYgY2xhc3M9InZpZGVv X3Jvd19pY29uX2VkaXQgZmxfbCIgb25tb3VzZW92ZXI9IlZpZGVvLmFjdGl2 YXRlKHRoaXMpOyIgb25tb3VzZW91dD0iVmlkZW8uZGVhY3RpdmF0ZSh0aGlz KTsiIG9uY2xpY2s9InJldHVybiB2aWRlb3ZpZXcuc2hvd0VkaXRCb3goMTY1 NTUzNzY2LCAzOTU3NjIyMywgZXZlbnQpOyI+PGRpdiBjbGFzcz0idmlkZW9f cm93X2ljb24iPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2aWRl b19yb3dfaWNvbl9kZWxldGUgZmxfbCIgb25tb3VzZW92ZXI9IlZpZGVvLmFj dGl2YXRlKHRoaXMpOyIgb25tb3VzZW91dD0iVmlkZW8uZGVhY3RpdmF0ZSh0 aGlzKTsiIG9uY2xpY2s9InJldHVybiBWaWRlby5vbkRlbGV0ZUNsaWNrKDE2 NTU1Mzc2NiwgMzk1NzYyMjMsICdfZmM5ZjBmOGZjMTRhNjMyOTQyJywgdGhp cywgZXZlbnQpOyI+PGRpdiBjbGFzcz0idmlkZW9fcm93X2ljb24iPjwvZGl2 PjwvZGl2PgogICAgICA8YnIgY2xhc3M9ImNsZWFyIiAvPgogICAgPC9kaXY+ CiAgICA8ZGl2IGNsYXNzPSJ2aWRlb19pbWFnZV9kaXYiIHN0eWxlPSJiYWNr Z3JvdW5kLWltYWdlOiB1cmwoJ2h0dHA6Ly9jczUyNjQwNC52ay5tZS91ODYz MzIwNzYvdmlkZW8vbF9iMDAxYjdlMy5qcGcnKTsiPjwvZGl2PgogIDwvYT48 L2Rpdj4KPC9kaXY+PGRpdiBpZD0idmlkZW9fY29udDM5NTc2MjIzXzE2MTU5 ODU0NCIgY2xhc3M9InZpZGVvX3Jvd19jb250Ij48ZGl2IGNsYXNzPSJ2aWRl b19yb3dfaW5uZXJfY29udCI+PGEgaHJlZj0iL3ZpZGVvMzk1NzYyMjNfMTYx NTk4NTQ0IiBjbGFzcz0idmlkZW9fcm93X3JlbGF0aXZlIiBpZD0idmlkZW9f cm93Mzk1NzYyMjNfMTYxNTk4NTQ0IiBvbm1vdXNlb3Zlcj0iVmlkZW8ucm93 T3Zlcih0aGlzKTsiIG9ubW91c2VvdXQ9IlZpZGVvLnJvd091dCh0aGlzKSIg b25jbGljaz0iaWYgKGN1ci5jYW5jZWxDbGljaykgcmV0dXJuIChjdXIuY2Fu Y2VsQ2xpY2sgPSBmYWxzZSk7IHJldHVybiBWaWRlby5zaG93KGV2ZW50LCAn Mzk1NzYyMjNfMTYxNTk4NTQ0Jywge30sIHRoaXMpOyI+CiAgICAKICAgIDxk aXYgY2xhc3M9InZpZGVvX3Jvd19pbmZvX2xpbmUiPjxkaXYgY2xhc3M9InZp ZGVvX3Jhd19pbmZvX25hbWUiPkhhcnJ5IFBhcnRyaWRnZSAtIFNreXJpbSAo 8PPx8erg/yDu5+Lz9+rgKTwvZGl2PjxkaXYgY2xhc3M9InZpZGVvX3Jvd19k dXJhdGlvbiI+MToyNTwvZGl2PjwvZGl2PgogICAgPGRpdiBjbGFzcz0idmlk ZW9fcm93X2luZm9fcGxheSI+PC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9 InZpZGVvX3Jvd19jb250cm9scyI+CiAgICAgIDxkaXYgY2xhc3M9InZpZGVv X3Jvd19pY29uX2VkaXQgZmxfbCIgb25tb3VzZW92ZXI9IlZpZGVvLmFjdGl2 YXRlKHRoaXMpOyIgb25tb3VzZW91dD0iVmlkZW8uZGVhY3RpdmF0ZSh0aGlz KTsiIG9uY2xpY2s9InJldHVybiB2aWRlb3ZpZXcuc2hvd0VkaXRCb3goMTYx NTk4NTQ0LCAzOTU3NjIyMywgZXZlbnQpOyI+PGRpdiBjbGFzcz0idmlkZW9f cm93X2ljb24iPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ2aWRl b19yb3dfaWNvbl9kZWxldGUgZmxfbCIgb25tb3VzZW92ZXI9IlZpZGVvLmFj dGl2YXRlKHRoaXMpOyIgb25tb3VzZW91dD0iVmlkZW8uZGVhY3RpdmF0ZSh0 aGlzKTsiIG9uY2xpY2s9InJldHVybiBWaWRlby5vbkRlbGV0ZUNsaWNrKDE2 MTU5ODU0NCwgMzk1NzYyMjMsICdfN2NjMTU0MjI2ZWYxMjU4MDYyJywgdGhp cywgZXZlbnQpOyI+PGRpdiBjbGFzcz0idmlkZW9fcm93X2ljb24iPjwvZGl2 PjwvZGl2PgogICAgICA8YnIgY2xhc3M9ImNsZWFyIiAvPgogICAgPC9kaXY+ CiAgICA8ZGl2IGNsYXNzPSJ2aWRlb19pbWFnZV9kaXYiIHN0eWxlPSJiYWNr Z3JvdW5kLWltYWdlOiB1cmwoJ2h0dHA6Ly9jczQ2NDkudmsubWUvdTU1MTg0 MDAvdmlkZW8vbF82ZWQ4NWRlMC5qcGcnKTsiPjwvZGl2PgogIDwvYT48L2Rp dj4KPC9kaXY+PGRpdiBpZD0idmlkZW9fY29udDM5NTc2MjIzXzEwODM3MDUx NSIgY2xhc3M9InZpZGVvX3Jvd19jb250Ij48ZGl2IGNsYXNzPSJ2aWRlb19y b3dfaW5uZXJfY29udCI+PGEgaHJlZj0iL3ZpZGVvMzk1NzYyMjNfMTA4Mzcw NTE1IiBjbGFzcz0idmlkZW9fcm93X3JlbGF0aXZlIiBpZD0idmlkZW9fcm93 Mzk1NzYyMjNfMTA4MzcwNTE1IiBvbm1vdXNlb3Zlcj0iVmlkZW8ucm93T3Zl cih0aGlzKTsiIG9ubW91c2VvdXQ9IlZpZGVvLnJvd091dCh0aGlzKSIgb25j bGljaz0iaWYgKGN1ci5jYW5jZWxDbGljaykgcmV0dXJuIChjdXIuY2FuY2Vs Q2xpY2sgPSBmYWxzZSk7IHJldHVybiBWaWRlby5zaG93KGV2ZW50LCAnMzk1 NzYyMjNfMTA4MzcwNTE1Jywge30sIHRoaXMpOyI+CiAgICAKICAgIDxkaXYg Y2xhc3M9InZpZGVvX3Jvd19pbmZvX2xpbmUiPjxkaXYgY2xhc3M9InZpZGVv X3Jhd19pbmZvX25hbWUiPt8g8/Lu9+rgKSkpKSk8L2Rpdj48ZGl2IGNsYXNz PSJ2aWRlb19yb3dfZHVyYXRpb24iPjM6MDM8L2Rpdj48L2Rpdj4KICAgIDxk aXYgY2xhc3M9InZpZGVvX3Jvd19pbmZvX3BsYXkiPjwvZGl2PgogICAgCiAg ICA8ZGl2IGNsYXNzPSJ2aWRlb19yb3dfY29udHJvbHMiPgogICAgICA8ZGl2 IGNsYXNzPSJ2aWRlb19yb3dfaWNvbl9lZGl0IGZsX2wiIG9ubW91c2VvdmVy PSJWaWRlby5hY3RpdmF0ZSh0aGlzKTsiIG9ubW91c2VvdXQ9IlZpZGVvLmRl YWN0aXZhdGUodGhpcyk7IiBvbmNsaWNrPSJyZXR1cm4gdmlkZW92aWV3LnNo b3dFZGl0Qm94KDEwODM3MDUxNSwgMzk1NzYyMjMsIGV2ZW50KTsiPjxkaXYg Y2xhc3M9InZpZGVvX3Jvd19pY29uIj48L2Rpdj48L2Rpdj4KICAgICAgPGRp diBjbGFzcz0idmlkZW9fcm93X2ljb25fZGVsZXRlIGZsX2wiIG9ubW91c2Vv dmVyPSJWaWRlby5hY3RpdmF0ZSh0aGlzKTsiIG9ubW91c2VvdXQ9IlZpZGVv LmRlYWN0aXZhdGUodGhpcyk7IiBvbmNsaWNrPSJyZXR1cm4gVmlkZW8ub25E ZWxldGVDbGljaygxMDgzNzA1MTUsIDM5NTc2MjIzLCAnXzNhNTlhOTliOTg0 OWQ4ZTdlMScsIHRoaXMsIGV2ZW50KTsiPjxkaXYgY2xhc3M9InZpZGVvX3Jv d19pY29uIj48L2Rpdj48L2Rpdj4KICAgICAgPGJyIGNsYXNzPSJjbGVhciIg Lz4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0idmlkZW9faW1hZ2VfZGl2 IiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwOi8vdmlkZW80 MzMudmthZHJlLnJ1L2Fzc2V0cy90aHVtYm5haWxzLzg4NjE1Y2E5ODExOTY5 MDMuMzIwLnZrLmpwZycpOyI+PC9kaXY+CiAgPC9hPjwvZGl2Pgo8L2Rpdj48 L2Rpdj4KICAgIDxkaXYgaWQ9InZpZGVvX3NlYXJjaF9zdW1tYXJ5IiBjbGFz cz0ic3VtbWFyeV93cmFwIGNsZWFyIiBzdHlsZT0iZGlzcGxheTogbm9uZSI+ PC9kaXY+CiAgICA8YSBpZD0idmlkZW9fc29ydF9kZCIgY2xhc3M9ImRkX2xp bmsgZmxfciI+QnkgcmVsZXZhbmNlPC9hPgogICAgPGRpdiBpZD0idmlkZW9f c2VhcmNoX3Jvd3MiPgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJzaG93X21v cmUiIGNsYXNzPSJzaG93X21vcmUiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+ CiAgICAgIDxhIGhyZWY9IiIgb25jbGljaz0iVmlkZW8uc2hvd01vcmUoKTsg cmV0dXJuIGZhbHNlOyIgY2xhc3M9Im1vcmUiPgogICAgICAgIFNob3cgbW9y ZQogICAgICA8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNsZWFy Ij4KICAgICAgPGRpdiBpZD0ibm90X2ZvdW5kIiBjbGFzcz0idmlkZW9faW5m b19tc2cgIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogIDxzcGFuIGNsYXNz PSJ2aWRlb19lbXB0eSI+VGhlcmUgYXJlIG5vIHZpZGVvcy48L3NwYW4+CiAg PHNwYW4gY2xhc3M9InZpZGVvX2J5X3NlYXJjaCI+WW91ciBzZWFyY2ggZm9y IDxiPjxzcGFuIGlkPSJzZWFyY2hfcGgiPjwvc3Bhbj48L2I+IHJldHVybmVk IG5vIHZpZGVvcy48L3NwYW4+CiAgPHNwYW4gY2xhc3M9InZpZGVvX2VtcHR5 X2FsYnVtIj5ObyB2aWRlb3MgaW4gdGhpcyBmb2xkZXIgeWV0Ljwvc3Bhbj4K PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+CjxkaXYgaWQ9InBh Z2VfZW5kIj48L2Rpdj48L2Rpdj4KICA8L2Rpdj4KPC9kaXY+PC9kaXY+CiAg ICA8L2Rpdj4KCiAgICA8ZGl2IGlkPSJmb290ZXJfd3JhcCIgY2xhc3M9ImZs X3IiIHN0eWxlPSJ3aWR0aDogNjYxcHg7Ij4KICAgICAgPGRpdiBpZD0iYm90 dG9tX25hdiI+CiAgPGEgY2xhc3M9ImJuYXZfYSIgaHJlZj0iL2Fib3V0Ij5h Ym91dDwvYT4KICA8YSBjbGFzcz0iYm5hdl9hIiBocmVmPSIvc3VwcG9ydD9h Y3Q9bmV3IiBvbmNsaWNrPSJyZXR1cm4gbmF2LmdvKHRoaXMsIGV2ZW50KTsi IHN0eWxlPSJkaXNwbGF5OiBub25lOyI+aGVscDwvYT4KICA8YSBjbGFzcz0i Ym5hdl9hIiBocmVmPSIvdGVybXMiPnRlcm1zPC9hPgogIDxhIGNsYXNzPSJi bmF2X2EiIGhyZWY9Ii9wZW9wbGUiPnBlb3BsZTwvYT48YSBjbGFzcz0iYm5h dl9hIiBocmVmPSIvY29tbXVuaXRpZXMiPmNvbW11bml0aWVzPC9hPgogIDxh IGNsYXNzPSJibmF2X2EiIGhyZWY9Ii9kZXYiPmRldmVsb3BlcnM8L2E+Cjwv ZGl2Pgo8cCBpZD0iZm9vdGVyIj4KICA8ZGl2IGNsYXNzPSJjb3B5X2xhbmci PjxhIGhyZWY9Ii9hYm91dCI+Vks8L2E+ICZjb3B5OyAyMDE0IDxhIGNsYXNz PSJibmF2X2xhbmciIG9uY2xpY2s9ImFqYXgucG9zdCgnYWxfaW5kZXgucGhw Jywge2FjdDogJ2NoYW5nZV9sYW5nJywgbGFuZ19pZDogMywgaGFzaDogJ2Y5 NDBmMDQ5MjY4MTIyMWQ4Yid9KSI+RW5nbGlzaDwvYT48YSBjbGFzcz0iYm5h dl9sYW5nIiBvbmNsaWNrPSJhamF4LnBvc3QoJ2FsX2luZGV4LnBocCcsIHth Y3Q6ICdjaGFuZ2VfbGFuZycsIGxhbmdfaWQ6IDAsIGhhc2g6ICdmOTQwZjA0 OTI2ODEyMjFkOGInfSkiPtDz8fHq6Ok8L2E+PGEgY2xhc3M9ImJuYXZfbGFu ZyIgb25jbGljaz0iYWpheC5wb3N0KCdhbF9pbmRleC5waHAnLCB7YWN0OiAn Y2hhbmdlX2xhbmcnLCBsYW5nX2lkOiAxLCBoYXNoOiAnZjk0MGYwNDkyNjgx MjIxZDhiJ30pIj7T6vDgv+3x/OrgPC9hPjxhIGNsYXNzPSJibmF2X2xhbmci IG9uY2xpY2s9InNob3dCb3goJ2xhbmcucGhwJywge2FjdDogJ2xhbmdfZGlh bG9nJ30sIHtub3JlbG9hZDogdHJ1ZX0pIj5hbGwgbGFuZ3VhZ2VzILs8L2E+ PC9kaXY+CiAgCiAgPGRpdj4KICAgIAogICAgCiAgPC9kaXY+CjwvcD4KICAg IDwvZGl2PgogICAgPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2PgogIDwvZGl2 Pgo8L2Rpdj48L2Rpdj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJwcm9ncmVzcyIg aWQ9Imdsb2JhbF9wcmciPjwvZGl2PgoKICA8c2NyaXB0IHR5cGU9InRleHQv amF2YXNjcmlwdCI+CiAgICBpZiAocGFyZW50ICYmIHBhcmVudCAhPSB3aW5k b3cgJiYgKGJyb3dzZXIubXNpZSB8fCBicm93c2VyLm9wZXJhIHx8IGJyb3dz ZXIubW96aWxsYSB8fCBicm93c2VyLmNocm9tZSB8fCBicm93c2VyLnNhZmFy aSB8fCBicm93c2VyLmlwaG9uZSkpIHsKICAgICAgZG9jdW1lbnQuZ2V0RWxl bWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5pbm5lckhUTUwgPSAnJzsKICAg IH0gZWxzZSB7CiAgICAgIGRvbVJlYWR5KCk7CiAgICAgIHVwZGF0ZU1vbmV5 KDApOwpnU2VhcmNoLmluaXQoKTsKaWYgKHdpbmRvdy5xQXJyICYmIHFBcnJb NV0pIHFBcnJbNV0gPSBbNSwgImJ5IGl0ZW0iLCAiIiwgImdvb2RzIiwgMHgw MDAwMDEwMF07CmlmIChicm93c2VyLmlwaG9uZSB8fCBicm93c2VyLmlwYWQg fHwgYnJvd3Nlci5pcG9kKSB7CiAgc2V0U3R5bGUoYm9keU5vZGUsIHt3ZWJr aXRUZXh0U2l6ZUFkanVzdDogJ25vbmUnfSk7Cn12YXIgcWYgPSBnZSgncXVp Y2tfbG9naW5fZm9ybScpLCBxbCA9IGdlKCdxdWlja19sb2dpbicpLCBxZSA9 IGdlKCdxdWlja19lbWFpbCcpLCBxcCA9IGdlKCdxdWlja19wYXNzJyk7CnZh ciBxbGIgPSBnZSgncXVpY2tfbG9naW5fYnV0dG9uJyksIHByZ0J0biA9IHFs YjsKCnZhciBxaW5pdCA9IGZ1bmN0aW9uKCkgewogIHNldFRpbWVvdXQoZnVu Y3Rpb24oKSB7CiAgICBxbC5pbnNlcnRCZWZvcmUoY2UoJ2RpdicsIHtpbm5l ckhUTUw6ICc8aWZyYW1lIGNsYXNzPSJ1cGxvYWRfZnJhbWUiIGlkPSJxdWlj a19sb2dpbl9mcmFtZSIgbmFtZT0icXVpY2tfbG9naW5fZnJhbWUiPjwvaWZy YW1lPid9KSwgcWYpOwogICAgcWYudGFyZ2V0ID0gJ3F1aWNrX2xvZ2luX2Zy YW1lJzsKICB9LCAxKTsKfQoKaWYgKHdpbmRvdy50b3AgJiYgd2luZG93LnRv cCAhPSB3aW5kb3cpIHsKICB3aW5kb3cub25sb2FkID0gcWluaXQ7Cn0gZWxz ZSB7CiAgc2V0VGltZW91dChxaW5pdCwgMCk7Cn0KCnFmLm9uc3VibWl0ID0g ZnVuY3Rpb24oKSB7CiAgaWYgKCFnZSgncXVpY2tfbG9naW5fZnJhbWUnKSkg cmV0dXJuIGZhbHNlOwogIGlmICghdHJpbShxZS52YWx1ZSkpIHsKICAgIG5v dGFCZW5lKHFlKTsKICAgIHJldHVybiBmYWxzZTsKICB9IGVsc2UgaWYgKCF0 cmltKHFwLnZhbHVlKSkgewogICAgbm90YUJlbmUocXApOwogICAgcmV0dXJu IGZhbHNlOwogIH0KICBsb2NrQnV0dG9uKHdpbmRvdy5fX3FmQnRuID0gcHJn QnRuKTsKICBwcmdCdG4gPSBxbGI7CiAgY2xlYXJUaW1lb3V0KF9fcWxUaW1l cik7CiAgX19xbFRpbWVyID0gc2V0VGltZW91dChsb2dpblN1Ym1pdEVycm9y LCAzMDAwMCk7CiAgZG9tRkMoZG9tUFMocWYpKS5vbmxvYWQgPSBmdW5jdGlv bigpIHsKICAgIGNsZWFyVGltZW91dChfX3FsVGltZXIpOwogICAgX19xbFRp bWVyID0gc2V0VGltZW91dChsb2dpblN1Ym1pdEVycm9yLCAyNTAwKTsKICB9 CiAgcmV0dXJuIHRydWU7Cn0KCndpbmRvdy5sb2dpblN1Ym1pdEVycm9yID0g ZnVuY3Rpb24oKSB7CiAgc2hvd0Zhc3RCb3goJ1dhcm5pbmcnLCAnVW5hYmxl IHRvIGNvbXBsZXRlIGVuY3J5cHRlZCBhdXRob3JpemF0aW9uLiBUaGlzIGNh biBoYXBwZW4gaWYgeW91ciBkYXRlIGFuZCB0aW1lIHNldHRpbmdzIGFyZSBu b3QgY29uZmlndXJlZCBjb3JyZWN0bHkgb24geW91ciBzeXN0ZW0uIFBsZWFz ZSBjaGVjayB5b3VyIGRhdGUgJmFtcDsgdGltZSBzZXR0aW5ncyBhbmQgcmVz dGFydCB0aGUgYnJvd3Nlci4nKTsKfQp3aW5kb3cuZm9jdXNMb2dpbklucHV0 ID0gZnVuY3Rpb24oKSB7CiAgc2Nyb2xsVG9Ub3AoMCk7CiAgbm90YUJlbmUo J3F1aWNrX2VtYWlsJyk7Cn0Kd2luZG93LmNoYW5nZVF1aWNrUmVnQnV0dG9u ID0gZnVuY3Rpb24obm9TaG93KSB7CiAgaWYgKG5vU2hvdykgewogICAgaGlk ZSgndG9wX3JlZ19saW5rJywgJ3F1aWNrX3JlZ19idXR0b24nKTsKICAgIHNo b3coJ3RvcF9zZWFyY2hfbGluaycpOwogIH0gZWxzZSB7CiAgICBoaWRlKCd0 b3Bfc2VhcmNoX2xpbmsnKTsKICAgIHNob3coJ3RvcF9yZWdfbGluaycsICdx dWlja19yZWdfYnV0dG9uJyk7CiAgfQogIHRvZ2dsZSgndG9wX3N3aXRjaF9s YW5nJywgbm9TaG93ICYmIHdpbmRvdy5sYW5nQ29uZmlnICYmIHdpbmRvdy5s YW5nQ29uZmlnLmlkICE9IDMpOwp9CndpbmRvdy5zdWJtaXRRdWlja0xvZ2lu Rm9ybSA9IGZ1bmN0aW9uKGVtYWlsLCBwYXNzLCBvcHRzKSB7CiAgc2V0UXVp Y2tMb2dpbkRhdGEoZW1haWwsIHBhc3MsIG9wdHMpOwogIGlmIChvcHRzICYm IG9wdHMucHJnKSBwcmdCdG4gPSBvcHRzLnByZzsKICBpZiAocWYub25zdWJt aXQoKSkgcWYuc3VibWl0KCk7Cn0Kd2luZG93LnNldFF1aWNrTG9naW5EYXRh ID0gZnVuY3Rpb24oZW1haWwsIHBhc3MsIG9wdHMpIHsKICBpZiAoZW1haWwg IT09IHVuZGVmaW5lZCkgZ2UoJ3F1aWNrX2VtYWlsJykudmFsdWUgPSBlbWFp bDsKICBpZiAocGFzcyAhPT0gdW5kZWZpbmVkKSBnZSgncXVpY2tfcGFzcycp LnZhbHVlID0gcGFzczsKICB2YXIgcGFyYW1zID0gb3B0cyAmJiBvcHRzLnBh cmFtcyB8fCB7fTsKICBmb3IgKHZhciBpIGluIHBhcmFtcykgewogICAgdmFy IGVsID0gZ2UoJ3F1aWNrX2xvZ2luXycgKyBpKTsKICAgIGlmIChlbCkgewog ICAgICB2YWwoZWwsIHBhcmFtc1tpXSk7CiAgICB9IGVsc2UgewogICAgICBx Zi5hcHBlbmRDaGlsZChjZSgnaW5wdXQnLCB7dHlwZTogJ2hpZGRlbicsIG5h bWU6IGksIGlkOiAncXVpY2tfbG9naW5fJyArIGksIHZhbHVlOiBwYXJhbXNb aV19KSk7CiAgICB9CiAgfQp9CgppZiAocWxiKSB7CiAgcWxiLm9uY2xpY2sg PSBmdW5jdGlvbigpIHsgaWYgKHFmLm9uc3VibWl0KCkpIHFmLnN1Ym1pdCgp OyB9Owp9CgppZiAoYnJvd3Nlci5vcGVyYV9tb2JpbGUpIHNob3coJ3F1aWNr X2V4cGlyZScpOwoKaWYgKDEpIHsKICBoaWRlKCdzdXBwb3J0X2xpbmtfdGQn KTsKfQp2YXIgdHNfaW5wdXQgPSBnZSgndHNfaW5wdXQnKSwgb2xkRkYgPSBi cm93c2VyLm1vemlsbGEgJiYgcGFyc2VJbnQoYnJvd3Nlci52ZXJzaW9uKSA8 IDg7CmlmIChicm93c2VyLm1vemlsbGEgJiYgIW9sZEZGKSB7CiAgc2V0U3R5 bGUodHNfaW5wdXQsIHtwYWRkaW5nOiAodmsucnRsID8gJzNweCAyMHB4IDZw eCA0MHB4JyA6ICczcHggNDFweCA2cHggMjBweCcpfSk7Cn0KcGxhY2Vob2xk ZXJTZXR1cCh0c19pbnB1dCwge2JhY2s6IGZhbHNlLCByZWxvYWQ6IHRydWV9 KTsKaWYgKGJyb3dzZXIub3BlcmEgfHwgYnJvd3Nlci5tc2llIHx8IGJyb3dz ZXIubW96aWxsYSkgewogIHNldFN0eWxlKHRzX2lucHV0LCB7cGFkZGluZzog KHZrLnJ0bCA/ICc0cHggMjBweCA1cHggNDBweCcgOiAnNHB4IDQxcHggNXB4 IDIwcHgnKX0pOwp9IGVsc2UgaWYgKGJyb3dzZXIuY2hyb21lIHx8IGJyb3dz ZXIuc2FmYXJpKSB7CiAgc2V0U3R5bGUodHNfaW5wdXQsIHtwYWRkaW5nOiAo dmsucnRsID8gJzRweCAyMXB4IDVweCA0MHB4JyA6ICc0cHggNDBweCA1cHgg MjFweCcpfSk7Cn0KClRvcFNlYXJjaC5pbml0KCk7CmlmIChicm93c2VyLm1z aWU4IHx8IGJyb3dzZXIubXNpZTcpIHsKICB2YXIgc3QgPSB7Ym9yZGVyOiAn MXB4IHNvbGlkICNhNmI2YzYnfTsKICBpZiAoaGFzQ2xhc3MoZ2UoJ3RzX3dy YXAnKSwgJ3ZrJykpIHsKICAgIGlmICh2ay5ydGwpIHN0LmxlZnQgPSAnMXB4 JzsKICAgIGVsc2Ugc3QucmlnaHQgPSAnMHB4JzsKICB9IGVsc2UgewogICAg aWYgKHZrLnJ0bCkgc3QucmlnaHQgPSAnMTQ2cHgnOwogICAgZWxzZSBzdC5s ZWZ0ID0gJzE0NnB4JzsKICB9CiAgc2V0U3R5bGUoZ2UoJ3RzX2NvbnRfd3Jh cCcpLCBzdCk7Cn0Kd2luZG93LnRzSGludHNFbmFibGVkID0gMTsKc2V0VGlt ZW91dCh6TmF2LnBiaW5kKHt9LCB7cXVldWU6MX0pLCAwKTsKaGFuZGxlUGFn ZVBhcmFtcyh7ImlkIjowLCJwYWRzIjoxLCJub19hZHMiOjEsImxvYyI6Ij9h Y3Q9cyZvaWQ9Mzk1NzYyMjMmdmlkPTEwODM3MDUxNSIsIndyYXBfcGFnZSI6 MSwid2lkdGgiOjc5MSwid2lkdGhfZGVjIjoxNjAsIndpZHRoX2RlY19mb290 ZXIiOjEzMCwiY291bnRlcnMiOiIiLCJwdmJpZyI6MCwicHZkYXJrIjoxfSk7 c2hvd0JhY2tMaW5rKCcvZHJha21haWwnLCAnQWxleGFuZGVyIE1hc2xvdicp O2FkZEV2ZW50KGRvY3VtZW50LCAnY2xpY2snLCBvbkRvY3VtZW50Q2xpY2sp O1ZpZGVvLmluaXQoZXh0ZW5kKHsKICB2aWRlb0xpc3Q6IHsnYWxsJzogW1sz OTU3NjIyMywgMTY2MzE1NTQzLCAnaHR0cDovL3ZpZGVvNDQ4LnZrYWRyZS5y dS9hc3NldHMvdGh1bWJuYWlscy8zZWRhYmZjNTc3MDMxNTgwLjMyMC52ay5q cGcnLCAn0OXq6+Ds4CAmcXVvdDvM5e3y7vEmcXVvdDsgKO/w6Oru6yknLCAn JywgJzAnLCAwLCAwLCAwLCAnMDoyOScsICcwJywgJ19hMGEzNmI2Y2EzYjI1 MDBkYWUnLCAnJ10sWzM5NTc2MjIzLCAxNjU2MDc0NDUsICdodHRwOi8vY3Mx Mjk0Ny52ay5tZS91MjcwOTE0OC92aWRlby9sXzdjYWViMTVlLmpwZycsICf1 L/QgJnF1b3Q70eXs5ent7uUg5OXr7iZxdW90OycsICcnLCAnMCcsIDAsIDAs IDAsICcyOjQwJywgJzMnLCAnXzkzNDlmMWI0NTAxNGY2NzRkZScsICcnXSxb Mzk1NzYyMjMsIDE2NTU1Mzc2NiwgJ2h0dHA6Ly9jczUyNjQwNC52ay5tZS91 ODYzMzIwNzYvdmlkZW8vbF9iMDAxYjdlMy5qcGcnLCAn0ejs7/Hu7fsgLyBU aGUgU2ltcHNvbnMgMjQg8eXn7u0gMTcg8eXw6P8nLCAnJywgJzAnLCAwLCAw LCAwLCAnMjE6NTInLCAnMycsICdfZmM5ZjBmOGZjMTRhNjMyOTQyJywgJydd LFszOTU3NjIyMywgMTYxNTk4NTQ0LCAnaHR0cDovL2NzNDY0OS52ay5tZS91 NTUxODQwMC92aWRlby9sXzZlZDg1ZGUwLmpwZycsICdIYXJyeSBQYXJ0cmlk Z2UgLSBTa3lyaW0gKPDz8fHq4P8g7ufi8/fq4CknLCAnJywgJzAnLCAwLCAw LCAwLCAnMToyNScsICcwJywgJ183Y2MxNTQyMjZlZjEyNTgwNjInLCAnJ10s WzM5NTc2MjIzLCAxMDgzNzA1MTUsICdodHRwOi8vdmlkZW80MzMudmthZHJl LnJ1L2Fzc2V0cy90aHVtYm5haWxzLzg4NjE1Y2E5ODExOTY5MDMuMzIwLnZr LmpwZycsICffIPPy7vfq4CkpKSkpJywgJycsICcwJywgMCwgMiwgMCwgJzM6 MDMnLCAnMCcsICdfM2E1OWE5OWI5ODQ5ZDhlN2UxJywgJyddXX0sCiAgc2hv d246IDUsCiAgdmlkZW9UcGw6IGZ1bmN0aW9uKHYsIGNhbmVkaXQpIHsKdmFy IHRhZ0xhYmVsID0gJycsIHRhZ3MgPSAnJywgdmlkZW9SYXcgPSB2WzBdICsg J18nICsgdlsxXTsKCmlmICh2WzhdICYgMikgewogIHRhZ0xhYmVsID0gJzxk aXYgY2xhc3M9InZpZGVvX3RhZ19sYWJlbCI+JytnZXRMYW5nKCd2aWRlb19u ZXdfdGFnJykrJzwvZGl2Pic7Cn0KaWYgKHZbMTBdKSB7CiAgZm9yICh2YXIg aSA9IDE7IGkgPD0gdlsxMF07IGkrKykgewogICAgdmFyIGxhYmVsID0gJyc7 CiAgICBzd2l0Y2ggKGkpIHsKICAgICAgY2FzZSAzOiBsYWJlbCA9IDcyMDsg YnJlYWs7CiAgICAgIGNhc2UgMjogbGFiZWwgPSA0ODA7IGJyZWFrOwogICAg ICBkZWZhdWx0OiBsYWJlbCA9IDM2MDsgYnJlYWs7CiAgICB9CiAgICB0YWdz ICs9ICc8YSBjbGFzcz0icXVhbGl0eSBmbF9sIiBocmVmPSIvdmlkZW8nICsg dmlkZW9SYXcgKyAnIiBvbmNsaWNrPSJyZXR1cm4gVmlkZW8uc2hvdyhldmVu dCwgXCcnICsgdmlkZW9SYXcgKyAnXCcsIHtwYXJhbXM6IHthY3Q6IFwnc2hv d1wnLCB2aWRlbzogXCcnICsgdmlkZW9SYXcgKyAnXCcsIGZvcmNlX2hkOiBc JycgKyBpICsgJ1wnLCBhdXRvcGxheTogMX19KTsiPicgKyBsYWJlbCArICc8 L2E+JzsKICB9CiAgaWYgKHRhZ3MpIHRhZ3MgPSAnPGRpdiBjbGFzcz0idmlk ZW9fcXVhbGl0eSBjbGVhcl9maXgiPicgKyB0YWdzICsgJzwvZGl2Pic7Cn0K aWYgKHZbNV0gJiAxKSB7CiAgdlszXSArPSAnPHNwYW4gY2xhc3M9InZpZGVv X2lzX3ByaXZhdGUiIG9ubW91c2VvdmVyPSJyZXR1cm4gVmlkZW8ucHJpdmF0 ZVRvb2x0aXAodGhpcyk7IiBvbmNsaWNrPSJyZXR1cm4gVmlkZW8ucHJpdmF0 ZUNsaWNrKHRoaXMsIGV2ZW50KTsiPjwvc3Bhbj4nOwp9CnZhciBhZGRCdG4g PSAnJzsKaWYgKCFjYW5lZGl0ICYmIHZrLmlkICYmIHZrLmlkICE9IHZbMF0p IHsKICBhZGRCdG4gPSAnPGRpdiBjbGFzcz0idmlkZW9fcm93X2FkZCI+PGRp diBjbGFzcz0idmlkZW9fcm93X2ljb25fYWRkIGZsX2wiIG9ubW91c2VvdmVy PSJWaWRlby5hY3RpdmF0ZSh0aGlzLCBcJ2FkZF90dFwnLCAxKTsiIG9ubW91 c2VvdXQ9IlZpZGVvLmRlYWN0aXZhdGUodGhpcyk7IiBvbmNsaWNrPSJyZXR1 cm4gVmlkZW8uYWRkRnJvbUxpc3QoXCcnK3ZbMF0rJ18nK3ZbMV0rJ1wnLCBc JycrdlsxMV0uc3Vic3RyKDEpKydcJywgZXZlbnQpOyI+PGRpdiBjbGFzcz0i dmlkZW9fcm93X2ljb24iPjwvZGl2PjwvZGl2PjwvZGl2Pic7Cn0KcmV0dXJu IHJzKGN1ci52aWRlb1RwbEhUTUwsIHsKICBvaWQ6IHZbMF0sCiAgdmlkOiB2 WzFdLAogIHRodW1iOiB2WzJdLAogIHRpdGxlOiB2WzNdLAogIGR1cmF0aW9u OiB2WzldLAogIGRlc2NyOiB2WzRdLAogIGFkdWx0OiB2WzEzXSB8fCAnJywK ICBsaW5rY2xhc3M6IHZbMTJdLAogIGhhc2g6IHZbMTFdLAogIGNhbmVkaXQ6 IGNhbmVkaXQsCiAgcm93X2FjdHM6ICcnLAogIGFjdHM6ICcnLAogIG5ld3Rh Z3M6IHRhZ0xhYmVsLAogIGFkZGJ0bjogYWRkQnRuLAp9KTsKfSwKICBhbGJ1 bXNUcGw6IGZ1bmN0aW9uKGFpZCwgdiwgdCkgewogIHJldHVybiBycyhjdXIu YWxidW1zVHBsSFRNTCwgewogICAgYWxidW1faWQ6IGFpZCwKICAgIG1haW5f aHJlZjogJy92aWRlb3MzOTU3NjIyMycsCiAgICBzZWN0aW9uX25hbWU6IChh aWQgPT0gLTEpID8gJ3RhZ2dlZCcgOiAnYWxidW1fJythaWQsCiAgICB0aXRs ZTogdCwKICAgIHRodW1iOiB2WzJdLAogICAgY291bnQ6IHZbM10sCiAgICBu ZXdfdGFnczogKGFpZCA9PSAtMSAmJiBjdXIubmV3X3RhZ3Nfc3RyKSA/IGN1 ci5uZXdfdGFnc19zdHIgOiAnJywKICAgIGNsYXNzX25hbWU6IChhaWQgPT0g LTEpID8gJycgOiAnIHZpZGVvX2FsYnVtX2NhbmRyb3AnLAogICAgbm9kcmFn OiAoYWlkID09IC0xKSA/ICdub2RyYWc9IjEiJyA6ICcnCiAgfSk7Cn0sCiAg dmlkZW9UcGxIVE1MOiAiPGRpdiBpZD1cInZpZGVvX2NvbnQlb2lkJV8ldmlk JVwiIGNsYXNzPVwidmlkZW9fcm93X2NvbnRcIj48ZGl2IGNsYXNzPVwidmlk ZW9fcm93X2lubmVyX2NvbnQlY2FuZWRpdCVcIj48YSBocmVmPVwiXC92aWRl byVvaWQlXyV2aWQlXCIgY2xhc3M9XCJ2aWRlb19yb3dfcmVsYXRpdmUlbGlu a2NsYXNzJVwiIGlkPVwidmlkZW9fcm93JW9pZCVfJXZpZCVcIiBvbm1vdXNl b3Zlcj1cIlZpZGVvLnJvd092ZXIodGhpcyk7XCIgb25tb3VzZW91dD1cIlZp ZGVvLnJvd091dCh0aGlzKVwiIG9uY2xpY2s9XCJpZiAoY3VyLmNhbmNlbENs aWNrKSByZXR1cm4gKGN1ci5jYW5jZWxDbGljayA9IGZhbHNlKTsgcmV0dXJu IFZpZGVvLnNob3coZXZlbnQsICclb2lkJV8ldmlkJScsIHt9LCB0aGlzKTtc Ij5cbiAgICAlbmV3dGFncyUlYWR1bHQlXG4gICAgPGRpdiBjbGFzcz1cInZp ZGVvX3Jvd19pbmZvX2xpbmVcIj48ZGl2IGNsYXNzPVwidmlkZW9fcmF3X2lu Zm9fbmFtZVwiPiV0aXRsZSU8XC9kaXY+PGRpdiBjbGFzcz1cInZpZGVvX3Jv d19kdXJhdGlvblwiPiVkdXJhdGlvbiU8XC9kaXY+PFwvZGl2PlxuICAgIDxk aXYgY2xhc3M9XCJ2aWRlb19yb3dfaW5mb19wbGF5XCI+PFwvZGl2PlxuICAg ICVhZGRidG4lXG4gICAgPGRpdiBjbGFzcz1cInZpZGVvX3Jvd19jb250cm9s c1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInZpZGVvX3Jvd19pY29uX2VkaXQg ZmxfbFwiIG9ubW91c2VvdmVyPVwiVmlkZW8uYWN0aXZhdGUodGhpcyk7XCIg b25tb3VzZW91dD1cIlZpZGVvLmRlYWN0aXZhdGUodGhpcyk7XCIgb25jbGlj az1cInJldHVybiB2aWRlb3ZpZXcuc2hvd0VkaXRCb3goJXZpZCUsICVvaWQl LCBldmVudCk7XCI+PGRpdiBjbGFzcz1cInZpZGVvX3Jvd19pY29uXCI+PFwv ZGl2PjxcL2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2aWRlb19yb3dfaWNv bl9kZWxldGUgZmxfbFwiIG9ubW91c2VvdmVyPVwiVmlkZW8uYWN0aXZhdGUo dGhpcyk7XCIgb25tb3VzZW91dD1cIlZpZGVvLmRlYWN0aXZhdGUodGhpcyk7 XCIgb25jbGljaz1cInJldHVybiBWaWRlby5vbkRlbGV0ZUNsaWNrKCV2aWQl LCAlb2lkJSwgJyVoYXNoJScsIHRoaXMsIGV2ZW50KTtcIj48ZGl2IGNsYXNz PVwidmlkZW9fcm93X2ljb25cIj48XC9kaXY+PFwvZGl2PlxuICAgICAgPGJy IGNsYXNzPVwiY2xlYXJcIiBcLz5cbiAgICA8XC9kaXY+XG4gICAgPGRpdiBj bGFzcz1cInZpZGVvX2ltYWdlX2RpdlwiIHN0eWxlPVwiYmFja2dyb3VuZC1p bWFnZTogdXJsKCcldGh1bWIlJyk7XCI+PFwvZGl2PlxuICA8XC9hPjxcL2Rp dj5cbjxcL2Rpdj4iLAogIGFsYnVtc1RwbEhUTUw6ICI8YSBpZD1cInZpZGVv X2FsYnVtXyVhbGJ1bV9pZCVcIiBocmVmPVwiJW1haW5faHJlZiU/c2VjdGlv bj0lc2VjdGlvbl9uYW1lJVwiIG9uY2xpY2s9XCJpZiAoY3VyLmNhbmNlbENs aWNrKSByZXR1cm4gKGN1ci5jYW5jZWxDbGljayA9IGZhbHNlKTsgcmV0dXJu IG5hdi5jaGFuZ2Uoe3NlY3Rpb246JyVzZWN0aW9uX25hbWUlJ30pO1wiIGNs YXNzPVwidmlkZW9fYWxidW0lY2xhc3NfbmFtZSVcIiBvbm1vdXNlb3Zlcj1c IlZpZGVvLmFsYnVtT3Zlcih0aGlzKTtcIiBvbm1vdXNlb3V0PVwiVmlkZW8u YWxidW1PdXQodGhpcylcIiAlbm9kcmFnJT48ZGl2IGNsYXNzPVwidmlkZW9f YWxidW1fcm93X2lubmVyXCI+XG4gICVuZXdfdGFncyVcbiAgPGRpdiBjbGFz cz1cInZpZGVvX2FsYnVtX2NvbnRyb2xzXCI+XG4gICAgPGRpdiBjbGFzcz1c InZpZGVvX3Jvd19pY29uX2VkaXQgZmxfbFwiIG9ubW91c2VvdmVyPVwiVmlk ZW8uYWN0aXZhdGUodGhpcyk7XCIgb25tb3VzZW91dD1cIlZpZGVvLmRlYWN0 aXZhdGUodGhpcyk7XCIgb25jbGljaz1cInJldHVybiBWaWRlby5lZGl0QWxi dW0oJWFsYnVtX2lkJSwgZXZlbnQpO1wiPjxkaXYgY2xhc3M9XCJ2aWRlb19y b3dfaWNvblwiPjxcL2Rpdj48XC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInZp ZGVvX3Jvd19pY29uX2RlbGV0ZSBmbF9sXCIgb25tb3VzZW92ZXI9XCJWaWRl by5hY3RpdmF0ZSh0aGlzKTtcIiBvbm1vdXNlb3V0PVwiVmlkZW8uZGVhY3Rp dmF0ZSh0aGlzKTtcIiBvbmNsaWNrPVwicmV0dXJuIFZpZGVvLmRlbGV0ZUFs YnVtKCdhbGJ1bV8lYWxidW1faWQlJywgZXZlbnQpO1wiPjxkaXYgY2xhc3M9 XCJ2aWRlb19yb3dfaWNvblwiPjxcL2Rpdj48XC9kaXY+XG4gICAgPGJyIGNs YXNzPVwiY2xlYXJcIiBcLz5cbiAgPFwvZGl2PlxuICA8ZGl2IGNsYXNzPVwi dmlkZW9fYWxidW1faW5mb1wiPjxkaXYgY2xhc3M9XCJ2aWRlb19hbGJ1bV90 ZXh0IGZsX2xcIj4ldGl0bGUlPFwvZGl2PjxkaXYgY2xhc3M9XCJ2aWRlb19h bGJ1bV9jb3VudCBmbF9yXCI+PGRpdiBjbGFzcz1cInZpZGVvX3Jvd19pY29u IHZpZGVvX2FsYnVtX2NvdW50X2ljb25cIj48XC9kaXY+JWNvdW50JTxcL2Rp dj48YnIgY2xhc3M9XCJjbGVhclwiIFwvPjxcL2Rpdj5cbiAgPGRpdiBjbGFz cz1cInZpZGVvX2FsYnVtX2JnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWltYWdl OiB1cmwoJyV0aHVtYiUnKVwiPjxcL2Rpdj48XC9kaXY+XG48XC9hPiIsCiAg bGFuZzogeyJ2aWRlb19OX3ZpZXdzIjpbIiIsIiVzIHZpZXciLCIlcyB2aWV3 cyJdLCJ2aWRlb19uZXdfdGFnIjoiWW91IHdlcmUgdGFnZ2VkIGluIGEgdmlk ZW8iLCJnbG9iYWxfTl9jb21tZW50cyI6WyIiLCIlcyBjb21tZW50IiwiJXMg Y29tbWVudHMiXSwidmlkZW9maWxlX251bSI6WyIiLCJ2aWRlbyIsInZpZGVv cyJdLCJ2aWRlb19udW1fZm91bmRfZmlsZXMiOlsiIiwiJXMgdmlkZW8gZm91 bmQiLCIlcyB2aWRlb3MgZm91bmQiXSwidmlkZW9fbm92aWRlbyI6Ik5vIHZp ZGVvcyIsInZpZGVvX2RlbGV0ZV90YWciOiJEZWxldGUgVGFnIiwidmlkZW9f c3VtYXJ5X3RvX3VzZXJfcGFnZSI6IjxhIGhyZWY9XCJcL2RyYWttYWlsXCI+ Z28gdG8gQWxleGFuZGVyJiMzOTtzIHByb2ZpbGU8XC9hPiIsInZpZGVvX1hf Y29tbXMiOlsiIiwiJXMgY29tbWVudCIsIiVzIGNvbW1lbnRzIl0sInZpZGVv X25vX2NvbW1lbnRzIjoiTm8gY29tbWVudHMiLCJ2aWRlb19kZWxldGVfYWxi dW0iOiJEZWxldGUgZm9sZGVyIiwidmlkZW9fbm9fYWxidW0iOiJObyBmb2xk ZXIiLCJ2aWRlb19hZGRfdG9fYWxidW0iOiJBZGQgdG8gZm9sZGVyIiwidmlk ZW9fY2hhbmdlX2FsYnVtIjoie2xpbmt9Rm9sZGVye1wvbGlua306IHt0aXRs ZX0iLCJ2aWRlb19yZW1vdmVfYWxsX3RhZ3MiOiJEZWxldGUgbmV3IHRhZ3Mi LCJ2aWRlb190aXRsZV9YX3ZpZGVvcyI6WyIiLCIlcyB2aWRlbyIsIiVzIHZp ZGVvcyJdLCJ2aWRlb190aXRsZV9YX3ZpZGVvc190YWdnZWQiOlsiIiwiJXMg dmlkZW8gb2Yge3VzZXJ9IiwiJXMgdmlkZW9zIG9mIHt1c2VyfSJdLCJ2aWRl b190aXRsZV9zZWFyY2giOiJWaWRlbyBzZWFyY2ggcmVzdWx0cyBmb3Ige3F9 IiwidmlkZW9fdGl0bGVfc2VhcmNoX1hfZm91bmQiOlsiIiwiJXMgUmVzdWx0 IiwiJXMgUmVzdWx0cyJdLCJ2aWRlb19hZHVsdF9ib3hfdGl0bGUiOiJTYWZl IHNlYXJjaCIsInZpZGVvX2FkdWx0X2JveF90ZXh0IjoiU2FmZSBzZWFyY2gg cHJldmVudHMgcmVwb3J0ZWQgYWR1bHQgY29udGVudCBmcm9tIHNob3dpbmcg dXAgaW4geW91ciBzZWFyY2ggcmVzdWx0cy48YnI+PGJyPkJ5IGRpc2FibGlu ZyBzYWZlIHNlYXJjaCB5b3UgY29uZmlybSB0aGF0IHlvdSBoYXZlIHJlYWNo ZWQgYW4gYXBwcm9wcmlhdGUgYWdlIGZvciB2aWV3aW5nIHN1Y2ggY29udGVu dC4iLCJ2aWRlb19jbGFpbXNfbm9fdXBsb2FkIjoiWW91IGNhbm5vdCB1cGxv YWQgYW55IG1vcmUgdmlkZW9zLCBkdWUgdG8gbnVtZXJvdXMgY29weXJpZ2h0 LXJlbGF0ZWQgY29tcGxhaW50cy4iLCJ2aWRlb19ub191cGxvYWRfdGl0bGUi OiJVcGxvYWRpbmcgdW5hdmFpbGFibGUiLCJ2aWRlb19kcm9wX3RvX21vdmUi OiJSZWxlYXNlIHRvIG1vdmUgdmlkZW8gdG8gZm9sZGVyIiwidmlkZW9fYWxi dW1zX2ZvdW5kX3N1bW1hcnkiOlsiIiwiJXMgZm9sZGVyIGZvdW5kIiwiJXMg Zm9sZGVycyBmb3VuZCJdLCJ2aWRlb19hbGJ1bXNfc3VtbWFyeSI6WyIiLCJB bGV4YW5kZXIgaGFzICVzIGZvbGRlciIsIkFsZXhhbmRlciBoYXMgJXMgZm9s ZGVycyJdLCJ2aWRlb19zaG93X2FsbF9hbGJ1bXMiOlsiIiwiU2hvdyBvbmUg bW9yZSBmb2xkZXIiLCJTaG93ICVzIG1vcmUgZm9sZGVycyJdLCJ2aWRlb19j b21tZW50c19yZXZpZXciOiJCcm93c2UgY29tbWVudHMiLCJ2aWRlb19pc19w cml2YXRlX3R0IjoiVGhpcyB2aWRlbyBpcyBwcml2YXRlIiwidmlkZW9fYWRk X3R0IjoiQWRkIHRvIG15IHZpZGVvcyIsInZpZGVvX3BsZWFzZV9zaWduX2lu IjoiUGxlYXNlIGxvZyBpbiBvciA8YSBocmVmPVwiXC9qb2luXCIgb25jbGlj az1cInJldHVybiAhc2hvd0JveCgnam9pbi5waHAnLCB7YWN0OiAnYm94Jywg ZnJvbTogbmF2LnN0ckxvY30sIHt9LCBldmVudClcIj5zaWduIHVwPFwvYT4g dG8gdmlldyB0aGlzIHZpZGVvLiJ9LAogIG9pZDogMzk1NzYyMjMsCiAgdlNl Y3Rpb246ICdhbGwnCn0sIHsicGVyUGFnZSI6MjAsImhhc2giOiJmMjk1ZDBm MTczNjI4YmE3NzUiLCJ2aWRlb0NvdW50Ijo1LCJwb3N0VG8iOjM5NTc2MjIz LCJzZWN0aW9ucyI6W10sInVwbG9hZEJhbm5lZCI6ZmFsc2UsImh0aXRsZV92 aWRlb3MiOiIgQWxleGFuZGVyIE1hc2xvdiYjMzk7cyBWaWRlb3MiLCJodGl0 bGVfY29tbWVudHMiOiJDb21tZW50cyBBbGV4YW5kZXIgTWFzbG92JiMzOTtz IFZpZGVvcyIsImh0aXRsZV90YWdnZWRfdXNlciI6IkFsZXhhbmRlciIsInZT dHIiOiJcIlwiIiwibW92ZUhhc2giOiIwMTgzNTI0NTIxMGI0YzBmMjEifSkp Owp3aW5kb3cucmFkaW9CdG5zWydsZW5ndGgnXSA9IHsKICBlbHM6IEFycmF5 LnByb3RvdHlwZS5zbGljZS5hcHBseShnZUJ5Q2xhc3MoJ3JhZGlvYnRuJywg Z2UoJ3ZpZGVvX2xlbmd0aF9maWx0ZXInKSkpLAogIHZhbDogMAp9Owp2YXIg ZmlsdGVyVHlwZXMgPSBbWzIsICdCeSByZWxldmFuY2UnXSwgWzAsICdCeSBk YXRlIGFkZGVkJ10sIFsxLCAnU29ydCBieSBkdXJhdGlvbiddXTsKaWYgKGN1 ci5zb3J0REQpIHsKICByZShjdXIuc29ydERELmNvbnRhaW5lcik7Cn0KY3Vy LnNvcnRERCA9IG5ldyBEcm9wZG93bk1lbnUoZmlsdGVyVHlwZXMsIHsKICB0 YXJnZXQ6IGdlKCd2aWRlb19zb3J0X2RkJyksCiAgdmFsdWU6IDIsCiAgZmFk ZVNwZWVkOiAwLAogIG9uU2VsZWN0OiBmdW5jdGlvbihldmVudCkgewogICAg aWYgKGV2ZW50KSBWaWRlby50b2dnbGVPcmRlcihldmVudC50YXJnZXQuaW5k ZXggfHwgMCk7CiAgfQp9KTsKaWYgKGdlKCd2aWRlb19leHRlcm5hbF9kZCcp KSB7CiAgdmFyIGV4dFR5cGVzID0gW1swLCAnQWxsIHZpZGVvcyddLCBbLTEs ICdWSyddLCBbMSwgJ1lvdXR1YmUnXSwgWzIsICdWaW1lbyddLCBbMywgJ1J1 VHViZSddLCBbMzIsICdLaW5vcG9pc2snXSwgWzMzLCAnTW9sb2RlamoudHYn XSwgWzM0LCAnQ2FyYW1iYVRWJ10sIFszNSwgJ01lZ29nbyddLCBbMzYsICdO b3dSdSddXTsKICBjdXIuZXh0REQgPSBuZXcgRHJvcGRvd25NZW51KGV4dFR5 cGVzLCB7CiAgICB0YXJnZXQ6IGdlKCd2aWRlb19leHRlcm5hbF9kZCcpLAog ICAgdmFsdWU6IDAsCiAgICBmYWRlU3BlZWQ6IDAsCiAgICBvblNlbGVjdDog ZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgaWYgKGV2ZW50KSBWaWRlby50b2dn bGVFeHQoZXZlbnQudGFyZ2V0LmluZGV4IHx8IDApOwogICAgfQogIH0pOwp9 CgphamF4LnByZWxvYWQoJ2FsX3ZpZGVvLnBocCcsIHsiYWN0Ijoic2hvdyIs InZpZGVvIjoiMzk1NzYyMjNfMTA4MzcwNTE1In0sIFsi3yDz8u736uApKSkp KSIsIjxkaXYgY2xhc3M9XCJ2aWRlb19ib3hcIj5cbiAgPGRpdiBjbGFzcz1c IndyYXBcIj5cbiAgICA8ZGl2IGlkPVwidmlkZW9fYmFja2dyb3VuZDM5NTc2 MjIzXzEwODM3MDUxNVwiIGFsaWduPVwiY2VudGVyXCI+XG4gICAgICA8aW1n IHNyYz1cImh0dHA6XC9cL3ZpZGVvNDMzLnZrYWRyZS5ydVwvYXNzZXRzXC90 aHVtYm5haWxzXC84ODYxNWNhOTgxMTk2OTAzLjMyMC52ay5qcGdcIiBzdHls ZT1cIndpZHRoOiA0ODBweDsgaGVpZ2h0OiAzNjBweDtcIiBcLz5cbiAgICA8 XC9kaXY+XG4gICAgPGRpdiBpZD1cInZpZGVvX2JveF93cmFwMzk1NzYyMjNf MTA4MzcwNTE1XCIgY2xhc3M9XCJ2aWRlb19ib3hfd3JhcFwiPlxuICAgICAg PGRpdiBjbGFzcz1cInBhZ2Vfbm9fZmxhc2hfd3JhcFwiPlxuICAgICAgICA8 ZGl2IGNsYXNzPVwidmlkZW9fbm9fZmxhc2hcIj5cbiAgICAgICAgICA8ZGl2 PlRoZSBsYXRlc3QgdmVyc2lvbiBvZiA8YSBocmVmPVwiaHR0cDpcL1wvZ2V0 LmFkb2JlLmNvbVwvZmxhc2hcIj5GbGFzaCBQbGF5ZXI8XC9hPiBpcyByZXF1 aXJlZCB0byB2aWV3IHZpZGVvcy48XC9kaXY+XG4gICAgICAgIDxcL2Rpdj5c biAgICAgIDxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rp dj4iLCJjdXIuYWRkTWVWaWRlbyA9IGZ1bmN0aW9uKCkge1xuICBpZiAoaXNW aXNpYmxlKGJveC5wcm9ncmVzcykpIHJldHVybjtcblxuICB2YXIgdG9SZXBs YWNlID0gW107XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxl bmd0aDsgKytpKSB7XG4gICAgdG9SZXBsYWNlLnB1c2goYXJndW1lbnRzW2ld KTtcbiAgfVxuICBjdXIucmVsb2FkQWZ0ZXJDbG9zZSA9IHRydWU7XG4gIGFq YXgucG9zdCgndmlkZW8ucGhwJywge2FjdDogJ2FfYWRkJywgdmlkZW86ICcz OTU3NjIyM18xMDgzNzA1MTUnLCBoYXNoOiAnM2E1OWE5OWI5ODQ5ZDhlN2Ux JywgZnJvbTogY3VyLnNlY3Rpb259LCB7XG4gICAgb25Eb25lOiBmdW5jdGlv bigpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdG9SZXBsYWNlLmxl bmd0aDsgKytpKSB7XG4gICAgICAgIHZhciBlbCA9IGdlKHRvUmVwbGFjZVtp XSk7XG4gICAgICAgIGlmIChlbCkge1xuICAgICAgICAgIGlmIChpIDwgYXJn dW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgZWwucGFyZW50Tm9kZS5p bm5lckhUTUwgPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgfSBlbHNlIHtc biAgICAgICAgICAgIGhpZGUoZWwpO1xuICAgICAgICAgIH1cbiAgICAgICAg fVxuICAgICAgfVxuICAgIH0sXG4gICAgc2hvd1Byb2dyZXNzOiBib3guc2hv d1Byb2dyZXNzLFxuICAgIGhpZGVQcm9ncmVzczogYm94LmhpZGVQcm9ncmVz c1xuICB9KTtcbn1cblxud2luZG93LmluY1ZpZXdDb3VudGVyID0gZnVuY3Rp b24ob2lkLCB2aWQsIGhhc2gpIHtcbiAgYWpheC5wb3N0KCdhbF92aWRlby5w aHAnLCB7YWN0OiAnaW5jX3ZpZXdfY291bnRlcicsIG9pZDogb2lkLCB2aWQ6 IHZpZCwgaGFzaDogaGFzaH0sIHtcbiAgICBvbkRvbmU6IGZ1bmN0aW9uKHQp IHt9XG4gIH0pO1xufVxuXG53aW5kb3cucm90YXRlVmlkZW8gPSBmdW5jdGlv bihvaWQsIHZpZCwgYW5nbGUsIGhhc2gpIHtcbiAgXC9cLyBhamF4LnBvc3Qo J2FsX3ZpZGVvLnBocCcsIHthY3Q6ICdyb3RhdGVfdmlkZW8nLCBvaWQ6IG9p ZCwgdmlkOiB2aWQsIGFuZ2xlOiBhbmdsZSwgaGFzaDogaGFzaH0sIHtcbiAg XC9cLyAgIG9uRG9uZTogZnVuY3Rpb24odCkge31cbiAgXC9cLyB9KTtcbn1c blxud2luZG93LmNoYW5nZUNhbnZhc1NpemUgPSBmdW5jdGlvbih3LCBoKSB7 XG4gIGlmICh0eXBlb2YobXZjdXIpICE9ICd1bmRlZmluZWQnICYmIG12Y3Vy LmNoYW5nZUNhbnZhc1NpemUpIHtcbiAgICBtdmN1ci5jaGFuZ2VDYW52YXNT aXplKCk7XG4gIH1cbiAgaWYgKCFicm93c2VyLm9wZXJhIHx8IGludHZhbChi cm93c2VyLnZlcnNpb24pID49IDEwKSB7XG4gICAgaGlkZSgndmlkZW9fYmFj a2dyb3VuZDM5NTc2MjIzXzEwODM3MDUxNScpO1xuICAgIHNldFN0eWxlKGdl KCd2aWRlb19wbGF5ZXInKSwge3dpZHRoOiB3LCBoZWlnaHQ6IGh9KTtcbiAg ICBzZXRTdHlsZShnZSgndmlkZW9fYm94X3dyYXAzOTU3NjIyM18xMDgzNzA1 MTUnKSwge3dpZHRoOiB3LCBoZWlnaHQ6IGh9KTtcbiAgICBpZiAoYm94KSB7 XG4gICAgICBib3guc2V0T3B0aW9ucyh7d2lkdGg6IHcgKyAyMn0pO1xuICAg IH1cbiAgfVxufTtcblxudmFyIF9uID0gd2luZG93Lk5vdGlmaWVyO1xuaWYg KF9uKSB7XG4gIF9uLmFkZFJlY3ZDbGJrKCdhdWRpb19zdGFydCcsICd2aWRl bycsIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgaWYgKGdlKCd2aWRlb19wbGF5 ZXInKSAmJiBnZSgndmlkZW9fcGxheWVyJykucGxheVZpZGVvKSBnZSgndmlk ZW9fcGxheWVyJykucGxheVZpZGVvKGZhbHNlKTtcbiAgfSk7XG4gIF9uLmFk ZFJlY3ZDbGJrKCd2aWRlb19zdGFydCcsICd2aWRlbycsIGZ1bmN0aW9uIChk YXRhKSB7XG4gICAgaWYgKGdlKCd2aWRlb19wbGF5ZXInKSAmJiBnZSgndmlk ZW9fcGxheWVyJykucGxheVZpZGVvKSBnZSgndmlkZW9fcGxheWVyJykucGxh eVZpZGVvKGZhbHNlKTtcbiAgfSk7XG4gIF9uLmFkZFJlY3ZDbGJrKCd2aWRl b2NhbGxfc3RhcnQnLCAndmlkZW8nLCBmdW5jdGlvbiAoZGF0YSkge1xuICAg IGlmIChnZSgndmlkZW9fcGxheWVyJykgJiYgZ2UoJ3ZpZGVvX3BsYXllcicp LnBsYXlWaWRlbykgZ2UoJ3ZpZGVvX3BsYXllcicpLnBsYXlWaWRlbyhmYWxz ZSk7XG4gIH0pO1xufVxudmFyIHZhcnMgPSB7XCJ1aWRcIjpcIjBcIixcInZp ZFwiOjEwODM3MDUxNSxcIm9pZFwiOjM5NTc2MjIzLFwiaG9zdFwiOlwidmlk ZW80MzMudmthZHJlLnJ1XCIsXCJ2dGFnXCI6XCIwNmE2MmMzYTkwOWMtXCIs XCJsdGFnXCI6XCI4ODYxNWNhOVwiLFwidmtpZFwiOjgxMTk2OTAzLFwibWRf dGl0bGVcIjpcIt8g8/Lu9+rgKSkpKSlcIixcIm1kX2F1dGhvclwiOlwiQWxl eGFuZGVyIE1hc2xvdlwiLFwiaGRcIjowLjAwMDAwMCxcIm5vX2ZsdlwiOjAs XCJoZF9kZWZcIjotMSxcImRiZ19vblwiOjAsXCJ0XCI6XCJcIixcImR1cmF0 aW9uXCI6MTgzLFwiYW5nbGVcIjowLjAwMDAwMCxcImltZ19hbmdsZVwiOjAu MDAwMDAwLFwicmVwZWF0XCI6MCxcInNob3dfYWRzXCI6MCxcImxlZ2FsX293 bmVyXCI6MCxcInB1aWQxXCI6MixcInB1aWQyMlwiOjE0LFwicHVpZDM3XCI6 XCJcIixcInB1aWQzOFwiOlwiXCIsXCJwdWlkNDVcIjowLFwid2F0ZXJfbWFy a1wiOlwiXCIsXCJjYW5fcm90YXRlXCI6MSxcImhhc2hcIjpcImVmNjc4ZmVm OWY2NjUwNWQ1OGQ2ZGZmOGQ3MTg0ZmVlXCIsXCJoYXNoMlwiOlwiMTUxODRk YmQwODVjNDdhZlwiLFwiaXNfdmtcIjpcIjFcIixcImlzX2V4dFwiOlwiMFwi LFwicmVmZXJyZXJcIjpcIlwiLFwibGFuZ19hZGRcIjpcIkFkZCB0byBNeSBW aWRlb3NcIixcImxhbmdfYWRkZWRcIjpcIlZpZGVvIGFkZGVkIHRvIE15IFZp ZGVvc1wiLFwibGFuZ19zaGFyZVwiOlwiU2hhcmVcIixcImxhbmdfbGlrZVwi OlwiTGlrZVwiLFwibGFuZ192b2x1bWVfb25cIjpcIlVubXV0ZVwiLFwibGFu Z192b2x1bWVfb2ZmXCI6XCJNdXRlXCIsXCJsYW5nX3ZvbHVtZVwiOlwiVm9s dW1lXCIsXCJsYW5nX2hkc2RcIjpcIkNoYW5nZSBWaWRlbyBRdWFsaXR5XCIs XCJsYW5nX2Z1bGxzY3JlZW5cIjpcIkZ1bGwgU2NyZWVuXCIsXCJsYW5nX3dp bmRvd1wiOlwiTWluaW1pemVcIixcImxhbmdfcm90YXRlXCI6XCJSb3RhdGVc IixcImxhbmdfYWRzX2xpbmtcIjpcIkFkdmVydGlzZXImIzM5O3MgU2l0ZVwi LFwibGFuZ19hZHNcIjpcIkFkc1wiLFwibGFuZ19hZHNfc2tpcFwiOlwiU2tp cCBhZFwiLFwibGFuZ19hZHNfc2tpcF90aW1lXCI6XCJTa2lwIGFkcyBpbiB7 dGltZX1cIixcImxhbmdfcmVwb3J0X3Byb2JsZW1cIjpcIlJlcG9ydCBhIHBy b2JsZW0uLlwiLFwidmlkZW9fcGxheV9oZFwiOlwiV2F0Y2ggaW4gSERcIixc InZpZGVvX3N0b3BfbG9hZGluZ1wiOlwiU3RvcCBEb3dubG9hZFwiLFwidmlk ZW9fcGxheWVyX3ZlcnNpb25cIjpcIlZLIFZpZGVvIFBsYXllclwiLFwiZ290 b19vcmlnX3ZpZGVvXCI6XCJHbyB0byBWaWRlb1wiLFwidmlkZW9fZ2V0X3Zp ZGVvX2NvZGVcIjpcIkNvcHkgdmlkZW8gY29kZVwiLFwidmlkZW9fbG9hZF9l cnJvclwiOlwiVGhlIHZpZGVvIGhhcyBub3QgdXBsb2FkZWQgeWV0IG9yIHRo ZSBzZXJ2ZXIgaXMgbm90IGF2YWlsYWJsZVwiLFwidmlkZW9fZ2V0X2N1cnJl bnRfdXJsXCI6XCJDb3B5IGZyYW1lIGxpbmtcIixcInVybDI0MFwiOlwiaHR0 cDpcXFwvXFxcL3ZpZGVvNDMzLnZrYWRyZS5ydVxcXC9hc3NldHNcXFwvdmlk ZW9cXFwvMDZhNjJjM2E5MDljLTgxMTk2OTAzLnZrLmZsdlwiLFwianBnXCI6 XCJodHRwOlxcXC9cXFwvdmlkZW80MzMudmthZHJlLnJ1XFxcL2Fzc2V0c1xc XC90aHVtYm5haWxzXFxcLzg4NjE1Y2E5ODExOTY5MDMuMzIwLnZrLmpwZ1wi LFwiaXBfc3VibVwiOjEsXCJub2xvZ29cIjoxLFwibGlrZWRcIjowLFwiYWRk X2hhc2hcIjpcIjNhNTlhOTliOTg0OWQ4ZTdlMVwiLFwiYWRkZWRcIjoxfTtc bnZhciBhbGxvd19odG1sNSA9IDA7XG52YXIgY2hlY2tIdG1sNVZpZGVvID0g ZnVuY3Rpb24oKSB7XG4gIHZhciB2ID0gY2UoJ3ZpZGVvJyksIGNhblBsYXkg PSB2LmNhblBsYXlUeXBlKCd2aWRlb1wvbXA0Jyk7XG4gIHJldHVybiAoY2Fu UGxheSAhPSAnbm8nKSAmJiAoY2FuUGxheSAhPSAnJyk7XG59XG5sb2FkSHRt bDVQbGF5ZXIgPSBmdW5jdGlvbigpIHtcbiAgaWYgKCFjaGVja0h0bWw1Vmlk ZW8oKSB8fCAhdmFycy5ub19mbHYpIHtcbiAgICBzdE1hbmFnZXIuYWRkKCdw YWdlLmNzcycpO1xuICAgIHJldHVybjtcbiAgfVxuICB2YXIgcGxheWVyV3Jh cCA9IGdlKCd2aWRlb19ib3hfd3JhcDM5NTc2MjIzXzEwODM3MDUxNScpO1xu ICBpZiAocGFyc2VJbnQoJzAnKSkge1xuICAgIHZhciBzaXplID0gZ2V0U2l6 ZShwbGF5ZXJXcmFwLnBhcmVudE5vZGUpO1xuICB9IGVsc2Uge1xuICAgIHZh ciBzaXplID0gWzcyMCwgNDEwXTtcbiAgfVxuICBoaWRlKCd2aWRlb19iYWNr Z3JvdW5kMzk1NzYyMjNfMTA4MzcwNTE1Jyk7XG4gIHBsYXllcldyYXAuaW5u ZXJIVE1MID0gJyc7XG4gIHN0TWFuYWdlci5hZGQoWydodG1sNXZpZGVvLmpz JywgJ2h0bWw1dmlkZW8uY3NzJ10sIGZ1bmN0aW9uKCkge1xuICAgIGh0bWw1 dmlkZW8uaW5pdEhUTUw1VmlkZW8odmFycywgc2l6ZVswXSwgc2l6ZVsxXSk7 XG4gIH0pO1xufVxud2luZG93LnZpZGVvX2JveF9pZCA9ICd2aWRlb19ib3hf d3JhcDM5NTc2MjIzXzEwODM3MDUxNSc7XG5cbnZhciBvcHRzID0ge1xuICB1 cmw6ICdcL3N3ZlwvdmlkZW8uc3dmPzIyJyxcbiAgaWQ6ICd2aWRlb19wbGF5 ZXInLFxuICB3aWR0aDogNzIwLFxuICBoZWlnaHQ6IDQxMCxcbiAgdmVyc2lv bjogMTBcbn1cblxuaWYgKGJyb3dzZXIuZmxhc2ggPCAxMCkge1xuICBsb2Fk SHRtbDVQbGF5ZXIoKTtcbiAgcmV0dXJuO1xufVxuXG52YXIgcGxheWVyV3Jh cCA9IGdlKCd2aWRlb19ib3hfd3JhcDM5NTc2MjIzXzEwODM3MDUxNScpO1xu aGlkZSgndmlkZW9fYmFja2dyb3VuZDM5NTc2MjIzXzEwODM3MDUxNScpO1xu cGxheWVyV3JhcC5pbm5lckhUTUwgPSAnJztcblxudmFyIHBhcmFtcyA9IHtc biAgYWxsb3dmdWxsc2NyZWVuOiAndHJ1ZScsXG4gIGFsbG93c2NyaXB0YWNj ZXNzOiAnYWx3YXlzJ1xufVxuXC9cL2lmIChicm93c2VyLm1zaWUgfHwgYnJv d3Nlci5jaHJvbWUpIHtcbiAgb3B0cy5wcmV2ZW50aGlkZSA9IDE7XG4gIHBh cmFtcy53bW9kZSA9ICdvcGFxdWUnO1xuXC9cL31cbnNldFN0eWxlKHBsYXll cldyYXAsIHt3aWR0aDogb3B0cy53aWR0aCwgaGVpZ2h0OiBvcHRzLmhlaWdo dH0pO1xuXG53aW5kb3cudmlkZW9faG9zdCA9IHZhcnMuaG9zdDtcbndpbmRv dy52aWRlb191aWQgPSB2YXJzLnVpZDtcbndpbmRvdy52aWRlb192dGFnID0g dmFycy52dGFnO1xud2luZG93LnZpZGVvX25vX2ZsdiA9IHZhcnMubm9fZmx2 O1xud2luZG93LnZpZGVvX21heF9oZCA9IHZhcnMuaGQ7XG53aW5kb3cudmlk ZW9fdGl0bGUgPSB2YXJzLm1kX3RpdGxlO1xud2luZG93LnZpZGVvX2F1dGhv ciA9IHZhcnMubWRfYXV0aG9yO1xud2luZG93LmZpeGVkX3BsYXllcl9zaXpl ID0gdHJ1ZTtcblxucmVuZGVyRmxhc2gocGxheWVyV3JhcCwgb3B0cywgcGFy YW1zLCB2YXJzKTtcbm12Y3VyLm12RGF0YS5hZGRlZFZpZGVvID0gJzM5NTc2 MjIzXzEwODM3MDUxNSc7IFxubXZjdXIubXZEYXRhLmFkZGVkVmlkZW9IYXNo ID0gJzM5NmViNWVkYmZjYmMzYzkzYyc7IFxubXZjdXIubXZEYXRhLmFkZGVk VmlkZW9TaGFyZUhhc2ggPSAnMDM4MTZjYjhhMzZkODBlMDUxJztcbm12Y3Vy Lm12RGF0YS5uZWVkc05ldyA9IDE7IiwiPGRpdiBpZD1cIm12X2Rlc2NyaXB0 aW9uXCIgY2xhc3M9XCJtdl9kZXNjIGZsX2xcIj798u4gwsfQ28IgzM7Hw8Am IzMzOyYjMzM7JiMzMzs8YnI+z/Du8fLuIO7y4uDrIOHg+OroLi4uPFwvZGl2 PjxkaXYgaWQ9XCJtdl9hY3Rpb25faW5mb1wiIHN0eWxlPVwiZGlzcGxheTog bm9uZTtcIj48XC9kaXY+PGRpdiBpZD1cIm12X3RhZ3NcIiBzdHlsZT1cImRp c3BsYXk6IG5vbmU7XCI+SW4gdGhpcyB2aWRlbzo8c3BhbiBpZD1cIm12X3Rh Z3NfbGlzdFwiPjxcL3NwYW4+PFwvZGl2PjxkaXYgaWQ9XCJtdl9kYXRlX3dy YXBcIiBjbGFzcz1cImZsX2xcIj5BZGRlZCBKdW4gMSwgMjAwOSBhdCAxMDo0 MSBwbTxcL2Rpdj48YnIgY2xhc3M9XCJjbGVhclwiIFwvPjxkaXYgaWQ9XCJt dl9jb21tZW50c193cmFwXCI+XG4gIDxkaXYgaWQ9XCJtdl9jb21tZW50c19o ZWFkZXJcIiBvbmNsaWNrPVwidmlkZW92aWV3LmNvbW1lbnRzKCk7XCIgc3R5 bGU9XCJkaXNwbGF5OiBub25lO1wiPjxcL2Rpdj5cbiAgPGRpdiBpZD1cIm12 X2NvbW1lbnRzXCIgY2xhc3M9XCJ3YWxsX21vZHVsZVwiPjxkaXYgY2xhc3M9 XCJjbGVhcl9maXggbXZfY29tbWVudCBcIiBpZD1cIm12X2NvbW1lbnQzOTU3 NjIyM18xXCIgb25jbGljaz1cIlZpZGVvdmlldy5jb21tZW50Q2xpY2sodGhp cywgZXZlbnQsIDI3MDkxNDgpXCIgb25tb3VzZW92ZXI9XCJXYWxsLnJlcGx5 T3ZlcignMzk1NzYyMjN2aWRlb18xbXYnKVwiIG9ubW91c2VvdXQ9XCJXYWxs LnJlcGx5T3V0KCczOTU3NjIyM3ZpZGVvXzFtdicpXCI+PGRpdiBjbGFzcz1c InJlcGx5X3RhYmxlXCI+XG4gIDxkaXYgY2xhc3M9XCJmbF9sIG12X3RodW1i XCI+XG4gICAgPGEgaHJlZj1cIlwvYXJ0cnVsa1wiIG9uY2xpY2s9XCJyZXR1 cm4gbmF2LmdvKHRoaXMsIGV2ZW50KTtcIj48aW1nIHNyYz1cImh0dHA6XC9c L2NzMzEyMjI3LnZrLm1lXC92MzEyMjI3MTQ4XC9hYjFjXC9VUUZpRlpkUm81 RS5qcGdcIiBcLz48XC9hPlxuICA8XC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJm bF9sIG12X2NvbW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxfciByZXBseV9h Y3Rpb25zX3dyYXBcIj48ZGl2IGNsYXNzPVwicmVwbHlfYWN0aW9uc1wiPjxk aXYgaWQ9XCJyZXBseV9kZWxldGUzOTU3NjIyM3ZpZGVvXzFtdlwiIGNsYXNz PVwicmVwbHlfZGVsZXRlX2J1dHRvbiBmbF9yXCIgb25jbGljaz1cIlZpZGVv dmlldy5jb21tQWN0aW9uKCdzcGFtJywgJzM5NTc2MjIzXzEnLCAnMzljMzk2 MDIwYmFkMzgwMTk5JywgJ212JylcIiBvbm1vdXNlb3Zlcj1cIldhbGwuYWN0 aXZlRGVsZXRlUG9zdCgnMzk1NzYyMjN2aWRlb18xbXYnLCAnUmVwb3J0Jywg J3JlcGx5X2RlbGV0ZScpXCIgb25tb3VzZW91dD1cIldhbGwuZGVhY3RpdmVE ZWxldGVQb3N0KCczOTU3NjIyM3ZpZGVvXzFtdicsICdyZXBseV9kZWxldGUn KVwiPjxcL2Rpdj48XC9kaXY+PFwvZGl2PlxuICAgIDxhIGhyZWY9XCJcL2Fy dHJ1bGtcIiBjbGFzcz1cImF1dGhvclwiIG9uY2xpY2s9XCJyZXR1cm4gbmF2 LmdvKHRoaXMsIGV2ZW50KTtcIj5BcnR5b20gQW50b255YW48XC9hPlxuICAg IDxkaXYgaWQ9XCJ3cHQzOTU3NjIyM3ZpZGVvXzFtdlwiPjxkaXYgY2xhc3M9 XCJtdl9jb21tdGV4dFwiPsrz8/Pz8/Pz8/Pz8/Pz8OXl5eXl5eXl5eXl5eXl 4u4g3fLuIOL7IOLx5SDy4Oro5SDt4CDE5ev88uAg8eXw4uXw5T88XC9kaXY+ PFwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJsaWtlX3dyYXAgZmxfclwiIG9u Y2xpY2s9XCJXYWxsLmxpa2UoJzM5NTc2MjIzdmlkZW9fY29tbWVudDFtdics ICcnKTsgZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcIiBvbm1vdXNlb3Zl cj1cIldhbGwubGlrZU92ZXIoJzM5NTc2MjIzdmlkZW9fY29tbWVudDFtdicp XCIgb25tb3VzZW91dD1cIldhbGwubGlrZU91dCgnMzk1NzYyMjN2aWRlb19j b21tZW50MW12JylcIj5cbiAgPHNwYW4gY2xhc3M9XCJsaWtlX2xpbmsgZmxf bFwiIGlkPVwibGlrZV9saW5rMzk1NzYyMjN2aWRlb19jb21tZW50MW12XCI+ PFwvc3Bhbj5cbiAgPGkgY2xhc3M9XCJub19saWtlcyBmbF9sXCIgaWQ9XCJs aWtlX2ljb24zOTU3NjIyM3ZpZGVvX2NvbW1lbnQxbXZcIj48XC9pPlxuICA8 c3BhbiBjbGFzcz1cImxpa2VfY291bnQgZmxfbFwiIGlkPVwibGlrZV9jb3Vu dDM5NTc2MjIzdmlkZW9fY29tbWVudDFtdlwiPjxcL3NwYW4+XG48XC9kaXY+ XG4gICAgPGRpdiBjbGFzcz1cIm12X2NvbW1kYXRhXCIgaWQ9XCJ3cGVfYm90 dG9tMzk1NzYyMjN2aWRlb18xbXZcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwi ZmxfbFwiPjIgSnVuIDIwMDk8XC9zcGFuPlxuICAgICAgPGRpdiBjbGFzcz1c ImZsX3IgcHJvZ3Jlc3NcIiBpZD1cIm12X3Byb2dyZXNzMzk1NzYyMjNfMVwi PjxcL2Rpdj5cbiAgICA8XC9kaXY+XG4gIDxcL2Rpdj5cbjxcL2Rpdj48XC9k aXY+PGRpdiBjbGFzcz1cImNsZWFyX2ZpeCBtdl9jb21tZW50IFwiIGlkPVwi bXZfY29tbWVudDM5NTc2MjIzXzJcIiBvbmNsaWNrPVwiVmlkZW92aWV3LmNv bW1lbnRDbGljayh0aGlzLCBldmVudCwgNDA5ODAzMylcIiBvbm1vdXNlb3Zl cj1cIldhbGwucmVwbHlPdmVyKCczOTU3NjIyM3ZpZGVvXzJtdicpXCIgb25t b3VzZW91dD1cIldhbGwucmVwbHlPdXQoJzM5NTc2MjIzdmlkZW9fMm12Jylc Ij48ZGl2IGNsYXNzPVwicmVwbHlfdGFibGVcIj5cbiAgPGRpdiBjbGFzcz1c ImZsX2wgbXZfdGh1bWJcIj5cbiAgICA8YSBocmVmPVwiXC9qdXN0X293aW5n XCIgb25jbGljaz1cInJldHVybiBuYXYuZ28odGhpcywgZXZlbnQpO1wiPjxp bWcgc3JjPVwiaHR0cDpcL1wvY3M0MTYzMjIudmsubWVcL3Y0MTYzMjIwMzNc LzZmMTFcLy14MWdyMnVhZHJzLmpwZ1wiIFwvPjxcL2E+XG4gIDxcL2Rpdj5c biAgPGRpdiBjbGFzcz1cImZsX2wgbXZfY29tbVwiPlxuICAgIDxkaXYgY2xh c3M9XCJmbF9yIHJlcGx5X2FjdGlvbnNfd3JhcFwiPjxkaXYgY2xhc3M9XCJy ZXBseV9hY3Rpb25zXCI+PGRpdiBpZD1cInJlcGx5X2RlbGV0ZTM5NTc2MjIz dmlkZW9fMm12XCIgY2xhc3M9XCJyZXBseV9kZWxldGVfYnV0dG9uIGZsX3Jc IiBvbmNsaWNrPVwiVmlkZW92aWV3LmNvbW1BY3Rpb24oJ3NwYW0nLCAnMzk1 NzYyMjNfMicsICcwNGEzOWU0ZDgyNTAwOTQ1OTYnLCAnbXYnKVwiIG9ubW91 c2VvdmVyPVwiV2FsbC5hY3RpdmVEZWxldGVQb3N0KCczOTU3NjIyM3ZpZGVv XzJtdicsICdSZXBvcnQnLCAncmVwbHlfZGVsZXRlJylcIiBvbm1vdXNlb3V0 PVwiV2FsbC5kZWFjdGl2ZURlbGV0ZVBvc3QoJzM5NTc2MjIzdmlkZW9fMm12 JywgJ3JlcGx5X2RlbGV0ZScpXCI+PFwvZGl2PjxcL2Rpdj48XC9kaXY+XG4g ICAgPGEgaHJlZj1cIlwvanVzdF9vd2luZ1wiIGNsYXNzPVwiYXV0aG9yXCIg b25jbGljaz1cInJldHVybiBuYXYuZ28odGhpcywgZXZlbnQpO1wiPlZsYWRp bWlyIFBldHVraG92PFwvYT5cbiAgICA8ZGl2IGlkPVwid3B0Mzk1NzYyMjN2 aWRlb18ybXZcIj48ZGl2IGNsYXNzPVwibXZfY29tbXRleHRcIj7C5fH8IOzo 8CDy4Oru6Swg9e7k//Ig6CDk8+zg/iDv8O4g8eXh/yD38u4g8yDq7uPuIO3g IPPs5SA6RDxcL2Rpdj48XC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImxpa2Vf d3JhcCBmbF9yXCIgb25jbGljaz1cIldhbGwubGlrZSgnMzk1NzYyMjN2aWRl b19jb21tZW50Mm12JywgJycpOyBldmVudC5jYW5jZWxCdWJibGUgPSB0cnVl O1wiIG9ubW91c2VvdmVyPVwiV2FsbC5saWtlT3ZlcignMzk1NzYyMjN2aWRl b19jb21tZW50Mm12JylcIiBvbm1vdXNlb3V0PVwiV2FsbC5saWtlT3V0KCcz OTU3NjIyM3ZpZGVvX2NvbW1lbnQybXYnKVwiPlxuICA8c3BhbiBjbGFzcz1c Imxpa2VfbGluayBmbF9sXCIgaWQ9XCJsaWtlX2xpbmszOTU3NjIyM3ZpZGVv X2NvbW1lbnQybXZcIj48XC9zcGFuPlxuICA8aSBjbGFzcz1cIm5vX2xpa2Vz IGZsX2xcIiBpZD1cImxpa2VfaWNvbjM5NTc2MjIzdmlkZW9fY29tbWVudDJt dlwiPjxcL2k+XG4gIDxzcGFuIGNsYXNzPVwibGlrZV9jb3VudCBmbF9sXCIg aWQ9XCJsaWtlX2NvdW50Mzk1NzYyMjN2aWRlb19jb21tZW50Mm12XCI+PFwv c3Bhbj5cbjxcL2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibXZfY29tbWRhdGFc IiBpZD1cIndwZV9ib3R0b20zOTU3NjIyM3ZpZGVvXzJtdlwiPlxuICAgICAg PHNwYW4gY2xhc3M9XCJmbF9sXCI+MyBKdW4gMjAwOTxcL3NwYW4+XG4gICAg ICA8ZGl2IGNsYXNzPVwiZmxfciBwcm9ncmVzc1wiIGlkPVwibXZfcHJvZ3Jl c3MzOTU3NjIyM18yXCI+PFwvZGl2PlxuICAgIDxcL2Rpdj5cbiAgPFwvZGl2 PlxuPFwvZGl2PjxcL2Rpdj48XC9kaXY+XG48XC9kaXY+PGRpdiBjbGFzcz1c InZpZGVvX2NvbW1lbnRzX21zZ1wiPkNvbW1lbnRpbmcgZm9yIHRoaXMgdmlk ZW8gZGlzYWJsZWQgYnkgdGhlIG93bmVyLjxcL2Rpdj4iLCI8ZGl2IGNsYXNz PVwibXZfaW5mbyBtdl9udW1fdmlld3NcIj4xMSB2aWV3czxcL2Rpdj48ZGl2 IGNsYXNzPVwibXZfaW5mb1wiPkFkZGVkIGJ5OjxcL2Rpdj48ZGl2IGlkPVwi bXZfYXV0aG9yXCI+PGEgY2xhc3M9XCJtZW1fbGlua1wiIGhyZWY9XCJcL2Ry YWttYWlsXCI+QWxleGFuZGVyIE1hc2xvdjxcL2E+PFwvZGl2PjxkaXYgaWQ9 XCJtdl9hY3Rpb25zXCI+PGEgaWQ9XCJtdl9zaGFyZVwiIG9uY2xpY2s9XCJ2 aWRlb3ZpZXcuY3JlYXRlREQodGhpcywgW1t2aWRlb3ZpZXcuc2VuZFZpZGVv LCAnU2VuZCB0byBhIGZyaWVuZCddLCBbdmlkZW92aWV3LmdldFZpZGVvQ29k ZS5wYmluZCgzOTU3NjIyMywgMTA4MzcwNTE1KSwgJ0V4cG9ydCB2aWRlbydd XSwgZnVuY3Rpb24oY2Ipe2NiKCk7fSk7XCIsIHN0eWxlPVwiZGlzcGxheTog bm9uZTtcIj5cbiAgPHNwYW4gY2xhc3M9XCJtdl9zaGFyZV90ZXh0XCI+U2hh cmU8XC9zcGFuPlxuPFwvYT48XC9kaXY+IiwiPGEgY2xhc3M9XCJtdl9zaG93 X2luZm9cIiBpZD1cIm12X3Nob3dfaW5mb1wiIG9ubW91c2VvdmVyPVwidmlk ZW92aWV3LmFjdGl2YXRlKHRoaXMsIDIpO1wiIG9ubW91c2VvdXQ9XCJ2aWRl b3ZpZXcuZGVhY3RpdmF0ZSh0aGlzLCAyKTtcIiBvbmNsaWNrPVwicmV0dXJu IHZpZGVvdmlldy5zaG93SW5mbygpO1wiPlNob3cgQ29tbWVudHM8XC9hPjxh IGNsYXNzPVwibXZfaGlkZV9pbmZvXCIgaWQ9XCJtdl9oaWRlX2luZm9cIiBv bm1vdXNlb3Zlcj1cInZpZGVvdmlldy5hY3RpdmF0ZSh0aGlzLCAyKTtcIiBv bm1vdXNlb3V0PVwidmlkZW92aWV3LmRlYWN0aXZhdGUodGhpcywgMik7XCIg b25jbGljaz1cInJldHVybiB2aWRlb3ZpZXcuaGlkZUluZm8oKTtcIj5IaWRl IGNvbW1lbnRzPFwvYT4iLHsibGFuZyI6eyJyZXBseV90b19wb3N0IjoiWW91 ciBjb21tZW50Li4iLCJ3YWxsX01fcmVwbGllc19vZl9OIjpbIiIsIiVzIGNv bW1lbnQgb2Yge2xpbmt9e2FsbH17XC9saW5rfSIsIiVzIGNvbW1lbnRzIG9m IHtsaW5rfXthbGx9e1wvbGlua30iXSwid2FsbF9tb3JlX3JlcGxpZXMiOlsi Iiwic2hvdyAlcyBtb3JlIGNvbW1lbnQiLCJzaG93ICVzIG1vcmUgY29tbWVu dHMiXSwid2FsbF9hbGxfcmVwbGllcyI6ImFsbCBjb21tZW50cyIsImRvbnRf YXR0YWNoIjoiUmVtb3ZlIGF0dGFjaG1lbnQiLCJ2aWRlb19YX2NvbW1zIjpb IiIsIiVzIGNvbW1lbnQiLCIlcyBjb21tZW50cyJdLCJ2aWRlb19zaG93X3By ZXZpb3VzX2NvbW1lbnRzIjpbIiIsIlNob3cgJXMgcHJldmlvdXMgY29tbWVu dCIsIlNob3cgJXMgcHJldmlvdXMgY29tbWVudHMiXSwidmlkZW9fYXJlX3lv dV9zdXJlX2Nsb3NlIjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsb3Nl IHRoaXMgdmlkZW8/IiwidmlkZW9fYXJlX3lvdV9zdXJlX2Nsb3NlX3RpdGxl IjoiQ2xvc2UgdmlkZW8iLCJwcm9maWxlX21lbnRpb25fbm90X2ZvdW5kIjoi VXNlciB3YXMgbm90IGZvdW5kIiwicHJvZmlsZV9tZW50aW9uX3N0YXJ0X3R5 cGluZyI6IlN0YXJ0IHR5cGluZyBhIG5hbWUuLiJ9LCJjb21tbGltaXQiOjE2 Mzg0LCJtdkRhdGEiOnsidGl0bGUiOiLfIPPy7vfq4CkpKSkpIiwib2lkIjoz OTU3NjIyMywidmlkIjoxMDgzNzA1MTUsInZpZGVvUmF3IjoiMzk1NzYyMjNf MTA4MzcwNTE1IiwiaGFzaCI6IjdmZTYwMThmMTY5NmI1ZGMxOSIsImxpa2VI YXNoIjoiYWY1MmM5Y2U1OTlhMzAxZWEzIiwiY29tbXNob3duIjoyLCJjb21t Y291bnQiOjIsImxpa2VkIjpmYWxzZSwibGlrZXMiOjAsImR1cmF0aW9uIjox ODN9LCJ0YWdnZWRJbmZvIjoiIiwic2hvd0luZm8iOjB9XSk7CnNob3dWaWRl bygnMzk1NzYyMjNfMTA4MzcwNTE1JywgJ3ZpZGVvczM5NTc2MjIzJywge3Jv b3Q6IDEsIGZyb21QcmVsb2FkOiAxLCBub0xvY0NoYW5nZTogMSwgcHJldlRp dGxlOiAnIEFsZXhhbmRlciBNYXNsb3YmIzM5O3MgVmlkZW9zIHwgNSB2aWRl b3MnLCBwYXJhbXM6IHsiYWN0Ijoic2hvdyIsInZpZGVvIjoiMzk1NzYyMjNf MTA4MzcwNTE1In19KTsKICAgIH0KICA8L3NjcmlwdD4KPC9ib2R5PgoKPC9o dG1sPg== http_version: recorded_at: Sun, 23 Feb 2014 16:18:59 GMT recorded_with: VCR 2.8.0