{"id":1541,"date":"2021-07-03T19:29:02","date_gmt":"2021-07-03T19:29:02","guid":{"rendered":"https:\/\/labs.newsci.ai\/?p=1541"},"modified":"2021-07-03T19:31:41","modified_gmt":"2021-07-03T19:31:41","slug":"1541","status":"publish","type":"post","link":"https:\/\/labs.newsci.ai\/?p=1541","title":{"rendered":"Route optimization of a pub crawl with ORS and"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<div class=\"nbconvert\">\n      <div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h1 id=\"Route-optimization-of-a-pub-crawl-with-ORS-and-ortools\">Route optimization of a pub crawl with ORS and <code>ortools<\/code><a class=\"anchor-link\" href=\"#Route-optimization-of-a-pub-crawl-with-ORS-and-ortools\">\u00b6<\/a><\/h1>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>It's this of the year again (or will be in 6 months): the freshmen pour into the institute and as the diligent student council you are, you want to welcome them for their geo adventure with a stately pub crawl to prepare them for the challenges lying ahead.<\/p>\n<p>We want to give you the opportunity to route the pack of rookies in a fairly optimal way:<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[6]:<\/div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span><\/span><span class=\"n\">mkdir<\/span> <span class=\"n\">ors<\/span><span class=\"o\">-<\/span><span class=\"n\">pubcrawl<\/span>\n<span class=\"n\">conda<\/span> <span class=\"n\">create<\/span> <span class=\"o\">-<\/span><span class=\"n\">n<\/span> <span class=\"n\">ors<\/span><span class=\"o\">-<\/span><span class=\"n\">pubcrawl<\/span> <span class=\"n\">python<\/span><span class=\"o\">=<\/span><span class=\"mf\">3.6<\/span> <span class=\"n\">folium<\/span> <span class=\"n\">shapely<\/span>\n<span class=\"n\">cd<\/span> <span class=\"n\">ors<\/span><span class=\"o\">-<\/span><span class=\"n\">pubcrawl<\/span>\n<span class=\"n\">pip<\/span> <span class=\"n\">install<\/span> <span class=\"n\">openrouteservice<\/span> <span class=\"n\">ortools<\/span>\n<\/pre><\/div>\n\n    <\/div>\n<\/div>\n<\/div>\n\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[1]:<\/div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span><\/span><span class=\"kn\">import<\/span> <span class=\"nn\">folium<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">shapely<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">wkt<\/span><span class=\"p\">,<\/span> <span class=\"n\">geometry<\/span>\n<span class=\"kn\">import<\/span> <span class=\"nn\">json<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">pprint<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">pprint<\/span>\n<\/pre><\/div>\n\n    <\/div>\n<\/div>\n<\/div>\n\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Now we're ready to start our most optimally planned pub crawl ever through hipster Kreuzberg! It will also be the most un-hipster pub crawl ever, as we'll cover ground with a taxi. At least it's safer than biking half-delirious.<\/p>\n<p>First the basic parameters: API key and the district polygon to limit our pub search. The Well Known Text was prepared in QGIS from Berlin authority's <a href=\"http:\/\/fbinter.stadt-berlin.de\/fb\/wfs\/geometry\/senstadt\/re_ortsteil\/\">WFS<\/a> (QGIS field calculator has a <code>geom_to_wkt<\/code> method). BTW, Berlin, hope you don't wonder why your feature services are so slow... Simplify is the magic word, simplify.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[2]:<\/div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span><\/span><span class=\"n\">api_key<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">'your_key'<\/span>\n<span class=\"n\">wkt_str<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">'Polygon ((13.43926404 52.48961046, 13.42040115 52.49586382, 13.42541101 52.48808523, 13.42368155 52.48635829, 13.40788599 52.48886084, 13.40852944 52.487142, 13.40745989 52.48614988, 13.40439187 52.48499746, 13.40154731 52.48500125, 13.40038591 52.48373202, 13.39423818 52.4838664, 13.39425346 52.48577149, 13.38629096 52.48582648, 13.38626853 52.48486362, 13.3715694 52.48495055, 13.37402099 52.4851697, 13.37416365 52.48771105, 13.37353615 52.48798191, 13.37539925 52.489432, 13.37643416 52.49167597, 13.36821531 52.49333093, 13.36952826 52.49886974, 13.37360623 52.50416333, 13.37497726 52.50337776, 13.37764916 52.5079675, 13.37893813 52.50693045, 13.39923153 52.50807711, 13.40022883 52.50938108, 13.40443425 52.50777471, 13.4052848 52.50821063, 13.40802944 52.50618019, 13.40997081 52.50692569, 13.41152096 52.50489127, 13.41407284 52.50403794, 13.41490921 52.50491634, 13.41760145 52.50417013, 13.41943091 52.50564912, 13.4230412 52.50498109, 13.42720031 52.50566607, 13.42940229 52.50857222, 13.45335235 52.49752496, 13.45090795 52.49710803, 13.44765912 52.49472124, 13.44497623 52.49442276, 13.43926404 52.48961046))'<\/span>\n\n<span class=\"n\">aoi_geom<\/span> <span class=\"o\">=<\/span> <span class=\"n\">wkt<\/span><span class=\"o\">.<\/span><span class=\"n\">loads<\/span><span class=\"p\">(<\/span><span class=\"n\">wkt_str<\/span><span class=\"p\">)<\/span> <span class=\"c1\"># load geometry from WKT string<\/span>\n\n<span class=\"n\">aoi_coords<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">list<\/span><span class=\"p\">(<\/span><span class=\"n\">aoi_geom<\/span><span class=\"o\">.<\/span><span class=\"n\">exterior<\/span><span class=\"o\">.<\/span><span class=\"n\">coords<\/span><span class=\"p\">)<\/span> <span class=\"c1\"># get coords from exterior ring<\/span>\n<span class=\"n\">aoi_coords<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[(<\/span><span class=\"n\">y<\/span><span class=\"p\">,<\/span><span class=\"n\">x<\/span><span class=\"p\">)<\/span> <span class=\"k\">for<\/span> <span class=\"n\">x<\/span><span class=\"p\">,<\/span><span class=\"n\">y<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">aoi_coords<\/span><span class=\"p\">]<\/span> <span class=\"c1\"># swap (x,y) to (y,x). Really leaflet?!<\/span>\n<span class=\"n\">aoi_centroid<\/span> <span class=\"o\">=<\/span> <span class=\"n\">aoi_geom<\/span><span class=\"o\">.<\/span><span class=\"n\">centroid<\/span> <span class=\"c1\"># Kreuzberg center for map center<\/span>\n<\/pre><\/div>\n\n    <\/div>\n<\/div>\n<\/div>\n\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Next, add the Kreuzberg polygon as marker to the map, so we get a bit of orientation.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[4]:<\/div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span><\/span><span class=\"n\">m<\/span> <span class=\"o\">=<\/span> <span class=\"n\">folium<\/span><span class=\"o\">.<\/span><span class=\"n\">Map<\/span><span class=\"p\">(<\/span><span class=\"n\">tiles<\/span><span class=\"o\">=<\/span><span class=\"s1\">'Stamen Toner'<\/span><span class=\"p\">,<\/span><span class=\"n\">location<\/span><span class=\"o\">=<\/span><span class=\"p\">(<\/span><span class=\"n\">aoi_centroid<\/span><span class=\"o\">.<\/span><span class=\"n\">y<\/span><span class=\"p\">,<\/span> <span class=\"n\">aoi_centroid<\/span><span class=\"o\">.<\/span><span class=\"n\">x<\/span><span class=\"p\">),<\/span> <span class=\"n\">zoom_start<\/span><span class=\"o\">=<\/span><span class=\"mi\">14<\/span><span class=\"p\">)<\/span>\n<span class=\"n\">folium<\/span><span class=\"o\">.<\/span><span class=\"n\">vector_layers<\/span><span class=\"o\">.<\/span><span class=\"n\">Polygon<\/span><span class=\"p\">(<\/span><span class=\"n\">aoi_coords<\/span><span class=\"p\">,<\/span>\n                                     <span class=\"n\">color<\/span><span class=\"o\">=<\/span><span class=\"s1\">'#ffd699'<\/span><span class=\"p\">,<\/span>\n                                     <span class=\"n\">fill_color<\/span><span class=\"o\">=<\/span><span class=\"s1\">'#ffd699'<\/span><span class=\"p\">,<\/span>\n                                    <span class=\"n\">fill_opacity<\/span><span class=\"o\">=<\/span><span class=\"mf\">0.2<\/span><span class=\"p\">,<\/span>\n                                     <span class=\"n\">weight<\/span><span class=\"o\">=<\/span><span class=\"mi\">3<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">add_to<\/span><span class=\"p\">(<\/span><span class=\"n\">m<\/span><span class=\"p\">)<\/span>\n<span class=\"n\">m<\/span>\n<\/pre><\/div>\n\n    <\/div>\n<\/div>\n<\/div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n    <div class=\"prompt output_prompt\">Out[4]:<\/div>\n\n\n\n<div class=\"output_html rendered_html output_subarea output_execute_result\">\n<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text\/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgPHNjcmlwdD5MX1BSRUZFUl9DQU5WQVM9ZmFsc2U7IExfTk9fVE9VQ0g9ZmFsc2U7IExfRElTQUJMRV8zRD1mYWxzZTs8L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4zLjQvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjExLjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4zLjQvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9yYXdjZG4uZ2l0aGFjay5jb20vcHl0aG9uLXZpc3VhbGl6YXRpb24vZm9saXVtL21hc3Rlci9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUuY3NzIi8+CiAgICA8c3R5bGU+aHRtbCwgYm9keSB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO21hcmdpbjogMDtwYWRkaW5nOiAwO308L3N0eWxlPgogICAgPHN0eWxlPiNtYXAge3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7bGVmdDowO308L3N0eWxlPgogICAgCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLAogICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgIDxzdHlsZT4jbWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMC4wJTsKICAgICAgICBoZWlnaHQ6IDEwMC4wJTsKICAgICAgICBsZWZ0OiAwLjAlOwogICAgICAgIHRvcDogMC4wJTsKICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgPGRpdiBjbGFzcz0iZm9saXVtLW1hcCIgaWQ9Im1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1YiIgPjwvZGl2Pgo8L2JvZHk+CjxzY3JpcHQ+ICAgIAogICAgCiAgICAKICAgICAgICB2YXIgYm91bmRzID0gbnVsbDsKICAgIAoKICAgIHZhciBtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIgPSBMLm1hcCgKICAgICAgICAnbWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViJywgewogICAgICAgIGNlbnRlcjogWzUyLjQ5NjgyODUyMjg0NjYzLCAxMy40MDU0MzcwNTI5MjcyNTZdLAogICAgICAgIHpvb206IDE0LAogICAgICAgIG1heEJvdW5kczogYm91bmRzLAogICAgICAgIGxheWVyczogW10sCiAgICAgICAgd29ybGRDb3B5SnVtcDogZmFsc2UsCiAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICB9KTsKCiAgICAKICAgIAogICAgdmFyIHRpbGVfbGF5ZXJfMWZkNDhkMDg5ODIzNDU1MzgwODc3ZTY1NTIzNjY4N2IgPSBMLnRpbGVMYXllcigKICAgICAgICAnaHR0cHM6Ly9zdGFtZW4tdGlsZXMte3N9LmEuc3NsLmZhc3RseS5uZXQvdG9uZXIve3p9L3t4fS97eX0ucG5nJywKICAgICAgICB7CiAgICAgICAgImF0dHJpYnV0aW9uIjogbnVsbCwKICAgICAgICAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsCiAgICAgICAgIm1heE5hdGl2ZVpvb20iOiAxOCwKICAgICAgICAibWF4Wm9vbSI6IDE4LAogICAgICAgICJtaW5ab29tIjogMCwKICAgICAgICAibm9XcmFwIjogZmFsc2UsCiAgICAgICAgIm9wYWNpdHkiOiAxLAogICAgICAgICJzdWJkb21haW5zIjogImFiYyIsCiAgICAgICAgInRtcyI6IGZhbHNlCn0pLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAKCiAgICAgICAgICAgIHZhciBwb2x5Z29uX2NhY2E0YWEwNGNlYzQyZmZiOTZlODUwMjI0Yjk5YjllID0gTC5wb2x5Z29uKAogICAgICAgICAgICAgICAgW1s1Mi40ODk2MTA0NiwgMTMuNDM5MjY0MDRdLCBbNTIuNDk1ODYzODIsIDEzLjQyMDQwMTE1XSwgWzUyLjQ4ODA4NTIzLCAxMy40MjU0MTEwMV0sIFs1Mi40ODYzNTgyOSwgMTMuNDIzNjgxNTVdLCBbNTIuNDg4ODYwODQsIDEzLjQwNzg4NTk5XSwgWzUyLjQ4NzE0MiwgMTMuNDA4NTI5NDRdLCBbNTIuNDg2MTQ5ODgsIDEzLjQwNzQ1OTg5XSwgWzUyLjQ4NDk5NzQ2LCAxMy40MDQzOTE4N10sIFs1Mi40ODUwMDEyNSwgMTMuNDAxNTQ3MzFdLCBbNTIuNDgzNzMyMDIsIDEzLjQwMDM4NTkxXSwgWzUyLjQ4Mzg2NjQsIDEzLjM5NDIzODE4XSwgWzUyLjQ4NTc3MTQ5LCAxMy4zOTQyNTM0Nl0sIFs1Mi40ODU4MjY0OCwgMTMuMzg2MjkwOTZdLCBbNTIuNDg0ODYzNjIsIDEzLjM4NjI2ODUzXSwgWzUyLjQ4NDk1MDU1LCAxMy4zNzE1Njk0XSwgWzUyLjQ4NTE2OTcsIDEzLjM3NDAyMDk5XSwgWzUyLjQ4NzcxMTA1LCAxMy4zNzQxNjM2NV0sIFs1Mi40ODc5ODE5MSwgMTMuMzczNTM2MTVdLCBbNTIuNDg5NDMyLCAxMy4zNzUzOTkyNV0sIFs1Mi40OTE2NzU5NywgMTMuMzc2NDM0MTZdLCBbNTIuNDkzMzMwOTMsIDEzLjM2ODIxNTMxXSwgWzUyLjQ5ODg2OTc0LCAxMy4zNjk1MjgyNl0sIFs1Mi41MDQxNjMzMywgMTMuMzczNjA2MjNdLCBbNTIuNTAzMzc3NzYsIDEzLjM3NDk3NzI2XSwgWzUyLjUwNzk2NzUsIDEzLjM3NzY0OTE2XSwgWzUyLjUwNjkzMDQ1LCAxMy4zNzg5MzgxM10sIFs1Mi41MDgwNzcxMSwgMTMuMzk5MjMxNTNdLCBbNTIuNTA5MzgxMDgsIDEzLjQwMDIyODgzXSwgWzUyLjUwNzc3NDcxLCAxMy40MDQ0MzQyNV0sIFs1Mi41MDgyMTA2MywgMTMuNDA1Mjg0OF0sIFs1Mi41MDYxODAxOSwgMTMuNDA4MDI5NDRdLCBbNTIuNTA2OTI1NjksIDEzLjQwOTk3MDgxXSwgWzUyLjUwNDg5MTI3LCAxMy40MTE1MjA5Nl0sIFs1Mi41MDQwMzc5NCwgMTMuNDE0MDcyODRdLCBbNTIuNTA0OTE2MzQsIDEzLjQxNDkwOTIxXSwgWzUyLjUwNDE3MDEzLCAxMy40MTc2MDE0NV0sIFs1Mi41MDU2NDkxMiwgMTMuNDE5NDMwOTFdLCBbNTIuNTA0OTgxMDksIDEzLjQyMzA0MTJdLCBbNTIuNTA1NjY2MDcsIDEzLjQyNzIwMDMxXSwgWzUyLjUwODU3MjIyLCAxMy40Mjk0MDIyOV0sIFs1Mi40OTc1MjQ5NiwgMTMuNDUzMzUyMzVdLCBbNTIuNDk3MTA4MDMsIDEzLjQ1MDkwNzk1XSwgWzUyLjQ5NDcyMTI0LCAxMy40NDc2NTkxMl0sIFs1Mi40OTQ0MjI3NiwgMTMuNDQ0OTc2MjNdLCBbNTIuNDg5NjEwNDYsIDEzLjQzOTI2NDA0XV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICIjZmZkNjk5IiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiI2ZmZDY5OSIsCiAgImZpbGxPcGFjaXR5IjogMC4yLAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAibm9DbGlwIjogZmFsc2UsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInNtb290aEZhY3RvciI6IDEuMCwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAgICAgCjwvc2NyaXB0Pg==\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen><\/iframe><\/div><\/div>\n<\/div>\n\n<\/div>\n\n<\/div>\n<\/div>\n\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Now it's time to see which are the lucky bars to host a bunch of increasingly drunk geos. We use the <a href=\"https:\/\/openrouteservice.org\/documentation\/#\/reference\/places\/places\/location-service-(get\"><strong>Places API<\/strong><\/a>, where we can pass a GeoJSON as object right into. As we want to crawl only bars and not churches, we have to limit the query to category ID's which represent pubs. We can get the mapping easily when passing <code>category_list<\/code>:<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[5]:<\/div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span><\/span><span class=\"kn\">from<\/span> <span class=\"nn\">openrouteservice<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">client<\/span><span class=\"p\">,<\/span> <span class=\"n\">places<\/span>\n\n<span class=\"n\">clnt<\/span> <span class=\"o\">=<\/span> <span class=\"n\">client<\/span><span class=\"o\">.<\/span><span class=\"n\">Client<\/span><span class=\"p\">(<\/span><span class=\"n\">key<\/span><span class=\"o\">=<\/span><span class=\"n\">api_key<\/span><span class=\"p\">)<\/span>\n<\/pre><\/div>\n\n    <\/div>\n<\/div>\n<\/div>\n\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p><a href=\"https:\/\/github.com\/GIScience\/openrouteservice-docs#places-response\"><strong>Here<\/strong><\/a> is a nicer list. If you look for pub, you'll find it under <code>sustenance : 560<\/code> with ID 569. Chucking that into a query, yields:<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[6]:<\/div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span><\/span><span class=\"n\">aoi_json<\/span> <span class=\"o\">=<\/span> <span class=\"n\">geometry<\/span><span class=\"o\">.<\/span><span class=\"n\">mapping<\/span><span class=\"p\">(<\/span><span class=\"n\">geometry<\/span><span class=\"o\">.<\/span><span class=\"n\">shape<\/span><span class=\"p\">(<\/span><span class=\"n\">aoi_geom<\/span><span class=\"p\">))<\/span>\n<span class=\"n\">query<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span><span class=\"s1\">'request'<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'pois'<\/span><span class=\"p\">,<\/span>\n        <span class=\"s1\">'geojson'<\/span><span class=\"p\">:<\/span> <span class=\"n\">aoi_json<\/span><span class=\"p\">,<\/span>\n        <span class=\"s1\">'filter_category_ids'<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"mi\">569<\/span><span class=\"p\">],<\/span>\n        <span class=\"s1\">'sortby'<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'distance'<\/span><span class=\"p\">}<\/span>\n<span class=\"n\">pubs<\/span> <span class=\"o\">=<\/span> <span class=\"n\">clnt<\/span><span class=\"o\">.<\/span><span class=\"n\">places<\/span><span class=\"p\">(<\/span><span class=\"o\">**<\/span><span class=\"n\">query<\/span><span class=\"p\">)[<\/span><span class=\"s1\">'features'<\/span><span class=\"p\">]<\/span> <span class=\"c1\"># Perform the actual request and get inner json<\/span>\n\n<span class=\"c1\"># Amount of pubs in Kreuzberg<\/span>\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">Amount of pubs: <\/span><span class=\"si\">{}<\/span><span class=\"s2\">\"<\/span><span class=\"o\">.<\/span><span class=\"n\">format<\/span><span class=\"p\">(<\/span><span class=\"nb\">len<\/span><span class=\"p\">(<\/span><span class=\"n\">pubs<\/span><span class=\"p\">)))<\/span>\n<\/pre><\/div>\n\n    <\/div>\n<\/div>\n<\/div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n    <div class=\"prompt\"><\/div>\n\n\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Amount of pubs: 107\n<\/pre>\n<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>107 bars in one night might be a stretch, even for such a resilient species. Coincidentally, the rate of smokers is unproportionally high within the undergrad geo community. So, we really would like to hang out in smoker bars:<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[7]:<\/div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span><\/span><span class=\"n\">query<\/span><span class=\"p\">[<\/span><span class=\"s1\">'filters_custom'<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span><span class=\"s1\">'smoking'<\/span><span class=\"p\">:[<\/span><span class=\"s1\">'yes'<\/span><span class=\"p\">]}<\/span> <span class=\"c1\"># Filter out smoker bars<\/span>\n<span class=\"n\">pubs_smoker<\/span> <span class=\"o\">=<\/span> <span class=\"n\">clnt<\/span><span class=\"o\">.<\/span><span class=\"n\">places<\/span><span class=\"p\">(<\/span><span class=\"o\">**<\/span><span class=\"n\">query<\/span><span class=\"p\">)[<\/span><span class=\"s1\">'features'<\/span><span class=\"p\">]<\/span>\n\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">Amount of smoker pubs: <\/span><span class=\"si\">{}<\/span><span class=\"s2\">\"<\/span><span class=\"o\">.<\/span><span class=\"n\">format<\/span><span class=\"p\">(<\/span><span class=\"nb\">len<\/span><span class=\"p\">(<\/span><span class=\"n\">pubs_smoker<\/span><span class=\"p\">)))<\/span>\n<\/pre><\/div>\n\n    <\/div>\n<\/div>\n<\/div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n    <div class=\"prompt\"><\/div>\n\n\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Amount of smoker pubs: 26\n<\/pre>\n<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>A bit better. Let's see where they are.<\/p>\n<p><strong>Optionally<\/strong>, use the <a href=\"https:\/\/openrouteservice.org\/documentation\/#\/reference\/places\/places\/location-service-(get\"><strong>Geocoding API<\/strong><\/a> to get representable names. Note, it'll be 25 API calls. Means, you can only run one per minute.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[11]:<\/div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span><\/span><span class=\"kn\">from<\/span> <span class=\"nn\">openrouteservice<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">geocode<\/span>\n\n<span class=\"n\">pubs_addresses<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[]<\/span>\n\n<span class=\"k\">for<\/span> <span class=\"n\">feat<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">pubs_smoker<\/span><span class=\"p\">:<\/span>\n    <span class=\"n\">lon<\/span><span class=\"p\">,<\/span> <span class=\"n\">lat<\/span> <span class=\"o\">=<\/span> <span class=\"n\">feat<\/span><span class=\"p\">[<\/span><span class=\"s1\">'geometry'<\/span><span class=\"p\">][<\/span><span class=\"s1\">'coordinates'<\/span><span class=\"p\">]<\/span>\n    <span class=\"n\">name<\/span> <span class=\"o\">=<\/span> <span class=\"n\">clnt<\/span><span class=\"o\">.<\/span><span class=\"n\">pelias_reverse<\/span><span class=\"p\">(<\/span><span class=\"n\">point<\/span><span class=\"o\">=<\/span><span class=\"p\">(<\/span><span class=\"n\">lon<\/span><span class=\"p\">,<\/span> <span class=\"n\">lat<\/span><span class=\"p\">))[<\/span><span class=\"s1\">'features'<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">][<\/span><span class=\"s1\">'properties'<\/span><span class=\"p\">][<\/span><span class=\"s1\">'name'<\/span><span class=\"p\">]<\/span>\n    <span class=\"n\">popup<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">\"&lt;strong&gt;<\/span><span class=\"si\">{0}<\/span><span class=\"s2\">&lt;\/strong&gt;&lt;br&gt;Lat: <\/span><span class=\"si\">{1:.3f}<\/span><span class=\"s2\">&lt;br&gt;Long: <\/span><span class=\"si\">{2:.3f}<\/span><span class=\"s2\">\"<\/span><span class=\"o\">.<\/span><span class=\"n\">format<\/span><span class=\"p\">(<\/span><span class=\"n\">name<\/span><span class=\"p\">,<\/span> <span class=\"n\">lat<\/span><span class=\"p\">,<\/span> <span class=\"n\">lon<\/span><span class=\"p\">)<\/span>\n    <span class=\"n\">icon<\/span> <span class=\"o\">=<\/span> <span class=\"n\">folium<\/span><span class=\"o\">.<\/span><span class=\"n\">map<\/span><span class=\"o\">.<\/span><span class=\"n\">Icon<\/span><span class=\"p\">(<\/span><span class=\"n\">color<\/span><span class=\"o\">=<\/span><span class=\"s1\">'lightgray'<\/span><span class=\"p\">,<\/span>\n                        <span class=\"n\">icon_color<\/span><span class=\"o\">=<\/span><span class=\"s1\">'#b5231a'<\/span><span class=\"p\">,<\/span>\n                        <span class=\"n\">icon<\/span><span class=\"o\">=<\/span><span class=\"s1\">'beer'<\/span><span class=\"p\">,<\/span> <span class=\"c1\"># fetches font-awesome.io symbols<\/span>\n                        <span class=\"n\">prefix<\/span><span class=\"o\">=<\/span><span class=\"s1\">'fa'<\/span><span class=\"p\">)<\/span>\n    <span class=\"n\">folium<\/span><span class=\"o\">.<\/span><span class=\"n\">map<\/span><span class=\"o\">.<\/span><span class=\"n\">Marker<\/span><span class=\"p\">([<\/span><span class=\"n\">lat<\/span><span class=\"p\">,<\/span> <span class=\"n\">lon<\/span><span class=\"p\">],<\/span> <span class=\"n\">icon<\/span><span class=\"o\">=<\/span><span class=\"n\">icon<\/span><span class=\"p\">,<\/span> <span class=\"n\">popup<\/span><span class=\"o\">=<\/span><span class=\"n\">popup<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">add_to<\/span><span class=\"p\">(<\/span><span class=\"n\">m<\/span><span class=\"p\">)<\/span>\n    <span class=\"n\">pubs_addresses<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">name<\/span><span class=\"p\">)<\/span>\n    \n<span class=\"c1\"># folium.map.LayerControl().add_to(m)<\/span>\n<span class=\"n\">m<\/span>\n<\/pre><\/div>\n\n    <\/div>\n<\/div>\n<\/div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n    <div class=\"prompt output_prompt\">Out[11]:<\/div>\n\n\n\n<div class=\"output_html rendered_html output_subarea output_execute_result\">\n<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text\/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgPHNjcmlwdD5MX1BSRUZFUl9DQU5WQVM9ZmFsc2U7IExfTk9fVE9VQ0g9ZmFsc2U7IExfRElTQUJMRV8zRD1mYWxzZTs8L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4zLjQvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjExLjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4zLjQvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9yYXdjZG4uZ2l0aGFjay5jb20vcHl0aG9uLXZpc3VhbGl6YXRpb24vZm9saXVtL21hc3Rlci9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUuY3NzIi8+CiAgICA8c3R5bGU+aHRtbCwgYm9keSB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO21hcmdpbjogMDtwYWRkaW5nOiAwO308L3N0eWxlPgogICAgPHN0eWxlPiNtYXAge3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7bGVmdDowO308L3N0eWxlPgogICAgCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLAogICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgIDxzdHlsZT4jbWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMC4wJTsKICAgICAgICBoZWlnaHQ6IDEwMC4wJTsKICAgICAgICBsZWZ0OiAwLjAlOwogICAgICAgIHRvcDogMC4wJTsKICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgPGRpdiBjbGFzcz0iZm9saXVtLW1hcCIgaWQ9Im1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1YiIgPjwvZGl2Pgo8L2JvZHk+CjxzY3JpcHQ+ICAgIAogICAgCiAgICAKICAgICAgICB2YXIgYm91bmRzID0gbnVsbDsKICAgIAoKICAgIHZhciBtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIgPSBMLm1hcCgKICAgICAgICAnbWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViJywgewogICAgICAgIGNlbnRlcjogWzUyLjQ5NjgyODUyMjg0NjYzLCAxMy40MDU0MzcwNTI5MjcyNTZdLAogICAgICAgIHpvb206IDE0LAogICAgICAgIG1heEJvdW5kczogYm91bmRzLAogICAgICAgIGxheWVyczogW10sCiAgICAgICAgd29ybGRDb3B5SnVtcDogZmFsc2UsCiAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICB9KTsKCiAgICAKICAgIAogICAgdmFyIHRpbGVfbGF5ZXJfMWZkNDhkMDg5ODIzNDU1MzgwODc3ZTY1NTIzNjY4N2IgPSBMLnRpbGVMYXllcigKICAgICAgICAnaHR0cHM6Ly9zdGFtZW4tdGlsZXMte3N9LmEuc3NsLmZhc3RseS5uZXQvdG9uZXIve3p9L3t4fS97eX0ucG5nJywKICAgICAgICB7CiAgICAgICAgImF0dHJpYnV0aW9uIjogbnVsbCwKICAgICAgICAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsCiAgICAgICAgIm1heE5hdGl2ZVpvb20iOiAxOCwKICAgICAgICAibWF4Wm9vbSI6IDE4LAogICAgICAgICJtaW5ab29tIjogMCwKICAgICAgICAibm9XcmFwIjogZmFsc2UsCiAgICAgICAgIm9wYWNpdHkiOiAxLAogICAgICAgICJzdWJkb21haW5zIjogImFiYyIsCiAgICAgICAgInRtcyI6IGZhbHNlCn0pLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAKCiAgICAgICAgICAgIHZhciBwb2x5Z29uX2NhY2E0YWEwNGNlYzQyZmZiOTZlODUwMjI0Yjk5YjllID0gTC5wb2x5Z29uKAogICAgICAgICAgICAgICAgW1s1Mi40ODk2MTA0NiwgMTMuNDM5MjY0MDRdLCBbNTIuNDk1ODYzODIsIDEzLjQyMDQwMTE1XSwgWzUyLjQ4ODA4NTIzLCAxMy40MjU0MTEwMV0sIFs1Mi40ODYzNTgyOSwgMTMuNDIzNjgxNTVdLCBbNTIuNDg4ODYwODQsIDEzLjQwNzg4NTk5XSwgWzUyLjQ4NzE0MiwgMTMuNDA4NTI5NDRdLCBbNTIuNDg2MTQ5ODgsIDEzLjQwNzQ1OTg5XSwgWzUyLjQ4NDk5NzQ2LCAxMy40MDQzOTE4N10sIFs1Mi40ODUwMDEyNSwgMTMuNDAxNTQ3MzFdLCBbNTIuNDgzNzMyMDIsIDEzLjQwMDM4NTkxXSwgWzUyLjQ4Mzg2NjQsIDEzLjM5NDIzODE4XSwgWzUyLjQ4NTc3MTQ5LCAxMy4zOTQyNTM0Nl0sIFs1Mi40ODU4MjY0OCwgMTMuMzg2MjkwOTZdLCBbNTIuNDg0ODYzNjIsIDEzLjM4NjI2ODUzXSwgWzUyLjQ4NDk1MDU1LCAxMy4zNzE1Njk0XSwgWzUyLjQ4NTE2OTcsIDEzLjM3NDAyMDk5XSwgWzUyLjQ4NzcxMTA1LCAxMy4zNzQxNjM2NV0sIFs1Mi40ODc5ODE5MSwgMTMuMzczNTM2MTVdLCBbNTIuNDg5NDMyLCAxMy4zNzUzOTkyNV0sIFs1Mi40OTE2NzU5NywgMTMuMzc2NDM0MTZdLCBbNTIuNDkzMzMwOTMsIDEzLjM2ODIxNTMxXSwgWzUyLjQ5ODg2OTc0LCAxMy4zNjk1MjgyNl0sIFs1Mi41MDQxNjMzMywgMTMuMzczNjA2MjNdLCBbNTIuNTAzMzc3NzYsIDEzLjM3NDk3NzI2XSwgWzUyLjUwNzk2NzUsIDEzLjM3NzY0OTE2XSwgWzUyLjUwNjkzMDQ1LCAxMy4zNzg5MzgxM10sIFs1Mi41MDgwNzcxMSwgMTMuMzk5MjMxNTNdLCBbNTIuNTA5MzgxMDgsIDEzLjQwMDIyODgzXSwgWzUyLjUwNzc3NDcxLCAxMy40MDQ0MzQyNV0sIFs1Mi41MDgyMTA2MywgMTMuNDA1Mjg0OF0sIFs1Mi41MDYxODAxOSwgMTMuNDA4MDI5NDRdLCBbNTIuNTA2OTI1NjksIDEzLjQwOTk3MDgxXSwgWzUyLjUwNDg5MTI3LCAxMy40MTE1MjA5Nl0sIFs1Mi41MDQwMzc5NCwgMTMuNDE0MDcyODRdLCBbNTIuNTA0OTE2MzQsIDEzLjQxNDkwOTIxXSwgWzUyLjUwNDE3MDEzLCAxMy40MTc2MDE0NV0sIFs1Mi41MDU2NDkxMiwgMTMuNDE5NDMwOTFdLCBbNTIuNTA0OTgxMDksIDEzLjQyMzA0MTJdLCBbNTIuNTA1NjY2MDcsIDEzLjQyNzIwMDMxXSwgWzUyLjUwODU3MjIyLCAxMy40Mjk0MDIyOV0sIFs1Mi40OTc1MjQ5NiwgMTMuNDUzMzUyMzVdLCBbNTIuNDk3MTA4MDMsIDEzLjQ1MDkwNzk1XSwgWzUyLjQ5NDcyMTI0LCAxMy40NDc2NTkxMl0sIFs1Mi40OTQ0MjI3NiwgMTMuNDQ0OTc2MjNdLCBbNTIuNDg5NjEwNDYsIDEzLjQzOTI2NDA0XV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICIjZmZkNjk5IiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiI2ZmZDY5OSIsCiAgImZpbGxPcGFjaXR5IjogMC4yLAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAibm9DbGlwIjogZmFsc2UsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInNtb290aEZhY3RvciI6IDEuMCwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzg4MGJkMTM1N2VhYzRjNmY5YTQ1YjVlNDA2MWM4Yjg1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTAzODYsIDEzLjM4NzA0NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uX2FkMTZjMjE3N2M5YzRiZTBhNjEwZTgwMjY5Y2ZkMzcxID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl84ODBiZDEzNTdlYWM0YzZmOWE0NWI1ZTQwNjFjOGI4NS5zZXRJY29uKGljb25fYWQxNmMyMTc3YzljNGJlMGE2MTBlODAyNjljZmQzNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNjA2ZDgwNDlkMjE4NDgwYWI1ZWZhZjg2YWM2M2U0M2IgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9lYmQxYzg5MzMzNGQ0M2Y4YmU5MmEwOTUwN2Y2N2VmNyA9ICQoYDxkaXYgaWQ9Imh0bWxfZWJkMWM4OTMzMzRkNDNmOGJlOTJhMDk1MDdmNjdlZjciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+TWVocmluZ2RhbW0gNjc8L3N0cm9uZz48YnI+TGF0OiA1Mi40OTA8YnI+TG9uZzogMTMuMzg3PC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82MDZkODA0OWQyMTg0ODBhYjVlZmFmODZhYzYzZTQzYi5zZXRDb250ZW50KGh0bWxfZWJkMWM4OTMzMzRkNDNmOGJlOTJhMDk1MDdmNjdlZjcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl84ODBiZDEzNTdlYWM0YzZmOWE0NWI1ZTQwNjFjOGI4NS5iaW5kUG9wdXAocG9wdXBfNjA2ZDgwNDlkMjE4NDgwYWI1ZWZhZjg2YWM2M2U0M2IpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84NTA4MTc1YmNkMTA0YmIxOGVmYmE3YzQxNGNjMzBlMyA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDkzMjM2LCAxMy4zODQyNDhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl8yMzViMGFkZTM4Nzk0ODNiODUwM2NjZjg3OGI2MmZiNSA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfODUwODE3NWJjZDEwNGJiMThlZmJhN2M0MTRjYzMwZTMuc2V0SWNvbihpY29uXzIzNWIwYWRlMzg3OTQ4M2I4NTAzY2NmODc4YjYyZmI1KTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2RlNDIzZjQwZDY0NzQwNzVhYzc1ZWZlMWIzYWZjZGI1ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYjE2Mjg3MzdiMzAzNGE1ZDgxNWQ2M2UyYjY5NDA2NWQgPSAkKGA8ZGl2IGlkPSJodG1sX2IxNjI4NzM3YjMwMzRhNWQ4MTVkNjNlMmI2OTQwNjVkIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPldpcnRzY2hhZnRzd3VuZGVyPC9zdHJvbmc+PGJyPkxhdDogNTIuNDkzPGJyPkxvbmc6IDEzLjM4NDwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZGU0MjNmNDBkNjQ3NDA3NWFjNzVlZmUxYjNhZmNkYjUuc2V0Q29udGVudChodG1sX2IxNjI4NzM3YjMwMzRhNWQ4MTVkNjNlMmI2OTQwNjVkKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfODUwODE3NWJjZDEwNGJiMThlZmJhN2M0MTRjYzMwZTMuYmluZFBvcHVwKHBvcHVwX2RlNDIzZjQwZDY0NzQwNzVhYzc1ZWZlMWIzYWZjZGI1KQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDljMDUyNWMwNGRhNGVmN2EzN2ZmYzhkZDk0NjNkNmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjUwMDg4NCwgMTMuNDQwNDA0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fOGYwMWZjMzVjZjZiNDM1N2JhYTJmOGQ3NjJiM2YxOTAgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzQ5YzA1MjVjMDRkYTRlZjdhMzdmZmM4ZGQ5NDYzZDZlLnNldEljb24oaWNvbl84ZjAxZmMzNWNmNmI0MzU3YmFhMmY4ZDc2MmIzZjE5MCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8wMDFjYThkMGMwMWM0YTRkYTAzMDViNTk0ZGU0MGM3OCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzQ4N2VkOWM1ZTExZDRkMTE5Mzk1OGJmNTMyZGM3OTllID0gJChgPGRpdiBpZD0iaHRtbF80ODdlZDljNWUxMWQ0ZDExOTM5NThiZjUzMmRjNzk5ZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5Ta2FsaXR6ZXIgU3RyYcOfZSA3NTwvc3Ryb25nPjxicj5MYXQ6IDUyLjUwMTxicj5Mb25nOiAxMy40NDA8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzAwMWNhOGQwYzAxYzRhNGRhMDMwNWI1OTRkZTQwYzc4LnNldENvbnRlbnQoaHRtbF80ODdlZDljNWUxMWQ0ZDExOTM5NThiZjUzMmRjNzk5ZSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzQ5YzA1MjVjMDRkYTRlZjdhMzdmZmM4ZGQ5NDYzZDZlLmJpbmRQb3B1cChwb3B1cF8wMDFjYThkMGMwMWM0YTRkYTAzMDViNTk0ZGU0MGM3OCkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRlZjNlMTE5ODRmMzRjM2U4YmNkNjVmMmViNTkwM2Y2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTQ1OTUsIDEzLjQwMDA5MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uX2M5NjI2MDVjMmRkMTQzYWZiYzk0YjNmOWE4ZmQxZjhjID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl80ZWYzZTExOTg0ZjM0YzNlOGJjZDY1ZjJlYjU5MDNmNi5zZXRJY29uKGljb25fYzk2MjYwNWMyZGQxNDNhZmJjOTRiM2Y5YThmZDFmOGMpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMTc4M2IxYWNkMjljNGMzYTg5NWQ1OGNmNGU0NTEyMWMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yNzc5MmQ0NGMyMzM0MmY4OGRkNTgyY2UyMWNjN2YyOCA9ICQoYDxkaXYgaWQ9Imh0bWxfMjc3OTJkNDRjMjMzNDJmODhkZDU4MmNlMjFjYzdmMjgiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+QmzDvGNoZXJzdHJhw59lIDYxPC9zdHJvbmc+PGJyPkxhdDogNTIuNDk1PGJyPkxvbmc6IDEzLjQwMDwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMTc4M2IxYWNkMjljNGMzYTg5NWQ1OGNmNGU0NTEyMWMuc2V0Q29udGVudChodG1sXzI3NzkyZDQ0YzIzMzQyZjg4ZGQ1ODJjZTIxY2M3ZjI4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfNGVmM2UxMTk4NGYzNGMzZThiY2Q2NWYyZWI1OTAzZjYuYmluZFBvcHVwKHBvcHVwXzE3ODNiMWFjZDI5YzRjM2E4OTVkNThjZjRlNDUxMjFjKQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWIyMzM3NDQyMTUyNDJkYThkNGQ5ZTQ5N2Q3OWIxYTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjQ4NzkyOCwgMTMuMzkwNDIzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fZTNkYjA4ZGViOTI2NDhmZTk5OTRkMzYyOWVjMmZmNDAgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzViMjMzNzQ0MjE1MjQyZGE4ZDRkOWU0OTdkNzliMWE2LnNldEljb24oaWNvbl9lM2RiMDhkZWI5MjY0OGZlOTk5NGQzNjI5ZWMyZmY0MCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9kMTBkNGQ1YjZiOWE0NzhjODg2ODFmYWMxYWRkYWU4NCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzk4NWVjNTBmODlhYTRhNGVhN2NmNmNkYmMyN2Y2M2Q3ID0gJChgPGRpdiBpZD0iaHRtbF85ODVlYzUwZjg5YWE0YTRlYTdjZjZjZGJjMjdmNjNkNyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5DaGFtaXNzb3BsYXR6IDQ8L3N0cm9uZz48YnI+TGF0OiA1Mi40ODg8YnI+TG9uZzogMTMuMzkwPC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kMTBkNGQ1YjZiOWE0NzhjODg2ODFmYWMxYWRkYWU4NC5zZXRDb250ZW50KGh0bWxfOTg1ZWM1MGY4OWFhNGE0ZWE3Y2Y2Y2RiYzI3ZjYzZDcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl81YjIzMzc0NDIxNTI0MmRhOGQ0ZDllNDk3ZDc5YjFhNi5iaW5kUG9wdXAocG9wdXBfZDEwZDRkNWI2YjlhNDc4Yzg4NjgxZmFjMWFkZGFlODQpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wYWI1ZDZlOGE5M2Q0YzJjOGI2YjljZjliMGU3NjVkMiA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDk2MDc3LCAxMy40MjkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fNTQyMDQ5NjMxODJlNDBiNDhkM2Q3OWNkM2YwNjYyNDMgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzBhYjVkNmU4YTkzZDRjMmM4YjZiOWNmOWIwZTc2NWQyLnNldEljb24oaWNvbl81NDIwNDk2MzE4MmU0MGI0OGQzZDc5Y2QzZjA2NjI0Myk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9iNjI0MDhkNWFiMmY0NmVlYTBjMGU0ZTRjMTBiZGJhYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzg5NTIyNGNiNzBjNzRjYzdiZDU5MjgyM2U5MGQ3OTEyID0gJChgPGRpdiBpZD0iaHRtbF84OTUyMjRjYjcwYzc0Y2M3YmQ1OTI4MjNlOTBkNzkxMiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5SZWljaGVuYmVyZ2VyIFN0cmHDn2UgMTMzPC9zdHJvbmc+PGJyPkxhdDogNTIuNDk2PGJyPkxvbmc6IDEzLjQyOTwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYjYyNDA4ZDVhYjJmNDZlZWEwYzBlNGU0YzEwYmRiYWIuc2V0Q29udGVudChodG1sXzg5NTIyNGNiNzBjNzRjYzdiZDU5MjgyM2U5MGQ3OTEyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfMGFiNWQ2ZThhOTNkNGMyYzhiNmI5Y2Y5YjBlNzY1ZDIuYmluZFBvcHVwKHBvcHVwX2I2MjQwOGQ1YWIyZjQ2ZWVhMGMwZTRlNGMxMGJkYmFiKQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjM1OTYyNTRiZDcwNGM3YWEwZWZhMTI1OWVjNWJmYjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjUwMDU0NiwgMTMuNDIzNDU0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fZThkMzRmY2IxYmJhNDk2M2E5YWU0Y2NmMDI2ZTkwYjAgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyX2IzNTk2MjU0YmQ3MDRjN2FhMGVmYTEyNTllYzViZmI0LnNldEljb24oaWNvbl9lOGQzNGZjYjFiYmE0OTYzYTlhZTRjY2YwMjZlOTBiMCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF81MDVlMjc1N2MzNDQ0YmIxODYyYzNmNWUxODNlYWIxNSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc0YWY5MDM0YTcwNTQwZDNiYTVkMjg4MDgwMDU2ZjA5ID0gJChgPGRpdiBpZD0iaHRtbF83NGFmOTAzNGE3MDU0MGQzYmE1ZDI4ODA4MDA1NmYwOSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5PcmFuaWVuc3RyYcOfZSAxNGE8L3N0cm9uZz48YnI+TGF0OiA1Mi41MDE8YnI+TG9uZzogMTMuNDIzPC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF81MDVlMjc1N2MzNDQ0YmIxODYyYzNmNWUxODNlYWIxNS5zZXRDb250ZW50KGh0bWxfNzRhZjkwMzRhNzA1NDBkM2JhNWQyODgwODAwNTZmMDkpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9iMzU5NjI1NGJkNzA0YzdhYTBlZmExMjU5ZWM1YmZiNC5iaW5kUG9wdXAocG9wdXBfNTA1ZTI3NTdjMzQ0NGJiMTg2MmMzZjVlMTgzZWFiMTUpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zMDU2NWFmYmVkNDk0MmE1OGYyZTZjODZiMTFmMTUzMiA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDkzNTU1LCAxMy40Mzc3OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uXzhmN2Q4NzFjYWE4NjRjNjBhZTA5MzNjNmM0NzY1MTg5ID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl8zMDU2NWFmYmVkNDk0MmE1OGYyZTZjODZiMTFmMTUzMi5zZXRJY29uKGljb25fOGY3ZDg3MWNhYTg2NGM2MGFlMDkzM2M2YzQ3NjUxODkpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNjVhOTI3YzY3MWZlNDU4NGI3MDZjOGZkYmFkNDI5ZjggPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wZWZiZDM2MmVmNDA0YTEzYTM4MWFkNzE4NjA0MTUxYiA9ICQoYDxkaXYgaWQ9Imh0bWxfMGVmYmQzNjJlZjQwNGExM2EzODFhZDcxODYwNDE1MWIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+UmVpY2hlbmJlcmdlciBTdHJhw59lIDEwMzwvc3Ryb25nPjxicj5MYXQ6IDUyLjQ5NDxicj5Mb25nOiAxMy40Mzg8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzY1YTkyN2M2NzFmZTQ1ODRiNzA2YzhmZGJhZDQyOWY4LnNldENvbnRlbnQoaHRtbF8wZWZiZDM2MmVmNDA0YTEzYTM4MWFkNzE4NjA0MTUxYik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzMwNTY1YWZiZWQ0OTQyYTU4ZjJlNmM4NmIxMWYxNTMyLmJpbmRQb3B1cChwb3B1cF82NWE5MjdjNjcxZmU0NTg0YjcwNmM4ZmRiYWQ0MjlmOCkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FhNmY3OTlmNzcwMTRhODA4N2UyYzk0OTBlNTRmMDhiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTk3MTMsIDEzLjQyNjU4MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uXzRmZjdjNmNjOTBkYzQzYzJhOWE1NDJkYjI1NjZmYTdjID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl9hYTZmNzk5Zjc3MDE0YTgwODdlMmM5NDkwZTU0ZjA4Yi5zZXRJY29uKGljb25fNGZmN2M2Y2M5MGRjNDNjMmE5YTU0MmRiMjU2NmZhN2MpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMDUzZTkxZjg1NDcyNDNlYTgwYmIxZmEzOGY0YjZmYzcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9mNDk1ZDBhZTczN2Q0MmQyODA3MmNiODMwNjNkZDFmOSA9ICQoYDxkaXYgaWQ9Imh0bWxfZjQ5NWQwYWU3MzdkNDJkMjgwNzJjYjgzMDYzZGQxZjkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+TWFudGV1ZmZlbHN0cmHDn2UgNDAtNDE8L3N0cm9uZz48YnI+TGF0OiA1Mi41MDA8YnI+TG9uZzogMTMuNDI3PC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8wNTNlOTFmODU0NzI0M2VhODBiYjFmYTM4ZjRiNmZjNy5zZXRDb250ZW50KGh0bWxfZjQ5NWQwYWU3MzdkNDJkMjgwNzJjYjgzMDYzZGQxZjkpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9hYTZmNzk5Zjc3MDE0YTgwODdlMmM5NDkwZTU0ZjA4Yi5iaW5kUG9wdXAocG9wdXBfMDUzZTkxZjg1NDcyNDNlYTgwYmIxZmEzOGY0YjZmYzcpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jOGExNDI0ZDlmY2M0YmM4ODMxYTBkZjNmYzczNzQwYyA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDk2NjEsIDEzLjQyNjE0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fMDNlMTkyZmYzNzU4NDk5NmE4NzMxZDcwMjMxNzk5ZDIgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyX2M4YTE0MjRkOWZjYzRiYzg4MzFhMGRmM2ZjNzM3NDBjLnNldEljb24oaWNvbl8wM2UxOTJmZjM3NTg0OTk2YTg3MzFkNzAyMzE3OTlkMik7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8zNDA1YTNkMWM4MjQ0MTFkOWY3NTVhYmM1MjFiODBjYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2Q2NTA1YzlkODZiZDRmOTNhMWNiNzg1NDRjNWZhNDU5ID0gJChgPGRpdiBpZD0iaHRtbF9kNjUwNWM5ZDg2YmQ0ZjkzYTFjYjc4NTQ0YzVmYTQ1OSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5SdW1tZWxzIFBlcmxlPC9zdHJvbmc+PGJyPkxhdDogNTIuNDk3PGJyPkxvbmc6IDEzLjQyNjwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMzQwNWEzZDFjODI0NDExZDlmNzU1YWJjNTIxYjgwY2Iuc2V0Q29udGVudChodG1sX2Q2NTA1YzlkODZiZDRmOTNhMWNiNzg1NDRjNWZhNDU5KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfYzhhMTQyNGQ5ZmNjNGJjODgzMWEwZGYzZmM3Mzc0MGMuYmluZFBvcHVwKHBvcHVwXzM0MDVhM2QxYzgyNDQxMWQ5Zjc1NWFiYzUyMWI4MGNiKQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjRjZTg1MTdiYzM4NDE3ZGI0NmI2YThkNGNiNjJhMzEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjQ5MTkwOCwgMTMuMzg4NzQ3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fN2U0ODlkZmI1Y2FhNGNhZTgxM2RkNDliM2Y3OTA5OTAgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzI0Y2U4NTE3YmMzODQxN2RiNDZiNmE4ZDRjYjYyYTMxLnNldEljb24oaWNvbl83ZTQ4OWRmYjVjYWE0Y2FlODEzZGQ0OWIzZjc5MDk5MCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9jYmM0NGRjOWQwZGU0M2ZiOTE4YWU2MGE5ZjgzY2Q0OSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzcxM2EyMTRmZGRhZTQ0NjZhNTMyMTEzNDczZjFkODY1ID0gJChgPGRpdiBpZD0iaHRtbF83MTNhMjE0ZmRkYWU0NDY2YTUzMjExMzQ3M2YxZDg2NSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5HbmVpc2VuYXVzdHJhw59lIDI8L3N0cm9uZz48YnI+TGF0OiA1Mi40OTI8YnI+TG9uZzogMTMuMzg5PC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jYmM0NGRjOWQwZGU0M2ZiOTE4YWU2MGE5ZjgzY2Q0OS5zZXRDb250ZW50KGh0bWxfNzEzYTIxNGZkZGFlNDQ2NmE1MzIxMTM0NzNmMWQ4NjUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl8yNGNlODUxN2JjMzg0MTdkYjQ2YjZhOGQ0Y2I2MmEzMS5iaW5kUG9wdXAocG9wdXBfY2JjNDRkYzlkMGRlNDNmYjkxOGFlNjBhOWY4M2NkNDkpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83YjI0N2YzMmJjNWI0NzY3YWYzNjI1MDViZTZkNDkwMiA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDg4NjM2LCAxMy4zOTE4MjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl9kMzhiM2M4OGU0YmY0ODRkYjEyN2I2MzlmYWQ5ODk3MiA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfN2IyNDdmMzJiYzViNDc2N2FmMzYyNTA1YmU2ZDQ5MDIuc2V0SWNvbihpY29uX2QzOGIzYzg4ZTRiZjQ4NGRiMTI3YjYzOWZhZDk4OTcyKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2NhMjdjMDYzMTIxMTQwNDg4OGE2ZDE2YzgyODg1Y2RhID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYWJlYWY5OGVlYTY4NGQ1OGI2YTE2ZWNlNGI4ZTA2NjAgPSAkKGA8ZGl2IGlkPSJodG1sX2FiZWFmOThlZWE2ODRkNThiNmExNmVjZTRiOGUwNjYwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPkFybmR0c3RyYcOfZSAxNTwvc3Ryb25nPjxicj5MYXQ6IDUyLjQ4OTxicj5Mb25nOiAxMy4zOTI8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2NhMjdjMDYzMTIxMTQwNDg4OGE2ZDE2YzgyODg1Y2RhLnNldENvbnRlbnQoaHRtbF9hYmVhZjk4ZWVhNjg0ZDU4YjZhMTZlY2U0YjhlMDY2MCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzdiMjQ3ZjMyYmM1YjQ3NjdhZjM2MjUwNWJlNmQ0OTAyLmJpbmRQb3B1cChwb3B1cF9jYTI3YzA2MzEyMTE0MDQ4ODhhNmQxNmM4Mjg4NWNkYSkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdiYjI0MGIwYjkzNDQ4NGQ4ZjM0M2NjOTQzOWEzZTA1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTIyMTcsIDEzLjM4Mjc5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fNGY1YTk2ZDgyMDU3NGU3OTgzY2E2YWRiMzEyZTU0MjIgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzdiYjI0MGIwYjkzNDQ4NGQ4ZjM0M2NjOTQzOWEzZTA1LnNldEljb24oaWNvbl80ZjVhOTZkODIwNTc0ZTc5ODNjYTZhZGIzMTJlNTQyMik7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84Mjk3OGMwM2VkMGY0MmI4YjgzNzljNjg5NTE2MWIwMSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc2ZWM4NDdiYzBhYTQwNjZiZDRkZmI1MjBkZTU4MTRmID0gJChgPGRpdiBpZD0iaHRtbF83NmVjODQ3YmMwYWE0MDY2YmQ0ZGZiNTIwZGU1ODE0ZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5Hcm\/Dn2JlZXJlbnN0cmHDn2UgMzI8L3N0cm9uZz48YnI+TGF0OiA1Mi40OTI8YnI+TG9uZzogMTMuMzgzPC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF84Mjk3OGMwM2VkMGY0MmI4YjgzNzljNjg5NTE2MWIwMS5zZXRDb250ZW50KGh0bWxfNzZlYzg0N2JjMGFhNDA2NmJkNGRmYjUyMGRlNTgxNGYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl83YmIyNDBiMGI5MzQ0ODRkOGYzNDNjYzk0MzlhM2UwNS5iaW5kUG9wdXAocG9wdXBfODI5NzhjMDNlZDBmNDJiOGI4Mzc5YzY4OTUxNjFiMDEpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yOWM1M2Q0NTQyYTM0MGRjYmZiMmE0Y2E2ZWFkYWNkNCA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDk5OTczLCAxMy40MTg5OTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl84ZjM3YTU1NWNlZGY0MWM2OTQxNWRlNTFhZGQ3OTViNyA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfMjljNTNkNDU0MmEzNDBkY2JmYjJhNGNhNmVhZGFjZDQuc2V0SWNvbihpY29uXzhmMzdhNTU1Y2VkZjQxYzY5NDE1ZGU1MWFkZDc5NWI3KTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzlmYTgzODY2NGFjYjQwYjZiYmM4MDEwMzY0NzZiYWE4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYTJkNmMxN2JjOTI3NDFmZTliOTQxODA1NjZlZjBhYTggPSAkKGA8ZGl2IGlkPSJodG1sX2EyZDZjMTdiYzkyNzQxZmU5Yjk0MTgwNTY2ZWYwYWE4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPkFkYWxiZXJ0c3RyYcOfZSA0PC9zdHJvbmc+PGJyPkxhdDogNTIuNTAwPGJyPkxvbmc6IDEzLjQxOTwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOWZhODM4NjY0YWNiNDBiNmJiYzgwMTAzNjQ3NmJhYTguc2V0Q29udGVudChodG1sX2EyZDZjMTdiYzkyNzQxZmU5Yjk0MTgwNTY2ZWYwYWE4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfMjljNTNkNDU0MmEzNDBkY2JmYjJhNGNhNmVhZGFjZDQuYmluZFBvcHVwKHBvcHVwXzlmYTgzODY2NGFjYjQwYjZiYmM4MDEwMzY0NzZiYWE4KQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmU3NjNlYmNjODdjNDVmZGE1YzYxMTQ4NGQ1OGVmY2QgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjUwMzAyLCAxMy40Mjk4NjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl8zZjRiNmY1OWQ3NmM0MThhODUyMzQ4ZTUyZTFiNTEwOCA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfZmU3NjNlYmNjODdjNDVmZGE1YzYxMTQ4NGQ1OGVmY2Quc2V0SWNvbihpY29uXzNmNGI2ZjU5ZDc2YzQxOGE4NTIzNDhlNTJlMWI1MTA4KTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzVhZDUyZmY3MTQ1ODQ0MjRiMmNkOWIyNjg1Y2JiNzE2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMjI4NTk3NDhhZDk5NGU3ODgwOWNiZTdiMGM3NjgzZTYgPSAkKGA8ZGl2IGlkPSJodG1sXzIyODU5NzQ4YWQ5OTRlNzg4MDljYmU3YjBjNzY4M2U2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPk1hbnRldWZmZWxzdHJhw59lIDExMDwvc3Ryb25nPjxicj5MYXQ6IDUyLjUwMzxicj5Mb25nOiAxMy40MzA8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzVhZDUyZmY3MTQ1ODQ0MjRiMmNkOWIyNjg1Y2JiNzE2LnNldENvbnRlbnQoaHRtbF8yMjg1OTc0OGFkOTk0ZTc4ODA5Y2JlN2IwYzc2ODNlNik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyX2ZlNzYzZWJjYzg3YzQ1ZmRhNWM2MTE0ODRkNThlZmNkLmJpbmRQb3B1cChwb3B1cF81YWQ1MmZmNzE0NTg0NDI0YjJjZDliMjY4NWNiYjcxNikKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFkYmExNWJiM2IzNDQ3ZGRiZDhhOTgyZjMwZTJiMThjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTMwMjQsIDEzLjM5Nzg5MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uXzkwMzU0ZmRiYzgyOTQ3YTU4NDEyZTEwZmE4ZmY4YjFlID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl8xZGJhMTViYjNiMzQ0N2RkYmQ4YTk4MmYzMGUyYjE4Yy5zZXRJY29uKGljb25fOTAzNTRmZGJjODI5NDdhNTg0MTJlMTBmYThmZjhiMWUpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfM2Y4NWJlYzg5YjlkNDA5YWE3ZDQ1ZDAwMWZiNDJlMDQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9lOGYyOWRiMTMyZGY0ZTc0ODZlMWNjZjk0YjNiMzgxYSA9ICQoYDxkaXYgaWQ9Imh0bWxfZThmMjlkYjEzMmRmNGU3NDg2ZTFjY2Y5NGIzYjM4MWEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+RsO8cmJyaW5nZXJzdHJhw59lIDIwYTwvc3Ryb25nPjxicj5MYXQ6IDUyLjQ5Mzxicj5Mb25nOiAxMy4zOTg8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzNmODViZWM4OWI5ZDQwOWFhN2Q0NWQwMDFmYjQyZTA0LnNldENvbnRlbnQoaHRtbF9lOGYyOWRiMTMyZGY0ZTc0ODZlMWNjZjk0YjNiMzgxYSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzFkYmExNWJiM2IzNDQ3ZGRiZDhhOTgyZjMwZTJiMThjLmJpbmRQb3B1cChwb3B1cF8zZjg1YmVjODliOWQ0MDlhYTdkNDVkMDAxZmI0MmUwNCkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdjNjI4ZDlmYTE3MDQ4MzQ5OTAyOTIxYmRmOWRmOGFiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTA5MzUsIDEzLjM4NjQyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fMWUwMzI5NWZhZWY0NDQ5MDg3NzFmYjE1MWZjZGZhMDEgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzdjNjI4ZDlmYTE3MDQ4MzQ5OTAyOTIxYmRmOWRmOGFiLnNldEljb24oaWNvbl8xZTAzMjk1ZmFlZjQ0NDkwODc3MWZiMTUxZmNkZmEwMSk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80NjU5ZDZjMmQ5YTA0NzMxYmJlYzU3NzJhYzFhNWZmMSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2Q3YjMyNDBmYTY0NjRkZjViYWYzNTE0YzFlMTliMmIwID0gJChgPGRpdiBpZD0iaHRtbF9kN2IzMjQwZmE2NDY0ZGY1YmFmMzUxNGMxZTE5YjJiMCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5NZWhyaW5nZGFtbSA2Mjwvc3Ryb25nPjxicj5MYXQ6IDUyLjQ5MTxicj5Mb25nOiAxMy4zODY8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzQ2NTlkNmMyZDlhMDQ3MzFiYmVjNTc3MmFjMWE1ZmYxLnNldENvbnRlbnQoaHRtbF9kN2IzMjQwZmE2NDY0ZGY1YmFmMzUxNGMxZTE5YjJiMCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzdjNjI4ZDlmYTE3MDQ4MzQ5OTAyOTIxYmRmOWRmOGFiLmJpbmRQb3B1cChwb3B1cF80NjU5ZDZjMmQ5YTA0NzMxYmJlYzU3NzJhYzFhNWZmMSkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MxYzE5ODkwZjA5YjRkNjZiZjM5NTU0ZmJjZTQ0ODFhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi41MDI3ODgsIDEzLjQyMDIwMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uXzBiYmJhMGIzODg0ODRjNDdiNGI3Y2U2ZjkyZmM5NWFlID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl9jMWMxOTg5MGYwOWI0ZDY2YmYzOTU1NGZiY2U0NDgxYS5zZXRJY29uKGljb25fMGJiYmEwYjM4ODQ4NGM0N2I0YjdjZTZmOTJmYzk1YWUpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMmIxYTk0YTVhYmI3NGNjNTg3NDE2YTVkNzdhOTc0NjAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wNjgxZWJiM2I4YjE0YzYzOTg5YWJhYzdjNTU2MmVjNyA9ICQoYDxkaXYgaWQ9Imh0bWxfMDY4MWViYjNiOGIxNGM2Mzk4OWFiYWM3YzU1NjJlYzciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+Sm9kZWxrZWxsZXI8L3N0cm9uZz48YnI+TGF0OiA1Mi41MDM8YnI+TG9uZzogMTMuNDIwPC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8yYjFhOTRhNWFiYjc0Y2M1ODc0MTZhNWQ3N2E5NzQ2MC5zZXRDb250ZW50KGh0bWxfMDY4MWViYjNiOGIxNGM2Mzk4OWFiYWM3YzU1NjJlYzcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9jMWMxOTg5MGYwOWI0ZDY2YmYzOTU1NGZiY2U0NDgxYS5iaW5kUG9wdXAocG9wdXBfMmIxYTk0YTVhYmI3NGNjNTg3NDE2YTVkNzdhOTc0NjApCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zZmI1NzIzZjBmNGU0MTdkYTZkNDJlMTcxZWMxMjVlNSA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDkxMTcyLCAxMy40MTYxMjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl9iMzBhYmU4ZWJkMjM0N2IxOGVhZjRmMDJlNjgyNDJhZiA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfM2ZiNTcyM2YwZjRlNDE3ZGE2ZDQyZTE3MWVjMTI1ZTUuc2V0SWNvbihpY29uX2IzMGFiZThlYmQyMzQ3YjE4ZWFmNGYwMmU2ODI0MmFmKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2NmYmNlNDlmZDg1NDQwYzNhNWJlYzEyMGMyOWUwNWRlID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMGY5NGJjMzc1YTBkNDQ2Mjk3Mzc0YjE2YzYzOWNmYjEgPSAkKGA8ZGl2IGlkPSJodG1sXzBmOTRiYzM3NWEwZDQ0NjI5NzM3NGIxNmM2MzljZmIxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPlVyYmFuc3RyYcOfZSAxMjY8L3N0cm9uZz48YnI+TGF0OiA1Mi40OTE8YnI+TG9uZzogMTMuNDE2PC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jZmJjZTQ5ZmQ4NTQ0MGMzYTViZWMxMjBjMjllMDVkZS5zZXRDb250ZW50KGh0bWxfMGY5NGJjMzc1YTBkNDQ2Mjk3Mzc0YjE2YzYzOWNmYjEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl8zZmI1NzIzZjBmNGU0MTdkYTZkNDJlMTcxZWMxMjVlNS5iaW5kUG9wdXAocG9wdXBfY2ZiY2U0OWZkODU0NDBjM2E1YmVjMTIwYzI5ZTA1ZGUpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xY2YxODFmZjdlNzU0Y2VmYjg1NTFjZWY5ZTQ3MTdiYSA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDkxMzkzLCAxMy40MTMzMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl9mNjMyZGVmMzQ4YjM0OTk4YjQxNDkwYWU1NjIwNDljMSA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfMWNmMTgxZmY3ZTc1NGNlZmI4NTUxY2VmOWU0NzE3YmEuc2V0SWNvbihpY29uX2Y2MzJkZWYzNDhiMzQ5OThiNDE0OTBhZTU2MjA0OWMxKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzlkMjIwOGNiOGIxZTQ4MGViNzhiM2EyN2Y4MTMzOTIzID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYTJlZTI1NjQ0ODhlNDg0NWE0MTJjMDIwZWZhMjA4NTEgPSAkKGA8ZGl2IGlkPSJodG1sX2EyZWUyNTY0NDg4ZTQ4NDVhNDEyYzAyMGVmYTIwODUxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPlVyYmFuc3RyYcOfZSAzMDwvc3Ryb25nPjxicj5MYXQ6IDUyLjQ5MTxicj5Mb25nOiAxMy40MTM8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzlkMjIwOGNiOGIxZTQ4MGViNzhiM2EyN2Y4MTMzOTIzLnNldENvbnRlbnQoaHRtbF9hMmVlMjU2NDQ4OGU0ODQ1YTQxMmMwMjBlZmEyMDg1MSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzFjZjE4MWZmN2U3NTRjZWZiODU1MWNlZjllNDcxN2JhLmJpbmRQb3B1cChwb3B1cF85ZDIyMDhjYjhiMWU0ODBlYjc4YjNhMjdmODEzMzkyMykKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M0ZTEzYTdhNTAxNjQ5YmVhNjFmMGVkYzZjNjc3NDEyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTc5NDEsIDEzLjQyOTY5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uX2YxMmU1ODViZjBmODQwMTY4ODQ3MDMwNDRiZTRmMGQxID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl9jNGUxM2E3YTUwMTY0OWJlYTYxZjBlZGM2YzY3NzQxMi5zZXRJY29uKGljb25fZjEyZTU4NWJmMGY4NDAxNjg4NDcwMzA0NGJlNGYwZDEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNmM0ZTFjYTNiYTZhNGQyMzlhMTUwYzJkNTA0YTBkNzcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF82MDAyMmNiMTgwZTY0ZGYwYWRkNTdjNDdkZTNmZmIzOCA9ICQoYDxkaXYgaWQ9Imh0bWxfNjAwMjJjYjE4MGU2NGRmMGFkZDU3YzQ3ZGUzZmZiMzgiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+V2llbmVyIFN0cmHDn2UgMTU8L3N0cm9uZz48YnI+TGF0OiA1Mi40OTg8YnI+TG9uZzogMTMuNDMwPC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82YzRlMWNhM2JhNmE0ZDIzOWExNTBjMmQ1MDRhMGQ3Ny5zZXRDb250ZW50KGh0bWxfNjAwMjJjYjE4MGU2NGRmMGFkZDU3YzQ3ZGUzZmZiMzgpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9jNGUxM2E3YTUwMTY0OWJlYTYxZjBlZGM2YzY3NzQxMi5iaW5kUG9wdXAocG9wdXBfNmM0ZTFjYTNiYTZhNGQyMzlhMTUwYzJkNTA0YTBkNzcpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xYWFhMDU5ZjU1ODI0NzE0OWFlY2FkODZiZTYxNTEyZSA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNTAyMTA5LCAxMy40MjAwNjNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl8yNTc0MGVjZmM2Yjk0OWZmOTRhMjQ0MjBhMWVjYTJhMyA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfMWFhYTA1OWY1NTgyNDcxNDlhZWNhZDg2YmU2MTUxMmUuc2V0SWNvbihpY29uXzI1NzQwZWNmYzZiOTQ5ZmY5NGEyNDQyMGExZWNhMmEzKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2I2NmQ5Njc4OTcwZDQ4N2RhNjQyMTE0ZTczM2ZlZWJmID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfODVhOGVmYzhkN2Y0NGU2MjkzMmNiNjczNjYxY2U1YzQgPSAkKGA8ZGl2IGlkPSJodG1sXzg1YThlZmM4ZDdmNDRlNjI5MzJjYjY3MzY2MWNlNWM0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPkFkYWxiZXJ0c3RyYcOfZSAxODwvc3Ryb25nPjxicj5MYXQ6IDUyLjUwMjxicj5Mb25nOiAxMy40MjA8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2I2NmQ5Njc4OTcwZDQ4N2RhNjQyMTE0ZTczM2ZlZWJmLnNldENvbnRlbnQoaHRtbF84NWE4ZWZjOGQ3ZjQ0ZTYyOTMyY2I2NzM2NjFjZTVjNCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzFhYWEwNTlmNTU4MjQ3MTQ5YWVjYWQ4NmJlNjE1MTJlLmJpbmRQb3B1cChwb3B1cF9iNjZkOTY3ODk3MGQ0ODdkYTY0MjExNGU3MzNmZWViZikKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FlN2Q2MzMxZjU1ODQ4MTE5ZmE5OTA4YmNiYmRiODY3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTE2NDIsIDEzLjQxOTcyOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uX2UzNmExMGVhOTIxMDQ3NWI5NzhlNGY0NGYwOTRhNzljID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl9hZTdkNjMzMWY1NTg0ODExOWZhOTkwOGJjYmJkYjg2Ny5zZXRJY29uKGljb25fZTM2YTEwZWE5MjEwNDc1Yjk3OGU0ZjQ0ZjA5NGE3OWMpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYWVjYjRkM2Q3ZjA2NDkyZjgzMTMwMDkxMzc0ZjBiMzkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF84ZjQxMDcxZDZmYWU0MWI2YTAxZDUyZmExODQ1OWM1MCA9ICQoYDxkaXYgaWQ9Imh0bWxfOGY0MTA3MWQ2ZmFlNDFiNmEwMWQ1MmZhMTg0NTljNTAiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+RGllZmZlbmJhY2hzdHJhw59lIDM2PC9zdHJvbmc+PGJyPkxhdDogNTIuNDkyPGJyPkxvbmc6IDEzLjQyMDwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYWVjYjRkM2Q3ZjA2NDkyZjgzMTMwMDkxMzc0ZjBiMzkuc2V0Q29udGVudChodG1sXzhmNDEwNzFkNmZhZTQxYjZhMDFkNTJmYTE4NDU5YzUwKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfYWU3ZDYzMzFmNTU4NDgxMTlmYTk5MDhiY2JiZGI4NjcuYmluZFBvcHVwKHBvcHVwX2FlY2I0ZDNkN2YwNjQ5MmY4MzEzMDA5MTM3NGYwYjM5KQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDU2NGZjMDc2YTEzNGI3OGE0MGU1YzE5OTNjMTdiNWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjQ5NTA0NSwgMTMuMzgzNzczXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fZmE0NmIyZjRiNjMzNDdlY2JmNjQ1NDMzOGMwMDVjNmMgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyX2Q1NjRmYzA3NmExMzRiNzhhNDBlNWMxOTkzYzE3YjVjLnNldEljb24oaWNvbl9mYTQ2YjJmNGI2MzM0N2VjYmY2NDU0MzM4YzAwNWM2Yyk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84NDFmY2E4OTgzN2Y0YmViODI4Mzc2NGIyMjRlNzUzZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzllMmViNmQxOTc2YjRjOTg4NTRkMTllYjhkZGUxNTQwID0gJChgPGRpdiBpZD0iaHRtbF85ZTJlYjZkMTk3NmI0Yzk4ODU0ZDE5ZWI4ZGRlMTU0MCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5adW0gZ2Vtw7x0bGljaGVuIEVjazwvc3Ryb25nPjxicj5MYXQ6IDUyLjQ5NTxicj5Mb25nOiAxMy4zODQ8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzg0MWZjYTg5ODM3ZjRiZWI4MjgzNzY0YjIyNGU3NTNkLnNldENvbnRlbnQoaHRtbF85ZTJlYjZkMTk3NmI0Yzk4ODU0ZDE5ZWI4ZGRlMTU0MCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyX2Q1NjRmYzA3NmExMzRiNzhhNDBlNWMxOTkzYzE3YjVjLmJpbmRQb3B1cChwb3B1cF84NDFmY2E4OTgzN2Y0YmViODI4Mzc2NGIyMjRlNzUzZCkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q4NjljMDAyMzgyYTRlMjJiNWQyMGViNmNlYjFjODYxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTkyNjQsIDEzLjQxOTQ4NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uX2I2ZGE3MDE1YTI4ODRhZjA5NjNmMzhjZTc4MmNmZDk3ID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl9kODY5YzAwMjM4MmE0ZTIyYjVkMjBlYjZjZWIxYzg2MS5zZXRJY29uKGljb25fYjZkYTcwMTVhMjg4NGFmMDk2M2YzOGNlNzgyY2ZkOTcpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMDk2ZDAwNGI1MjJkNDBmMThhOGM3ODVhZjBmN2Q3YjAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8xMTFjYTMyMDk0OGM0MGRmYjc5ZTM3MDZiMmI2Y2U3MiA9ICQoYDxkaXYgaWQ9Imh0bWxfMTExY2EzMjA5NDhjNDBkZmI3OWUzNzA2YjJiNmNlNzIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+U2thbGl0emVyIFN0cmHDn2UgMTM0PC9zdHJvbmc+PGJyPkxhdDogNTIuNDk5PGJyPkxvbmc6IDEzLjQxOTwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMDk2ZDAwNGI1MjJkNDBmMThhOGM3ODVhZjBmN2Q3YjAuc2V0Q29udGVudChodG1sXzExMWNhMzIwOTQ4YzQwZGZiNzllMzcwNmIyYjZjZTcyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfZDg2OWMwMDIzODJhNGUyMmI1ZDIwZWI2Y2ViMWM4NjEuYmluZFBvcHVwKHBvcHVwXzA5NmQwMDRiNTIyZDQwZjE4YThjNzg1YWYwZjdkN2IwKQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjEzOTUzYjA0ZjU3NDgyNmFlMTRhYzViYmIxZWQ1ZjcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjQ5OTUwOCwgMTMuNDM5OTc3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fMGY2YWE3NzdkZTgyNDY5YmJkOGNhOWJmMDdlZjI5ZjEgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzIxMzk1M2IwNGY1NzQ4MjZhZTE0YWM1YmJiMWVkNWY3LnNldEljb24oaWNvbl8wZjZhYTc3N2RlODI0NjliYmQ4Y2E5YmYwN2VmMjlmMSk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80ZTU5MGFhYTVlNTg0Yzc1ODQ1ZjEyMTI4OTc4ZmQ1OCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzRmYjg3ZDU0ZDc2MjQ0ZGY4MjQyZDk4NzU4ZDAyYTQ4ID0gJChgPGRpdiBpZD0iaHRtbF80ZmI4N2Q1NGQ3NjI0NGRmODI0MmQ5ODc1OGQwMmE0OCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5XcmFuZ2Vsc3RyYcOfZSA5MDwvc3Ryb25nPjxicj5MYXQ6IDUyLjUwMDxicj5Mb25nOiAxMy40NDA8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzRlNTkwYWFhNWU1ODRjNzU4NDVmMTIxMjg5NzhmZDU4LnNldENvbnRlbnQoaHRtbF80ZmI4N2Q1NGQ3NjI0NGRmODI0MmQ5ODc1OGQwMmE0OCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzIxMzk1M2IwNGY1NzQ4MjZhZTE0YWM1YmJiMWVkNWY3LmJpbmRQb3B1cChwb3B1cF80ZTU5MGFhYTVlNTg0Yzc1ODQ1ZjEyMTI4OTc4ZmQ1OCkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCjwvc2NyaXB0Pg==\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen><\/iframe><\/div><\/div>\n<\/div>\n\n<\/div>\n\n<\/div>\n<\/div>\n\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Ok, we have an idea where we go. But not in which order. To determine the optimal route, we first have to know the distance between all pubs. We can conveniently solve this with the <a href=\"https:\/\/openrouteservice.org\/documentation\/#\/reference\/places\/places\/location-service-(get\"><strong>Matrix API<\/strong><\/a>.<\/p>\n<blockquote><p>I'd have like to do this example for biking\/walking, but I realized too late that we restricted matrix calls to 5x5 locations for those profiles...<\/p>\n<\/blockquote>\n\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[12]:<\/div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span><\/span><span class=\"kn\">from<\/span> <span class=\"nn\">openrouteservice<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">distance_matrix<\/span>\n\n<span class=\"n\">pubs_coords<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"n\">feat<\/span><span class=\"p\">[<\/span><span class=\"s1\">'geometry'<\/span><span class=\"p\">][<\/span><span class=\"s1\">'coordinates'<\/span><span class=\"p\">]<\/span> <span class=\"k\">for<\/span> <span class=\"n\">feat<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">pubs_smoker<\/span><span class=\"p\">]<\/span>\n\n<span class=\"n\">request<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span><span class=\"s1\">'locations'<\/span><span class=\"p\">:<\/span> <span class=\"n\">pubs_coords<\/span><span class=\"p\">,<\/span>\n           <span class=\"s1\">'profile'<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'driving-car'<\/span><span class=\"p\">,<\/span>\n           <span class=\"s1\">'metrics'<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"s1\">'duration'<\/span><span class=\"p\">]}<\/span>\n    \n<span class=\"n\">pubs_matrix<\/span> <span class=\"o\">=<\/span> <span class=\"n\">clnt<\/span><span class=\"o\">.<\/span><span class=\"n\">distance_matrix<\/span><span class=\"p\">(<\/span><span class=\"o\">**<\/span><span class=\"n\">request<\/span><span class=\"p\">)<\/span>\n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Calculated <\/span><span class=\"si\">{}<\/span><span class=\"s2\">x<\/span><span class=\"si\">{}<\/span><span class=\"s2\"> routes.\"<\/span><span class=\"o\">.<\/span><span class=\"n\">format<\/span><span class=\"p\">(<\/span><span class=\"nb\">len<\/span><span class=\"p\">(<\/span><span class=\"n\">pubs_matrix<\/span><span class=\"p\">[<\/span><span class=\"s1\">'durations'<\/span><span class=\"p\">]),<\/span><span class=\"nb\">len<\/span><span class=\"p\">(<\/span><span class=\"n\">pubs_matrix<\/span><span class=\"p\">[<\/span><span class=\"s1\">'durations'<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">])))<\/span>\n<\/pre><\/div>\n\n    <\/div>\n<\/div>\n<\/div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n    <div class=\"prompt\"><\/div>\n\n\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Calculated 26x26 routes.\n<\/pre>\n<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Check, 26x26. So, we got the durations now in <code>pubs_matrix['durations']<\/code>. Then there's finally the great entrance of <a href=\"https:\/\/github.com\/google\/or-tools\"><strong>ortools<\/strong><\/a>.<\/p>\n<p>Note, this is a local search.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[13]:<\/div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span><\/span><span class=\"kn\">from<\/span> <span class=\"nn\">ortools.constraint_solver<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">pywrapcp<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">ortools.constraint_solver<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">routing_enums_pb2<\/span>\n\n<span class=\"k\">def<\/span> <span class=\"nf\">getDistance<\/span><span class=\"p\">(<\/span><span class=\"n\">from_id<\/span><span class=\"p\">,<\/span> <span class=\"n\">to_id<\/span><span class=\"p\">):<\/span>\n    <span class=\"k\">return<\/span> <span class=\"nb\">int<\/span><span class=\"p\">(<\/span><span class=\"n\">pubs_matrix<\/span><span class=\"p\">[<\/span><span class=\"s1\">'durations'<\/span><span class=\"p\">][<\/span><span class=\"n\">from_id<\/span><span class=\"p\">][<\/span><span class=\"n\">to_id<\/span><span class=\"p\">])<\/span>\n\n<span class=\"n\">tsp_size<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">len<\/span><span class=\"p\">(<\/span><span class=\"n\">pubs_addresses<\/span><span class=\"p\">)<\/span>\n<span class=\"n\">num_routes<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">1<\/span>\n<span class=\"n\">start<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span> <span class=\"c1\"># arbitrary start location<\/span>\n<span class=\"n\">coords_aoi<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[(<\/span><span class=\"n\">y<\/span><span class=\"p\">,<\/span><span class=\"n\">x<\/span><span class=\"p\">)<\/span> <span class=\"k\">for<\/span> <span class=\"n\">x<\/span><span class=\"p\">,<\/span><span class=\"n\">y<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">aoi_coords<\/span><span class=\"p\">]<\/span> <span class=\"c1\"># swap (x,y) to (y,x)<\/span>\n\n<span class=\"n\">optimal_coords<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[]<\/span>\n\n<span class=\"k\">if<\/span> <span class=\"n\">tsp_size<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span><span class=\"p\">:<\/span>\n    <span class=\"n\">routing<\/span> <span class=\"o\">=<\/span> <span class=\"n\">pywrapcp<\/span><span class=\"o\">.<\/span><span class=\"n\">RoutingModel<\/span><span class=\"p\">(<\/span><span class=\"n\">tsp_size<\/span><span class=\"p\">,<\/span> <span class=\"n\">num_routes<\/span><span class=\"p\">,<\/span> <span class=\"n\">start<\/span><span class=\"p\">)<\/span>\n    <span class=\"n\">search_parameters<\/span> <span class=\"o\">=<\/span> <span class=\"n\">pywrapcp<\/span><span class=\"o\">.<\/span><span class=\"n\">RoutingModel<\/span><span class=\"o\">.<\/span><span class=\"n\">DefaultSearchParameters<\/span><span class=\"p\">()<\/span>\n\n    <span class=\"c1\"># Create the distance callback, which takes two arguments (the from and to node indices)<\/span>\n    <span class=\"c1\"># and returns the distance between these nodes.<\/span>\n    <span class=\"n\">dist_callback<\/span> <span class=\"o\">=<\/span> <span class=\"n\">getDistance<\/span>\n    <span class=\"n\">routing<\/span><span class=\"o\">.<\/span><span class=\"n\">SetArcCostEvaluatorOfAllVehicles<\/span><span class=\"p\">(<\/span><span class=\"n\">dist_callback<\/span><span class=\"p\">)<\/span>\n    <span class=\"c1\"># Solve, returns a solution if any.<\/span>\n    <span class=\"n\">assignment<\/span> <span class=\"o\">=<\/span> <span class=\"n\">routing<\/span><span class=\"o\">.<\/span><span class=\"n\">SolveWithParameters<\/span><span class=\"p\">(<\/span><span class=\"n\">search_parameters<\/span><span class=\"p\">)<\/span>\n    <span class=\"k\">if<\/span> <span class=\"n\">assignment<\/span><span class=\"p\">:<\/span>\n        <span class=\"c1\"># Total cost of the 'optimal' solution.<\/span>\n        <span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Total duration: \"<\/span> <span class=\"o\">+<\/span> <span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"nb\">round<\/span><span class=\"p\">(<\/span><span class=\"n\">assignment<\/span><span class=\"o\">.<\/span><span class=\"n\">ObjectiveValue<\/span><span class=\"p\">(),<\/span> <span class=\"mi\">3<\/span><span class=\"p\">)<\/span> <span class=\"o\">\/<\/span> <span class=\"mi\">60<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">\" minutes<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">\"<\/span><span class=\"p\">)<\/span>\n        <span class=\"n\">index<\/span> <span class=\"o\">=<\/span> <span class=\"n\">routing<\/span><span class=\"o\">.<\/span><span class=\"n\">Start<\/span><span class=\"p\">(<\/span><span class=\"n\">start<\/span><span class=\"p\">)<\/span> <span class=\"c1\"># Index of the variable for the starting node.<\/span>\n        <span class=\"n\">route<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">''<\/span>\n<span class=\"c1\">#         while not routing.IsEnd(index):<\/span>\n        <span class=\"k\">for<\/span> <span class=\"n\">node<\/span> <span class=\"ow\">in<\/span> <span class=\"nb\">range<\/span><span class=\"p\">(<\/span><span class=\"n\">routing<\/span><span class=\"o\">.<\/span><span class=\"n\">nodes<\/span><span class=\"p\">()):<\/span>\n            <span class=\"n\">optimal_coords<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">pubs_coords<\/span><span class=\"p\">[<\/span><span class=\"n\">routing<\/span><span class=\"o\">.<\/span><span class=\"n\">IndexToNode<\/span><span class=\"p\">(<\/span><span class=\"n\">index<\/span><span class=\"p\">)])<\/span>\n            <span class=\"n\">route<\/span> <span class=\"o\">+=<\/span> <span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">pubs_addresses<\/span><span class=\"p\">[<\/span><span class=\"n\">routing<\/span><span class=\"o\">.<\/span><span class=\"n\">IndexToNode<\/span><span class=\"p\">(<\/span><span class=\"n\">index<\/span><span class=\"p\">)])<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">' -&gt; '<\/span>\n            <span class=\"n\">index<\/span> <span class=\"o\">=<\/span> <span class=\"n\">assignment<\/span><span class=\"o\">.<\/span><span class=\"n\">Value<\/span><span class=\"p\">(<\/span><span class=\"n\">routing<\/span><span class=\"o\">.<\/span><span class=\"n\">NextVar<\/span><span class=\"p\">(<\/span><span class=\"n\">index<\/span><span class=\"p\">))<\/span>\n        <span class=\"n\">route<\/span> <span class=\"o\">+=<\/span> <span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">pubs_addresses<\/span><span class=\"p\">[<\/span><span class=\"n\">routing<\/span><span class=\"o\">.<\/span><span class=\"n\">IndexToNode<\/span><span class=\"p\">(<\/span><span class=\"n\">index<\/span><span class=\"p\">)])<\/span>\n        <span class=\"n\">optimal_coords<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">pubs_coords<\/span><span class=\"p\">[<\/span><span class=\"n\">routing<\/span><span class=\"o\">.<\/span><span class=\"n\">IndexToNode<\/span><span class=\"p\">(<\/span><span class=\"n\">index<\/span><span class=\"p\">)])<\/span>\n        <span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Route:<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">\"<\/span> <span class=\"o\">+<\/span> <span class=\"n\">route<\/span><span class=\"p\">)<\/span>\n<\/pre><\/div>\n\n    <\/div>\n<\/div>\n<\/div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n    <div class=\"prompt\"><\/div>\n\n\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Total duration: 45.75 minutes\n\nRoute:\nMehringdamm 67 -&gt; Mehringdamm 62 -&gt; Gro\u00dfbeerenstra\u00dfe 32 -&gt; Zum gem\u00fctlichen Eck -&gt; Wirtschaftswunder -&gt; Gneisenaustra\u00dfe 2 -&gt; Reichenberger Stra\u00dfe 103 -&gt; Reichenberger Stra\u00dfe 133 -&gt; Rummels Perle -&gt; Wiener Stra\u00dfe 15 -&gt; Wrangelstra\u00dfe 90 -&gt; Skalitzer Stra\u00dfe 75 -&gt; Manteuffelstra\u00dfe 110 -&gt; Manteuffelstra\u00dfe 40-41 -&gt; Oranienstra\u00dfe 14a -&gt; Skalitzer Stra\u00dfe 134 -&gt; Jodelkeller -&gt; Adalbertstra\u00dfe 18 -&gt; Adalbertstra\u00dfe 4 -&gt; Dieffenbachstra\u00dfe 36 -&gt; Urbanstra\u00dfe 126 -&gt; Urbanstra\u00dfe 30 -&gt; Bl\u00fccherstra\u00dfe 61 -&gt; F\u00fcrbringerstra\u00dfe 20a -&gt; Arndtstra\u00dfe 15 -&gt; Chamissoplatz 4 -&gt; Mehringdamm 67\n<\/pre>\n<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Visualizing both, the optimal route, and the more or less random waypoint order of the intial GeoJSON, look like this:<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[14]:<\/div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span><\/span><span class=\"kn\">from<\/span> <span class=\"nn\">openrouteservice<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">directions<\/span>\n<span class=\"kn\">import<\/span> <span class=\"nn\">os.path<\/span>\n\n<span class=\"k\">def<\/span> <span class=\"nf\">style_function<\/span><span class=\"p\">(<\/span><span class=\"n\">color<\/span><span class=\"p\">):<\/span>\n    <span class=\"k\">return<\/span> <span class=\"k\">lambda<\/span> <span class=\"n\">feature<\/span><span class=\"p\">:<\/span> <span class=\"nb\">dict<\/span><span class=\"p\">(<\/span><span class=\"n\">color<\/span><span class=\"o\">=<\/span><span class=\"n\">color<\/span><span class=\"p\">,<\/span>\n                              <span class=\"n\">weight<\/span><span class=\"o\">=<\/span><span class=\"mi\">3<\/span><span class=\"p\">,<\/span>\n                              <span class=\"n\">opacity<\/span><span class=\"o\">=<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># See what a 'random' tour would have been<\/span>\n<span class=\"n\">pubs_coords<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">pubs_coords<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">])<\/span>\n<span class=\"n\">request<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span><span class=\"s1\">'coordinates'<\/span><span class=\"p\">:<\/span> <span class=\"n\">pubs_coords<\/span><span class=\"p\">,<\/span>\n           <span class=\"s1\">'profile'<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'driving-car'<\/span><span class=\"p\">,<\/span>\n           <span class=\"s1\">'geometry'<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'true'<\/span><span class=\"p\">,<\/span>\n           <span class=\"s1\">'format_out'<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'geojson'<\/span><span class=\"p\">,<\/span>\n<span class=\"c1\">#            'instructions': 'false'          <\/span>\n          <span class=\"p\">}<\/span>\n<span class=\"n\">random_route<\/span> <span class=\"o\">=<\/span> <span class=\"n\">clnt<\/span><span class=\"o\">.<\/span><span class=\"n\">directions<\/span><span class=\"p\">(<\/span><span class=\"o\">**<\/span><span class=\"n\">request<\/span><span class=\"p\">)<\/span>\n\n<span class=\"n\">folium<\/span><span class=\"o\">.<\/span><span class=\"n\">features<\/span><span class=\"o\">.<\/span><span class=\"n\">GeoJson<\/span><span class=\"p\">(<\/span><span class=\"n\">data<\/span><span class=\"o\">=<\/span><span class=\"n\">random_route<\/span><span class=\"p\">,<\/span>\n                        <span class=\"n\">name<\/span><span class=\"o\">=<\/span><span class=\"s1\">'Random Bar Crawl'<\/span><span class=\"p\">,<\/span>\n                        <span class=\"n\">style_function<\/span><span class=\"o\">=<\/span><span class=\"n\">style_function<\/span><span class=\"p\">(<\/span><span class=\"s1\">'#84e184'<\/span><span class=\"p\">),<\/span>\n                       <span class=\"n\">overlay<\/span><span class=\"o\">=<\/span><span class=\"kc\">True<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">add_to<\/span><span class=\"p\">(<\/span><span class=\"n\">m<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># And now the optimal route<\/span>\n<span class=\"n\">request<\/span><span class=\"p\">[<\/span><span class=\"s1\">'coordinates'<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">optimal_coords<\/span>\n<span class=\"n\">optimal_route<\/span> <span class=\"o\">=<\/span> <span class=\"n\">clnt<\/span><span class=\"o\">.<\/span><span class=\"n\">directions<\/span><span class=\"p\">(<\/span><span class=\"o\">**<\/span><span class=\"n\">request<\/span><span class=\"p\">)<\/span>\n<span class=\"n\">folium<\/span><span class=\"o\">.<\/span><span class=\"n\">features<\/span><span class=\"o\">.<\/span><span class=\"n\">GeoJson<\/span><span class=\"p\">(<\/span><span class=\"n\">data<\/span><span class=\"o\">=<\/span><span class=\"n\">optimal_route<\/span><span class=\"p\">,<\/span>\n                        <span class=\"n\">name<\/span><span class=\"o\">=<\/span><span class=\"s1\">'Optimal Bar Crawl'<\/span><span class=\"p\">,<\/span>\n                        <span class=\"n\">style_function<\/span><span class=\"o\">=<\/span><span class=\"n\">style_function<\/span><span class=\"p\">(<\/span><span class=\"s1\">'#6666ff'<\/span><span class=\"p\">),<\/span>\n                       <span class=\"n\">overlay<\/span><span class=\"o\">=<\/span><span class=\"kc\">True<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">add_to<\/span><span class=\"p\">(<\/span><span class=\"n\">m<\/span><span class=\"p\">)<\/span>\n\n<span class=\"n\">m<\/span><span class=\"o\">.<\/span><span class=\"n\">add_child<\/span><span class=\"p\">(<\/span><span class=\"n\">folium<\/span><span class=\"o\">.<\/span><span class=\"n\">map<\/span><span class=\"o\">.<\/span><span class=\"n\">LayerControl<\/span><span class=\"p\">())<\/span>\n<span class=\"n\">m<\/span>\n<\/pre><\/div>\n\n    <\/div>\n<\/div>\n<\/div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n    <div class=\"prompt output_prompt\">Out[14]:<\/div>\n\n\n\n<div class=\"output_html rendered_html output_subarea output_execute_result\">\n<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text\/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgPHNjcmlwdD5MX1BSRUZFUl9DQU5WQVM9ZmFsc2U7IExfTk9fVE9VQ0g9ZmFsc2U7IExfRElTQUJMRV8zRD1mYWxzZTs8L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4zLjQvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjExLjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4zLjQvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9yYXdjZG4uZ2l0aGFjay5jb20vcHl0aG9uLXZpc3VhbGl6YXRpb24vZm9saXVtL21hc3Rlci9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUuY3NzIi8+CiAgICA8c3R5bGU+aHRtbCwgYm9keSB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO21hcmdpbjogMDtwYWRkaW5nOiAwO308L3N0eWxlPgogICAgPHN0eWxlPiNtYXAge3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7bGVmdDowO308L3N0eWxlPgogICAgCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLAogICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgIDxzdHlsZT4jbWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMC4wJTsKICAgICAgICBoZWlnaHQ6IDEwMC4wJTsKICAgICAgICBsZWZ0OiAwLjAlOwogICAgICAgIHRvcDogMC4wJTsKICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgPGRpdiBjbGFzcz0iZm9saXVtLW1hcCIgaWQ9Im1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1YiIgPjwvZGl2Pgo8L2JvZHk+CjxzY3JpcHQ+ICAgIAogICAgCiAgICAKICAgICAgICB2YXIgYm91bmRzID0gbnVsbDsKICAgIAoKICAgIHZhciBtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIgPSBMLm1hcCgKICAgICAgICAnbWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViJywgewogICAgICAgIGNlbnRlcjogWzUyLjQ5NjgyODUyMjg0NjYzLCAxMy40MDU0MzcwNTI5MjcyNTZdLAogICAgICAgIHpvb206IDE0LAogICAgICAgIG1heEJvdW5kczogYm91bmRzLAogICAgICAgIGxheWVyczogW10sCiAgICAgICAgd29ybGRDb3B5SnVtcDogZmFsc2UsCiAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICB9KTsKCiAgICAKICAgIAogICAgdmFyIHRpbGVfbGF5ZXJfMWZkNDhkMDg5ODIzNDU1MzgwODc3ZTY1NTIzNjY4N2IgPSBMLnRpbGVMYXllcigKICAgICAgICAnaHR0cHM6Ly9zdGFtZW4tdGlsZXMte3N9LmEuc3NsLmZhc3RseS5uZXQvdG9uZXIve3p9L3t4fS97eX0ucG5nJywKICAgICAgICB7CiAgICAgICAgImF0dHJpYnV0aW9uIjogbnVsbCwKICAgICAgICAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsCiAgICAgICAgIm1heE5hdGl2ZVpvb20iOiAxOCwKICAgICAgICAibWF4Wm9vbSI6IDE4LAogICAgICAgICJtaW5ab29tIjogMCwKICAgICAgICAibm9XcmFwIjogZmFsc2UsCiAgICAgICAgIm9wYWNpdHkiOiAxLAogICAgICAgICJzdWJkb21haW5zIjogImFiYyIsCiAgICAgICAgInRtcyI6IGZhbHNlCn0pLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAKCiAgICAgICAgICAgIHZhciBwb2x5Z29uX2NhY2E0YWEwNGNlYzQyZmZiOTZlODUwMjI0Yjk5YjllID0gTC5wb2x5Z29uKAogICAgICAgICAgICAgICAgW1s1Mi40ODk2MTA0NiwgMTMuNDM5MjY0MDRdLCBbNTIuNDk1ODYzODIsIDEzLjQyMDQwMTE1XSwgWzUyLjQ4ODA4NTIzLCAxMy40MjU0MTEwMV0sIFs1Mi40ODYzNTgyOSwgMTMuNDIzNjgxNTVdLCBbNTIuNDg4ODYwODQsIDEzLjQwNzg4NTk5XSwgWzUyLjQ4NzE0MiwgMTMuNDA4NTI5NDRdLCBbNTIuNDg2MTQ5ODgsIDEzLjQwNzQ1OTg5XSwgWzUyLjQ4NDk5NzQ2LCAxMy40MDQzOTE4N10sIFs1Mi40ODUwMDEyNSwgMTMuNDAxNTQ3MzFdLCBbNTIuNDgzNzMyMDIsIDEzLjQwMDM4NTkxXSwgWzUyLjQ4Mzg2NjQsIDEzLjM5NDIzODE4XSwgWzUyLjQ4NTc3MTQ5LCAxMy4zOTQyNTM0Nl0sIFs1Mi40ODU4MjY0OCwgMTMuMzg2MjkwOTZdLCBbNTIuNDg0ODYzNjIsIDEzLjM4NjI2ODUzXSwgWzUyLjQ4NDk1MDU1LCAxMy4zNzE1Njk0XSwgWzUyLjQ4NTE2OTcsIDEzLjM3NDAyMDk5XSwgWzUyLjQ4NzcxMTA1LCAxMy4zNzQxNjM2NV0sIFs1Mi40ODc5ODE5MSwgMTMuMzczNTM2MTVdLCBbNTIuNDg5NDMyLCAxMy4zNzUzOTkyNV0sIFs1Mi40OTE2NzU5NywgMTMuMzc2NDM0MTZdLCBbNTIuNDkzMzMwOTMsIDEzLjM2ODIxNTMxXSwgWzUyLjQ5ODg2OTc0LCAxMy4zNjk1MjgyNl0sIFs1Mi41MDQxNjMzMywgMTMuMzczNjA2MjNdLCBbNTIuNTAzMzc3NzYsIDEzLjM3NDk3NzI2XSwgWzUyLjUwNzk2NzUsIDEzLjM3NzY0OTE2XSwgWzUyLjUwNjkzMDQ1LCAxMy4zNzg5MzgxM10sIFs1Mi41MDgwNzcxMSwgMTMuMzk5MjMxNTNdLCBbNTIuNTA5MzgxMDgsIDEzLjQwMDIyODgzXSwgWzUyLjUwNzc3NDcxLCAxMy40MDQ0MzQyNV0sIFs1Mi41MDgyMTA2MywgMTMuNDA1Mjg0OF0sIFs1Mi41MDYxODAxOSwgMTMuNDA4MDI5NDRdLCBbNTIuNTA2OTI1NjksIDEzLjQwOTk3MDgxXSwgWzUyLjUwNDg5MTI3LCAxMy40MTE1MjA5Nl0sIFs1Mi41MDQwMzc5NCwgMTMuNDE0MDcyODRdLCBbNTIuNTA0OTE2MzQsIDEzLjQxNDkwOTIxXSwgWzUyLjUwNDE3MDEzLCAxMy40MTc2MDE0NV0sIFs1Mi41MDU2NDkxMiwgMTMuNDE5NDMwOTFdLCBbNTIuNTA0OTgxMDksIDEzLjQyMzA0MTJdLCBbNTIuNTA1NjY2MDcsIDEzLjQyNzIwMDMxXSwgWzUyLjUwODU3MjIyLCAxMy40Mjk0MDIyOV0sIFs1Mi40OTc1MjQ5NiwgMTMuNDUzMzUyMzVdLCBbNTIuNDk3MTA4MDMsIDEzLjQ1MDkwNzk1XSwgWzUyLjQ5NDcyMTI0LCAxMy40NDc2NTkxMl0sIFs1Mi40OTQ0MjI3NiwgMTMuNDQ0OTc2MjNdLCBbNTIuNDg5NjEwNDYsIDEzLjQzOTI2NDA0XV0sCiAgICAgICAgICAgICAgICB7CiAgImJ1YmJsaW5nTW91c2VFdmVudHMiOiB0cnVlLAogICJjb2xvciI6ICIjZmZkNjk5IiwKICAiZGFzaEFycmF5IjogbnVsbCwKICAiZGFzaE9mZnNldCI6IG51bGwsCiAgImZpbGwiOiB0cnVlLAogICJmaWxsQ29sb3IiOiAiI2ZmZDY5OSIsCiAgImZpbGxPcGFjaXR5IjogMC4yLAogICJmaWxsUnVsZSI6ICJldmVub2RkIiwKICAibGluZUNhcCI6ICJyb3VuZCIsCiAgImxpbmVKb2luIjogInJvdW5kIiwKICAibm9DbGlwIjogZmFsc2UsCiAgIm9wYWNpdHkiOiAxLjAsCiAgInNtb290aEZhY3RvciI6IDEuMCwKICAic3Ryb2tlIjogdHJ1ZSwKICAid2VpZ2h0IjogMwp9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzg4MGJkMTM1N2VhYzRjNmY5YTQ1YjVlNDA2MWM4Yjg1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTAzODYsIDEzLjM4NzA0NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uX2FkMTZjMjE3N2M5YzRiZTBhNjEwZTgwMjY5Y2ZkMzcxID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl84ODBiZDEzNTdlYWM0YzZmOWE0NWI1ZTQwNjFjOGI4NS5zZXRJY29uKGljb25fYWQxNmMyMTc3YzljNGJlMGE2MTBlODAyNjljZmQzNzEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNjA2ZDgwNDlkMjE4NDgwYWI1ZWZhZjg2YWM2M2U0M2IgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9lYmQxYzg5MzMzNGQ0M2Y4YmU5MmEwOTUwN2Y2N2VmNyA9ICQoYDxkaXYgaWQ9Imh0bWxfZWJkMWM4OTMzMzRkNDNmOGJlOTJhMDk1MDdmNjdlZjciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+TWVocmluZ2RhbW0gNjc8L3N0cm9uZz48YnI+TGF0OiA1Mi40OTA8YnI+TG9uZzogMTMuMzg3PC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82MDZkODA0OWQyMTg0ODBhYjVlZmFmODZhYzYzZTQzYi5zZXRDb250ZW50KGh0bWxfZWJkMWM4OTMzMzRkNDNmOGJlOTJhMDk1MDdmNjdlZjcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl84ODBiZDEzNTdlYWM0YzZmOWE0NWI1ZTQwNjFjOGI4NS5iaW5kUG9wdXAocG9wdXBfNjA2ZDgwNDlkMjE4NDgwYWI1ZWZhZjg2YWM2M2U0M2IpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84NTA4MTc1YmNkMTA0YmIxOGVmYmE3YzQxNGNjMzBlMyA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDkzMjM2LCAxMy4zODQyNDhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl8yMzViMGFkZTM4Nzk0ODNiODUwM2NjZjg3OGI2MmZiNSA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfODUwODE3NWJjZDEwNGJiMThlZmJhN2M0MTRjYzMwZTMuc2V0SWNvbihpY29uXzIzNWIwYWRlMzg3OTQ4M2I4NTAzY2NmODc4YjYyZmI1KTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2RlNDIzZjQwZDY0NzQwNzVhYzc1ZWZlMWIzYWZjZGI1ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYjE2Mjg3MzdiMzAzNGE1ZDgxNWQ2M2UyYjY5NDA2NWQgPSAkKGA8ZGl2IGlkPSJodG1sX2IxNjI4NzM3YjMwMzRhNWQ4MTVkNjNlMmI2OTQwNjVkIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPldpcnRzY2hhZnRzd3VuZGVyPC9zdHJvbmc+PGJyPkxhdDogNTIuNDkzPGJyPkxvbmc6IDEzLjM4NDwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZGU0MjNmNDBkNjQ3NDA3NWFjNzVlZmUxYjNhZmNkYjUuc2V0Q29udGVudChodG1sX2IxNjI4NzM3YjMwMzRhNWQ4MTVkNjNlMmI2OTQwNjVkKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfODUwODE3NWJjZDEwNGJiMThlZmJhN2M0MTRjYzMwZTMuYmluZFBvcHVwKHBvcHVwX2RlNDIzZjQwZDY0NzQwNzVhYzc1ZWZlMWIzYWZjZGI1KQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDljMDUyNWMwNGRhNGVmN2EzN2ZmYzhkZDk0NjNkNmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjUwMDg4NCwgMTMuNDQwNDA0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fOGYwMWZjMzVjZjZiNDM1N2JhYTJmOGQ3NjJiM2YxOTAgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzQ5YzA1MjVjMDRkYTRlZjdhMzdmZmM4ZGQ5NDYzZDZlLnNldEljb24oaWNvbl84ZjAxZmMzNWNmNmI0MzU3YmFhMmY4ZDc2MmIzZjE5MCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8wMDFjYThkMGMwMWM0YTRkYTAzMDViNTk0ZGU0MGM3OCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzQ4N2VkOWM1ZTExZDRkMTE5Mzk1OGJmNTMyZGM3OTllID0gJChgPGRpdiBpZD0iaHRtbF80ODdlZDljNWUxMWQ0ZDExOTM5NThiZjUzMmRjNzk5ZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5Ta2FsaXR6ZXIgU3RyYcOfZSA3NTwvc3Ryb25nPjxicj5MYXQ6IDUyLjUwMTxicj5Mb25nOiAxMy40NDA8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzAwMWNhOGQwYzAxYzRhNGRhMDMwNWI1OTRkZTQwYzc4LnNldENvbnRlbnQoaHRtbF80ODdlZDljNWUxMWQ0ZDExOTM5NThiZjUzMmRjNzk5ZSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzQ5YzA1MjVjMDRkYTRlZjdhMzdmZmM4ZGQ5NDYzZDZlLmJpbmRQb3B1cChwb3B1cF8wMDFjYThkMGMwMWM0YTRkYTAzMDViNTk0ZGU0MGM3OCkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRlZjNlMTE5ODRmMzRjM2U4YmNkNjVmMmViNTkwM2Y2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTQ1OTUsIDEzLjQwMDA5MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uX2M5NjI2MDVjMmRkMTQzYWZiYzk0YjNmOWE4ZmQxZjhjID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl80ZWYzZTExOTg0ZjM0YzNlOGJjZDY1ZjJlYjU5MDNmNi5zZXRJY29uKGljb25fYzk2MjYwNWMyZGQxNDNhZmJjOTRiM2Y5YThmZDFmOGMpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMTc4M2IxYWNkMjljNGMzYTg5NWQ1OGNmNGU0NTEyMWMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yNzc5MmQ0NGMyMzM0MmY4OGRkNTgyY2UyMWNjN2YyOCA9ICQoYDxkaXYgaWQ9Imh0bWxfMjc3OTJkNDRjMjMzNDJmODhkZDU4MmNlMjFjYzdmMjgiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+QmzDvGNoZXJzdHJhw59lIDYxPC9zdHJvbmc+PGJyPkxhdDogNTIuNDk1PGJyPkxvbmc6IDEzLjQwMDwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMTc4M2IxYWNkMjljNGMzYTg5NWQ1OGNmNGU0NTEyMWMuc2V0Q29udGVudChodG1sXzI3NzkyZDQ0YzIzMzQyZjg4ZGQ1ODJjZTIxY2M3ZjI4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfNGVmM2UxMTk4NGYzNGMzZThiY2Q2NWYyZWI1OTAzZjYuYmluZFBvcHVwKHBvcHVwXzE3ODNiMWFjZDI5YzRjM2E4OTVkNThjZjRlNDUxMjFjKQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWIyMzM3NDQyMTUyNDJkYThkNGQ5ZTQ5N2Q3OWIxYTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjQ4NzkyOCwgMTMuMzkwNDIzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fZTNkYjA4ZGViOTI2NDhmZTk5OTRkMzYyOWVjMmZmNDAgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzViMjMzNzQ0MjE1MjQyZGE4ZDRkOWU0OTdkNzliMWE2LnNldEljb24oaWNvbl9lM2RiMDhkZWI5MjY0OGZlOTk5NGQzNjI5ZWMyZmY0MCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9kMTBkNGQ1YjZiOWE0NzhjODg2ODFmYWMxYWRkYWU4NCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzk4NWVjNTBmODlhYTRhNGVhN2NmNmNkYmMyN2Y2M2Q3ID0gJChgPGRpdiBpZD0iaHRtbF85ODVlYzUwZjg5YWE0YTRlYTdjZjZjZGJjMjdmNjNkNyIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5DaGFtaXNzb3BsYXR6IDQ8L3N0cm9uZz48YnI+TGF0OiA1Mi40ODg8YnI+TG9uZzogMTMuMzkwPC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kMTBkNGQ1YjZiOWE0NzhjODg2ODFmYWMxYWRkYWU4NC5zZXRDb250ZW50KGh0bWxfOTg1ZWM1MGY4OWFhNGE0ZWE3Y2Y2Y2RiYzI3ZjYzZDcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl81YjIzMzc0NDIxNTI0MmRhOGQ0ZDllNDk3ZDc5YjFhNi5iaW5kUG9wdXAocG9wdXBfZDEwZDRkNWI2YjlhNDc4Yzg4NjgxZmFjMWFkZGFlODQpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wYWI1ZDZlOGE5M2Q0YzJjOGI2YjljZjliMGU3NjVkMiA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDk2MDc3LCAxMy40MjkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fNTQyMDQ5NjMxODJlNDBiNDhkM2Q3OWNkM2YwNjYyNDMgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzBhYjVkNmU4YTkzZDRjMmM4YjZiOWNmOWIwZTc2NWQyLnNldEljb24oaWNvbl81NDIwNDk2MzE4MmU0MGI0OGQzZDc5Y2QzZjA2NjI0Myk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9iNjI0MDhkNWFiMmY0NmVlYTBjMGU0ZTRjMTBiZGJhYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzg5NTIyNGNiNzBjNzRjYzdiZDU5MjgyM2U5MGQ3OTEyID0gJChgPGRpdiBpZD0iaHRtbF84OTUyMjRjYjcwYzc0Y2M3YmQ1OTI4MjNlOTBkNzkxMiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5SZWljaGVuYmVyZ2VyIFN0cmHDn2UgMTMzPC9zdHJvbmc+PGJyPkxhdDogNTIuNDk2PGJyPkxvbmc6IDEzLjQyOTwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYjYyNDA4ZDVhYjJmNDZlZWEwYzBlNGU0YzEwYmRiYWIuc2V0Q29udGVudChodG1sXzg5NTIyNGNiNzBjNzRjYzdiZDU5MjgyM2U5MGQ3OTEyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfMGFiNWQ2ZThhOTNkNGMyYzhiNmI5Y2Y5YjBlNzY1ZDIuYmluZFBvcHVwKHBvcHVwX2I2MjQwOGQ1YWIyZjQ2ZWVhMGMwZTRlNGMxMGJkYmFiKQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjM1OTYyNTRiZDcwNGM3YWEwZWZhMTI1OWVjNWJmYjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjUwMDU0NiwgMTMuNDIzNDU0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fZThkMzRmY2IxYmJhNDk2M2E5YWU0Y2NmMDI2ZTkwYjAgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyX2IzNTk2MjU0YmQ3MDRjN2FhMGVmYTEyNTllYzViZmI0LnNldEljb24oaWNvbl9lOGQzNGZjYjFiYmE0OTYzYTlhZTRjY2YwMjZlOTBiMCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF81MDVlMjc1N2MzNDQ0YmIxODYyYzNmNWUxODNlYWIxNSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc0YWY5MDM0YTcwNTQwZDNiYTVkMjg4MDgwMDU2ZjA5ID0gJChgPGRpdiBpZD0iaHRtbF83NGFmOTAzNGE3MDU0MGQzYmE1ZDI4ODA4MDA1NmYwOSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5PcmFuaWVuc3RyYcOfZSAxNGE8L3N0cm9uZz48YnI+TGF0OiA1Mi41MDE8YnI+TG9uZzogMTMuNDIzPC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF81MDVlMjc1N2MzNDQ0YmIxODYyYzNmNWUxODNlYWIxNS5zZXRDb250ZW50KGh0bWxfNzRhZjkwMzRhNzA1NDBkM2JhNWQyODgwODAwNTZmMDkpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9iMzU5NjI1NGJkNzA0YzdhYTBlZmExMjU5ZWM1YmZiNC5iaW5kUG9wdXAocG9wdXBfNTA1ZTI3NTdjMzQ0NGJiMTg2MmMzZjVlMTgzZWFiMTUpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zMDU2NWFmYmVkNDk0MmE1OGYyZTZjODZiMTFmMTUzMiA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDkzNTU1LCAxMy40Mzc3OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uXzhmN2Q4NzFjYWE4NjRjNjBhZTA5MzNjNmM0NzY1MTg5ID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl8zMDU2NWFmYmVkNDk0MmE1OGYyZTZjODZiMTFmMTUzMi5zZXRJY29uKGljb25fOGY3ZDg3MWNhYTg2NGM2MGFlMDkzM2M2YzQ3NjUxODkpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNjVhOTI3YzY3MWZlNDU4NGI3MDZjOGZkYmFkNDI5ZjggPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wZWZiZDM2MmVmNDA0YTEzYTM4MWFkNzE4NjA0MTUxYiA9ICQoYDxkaXYgaWQ9Imh0bWxfMGVmYmQzNjJlZjQwNGExM2EzODFhZDcxODYwNDE1MWIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+UmVpY2hlbmJlcmdlciBTdHJhw59lIDEwMzwvc3Ryb25nPjxicj5MYXQ6IDUyLjQ5NDxicj5Mb25nOiAxMy40Mzg8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzY1YTkyN2M2NzFmZTQ1ODRiNzA2YzhmZGJhZDQyOWY4LnNldENvbnRlbnQoaHRtbF8wZWZiZDM2MmVmNDA0YTEzYTM4MWFkNzE4NjA0MTUxYik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzMwNTY1YWZiZWQ0OTQyYTU4ZjJlNmM4NmIxMWYxNTMyLmJpbmRQb3B1cChwb3B1cF82NWE5MjdjNjcxZmU0NTg0YjcwNmM4ZmRiYWQ0MjlmOCkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FhNmY3OTlmNzcwMTRhODA4N2UyYzk0OTBlNTRmMDhiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTk3MTMsIDEzLjQyNjU4MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uXzRmZjdjNmNjOTBkYzQzYzJhOWE1NDJkYjI1NjZmYTdjID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl9hYTZmNzk5Zjc3MDE0YTgwODdlMmM5NDkwZTU0ZjA4Yi5zZXRJY29uKGljb25fNGZmN2M2Y2M5MGRjNDNjMmE5YTU0MmRiMjU2NmZhN2MpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMDUzZTkxZjg1NDcyNDNlYTgwYmIxZmEzOGY0YjZmYzcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9mNDk1ZDBhZTczN2Q0MmQyODA3MmNiODMwNjNkZDFmOSA9ICQoYDxkaXYgaWQ9Imh0bWxfZjQ5NWQwYWU3MzdkNDJkMjgwNzJjYjgzMDYzZGQxZjkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+TWFudGV1ZmZlbHN0cmHDn2UgNDAtNDE8L3N0cm9uZz48YnI+TGF0OiA1Mi41MDA8YnI+TG9uZzogMTMuNDI3PC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8wNTNlOTFmODU0NzI0M2VhODBiYjFmYTM4ZjRiNmZjNy5zZXRDb250ZW50KGh0bWxfZjQ5NWQwYWU3MzdkNDJkMjgwNzJjYjgzMDYzZGQxZjkpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9hYTZmNzk5Zjc3MDE0YTgwODdlMmM5NDkwZTU0ZjA4Yi5iaW5kUG9wdXAocG9wdXBfMDUzZTkxZjg1NDcyNDNlYTgwYmIxZmEzOGY0YjZmYzcpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jOGExNDI0ZDlmY2M0YmM4ODMxYTBkZjNmYzczNzQwYyA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDk2NjEsIDEzLjQyNjE0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fMDNlMTkyZmYzNzU4NDk5NmE4NzMxZDcwMjMxNzk5ZDIgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyX2M4YTE0MjRkOWZjYzRiYzg4MzFhMGRmM2ZjNzM3NDBjLnNldEljb24oaWNvbl8wM2UxOTJmZjM3NTg0OTk2YTg3MzFkNzAyMzE3OTlkMik7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8zNDA1YTNkMWM4MjQ0MTFkOWY3NTVhYmM1MjFiODBjYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2Q2NTA1YzlkODZiZDRmOTNhMWNiNzg1NDRjNWZhNDU5ID0gJChgPGRpdiBpZD0iaHRtbF9kNjUwNWM5ZDg2YmQ0ZjkzYTFjYjc4NTQ0YzVmYTQ1OSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5SdW1tZWxzIFBlcmxlPC9zdHJvbmc+PGJyPkxhdDogNTIuNDk3PGJyPkxvbmc6IDEzLjQyNjwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMzQwNWEzZDFjODI0NDExZDlmNzU1YWJjNTIxYjgwY2Iuc2V0Q29udGVudChodG1sX2Q2NTA1YzlkODZiZDRmOTNhMWNiNzg1NDRjNWZhNDU5KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfYzhhMTQyNGQ5ZmNjNGJjODgzMWEwZGYzZmM3Mzc0MGMuYmluZFBvcHVwKHBvcHVwXzM0MDVhM2QxYzgyNDQxMWQ5Zjc1NWFiYzUyMWI4MGNiKQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjRjZTg1MTdiYzM4NDE3ZGI0NmI2YThkNGNiNjJhMzEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjQ5MTkwOCwgMTMuMzg4NzQ3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fN2U0ODlkZmI1Y2FhNGNhZTgxM2RkNDliM2Y3OTA5OTAgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzI0Y2U4NTE3YmMzODQxN2RiNDZiNmE4ZDRjYjYyYTMxLnNldEljb24oaWNvbl83ZTQ4OWRmYjVjYWE0Y2FlODEzZGQ0OWIzZjc5MDk5MCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9jYmM0NGRjOWQwZGU0M2ZiOTE4YWU2MGE5ZjgzY2Q0OSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzcxM2EyMTRmZGRhZTQ0NjZhNTMyMTEzNDczZjFkODY1ID0gJChgPGRpdiBpZD0iaHRtbF83MTNhMjE0ZmRkYWU0NDY2YTUzMjExMzQ3M2YxZDg2NSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5HbmVpc2VuYXVzdHJhw59lIDI8L3N0cm9uZz48YnI+TGF0OiA1Mi40OTI8YnI+TG9uZzogMTMuMzg5PC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jYmM0NGRjOWQwZGU0M2ZiOTE4YWU2MGE5ZjgzY2Q0OS5zZXRDb250ZW50KGh0bWxfNzEzYTIxNGZkZGFlNDQ2NmE1MzIxMTM0NzNmMWQ4NjUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl8yNGNlODUxN2JjMzg0MTdkYjQ2YjZhOGQ0Y2I2MmEzMS5iaW5kUG9wdXAocG9wdXBfY2JjNDRkYzlkMGRlNDNmYjkxOGFlNjBhOWY4M2NkNDkpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83YjI0N2YzMmJjNWI0NzY3YWYzNjI1MDViZTZkNDkwMiA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDg4NjM2LCAxMy4zOTE4MjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl9kMzhiM2M4OGU0YmY0ODRkYjEyN2I2MzlmYWQ5ODk3MiA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfN2IyNDdmMzJiYzViNDc2N2FmMzYyNTA1YmU2ZDQ5MDIuc2V0SWNvbihpY29uX2QzOGIzYzg4ZTRiZjQ4NGRiMTI3YjYzOWZhZDk4OTcyKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2NhMjdjMDYzMTIxMTQwNDg4OGE2ZDE2YzgyODg1Y2RhID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYWJlYWY5OGVlYTY4NGQ1OGI2YTE2ZWNlNGI4ZTA2NjAgPSAkKGA8ZGl2IGlkPSJodG1sX2FiZWFmOThlZWE2ODRkNThiNmExNmVjZTRiOGUwNjYwIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPkFybmR0c3RyYcOfZSAxNTwvc3Ryb25nPjxicj5MYXQ6IDUyLjQ4OTxicj5Mb25nOiAxMy4zOTI8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2NhMjdjMDYzMTIxMTQwNDg4OGE2ZDE2YzgyODg1Y2RhLnNldENvbnRlbnQoaHRtbF9hYmVhZjk4ZWVhNjg0ZDU4YjZhMTZlY2U0YjhlMDY2MCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzdiMjQ3ZjMyYmM1YjQ3NjdhZjM2MjUwNWJlNmQ0OTAyLmJpbmRQb3B1cChwb3B1cF9jYTI3YzA2MzEyMTE0MDQ4ODhhNmQxNmM4Mjg4NWNkYSkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdiYjI0MGIwYjkzNDQ4NGQ4ZjM0M2NjOTQzOWEzZTA1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTIyMTcsIDEzLjM4Mjc5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fNGY1YTk2ZDgyMDU3NGU3OTgzY2E2YWRiMzEyZTU0MjIgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzdiYjI0MGIwYjkzNDQ4NGQ4ZjM0M2NjOTQzOWEzZTA1LnNldEljb24oaWNvbl80ZjVhOTZkODIwNTc0ZTc5ODNjYTZhZGIzMTJlNTQyMik7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84Mjk3OGMwM2VkMGY0MmI4YjgzNzljNjg5NTE2MWIwMSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc2ZWM4NDdiYzBhYTQwNjZiZDRkZmI1MjBkZTU4MTRmID0gJChgPGRpdiBpZD0iaHRtbF83NmVjODQ3YmMwYWE0MDY2YmQ0ZGZiNTIwZGU1ODE0ZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5Hcm\/Dn2JlZXJlbnN0cmHDn2UgMzI8L3N0cm9uZz48YnI+TGF0OiA1Mi40OTI8YnI+TG9uZzogMTMuMzgzPC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF84Mjk3OGMwM2VkMGY0MmI4YjgzNzljNjg5NTE2MWIwMS5zZXRDb250ZW50KGh0bWxfNzZlYzg0N2JjMGFhNDA2NmJkNGRmYjUyMGRlNTgxNGYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl83YmIyNDBiMGI5MzQ0ODRkOGYzNDNjYzk0MzlhM2UwNS5iaW5kUG9wdXAocG9wdXBfODI5NzhjMDNlZDBmNDJiOGI4Mzc5YzY4OTUxNjFiMDEpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yOWM1M2Q0NTQyYTM0MGRjYmZiMmE0Y2E2ZWFkYWNkNCA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDk5OTczLCAxMy40MTg5OTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl84ZjM3YTU1NWNlZGY0MWM2OTQxNWRlNTFhZGQ3OTViNyA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfMjljNTNkNDU0MmEzNDBkY2JmYjJhNGNhNmVhZGFjZDQuc2V0SWNvbihpY29uXzhmMzdhNTU1Y2VkZjQxYzY5NDE1ZGU1MWFkZDc5NWI3KTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzlmYTgzODY2NGFjYjQwYjZiYmM4MDEwMzY0NzZiYWE4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYTJkNmMxN2JjOTI3NDFmZTliOTQxODA1NjZlZjBhYTggPSAkKGA8ZGl2IGlkPSJodG1sX2EyZDZjMTdiYzkyNzQxZmU5Yjk0MTgwNTY2ZWYwYWE4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPkFkYWxiZXJ0c3RyYcOfZSA0PC9zdHJvbmc+PGJyPkxhdDogNTIuNTAwPGJyPkxvbmc6IDEzLjQxOTwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOWZhODM4NjY0YWNiNDBiNmJiYzgwMTAzNjQ3NmJhYTguc2V0Q29udGVudChodG1sX2EyZDZjMTdiYzkyNzQxZmU5Yjk0MTgwNTY2ZWYwYWE4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfMjljNTNkNDU0MmEzNDBkY2JmYjJhNGNhNmVhZGFjZDQuYmluZFBvcHVwKHBvcHVwXzlmYTgzODY2NGFjYjQwYjZiYmM4MDEwMzY0NzZiYWE4KQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmU3NjNlYmNjODdjNDVmZGE1YzYxMTQ4NGQ1OGVmY2QgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjUwMzAyLCAxMy40Mjk4NjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl8zZjRiNmY1OWQ3NmM0MThhODUyMzQ4ZTUyZTFiNTEwOCA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfZmU3NjNlYmNjODdjNDVmZGE1YzYxMTQ4NGQ1OGVmY2Quc2V0SWNvbihpY29uXzNmNGI2ZjU5ZDc2YzQxOGE4NTIzNDhlNTJlMWI1MTA4KTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzVhZDUyZmY3MTQ1ODQ0MjRiMmNkOWIyNjg1Y2JiNzE2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMjI4NTk3NDhhZDk5NGU3ODgwOWNiZTdiMGM3NjgzZTYgPSAkKGA8ZGl2IGlkPSJodG1sXzIyODU5NzQ4YWQ5OTRlNzg4MDljYmU3YjBjNzY4M2U2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPk1hbnRldWZmZWxzdHJhw59lIDExMDwvc3Ryb25nPjxicj5MYXQ6IDUyLjUwMzxicj5Mb25nOiAxMy40MzA8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzVhZDUyZmY3MTQ1ODQ0MjRiMmNkOWIyNjg1Y2JiNzE2LnNldENvbnRlbnQoaHRtbF8yMjg1OTc0OGFkOTk0ZTc4ODA5Y2JlN2IwYzc2ODNlNik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyX2ZlNzYzZWJjYzg3YzQ1ZmRhNWM2MTE0ODRkNThlZmNkLmJpbmRQb3B1cChwb3B1cF81YWQ1MmZmNzE0NTg0NDI0YjJjZDliMjY4NWNiYjcxNikKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFkYmExNWJiM2IzNDQ3ZGRiZDhhOTgyZjMwZTJiMThjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTMwMjQsIDEzLjM5Nzg5MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uXzkwMzU0ZmRiYzgyOTQ3YTU4NDEyZTEwZmE4ZmY4YjFlID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl8xZGJhMTViYjNiMzQ0N2RkYmQ4YTk4MmYzMGUyYjE4Yy5zZXRJY29uKGljb25fOTAzNTRmZGJjODI5NDdhNTg0MTJlMTBmYThmZjhiMWUpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfM2Y4NWJlYzg5YjlkNDA5YWE3ZDQ1ZDAwMWZiNDJlMDQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9lOGYyOWRiMTMyZGY0ZTc0ODZlMWNjZjk0YjNiMzgxYSA9ICQoYDxkaXYgaWQ9Imh0bWxfZThmMjlkYjEzMmRmNGU3NDg2ZTFjY2Y5NGIzYjM4MWEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+RsO8cmJyaW5nZXJzdHJhw59lIDIwYTwvc3Ryb25nPjxicj5MYXQ6IDUyLjQ5Mzxicj5Mb25nOiAxMy4zOTg8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzNmODViZWM4OWI5ZDQwOWFhN2Q0NWQwMDFmYjQyZTA0LnNldENvbnRlbnQoaHRtbF9lOGYyOWRiMTMyZGY0ZTc0ODZlMWNjZjk0YjNiMzgxYSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzFkYmExNWJiM2IzNDQ3ZGRiZDhhOTgyZjMwZTJiMThjLmJpbmRQb3B1cChwb3B1cF8zZjg1YmVjODliOWQ0MDlhYTdkNDVkMDAxZmI0MmUwNCkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdjNjI4ZDlmYTE3MDQ4MzQ5OTAyOTIxYmRmOWRmOGFiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTA5MzUsIDEzLjM4NjQyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fMWUwMzI5NWZhZWY0NDQ5MDg3NzFmYjE1MWZjZGZhMDEgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzdjNjI4ZDlmYTE3MDQ4MzQ5OTAyOTIxYmRmOWRmOGFiLnNldEljb24oaWNvbl8xZTAzMjk1ZmFlZjQ0NDkwODc3MWZiMTUxZmNkZmEwMSk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80NjU5ZDZjMmQ5YTA0NzMxYmJlYzU3NzJhYzFhNWZmMSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2Q3YjMyNDBmYTY0NjRkZjViYWYzNTE0YzFlMTliMmIwID0gJChgPGRpdiBpZD0iaHRtbF9kN2IzMjQwZmE2NDY0ZGY1YmFmMzUxNGMxZTE5YjJiMCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5NZWhyaW5nZGFtbSA2Mjwvc3Ryb25nPjxicj5MYXQ6IDUyLjQ5MTxicj5Mb25nOiAxMy4zODY8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzQ2NTlkNmMyZDlhMDQ3MzFiYmVjNTc3MmFjMWE1ZmYxLnNldENvbnRlbnQoaHRtbF9kN2IzMjQwZmE2NDY0ZGY1YmFmMzUxNGMxZTE5YjJiMCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzdjNjI4ZDlmYTE3MDQ4MzQ5OTAyOTIxYmRmOWRmOGFiLmJpbmRQb3B1cChwb3B1cF80NjU5ZDZjMmQ5YTA0NzMxYmJlYzU3NzJhYzFhNWZmMSkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MxYzE5ODkwZjA5YjRkNjZiZjM5NTU0ZmJjZTQ0ODFhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi41MDI3ODgsIDEzLjQyMDIwMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uXzBiYmJhMGIzODg0ODRjNDdiNGI3Y2U2ZjkyZmM5NWFlID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl9jMWMxOTg5MGYwOWI0ZDY2YmYzOTU1NGZiY2U0NDgxYS5zZXRJY29uKGljb25fMGJiYmEwYjM4ODQ4NGM0N2I0YjdjZTZmOTJmYzk1YWUpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMmIxYTk0YTVhYmI3NGNjNTg3NDE2YTVkNzdhOTc0NjAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wNjgxZWJiM2I4YjE0YzYzOTg5YWJhYzdjNTU2MmVjNyA9ICQoYDxkaXYgaWQ9Imh0bWxfMDY4MWViYjNiOGIxNGM2Mzk4OWFiYWM3YzU1NjJlYzciIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+Sm9kZWxrZWxsZXI8L3N0cm9uZz48YnI+TGF0OiA1Mi41MDM8YnI+TG9uZzogMTMuNDIwPC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8yYjFhOTRhNWFiYjc0Y2M1ODc0MTZhNWQ3N2E5NzQ2MC5zZXRDb250ZW50KGh0bWxfMDY4MWViYjNiOGIxNGM2Mzk4OWFiYWM3YzU1NjJlYzcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9jMWMxOTg5MGYwOWI0ZDY2YmYzOTU1NGZiY2U0NDgxYS5iaW5kUG9wdXAocG9wdXBfMmIxYTk0YTVhYmI3NGNjNTg3NDE2YTVkNzdhOTc0NjApCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zZmI1NzIzZjBmNGU0MTdkYTZkNDJlMTcxZWMxMjVlNSA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDkxMTcyLCAxMy40MTYxMjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl9iMzBhYmU4ZWJkMjM0N2IxOGVhZjRmMDJlNjgyNDJhZiA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfM2ZiNTcyM2YwZjRlNDE3ZGE2ZDQyZTE3MWVjMTI1ZTUuc2V0SWNvbihpY29uX2IzMGFiZThlYmQyMzQ3YjE4ZWFmNGYwMmU2ODI0MmFmKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2NmYmNlNDlmZDg1NDQwYzNhNWJlYzEyMGMyOWUwNWRlID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMGY5NGJjMzc1YTBkNDQ2Mjk3Mzc0YjE2YzYzOWNmYjEgPSAkKGA8ZGl2IGlkPSJodG1sXzBmOTRiYzM3NWEwZDQ0NjI5NzM3NGIxNmM2MzljZmIxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPlVyYmFuc3RyYcOfZSAxMjY8L3N0cm9uZz48YnI+TGF0OiA1Mi40OTE8YnI+TG9uZzogMTMuNDE2PC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jZmJjZTQ5ZmQ4NTQ0MGMzYTViZWMxMjBjMjllMDVkZS5zZXRDb250ZW50KGh0bWxfMGY5NGJjMzc1YTBkNDQ2Mjk3Mzc0YjE2YzYzOWNmYjEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl8zZmI1NzIzZjBmNGU0MTdkYTZkNDJlMTcxZWMxMjVlNS5iaW5kUG9wdXAocG9wdXBfY2ZiY2U0OWZkODU0NDBjM2E1YmVjMTIwYzI5ZTA1ZGUpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xY2YxODFmZjdlNzU0Y2VmYjg1NTFjZWY5ZTQ3MTdiYSA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNDkxMzkzLCAxMy40MTMzMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl9mNjMyZGVmMzQ4YjM0OTk4YjQxNDkwYWU1NjIwNDljMSA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfMWNmMTgxZmY3ZTc1NGNlZmI4NTUxY2VmOWU0NzE3YmEuc2V0SWNvbihpY29uX2Y2MzJkZWYzNDhiMzQ5OThiNDE0OTBhZTU2MjA0OWMxKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzlkMjIwOGNiOGIxZTQ4MGViNzhiM2EyN2Y4MTMzOTIzID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYTJlZTI1NjQ0ODhlNDg0NWE0MTJjMDIwZWZhMjA4NTEgPSAkKGA8ZGl2IGlkPSJodG1sX2EyZWUyNTY0NDg4ZTQ4NDVhNDEyYzAyMGVmYTIwODUxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPlVyYmFuc3RyYcOfZSAzMDwvc3Ryb25nPjxicj5MYXQ6IDUyLjQ5MTxicj5Mb25nOiAxMy40MTM8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzlkMjIwOGNiOGIxZTQ4MGViNzhiM2EyN2Y4MTMzOTIzLnNldENvbnRlbnQoaHRtbF9hMmVlMjU2NDQ4OGU0ODQ1YTQxMmMwMjBlZmEyMDg1MSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzFjZjE4MWZmN2U3NTRjZWZiODU1MWNlZjllNDcxN2JhLmJpbmRQb3B1cChwb3B1cF85ZDIyMDhjYjhiMWU0ODBlYjc4YjNhMjdmODEzMzkyMykKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M0ZTEzYTdhNTAxNjQ5YmVhNjFmMGVkYzZjNjc3NDEyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTc5NDEsIDEzLjQyOTY5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uX2YxMmU1ODViZjBmODQwMTY4ODQ3MDMwNDRiZTRmMGQxID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl9jNGUxM2E3YTUwMTY0OWJlYTYxZjBlZGM2YzY3NzQxMi5zZXRJY29uKGljb25fZjEyZTU4NWJmMGY4NDAxNjg4NDcwMzA0NGJlNGYwZDEpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNmM0ZTFjYTNiYTZhNGQyMzlhMTUwYzJkNTA0YTBkNzcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF82MDAyMmNiMTgwZTY0ZGYwYWRkNTdjNDdkZTNmZmIzOCA9ICQoYDxkaXYgaWQ9Imh0bWxfNjAwMjJjYjE4MGU2NGRmMGFkZDU3YzQ3ZGUzZmZiMzgiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+V2llbmVyIFN0cmHDn2UgMTU8L3N0cm9uZz48YnI+TGF0OiA1Mi40OTg8YnI+TG9uZzogMTMuNDMwPC9kaXY+YClbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82YzRlMWNhM2JhNmE0ZDIzOWExNTBjMmQ1MDRhMGQ3Ny5zZXRDb250ZW50KGh0bWxfNjAwMjJjYjE4MGU2NGRmMGFkZDU3YzQ3ZGUzZmZiMzgpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9jNGUxM2E3YTUwMTY0OWJlYTYxZjBlZGM2YzY3NzQxMi5iaW5kUG9wdXAocG9wdXBfNmM0ZTFjYTNiYTZhNGQyMzlhMTUwYzJkNTA0YTBkNzcpCiAgICAgICAgICAgIDsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xYWFhMDU5ZjU1ODI0NzE0OWFlY2FkODZiZTYxNTEyZSA9IEwubWFya2VyKAogICAgICAgICAgICBbNTIuNTAyMTA5LCAxMy40MjAwNjNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgCiAgICAKCiAgICAgICAgICAgICAgICB2YXIgaWNvbl8yNTc0MGVjZmM2Yjk0OWZmOTRhMjQ0MjBhMWVjYTJhMyA9IEwuQXdlc29tZU1hcmtlcnMuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2JlZXInLAogICAgICAgICAgICAgICAgICAgIGljb25Db2xvcjogJyNiNTIzMWEnLAogICAgICAgICAgICAgICAgICAgIG1hcmtlckNvbG9yOiAnbGlnaHRncmF5JywKICAgICAgICAgICAgICAgICAgICBwcmVmaXg6ICdmYScsCiAgICAgICAgICAgICAgICAgICAgZXh0cmFDbGFzc2VzOiAnZmEtcm90YXRlLTAnCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBtYXJrZXJfMWFhYTA1OWY1NTgyNDcxNDlhZWNhZDg2YmU2MTUxMmUuc2V0SWNvbihpY29uXzI1NzQwZWNmYzZiOTQ5ZmY5NGEyNDQyMGExZWNhMmEzKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2I2NmQ5Njc4OTcwZDQ4N2RhNjQyMTE0ZTczM2ZlZWJmID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnCiAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfODVhOGVmYzhkN2Y0NGU2MjkzMmNiNjczNjYxY2U1YzQgPSAkKGA8ZGl2IGlkPSJodG1sXzg1YThlZmM4ZDdmNDRlNjI5MzJjYjY3MzY2MWNlNWM0IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij48c3Ryb25nPkFkYWxiZXJ0c3RyYcOfZSAxODwvc3Ryb25nPjxicj5MYXQ6IDUyLjUwMjxicj5Mb25nOiAxMy40MjA8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2I2NmQ5Njc4OTcwZDQ4N2RhNjQyMTE0ZTczM2ZlZWJmLnNldENvbnRlbnQoaHRtbF84NWE4ZWZjOGQ3ZjQ0ZTYyOTMyY2I2NzM2NjFjZTVjNCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzFhYWEwNTlmNTU4MjQ3MTQ5YWVjYWQ4NmJlNjE1MTJlLmJpbmRQb3B1cChwb3B1cF9iNjZkOTY3ODk3MGQ0ODdkYTY0MjExNGU3MzNmZWViZikKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FlN2Q2MzMxZjU1ODQ4MTE5ZmE5OTA4YmNiYmRiODY3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTE2NDIsIDEzLjQxOTcyOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uX2UzNmExMGVhOTIxMDQ3NWI5NzhlNGY0NGYwOTRhNzljID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl9hZTdkNjMzMWY1NTg0ODExOWZhOTkwOGJjYmJkYjg2Ny5zZXRJY29uKGljb25fZTM2YTEwZWE5MjEwNDc1Yjk3OGU0ZjQ0ZjA5NGE3OWMpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYWVjYjRkM2Q3ZjA2NDkyZjgzMTMwMDkxMzc0ZjBiMzkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF84ZjQxMDcxZDZmYWU0MWI2YTAxZDUyZmExODQ1OWM1MCA9ICQoYDxkaXYgaWQ9Imh0bWxfOGY0MTA3MWQ2ZmFlNDFiNmEwMWQ1MmZhMTg0NTljNTAiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+RGllZmZlbmJhY2hzdHJhw59lIDM2PC9zdHJvbmc+PGJyPkxhdDogNTIuNDkyPGJyPkxvbmc6IDEzLjQyMDwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYWVjYjRkM2Q3ZjA2NDkyZjgzMTMwMDkxMzc0ZjBiMzkuc2V0Q29udGVudChodG1sXzhmNDEwNzFkNmZhZTQxYjZhMDFkNTJmYTE4NDU5YzUwKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfYWU3ZDYzMzFmNTU4NDgxMTlmYTk5MDhiY2JiZGI4NjcuYmluZFBvcHVwKHBvcHVwX2FlY2I0ZDNkN2YwNjQ5MmY4MzEzMDA5MTM3NGYwYjM5KQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDU2NGZjMDc2YTEzNGI3OGE0MGU1YzE5OTNjMTdiNWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjQ5NTA0NSwgMTMuMzgzNzczXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fZmE0NmIyZjRiNjMzNDdlY2JmNjQ1NDMzOGMwMDVjNmMgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyX2Q1NjRmYzA3NmExMzRiNzhhNDBlNWMxOTkzYzE3YjVjLnNldEljb24oaWNvbl9mYTQ2YjJmNGI2MzM0N2VjYmY2NDU0MzM4YzAwNWM2Yyk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84NDFmY2E4OTgzN2Y0YmViODI4Mzc2NGIyMjRlNzUzZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzllMmViNmQxOTc2YjRjOTg4NTRkMTllYjhkZGUxNTQwID0gJChgPGRpdiBpZD0iaHRtbF85ZTJlYjZkMTk3NmI0Yzk4ODU0ZDE5ZWI4ZGRlMTU0MCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5adW0gZ2Vtw7x0bGljaGVuIEVjazwvc3Ryb25nPjxicj5MYXQ6IDUyLjQ5NTxicj5Mb25nOiAxMy4zODQ8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzg0MWZjYTg5ODM3ZjRiZWI4MjgzNzY0YjIyNGU3NTNkLnNldENvbnRlbnQoaHRtbF85ZTJlYjZkMTk3NmI0Yzk4ODU0ZDE5ZWI4ZGRlMTU0MCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyX2Q1NjRmYzA3NmExMzRiNzhhNDBlNWMxOTkzYzE3YjVjLmJpbmRQb3B1cChwb3B1cF84NDFmY2E4OTgzN2Y0YmViODI4Mzc2NGIyMjRlNzUzZCkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q4NjljMDAyMzgyYTRlMjJiNWQyMGViNmNlYjFjODYxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFs1Mi40OTkyNjQsIDEzLjQxOTQ4NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2E3ZTU4ZTUzNGZhNzQ5OTliMzk0MTFmMGJjMDNkZjViKTsKICAgICAgICAKICAgIAoKICAgICAgICAgICAgICAgIHZhciBpY29uX2I2ZGE3MDE1YTI4ODRhZjA5NjNmMzhjZTc4MmNmZDk3ID0gTC5Bd2Vzb21lTWFya2Vycy5pY29uKHsKICAgICAgICAgICAgICAgICAgICBpY29uOiAnYmVlcicsCiAgICAgICAgICAgICAgICAgICAgaWNvbkNvbG9yOiAnI2I1MjMxYScsCiAgICAgICAgICAgICAgICAgICAgbWFya2VyQ29sb3I6ICdsaWdodGdyYXknLAogICAgICAgICAgICAgICAgICAgIHByZWZpeDogJ2ZhJywKICAgICAgICAgICAgICAgICAgICBleHRyYUNsYXNzZXM6ICdmYS1yb3RhdGUtMCcKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIG1hcmtlcl9kODY5YzAwMjM4MmE0ZTIyYjVkMjBlYjZjZWIxYzg2MS5zZXRJY29uKGljb25fYjZkYTcwMTVhMjg4NGFmMDk2M2YzOGNlNzgyY2ZkOTcpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMDk2ZDAwNGI1MjJkNDBmMThhOGM3ODVhZjBmN2Q3YjAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCcKICAgICAgICAgICAgCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8xMTFjYTMyMDk0OGM0MGRmYjc5ZTM3MDZiMmI2Y2U3MiA9ICQoYDxkaXYgaWQ9Imh0bWxfMTExY2EzMjA5NDhjNDBkZmI3OWUzNzA2YjJiNmNlNzIiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPjxzdHJvbmc+U2thbGl0emVyIFN0cmHDn2UgMTM0PC9zdHJvbmc+PGJyPkxhdDogNTIuNDk5PGJyPkxvbmc6IDEzLjQxOTwvZGl2PmApWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMDk2ZDAwNGI1MjJkNDBmMThhOGM3ODVhZjBmN2Q3YjAuc2V0Q29udGVudChodG1sXzExMWNhMzIwOTQ4YzQwZGZiNzllMzcwNmIyYjZjZTcyKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfZDg2OWMwMDIzODJhNGUyMmI1ZDIwZWI2Y2ViMWM4NjEuYmluZFBvcHVwKHBvcHVwXzA5NmQwMDRiNTIyZDQwZjE4YThjNzg1YWYwZjdkN2IwKQogICAgICAgICAgICA7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjEzOTUzYjA0ZjU3NDgyNmFlMTRhYzViYmIxZWQ1ZjcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzUyLjQ5OTUwOCwgMTMuNDM5OTc3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIAogICAgCgogICAgICAgICAgICAgICAgdmFyIGljb25fMGY2YWE3NzdkZTgyNDY5YmJkOGNhOWJmMDdlZjI5ZjEgPSBMLkF3ZXNvbWVNYXJrZXJzLmljb24oewogICAgICAgICAgICAgICAgICAgIGljb246ICdiZWVyJywKICAgICAgICAgICAgICAgICAgICBpY29uQ29sb3I6ICcjYjUyMzFhJywKICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb2xvcjogJ2xpZ2h0Z3JheScsCiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiAnZmEnLAogICAgICAgICAgICAgICAgICAgIGV4dHJhQ2xhc3NlczogJ2ZhLXJvdGF0ZS0wJwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgbWFya2VyXzIxMzk1M2IwNGY1NzQ4MjZhZTE0YWM1YmJiMWVkNWY3LnNldEljb24oaWNvbl8wZjZhYTc3N2RlODI0NjliYmQ4Y2E5YmYwN2VmMjlmMSk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80ZTU5MGFhYTVlNTg0Yzc1ODQ1ZjEyMTI4OTc4ZmQ1OCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJwogICAgICAgICAgICAKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzRmYjg3ZDU0ZDc2MjQ0ZGY4MjQyZDk4NzU4ZDAyYTQ4ID0gJChgPGRpdiBpZD0iaHRtbF80ZmI4N2Q1NGQ3NjI0NGRmODI0MmQ5ODc1OGQwMmE0OCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+PHN0cm9uZz5XcmFuZ2Vsc3RyYcOfZSA5MDwvc3Ryb25nPjxicj5MYXQ6IDUyLjUwMDxicj5Mb25nOiAxMy40NDA8L2Rpdj5gKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzRlNTkwYWFhNWU1ODRjNzU4NDVmMTIxMjg5NzhmZDU4LnNldENvbnRlbnQoaHRtbF80ZmI4N2Q1NGQ3NjI0NGRmODI0MmQ5ODc1OGQwMmE0OCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzIxMzk1M2IwNGY1NzQ4MjZhZTE0YWM1YmJiMWVkNWY3LmJpbmRQb3B1cChwb3B1cF80ZTU5MGFhYTVlNTg0Yzc1ODQ1ZjEyMTI4OTc4ZmQ1OCkKICAgICAgICAgICAgOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAKICAgICAgICB2YXIgZ2VvX2pzb25fNjMxMmVhZTU0YWY4NDZkY2E3YzQ2YTJkODY4NTdlNWUgPSBMLmdlb0pzb24oCiAgICAgICAgICAgIHsiYmJveCI6IFsxMy4zODMwMTUsIDUyLjQ4NzgwOCwgMTMuNDQxNDIyLCA1Mi41MDM1MzRdLCAiZmVhdHVyZXMiOiBbeyJiYm94IjogWzEzLjM4MzAxNSwgNTIuNDg3ODA4LCAxMy40NDE0MjIsIDUyLjUwMzUzNF0sICJnZW9tZXRyeSI6IHsiY29vcmRpbmF0ZXMiOiBbWzEzLjM4NjY2MiwgNTIuNDkwNDM4XSwgWzEzLjM4NjcwNywgNTIuNDkwNTYyXSwgWzEzLjM4NzAxNiwgNTIuNDkxMjc1XSwgWzEzLjM4NzA0NCwgNTIuNDkxMzMxXSwgWzEzLjM4NzMsIDUyLjQ5MTk0OV0sIFsxMy4zODc0NDcsIDUyLjQ5MjI0XSwgWzEzLjM4NzU3MiwgNTIuNDkyNDg1XSwgWzEzLjM4NzU5LCA1Mi40OTI1MjFdLCBbMTMuMzg3NjY1LCA1Mi40OTI2MjZdLCBbMTMuMzg3Njg2LCA1Mi40OTI2NjRdLCBbMTMuMzg3NzQ0LCA1Mi40OTI3Nl0sIFsxMy4zODc3NzUsIDUyLjQ5MjgxMV0sIFsxMy4zODc4OTEsIDUyLjQ5Mjk5OF0sIFsxMy4zODc3NzcsIDUyLjQ5MzAyM10sIFsxMy4zODc2NTQsIDUyLjQ5MzA0Nl0sIFsxMy4zODc1NSwgNTIuNDkzMDY4XSwgWzEzLjM4NzQ2OCwgNTIuNDkzMDgzXSwgWzEzLjM4NzAyNywgNTIuNDkzMTczXSwgWzEzLjM4Njk3OCwgNTIuNDkzMTgyXSwgWzEzLjM4NjUyNSwgNTIuNDkzMjY2XSwgWzEzLjM4NjIyOSwgNTIuNDkzMzE5XSwgWzEzLjM4NDc4NywgNTIuNDkzNTc5XSwgWzEzLjM4NDEwNywgNTIuNDkzNzEyXSwgWzEzLjM4NDA1MywgNTIuNDkzNjAyXSwgWzEzLjM4Mzk5NywgNTIuNDkzNDg0XSwgWzEzLjM4NDM0MSwgNTIuNDkzNDE5XSwgWzEzLjM4NTExNywgNTIuNDkzMjczXSwgWzEzLjM4NjQ5NSwgNTIuNDkzMDEzXSwgWzEzLjM4NjkxNCwgNTIuNDkyOTM2XSwgWzEzLjM4NzI3NCwgNTIuNDkyODYyXSwgWzEzLjM4NzM1MywgNTIuNDkyODQ1XSwgWzEzLjM4NzUwMywgNTIuNDkyODEzXSwgWzEzLjM4Nzc0NCwgNTIuNDkyNzZdLCBbMTMuMzg3Nzc1LCA1Mi40OTI4MTFdLCBbMTMuMzg3ODkxLCA1Mi40OTI5OThdLCBbMTMuMzg3OTU4LCA1Mi40OTMxMDZdLCBbMTMuMzg3OTc3LCA1Mi40OTMxMzVdLCBbMTMuMzg4MDU5LCA1Mi40OTMyNjZdLCBbMTMuMzg4MTYyLCA1Mi40OTM0M10sIFsxMy4zODgxODUsIDUyLjQ5MzQ2Nl0sIFsxMy4zODgyODYsIDUyLjQ5MzY0NF0sIFsxMy4zODg2NiwgNTIuNDk0MTg2XSwgWzEzLjM4ODk4NSwgNTIuNDk0NTg1XSwgWzEzLjM4OTQ0NiwgNTIuNDk1MDkzXSwgWzEzLjM4OTYxMywgNTIuNDk1MzYyXSwgWzEzLjM4OTYzNiwgNTIuNDk1NDQxXSwgWzEzLjM4OTY0NiwgNTIuNDk1NTI3XSwgWzEzLjM4OTY1NSwgNTIuNDk1NjEzXSwgWzEzLjM4OTY1NSwgNTIuNDk1NjY2XSwgWzEzLjM4OTY1LCA1Mi40OTU3NzNdLCBbMTMuMzg5NjM5LCA1Mi40OTU4NjhdLCBbMTMuMzg5NjM1LCA1Mi40OTU5Ml0sIFsxMy4zODk3NDEsIDUyLjQ5NTkwNF0sIFsxMy4zOTAxOTUsIDUyLjQ5NTg1OV0sIFsxMy4zOTA1NjcsIDUyLjQ5NTg1Nl0sIFsxMy4zOTA3MSwgNTIuNDk1ODU4XSwgWzEzLjM5MTIyOSwgNTIuNDk1ODk5XSwgWzEzLjM5MzM5LCA1Mi40OTYxMjVdLCBbMTMuMzk0MjE3LCA1Mi40OTYxNzFdLCBbMTMuMzk0NTkzLCA1Mi40OTYxNzJdLCBbMTMuMzk0Nzg2LCA1Mi40OTYxNl0sIFsxMy4zOTQ4NSwgNTIuNDk2MTU0XSwgWzEzLjM5NDk4NiwgNTIuNDk2MTQyXSwgWzEzLjM5NTE4NSwgNTIuNDk2MTE0XSwgWzEzLjM5NTIzLCA1Mi40OTYyNjFdLCBbMTMuMzk1MjE5LCA1Mi40OTYzNV0sIFsxMy4zOTUyOSwgNTIuNDk2NzI3XSwgWzEzLjM5NTM0OCwgNTIuNDk2ODc0XSwgWzEzLjM5NTM3NiwgNTIuNDk2OTQ5XSwgWzEzLjM5NTQ0NSwgNTIuNDk3MTI5XSwgWzEzLjM5NTYwMywgNTIuNDk3NDA1XSwgWzEzLjM5NTY4MSwgNTIuNDk3NTU2XSwgWzEzLjM5NTc4NiwgNTIuNDk3NzQzXSwgWzEzLjM5NTgxMywgNTIuNDk3NzkyXSwgWzEzLjM5NTg1NiwgNTIuNDk3ODg0XSwgWzEzLjM5NjA0OCwgNTIuNDk3OTY1XSwgWzEzLjM5NjE1MiwgNTIuNDk3OTk4XSwgWzEzLjM5NjU1LCA1Mi40OTgxMTVdLCBbMTMuMzk2OTU1LCA1Mi40OTgxOTFdLCBbMTMuMzk3MjQ1LCA1Mi40OTgyNF0sIFsxMy4zOTc3MjQsIDUyLjQ5ODI2NV0sIFsxMy4zOTg1MTMsIDUyLjQ5ODI2OV0sIFsxMy4zOTkyMzcsIDUyLjQ5ODI3M10sIFsxMy4zOTkyODksIDUyLjQ5ODI3M10sIFsxMy4zOTk1MTYsIDUyLjQ5ODI3NF0sIFsxMy4zOTk3MTgsIDUyLjQ5ODI3Nl0sIFsxMy40MDI5NzMsIDUyLjQ5ODMwMl0sIFsxMy40MDU3NTQsIDUyLjQ5ODMxMV0sIFsxMy40MDY0MzYsIDUyLjQ5ODMxNF0sIFsxMy40MDY1NjQsIDUyLjQ5ODMxNV0sIFsxMy40MDY4NDcsIDUyLjQ5ODMyMl0sIFsxMy40MDg1NzgsIDUyLjQ5ODM1OF0sIFsxMy40MDkzMjYsIDUyLjQ5ODQwOF0sIFsxMy40MDkzNjUsIDUyLjQ5ODQwOV0sIFsxMy40MDk1NzMsIDUyLjQ5ODQxOV0sIFsxMy40MDk5OTksIDUyLjQ5ODQzOV0sIFsxMy40MTA1NjUsIDUyLjQ5ODQ3Ml0sIFsxMy40MTE4NzEsIDUyLjQ5ODUyMl0sIFsxMy40MTIxOTQsIDUyLjQ5ODUzMl0sIFsxMy40MTI4NTIsIDUyLjQ5ODUxOV0sIFsxMy40MTM0NjYsIDUyLjQ5ODQ3Nl0sIFsxMy40MTQwNzcsIDUyLjQ5ODQzN10sIFsxMy40MTQyNzcsIDUyLjQ5ODQ0Ml0sIFsxMy40MTU4NSwgNTIuNDk4NjhdLCBbMTMuNDE2NzgxLCA1Mi40OTg4MDFdLCBbMTMuNDE2OTU5LCA1Mi40OTg4MTddLCBbMTMuNDE3MDYxLCA1Mi40OTg4MjNdLCBbMTMuNDE3MzEsIDUyLjQ5ODgzNF0sIFsxMy40MTc0MDgsIDUyLjQ5ODgzNl0sIFsxMy40MTc2MTcsIDUyLjQ5ODgzOV0sIFsxMy40MTc3MiwgNTIuNDk4ODM1XSwgWzEzLjQxODAwOSwgNTIuNDk4ODE2XSwgWzEzLjQxODEwNCwgNTIuNDk4Nzg4XSwgWzEzLjQxODMwOSwgNTIuNDk4Nzc1XSwgWzEzLjQxODQxMSwgNTIuNDk4Nzg5XSwgWzEzLjQxODU4OSwgNTIuNDk4ODU5XSwgWzEzLjQxODYyMSwgNTIuNDk4ODhdLCBbMTMuNDE4ODA5LCA1Mi40OTg5MDJdLCBbMTMuNDE4OTEsIDUyLjQ5ODkxMV0sIFsxMy40MTkxNjcsIDUyLjQ5ODkzNV0sIFsxMy40MTkzMTIsIDUyLjQ5ODk0OF0sIFsxMy40MTk0NzEsIDUyLjQ5ODk2M10sIFsxMy40MjAwMjksIDUyLjQ5OTAwM10sIFsxMy40MjIwMzksIDUyLjQ5OTAyNl0sIFsxMy40MjIyMzIsIDUyLjQ5OTAyOV0sIFsxMy40MjI0NjEsIDUyLjQ5OTAzM10sIFsxMy40MjI5NDYsIDUyLjQ5OTA0MV0sIFsxMy40MjMwMzUsIDUyLjQ5OTA0M10sIFsxMy40MjUwODMsIDUyLjQ5OTA3OV0sIFsxMy40MjU1NDYsIDUyLjQ5OTA4N10sIFsxMy40MjU3MzYsIDUyLjQ5OTA5MV0sIFsxMy40MjU5NzUsIDUyLjQ5OTA5OF0sIFsxMy40MjYyMDUsIDUyLjQ5OTEwNV0sIFsxMy40MjY1NDUsIDUyLjQ5OTExNF0sIFsxMy40MjY4MzYsIDUyLjQ5OTExNV0sIFsxMy40MjcxNTcsIDUyLjQ5OTEyN10sIFsxMy40MjczODcsIDUyLjQ5OTE0XSwgWzEzLjQyNzk3NywgNTIuNDk5MTcyXSwgWzEzLjQyOTc2OSwgNTIuNDk5MzA4XSwgWzEzLjQzMDA4MSwgNTIuNDk5MzE2XSwgWzEzLjQzMDI1NCwgNTIuNDk5MzAxXSwgWzEzLjQzMDM5NSwgNTIuNDk5MjhdLCBbMTMuNDMwNjMxLCA1Mi40OTkyNDVdLCBbMTMuNDMwODMsIDUyLjQ5OTIyNF0sIFsxMy40MzEwMywgNTIuNDk5MjIxXSwgWzEzLjQzMTE1LCA1Mi40OTkyMTldLCBbMTMuNDMxMjM4LCA1Mi40OTkyMjZdLCBbMTMuNDMxODg4LCA1Mi40OTkzMV0sIFsxMy40MzIwODYsIDUyLjQ5OTMzN10sIFsxMy40MzI2NzcsIDUyLjQ5OTQyNl0sIFsxMy40MzMwNDcsIDUyLjQ5OTQ3Nl0sIFsxMy40MzU2NzUsIDUyLjQ5OTg1OV0sIFsxMy40MzY1NzcsIDUyLjQ5OTk5Ml0sIFsxMy40Mzc3MjcsIDUyLjUwMDE2M10sIFsxMy40Mzc4MzQsIDUyLjUwMDE3OV0sIFsxMy40MzgwMDEsIDUyLjUwMDIwNF0sIFsxMy40MzgxOTcsIDUyLjUwMDIzMl0sIFsxMy40NDA3OTYsIDUyLjUwMDYwNV0sIFsxMy40NDA4MzQsIDUyLjUwMDY3MV0sIFsxMy40NDA4MDIsIDUyLjUwMDczXSwgWzEzLjQ0MDc0NywgNTIuNTAwNzY1XSwgWzEzLjQ0MDQ2NSwgNTIuNTAwNzI1XSwgWzEzLjQzODE1NSwgNTIuNTAwMzk2XSwgWzEzLjQzODAzNiwgNTIuNTAwMzc5XSwgWzEzLjQzNzkwMSwgNTIuNTAwMzU5XSwgWzEzLjQzNzcwNCwgNTIuNTAwMzNdLCBbMTMuNDM3NTIsIDUyLjUwMDMwMl0sIFsxMy40MzY2MiwgNTIuNTAwMTY3XSwgWzEzLjQzNTYxOCwgNTIuNTAwMDE3XSwgWzEzLjQzNDY1NiwgNTIuNDk5ODcyXSwgWzEzLjQzNDU3OSwgNTIuNDk5ODYxXSwgWzEzLjQzMzIyNywgNTIuNDk5NjY0XSwgWzEzLjQzMjgzNSwgNTIuNDk5NjA2XSwgWzEzLjQzMjAxNiwgNTIuNDk5NDg2XSwgWzEzLjQzMTg2OSwgNTIuNDk5NDY1XSwgWzEzLjQzMTM1NCwgNTIuNDk5Mzk0XSwgWzEzLjQzMDk4NywgNTIuNDk5Mzc3XSwgWzEzLjQzMDc5NSwgNTIuNDk5Mzg1XSwgWzEzLjQzMDI3LCA1Mi40OTk0NDZdLCBbMTMuNDMwMSwgNTIuNDk5NDUyXSwgWzEzLjQyOTkyNywgNTIuNDk5NDU0XSwgWzEzLjQyNzA5MSwgNTIuNDk5MjgyXSwgWzEzLjQyNjU0MSwgNTIuNDk5MjY3XSwgWzEzLjQyNjM0NywgNTIuNDk5MjU1XSwgWzEzLjQyNjA4OSwgNTIuNDk5MjQ4XSwgWzEzLjQyNTc3LCA1Mi40OTkyMzVdLCBbMTMuNDI1NTU5LCA1Mi40OTkyM10sIFsxMy40MjUwNzksIDUyLjQ5OTIyXSwgWzEzLjQyNDQ5NSwgNTIuNDk5MjA4XSwgWzEzLjQyNDA1MiwgNTIuNDk5MTk5XSwgWzEzLjQyMzAzMiwgNTIuNDk5MTkyXSwgWzEzLjQyMjU5MSwgNTIuNDk5MTldLCBbMTMuNDIyNTE0LCA1Mi40OTkxODldLCBbMTMuNDIyMzcxLCA1Mi40OTkxODhdLCBbMTMuNDIyMTA5LCA1Mi40OTkxODZdLCBbMTMuNDE5OTIxLCA1Mi40OTkxNjddLCBbMTMuNDE5MzYzLCA1Mi40OTkxNl0sIFsxMy40MTkxNzgsIDUyLjQ5OTE1Nl0sIFsxMy40MTg4NDEsIDUyLjQ5OTE1Nl0sIFsxMy40MTg2OTEsIDUyLjQ5OTE2XSwgWzEzLjQxODY1NSwgNTIuNDk5MjA1XSwgWzEzLjQxODQ4LCA1Mi40OTkzMDddLCBbMTMuNDE4MjQ1LCA1Mi40OTkzNDJdLCBbMTMuNDE4MTY0LCA1Mi40OTkzMzZdLCBbMTMuNDE4MDg0LCA1Mi40OTkzMjJdLCBbMTMuNDE4MDEsIDUyLjQ5OTNdLCBbMTMuNDE3OTUyLCA1Mi40OTkyNzRdLCBbMTMuNDE3OTAxLCA1Mi40OTkyNDNdLCBbMTMuNDE3ODU4LCA1Mi40OTkyMDddLCBbMTMuNDE3ODM0LCA1Mi40OTkxOF0sIFsxMy40MTc4MTQsIDUyLjQ5OTE1MV0sIFsxMy40MTc2ODQsIDUyLjQ5OTA5NV0sIFsxMy40MTc1OSwgNTIuNDk5MDQ5XSwgWzEzLjQxNzQ0NCwgNTIuNDk5MDE4XSwgWzEzLjQxNDMzNywgNTIuNDk4NjA0XSwgWzEzLjQxNDEwOCwgNTIuNDk4NTkyXSwgWzEzLjQxMzgwNywgNTIuNDk4NTkyXSwgWzEzLjQxMjU0MSwgNTIuNDk4NjcyXSwgWzEzLjQxMjIyOSwgNTIuNDk4NjcxXSwgWzEzLjQxMTg2OSwgNTIuNDk4NjUyXSwgWzEzLjQxMDU1NSwgNTIuNDk4NTg4XSwgWzEzLjQxMDQ3LCA1Mi40OTg1ODZdLCBbMTMuNDEwMDQ3LCA1Mi40OTg1NThdLCBbMTMuNDA5MzA5LCA1Mi40OTg1MjVdLCBbMTMuNDA4ODYzLCA1Mi40OTg1MDJdLCBbMTMuNDA2OTM4LCA1Mi40OTg0NjldLCBbMTMuNDA2NjcyLCA1Mi40OTg0NjhdLCBbMTMuNDA2NTY0LCA1Mi40OTgzMTVdLCBbMTMuNDA2NTI0LCA1Mi40OTgyNTldLCBbMTMuNDA2NDM4LCA1Mi40OTgxMzhdLCBbMTMuNDA2MzY4LCA1Mi40OTgwNDVdLCBbMTMuNDA2MTYxLCA1Mi40OTc4XSwgWzEzLjQwNTMzNSwgNTIuNDk2NzQ5XSwgWzEzLjQwNTMwMSwgNTIuNDk2NzA3XSwgWzEzLjQwNTA5OSwgNTIuNDk2NDMyXSwgWzEzLjQwNTA3MSwgNTIuNDk2Mzk0XSwgWzEzLjQwNDk5LCA1Mi40OTYzN10sIFsxMy40MDQ4ODQsIDUyLjQ5NjMzMl0sIFsxMy40MDQ3MDcsIDUyLjQ5NjI2MV0sIFsxMy40MDQ2MzIsIDUyLjQ5NjIwOV0sIFsxMy40MDQ1NzksIDUyLjQ5NjE1MV0sIFsxMy40MDM5MDQsIDUyLjQ5NTMwMV0sIFsxMy40MDM4MzgsIDUyLjQ5NTIxOF0sIFsxMy40MDI5NTMsIDUyLjQ5NDEwN10sIFsxMy40MDI4OTIsIDUyLjQ5NDAzXSwgWzEzLjQwMjc2LCA1Mi40OTQwNV0sIFsxMy40MDI1MDQsIDUyLjQ5NDA4OF0sIFsxMy40MDI0NDYsIDUyLjQ5NDFdLCBbMTMuNDAwNDkzLCA1Mi40OTQ0MTZdLCBbMTMuNDAwMjI5LCA1Mi40OTQ0NThdLCBbMTMuNDAwMDQ1LCA1Mi40OTQ0ODddLCBbMTMuMzk5OTIzLCA1Mi40OTQ1MDZdLCBbMTMuMzk5Nzk5LCA1Mi40OTQ1MjddLCBbMTMuMzk5NjAyLCA1Mi40OTQ1NjRdLCBbMTMuMzk5NTU4LCA1Mi40OTQ0NTFdLCBbMTMuMzk5NTQ2LCA1Mi40OTQ0MDNdLCBbMTMuMzk5NTQxLCA1Mi40OTQzNjhdLCBbMTMuMzk5NTI4LCA1Mi40OTQyNTNdLCBbMTMuMzk5NTU3LCA1Mi40OTQxMjhdLCBbMTMuMzk5NjI0LCA1Mi40OTQwMDNdLCBbMTMuMzk5Njc0LCA1Mi40OTM5MzddLCBbMTMuMzk4NDc5LCA1Mi40OTI4NDFdLCBbMTMuMzk4MDA5LCA1Mi40OTExMzJdLCBbMTMuMzk3OTcyLCA1Mi40OTA5OTddLCBbMTMuMzk2NTg2LCA1Mi40OTEyODldLCBbMTMuMzk2NDIzLCA1Mi40OTEzMjRdLCBbMTMuMzk0NzQ1LCA1Mi40OTE2Nl0sIFsxMy4zOTQ2MzIsIDUyLjQ5MTY4Ml0sIFsxMy4zOTQ0NjYsIDUyLjQ5MTcxN10sIFsxMy4zOTQzMTMsIDUyLjQ5MTc0Nl0sIFsxMy4zOTI3NzQsIDUyLjQ5MjA1Ml0sIFsxMy4zOTI3NDYsIDUyLjQ5MTk1NV0sIFsxMy4zOTI3MTcsIDUyLjQ5MTg1Nl0sIFsxMy4zOTI2OTIsIDUyLjQ5MTc3XSwgWzEzLjM5MjM0NywgNTIuNDkwNTI2XSwgWzEzLjM5MjAxMywgNTIuNDg5MzYxXSwgWzEzLjM5MDExOCwgNTIuNDg5NjI4XSwgWzEzLjM4OTg2MSwgNTIuNDg4NzNdLCBbMTMuMzkwODI1LCA1Mi40ODg2MzFdLCBbMTMuMzkwNzI2LCA1Mi40ODgyNDNdLCBbMTMuMzkwNjIxLCA1Mi40ODc5MDVdLCBbMTMuMzkwNzI2LCA1Mi40ODgyNDNdLCBbMTMuMzkwODI1LCA1Mi40ODg2MzFdLCBbMTMuMzkxNzEyLCA1Mi40ODg1NDFdLCBbMTMuMzkyNjg2LCA1Mi40ODg0MzVdLCBbMTMuMzkyOTE5LCA1Mi40ODkyMzJdLCBbMTMuMzkzNDY4LCA1Mi40ODkxNTFdLCBbMTMuMzkzNTI0LCA1Mi40ODkxNDNdLCBbMTMuMzkzNzMzLCA1Mi40ODkxMTNdLCBbMTMuMzkzNzY2LCA1Mi40ODkyMjZdLCBbMTMuMzkzODIsIDUyLjQ4OTQxMl0sIFsxMy4zOTM4NzUsIDUyLjQ4OTYwNF0sIFsxMy4zOTM5LCA1Mi40ODk2ODldLCBbMTMuMzk0MDA1LCA1Mi40OTAwNV0sIFsxMy4zOTQwODUsIDUyLjQ5MDMyNl0sIFsxMy4zOTQyOTUsIDUyLjQ5MTA1Ml0sIFsxMy4zOTQzNzUsIDUyLjQ5MTMyN10sIFsxMy4zOTQ0MDQsIDUyLjQ5MTQyOF0sIFsxMy4zOTQ1NDgsIDUyLjQ5MTM5OV0sIFsxMy4zOTQ4MzcsIDUyLjQ5MTM0Ml0sIFsxMy4zOTU2MDYsIDUyLjQ5MTE4OF0sIFsxMy4zOTYzNTMsIDUyLjQ5MTAzOV0sIFsxMy4zOTY0ODksIDUyLjQ5MTAxMl0sIFsxMy4zOTc4OTUsIDUyLjQ5MDczM10sIFsxMy4zOTgyNzYsIDUyLjQ5MDY1Nl0sIFsxMy40MDAxMjcsIDUyLjQ5MDI4MV0sIFsxMy40MDAyNDMsIDUyLjQ5MDI1OF0sIFsxMy40MDAzMDgsIDUyLjQ5MDM0XSwgWzEzLjQwMDM2OSwgNTIuNDkwNDE4XSwgWzEzLjQwMDQ0NSwgNTIuNDkwNTE0XSwgWzEzLjQwMDUxLCA1Mi40OTA1OTVdLCBbMTMuNDAxOTU3LCA1Mi40OTI0NTVdLCBbMTMuNDAyMDM3LCA1Mi40OTI1Nl0sIFsxMy40MDIxMiwgNTIuNDkyNjY0XSwgWzEzLjQwMjYzMSwgNTIuNDkzMzA0XSwgWzEzLjQwMjcyNSwgNTIuNDkzNDMyXSwgWzEzLjQwMjg3NSwgNTIuNDkzNTQxXSwgWzEzLjQwMzM0MiwgNTIuNDkzNzVdLCBbMTMuNDAzNDI3LCA1Mi40OTM4MV0sIFsxMy40MDM1MTMsIDUyLjQ5MzkyMl0sIFsxMy40MDM1NzYsIDUyLjQ5NDAwMl0sIFsxMy40MDQ0NzMsIDUyLjQ5NTEyN10sIFsxMy40MDQ1MzYsIDUyLjQ5NTIwNV0sIFsxMy40MDQ3MTksIDUyLjQ5NTQ0XSwgWzEzLjQwNTE1MywgNTIuNDk1OTk3XSwgWzEzLjQwNTIxLCA1Mi40OTYxMjddLCBbMTMuNDA1MTk0LCA1Mi40OTYxOTVdLCBbMTMuNDA1MTU5LCA1Mi40OTYyNzddLCBbMTMuNDA1MDcxLCA1Mi40OTYzOTRdLCBbMTMuNDA1MDk5LCA1Mi40OTY0MzJdLCBbMTMuNDA1MzAxLCA1Mi40OTY3MDddLCBbMTMuNDA1MzM1LCA1Mi40OTY3NDldLCBbMTMuNDA2MTYxLCA1Mi40OTc4XSwgWzEzLjQwNjM2OCwgNTIuNDk4MDQ1XSwgWzEzLjQwNjQzOCwgNTIuNDk4MTM4XSwgWzEzLjQwNjUyNCwgNTIuNDk4MjU5XSwgWzEzLjQwNjU2NCwgNTIuNDk4MzE1XSwgWzEzLjQwNjg0NywgNTIuNDk4MzIyXSwgWzEzLjQwODU3OCwgNTIuNDk4MzU4XSwgWzEzLjQwOTMyNiwgNTIuNDk4NDA4XSwgWzEzLjQwOTM2NSwgNTIuNDk4NDA5XSwgWzEzLjQwOTU3MywgNTIuNDk4NDE5XSwgWzEzLjQwOTk5OSwgNTIuNDk4NDM5XSwgWzEzLjQxMDU2NSwgNTIuNDk4NDcyXSwgWzEzLjQxMTg3MSwgNTIuNDk4NTIyXSwgWzEzLjQxMjE5NCwgNTIuNDk4NTMyXSwgWzEzLjQxMjg1MiwgNTIuNDk4NTE5XSwgWzEzLjQxMzQ2NiwgNTIuNDk4NDc2XSwgWzEzLjQxNDA3NywgNTIuNDk4NDM3XSwgWzEzLjQxNDI3NywgNTIuNDk4NDQyXSwgWzEzLjQxNTg1LCA1Mi40OTg2OF0sIFsxMy40MTY3ODEsIDUyLjQ5ODgwMV0sIFsxMy40MTY5NTksIDUyLjQ5ODgxN10sIFsxMy40MTcwNjEsIDUyLjQ5ODgyM10sIFsxMy40MTczMSwgNTIuNDk4ODM0XSwgWzEzLjQxNzQwOCwgNTIuNDk4ODM2XSwgWzEzLjQxNzYxNywgNTIuNDk4ODM5XSwgWzEzLjQxNzcyLCA1Mi40OTg4MzVdLCBbMTMuNDE4MDA5LCA1Mi40OTg4MTZdLCBbMTMuNDE4MTA0LCA1Mi40OTg3ODhdLCBbMTMuNDE4MzA5LCA1Mi40OTg3NzVdLCBbMTMuNDE4NDExLCA1Mi40OTg3ODldLCBbMTMuNDE4NTg5LCA1Mi40OTg4NTldLCBbMTMuNDE4NjIxLCA1Mi40OTg4OF0sIFsxMy40MTg4MDksIDUyLjQ5ODkwMl0sIFsxMy40MTg5MSwgNTIuNDk4OTExXSwgWzEzLjQxOTE2NywgNTIuNDk4OTM1XSwgWzEzLjQxOTMxMiwgNTIuNDk4OTQ4XSwgWzEzLjQxOTQ3MSwgNTIuNDk4OTYzXSwgWzEzLjQyMDAyOSwgNTIuNDk5MDAzXSwgWzEzLjQyMjAzOSwgNTIuNDk5MDI2XSwgWzEzLjQyMjIzMiwgNTIuNDk5MDI5XSwgWzEzLjQyMjQ2MSwgNTIuNDk5MDMzXSwgWzEzLjQyMjk0NiwgNTIuNDk5MDQxXSwgWzEzLjQyMzAzNSwgNTIuNDk5MDQzXSwgWzEzLjQyNTA4MywgNTIuNDk5MDc5XSwgWzEzLjQyNTU0NiwgNTIuNDk5MDg3XSwgWzEzLjQyNTczNiwgNTIuNDk5MDkxXSwgWzEzLjQyNTk3NSwgNTIuNDk5MDk4XSwgWzEzLjQyNjIwNSwgNTIuNDk5MTA1XSwgWzEzLjQyNjU0NSwgNTIuNDk5MTE0XSwgWzEzLjQyNjgzNiwgNTIuNDk5MTE1XSwgWzEzLjQyNzAxNSwgNTIuNDk5MDZdLCBbMTMuNDI3MzA2LCA1Mi40OTg5NjhdLCBbMTMuNDI3NDg0LCA1Mi40OTg5MV0sIFsxMy40Mjk2MjIsIDUyLjQ5ODE3XSwgWzEzLjQyNzc1NSwgNTIuNDk2MzAzXSwgWzEzLjQyODY3MiwgNTIuNDk2MDE5XSwgWzEzLjQyODk4NiwgNTIuNDk1OTI5XSwgWzEzLjQyODY3MiwgNTIuNDk2MDE5XSwgWzEzLjQyNzc1NSwgNTIuNDk2MzAzXSwgWzEzLjQyOTYyMiwgNTIuNDk4MTddLCBbMTMuNDI5NzIzLCA1Mi40OTgyNjJdLCBbMTMuNDI4NTMsIDUyLjQ5ODY3NV0sIFsxMy40Mjc5NiwgNTIuNDk4ODY1XSwgWzEzLjQyNzIzNSwgNTIuNDk5MTA0XSwgWzEzLjQyNzE1NywgNTIuNDk5MTI3XSwgWzEzLjQyNjU0MSwgNTIuNDk5MjY3XSwgWzEzLjQyNjM0NywgNTIuNDk5MjU1XSwgWzEzLjQyNjQwOCwgNTIuNDk5MzJdLCBbMTMuNDI2MTg2LCA1Mi40OTkzODFdLCBbMTMuNDI2MTMsIDUyLjQ5OTM5NV0sIFsxMy40MjU5MjcsIDUyLjQ5OTQ0OV0sIFsxMy40MjUyMjIsIDUyLjQ5OTY0NF0sIFsxMy40MjQ5LCA1Mi40OTk3MzNdLCBbMTMuNDIzNTkxLCA1Mi41MDAwOTZdLCBbMTMuNDIzMzI4LCA1Mi41MDA1MTddLCBbMTMuNDIzMjk3LCA1Mi41MDA1NjZdLCBbMTMuNDIzMTUsIDUyLjUwMDM1MV0sIFsxMy40MjMxMjcsIDUyLjUwMDMxNl0sIFsxMy40MjMwNzQsIDUyLjUwMDIzOV0sIFsxMy40MjMxOTMsIDUyLjUwMDIwNl0sIFsxMy40MjMyMzgsIDUyLjUwMDE5M10sIFsxMy40MjM1OTEsIDUyLjUwMDA5Nl0sIFsxMy40MjQ5LCA1Mi40OTk3MzNdLCBbMTMuNDI1MjIyLCA1Mi40OTk2NDRdLCBbMTMuNDI1OTI3LCA1Mi40OTk0NDldLCBbMTMuNDI2MTMsIDUyLjQ5OTM5NV0sIFsxMy40MjYxODYsIDUyLjQ5OTM4MV0sIFsxMy40MjY0MDgsIDUyLjQ5OTMyXSwgWzEzLjQyNjU0MSwgNTIuNDk5MjY3XSwgWzEzLjQyNjgzNiwgNTIuNDk5MTE1XSwgWzEzLjQyNzAxNSwgNTIuNDk5MDZdLCBbMTMuNDI3MzA2LCA1Mi40OTg5NjhdLCBbMTMuNDI3NDg0LCA1Mi40OTg5MV0sIFsxMy40Mjk2MjIsIDUyLjQ5ODE3XSwgWzEzLjQzMDY0NywgNTIuNDk3ODI1XSwgWzEzLjQzMTQwMSwgNTIuNDk3NTgyXSwgWzEzLjQzMTcyOCwgNTIuNDk3NDU2XSwgWzEzLjQzMTkwMSwgNTIuNDk3MzkxXSwgWzEzLjQzMjA1NSwgNTIuNDk3MzMxXSwgWzEzLjQzMjE2NSwgNTIuNDk3Mjk3XSwgWzEzLjQzNDQzMywgNTIuNDk2NTQzXSwgWzEzLjQzNDU3MywgNTIuNDk2NDk1XSwgWzEzLjQzNDcwNiwgNTIuNDk2NDQ3XSwgWzEzLjQzNjY4NywgNTIuNDk1NzcxXSwgWzEzLjQzNjgxNiwgNTIuNDk1NzI2XSwgWzEzLjQzNjk2OSwgNTIuNDk1Njc3XSwgWzEzLjQzODgwMiwgNTIuNDk1MDUyXSwgWzEzLjQzODk0MSwgNTIuNDk1MDA0XSwgWzEzLjQzODg1NCwgNTIuNDk0OTE3XSwgWzEzLjQzNzU3MSwgNTIuNDkzNjMyXSwgWzEzLjQzODg1NCwgNTIuNDk0OTE3XSwgWzEzLjQzODk0MSwgNTIuNDk1MDA0XSwgWzEzLjQzODgwMiwgNTIuNDk1MDUyXSwgWzEzLjQzNjk2OSwgNTIuNDk1Njc3XSwgWzEzLjQzNjgxNiwgNTIuNDk1NzI2XSwgWzEzLjQzNjY4NywgNTIuNDk1NzcxXSwgWzEzLjQzNDcwNiwgNTIuNDk2NDQ3XSwgWzEzLjQzNDU3MywgNTIuNDk2NDk1XSwgWzEzLjQzNDQzMywgNTIuNDk2NTQzXSwgWzEzLjQzMjE2NSwgNTIuNDk3Mjk3XSwgWzEzLjQzMjA1NSwgNTIuNDk3MzMxXSwgWzEzLjQzMTkwMSwgNTIuNDk3MzkxXSwgWzEzLjQzMTcyOCwgNTIuNDk3NDU2XSwgWzEzLjQzMTQwMSwgNTIuNDk3NTgyXSwgWzEzLjQzMDkxMiwgNTIuNDk3ODIzXSwgWzEzLjQzMDcyMywgNTIuNDk3OTExXSwgWzEzLjQyOTcyMywgNTIuNDk4MjYyXSwgWzEzLjQyODUzLCA1Mi40OTg2NzVdLCBbMTMuNDI3OTYsIDUyLjQ5ODg2NV0sIFsxMy40MjcyMzUsIDUyLjQ5OTEwNF0sIFsxMy40MjcxNTcsIDUyLjQ5OTEyN10sIFsxMy40MjY1NDEsIDUyLjQ5OTI2N10sIFsxMy40MjYzNDcsIDUyLjQ5OTI1NV0sIFsxMy40MjY0MDgsIDUyLjQ5OTMyXSwgWzEzLjQyNjQ4OCwgNTIuNDk5NDExXSwgWzEzLjQyNjcxNiwgNTIuNDk5NjY5XSwgWzEzLjQyNjQ4OCwgNTIuNDk5NDExXSwgWzEzLjQyNjQwOCwgNTIuNDk5MzJdLCBbMTMuNDI2NTQxLCA1Mi40OTkyNjddLCBbMTMuNDI2ODM2LCA1Mi40OTkxMTVdLCBbMTMuNDI3MDE1LCA1Mi40OTkwNl0sIFsxMy40MjczMDYsIDUyLjQ5ODk2OF0sIFsxMy40Mjc0ODQsIDUyLjQ5ODkxXSwgWzEzLjQyOTYyMiwgNTIuNDk4MTddLCBbMTMuNDI3NzU1LCA1Mi40OTYzMDNdLCBbMTMuNDI2Njg5LCA1Mi40OTY2MV0sIFsxMy40MjY2NTQsIDUyLjQ5NjYyMV0sIFsxMy40MjYyNDksIDUyLjQ5Njc0NF0sIFsxMy40MjQ1OTEsIDUyLjQ5NzI0NF0sIFsxMy40MjE0ODksIDUyLjQ5ODE0N10sIFsxMy40MjIxMTgsIDUyLjQ5ODg5OF0sIFsxMy40MjIxNjMsIDUyLjQ5ODk1Ml0sIFsxMy40MjIxODEsIDUyLjQ5ODk3Ml0sIFsxMy40MjIyMzIsIDUyLjQ5OTAyOV0sIFsxMy40MjIzNzEsIDUyLjQ5OTE4OF0sIFsxMy40MjIxMDksIDUyLjQ5OTE4Nl0sIFsxMy40MTk5MjEsIDUyLjQ5OTE2N10sIFsxMy40MTkzNjMsIDUyLjQ5OTE2XSwgWzEzLjQxOTE3OCwgNTIuNDk5MTU2XSwgWzEzLjQxODg0MSwgNTIuNDk5MTU2XSwgWzEzLjQxODY5MSwgNTIuNDk5MTZdLCBbMTMuNDE4NjU1LCA1Mi40OTkyMDVdLCBbMTMuNDE4NDgsIDUyLjQ5OTMwN10sIFsxMy40MTgyNDUsIDUyLjQ5OTM0Ml0sIFsxMy40MTgxNjQsIDUyLjQ5OTMzNl0sIFsxMy40MTgwODQsIDUyLjQ5OTMyMl0sIFsxMy40MTgwMSwgNTIuNDk5M10sIFsxMy40MTc5NTIsIDUyLjQ5OTI3NF0sIFsxMy40MTc5MDEsIDUyLjQ5OTI0M10sIFsxMy40MTc4NTgsIDUyLjQ5OTIwN10sIFsxMy40MTc4MzQsIDUyLjQ5OTE4XSwgWzEzLjQxNzgxNCwgNTIuNDk5MTUxXSwgWzEzLjQxNzY4NCwgNTIuNDk5MDk1XSwgWzEzLjQxNzU5LCA1Mi40OTkwNDldLCBbMTMuNDE3NDQ0LCA1Mi40OTkwMThdLCBbMTMuNDE0MzM3LCA1Mi40OTg2MDRdLCBbMTMuNDE0MTA4LCA1Mi40OTg1OTJdLCBbMTMuNDEzODA3LCA1Mi40OTg1OTJdLCBbMTMuNDEyNTQxLCA1Mi40OTg2NzJdLCBbMTMuNDEyMjI5LCA1Mi40OTg2NzFdLCBbMTMuNDExODY5LCA1Mi40OTg2NTJdLCBbMTMuNDEwNTU1LCA1Mi40OTg1ODhdLCBbMTMuNDEwNDcsIDUyLjQ5ODU4Nl0sIFsxMy40MTAwNDcsIDUyLjQ5ODU1OF0sIFsxMy40MDkzMDksIDUyLjQ5ODUyNV0sIFsxMy40MDg4NjMsIDUyLjQ5ODUwMl0sIFsxMy40MDY5MzgsIDUyLjQ5ODQ2OV0sIFsxMy40MDY2NzIsIDUyLjQ5ODQ2OF0sIFsxMy40MDY1MzksIDUyLjQ5ODQ2N10sIFsxMy40MDU4NjYsIDUyLjQ5ODQ2M10sIFsxMy40MDMwNzIsIDUyLjQ5ODQ0Ml0sIFsxMy40MDA1ODQsIDUyLjQ5ODQxMl0sIFsxMy4zOTk4NiwgNTIuNDk4NDA5XSwgWzEzLjM5OTgxMiwgNTIuNDk4NDA5XSwgWzEzLjM5OTYyNCwgNTIuNDk4NDA4XSwgWzEzLjM5OTM4MSwgNTIuNDk4NDA3XSwgWzEzLjM5NjM4NCwgNTIuNDk4Mzg2XSwgWzEzLjM5NjExOCwgNTIuNDk4MzY3XSwgWzEzLjM5NTk2MiwgNTIuNDk4MzU3XSwgWzEzLjM5NTczLCA1Mi40OTgzNDFdLCBbMTMuMzk1Njc1LCA1Mi40OTgwMjJdLCBbMTMuMzk1NjY5LCA1Mi40OTc5OTZdLCBbMTMuMzk1NjUsIDUyLjQ5Nzk0N10sIFsxMy4zOTU1OTUsIDUyLjQ5NzgwNl0sIFsxMy4zOTU1NzYsIDUyLjQ5Nzc1N10sIFsxMy4zOTU1NTcsIDUyLjQ5NzcwNl0sIFsxMy4zOTUzOSwgNTIuNDk3NDI5XSwgWzEzLjM5NTIxNywgNTIuNDk3MTA4XSwgWzEzLjM5NTE2NCwgNTIuNDk2OTUzXSwgWzEzLjM5NTE0MiwgNTIuNDk2ODg5XSwgWzEzLjM5NTA4NywgNTIuNDk2NjY2XSwgWzEzLjM5NTA1NSwgNTIuNDk2NDQ5XSwgWzEzLjM5NTAzOCwgNTIuNDk2MzYxXSwgWzEzLjM5NTAyNCwgNTIuNDk2Mjc5XSwgWzEzLjM5NDg1NiwgNTIuNDk2Mjg3XSwgWzEzLjM5NDYwMywgNTIuNDk2Mjk1XSwgWzEzLjM5NDQ3MSwgNTIuNDk2Mjk1XSwgWzEzLjM5NDA1NywgNTIuNDk2MjgzXSwgWzEzLjM5MzYwMywgNTIuNDk2MjVdLCBbMTMuMzkxMTk2LCA1Mi40OTU5OTddLCBbMTMuMzkwNjk0LCA1Mi40OTU5NjRdLCBbMTMuMzkwNTI2LCA1Mi40OTU5NjVdLCBbMTMuMzkwMjQ5LCA1Mi40OTU5NjddLCBbMTMuMzg5NzczLCA1Mi40OTYwMzhdLCBbMTMuMzg5NjE2LCA1Mi40OTYwNjJdLCBbMTMuMzg5MzQ5LCA1Mi40OTYxMDldLCBbMTMuMzg5Mzc4LCA1Mi40OTU5NjJdLCBbMTMuMzg5Mzg2LCA1Mi40OTU5MjFdLCBbMTMuMzg5NDE1LCA1Mi40OTU3OTddLCBbMTMuMzg5NDI5LCA1Mi40OTU2NjRdLCBbMTMuMzg5NDM0LCA1Mi40OTU1NjFdLCBbMTMuMzg5Mzc3LCA1Mi40OTUzMTFdLCBbMTMuMzg5Mjk4LCA1Mi40OTUxNThdLCBbMTMuMzg4NTA3LCA1Mi40OTQyMzVdLCBbMTMuMzg4Mjg0LCA1Mi40OTM5NTRdLCBbMTMuMzg4MDMyLCA1Mi40OTM2MjZdLCBbMTMuMzg3OTI4LCA1Mi40OTM0ODNdLCBbMTMuMzg3ODIxLCA1Mi40OTMzMTZdLCBbMTMuMzg3NzQ1LCA1Mi40OTMxOTVdLCBbMTMuMzg3NzE4LCA1Mi40OTMxNTJdLCBbMTMuMzg3NjU0LCA1Mi40OTMwNDZdLCBbMTMuMzg3NTAzLCA1Mi40OTI4MTNdLCBbMTMuMzg3NzQ0LCA1Mi40OTI3Nl0sIFsxMy4zODc4OTUsIDUyLjQ5MjczXSwgWzEzLjM4ODE5MSwgNTIuNDkyNjddLCBbMTMuMzg4MjIxLCA1Mi40OTI2NjRdLCBbMTMuMzg4MjkxLCA1Mi40OTI2NV0sIFsxMy4zODk3NzIsIDUyLjQ5MjM2NV0sIFsxMy4zODk1OTgsIDUyLjQ5MTg5OF0sIFsxMy4zODk3NzIsIDUyLjQ5MjM2NV0sIFsxMy4zOTA2MjksIDUyLjQ5MjE5MV0sIFsxMy4zOTA2ODgsIDUyLjQ5MjE3OV0sIFsxMy4zOTA4NCwgNTIuNDkyMTQ4XSwgWzEzLjM5MDk1MiwgNTIuNDkyMTI0XSwgWzEzLjM5MTQ5NiwgNTIuNDkyMDE0XSwgWzEzLjM5MjY5MiwgNTIuNDkxNzddLCBbMTMuMzkyMzQ3LCA1Mi40OTA1MjZdLCBbMTMuMzkyMDEzLCA1Mi40ODkzNjFdLCBbMTMuMzkyOTE5LCA1Mi40ODkyMzJdLCBbMTMuMzkyNjg2LCA1Mi40ODg0MzVdLCBbMTMuMzkxNzk1LCA1Mi40ODg1MzJdLCBbMTMuMzkyNjg2LCA1Mi40ODg0MzVdLCBbMTMuMzkyOTE5LCA1Mi40ODkyMzJdLCBbMTMuMzkyMDEzLCA1Mi40ODkzNjFdLCBbMTMuMzkyMzQ3LCA1Mi40OTA1MjZdLCBbMTMuMzkyNjkyLCA1Mi40OTE3N10sIFsxMy4zOTI3MTcsIDUyLjQ5MTg1Nl0sIFsxMy4zOTI3NDYsIDUyLjQ5MTk1NV0sIFsxMy4zOTI3NzQsIDUyLjQ5MjA1Ml0sIFsxMy4zOTEwODgsIDUyLjQ5MjM4Ml0sIFsxMy4zOTEwMzQsIDUyLjQ5MjM5Ml0sIFsxMy4zOTA5MTYsIDUyLjQ5MjQxNV0sIFsxMy4zOTA3NzMsIDUyLjQ5MjQ0M10sIFsxMy4zODk0NDYsIDUyLjQ5MjddLCBbMTMuMzg4NjgxLCA1Mi40OTI4NV0sIFsxMy4zODg0NDUsIDUyLjQ5Mjg5Nl0sIFsxMy4zODg0MTYsIDUyLjQ5Mjg5OV0sIFsxMy4zODgxNTgsIDUyLjQ5Mjk0OF0sIFsxMy4zODgwNDYsIDUyLjQ5Mjk2OV0sIFsxMy4zODc4OTEsIDUyLjQ5Mjk5OF0sIFsxMy4zODc3NzcsIDUyLjQ5MzAyM10sIFsxMy4zODc2NTQsIDUyLjQ5MzA0Nl0sIFsxMy4zODc1NSwgNTIuNDkzMDY4XSwgWzEzLjM4NzQ2OCwgNTIuNDkzMDgzXSwgWzEzLjM4NzAyNywgNTIuNDkzMTczXSwgWzEzLjM4Njk3OCwgNTIuNDkzMTgyXSwgWzEzLjM4NjUyNSwgNTIuNDkzMjY2XSwgWzEzLjM4NjIyOSwgNTIuNDkzMzE5XSwgWzEzLjM4NDc4NywgNTIuNDkzNTc5XSwgWzEzLjM4NDEwNywgNTIuNDkzNzEyXSwgWzEzLjM4Mzk4NCwgNTIuNDkzNzM1XSwgWzEzLjM4Mzc1NCwgNTIuNDkzNzY5XSwgWzEzLjM4MzU4MywgNTIuNDkzNzg0XSwgWzEzLjM4MzU0NSwgNTIuNDkzNjg4XSwgWzEzLjM4MzQ5LCA1Mi40OTM1MTldLCBbMTMuMzgzNDM2LCA1Mi40OTMzNjNdLCBbMTMuMzgzMDE1LCA1Mi40OTIxODddLCBbMTMuMzgzNDM2LCA1Mi40OTMzNjNdLCBbMTMuMzgzNDksIDUyLjQ5MzUxOV0sIFsxMy4zODM2MDUsIDUyLjQ5MzUyM10sIFsxMy4zODM3NzEsIDUyLjQ5MzUxOF0sIFsxMy4zODM5OTcsIDUyLjQ5MzQ4NF0sIFsxMy4zODUxMTcsIDUyLjQ5MzI3M10sIFsxMy4zODY0OTUsIDUyLjQ5MzAxM10sIFsxMy4zODY5MTQsIDUyLjQ5MjkzNl0sIFsxMy4zODcyNzQsIDUyLjQ5Mjg2Ml0sIFsxMy4zODczNTMsIDUyLjQ5Mjg0NV0sIFsxMy4zODc1MDMsIDUyLjQ5MjgxM10sIFsxMy4zODc3NDQsIDUyLjQ5Mjc2XSwgWzEzLjM4Nzc3NSwgNTIuNDkyODExXSwgWzEzLjM4Nzg5MSwgNTIuNDkyOTk4XSwgWzEzLjM4Nzk1OCwgNTIuNDkzMTA2XSwgWzEzLjM4Nzk3NywgNTIuNDkzMTM1XSwgWzEzLjM4ODA1OSwgNTIuNDkzMjY2XSwgWzEzLjM4ODE2MiwgNTIuNDkzNDNdLCBbMTMuMzg4MTg1LCA1Mi40OTM0NjZdLCBbMTMuMzg4Mjg2LCA1Mi40OTM2NDRdLCBbMTMuMzg4NjYsIDUyLjQ5NDE4Nl0sIFsxMy4zODg5ODUsIDUyLjQ5NDU4NV0sIFsxMy4zODk0NDYsIDUyLjQ5NTA5M10sIFsxMy4zODk2MTMsIDUyLjQ5NTM2Ml0sIFsxMy4zODk2MzYsIDUyLjQ5NTQ0MV0sIFsxMy4zODk2NDYsIDUyLjQ5NTUyN10sIFsxMy4zODk2NTUsIDUyLjQ5NTYxM10sIFsxMy4zODk2NTUsIDUyLjQ5NTY2Nl0sIFsxMy4zODk2NSwgNTIuNDk1NzczXSwgWzEzLjM4OTYzOSwgNTIuNDk1ODY4XSwgWzEzLjM4OTYzNSwgNTIuNDk1OTJdLCBbMTMuMzg5NzQxLCA1Mi40OTU5MDRdLCBbMTMuMzkwMTk1LCA1Mi40OTU4NTldLCBbMTMuMzkwNTY3LCA1Mi40OTU4NTZdLCBbMTMuMzkwNzEsIDUyLjQ5NTg1OF0sIFsxMy4zOTEyMjksIDUyLjQ5NTg5OV0sIFsxMy4zOTMzOSwgNTIuNDk2MTI1XSwgWzEzLjM5NDIxNywgNTIuNDk2MTcxXSwgWzEzLjM5NDU5MywgNTIuNDk2MTcyXSwgWzEzLjM5NDc4NiwgNTIuNDk2MTZdLCBbMTMuMzk0ODUsIDUyLjQ5NjE1NF0sIFsxMy4zOTQ5ODYsIDUyLjQ5NjE0Ml0sIFsxMy4zOTUxODUsIDUyLjQ5NjExNF0sIFsxMy4zOTUyMywgNTIuNDk2MjYxXSwgWzEzLjM5NTIxOSwgNTIuNDk2MzVdLCBbMTMuMzk1MjksIDUyLjQ5NjcyN10sIFsxMy4zOTUzNDgsIDUyLjQ5Njg3NF0sIFsxMy4zOTUzNzYsIDUyLjQ5Njk0OV0sIFsxMy4zOTU0NDUsIDUyLjQ5NzEyOV0sIFsxMy4zOTU2MDMsIDUyLjQ5NzQwNV0sIFsxMy4zOTU2ODEsIDUyLjQ5NzU1Nl0sIFsxMy4zOTU3ODYsIDUyLjQ5Nzc0M10sIFsxMy4zOTU4MTMsIDUyLjQ5Nzc5Ml0sIFsxMy4zOTU4NTYsIDUyLjQ5Nzg4NF0sIFsxMy4zOTYwNDgsIDUyLjQ5Nzk2NV0sIFsxMy4zOTYxNTIsIDUyLjQ5Nzk5OF0sIFsxMy4zOTY1NSwgNTIuNDk4MTE1XSwgWzEzLjM5Njk1NSwgNTIuNDk4MTkxXSwgWzEzLjM5NzI0NSwgNTIuNDk4MjRdLCBbMTMuMzk3NzI0LCA1Mi40OTgyNjVdLCBbMTMuMzk4NTEzLCA1Mi40OTgyNjldLCBbMTMuMzk5MjM3LCA1Mi40OTgyNzNdLCBbMTMuMzk5Mjg5LCA1Mi40OTgyNzNdLCBbMTMuMzk5NTE2LCA1Mi40OTgyNzRdLCBbMTMuMzk5NzE4LCA1Mi40OTgyNzZdLCBbMTMuNDAyOTczLCA1Mi40OTgzMDJdLCBbMTMuNDA1NzU0LCA1Mi40OTgzMTFdLCBbMTMuNDA2NDM2LCA1Mi40OTgzMTRdLCBbMTMuNDA2NTY0LCA1Mi40OTgzMTVdLCBbMTMuNDA2NjcyLCA1Mi40OTg0NjhdLCBbMTMuNDA2NzE4LCA1Mi40OTg1MzhdLCBbMTMuNDA2ODU1LCA1Mi40OTg3MzRdLCBbMTMuNDA2OTk4LCA1Mi40OTg5NF0sIFsxMy40MDc4MzgsIDUyLjUwMDAxM10sIFsxMy40MDc5MDMsIDUyLjUwMDA5M10sIFsxMy40MDgyNDEsIDUyLjUwMDUyMV0sIFsxMy40MDg5NCwgNTIuNTAxNDAzXSwgWzEzLjQwODk4NSwgNTIuNTAxNDZdLCBbMTMuNDA5MTI2LCA1Mi41MDE2MzddLCBbMTMuNDA5MjIyLCA1Mi41MDE3NTNdLCBbMTMuNDA5MjkyLCA1Mi41MDE4NDldLCBbMTMuNDA5NTE5LCA1Mi41MDIxNDFdLCBbMTMuNDA5NjIsIDUyLjUwMjI3Nl0sIFsxMy40MDk5MTYsIDUyLjUwMjY2Nl0sIFsxMy40MDk5NjMsIDUyLjUwMjcxNl0sIFsxMy40MTAwMzQsIDUyLjUwMjgwMV0sIFsxMy40MTA0NjksIDUyLjUwMzMzOV0sIFsxMy40MTA1NDgsIDUyLjUwMzQzMl0sIFsxMy40MTA2NjcsIDUyLjUwMzQwNl0sIFsxMy40MTA4MjksIDUyLjUwMzQwN10sIFsxMy40MTA5NjUsIDUyLjUwMzQ0M10sIFsxMy40MTEwNSwgNTIuNTAzNDkxXSwgWzEzLjQxMTEsIDUyLjUwMzUzNF0sIFsxMy40MTEyODYsIDUyLjUwMzQ4MV0sIFsxMy40MTE3ODgsIDUyLjUwMzM0MV0sIFsxMy40MTE5OTcsIDUyLjUwMzI4Ml0sIFsxMy40MTI0NDIsIDUyLjUwMzE2NF0sIFsxMy40MTMyOTQsIDUyLjUwMjkyNV0sIFsxMy40MTQ5MiwgNTIuNTAyNDc1XSwgWzEzLjQxNTAwMywgNTIuNTAyMzk3XSwgWzEzLjQxNTE5MSwgNTIuNTAyMzE0XSwgWzEzLjQxNTY3MywgNTIuNTAyMTUyXSwgWzEzLjQxNTgyNCwgNTIuNTAyMTEzXSwgWzEzLjQxNjM1LCA1Mi41MDIwM10sIFsxMy40MTY1NzEsIDUyLjUwMjAzNl0sIFsxMy40MTY2OTQsIDUyLjUwMTk5OV0sIFsxMy40MTg5MTgsIDUyLjUwMTM4NV0sIFsxMy40MTkxMjMsIDUyLjUwMTMyOV0sIFsxMy40MTkyNzcsIDUyLjUwMTI4Nl0sIFsxMy40MTkyMSwgNTIuNTAxMTg4XSwgWzEzLjQxOTEyMSwgNTIuNTAxMDU3XSwgWzEzLjQxODg0NywgNTIuNTAwNjZdLCBbMTMuNDE4ODM5LCA1Mi41MDA2NDhdLCBbMTMuNDE4Njk4LCA1Mi41MDA0NThdLCBbMTMuNDE4NTQsIDUyLjUwMDIzNl0sIFsxMy40MTg2NjUsIDUyLjUwMDIwNV0sIFsxMy40MTg1NCwgNTIuNTAwMjM2XSwgWzEzLjQxODY5OCwgNTIuNTAwNDU4XSwgWzEzLjQxODgzOSwgNTIuNTAwNjQ4XSwgWzEzLjQxODg0NywgNTIuNTAwNjZdLCBbMTMuNDE5MTIxLCA1Mi41MDEwNTddLCBbMTMuNDE5MjEsIDUyLjUwMTE4OF0sIFsxMy40MTkyNzcsIDUyLjUwMTI4Nl0sIFsxMy40MTk0NTUsIDUyLjUwMTIzN10sIFsxMy40MTk2NDEsIDUyLjUwMTE4Nl0sIFsxMy40MjAzMTYsIDUyLjUwMTAwMV0sIFsxMy40MjA3NzQsIDUyLjUwMDg3NV0sIFsxMy40MjI0MzksIDUyLjUwMDQxNF0sIFsxMy40MjI1NTQsIDUyLjUwMDM4M10sIFsxMy40MjI4OSwgNTIuNTAwMjldLCBbMTMuNDIyOTQ0LCA1Mi41MDAyNzVdLCBbMTMuNDIzMDc0LCA1Mi41MDAyMzldLCBbMTMuNDIzMTkzLCA1Mi41MDAyMDZdLCBbMTMuNDIzMjM4LCA1Mi41MDAxOTNdLCBbMTMuNDIzNTkxLCA1Mi41MDAwOTZdLCBbMTMuNDI0OSwgNTIuNDk5NzMzXSwgWzEzLjQyNTIyMiwgNTIuNDk5NjQ0XSwgWzEzLjQyNTkyNywgNTIuNDk5NDQ5XSwgWzEzLjQyNjEzLCA1Mi40OTkzOTVdLCBbMTMuNDI2MTg2LCA1Mi40OTkzODFdLCBbMTMuNDI2NDA4LCA1Mi40OTkzMl0sIFsxMy40MjY0ODgsIDUyLjQ5OTQxMV0sIFsxMy40MjcwMTksIDUyLjUwMDAxXSwgWzEzLjQyNzIxOSwgNTIuNTAwMjQxXSwgWzEzLjQyNzI5OSwgNTIuNTAwMzMzXSwgWzEzLjQyODAxMSwgNTIuNTAxMTUxXSwgWzEzLjQyODA1MSwgNTIuNTAxMTk3XSwgWzEzLjQyODExLCA1Mi41MDEyNjVdLCBbMTMuNDI4ODc0LCA1Mi41MDIxNDVdLCBbMTMuNDI5MDcsIDUyLjUwMjM3XSwgWzEzLjQyOTY3MSwgNTIuNTAzMDgxXSwgWzEzLjQyOTA3LCA1Mi41MDIzN10sIFsxMy40Mjg4NzQsIDUyLjUwMjE0NV0sIFsxMy40MjgxMSwgNTIuNTAxMjY1XSwgWzEzLjQyODA1MSwgNTIuNTAxMTk3XSwgWzEzLjQyODAxMSwgNTIuNTAxMTUxXSwgWzEzLjQyNzI5OSwgNTIuNTAwMzMzXSwgWzEzLjQyNzIxOSwgNTIuNTAwMjQxXSwgWzEzLjQyNzAxOSwgNTIuNTAwMDFdLCBbMTMuNDI2NDg4LCA1Mi40OTk0MTFdLCBbMTMuNDI2NDA4LCA1Mi40OTkzMl0sIFsxMy40MjYzNDcsIDUyLjQ5OTI1NV0sIFsxMy40MjYwODksIDUyLjQ5OTI0OF0sIFsxMy40MjU3NywgNTIuNDk5MjM1XSwgWzEzLjQyNTU1OSwgNTIuNDk5MjNdLCBbMTMuNDI1MDc5LCA1Mi40OTkyMl0sIFsxMy40MjQ0OTUsIDUyLjQ5OTIwOF0sIFsxMy40MjQwNTIsIDUyLjQ5OTE5OV0sIFsxMy40MjMwMzIsIDUyLjQ5OTE5Ml0sIFsxMy40MjI1OTEsIDUyLjQ5OTE5XSwgWzEzLjQyMjUxNCwgNTIuNDk5MTg5XSwgWzEzLjQyMjM3MSwgNTIuNDk5MTg4XSwgWzEzLjQyMjEwOSwgNTIuNDk5MTg2XSwgWzEzLjQxOTkyMSwgNTIuNDk5MTY3XSwgWzEzLjQxOTM2MywgNTIuNDk5MTZdLCBbMTMuNDE5MTc4LCA1Mi40OTkxNTZdLCBbMTMuNDE4ODQxLCA1Mi40OTkxNTZdLCBbMTMuNDE4NjkxLCA1Mi40OTkxNl0sIFsxMy40MTg2NTUsIDUyLjQ5OTIwNV0sIFsxMy40MTg0OCwgNTIuNDk5MzA3XSwgWzEzLjQxODI0NSwgNTIuNDk5MzQyXSwgWzEzLjQxODE2NCwgNTIuNDk5MzM2XSwgWzEzLjQxODA4NCwgNTIuNDk5MzIyXSwgWzEzLjQxODAxLCA1Mi40OTkzXSwgWzEzLjQxNzk1MiwgNTIuNDk5Mjc0XSwgWzEzLjQxNzkwMSwgNTIuNDk5MjQzXSwgWzEzLjQxNzg1OCwgNTIuNDk5MjA3XSwgWzEzLjQxNzgzNCwgNTIuNDk5MThdLCBbMTMuNDE3ODE0LCA1Mi40OTkxNTFdLCBbMTMuNDE3Njg0LCA1Mi40OTkwOTVdLCBbMTMuNDE3NTksIDUyLjQ5OTA0OV0sIFsxMy40MTc0NDQsIDUyLjQ5OTAxOF0sIFsxMy40MTQzMzcsIDUyLjQ5ODYwNF0sIFsxMy40MTQxMDgsIDUyLjQ5ODU5Ml0sIFsxMy40MTM4MDcsIDUyLjQ5ODU5Ml0sIFsxMy40MTI1NDEsIDUyLjQ5ODY3Ml0sIFsxMy40MTIyMjksIDUyLjQ5ODY3MV0sIFsxMy40MTE4NjksIDUyLjQ5ODY1Ml0sIFsxMy40MTA1NTUsIDUyLjQ5ODU4OF0sIFsxMy40MTA0NywgNTIuNDk4NTg2XSwgWzEzLjQxMDA0NywgNTIuNDk4NTU4XSwgWzEzLjQwOTMwOSwgNTIuNDk4NTI1XSwgWzEzLjQwODg2MywgNTIuNDk4NTAyXSwgWzEzLjQwNjkzOCwgNTIuNDk4NDY5XSwgWzEzLjQwNjY3MiwgNTIuNDk4NDY4XSwgWzEzLjQwNjU2NCwgNTIuNDk4MzE1XSwgWzEzLjQwNjUyNCwgNTIuNDk4MjU5XSwgWzEzLjQwNjQzOCwgNTIuNDk4MTM4XSwgWzEzLjQwNjM2OCwgNTIuNDk4MDQ1XSwgWzEzLjQwNjE2MSwgNTIuNDk3OF0sIFsxMy40MDUzMzUsIDUyLjQ5Njc0OV0sIFsxMy40MDUzMDEsIDUyLjQ5NjcwN10sIFsxMy40MDUwOTksIDUyLjQ5NjQzMl0sIFsxMy40MDUwNzEsIDUyLjQ5NjM5NF0sIFsxMy40MDQ5OSwgNTIuNDk2MzddLCBbMTMuNDA0ODg0LCA1Mi40OTYzMzJdLCBbMTMuNDA0NzA3LCA1Mi40OTYyNjFdLCBbMTMuNDA0NjMyLCA1Mi40OTYyMDldLCBbMTMuNDA0NTc5LCA1Mi40OTYxNTFdLCBbMTMuNDAzOTA0LCA1Mi40OTUzMDFdLCBbMTMuNDAzODM4LCA1Mi40OTUyMThdLCBbMTMuNDAyOTUzLCA1Mi40OTQxMDddLCBbMTMuNDAyODkyLCA1Mi40OTQwM10sIFsxMy40MDI3NiwgNTIuNDk0MDVdLCBbMTMuNDAyNTA0LCA1Mi40OTQwODhdLCBbMTMuNDAyNDQ2LCA1Mi40OTQxXSwgWzEzLjQwMDQ5MywgNTIuNDk0NDE2XSwgWzEzLjQwMDIyOSwgNTIuNDk0NDU4XSwgWzEzLjM5OTkyMywgNTIuNDk0NTA2XSwgWzEzLjM5OTc5OSwgNTIuNDk0NTI3XSwgWzEzLjM5OTYwMiwgNTIuNDk0NTY0XSwgWzEzLjM5OTU1OCwgNTIuNDk0NDUxXSwgWzEzLjM5OTU0NiwgNTIuNDk0NDAzXSwgWzEzLjM5OTU0MSwgNTIuNDk0MzY4XSwgWzEzLjM5OTUyOCwgNTIuNDk0MjUzXSwgWzEzLjM5OTU1NywgNTIuNDk0MTI4XSwgWzEzLjM5OTYyNCwgNTIuNDk0MDAzXSwgWzEzLjM5OTY3NCwgNTIuNDkzOTM3XSwgWzEzLjM5ODQ3OSwgNTIuNDkyODQxXSwgWzEzLjM5ODM1NSwgNTIuNDkyODcyXSwgWzEzLjM5Nzg2MiwgNTIuNDkyOTI4XSwgWzEzLjM5NjkxMywgNTIuNDkzMDM1XSwgWzEzLjM5NjQzOCwgNTIuNDkxMzc2XSwgWzEzLjM5NjQyMywgNTIuNDkxMzI0XSwgWzEzLjM5NDc0NSwgNTIuNDkxNjZdLCBbMTMuMzk0NjMyLCA1Mi40OTE2ODJdLCBbMTMuMzk0NDY2LCA1Mi40OTE3MTddLCBbMTMuMzk0MzEzLCA1Mi40OTE3NDZdLCBbMTMuMzkyNzc0LCA1Mi40OTIwNTJdLCBbMTMuMzkxMDg4LCA1Mi40OTIzODJdLCBbMTMuMzkxMDM0LCA1Mi40OTIzOTJdLCBbMTMuMzkwOTE2LCA1Mi40OTI0MTVdLCBbMTMuMzkwNzczLCA1Mi40OTI0NDNdLCBbMTMuMzg5NDQ2LCA1Mi40OTI3XSwgWzEzLjM4ODY4MSwgNTIuNDkyODVdLCBbMTMuMzg4NDQ1LCA1Mi40OTI4OTZdLCBbMTMuMzg4NDE2LCA1Mi40OTI4OTldLCBbMTMuMzg4MTU4LCA1Mi40OTI5NDhdLCBbMTMuMzg4MDQ2LCA1Mi40OTI5NjldLCBbMTMuMzg3ODkxLCA1Mi40OTI5OThdLCBbMTMuMzg3Nzc3LCA1Mi40OTMwMjNdLCBbMTMuMzg3NjU0LCA1Mi40OTMwNDZdLCBbMTMuMzg3NTAzLCA1Mi40OTI4MTNdLCBbMTMuMzg3NDQxLCA1Mi40OTI3MTRdLCBbMTMuMzg3NDI0LCA1Mi40OTI2ODhdLCBbMTMuMzg3MzUzLCA1Mi40OTI1NjldLCBbMTMuMzg3MzI1LCA1Mi40OTI1MDZdLCBbMTMuMzg2NzY1LCA1Mi40OTEyODNdLCBbMTMuMzg2NjI1LCA1Mi40OTA5MDddLCBbMTMuMzg2NSwgNTIuNDkwNTddLCBbMTMuMzg2MzYsIDUyLjQ5MDE1N10sIFsxMy4zODYzMzMsIDUyLjQ5MDA2Ml0sIFsxMy4zODY1MjUsIDUyLjQ5MDA2M10sIFsxMy4zODY1NjIsIDUyLjQ5MDE2M10sIFsxMy4zODY3MDcsIDUyLjQ5MDU2Ml0sIFsxMy4zODcwMTYsIDUyLjQ5MTI3NV0sIFsxMy4zODcwNDQsIDUyLjQ5MTMzMV0sIFsxMy4zODczLCA1Mi40OTE5NDldLCBbMTMuMzg3NDQ3LCA1Mi40OTIyNF0sIFsxMy4zODc1NzIsIDUyLjQ5MjQ4NV0sIFsxMy4zODc1OSwgNTIuNDkyNTIxXSwgWzEzLjM4NzY2NSwgNTIuNDkyNjI2XSwgWzEzLjM4NzY4NiwgNTIuNDkyNjY0XSwgWzEzLjM4Nzc0NCwgNTIuNDkyNzZdLCBbMTMuMzg3Nzc1LCA1Mi40OTI4MTFdLCBbMTMuMzg3ODkxLCA1Mi40OTI5OThdLCBbMTMuMzg3OTU4LCA1Mi40OTMxMDZdLCBbMTMuMzg3OTc3LCA1Mi40OTMxMzVdLCBbMTMuMzg4MDU5LCA1Mi40OTMyNjZdLCBbMTMuMzg4MTYyLCA1Mi40OTM0M10sIFsxMy4zODgxODUsIDUyLjQ5MzQ2Nl0sIFsxMy4zODgyODYsIDUyLjQ5MzY0NF0sIFsxMy4zODg2NiwgNTIuNDk0MTg2XSwgWzEzLjM4ODk4NSwgNTIuNDk0NTg1XSwgWzEzLjM4OTQ0NiwgNTIuNDk1MDkzXSwgWzEzLjM4OTYxMywgNTIuNDk1MzYyXSwgWzEzLjM4OTYzNiwgNTIuNDk1NDQxXSwgWzEzLjM4OTY0NiwgNTIuNDk1NTI3XSwgWzEzLjM4OTY1NSwgNTIuNDk1NjEzXSwgWzEzLjM4OTY1NSwgNTIuNDk1NjY2XSwgWzEzLjM4OTY1LCA1Mi40OTU3NzNdLCBbMTMuMzg5NjM5LCA1Mi40OTU4NjhdLCBbMTMuMzg5NjM1LCA1Mi40OTU5Ml0sIFsxMy4zODk3NDEsIDUyLjQ5NTkwNF0sIFsxMy4zOTAxOTUsIDUyLjQ5NTg1OV0sIFsxMy4zOTA1NjcsIDUyLjQ5NTg1Nl0sIFsxMy4zOTA3MSwgNTIuNDk1ODU4XSwgWzEzLjM5MTIyOSwgNTIuNDk1ODk5XSwgWzEzLjM5MzM5LCA1Mi40OTYxMjVdLCBbMTMuMzk0MjE3LCA1Mi40OTYxNzFdLCBbMTMuMzk0NTkzLCA1Mi40OTYxNzJdLCBbMTMuMzk0Nzg2LCA1Mi40OTYxNl0sIFsxMy4zOTQ4NSwgNTIuNDk2MTU0XSwgWzEzLjM5NDk4NiwgNTIuNDk2MTQyXSwgWzEzLjM5NTE4NSwgNTIuNDk2MTE0XSwgWzEzLjM5NTIzLCA1Mi40OTYyNjFdLCBbMTMuMzk1MjE5LCA1Mi40OTYzNV0sIFsxMy4zOTUyOSwgNTIuNDk2NzI3XSwgWzEzLjM5NTM0OCwgNTIuNDk2ODc0XSwgWzEzLjM5NTM3NiwgNTIuNDk2OTQ5XSwgWzEzLjM5NTQ0NSwgNTIuNDk3MTI5XSwgWzEzLjM5NTYwMywgNTIuNDk3NDA1XSwgWzEzLjM5NTY4MSwgNTIuNDk3NTU2XSwgWzEzLjM5NTc4NiwgNTIuNDk3NzQzXSwgWzEzLjM5NTgxMywgNTIuNDk3NzkyXSwgWzEzLjM5NTg1NiwgNTIuNDk3ODg0XSwgWzEzLjM5NjA0OCwgNTIuNDk3OTY1XSwgWzEzLjM5NjE1MiwgNTIuNDk3OTk4XSwgWzEzLjM5NjU1LCA1Mi40OTgxMTVdLCBbMTMuMzk2OTU1LCA1Mi40OTgxOTFdLCBbMTMuMzk3MjQ1LCA1Mi40OTgyNF0sIFsxMy4zOTc3MjQsIDUyLjQ5ODI2NV0sIFsxMy4zOTg1MTMsIDUyLjQ5ODI2OV0sIFsxMy4zOTkyMzcsIDUyLjQ5ODI3M10sIFsxMy4zOTkyODksIDUyLjQ5ODI3M10sIFsxMy4zOTk1MTYsIDUyLjQ5ODI3NF0sIFsxMy4zOTk3MTgsIDUyLjQ5ODI3Nl0sIFsxMy40MDI5NzMsIDUyLjQ5ODMwMl0sIFsxMy40MDU3NTQsIDUyLjQ5ODMxMV0sIFsxMy40MDY0MzYsIDUyLjQ5ODMxNF0sIFsxMy40MDY1NjQsIDUyLjQ5ODMxNV0sIFsxMy40MDY2NzIsIDUyLjQ5ODQ2OF0sIFsxMy40MDY3MTgsIDUyLjQ5ODUzOF0sIFsxMy40MDY4NTUsIDUyLjQ5ODczNF0sIFsxMy40MDY5OTgsIDUyLjQ5ODk0XSwgWzEzLjQwNzgzOCwgNTIuNTAwMDEzXSwgWzEzLjQwNzkwMywgNTIuNTAwMDkzXSwgWzEzLjQwODI0MSwgNTIuNTAwNTIxXSwgWzEzLjQwODk0LCA1Mi41MDE0MDNdLCBbMTMuNDA4OTg1LCA1Mi41MDE0Nl0sIFsxMy40MDkxMjYsIDUyLjUwMTYzN10sIFsxMy40MDkyMjIsIDUyLjUwMTc1M10sIFsxMy40MDkyOTIsIDUyLjUwMTg0OV0sIFsxMy40MDk1MTksIDUyLjUwMjE0MV0sIFsxMy40MDk2MiwgNTIuNTAyMjc2XSwgWzEzLjQwOTkxNiwgNTIuNTAyNjY2XSwgWzEzLjQwOTk2MywgNTIuNTAyNzE2XSwgWzEzLjQxMDAzNCwgNTIuNTAyODAxXSwgWzEzLjQxMDQ2OSwgNTIuNTAzMzM5XSwgWzEzLjQxMDU0OCwgNTIuNTAzNDMyXSwgWzEzLjQxMDY2NywgNTIuNTAzNDA2XSwgWzEzLjQxMDgyOSwgNTIuNTAzNDA3XSwgWzEzLjQxMDk2NSwgNTIuNTAzNDQzXSwgWzEzLjQxMTA1LCA1Mi41MDM0OTFdLCBbMTMuNDExMSwgNTIuNTAzNTM0XSwgWzEzLjQxMTI4NiwgNTIuNTAzNDgxXSwgWzEzLjQxMTc4OCwgNTIuNTAzMzQxXSwgWzEzLjQxMTk5NywgNTIuNTAzMjgyXSwgWzEzLjQxMjQ0MiwgNTIuNTAzMTY0XSwgWzEzLjQxMzI5NCwgNTIuNTAyOTI1XSwgWzEzLjQxNDkyLCA1Mi41MDI0NzVdLCBbMTMuNDE1MDAzLCA1Mi41MDIzOTddLCBbMTMuNDE1MTkxLCA1Mi41MDIzMTRdLCBbMTMuNDE1NjczLCA1Mi41MDIxNTJdLCBbMTMuNDE1ODI0LCA1Mi41MDIxMTNdLCBbMTMuNDE2MzUsIDUyLjUwMjAzXSwgWzEzLjQxNjU3MSwgNTIuNTAyMDM2XSwgWzEzLjQxNjY5NCwgNTIuNTAxOTk5XSwgWzEzLjQxODkxOCwgNTIuNTAxMzg1XSwgWzEzLjQxOTEyMywgNTIuNTAxMzI5XSwgWzEzLjQxOTI3NywgNTIuNTAxMjg2XSwgWzEzLjQxOTM0NCwgNTIuNTAxMzc4XSwgWzEzLjQxOTQ0NywgNTIuNTAxNTE4XSwgWzEzLjQxOTk4MiwgNTIuNTAyMjQ5XSwgWzEzLjQyMDMzMywgNTIuNTAyNzU0XSwgWzEzLjQxOTk4MiwgNTIuNTAyMjQ5XSwgWzEzLjQxOTQ0NywgNTIuNTAxNTE4XSwgWzEzLjQxOTM0NCwgNTIuNTAxMzc4XSwgWzEzLjQxOTI3NywgNTIuNTAxMjg2XSwgWzEzLjQxOTIxLCA1Mi41MDExODhdLCBbMTMuNDE5MTIxLCA1Mi41MDEwNTddLCBbMTMuNDE4ODQ3LCA1Mi41MDA2Nl0sIFsxMy40MTg4MzksIDUyLjUwMDY0OF0sIFsxMy40MTg2OTgsIDUyLjUwMDQ1OF0sIFsxMy40MTg1NCwgNTIuNTAwMjM2XSwgWzEzLjQxODUwOCwgNTIuNTAwMTkzXSwgWzEzLjQxODQ4NywgNTIuNTAwMTYzXSwgWzEzLjQxODQ0MSwgNTIuNTAwMTAxXSwgWzEzLjQxODQyNiwgNTIuNTAwMDhdLCBbMTMuNDE4NDE3LCA1Mi41MDAwNjhdLCBbMTMuNDE4MTQyLCA1Mi40OTk2OTJdLCBbMTMuNDE4MTA2LCA1Mi40OTk2MzZdLCBbMTMuNDE4MDk1LCA1Mi40OTk1ODJdLCBbMTMuNDE4MTE0LCA1Mi40OTk0NzldLCBbMTMuNDE4MTM3LCA1Mi40OTk0MzldLCBbMTMuNDE4MTY0LCA1Mi40OTkzMzZdLCBbMTMuNDE4MDg0LCA1Mi40OTkzMjJdLCBbMTMuNDE4MDEsIDUyLjQ5OTNdLCBbMTMuNDE3OTUyLCA1Mi40OTkyNzRdLCBbMTMuNDE3OTAxLCA1Mi40OTkyNDNdLCBbMTMuNDE3ODU4LCA1Mi40OTkyMDddLCBbMTMuNDE3ODM0LCA1Mi40OTkxOF0sIFsxMy40MTc4MTQsIDUyLjQ5OTE1MV0sIFsxMy40MTc3ODksIDUyLjQ5OTA3Nl0sIFsxMy40MTc3OTgsIDUyLjQ5ODk5OV0sIFsxMy40MTc4NCwgNTIuNDk4OTI3XSwgWzEzLjQxNzkxMiwgNTIuNDk4ODY0XSwgWzEzLjQxODAwOSwgNTIuNDk4ODE2XSwgWzEzLjQxODEwNCwgNTIuNDk4Nzg4XSwgWzEzLjQxODMwOSwgNTIuNDk4Nzc1XSwgWzEzLjQxODQxMSwgNTIuNDk4Nzg5XSwgWzEzLjQxODQ4MiwgNTIuNDk4NzA0XSwgWzEzLjQxODUxMywgNTIuNDk4NjM1XSwgWzEzLjQxODUyLCA1Mi40OTg0MzhdLCBbMTMuNDE4NTM1LCA1Mi40OTg0MDRdLCBbMTMuNDE5NDAxLCA1Mi40OTY4MTVdLCBbMTMuNDE5NTE4LCA1Mi40OTY2NDddLCBbMTMuNDE5NTcyLCA1Mi40OTY1NjldLCBbMTMuNDE5NjQ3LCA1Mi40OTY0NzhdLCBbMTMuNDE5NzAzLCA1Mi40OTY0XSwgWzEzLjQxOTczMSwgNTIuNDk2MzYxXSwgWzEzLjQxOTg2MSwgNTIuNDk2MjMxXSwgWzEzLjQxOTkwNiwgNTIuNDk2MTgyXSwgWzEzLjQyMDA4NiwgNTIuNDk1ODkxXSwgWzEzLjQyMDEzNSwgNTIuNDk1ODI4XSwgWzEzLjQyMDM0NSwgNTIuNDk1NjIzXSwgWzEzLjQyMDM2NCwgNTIuNDk1NTk2XSwgWzEzLjQyMDQyNiwgNTIuNDk1NTEzXSwgWzEzLjQyMTc4MywgNTIuNDkzMzQ1XSwgWzEzLjQyMTk4NCwgNTIuNDkzMDcxXSwgWzEzLjQyMjA1NSwgNTIuNDkyOTU5XSwgWzEzLjQyMjEzOSwgNTIuNDkyODE5XSwgWzEzLjQyMjk4NiwgNTIuNDkxNDAzXSwgWzEzLjQyMzA0NiwgNTIuNDkxMzFdLCBbMTMuNDIzNDc4LCA1Mi40OTA2MjFdLCBbMTMuNDIzNTM5LCA1Mi40OTA1MjNdLCBbMTMuNDIzNjI0LCA1Mi40OTAzODldLCBbMTMuNDI0NDYxLCA1Mi40ODkwNjldLCBbMTMuNDI0NTcxLCA1Mi40ODg4ODRdLCBbMTMuNDI0OTIyLCA1Mi40ODgyODldLCBbMTMuNDI0OTYxLCA1Mi40ODgyMjRdLCBbMTMuNDI0OTc1LCA1Mi40ODgxOTVdLCBbMTMuNDI1MDg0LCA1Mi40ODc5ODldLCBbMTMuNDI0OTAyLCA1Mi40ODgwNTldLCBbMTMuNDI0ODE3LCA1Mi40ODgwODddLCBbMTMuNDI0NjY0LCA1Mi40ODgxNDNdLCBbMTMuNDI0MTIyLCA1Mi40ODgzNjFdLCBbMTMuNDIzNzY5LCA1Mi40ODg1MDFdLCBbMTMuNDIzNTgxLCA1Mi40ODg1NzRdLCBbMTMuNDIzNTM1LCA1Mi40ODg1OTJdLCBbMTMuNDIzNDk2LCA1Mi40ODg2MDhdLCBbMTMuNDIxODk0LCA1Mi40ODkyMjZdLCBbMTMuNDIwMDk0LCA1Mi40ODk5MTZdLCBbMTMuNDE5ODU2LCA1Mi40ODk5OThdLCBbMTMuNDE5NjY1LCA1Mi40OTAwNTRdLCBbMTMuNDE5NTM1LCA1Mi40OTAwOTFdLCBbMTMuNDE3MjI0LCA1Mi40OTA3MzddLCBbMTMuNDE3MTUsIDUyLjQ5MDc1OF0sIFsxMy40MTY2MzMsIDUyLjQ5MDkwMV0sIFsxMy40MTY0NjcsIDUyLjQ5MDk0NV0sIFsxMy40MTY0MTgsIDUyLjQ5MDk1OV0sIFsxMy40MTYxOTksIDUyLjQ5MTAxOV0sIFsxMy40MTYyNjYsIDUyLjQ5MTEwMl0sIFsxMy40MTYyODUsIDUyLjQ5MTEyNV0sIFsxMy40MTYyNjYsIDUyLjQ5MTEwMl0sIFsxMy40MTYxOTksIDUyLjQ5MTAxOV0sIFsxMy40MTYwMzQsIDUyLjQ5MTA2Ml0sIFsxMy40MTU3NjMsIDUyLjQ5MTEzNl0sIFsxMy40MTU2ODcsIDUyLjQ5MTE1N10sIFsxMy40MTM3NjIsIDUyLjQ5MTY5N10sIFsxMy40MTM2OTksIDUyLjQ5MTcxNl0sIFsxMy40MTM0NDMsIDUyLjQ5MTc5Nl0sIFsxMy40MTMzODIsIDUyLjQ5MTgxNV0sIFsxMy40MTMyNjgsIDUyLjQ5MTg1Ml0sIFsxMy40MTI3NzgsIDUyLjQ5MTk5Nl0sIFsxMy40MTI2MywgNTIuNDkyMDQxXSwgWzEzLjQxMjU0MSwgNTIuNDkxOTE1XSwgWzEzLjQxMjQ5MSwgNTIuNDkxODM4XSwgWzEzLjQxMjI5MiwgNTIuNDkxNTk1XSwgWzEzLjQxMjUwNiwgNTIuNDkxNTQ3XSwgWzEzLjQxMjk3NSwgNTIuNDkxNDRdLCBbMTMuNDEyOTk3LCA1Mi40OTEzOTVdLCBbMTMuNDEzMDAzLCA1Mi40OTEzNjldLCBbMTMuNDEyOTk3LCA1Mi40OTEzOTVdLCBbMTMuNDEyOTc1LCA1Mi40OTE0NF0sIFsxMy40MTI5OTMsIDUyLjQ5MTQ2Nl0sIFsxMy40MTMwNDgsIDUyLjQ5MTU0Nl0sIFsxMy40MTMxMTcsIDUyLjQ5MTY0OF0sIFsxMy40MTMxNjEsIDUyLjQ5MTddLCBbMTMuNDEzMTk5LCA1Mi40OTE3NDhdLCBbMTMuNDEzMzEsIDUyLjQ5MTcxOF0sIFsxMy40MTM2MzQsIDUyLjQ5MTY0Ml0sIFsxMy40MTM3MSwgNTIuNDkxNjJdLCBbMTMuNDE0NzA4LCA1Mi40OTEzMzddLCBbMTMuNDE1NzA2LCA1Mi40OTEwNTNdLCBbMTMuNDE1ODI0LCA1Mi40OTEwMl0sIFsxMy40MTU5ODQsIDUyLjQ5MDk3NF0sIFsxMy40MTYxNDQsIDUyLjQ5MDkyOV0sIFsxMy40MTYzNTUsIDUyLjQ5MDg2OV0sIFsxMy40MTY1NzEsIDUyLjQ5MDgwOF0sIFsxMy40MTcxNTcsIDUyLjQ5MDY0MV0sIFsxMy40MTc4NTksIDUyLjQ5MDQzNV0sIFsxMy40MTkzNjYsIDUyLjQ5MDAxOF0sIFsxMy40MTk0NjksIDUyLjQ4OTk4OV0sIFsxMy40MTk2NTksIDUyLjQ4OTkzMl0sIFsxMy40MTk4MzMsIDUyLjQ4OTg3XSwgWzEzLjQyMDM0MywgNTIuNDg5NjQ4XSwgWzEzLjQyMTc3NCwgNTIuNDg5MTExXSwgWzEzLjQyMzM0OCwgNTIuNDg4NTFdLCBbMTMuNDIzMzg1LCA1Mi40ODg0OTZdLCBbMTMuNDIzNDcsIDUyLjQ4ODQ2Ml0sIFsxMy40MjM3MjEsIDUyLjQ4ODM2Ml0sIFsxMy40MjQ0MTQsIDUyLjQ4ODA5Ml0sIFsxMy40MjQ1NTYsIDUyLjQ4ODAzN10sIFsxMy40MjQ2NTgsIDUyLjQ4Nzk5N10sIFsxMy40MjQ3ODgsIDUyLjQ4Nzk0N10sIFsxMy40MjUwMzEsIDUyLjQ4Nzg1Ml0sIFsxMy40MjUxNSwgNTIuNDg3ODA4XSwgWzEzLjQyNTQxMiwgNTIuNDg3ODY0XSwgWzEzLjQyNTM1OSwgNTIuNDg3OTIzXSwgWzEzLjQyNTMyLCA1Mi40ODc5NjhdLCBbMTMuNDI1MjQzLCA1Mi40ODgwODJdLCBbMTMuNDI1MTc0LCA1Mi40ODgxNjldLCBbMTMuNDI1MTQsIDUyLjQ4ODIxNl0sIFsxMy40MjUwNjgsIDUyLjQ4ODMyXSwgWzEzLjQyNDYwMywgNTIuNDg5MTAzXSwgWzEzLjQyNDE0NCwgNTIuNDg5ODc4XSwgWzEzLjQyNDExLCA1Mi40ODk5MzZdLCBbMTMuNDIzODIzLCA1Mi40OTA0MDFdLCBbMTMuNDIzODA1LCA1Mi40OTA0MzFdLCBbMTMuNDIzNjg2LCA1Mi40OTA1NThdLCBbMTMuNDIzNDc1LCA1Mi40OTA4OTNdLCBbMTMuNDIzMzU3LCA1Mi40OTEwODVdLCBbMTMuNDIzMjE5LCA1Mi40OTEzNF0sIFsxMy40MjMxNTgsIDUyLjQ5MTQ0N10sIFsxMy40MjI5NzMsIDUyLjQ5MTc0OV0sIFsxMy40MjI3MTUsIDUyLjQ5MjE2M10sIFsxMy40MjI0NjYsIDUyLjQ5MjU1N10sIFsxMy40MjIyODksIDUyLjQ5Mjg1MV0sIFsxMy40MjIyMDcsIDUyLjQ5Mjk4MV0sIFsxMy40MjIxMjcsIDUyLjQ5MzEwNF0sIFsxMy40MjE3NjEsIDUyLjQ5MzY2NV0sIFsxMy40MjE0ODMsIDUyLjQ5NDA5MV0sIFsxMy40MjEzNjIsIDUyLjQ5NDI3OF0sIFsxMy40MjA1NjEsIDUyLjQ5NTUxNV0sIFsxMy40MjA1LCA1Mi40OTU2MDNdLCBbMTMuNDIwNDQ5LCA1Mi40OTU2NTddLCBbMTMuNDIwMjQ3LCA1Mi40OTU4NF0sIFsxMy40MjAyMDQsIDUyLjQ5NTg4Ml0sIFsxMy40MjAwMjUsIDUyLjQ5NjE3XSwgWzEzLjQxOTk2NSwgNTIuNDk2MjUyXSwgWzEzLjQxOTk0NCwgNTIuNDk2Mjg2XSwgWzEzLjQxOTkwMiwgNTIuNDk2MzY4XSwgWzEzLjQxOTg3MiwgNTIuNDk2NDE1XSwgWzEzLjQxOTgwNiwgNTIuNDk2NTEyXSwgWzEzLjQxOTcwNiwgNTIuNDk2Njg2XSwgWzEzLjQxODcyMywgNTIuNDk4NDAxXSwgWzEzLjQxODY5OSwgNTIuNDk4NDM4XSwgWzEzLjQxODY3NywgNTIuNDk4NDcyXSwgWzEzLjQxODYwNywgNTIuNDk4NzQxXSwgWzEzLjQxODU4OSwgNTIuNDk4ODU5XSwgWzEzLjQxODYyMSwgNTIuNDk4ODhdLCBbMTMuNDE4ODA5LCA1Mi40OTg5MDJdLCBbMTMuNDE4OTEsIDUyLjQ5ODkxMV0sIFsxMy40MTkxNjcsIDUyLjQ5ODkzNV0sIFsxMy40MTkzMTIsIDUyLjQ5ODk0OF0sIFsxMy40MTk0NzEsIDUyLjQ5ODk2M10sIFsxMy40MjAwMjksIDUyLjQ5OTAwM10sIFsxMy40MjIwMzksIDUyLjQ5OTAyNl0sIFsxMy40MjIyMzIsIDUyLjQ5OTAyOV0sIFsxMy40MjI0NjEsIDUyLjQ5OTAzM10sIFsxMy40MjI5NDYsIDUyLjQ5OTA0MV0sIFsxMy40MjMwMzUsIDUyLjQ5OTA0M10sIFsxMy40MjUwODMsIDUyLjQ5OTA3OV0sIFsxMy40MjU1NDYsIDUyLjQ5OTA4N10sIFsxMy40MjU3MzYsIDUyLjQ5OTA5MV0sIFsxMy40MjU5NzUsIDUyLjQ5OTA5OF0sIFsxMy40MjYyMDUsIDUyLjQ5OTEwNV0sIFsxMy40MjY1NDUsIDUyLjQ5OTExNF0sIFsxMy40MjY4MzYsIDUyLjQ5OTExNV0sIFsxMy40MjcwMTUsIDUyLjQ5OTA2XSwgWzEzLjQyNzMwNiwgNTIuNDk4OTY4XSwgWzEzLjQyNzQ4NCwgNTIuNDk4OTFdLCBbMTMuNDI5NjIyLCA1Mi40OTgxN10sIFsxMy40Mjk0NzUsIDUyLjQ5ODAyNF0sIFsxMy40Mjk2MjIsIDUyLjQ5ODE3XSwgWzEzLjQyOTcyMywgNTIuNDk4MjYyXSwgWzEzLjQyODUzLCA1Mi40OTg2NzVdLCBbMTMuNDI3OTYsIDUyLjQ5ODg2NV0sIFsxMy40MjcyMzUsIDUyLjQ5OTEwNF0sIFsxMy40MjcxNTcsIDUyLjQ5OTEyN10sIFsxMy40MjY1NDEsIDUyLjQ5OTI2N10sIFsxMy40MjYzNDcsIDUyLjQ5OTI1NV0sIFsxMy40MjY0MDgsIDUyLjQ5OTMyXSwgWzEzLjQyNjE4NiwgNTIuNDk5MzgxXSwgWzEzLjQyNjEzLCA1Mi40OTkzOTVdLCBbMTMuNDI1OTI3LCA1Mi40OTk0NDldLCBbMTMuNDI1MjIyLCA1Mi40OTk2NDRdLCBbMTMuNDI0OSwgNTIuNDk5NzMzXSwgWzEzLjQyMzU5MSwgNTIuNTAwMDk2XSwgWzEzLjQyMzIzOCwgNTIuNTAwMTkzXSwgWzEzLjQyMzE5MywgNTIuNTAwMjA2XSwgWzEzLjQyMzA3NCwgNTIuNTAwMjM5XSwgWzEzLjQyMjk0NCwgNTIuNTAwMjc1XSwgWzEzLjQyMjg5LCA1Mi41MDAyOV0sIFsxMy40MjI1NTQsIDUyLjUwMDM4M10sIFsxMy40MjI0MzksIDUyLjUwMDQxNF0sIFsxMy40MjA3NzQsIDUyLjUwMDg3NV0sIFsxMy40MjAzMTYsIDUyLjUwMTAwMV0sIFsxMy40MTk2NDEsIDUyLjUwMTE4Nl0sIFsxMy40MTk0NTUsIDUyLjUwMTIzN10sIFsxMy40MTkyNzcsIDUyLjUwMTI4Nl0sIFsxMy40MTkzNDQsIDUyLjUwMTM3OF0sIFsxMy40MTk0NDcsIDUyLjUwMTUxOF0sIFsxMy40MTk5MSwgNTIuNTAyMTUxXSwgWzEzLjQxOTQ0NywgNTIuNTAxNTE4XSwgWzEzLjQxOTM0NCwgNTIuNTAxMzc4XSwgWzEzLjQxOTI3NywgNTIuNTAxMjg2XSwgWzEzLjQxOTIxLCA1Mi41MDExODhdLCBbMTMuNDE5MTIxLCA1Mi41MDEwNTddLCBbMTMuNDE4ODQ3LCA1Mi41MDA2Nl0sIFsxMy40MTg4MzksIDUyLjUwMDY0OF0sIFsxMy40MTg2OTgsIDUyLjUwMDQ1OF0sIFsxMy40MTg1NCwgNTIuNTAwMjM2XSwgWzEzLjQxODUwOCwgNTIuNTAwMTkzXSwgWzEzLjQxODQ4NywgNTIuNTAwMTYzXSwgWzEzLjQxODQ0MSwgNTIuNTAwMTAxXSwgWzEzLjQxODQyNiwgNTIuNTAwMDhdLCBbMTMuNDE4NDE3LCA1Mi41MDAwNjhdLCBbMTMuNDE4MTQyLCA1Mi40OTk2OTJdLCBbMTMuNDE4MTA2LCA1Mi40OTk2MzZdLCBbMTMuNDE4MDk1LCA1Mi40OTk1ODJdLCBbMTMuNDE4MTE0LCA1Mi40OTk0NzldLCBbMTMuNDE4MTM3LCA1Mi40OTk0MzldLCBbMTMuNDE4MTY0LCA1Mi40OTkzMzZdLCBbMTMuNDE4MDg0LCA1Mi40OTkzMjJdLCBbMTMuNDE4MDEsIDUyLjQ5OTNdLCBbMTMuNDE3OTUyLCA1Mi40OTkyNzRdLCBbMTMuNDE3OTAxLCA1Mi40OTkyNDNdLCBbMTMuNDE3ODU4LCA1Mi40OTkyMDddLCBbMTMuNDE3ODM0LCA1Mi40OTkxOF0sIFsxMy40MTc4MTQsIDUyLjQ5OTE1MV0sIFsxMy40MTc3ODksIDUyLjQ5OTA3Nl0sIFsxMy40MTc3OTgsIDUyLjQ5ODk5OV0sIFsxMy40MTc4NCwgNTIuNDk4OTI3XSwgWzEzLjQxNzkxMiwgNTIuNDk4ODY0XSwgWzEzLjQxODAwOSwgNTIuNDk4ODE2XSwgWzEzLjQxODEwNCwgNTIuNDk4Nzg4XSwgWzEzLjQxODMwOSwgNTIuNDk4Nzc1XSwgWzEzLjQxODQxMSwgNTIuNDk4Nzg5XSwgWzEzLjQxODQ4MiwgNTIuNDk4NzA0XSwgWzEzLjQxODUxMywgNTIuNDk4NjM1XSwgWzEzLjQxODUyLCA1Mi40OTg0MzhdLCBbMTMuNDE4NTM1LCA1Mi40OTg0MDRdLCBbMTMuNDE5NDAxLCA1Mi40OTY4MTVdLCBbMTMuNDE5NTE4LCA1Mi40OTY2NDddLCBbMTMuNDE5NTcyLCA1Mi40OTY1NjldLCBbMTMuNDE5NjQ3LCA1Mi40OTY0NzhdLCBbMTMuNDE5NzAzLCA1Mi40OTY0XSwgWzEzLjQxOTczMSwgNTIuNDk2MzYxXSwgWzEzLjQxOTg2MSwgNTIuNDk2MjMxXSwgWzEzLjQxOTkwNiwgNTIuNDk2MTgyXSwgWzEzLjQyMDA4NiwgNTIuNDk1ODkxXSwgWzEzLjQyMDEzNSwgNTIuNDk1ODI4XSwgWzEzLjQyMDM0NSwgNTIuNDk1NjIzXSwgWzEzLjQyMDM2NCwgNTIuNDk1NTk2XSwgWzEzLjQyMDQyNiwgNTIuNDk1NTEzXSwgWzEzLjQyMTc4MywgNTIuNDkzMzQ1XSwgWzEzLjQyMTk4NCwgNTIuNDkzMDcxXSwgWzEzLjQyMjA1NSwgNTIuNDkyOTU5XSwgWzEzLjQyMTg2NiwgNTIuNDkyOTM1XSwgWzEzLjQyMTgxNiwgNTIuNDkyOTMxXSwgWzEzLjQyMTYyNiwgNTIuNDkyOTQyXSwgWzEzLjQyMTYwNSwgNTIuNDkyODk1XSwgWzEzLjQyMDkzLCA1Mi40OTE5MDJdLCBbMTMuNDIwMTI5LCA1Mi40OTE2OTZdLCBbMTMuNDE5ODIsIDUyLjQ5MTc3NV0sIFsxMy40MjAxMjksIDUyLjQ5MTY5Nl0sIFsxMy40MjA0NjMsIDUyLjQ5MTIxXSwgWzEzLjQxOTczNSwgNTIuNDkwMTU3XSwgWzEzLjQxOTY2NSwgNTIuNDkwMDU0XSwgWzEzLjQxOTUzNSwgNTIuNDkwMDkxXSwgWzEzLjQxNzIyNCwgNTIuNDkwNzM3XSwgWzEzLjQxNzE1LCA1Mi40OTA3NThdLCBbMTMuNDE2NjMzLCA1Mi40OTA5MDFdLCBbMTMuNDE2NDY3LCA1Mi40OTA5NDVdLCBbMTMuNDE2NDE4LCA1Mi40OTA5NTldLCBbMTMuNDE2MTk5LCA1Mi40OTEwMTldLCBbMTMuNDE2MDM0LCA1Mi40OTEwNjJdLCBbMTMuNDE1NzYzLCA1Mi40OTExMzZdLCBbMTMuNDE1Njg3LCA1Mi40OTExNTddLCBbMTMuNDEzNzYyLCA1Mi40OTE2OTddLCBbMTMuNDEzNjk5LCA1Mi40OTE3MTZdLCBbMTMuNDEzNDQzLCA1Mi40OTE3OTZdLCBbMTMuNDEzMzgyLCA1Mi40OTE4MTVdLCBbMTMuNDEzMjY4LCA1Mi40OTE4NTJdLCBbMTMuNDEyNzc4LCA1Mi40OTE5OTZdLCBbMTMuNDEyNjMsIDUyLjQ5MjA0MV0sIFsxMy40MTI1MzMsIDUyLjQ5MjA2N10sIFsxMy40MTIzMTQsIDUyLjQ5MjEyMV0sIFsxMy40MTIyNDEsIDUyLjQ5MjE0MV0sIFsxMy40MTIxMTYsIDUyLjQ5MjE3Nl0sIFsxMy40MDk2NDQsIDUyLjQ5Mjg1Nl0sIFsxMy40MDk0ODMsIDUyLjQ5Mjg5NV0sIFsxMy40MDg4MSwgNTIuNDkzMDM4XSwgWzEzLjQwODI4MiwgNTIuNDkzMTQ2XSwgWzEzLjQwNzI0NCwgNTIuNDkzMzE0XSwgWzEzLjQwNjMwOCwgNTIuNDkzNDY4XSwgWzEzLjQwNjIsIDUyLjQ5MzQ4N10sIFsxMy40MDYwMTcsIDUyLjQ5MzUxOV0sIFsxMy40MDU4NjgsIDUyLjQ5MzU0Ml0sIFsxMy40MDU3MTUsIDUyLjQ5MzU2NF0sIFsxMy40MDQyODYsIDUyLjQ5Mzc5NF0sIFsxMy40MDM3NDIsIDUyLjQ5Mzg4NF0sIFsxMy40MDM2ODksIDUyLjQ5Mzg5M10sIFsxMy40MDM1MTMsIDUyLjQ5MzkyMl0sIFsxMy40MDMwNzMsIDUyLjQ5NF0sIFsxMy40MDI4OTIsIDUyLjQ5NDAzXSwgWzEzLjQwMjg0MywgNTIuNDkzOTEzXSwgWzEzLjQwMjgyMywgNTIuNDkzODM0XSwgWzEzLjQwMjc3OSwgNTIuNDkzNjUxXSwgWzEzLjQwMjcyNSwgNTIuNDkzNDMyXSwgWzEzLjQwMjYzMSwgNTIuNDkzMzA0XSwgWzEzLjQwMjEyLCA1Mi40OTI2NjRdLCBbMTMuNDAyMDM3LCA1Mi40OTI1Nl0sIFsxMy40MDE5NTcsIDUyLjQ5MjQ1NV0sIFsxMy40MDA1MSwgNTIuNDkwNTk1XSwgWzEzLjQwMDQ0NSwgNTIuNDkwNTE0XSwgWzEzLjQwMDMxMSwgNTIuNDkwNTM5XSwgWzEzLjQwMDI5NiwgNTIuNDkwNTQxXSwgWzEzLjM5Nzk3MiwgNTIuNDkwOTk3XSwgWzEzLjM5NjU4NiwgNTIuNDkxMjg5XSwgWzEzLjM5NjQyMywgNTIuNDkxMzI0XSwgWzEzLjM5NDc0NSwgNTIuNDkxNjZdLCBbMTMuMzk0NjMyLCA1Mi40OTE2ODJdLCBbMTMuMzk0NDY2LCA1Mi40OTE3MTddLCBbMTMuMzk0MzEzLCA1Mi40OTE3NDZdLCBbMTMuMzkyNzc0LCA1Mi40OTIwNTJdLCBbMTMuMzkxMDg4LCA1Mi40OTIzODJdLCBbMTMuMzkxMDM0LCA1Mi40OTIzOTJdLCBbMTMuMzkwOTE2LCA1Mi40OTI0MTVdLCBbMTMuMzkwNzczLCA1Mi40OTI0NDNdLCBbMTMuMzg5NDQ2LCA1Mi40OTI3XSwgWzEzLjM4ODY4MSwgNTIuNDkyODVdLCBbMTMuMzg4NDQ1LCA1Mi40OTI4OTZdLCBbMTMuMzg4NDE2LCA1Mi40OTI4OTldLCBbMTMuMzg4MTU4LCA1Mi40OTI5NDhdLCBbMTMuMzg4MDQ2LCA1Mi40OTI5NjldLCBbMTMuMzg3ODkxLCA1Mi40OTI5OThdLCBbMTMuMzg3Nzc3LCA1Mi40OTMwMjNdLCBbMTMuMzg3NjU0LCA1Mi40OTMwNDZdLCBbMTMuMzg3NTUsIDUyLjQ5MzA2OF0sIFsxMy4zODc0NjgsIDUyLjQ5MzA4M10sIFsxMy4zODcwMjcsIDUyLjQ5MzE3M10sIFsxMy4zODY5NzgsIDUyLjQ5MzE4Ml0sIFsxMy4zODY1MjUsIDUyLjQ5MzI2Nl0sIFsxMy4zODYyMjksIDUyLjQ5MzMxOV0sIFsxMy4zODQ3ODcsIDUyLjQ5MzU3OV0sIFsxMy4zODQxMDcsIDUyLjQ5MzcxMl0sIFsxMy4zODM5ODQsIDUyLjQ5MzczNV0sIFsxMy4zODM3NTQsIDUyLjQ5Mzc2OV0sIFsxMy4zODM1ODMsIDUyLjQ5Mzc4NF0sIFsxMy4zODM2MTgsIDUyLjQ5Mzg4Nl0sIFsxMy4zODM2MzMsIDUyLjQ5MzkzXSwgWzEzLjM4Mzk4OSwgNTIuNDk1MDE5XSwgWzEzLjM4NDA0LCA1Mi40OTUxNzVdLCBbMTMuMzg0MTk5LCA1Mi40OTU2MzhdLCBbMTMuMzg0NTM1LCA1Mi40OTY2MjJdLCBbMTMuMzg0NTcxLCA1Mi40OTY3MjhdLCBbMTMuMzg0NjA1LCA1Mi40OTY4MjhdLCBbMTMuMzg1MTQxLCA1Mi40OTgzNzddLCBbMTMuMzg1MTgsIDUyLjQ5ODQ5XSwgWzEzLjM4NTM2LCA1Mi40OTg0NDddLCBbMTMuMzg4NzU4LCA1Mi40OTc2NF0sIFsxMy4zODg5MzEsIDUyLjQ5NzYxM10sIFsxMy4zODkyMTUsIDUyLjQ5NzU2OV0sIFsxMy4zODkzNjQsIDUyLjQ5NzU0NV0sIFsxMy4zODk3MzYsIDUyLjQ5NzQ4NV0sIFsxMy4zOTA1NTIsIDUyLjQ5NzQwN10sIFsxMy4zOTA5NTgsIDUyLjQ5NzM3OF0sIFsxMy4zOTEzODMsIDUyLjQ5NzM3Ml0sIFsxMy4zOTE4MDksIDUyLjQ5NzM3N10sIFsxMy4zOTIwNCwgNTIuNDk3Mzg0XSwgWzEzLjM5MjI4OSwgNTIuNDk3MzkzXSwgWzEzLjM5Mjk0NSwgNTIuNDk3NDM1XSwgWzEzLjM5NDc1NSwgNTIuNDk3NjA1XSwgWzEzLjM5NTAxNywgNTIuNDk3NjUzXSwgWzEzLjM5NTM0NCwgNTIuNDk3NzM2XSwgWzEzLjM5NTQyMiwgNTIuNDk3NzU4XSwgWzEzLjM5NTU5NSwgNTIuNDk3ODA2XSwgWzEzLjM5NTg1NiwgNTIuNDk3ODg0XSwgWzEzLjM5NjA0OCwgNTIuNDk3OTY1XSwgWzEzLjM5NjE1MiwgNTIuNDk3OTk4XSwgWzEzLjM5NjU1LCA1Mi40OTgxMTVdLCBbMTMuMzk2OTU1LCA1Mi40OTgxOTFdLCBbMTMuMzk3MjQ1LCA1Mi40OTgyNF0sIFsxMy4zOTc3MjQsIDUyLjQ5ODI2NV0sIFsxMy4zOTg1MTMsIDUyLjQ5ODI2OV0sIFsxMy4zOTkyMzcsIDUyLjQ5ODI3M10sIFsxMy4zOTkyODksIDUyLjQ5ODI3M10sIFsxMy4zOTk1MTYsIDUyLjQ5ODI3NF0sIFsxMy4zOTk3MTgsIDUyLjQ5ODI3Nl0sIFsxMy40MDI5NzMsIDUyLjQ5ODMwMl0sIFsxMy40MDU3NTQsIDUyLjQ5ODMxMV0sIFsxMy40MDY0MzYsIDUyLjQ5ODMxNF0sIFsxMy40MDY1NjQsIDUyLjQ5ODMxNV0sIFsxMy40MDY4NDcsIDUyLjQ5ODMyMl0sIFsxMy40MDg1NzgsIDUyLjQ5ODM1OF0sIFsxMy40MDkzMjYsIDUyLjQ5ODQwOF0sIFsxMy40MDkzNjUsIDUyLjQ5ODQwOV0sIFsxMy40MDk1NzMsIDUyLjQ5ODQxOV0sIFsxMy40MDk5OTksIDUyLjQ5ODQzOV0sIFsxMy40MTA1NjUsIDUyLjQ5ODQ3Ml0sIFsxMy40MTE4NzEsIDUyLjQ5ODUyMl0sIFsxMy40MTIxOTQsIDUyLjQ5ODUzMl0sIFsxMy40MTI4NTIsIDUyLjQ5ODUxOV0sIFsxMy40MTM0NjYsIDUyLjQ5ODQ3Nl0sIFsxMy40MTQwNzcsIDUyLjQ5ODQzN10sIFsxMy40MTQyNzcsIDUyLjQ5ODQ0Ml0sIFsxMy40MTU4NSwgNTIuNDk4NjhdLCBbMTMuNDE2NzgxLCA1Mi40OTg4MDFdLCBbMTMuNDE2OTU5LCA1Mi40OTg4MTddLCBbMTMuNDE3MDYxLCA1Mi40OTg4MjNdLCBbMTMuNDE3MzEsIDUyLjQ5ODgzNF0sIFsxMy40MTc0MDgsIDUyLjQ5ODgzNl0sIFsxMy40MTc2MTcsIDUyLjQ5ODgzOV0sIFsxMy40MTc3MiwgNTIuNDk4ODM1XSwgWzEzLjQxODAwOSwgNTIuNDk4ODE2XSwgWzEzLjQxODEwNCwgNTIuNDk4Nzg4XSwgWzEzLjQxODMwOSwgNTIuNDk4Nzc1XSwgWzEzLjQxODQxMSwgNTIuNDk4Nzg5XSwgWzEzLjQxODU4OSwgNTIuNDk4ODU5XSwgWzEzLjQxODYyMSwgNTIuNDk4ODhdLCBbMTMuNDE4ODA5LCA1Mi40OTg5MDJdLCBbMTMuNDE4OTEsIDUyLjQ5ODkxMV0sIFsxMy40MTkxNjcsIDUyLjQ5ODkzNV0sIFsxMy40MTkzMTIsIDUyLjQ5ODk0OF0sIFsxMy40MTk0NzEsIDUyLjQ5ODk2M10sIFsxMy40MjAwMjksIDUyLjQ5OTAwM10sIFsxMy40MjIwMzksIDUyLjQ5OTAyNl0sIFsxMy40MjIyMzIsIDUyLjQ5OTAyOV0sIFsxMy40MjIzNzEsIDUyLjQ5OTE4OF0sIFsxMy40MjIxMDksIDUyLjQ5OTE4Nl0sIFsxMy40MTk5MjEsIDUyLjQ5OTE2N10sIFsxMy40MTk0ODksIDUyLjQ5OTE2MV0sIFsxMy40MTkzNjMsIDUyLjQ5OTE2XSwgWzEzLjQxOTE3OCwgNTIuNDk5MTU2XSwgWzEzLjQxODg0MSwgNTIuNDk5MTU2XSwgWzEzLjQxODY5MSwgNTIuNDk5MTZdLCBbMTMuNDE4NjU1LCA1Mi40OTkyMDVdLCBbMTMuNDE4NDgsIDUyLjQ5OTMwN10sIFsxMy40MTgyNDUsIDUyLjQ5OTM0Ml0sIFsxMy40MTgxNjQsIDUyLjQ5OTMzNl0sIFsxMy40MTgwODQsIDUyLjQ5OTMyMl0sIFsxMy40MTgwMSwgNTIuNDk5M10sIFsxMy40MTc5NTIsIDUyLjQ5OTI3NF0sIFsxMy40MTc5MDEsIDUyLjQ5OTI0M10sIFsxMy40MTc4NTgsIDUyLjQ5OTIwN10sIFsxMy40MTc4MzQsIDUyLjQ5OTE4XSwgWzEzLjQxNzgxNCwgNTIuNDk5MTUxXSwgWzEzLjQxNzc4OSwgNTIuNDk5MDc2XSwgWzEzLjQxNzc5OCwgNTIuNDk4OTk5XSwgWzEzLjQxNzg0LCA1Mi40OTg5MjddLCBbMTMuNDE3OTEyLCA1Mi40OTg4NjRdLCBbMTMuNDE4MDA5LCA1Mi40OTg4MTZdLCBbMTMuNDE4MTA0LCA1Mi40OTg3ODhdLCBbMTMuNDE4MzA5LCA1Mi40OTg3NzVdLCBbMTMuNDE4NDExLCA1Mi40OTg3ODldLCBbMTMuNDE4NTg5LCA1Mi40OTg4NTldLCBbMTMuNDE4NjIxLCA1Mi40OTg4OF0sIFsxMy40MTg4MDksIDUyLjQ5ODkwMl0sIFsxMy40MTg5MSwgNTIuNDk4OTExXSwgWzEzLjQxOTE2NywgNTIuNDk4OTM1XSwgWzEzLjQxOTMxMiwgNTIuNDk4OTQ4XSwgWzEzLjQxOTQ3MSwgNTIuNDk4OTYzXSwgWzEzLjQyMDAyOSwgNTIuNDk5MDAzXSwgWzEzLjQyMjAzOSwgNTIuNDk5MDI2XSwgWzEzLjQyMjIzMiwgNTIuNDk5MDI5XSwgWzEzLjQyMjQ2MSwgNTIuNDk5MDMzXSwgWzEzLjQyMjk0NiwgNTIuNDk5MDQxXSwgWzEzLjQyMzAzNSwgNTIuNDk5MDQzXSwgWzEzLjQyNTA4MywgNTIuNDk5MDc5XSwgWzEzLjQyNTU0NiwgNTIuNDk5MDg3XSwgWzEzLjQyNTczNiwgNTIuNDk5MDkxXSwgWzEzLjQyNTk3NSwgNTIuNDk5MDk4XSwgWzEzLjQyNjIwNSwgNTIuNDk5MTA1XSwgWzEzLjQyNjU0NSwgNTIuNDk5MTE0XSwgWzEzLjQyNjgzNiwgNTIuNDk5MTE1XSwgWzEzLjQyNzE1NywgNTIuNDk5MTI3XSwgWzEzLjQyNzM4NywgNTIuNDk5MTRdLCBbMTMuNDI3OTc3LCA1Mi40OTkxNzJdLCBbMTMuNDI5NzY5LCA1Mi40OTkzMDhdLCBbMTMuNDMwMDgxLCA1Mi40OTkzMTZdLCBbMTMuNDMwMjU0LCA1Mi40OTkzMDFdLCBbMTMuNDMwMzk1LCA1Mi40OTkyOF0sIFsxMy40MzA2MzEsIDUyLjQ5OTI0NV0sIFsxMy40MzA4MywgNTIuNDk5MjI0XSwgWzEzLjQzMTAzLCA1Mi40OTkyMjFdLCBbMTMuNDMxMTUsIDUyLjQ5OTIxOV0sIFsxMy40MzEyMzgsIDUyLjQ5OTIyNl0sIFsxMy40MzE4ODgsIDUyLjQ5OTMxXSwgWzEzLjQzMjA4NiwgNTIuNDk5MzM3XSwgWzEzLjQzMjY3NywgNTIuNDk5NDI2XSwgWzEzLjQzMzA0NywgNTIuNDk5NDc2XSwgWzEzLjQzNTY3NSwgNTIuNDk5ODU5XSwgWzEzLjQzNjU3NywgNTIuNDk5OTkyXSwgWzEzLjQzNzcyNywgNTIuNTAwMTYzXSwgWzEzLjQzNzgzNCwgNTIuNTAwMTc5XSwgWzEzLjQzODAwMSwgNTIuNTAwMjA0XSwgWzEzLjQzODE5NywgNTIuNTAwMjMyXSwgWzEzLjQ0MDc5NiwgNTIuNTAwNjA1XSwgWzEzLjQ0MDk3NywgNTIuNTAwNjNdLCBbMTMuNDQxMDM3LCA1Mi41MDA2MjddLCBbMTMuNDQxMTIzLCA1Mi41MDA2MTJdLCBbMTMuNDQxMjAyLCA1Mi41MDA1N10sIFsxMy40NDEyOTMsIDUyLjUwMDUzN10sIFsxMy40NDE0MDYsIDUyLjUwMDUzMV0sIFsxMy40NDE0MTksIDUyLjUwMDQ0Ml0sIFsxMy40NDE0MjIsIDUyLjUwMDM5Ml0sIFsxMy40NDEzNTgsIDUyLjUwMDMwOV0sIFsxMy40NDA0MDIsIDUyLjQ5OTMzN10sIFsxMy40NDAzMTYsIDUyLjQ5OTI0OV0sIFsxMy40Mzk4ODYsIDUyLjQ5OTQyNV0sIFsxMy40MzkyNDYsIDUyLjQ5OTY4OF0sIFsxMy40MzgzMjcsIDUyLjUwMDA3XSwgWzEzLjQzODEzMiwgNTIuNTAwMTVdLCBbMTMuNDM4MDAxLCA1Mi41MDAyMDRdLCBbMTMuNDM3NzA0LCA1Mi41MDAzM10sIFsxMy40Mzc1MiwgNTIuNTAwMzAyXSwgWzEzLjQzNjYyLCA1Mi41MDAxNjddLCBbMTMuNDM1NjE4LCA1Mi41MDAwMTddLCBbMTMuNDM0NjU2LCA1Mi40OTk4NzJdLCBbMTMuNDM0NTc5LCA1Mi40OTk4NjFdLCBbMTMuNDMzMjI3LCA1Mi40OTk2NjRdLCBbMTMuNDMyODM1LCA1Mi40OTk2MDZdLCBbMTMuNDMyMDE2LCA1Mi40OTk0ODZdLCBbMTMuNDMxODY5LCA1Mi40OTk0NjVdLCBbMTMuNDMxMzU0LCA1Mi40OTkzOTRdLCBbMTMuNDMwOTg3LCA1Mi40OTkzNzddLCBbMTMuNDMwNzk1LCA1Mi40OTkzODVdLCBbMTMuNDMwMjcsIDUyLjQ5OTQ0Nl0sIFsxMy40MzAxLCA1Mi40OTk0NTJdLCBbMTMuNDI5OTI3LCA1Mi40OTk0NTRdLCBbMTMuNDI3MDkxLCA1Mi40OTkyODJdLCBbMTMuNDI2NTQxLCA1Mi40OTkyNjddLCBbMTMuNDI2MzQ3LCA1Mi40OTkyNTVdLCBbMTMuNDI2MDg5LCA1Mi40OTkyNDhdLCBbMTMuNDI1NzcsIDUyLjQ5OTIzNV0sIFsxMy40MjU1NTksIDUyLjQ5OTIzXSwgWzEzLjQyNTA3OSwgNTIuNDk5MjJdLCBbMTMuNDI0NDk1LCA1Mi40OTkyMDhdLCBbMTMuNDI0MDUyLCA1Mi40OTkxOTldLCBbMTMuNDIzMDMyLCA1Mi40OTkxOTJdLCBbMTMuNDIyNTkxLCA1Mi40OTkxOV0sIFsxMy40MjI1MTQsIDUyLjQ5OTE4OV0sIFsxMy40MjIzNzEsIDUyLjQ5OTE4OF0sIFsxMy40MjIxMDksIDUyLjQ5OTE4Nl0sIFsxMy40MTk5MjEsIDUyLjQ5OTE2N10sIFsxMy40MTkzNjMsIDUyLjQ5OTE2XSwgWzEzLjQxOTE3OCwgNTIuNDk5MTU2XSwgWzEzLjQxODg0MSwgNTIuNDk5MTU2XSwgWzEzLjQxODY5MSwgNTIuNDk5MTZdLCBbMTMuNDE4NjU1LCA1Mi40OTkyMDVdLCBbMTMuNDE4NDgsIDUyLjQ5OTMwN10sIFsxMy40MTgyNDUsIDUyLjQ5OTM0Ml0sIFsxMy40MTgxNjQsIDUyLjQ5OTMzNl0sIFsxMy40MTgwODQsIDUyLjQ5OTMyMl0sIFsxMy40MTgwMSwgNTIuNDk5M10sIFsxMy40MTc5NTIsIDUyLjQ5OTI3NF0sIFsxMy40MTc5MDEsIDUyLjQ5OTI0M10sIFsxMy40MTc4NTgsIDUyLjQ5OTIwN10sIFsxMy40MTc4MzQsIDUyLjQ5OTE4XSwgWzEzLjQxNzgxNCwgNTIuNDk5MTUxXSwgWzEzLjQxNzY4NCwgNTIuNDk5MDk1XSwgWzEzLjQxNzU5LCA1Mi40OTkwNDldLCBbMTMuNDE3NDQ0LCA1Mi40OTkwMThdLCBbMTMuNDE0MzM3LCA1Mi40OTg2MDRdLCBbMTMuNDE0MTA4LCA1Mi40OTg1OTJdLCBbMTMuNDEzODA3LCA1Mi40OTg1OTJdLCBbMTMuNDEyNTQxLCA1Mi40OTg2NzJdLCBbMTMuNDEyMjI5LCA1Mi40OTg2NzFdLCBbMTMuNDExODY5LCA1Mi40OTg2NTJdLCBbMTMuNDEwNTU1LCA1Mi40OTg1ODhdLCBbMTMuNDEwNDcsIDUyLjQ5ODU4Nl0sIFsxMy40MTAwNDcsIDUyLjQ5ODU1OF0sIFsxMy40MDkzMDksIDUyLjQ5ODUyNV0sIFsxMy40MDg4NjMsIDUyLjQ5ODUwMl0sIFsxMy40MDY5MzgsIDUyLjQ5ODQ2OV0sIFsxMy40MDY2NzIsIDUyLjQ5ODQ2OF0sIFsxMy40MDY1MzksIDUyLjQ5ODQ2N10sIFsxMy40MDU4NjYsIDUyLjQ5ODQ2M10sIFsxMy40MDMwNzIsIDUyLjQ5ODQ0Ml0sIFsxMy40MDA1ODQsIDUyLjQ5ODQxMl0sIFsxMy4zOTk4NiwgNTIuNDk4NDA5XSwgWzEzLjM5OTgxMiwgNTIuNDk4NDA5XSwgWzEzLjM5OTYyNCwgNTIuNDk4NDA4XSwgWzEzLjM5OTM4MSwgNTIuNDk4NDA3XSwgWzEzLjM5NjM4NCwgNTIuNDk4Mzg2XSwgWzEzLjM5NjExOCwgNTIuNDk4MzY3XSwgWzEzLjM5NTk2MiwgNTIuNDk4MzU3XSwgWzEzLjM5NTczLCA1Mi40OTgzNDFdLCBbMTMuMzk1Njc1LCA1Mi40OTgwMjJdLCBbMTMuMzk1NjY5LCA1Mi40OTc5OTZdLCBbMTMuMzk1NjUsIDUyLjQ5Nzk0N10sIFsxMy4zOTU1OTUsIDUyLjQ5NzgwNl0sIFsxMy4zOTU1NzYsIDUyLjQ5Nzc1N10sIFsxMy4zOTU1NTcsIDUyLjQ5NzcwNl0sIFsxMy4zOTUzOSwgNTIuNDk3NDI5XSwgWzEzLjM5NTIxNywgNTIuNDk3MTA4XSwgWzEzLjM5NTE2NCwgNTIuNDk2OTUzXSwgWzEzLjM5NTE0MiwgNTIuNDk2ODg5XSwgWzEzLjM5NTA4NywgNTIuNDk2NjY2XSwgWzEzLjM5NTA1NSwgNTIuNDk2NDQ5XSwgWzEzLjM5NTAzOCwgNTIuNDk2MzYxXSwgWzEzLjM5NTAyNCwgNTIuNDk2Mjc5XSwgWzEzLjM5NDg1NiwgNTIuNDk2Mjg3XSwgWzEzLjM5NDYwMywgNTIuNDk2Mjk1XSwgWzEzLjM5NDQ3MSwgNTIuNDk2Mjk1XSwgWzEzLjM5NDA1NywgNTIuNDk2MjgzXSwgWzEzLjM5MzYwMywgNTIuNDk2MjVdLCBbMTMuMzkxMTk2LCA1Mi40OTU5OTddLCBbMTMuMzkwNjk0LCA1Mi40OTU5NjRdLCBbMTMuMzkwNTI2LCA1Mi40OTU5NjVdLCBbMTMuMzkwMjQ5LCA1Mi40OTU5NjddLCBbMTMuMzg5NzczLCA1Mi40OTYwMzhdLCBbMTMuMzg5NjE2LCA1Mi40OTYwNjJdLCBbMTMuMzg5MzQ5LCA1Mi40OTYxMDldLCBbMTMuMzg5Mzc4LCA1Mi40OTU5NjJdLCBbMTMuMzg5Mzg2LCA1Mi40OTU5MjFdLCBbMTMuMzg5NDE1LCA1Mi40OTU3OTddLCBbMTMuMzg5NDI5LCA1Mi40OTU2NjRdLCBbMTMuMzg5NDM0LCA1Mi40OTU1NjFdLCBbMTMuMzg5Mzc3LCA1Mi40OTUzMTFdLCBbMTMuMzg5Mjk4LCA1Mi40OTUxNThdLCBbMTMuMzg4NTA3LCA1Mi40OTQyMzVdLCBbMTMuMzg4Mjg0LCA1Mi40OTM5NTRdLCBbMTMuMzg4MDMyLCA1Mi40OTM2MjZdLCBbMTMuMzg3OTI4LCA1Mi40OTM0ODNdLCBbMTMuMzg3ODIxLCA1Mi40OTMzMTZdLCBbMTMuMzg3NzQ1LCA1Mi40OTMxOTVdLCBbMTMuMzg3NzE4LCA1Mi40OTMxNTJdLCBbMTMuMzg3NjU0LCA1Mi40OTMwNDZdLCBbMTMuMzg3NTAzLCA1Mi40OTI4MTNdLCBbMTMuMzg3NDQxLCA1Mi40OTI3MTRdLCBbMTMuMzg3NDI0LCA1Mi40OTI2ODhdLCBbMTMuMzg3MzUzLCA1Mi40OTI1NjldLCBbMTMuMzg3MzI1LCA1Mi40OTI1MDZdLCBbMTMuMzg2NzY1LCA1Mi40OTEyODNdLCBbMTMuMzg2NSwgNTIuNDkwNTddLCBbMTMuMzg2MzYsIDUyLjQ5MDE1N10sIFsxMy4zODYzMzMsIDUyLjQ5MDA2Ml0sIFsxMy4zODY1MjUsIDUyLjQ5MDA2M10sIFsxMy4zODY1NjIsIDUyLjQ5MDE2M10sIFsxMy4zODY2NjIsIDUyLjQ5MDQzOF1dLCAidHlwZSI6ICJMaW5lU3RyaW5nIn0sICJwcm9wZXJ0aWVzIjogeyJleHRyYXMiOiB7InJvYWRhY2Nlc3NyZXN0cmljdGlvbnMiOiB7InN1bW1hcnkiOiBbeyJhbW91bnQiOiA5OS42MywgImRpc3RhbmNlIjogNTY1ODAuNSwgInZhbHVlIjogMC4wfSwgeyJhbW91bnQiOiAwLjM3LCAiZGlzdGFuY2UiOiAyMDcuOCwgInZhbHVlIjogNC4wfV0sICJ2YWx1ZXMiOiBbWzAsIDc0MywgMF0sIFs3NDMsIDc0NSwgNF0sIFs3NDUsIDE1NjAsIDBdLCBbMTU2MCwgMTU2NSwgNF0sIFsxNTY1LCAxNjkyLCAwXV19fSwgImhpZ2hsaWdodCI6IHt9LCAic2VnbWVudHMiOiBbeyJkaXN0YW5jZSI6IDYxNi4xLCAiZHVyYXRpb24iOiA3MC41LCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDI5Ny4wLCAiZHVyYXRpb24iOiAzMS42LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBub3J0aCBvbiBNZWhyaW5nZGFtbSwgQiA5NiIsICJuYW1lIjogIk1laHJpbmdkYW1tLCBCIDk2IiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbMCwgMTJdfSwgeyJkaXN0YW5jZSI6IDI2OC4yLCAiZHVyYXRpb24iOiAyNy4yLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gR25laXNlbmF1c3RyYVx1MDBkZmUiLCAibmFtZSI6ICJHbmVpc2VuYXVzdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbMTIsIDIyXX0sIHsiZGlzdGFuY2UiOiA1MC45LCAiZHVyYXRpb24iOiAxMS43LCAiaW5zdHJ1Y3Rpb24iOiAiQ29udGludWUgc3RyYWlnaHQgb250byBZb3Jja3N0cmFcdTAwZGZlIiwgIm5hbWUiOiAiWW9yY2tzdHJhXHUwMGRmZSIsICJ0eXBlIjogNiwgIndheV9wb2ludHMiOiBbMjIsIDI1XX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBZb3Jja3N0cmFcdTAwZGZlLCBvbiB0aGUgcmlnaHQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbMjUsIDI1XX1dfSwgeyJkaXN0YW5jZSI6IDQzMjYuMSwgImR1cmF0aW9uIjogNTIxLjUsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogMjQxLjcsICJkdXJhdGlvbiI6IDIxLjgsICJpbnN0cnVjdGlvbiI6ICJIZWFkIGVhc3Qgb24gWW9yY2tzdHJhXHUwMGRmZSIsICJuYW1lIjogIllvcmNrc3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFsyNSwgMzJdfSwgeyJkaXN0YW5jZSI6IDM3OC43LCAiZHVyYXRpb24iOiA0MC40LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gTWVocmluZ2RhbW0sIEIgOTYiLCAibmFtZSI6ICJNZWhyaW5nZGFtbSwgQiA5NiIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbMzIsIDUxXX0sIHsiZGlzdGFuY2UiOiAzNzkuNiwgImR1cmF0aW9uIjogMzcuOSwgImluc3RydWN0aW9uIjogIlR1cm4gc2hhcnAgcmlnaHQgb250byBCbFx1MDBmY2NoZXJzdHJhXHUwMGRmZSwgTCAxMDIxIiwgIm5hbWUiOiAiQmxcdTAwZmNjaGVyc3RyYVx1MDBkZmUsIEwgMTAyMSIsICJ0eXBlIjogMywgIndheV9wb2ludHMiOiBbNTEsIDYzXX0sIHsiZGlzdGFuY2UiOiAyMDMuMiwgImR1cmF0aW9uIjogMzAuNSwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIFpvc3NlbmVyIFN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiWm9zc2VuZXIgU3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzYzLCA3NF19LCB7ImRpc3RhbmNlIjogMTU2MC43LCAiZHVyYXRpb24iOiAxODYuMSwgImluc3RydWN0aW9uIjogIktlZXAgcmlnaHQgb250byBHaXRzY2hpbmVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJHaXRzY2hpbmVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAidHlwZSI6IDEzLCAid2F5X3BvaW50cyI6IFs3NCwgMTE2XX0sIHsiZGlzdGFuY2UiOiAxOS45LCAiZHVyYXRpb24iOiA3LjIsICJpbnN0cnVjdGlvbiI6ICJLZWVwIHJpZ2h0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogMTMsICJ3YXlfcG9pbnRzIjogWzExNiwgMTE4XX0sIHsiZGlzdGFuY2UiOiA1MzcuNSwgImR1cmF0aW9uIjogNTYuMywgImluc3RydWN0aW9uIjogIkNvbnRpbnVlIHN0cmFpZ2h0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogNiwgIndheV9wb2ludHMiOiBbMTE4LCAxMzRdfSwgeyJkaXN0YW5jZSI6IDk2NS4yLCAiZHVyYXRpb24iOiAxMzIuNCwgImluc3RydWN0aW9uIjogIkNvbnRpbnVlIHN0cmFpZ2h0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogNiwgIndheV9wb2ludHMiOiBbMTM0LCAxNTddfSwgeyJkaXN0YW5jZSI6IDM5LjcsICJkdXJhdGlvbiI6IDkuMCwgImluc3RydWN0aW9uIjogIkNvbnRpbnVlIHN0cmFpZ2h0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogNiwgIndheV9wb2ludHMiOiBbMTU3LCAxNjFdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IFNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1LCBvbiB0aGUgbGVmdCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFsxNjEsIDE2MV19XX0sIHsiZGlzdGFuY2UiOiAzMDk1LjUsICJkdXJhdGlvbiI6IDM4MC45LCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDk2MS45LCAiZHVyYXRpb24iOiAxMzIuOSwgImluc3RydWN0aW9uIjogIkhlYWQgd2VzdCBvbiBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIlNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbMTYxLCAxODJdfSwgeyJkaXN0YW5jZSI6IDUzMS42LCAiZHVyYXRpb24iOiA0Ny44LCAiaW5zdHJ1Y3Rpb24iOiAiQ29udGludWUgc3RyYWlnaHQgb250byBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIlNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiA2LCAid2F5X3BvaW50cyI6IFsxODIsIDE5OV19LCB7ImRpc3RhbmNlIjogNzYuOSwgImR1cmF0aW9uIjogMjIuMiwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBLb3R0YnVzc2VyIFRvciIsICJuYW1lIjogIktvdHRidXNzZXIgVG9yIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFsxOTksIDIxMF19LCB7ImRpc3RhbmNlIjogNzY1LjAsICJkdXJhdGlvbiI6IDg1LjgsICJpbnN0cnVjdGlvbiI6ICJLZWVwIHJpZ2h0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogMTMsICJ3YXlfcG9pbnRzIjogWzIxMCwgMjI2XX0sIHsiZGlzdGFuY2UiOiA1NjAuOCwgImR1cmF0aW9uIjogNzQuMywgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIFByaW56ZW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIlByaW56ZW5zdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbMjI2LCAyNDRdfSwgeyJkaXN0YW5jZSI6IDE5OS4zLCAiZHVyYXRpb24iOiAxNy45LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFVyYmFuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJVcmJhbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFsyNDQsIDI1MF19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgVXJiYW5zdHJhXHUwMGRmZSwgb24gdGhlIGxlZnQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbMjUwLCAyNTBdfV19LCB7ImRpc3RhbmNlIjogMTUxMy42LCAiZHVyYXRpb24iOiAyNzUuMiwgInN0ZXBzIjogW3siZGlzdGFuY2UiOiAzMS4yLCAiZHVyYXRpb24iOiAzLjYsICJpbnN0cnVjdGlvbiI6ICJIZWFkIHdlc3Qgb24gVXJiYW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIlVyYmFuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFsyNTAsIDI1M119LCB7ImRpc3RhbmNlIjogNzEuNywgImR1cmF0aW9uIjogMTUuMiwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIEJsXHUwMGZjY2hlcnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiQmxcdTAwZmNjaGVyc3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzI1MywgMjYwXX0sIHsiZGlzdGFuY2UiOiAzNTQuMiwgImR1cmF0aW9uIjogNjMuOCwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBTY2hsZWllcm1hY2hlcnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiU2NobGVpZXJtYWNoZXJzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMjYwLCAyNjNdfSwgeyJkaXN0YW5jZSI6IDM3MS4wLCAiZHVyYXRpb24iOiAyOS43LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEduZWlzZW5hdXN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiR25laXNlbmF1c3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzI2MywgMjcwXX0sIHsiZGlzdGFuY2UiOiAzMDMuNywgImR1cmF0aW9uIjogNDMuNywgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIFNvbG1zc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJTb2xtc3N0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFsyNzAsIDI3NV19LCB7ImRpc3RhbmNlIjogMTMxLjcsICJkdXJhdGlvbiI6IDQ3LjQsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gQmVyZ21hbm5zdHJhXHUwMGRmZSIsICJuYW1lIjogIkJlcmdtYW5uc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzI3NSwgMjc2XX0sIHsiZGlzdGFuY2UiOiAxNjcuNSwgImR1cmF0aW9uIjogNDIuMSwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIE5vc3RpdHpzdHJhXHUwMGRmZSIsICJuYW1lIjogIk5vc3RpdHpzdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbMjc2LCAyNzhdfSwgeyJkaXN0YW5jZSI6IDgyLjYsICJkdXJhdGlvbiI6IDI5LjcsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gQ2hhbWlzc29wbGF0eiIsICJuYW1lIjogIkNoYW1pc3NvcGxhdHoiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzI3OCwgMjgwXX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBDaGFtaXNzb3BsYXR6LCBvbiB0aGUgcmlnaHQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbMjgwLCAyODBdfV19LCB7ImRpc3RhbmNlIjogMzk3OC41LCAiZHVyYXRpb24iOiA1ODkuNCwgInN0ZXBzIjogW3siZGlzdGFuY2UiOiA4Mi42LCAiZHVyYXRpb24iOiAyOS43LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBub3J0aCBvbiBDaGFtaXNzb3BsYXR6IiwgIm5hbWUiOiAiQ2hhbWlzc29wbGF0eiIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzI4MCwgMjgyXX0sIHsiZGlzdGFuY2UiOiAxMjcuOSwgImR1cmF0aW9uIjogNDYuMCwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBBcm5kdHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiQXJuZHRzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMjgyLCAyODRdfSwgeyJkaXN0YW5jZSI6IDkwLjAsICJkdXJhdGlvbiI6IDMyLjQsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBTY2hlbmtlbmRvcmZzdHJhXHUwMGRmZSIsICJuYW1lIjogIlNjaGVua2VuZG9yZnN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFsyODQsIDI4NV19LCB7ImRpc3RhbmNlIjogNTYuNywgImR1cmF0aW9uIjogMjAuNCwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBCZXJnbWFubnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiQmVyZ21hbm5zdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMjg1LCAyODhdfSwgeyJkaXN0YW5jZSI6IDI2MS40LCAiZHVyYXRpb24iOiAzNy42LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gWm9zc2VuZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJab3NzZW5lciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbMjg4LCAyOTddfSwgeyJkaXN0YW5jZSI6IDQxNi4xLCAiZHVyYXRpb24iOiAzNS4wLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEduZWlzZW5hdXN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiR25laXNlbmF1c3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzI5NywgMzA2XX0sIHsiZGlzdGFuY2UiOiA3NzEuMCwgImR1cmF0aW9uIjogNzkuNiwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIEJhZXJ3YWxkc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJCYWVyd2FsZHN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFszMDYsIDMyOF19LCB7ImRpc3RhbmNlIjogMjM2LjMsICJkdXJhdGlvbiI6IDM1LjgsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gQmFlcndhbGRzdHJhXHUwMGRmZSIsICJuYW1lIjogIkJhZXJ3YWxkc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzMyOCwgMzM2XX0sIHsiZGlzdGFuY2UiOiA4MjcuMCwgImR1cmF0aW9uIjogMTE2LjksICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gR2l0c2NoaW5lciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIkdpdHNjaGluZXIgU3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzMzNiwgMzYzXX0sIHsiZGlzdGFuY2UiOiAxOS45LCAiZHVyYXRpb24iOiA3LjIsICJpbnN0cnVjdGlvbiI6ICJLZWVwIHJpZ2h0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogMTMsICJ3YXlfcG9pbnRzIjogWzM2MywgMzY1XX0sIHsiZGlzdGFuY2UiOiA1MzcuNSwgImR1cmF0aW9uIjogNTYuMywgImluc3RydWN0aW9uIjogIkNvbnRpbnVlIHN0cmFpZ2h0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogNiwgIndheV9wb2ludHMiOiBbMzY1LCAzODFdfSwgeyJkaXN0YW5jZSI6IDIxNS45LCAiZHVyYXRpb24iOiAyMy45LCAiaW5zdHJ1Y3Rpb24iOiAiS2VlcCByaWdodCBvbnRvIFdpZW5lciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIldpZW5lciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMTMsICJ3YXlfcG9pbnRzIjogWzM4MSwgMzg1XX0sIHsiZGlzdGFuY2UiOiAyNDMuMCwgImR1cmF0aW9uIjogMzUuMCwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBMYXVzaXR6ZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJMYXVzaXR6ZXIgU3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzM4NSwgMzg2XX0sIHsiZGlzdGFuY2UiOiA5My4xLCAiZHVyYXRpb24iOiAzMy41LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gUmVpY2hlbmJlcmdlciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIlJlaWNoZW5iZXJnZXIgU3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzM4NiwgMzg4XX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBSZWljaGVuYmVyZ2VyIFN0cmFcdTAwZGZlLCBvbiB0aGUgcmlnaHQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbMzg4LCAzODhdfV19LCB7ImRpc3RhbmNlIjogODcyLjQsICJkdXJhdGlvbiI6IDEzMy4yLCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDkzLjEsICJkdXJhdGlvbiI6IDMzLjUsICJpbnN0cnVjdGlvbiI6ICJIZWFkIG5vcnRod2VzdCBvbiBSZWljaGVuYmVyZ2VyIFN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiUmVpY2hlbmJlcmdlciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzM4OCwgMzkwXX0sIHsiZGlzdGFuY2UiOiAyNTUuMywgImR1cmF0aW9uIjogMzYuOCwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBMYXVzaXR6ZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJMYXVzaXR6ZXIgU3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzM5MCwgMzkyXX0sIHsiZGlzdGFuY2UiOiAyNDMuMSwgImR1cmF0aW9uIjogMzAuMCwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIFdpZW5lciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIldpZW5lciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbMzkyLCAzOTddfSwgeyJkaXN0YW5jZSI6IDEzLjIsICJkdXJhdGlvbiI6IDEuMiwgImluc3RydWN0aW9uIjogIktlZXAgbGVmdCBvbnRvIFNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgIm5hbWUiOiAiU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAidHlwZSI6IDEyLCAid2F5X3BvaW50cyI6IFszOTcsIDM5OF19LCB7ImRpc3RhbmNlIjogOC4zLCAiZHVyYXRpb24iOiAxLjIsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHNoYXJwIHJpZ2h0IG9udG8gTWFudGV1ZmZlbHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiTWFudGV1ZmZlbHN0cmFcdTAwZGZlIiwgInR5cGUiOiAzLCAid2F5X3BvaW50cyI6IFszOTgsIDM5OV19LCB7ImRpc3RhbmNlIjogMjA5LjMsICJkdXJhdGlvbiI6IDIzLjMsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBPcmFuaWVuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJPcmFuaWVuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzM5OSwgNDA1XX0sIHsiZGlzdGFuY2UiOiA1MC4xLCAiZHVyYXRpb24iOiA3LjIsICJpbnN0cnVjdGlvbiI6ICJLZWVwIHJpZ2h0IG9udG8gSGVpbnJpY2hwbGF0eiIsICJuYW1lIjogIkhlaW5yaWNocGxhdHoiLCAidHlwZSI6IDEzLCAid2F5X3BvaW50cyI6IFs0MDUsIDQwNl19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgSGVpbnJpY2hwbGF0eiwgb24gdGhlIGxlZnQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbNDA2LCA0MDZdfV19LCB7ImRpc3RhbmNlIjogMTQ0Ny42LCAiZHVyYXRpb24iOiAyMDMuMiwgInN0ZXBzIjogW3siZGlzdGFuY2UiOiA1LjksICJkdXJhdGlvbiI6IDAuOCwgImluc3RydWN0aW9uIjogIkhlYWQgbm9ydGggb24gSGVpbnJpY2hwbGF0eiIsICJuYW1lIjogIkhlaW5yaWNocGxhdHoiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFs0MDYsIDQwN119LCB7ImRpc3RhbmNlIjogMzkuNCwgImR1cmF0aW9uIjogNS43LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBzaGFycCBsZWZ0IG9udG8gTWFyaWFubmVuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJNYXJpYW5uZW5zdHJhXHUwMGRmZSIsICJ0eXBlIjogMiwgIndheV9wb2ludHMiOiBbNDA3LCA0MTBdfSwgeyJkaXN0YW5jZSI6IDI4NC42LCAiZHVyYXRpb24iOiAzOS4wLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gT3JhbmllbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiT3JhbmllbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFs0MTAsIDQyMV19LCB7ImRpc3RhbmNlIjogOTM4LjUsICJkdXJhdGlvbiI6IDEzMS45LCAiaW5zdHJ1Y3Rpb24iOiAiS2VlcCByaWdodCBvbnRvIFdpZW5lciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIldpZW5lciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMTMsICJ3YXlfcG9pbnRzIjogWzQyMSwgNDM5XX0sIHsiZGlzdGFuY2UiOiAxNzkuMiwgImR1cmF0aW9uIjogMjUuOCwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBHbG9nYXVlciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIkdsb2dhdWVyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFs0MzksIDQ0MV19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgR2xvZ2F1ZXIgU3RyYVx1MDBkZmUsIG9uIHRoZSByaWdodCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFs0NDEsIDQ0MV19XX0sIHsiZGlzdGFuY2UiOiAxMjEwLjEsICJkdXJhdGlvbiI6IDE3Ni44LCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDE3OS4yLCAiZHVyYXRpb24iOiAyNS44LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBub3J0aGVhc3Qgb24gR2xvZ2F1ZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJHbG9nYXVlciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzQ0MSwgNDQzXX0sIHsiZGlzdGFuY2UiOiA5NjUuNCwgImR1cmF0aW9uIjogMTM4LjAsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBXaWVuZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJXaWVuZXIgU3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzQ0MywgNDYzXX0sIHsiZGlzdGFuY2UiOiAxMy4yLCAiZHVyYXRpb24iOiAxLjIsICJpbnN0cnVjdGlvbiI6ICJLZWVwIGxlZnQgb250byBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIlNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiAxMiwgIndheV9wb2ludHMiOiBbNDYzLCA0NjRdfSwgeyJkaXN0YW5jZSI6IDUyLjMsICJkdXJhdGlvbiI6IDExLjgsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHNoYXJwIHJpZ2h0IG9udG8gTWFudGV1ZmZlbHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiTWFudGV1ZmZlbHN0cmFcdTAwZGZlIiwgInR5cGUiOiAzLCAid2F5X3BvaW50cyI6IFs0NjQsIDQ2N119LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgTWFudGV1ZmZlbHN0cmFcdTAwZGZlLCBvbiB0aGUgbGVmdCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFs0NjcsIDQ2N119XX0sIHsiZGlzdGFuY2UiOiA2NTIuOSwgImR1cmF0aW9uIjogMTIwLjMsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogNDQuMCwgImR1cmF0aW9uIjogMTAuNiwgImluc3RydWN0aW9uIjogIkhlYWQgc291dGh3ZXN0IG9uIE1hbnRldWZmZWxzdHJhXHUwMGRmZSIsICJuYW1lIjogIk1hbnRldWZmZWxzdHJhXHUwMGRmZSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzQ2NywgNDY5XX0sIHsiZGlzdGFuY2UiOiAzNi45LCAiZHVyYXRpb24iOiAxMC4yLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gT3JhbmllbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiT3JhbmllbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFs0NjksIDQ3MV19LCB7ImRpc3RhbmNlIjogMjE1LjksICJkdXJhdGlvbiI6IDIzLjksICJpbnN0cnVjdGlvbiI6ICJLZWVwIHJpZ2h0IG9udG8gV2llbmVyIFN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiV2llbmVyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMywgIndheV9wb2ludHMiOiBbNDcxLCA0NzVdfSwgeyJkaXN0YW5jZSI6IDI0My4wLCAiZHVyYXRpb24iOiAzNS4wLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIExhdXNpdHplciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIkxhdXNpdHplciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbNDc1LCA0NzZdfSwgeyJkaXN0YW5jZSI6IDExMy4xLCAiZHVyYXRpb24iOiA0MC43LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFJlaWNoZW5iZXJnZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJSZWljaGVuYmVyZ2VyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFs0NzYsIDQ3OV19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgUmVpY2hlbmJlcmdlciBTdHJhXHUwMGRmZSwgb24gdGhlIGxlZnQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbNDc5LCA0NzldfV19LCB7ImRpc3RhbmNlIjogMzU1NC43LCAiZHVyYXRpb24iOiA0ODAuOCwgInN0ZXBzIjogW3siZGlzdGFuY2UiOiAzNTguMCwgImR1cmF0aW9uIjogODcuMCwgImluc3RydWN0aW9uIjogIkhlYWQgbm9ydGh3ZXN0IG9uIFJlaWNoZW5iZXJnZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJSZWljaGVuYmVyZ2VyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbNDc5LCA0ODFdfSwgeyJkaXN0YW5jZSI6IDEzMC4zLCAiZHVyYXRpb24iOiAyOS4zLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIE1hcmlhbm5lbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiTWFyaWFubmVuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzQ4MSwgNDg2XX0sIHsiZGlzdGFuY2UiOiAyNDkuMSwgImR1cmF0aW9uIjogMjIuNCwgImluc3RydWN0aW9uIjogIlR1cm4gc2hhcnAgbGVmdCBvbnRvIFNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgIm5hbWUiOiAiU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAidHlwZSI6IDIsICJ3YXlfcG9pbnRzIjogWzQ4NiwgNDkyXX0sIHsiZGlzdGFuY2UiOiA3Ni45LCAiZHVyYXRpb24iOiAyMi4yLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEtvdHRidXNzZXIgVG9yIiwgIm5hbWUiOiAiS290dGJ1c3NlciBUb3IiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzQ5MiwgNTAzXX0sIHsiZGlzdGFuY2UiOiAxNTA2LjEsICJkdXJhdGlvbiI6IDE2MC4yLCAiaW5zdHJ1Y3Rpb24iOiAiS2VlcCByaWdodCBvbnRvIFNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgIm5hbWUiOiAiU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAidHlwZSI6IDEzLCAid2F5X3BvaW50cyI6IFs1MDMsIDUzMV19LCB7ImRpc3RhbmNlIjogMjM1LjIsICJkdXJhdGlvbiI6IDQ1LjUsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBab3NzZW5lciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIlpvc3NlbmVyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFs1MzEsIDU0NV19LCB7ImRpc3RhbmNlIjogMzg5LjEsICJkdXJhdGlvbiI6IDQ2LjgsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gQmxcdTAwZmNjaGVyc3RyYVx1MDBkZmUsIEwgMTAyMSIsICJuYW1lIjogIkJsXHUwMGZjY2hlcnN0cmFcdTAwZGZlLCBMIDEwMjEiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzU0NSwgNTU3XX0sIHsiZGlzdGFuY2UiOiAzOTUuMSwgImR1cmF0aW9uIjogNDAuMCwgImluc3RydWN0aW9uIjogIlR1cm4gc2hhcnAgbGVmdCBvbnRvIE1laHJpbmdkYW1tLCBCIDk2IiwgIm5hbWUiOiAiTWVocmluZ2RhbW0sIEIgOTYiLCAidHlwZSI6IDIsICJ3YXlfcG9pbnRzIjogWzU1NywgNTczXX0sIHsiZGlzdGFuY2UiOiAxNjEuNSwgImR1cmF0aW9uIjogMTQuNSwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIEduZWlzZW5hdXN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiR25laXNlbmF1c3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzU3MywgNTc5XX0sIHsiZGlzdGFuY2UiOiA1My4zLCAiZHVyYXRpb24iOiAxMi44LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzU3OSwgNTgwXX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCB5b3VyIGRlc3RpbmF0aW9uLCBvbiB0aGUgcmlnaHQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbNTgwLCA1ODBdfV19LCB7ImRpc3RhbmNlIjogNzQ3LjgsICJkdXJhdGlvbiI6IDE0Ni41LCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDUzLjMsICJkdXJhdGlvbiI6IDEyLjgsICJpbnN0cnVjdGlvbiI6ICJIZWFkIG5vcnRoIiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzU4MCwgNTgxXX0sIHsiZGlzdGFuY2UiOiAyMDguNSwgImR1cmF0aW9uIjogMTcuNCwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBHbmVpc2VuYXVzdHJhXHUwMGRmZSIsICJuYW1lIjogIkduZWlzZW5hdXN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFs1ODEsIDU4N119LCB7ImRpc3RhbmNlIjogMjcxLjgsICJkdXJhdGlvbiI6IDM5LjEsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gU29sbXNzdHJhXHUwMGRmZSIsICJuYW1lIjogIlNvbG1zc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzU4NywgNTg5XX0sIHsiZGlzdGFuY2UiOiA2My4wLCAiZHVyYXRpb24iOiAyMi43LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gQmVyZ21hbm5zdHJhXHUwMGRmZSIsICJuYW1lIjogIkJlcmdtYW5uc3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzU4OSwgNTkwXX0sIHsiZGlzdGFuY2UiOiA5MC4wLCAiZHVyYXRpb24iOiAzMi40LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFNjaGVua2VuZG9yZnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiU2NoZW5rZW5kb3Jmc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzU5MCwgNTkxXX0sIHsiZGlzdGFuY2UiOiA2MS4zLCAiZHVyYXRpb24iOiAyMi4xLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEFybmR0c3RyYVx1MDBkZmUiLCAibmFtZSI6ICJBcm5kdHN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFs1OTEsIDU5Ml19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgQXJuZHRzdHJhXHUwMGRmZSwgb24gdGhlIHJpZ2h0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzU5MiwgNTkyXX1dfSwgeyJkaXN0YW5jZSI6IDEzNTEuMywgImR1cmF0aW9uIjogMjIxLjcsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogNjEuMywgImR1cmF0aW9uIjogMjIuMSwgImluc3RydWN0aW9uIjogIkhlYWQgZWFzdCBvbiBBcm5kdHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiQXJuZHRzdHJhXHUwMGRmZSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzU5MiwgNTkzXX0sIHsiZGlzdGFuY2UiOiA5MC4wLCAiZHVyYXRpb24iOiAzMi40LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gU2NoZW5rZW5kb3Jmc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJTY2hlbmtlbmRvcmZzdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbNTkzLCA1OTRdfSwgeyJkaXN0YW5jZSI6IDYzLjAsICJkdXJhdGlvbiI6IDIyLjcsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBCZXJnbWFubnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiQmVyZ21hbm5zdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbNTk0LCA1OTVdfSwgeyJkaXN0YW5jZSI6IDMwMy43LCAiZHVyYXRpb24iOiA0My43LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFNvbG1zc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJTb2xtc3N0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFs1OTUsIDYwMF19LCB7ImRpc3RhbmNlIjogNjUxLjYsICJkdXJhdGlvbiI6IDc0LjcsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBHbmVpc2VuYXVzdHJhXHUwMGRmZSIsICJuYW1lIjogIkduZWlzZW5hdXN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFs2MDAsIDYyNF19LCB7ImRpc3RhbmNlIjogMTgxLjcsICJkdXJhdGlvbiI6IDI2LjIsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBHcm9cdTAwZGZiZWVyZW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIkdyb1x1MDBkZmJlZXJlbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFs2MjQsIDYyOF19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgR3JvXHUwMGRmYmVlcmVuc3RyYVx1MDBkZmUsIG9uIHRoZSBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzYyOCwgNjI4XX1dfSwgeyJkaXN0YW5jZSI6IDM1NjguMywgImR1cmF0aW9uIjogMzg3LjEsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogMTUxLjUsICJkdXJhdGlvbiI6IDIxLjgsICJpbnN0cnVjdGlvbiI6ICJIZWFkIG5vcnRoIG9uIEdyb1x1MDBkZmJlZXJlbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiR3JvXHUwMGRmYmVlcmVuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFs2MjgsIDYzMF19LCB7ImRpc3RhbmNlIjogMzAwLjksICJkdXJhdGlvbiI6IDI3LjEsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gWW9yY2tzdHJhXHUwMGRmZSIsICJuYW1lIjogIllvcmNrc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzYzMCwgNjQwXX0sIHsiZGlzdGFuY2UiOiAzNzguNywgImR1cmF0aW9uIjogNDAuNCwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIE1laHJpbmdkYW1tLCBCIDk2IiwgIm5hbWUiOiAiTWVocmluZ2RhbW0sIEIgOTYiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzY0MCwgNjU5XX0sIHsiZGlzdGFuY2UiOiAzNzkuNiwgImR1cmF0aW9uIjogMzcuOSwgImluc3RydWN0aW9uIjogIlR1cm4gc2hhcnAgcmlnaHQgb250byBCbFx1MDBmY2NoZXJzdHJhXHUwMGRmZSwgTCAxMDIxIiwgIm5hbWUiOiAiQmxcdTAwZmNjaGVyc3RyYVx1MDBkZmUsIEwgMTAyMSIsICJ0eXBlIjogMywgIndheV9wb2ludHMiOiBbNjU5LCA2NzFdfSwgeyJkaXN0YW5jZSI6IDIwMy4yLCAiZHVyYXRpb24iOiAzMC41LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gWm9zc2VuZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJab3NzZW5lciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbNjcxLCA2ODJdfSwgeyJkaXN0YW5jZSI6IDczMy43LCAiZHVyYXRpb24iOiA2OS4yLCAiaW5zdHJ1Y3Rpb24iOiAiS2VlcCByaWdodCBvbnRvIEdpdHNjaGluZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIkdpdHNjaGluZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogMTMsICJ3YXlfcG9pbnRzIjogWzY4MiwgNjk3XX0sIHsiZGlzdGFuY2UiOiA2MjkuNywgImR1cmF0aW9uIjogNjEuNywgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIFByaW56ZW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIlByaW56ZW5zdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbNjk3LCA3MTZdfSwgeyJkaXN0YW5jZSI6IDMyNy40LCAiZHVyYXRpb24iOiAzNC45LCAiZXhpdF9udW1iZXIiOiAxLCAiaW5zdHJ1Y3Rpb24iOiAiRW50ZXIgdGhlIHJvdW5kYWJvdXQgYW5kIHRha2UgdGhlIDFzdCBleGl0IG9udG8gT3JhbmllbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiT3JhbmllbnN0cmFcdTAwZGZlIiwgInR5cGUiOiA3LCAid2F5X3BvaW50cyI6IFs3MTYsIDcyN119LCB7ImRpc3RhbmNlIjogMTI2LjIsICJkdXJhdGlvbiI6IDEzLjAsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHNsaWdodCByaWdodCBvbnRvIE9yYW5pZW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIk9yYW5pZW5zdHJhXHUwMGRmZSIsICJ0eXBlIjogNSwgIndheV9wb2ludHMiOiBbNzI3LCA3MzNdfSwgeyJkaXN0YW5jZSI6IDIwMS4yLCAiZHVyYXRpb24iOiAzMS4wLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBzbGlnaHQgcmlnaHQgb250byBPcmFuaWVuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJPcmFuaWVuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDUsICJ3YXlfcG9pbnRzIjogWzczMywgNzM3XX0sIHsiZGlzdGFuY2UiOiAxMjcuMCwgImR1cmF0aW9uIjogMTMuMSwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBBZGFsYmVydHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiQWRhbGJlcnRzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbNzM3LCA3NDNdfSwgeyJkaXN0YW5jZSI6IDkuMiwgImR1cmF0aW9uIjogNi42LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbNzQzLCA3NDRdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IHlvdXIgZGVzdGluYXRpb24sIG9uIHRoZSByaWdodCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFs3NDQsIDc0NF19XX0sIHsiZGlzdGFuY2UiOiAxMTM5LjAsICJkdXJhdGlvbiI6IDIwMi42LCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDkuMiwgImR1cmF0aW9uIjogNi42LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCB3ZXN0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzc0NCwgNzQ1XX0sIHsiZGlzdGFuY2UiOiAxMjcuMCwgImR1cmF0aW9uIjogMTMuMSwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBBZGFsYmVydHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiQWRhbGJlcnRzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbNzQ1LCA3NTFdfSwgeyJkaXN0YW5jZSI6IDI0My41LCAiZHVyYXRpb24iOiAzNS4xLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIE9yYW5pZW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIk9yYW5pZW5zdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbNzUxLCA3NTddfSwgeyJkaXN0YW5jZSI6IDI4Ni40LCAiZHVyYXRpb24iOiAzNC40LCAiaW5zdHJ1Y3Rpb24iOiAiQ29udGludWUgc3RyYWlnaHQgb250byBPcmFuaWVuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJPcmFuaWVuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDYsICJ3YXlfcG9pbnRzIjogWzc1NywgNzY5XX0sIHsiZGlzdGFuY2UiOiA0NzIuOSwgImR1cmF0aW9uIjogMTEzLjUsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBNYW50ZXVmZmVsc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJNYW50ZXVmZmVsc3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzc2OSwgNzc5XX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBNYW50ZXVmZmVsc3RyYVx1MDBkZmUsIG9uIHRoZSBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzc3OSwgNzc5XX1dfSwgeyJkaXN0YW5jZSI6IDI4OTQuMCwgImR1cmF0aW9uIjogNDE3LjAsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogNDgxLjMsICJkdXJhdGlvbiI6IDExNC43LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBzb3V0aHdlc3Qgb24gTWFudGV1ZmZlbHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiTWFudGV1ZmZlbHN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbNzc5LCA3OTBdfSwgeyJkaXN0YW5jZSI6IDUxOC40LCAiZHVyYXRpb24iOiA0Ni43LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgIm5hbWUiOiAiU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzc5MCwgODA2XX0sIHsiZGlzdGFuY2UiOiA3Ni45LCAiZHVyYXRpb24iOiAyMi4yLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEtvdHRidXNzZXIgVG9yIiwgIm5hbWUiOiAiS290dGJ1c3NlciBUb3IiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzgwNiwgODE3XX0sIHsiZGlzdGFuY2UiOiA3NjUuMCwgImR1cmF0aW9uIjogODUuOCwgImluc3RydWN0aW9uIjogIktlZXAgcmlnaHQgb250byBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIlNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiAxMywgIndheV9wb2ludHMiOiBbODE3LCA4MzNdfSwgeyJkaXN0YW5jZSI6IDU2MC44LCAiZHVyYXRpb24iOiA3NC4zLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gUHJpbnplbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiUHJpbnplbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFs4MzMsIDg1MV19LCB7ImRpc3RhbmNlIjogMjMwLjUsICJkdXJhdGlvbiI6IDIxLjUsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gVXJiYW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIlVyYmFuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzg1MSwgODU5XX0sIHsiZGlzdGFuY2UiOiA3MS43LCAiZHVyYXRpb24iOiAxNS4yLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gQmxcdTAwZmNjaGVyc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJCbFx1MDBmY2NoZXJzdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbODU5LCA4NjZdfSwgeyJkaXN0YW5jZSI6IDE0Ni4zLCAiZHVyYXRpb24iOiAyNi4zLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFNjaGxlaWVybWFjaGVyc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJTY2hsZWllcm1hY2hlcnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFs4NjYsIDg2N119LCB7ImRpc3RhbmNlIjogNDMuMCwgImR1cmF0aW9uIjogMTAuMywgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBGXHUwMGZjcmJyaW5nZXJzdHJhXHUwMGRmZSIsICJuYW1lIjogIkZcdTAwZmNyYnJpbmdlcnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFs4NjcsIDg2OV19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgRlx1MDBmY3JicmluZ2Vyc3RyYVx1MDBkZmUsIG9uIHRoZSBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzg2OSwgODY5XX1dfSwgeyJkaXN0YW5jZSI6IDExMzAuNSwgImR1cmF0aW9uIjogMTQyLjQsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogNjUuMywgImR1cmF0aW9uIjogMTUuNywgImluc3RydWN0aW9uIjogIkhlYWQgd2VzdCBvbiBGXHUwMGZjcmJyaW5nZXJzdHJhXHUwMGRmZSIsICJuYW1lIjogIkZcdTAwZmNyYnJpbmdlcnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbODY5LCA4NzBdfSwgeyJkaXN0YW5jZSI6IDE5My4yLCAiZHVyYXRpb24iOiAzNC44LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gTWl0dGVud2FsZGVyIFN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiTWl0dGVud2FsZGVyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFs4NzAsIDg3Ml19LCB7ImRpc3RhbmNlIjogNjIzLjgsICJkdXJhdGlvbiI6IDY5LjYsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gR25laXNlbmF1c3RyYVx1MDBkZmUiLCAibmFtZSI6ICJHbmVpc2VuYXVzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbODcyLCA4OTBdfSwgeyJkaXN0YW5jZSI6IDI0OC4yLCAiZHVyYXRpb24iOiAyMi4zLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gTWVocmluZ2RhbW0sIEIgOTYiLCAibmFtZSI6ICJNZWhyaW5nZGFtbSwgQiA5NiIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbODkwLCA4OTddfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IE1laHJpbmdkYW1tLCBCIDk2LCBvbiB0aGUgbGVmdCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFs4OTcsIDg5N119XX0sIHsiZGlzdGFuY2UiOiAzNTc4LjMsICJkdXJhdGlvbiI6IDM3OC43LCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDk2LjEsICJkdXJhdGlvbiI6IDguNiwgImluc3RydWN0aW9uIjogIkhlYWQgc291dGggb24gTWVocmluZ2RhbW0sIEIgOTYiLCAibmFtZSI6ICJNZWhyaW5nZGFtbSwgQiA5NiIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzg5NywgOTAwXX0sIHsiZGlzdGFuY2UiOiA3MDMuMSwgImR1cmF0aW9uIjogNzMuNiwgImluc3RydWN0aW9uIjogIkNvbnRpbnVlIHN0cmFpZ2h0IG9udG8gTWVocmluZ2RhbW0sIEIgOTYiLCAibmFtZSI6ICJNZWhyaW5nZGFtbSwgQiA5NiIsICJ0eXBlIjogNiwgIndheV9wb2ludHMiOiBbOTAwLCA5MzFdfSwgeyJkaXN0YW5jZSI6IDM3OS42LCAiZHVyYXRpb24iOiAzNy45LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBzaGFycCByaWdodCBvbnRvIEJsXHUwMGZjY2hlcnN0cmFcdTAwZGZlLCBMIDEwMjEiLCAibmFtZSI6ICJCbFx1MDBmY2NoZXJzdHJhXHUwMGRmZSwgTCAxMDIxIiwgInR5cGUiOiAzLCAid2F5X3BvaW50cyI6IFs5MzEsIDk0M119LCB7ImRpc3RhbmNlIjogMjAzLjIsICJkdXJhdGlvbiI6IDMwLjUsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBab3NzZW5lciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIlpvc3NlbmVyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFs5NDMsIDk1NF19LCB7ImRpc3RhbmNlIjogNzMzLjcsICJkdXJhdGlvbiI6IDY5LjIsICJpbnN0cnVjdGlvbiI6ICJLZWVwIHJpZ2h0IG9udG8gR2l0c2NoaW5lciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgIm5hbWUiOiAiR2l0c2NoaW5lciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiAxMywgIndheV9wb2ludHMiOiBbOTU0LCA5NjldfSwgeyJkaXN0YW5jZSI6IDYyOS43LCAiZHVyYXRpb24iOiA2MS43LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gUHJpbnplbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiUHJpbnplbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFs5NjksIDk4OF19LCB7ImRpc3RhbmNlIjogMzI3LjQsICJkdXJhdGlvbiI6IDM0LjksICJleGl0X251bWJlciI6IDEsICJpbnN0cnVjdGlvbiI6ICJFbnRlciB0aGUgcm91bmRhYm91dCBhbmQgdGFrZSB0aGUgMXN0IGV4aXQgb250byBPcmFuaWVuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJPcmFuaWVuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDcsICJ3YXlfcG9pbnRzIjogWzk4OCwgOTk5XX0sIHsiZGlzdGFuY2UiOiAxMjYuMiwgImR1cmF0aW9uIjogMTMuMCwgImluc3RydWN0aW9uIjogIlR1cm4gc2xpZ2h0IHJpZ2h0IG9udG8gT3JhbmllbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiT3JhbmllbnN0cmFcdTAwZGZlIiwgInR5cGUiOiA1LCAid2F5X3BvaW50cyI6IFs5OTksIDEwMDVdfSwgeyJkaXN0YW5jZSI6IDIwMS4yLCAiZHVyYXRpb24iOiAzMS4wLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBzbGlnaHQgcmlnaHQgb250byBPcmFuaWVuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJPcmFuaWVuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDUsICJ3YXlfcG9pbnRzIjogWzEwMDUsIDEwMDldfSwgeyJkaXN0YW5jZSI6IDE3OC4yLCAiZHVyYXRpb24iOiAxOC4zLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gQWRhbGJlcnRzdHJhXHUwMGRmZSIsICJuYW1lIjogIkFkYWxiZXJ0c3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzEwMDksIDEwMTNdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IEFkYWxiZXJ0c3RyYVx1MDBkZmUsIG9uIHRoZSBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzEwMTMsIDEwMTNdfV19LCB7ImRpc3RhbmNlIjogMjUwNS43LCAiZHVyYXRpb24iOiAyOTAuMiwgInN0ZXBzIjogW3siZGlzdGFuY2UiOiA0MTIuMCwgImR1cmF0aW9uIjogNTUuMiwgImluc3RydWN0aW9uIjogIkhlYWQgc291dGh3ZXN0IG9uIEFkYWxiZXJ0c3RyYVx1MDBkZmUiLCAibmFtZSI6ICJBZGFsYmVydHN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbMTAxMywgMTAzNF19LCB7ImRpc3RhbmNlIjogMzIuOCwgImR1cmF0aW9uIjogMTQuMywgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBLb3R0YnVzc2VyIFRvciIsICJuYW1lIjogIktvdHRidXNzZXIgVG9yIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFsxMDM0LCAxMDQxXX0sIHsiZGlzdGFuY2UiOiA3MC45LCAiZHVyYXRpb24iOiAxNC40LCAiaW5zdHJ1Y3Rpb24iOiAiS2VlcCBsZWZ0IG9udG8gS290dGJ1c3NlciBUb3IiLCAibmFtZSI6ICJLb3R0YnVzc2VyIFRvciIsICJ0eXBlIjogMTIsICJ3YXlfcG9pbnRzIjogWzEwNDEsIDEwNDldfSwgeyJkaXN0YW5jZSI6IDEyODUuOSwgImR1cmF0aW9uIjogMTMzLjksICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gS290dGJ1c3NlciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIktvdHRidXNzZXIgU3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzEwNDksIDEwODFdfSwgeyJkaXN0YW5jZSI6IDY5MS4wLCAiZHVyYXRpb24iOiA2Ny42LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBzaGFycCByaWdodCBvbnRvIFVyYmFuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJVcmJhbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAzLCAid2F5X3BvaW50cyI6IFsxMDgxLCAxMTAwXX0sIHsiZGlzdGFuY2UiOiAxMy4yLCAiZHVyYXRpb24iOiA0LjgsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gR3JhZWZlc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJHcmFlZmVzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMTEwMCwgMTEwMl19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgR3JhZWZlc3RyYVx1MDBkZmUsIG9uIHRoZSBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzExMDIsIDExMDJdfV19LCB7ImRpc3RhbmNlIjogMzkyLjYsICJkdXJhdGlvbiI6IDUxLjEsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogMTMuMiwgImR1cmF0aW9uIjogNC44LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBzb3V0aHdlc3Qgb24gR3JhZWZlc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJHcmFlZmVzdHJhXHUwMGRmZSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzExMDIsIDExMDRdfSwgeyJkaXN0YW5jZSI6IDI2Ny4xLCAiZHVyYXRpb24iOiAyMS40LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFVyYmFuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJVcmJhbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFsxMTA0LCAxMTE0XX0sIHsiZGlzdGFuY2UiOiA1NC43LCAiZHVyYXRpb24iOiAxMS43LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gS1x1MDBmNnJ0ZXN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiS1x1MDBmNnJ0ZXN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFsxMTE0LCAxMTE3XX0sIHsiZGlzdGFuY2UiOiA0OS40LCAiZHVyYXRpb24iOiAxMS44LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gS1x1MDBmNnJ0ZXN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiS1x1MDBmNnJ0ZXN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFsxMTE3LCAxMTE5XX0sIHsiZGlzdGFuY2UiOiA4LjMsICJkdXJhdGlvbiI6IDEuNSwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBGaWNodGVzdHJhXHUwMGRmZSIsICJuYW1lIjogIkZpY2h0ZXN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFsxMTE5LCAxMTIxXX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBGaWNodGVzdHJhXHUwMGRmZSwgb24gdGhlIHJpZ2h0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzExMjEsIDExMjFdfV19LCB7ImRpc3RhbmNlIjogMzA5MS45LCAiZHVyYXRpb24iOiAzNDEuMSwgInN0ZXBzIjogW3siZGlzdGFuY2UiOiA0NS43LCAiZHVyYXRpb24iOiAxMC41LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBub3J0aCBvbiBGaWNodGVzdHJhXHUwMGRmZSIsICJuYW1lIjogIkZpY2h0ZXN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbMTEyMSwgMTEyOF19LCB7ImRpc3RhbmNlIjogOTIyLjMsICJkdXJhdGlvbiI6IDkxLjAsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gVXJiYW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIlVyYmFuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzExMjgsIDExNTZdfSwgeyJkaXN0YW5jZSI6IDE4LjgsICJkdXJhdGlvbiI6IDYuOCwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzExNTYsIDExNTddfSwgeyJkaXN0YW5jZSI6IDEzMDkuNSwgImR1cmF0aW9uIjogMTQwLjQsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBLb3R0YnVzc2VyIERhbW0iLCAibmFtZSI6ICJLb3R0YnVzc2VyIERhbW0iLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzExNTcsIDExOTldfSwgeyJkaXN0YW5jZSI6IDMuMiwgImR1cmF0aW9uIjogMi4zLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEtvdHRidXNzZXIgVG9yIiwgIm5hbWUiOiAiS290dGJ1c3NlciBUb3IiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzExOTksIDEyMDBdfSwgeyJkaXN0YW5jZSI6IDE5LjksICJkdXJhdGlvbiI6IDcuMiwgImluc3RydWN0aW9uIjogIktlZXAgcmlnaHQgb250byBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIlNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiAxMywgIndheV9wb2ludHMiOiBbMTIwMCwgMTIwMl19LCB7ImRpc3RhbmNlIjogNTM3LjUsICJkdXJhdGlvbiI6IDU2LjMsICJpbnN0cnVjdGlvbiI6ICJDb250aW51ZSBzdHJhaWdodCBvbnRvIFNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgIm5hbWUiOiAiU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAidHlwZSI6IDYsICJ3YXlfcG9pbnRzIjogWzEyMDIsIDEyMThdfSwgeyJkaXN0YW5jZSI6IDIxNS45LCAiZHVyYXRpb24iOiAyMy45LCAiaW5zdHJ1Y3Rpb24iOiAiS2VlcCByaWdodCBvbnRvIFdpZW5lciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIldpZW5lciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMTMsICJ3YXlfcG9pbnRzIjogWzEyMTgsIDEyMjJdfSwgeyJkaXN0YW5jZSI6IDE5LjEsICJkdXJhdGlvbiI6IDIuNywgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBMYXVzaXR6ZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJMYXVzaXR6ZXIgU3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzEyMjIsIDEyMjNdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IExhdXNpdHplciBTdHJhXHUwMGRmZSwgb24gdGhlIHJpZ2h0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzEyMjMsIDEyMjNdfV19LCB7ImRpc3RhbmNlIjogOTMxLjEsICJkdXJhdGlvbiI6IDExNy4yLCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDMxLjMsICJkdXJhdGlvbiI6IDQuNSwgImluc3RydWN0aW9uIjogIkhlYWQgbm9ydGhlYXN0IG9uIExhdXNpdHplciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIkxhdXNpdHplciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzEyMjMsIDEyMjVdfSwgeyJkaXN0YW5jZSI6IDI0My4xLCAiZHVyYXRpb24iOiAzMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gV2llbmVyIFN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiV2llbmVyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFsxMjI1LCAxMjMwXX0sIHsiZGlzdGFuY2UiOiAxMy4yLCAiZHVyYXRpb24iOiAxLjIsICJpbnN0cnVjdGlvbiI6ICJLZWVwIGxlZnQgb250byBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIlNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiAxMiwgIndheV9wb2ludHMiOiBbMTIzMCwgMTIzMV19LCB7ImRpc3RhbmNlIjogOC4zLCAiZHVyYXRpb24iOiAxLjIsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHNoYXJwIHJpZ2h0IG9udG8gTWFudGV1ZmZlbHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiTWFudGV1ZmZlbHN0cmFcdTAwZGZlIiwgInR5cGUiOiAzLCAid2F5X3BvaW50cyI6IFsxMjMxLCAxMjMyXX0sIHsiZGlzdGFuY2UiOiAyMDkuMywgImR1cmF0aW9uIjogMjMuMywgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIE9yYW5pZW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIk9yYW5pZW5zdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbMTIzMiwgMTIzOF19LCB7ImRpc3RhbmNlIjogMzIwLjYsICJkdXJhdGlvbiI6IDQ2LjIsICJpbnN0cnVjdGlvbiI6ICJDb250aW51ZSBzdHJhaWdodCBvbnRvIE9yYW5pZW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIk9yYW5pZW5zdHJhXHUwMGRmZSIsICJ0eXBlIjogNiwgIndheV9wb2ludHMiOiBbMTIzOCwgMTI1MF19LCB7ImRpc3RhbmNlIjogMTA1LjIsICJkdXJhdGlvbiI6IDEwLjgsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gQWRhbGJlcnRzdHJhXHUwMGRmZSIsICJuYW1lIjogIkFkYWxiZXJ0c3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzEyNTAsIDEyNTNdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IEFkYWxiZXJ0c3RyYVx1MDBkZmUsIG9uIHRoZSBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzEyNTMsIDEyNTNdfV19LCB7ImRpc3RhbmNlIjogMTM3NC45LCAiZHVyYXRpb24iOiAyMzkuMCwgInN0ZXBzIjogW3siZGlzdGFuY2UiOiAzMzkuMCwgImR1cmF0aW9uIjogNDcuNywgImluc3RydWN0aW9uIjogIkhlYWQgc291dGh3ZXN0IG9uIEFkYWxiZXJ0c3RyYVx1MDBkZmUiLCAibmFtZSI6ICJBZGFsYmVydHN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbMTI1MywgMTI3M119LCB7ImRpc3RhbmNlIjogMzIuOCwgImR1cmF0aW9uIjogMTQuMywgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBLb3R0YnVzc2VyIFRvciIsICJuYW1lIjogIktvdHRidXNzZXIgVG9yIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFsxMjczLCAxMjgwXX0sIHsiZGlzdGFuY2UiOiA3MC45LCAiZHVyYXRpb24iOiAxNC40LCAiaW5zdHJ1Y3Rpb24iOiAiS2VlcCBsZWZ0IG9udG8gS290dGJ1c3NlciBUb3IiLCAibmFtZSI6ICJLb3R0YnVzc2VyIFRvciIsICJ0eXBlIjogMTIsICJ3YXlfcG9pbnRzIjogWzEyODAsIDEyODhdfSwgeyJkaXN0YW5jZSI6IDY5Ni40LCAiZHVyYXRpb24iOiA3Ny43LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEtvdHRidXNzZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJLb3R0YnVzc2VyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFsxMjg4LCAxMzA4XX0sIHsiZGlzdGFuY2UiOiAyOS41LCAiZHVyYXRpb24iOiAxMC42LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFNjaFx1MDBmNm5sZWluc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJTY2hcdTAwZjZubGVpbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFsxMzA4LCAxMzExXX0sIHsiZGlzdGFuY2UiOiAxODMuOCwgImR1cmF0aW9uIjogNjYuMiwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIFNjaFx1MDBmNm5sZWluc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJTY2hcdTAwZjZubGVpbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFsxMzExLCAxMzE0XX0sIHsiZGlzdGFuY2UiOiAyMi42LCAiZHVyYXRpb24iOiA4LjIsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHNsaWdodCByaWdodCBvbnRvIERpZWZmZW5iYWNoc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJEaWVmZmVuYmFjaHN0cmFcdTAwZGZlIiwgInR5cGUiOiA1LCAid2F5X3BvaW50cyI6IFsxMzE0LCAxMzE1XX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBEaWVmZmVuYmFjaHN0cmFcdTAwZGZlLCBvbiB0aGUgbGVmdCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFsxMzE1LCAxMzE1XX1dfSwgeyJkaXN0YW5jZSI6IDMyMDguMywgImR1cmF0aW9uIjogMzgxLjcsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogMjIuNiwgImR1cmF0aW9uIjogOC4yLCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBzb3V0aGVhc3Qgb24gRGllZmZlbmJhY2hzdHJhXHUwMGRmZSIsICJuYW1lIjogIkRpZWZmZW5iYWNoc3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFsxMzE1LCAxMzE2XX0sIHsiZGlzdGFuY2UiOiA1OC42LCAiZHVyYXRpb24iOiAyMS4xLCAiaW5zdHJ1Y3Rpb24iOiAiS2VlcCByaWdodCBvbnRvIFNjaFx1MDBmNm5sZWluc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJTY2hcdTAwZjZubGVpbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMywgIndheV9wb2ludHMiOiBbMTMxNiwgMTMxN119LCB7ImRpc3RhbmNlIjogMTM5LjQsICJkdXJhdGlvbiI6IDUwLjIsICJpbnN0cnVjdGlvbiI6ICJLZWVwIHJpZ2h0IG9udG8gU2NoXHUwMGY2bmxlaW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIlNjaFx1MDBmNm5sZWluc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEzLCAid2F5X3BvaW50cyI6IFsxMzE3LCAxMzE5XX0sIHsiZGlzdGFuY2UiOiAxMjIyLjMsICJkdXJhdGlvbiI6IDExMC44LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFVyYmFuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJVcmJhbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFsxMzE5LCAxMzU2XX0sIHsiZGlzdGFuY2UiOiA0MjYuOCwgImR1cmF0aW9uIjogNDguMywgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIEJhZXJ3YWxkc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJCYWVyd2FsZHN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFsxMzU2LCAxMzY2XX0sIHsiZGlzdGFuY2UiOiAxMTk4LjUsICJkdXJhdGlvbiI6IDEyMy4xLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEduZWlzZW5hdXN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiR25laXNlbmF1c3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzEzNjYsIDE0MDBdfSwgeyJkaXN0YW5jZSI6IDE0MC4wLCAiZHVyYXRpb24iOiAyMC4yLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEdyb1x1MDBkZmJlZXJlbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiR3JvXHUwMGRmYmVlcmVuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzE0MDAsIDE0MDNdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IEdyb1x1MDBkZmJlZXJlbnN0cmFcdTAwZGZlLCBvbiB0aGUgcmlnaHQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbMTQwMywgMTQwM119XX0sIHsiZGlzdGFuY2UiOiAzMTY3LjUsICJkdXJhdGlvbiI6IDM3OC44LCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDM5NC40LCAiZHVyYXRpb24iOiA1Ni44LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBub3J0aCBvbiBHcm9cdTAwZGZiZWVyZW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIkdyb1x1MDBkZmJlZXJlbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbMTQwMywgMTQxMF19LCB7ImRpc3RhbmNlIjogNjg5LjQsICJkdXJhdGlvbiI6IDY4LjksICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gVGVtcGVsaG9mZXIgVWZlciwgQiA5NiIsICJuYW1lIjogIlRlbXBlbGhvZmVyIFVmZXIsIEIgOTYiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzE0MTAsIDE0MjVdfSwgeyJkaXN0YW5jZSI6IDE2MjMuMCwgImR1cmF0aW9uIjogMjAxLjAsICJpbnN0cnVjdGlvbiI6ICJLZWVwIGxlZnQgb250byBXYXRlcmxvby1VZmVyLCBMIDEwMDUiLCAibmFtZSI6ICJXYXRlcmxvby1VZmVyLCBMIDEwMDUiLCAidHlwZSI6IDEyLCAid2F5X3BvaW50cyI6IFsxNDI1LCAxNDcxXX0sIHsiZGlzdGFuY2UiOiAxOS45LCAiZHVyYXRpb24iOiA3LjIsICJpbnN0cnVjdGlvbiI6ICJLZWVwIHJpZ2h0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogMTMsICJ3YXlfcG9pbnRzIjogWzE0NzEsIDE0NzNdfSwgeyJkaXN0YW5jZSI6IDIyNS42LCAiZHVyYXRpb24iOiAyNC40LCAiaW5zdHJ1Y3Rpb24iOiAiQ29udGludWUgc3RyYWlnaHQgb250byBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIlNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiA2LCAid2F5X3BvaW50cyI6IFsxNDczLCAxNDc5XX0sIHsiZGlzdGFuY2UiOiAyMTUuMiwgImR1cmF0aW9uIjogMjAuNSwgImluc3RydWN0aW9uIjogIkNvbnRpbnVlIHN0cmFpZ2h0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogNiwgIndheV9wb2ludHMiOiBbMTQ3OSwgMTQ4M119LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUsIG9uIHRoZSBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzE0ODMsIDE0ODNdfV19LCB7ImRpc3RhbmNlIjogMTk4NC44LCAiZHVyYXRpb24iOiAzMzQuNSwgInN0ZXBzIjogW3siZGlzdGFuY2UiOiA1NC4xLCAiZHVyYXRpb24iOiA0LjksICJpbnN0cnVjdGlvbiI6ICJIZWFkIHdlc3Qgb24gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzE0ODMsIDE0ODddfSwgeyJkaXN0YW5jZSI6IDc2LjksICJkdXJhdGlvbiI6IDIyLjIsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gS290dGJ1c3NlciBUb3IiLCAibmFtZSI6ICJLb3R0YnVzc2VyIFRvciIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMTQ4NywgMTQ5OF19LCB7ImRpc3RhbmNlIjogODguNCwgImR1cmF0aW9uIjogMjAuMiwgImluc3RydWN0aW9uIjogIktlZXAgbGVmdCBvbnRvIEtvdHRidXNzZXIgVG9yIiwgIm5hbWUiOiAiS290dGJ1c3NlciBUb3IiLCAidHlwZSI6IDEyLCAid2F5X3BvaW50cyI6IFsxNDk4LCAxNTA4XX0sIHsiZGlzdGFuY2UiOiAxOS45LCAiZHVyYXRpb24iOiA3LjIsICJpbnN0cnVjdGlvbiI6ICJLZWVwIHJpZ2h0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogMTMsICJ3YXlfcG9pbnRzIjogWzE1MDgsIDE1MTBdfSwgeyJkaXN0YW5jZSI6IDUzNy41LCAiZHVyYXRpb24iOiA1Ni4zLCAiaW5zdHJ1Y3Rpb24iOiAiQ29udGludWUgc3RyYWlnaHQgb250byBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIlNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiA2LCAid2F5X3BvaW50cyI6IFsxNTEwLCAxNTI2XX0sIHsiZGlzdGFuY2UiOiAxMDA5LjksICJkdXJhdGlvbiI6IDEzOS44LCAiaW5zdHJ1Y3Rpb24iOiAiQ29udGludWUgc3RyYWlnaHQgb250byBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIlNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiA2LCAid2F5X3BvaW50cyI6IFsxNTI2LCAxNTU1XX0sIHsiZGlzdGFuY2UiOiAxNjMuMCwgImR1cmF0aW9uIjogNTguNywgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBPcHBlbG5lciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIk9wcGVsbmVyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFsxNTU1LCAxNTYwXX0sIHsiZGlzdGFuY2UiOiAzNS4xLCAiZHVyYXRpb24iOiAyNS4zLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFdyYW5nZWxzdHJhXHUwMGRmZSIsICJuYW1lIjogIldyYW5nZWxzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMTU2MCwgMTU2MV19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgV3JhbmdlbHN0cmFcdTAwZGZlLCBvbiB0aGUgbGVmdCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFsxNTYxLCAxNTYxXX1dfSwgeyJkaXN0YW5jZSI6IDQ0NTQuOCwgImR1cmF0aW9uIjogNjIyLjEsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogMTc4LjcsICJkdXJhdGlvbiI6IDExNC41LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBub3J0aHdlc3Qgb24gV3JhbmdlbHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiV3JhbmdlbHN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbMTU2MSwgMTU2Nl19LCB7ImRpc3RhbmNlIjogNzY5LjgsICJkdXJhdGlvbiI6IDExMC45LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbMTU2NiwgMTU4M119LCB7ImRpc3RhbmNlIjogNTMxLjYsICJkdXJhdGlvbiI6IDQ3LjgsICJpbnN0cnVjdGlvbiI6ICJDb250aW51ZSBzdHJhaWdodCBvbnRvIFNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgIm5hbWUiOiAiU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAidHlwZSI6IDYsICJ3YXlfcG9pbnRzIjogWzE1ODMsIDE2MDBdfSwgeyJkaXN0YW5jZSI6IDc2LjksICJkdXJhdGlvbiI6IDIyLjIsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gS290dGJ1c3NlciBUb3IiLCAibmFtZSI6ICJLb3R0YnVzc2VyIFRvciIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMTYwMCwgMTYxMV19LCB7ImRpc3RhbmNlIjogMTUwNi4xLCAiZHVyYXRpb24iOiAxNjAuMiwgImluc3RydWN0aW9uIjogIktlZXAgcmlnaHQgb250byBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIlNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiAxMywgIndheV9wb2ludHMiOiBbMTYxMSwgMTYzOV19LCB7ImRpc3RhbmNlIjogMjM1LjIsICJkdXJhdGlvbiI6IDQ1LjUsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBab3NzZW5lciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIlpvc3NlbmVyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFsxNjM5LCAxNjUzXX0sIHsiZGlzdGFuY2UiOiAzODkuMSwgImR1cmF0aW9uIjogNDYuOCwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBCbFx1MDBmY2NoZXJzdHJhXHUwMGRmZSwgTCAxMDIxIiwgIm5hbWUiOiAiQmxcdTAwZmNjaGVyc3RyYVx1MDBkZmUsIEwgMTAyMSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMTY1MywgMTY2NV19LCB7ImRpc3RhbmNlIjogNzExLjUsICJkdXJhdGlvbiI6IDY4LjUsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHNoYXJwIGxlZnQgb250byBNZWhyaW5nZGFtbSwgQiA5NiIsICJuYW1lIjogIk1laHJpbmdkYW1tLCBCIDk2IiwgInR5cGUiOiAyLCAid2F5X3BvaW50cyI6IFsxNjY1LCAxNjg5XX0sIHsiZGlzdGFuY2UiOiA1NS43LCAiZHVyYXRpb24iOiA1LjcsICJpbnN0cnVjdGlvbiI6ICJDb250aW51ZSBzdHJhaWdodCBvbnRvIE1laHJpbmdkYW1tLCBCIDk2IiwgIm5hbWUiOiAiTWVocmluZ2RhbW0sIEIgOTYiLCAidHlwZSI6IDYsICJ3YXlfcG9pbnRzIjogWzE2ODksIDE2OTJdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IE1laHJpbmdkYW1tLCBCIDk2LCBvbiB0aGUgcmlnaHQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbMTY5MiwgMTY5Ml19XX1dLCAic3R5bGUiOiB7ImNvbG9yIjogIiM4NGUxODQiLCAib3BhY2l0eSI6IDEsICJ3ZWlnaHQiOiAzfSwgInN1bW1hcnkiOiB7ImRpc3RhbmNlIjogNTY3ODguMywgImR1cmF0aW9uIjogNzYwMy41MDAwMDAwMDAwMDF9LCAid2FybmluZ3MiOiBbeyJjb2RlIjogMSwgIm1lc3NhZ2UiOiAiVGhlcmUgbWF5IGJlIHJlc3RyaWN0aW9ucyBvbiBzb21lIHJvYWRzIn1dLCAid2F5X3BvaW50cyI6IFswLCAyNSwgMTYxLCAyNTAsIDI4MCwgMzg4LCA0MDYsIDQ0MSwgNDY3LCA0NzksIDU4MCwgNTkyLCA2MjgsIDc0NCwgNzc5LCA4NjksIDg5NywgMTAxMywgMTEwMiwgMTEyMSwgMTIyMywgMTI1MywgMTMxNSwgMTQwMywgMTQ4MywgMTU2MSwgMTY5Ml19LCAidHlwZSI6ICJGZWF0dXJlIn1dLCAibWV0YWRhdGEiOiB7ImF0dHJpYnV0aW9uIjogIm9wZW5yb3V0ZXNlcnZpY2Uub3JnIHwgT3BlblN0cmVldE1hcCBjb250cmlidXRvcnMiLCAiZW5naW5lIjogeyJidWlsZF9kYXRlIjogIjIwMTktMDItMjhUMDk6NTA6MjVaIiwgInZlcnNpb24iOiAiNS4wIn0sICJxdWVyeSI6IHsiY29vcmRpbmF0ZXMiOiBbWzEzLjM4NzA0NCwgNTIuNDkwMzg2XSwgWzEzLjM4NDI0OCwgNTIuNDkzMjM2XSwgWzEzLjQ0MDQwNCwgNTIuNTAwODg0XSwgWzEzLjQwMDA5MSwgNTIuNDk0NTk1XSwgWzEzLjM5MDQyMywgNTIuNDg3OTI4XSwgWzEzLjQyOTEsIDUyLjQ5NjA3N10sIFsxMy40MjM0NTQsIDUyLjUwMDU0Nl0sIFsxMy40Mzc3OCwgNTIuNDkzNTU1XSwgWzEzLjQyNjU4MSwgNTIuNDk5NzEzXSwgWzEzLjQyNjE0LCA1Mi40OTY2MV0sIFsxMy4zODg3NDcsIDUyLjQ5MTkwOF0sIFsxMy4zOTE4MjYsIDUyLjQ4ODYzNl0sIFsxMy4zODI3OSwgNTIuNDkyMjE3XSwgWzEzLjQxODk5NSwgNTIuNDk5OTczXSwgWzEzLjQyOTg2NiwgNTIuNTAzMDJdLCBbMTMuMzk3ODkxLCA1Mi40OTMwMjRdLCBbMTMuMzg2NDIsIDUyLjQ5MDkzNV0sIFsxMy40MjAyMDIsIDUyLjUwMjc4OF0sIFsxMy40MTYxMjksIDUyLjQ5MTE3Ml0sIFsxMy40MTMzMDEsIDUyLjQ5MTM5M10sIFsxMy40Mjk2OTksIDUyLjQ5Nzk0MV0sIFsxMy40MjAwNjMsIDUyLjUwMjEwOV0sIFsxMy40MTk3MjksIDUyLjQ5MTY0Ml0sIFsxMy4zODM3NzMsIDUyLjQ5NTA0NV0sIFsxMy40MTk0ODUsIDUyLjQ5OTI2NF0sIFsxMy40Mzk5NzcsIDUyLjQ5OTUwOF0sIFsxMy4zODcwNDQsIDUyLjQ5MDM4Nl1dLCAiZm9ybWF0IjogImdlb2pzb24iLCAiZ2VvbWV0cnkiOiB0cnVlLCAicHJvZmlsZSI6ICJkcml2aW5nLWNhciJ9LCAic2VydmljZSI6ICJyb3V0aW5nIiwgInRpbWVzdGFtcCI6IDE1NTUyNTU4MDQ3MTR9LCAidHlwZSI6ICJGZWF0dXJlQ29sbGVjdGlvbiJ9CiAgICAgICAgICAgIAogICAgICAgICAgICApLmFkZFRvKG1hcF9hN2U1OGU1MzRmYTc0OTk5YjM5NDExZjBiYzAzZGY1Yik7CiAgICAgICAgZ2VvX2pzb25fNjMxMmVhZTU0YWY4NDZkY2E3YzQ2YTJkODY4NTdlNWUuc2V0U3R5bGUoZnVuY3Rpb24oZmVhdHVyZSkge3JldHVybiBmZWF0dXJlLnByb3BlcnRpZXMuc3R5bGU7fSk7CiAgICAgICAgCiAgICAKICAgICAgICAKICAgICAgICB2YXIgZ2VvX2pzb25fMjg4MDMxYTM1MzVmNDgyMmI4NTIzYmZmZmQwOWVjZWMgPSBMLmdlb0pzb24oCiAgICAgICAgICAgIHsiYmJveCI6IFsxMy4zODIyMjcsIDUyLjQ4NjA0MSwgMTMuNDQyMTU4LCA1Mi41MDM0OV0sICJmZWF0dXJlcyI6IFt7ImJib3giOiBbMTMuMzgyMjI3LCA1Mi40ODYwNDEsIDEzLjQ0MjE1OCwgNTIuNTAzNDldLCAiZ2VvbWV0cnkiOiB7ImNvb3JkaW5hdGVzIjogW1sxMy4zODY2NjIsIDUyLjQ5MDQzOF0sIFsxMy4zODY3MDcsIDUyLjQ5MDU2Ml0sIFsxMy4zODcwMTYsIDUyLjQ5MTI3NV0sIFsxMy4zODcwNDQsIDUyLjQ5MTMzMV0sIFsxMy4zODczLCA1Mi40OTE5NDldLCBbMTMuMzg3NDQ3LCA1Mi40OTIyNF0sIFsxMy4zODc1NzIsIDUyLjQ5MjQ4NV0sIFsxMy4zODc1OSwgNTIuNDkyNTIxXSwgWzEzLjM4NzM1MywgNTIuNDkyNTY5XSwgWzEzLjM4NzMyNSwgNTIuNDkyNTA2XSwgWzEzLjM4Njc2NSwgNTIuNDkxMjgzXSwgWzEzLjM4NjYyNSwgNTIuNDkwOTA3XSwgWzEzLjM4NjUsIDUyLjQ5MDU3XSwgWzEzLjM4NjM2LCA1Mi40OTAxNTddLCBbMTMuMzg2MzMzLCA1Mi40OTAwNjJdLCBbMTMuMzg2MTQ2LCA1Mi40OTAwNl0sIFsxMy4zODYwNjQsIDUyLjQ5MDA1OF0sIFsxMy4zODU3NjUsIDUyLjQ5MDA1NF0sIFsxMy4zODUwMTMsIDUyLjQ5MDAzMl0sIFsxMy4zODQ3MywgNTIuNDkwMDI0XSwgWzEzLjM4MjQ3NywgNTIuNDg5ODY5XSwgWzEzLjM4MjIyNywgNTIuNDg5ODU2XSwgWzEzLjM4MjI1NywgNTIuNDg5OTQ4XSwgWzEzLjM4Mjc1LCA1Mi40OTE0NDRdLCBbMTMuMzgyNzgxLCA1Mi40OTE1MzddLCBbMTMuMzgyODIsIDUyLjQ5MTY0M10sIFsxMy4zODMwMTUsIDUyLjQ5MjE4N10sIFsxMy4zODM0MzYsIDUyLjQ5MzM2M10sIFsxMy4zODM0OSwgNTIuNDkzNTE5XSwgWzEzLjM4MzU0NSwgNTIuNDkzNjg4XSwgWzEzLjM4MzU4MywgNTIuNDkzNzg0XSwgWzEzLjM4MzYxOCwgNTIuNDkzODg2XSwgWzEzLjM4MzYzMywgNTIuNDkzOTNdLCBbMTMuMzgzOTg5LCA1Mi40OTUwMTldLCBbMTMuMzgzNjMzLCA1Mi40OTM5M10sIFsxMy4zODM2MTgsIDUyLjQ5Mzg4Nl0sIFsxMy4zODM1ODMsIDUyLjQ5Mzc4NF0sIFsxMy4zODM1NDUsIDUyLjQ5MzY4OF0sIFsxMy4zODM0OSwgNTIuNDkzNTE5XSwgWzEzLjM4MzYwNSwgNTIuNDkzNTIzXSwgWzEzLjM4Mzc3MSwgNTIuNDkzNTE4XSwgWzEzLjM4Mzk5NywgNTIuNDkzNDg0XSwgWzEzLjM4NDM0MSwgNTIuNDkzNDE5XSwgWzEzLjM4NTExNywgNTIuNDkzMjczXSwgWzEzLjM4NjQ5NSwgNTIuNDkzMDEzXSwgWzEzLjM4NjkxNCwgNTIuNDkyOTM2XSwgWzEzLjM4NzI3NCwgNTIuNDkyODYyXSwgWzEzLjM4NzM1MywgNTIuNDkyODQ1XSwgWzEzLjM4NzUwMywgNTIuNDkyODEzXSwgWzEzLjM4Nzc0NCwgNTIuNDkyNzZdLCBbMTMuMzg3ODk1LCA1Mi40OTI3M10sIFsxMy4zODgxOTEsIDUyLjQ5MjY3XSwgWzEzLjM4ODIyMSwgNTIuNDkyNjY0XSwgWzEzLjM4ODI5MSwgNTIuNDkyNjVdLCBbMTMuMzg5NzcyLCA1Mi40OTIzNjVdLCBbMTMuMzg5NTk4LCA1Mi40OTE4OThdLCBbMTMuMzg5NzcyLCA1Mi40OTIzNjVdLCBbMTMuMzkwNjI5LCA1Mi40OTIxOTFdLCBbMTMuMzkwNjg4LCA1Mi40OTIxNzldLCBbMTMuMzkwODQsIDUyLjQ5MjE0OF0sIFsxMy4zOTA5NTIsIDUyLjQ5MjEyNF0sIFsxMy4zOTE0OTYsIDUyLjQ5MjAxNF0sIFsxMy4zOTI2OTIsIDUyLjQ5MTc3XSwgWzEzLjM5NDE2NywgNTIuNDkxNDc1XSwgWzEzLjM5NDIzNiwgNTIuNDkxNDYyXSwgWzEzLjM5NDQwNCwgNTIuNDkxNDI4XSwgWzEzLjM5NDU0OCwgNTIuNDkxMzk5XSwgWzEzLjM5NDgzNywgNTIuNDkxMzQyXSwgWzEzLjM5NTYwNiwgNTIuNDkxMTg4XSwgWzEzLjM5NjM1MywgNTIuNDkxMDM5XSwgWzEzLjM5NjQ4OSwgNTIuNDkxMDEyXSwgWzEzLjM5Nzg5NSwgNTIuNDkwNzMzXSwgWzEzLjM5ODI3NiwgNTIuNDkwNjU2XSwgWzEzLjQwMDEyNywgNTIuNDkwMjgxXSwgWzEzLjQwMDI0MywgNTIuNDkwMjU4XSwgWzEzLjQwMDQxOCwgNTIuNDkwMjIyXSwgWzEzLjQwMDk1NiwgNTIuNDkwMTExXSwgWzEzLjQwMTM1MiwgNTIuNDkwMDNdLCBbMTMuNDAxNTM3LCA1Mi40ODk5OTJdLCBbMTMuNDAyMDQzLCA1Mi40ODk4ODhdLCBbMTMuNDAyNTg1LCA1Mi40ODk3NzZdLCBbMTMuNDAyODksIDUyLjQ4OTcxM10sIFsxMy40MDMxNTEsIDUyLjQ4OTY2XSwgWzEzLjQwNDM3NiwgNTIuNDg5NDA5XSwgWzEzLjQwNTA1NywgNTIuNDg5MjddLCBbMTMuNDA1MzIyLCA1Mi40ODkxOTZdLCBbMTMuNDA1NDMzLCA1Mi40ODkxNjVdLCBbMTMuNDA1NjIyLCA1Mi40ODkxMDNdLCBbMTMuNDA1NzU2LCA1Mi40ODkwNjhdLCBbMTMuNDA1OTQxLCA1Mi40ODkwMjJdLCBbMTMuNDA2MzM0LCA1Mi40ODg5NV0sIFsxMy40MDY2NzUsIDUyLjQ4ODkxMV0sIFsxMy40MDc1OTksIDUyLjQ4ODkxM10sIFsxMy40MDc3NDksIDUyLjQ4ODkxNV0sIFsxMy40MDc5MzMsIDUyLjQ4ODkxXSwgWzEzLjQwODA3MiwgNTIuNDg4OTA3XSwgWzEzLjQwODE0NiwgNTIuNDg4OTAyXSwgWzEzLjQwODIwNSwgNTIuNDg4ODk4XSwgWzEzLjQwODQxNiwgNTIuNDg4ODg0XSwgWzEzLjQxMzg5MSwgNTIuNDg4MTY1XSwgWzEzLjQxNDEwMiwgNTIuNDg4MTM2XSwgWzEzLjQxNDI4NywgNTIuNDg4MTE0XSwgWzEzLjQxOTEzNywgNTIuNDg3NDcyXSwgWzEzLjQxOTMxNiwgNTIuNDg3NDQ5XSwgWzEzLjQxOTM2MSwgNTIuNDg3NDQzXSwgWzEzLjQyMTAzMiwgNTIuNDg3MjE0XSwgWzEzLjQyMTE2NSwgNTIuNDg3MTk1XSwgWzEzLjQyMTM2OSwgNTIuNDg3MTZdLCBbMTMuNDIxNDg3LCA1Mi40ODcxMjVdLCBbMTMuNDIyMDQ3LCA1Mi40ODY5NjJdLCBbMTMuNDIyNTk5LCA1Mi40ODY4MThdLCBbMTMuNDIyODY2LCA1Mi40ODY3MzldLCBbMTMuNDIzMTk2LCA1Mi40ODY2NDNdLCBbMTMuNDIzODM4LCA1Mi40ODY0MzhdLCBbMTMuNDI0MDA2LCA1Mi40ODYzODhdLCBbMTMuNDI0MTA0LCA1Mi40ODYzNTldLCBbMTMuNDI0Mzg0LCA1Mi40ODYyNTVdLCBbMTMuNDI0NDQ0LCA1Mi40ODYzNjJdLCBbMTMuNDI0NDg5LCA1Mi40ODY0MThdLCBbMTMuNDI0NTUzLCA1Mi40ODY0OTRdLCBbMTMuNDI0Nzg1LCA1Mi40ODY3NjldLCBbMTMuNDI1MDcsIDUyLjQ4NzEwMV0sIFsxMy40MjUxNzEsIDUyLjQ4NzIyNl0sIFsxMy40MjU0OCwgNTIuNDg3NTk3XSwgWzEzLjQyNTU0OSwgNTIuNDg3Njg0XSwgWzEzLjQyNTYxLCA1Mi40ODc2NjRdLCBbMTMuNDI2NzUyLCA1Mi40ODcyNTldLCBbMTMuNDI2OTMzLCA1Mi40ODcxOTVdLCBbMTMuNDI3MTYzLCA1Mi40ODcxMTNdLCBbMTMuNDI4MDE0LCA1Mi40ODY4MV0sIFsxMy40Mjg2NDYsIDUyLjQ4NjU4NV0sIFsxMy40Mjg3MjYsIDUyLjQ4NjU1N10sIFsxMy40Mjg5NTYsIDUyLjQ4NjQ3NF0sIFsxMy40MjkxNSwgNTIuNDg2NDA2XSwgWzEzLjQyOTQ4NiwgNTIuNDg2Mjg3XSwgWzEzLjQzMDAxNCwgNTIuNDg2MV0sIFsxMy40MzAxOCwgNTIuNDg2MDQxXSwgWzEzLjQzMDI4OSwgNTIuNDg2MTQzXSwgWzEzLjQzMDM4MiwgNTIuNDg2MjM4XSwgWzEzLjQzMTQ0NywgNTIuNDg3MzQ0XSwgWzEzLjQzMTU0MiwgNTIuNDg3NDQyXSwgWzEzLjQzMTYxNSwgNTIuNDg3NTE2XSwgWzEzLjQzMjE3MiwgNTIuNDg4MDg5XSwgWzEzLjQzMjQzNiwgNTIuNDg4MzYzXSwgWzEzLjQzMjQ3NSwgNTIuNDg4NDA0XSwgWzEzLjQzMjU2NCwgNTIuNDg4NDk2XSwgWzEzLjQzMjcxMSwgNTIuNDg4NjVdLCBbMTMuNDMyOTI5LCA1Mi40ODg4NzZdLCBbMTMuNDMzMzMzLCA1Mi40ODkyODhdLCBbMTMuNDMzNjI4LCA1Mi40ODk1ODJdLCBbMTMuNDMzODIsIDUyLjQ4OTc4OF0sIFsxMy40MzM4OTksIDUyLjQ4OTg3XSwgWzEzLjQzMzk3OCwgNTIuNDg5OTQ3XSwgWzEzLjQzNDE1MSwgNTIuNDkwMTI5XSwgWzEzLjQzNDMyMywgNTIuNDkwMzA1XSwgWzEzLjQzNDU4NCwgNTIuNDkwNTgzXSwgWzEzLjQzNTA3MSwgNTIuNDkxMDc0XSwgWzEzLjQzNTEzLCA1Mi40OTExMzRdLCBbMTMuNDM1MTk1LCA1Mi40OTEyXSwgWzEzLjQzNTI2OSwgNTIuNDkxMjc5XSwgWzEzLjQzNTI5OCwgNTIuNDkxMzFdLCBbMTMuNDM1MzA1LCA1Mi40OTEzMTddLCBbMTMuNDM1NDk5LCA1Mi40OTE1MjFdLCBbMTMuNDM1NTcyLCA1Mi40OTE1OTZdLCBbMTMuNDM1NjM2LCA1Mi40OTE2NjNdLCBbMTMuNDM3NDAyLCA1Mi40OTM0NjNdLCBbMTMuNDM3NTcxLCA1Mi40OTM2MzJdLCBbMTMuNDM4ODU0LCA1Mi40OTQ5MTddLCBbMTMuNDM4OTQxLCA1Mi40OTUwMDRdLCBbMTMuNDM4ODAyLCA1Mi40OTUwNTJdLCBbMTMuNDM2OTY5LCA1Mi40OTU2NzddLCBbMTMuNDM2ODE2LCA1Mi40OTU3MjZdLCBbMTMuNDM2Njg3LCA1Mi40OTU3NzFdLCBbMTMuNDM0NzA2LCA1Mi40OTY0NDddLCBbMTMuNDM0NTczLCA1Mi40OTY0OTVdLCBbMTMuNDM0NDMzLCA1Mi40OTY1NDNdLCBbMTMuNDMyMTY1LCA1Mi40OTcyOTddLCBbMTMuNDMyMDU1LCA1Mi40OTczMzFdLCBbMTMuNDMxOTg1LCA1Mi40OTcyNTVdLCBbMTMuNDMwNjA5LCA1Mi40OTU4NzVdLCBbMTMuNDMwMjk1LCA1Mi40OTU1NTRdLCBbMTMuNDI4OTg2LCA1Mi40OTU5MjldLCBbMTMuNDI4NjcyLCA1Mi40OTYwMTldLCBbMTMuNDI3NzU1LCA1Mi40OTYzMDNdLCBbMTMuNDI2Njg5LCA1Mi40OTY2MV0sIFsxMy40MjY2NTQsIDUyLjQ5NjYyMV0sIFsxMy40MjYyNDksIDUyLjQ5Njc0NF0sIFsxMy40MjY2NTQsIDUyLjQ5NjYyMV0sIFsxMy40MjY2ODksIDUyLjQ5NjYxXSwgWzEzLjQyNzc1NSwgNTIuNDk2MzAzXSwgWzEzLjQyOTQ3NSwgNTIuNDk4MDI0XSwgWzEzLjQyOTYyMiwgNTIuNDk4MTddLCBbMTMuNDI5NzIzLCA1Mi40OTgyNjJdLCBbMTMuNDMwNDQzLCA1Mi40OTkwMDFdLCBbMTMuNDMwNDQxLCA1Mi40OTkxMjldLCBbMTMuNDMwNDA2LCA1Mi40OTkyNDJdLCBbMTMuNDMwMzk1LCA1Mi40OTkyOF0sIFsxMy40MzA2MzEsIDUyLjQ5OTI0NV0sIFsxMy40MzA4MywgNTIuNDk5MjI0XSwgWzEzLjQzMTAzLCA1Mi40OTkyMjFdLCBbMTMuNDMxMTUsIDUyLjQ5OTIxOV0sIFsxMy40MzEyMzgsIDUyLjQ5OTIyNl0sIFsxMy40MzE4ODgsIDUyLjQ5OTMxXSwgWzEzLjQzMjA4NiwgNTIuNDk5MzM3XSwgWzEzLjQzMjY3NywgNTIuNDk5NDI2XSwgWzEzLjQzMzA0NywgNTIuNDk5NDc2XSwgWzEzLjQzNTY3NSwgNTIuNDk5ODU5XSwgWzEzLjQzNjU3NywgNTIuNDk5OTkyXSwgWzEzLjQzNzcyNywgNTIuNTAwMTYzXSwgWzEzLjQzNzgzNCwgNTIuNTAwMTc5XSwgWzEzLjQzODAwMSwgNTIuNTAwMjA0XSwgWzEzLjQzODE5NywgNTIuNTAwMjMyXSwgWzEzLjQ0MDc5NiwgNTIuNTAwNjA1XSwgWzEzLjQ0MDk3NywgNTIuNTAwNjNdLCBbMTMuNDQxMDM3LCA1Mi41MDA2MjddLCBbMTMuNDQxMTIzLCA1Mi41MDA2MTJdLCBbMTMuNDQxMjAyLCA1Mi41MDA1N10sIFsxMy40NDEyOTMsIDUyLjUwMDUzN10sIFsxMy40NDE0MDYsIDUyLjUwMDUzMV0sIFsxMy40NDE0MTksIDUyLjUwMDQ0Ml0sIFsxMy40NDE0MjIsIDUyLjUwMDM5Ml0sIFsxMy40NDEzNTgsIDUyLjUwMDMwOV0sIFsxMy40NDA0MDIsIDUyLjQ5OTMzN10sIFsxMy40NDAzMTYsIDUyLjQ5OTI0OV0sIFsxMy40Mzk4ODYsIDUyLjQ5OTQyNV0sIFsxMy40NDAzMTYsIDUyLjQ5OTI0OV0sIFsxMy40NDA0MDIsIDUyLjQ5OTMzN10sIFsxMy40NDEzNTgsIDUyLjUwMDMwOV0sIFsxMy40NDE0MjIsIDUyLjUwMDM5Ml0sIFsxMy40NDE0MTksIDUyLjUwMDQ0Ml0sIFsxMy40NDE0MDYsIDUyLjUwMDUzMV0sIFsxMy40NDE0OTUsIDUyLjUwMDU0NF0sIFsxMy40NDE1ODEsIDUyLjUwMDU3M10sIFsxMy40NDE5OCwgNTIuNTAwODkyXSwgWzEzLjQ0MjA2LCA1Mi41MDA5MzldLCBbMTMuNDQyMTU4LCA1Mi41MDA5N10sIFsxMy40NDIwNzUsIDUyLjUwMTAwOV0sIFsxMy40NDE4ODgsIDUyLjUwMTEwNl0sIFsxMy40NDE2NDMsIDUyLjUwMTI0XSwgWzEzLjQ0MTUyLCA1Mi41MDExNThdLCBbMTMuNDQxMTIzLCA1Mi41MDA4OTFdLCBbMTMuNDQxMDY4LCA1Mi41MDA4MzldLCBbMTMuNDQwOTUxLCA1Mi41MDA3OTVdLCBbMTMuNDQwNzQ3LCA1Mi41MDA3NjVdLCBbMTMuNDQwNDY1LCA1Mi41MDA3MjVdLCBbMTMuNDM4MTU1LCA1Mi41MDAzOTZdLCBbMTMuNDM4MDM2LCA1Mi41MDAzNzldLCBbMTMuNDM3OTAxLCA1Mi41MDAzNTldLCBbMTMuNDM3NzA0LCA1Mi41MDAzM10sIFsxMy40Mzc1MzMsIDUyLjUwMDRdLCBbMTMuNDM3NDMsIDUyLjUwMDQ0Ml0sIFsxMy40MzYxNTMsIDUyLjUwMDk2N10sIFsxMy40MzYwNDcsIDUyLjUwMTAxMV0sIFsxMy40MzU5MywgNTIuNTAxMDU5XSwgWzEzLjQzNTUxOCwgNTIuNTAxMjIzXSwgWzEzLjQzNTA2MywgNTIuNTAxNDE1XSwgWzEzLjQzNDcxNywgNTIuNTAxNTU3XSwgWzEzLjQzNDIzNCwgNTIuNTAxNzU1XSwgWzEzLjQzMjYzMSwgNTIuNTAyNDE0XSwgWzEzLjQzMTkzNSwgNTIuNTAyNjk2XSwgWzEzLjQzMTMzOCwgNTIuNTAyOTQ0XSwgWzEzLjQzMDAxNywgNTIuNTAzNDldLCBbMTMuNDI5OTYxLCA1Mi41MDM0MjRdLCBbMTMuNDI5ODg4LCA1Mi41MDMzMzZdLCBbMTMuNDI5NjcxLCA1Mi41MDMwODFdLCBbMTMuNDI5MDcsIDUyLjUwMjM3XSwgWzEzLjQyODg3NCwgNTIuNTAyMTQ1XSwgWzEzLjQyODExLCA1Mi41MDEyNjVdLCBbMTMuNDI4MDUxLCA1Mi41MDExOTddLCBbMTMuNDI4MDExLCA1Mi41MDExNTFdLCBbMTMuNDI3Mjk5LCA1Mi41MDAzMzNdLCBbMTMuNDI3MjE5LCA1Mi41MDAyNDFdLCBbMTMuNDI3MDE5LCA1Mi41MDAwMV0sIFsxMy40MjY3MTYsIDUyLjQ5OTY2OV0sIFsxMy40MjY0ODgsIDUyLjQ5OTQxMV0sIFsxMy40MjY0MDgsIDUyLjQ5OTMyXSwgWzEzLjQyNjE4NiwgNTIuNDk5MzgxXSwgWzEzLjQyNjEzLCA1Mi40OTkzOTVdLCBbMTMuNDI1OTI3LCA1Mi40OTk0NDldLCBbMTMuNDI1MjIyLCA1Mi40OTk2NDRdLCBbMTMuNDI0OSwgNTIuNDk5NzMzXSwgWzEzLjQyMzU5MSwgNTIuNTAwMDk2XSwgWzEzLjQyMzMyOCwgNTIuNTAwNTE3XSwgWzEzLjQyMzI5NywgNTIuNTAwNTY2XSwgWzEzLjQyMzE1LCA1Mi41MDAzNTFdLCBbMTMuNDIzMTI3LCA1Mi41MDAzMTZdLCBbMTMuNDIzMDc0LCA1Mi41MDAyMzldLCBbMTMuNDIzMDI4LCA1Mi41MDAxNjhdLCBbMTMuNDIzMDE0LCA1Mi41MDAxNDZdLCBbMTMuNDIyODYzLCA1Mi40OTk5MTRdLCBbMTMuNDIyNzYxLCA1Mi40OTk3NjNdLCBbMTMuNDIyNzE0LCA1Mi40OTk2ODldLCBbMTMuNDIyNDY2LCA1Mi40OTkzMjddLCBbMTMuNDIyNDM4LCA1Mi40OTkyODNdLCBbMTMuNDIyMzcxLCA1Mi40OTkxODhdLCBbMTMuNDIyMTA5LCA1Mi40OTkxODZdLCBbMTMuNDE5OTIxLCA1Mi40OTkxNjddLCBbMTMuNDE5NDg5LCA1Mi40OTkxNjFdLCBbMTMuNDE5MzYzLCA1Mi40OTkxNl0sIFsxMy40MTkxNzgsIDUyLjQ5OTE1Nl0sIFsxMy40MTg4NDEsIDUyLjQ5OTE1Nl0sIFsxMy40MTg2OTEsIDUyLjQ5OTE2XSwgWzEzLjQxODY1NSwgNTIuNDk5MjA1XSwgWzEzLjQxODQ4LCA1Mi40OTkzMDddLCBbMTMuNDE4MjQ1LCA1Mi40OTkzNDJdLCBbMTMuNDE4MTY0LCA1Mi40OTkzMzZdLCBbMTMuNDE4MTM3LCA1Mi40OTk0MzldLCBbMTMuNDE4MTE0LCA1Mi40OTk0NzldLCBbMTMuNDE4MDk1LCA1Mi40OTk1ODJdLCBbMTMuNDE4MTA2LCA1Mi40OTk2MzZdLCBbMTMuNDE4MTQyLCA1Mi40OTk2OTJdLCBbMTMuNDE4NDE3LCA1Mi41MDAwNjhdLCBbMTMuNDE4NDI2LCA1Mi41MDAwOF0sIFsxMy40MTg0NDEsIDUyLjUwMDEwMV0sIFsxMy40MTg0ODcsIDUyLjUwMDE2M10sIFsxMy40MTg1MDgsIDUyLjUwMDE5M10sIFsxMy40MTg1NCwgNTIuNTAwMjM2XSwgWzEzLjQxODY5OCwgNTIuNTAwNDU4XSwgWzEzLjQxODgzOSwgNTIuNTAwNjQ4XSwgWzEzLjQxODg0NywgNTIuNTAwNjZdLCBbMTMuNDE5MTIxLCA1Mi41MDEwNTddLCBbMTMuNDE5MjEsIDUyLjUwMTE4OF0sIFsxMy40MTkyNzcsIDUyLjUwMTI4Nl0sIFsxMy40MTkzNDQsIDUyLjUwMTM3OF0sIFsxMy40MTk0NDcsIDUyLjUwMTUxOF0sIFsxMy40MTk5ODIsIDUyLjUwMjI0OV0sIFsxMy40MjAzMzMsIDUyLjUwMjc1NF0sIFsxMy40MTk5ODIsIDUyLjUwMjI0OV0sIFsxMy40MTk5MSwgNTIuNTAyMTUxXSwgWzEzLjQxOTQ0NywgNTIuNTAxNTE4XSwgWzEzLjQxOTM0NCwgNTIuNTAxMzc4XSwgWzEzLjQxOTI3NywgNTIuNTAxMjg2XSwgWzEzLjQxOTIxLCA1Mi41MDExODhdLCBbMTMuNDE5MTIxLCA1Mi41MDEwNTddLCBbMTMuNDE4ODQ3LCA1Mi41MDA2Nl0sIFsxMy40MTg4MzksIDUyLjUwMDY0OF0sIFsxMy40MTg2OTgsIDUyLjUwMDQ1OF0sIFsxMy40MTg1NCwgNTIuNTAwMjM2XSwgWzEzLjQxODY2NSwgNTIuNTAwMjA1XSwgWzEzLjQxODU0LCA1Mi41MDAyMzZdLCBbMTMuNDE4NTA4LCA1Mi41MDAxOTNdLCBbMTMuNDE4NDg3LCA1Mi41MDAxNjNdLCBbMTMuNDE4NDQxLCA1Mi41MDAxMDFdLCBbMTMuNDE4NDI2LCA1Mi41MDAwOF0sIFsxMy40MTg0MTcsIDUyLjUwMDA2OF0sIFsxMy40MTgxNDIsIDUyLjQ5OTY5Ml0sIFsxMy40MTgxMDYsIDUyLjQ5OTYzNl0sIFsxMy40MTgwOTUsIDUyLjQ5OTU4Ml0sIFsxMy40MTgxMTQsIDUyLjQ5OTQ3OV0sIFsxMy40MTgxMzcsIDUyLjQ5OTQzOV0sIFsxMy40MTgxNjQsIDUyLjQ5OTMzNl0sIFsxMy40MTgwODQsIDUyLjQ5OTMyMl0sIFsxMy40MTgwMSwgNTIuNDk5M10sIFsxMy40MTc5NTIsIDUyLjQ5OTI3NF0sIFsxMy40MTc5MDEsIDUyLjQ5OTI0M10sIFsxMy40MTc4NTgsIDUyLjQ5OTIwN10sIFsxMy40MTc4MzQsIDUyLjQ5OTE4XSwgWzEzLjQxNzgxNCwgNTIuNDk5MTUxXSwgWzEzLjQxNzc4OSwgNTIuNDk5MDc2XSwgWzEzLjQxNzc5OCwgNTIuNDk4OTk5XSwgWzEzLjQxNzg0LCA1Mi40OTg5MjddLCBbMTMuNDE3OTEyLCA1Mi40OTg4NjRdLCBbMTMuNDE4MDA5LCA1Mi40OTg4MTZdLCBbMTMuNDE4MTA0LCA1Mi40OTg3ODhdLCBbMTMuNDE4MzA5LCA1Mi40OTg3NzVdLCBbMTMuNDE4NDExLCA1Mi40OTg3ODldLCBbMTMuNDE4NDgyLCA1Mi40OTg3MDRdLCBbMTMuNDE4NTEzLCA1Mi40OTg2MzVdLCBbMTMuNDE4NTIsIDUyLjQ5ODQzOF0sIFsxMy40MTg1MzUsIDUyLjQ5ODQwNF0sIFsxMy40MTk0MDEsIDUyLjQ5NjgxNV0sIFsxMy40MTk1MTgsIDUyLjQ5NjY0N10sIFsxMy40MTk1NzIsIDUyLjQ5NjU2OV0sIFsxMy40MTk2NDcsIDUyLjQ5NjQ3OF0sIFsxMy40MTk3MDMsIDUyLjQ5NjRdLCBbMTMuNDE5NzMxLCA1Mi40OTYzNjFdLCBbMTMuNDE5ODYxLCA1Mi40OTYyMzFdLCBbMTMuNDE5OTA2LCA1Mi40OTYxODJdLCBbMTMuNDIwMDg2LCA1Mi40OTU4OTFdLCBbMTMuNDIwMTM1LCA1Mi40OTU4MjhdLCBbMTMuNDIwMzQ1LCA1Mi40OTU2MjNdLCBbMTMuNDIwMzY0LCA1Mi40OTU1OTZdLCBbMTMuNDIwNDI2LCA1Mi40OTU1MTNdLCBbMTMuNDIxNzgzLCA1Mi40OTMzNDVdLCBbMTMuNDIxOTg0LCA1Mi40OTMwNzFdLCBbMTMuNDIyMDU1LCA1Mi40OTI5NTldLCBbMTMuNDIxODY2LCA1Mi40OTI5MzVdLCBbMTMuNDIxODE2LCA1Mi40OTI5MzFdLCBbMTMuNDIxNjI2LCA1Mi40OTI5NDJdLCBbMTMuNDIxNjA1LCA1Mi40OTI4OTVdLCBbMTMuNDIwOTMsIDUyLjQ5MTkwMl0sIFsxMy40MjAxMjksIDUyLjQ5MTY5Nl0sIFsxMy40MTk4MiwgNTIuNDkxNzc1XSwgWzEzLjQyMDEyOSwgNTIuNDkxNjk2XSwgWzEzLjQyMDQ2MywgNTIuNDkxMjFdLCBbMTMuNDE5NzM1LCA1Mi40OTAxNTddLCBbMTMuNDE5NjY1LCA1Mi40OTAwNTRdLCBbMTMuNDE5NTM1LCA1Mi40OTAwOTFdLCBbMTMuNDE3MjI0LCA1Mi40OTA3MzddLCBbMTMuNDE3MTUsIDUyLjQ5MDc1OF0sIFsxMy40MTY2MzMsIDUyLjQ5MDkwMV0sIFsxMy40MTY0NjcsIDUyLjQ5MDk0NV0sIFsxMy40MTY0MTgsIDUyLjQ5MDk1OV0sIFsxMy40MTYxOTksIDUyLjQ5MTAxOV0sIFsxMy40MTYyNjYsIDUyLjQ5MTEwMl0sIFsxMy40MTYyODUsIDUyLjQ5MTEyNV0sIFsxMy40MTYyNjYsIDUyLjQ5MTEwMl0sIFsxMy40MTYxOTksIDUyLjQ5MTAxOV0sIFsxMy40MTYwMzQsIDUyLjQ5MTA2Ml0sIFsxMy40MTU3NjMsIDUyLjQ5MTEzNl0sIFsxMy40MTU2ODcsIDUyLjQ5MTE1N10sIFsxMy40MTM3NjIsIDUyLjQ5MTY5N10sIFsxMy40MTM2OTksIDUyLjQ5MTcxNl0sIFsxMy40MTM0NDMsIDUyLjQ5MTc5Nl0sIFsxMy40MTMzODIsIDUyLjQ5MTgxNV0sIFsxMy40MTMyNjgsIDUyLjQ5MTg1Ml0sIFsxMy40MTI3NzgsIDUyLjQ5MTk5Nl0sIFsxMy40MTI2MywgNTIuNDkyMDQxXSwgWzEzLjQxMjU0MSwgNTIuNDkxOTE1XSwgWzEzLjQxMjQ5MSwgNTIuNDkxODM4XSwgWzEzLjQxMjI5MiwgNTIuNDkxNTk1XSwgWzEzLjQxMjUwNiwgNTIuNDkxNTQ3XSwgWzEzLjQxMjk3NSwgNTIuNDkxNDRdLCBbMTMuNDEyOTk3LCA1Mi40OTEzOTVdLCBbMTMuNDEzMDAzLCA1Mi40OTEzNjldLCBbMTMuNDEyOTk3LCA1Mi40OTEzOTVdLCBbMTMuNDEyOTc1LCA1Mi40OTE0NF0sIFsxMy40MTI5OTMsIDUyLjQ5MTQ2Nl0sIFsxMy40MTMwNDgsIDUyLjQ5MTU0Nl0sIFsxMy40MTMxMTcsIDUyLjQ5MTY0OF0sIFsxMy40MTMxNjEsIDUyLjQ5MTddLCBbMTMuNDEzMTk5LCA1Mi40OTE3NDhdLCBbMTMuNDEzMjY4LCA1Mi40OTE4NTJdLCBbMTMuNDEyNzc4LCA1Mi40OTE5OTZdLCBbMTMuNDEyNjMsIDUyLjQ5MjA0MV0sIFsxMy40MTI1MzMsIDUyLjQ5MjA2N10sIFsxMy40MTIzMTQsIDUyLjQ5MjEyMV0sIFsxMy40MTIyNDEsIDUyLjQ5MjE0MV0sIFsxMy40MTIxMTYsIDUyLjQ5MjE3Nl0sIFsxMy40MDk2NDQsIDUyLjQ5Mjg1Nl0sIFsxMy40MDk0ODMsIDUyLjQ5Mjg5NV0sIFsxMy40MDg4MSwgNTIuNDkzMDM4XSwgWzEzLjQwODI4MiwgNTIuNDkzMTQ2XSwgWzEzLjQwNzI0NCwgNTIuNDkzMzE0XSwgWzEzLjQwNjMwOCwgNTIuNDkzNDY4XSwgWzEzLjQwNjIsIDUyLjQ5MzQ4N10sIFsxMy40MDYwMTcsIDUyLjQ5MzUxOV0sIFsxMy40MDU4NjgsIDUyLjQ5MzU0Ml0sIFsxMy40MDU3MTUsIDUyLjQ5MzU2NF0sIFsxMy40MDQyODYsIDUyLjQ5Mzc5NF0sIFsxMy40MDM3NDIsIDUyLjQ5Mzg4NF0sIFsxMy40MDM2ODksIDUyLjQ5Mzg5M10sIFsxMy40MDM1MTMsIDUyLjQ5MzkyMl0sIFsxMy40MDMwNzMsIDUyLjQ5NF0sIFsxMy40MDI4OTIsIDUyLjQ5NDAzXSwgWzEzLjQwMjc2LCA1Mi40OTQwNV0sIFsxMy40MDI1MDQsIDUyLjQ5NDA4OF0sIFsxMy40MDI0NDYsIDUyLjQ5NDFdLCBbMTMuNDAwNDkzLCA1Mi40OTQ0MTZdLCBbMTMuNDAwMjI5LCA1Mi40OTQ0NThdLCBbMTMuNDAwMDQ1LCA1Mi40OTQ0ODddLCBbMTMuMzk5OTIzLCA1Mi40OTQ1MDZdLCBbMTMuMzk5Nzk5LCA1Mi40OTQ1MjddLCBbMTMuMzk5NjAyLCA1Mi40OTQ1NjRdLCBbMTMuMzk5NTU4LCA1Mi40OTQ0NTFdLCBbMTMuMzk5NTQ2LCA1Mi40OTQ0MDNdLCBbMTMuMzk5NTQxLCA1Mi40OTQzNjhdLCBbMTMuMzk5NTI4LCA1Mi40OTQyNTNdLCBbMTMuMzk5NTU3LCA1Mi40OTQxMjhdLCBbMTMuMzk5NjI0LCA1Mi40OTQwMDNdLCBbMTMuMzk5Njc0LCA1Mi40OTM5MzddLCBbMTMuMzk4NDc5LCA1Mi40OTI4NDFdLCBbMTMuMzk4MzU1LCA1Mi40OTI4NzJdLCBbMTMuMzk3ODYyLCA1Mi40OTI5MjhdLCBbMTMuMzk2OTEzLCA1Mi40OTMwMzVdLCBbMTMuMzk2NDM4LCA1Mi40OTEzNzZdLCBbMTMuMzk2NDIzLCA1Mi40OTEzMjRdLCBbMTMuMzk0NzQ1LCA1Mi40OTE2Nl0sIFsxMy4zOTQ2MzIsIDUyLjQ5MTY4Ml0sIFsxMy4zOTQ0NjYsIDUyLjQ5MTcxN10sIFsxMy4zOTQ0NDcsIDUyLjQ5MTYyOF0sIFsxMy4zOTQ0MjIsIDUyLjQ5MTUxMV0sIFsxMy4zOTQ0MDQsIDUyLjQ5MTQyOF0sIFsxMy4zOTQzNzUsIDUyLjQ5MTMyN10sIFsxMy4zOTQyOTUsIDUyLjQ5MTA1Ml0sIFsxMy4zOTQwODUsIDUyLjQ5MDMyNl0sIFsxMy4zOTQwMDUsIDUyLjQ5MDA1XSwgWzEzLjM5MzksIDUyLjQ4OTY4OV0sIFsxMy4zOTM4NzUsIDUyLjQ4OTYwNF0sIFsxMy4zOTM4MiwgNTIuNDg5NDEyXSwgWzEzLjM5Mzc2NiwgNTIuNDg5MjI2XSwgWzEzLjM5MzczMywgNTIuNDg5MTEzXSwgWzEzLjM5MzUyNCwgNTIuNDg5MTQzXSwgWzEzLjM5MzQ2OCwgNTIuNDg5MTUxXSwgWzEzLjM5MjkxOSwgNTIuNDg5MjMyXSwgWzEzLjM5MjY4NiwgNTIuNDg4NDM1XSwgWzEzLjM5MTc5NSwgNTIuNDg4NTMyXSwgWzEzLjM5MTcxMiwgNTIuNDg4NTQxXSwgWzEzLjM5MDgyNSwgNTIuNDg4NjMxXSwgWzEzLjM5MDcyNiwgNTIuNDg4MjQzXSwgWzEzLjM5MDYyMSwgNTIuNDg3OTA1XSwgWzEzLjM5MDcyNiwgNTIuNDg4MjQzXSwgWzEzLjM5MDgyNSwgNTIuNDg4NjMxXSwgWzEzLjM4OTg2MSwgNTIuNDg4NzNdLCBbMTMuMzkwMTE4LCA1Mi40ODk2MjhdLCBbMTMuMzg5OTA3LCA1Mi40ODk2NThdLCBbMTMuMzg5Mjc5LCA1Mi40ODk3NDVdLCBbMTMuMzg3MjU5LCA1Mi40OTAwMzNdLCBbMTMuMzg2ODY5LCA1Mi40OTAwNjhdLCBbMTMuMzg2NzI1LCA1Mi40OTAwNjZdLCBbMTMuMzg2NTI1LCA1Mi40OTAwNjNdLCBbMTMuMzg2NTYyLCA1Mi40OTAxNjNdLCBbMTMuMzg2NjYyLCA1Mi40OTA0MzhdXSwgInR5cGUiOiAiTGluZVN0cmluZyJ9LCAicHJvcGVydGllcyI6IHsiZXh0cmFzIjogeyJyb2FkYWNjZXNzcmVzdHJpY3Rpb25zIjogeyJzdW1tYXJ5IjogW3siYW1vdW50IjogOTkuNDgsICJkaXN0YW5jZSI6IDE2ODYwLjcsICJ2YWx1ZSI6IDAuMH0sIHsiYW1vdW50IjogMC41MiwgImRpc3RhbmNlIjogODguNywgInZhbHVlIjogNC4wfV0sICJ2YWx1ZXMiOiBbWzAsIDIyMywgMF0sIFsyMjMsIDIyNSwgNF0sIFsyMjUsIDMzNywgMF0sIFszMzcsIDMzOSwgNF0sIFszMzksIDUxMiwgMF1dfX0sICJoaWdobGlnaHQiOiB7fSwgInNlZ21lbnRzIjogW3siZGlzdGFuY2UiOiA0NDguNCwgImR1cmF0aW9uIjogNDYuNywgInN0ZXBzIjogW3siZGlzdGFuY2UiOiAyNDAuMSwgImR1cmF0aW9uIjogMjMuNCwgImluc3RydWN0aW9uIjogIkhlYWQgbm9ydGggb24gTWVocmluZ2RhbW0sIEIgOTYiLCAibmFtZSI6ICJNZWhyaW5nZGFtbSwgQiA5NiIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzAsIDddfSwgeyJkaXN0YW5jZSI6IDIwOC4zLCAiZHVyYXRpb24iOiAyMy4zLCAiaW5zdHJ1Y3Rpb24iOiAiQ29udGludWUgc3RyYWlnaHQgb250byBNZWhyaW5nZGFtbSwgQiA5NiIsICJuYW1lIjogIk1laHJpbmdkYW1tLCBCIDk2IiwgInR5cGUiOiA2LCAid2F5X3BvaW50cyI6IFs3LCAxMV19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgTWVocmluZ2RhbW0sIEIgOTYsIG9uIHRoZSBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzExLCAxMV19XX0sIHsiZGlzdGFuY2UiOiA2MzkuOCwgImR1cmF0aW9uIjogODYuOSwgInN0ZXBzIjogW3siZGlzdGFuY2UiOiA5Ni4xLCAiZHVyYXRpb24iOiA4LjYsICJpbnN0cnVjdGlvbiI6ICJIZWFkIHNvdXRoIG9uIE1laHJpbmdkYW1tLCBCIDk2IiwgIm5hbWUiOiAiTWVocmluZ2RhbW0sIEIgOTYiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFsxMSwgMTRdfSwgeyJkaXN0YW5jZSI6IDI3OS4yLCAiZHVyYXRpb24iOiA0MC4yLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEtyZXV6YmVyZ3N0cmFcdTAwZGZlIiwgIm5hbWUiOiAiS3JldXpiZXJnc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzE0LCAyMV19LCB7ImRpc3RhbmNlIjogMjY0LjYsICJkdXJhdGlvbiI6IDM4LjEsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHNoYXJwIHJpZ2h0IG9udG8gR3JvXHUwMGRmYmVlcmVuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJHcm9cdTAwZGZiZWVyZW5zdHJhXHUwMGRmZSIsICJ0eXBlIjogMywgIndheV9wb2ludHMiOiBbMjEsIDI2XX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBHcm9cdTAwZGZiZWVyZW5zdHJhXHUwMGRmZSwgb24gdGhlIHJpZ2h0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzI2LCAyNl19XX0sIHsiZGlzdGFuY2UiOiAzMjEuNywgImR1cmF0aW9uIjogNDYuMywgInN0ZXBzIjogW3siZGlzdGFuY2UiOiAzMjEuNywgImR1cmF0aW9uIjogNDYuMywgImluc3RydWN0aW9uIjogIkhlYWQgbm9ydGggb24gR3JvXHUwMGRmYmVlcmVuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJHcm9cdTAwZGZiZWVyZW5zdHJhXHUwMGRmZSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzI2LCAzM119LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgR3JvXHUwMGRmYmVlcmVuc3RyYVx1MDBkZmUsIG9uIHRoZSByaWdodCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFszMywgMzNdfV19LCB7ImRpc3RhbmNlIjogMjI5LjQsICJkdXJhdGlvbiI6IDI5LjgsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogMTcwLjIsICJkdXJhdGlvbiI6IDI0LjUsICJpbnN0cnVjdGlvbiI6ICJIZWFkIHNvdXRoIG9uIEdyb1x1MDBkZmJlZXJlbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiR3JvXHUwMGRmYmVlcmVuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFszMywgMzhdfSwgeyJkaXN0YW5jZSI6IDU5LjIsICJkdXJhdGlvbiI6IDUuMywgImluc3RydWN0aW9uIjogIlR1cm4gc2hhcnAgbGVmdCBvbnRvIFlvcmNrc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJZb3Jja3N0cmFcdTAwZGZlIiwgInR5cGUiOiAyLCAid2F5X3BvaW50cyI6IFszOCwgNDJdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IFlvcmNrc3RyYVx1MDBkZmUsIG9uIHRoZSByaWdodCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFs0MiwgNDJdfV19LCB7ImRpc3RhbmNlIjogNDM5LjIsICJkdXJhdGlvbiI6IDQ3LjUsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogMzg1LjksICJkdXJhdGlvbiI6IDM0LjcsICJpbnN0cnVjdGlvbiI6ICJIZWFkIGVhc3Qgb24gWW9yY2tzdHJhXHUwMGRmZSIsICJuYW1lIjogIllvcmNrc3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFs0MiwgNTRdfSwgeyJkaXN0YW5jZSI6IDUzLjMsICJkdXJhdGlvbiI6IDEyLjgsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbNTQsIDU1XX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCB5b3VyIGRlc3RpbmF0aW9uLCBvbiB0aGUgcmlnaHQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbNTUsIDU1XX1dfSwgeyJkaXN0YW5jZSI6IDQwMjYuNSwgImR1cmF0aW9uIjogNDI5LjMsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogNTMuMywgImR1cmF0aW9uIjogMTIuOCwgImluc3RydWN0aW9uIjogIkhlYWQgbm9ydGgiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbNTUsIDU2XX0sIHsiZGlzdGFuY2UiOiAyNDUxLjQsICJkdXJhdGlvbiI6IDIyNC44LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEduZWlzZW5hdXN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiR25laXNlbmF1c3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzU2LCAxMTZdfSwgeyJkaXN0YW5jZSI6IDE3Ny41LCAiZHVyYXRpb24iOiAzMS42LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gSGVybWFubnBsYXR6IiwgIm5hbWUiOiAiSGVybWFubnBsYXR6IiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFsxMTYsIDEyNF19LCB7ImRpc3RhbmNlIjogMzYyLjksICJkdXJhdGlvbiI6IDQ3LjksICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gU29ubmVuYWxsZWUiLCAibmFtZSI6ICJTb25uZW5hbGxlZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMTI0LCAxMzZdfSwgeyJkaXN0YW5jZSI6IDk4MS40LCAiZHVyYXRpb24iOiAxMTIuMiwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIFBhbm5pZXJzdHJhXHUwMGRmZSIsICJuYW1lIjogIlBhbm5pZXJzdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbMTM2LCAxNjZdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IFBhbm5pZXJzdHJhXHUwMGRmZSwgb24gdGhlIGxlZnQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbMTY2LCAxNjZdfV19LCB7ImRpc3RhbmNlIjogMTA0MS4zLCAiZHVyYXRpb24iOiAxOTMuMywgInN0ZXBzIjogW3siZGlzdGFuY2UiOiAxNzkuMiwgImR1cmF0aW9uIjogMjUuOCwgImluc3RydWN0aW9uIjogIkhlYWQgbm9ydGhlYXN0IG9uIEdsb2dhdWVyIFN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiR2xvZ2F1ZXIgU3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFsxNjYsIDE2OF19LCB7ImRpc3RhbmNlIjogNTMzLjIsICJkdXJhdGlvbiI6IDc2LjgsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBXaWVuZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJXaWVuZXIgU3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzE2OCwgMTc3XX0sIHsiZGlzdGFuY2UiOiAyMzAuOCwgImR1cmF0aW9uIjogNTUuNCwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIE9obGF1ZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJPaGxhdWVyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFsxNzcsIDE4MF19LCB7ImRpc3RhbmNlIjogOTguMCwgImR1cmF0aW9uIjogMzUuMywgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBSZWljaGVuYmVyZ2VyIFN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiUmVpY2hlbmJlcmdlciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMTgwLCAxODFdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IFJlaWNoZW5iZXJnZXIgU3RyYVx1MDBkZmUsIG9uIHRoZSBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzE4MSwgMTgxXX1dfSwgeyJkaXN0YW5jZSI6IDIwNi4yLCAiZHVyYXRpb24iOiA3NC4yLCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDIwNi4yLCAiZHVyYXRpb24iOiA3NC4yLCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBub3J0aHdlc3Qgb24gUmVpY2hlbmJlcmdlciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIlJlaWNoZW5iZXJnZXIgU3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFsxODEsIDE4Nl19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgUmVpY2hlbmJlcmdlciBTdHJhXHUwMGRmZSwgb24gdGhlIGxlZnQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbMTg2LCAxODZdfV19LCB7ImRpc3RhbmNlIjogMzM3LjEsICJkdXJhdGlvbiI6IDczLjAsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogMTEzLjEsICJkdXJhdGlvbiI6IDQwLjcsICJpbnN0cnVjdGlvbiI6ICJIZWFkIHNvdXRoZWFzdCBvbiBSZWljaGVuYmVyZ2VyIFN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiUmVpY2hlbmJlcmdlciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzE4NiwgMTg5XX0sIHsiZGlzdGFuY2UiOiAyMjQuMCwgImR1cmF0aW9uIjogMzIuMywgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIExhdXNpdHplciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIkxhdXNpdHplciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbMTg5LCAxOTBdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IExhdXNpdHplciBTdHJhXHUwMGRmZSwgb24gdGhlIGxlZnQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbMTkwLCAxOTBdfV19LCB7ImRpc3RhbmNlIjogMTEyMy44LCAiZHVyYXRpb24iOiAyMjEuNywgInN0ZXBzIjogW3siZGlzdGFuY2UiOiAxNTguMiwgImR1cmF0aW9uIjogMzUuMCwgImluc3RydWN0aW9uIjogIkhlYWQgbm9ydGhlYXN0IG9uIExhdXNpdHplciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIkxhdXNpdHplciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzE5MCwgMTk2XX0sIHsiZGlzdGFuY2UiOiA3NjcuNCwgImR1cmF0aW9uIjogMTAyLjgsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHNoYXJwIHJpZ2h0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogMywgIndheV9wb2ludHMiOiBbMTk2LCAyMThdfSwgeyJkaXN0YW5jZSI6IDE2My4wLCAiZHVyYXRpb24iOiA1OC43LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIE9wcGVsbmVyIFN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiT3BwZWxuZXIgU3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzIxOCwgMjIzXX0sIHsiZGlzdGFuY2UiOiAzNS4xLCAiZHVyYXRpb24iOiAyNS4zLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFdyYW5nZWxzdHJhXHUwMGRmZSIsICJuYW1lIjogIldyYW5nZWxzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMjIzLCAyMjRdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IFdyYW5nZWxzdHJhXHUwMGRmZSwgb24gdGhlIGxlZnQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbMjI0LCAyMjRdfV19LCB7ImRpc3RhbmNlIjogNDE5LjEsICJkdXJhdGlvbiI6IDExNy4zLCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDM1LjEsICJkdXJhdGlvbiI6IDI1LjMsICJpbnN0cnVjdGlvbiI6ICJIZWFkIHNvdXRoZWFzdCBvbiBXcmFuZ2Vsc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJXcmFuZ2Vsc3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFsyMjQsIDIyNV19LCB7ImRpc3RhbmNlIjogMTYzLjAsICJkdXJhdGlvbiI6IDU4LjcsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBPcHBlbG5lciBTdHJhXHUwMGRmZSIsICJuYW1lIjogIk9wcGVsbmVyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFsyMjUsIDIzMF19LCB7ImRpc3RhbmNlIjogNzIuNCwgImR1cmF0aW9uIjogMTAuNCwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBPcHBlbG5lciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgIm5hbWUiOiAiT3BwZWxuZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMjMwLCAyMzVdfSwgeyJkaXN0YW5jZSI6IDQ2LjAsICJkdXJhdGlvbiI6IDguMywgImluc3RydWN0aW9uIjogIlR1cm4gc2hhcnAgbGVmdCBvbnRvIFNjaGxlc2lzY2hlIFN0cmFcdTAwZGZlLCBMIDEwNjYiLCAibmFtZSI6ICJTY2hsZXNpc2NoZSBTdHJhXHUwMGRmZSwgTCAxMDY2IiwgInR5cGUiOiAyLCAid2F5X3BvaW50cyI6IFsyMzUsIDIzOF19LCB7ImRpc3RhbmNlIjogNTkuMiwgImR1cmF0aW9uIjogMTAuNywgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIFNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgIm5hbWUiOiAiU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzIzOCwgMjQxXX0sIHsiZGlzdGFuY2UiOiA0My4yLCAiZHVyYXRpb24iOiAzLjksICJpbnN0cnVjdGlvbiI6ICJLZWVwIHJpZ2h0IG9udG8gU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAibmFtZSI6ICJTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJ0eXBlIjogMTMsICJ3YXlfcG9pbnRzIjogWzI0MSwgMjQ0XX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSwgb24gdGhlIGxlZnQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbMjQ0LCAyNDRdfV19LCB7ImRpc3RhbmNlIjogODcxLjIsICJkdXJhdGlvbiI6IDE2Mi4wLCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDE5Mi4wLCAiZHVyYXRpb24iOiAyMi4wLCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCB3ZXN0IG9uIFNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgIm5hbWUiOiAiU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFsyNDQsIDI0OF19LCB7ImRpc3RhbmNlIjogNjI3LjgsICJkdXJhdGlvbiI6IDEyNy43LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFdyYW5nZWxzdHJhXHUwMGRmZSIsICJuYW1lIjogIldyYW5nZWxzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMjQ4LCAyNjFdfSwgeyJkaXN0YW5jZSI6IDUxLjMsICJkdXJhdGlvbiI6IDEyLjMsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBNYW50ZXVmZmVsc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJNYW50ZXVmZmVsc3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzI2MSwgMjY0XX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBNYW50ZXVmZmVsc3RyYVx1MDBkZmUsIG9uIHRoZSByaWdodCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFsyNjQsIDI2NF19XX0sIHsiZGlzdGFuY2UiOiA0MjkuMCwgImR1cmF0aW9uIjogMTAyLjksICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogNDI5LjAsICJkdXJhdGlvbiI6IDEwMi45LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBzb3V0aHdlc3Qgb24gTWFudGV1ZmZlbHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiTWFudGV1ZmZlbHN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbMjY0LCAyNzNdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IE1hbnRldWZmZWxzdHJhXHUwMGRmZSwgb24gdGhlIHJpZ2h0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzI3MywgMjczXX1dfSwgeyJkaXN0YW5jZSI6IDMwMy40LCAiZHVyYXRpb24iOiA0MS4xLCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDQ0LjAsICJkdXJhdGlvbiI6IDEwLjYsICJpbnN0cnVjdGlvbiI6ICJIZWFkIHNvdXRod2VzdCBvbiBNYW50ZXVmZmVsc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJNYW50ZXVmZmVsc3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFsyNzMsIDI3NV19LCB7ImRpc3RhbmNlIjogMjA5LjMsICJkdXJhdGlvbiI6IDIzLjMsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gT3JhbmllbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiT3JhbmllbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFsyNzUsIDI4MV19LCB7ImRpc3RhbmNlIjogNTAuMSwgImR1cmF0aW9uIjogNy4yLCAiaW5zdHJ1Y3Rpb24iOiAiS2VlcCByaWdodCBvbnRvIEhlaW5yaWNocGxhdHoiLCAibmFtZSI6ICJIZWlucmljaHBsYXR6IiwgInR5cGUiOiAxMywgIndheV9wb2ludHMiOiBbMjgxLCAyODJdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IEhlaW5yaWNocGxhdHosIG9uIHRoZSBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzI4MiwgMjgyXX1dfSwgeyJkaXN0YW5jZSI6IDM2Ni42LCAiZHVyYXRpb24iOiA1MC42LCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDUuOSwgImR1cmF0aW9uIjogMC44LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBub3J0aCBvbiBIZWlucmljaHBsYXR6IiwgIm5hbWUiOiAiSGVpbnJpY2hwbGF0eiIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzI4MiwgMjgzXX0sIHsiZGlzdGFuY2UiOiAxNjUuNiwgImR1cmF0aW9uIjogMzIuMiwgImluc3RydWN0aW9uIjogIlR1cm4gc2hhcnAgbGVmdCBvbnRvIE1hcmlhbm5lbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiTWFyaWFubmVuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDIsICJ3YXlfcG9pbnRzIjogWzI4MywgMjk0XX0sIHsiZGlzdGFuY2UiOiAxOTUuMSwgImR1cmF0aW9uIjogMTcuNiwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIlNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFsyOTQsIDI5N119LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgU2thbGl0emVyIFN0cmFcdTAwZGZlLCBMIDEwMDUsIG9uIHRoZSBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzI5NywgMjk3XX1dfSwgeyJkaXN0YW5jZSI6IDUxMC4yLCAiZHVyYXRpb24iOiA2OC4wLCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDU0LjEsICJkdXJhdGlvbiI6IDQuOSwgImluc3RydWN0aW9uIjogIkhlYWQgd2VzdCBvbiBTa2FsaXR6ZXIgU3RyYVx1MDBkZmUsIEwgMTAwNSIsICJuYW1lIjogIlNrYWxpdHplciBTdHJhXHUwMGRmZSwgTCAxMDA1IiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbMjk3LCAzMDFdfSwgeyJkaXN0YW5jZSI6IDQ0LjIsICJkdXJhdGlvbiI6IDcuOSwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBLb3R0YnVzc2VyIFRvciIsICJuYW1lIjogIktvdHRidXNzZXIgVG9yIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFszMDEsIDMwNV19LCB7ImRpc3RhbmNlIjogNDEyLjAsICJkdXJhdGlvbiI6IDU1LjIsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gQWRhbGJlcnRzdHJhXHUwMGRmZSIsICJuYW1lIjogIkFkYWxiZXJ0c3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzMwNSwgMzI2XX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBBZGFsYmVydHN0cmFcdTAwZGZlLCBvbiB0aGUgbGVmdCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFszMjYsIDMyNl19XX0sIHsiZGlzdGFuY2UiOiA3My4wLCAiZHVyYXRpb24iOiA3LjUsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogNzMuMCwgImR1cmF0aW9uIjogNy41LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBzb3V0aHdlc3Qgb24gQWRhbGJlcnRzdHJhXHUwMGRmZSIsICJuYW1lIjogIkFkYWxiZXJ0c3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFszMjYsIDMyOF19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgQWRhbGJlcnRzdHJhXHUwMGRmZSwgb24gdGhlIHJpZ2h0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzMyOCwgMzI4XX1dfSwgeyJkaXN0YW5jZSI6IDI0MS40LCAiZHVyYXRpb24iOiAzMC41LCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDIzMi4yLCAiZHVyYXRpb24iOiAyMy45LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBzb3V0aHdlc3Qgb24gQWRhbGJlcnRzdHJhXHUwMGRmZSIsICJuYW1lIjogIkFkYWxiZXJ0c3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFszMjgsIDMzN119LCB7ImRpc3RhbmNlIjogOS4yLCAiZHVyYXRpb24iOiA2LjYsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFszMzcsIDMzOF19LCB7ImRpc3RhbmNlIjogMC4wLCAiZHVyYXRpb24iOiAwLjAsICJpbnN0cnVjdGlvbiI6ICJBcnJpdmUgYXQgeW91ciBkZXN0aW5hdGlvbiwgb24gdGhlIHJpZ2h0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzMzOCwgMzM4XX1dfSwgeyJkaXN0YW5jZSI6IDExNTEuOSwgImR1cmF0aW9uIjogMjIxLjgsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogOS4yLCAiZHVyYXRpb24iOiA2LjYsICJpbnN0cnVjdGlvbiI6ICJIZWFkIHdlc3QiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbMzM4LCAzMzldfSwgeyJkaXN0YW5jZSI6IDEwNi44LCAiZHVyYXRpb24iOiAyMy44LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gQWRhbGJlcnRzdHJhXHUwMGRmZSIsICJuYW1lIjogIkFkYWxiZXJ0c3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzMzOSwgMzUwXX0sIHsiZGlzdGFuY2UiOiAzMi44LCAiZHVyYXRpb24iOiAxNC4zLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEtvdHRidXNzZXIgVG9yIiwgIm5hbWUiOiAiS290dGJ1c3NlciBUb3IiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzM1MCwgMzU3XX0sIHsiZGlzdGFuY2UiOiA3MC45LCAiZHVyYXRpb24iOiAxNC40LCAiaW5zdHJ1Y3Rpb24iOiAiS2VlcCBsZWZ0IG9udG8gS290dGJ1c3NlciBUb3IiLCAibmFtZSI6ICJLb3R0YnVzc2VyIFRvciIsICJ0eXBlIjogMTIsICJ3YXlfcG9pbnRzIjogWzM1NywgMzY1XX0sIHsiZGlzdGFuY2UiOiA2OTYuNCwgImR1cmF0aW9uIjogNzcuNywgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBLb3R0YnVzc2VyIFN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiS290dGJ1c3NlciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbMzY1LCAzODVdfSwgeyJkaXN0YW5jZSI6IDI5LjUsICJkdXJhdGlvbiI6IDEwLjYsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gU2NoXHUwMGY2bmxlaW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIlNjaFx1MDBmNm5sZWluc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzM4NSwgMzg4XX0sIHsiZGlzdGFuY2UiOiAxODMuOCwgImR1cmF0aW9uIjogNjYuMiwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIFNjaFx1MDBmNm5sZWluc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJTY2hcdTAwZjZubGVpbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFszODgsIDM5MV19LCB7ImRpc3RhbmNlIjogMjIuNiwgImR1cmF0aW9uIjogOC4yLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBzbGlnaHQgcmlnaHQgb250byBEaWVmZmVuYmFjaHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiRGllZmZlbmJhY2hzdHJhXHUwMGRmZSIsICJ0eXBlIjogNSwgIndheV9wb2ludHMiOiBbMzkxLCAzOTJdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IERpZWZmZW5iYWNoc3RyYVx1MDBkZmUsIG9uIHRoZSBsZWZ0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzM5MiwgMzkyXX1dfSwgeyJkaXN0YW5jZSI6IDQ5MS45LCAiZHVyYXRpb24iOiAxMDQuOCwgInN0ZXBzIjogW3siZGlzdGFuY2UiOiAyMi42LCAiZHVyYXRpb24iOiA4LjIsICJpbnN0cnVjdGlvbiI6ICJIZWFkIHNvdXRoZWFzdCBvbiBEaWVmZmVuYmFjaHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiRGllZmZlbmJhY2hzdHJhXHUwMGRmZSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzM5MiwgMzkzXX0sIHsiZGlzdGFuY2UiOiA1OC42LCAiZHVyYXRpb24iOiAyMS4xLCAiaW5zdHJ1Y3Rpb24iOiAiS2VlcCByaWdodCBvbnRvIFNjaFx1MDBmNm5sZWluc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJTY2hcdTAwZjZubGVpbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMywgIndheV9wb2ludHMiOiBbMzkzLCAzOTRdfSwgeyJkaXN0YW5jZSI6IDEzOS40LCAiZHVyYXRpb24iOiA1MC4yLCAiaW5zdHJ1Y3Rpb24iOiAiS2VlcCByaWdodCBvbnRvIFNjaFx1MDBmNm5sZWluc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJTY2hcdTAwZjZubGVpbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMywgIndheV9wb2ludHMiOiBbMzk0LCAzOTZdfSwgeyJkaXN0YW5jZSI6IDI1OC4wLCAiZHVyYXRpb24iOiAyMC42LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIFVyYmFuc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJVcmJhbnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxLCAid2F5X3BvaW50cyI6IFszOTYsIDQwM119LCB7ImRpc3RhbmNlIjogMTMuMiwgImR1cmF0aW9uIjogNC44LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiByaWdodCBvbnRvIEdyYWVmZXN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiR3JhZWZlc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzQwMywgNDA1XX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBHcmFlZmVzdHJhXHUwMGRmZSwgb24gdGhlIGxlZnQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbNDA1LCA0MDVdfV19LCB7ImRpc3RhbmNlIjogMzkyLjYsICJkdXJhdGlvbiI6IDUxLjEsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogMTMuMiwgImR1cmF0aW9uIjogNC44LCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBzb3V0aHdlc3Qgb24gR3JhZWZlc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJHcmFlZmVzdHJhXHUwMGRmZSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzQwNSwgNDA3XX0sIHsiZGlzdGFuY2UiOiAyNjcuMSwgImR1cmF0aW9uIjogMjEuNCwgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBVcmJhbnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiVXJiYW5zdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbNDA3LCA0MTddfSwgeyJkaXN0YW5jZSI6IDU0LjcsICJkdXJhdGlvbiI6IDExLjcsICJpbnN0cnVjdGlvbiI6ICJUdXJuIGxlZnQgb250byBLXHUwMGY2cnRlc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJLXHUwMGY2cnRlc3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzQxNywgNDIwXX0sIHsiZGlzdGFuY2UiOiA0OS40LCAiZHVyYXRpb24iOiAxMS44LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gS1x1MDBmNnJ0ZXN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiS1x1MDBmNnJ0ZXN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFs0MjAsIDQyMl19LCB7ImRpc3RhbmNlIjogOC4zLCAiZHVyYXRpb24iOiAxLjUsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gRmljaHRlc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJGaWNodGVzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbNDIyLCA0MjRdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IEZpY2h0ZXN0cmFcdTAwZGZlLCBvbiB0aGUgcmlnaHQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbNDI0LCA0MjRdfV19LCB7ImRpc3RhbmNlIjogMTAwMi45LCAiZHVyYXRpb24iOiAxMDIuOCwgInN0ZXBzIjogW3siZGlzdGFuY2UiOiA1OC4zLCAiZHVyYXRpb24iOiAxMi4zLCAiaW5zdHJ1Y3Rpb24iOiAiSGVhZCBub3J0aCBvbiBGaWNodGVzdHJhXHUwMGRmZSIsICJuYW1lIjogIkZpY2h0ZXN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbNDI0LCA0MzJdfSwgeyJkaXN0YW5jZSI6IDk0NC42LCAiZHVyYXRpb24iOiA5MC41LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gVXJiYW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIlVyYmFuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzQzMiwgNDYwXX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBVcmJhbnN0cmFcdTAwZGZlLCBvbiB0aGUgbGVmdCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFs0NjAsIDQ2MF19XX0sIHsiZGlzdGFuY2UiOiAyOTIuMywgImR1cmF0aW9uIjogNTUuNCwgInN0ZXBzIjogW3siZGlzdGFuY2UiOiAzMS4yLCAiZHVyYXRpb24iOiAzLjYsICJpbnN0cnVjdGlvbiI6ICJIZWFkIHdlc3Qgb24gVXJiYW5zdHJhXHUwMGRmZSIsICJuYW1lIjogIlVyYmFuc3RyYVx1MDBkZmUiLCAidHlwZSI6IDExLCAid2F5X3BvaW50cyI6IFs0NjAsIDQ2M119LCB7ImRpc3RhbmNlIjogNzEuNywgImR1cmF0aW9uIjogMTUuMiwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIEJsXHUwMGZjY2hlcnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiQmxcdTAwZmNjaGVyc3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzQ2MywgNDcwXX0sIHsiZGlzdGFuY2UiOiAxNDYuMywgImR1cmF0aW9uIjogMjYuMywgImluc3RydWN0aW9uIjogIlR1cm4gcmlnaHQgb250byBTY2hsZWllcm1hY2hlcnN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiU2NobGVpZXJtYWNoZXJzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbNDcwLCA0NzFdfSwgeyJkaXN0YW5jZSI6IDQzLjAsICJkdXJhdGlvbiI6IDEwLjMsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gRlx1MDBmY3JicmluZ2Vyc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJGXHUwMGZjcmJyaW5nZXJzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbNDcxLCA0NzNdfSwgeyJkaXN0YW5jZSI6IDAuMCwgImR1cmF0aW9uIjogMC4wLCAiaW5zdHJ1Y3Rpb24iOiAiQXJyaXZlIGF0IEZcdTAwZmNyYnJpbmdlcnN0cmFcdTAwZGZlLCBvbiB0aGUgbGVmdCIsICJuYW1lIjogIi0iLCAidHlwZSI6IDEwLCAid2F5X3BvaW50cyI6IFs0NzMsIDQ3M119XX0sIHsiZGlzdGFuY2UiOiA4OTkuNywgImR1cmF0aW9uIjogMTgxLjksICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogNjUuMywgImR1cmF0aW9uIjogMTUuNywgImluc3RydWN0aW9uIjogIkhlYWQgd2VzdCBvbiBGXHUwMGZjcmJyaW5nZXJzdHJhXHUwMGRmZSIsICJuYW1lIjogIkZcdTAwZmNyYnJpbmdlcnN0cmFcdTAwZGZlIiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbNDczLCA0NzRdfSwgeyJkaXN0YW5jZSI6IDE5My4yLCAiZHVyYXRpb24iOiAzNC44LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gTWl0dGVud2FsZGVyIFN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiTWl0dGVud2FsZGVyIFN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFs0NzQsIDQ3Nl19LCB7ImRpc3RhbmNlIjogMTM5LjUsICJkdXJhdGlvbiI6IDExLjIsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gR25laXNlbmF1c3RyYVx1MDBkZmUiLCAibmFtZSI6ICJHbmVpc2VuYXVzdHJhXHUwMGRmZSIsICJ0eXBlIjogMSwgIndheV9wb2ludHMiOiBbNDc2LCA0NzldfSwgeyJkaXN0YW5jZSI6IDI5My44LCAiZHVyYXRpb24iOiA0NS40LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gWm9zc2VuZXIgU3RyYVx1MDBkZmUiLCAibmFtZSI6ICJab3NzZW5lciBTdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbNDc5LCA0OTFdfSwgeyJkaXN0YW5jZSI6IDU2LjcsICJkdXJhdGlvbiI6IDIwLjQsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gQmVyZ21hbm5zdHJhXHUwMGRmZSIsICJuYW1lIjogIkJlcmdtYW5uc3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzQ5MSwgNDk0XX0sIHsiZGlzdGFuY2UiOiA5MC4wLCAiZHVyYXRpb24iOiAzMi40LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gU2NoZW5rZW5kb3Jmc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJTY2hlbmtlbmRvcmZzdHJhXHUwMGRmZSIsICJ0eXBlIjogMCwgIndheV9wb2ludHMiOiBbNDk0LCA0OTVdfSwgeyJkaXN0YW5jZSI6IDYxLjMsICJkdXJhdGlvbiI6IDIyLjEsICJpbnN0cnVjdGlvbiI6ICJUdXJuIHJpZ2h0IG9udG8gQXJuZHRzdHJhXHUwMGRmZSIsICJuYW1lIjogIkFybmR0c3RyYVx1MDBkZmUiLCAidHlwZSI6IDEsICJ3YXlfcG9pbnRzIjogWzQ5NSwgNDk2XX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBBcm5kdHN0cmFcdTAwZGZlLCBvbiB0aGUgcmlnaHQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbNDk2LCA0OTZdfV19LCB7ImRpc3RhbmNlIjogMTQ5LjMsICJkdXJhdGlvbiI6IDUzLjcsICJzdGVwcyI6IFt7ImRpc3RhbmNlIjogNjYuNiwgImR1cmF0aW9uIjogMjQuMCwgImluc3RydWN0aW9uIjogIkhlYWQgd2VzdCBvbiBBcm5kdHN0cmFcdTAwZGZlIiwgIm5hbWUiOiAiQXJuZHRzdHJhXHUwMGRmZSIsICJ0eXBlIjogMTEsICJ3YXlfcG9pbnRzIjogWzQ5NiwgNDk4XX0sIHsiZGlzdGFuY2UiOiA4Mi42LCAiZHVyYXRpb24iOiAyOS43LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gQ2hhbWlzc29wbGF0eiIsICJuYW1lIjogIkNoYW1pc3NvcGxhdHoiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzQ5OCwgNTAwXX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBDaGFtaXNzb3BsYXR6LCBvbiB0aGUgcmlnaHQiLCAibmFtZSI6ICItIiwgInR5cGUiOiAxMCwgIndheV9wb2ludHMiOiBbNTAwLCA1MDBdfV19LCB7ImRpc3RhbmNlIjogNTQxLjUsICJkdXJhdGlvbiI6IDE1OS4yLCAic3RlcHMiOiBbeyJkaXN0YW5jZSI6IDgyLjYsICJkdXJhdGlvbiI6IDI5LjcsICJpbnN0cnVjdGlvbiI6ICJIZWFkIG5vcnRoIG9uIENoYW1pc3NvcGxhdHoiLCAibmFtZSI6ICJDaGFtaXNzb3BsYXR6IiwgInR5cGUiOiAxMSwgIndheV9wb2ludHMiOiBbNTAwLCA1MDJdfSwgeyJkaXN0YW5jZSI6IDE2Ny41LCAiZHVyYXRpb24iOiA0Mi4xLCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBsZWZ0IG9udG8gQXJuZHRzdHJhXHUwMGRmZSIsICJuYW1lIjogIkFybmR0c3RyYVx1MDBkZmUiLCAidHlwZSI6IDAsICJ3YXlfcG9pbnRzIjogWzUwMiwgNTA0XX0sIHsiZGlzdGFuY2UiOiAyNDguNywgImR1cmF0aW9uIjogODMuNSwgImluc3RydWN0aW9uIjogIlR1cm4gbGVmdCBvbnRvIEJlcmdtYW5uc3RyYVx1MDBkZmUiLCAibmFtZSI6ICJCZXJnbWFubnN0cmFcdTAwZGZlIiwgInR5cGUiOiAwLCAid2F5X3BvaW50cyI6IFs1MDQsIDUxMF19LCB7ImRpc3RhbmNlIjogNDIuNywgImR1cmF0aW9uIjogMy44LCAiaW5zdHJ1Y3Rpb24iOiAiVHVybiBzaGFycCByaWdodCBvbnRvIE1laHJpbmdkYW1tLCBCIDk2IiwgIm5hbWUiOiAiTWVocmluZ2RhbW0sIEIgOTYiLCAidHlwZSI6IDMsICJ3YXlfcG9pbnRzIjogWzUxMCwgNTEyXX0sIHsiZGlzdGFuY2UiOiAwLjAsICJkdXJhdGlvbiI6IDAuMCwgImluc3RydWN0aW9uIjogIkFycml2ZSBhdCBNZWhyaW5nZGFtbSwgQiA5Niwgb24gdGhlIHJpZ2h0IiwgIm5hbWUiOiAiLSIsICJ0eXBlIjogMTAsICJ3YXlfcG9pbnRzIjogWzUxMiwgNTEyXX1dfV0sICJzdHlsZSI6IHsiY29sb3IiOiAiIzY2NjZmZiIsICJvcGFjaXR5IjogMSwgIndlaWdodCI6IDN9LCAic3VtbWFyeSI6IHsiZGlzdGFuY2UiOiAxNjk0OS40LCAiZHVyYXRpb24iOiAyNzU5LjN9LCAid2FybmluZ3MiOiBbeyJjb2RlIjogMSwgIm1lc3NhZ2UiOiAiVGhlcmUgbWF5IGJlIHJlc3RyaWN0aW9ucyBvbiBzb21lIHJvYWRzIn1dLCAid2F5X3BvaW50cyI6IFswLCAxMSwgMjYsIDMzLCA0MiwgNTUsIDE2NiwgMTgxLCAxODYsIDE5MCwgMjI0LCAyNDQsIDI2NCwgMjczLCAyODIsIDI5NywgMzI2LCAzMjgsIDMzOCwgMzkyLCA0MDUsIDQyNCwgNDYwLCA0NzMsIDQ5NiwgNTAwLCA1MTJdfSwgInR5cGUiOiAiRmVhdHVyZSJ9XSwgIm1ldGFkYXRhIjogeyJhdHRyaWJ1dGlvbiI6ICJvcGVucm91dGVzZXJ2aWNlLm9yZyB8IE9wZW5TdHJlZXRNYXAgY29udHJpYnV0b3JzIiwgImVuZ2luZSI6IHsiYnVpbGRfZGF0ZSI6ICIyMDE5LTAyLTI4VDA5OjA5OjM5WiIsICJ2ZXJzaW9uIjogIjUuMCJ9LCAicXVlcnkiOiB7ImNvb3JkaW5hdGVzIjogW1sxMy4zODcwNDQsIDUyLjQ5MDM4Nl0sIFsxMy4zODY0MiwgNTIuNDkwOTM1XSwgWzEzLjM4Mjc5LCA1Mi40OTIyMTddLCBbMTMuMzgzNzczLCA1Mi40OTUwNDVdLCBbMTMuMzg0MjQ4LCA1Mi40OTMyMzZdLCBbMTMuMzg4NzQ3LCA1Mi40OTE5MDhdLCBbMTMuNDM3NzgsIDUyLjQ5MzU1NV0sIFsxMy40MjkxLCA1Mi40OTYwNzddLCBbMTMuNDI2MTQsIDUyLjQ5NjYxXSwgWzEzLjQyOTY5OSwgNTIuNDk3OTQxXSwgWzEzLjQzOTk3NywgNTIuNDk5NTA4XSwgWzEzLjQ0MDQwNCwgNTIuNTAwODg0XSwgWzEzLjQyOTg2NiwgNTIuNTAzMDJdLCBbMTMuNDI2NTgxLCA1Mi40OTk3MTNdLCBbMTMuNDIzNDU0LCA1Mi41MDA1NDZdLCBbMTMuNDE5NDg1LCA1Mi40OTkyNjRdLCBbMTMuNDIwMjAyLCA1Mi41MDI3ODhdLCBbMTMuNDIwMDYzLCA1Mi41MDIxMDldLCBbMTMuNDE4OTk1LCA1Mi40OTk5NzNdLCBbMTMuNDE5NzI5LCA1Mi40OTE2NDJdLCBbMTMuNDE2MTI5LCA1Mi40OTExNzJdLCBbMTMuNDEzMzAxLCA1Mi40OTEzOTNdLCBbMTMuNDAwMDkxLCA1Mi40OTQ1OTVdLCBbMTMuMzk3ODkxLCA1Mi40OTMwMjRdLCBbMTMuMzkxODI2LCA1Mi40ODg2MzZdLCBbMTMuMzkwNDIzLCA1Mi40ODc5MjhdLCBbMTMuMzg3MDQ0LCA1Mi40OTAzODZdXSwgImZvcm1hdCI6ICJnZW9qc29uIiwgImdlb21ldHJ5IjogdHJ1ZSwgInByb2ZpbGUiOiAiZHJpdmluZy1jYXIifSwgInNlcnZpY2UiOiAicm91dGluZyIsICJ0aW1lc3RhbXAiOiAxNTU1MjU1ODA0ODU0fSwgInR5cGUiOiAiRmVhdHVyZUNvbGxlY3Rpb24ifQogICAgICAgICAgICAKICAgICAgICAgICAgKS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgIGdlb19qc29uXzI4ODAzMWEzNTM1ZjQ4MjJiODUyM2JmZmZkMDllY2VjLnNldFN0eWxlKGZ1bmN0aW9uKGZlYXR1cmUpIHtyZXR1cm4gZmVhdHVyZS5wcm9wZXJ0aWVzLnN0eWxlO30pOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBsYXllcl9jb250cm9sX2MzY2MyODNlOTI5NjQxYjJhZWYyYjVlMzVlZjQ4OTlkID0gewogICAgICAgICAgICAgICAgYmFzZV9sYXllcnMgOiB7ICJzdGFtZW50b25lciIgOiB0aWxlX2xheWVyXzFmZDQ4ZDA4OTgyMzQ1NTM4MDg3N2U2NTUyMzY2ODdiLCB9LAogICAgICAgICAgICAgICAgb3ZlcmxheXMgOiB7ICJSYW5kb20gQmFyIENyYXdsIiA6IGdlb19qc29uXzYzMTJlYWU1NGFmODQ2ZGNhN2M0NmEyZDg2ODU3ZTVlLCJPcHRpbWFsIEJhciBDcmF3bCIgOiBnZW9fanNvbl8yODgwMzFhMzUzNWY0ODIyYjg1MjNiZmZmZDA5ZWNlYywgfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgTC5jb250cm9sLmxheWVycygKICAgICAgICAgICAgICAgIGxheWVyX2NvbnRyb2xfYzNjYzI4M2U5Mjk2NDFiMmFlZjJiNWUzNWVmNDg5OWQuYmFzZV9sYXllcnMsCiAgICAgICAgICAgICAgICBsYXllcl9jb250cm9sX2MzY2MyODNlOTI5NjQxYjJhZWYyYjVlMzVlZjQ4OTlkLm92ZXJsYXlzLAogICAgICAgICAgICAgICAge3Bvc2l0aW9uOiAndG9wcmlnaHQnLAogICAgICAgICAgICAgICAgIGNvbGxhcHNlZDogdHJ1ZSwKICAgICAgICAgICAgICAgICBhdXRvWkluZGV4OiB0cnVlCiAgICAgICAgICAgICAgICB9KS5hZGRUbyhtYXBfYTdlNThlNTM0ZmE3NDk5OWIzOTQxMWYwYmMwM2RmNWIpOwogICAgICAgICAgICAKICAgICAgICAKPC9zY3JpcHQ+\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen><\/iframe><\/div><\/div>\n<\/div>\n\n<\/div>\n\n<\/div>\n<\/div>\n\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>The purple route looks a bit less painful. Let's see what the actual numbers say:<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In\u00a0[15]:<\/div>\n<div class=\"inner_cell\">\n    <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span><\/span><span class=\"n\">optimal_duration<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span>\n<span class=\"n\">random_duration<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span>\n\n<span class=\"n\">optimal_duration<\/span> <span class=\"o\">=<\/span> <span class=\"n\">optimal_route<\/span><span class=\"p\">[<\/span><span class=\"s1\">'features'<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">][<\/span><span class=\"s1\">'properties'<\/span><span class=\"p\">][<\/span><span class=\"s1\">'summary'<\/span><span class=\"p\">][<\/span><span class=\"s1\">'duration'<\/span><span class=\"p\">]<\/span> <span class=\"o\">\/<\/span> <span class=\"mi\">60<\/span>\n<span class=\"n\">random_duration<\/span> <span class=\"o\">=<\/span> <span class=\"n\">random_route<\/span><span class=\"p\">[<\/span><span class=\"s1\">'features'<\/span><span class=\"p\">][<\/span><span class=\"mi\">0<\/span><span class=\"p\">][<\/span><span class=\"s1\">'properties'<\/span><span class=\"p\">][<\/span><span class=\"s1\">'summary'<\/span><span class=\"p\">][<\/span><span class=\"s1\">'duration'<\/span><span class=\"p\">]<\/span> <span class=\"o\">\/<\/span> <span class=\"mi\">60<\/span>\n    \n<span class=\"nb\">print<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Duration optimal route: <\/span><span class=\"si\">{0:.3f}<\/span><span class=\"s2\"> mins<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">Duration random route: <\/span><span class=\"si\">{1:.3f}<\/span><span class=\"s2\"> mins\"<\/span><span class=\"o\">.<\/span><span class=\"n\">format<\/span><span class=\"p\">(<\/span><span class=\"n\">optimal_duration<\/span><span class=\"p\">,<\/span>\n                                                                                         <span class=\"n\">random_duration<\/span><span class=\"p\">))<\/span>\n<\/pre><\/div>\n\n    <\/div>\n<\/div>\n<\/div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n    <div class=\"prompt\"><\/div>\n\n\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>Duration optimal route: 45.988 mins\nDuration random route: 126.725 mins\n<\/pre>\n<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n\n<\/div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n<\/div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<p>Optimizing that route saved us a good 120\u20ac worth of taxi costs.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n \n\n\n    <\/div>\n<h3>Similar Posts:<\/h3><ul class=\"similar-posts\">None Found\n<\/ul><!-- Similar Posts took 1.772 ms -->","protected":false},"excerpt":{"rendered":"<p>Similar Posts: None Found<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Route optimization of a pub crawl with ORS and - NewSci Labs<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/labs.newsci.ai\/?p=1541\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Route optimization of a pub crawl with ORS and - NewSci Labs\" \/>\n<meta property=\"og:description\" content=\"Similar Posts: None Found\" \/>\n<meta property=\"og:url\" content=\"https:\/\/labs.newsci.ai\/?p=1541\" \/>\n<meta property=\"og:site_name\" content=\"NewSci Labs\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-03T19:29:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-03T19:31:41+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nathan Crock\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/labs.newsci.ai\/#website\",\"url\":\"https:\/\/labs.newsci.ai\/\",\"name\":\"NewSci Labs\",\"description\":\"Machine Learning and Artificial Intelligence R&amp;D Lab\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/labs.newsci.ai\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/labs.newsci.ai\/?p=1541#webpage\",\"url\":\"https:\/\/labs.newsci.ai\/?p=1541\",\"name\":\"Route optimization of a pub crawl with ORS and - NewSci Labs\",\"isPartOf\":{\"@id\":\"https:\/\/labs.newsci.ai\/#website\"},\"datePublished\":\"2021-07-03T19:29:02+00:00\",\"dateModified\":\"2021-07-03T19:31:41+00:00\",\"author\":{\"@id\":\"https:\/\/labs.newsci.ai\/#\/schema\/person\/0551803cdb5cff1b2eaef8df4dfb9977\"},\"breadcrumb\":{\"@id\":\"https:\/\/labs.newsci.ai\/?p=1541#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/labs.newsci.ai\/?p=1541\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/labs.newsci.ai\/?p=1541#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/labs.newsci.ai\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Route optimization of a pub crawl with ORS and\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/labs.newsci.ai\/#\/schema\/person\/0551803cdb5cff1b2eaef8df4dfb9977\",\"name\":\"Nathan Crock\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/labs.newsci.ai\/#personlogo\",\"inLanguage\":\"en\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/593edb0e4ce2990307f96615c555b501?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/593edb0e4ce2990307f96615c555b501?s=96&d=mm&r=g\",\"caption\":\"Nathan Crock\"},\"url\":\"https:\/\/labs.newsci.ai?author_name\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Route optimization of a pub crawl with ORS and - NewSci Labs","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/labs.newsci.ai\/?p=1541","og_locale":"en_US","og_type":"article","og_title":"Route optimization of a pub crawl with ORS and - NewSci Labs","og_description":"Similar Posts: None Found","og_url":"https:\/\/labs.newsci.ai\/?p=1541","og_site_name":"NewSci Labs","article_published_time":"2021-07-03T19:29:02+00:00","article_modified_time":"2021-07-03T19:31:41+00:00","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Nathan Crock"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/labs.newsci.ai\/#website","url":"https:\/\/labs.newsci.ai\/","name":"NewSci Labs","description":"Machine Learning and Artificial Intelligence R&amp;D Lab","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/labs.newsci.ai\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en"},{"@type":"WebPage","@id":"https:\/\/labs.newsci.ai\/?p=1541#webpage","url":"https:\/\/labs.newsci.ai\/?p=1541","name":"Route optimization of a pub crawl with ORS and - NewSci Labs","isPartOf":{"@id":"https:\/\/labs.newsci.ai\/#website"},"datePublished":"2021-07-03T19:29:02+00:00","dateModified":"2021-07-03T19:31:41+00:00","author":{"@id":"https:\/\/labs.newsci.ai\/#\/schema\/person\/0551803cdb5cff1b2eaef8df4dfb9977"},"breadcrumb":{"@id":"https:\/\/labs.newsci.ai\/?p=1541#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/labs.newsci.ai\/?p=1541"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/labs.newsci.ai\/?p=1541#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/labs.newsci.ai\/"},{"@type":"ListItem","position":2,"name":"Route optimization of a pub crawl with ORS and"}]},{"@type":"Person","@id":"https:\/\/labs.newsci.ai\/#\/schema\/person\/0551803cdb5cff1b2eaef8df4dfb9977","name":"Nathan Crock","image":{"@type":"ImageObject","@id":"https:\/\/labs.newsci.ai\/#personlogo","inLanguage":"en","url":"https:\/\/secure.gravatar.com\/avatar\/593edb0e4ce2990307f96615c555b501?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/593edb0e4ce2990307f96615c555b501?s=96&d=mm&r=g","caption":"Nathan Crock"},"url":"https:\/\/labs.newsci.ai?author_name"}]}},"_links":{"self":[{"href":"https:\/\/labs.newsci.ai\/index.php?rest_route=\/wp\/v2\/posts\/1541"}],"collection":[{"href":"https:\/\/labs.newsci.ai\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/labs.newsci.ai\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/labs.newsci.ai\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/labs.newsci.ai\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1541"}],"version-history":[{"count":4,"href":"https:\/\/labs.newsci.ai\/index.php?rest_route=\/wp\/v2\/posts\/1541\/revisions"}],"predecessor-version":[{"id":1751,"href":"https:\/\/labs.newsci.ai\/index.php?rest_route=\/wp\/v2\/posts\/1541\/revisions\/1751"}],"wp:attachment":[{"href":"https:\/\/labs.newsci.ai\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labs.newsci.ai\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labs.newsci.ai\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}