--- http_interactions: - request: method: get uri: https://identifiers.org/doi/10.7910/DVN/NJ7XSO body: encoding: US-ASCII string: '' headers: User-Agent: - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma) Accept: - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 response: status: code: 302 message: Found headers: Server: - Apache-Coyote/1.1 Location: - http://identifiers.org/doi/10.7910/DVN/NJ7XSO Content-Length: - '0' Date: - Sat, 29 Dec 2018 07:52:50 GMT body: encoding: ASCII-8BIT string: '' http_version: recorded_at: Sat, 29 Dec 2018 07:52:50 GMT - request: method: get uri: http://identifiers.org/doi/10.7910/DVN/NJ7XSO body: encoding: US-ASCII string: '' headers: User-Agent: - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma) Accept: - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 response: status: code: 302 message: Found headers: Server: - Apache-Coyote/1.1 Location: - http://hdl.handle.net/10.7910/DVN/NJ7XSO Content-Length: - '0' Date: - Sat, 29 Dec 2018 07:52:50 GMT body: encoding: ASCII-8BIT string: '' http_version: recorded_at: Sat, 29 Dec 2018 07:52:50 GMT - request: method: get uri: http://hdl.handle.net/10.7910/DVN/NJ7XSO body: encoding: US-ASCII string: '' headers: User-Agent: - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma) Accept: - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 response: status: code: 302 message: '' headers: Vary: - Accept Location: - https://dataverse.harvard.edu/citation?persistentId=doi:10.7910/DVN/NJ7XSO Expires: - Sun, 30 Dec 2018 07:52:51 GMT Content-Type: - text/html;charset=utf-8 Content-Length: - '233' Date: - Sat, 29 Dec 2018 07:52:51 GMT body: encoding: ASCII-8BIT string: |- <html><head><title>Handle Redirect</title></head> <body><a href="https://dataverse.harvard.edu/citation?persistentId=doi:10.7910/DVN/NJ7XSO">https://dataverse.harvard.edu/citation?persistentId=doi:10.7910/DVN/NJ7XSO</a></body></html> http_version: recorded_at: Sat, 29 Dec 2018 07:52:51 GMT - request: method: get uri: https://dataverse.harvard.edu/citation?persistentId=doi:10.7910/DVN/NJ7XSO body: encoding: US-ASCII string: '' headers: User-Agent: - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma) Accept: - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 response: status: code: 302 message: Found headers: Cache-Control: - no-cache="set-cookie" Content-Language: - en-US Content-Type: - text/html;charset=ISO-8859-1 Date: - Sat, 29 Dec 2018 07:52:51 GMT Location: - https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/NJ7XSO Server: - Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips Set-Cookie: - AWSELB=EB1179591E49E298C6825A3028F74991071DEE12D3003932193CF2C36310550FD24D4C34ECDBD3EC37C4E69D8B958E3FBF8CF814030B5CB9749AB70FE33A8BB5BB36A149CB;PATH=/;MAX-AGE=28800 Content-Length: - '229' Connection: - keep-alive body: encoding: ASCII-8BIT string: "<html>\r\n<head><title>Document moved</title></head>\r\n<body><h1>Document moved</h1>\r\nThis document has moved <a href=\"https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/NJ7XSO\">here</a>.<p>\r\n</body>\r\n</html>\r\n" http_version: recorded_at: Sat, 29 Dec 2018 07:52:51 GMT - request: method: get uri: https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/NJ7XSO body: encoding: US-ASCII string: '' headers: User-Agent: - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma) Accept: - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5 response: status: code: 200 message: OK headers: Cache-Control: - no-cache="set-cookie" Content-Type: - text/html;charset=UTF-8 Date: - Sat, 29 Dec 2018 07:52:52 GMT Server: - Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips Set-Cookie: - JSESSIONID=8f394a6ca0ddd1e4f54c2da21bc6; Path=/; Secure; HttpOnly, AWSELB=EB1179591E49E298C6825A3028F74991071DEE12D3BAFE6DCC623DFD9C0ECBC077EB23E90FDBD3EC37C4E69D8B958E3FBF8CF81403222DF6AABE0F6509EF79AB1D548B7265;PATH=/;MAX-AGE=28800 Connection: - keep-alive body: encoding: ASCII-8BIT string: !binary |- PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnID8+CjwhRE9DVFlQRSBodG1sPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgbGFuZz0iZW4iPjxoZWFkIGlkPSJqX2lkdDEyIj4KICAgICAgICAgICAgPHRpdGxlPlN1bW1hcnkgZGF0YSBhbmt5bG9zaW5nIHNwb25keWxpdGlzIEdXQVMgLSBIYXJ2YXJkIERhdGF2ZXJzZTwvdGl0bGU+CgkgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CgkgICAgPG1ldGEgbmFtZT0iREMuaWRlbnRpZmllciIgY29udGVudD0iZG9pOjEwLjc5MTAvRFZOL05KN1hTTyIgLz4KCSAgICA8bWV0YSBuYW1lPSJEQy50eXBlIiBjb250ZW50PSJEYXRhc2V0IiAvPgoJICAgIDxtZXRhIG5hbWU9IkRDLnRpdGxlIiBjb250ZW50PSJTdW1tYXJ5IGRhdGEgYW5reWxvc2luZyBzcG9uZHlsaXRpcyBHV0FTIiAvPgogICAgICAgICAgICA8bWV0YSBuYW1lPSJEQy5kYXRlIiBjb250ZW50PSIyMDE3LTA5LTMwIiAvPgoJICAgIDxtZXRhIG5hbWU9IkRDLnB1Ymxpc2hlciIgY29udGVudD0iSGFydmFyZCBEYXRhdmVyc2UiIC8+CiAgICAgICAgICAgIDxtZXRhIG5hbWU9IkRDLmRlc2NyaXB0aW9uIiBjb250ZW50PSJTdW1tYXJ5IG9mIGFzc29jaWF0aW9uIHRlc3RzIGZvciBOYXR1cmUgR2VuZXRpY3MgcHVibGljYXRpb24gJnF1b3Q7SWRlbnRpZmljYXRpb24gb2YgbXVsdGlwbGUgcmlzayB2YXJpYW50cyBmb3IgYW5reWxvc2luZyBzcG9uZHlsaXRpcyB0aHJvdWdoIGhpZ2gtZGVuc2l0eSBnZW5vdHlwaW5nIG9mIGltbXVuZS1yZWxhdGVkIGxvY2kmcXVvdDsuIiAvPgogICAgICAgICAgICA8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJJbnRlcm5hdGlvbmFsIEdlbmV0aWNzIG9mIEFua3lsb3NpbmcgU3BvbmR5bGl0aXMgQ29uc29ydGl1bSAoSUdBUykiIC8+CiAgICAgICAgICAgIDxtZXRhIG5hbWU9IkRDLnN1YmplY3QiIGNvbnRlbnQ9Ik1lZGljaW5lLCBIZWFsdGggYW5kIExpZmUgU2NpZW5jZXMiIC8+CiAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPnsiQGNvbnRleHQiOiJodHRwOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiRGF0YXNldCIsImlkZW50aWZpZXIiOiJodHRwOi8vZHguZG9pLm9yZy8xMC43OTEwL0RWTi9OSjdYU08iLCJuYW1lIjoiU3VtbWFyeSBkYXRhIGFua3lsb3Npbmcgc3BvbmR5bGl0aXMgR1dBUyIsImF1dGhvciI6W3sibmFtZSI6IkludGVybmF0aW9uYWwgR2VuZXRpY3Mgb2YgQW5reWxvc2luZyBTcG9uZHlsaXRpcyBDb25zb3J0aXVtIChJR0FTKSJ9XSwiZGF0ZVB1Ymxpc2hlZCI6IjIwMTctMDktMzAiLCJkYXRlTW9kaWZpZWQiOiIyMDE3LTA5LTMwIiwidmVyc2lvbiI6IjEiLCJkZXNjcmlwdGlvbiI6IlN1bW1hcnkgb2YgYXNzb2NpYXRpb24gdGVzdHMgZm9yIE5hdHVyZSBHZW5ldGljcyBwdWJsaWNhdGlvbiBcIklkZW50aWZpY2F0aW9uIG9mIG11bHRpcGxlIHJpc2sgdmFyaWFudHMgZm9yIGFua3lsb3Npbmcgc3BvbmR5bGl0aXMgdGhyb3VnaCBoaWdoLWRlbnNpdHkgZ2Vub3R5cGluZyBvZiBpbW11bmUtcmVsYXRlZCBsb2NpXCIuIiwia2V5d29yZHMiOlsiTWVkaWNpbmUsIEhlYWx0aCBhbmQgTGlmZSBTY2llbmNlcyIsIiBHZW5vbWUtV2lkZSBBc3NvY2lhdGlvbiBTdHVkaWVzIiwiQW5reWxvc2luZyBzcG9uZHlsaXRpcyJdLCJjaXRhdGlvbiI6WyIxMC4xMDM4L25nLjI2NjciXSwic2NoZW1hVmVyc2lvbiI6Imh0dHBzOi8vc2NoZW1hLm9yZy92ZXJzaW9uLzMuMyIsImxpY2Vuc2UiOnsiQHR5cGUiOiJEYXRhc2V0IiwidGV4dCI6IkNDMCIsInVybCI6Imh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvIn0sImluY2x1ZGVkSW5EYXRhQ2F0YWxvZyI6eyJAdHlwZSI6IkRhdGFDYXRhbG9nIiwibmFtZSI6IkhhcnZhcmQgRGF0YXZlcnNlIiwidXJsIjoiaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUifSwicHJvdmlkZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiRGF0YXZlcnNlIn19CgogICAgICAgICAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtTGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuIiAvPgogICAgICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiIC8+CiAgICAgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIgLz4KICAgICAgICAgICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIC8+PGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL3RoZW1lLmNzcy54aHRtbD9sbj1wcmltZWZhY2VzLWJvb3RzdHJhcCIgLz48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanF1ZXJ5L2pxdWVyeS5qcy54aHRtbDtqc2Vzc2lvbmlkPThmMzk0YTZjYTBkZGQxZTRmNTRjMmRhMjFiYzY/bG49cHJpbWVmYWNlcyZhbXA7dj02LjIiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qcXVlcnkvanF1ZXJ5LXBsdWdpbnMuanMueGh0bWw7anNlc3Npb25pZD04ZjM5NGE2Y2EwZGRkMWU0ZjU0YzJkYTIxYmM2P2xuPXByaW1lZmFjZXMmYW1wO3Y9Ni4yIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY29yZS5qcy54aHRtbDtqc2Vzc2lvbmlkPThmMzk0YTZjYTBkZGQxZTRmNTRjMmRhMjFiYzY/bG49cHJpbWVmYWNlcyZhbXA7dj02LjIiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9jb21wb25lbnRzLmpzLnhodG1sO2pzZXNzaW9uaWQ9OGYzOTRhNmNhMGRkZDFlNGY1NGMyZGEyMWJjNj9sbj1wcmltZWZhY2VzJmFtcDt2PTYuMiI+PC9zY3JpcHQ+PGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2NvbXBvbmVudHMuY3NzLnhodG1sO2pzZXNzaW9uaWQ9OGYzOTRhNmNhMGRkZDFlNGY1NGMyZGEyMWJjNj9sbj1wcmltZWZhY2VzJmFtcDt2PTYuMiIgLz48bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2Uvd2F0ZXJtYXJrL3dhdGVybWFyay5jc3MueGh0bWw7anNlc3Npb25pZD04ZjM5NGE2Y2EwZGRkMWU0ZjU0YzJkYTIxYmM2P2xuPXByaW1lZmFjZXMmYW1wO3Y9Ni4yIiAvPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS93YXRlcm1hcmsvd2F0ZXJtYXJrLmpzLnhodG1sO2pzZXNzaW9uaWQ9OGYzOTRhNmNhMGRkZDFlNGY1NGMyZGEyMWJjNj9sbj1wcmltZWZhY2VzJmFtcDt2PTYuMiI+PC9zY3JpcHQ+PGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2ZpbGV1cGxvYWQvZmlsZXVwbG9hZC5jc3MueGh0bWw7anNlc3Npb25pZD04ZjM5NGE2Y2EwZGRkMWU0ZjU0YzJkYTIxYmM2P2xuPXByaW1lZmFjZXMmYW1wO3Y9Ni4yIiAvPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9maWxldXBsb2FkL2ZpbGV1cGxvYWQuanMueGh0bWw7anNlc3Npb25pZD04ZjM5NGE2Y2EwZGRkMWU0ZjU0YzJkYTIxYmM2P2xuPXByaW1lZmFjZXMmYW1wO3Y9Ni4yIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+aWYod2luZG93LlByaW1lRmFjZXMpe1ByaW1lRmFjZXMuc2V0dGluZ3MubG9jYWxlPSdlbic7fTwvc2NyaXB0PgogICAgICAgIDxsaW5rIHR5cGU9ImltYWdlL3BuZyIgcmVsPSJpY29uIiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvaW1hZ2VzL2Zhdmljb25kYXRhdmVyc2UucG5nLnhodG1sIiAvPgogICAgICAgIDxsaW5rIHR5cGU9ImltYWdlL3BuZyIgcmVsPSJpbWFnZV9zcmMiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9pbWFnZXMvZGF0YXZlcnNlcHJvamVjdC5wbmcueGh0bWwiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2JzL2Nzcy9ib290c3RyYXAubWluLmNzcy54aHRtbD92ZXJzaW9uPTQuOS40IiAvPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9icy9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MueGh0bWw/dmVyc2lvbj00LjkuNCIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL2llLWNvbXBhdC5jc3MueGh0bWw/dmVyc2lvbj00LjkuNCIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL293bC5jYXJvdXNlbC5jc3MueGh0bWw/dmVyc2lvbj00LjkuNCIgLz4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvamF2YXguZmFjZXMucmVzb3VyY2UvY3NzL2ZvbnRjdXN0b20uY3NzLnhodG1sP3ZlcnNpb249NC45LjQiIC8+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2phdmF4LmZhY2VzLnJlc291cmNlL2Nzcy9zb2NpY29uLmNzcy54aHRtbD92ZXJzaW9uPTQuOS40IiAvPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9jc3Mvc3RydWN0dXJlLmNzcy54aHRtbD92ZXJzaW9uPTQuOS40IiAvPgogICAgICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAgICAgLy8gQnJlYWsgb3V0IG9mIGlmcmFtZQogICAgICAgICAgICAgICAgaWYgKHdpbmRvdyAhPT0gdG9wKSB0b3AubG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb247CiAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgICAgICAvKiBDdXN0b20gQ1NTICovCiAgICAgICAgICAgICAgICAjbmF2YmFyRml4ZWQgZGl2Lm5hdmJhci1oZWFkZXIgaW1nLm5hdmJhci1icmFuZC5jdXN0b20tbG9nbyB7aGVpZ2h0OjUwcHggIWltcG9ydGFudDt9CiNkYXRhdmVyc2VEZXNjIHNwYW4gPiBzcGFuID4gc3BhbiA+IGgzIHtmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7fQoKICAgICAgICAgICAgPC9zdHlsZT48L2hlYWQ+PGJvZHk+Cgk8YSBocmVmPSIjY29udGVudCIgY2xhc3M9InNyLW9ubHkiPlNraXAgdG8gbWFpbiBjb250ZW50PC9hPgogICAgCiAgICA8ZGl2IGlkPSJkYXRhdmVyc2UtaGVhZGVyLWJsb2NrIj48bmF2IHJvbGU9Im5hdmlnYXRpb24iIGlkPSJuYXZiYXJGaXhlZCIgY2xhc3M9Im5hdmJhciBuYXZiYXItZGVmYXVsdCBuYXZiYXItZml4ZWQtdG9wIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2YmFyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI3RvcE5hdkJhciIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5Ub2dnbGUgbmF2aWdhdGlvbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4gICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8iPjxpbWcgc3JjPSIvbG9nb3MvbmF2YmFyL2xvZ28ucG5nO2pzZXNzaW9uaWQ9OGYzOTRhNmNhMGRkZDFlNGY1NGMyZGEyMWJjNiIgY2xhc3M9Im5hdmJhci1icmFuZCBjdXN0b20tbG9nbyIgLz4KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZSIgaWQ9InRvcE5hdkJhciI+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiBuYXZiYXItcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+U2VhcmNoIDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSIgc3R5bGU9InBhZGRpbmc6MTJweDttaW4td2lkdGg6MzUwcHg7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz0iZm9ybS1pbmxpbmUiIHJvbGU9InNlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0ic3Itb25seSIgZm9yPSJuYXZiYXJzZWFyY2giPlNlYXJjaDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0ibmF2YmFyc2VhcmNoIiB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBzaXplPSIyOCIgdmFsdWU9IiIgcGxhY2Vob2xkZXI9IlNlYXJjaCBhbGwgZGF0YXZlcnNlcy4uLiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbnB1dC1ncm91cC1idG4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJ3aW5kb3cubG9jYXRpb24gPSAnL2RhdGF2ZXJzZS9oYXJ2YXJkP3E9JyArIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduYXZiYXJzZWFyY2gnKS52YWx1ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1zZWFyY2giPjwvc3Bhbj4gRmluZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjxsaT48YSBocmVmPSJodHRwczovL2RhdGF2ZXJzZS5vcmciIHRhcmdldD0iX2JsYW5rIj5BYm91dDwvYT48L2xpPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9ndWlkZXMuZGF0YXZlcnNlLm9yZy9lbi80LjkuNC91c2VyIiB0YXJnZXQ9Il9ibGFuayI+VXNlciBHdWlkZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KPGZvcm0gaWQ9ImpfaWR0NTgiIG5hbWU9ImpfaWR0NTgiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvZGF0YXNldC54aHRtbDtqc2Vzc2lvbmlkPThmMzk0YTZjYTBkZGQxZTRmNTRjMmRhMjFiYzY/cGVyc2lzdGVudElkPWRvaToxMC43OTEwL0RWTi9OSjdYU08iIGNsYXNzPSJuYXZiYXItZm9ybSBuYXZiYXItbGVmdCBuYXZiYXItZm9ybS1saW5rIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ial9pZHQ1OCIgdmFsdWU9ImpfaWR0NTgiIC8+CjxhIGlkPSJqX2lkdDU4OmpfaWR0NTkiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7al9pZHQ1ODpqX2lkdDU5JnF1b3Q7LHU6JnF1b3Q7Y29udGFjdERpYWxvZyZxdW90OyxvbmNvOmZ1bmN0aW9uKHhocixzdGF0dXMsYXJncyl7UEYoJ2NvbnRhY3RGb3JtJykuc2hvdygpO319KTtyZXR1cm4gZmFsc2U7Ij5TdXBwb3J0PC9hPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImphdmF4LmZhY2VzLlZpZXdTdGF0ZSIgaWQ9ImpfaWQxOmphdmF4LmZhY2VzLlZpZXdTdGF0ZTowIiB2YWx1ZT0iLTM4OTIxNzU5MjEyNDQwNDY4MzA6LTU1MTEyNTU4MzYyMjYxMzE0NSIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+CjwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvZGF0YXZlcnNldXNlci54aHRtbDtqc2Vzc2lvbmlkPThmMzk0YTZjYTBkZGQxZTRmNTRjMmRhMjFiYzY/ZWRpdE1vZGU9Q1JFQVRFJmFtcDtyZWRpcmVjdFBhZ2U9JTJGZGF0YXNldC54aHRtbCUzRnBlcnNpc3RlbnRJZCUzRGRvaSUzQTEwLjc5MTAlMkZEVk4lMkZOSjdYU08iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaWduIFVwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvbG9naW5wYWdlLnhodG1sO2pzZXNzaW9uaWQ9OGYzOTRhNmNhMGRkZDFlNGY1NGMyZGEyMWJjNj9yZWRpcmVjdFBhZ2U9JTJGZGF0YXNldC54aHRtbCUzRnBlcnNpc3RlbnRJZCUzRGRvaSUzQTEwLjc5MTAlMkZEVk4lMkZOSjdYU08iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2cgSW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+PC9uYXY+PGRpdiBpZD0iYnJlYWRjcnVtYk5hdkJsb2NrIiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJyZWFkY3J1bWJCbG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBpZD0iYnJlYWRjcnVtYkxuazAiIGhyZWY9Ii9kYXRhdmVyc2UvaGFydmFyZCI+SGFydmFyZCBEYXRhdmVyc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PjxzcGFuIGNsYXNzPSJicmVhZGNydW1iQ2Fycm90Ij4gJmd0OyA8L3NwYW4+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJicmVhZGNydW1iQmxvY2siPjxzcGFuIGNsYXNzPSJicmVhZGNydW1iQWN0aXZlIj5TdW1tYXJ5IGRhdGEgYW5reWxvc2luZyBzcG9uZHlsaXRpcyBHV0FTPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PGRpdiBpZD0ibWVzc2FnZVBhbmVsIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIG1lc3NhZ2VQYW5lbCI+CiAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIiBpZD0iY29udGVudCI+Cjxmb3JtIGlkPSJkYXRhc2V0Rm9ybSIgbmFtZT0iZGF0YXNldEZvcm0iIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvZGF0YXNldC54aHRtbDtqc2Vzc2lvbmlkPThmMzk0YTZjYTBkZGQxZTRmNTRjMmRhMjFiYzY/cGVyc2lzdGVudElkPWRvaToxMC43OTEwL0RWTi9OSjdYU08iIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRhdGFzZXRGb3JtIiB2YWx1ZT0iZGF0YXNldEZvcm0iIC8+CjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRvcERhdGFzZXRCbG9ja0ZyYWdtZW50Ij48ZGl2IGlkPSJ0b3BEYXRhc2V0QmxvY2siPjxkaXYgaWQ9ImFjdGlvbkJ1dHRvbkJsb2NrIiBjbGFzcz0iYnV0dG9uLWJsb2NrIGNsZWFyZml4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bi1ncm91cCBwdWxsLXJpZ2h0IiByb2xlPSJncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG4tZ3JvdXAgcHVsbC1yaWdodCIgaWQ9ImRhdGFzZXRCdXR0b25CYXIiIHJvbGU9Imdyb3VwIj48YSBpZD0iZGF0YXNldEZvcm06al9pZHQyODciIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgdGV4dC1idXR0b24gYm9vdHN0cmFwLWJ1dHRvbi10b29sdGlwIiBhcmlhLWxhYmVsPSJFbWFpbCBEYXRhc2V0IENvbnRhY3QiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQyODcmcXVvdDssdTomcXVvdDtjb250YWN0RGlhbG9nJnF1b3Q7LG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzKXtQRignY29udGFjdEZvcm0nKS5zaG93KCk7fSxmaTomcXVvdDtkYXRhc2V0Rm9ybTp0b3BEYXRhc2V0QmxvY2tGcmFnbWVudCZxdW90O30pO3JldHVybiBmYWxzZTsiIHRpdGxlPSJFbWFpbCBEYXRhc2V0IENvbnRhY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1lbnZlbG9wZSI+PC9zcGFuPiBDb250YWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjxhIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDI4OSIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCB0ZXh0LWJ1dHRvbiBib290c3RyYXAtYnV0dG9uLXRvb2x0aXAiIGFyaWEtbGFiZWw9IlNoYXJlIERhdGFzZXQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQyODkmcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdzaGFyZURpYWxvZycpLnNob3coKTtzaGFycnJlKCk7O30sZmk6JnF1b3Q7ZGF0YXNldEZvcm06dG9wRGF0YXNldEJsb2NrRnJhZ21lbnQmcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iU2hhcmUgRGF0YXNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXNoYXJlIj48L3NwYW4+IFNoYXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PGRpdiBpZD0iZGF0YXNldEZvcm06c2hhcmVEaWFsb2ciIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2hhcmVEaWFsb2dfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNoYXJlIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taW5mby1zaWduIj48L3NwYW4+IFNoYXJlIHRoaXMgZGF0YXNldCBvbiB5b3VyIGZhdm9yaXRlIHNvY2lhbCBtZWRpYSBuZXR3b3Jrcy48L3A+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNoYXJycmUtd2lkZ2V0IiBkYXRhLXVybD0iaHR0cHM6Ly9kYXRhdmVyc2UuaGFydmFyZC5lZHUvZGF0YXNldC54aHRtbD9wZXJzaXN0ZW50SWQ9ZG9pOjEwLjc5MTAvRFZOL05KN1hTTyIgZGF0YS10ZXh0PSJWaWV3IHRoaXMgZGF0YXNldC4iPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0iUEYoJ3NoYXJlRGlhbG9nJykuaGlkZSgpIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiB2YWx1ZT0iQ2xvc2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2hhcmVEaWFsb2dfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2hhcmVEaWFsb2ciLHtpZDoiZGF0YXNldEZvcm06c2hhcmVEaWFsb2ciLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJtZXRyaWNzLWJsb2NrIiBjbGFzcz0iY29sLXhzLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Im1ldHJpY3MtbGFiZWwiIGNsYXNzPSJjb2wteHMtNCBzbWFsbCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXN0YXRzIj48L3NwYW4+IE1ldHJpY3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtZXRyaWNzLWNvbnRlbnQiIGNsYXNzPSJjb2wteHMtOCBzbWFsbCB0ZXh0LWNlbnRlciI+PHNwYW4gY2xhc3M9Im1ldHJpY3MtZG93bmxvYWRzIj45MCBEb3dubG9hZHM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJkYXRhc2V0VmVyc2lvbkJsb2NrIiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj48ZGl2IGlkPSJ0aXRsZS1ibG9jayIgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEgdmNlbnRlciB0aXRsZS1wcmV2aWV3LWljb24tYmxvY2siPjxzcGFuIGNsYXNzPSJpY29uLWRhdGFzZXQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTEgdmNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJ0aXRsZSI+IFN1bW1hcnkgZGF0YSBhbmt5bG9zaW5nIHNwb25keWxpdGlzIEdXQVM8L3NwYW4+PHNwYW4gY2xhc3M9ImxhYmVsIGxhYmVsLWRlZmF1bHQiPlZlcnNpb24gMS4wPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJyb3cgY2l0YXRpb24tYmxvY2siPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy0xMiAgYWxlcnQgYWxlcnQtaW5mbyBiZy1jaXRhdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTcgY29sLW1kLTggY2l0YXRpb24iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjaXRhdGlvbi1zZWxlY3QiIG9uY2xpY2s9ImlmIChldmVudC50YXJnZXQpIHsgc2VsZWN0VGV4dChldmVudC50YXJnZXQpOyB9IGVsc2V7IHNlbGVjdFRleHQodGhpcyk7IH0iPkludGVybmF0aW9uYWwgR2VuZXRpY3Mgb2YgQW5reWxvc2luZyBTcG9uZHlsaXRpcyBDb25zb3J0aXVtIChJR0FTKSwgMjAxNywgIlN1bW1hcnkgZGF0YSBhbmt5bG9zaW5nIHNwb25keWxpdGlzIEdXQVMiLCA8YSBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNzkxMC9EVk4vTko3WFNPIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9kb2kub3JnLzEwLjc5MTAvRFZOL05KN1hTTzwvYT4sIEhhcnZhcmQgRGF0YXZlcnNlLCBWMQogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImNvbC1zbS01IGNvbC1tZC00IHRleHQtcmlnaHQgY2l0YXRpb24tZG93bmxvYWQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgZHJvcGRvd24tdG9nZ2xlIGRvd25sb2FkQ2l0YXRpb24iIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1saXN0Ij48L3NwYW4+IENpdGUgRGF0YXNldCA8c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBwdWxsLXJpZ2h0IHRleHQtbGVmdCIgcm9sZT0ibWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qc2YuanMueGh0bWw/bG49amF2YXguZmFjZXMiPjwvc2NyaXB0Pg0KPGEgaWQ9ImRhdGFzZXRGb3JtOmVuZE5vdGVMaW5rIiBocmVmPSIjIiBvbmNsaWNrPSJtb2phcnJhLmpzZmNsanMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGFzZXRGb3JtJykseydkYXRhc2V0Rm9ybTplbmROb3RlTGluayc6J2RhdGFzZXRGb3JtOmVuZE5vdGVMaW5rJ30sJycpO3JldHVybiBmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVuZE5vdGUgWE1MCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBpZD0iZGF0YXNldEZvcm06cmlzTGluayIgaHJlZj0iIyIgb25jbGljaz0ibW9qYXJyYS5qc2ZjbGpzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRhc2V0Rm9ybScpLHsnZGF0YXNldEZvcm06cmlzTGluayc6J2RhdGFzZXRGb3JtOnJpc0xpbmsnfSwnJyk7cmV0dXJuIGZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUklTCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBpZD0iZGF0YXNldEZvcm06YmliTGluayIgaHJlZj0iIyIgb25jbGljaz0ibW9qYXJyYS5qc2ZjbGpzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRhc2V0Rm9ybScpLHsnZGF0YXNldEZvcm06YmliTGluayc6J2RhdGFzZXRGb3JtOmJpYkxpbmsnfSwnX2JsYW5rJyk7cmV0dXJuIGZhbHNlIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJpYlRlWAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic21hbGwgdGV4dC1tdXRlZCB0ZXh0LXJpZ2h0IGNpdGF0aW9uLXN0YW5kYXJkcyI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taW5mby1zaWduIj48L3NwYW4+IExlYXJuIGFib3V0IDxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLm9yZy9iZXN0LXByYWN0aWNlcy9kYXRhLWNpdGF0aW9uIiB0aXRsZT0iRGF0YSBDaXRhdGlvbiAtIERhdGF2ZXJzZS5vcmciIHRhcmdldD0iX2JsYW5rIj5EYXRhIENpdGF0aW9uIFN0YW5kYXJkczwvYT4uPC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+PGRpdiBpZD0iZGF0YXNldC1zdW1tYXJ5LW1ldGFkYXRhIiBjbGFzcz0icm93IHBhbmVsIHBhbmVsLWRlZmF1bHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWJvZHkgbWV0YWRhdGEtcGFuZWwtYm9keSI+PGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfZHNEZXNjcmlwdGlvbiIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJBIHN1bW1hcnkgZGVzY3JpYmluZyB0aGUgcHVycG9zZSwgbmF0dXJlLCBhbmQgc2NvcGUgb2YgdGhlIERhdGFzZXQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD48ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlN1bW1hcnkgb2YgYXNzb2NpYXRpb24gdGVzdHMgZm9yIE5hdHVyZSBHZW5ldGljcyBwdWJsaWNhdGlvbiAiSWRlbnRpZmljYXRpb24gb2YgbXVsdGlwbGUgcmlzayB2YXJpYW50cyBmb3IgYW5reWxvc2luZyBzcG9uZHlsaXRpcyB0aHJvdWdoIGhpZ2gtZGVuc2l0eSBnZW5vdHlwaW5nIG9mIGltbXVuZS1yZWxhdGVkIGxvY2kiLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfc3ViamVjdCIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJEb21haW4tc3BlY2lmaWMgU3ViamVjdCBDYXRlZ29yaWVzIHRoYXQgYXJlIHRvcGljYWxseSByZWxldmFudCB0byB0aGUgRGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YmplY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+PGRpdiBjbGFzcz0iY29sLXNtLTkiPk1lZGljaW5lLCBIZWFsdGggYW5kIExpZmUgU2NpZW5jZXM8L2Rpdj48L2Rpdj48ZGl2IGlkPSJrZXl3b3JkcyIgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IktleSB0ZXJtcyB0aGF0IGRlc2NyaWJlIGltcG9ydGFudCBhc3BlY3RzIG9mIHRoZSBEYXRhc2V0LiI+S2V5d29yZDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij4gR2Vub21lLVdpZGUgQXNzb2NpYXRpb24gU3R1ZGllcywgQW5reWxvc2luZyBzcG9uZHlsaXRpczwvZGl2PjwvZGl2PjxkaXYgaWQ9InB1YmxpY2F0aW9uIiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iUHVibGljYXRpb25zIHRoYXQgdXNlIHRoZSBkYXRhIGZyb20gdGhpcyBEYXRhc2V0LiI+UmVsYXRlZCBQdWJsaWNhdGlvbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij4xMC4xMDM4L25nLjI2NjcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PSJfYmxhbmsiPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9ub3Rlc1RleHQiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iQWRkaXRpb25hbCBpbXBvcnRhbnQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIERhdGFzZXQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD48ZGl2IGNsYXNzPSJjb2wtc20tOSI+RXVyb3BlYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0OiBzdW1tYXJ5IGRhdGEgZm9yIEV1cm9wZWFuIGNvaG9ydCBBc2lhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQ6IHN1bW1hcnkgZGF0YSBmb3IgQXNpYW4gY29ob3J0IEV1cm9wZWFuX0FzaWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dDogc3VtbWFyeSBkYXRhIGZvciBjb21iaW5lZCBjb2hvcnQ8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJjb250ZW50VGFicyI+PGRpdiBpZD0iZGF0YXNldEZvcm06cGFnZVJlZnJlc2hGcmFnbWVudCI+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpkYXRhc2V0TG9ja2VkRm9yQW55UmVhc29uVmFyaWFibGUiIHR5cGU9ImhpZGRlbiIgbmFtZT0iZGF0YXNldEZvcm06ZGF0YXNldExvY2tlZEZvckFueVJlYXNvblZhcmlhYmxlIiB2YWx1ZT0iZmFsc2UiIC8+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpkYXRhc2V0U3RhdGVDaGFuZ2VkVmFyaWFibGUiIHR5cGU9ImhpZGRlbiIgbmFtZT0iZGF0YXNldEZvcm06ZGF0YXNldFN0YXRlQ2hhbmdlZFZhcmlhYmxlIiB2YWx1ZT0iZmFsc2UiIC8+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQ0OTQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+cmVmcmVzaEFsbExvY2tzQ29tbWFuZCA9IGZ1bmN0aW9uKCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOmpfaWR0NDk0IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06al9pZHQ0OTQiLHU6ImRhdGFzZXRGb3JtOnBhZ2VSZWZyZXNoRnJhZ21lbnQiLHBhOmFyZ3VtZW50c1swXSxmaToiZGF0YXNldEZvcm06cGFnZVJlZnJlc2hGcmFnbWVudCJ9KTt9PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQ0OTUiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+cmVmcmVzaEFsbENvbW1hbmQgPSBmdW5jdGlvbigpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDQ5NSIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOmpfaWR0NDk1Iix1OiJkYXRhc2V0Rm9ybTp0b3BEYXRhc2V0QmxvY2tGcmFnbWVudCBkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUgbWVzc2FnZVBhbmVsIixwYTphcmd1bWVudHNbMF0sZmk6ImRhdGFzZXRGb3JtOnBhZ2VSZWZyZXNoRnJhZ21lbnQifSk7fTwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOnJlZnJlc2hCdXR0b24iIG5hbWU9ImRhdGFzZXRGb3JtOnJlZnJlc2hCdXR0b24iIGNsYXNzPSIiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06cmVmcmVzaEJ1dHRvbiZxdW90OyxwOiZxdW90O2RhdGFzZXRGb3JtOnJlZnJlc2hCdXR0b24mcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybTp0b3BEYXRhc2V0QmxvY2tGcmFnbWVudCBkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUgbWVzc2FnZVBhbmVsJnF1b3Q7LGZpOiZxdW90O2RhdGFzZXRGb3JtOnBhZ2VSZWZyZXNoRnJhZ21lbnQmcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiBzdHlsZT0iZGlzcGxheTpub25lIiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj51aS1idXR0b248L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06cmVmcmVzaEJ1dHRvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJyZWZyZXNoQnV0dG9uIix7aWQ6ImRhdGFzZXRGb3JtOnJlZnJlc2hCdXR0b24ifSk7PC9zY3JpcHQ+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVhZHkoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoSWZTdGlsbExvY2tlZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiByZWZyZXNoSWZTdGlsbExvY2tlZCgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQoJ2lucHV0W2lkJD0iZGF0YXNldExvY2tlZEZvckFueVJlYXNvblZhcmlhYmxlIl0nKS52YWwoKSA9PT0gJ3RydWUnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBkYXRhc2V0IGlzIGxvY2tlZCwgaW5zdHJ1Y3QgdGhlIHBhZ2UgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdhaXQgYW5kIGNoZWNrIGFnYWluOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FpdEFuZENoZWNrTG9ja0FnYWluKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBub3QgbG9ja2VkLCBoYXMgaXQganVzdCBiZWVuIHVubG9ja2VkPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQoJ2lucHV0W2lkJD0iZGF0YXNldFN0YXRlQ2hhbmdlZFZhcmlhYmxlIl0nKS52YWwoKSA9PT0gJ3RydWUnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9yIHdoYXRldmVyIHVua25vd24gUHJpbWVGYWNlcyByZWFzb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgcGFnZSBuZWVkcyB0byBiZSByZWZyZXNoZWQgdHdpY2UsIGZvciBhbGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgcHVsbCBkb3duIG1lbnVzIHRvIHVwZGF0ZSBwcm9wZXJseToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoQWxsQ29tbWFuZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFlvdSBjYW4ndCBqdXN0IHJ1biAyIHJlZnJlc2hBbGxDb21tYW5kKClzIGluIGEgcm93CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZWl0aGVyOyBiZWNhdXNlIHRoZSBjb21tYW5kIGhhcyBhbiAidXBkYXRlPUBhbGwiIG9uIGl0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvIEkgZ3Vlc3MgaWYgeW91IHRyeSB0byBleGVjdXRlIHRoZSAybmQgb25lIHJpZ2h0IGFmdGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGZpcnN0IG9uZSwgdGhpcyBmcmFnbWVudCBpcyBzdGlsbCBnb2luZyB0byBiZSBsb2FkaW5nIC0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzbyB0aGVyZSB3b3VsZCBub3QgeWV0IGJlIGEgY29tbWFuZCB0byBydW4hIChpdCBuZWVkcyB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJlIHJlbmRlcmVkLCBiZWZvcmUgeW91IGNhbiBleGVjdXRlIGl0LCB0aGF0IGlzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIGJ1dHRvbiBkb2Vzbid0IGRvIGFueXRoaW5nLCBidXQgaXQgaGFzIGFuIHVwZGF0ZT0iQGFsbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYXR0cmlidXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCdidXR0b25baWQkPSJyZWZyZXNoQnV0dG9uIl0nKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3JlZnJlc2hBbGxDb21tYW5kKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTUwMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHdhaXRBbmRDaGVja0xvY2tBZ2FpbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZWZyZXNoIHRoZSBsb2NrIGluIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmFja2luZyBiZWFuOyBpLmUuLCBjaGVjaywgaWYgdGhlIGluZ2VzdCBoYXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFscmVhZHkgY29tcGxldGVkIGluIHRoZSBiYWNrZ3JvdW5kOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8kKCdidXR0b25baWQkPSJyZWZyZXNoQnV0dG9uIl0nKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9yZWZyZXNoTG9ja0NvbW1hbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hBbGxMb2Nrc0NvbW1hbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTAwMDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXciIGNsYXNzPSJ1aS10YWJzIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLWhpZGRlbi1jb250YWluZXIgdWktdGFicy10b3AiIGRhdGEtd2lkZ2V0PSJjb250ZW50Ij48dWwgY2xhc3M9InVpLXRhYnMtbmF2IHVpLWhlbHBlci1yZXNldCB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1hbGwiIHJvbGU9InRhYmxpc3QiPjxsaSBjbGFzcz0idWktdGFicy1oZWFkZXIgdWktc3RhdGUtZGVmYXVsdCB1aS10YWJzLXNlbGVjdGVkIHVpLXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIiByb2xlPSJ0YWIiIGFyaWEtZXhwYW5kZWQ9InRydWUiIGFyaWEtc2VsZWN0ZWQ9InRydWUiIGRhdGEtaW5kZXg9IjAiPjxhIGhyZWY9IiNkYXRhc2V0Rm9ybTp0YWJWaWV3OmRhdGFGaWxlc1RhYiIgdGFiaW5kZXg9Ii0xIj5GaWxlczwvYT48L2xpPjxsaSBjbGFzcz0idWktdGFicy1oZWFkZXIgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItdG9wIiByb2xlPSJ0YWIiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgZGF0YS1pbmRleD0iMSI+PGEgaHJlZj0iI2RhdGFzZXRGb3JtOnRhYlZpZXc6bWV0YWRhdGFNYXBUYWIiIHRhYmluZGV4PSItMSI+TWV0YWRhdGE8L2E+PC9saT48bGkgY2xhc3M9InVpLXRhYnMtaGVhZGVyIHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLXRvcCIgcm9sZT0idGFiIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGRhdGEtaW5kZXg9IjIiPjxhIGhyZWY9IiNkYXRhc2V0Rm9ybTp0YWJWaWV3OnRlcm1zVGFiIiB0YWJpbmRleD0iLTEiPlRlcm1zPC9hPjwvbGk+PGxpIGNsYXNzPSJ1aS10YWJzLWhlYWRlciB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AiIHJvbGU9InRhYiIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBkYXRhLWluZGV4PSIzIj48YSBocmVmPSIjZGF0YXNldEZvcm06dGFiVmlldzp2ZXJzaW9uc1RhYiIgdGFiaW5kZXg9Ii0xIj5WZXJzaW9uczwvYT48L2xpPjwvdWw+PGRpdiBjbGFzcz0idWktdGFicy1wYW5lbHMiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZGF0YUZpbGVzVGFiIiBjbGFzcz0idWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIiByb2xlPSJ0YWJwYW5lbCIgYXJpYS1oaWRkZW49ImZhbHNlIiBkYXRhLWluZGV4PSIwIj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmpfaWR0Nzk0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnJlZnJlc2hQYWdpbmF0b3IgPSBmdW5jdGlvbigpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmpfaWR0Nzk0IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpqX2lkdDc5NCIsdToiZGF0YXNldEZvcm0iLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiIGNsYXNzPSJ1aS1kYXRhdGFibGUgdWktd2lkZ2V0IiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjFweDsiPjxkaXYgY2xhc3M9InVpLWRhdGF0YWJsZS1oZWFkZXIgdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItdG9wIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6ZmlsZXNIZWFkZXJCbG9jayIgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtNiI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOnNlYXJjaEZpbGVzIiBuYW1lPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6c2VhcmNoRmlsZXMiIHR5cGU9InRleHQiIG9ua2V5cHJlc3M9ImlmIChldmVudC5rZXlDb2RlID09IDEzKSB7IHN1Ym1pdHNlYXJjaCgpOyByZXR1cm4gZmFsc2U7IH0iIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dCB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIGZvcm0tY29udHJvbCIgLz48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6c2VhcmNoRmlsZXNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJJbnB1dFRleHQiLCJpbnB1dFNlYXJjaFRlcm0iLHtpZDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOnNlYXJjaEZpbGVzIn0pOzwvc2NyaXB0PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDgwMl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJXYXRlcm1hcmsiLCJ3aWRnZXRfZGF0YXNldEZvcm1fdGFiVmlld19maWxlc1RhYmxlX2pfaWR0ODAyIix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDgwMiIsdmFsdWU6IlNlYXJjaCB0aGlzIGRhdGFzZXQuLi4iLHRhcmdldDoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOnNlYXJjaEZpbGVzIn0pO30pOzwvc2NyaXB0PjxpbnB1dCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOnNob3dBY2Nlc3NQb3B1cCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6c2hvd0FjY2Vzc1BvcHVwIiB2YWx1ZT0iZmFsc2UiIC8+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0ODAzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnN1Ym1pdHNlYXJjaCA9IGZ1bmN0aW9uKCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDgwMyIsZjoiZGF0YXNldEZvcm0iLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDgwMyBAd2lkZ2V0VmFyKGlucHV0U2VhcmNoVGVybSkiLHU6ImRhdGFzZXRGb3JtIixwczp0cnVlLHBhOmFyZ3VtZW50c1swXX0pO308L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbnB1dC1ncm91cC1idG4iPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ4MDUiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDgwNSZxdW90OyxwOiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDgwNSBAd2lkZ2V0VmFyKGlucHV0U2VhcmNoVGVybSkmcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybSZxdW90Oyxwczp0cnVlfSk7cmV0dXJuIGZhbHNlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tc2VhcmNoIj48L3NwYW4+IEZpbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbi1ib3R0b206NnB4OyI+PGRpdiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmZpbGVzSGVhZGVyQ291bnQiIGNsYXNzPSJjb2wteHMtMyB0ZXh0LWxlZnQiPjxzcGFuIGNsYXNzPSJoaWdobGlnaHRCb2xkIj4xIHRvIDMgb2YgMyBGaWxlczwvc3Bhbj48L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJmaWxlc0J1dHRvbnMiIGNsYXNzPSJjb2wteHMtOSI+PGRpdiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOnVwbG9hZENvbXB1dGVCbG9jayIgY2xhc3M9InB1bGwtcmlnaHQiPjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InVpLWRhdGF0YWJsZS10YWJsZXdyYXBwZXIiPjx0YWJsZSByb2xlPSJncmlkIj48dGhlYWQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9oZWFkIj48dHIgcm9sZT0icm93Ij48dGggaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDgzMSIgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgdWktc2VsZWN0aW9uLWNvbHVtbiB0ZXh0LWNlbnRlciIgcm9sZT0iY29sdW1uaGVhZGVyIiBzY29wZT0iY29sIiBzdHlsZT0id2lkdGg6MjBweCAhaW1wb3J0YW50OyI+PHNwYW4gY2xhc3M9InVpLWNvbHVtbi10aXRsZSI+PC9zcGFuPjxkaXYgY2xhc3M9InVpLWNoa2JveCB1aS1jaGtib3gtYWxsIHVpLXdpZGdldCI+PGRpdiBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9jaGVja2JveCIgYXJpYS1sYWJlbD0iU2VsZWN0IEFsbCIgYXJpYS1jaGVja2VkPSJmYWxzZSIgLz48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1jaGtib3gtYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1jaGtib3gtaWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ4MzIiIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IGNvbC1maWxlLXRodW1iIiByb2xlPSJjb2x1bW5oZWFkZXIiIHNjb3BlPSJjb2wiIHN0eWxlPSJ3aWR0aDo2NHB4ICFpbXBvcnRhbnQ7Ij48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj48L3NwYW4+PC90aD48dGggaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDg0NCIgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgY29sLWZpbGUtbWV0YWRhdGEiIHJvbGU9ImNvbHVtbmhlYWRlciIgc2NvcGU9ImNvbCI+PHNwYW4gY2xhc3M9InVpLWNvbHVtbi10aXRsZSI+PC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6al9pZHQ4NjIiIGNsYXNzPSJ1aS1zdGF0ZS1kZWZhdWx0IGNvbC1maWxlLWFjdGlvbiB0ZXh0LXJpZ2h0ICIgcm9sZT0iY29sdW1uaGVhZGVyIiBzY29wZT0iY29sIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6ZG93bmxvYWRCdXR0b25CbG9ja05vcm1hbCIgY2xhc3M9ImJ0bi1ncm91cCI+PGEgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTpqX2lkdDg4MSIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOmpfaWR0ODgxJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1kb3dubG9hZC1hbHQiPjwvc3Bhbj4gRG93bmxvYWQKICAgICAgICAgICAgICAgICAgICA8L2E+PC9kaXY+PC9zcGFuPjwvdGg+PC90cj48L3RoZWFkPjx0Ym9keSBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlX2RhdGEiIGNsYXNzPSJ1aS1kYXRhdGFibGUtZGF0YSB1aS13aWRnZXQtY29udGVudCI+PHRyIGRhdGEtcmk9IjAiIGRhdGEtcms9InMzOi8vZHZuLWNsb3VkOjE1ZWQ1N2E2NTJlLTY3Mjg0YTM3MmMyOSIgY2xhc3M9InVpLXdpZGdldC1jb250ZW50IHVpLWRhdGF0YWJsZS1ldmVuIHVpLWRhdGF0YWJsZS1zZWxlY3RhYmxlIiByb2xlPSJyb3ciIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj48dGQgcm9sZT0iZ3JpZGNlbGwiIHN0eWxlPSJ3aWR0aDoyMHB4ICFpbXBvcnRhbnQ7IiBjbGFzcz0idWktc2VsZWN0aW9uLWNvbHVtbiB0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0idWktY2hrYm94IHVpLXdpZGdldCI+PGRpdiBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9jaGVja2JveCIgYXJpYS1jaGVja2VkPSJmYWxzZSIgLz48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1jaGtib3gtYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1jaGtib3gtaWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBzdHlsZT0id2lkdGg6NjRweCAhaW1wb3J0YW50OyIgY2xhc3M9ImNvbC1maWxlLXRodW1iIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsLWJsb2NrIHRleHQtY2VudGVyIj48c3BhbiBjbGFzcz0iaWNvbi1kb2N1bWVudCBmaWxlLXRodW1ibmFpbC1pY29uIHRleHQtbXV0ZWQiPjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+PC90ZD48dGQgcm9sZT0iZ3JpZGNlbGwiIGNsYXNzPSJjb2wtZmlsZS1tZXRhZGF0YSI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9maWxlLnhodG1sP3BlcnNpc3RlbnRJZD1kb2k6MTAuNzkxMC9EVk4vTko3WFNPL0szTlJNTyZhbXA7dmVyc2lvbj0xLjAiPgogICAgICAgICAgICAgICAgICAgIEFzaWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dAogICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtbXV0ZWQgc21hbGwiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlVHlwZU91dHB1dFJlZ3VsYXIiPlBsYWluIFRleHQ8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmZpbGVTaXplIj4gLSAxMS4wIE1CPC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpmaWxlQ3JlYXRlUHVibGlzaERhdGUiPiAtIFNlcCAzMCwgMjAxNzwvc3Bhbj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6ZmlsZURvd25sb2FkQ291bnQiPiAtIDI5IERvd25sb2Fkczwvc3Bhbj48ZGl2IGNsYXNzPSJjaGVja3N1bS1ibG9jayI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmZpbGUtY2hlY2tzdW0iPk1ENTogYmNjMDZhZWJmOTZjOTU0MDk5NTE5MmM4OWM5MWZiMjM8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImZpbGVEZXNjcmlwdGlvbiBzbWFsbCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZTowOmZpbGVEZXNjTm9uRW1wdHkiPlN1bW1hcnkgZGF0YSBmb3IgQXNpYW4gY29ob3J0PC9zcGFuPjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0iY29sLWZpbGUtYWN0aW9uIHRleHQtcmlnaHQgIj48ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpqX2lkdDk0NSIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjA6al9pZHQ5NDUmcXVvdDsscDomcXVvdDtkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MDpqX2lkdDk0NSZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZG93bmxvYWQtYWx0Ij48L3NwYW4+IERvd25sb2FkCiAgICA8L2E+PC9kaXY+PC90ZD48L3RyPjx0ciBkYXRhLXJpPSIxIiBkYXRhLXJrPSJzMzovL2R2bi1jbG91ZDoxNWVkNTdhODdiOS05OWFiYzE2MmI0NTgiIGNsYXNzPSJ1aS13aWRnZXQtY29udGVudCB1aS1kYXRhdGFibGUtb2RkIHVpLWRhdGF0YWJsZS1zZWxlY3RhYmxlIiByb2xlPSJyb3ciIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj48dGQgcm9sZT0iZ3JpZGNlbGwiIHN0eWxlPSJ3aWR0aDoyMHB4ICFpbXBvcnRhbnQ7IiBjbGFzcz0idWktc2VsZWN0aW9uLWNvbHVtbiB0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0idWktY2hrYm94IHVpLXdpZGdldCI+PGRpdiBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9jaGVja2JveCIgYXJpYS1jaGVja2VkPSJmYWxzZSIgLz48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1jaGtib3gtYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1jaGtib3gtaWNvbiB1aS1pY29uIHVpLWljb24tYmxhbmsgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBzdHlsZT0id2lkdGg6NjRweCAhaW1wb3J0YW50OyIgY2xhc3M9ImNvbC1maWxlLXRodW1iIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGh1bWJuYWlsLWJsb2NrIHRleHQtY2VudGVyIj48c3BhbiBjbGFzcz0iaWNvbi1kb2N1bWVudCBmaWxlLXRodW1ibmFpbC1pY29uIHRleHQtbXV0ZWQiPjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+PC90ZD48dGQgcm9sZT0iZ3JpZGNlbGwiIGNsYXNzPSJjb2wtZmlsZS1tZXRhZGF0YSI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9maWxlLnhodG1sP3BlcnNpc3RlbnRJZD1kb2k6MTAuNzkxMC9EVk4vTko3WFNPL0hBMlNWUiZhbXA7dmVyc2lvbj0xLjAiPgogICAgICAgICAgICAgICAgICAgIEV1cm9wZWFuX0FzaWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dAogICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtbXV0ZWQgc21hbGwiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlVHlwZU91dHB1dFJlZ3VsYXIiPlBsYWluIFRleHQ8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGVTaXplIj4gLSAxMC43IE1CPC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpmaWxlQ3JlYXRlUHVibGlzaERhdGUiPiAtIFNlcCAzMCwgMjAxNzwvc3Bhbj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6ZmlsZURvd25sb2FkQ291bnQiPiAtIDIzIERvd25sb2Fkczwvc3Bhbj48ZGl2IGNsYXNzPSJjaGVja3N1bS1ibG9jayI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGUtY2hlY2tzdW0iPk1ENTogMGFlN2I0NjM5NjI2ZWJhZDZhYjc3ZjU0YmZjZmRkNmQ8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjxkaXYgY2xhc3M9ImZpbGVEZXNjcmlwdGlvbiBzbWFsbCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToxOmZpbGVEZXNjTm9uRW1wdHkiPlN1bW1hcnkgZGF0YSBmb3IgY29tYmluZWQgY29ob3J0PC9zcGFuPjwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0iY29sLWZpbGUtYWN0aW9uIHRleHQtcmlnaHQgIj48ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPjxhIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpqX2lkdDk0NSIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjE6al9pZHQ5NDUmcXVvdDsscDomcXVvdDtkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MTpqX2lkdDk0NSZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZG93bmxvYWQtYWx0Ij48L3NwYW4+IERvd25sb2FkCiAgICA8L2E+PC9kaXY+PC90ZD48L3RyPjx0ciBkYXRhLXJpPSIyIiBkYXRhLXJrPSJzMzovL2R2bi1jbG91ZDoxNWVkNTdhYWI3ZS05MGEyYjZjMTEyZWIiIGNsYXNzPSJ1aS13aWRnZXQtY29udGVudCB1aS1kYXRhdGFibGUtZXZlbiB1aS1kYXRhdGFibGUtc2VsZWN0YWJsZSIgcm9sZT0icm93IiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+PHRkIHJvbGU9ImdyaWRjZWxsIiBzdHlsZT0id2lkdGg6MjBweCAhaW1wb3J0YW50OyIgY2xhc3M9InVpLXNlbGVjdGlvbi1jb2x1bW4gdGV4dC1jZW50ZXIiPjxkaXYgY2xhc3M9InVpLWNoa2JveCB1aS13aWRnZXQiPjxkaXYgY2xhc3M9InVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGVfY2hlY2tib3giIGFyaWEtY2hlY2tlZD0iZmFsc2UiIC8+PC9kaXY+PGRpdiBjbGFzcz0idWktY2hrYm94LWJveCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kZWZhdWx0Ij48c3BhbiBjbGFzcz0idWktY2hrYm94LWljb24gdWktaWNvbiB1aS1pY29uLWJsYW5rIHVpLWMiPjwvc3Bhbj48L2Rpdj48L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgc3R5bGU9IndpZHRoOjY0cHggIWltcG9ydGFudDsiIGNsYXNzPSJjb2wtZmlsZS10aHVtYiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRodW1ibmFpbC1ibG9jayB0ZXh0LWNlbnRlciI+PHNwYW4gY2xhc3M9Imljb24tZG9jdW1lbnQgZmlsZS10aHVtYm5haWwtaWNvbiB0ZXh0LW11dGVkIj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PjwvdGQ+PHRkIHJvbGU9ImdyaWRjZWxsIiBjbGFzcz0iY29sLWZpbGUtbWV0YWRhdGEiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8YSBocmVmPSIvZmlsZS54aHRtbD9wZXJzaXN0ZW50SWQ9ZG9pOjEwLjc5MTAvRFZOL05KN1hTTy9JTjQ1R1omYW1wO3ZlcnNpb249MS4wIj4KICAgICAgICAgICAgICAgICAgICBFdXJvcGVhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQKICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LW11dGVkIHNtYWxsIj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjI6ZmlsZVR5cGVPdXRwdXRSZWd1bGFyIj5QbGFpbiBUZXh0PC9zcGFuPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlU2l6ZSI+IC0gMTIuNyBNQjwvc3Bhbj48c3BhbiBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjI6ZmlsZUNyZWF0ZVB1Ymxpc2hEYXRlIj4gLSBTZXAgMzAsIDIwMTc8L3NwYW4+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmZpbGVEb3dubG9hZENvdW50Ij4gLSAzOCBEb3dubG9hZHM8L3NwYW4+PGRpdiBjbGFzcz0iY2hlY2tzdW0tYmxvY2siPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlLWNoZWNrc3VtIj5NRDU6IDg3NmJiM2I2MDA0NjBmZGJmYWJjMDFlYjA4YzQxNDk3PC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJmaWxlRGVzY3JpcHRpb24gc21hbGwiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGU6MjpmaWxlRGVzY05vbkVtcHR5Ij5TdW1tYXJ5IGRhdGEgZm9yIEV1cm9wZWFuIGNvaG9ydDwvc3Bhbj48L2Rpdj48L3RkPjx0ZCByb2xlPSJncmlkY2VsbCIgY2xhc3M9ImNvbC1maWxlLWFjdGlvbiB0ZXh0LXJpZ2h0ICI+PGRpdiBjbGFzcz0iYnRuLWdyb3VwIj48YSBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjI6al9pZHQ5NDUiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZToyOmpfaWR0OTQ1JnF1b3Q7LHA6JnF1b3Q7ZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlOjI6al9pZHQ5NDUmcXVvdDt9KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJidXR0b24iPgogICAgICAgIAogICAgICAgIAogICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWRvd25sb2FkLWFsdCI+PC9zcGFuPiBEb3dubG9hZAogICAgPC9hPjwvZGl2PjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9zZWxlY3Rpb24iIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9zZWxlY3Rpb24iIGF1dG9jb21wbGV0ZT0ib2ZmIiB2YWx1ZT0iIiAvPjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEYXRhVGFibGUiLCJmaWxlc1RhYmxlIix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsc2VsZWN0aW9uTW9kZToiY2hlY2tib3giLGdyb3VwQ29sdW1uSW5kZXhlczpbXSxiZWhhdmlvcnM6e3Jvd1Vuc2VsZWN0OmZ1bmN0aW9uKGV4dCxldmVudCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsZToicm93VW5zZWxlY3QiLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsdToiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIn0sZXh0KTt9LHJvd1Vuc2VsZWN0Q2hlY2tib3g6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJyb3dVbnNlbGVjdENoZWNrYm94IixwOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSJ9LGV4dCk7fSxyb3dEYmxzZWxlY3Q6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJyb3dEYmxzZWxlY3QiLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsdToiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIn0sZXh0KTt9LHBhZ2U6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJwYWdlIixwOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe3JlZnJlc2hQYWdpbmF0b3IoKTt9fSxleHQpO30scm93U2VsZWN0OmZ1bmN0aW9uKGV4dCxldmVudCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsZToicm93U2VsZWN0IixwOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUiLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSJ9LGV4dCk7fSx0b2dnbGVTZWxlY3Q6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIixlOiJ0b2dnbGVTZWxlY3QiLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsdToiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIn0sZXh0KTt9LHJvd1NlbGVjdENoZWNrYm94OmZ1bmN0aW9uKGV4dCxldmVudCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsZToicm93U2VsZWN0Q2hlY2tib3giLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXc6ZmlsZXNUYWJsZSIsdToiZGF0YXNldEZvcm06dGFiVmlldzpmaWxlc1RhYmxlIn0sZXh0KTt9fX0pO30pOzwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6bWV0YWRhdGFNYXBUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktaGVscGVyLWhpZGRlbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRhLWluZGV4PSIxIj48ZGl2IGNsYXNzPSJidXR0b24tYmxvY2sgdGFiLWhlYWRlciBtYXJnaW4tYm90dG9tIHRleHQtcmlnaHQiPjxkaXYgY2xhc3M9ImJ0bi1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgZHJvcGRvd24tdG9nZ2xlIiB0eXBlPSJidXR0b24iIHN0eWxlQ2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leHBvcnQiPjwvc3Bhbj4gRXhwb3J0IE1ldGFkYXRhIDxzcGFuIGNsYXNzPSJjYXJldCI+PC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IiByb2xlPSJtZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD04ZjM5NGE2Y2EwZGRkMWU0ZjU0YzJkYTIxYmM2P2V4cG9ydGVyPWRjdGVybXMmYW1wO3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwL0RWTi9OSjdYU08iIHRhcmdldD0iX2JsYW5rIj5EdWJsaW4gQ29yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD04ZjM5NGE2Y2EwZGRkMWU0ZjU0YzJkYTIxYmM2P2V4cG9ydGVyPWRkaSZhbXA7cGVyc2lzdGVudElkPWRvaSUzQTEwLjc5MTAvRFZOL05KN1hTTyIgdGFyZ2V0PSJfYmxhbmsiPkRESTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD04ZjM5NGE2Y2EwZGRkMWU0ZjU0YzJkYTIxYmM2P2V4cG9ydGVyPWRhdGF2ZXJzZV9qc29uJmFtcDtwZXJzaXN0ZW50SWQ9ZG9pJTNBMTAuNzkxMC9EVk4vTko3WFNPIiB0YXJnZXQ9Il9ibGFuayI+SlNPTjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vZGF0YXZlcnNlLmhhcnZhcmQuZWR1L2FwaS9kYXRhc2V0cy9leHBvcnQ7anNlc3Npb25pZD04ZjM5NGE2Y2EwZGRkMWU0ZjU0YzJkYTIxYmM2P2V4cG9ydGVyPXNjaGVtYS5vcmcmYW1wO3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwL0RWTi9OSjdYU08iIHRhcmdldD0iX2JsYW5rIj5TY2hlbWEub3JnIEpTT04tTEQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InBhbmVsLWdyb3VwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwgcGFuZWwtZGVmYXVsdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNwYW5lbENvbGxhcHNlMCIgY2xhc3M9InBhbmVsLWhlYWRpbmcgdGV4dC1pbmZvIj4KICAgICAgICAgICAgICAgICAgICBDaXRhdGlvbiBNZXRhZGF0YSDCoDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWNoZXZyb24tdXAiPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0icGFuZWxDb2xsYXBzZTAiIGNsYXNzPSJjb2xsYXBzZSBpbiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSBtZXRhZGF0YS1wYW5lbC1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX3BlcnNpc3RlbnRJZCIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgdW5pcXVlIHBlcnNpc3RlbnQgaWRlbnRpZmllciBmb3IgYSBkYXRhc2V0LCB3aGljaCBjYW4gYmUgYSBIYW5kbGUgb3IgRE9JIGluIERhdGF2ZXJzZS4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YXNldCBQZXJzaXN0ZW50IElECiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9pOjEwLjc5MTAvRFZOL05KN1hTTwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfcHVibGljYXRpb25EYXRlIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IlRoZSBwdWJsaWNhdGlvbiBkYXRlIG9mIGEgZGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljYXRpb24gRGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMTctMDktMzAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX3RpdGxlIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IkZ1bGwgdGl0bGUgYnkgd2hpY2ggdGhlIERhdGFzZXQgaXMga25vd24uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpdGxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPjxkaXYgY2xhc3M9ImNvbC1zbS05Ij5TdW1tYXJ5IGRhdGEgYW5reWxvc2luZyBzcG9uZHlsaXRpcyBHV0FTPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX2F1dGhvciIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgcGVyc29uKHMpLCBjb3Jwb3JhdGUgYm9keShpZXMpLCBvciBhZ2VuY3koaWVzKSByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIHdvcmsuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD48ZGl2IGNsYXNzPSJjb2wtc20tOSI+SW50ZXJuYXRpb25hbCBHZW5ldGljcyBvZiBBbmt5bG9zaW5nIFNwb25keWxpdGlzIENvbnNvcnRpdW0gKElHQVMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfZGF0YXNldENvbnRhY3QiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVGhlIGNvbnRhY3QocykgZm9yIHRoaXMgRGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGFjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD48ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taW5mby1zaWduIj48L3NwYW4+IFVzZSBlbWFpbCBidXR0b24gYWJvdmUgdG8gY29udGFjdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5MaSwgWmhpeGl1IChRVVQpIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX2RzRGVzY3JpcHRpb24iIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iQSBzdW1tYXJ5IGRlc2NyaWJpbmcgdGhlIHB1cnBvc2UsIG5hdHVyZSwgYW5kIHNjb3BlIG9mIHRoZSBEYXRhc2V0LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD48ZGl2IGNsYXNzPSJjb2wtc20tOSI+U3VtbWFyeSBvZiBhc3NvY2lhdGlvbiB0ZXN0cyBmb3IgTmF0dXJlIEdlbmV0aWNzIHB1YmxpY2F0aW9uICJJZGVudGlmaWNhdGlvbiBvZiBtdWx0aXBsZSByaXNrIHZhcmlhbnRzIGZvciBhbmt5bG9zaW5nIHNwb25keWxpdGlzIHRocm91Z2ggaGlnaC1kZW5zaXR5IGdlbm90eXBpbmcgb2YgaW1tdW5lLXJlbGF0ZWQgbG9jaSIuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfc3ViamVjdCIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJEb21haW4tc3BlY2lmaWMgU3ViamVjdCBDYXRlZ29yaWVzIHRoYXQgYXJlIHRvcGljYWxseSByZWxldmFudCB0byB0aGUgRGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3ViamVjdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD48ZGl2IGNsYXNzPSJjb2wtc20tOSI+TWVkaWNpbmUsIEhlYWx0aCBhbmQgTGlmZSBTY2llbmNlczwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9rZXl3b3JkIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IktleSB0ZXJtcyB0aGF0IGRlc2NyaWJlIGltcG9ydGFudCBhc3BlY3RzIG9mIHRoZSBEYXRhc2V0LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLZXl3b3JkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPjxkaXYgY2xhc3M9ImNvbC1zbS05Ij5HZW5vbWUtV2lkZSBBc3NvY2lhdGlvbiBTdHVkaWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5Bbmt5bG9zaW5nIHNwb25keWxpdGlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfcHVibGljYXRpb24iIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iUHVibGljYXRpb25zIHRoYXQgdXNlIHRoZSBkYXRhIGZyb20gdGhpcyBEYXRhc2V0LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxhdGVkIFB1YmxpY2F0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPjxkaXYgY2xhc3M9ImNvbC1zbS05Ij4xMC4xMDM4L25nLjI2NjcgZG9pOiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9ub3Rlc1RleHQiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iQWRkaXRpb25hbCBpbXBvcnRhbnQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIERhdGFzZXQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPjxkaXYgY2xhc3M9ImNvbC1zbS05Ij5FdXJvcGVhbl9DYXNlX0NvbnRyb2xfUmVzdWx0cy50eHQ6IHN1bW1hcnkgZGF0YSBmb3IgRXVyb3BlYW4gY29ob3J0IEFzaWFuX0Nhc2VfQ29udHJvbF9SZXN1bHRzLnR4dDogc3VtbWFyeSBkYXRhIGZvciBBc2lhbiBjb2hvcnQgRXVyb3BlYW5fQXNpYW5fQ2FzZV9Db250cm9sX1Jlc3VsdHMudHh0OiBzdW1tYXJ5IGRhdGEgZm9yIGNvbWJpbmVkIGNvaG9ydDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9kZXBvc2l0b3IiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVGhlIHBlcnNvbiAoRmFtaWx5IE5hbWUsIEdpdmVuIE5hbWUpIG9yIHRoZSBuYW1lIG9mIHRoZSBvcmdhbml6YXRpb24gdGhhdCBkZXBvc2l0ZWQgdGhpcyBEYXRhc2V0IHRvIHRoZSByZXBvc2l0b3J5LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXBvc2l0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+PGRpdiBjbGFzcz0iY29sLXNtLTkiPkxpLCBaaGl4aXU8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfZGF0ZU9mRGVwb3NpdCIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJEYXRlIHRoYXQgdGhlIERhdGFzZXQgd2FzIGRlcG9zaXRlZCBpbnRvIHRoZSByZXBvc2l0b3J5LiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXBvc2l0IERhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+PGRpdiBjbGFzcz0iY29sLXNtLTkiPjIwMTctMDktMzA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dGVybXNUYWIiIGNsYXNzPSJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20gdWktaGVscGVyLWhpZGRlbiIgcm9sZT0idGFicGFuZWwiIGFyaWEtaGlkZGVuPSJ0cnVlIiBkYXRhLWluZGV4PSIyIj4KICAgIDxkaXYgY2xhc3M9InBhbmVsLWdyb3VwIj4KICAgICAgIDxkaXYgY2xhc3M9InBhbmVsIHBhbmVsLWRlZmF1bHQiPgogICAgICAgICAgIDxkaXYgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI3BhbmVsQ29sbGFwc2VUT1UiIGNsYXNzPSJwYW5lbC1oZWFkaW5nIHRleHQtaW5mbyI+CiAgICAgICAgICAgICAgIFRlcm1zIG9mIFVzZSDCoDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWNoZXZyb24tdXAiPjwvc3Bhbj4KICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICA8ZGl2IGlkPSJwYW5lbENvbGxhcHNlVE9VIiBjbGFzcz0iY29sbGFwc2UgaW4iPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dG91RnJhZ21lbnQiPgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1ldGFkYXRhX1Rlcm1zIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJUaGUgd2FpdmVyIGluZm9ybXMgZGF0YSBkb3dubG9hZGVycyBob3cgdGhleSBjYW4gdXNlIHRoaXMgZGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdhaXZlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPk91ciA8YSBocmVmPSJodHRwczovL2RhdGF2ZXJzZS5vcmcvYmVzdC1wcmFjdGljZXMvZGF0YXZlcnNlLWNvbW11bml0eS1ub3JtcyIgdGl0bGU9IkRhdGF2ZXJzZSBDb21tdW5pdHkgTm9ybXMgLSBEYXRhdmVyc2Uub3JnIiB0YXJnZXQ9Il9ibGFuayI+Q29tbXVuaXR5IE5vcm1zPC9hPiBhcyB3ZWxsIGFzIGdvb2Qgc2NpZW50aWZpYyBwcmFjdGljZXMgZXhwZWN0IHRoYXQgcHJvcGVyIGNyZWRpdCBpcyBnaXZlbiB2aWEgY2l0YXRpb24uIFBsZWFzZSB1c2UgdGhlIGRhdGEgY2l0YXRpb24gYWJvdmUsIGdlbmVyYXRlZCBieSB0aGUgRGF0YXZlcnNlLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5DQzAgLSAiUHVibGljIERvbWFpbiBEZWRpY2F0aW9uIiA8aW1nIHNyYz0iL3Jlc291cmNlcy9pbWFnZXMvY2MwLnBuZyIgYWx0PSJDQzAiIGNsYXNzPSJ3YWl2ZXItQ0MwLWlubGluZSIgLz48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICA8L2Rpdj48ZGl2IGNsYXNzPSJwYW5lbCBwYW5lbC1kZWZhdWx0Ij4KICAgICAgICAgICA8ZGl2IGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNwYW5lbENvbGxhcHNlR3Vlc3Rib29rIiBjbGFzcz0icGFuZWwtaGVhZGluZyB0ZXh0LWluZm8iPgogICAgICAgICAgICAgICBHdWVzdGJvb2sgwqA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1jaGV2cm9uLXVwIj48L3NwYW4+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPGRpdiBpZD0icGFuZWxDb2xsYXBzZUd1ZXN0Ym9vayIgY2xhc3M9ImNvbGxhcHNlIGluIj4KICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYm9keSI+CiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtZXRhZGF0YV9HdWVzdGJvb2siIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iVXNlciBpbmZvcm1hdGlvbiAoaS5lLiwgbmFtZSwgZW1haWwsIGluc3RpdHV0aW9uLCBhbmQgcG9zaXRpb24pIHdpbGwgYmUgY29sbGVjdGVkIHdoZW4gZmlsZXMgYXJlIGRvd25sb2FkZWQuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd1ZXN0Ym9vawogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Tm8gZ3Vlc3Rib29rIGlzIGFzc2lnbmVkIHRvIHRoaXMgZGF0YXNldCwgeW91IHdpbGwgbm90IGJlIHByb21wdGVkIHRvIHByb3ZpZGUgYW55IGluZm9ybWF0aW9uIG9uIGZpbGUgZG93bmxvYWQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgIDwvZGl2PjwvZGl2PiAKICAgIDwvZGl2PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6cHJldmlld0d1ZXN0Ym9vayIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBsYXJnZVBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6cHJldmlld0d1ZXN0Ym9va190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UHJldmlldyBHdWVzdGJvb2s8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhvcml6b250YWwiPgogICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+CiAgICAgICAgICAgICAgICBVcG9uIGRvd25sb2FkaW5nIGZpbGVzIHRoZSBndWVzdGJvb2sgYXNrcyBmb3IgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+CiAgICAgICAgICAgICAgICAgICAgR3Vlc3Rib29rIE5hbWUKICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOCI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImZvcm0tY29udHJvbC1zdGF0aWMiPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9ImF1dG8gcmlnaHQiIGNsYXNzPSJ0b29sdGlwbGFiZWwgdGV4dC1pbmZvIiBkYXRhLW9yaWdpbmFsLXRpdGxlPSJVc2VyIGRhdGEgY29sbGVjdGVkIGJ5IHRoZSBndWVzdGJvb2suIj4KICAgICAgICAgICAgICAgICAgICAgICBDb2xsZWN0ZWQgRGF0YQogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOCI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImZvcm0tY29udHJvbC1zdGF0aWMiPkFjY291bnQgSW5mb3JtYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0iUEYoJ3ZpZXdHdWVzdGJvb2snKS5oaWRlKCkiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIHZhbHVlPSJDbG9zZSI+CiAgICAgICAgICAgICAgICBDbG9zZQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnByZXZpZXdHdWVzdGJvb2tfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwidmlld0d1ZXN0Ym9vayIse2lkOiJkYXRhc2V0Rm9ybTp0YWJWaWV3OnByZXZpZXdHdWVzdGJvb2siLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48L2Rpdj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFiIiBjbGFzcz0idWktdGFicy1wYW5lbCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIHVpLWhlbHBlci1oaWRkZW4iIHJvbGU9InRhYnBhbmVsIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZGF0YS1pbmRleD0iMyI+CgogICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAvKiBWZXJzaW9uIHRhYjogUmV0cmlldmUgZGF0YSBhZnRlciBwYWdlIGxvYWQgKi8KICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHByZWxvYWRfbWVzc2FnZSA9ICIoTG9hZGluZyB2ZXJzaW9ucy4uLikiOwogICAgICAgICAgICAkKCcjZGF0YXNldEZvcm1cXDp0YWJWaWV3XFw6dmVyc2lvbnNUYWJsZV9kYXRhIHRyLnVpLWRhdGF0YWJsZS1lbXB0eS1tZXNzYWdlIHRkJykudGV4dChwcmVsb2FkX21lc3NhZ2UpOwogICAgICAgICAgICBwb3N0TG9hZFZlcnNpb25UYWJMaXN0KCk7CiAgICAgICB9KTsKICAgPC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzpqX2lkdDEzNDUiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+cG9zdExvYWRWZXJzaW9uVGFiTGlzdCA9IGZ1bmN0aW9uKCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOnRhYlZpZXc6al9pZHQxMzQ1IixmOiJkYXRhc2V0Rm9ybSIscDoiZGF0YXNldEZvcm06dGFiVmlldzpqX2lkdDEzNDUiLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZSIscGE6YXJndW1lbnRzWzBdfSk7fTwvc2NyaXB0PgogICAgPGRpdiBjbGFzcz0idGV4dC1yaWdodCBtYXJnaW4tYm90dG9tIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmNvbXBhcmVWZXJzaW9ucyIgbmFtZT0iZGF0YXNldEZvcm06dGFiVmlldzpjb21wYXJlVmVyc2lvbnMiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOnRhYlZpZXc6Y29tcGFyZVZlcnNpb25zJnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm0mcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdkZXRhaWxzQmxvY2tzJykuc2hvdygpO3Bvc3RfZGlmZmVyZW5jZXMoKTs7fX0pO3JldHVybiBmYWxzZTsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkRpcmVjdDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OmNvbXBhcmVWZXJzaW9uc19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fdGFiVmlld19jb21wYXJlVmVyc2lvbnMiLHtpZDoiZGF0YXNldEZvcm06dGFiVmlldzpjb21wYXJlVmVyc2lvbnMifSk7PC9zY3JpcHQ+CiAgICA8L2Rpdj48ZGl2IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGUiIGNsYXNzPSJ1aS1kYXRhdGFibGUgdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1kYXRhdGFibGUtdGFibGV3cmFwcGVyIj48dGFibGUgcm9sZT0iZ3JpZCI+PHRoZWFkIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGVfaGVhZCI+PHRyIHJvbGU9InJvdyI+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxMzUxIiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCBjb2wtc20tMSB0ZXh0LWNlbnRlciIgcm9sZT0iY29sdW1uaGVhZGVyIiBhcmlhLWxhYmVsPSJEYXRhc2V0IiBzY29wZT0iY29sIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5EYXRhc2V0PC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxMzYzIiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCIgcm9sZT0iY29sdW1uaGVhZGVyIiBhcmlhLWxhYmVsPSJTdW1tYXJ5IiBzY29wZT0iY29sIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5TdW1tYXJ5PC9zcGFuPjwvdGg+PHRoIGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGU6al9pZHQxNDA1IiBjbGFzcz0idWktc3RhdGUtZGVmYXVsdCBjb2wtc20tMyIgcm9sZT0iY29sdW1uaGVhZGVyIiBhcmlhLWxhYmVsPSJDb250cmlidXRvcnMiIHNjb3BlPSJjb2wiPjxzcGFuIGNsYXNzPSJ1aS1jb2x1bW4tdGl0bGUiPkNvbnRyaWJ1dG9yczwvc3Bhbj48L3RoPjx0aCBpZD0iZGF0YXNldEZvcm06dGFiVmlldzp2ZXJzaW9uc1RhYmxlOmpfaWR0MTQwOCIgY2xhc3M9InVpLXN0YXRlLWRlZmF1bHQgY29sLXNtLTIiIHJvbGU9ImNvbHVtbmhlYWRlciIgYXJpYS1sYWJlbD0iUHVibGlzaGVkIiBzY29wZT0iY29sIj48c3BhbiBjbGFzcz0idWktY29sdW1uLXRpdGxlIj5QdWJsaXNoZWQ8L3NwYW4+PC90aD48L3RyPjwvdGhlYWQ+PHRib2R5IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3OnZlcnNpb25zVGFibGVfZGF0YSIgY2xhc3M9InVpLWRhdGF0YWJsZS1kYXRhIHVpLXdpZGdldC1jb250ZW50Ij48dHIgY2xhc3M9InVpLXdpZGdldC1jb250ZW50IHVpLWRhdGF0YWJsZS1lbXB0eS1tZXNzYWdlIj48dGQgY29sc3Bhbj0iNCI+Tm8gcmVjb3JkcyBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEYXRhVGFibGUiLCJ2ZXJzaW9uc1RhYmxlIix7aWQ6ImRhdGFzZXRGb3JtOnRhYlZpZXc6dmVyc2lvbnNUYWJsZSIsZ3JvdXBDb2x1bW5JbmRleGVzOltdfSk7fSk7PC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9ImRhdGFzZXRGb3JtOnRhYlZpZXdfYWN0aXZlSW5kZXgiIG5hbWU9ImRhdGFzZXRGb3JtOnRhYlZpZXdfYWN0aXZlSW5kZXgiIHZhbHVlPSIwIiBhdXRvY29tcGxldGU9Im9mZiIgLz48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTp0YWJWaWV3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiVGFiVmlldyIsImNvbnRlbnQiLHtpZDoiZGF0YXNldEZvcm06dGFiVmlldyIsZWZmZWN0RHVyYXRpb246Im5vcm1hbCIsc2Nyb2xsYWJsZTpmYWxzZSxiZWhhdmlvcnM6e3RhYkNoYW5nZTpmdW5jdGlvbihleHQsZXZlbnQpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTp0YWJWaWV3IixlOiJ0YWJDaGFuZ2UiLHA6ImRhdGFzZXRGb3JtOnRhYlZpZXciLHU6ImRhdGFzZXRGb3JtOnRhYlZpZXciLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzKXtiaW5kX2JzdWlfY29tcG9uZW50cygpOzt9fSxleHQpO319fSk7PC9zY3JpcHQ+PC9kaXY+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDEzIiBjbGFzcz0idWktYmxvY2t1aS1jb250ZW50IHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLWhlbHBlci1oaWRkZW4gdWktc2hhZG93Ij48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MTNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQmxvY2tVSSIsImJsb2NrRGF0YXNldEZvcm0iLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDEzIixibG9jazoiZGF0YXNldEZvcm0ifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDE0IiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDE0X3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXN0cmljdGVkIEZpbGVzIFNlbGVjdGVkPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBUaGUgcmVzdHJpY3RlZCBmaWxlKHMpIHNlbGVjdGVkIG1heSBub3QgYmUgZG93bmxvYWRlZCBiZWNhdXNlIHlvdSBoYXZlIG5vdCBiZWVuIGdyYW50ZWQgYWNjZXNzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MTkiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTQxOSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdkb3dubG9hZEludmFsaWQnKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DbG9zZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MTlfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTQxOSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE0MTkifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQxNF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkb3dubG9hZEludmFsaWQiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDE0Iixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDIxIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDIxX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXN0cmljdGVkIEZpbGVzIFNlbGVjdGVkPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBUaGUgcmVzdHJpY3RlZCBmaWxlKHMpIHNlbGVjdGVkIG1heSBub3QgYmUgZG93bmxvYWRlZCBiZWNhdXNlIHlvdSBoYXZlIG5vdCBiZWVuIGdyYW50ZWQgYWNjZXNzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWluZm8tc2lnbiI+PC9zcGFuPiBDbGljayBDb250aW51ZSB0byBkb3dubG9hZCB0aGUgZmlsZXMgeW91IGhhdmUgYWNjZXNzIHRvIGRvd25sb2FkLjwvcD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MjciIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTQyNyIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignZG93bmxvYWRNaXhlZCcpLmhpZGUoKX0sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNDI3JnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQyN19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNDI3Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTQyNyJ9KTs8L3NjcmlwdD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MzAiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTQzMCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdkb3dubG9hZE1peGVkJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQzMF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNDMwIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTQzMCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDIxX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRvd25sb2FkTWl4ZWQiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDIxIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDMyIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDMyX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWxldGUgRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGRhdGFzZXQ/IFlvdSBjYW5ub3QgdW5kZWxldGUgdGhpcyBkYXRhc2V0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MzQiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTQzNCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignZGVsZXRlQ29uZmlybWF0aW9uJykuaGlkZSgpfSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE0MzQmcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q29udGludWU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDM0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0MzQiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDM0In0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQzNSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNDM1IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2RlbGV0ZUNvbmZpcm1hdGlvbicpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MzVfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTQzNSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE0MzUifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQzMl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkZWxldGVDb25maXJtYXRpb24iLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDMyIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDM3IiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDM3X3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWxldGUgRHJhZnQgVmVyc2lvbjwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGRyYWZ0IHZlcnNpb24/IFlvdSBjYW5ub3QgdW5kZWxldGUgdGhpcyBkcmFmdC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDM5IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MzkiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ2RlbGV0ZVZlcnNpb25Db25maXJtYXRpb24nKS5oaWRlKCl9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTQzOSZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5Db250aW51ZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0MzlfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTQzOSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE0MzkifSk7PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDQwIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE0NDAiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignZGVsZXRlVmVyc2lvbkNvbmZpcm1hdGlvbicpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNhbmNlbDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0NDBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTQ0MCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE0NDAifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQzN19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkZWxldGVWZXJzaW9uQ29uZmlybWF0aW9uIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTQzNyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnByaXZhdGVVcmxJZCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnByaXZhdGVVcmxJZF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+VW5wdWJsaXNoZWQgRGF0YXNldCBQcml2YXRlIFVSTDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnByaXZhdGVVcmxQYW5lbENhbm5vdENyZWF0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUHJpdmF0ZSBVUkwgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHVucHVibGlzaGVkIHZlcnNpb25zIG9mIGRhdGFzZXRzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDU5IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE0NTkiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ3ByaXZhdGVVcmxDb25maXJtYXRpb24nKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDU5X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0NTkiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDU5In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06cHJpdmF0ZVVybElkX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInByaXZhdGVVcmxDb25maXJtYXRpb24iLHtpZDoiZGF0YXNldEZvcm06cHJpdmF0ZVVybElkIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDYxIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDYxX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5VbnB1Ymxpc2hlZCBEYXRhc2V0IFByaXZhdGUgVVJMPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkaXNhYmxlIHRoZSBQcml2YXRlIFVSTD8gSWYgeW91IGhhdmUgc2hhcmVkIHRoZSBQcml2YXRlIFVSTCB3aXRoIG90aGVycyB0aGV5IHdpbGwgbm8gbG9uZ2VyIGJlIGFibGUgdG8gdXNlIGl0IHRvIGFjY2VzcyB5b3VyIHVucHVibGlzaGVkIGRhdGFzZXQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ2MyIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNDYzIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignZGlzYWJsZVByaXZhdGVVcmxDb25maXJtYXRpb24nKS5oaWRlKCk7fSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE0NjMmcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybTpwcml2YXRlVXJsUGFuZWwgbWVzc2FnZVBhbmVsJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPlllcywgRGlzYWJsZSBQcml2YXRlIFVSTDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0NjNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTQ2MyIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE0NjMifSk7PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNDY0IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE0NjQiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2Rpc2FibGVQcml2YXRlVXJsQ29uZmlybWF0aW9uJykuaGlkZSgpO1BGKCdwcml2YXRlVXJsQ29uZmlybWF0aW9uJykuc2hvdygpOyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ2NF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNDY0Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTQ2NCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDYxX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRpc2FibGVQcml2YXRlVXJsQ29uZmlybWF0aW9uIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTQ2MSIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ2NiIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ2Nl90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RGVsZXRlIEZpbGVzPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBUaGUgZmlsZShzKSB3aWxsIGJlIGRlbGV0ZWQgYWZ0ZXIgeW91IGNsaWNrIG9uIHRoZSBEZWxldGUgYnV0dG9uLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBGaWxlcyB3aWxsIG5vdCBiZSByZW1vdmVkIGZyb20gcHJldmlvdXNseSBwdWJsaXNoZWQgdmVyc2lvbnMgb2YgdGhlIGRhdGFzZXQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ3MSIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNDcxIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUHJpbWVGYWNlcy5iY24odGhpcyxldmVudCxbZnVuY3Rpb24oZXZlbnQpe1BGKCdkZWxldGVTZWxlY3RlZEZpbGVDb25maXJtYXRpb24nKS5oaWRlKCl9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTQ3MSZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5EZWxldGU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDcxX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0NzEiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDcxIn0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ3MiIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNDcyIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2RlbGV0ZVNlbGVjdGVkRmlsZUNvbmZpcm1hdGlvbicpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDcyX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE0NzIiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNDcyIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0NjZfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGVsZXRlU2VsZWN0ZWRGaWxlQ29uZmlybWF0aW9uIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTQ2NiIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ3NCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ3NF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+Q29tcHV0ZTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gVGhpcyBkYXRhc2V0IGNvbnRhaW5zIHJlc3RyaWN0ZWQgZmlsZXMgeW91IG1heSBub3QgY29tcHV0ZSBvbiBiZWNhdXNlIHlvdSBoYXZlIG5vdCBiZWVuIGdyYW50ZWQgYWNjZXNzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE0NzYiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTQ3NiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdjb21wdXRlSW52YWxpZCcpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ3Nl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNDc2Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTQ3NiJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNDc0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImNvbXB1dGVJbnZhbGlkIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTQ3NCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQmxvY2siIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25CbG9ja190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+RGVhY2Nlc3Npb24gRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gT25jZSB5b3UgZGVhY2Nlc3Npb24gdGhpcyBkYXRhc2V0IGl0IHdpbGwgbm8gbG9uZ2VyIGJlIHZpZXdhYmxlIGJ5IHRoZSBwdWJsaWMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9InJlYXNvbk9wdGlvbnMiPldoYXQgaXMgdGhlIHJlYXNvbiBmb3IgZGVhY2Nlc3Npb24/IDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWFzdGVyaXNrIHRleHQtZGFuZ2VyIiB0aXRsZT0iUmVxdWlyZWQgZmllbGQiPjwvc3Bhbj48L2xhYmVsPjxzZWxlY3QgaWQ9ImRhdGFzZXRGb3JtOnJlYXNvbk9wdGlvbnMiIG5hbWU9ImRhdGFzZXRGb3JtOnJlYXNvbk9wdGlvbnMiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHNpemU9IjEiPgk8b3B0aW9uIHZhbHVlPSIwIiBzZWxlY3RlZD0ic2VsZWN0ZWQiPlNlbGVjdC4uLjwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iMSI+VGhlcmUgaXMgaWRlbnRpZmlhYmxlIGRhdGEgaW4gb25lIG9yIG1vcmUgZmlsZXM8L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9IjIiPlRoZSByZXNlYXJjaCBhcnRpY2xlIGhhcyBiZWVuIHJldHJhY3RlZDwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iMyI+VGhlIGRhdGFzZXQgaGFzIGJlZW4gdHJhbnNmZXJyZWQgdG8gYW5vdGhlciByZXBvc2l0b3J5PC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPSI0Ij5JUkIgcmVxdWVzdDwvb3B0aW9uPgoJPG9wdGlvbiB2YWx1ZT0iNSI+TGVnYWwgaXNzdWUgb3IgRGF0YSBVc2FnZSBBZ3JlZW1lbnQ8L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9IjYiPk5vdCBhIHZhbGlkIGRhdGFzZXQ8L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9IjciPk90aGVyIChQbGVhc2UgdHlwZSByZWFzb24gaW4gc3BhY2UgcHJvdmlkZWQgYmVsb3cpPC9vcHRpb24+Cjwvc2VsZWN0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJyZWFzb25Gb3JEZWFjY2Vzc2lvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGxlYXNlIGVudGVyIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlYXNvbiBmb3IgZGVhY2Nlc3Npb24uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPjx0ZXh0YXJlYSBpZD0iZGF0YXNldEZvcm06cmVhc29uRm9yRGVhY2Nlc3Npb24iIG5hbWU9ImRhdGFzZXRGb3JtOnJlYXNvbkZvckRlYWNjZXNzaW9uIiBjb2xzPSI0MCIgcm93cz0iMiIgbWF4bGVuZ3RoPSIyMTQ3NDgzNjQ3IiBvbmtleXVwPSJ1cGRhdGVIaWRkZW5SZWFzb24odGhpcyk7IiBjbGFzcz0idWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHRhcmVhIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgZm9ybS1jb250cm9sIj48L3RleHRhcmVhPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnJlYXNvbkZvckRlYWNjZXNzaW9uX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIklucHV0VGV4dGFyZWEiLCJyZWFzb25Gb3JEZWFjY2Vzc2lvbiIse2lkOiJkYXRhc2V0Rm9ybTpyZWFzb25Gb3JEZWFjY2Vzc2lvbiIsYXV0b1Jlc2l6ZTpmYWxzZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTQ5NCIgYXJpYS1saXZlPSJwb2xpdGUiIGNsYXNzPSJ1aS1tZXNzYWdlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iZm9yd2FyZFVSTEZvckRlYWNjZXNzaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBhcHBsaWNhYmxlLCBwbGVhc2UgbGVhdmUgYSBVUkwgd2hlcmUgdGhpcyBkYXRhc2V0IGNhbiBiZSBhY2Nlc3NlZCBhZnRlciBkZWFjY2Vzc2lvbmluZy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpmb3J3YXJkVVJMRm9yRGVhY2Nlc3Npb24iIG5hbWU9ImRhdGFzZXRGb3JtOmZvcndhcmRVUkxGb3JEZWFjY2Vzc2lvbiIgdHlwZT0idGV4dCIgdmFsdWU9IiIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0IHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgZm9ybS1jb250cm9sIiAvPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmZvcndhcmRVUkxGb3JEZWFjY2Vzc2lvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIklucHV0VGV4dCIsImZvcndhcmRVUkxGb3JEZWFjY2Vzc2lvbiIse2lkOiJkYXRhc2V0Rm9ybTpmb3J3YXJkVVJMRm9yRGVhY2Nlc3Npb24ifSk7PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06d2F0ZXJtYXJrX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIldhdGVybWFyayIsIndpZGdldF9kYXRhc2V0Rm9ybV93YXRlcm1hcmsiLHtpZDoiZGF0YXNldEZvcm06d2F0ZXJtYXJrIix2YWx1ZToiT3B0aW9uYWwgZGF0YXNldCBzaXRlLCBodHRwOlwvXC8uLi4iLHRhcmdldDoiZGF0YXNldEZvcm06Zm9yd2FyZFVSTEZvckRlYWNjZXNzaW9uIn0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YSBpZD0iZGF0YXNldEZvcm06al9pZHQxNDk5IiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2RlYWNjZXNzaW9uQmxvY2snKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7O1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNDk5JnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0iYnV0dG9uIj5DYW5jZWw8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQmxvY2tfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZGVhY2Nlc3Npb25CbG9jayIse2lkOiJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkJsb2NrIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25Db25maXJtYXRpb24iIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZGVhY2Nlc3Npb25Db25maXJtYXRpb25fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRlYWNjZXNzaW9uIERhdGFzZXQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWFjY2Vzc2lvbj8gVGhlIHNlbGVjdGVkIHZlcnNpb24ocykgd2lsbCBubyBsb25nZXIgYmUgdmlld2FibGUgYnkgdGhlIHB1YmxpYy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNTAyIiB2YWx1ZT0iWWVzIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignZGVhY2Nlc3Npb25Db25maXJtYXRpb24nKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdkZWFjY2Vzc2lvbkJsb2NrJykuaGlkZSgpIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIHZhbHVlPSJObyIgb25jbGljaz0iUEYoJ2RlYWNjZXNzaW9uQ29uZmlybWF0aW9uJykuaGlkZSgpIj5ObzwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkNvbmZpcm1hdGlvbiIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRlYWNjZXNzaW9uQWxsQ29uZmlybWF0aW9uX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EZWFjY2Vzc2lvbiBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVhY2Nlc3Npb24gdGhpcyBkYXRhc2V0PyBJdCB3aWxsIG5vIGxvbmdlciBiZSB2aWV3YWJsZSBieSB0aGUgcHVibGljLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE1MDUiIHZhbHVlPSJZZXMiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdkZWFjY2Vzc2lvbkFsbENvbmZpcm1hdGlvbicpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2RlYWNjZXNzaW9uQmxvY2snKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiB2YWx1ZT0iTm8iIG9uY2xpY2s9IlBGKCdkZWFjY2Vzc2lvbkFsbENvbmZpcm1hdGlvbicpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7Ij5ObzwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkFsbENvbmZpcm1hdGlvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJkZWFjY2Vzc2lvbkFsbENvbmZpcm1hdGlvbiIse2lkOiJkYXRhc2V0Rm9ybTpkZWFjY2Vzc2lvbkFsbENvbmZpcm1hdGlvbiIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdERlYWNjZXNzaW9uVmVyc2lvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb25maXJtRGlhbG9nIiwic2VsZWN0RGVhY2Nlc3Npb25WZXJzaW9uIix7aWQ6ImRhdGFzZXRGb3JtOnNlbGVjdERlYWNjZXNzaW9uVmVyc2lvbiJ9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3REZWFjY2Vzc2lvblZlcnNpb24iIGNsYXNzPSJ1aS1jb25maXJtLWRpYWxvZyB1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RGVhY2Nlc3Npb25WZXJzaW9uX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5QbGVhc2UgU2VsZWN0IFZlcnNpb24ocyk8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWFsZXJ0IHVpLWNvbmZpcm0tZGlhbG9nLXNldmVyaXR5Ij48L3NwYW4+PHNwYW4gY2xhc3M9InVpLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2UiPlBsZWFzZSBzZWxlY3QgdmVyc2lvbihzKSBmb3IgZGVhY2Nlc3Npb25pbmcuPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1idXR0b25wYW5lIHVpLWRpYWxvZy1mb290ZXIgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4Ij48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3REZWFjY2Vzc2lvblJlYXNvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJDb25maXJtRGlhbG9nIiwic2VsZWN0RGVhY2Nlc3Npb25SZWFzb24iLHtpZDoiZGF0YXNldEZvcm06c2VsZWN0RGVhY2Nlc3Npb25SZWFzb24ifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RGVhY2Nlc3Npb25SZWFzb24iIGNsYXNzPSJ1aS1jb25maXJtLWRpYWxvZyB1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RGVhY2Nlc3Npb25SZWFzb25fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlBsZWFzZSBTZWxlY3QgUmVhc29uPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1hbGVydCB1aS1jb25maXJtLWRpYWxvZy1zZXZlcml0eSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ1aS1jb25maXJtLWRpYWxvZy1tZXNzYWdlIj5QbGVhc2Ugc2VsZWN0IHJlYXNvbiBmb3IgZGVhY2Nlc3Npb25pbmcuPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1idXR0b25wYW5lIHVpLWRpYWxvZy1mb290ZXIgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4Ij48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTplbnRlckZvcndhcmRVcmxfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29uZmlybURpYWxvZyIsImVudGVyRm9yd2FyZFVybCIse2lkOiJkYXRhc2V0Rm9ybTplbnRlckZvcndhcmRVcmwifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZW50ZXJGb3J3YXJkVXJsIiBjbGFzcz0idWktY29uZmlybS1kaWFsb2cgdWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmVudGVyRm9yd2FyZFVybF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+SW52YWxpZCBVUkw8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWFsZXJ0IHVpLWNvbmZpcm0tZGlhbG9nLXNldmVyaXR5Ij48L3NwYW4+PHNwYW4gY2xhc3M9InVpLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2UiPlBsZWFzZSBlbnRlciB2YWxpZCBmb3J3YXJkaW5nIFVSTC48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWJ1dHRvbnBhbmUgdWktZGlhbG9nLWZvb3RlciB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXgiPjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmVudGVyT3RoZXJSZWFzb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29uZmlybURpYWxvZyIsImVudGVyT3RoZXJSZWFzb24iLHtpZDoiZGF0YXNldEZvcm06ZW50ZXJPdGhlclJlYXNvbiJ9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTplbnRlck90aGVyUmVhc29uIiBjbGFzcz0idWktY29uZmlybS1kaWFsb2cgdWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmVudGVyT3RoZXJSZWFzb25fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkVudGVyIGFkZGl0aW9uYWwgaW5mb3JtYXRpb248L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWFsZXJ0IHVpLWNvbmZpcm0tZGlhbG9nLXNldmVyaXR5Ij48L3NwYW4+PHNwYW4gY2xhc3M9InVpLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2UiPlBsZWFzZSBlbnRlciB0ZXh0IGZvciByZWFzb24gZm9yIGRlYWNjZXNzaW9uaW5nLjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctYnV0dG9ucGFuZSB1aS1kaWFsb2ctZm9vdGVyIHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCI+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06cmVhc29uVG9vTWFueUNoYXJhY3RlcnNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29uZmlybURpYWxvZyIsInJlYXNvblRvb01hbnlDaGFyYWN0ZXJzIix7aWQ6ImRhdGFzZXRGb3JtOnJlYXNvblRvb01hbnlDaGFyYWN0ZXJzIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnJlYXNvblRvb01hbnlDaGFyYWN0ZXJzIiBjbGFzcz0idWktY29uZmlybS1kaWFsb2cgdWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnJlYXNvblRvb01hbnlDaGFyYWN0ZXJzX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5MaW1pdCAxMDAwIGNoYXJhY3RlcnM8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWFsZXJ0IHVpLWNvbmZpcm0tZGlhbG9nLXNldmVyaXR5Ij48L3NwYW4+PHNwYW4gY2xhc3M9InVpLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2UiPlRleHQgZm9yIHJlYXNvbiBmb3IgZGVhY2Nlc3Npb25pbmcgbWF5IGJlIG5vIGxvbmdlciB0aGFuIDEwMDAgY2hhcmFjdGVycy48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWJ1dHRvbnBhbmUgdWktZGlhbG9nLWZvb3RlciB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXgiPjwvZGl2PjwvZGl2PjxpbnB1dCBpZD0iZGF0YXNldEZvcm06aGlkZGVuUmVhc29uSW5wdXQiIG5hbWU9ImRhdGFzZXRGb3JtOmhpZGRlblJlYXNvbklucHV0IiB0eXBlPSJ0ZXh0IiBzdHlsZT0iZGlzcGxheTpub25lIiBjbGFzcz0idWktaW5wdXRmaWVsZCB1aS1pbnB1dHRleHQgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCIgLz48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpoaWRkZW5SZWFzb25JbnB1dF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIklucHV0VGV4dCIsImhpZGRlblJlYXNvbklucHV0Iix7aWQ6ImRhdGFzZXRGb3JtOmhpZGRlblJlYXNvbklucHV0In0pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmNvbXBhcmVUd28iIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06Y29tcGFyZVR3b190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+VmVyc2lvbiBEaWZmZXJlbmNlcyBEZXRhaWxzPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24gdGV4dC1kYW5nZXIiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9InRleHQtZGFuZ2VyIj5QbGVhc2Ugc2VsZWN0IHR3byB2ZXJzaW9ucyB0byB2aWV3IHRoZSBkaWZmZXJlbmNlcy48L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTUwOCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxNTA4IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ2NvbXBhcmVUd28nKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DbG9zZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE1MDhfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTUwOCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE1MDgifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmNvbXBhcmVUd29fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiY29tcGFyZVR3byIse2lkOiJkYXRhc2V0Rm9ybTpjb21wYXJlVHdvIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZGV0YWlsc0Jsb2NrcyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBsYXJnZVBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRldGFpbHNCbG9ja3NfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlZlcnNpb24gRGlmZmVyZW5jZXMgRGV0YWlsczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ2ZXJzaW9uLXRpdGxlIiBjbGFzcz0ibWFyZ2luLWJvdHRvbS1oYWxmIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idmVyc2lvbi1kZXRhaWxzLWJsb2NrIiBjbGFzcz0iIGNsZWFyZml4IG1hcmdpbi1ib3R0b20taGFsZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdWxsLWxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMKgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB1bGwtbGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbjogPGJyIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGFzdCBVcGRhdGVkOiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHVsbC1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uOiA8YnIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXN0IFVwZGF0ZWQ6IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2sgbWFyZ2luLWJvdHRvbSI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNTg5IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE1ODkiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignZGV0YWlsc0Jsb2NrcycpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTsiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkRvbmU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNTg5X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE1ODkiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNTg5In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkZXRhaWxzQmxvY2tzX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRldGFpbHNCbG9ja3MiLHtpZDoiZGF0YXNldEZvcm06ZGV0YWlsc0Jsb2NrcyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRG93bmxvYWQiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckRvd25sb2FkX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TZWxlY3QgRmlsZShzKTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIHNlbGVjdCBhIGZpbGUgb3IgZmlsZXMgdG8gYmUgZG93bmxvYWRlZC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNTkyIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE1OTIiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ3NlbGVjdEZpbGVzRm9yRG93bmxvYWQnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7fSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE1OTImcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNTkyX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE1OTIiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNTkyIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckRvd25sb2FkX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNlbGVjdEZpbGVzRm9yRG93bmxvYWQiLHtpZDoiZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JEb3dubG9hZCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yUmVxdWVzdEFjY2VzcyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yUmVxdWVzdEFjY2Vzc190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+U2VsZWN0IEZpbGUocyk8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtZGFuZ2VyIj48c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduIj48L3NwYW4+IFBsZWFzZSBzZWxlY3QgYSBmaWxlIG9yIGZpbGVzIGZvciBhY2Nlc3MgcmVxdWVzdC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNTk1IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE1OTUiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ3NlbGVjdEZpbGVzRm9yUmVxdWVzdEFjY2VzcycpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7fSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE1OTUmcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNTk1X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE1OTUiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNTk1In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlcXVlc3RBY2Nlc3NfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2VsZWN0RmlsZXNGb3JSZXF1ZXN0QWNjZXNzIix7aWQ6ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yUmVxdWVzdEFjY2VzcyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRGVsZXRlIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JEZWxldGVfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlNlbGVjdCBGaWxlKHMpPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWRhbmdlciI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPiBQbGVhc2Ugc2VsZWN0IGEgZmlsZSBvciBmaWxlcyB0byBiZSBkZWxldGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE1OTgiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTU5OCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignc2VsZWN0RmlsZXNGb3JEZWxldGUnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7fSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE1OTgmcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNTk4X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE1OTgiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNTk4In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckRlbGV0ZV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzZWxlY3RGaWxlc0ZvckRlbGV0ZSIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckRlbGV0ZSIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yUmVzdHJpY3QiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlc3RyaWN0X3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TZWxlY3QgRmlsZShzKTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIHNlbGVjdCB1bnJlc3RyaWN0ZWQgZmlsZShzKSB0byBiZSByZXN0cmljdGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2MDEiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTYwMSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignc2VsZWN0RmlsZXNGb3JSZXN0cmljdCcpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTt9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTYwMSZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DbG9zZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2MDFfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTYwMSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE2MDEifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yUmVzdHJpY3RfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2VsZWN0RmlsZXNGb3JSZXN0cmljdCIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclJlc3RyaWN0Iixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JVblJlc3RyaWN0IiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JVblJlc3RyaWN0X3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TZWxlY3QgRmlsZShzKTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIHNlbGVjdCByZXN0cmljdGVkIGZpbGUocykgdG8gYmUgdW5yZXN0cmljdGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2MDQiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTYwNCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignc2VsZWN0RmlsZXNGb3JVblJlc3RyaWN0JykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpO30sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNjA0JnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTYwNF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNjA0Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTYwNCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06c2VsZWN0RmlsZXNGb3JVblJlc3RyaWN0X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInNlbGVjdEZpbGVzRm9yVW5SZXN0cmljdCIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvclVuUmVzdHJpY3QiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckVkaXRNZXRhZGF0YSIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRWRpdE1ldGFkYXRhX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TZWxlY3QgRmlsZShzKTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIHNlbGVjdCBhIGZpbGUgb3IgZmlsZXMgdG8gYmUgZWRpdGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2MDciIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTYwNyIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignc2VsZWN0RmlsZXNGb3JFZGl0TWV0YWRhdGEnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7fSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE2MDcmcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNjA3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE2MDciLHtpZDoiZGF0YXNldEZvcm06al9pZHQxNjA3In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckVkaXRNZXRhZGF0YV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJzZWxlY3RGaWxlc0ZvckVkaXRNZXRhZGF0YSIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckVkaXRNZXRhZGF0YSIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRWRpdFRhZ3MiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckVkaXRUYWdzX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5TZWxlY3QgRmlsZShzKTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIHNlbGVjdCBhIGZpbGUgb3IgZmlsZXMgdG8gYmUgZWRpdGVkLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2MTAiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTYxMCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignc2VsZWN0RmlsZXNGb3JFZGl0VGFncycpLmhpZGUoKTtQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTt9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTYxMCZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DbG9zZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2MTBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTYxMCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE2MTAifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnNlbGVjdEZpbGVzRm9yRWRpdFRhZ3NfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2VsZWN0RmlsZXNGb3JFZGl0VGFncyIse2lkOiJkYXRhc2V0Rm9ybTpzZWxlY3RGaWxlc0ZvckVkaXRUYWdzIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxNjEyIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnJlZnJlc2hUYWdzQ29tbWFuZCA9IGZ1bmN0aW9uKCkge1ByaW1lRmFjZXMuYWIoe3M6ImRhdGFzZXRGb3JtOmpfaWR0MTYxMiIsZjoiZGF0YXNldEZvcm0iLHU6ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXAiLG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzKXtQRignZmlsZVRhZ3NQb3B1cCcpLnNob3coKTs7fSxwYTphcmd1bWVudHNbMF19KTt9PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBzbWFsbFBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkVkaXQgVGFnczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+PHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24taW5mby1zaWduIj48L3NwYW4+IFNlbGVjdCBleGlzdGluZyBmaWxlIHRhZ3Mgb3IgY3JlYXRlIG5ldyB0YWdzIHRvIGRlc2NyaWJlIHlvdXIgZmlsZXMuIEVhY2ggZmlsZSBjYW4gaGF2ZSBtb3JlIHRoYW4gb25lIHRhZy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24iIG5hbWU9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBTYXZlQnV0dG9uIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b24mcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybTp0YWJWaWV3OmZpbGVzVGFibGUgZGF0YXNldEZvcm0mcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdmaWxlVGFnc1BvcHVwJykuaGlkZSgpO319KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5TYXZlIENoYW5nZXM8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cFNhdmVCdXR0b25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2ZpbGVUYWdzUG9wdXBTYXZlQnV0dG9uIix7aWQ6ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBTYXZlQnV0dG9uIn0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBDYW5jZWxCdXR0b24iIG5hbWU9ImRhdGFzZXRGb3JtOmZpbGVUYWdzUG9wdXBDYW5jZWxCdXR0b24iIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5iY24odGhpcyxldmVudCxbZnVuY3Rpb24oZXZlbnQpe1BGKCdmaWxlVGFnc1BvcHVwJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpO30sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fZmlsZVRhZ3NQb3B1cENhbmNlbEJ1dHRvbiIse2lkOiJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwQ2FuY2VsQnV0dG9uIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpmaWxlVGFnc1BvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImZpbGVUYWdzUG9wdXAiLHtpZDoiZGF0YXNldEZvcm06ZmlsZVRhZ3NQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnJzeW5jVXBsb2FkSW5mb1BvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06cnN5bmNVcGxvYWRJbmZvUG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlVwbG9hZCBGaWxlczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiB0ZXh0LWRhbmdlciI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWRhbmdlciI+IFlvdSBjYW4gbm90IHVwbG9hZCBhZGRpdGlvbmFsIGZpbGVzIHRvIHRoaXMgZGF0YXNldC48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNjY0IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE2NjQiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ3JzeW5jVXBsb2FkX3BvcHVwJykuaGlkZSgpO30sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNjY0JnF1b3Q7LHU6JnF1b3Q7ZGF0YXNldEZvcm0gbWVzc2FnZVBhbmVsJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNsb3NlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY2NF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxNjY0Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTY2NCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06cnN5bmNVcGxvYWRJbmZvUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwicnN5bmNVcGxvYWRfcG9wdXAiLHtpZDoiZGF0YXNldEZvcm06cnN5bmNVcGxvYWRJbmZvUG9wdXAiLG1vZGFsOnRydWUsYmVoYXZpb3JzOntjbG9zZTpmdW5jdGlvbihleHQsZXZlbnQpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpyc3luY1VwbG9hZEluZm9Qb3B1cCIsZToiY2xvc2UiLHA6ImRhdGFzZXRGb3JtOnJzeW5jVXBsb2FkSW5mb1BvcHVwIix1OiJkYXRhc2V0Rm9ybSBtZXNzYWdlUGFuZWwifSxleHQpO319fSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxNjY2IiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY2Nl90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UmVxdWVzdCBBY2Nlc3M8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIHRleHQtZGFuZ2VyIj48L3NwYW4+wqAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LWRhbmdlciI+WW91IG5lZWQgdG8gPGEgaHJlZj0iL2RhdGF2ZXJzZXVzZXIueGh0bWw/ZWRpdE1vZGU9Q1JFQVRFJnJlZGlyZWN0UGFnZT0lMkZkYXRhc2V0LnhodG1sJTNGcGVyc2lzdGVudElkJTNEZG9pJTNBMTAuNzkxMCUyRkRWTiUyRk5KN1hTTyIgdGFyZ2V0PSJfc2VsZiIgdGl0bGU9IlNpZ24gVXAgZm9yIGEgRGF0YXZlcnNlIEFjY291bnQiPlNpZ24gVXA8L2E+IG9yIDxhIGhyZWY9Ii9sb2dpbnBhZ2UueGh0bWw/cmVkaXJlY3RQYWdlPSUyRmRhdGFzZXQueGh0bWwlM0ZwZXJzaXN0ZW50SWQlM0Rkb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPIiB0YXJnZXQ9Il9zZWxmIiB0aXRsZT0iTG9nIGludG8geW91ciBEYXRhdmVyc2UgQWNjb3VudCI+TG9nIEluPC9hPiB0byByZXF1ZXN0IGFjY2VzcyB0byB0aGlzIGZpbGUuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxNjczIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE2NzMiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ2FjY2Vzc1NpZ25VcExvZ0luX3BvcHVwJykuaGlkZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignYmxvY2tEYXRhc2V0Rm9ybScpLmhpZGUoKTt9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTY3MyZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DbG9zZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE2NzNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTY3MyIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE2NzMifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTY2Nl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJhY2Nlc3NTaWduVXBMb2dJbl9wb3B1cCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE2NjYiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpjb25maWd1cmVUb29sUG9wdXAiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgc21hbGxQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpjb25maWd1cmVUb29sUG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPjwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgoKICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+PHNwYW4gY2xhc3M9InRleHQtbGVmdCI+IDwvc3Bhbj4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YSBpZD0iZGF0YXNldEZvcm06al9pZHQxNjc4IiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2NvbmZpZ3VyZVRvb2xQb3B1cCcpLmhpZGUoKTt3aW5kb3cub3BlbignJywgJ19ibGFuaycpO1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNjc4JnF1b3Q7LHU6JnF1b3Q7bWVzc2FnZVBhbmVsJnF1b3Q7fSk7cmV0dXJuIGZhbHNlOyIgdHlwZT0iYnV0dG9uIj5Db250aW51ZTwvYT4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdjb25maWd1cmVUb29sUG9wdXAnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB2YWx1ZT0iQ2FuY2VsIj5DYW5jZWw8L2J1dHRvbj4KICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpjb25maWd1cmVUb29sUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiY29uZmlndXJlVG9vbFBvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOmNvbmZpZ3VyZVRvb2xQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkUG9wdXAiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgbGFyZ2VQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFBvcHVwX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5EYXRhc2V0IFRlcm1zPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1pbmZvLXNpZ24iPjwvc3Bhbj4gUGxlYXNlIGNvbmZpcm0gYW5kL29yIGNvbXBsZXRlIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgYmVsb3cgaW4gb3JkZXIgdG8gY29udGludWUuCiAgICAgICAgPC9wPjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmd1ZXN0Ym9va01lc3NhZ2VzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIG1lc3NhZ2VQYW5lbCI+CiAgICAgICAgICAgIDwvZGl2PjwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taG9yaXpvbnRhbCI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YSBpZD0iZGF0YXNldEZvcm06al9pZHQxNzU2IiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE3NTYmcXVvdDsscDomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE3NTYmcXVvdDssdTomcXVvdDtkYXRhc2V0Rm9ybTpndWVzdGJvb2tVSUZyYWdtZW50JnF1b3Q7LHBhOlt7bmFtZTomcXVvdDtET19HQl9WQUxJREFUSU9OJnF1b3Q7LHZhbHVlOiZxdW90O3RydWUmcXVvdDt9XX0pO3JldHVybiBmYWxzZTsiIHR5cGU9ImJ1dHRvbiI+QWNjZXB0PC9hPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUEYoJ2Rvd25sb2FkUG9wdXAnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB2YWx1ZT0iQ2FuY2VsIj5DYW5jZWw8L2J1dHRvbj4KICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkb3dubG9hZFBvcHVwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImRvd25sb2FkUG9wdXAiLHtpZDoiZGF0YXNldEZvcm06ZG93bmxvYWRQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3NQb3B1cCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciBsYXJnZVBvcFVwIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3NQb3B1cF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UmVxdWVzdCBBY2Nlc3M8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLWluZm8tc2lnbiI+PC9zcGFuPiBQbGVhc2UgY29uZmlybSBhbmQvb3IgY29tcGxldGUgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCBiZWxvdyBpbiBvcmRlciB0byByZXF1ZXN0IGFjY2VzcyB0byBmaWxlcyBpbiB0aGlzIGRhdGFzZXQuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taG9yaXpvbnRhbCI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YSBpZD0iZGF0YXNldEZvcm06al9pZHQxNzc3IiBocmVmPSIjIiBjbGFzcz0idWktY29tbWFuZGxpbmsgdWktd2lkZ2V0IGJ0biBidG4tZGVmYXVsdCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE3NzcmcXVvdDssdTomcXVvdDtAKFtpZCQ9cmVxdWVzdEFjY2Vzc1BvcHVwQnV0dG9uXSkmcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe1BGKCdyZXF1ZXN0QWNjZXNzUG9wdXAnKS5oaWRlKCk7O319KTtyZXR1cm4gZmFsc2U7IiB0eXBlPSJidXR0b24iPgogICAgICAgICAgICAgICAgQWNjZXB0CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdyZXF1ZXN0QWNjZXNzUG9wdXAnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB2YWx1ZT0iQ2FuY2VsIj5DYW5jZWw8L2J1dHRvbj4KICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwicmVxdWVzdEFjY2Vzc1BvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3NQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmRvd25sb2FkRGF0YVN1YnNldFBvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIHNtYWxsUG9wVXAiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWREYXRhU3Vic2V0UG9wdXBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkRvd25sb2FkIERhdGEgU3Vic2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZG93bmxvYWREYXRhU3Vic2V0UG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiZG93bmxvYWREYXRhU3Vic2V0UG9wdXAiLHtpZDoiZGF0YXNldEZvcm06ZG93bmxvYWREYXRhU3Vic2V0UG9wdXAiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpsaW5rRGF0YXNldEZvcm0iIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIgbGFyZ2VQb3BVcCI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpsaW5rRGF0YXNldEZvcm1fdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPkxpbmsgRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhvcml6b250YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImhlbHAtYmxvY2siPkVudGVyIHRoZSBuYW1lIG9mIHRoZSBkYXRhdmVyc2UgeW91IHdvdWxkIGxpa2UgdG8gbGluayB0aGlzIGRhdGFzZXQgdG8uIElmIHlvdSBuZWVkIHRvIHJlbW92ZSB0aGlzIGxpbmsgaW4gdGhlIGZ1dHVyZSwgcGxlYXNlIGNvbnRhY3QgPGEgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc4NyIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCIgb25jbGljaz0iUHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE3ODcmcXVvdDssdTomcXVvdDtjb250YWN0RGlhbG9nJnF1b3Q7LG9uY286ZnVuY3Rpb24oeGhyLHN0YXR1cyxhcmdzKXtQRignbGlua0RhdGFzZXRGb3JtJykuaGlkZSgpO1BGKCdjb250YWN0Rm9ybScpLnNob3coKTt9fSk7cmV0dXJuIGZhbHNlOyI+SGFydmFyZCBEYXRhdmVyc2UgU3VwcG9ydDwvYT4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImNvbC14cy0zIGNvbnRyb2wtbGFiZWwiPllvdXIgRGF0YXZlcnNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtOCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRhdGF2ZXJzZUxpbmtOYW1lIiBjbGFzcz0idWktYXV0b2NvbXBsZXRlIiBzdHlsZT0id2lkdGg6NzUlOyI+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpkYXRhdmVyc2VMaW5rTmFtZV9pbnB1dCIgbmFtZT0iZGF0YXNldEZvcm06ZGF0YXZlcnNlTGlua05hbWVfaW5wdXQiIHR5cGU9InRleHQiIGNsYXNzPSJ1aS1hdXRvY29tcGxldGUtaW5wdXQgdWktaW5wdXRmaWVsZCB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIiBhdXRvY29tcGxldGU9Im9mZiIgcGxhY2Vob2xkZXI9IkVudGVyIERhdGF2ZXJzZSBOYW1lIiB2YWx1ZT0iIiAvPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06ZGF0YXZlcnNlTGlua05hbWVfaGlucHV0IiBuYW1lPSJkYXRhc2V0Rm9ybTpkYXRhdmVyc2VMaW5rTmFtZV9oaW5wdXQiIHR5cGU9ImhpZGRlbiIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmRhdGF2ZXJzZUxpbmtOYW1lX3BhbmVsIiBjbGFzcz0idWktYXV0b2NvbXBsZXRlLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktaGVscGVyLWhpZGRlbiB1aS1zaGFkb3cgdWktaW5wdXQtb3ZlcmxheSIgcm9sZT0ibGlzdGJveCI+PC9zcGFuPjwvc3Bhbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpkYXRhdmVyc2VMaW5rTmFtZV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJBdXRvQ29tcGxldGUiLCJ3aWRnZXRfZGF0YXNldEZvcm1fZGF0YXZlcnNlTGlua05hbWUiLHtpZDoiZGF0YXNldEZvcm06ZGF0YXZlcnNlTGlua05hbWUiLGRlbGF5OjEwMDAsZm9yY2VTZWxlY3Rpb246dHJ1ZSxzY3JvbGxIZWlnaHQ6MTgwLGVtcHR5TWVzc2FnZToiTm8gbGlua2FibGUgZGF0YXZlcnNlcyBhdmFpbGFibGUuIixiZWhhdmlvcnM6e2l0ZW1TZWxlY3Q6ZnVuY3Rpb24oZXh0LGV2ZW50KSB7UHJpbWVGYWNlcy5hYih7czoiZGF0YXNldEZvcm06ZGF0YXZlcnNlTGlua05hbWUiLGU6Iml0ZW1TZWxlY3QiLHA6ImRhdGFzZXRGb3JtOmRhdGF2ZXJzZUxpbmtOYW1lIn0sZXh0KTt9LGl0ZW1VbnNlbGVjdDpmdW5jdGlvbihleHQsZXZlbnQpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpkYXRhdmVyc2VMaW5rTmFtZSIsZToiaXRlbVVuc2VsZWN0IixwOiJkYXRhc2V0Rm9ybTpkYXRhdmVyc2VMaW5rTmFtZSJ9LGV4dCk7fX19KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE3OTUiIGFyaWEtbGl2ZT0icG9saXRlIiBjbGFzcz0idWktbWVzc2FnZSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGEgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTc5NyIgaHJlZj0iIyIgY2xhc3M9InVpLWNvbW1hbmRsaW5rIHVpLXdpZGdldCBidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxNzk3JnF1b3Q7LHU6JnF1b3Q7bWVzc2FnZVBhbmVsIGRhdGFzZXRGb3JtOmxpbmtEYXRhc2V0Rm9ybSZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9ImJ1dHRvbiI+U2F2ZSBMaW5rZWQgRGF0YXNldDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQRignbGlua0RhdGFzZXRGb3JtJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06bGlua0RhdGFzZXRGb3JtX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsImxpbmtEYXRhc2V0Rm9ybSIse2lkOiJkYXRhc2V0Rm9ybTpsaW5rRGF0YXNldEZvcm0iLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpjb21wdXRlQmF0Y2hMaXN0UG9wdXAiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06Y29tcHV0ZUJhdGNoTGlzdFBvcHVwX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5Db21wdXRlIEJhdGNoPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtcmlnaHQiPjxhIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MDAiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTgwMCZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtIG1lc3NhZ2VQYW5lbCZxdW90O30pO3JldHVybiBmYWxzZTsiIHR5cGU9ImJ1dHRvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tcmVtb3ZlIj48L3NwYW4+Q2xlYXIgQmF0Y2g8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pjx0YWJsZSBpZD0iZGF0YXNldEZvcm06Y29tcHV0ZUJhdGNoIiBjbGFzcz0idGFibGUgdGFibGUtc3RyaXBlZCI+Cjx0aGVhZD4KPHRyPgo8dGggc2NvcGU9ImNvbCI+RGF0YXNldDwvdGg+Cjx0aCBzY29wZT0iY29sIj5EYXRhc2V0IFBlcnNpc3RlbnQgSUQ8L3RoPgo8dGggc2NvcGU9ImNvbCI+PC90aD4KPC90cj4KPC90aGVhZD4KPHRib2R5Pgo8dHI+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PC90cj48L3Rib2R5Pgo8L3RhYmxlPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YSBocmVmPSJodHRwczovL2RhdGF2ZXJzZS5oYXJ2YXJkLmVkdS87anNlc3Npb25pZD04ZjM5NGE2Y2EwZGRkMWU0ZjU0YzJkYTIxYmM2IiBvbmNsaWNrPSJQRignY29tcHV0ZUJhdGNoTGlzdFBvcHVwJykuaGlkZSgpIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCI+Q29tcHV0ZSBCYXRjaDwvYT48aW5wdXQgdHlwZT0iYnV0dG9uIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MTUiIHZhbHVlPSJDYW5jZWwiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG9uY2xpY2s9IlBGKCdjb21wdXRlQmF0Y2hMaXN0UG9wdXAnKS5oaWRlKCk7IiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpjb21wdXRlQmF0Y2hMaXN0UG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiY29tcHV0ZUJhdGNoTGlzdFBvcHVwIix7aWQ6ImRhdGFzZXRGb3JtOmNvbXB1dGVCYXRjaExpc3RQb3B1cCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmFjY2Vzc1BvcHVwIiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmFjY2Vzc1BvcHVwX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5GaWxlIFJlc3RyaWN0aW9uczwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ob3Jpem9udGFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfVGVybXNBY2Nlc3MiIGNsYXNzPSJjb2wtc20tMyBjb250cm9sLWxhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0iYXV0byByaWdodCIgY2xhc3M9InRvb2x0aXBsYWJlbCB0ZXh0LWluZm8iIGRhdGEtb3JpZ2luYWwtdGl0bGU9IkluZm9ybWF0aW9uIG9uIGhvdyBhbmQgaWYgdXNlcnMgY2FuIGdhaW4gYWNjZXNzIHRvIHRoZSByZXN0cmljdGVkIGZpbGVzIGluIHRoaXMgZGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlcm1zIG9mIEFjY2VzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+PHRleHRhcmVhIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MTkiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTgxOSIgY29scz0iMjAiIHJvd3M9IjUiIG1heGxlbmd0aD0iMjE0NzQ4MzY0NyIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0YXJlYSB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIGZvcm0tY29udHJvbCI+PC90ZXh0YXJlYT48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MTlfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0YXJlYSIsImlucHV0dG9hIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTgxOSIsYXV0b1Jlc2l6ZTpmYWxzZX0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWV0YWRhdGFfUmVxdWVzdEFjY2VzcyIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJhdXRvIHJpZ2h0IiBjbGFzcz0idG9vbHRpcGxhYmVsIHRleHQtaW5mbyIgZGF0YS1vcmlnaW5hbC10aXRsZT0iSWYgY2hlY2tlZCwgdXNlcnMgY2FuIHJlcXVlc3QgYWNjZXNzIHRvIHRoZSByZXN0cmljdGVkIGZpbGVzIGluIHRoaXMgZGF0YXNldC4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVlc3QgQWNjZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzIiBjbGFzcz0idWktc2VsZWN0Ym9vbGVhbmNoZWNrYm94IHVpLWNoa2JveCB1aS13aWRnZXQiPjxkaXYgY2xhc3M9InVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSI+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzX2lucHV0IiBuYW1lPSJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzX2lucHV0IiB0eXBlPSJjaGVja2JveCIgYXV0b2NvbXBsZXRlPSJvZmYiIGFyaWEtaGlkZGVuPSJ0cnVlIiBhcmlhLWNoZWNrZWQ9ImZhbHNlIiAvPjwvZGl2PjxkaXYgY2xhc3M9InVpLWNoa2JveC1ib3ggdWktd2lkZ2V0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGVmYXVsdCI+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1pY29uIHVpLWljb24gdWktaWNvbi1ibGFuayB1aS1jIj48L3NwYW4+PC9kaXY+PHNwYW4gY2xhc3M9InVpLWNoa2JveC1sYWJlbCI+RW5hYmxlIGFjY2VzcyByZXF1ZXN0PC9zcGFuPjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOnJlcXVlc3RBY2Nlc3NfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJTZWxlY3RCb29sZWFuQ2hlY2tib3giLCJpbnB1dGZhciIse2lkOiJkYXRhc2V0Rm9ybTpyZXF1ZXN0QWNjZXNzIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MjMiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTgyMyIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignYWNjZXNzUG9wdXAnKS5oaWRlKCl9LGZ1bmN0aW9uKGV2ZW50KXtQcmltZUZhY2VzLmFiKHtzOiZxdW90O2RhdGFzZXRGb3JtOmpfaWR0MTgyMyZxdW90Oyx1OiZxdW90O2RhdGFzZXRGb3JtIG1lc3NhZ2VQYW5lbCZxdW90O30pO3JldHVybiBmYWxzZTt9XSk7IiB0eXBlPSJzdWJtaXQiPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5Db250aW51ZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MjNfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTgyMyIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE4MjMifSk7PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxODI2IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MjYiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignYWNjZXNzUG9wdXAnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxODI2X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE4MjYiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxODI2In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06YWNjZXNzUG9wdXBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiYWNjZXNzUG9wdXAiLHtpZDoiZGF0YXNldEZvcm06YWNjZXNzUG9wdXAiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTppbnJldmlldyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTppbnJldmlld190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+U3VibWl0IGZvciBSZXZpZXc8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtd2FybmluZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi13YXJuaW5nLXNpZ24iPjwvc3Bhbj4gWW91IHdpbGwgbm90IGJlIGFibGUgdG8gbWFrZSBjaGFuZ2VzIHRvIHRoaXMgZGF0YXNldCB3aGlsZSBpdCBpcyBpbiByZXZpZXcuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MjkiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTgyOSIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRignaW5yZXZpZXcnKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpO30sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxODI5JnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPlN1Ym1pdDwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MjlfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTgyOSIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE4MjkifSk7PC9zY3JpcHQ+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxODMwIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MzAiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignaW5yZXZpZXcnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxODMwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE4MzAiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxODMwIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTppbnJldmlld19zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJpbnJldmlldyIse2lkOiJkYXRhc2V0Rm9ybTppbnJldmlldyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTgzMiIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4MzJfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlB1Ymxpc2ggRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcHVibGlzaCB0aGlzIGRhdGFzZXQ/IE9uY2UgeW91IGRvIHNvIGl0IG11c3QgcmVtYWluIHB1Ymxpc2hlZC4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPjxkaXYgaWQ9InRlcm1zLWFncmVlbWVudC1ibG9jayIgY2xhc3M9IndlbGwiPkJ5IGRlZmF1bHQgZGF0YXNldHMgYXJlIHB1Ymxpc2hlZCB3aXRoIHRoZSBDQzAt4oCcUHVibGljIERvbWFpbiBEZWRpY2F0aW9u4oCdIHdhaXZlci4gTGVhcm4gbW9yZSBhYm91dCB0aGUgQ0MwIHdhaXZlciA8YSB0YXJnZXQ9X2JsYW5rIGhyZWY9J2h0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2Nob29zZS96ZXJvLyc+aGVyZTwvYT4uIDxicj48YnI+IFRvIHB1Ymxpc2ggd2l0aCBjdXN0b20gVGVybXMgb2YgVXNlLCBjbGljayB0aGUgQ2FuY2VsIGJ1dHRvbiBhbmQgZ28gdG8gdGhlIFRlcm1zIHRhYiBmb3IgdGhpcyBkYXRhc2V0LjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTgzNyIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxODM3IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUHJpbWVGYWNlcy5iY24odGhpcyxldmVudCxbZnVuY3Rpb24oZXZlbnQpe1BGKCdwdWJsaXNoQ29uZmlybScpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7fSxmdW5jdGlvbihldmVudCl7UHJpbWVGYWNlcy5hYih7czomcXVvdDtkYXRhc2V0Rm9ybTpqX2lkdDE4MzcmcXVvdDt9KTtyZXR1cm4gZmFsc2U7fV0pOyIgdHlwZT0ic3VibWl0Ij48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q29udGludWU8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxODM3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE4MzciLHtpZDoiZGF0YXNldEZvcm06al9pZHQxODM3In0pOzwvc2NyaXB0PjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTgzOCIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxODM4IiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ3B1Ymxpc2hDb25maXJtJykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTgzOF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxODM4Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTgzOCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxODMyX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInB1Ymxpc2hDb25maXJtIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTgzMiIsbW9kYWw6dHJ1ZSx3aWR0aDoiNzAlIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTg0MCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4NDBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlB1Ymxpc2ggRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC13YXJuaW5nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXdhcm5pbmctc2lnbiI+PC9zcGFuPlRoaXMgZGF0YXNldCBjYW5ub3QgYmUgcHVibGlzaGVkIHVudGlsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvZGF0YXZlcnNlL2hhcnZhcmQiIHRpdGxlPSJIYXJ2YXJkIERhdGF2ZXJzZSI+SGFydmFyZCBEYXRhdmVyc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPiBpcyBwdWJsaXNoZWQuIFdvdWxkIHlvdSBsaWtlIHRvIHB1Ymxpc2ggYm90aCByaWdodCBub3c/CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD48ZGl2IGlkPSJ0ZXJtcy1hZ3JlZW1lbnQtYmxvY2siIGNsYXNzPSJ3ZWxsIj5CeSBkZWZhdWx0IGRhdGFzZXRzIGFyZSBwdWJsaXNoZWQgd2l0aCB0aGUgQ0MwLeKAnFB1YmxpYyBEb21haW4gRGVkaWNhdGlvbuKAnSB3YWl2ZXIuIExlYXJuIG1vcmUgYWJvdXQgdGhlIENDMCB3YWl2ZXIgCjxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2Nob29zZS96ZXJvLyIgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+LiAKPGJyPgo8YnI+IFRvIHB1Ymxpc2ggd2l0aCBjdXN0b20gVGVybXMgb2YgVXNlLCBjbGljayB0aGUgQ2FuY2VsIGJ1dHRvbiBhbmQgZ28gdG8gdGhlIFRlcm1zIHRhYiBmb3IgdGhpcyBkYXRhc2V0LjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaGVscC1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1pbmZvLXNpZ24iPjwvc3Bhbj4gT25jZSB5b3UgcHVibGlzaCB0aGlzIGRhdGFzZXQgaXQgbXVzdCByZW1haW4gcHVibGlzaGVkLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxODUxIiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE4NTEiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ3B1Ymxpc2hQYXJlbnQnKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpO30sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxODUxJnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPlllcywgUHVibGlzaCBCb3RoPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTg1MV9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxODUxIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTg1MSJ9KTs8L3NjcmlwdD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4NTIiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTg1MiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdwdWJsaXNoUGFyZW50JykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2FuY2VsPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTg1Ml9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxODUyIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTg1MiJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxODQwX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIkRpYWxvZyIsInB1Ymxpc2hQYXJlbnQiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxODQwIixtb2RhbDp0cnVlLHdpZHRoOiI3MCUifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iZGF0YXNldEZvcm06al9pZHQxODU0IiBjbGFzcz0idWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTg1NF90aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+UHVibGlzaCBEYXRhc2V0PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXB1Ymxpc2ggdGhpcyBkYXRhc2V0PwogICAgICAgICAgICAgICAgICAgICAgICA8L3A+PGRpdiBpZD0idGVybXMtYWdyZWVtZW50LWJsb2NrIiBjbGFzcz0id2VsbCI+QnkgZGVmYXVsdCBkYXRhc2V0cyBhcmUgcHVibGlzaGVkIHdpdGggdGhlIENDMC3igJxQdWJsaWMgRG9tYWluIERlZGljYXRpb27igJ0gd2FpdmVyLiBMZWFybiBtb3JlIGFib3V0IHRoZSBDQzAgd2FpdmVyIAo8YSBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9jaG9vc2UvemVyby8iIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIj5oZXJlPC9hPi4gCjxicj4KPGJyPiBUbyBwdWJsaXNoIHdpdGggY3VzdG9tIFRlcm1zIG9mIFVzZSwgY2xpY2sgdGhlIENhbmNlbCBidXR0b24gYW5kIGdvIHRvIHRoZSBUZXJtcyB0YWIgZm9yIHRoaXMgZGF0YXNldC48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1pbmZvLXNpZ24iPjwvc3Bhbj4gU2VsZWN0IGlmIHRoaXMgaXMgYSBtaW5vciBvciBtYWpvciB2ZXJzaW9uIHVwZGF0ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD48dGFibGUgaWQ9ImRhdGFzZXRGb3JtOm9wdGlvbnMiIHJvbGU9InByZXNlbnRhdGlvbiIgY2xhc3M9InVpLXNlbGVjdG9uZXJhZGlvIHVpLXdpZGdldCI+PHRyPjx0ZD48ZGl2IGNsYXNzPSJ1aS1yYWRpb2J1dHRvbiB1aS13aWRnZXQiPjxkaXYgY2xhc3M9InVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSI+PGlucHV0IGlkPSJkYXRhc2V0Rm9ybTpvcHRpb25zOjAiIG5hbWU9ImRhdGFzZXRGb3JtOm9wdGlvbnMiIHR5cGU9InJhZGlvIiB2YWx1ZT0iMSIgY2hlY2tlZD0iY2hlY2tlZCIgLz48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1yYWRpb2J1dHRvbi1ib3ggdWktd2lkZ2V0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGVmYXVsdCB1aS1zdGF0ZS1hY3RpdmUiPjxzcGFuIGNsYXNzPSJ1aS1yYWRpb2J1dHRvbi1pY29uIHVpLWljb24gdWktaWNvbi1idWxsZXQgdWktYyI+PC9zcGFuPjwvZGl2PjwvZGl2PjxsYWJlbCBmb3I9ImRhdGFzZXRGb3JtOm9wdGlvbnM6MCI+TWlub3IgUmVsZWFzZSAoMS4xKTwvbGFiZWw+PC90ZD48dGQ+PGRpdiBjbGFzcz0idWktcmFkaW9idXR0b24gdWktd2lkZ2V0Ij48ZGl2IGNsYXNzPSJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiPjxpbnB1dCBpZD0iZGF0YXNldEZvcm06b3B0aW9uczoxIiBuYW1lPSJkYXRhc2V0Rm9ybTpvcHRpb25zIiB0eXBlPSJyYWRpbyIgdmFsdWU9IjIiIC8+PC9kaXY+PGRpdiBjbGFzcz0idWktcmFkaW9idXR0b24tYm94IHVpLXdpZGdldCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRlZmF1bHQiPjxzcGFuIGNsYXNzPSJ1aS1yYWRpb2J1dHRvbi1pY29uIHVpLWljb24gdWktaWNvbi1ibGFuayB1aS1jIj48L3NwYW4+PC9kaXY+PC9kaXY+PGxhYmVsIGZvcj0iZGF0YXNldEZvcm06b3B0aW9uczoxIj5NYWpvciBSZWxlYXNlICgyLjApPC9sYWJlbD48L3RkPjwvdHI+PC90YWJsZT48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpvcHRpb25zX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIlNlbGVjdE9uZVJhZGlvIiwid2lkZ2V0X2RhdGFzZXRGb3JtX29wdGlvbnMiLHtpZDoiZGF0YXNldEZvcm06b3B0aW9ucyJ9KTt9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4NjYiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTg2NiIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlByaW1lRmFjZXMuYmNuKHRoaXMsZXZlbnQsW2Z1bmN0aW9uKGV2ZW50KXtQRigncmVsZWFzZURyYWZ0JykuaGlkZSgpO1BGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpO30sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxODY2JnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTg2Nl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxODY2Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTg2NiJ9KTs8L3NjcmlwdD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4NjgiIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTg2OCIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdyZWxlYXNlRHJhZnQnKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxODY4X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE4NjgiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxODY4In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4NTRfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwicmVsZWFzZURyYWZ0Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTg1NCIsbW9kYWw6dHJ1ZSx3aWR0aDoiNzAlIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTg3MCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4NzBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlB1Ymxpc2ggRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPlRoaXMgZGF0YXNldCBjYW5ub3QgYmUgcHVibGlzaGVkIHVudGlsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvZGF0YXZlcnNlLnhodG1sP2FsaWFzPWhhcnZhcmQiIHRpdGxlPSJIYXJ2YXJkIERhdGF2ZXJzZSI+SGFydmFyZCBEYXRhdmVyc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPiAgaXMgcHVibGlzaGVkIGJ5IGl0cyBhZG1pbmlzdHJhdG9yLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxODc4IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE4NzgiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQRignbWF5Tm90UmVsZWFzZScpLmhpZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DbG9zZTwvc3Bhbj48L2J1dHRvbj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4NzhfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5QcmltZUZhY2VzLmN3KCJDb21tYW5kQnV0dG9uIiwid2lkZ2V0X2RhdGFzZXRGb3JtX2pfaWR0MTg3OCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE4NzgifSk7PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTg3MF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJEaWFsb2ciLCJtYXlOb3RSZWxlYXNlIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTg3MCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTg4MCIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4ODBfdGl0bGUiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGUiPlB1Ymxpc2ggRGF0YXNldDwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1kYW5nZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiI+PC9zcGFuPlRoaXMgZGF0YXNldCBjYW5ub3QgYmUgcHVibGlzaGVkIHVudGlsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvZGF0YXZlcnNlL2hhcnZhcmQiIHRpdGxlPSJIYXJ2YXJkIERhdGF2ZXJzZSI+SGFydmFyZCBEYXRhdmVyc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPiBhbmQgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9kYXRhdmVyc2UvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPiAgYXJlIHB1Ymxpc2hlZC4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tYmxvY2siPjxidXR0b24gaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTg5MiIgbmFtZT0iZGF0YXNldEZvcm06al9pZHQxODkyIiBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgdWktYnV0dG9uLXRleHQtb25seSIgb25jbGljaz0iUEYoJ21heW5vdFB1Ymxpc2hQYXJlbnQnKS5oaWRlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdibG9ja0RhdGFzZXRGb3JtJykuaGlkZSgpOyIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idWktYnV0dG9uLXRleHQgdWktYyI+Q2xvc2U8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxODkyX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE4OTIiLHtpZDoiZGF0YXNldEZvcm06al9pZHQxODkyIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4ODBfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwibWF5bm90UHVibGlzaFBhcmVudCIse2lkOiJkYXRhc2V0Rm9ybTpqX2lkdDE4ODAiLG1vZGFsOnRydWV9KTt9KTs8L3NjcmlwdD48ZGl2IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4OTQiIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0iZGF0YXNldEZvcm06al9pZHQxODk0X3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXR1cm4gdG8gQXV0aG9yPC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXdhcm5pbmciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24td2FybmluZy1zaWduIj48L3NwYW4+IFJldHVybiB0aGlzIGRhdGFzZXQgdG8gY29udHJpYnV0b3IgZm9yIG1vZGlmaWNhdGlvbi4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGJ1dHRvbiBpZD0iZGF0YXNldEZvcm06al9pZHQxODk2IiBuYW1lPSJkYXRhc2V0Rm9ybTpqX2lkdDE4OTYiIGNsYXNzPSJ1aS1idXR0b24gdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCB1aS1idXR0b24tdGV4dC1vbmx5IiBvbmNsaWNrPSJQcmltZUZhY2VzLmJjbih0aGlzLGV2ZW50LFtmdW5jdGlvbihldmVudCl7UEYoJ3NlbmRCYWNrVG9Db250cmlidXRvcicpLmhpZGUoKX0sZnVuY3Rpb24oZXZlbnQpe1ByaW1lRmFjZXMuYWIoe3M6JnF1b3Q7ZGF0YXNldEZvcm06al9pZHQxODk2JnF1b3Q7fSk7cmV0dXJuIGZhbHNlO31dKTsiIHR5cGU9InN1Ym1pdCI+PHNwYW4gY2xhc3M9InVpLWJ1dHRvbi10ZXh0IHVpLWMiPkNvbnRpbnVlPC9zcGFuPjwvYnV0dG9uPjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTg5Nl9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIkNvbW1hbmRCdXR0b24iLCJ3aWRnZXRfZGF0YXNldEZvcm1fal9pZHQxODk2Iix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTg5NiJ9KTs8L3NjcmlwdD48YnV0dG9uIGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4OTciIG5hbWU9ImRhdGFzZXRGb3JtOmpfaWR0MTg5NyIgY2xhc3M9InVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLWJ1dHRvbi10ZXh0LW9ubHkiIG9uY2xpY2s9IlBGKCdzZW5kQmFja1RvQ29udHJpYnV0b3InKS5oaWRlKCk7UEYoJ2Jsb2NrRGF0YXNldEZvcm0nKS5oaWRlKCk7IiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ1aS1idXR0b24tdGV4dCB1aS1jIj5DYW5jZWw8L3NwYW4+PC9idXR0b24+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06al9pZHQxODk3X3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiQ29tbWFuZEJ1dHRvbiIsIndpZGdldF9kYXRhc2V0Rm9ybV9qX2lkdDE4OTciLHtpZDoiZGF0YXNldEZvcm06al9pZHQxODk3In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IGlkPSJkYXRhc2V0Rm9ybTpqX2lkdDE4OTRfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic2VuZEJhY2tUb0NvbnRyaWJ1dG9yIix7aWQ6ImRhdGFzZXRGb3JtOmpfaWR0MTg5NCIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxzY3JpcHQgaWQ9ImRhdGFzZXRGb3JtOmpfaWR0MTg5OSIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5yZXR1cm5Ub0F1dGhvckNvbW1hbmQgPSBmdW5jdGlvbigpIHtQcmltZUZhY2VzLmFiKHtzOiJkYXRhc2V0Rm9ybTpqX2lkdDE4OTkiLGY6ImRhdGFzZXRGb3JtIixwYTphcmd1bWVudHNbMF19KTt9PC9zY3JpcHQ+PHNjcmlwdCBpZD0iZGF0YXNldEZvcm06ZW50ZXJSZXR1cm5SZWFzb25fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiQ29uZmlybURpYWxvZyIsImVudGVyUmV0dXJuUmVhc29uIix7aWQ6ImRhdGFzZXRGb3JtOmVudGVyUmV0dXJuUmVhc29uIn0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9ImRhdGFzZXRGb3JtOmVudGVyUmV0dXJuUmVhc29uIiBjbGFzcz0idWktY29uZmlybS1kaWFsb2cgdWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXNoYWRvdyB1aS1oaWRkZW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRvcCI+PHNwYW4gaWQ9ImRhdGFzZXRGb3JtOmVudGVyUmV0dXJuUmVhc29uX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5SZXF1aXJlZCBlbnRyeTwvc3Bhbj48YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWljb24gdWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIGFyaWEtbGFiZWw9IkNsb3NlIj48c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siPjwvc3Bhbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0idWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tYWxlcnQgdWktY29uZmlybS1kaWFsb2ctc2V2ZXJpdHkiPjwvc3Bhbj48c3BhbiBjbGFzcz0idWktY29uZmlybS1kaWFsb2ctbWVzc2FnZSI+UmVhc29uIGZvciByZXR1cm4gdG8gYXV0aG9yIGlzIHJlcXVpcmVkPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1idXR0b25wYW5lIHVpLWRpYWxvZy1mb290ZXIgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4Ij48L2Rpdj48L2Rpdj48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJqYXZheC5mYWNlcy5WaWV3U3RhdGUiIGlkPSJqX2lkMTpqYXZheC5mYWNlcy5WaWV3U3RhdGU6MCIgdmFsdWU9Ii0zODkyMTc1OTIxMjQ0MDQ2ODMwOi01NTExMjU1ODM2MjI2MTMxNDUiIGF1dG9jb21wbGV0ZT0ib2ZmIiAvPgo8L2Zvcm0+CiAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvcmVzb3VyY2VzL2pzL2Ryb3BpbnMuanMiIGlkPSJkcm9wYm94anMiIGRhdGEtYXBwLWtleT0iMWl0cm91NmRkeHgwYnNkIj48L3NjcmlwdD4KICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBvcG92ZXJIVE1MKCdBbGxvd2VkIEhUTUwgVGFncycpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RSZXR1cm5SZWFzb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJldHVyblJlYXNvblRleHQgPSBQRigncmV0dXJuUmVhc29uJykuanEudmFsKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXR1cm5SZWFzb25UZXh0Lmxlbmd0aD09PTApewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2VudGVyUmV0dXJuUmVhc29uJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ3NlbmRCYWNrVG9Db250cmlidXRvcicpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVyblRvQXV0aG9yQ29tbWFuZCgpOwogICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9wZW5EaWFsb2coKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdkZXRhaWxzJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBvcGVuQ29tcGFyZVR3bygpIHsKICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2NvbXBhcmVUd28nKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RDaGVja0JveGVzKCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgY291bnQgPSBQRigndmVyc2lvbnNUYWJsZScpLmdldFNlbGVjdGVkUm93c0NvdW50KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCAhPT0gMikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2NvbXBhcmVUd28nKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCdidXR0b25baWQkPSJjb21wYXJlVmVyc2lvbnMiXScpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEZpbGVzU2VsZWN0ZWRGb3JSZXN0cmljdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50ID0gUEYoJ2ZpbGVzVGFibGUnKS5nZXRTZWxlY3RlZFJvd3NDb3VudCgpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdzZWxlY3RGaWxlc0ZvclJlc3RyaWN0Jykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2FjY2Vzc1BvcHVwJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0RmlsZXNTZWxlY3RlZEZvclRhZ3MoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IFBGKCdmaWxlc1RhYmxlJykuZ2V0U2VsZWN0ZWRSb3dzQ291bnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50ID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignc2VsZWN0RmlsZXNGb3JFZGl0VGFncycpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hUYWdzQ29tbWFuZCgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RGaWxlc1NlbGVjdGVkRm9yRGVsZXRlKCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgY291bnQgPSBQRignZmlsZXNUYWJsZScpLmdldFNlbGVjdGVkUm93c0NvdW50KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ3NlbGVjdEZpbGVzRm9yRGVsZXRlJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2RlbGV0ZVNlbGVjdGVkRmlsZUNvbmZpcm1hdGlvbicpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0RmlsZXNTZWxlY3RlZEZvckVkaXRNZXRhZGF0YSgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50ID0gUEYoJ2ZpbGVzVGFibGUnKS5nZXRTZWxlY3RlZFJvd3NDb3VudCgpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdzZWxlY3RGaWxlc0ZvckVkaXRNZXRhZGF0YScpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSAvL2Vsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBJIGNvbW1lbnRlZCBvdXQgdGhlIGNvZGUgYmVsb3c7IGlmIHRoZXJlJ3MKICAgICAgICAgICAgICAgICAgICAgICAgLy8gMSBvciBtb3JlIGZpbGUgc2VsZWN0ZWQsIEkgZG9uJ3Qgd2FudCB0aGlzCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1ldGhvZCB0byBhY3RpdmF0ZSB0aGUgcDpyZW1vdGVDb21tYW5kIHRoYXQKICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXNzdWVzIHRoZSByZWRpcmVjdCB0byB0aGUgZWRpdCBwYWdlIChvcgogICAgICAgICAgICAgICAgICAgICAgICAvLyBkbyBhbnl0aGluZyBlbHNlIGZvciB0aGF0IG1hdHRlcikuIERvaW5nCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGl0IHRoaXMgd2F5IHdhcywgZm9yIHNvbWUgcmVhc29uLCBjYXVzaW5nCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgcGFnZSB0byBzdGlsbCB0cnkgdG8gcmVuZGVyICg/PyksIGluCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvbWUgcGFydGlhbCwgaGFsZi1iYWtlZCBzdGF0ZSAtIHdpdGggbm8KICAgICAgICAgICAgICAgICAgICAgICAgLy8gd29ya2luZ1ZlcnNpb24gcHJlc2VudCwgZXRjLiAtIHRoYXQgcmVzdWx0ZWQKICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW4gc29tZSBOVUxMIHBvaW50ZXJzIGluIHRoZSBsb2dzLi4uIFNvLAogICAgICAgICAgICAgICAgICAgICAgICAvLyBpbnN0ZWFkLCB0aGUgcmVkaXJlY3Qgd2lsbCBiZSBkb25lIGJ5IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvLyBkaXJlY3QgYWN0aW9uPSBhdHRyaWJ1dGUgaW4gdGhlIG9yaWdpbmFsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbW1hbmRCdXR0b24uIC0tIEwuQS4gNC4yLjEKICAgICAgICAgICAgICAgICAgICAgICAgLy9vcGVuRWRpdEZpbGVzUGFnZUNvbW1hbmQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgLy99CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVRlbXBsYXRlKCkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCdidXR0b25baWQkPSJ1cGRhdGVUZW1wbGF0ZSJdJykudHJpZ2dlcignY2xpY2snKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gcmVnaXN0ZXJEYXRhc2V0KCkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCdidXR0b25baWQkPSJyZWdpc3RlckRhdGFzZXQiXScpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNoZWNrTmV3bHlSZXN0cmljdGVkKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCgnaW5wdXRbaWQkPSJzaG93QWNjZXNzUG9wdXAiXScpLnZhbCgpID09PSAndHJ1ZScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdhY2Nlc3NQb3B1cCcpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJ2J1dHRvbltpZCQ9ImRhdGFzZXRTYXZlIl0nKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHVwZGF0ZUhpZGRlblJlYXNvbih0ZXh0QXJlYSkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCdpbnB1dFtpZCQ9ImhpZGRlblJlYXNvbklucHV0Il0nKS52YWwodGV4dEFyZWEudmFsdWUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0RGVhY2Nlc3Npb25WZXJzaW9uU2VsZWN0aW9uKHRlc3RWZXJzaW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkZWFjY2Vzc2lvblRleHQgPSAkKCdpbnB1dFtpZCQ9ImhpZGRlblJlYXNvbklucHV0Il0nKS52YWwoKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVybEVudHJ5ID0gJCgnaW5wdXRbaWQkPSJmb3J3YXJkVVJMRm9yRGVhY2Nlc3Npb24iXScpLnZhbCgpOwogICAgICAgICAgICAgICAgICAgICAgICA7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWxpZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0VmVyc2lvbiA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50ID0gUEYoJ3ZlcnNpb25EZWFjY2Vzc2lvblRhYmxlJykuZ2V0U2VsZWN0ZWRSb3dzQ291bnQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWRhdGVVUkwodXJsRW50cnkpID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdlbnRlckZvcndhcmRVcmwnKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCgic2VsZWN0W2lkJD0ncmVhc29uT3B0aW9ucyddIG9wdGlvbjpzZWxlY3RlZCIpLnZhbCgpID09PSAnNycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVhY2Nlc3Npb25UZXh0ID09PSAnJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRignZW50ZXJPdGhlclJlYXNvbicpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlYWNjZXNzaW9uVGV4dC5sZW5ndGggPj0gMTAwMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdyZWFzb25Ub29NYW55Q2hhcmFjdGVycycpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsaWQgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKCJzZWxlY3RbaWQkPSdyZWFzb25PcHRpb25zJ10gb3B0aW9uOnNlbGVjdGVkIikudmFsKCkgPT09ICcwJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ3NlbGVjdERlYWNjZXNzaW9uUmVhc29uJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWxpZCA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3RWZXJzaW9uID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdkZWFjY2Vzc2lvbkFsbENvbmZpcm1hdGlvbicpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50ID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGKCdzZWxlY3REZWFjY2Vzc2lvblZlcnNpb24nKS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEYoJ2RlYWNjZXNzaW9uQ29uZmlybWF0aW9uJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB2YWxpZGF0ZVVSTCh0ZXh0dmFsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXh0dmFsID09PSAnJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVybHJlZ2V4ID0gbmV3IFJlZ0V4cCgiXihodHRwfGh0dHBzfGZ0cClcOi8vKFthLXpBLVowLTlcLlwtXSsoXDpbYS16QS1aMC05XC4mJSRcLV0rKSpAKSooKDI1WzAtNV18MlswLTRdWzAtOV18WzAtMV17MX1bMC05XXsyfXxbMS05XXsxfVswLTldezF9fFsxLTldKVwuKDI1WzAtNV18MlswLTRdWzAtOV18WzAtMV17MX1bMC05XXsyfXxbMS05XXsxfVswLTldezF9fFsxLTldfDApXC4oMjVbMC01XXwyWzAtNF1bMC05XXxbMC0xXXsxfVswLTldezJ9fFsxLTldezF9WzAtOV17MX18WzEtOV18MClcLigyNVswLTVdfDJbMC00XVswLTldfFswLTFdezF9WzAtOV17Mn18WzEtOV17MX1bMC05XXsxfXxbMC05XSl8KFthLXpBLVowLTlcLV0rXC4pKlthLXpBLVowLTlcLV0rXC4oY29tfGVkdXxnb3Z8aW50fG1pbHxuZXR8b3JnfGJpenxhcnBhfGluZm98bmFtZXxwcm98YWVyb3xjb29wfG11c2V1bXxbYS16QS1aXXsyfSkpKFw6WzAtOV0rKSooLygkfFthLXpBLVowLTlcLlwsXD9cJ1xcXCsmJSQjXD1+X1wtXSspKSokIik7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxyZWdleC50ZXN0KHRleHR2YWwpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBvcGVuRHJvcGJveENob29zZXIoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXF1aXJlZC4gQ2FsbGVkIHdoZW4gYSB1c2VyIHNlbGVjdHMgYW4gaXRlbSBpbiB0aGUgQ2hvb3Nlci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChmaWxlcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBhc3MgdGhlIEpTT04taXplZCBvdXRwdXQgb2YgdGhlIENob29zZXIgdG8gdGhlIGJhY2tpbmcgYmVhbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB2aWEgYSBoaWRkZW4gaW5wdXQgZmllbGQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnaW5wdXRbaWQkPSJkcm9wQm94U2VsZWN0aW9uSW5wdXQiXScpLnZhbChKU09OLnN0cmluZ2lmeShmaWxlcykpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vYWxlcnQoSlNPTi5zdHJpbmdpZnkoZmlsZXMpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUcmlnZ2VyIHRoZSB1cGxvYWQgcHJvY2Vzc2luZyBtZXRob2QgaW4gdGhlIGJhY2tpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiZWFuLCB2aWEgYW4gaW52aXNpYmxlIGNvbW1hbmRCdXR0b246CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnYnV0dG9uW2lkJD0iZHJvcEJveEJ1dHRvbiJdJykudHJpZ2dlcignY2xpY2snKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rVHlwZTogImRpcmVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXNlbGVjdDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgRHJvcGJveC5jaG9vc2Uob3B0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgPC9kaXY+CgogICAgPGRpdiBpZD0iZm9vdGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPjxkaXYgY2xhc3M9ImNvbC1zbS04IHNtYWxsIj4KICAgICAgICAgICAgICAgICAgICA8cD5Db3B5cmlnaHQgJiMxNjk7IDIwMTgsIFRoZSBQcmVzaWRlbnQgJiMzODsgRmVsbG93cyBvZiBIYXJ2YXJkIENvbGxlZ2XCoHzCoCA8YSBocmVmPSJodHRwOi8vYmVzdC1wcmFjdGljZXMuZGF0YXZlcnNlLm9yZy9oYXJ2YXJkLXBvbGljaWVzL2hhcnZhcmQtcHJpdmFjeS1wb2xpY3kuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPlByaXZhY3kgUG9saWN5PC9hPgogICAgICAgICAgICAgICAgICAgIDwvcD48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS00IHRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBvd2VyZWRieWxvZ28iPgogICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Qb3dlcmVkIGJ5PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vZGF0YXZlcnNlLm9yZy8iIHRpdGxlPSJUaGUgRGF0YXZlcnNlIFByb2plY3QiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iL3Jlc291cmNlcy9pbWFnZXMvZGF0YXZlcnNlX3Byb2plY3RfbG9nby5zdmciIHdpZHRoPSIxMTgiIGhlaWdodD0iNDAiIG9uZXJyb3I9InRoaXMuc3JjPScvcmVzb3VyY2VzL2ltYWdlcy9kYXRhdmVyc2Vwcm9qZWN0X2xvZ28ucG5nJyIgYWx0PSJUaGUgRGF0YXZlcnNlIFByb2plY3QiIC8+PC9hPjxzcGFuIGNsYXNzPSJ2ZXJzaW9uIj52LiA0LjkuNCBidWlsZCAxMDU4LTU3YjNiN2U8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj48c3R5bGU+CiNmZWVkYmFja1RhYiB7CiAgICBwb3NpdGlvbjpmaXhlZDsKICAgIGJvdHRvbTowOwogICAgcmlnaHQ6NTBweDsKfQojZmVlZGJhY2tUYWIgYnV0dG9uLmJ0bi1mZWVkYmFjayB7CiAgICBtYXJnaW4tcmlnaHQ6ODlweDsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKfQouYnRuLWZlZWRiYWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzU1QjI4OwogIGJvcmRlci1jb2xvcjogI0M1NUIyODsKICBjb2xvcjogI2ZmZjsKfQouYnRuLWZlZWRiYWNrOmhvdmVyLAouYnRuLWZlZWRiYWNrOmZvY3VzLAouYnRuLWZlZWRiYWNrOmFjdGl2ZSwKLmJ0bi1mZWVkYmFjay5hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6ICNiMDUxMjQ7CiAgYm9yZGVyLWNvbG9yOiAjOWI0NzFmOwogIGNvbG9yOiAjZmZmOwp9Ci5idG4tZmVlZGJhY2suZGlzYWJsZWQ6aG92ZXIsCi5idG4tZmVlZGJhY2suZGlzYWJsZWQ6Zm9jdXMsCi5idG4tZmVlZGJhY2suZGlzYWJsZWQ6YWN0aXZlLAouYnRuLWZlZWRiYWNrLmRpc2FibGVkLmFjdGl2ZSwKLmJ0bi1mZWVkYmFja1tkaXNhYmxlZF06aG92ZXIsCi5idG4tZmVlZGJhY2tbZGlzYWJsZWRdOmZvY3VzLAouYnRuLWZlZWRiYWNrW2Rpc2FibGVkXTphY3RpdmUsCi5idG4tZmVlZGJhY2tbZGlzYWJsZWRdLmFjdGl2ZSwKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZmVlZGJhY2s6aG92ZXIsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWZlZWRiYWNrOmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1mZWVkYmFjazphY3RpdmUsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWZlZWRiYWNrLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI0M1NUIyODsKICBib3JkZXItY29sb3I6ICNDNTVCMjg7Cn0KI2ZlZWRiYWNrVGFiQm9keSBkaXYucGFuZWwgewogICAgd2lkdGg6MTkwcHg7CiAgICBtYXJnaW46MDsKICAgIGJhY2tncm91bmQ6I0Y4RjhGODsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7Cn0KPC9zdHlsZT4KCjxkaXYgaWQ9ImZlZWRiYWNrVGFiIj4KICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1mZWVkYmFjayIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI2ZlZWRiYWNrVGFiQm9keSI+CiAgICAgICAgRmVlZGJhY2sKICAgIDwvYnV0dG9uPgogICAgPGRpdiBpZD0iZmVlZGJhY2tUYWJCb2R5IiBjbGFzcz0iY29sbGFwc2UiPgogICAgICAgIDxkaXYgY2xhc3M9InBhbmVsIHBhbmVsLWRlZmF1bHQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ib2R5IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgSGVscCBpbXByb3ZlIERhdGF2ZXJzZTogVm9sdW50ZWVyIGZvciBvbmxpbmUgdXNhYmlsaXR5IHJlc2VhcmNoIQogICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1mZWVkYmFjayIgaHJlZj0iaHR0cHM6Ly9nb28uZ2wvZm9ybXMvcDd1dTNHZmlXWVNsSnJzaTEiIHJvbGU9ImJ1dHRvbiIgdGFyZ2V0PSJfYmxhbmsiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNmZWVkYmFja1RhYkJvZHkiPgogICAgICAgICAgICAgICAgICBMZWFybiBNb3JlCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KPGRpdiBpZD0iYWpheFN0YXR1c1BhbmVsIj48ZGl2IGlkPSJhamF4U3RhdHVzUGFuZWxfc3RhcnQiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxpbWcgc3JjPSIvcmVzb3VyY2VzL2ltYWdlcy9hamF4LWxvYWRpbmcuZ2lmO2pzZXNzaW9uaWQ9OGYzOTRhNmNhMGRkZDFlNGY1NGMyZGEyMWJjNiIgYWx0PSJMb2FkaW5nIiAvPjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImFqYXhTdGF0dXNQYW5lbF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiQoZnVuY3Rpb24oKXtQcmltZUZhY2VzLmN3KCJBamF4U3RhdHVzIiwid2lkZ2V0X2FqYXhTdGF0dXNQYW5lbCIse2lkOiJhamF4U3RhdHVzUGFuZWwifSk7fSk7PC9zY3JpcHQ+PGRpdiBpZD0iY29udGFjdERpYWxvZyIgY2xhc3M9InVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCB1aS1zaGFkb3cgdWktaGlkZGVuLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IHVpLWNvcm5lci10b3AiPjxzcGFuIGlkPSJjb250YWN0RGlhbG9nX3RpdGxlIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlIj5Db250YWN0IEhhcnZhcmQgRGF0YXZlcnNlIFN1cHBvcnQ8L3NwYW4+PGEgaHJlZj0iIyIgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhci1pY29uIHVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB1aS1jb3JuZXItYWxsIiBhcmlhLWxhYmVsPSJDbG9zZSI+PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZXRoaWNrIj48L3NwYW4+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InVpLWRpYWxvZy1jb250ZW50IHVpLXdpZGdldC1jb250ZW50Ij48ZGl2IGlkPSJqX2lkdDE5MjUiPgo8Zm9ybSBpZD0iZW1haWxGb3JtIiBuYW1lPSJlbWFpbEZvcm0iIG1ldGhvZD0icG9zdCIgYWN0aW9uPSIvZGF0YXNldC54aHRtbDtqc2Vzc2lvbmlkPThmMzk0YTZjYTBkZGQxZTRmNTRjMmRhMjFiYzY/cGVyc2lzdGVudElkPWRvaToxMC43OTEwL0RWTi9OSjdYU08iIGNsYXNzPSJmb3JtLWhvcml6b250YWwiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImVtYWlsRm9ybSIgdmFsdWU9ImVtYWlsRm9ybSIgLz4KCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1lc3NhZ2VUbyIgY2xhc3M9ImNvbC1zbS0zIGNvbnRyb2wtbGFiZWwiPlRvPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJtZXNzYWdlVG8iIGNsYXNzPSJmb3JtLWNvbnRyb2wtc3RhdGljIj5IYXJ2YXJkIERhdGF2ZXJzZSBTdXBwb3J0PC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0idXNlckVtYWlsIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+RnJvbSA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1hc3RlcmlzayB0ZXh0LWRhbmdlciIgdGl0bGU9IlJlcXVpcmVkIGZpZWxkIj48L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTkiPjxpbnB1dCBpZD0iZW1haWxGb3JtOnVzZXJFbWFpbCIgbmFtZT0iZW1haWxGb3JtOnVzZXJFbWFpbCIgdHlwZT0idGV4dCIgdmFsdWU9IiIgc2l6ZT0iMzAiIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dCB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIGZvcm0tY29udHJvbCIgLz48c2NyaXB0IGlkPSJlbWFpbEZvcm06dXNlckVtYWlsX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0Iiwid2lkZ2V0X2VtYWlsRm9ybV91c2VyRW1haWwiLHtpZDoiZW1haWxGb3JtOnVzZXJFbWFpbCJ9KTs8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1lc3NhZ2VTdWJqZWN0IiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+U3ViamVjdCA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1hc3RlcmlzayB0ZXh0LWRhbmdlciIgdGl0bGU9IlJlcXVpcmVkIGZpZWxkIj48L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+PGlucHV0IGlkPSJlbWFpbEZvcm06bWVzc2FnZVN1YmplY3QiIG5hbWU9ImVtYWlsRm9ybTptZXNzYWdlU3ViamVjdCIgdHlwZT0idGV4dCIgdmFsdWU9IiIgY2xhc3M9InVpLWlucHV0ZmllbGQgdWktaW5wdXR0ZXh0IHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwgZm9ybS1jb250cm9sIiAvPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTptZXNzYWdlU3ViamVjdF9zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPlByaW1lRmFjZXMuY3coIklucHV0VGV4dCIsIndpZGdldF9lbWFpbEZvcm1fbWVzc2FnZVN1YmplY3QiLHtpZDoiZW1haWxGb3JtOm1lc3NhZ2VTdWJqZWN0In0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+ICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9InVzZXJNZXNzYWdlIiBjbGFzcz0iY29sLXNtLTMgY29udHJvbC1sYWJlbCI+TWVzc2FnZSA8c3BhbiBjbGFzcz0iZ2x5cGhpY29uIGdseXBoaWNvbi1hc3RlcmlzayB0ZXh0LWRhbmdlciIgdGl0bGU9IlJlcXVpcmVkIGZpZWxkIj48L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tOSI+PHRleHRhcmVhIGlkPSJlbWFpbEZvcm06dXNlck1lc3NhZ2UiIG5hbWU9ImVtYWlsRm9ybTp1c2VyTWVzc2FnZSIgY29scz0iMjAiIHJvd3M9IjEwIiBtYXhsZW5ndGg9IjIxNDc0ODM2NDciIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dGFyZWEgdWktd2lkZ2V0IHVpLXN0YXRlLWRlZmF1bHQgdWktY29ybmVyLWFsbCBmb3JtLWNvbnRyb2wiPjwvdGV4dGFyZWE+PHNjcmlwdCBpZD0iZW1haWxGb3JtOnVzZXJNZXNzYWdlX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+JChmdW5jdGlvbigpe1ByaW1lRmFjZXMuY3coIklucHV0VGV4dGFyZWEiLCJ3aWRnZXRfZW1haWxGb3JtX3VzZXJNZXNzYWdlIix7aWQ6ImVtYWlsRm9ybTp1c2VyTWVzc2FnZSIsYXV0b1Jlc2l6ZTpmYWxzZX0pO30pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS1vZmZzZXQtMyBjb2wtc20tOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxzcGFuIGNsYXNzPSJoaWdobGlnaHRCb2xkIj5QbGVhc2UgZmlsbCB0aGlzIG91dCB0byBwcm92ZSB5b3UgYXJlIG5vdCBhIHJvYm90Ljwvc3Bhbj4gPHNwYW4gY2xhc3M9ImdseXBoaWNvbiBnbHlwaGljb24tYXN0ZXJpc2sgdGV4dC1kYW5nZXIiIHRpdGxlPSJSZXF1aXJlZCBmaWVsZCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+ICsgID0gPGlucHV0IGlkPSJlbWFpbEZvcm06bWVzc2FnZVN1bSIgbmFtZT0iZW1haWxGb3JtOm1lc3NhZ2VTdW0iIHR5cGU9InRleHQiIHNpemU9IjQiIGNsYXNzPSJ1aS1pbnB1dGZpZWxkIHVpLWlucHV0dGV4dCB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIiAvPjxzY3JpcHQgaWQ9ImVtYWlsRm9ybTptZXNzYWdlU3VtX3MiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+UHJpbWVGYWNlcy5jdygiSW5wdXRUZXh0Iiwid2lkZ2V0X2VtYWlsRm9ybV9tZXNzYWdlU3VtIix7aWQ6ImVtYWlsRm9ybTptZXNzYWdlU3VtIn0pOzwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ibG9jayI+PGEgaWQ9ImVtYWlsRm9ybTpqX2lkdDE5NDMiIGhyZWY9IiMiIGNsYXNzPSJ1aS1jb21tYW5kbGluayB1aS13aWRnZXQgYnRuIGJ0bi1kZWZhdWx0IiBvbmNsaWNrPSJQcmltZUZhY2VzLmFiKHtzOiZxdW90O2VtYWlsRm9ybTpqX2lkdDE5NDMmcXVvdDssdTomcXVvdDtlbWFpbEZvcm0mcXVvdDssb25jbzpmdW5jdGlvbih4aHIsc3RhdHVzLGFyZ3Mpe2lmIChhcmdzICZhbXA7JmFtcDsgIWFyZ3MudmFsaWRhdGlvbkZhaWxlZCkgUEYoJ2NvbnRhY3RGb3JtJykuaGlkZSgpOzt9LHBhOlt7bmFtZTomcXVvdDtET19WQUxJREFUSU9OJnF1b3Q7LHZhbHVlOiZxdW90O3RydWUmcXVvdDt9XSxmaTomcXVvdDtqX2lkdDE5MjUmcXVvdDt9KTtyZXR1cm4gZmFsc2U7Ij5TZW5kIE1lc3NhZ2U8L2E+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIG9uY2xpY2s9IlBGKCdjb250YWN0Rm9ybScpLmhpZGUoKSIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgdmFsdWU9IkNhbmNlbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPC9kaXY+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iamF2YXguZmFjZXMuVmlld1N0YXRlIiBpZD0ial9pZDE6amF2YXguZmFjZXMuVmlld1N0YXRlOjAiIHZhbHVlPSItMzg5MjE3NTkyMTI0NDA0NjgzMDotNTUxMTI1NTgzNjIyNjEzMTQ1IiBhdXRvY29tcGxldGU9Im9mZiIgLz4KPC9mb3JtPjwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9ImNvbnRhY3REaWFsb2dfcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwiY29udGFjdEZvcm0iLHtpZDoiY29udGFjdERpYWxvZyIsbW9kYWw6dHJ1ZX0pO30pOzwvc2NyaXB0PjxkaXYgaWQ9InN0YXR1c0luZm8iIGNsYXNzPSJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktc2hhZG93IHVpLWhpZGRlbi1jb250YWluZXIiPjxkaXYgY2xhc3M9InVpLWRpYWxvZy10aXRsZWJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdG9wIj48c3BhbiBpZD0ic3RhdHVzSW5mb190aXRsZSIgY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+PC9zcGFuPjxhIGhyZWY9IiMiIGNsYXNzPSJ1aS1kaWFsb2ctdGl0bGViYXItaWNvbiB1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgdWktY29ybmVyLWFsbCIgYXJpYS1sYWJlbD0iQ2xvc2UiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+PC9zcGFuPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgIDxwPjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWJsb2NrIj4KICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBvbmNsaWNrPSJQRignc3RhdHVzSW5mbycpLmhpZGUoKSIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgdmFsdWU9IkNsb3NlIj4KICAgICAgICAgICAgICAgICAgICBDbG9zZQogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9InN0YXR1c0luZm9fcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4kKGZ1bmN0aW9uKCl7UHJpbWVGYWNlcy5jdygiRGlhbG9nIiwic3RhdHVzSW5mbyIse2lkOiJzdGF0dXNJbmZvIixtb2RhbDp0cnVlfSk7fSk7PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGRlZmVyPSJkZWZlciIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvYnMvanMvYm9vdHN0cmFwLm1pbi5qcy54aHRtbD92ZXJzaW9uPTQuOS40Ij48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgZGVmZXI9ImRlZmVyIiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qcy9pZS1jb21wYXQuanMueGh0bWw/dmVyc2lvbj00LjkuNCI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGRlZmVyPSJkZWZlciIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanMvZHZfcmViaW5kX2Jvb3RzdHJhcF91aS5qcy54aHRtbD92ZXJzaW9uPTQuOS40Ij48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgZGVmZXI9ImRlZmVyIiBzcmM9Ii9qYXZheC5mYWNlcy5yZXNvdXJjZS9qcy9vd2wuY2Fyb3VzZWwuanMueGh0bWw/dmVyc2lvbj00LjkuNCI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGRlZmVyPSJkZWZlciIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanMvanF1ZXJ5Lm1hdGNoSGVpZ2h0LmpzLnhodG1sP3ZlcnNpb249NC45LjQiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBkZWZlcj0iZGVmZXIiIHNyYz0iL2phdmF4LmZhY2VzLnJlc291cmNlL2pzL2pxdWVyeS5zaGFycnJlLmpzLnhodG1sP3ZlcnNpb249NC45LjQiPjwvc2NyaXB0PiAgCiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGRlZmVyPSJkZWZlciIgc3JjPSIvamF2YXguZmFjZXMucmVzb3VyY2UvanMvY2xpcGJvYXJkLm1pbi5qcy54aHRtbD92ZXJzaW9uPTQuOS40Ij48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAvLzwhW0NEQVRBWwogICAgICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAvLyBOYXZiYXIgU2VhcmNoIFRvZ2dsZQogICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywgJyNuYXZiYXItc2VhcmNoLXRvZ2dsZScsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoImxpIikuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICQoImZvcm0ubmF2YmFyLWZvcm1bcm9sZT0nc2VhcmNoJ10iKS5zaG93KCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICQoJ2JvZHknKS5jbGljayhmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgIGlmICghJChlLnRhcmdldCkuY2xvc2VzdCgiZm9ybS5uYXZiYXItZm9ybVtyb2xlPSdzZWFyY2gnXSIpLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCJmb3JtLm5hdmJhci1mb3JtW3JvbGU9J3NlYXJjaCddIikuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCIjbmF2YmFyLXNlYXJjaC10b2dnbGUiKS5wYXJlbnQoImxpIikuc2hvdygpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICA7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvLyBSZWJpbmQgYm9vdHN0cmFwIFVJIGNvbXBvbmVudHMKICAgICAgICAgICAgICAgIGJpbmRfYnN1aV9jb21wb25lbnRzKCk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vXV0+CiAgICAgICAgPC9zY3JpcHQ+CiAgICA8c2NyaXB0PgogICAgICAgIChmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXsKICAgICAgICAgKGlbcl0ucT1pW3JdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQobyksCiAgICAgICAgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkKICAgICAgICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCcvL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCdnYScpOwogCiAgICAgICAgICBnYSgnY3JlYXRlJywgIlVBLTYxNzUzMzM0LTEiLCAnYXV0bycpOwoKICAgICAgICAgIGdhKCdzZW5kJywgewogICAgICAgICAgICAnaGl0VHlwZSc6ICdwYWdldmlldycsCiAgICAgICAgICAgICdwYWdlJzogJy9kYXRhc2V0LnhodG1sP3BlcnNpc3RlbnRJZD1kb2klM0ExMC43OTEwJTJGRFZOJTJGTko3WFNPJwogICAgICAgICAgfSk7Cgk8L3NjcmlwdD48L2JvZHk+CjwvaHRtbD4= http_version: recorded_at: Sat, 29 Dec 2018 07:52:53 GMT recorded_with: VCR 3.0.3